dedlfix: daten browserseitig verschlüsseln

Beitrag lesen

Tach!

ich habe keine Ahnung. Aber Ideen hätte ich.

Als unbeschriebenes Blatt würde ich diese Aufgabe auch als Chance sehen. Als halb beschriebenes würde ich eher abraten, solch ein Projekt im Alleingang durchzuführen, ohne auf direkte erfahrene Unterstützung bauen zu können. Das Internet ist kein Ersatz dafür. Zu sehr verschätzt man sich an der eigenen Leistungsfähigkeit. Und dann ist da auch noch der sehr sensible Bereich des Datenschutzes, der vermutlich auch noch branchenspezifische Vorschriften kennt.

Wie funktioniert zum Beispiel eine Patientensuche nach Namen? Meine serverseitige Anwendung kennt ja nur die verschlüsselten Daten. Große Teile der Logik müssen wohl daher lokal implementiert werden (Alle Patienten initial runterladen, entschlüsseln, dann lokale Suche und so weiter).

Das sehe ich auch so. Alles nur noch lokal implementierbar.

Ja, ich wüsste nicht, wie man in verschlüsselten Daten suchen könen sollte, ohne sie jeweils zu entschlüsseln, um sie mit dem Suchbegriff vergleichen zu können. Besonders wenn es sich um Teilwerte oder Schreibweisen handelt, wo andere Buchstabe oder anders geschriebene Wörter gleich eine komplett neue kodierte Zeichen-/Bytefolge ergeben.

Wenn das Verschlüsseln der gesamten Daten etwas dauert, darf es ja nicht die Bedienbarkeit vorübergehend blockieren, muss also irgendwie asynchron geschehen - vielleicht in einer Art setTimeout()-gesteuerten Weise?

Man würde sich vermutlich nicht hinsetzen, und solch eine SPA mit Vanilla-Javascript umsetzen, sondern sich ein Framework nehmen, das bereits eine grundlegene Anwendungsarchitektur mitbringt. Unter anderem den Umgang mit abzufragenden Daten. Mit setTimeout was zu basteln ist da eher ... naja. Es gibt heutzutage Promises (bereits nativ in Javascript enthalten) und Observables (in Form von RxJS zum Beispiel). Und die Web Workers API ist für Hintergrundaufgaben geschaffen worden.

Und was spricht gegen eine Anwendung im Browser, die rein auf JavaScript basiert?

Hauptsächlich sehe ich da Performance als den großen Knackpunkt an, wenn die Verschlüsslungsroutinen in Javascript geschrieben sind.

Das ganze steht dann in einer einzigen HTML-Datei, die im Browser läuft. Klingt doch gut!

Das (webpack-)Kompilat vielleicht. Eine ganze Anwendung dieser Größenordnung in nur einer Datei schreiben zu wollen, halte ich für nicht sinnvoll handhabbar. Da sucht man sich zu Tode, besonders wenn die Erfahrung fehlt, wie man menschenlesbaren Code schreibt.

dedlfix.