Zugriffsmanager in Smart Contract

Ich baue einen Dienst auf, mit dem man eine verschlüsselte Datei im Internet veröffentlichen kann, auf die berechtigte Personen zugreifen und sie entschlüsseln können. Ich möchte keinen verschlüsselten Schlüssel auf einem Server oder so speichern.

Im Moment habe ich den Eigentümer der Datei, der einen Schlüssel auf der Blockchain initialisiert, und die Adressen in einer Liste können nach einer guten requireErklärung auf diesen Schlüssel zugreifen. Aber dann wurde mir klar, dass, wenn der Besitzer seinen Schlüssel initialisiert, dieser über die öffentliche Eingabe gesehen wird.

Gibt es eine bekannte Möglichkeit, dieses Problem zu lösen?

Sie könnten asymmetrische Verschlüsselung verwenden. Ich werde nicht ins Detail gehen, aber Sie könnten den Absender der Daten mit dem öffentlichen Schlüssel des Empfängers verschlüsseln und entweder in der Blockchain oder auf IPFS oder so speichern, in diesem Fall könnten Sie den Daten-Hash speichern an der Kette zur Überprüfung. Der öffentliche Schlüssel ist nicht dasselbe wie die Adresse. Sie muss entweder vom Empfänger bereitgestellt werden oder aus einer Signatur des Empfängers abgeleitet werden. Es gibt Möglichkeiten, das zu tun. Nachdem die Daten auf IPFS gespeichert wurden, kann der Empfänger die Daten mit seinem eigenen privaten Schlüssel entschlüsseln.
Die Sache ist, dass ich in der Lage sein möchte, die Berechtigung für diesen Schlüssel dynamisch zu verwalten, da der Besitzer Betrachter hinzufügen und sie unterwegs entfernen kann
Wie würden Sie damit umgehen, dass der Betrachter die Daten kopiert, bevor er sie löscht?
Jeder kann Daten kopieren, jeder kann Screenshots machen oder was auch immer, darum geht es hier nicht :)
In diesem Fall könnten Sie die Daten nach einem Update einfach nicht mit dem öffentlichen Schlüssel des gelöschten Betrachters verschlüsseln und veröffentlichen.
Meine Vision ist eher, Daten mit einem bestimmten Schlüssel zu verschlüsseln und dann zuzulassen oder zu verweigern, dass Adressen den Schlüssel aus der Blockchain erhalten, um diese Daten zu entschlüsseln

Antworten (1)

Sie könnten asymmetrische Verschlüsselung verwenden. Ich werde nicht ins Detail gehen, aber Sie könnten den Absender der Daten mit dem öffentlichen Schlüssel des Empfängers verschlüsseln und entweder in der Blockchain oder auf IPFS oder so speichern, in diesem Fall könnten Sie den Daten-Hash speichern an der Kette zur Überprüfung. Der öffentliche Schlüssel ist nicht dasselbe wie die Adresse. Sie muss entweder vom Empfänger bereitgestellt werden oder aus einer Signatur des Empfängers abgeleitet werden. Es gibt Möglichkeiten, das zu tun. Nachdem die Daten auf IPFS gespeichert wurden, kann der Empfänger die Daten mit seinem eigenen privaten Schlüssel entschlüsseln.