E-ID explained, Teil 2: Wie funktioniert sie?

Rund um die E-ID wird aktuell viel diskutiert. Doch in vielen dieser Diskussionen fehlt grundlegendes Wissen. Zeit also für einen Einblick. Heute deshalb ein Blick hinter die Technik, die Abläufe und die Aufgabenteilung.

Bei vielen der Diskussionen der letzten Wochen zeigte sich, dass ein gemeinsames Verständnis fehlt, wie die Technik funktioniert. Und solange das unklar ist, ist auch eine objektive Diskussion so gut wie unmöglich.

Dazu schauen wir uns heute an, wer mit wem welche Informationen austauscht. Und wie die Mechanismen rund um die selektive Übermittlung von Informationen funktionieren. Und wieso wir hinter der E-ID mehrere technische Identitäten benötigen, um die Privatsphäre zu erhöhen.

Teilnehmerliste

Jeder Prozess, ob digital oder in der analogen Welt, hat verschiedene Akteure. Beginnen wir mit einem Überblick über diese. Beginnen wir der Einfachheit halber mal nur mit der E-ID; obwohl ähnliche Abläufe auch für elektronische (Lern-)Fahrausweise oder andere Dokumente möglich sind.

Grafik der Beteiligten; erklärt im Text
Die wichtigsten Komponenten rund um die E-ID-Infrastruktur, mit deutschen und englischen Begriffen. Angelehnt an eine Grafik des Bundes.

Die Ausstellerin

Das Fedpol ist die Ausstellerin der E-ID. Die Ausstellerin erzeugt einmalig einen geheimen Schlüssel, mit dem sie dann alle erteilten E-IDs signieren kann. Dieser wird sehr gut geschützt aufbewahrt.

Wenn jetzt jemand eine E-ID ausstellen lassen will, läuft das wie folgt ab:

  1. Die zukünftige Inhaberin einer E-ID stellt ihren Antrag, entweder
  2. Das Fedpol speichert die Daten, die auf die E-ID kommen, für 20 Jahre. Falls eine biometrische Identifikation erfolgt ist (z.B. bei der Online-Verifikation) werden diese Daten 5 Jahre über die Laufzeit der E-ID hinaus gespeichert. (Beim Besuch im Passbüro fallen also weniger Daten an.)
  3. Die zukünftige Inhaberin legt fest, auf wie vielen Endgeräten sie ihre E-ID jetzt installieren möchte.
  4. Für jedes dieser Endgeräte wird ein QR-Code erzeugt.
  5. Für jede «technische Identität» (dazu später mehr) wird ein Eintrag im Basisregister angelegt, dass dieser Eintrag gültig ist.

Die Inhaberin: E-ID aktivieren

Leute wie du und ich, die eine E-ID beantragt haben, gehen wie folgt vor:

  1. Sie installiert die swiyu-Wallet-App.
  2. Sie scannt den QR-Code der Ausstellerin, siehe Bild rechts. (Diese Screenshots stammen alle vom Testsystem des Bundes. Im echten E-ID-System kann man natürlich nicht seine eigenen Wunschdaten angeben, sondern bekommt die offiziellen Daten des Bundes zugewiesen.)
  3. Via diesen QR-Code kann die swiyu-App einmalig ein Berechtigungs-Token herunterladen und sicher auf dem Gerät speichern. Dieses Token wird so abgelegt, dass es weder von anderen Apps noch von Hackern oder dem Betriebssystemhersteller geklaut werden kann.
  4. Mit diesem Token löst die swiyu-App ihre ersten «technischen Identitäten» (dazu gleich mehr). Das Token ist wie ein Gutschein, mit dem man bei Bedarf solche technischen Identitäten bestellen kann.
  5. Damit ist die E-ID zur Benutzung bereit.

Die Inhaberin: E-ID nutzen

