Protected Streaming [1] es una tecnología DRM de Adobe . El objetivo de esta tecnología es proteger el contenido digital (vídeo o audio) del uso no autorizado.
La transmisión protegida consta de muchas técnicas diferentes; básicamente, hay dos componentes principales: cifrado y verificación SWF .
Esta técnica la utilizan el reproductor de escritorio Hulu y el RTÉ Player . Fifa.com también utiliza esta técnica para mostrar los vídeos en el sitio oficial. Algunos vídeos de YouTube también utilizan RTMPE, incluidos los subidos por BBC Worldwide.
El contenido transmitido en tiempo real se cifra mediante Flash Media Server "sobre la marcha", de modo que no es necesario cifrar el archivo de origen (una diferencia significativa con respecto al DRM de Microsoft ). Para la transmisión ("streaming") se requiere un protocolo especial, ya sea RTMPE o RTMPS . [ cita requerida ]
RTMPS utiliza cifrado SSL . Por el contrario, RTMPE está diseñado para ser más sencillo que RTMPS, ya que elimina la necesidad de adquirir un certificado SSL. RTMPE utiliza primitivas criptográficas estándar de la industria conocidas, que consisten en el intercambio de claves Diffie-Hellman y HMACSHA256, generando un par de claves RC4 , una de las cuales se utiliza para cifrar los datos multimedia enviados por el servidor (la transmisión de audio o vídeo), mientras que la otra clave se utiliza para cifrar cualquier dato enviado al servidor. RTMPE provocó una menor carga de CPU que RTMPS en Flash Media Server. [ cita requerida ]
Adobe solucionó el problema de seguridad en enero de 2009, pero no arregló los agujeros de seguridad en el diseño del algoritmo RTMPE en sí. [2] El análisis del algoritmo muestra que se basa en la seguridad por oscuridad . Por ejemplo, esto hace que RTMPE sea vulnerable a ataques Man in the Middle . [ cita requerida ]
Las herramientas que tienen una copia de las constantes conocidas extraídas de Adobe Flash Player pueden capturar transmisiones RTMPE, una forma del problema del cliente confiable . Adobe emitió medidas de eliminación de DMCA para las herramientas de grabación RTMPE, incluida rtmpdump , para intentar limitar su distribución. Sin embargo, en el caso de rtmpdump , esto provocó un efecto Streisand . [3]
Adobe Flash Player utiliza una constante conocida, adjunta a la información derivada del archivo SWF (un hash del archivo y su tamaño), como entrada para HMACSHA256. La clave HMACSHA256 son los últimos 32 bytes del primer paquete de protocolo de enlace del servidor. Flash Media Server la utiliza para limitar el acceso a aquellos clientes que tienen acceso al archivo SWF (o que han recibido una copia del hash y del tamaño del archivo SWF).
Todos los clientes oficialmente permitidos (que en realidad son archivos *.swf) deben estar ubicados en el servidor Flash Media que transmite el archivo. Cualquier otro cliente que solicite una conexión recibirá un mensaje de "rechazo de conexión".
La combinación de ambas técnicas tiene como objetivo garantizar que los flujos no puedan ser analizados y almacenados en un archivo local, ya que la verificación de SWF tiene como objetivo evitar que clientes de terceros accedan al contenido. Sin embargo, no logra este objetivo. Los clientes de terceros tienen la libertad de escribir el contenido descifrado en un archivo local simplemente conociendo el hash del archivo SWF y su tamaño. En la práctica, por lo tanto, la propia implementación de Adobe de Macromedia Flash Player es el único cliente que no permite guardarlo en un archivo local.
La única forma posible de restringir las conexiones a un servidor multimedia Flash es utilizar una lista de hosts conocidos, para evitar que todo el reproductor (el cliente Flash) se coloque en un sitio web no autorizado. Incluso esto no tiene ningún beneficio real para los archivos distribuidos en masa, ya que cualquiera de los hosts conocidos podría tomar una copia de los datos y redistribuirlos a voluntad. Por lo tanto, la seguridad de "host conocido" solo es útil cuando se puede confiar en que los hosts conocidos no redistribuirán los datos.