Basic Access Control
Basic Access Control bezeichnet das Authentifizierungsverfahren zwischen einem Inspektionssystem und einem maschinenlesbaren Reisedokument um einen verschlüsselten Datenaustausch zu ermöglichen.
Das Verfahren setzt voraus, dass der Dokumenteninhaber sein Reisedokument (z.B. Reisepass) zur Inspektion vorlegt. Somit ist sichergestellt, dass sensible Daten nicht ohne Einwilligung des Reisenden ausgelesen werden koennen.
Das Verfahren
- Schlüsselerzeugung
- Der Reisende legt sein Reisedokument zur Inspektion vor.
- Ein optisches Lesegerät liest die, auf dem Dokument gedruckte, maschinenlesbare Zone (MRZ) aus.
- Aus den Daten werden die Dokumentennummer, das Geburtsdatum und das Ablaufdatum inklusive der Prüfziffern extrahiert.
- Aus den extrahierten Daten werden zwei Schlüssel, K_ENC und K_MAC erzeugt, welche zur Verschlüsselung der folgenden Kommandos und zur Prüsummenberechnung verwendet werden.
- Authentifizierung und Etablierung der Sitzungsschlüssel
- Von dem Dokumentenchip wird eine Zufallszahl RND_ICC erzeugt und an das Inspektionssystem gesendet.
- Das Inspektionssystem erzeugt zwei Zufallszahlen, RND_IFD und K_IFD.
- Die Verkettung der Zufallszahlen wird mit dem Schlüssel K_ENC verschlüsselt und das Ergebnis mit einer, auf dem Schlüssel K_MAC basierenden, MAC-Prüfsumme versehen.
- Die Daten werden zusammen mit einem Authetifizierungkommando an den Dokumentenchip gesendet.
- Der Chip verifiziert und entschlüsselt die Daten und vergleicht die enthaltene Zufallszahl mit der zuvor gesendeten.
- Der Chip erzeugt eine weitere Zufallszahl K_ICC und bildet die XOR-Verknüpfung aus K_ICC und K_IFD als Grundlage für die Erzeugung der Sitzungsschlüssel KS_ENC und KS_MAC.
- Die Verkettung der Zufallszahlen RND_ICC, RND_IFD und K_ICC wird mit dem Schlüssel K_ENC verschlüsselt und das Ergebnis mit einer, auf dem Schlüssel K_MAC basierenden, MAC-Prüfsumme versehen und zurück an das Inspektionssystem geschickt. Für die spätere Kommunikation wird aus den jeweils vier niderwertigen Bytes der Zufallszahlen RND_ICC und RND_IFD ein acht Byte langer Zähler generiert.
- Beginn der gesicherten Kommunikation
- Das Inspektionssystem verifiziert die Gültigkeit der Antwort des Chips und entschlüsselt das Ergebnis.
- Aus dem Ergebnis werden nun ebenfalls die Sitzungsschlüssel und der acht Byte lange Zähler errechnet.
Sichere Kommunikation
Die nun folgende Kommunikation zwischen dem Inspektionssystem und dem Reisedokument wird als Secure Messaging bezeichnet. Eine Nachricht wird jeweils mit einem Sitzungsschlüssel verschlüsselt und das Ergebnis mit einer Prüfsumme versehen. Vor jeder Prüfsummenberechnung wird der Sitzungszähler erhöht und den zur Prüfsummenberechnug herangezogenen Daten vorangestellt. Die Verschlüsselung und Prüfsummenberechnung werden mit den erzeugten Schlüsseln KS_ENC und KS_MAC durchgeführt.
Weitere Informationen
http://www.icao.int/mrtd - Webseite der ICAO
PKI for Machine Readable Travel Documents offering ICC read-only access v1.1