SPEKE API v2 - DASH-IF 仕様のカスタマイズと制約 - Secure Packager と Encoder Key Exchange APIの仕様

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SPEKE API v2 - DASH-IF 仕様のカスタマイズと制約

DASH Industry Forum CPIX2.3 仕様は、多くのユースケースとトポロジをサポートしています。SPEKE API v2.0 仕様では、 APIのCPIXプロファイルと の両方を定義しますCPIX。これら 2 つの目標を達成するために、以下のカスタマイズと制約によりCPIX仕様に準拠しています。

CPIX プロファイル
  • SPEKE は、エンクリプタコンシューマーのワークフローに従います。

  • 暗号化されたコンテンツキーの場合、 は次の制限SPEKEを適用します。

    • SPEKE は、リクエストまたはレスポンスペイロードのデジタル署名検証 (XMLDSIG) をサポートしていません。

    • SPEKE には 2048 RSAベースの証明書が必要です。

  • SPEKE は、CPIX機能のサブセットのみを活用します。

    • SPEKE は UpdateHistoryItemList の機能を省略します。リストがレスポンスに存在する場合、 はそのリストSPEKEを無視します。

    • SPEKE はルート/リーフキー機能を省略します。ContentKey@dependsOnKey 属性がレスポンスに存在する場合、 はそれSPEKEを無視します。

    • SPEKE は、 BitrateFilter要素と VideoFilter@wcg 属性を省略します。これらの要素または属性がCPIXペイロードに存在する場合、 はそれSPEKEを無視します。

  • SPEKE v2 と交換されるCPIXドキュメントで使用できるのは、標準ペイロードコンポーネントページまたは暗号化契約ページで「サポート済み」と参照される要素または属性のみです。

  • エンクリプタによるCPIXリクエストに含まれる場合、すべての要素と属性は、キープロバイダーレスポンスで有効な値を持つ必要がありますCPIX。そうでない場合、エンクリプタは停止してエラーをスローします。

  • SPEKE は、 KeyPeriodFilter要素によるキーローテーションをサポートします。SPEKE は、キー期間を追跡ContentKeyPeriod@indexするために のみを使用します。

  • HLS シグナリングには、複数のDRMSystem.HLSSignalingData要素を使用する必要があります。1 つはDRMSystem.HLSSignalingData@playlist属性値が「media」で、もう 1 つはDRMSystem.HLSSignalingData@playlist属性値が「master」です。

  • キーをリクエストするとき、エンクリプタは、ContentKey 要素にオプションの @explicitIV 属性を使用することがあります。キープロバイダーは、属性がリクエストに含まれていなくても、@explicitIV を使用して IV で応答することができます。

  • エンクリプタはキー識別子 (KID) を生成しますが、これは与えられたコンテンツ ID とキー期間に対して同じです。キープロバイダーには、リクエストドキュメントに対するレスポンスとして KID が含まれます。

  • エンクリプタは CPIX@contentId 属性の値を含めます。この属性に対して空の値を受け取ると、キープロバイダーは説明「欠落 CPIX@」のエラーを返す必要がありますcontentId。 CPIX@contentId値はキープロバイダーによって上書きできません。

    CPIX@id 値が null でない場合は、キープロバイダーによって無視されます。

  • エンクリプタは CPIX@version 属性の値を含めます。この属性に空の値を受け取ると、キープロバイダーはCPIX「@version を見逃す」という説明のエラーを返します。サポートされていないバージョンのリクエストを受信する場合、キープロバイダーによって返されるエラーの説明は「サポートされていない CPIX@version」になります。

    CPIX@version 値をキープロバイダーでオーバーライドすることはできません。

  • エンクリプタは、リクエストされたキーごとに ContentKey@commonEncryptionScheme 属性の値を含めます。この属性に空の値を受け取ると、キープロバイダーは ContentKey「@for を見逃すcommonEncryptionScheme 」という説明のエラーを返しますKIDid

    一意のCPIXドキュメントは、異なるContentKey@commonEncryptionScheme属性に対して複数の値を混在させることはできません。このような組み合わせを受け取ると、キープロバイダーは「非準拠の ContentKey@commonEncryptionScheme combination」という説明のエラーを返すものとします。

    すべてのContentKey@commonEncryptionScheme値がすべてのDRMテクノロジーと互換性があるわけではありません。このような組み合わせを受け取ると、キープロバイダーはContentKey「@commonEncryptionScheme non compatible with 」という説明のエラーを返すものとしますDRMSystemid

    ContentKey@commonEncryptionScheme 値をキープロバイダーでオーバーライドすることはできません。

  • CPIX レスポンス本文内の DRMSystem@PSSHおよびDRMSystem.ContentProtectionData内部XML<pssh>要素に対して異なる値を受信すると、エンクリプタは停止してエラーをスローします。

CPIX に関する API
  • キープロバイダーには、X-Speke-User-AgentHTTPレスポンスヘッダーの値を含める必要があります。

  • SPEKE準拠のエンクリプタはクライアントとして機能し、キープロバイダーエンドポイントにPOSTオペレーションを送信します。

  • エンクリプタには、X-Speke-VersionHTTPリクエストヘッダーの値を含める必要があります MajorVersion。リクエストで使用されるSPEKEバージョンは、v2.0 の '2.0' MinorVersionのように SPEKE として指定されます。キープロバイダーが現在のリクエストでエンクリプタが使用するSPEKEバージョンをサポートしていない場合、キープロバイダーは「サポートされていないSPEKEバージョン」という説明のエラーを返し、ベストエフォートベースでCPIXドキュメントを処理しようとしません。

    キープロバイダーは、エンクリプタによって定義された X-Speke-Version ヘッダー値をリクエストへのレスポンスで変更できません。

  • レスポンス本文でエラーを受信すると、エンクリプタはエラーをスローし、v1.0 SPEKE バージョニングを使用してリクエストを再試行しません。

    キープロバイダーがエラーを返さないが、必須情報を含むCPIXドキュメントを返さない場合、エンクリプタは停止してエラーをスローする必要があります。

次の表は、キープロバイダーがメッセージの本文で返す必要がある標準メッセージをまとめたものです。エラーケースのHTTPレスポンスコードは 4XX または 5XX で、200 ではありません。422 エラーコードは、SPEKE/ に関連するすべてのエラーに使用できますCPIX。

エラーケース エラーメッセージ

CPIX@contentId is は定義されていません

CPIX@ がありませんcontentId

CPIX@version が定義されていません

CPIX@version がありません

CPIX@version はサポートされていません

サポートされていない CPIX@version

ContentKey@commonEncryptionScheme is は定義されていません

ContentKey@commonEncryptionScheme for がありません KID id ( は ContentKey@kid 値にid等しくなります)

1 つのCPIXドキュメントで使用される複数の ContentKey@commonEncryptionScheme values

非準拠の ContentKey@commonEncryptionScheme combination

ContentKey@commonEncryptionScheme はDRMテクノロジーと互換性がありません

ContentKey@commonEncryptionScheme non compatible with DRMSystem id ( は DRMSystem@systemId value にid等しい)

X-Speke-Version ヘッダー値がサポートされているSPEKEバージョンではありません

サポート対象外の SPEKE バージョン

暗号化契約の形式が正しくない

Malformed encryption contract (不正な形式の暗号化契約)

暗号化契約がDRMセキュリティレベルの制約と矛盾する

リクエストされたCPIX暗号化契約はサポートされていません

暗号化契約に VideoFilter または AudioFilter 要素が含まれていない

CPIX 暗号化契約がない