Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

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

Re: Sicherheit bei der Anmeldung - Anregung zur DP

  Alt 3. Mai 2005, 04:10
Zitat:
OK, das eine ist aber genau wie das andere zur Sicherheit da. Vielleicht war der Vergleich nicht besonders gut, aber ich hab mal was besseres.
Stell dir vor, du hast wieder ne Tür. Aber jetzt legst du den Schlüssel zu der Tür immer zB außen auf den Türrahmen. Damit hat man dann aber nun wirklich den perfekten Vergleich zum Passwort.
Auch dieses Beispiel ist nicht perfekt. Besser so: man hat 3 Häuser, 1 Yacht, 2 BMW's und alle werden mit dem gleichen Schlüssel gesichert. Nun haben aber die Erbauer der Yacht einen Fehler gemacht, denn es gibt für einen Einbrecher eine ganz einfache Möglichkeit auf Grund der Konstruktion im Schloß der Yacht einen Schlüssel anzufertigen. Der Einbrecher hat also dann Zugriff auf Yacht, BWM's und deine Häuser. In einer Nacht & Nebel Aktion wird er seine Freunde rufen und dich komplett ausrauben statt nur die Yacht zu stehlen.

Nun, die DP speichert eben nicht die Passwörter lesbar, denn das wäre wie bei der Yacht ein grober Konstruktonsfehler in der Sicherheit.

Das Passwort sollte unbedingt auf dem Client Rechner per Script vor dem versenden mit MD5 gehasht werden. Was ist euch lieber
a.) ein Hacker belauscht die unsichere Verbindung zwischen Client Rechner und DP Server und fängt das lesbar übertragen Passwort ab ? oder
b.) ein Hacker belauscht die unsichere verbindung zwischen Client Rechner und DP Server und fängt einen MD5 Hash ab mit dem er sich bei der DP einloggen kann.

Im Fall a.) kann er im Grunde beides, er kann sich einloggen indem er das lesbare Passwort selber hasht und er kann mein Häuser, BMW's und die Yacht klaue.
Im Fall b.) kann er sich nur unter meinem Account in der DP anmelden, mehr nicht.

Nun wird es auch ersichtlich warum in der Datenbank auf dem DP Server nebem dem MD5 Hash auch noch ein ca. 128 langer Zufallssalt gespeichert werden muß. Dieser Salt + Passwort wird gehasht und ergibt die MD5 Prüfsumme. Somit wird mit gleichem Passwort auf verschiedenen Foren aber jedesmal anderemSalt auch ein komplett anderer MD5 Hash erzeugt. Man verhindert somit effektiv das ein Hacker der meinen MD5 Hash von der DP gestohlen hat, sich in einem anderen Forum mit diesem Hash anmelden kann.

Das Script was auf dem Client Rechner beim Login, bzw. bei der Umrechnung des lesbaren Passwortes benutzt wird, wird vom DP Server Benutzerspezifisch erzeugt und enthält den Zufallssalt aus der Datenbank. Fertig

Gruß Hagen

PS: oder man speichert diesen Salt als Cookie auf dem Client Rechner.
PPS: oder man nimmt statt einen Zufallssalt einfach einen festen zusätzlichen Paramter, zb. einen Text wie "Delphi Praxis Login" falls das mit dem Salt zu kompliziert ist. Wichtig ist nur das neben dem Passwort ein weiterer möglichst auf die Delphi Praxis bezogen eindeutiger Wert in die Berechnung mit einfließt. Ein 128Bit Zufallswert wäre am besten da er zustzlich noch eine Brute Force Attacke unmöglich macht.
  Mit Zitat antworten Zitat