Panoramica delle chiavi

Media CDN utilizza coppie di chiavi di crittografia durante la firma delle richieste. Media CDN utilizza un set di chiavi per archiviare le coppie di chiavi utilizzate attivamente per firmare le richieste. Puoi avere 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 non utilizzate da un set di chiavi. L'aggiunta e la rimozione di una chiave è in genere denominata rotazione segreta. La rotazione dei secret consente di:

  • Aggiungi in modo sicuro nuovi secret a un set di chiavi aggiungendoli al set di chiavi.
  • Genera token con il secret corrispondente.
  • Rimuovi i vecchi secret alla scadenza del token meno recente possibile.

    Ad esempio, supponiamo che tu abbia impostato i token di breve durata in modo che scadano dopo un'ora. Quindi, rimuovi il secret meno recente utilizzato per i token di breve durata dopo che le nuove richieste hanno gestito gli utenti per una o più ore.

Prima di rimuovere un secret inutilizzato, verifica che non ne faccia riferimento o che non venga recuperato per firmare le richieste degli utenti sul tuo server delle applicazioni. La rimozione prematura di un secret da un set di chiavi impedisce a Media CDN di convalidare le richieste associate al secret. Agli utenti interessati viene inviata una risposta HTTP 403 Forbidden.

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

Come best practice, ruota le chiavi regolarmente.

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 token e le chiavi a cui fa riferimento Media CDN.

Le chiavi asimmetriche devono essere generate come coppie Ed25519, con una chiave privata a 512 bit (64 byte) e una chiave pubblica a 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 codificata in Base64 con una lunghezza di 44 byte (con padding) o 43 byte (senza padding). Sono accettati i formati Base64 sia riempiti che non riempiti.

  • La chiave pubblica deve essere codificata nel formato Base64 protetto per l'URL. La chiave privata può essere codificata nel formato standard Base64.

  • Avere una chiave privata corrispondente.

Che cosa succede dopo?