Frage:
Muster, mit dem mehrere Personen ein Dokument entschlüsseln können, ohne den Verschlüsselungsschlüssel gemeinsam zu nutzen?
Monika
2014-10-29 20:31:12 UTC
view on stackexchange narkive permalink

Aktuelles Setup

Wir haben einen Dienst, mit dem Benutzer Dokumente über eine Website hochladen und die hochgeladenen Dokumente verschlüsselt auf der Festplatte speichern können.

Die Dokumente auf der Festplatte werden mit einem Benutzerschlüssel verschlüsselt, der bei der Kontoerstellung zufällig generiert wird. Dieser Dokumentschlüssel wird in einem Datenbankfeld gespeichert, das mit dem Kennwort des Benutzers als Schlüssel verschlüsselt ist. Wenn der Benutzer (Eigentümer) ein Dokument herunterladen möchte, muss er sein Kennwort angeben, mit dem der darin enthaltene Dokumentschlüssel entschlüsselt wird wiederum wird zum Entschlüsseln des Dokuments verwendet.

Wir haben dieses Muster gewählt, um die Notwendigkeit zu vermeiden, alle verschlüsselten Dokumente neu zu verschlüsseln, wenn der Benutzer sein Kennwort ändern möchte: Wir müssen nur den Dokumentschlüssel neu verschlüsseln.

Dieses Setup funktioniert einwandfrei (und wir denken, es ist ein sicheres Muster 1 sup>).


Erforderliche Änderungen

Leider müssen zwei neue Anforderungen implementiert werden.

  1. Laut Gesetz müssen wir auf Anfrage der Regierung alle Dokumente, die wir auf der Festplatte haben, entschlüsseln können.
  2. Jemand hat entschieden, dass der Eigentümer eines Dokuments sollte in der Lage sein, das hochgeladene Dokument für andere Benutzer freizugeben.
  3. ol>

    Ich weiß nicht, wie diese Anforderungen implementiert werden sollen, während die Dokumente mit Benutzerverschlüsselung gespeichert bleiben.

    Meine Frage lautet also:

    Gibt es ein bekanntes Muster, mit dem Dokumente verschlüsselt werden können, damit sie von einer oder mehreren Parteien entschlüsselt werden können, bei denen die betreffenden Parteien sind bei der Dokumentverschlüsselung zu bestimmen?



    Update :

    Einige Hintergrundinformationen zum oben genannten Gesetz:
    Tatsächlich besagt das Gesetz nicht, dass wir eine Hintertür einbauen müssen. Das Gesetz macht es zu einer Straftat, den Schlüssel nicht an verschlüsselte Daten zu übergeben, die Sie 2 sup> haben, wenn die Polizei den Schlüssel 3 sup> anfordert. Dies hat zur Folge, dass wir, die wir die Daten hosten, eine Hintertür haben müssen oder strafrechtlich verfolgt werden müssen, falls wir die Daten auf Anfrage nicht entschlüsseln können. Anders als in einigen anderen Ländern können wir jedoch die Tatsache mitteilen, dass wir einen Auftrag zum Entschlüsseln von Dokumenten erhalten haben. Diese Gesetze sind leider nicht ungewöhnlich.

    Informieren Sie unsere Kunden und die Öffentlichkeit:
    Wie ich in einem Kommentar a angegeben habe > Vorher habe ich die Absicht, mein Gewicht zu erhöhen, um sicherzustellen, dass diese Richtlinie unseren Kunden klar mitgeteilt wird. Datenschutzerklärungen müssen geändert und die Nutzungsbedingungen aktualisiert werden.
    Das öffentliche Bewusstsein einerseits und die Sicherstellung, dass „schlechte Gesetze Geld kosten“ andererseits sind die beste Methode, die ich zur Verfügung habe, um gegen solche Gesetze zu protestieren.
    Gleichzeitig bin ich jedoch etwas skeptisch gegenüber den Auswirkungen einer solchen Aussage. Die meisten Leute kümmern sich einfach nicht darum. Gleichzeitig verwenden viele Menschen ihre E-Mail und ihren Posteingang, um Dokumente zu speichern und weiterzugeben. Aus dieser Perspektive ist unser Service (noch) eine enorme Verbesserung (und dies ist der Grund, warum einige unserer Kunden von ihren Mitarbeitern verlangen, dass sie ihn nutzen).



    1. Wenn diese Methode ein grelles Loch aufweist, können Sie dies gerne kommentieren.
    2. Anwälte haben herausgefunden, dass "Daten, die Sie haben" alle Daten umfassen soll, die auf physischen Geräten gespeichert sind, die Sie besitzen (ich bin kein Anwalt, daher ist dies meine Laienübersetzung dessen, was sie geschlossen haben).
    3. Ja, kein schickes Sicherheitsbüro, sondern die Polizei. Es gibt einige Schutzmaßnahmen, wenn sie ein Passwort anfordern können, aber das ändert nichts an den Auswirkungen dieses Gesetzes. Die große Frage ist, was passiert, wenn Sie das Passwort für einige Daten wirklich vergessen haben. Der Minister hat angegeben, dass es in der Verantwortung des Eigentümers solcher verschlüsselter Daten liegt, diese dann zu löschen. Ein solcher Fall wurde meines Wissens jedoch noch nicht vor Gericht verhandelt. sup>

