Este documento describe el cifrado de flujos de video en HTML5. Explica las tecnologías subyacentes como EME, MSE y CORS que permiten el cifrado y reproducción de videos en navegadores. También describe la implementación de un sistema que incluye un servidor web con Django, un servidor de licencias y un cliente que usa EME para descifrar videos. El objetivo es verificar las posibilidades de entrega de videos cifrados bajo demanda usando solo HTML5.
El documento habla sobre Tor y la Deep Web. Tor es una red que permite el anonimato de sus usuarios a través de encaminamiento de cebolla donde los mensajes pasan por 3 nodos antes de llegar a su destino. Aunque Tor se creó para proteger la privacidad, en la práctica se usa principalmente para actividades ilegales como la distribución de pornografía infantil, el tráfico de drogas y armas, y el crimen organizado. Los autores advierten sobre los peligros que existen en la Deep Web.
The Onion Router es un proyecto cuyo objetivo es desarrollar una red de túneles virtuales que permita mejorar la seguridad y privacidad en Internet. Funciona creando rutas aleatorias entre el origen y destino de la comunicación para evitar el análisis de tráfico. Proporciona herramientas para añadir privacidad a aplicaciones y permite compartir información de forma anónima.
El documento describe las principales características de HTML5, incluyendo nuevas etiquetas como <header>, <nav> y <section>; tecnologías como CSS3, geolocalización y almacenamiento web; y su evolución desde versiones anteriores como HTML4 y XHTML. Validar el código HTML5 asegura que la página se muestre correctamente y cumpla los estándares.
Conceptos Fundamentales sobre HTML5:
- Definición
- Historia
- Etiquetas Nuevas
- Etiquetas Eliminadas
- Doctype
- Etiqueta HTML
- Encabezado
- La Codificación
- Nueva Organización del Sitio
- Incorporar Video
- Otras Características
- Validación de HTML5
- Soporte De Los Navegadores
- Referencias
Las tecnologías de desarrollo web han evolucionado mucho en la última década, con múltiples aplicaciones, frameworks, librerías, arquitecturas y sistemas de publicación. Una aplicación web básica requiere como mínimo un navegador, servidor, protocolo HTTP, HTML y CSS. El contenido puede ser estático o dinámico, y las arquitecturas incluyen clientes y servidores estáticos o dinámicos. Entre las tecnologías comunes se encuentran HTML, CSS, JavaScript, DOM, PHP, Java EE y
El documento proporciona una definición general de una página web, incluyendo que es un documento electrónico que forma parte de la World Wide Web construido en HTML o XHTML, que puede contener enlaces y ser alojado localmente o de forma remota, y que es visualizado a través de un navegador web.
Este documento describe el funcionamiento de un servidor HTTP. Un servidor HTTP procesa aplicaciones del lado del servidor y genera respuestas a las solicitudes de los clientes utilizando protocolos como HTTP. Los servidores HTTP pueden alojar aplicaciones web del lado del cliente o del servidor. Un servidor web local reside en una red local y puede accederse a través de la dirección de loopback.
Un servidor web es un programa que transfiere páginas web mediante el protocolo HTTP. Se ejecuta en un ordenador para responder a peticiones de clientes como navegadores web, enviando código HTML. Puede entregar aplicaciones web que se ejecutan en el lado del cliente o del servidor. Instalar un servidor web permite probar desarrollos locales de páginas web sin necesidad de hosting externo.
El documento habla sobre Tor y la Deep Web. Tor es una red que permite el anonimato de sus usuarios a través de encaminamiento de cebolla donde los mensajes pasan por 3 nodos antes de llegar a su destino. Aunque Tor se creó para proteger la privacidad, en la práctica se usa principalmente para actividades ilegales como la distribución de pornografía infantil, el tráfico de drogas y armas, y el crimen organizado. Los autores advierten sobre los peligros que existen en la Deep Web.
The Onion Router es un proyecto cuyo objetivo es desarrollar una red de túneles virtuales que permita mejorar la seguridad y privacidad en Internet. Funciona creando rutas aleatorias entre el origen y destino de la comunicación para evitar el análisis de tráfico. Proporciona herramientas para añadir privacidad a aplicaciones y permite compartir información de forma anónima.
El documento describe las principales características de HTML5, incluyendo nuevas etiquetas como <header>, <nav> y <section>; tecnologías como CSS3, geolocalización y almacenamiento web; y su evolución desde versiones anteriores como HTML4 y XHTML. Validar el código HTML5 asegura que la página se muestre correctamente y cumpla los estándares.
Conceptos Fundamentales sobre HTML5:
- Definición
- Historia
- Etiquetas Nuevas
- Etiquetas Eliminadas
- Doctype
- Etiqueta HTML
- Encabezado
- La Codificación
- Nueva Organización del Sitio
- Incorporar Video
- Otras Características
- Validación de HTML5
- Soporte De Los Navegadores
- Referencias
Las tecnologías de desarrollo web han evolucionado mucho en la última década, con múltiples aplicaciones, frameworks, librerías, arquitecturas y sistemas de publicación. Una aplicación web básica requiere como mínimo un navegador, servidor, protocolo HTTP, HTML y CSS. El contenido puede ser estático o dinámico, y las arquitecturas incluyen clientes y servidores estáticos o dinámicos. Entre las tecnologías comunes se encuentran HTML, CSS, JavaScript, DOM, PHP, Java EE y
El documento proporciona una definición general de una página web, incluyendo que es un documento electrónico que forma parte de la World Wide Web construido en HTML o XHTML, que puede contener enlaces y ser alojado localmente o de forma remota, y que es visualizado a través de un navegador web.
Este documento describe el funcionamiento de un servidor HTTP. Un servidor HTTP procesa aplicaciones del lado del servidor y genera respuestas a las solicitudes de los clientes utilizando protocolos como HTTP. Los servidores HTTP pueden alojar aplicaciones web del lado del cliente o del servidor. Un servidor web local reside en una red local y puede accederse a través de la dirección de loopback.
Un servidor web es un programa que transfiere páginas web mediante el protocolo HTTP. Se ejecuta en un ordenador para responder a peticiones de clientes como navegadores web, enviando código HTML. Puede entregar aplicaciones web que se ejecutan en el lado del cliente o del servidor. Instalar un servidor web permite probar desarrollos locales de páginas web sin necesidad de hosting externo.
Un servidor web es un programa que transfiere páginas web mediante el protocolo HTTP. Se ejecuta en un ordenador esperando peticiones de clientes como navegadores web, a los que responde enviando código HTML o mensajes de error. Puede entregar aplicaciones del lado del cliente o del servidor. Instalar un servidor web en nuestro PC nos permite probar desarrollos locales pero requiere mantener el ordenador encendido continuamente.
HTML5 es la última versión del lenguaje HTML que define la estructura y el contenido de las páginas web. Aporta nuevas etiquetas, APIs y características como geolocalización, almacenamiento local, multimedia incorporado, gráficos 2D y 3D, y mejor rendimiento. Si bien mantiene la mayoría de etiquetas de HTML, HTML5 mejora la semántica, conectividad, rendimiento y acceso a dispositivos.
El documento resume la evolución de la web y las tecnologías asociadas a lo largo del tiempo. Explica cómo la web se ha convertido en un universo interconectado de aplicaciones, videos y contenido interactivo gracias al desarrollo continuo de estándares como HTML5 y CSS3. También describe brevemente los servicios web y cómo permiten el intercambio de datos entre aplicaciones a través de protocolos estandarizados.
WebRTC permitirá comunicaciones de voz y video nativas en los navegadores. La presentación describe WebRTC y HTML5, arquitecturas de red, retos técnicos como códecs y NAT, casos de aplicación como telcos y empresas, y una demo de TalkSetup. Gestión de identidad es crucial para la seguridad y privacidad de WebRTC.
Presentación del proyecto fin de carrera llamado:
Interfaz de Conversión y Anotación Multimedia.
En el se comenta los aspectos fundamentales para componer una plataforma de vídeos como pueda se youtube, pero ademas con anotaciones semánticas incrustadas en el propio vídeo.
El documento habla sobre los conceptos básicos del desarrollo de aplicaciones web, incluyendo las arquitecturas de dos y tres capas, lenguajes del lado del cliente como HTML y JavaScript, lenguajes del lado del servidor como PHP y ASP, procesamiento del lado del servidor, herramientas de desarrollo como IDEs, y consideraciones de seguridad para aplicaciones web.
Cómo incluir videoconferencia en tu web usando la tecnología WebRTC y servidores de media open source y comerciales. Se explora en más detalle OpenVidu, una plataforma de videoconferencias con ediciones open source y comerciales
El documento describe las nuevas características y capacidades de HTML5 como una plataforma para el desarrollo de juegos en la web, incluyendo nuevas API para almacenamiento, geolocalización, WebSockets y controladores de juegos. También recomienda bibliotecas como Processing.js que permiten el desarrollo de juegos visuales en HTML5 sin plugins. El documento concluye con una invitación a hacer preguntas y referencias adicionales sobre el tema.
El documento habla sobre HTML. Explica que HTML es un lenguaje de marcado que define la estructura y contenido básico de las páginas web. HTML ha tenido diferentes versiones a lo largo del tiempo para hacerlo más eficiente y compatible con diferentes dispositivos. Las nuevas versiones de HTML incorporan cambios que deben ser adoptados por los navegadores para poder interpretar correctamente las páginas web creadas con esas versiones.
El documento habla sobre HTML (Hypertext Markup Language), el lenguaje estándar para crear páginas web. Explica que HTML define la estructura básica y código para el contenido de una página como texto e imágenes. También describe las diferentes versiones de HTML y cómo han incorporado nuevas características para hacerlo más eficiente en diferentes plataformas.
Generación de web sites dinámicos usando phpvictdiazm
El documento describe las tecnologías disponibles para crear sitios web dinámicos, incluyendo PHP. Explica que un sitio web funciona con el modelo cliente-servidor y el protocolo HTTP. También describe cómo se pueden desarrollar aplicaciones del lado del cliente o del servidor, siendo esta última opción más recomendable. Finalmente, explica que PHP y otros lenguajes permiten crear aplicaciones dinámicas del lado del servidor de forma más eficiente que usar solo el protocolo CGI.
El documento describe las tecnologías disponibles para el desarrollo de aplicaciones web, incluyendo programación en el lado del cliente y del servidor. Explica que la programación del lado del servidor es más recomendable debido a problemas de compatibilidad entre navegadores. Detalla tres métodos de programación del lado del servidor: usando el protocolo CGI, APIs de servidores web, y módulos de servidores web, siendo este último el más eficiente y confiable.
Este documento describe los elementos básicos de Internet y la web, incluyendo cómo acceder a Internet de forma segura, los navegadores, complementos, extensiones, cookies, privacidad, direcciones IP, certificados y validación de identidades online. También cubre conceptos como el ancho de banda, computación en la nube, aplicaciones web, evolución del software libre y código abierto, y las ventajas de una web cada vez más rápida y con mejores herramientas.
El documento describe las tecnologías y herramientas para el diseño y desarrollo de sitios y aplicaciones web, incluyendo Macromedia Flash para crear contenido interactivo, Macromedia Dreamweaver como editor WYSIWYG, y el nuevo paradigma de las aplicaciones de internet ricas.
Este documento habla sobre la publicación de contenidos en la web. Explica que Tim Berners-Lee y Robert Cailliau establecieron el protocolo WWW para visualizar documentos de ordenadores remotos a través de Internet. Describe términos como servidor web, cliente, navegador web, URL, IP, DNS, HTTP y HTML. También cubre el funcionamiento básico de la web, lenguaje HTML, gestores de contenido, streaming y accesibilidad en la web.
Este documento habla sobre la publicación de contenidos en la web. Explica que Tim Berners-Lee y Robert Cailliau establecieron el protocolo WWW para visualizar documentos de ordenadores remotos a través de Internet. Describe términos como servidor web, cliente, navegador web, URL, IP, DNS, HTTP y HTML. También cubre el funcionamiento básico de la web, lenguaje HTML, gestores de contenido, streaming y accesibilidad en la web.
Desarrollo de una aplicación Web para organizar Eventos DeportivosAdrian Alonso Vega
Este documento describe el desarrollo de una aplicación web llamada WePlay para organizar eventos deportivos. Los objetivos del proyecto incluyen desarrollar un prototipo funcional de la aplicación web, implementar una API RESTful e integrarla con aplicaciones móviles. La aplicación se construyó usando Symfony, Twig, Bootstrap, MongoDB, Doctrine ODM y Pusher para funcionalidad en tiempo real. La API se securizó usando tokens y autenticación basada en WSSE. El proyecto ayudó a profundizar el conocimiento de los des
El documento describe los conceptos fundamentales de los servicios web HTTP, incluyendo el funcionamiento del protocolo HTTP, los métodos de petición y códigos de estado HTTP, y los sistemas de seguridad HTTPS y firma digital. También cubre conceptos clave como URL, servidores virtuales, y la arquitectura cliente-servidor de las aplicaciones web.
El documento habla sobre la arquitectura de una aplicación web, incluyendo el cliente, el navegador; el servidor, que acepta solicitudes HTTP y envía respuestas HTML/XML; y el protocolo HTTP. También describe el diálogo entre el cliente y el servidor, donde el cliente envía una petición al servidor a través de HTTP y el servidor devuelve el resultado en formato HTML.
Este documento describe diferentes tipos de tecnologías web, incluyendo tecnologías del lado del cliente y del servidor, arquitecturas de contenido estático y dinámico, estándares del lado del cliente como HTML y CSS, y tecnologías no estándar como Adobe Flash y Java Applets. Explica que las tecnologías web facilitan el desarrollo de sistemas de gestión del conocimiento y son flexibles, sencillas de usar e imitan la forma en que las personas comparten conocimiento.
Un servidor web es un programa que transfiere páginas web mediante el protocolo HTTP. Se ejecuta en un ordenador esperando peticiones de clientes como navegadores web, a los que responde enviando código HTML o mensajes de error. Puede entregar aplicaciones del lado del cliente o del servidor. Instalar un servidor web en nuestro PC nos permite probar desarrollos locales pero requiere mantener el ordenador encendido continuamente.
HTML5 es la última versión del lenguaje HTML que define la estructura y el contenido de las páginas web. Aporta nuevas etiquetas, APIs y características como geolocalización, almacenamiento local, multimedia incorporado, gráficos 2D y 3D, y mejor rendimiento. Si bien mantiene la mayoría de etiquetas de HTML, HTML5 mejora la semántica, conectividad, rendimiento y acceso a dispositivos.
El documento resume la evolución de la web y las tecnologías asociadas a lo largo del tiempo. Explica cómo la web se ha convertido en un universo interconectado de aplicaciones, videos y contenido interactivo gracias al desarrollo continuo de estándares como HTML5 y CSS3. También describe brevemente los servicios web y cómo permiten el intercambio de datos entre aplicaciones a través de protocolos estandarizados.
WebRTC permitirá comunicaciones de voz y video nativas en los navegadores. La presentación describe WebRTC y HTML5, arquitecturas de red, retos técnicos como códecs y NAT, casos de aplicación como telcos y empresas, y una demo de TalkSetup. Gestión de identidad es crucial para la seguridad y privacidad de WebRTC.
Presentación del proyecto fin de carrera llamado:
Interfaz de Conversión y Anotación Multimedia.
En el se comenta los aspectos fundamentales para componer una plataforma de vídeos como pueda se youtube, pero ademas con anotaciones semánticas incrustadas en el propio vídeo.
El documento habla sobre los conceptos básicos del desarrollo de aplicaciones web, incluyendo las arquitecturas de dos y tres capas, lenguajes del lado del cliente como HTML y JavaScript, lenguajes del lado del servidor como PHP y ASP, procesamiento del lado del servidor, herramientas de desarrollo como IDEs, y consideraciones de seguridad para aplicaciones web.
Cómo incluir videoconferencia en tu web usando la tecnología WebRTC y servidores de media open source y comerciales. Se explora en más detalle OpenVidu, una plataforma de videoconferencias con ediciones open source y comerciales
El documento describe las nuevas características y capacidades de HTML5 como una plataforma para el desarrollo de juegos en la web, incluyendo nuevas API para almacenamiento, geolocalización, WebSockets y controladores de juegos. También recomienda bibliotecas como Processing.js que permiten el desarrollo de juegos visuales en HTML5 sin plugins. El documento concluye con una invitación a hacer preguntas y referencias adicionales sobre el tema.
El documento habla sobre HTML. Explica que HTML es un lenguaje de marcado que define la estructura y contenido básico de las páginas web. HTML ha tenido diferentes versiones a lo largo del tiempo para hacerlo más eficiente y compatible con diferentes dispositivos. Las nuevas versiones de HTML incorporan cambios que deben ser adoptados por los navegadores para poder interpretar correctamente las páginas web creadas con esas versiones.
El documento habla sobre HTML (Hypertext Markup Language), el lenguaje estándar para crear páginas web. Explica que HTML define la estructura básica y código para el contenido de una página como texto e imágenes. También describe las diferentes versiones de HTML y cómo han incorporado nuevas características para hacerlo más eficiente en diferentes plataformas.
Generación de web sites dinámicos usando phpvictdiazm
El documento describe las tecnologías disponibles para crear sitios web dinámicos, incluyendo PHP. Explica que un sitio web funciona con el modelo cliente-servidor y el protocolo HTTP. También describe cómo se pueden desarrollar aplicaciones del lado del cliente o del servidor, siendo esta última opción más recomendable. Finalmente, explica que PHP y otros lenguajes permiten crear aplicaciones dinámicas del lado del servidor de forma más eficiente que usar solo el protocolo CGI.
El documento describe las tecnologías disponibles para el desarrollo de aplicaciones web, incluyendo programación en el lado del cliente y del servidor. Explica que la programación del lado del servidor es más recomendable debido a problemas de compatibilidad entre navegadores. Detalla tres métodos de programación del lado del servidor: usando el protocolo CGI, APIs de servidores web, y módulos de servidores web, siendo este último el más eficiente y confiable.
Este documento describe los elementos básicos de Internet y la web, incluyendo cómo acceder a Internet de forma segura, los navegadores, complementos, extensiones, cookies, privacidad, direcciones IP, certificados y validación de identidades online. También cubre conceptos como el ancho de banda, computación en la nube, aplicaciones web, evolución del software libre y código abierto, y las ventajas de una web cada vez más rápida y con mejores herramientas.
El documento describe las tecnologías y herramientas para el diseño y desarrollo de sitios y aplicaciones web, incluyendo Macromedia Flash para crear contenido interactivo, Macromedia Dreamweaver como editor WYSIWYG, y el nuevo paradigma de las aplicaciones de internet ricas.
Este documento habla sobre la publicación de contenidos en la web. Explica que Tim Berners-Lee y Robert Cailliau establecieron el protocolo WWW para visualizar documentos de ordenadores remotos a través de Internet. Describe términos como servidor web, cliente, navegador web, URL, IP, DNS, HTTP y HTML. También cubre el funcionamiento básico de la web, lenguaje HTML, gestores de contenido, streaming y accesibilidad en la web.
Este documento habla sobre la publicación de contenidos en la web. Explica que Tim Berners-Lee y Robert Cailliau establecieron el protocolo WWW para visualizar documentos de ordenadores remotos a través de Internet. Describe términos como servidor web, cliente, navegador web, URL, IP, DNS, HTTP y HTML. También cubre el funcionamiento básico de la web, lenguaje HTML, gestores de contenido, streaming y accesibilidad en la web.
Desarrollo de una aplicación Web para organizar Eventos DeportivosAdrian Alonso Vega
Este documento describe el desarrollo de una aplicación web llamada WePlay para organizar eventos deportivos. Los objetivos del proyecto incluyen desarrollar un prototipo funcional de la aplicación web, implementar una API RESTful e integrarla con aplicaciones móviles. La aplicación se construyó usando Symfony, Twig, Bootstrap, MongoDB, Doctrine ODM y Pusher para funcionalidad en tiempo real. La API se securizó usando tokens y autenticación basada en WSSE. El proyecto ayudó a profundizar el conocimiento de los des
El documento describe los conceptos fundamentales de los servicios web HTTP, incluyendo el funcionamiento del protocolo HTTP, los métodos de petición y códigos de estado HTTP, y los sistemas de seguridad HTTPS y firma digital. También cubre conceptos clave como URL, servidores virtuales, y la arquitectura cliente-servidor de las aplicaciones web.
El documento habla sobre la arquitectura de una aplicación web, incluyendo el cliente, el navegador; el servidor, que acepta solicitudes HTTP y envía respuestas HTML/XML; y el protocolo HTTP. También describe el diálogo entre el cliente y el servidor, donde el cliente envía una petición al servidor a través de HTTP y el servidor devuelve el resultado en formato HTML.
Este documento describe diferentes tipos de tecnologías web, incluyendo tecnologías del lado del cliente y del servidor, arquitecturas de contenido estático y dinámico, estándares del lado del cliente como HTML y CSS, y tecnologías no estándar como Adobe Flash y Java Applets. Explica que las tecnologías web facilitan el desarrollo de sistemas de gestión del conocimiento y son flexibles, sencillas de usar e imitan la forma en que las personas comparten conocimiento.
Similar a Cifrado de flujos de vídeo en HTML5 (20)
PRESENTACION TEMA COMPUESTO AROMATICOS YWillyBernab
Acerca de esta unidad
La estructura característica de los compuestos aromáticos lleva a una reactividad única. Abordamos la nomenclatura de los derivados del benceno, la estabilidad de los compuestos aromáticos, la sustitución electrofílica aromática y la sustitución nucleofílica aromática
1. Cifrado de flujos de v´ıdeo en HTML5
Manuel Mancera Jim´enez
M´aster en Telem´atica y Redes de Telecomunicaci´on
Universidad de M´alaga
17 de diciembre de 2014
Manuel Mancera Jim´enez (Univ. M´alaga) Cifrado de flujos de v´ıdeo en HTML5 17 de diciembre de 2014 1 / 13
2. Cifrado de flujos de v´ıdeo en HTML5
Contexto Tecnol´ogico
El uso de la web para el consumo de v´ıdeo esta creciendo a gran
velocidad. Cada dispositivo nuevo que sale al mercado es capaz de
reproducir contenido multimedia entregado mediante HTTP.
En 2013 el tr´afico de v´ıdeo es de un 66 %, en 2018 se estima un 79 %1
El 85 % de los usuarios de Internet ven v´ıdeo en la web.
Cada mes se consume 40 billones de contenido multimedia.
M´as del 80 % de los navegadores m´oviles y de escritorio implementan
el tag de <video> de HTML5.
El uso de la web para ofrecer pay per view est´a en crecimiento, a la
vez que se esta haciendo incapi´e en que se cumplan los derechos de
autor en los contenidos multimedia.
1
Sin incluir P2P
3. Cifrado de flujos de v´ıdeo en HTML5
Conceptos
Criptograf´ıa: Es la ciencia que estudia como mantener la seguridad
en los mensajes.
Autenticacion: Confirmaci´on de la identidad de un usuario. Seg´un la
RAE, dar f´e de un hecho o documento.
Autorizacion: Proceso que determina qu´e, c´omo y cu´ando un usuario
autenticado puede utilizar los recursos del sistema.
Digital Rights Management (DRM): Tecnolog´ıas que permiten a
los propietarios y proveedores de contenidos limitar el uso de medios o
dispositivos digitales.
Dynamic Adaptative Streaming over HTTP (DASH): T´ecnica
que permite streaming de calidad (seg´un disponibilidad) a trav´es de
Internet mediante un servidor HTTP.
4. Cifrado de flujos de v´ıdeo en HTML5
Tecnolog´ıas
HTML5
HTML5 es la quinta revisi´on del Lenguaje de Marcado de Hipertexto
(HTML) que se usa en la Web.
Encrypted Media Extensions: Es la API que permite la interacci´on
entre navegadores y sistemas de protecci´on de contenido.
Actualmente se es un borrador.
Media Source Extensions: Es una extensi´on para
HTMLMediaElement que permite un control m´as preciso sobre el
contenido multimedia a reproducir en el navegador.
Cross-origin resource sharing (CORS): Mecanismo que permite la
petici´on de recursos desde una p´agina web en un dominio a otro
dominio mediante JavaScript.
WebCrypto API: Define una API de bajo nivel para la interacci´on
con claves criptogr´aficas.
5. Cifrado de flujos de v´ıdeo en HTML5
Encrypted Media Extensions (EME)
EME
Est´a dise˜nado para poder permitir que la misma aplicaci´on y los archivos
cifrados puedan ser utilizado en cualquier navegador, independientemente
del sistema de protecci´on subyacente.
Componentes:
KeySystem: Mecanismo
de protecci´on.
CDM: Descifrado,
decodificaci´on y
reproducci´on del
contenido multimedia.
License Key Server:
Proporciona identificaci´on
del usuario e interacciona
con el CDM.
6. Encrypted Media Extensions (EME)
Content Decryption Module (CDM)
CDM
Es un t´ermino gen´erico para el componente del cliente que proporciona la
funcionalidad al sistema, incluyendo el descifrado, para uno o m´as sistemas
de clave.
Widevine: Mecanismo de
protecci´on para DRM de
Google.
PlayReady: Microsoft.
Adobe Access: DRM para
HTML5.
Fairplay: DRM de Apple.
Browser
EME and MSE
JS App
Widevide Server
License(s)
License(s)
request
License(s)
CDN
Encrypted video
CDM Wrapper
Widevine CDM
License(s)
License(s)
request
Encrypted
Frame
Decrypted
Frame
7. Cifrado de flujos de v´ıdeo en HTML5
Objetivos
Objetivo del proyecto
Ver las posibilidades que existen actualmente y desarrollar un sistema de
entrega de v´ıdeos cifrados bajo demanda usando unicamente HTML5.
¿Qu´e necesitamos?
Servidor web.
Servidor de aplicaciones: Django
Servidor de licencias.
Navegador que tenga implementado las tecnolog´ıas comentadas
anteriormente. En este caso usaremos Chrome
8. Cifrado de flujos de v´ıdeo en HTML5
Desarrollo
Servidor web:
Django. Servidor de aplicaciones en Python.
Contenido multimedia, entrega contenido multimedia al navegador
mediante el tag de video
P´aginas, servidas mediante el servidor de aplicaciones, contiene el
c´odigo HTML y JavaScript necesario para descifrar, reproducir e
interactuar con el servidor de claves.
Servidor de claves:
Recibe peticiones
HTTP desde el cliente
usando CORS
(JavaScript) y
responde a ellas con un
JSON.
Administra usuarios,
videos y claves desde
consola
9. Cifrado de flujos de v´ıdeo en HTML5
Funcionamiento del Sistema
Web server ClientKey Server
GET /page
Page with <video> tag and encrypted video
XMLHttpRequest() from JavaScript using HTML5 CORS to get the key
Json reponse with the key
Decrypt
the video with
JavaScript
(EME API)
Authenticate
User / Pass
Diagrama del funcionamiento del sistema
Cliente: Hace una
petici´on HTTP GET al
servidor web y una POST
al servidor de licencias.
Servidor de licencias:
Responde a la petici´on de
autenticaci´on devolviendo
la clave en caso
satisfactorio.
Servidor: Proporciona la
p´agina web y el contenido
multimedia cifrado.
10. Implementaci´on
Software utilizado
Servidor de aplicaciones:
Django. (Python)
IDEs:
Python: Ninja-IDE y nano.
JavaScript: SublimeText.
Servidor de licencias:
M´odulos usados en Python:
SimpleHTTPServer,BaseHTTPServer,json,optparse,hashlib,xml,logging
IDEs usados: Ninja-IDE y sublimeText.
Otras herramientas:
webm tools: Herramientas necesarias para trabajar con contenedores
webM.
FFmpeg: Herramienta para codificar v´ıdeo.
11. Implementaci´on
Python
M´odulos Python que se han usado
Servidor de licencias:
BaseHTTPServer: Clase para implementar servidores HTTP.
json: Clase para trabajar con JSON. Usada para crear el JSON que se
env´ıa con la clave del v´ıdeo, algoritmo y modo de cifrado. (JWK)
hashlib: M´odulo para trabajar con algoritmos de hash, usada para
almacenar las claves de los usuarios.
xml.etree.ElementTree: M´odulo para manejar XML.
logging: M´odulo para generar logs.
Otros m´odulos: sys, os y optparse.
12. Utilizaci´on del Sistema
Interfaces
Servidor web:
Instalar Django e iniciar con python manage.py runserver
Servidor de claves:
A˜nadir usuarios al sistema.
A˜nadir id de video y clave de descifrado al sistema.
Iniciar el servicio (o configurar el demonio e iniciarlo)
Cliente:
Configurar el cliente para usar EME, MSE, WebCrypto y CORS.
13. Cifrado de flujos de v´ıdeo en HTML5
Referencias
Propuesta EME. hhttp://www.w3.org/TR/encrypted-media/
Propuesta MSE. http://www.w3.org/TR/media-source/
Especificaci´on CORS. http://www.w3.org/TR/cors/
Recomendaci´on HTML5. http://www.w3.org/TR/html5/
Django Project. https://www.djangoproject.com/
WebM Project. http://www.webmproject.org/
Estimaciones de Cisco.
http://www.cisco.com/c/en/us/solutions/collateral/service-
provider/ip-ngn-ip-next-generation-network/white paper c11-
481360.html
Estado de implementaci´on HTML5 video en navegadores.
http://www.jwplayer.com/html5/