Hintergrundinformationen
Willkommen hinter den Kulissen der Bürgerkarte und der Handy-Signatur! Hier finden Sie weitere Details zu gesetzlichen Bestimmungen und technischen Umsetzungen.
Inhalt:
Elektronisch Signieren: Das Prinzip dahinter
Aus technischer Sicht ist jede Verwendung der Bürgerkarte oder der Handy-Signatur ein Signatur-Vorgang – egal ob beim Log-in zum Electronic Banking oder beim Unterschreiben eines Online-Formulars.
Mit der Handy-Signatur oder Bürgerkarte wird allerdings nicht der komplette Text unterschrieben. Tatsächlich unterzeichnet wird ein sogenannter „Hash-Wert“. Das ist eine Zahl, die aus dem Gesamttext errechnet wird. Eine primitive Hash-Funktion sieht zum Beispiel so aus: Jeder Buchstabe wird durch seine Position im Alphabet ersetzt, am Schluss werden diese Zahlen zusammengezählt:
Buchstabe |
S |
C |
H |
M |
E |
T |
T |
E |
R |
L |
I |
N |
G |
Summe |
Position im Alphabet |
19 |
3 |
8 |
13 |
5 |
20 |
20 |
5 |
18 |
12 |
9 |
14 |
7 |
153 |
Tatsächlich kommen bei der Handy-Signatur und der Bürgerkarte wesentlich komplexere Verfahren zum Einsatz (SHA-1, SHA-256 oder RIPEMD-160 – je nach Anwendung). So erzeugt beispielsweise das SHA-256-Verfahren Hash-Werte mit einer Länge von 256 Bit, die üblicherweise als 64-stellige Hexadezimal-Zahl ausgedrückt werden. Der Hash-Wert für das Wort Schmetterling
lautet dem zu Folge dann:
d7e3dabc2c95c4c440ee57fb2883188e7f46a9cf51e94674f0e80f7d6db092c4 (errechnet mit dem Online Hash-Generator).
Dieser Hash-Wert wird schließlich unter Verwendung asymmetrischer kryptographischer Methoden signiert.
Die asymmetrische Verschlüsselung
Das Grundprinzip asymmetrischer kryptographischer Methoden lässt sich am einfachsten an Hand der asymmetrischen Verschlüsselung erklären. Um den Unterschied zu symmetrischen Verfahren zu verdeutlichen, soll zunächst das Prinzip der symmetrischen Verschlüsselung kurz beleuchtet werden. Das Prinzip der symmetrischen Verschlüsselung lässt sich anhand des folgenden Beispiels recht einfach darstellen: Um die Zahl 5 (den Klartext) zu verschlüsseln, multipliziert sie der Absender beispielsweise mit 3 (dem Schlüssel), und erhält somit 15 (die Chiffre). Der Empfänger dividiert die erhaltene Information – also die Chiffre 15 durch den Schlüssel 3. So erhält er wieder die ursprüngliche Information, nämlich 5. Voraussetzung dafür ist, dass sich Sender und Empfänger vorab oder auf einem von der eigentlichen Information getrenntem Weg auf den Schlüssel und die Verschlüsselungsmethode – im vorliegenden Beispiel das Multiplizieren – geeinigt haben. Da Sender und Empfänger den gleichen Schlüssel verwenden, spricht man von einem symmetrischen Verfahren. In der Praxis kommen natürlich anders als im vorliegenden Beispiel komplexere Schlüssel und aufwendigere Verschlüsselungsmethoden zur Anwendung.
Die asymmetrische Verschlüsselung folgt einem anderen Prinzip: Dabei wird zum Verschlüsseln eines Textes ein anderer Schlüssel verwendet als zum Entschlüsseln. Bei der asymmetrischen Verschlüsselung gibt es also ein Schlüsselpaar, bestehend aus zwei Teilen:
- dem öffentlichen Schlüssel, den jeder wissen darf. Dieser ist vergleichbar mit einem Türschloss an einer Eingangstür, das für alle sichtbar ist.
- und dem privaten Schlüssel, der geheim bleibt. Dies wäre dann der Schlüssel zur Eingangstür, den nur der Wohnungs-/Hausbesitzer in Händen hält.
Bei der asymmetrischen Verschlüsselung gilt:
- Informationen, die mit dem privaten Schlüssel verschlüsselt werden, können nur mit dem dazu passenden öffentlichen Schlüssel entschlüsselt werden.
- Informationen, die mit dem öffentlichen Schlüssel verschlüsselt werden, können nur mit dem dazu passenden privaten Schlüssel entschlüsselt werden.
Bei der Handy-Signatur bzw. Bürgerkarte werden asymmetrische Methoden für die Erstellung elektronischer Signaturen verwendet. Die dazu verwendeten asymmetrischen Verfahren sind ECDSA (für qualifizierte Signatur) und RSA (für fortgeschrittene Signatur). Um deren Funktionsweise zu erklären, ist das RSA-Verfahren besser geeignet (für ECDSA siehe z.B. Wikipedia):
Die Sicherheit von RSA beruht darauf, dass es wesentlich einfacher ist, zwei Zahlen zu multiplizieren, als die Umkehrung: das Zerlegen einer großen Zahl in ihre beiden „Bestandteile“. Beispiel: Wählen Sie zwei Primzahlen aus, z.B. 5 und 23, und multiplizieren Sie sie. Das Ergebnis ist einfach zu errechnen: 115.
Nun versuchen Sie z.B. 143 in seine beiden Primzahlen zu zerlegen! Das ist deutlich aufwendiger, denn es bleibt nichts anderes übrig, als verschiedene Möglichkeiten durchzuprobieren, um auf die Lösung 11 mal 13 zu kommen. Es ist für die Zerlegung in Primzahlen bis heute tatsächlich keine effizientere Methode bekannt. Leistungsfähige Rechner schaffen es zwar, kleine Zahlen zu zerlegen, bei großen Ausgangszahlen benötigen sie jedoch eine so lange Zeitspanne, dass dieser Ansatz völlig unbrauchbar ist. Das RSA-Verfahren beruht also im Wesentlichen auf der mathematischen Schwierigkeit, bestimmte große Zahlen in ihre Primzahlfaktoren zu zerlegen.
Der Signatur-Vorgang
Die Handy-Signatur bzw. Bürgerkarte verwendet einen privaten und einen öffentlichen Schlüssel um eine elektronische Unterschrift zu erstellen. Damit verwenden Handy-Signatur und Bürgerkarte ähnliche Konzepte wie die asymmetrische Verschlüsselung. Wichtig dabei ist, den Vorgang der Verschlüsselung vom Vorgang beim Signieren zu unterscheiden.
- Verschlüsseln: Der öffentliche Schlüssel wird zum Verschlüsseln, der private Schlüssel zum Entschlüsseln verwendet.
- Signieren: Der private Schlüssel wird zum "Verschlüsseln" des Hash-Werts verwendet, der öffentliche zum "Entschlüsseln" – das bedeutet jeder kann die Echtheit der Signatur mit dem öffentlichen Schlüssel überprüfen. Grund: Beim Signieren geht es nicht um Geheimhaltung, sondern um die Echtheit (Authentizität bzw. Integrität). Lässt sich der Text mit dem öffentlichen Schlüssel entschlüsseln, dann besteht kein Zweifel, dass er mit dem zugehörigen privaten Schlüssel verschlüsselt wurde. Der Vollständigkeit halber sei hier angemerkt, dass die Signatur-Operation nicht bei jedem Verfahren einer Verschlüsselung mit dem privaten Schlüssel entspricht. Bei RSA ist dies zwar der Fall, bei ECDSA beispielsweise nicht. Unabhängig vom konkreten Verfahren wird zur Erstellung einer Signatur aber immer der private Schlüssel verwendet. Der Einfachkeit halber wird hier jedoch davon ausgegangen, dass die Signaturerstellung einer Verschlüsselungsoperation mit dem privaten Schlüssel entspricht.
Konkret erhält der Empfänger eines signierten Dokuments also den eigentlichen Text, einen signierten Hash-Wert des Textes und das Zertifikat des Absenders, das dessen öffentlichen Schlüssel enthält. Als erstes wird die Echtheit des Zertifikats festgestellt, indem eine Signaturprüfung des Zertifikats durchgeführt wird. Dann entschlüsselt der Empfänger mit Hilfe des öffentlichen Schlüssels den mitgelieferten Hash-Wert.
Anschließend wird der Hash-Wert erneut aus dem Text errechnet. Stimmen beide Hash-Werte überein, ist sicher, dass:
- der Absender echt ist und
- der Text unterwegs nicht verändert wurde.
Log-in bei FinanzOnline: Das läuft im Hintergrund ab
Mit der e-card als Bürgerkarte
- FinanzOnline fordert von der Bürgerkarten-Software die Personenbindung an, um Sie zu identifizieren. Die e-card verlangt dafür eventuell (je nach Kartengeneration) vom Benutzer die Karten-PIN.
- FinanzOnline überprüft die Signatur der Personenbindung.
- FinanzOnline berechnet aus der Stammzahl das bereichsspezifische Personenkennzeichen.
- FinanzOnline verlangt zusätzlich, dass ein kurzer Text (Inhalt: „Mit meiner elektronischen Signatur beantrage ich den Zugang zur gesicherten Anwendung.“) signiert wird und sendet ihn dazu an die Bürgerkarten-Software.
- Die Bürgerkarten-Software errechnet aus dem Text den Hash-Wert.
- Die Bürgerkarten-Software sendet den Hash-Wert an die e-card, mit der Aufforderung, ihn zu signieren. Die e-card verlangt dafür aber die Signatur-PIN – sonst kann sie nicht auf den privaten Schlüssel zugreifen.
- Die e-card verschlüsselt den Hash-Wert mit dem privaten Schlüssel und sendet das Ergebnis (d.h. den signierten Hash-Wert) über die Bürgerkarten-Software an FinanzOnline.
- FinanzOnline überprüft den signierten Text, indem es...
- den verschlüsselten Hash-Wert mit Ihrem öffentlichen Schlüssel entschlüsselt,
- den Hash-Wert des Textes selbst berechnet und mit dem von Ihnen gelieferten Hash-Wert vergleicht,
- das Zertifikat in der Personenbindung mit dem in der Nachricht mitgelieferten Zertifikat vergleicht.
- Zusätzlich prüft FinanzOnline, ob Ihr Zertifikat in der Sperrliste eingetragen ist.
- Sie sind bei FinanzOnline eingeloggt.
Mit der Handy-Signatur
- Sie geben Ihre Handy-Nummer und das dazu gehörige Signatur Passwort über einen Frame auf FinanzOnline direkt bei A-Trust ein.
- A-Trust schickt die Personenbindung an FinanzOnline.
- FinanzOnline überprüft die Signatur der Personenbindung.
- FinanzOnline berechnet aus der Stammzahl das bereichsspezifische Personenkennzeichen.
- FinanzOnline verlangt zusätzlich, dass ein kurzer Text (Inhalt: „Mit meiner elektronischen Signatur beantrage ich den Zugang zur gesicherten Anwendung.“) signiert wird und sendet ihn dazu an A-Trust.
- A-Trust errechnet aus dem Text den Hash-Wert.
- Um Zugriff auf Ihren privaten Schlüssel zu bekommen (zum Signieren des Hash-Wertes), sendet A-Trust eine SMS mit einer TAN an Ihr Handy.
- Sie geben diese TAN (über den FinanzOnline-Frame) bei A-Trust ein.
- A-Trust verschlüsselt den Hash-Wert mit dem privaten Schlüssel und sendet das Ergebnis (d.h. den signierten Hash-Wert) an FinanzOnline.
- FinanzOnline überprüft den signierten Text, indem es...
- den verschlüsselten Hash-Wert mit Ihrem öffentlichen Schlüssel entschlüsselt,
- den Hash-Wert des Textes selbst berechnet und mit dem von Ihnen gelieferten Hash-Wert vergleicht,
- das Zertifikat in der Personenbindung mit dem in der Nachricht mitgelieferten Zertifikat vergleicht.
- Zusätzlich prüft FinanzOnline, ob Ihr Zertifikat in der Sperrliste eingetragen ist.
- Sie sind bei FinanzOnline eingeloggt.
Was passiert bei der Aktivierung der Bürgerkartenfunktion auf der e-card?
Vor der Aktivierung enthält die e-card standardmäßig:
- ein Schlüsselpaar der Sozialversicherung (für die Krankenscheinfunktion)
- ein ECDSA-Schlüsselpaar (für ein Zertifikat) – wird momentan nicht weiter verwendet
- ein ECDSA-Schlüsselpaar (für ein qualifiziertes Zertifikat)
Bei der Aktivierung der Bürgerkarte über FinanzOnline passiert folgendes:
- FinanzOnline (als Identitätsprovider) übermittelt an den Vertrauensdiensteanbieter A-Trust eine signierte Bestätigung, bestehend aus Ihrem Namen und Ihrer Sozialversicherungsnummer. Damit garantiert FinanzOnline, dass Sie wirklich Sie sind (Sie haben sich ja bei der Registrierung zu FinanzOnline mit einem Ausweis identifiziert).
- A-Trust liest nun über die Bürgerkarten-Software von der e-card Ihren Namen und Ihre Sozialversicherungsnummer aus und vergleicht sie mit der Bestätigung von FinanzOnline. Die Übereinstimmung wird in erster Linie über die Sozialversicherungsnummer hergestellt (daher macht es nichts, wenn die Schreibweise Ihres Namens bei FinanzOnline leicht von der Schreibweise auf der e-card abweicht).
- A-Trust liest über die Bürgerkarten-Software von der e-card den öffentlichen Schlüssel für das qualifizierte Zertifikat aus. Das entsprechende Schlüsselpaar wurde bereits bei der Kartenproduktion erzeugt. Der private Schlüssel verlässt die e-card überhaupt nie und ist nicht einmal der A-Trust bekannt.
- Dann sendet A-Trust Ihren Namen und Ihr Geburtsdatum (das auch von der e-card ausgelesen wurde) gemeinsam mit dem öffentlichen Schlüssel an das Zentrale Melderegister, um Ihren ZMR-Eintrag abzufragen. Problem dabei: Im ZMR ist Ihre Sozialversicherungsnummer nicht gespeichert. Für diesen Schritt muss also die Schreibweise Ihres Namens auf der e-card und im ZMR genau übereinstimmen. Für den Fall, dass es mehrere Personen mit selbem Namen und selbem Geburtsdatum gibt, hat Sie A-Trust davor auch nach Ihrer Postleitzahl gefragt.
- Als Ergebnis der ZMR-Abfrage erhält A-Trust sofort Ihre Personenbindung (d.h. ZMR-Zahl wird nicht an A-Trust weitergegeben).
- A-Trust sendet die Personenbindung über die Bürgerkarten-Software an die e-card, wo sie gespeichert wird (gesichert durch die Karten-PIN).
- A-Trust erzeugt aus dem öffentlichen Schlüssel das qualifizierte Zertifikat (das ist eine mit dem privaten Schlüssel der A-Trust signierte Datei, die Ihren Namen und Ihren öffentlichen Schlüssel enthält) und trägt es es in der Zertifikatsdatenbank ein.
- Die Bürgerkarten-Software schreibt das qualifizierte Zertifikat auf die e-card.
- Die e-card sichert den Zugriff auf den privaten Schlüssel mit der Signatur-PIN.
- A-Trust erzeugt ein RSA-Schlüsselpaar für das nicht-qualifizierte Zertifikat.
- Aus dem öffentlichen Schlüssel erzeugt A-Trust das nicht-qualifizierte Zertifikat und trägt es in der Zertifikatsdatenbank ein.
- Die Bürgerkarten-Software schreibt das nicht-qualifizierte Zertifikat und den privaten Schlüssel auf die e-card (gesichert durch die Karten-PIN).
- A-Trust speichert den privaten Schlüssel des nicht-qualifizierten Zertifikats.
Die Personenbindung
Damit die Handy-Signatur bzw. die Bürgerkarte zum persönlichen elektronischen Ausweis wird, ist die Identität des Besitzers zweifelsfrei nachzuweisen. Verwechslungen z.B. wegen Namensgleichheit müssen ausgeschlossen werden. Daher wurde die Personenbindung entwickelt. Sie basiert auf der ZMR-Zahl, die durch Anwendung eines symmetrischen Verschlüsselungsverfahrens zur sogenannten Stammzahl umgerechnet wird. Es ist nicht möglich, aus der Stammzahl die ZMR-Zahl zu errechnen.
Die Stammzahl wird zusammen mit Name, Geburtsdatum und öffentlichem Schlüssel des qualifizierten Zertifikats in eine XML-Datei geschrieben. Diese XML-Datei wird von der Stammzahlenregisterbehörde signiert; das Ergebnis ist die so genannte Personenbindung. Sie wird bei der e-card direkt auf der Karte gespeichert, bei der Handy-Signatur im Hochsicherheits-Server der A-Trust.
XML-Spezifikation der Personenbindung
Gesetzliche Grundlagen der elektronische Signatur
Durch die Verordnung (EU) Nr. 910/2014 über die elektronische Identifizierung und Vertrauensdienste für elektronische Transaktionen im Binnenmarkt und zur Aufhebung der Richtlinie 1999/93/EG, ABl. Nr. L 257/73 vom 28. August 2014 (im Folgenden: eIDAS-VO) in Verbindung mit dem Signatur- und Vertrauensdienstegesetz (SVG), BGBl. I Nr. 50/2016, werden folgende Anforderungen an eine fortgeschrittene elektronische Signatur definiert:
- Art 26 lit. a eIDAS-VO) Eine fortgeschrittene elektronische Signatur ist eindeutig dem Signator (§ 3 Abs. 1 Z 3 SVG) zugeordnet. Diese Anforderung ist durch die Bürgerkarte und die Handy-Signatur erfüllt, da das Zertifikat für eine einzige Person ausgestellt ist.
- Art 26 lit. b eIDAS-VO) Eine fortgeschrittene elektronische Signatur ermöglicht die Identifizierung des Signators. Diese Anforderung ist durch die Bürgerkarte und die Handy-Signatur erfüllt, da der Name der Person im Zertifikat steht.
- Art 26 lit. c eIDAS-VO) Eine fortgeschrittene elektronische Signatur wird unter Verwendung elektronischer Signaturerstellungsdaten erstellt, die der Signator mit einem hohen Maß an Vertrauen unter seiner alleinigen Kontrolle verwenden kann. Diese Anforderung ist durch die Bürgerkarte und die Handy-Signatur erfüllt. Bei der Bürgerkarte hat der Signator die physikalische Kontrolle über die Karte (e-card). Bei der Handy-Signatur ist der Zugriff auf die Signaturerstellungsdaten im Hochsicherheits-Rechenzentrum der A-Trust durch das Signatur Passwort geschützt. Die „alleinige Kontrolle“ muss also nicht in einem physischen Besitz bestehen, sondern kann auch durch technisch-organisatorische Maßnahmen sichergestellt werden. Da sich in den letzten Jahren in allen EU-Mitgliedstaaten diese Auslegung zum Erfordernis der „alleinigen Kontrolle“ herausgebildet hat, wird die Erstellung elektronischer Fernsignaturen nunmehr auch ausdrücklich in der eIDAS-VO vorgesehen (vgl. dazu Anhang II (3) und Erwägungsgrund Nr. 52 der eIDAS-VO).
- Art 26. lit. d eIDAS-VO) Eine fortgeschrittene elektronische Signatur ist mit den Daten, auf die sie sich bezieht, so verknüpft, dass jede nachträgliche Veränderung der Daten festgestellt werden kann. Diese Anforderung ist durch die Bürgerkarte und die Handy-Signatur erfüllt, da über den Hash-Wert der Daten Veränderungen festgestellt werden können.
Für eine qualifizierte elektronische Signatur sind in der eIDAS-VO folgende Anfoderungen definiert:
- Art 3 Z 12 eIDAS-VO) Eine qualifizierte elektronische Signatur ist eine fortgeschrittene elektronische Signatur, die auf einem qualifizierten Zertifikat für elektronische Signaturen beruht und von einer qualifizierten elektronischen Signaturerstellungseinheit erstellt wird. Diese Anforderung ist durch die Bürgerkarte und die Handy-Signatur erfüllt. Als Signaturerstellungseinheit fungiert bei der Bürgerkarte die Karte (e-card) und bei der Handy-Signatur das Hochsicherheitszentrum der A-Trust. Beide Signaturerstellungseinheiten sind durch Zweifaktorauthentifizierung (Faktoren Wissen und Besitz) geschützt und erfüllen die Forderung nach einer qualifizierten elektronischen Signaturerstellungseinheit gemäß Art 29 eIDAS-VO.
Bürgerkarte integrieren
Um die Bürgerkarte in eigene Web-Anwendungen zu integrieren, stehen Ihnen die Module "MOA-ID und MOCCA" auf der Joinup Open Source Platform kostenlos zur Verfügung. Dazu stehen Videoanleitungen der Firma Exthex zur Installation zur Verfügung.
Der Fachverband UBIT der WKÖ führt auf www.experts.or.at eine Liste von Unternehmen, die Dienstleistungen und Know-How zur Bürgerkarte anbieten.
Handy-Signatur integrieren
Die Handy-Signatur wird gleich aufgerufen wie eine lokale BKU oder die Online-BKU.
Die Liste der von der Handy-Signatur akzeptierten Server-Zertifikate finden Sie auf https://labs.a-trust.at/.
Spezifikationen der Bürgerkarte