allgemeine Kryptografie-Programmierung unter Java und C++, Projektleiter kleine Projekte, GUI Programmierung mit SWT, GTK und MFC
Aktualisiert am 04.03.2022
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 03.07.2022
Verfügbar zu: 100%
davon vor Ort: 100%
Java
PKI
Scrum Product Owner
Zertifkatsbasierte Infrastruktur
Deutsch
Muttersprache
Englisch
Verhandlungssicher

Einsatzorte

Einsatzorte

Berlin (+100km) Potsdam (+100km) Malchin (+100km) Stade (+150km)
nicht möglich

Projekte

Projekte

7 Jahre 9 Monate
2016-07 - heute

Konnektor-Projekt im Gesundheitswesen

Freelancer
Freelancer

Seit 01/17 bin ich ausschließlich in der (Java-) Entwickler-Rolle inder Entwicklung der T-SystemsCA tätig. Diese CA kann
zusätzlich zu der in der Gematik entwickelten CA die Zertifikate
geordnet für die einzelnen Kartentypen so verpacken (in
PKCS#12-Container), dass die Terminal- und Kartensimulatoren
diese direkt verwenden können.


Von 06/2017 - 06/2018 war ich Product-Owner (PO) für das Testmittel-Team 2 und gleichzeitig in der Entwickler-Rolle für die TSystemsCA tätig.


Ab 01/2017 - 12/2017 hatte ich die PO-Rolle im Team des
Zertifikatsdienstes, die C++ Entwickler-Rolle habe ich abgegeben und nicht mehr in C++ entwickelt.
Zusätzlich habe ich begonnen, eine T-SystemsCA (AdminCA) in
Java zu entwickeln, die die gleichen Aufgaben wie die
GematikCA aus dem Gematik-Projekt hat. Sie erzeugt valide und invalide X509-, CVC G1 und CVC G2 Zertifikate, um damit das Verhalten des Konnektors zu validieren. Hier wurden das Spring 2- Framework und für die Krypto-Operationen die Bouncycastle- Bibliothek verwendet.


Von 07/2016 - 12/2016 war ich tätig als C++ Entwickler im
Embedded Umfeld. Es waren Ansteuerungs-Routinen für
Kartenterminals zu implementieren, die über die Konnektor-
Anwendung direkt mit den in den Smartcards befindlichen Krypto- Prozessoren über das SICCT-Protokoll kommunizieren. Als Entwicklungsumgebung wurde Eclipse genutzt, der Quellcode wurde über Git verwaltet und als Ticket-System wurde Jira, als Dokumentationstool Confluence verwendet. Es wurde in einem Scrum-Prozess entwickelt und ich hatte die Entwickler-Rolle.

T-Systems
8 Jahre 9 Monate
2015-07 - heute

Start-Up CSC

Geschäftsführer und Entwickler
Geschäftsführer und Entwickler

Design und Entwicklung des Produktes VelamentumServerSuite
Dieses OpenSource-Produkt soll nach Markteinführung über
autonom agierende Netzwerkgeräte (zur Zeit werden Raspberry
PI, Banana PI und Intel NUC unterstützt) verschiedene freie
Server für Privathaushalte und im geschäftlichen SOHO Umfeld
anbieten.

Die Server-Anwendungen stehen unter einer OpenSource-Lizenz
und werden in einem Docker-Container so eingebettet, das sie als
12-Faktor-App auf Docker-Hosts sowohl auf Intel- als auch auf
ARM-Hardware eingesetzt werden können. Im SOHO Umfeld ist
auch der Betrieb der Container auf einem Blade möglich.
Die Kommunikation aller eingesetzten Server wird über eine
selbst entwickelte VelamentumCA abgesichert, die valide (und zu
Testzwecken auch invalide) X509 Zertifikate ausstellt und
zusätzlich zu der in dem Gematik- und T-Systems-Projekten
umgesetzten CA die Zertifikate auch aktiv auf die Client-Systeme
(Windows und Linux) sowohl für den Gebrauch im Betriebssystem
als auch für die Browser (IE, Edge, Firefox, Chrome, Safari und
cliqz) deployen kann. Sie unterstützt über eine eigene Client-
Anwendung auch das client-seitige Erzeugen von
Schlüsselpaaren und Zertifikatsrequests nach den gültigen
Standards. So kann sichergestellt werden, dass die privaten
Schlüssel von Client-Zertifikaten niemals den Client verlassen
müssen.
Der Nutzer hat bei HTTPS-Verbindungen zu den einzelnen
Servers der VelamentumServerSuite ein „grünes Schloss“ in der
URL-Zeile, wenn die RootCA, die SubCAs und die EE-Zertifikate
der VelamentumCA genutzt werden, ohne dass die Zertifikate
außerhalb des internen Netzes erstellt werden müssen. Damit
bleiben alle genutzten privaten Schlüssel innerhalb des lokalen
Netzwerkes.
Die VelamentumCA wird vom Browser über eine RESTful-
Schnittstelle bedient und ist als 12-Faktor-App in einem Docker-
Container sowohl für Intel- als auch für ARM-Hardware deployt.
Sie ist in Python geschrieben und nutzt das Django-Framework.
Da in Python keine mit BouncyCastle vergleichbare Bibliothek
existiert, wird diese über eine Python-Java-Bridge von Python aus
angesteuert.
Inhaltlich können die Kunden ihr Netzwerk aktiv vor Angriffen aus
dem Internet schützen über die Apps OpenVAS, Snort und
OSSEC. Für das lokale Hosten von E-Mails (besonders im Umfeld
der Privat-Haushalte ist dies noch nicht üblich) werden die Apps
RoundCube, Rainloop, Fetchmail und Dovecot eingesetzt. Zum
Verwalten von Kontakten, Bildern, E-Books, Musik und
Dokumenten werden Nextcloud und OpenMediaVault als App
im Browser angeboten. Für das Präsentieren von Filmen und die
Nutzung als Smart-TV wird Kodi eingesetzt.
In der Entwicklung der VelamentumServerSuite werden zum
Verwalten der Aufgaben Jira, als Dokumentationstool
Confluence, zur Versionierung des Quellcodes und der Docker-
Images git und Gitlab mit der Docker-Registry eingesetzt. Zum
Deployen für die verschiedenen Hardware-Typen (Intel und Arm)
wird ansible genutzt. Als IDE kommen IntelliJ PyCharm und
IntelliJ Idea zum Einsatz. Alle Produkte werden von mir sowohl
als DevOp betreut als auch als Entwickler genutzt.

1 Jahr 8 Monate
2013-11 - 2015-06

PKI Umfeld

Freelancer
Freelancer

Design und Programmierung einer GematikCA für X509 und CV
Zertifikate. Zunächst wurden die OpenSource-EJBCA erweitert
um notwendige Funktionalitäten, später wurden alle EJBCAElemente komplett durch eigenen Quellcode ersetzt. Die GUIKomponenten wurden auf der Basis von HTML und CSS mit dem Framework jQuery umgesetzt. Kern der Anwendung war eine Java-Bibliothek, die Zertifikate nach den Standards X509, CV Generation 1 und CV Generation 2 mit den elliptischen Kurven Brainpool256R1 und Brainpool384R1 sowohl valide als auch invalide erzeugen konnte. Um das spezifikationskonforme
Verhalten von Hardware auch im Fehlerfall zu testen, ist
Testmaterial mit invaliden Elementen notwendig. Dies wird von
am Markt erhältlicher CAs nicht unterstützt. Die GematikCA wurde so konzipiert, dass alle relevanten Elemente der Zertifikate an der Web-Oberfläche konfigurierbar waren. Die eigentlichen kryptografischen Routinen werden über die Java-Bibliothek Bouncycastle umgesetzt, die auch Operationen mit elliptischen Kurven unterstützt. Weiterhin wurden gültige und ungültige TSLs (Trusted Service Lists) erstellt. Es wurden Maven und Ant als Konfigurations-Tools, git und gitblit als Versionsverwaltung und Jira als Ticket-System verwendet. Die Arbeit war in einem agilen Scrum-Prozess organisiert, dort war ich in der Rolle als Entwickler tätig. Für die Arbeit war eine intensive Einarbeitung in die Gematik-Spezifikation gemSpecPKI notwendig.

Gematik im Gesundheitswesen.
5 Jahre 4 Monate
2009-10 - 2015-01

Gewerbliche Selbstständigkeit

Gewerbliche Selbstständigkeit für das Design, die Entwicklung
und den Vertrieb der Krypto-Software Velamentum zur
Absicherung von Rechnern gegen Trojanern, die von außen in
Abwesenheit des Besitzers eingebracht werden. Einarbeitung in
die Boot-Vorgänge von Linux und Unix, Entwurf einer komplexen
PKI mit einer zentralen Vertrauensinstanz und beliebig vielen
Clients mit SmartCard-Absicherung. Teamleiter von einem
Entwickler und einem Designer

3 Jahre 10 Monate
2010-01 - 2013-10

Freiberufliche Unterstützung bei der Entwicklung eigener Kryptosoftware

Die Unterstützung enthält das Programmieren komplexer C++ und Java Programm- Bibliotheken zur Ergänzung der verschiedenen Produkte von OpenLimit. Es wurde das Design eines Signaturservice entwickelt, welches über eine RESTful Schnittstelle mit dem browserbasierten Client kommuniziert. Die GUI des Clients wurde komplett in Eigenarbeit nach den Vorgaben von OpenLimit mit HTML und CSS entwickelt.Die vorhandene Funktionalität des konsolenbasierten Script- Clients wurde in die Web-Anwendung portiert. Alle Parameter (mehr als 100) konnten anschließend über die Web-Gui eingestellt werden. Serverseitig wird über Java mit der PKCS#11 API mit Smartcards, Soft-Tokens oder HSMs kommuniziert. Es
wurde serverseitig JSF verwendet, über JPA wurden
Datenbanken angebunden. Der Quellcode wurde mit SCCS vom
Microsoft und mit Subversion verwaltet. Diese Signaturlösung
wird unter anderem vom Brandenburger Justizminister zur
Erzeugung von elektronischen Signaturen für Gesetzestexte
genutzt. 

OpenLimit GmbH
4 Jahre 7 Monate
2005-03 - 2009-09

Programmierung in Java, Design und Programmierung der Country-CA für Deutschland zur Erzeugung von Zertifikaten

Programmierer/ technischer Projektleiter
Programmierer/ technischer Projektleiter

Programmierung in Java, Design und Programmierung der Country-CA für Deutschland zur Erzeugung von Zertifikaten für die Reisepässe der ersten Generation. Diese CA erzeugt CV Zertifikate nach dem ICAO-Standard.
Programmierung kryptografischer Routinen mit der Bibliothe
Bouncycastle und Ansteuerung des GUI Framework SWT,
Umsetzung einer komplexen PKI als Programmierer und
technischer Projektleiter.

Bundesdruckerei GmbH
Berlin
2 Monate
2005-01 - 2005-02

Mitarbeit an der Erstellung der Software

Freiberuflicher Programmierer
Freiberuflicher Programmierer

Mitarbeit an der Erstellung der Software zur
Programmierung der Chips in den elektronischen Reisepässen.

Bundesdruckerei GmbH
Berlin
9 Monate
2004-04 - 2004-12

Erstellung des Fachbuches ?Angewandte Typografie - Von der Idee zum fertigen Buch?

Eine Anleitung für die schnelle Erstellung professionell gesetzter Drucksachen Einarbeitung in Typografie und die Erstellung eines Fachbuches. Einarbeitung in Schriftlayout, Schriftsetztechnik, Schriftfamilien und Buchdrucktechnik für die Erstellung der Buchdruckvorlage. Nutzung des freien  extverarbeitungssystems OpenOffice für die Druckvorstufe. Die erworbenen Kenntnisse können sehr gut bei der Erstellung technischer Dokumentationen in freien Projekten eingesetzt werden. Die Veröffentlichung des Buches ist aufgrund der Geburt des Sohnes Linus auf unbestimmte Zeit verschoben worden.

2 Jahre
2002-04 - 2004-03

Freiberufliche Arbeit

Die Tätigkeit bei Alcatel gliederte sich in drei Teile, zunächst (bis
Dezember 2002) wurde eine Projektstudie (in englisch) erstellt für die Alcatel-interne Kommunikation zwischen Stellwerken.
Im zweiten Teil wurde das von dem Konsortium Alcatel/Siemens
beschlossene Euroradio Protokoll für den Alcatel-Kommunikationsstack implementiert.
Der dritte Teil bestand aus der Codierung der in der Projektstudie beschriebene Kommunikation zwischen Stellwerken mit Hilfe der OpenSSL Bibliothek. Im Einzelnen wurden folgende Tätigkeiten durchgeführt:

  • Design eines generischen Krypto- Kommunikationsstacks in
    C++ für Alcatel- Anwendungsprojekte unter Verwendung der
    OpenSSL Bibliothek.
  • Erstellung von Dokumenten und Testroutinen von Open-
    Source Software für die Zulassung (SIL 4) beim
    Eisenbahnbundesamt
  • Einarbeitung in die gesetzlichen Grundlagen
    (Signaturgesetz, Bundesdatenschutzgesetz).
  • Portieren von Open-Source Software auf eine hochsichere
    Hardwareplattform (Tagopert).
  • Erstellung hochsicherer Software (SIL 4) für den
    Bahnbereich
  • Erstellung von Projekten in UML mit dem Tool Together 6.01
    in C++.
  • Erstellung von C++ Programmen mit DevC++ (gcc) unter
    Windows.
  • Nutzung der C++ Debugger Insight5 unter Windows und
    Solaris und DDD unter Solaris.
  • Erstellung einer Projektstudie für die Absicherung der
    Kommunikation von Nachbarstellwerken über unsichere
    Netze für ein EU Projekt (englisch).
  • Die Softwareentwicklung und die Erstellung der
    automatischen Tests wird über das UML Tool Together
    durchgeführt.
  • Die Quellcodeverwaltung wird mit dem
    Softwareverwaltungstool ClearCase realisiert.
  • Erstellung einer universell verwendbaren Krypto-Bibliothek.
  • Codieren des Euroradio-Protokolls für die Funk-
    Zugbeeinflussung in C++ als Schicht im Alcatel-
    Kommunikationstack.
  • Erstellung von C++ Programmen unter Windows und unter
    Unix mit dem Compiler gcc.
  • Evaluierung vom Open-Source Anwendungen für die
    Eignung als Grundlage für hochsichere Anwendungen.
  • Auswahl und Anpassung der Softwarebibliothek OpenSSL
    für das Bahn-Projekt.
  • Mitarbeit in einem größeren Team (etwa 85 Mitarbeiter).
Alcatel Berlin
4 Jahre 11 Monate
1997-04 - 2002-02

verschiedenen Projekten

Freiberuflicher Programmierer
Freiberuflicher Programmierer
  • u.a. im Einzelhandel (Lidl & Schwarz) und bei Behörden (BfA).
  • Programmierung in K&R C und C++ (MFC, STL). Code-
    Portierung von C nach C++ unter Berücksichtigung des Jahr
    2000-Problems

Aus- und Weiterbildung

Aus- und Weiterbildung

09/1990 ? 03/1997
Universität Rostock
Studium der Elektrotechnik, Spezialisierung Nachrichtentechnik,         
Schwerpunkt ?Geheime Datenübertragung? drei Auslandssemester in Zürich, Schwerpunkt Kryptografie
Diplomarbeit Software-Entwicklung auf dem Gebiet der angewandten Kryptografie,  
Abschluss Diplomarbeit 1,0
Abschluss: Diplom-Ingenieur, Note 1,4

Position

Position

Product Owner kleinere Teams

Developer Java / C++ im PKI Umfeld PenTesting

Kompetenzen

Kompetenzen

Top-Skills

Java PKI Scrum Product Owner Zertifkatsbasierte Infrastruktur

Produkte / Standards / Erfahrungen / Methoden

Technologien:

  • UML
  • Testgetriebene Entwicklung
  • Junit mit Stubs und Mocks
  • FIT und Fitnesse
  • SWT
  • Webservices
  • EJB CA API
  • STL
  • MFC
  • RPC
  • wxWidget 
  • HSM und Smart-Card
  • Programmierung über PKCS#11 Schnittstelle in Java
  • Programmierungsprozesse nach V Modell XT 
  • Auswertung von Zertifikaten nach X.509 Standard


Werkzeuge

  • GCC, cc (von Solaris),
  • ddd, Insight5,make
  • EclipseTogether
  • Enterprise ArchitectClearCase
  • Subversion, CVS
  • Visual C++
  • Maven
  • Visual Age (IBM)
  • Java-Krypto-Bibliothek
  • Bouncy-Castle 
  • Anjuta
  • (C++/wxWidget)
  • Kdevelop
  • Make


Produkte

  • MS Office (Schulungen)
  • OpenOffice/StarOffice


Sonstiges

  • Kommunikations-Protokolle:
  • SSL 
  • HTTPS   


Schulungsvorbereitung und -durchführung im Bereich Kryptografie, Office und PKI

Kurzprofil:

23 Jahre

Erfahrung in der allgemeinen Kryptografie-Programmierung (symmetrisch,
asymmetrisch, kryptografische Absicherung von Datenübertragungen, Public Key Infrastructures (PKI) ) in C/C++ und Java, Design, Programmierung, Aufbau und Betrieb von Certificate Authorities (CAs), Projektleitertätigkeit für das Produkt VelamentumServerSuite


22 Jahre

Erfahrung im Bereich C/C++ Programmierung unter Windows, Linux und AIX
inklusive Ansteuerung der GUI Ausprägungen der OS


10 Jahre

Erfahrung im Bereich Java Programmierung:

  • Speichern von Daten über die JPA Schnittstelle
  • Spring Boot2 Framework
  • Java FX GUI Anwendungen
  • Java 9 und Java 11 Anwendungsdesign
  • Design komplexer Server Anwendungen mit RESTful API
  • Java EE Beans
  • intensiver Einsatz der Bouncycastle-Bibliothek


10 Jahre

Erfahrung Chipkarten-Ansteuerung, PKCS#11 und PKCS#15 API Ansteuerung aus Java und C++, ISO 7816 Token


10 Jahre

Erfahrung HTTP und CSS, Aufsetzen von Projekten mit dem Bootstrap-Framework


10 Jahre

Erfahrung Webservice Technologien SOAP, RESTful Service (über Java Spring 2)


6 Jahre

Erfahrung Arbeit in Scrum-Teams als Entwickler (Gematik, T-Systems) und
als PO (T-Systems)


5 Jahre

Erfahrung Programmierung von WebGui-Anwendungen mit JavaScript,
jQuery mit AJAX und clientseitiger Ansteuerung von RESTful Services


5 Jahre

Erfahrung SQL mit der Software MS SQL, MySQL, PostgreSQL aus Java
und Python (Django)


5 Jahre

Erfahrung Anwendungsprogrammierung mit Bibliotheken von OpenSwan,
IPSEC, OpenVPN, CyberGhost, DNSSEC, ISO-7816 Token


5 Jahre

Erfahrung Einsatz und Plugin Programmierung Schwachstellen-Scanner OpenVAS, seit 05/2015 registrierter OpenSource-Entwicker bei Greenbone

5 Jahre

Erfahrung Python Programmierung (Django und Python-Ansteuerung von Webseiten und Datenbanken)


5 Jahre

Erfahrung Einsatz der DevOp-Software Ansible im Software-Entwicklungs-Prozess


5 Jahre

Erfahrung Maven, SVN, Git, GitLab, Jira, Confluence (auch als Adminstrator)
IDEs: Eclipse, IntelliJ Idea, IntelliJ PyCharm, Visual C++


2 Jahre

Erfahrung SICCT-Protokoll unter Java und C++ ansteuern


2 Jahre

Erfahrung Docker-Images erzeugen, testen und deployen in Registries, Konvertieren von Server-Software in 12-Faktor-Apps innerhalb von Docker-Containern.

Betriebssysteme

Erstellung individueller Ubuntu- Distributionen
Mac OS
SUN OS, Solaris
allgemeine Programmierkenntnisse C++ unter SUN OS
Unix
allgemeine Programmierkenntnisse C++ unter SUN OS, Ansteruerung der Linux-Kryptografie-Komponenten unter Java und C++ (z.B. LUKS)
Windows
Programmierkenntnisse unter Windows (C++, Java mit SWT und Ansteuerung nativer DLLs) seit 1998
Unix und Linux: Programmierung von Kommunikationsschichten mit transparenter Kryptografie.

Programmiersprachen

C
Erfahrung seit 1998
C++
Erfahrung seit 1998
ISA Regelsprache
Einsatz im Projekt in der BfA, Programmierung von neuen ISA Regeln in C++
Java
Programmiererfahrung seit 2004, Intensive Kenntnisse der Java-Security-Feature
JavaScript
Programmiererfahrung seit 2004, Intensive Kenntnisse der Java-Security-Feature
Shell
Grundkenntnisse vorhanden

Datenbanken

Access
Grundkenntnisse vorhanden
MySQL
kleinere Projekte bereits durchgeführt
ODBC
kleinere Projekte bereits durchgeführt
Postgres
kleinere Projekte bereits durchgeführt

Datenkommunikation

Internet, Intranet
HTTPS Programmierung unter Java und C++
RPC
Programmierung eines RPC Stacks

Hardware

Macintosh
Programmierkenntnisse für PPC vorhanden
PC
Allgemeine Java und C++ Entwicklung, PKI Design und Entwicklung
Raspberry
Programmierkenntnisse und Administrationskenntnisse für Raspberry Hardware vorhanden

Berechnung / Simulation / Versuch / Validierung

Software-in-the-Loop Simulation (SIL)

Branchen

Branchen

Freiberufliche Projekte wurden in der Bahntechnik, im Behördensystem der BfA,
im EInzelhandel bei Lidl & Schwarz und im Druckgewerbe bei der
Bundesdruckerei durchgeführt. Genauere Beschreibungen sind in den einzelnen
Projekten aufgeführt.

Einsatzorte

Einsatzorte

Berlin (+100km) Potsdam (+100km) Malchin (+100km) Stade (+150km)
nicht möglich

Projekte

Projekte

7 Jahre 9 Monate
2016-07 - heute

Konnektor-Projekt im Gesundheitswesen

Freelancer
Freelancer

Seit 01/17 bin ich ausschließlich in der (Java-) Entwickler-Rolle inder Entwicklung der T-SystemsCA tätig. Diese CA kann
zusätzlich zu der in der Gematik entwickelten CA die Zertifikate
geordnet für die einzelnen Kartentypen so verpacken (in
PKCS#12-Container), dass die Terminal- und Kartensimulatoren
diese direkt verwenden können.


Von 06/2017 - 06/2018 war ich Product-Owner (PO) für das Testmittel-Team 2 und gleichzeitig in der Entwickler-Rolle für die TSystemsCA tätig.


Ab 01/2017 - 12/2017 hatte ich die PO-Rolle im Team des
Zertifikatsdienstes, die C++ Entwickler-Rolle habe ich abgegeben und nicht mehr in C++ entwickelt.
Zusätzlich habe ich begonnen, eine T-SystemsCA (AdminCA) in
Java zu entwickeln, die die gleichen Aufgaben wie die
GematikCA aus dem Gematik-Projekt hat. Sie erzeugt valide und invalide X509-, CVC G1 und CVC G2 Zertifikate, um damit das Verhalten des Konnektors zu validieren. Hier wurden das Spring 2- Framework und für die Krypto-Operationen die Bouncycastle- Bibliothek verwendet.


Von 07/2016 - 12/2016 war ich tätig als C++ Entwickler im
Embedded Umfeld. Es waren Ansteuerungs-Routinen für
Kartenterminals zu implementieren, die über die Konnektor-
Anwendung direkt mit den in den Smartcards befindlichen Krypto- Prozessoren über das SICCT-Protokoll kommunizieren. Als Entwicklungsumgebung wurde Eclipse genutzt, der Quellcode wurde über Git verwaltet und als Ticket-System wurde Jira, als Dokumentationstool Confluence verwendet. Es wurde in einem Scrum-Prozess entwickelt und ich hatte die Entwickler-Rolle.

T-Systems
8 Jahre 9 Monate
2015-07 - heute

Start-Up CSC

Geschäftsführer und Entwickler
Geschäftsführer und Entwickler

Design und Entwicklung des Produktes VelamentumServerSuite
Dieses OpenSource-Produkt soll nach Markteinführung über
autonom agierende Netzwerkgeräte (zur Zeit werden Raspberry
PI, Banana PI und Intel NUC unterstützt) verschiedene freie
Server für Privathaushalte und im geschäftlichen SOHO Umfeld
anbieten.

Die Server-Anwendungen stehen unter einer OpenSource-Lizenz
und werden in einem Docker-Container so eingebettet, das sie als
12-Faktor-App auf Docker-Hosts sowohl auf Intel- als auch auf
ARM-Hardware eingesetzt werden können. Im SOHO Umfeld ist
auch der Betrieb der Container auf einem Blade möglich.
Die Kommunikation aller eingesetzten Server wird über eine
selbst entwickelte VelamentumCA abgesichert, die valide (und zu
Testzwecken auch invalide) X509 Zertifikate ausstellt und
zusätzlich zu der in dem Gematik- und T-Systems-Projekten
umgesetzten CA die Zertifikate auch aktiv auf die Client-Systeme
(Windows und Linux) sowohl für den Gebrauch im Betriebssystem
als auch für die Browser (IE, Edge, Firefox, Chrome, Safari und
cliqz) deployen kann. Sie unterstützt über eine eigene Client-
Anwendung auch das client-seitige Erzeugen von
Schlüsselpaaren und Zertifikatsrequests nach den gültigen
Standards. So kann sichergestellt werden, dass die privaten
Schlüssel von Client-Zertifikaten niemals den Client verlassen
müssen.
Der Nutzer hat bei HTTPS-Verbindungen zu den einzelnen
Servers der VelamentumServerSuite ein „grünes Schloss“ in der
URL-Zeile, wenn die RootCA, die SubCAs und die EE-Zertifikate
der VelamentumCA genutzt werden, ohne dass die Zertifikate
außerhalb des internen Netzes erstellt werden müssen. Damit
bleiben alle genutzten privaten Schlüssel innerhalb des lokalen
Netzwerkes.
Die VelamentumCA wird vom Browser über eine RESTful-
Schnittstelle bedient und ist als 12-Faktor-App in einem Docker-
Container sowohl für Intel- als auch für ARM-Hardware deployt.
Sie ist in Python geschrieben und nutzt das Django-Framework.
Da in Python keine mit BouncyCastle vergleichbare Bibliothek
existiert, wird diese über eine Python-Java-Bridge von Python aus
angesteuert.
Inhaltlich können die Kunden ihr Netzwerk aktiv vor Angriffen aus
dem Internet schützen über die Apps OpenVAS, Snort und
OSSEC. Für das lokale Hosten von E-Mails (besonders im Umfeld
der Privat-Haushalte ist dies noch nicht üblich) werden die Apps
RoundCube, Rainloop, Fetchmail und Dovecot eingesetzt. Zum
Verwalten von Kontakten, Bildern, E-Books, Musik und
Dokumenten werden Nextcloud und OpenMediaVault als App
im Browser angeboten. Für das Präsentieren von Filmen und die
Nutzung als Smart-TV wird Kodi eingesetzt.
In der Entwicklung der VelamentumServerSuite werden zum
Verwalten der Aufgaben Jira, als Dokumentationstool
Confluence, zur Versionierung des Quellcodes und der Docker-
Images git und Gitlab mit der Docker-Registry eingesetzt. Zum
Deployen für die verschiedenen Hardware-Typen (Intel und Arm)
wird ansible genutzt. Als IDE kommen IntelliJ PyCharm und
IntelliJ Idea zum Einsatz. Alle Produkte werden von mir sowohl
als DevOp betreut als auch als Entwickler genutzt.

1 Jahr 8 Monate
2013-11 - 2015-06

PKI Umfeld

Freelancer
Freelancer

Design und Programmierung einer GematikCA für X509 und CV
Zertifikate. Zunächst wurden die OpenSource-EJBCA erweitert
um notwendige Funktionalitäten, später wurden alle EJBCAElemente komplett durch eigenen Quellcode ersetzt. Die GUIKomponenten wurden auf der Basis von HTML und CSS mit dem Framework jQuery umgesetzt. Kern der Anwendung war eine Java-Bibliothek, die Zertifikate nach den Standards X509, CV Generation 1 und CV Generation 2 mit den elliptischen Kurven Brainpool256R1 und Brainpool384R1 sowohl valide als auch invalide erzeugen konnte. Um das spezifikationskonforme
Verhalten von Hardware auch im Fehlerfall zu testen, ist
Testmaterial mit invaliden Elementen notwendig. Dies wird von
am Markt erhältlicher CAs nicht unterstützt. Die GematikCA wurde so konzipiert, dass alle relevanten Elemente der Zertifikate an der Web-Oberfläche konfigurierbar waren. Die eigentlichen kryptografischen Routinen werden über die Java-Bibliothek Bouncycastle umgesetzt, die auch Operationen mit elliptischen Kurven unterstützt. Weiterhin wurden gültige und ungültige TSLs (Trusted Service Lists) erstellt. Es wurden Maven und Ant als Konfigurations-Tools, git und gitblit als Versionsverwaltung und Jira als Ticket-System verwendet. Die Arbeit war in einem agilen Scrum-Prozess organisiert, dort war ich in der Rolle als Entwickler tätig. Für die Arbeit war eine intensive Einarbeitung in die Gematik-Spezifikation gemSpecPKI notwendig.

Gematik im Gesundheitswesen.
5 Jahre 4 Monate
2009-10 - 2015-01

Gewerbliche Selbstständigkeit

Gewerbliche Selbstständigkeit für das Design, die Entwicklung
und den Vertrieb der Krypto-Software Velamentum zur
Absicherung von Rechnern gegen Trojanern, die von außen in
Abwesenheit des Besitzers eingebracht werden. Einarbeitung in
die Boot-Vorgänge von Linux und Unix, Entwurf einer komplexen
PKI mit einer zentralen Vertrauensinstanz und beliebig vielen
Clients mit SmartCard-Absicherung. Teamleiter von einem
Entwickler und einem Designer

3 Jahre 10 Monate
2010-01 - 2013-10

Freiberufliche Unterstützung bei der Entwicklung eigener Kryptosoftware

Die Unterstützung enthält das Programmieren komplexer C++ und Java Programm- Bibliotheken zur Ergänzung der verschiedenen Produkte von OpenLimit. Es wurde das Design eines Signaturservice entwickelt, welches über eine RESTful Schnittstelle mit dem browserbasierten Client kommuniziert. Die GUI des Clients wurde komplett in Eigenarbeit nach den Vorgaben von OpenLimit mit HTML und CSS entwickelt.Die vorhandene Funktionalität des konsolenbasierten Script- Clients wurde in die Web-Anwendung portiert. Alle Parameter (mehr als 100) konnten anschließend über die Web-Gui eingestellt werden. Serverseitig wird über Java mit der PKCS#11 API mit Smartcards, Soft-Tokens oder HSMs kommuniziert. Es
wurde serverseitig JSF verwendet, über JPA wurden
Datenbanken angebunden. Der Quellcode wurde mit SCCS vom
Microsoft und mit Subversion verwaltet. Diese Signaturlösung
wird unter anderem vom Brandenburger Justizminister zur
Erzeugung von elektronischen Signaturen für Gesetzestexte
genutzt. 

OpenLimit GmbH
4 Jahre 7 Monate
2005-03 - 2009-09

Programmierung in Java, Design und Programmierung der Country-CA für Deutschland zur Erzeugung von Zertifikaten

Programmierer/ technischer Projektleiter
Programmierer/ technischer Projektleiter

Programmierung in Java, Design und Programmierung der Country-CA für Deutschland zur Erzeugung von Zertifikaten für die Reisepässe der ersten Generation. Diese CA erzeugt CV Zertifikate nach dem ICAO-Standard.
Programmierung kryptografischer Routinen mit der Bibliothe
Bouncycastle und Ansteuerung des GUI Framework SWT,
Umsetzung einer komplexen PKI als Programmierer und
technischer Projektleiter.

Bundesdruckerei GmbH
Berlin
2 Monate
2005-01 - 2005-02

Mitarbeit an der Erstellung der Software

Freiberuflicher Programmierer
Freiberuflicher Programmierer

Mitarbeit an der Erstellung der Software zur
Programmierung der Chips in den elektronischen Reisepässen.

Bundesdruckerei GmbH
Berlin
9 Monate
2004-04 - 2004-12

Erstellung des Fachbuches ?Angewandte Typografie - Von der Idee zum fertigen Buch?

Eine Anleitung für die schnelle Erstellung professionell gesetzter Drucksachen Einarbeitung in Typografie und die Erstellung eines Fachbuches. Einarbeitung in Schriftlayout, Schriftsetztechnik, Schriftfamilien und Buchdrucktechnik für die Erstellung der Buchdruckvorlage. Nutzung des freien  extverarbeitungssystems OpenOffice für die Druckvorstufe. Die erworbenen Kenntnisse können sehr gut bei der Erstellung technischer Dokumentationen in freien Projekten eingesetzt werden. Die Veröffentlichung des Buches ist aufgrund der Geburt des Sohnes Linus auf unbestimmte Zeit verschoben worden.

2 Jahre
2002-04 - 2004-03

Freiberufliche Arbeit

Die Tätigkeit bei Alcatel gliederte sich in drei Teile, zunächst (bis
Dezember 2002) wurde eine Projektstudie (in englisch) erstellt für die Alcatel-interne Kommunikation zwischen Stellwerken.
Im zweiten Teil wurde das von dem Konsortium Alcatel/Siemens
beschlossene Euroradio Protokoll für den Alcatel-Kommunikationsstack implementiert.
Der dritte Teil bestand aus der Codierung der in der Projektstudie beschriebene Kommunikation zwischen Stellwerken mit Hilfe der OpenSSL Bibliothek. Im Einzelnen wurden folgende Tätigkeiten durchgeführt:

  • Design eines generischen Krypto- Kommunikationsstacks in
    C++ für Alcatel- Anwendungsprojekte unter Verwendung der
    OpenSSL Bibliothek.
  • Erstellung von Dokumenten und Testroutinen von Open-
    Source Software für die Zulassung (SIL 4) beim
    Eisenbahnbundesamt
  • Einarbeitung in die gesetzlichen Grundlagen
    (Signaturgesetz, Bundesdatenschutzgesetz).
  • Portieren von Open-Source Software auf eine hochsichere
    Hardwareplattform (Tagopert).
  • Erstellung hochsicherer Software (SIL 4) für den
    Bahnbereich
  • Erstellung von Projekten in UML mit dem Tool Together 6.01
    in C++.
  • Erstellung von C++ Programmen mit DevC++ (gcc) unter
    Windows.
  • Nutzung der C++ Debugger Insight5 unter Windows und
    Solaris und DDD unter Solaris.
  • Erstellung einer Projektstudie für die Absicherung der
    Kommunikation von Nachbarstellwerken über unsichere
    Netze für ein EU Projekt (englisch).
  • Die Softwareentwicklung und die Erstellung der
    automatischen Tests wird über das UML Tool Together
    durchgeführt.
  • Die Quellcodeverwaltung wird mit dem
    Softwareverwaltungstool ClearCase realisiert.
  • Erstellung einer universell verwendbaren Krypto-Bibliothek.
  • Codieren des Euroradio-Protokolls für die Funk-
    Zugbeeinflussung in C++ als Schicht im Alcatel-
    Kommunikationstack.
  • Erstellung von C++ Programmen unter Windows und unter
    Unix mit dem Compiler gcc.
  • Evaluierung vom Open-Source Anwendungen für die
    Eignung als Grundlage für hochsichere Anwendungen.
  • Auswahl und Anpassung der Softwarebibliothek OpenSSL
    für das Bahn-Projekt.
  • Mitarbeit in einem größeren Team (etwa 85 Mitarbeiter).
Alcatel Berlin
4 Jahre 11 Monate
1997-04 - 2002-02

verschiedenen Projekten

Freiberuflicher Programmierer
Freiberuflicher Programmierer
  • u.a. im Einzelhandel (Lidl & Schwarz) und bei Behörden (BfA).
  • Programmierung in K&R C und C++ (MFC, STL). Code-
    Portierung von C nach C++ unter Berücksichtigung des Jahr
    2000-Problems

Aus- und Weiterbildung

Aus- und Weiterbildung

09/1990 ? 03/1997
Universität Rostock
Studium der Elektrotechnik, Spezialisierung Nachrichtentechnik,         
Schwerpunkt ?Geheime Datenübertragung? drei Auslandssemester in Zürich, Schwerpunkt Kryptografie
Diplomarbeit Software-Entwicklung auf dem Gebiet der angewandten Kryptografie,  
Abschluss Diplomarbeit 1,0
Abschluss: Diplom-Ingenieur, Note 1,4

Position

Position

Product Owner kleinere Teams

Developer Java / C++ im PKI Umfeld PenTesting

Kompetenzen

Kompetenzen

Top-Skills

Java PKI Scrum Product Owner Zertifkatsbasierte Infrastruktur

Produkte / Standards / Erfahrungen / Methoden

Technologien:

  • UML
  • Testgetriebene Entwicklung
  • Junit mit Stubs und Mocks
  • FIT und Fitnesse
  • SWT
  • Webservices
  • EJB CA API
  • STL
  • MFC
  • RPC
  • wxWidget 
  • HSM und Smart-Card
  • Programmierung über PKCS#11 Schnittstelle in Java
  • Programmierungsprozesse nach V Modell XT 
  • Auswertung von Zertifikaten nach X.509 Standard


Werkzeuge

  • GCC, cc (von Solaris),
  • ddd, Insight5,make
  • EclipseTogether
  • Enterprise ArchitectClearCase
  • Subversion, CVS
  • Visual C++
  • Maven
  • Visual Age (IBM)
  • Java-Krypto-Bibliothek
  • Bouncy-Castle 
  • Anjuta
  • (C++/wxWidget)
  • Kdevelop
  • Make


Produkte

  • MS Office (Schulungen)
  • OpenOffice/StarOffice


Sonstiges

  • Kommunikations-Protokolle:
  • SSL 
  • HTTPS   


Schulungsvorbereitung und -durchführung im Bereich Kryptografie, Office und PKI

Kurzprofil:

23 Jahre

Erfahrung in der allgemeinen Kryptografie-Programmierung (symmetrisch,
asymmetrisch, kryptografische Absicherung von Datenübertragungen, Public Key Infrastructures (PKI) ) in C/C++ und Java, Design, Programmierung, Aufbau und Betrieb von Certificate Authorities (CAs), Projektleitertätigkeit für das Produkt VelamentumServerSuite


22 Jahre

Erfahrung im Bereich C/C++ Programmierung unter Windows, Linux und AIX
inklusive Ansteuerung der GUI Ausprägungen der OS


10 Jahre

Erfahrung im Bereich Java Programmierung:

  • Speichern von Daten über die JPA Schnittstelle
  • Spring Boot2 Framework
  • Java FX GUI Anwendungen
  • Java 9 und Java 11 Anwendungsdesign
  • Design komplexer Server Anwendungen mit RESTful API
  • Java EE Beans
  • intensiver Einsatz der Bouncycastle-Bibliothek


10 Jahre

Erfahrung Chipkarten-Ansteuerung, PKCS#11 und PKCS#15 API Ansteuerung aus Java und C++, ISO 7816 Token


10 Jahre

Erfahrung HTTP und CSS, Aufsetzen von Projekten mit dem Bootstrap-Framework


10 Jahre

Erfahrung Webservice Technologien SOAP, RESTful Service (über Java Spring 2)


6 Jahre

Erfahrung Arbeit in Scrum-Teams als Entwickler (Gematik, T-Systems) und
als PO (T-Systems)


5 Jahre

Erfahrung Programmierung von WebGui-Anwendungen mit JavaScript,
jQuery mit AJAX und clientseitiger Ansteuerung von RESTful Services


5 Jahre

Erfahrung SQL mit der Software MS SQL, MySQL, PostgreSQL aus Java
und Python (Django)


5 Jahre

Erfahrung Anwendungsprogrammierung mit Bibliotheken von OpenSwan,
IPSEC, OpenVPN, CyberGhost, DNSSEC, ISO-7816 Token


5 Jahre

Erfahrung Einsatz und Plugin Programmierung Schwachstellen-Scanner OpenVAS, seit 05/2015 registrierter OpenSource-Entwicker bei Greenbone

5 Jahre

Erfahrung Python Programmierung (Django und Python-Ansteuerung von Webseiten und Datenbanken)


5 Jahre

Erfahrung Einsatz der DevOp-Software Ansible im Software-Entwicklungs-Prozess


5 Jahre

Erfahrung Maven, SVN, Git, GitLab, Jira, Confluence (auch als Adminstrator)
IDEs: Eclipse, IntelliJ Idea, IntelliJ PyCharm, Visual C++


2 Jahre

Erfahrung SICCT-Protokoll unter Java und C++ ansteuern


2 Jahre

Erfahrung Docker-Images erzeugen, testen und deployen in Registries, Konvertieren von Server-Software in 12-Faktor-Apps innerhalb von Docker-Containern.

Betriebssysteme

Erstellung individueller Ubuntu- Distributionen
Mac OS
SUN OS, Solaris
allgemeine Programmierkenntnisse C++ unter SUN OS
Unix
allgemeine Programmierkenntnisse C++ unter SUN OS, Ansteruerung der Linux-Kryptografie-Komponenten unter Java und C++ (z.B. LUKS)
Windows
Programmierkenntnisse unter Windows (C++, Java mit SWT und Ansteuerung nativer DLLs) seit 1998
Unix und Linux: Programmierung von Kommunikationsschichten mit transparenter Kryptografie.

Programmiersprachen

C
Erfahrung seit 1998
C++
Erfahrung seit 1998
ISA Regelsprache
Einsatz im Projekt in der BfA, Programmierung von neuen ISA Regeln in C++
Java
Programmiererfahrung seit 2004, Intensive Kenntnisse der Java-Security-Feature
JavaScript
Programmiererfahrung seit 2004, Intensive Kenntnisse der Java-Security-Feature
Shell
Grundkenntnisse vorhanden

Datenbanken

Access
Grundkenntnisse vorhanden
MySQL
kleinere Projekte bereits durchgeführt
ODBC
kleinere Projekte bereits durchgeführt
Postgres
kleinere Projekte bereits durchgeführt

Datenkommunikation

Internet, Intranet
HTTPS Programmierung unter Java und C++
RPC
Programmierung eines RPC Stacks

Hardware

Macintosh
Programmierkenntnisse für PPC vorhanden
PC
Allgemeine Java und C++ Entwicklung, PKI Design und Entwicklung
Raspberry
Programmierkenntnisse und Administrationskenntnisse für Raspberry Hardware vorhanden

Berechnung / Simulation / Versuch / Validierung

Software-in-the-Loop Simulation (SIL)

Branchen

Branchen

Freiberufliche Projekte wurden in der Bahntechnik, im Behördensystem der BfA,
im EInzelhandel bei Lidl & Schwarz und im Druckgewerbe bei der
Bundesdruckerei durchgeführt. Genauere Beschreibungen sind in den einzelnen
Projekten aufgeführt.

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das GULP Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.