Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts 24. DFN-Konferenz Sicherheit in vernetzten Systemen 14.02.2017 Michael Grabatin Wolfgang Hommel
Gliederung Blockchains State of the Art im Identity Management Föderiertes Identity Management mit Ethereum Zusammenfassung & Ausblick Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 2
Entwicklung Computer Lokale Computer Mainframe Server Cloud-Computing Blockchain Zunehmende Verteilung von Ressourcen Bessere Skalierbarkeit Höhere Verfügbarkeit Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 3
Blockchain Block 0 Hash 00089731692 Vorheriger Hash 00000000000 Block 1 Hash 000b026324c Vorheriger Hash 00089731692 Block 2 Hash 00026ab0db9 Vorheriger Hash 000b026324c Transaktion: 9176464e Transaktion: 6904b2a9 Transaktion: cb4b88d6 Transaktion: d61c81d1 Transaktion: 0d72e28a Transaktion: d0ba1e22 Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 4
Blockchain und P2P-Netz zum Überweisen von digitaler Währung Tx UTXO: 0.5B Ziel Alice UTXO: 1.0B Ziel Bob Tx UTXO: 0.4B Ziel Alice Tx UTXO: 0.09B Ziel Alice Tx UTXO: 0.2B Ziel Alice UTXO: 0.01B Tx-Gebühr Summe: 1.1B Tx: Transaktion UTXO: Unspent Transaction Output Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 5
Ethereum Ethereum = Bitcoin + Smart Contracts Erweiterung der Bitcoin-Transaktionen Turing-vollständige Skriptsprache Langsame Ausführung/Entscheidungsfindung Vergleichsweise teuer Überprüf- und auditierbar Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 6
Ethereum Globaler Computer Kein Ein-/Ausschalter Zugreifbar für jeden Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 7
Web3 -Technologien Ethereum: Serverloser Computer Whisper: Private asynchrone Nachrichten IPFS/Swarm: Dezentraler Datenspeicher Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 8
Status Quo Quelle: https://haveibeenpwned.com (Stand 06.02.2017) Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 9
Facebook Quelle: https://heise.de/-3613518 Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 10
Authentifizierung Keine Authentifizierung Lokale Authentifizierung Organisationsinterne Authentifizierung (LDAP) Föderiertes Identity Management (SAML, Shibboleth, OpenID Connect) Blockchain Zunehmende Verteilung von Ressourcen Bessere Skalierbarkeit Höhere Verfügbarkeit Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 11
Identity Management Authentifizierung Verwaltung von Attributen/Rollen/Rechten Definition von Geltungsbereichen/zeiträumen Autorisierung Delegation Austausch von Informationen Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 12
Identity Management auf öffentlichen Blockchains Niemand gehört/kontrolliert die Blockchain Teilnehmer müssen sich an Vereinbarungen halten Jeder kann Vereinbarungen überprüfen Nutzer entscheidet über Verwendung seiner Identitäten Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 13
Konzept Identität = Adresse = Smart Contract Öffentliche Attribute können in dem Smart Contract gespeichert werden Kontrolliert wird der Smart Contract über einen PrivateKey Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 14
Attribute speichern Anlegen Alice Mining Smart Contract Alice Werte speichern/ändern Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 15
Attribute attestieren Verweis auf Smart Contract von Universität hinzufügen Alice Smart Contract Alice Attribute austausche und verifizieren Universität Smart Contract Universität Aussage über Alice hinzufügen Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 16
Generisches Föderiertes Identity Management Service Provider User Identity Provider Ressource anfordern IdP finden Weiterleitung zum IdP Authentifizierung anfordern Authentifizierung Authentifizierung & Attribute IdP Antwort weiterleiten Zugriff auf Ressource Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 17
Authentifizierung & Autorisierung Alice Smart Contract Alice Smart Contract Universität Authentifizierung Autorisierung Service Provider Attribut(e) nachschlagen Service Provider User Identity Provider Ressource anfordern IdP finden Weiterleitung zum IdP Authentifizierung anfordern Authentifizierung Authentifizierung & Attribute IdP Antwort weiterleiten Zugriff auf Ressource Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 18
Implementierungsbeispiel Persönlicher Smart Contract (Attribute Authority): 35 LoC Ermöglicht das Hinterlegen von beliebigen öffentlichen Attributen zu einer Identität Service Provider: 50 LoC Überprüft ob eine Liste von Attributen vorhanden bzw. mit dem richtigen Wert vorliegen Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 19
Kosten 1ETH = 10.73$ Anfallende Kosten = Wert aller Operationen * 0.2µETH Wert pro Operation: Erstellen eines Smart Contracts: 32.000 Löschen eines Smart Contracts: -24.000 Speichern von Werten: 20.000 Löschen von Werten: -5.000 Addition: 3 Multiplikation: 5 Erstellen und Speichern von Wert: (32.000 + 20.000) 0.2µETH = 0.0104ETH 0.11$ Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 20
Vorteile & Herausforderungen Vorteile Erstaunlich einfach zu Implementieren User unter voller Kontrolle seiner Identitäten Sehr verlässlich Herausforderungen User unter voller Kontrolle seiner Identitäten Datenschutz Betrachtet nur technische Vertrauensbeziehungen Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 21
BP Erweiterung decentralized App (Dapp) Frontend: Backend: HTML, CSS Dapp Javascript Whisper Swarm IPFS HTML, CSS Dapp Javascript Whisper Swarm IPFS HTML, CSS Dapp Javascript Blockchain Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 22
Ausblick Private Attribute geschützt speichern Unabdingbar für Identity Management außerhalb von Namen und E-Mail-Adressen Zero-Knowlege-Beweise Ermöglichen es, Aussagen zu beweisen ohne Informationen über die Aussage preiszugeben Homomorphe Verschlüsselung Rechnen auf verschlüsselten Daten Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 23
Fragen Föderiertes Identity Management auf einem globalen Computer Kontakt: Michael Grabatin michael.grabatin@unibw.de Blockchain-basiertes Föderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 24