RE-Encrypt-Datei in IPFS

Wenn ich eine verschlüsselte Datei in IPFS mit einem symmetrischen Schlüssel habe, den ich freigebe, kann ich diese Datei danach mit einem anderen Schlüssel entschlüsseln und erneut verschlüsseln, um den Zugriff zu widerrufen?

Es hängt von der Möglichkeit ab, eine Datei in einem IPFS-Netzwerk zu ersetzen. Ich persönlich halte das nicht für möglich.

Antworten (3)

Wenn ich verstehe, was Sie versuchen zu tun, wahrscheinlich nein. Paar Informationen für die Antwort

  1. IPFS verwendet Inhaltsadressierung .
  2. Derzeit macht sich IPFS keine Gedanken über verschlüsselte, nicht verschlüsselte, Verschlüsselungsvarianten. Es kennt nur die Bytes der Datei, den Inhalt.

Wenn Sie also eine Datei verschlüsseln und auf IPFS ablegen, erhält sie eine Adresse basierend auf dem verschlüsselten Ergebnis. Wenn Sie später diese Datei entschlüsseln, erneut verschlüsseln und das Ergebnis wieder in IPFS speichern, hat IPFS einen völlig neuen Inhalt und daher hat der Inhalt eine völlig neue Adresse.

Ja, Sie können es tun. Aber nein, Sie können dieselbe Adresse (den Hash) nicht erneut verwenden.

ok, ich verstehe, aber die Originaldatei wird immer noch da sein, und jemand mit der ersten Adresse und dem alten Schlüssel könnte sie entschlüsseln? Weil ich verstehe, dass wir in IPFS nichts löschen oder ändern können, richtig?
Das ist richtig. Sobald es in IPFS ist, können Sie nie wissen, ob es gelöscht wird. Tatsächlich besteht der ganze Sinn von IPFS darin, eine solche Dauerhaftigkeit zu garantieren, daher bin ich mir nicht sicher, ob IPFS wirklich das ist, was Sie verwenden möchten. Siehe meine Antwort.

Wie Andrewxhill sagt, ist IPFS unveränderlich und inhaltsadressiert, was bedeutet, dass neue Inhalte, wenn Sie sie veröffentlichen, eine neue Adresse erhalten und die ursprünglichen Inhalte dort bleiben.

Sie könnten IPNS verwenden , was ein Ansatz ist, um Veränderlichkeit in IPFS einzuführen: gleicher Hash, sich entwickelnder Inhalt. Die Grundidee ist, dass Sie einen privaten Schlüssel verwenden, der als Veröffentlichungsschlüssel fungiert. Auf diese Weise könnten Sie den verschlüsselten Inhalt ändern und dabei den gleichen Hash beibehalten.

Beachten Sie jedoch ein paar Dinge:

  • Sobald ein Inhalt in einem digitalen Netzwerk veröffentlicht wurde, ist es sehr schwierig, den Zugriff zu entfernen, da ihn möglicherweise jemand irgendwo kopiert hat. Ich denke, es ist am besten, den Zugriff auf zukünftige Versionen von Inhalten zu verhindern, anstatt den Zugriff auf bereits veröffentlichte Inhalte zu entfernen. Auf jeden Fall kann das Entfernen des Zugriffs als Geschäftsprozess gültig sein, aber aus Sicherheitssicht ist es nicht zuverlässig.
  • Noch wichtiger: Wenn Sie in der Lage sein möchten, die Verbreitung einiger Inhalte zu kontrollieren und einzuschränken, würde ich die Wahl von IPFS in erster Linie in Frage stellen, da es bei IPFS genau darum geht, redundanten Zugriff und hohe Verfügbarkeit bereitzustellen.

Wenn Sie immer noch davon überzeugt sind, dass Sie IPFS benötigen, sollten Sie das IPFS-Forum verwenden , da dies nicht wirklich eine Ethereum-Frage ist (zumindest basierend auf den Informationen, die Sie bisher geteilt haben).

Ich möchte auch darauf hinweisen, dass diese Frage wie ein Fall von XY-Problem klingt . Versuchen Sie vielleicht zu erklären, was das eigentliche Problem ist, das Sie lösen möchten.

Nein, Sie können eine Datei auf IPFS nicht entschlüsseln und verschlüsseln, um den Zugriff zu widerrufen.

Durch erneutes Verschlüsseln der Datei erhalten Sie eine neue inhaltsbasierte Kennung (CID), da die Inhalte jetzt anders sind.

Jede Datei, die durch jedes IPFS-Gateway geht, wird zwischengespeichert, so dass, solange ein einzelner IPFS-Knoten noch über die Datei verfügt, jemand sie immer noch basierend auf der CID anfordern kann. IPFS ist gewissermaßen ein globales dezentralisiertes CDN.