1. 程式人生 > >DRM之Microsoft PlayReady學習入門(一)

DRM之Microsoft PlayReady學習入門(一)

數字內容生態背景

未來在數字媒體生態系統中有幾個重要的轉變。 安全性正在轉向硬體,應用程式正在讓位於瀏覽器,網路正在成為OTT內容的管道,內容交付正在轉向雲:

現在

趨勢

基於軟體的安全性

基於硬體的安全性

專用應用程式

基於標準的HTML5播放

Managed networks託管網路

OTT流媒體和託管網路

基於內部部署的交付

基於混合(雲和本地)的交付

PlayReady在整個數字媒體生態系統中經過驗證,功能多樣且可擴充套件:

Microsoft PlayReady基於一種名為“域名”的虛擬環境,人們可在自己的域名中登入多種裝置,把內容傳輸到其他的域名登入裝置上。使用者可以將內容多次下載到不同裝置上。SmoothStreaming是微軟開發的一套用於支援流媒體傳輸的服務。根據客戶端的CPU和網路頻寬的能力,可以動態調節位元速率的傳輸。

PlayReady典型示例

PlayReady通過加密資料檔案來保護內容。這些加密檔案可以不受限制地移動、歸檔、流化、複製或分發。為了解密這些資料檔案,需要一個數字金鑰。這個金鑰包含在許可證中。每個許可證還包含指定如何使用這些檔案以及在什麼條件下使用這些檔案的許可權和策略。

PlayReady保護和管理內容消費的典型示例:

1、在分發內容進行播放之前,必須首先通過加密步驟來保護內容。

2、編碼器使用也可供許可伺服器使用的加密金鑰對內容進行加密。

3、在對內容進行加密之後,將其分階段傳送到回放客戶端(通常通過內容分發網路)。

4、PlayReady客戶端發現為該服務開發的應用程式內的內容。

5、要解密內容,PlayReady客戶端會向PlayReady許可證伺服器傳送許可證請求。

6、PlayReady許可證伺服器對客戶端進行身份驗證,並將許可證發回客戶端。

7、當客戶端使用許可證金鑰解密內容時,它會根據許可證中指定的策略播放內容。使用的一些常見策略基於時間限制和輸出保護(例如,限制播放到安全的HDMI埠以防止複製

)。

PlayReady支援此內容消費模型的許多變體。 許可證可以嵌入到內容中,而不是通過許可證伺服器分發,並且多個客戶端可以共享單個許可證(域)。

PlayReady技術的主要功能

安全許可證交付

PlayReady安全地向客戶端提供許可證,每個客戶端都有一個唯一的證書,可以向PlayReady伺服器驗證客戶端。

鑰匙輪換

對於直播電視場景,PlayReady提供對金鑰輪換的支援,在這種情況下,保護內容的加密金鑰會頻繁且指定地改變。 PlayReady for Live TV還支援廣告插播和停電

輸出保護

PlayReady可以根據許可證策略強制限制播放裝置上的輸出埠。

域(Domains)

PlayReady域是一組可以共享域繫結內容許可證的裝置。 PlayReady域還可以管理每個帳戶的服務允許的裝置數量。

計量(Metering)

PlayReady支援計量,其中播放客戶端維護內容檔案播放次數的計數。

網路裝置流媒體(ND Streaming)

PlayReady for Network Devices(ND)專為家庭內部流媒體場景而設計,可通過DRM將託管網路的範圍擴充套件到裝置。 PlayReady ND還允許CAS到DRM在裝置上進行家庭觀看。

Breach Response

PlayReady積極管理裝置生態系統,並在不太可能發生安全漏洞的情況下,採用行業領先的流程來管理客戶。

多客戶端平臺

PlayReady支援一系列客戶端平臺,包括Windows,Xbox,iOS和Android。 PlayReady還可用於機頂盒和其他消費電子裝置,如電視和媒體播放器。

多種內容型別

PlayReady的格式可擴充套件性基本上支援任何型別的內容,包括電影,直播電視,音樂,遊戲,鈴聲和影象,並且通常與以下音訊和視訊格式一起使用:對於音訊內容,支援包括AAC,AAC +和WMA編解碼器。 對於視訊內容,支援包括H.263,H.264和H.265編解碼器。

PlayReady技術商業模式

PlayReady技術支援廣泛的商業模式,用於提供數字內容。

1、內容訂閱:

基於時間長度

許可證頒發者可以指定許可證有效的時間長度,從而確保當訂戶取消訂閱時對內容的訪問到期。 訂閱處於活動狀態時,許可證將在到期之前續訂,以便使用者可以享受不間斷的播放。

基於許可證連結

服務提供商可以提供包含訂閱的基於時間的策略的根許可證。 為每個內容提供連線葉許可證。 如果根許可證到期且未續訂,則葉子許可證將不再有效。 這簡化了提供許多離線檔案(例如音樂訂閱)的服務的許可過程

