SPEKEAPIv1-對 DASH-IF 規範的自定義和約束 - 安全封裝器和編碼器金鑰交換API規格

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SPEKEAPIv1-對 DASH-IF 規範的自定義和約束

DASH如果CPIX規範,https://dashif.org/docs/ DASH-IF-CPIX-v2-0.pdf,支持一些用例和拓撲。該SPEKEAPI規格遵循具有下列自訂和限制的CPIX規格:

  • SPEKE 遵循加密程式消費者工作流程。

  • 對於加密的內容金鑰,會SPEKE套用下列限制:

    • SPEKE不支援要求或回應承載的數位簽章驗證 (XMLDSIG)。

    • SPEKE需要以 2048 RSA 為基礎的憑證。

  • 若要旋轉關鍵工作流程,SPEKE需要ContentKeyUsageRule篩選、KeyPeriodFilter。SPEKE會忽略所有其他ContentKeyUsageRule設定。

  • SPEKE 省略 UpdateHistoryItemList 功能。如果列表存在於響應中,則SPEKE忽略它。

  • SPEKE支援按鍵旋轉。SPEKE僅使用 `ContentKeyPeriod@index 來追蹤金鑰期間。

  • 若要支援 MSS PlayReady,請在DRMSystem標籤下SPEKE使用自訂參數SPEKE:ProtectionHeader

  • 對於HLS封裝,如果回應中存在,則它必須包含要在HLS播放清單EXT-X-KEY標籤URI參數中加入的完整資料,而不需要進一步的信號。URIExtXKey

  • 對於HLS播放清單,在DRMSystem標籤下,SPEKE提供選擇性的自訂參數speke:KeyFormatVersionsspeke:KeyFormat並提供EXT-X-KEY標籤KEYFORMATKEYFORMATVERSIONS參數的值。

    除非運算符明確指定,否則HLS初始化向量(IV)始終遵循段號。

  • 當請求金鑰時,加密程式必須使用 ContentKey 元素上的可選 @explicitIV 屬性。金鑰提供者可以使用 @explicitIV 來回應 IV,即使該屬性未包含在請求中。

  • 加密程式會建立金鑰識別符 (KID),無論任何指定的內容 ID 和金鑰期間都將提供相同識別符。金鑰提供者會在對請求文件的回應中包括 KID

  • 金鑰提供者可能會包含 Speke-User-Agent 回應標頭的值,以自我識別供偵錯之用。

  • SPEKE目前不支援每個內容的多個音軌或按鍵。

    SPEKE符合標準的加密器充當客戶端,並將POST操作發送到密鑰提供者端點。加密程式可能會傳送定期的 heartbeat 請求,以確保加密程式與金鑰提供者端點之間的連線情況良好。