Skip to main content
Erschienen in: HMD Praxis der Wirtschaftsinformatik 2/2023

Open Access 14.03.2023 | Schwerpunkt

Konzepte für sichere wallets in dezentralen Identitätsökosystemen

verfasst von: Paul Bastian, Micha Kraus, Jörg Fischer

Erschienen in: HMD Praxis der Wirtschaftsinformatik | Ausgabe 2/2023

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Zusammenfassung

Dezentrale Identitätsökosysteme bieten vielversprechende Lösungen für vielfältige Anwendungen in der Privatwirtschaft und öffentlichen Verwaltung. Die Anwendungen haben dabei sehr unterschiedliche Bedürfnisse und regulierte Umgebungen stellen hohe Sicherheitsanforderungen an die wallet und die von ihr verwalteten credentials. Gleichzeitig bietet der Smartphone-Markt ein fragmentiertes Feld an Sicherheitslösungen. Wir untersuchen die sicherheitstechnischen Voraussetzungen einer mobilen, nativen Wallet-Architektur für selbstbestimmte Nutzende und bewerten die vorhandenen sicherheitstechnischen Lösungsbausteine für hardwaregebundene Schlüsselspeicher, Biometrie sowie Gegebenheiten der Betriebssysteme Android und iOS. Die regulatorischen Anforderungen werden durch Maßnahmen wie Gerätebindung, Nutzerbindung sowie Authentisierung der wallet und der anfragenden Partei adressiert. Wir analysieren und bewerten die verschiedenen Varianten und Ausprägungen und leiten daraus einen interoperablen und privatsphäreorientierten Prozess für die vertrauenswürdige Ausstellung und Verifikation von Identitätsnachweisen ab und beschreiben das zugrunde liegende Vertrauensmodell. Wir diskutieren die Vorteile und Nachteile des Systems und geben einen Ausblick auf die weiteren Entwicklungen der Wallet-Sicherheit.

1 Einleitung

Digitale Identitäten sind ein essenzieller Baustein für die Digitalisierung unserer Gesellschaft und Wirtschaft, sowohl in hoheitlichen als auch in privatwirtschaftlichen Anwendungsszenarien. Die Aktivitäten der letzten Jahre zeigen ein zunehmendes Interesse auf vielen Ebenen: Immer mehr Staaten finanzieren identitätsbezogene Förderprojekte, zahlreiche neue Standards entstehen und die Europäische Union (EU) plant eine europäische wallet für digitale Identitäten im Rahmen der eIDAS-Revision (European Commission 2022b). Dabei rücken dezentrale Identitätslösungen immer mehr in den Fokus und verlagern somit das Interesse von traditionellen Identitätsökosystemen hin zu nutzerzentrierten, selbstbestimmten Lösungen auf Basis des Prinzips der self-sovereign identity (SSI) (Strüker et al. 2021). In unserem Beitrag konzentrieren wir uns auf die Lösungen und Visionen für die Wallet-Sicherheit innerhalb eines dezentralen Identitätsökosystems.

2 Hintergrund

Dezentrale Identitätsökosysteme umfassen in der Regel vier verschiedene Rollen. Das W3C Verifiable Credentials Data Model (Sporny et al. 2022) beschreibt den Aussteller (issuer), der dem Inhaber Berechtigungsnachweise (credentials) ausstellt, sowie den Inhaber (holder), der die credentials empfängt, in seiner digitalen Brieftasche (wallet) speichert und dem Überprüfer (verifier) vorzeigt (presentation). Ein Register für überprüfbare Daten (verifiable data registry) agiert als Vertrauensanker und beinhaltet beispielsweise Identifikatoren, öffentliche Schlüssel und Schemata der öffentlichen Akteure. Abb. 1 zeigt die Rollen eines dezentralen Identitätsökosystems und deren Vertrauensbeziehungen.
Eine wallet ist eine digitale Softwarekomponente, die im Auftrag und unter Kontrolle eines holders Aktionen ausführt. Ähnlich wie eine physische Brieftasche Identitätsdokumente enthält, kann die digitale wallet mehrere credentials und die dazugehörigen Schlüssel sicher speichern und verwalten. Sie implementiert Protokolle und deren Schnittstellen1, um credentials von issuern zu empfangen und sie als presentations an verifier zu senden. Die wallet authentifiziert den holder und führt Transaktionen in der Regel nur mit seiner expliziten Zustimmung aus.
Ein credential ist eine Sammlung von ein oder mehreren Attributen über ein Subjekt, das von einem issuer ausgestellt wird. Verifiable credentials sind manipulationssichere credentials, die von einem verifier kryptografisch verifiziert werden können. In der Regel identifiziert dieser Nachweis den issuer und enthält weitere Metadaten wie Ausstellungs- und Ablaufdatum. Derzeit werden verschiedene Datenformate für verifiable credentials entwickelt und benutzt, so beispielsweise W3C Verifiable Credentials, AnonCreds oder ISO mdoc (ISO/IEC JTC 1/SC 27 2021; Young 2021; Bastian 2022). Im Rahmen dieses Papers verwenden wir den Begriff credential für verifiable credentials.
Die Vorteile eines offenen, dezentralen Identitätsökosystems liegen in der Vielzahl und Breite der Anwendungsmöglichkeiten. Die Verknüpfung aus hoheitlichen und privatwirtschaftlichen, sensiblen und alltäglichen credentials in einer wallet können dem holder im alltäglichen Umgang mehr Komfort, Vertrauen und Sicherheit bieten. Im Alltag finden sich heute bereits viele Szenarien für derartige Kombinationen: für eine Autoverleihung werden Personalausweis, Führerschein und Kreditkarte benötigt; für eine Stellenbewerbung Personalausweis, Zeugnisse und womöglich ein Führungszeugnis; für den Stadionbesuch ein Ticket, ein Altersnachweis und ein Impfnachweis. Credentials können in Identitätsnachweise (identity credentials) und Beglaubigungsnachweise (attestation credentials) unterschieden werden (siehe Abb. 2). Identity credentials können verwendet werden, um die Identität eines Inhabers ähnlich wie physische Ausweisdokumente und Pässe nachzuweisen. Ein attestation credential ist nur ein Nachweis, der Aussagen über eine benutzende Person macht und die Authentifizierung von Attributen erlaubt (European Commission 2022c).
Die Unterscheidung zwischen identity credentials und attestation credentials ist neben der semantischen Bedeutung auch für die Sicherheitsanforderungen an die wallet relevant. Credentials für Identitäten unterliegen für regulatorische Anwendungsfälle meist hohen Anforderungen, attestation credentials benötigen oft kein hohes Vertrauensniveau. Eine wallet für self-sovereign identities muss im besten Fall also unterschiedliche Vertrauensniveaus unterstützen, kommunizieren und bedienen können.

3 Zielstellung

Die Sicherheit eines dezentralen Ökosystems basiert auf den ihm zugrunde liegenden Vertrauensbeziehungen. Eine Vertrauensbeziehung besteht dabei aus einem Vertrauensgeber und einem Vertrauensnehmer, zum Beispiel gibt der verifier dem issuer das Vertrauen, eine reale Organisation zu verkörpern und nur legitime credentials auszugeben beziehungsweise ungültige credentials rechtzeitig zu revozieren. Die Vertrauensbasis kann dabei sowohl organisatorischer als auch technischer Natur sein, so zum Beispiel über kryptografisch gesicherte Kommunikationskanäle, Standardisierung und Zertifizierung, über durch governance geregelte Verträge oder über regulatorische und gesetzlich ermächtigte Vertrauensanker und Akkreditierungsstellen geschaffen werden. Dabei haben alle legitimen Teilnehmenden eines Ökosystems ein berechtigtes Interesse an einem sicheren und vertrauenswürdigen Austausch. Ein offenes Ökosystem ermöglicht jedoch potenziell auch die Entwicklung missbräuchlicher wallets, die die Extraktion und Weitergabe von credentials und deren Schlüsselmaterial möglich machen könnten. Somit haben der issuer und der verifier ein berechtigtes Interesse, dass die ausgestellten credentials sicher verwahrt und vor Missbrauch geschützt werden, denn der issuer riskiert sonst seine Glaubwürdigkeit und der verifier fundiert seine Geschäftsprozesse auf der Annahme geprüfter Daten.
Während sich ein Großteil der Sicherheitsforschung zu Identitätsökosystemen auf die Vertrauensbeziehungen des Ausstellungsprozesses und die verschiedenen Technologien der verifiable data registries konzentriert hat, wurde die Entwicklung für den holder und seine wallet meist vernachlässigt (Bastian et al. 2021). Die Gründe dafür könnten der relativ junge Stand der Forschung für offene Identitätsökosysteme und geringe Sicherheitsanforderungen bei den ersten prototypisch umgesetzten Anwendungsfällen sein. Seitdem haben staatlich geförderte Projekte und Piloten die dezentrale Identität in den Fokus gerückt und damit neue Anforderungen an regulierte und hochsichere Anwendungsfälle für überprüfbare credentials aufkommen lassen.
Mit diesem Beitrag wollen wir die angesprochene Lücke schließen. Gegenstand unserer Untersuchungen ist, wie sicherheitstechnische Konzepte für wallets mit Identitätsnachweisen unter Nutzung verfügbarer Smartphones und Technologien umgesetzt werden können. Dabei sollen die Lösungskonzepte die Anforderungen von regulierten Anwendungen berücksichtigen und dabei auf bestmögliche Reichweite, Skalierung, Sicherheit, Nutzerfreundlichkeit und Privatsphäre hin gestaltet und bewertet werden.
Die Vorgehensweise beinhaltete eine intensive Konzeptarbeit im Rahmen des geförderten Verbundprojekts IDunion, Arbeit in Fachgruppen der Begleitforschung Sichere Digitale Identitäten sowie die Vorstellung und Diskussion in der Wallet Security Working Group der Decentralized Identity Foundation (DIF). Die Arbeit basiert zudem auf Erfahrungen aus dem SSI-Pilotvorhaben des Bundeskanzleramts.
Im Folgenden analysiert unser Beitrag zunächst die Anforderungen aus verschiedenen regulierten Anwendungen. Danach betrachten wir die Rahmenbedingungen für den möglichen Lösungsraum und geben eine Übersicht über die verfügbaren sicherheitstechnischen Komponenten. Wir leiten aus den Anforderungen die wesentlichen Bausteine eines sicherheitstechnischen Konzepts für die wallet ab. Anschließend folgt die Diskussion und Bewertung der erarbeiteten Lösungskonzepte. Zum Schluss geben wir einen Ausblick auf die weiteren Forschungen und Arbeiten in diesem Umfeld.

