Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts 24. DFN-Konferenz " Sicherheit in vernetzten Systemen\ 14.02.2017 Michael Grabatin Wolfgang Hommel
Blockchain-basiertesFoderiertes Identity Managementam Beispiel von Ethereum Smart Contracts
24. DFN-Konferenz”Sicherheit in vernetzten Systemen“
14.02.2017
Michael GrabatinWolfgang Hommel
Gliederung
Blockchains
State of the Art im Identity Management
Foderiertes Identity Management mit Ethereum
Zusammenfassung & Ausblick
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 2
Entwicklung Computer
• Lokale Computer
• Mainframe
• Server
• Cloud-Computing
• Blockchain
Zunehmende Verteilung vonRessourcen
Bessere Skalierbarkeit
Hohere Verfugbarkeit
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 3
Blockchain
Block 0
Hash
00089731692
Vorheriger Hash
00000000000
Transaktion:
9176464e
Block 1
Hash
000b026324c
Vorheriger Hash
00089731692
Transaktion:
6904b2a9
Transaktion:
cb4b88d6
Transaktion:
d61c81d1
Block 2
Hash
00026ab0db9
Vorheriger Hash
000b026324c
Transaktion:
0d72e28a
Transaktion:
d0ba1e22
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 4
Blockchain und P2P-Netz zum Uberweisen von digitaler Wahrung
TxUTXO: 0.4B
Ziel Alice
UTXO: 0.5BZiel Alice
UTXO: 0.2BZiel Alice
Summe: 1.1B
Tx
Tx
Tx
UTXO: 0.09BZiel Alice
UTXO: 1.0BZiel Bob
UTXO: 0.01BTx-Gebuhr
Tx: Transaktion
UTXO: Unspent Transaction Output
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 5
Ethereum
Ethereum = Bitcoin + Smart Contracts
• Erweiterung der Bitcoin-Transaktionen
• Turing-vollstandige Skriptsprache
• Langsame Ausfuhrung/Entscheidungsfindung
• Vergleichsweise teuer
• Uberpruf- und auditierbar
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 6
Ethereum
• Globaler Computer
• Kein Ein-/Ausschalter
• Zugreifbar fur jeden
Blockchain-basiertes Foderiertes 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 Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 8
Status Quo
Quelle: https://haveibeenpwned.com (Stand 06.02.2017)Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 9
Quelle: https://heise.de/-3613518
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 10
Authentifizierung
• Keine Authentifizierung
• Lokale Authentifizierung
• OrganisationsinterneAuthentifizierung (LDAP)
• Foderiertes IdentityManagement (SAML,Shibboleth, OpenID Connect)
• Blockchain
Zunehmende Verteilung vonRessourcen
Bessere Skalierbarkeit
Hohere Verfugbarkeit
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 11
Identity Management
• Authentifizierung
• Verwaltung von Attributen/Rollen/Rechten
• Definition von Geltungsbereichen/zeitraumen
• Autorisierung
• Delegation
• Austausch von Informationen
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 12
Identity Management auf offentlichen Blockchains
• Niemand gehort/kontrolliert die Blockchain
• Teilnehmer mussen sich an Vereinbarungen halten
• Jeder kann Vereinbarungen uberprufen
• Nutzer entscheidet uber Verwendung seiner Identitaten
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 13
Konzept
• Identitat = Adresse = Smart Contract
• Offentliche Attribute konnen in dem Smart Contract gespeichertwerden
• Kontrolliert wird der Smart Contract uber einen PrivateKey
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 14
Attribute speichern
AliceSmart
ContractAlice
AnlegenAnlegen
MiningMining
Werte speichern/andern
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 15
Attribute attestieren
AliceAliceUniversitatUniversitat
SmartContract
Alice
SmartContract
Universitat
Attributeaustausche
und verifizieren
Attributeaustausche
und verifizieren
Aussageuber Alicehinzufugen
Aussageuber Alicehinzufugen
Verweis aufSmart Con-tract vonUniversitathinzufugen
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 16
Generisches Foderiertes 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 Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 17
Authentifizierung & Autorisierung
AliceSmart
ContractAlice
SmartContract
Universitat
ServiceProvider
AuthentifizierungAuthentifizierung
Attribut(e)nachschlagenAttribut(e)nachschlagen
Autorisierung
Service Provider User Identity Provider
Ressource anfordern
IdP findenWeiterleitung zum IdP
Authentifizierung anfordern
Authentifizierung
Authentifizierung & Attribute
IdP Antwort weiterleitenZugriff auf Ressource
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 18
Implementierungsbeispiel
Personlicher Smart Contract (Attribute Authority): 35 LoCErmoglicht das Hinterlegen von beliebigen offentlichen Attributen zu einer
Identitat
Service Provider: 50 LoCUberpruft ob eine Liste von Attributen vorhanden bzw. mit dem richtigen
Wert vorliegen
Blockchain-basiertes Foderiertes 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
• Loschen eines Smart Contracts: -24.000
• Speichern von Werten: 20.000
• Loschen 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 Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 20
Vorteile & Herausforderungen
Vorteile
• Erstaunlich einfach zuImplementieren
• User unter voller Kontrolleseiner Identitaten
• Sehr verlasslich
Herausforderungen
• User unter voller Kontrolleseiner Identitaten
• Datenschutz
• Betrachtet nur technischeVertrauensbeziehungen
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 21
Erweiterung decentralized App (Dapp)
HTML, CSS
Dapp
Javascript
HTML, CSS
Dapp
Javascript
HTML, CSS
Dapp
Javascript
BP
Frontend:
Backend:Whisper
SwarmIPFS
Whisper
SwarmIPFS
Blockchain
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 22
Ausblick
Private Attribute geschutzt speichernUnabdingbar fur Identity Management außerhalb von Namen und
E-Mail-Adressen
Zero-Knowlege-BeweiseErmoglichen es, Aussagen zu beweisen ohne Informationen uber die Aussage
preiszugeben
Homomorphe VerschlusselungRechnen auf verschlusselten Daten
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 23
Fragen
Foderiertes Identity Managementauf einem globalen Computer
Kontakt:
Michael [email protected]
Blockchain-basiertes Foderiertes Identity Management am Beispiel von Ethereum Smart Contracts Michael Grabatin 24