Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datei ohne passwort verschlüsseln (https://www.delphipraxis.net/130738-datei-ohne-passwort-verschluesseln.html)

blablab 12. Mär 2009 12:10


Datei ohne passwort verschlüsseln
 
Hallo!

Ich möchte sowas ähnliches wie ICQ programmieren. Das bedeutet, bei jedem Start des Programms muss man sich mit einem Passwort anmelden, das im Normalfall immer gleich bleibt. Das Problem ist nun, dass ich nicht will, dass der Benutzer jedesmal beim Start sein Passwort eingeben muss. Das wäre zwar wahrscheinlich die einzig sichere Methode, aber wenn der Benutzer es jedesmal eingeben muss wählt er wahrscheinlich eher ein kurzes, einfaches Passwort, was die Sache dann auch wieder unsicherer macht.
Deshalb möchte ich das Passwort irgenwie verschlüsselt abspeichern, jedoch so, dass ich es ohne Passwort wieder entschlüsseln kann. Ich könnte zb die Datei immer mit dem Passwort "Hallo" verschlüsseln und wieder entschlüsseln. Allerdings hat das wohl wenig mit Sicherheit zu tun und deshalb frag ich euch:

Gibt es da irgendeine zumindest annähernd sichere Methode?

Danke schonmal!

PS: ich benutze das DEC von Hagen

Bernhard Geyer 12. Mär 2009 12:26

Re: Datei ohne passwort verschlüsseln
 
Du verwendest ein (im Exe-Code gut verstecktes) eigenes Passwort mit der du das Userpasswort verschlüsselst und z.B. in die Registry schreibst.

blablab 12. Mär 2009 12:31

Re: Datei ohne passwort verschlüsseln
 
Aber das ist doch im Prinzip genau das mit dem "Hallo". Gibt es da keine sichere Methode?
Wie machen das andere Programme, wie zb ICQ oder die Browser, die die Anmeldedaten von verschiedenen Internetseiten speichern können?

Bernhard Geyer 12. Mär 2009 12:34

Re: Datei ohne passwort verschlüsseln
 
Zitat:

Zitat von blablab
Aber das ist doch im Prinzip genau das mit dem "Hallo". Gibt es da keine sichere Methode?

Ähnliches Problem

Zitat:

Zitat von blablab
Wie machen das andere Programme, wie zb ICQ oder die Browser, die die Anmeldedaten von verschiedenen Internetseiten speichern können?

Haben genau das gleiche Problem. Deshalb gibt es auch genügend Tools welche Passwörter wieder herstellen können.

blablab 12. Mär 2009 13:10

Re: Datei ohne passwort verschlüsseln
 
Also ich kann mir net vorstellen, dass das schon alles war, was an Sicherheit geht.

Ich könnte zb das Passwort mit sich selbst verschlüsseln und dann nurnoch damit arbeiten. Damit könnte man zumindest bewirken, dass derjenige, der das Programm knackt, die Passwörter der Benutzer nicht herausfindet. (Falls der Benutzer das Passwort auch in anderen Anwendungen verwendet)

Oder ich könnte zb ein Teil des Passwortes in die Datei schreiben. Zum entschlüsseln les ich das dann aus, kombiniere es mit dem statischen Passwort meiner Anwendung und entschlüssel die Datei damit. Dann würde die Möglichkeit bestehen, dass der Angreifer das Passwort eines Benutzers entschlüsseln kann, aber nicht unbedingt gleich von allen.

Oder ich könnte das Passwort mit zufallsdaten kombinieren, so dass der Angreifer selbst wenn er es schafft die Datei zu entschlüsseln, es vielleicht gar nicht merkt, dass er es geschafft hat.

Also ich hab (wie man wahrscheinlich sieht) keine Ahnung von diesem Thema, aber selbst mir fallen ein paar Sachen ein, die das ganze zumindest ein kleines bisschen sicherer machen würden. Deshalb kann ich es mir einfach nicht vorstellen, dass es da keine besseren Möglichkeiten gibt als ein statisches Passwort. Zumal ich ja anscheinend nicht der einzige bin, der vor dem Problem steht und sich deshalb gedanken macht...

himitsu 12. Mär 2009 13:16

Re: Datei ohne passwort verschlüsseln
 
Wenn du z.B. mit einer Einwegverschlüsselung aka Hash über die Passwörter gehts und dann bei der Anmeldung nur noch diesen Hash verwendest, dann wären wirklich erstmal die Passwörter selber beschützt.

Aber man könnte dennoch in fremde Acounts rein, wenn man diesen Hash kennt ... bzw man kann sich aus einem Hash theoretisch irgendein Passwort erstellen, welches den selben Hash hat und dieses würde auch funktionieren.

z.B. hier im Forum sind alle Passwörter MD5-Verschlüsselt ... also Daniel, Hacker und Andere kommen nicht an das "richtige" Passwort ran ... höchstens an den Hash.

blablab 12. Mär 2009 13:53

Re: Datei ohne passwort verschlüsseln
 
Das mit dem Hash wäre nicht mal so schlecht... aber wie geht das?

Das hier geht doch in die Richtung, oder? (DEC)
Delphi-Quellcode:
Key := ValidHash(THash_MD5).KDFx(Passwort, Salt, KeySize, TFormat_Copy, AKDFIndex);
Aber geht das auch ohne Salt? oder muss ich dann wieder etwas statisches verwenden? weil jedesmal wenn der Benutzer das Passwort von Hand eingibt muss ich ja wieder auf denselben Hash kommen...

Oder kann ich die Funktion
Delphi-Quellcode:
Salt := RandomBinary(SALT_SIZE);
auch so benutzen, dass ich immer auf dasselbe Salz komm?

himitsu 12. Mär 2009 13:59

Re: Datei ohne passwort verschlüsseln
 
Den Salt würde ich drin behalten, damit nicht nur das Passwort im Hash ist.

Speicher doch einen festen Salt im Programm.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:47 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