HTTP/Authentifizierung: Unterschied zwischen den Versionen
Erscheinungsbild
	
	
K Dirkwagner verschob die Seite HTTP:Authentifizierung nach HTTP/Authentifizierung, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „:“ durch „/“  | 
				Keine Bearbeitungszusammenfassung  | 
				||
| Zeile 1: | Zeile 1: | ||
; Stellt der Webserver fest, dass für eine angeforderte Datei Benutzername oder Passwort nötig sind  | |||
[[Datei:Http auth iw 10.png|mini|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 [[Hypertext Transfer Protocol Secure|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 [[Uniform Resource Identifier|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 [[Kryptologische Hashfunktion|kryptologischen Hashfunktion]] aus dem Hashcode die Daten nicht rekonstruieren lassen und für jede Anforderung anders lauten.  | |||
[[Kategorie:HTTP]]  | [[Kategorie:HTTP]]  | ||
Version vom 28. April 2023, 12:26 Uhr
- Stellt der Webserver fest, dass für eine angeforderte Datei Benutzername oder Passwort nötig sind
 

- 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.