Impedire la distribuzione non autorizzata

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

Media CDN offre le seguenti opzioni per aiutarti a proteggere i tuoi contenuti dalla distribuzione non autorizzata.

  • Token (approccio consigliato): Media CDN utilizza i token per contribuire a proteggere i contenuti.

    Un token è un mezzo per scambiare richieste firmate, ad esempio un cookie firmato, un URI con parametri di query o un componente del percorso. Token validi presentati da gli spettatori vengono utilizzati per autenticare l'accesso ai tuoi contenuti. Uno spettatore con non è valido o non è stato possibile accedere ai tuoi contenuti a un token mancante.

    Puoi scegliere di utilizzare l'autenticazione con un solo token o con doppio token. I token sono obbligatori per l'autenticazione con doppio token.

    Quando viene utilizzata l'autenticazione con doppio token, Media CDN utilizza due token, uno di breve durata e uno di lunga durata.

    Google consiglia i token per le nuove integrazioni perché offrono i seguenti vantaggi:

    • Garantire la compatibilità con le reti CDN (Content Delivery Network) non Google.
    • Supporta la firma solo del percorso.
    • Attiva la firma di più intestazioni.
    • Offri un controllo e una revoca granulari degli accessi.
    • Riduci al minimo l'impatto dei token compromessi.
    • Può incorporare dati e ID sessione arbitrari.
  • Firme: Media CDN utilizza una singola firma per aiutarti per proteggere i contenuti. Le firme ti consentono di firmare l'URL completo, incluso l'host e il protocollo.

Puoi utilizzare entrambe le opzioni insieme per proteggere i tuoi contenuti.

Come funziona l'autenticazione con doppio token

L'autenticazione con doppio token utilizza due token per autenticare le richieste al tuo content: 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 emettono token di breve durata agli user agent. Poi devi configurare Media CDN per rispondere 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 ulteriori informazioni, vedi Utilizzare l'autenticazione con doppio token.

I token di breve durata generati dal server delle applicazioni aiutano a proteggere i token (a volte chiamate playlist multivariante). La data di scadenza della richiesta firmata è sufficientemente breve per richiedere un manifest principale, ma non per guardare tutti i contenuti contenuti in un manifest.

Quando Media CDN riceve una richiesta con un'autorizzazione di breve durata viene generato un token di lunga durata firmato. Puoi utilizzare il token in parametro di query con un singolo nome o in un cookie. Il token di lunga durata supporta la visualizzazione di un programma integrale. I token di lunga durata firmati generate da Media CDN, usano le firme Ed25519 firmate Le chiavi gestite da Google associate a un token EdgeCacheKeyset risorsa.

