Rotación de claves de una emisión en directo

Ajusta con qué frecuencia cambia la clave de contenido, cuántos espectadores la ven y cómo de dispersos están sus reproductores por detrás del directo. La página cuenta las claves, las peticiones de licencia que provocan y la carga que esas peticiones imponen al servidor de licencias cuando cambia la clave, para tres formas de entregar cada clave al reproductor.

Cargando simulación interactiva...

Lección

La teoría — Rotación de claves de una emisión en directo

Una clave de contenido es la clave AES que cifra el contenido multimedia. Un reproductor la obtiene dentro de una licencia de un servidor de licencias, expedida para ese único dispositivo. La rotación de claves sustituye la clave de contenido cada criptoperíodo mientras dura una emisión en directo, de modo que el reproductor necesita una clave nueva cada vez. En una jerarquía de claves, la licencia lleva en su lugar una clave raíz, y las claves de contenido, allí llamadas claves hoja, viajan dentro de la propia emisión y solo se pueden usar con la raíz.

Qué significa cada símbolo

T
el criptoperíodo, el tiempo que una clave de contenido está en uso, en segundos
N
los espectadores que la ven al mismo tiempo
w
la distancia a la que sus posiciones de reproducción se sitúan por detrás del directo, que es la ventana en la que todos cruzan un límite de clave
R
cuánto dura una clave raíz en una jerarquía, en horas
Supone
Asume una petición de licencia por espectador en cada límite, que contiene todas las claves del período, y que todos los espectadores miran durante toda la emisión. Si se piden al cambiar, las peticiones se distribuyen de forma uniforme a lo largo de los w segundos posteriores a un límite; si se piden por adelantado, de forma uniforme durante todo el período. Las llegadas reales se agrupan y dispersan en torno a esas medias y un servidor se dimensiona con margen para ello, por lo que los picos aquí mostrados son el mínimo que debe soportar un servidor. Se omiten los espectadores que se unen y se van, los reintentos tras una petición fallida y la licencia que cada reproductor pide al empezar.
Falla cuando
Falla cuando la clave que se filtra es la del propio dispositivo. La rotación limita lo que abre una clave de contenido y una jerarquía limita lo que abre una clave raíz, pero un reproductor al que se le ha extraído su clave de dispositivo puede seguir pidiendo, o desenvolviendo, cada clave que el servicio emite. En ese caso no hay criptoperíodo que sirva de ayuda. Al dispositivo hay que denegarle sus licencias, o, donde no hay un servidor de licencias que las deniegue, revocarlo, que es lo que cuenta la página de revocación de dispositivos.

262.800 claves son la parte fácil 🖖

Pulsa Un año a dos minutos. Un año tiene 31.536.000 segundos, una clave cada 120 de ellos da 262.800 claves de contenido, y a 16 bytes por clave, el material de todo el año ocupa 4,20 MB. Ningún almacén de claves nota eso. Lo que realmente mide la cuenta es una pregunta que cada espectador tiene que hacer: 262.800 peticiones de licencia por cada uno, y de un millón de espectadores 2,628×10¹¹, una media de 8.333 por segundo mientras la emisión siga. Pulsa Cuatro pistas con clave: audio y tres calidades de vídeo, cada una bajo su propia clave, y el formato de intercambio de claves de DASH-IF enumera cifrar SD, HD y UHD por separado entre las razones por las que una emisión lleva varias. Las claves suben a 1.051.200 y las peticiones no varían, porque una sola licencia puede llevar las cuatro.

Cuándo piden los reproductores fija el pico, la frecuencia con la que cambia la clave no 🖖

