1. Implementiere einen einfachen HTTP-Server (z. B. mit Python und Flask), der Basic Authentication verwendet. 2. Stelle sicher, dass: o Der Server eine geschützte Route (/protected) anbietet, die nur zugänglich ist, wenn gültige Anmeldedaten übermittelt werden. o Die Anmeldedaten (Benutzername: "admin", Passwort: "password123") überprüft werden. 3. Teste die Authentifizierung mit einem Tool wie curl oder Postman. 4. Analyse das Protokoll mit Wireshark (Screenshots) o Filter: http o Führe den Request aus und finde den Authorization-Header o Decodiere das Passwort
Hinweis: Du kannst Flask-Bibliotheken wie flask-httpauth verwenden.
Aufgabe 2: Digest Authentication implementieren
1. Implementiere einen HTTP-Server, der Digest Authentication verwendet. 2. Anforderungen: o Benutzername: "user", Passwort: "securepass". o Stelle sicher, dass der Server den Digest-Mechanismus korrekt verarbeitet (z. B. mit einem Nonce-Wert und MD5-Hashing). 3. Nutze ein Tool wie Postman, um sicherzustellen, dass die Digest Authentication korrekt funktioniert. 4. Beschreibe in einer kurzen Erklärung, wie die Digest Authentication im Vergleich zu Basic Authentication für mehr Sicherheit sorgt verwende. 5. Analysiere das Protokoll mit Wireshark (Screenshots) o Filter: http o Führe den Request aus und finde den Authorization-Header o Finde und beschreibe die wichtigen Felder nonce, response sowie cnonce o Wie werden die Hashwerte berechnet (eigenes Beispiel)
Aufgabe 3: Unterschied zwischen Basic und Digest Authentication analysieren
1. Erstelle eine Tabelle oder ein Dokument, das die Unterschiede zwischen Basic Authentication und Digest Authentication vergleicht. Berücksichtige dabei: o Sicherheit (z. B. Passwortübertragung) o Implementierungsaufwand o Kompatibilität o Performance 2. Füge mindestens ein Beispiel für ein Szenario hinzu, in dem Digest Authentication bevorzugt wird.