Rotation des clés d'un flux en direct

Définissez la fréquence de changement de la clé de contenu, le nombre de spectateurs et le décalage de leurs lecteurs par rapport au direct. La page calcule le nombre de clés, les requêtes de licence engendrées et la charge imposée au serveur de licences lors de la rotation, selon trois méthodes de distribution.

Chargement de la simulation interactive...

Leçon

La théorie — Rotation des clés d'un flux en direct

Une clé de contenu est la clé AES qui chiffre le média. Un lecteur l'obtient à l'intérieur d'une licence délivrée par un serveur, spécifiquement destinée à cet appareil. La rotation des clés remplace la clé de contenu à chaque période de chiffrement pendant la diffusion en direct, obligeant le lecteur à obtenir une nouvelle clé à chaque fois. Dans une hiérarchie de clés, la licence transporte plutôt une clé racine, tandis que les clés de contenu, appelées ici clés feuilles, voyagent directement dans le flux et ne sont utilisables qu'avec la racine.

Ce que signifie chaque symbole

T
la période de chiffrement, soit la durée d'utilisation d'une clé de contenu, en secondes
N
les spectateurs qui regardent simultanément
w
la dispersion des têtes de lecture par rapport au direct, constituant la fenêtre dans laquelle tous franchissent une limite de clé
R
la durée de vie d'une clé racine dans une hiérarchie, en heures
Suppose
Une requête de licence par spectateur et par frontière, contenant toutes les clés de la période, avec une audience présente sur toute la durée. Si elles sont demandées au changement, les requêtes s'étalent uniformément sur les w secondes suivant la frontière ; récupérées à l'avance, elles se répartissent sur toute la période. En réalité, les requêtes se regroupent et s'éparpillent autour de ces moyennes, et un serveur est dimensionné avec une marge pour l'absorber. Les pics indiqués ici constituent donc un plancher que le serveur doit pouvoir supporter. Les arrivées et départs de spectateurs, les nouvelles tentatives après une requête échouée et la licence initiale récupérée par chaque lecteur au démarrage ne sont pas pris en compte.
Ne tient plus quand
Lorsque la clé compromise appartient à l'appareil lui-même. La rotation limite ce qu'une clé de contenu expose et une hiérarchie restreint la portée d'une clé racine. Cependant, un lecteur dont la clé d'appareil a été extraite peut continuer à demander ou à déchiffrer chaque clé distribuée par le service. Aucune période de chiffrement n'est alors d'un quelconque secours. L'appareil doit se voir refuser ses licences ou, en l'absence de serveur pour les bloquer, être révoqué, ce que mesure la page sur la révocation des appareils.

262 800 clés, c'est la partie facile 🖖

Cliquez sur Un an à deux minutes. Une année compte 31 536 000 secondes. Une clé toutes les 120 secondes donne 262 800 clés de contenu, ce qui, à 16 octets la clé, représente 4,20 Mo pour l'année entière. Aucun système de stockage de clés ne s'en soucie. Ce chiffre illustre en réalité une demande que chaque spectateur doit formuler : 262 800 requêtes de licence individuelles, qui, multipliées par un million de spectateurs, atteignent 2,628×10¹¹, soit une moyenne de 8 333 par seconde tout au long de la diffusion. Cliquez sur Quatre pistes chiffrées : de l'audio et trois qualités vidéo possèdent chacune leur clé. Le format d'échange de clés de DASH-IF mentionne justement le chiffrement séparé de la SD, de la HD et de l'UHD parmi les raisons de multiplier les clés. Leur nombre grimpe à 1 051 200, mais les requêtes restent stables puisqu'une seule licence transporte les quatre.

L'instant de la requête détermine le pic, pas la fréquence de rotation 🖖

