ORR2013 - Bewertungsphase

OpenRheinRuhr 2013
Ein Pott voll Software

Speakers
Martin Kaiser
Schedule
Day 09.11.2013 - 2013-11-09
Room Vortragsraum 2
Start time 15:50
Duration 01:00
Info
ID 236
Event type Lecture
Track Freies Wissen
Language used for presentation German

HDCP2

von den Schwierigkeiten, ein Security-Protokoll zu entwerfen

HDCP2 versucht als Nachfolger des gehackten HDCP-Systems, die sichere Übertragung von Audio-/Video-Inhalten z.B. zwischen einem TV und einem Smartphone/Tablet zu gewährleisten.

Obwohl es keine offensichtlichen Schwachstellen gibt, ist es gelungen, das Authentifizierungsprotokoll zu umgehen und bestehende Verbindungen zu übernehmen.

Der Vortrag zeigt, wie aus vielen kleinen Problemen eine große Sicherheitslücke wurde und wie sich diese Lücke mit Hilfe von freier Software in der Praxis nachweisen ließ.

Der Aufbau des Vortrags könnte ungefähr so aussehen:

  • Einführung

    • es ist schwierig, ein sicheres Protokoll zu entwickeln
    • "Protokolle leben ewig"
  • HDCP2

    • Anwendungsbeispiele
      • TV-Inhalte auf ein mobiles Gerät streamen
      • Miracast
    • aus welchen Komponenten besteht HDCP2?
      • Authentifizierung
      • revocation
      • proximity control
      • verschlüsselte Übertragung der Nutzdaten
  • HDCP2 Authentifizierung

    • Zufallszahlen
    • Zertifikatsaustausch
    • Schlüsselberechnung
    • Pairing
  • Probleme des Authentifizierungsprotokolls

    • Transmitter wird nicht authentifiziert
    • Nachrichten sind nicht signiert
    • Schlüsselberechnung verwendet nur Werte, die vom Transmitter kommen
  • Idee für den Anriff auf die Authentifizierung

    • Verwendung einer bekannten, konstanten "Zufallszahl"
    • der Receiver entschlüsselt den gecachten Master-Key, ohne es zu bemerken
    • der Angriff nutzt eine Schwachstelle des Protokolls, es ist keine fehlerhafte Implementierung notwendig
  • Testaufbau, Hilfsmittel

    • Netzwerk mit TV, Handy, PC
    • Wireshark dissector für HDCP2
    • libgcrypt, OpenSSL
  • Durchführung des Angriffs

    • echte Authentifizierung mitloggen
    • Fake-Transmitter implementieren, der dem Receiver präparierte Daten unterschiebt
  • Was haben wir gewonnen?

    • wir können Verbindungen übernehmen
    • zum Decodieren der Nutzdaten fehlt noch eine "geheime" Konstante, die alle Lizenznehmer kennen
  • Abhilfe

    • Verzicht auf pairing
    • Änderung der Spezifikation --> Software-Update auf den Geräten erforderlich
  • Fazit

    • Protokolle sind kompliziert
    • offene Standards helfen, die Schwachstellen zu erkennen und zu beheben