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:

  1. Die Unterschiede zwischen Basic und Digest Authentication erklären und ihre jeweilige Eignung im Kontext moderner Webanwendungen beurteilen.
  2. Den Ablauf einer HTTPS-Verbindung mit SSL/TLS beschreiben und die Rolle symmetrischer und asymmetrischer Verschlüsselung dabei erläutern.
  3. Vor- und Nachteile von symmetrischen und asymmetrischen Verfahren benennen und erklären, warum sie im SSL/TLS-Protokoll kombiniert eingesetzt werden.
  4. 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:

  1. Der Client fordert eine Ressource an.
  2. Der Server antwortet mit 401 Unauthorized und einem WWW-Authenticate-Header (z. B. Basic realm="admin").
  3. 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.

  1. Der Client berechnet einen Hashwert basierend auf Benutzername, Passwort, HTTP-Methode, URI und dem nonce.
  2. 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)

  1. Client Hello: Der Client nennt unterstützte Verschlüsselungsverfahren.
  2. Server Hello: Der Server wählt ein Verfahren und sendet sein Zertifikat.
  3. Zertifikatsprüfung: Der Client prüft die Echtheit.
  4. Schlüsselaustausch: Es wird ein gemeinsamer Sitzungsschlüssel vereinbart.
  5. 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.

⏳ Lädt Dataview-Inhalt...

Ü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

VorteileNachteile
Hohe VerarbeitungsgeschwindigkeitSchlüsselaustauschproblem: Der geheime Schlüssel muss sicher übermittelt werden.
Relativ einfache ImplementierungSkalierungsproblem: 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
VorteileNachteile
Öffentliche Schlüssel sind frei verteilbarRechenintensiver als symmetrische Verfahren
Ermöglicht digitale Signaturen zur Prüfung von Authentizität und IntegritätKomplexes 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:

  1. Client Hello: Client schlägt Cipher Suites und Nonce vor
  2. Server Hello: Server sendet Zertifikat und wählt Cipher Suite
  3. Schlüsselaustausch: Client erzeugt Sitzungsschlüssel, verschlüsselt ihn mit dem Public Key des Servers und überträgt ihn
  4. 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

  1. Antragsteller fordert Zertifikat bei CA an

  2. CA prüft Identität (z. B. Domain-Inhaberschaft)

  3. CA signiert das Zertifikat mit ihrem Private Key

  4. Zertifikat wird auf dem Server installiert

  5. 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
⏳ Lädt Dataview-Inhalt...

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.