DApp-Transaktionen auf dem Handy signieren und an den Server übertragen - Web-Sicherheit

Ich entwickle derzeit eine App für iOS und Android mit React Native, in der Benutzer eine Brieftasche haben, die mit: https://www.npmjs.com/package/ethereumjs-wallet-react-native erstellt wurde . Sie können dann Transaktionen signieren und an meine Web-API senden, indem sie Folgendes verwenden: https://github.com/ethereumjs/ethereumjs-tx .

Ich bin keineswegs ein Experte für Websicherheit, aber der von mir verwendete Server verwendet HTTPS für die Kommunikation zwischen Client und Server. Ich habe mich gefragt, was mögliche Auswirkungen auf die Sicherheit für das angegebene Verfahren sein könnten.

Schritte:

  1. Der Benutzer erstellt eine Brieftasche und speichert einen privaten Schlüssel auf dem Gerät.
  2. Der Benutzer erstellt eine Transaktion und signiert die Transaktion auf dem Gerät.
  3. Der Benutzer sendet eine signierte Transaktion über HTTPS an meine WebAPI.
  4. Meine WebAPI sendet es an die Blockchain.

Außerdem möchte ich eine Möglichkeit schaffen, wie Benutzer ihre Brieftaschen abrufen können, falls das Gerät irgendwie beschädigt wird. Ich kann mir keine besonders sichere Möglichkeit vorstellen, dies zu tun. Es sei denn, wenn ich den privaten Schlüssel auf dem Schlüsselbund (oder ähnlich für Android) speichere, verwaltet Apple / Android die Wiederherstellung? Wenn ich mich beispielsweise auf einem Gerät anmelde und mich dann auf einem anderen Gerät anmelde, wird es denselben privaten Schlüssel verwenden?

Vielen Dank im Voraus und ich weiß Ihre Hilfe zu schätzen.

Schlagen Sie vor, Ihre Frage zur Schlüsselverwaltung auf einem anderen Kanal als Ethereum zu posten, da sie nicht direkt damit zusammenhängt
Könnt ihr einen empfehlen?

Antworten (1)

Solange Sie die Transaktion auf dem Gerät signieren und nur die signierten Transaktionen übertragen, haben Sie die grundlegenden Sicherheitsanforderungen erfüllt, die jede andere Brieftasche bereitgestellt hätte. Wenn Sie sich infura.io noch nicht angesehen haben, schlagen Sie vor, dies zu überprüfen, da es Ihre WebAPI-Funktionalität nachahmt (als Broker arbeiten).

Hallo Chim, ja, ich werde Infura zum Senden der Transaktionen verwenden, habe aber auch eine typische Web-API für bestimmte Dinge (Könnte in Zukunft auf IPFS verschoben werden.) :). Danke für den Hinweis.