翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SPEKE API v1 - コンテンツキーの暗号化
オプションで、コンテンツキーの暗号化をSPEKE実装に追加できます。コンテンツキーの暗号化は、コンテンツ自体の暗号化に加えて、転送用のコンテンツキーを暗号化することで、完全な end-to-end 保護を保証します。キープロバイダーにこれを実装していない場合は、トランスポートレイヤーの暗号化と強力な認証をセキュリティに使用することになります。
AWS クラウドで実行されているエンクリプタにコンテンツキー暗号化を使用するには、証明書を AWS Certificate Manager にインポートし、結果の証明書ARNsを暗号化アクティビティに使用します。エンクリプタは、証明書ARNsとACMサービスを使用して、暗号化されたコンテンツキーをDRMキープロバイダーに提供します。
制限事項
SPEKE は、以下の制限がある DASH-IF CPIX仕様で指定されているコンテンツキーの暗号化をサポートします。
-
SPEKE は、リクエストまたはレスポンスペイロードのデジタル署名検証 (XMLDSIG) をサポートしていません。
-
SPEKE には 2048 RSAベースの証明書が必要です。
これらの制限は、DASH「-IF 仕様のカスタマイズと制約」にも記載されています。
コンテンツキーの暗号化の実装
コンテンツキーの暗号化を提供するには、DRMキープロバイダーの実装に以下を含めます。
-
リクエストペイロードとレスポンスペイロードで要素
<cpix:DeliveryDataList>
を処理します。 -
レスポンスペイロードの
<cpix:ContentKeyList>
に暗号化された値を入力します。
これらの要素の詳細については、DASH「-IF 2.0 仕様CPIX
レスポンスペイロードのコンテンツキー暗号化要素の例
<cpix:DeliveryDataList>
次の例は、追加された <cpix:DeliveryDataList>
要素を太字で示しています。
<?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>
レスポンスペイロードのコンテンツキー暗号化要素の例
<cpix:DeliveryDataList>
次の例は、追加された <cpix:DeliveryDataList>
要素を太字で示しています。
<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>
レスポンスペイロードのコンテンツキー暗号化要素の例
<cpix:ContentKeyList>
次の例は、レスポンスペイロードの <cpix:ContentKeyList>
要素で暗号化されたコンテンツキーの処理を示しています。これは <pskc:EncryptedValue>
要素を使用します。
<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>
これに対して、以下の例は、クリアキーとして暗号化されていないコンテンツキーを持つ同様のレスポンスペイロードを示しています。これは <pskc:PlainValue>
要素を使用します。
<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>