Das Nutzen der E-ID geschieht intuitiv:

  1. Die Webseite, welche die Identifikation sehen möchte («Verifier»), zeigt einen QR-Code an.
  2. Die Inhaberin scannt den QR-Code.
  3. Es wird der Name des Verifiers laut Vertrauensregister angezeigt. Hier würden auch zusätzliche Informationen aus dem Vertrauensregister dargestellt, z. B. ob dieser Verifier zur Überidentifikation neigt oder gesperrt wurde.
  4. Sie wählt – falls sie mehrere Identitätsdokumente hat – dasjenige aus, mit welchem sie sich identifizieren möchte.
  5. Sie sieht die Attribute, welche die Webseite gerne bestätigt haben möchte (hier: Alter über 18).
  6. Der Datenaustausch dazu findet direkt zwischen swiyu-Wallet und Verifier statt, hier sind keine Server des Bundes oder sonstige zentrale Server involviert.
  7. Nach der Zustimmung der Nutzerin zeigen sowohl Webseite als auch swiyu-Wallet-App den Erfolg der Identifikation an.
  8. Die Wallet-App wechselt zur nächsten «technischen Identität» (siehe weiter unten).

Die Verifikatorin

Wenn eine Webseite Information über eine Person überprüfen möchte, macht sie das wie folgt:

  1. Bevor sie überhaupt irgendwelche Abfragen machen kann, muss sie sich in Verifikatorin im Basis- und Vertrauensregister eintragen lassen.
  2. Für eine Abfrage präsentiert die Verifikatorin eine QR-Code.
  3. Mit dem Scannen dieses QR-Codes können swiyu-Wallet und Verifikatorin eine sichere Verbindung aufbauen.
  4. Darüber werden die von der Verifikatorin angeforderten Attribute genannt und – nach Zustimmung durch die Inhaberin – diese Attribute an die Verifikatorin gesendet.
  5. Die Verifikatorin kann anonym im Basisregister nachschlagen, ob die genannte Identität zurückgezogen wurde (dabei werden keine Namen o. ä. übermittelt).
  6. Die Verifikatorin kann nun ihre Entscheidungen auf Basis dieser übermittelten Attribute fällen, also beispielsweise Zugang zu bestimmten Inhalten freischalten.

Die zwei Register

Im Basisregister werden nicht-personenbezogene technische Zuordnungen gespeichert. Insbesondere wird gespeichert, ob eine Identität zurückgezogen wurde. Inhaberinnen können beispielsweise ihre Identitäten für ungültig erklären lassen, wenn das Mobilgerät gestohlen wurde.

Im Vertrauensregister werden Informationen über die Verifikatorinnen gespeichert. Also beispielsweise der offizielle Firmenname laut Handelsregister, damit die Inhaberinnen auch wissen, wem sie ihre Identität beweisen sollen. Ebenfalls wird dort gespeichert, ob Verifikatorinnen verwarnt oder gesperrt wurden.

Informationsfreiheit mit Selective Disclosure

Eine der Schlüsselmerkmale der E-ID ist, dass ich als Inhaber der Verifikatorin gegenüber nur einen ausgewählten Teil meiner in der E-ID gespeicherten Daten übermitteln kann. Das ist nicht so einfach, wie es sich anhört. Um das Problem (und dann die Lösung) zu verstehen, müssen wir uns zuerst kurz mit digitalen Signaturen beschäftigen.

Die Eigenschaften digitaler Unterschriften

Auf «normalen» amtlichen Dokumenten aus Papier hat es oft Unterschrift, Stempel und/oder Siegel darauf.

So könnte ein Papierzeugnis mit offiziellem Siegel aussehen.

Das Siegel ist zwar ans Papier des Dokuments gebunden, nicht aber an seinen Inhalt. So könnte jemand mit entsprechendem Geschick die Buchstaben «un» des Wortes «ungenügend» wegradieren und plötzlich wäre das Zeugnis «genügend».