4 Anforderungen

Die Teilnehmenden in einem offenen Identitätsökosystem können ihre eigenen Sicherheitskonzepte entwerfen, solange diese nicht mit Anwendungsfällen kollidieren, die einer gesetzlichen Grundlage unterliegen. Internationale, nationale oder staatliche Gesetze regeln spezifische technische Anforderungen, die Identitätslösungen erfüllen müssen, z. B. Anwendungsfälle im Zusammenhang mit Finanzen (Geldwäschegesetz), Identitätsnachweisen (Personalausweisgesetz), Telekommunikation (Telekommunikationsgesetz) und anderen behördlichen Nachweisen. Daher geben nationale Regulierungsbehörden Richtlinien heraus, die Mindestsicherheitsstandards für diese Gesetze spezifizieren. Diese Richtlinien enthalten dann eine Reihe von Sicherheitsmaßnahmen für verschiedene Vertrauensniveaus, zum Beispiel NIST IAL und AAL (NIST 2020), eIDAS LoA (European Commission 2022a) oder BSI TR-03107/03147 (BSI 2022a, b). Typische Bewertungsfaktoren für elektronische Identitäten umfassen den Ausstellungsprozess mit der Identitätsprüfung der Nutzerin oder des Nutzers und der Ausgabesicherheit, die Sicherheit des Authentisierungsmittels als Mehrfaktor-Authentisierung mit den Faktoren Besitz, Wissen und Inhärenz (Biometrie), die Kommunikationssicherheit, die kryptografischen Algorithmen und die Widerrufsmechanismen.
Zur Unterstützung der Sicherheitsbewertung technischer Lösungen und ihres Zuverlässigkeitsgrads werden die Bedrohungen und Angriffsvektoren modelliert und es wird eine Analyse des Angriffspotenzials beim Authentifizierungsmechanismus durchgeführt. Diese Bedrohungsmodelle werden in der Regel nach dem Standard ISO 29115 (ISO/IEC JTC 1/SC 27 2013) bewertet, der standardisierte Angriffsvektoren für ein IT-System beschreibt:
  • online/offline guessing (wiederholtes Durchprobieren der Anmeldedaten oder Schlüssel)
  • credential duplication (Kopie von credentials und deren Schlüssel)
  • phishing (Abfangen von Anmeldeinformationen über gefälschte Websites/E-Mails und soziale Manipulation)
  • eavesdropping (Lauschangriff durch passives Abhören)
  • replay attack (Wiederbenutzung aufgezeichneter Nachrichten)
  • session hijacking (Übernahme einer authentisierten Sitzung)
  • man-in-the-middle (MitM; aktiver Angreifer positioniert sich zwischen den Kommunikationspartnern und täuscht vor, das jeweilige Gegenüber zu sein)
  • credential theft (Diebstahl des Geräts)
  • spoofing and masquerading (Fälschung und Vortäuschung von Anmeldeinformationen)
Die zu bewertenden Ziele werden dann anhand dieser Angriffspotenziale im Hinblick auf die zu erwartende Zeit, das Fachwissen und die Ausrüstung des Angreifers sowie das Wissen über die technische Lösung und das Zeitfenster (window of opportunity), wie in ISO 18045 (ISO/IEC JTC 1/SC 27 2022) beschrieben, analysiert. Anschließend werden diese Metriken zusammengefasst und ergeben ein Angriffspotenzial, das einem bestimmten Vertrauensniveau zugeordnet wird. Die Vertrauensniveaus (level of assurance) werden einem Gesamtsystem und dem Lebenszyklus rund um die Identität, einschließlich der Quelle der Identitätsdaten, zugeordnet, d. h., die wallet ist nur ein Teil der Bewertung und wird nicht selbst einem Vertrauensniveau zugeordnet. Viele Angriffsvektoren werden durch die Architektur und die Protokolle selbst abgedeckt, wie z. B. eavesdropping und replay attack.
Die wallet des Inhabers spielt jedoch eine Schlüsselrolle, wenn es darum geht, ein bestimmtes Vertrauensniveau zu erreichen, insbesondere im Hinblick auf online/offline guessing, credential duplication, man-in-the-middle und credential theft. In den folgenden Kapiteln werden wir uns darauf konzentrieren, Lösungskonzepte und Sicherheitsmaßnahmen für diese Angriffsvektoren zu beschreiben, die die Anforderungen an eine wallet in einem offenen Identitätsökosystem erfüllen.

5 Rahmenbedingungen

5.1 Wallet-Architektur

Smartphone und Wearables sind heute der Mittelpunkt des digitalen Lebens vieler Bürgerinnen und Bürger und stellen damit eine prädestinierte Plattform für eine nutzerzentrierte SSI-Wallet dar. Die spezifische technische Architektur einer wallet bietet jedoch viele Gestaltungsmöglichkeiten. Die Lösungen charakterisieren sich hauptsächlich durch den Speicherort der credentials, den sicheren Mechanismus zur Schlüsselverwaltung und die Nutzerauthentisierung. Das Spektrum möglicher Architekturen reicht von nativen, mobilen Wallet-App-Lösungen (auch edge oder non-custodial wallet genannt) ohne zusätzliche Backend-Dienste bis hin zu vollständig cloudbasierten Wallet-Diensten (auch managed oder custodial wallet genannt), die nicht an ein Nutzergerät gebunden sind. Zwischen diesen Lösungen gibt es eine Vielzahl von hybriden Architekturen, die sowohl Nutzergeräte als auch Backend-Dienste nutzen. Die technische Ausgestaltung beeinflusst maßgeblich das sicherheitstechnische Konzept. Daneben hat sie Auswirkungen auf Eigenschaften wie backup & recovery, Sperrmechanismen, Offline-Unterstützung und die Privatsphäre.
In unserem Beitrag fokussieren wir uns ausschließlich auf die mobile Wallet-Architektur. Eine native, mobile Wallet-Lösung ist dabei der dezentralste Ansatz einer Architektur. Hierbei werden alle credentials sowie das Schlüsselmaterial auf dem Smartphone gespeichert und auch die Nutzerauthentisierung findet ausschließlich lokal gegenüber dem Gerät statt. Diese Lösung ist aufgrund der Fragmentierung des Smartphone-Markts technisch komplex und ermöglicht für gerätegebundene credentials keine Backup-Mechanismen, bietet dafür allerdings ein hohes Maß an Nutzerkontrolle, gute Möglichkeiten der Offline-Fähigkeit und Privatsphäre.

5.2 Nutzungsszenarien

