martin boßlet

software engineer / security consultant

persönliches

  1. 1980
  2. Dipl.-Math./Inf.
  3. Saarbrücken
  4. Deutsch

code

  1. emboss
  2. emboss
  3. krypt/krypt
  4. krypt/FuzzBert

bildung

  1. Universität des Saarlandes (2005-2006) Lehramtsstudium Deutsch/Mathematik/Informatik
  2. TU Kaiserslautern (2000-2005) Diplom-Mathematiker/Informatik, Note 1.6
  3. Wehrdienst (1999-2000)
  4. Helmholtz-Gymnasium Zweibrücken (1990-1999) Abitur, Note 1.0

berufserfahrung

  1. Freelancer (seit Okt 2012)

    Freelancer

    Ich bin als freiberuflicher Entwickler, Consultant und Trainer tätig. Weitere Infos finden Sie hier.

  2. krypt (seit Nov 2011)

    Author / Maintainer

    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.

  3. Ruby (seit Nov 2010)

    Core Team / Maintainer OpenSSL

    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.

  4. Dokumenta S.A. (Feb 2010 - Sep 2012)

    Senior Software Engineer / Security Expert

    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.

  5. Europäische Kommission (Okt 2009 - Sep 2012)

    Externer Berater für Digitale Signatur

    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.

  6. DIaLOGIKa GmbH (Aug 2006 - Sep 2012)

    Software Engineer / Security Expert

    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.

  7. Ruby Association (Nov 2011 - Mär 2012)

    Freelancer

    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.

  8. DIaLOGIKa GmbH (Jan 2006 - Aug 2006)

    Freelancer

    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.

  9. Fraunhofer ITWM Kaiserslautern (Jan 2004 - Feb 2005)

    Freelancer

    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.

sprachen

  1. Deutsch (Muttersprache)
  2. Englisch (fast akzentfreies US-Englisch, bilinguale Ausbildung in der Schule)
  3. Französisch (Grundkenntnisse mündlich & schriftlich)

programmiersprachen

  1. Java (Experte, 16 Jahre Erfahrung)
  2. Ruby (Experte, 5 Jahre Erfahrung)
  3. Javascript (Experte, 10 Jahre Erfahrung)
  4. C (Fortgeschritten, 4 Jahre Erfahrung)
  5. C++ (Mittlere Kenntnisse, 3 Jahre Erfahrung)
  6. C# (Mittlere Kenntnisse, 3 Jahre Erfahrung)
  7. Python (Mittlere Kenntnisse, 1 Jahr Erfahrung)
  8. Groovy (Fortgeschrittene Kenntnisse, 1 Jahr Erfahrung)
  1. PHP (Fortgeschritten, 4 Jahre Erfahrung)
  2. CoffeeScript (Mittlere Kenntnisse, 1 Jahr Erfahrung)
  3. Scala (Grundkenntnisse, 1 Jahr Erfahrung)
  4. Clojure (Grundkenntnisse, 1 Jahr Erfahrung)
  5. ClojureScript (Grundkenntnisse, 1 Jahr Erfahrung)
  6. Racket (Grundkenntnisse, 1 Jahr Erfahrung)
  7. ML (Grundkenntnisse, 1 Jahr Erfahrung)

kenntnisse & fähigkeiten (kernkompetenzen hervorgehoben)

security

  1. digitale / elektronische signatur
  2. kryptographie
  3. asn.1 / der
  4. cades / xades / pades
  5. openssl
  1. pki
  2. tls / ssl
  3. smart cards / pkcs#11
  4. web security
  5. pkix-zertifikatsvalidierung
  1. netzwerksicherheit
  2. authentifizierung
  3. passwortsicherheit
  4. oauth

web development

  1. ruby on rails
  2. html 5
  3. css 3
  4. backbone.js
  5. marionette.js
  1. rest
  2. dojo
  3. haml
  4. sass
  5. compass
  1. twitter bootstrap
  2. play framework
  3. sinatra
  4. bower
  5. zend framework
  1. heroku
  2. unicorn
  3. puma
  4. nginx

java ee

  1. java security api
  2. bouncy castle
  3. jruby
  4. spring (mvc)
  5. ejb
  6. xml
  1. swing
  2. grails 2
  3. hibernate
  4. jpa 2
  5. concurrency / multithreading
  6. glassfish
  1. jboss
  2. tomcat
  3. jetty
  4. weblogic

software engineering

  1. test-driven development
  2. design patterns
  3. algorithmen & datenstrukturen
  4. random testing / fuzzing
  5. rspec
  1. cucumber
  2. junit
  3. phantom.js
  4. jasmine.js
  5. code coverage
  1. continuous integration
  2. vagrant
  3. chef
  4. valgrind

datenbanken

  1. sql
  2. mysql
  3. postgres
  1. oracle
  2. sql server
  3. couchdb
  1. mongodb
  2. memcached
  3. redis

mobile development

  1. responsive web design
  2. android sdk
  3. android ndk

projektmanagement

  1. kanban
  2. scrum
  3. xp

betriebssysteme

  1. linux
  2. windows
  3. active directory
  4. ldap