Digitale Signaturen (auch bekannt als elektronische Unterschriften) müssen ohne Trägermaterial funktionieren. Entsprechend gehen sie direkt eine Verbindung mit dem Inhalt ein. Wenn bei einem digital unterschriebenen Dokument auch nur ein einziges Bit geändert wurde, wird die Signatur nicht mehr als zum Dokument passend anerkannt. Radieren oder Überschreiben funktioniert also nicht.

Wie maskieren bei gültiger digitaler Signatur?

Ein Ziel der E-ID ist aber genau, dass die Inhaber:innen (also wir Nutzer:innen) nur einen Teil der Information preisgeben können. Die naive Lösung, dass jede einfach selbst – ohne irgendwelche Belege – behaupte, über 18 zu sein, ist offensichtlich nicht sinnvoll, da trivial zu fälschen.

Um nur einen Teil der Informationen wiederzugeben und trotzdem weiterhin eine gültige Signatur zu haben, wird ein Zwischenschritt benötigt. Jedem Attribut (Name, Vorname, …; links im folgenden Bild) wird nur ein zufällig aussehender Wert zugeordnet, der sogenannte Claim. Und nur diese Zuordnung wird signiert.

Wenn die E-ID vorgezeigt wird, werden also nur die Attribute zusammen mit Claims (oben bunt markiert) unterschrieben weitergegeben. Aus denen alleine lässt sich noch nichts herauslesen. Erst zusammen mit den passenden Disclosures (ausgewählte Zeilen rechts im Bild) wird der Wert für den Verifier nachvollziehbar. Für jede Zeile, die nicht mitgeschickt wird, lernt der Empfänger nichts über den Inhalt. Kryptografisch sicher verbunden werden die beiden Teile durch die übereinstimmenden Werte in den Claims-„Zufallszahlen“.

Beispiel: Wenn die Inhaberin nur «über 18» senden möchte, liefert sie neben den signierten Attribut/Claim-Paaren nur die letzte der Disclosures mit, die bestätigt, dass sie noch nicht 18 sei. (Damit erhält sie vielleicht einen vergünstigten Badi-Eintritt.)

Jeder Claim ist aber nicht so zufällig, wie er aussieht, obwohl aus ihm selbst keinerlei Rückschlüsse auf den eigentlichen Inhalt getroffen werden können. Der Claim wird nämlich mittels einer sicheren kryptografischen Hashfunktion aus dem eigentlichen Inhalt erzeugt.

Wichtig ist zu wissen, dass diese Hashfunktionen nicht umkehrbar ist: Es ist einfach, von den Werten rechts in der Disclosure (die Zufallszahl und den eigentlichen Inhalt) auf den Claim zu kommen. Aus einem Claim alleine kann keine gültige Information bestimmt werden.

(Für die Security-Experten gibt es hier noch eine genauere Grafik: Durch den zusätzlichen Zufallswert («Salt») ist es auch nicht möglich, die Werte zu enumerieren.)

Technische Identitäten: Mehr Anonymität mit Batch Issuance

Jede digitale Signatur bringt eine Identifikation mit sich. Dies ist nicht per se schlecht, denn wir wollen ja eine Bindung des Signierenden an das Dokument und des Dokuments an den Signierenden erreichen.

Wer aber zweimal dieselbe Signatur auftaucht, ist deshalb auch klar, dass es sich um dasselbe Dokument handelt, egal, ob es maskiert ist oder nicht.

Aus Anonymitätsgründen wollen wir aber nicht, dass Verifikatorin A ihre Daten mit Verifikatorin B abgleichen kann. Insbesondere sollen die beiden nicht überprüfen können, ob zwei Identitäten, die ihnen gegenüber nur wenige Attribute übermittelt haben, zur gleichen Person gehören.

Beispiel: Ein paar Jahre in der Zukunft; unsere Anna Meier ist inzwischen volljährig. Gegenüber Verifikatorin A, einem Datingportal, hat sie ihren Vornamen bestätigt. Gegenüber Verifikatorin B, einer Weinhandlung, hat sie ihre Volljährigkeit bezeugt. Diese beiden Verifikationsvorgänge sollen nicht zusammengeführt werden können; das Datingportal soll also nicht wissen, wie viel Wein Anna bestellt.