Eine wichtige Differenzierung für die Betrachtung der sicherheitstechnischen Konzepte sind die Art und der Ort der Nutzung beziehungsweise die damit einhergehenden Kommunikationskanäle. Hierbei ist zu unterscheiden zwischen der Verifizierung der credentials vor Ort (on-site) und der in der Ferne (remote) über das Internet. Der Standort des verifiers hat einen maßgeblichen Einfluss auf die Vertrauensbeziehung zwischen holder und verifier und insbesondere auf die Möglichkeiten einer Nutzerauthentisierung.
Im On-site-Fall handelt es sich um klassische Identifizierungsprozesse äquivalent zu analogen Ausweisdokumenten: Der verifier fragt ein credential an und der holder übermittelt eine presentation seiner credentials. Der Kommunikationskanal kann hier sowohl offline über lokale Verbindungen wie NFC, Bluetooth oder WiFi stattfinden als auch online, wenn sowohl die wallet des holders als auch die des verifiers mit dem Internet verbunden ist. Der Remote-Fall findet dagegen immanent immer online statt. Die physische Nähe zum verifier ermöglicht oft eine bessere Vertrauensbeziehung, während das Remote-Szenario insbesondere zusammen mit Biometrie Herausforderungen für die Sicherheit und Privatsphäre einer Nutzerauthentisierung darstellt.
Beide Nutzungsszenarien erfüllen gängige und wichtige Anwendungsfälle und müssen deshalb in den Untersuchungen betrachtet werden.

5.3 Sicherheitsmechanismen der Smartphones

Die technischen Voraussetzungen für eine sichere SSI-Wallet sind heute auf fast allen Mobilgeräten gegeben. Die starke Fragmentierung, insbesondere bei Android, erschwert eine einheitliche Lösung und macht die Gerätebindung und Nutzerauthentisierung technisch komplex. Abb. 3 zeigt die vorhandenen Technologien in Bezug auf ihre Abschätzung zur Verbreitung im Markt und das erreichbare Vertrauensniveau.
Bei einem softwarebasierten Ansatz wird das Schlüsselmaterial im Speicherbereich der App verwaltet und bei den kryptografischen Operationen vom Hauptprozessor im normalen RAM geladen. Ebenso wie die White-box-Kryptografie, bei der das Schlüsselmaterial algorithmisch im Quellcode obfuskiert wird, bietet dieses Verfahren keinen wesentlichen Schutz gegen Extraktion und Duplizierung (Sanfelix et al. 2015).
Die Trusted Execution Environment (TEE) ist eine geschützte, hardwareunterstützte Prozessorumgebung, die sichere Anwendungen für mobile Geräte wie Smartphones, Tablets oder Smartwatches bereitstellt. Die TEE ist vom Hauptbetriebssystem (der Rich OS Execution Environment) isoliert und läuft auf einem separaten Betriebssystem mit eigenem Speicherbereich. Im Smartphone-Markt sind TEEs seit Android-Version 6 vorgeschrieben (Google 2022e), hier hat sich die Technologie Arm TrustZone2 in Verbindung mit der GlobalPlatform-Spezifikation durchgesetzt und wird von mehr als einem Dutzend Chipherstellern angeboten. Die TEE ist an einen sicheren Bootprozess gekoppelt und lädt signierten Code in Form von trusted applets, die ihren Speicher mit chipindividuellen Schlüsseln absichern. Eine Schlüsselverwaltung wird in trusted applets innerhalb der TEE organisiert und über die Keymaster-API von Android der wallet bereitgestellt (Google 2022a). Die API bietet auch eine Möglichkeit zur Attestierung der Schlüsseleigenschaften und des Speicherorts mittels Zertifikatsüberprüfung an (Google 2022b). Die Freischaltung der Schlüssel in der TEE ist mit der System-PIN und Biometrie verknüpfbar. Auch wenn die TEE ein erhöhtes Sicherheitslevel anbietet und heute zur Absicherung von Bezahlvorgängen und DRM-Applikationen genutzt wird, gab es in der Vergangenheit mehrfach erfolgreiche Exploits gegen TEEs in Android-Telefonen (Sanfelix 2019; Cerdeira et al. 2020).
Die Secure Enclave ist ein dediziertes sicheres Subsystem des Apple-Ökosystems, das als system-on-chip integriert ist (Apple 2022c). Die Secure Enclave hat einen eigenen Prozessor und greift durch eine memory protection engine verschlüsselt auf den Hauptspeicher zu. Sie besitzt zudem einen sicheren Zufallszahlengenerator, nicht flüchtigen Speicher und eine Hardware-Engine für AES und Public Keys. Sie ist gegen Manipulationen und Seitenkanalangriffe geschützt und enthält ein eigenes Betriebssystem namens sepOS. Erstmals wurde die Secure Enclave im Chip A7 des iPhone 5s verbaut und ist heute in allen Apple-Geräten mit iOS-Version 14 verfügbar. Apple setzt die Technologie sowohl für Touch ID und Face ID als auch für Apple Pay ein, weitere zukünftige Anwendungsfälle sind die mobile Driving Licence und Autoschlüssel des Car Connectivity Consortium. Für Signaturen und Verschlüsselung mit asymmetrischer Kryptographie werden Schlüssel nur auf der elliptischen Kurve NIST P‑256 unterstützt, die ausschließlich auf dem Gerät erzeugt werden können (kein Schlüsselimport), ebenso ist eine Attestierung der hardwaregebundenen Schlüssel bis jetzt nicht möglich (Apple 2022b). Secure Enclave ist derzeit nach FIPS 140-2/3 zertifiziert, eine Common-Criteria-Zertifizierung steht aus (Apple 2021). In der Vergangenheit war die Secure Enclave als Teil des Apple-Ökosystems bereits ein Ziel von Exploits (Gian 2020).
Die StrongBox ist eine Implementierung für den Android-Keymaster ab Android-Version 9 und basiert auf einem separaten, hardwarebasierten Sicherheitschip, Google nennt dabei embedded Secure Elements (eSE) und on-SoC secure processing units (iSE) (Google 2022a). Den Auftakt machte 2018 eine Eigenentwicklung namens „Titan M“ für das Pixel 3, für die zweitjüngste Generation Pixel 6 nutzt Google den „Titan M2“, basierend auf der offenen Befehlssatzarchitektur RISC‑V. Die Anforderungen für eine StrongBox sind ein eigener Prozessor, sicherer Speicher, ein echter Zufallszahlengenerator und eine Resistenz gegen physische und logische Attacken wie zum Beispiel Seitenkanalangriffe. Analog zu den TEEs unterstützt der Android Keymaster verschiedene Algorithmen3 und eine Attestierung der Schlüssel aus einer Strongbox. Im März 2021 verkündete Google die Android Ready SE Alliance, eine Partnerschaft mit führenden Herstellern von Secure Elements, um die Sicherheit des Android-Ökosystems zu stärken und einen Wechsel zu Strongbox-kompatiblen Hardwarechips zu beschleunigen (Google 2021). Damit sollen Anwendungsfälle für digitale Schlüssel, Führerscheine, Identitäten und elektronisches Geld ermöglicht werden. Dies wird wahrscheinlich mittelfristig einen Sicherheitszugewinn für die Android-Plattform mit sich bringen, da die Strongbox bisher den Pixel-Geräten vorbehalten war und so nur einen kleinen Marktanteil abdecken konnte. Bis heute sind keine öffentlich bekannten Angriffe auf die bisherigen Strongbox-Chips der Titan-Familie bekannt.
Ein Secure Element beschreibt einen manipulationssicheren, zertifizierten Sicherheitschip mit eigenem Prozessor, eigenem Hauptspeicher und hardwareunterstützten Co-Prozessoren für kryptografische Operationen. Zusätzlich besitzt er echte Zufallszahlengeneratoren zur Erstellung von Schlüsselmaterial und einen eigenen Speicher, um Zertifikate, Schlüssel oder andere schützenswerte Daten abzulegen. Secure Elements treten je nach Anwendungsgebiet in verschiedenen Formfaktoren und unter unterschiedlichen Bezeichnungen auf. Als kontaktlose oder kontaktbehaftete Smartcard (Chipkarte) ermöglichen sie zahlreiche Anwendungen für Kreditkarten, Personalausweis, Gesundheitskarten oder PKI- und Zutrittskarte im Unternehmensumfeld. Als UICC (SIM-Karte) oder SD-Karte finden sich Secure Elements zum Einstecken. Der allgemeine Trend im Mobilfunkmarkt geht hin zu den integrierten eUICC (embedded UICC) und eSE (embedded Secure Elements), die von den Telekommunikationsanbietern beziehungsweise den Geräteherstellern verwaltet werden. Der Markt wird von einem knappen Dutzend etablierten Unternehmen dominiert, die alle ihre eigenen proprietären Betriebssysteme nutzen. In der Regel wird je nach Chip eine Vielzahl von kryptografischen Algorithmen für Verschlüsselung und Signatur mit symmetrischen und asymmetrischen Schlüsseln unterstützt. Ein überwiegender Teil der Secure Elements kann auch nachladbaren und interoperablen Code als Java Card Applet ausführen, der über eine im Chip implementierte Java Card Runtime Environment interpretiert wird (Chen 2000). Über den GlobalPlatform-Standard wird die Verwaltung und Installation der Java Card Applets ermöglicht, die Schlüssel zur Autorisierung liegen hier meist beim Hersteller. Java Card ermöglicht es, eigene Logik und Protokolle in einem Secure Element abzubilden, und bietet somit mehr Handlungsspielraum als die vorgegebenen APIs der übrigen Sicherheitschips. Secure Elements gehören seit mehr als 20 Jahren zu den sichersten Systemen überhaupt. Dies verdanken sie in erster Linie einem sehr strengen Zertifizierungsprozess nach Common Criteria, bei dem die Hardware und Software gemäß standardisierten Anforderungen von spezialisierten und zertifizierten Prüferinnen und Prüfern abgenommen wird.
Abseits der vorgestellten Schlüsselspeicher gibt es noch Hardware Security Modules (HSM) für den Serverbereich und Trusted Platform Modules (TPM) für den Desktop- und Notebook-Markt, die jedoch für eine mobile, native Wallet-Architektur nur eine untergeordnete Rolle spielen.
Zusammenfassend kann man festhalten, dass die Marktabdeckung mit zunehmendem Sicherheitslevel sinkt. TEEs als Basis für ein mittleres Sicherheitslevel sind auf fast allen Geräten vorhanden. Secure Elements, die für das Erreichen eines hohen Sicherheitslevels notwendig wären, sind aber nur in den Premiummodellen der Handyhersteller verbaut. Abhilfe können hier mittelfristig auch die eUICCs schaffen, aber auch damit ist zum heutigen Zeitpunkt keine allumfassende Marktabdeckung möglich. Diesen Herausforderungen stellt sich auch die Smart-eID, die die Online-Ausweisfunktion des Personalausweises aufs Smartphone bringen soll (BMI 2021).

