Transportsicherheit

Was ist das?

Auflösung

Enigma
Enigma

Geschichte

  • Antike: Verbreiteter aber unsystematischer Einsatz kryptographischer Methoden (z. B. durch Caesar).
  • Ende 19. Jh.: Systematisierung und Formalisierung.
  • 1930/40er: Polen, Briten und Amerikaner “brechen” sehr starke deutsche Chiffren (u. a. “Enigma”). Erstmalig Einsatz von Rechenmaschinen zum “Code-Brechen”
  • 1970er: Data Encryption Standard (DES). Public-Key-Kryptographie
  • 1980er: Zero-Knowledge-Protokolle
  • seitdem: Massenhafte Verbreitung der Kryptographie (Geldautomaten, Internet, Mobilfunk, Pay-TV, …)

Notation

  • Alice (A): Initiator eines Protokolls
  • Bob (B): antwortet auf Anfragen von Alice
  • Eve (E): abhörender (passiver) Angreifer (eavesdropper)
  • Mallory (M): aktiver Angreifer (malicious attacker)

Ziele beim Einsatz von Kryptographie

  • Geheimhaltung von Daten (Vertraulichkeit)
    Nur wir können diesen Daten lesen
  • Authentizität und Integrität von Daten
    Du hast diese Nachricht geschrieben, und niemand hat sie verändert
  • Authentizität von Kommunikationspartnern
    Du bist es!
  • Anonymität in der Kommunikation
    elektronisches Geld, Wahlen mit Wahlgeheimnis, …

Chiffren

  • Eine Chiffre wird definiert durch drei Mengen
    • \( M \): Klartextemenge (Nachrichten)
    • \( C \): Chiffretextmenge (Kryptogramme)
    • \( K \): Schlüsselmenge (Keys)
  • und drei effiziente Algorithmen
    • Verschlüsseln: \( E : K \times M \rightarrow C \)
    • Entschlüsseln: \( D : K \times C \rightarrow M \)
    • Schlüssel erzeugen: \( G : \emptyset \rightarrow K \)
  • wir schreiben oft \( D(\cdot) \) anstatt \( D(k, \cdot) \)
Für jeden Klartext \( m \in M \) und für jeden Schlüssel \( k \in K \) gilt \( D(k, E(k, m )) = m \)

Anforderungen an kryptographische Verfahren:

  • Sicherheit darf nicht von Geheimhaltung der Algorithmen abhängen!
    ⇒ keine Security by Obscurity
  • Kerckhoffs-Prinzip (1835–1903): Stärke des Verfahrens sollte nur von der Güte des geheimen Schlüssels abhängen!
  • Brechen eines Schlüssels: Faktoren
    • Rechnertechnologie
    • Parallelisierungsmöglichkeiten
    • Schlüsselraum muss sehr groß sein
      ⇒ Ausprobieren aller Schlüssel (brute-force) soll nicht mit praktikablem Aufwand möglich sein

Symmetrische Verschlüsselung

  • Schlüssel zur Ver- und Entschlüsselung sind gleich
  • Es gibt einen gemeinsamen, geheimen Schlüssels (Secret-Key)
  • Bekannte Verfahren
    • DES (Data-Encryption-Standard), 1975
    • AES (Advanced Encryption-Standard), 1998
    • RC4, A5/3 (Mobilfunk), 1987
    • Salsa20, 2007

Wichtige Faktoren für die Sicherheit

  1. Schlüsselgenerierung, hohe Entropie, starke Schlüssel
    ⇒ Gute Zufallszahlen notwendig
    ⇒ Kryptographische Zufallszahlengeneratoren
  2. Sicherer Austausch des gemeinsamen Schlüssels
    ⇒ Zusätzlicher, sicherer Kanal benötigt (Kurier, Treffen, …)
  3. Sichere Schlüsselspeicherung
    ⇒ Schlüsselmanagement und Schutz

Electronic Code Book Mode

Cipher Block Chaining

Asymmetrische Verschlüsselung

Public-Key-Verfahren, 1976

  • Basis sind zahlentheoretisch schwierig zu lösenden Problemen (Faktorisierung, Logarithmen, Elliptische Kurven)
  • Man gibt Teile des Schlüssel (public Key) preis
  • Ein Schlüsselpaar pro Kommunikationspartner A
    • private key: privater Schlüssel (nur A bekannt)
    • public key: öffentlicher Schlüssel, jedem bekannt

Beispiel für mathematisches Problem

  • Was sind die Prim-Faktoren von 3909823?
  • Was ist 1153 x 3391?

Viele mathematische Operationen (Einwegfunktionen, one-way functions) können leicht in die eine aber nur sehr schwer in die andere Richtung durchgeführt werden

Prinzip asymmetrische Verschlüsselung

Asymmetrische Verschlüsselung

Reale Implementierung

Asymmetrische Verschlüsselung
Asymmetrische Verschlüsselung

Mehrere Empfänger

Asymmetrische Verschlüsselung
Asymmetrische Verschlüsselung

Adversary-in-the-Middle

Digitale Zertifikate

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1 (0x1)
        Signature Algorithm: md5WithRSAEncryption
        Issuer: C=XY, ST=Austria, L=Graz, O=TrustMe Ltd, OU=Certificate
             Authority, CN=CA/Email=ca@trustme.dom
        Validity
            Not Before: Oct 29 17:39:10 2000 GMT
            Not After : Oct 29 17:39:10 2001 GMT
        Subject: C=DE, ST=Austria, L=Vienna, O=Home, OU=Web Lab,
                 CN=anywhere.com/Email=xyz@anywhere.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:c4:40:4c:6e:14:1b:61:36:84:24:b2:61:c0:b5: ...
    Signature Algorithm: md5WithRSAEncryption
        12:ed:f7:b3:5e:a0:93:3f:a0:1d:60:cb:47:19:7d:15

Signatur

Verschlüsselung und Signierung

Challenge/Response-Verfahren

Challenge-Response-Verfahren
Challenge-Response-Verfahren

HTTP und HTTPS

HTTP ist unverschlüsselt

  • Kommunikation kann abgehört werden (z. B. mit Wireshark)
  • Passwort und persönliche Daten werden im Klartext übertragen

Wir brauchen einen Schutz der Daten auf dem Transportweg: Transportsicherheit

Transportsicherheit

  • Ziel: Nachrichten können während des Transports weder abgehört noch verändert werden
  • Technologien: SSL, TLS, IPSec (VPN)
  • SSL sichert die Kommunikation zwischen genau zwei Teilnehmern
  • VPN verbindet einen Teilnehmer mit einem Netzwerk
  • HTTPS (HTTP secure) ist HTTP over SSL

SSL / TLS

Secure Socket Layer (SSL) bzw. Transport Layer Security (TLS)

SSL Handshake
SSL Handshake

SSL und Adversary-in-the-Middle

Adversary-in-the-Middle
Adversary-in-the-Middle
Adversary-in-the-Middle
Adversary-in-the-Middle

Schwachpunkt der Zertifikate

Screenshot SSL-Hack
Screenshot SSL-Hack

SSL-Stripping


Copyright © 2025 Thomas Smits