Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
SPEKEAPIv2 - Chiffrement des clés de contenu
Vous pouvez éventuellement ajouter le chiffrement par clé de contenu à votre SPEKE implémentation. Le chiffrement des clés de contenu garantit end-to-end une protection complète en chiffrant les clés de contenu pour le transit, en plus du chiffrement du contenu lui-même. Si vous ne l'implémentez pas pour votre fournisseur de clés, vous comptez sur le chiffrement de la couche de transport associé à une authentification forte pour des raisons de sécurité.
Pour utiliser le chiffrement par clé de contenu pour les chiffreurs exécutés dans AWS le Cloud, les clients importent des certificats dans le AWS Certificate Manager, puis utilisent le certificat obtenu ARNs pour leurs activités de chiffrement. Le crypteur utilise le certificat ARNs et le ACM service pour fournir des clés de contenu chiffrées au fournisseur de DRM clés.
Restrictions
SPEKEprend en charge le chiffrement des clés de contenu tel que spécifié dans la CPIX spécification DASH -IF avec les restrictions suivantes :
-
SPEKEne prend pas en charge la vérification de signature numérique (XMLDSIG) pour les charges utiles de demande ou de réponse.
-
SPEKEnécessite des certificats RSA basés sur 2048.
Ces restrictions sont également répertoriées dans Personnalisations et contraintes de la spécification DASH -IF.
Implémentation du chiffrement de clé de contenu
Pour assurer le chiffrement des clés de contenu, incluez les éléments suivants dans les implémentations de votre fournisseur de DRM clés :
-
Traitez l'élément
<cpix:DeliveryDataList>
dans les charges utiles de demande et de réponse. -
Fournissez des valeurs chiffrées dans l'élément
<cpix:ContentKeyList>
des charges utiles de réponse.
Pour plus d'informations sur ces éléments, consultez la spécification DASH -IF CPIX 2.3
Exemple d'élément de chiffrement de clé de contenu
<cpix:DeliveryDataList>
dans la charge utile de requête
<cpix:CPIX contentId="abc123" version="2.3" 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>
Exemple d'élément de chiffrement de clé de contenu
<cpix:DeliveryDataList>
dans la charge utile de réponse
<cpix:CPIX contentId="abc123" version="2.3" 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>
Exemple d'élément de chiffrement de clé de contenu
<cpix:ContentKeyList>
dans la charge utile de réponse
L'exemple suivant illustre le traitement de la clé de contenu chiffrée dans l'élément <cpix:ContentKeyList>
de la charge utile de réponse. Elle utilise l'élément <pskc:EncryptedValue>
:
<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>
En comparaison, l'exemple suivant affiche une charge utile de réponse similaire avec la clé de contenu non chiffrée, comme une clé en clair. Elle utilise l'élément <pskc:PlainValue>
:
<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>