Was ist der Vorteil einer Verschlüsselung pro Benutzer überhaupt? Klingt so, als könnten Sie genauso gut die Festplattenverschlüsselung verwenden und die Anwendung die Kennwörter für Downloads überprüfen lassen.
Der Vorteil der Verschlüsselung pro Benutzer besteht darin, dass für alle Entschlüsselungssequenzen ein Kennwort erforderlich ist. Mit anderen Worten, auf der Festplatte sind keine Entschlüsselungsschlüssel gespeichert (unverschlüsselt).
Also muss der Benutzer sein Passwort eingeben, um zu entschlüsseln? Dies ist nicht mit Ihrer gesetzlichen Verpflichtung vereinbar, auf Anfrage zu entschlüsseln.
@paj28, genau. Deshalb habe ich die Frage gestellt. Beachten Sie, dass das Gesetz zwar vorschreibt, dass wir Dokumente entschlüsseln können, dies jedoch keinen automatisierten Prozess erfordert. So können wir unser 'Master-Passwort' immer noch geheim halten.
@Monika: Wenn Sie Ihr "Hauptkennwort" auf einem Offline-Computer oder auf einem Blatt Papier speichern, bietet die Verschlüsselung pro Benutzer in der Tat zusätzliche Sicherheit.
Würde die Person, die das Downvote abgegeben hat, gerne erklären, warum?
Ich würde es als unehrlich betrachten, diesen Service anzubieten, da Ihre gesetzliche Anforderung, entschlüsseln und dokumentieren zu können, nicht mit dem kompatibel ist, was Ihre Kunden vernünftigerweise erwarten können.
@IanRingrose, Der Dienst bietet Benutzern die Möglichkeit, Dokumente zu speichern, damit sie jederzeit darauf zugreifen können. Wir verschlüsseln die Dokumente, weil wir die Idee des Datenschutzes respektieren, nicht weil der Vertrag mit dem Kunden dies erfordert. Als zweiter Hinweis: Der Service wird ausschließlich von Geschäftskunden genutzt, die normalerweise (oder gleichzeitig) ihren E-Mail-Posteingang in gleicher Weise nutzen würden.
Sicherlich verlangt das Gesetz nur, dass Sie entschlüsseln, wenn Sie dazu physisch in der Lage sind. Wenn Sie es Ihnen unmöglich machen, Benutzerdaten zu entschlüsseln, gibt es kein Problem, oder?
@JMK, Wenn Sie das Passwort nicht angeben können, geht das Gesetz davon aus, dass Sie gegen die Anfrage arbeiten. Das Gesetz versucht zu verhindern, dass Personen behaupten, ihr Passwort vergessen zu haben, und ist als solches formuliert. Die Nebenwirkung dieser Formulierung des Gesetzes (der Fall in dieser Frage) ist nichts, was sie stören.
@Monika, Ich glaube nicht, dass Sie das Gesetz sind, das Sie angeben, da jeder Sicherungsdienst, der eine Datei von meinem Computer sichert, den ich bereits verschlüsselt habe, erforderlich wäre, um den Schlüssel übergeben zu können. Ebenso, wenn einer Ihrer Kunden eine Datei selbst verschlüsselt, bevor Sie sie mit Ihrem System freigeben.
@IanRingrose, Ich bin kein Anwalt und ich denke nicht, dass dies der Ort ist, um zu diskutieren, ob dieses Gesetz so ausgelegt werden sollte oder nicht. In der Zwischenzeit muss ich * eine * Lösung finden, die die beiden in meiner Frage beschriebenen Anforderungen erfüllt.
Eine rein praktische Frage: Während Sie den Schlüsselspeicher wie unten vorgeschlagen für neue Dokumente ändern können, wie möchten Sie mit allem umgehen, was vor der Änderung hochgeladen wurde, wenn nur der Benutzer eine Kopie des Entschlüsselungsschlüssels hat ...
@DanNeely,, dass man mich auch nervt. Das Ganze bei diesem Thema ist, dass das Gesetz von Menschen entworfen wurde, die es anscheinend nicht durchdacht haben oder eher nicht über das technische „Know-how“ verfügen, um alle Auswirkungen und Unmöglichkeiten zu erkennen, die es schafft. Im Moment denke ich, ich sollte a) es ignorieren oder b) mir einen anderen Job suchen oder so.
Warten Sie, es sind nicht IHRE verschlüsselten Daten und Schlüssel - es sind BENUTZER. Warum mussten SIE den Anwaltskanzleien Schlüssel geben? Sie speichern nur zufällige Daten für Benutzer. Senden Sie sie daher, um Schlüssel von Benutzern wiederherzustellen.
@Monika Wenn Ihnen die mangelnde Fähigkeit zum Entschlüsseln vorenthalten werden kann, werden Sie einer Art Erpressung ausgesetzt: Stellen Sie sich vor, ein Benutzer lädt eine zufällige Bitsequenz hoch und bringt die Regierung dazu, Sie nach einer "Entschlüsselung" zu fragen.
In welchem ​​Land ist das, wenn es Ihnen nichts ausmacht, wenn ich frage?
Möglicherweise verwandt: [SuperUser: Ein Dokument mit mehreren Schlüsseln verschlüsseln und Personen für diese Schlüssel zur Rechenschaft ziehen] (http://superuser.com/q/638358/53590)
@Monika Welches Land ist das?
Sechs antworten:
Tom Leek
2014-10-29 20:48:44 UTC
view on stackexchange narkive permalink

Sie benötigen einen Schlüssel pro Dokument, keinen Schlüssel pro Benutzer. Nun, Sie benötigen auch Schlüssel pro Benutzer, aber das ist eine andere Sache.

Jedes Dokument D ist nämlich mit einem Schlüssel K D verschlüsselt sub> . Dieser Schlüssel wird beim ersten Import des Dokuments in das System zufällig generiert. Jedes Dokument hat einen eigenen Schlüssel. Der Schlüssel für ein Dokument kann nicht aus dem Schlüssel eines anderen Dokuments abgeleitet werden.

Jeder Benutzer U hat auch einen Schlüssel K U sub> . Wenn Sie also das Dokument D benötigen, um für die Benutzer U , V und W zugänglich zu sein, speichern Sie E K D sub> sub> (D) (Verschlüsselung von D mit dem Dokumentschlüssel) zusammen mit E K U sub> sub> (K D sub>) , E K V sub> sub > (K D sub>) und E K W sub> sub> (K D sub>) (Verschlüsselung des Schlüssels K D sub> mit den Schlüsseln des Benutzers U , V und W ). Diese "verschlüsselten Schlüssel" haben eine geringe Größe (einige Dutzend Bytes, unabhängig von der Dokumentgröße), sodass diese vergrößert wird.

Um die Dinge praktischer zu gestalten, müssen Sie möglicherweise asymmetrische Verschlüsselung für Benutzerschlüssel: Die Verschlüsselung von D verwendet ein praktisches symmetrisches System (z. B. AES), aber die "Benutzerschlüssel" sind vom Typ RSA (oder einem anderen ähnlichen Algorithmus wie ElGamal). Wenn Benutzer U das Dokument D mit Benutzer V teilen möchte, gilt Folgendes:

  1. ruft E K U sub> sub> (K D sub>) vom Server ab;
  2. verwendet sein eigenes privater Schlüssel zum Entschlüsseln und Wiederherstellen von K D sub> >;
  3. verschlüsselt K D sub > mit öffentlichem Schlüssel , was E K V sub> sub> (K D sub>) .
  4. ol>

    Das Schöne an diesem Schema ist, dass V für dieses Verfahren nicht vorhanden sein muss, da nur V wird verwendet.

    Zu diesem Zeitpunkt haben Sie wirklich OpenPGP, ein Format, das hauptsächlich für sichere E-Mails gedacht ist. E-Mails haben diese "Freigabeeigenschaft" (eine E-Mail kann an mehrere Empfänger gesendet werden) und sind asynchron (wenn Sie die E-Mail senden, ist der Empfänger nicht unbedingt sofort verfügbar). Es ist ratsam, OpenPGP wiederzuverwenden, ein Format, das von vielen Kryptographen überprüft wurde und für das bereits Implementierungen vorhanden sind.


    Wenn Sie über einen Freigabemechanismus verfügen, können Sie sich einfach als impliziter Empfänger für jedes Dokument, und Sie können alles lesen. Informieren Sie die Benutzer unabhängig von den gesetzlichen Bestimmungen über die "Nutzungsbedingungen", damit Sie alles technisch lesen können. Andernfalls werden Sie möglicherweise wegen mangelnder Warnung verklagt.

Ich hatte auf eine elegante Verschlüsselung mit mehreren öffentlichen Schlüsseln mit verwandtem Entschlüsselungsschema für private Schlüssel gehofft, aber dies ist wahrscheinlich einfacher (daher besser). [und keine Sorge, ich werde dafür sorgen, dass die Datenschutzerklärung und die Nutzungsbedingungen geändert werden. Das öffentliche Bewusstsein einerseits und die Sicherstellung, dass „schlechte Gesetze Geld kosten“ andererseits sind die beste Protestmethode, die ich gegen solche Gesetze zur Verfügung habe.]
Gibt es ein Schema für die Verschlüsselung mehrerer öffentlicher Schlüssel, das mit dem zugehörigen privaten Schlüssel entschlüsselt wird? oder hat noch jemand das herausgefunden?
Das OpenPGP-Schema ist ein Beispiel; Sie erhalten jedoch weiterhin Overhead pro Empfänger. Es gibt "Broadcast-Verschlüsselungs" -Schemata, die versuchen, diesen Overhead zu reduzieren. Sie können es jedoch nicht vollständig entfernen.
Ich sollte mich wieder an der Universität einschreiben :-)
Und eine PGP-Implementierung führt bereits Punkt 1 (Regierungsanfrage) aus oder hat dies zumindest getan. Die "kommerzielle" Version von PGP Inc aus dem Jahr 2000, als die US-Regierung Clipper usw. drängte, fügte eine sanftere Alternative namens ADK Additional Decryption Key hinzu, mit der der Eigentümer bei Bedarf entschlüsseln kann, in diesem Fall die Regierungsanforderung. Ich habe nicht den Überblick behalten, aber einige googeln deuten darauf hin, dass der neue Eigentümer Symantec diese Fähigkeit beibehält. Sie sollten auf jeden Fall Steuerelemente einrichten, damit diese nur verwendet werden, wenn dies rechtlich korrekt ist, unabhängig davon, was in Ihrem Zuständigkeitsbereich liegt.
Interessant ist der zusätzliche Entschlüsselungsschlüssel (ADK) von @dave_thompson_085,. Könnten Sie Ihren Kommentar vielleicht zu einer Antwort erweitern?
Beachten Sie, dass das vorgeschlagene Setup nicht die Anforderung aus der Frage erfüllt, dass Dokumente "ohne Freigabe des Verschlüsselungsschlüssels" freigegeben werden können. Sie teilen es in verschlüsselter Form, teilen es aber trotzdem. Dies bedeutet, dass Sie, wenn Sie den Zugriff einer Person widerrufen möchten, das Dokument mit einem neuen K_D erneut verschlüsseln und dieses (in verschlüsselter Form oder nicht) für alle verbleibenden Benutzer freigeben müssen, die Zugriff haben sollten.
Wenn der K_D-Schlüssel dokumentenspezifisch ist, ist es wahrscheinlich dasselbe, den Schlüssel und das Dokument gemeinsam zu nutzen. Man könnte sagen, dass Sie niemanden zwingen können, ein Dokument mehr zu vergessen, als Sie ihn zwingen können, einen Schlüssel zu vergessen. In diesem Sinne ist das "Widerrufen" eines Zugriffs nicht genau definiert.
@Chris Ich denke, der beste Kompromiss wäre, wenn bei jeder Bearbeitung des Dokuments ein neuer Schlüssel generiert würde. Ein Teil des Upload-Prozesses würde dann den neuen Schlüssel für jede Person verschlüsseln, die in das Dokument schreiben darf.
antispy
2014-10-30 05:44:43 UTC
view on stackexchange narkive permalink