Puoi personalizzare la data e l'ora di scadenza dei token di durata breve e lunga. Come best practice, Google consiglia di configurare la scadenza di breve durata generati sul server delle applicazioni a un minuto. Devi impostare la data e l'ora di scadenza dei token a durata lunga generati da Media CDN su una durata maggiore della lunghezza 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 i metadati dal server dell'applicazione per i contenuti multimediali che vuole visualizzare. Il server dell'applicazione restituisce l'URI del file manifest principale firmato con un token di breve durata.

  2. L'applicazione del player richiede il file manifest principale da 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 un solo nome.

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

    1. Se il token è valido, Media CDN crea una durata token di firma. Media CDN restituisce il token in un'intestazione Set-Cookie o modificando gli URI manifest e dei segmenti nel manifest principale in modo da includere il token.
    2. Se il token non è valido, Media CDN risponde con un Risposta HTTP 403 Forbidden.
  4. L'applicazione del player riceve il manifest principale da Media CDN, quindi richiede la playlist multimediale o i segmenti multimediali a cui fa riferimento il 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 gestisce i contenuti richiesti.
    2. Se il token di lunga durata non è valido (a causa di un token scaduto o 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 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 firmate di breve durata, Media CDN supporta per impostazione predefinita i token firmati con firme Ed25519. Puoi anche utilizzare i codici HMAC (Hash-based Message Authentication Code) con chiave simmetrica per la compatibilità con il codice dell'applicazione esistente e con altre CDN.

Per utilizzare gli HMAC, utilizza Secret Manager per archiviare il secret HMAC. Quindi concedi l'accesso a Media CDN per accedere al secret archiviato. Come best practice, Google consiglia di utilizzare la firma asimmetrica con le firme Ed25519 per la sicurezza e le prestazioni.

L'account di servizio Media CDN è di proprietà del Media CDN e non viene visualizzato nell'elenco di account di servizio. L'account di servizio concede l'accesso solo alle risorse Media CDN nei progetti che consenti esplicitamente.

L'account di servizio ha il seguente formato:

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

dove PROJECT_NUMBER è il numero del progetto.

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

Richieste firmate di lunga durata

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

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

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 sia limitato a uno dei seguenti elementi:

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

Per utilizzare le richieste firmate, devi generare chiavi per firmare e verificare le firme. Tu e poi configurare le route, che ti consentono di ottimizzare il comportamento in base al tipo contenuti, attributi client e requisiti di aggiornamento. Le richieste firmate possono essere applicate a livello di singola route, il che aiuta a 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 ti consentono ruotare le chiavi e distribuire le chiavi private all'interno della tua infrastruttura senza un'interruzione del servizio.

Puoi configurare Media CDN in modo che utilizzi richieste firmate per proteggere i contenuti.

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

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

Per ulteriori informazioni, consulta la sezione Generare token.

Per le richieste firmate con firme, puoi utilizzare uno dei seguenti formati:

  • Un URI esatto con parametri di query: specifica un URLPrefix con l'URI esatto e aggiungi gli stessi parametri di query a più URI.
  • Un prefisso URI con parametri di query: devi specificare un URLPrefix con un URI e aggiunge gli stessi parametri di ricerca a più URI.
  • Un componente del percorso: specifica 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 di accedere a qualsiasi URI con il prefisso specificato.

Per ulteriori informazioni, vedi Generare firme.

Considerazioni

Le seguenti sezioni discutono i vari fattori da prendere in considerazione per aiutarti impedire la distribuzione non autorizzata dei contenuti.

Considerazioni sulla sicurezza

Media CDN convalida tutte le richieste che corrispondono a una route configurata con un oggetto cdnPolicy.signedRequestMode di REQUIRE_SIGNATURES o REQUIRE_TOKENS.

Ti consigliamo di convalidare le richieste all'origine. Sebbene Media CDN rifiuta le richieste non valide e non firmate per una route che richiede le firme, i clienti potrebbero trovare un modo per accedere direttamente alla tua origine. Un un ulteriore livello di convalida aiuta a fornire un approccio di difesa in profondità proteggendo i tuoi contenuti.

La tabella seguente spiega gli scenari in cui Media CDN convalida una richiesta:

La richiesta ha la firma Firma valida? signedRequestMode Comportamento Codice di stato
No N/D REQUIRE_SIGNATURES o REQUIRE_TOKENS Le richieste senza firme o token vengono trattate come se la firma non fosse valida. HTTP 403
No REQUIRE_SIGNATURES o REQUIRE_TOKENS Una firma o un token sono considerati non validi se sono scaduti o presentano un un URL non corrispondente o una chiave errata. Le firme o i token non validi vengono rifiutati all'edge della CDN. HTTP 403
REQUIRE_SIGNATURES o REQUIRE_TOKENS Viene convalidata una firma o un token e la risposta viene fornita con dalla cache o dall'origine. HTTP 200
Nessuno o DISABLED Non viene eseguita alcuna convalida e viene inviata una risposta all'utente. . HTTP 200
No Nessuno o DISABLED Non viene eseguita alcuna convalida e viene inviata una risposta all'utente. . HTTP 200

Quando la tua applicazione rileva una firma non valida, assicurati che il tuo applicazione risponde con un codice di stato HTTP 403 (Forbidden). I codici di stato HTTP 403 non sono memorizzabili nella cache.

Se la tua applicazione invia un codice di stato memorizzabile in cache a una richiesta non valida, le richieste future valide potrebbero essere rifiutate erroneamente.

Limiti URI

La maggior parte dei client HTTP moderni supporta URI con una lunghezza massima di 8000 caratteri. Tuttavia, alcuni dispositivi legacy o di nicchia potrebbero avere limiti più rigidi. In genere, un URI firmato aggiunge circa 125 caratteri all'URI della richiesta, tra cui:

  • Se vengono utilizzati tutti i nomi di campo, 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 di lunghezza inferiore a 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 precedenti potrebbero non supportare completamente il collegamento dei cookie a da richieste di file manifest o segmenti multimediali. Se hai dispositivi con problemi noti gestione dei cookie HTTP, configura Media CDN per l'utilizzo parametri di ricerca per le richieste con firma e lo scambio con doppio token.

Sei l'unico responsabile del consenso e della conformità alla privacy richiesti quando usando i cookie per scambiare token di breve durata. Se Media CDN configurate per l'utilizzo di richieste con doppio token, Google emette e gestisce i cookie usati per i token di lunga durata.

Fatturazione

Per scoprire di più su come Secret Manager viene fatturato, consulta la sezione Prezzi.

I recuperi di Media CDN per i secret vengono memorizzati internamente nella cache, in modo significativo riducendo la frequenza dei recuperi dei secret da Secret Manager. I recuperi ridotti riducono anche in modo significativo le frequenze di accesso rilevate e fatturate da Secret Manager.

Per ulteriori informazioni sulla memorizzazione nella cache delle chiavi segrete in Media CDN, consulta la Panoramica delle chiavi.