SPEKEAPIv1 — Verschlüsselung von Inhaltsschlüsseln - Spezifikation für Secure Packager und Encoder Key Exchange API

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

SPEKEAPIv1 — Verschlüsselung von Inhaltsschlüsseln

Sie können Ihrer SPEKE Implementierung optional eine Inhaltsschlüsselverschlüsselung hinzufügen. Die Inhaltsschlüsselverschlüsselung garantiert umfassenden end-to-end Schutz, indem sie zusätzlich zur Verschlüsselung des Inhalts selbst auch die Inhaltsschlüssel für die Übertragung verschlüsselt. Wenn Sie dies nicht für Ihren Schlüsselanbieter implementieren, verlassen Sie sich aus Sicherheitsgründen auf die Verschlüsselung der Transportschicht sowie auf eine starke Authentifizierung.

Um die Inhaltsschlüsselverschlüsselung für in der AWS Cloud ausgeführte Verschlüsselungsprogramme zu verwenden, importieren Kunden Zertifikate in den AWS Certificate Manager und verwenden das resultierende Zertifikat dann ARNs für ihre Verschlüsselungsaktivitäten. Der Verschlüsseler verwendet das Zertifikat ARNs und den ACM Dienst, um dem Schlüsselanbieter verschlüsselte DRM Inhaltsschlüssel zur Verfügung zu stellen.

Einschränkungen

SPEKEunterstützt die Verschlüsselung von Inhaltsschlüsseln, wie in der DASH CPIX -IF-Spezifikation angegeben, mit den folgenden Einschränkungen:

  • SPEKEunterstützt keine Überprüfung digitaler Signaturen (XMLDSIG) für Payloads von Anfragen oder Antworten.

  • SPEKEerfordert 2048 RSA basierte Zertifikate.

Diese Einschränkungen sind auch unter Anpassungen und Einschränkungen der DASH -IF-Spezifikation aufgeführt.

Implementieren der Inhaltsschlüssel-Verschlüsselung

Um die Verschlüsselung von Inhaltsschlüsseln bereitzustellen, schließen Sie Folgendes in Ihre DRM Schlüsselanbieter-Implementierungen ein:

  • Verarbeiten Sie das Element <cpix:DeliveryDataList> in den Anforderungs- und Antwortnutzlasten.

  • Stellen Sie in der <cpix:ContentKeyList> der Antwortnutzlasten verschlüsselte Werte bereit.

Weitere Informationen zu diesen Elementen finden Sie in der DASH-IF CPIX 2.0-Spezifikation.

Beispiel für das Inhaltsschlüssel-Verschlüsselungselement <cpix:DeliveryDataList> in der Anforderungsnutzlast

Im folgenden Beispiel wird das hinzugefügte <cpix:DeliveryDataList>-Element in Fettschrift hervorgehoben:

<?xml version="1.0" encoding="UTF-8"?> <cpix:CPIX id="example-test-doc-encryption" xmlns:cpix="urn:dashif:org:cpix" xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc" xmlns:speke="urn:aws:amazon:com:speke"> <cpix:DeliveryDataList> <cpix:DeliveryData id="<ORIGIN SERVER ID>"> <cpix:DeliveryKey> <ds:X509Data> <ds:X509Certificate><X.509 CERTIFICATE, BASE-64 ENCODED></ds:X509Certificate> </ds:X509Data> </cpix:DeliveryKey> </cpix:DeliveryData> </cpix:DeliveryDataList> <cpix:ContentKeyList> ... </cpix:ContentKeyList> </cpix:CPIX>

Beispiel für das Inhaltsschlüssel-Verschlüsselungselement <cpix:DeliveryDataList> in der Antwortnutzlast

Im folgenden Beispiel wird das hinzugefügte <cpix:DeliveryDataList>-Element in Fettschrift hervorgehoben:

<cpix:CPIX xmlns:cpix="urn:dashif:org:cpix" xmlns:enc="http://www.w3.org/2001/04/xmlenc#" xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc" xmlns:speke="urn:aws:amazon:com:speke" id="hls_test_001"> <cpix:DeliveryDataList> <cpix:DeliveryData id="<ORIGIN SERVER ID>"> <cpix:DeliveryKey> <ds:X509Data> <ds:X509Certificate><X.509 CERTIFICATE, BASE-64 ENCODED></ds:X509Certificate> </ds:X509Data> </cpix:DeliveryKey> <cpix:DocumentKey Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"> <cpix:Data> <pskc:Secret> <pskc:EncryptedValue> <enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" /> <enc:CipherData> <enc:CipherValue><RSA CIPHER VALUE></enc:CipherValue> </enc:CipherData> </pskc:EncryptedValue> <pskc:ValueMAC>qnei/5TsfUwDu+8bhsZrLjDRDngvmnUZD2eva7SfXWw=</pskc:ValueMAC> </pskc:Secret> </cpix:Data> </cpix:DocumentKey> <cpix:MACMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"> <cpix:Key> <pskc:EncryptedValue> <enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" /> <enc:CipherData> <enc:CipherValue><RSA CIPHER VALUE></enc:CipherValue> </enc:CipherData> </pskc:EncryptedValue> <pskc:ValueMAC>DGqdpHUfFKxdsO9+EWrPjtdTCVfjPLwwtzEcFC/j0xY=</pskc:ValueMAC> </cpix:Key> </cpix:MACMethod> </cpix:DeliveryData> </cpix:DeliveryDataList> <cpix:ContentKeyList> ... </cpix:ContentKeyList> </cpix:CPIX>

Beispiel für das Inhaltsschlüssel-Verschlüsselungselement <cpix:ContentKeyList> in der Antwortnutzlast

Das folgende Beispiel zeigt die Behandlung des verschlüsselten Inhaltsschlüssels im <cpix:ContentKeyList>-Element der Antwortnutzlast. Hier wird das Element <pskc:EncryptedValue> verwendet:

<cpix:ContentKeyList> <cpix:ContentKey kid="682681c8-69fa-4434-9f9f-1a7f5389ec02"> <cpix:Data> <pskc:Secret> <pskc:EncryptedValue> <enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" /> <enc:CipherData> <enc:CipherValue>NJYebfvJ2TdMm3k6v+rLNVYb0NoTJoTLBBdbpe8nmilEfp82SKa7MkqTn2lmQBPB</enc:CipherValue> </enc:CipherData> </pskc:EncryptedValue> <pskc:ValueMAC>t9lW4WCebfS1GP+dh0IicMs+2+jnrAmfDa4WU6VGHc4=</pskc:ValueMAC> </pskc:Secret> </cpix:Data> </cpix:ContentKey> </cpix:ContentKeyList>

Im Vergleich dazu zeigt das folgende Beispiel eine ähnliche Antwortnutzlast mit dem unverschlüsselten Inhaltsschlüssel als entschlüsselter Schlüssel. Hier wird das Element <pskc:PlainValue> verwendet:

<cpix:ContentKeyList> <cpix:ContentKey explicitIV="OFj2IjCsPJFfMAxmQxLGPw==" kid="682681c8-69fa-4434-9f9f-1a7f5389ec02"> <cpix:Data> <pskc:Secret> <pskc:PlainValue>5dGAgwGuUYu4dHeHtNlxJw==</pskc:PlainValue> </pskc:Secret> </cpix:Data> </cpix:ContentKey> </cpix:ContentKeyList>