Streaming Video Cifrato — HLS AES-128 Multi-chiave Spiegato

Streaming Video Cifrato su AVCaption

Ogni video caricato su AVCaption viene cifrato prima di toccare un edge CDN. La decifratura in riproduzione avviene lato client nel browser tramite Web Crypto API, e le chiavi sono consegnate via URL firmati di breve durata legati al tuo dominio.

Questa pagina ripercorre cosa accade davvero a ogni passo.

La pipeline di cifratura

Quando carichi un video su AVCaption:

  1. Codifica GPU — il file sorgente viene codificato in varianti HLS a bitrate adattivo (360p, 540p, 720p, 1080p, 4K) con NVIDIA NVENC.
  2. Segmentazione — ogni variante viene tagliata in segmenti HLS, tipicamente da 6 secondi.
  3. Cifratura per batch — i segmenti sono raggruppati in batch da 10 (60 secondi di riproduzione). Ogni batch riceve una chiave AES-128 appena generata.
  4. Upload CDN — i segmenti cifrati vengono caricati su Cloudflare R2 e serviti tramite la CDN globale CF con cache aggressiva.
  5. Key vault — le chiavi di cifratura sono memorizzate separatamente, mai sulla CDN, mai con i segmenti.

Quando uno spettatore preme play:

  1. Richiesta token — il player chiede un token di riproduzione a /api/stream/{embed_token}/token. Il server verifica l’embed token, il dominio richiedente (contro la tua whitelist) e i rate limit.
  2. Master playlist — il player recupera la .m3u8 master HLS e seleziona una variante in base alla banda.
  3. Recupero chiave per batch — per ogni batch di segmenti che gli serve, il player richiede la chiave corrispondente a /api/stream/{embed_token}/key/{batch}. Ogni URL di chiave è firmato col token di riproduzione e valido solo per quella sessione.
  4. Decifratura lato client — la Web Crypto API del browser decifra i segmenti in memoria e li passa all’elemento video. Le chiavi non vengono persistite su disco.

Perché il multi-chiave conta

La cifratura a chiave singola (modello semplice di molte piattaforme) significa: un video, una chiave, un URL. Se quell’URL trapela, l’intero video è decifrabile per sempre.

La cifratura multi-chiave per batch significa: un video, molte chiavi, molti URL di breve durata. Se trapela un URL, è esposto solo quel batch (circa 60 secondi di filmato). Il batch successivo richiede una nuova richiesta di chiave, che chi ha fatto trapelare non può fare senza un token di riproduzione fresco.

Questo alza nettamente il costo della pirateria. I tool di rip automatici che funzionano contro piattaforme a chiave singola (varianti di yt-dlp, downloader come estensione browser) andrebbero riprogettati per ogni target multi-chiave — e quasi nessuno si prende la briga.

Token di riproduzione firmati

Ogni embed token porta metadata:

  • Origini consentite (la tua whitelist di domini)
  • Identificatore di spettatore opzionale (usato per il watermark dinamico in Enterprise)
  • Finestra di scadenza (default 24 ore)
  • Suggerimenti di rate limit

La chiave di firma sta solo sul server. I token contraffatti falliscono la verifica al momento della richiesta.

Se servi contenuti gated (solo membri, accesso ai corsi), la tua applicazione genera un embed token nuovo per ogni sessione autenticata, così il token scade quando la sessione scade. La REST API di AVCaption espone la generazione di embed token per i clienti Enterprise.

Whitelist dei domini

Per default ogni iframe di embed accetta solo hotlinking — il browser invia un header Referer con l’origine di embedding, e la stream API di AVCaption valida quell’origine contro la tua whitelist prima di emettere la master playlist.

Su Premium ed Enterprise specifichi esattamente quali domini sono ammessi. Chi incorpora l’iframe su un dominio non in whitelist riceve subito un 403.

È il livello dove si ferma la maggior parte della pirateria: gli scraper che prendono il tuo URL iframe e lo incorporano su un altro sito ricevono semplicemente un 403 e il player non si carica mai.

Confronto con altre piattaforme

Approccio Esempi Forza Quando va bene
Solo URL firmate Wistia, path CF Stream base Più debole — video intero decifrabile se l’URL viene catturato Video marketing, basso rischio pirateria
AES-128 a chiave singola Bunny Stream, path cifrati CF Stream Forte contro l’hotlinking casuale; una chiave + token catturati decifrano tutto il video Contenuto gated casuale
AES-128 multi-chiave AVCaption Chiavi rotanti per batch — una chiave catturata espone solo ~60 secondi Contenuto a pagamento auto-prodotto
DRM Widevine / PlayReady VdoCipher, JW Player Enterprise Più forte — license server hardware-bound; richiesto per contenuti su licenza studio DRM imposto da contratto

Per corsi, tutorial gated, contenuti membership a pagamento, formazione B2B e video interni, AES-128 multi-chiave è il giusto compromesso. Il DRM è eccessivo, la chiave singola troppo sottile. La breakdown completa DRM vs cifratura copre la decisione.

Per iniziare

Vuoi vedere i segmenti cifrati in azione? Carica un video di test — bastano i primi 60 secondi. Apri DevTools, guarda volare le richieste .m3u8 e .m4s, e prova yt-dlp contro l’URL embed: i segmenti scendono cifrati e non riproducibili senza le chiavi rotanti per batch. Il free tier spedisce lo stack multi-chiave completo su ogni video; la cifratura è attiva di default, nessun toggle necessario.

Domande frequenti

Quale standard di cifratura usa AVCaption? +
AES-128 (Advanced Encryption Standard, chiave a 128 bit) applicato a livello di segmento HLS. Lo stesso standard dell'online banking e dei principali servizi di streaming. AVCaption ruota le chiavi per batch di segmenti (tipicamente ogni 10 segmenti); una chiave trapelata espone solo una finestra di 60 secondi.
AES-128 basta o serve il DRM (Widevine/PlayReady)? +
Per contenuti autoprodotti (corsi, tutorial, formazione B2B, video interni, membership a pagamento) basta AES-128 multi-chiave più URL firmati e whitelist dei domini. Il DRM serve quando si distribuiscono contenuti su licenza studio per obbligo contrattuale.
Uno spettatore può estrarre la chiave di cifratura dal browser? +
La chiave viene consegnata al player tramite URL firmato valido per una sessione di riproduzione. Un attaccante determinato può intercettarla via dev tool, ma quella chiave decifra solo un piccolo batch di segmenti. La rotazione multi-chiave di AVCaption fa sì che estrarre l'intero video richieda di catturare una chiave nuova per ogni batch, in ogni sessione — rendendo costosa la pirateria automatizzata.
← content.back_to_index