# Basic Access Control

Basic Access Control bezeichnet das Authentifizierungsverfahren zwischen einem Inspektionssystem und einem maschinenlesbaren Reisedokument (englisch: „machine readable travel document“; kurz: MRTD), um einen verschlüsselten Datenaustausch zu ermöglichen. Das verwendete Authentifizierungsverfahren ist eine Challenge-Response-Authentifizierung.
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 können.

## Das Verfahren

* Schlüsselerzeugung
* Der Dokumentinhaber legt sein Reisedokument zur Inspektion vor.
* Ein optisches Lesegerät liest die auf das Dokument gedruckte maschinenlesbare Zone (MRZ) aus. Alternativ können die Daten auch von Hand eingegeben werden.
* 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üfsummenberechnung 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 Authentifizierungkommando an den Dokumentenchip gesendet.
* Der Chip verifiziert und entschlüsselt die Daten und vergleicht die enthaltene Zufallszahl mit der zuvor von ihm 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 niederwertigen 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üfsummenberechnung herangezogenen Daten vorangestellt. Die Verschlüsselung und Prüfsummenberechnung werden mit den erzeugten Schlüsseln KS_ENC und KS_MAC durchgeführt. Die Daten werden mit 112-Bit-Triple-DES verschlüsselt.

## Kritik

Die Sicherheit des Verfahrens hängt maßgeblich von der effektiven Schlüssellänge ab. Während diese bei einer reinen zahlbasierten Seriennummer theoretisch 56 Bit betragen kann, wird beispielsweise in den Niederlanden eine Nummernvergabe praktiziert, die die Schlüsselstärke auf höchstens 35 Bit reduziert und eine tatsächlich noch geringere Stärke nahelegt. Von der niederländischen Sicherheitsfirma Riscure wurde ein Angriff gezeigt, bei dem eine Aufzeichnung einer abgehörten legitimen BAC-Kommunikation aufgrund der verwendeten Verschlüsselungsstärke mit der Rechenleistung eines handelsüblichen PCs innerhalb weniger Stunden entschlüsselt werden konnte.
Teilweise wird argumentiert, dass Basic Access Control deshalb an sich noch kein schlechtes Verfahren sei. Allgemein sollte die Stärke eines Verschlüsselungsverfahrens der Vertraulichkeit der zu schützenden Daten angemessen sein. Verfechter des Systems wenden ein, dass die Daten, die der Chip eines BAC-Reisepasses enthält (Name, Geburtsdatum, Passnummer, Staatsangehörigkeit, Geschlecht, Gültigkeitsdauer des Passes, Lichtbild), in den oben genannten „wenigen Stunden“ sehr wahrscheinlich auch auf anderem Wege ermittelt werden könnten. Insofern biete das unsicher angewandte BAC-Verfahren Angreifern nur eine weitere Angriffsmöglichkeit mit ähnlichem Aufwand wie vergleichbare Angriffe.

## Weitere Informationen

* Internetseite der ICAO zu MRTDs
* Heise.de Artikel zum ePass-Hack
* MRTD Reports (Memento vom 15. Mai 2009 im Internet Archive) der ICAO (in Englisch)