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.
SPEKE API v2.1 — Verschlüsselung des Inhaltsschlüssels
Sie können Ihrer SPEKE-Implementierung optional eine Verschlüsselung mit Inhaltsschlüsseln hinzufügen. Die Inhaltsschlüssel-Verschlüsselung garantiert einen vollständigen und durchgängigen Schutz, indem nicht nur die Inhalte für die Übertragung verschlüsselt werden, sondern auch die Inhaltsschlüssel. Wenn Sie dies nicht für Ihren Schlüsselanbieter implementieren, verlassen Sie sich aus Sicherheitsgründen auf die Verschlüsselung auf der Transportebene sowie auf eine starke Authentifizierung.
Um die Inhaltsschlüsselverschlüsselung für Verschlüsseler zu verwenden, die in der AWS Cloud ausgeführt werden, importieren Kunden Zertifikate in den AWS Certificate Manager und verwenden dann die resultierenden Zertifikat-ARNs für ihre Verschlüsselungsaktivitäten. Der Verschlüsseler verwendet die Zertifikat-ARNs und den ACM-Service, um dem DRM-Schlüsselanbieter verschlüsselte Inhaltsschlüssel bereitzustellen.
Einschränkungen
SPEKE unterstützt die Verschlüsselung von Inhaltsschlüsseln gemäß der DASH-IF CPIX-Spezifikation mit den folgenden Einschränkungen:
-
SPEKE unterstützt keine Überprüfung digitaler Signaturen (XMLDSIG) für Nutzdaten von Anfragen oder Antworten.
-
SPEKE benötigt 2048 Zertifikate. RSA-based
Diese Einschränkungen sind auch unter Anpassungen und Einschränkungen der Spezifikation aufgeführt. DASH-IF
Implementieren der Inhaltsschlüssel-Verschlüsselung
Um Inhaltsschlüssel-Verschlüsselung bereitzustellen, führen Sie in den Implementierungen Ihres DRM-Schlüsselanbieters Folgendes aus:
-
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 CPIX 2.4-Spezifikation
Beispiel für das Inhaltsschlüssel-Verschlüsselungselement
<cpix:DeliveryDataList>
in der Anforderungsnutzlast
<cpix:CPIX contentId="abc123" version="2.4" xmlns:cpix="urn:dashif:org:cpix" xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc"> <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
<cpix:CPIX contentId="abc123" version="2.4" xmlns:cpix="urn:dashif:org:cpix" xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc"> <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 explicitIV="OFj2IjCsPJFfMAxmQxLGPw==" kid="98ee5596-cd3e-a20d-163a-e382420c6eff" commonEncryptionScheme="cbcs"> <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="98ee5596-cd3e-a20d-163a-e382420c6eff" commonEncryptionScheme="cbcs"> <cpix:Data> <pskc:Secret> <pskc:PlainValue>5dGAgwGuUYu4dHeHtNlxJw==</pskc:PlainValue> </pskc:Secret> </cpix:Data> </cpix:ContentKey> </cpix:ContentKeyList>