開發 PlayReady 安全性層級 3000 用戶端
1.簡介
此頁面旨在作為 PlayReady 授權的逐步指南,以搜尋 PlayReady Intermediate 或 Final Products 的 SL3000 合規性。 本檔概述中繼和最終產品的端對端程式,並詳細說明 SL3000 一致性中繼產品的需求。
此頁面包含兩個主要區段:
SL3000 設計程式一節概述要接著的 PlayReady Licensee 搜尋中繼產品或 PlayReady Final 產品的 SL3000 合規性的端對端程式。
SL3000 需求一節詳細說明 SL3000 一致性中繼產品的需求。 請務必且需要IPL驗證這些需求,並以「檢查清單」的形式記錄 FPL 的這項驗證,因為需求的性質:它們深入硬體和 TEE,而 FPL 可能不一定能夠自行驗證這些需求。 提供的測試報告或檢查清單是IPL使用的工具,因此FPL知道哪些測試已經執行並通過,而且可以放心地執行補充測試,以驗證最終產品的整個補充測試。
沒有這類區段詳細說明最終產品的需求,因為 FPL 會自行評估他們散發給終端用戶的最終產品,而且不需要將其測試傳達給任何人。
2. SL3000 設計程式概觀
PlayReady 安全性層級是 PlayReady 產品健全性的公開可用且廣泛了解的定義。 雖然產品可能超過特定 PlayReady 安全性層級的健全性需求,但它會建立產品必須符合的最低列,以取用需要已定義保護層級的內容。 2015年4月更新的 PlayReady 合規性與健全性規則引進 PlayReady 安全性層級 3000 (SL3000) ,以及 PlayReady TEE 實作的需求,以符合 PlayReady 增強式內容保護的硬體安全性需求。 PlayReady SL3000 設計成足以符合各種內容製作者的安全性標準,包括進階的啟用內容。
PlayReady SL3000 Self-Assessment 旨在協助 PlayReady 授權取得 UHD (4K) 的散發許可權、其他類型的增強式內容 (例如 HDR、3D 等等) ,以及新的增強式內容傳遞模型 (,例如早期視窗) 。
PlayReady 產品的安全性主要取決於 PlayReady 實作的健全性。 中繼產品需要安全性檢閱,包括硬體和韌體,才能符合 SL3000 資格。 安全性檢閱是以這份檔第 3 節中所述的 SL3000 需求為基礎。 此安全性檢閱必須記載,且與根據此中繼產品建置最終產品的公司通訊的檔。 此安全性檢閱可由第三方測試房屋執行,或由實作者本身 (IPL) 進行。
第三方測試房屋不需要檢閱 PlayReady 最終產品,才能符合 SL3000 合規性資格。 不過,想要隨附於 SL3000 憑證的最終產品,只有在符合 SL3000 相容最終產品的需求時,才能這麼做。 這需要最終產品利用 SL3000 一致性中繼產品,並符合 SL3000 合規性和健全性規則。
3.中繼產品的 SL3000 需求
PlayReady 產品的安全性主要取決於 PlayReady 實作的健全性。 因此,Microsoft 已定義 PlayReady 合規性和健全性規則 中的需求,所有 PlayReady 中繼產品都必須符合或超過,才能發佈至最終產品授權。 下列檢查清單是IPL的工具,可記錄他們在產品上執行的安全性檢閱,再加以散發。 此安全性檢閱文件必須傳達給根據此中繼產品建置最終產品的公司。
需求分成 5 個類別:
- CA:內容輔助功能
- CPR:內容保護健全性
- ML:PlayReady 裝置移植套件健全性
- TEER:PlayReady 信任的執行環境 (TEE) 健全性
- TEEC:PlayReady 信任的執行環境 (TEE) 合規性
中繼產品測試報告的 SL3000 需求 – 檢查清單
需求 | 基礎規則 | 標題 | 需求 | 測試程式 () 資源使用量概觀 & | 結果 |
---|---|---|---|---|---|
CA-1.1 | RR 2.2.1 | 產品設計 - TEE | PlayReady 產品的設計清楚,使其使用 PlayReady 信任的執行環境 (TEE) 。 | 架構檢閱和程式代碼檢閱 | - |
CA-1.2 | RR 2.2.1 | 產品設計 - TEE | PlayReady 產品只會使用 PlayReady TEE 所實作的內容保護函式。 | 架構檢閱和程式代碼檢閱 | - |
CA-2.1 | RR 2.2.2.1 | 解密的內容 | 解密的 A/V 內容不得為可讀取或放置在 PlayReady 信任的執行環境之外。 解密的 A/V 內容不得供在 PlayReady TEE 外部執行的程式代碼使用。 | 架構檢閱和程式代碼檢閱。 XYZ 工具下的滲透測試 | - |
CA-2.2 | RR 2.2.2.2 | 應用程式密碼 | 應用程式秘密不得在連續的純文本記憶體中使用,除非使用 來解密內容和/或密鑰處理數據時。 應用程式秘密不能用於在 PlayReady 信任執行環境外部執行的程式代碼。 | 架構檢閱和程式代碼檢閱 | - |
CA-3 | RR 2.2.3 | 視訊傳輸 | PlayReady 產品必須清楚設計,如此一來,當傳輸壓縮或未壓縮解密 A/V 內容的視訊部分時,這類數據使用廣泛可用的工具、特製化工具或專業軟體工具進行未經授權的攔截時,只能使用專業硬體工具攔截。 適用於專業硬體工具的困難程度,讓一般取用者不應該能夠使用專業硬體工具,以及沒有指示來攔截這類數據,而不會有嚴重損害產品或個人傷害的風險。 | 架構檢閱和程式代碼檢閱 | - |
CPR-1.1 | RR 3.1.2 | 裝置秘密、通訊協定秘密和應用程式秘密 | 實作在 1.2.1 節中設定的內容保護函式和特性 (探索、顯示及/或使用,而不授權裝置秘密、通訊協定秘密和/或應用程式秘密) PlayReady 健全性規則:無法使用廣泛可用的工具、特製化工具、專業軟體工具,或任何在 PlayReady 信任執行環境外執行的軟體來規避。 | 架構檢閱和程式代碼檢閱。 XYZ 工具下的滲透測試 | - |
CPR-1.2 | RR 3.1.2 | 裝置秘密、通訊協定秘密和應用程式秘密 | 實作在 1.2.1 節中設定的內容保護函式和特性 (探索、顯示及/或使用,而不授權裝置秘密、通訊協定秘密和/或應用程式秘密) PlayReady 強固性規則:只能使用專業硬體工具失敗或規避。 | 架構檢閱和程式代碼檢閱 | - |
CPR-2.1 | RR 3.2 | 內容金鑰、授權完整性金鑰和中繼金鑰 | 實作在 1.2.2 節中設定的內容保護函式和特性, (探索、顯示及/或使用,而不授權內容密鑰、授權完整性密鑰和/或中繼金鑰) PlayReady 強固性規則:無法使用廣泛可用的工具、特製化工具、專業軟體工具,或任何在 PlayReady 信任執行環境外執行的軟體來規避。 | 架構檢閱和程式代碼檢閱 | - |
CPR-2.2 | RR 3.2 | 內容金鑰、授權完整性金鑰和中繼金鑰 | 實作在 1.2.2 節中設定的內容保護函式和特性, (探索、顯示及/或使用,而不授權內容密鑰、授權完整性密鑰和/或中繼金鑰) PlayReady 強固性規則:只能使用專業硬體工具失敗或規避。 | 架構檢閱和程式代碼檢閱。 XYZ 工具下的滲透測試 | - |
CPR-3.1 | RR 3.3.2 | 根公鑰 | 實作在第 1.3.1 節中設定的內容保護函式和特性, (取代,而不授權 PlayReady 強固性規則) 的根公鑰:無法使用廣泛使用的工具、特製化工具、專業軟體工具或任何在 PlayReady 信任執行環境外執行的軟體遭到破壞或規避。 | 架構檢閱和程式代碼檢閱 | - |
CPR-3.2 | RR 3.3.2 | 根公鑰 | 實作在第 1.3.1 節中設定的內容保護函式和特性, (取代沒有授權的 PlayReady 強固性規則) 根公鑰:只能使用專業硬體工具遭到破壞或規避。 | 等。 | - |
CPR-4.1 | RR 3.4.1 | 機密資訊 | 實作第 1.4 節中設定的內容保護函式和特性 (保留 PlayReady 強固性規則的機密) ,無論適用:無法使用廣泛使用的工具,都無法遭破壞或規避。 | 等。 | - |
CPR-4.2 | RR 3.4.1 | 機密資訊 | 實作在第 1.4 節中設定的內容保護函式和特性, (保留 PlayReady 強固性規則的機密) ,無論適用:只能使用特製化工具、專業軟體工具或專業硬體工具來克服或規避困難。 | 等。 | - |
其為 1.1 | RR 5.2.2.1 | 反回復時鐘 - 上次已知的良好時間 | 針對 PlayReady Final Products,實作 PlayReady Final Products) PlayReady 強固性規則的第 5.1.2. (8 節所設定的信任值和特性:無法使用廣泛使用的工具或特製化工具來修改授權。 | 等。 | - |
其為 1.2 | RR 5.2.2.1 | 反回復時鐘 - 上次已知的良好時間 | 針對實作 PlayReady 強固性規則的反覆原時鐘) PlayReady Final Products,實作 PlayReady 強固性規則的第 5.1.2. (8 節所設定的信任值和特性:只有在沒有授權的情況下,才能使用專業軟體工具或專業硬體工具修改失敗。 | 等。 | - |
一元-2.1 | RR 5.2.4 | 驗證狀態和定時器狀態 | 實作第 5.1.2.5 節中所設定的信任值和特性 (驗證狀態) 和第 5.1.2.6 節 (PlayReady 強固性規則的定時器狀態) :無法使用廣泛可用的工具在授權的情況下修改。 | 等。 | - |
一元-2.2 | RR 5.2.4 | 驗證狀態和定時器狀態 | 實作第 5.1.2.5 節所設定的信任值和特性 (驗證狀態) 和第 5.1.2.6 節 (PlayReady 強固性規則的定時器狀態) :只能使用特殊工具、專業軟體工具或專業硬體工具修改困難。 | 等。 | - |
TEER-1.1 | RR 7.2.1 | 安全時鐘 - 安全時鐘狀態 | 實作在 7.1.2.3 節中設定的內容保護函式和特性, (安全時鐘狀態,適用於實作 PlayReady 強固性規則的安全時鐘) 的 PlayReady 最終產品:無法使用廣泛使用的工具、特製化工具、專業軟體工具或任何在受信任執行環境外部執行的軟體修改。 | 等。 | - |
TEER-1.2 | RR 7.2.1 | 安全時鐘 - 安全時鐘狀態 | 已實作在 7.1.2.3 節中設定的內容保護函式和特性, (安全時鐘狀態,適用於 PlayReady Final Products,實作 PlayReady 強固性規則) 安全時鐘:只能在沒有授權的情況下使用專業硬體工具修改。 適用於專業硬體工具的困難層級,因此一般取用者不應該能夠使用專業硬體工具,且不需要指示,即可修改沒有授權的內容保護函式,以及第 7.1.2.3 節 (安全時鍾狀態中所述的特性,適用於 PlayReady Trusted Execution Environment 實作,以實作安全時鐘) ,且不會嚴重損害產品或個人損害的風險。 | 等。 | - |
TEER-2.1 | RR 7.2.2 | 裝置秘密、撤銷數據、定時器狀態、通訊協定秘密、工作集和輸出保護狀態 | 實作在 7.1.2.1 節 (裝置) 密碼中所設定的信任值和特性,第 7.1.2.4 節 (撤銷數據) ,第 7.1.2.5 節 (定時器狀態, 適用於實作安全時鐘) 、第 7.1.2.6 節 (通訊協定密碼) 、第 7.1.2.8 節 (工作集) ,以及第 7.1.2.9 節 (PlayReady 健全性規則的輸出保護狀態) : 若未使用廣泛使用的工具、特製化工具、專業軟體工具或任何在信任執行環境外部執行的軟體,就無法修改。 | 等。 | - |
TEER-2.2 | RR 7.2.2 | 裝置秘密、撤銷數據、定時器狀態、通訊協定秘密、工作集和輸出保護狀態 | 實作在 7.1.2.1 節 (裝置) 密碼中所設定的信任值和特性,第 7.1.2.4 節 (撤銷數據) ,第 7.1.2.5 節 (定時器狀態, 適用於實作安全時鐘) 、第 7.1.2.6 節 (通訊協定密碼) 、第 7.1.2.8 節 (工作集) ,以及第 7.1.2.9 節 (PlayReady 健全性規則的輸出保護狀態) : 只有在沒有使用專業硬體工具的授權的情況下,才能修改困難。 適用於專業硬體工具的困難層級,因此一般取用者不應該能夠使用專業硬體工具, 有或沒有指示,若要修改不授權,請修改 7.1.2.1 節 (裝置密碼) 節 7.1.2.4 (撤銷數據) 節 7.1.2.5 (定時器狀態中所述的信任值和特性 適用於實作安全時鐘) 、第 7.1.2.6 節 (通訊協定密碼) 、第 7.1.2.8 節 (工作集) ,以及第 7.1.2.9 節 (輸出保護狀態) ,而不會有嚴重損害產品或個人損害的風險。 | 等。 | - |
TEER-3.1 | RR 7.2.3 | 序列號 | 在 PlayReady 強固性規則) 的第 7.1.2.2 節中實作信任值和特性 (序號:無法特別使用廣泛使用的工具、特製化工具、專業軟體工具,或任何在信任執行環境外部執行的軟體進行設定。 | 等。 | - |
TEER-3.2 | RR 7.2.3 | 序列號 | 實作在 PlayReady 強固性規則的第 7.1.2.2 節中設定的信任值和特性 (序號) :只能使用專業硬體工具特別設定困難。 適用於專業硬體工具的困難層級,因此一般取用者不應該能夠搭配或沒有指示使用專業硬體工具,特別是設定產品或個人損害風險的第 7.1.2. (2 節中所設定的信任值和特性) ,而不會有嚴重損害產品或個人損害的風險。 | 等。 | - |
TEER-4.1 | RR 7.2.4 | 安全程序代碼 | 實作在 PlayReady 強固性規則的第 7.1.2.7 節中設定的信任值和特性 (安全程式碼) :無法使用廣泛使用的工具、特製化工具、專業軟體工具或任何在信任執行環境外部執行的軟體修改。 | 等。 | - |
TEER-4.2 | RR 7.2.4 | 安全程序代碼 | 實作在 PlayReady 強固性規則的第 7.1.2.7 節中設定的信任值和特性 (安全程式碼) :因為授權或未經授權而無法修改授權,而不需授權。 | 等。 | - |
TEER-4.3 | RR 7.2.4 | 安全程序代碼 | 實作在 PlayReady 強固性規則的第 7.1.2.7 節中設定的信任值和特性 (安全程式代碼) :因為缺少任何必要程式而無法修改,但不包括安全開機程式。 | 等。 | - |
TEER-4.4 | RR 7.2.4 | 安全程序代碼 | 在 PlayReady 強固性規則的第 7.1.2.7 節中實作信任值和特性 (安全程式碼) :只有在沒有授權的情況下,才能使用專業硬體工具修改困難。 適用於專業硬體工具的困難層級,因此一般取用者不應該能夠使用專業硬體工具,以及沒有指示,在未授權的情況下修改專業硬體工具, (安全碼) ,而不需要嚴重損害產品或個人損害的風險。 | 等。 | - |
TEER-5.1 | RR 7.3.1 | 安全開機程式 | 實作在 PlayReady 強固性規則的第 7.1.3.1 節中設定的必要程式, (安全開機程式) ,包括其已使用的數據、秘密和進程流程除外:無法使用廣泛可用的工具、特製化工具、專業軟體工具或任何在受信任執行環境外部執行的軟體修改。 | 等。 | - |
TEER-5.2 | RR 7.3.1 | 安全開機程式 | 實作在 PlayReady 強固性規則的第 7.1.3.1 節中設定的必要程式, (安全開機程式) ,包括沒有例外狀況的已使用數據、秘密和程式流程:只能在沒有授權的情況下使用專業硬體工具修改。 適用於專業硬體工具的困難層級,因此一般取用者不應該能夠使用專業硬體工具,且沒有指示,以在沒有授權的情況下修改產品或個人損害的風險 (安全開機程式 (安全開機程式所設定的信任值和特性) 沒有嚴重損害的風險 | 等。 | - |
TEER-6.1 | RR 7.3.2 | 安全更新程式 | 實作在 PlayReady 強固性規則) 的第 7.1.3.2 節中設定的必要程式 (安全更新程式:無法使用廣泛使用的工具、特製化工具、專業軟體工具或任何在信任執行環境外部執行的軟體修改。 | 等。 | - |
TEER-6.2 | RR 7.3.2 | 安全更新程式 | 實作在 PlayReady 強固性規則的第 7.1.3.2 節中設定的必要程式 (安全更新) 程式:無法回復到任何先前的狀態,而這樣做會降低進程或任何相關信任值的健全程度。 | 等。 | - |
TEER-6.3 | RR 7.3.2 | 安全更新程式 | 實作在 PlayReady 強固性規則) 的第 7.1.3.2 節中設定的必要程式 (安全更新程式:只能在沒有授權的情況下使用專業硬體工具修改。 適用於專業硬體工具的困難層級,因此一般取用者不應該能夠使用專業硬體工具,以及沒有指示,以在沒有授權的情況下修改產品或個人損害的風險 (7.1.3.2 (安全更新程式所設定的信任值和特性) ,而沒有嚴重損害產品或個人損害的風險 | 等。 | - |
TEER-7.1 | RR 7.4.1 | 遠端布建 | 實作在強固性規則的第 7.1.4.1 節中設定的選擇性程式 (遠端布建) :無法使用廣泛使用的工具、特製化工具、專業軟體工具或任何在信任執行環境外部執行的軟體修改。 | 等。 | - |
TEER-7.2 | RR 7.4.1 | 遠端布建 | 實作在 7.1.4.1 節中設定的選擇性程式 (強固性規則的遠端布建) :只能在沒有使用專業硬體工具授權的情況下修改困難。 適用於專業硬體工具的困難層級,因此一般取用者不應該能夠使用專業硬體工具,且不需指示即可修改,而不需授權修改產品或個人損害 (7.1.4.1 節中所設定的信任值和特性) ,而沒有嚴重損害產品或個人損害的風險。 | 等。 | - |
TEER-7.3 | RR 7.4.1 | 遠端布建 | 實作在強固性規則的第 7.1.4.1 節中設定的選擇性程式 (遠端布建) :除非這類秘密對裝置而言是唯一的,且符合第 7.2.2 節中的需求,否則無法利用裝置秘密來證明真確性。 | 等。 | - |
TEEC-1.1 | CR 19.2.1 | 硬體識別 | PlayReady 信任的執行環境 (TEE) 提供唯一的硬體識別碼。 | 等。 | - |
TEEC-1.2 | CR 19.2.2 | 硬體識別 | PlayReady TEE 的硬體標識碼會在裝置重新啟動時持續存在。 | 等。 | - |
TEEC-1.3 | CR 19.2.2 | 硬體識別 | PlayReady TEE 的硬體標識碼在裝置韌體更新之間持續存在。 | 等。 | - |
TEEC-2.1 | CR 19.3.1 | 介面定義 | PlayReady Interface for Trusted Execution Environment 的所有函式 (PRiTEE) 都已在 PlayReady TEE 內實作。 | 等。 | - |
TEEC-2.2 | CR 19.3.1 | 介面定義 | Microsoft 實作中已記載為需要取代的任何函式提供安全取代實作。 | 等。 | - |
TEEC-2.3 | CR 19.3.3 | 介面定義 | PlayReady TEE 尚未變更 PRiTEE 所定義之方法參數的結構或內容。 | 等。 | - |
TEEC-3.1 | CR 19.3.2 | 主要數據 | PlayReady 產品的 TEE 會為每個用戶端提供唯一的對稱密鑰。 | 等。 | - |
TEEC-3.2 | CR 19.3.2 | 主要材質。 | PlayReady 產品的對稱密鑰只能供 PlayReady TEE 內執行的程式代碼存取。 | 等。 | - |
TEEC-4 | CR 19.4.1 | 必要保護原則 | PlayReady TEE 已實作輸出控件,如 PlayReady 合規性規則的第 3.6 節 (輸出控件) 中所定義。 | 等。 | - |
TEEC-5.1 | CR 19.5.1 | 輸出保護需求 | PlayReady TEE 支援 PlayReady 合規性規則第 3.6 節 (輸出控件) 中找到的所有輸出控件需求。 | 等。 | - |
TEEC-5.2 | CR 19.5.1 | 輸出保護需求 | 所有輸出保護需求都會在 PlayReady TEE 內強制執行,不論所解譯的任何授權的最低授權安全性等級為何。 | 等。 | - |
TEEC-6.1 | CR 19.6.2 | 安全時鐘 | PlayReady TEE 內實作的安全時鐘在重設時不會提供有效的時間。 | 等。 | - |
TEEC-6.2 | CR 19.6.2 | 安全時鐘 | 安全時鐘只能從 PlayReady TEE 內設定。 | 等。 | - |
TEEC-6.3 | CR 19.6.2 | 安全時鐘 | 安全時鐘可以定期設定。 | 等。 | - |
TEEC-6.4 | CR 19.6.3 | 安全時鐘 | 支援安全時鐘的 PlayReady TEE 報告會使用這類安全時鐘來強制執行授權到期。 | 等。 | - |
TEEC-7 | CR 19.8.1 | 金鑰歷程記錄 | 更新或變更金鑰時,PlayReady TEE 能夠復原所有先前的密鑰來解密已儲存的內容。 | 等。 | - |