Schlüsselübersicht

Media CDN verwendet beim Signieren von Anfragen kryptografische Schlüsselpaare. Media CDN verwendet ein Keyset zum Speichern von Schlüsselpaaren, die aktiv zum Signieren von Anfragen verwendet werden. Sie können bis zu drei öffentliche Schlüssel und drei freigegebene Validierungsschlüssel haben, also insgesamt sechs Schlüssel pro Schlüsselsatz.

Sie können auch nicht verwendete Schlüssel aus einem Schlüsselsatz entfernen. Das Hinzufügen und Entfernen eines Schlüssels wird in der Regel als Secret-Rotation bezeichnet. Mit der Secret-Rotation können Sie Folgendes tun:

  • Neue Secrets zu einem Schlüsselsatz sicher hinzufügen, indem Sie sie an den Schlüsselsatz anhängen.
  • Tokens mit dem entsprechenden Secret generieren.
  • Alte Secrets entfernen, nachdem das älteste mögliche Token abläuft.

    Nehmen wir an, Sie haben Ihre Token mit kurzer Laufzeit so eingestellt, dass sie nach einer Stunde ablaufen. Anschließend entfernen Sie das älteste Secret, das für die Tokens mit kurzer Laufzeit verwendet wurde, nachdem neue Anfragen Nutzer eine oder mehrere Stunden versorgt haben.

Achten Sie vor dem Entfernen eines nicht verwendeten Secrets darauf, dass es nicht referenziert oder abgerufen wird, um Nutzeranfragen auf Ihrem Anwendungsserver zu signieren. Durch das vorzeitige Entfernen eines Secrets aus einem Schlüsselsatz wird verhindert, dass Media CDN Anfragen mit diesem Secret validiert. Betroffene Nutzer erhalten die Antwort HTTP 403 Forbidden.

Um die Leistung, Zuverlässigkeit und Kosten gleichzeitiger Zugriffe auf Secret Manager zu optimieren, werden die Secrets für gemeinsame Validierungsschlüssel bis zu einer Stunde im Cache gespeichert. Secret-Caching kann bis zu eine Stunde lang zu einem Tokenzugriff führen, nachdem ein Secret aus Secret Manager gelöscht wurde.

Als Best Practice sollten Sie Schlüssel regelmäßig rotieren.

Bekannte Einschränkungen

Media CDN lehnt Anfragen, die mit den von Cloud CDN verwendeten symmetrischen Signaturen signiert sind, mit einer HTTP 403-Antwort ab. Media CDN unterstützt derzeit symmetrische Schlüssel mit Anfragen unter Verwendung des Tokenformats und der Schlüssel, auf die Media CDN verweist.

Asymmetrische Schlüssel müssen als Ed25519-Paare generiert werden, mit einem privaten Schlüssel von 512 Bit (64 Byte) und einem öffentlichen Schlüssel von 256 Bit (32 Byte). Die Tink-Bibliothek unterstützt das Generieren, Signieren und Prüfen von Ed25519-Signaturen mit C++, Go, Java und Objective-C.

Asymmetrische Schlüssel müssen die folgenden Eigenschaften haben:

  • Base64-codiert sein und eine Länge von 44 Byte (aufgefüllt) oder 43 Byte (nicht aufgefüllt) haben. Sowohl aufgefüllte als auch nicht aufgefüllte Formen von base64 werden akzeptiert.

  • Der öffentliche Schlüssel muss im URL-sicheren Base64-Format codiert sein. Der private Schlüssel kann im Standard-Base64-Format codiert sein.

  • Sie benötigen einen übereinstimmenden privaten Schlüssel.

Nächste Schritte