Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Dateiverschlüsselung-Passwortüberprüfung sicher ? (https://www.delphipraxis.net/44969-dateiverschluesselung-passwortueberpruefung-sicher.html)

supermuckl 27. Apr 2005 16:18


Dateiverschlüsselung-Passwortüberprüfung sicher ?
 
Hallo :)
Ich baue seit ein paar Tagen an einem Projekt rum, das Dateien und ganze Ordner mit Twofish Ver- und Entschlüsseln kann.
Das ganze funktioniert auch soweit gut.

Beim Verschlüsseln schnappt sich das Prog eine Datei, verschlüsselt es via Twofish und dem Passwort in eine TempDatei und das wiederum wird via Streams in eine neue Datei "gepackt" das dann so aussieht:

| teststring (immer gleich), verschlüsselt mit Passwort | Dateiname, verschlüsselt mit Passwort | Verschlüsselte Datei |

Also habe ich auch den Dateinamen, in die Datei selbst Verschlüsselt und dann wird der original Dateiname eine MD5 Summe aus dem alten.
Der Teststring (worum es mir jetzt primär geht) ist eine Zeichenfolge (7 Zeichen) die in der Exe fest integriert ist und mit dem Passwort verschlüsselt wird, womit verschlüsselt wird ;)

Meine Frage ist jetzt -> Stellt diese Technik für die Passwortüberprüfung eine Lücke dar ? Kann man damit eventuell Rückschlüsse auf das echte Passwort machen?

Es wäre ja nicht die volle Länge des Key Hashes für den Passwortcheck in Funktion.

shmia 27. Apr 2005 16:36

Re: Dateiverschlüsselung-Passwortüberprüfung sicher ?
 
Zitat:

Zitat von supermuckl
Meine Frage ist jetzt -> Stellt diese Technik für die Passwortüberprüfung eine Lücke dar ? Kann man damit eventuell Rückschlüsse auf das echte Passwort machen?

Ja, der Angreifer hat so ein kurzes Stück von Quelldaten und deren Verschlüsselung; das sollte man vermeiden.
Neue Struktur:
|4 Byte Magic Header|4 Bytes CRC 32 Prüfsumme|Dateiname, verschlüsselt mit Passwort | Verschlüsselte Datei |

die 4 Bytes Magic Header, dienen dazu, um dein Format zu erkennen, der Inhalt ist immer fest.
4 Bytes CRC 32 Prüfsumme über den entschlüsselten Dateiname dienen dazu, um sicherzustellen, dass der Kryptoschlüssel ok ist.

Evtl. brauchst du noch eine CRC32 über den gesamten Stream, um Veränderungen festzustellen.

supermuckl 27. Apr 2005 17:03

Re: Dateiverschlüsselung-Passwortüberprüfung sicher ?
 
Sehr gute Idee :)
Ich benutze aber dann MD5.
Das ist mir irgendwie programmierfreundlicher, da es schon in dcpcrypt drin ist (wie auch twofish usw)
Also erst Hash von Dateinam(unverschlüsselt) machen und den mitspeichern und beim entschlüsseln wieder vergleichen -> perfekt


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz