Meine Situation:

  1. Das medizinische Personal möchte vertrauliche Daten von Patienten in einen Webbrowser (!) Eingeben, um sie in einer Datenbank zu speichern und später erneut abzurufen.

  2. Diese Daten dürfen nur vom medizinischen Personal selbst eingesehen werden. Dies bedeutet, dass es mit einem geheimen Token verschlüsselt werden muss, bevor es auf den Server übertragen wird. Dies bedeutet auch, dass weder IT-Mitarbeiter (die Zugriff auf den Server / die Datenbank haben) noch andere Personen in der Lage sein sollten, diese ohne das geheime Token zu entschlüsseln. (Wenn das Token verloren geht, sind die Daten nie mehr zugänglich.)

  3. Auf dem Client-Computer sollte keine zusätzliche Software installiert werden, außer einem Token (z. B. einem privaten Schlüssel), das einmal exportiert und in alle Browser importiert wird, von denen aus der Datenzugriff gewährt werden soll.

Meine Frage lautet also:

Gibt es eine Möglichkeit, Daten auf der Clientseite zu verschlüsseln / zu entschlüsseln (z. B. mithilfe von JavaScript), indem ein geheimes Browser-Token verwendet wird, das problemlos zwischen Browsern ausgetauscht werden kann (d. H. Exportiert / importiert, ähnlich wie bei X.509-Zertifikaten)?

Wenn nicht, welche alternativen Lösungen wären möglich? Da die Bedingungen 1 und 2 obligatorisch sind, kann bei Bedarf nur die Bedingung 3 geändert werden. Auf der Clientseite sollte jedoch immer noch so wenig Installationsaufwand wie möglich erforderlich sein.

BEARBEITEN: SSL ist offensichtlich nur ein Teil der Antwort auf diese Frage!

12
Thomas 7 Okt. 2012 im 03:21

3 Antworten

Beste Antwort

Werfen Sie einen Blick auf Webbrowser-Verschlüsselung persönlicher Gesundheitsinformationen, deren Abschnitt "Zusammenfassung" Ihre zu beschreiben scheint gleiches Problem. Der "Passcode", der den Verschlüsselungsschlüssel generiert, muss jedoch gemeinsam genutzt werden, damit Sie das mediale Personal nicht unterscheiden können.

Wir beschreiben ein System zur Remote-Dateneingabe, mit dem die Daten, die den Patienten identifizieren würden, im Webbrowser der Person, die die Daten eingibt, verschlüsselt werden können. Diese Daten können nicht von den Mitarbeitern des Rechenzentrums auf dem Server entschlüsselt werden, sondern können von der Person, die die Daten eingibt, oder ihrem Beauftragten entschlüsselt werden. Wir haben dieses System entwickelt, um ein Problem zu lösen, das im Rahmen der klinischen Forschung aufgetreten ist. Es ist jedoch in einer Reihe von Situationen anwendbar, in denen vertrauliche Informationen in einer Datenbank gespeichert und aktualisiert werden und sichergestellt werden muss, dass sie nur von anderen angezeigt werden können diejenigen, denen absichtlich Zugang gewährt wurde.

6
Kevin Hakanson 20 Apr. 2013 im 23:24

Es gibt eine Javascript-Implementierung der AES-Verschlüsselung, die den Klartext im Browser verschlüsselt. Wenn Sie etwas um diese Tools herum erstellen, speichert die Serverseite nur den verschlüsselten Text und verfügt nicht über die Passphrase.

http://www.fourmilab.ch/javascrypt/

Sollte keine zusätzliche Installation auf der Clientseite erfordern, erfordert aber wahrscheinlich einige Entwicklungsanstrengungen, um die Benutzererfahrung richtig zu machen.

4
Eric Dobbs 4 Nov. 2012 im 21:24

Aufgrund der Bemühungen von ProtonMail gibt es jetzt eine Open-Source-Implementierung von PrivateKey im Browser unter: https://openpgpjs.org/

Dies hat mehrere Sicherheitsüberprüfungen durchgeführt und ist die Grundlage von protonmail.com, sodass es über ziemlich gute Aufzeichnungen und Betreuer verfügt. Sie haben auch eine gute Zusammenfassung wichtiger Sicherheitsbrowser-Modelle.

2
Halcyon 15 März 2018 im 11:26