¿Qué es el cifrado DRM?

El cifrado DRM convierte los medios codificados en texto cifrado que un reproductor solo puede descifrar con la clave de contenido correspondiente. Un sistema de licencias entrega esa clave y sus reglas de uso a los clientes que autoriza.

Cómo funciona el cifrado DRM

El empaquetador aplica el cifrado después del encoding. Con Common Encryption (ISO/IEC 23001-7), que utilizan los flujos MP4 fragmentados para DASH y HLS, las muestras cifradas usan una clave AES de 128 bits conforme a uno de los cuatro esquemas del estándar; los dos que permite el formato de flujo del W3C para Encrypted Media Extensions son cenc (modo contador) y cbcs (encadenamiento de bloques cifrados, con un patrón que cifra solo una parte de cada muestra de video). Un flujo protegido también puede contener muestras sin cifrar, por ejemplo, un tramo inicial sin cifrar. Los medios no exponen la clave de contenido en texto claro. Contienen un ID de clave, de forma predeterminada en la caja de cifrado de pista (tenc). Para solicitar una licencia, el cliente de un sistema DRM necesita los datos de inicialización de ese sistema, cuya ubicación depende del formato de entrega. Para DASH, DASH-IF describe una cabecera específica del sistema de protección (pssh) para cada sistema, incluida en los medios, en el manifiesto como un elemento cenc:pssh, o en ambos; el manifiesto también indica el ID de clave mediante cenc:default_KID. Una lista de reproducción HLS señala las claves mediante etiquetas EXT-X-KEY, cuyo atributo URI especifica cómo obtener la clave; el contenido FairPlay debe usar el formato de clave com.apple.streamingkeydelivery en esa etiqueta. El reproductor entrega los datos de inicialización al módulo de descifrado de contenido del dispositivo, transmite la solicitud de licencia del módulo al servicio de licencias y devuelve la licencia al módulo; el descifrado se realiza entonces dentro del módulo. Las muestras se cifran una sola vez y solo la licencia se emite por cliente, de modo que todos los espectadores descargan los mismos segmentos cifrados y estos se pueden compartir y almacenar en caché como los no cifrados.

Datos clave

  1. ¿cenc o cbcs? Los dos esquemas no son intercambiables, y el dispositivo debe ser compatible con el que se haya usado para empaquetar el contenido. El contenido FairPlay debe usar el método HLS SAMPLE-AES, que RFC 8216 define para MP4 fragmentado como el esquema cbcs, y la especificación de creación de contenido de Apple establece que SAMPLE-AES-CTR no debe usarse en dispositivos Apple. RFC 8216 no define ningún método de modo contador; sin embargo, la documentación de Media3 de Android incluye HLS en MP4 fragmentado como formato compatible con Widevine cenc y, en Android TV, con PlayReady cenc. Esa misma documentación indica que Widevine es compatible con cenc desde Android 4.4, pero con cbcs solo desde Android 7.1 (la propia tabla de plataformas de Widevine indica Android 7.x y versiones posteriores), y PlayReady añadió cbcs en la versión 4.0 del cliente, donde sigue siendo opcional. Por tanto, una sola copia en cbcs puede servir a clientes de FairPlay, Widevine y PlayReady compatibles con el esquema, algo que el número de versión PlayReady 4.0 por sí solo no garantiza, y los clientes antiguos de Android o PlayReady necesitan una segunda copia en cenc. Si empaquetas ambos, Microsoft establece que un servicio no debe cifrar el mismo contenido en ambos modos con el mismo ID de clave y la misma clave.
  2. ¿Es secreto el ID de clave y con qué debe coincidir? No, es una etiqueta. El ID de clave viaja sin cifrar en la caja tenc, en los datos pssh y en los manifiestos DASH, e indica al cliente y al servicio de licencias qué clave se necesita; solo la propia clave es secreta y se entrega dentro de una licencia. Los identificadores deben coincidir en todos los niveles: DASH-IF exige que el valor cenc:default_KID del manifiesto coincida con el de la caja tenc, que considera la fuente de referencia, y una licencia que entregue una clave con un ID diferente impide descifrar las muestras, aunque el flujo se cargue.
  3. ¿Funciona una sola copia cifrada con varios sistemas DRM? Sí, con los sistemas compatibles con el esquema utilizado: Common Encryption existe para que varios sistemas de claves puedan descifrar los mismos medios. Cada sistema sigue necesitando su propia señalización y un servicio de licencias capaz de devolver la misma clave. Los empaquetadores generan esa señalización para cada sistema; Shaka Packager, por ejemplo, puede emitir señalización de Widevine, PlayReady y FairPlay para un solo conjunto de claves. La ubicación de la señalización es importante para los navegadores: DASH-IF desaconseja incluir cajas pssh en los segmentos de inicialización, porque cada una que procese un navegador puede iniciar otra solicitud de licencia, a menos que el reproductor detecte y bloquee los duplicados, y señala que incluir los datos pssh en el manifiesto permite añadir un sistema DRM sin modificar el contenido.
  4. ¿Cuándo compensa la complejidad de la rotación de claves? DASH-IF describe su objetivo principal como exigir una nueva autorización periódica para contenido continuo en directo, por ejemplo, en los límites entre programas, y afirma explícitamente que el objetivo no es reforzar el cifrado. En Common Encryption, los ID de clave que van cambiando se señalan por muestra mediante grupos de muestras seig, opcionalmente con datos de licencia en cajas pssh dentro de los fragmentos de película; en HLS, cada etiqueta EXT-X-KEY se aplica a los segmentos que le siguen hasta la siguiente etiqueta con el mismo KEYFORMAT o hasta el final de la lista de reproducción. La rotación requiere compatibilidad del reproductor (Media3 de Android exige su modo multisesión para flujos con rotación de claves), cambios de clave alineados con los límites de los segmentos y solicitudes de licencia distribuidas a lo largo del tiempo para que no todos los clientes las soliciten en el mismo instante. DASH-IF describe una forma de distribuirlas que deja la responsabilidad en el sistema DRM: las claves actuales y las próximas se anuncian en los datos pssh, y cada cliente elige un momento aleatorio para solicitar su licencia.

Cuándo es importante el cifrado DRM

Configura el cifrado al empaquetar flujos destinados a la reproducción controlada y protege las claves por separado. Una discrepancia en el identificador de clave, el esquema o la configuración de la licencia impide reproducir medios correctamente codificados.

Fuentes

Convierte tus conocimientos sobre multimedia en un pipeline funcional

Conecta las subidas, el procesamiento, la IA, el almacenamiento y la entrega mediante una sola API declarativa, mientras nos encargamos por ti del stack de encoding, el escalado y los cambios constantes de formatos.

Prueba Transloadit gratis