Entwicklung plattformübergreifender EUDI Wallet SDKs: Ein technischer Überblick (DE)
Entdecken Sie die Architektur plattformübergreifender EUDI Wallet SDKs mit Fokus auf Modularität, Sicherheit und Benutzerfreundlichkeit. Erfahren Sie, wie Sie robuste, konforme und interoperable Lösungen für die digitale.

Modulares DesignBetonen Sie eine geschichtete, modulare Architektur, um verschiedene Plattformen und sich entwickelnde EUDI-Spezifikationen zu unterstützen und Flexibilität und Wartbarkeit zu gewährleisten.
Sicherheit zuerstImplementieren Sie robuste kryptografische Maßnahmen, die Integration sicherer Elemente und die Einhaltung der eIDAS2-Standards, um sensible Identitätsdaten zu schützen und Betrug zu verhindern.
Nahtlose UXPriorisieren Sie benutzerfreundliche Schnittstellen und intuitive Workflows für die Ausstellung, Präsentation und Verwaltung von Berechtigungsnachweisen auf verschiedenen Geräten und Betriebssystemen.
InteroperabilitätEntwerfen Sie das SDK so, dass die Kompatibilität mit verschiedenen EUDI Wallet-Implementierungen gewährleistet ist, wobei offene Standards und Protokolle für eine breite Akzeptanz im Ökosystem verwendet werden.
Das EUDI Wallet und sein technisches Mandat verstehen
Das European Digital Identity (EUDI) Wallet stellt einen monumentalen Schritt hin zu einem einheitlichen, sicheren und benutzerzentrierten Rahmen für digitale Identitäten in der Europäischen Union dar. Gemäß der eIDAS2-Verordnung ermöglicht dieses digitale Wallet Bürgern, ihre Identitätsattribute wie Alter, Adresse und berufliche Qualifikationen sicher und nachweislich vertrauenswürdig zu speichern und zu teilen. Für Entwickler stellt die Erstellung von Software Development Kits (SDKs) für EUDI Wallets sowohl eine bedeutende Chance als auch eine komplexe technische Herausforderung dar. Das Kernmandat besteht darin, eine hochsichere, interoperable und benutzerfreundliche Erfahrung auf einer Vielzahl von Geräten und Betriebssystemen zu bieten.
Ein plattformübergreifendes EUDI Wallet SDK muss die zugrunde liegenden Komplexitäten verschiedener mobiler Betriebssysteme (iOS, Android) und potenziell Web-Umgebungen abstrahieren und gleichzeitig die von der Europäischen Kommission festgelegten technischen Spezifikationen strikt einhalten. Dazu gehören kryptografische Standards, Datenmodelle für Verifiable Credentials (VCs) und Verifiable Presentations (VPs), Kommunikationsprotokolle (z. B. OpenID für die Ausstellung/Präsentation von Verifiable Credentials) und die Nutzung sicherer Hardware, wo verfügbar. Die Architektur des SDK muss robust genug sein, um zukünftige Aktualisierungen dieser Spezifikationen zu bewältigen, ohne eine komplette Überarbeitung zu erfordern.
Kernarchitekturkomponenten eines plattformübergreifenden EUDI Wallet SDK
Ein gut konzipiertes EUDI Wallet SDK besteht typischerweise aus mehreren Schlüsselschichten, von denen jede für eine bestimmte Reihe von Funktionalitäten verantwortlich ist. Dieser modulare Ansatz ist entscheidend für plattformübergreifende Kompatibilität, Wartbarkeit und Skalierbarkeit.
-
Platform Abstraction Layer (PAL): Dies ist die Grundlage, die eine einheitliche Schnittstelle zu plattformspezifischen Funktionalitäten bietet. Sie würde beispielsweise den Zugriff auf sicheren Speicher (Keychain unter iOS, Keystore unter Android), biometrische Authentifizierung (Face ID/Touch ID, Android BiometricPrompt) und Netzwerkverbindungsfunktionen abstrahieren. Diese Schicht stellt sicher, dass die Kernlogik des SDK plattformunabhängig bleiben kann.
// Beispiel: iOS Secure Storage Interface protocol SecureStorageManager { func saveData(key: String, data: Data) throws func retrieveData(key: String) throws -> Data? } class iOSSecureStorage: SecureStorageManager { // ... Keychain implementation ... } -
Kryptographie- und Sicherheitsschicht: Dies ist wohl die kritischste Komponente. Sie erledigt alle kryptografischen Operationen, einschließlich Schlüsselgenerierung, digitaler Signierung, Verschlüsselung/Entschlüsselung und Interaktion mit sicheren Elementen. Sie muss verschiedene kryptografische Algorithmen (z. B. ECDSA, EdDSA) unterstützen und sicherstellen, dass Schlüssel sicher gespeichert und verwendet werden, oft unter Nutzung hardwaregestützter Sicherheitsfunktionen. Diese Schicht ist für den Schutz der privaten Schlüssel verantwortlich, die mit der digitalen Identität des Benutzers verbunden sind.
-
Verifiable Credential (VC) Management Schicht: Diese Schicht verwaltet den Lebenszyklus von Verifiable Credentials. Sie umfasst Funktionalitäten zum Parsen, Speichern und Validieren von von Emittenten empfangenen VCs. Sie verwaltet auch die Zustimmung des Benutzers zur Freigabe spezifischer VCs oder Attribute und erstellt Verifiable Presentations (VPs) gemäß der Anforderung einer Relying Party.
// Beispiel: VC Struktur (vereinfacht) interface VerifiableCredential { id: string; type: string[]; issuer: string; issuanceDate: string; credentialSubject: { id: string; [key: string]: any; }; proof: any; } -
Kommunikations- und Protokollschicht: Diese Schicht implementiert die verschiedenen Kommunikationsprotokolle, die für die Interaktion mit Emittenten und Relying Parties erforderlich sind. Dazu gehören OpenID for Verifiable Credential Issuance (OID4VCI) und OpenID for Verifiable Credential Presentation (OID4VP) sowie potenziell DIDComm für Peer-to-Peer-Interaktionen. Sie kümmert sich um die sichere Kanalherstellung, Nachrichtenformatierung und Fehlerbehandlung.
-
Benutzeroberflächen-Schicht (UI) (Optional, aber empfohlen): Obwohl ein SDK rein headless sein kann, enthält ein umfassendes EUDI Wallet SDK oft konfigurierbare UI-Komponenten. Diese Komponenten bieten eine konsistente und konforme Benutzererfahrung für gängige Aufgaben wie die Annahme von Berechtigungsnachweisen, die Zustimmung zur Präsentation und biometrische Aufforderungen. Diese Schicht sollte unter Berücksichtigung von Theming und Anpassungsmöglichkeiten entworfen werden, damit Integratoren sie an ihre Marke anpassen können.
Strategien zur plattformübergreifenden Implementierung
Um eine echte plattformübergreifende Kompatibilität zu erreichen, können Entwickler verschiedene Strategien anwenden:
-
Nativer Code mit gemeinsamer Kernlogik: Der gebräuchlichste Ansatz besteht darin, plattformspezifische Wrapper (z. B. Swift/Kotlin) zu schreiben, die eine einheitliche API für eine gemeinsame Kernlogik bereitstellen, die in einer Sprache wie C++ oder Rust geschrieben ist. Diese Kernlogik verarbeitet die komplexen kryptografischen, VC-Verwaltungs- und Protokollschichten und gewährleistet Konsistenz und reduziert die Duplizierung von Anstrengungen. Das PAL ist hier entscheidend, um die Kernlogik mit nativen Plattformfunktionen zu verbinden.
-
Plattformübergreifende Frameworks (z. B. React Native, Flutter): Für SDKs, die UI-Komponenten enthalten, können Frameworks wie React Native oder Flutter verwendet werden. Diese Frameworks ermöglichen es Entwicklern, eine einzige Codebasis zu schreiben, die auf native iOS- und Android-Anwendungen kompiliert wird. Der Zugriff auf tiefgreifende native Funktionen wie sichere Elemente erfordert jedoch oft noch plattformspezifische Module oder Plugins, die das PAL verwalten würde.
-
WebAssembly (Wasm): Für webbasierte EUDI Wallet-Implementierungen oder SDKs, die in Webanwendungen eingebettet werden sollen, kann die Kompilierung der Kernlogik zu WebAssembly erhebliche Leistungs- und Sicherheitsvorteile bieten und komplexe kryptografische Operationen direkt im Browser ermöglichen.
Praktisches Beispiel: Ablauf der Berechtigungsnachweis-Ausstellung
Betrachten Sie einen Benutzer, der einen „Verifizierten Alters“-Berechtigungsnachweis erhält. Das SDK würde:
- Eine Relying Party (z. B. ein Online-Shop) fordert eine Altersverifikation an.
- Das SDK initiiert einen OID4VP-Flow, der den Benutzer um Zustimmung zur Präsentation seines „Verifizierten Alters“-Berechtigungsnachweises bittet.
- Nach Benutzergenehmigung und biometrischer Authentifizierung erstellt das SDK eine signierte Verifiable Presentation, die das Altersattribut enthält.
- Das SDK übermittelt diese VP sicher an die Relying Party.
- Die Relying Party validiert die Authentizität der VP und den Inhalt des Berechtigungsnachweises mithilfe des Verifikationsmoduls des SDK.
Sicherheits-, Compliance- und Interoperabilitätsaspekte
Der Erfolg eines EUDI Wallet SDK hängt von seiner Fähigkeit ab, strenge Sicherheits- und Compliance-Standards zu erfüllen und gleichzeitig eine breite Interoperabilität zu gewährleisten.
-
eIDAS2-Konformität: Die Einhaltung der technischen Standards und rechtlichen Anforderungen der eIDAS2-Verordnung ist von größter Bedeutung. Dies umfasst den Datenschutz (DSGVO), die sichere Verarbeitung personenbezogener Daten und die Verwendung qualifizierter elektronischer Signaturen oder Siegel, wo zutreffend.
-
Integration sicherer Elemente: Wo verfügbar, ist die Nutzung hardwaregestützter sicherer Elemente (z. B. TEE auf Android, Secure Enclave auf iOS) entscheidend, um kryptografische Schlüssel und sensible Daten vor fortgeschrittenen Angriffen zu schützen. Das SDK muss Mechanismen zur sicheren Generierung, Speicherung und Verwendung von Schlüsseln in diesen Umgebungen bereitstellen.
-
Zero-Knowledge Proofs (ZKPs): Obwohl nicht streng für alle EUDI Wallet-Anwendungsfälle anfänglich vorgeschrieben, könnte ein fortgeschrittenes SDK die Unterstützung von ZKPs in Betracht ziehen. Dies ermöglicht es Benutzern, bestimmte Fakten über ihre Identität (z. B. „Ich bin über 18“) zu beweisen, ohne die zugrunde liegenden sensiblen Daten (z. B. ihr genaues Geburtsdatum) preiszugeben, was die Privatsphäre erheblich verbessert.
-
Interoperabilität mit dezentralen Identifikatoren (DIDs): Das EUDI Wallet-Ökosystem wird voraussichtlich mit dezentralen Identifikatoren integriert, die eine global eindeutige, persistente und kryptografisch überprüfbare Kennung für Einzelpersonen und Organisationen bieten. Das SDK sollte die DID-Auflösung und DID-basierte Kommunikationsprotokolle wie DIDComm unterstützen.
-
Auditierung und Protokollierung: Umfassende Auditierungs- und Protokollierungsfunktionen sind für Compliance und Debugging unerlässlich. Das SDK sollte relevante Ereignisse, wie die Ausstellung von Berechtigungsnachweisen, die Präsentation und Zugriffsversuche, sicher aufzeichnen, ohne die Privatsphäre des Benutzers zu gefährden.
Wie Didit hilft
Didit bietet eine robuste All-in-One-Identitätsplattform, die die Entwicklung und Integration von EUDI Wallet-Funktionalitäten erheblich beschleunigen kann. Unsere Plattform bietet eine vollständige Suite von Identitäts-Primitiven, einschließlich fortschrittlicher Biometrie, sicherer Identitätsprüfung und Betrugserkennung, alles orchestriert über eine einzige API. Für Entwickler, die EUDI Wallet SDKs erstellen, kann Didits modulare Architektur und der Compliance-First-Ansatz als leistungsstarkes Backend dienen, das die Komplexität des sicheren Identitätsmanagements bewältigt. Unsere iBeta Level 1 zertifizierte Liveness-Erkennung, SOC 2 Type II- und ISO 27001-Zertifizierungen sowie die DSGVO-Konformität stellen sicher, dass die zugrunde liegenden Identitätsprüfungsprozesse die höchsten Standards erfüllen, die für EUDI erforderlich sind. Durch die Nutzung von Didit können Sie sich auf die benutzerorientierten Aspekte Ihres EUDI Wallet SDK konzentrieren, in der Gewissheit, dass die Kerninfrastruktur für Identitätsprüfung und Sicherheit von einem Experten gehandhabt wird.
Bereit zum Start?
Die Entwicklung eines plattformübergreifenden EUDI Wallet SDK ist ein komplexes, aber lohnendes Unterfangen. Durch die Konzentration auf eine modulare Architektur, die Priorisierung von Sicherheit und Compliance sowie die Gewährleistung einer nahtlosen Interoperabilität können Entwickler zu einer Zukunft der sicheren, privaten und benutzerzentrierten digitalen Identität beitragen. Entdecken Sie die technische Dokumentation von Didit, um zu sehen, wie unsere Identitätsplattform Ihre EUDI Wallet-Initiativen unterstützen kann. Möchten Sie es in Aktion sehen? Sehen Sie sich unser Produktdemo-Video an oder besuchen Sie unser Demo Center. Für direkte Anfragen wenden Sie sich an hello@didit.me.