Zurück zur Startseite
Wir schützen die Identität von Bürger*innen.
Im Projekt Identity Stick wurde ein Prototyp für einen Schlüssel zur digitalen Identität geschaffen.
Niemand mag Passwörter. Wir nehmen sie hin, um unser digitales Ich zu schützen. Wer online einen Carsharing Account eröffnen, ein Bankkonto anlegen oder sich einfach den Gang zur Behörde durch einen digitalen Antrag ersparen will, der muss sich mit weiteren Verfahren auseinandersetzen: Ausweis Apps, SMS-TAN, WebCam-Verfahren und vieles mehr. Unsere persönlichen Daten zu sichern, wird so immer komplizierter und wir verlieren den Überblick. Wo habe ich welches Passwort verwendet? Und wie kann ich meinen digitalen Ausweis freischalten? Mit der Verantwortung und Verwaltung all dieser Maßnahmen bleiben wir als Nutzer*innen alleine – und sind am Ende die Leidtragenden, wenn jemand in unserem Namen Geld auf fremde Konten abbucht.
Um die digitale Identität zu sichern, müssen wir aber keine Krypto-Expert*innen sein. So wie wir unsere Wohnung abschließen können, ohne ein Schlüsseldienst zu sein, sollten wir es online schaffen, sicher und einfach unsere Accounts zu schützen. Was wir dafür brauchen, ist ein digitaler Schlüssel und Identitätsnachweis, dem alle trauen können – mit dem wir uns im Netz für unterschiedliche Zwecke einfach einloggen und ausweisen können und der nur in unserem Besitz ist.
Im Projekt ‘Identity Stick’ wurde ein Prototyp für einen solchen Schlüssel zur digitalen Identität geschaffen: Ein Schlüssel, der für Online-Authentifizierung und -Identifikation eingesetzt werden kann. Dazu wurde ein Konzept entwickelt, wie die entsprechende Prozesse aussehen und gezeigt wie ein solcher Identity Stick prototypisch umgesetzt werden könnte.
Im Analogen ist der Staat durch die Ausgabe von Ausweisen zentral für die Vergabe von Identitäten. Im digitalen Raum nehmen vor allem private Unternehmen diese Aufgabe durch ihre Login-Services wahr. So weisen online häufig Dritte die Identität der Nutzenden als sogenannte “Identity-Provider” nach, wie man es zum Beispiel vom “Login mit Google” kennt. Die Privatisierung der Identität birgt aber gesellschaftliche Risiken: Datenschutz und Sicherheit treten bei profitorientierten Modellen häufig in den Hintergrund. Gerade wegen der bevorstehenden Digitalisierung von 575 öffentlichen Leistungen bis 2022 ist es wichtig, die digitale Identität von Bürger*innen zu wahren und nachhaltige, nutzerfreundliche und faire öffentliche Alternativen zu bieten.
Bisher werden für die digitale Identifizierung in Deutschland verschiedene Lösungen genutzt: Für die Beantragung von online Dienstleistungen mit einem höheren Sicherheitsniveau wird die eID eingesetzt, die von 94 % der befragten Deutschen aber noch nie genutzt wurde, wie eine Studie zeigt. Auf der anderen Seite identifizieren Banken ihre Kund*innen mittels Webcams oder durch den Gang zur nächsten Postfiliale. Eine einheitliche Lösung, die im öffentlichen und privaten Bereich in Deutschland für die Identifikation verbreitet eingesetzt wird, existiert bislang nicht.
Die meisten Accounts werden mit Passwörtern gesichert. Passwörter haben aber ein Sicherheitsproblem: Sehr einfache Passwörter wie ‘Berlin2020’, ‘passwort’, ‘qwerty’ oder ‘12345678’ können sehr schnell dazu führen, dass die eigene digitale Identität gestohlen und missbraucht wird. Gute Passwörter haben ein Usability Problem: Es ist sehr unkomfortabel, für jeden Account ein anderes sicheres Passwort einzusetzen und Passwortmanager sind in Deutschland nur wenig akzeptiert.
Wir sind es gewöhnt, unseren Benutzernamen und Passwort einzugeben, wenn wir uns zum Beispiel in unseren Social-Media-Account einloggen. Beim passwortlosen Login reicht der Benutzername aus. Zur Überprüfung der Nutzer*innen wird dann nicht das Wissen über ein Passwort sondern der Besitz eines Sicherheitsschlüssels, auch Authentikator genannt, verwendet. Dies kann ein USB-Stick sein, aber auch Computer oder Smartphone können Sicherheitsschlüssel sein. Das bietet mehr Sicherheit als ein Login mit Passwort. Da gar keine Passwörter mehr verwendet werden, können Passwörter auch nicht auf gefälschten Anmeldeseiten, zum Beispiel durch Phishing, gestohlen werden. Ebenso hängt die Sicherheit des Accounts nicht mehr von der Wahl eines guten Passworts ab und automatisierter Identitätsdiebstahl im großen Stil wird ausgeschlossen. Da der gleiche Sicherheitsschlüssel bei allen Webseiten verwendet werden kann, bietet der passwortlose Login eine bessere Usability als Passwörter. Denn Nutzer*innen müssen sich nichts spezielles für gewisse Webseiten merken, sondern melden sich stets gleich an.
Der offene Standard FIDO2 (Fast Identity Online) verspricht genau so einen passwortlosen Login. Er wird von der nicht-kommerziellen FIDO Allianz entwickelt, der bisher ca. 250 große Unternehmen (u. a. Google, Facebook, Amazon und viele mehr) und öffentliche Partner wie das deutsche Bundesamt für Sicherheit in der Informationstechnik (BSI) angehören. Da sich inzwischen auch Apple der Allianz angeschlossen hat, unterstützen alle wichtigen Browser (Chrome, Firefox, Edge, Opera, Safari) den Standard.
Durch diese breite Unterstützung und Verbreitung hat der FIDO2 Standard großen Potenzial, in Zukunft eine große Akzeptanz und breite Nutzer*innenbasis für den passwortlosen Login zu bekommen.
Der FIDO Standard kann auf Laptops und Smartphones (interne Sicherheitsschlüssel) und auf anderer Hardware wie USB-Sticks (externer Sicherheitsschlüssel) implementiert werden. Verwendet man interne Sicherheitsschlüssel, wird auch nur dieses Gerät registriert. Das kann den Login über unterschiedliche Geräte hinweg erschweren, wenn zum Beispiel das eigene Smartphone für das Mail-Konto registriert wurde, Nutzer*innen ihre Mails aber kurz auf dem Laptop eines Freundes checken möchten. Externe Sicherheitsschlüssel können dafür die Sicherheit erhöhen. Neben dem Laptop müsste ein*e Angreifer*in dann auch noch den USB-Stick stehlen.
USB-Sicherheitsschlüssel können außerdem Bluetooth oder NFC-Übertragungswege nutzen, um einen Stick auch über verschiedene Geräte hinweg einzusetzen. Dafür hält man den Stick entweder an die Rückseite des Smartphones oder drückt auf den Knopf, um eine Übertragung zu starten.
Wenn Nutzer*innen einen Sicherheitsschlüssel zum Beispiel bei ihrem Mail-Account verwenden möchten, müssen sie diesen zunächst dort registrieren. Dabei werden zwei neue Schlüssel auf dem Sicherheitsschlüssel erzeugt: ein privater und ein öffentlicher Schlüssel. Der öffentliche Schlüssel wird für den Mail-Account beim Mail-Anbieter gespeichert, während der private Schlüssel den Sicherheitsschlüssel nie verlässt. Für jeden Dienst und jede*n Nutzer*in werden auf dem Sicherheitsschlüssel unterschiedliche Schlüsselpaare erzeugt.
Man kann sich das wie ein schwarzes Brett hinter einer Vitrine vorstellen, das jeder einsehen kann, der den öffentlichen Schlüssel hat. Die Vitrine kann jedoch nur mit dem privaten Schlüssel geöffnet werden. Um zu überprüfen, ob jemand den privaten Schlüssel besitzt, kann man dieser Person also eine Information mitteilen (z. B. die Zahl “12”) und sie auffordern diese auf das schwarze Brett zu schreiben. Wenn dann “12” auf dem schwarzen Brett auftaucht, können wir bestätigen, dass die Person Zugang zum privaten Schlüssel hat.
FIDO2 ermöglicht es momentan nur, sich bei Accounts einzuloggen. Wenn Nutzer*innen sich bei einem Dienst ausweisen sollen, zum Beispiel bei der Eröffnung eines Bankkontos oder für eine öffentliche Verwaltungsleistung, ist das damit nicht möglich.
Die FIDO Allianz strebt an, die Accounterstellung mit verifizierten Identitätsattributen Wirklichkeit werden zu lassen und Probleme wie die Wiederherstellung von Accounts oder den FIDO-Standard im Internet der Dinge stärker einzusetzen. Bisher wurde der Standard aber nicht dementsprechend erweitert.
Ziel war es daher, einen externen Sicherheitsschlüssel zu entwickeln, der den passwortlosen Login weiterhin ermöglicht und gleichzeitig die Möglichkeit bietet, sich mit bestätigten Identitätsattributen auszuweisen. Im Demo-Video wird gezeigt, wie das aussehen könnte.
Der FIDO-Standard kann für bestimmte Anwendungszwecke angepasst werden. Diese Möglichkeit wurde genutzt, um ein eigenes Protokoll zu entwickeln, das es ermöglicht, Nachrichten mit Identitätsattributen von Nutzenden auszutauschen.
Die Idee für die Bestätigung der Informationen lässt sich mit einem versiegelten Empfehlungsschreiben vergleichen. In den Brief werden die Informationen geschrieben, die eine Bot*in mündlich übertragen soll. Anschließend wird der Brief versiegelt und vonvom Bot*in zumzur Empfänger*in gebracht. Wenn derdie Empfänger*in das Siegel kennt, wird der Brief geöffnet und die Informationen mit denen der*des Bot*in verglichen.
So werden in unserem Protokoll die Attribute gemeinsam mit einem signierten Hash auf dem Sicherheitsschlüssel abgespeichert. Der für die Signatur benutzte öffentliche Schlüssel sollte von einer vertrauenswürdigen Instanz stammen und auf vertrauenswürdigem Weg veröffentlicht werden. Das ist wie das Siegel für den Brief. Ein Diensteanbieter kann nun die Erweiterung wie folgt benutzen:
Zuerst wird der Sicherheitsschlüssel angefragt, ob die Identity Stick Erweiterung unterstützt wird. Daraufhin übermittelt der Sicherheitsschlüssel welche Attribute hinterlegt sind (bspw. Name, Geburtsdatum und Adresse). Der Dienst kann die gewünschten Attribute einzeln abfragen.
Diensteanbieter berechnen nun erneute den Hash der Attribute. Mittels des öffentlichen Schlüssels wird der signierte Hash entschlüsselt und mit dem berechneten verglichen. Dadurch können Diensteanbietende die Bestätigung der Attribute überprüfen. Dazu wird der Hash der Daten erneut berechnet. Dies ist vergleichbar mit der Überprüfung der Aussage des Boten mit dem Inhalt im versiegelten Brief.
Für den Prototyp wurde auf dem Solo FIDO2 Stick “Solo for Hackers” aufgebaut, dessen Firm- und Hardware offen zur Verfügung stehen. Für die Umsetzung wurde eine Anpassung des Solo Codes vorgenommen, die das oben beschriebene Protokoll implementiert. Da der Solo nur begrenzten Speicher zur Verfügung hat, müssen zum Senden der Attribute mehrere Nachrichten ausgetauscht werden. Zum Testen und für die Erzeugung der signierten Daten wurden entsprechende Skripte erstellt.
In einem ersten Test wurden Papierprototypen digitalisiert und für verschiedene Szenarien mit einer Gruppe von fünf Personen an einem Smartphone getestet. Erste Konzeptideen beinhalteten auch die Frage, inwiefern ein Personalausweis als Sicherheitsschlüssel und damit als Login-Mittel nützlich wäre und ob sich die Wahrnehmung von Nutzer*innen davon unterscheidet. Unsere Konzeptüberlegungen der ersten Tests haben wir hier beschrieben.
Zentrale Schlussfolgerungen
Basierend auf den Erkenntnissen der Papierprototypen und existierenden FIDO2 User Flows wurden Wireframes für die Anwendung eines Identity Sticks entwickelt.
Beim Starten auf einer Login-Seite wurde die Auswahl um die Möglichkeit ‘Passwortlos anmelden’ erweitert, um die Begrifflichkeit des ‘Sicherheitsschlüssels’ zu vermeiden. Die Informationen und Auswahlmöglichkeiten des USB-Sticks wurden über Overlays abgebildet, wie es bei den bestehenden FIDO2-Implementationen schon Praxis ist.
Um einen Sicherheitsschlüssel zum Ausweisen zu nutzen, durchlaufen User verschiedene Stufen. In unserem beispielhaft gezeigten öffentlichen Dienst wird der Stick als Mittel ausgewählt und eine persönliche PIN als Sicherheitsmerkmal eingegeben. Die PIN kann vorher in den Einstellungen konfiguriert werden. Wenn der Stick Biometrie-fähig ist, kann die PIN auch durch einen Fingerabdruck ersetzt werden. Mit einem Tippen auf den Stick werden die Informationen angezeigt, die der Dienst vom Stick anfordert: In diesem Fall Vor- und Nachname, Geburtsdatum und der Wohnort. Nach einer erneuten Bestätigung durch Nutzer*innen durch Tippen auf den blinkenden Stick werden die Daten übertragen und der User hat die eigene Identität bestätigt.
Für ein vollumfängliches Produkt könnten weitere Entwicklungsschritte unternommen werden:
Personalisierung des Sticks und Signatur von Daten
Die Personalisierung des Sticks bzw. Signatur der Daten müsste in einem Produktionsumfeld von einer vertrauenswürdigen Instanz gesichert werden. Dafür käme eine staatliche Stelle wie bspw. die Bundesdruckerei in frage, die auch die technische Infrastruktur der eID betreut. Für eine einsatzfähige und sichere Version des Sticks müsste die Hardware von dieser Instanz hergestellt, die Maintenance gesichert und die entsprechenden individuellen Daten bei Erstausstellung für jede Bürger*in signiert werden. Es wäre nützlich, Bürger*innen mit entsprechenden Informationen und Materialien über die Funktionsweise aufzuklären.
Weiterentwicklung des Protokolls
In der momentanen Version des Identity-Stick-Prototyps werden die Daten signiert auf dem Stick abgelegt und dann an Diensteanbieter*innen weiter gesendet. Dies verhindert zum Einen keine Replay-Attacken. Zum Anderen könnten die bestätigten Daten von Diensteanbieter*innen an Dritte weitergegeben werden. Daher müssten weitere Verbesserungen des Protokolls erfolgen. So sollte ein authentifizierter sichererer Kanal zwischen Stick und Diensteanbieter*in aufgebaut werden, über den Daten ausgetauscht werden könnten.
Erweiterter Hardwarespeicher und Features
Der Speicherplatz des Solo-Sticks ist limitiert, weshalb nur eine begrenzte Menge an Informationen darauf abgelegt werden kann. Mit der Produktion eigener Hardware könnte dieser Speicherplatz und damit die Funktionalität des Sticks erweitert werden. So könnte der Stick neben der sicheren (multi- und passwortlosen) Authentifizierung und Identifizierung auch einen sicheren Datenspeicher beinhalten, auf dem wichtige Dateien und Zertifikate abgelegt werden können, einen Passwortmanager beinhalten und vieles mehr.
Bekanntheitsgrad und Verbreitung von FIDO2
Der noch recht junge Standard wurde bisher von relativ wenigen Webseiten komplett implementiert. In Zukunft ist damit zu rechnen, dass mehr Diensteanbieter die Standards umsetzen und sich somit auch das Potenzial für Anwender*innen erhöht. Nur 7% der deutschen Bürger*innen geben außerdem bei einer Befragung an, den Standard zu kennen (gefragt nach: “Token/Stick (FIDO2)”), obwohl sie Potenzial für dessen Nutzung sehen. Eine größere Adaption könnte also auch erreicht werden, wenn dessen Vorteile stärker an Bürger*innen herangetragen werden. Durch die breite Beteiligung an der FIDO-Allianz ist jedoch mit einer zukünftig stärkeren Verbreitung zu rechnen.
Verlust eines Identity Sticks
Die Problematik des Verlustes eines Sticks ist noch nicht vollständig gelöst. In bestehenden Ansätzen wird empfohlen, einen zweiten Sicherheitsschlüssel zu hinterlegen oder eine Liste an Backup Codes zu generieren, die für die Zurücksetzung des Accounts verwendet werden können. Es könnte in solch einem Fall aber auch auf die Identifizierung mittels eines Ausweisdokuments (z.B. der eID) zurückgegriffen werden. Einen ähnlichen Fall beschreibt das BSI in einer technischen Richtlinie.
Der Prototyp des Identity Stick zeigt, dass der FIDO2 Standard genutzt werden kann, um eine einheitliche digitale Authentifizierungs- und Identifizierungslösung zu entwickeln. Potenzielle Nutzer*innen befürworten eine einheitliche Lösung und mit der weiteren internationalen Verbreitung von FIDO2 gibt es hier definitiv Entwicklungspotenzial. Die von uns vorgeschlagene Erweiterung könnte neben Identity Sticks auch für Laptops oder Smartphone Applikationen genutzt werden.
Dadurch können sich potenzielle Nutzer*innen mit einer einzigen Lösung digital einloggen und ausweisen. Sie müssten sich nicht mehr selbst um die Sicherheit ihrer digitalen Identität kümmern. Das könnte so leicht sein wie das Aufschließen einer Tür.
Vielen Dank an das BMBF, den DLR und den Prototype Fund, die mit Finanzierung, administrativer und organisatorischer Unterstützung dieses Projekt möglich gemacht haben!
Weitere Links zum Projekt: