Impedire la distribuzione non autorizzata

In questa pagina vengono descritte brevemente le opzioni offerte da Media CDN per contribuire a prevenire la distribuzione non autorizzata dei tuoi contenuti.

Media CDN supporta più opzioni di richieste firmate per aiutarti a proteggere i tuoi contenuti dalla distribuzione non autorizzata. Un token è un mezzo per lo scambio di richieste firmate, ad esempio un cookie firmato, un URI con parametri di ricerca o un componente del percorso. Vengono utilizzati token validi presentati dagli spettatori per autenticare l'accesso ai tuoi contenuti. Uno spettatore con un token non valido o un token mancante non può accedere ai tuoi contenuti.

Media CDN offre le seguenti opzioni di richieste firmate per l'autenticazione client:

  • Firme: Media CDN utilizza una singola firma per contribuire a proteggere i contenuti.

  • Token: Media CDN utilizza token per proteggere i contenuti. Puoi scegliere di utilizzare l'autenticazione con token singolo o con doppio token.

    Quando si utilizza l'autenticazione con doppio token, Media CDN utilizza due token, un token di breve durata e un token di lunga durata, per contribuire a proteggere i contenuti.

Le firme ti consentono di firmare l'URL completo, inclusi host e protocollo.

I token offrono le seguenti funzionalità:

  • Compatibilità con CDN non Google
  • Firma solo del percorso
  • Possibilità di firmare più di un'intestazione
  • Possibilità di incorporare dati arbitrari e ID di sessione

Ti consigliamo i token per le nuove integrazioni. I token sono necessari per l'autenticazione con doppio token.

Puoi utilizzare le richieste firmate e le richieste di autenticazione con doppio token insieme per proteggere i tuoi contenuti.

Come funzionano le richieste firmate

Una richiesta firmata utilizza firme o token per verificare che ogni visualizzatore sia autenticato per accedere ai contenuti. Puoi configurare Media CDN in modo che l'accesso abbia come ambito uno dei seguenti elementi:

  • Un URI esatto o un prefisso URI per un periodo di tempo limitato
  • Un cliente specifico
  • Per le richieste firmate che utilizzano token, fino a cinque percorsi con caratteri jolly

Per utilizzare le richieste firmate, generi chiavi per firmare e verificare le firme. Puoi quindi configurare le route, che ti consentono di ottimizzare il comportamento in base al tipo di contenuti, agli attributi del client e ai requisiti di aggiornamento. Le richieste firmate possono essere applicate in base alle singole route, il che consente di proteggere endpoint specifici.

Ogni servizio Media CDN può utilizzare una raccolta di più chiavi. La raccolta di chiavi è nota anche come set di chiavi. I set di chiavi consentono di ruotare le chiavi e di distribuire chiavi private all'interno della tua infrastruttura senza interruzioni.

Puoi configurare Media CDN in modo che utilizzi richieste o token firmati per proteggere i contenuti.

Per le richieste firmate che utilizzano le firme, puoi usare uno qualsiasi dei seguenti formati:

  • Un URI esatto con parametri di query: devi specificare un URLPrefix con l'URI esatto e aggiungere gli stessi parametri di ricerca a più URI.
  • Un prefisso URI con parametri di query: specifica un URLPrefix con un prefisso URI e aggiungi gli stessiparametri di ricercay a più URI.
  • Un componente del percorso: specifichi un componente del percorso, che consente agli URI manifest relativi di ereditare il componente URI firmato.
  • Un cookie firmato: specifichi un prefisso URI in un cookie, che consente l'accesso a qualsiasi URI con il prefisso da te specificato.

Per saperne di più, consulta Generare firme.

Per le richieste firmate utilizzando i token, puoi inserire il token in uno dei seguenti elementi:

  • In un parametro di query di tua scelta
  • In un cookie

Per ulteriori informazioni, consulta la sezione Generare token.

Come funziona l'autenticazione con doppio token

L'autenticazione con doppio token utilizza due token per autenticare le richieste ai tuoi contenuti: un token di breve durata per l'avvio della riproduzione e un token di lunga durata per il resto della sessione di riproduzione.

Per utilizzare l'autenticazione con doppio token, devi configurare il server delle applicazioni in modo che emetta token di breve durata agli user agent. Quindi, configurerai Media CDN in modo che risponda ai token di breve durata. Puoi inserire il token in un parametro di query di tua scelta oppure inserire il token in un cookie. Per maggiori informazioni, consulta Utilizzare l'autenticazione con doppio token.

I token di breve durata generati dal server delle applicazioni aiutano a proteggere i manifest primari (a volte chiamati playlist multivarianti). La scadenza della richiesta firmata è sufficientemente breve per richiedere un file manifest principale, ma non per tenere sotto controllo tutti i contenuti contenuti in un file manifest.

Quando Media CDN riceve una richiesta con un token di breve durata autorizzato, genera un token di lunga durata firmato. Puoi utilizzare il token in un parametro di query con un singolo nome o in un cookie. Il token di lunga durata supporta la visualizzazione di un programma completo. I token di lunga durata firmati generati da Media CDN utilizzano le firme Ed25519 con chiavi gestite da Google associate a una risorsa EdgeCacheKeyset.

Puoi personalizzare la scadenza dei token di breve e lunga durata. Come best practice, ti consigliamo di configurare la scadenza dei token di breve durata generati sul server delle applicazioni su un minuto. Devi impostare la scadenza dei token di lunga durata generati da Media CDN con una durata superiore a quella dei contenuti, fino a un massimo di un giorno.

