Hi Tom.
MD5 ist hier nicht unsicherer, als die Sicherheit der Datenbank dies ermöglicht.
Ich habe diesen Satz jetzt ein paar Mal gelesen und verstehe ihn immer weniger :-)
Natuerlich ist es ratsam, Angreifern keinen Zugriff zur Datenbank zu gewaehrleisten. Aber wenn das mal schiefgeht, ist es eben auch ratsam, Passworter vernuenftig gespeichert zu haben.
Und MD5 ist nicht wegen Rainbow-Attacken unsicher - die kann man nun mal fuer jede Hash-Funktion gleichermassen durchfuehren, sondern wegen der Existenz von (einigermassen) effizienten Urbild-Attacken.
Ob der Datenbankadministrator das MD5-gewandelte Passwort mittels Rainbowtables ermitteln kann, ist so ziemlich egal, denn er könnte ohnehin jede Manipulation an den Daten durchführen.
Das ist keineswegs egal (selbt wenn jeder, der Zugang zur Datenbank hat, auch Schreibenden Zugang hat) - ob die Datenbank Rueckschluesse auf das vom User gewaehlte Passwort zulaesst oder nicht, ist eine ziemlich erhebliche Datenschutzfrage. Nicht zuletzt benutzen viele User dasselbe Passwort auch anderswo. (Das ist dann vielleicht deren eigener Fehler, ja, aber das aendert nichts. Leute muessen u.U. auch vor sich selbst geschuetzt werden.)
Bei der ganzen Frage muss man wohl erstmal unterscheiden zwischen sicheren und nrmalen (unsicheren) Netzen. In normalen Netzen ist die Übermittlung eines Schlüssels, bzw. die gemeinsame Übermittlung von zwei Schlüsselteilen immer unsicher.
Redest Du jetzt vom Schluessel fuer ein gesichertes Netz oder von Usernamen und Passwort?
Eine [Session-ID] ist also genauso unsicher, wie ein [Username + (gutes) Passwort].
Eine Session-ID enthaelt aber nicht so wichtige Information wie das Passwort.
Hier spielt die Erratbarkeit wohl eher eine untergeordnete Rolle. Die Abfischbarkeit stellt die größere Gefahr dar.
ACK.
Um die Sessionsicherheit zu erhöhen, kann man mit jedem Request eine neue Session-ID zuweisen
z.B. bei PHP: http://de3.php.net/manual/en/function.session-regenerate-id.php
ACK.
Um die Sicherheit in realen Netzen herzustellen, ist eine Point-to-Point-Verschlüsslung, z.B. mit SSL/TSL notwendig.
ACK.
Viele Gruesse,
der Bademeister