Authentifizierung und Verschlüsselung
In dieser interaktiven Lerneinheit verstehst du die wichtigsten Konzepte der HTTP-Authentifizierung und Verschlüsselung, insbesondere die Basic Authentication. Du lernst, wie Benutzer und Clients im Web sicher identifiziert werden und wie sensible Daten bei der Übertragung geschützt werden können. Diese Kenntnisse sind essentiell für die Entwicklung sicherer Webanwendungen und die korrekte Implementierung von Zugriffskontrollen.
Einführung
Stell dir vor, du sitzt in einem öffentlichen WLAN und loggst dich in dein E-Mail-Konto ein. Kurz darauf erhältst du eine Nachricht von einem unbekannten Absender – mit deiner eigenen Adresse. Was ist passiert? Ohne sichere Authentifizierung und Verschlüsselung kann jeder in einem ungeschützten Netzwerk deine Daten mitlesen – auch dein Passwort.

In dieser Lerneinheit erfährst du, wie Authentifizierung und Verschlüsselung im Web funktionieren. Du lernst, wie du dich zuverlässig gegenüber einem Server ausweist – und wie du sicherstellst, dass niemand deine Daten unterwegs abfängt oder verändert.
Lernziele
Nach dieser Lerneinheit kannst du:
- Die Unterschiede zwischen Basic und Digest Authentication erklären und ihre jeweilige Eignung im Kontext moderner Webanwendungen beurteilen.
- Den Ablauf einer HTTPS-Verbindung mit SSL/TLS beschreiben und die Rolle symmetrischer und asymmetrischer Verschlüsselung dabei erläutern.
- Vor- und Nachteile von symmetrischen und asymmetrischen Verfahren benennen und erklären, warum sie im SSL/TLS-Protokoll kombiniert eingesetzt werden.
- Die Funktion digitaler Zertifikate und von Certificate Authorities (CAs) erklären, einschließlich der Prüfmechanismen im Browser und der Bedeutung für sichere Webverbindungen.
Überleitung
Beginnen wir mit einer der einfachsten, aber auch kritischsten Methoden zur Authentifizierung: der Basic Authentication. Was einfach klingt, birgt erhebliche Sicherheitsrisiken – und genau deshalb ist es wichtig, ihre Funktionsweise zu verstehen, bevor wir sicherere Alternativen betrachten.
Basic Authentication
Basic Authentication ist ein sehr einfaches Authentifizierungsverfahren im HTTP-Protokoll. Es wird häufig in Entwicklungsumgebungen oder internen Systemen eingesetzt, wenn keine komplexen Sicherheitsanforderungen bestehen.
Funktionsweise
Bei der Basic Authentication sendet der Client seine Zugangsdaten direkt mit der HTTP-Anfrage – und zwar in einem speziellen Header:
- Der Client fordert eine Ressource an.
- Der Server antwortet mit
401 Unauthorizedund einemWWW-Authenticate-Header (z. B.Basic realm="admin"). - Der Client sendet dieselbe Anfrage erneut – jetzt aber mit dem Header
Authorization: Basic <Base64-kodierte Zugangsdaten>.
Beispiel:
Authorization: Basic YmVuNzNlcjpzZWNyZXQ=
Das ist nichts anderes als benutzername:passwort, kodiert in Base64. Das Verfahren enthält keine Verschlüsselung.
Basic Authentication
Einschränkungen
- Die Zugangsdaten werden nur kodiert, nicht verschlüsselt.
- Jede Anfrage enthält Benutzername und Passwort erneut (stateless).
- Kein Schutz gegen Replay- oder Man-in-the-Middle-Angriffe.
Best Practices
- Immer nur mit HTTPS verwenden!
- Für produktive Systeme: Bessere Alternativen wie OAuth 2.0 oder JWT verwenden.
Digest Authentication
Digest Authentication ist eine sicherere Variante der HTTP-Authentifizierung. Sie wurde entwickelt, um die Schwächen von Basic Auth zu umgehen – vor allem das Versenden von Klartextpasswörtern.
Funktionsweise
Auch hier erfolgt zunächst ein 401 Unauthorized, aber diesmal liefert der Server einen nonce (Einmalwert) mit.
- Der Client berechnet einen Hashwert basierend auf Benutzername, Passwort, HTTP-Methode, URI und dem
nonce. - Dieser Hashwert (Response-Digest) wird an den Server geschickt.
Kernformeln:
HA1 = MD5(username:realm:password)HA2 = MD5(method:uri)response = MD5(HA1:nonce:HA2)
Digest Authentication
Vorteile
- Passwörter werden nicht im Klartext übertragen.
- Replay-Schutz durch
nonce-Wert.
Einschränkungen
- Komplexere Implementierung.
- Digest basiert auf MD5, das kryptografisch unsicher ist.
Empfehlung
Digest Authentication ist ein Fortschritt gegenüber Basic, aber keine moderne Lösung mehr. Für neue Anwendungen: OAuth 2.0, OpenID Connect oder JWT nutzen.
HTTPS und SSL/TLS
HTTPS ist HTTP über eine verschlüsselte Verbindung mit SSL/TLS. Es schützt nicht nur Authentifizierungsdaten, sondern den gesamten Datenverkehr zwischen Client und Server.
SSL/TLS – Grundprinzip
SSL (veraltet) bzw. TLS (aktueller Standard) sorgt dafür, dass:
- Die Verbindung verschlüsselt ist (Vertraulichkeit)
- Daten nicht verändert werden können (Integrität)
- Der Server eindeutig identifiziert werden kann (Authentizität)
Ablauf (SSL/TLS-Handshake)
- Client Hello: Der Client nennt unterstützte Verschlüsselungsverfahren.
- Server Hello: Der Server wählt ein Verfahren und sendet sein Zertifikat.
- Zertifikatsprüfung: Der Client prüft die Echtheit.
- Schlüsselaustausch: Es wird ein gemeinsamer Sitzungsschlüssel vereinbart.
- Sichere Übertragung: Alle weiteren Daten laufen verschlüsselt.
HTTPS und SSL/TLS
Wichtig zu wissen
- SSL ist veraltet. Nutze nur TLS ab Version 1.2.
- Der Webserver braucht ein gültiges Zertifikat von einer anerkannten Zertifizierungsstelle (CA).
Warum ist HTTPS entscheidend?
Ohne HTTPS sind auch sichere Authentifizierungsverfahren wie Digest anfällig. HTTPS ist daher Grundlage jeder Websicherheit.
Überleitung
Damit du Daten im Internet sicher übertragen kannst, braucht es Verschlüsselung. Zwei grundlegende Verfahren – symmetrisch und asymmetrisch – spielen dabei eine zentrale Rolle. In dieser Einheit lernst du beide Verfahren kennen und verstehst, wie SSL/TLS sie kombiniert. Außerdem erfährst du, wie digitale Zertifikate und Certificate Authorities (CAs) für Vertrauenswürdigkeit sorgen.
Symmetrische Verschlüsselung
Bei der symmetrischen Verschlüsselung wird derselbe Schlüssel zum Ver- und Entschlüsseln genutzt.
Eigenschaften
- Verfahren: z. B. AES (Advanced Encryption Standard)
- Modus: CBC oder GCM (mit Initialisierungsvektor oder Nonce)
Symmetrische Verschlüsselung
| Vorteile | Nachteile |
|---|---|
| Hohe Verarbeitungsgeschwindigkeit | Schlüsselaustauschproblem: Der geheime Schlüssel muss sicher übermittelt werden. |
| Relativ einfache Implementierung | Skalierungsproblem: Für N Teilnehmer sind N·(N–1)/2 Schlüssel nötig. |
| Sicherheitsrelevant: Schlüsselgröße – empfohlen: mindestens 128 Bit, besser 256 Bit. |
Praxisbeispiel
AES-Verschlüsselung in internen Systemen oder bei bereits vereinbartem Schlüssel (z. B. VPN-Tunnel).
Asymmetrische Verschlüsselung
Die asymmetrische Verschlüsselung nutzt ein Schlüsselpaar:
- Public Key (öffentlich): zum Verschlüsseln
- Private Key (geheim): zum Entschlüsseln
| Vorteile | Nachteile |
|---|---|
| Öffentliche Schlüssel sind frei verteilbar | Rechenintensiver als symmetrische Verfahren |
| Ermöglicht digitale Signaturen zur Prüfung von Authentizität und Integrität | Komplexes Schlüsselmanagement bei vielen Nutzern |
Praxisbeispiel
RSA wird im Internet z. B. für die Schlüsselverteilung in SSL/TLS verwendet oder zur E-Mail-Verschlüsselung.
Kombinierter Einsatz in SSL/TLS
SSL/TLS kombiniert beide Verfahren für Performance und Sicherheit:
- Client Hello: Client schlägt Cipher Suites und Nonce vor
- Server Hello: Server sendet Zertifikat und wählt Cipher Suite
- Schlüsselaustausch: Client erzeugt Sitzungsschlüssel, verschlüsselt ihn mit dem Public Key des Servers und überträgt ihn
- Verschlüsselung: Danach wird mit dem symmetrischen Schlüssel weiterkommuniziert
Vorteile
- Schnelle symmetrische Übertragung
- Sicherer Schlüsselaustausch durch Asymmetrie
Zertifikate und Certificate Authorities (CAs)
Zertifikate und CAs sorgen dafür, dass du wirklich mit dem richtigen Server verbunden bist – und nicht mit einem Angreifer.
Ablauf
-
Antragsteller fordert Zertifikat bei CA an
-
CA prüft Identität (z. B. Domain-Inhaberschaft)
-
CA signiert das Zertifikat mit ihrem Private Key
-
Zertifikat wird auf dem Server installiert
-
Browser prüft:
- Signatur
- Widerrufsstatus (OCSP/CRL)
- Ablaufdatum
Zertifikate und Certificate Authorities (CAs)
Rolle der CAs
- Stellen Authentizität sicher (gehört die Domain dem Betreiber?)
- Verwalten Vertrauensketten (Root-CAs in Browsern/Betriebssystemen vorinstalliert)
Sicherheitsaspekte
- Verwende nur TLS 1.2 oder TLS 1.3 – SSL ist veraltet
- Vermeide unsichere Cipher Suites (z. B. RC4, SHA-1)
- Nutze OCSP Stapling zur schnellen und sicheren Widerrufsprüfung
Zusammenfassung und Ausblick
Zusammenfassung:
HTTP-Authentifizierung
- Basic Authentication ist ein einfaches Verfahren, bei dem Benutzername und Passwort Base64-kodiert im Header übertragen werden. Es bietet keine Sicherheit ohne HTTPS und ist nur für einfache, interne Anwendungen geeignet.
- Digest Authentication verwendet Hashfunktionen (MD5) und einen Einmalwert (nonce), um Passwörter sicherer zu übertragen. Es bietet mehr Schutz als Basic, gilt aber inzwischen als veraltet.
- Für moderne Anwendungen werden Verfahren wie OAuth 2.0, JWT oder OpenID Connect empfohlen.
HTTPS mit SSL/TLS
- HTTPS basiert auf TLS (Transport Layer Security) und schützt Daten durch Verschlüsselung, Integritätsprüfung und Server-Authentifizierung.
- Beim TLS-Handshake werden asymmetrische Verfahren genutzt, um einen sicheren Sitzungsschlüssel für die anschließende symmetrische Kommunikation auszutauschen.
Verschlüsselungsverfahren
- Symmetrische Verschlüsselung (z. B. AES): Schnell, aber benötigt sicheren Schlüsselaustausch.
- Asymmetrische Verschlüsselung (z. B. RSA): Ermöglicht sicheren Schlüsselaustausch und Signaturen, ist aber rechenintensiver.
- In TLS kommen beide Verfahren kombiniert zum Einsatz: asymmetrisch für den Schlüsselaustausch, symmetrisch für die Datenübertragung.
Digitale Zertifikate und Certificate Authorities (CAs)
- Zertifikate sichern die Identität des Servers. Sie werden von Certificate Authorities ausgestellt, geprüft und signiert.
- Browser prüfen bei jeder Verbindung die Signatur, das Ablaufdatum und den Widerrufsstatus des Zertifikats.
- Wichtig ist die Verwendung aktueller TLS-Versionen (mind. TLS 1.2) und sicherer Cipher Suites.