Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

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

Re: Verschlüssel, in einer .ini-Datei speichern später auflö

  Alt 26. Mai 2004, 11:39
Zitat:
... Dann kann er ganz einfach nicht zum Ftpserver connecten und eine Meldung wird angezeigt dass das PW falsch ist
Hab leider nur Delphi 5...
Aha, schon hat sich deine Frage wieder ein bischen präzesiert
Du benötigst also kein LogIn sondern eine Passwortsicherung mit Wiederherstellung des originalen Passwortes.

Dazu ist obige Routine natürlich nicht benutzbar, ein gutes Zeichen, da man in der Kryptographie IMMER nur die Algos. auf ein Problem anwenden sollte die für dieses Problem entwickelt wurden.
Im Falle eines Logins wäre eine erweiteret Methode wie die obige also richtig.

Nun, in deiner Software soll das Login Passwort für einen FTP Server gespeichert werden. Ich vermute mal das deinen Software für einen Benutzer viele solcher Zugangs Kennwörter zu vielen Servern speichern soll. Am besten ist dann folgendes Konzept:

Es gibt eine Konfigurationsdatei in der jeder FTP Server, dessen Einstellungen, URL und eben Login Password und Username verschlüsselt gespeichert werden. Wichtig ist dabei das alle Informationen verschlüsselt werden, da alleine die Infos welche FTP Server ein Benutzer ansteuert schon ein Datenschutzproblem darstellen.

Diese Konfigurationsdatei ist verschlüsselt, und das mit einem Passwort das der jeweilige Benutzer beim Starten in Deine Software eingeben muß. Aus Sicht dieser Forderungen ist es beweisbar möglich das komplette System kryptographisch sicher zu bekommen.

Fazit:
- baue die kompletten Konfigurationen der FTP Server in Records oder Objecte
- speichere die komplette Liste in einen TMemoryStream
- verschlüssele diesen Stream mit einem sicheren Verschlüsselungsalgo. zb. TCipher_Blowfish oder TCipher_Rijndael aus dem DEC. Als Passwort wird das Anmelde-Passwort des Benutzers genommen.
- Speichere den verschlüsselten Stream als Datei, oder in der Registry.

- der spätere Login eines benutzers kann nun leicht überprüft werden. Die Konfiguration wird geladen und mit dem eingegeben Passwort entschlüsselt. Sollte eine Prüfsumme damit korrekt entschlüsselt worden sein, so war das eingegeben Passwort korrekt und die Software erlaubt den Zugriff durch den Benutzer.

Die komplette Sicherheit des Systems verankert sich im benutzergewähltem Passwort. Nur eine Brute Force Attacke wäre möglich um das Passwort zu knacken. Ist das Benutzerpasswort schlecht gewählt so hast du zumindestens alle kryptographisch notwendigen Optionen ausgereizt, denn mehr geht nicht.

Falls du weitere Fragen hast wie man am besten die Daten in solchen Dateien verschlüsselt dann frag.

Gruß Hagen

PS: das was du also programmieren willst ist ein sogenannter "Passwordsafe"
  Mit Zitat antworten Zitat