2、按次付費 

PlayReady支援預先交付內容許可證以及客戶確認許可證已成功儲存。 這為客戶在支付和配置過程中可以使用內容的服務提供了保證。

3、租賃 

PlayReady支援基於時間的許可證,支援租賃方案。 電影下載服務可以建立滿足消費者觀看習慣的許可,同時確保以內容所有者想要的方式使用內容。 例如,消費者可以租借電影,允許他們在第一次觀看後的30天內和24小時內的任何時間開始觀看。

4、一次性購買

消費者從內容服務提供商處購買和下載受PlayReady加密保護的內容檔案。 該方法通常用於例如基於每首歌曲而不是通過訂閱來傳送音樂。 根據許可證中的業務規則,購買的歌曲可以被複制,可轉移或轉換為另一種保護方案。

5、基於廣告 

PlayReady支援所有內容型別的基於廣告的方案,並支援Live TV的廣告插播。

PlayReady內容分發選項

PlayReady支援兩種下載方式。 無論下載方式如何,媒體播放應用程式都以完全相同的方式呈現檔案:

基本下載

內容檔案將完整傳送到裝置上的本地儲存,然後播放(假設有效許可證可用).

漸進式下載

在下載檔案的初始部分後開始播放。 檔案的其餘部分與播放並行下載。

自適應流媒體

大多數PlayReady端點都支援自適應流格式,如MPEG-Dash,Smooth Streaming和HLS。 利用自適應流傳輸,客戶端從媒體資產的各種編碼位元率請求媒體段。 客戶端利用其自身的啟發式選擇哪個位元率來請求下一個段,例如網路和回放效能。

PlayReady產品套件由PlayReady客戶端,PlayReady伺服器和用於實現這些元件的軟體開發工具包組成。

PlayReady客戶端

PlayReady客戶端獲取受保護的內容,解釋許可證,強制執行許可證中包含的規則以及播放內容。 PlayReady提供眾多客戶選項,併為開發客戶提供多種軟體開發工具包:

1、裝置移植套件

裝置移植套件通常用於機頂盒,智慧電視,資訊亭和移動裝置等裝置。 移植套件是所有客戶的基礎。主要包括以下內容:

(1)ANSIC原始碼(針對各種流行的CPU架構),使您可以將Microsoft PlayReady客戶端功能合併到任何裝置中,而不管作業系統如何。(2)API文件。(3)參考實現和工具。(4)測試框架。

2、Android SDK

如果您要建立Android應用,可以使用適用於Android的PlayReady Client SDK,它具有以下功能:(1)支援Android 4. {0,1,2,3,4}和5(2)直播電視,包括key rotation,blackouts和廣告插播(3)ND-Receiver功能

開發工具:(1)AndroidSDK + Eclipse IDE(2)包含的示例播放器應用程式

3、iOS SDK (如果您要建立iOS應用程式,可以使用適用於iOS的PlayReady Client SDK,)

4、Windows SDK(對於Windows 8,您可以使用PlayReady SDK for Windows Store應用程式來開發支援PlayReady的Windows應用商店應用。 在其他Windows平臺上,可通過Silverlight獲得PlayReady功能。 或者,您也可以開發基於Web瀏覽器的客戶端)

5、Xbox (Xbox 360和Xbox One本身支援PlayReady。 Xbox平臺與品牌服務協同工作以提供媒體應用程式)

6、Silverlight (如果要為Windows或Mac OSX建立Silverlight應用程式,Silverlight包含內建的PlayReady支援。)

7、Web 瀏覽器

隨著HTML5中最近的EME標準化,現在可以建立能夠安全地使用PlayReady smooth-streaming或DASH內容的Web瀏覽器。 PlayReady通過CDMi(內容解密模組介面)規範支援HTML5 EME標準。任何平臺上的開源瀏覽器都可以使用CDM外掛(在移植工具包中提供)來訪問PlayReady加密的內容。 在Windows 8.1上,PlayReady是作業系統Media Foundation的一部分,因此Internet Explorer 11支援EME而無需瀏覽器外掛。 Windows上的其他瀏覽器供應商可以使用Media Foundation API。

PlayReady伺服器

PlayReady伺服器準備用於分發,儲存和內容分發的資源,管理許可證和域以及計量內容使用情況。 PlayReady伺服器可以是本地的,也可以位於雲端。您可以使用PlayReady Server SDK實現打包和交付PlayReady內容,頒發許可證,管理域和跟蹤計量使用情況的服務。

打包伺服器接收未受保護的內容並將其打包加密。 打包內容後,將其複製到分發伺服器,並將許可證資訊傳輸到許可證伺服器。

分發伺服器儲存和分發內容。 分發伺服器通常是Web伺服器 - PlayReady不需要專門的伺服器來進行內容儲存和分發。

