Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#5

Re: Password in datei speichern ?

  Alt 26. Jul 2007, 18:31
Ein Password-Dialog, in diesem gibt der Benutzer sein Passwort ein, das wird benutzt um die Datei zu ver/entscl. Alles andere ist unsicher, soll heisen das Passwort sollte vom Benutzer frei gewählt werden und nur in seinem Kopf gespeichert werden.

Der Ablauf der Verschl. einer Datei sieht so aus

1.) per Dialog das Passwort beim Benutzer erfragen
2.) Zufallssalt A (16 Bytes) erzeugen
3.) über den Zufallssalt A + Password wird mit einer Hashfunktion zb. SHA1 ein Sessionkey S erzeugt.
4.) Zufallssalt B (16 Bytes) erzeugen
5.) per Hashfunktion zb. SHA1 eine Prüfsumme P über Zufallssalt B + Datei erzeugen
6.) in der Zieldatei einen Header schreiben, dieser enthält Zufallssalt A
7.) RCx mit Sessionkey S initialisieren
8.) den Zufallssalt B mit RCx verschlüsseln und in Zieldatei speichern
9.) die Prüfsumme P mit RCx verschlüsseln und in Zieldatei speichern
10.) die Datei mit RCx verschlüsseln und in Zieldatei speichern

RCx benutzt S als Passwort. Die Schritte 8., 9. und 10. arbeiten mit dem gleichen RCx Objekt. Dh. dieses wird einmal mit S initalisiert und dann verschl. nacheinander B,P und Datendatei. Das ist dann vergleich so als ob deine Datei am Anfang die Daten B und P enthielte.

So wirds wirklich sicher und alle wichtigen Angriffe der Kryptologie werden verhindert.
Statt der Prüfsumme P könntest du auch nach Punkt 10. einen bekannten String als Identifier verschlüsseln und in die Zieldatei hintendran hängen. Wird nun wieder entschlüsselt und es treten Fehler auf so wird dieser Identifier am Ende der Entschlüsselung falsch sein.

Gruß hagen
  Mit Zitat antworten Zitat