Esiste un modo per utilizzare la crittografia con chiave chiara per proteggere i flussi multimediali multimediali HTML5?

4

Sto cercando di capire EME con la crittografia Clear Key. Sto usando MP4Box. Dalla documentazione qui, si specificano le chiavi di decrittografia in un file XML che viene utilizzato per crittografare / decodificare i file mp4. link

Fondamentalmente, c'è un punto in EME con crittografia a chiave chiara ed è possibile utilizzarlo per proteggere il contenuto?

Da quanto ho capito, le chiavi di crittografia specificate in questo XML sono le chiavi che i client devono utilizzare sul front-end per decodificare gli stream audio / video HTML5. Ciò significa che, in qualsiasi momento, l'utente potrebbe utilizzare gli strumenti di sviluppo del browser per ottenere le chiavi.

Suppongo che potrei offuscare i tasti in qualche modo, ma chiunque con determinazione sarebbe ancora in grado di ottenere le chiavi.

L'altra cosa che potrei fare, è combinarla con i link di streaming che scadono, ma anche questo non proietterebbe le chiavi.

Penso che potresti anche ricodificare periodicamente i file multimediali, o crittografare il file più volte con chiavi diverse, ma non sembra che vada di pari passo. Avere una chiave di utilizzo 1 per ogni riproduzione sarebbe bello, ma, di nuovo, probabilmente orribilmente inefficiente.

Ecco un esempio di una configurazione XML per chiavi di crittografia specifiche:

<?xml version="1.0" encoding="UTF-8"?>
<GPACDRM type="CENC AES-CTR">
<!-- example for GPAC 'clear' DRM System - keys are listed after the     content and UL follows -->
<DRMInfo type="pssh" version="1" cypherOffset="9"    cypherKey="0x6770616363656E6364726D746F6F6C31"  cypherIV="0x00000000000000000000000000000001">
<BS ID128="6770616363656E6364726D746F6F6C31"/>
<BS value="2" bits="32"/>
<BS ID128="0x279926496a7f5d25da69f2b3b2799a7f"/>
<BS ID128="0x676cb88f302d10227992649885984045"/>
<BS bits="8" string="CID=Toto"/>
<BS ID128="0xccc0f2b3b279926496a7f5d25da692f6"/>
<BS ID128="0xccc0f2b3b279926496a7f5d25da692d6"/>
</DRMInfo>
<CrypTrack trackID="1" IsEncrypted="1" IV_size="16"  first_IV="0x0a610676cb88f302d10ac8bc66e039ed" saiSavedBox="senc">
<key KID="0x279926496a7f5d25da69f2b3b2799a7f" value="0xccc0f2b3b279926496a7f5d25da692f6"/>
<key KID="0x676cb88f302d10227992649885984045" value="0xccc0f2b3b279926496a7f5d25da692d6"/>
</CrypTrack>
</GPACDRM>
    
posta user1152226 08.06.2016 - 18:30
fonte

1 risposta

2

Il punto di EME con crittografia a chiave chiara è quello di fornire una crittografia più semplice da implementare per i contenuti che è leggermente più difficile da rubare e condividere. Se hai davvero bisogno di proteggere i tuoi contenuti, DRM è attualmente la soluzione più strong, ignorando lo scenario di non condividere il contenuto in primo luogo.

Sul facile da implementare e facile da bypassare è mettere una singola chiave non rotante nel master manifest e provare a controllare l'accesso al manifest. Una volta che un utente ottiene l'accesso al manifesto principale è tutto in bella vista e può essere condiviso apertamente con gli altri.

Più difficile da implementare e più difficile da bypassare è utilizzare la rotazione della chiave di breve durata su ciascun segmento e utilizzare URL con segno di vita breve. Ciò significa che un utente deve gestire chiavi diverse per segmenti diversi e scaricare i diversi segmenti con chiavi valide in modo tempestivo. Un utente può ancora riunire tutti i pezzi per rubare e condividere il contenuto ma non è più solo una copia e incolla.

THEOplayer ha un post leggermente più dettagliato sulle cose che ho menzionato qui se è ancora attivo e ti interessa link

    
risposta data 18.12.2017 - 21:41
fonte

Leggi altre domande sui tag