Ich bin als freiberuflicher Entwickler, Consultant und Trainer tätig. Weitere Infos finden Sie hier.
krypt ist mein Beitrag, um die nächste Generation von Kryptographie in Ruby einzuläuten durch ein plattform- und library-unabhängiges Framework ähnlich der Java JCE. krypt ist designt als universelles Kryptographie-Framework, das durch seinen modularen Aufbau erlaubt, zahlreiche Implementierungen für elementare kryptographische Bausteine einzubinden in der Absicht, maximale Effizienz, Interoperabilität und Sicherheit auf allen gängigen Ruby-Plattformen zu gewährleisten.
Ich bin Mitglied im Kernteam der Entwickler der Sprache Ruby (“ruby-core”) und dort auch der Maintainer der OpenSSL Extension, die ein Teil der Standard-Library ist.
Projektleiter eines fünfköpfigen Teams bei Dokumenta für Electronic Signature Service Infrastructure (ESSI).
Wir entwickelten u.a. die Authentifizierungskomponente der Plattform, und führten Analysen und Fallstudien über das Design der späteren Produktionsplattform durch. Weiterhin entwickelten wir das komplette Redesign der Plattform als SOA-Architektur, die REST-Schnittstellen exponiert, die sowohl programmatisch als auch via Browser konsumiert werden.
Entwicklung der Anwendung zum Management der europäischen “List of Trusted Lists”.
Um die Kommunikation zwischen Kunde und Team zu optimieren, nutzten wir Kanban, was die Effizienz deutlich steigerte. Jegliche Kommunikation, ob mündlich oder schriftlich (inklusive technischer Spezifikationen und Analysen), wurde in Englisch gehalten.
Hauptverantwortlicher Security Consultant für Electronic Signature Service Infrastructure (ESSI), den Service der Europäischen Kommission zur Erzeugung, Erweiterung und Validierung elektronischer Dokumentsignaturen gemäß der Standards CAdES, XAdES und PAdES.
Aufgaben umfassten unter anderem die Analyse und Selektion der Basiskomponenten, das Design der Architektur der Produktionsplattform, der Entwurf einer Authentifizierungskomponente sowie ein komplettes Redesign der Plattform als SOA-Architektur, die den Service als Menge von REST-Schnittstellen darstellt.
Weitere Aufgaben waren die Beratung von kommissionsinternen Clients, um die nahtlose Integration von ESSI in deren Produkte zu ermöglichen.
Leitender Entwickler und Consultant für Security und Kryptographie für diverse (Web-) Anwendungen im Bereich Dokumentsignatur und -verschlüsselung, Zertifikatsvalidierung und PKI allgemein sowie im Low-Level-Bereich wie z.B. PKCS#11 für eTokens, Smart Cards und HSMs.
Miterfinder des Standards für digital signierte PNG-Bilder (dSIG).
Experte für Aktuar- und Finanzmathematik sowie Kryptographie für PenCom, eine web-basierte Anwendung zur Verwaltung/Berechnung aktuarieller Prozesse und staatlicher Rentenversicherungen. Ich entwickelte auch diverse Erweiterungen für das Java EE-basierte Back-End und das Web-Front-End.
Ich war glücklicher Gewinner eines der ersten zwei Ruby Association Grants für mein Projekt krypt, welches darauf abzielt, Library- und plattformunabhängige Kryptographie in Ruby bereitzustellen.
Während des Förderungszeitraums entwickelte ich eine DSL zum Parsen und Erzeugen von ASN.1-Datenstrukturen, die über eine moderne Pull-Parser-Architektur realisiert wurde, und so Streaming-Support mit überlegener Performance bietet. krypt läuft auf CRuby, JRuby und Rubinius, nativer Java- sowie C-Code wurde parallel entwickelt.
Eine umfassende RSpec-Test-Suite, Maßnahmen zum Messen der Code Coverage sowie die Einbindung von Valgrind komplettierten meine Arbeit.
Entwicklung des Import-/Export-Workflows für PenCom, eine web-basierte Anwendung zur Verwaltung/Berechnung aktuarieller Prozesse und staatlicher Rentenversicherungen.
Das Aufgabenfeld umfasste die Erzeugung und Validierung XML-basierter Datenstrukturen, Thread-basiertes Scheduling sowie die Verwaltung der Daten und Ergebnisse in einer Oracle-Datenbank unter Zuhilfenahme eines eigens entwickelten ORM-Frameworks basierend auf EJB. Das finale Produkt wurde als Java EE Application Client in die bestehende Anwendung integriert. Schnittstellen, die dabei unter anderem angesprochen werden mussten, umfassten zahlreiche externe Subsysteme wie etwa der Mailserver des Kunden, externe Datenbanken oder Webservices.
Ich wurde freier Mitarbeiter beim ITWM während meiner Zeit an der Universität. Mein Schwerpunkt lag auf Finanzmathematik, daher entwickelte ich eine GUI-Applikation zur Analyse stochastischer Prozesse, die der Simulation der Preisfindung von Aktien- und Optionspreisen dienen.
Ich entwickelte und wartete die Webseite der finanzmathematischen Abteilung, fügte dynamische (Javascript) HTML-Inhalte hinzu, und half auch im Design der CSS-Stylesheets aus, um ein konsistentes Look & Feel zu gewährleisten.
Ich bin Mitglied des OASIS DSS-X TC.
Ich war Mentor für JRuby GSoC 2013 mit meinem Projekt krypt.
Zusammen mit Jean-Philippe Aumasson und Daniel J. Bernstein entwickelte ich Proof of Concepts für eine Attacke auf nicht-kryptographische Hash-Funktionen, die deren algorithmische Worst-Case-Komplexität erzwingt. Dies wurde als CVE-2012-5370, CVE-2012-5371, CVE-2012-5372 und CVE-2012-5373. veröffentlicht. Ich steuerte auch die C-Implementierung von SipHash bei, die genutzt wurde, um CRuby zu patchen.
Ich war Mentor für JRuby GSoC 2012 mit meinem Projekt krypt.
Ich entwickelte Proof Of Concepts in C, Java und Ruby für SipHash , einer Familie von Pseudo-Random Functions (PRF), die optimiert sind für kurze Eingabewerte.
Zweitägiger Workshop über angewandte Kryptographie mit Beispielen in Ruby und Ruby OpenSSL.
Wie client-seitige Kryptographie im Browser die Zukunft verändern könnte (und hoffentlich wird).
Präsentation von krypt und seines zugrundeliegenden Provider-Prinzips.
Präsentation zur aktuellen Lage von Kryptographie im Umfeld von JavaScript.
Präsentation zur Verwendung von krypt mit JRuby.
Präsentation zur aktuellen Lage von Kryptographie im Umfeld von JavaScript.
Präsentation von krypt und seines zugrundeliegenden Provider-Prinzips.
Präsentation von krypt und seines zugrundeliegenden Provider-Prinzips.
Co-Präsentation (mit Jean-Philippe Aumasson und Daniel J. Bernstein) einer “Hash-Flooding-Attacke”, die die algorithmische Komplexität der zugrundeliegenden Hashfunktion ausnutzt, sogar wenn der Seed der Hashfunktion randomisiert ist (die allgemein akzeptierte Gegenmaßnahme nach einer ähnlichen Attacke 2011 (“hashDoS”)).
Co-Präsentation (mit Jean-Philippe Aumasson und Daniel J. Bernstein) einer “Hash-Flooding-Attacke”, die die algorithmische Komplexität der zugrundeliegenden Hashfunktion ausnutzt, sogar wenn der Seed der Hashfunktion randomisiert ist (die allgemein akzeptierte Gegenmaßnahme nach einer ähnlichen Attacke 2011 (“hashDoS”)).
Präsentation von krypt und FuzzBert (Random Testing/Fuzzing in Ruby). Erste Details zum “HashDoS”-Exploit, der später bei AppSec-Forum ‘12 in der Schweiz präsentiert wurde.
Präsentation von krypt und seiner Subprojekte binyo (effizientes low-level IO in Ruby) und FuzzBert (Random Testing/Fuzzing in Ruby).
Ein Lightning Talk bei Railsberry 2012 über krypt, das plattform- und library-unabhängige Kryptographie-Framework für Ruby, JRuby und Rubinius.
Ein Vortrag bei der RubyConf 2011 in New Orleans über meine Arbeit bis dato an der OpenSSL-Erweiterung und ihre zukünftige Entwicklung.
Wenn Sie an den Details meiner Projekterfahrung interessiert sind, kann ich Ihnen auf Anfrage gerne eine Version meines Lebenslaufs inklusive einer kompletten Liste aller relevanten Projekte, an denen ich bisher gearbeitet habe, zukommen lassen!