ORR2013 - Bewertungsphase

OpenRheinRuhr 2013
Ein Pott voll Software

Referenten
Martin Kaiser
Programm
Tag 09.11.2013 - 2013-11-09
Raum Vortragsraum 2
Beginn 15:50
Dauer 01:00
Info
ID 236
Veranstaltungstyp Vortrag
Track Freies Wissen
Sprache der Veranstaltung deutsch

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