6 Lösungsbausteine

Um die Mehrfaktor-Authentisierung als Identifizierungsmittel zu realisieren und die geforderten Angriffsvektoren zu adressieren, sollte eine mobile wallet folgende wichtige Kernkomponenten umsetzen:
  • Gerätebindung – die Bindung der credentials an das Gerät des holders bildet den erforderlichen Authentisierungsfaktor Besitz ab. Die Verwendung hardwaregebundener Schlüssel verhindert dabei das unerlaubte Kopieren und verhindert damit die credential duplication.
  • Nutzerbindung – die Bindung der credentials an den im Ausstellungsprozess vom issuer identifizierten holder mittels PIN oder Biometrie realisiert den zweiten Authentisierungsfaktor (Wissen oder Inhärenz). Eine sichere Umsetzung zur Speicherung und Überprüfung der Anmeldedaten auf dem Smartphone schützt das Identifizierungsmittel vor online/offline guessing und credential theft.
  • Wallet-Authentisierung – die Nachweisbarkeit der Integrität und Authentizität der wallet gegenüber issuer und verifier ermöglicht diesen eine Vertrauensbeziehung, dass die wallet die Verwaltung der credentials und Nutzerauthentisierung nach sicheren, zertifizierten Standards durchführt und nicht manipuliert ist. Damit werden Gerätebindung und Nutzerbindung unterstützt sowie Spoofing- und Masquerading-Angriffe mitigiert.
  • Vertrauenswürdige Partei – die Nachprüfbarkeit von Issuer- und Verifier-Identitäten durch die wallet unterstützt den holder in seiner selbstsouveränen Entscheidungsfindung und verhindert Man-in-the-Middle-Angriffe und erschwert potenzielles phishing.

6.1 Gerätebindung

Die Hauptaufgabe der wallet ist die Verwaltung der credentials und des dazugehörigen, kryptografischen Schlüsselmaterials. Während die Signatur des issuers die Integrität und Authentizität der ausgestellten Attribute im credential sicherstellt, beinhaltet dieses einen weiteren Schlüssel, um es an die wallet des holders zu binden. Der öffentliche Teil des Schlüssels kann im credential selbst hinterlegt, über ein im credential referenziertes DID document4 abgelegt oder über ein Zero-Knowledge-Proof-gesichertes link secret abgebildet sein. Der private Schlüsselteil wird in der wallet des holders gemanagt. Mit diesem wird eine vom verifier angeforderte presentation signiert. Dieses Schlüsselpaar ist es auch, über das eine Gerätebindung an das Smartphone des holders geschehen kann.
Für die Gerätebindung stehen grundsätzlich zwei Ansätze zur Auswahl: Der Ansatz trusted storage geht davon aus, dass die wallet als Ganzes in einer sicheren Umgebung betrieben wird, die die Integrität und Authentizität sicherstellt, und damit die übermittelten Daten der credentials auch vertrauenswürdig sind. Dieser Ansatz wird beispielsweise vom EAC-Protokoll des neuen Personalausweises angewandt. Zunächst wird mittels terminal und chip authentication die Authentizität des verifiers und der wallet sichergestellt und ein sicherer Kanal aufgebaut. Anschließend werden die angefragten Daten unsigniert innerhalb des secure messaging übertragen. Während dieser Ansatz gute Privatsphäreneigenschaften bietet, erfordert er vom Gerät ein Secure Element, um die Protokolllogik innerhalb der sicheren Umgebung abzubilden. Die APIs einer Strongbox, Secure Enclave oder TEE geben diese Funktionalität nicht her.
Die präferierte Lösung zur Gerätebindung ist deshalb das cryptographic key binding. Hierbei wird das credential an einen sicheren Schlüssel gebunden, der innerhalb der sicheren Umgebung liegt, das credential selbst aber im (verschlüsselten) Speicher der Wallet-App verwaltet. Dieser Ansatz wird heute von allen dezentralen Identitätsökosystemen verfolgt. Der Vorteil dieses Ansatzes ist, dass er mit allen vorgestellten mobilen Sicherheitsumgebungen kompatibel ist und somit eine hohe Marktabdeckung erreicht. Der Nachteil ist jedoch, dass die unlinkable, privatsphärenorientierten Signaturalgorithmen auf Basis von CL (Camenisch und Lysyanskaya 2004; Khovratovich und Lodder 2018; Curran et al. 2022) und BBS+ (Boneh et al. 2004; Looker und Steele 2021) mit selektiver Offenlegung von keiner heute verfügbaren Hardware unterstützt werden und auch in absehbarer Zukunft nicht flächendeckend ausgerollt sind5. Stattdessen ergibt eine Auswahl der am weitesten verbreiteten Algorithmen Sinn, um den Implementierungsaufwand gering zu halten und zudem eine kryptografische Agilität6 zu garantieren. Da RSA von Regulierungsbehörden zunehmend kritischer gesehen wird und auf der Secure Enclave nicht verfügbar ist, sind die vielversprechendsten hierfür7:
  • ECDSA/SHA256 mit NIST P‑256/secp256r1
  • ECDSA/SHA256 auf BrainpoolP256r1
Auf dieser Basis wird ein simples Challenge-Response-Schema zur Authentisierung der credentials genutzt. Die auf dem jeweiligen Endgerät verfügbaren Sicherheitsmechanismen sollten ausgenutzt werden und der Typ des genutzten Sicherheitschips sollte im credential selbst vermerkt werden. Optional ist es auch möglich, das damit erreichbare level of assurance selbst mit im credential zu vermerken.

6.2 Nutzerbindung

