Was ihr Sicherheitsparadigma angeht, hat die moderne Anwendungsentwicklung mit zahlreichen Unzulänglichkeiten zu kämpfen. Die Blockchain kann mehrere dieser Mängel abmildern - das erfordert aber auch die nötigen Mittel, um sie mit konventionellen Anwendungen verknüpfen zu können. Etliche große Cybersicherheitsunternehmen arbeiten bereits daran, die Sicherheitslandschaft Blockchain-fähig zu machen. Dieser Artikel verrät Ihnen, wie Crypto Wallets funktionieren und welche Rolle sie bei der Authentifizierung spielen.
Crypto Wallet: Definition
Im Grunde genommen ist eine Crypto Wallet ein Software-Client, der kryptografische Schlüssel verwaltet. Bei der asymmetrischen Kryptografie, auf der die Blockchain aufbaut, werden zwei Schlüssel erzeugt, die als Schlüsselpaar bezeichnet werden. Der öffentliche Schlüssel (Public Key) ist in der Lage, verschlüsselten Text zu erstellen, den nur der private Schlüssel (Private Key) entschlüsseln kann. Das Schlüsselpaar kann auch dazu verwendet werden, Daten zu signieren - und damit den Beweis zu erbringen, dass der Absender im Besitz des Private Key ist (ohne diesen preiszugeben).
Diese Anordnung ist das Ergebnis einer ausgeklügelten Mathematik, die erstmals im Rahmen des Diffie-Hellman-Schlüsselaustauschs entwickelt wurde. Im Ergebnis ermöglicht der Private Key den Zugang zu vertraulichen Daten, während es der Public Key erlaubt, Informationen zu erstellen. Letzterer ist so etwas wie ein magischer Briefumschlag: Wenn ein Brief hineingesteckt wird, kann ihn nur der Inhaber des jeweiligen privaten Schlüssels öffnen und lesen.
Im Fall der Blockchain befindet sich dieser magische Umschlag in einem öffentlich zugänglichen Datenspeicher. An diesen kann jeder Daten senden, aber nur der Inhaber des Private Key kann darauf zugreifen. Bei Blockchain-Adressen handelt es sich ebenfalls um kryptografische Einheiten: Sie werden in Verbindung mit einem öffentlichen Schlüssel erstellt. Die Blockchain-Adressen enthalten Kryptowährungen oder andere sensible Informationen. Nur mit dem privaten Schlüssel, mit dem die Adresse erstellt wurde, kann auf sie zugegriffen werden.
Für die Nutzer realisiert eine Crypto Wallet eine bequeme und sichere Möglichkeit, ihre Private und Public Keys für bestimmte Blockchains abzuspeichern. Auf Grundlage der in ihnen enthaltenen, privaten Schlüssel ermöglichen Wallets eine einfache Interaktion mit der Blockchain. Dabei sind sie selbst mit einem Passwort gesichert. Dabei managt die Wallet auch die Public Keys und ermöglicht den Nutzern Zugriff, falls eine Adresse benötigt wird, um Transaktionen anzunehmen.
Wallet und App: Der Brückenschlag
Krypto-Wallets sind demnach ein benutzerfreundliches Mittel, um mit asymmetrischen Schlüsselpaaren umzugehen. Das ist auch im Zusammenhang mit Authentifizierung interessant - eine Wallet kann auch als Identitätsnachweis gesehen werden, die zur Authentifizierung von Benutzern verwendet werden kann. Alles, was dazu nötig ist, ist eine Brücke zwischen Anwendung und Wallet.
Dieser Brückenschlag wird derzeit im Rahmen von Projekten wie Sign In With Ethereum (SIWE) erforscht. Einige Unternehmen - wie der Sicherheitsanbieter Auth0 - nutzen unter anderem SIWE bereits als alternativen Authentifizierungsmechanismus. Auch, weil es relativ einfach ist, damit herkömmliche Login-Methoden wie Nutzername-Passwort oder Single Sign-On zu ersetzen. Diese niedrige Schwelle könnte einer breiten Nutzung in der Zukunft zuträglich sein. Eine Authentifizierung per Wallet hat zwei wesentliche Vorteile:
ist die Identität aufgrund ihrer kryptografischen Natur im Vergleich zu Passwörtern im Klartext sehr sicher.
ist eine SSO-ähnliche Funktionalität ohne die damit verbundene zusätzliche Komplexität und Anfälligkeit möglich.
Anders ausgedrückt: Die Crypto Wallet kann als Single Source of Identity Truth dienen und für eine beliebige Anzahl von Anwendungen genutzt werden. Selbst wenn Sie kein persönliches Interesse an Kryptowährungen haben - Ihre Benutzer könnten möglicherweise bald Wallets als zentralen Authentifizierungsmechanismus verwenden wollen.
Crypto Wallet nutzen: Beispiel Metamask
Die Authentifizierung auf Basis von Crypto Wallets ist ein Konzept, das weitreichende Auswirkungen auf die Security-Zukunft hat. Deswegen lohnt es sich, sich in der Praxis anzusehen, wie die digitalen Geldbörsen im Allgemeinen funktionieren und sich ein konkretes Bild von der User Experience zu machen. Zu den populärsten Crypto Wallets gehört die Browser-Erweiterung Metamask, die es inzwischen auf mehr als 30 Millionen aktive Nutzer im Monat bringt. Die Wallet ist einfach zu bedienen und unterstützt mehrere Blockchains, vor allem Ethereum und dessen Token-Universum. Wallets gibt es im Allgemeinen in zwei Varianten: Hardware und Software. Software-Wallets wie Metamask sind oft Browser-Erweiterungen und/oder mobile Apps. Um einen Eindruck von den allgemeinen Merkmalen von Wallets zu vermitteln, erkunden wir die App.
Nachdem Metamask von der offiziellen Webseite heruntergeladen und installiert ist, erwartet Sie der Willkommensbildschirm. Dabei werden Sie vor die Wahl gestellt, entweder eine neue Wallet zu erstellen oder eine bestehende zu importieren (letzteres funktioniert über eine Seed-Phrase, eine für Menschen besser nutzbare Alternative zum Private Key, die für gewöhnlich aus 12 bis 24 Wörtern besteht).
Wenn Sie "Create Wallet" wählen, werden Sie zunächst nach einem Passwort gefragt. Dieses Passwort wird nur für den Zugriff auf diese Instanz der Wallet verwendet. Wenn Sie die Wallet verlieren und sie (beispielsweise auf einem anderen Gerät) mit Ihrer Seed-Phrase wiederherstellen, werden Sie aufgefordert, ein neues Passwort einzugeben, um auf diese Instanz zuzugreifen. Mit anderen Worten: Sie können das Passwort nicht verwenden, um Ihre Brieftasche wiederherzustellen - das geht nur per Seed-Phrase. Die müssen Sie im nächsten Schritt anlegen. Die Seed-Phrase ist außerordentlich wichtig für die Sicherheit Ihrer Wallet und kann nach der Erstellung nicht mehr verändert werden. Ist das erledigt, sehen Sie die Hauptmaske vom Metamask:
Das erste, was Sie sich merken sollten, ist die Zeichenfolge unter "Account", in diesem Fall also "0xa65...9321" - das ist der Public Key. Würde Ihnen jemand Ethereum schicken wollen, würden Sie diesen als Empfängeradresse verwenden. Um den Private Key zu finden, klicken Sie auf die Ellipsen oben rechts und wählen Sie "Account Details". Hier können Sie den privaten Schlüssel exportieren. Dabei sollten Sie stets im Hinterkopf behalten, dass der Private Key Zugriff auf sämtliche Inhalte gibt, die unter der Adresse in der Blockchain gespeichert sind.
Metamask und andere Crypto Wallets bieten viele weitere Funktionen - das sind nur die grundlegenden Eigenschaften. Im Folgenden werfen wir noch einen Blick auf den Login mit der Wallet: Wenn Sie den Ethereum-App-Explorer aufrufen, können Sie eine Vielzahl von Anwendungen sehen, die Metamask unterstützen. Wir haben uns für die Nicht-Finanz-App Ethereum Domain Name entschieden. Klicken Sie auf "Go to App", um zum eigentlichen Einstiegspunkt zu gelangen. Metamask wird automatisch gestartet und Sie gelangen zum Startbildschirm:
Metamask informiert Sie genau darüber, welche Berechtigungen die App einfordert (Adresse, Kontostand, Aktivitäten und Transaktionen). Sobald Sie alles akzeptiert und auf dem Hauptbildschirm auf "Connect" geklickt haben, sind Sie angemeldet. Zum Beispiel gibt es jetzt einen Link "My Account" in der oberen rechten Navigationsleiste.
Dezentrale Identität: Blick in die Zukunft
Obwohl wir nur an der Oberfläche der Dinge kratzen, bekommen wir einen Einblick, wie die Authentifizierung in einer Blockchain-fähigen App (oft auch dApps oder verteilte Apps) funktioniert. Die Zukunft des Web wird geprägt sein von einer großen Zahl von Apps, die Integrationen zwischen herkömmlichen (Web2-)Apps und Blockchain-Apps (Web3) darstellen. Im Allgemeinen handelt es sich dabei um dApps - und die Authentifizierung ist der Hauptkontaktpunkt. Anders ausgedrückt: Indem sie Web3-Authentifizierung unterstützen, können ansonsten unveränderte herkömmliche Apps eine zentrale Blockchain-Funktion nutzen.
Im Moment ist die dezentrale Identität noch etwas nebulös. Wie Sie gesehen haben, ist es einfach, eine Identität aus dem Nichts zu schaffen. Sobald eine Crypto Wallet wichtige Informationen (wie Währungsbestände) enthält, werden diese für die Anwendungen wichtig. Kurz gesagt, die Wallet schafft einen hochsicheren und standardisierten Mechanismus zwischen dem User, der Applikation und den Daten die erstgenannter freigeben möchte. Damit wird die Krypto-Wallet zu einem zweiseitigen Authentifizierungsmechanismus.
Diese Anwendungsfälle sind bereits sehr leistungsfähig, kratzen aber nur an der Oberfläche dessen, was in Zukunft auf Regierungen, Institutionen und Unternehmen zukommen könnte, wenn sie Blockchains integrieren. Dieser Blog-Beitrag wirft einen interessanten Blick auf verschiedene Identity- und Authentifizierungs-Projekte in diesem Bereich. Denken Sie dabei daran, dass viele dieser Projekte bald für die aktive Nutzung in der kommenden Auth0-Marktplatz-Kategorie "Web3" verfügbar sein werden. (fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.