plataformes de publicació i distribució - pac3

8
PAC 3 Plataformes de publicació i distribució Jaume Reig Carrascosa, maig de 2015

Upload: jaume-reig

Post on 05-Sep-2015

11 views

Category:

Documents


0 download

DESCRIPTION

PAC3 de l'assignatura Plataformes de publicació i distribució de la UOC

TRANSCRIPT

  • PAC 3

    Plataformes de publicaci i distribuci

    Jaume Reig Carrascosa, maig de 2015

  • 2Activitat 1.1 - Autenticaci

    Activitat 1.2 - Geolocalitzaci

    Activitat 1.3Comenta els passos realitzats en aquest exercici i adjunta el resultat dels punts anteriors en un .zip.

    Es pot veure el resultat dins de lestructura de directoris de la PAC3:

    Exercici 1 -> Exercici 1.1 Executant laxiu index.html

    Es pot veure el resultat dins de lestructura de directoris de la PAC3:

    Exercici 1 -> Exercici 1.2 Executant laxiu index.html

    Es pot veure el resultat dins de lestructura de directoris de la PAC3:

    Exercici 1 -> Exercici 1.2 Executant laxiu index.html

    Es crea un formulari simple HTML per validaci dusuari i contrasenya.

    El bot del formulari crida la funci check(form)

    Aquesta funci t uns condicionals:

    function check(form) { if (form.id.value==user) { if (form.pass.value==pass) { setCookie(auth, true, 365); location=video1.html ; } else { setCookie(auth, false, 365); alert(Invalid Password); } } else { alert(Invalid UserID); }}

    Passos:

  • 3Si les dades coincideixen crida la funci setCookie() i aquesta una crida a la funci getCookie() que crea una cookie amb el nom auth el valor true i data dexpiraci 365 dies.

    function setCookie(c_name, value, expire) { var exdate=new Date(); exdate.setDate(exdate.getDate()+expire); document.cookie = c_name+ = +escape(value) + ((expire==null) ? : ;expires=+exdate.toGMTString());}function getCookie(c_name) { if (document.cookie.length > 0 ) { c_start=document.cookie.indexOf(c_name + =); if (c_start != -1){ c_start=c_start + c_name.length+1; c_end=document.cookie.indexOf(;,c_start); if (c_end == -1) { c_end=document.cookie.length; } return unescape(document.cookie.substring(c_start,c_end)); } } return ; }

    Mostra com sha creat una cookie amb nom auth i valor true, quan les dades dautenticaci sn correctes.

    Si la funci checkAuth() s igual a true llavors deixa veure el vdeo des de la pgina video1.html.

    function checkAuth(){ if (getCookie(auth) == true){ return true; }else{ return false; }}

  • 4En el cas de la geolocalitzaci, la funci de la capalera del index.html initialize() comparar la nostra IP en funci del pais i estableix una cookie amb el nom de loc i valor el codi del pais. En el nostre cas ES, que ser validada per la funci checkLoc()

    function initialize() { $.getJSON(http://ipinfo.io/json, function(data) { setCookie(loc, data.country, 365); }); }

    function checkLoc(){ if (getCookie(loc) == ES){ return true; }else{ return false; }}

    Activitat 1.4Proposa breument una alternativa dautenticaci i geolocalitzaci que siguin vlids per a producci.

    Podrem utilitzar diverses tecnologies, mtodes i programaris propietaris com Adobe amb el seu Flash Media Server, Microsoft Silverlight, o el protocol RTSP entre daltres . Jo en aquest cas per aix em decantaria per utilitzar el protocol HLS (HTTP Live Streaming) desenvolupat per Apple i alliberat no fa massa. Amb aquesta tecnologia podem servir vdeo sota demanada VOD (Video On Demand) utilitzant un servidor convencional (per exemple un servidor http Apache).

    Qu s HLS?

    s bsicament un protocol que funciona amb http o https (encriptat) indistintament, i que ens permet la distribuci de media tant en temps real (streaming) com vdeo sota demanda VOD, o sigui vdeo emmagatzemat per a servir als clients.

    Com funciona i en qu consisteix?

    El protocol HLS no es limita a cap codificaci de vdeo en concret, tot i aix i segons el seu creador (Apple) es recomana codificaci MPEG-2 amb H.264 per vdeo i AAC per udio.

    Una estructura simple HLS pot ser:

    Encoder StreamSegmenter

    .ts.ts

    .ts

    SERVIDOR streaming Distribuci

    Index file

    HTTPUsuari

  • 5Larxiu index (s el Playlists) amb extensi .M3U8 que cont la informaci de tots els segments del vdeo amb extensi .ts. El reproductor sencarrega de reconstruir el video a partir daquests arxius.

    Aix doncs la meva soluci esquemtica proposada per autenticaci i geolocalitzaci utilitzant el protocol HLS seria:

    ServidorAutenticaci

    Usuari ServidorStreaming

    Usuari fa petici de vdeo identificant-se amb user i password

    Aquest, en cas que user i password siguin correctes i que la IP de la petici sigui de la zona geogrfica permesa, retornar un link amb el token dautenticaci

    Mitjanant el link amb el token dautenticaci es demana el flux de dades del vdeo al servidor streaming.

    Aquest consulta al servidor dautenticaci si s correcte que resoldr mitjanant la clau privada

    Si s correcte senvia un codi destat http 200 OK

    Aquest envia al mateix temps codi destat http 200 OK i assigna una cookie de sessi a lusuari

    Lusuari comena a rebre el flux de dades i reproduir-se (reprodueix les dades que ja t en emmagatzemades en cach)

    Quan el servidor ha entregat totes les dades, li torna a enviar estat 200

    s clar que per lautenticaci dusuari no podrien emprar un llenguatge de programaci de client com Javascript i haurien de fer-ho amb un de servidor com per exemple PHP.

    En cas que lusuari tanqus a mig fer el navegador, aquest perdria la sessi i hauria de tornar a identificar-se generant-se un nou link amb un nou token dautenticaci i validant novament la IP del usuari (aix es faria consultant bases de dades dubicacions IP i permetent o denegant servei segons IP).

    El punt ms debil del sistema s la clau privada que s fixe per tota la sessi, pel que si hi ha alguna filtraci tot el contingut desxifrat quedaria exposat.

  • 6Activitat 2.1 Busca la documentaci, a la web de Microsoft PlayReady, i comenta breument quins passos se segueixen per preparar un contingut per a la seva distribuci.

    Exercici 2: Solucions comercials DRM

    Primer de tot crec s important explicar una mica que s PlayReady i perqu serveix. PlayReady s tot un sistema desenvolupat per Microsoft i enfocat bsicament a ajudar a distribudors a distribuir aquests mitjanant un sistema que sigui segur i que restringeixi laccs a aquests continguts. O sigui PlayReady s un DRM (Digital Rights Management) i s levoluci de lantic model de Microsoft Windows Media DRM.

    El sistema de PlayReady protegeix els arxius mitjanant el xifrat de dades. Com que els arxius estan xifrats, no fa falta protecci addicional. PlayReady funciona com un sistema de dominis i llicncies. Aix s important, ja que aquestes llicncies defineixen com es podran utilitzar els arxius i sota quines condicions. Per exemple es pot fer que una llicncia estigui lligada a una mquina o a un reproductor nic en concret, o que noms dins dun domini es puguin visualitzar certs continguts.

    Els principals elements de lestructura de PlayReady sn:

    Servidors dempaquetament de continguts: recullen els continguts sense protecci i els empaqueten, copiant-los i xifrant-los al servidor de distribuci. La informaci de llicncies es transmet al servidor de llicncies.

    Servidors de distribuci: Emmagatzemen i distribueixen els continguts.

    Controladors de domini: Controlen tot el que fa referncia als dominis.

    Servidors de llicncies: Emmagatzemen la informaci i protecci dels drets dutilitzaci dels continguts.

    Comptadors: Conten les vegades que es reprodueixen i es descarrega continguts.

    Grfic que mostra com funciona el sistema de PlayReady. Extret de la pgina oficial de Microsoft. https://www.microsoft.com/playready/licensing/faq/

  • 7Activitat 2.1 Descriu, tamb breument, quins sn els passos que se segueixen perqu el destinatari pot visualitzar el vdeo preparat en lactivitat anterior.

    Aix doncs els passos a seguir per a preparar continguts per la seva distribuci sn:

    1. Abans que el contingut pugui ser distribut per la reproducci, aquests han codificar-se i encriptar-se per a protegir-los.

    El codificador fa el segent:

    - Codifica el media

    - Encripta el resultat del media codificat i guarda la clau dencriptaci en el servidor de llicncies.

    - Afegeix una capalera al media. Aquesta capalera cont els drets de reproducci, s, etc.. i la clau pblica dencriptaci.

    2. Els paquets de media codificats senvien al servidor de distribuci per a poder-los distribuir als clients

    Grfic extret de la documentcai oficial de Microsoft. PlayReady_Content_Protection White paper.doc

    Lgicament primer de tot haurien de ser clients de PlayReady i seguir els passos de lactivitat anterior. Codificar els continguts, encriptar i enviar la llicncia encriptada al servidor de llicncies. (En documentaci de PlayReady recomanen fer servir en el cas de vdeo per web en HTML5 la utilitat que proporcionen als clients PlayReady Device Porting Kit). (Sincerament no mha quedat clar si podem fer servir els nostres prpis servidors o si hem de posar els arxius en els servidors de distribuci de PlayReady obligatriament)

    Aix doncs suposem que ja tenim els arxius codificats, xifrats i amb la llicncia a disposici del servidor de llicncies de PlayReady, els passos que seguiria internament un usuari per a visualitzar un vdeo serien:

    1. En resposta a la petici dun client el servidor de distribuci envia el vdeo. En la capalera del vdeo hi ha la informaci de la llicncia especfica amb la clau pblica.

    2. Aquesta capalera amb un identificador nic i amb clau pblica s enviada al servidor de llicncies, que fa el segent:

    - Autentifica el dispositiu

  • 8Jaume Reig Carrascosa

    Maig de 2015

    - Executa la lgica de negoci segons la llicncia per estar segur que el dispositiu pot executar el recurs

    - Construeix dinmicament les poltiques ds per recurs en concret per tal de mostrar-lo al client. Tamb inclou la clau per al recurs.

    - Encripta la llicncia amb la clau pblica del client.

    - Envia la llicncia resultant al client.

    3. Quan el client rep la llicncia i la desencripta utilitzant la seva clau privada, podr utilitzar el recurs segons les poltiques especfiques establertes pel recurs.