Eine Nutzerbindung in einer nativen, mobilen wallet erfolgt über den zweiten Faktor Wissen (PIN/Passwort) oder Inhärenz (Biometrie). Eine Authentisierung des holders ist eine Kernanforderung für identity credentials, während attestation credentials in der Regel die Nutzerin oder den Nutzer nicht authentisieren müssen.
Im On-site-Anwendungsfall kann eine Nutzerbindung verhältnismäßig einfach realisiert werden, indem der verifier eine manuelle Identifizierung des holders durchführt, mittels Abgleich des Lichtbilds oder anderer biometrischer Daten, die vom issuer überprüft und im credential als Attribute hinterlegt wurden. Dabei ist zu beachten, dass die Übermittlung geprüfter und signierter biometrischer Daten ein gewisses Risiko für die Privatsphäre darstellt. Die die wallet nutzende Person muss dabei durch die physische Nähe darauf vertrauen können, dass der verifier direkt vor ihr steht und keine Relay- oder Phishing-Attacken möglich sind. Diese Vertrauensbeziehung kann über ein Offline-Kommunikationsprotokoll mit beschränkter Reichweite oder über eine lokale Initiierung der Kommunikation, beispielsweise mittels QR-Code, unterstützt werden. Darüber hinaus sollte eine Authentisierung des verifiers (siehe Abschn. 6.4) derart stattfinden, dass der holder diese in seiner wallet kontrollieren kann.
Im Gegensatz dazu bringt eine Nutzerbindung im Remote-Anwendungsfall, insbesondere mittels biometrischer Authentisierung, erhebliche technische Komplexität und Risiken für Datenmissbrauch und Privatsphäre mit sich. Eine wallet muss je nach Anwendungsfall die Authentisierung des holders selbst durchführen oder einem vertrauenswürdigen verifier überlassen. Der präferierte, nutzerzentrierte und datenschutzorientierte Ansatz für den Remote-Anwendungsfall speichert die Referenzdaten des holders nur in der wallet, ebenso erfolgt der Abgleich nur lokal auf dem Gerät, eine technische Lösung autorisiert die Nutzung des (gerätegebundenen) Besitzfaktors durch eine erfolgreiche Nutzerauthentisierung. Diese Architektur erfordert gleichzeitig eine Vertrauensbeziehung zur wallet als Identifizierungsmittel, da issuer und verifier eine Zusicherung der lokal erfolgten Nutzerbindung benötigen. Die daraus resultierende nachweisbare Authentizität der wallet wird im folgenden Kapitel beschrieben. Zunächst werden die Details zur Nutzerbindung ausgeführt.
Als etabliertes Verfahren ist die Verwendung von PINs und Passwörtern heute noch immer weitverbreitet und auch bei der Entsperrung des Smartphones mit Biometrie der Backup-Mechanismus. Für eine Anwendung im regulierten Umfeld sind die Länge und das Alphabet der PIN, beziehungsweise des Passworts, und der daraus resultierende Kombinationsraum zusammen mit dem Fehlbedienungszähler maßgebend. Außerdem müssen die Implementierung und der Speicherort der Referenzwerte beziehungsweise des Fehlbedienungszählers den Anforderungen des Vertrauensniveaus entsprechen. Sowohl iOS als auch Android bietet die System-PIN als Authentifizierungsmittel an, das auch an die hardwaregebundenen Schlüssel aus TEE, Strongbox und Secure Enclave gekoppelt werden kann. Hierbei ist aber anzumerken, dass die Wallet-App keine Mindestangaben zur Stärke der PIN vorgeben kann und auch sonst kein Mechanismus bereitsteht, um die Eigenschaften zu ermitteln. So kann unter Android die System-PIN ein Wischmuster, eine PIN oder ein Passwort sein. Eine andere Option ist die Implementierung einer separaten PIN, die von der Wallet-App verwaltet wird. Hierbei kann eine PIN-Policy selbst festgelegt und der Fehlbedienungszähler im sicheren Speicher des Smartphones abgelegt werden. Der Nachteil bei dieser Variante ist, dass die PIN-Logik in Software abgebildet wird, was für ein hohes Vertrauensniveau ebenfalls nicht ausreichend ist. Zuletzt besteht die Möglichkeit, die PIN in einem Secure Element zu speichern, so lässt sich auch eine Autorisierung eines gerätegebundenen Schlüssels aus dem Secure Element sehr gut koppeln; nachteilig ist lediglich der Marktanteil dieser Lösung. Ähnlich wie bei der Gerätebindung bieten die Smartphones unterschiedliche Lösungsansätze, die es zu nutzen gilt und die sich im Vertrauensniveau des credentials widerspiegeln müssen.
Biometrie ermöglicht die Nutzerauthentisierung auf der Grundlage von Verhaltens- und körperlichen Merkmalen wie Fingerabdrücken, Gesicht, Iris, Stimme oder Gang und bietet den Komfort einer einfachen Authentifizierung, da sich die Nutzerin oder der Nutzer keine PINs oder Passwörter merken muss. Auf fast allen Smartphones finden sich deshalb heute biometrische Sensoren für die biometrischen Modalitäten Finger und Gesicht und der Trend zu deren Nutzung nimmt seit Jahren konstant zu. Um die Anforderungen für ein Vertrauensniveau einer biometrischen Authentifizierung zu systematisieren und die technischen Lösungen vergleichbar zu machen, sind Definitionen für biometrische Performanzwerte wie auch eine Präsentationsangriffsdetektion notwendig. Das BSI hat zu diesem Thema die „Technical Guideline for Biometric Authentication Components in Devices for Authentication“ (BSI 2021) herausgebracht, die Vorgaben und Empfehlungen bezüglich Biometrie gibt. Die verschiedenen Implementierungen der Hersteller wurden jedoch in den vergangenen Jahren regelmäßig angegriffen und sind mit meist trivialen Methoden überwindbar. So gut wie alle Smartphones sind deshalb nach dem Stand der Technik für regulierte Anwendungsfälle unzureichend, zu den wenigen Ausnahmen gehört beispielsweise Apples Face ID.

6.3 Wallet-Authentisierung

Für den Nachweis der Authentizität muss die wallet zwei Beweise erbringen:
  • Attestierung der Schlüssel für die Gerätebindung
  • Attestierung der wallet als Identifizierungsmittel für die Nutzerbindung
Eine Attestierung von kryptografischen Schlüsseln beweist, dass die privaten Schlüssel tatsächlich innerhalb der Hardware erzeugt wurden. Dafür gibt es unter Android für TEE und Strongbox mittels Keymaster einen integrierten Mechanismus, der die key attestation als X.509-Zertifikatskette prüfbar macht. Unter iOS gibt es für die Secure Enclave keinen derartigen Mechanismus. Für Implementierungen über Secure Elements ist eine Attestierung grundsätzlich möglich, hier fehlen bis jetzt einheitliche Schnittstellen und Protokolle.
Eine Attestierung der wallet soll beweisen, dass es sich bei der App tatsächlich um die authentische, unmanipulierte und zertifizierte Version eines Wallet-Herstellers handelt. Da die App auf dem „unsicheren“ Betriebssystem des Smartphones läuft, stellt das Sicherheitslevel einen bestmöglichen Mitigationsansatz dar. Die Wallet-App muss nach dem Stand der Technik Maßnahmen gegen emulation, debugging, code injection, cloning und andere Angriffe implementieren. Zusätzlich sollte sie ihre Authentizität beweisen. Die besten Mittel hierfür sind die von der Plattform bereitgestellten APIs. Android bietet mit der Play Integrity API (Google 2022c) (und dem Vorgänger SafetyNet Attestations API (Google 2022d)) eine Schnittstelle zur Integritätsbewertung und Authentifizierung der App, die die Software- und Hardwareumgebung auf Manipulationen überprüft. Die Überprüfung wird an eine nonce geknüpft, die die App zusammen mit aktuellen Zustandsdaten des Smartphones an einen Google-Server schickt. Dieser wertet die Daten aus und erzeugt eine kryptografische signierte Attestierung, die die App an das Backend des Wallet-Herstellers weiterleitet und dort ausgewertet wird. Apple bietet für sein Ökosystem eine ähnliche Schnittstelle namens iOS DeviceCheck (Apple 2022a). Dessen primäre Funktion ist die Wiedererkennung von Geräten, sodass die Funktion lediglich eine Authentizität feststellen kann und keine Aussagen zur Integrität des Smartphones macht. iOS als geschlossenes Apple-Ökosystem bietet jedoch grundsätzlich ein höheres Sicherheitslevel als die offene Android-Plattform, sodass eine zusätzliche Integritätsprüfung nicht zwingend notwendig ist.
Beide Mechanismen sind lediglich eine Unterstützung der Authentizitätsprüfung der App und müssen mit anderen Maßnahmen komplettiert werden. Eine der größten Herausforderungen besteht darin, beim Nachweis der Authentizität der wallet die Unkorrelierbarkeit gegenüber verifiern zu wahren.
Für die Erfüllung der regulatorischen Anforderungen ist in der Regel zudem auch eine Zertifizierung des Identifizierungsmittels notwendig. Dabei werden die Software und Entwicklungsprozesse von unabhängigen Prüferinnen und Prüfern auditiert und bestätigt. Die Zertifizierungen verschiedener zugelassener wallets sollten in einem Identitätsökosystem dann in einer trust registry oder trusted list, beispielsweise einer verifiable data registry, zusammengetragen werden. Dieser Punkt dient dann für issuer und verifier als Anlaufstelle, um die Vertrauenswürdigkeit einer mittels Wallet-Authentisierung identifizierten wallet festzustellen.

6.4 Vertrauenswürdige Partei

