Extended-Length-Problem

Die Authentisierung mit dem neuen Personalausweis nutzt das in der nachfolgenden Abbildung dargestellte „Extended Access Control“ Protokoll gemäß [BSI-TR3110]. Im Rahmen dieses Protokolles wird in Schritt (2) die so genannte „Terminal Authentication“ durchgeführt, wobei insbesondere das Berechtigungszertifikat des Diensteanbieters (eService) geprüft wird, indem ein entsprechendes Chipkartenkommando VERIFY CERTIFICATE gemäß [ISO7816] (Teil 8, Abschnitt 11.11) vom PICC-SAL über die IFD-API gemäß [ISO24727] und den NFC-Stack des Smartphones an den Ausweis (PICC) geschickt wird.

 

extendedlength 700

Leider ist bei den derzeit am Markt erhältlichen NFC-fähigen Smartphones die zulässige Länge der über die NFC-Schnittstelle übertragbaren Chipkartenkommandos begrenzt, so dass die Prüfung des Berechtigungszertifikates und damit der komplette Authentisierungsvorgang scheitert. Die zulässige APDU-Größe kann beispielsweise unter Android mit der getMaxTransceiveLength-Funktion ermittelt werden. Während die bei der nPA-Authentisierung übertragenen Zertifikate teilweise über 400 Byteshttps://www.openecard.org/framework/extendedlength#_ftn1[1] groß sind, sind viele marktgängige Smartphones ohne entsprechende Modifikationen nur in der Lage, Chipkartenkommandos mit einer Länge von bis zu 261 Byteshttps://www.openecard.org/framework/extendedlength#_ftn2[2] per NFC zu übertragen. Abhilfe kann hier bis auf Weiteres nur durch tiefe Eingriffe in das Smartphone-Betriebssystem geschaffen werden.

Es bleibt zu hoffen, dass zukünftige Smartphones auch längere APDUs verarbeiten können und/oder zukünftig ausgegebene Personalausweise auch das so genannte „Command Chaining“ gemäß [ISO7816] (Teil 4, Abschnitt 5.1.1.1) unterstützen werden.


https://www.openecard.org/framework/extendedlength#_ftnref1[1] Beispielsweise besitzen die bei der Open eCard Demo derzeit eingesetzten Zertifikate 438 Bytes (CVCA-Zertifikat), 230 Bytes (DV-Zertifikat) bzw. 323 Bytes (Berechtigungszertifikat des Diensteanbieters).

https://www.openecard.org/framework/extendedlength#_ftnref2[2] Marktübliche Samsung S III und Galaxy Nexus Smartphones können ohne entsprechende Modifikationen nur Chipkartenkommandos mit einer Länge von 261 Bytes per NFC übertragen.