HTTP/Authentifizierung

Aus Foxwiki
Stellt der Webserver fest, dass für eine angeforderte Datei Benutzername oder Passwort nötig sind
HTTP-Authentifizierung
meldet er das dem Browser mit dem Statuscode 401 Unauthorized und dem Header WWW-Authenticate.
  • Dieser prüft, ob die Angaben vorliegen, oder präsentiert dem Anwender einen Dialog, in dem Name und Passwort einzutragen sind, und überträgt diese an den Server.
  • Stimmen die Daten, wird die entsprechende Seite an den Browser gesendet.
  • Es wird nach RFC 2617 unterschieden in:
Basic Authentication
Die Basic Authentication ist die häufigste Art der HTTP-Authentifizierung.
  • Der Webserver fordert eine Authentifizierung an, der Browser sucht daraufhin nach Benutzername/Passwort für diese Datei und fragt gegebenenfalls den Benutzer.
  • Anschließend sendet er die Authentifizierung mit dem Authorization-Header in der Form Benutzername:Passwort Base64-codiert an den Server.
  • Base64 bietet keinen kryptographischen Schutz, daher kann dieses Verfahren nur beim Einsatz von HTTPS als sicher angesehen werden.
Digest Access Authentication
Bei der Digest Access Authentication sendet der Server zusätzlich mit dem WWW-Authenticate-Header eine eigens erzeugte zufällige Zeichenfolge (Nonce).
  • Der Browser berechnet den Hashcode der gesamten Daten (Benutzername, Passwort, erhaltener Zeichenfolge, HTTP-Methode und angeforderter URI) und sendet sie im Authorization-Header zusammen mit dem Benutzernamen und der zufälligen Zeichenfolge zurück an den Server, der diese mit der selbst berechneten Prüfsumme vergleicht.
  • Ein Abhören der Kommunikation nützt hier einem Angreifer nichts, da sich aufgrund der verwendeten kryptologischen Hashfunktion aus dem Hashcode die Daten nicht rekonstruieren lassen und für jede Anforderung anders lauten.