En gardant Une année en deux minutes sélectionné, observez le graphique des requêtes. À chaque limite de période, tous les lecteurs rencontrent le nouvel identifiant de clé et demandent alors la clé. Comme leurs têtes de lecture sont réparties sur 10 secondes, un million de requêtes arrivent durant ces 10 secondes : 100 000 par seconde, soit 12,0 fois la moyenne. À propos de cette méthode précise, les recommandations de DASH-IF indiquent que « tous les lecteurs enverront leurs requêtes de licence en même temps ». Appuyez sur Récupération anticipée. Ces mêmes requêtes, envoyées chacune à un instant aléatoire de la période précédente, arrivent à raison de 8 333 par seconde : le mur a disparu. L’échelle sous le tableau révèle l’autre moitié du phénomène. Que la clé change toutes les 10 secondes ou une fois par jour, le pic provoqué par ce changement atteint toujours 100 000 requêtes par seconde. Une période plus courte multiplie les pics, sans jamais les rendre plus hauts : 8 640 par jour avec une rotation toutes les 10 secondes, contre 720 avec une rotation toutes les deux minutes.

Une hiérarchie de clés échange des requêtes contre de l'exposition, à parité 🖖

Cliquez sur Hiérarchie de clés. Une licence racine récupérée une fois par jour déverrouille chaque clé feuille de deux minutes à mesure qu'elle arrive dans les segments multimédias. Un spectateur effectue ainsi 365 requêtes par an au lieu de 262 800, soit 720 fois moins. DASH-IF décrit cette organisation « dans les scénarios où une requête de licence n'est effectuée qu'une fois par jour ». Le coût se lit sur la dernière ligne. Une clé de contenu compromise expose deux minutes de ce qu'elle chiffre ; une clé racine compromise expose toutes les clés feuilles jusqu'à son renouvellement, soit 24 heures de flux, ce qui correspond à 720 périodes. Le facteur qui allège la charge du serveur s'applique à la fuite, car tous deux correspondent à la durée de vie de la racine divisée par la période de chiffrement. Le changement de racine forme toujours un mur de 100 000 requêtes par seconde, survenant une fois par jour au lieu de 720 fois, à moins que les licences racines ne soient elles aussi récupérées à l'avance. Rien de tout cela ne rend une clé individuelle plus difficile à casser. Les mêmes directives l'affirment sans détour : changer les clés de contenu « n'augmente pas la sécurité cryptographique de la protection du contenu ».

Problème entièrement résolu

  1. Un serveur de licences peut-il supporter une finale ? 4 étapes

    Quelle est la période de chiffrement minimale ? Cliquez sur Finale de coupe : 3 000 000 de spectateurs, des clés renouvelées toutes les deux minutes et récupérées à l'avance, pour 25 000 requêtes par seconde. Le serveur de licences est conçu pour 20 000. Trouvez la période de chiffrement la plus courte qu'il puisse gérer avec une récupération anticipée, ce qu'exigerait une demande au changement, et le coût d'une clé racine quotidienne récupérée à l'avance.

    Ouvrez ce problème dans l'outil

    1. Avec la récupération anticipée, chaque spectateur formule une demande par période et les requêtes s'étalent uniformément. La charge vaut donc N/T, et elle doit rester inférieure ou égale à la capacité de 20 000 du serveur.

    2. À deux minutes, la charge atteint 1,25 fois la capacité. Résolvez plutôt pour T : pas moins de 150 secondes.

    3. Demandées au changement, toutes les requêtes de l'audience arrivent dans les 10 secondes sur lesquelles s'étalent les têtes de lecture : 300 000 par seconde, soit quinze fois la capacité, à chaque frontière. Comme T n'apparaît pas dans N/w, aucune période de chiffrement ne résout le problème. Seules des têtes de lecture espacées de 150 secondes y parviendraient.

    4. Dans une hiérarchie avec une racine quotidienne dont les licences sont récupérées à des instants aléatoires la veille, les seules requêtes concernent les racines, soit N sur les 86 400 secondes d'une journée.

    Réponse

    Au moins 150 s avec récupération anticipée, 300 000 par seconde au changement, 34,72 par seconde avec une racine quotidienne récupérée à l'avance. Une rotation de deux minutes submerge ce serveur, quelle que soit la méthode de distribution individuelle des clés de contenu, et une durée de deux minutes et demie passe sans aucune marge. La hiérarchie respecte la limite 576 fois et en paie le prix comme l'indique la troisième explication : une clé racine compromise expose la journée entière de la finale.

Références (2)