Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#11

Re: Wie sicher ist das Verschlüsselt?

  Alt 20. Nov 2005, 13:10
Hagen, auf dich hab ich gewartet
Zitat von negaH:
Versuche mal als Value einen String aus lauter #0 Zeichen zu verschlüsseln. Du wirst sehen das im CipherText 1 zu 1 dein Verschlüsselungskey drinnen steht. Ein möglicher Angriff ist also die "Known Plain Text Attack" bei dem ich dir eben einen Value aus lauter #0 Zeichen unterjubel. Dein verschlüsselter Wert liefert mir dann frei Haus deinen Schlüssel. Ich muß dir aber garnicht einen Value aus #0 zeichen unterjubeln, JEDER beliebige Wert reicht aus.
Hmpf. So einfach?

Zitat von negaH:
Es gilt: nehme zur Verschlüsselung niemals direkt das Passwort !
Mach ich zum Glück nicht

Zum Rest:
Das Problem ist ja, dass das einzige was die Verschlüsselung eines Wertes von der eines anderen Unterscheidet ja der Schlüssel ist.
Normalerweise würde man dann den User diesen Schlüssel eingeben lassen.

In diesem Fall geht dies aber nicht.
Daher habe ich nach einer Möglichkeit gesucht, diesen Schlüssel eben aus gegebenen Werten zu erzeugen.
Dazu habe ich mir folgende Variante überlegt:

Delphi-Quellcode:
function TCryptedIniFile.ReadPassword(Section: String; Ident: String; Default: String): String;
begin
  Result:=Crypt(Crypt(Base64Decode(ReadString(Section,Ident,Default)),Section),Ident);
end;

procedure TCryptedIniFile.WritePassword(Section: String; Ident: String; Value: String);
begin
  WriteString(Section,Ident,Base64Encode(Crypt(Crypt(Value,Section),Ident)));
end;
Nun, ohne eine weitere Analyse:
Ist dieses Verfahren sicher genug, um ein Passwort für einen SQL-Account auf einem Schulserver zu schützen, der lediglich auf eine Tabelle Zugriff hat, und dort nur Einfügen, Löschen und Verändern kann, wobei das Programm auf einem Verwaltungsrechner liegt, wo normalerweise keine Schüler drankommen?
Ja, oder?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat