在 HDCP 2.2 身份驗證過程 – 簡介中,我們討論了為什么需要 HDCP,以及 HDCP 身份驗證過程的基本步驟。我們注意到,RSA 的高級版本是身份驗證和密鑰交換期間使用的基礎(chǔ)加密標準。在 HDCP 2.2 身份驗證:RSA 加密中,我們討論了 RSA 加密的基礎(chǔ)知識。在這篇博文中,我們將深入探討身份驗證和密鑰交換 (AKE) 的詳細信息,這是身份驗證協(xié)議的第一步。
HDCP 發(fā)射器可以隨時啟動,甚至在之前的身份驗證完成之前。HDCP 接收器的公鑰證書由 HDCP 發(fā)射器驗證,然后設(shè)備共享主密鑰 Km。這個存儲的主密鑰公里加速了HDCP發(fā)射器和接收器之間的后續(xù)通信。即使發(fā)射器沒有與 HDCP 接收器對應的存儲主密鑰,也會進行身份驗證。這些密鑰信息以消息的形式發(fā)送。如果我們使用HDMI,那么這些消息將以大端格式通過基于I2C的控制總線。
1024 位寬接收方的公鑰存儲在證書中,證書具有以下內(nèi)容:
下圖顯示了身份驗證和密鑰交換的流程:
身份驗證和密鑰交換流(未存儲 Km)
發(fā)射器將自己的信息發(fā)送給接收器,接收器又在 100ms 時間范圍內(nèi)發(fā)送包含公鑰的自己的證書。發(fā)射器驗證簽名。如下圖所示,簽名驗證失敗將導致身份驗證中止:
AKE 期間的簽名驗證
簽名驗證成功后,如果發(fā)射器沒有存儲的主密鑰 Km 距離上一個會話,發(fā)射器將生成一個隨機的 128 位主密鑰,使用 RSAES-OAESP 加密和接收器的公鑰對其進行加密,并將其發(fā)送給接收器。
除了簽名驗證外,發(fā)送器還會檢查接收方的接收方 ID 是否不在吊銷列表中。這是一個確保在身份驗證期間跟蹤已泄露和識別的接收方的過程。如果在吊銷列表中找到接收方 ID,則 AKE 將中止。
收到加密的 Km,接收方使用接收方私鑰對其進行解密(HDCP2.2 建議使用中文余數(shù)定理來減少工作量,因為這是整個認證流程中計算最密集的步驟)。整個解密和隨后的哈希值計算的時間限制為 1s。
接收器成功解密 km 后,會將主密鑰 Km 的哈希值H_Prime HMAC-SHA-256(有關(guān)詳細信息,請參閱以下部分)發(fā)送回發(fā)射器。這是為了向發(fā)射器提供確認,即接收器確實已成功解密主密鑰 Km。
從接收器接收到哈希值 (H_prime) 后,發(fā)射器會根據(jù)自己的計算值進行檢查。成功比較H_Prime后,身份驗證和密鑰交換完成,否則 AKE 將中止。
HMAC SHA-256
為了提高消息的真實性,HDCP2.2 使用基于哈希的消息真實性代碼 (HMAC)。HMAC-SHA256 是一種消息身份驗證方法,它使用底層哈希函數(shù)作為 SHA-256。HMAC-SHA256 的輸入是一個密鑰(可以是消息)。輸出是消息訪問代碼,可以發(fā)送回消息的發(fā)起者,該消息的發(fā)起者可以根據(jù)自己的代碼檢查HMAC代碼,并驗證消息是否已被接收方正確接收。
配對
在解釋身份驗證流程中的下一步之前,請務必解釋稱為配對的過程。在上面的 AKE 流程中,解釋了如果發(fā)射器沒有存儲的密鑰 Km,它如何生成主密鑰 Km?,F(xiàn)在,發(fā)射器可以存儲接收到的 Km 值供下一個會話使用并重復使用,而不是生成新的 Km,從而加快 AKE 的整個流程。在接收機向發(fā)射機發(fā)送H_Prime信息的AKE流中,它會將AES加密的主密鑰發(fā)送給發(fā)射機。發(fā)射器存儲加密的主密鑰和主密鑰本身。對于后續(xù)會話,下圖顯示了存儲了 Km 的 AKE 流:
身份驗證和密鑰交換(使用存儲的公里)
審核編輯:郭婷
-
接收器
+關(guān)注
關(guān)注
14文章
2472瀏覽量
71917 -
發(fā)射器
+關(guān)注
關(guān)注
6文章
849瀏覽量
53473 -
HDCP
+關(guān)注
關(guān)注
0文章
36瀏覽量
17267
發(fā)布評論請先 登錄
相關(guān)推薦
評論