Maintenance and further development of the Reisenden (Traveler) Information System (RIS) with the RIS-Communicator app as frontend and the clustered microservices in the cloud as RIS-Mobile backend.
Design, implementation, test and documentation of X.509 Public Key
Infrastructure (PKI) and key management (KMS) microservices for
firmware over the air (FOTA) use cases. The microservices run on
Kubernetes clusters in the AWS Cloud.
User shall be enabled to use smartphones for automotive related use cases, like car logistics, where mobile apps (iPhones, iPads) communicate bi-directionally via Internet with backend services in the intranet of a car manufacturer.
Description
Required is a proper communication infrastructure which supports data exchange and push notifications between mobile apps and backend services, i.e. gateway and routing functionality.
Backend services shall be easily added a la plug-and-play.
Furthermore, the users, the mobile apps, and the backend services have to be managed, i.e. registration, activation/deactivation, and removal.
That management will be done by administrators via a web-based Angular UI which communicates via a RESTful interface with the upcoming "Device Manager" component.
These administrators and the users get role-based access to Device Manager's functionality, which have to be managed too.
The plug-and-play of the backend services will be supported by Apache Kafka as message broker.
Tasks
Design and Implementation of the Device Manager as Spring Boot application with embedded Tomcat for the REST interface and a PostgreSQL database.
The Device Manager realizes the bi-directional asynchronous gateway with routing functionality and implements the management for mobile apps, backend services as well as for users and administrators available via secured REST.
Furthermore, it integrates a webservice to an external user directory for local user import and remote user authentication.
Additionally, a Java library "Mapper Broker" has to be designed and implemented which supports the plug-and-play of backend services and the exchange of management, data, and push notifications.
Finally, an Attribute Based Access Control (ABAC/XACML) has been integrated.
Results
The completely tested infrastructure with Device Manager, Mapper Broker, and a car logistic backend service runs on docker containers as reference installation for the product.
Programming Language
Java JDK 8
IDE
Software Management
Database
SQL Developer, H2, Oracle, PostgreSQL, JDBC
Platform
Windows 10
Tools
Technologies
Test
JUnit 4.12, Hamcrest, Mockito
The Secure Web Box (SWB) provides a secure platform for asynchronous communication between mobile apps and backend services.
Description
The Secure Web Box is an intermediate server system between mobile apps and backend services. It is reachable via Internet with RESTful interfaces and provides a secure asynchronous communication platform with end-to-end security over networks with firewalls, proxies and load balancers. The SWB is operated as a cluster of docker containers managed by Kubernetes. To use this platform, the SWB clients, i.e. mobile apps (Android, iOS) and backend services (Spring Boot, IBM WebSphere AS), integrate SWB-Connectors.
Tasks
Specifications for the SWB platform and implementations in SWB-Server and SWB-Connector:
Results
New releases of SWB-Server and SWB-Connector.
Programming Language
IBM Java 8, Oracle Java 8
IDE
IntelliJ IDEA 2019
Software Management
Git, Maven, Jenkins, SonarQube
Application Server
Spring Boot, IBM WebSphere
Database
MongoDB
Platform
Windows 10, Linux Docker
Tools
Technologies
Test
JUnit, Hamcrest, Mockito, org.awaitility
Order tracking by mobile app and backend system.
Description
Implementation of backend system (Spring Boot) with interfaces to mobile apps (Android), RESTful management GUI (Angular2, webjar), and third-party system for order event notifications.
Order events are StatusUpdates (created, started, stopped, arrived, delivered), LocationUpdates (geo-coordinates), ErrorIndications, DamageReports. The backend system manages mobile apps, orders, administrators.
Tasks
Results
Released and publicly available order tracking server for pilot phase.
Programming Language
Java JDK 8
IDE
IntelliJ IDEA 2019
Software Management
Git, Maven, Jenkins
Application Server
Spring Boot (embedded Tomcat)
Database
PostgreSQL 11, JDBC, SQL Developer, HeidiSQL
Platform
Windows 10, Docker (Linux)
Tools
JIRA, Confluence (Wiki)
Atlassian Confluence (with Gliffy UML Diagrams)
Technologies
Test
JUnit, Mockito
Rich clients (RCP) communicate over SOAP with application servers which in turn communicate with backend services by exchange of XML documents either via SOAP or via message queues.
Description
For development and tests a MQ server providing message queues and a mock backend service simulating the CoRE service are required.
Tasks
Results
Deployment of IBM MQ server in development and production environments. Depoyment of CoRE-Mock in development environment.
Programming Language
Oracle Java JDK 8, IBM Java JDK 8
IDE
Software Management
GIT, Maven
Application Server
IBM WebSphere Application Server 9 (JEE 7, EJB 3.2, JMS 2.0)
IBM MQ 9.1
Platform
Windows 10, CentOS, Linux
Tools
IBM WebSphere (Web) Console, IBM MQ Explorer, IBM MQ (Web) Console, MobaXterm
Technologies
Feasibility and evaluation of a complete Spring based EAC Software. Same control and data flows as with “VD EAC-CM V2”. Re-design and re-implementation of the software infrastructure realizing business cases and operational flows required by a distributed EAC PKI system (but implemented with mocked cryptography functionality). Support of RESTful services.
Programming Language:
IDE:
Software Management:
Application Server
Database:
Platform:
Technologies:
Support of an “ePass/eID PKI Appliance”.
Partly re-design, refactoring and updates of the existing Java software “VD EAC-CM”. The new version 2 realizes EAC PKI entities and web-services compliant to BSI TR-03110 V1.11/V2.0 and BSI TR-03129 respectively. It supports several databases (JDBC) and HSMs (PKCS#11) and can be installed standalone on Windows or Linux and is prepared to be integrated into a PKI Appliance.
Software has two technical applications:
Updates:
Extension of the Java software “VD EAC-CM V2” with new features, like
Results:
Programming Language:
IDE:
Software Management:
Application Server:
Apache Tomcat 8.5.14, Servlet Spec V3.1
Database:
Platform:
Tools:
Oracle SQL Developer 4.1, HeidiSQL 9.4.0, ERMaster
Technologies:
Specification and implementation of a governmental mDL/TLS PKI supporting mobile driver licenses and governmental portals.
Results:
One offline Root CA, two internal online issuing sub CAs, two external available OCSP responders.
Realization of an “ePass/eID PKI Appliance” supporting governmental PKIs, e.g. for ePass/eID passive and terminal authentication or for citizen authentication/identification, according to ICAO, BSI, ETSI and RFC (IETF) standards.
Creation of a virtual machine “VD COS-EACCM” (Linux) and its integration into PKI Appliance. That virtual machine has an installed and running “VD EAC-CM V2” software.
Integration topics
Results
“ePass/eID PKI Appliance” providing EAC functionality with web-GUI and web-services compliant to BSI specifications.
Architecture/Design
UML 2 (Enterprise Architect V12.1), MS Visio
Programming Language
Linux bash scripts
Software Management
Team Foundation Server
Database
MariaDB
Platform
PrimeKey PKI Appliance V2.5.0 with
External Test Environment
Oracle VM VirtualBox, Apache HTTP Proxy, Syslog Server, MariaDB Server, Utimaco HSM Simulator
Tools
mysql
Technologies
Integration of a National Identity Web-Service into publicly available PKI Appliance and comprehensive tests with web-portal and citizen client systems.
Results;
Readyness to be integrated into four externally available OCSP responders (PKI Appliances) distributed over two sites providing that national identity web-service.
Specification and implementation of an ePassport PKI with CSCA and DS, compliant to ICAO Doc9303-12, 7th Edition 2015.
Results:
Participation in the design of a system architecture for a national ID card based on JavaCard comprising following card applications:
The Card and Application Management System (CAMS) supports
Beside a PKI with Issuing CA, OCSP responder, and CRL provider, a Signing Server and a Time Stamping Authority (TSA) is provided. The web services are accessible via API managers and located via a service registry. The enrolment, verification, and personalization is performed decentralized whereas the CAMS and PKI with services operate centralized and distributed over two data centers in high availability configuration and disaster recovery ability.
End customer is island country in south Asia.
Governmental PKI design and system architecture for the management (issuance, post-issuance, status changes) of national ID cards with authentication certificates. Furthermore, it issues also service provider certificates and provides an identity web service for the identification of citizens for authorized provider systems. Setup of two high availability clusters spread over two sites for disaster recovery. Installation, tests, and trainings on-site.
Design and implementation of a governmental identity web-service which provides identity attributes of an individual citizen to authorized service providers. Citizens are identified by pseudonyms. Service providers can be assigned to different attribute classes. The identity attributes and the class definitions are hold in a national database.
Results:
Implemented, tested and accepted by first end customer (country in North-Africa).
Development Process:
Waterfall
Team Size:
2
Architecture/Design
Microsoft Visio 2010, Microsoft Word 2010
Programming Language
Java/JEE 1.7 (OpenJDK 64bit)
IDE
Eclipse Kepler 64bit, TFS Plug-in for Eclipse
Software Management
Team Foundation Server, Apache Maven 3.3
Application Server
JBoss AS V7
Database
Oracle 11g R2, Oracle JDBC thin driver
Platform
Windows 7, Ubuntu V12 as virtual machine on PKI Appliance V2.3
Test
Web application on IIS as test provider system calling the identity web-service.
Tools
Oracle SQL Developer
Technologies
JAX-WS, JNDI
System and software architecture for a governmental ID card system supporting application, issuance, renewal, and revocation of ID cards as well as its usage for online authentication, online signing and decryption even with smartphones.
Analysis and evaluation of the requirements and the architecture of a national system for identification, authentication, and signature (IAS) based on European regulations (eIDAS), implementing acts, STORK, eIDAS Token and further standards (ETSI).
Design and implementation of a PACE Java library which supports a secure access to local or remote ID cards.
Optimizations of an existing PKI and infrastructure for issuing and using of ID cards
Results:
Certificate issuance perfomance increased by storage enlargement. Latency reduction during distributed identification use case by card middleware bugfix.
Design and implementation of a file encryption/decryption C library based on PKI tokens
Beschreibung:
Weiterentwicklung der Consumer Cards Platform (CCP)
Die für Endkunden über Internet (Web und REST) hoch-verfügbare und mandantenfähige Kreditkarten-Plattform verwaltet Endkunden mit ihren Konten und Kreditkarten. Die Kreditkarten können sein:
Die Plattform realisiert Sign-Up Prozesse (Kundenregistrierung and Kartenaktivierung) und unterstützt monetäre Transaktionen auf den Konten wie
Die Plattform bietet Anwendungsschnittstellen:
Die Plattform stützt sich auf Schnittstellen zu externen Systemen:
Aufgaben:
Weiter- und Neuentwicklungen (Scrum) von
Teamgröße:
9 MA (6 internationale Teams)
Entwicklungsprozeß:
Scrum, Kanban (Sprints, User Stories, Planning & Estimation, Specification, Development, Code Review, Refactoring, Business Review, Unit Tests, Integration Tests, Documentation, Demonstration, Retrospective)
Sprachen:
Java 1.6/1.7
IDE:
Eclipse Java EE IDE, IntelliJ IDEA 13.0
Softwareverwaltung:
Apache Subversion, Mercurial, Apache Maven 3.0, TortoiseSVN, TortoiseHg, Jenkins, Liquibase
Application Server:
Apache Tomcat 7.0, Oracle WebLogic Server 11g (Cluster)
Datenbank:
Oracle 11g, Oracle SQL Developer, Hibernate, JDBC
Plattform:
Windows 7 Enterprise 64-bit, Linux 2.6 (x86_64 )
Test:
EclEmma, Sonar, JUnit, TestNG, EasyMock, Mockito
Tools:
Atlassian JIRA, Atlassian FishEye, Atlassian Crucible, TWiki, Microsoft Powerpoint, PuTTY, WinSCP, Clean Code
Technologien:
Spring (DI, AOP, JDBC, Transaction, Batch),Apache Camel, JMS (ActiveMQ)
Ergebnisse:
Alle 3 Wochen wurde ein neues Software-Release in der Produktionsumgebung live-geschaltet.
Um meine Verpflichtungen zur Vertraulichkeit einzuhalten, werden in einigen nachfolgenden Projekten die konkreten Kunden, Kooperationspartner, Länder oder Regierungen nicht genannt. Projekte erfolgten oftmals parallel.
In order to comply with my obligations regarding confidentiality, specific clients, cooperation partners, countries or governments are not mentioned in some following projects. Projects often took place in parallel.
Projektname: Nationales eID System
Gesamtzeitraum: 07/2010 ? 01/2013
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Definition und Implementierung eines auf einer nationalen multifunktionalen und EU-konformen elektronischen kontaktlosen ID-Karte basierten Gesamtsystems, welches die Anwendungsfälle des deutschen Personalausweises (nPA) sowie weitere Zertifikatsgestützte eGovernment- und eBusiness-Anwendungen realisiert:
Angestrebt ist neben einem hohen Sicherheitsniveau eine zu den diversen internationalen Standards konforme und verhältnismäßig günstige Gesamtlösung durch Verwendung von existierenden Standardkomponenten (Kontrollterminals, Web-Browser, eMail-Clients, Textverarbeitungs-programmen, X.509 PKI, etc.) und Unterstützung von Standard-schnittstellen und -Protokollen (SOAP, HTTP, SSL, TLS, CAPI/CSP, PKCS#7/10/11/12/15, PC/SC, etc.).
Rolle/Position: Systemarchitekt, Berater und Entwickler
Teamgröße: 9 MA
Sprachen: Java 1.6, C/C++, C# (.NET Framework 4 CP)
Architektur/Design: Enterprise Architect 9.0 (UML 2), Microsoft Word, Microsoft Visio
Tools: Microsoft Powerpoint, Open Workbench
IDE: Eclipse 3.7, Visual Studio 2010
Softwareverwaltung: IBM Rational Clear Case, Apache Maven 2.2.1
Technologien: Apache Tomcat, JBoss 5.1, JAX-WS, IAIK-JCE, Bouncy Castle, TLS, ASN.1,
BinaryNotes C#, BouncyCastle, WSDL, EJBCA 4.0
SmartCards: G&D SCE 5.0, A.E.T. Card Middleware, G&D STARCOS 3.5, G&D HISEC Card
Middleware
Spezifikationen: BSI (nPA, PACE, EAC, ?), ICAO (Reisepass, SAC, ?), RFCs (X.509 PKI,
OCSP, ?), ETSI (Elektronische Signatur, Certificate Policy, PKI),
Extended Validation (Portalzertifikate), CEN (European Citizen Card,
Signature Card), etc.
Tätigkeiten:
Zeitraum: 10/2012 - 12/2012
Demo-System für internationale Messen:
Implementierung Web-Portal: Java JDK/JRE 1.7, Eclipse 3.7, Apache Tomcat 7.0 (Windows Service), Client/Server TLS Authentication, Struts2, JSP, JavaScript, Apache PDFBox 1.7, Log4j, JavaMail API, Bouncy Castle Mail & JCE Provider
Implementierung Launcher für obige Anwendungen (GUI für Start/Stop von Programmen und Windows Services): C#/.NET, Windows Forms, MS Visual Studio 2010
Zeitraum: 09/2012 - 10/2012
Zeitraum: 07/2012
Implementierung einer Testanwendung zum Generieren und Löschen von RSA-Schlüsselpaaren sowie Erstellung von zugehörigen Certification Requests (PKCS#10) mit der ID-Karte (PKCS#11 Wrapper, C/C++, Windows 32/64 bit).
Zeitraum: 03/2012
Prototypische Implementierung Datenaufbereitung von Signed Security Infos für ID-Karte (C#, ASN.1, BinaryNotes, BouncyCastle, RSA Kryptographie)
Zeitraum: 08/2011 ? 04/2012
Mitarbeit beim Aufbau der Referenz-PKIs:
Unterstützung Proof-of-Concepts:
Zeitraum: 07/2010 ? 03/2011
Durchführung Anforderungsanalyse und -spezifikation, Festlegung Business Use Cases für verschiedene Bürgerumgebungen (Registration Office, Certificate Service Provider (CSP), Home-PC), Erstellung Gesamtarchitektur mit Systemschnittstellen und diverse Konzepte (Anonymous Identification, Service Provider Authorization, Zweiter sicherer eID Data Webservice-Channel, Card Access Protocols, Pairing mit Chip Authentication, Virtual Tokens, Dynamic Data Signatures, Trusted Card Middleware, Post-Issuance Personalization), Workshops, Präsentationen
Ergebnisse: Für das erste Release wurden bereits ID-Karte, Trusted Card Middleware
als auch zugehörige PKI-Landschaft erfolgreich getestet.
Projektname: PKCS#11 Wrapper (mehrere Projekte)
Gesamtzeitraum: 09/2006 ? 07/2012
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Entwicklung einer C-Bibliothek die kryptographische Basisfunktionen für verschiedene Anwendungen anbietet, wobei sich die verwendeten kryptographischen Schlüssel in einem Hardware Security Module (HSM) oder einer Chip-Karte ("SmartHSM") befinden, welche beide gleichermaßen über PKCS#11 v2.20/v2.30 angesprochen werden. Zu den Anwendungen gehören Chipkarten-Personalisierungssoftware, Document Signer und Crypto-Server, sowie ein Key Manager.
Rolle/Position: Softwareentwickler
Teamgröße: 1 MA
Sprachen: C/C++, C#/.NET
Architektur/Design: UML (EnterpriseArchitekt), Microsoft Word, Microsoft Visio
IDE: Microsoft Visual Studio 2005/2008/2010
Softwareverwaltung: VisualSVN Server, AnkhSVN 2.3, RapidSVN
Plattformen: Windows XP (32 bit), Windows 7 (64 bit)
HSM: PKCS#11, Thales nShield 500 F2/F3, nCipher Support Software (nCSS),
G&D Smart Café Expert 3.2
Tätigkeiten:
Zeitraum: 07/2012
Implementierung von AES-Key Management Funktionen und der AES-CBC/AES-CMAC-basierten Mutual Authentication für Chipkaten-Personalisierung mit HSM. Zudem Umstellung auf PKCS#11 v2.30 und Windows 7 (64 bit).
Zeitraum: 07/2010 ? 10/2010
Implementierung Global Platform (EMV, VISA) konformes Key Management (Master Key, Card Manager Keys, Session Keys) für das Secure Channel Protocol '02' von Java Cards zur Unterstützung des Crypto-Servers. Dabei zusätzliche Implementierung von C#/.NET Schnittstellenklassen über P/Invoke für Einbindung in C#-Programme.
Zeitraum: 03/2010
Unterstützung weiterer DES-basierter Ver- und Entschlüsselungsfunktionen
Zeitraum: 07/2009
Unterstützung kryptographisch geeigneter Zufallszahlen
Zeitraum: 09/2007 ? 11/2007
Erweiterung zur Unterstützung von SmartHSMs und mehreren Tokens, sowie eigene Implementierung von DigestInfo (PKCS#1) für RSA-Signaturen mit SHA-1 und SHA-256.
Zeitraum: 11/2006 ? 12/2006
Implementierung von RSA Key Management Funktionen für Document Signer Key Manager (DSKM) mit HSM.
Zeitraum: 09/2006 ? 10/2006
Anforderungsanalyse und API-Design. Implementierung von DES-Key Management Funktionen und der TDES-CBC/RetailMAC-basierten Mutual Authentication für Chipkaten-Personalisierung mit HSM.
Projektname: EAC Certificate Manager (mehrere Projekte)
Gesamtzeitraum: 04/2008 ? 01/2013
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Entwicklung eines Softwareproduktes zum Aufbau einer vollständigen nationalen Public Key Infrastruktur (PKI) für die Terminalauthentisierung bei Reisepässen, ID-Karten und Signaturkarten im Rahmen der Extended Access Control (EAC) Chipkartenprotokolle konform zu den BSI TR-03110 Spezifikationen. Per Konfiguration soll die Software entweder als Root-Certification Authority (CVCA ? Country Verifying Certification Authority), als Sub-Certification Authority (DVCA ? Document Verifier Certification Authority), oder als Inspection System Certificate Manager (ISCM) bzw. als Terminal Control Center (TCC), z.B. an Flughäfen, eingesetzt werden können. Weitere Eigenschaften:
Rolle/Position: System- und Softwarearchitekt, Softwareentwickler und Berater
Teamgröße: 3 MA
Sprachen: Java 1.6 (JEE 5), C# (.NET Framework 2) und C/C++ für Preload-GUI
Architektur/Design: UML 2.0 (Enterprise Architekt), Microsoft Word, Microsoft Visio
IDE: Eclipse 3.7, MyEclipse 6.5, Microsoft Visual Studio 2008/2010
Softwareverwaltung: Apache Subversion, VisualSVN Server, TortoiseSVN, Subclipse, AnkhSVN
Plattformen: Windows XP 32 bit, Server 2008 Enterprise Edition (R2) 64 bit
Datenbanken: JDBC 3.0, Sun Microsystems MySQL Server 5.1, Microsoft SQL Server,
JTDS 1.2
HSM: PKCS#11, Thales nShield 500 F2/F3, nCipher Support Software (nCSS)
Technologien: Java Servlet 2.5, Apache Tomcat 6.0 (32-bit und 64-bit als Windows
Service), Servlets, JPA, Hibernate 3.4, JAAS (NT Login Module), JAXB
(XML Schemata), Apache Log4J, IAIK-PKCS11, IAIK-JCE, IAIK-ECC, Apache
Ant 1.7, JUnit 4.1
Web-GUI: Apache Struts 2 Framework (Front Controller), Java Server Pages (JSP),
Spring Framework, Spring Security, IOPLEX Jespa für SSO, JCIFS 1.3
Web-Services: SOAP 1.1/HTTP, WSDL, Glassfish JAX-WS RI 2.1
Preload-GUI: C#/.NET, Windows Forms, P/Invoke, C/C++
Tätigkeiten
Zeitraum: 12/2012 ? 01/2013
Implementierung zusätzlicher Webservices für automatische Zertifizierungen und Terminalauthentisierungen gemäß neuem BSI TR-03129 Standard.
Zeitraum: 05/2012 ? 06/2012
Erweiterung EAC CM Core Schnittstelle und Web-GUI für zusätzliche Zertifikatsprofile und Zugriffsrechte zur Unterstützung von Authentication- und Signatur-Terminals
Zeitraum: 12/2011
Lieferung Release V1.4 für 3 Systeme in einem nordostasiatischen Staat
Zeitraum: 03/2011
Erstellung, Freigabe und Lieferung Upgrade Release V1.4 für CVCA in einem südosteuropäischen Staat
Zeitraum: 01/2011 ? 03/2011
Design und Entwicklung einer Preload-GUI zum Laden von Operatorkarten zur HSM-Aktivierung (C#/.NET, Windows Forms, C/C++ HSM-Anbindung)
Zeitraum: 06/2010
Lieferung Upgrade Release V1.3 für einen südafrikanischen Staat
Zeitraum: 05/2010
Erstellung, Freigabe und Lieferung Release V1.3 für 23 Systeme in einem südosteuropäischen Staat
Zeitraum: 01/2010 ? 04/2011
Implementierung Anbindung Microsoft SQL Server, Aktualisierungen und Bugfixes
Zeitraum: 11/2009
Erstellung, Freigabe und Lieferung Release V1.1 für 4 Systeme in einem südafrikanischen Staat
Zeitraum: 10/2009 ? 11/2009
Analyse der inkludierten Open Source Software-Lizenzen und Erstellung der Produktsoftwarelizenz
Zeitraum: 08/2009 ? 09/2009
Erstellung und Implementierung von Backup- und Recovery-Konzepten, Erstellung Installations- und Konfigurationshandbuch
Zeitraum: 07/2009 ? 08/2009
Design, Entwicklung und Tests des Certification Authority Webservice (CAWS)
05/2009 ? 06/2009
Design, Entwicklung und Tests des Terminal Authentication Webservice (TAWS), Webservice Interoperability (WS-I) Test Suite für WSDL Verifikation, Unterstützung GDWSClient Entwicklung, .NET Web Service Studio für C# Code Generations
Zeitraum: 08/2008 ? 05/2009
Für Ausbaustufe mit Datenbankanbindung und Web-GUI:
Architektur und Design EAC Certificate Manager, Datenbankmodellierung (ORM), Design und Entwicklung EAC CM Core (API-Definition und Implementierung) basierend auf Crypto-Core mit Datenbank- und HSM-Anbindung, Administration CLI. Layoutentwürfe für Web-GUI mit Workflows, Unterstützung Web-GUI-Entwicklung.
Zeitraum: 08/2008 ? 10/2008
Unterstützung und Test der Crypto-Core-Entwicklungen. Mittels CLI-Tool Erstellung erster Test-EAC-PKIs zur Unterstützung von Demonstratoren auf der ISSE und CarteS 2008.
Zeitraum: 04/2008 ? 08/2008
Für erste Stufe "Dateibasiertes Tool mit Command Line Interface":
Anforderungsanalyse, Use Case Definitionen, Anforderungsspezifikation für externe Crypto-Core-Entwicklung mit Command Line Interface (CLI)
Ergebnisse: Komplette nationale PKI-Installationen in einem südafrikanischen
Staat 2009/2010, in einem südosteuropäischen Staat 2010/2011 und
in einem nordostasiatischen Staat 2011, sowie diverse Demo-
Installationen für Reisepässe und ID-Karten.
Teilprojektname: ePassport Key Management - Arabische Halbinsel
Gesamtzeitraum: 01/2012 ? 02/2012
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Für einen Staat im Osten der Arabischen Halbinsel ist die komplette Systemarchitektur für das Key Management und die Public Key Infrastrukturen (PKIs) zur Produktion und Verwaltung von neuen Reisepässen standardkonform (u.a. ICAO-9303, BSI-03110, BSI-03129, CSN-369791-SPOC) und gemäß funktionalen und nicht-funktionalen Anforderungen des Endkunden zu definieren. Die Darstellung erfolgt in UML 2 und ist aufgeteilt in die architekturellen Sichten nach ISO/IEC 10746 (Enterprise, Information, Computational, Engineering and Technology) zu dokumentieren.
Rolle/Position: Systemarchitekt und Berater
Teamgröße: 4 MA
Tools: Microsoft Word,EnterpriseArchitect 9.0 (UML 2), Microsoft Visio,
Microsoft Excel
Tätigkeiten
Anforderungsanalyse, Zerlegung der Funktionalität in Komponenten, Verteilung der Komponenten nach primär nicht-funktionalen Anforderungen (z.B. Verfügbarkeit, Auslastung, Sicherheit, Produktiv- und Disaster-Site) mit entsprechenden z.T. standardisierten externen Systemschnittstellen (z.B. Webservices, LDAP, Web-GUIs), Erstellung konsistenter Dokumentation für Endkunden. Die einzelnen Komponenten sind u.a.:
Ergebnisse: Erfolgreiche interne Abnahme der Systemarchitektur. Termingerechte
Abgabe für das Angebot.
Projektname: CAMS JavaCard
Gesamtzeitraum: 03/2010 ? 06/2011
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Erweiterung des bestehenden Backend Systems vom "Card and Application Management System (CAMS)" um die Unterstützung von Java Cards und Java Card Anwendungen:
Erweiterung des zugehörigen verteilten Online Frontend Systems "PIP", eine Post-Issuance Personalization Plattform mit PIP-Server und PIP-Client, zur Aktualisierung von im Feld befindlichen Java Cards über Internet (SOAP/HTTP/TCP/IP) zum:
Rolle/Position: Softwareentwickler und Berater
Teamgröße: 6 MA
Sprachen: Java 1.6 (JEE 5), Java Script (ECMA Script)
Architektur/Design: Microsoft Word, Microsoft Visio
IDE: Eclipse 3.3
Softwareverwaltung: IBM Rational Clear Case, IBM Rational Clear Quest, Apache Maven 2.2.1,
Luntbuild
Plattformen: Windows XP 32 bit
Datenbankenp; Oracle 10g, JDBC, Apache Cayenne, Aqua Data Studio
Java Cards: G&D Smart Café Expert 5.0, G&D StarSign Management Suite V1.6, G&D
Customizer, G&D JLoad
Technologien: JBoss 4.2.2, Spring Framework, Spring Remoting, Java Swing, JUnit, Sun
smartcardio, PC/SC, ASN.1, JDOM, JAXP, JAXB RI 2.1, Apache Ant 1.7,
Mozilla Rhino Engine, Sun Java Concurrency Utilities, SOAP, HTTP,
WSDL, Apache WSS4J, Sun XWS-Security, Apache XMLSec (XML-Enc, XML-
DSig), JAX-WS RI 2.1, Apache log4j, JCE/JCA, IAIK-PKCS11, IAIK-JCE,
Bouncy Castle JCE, JMX, SSL, TLS
Tätigkeiten
Mitarbeit bei der Festlegung von allgemeinen und Java Card spezifischen Verwaltungsdaten und Datenaufbereitungsprozessen für das Backend CAMS.
Verallgemeinerung der Schnittstellenspezifikation zwischen CAMS und PIP zur Übertragung von aufbereiteten Personalisierungsdaten zur Remote-Personalisierung.
Für lokalen oder verteilten Java Card Zugriff gemäß Global Platform Spezifikationen:
Für eine Test-Kartenanwendung "PKI-Applet" mit PIN, PUK, RSA-Schlüsselpaar und Zertifikaten strukturiert nach PKCS#15:
Ergebnisse: Die Test Java Card Anwendung "PKI-Applet" definiert über Application
Profile, Java Skripten und CAP File, ist importierbar und verwaltbar
in CAMS, des weiteren ist sie remote nachzuladen als auch zu
personalisieren über PIP. Das personalisierte PKI-Applet wurde
erfolgreich mit Microsoft Word zum Signieren von Dokumenten getestet.
Projektname: eID Card - Südamerikanischer Staat
Gesamtzeitraum: 09/2010 ? 12/2010
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Design und Entwicklung einer zukünftigen ID-Karte basierend auf einer Hybrid-Chipkarte:
Rolle/Position: Softwareentwickler und Berater
Teamgröße: 2 MA
Sprachen: C# (.NET Framework 2)
Architektur/Design: Microsoft Word, Microsoft Visio
IDE: Microsoft Visual Studio 2005
Plattformen: Windows XP 32 bit
Technologien: Windows Forms (MVC Pattern), File I/O, PC/SC, G&D OffCard API 1.3,
A.E.T PKI Java Applet, Precise Biometrics
Tätigkeiten
Mitarbeit beim Design der ID-Anwendung:
Für den Proof-of-Concept eine prototypische C#-Implementierung zur Personalisierung der PKI- und ID-Anwendung. Über die GUI sind u.a. folgenden Funktionen verfügbar:
Ergebnisse: Vorstellung der personalisierten ID-Karten beim Endkunden.
C#-Programm-Code wurde anschließend als Referenz für die
Personalisierungssoftware verwendet.
Projektname: CAMS eGK - PIP
Gesamtzeitraum: 09/2006 ? 10/2009
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Das "Card and Application Management System (CAMS)" verwaltet insbesondere die elektronische Gesundheitskarte (eGK) mit ihren Kartenanwendungen gemäß gematik Spezifikationen. Eine wesentliche eGK-Kartenanwendung ist die Health Care Application (HCA) mit den Versicherungsstammdaten (VSD). Das CAMS Backend System realisiert Auftragseingangsschnittstellen zu Bestandssystemen der Krankenkassen und Ausgangsschnittstellen zu Kartenpersonalisierern. Desweiteren sind Certification Authorities (CAs) und ein Key Management System (KMS) angebunden. Card and Application Life Cycle Steps werden über Workflows implementiert. Für die Verwaltung und Aktualisierung der im Feld befindlichen eGKs wird das CAMS um Online Fontend Systeme erweitert, die über Webservice-Schnittstellen Fachdienste in der Telematik Infrastruktur realisieren:
Da sich VSDD und CMS technisch nicht unterscheiden werden beide durch den PIP-Server ("Post-Issuance Personalization") mit verteiltem Card Communcation Service (SOAP/HTTPS/TCP/IP) realisiert.
Rolle/Position: Softwareentwickler und Berater
Teamgröße: ca. 30 MA
Sprachen: Java 1.4/1.5/1.6 (J2EE/JEE 5), Java Script (ECMA Script), HTML
Architektur/Design: Enterprise Architect (UML), Microsoft Word, Microsoft Visio, XML Spy
IDE: Eclipse SDK 3.2/3.7, MyEclipse
Softwareverwaltung: IBM Rational Clear Case, Clear Quest, Apache Maven 2.0, Luntbuild
Plattformen: Windows XP 32 bit, IBM AIX 6.1
Datenbanken: Oracle 10g, JDBC, Apache Cayenne, Aqua Data Studio
HSMs: Thales nShield, SafeNet Luna
SmartCards: G&D eGK0 & eGK1, Gemplus eGK0
Technologien: Sun Application Server 8.2, JBoss 4.2, Apache Tomcat, Servlets,
Spring Framework, Spring Remoting, Java Swing, Live Connect, Java
Applet, JUnit, ASN.1, JDOM, JAXP, JAXB RI 2.1, Apache Ant 1.7, AspectJ
(AOP), Matisse 4, Mozilla Rhino Engine, Sun Java Concurrency
Utilities, Codehaus XFire Java Webservice, SOAP, HTTP, WSDL, Apache
WSS4J, Sun XWS-Security, Apache XMLSec (XML-Enc, XML-DSig), Glassfish
WSIT (JAX-WS RI 2.1, XWSS 3.0), Apache log4j, JCE/JCA, IAIK-PKCS11,
IAIK-JCE, IAIK-XSECT, Bouncy Castle JCE, JMX, SSL, TLS, Open Card
Framework (OCF), JProfiler
Tätigkeiten
Schwerpunkt Online Fontend Systeme PIP- und UFS-Server.
Ergebnisse: Proof-of-Concept mittels Demonstrator (Webportal) zur CeBIT 2007 mit
UFS- und PIP-Server (CMS und VSDD) zur Online-Aktualisierung der VSD.
eKiosk zum Laden und Löschen von eGK-Mehrwertanwendungen auf der CeBIT
2008. Erfolgreiche Durchführung der ProOnline Interoperability-Tests
2008 und der VSD Online Feldtests 2009. Freigabe der CAMS-Software in
mehreren Versionen basierend auf gematik Releases für mehrere gesetzliche Krankenkassen.
Projektname: ePA Internet-Pilot
Gesamtzeitraum: 08/2007 ? 03/2008
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Kooperation mit einer "Internet-Bank", die als Bank virtuelle Kreditkarten für Internet-Geschäfte (eCommerce) ausgibt und zugehörige Kundenkonten verwaltet. Ziel ist Implementierung eines ePA Piloten zur CeBIT 2008 mit "friendly users" über welchen Bank-Kunden mittels eines elektronischen Personalausweis (ePA) Prototypen (BSI TR-03110 Draft 2007) über Internet folgende Anwendungsfälle durchführen können:
Als Basis sind die PIP-Komponenten aus dem Parallelprojekt "CAMS PIP" zu verwenden und gemäß "eCard API Framework" vom BSI auszubauen
Rolle/Position: Projektleiter, Berater, Softwareentwickler
Teamgröße: 4 MA
Sprachen: Java 1.5, Java Script (ECMA Script), HTML
IDE: Eclipse SDK 3.2, MyEclipse (Matisse 4)
Softwareverwaltung: IBM Rational Clear Case, Apache Maven 2.0
Plattformen: Windows XP 32 bit, Red Hat Linux, Red Hat Fedora 8
Datenbanken: Oracle 9.e, MySQL 5.0
Technologien: BEA WebLogic 9.2 (Business and Web Tier), Red Hat JBoss, Apache Tomcat
6.0, Spring Framework, Java Swing, JUnit, Open Card Framework, ASN.1,
WSDL, SOAP 1.1/HTTP, Java Applet, LiveConnect, BouncyCastle Crypto
API, JDBC, JCE/JCA, Mozilla Rhino Engine
Tätigkeiten
Erstellung Software-Architektur für eine neue eCard Platform mit verteilter eCard Middleware: eCard Server und eCard Client. Gemäß "eCard API Framework" realisiert der Client Komponenten für die Schichten IFD Layer, Authentication Layer (ISO24727-3 Interface), Identity Layer (eCard Interface), ePA Convenience Layer und Application Layer (leichtgewichtiges ePA Java Applet). Lose gekoppelte Komponenten kommunizieren über Webservices.
Erstellung Projektplan mit Workpackages für alle Mitarbeiter.
Umsetzung Authentication (Aktualisierung ePA Protokolle PACE und EAC), Identity und ePA Convenience Layer. Implementierung der Ablaufkontrolle der use cases durch serverseitige Java Scripts mit Datenbankanbindung im eCard-Server. Aufbau EAC PKI und Ausgabe von EAC-Terminalzertifikaten. Unterstützung und Koordinierung der Implementierung der clientseitigen Komponenten und der Durchführung der Integrationstests. Erstellung von Architektur-, Installations- und Benutzer-Dokumentation.
Ergebnisse: Problemlose Integration der eCard Platform in das bestehende Portal
der "Internet-Bank": eCard Server (WAR) in Web Tier und ePA Java Applet in
HTML-Seiten. Vorstellung des ePA Piloten auf der CeBIT 2008
mit durchweg positiver Resonanz. "friendly users" bewirkten regelmäßig
Verlängerung der Pilotphase, damit endete der Pilot erst Ende 2010.
Projektname: European Citizen Card (ECC) Demonstrator ("ePA Demonstrator")
Gesamtzeitraum: 12/2006 ? 03/2007
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Implementierung eines European Citizen Card (ECC) Demonstrators für die CeBIT 2007 auf Basis der PIP-Komponenten aus dem Parallelprojekt " CAMS PIP" und unter Einsatz eines elektronischen Personalausweis (ePA) Prototypen (BSI TR-03110 Draft 2006). Entwicklung eines Webportals für 4 Use Cases mit jeweils eigener HTML-Seite und dediziertem Extended Access Control (EAC) Zertifikat:
Rolle/Position: Softwareentwickler
Teamgröße: 2 MA
Sprachen: Java 1.4, Java Script (ECMA Script), HTML
IDE: Eclipse SDK 3.2, MyEclipse (Matisse 4)
Softwareverwaltung: IBM Rational Clear Case, Apache Maven 2.0
Plattformen: Windows XP 32 bit
Datenbanken: Sun Microsystems MySQL Server
Technologien: Red Hat JBoss, Apache Tomcat, Servlets, Spring Framework, Java Swing,
JUnit, Open Card Framework, ASN.1, WSDL, SOAP 1.1/HTTP, Java Applet,
LiveConnect, BouncyCastle Crypto API, JDBC, JCE/JCA, Mozilla Rhino
Engine
Tätigkeiten
Erstellung Software-Architektur. Implementierung ePA Protokolle Password Authenticated Connection Establishment (PACE), Extended Access Control (EAC) mit Chip Authentication und Terminal Authentication, sowie Basic Access Control (BAC). Implementierung serverseitige use cases mittels Java Scripts im PIP-Server und Datenbankanbindung (WAR). Implementierung clientseitiges Java Applet mit Swing-Dialogen unter Einbindung eines um den ePA erweiterten PIP-Clients. Integration in Webportal.
Ergebnisse: Vorstellung eines ersten Demonstrators für die möglichen
Anwendungsfälle eines ePAs im Internet auf der CeBIT 2007.
Projektname: Document Signer Key Manager (DSKM)
Gesamtzeitraum: 11/2006 ? 12/2006
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Entwicklung einer C++-Bibliothek mit C-Schnittstelle zum Generieren und Verwalten von RSA-Schlüsselpaaren in einem Hardware Security Modul (HSM), sowie Erzeugung von PKCS#10-konformen Certificate Signing Requests zur Unterstützung des Document Signers von elektronischen Reisepässen und ID-Karten. Der DSKM verwendet den PKCS#11-Wrapper als HSM-Zugang.
Rolle/Position: Softwareentwickler
Teamgröße: 1 MA
Sprachen: C/C++
IDE: Microsoft Visual Studio 2005
Softwareverwaltung: VisualSVN Server, AnkhSVN
Tools: ASN.1 Compiler für C (asn1c)
Plattformen: Windows XP 32 bit
Tätigkeiten
Implementierung von C++-Klassen zum dynamischen Aufbau von PKCS#10-Requests. Basis sind aus ASN.1-Spezifikationsmodulen generierte C-Module zur BER/DER-Kodierung von Certification Requests.
Ergebnisse: Seit 2006 Einsatz im Document Signer für signierte Daten (SOD) auf
Reisepässen und ID-Chipkarten diverser Länder.
Projektname: AUC SIM Provisioning System / Provisioning Mediation
Projektleiter & Software-Architekt & Software-Entwickler
Kooperation mit Stadtsparkasse München (SSKM), SIZ und O2.
Umgebung:
Projektname: S-Transaction Broker - Architecture Prototype
Kooperation mit SSKM, SIZ und O2 (VIAG-Interkom)
Projektziele:
Projektname: Mobile Banking Platform
Department, Kooperation mit Deutsche Bank und D2
Zeitraum: 12/1998 bis 04/1999 (Festanstellung)
(Upgrade und Maintenance Demo-System bis 03/2003)
Firma: Chipcard & Communication Systems (CCS) GmbH, Engineering
Department, Kooperation mit D2 und Deutsche Bank.
Projektname: VAS-Container für die ZKA-Chipkarte
Zeitraum: 07/1998 - 03/1999 (Festanstellung)
Firma: Chipcard & Communication Systems (CCS) GmbH,
Engineering Department, Kooperation mit Deutsche Bank
Zeitraum: 11/1994 bis 10/1997 (Festanstellung)
Firma: Siemens Nixdorf Informationssysteme (SNI) AG,
Betriebssystem BS2000
Projektziele:
Das System- und Anwendungsmanagement des Mainframe-Systems BS2000 erfolgt über das Standard-Managementprotokoll SNMP.
Projektname: User Management Facility - Front End
Betriebssystem BS2000
Systemtechnische Entwicklung - Open Systems
Informatik-Studium (Zweitstudium)
Ludwig-Maximilians-Universität München
Schwerpunkte:
Kommunikationssysteme und Systemprogrammierung
Nebenfach:
Mathematik
Abschluß:
Diplom-Informatiker, Dipl.-Inform. (Univ) 1998
Note:
Gut
Diplomarbeit bei Siemens Nixdorf Informationssysteme AG, Augsburg
Titel: Konzeption eines Statusmanagements für PC-Cluster
Note: sehr gut
Praktikum bei Siemens Nixdorf Informationssysteme AG, München
Titel: Design und Implementierung eines Performance-Subagenten für ein Großrechner-Betriebssystem
Elektrotechnik-Studium (Erststudium)
Fachhochschule München
Schwerpunkt:Datentechnik
Abschluß: Diplom-Ingenieur, Dipl.-Ing. (FH) 1989
Note: gut
Diplomarbeit im Labor für optische Nachrichtenübertragung der FH
Titel: Bitfehlermeßgerät für 168 MBit/s
Note: sehr gut
Senior Java Software Engineer
Online Authentication and Identification Systems (Internet)
Public Key Infrastructure (PKI)
Card and Application Management Systems (CAMS)
Mediation Systems (Telekommunikation, GSM, UMTS)
Secure Mobile Banking and Payment Systems (Banken, Telekommunikation)
Netz-, System- und Anwendungs-Management in heterogenen Netzen
Datenkommunikation, Kommunikationssysteme und Protokolle
Public Key Infrastrukturen (PKI)
Key Management und Kryptographie
Prozessor-Chipkarten
Projektaufgaben
Consultant, Präsentationen, Workshops (Deutschland, Indien, Mazedonien)
System- und Software-Architekt (PKI, Key Management, Mobile Banking, Billing Mediation)
Projektleitung / permanente Stellvertretung (4-10 Mitarbeiter)
Software-Entwickler
Architecture and Design
Version Control, Builder, Test
GUI
Web-GUI
Web-Services
Application Server
Library, Framework
Hardware Security Module (HSM)
Smartcard
Miscellaneous
Maintenance and further development of the Reisenden (Traveler) Information System (RIS) with the RIS-Communicator app as frontend and the clustered microservices in the cloud as RIS-Mobile backend.
Design, implementation, test and documentation of X.509 Public Key
Infrastructure (PKI) and key management (KMS) microservices for
firmware over the air (FOTA) use cases. The microservices run on
Kubernetes clusters in the AWS Cloud.
User shall be enabled to use smartphones for automotive related use cases, like car logistics, where mobile apps (iPhones, iPads) communicate bi-directionally via Internet with backend services in the intranet of a car manufacturer.
Description
Required is a proper communication infrastructure which supports data exchange and push notifications between mobile apps and backend services, i.e. gateway and routing functionality.
Backend services shall be easily added a la plug-and-play.
Furthermore, the users, the mobile apps, and the backend services have to be managed, i.e. registration, activation/deactivation, and removal.
That management will be done by administrators via a web-based Angular UI which communicates via a RESTful interface with the upcoming "Device Manager" component.
These administrators and the users get role-based access to Device Manager's functionality, which have to be managed too.
The plug-and-play of the backend services will be supported by Apache Kafka as message broker.
Tasks
Design and Implementation of the Device Manager as Spring Boot application with embedded Tomcat for the REST interface and a PostgreSQL database.
The Device Manager realizes the bi-directional asynchronous gateway with routing functionality and implements the management for mobile apps, backend services as well as for users and administrators available via secured REST.
Furthermore, it integrates a webservice to an external user directory for local user import and remote user authentication.
Additionally, a Java library "Mapper Broker" has to be designed and implemented which supports the plug-and-play of backend services and the exchange of management, data, and push notifications.
Finally, an Attribute Based Access Control (ABAC/XACML) has been integrated.
Results
The completely tested infrastructure with Device Manager, Mapper Broker, and a car logistic backend service runs on docker containers as reference installation for the product.
Programming Language
Java JDK 8
IDE
Software Management
Database
SQL Developer, H2, Oracle, PostgreSQL, JDBC
Platform
Windows 10
Tools
Technologies
Test
JUnit 4.12, Hamcrest, Mockito
The Secure Web Box (SWB) provides a secure platform for asynchronous communication between mobile apps and backend services.
Description
The Secure Web Box is an intermediate server system between mobile apps and backend services. It is reachable via Internet with RESTful interfaces and provides a secure asynchronous communication platform with end-to-end security over networks with firewalls, proxies and load balancers. The SWB is operated as a cluster of docker containers managed by Kubernetes. To use this platform, the SWB clients, i.e. mobile apps (Android, iOS) and backend services (Spring Boot, IBM WebSphere AS), integrate SWB-Connectors.
Tasks
Specifications for the SWB platform and implementations in SWB-Server and SWB-Connector:
Results
New releases of SWB-Server and SWB-Connector.
Programming Language
IBM Java 8, Oracle Java 8
IDE
IntelliJ IDEA 2019
Software Management
Git, Maven, Jenkins, SonarQube
Application Server
Spring Boot, IBM WebSphere
Database
MongoDB
Platform
Windows 10, Linux Docker
Tools
Technologies
Test
JUnit, Hamcrest, Mockito, org.awaitility
Order tracking by mobile app and backend system.
Description
Implementation of backend system (Spring Boot) with interfaces to mobile apps (Android), RESTful management GUI (Angular2, webjar), and third-party system for order event notifications.
Order events are StatusUpdates (created, started, stopped, arrived, delivered), LocationUpdates (geo-coordinates), ErrorIndications, DamageReports. The backend system manages mobile apps, orders, administrators.
Tasks
Results
Released and publicly available order tracking server for pilot phase.
Programming Language
Java JDK 8
IDE
IntelliJ IDEA 2019
Software Management
Git, Maven, Jenkins
Application Server
Spring Boot (embedded Tomcat)
Database
PostgreSQL 11, JDBC, SQL Developer, HeidiSQL
Platform
Windows 10, Docker (Linux)
Tools
JIRA, Confluence (Wiki)
Atlassian Confluence (with Gliffy UML Diagrams)
Technologies
Test
JUnit, Mockito
Rich clients (RCP) communicate over SOAP with application servers which in turn communicate with backend services by exchange of XML documents either via SOAP or via message queues.
Description
For development and tests a MQ server providing message queues and a mock backend service simulating the CoRE service are required.
Tasks
Results
Deployment of IBM MQ server in development and production environments. Depoyment of CoRE-Mock in development environment.
Programming Language
Oracle Java JDK 8, IBM Java JDK 8
IDE
Software Management
GIT, Maven
Application Server
IBM WebSphere Application Server 9 (JEE 7, EJB 3.2, JMS 2.0)
IBM MQ 9.1
Platform
Windows 10, CentOS, Linux
Tools
IBM WebSphere (Web) Console, IBM MQ Explorer, IBM MQ (Web) Console, MobaXterm
Technologies
Feasibility and evaluation of a complete Spring based EAC Software. Same control and data flows as with “VD EAC-CM V2”. Re-design and re-implementation of the software infrastructure realizing business cases and operational flows required by a distributed EAC PKI system (but implemented with mocked cryptography functionality). Support of RESTful services.
Programming Language:
IDE:
Software Management:
Application Server
Database:
Platform:
Technologies:
Support of an “ePass/eID PKI Appliance”.
Partly re-design, refactoring and updates of the existing Java software “VD EAC-CM”. The new version 2 realizes EAC PKI entities and web-services compliant to BSI TR-03110 V1.11/V2.0 and BSI TR-03129 respectively. It supports several databases (JDBC) and HSMs (PKCS#11) and can be installed standalone on Windows or Linux and is prepared to be integrated into a PKI Appliance.
Software has two technical applications:
Updates:
Extension of the Java software “VD EAC-CM V2” with new features, like
Results:
Programming Language:
IDE:
Software Management:
Application Server:
Apache Tomcat 8.5.14, Servlet Spec V3.1
Database:
Platform:
Tools:
Oracle SQL Developer 4.1, HeidiSQL 9.4.0, ERMaster
Technologies:
Specification and implementation of a governmental mDL/TLS PKI supporting mobile driver licenses and governmental portals.
Results:
One offline Root CA, two internal online issuing sub CAs, two external available OCSP responders.
Realization of an “ePass/eID PKI Appliance” supporting governmental PKIs, e.g. for ePass/eID passive and terminal authentication or for citizen authentication/identification, according to ICAO, BSI, ETSI and RFC (IETF) standards.
Creation of a virtual machine “VD COS-EACCM” (Linux) and its integration into PKI Appliance. That virtual machine has an installed and running “VD EAC-CM V2” software.
Integration topics
Results
“ePass/eID PKI Appliance” providing EAC functionality with web-GUI and web-services compliant to BSI specifications.
Architecture/Design
UML 2 (Enterprise Architect V12.1), MS Visio
Programming Language
Linux bash scripts
Software Management
Team Foundation Server
Database
MariaDB
Platform
PrimeKey PKI Appliance V2.5.0 with
External Test Environment
Oracle VM VirtualBox, Apache HTTP Proxy, Syslog Server, MariaDB Server, Utimaco HSM Simulator
Tools
mysql
Technologies
Integration of a National Identity Web-Service into publicly available PKI Appliance and comprehensive tests with web-portal and citizen client systems.
Results;
Readyness to be integrated into four externally available OCSP responders (PKI Appliances) distributed over two sites providing that national identity web-service.
Specification and implementation of an ePassport PKI with CSCA and DS, compliant to ICAO Doc9303-12, 7th Edition 2015.
Results:
Participation in the design of a system architecture for a national ID card based on JavaCard comprising following card applications:
The Card and Application Management System (CAMS) supports
Beside a PKI with Issuing CA, OCSP responder, and CRL provider, a Signing Server and a Time Stamping Authority (TSA) is provided. The web services are accessible via API managers and located via a service registry. The enrolment, verification, and personalization is performed decentralized whereas the CAMS and PKI with services operate centralized and distributed over two data centers in high availability configuration and disaster recovery ability.
End customer is island country in south Asia.
Governmental PKI design and system architecture for the management (issuance, post-issuance, status changes) of national ID cards with authentication certificates. Furthermore, it issues also service provider certificates and provides an identity web service for the identification of citizens for authorized provider systems. Setup of two high availability clusters spread over two sites for disaster recovery. Installation, tests, and trainings on-site.
Design and implementation of a governmental identity web-service which provides identity attributes of an individual citizen to authorized service providers. Citizens are identified by pseudonyms. Service providers can be assigned to different attribute classes. The identity attributes and the class definitions are hold in a national database.
Results:
Implemented, tested and accepted by first end customer (country in North-Africa).
Development Process:
Waterfall
Team Size:
2
Architecture/Design
Microsoft Visio 2010, Microsoft Word 2010
Programming Language
Java/JEE 1.7 (OpenJDK 64bit)
IDE
Eclipse Kepler 64bit, TFS Plug-in for Eclipse
Software Management
Team Foundation Server, Apache Maven 3.3
Application Server
JBoss AS V7
Database
Oracle 11g R2, Oracle JDBC thin driver
Platform
Windows 7, Ubuntu V12 as virtual machine on PKI Appliance V2.3
Test
Web application on IIS as test provider system calling the identity web-service.
Tools
Oracle SQL Developer
Technologies
JAX-WS, JNDI
System and software architecture for a governmental ID card system supporting application, issuance, renewal, and revocation of ID cards as well as its usage for online authentication, online signing and decryption even with smartphones.
Analysis and evaluation of the requirements and the architecture of a national system for identification, authentication, and signature (IAS) based on European regulations (eIDAS), implementing acts, STORK, eIDAS Token and further standards (ETSI).
Design and implementation of a PACE Java library which supports a secure access to local or remote ID cards.
Optimizations of an existing PKI and infrastructure for issuing and using of ID cards
Results:
Certificate issuance perfomance increased by storage enlargement. Latency reduction during distributed identification use case by card middleware bugfix.
Design and implementation of a file encryption/decryption C library based on PKI tokens
Beschreibung:
Weiterentwicklung der Consumer Cards Platform (CCP)
Die für Endkunden über Internet (Web und REST) hoch-verfügbare und mandantenfähige Kreditkarten-Plattform verwaltet Endkunden mit ihren Konten und Kreditkarten. Die Kreditkarten können sein:
Die Plattform realisiert Sign-Up Prozesse (Kundenregistrierung and Kartenaktivierung) und unterstützt monetäre Transaktionen auf den Konten wie
Die Plattform bietet Anwendungsschnittstellen:
Die Plattform stützt sich auf Schnittstellen zu externen Systemen:
Aufgaben:
Weiter- und Neuentwicklungen (Scrum) von
Teamgröße:
9 MA (6 internationale Teams)
Entwicklungsprozeß:
Scrum, Kanban (Sprints, User Stories, Planning & Estimation, Specification, Development, Code Review, Refactoring, Business Review, Unit Tests, Integration Tests, Documentation, Demonstration, Retrospective)
Sprachen:
Java 1.6/1.7
IDE:
Eclipse Java EE IDE, IntelliJ IDEA 13.0
Softwareverwaltung:
Apache Subversion, Mercurial, Apache Maven 3.0, TortoiseSVN, TortoiseHg, Jenkins, Liquibase
Application Server:
Apache Tomcat 7.0, Oracle WebLogic Server 11g (Cluster)
Datenbank:
Oracle 11g, Oracle SQL Developer, Hibernate, JDBC
Plattform:
Windows 7 Enterprise 64-bit, Linux 2.6 (x86_64 )
Test:
EclEmma, Sonar, JUnit, TestNG, EasyMock, Mockito
Tools:
Atlassian JIRA, Atlassian FishEye, Atlassian Crucible, TWiki, Microsoft Powerpoint, PuTTY, WinSCP, Clean Code
Technologien:
Spring (DI, AOP, JDBC, Transaction, Batch),Apache Camel, JMS (ActiveMQ)
Ergebnisse:
Alle 3 Wochen wurde ein neues Software-Release in der Produktionsumgebung live-geschaltet.
Um meine Verpflichtungen zur Vertraulichkeit einzuhalten, werden in einigen nachfolgenden Projekten die konkreten Kunden, Kooperationspartner, Länder oder Regierungen nicht genannt. Projekte erfolgten oftmals parallel.
In order to comply with my obligations regarding confidentiality, specific clients, cooperation partners, countries or governments are not mentioned in some following projects. Projects often took place in parallel.
Projektname: Nationales eID System
Gesamtzeitraum: 07/2010 ? 01/2013
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Definition und Implementierung eines auf einer nationalen multifunktionalen und EU-konformen elektronischen kontaktlosen ID-Karte basierten Gesamtsystems, welches die Anwendungsfälle des deutschen Personalausweises (nPA) sowie weitere Zertifikatsgestützte eGovernment- und eBusiness-Anwendungen realisiert:
Angestrebt ist neben einem hohen Sicherheitsniveau eine zu den diversen internationalen Standards konforme und verhältnismäßig günstige Gesamtlösung durch Verwendung von existierenden Standardkomponenten (Kontrollterminals, Web-Browser, eMail-Clients, Textverarbeitungs-programmen, X.509 PKI, etc.) und Unterstützung von Standard-schnittstellen und -Protokollen (SOAP, HTTP, SSL, TLS, CAPI/CSP, PKCS#7/10/11/12/15, PC/SC, etc.).
Rolle/Position: Systemarchitekt, Berater und Entwickler
Teamgröße: 9 MA
Sprachen: Java 1.6, C/C++, C# (.NET Framework 4 CP)
Architektur/Design: Enterprise Architect 9.0 (UML 2), Microsoft Word, Microsoft Visio
Tools: Microsoft Powerpoint, Open Workbench
IDE: Eclipse 3.7, Visual Studio 2010
Softwareverwaltung: IBM Rational Clear Case, Apache Maven 2.2.1
Technologien: Apache Tomcat, JBoss 5.1, JAX-WS, IAIK-JCE, Bouncy Castle, TLS, ASN.1,
BinaryNotes C#, BouncyCastle, WSDL, EJBCA 4.0
SmartCards: G&D SCE 5.0, A.E.T. Card Middleware, G&D STARCOS 3.5, G&D HISEC Card
Middleware
Spezifikationen: BSI (nPA, PACE, EAC, ?), ICAO (Reisepass, SAC, ?), RFCs (X.509 PKI,
OCSP, ?), ETSI (Elektronische Signatur, Certificate Policy, PKI),
Extended Validation (Portalzertifikate), CEN (European Citizen Card,
Signature Card), etc.
Tätigkeiten:
Zeitraum: 10/2012 - 12/2012
Demo-System für internationale Messen:
Implementierung Web-Portal: Java JDK/JRE 1.7, Eclipse 3.7, Apache Tomcat 7.0 (Windows Service), Client/Server TLS Authentication, Struts2, JSP, JavaScript, Apache PDFBox 1.7, Log4j, JavaMail API, Bouncy Castle Mail & JCE Provider
Implementierung Launcher für obige Anwendungen (GUI für Start/Stop von Programmen und Windows Services): C#/.NET, Windows Forms, MS Visual Studio 2010
Zeitraum: 09/2012 - 10/2012
Zeitraum: 07/2012
Implementierung einer Testanwendung zum Generieren und Löschen von RSA-Schlüsselpaaren sowie Erstellung von zugehörigen Certification Requests (PKCS#10) mit der ID-Karte (PKCS#11 Wrapper, C/C++, Windows 32/64 bit).
Zeitraum: 03/2012
Prototypische Implementierung Datenaufbereitung von Signed Security Infos für ID-Karte (C#, ASN.1, BinaryNotes, BouncyCastle, RSA Kryptographie)
Zeitraum: 08/2011 ? 04/2012
Mitarbeit beim Aufbau der Referenz-PKIs:
Unterstützung Proof-of-Concepts:
Zeitraum: 07/2010 ? 03/2011
Durchführung Anforderungsanalyse und -spezifikation, Festlegung Business Use Cases für verschiedene Bürgerumgebungen (Registration Office, Certificate Service Provider (CSP), Home-PC), Erstellung Gesamtarchitektur mit Systemschnittstellen und diverse Konzepte (Anonymous Identification, Service Provider Authorization, Zweiter sicherer eID Data Webservice-Channel, Card Access Protocols, Pairing mit Chip Authentication, Virtual Tokens, Dynamic Data Signatures, Trusted Card Middleware, Post-Issuance Personalization), Workshops, Präsentationen
Ergebnisse: Für das erste Release wurden bereits ID-Karte, Trusted Card Middleware
als auch zugehörige PKI-Landschaft erfolgreich getestet.
Projektname: PKCS#11 Wrapper (mehrere Projekte)
Gesamtzeitraum: 09/2006 ? 07/2012
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Entwicklung einer C-Bibliothek die kryptographische Basisfunktionen für verschiedene Anwendungen anbietet, wobei sich die verwendeten kryptographischen Schlüssel in einem Hardware Security Module (HSM) oder einer Chip-Karte ("SmartHSM") befinden, welche beide gleichermaßen über PKCS#11 v2.20/v2.30 angesprochen werden. Zu den Anwendungen gehören Chipkarten-Personalisierungssoftware, Document Signer und Crypto-Server, sowie ein Key Manager.
Rolle/Position: Softwareentwickler
Teamgröße: 1 MA
Sprachen: C/C++, C#/.NET
Architektur/Design: UML (EnterpriseArchitekt), Microsoft Word, Microsoft Visio
IDE: Microsoft Visual Studio 2005/2008/2010
Softwareverwaltung: VisualSVN Server, AnkhSVN 2.3, RapidSVN
Plattformen: Windows XP (32 bit), Windows 7 (64 bit)
HSM: PKCS#11, Thales nShield 500 F2/F3, nCipher Support Software (nCSS),
G&D Smart Café Expert 3.2
Tätigkeiten:
Zeitraum: 07/2012
Implementierung von AES-Key Management Funktionen und der AES-CBC/AES-CMAC-basierten Mutual Authentication für Chipkaten-Personalisierung mit HSM. Zudem Umstellung auf PKCS#11 v2.30 und Windows 7 (64 bit).
Zeitraum: 07/2010 ? 10/2010
Implementierung Global Platform (EMV, VISA) konformes Key Management (Master Key, Card Manager Keys, Session Keys) für das Secure Channel Protocol '02' von Java Cards zur Unterstützung des Crypto-Servers. Dabei zusätzliche Implementierung von C#/.NET Schnittstellenklassen über P/Invoke für Einbindung in C#-Programme.
Zeitraum: 03/2010
Unterstützung weiterer DES-basierter Ver- und Entschlüsselungsfunktionen
Zeitraum: 07/2009
Unterstützung kryptographisch geeigneter Zufallszahlen
Zeitraum: 09/2007 ? 11/2007
Erweiterung zur Unterstützung von SmartHSMs und mehreren Tokens, sowie eigene Implementierung von DigestInfo (PKCS#1) für RSA-Signaturen mit SHA-1 und SHA-256.
Zeitraum: 11/2006 ? 12/2006
Implementierung von RSA Key Management Funktionen für Document Signer Key Manager (DSKM) mit HSM.
Zeitraum: 09/2006 ? 10/2006
Anforderungsanalyse und API-Design. Implementierung von DES-Key Management Funktionen und der TDES-CBC/RetailMAC-basierten Mutual Authentication für Chipkaten-Personalisierung mit HSM.
Projektname: EAC Certificate Manager (mehrere Projekte)
Gesamtzeitraum: 04/2008 ? 01/2013
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Entwicklung eines Softwareproduktes zum Aufbau einer vollständigen nationalen Public Key Infrastruktur (PKI) für die Terminalauthentisierung bei Reisepässen, ID-Karten und Signaturkarten im Rahmen der Extended Access Control (EAC) Chipkartenprotokolle konform zu den BSI TR-03110 Spezifikationen. Per Konfiguration soll die Software entweder als Root-Certification Authority (CVCA ? Country Verifying Certification Authority), als Sub-Certification Authority (DVCA ? Document Verifier Certification Authority), oder als Inspection System Certificate Manager (ISCM) bzw. als Terminal Control Center (TCC), z.B. an Flughäfen, eingesetzt werden können. Weitere Eigenschaften:
Rolle/Position: System- und Softwarearchitekt, Softwareentwickler und Berater
Teamgröße: 3 MA
Sprachen: Java 1.6 (JEE 5), C# (.NET Framework 2) und C/C++ für Preload-GUI
Architektur/Design: UML 2.0 (Enterprise Architekt), Microsoft Word, Microsoft Visio
IDE: Eclipse 3.7, MyEclipse 6.5, Microsoft Visual Studio 2008/2010
Softwareverwaltung: Apache Subversion, VisualSVN Server, TortoiseSVN, Subclipse, AnkhSVN
Plattformen: Windows XP 32 bit, Server 2008 Enterprise Edition (R2) 64 bit
Datenbanken: JDBC 3.0, Sun Microsystems MySQL Server 5.1, Microsoft SQL Server,
JTDS 1.2
HSM: PKCS#11, Thales nShield 500 F2/F3, nCipher Support Software (nCSS)
Technologien: Java Servlet 2.5, Apache Tomcat 6.0 (32-bit und 64-bit als Windows
Service), Servlets, JPA, Hibernate 3.4, JAAS (NT Login Module), JAXB
(XML Schemata), Apache Log4J, IAIK-PKCS11, IAIK-JCE, IAIK-ECC, Apache
Ant 1.7, JUnit 4.1
Web-GUI: Apache Struts 2 Framework (Front Controller), Java Server Pages (JSP),
Spring Framework, Spring Security, IOPLEX Jespa für SSO, JCIFS 1.3
Web-Services: SOAP 1.1/HTTP, WSDL, Glassfish JAX-WS RI 2.1
Preload-GUI: C#/.NET, Windows Forms, P/Invoke, C/C++
Tätigkeiten
Zeitraum: 12/2012 ? 01/2013
Implementierung zusätzlicher Webservices für automatische Zertifizierungen und Terminalauthentisierungen gemäß neuem BSI TR-03129 Standard.
Zeitraum: 05/2012 ? 06/2012
Erweiterung EAC CM Core Schnittstelle und Web-GUI für zusätzliche Zertifikatsprofile und Zugriffsrechte zur Unterstützung von Authentication- und Signatur-Terminals
Zeitraum: 12/2011
Lieferung Release V1.4 für 3 Systeme in einem nordostasiatischen Staat
Zeitraum: 03/2011
Erstellung, Freigabe und Lieferung Upgrade Release V1.4 für CVCA in einem südosteuropäischen Staat
Zeitraum: 01/2011 ? 03/2011
Design und Entwicklung einer Preload-GUI zum Laden von Operatorkarten zur HSM-Aktivierung (C#/.NET, Windows Forms, C/C++ HSM-Anbindung)
Zeitraum: 06/2010
Lieferung Upgrade Release V1.3 für einen südafrikanischen Staat
Zeitraum: 05/2010
Erstellung, Freigabe und Lieferung Release V1.3 für 23 Systeme in einem südosteuropäischen Staat
Zeitraum: 01/2010 ? 04/2011
Implementierung Anbindung Microsoft SQL Server, Aktualisierungen und Bugfixes
Zeitraum: 11/2009
Erstellung, Freigabe und Lieferung Release V1.1 für 4 Systeme in einem südafrikanischen Staat
Zeitraum: 10/2009 ? 11/2009
Analyse der inkludierten Open Source Software-Lizenzen und Erstellung der Produktsoftwarelizenz
Zeitraum: 08/2009 ? 09/2009
Erstellung und Implementierung von Backup- und Recovery-Konzepten, Erstellung Installations- und Konfigurationshandbuch
Zeitraum: 07/2009 ? 08/2009
Design, Entwicklung und Tests des Certification Authority Webservice (CAWS)
05/2009 ? 06/2009
Design, Entwicklung und Tests des Terminal Authentication Webservice (TAWS), Webservice Interoperability (WS-I) Test Suite für WSDL Verifikation, Unterstützung GDWSClient Entwicklung, .NET Web Service Studio für C# Code Generations
Zeitraum: 08/2008 ? 05/2009
Für Ausbaustufe mit Datenbankanbindung und Web-GUI:
Architektur und Design EAC Certificate Manager, Datenbankmodellierung (ORM), Design und Entwicklung EAC CM Core (API-Definition und Implementierung) basierend auf Crypto-Core mit Datenbank- und HSM-Anbindung, Administration CLI. Layoutentwürfe für Web-GUI mit Workflows, Unterstützung Web-GUI-Entwicklung.
Zeitraum: 08/2008 ? 10/2008
Unterstützung und Test der Crypto-Core-Entwicklungen. Mittels CLI-Tool Erstellung erster Test-EAC-PKIs zur Unterstützung von Demonstratoren auf der ISSE und CarteS 2008.
Zeitraum: 04/2008 ? 08/2008
Für erste Stufe "Dateibasiertes Tool mit Command Line Interface":
Anforderungsanalyse, Use Case Definitionen, Anforderungsspezifikation für externe Crypto-Core-Entwicklung mit Command Line Interface (CLI)
Ergebnisse: Komplette nationale PKI-Installationen in einem südafrikanischen
Staat 2009/2010, in einem südosteuropäischen Staat 2010/2011 und
in einem nordostasiatischen Staat 2011, sowie diverse Demo-
Installationen für Reisepässe und ID-Karten.
Teilprojektname: ePassport Key Management - Arabische Halbinsel
Gesamtzeitraum: 01/2012 ? 02/2012
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Für einen Staat im Osten der Arabischen Halbinsel ist die komplette Systemarchitektur für das Key Management und die Public Key Infrastrukturen (PKIs) zur Produktion und Verwaltung von neuen Reisepässen standardkonform (u.a. ICAO-9303, BSI-03110, BSI-03129, CSN-369791-SPOC) und gemäß funktionalen und nicht-funktionalen Anforderungen des Endkunden zu definieren. Die Darstellung erfolgt in UML 2 und ist aufgeteilt in die architekturellen Sichten nach ISO/IEC 10746 (Enterprise, Information, Computational, Engineering and Technology) zu dokumentieren.
Rolle/Position: Systemarchitekt und Berater
Teamgröße: 4 MA
Tools: Microsoft Word,EnterpriseArchitect 9.0 (UML 2), Microsoft Visio,
Microsoft Excel
Tätigkeiten
Anforderungsanalyse, Zerlegung der Funktionalität in Komponenten, Verteilung der Komponenten nach primär nicht-funktionalen Anforderungen (z.B. Verfügbarkeit, Auslastung, Sicherheit, Produktiv- und Disaster-Site) mit entsprechenden z.T. standardisierten externen Systemschnittstellen (z.B. Webservices, LDAP, Web-GUIs), Erstellung konsistenter Dokumentation für Endkunden. Die einzelnen Komponenten sind u.a.:
Ergebnisse: Erfolgreiche interne Abnahme der Systemarchitektur. Termingerechte
Abgabe für das Angebot.
Projektname: CAMS JavaCard
Gesamtzeitraum: 03/2010 ? 06/2011
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Erweiterung des bestehenden Backend Systems vom "Card and Application Management System (CAMS)" um die Unterstützung von Java Cards und Java Card Anwendungen:
Erweiterung des zugehörigen verteilten Online Frontend Systems "PIP", eine Post-Issuance Personalization Plattform mit PIP-Server und PIP-Client, zur Aktualisierung von im Feld befindlichen Java Cards über Internet (SOAP/HTTP/TCP/IP) zum:
Rolle/Position: Softwareentwickler und Berater
Teamgröße: 6 MA
Sprachen: Java 1.6 (JEE 5), Java Script (ECMA Script)
Architektur/Design: Microsoft Word, Microsoft Visio
IDE: Eclipse 3.3
Softwareverwaltung: IBM Rational Clear Case, IBM Rational Clear Quest, Apache Maven 2.2.1,
Luntbuild
Plattformen: Windows XP 32 bit
Datenbankenp; Oracle 10g, JDBC, Apache Cayenne, Aqua Data Studio
Java Cards: G&D Smart Café Expert 5.0, G&D StarSign Management Suite V1.6, G&D
Customizer, G&D JLoad
Technologien: JBoss 4.2.2, Spring Framework, Spring Remoting, Java Swing, JUnit, Sun
smartcardio, PC/SC, ASN.1, JDOM, JAXP, JAXB RI 2.1, Apache Ant 1.7,
Mozilla Rhino Engine, Sun Java Concurrency Utilities, SOAP, HTTP,
WSDL, Apache WSS4J, Sun XWS-Security, Apache XMLSec (XML-Enc, XML-
DSig), JAX-WS RI 2.1, Apache log4j, JCE/JCA, IAIK-PKCS11, IAIK-JCE,
Bouncy Castle JCE, JMX, SSL, TLS
Tätigkeiten
Mitarbeit bei der Festlegung von allgemeinen und Java Card spezifischen Verwaltungsdaten und Datenaufbereitungsprozessen für das Backend CAMS.
Verallgemeinerung der Schnittstellenspezifikation zwischen CAMS und PIP zur Übertragung von aufbereiteten Personalisierungsdaten zur Remote-Personalisierung.
Für lokalen oder verteilten Java Card Zugriff gemäß Global Platform Spezifikationen:
Für eine Test-Kartenanwendung "PKI-Applet" mit PIN, PUK, RSA-Schlüsselpaar und Zertifikaten strukturiert nach PKCS#15:
Ergebnisse: Die Test Java Card Anwendung "PKI-Applet" definiert über Application
Profile, Java Skripten und CAP File, ist importierbar und verwaltbar
in CAMS, des weiteren ist sie remote nachzuladen als auch zu
personalisieren über PIP. Das personalisierte PKI-Applet wurde
erfolgreich mit Microsoft Word zum Signieren von Dokumenten getestet.
Projektname: eID Card - Südamerikanischer Staat
Gesamtzeitraum: 09/2010 ? 12/2010
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Design und Entwicklung einer zukünftigen ID-Karte basierend auf einer Hybrid-Chipkarte:
Rolle/Position: Softwareentwickler und Berater
Teamgröße: 2 MA
Sprachen: C# (.NET Framework 2)
Architektur/Design: Microsoft Word, Microsoft Visio
IDE: Microsoft Visual Studio 2005
Plattformen: Windows XP 32 bit
Technologien: Windows Forms (MVC Pattern), File I/O, PC/SC, G&D OffCard API 1.3,
A.E.T PKI Java Applet, Precise Biometrics
Tätigkeiten
Mitarbeit beim Design der ID-Anwendung:
Für den Proof-of-Concept eine prototypische C#-Implementierung zur Personalisierung der PKI- und ID-Anwendung. Über die GUI sind u.a. folgenden Funktionen verfügbar:
Ergebnisse: Vorstellung der personalisierten ID-Karten beim Endkunden.
C#-Programm-Code wurde anschließend als Referenz für die
Personalisierungssoftware verwendet.
Projektname: CAMS eGK - PIP
Gesamtzeitraum: 09/2006 ? 10/2009
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Das "Card and Application Management System (CAMS)" verwaltet insbesondere die elektronische Gesundheitskarte (eGK) mit ihren Kartenanwendungen gemäß gematik Spezifikationen. Eine wesentliche eGK-Kartenanwendung ist die Health Care Application (HCA) mit den Versicherungsstammdaten (VSD). Das CAMS Backend System realisiert Auftragseingangsschnittstellen zu Bestandssystemen der Krankenkassen und Ausgangsschnittstellen zu Kartenpersonalisierern. Desweiteren sind Certification Authorities (CAs) und ein Key Management System (KMS) angebunden. Card and Application Life Cycle Steps werden über Workflows implementiert. Für die Verwaltung und Aktualisierung der im Feld befindlichen eGKs wird das CAMS um Online Fontend Systeme erweitert, die über Webservice-Schnittstellen Fachdienste in der Telematik Infrastruktur realisieren:
Da sich VSDD und CMS technisch nicht unterscheiden werden beide durch den PIP-Server ("Post-Issuance Personalization") mit verteiltem Card Communcation Service (SOAP/HTTPS/TCP/IP) realisiert.
Rolle/Position: Softwareentwickler und Berater
Teamgröße: ca. 30 MA
Sprachen: Java 1.4/1.5/1.6 (J2EE/JEE 5), Java Script (ECMA Script), HTML
Architektur/Design: Enterprise Architect (UML), Microsoft Word, Microsoft Visio, XML Spy
IDE: Eclipse SDK 3.2/3.7, MyEclipse
Softwareverwaltung: IBM Rational Clear Case, Clear Quest, Apache Maven 2.0, Luntbuild
Plattformen: Windows XP 32 bit, IBM AIX 6.1
Datenbanken: Oracle 10g, JDBC, Apache Cayenne, Aqua Data Studio
HSMs: Thales nShield, SafeNet Luna
SmartCards: G&D eGK0 & eGK1, Gemplus eGK0
Technologien: Sun Application Server 8.2, JBoss 4.2, Apache Tomcat, Servlets,
Spring Framework, Spring Remoting, Java Swing, Live Connect, Java
Applet, JUnit, ASN.1, JDOM, JAXP, JAXB RI 2.1, Apache Ant 1.7, AspectJ
(AOP), Matisse 4, Mozilla Rhino Engine, Sun Java Concurrency
Utilities, Codehaus XFire Java Webservice, SOAP, HTTP, WSDL, Apache
WSS4J, Sun XWS-Security, Apache XMLSec (XML-Enc, XML-DSig), Glassfish
WSIT (JAX-WS RI 2.1, XWSS 3.0), Apache log4j, JCE/JCA, IAIK-PKCS11,
IAIK-JCE, IAIK-XSECT, Bouncy Castle JCE, JMX, SSL, TLS, Open Card
Framework (OCF), JProfiler
Tätigkeiten
Schwerpunkt Online Fontend Systeme PIP- und UFS-Server.
Ergebnisse: Proof-of-Concept mittels Demonstrator (Webportal) zur CeBIT 2007 mit
UFS- und PIP-Server (CMS und VSDD) zur Online-Aktualisierung der VSD.
eKiosk zum Laden und Löschen von eGK-Mehrwertanwendungen auf der CeBIT
2008. Erfolgreiche Durchführung der ProOnline Interoperability-Tests
2008 und der VSD Online Feldtests 2009. Freigabe der CAMS-Software in
mehreren Versionen basierend auf gematik Releases für mehrere gesetzliche Krankenkassen.
Projektname: ePA Internet-Pilot
Gesamtzeitraum: 08/2007 ? 03/2008
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Kooperation mit einer "Internet-Bank", die als Bank virtuelle Kreditkarten für Internet-Geschäfte (eCommerce) ausgibt und zugehörige Kundenkonten verwaltet. Ziel ist Implementierung eines ePA Piloten zur CeBIT 2008 mit "friendly users" über welchen Bank-Kunden mittels eines elektronischen Personalausweis (ePA) Prototypen (BSI TR-03110 Draft 2007) über Internet folgende Anwendungsfälle durchführen können:
Als Basis sind die PIP-Komponenten aus dem Parallelprojekt "CAMS PIP" zu verwenden und gemäß "eCard API Framework" vom BSI auszubauen
Rolle/Position: Projektleiter, Berater, Softwareentwickler
Teamgröße: 4 MA
Sprachen: Java 1.5, Java Script (ECMA Script), HTML
IDE: Eclipse SDK 3.2, MyEclipse (Matisse 4)
Softwareverwaltung: IBM Rational Clear Case, Apache Maven 2.0
Plattformen: Windows XP 32 bit, Red Hat Linux, Red Hat Fedora 8
Datenbanken: Oracle 9.e, MySQL 5.0
Technologien: BEA WebLogic 9.2 (Business and Web Tier), Red Hat JBoss, Apache Tomcat
6.0, Spring Framework, Java Swing, JUnit, Open Card Framework, ASN.1,
WSDL, SOAP 1.1/HTTP, Java Applet, LiveConnect, BouncyCastle Crypto
API, JDBC, JCE/JCA, Mozilla Rhino Engine
Tätigkeiten
Erstellung Software-Architektur für eine neue eCard Platform mit verteilter eCard Middleware: eCard Server und eCard Client. Gemäß "eCard API Framework" realisiert der Client Komponenten für die Schichten IFD Layer, Authentication Layer (ISO24727-3 Interface), Identity Layer (eCard Interface), ePA Convenience Layer und Application Layer (leichtgewichtiges ePA Java Applet). Lose gekoppelte Komponenten kommunizieren über Webservices.
Erstellung Projektplan mit Workpackages für alle Mitarbeiter.
Umsetzung Authentication (Aktualisierung ePA Protokolle PACE und EAC), Identity und ePA Convenience Layer. Implementierung der Ablaufkontrolle der use cases durch serverseitige Java Scripts mit Datenbankanbindung im eCard-Server. Aufbau EAC PKI und Ausgabe von EAC-Terminalzertifikaten. Unterstützung und Koordinierung der Implementierung der clientseitigen Komponenten und der Durchführung der Integrationstests. Erstellung von Architektur-, Installations- und Benutzer-Dokumentation.
Ergebnisse: Problemlose Integration der eCard Platform in das bestehende Portal
der "Internet-Bank": eCard Server (WAR) in Web Tier und ePA Java Applet in
HTML-Seiten. Vorstellung des ePA Piloten auf der CeBIT 2008
mit durchweg positiver Resonanz. "friendly users" bewirkten regelmäßig
Verlängerung der Pilotphase, damit endete der Pilot erst Ende 2010.
Projektname: European Citizen Card (ECC) Demonstrator ("ePA Demonstrator")
Gesamtzeitraum: 12/2006 ? 03/2007
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Implementierung eines European Citizen Card (ECC) Demonstrators für die CeBIT 2007 auf Basis der PIP-Komponenten aus dem Parallelprojekt " CAMS PIP" und unter Einsatz eines elektronischen Personalausweis (ePA) Prototypen (BSI TR-03110 Draft 2006). Entwicklung eines Webportals für 4 Use Cases mit jeweils eigener HTML-Seite und dediziertem Extended Access Control (EAC) Zertifikat:
Rolle/Position: Softwareentwickler
Teamgröße: 2 MA
Sprachen: Java 1.4, Java Script (ECMA Script), HTML
IDE: Eclipse SDK 3.2, MyEclipse (Matisse 4)
Softwareverwaltung: IBM Rational Clear Case, Apache Maven 2.0
Plattformen: Windows XP 32 bit
Datenbanken: Sun Microsystems MySQL Server
Technologien: Red Hat JBoss, Apache Tomcat, Servlets, Spring Framework, Java Swing,
JUnit, Open Card Framework, ASN.1, WSDL, SOAP 1.1/HTTP, Java Applet,
LiveConnect, BouncyCastle Crypto API, JDBC, JCE/JCA, Mozilla Rhino
Engine
Tätigkeiten
Erstellung Software-Architektur. Implementierung ePA Protokolle Password Authenticated Connection Establishment (PACE), Extended Access Control (EAC) mit Chip Authentication und Terminal Authentication, sowie Basic Access Control (BAC). Implementierung serverseitige use cases mittels Java Scripts im PIP-Server und Datenbankanbindung (WAR). Implementierung clientseitiges Java Applet mit Swing-Dialogen unter Einbindung eines um den ePA erweiterten PIP-Clients. Integration in Webportal.
Ergebnisse: Vorstellung eines ersten Demonstrators für die möglichen
Anwendungsfälle eines ePAs im Internet auf der CeBIT 2007.
Projektname: Document Signer Key Manager (DSKM)
Gesamtzeitraum: 11/2006 ? 12/2006
Branche: Chipkarten, Nationale Ausweisdokumente, Sichere Systemlösungen
Projektziele:
Entwicklung einer C++-Bibliothek mit C-Schnittstelle zum Generieren und Verwalten von RSA-Schlüsselpaaren in einem Hardware Security Modul (HSM), sowie Erzeugung von PKCS#10-konformen Certificate Signing Requests zur Unterstützung des Document Signers von elektronischen Reisepässen und ID-Karten. Der DSKM verwendet den PKCS#11-Wrapper als HSM-Zugang.
Rolle/Position: Softwareentwickler
Teamgröße: 1 MA
Sprachen: C/C++
IDE: Microsoft Visual Studio 2005
Softwareverwaltung: VisualSVN Server, AnkhSVN
Tools: ASN.1 Compiler für C (asn1c)
Plattformen: Windows XP 32 bit
Tätigkeiten
Implementierung von C++-Klassen zum dynamischen Aufbau von PKCS#10-Requests. Basis sind aus ASN.1-Spezifikationsmodulen generierte C-Module zur BER/DER-Kodierung von Certification Requests.
Ergebnisse: Seit 2006 Einsatz im Document Signer für signierte Daten (SOD) auf
Reisepässen und ID-Chipkarten diverser Länder.
Projektname: AUC SIM Provisioning System / Provisioning Mediation
Projektleiter & Software-Architekt & Software-Entwickler
Kooperation mit Stadtsparkasse München (SSKM), SIZ und O2.
Umgebung:
Projektname: S-Transaction Broker - Architecture Prototype
Kooperation mit SSKM, SIZ und O2 (VIAG-Interkom)
Projektziele:
Projektname: Mobile Banking Platform
Department, Kooperation mit Deutsche Bank und D2
Zeitraum: 12/1998 bis 04/1999 (Festanstellung)
(Upgrade und Maintenance Demo-System bis 03/2003)
Firma: Chipcard & Communication Systems (CCS) GmbH, Engineering
Department, Kooperation mit D2 und Deutsche Bank.
Projektname: VAS-Container für die ZKA-Chipkarte
Zeitraum: 07/1998 - 03/1999 (Festanstellung)
Firma: Chipcard & Communication Systems (CCS) GmbH,
Engineering Department, Kooperation mit Deutsche Bank
Zeitraum: 11/1994 bis 10/1997 (Festanstellung)
Firma: Siemens Nixdorf Informationssysteme (SNI) AG,
Betriebssystem BS2000
Projektziele:
Das System- und Anwendungsmanagement des Mainframe-Systems BS2000 erfolgt über das Standard-Managementprotokoll SNMP.
Projektname: User Management Facility - Front End
Betriebssystem BS2000
Systemtechnische Entwicklung - Open Systems
Informatik-Studium (Zweitstudium)
Ludwig-Maximilians-Universität München
Schwerpunkte:
Kommunikationssysteme und Systemprogrammierung
Nebenfach:
Mathematik
Abschluß:
Diplom-Informatiker, Dipl.-Inform. (Univ) 1998
Note:
Gut
Diplomarbeit bei Siemens Nixdorf Informationssysteme AG, Augsburg
Titel: Konzeption eines Statusmanagements für PC-Cluster
Note: sehr gut
Praktikum bei Siemens Nixdorf Informationssysteme AG, München
Titel: Design und Implementierung eines Performance-Subagenten für ein Großrechner-Betriebssystem
Elektrotechnik-Studium (Erststudium)
Fachhochschule München
Schwerpunkt:Datentechnik
Abschluß: Diplom-Ingenieur, Dipl.-Ing. (FH) 1989
Note: gut
Diplomarbeit im Labor für optische Nachrichtenübertragung der FH
Titel: Bitfehlermeßgerät für 168 MBit/s
Note: sehr gut
Senior Java Software Engineer
Online Authentication and Identification Systems (Internet)
Public Key Infrastructure (PKI)
Card and Application Management Systems (CAMS)
Mediation Systems (Telekommunikation, GSM, UMTS)
Secure Mobile Banking and Payment Systems (Banken, Telekommunikation)
Netz-, System- und Anwendungs-Management in heterogenen Netzen
Datenkommunikation, Kommunikationssysteme und Protokolle
Public Key Infrastrukturen (PKI)
Key Management und Kryptographie
Prozessor-Chipkarten
Projektaufgaben
Consultant, Präsentationen, Workshops (Deutschland, Indien, Mazedonien)
System- und Software-Architekt (PKI, Key Management, Mobile Banking, Billing Mediation)
Projektleitung / permanente Stellvertretung (4-10 Mitarbeiter)
Software-Entwickler
Architecture and Design
Version Control, Builder, Test
GUI
Web-GUI
Web-Services
Application Server
Library, Framework
Hardware Security Module (HSM)
Smartcard
Miscellaneous
"Der Consultant wurde bei uns im Bereich 'Softwareentwicklung Produkte' eingesetzt und überzeugte uns mit seinem vielschichtigen Fachwissen und seiner sehr umfangreichen technischen Expertise. Er arbeitete selbständig und zuverlässig und entwickelte zu vielen technischen Herausforderungen sehr gute Lösungen zusammen mit unserem Architekten. Die Implementierung übernahm er alleine inklusive Testing und Dokumentation. In Fachgebiete, die für ihn neu waren, arbeitete er sich schnell und selbständig ein und konnte nach kurzer Zeit hierzu bereits Ergebnisse liefern. Der Consultant war in seinem Team sehr angesehen und beliebt. Er informierte im genau richtigen Maß seinen Projektleiter/Architekten und unterstützte die Juniors im Team, wo Bedarf bestand. Mit seiner ruhigen und besonnenen Art war er ein Grundpfeiler im Entwicklungsteam. Der Consultant hat immer eine hohe Motivation gezeigt und war auch in schwierigen Projektsituationen sehr belastbar. Aufgrund der 'Corona-Situation' arbeitete er einige Wochen im Home-Office. Auch in dieser Situation lieferte er wie gewohnt seine Ergebnisse ab. Wir hatten schon zuvor ein sehr vertrauensvolles Verhältnis aufbauen können. Insgesamt sind wir mit seinen Ergebnissen äußerst zufrieden. Ich kann ihn persönlich sehr empfehlen und würde mich freuen, ihn künftig erneut einsetzen zu können."
— Projekt Secure Web Box, Business Plugin Manager, 01/19 - 04/20
Referenz durch Geschäftsführer, IT-Dienstleister, vom 15.04.20
"Der Contractor hat alle Anforderungen an Software (VD EAC-CM V2), Systemen (ePass/eID PKI Appliance) und Referenzimplementierungen (Governmental PKIs) gemäß Lastenheft zu unserer vollsten Zufriedenheit erfüllt und jeweils termingerecht geliefert. Die sehr gute Qualität der gelieferten Produkte und der zu gehörigen Dokumentationen sind besonders hervorzuheben. Endkunden im Ausland haben sich ausdrücklich für seine Professionalität und Einsatzbereitschaft bedankt. Er arbeitet eigenverantwortlich und ist ein guter Teamplayer. Für seinen Einsatz möchte ich mich hiermit ausdrücklich bedanken und würde mich über eine weitere Zusammenarbeit freuen."
— Projekt Governmental PKI Systems, ePass/eID PKI Appliance, 09/16 - 10/18
Referenz durch Vice President Solution Creation, Unternehmen im Bereich Internet und Informationstechnologie, vom 18.10.18
"The consultant was a highly competent software developer and his expertise helped the team a great deal in achieving the targets. He was responsible for enhancing the cryptographic infrastructure so that the application could understand multiple simultaneous secret keys. He contributed heavily to many other projects undertaken by the team. His technical solutions were aimed at being simple and maintainable, and he ensured that documentation was always available for the modules he worked on. He was very well versed with Scrum. He was a good team-player and got along with everyone in the team. He has a congenial nature and was always very patient and approachable. He organized himself very effectively, is professional and reliable. Overall, we would recommend the consultant as a valuable addition to any software development team."
— Project Consumer Cards Platform, 02/13 - 07/14 Reference from Team Leader Issuing Modules, Company of technology- and financal service (1.750 MA), from 07.02.16
"Der Consultant hat bereits in mehreren SW-Entwicklungsprojekten für uns gearbeitet. Seine hervorragenden fachlichen Kenntnisse sowie seine äußerst gewissenhafte Arbeitsweise machten ihn zu einem sehr wertvollen Mitarbeiter in allen Projekten. Besonders hervorzuheben ist sein persönliches Engagement und seine hohe Belastbarkeit in kritischen Phasen. Ich kann ihn bedenkenlos weiterempfehlen, würde mich aber auch freuen, in der Zukunft wieder mit ihm zusammenzuarbeiten."
— Projekt Karten-, Key- und PKI-Managementsysteme, 03/07 - 01/13
Referenz durch Head of Development and Test, Technologieunternehmen im Sicherheitsbereich, vom 04.09.13
"Der Consultant wurde bei uns in den Bereichen System- und Software-Architektur sowie Software-Design und - Entwicklung eingesetzt. Er zeichnet sich durch sein übergreifendes Fachwissen im IT-Bereich und seine fundierte Kompetenz in der jeweiligen übernommenen Projektrolle aus. Der sehr belastbare und stets motivierte Consultant konnte auch in schwierigen Projektsituationen Arbeitsergebnisse hoher Qualität liefern. Hiermit möchten wir dem Consultant für seinen außerordentlichen Einsatz danken und werden ihn bei Bedarf gerne wieder beauftragen."
— Projekt Verteilte Plattformen für kartenbasierte Anwendungen im Internet, 09/06 - 12/10
Referenz durch Head of System Architecture, Technologieunternehmen im Sicherheitsbereich, vom 18.12.12