Panoramica delle chiavi

Media CDN utilizza coppie di chiavi crittografiche per la firma delle richieste. Media CDN utilizza un set di chiavi per memorizzare le coppie di chiavi attivamente utilizzate per firmare le richieste. Puoi specificare fino a tre chiavi pubbliche e tre chiavi condivise di convalida, per un totale di sei chiavi per set di chiavi.

Puoi anche rimuovere le chiavi inutilizzate da un insieme di chiavi. L'aggiunta e la rimozione di una chiave è in genere chiamata rotazione dei secret. La rotazione dei secret ti consente di svolgere le seguenti operazioni:

  • Aggiungi in sicurezza nuovi secret a un set di chiavi aggiungendoli al set.
  • Genera i token con il secret corrispondente.
  • Rimuovi i vecchi secret dopo la scadenza del token più vecchio possibile.

    Ad esempio, supponiamo che tu abbia impostato la scadenza dei token di breve durata dopo un'ora. Dopodiché, rimuovi il secret più vecchio utilizzato per i token di breve durata dopo che le nuove richieste sono state inviate agli utenti per una o più ore.

Prima di rimuovere un secret inutilizzato, verifica che non venga fatto riferimento o recuperato per firmare le richieste degli utenti sul server delle applicazioni. La rimozione prematura di un secret da un set di chiavi impedisce a Media CDN di convalidare le richieste associate a quel secret. Gli utenti interessati ricevono una risposta HTTP 403 Forbidden.

Per ottimizzare le prestazioni, l'affidabilità e il costo degli accessi simultanei a Secret Manager, i secret delle chiavi di convalida condivise vengono memorizzati nella cache per un massimo di un'ora. La memorizzazione nella cache dei secret può comportare l'accesso continuo ai token dopo l'eliminazione di un secret da Secret Manager per un massimo di un'ora.

Come best practice, ruota regolarmente le chiavi.

Limitazioni note

Media CDN rifiuta le richieste firmate con le firme simmetriche utilizzate da Cloud CDN con una risposta HTTP 403. Al momento Media CDN supporta le chiavi simmetriche con richieste che utilizzano il formato del token e le chiavi a cui fa riferimento Media CDN.

Le chiavi asimmetriche devono essere generate come coppie Ed25519, con una chiave privata di 512 bit (64 byte) e una chiave pubblica di 256 bit (32 byte). La libreria Tink supporta la generazione, la firma e la convalida delle firme Ed25519 con C++, Go, Java e Objective-C.

Le chiavi asimmetriche devono avere le seguenti caratteristiche:

  • Essere codificato in base64 con una lunghezza di 44 byte (con padding) o 43 byte (senza padding). Sono accettate sia le forme con padding che quelle senza padding di base64.

  • La chiave pubblica deve essere codificata in formato base64 sicuro per URL. La chiave privata può essere codificata in formato base64 standard.

  • Avere una chiave privata corrispondente.

Passaggi successivi