SPEKEAPIV2 - 安全封裝器和編碼器金鑰交換API規格

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

SPEKEAPIV2

這是RESTAPI用於安全打包器和編碼器密鑰交換(SPEKE)v2。使用此規格為使用加密的客戶提供DRM版權保護。若要SPEKE符合標準,您的DRM金鑰提供者必須公開此規格中RESTAPI所述的內容。加密程式會API呼叫您的金鑰提供者。

注意

本規定中的代碼範例僅供參考之用。您不能運行這些示例,因為它們不是完整SPEKE實現的一部分。

SPEKE使用DASH產業論壇內容保護資訊交換格式 (DASH-IF-CPIX) 資料結構定義進行金鑰交換,但有一些限制。DASH-IF-CPIX 定義結構描述,以提供從DRM平台到加密器的可擴展多重DRM交換。這可讓系統在內容壓縮和封裝時,能夠對所有自適性位元速率封裝格式進行內容加密。自適應位元速率封裝格式包括HLSDASH、和MSS。

從它的 2.0 版本開始,SPEKE對齊一個特定的CPIX版本:

在SPEKE側面,這是通過使用X-Speke-VersionHTTP標題來強制執行的,並且通過使用CPIX@version屬性來實施。CPIX請求中缺少這些元素是 SPEKE v1 舊版工作流程的典型情況。在 SPEKE v2 工作流程中,金鑰提供者只有在支援兩個版本參數時才會處理CPIX文件。

有關交換格式的詳細信息,請參閱DASH業界論壇 CPIX2.3 規範

總體而言,與 1.0 版相比,SPEKEv2.0 帶來了以下進化:SPEKE

  • SPEKEXML命名空間中的所有標籤都被棄用,以支持CPIXXML命名空間中的等效標籤

  • SPEKE:ProtectionHeader已棄用,並由 CPIX:DRMSystem.SmoothStreamingProtectionHeaderData

  • CPIX:URIExtXKeySPEKE:KeyFormat而且已SPEKE:KeyFormatVersions被棄用,並由 CPIX:DRMSystem.HLSSignalingData

  • CPIX@id被取代為 CPIX@contentId

  • 新的必要CPIX屬性:CPIX@versionContentKey@commonEncryptionScheme

  • 新的可選CPIX元素:DRMSystem.ContentProtectionData

  • Support 多個內容金鑰

  • 和之間的跨版本控制機制 SPEKE CPIX

  • HTTP頭進化:新的X-Speke-Version頭,Speke-User-Agent頭改名為 X-Speke-User-Agent

  • 心跳API棄用

由於 SPEKE v1.0 規範保持不變,因此現有的實現不需要更改即可繼續支持 SPEKE v1.0 工作流程。