ABER wir müssen zwei neue Anforderungen implementieren:

Laut Gesetz müssen wir in der Lage sein, alle Dokumente, die wir auf der Festplatte haben, auf Anfrage der Regierung zu entschlüsseln;

Wow. Ich hoffe wirklich, dass Sie planen, Ihre Benutzer darüber zu informieren, dass Sie Ihren Dienst für die Strafverfolgung hintertüren, damit sie genügend Zeit haben, ihre Daten aus Ihrem Dienst zu löschen, bevor dies geschieht. Das wäre die ethische und ehrenvolle Sache.

Wenn Sie dazu gezwungen werden, z. Wenn Sie aufgrund eines Knebelbefehls nicht darüber sprechen dürfen, sind Ihre Möglichkeiten begrenzt:

  1. Lassen Sie jemanden im Unternehmen diese Informationen anonym an die freie Presse weitergeben (dass Ihr Dienst in Zukunft eine Hintertür hat).
  2. Fahren Sie den Dienst aus nicht angegebenen Gründen herunter. Geben Sie Ihren Benutzern einige Wochen Zeit, um ihre Daten herunterzuladen, bevor sie für immer gelöscht werden.
  3. Verlegen Sie Ihr Unternehmen, Ihren Onlinedienst und Ihre Mitarbeiter in ein Land, in dem es keine drakonischen Überwachungsgesetze gibt.
  4. ol >

    Es hört sich so an, als hätten Sie bereits einen sicheren Dienst und einige datenschutzorientierte Benutzer angezogen. Alles wäre besser, als absichtlich eine Hintertür für die Strafverfolgung zu installieren und Ihre Benutzer zu bescheißen. Nach allem, was Sie wissen, senden sie Ihnen einen Haftbefehl für alle Benutzerdaten, sobald Ihr vorgeschlagenes System für die Strafverfolgung eingerichtet ist.

    Sie sollten das System besser schließen Das Unternehmen fällt aus, nimmt Ihr Geld und gründet ein neues Unternehmen, aber diesmal macht es es richtig. Hier sind meine Vorschläge:

  • Starten Sie Ihr Unternehmen in einem Land ohne diese Gesetze. Hosten Sie dort auch Ihre Server und Benutzerdaten.
  • Verwenden Sie einen Open Source -Client, damit Benutzer der Software vertrauen, die auf ihrem Computer / Gerät ausgeführt wird. Es wird in Zukunft sehr schwierig sein, eine Hintertür zu verstecken, wenn Sie von den Behörden dazu gezwungen werden, weil jemand es bemerkt.
  • Alle privaten Datenverschlüsselungsschlüssel werden clientseitig gespeichert, niemals auf dem Server. Auf dem Server werden nur verschlüsselte Daten gespeichert. Die gesamte Ver- und Entschlüsselung erfolgt auf dem Client. Der Server enthält nur verschlüsselte Daten. Benutzer sind dafür verantwortlich, ihre eigenen privaten Schlüssel zu sichern. Dann kann Ihr Unternehmen buchstäblich nicht auf zukünftige NSL-Anfragen antworten, da Sie nicht über die Schlüssel verfügen.
  • Richten Sie für die Authentifizierung beim Server und das Speichern und Herunterladen verschlüsselter Daten von seinem Konto eine Art Per ein Authentifizierungsprotokoll für den öffentlichen Schlüssel des Benutzers. Möglicherweise enthält der Server den öffentlichen Schlüssel für jeden Benutzer. Der Benutzer hält den privaten Schlüssel und signiert dann jeden Daten-Upload und jede Anforderung an den Server. In jeden Client kann der öffentliche Schlüssel des Servers eingebettet (angeheftet) werden, um Antworten und verschlüsselte Daten zu überprüfen, die vom Server heruntergeladen wurden.
  • Zum Freigeben von Dateien für andere Benutzer kann der Benutzer seine Datei mit einem neuen neu verschlüsseln symmetrischer Schlüssel und teilen Sie diesen Schlüssel mithilfe des öffentlichen Schlüsselaustauschs mit anderen Benutzern im System. Ihr Dienst könnte die Freigabe des öffentlichen Schlüssels für sie übernehmen. Dies ist jedoch gefährlich, wenn Benutzer dem Server nicht vollständig vertrauen können und sich der Server in einem Land mit feindlichen Überwachungsgesetzen befindet. Die Benutzer wissen nicht, ob der Server ihnen einen gefälschten oder echten öffentlichen Schlüssel für den anderen Benutzer gibt, sodass sie für MITM-Angriffe anfällig sind. Dies wäre eine Möglichkeit, wie Strafverfolgungsbehörden auf die unverschlüsselten Daten für Dateien zugreifen könnten, die von anderen Benutzern gemeinsam genutzt werden. In diesem Szenario wäre es sicherer, wenn die Benutzer ihre eigenen öffentlichen Schlüssel kennen und diese privat mit anderen Benutzern teilen können, wenn sie Daten mit ihnen teilen möchten.
  • Verwenden Sie neuere Algorithmen für öffentliche Schlüssel, die nicht für Quanten anfällig sind Computers. Keine RSA-, DSA- oder elliptischen Kurven.
  • Verwenden Sie neuere symmetrische Schlüssel- und Hash-Algorithmen von Autoren, die sich um die Privatsphäre kümmern und keine Massenüberwachung mögen. Zum Beispiel Bruce Schneier & Daniel J. Bernstein.