Die Nutzenden benötigen in der Praxis Sicherheit im Umgang mit der wallet, insbesondere durch klar erkennbare Mechanismen bei der Authentisierung eines issuers oder eines anfragenden verifiers.
Das Lösungskonzept sieht vor, den Nutzenden in leicht verständlicher Form die Identität und Vertrauenswürdigkeit der anfragenden Partei anzuzeigen und Handlungsempfehlungen zu geben. Die heterogenen Anwendungen in einem dezentralen Identitätsökosystem erfordern unterschiedliche Vertrauensniveaus und Authentisierungsstufen. Die Anwendungen reichen vom selbstbestimmten direkten Vorzeigen von credentials untereinander ohne Authentifizierung der anfragenden Partei bis hin zur Bestätigung der Vertrauenswürdigkeit der anfragenden Partei durch die Verwendung von Vertrauensregistern. Diese Unterschiede sollten sich auch in den Möglichkeiten zur Ausweisung der anfragenden Partei widerspiegeln. Eine Einteilung der Authentisierung in zwei oder mehr Stufen ist daher sinnvoll.
Auch mit Anfragenden, die ihre Identität nicht hinreichend beweisen können (beispielsweise Privatpersonen), sollte es in einem selbstbestimmten Identitätsökosystem möglich sein, Daten zu teilen; dabei werden diese mit deutlichen Warnhinweisen markiert (Lissi 2022).
Vorteilhaft ist die Authentifizierung mittels EV-Zertifikaten (Extended Validation) bzw. QWACs (Qualified Website Authentication Certificates) und die Namensanzeige des anfragenden Unternehmens. Extended-Validation-SSL-Zertifikate entsprechen X.509-SSL-Zertifikaten, deren Ausgabe an strengere Vergabekriterien zur eindeutigen Identifizierung durch den Aussteller gebunden ist. QWACs sind gemäß eIDAS Art. 3 Abs. 39 qualifizierte Zertifikate für die Website-Authentifizierung. Herausgegeben von europäischen qualified trust service providern (QTSP) bieten sie ebenfalls eine tiefgehende Prüfung der Organisationsidentität.
Darüber hinaus ist eine Registrierung der anfragenden Partei in einem Vertrauensregister möglich. Diese Register können für das ganze Ökosystem oder für bestimmte Anwendungen und credentials gelten. Eine wallet darf presentations nur an verifier herausgeben, die sie mittels dieser vertrauenswürdigen Listen geprüft hat. Der Vertrauensanker kann hierbei in der verifiable data registry oder in existierenden Listen wie der EU Trusted List realisiert werden.

7 Lösungskonzept

Der vorgeschlagene Prozessablauf zur Absicherung einer mobilen, nativen wallet kombiniert die Anforderungen mit den technischen Möglichkeiten und deren Limitierungen in sinnvoller Weise. Dabei werden die sicherheitstechnischen Bausteine zur Nutzerbindung, Gerätebindung, Wallet-Authentisierung und vertrauenswürdigen Partei integriert. Der Prozessablauf ist als Sequenzdiagramm in Abb. 4 dargestellt und beinhaltet sechs Entitäten: den issuer, der ein credential für einen regulierten Anwendungsfall ausstellen möchte; den holder und seine wallet; den verifier, der das credential überprüfen möchte und dabei die regulatorischen Anforderungen überprüfen muss; einen attestation service, der die Attestierung der wallet durchführt (betrieben vom Wallet-Anbieter oder von einem trust service provider), sowie eine trust registry, die als Vertrauensanker und Register für zertifizierte wallets bereitsteht.

7.1 Ausstellung

Die Ausstellung beginnt mit dem Aufbau eines Kommunikationskanals zwischen issuer und wallet. Der issuer führt eine Identifizierung der Nutzerin oder des Nutzers8 durch und bietet daraufhin die Ausstellung als credential offer an. Die wallet holt sich nun die sicherheitstechnischen Anforderungen von den öffentlich erreichbaren Metadaten des issuers ab. Darin gibt der issuer an, welche Anforderungen er an die wallet bezüglich Gerätebindung und Nutzerbindung stellt. Die wallet kann so selbst prüfen, ob sie den regulatorischen Anforderungen gerecht werden kann. Sie fordert anschließend die Zustimmung des holders an, um mit der Ausstellung des credentials fortzufahren.
Die wallet fordert anschließend eine attestation von ihrem attestation service an. Der attestation service ist ein backend service, der vom Hersteller und Betreiber der wallet selbst betrieben wird oder beispielsweise an einen trust service provider ausgelagert ist. Seine Aufgabe ist es, die Gerätebindung und Wallet-Authentisierung einer Wallet-Instanz zu validieren und zu bestätigen. Die Attestierung der wallet und der hardwaregebundenen Schlüssel erfolgt dabei on demand auf eine Ausstellungsanfrage. Die Vorteile der Ad-hoc-Ausstellung liegen in der erhöhten Sicherheit (Aktualität der Attestierung, verringertes Zeitfenster für potenzielle Angriffe) und in der Skalierung des Systems (es werden nur so viele Attestierungen durchgeführt wie tatsächlich benötigt). Als Format wird ein W3C verifiable credential vorgeschlagen, sodass für issuer und verifier keine zusätzliche Protokolllogik zur Validierung der Attestierungen notwendig ist.
Der attestation service und die wallet erstellen einen sicheren Kanal9 und die wallet übermittelt ihre Anfrage. Der attestation service generiert und übermittelt die zur Attestierung notwendigen challenges und die wallet weist mittels Android Integrity API, iOS DeviceCheck oder ähnlicher Mechanismen ihre Authentizität und Integrität nach. Anschließend generiert sie einen hardwaregebundenen Schlüssel und übermittelt den öffentlichen Schlüssel samt key attestation. Die Autorisierung der privaten Schlüssel wird dabei von der wallet entsprechend den Vorgaben des issuers konfiguriert. Der attestation service verifiziert alle Daten und stellt am Ende ein sogenanntes device attestation credential an die wallet aus. Dieses beinhaltet die validierten Informationen aus Gerätebindung, Nutzerbindung und Wallet-Authentisierung:
  • Identität des attestation service (issuer)
  • Name und Version der wallet
  • Öffentlicher Schlüssel der Gerätebindung und verwendeter Signaturprotokolle
  • Verwendeter Hardwaretyp (TEE, Strongbox, SE, eUICC ...)
  • Nutzerbindungsmechanismus (Face ID, System-PIN, App-PIN mit vier Ziffern, SE-PIN mit sechs Ziffern ...)
  • Ausstellungsdatum und optional Ablaufdatum
Optional kann der attestation service auch ein erreichbares level of assurance direkt verlinken. Da der attestation service den Anwendungsfall nicht kennt und eine Vielzahl verschiedener Vertrauensniveaus exisitieren, ist dieser Weg jedoch nicht zwangsweise sinnvoll. Es folgt ein Beispiel als JSON-LD W3C VC:
Die wallet kann nun das credential offer des issuers mit einem credential request beantworten, der eine (W3C verifiable) presentation des device attestation credentials beinhaltet und so den Besitz des Hardwareschlüssels (und damit indirekt die Nutzerauthentisierung) nachweist. Der issuer fragt bei der trust registry den Status der Zertifizierung anhand des eindeutigen Namens10 der authentifizierten wallet nach und kann somit sicherstellen, dass die regulatorischen Anforderungen erfüllt werden. Als Letztes stellt er sein credential an die wallet aus und koppelt dieses an das device attestation credential. Im Kontext von W3C Verifiable Credentials wird dieser Mechanismus unter dem Begriff holder binding diskutiert (Curran, Stephen 2021; Bastian et al. 2023). Dabei stehen dem issuer zwei Möglichkeiten zur Verfügung: In der präferierten Variante kann er auf das bestehende device attestation credential verlinken und beispielsweise dessen issuer und die id angeben. Als Alternative kann der issuer den hardwaregebundenen Schlüssel selbst in sein credential integrieren und optional weitere Teile der Attestierung kopieren.

7.2 Verifizierung

