1. 簡介
此頁面旨在做為 PlayReady 授權者的逐步指南,以達到 PlayReady 中繼或最終產品的 SL3000 合規性。 檔概述中繼和最終產品的端對端程式,並詳細說明 SL3000 一致性中繼產品的需求。
此頁面包含兩個主要區段:
SL3000 設計流程部分概述了 PlayReady 授權者尋求中繼產品或 PlayReady 最終產品的 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:內容保護穩健性
- PKR: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 | 裝置秘密、通訊協定秘密和應用程式秘密 | 已根據 PlayReady 健全性規則第 1.2.1 節所設定的內容保護功能與特性來實作設備秘密、通訊協定秘密及/或應用程式秘密的發現、揭露及/或未經授權的使用:無法被廣泛可用的工具、特製工具、專業軟體工具,或任何在 PlayReady 信任執行環境外執行的軟體所擊敗或規避。 | 架構檢閱和程式代碼檢閱。 XYZ 工具下的滲透測試 | - |
CPR-1.2 | RR 3.1.2 | 裝置秘密、通訊協定秘密和應用程式秘密 | 已實施 PlayReady 健全性規則第 1.2.1 節中規定的內容保護功能與特性(發現、揭露和/或未經授權使用裝置秘密、通訊協定秘密和/或應用程式秘密):只能使用專業硬體工具以較高難度來擊敗或規避。 | 架構檢閱和程式代碼檢閱 | - |
CPR-2.1 | RR 3.2 | 內容金鑰、授權完整性金鑰和中繼金鑰 | 已實作內容保護功能及特徵,並符合 PlayReady 強固性規則第 1.2.2 節(發現、揭示及/或未授權使用內容密鑰、授權完整性密鑰及/或中繼密鑰):無法使用廣泛可用工具、特製工具、專業軟體工具或任何在 PlayReady 信賴執行環境外部執行的軟體進行破解或規避。 | 架構檢閱和程式代碼檢閱 | - |
CPR-2.2 | RR 3.2 | 內容金鑰、授權完整性金鑰和中繼金鑰 | 已實作於 PlayReady 健全性規則第 1.2.2 節中所設定的內容保護功能與特性(探索、揭示及/或使用授權密鑰、授權完整性密鑰及/或中繼密鑰),需使用專業硬體工具才可能在未經授權的情況下困難地被破解或繞過。 | 架構檢閱和程式代碼檢閱。 工具 XYZ 下的滲透測試 | - |
CPR-3.1 | RR 3.3.2 | 根公鑰 | 已實作於 PlayReady 健全性規則第 1.3.1 節所設定的內容保護功能與特性(未經授權更換根公鑰):無法被擊敗或規避,無論是使用廣泛可用的工具、特製化工具、專業軟體工具,或任何在 PlayReady 受信任執行環境之外運行的軟體。 | 架構檢閱和程式代碼檢閱 | - |
CPR-3.2 | RR 3.3.2 | 根公鑰 | 已實作 PlayReady 健全性規則第 1.3.1 節中規定的內容保護功能與特性:只能在使用專業硬體工具的情況下艱難地被破解或規避。 | 等。 | - |
CPR-4.1 | RR 3.4.1 | 機密資訊 | 已實施適用於 PlayReady 健全性規則第 1.4 節(保密)中所述的內容保護功能與特性,在任何適用的情況下:無法被廣泛使用的工具所擊敗或規避。 | 等。 | - |
CPR-4.2 | RR 3.4.1 | 機密資訊 | 已實作 PlayReady 健全性規則第 1.4 節(保密)中所述的內容保護功能與特性,並在適用的情況下,只能用特製工具、專業軟體或專業硬體工具才能以困難的方式予以破解或規避。 | 等。 | - |
PKR-1.1 | RR 5.2.2.1 | 防止回退時鐘 - 最近已知的正確時間 | 已實作於 PlayReady 健全性規則第 5.1.2.8 節所設定的信任值和特性(適用於具有防回滾時鐘功能的 PlayReady 最終產品的上次已知的良好日期和時間),無授權下無法使用廣泛可用的工具或特製工具進行修改。 | 等。 | - |
PKR-1.2 | RR 5.2.2.1 | 防止回退時鐘 - 上次最佳已知時間 | 已實作於 PlayReady 穩固性規則第 5.1.2.8 節中所設定的信任值和特性(適用於防回滾時鐘的 PlayReady 最終產品的上次已知良好日期和時間),在沒有合法授權的情況下,難以使用專業軟體工具或專業硬體工具進行修改。 | 等。 | - |
PKR-2.1 | RR 5.2.4 | 驗證狀態和定時器狀態 | PlayReady 健全性規則第 5.1.2.5 節(驗證狀態)和第 5.1.2.6 節(定時器狀態)中設定的信任值及特性已被實施:未經授權,無法使用廣泛可用的工具進行修改。 | 等。 | - |
巴基斯坦卢比-2.2 | RR 5.2.4 | 驗證狀態和定時器狀態 | 已實作 PlayReady 健全性規則第 5.1.2.5 節(驗證狀態)和第 5.1.2.6 節(定時器狀態)中設定的信任值和特性:若未獲得授權,僅能透過特製化工具、專業軟體工具或專業硬體工具艱難地進行修改。 | 等。 | - |
TEER-1.1 | RR 7.2.1 | 安全時鐘 - 安全時鐘狀態 | 已實作 PlayReady 健全性規則第 7.1.2.3 節中設定的內容保護功能與特性(安全時鍾狀態,適用於實作安全時鐘的 PlayReady 最終產品):使用廣泛可用的工具、特製化工具、專業軟體工具,或任何在受信任執行環境外部執行的軟體,不得在沒有授權的情況下修改。 | 等。 | - |
TEER-1.2 | RR 7.2.1 | 安全時鐘 - 安全時鐘狀態 | 已實作 PlayReady 健全性規則第 7.1.2.3 節中設定的內容保護功能和特性(安全時鐘狀態,適用於建置安全時鐘的 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 節(定時器狀態,適用於實作安全時鐘的 PlayReady 產品)、第 7.1.2.6 節(通訊協議密碼)、第 7.1.2.8 節(工作集),以及第 7.1.2.9 節(輸出保護狀態)中設定的信任值和特性:在沒有授權的情況下,不得使用廣泛可用的工具、特製化工具、專業軟體工具或任何在信任執行環境外部執行的軟體進行修改。 | 等。 | - |
TEER-2.2 | RR 7.2.2 | 裝置密碼、撤銷數據、定時器狀態、通訊協定秘密、工作集和輸出保護狀態 | 已實作並依據 PlayReady 健全性規則第 7.1.2.1 節(裝置秘密)、第 7.1.2.4 節(撤銷數據)、第 7.1.2.5 節(適用於實作安全時鐘的 PlayReady 產品的定時器狀態)、第 7.1.2.6 節(通訊協定秘密)、第 7.1.2.8 節(工作集)及第 7.1.2.9 節(輸出保護狀態)所設立的信任值和特性:未經授權的情況下,只有使用專業硬體工具才能夠以極大難度進行修改。 專業硬體工具的應用難度層級如此之高,以至於一般消費者無論有無指示,都不應能夠使用專業硬體工具,在未經授權的情況下修改第 7.1.2.1 節(裝置密碼)、第 7.1.2.4 節(撤銷資料)、第 7.1.2.5 節(定時器狀態,適用於實作安全時鐘的 PlayReady 產品)、第 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 節中設定的信任值和特性:即使使用專業硬體工具,未經授權也只有困難地才能修改。 適用於專業硬體工具的困難程度是普通消費者不應能夠使用專業硬體工具,有或沒有指示的情況下,未經授權修改第 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 節(安全開機流程)中規定的必要程式,無一例外包括所使用的數據、秘密和流程:僅在缺乏授權時,使用專業硬體工具亦難以修改。 適用於專業硬體工具的困難程度應足以使一般消費者,即使在有或沒有指導的情況下,亦不應能夠在未經授權的情況下修改第 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 受信任執行環境介面(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 Product 的 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 能夠復原所有先前的密鑰來解密儲存的內容。 | 等。 | - |