Liebe Mitdenker,
liebe Wissende,
liebe Neugierige,
ja!
eine Datenbank, die Arbeitsdaten enthält zu verschlüsseln, ist technisch nahezu nicht möglich. Dazu müsste die ganze Engine neu geschrieben werden, denn mindestens im Hauptspeicher müssen die Daten dann unverschlüsselt vorliegen. Wie willst Du sonst damit arbeiten?
Ich dachte hier ging es nur darum verschlüsselte Daten persistieren und wieder abholen zu können. Ich bin erstmal nicht davon ausgengangen, dass die Daten auf dem Server weiterverarbeitet werden, sondern auf dem lokalen Rechner des Anwenders. Wenn bereits auf dem Server mit den Daten gerechnetet werden soll, dann müssten diese ja zwangsläufig entschlüsselt werden, und dann ist der ganze Aufwand hinfällig, weil jeder Serveradministrator sich Einblick verschaffen könnte.
Und ich habe die Frage für mich frei übersetzt:
"Welche Möglichkeiten gibt es Datenbanken dynamisch zu verschlüsseln?"
1 2 3
1.: Die Daten in einem DBMS, Funktionen, Tabellendefinitionen, also alle Komponenten
2.: während der Arbeit damit
3.: für Fremde nicht lesbar machen
Wer ist nun aber in Bezug auf die Daten und Tabellen und Funktionen einer Datenbank ein Fremder?
Ist die DB-Engine schon eine Fremde?
An welcher Stelle darf die Verschlüsselung aufgehoben werden?
Um eine Tabelle (mein Beispiel war ein Index) durchsuchen zu können, muss sowohl der Suchbegriff als auch die Tabelle unverschlüsselt vorliegen. Bei einem Index über 80.000.000 Datensätze (die berühmte Bundesbürgerdatenbank) muss also eine Tabelle mit ca. 320MB unverschlüsselt im Speicher liegen. Das ist noch nicht unbedingt das Problem. Aber die Tabelle mit den Datensätzen ist ja auch verschlüsselt. Sie ist also keine Tabelle mehr, sondern nur noch eine Datei. Bei einer guten Verschlüsselung von Massendaten liegt der gesuchte Datemnsatz auf keinen Fall in geschlossener Form an der Position XYZ vor, sondern ist breit über die gesamte Datei verstreut. Um aus der Datei wieder eine Tabelle machen zu können (1. Schritt = Datenhaufen zu Datensätzen zurückverwandeln) muss die also auch entschlüsselt werden. Da kann man schon mal ca. 4000 Bytes pro Datensatz ansetzen, wenn man einigermaßen Aussagekraft haben will.
4000 * 80.000.000 = 320.000.000.000
usw.
Das war jetzt nur die eine Text-Tabelle. Nun wollen wir aber noch die Bilder von dem Typen haben und eine Stimmprobe und ...
Unverschlüsselt auf die Platte zurückschreiben darf man das Gelumpe ja nicht einfach. Die könnte ja jemand mitnehmen und dann noch alte unverschlüsselte Fragmente darauf finden.
"Dynamische" Verschlüsselung von Datenbanken ist daher mMn nach heutigen Erkenntnissen noch Unsinn und nicht durchführbar.
Spirituelle Grüße
Euer Robert
Möge der Forumsgeist wiederbelebt werden!