Der Verifizierungsprozess startet analog mit dem Etablieren eines sicheren Kommunikationskanals und der verifier übermittelt seine Anfrage für das angeforderte credential und das nötige Vertrauensniveau. Das Vertrauensniveau sollte explizit im credential oder implizit in der trust registry verankert sein, damit die wallet die Anforderungen des verifiers vor der presentation abgleichen kann, andernfalls übermittelt der holder ein credential und der verifier stellt erst nach der Validierung fest, dass das credential für seine regulatorischen Prozesse unzureichend ist, was für die user experience des holders nachteilig wäre. Die wallet erzeugt daraufhin zwei verifiable presentations, eine für das angeforderte credential des issuers (W3C VC, AnonCreds oder andere Formate) und eine für das device attestation credential, das den hardwaregebundenen Schlüssel im Smartphone zur Erstellung einer presentation nutzt11. Die wallet zeigt dem holder die zu übermittelnden Daten sowie die Identität des verifiers (siehe Abschn. 6.4) an und holt die Autorisierung des holders durch den an die Gerätebindung gekoppelten Mechanismus zur Nutzerauthentisierung ein. Hierbei sollte die wallet den Hinweis geben, dass durch den eindeutigen, hardwaregebundenen, öffentlichen Schlüssel ein zusätzliches nachverfolgbares Attribut offengelegt wird. Die zweiteilige presentation wird nun an den verifier übermittelt, dieser überprüft die beiden Signaturen und validiert die Verlinkung der credentials. Der verifier kann bei der trust registry die Zertifizierung der wallet abfragen und so das Vertrauensniveau des credentials bestätigen.
Das in Abb. 5 dargestellte Vertrauensmodell in diesem System verfolgt die Ausstellungskette zurück: Der verifier vertraut dem issuer, dass dieser das device attestation credential im Ausstellungsprozess richtig validiert und verlinkt hat, der issuer vertraut dem attestation service, dass dieser das Gerät richtig geprüft hat und die Angaben des device attestation credentials stimmen, und der attestation service vertraut auf die Zertifizierung und Auditierung der wallet. Eine Einbettung der Attestierungen selbst in die credentials ist redundant und würde zusätzliche Datenschutzprobleme mit sich bringen.

8 Diskussion und Bewertung

Die in unserem Konzept vorgestellten Komponenten und Prozesse zur Absicherung einer mobilen wallet bilden die Grundlage zur Umsetzung von identity credentials für regulierte Anwendungen.
Die Gerätebindung mittels cryptographic key binding bietet eine einfache und skalierbare Lösung zur Absicherung der credentials gegen unrechtmäßiges Kopieren. Die erreichbare Sicherheit stützt sich dabei auf die vorhandenen Technologien der Geräte und erlangt so eine große Reichweite. Die Verwendung von hardwaregebundenen Schlüsseln im credential erzeugt jedoch ein potenzielles Privatsphärenrisiko, da diese intrinsisch eindeutig sind und so eine zusätzliche Nachverfolgbarkeit und Korrelierbarkeit ermöglichen. Um dieses Problem abzuschwächen, sollte für jedes gerätegebundene credential ein eigener, hardwaregebundener Schlüssel erzeugt werden. Weitere Mitigation ergibt sich durch Bindung an mehrere, einmalig zu nutzende Schlüssel beziehungsweise kurzlebige, automatisch erneuerte credentials. Eine implizite Folge der Gerätebindung an ein Smartphone ist der Aufwand beim Austausch oder Verlust des Geräts, da ein gerätegebundenes credential nicht im Backup gesichert werden kann. Zukünftig muss weiterhin an einer Integration der Signaturen für zero-knowledge proofs geforscht werden. Ebenso muss das Design die Kryptoagilität zum Wechsel auf Post-Quanten-sichere Verfahren12 heute bereits berücksichtigen.
Die Nutzerbindung für hohe Vertrauensniveaus kann heute noch immer am besten über PINs und Passwörter realisiert werden. Die Sicherheitslösungen auf Smartphones haben hier mitunter Defizite, genauere Angaben zur Stärke der Nutzergeheimnisse zu kommunizieren. Für die Nutzerfreundlichkeit sollten Anwendungen mit niedrigen und mittleren Anforderungen am besten Biometrie ermöglichen. Biometrie kann als zusätzlicher Authentisierungsfaktor dienen und sollte kontinuierlich weiter untersucht werden, da die Nutzerfreundlichkeit entscheidend für den Erfolg der Lösungen ist.
Die Wallet-Authentisierung in Kombination mit einer Zertifizierung der Software bietet eine vertrauenswürdige Plattform für ein dezentrales Identitätsökosystem. Diese Maßnahmen bieten ein hohes Maß an Sicherheit, das auf den mobilen Plattformen sonst schwer erreichbar ist. Um eine Skalierung zu gewährleisten, findet die explizite Überprüfung der wallet nur zur Ausstellung statt. Das Konzept bindet sich dabei an die Dienste von Apple und Google, die eine gewisse Abhängigkeit und Einschränkungen für beispielsweise gerootete Geräte erzeugen, ähnlich wie bei Banking-Apps.
Die Authentisierung der anfragenden Partei wird über ein Stufenkonzept sichergestellt und greift auf etablierte, skalierende Prozesse zurück. Sie ermöglichen eine vertrauenswürdige Kommunikation mit issuer und verifier und geben dem holder die Werkzeuge an die Hand, um Phishing und MitM-Attacken zu verhindern und eine selbstbestimmte Entscheidung zu treffen. Beschränkungen auf Mindestanforderungen zur Authentisierung der anfragenden Partei, beispielsweise für medizinische Daten, sind sinnvoll und im Ermessensspielraum der jeweiligen Anwendungen.
Das Konzept beschreibt, wie die Komponenten in einem Prozessablauf zusammengebracht werden. Eine wichtige Funktion nimmt hier der attestation service ein. Dieser übernimmt die Aufgabe der komplexen Überprüfungen der Attestierungen und erleichtert die Umsetzung sicherheitskritischer Anwendungen für issuer und verifier. Zudem ermöglicht er eine skalierende Attestierung der wallet in einem einheitlichen Format und berücksichtigt den Rechtsrahmen der Attestierungs-APIs. Da die wallet im Mittelpunkt der Kommunikation steht, erlangt der attestation service keinerlei Informationen, wofür das device attestation credential benutzt wird. Der Prozess funktioniert mit mehreren Kommunikationsprotokollen wie DIDComm und OpenID4VC und unterstützt verschiedene privatsphärenorientierte Credential-Formate wie W3C mit BBS+ oder SD-JWT und AnonCreds.
Der vorgestellte Lösungsansatz unterstützt mehrere Vertrauensniveaus und wendet die hohen regulatorischen Anforderungen nur auf die wichtigsten identity credentials an (mit den daraus resultierenden Nachteilen), während alle anderen Nachweise die Vorteile einer biometrischen Authentisierung, eines komfortablen Backups und privatsphärenfördernder Signaturverfahren erfahren.
Die Lösungen wurden in Zusammenarbeit von Bundesdruckerei und Lissi über DIDComm bereits erfolgreich erprobt, eine Demonstration mittels OpenID4VC befindet sich in der Umsetzung.

9 Ausblick

Dezentrale Identitätsökosysteme werden in naher Zukunft eine wichtige Säule der Digitalisierung sein und vielversprechende Umsetzungskonzepte für sichere wallets werden dabei eine zentrale Rolle spielen.
Identity credentials haben insbesondere für regulatorische Anwendungsfälle einen hohen Schutzbedarf, der die beschriebenen Maßnahmen erforderlich macht. Diese können mit den aufgezeigten Lösungen und Prozessen bereits heute auf Mobilgeräten erfolgreich umgesetzt werden. Der Trend hin zu mehr Secure Elements macht diesen Weg für die Zukunft attraktiv. Die vorgeschlagenen Maßnahmen können auch für andere credentials eingesetzt werden. Zukünftig können auch hybride Architekturen je nach Anforderungen die Lösungen zur Sicherheit der wallet komplementieren.
Gleichzeitig sind weitere Themen im Kontext der Wallet-Sicherheit Gegenstand aktueller Untersuchungen und Entwicklungen, beispielsweise Verlinkung mehrerer vorgezeigter credentials, Privatsphäre der Wallet-Authentisierung und Sperrung, biometrische Verfahren, nutzerfreundliche Prozesse, Post-Quanten-Sicherheit, Backup-Mechanismen und das Zusammenspiel verschiedener Identitätsprotokolle und Credential-Formate (Bastian 2022).
Es laufen internationale und europäische Bemühungen im Rahmen der eIDAS-Revision und die Community-getriebenen und durch offene Standards beschleunigten Entwicklungen bieten Raum für die weitere gemeinsame Gestaltung von privatsphärenfreundlichen, interoperablen und sicheren Umsetzungen für digitale Identitäten.

Danksagung

Wir danken dem BMWK für die Unterstützung und allen mitwirkenden Partnern aus IDunion für die anregenden Diskussionen und die wertvollen Beiträge.

Förderung

