Ethereum-Authentifizierung/Autorisierung

In letzter Zeit habe ich darüber nachgedacht, wie ich Ethereum mit anderen Nicht-Ethereum-Systemen integrieren kann. Wäre es eine schlechte Idee, ein Ethereum-Schlüsselpaar in eine externe (mobile/Desktop-)Anwendung zu importieren, die zur Überprüfung der eigenen Ethereum-Identität/Durchführung von Transaktionen verwendet werden könnte?

Benutzer würden sich authentifizieren, indem sie ihren privaten Schlüssel als Antwort auf eine generierte zufällige Abfrage verwenden (entschlüsseln oder signieren) oder den eingebetteten privaten Schlüssel verwenden, um Ethereum-Transaktionen zu signieren und sie an ein externes System zu senden.

Würde das dem Geist und der allgemeinen Idee von Ethereum entsprechen und/oder eine Sicherheitsbedrohung für die Nutzer darstellen?

BEARBEITEN:

Der Wert der Verwendung einer solchen App wäre die Möglichkeit, den Besitz eines Ethereum-Kontos extern nachzuweisen. Es könnte verwendet werden, um das Eigentum an einem Vermögenswert oder die Ausführung einer Transaktion nachzuweisen.

Es wäre möglich, Smart Contracts in bestehende Nicht-Ethereum-Systeme zu integrieren.

Es klingt wie im Geiste von Ethereum. Sie würden Schlüssel generieren, die nur vom Mobilgerät verwendet werden, und ihnen gerade genug Ether geben, um zu funktionieren.
Eine andere Idee ist, den Benutzer zu bitten, eine Vertragsfunktion aufzurufen, die Sie von seiner Brieftasche aus mit einer bestimmten Zufallszahl steuern, Sie protokollieren das Ereignis und Ihr Server überprüft anhand der Blockchain-Exploration, dass das Ereignis aufgetreten ist.
@MikkoOhtamaa, aber dafür müsste man Ether ausgeben, oder? Würde es nicht ausreichen, eine Herausforderung mit Ihrem privaten Schlüssel zu signieren? Ich bin mir nicht sicher, ob ein solcher Mechanismus nicht zum Hacken des privaten Schlüssels verwendet werden könnte.
@Blady: Das einzige, was Sie ausgeben müssen, ist das Benzin für die Transaktionsgebühr zu bezahlen. Die Vorteile dieses Ansatzes bestehen darin, dass er mit jeder Ethereum-Brieftasche funktioniert, die eine Interaktion mit intelligenten Vertragsfunktionen bietet – Sie müssen keinen privaten Schlüssel aus Ihrer Brieftasche zum Signieren extrahieren oder eine spezielle Benutzeroberfläche zum Signieren implementieren.
@Blady Ein solcher Mechanismus kann nicht zum Hacken des privaten Schlüssels verwendet werden, da der Mechanismus die Grundlage aller intelligenten Vertragsfunktionen von Ethereum ist.
@MikkoOhtamaa siehe meine Bearbeitung zur Klärung der Absicht
@Blady Sie können den Besitz der Adresse (privater Schlüssel) nachweisen, indem Sie einen Smart-Contract-Aufruf von Ihrer Brieftasche aus tätigen. Keine externe Anwendung erforderlich. Sie können die Logik in die Smart-Contract-Funktion einfügen.
@MikkoOhtamaa Ich stimme zu. Im Vergleich zur App-Methode gibt es jedoch einige Nachteile. Zuerst die Gaskosten. Zweitens müssten Sie warten, bis der Block abgebaut und ein Ereignis ausgelöst wird. 13 Sekunden sind viel Zeit beim Rechnen. Schließlich müssten Sie manuell eine Transaktion erstellen. Ann App würde dieses Verfahren problemlos ersetzen.

Antworten (1)

Würde das dem Geist und der allgemeinen Idee von Ethereum entsprechen und/oder eine Sicherheitsbedrohung für die Nutzer darstellen?

Der kryptografische Identitätsnachweis mit Ethereum ist ein Anwendungsfall, der viel diskutiert wurde . Das Signieren einer vordefinierten Nachricht oder einer zufälligen Herausforderung, wie Sie vorschlagen, könnte ähnlich verwendet werden wie das heutige „Anmelden mit Facebook“, das Websites anbieten, aber mit dem Vorteil, dass es in diesem Fall kryptografisch nicht möglich wäre, die Anmeldeinformationen von irgendjemandem zu fälschen.

Wäre es eine schlechte Idee, ein Ethereum-Schlüsselpaar in eine externe (mobile/Desktop-)Anwendung zu importieren, die zur Überprüfung der eigenen Ethereum-Identität/Durchführung von Transaktionen verwendet werden könnte?

Sie müssten eine sehr, sehr sichere App erstellen, damit die Leute ihren privaten Schlüssel bequem darin einfügen können – es wäre eine schlechte Idee, jemals einen solchen Schlüssel zu speichern, und die Sicherheitsbewussteren würden ihren Schlüssel niemals in eine App laden (oder sogar Gerät) mit dem Internet verbunden. Das Hacken Ihrer App wäre ein zu attraktives Ziel, wenn einer Ihrer Benutzer private Schlüssel eingibt, die mit Konten mit hohem Wert verknüpft sind. Möglicherweise können Sie Identitäten überprüfen, indem Sie Personen vordefinierte Nachrichten mit ihren Hardware-Wallets usw. signieren lassen, aber vernetzte Geräte + private Schlüssel sind im Allgemeinen keine empfohlene Kombination.