【技術文章】HDCP 1.x Overview

Granite River Labs, GRL
Ray Yang 楊昕叡

 

          High-Bandwidth Digital Content Protection,簡稱 HDCP,為高清數位內容保護,是 2003 年由 Intel 所制訂的一種針對數位內容保護機制的技術規範,主要用於防止透過 DVI、HDMI 及  DisplayPort 等數位介面傳輸的高清影片內容被非法錄製。這種技術是將影音內容進行加密,讓非法錄製者無法還原到原本的高清影音內容。

          假設撥放器(Transmitter)、顯示器(Receiver)或是中繼器(Repeater)其中一端沒有 HDCP 功能,即無法撥放高清的影音內容,畫質就會降低為 480p 甚至無法撥放。隨著高清傳輸內容的需求越發普遍,這種對數位內容加密的技術也越來越普及,目前市面上消費性多媒體影音與娛樂產品例如撥放器、螢幕或是電視遊戲機等,大都將 HDCP 視為其基本支援的功能。

          而廠商若要運用這樣的保護技術,首先必須加入 Digital Content Protection (DCP)成為會員,並繳納年費(US$ 15,000),此外再向 DCP 協會購買內容加密所使用的金鑰(Key),Key 的費用端看購買的數量而決定。請參考表 1。

HDCP, HDMI, DisplayPort, DP, DCP, High-Bandwidth Digital Content Protection, 高清數位內容, Transmitter, Repeater, Receiver, Digital Content Protection, Authentication Protocol

表 1

 

           這個購買的 ”KEY” 包含一組特別的金鑰 Key Selection Vector(KSV),為 HDCP 加密裡面最重要的一個環節,為 20 個 ”0” 以及 20 個 ”1” 所組成二進位值,Transmitter 以及 Receiver 會核對對方的 KSV 以確保連線為合法的,每一個設備都會有一組獨一無二的金鑰,每一個 Key 都會被記錄在 DCP 協會裡的一個清單裡。

           為了防範 Key 被破解或是洩漏,HDCP 建立了一個”撤銷列表”,這個表會列上所有被破解過或是洩漏出去的 KSV,Transmitter 會檢查 Receiver 的 KSV 是否在列表上,若在列表上則連線為非法會立即中止連線,無法正常撥放影音內容。

           Transmitter、Receiver、Repeater 是 HDCP 系統裡的三大主角,根據 HDCP 1.x 規格其系統層級最多可以下接到 7 層 Repeater,最多可連接 128 個裝置。各產品類型連接方式如圖 1 所示。

HDCP, HDMI, DisplayPort, DP, DCP, High-Bandwidth Digital Content Protection, 高清數位內容, Transmitter, Repeater, Receiver, Digital Content Protection, Authentication Protocol

圖 1:HDCP 系統樹狀圖(取自 HDCP Specification Rev1_4)

 

           授權認證協定(Authentication Protocol)是 Transmitter 以及 Receiver 進行金鑰的交換,讓 Transmitter 去確認 Receiver 是有被授權的裝置,可以接收有 HDCP 加密的數位影音內容。這種認證協定金鑰交換的方法,主要是雙方使用由 DCP 協會所授權的 Device Private Keys 去做加密計算出一個 shared secret value,有了這個值即可確認雙方是否為授權的 Device。

授權認證主要會有三個步驟如下:

1. First part of Authentication Protocol

2. Second part of Authentication Protocol

3. Third part of Authentication Protocol

 

» First part of Authentication Protocol

           此步驟是在 Transmitter 及 Receiver/Repeater 間進行金鑰 Key 交換並加以計算來確保雙方連線為合法。

HDCP, HDMI, DisplayPort, DP, DCP, High-Bandwidth Digital Content Protection, 高清數位內容, Transmitter, Repeater, Receiver, Digital Content Protection, Authentication Protocol

圖 2:1st part of authentication protocol

 

           -步驟:

1. Transmitter 可以在任何時間發起 HDCP 驗證。

2. Transmitter 傳送 Aksv 及 An 給 Receiver(AKsv:Transmitter 的 KSV,An:隨機的 64bit 值)。

3. Receiver 回應傳送 Bksv 及 REPEATER bit(Bksv:Receiver 的 KSV,REPEATER bit:表示 Receiver 是否為 Repeater)。

4. Transmitter 與下接裝置回傳的 KSV 對應的 Secret device key,經由 56 bit 的二進位加法計算出 Km(shared secret value)。下接裝置亦使用相同的演算法計算出 Km’(shared secret value)。

HDCP 密碼單元會用 Km, repeater||An 繼續計算 Ks, M0, R0。
Ks:Session key, 為 HDCP 密碼單元裡一個 56-bit secret key
M0:是一個 64-bit secret value,會在 2nd part of authentication protocol 使用。
R0:是一個 16-bit 的回傳值,是 Receiver 回傳給 Transmitter 說這次的 authentication 交換成功。