8. Installieren Sie einen Kanarienvogel, bevor Sie eine geheime Vorladung der Regierung erhalten.
Die neueren Public-Key-Algorithmen haben eine viel kürzere Erfolgsbilanz als RSA, DSA und EC. Angesichts der Tatsache, dass die Fortschritte beim Quantencomputing langsam waren und die Fortschritte beim Brechen der neueren Algorithmen oft überraschend schnell waren, ist es ziemlich wahrscheinlich, dass die Sicherheitsdienste Angriffe gegen einige dieser Algorithmen ausführen.
Ich bin auch nicht zufrieden mit dem ethischen Teil des gesamten Problems. Tatsächlich versuche ich zu sehen, wie wir den Schaden minimieren können. Bitte beachten Sie auch den * Update * -Absatz in der Frage.
Dies war eine ziemlich gute Antwort bis zu den letzten beiden Punkten. Die Verwendung nicht getesteter Algorithmen zugunsten bekannter, gründlich untersuchter Algorithmen, die sich in der Praxis als ziemlich sicher erwiesen haben, ist aus Gründen, die immer wieder diskutiert wurden, eine schlechte Idee. Edward Snowden war zuversichtlich, GnuPG für eine sichere Kommunikation zu verwenden, und [hat erklärt] (http://www.theguardian.com/world/2013/jun/17/edward-snowden-nsa-files-whistleblower), dass "Verschlüsselung funktioniert". ** Richtig implementierte starke Kryptosysteme sind eines der wenigen Dinge, auf die Sie sich verlassen können. ** ", mit einer starken Einschränkung der Endpunktsicherheit.
Der bekannteste halbpraktische Angriff gegen AES-256 scheint ein verwandter Schlüsselangriff mit einer Komplexität von etwa 2 ^ 99,5 zu sein. Der bekannteste vollständige Schlüsselwiederherstellungsangriff auf AES-256 ist erneut die Komplexität von 2 ^ 254,4. Ersteres kann wahrscheinlich bei der Schlüsselauswahl vermieden werden, und letzteres ist mehr eine akademische Neugier als alles andere, da wir [nicht einmal realistisch * zu einer trivialen 2 ^ 192 zählen können] (http: // Sicherheit). stackexchange.com/a/6149/2138) und sind für 2 ^ 128 hart gedrückt. Wikipedia: [öffentlich bekannte AES-Angriffe] (https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks).
"Es ist eine schlechte Idee, ungetestete Algorithmen zugunsten bekannter, gründlich untersuchter Algorithmen zu verwenden, die sich in der Praxis als ziemlich sicher erwiesen haben." - Im Allgemeinen stimme ich zu, aber im Fall von Quantencomputern sind alle derzeit sicheren Algorithmen mit öffentlichem Schlüssel (gegen)klassische Computer) werden veraltet und unsicher gemacht.Es gibt auch bewährte und überprüfte Post-Quanten-Algorithmen, die heute noch als sicher gelten (wenn große Schlüsselgrößen verwendet werden), z.McEliece.Es gibt jetzt einen Wettbewerb nach dem Quantenalgorithmus, um einige sichere Optionen für die Zukunft zu finden.Die Kombination von zwei Finalisten wäre robust.
"Edward Snowden war zuversichtlich, GnuPG für eine sichere Kommunikation zu verwenden, und hat erklärt, dass" Verschlüsselung funktioniert.Richtig implementierte starke Kryptosysteme sind eines der wenigen Dinge, auf die Sie sich verlassen können. "- Regierungssockenpuppen * lieben * es, dies zu wiederholen. Snowden ist * nicht * qualifiziert * zu sagen *, auf welche * Kryptosysteme man sich verlassen kannDokumente, zu denen er Zugang zu detaillierten * nichts * über Kryptoanalysetechniken hatte. Tatsächlich war die einzige Information, die wir über BULLRUN haben, eine Folie mit der Aufschrift "Fragen Sie nicht danach". Wissen Sie warum? Es handelt sich um streng geheime ECI-SCI-Informationen. Nur einige davonDie NSA-Kryptoanalytiker wissen es.
"Wikipedia: öffentlich bekannte AES-Angriffe" - genau das ist es.* Öffentlich * bekannte Angriffe.Was kann die NSA brechen?Es gab eine weitere durchgesickerte NSA-Folie, die besagte, dass sie * interne * Techniken gegen Blockchiffren wie AES klassifiziert haben.Vertrauen Sie AES auf eigene Gefahr.Das Verschlüsseln mit zwei Algorithmen ist eine viel sicherere Idee, z.AES-CTR mit einem Schlüssel, dann ChaCha20 mit einem anderen Schlüssel.
simbo1905
2015-01-11 19:21:36 UTC
view on stackexchange narkive permalink

Die oben von Tom Leek beschriebene Lösung wurde vom OpenSource Cloud Document Store ownCloud implementiert. Das Verschlüsselungsmodell ist hier beschrieben.

Wie auch in anderen Antworten erwähnt, können Sie dasselbe mit OpenPGP / GPG tun, das ich in einer Antwort auf eine verwandte Frage skizziert habe. Um den Standardansatz kurz zu wiederholen:

  1. Jeder Benutzer hat ein öffentliches / privates Schlüsselpaar
  2. Jedes Dokument erhält einen eindeutigen symmetrischen Schlüssel, mit dem das Dokument verschlüsselt und hochgeladen wird der Aufbewahrungsbehälter. Dies wird als Dateischlüssel bezeichnet.
  3. Wenn einem Benutzer Zugriff auf die Datei gewährt wird, wird der Dateischlüssel mit dem öffentlichen Schlüssel des Benutzers verschlüsselt.
  4. ol>

    Speziell möchten Sie sein in der Lage, den Dateischlüssel zu liefern, wenn dies gesetzlich vorgeschrieben ist. Dies ist eine Anmeldefunktion von ownCloud, bei der jeder Dateischlüssel auch mit dem öffentlichen Schlüssel des Systemadministrators verschlüsselt wird. Mit ownCloud soll die Funktion die Passphrase für ihren privaten Schlüssel vergessen haben und die Verwaltung auffordern, ihnen erneut Zugriff auf die Datei zu gewähren.

    Beachten Sie, dass ownCloud eine reguläre Datenbank für die Benutzer- / Gruppendaten und die Dateimetadaten verwendet. Die eigentlichen Datei-Blobs können entweder lokal oder bei einem externen Anbieter wie Amazon S3 oder Google Drive gespeichert werden. Sie können den gleichen Ansatz wählen. Lassen Sie den Client zuerst verschlüsseln und in einen externen Blob-Speicher außerhalb der Gerichtsbarkeit schreiben, der mit seinen eigenen Schlüsseln verschlüsselt ist, und schreiben Sie dann nur die URL (normalerweise eine 128-Bit-GUID) in Ihr System. Dies ist zwar in Bezug auf die Systemkomplexität alles andere als ideal, kann Sie jedoch von der Einhaltung eines gefährlichen und unterdrückenden Gesetzes befreien. da Sie nur Zeiger auf die Daten übergeben können.

    Ich denke, mindestens ein Land, das solche totalitären Gesetze umsetzt, zwingt alle Offshore-Cloud-Anbieter, ihre Server für Benutzer mit Wohnsitz in diesem Land in das Land zu verlegen. In diesem Fall besteht Ihr letzter Ausweg darin, die Benutzer des Systems verschlüsseln und auf ihre eigenen lokalen Netzlaufwerke schreiben zu lassen und einen Dateipfad in Ihrem System zu speichern. Es ist dann Sache des Kunden, externe Sicherungen dieser Daten durchzuführen.

Ich bin sehr unglücklich zu erfahren, dass ich in einem Land mit einem solchen Gesetz lebe http://goo.gl/NdC2T2
Diese Antwort funktioniert bei uns leider nicht, da auf dem Server genügend Informationen gespeichert sind, um gespeicherte Dokumente entschlüsseln zu können.Daher ist es den Behörden möglich, das einfache Dokument zu erhalten.
Ich beantwortete die Frage, bei der der Autor von den Behörden aufgefordert wird, das Dokument entschlüsseln zu können.Wenn Ihre Situation nicht ihrer entspricht, hilft Ihnen die Antwort auf ihre Situation nicht weiter.Es ist möglich, auf dem Client zu verschlüsseln und zu entschlüsseln, sodass der Server keine Inhalte entschlüsseln kann.Verwenden Sie SRP-Kennwortprüfer (keine gesalzenen Kennwörter), damit Sie sich nicht einmal als Ihr Kunde authentifizieren können (z. B. thinbus-npm).Lassen Sie Kunden öffentliche Schlüssel und mit privaten Schlüsseln verschlüsselte Dateischlüssel austauschen.Verwenden Sie die geheime Freigabe von shamir für die Wiederherstellung von Peer-2-Peer-Passwörtern.
Führen Sie alle Verschlüsselungen auf dem Client (Browser / Telefon) durch.Private Schlüssel mit Passwort verschlüsseln und auf dem Server speichern (srp bedeutet, dass Sie das Passwort nicht kennen).Wenn sie ihr Telefon verlieren, können sie den privaten Schlüssel herunterladen und verwenden.Verwenden Sie Shamir Secret Sharing am Telefon, um das Passwort für Freunde zu sichern.Das Passwort kann nur auf dem Telefon wiederhergestellt werden.Sie müssen lediglich sicherstellen, dass sie ein sehr sicheres Passwort verwenden.Überprüfen Sie den Hash anhand der Pwned Passwords-Datenbank und verwenden Sie auf dem Client eine starke Kennwortprüfung.Q.E.D.
paj28
2014-10-30 13:50:24 UTC
view on stackexchange narkive permalink

Als direkte Antwort auf Ihre Frage ist die Antwort von Tom Leek genau richtig.

Ich empfehle jedoch, einen anderen Ansatz zu wählen: die Verschlüsselung pro Benutzer aufzugeben.

Sie werden es tun Verwenden Sie weiterhin die Netzwerkverschlüsselung (HTTPS), das Kennwort-Hashing und, wenn Sie möchten, die Festplattenverschlüsselung auf dem Server. Verwenden Sie darüber hinaus jedoch keine Verschlüsselung. Ihre Anwendung entscheidet weiterhin, wer ein bestimmtes Dokument anzeigen darf: der Benutzer, der es zuerst hochgeladen hat, Ihr Administrator aus rechtlichen Gründen und alle Benutzer, denen das Dokument freigegeben wurde. In dieser Anordnung ist es recht einfach, alle Ihre Anforderungen zu erfüllen.

Warum schlage ich vor, die Verschlüsselung pro Benutzer aufzugeben? Weil es komplex und schwierig zu implementieren ist und nicht viel Sicherheit bietet. Sie haben nicht wirklich erklärt, welchen Nutzen Sie für die Verschlüsselung pro Benutzer haben möchten, aber ich gehe davon aus, dass Dokumente sicher aufbewahrt werden sollen, falls der Server elektronisch oder physisch kompromittiert wird. Beides sollten extreme Ereignisse sein: Sie sollten Standardvorkehrungen wie Firewall treffen, um dies zu verhindern. Aber wenn solch ein extremes Ereignis eintritt, kann ein fortgeschrittener Angreifer die Dokumente Ihrer Benutzer trotzdem erhalten. Sie warten leise darauf, dass sich Ihre Benutzer anmelden, erfassen dann das Kennwort und entschlüsseln die Dokumente.

Vielen Dank. Es ist in der Tat beabsichtigt, die vom Benutzer hochgeladenen Dokumente vor Diebstahl durch böswillige Dritte zu schützen. Die Frage wird aus der Perspektive unserer aktuellen Implementierung formuliert und wie sie geändert werden kann. Die Verschlüsselung der gesamten Festplatte ist jedoch möglicherweise eine bessere Lösung.
Ich stimme den meisten Ihrer Aussagen bis auf den letzten Punkt zu.Sicherlich geht es darum, dass vorhandene Dokumente nur dekodiert werden können, wenn der private Schlüssel kompromittiert ist und keine Anmeldedaten.
CompanyDroneFromSector7G
2014-10-31 16:09:20 UTC
view on stackexchange narkive permalink

Ich weiß, dass dies bereits beantwortet wurde, aber ...

Ich muss auf meiner Website etwas sehr Ähnliches tun.

Dokumente sind verschlüsselt, können aber mit anderen Benutzern geteilt werden

Da ich in Großbritannien bin, muss ich den Sicherheitsdiensten bei Bedarf Sicherheitsdaten mitteilen, jedoch nur, wenn ich diese habe. Ich habe keinen Zugriff auf sie, daher ist dies kein Problem. (Ich darf Benutzer auch nicht darüber informieren, dass Details angefordert wurden - der Preis der Freiheit!)

Jeder Benutzer hat ein asymetrisches Schlüsselpaar die verwendet wird, um ihre Dokumente zu sichern. Die öffentlichen Schlüssel werden im Klartext gespeichert, aber private Schlüssel werden mit Blowfish verschlüsselt, wobei ein 128-Bit-Schlüssel aus dem Benutzerpasswort abgeleitet wird.

Wenn ein Benutzer ein Dokument freigeben möchte, wird es entschlüsselt und eine Kopie erstellt Erstellt und verschlüsselt mit dem öffentlichen Schlüssel des Zielbenutzers, was im Klartext einfach ist. Wenn sich der Zielbenutzer anmeldet, kann er das Dokument mit seinem sicheren privaten Schlüssel entschlüsseln.

Natürlich, wenn er freigegeben wird Bei mehreren Benutzern muss jeweils eine Kopie vorhanden sein.

"Der Preis der Freiheit" ... eigentlich klingt das für mich wie das Gegenteil von Freiheit, aber ok
@iCodeSometime Ja, es war Ironie.
madscientist159
2014-10-30 07:25:55 UTC
view on stackexchange narkive permalink

Da die angegebenen Anforderungen die Verschlüsselung im Wesentlichen für "Show" (Sicherheitstheater?) und grundlegenden Diebstahlschutz und nicht für sicheren Schutz auf Dokumentebene erzwingen, würde ich eine grundlegende Vollplattenverschlüsselung mit LUKS oder ähnlichem empfehlen. Auf diese Weise haben Sie den Hauptschlüssel für das gesamte Archiv und können nicht verschlüsselungsbasierte Schemata verwenden, um den Benutzerzugriff auf die verschiedenen Dokumente zu steuern. Die Verschlüsselung pro Dokument bringt Ihnen wirklich nichts anderes als Ärger angesichts der Anforderung Nr. 1.

Außerdem möchte ich die Antwort von Antispy oben unterstützen. Zumindest ist der vorgeschlagene Dienst höchst unethisch und wird in einigen Ländern sogar als Betrug angesehen, abhängig von den Nutzungsbedingungen / dem, was Sie Ihren Benutzern mitgeteilt haben.

Ich bin auch nicht zufrieden mit dem ethischen Teil des gesamten Problems. Tatsächlich versuche ich herauszufinden, wie wir den Schaden minimieren können. Bitte beachten Sie auch den * Update * -Absatz in der Frage.
Verstanden. Wenn ich mich von der technischen Frage zurückziehe und davon ausgehe, dass Sie und die Regierung (gesetzlich) identische Zugriffsrechte haben, sehe ich, wie angegeben, keinen Vorteil für die Verschlüsselung pro Dokument. Anders ausgedrückt, Sie und die Regierung teilen sich die Root-Rechte auf einem Mehrbenutzersystem. Um dieses Gesetz einzuhalten, können Sie beide Dokumente jederzeit lesen. Nur ein Root-Konto zu haben, macht ein Mehrbenutzersystem nicht unsicher. es läuft darauf hinaus, wer diese Kraft zu welchem ​​Zweck einsetzt. Ich wünschte, ich wüsste, welches Land dies ist, damit es auf eine Liste von Orten gesetzt werden kann, an denen man nicht leben kann ...


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...