Wie hoste ich verschlüsselte Benutzerdateien so, dass ich sie nicht lesen kann?

Wie hoste ich verschlüsselte Benutzerdateien so, dass ich sie nicht lesen kann?

Ich plane ein neues Projekt und suche nach einer Möglichkeit, Benutzern das Hochladen ihrer Dateien zu ermöglichen und diese verschlüsselt und nur für sie zugänglich zu halten. Gleichzeitig muss aber auch deren Kontaktpersonen Zugriff auf die Dateien ermöglichen.

Um es etwas genauer zu erklären:

  • Der Benutzer lädt die Datei(en) über eine Webanwendung auf meinen Server hoch.
  • Ich (der Server) sollte keinen Zugriff auf den Inhalt der Dateien haben.
  • Kontakte des Benutzers sollten auf die Dateien zugreifen können, WENN der Benutzer beschließt, die Dateien mit ihnen zu teilen.

Ist so etwas überhaupt möglich?

Antwort1

Die kurze Antwort: Public-Key-Kryptographie bedeutet: Ja, das können Sie tun. Es ist schwierig, weil die Schlüsselverwaltung schwierig ist, nicht weil das Problem mathematisch schwierig ist.

Die lange Antwort: … passt hier nicht.

Die mittelkurze Antwort:

Wenn jeder Kontakt einen privaten Schlüssel hat, den Sie nicht kennen, der andere jedoch, und einen öffentlichen Schlüssel, den Sie kennen, und Sie Software (einschließlich JavaScript) auf dem Computer des Benutzers ausführen können, können Sie die Daten auf dem Computer des Benutzers verschlüsseln, sodass ein ähnliches Programm, das auf den Computern anderer Benutzer mit den jeweiligen privaten Schlüsseln ausgeführt wird, darauf zugreifen kann, Sie dazu jedoch nicht in der Lage sind, ohne die auf dem Computer des Benutzers ausgeführte Software zu ändern.

Einige Dinge, über die Sie nachdenken sollten:

  • Kryptografisch gesehen ist dies ein gelöstes Problem. Lösen Sie es nicht selbst.
  • Die meisten Benutzer legen Wert auf Benutzerfreundlichkeit.
  • Sie müssen weiterhin gute Entscheidungen bezüglich Metadaten treffen.

verwandte Informationen