PlayReady支援以下伺服器型別:

1、許可證伺服器

儲存使用內容的許可證。 在客戶端可以播放受保護的內容之前,它必須獲取許可證。

2、域控制器

確定給定域表示什麼(例如,一個使用者、一個系列或一組使用者)。對於每個域,域控制器持有與該域相關聯的實體列表。域控制器還強制執行定義有多少裝置或計算機可能加入域的策略。

3、計量伺服器

支援內容計量服務

根據您的平臺,您可以通過多種方式快速開始使用PlayReady技術:

1、Windows 8,WindowsPhone,Silverlight

Windows 8,Windows Phone和Silverlight包含對PlayReady的本機支援,因此您可以立即開始在這些平臺上開發和部署支援PlayReady的客戶端媒體應用程式。 如果您正在開發Windows應用商店應用,可以下載以下內容以幫助您開始使用PlayReady:

· 1 PlayReady SDK for Windows Store apps

· 2PlayReady sample application

2、Xbox

要在Xbox上部署PlayReady,您可以使用Xbox 360或Xbox One應用程式開發工具包,其中包括對PlayReady的內建支援。 您可以通過向[email protected]傳送查詢來了解更多資訊。

3、Android,iOS,Devices

要使用適用於Android,iOS或其他平臺(如消費電子裝置)的SDK部署或開發PlayReady技術,您必須先註冊PlayReady許可證。 如果您想在購買許可證之前試用PlayReady,可以從[email protected]申請PlayReady評估協議。 評估協議包括具有非生產SL150證書的PlayReady客戶端SDK,因此您可以在購買許可證之前使用PlayReady測試客戶端應用程式或裝置。

如果您正在為Windows8,Windows Phone,Xbox或Silverlight開發和分發PlayReady客戶端,則不需要許可證。 請注意,您需要PlayReady伺服器協議(PlayReady Server Agreement)才能將服務部署到Windows端點。

對於所有其他平臺,您將需要許可證。 購買許可證時,您可以下載SDK和與該許可證關聯的其他軟體包。 每個客戶端許可證都包含生產級SL2000證書。 對於每個許可證,您還必須簽署PlayReady主協議(PlayReady Master Agreement)。

MicrosoftPlayReady許可證

Microsoft提供了幾個PlayReady許可證,具體取決於您將如何使用和部署PlayReady技術。 下表列出了每個許可協議,並概述了適用於該許可的方案以及許可包中包含的產品。

許可協議

許可方案

包含的產品

Microsoft PlayReady最終產品許可證

用於將PlayReady客戶端裝置分發給終端使用者,或用於在商業部署中使用PlayReady客戶端。

PlayReady證書生成套件,

適用於iOS / Android的PlayReady Client SDK,

PlayReady檔案包,

使用ND的PlayReady Windows 8.1示例應用程式,

客戶端SDK SL2000庫,

和公司裝置證書。

Microsoft PlayReady中間產品許可證

用於開發PlayReady iOS或Android客戶端,或用於開發客戶端裝置

例如機頂盒,智慧電視或媒體播放器。

PlayReady裝置移植套件,

適用於iOS / Android的PlayReady Client SDK,

PlayReady檔案包,

使用ND的PlayReady Windows 8.1示例應用程式,

PlayReady的CDMi示例程式碼,

客戶端SDK SL2000測試庫,

公司裝置測試證書。

Microsoft PlayReady服務部署許可證

用於在商業部署或終端使用者分發中使用PlayReady伺服器技術。

PlayReady證書生成套件,

PlayReady檔案包,

部署證書,

高階部署證書,

域證書,計量證書。

Microsoft PlayReady伺服器開發許可證

用於開發PlayReady伺服器。

PlayReady Server SDK,

PlayReady文件包,

部署測試證書,

高階部署測試證書,

域名測試證書,

計量測試證書

請注意,如果您正在開發和分發PlayReady客戶端,則需要兩個許可證:

MicrosoftPlayReady中間產品許可證。

MicrosoftPlayReady最終產品許可證。

同樣,如果您正在開發和部署PlayReady伺服器,則需要:

MicrosoftPlayReady伺服器開發許可證。

MicrosoftPlayReady服務部署許可證。

您可以與Microsoft PlayReady Server ASP許可證持有者簽訂合同,而不是直接許可PlayReady伺服器 - 這些公司將代表您執行PlayReady伺服器。 或者,如果您有興趣代表第三方品牌部署服務,則需要執行Microsoft PlayReady Server ASP協議。

有關Microsoft PlayReady Server ASP協議的詳細資訊,請參閱已批准的Microsoft PlayReady授權使用者( Approved Microsoft PlayReady Licensees.)。有關PlayReady許可的詳細資訊,請參閱許可常見問題解答( Licensing Frequently Asked Questions)。 如果您對PlayReady許可流程有疑問,請通過[email protected]與Microsoft聯絡。