NPA: Signaturfunktion
Signaturfunktion des künftigen Personalausweises
Der neue Personalausweis enthält die Möglichkeit, ihn für eine qualifizierte elektronische Signatur (QES) zu verwenden, wofür er vor der Schlüsselerzeugung und der Speicherung eines Zertifikats eines entsprechenden Diensteanbieters (ZDA) dafür vorbereitet werden muss: es muss die sogenannte eSign-PIN gesetzt werden. Dies soll medienbruchfrei geschehen, also komplett online über einen PC möglich sein. Im Security Workshop sollten die rechtlichen und technischen Grundlagen bzw. Richtlinien hierfür betrachtet werden und im Rahmen des Anwendungstests der Vorgang des Aktivierens der Signaturfunktion ausprobiert werden.
Rechtliche Grundlagen
Als rechtliche Grundlagen sind vor allem das Signaturgesetz, die Signaturverordnung und das Personalausweisgesetz ausschlaggebend.
Das Signaturgesetz legt unter anderem fest, was unter qualifizierten elektronischen Signaturen zu verstehen ist, nämlich:
- Daten in elektronischer Form, die mit anderen elektronischen Daten so verknüpft sind, dass eine nachträgliche Änderung der Daten erkannt werden kann,
- die ausschließlich dem Signaturschlüsselinhaber zugeordnet sind und
- die Identifizierung desselben ermöglichen,
- die mit Mitteln erzeugt werden, die der Signaturschlüsselinhaber unter seiner alleinigen Kontrolle halten kann und
- auf einem zum Zeitpunkt ihrer Erzeugung gültigen qualifizierten Zertifikat beruhen,
- und mit einer sicheren Signaturerstellungseinheit (SSEE) erzeugt werden.
nach § 2 SigG
Der neue Personalausweis muss für eine QES also einen Signaturschlüssel gespeichert haben, als auch ein Zertifikat besitzen. Dieses wird von ZDAs angeboten, die eine entsprechende Möglichkeit für den nPA bereitstellen müssen. So muss ein ZDA nach § 5 des SigG Personen, die ein Zertifikat beantragen, zuverlässig zu identifizieren, und die Zuordnung eines Signaturprüfschlüssels zu einer identifizierten Person durch ein qualifiziertes Zertifikat zu bestätigen. Diese Zertifizierungsdiensteanbieter können sich von der zuständigen Behörde für diesen Dienst akkreditieren lassen, dies ist jedoch freiwillig.
Da das Signaturgesetz nur einen rechtlichen Rahmen für Signaturen allgemein bereitstellt, fehlen Angaben über das genaue Wie der einzelnen Vorgänge. So heißt es bspw. in Satz 4 von § 5 des Signaturgesetzes:
"Der Zertifizierungsdiensteanbieter hat Vorkehrungen zu treffen, damit Daten für
qualifizierte Zertifikate nicht unbemerkt gefälscht oder verfälscht werden können. Er hat weiter Vorkehrungen zu treffen, um die Geheimhaltung der Signaturschlüssel zu gewährleisten. Eine Speicherung von Signaturschlüsseln außerhalb der sicheren
Signaturerstellungseinheit ist unzulässig."
Die Signaturverordnung ist eine Ergänzung zum Signaturgesetz und führt Einzelregelungen und Anforderungen auf.
So wird auch § 5 des SigG ein wenig konkretisiert. In Satz 2 von § 5 des SigV heißt es:
"Der Zertifizierungsdiensteanbieter hat von ihm bereitgestellte Signaturschlüssel
und Identifikationsdaten dem Signaturschlüssel-Inhaber auf der sicheren Signaturerstellungseinheit persönlich zu übergeben und die Übergabe von diesem schriftlich oder als mit einer qualifizierten elektronischen Signatur nach dem Signaturgesetz versehenes elektronisches Dokument bestätigen zu lassen, es sei
denn, es wird eine andere Übergabe vereinbart."
Da der elektronische Personalausweis einerseits als SSEE genutzt werden können soll, andererseits auf Grund der Optionalität der Signaturschlüssel erst nachträglich erzeugt wird, wenn gewünscht, muss nach oben stehendem Satz eine andere Übergabe vereinbart werden. Dies läuft darauf hinaus, dass der elektronische Identitätsnachweis (eID) genutzt wird, um sich bei einem ZDA nachträglich ein qualifiziertes Zertifikat zu besorgen, damit der Vorgang medienbruchfrei abläuft und der Nutzer ihn bequemer durchführen kann.
Hierzu ergänzt das "Gesetz über Personalausweise und den elektronischen Identitätsnachweis sowie zur Änderung weiterer Vorschriften" vom 18. Juni 2009, also das Personalausweisgesetz, in Artikel 4 die Signaturverordnung folgendermaßen:
"Die Identifizierung des Antragstellers kann auch mithilfe des elektronischen Identitätsnachweises gemäß § 18 des Personalausweisgesetzes erfolgen."
Technische Richtlinien
Die technischen Richtlinien beschreiben unter anderem die Abläufe der einzelnen Anwendungsmöglichkeiten, als auch die Anforderungen an Hard- und Software. Hauptsächlich sind folgende Richtlinien für die Signaturfunktion von Belang:
- BSI-TR-03110 — Sicherheitsmechanismen für maschinenlesbare Reisedokumente
- BSI-TR-03112 — Das eCard-API Framework
- BSI-TR-03117 — Richtlinie für eCards mit kontaktloser Schnittstelle als sichere Signaturerstellungseinheit
- BSI-TR-03119 — Anforderungen an die Kartenleser für den elektronischen Personalausweis (ePA)
daneben gibt es noch weitere, die für das Thema von Interesse sein können, unter anderem:
- BSI-TR-03105 — Konformitätstests für elektronische ID-Dokumente
- BSI-TR-03127 — Richtlinie zur Architektur des elektronischen Personalausweises
Aus diesen Dokumenten geht folgendes für die Signaturfunktion hervor:
- Das Kartenlesegerät muss vom Typ komfort sein und sich mit seinem Berechtigungszertifikat beim nPA anmelden.
- Die eSign-PIN muss vom Nutzer gesetzt werden um den nPA für das Nachladen eines Signaturschlüssels und Zertifikats bereit zu machen.
- Die eSign-PIN besteht aus 6 Stellen.
- Zum setzen der eSign-PIN wird vorher die CAN abgefragt.
- Das abfragen auf Korrektheit der eSign-PIN erfolgt über ein VERIFY Kommando und nicht über das PACE-Protokoll - dieses muss bereits vorher für einen sicheren Kanal aufgebaut sein.
- Die Signaturschlüssel dürfen nur auf der SSEE selbst oder durch technische Komponenten der Zertifizierungsdienste erstellt werden.
- Die Signaturschlüssel dürfen nicht außerhalb der SSEE gespeichert werden können.
- Für das Nachladen eines qualifizierten Zertifikats oder erzeugen eines qualifizierten Schlüsselpaars muss sich das Kartenlesegerät als Authentisierungsterminal ausweisen können - also ein entsprechendes Berechtigungszertifikat besitzen.
- Sowohl die eSign-PIN als auch die Schlüssel können wieder gelöscht werden.
Wie der Ablauf und die Verwendung der einzelnen APDUs für die Signaturfunktion ist, kann man am besten anhand eines Graphen aus der TR-03105 überschauen: BSI-TR03105 Part3.4, Seite 5
Anwendungstest
Während des öffentlichen Anwendungstest ist das Nachladen eines Zertifikats nur über die entsprechende D-Trust Seite (ein Tochterunternehmen der Berliner Bundesdruckerei) möglich: Zertifikat nachladen, Anwendungstest.
Für das Setzen der eSign-PIN muss zunächst jedoch in der AusweisApp "QES-Vorbereiten" ausgewählt werden. Daraufhin fragt das Lesegerät nach, ob ein Signatur-Tunnel aufgebaut werden soll. Nach Bestätigung wird die CAN abgefragt, wonach man die eSign-PIN eingeben, und zur Bestätigung ein zweites Mal wiederholen muss. Hier fiel auf, dass das verwendete Lesegerät — Reiner SCT cyber Jack e-com plus RFID komfort — PIN-Eingaben von sechs bis zu acht Stellen zuließ, und dies anscheinend auch vom Testmuster des Personalausweises akzeptiert wurde. In der Technischen Richtlinie 03117 ist jedoch nur die Rede davon, dass die eSign-PIN sechs Stellen hat.
Beim Nachladen des qualifizierten Zertifikats gab es schließlich eine Unstimmigkeit: Es wird einem mitgeteilt, dass es für das Erstellen des Zertifikats notwendig ist, Vornamen, Nachnamen, Titel und Gültigkeit vom Ausweis auszulesen. Für die spätere zuverlässige Identifikation über den eID-Service müssen jedoch alle Daten (Name, Geburtstag, Anschrift usw.) an den eID-Server gesendet werden. Hier fehlt zumindest ein Hinweis, dass dies zwei unterschiedlich Dinge sind, was zu Missverständnissen führen kann, sollte dies im späteren Echtbetrieb nicht noch geändert werden.
Davon abgesehen kann man nach Eigabe eines Sperrkennwortes und der Bestätigung einer kurzen Rechtsbelehrung mit dem Nachladen beginnen. Für die Identifizierung wird die eID-PIN vom Lesegerät abgefragt, damit das Nachladen startet. Leider gab es beim Nachladen ein Problem, das Fenster der AusweisApp verschwand ohne Fehlermeldung, als ob alles funktionieren würde, auf der Internetseite des D-Trust gab es dann aber folgende Fehlermeldung: "Fehlercode 06. Ein unerwarteter Fehler ist im QES-Kontext bei der Kommunikation mit der internen ZDA aufgetreten. ReturnCode: -532152351"
Was genau wo nicht funktioniert hat konnte während des Workshops nicht herausgefunden werden, dadurch war aber etwas anderes zu bemerken, was aus den Technischen Richtlinien nicht klar hervorgeht: Wenn ein Versuch zum Nachladen fehlschlägt, scheint die eSign-PIN automatisch wieder gelöscht zu werden. Versucht man das Nachladen über die D-Trust-Seite gleich noch einmal, gibt es am Ende die Fehlermeldung auf der Internetseite, dass der nPA noch nicht für das Nachladen eines qualifizierten Zertifikats vorbereitet worden ist. Erst ein erneutes Setzen der eSign-PIN führte wieder zur ersten Fehlermeldung.
Somit war das Testen der Signaturfunktion selber nicht möglich, was mit der zu der Zeit aktuellen Testversion AusweisApp aber nur unter Windows eigentlich möglich wäre. Einen leider sehr kurzen Bericht in einem Blog, wo das wohl funktioniert hat (leider ist nicht ganz klar ob alles vor Ort bei der Bundesdruckerei gemacht wurde) gibt es hier: [[1]]
noch in Bearb...