On popular demand, I published my (German) Master Thesis titled
'eID Online Authentisierung mit dem neuen elektronischen Personalausweis nPA'. It deals with the electronic identification functionality which will be implemented in the new German ID card that will be issued from November 1st, 2010 onwards. As the thesis was conducted by the
German Ministry of the Interior, parts of it are still classified and thus not included in the public version of the thesis. However, it should give fairly detailed insights into the overall technology, major algorithms used as well as security contexts. Below you will find a summary of the thesis (unfortunately only in German). Please note that the thesis was written in 2008, thus some technical guidelines, especially concerning
EAC, have changed since then (some changes even due to my thesis' results).
Zusammenfassung/Summary
Zunächst soll diese Master Thesis die Notwendigkeit und die Vergleichbarkeit des Sicherheitsniveaus zwischen dem physikalischen und dem
elektronischen Ausweisdokument aufzeigen. Darüber hinaus soll eine Implementierung der Authentisierungsfunktion bzw. Online-Authentisierung des nPA für die Anwendung über das Internet – die erste ihrer Art – ihre Machbarkeit demonstrieren. Im Rahmen der Arbeit werden also sowohl die notwendigen Komponenten aller teilnehmenden Parteien (eID Authentication Server,
Bürgerclient etc.) vorgestellt, die für eine Realisierung benötigt werden als auch tatsächliche Implementierungen dieser Komponenten beschrieben und gefertigt. Der Ablauf der Online-Authentisierung soll zusätzlich aus der Perspektive des Anwenders dokumentiert werden. Hierbei sind wichtige Schritte detailliert zu beschreiben.
Notwendigkeit eines elektronischen Personalausweises
Grundsätzlich wird in diesem Kontext die Frage nach der Notwendigkeit eines neuen, elektronischen Personalausweises aufgeworfen. Es läge nahe, die Notwendigkeit mit mangelnder Fälschungssicherheit des bisherigen Personalausweises zu begründen. Betrachtet man dies jedoch im Detail, so ist keine mangelnde Fälschungssicherheit feststellbar. Im Gegenteil – die deutschen Ausweisdokumente, also sowohl der Reisepass als auch der Personalausweis gehören weltweit zu den am schwersten fälschbaren Dokumenten.
Betrachtet man jedoch die Möglichkeiten, die derzeit für eine Identifikation und eine Authentisierung anhand von Ausweisdokumenten über das Internet zur Verfügung stehen, so wird klar, dass hier keine sichere Lösung existiert. Der elektronische Personalausweis soll diese Lücke mit Hilfe der sog. Authentisierungsfunktion nun schließen und eine sichere Authentisierung über das Internet ermöglichen.
Die Online-Authentisierung des nPA
Die Authentisierungsfunktion ermöglicht eine sichere Übertragung von Daten, die auf dem Ausweis gespeichert sind an einen Dritten. Während die Identifikation mit Hilfe von biometrischen Merkmalen (und somit auch der Zugriff auf diese) lediglich für den hoheitlichen Anwendungsbereich vorgesehen ist, soll die Authentisierungsfunktion sowohl für eBusiness als auch eGovernment verfügbar sein. Spezielle Teilfunktionen der Authentisierungsfunktion sind die Altersverifikation sowie ein sektorspezifischer Identifikator. Die Altersverifikation kann als Jugendschutzfunktion eingesetzt werden und der sektorspezifische Identifikator bietet ein eindeutiges Benutzerkennzeichen.
Mit Hilfe der Authentisierungsfunktion können also auf sichere Art und Weise, Attribute an einen Dienstanbieter übermittelt werden. Die Bezeichnung Attribute umfasst dabei nicht notwendigerweise ausschließlich explizite personenbezogene Angaben wie Vor- und Nachname, sondern auch relative Aussagen, wie z.B. "die Person ist älter als 18 Jahre". Im Rahmen der Registierung in einem Webshop ist vorstellbar, dass anstelle der manuellen Eingabe der personenbezogenen Daten, z.B. der volle Name und die Adresse, diese mit der Authentisierungsfunktion aus dem nPA ausgelesen werden. Der Dienstanbieter hat dann die Gewissheit, dass die Daten authentisch und integer sind.
Implementierung der Online-Authentisierung
Die Authentisierungsfunktion baut auf dem erweiterten Zugriffsschutzmechanismus Extended Access Control (EAC) auf. Das vom Bundesamt für Sicherheit in der Informationstechnik (BSI) spezifizierte Verfahren EAC sichert die Authentizität und Integrität der Daten sowohl in gespeicherter Form als auch während der Übertragung. Es besteht aus den 3 Protokollen
Password Authenticated Connection Establishment (PACE),
Terminal Authentication und
Chip Authentication. Kernbestandteile von Extended Access Control sind symmetrische und asymmetrische (Elliptische-Kurven-)Kryptographie, eine globale Public Key Infrastruktur sowie die Verwendung von abstreitbaren Challenge-Response-Verfahren.
PACE ist ein Verfahren zur Freischaltung des Chips durch ein Lesegerät. Mit Hilfe einer sechsstelligen PIN, die als Passwort fungiert, wird einem Lesegerät der Zugriff auf den Funkkanal zu einem Chip, z.B. dem nPA, gestattet. Aus kryptographischer Perspektive handelt es sich dabei um eine verschlüsselte Diffie-Hellman-Schlüsseleinigung. Im Rahmen der sog. Terminal Authentication prüft der Chip mit Hilfe eines Challenge-Response-Verfahrens die Zugriffsberechtigungen des Lesegeräts (Terminal). Die Chip Authentication ist ein Verfahren, das genutzt wird, um die Authentizität des Chips zu prüfen. Hierbei werden implizit die Daten, die ein Chip liefert authentisiert. Aus kryptographischer Sicht handelt es sich um eine Diffie-Hellman-Schlüsseleinigung mit statischem Chip-Schlüssel. Nach Abschluss der Chip Authentication ist ein verschlüsselter Ende-zu-Ende-Kanal etabliert.
Berechtigungszertifikat oder Terminal Certificate
Das Terminal Certificate ist ein wichtiger Bestandteil der Authentisierung zwischen nPA und EAS. Es enthält neben dem öffentlichen Schlüssel des EAS die Berechtigung des EAS. Die Berechtigung gibt an, welche Felder des nPA durch den EAS ausgelesen werden dürfen. Das Terminal Certificate muss durch einen gültigen Document Verifier signiert worden sein. Auf diese Weise kann ein nPA sicherstellen, dass nur die Inhalte der Datenfelder an den EAS gesendet werden müssen, für die der EAS auch tatsächlich authentifiziert ist. Im Rahmen der Terminal Authentication wird dem Benutzer ein Dialog angezeigt, der die Kenndaten des Terminal Certificate visualisiert. Dieser Dialog zeigt den Zertifikatsinhaber, die Gültigkeit des Zertifikats, die Zugriffsberechtigungen auf die auszulesenden Attribute, einen Verweis auf die zuständige Datenschutzaufsichtsbehörde sowie den Verwendungszweck.
Schwachstellen und Angriffe
Angriffe auf die Online-Authentisierung des nPA, bei denen Kernkomponenten durch bösartige Instanzen ausgetauscht werden scheitern in der Regel. Da eine beidseitige Authentikation in den Endpunkten stattfindet, kann eine bösartige Komponenten entlarvt werden und das Auslesen der Daten aus dem nPA scheitert. Auch ein Angriff auf die Transportverschlüsselung und -integrität wird üblicherweise erfolglos verlaufen, da hier stabile Kryptographie – wie z.B. AES und Elliptische-Kurven-Kryptographie (ECDSA und ECDH) – zum Einsatz kommt.
Verbleibende Ansatzpunkte für Angriffe sind
- die Verifikation des Terminal Certificate durch den nPA
- Man in the Middle Angriffe sowie
- das An-/Abwählen von Attributen im Dialog des Berechtigungszertifikats.
Die Verifikation des Terminal Certificate erfolgt im nPA. Der nPA hat eine logische Uhr, die anhand von erfolgreichen Verifikationen in der Vergangenheit synchronisiert wird. Je seltener ein nPA benutzt wird (konkreter: erfolgreich authentisiert), umso größer die Abweichung der logischen Uhr des nPA von der Realzeit. Sobald das Schlüsselmaterial eines vormals legitimen EAS sowie ein in Bezug auf die Realzeit abgelaufenes Terminal Certificate für einen Angreifer verfügbar wird, könnte ein nPA mit hoher Abweichung seiner logischen Uhr den Zugriff eventuell fälschlicherweise zulassen. Auch die Abfrage von Sperrlisten kann nicht verlässlich implementiert werden, da Socket-Operationen Teil des Betriebssystems des Clients und nicht des nPA sind. In der Konsequenz könnte der Gültigkeitszeitraum von Terminal Certificates sehr kurz ausfallen, z.B. lediglich 24 Stunden. Sobald Missbrauch festgestellt wird, kann auf diese Weise durch eine Verhinderung der Neuausstellung eines Zertifikats reagiert werden. Trotzdem gilt: Je häufiger ein nPA zur Authentisierung genutzt wird (und je geringer damit die Abweichung von Realzeit und logischer Uhr sind), umso geringer ist das Erfolgsrisiko für einen solchen Angriff. Beschreibungen zu den restlichen Ansatzpunkten sind ebenfalls Teil der Master Thesis.
See the
full thesis for details.