Die belgische eID

Eine Identitätskarte schräg von oben, mit einem goldfarbenen Chip, neben dem Schlitz eines Kartenlesers.

Seit deinem zwölften Geburtstag steckt in deiner Geldbörse ein kleiner Computer. Deine Identitätskarte hat einen Chip, und in diesem Chip steckt wirklich alles, was du auf dieser Seite gesehen hast: zwei Schlüsselpaare auf einer elliptischen Kurve, Zertifikate, die beweisen, dass sie dir gehören, und ein winziger Prozessor, der signieren kann, ohne seine privaten Schlüssel je herauszugeben. In diesem Kapitel benutzt du sie wirklich.

Wörter, die du gleich brauchst

Chip
Das goldfarbene Viereck auf deiner Karte. Ein echter, winziger Computer mit eigenem Speicher und eigenem Prozessor. Seinen Strom bekommt er vom Kartenleser.
Kartenleser
Das kleine Gerät, in das du die Karte steckst, mit einem USB-Kabel zu deinem Computer. Deine Eltern haben vielleicht eins für ihre Steuererklärung. Ohne Leser kannst du dieses Kapitel zwar lesen, die Demo aber nicht machen.
Helper
Ein kleines Programm, das im Hintergrund auf deinem Computer läuft und die Brücke zwischen deinem Browser und dem Kartenleser bildet. Ohne dieses Programm kommt keine einzige Website an deine Karte — das ist Absicht, sonst könnte jede Website einfach so deine Karte auslesen. Du installierst es einmal; siehe „Was du brauchst“ weiter unten.
PIN
Vier Ziffern, die du zu deiner Karte bekommen hast. Ohne diesen Code macht der Chip nichts mit deinen privaten Schlüsseln. Drei Mal falsch: gesperrt.
Nationalregisternummer
Die Nummer, unter der der belgische Staat dich kennt (auf Niederländisch „Rijksregisternummer“). Sie steht auf deiner Karte und beginnt mit deinem Geburtsdatum, rückwärts.

Was im Chip steckt

WasWarum
Dein Name, dein Geburtsdatum, deine NationalregisternummerVom Staat signiert, also nicht fälschbar
Deine AdresseGetrennt gespeichert, denn sie ändert sich öfter als der Rest
Dein PassfotoEin JPEG von ein paar Kilobyte — in Base64, wenn du es ausliest
Schlüssel authUm beim Anmelden zu beweisen, dass du es bist
Schlüssel signUm Dokumente zu signieren, rechtsgültig
ZertifikateDie Kette des Vertrauens bis hinauf zum belgischen Staat

Das Wichtigste steht nicht dabei: die privaten Schlüssel können den Chip nicht verlassen. Es gibt keinen Befehl, sie auszulesen. Das Einzige, was ein Programm fragen kann, ist: „signier das für mich“. Der Chip macht das in seinem Inneren, nachdem du deine PIN gegeben hast, und gibt nur die Signatur zurück. Deshalb ist deine Karte sicherer als ein Schlüssel auf deiner Festplatte: der kann kopiert werden. Ein Chip nicht.

Was du brauchst

Dieses Kapitel funktioniert nur an einem Computer — nicht auf deinem Handy oder Tablet. Ein Smartphone hat keinen Anschluss für einen Kartenleser, und es gibt keine Version des Helpers für Android oder iOS. Lies dieses Kapitel ruhig auf deinem Handy, aber mach die Demo an einem Windows-, macOS- oder Linux-Computer.

  1. Deine eID und deine PIN.
  2. Einen Kartenleser, über USB an diesem Computer angeschlossen. Manche Laptops haben sogar einen eingebaut; sonst reicht ein Leser für ein paar Euro.
  3. Die offizielle eID-Software des Staates — lade sie auf eid.belgium.be herunter. Sie erkennt deine Karte und deinen Kartenleser.
  4. Den Helper der beID-Plattform — lade ihn auf beid.hermesplatform.be/download herunter. Das ist das Programm, das diese Seite (und jede andere Seite, die mit deiner eID arbeitet) braucht, um an den Kartenleser zu kommen.

Beide Installationen machst du einmal; danach laufen sie im Hintergrund. Fehlt etwas, dann sagt dir die Demo unten genau was: „keine Karte oder kein Leser gefunden“ oder „der Helper läuft nicht auf diesem Computer“.

Probier es mit deiner eigenen Karte