außerberufliche aktivitäten

  1. OASIS DSS-X TC (seit Feb 2014)

    Ich bin Mitglied des OASIS DSS-X TC.

  2. JRuby Google Summer of Code 2013 (Jun 2013 - Aug 2013)

    Ich war Mentor für JRuby GSoC 2013 mit meinem Projekt krypt.

  3. HashDoS (Sep 2012 - Dez 2012)

    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.

  4. JRuby Google Summer of Code 2012 (Jun 2012 - Aug 2012)

    Ich war Mentor für JRuby GSoC 2012 mit meinem Projekt krypt.

  5. SipHash Proof of Concept (Jun 2012)

    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.

öffentliche vorträge

  1. Applied Cryptography.rb

    NYC.rb 2014, New York

    Zweitägiger Workshop über angewandte Kryptographie mit Beispielen in Ruby und Ruby OpenSSL.

  2. why browser cryptography matters.

    RealtimeConf 2013, Portland

    Wie client-seitige Kryptographie im Browser die Zukunft verändern könnte (und hoffentlich wird).

  3. krypt. semper pi.

    RubyShift 2013, Kiew

    Präsentation von krypt und seines zugrundeliegenden Provider-Prinzips.

  4. javascript crypto. ugly duckling with good reason?

    JSConfEU 2013, Berlin

    Präsentation zur aktuellen Lage von Kryptographie im Umfeld von JavaScript.

  5. krypt & jruby. cryptography’s new best friends?

    JRubyConf 2013, Berlin

    Präsentation zur Verwendung von krypt mit JRuby.

  6. javascript crypto. ugly duckling with good reason?

    JSConfBR 2013, Fortaleza

    Präsentation zur aktuellen Lage von Kryptographie im Umfeld von JavaScript.

  7. krypt. semper pi.

    GoRuCo 2013, New York

    Präsentation von krypt und seines zugrundeliegenden Provider-Prinzips.

  8. krypt. semper pi.

    Ruby Kaigi 2013, Tokio

    Präsentation von krypt und seines zugrundeliegenden Provider-Prinzips.

  9. Hash-flooding DoS reloaded: attacks and defenses

    29C3, Hamburg

    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”)).

  10. Hash-flooding DoS reloaded: attacks and defenses

    AppSec-Forum 2012, Yverdon-les-bains

    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”)).

  11. krypt - The next level of Ruby cryptography

    RubyConf 2012, Denver

    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.

  12. krypt - The next level of Ruby cryptography

    LoneStar Ruby Conference 2012, Austin

    Präsentation von krypt und seiner Subprojekte binyo (effizientes low-level IO in Ruby) und FuzzBert (Random Testing/Fuzzing in Ruby).

  13. krypt

    Railsberry 2012, Krakow

    Ein Lightning Talk bei Railsberry 2012 über krypt, das plattform- und library-unabhängige Kryptographie-Framework für Ruby, JRuby und Rubinius.

  14. Ruby OpenSSL: Present, Future and why it matters

    RubyConf 2011, New Orleans

    Ein Vortrag bei der RubyConf 2011 in New Orleans über meine Arbeit bis dato an der OpenSSL-Erweiterung und ihre zukünftige Entwicklung.

weiterbildung & zertifikate

online education

  1. Functional Programming Principles in Scala (inklusive praktischer Aufgaben) Coursera, Nov 2013
  2. CS169.2x Software as a Service (inklusive praktischer Aufgaben) EdX, Apr 2013
  3. Introduction to Databases (inklusive praktischer Aufgaben) Stanford Online Class2Go, Mär 2013
  4. Algorithms: Design and Analysis, Part II (inklusive praktischer Aufgaben) Coursera, Feb 2013
  5. Algorithms, Part I (inklusive praktischer Aufgaben) Coursera, Sep 2012
  6. Software Testing (CS258) (inklusive praktischer Aufgaben) Udacity, Sep 2012
  7. Compilers (inklusive praktischer Aufgaben) Coursera, Jun 2012
  8. Introduction to Logic Coursera, Jun 2012
  9. Applied Cryptography (CS387) (inklusive praktischer Aufgaben) Udacity, Jun 2012
  10. Automata (inklusive praktischer Aufgaben) Coursera, Jun 2012
  11. Cryptography (inklusive praktischer Aufgaben) Coursera, Jun 2012
  12. Algorithms: Design and Analysis, Part I (inklusive praktischer Aufgaben) Coursera, Apr 2012
  13. Software as a Service (inklusive praktischer Aufgaben) Coursera, Apr 2012

konferenzen

  1. RealtimeConf 2013, Portland
  2. RubyShift 2013, Kiew
  3. JSConfEU 2013, Berlin
  4. JRubyConf 2013, Berlin
  5. JSConfBR 2013, Fortaleza
  6. GoRuCo 2013, New York
  7. Ruby Kaigi 2013, Tokio
  8. 29C3 2012, Hamburg
  9. AppSec-Forum 2012, Yverdon-les-bains
  10. RubyConf 2012, Denver
  11. LoneStar Ruby Conference 2012, Austin
  12. Railsberry 2012, Krakow
  13. RubyConf 2011, New Orleans
  14. Webinale 2011, Berlin
  15. TechEd 2010, Berlin
  16. Web Security Days 2009, Frankfurt

workshops

  1. Agile Project Management
  2. Digital Image Processing
  3. Oracle Database Security
  4. Object-Oriented Programming
  5. SOA
  6. Web Security
  7. Java EE
  8. Präsentation
  9. .NET 3.5

projekte in meiner berufslaufbahn

  1. Auf Anfrage (2006 - 2013)

    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!