Con Un año en dos minutos aún seleccionado, observa el gráfico de solicitudes. Cada reproductor encuentra el nuevo identificador de clave al llegar al límite y solicita entonces la clave. Como los cursores están repartidos a lo largo de 10 segundos, un millón de solicitudes se concentra en esos 10 segundos: 100.000 por segundo, 12,0 veces la media. Las directrices de DASH-IF advierten precisamente de este esquema: «todos los reproductores solicitarán las licencias al mismo tiempo». Pulsa Descargadas de antemano. Las mismas solicitudes, realizadas cada una en un momento aleatorio del período anterior, llegan a razón de 8.333 por segundo y el muro desaparece. La escala situada bajo la tabla muestra la otra mitad. Tanto si rotas las claves cada 10 segundos como si lo haces una vez al día, el pico producido por el cambio alcanza 100.000 solicitudes por segundo. Un período más corto genera más picos: 8.640 al día con intervalos de 10 segundos, frente a 720 con intervalos de dos minutos, siempre con la misma altura.

Una jerarquía de claves cambia peticiones por exposición, una a una 🖖

Pulsa Jerarquía de claves. Una licencia raíz obtenida una vez al día desbloquea cada clave hoja de dos minutos a medida que llega dentro de los segmentos multimedia, por lo que un espectador hace 365 peticiones al año en lugar de 262.800, 720 veces menos. DASH-IF describe esta disposición «en escenarios donde una petición de licencia solo se realiza una vez al día». El precio se ve en la última fila. Una clave de contenido filtrada abre dos minutos de lo que cifra; una clave raíz filtrada abre cada clave hoja hasta que la raíz cambia, 24 horas de emisión, que son 720 períodos. El factor que se le quita al servidor de licencias pasa a la filtración, porque ambos son la vida de la raíz dividida por el criptoperíodo. Y el cambio de raíz sigue siendo un muro de 100.000 peticiones por segundo, una vez al día en lugar de 720 veces, a menos que las licencias raíz también se pidan por adelantado. Nada de esto hace que una clave sea más difícil de romper. Las mismas directrices lo exponen con claridad: cambiar las claves de contenido «no aumenta la seguridad criptográfica de la protección de contenido».

Problema resuelto al detalle

  1. ¿Puede un servidor de licencias soportar una final? 4 pasos

    ¿Cómo de corto puede ser el criptoperíodo? Pulsa Una final de copa: 3.000.000 de espectadores, las claves rotan cada dos minutos y se piden por adelantado, 25.000 peticiones por segundo. El servidor de licencias está preparado para 20.000. Encuentra el criptoperíodo más corto que puede soportar con las claves pedidas por adelantado, lo que le exigiría pedirlas al cambiar, y lo que costaría en su lugar una clave raíz diaria pedida por adelantado.

    Abre este problema en la herramienta

    1. Pedidas por adelantado, cada espectador pide una vez por período y las peticiones se reparten de manera uniforme a lo largo del mismo, por lo que la carga es N/T. Tiene que mantenerse igual o por debajo de las 20.000 del servidor.

    2. A dos minutos la carga es 1,25 veces la capacidad nominal. Despeja T en su lugar: no menos de 150 segundos.

    3. Pedidas al cambiar, toda la audiencia pide dentro de los 10 segundos sobre los que se dispersan sus posiciones de reproducción: 300.000 por segundo, quince veces la capacidad, en cada límite. T no aparece en N/w, así que ningún criptoperíodo lo arregla; solo lo harían posiciones de reproducción separadas por 150 segundos.

    4. En una jerarquía con una raíz diaria cuyas licencias se piden en momentos aleatorios durante el día anterior, las únicas peticiones son las raíces, N durante los 86.400 segundos de un día.

    Respuesta

    Al menos 150 s pedidas por adelantado, 300.000 por segundo al cambiar, 34,72 por segundo con una raíz diaria pedida por adelantado. La rotación a dos minutos no encaja en este servidor por ninguna de las vías en las que las claves de contenido se entregan una a una, y a dos minutos y medio encaja sin ningún margen. La jerarquía cabe 576 veces y paga por ello de la forma que indica la tercera conclusión: una clave raíz filtrada abre un día entero de la final.

Referencias (2)