Datenbank und Verschlüsselung

antimon

Mitglied
Hallo zusammen,

ich stehe wieder mal vor einem Rätsel und frage mich wie ich es am besten lösen kann - vielleicht könnt Ihr mich dabei unterstützen.

Mein Ziel ist es, eine Software zur Verwaltung von Schlüsseln und Zertifikaten zu programmieren. Allerdings sollen diese natürlich möglichst gut geschützt sein...

Ich denke zur Speicherung bietet sich am besten eine Datenbank an, so etwas wie HSQLDB oder SQLite - letzteres würde mir auf den ersten Blick besser gefallen, da es wohl universeller ist und dafür praktische Oberflächen gibt.

HSQL-Datenbanken kann man aber von Haus aus verschlüsseln, wenn ich da richtig informiert bin.

Die Frage ist nun - was ist sinnvoller - die Datenbank an sich verschlüsseln oder nur die Daten die dort drin liegen?

Verschlüssele ich alles, ist der Aufwand vermutlich geringer, weil die Datenbank sich um die Verschlüsselung kümmert.

Allerdings könnte man auch verschlüsselte Daten in einer unverschlüsselten Datenbank ablegen, damit kann man auch sensible Daten verschlüsselt speichern und unwichtigere unverschlüsselt. Und wenn die Datenbank mal korrupt ist, kann man vielleicht einen Teil der Daten einfacher rekonstruieren?

Was meint Ihr, welche Variante wäre sinnvoller?
 
Ich würde vorschlagen: HDD verschlüsseln und die gesamte Datenbank verschlüsseln. Das sollte deutlich leichter zu programmieren sein. Eine Schwachstelle hat aber auch das: jedes DBMS wird dir charakteristische Daten produzieren, die ein Knacken der Verschlüsselung erleichtern. Wenn du auf Nummer sicher gehen willst, dann verschlüsselst du HDD, DB und einzelne Daten ;)
Und gegen korrupte Daten hilft es, ein Dateisystem mit automatischer Fehlerkorrektur zu verwenden und natürlich häufig Backups zu ziehen.
 
Okay, ich muss mich wohl etwas relativieren... es geht nicht um hochsichere, millionenschwere und brisante Daten... ;) In so einem Fall hast du natürlich absolut Recht, wobei man auch einen TrueCrypt-Container dafür verwenden könnte, das würde mir voll und ganz genügen.

Hauptsächlich geht es um eine vernünftige Sicherung der Daten - ich möchte keine privaten Schlüssel im Klartext in eine Datenbank schreiben, ich denke man kann es gut mit KeePass vergleichen was ich erreichen möchte. Nur dass KeePass für Passwörter programmiert wurde, ich möchte das Ganze für Zertifikate und synchrone/asynchrone Schlüssel haben. Denn mittlerweile gibt es Zertifikate für VMware, Webseiten, Firewalls, Software; Schlüssel für SSH etc. - da hätte ich gerne eine Übersicht und eine bequeme Verwaltung mit eigener CA, damit ich nur einmal ein Root-Zertifikat erzeugen muss und dieses dann hinterlegen kann.

Klar ist alles irgendwo knackbar - die Frage ist immer nach Aufwand / Nutzen...
 
Zurück