Thread Daten manipulationssicher Speichern
(4 answers)
Opened by Hagen at 2008-03-27 11:35 Hagen+2008-03-27 10:35:14-- (1) Eigentlich bringt es nichts, die Daten zu verschlüsseln. Was man braucht ist vielmehr eine digitale Unterschrift, also eine verschlüsselte Prüfsumme, die bestätigt, dass niemand die Daten verändert hat. (2) Es ist auf einem Mehrbenutzersystem nicht sicher, die Daten jemals in Rohform auf die Platte zu schreiben, denn irgendjemand könnte sie verändern bevor der Integritätsschutz erfolgt. Das gilt auch, wenn man die Daten nur ganz normal in einer Perlvariablen abgelegt hat, denn jemand könnte den Rechner dazu bringen, die betreffenden Speicherseiten auszulagern, sie auf der Platte verändern und dann wieder in den Speicher laden lassen. Man muss also schon den Systemkern anweisen, die betreffenden Speicherseiten nie zu swappen und auf keinen Fall in den Suspend to Disk Modus zu gehen. Mit einer passenden Schnittstelle zu GnuPG müsste das aber machbar sein. (3) Es ist ein wenig problematisch, den privaten Schlüssel zum Integritätsschutz der Daten so zu lagern, dass zwar das Skript, welches die Daten sammelt, leicht an ihn herankommt, andere Programme das aber nicht können. Wer den privaten Schlüssel hat kann alle damit signierten Daten fälschen. (4) Wahrscheinlich wäre es sinnvoll, irgendein Konzept zur Transaktionssicherheit zu implementieren, falls mal mitten in der Arbeit der Strom ausfällt. (5) Wenn man mehrere Datensätze in mehreren Dateien speichert, muss man auch noch eine signierte Liste von Dateien ablegen, sonst könnte jemand unbemerkt Datensätze löschen. Die Liste sollte ebenfalls geeignet transaktionssicher verwaltet werden. (6) Je nach Grad der Paranoia sollte man über ein vernünftiges Selbstzerstörungssystem für den Schlüsselspeicher nachdenken ;-) When C++ is your hammer, every problem looks like your thumb.
|