Achtung: diese Demo geht sehr wohl über einen Server. Das geht nicht anders — der Kartenleser wird von der beID-Plattform angesprochen, und die Antwort kommt über einen gesicherten Umweg zurück. Alles, was von deiner Karte kommt, wird einmal auf deinem Bildschirm gezeigt und danach weggeworfen. Nicht gespeichert, nicht protokolliert, an niemanden weitergegeben. Mach das nur mit deiner eigenen Karte.

  1. Wähl, was du machen willst. Fang mit Identität auslesen an.
  2. Klick Kartensitzung starten. Du wirst weitergeleitet, der Leser leuchtet auf, du gibst deine PIN.
  3. Du kommst zurück und hast deine Daten auf dem Bildschirm — und den Beweis, dass sie wirklich von deiner Karte kommen.
  4. Probier danach Mit dem Authentifizierungsschlüssel signieren: tipp einen Text, lass ihn von deinem Chip signieren, und schau zu, wie diese Seite die Signatur prüft. Das ist Kapitel 7.1, in echt.

Zu sign: diese Signatur ist rechtlich genauso gültig wie deine Unterschrift mit einem Stift. Für diese Demo macht das nichts aus — du signierst einen Satz, der nirgends aufbewahrt wird. Aber merk dir den Unterschied: auth sagt „das bin ich“, sign sagt „ich bin einverstanden“. Gib deine PIN für sign nie einer Seite, der du nicht vertraust.

Was in diesen paar Sekunden passiert

  1. Diese Seite schreibt auf, was sie will (zum Beispiel „lies die Identität“), steckt das in Base64 und signiert es mit ihrem eigenen privaten Schlüssel. So weiß die Plattform, dass die Anfrage wirklich von hier kommt. (Kapitel 1 und 6.2.)
  2. Dein Browser schickt das an die Plattform. Der Leser wacht auf, du tippst deine PIN, der Chip macht seine Arbeit.
  3. Die Plattform schickt dich mit einem Code zurück: eine zufällige Nummer, zwei Minuten gültig. Es steckt noch kein einziges Datum darin.
  4. Der Server dieser Seite tauscht diesen Code bei der Plattform ein und signiert auch diese Anfrage. Zurück kommt ein Päckchen mit deinen Daten, von der Plattform signiert.
  5. Diese Seite prüft diese Signatur, prüft den Hash des Inhalts (Kapitel 2), und erst dann glaubt sie auch nur ein einziges Feld.

Hast du auth oder sign gewählt? Dann prüft diese Seite außerdem die Signatur deines Chips gegen das Zertifikat, das derselbe Chip mitgeschickt hat — genau die Schaltfläche Verifizieren aus Kapitel 7.1, aber mit einem privaten Schlüssel, der in einem Stück Plastik steckt, das du in der Hand hältst.

Alles in diesen fünf Schritten hast du schon gesehen: Base64, Hashen, Schlüsselpaare, Kurven, Signaturen. Es kommt keine einzige neue Idee dazu. So ist es bei jeder Sicherheitstechnik: eine Handvoll mathematischer Ideen, clever aufeinandergestapelt.

Zwei Generationen von Karten

Ältere Karten arbeiten noch mit RSA (Kapitel 6), neuere mit einer elliptischen Kurve (Kapitel 6.2). Du siehst es am Ergebnis: steht da pkcs1, dann hast du eine RSA-Karte; steht da der, dann eine Kurve. Für die Prüfung macht das keinen Unterschied — das Zertifikat sagt, welches System es ist.

Für alle, die später selbst etwas bauen wollen: die vollständige technische Anleitung der Plattform steht auf beid.hermesplatform.be. Der Code hinter dieser Seite folgt ihr Zeile für Zeile.

Das ist Mathematik: was in zwei Sekunden passiert

Zwischen dem Eintippen deiner PIN und dem Ergebnis auf deinem Bildschirm sind vier Signaturen gesetzt und geprüft worden, jede davon eine Rechnung auf einer elliptischen Kurve mit Zahlen von mehr als hundert Ziffern; ist mindestens drei Mal ein Hash berechnet worden; und ist einmal ein Geheimnis mit dem Farbentrick vereinbart worden. Alles, was du auf dieser Seite eines nach dem anderen gesehen hast, in einem Bruchteil einer Sekunde. Das ist es, was Mathematik macht, wenn du sie arbeiten lässt.