Crittografia video DRM

0

Ho avuto un lavoro in cui avevo bisogno di proteggere lo streaming. Quindi ho controllato tutte le protezioni DRM attualmente disponibili, e poi ho scoperto che avevo 3 opinioni, prima di usare DRM (Adobe) molto costoso che sarebbe costato fortuna, il secondo era quello di usare uno a buon mercato che richiedesse l'installazione di alcuni plugin di cattiva qualità e non ha supporto per tutti i browser e il terzo era di usare la codifica AES-128 che non è propriamente DRM, ma in grado di gestire alcune cose. Poi comincio a pensare, ed ecco cosa ho fatto.

Ho creato un server di streaming che: Crea una chiave separata per OGNI chunk in OGNI sessione, ciò significa che la chiave non si ripeterà mai. i pezzi sono relativamente piccoli 1 pezzo per 3 secondi. poi ho codificato la chiave per base64 e ottenuto 24 byte che erano esattamente 192 bit che è la stessa lunghezza di AES-192, Dopo ho spostato ogni byte per un numero specifico di spazi, per ogni carattere diverso turno e sostituito padding di 64 con alcuni caratteri casuali . Di conseguenza ho ottenuto un base64 non riconoscibile che sembra una chiave casuale. Poi dopo ho fatto retromarcia nel flash player. e di conseguenza ho ottenuto un buon funzionamento del giocatore. E cambiato giocatore a fingere aes 192 dalle informazioni della playlist m3u8.

Quindi fondamentalmente il sito è destinato a gruppi di persone di piccole dimensioni (circa 12 milioni di persone) e generalmente non ha contenuti di grande valore (video che sono preziosi per gli studenti). Ora, cosa ne pensi, qual è la possibilità per qualcuno di scoprire cosa è successo e come decifrare (in pratica credo che proveranno a decodificare prima come AES-192 a causa della lunghezza della chiave e delle informazioni m3u8)? Pensi che questo sia abbastanza sicuro per un budget basso nel paese con salari bassi?

    
posta Milos Radojevic 09.06.2015 - 12:15
fonte

2 risposte

5

Per prima cosa togliamo questo: DRM non è un problema risolvibile .

Semplicemente caricando il flash player in uno strumento di reverse engineering e leggendo il codice si rivelerà quello che hai fatto, e dal momento che stai dando loro la chiave che possono decifrare il video. È qualcosa che chiunque abbia familiarità con il reverse engineering di Flash potrebbe fare, ed è probabilmente qualcosa che potresti raccogliere da Google se hai una conoscenza generale del codice e dei concetti di sicurezza.

Se stai cercando qualcosa di più solido, puoi esaminare le soluzioni che utilizzano HDCP , che essenzialmente fornisce la crittografia end-to-end del contenuto fino al dispositivo di visualizzazione effettivo (ad esempio un monitor per computer). Tuttavia, ciò potrebbe limitare la tua base utente, poiché la funzione HDCP è stata progettata principalmente per l'uso in dispositivi come i lettori BluRay in cui i televisori supportano HDCP, piuttosto che in casi come i monitor di computer che potrebbero non farlo (anche se molti lo fanno).

Tutto sommato, devi solo decidere quanti sforzi vuoi mettere come deterrente. Se qualcuno vuole il tuo video, può catturarlo perfettamente usando un'applicazione di cattura dello schermo (es. Fraps) o sfruttare il foro analogico .

    
risposta data 09.06.2015 - 12:59
fonte
1

Questo è un progetto di "sicurezza per oscurità" che è sbagliato perché basato sulla segretezza del protocollo piuttosto che sulla segretezza di una chiave di crittografia. Finché c'è una motivazione a scaricare il flusso, qualcuno (specialmente gli studenti) lo interromperà. D'altra parte, se non vi è alcuna motivazione a scaricare il flusso, non c'è motivo per DRM.

Personalmente, penso che il DRM sia una cattiva idea e non funzionerà mai come dovrebbe (per esempio prevenire la pirateria). In tutti i casi in cui mi sono imbattuto in clienti o non mi interessa per DRM poiché non li disturba o trovano il loro modo di non-drm (pagati o meno) poiché non vogliono essere infastiditi dalle restrizioni imposte da DRM (come l'installazione di Silverlight o simili). In entrambi i casi, la pirateria non è impedita: il primo gruppo non sta per piratare mentre l'altro può, se il contenuto non è facilmente disponibile per un prezzo ragionevole senza DRM.

Parlando in termini di sicurezza - un DRM funziona solo se l'intera catena è protetta, quindi tutti i tuoi client da 12mil necessitano di dispositivi, SO, browser, schede grafiche e display abilitati al DRM e devi pagare DRM a qualcuno chi può garantire l'integrità dei suoi dati attraverso questa catena. Qualunque cosa in meno non è un DRM.

    
risposta data 09.06.2015 - 12:54
fonte

Leggi altre domande sui tag