Hallo!
Ich hätte da mal eine Frage, die ich per Recherche nirgends so deutlich beantwortet kriege. Mir scheint, dass viele Verfasser es offensichtlich selbst nicht so genau zu wissen scheinen.
Und zwar geht es um die Benuzer-Authentifizierung per AuthType Digest.
Ich lese immer wieder, dass sinngemäß "die Anmelde-Daten" verschlüsselt werden. In manchen Publikationen steht ausdrücklich, dass sowohl Benutzername als auch Passwort verschlüsselt werden.
Nun habe ich sowohl den Fiddler als auch den Proxomitron als HTTP-Proxies zwischengeschaltet, um die HTTP-Header mitzulesen.
Bei AuthType Basic werden sowohl Benutername als auch Passwort - durch einen Doppelpunkt getrennt - per Base64 kodiert. Ein Script, was mir das wieder decodiert, habe ich mir schon vor einiger Zeit selbst geschrieben.
Erstaunt hat mich aber, dass bei AuthType Digest zwar das Passwort per MD5 verschlüsselt wird, der Benutzername hingegen einfach im Klartext übertragen zu werden scheint. Oder habe ich die Ausgabe der Header missinterpretiert?
Das wäre doch schon eine potentielle Sicherheitslücke. Damit könnte ein Angreifer nämlich einfacher an den Benutzernamen kommen. Gibt es irgendwelche zwingenden Gründe, warum das Passwort nicht verschlüsselt wird?
Da ich teils sehr schnell tippe, ohne auf den Bildschirm zu schauen, kann es schon mal passieren, dass ich die Tab-Taste nicht richtig erwische. Dann stehen Benutzername und Passwort beim Benutzernamen, welcher dann also unverschlüsselt abgeschickt würde. Demnach hätte ich das Passwort damit doch schon quasi "verheizt"!?
Gibt es vor diesem Hintergrund sicherere Verfahren als AuthType Digest?
Da ich Internet über Kabel-TV und damit eine quasi-fixe IP habe, könnte ich die Authentifizierung auch auf eine IP beschränken. Ist aber nicht unbedingt so bequemen, falls man das nach einem IP-Wechsel wieder ändern müsste. Und ist das wirklich 100% sicher?
Was ist mit SSL? Afaik wird damit doch nur der Datenverkehr "der Internet-Seite" über das HTTPS-Protokoll verschlüsselt? Oder würde auch schon die Authentifizierung komplett - also auch der Benutzername - per SSL verschlüsselt werden? Apache kennt das SSL-Modul doch? Kann es bereits hierfür darauf zugreifen?
Oder gibt es da sonst noch was?
Ich könnte auch per PHP eine Anmelde-Seite erstellen. Aber da hinter diesem Vorhang Blogs und andere komplexe Scripten laufen sollen, habe ich erst überhaupt keine Lust, da rumzumanipulieren.
MfG
Chris