Flusso di richiesta per l'autenticazione con doppio token

Di seguito viene descritto il flusso di richieste:

  1. Un visualizzatore richiede al tuo server delle applicazioni i metadati per i contenuti multimediali che vuole visualizzare. Il server delle applicazioni restituisce l'URI del manifest principale firmato con un token di breve durata.

  2. L'applicazione del player richiede il manifest principale a Media CDN. La richiesta include il token di breve durata come valore di un parametro di query URI nel formato del parametro di query con nome singolo.

  3. Media CDN verifica il token di breve durata e i parametri firmati del token.

    1. Se il token è valido, Media CDN crea un token di firma di lunga durata. Media CDN restituisce il token in un'intestazione Set-Cookie oppure modificando gli URI del manifest e del segmento nel manifest principale per includere il token.
    2. Se il token non è valido, Media CDN risponde con una risposta HTTP 403 Forbidden.
  4. L'applicazione player riceve il manifest principale da Media CDN, quindi richiede la playlist multimediale o i segmenti multimediali a cui viene fatto riferimento nel manifest principale. La richiesta deve includere il token di lunga durata, come cookie firmato o come parametro URI.

  5. Media CDN verifica il token di firma di lunga durata:

    1. Se il token di lunga durata è valido per la richiesta specifica, Media CDN pubblica i contenuti richiesti.
    2. Se il token di lunga durata non è valido (a causa di un token scaduto o di un percorso non valido), Media CDN risponde con una risposta HTTP 403 Forbidden.
  6. Il processo si ripete fino al termine della riproduzione dei contenuti multimediali o fino alla scadenza della firma di lunga durata.

Formati di token supportati per le richieste con firma con doppio token

Le richieste con firma con doppio token di Media CDN supportano più formati, a seconda del tipo di token.

Richieste con firma di breve durata

Per le richieste con firma di breve durata, Media CDN supporta i token firmati con firme Ed25519 per impostazione predefinita. Puoi anche utilizzare codici di autenticazione dei messaggi basati su hash (HMAC) a chiave simmetrica per la compatibilità con il codice dell'applicazione esistente e altre reti CDN.

Per utilizzare HMAC, devi utilizzare Secret Manager per archiviare il secret HMAC. Quindi concedi l'accesso all'account di servizio Media CDN per accedere al secret archiviato. Come best practice, ti consigliamo di utilizzare la firma asimmetrica con le firme Ed25519 per la sicurezza e le prestazioni.

L'account di servizio Media CDN è di proprietà del progetto Media CDN e non viene visualizzato nell'elenco degli account di servizio del progetto. L'account di servizio concede l'accesso solo alle risorse Media CDN nei progetti consentiti in modo esplicito.

L'account di servizio ha il seguente formato:

service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com

Dove PROJECT_NUMBER è il numero del tuo progetto.

Per attivare l'account di servizio Media CDN, crea almeno una risorsa Media CDN, ad esempio EdgeCacheOrigin.

Richieste con firma di lunga durata

Per le richieste con firma di lunga durata, Media CDN utilizza le firme Ed25519 firmate con chiavi gestite da Google associate a una risorsa EdgeCacheKeyset.

Media CDN supporta un formato a token singolo per i token di lunga durata, che può essere utilizzato in un parametro di query con nome singolo per flussi HLS o in un cookie.

Considerazioni

Le seguenti sezioni si occupano di argomenti quali:

Limiti URI

La maggior parte dei client HTTP moderni supporta URI di massimo 8000 caratteri. Tuttavia, alcuni dispositivi legacy o di nicchia potrebbero avere limiti più rigidi. In generale, un URI firmato aggiunge circa 125 caratteri all'URI della richiesta, che include quanto segue:

  • Se vengono utilizzati tutti i nomi dei campi, sono necessari circa 67 caratteri per ogni campo (ad esempio Expires= e KeyName=).
  • Per il timestamp Unix, 10 caratteri
  • Per KeyName, cinque caratteri
  • Per il valore Signature con codifica Base64, 43 caratteri

Come best practice, mantieni gli URI meno di 2000 caratteri utilizzando i parametri di query come token. Gli URI più brevi impediscono ai dispositivi di inviare URI troncati a Media CDN.

Dispositivi di streaming video legacy

Alcuni dispositivi di streaming video legacy potrebbero non supportare completamente il collegamento dei cookie alle richieste manifest o di segmenti multimediali. Se hai dispositivi con problemi noti che gestiscono i cookie HTTP, configura Media CDN in modo che utilizzi parametri di ricerca per le richieste firmate e lo scambio con doppio token.

Sei l'unico responsabile di qualsiasi consenso e conformità alla privacy richiesti quando utilizzi i cookie per scambiare token di breve durata. Quando Media CDN è configurato in modo da utilizzare richieste con doppio token, Google emette e gestisce i cookie utilizzati per i token di lunga durata.

Fatturazione

Per scoprire di più sulle modalità di fatturazione di Secret Manager, consulta la pagina relativa ai prezzi.

I recuperi di Media CDN per i secret vengono memorizzati internamente nella cache, riducendo in modo significativo la frequenza dei recuperi di secret da Secret Manager. I recuperi ridotti riducono anche notevolmente le percentuali di accessi osservati da Secret Manager e ti vengono addebitati i costi.

Per maggiori informazioni sulla memorizzazione nella cache dei secret in Media CDN, consulta Panoramica delle chiavi.