Lektion
Die Theorie — Rotation der Schlüssel eines Livestreams
Ein Content-Schlüssel ist der AES-Schlüssel, der die Medien verschlüsselt. Ein Player erhält ihn innerhalb einer Lizenz von einem Lizenzserver, ausgestellt auf dieses eine Gerät. Schlüsselrotation ersetzt den Content-Schlüssel jede Kryptoperiode, während ein Livestream läuft, sodass der Player jedes Mal einen neuen Schlüssel braucht. In einer Schlüsselhierarchie trägt die Lizenz stattdessen einen Root-Schlüssel, und die Content-Schlüssel, dort Leaf-Schlüssel genannt, reisen im Stream selbst mit und sind nur mit dem Root nutzbar.
Was die einzelnen Symbole bedeuten
T- die Kryptoperiode, wie lange ein Content-Schlüssel im Einsatz ist, in Sekunden
N- Zuschauer, die gleichzeitig zusehen
w- wie weit ihre Playheads hinter dem Live-Rand verteilt sind, was dem Fenster entspricht, in dem sie alle eine Schlüsselgrenze überschreiten
R- wie lange ein Root-Schlüssel in einer Hierarchie gültig ist, in Stunden
- Setzt voraus
- Eine Lizenzanfrage pro Zuschauer pro Grenze, die jeden Schlüssel der Periode trägt, und jeder Zuschauer schaut über die gesamte Laufzeit zu. Beim Wechsel angefragt, verteilen sich die Anfragen gleichmäßig über die w Sekunden nach einer Grenze; im Voraus abgerufen, gleichmäßig über die gesamte Periode. Tatsächliche Zugriffe ballen und streuen sich um diese Durchschnitte, und ein Server wird mit einer entsprechenden Marge dimensioniert. Die Spitzen hier sind also eine Untergrenze für das, was ein Server tragen muss. Zuschauer, die dazukommen und gehen, Wiederholungen nach einer fehlgeschlagenen Anfrage und die Lizenz, die jeder Player beim Start abruft, werden weggelassen.
- Versagt, wenn
- Wenn der Schlüssel, der leakt, der eigene des Geräts ist. Rotation begrenzt, was ein Content-Schlüssel öffnet, und eine Hierarchie begrenzt, was ein Root-Schlüssel öffnet. Ein Player, dessen Geräteschlüssel extrahiert wurde, kann jedoch weiterhin jeden Schlüssel anfragen oder entschlüsseln, den der Dienst ihm ausstellt. Da hilft keine Kryptoperiode. Dem Gerät müssen die Lizenzen verweigert werden, oder, wo es keinen Lizenzserver gibt, der sie verweigern könnte, muss es widerrufen werden, was die Seite zum Gerätewiderruf zählt.
Aufgabe vollständig gelöst
-
Kann ein Lizenzserver ein Finale tragen? 4 Schritte
Wie kurz kann die Kryptoperiode sein? Klick Ein Pokalfinale: 3.000.000 Zuschauer, Schlüssel rotieren alle zwei Minuten und werden im Voraus abgerufen, 25.000 Anfragen pro Sekunde. Der Lizenzserver ist für 20.000 ausgelegt. Finde die kürzeste Kryptoperiode, die er mit im Voraus abgerufenen Schlüsseln tragen kann, was eine Anfrage beim Wechsel von ihm verlangen würde und was stattdessen ein täglich im Voraus abgerufener Root-Schlüssel kosten würde.
-
Im Voraus abgerufen, fragt jeder Zuschauer einmal pro Periode an, und die Anfragen verteilen sich gleichmäßig über diese. Die Last ist also N/T. Sie muss bei oder unter den 20.000 des Servers bleiben.
-
Bei zwei Minuten beträgt die Last das 1,25-Fache der Auslegung. Löse stattdessen nach T auf: nicht kürzer als 150 Sekunden.
-
Beim Wechsel angefragt, fragt das gesamte Publikum innerhalb der 10 Sekunden an, über die seine Playheads verteilt sind: 300.000 pro Sekunde, das Fünfzehnfache der Auslegung, an jeder Grenze. T kommt in N/w nicht vor, also behebt keine Kryptoperiode das Problem; nur Playheads, die 150 Sekunden auseinanderliegen, würden das tun.
-
In einer Hierarchie mit einem täglichen Root, dessen Lizenzen in zufälligen Momenten während des Vortages abgerufen werden, sind die einzigen Anfragen die Roots, N über die 86.400 Sekunden eines Tages.
Antwort
Mindestens 150 s im Voraus abgerufen, 300.000 pro Sekunde beim Wechsel, 34,72 pro Sekunde mit einem im Voraus abgerufenen täglichen Root. Eine zweiminütige Rotation passt zu diesem Server nicht, egal auf welchem Weg die Content-Schlüssel einzeln ausgegeben werden, und zweieinhalb Minuten passen ganz ohne Marge. Die Hierarchie passt 576-mal und bezahlt dafür, wie es die dritte Erkenntnis besagt: Ein geleakter Root-Schlüssel öffnet einen ganzen Tag des Finales.
-
Quellen (2)
- The three delivery modes the page compares, and its three quotations: key rotation signalled in-band so every player asks at once (§9.3), the key hierarchy with a root licence once a day (§9.4), and rotation's purpose stated as re-authorisation rather than security (§9.2): DASH Industry Forum, DASH-IF Interoperability Points, Part 6: Content Protection. DASH-IF IOP-6 V5.0.0, January 2022, clause 9 Key rotation.
- How a packager is handed one content key per crypto period, why a stream carries several keys at once, and the two-level root and leaf hierarchy: DASH Industry Forum, DASH-IF Implementation Guidelines: Content Protection Information Exchange Format (CPIX), version 2.2, §6.2 Key Rotation Support and §6.3 Hierarchical Keys.