Diese Publikation ist im Rahmen des geförderten Verbundprojekts: IDunion – Aufbau eines dezentralen Identitätsökosystems (Förderkennzeichen: 01MN21002L) entstanden. Das Verbundprojekt IDunion wurde innerhalb des Innovationswettbewerbs „Schaufenster Sichere Digitale Identitäten“ vom Bundesministerium für Wirtschaft und Klimaschutz (BMWK) über das Deutsche Zentrum für Luft- und Raumfahrt e. V. (DLR Projektträger) aufgrund eines Beschlusses des Deutschen Bundestags gefördert.
Open Access Dieser Artikel wird unter der Creative Commons Namensnennung 4.0 International Lizenz veröffentlicht, welche die Nutzung, Vervielfältigung, Bearbeitung, Verbreitung und Wiedergabe in jeglichem Medium und Format erlaubt, sofern Sie den/die ursprünglichen Autor(en) und die Quelle ordnungsgemäß nennen, einen Link zur Creative Commons Lizenz beifügen und angeben, ob Änderungen vorgenommen wurden.
Die in diesem Artikel enthaltenen Bilder und sonstiges Drittmaterial unterliegen ebenfalls der genannten Creative Commons Lizenz, sofern sich aus der Abbildungslegende nichts anderes ergibt. Sofern das betreffende Material nicht unter der genannten Creative Commons Lizenz steht und die betreffende Handlung nicht nach gesetzlichen Vorschriften erlaubt ist, ist für die oben aufgeführten Weiterverwendungen des Materials die Einwilligung des jeweiligen Rechteinhabers einzuholen.
Weitere Details zur Lizenz entnehmen Sie bitte der Lizenzinformation auf http://​creativecommons.​org/​licenses/​by/​4.​0/​deed.​de.

Unsere Produktempfehlungen

HMD Praxis der Wirtschaftsinformatik

HMD liefert IT-Fach- und Führungskräften Lösungsideen für ihre Probleme, zeigt ihnen Umsetzungsmöglichkeiten auf und informiert sie über Neues in der Wirtschaftsinformatik (WI).

Fußnoten
1
Eine Unterscheidung in wallet und Agenten, wie sie in der Literatur und Beiträgen zu finden ist, machen wir in diesem Paper nicht, da sie in unseren Augen keinen Mehrwert zu den Kernkonzepten der Wallet-Sicherheit bietet.
 
2
TEE ist ein Sammelbegriff, der auch für serverbasierte Sicherheitstechnologien wie Intel SGX und AMD Secure Processor genutzt wird.
 
3
KeyMaster-API bietet RSA-2048, AES 128/256, ECDSA P‑256, HMAC-SHA256, Triple DES 168.
 
4
Eine DID (dezentraler identifier) kann nach W3C-DID-Core-Spezifikation zu einem DID Document ausgelöst werden, das Schlüssel, Endpunkte oder andere Daten zu dieser DID beinhaltet. Dieser Ansatz bietet für Organisationen und juritische Personen Vorteile, wie etwa Schlüsselrotation und Versionierung. Demgegenüber ist die Verwendung von DIDs, insbesondere unter Verwendung einer verifiable data regsitry, für natürliche Personen in der Rolle des holders kritischer zu sehen und birgt Risiken hinsichtlich der potenziellen Nachverfolgbarkeit und zusätzliche Komplexitäten der verwendeten DID Methode für die Schlüsselbindung ist für regulatorische Anwendungen vermutlich nicht geeignet.
 
5
Eine akademische Untersuchung mit Java Cards wurde als unperformant getestet (Bichsel et al. 2009).
 
6
Kryptografische Agilität ermöglicht schnelle Reaktionen, wenn Systeme unsicher geworden sind, indem alternative Methoden der Verschlüsselung, Verifizierung und Authentifizierung implementiert und eingesetzt werden.
 
7
Leider wird auch EdDSA von vielen Chips nicht unterstützt.
 
8
Identity credentials können bevorzugt aus hoheitlichen Dokumenten abgeleitet werden.
 
9
Beispielsweise unterstützt durch Zertifikatspinning und API-Schlüssel.
 
10
Die durch Android IntegrityAPI und iOS DeviceCheck bereitgestellten identifier sind eindeutig und durch die Zertifikate und Schlüssel des App-Herstellers geschützt.
 
11
Wenn der issuer die device attestation nicht verlinkt, sondern in sein eigenes credential integriert, benötigt der verifier keine presentation des device attestation credentials.
 
12
Quantencomputer könnten weitverbreitete kryptografische Algorithmen brechen und innerhalb des laufenden Jahrzehnts zu einer ernsthaften Bedrohung für IT-Systeme werden. Es wird bereits intensiv an der Post-Quanten-Kryptografie (PQC) gearbeitet, um klassische Sicherheitssysteme gegen Angriffe von Quantencomputern abzusichern.
 
Literatur
Zurück zum Zitat Bastian P, Kraus M, Fischer J, Bösch C (2021) Self-Sovereign Identity – Vertrauensbasis für selbstbestimmte Identitätsnetzwerke. 17. Deutscher IT-Sicherheitskongress des BSI. Bastian P, Kraus M, Fischer J, Bösch C (2021) Self-Sovereign Identity – Vertrauensbasis für selbstbestimmte Identitätsnetzwerke. 17. Deutscher IT-Sicherheitskongress des BSI.
Zurück zum Zitat Bichsel P, Camenisch J, Groß T, Shoup V (2009) Anonymous credentials on a standard java card. In: Proceedings of the 16th ACM conference on Computer and communications security, CCS ’09. Association for Computing Machinery, New York, S 600–610 https://doi.org/10.1145/1653662.1653734CrossRef Bichsel P, Camenisch J, Groß T, Shoup V (2009) Anonymous credentials on a standard java card. In: Proceedings of the 16th ACM conference on Computer and communications security, CCS ’09. Association for Computing Machinery, New York, S 600–610 https://​doi.​org/​10.​1145/​1653662.​1653734CrossRef
Zurück zum Zitat Boneh D, Boyen X, Shacham H (2004) Short group signatures. In: Franklin M (Hrsg) Advances in cryptology—CRYPTO 2004, lecture notes in computer science. Springer, Berlin, Heidelberg, S 41–55CrossRef Boneh D, Boyen X, Shacham H (2004) Short group signatures. In: Franklin M (Hrsg) Advances in cryptology—CRYPTO 2004, lecture notes in computer science. Springer, Berlin, Heidelberg, S 41–55CrossRef
Zurück zum Zitat Camenisch J, Lysyanskaya A (2004) Signature schemes and anonymous credentials from bilinear maps. In: Franklin M (Hrsg) Advances in Cryptology—CRYPTO 2004. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg, S 56–72CrossRef Camenisch J, Lysyanskaya A (2004) Signature schemes and anonymous credentials from bilinear maps. In: Franklin M (Hrsg) Advances in Cryptology—CRYPTO 2004. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg, S 56–72CrossRef
Zurück zum Zitat Cerdeira D, Santos N, Fonseca P, Pinto S (2020) Understanding the prevailing security vulnerabilities in trustzone-assisted TEE systems. In: 2020 IEEE Symposium on Security and Privacy (SP), S 1416–1432CrossRef Cerdeira D, Santos N, Fonseca P, Pinto S (2020) Understanding the prevailing security vulnerabilities in trustzone-assisted TEE systems. In: 2020 IEEE Symposium on Security and Privacy (SP), S 1416–1432CrossRef
Zurück zum Zitat Chen Z (2000) Java card technology for smart cards: architecture and programmer’s guide. Addison-Wesley Professional Chen Z (2000) Java card technology for smart cards: architecture and programmer’s guide. Addison-Wesley Professional
Zurück zum Zitat Curran S, Yildiz H, Curren S (2022) AnonCreds specification. AnonCreds WG Curran S, Yildiz H, Curren S (2022) AnonCreds specification. AnonCreds WG
Zurück zum Zitat Khovratovich D, Lodder M (2018) Anonymous credentials with type‑3 revocation Khovratovich D, Lodder M (2018) Anonymous credentials with type‑3 revocation
Zurück zum Zitat Looker T, Steele O (2021) BBS+ signatures 2020. W3C credentials community group Looker T, Steele O (2021) BBS+ signatures 2020. W3C credentials community group
Zurück zum Zitat Sanfelix E (2019) TEE exploitation-exploiting trusted Apps on Samsung’s TEE Sanfelix E (2019) TEE exploitation-exploiting trusted Apps on Samsung’s TEE
Zurück zum Zitat Sanfelix E, Mune C, de Haas J (2015) Practical attacks against obfuscated ciphers Sanfelix E, Mune C, de Haas J (2015) Practical attacks against obfuscated ciphers
Zurück zum Zitat Young K (2021) Verifiable Credentials Flavors Explained Young K (2021) Verifiable Credentials Flavors Explained
Metadaten
Titel
Konzepte für sichere wallets in dezentralen Identitätsökosystemen
verfasst von
Paul Bastian
Micha Kraus
Jörg Fischer
Publikationsdatum
14.03.2023
Verlag
Springer Fachmedien Wiesbaden
Erschienen in
HMD Praxis der Wirtschaftsinformatik / Ausgabe 2/2023
Print ISSN: 1436-3011
Elektronische ISSN: 2198-2775
DOI
https://doi.org/10.1365/s40702-023-00954-4

Weitere Artikel der Ausgabe 2/2023

HMD Praxis der Wirtschaftsinformatik 2/2023 Zur Ausgabe

Premium Partner