Link öffnen
Eine Lesung beginnt mit einem einmaligen Link oder QR-Code, der die CodeB Wallet öffnet. Der Link gilt 10 Minuten und funktioniert einmal.
CodeB Wallet · NFC · ICAO Doc 9303
Die CodeB Wallet liest den Chip eines Reisepasses oder Personalausweises per NFC. Der CodeB-Server führt jede Chip-Prüfung selbst aus; das Telefon reicht nur die verschlüsselten Nachrichten des Chips durch. Das Ergebnis hängt also nicht vom Vertrauen in das Telefon ab: Eine veränderte App kann eine Lesung abbrechen, aber das Ergebnis nicht ändern.
NFC · ICAO Doc 9303 · PACE · Chip Authentication · Active Authentication · Passive Authentication · CSCA-Masterliste · Sperrlisten
Funktioniert mit der geschlossenen Testphase der CodeB Wallet. Nicht zertifiziert.
Der Server ist das Lesegerät. Das Telefon ist nur die NFC-Antenne.
Eine Lesung beginnt mit einem einmaligen Link oder QR-Code, der die CodeB Wallet öffnet. Der Link gilt 10 Minuten und funktioniert einmal.
Die sechsstellige CAN eines Ausweises oder Dokumentnummer, Geburtsdatum und Ablaufdatum eines Reisepasses. Sie öffnen nur den Chip.
Das Telefon gibt die Chip-Befehle des Servers und die Antworten des Chips weiter. Sobald der sichere Kanal steht, sind alle zwischen Chip und Server verschlüsselt.
Gesicherter Zugang, Echtheit des Chips, die Signatur über die Daten und der Sperrstatus, alles gegen die eigenen Vertrauenslisten des Servers.
Das Telefon erhält nur das Ergebnis und die Gründe, nie die personenbezogenen Daten.
Passive Authentication: Jede Datengruppe muss zum Hashwert passen, den der Document Signer des Ausstellerstaates signiert hat. Dieser muss zu einem vertrauenswürdigen Landeszertifikat (CSCA) desselben Staates führen und darf nicht gesperrt sein.
Chip Authentication (oder Active Authentication) beweist, dass der Chip seinen privaten Schlüssel besitzt. Eine Kopie der Daten auf einem anderen Chip fällt durch.
Während einer Server-Lesung sieht das Telefon die Daten nie im Klartext und kann die Antworten des Chips nicht fälschen: Sie sind mit Schlüsseln geschützt, die nur Chip und Server kennen.
Jede Lesung ist an einen Schlüssel in der sicheren Hardware des Telefons gebunden. Der Server prüft die Android-Hardware-Schlüsselbestätigung (echte App, gesperrtes und verifiziertes Gerät) und die Signatur jeder Anfrage.
Ein Chip, der Daten in seinem Sicherheitsobjekt aufführt, aber nicht herausgibt, wird abgelehnt – ebenso ein Reisepass, der mit dem älteren BAC gelesen wurde, obwohl er das neuere PACE anbietet.
Drei falsche Zugangscodes beenden eine Lesesitzung, Sitzungen funktionieren einmal, und jede Challenge ist neu.
Dasselbe Vertrauensmaterial, gegen das der Server prüft, wird unverändert für Wallets und vertrauende Dienste veröffentlicht, die selbst Passive Authentication ausführen. Ohne Anmeldung, ohne Weiterleitung, mit ETag-Caching.
https://phone.codeb.io/wallet/trust/csca-masterlist.ml — die deutsche CSCA-Masterliste, Byte für Byte (CMS SignedData), wöchentlich aktualisiert und erst ersetzt, nachdem Signatur, Unterzeichner und ausstellendes CSCA geprüft sind.https://phone.codeb.io/wallet/trust/csca-crls.zip — die CRLs der CSCAs dieser Liste, täglich aktualisiert; jede wird nur behalten, wenn ihre CSCA-Signatur stimmt, und nie durch eine ältere ersetzt.https://phone.codeb.io/wallet-trust.ashx?status — Daten, Hashwerte und die Staaten mit gespeicherter CRL, als JSON.Die CodeB Wallet liest den Chip eines Reisepasses oder Personalausweises per NFC. Der CodeB-Server führt die Prüfungen nach ICAO Doc 9303 selbst aus: gesicherter Zugang mit der CAN oder den MRZ-Daten, Chip Authentication oder Active Authentication gegen geklonte Chips und Passive Authentication der Daten gegen die Signaturzertifikate des ausstellenden Staates. Das Ergebnis lautet echt, nicht bestätigt oder nicht echt.
Das Telefon reicht die Nachrichten des Chips nur durch. Sobald der sichere Kanal zum Chip steht, sind diese Nachrichten zwischen Chip und Server verschlüsselt und authentisiert. Eine veränderte App kann eine Lesung abbrechen, aber das Ergebnis nicht ändern und keine Daten erfinden.
Reisepässe und Ausweise mit Chip nach ICAO Doc 9303 (eMRTD), zum Beispiel der deutsche Personalausweis mit seiner sechsstelligen CAN oder ein Reisepass mit den Daten aus der maschinenlesbaren Zone. Das Signaturzertifikat des ausstellenden Staates muss in der CSCA-Masterliste des Servers enthalten sein.
Bei Ausweisen die sechsstellige Zugangsnummer (CAN), die auf der Karte steht; bei Reisepässen Dokumentnummer, Geburtsdatum und Ablaufdatum aus der maschinenlesbaren Zone. Der Server nutzt sie nur zum Öffnen des Chips und speichert sie nie.
Echt: Die Daten sind von einem vertrauenswürdigen Ausstellerstaat signiert, unverändert, nicht gesperrt, und der Chip hat bewiesen, dass er das Original ist. Nicht bestätigt: Die Daten wurden gelesen, aber der Aussteller ließ sich nicht vollständig bestätigen, zum Beispiel weil keine aktuelle Sperrliste dieses Staates vorliegt. Nicht echt: Eine Signatur- oder Chip-Prüfung ist fehlgeschlagen, oder der Chip hält Daten zurück, die er selbst aufführt.
Die Prüfungen brauchen die Daten nur kurz. Der Nachweis jeder Lesung enthält Hashwerte, Algorithmen, Ergebnisse und Zeiten, aber keinen Namen, kein Geburtsdatum, keine CAN und keine MRZ; die Dokumentnummer nur als verschlüsselter Hashwert.
Ja. Der Server veröffentlicht die CSCA-Masterliste und die Sperrlisten der Staaten unverändert unter /wallet/trust/csca-masterlist.ml und /wallet/trust/csca-crls.zip, wöchentlich bzw. täglich aktualisiert, nachdem ihre Signaturen geprüft wurden.
Nein. Es ist darauf ausgelegt, ETSI TS 119 461 v2.1.1 (erweitertes Niveau der Identitätsprüfung) und dem EU Architecture and Reference Framework (ARF) 3.0 zu folgen, ist aber nicht zertifiziert, und es wird kein Vertrauensniveau beansprucht.
Die CodeB Wallet ist in einer geschlossenen Testphase. Wenn Sie testen möchten, schreiben Sie an info@aloaha.com.
Schreiben Sie uns zur Chip-Prüfung, zum Nachweis oder zu den öffentlichen Vertrauenslisten. Testerinnen und Tester für die CodeB Wallet sind ebenfalls willkommen.