5. 若 R0= R0’ 則完成 Authentication 便會開始進行 HDCP 解密。

6. Transmitter 在完成寫入 Aksv100ms 之後才可讀取 R0’。

 

» Second part of Authentication Protocol

           此步驟是當下級裝置為 Repeater 時,蒐集所有下接 Device 的 KSV 並回報上游裝置,只有當下接 Device 為 Repeater 才會進行此步驟。

HDCP, HDMI, DisplayPort, DP, DCP, High-Bandwidth Digital Content Protection, 高清數位內容, Transmitter, Repeater, Receiver, Digital Content Protection, Authentication Protocol

圖 3:2nd part of authentication protocol

 

           -步驟:

1. Transmitter 設 5 秒等待時間機制確保此步驟 5 秒內完成,並詢問下級 KSV 清單及 Ready bit 狀態。

2. 下級 Repeater 傳送 Ready bit=1 以及蒐集到的 KSV 清單給 Transmitter。

3. 下級 Repeater 用蒐集到的 KSV 清單, Bstatus 以及在 1st part of authentication protocol 所計算出的 M0’,運用 SHA-1 的運算方式算出 V’ 。

4. 上級 Repeater 運用相同的方式計算出 V,並且與下級 Repeater 回傳的 V’做比對,若 V≠V’則無法傳送 READY status bit=1 給 Transmitter,表示 KSV 清單完整性有問題,最後 5 秒等待時間將會過時。

5. 若 V=V’,Transmitter 再次檢查 KSV list 以及 V, V’,若:

a. KSV list 大小超過 Transmitter 的容量
b. V≠V’
c. Transmitter 在五秒內沒有收到 Ready bit =1

則終止連線,並嘗試重新 1st part of authentication。

除了蒐集 KSV 完整清單之外,Repeater 也會回報 Bstatus 裡的 DEVICE_COUNT 和 DEPTH 給 Transmitter,讓 Transmitter 檢查整個 HDCP 系統裡的階層數以及下接 Device 數量是否超過 HDCP 系統的上限。

 

» Third part of Authentication Protocol

這步驟系統會確認兩台 HDCP 裝置的加密頻率、順序是否一致與同步,並同時產生額外的驗證機制。

HDCP, HDMI, DisplayPort, DP, DCP, High-Bandwidth Digital Content Protection, 高清數位內容, Transmitter, Repeater, Receiver, Digital Content Protection, Authentication Protocol

圖 4:3rd part of authentication protocol

 

          -步驟:

1. 雙方計算 Ki, Mi, Ri。

Ki : 56 位元的值去初始化 HDCP 密碼單元的解密以及加密
Mi: 64 位元的值去初始化 HDCP 密碼單元
Ri: 16 位元的值來確認 Transmitter 及 Receiver 是否合法

2. i 為 frame number,當完成 1st part of Authentication Protocol 後第一個 encrypted frame 開始後計算 i,每一個 frame 或是每一個加密的 frame 往上遞增。

3. Ri 及 Ri’每 128 個 frame 會重新計算一次。

4. Transmitter 每兩秒會比對 Ri 和 Ri’一次。

5. Transmitter 需在 1ms 內讀取 Ri’ 。

6. 若設備支援 1.1_FEATURES 則會檢查 Pj,每 16 個 frame 檢查一次 Pj,若連續三個 Pj 檢查錯誤則判定 pixel transmission error。

 

消費者若想觀看有 HDCP 保護的數位多媒體影音內容如藍光光碟時,訊號發送端(DVD player)及接收端(TV、Monitor)都得具備內建金鑰以及上述驗證步驟的能力,否則將無法觀賞高解析度數位影像內容。除了HDCP 1.4 外,為了因應 HDMI 2.0 的更新(現為 HDMI 2.1),DPC 協會也在 2013 年發表了 HDCP 2.2 的保護機制來保護更高解析度的內容,並在 2018 年更新為 HDCP 2.3。

 

 

參考文獻

  • High-bandwidth Digital Content Protection System, Revision 1.4. 8 July, 2009
  • High-bandwidth Digital Content Protection Specification Compliance Test Specification, Revision 1.2. November 18, 2009

 

文章下載

 

作者
GRL 台灣技術工程師 楊昕叡 Ray Yang

畢業於國立台灣科技大學化學工程學系。
在 GRL 累積三年多的 HDMI 相關測試經驗,熟悉 HDMI、MIPI、V by One 等測試規範。目前在 GRL 台灣主要負責HDMI 測試,樂於協助客戶釐清 HDMI 方面的問題,以順利取得認證。

 

想瞭解更多相關服務,歡迎聯絡:

11493台北市內湖區內湖路一段516號4樓
電話: +886 (2) 2657-2199 #105
Email: info_taiwan@graniteriverlabs.com
官網: www.graniteriverlabs.com.tw

 

本文件中規格特性及其說明若有修改恕不另行通知。                        發佈日期 2021/05/20 AN-210520-TW