Die einfachste Möglichkeit, dies zu erreichen, ist, dass jede Identität nur einmal präsentiert wird, dass unsere Anna Meier zwar jedes Mal Anna Meier ist, die Claims und damit die Signatur jedes Mal eine andere ist. Damit können die Verifikatorinnen wirklich nur aus den absichtlich übermittelten Daten etwas herauslesen.

Um das zu erreichen, holt die swiyu-App nicht eine Identität, sondern immer gleich einen Satz von 20 Stück, die sich alle technisch unterscheiden (deshalb die Bezeichnung «technische Identitäten»).

Diese werden der Reihe nach benutzt und danach verworfen. Sobald der Vorrat klein geworden ist, werden die technischen Identitäten wieder aufgefüllt, um jeder Verifikatorin gegenüber einmalig dazustehen.

So weit zum Überblick über die Technik und Abläufe hinter der geplanten E-ID. Bald geht es weiter mit der Frage, ob mit einer E-ID alle gesellschaftlichen Probleme gelöst werden können (Spoiler: Nein).

Weiterführende Literatur

Technische Tiefe

dnip.ch mit Deiner Spende unterstützen

Wir wollen, dass unsere Inhalte frei verfügbar sind, weil wir es wichtig finden, dass möglichst viele Menschen in unserem Land die politischen Dimensionen der Digitalisierung erkennen und verstehen können.

Damit das möglich ist, sind wir auf deine Unterstützung angewiesen. Jeder Beitrag und sei er noch so klein, hilft uns, unsere Aufgabe wahrzunehmen.

5 Antworten

  1. Vielen Dank für den Artikel!
    Du schreibst: Sie installiert die swiyu-Wallet-App.
    Kannst Du noch Details zur App angeben? Was sind die Systemvoraussetzungen? Ist das eine App, wie es die Mehrheit der Bevölkerung versteht, also eine Anwendung für das Handy aus dem Apple oder Google Store? Oder ist das eine App für die gesamte Bevölkerung, die auf allen Betriebssystemen wie z.B. debian oder Ubuntu Touch läuft?

    1. Vorerst läuft sie auf iOS und Android. Und Android beinhaltet auch diverse Third-Party-Androids; ich nutze es beispielsweise unter GrapheneOS und hat dort keine Google-Abhängigkeiten. Unter Android soll es auch eine unabhängig vom Google Play Store installierbares Paket geben. Die detaillierten Sicherheitsanforderungen sind zwar aufgelistet, aber die wenigsten kennen diese Details von ihren Telefonen. Es wird aber zumindest kurzfristig Zugriff auf ein sicheres Hardwareelement benötigen, in dem die E-ID-Sicherheitsmerkmale wie in einem Tresor abgelegt werden können. Das sollten aber alle modernen Handys haben. Siehe auch die Diskussion beim swiyu-Android-Repository auf Github und die Diskussion im E-ID-Artikel von Adrienne am Montag.

      1. Wenn ich es richtig verstehe, dann werden Menschen, die kein Handy oder iOS oder Android verwenden können oder wollen bei diesem System ausgegrenzt.

        1. So unglaublich wie es auch klingt, um eine digitale ID zu benutzen, braucht man ein modernes digitales Gerät.

          ¯\_(ツ)_/¯

          Ja, das verstehen Sie richtig.

        2. Es wird weiterhin, mutmasslich für Jahrzehnte, die klassische Plastik-ID bzw. den Papier-Pass geben.

          Ich finde es richtig, dass sich das e-ID-Team aktuell auf die beiden dominanten Plattformen fokussiert. Aber vielleicht findet sich jemand, der eine Version für seltenere Geräte programmiert; sowohl Code als auch Protokoll sind offen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Weitere Beiträge