第一章 HDCP介绍
HDCP (High-bandwidth Digital Content Protection) 是一种用于保护数字内容传输的技术。它主要应用于高清晰度数字视频和音频接口,如HDMI(High-Definition Multimedia Interface)和DisplayPort。
HDCP技术通过加密和认证机制,确保只有合法的接收设备才能解密和播放受保护的内容。这样可以有效防止未经授权的复制和传播数字内容,保护版权和内容提供商的利益。HDCP技术在各种数字娱乐设备中得到广泛应用,包括电视、投影仪、蓝光播放器等。
HDCP可以拆解为授权认证协议、 数据加密 /解密和自我更新。
1.授权认证
HDCP的发送端和接收端都有一套统一的设备钥匙集,它由一组设备私有密钥(DPKs/ 40个56bit data)和一个密钥选择向量(KSV / 40bit data)组成。
在HDCP设备发送端和接收端传输数据前要先相互读取对方的KSV值.然后根据对方的KSV值在自己的DPKs值中选取一部分密钥,然后各自计算出共享密值 ,如果共享密值不相等,则认证失败。
2. 数据加密/解密
如果认证成功,设备之间开始传送数据,HDCP发送端根据共享密值计算出一个伪随机加密数据(24bit data),该数据与由HDMI三条TMDS通道传输的内容数据(24bit)进行异或逻辑运算,结果再送往TMDS编码器生成TMDS信号,然后传送到接收端,接收端根据共享密值产生相应的伪随机解密数据(24bit data),来还原内容数据。
3.自我更新
HDCP通过“撤销密钥”机制防止密钥泄露。在HDCP系统收到 KSV值以后,将会对比包含在视频数据中的撤销列表。如果该KSV值出现在撤销列表中,则HDCP系统就会把这个传输设备判定为非法设备而拒绝连接。HDCP中的撤销列表将随着视频节目的更新而更新。 这样的设计就能够保证整个HDCP 系统的可靠性。
第二章 HDCP的key交互
HDCP(High-bandwidth Digital Content Protection宽带数字视频保护)是用来对具备HDMI功能的发射端和具备HDMI功能的接收端的传输保护,为了保护版权,更是得到了运动图像业界(如FOX、Universal、Warner Bros等)的认可。它是基于HDMI这种传输高速、高带宽的数字内容保护,其它的防拷贝技术不适合HDMI,如Macrovision只适合模拟信号,DCTP只支持100~400M的带宽,只适应IEEE-1394。
要获得这种技术和生产带HDCP功能的产品,必须从Digital Content Protection LLC获得许可才能得到HDCP所需的设备密匙(device key),它具有唯一性,一个设备一个key。
首先要得到HDCP的确认(Authentication)才能进行HDMI数据传输,其过程如下:
当发射端和接收端从Digital Content Protection LLC得到有效的device key,就会有相应的识别器(Identifier)即KSV(Key Selection Vector密匙选择矢量)。
- 确认初始化,由发射端A的HDCP密码引擎产生一个64bit的伪随机序列An,连同自己的KSV(Aksv),传给接收端,接收端向发射端传输自己的KSV(Bksv)和REPEATER bit进行响应。
- 发射端由Akey和Bksv进行算法得到Km,再由Km、REPEATER、An得到Ks、Mo、R0,同样接收端由Bkey和Aksv进行算法得到Km’,再由Km、REPEATER、An得到Ks’、Mo’、Ro’。
- 当R0= R0’时,HDCP的初始确认通过。
第三章 HDCP的工作模式
HDMI+HDCP+HPD+EDID的工作原理
1.HPD
(Hot Plug Detect热插拔检测)是检测接收端是否连上的一种方法,而不管接收端是否上电。2.EDID
当检测到接收端已连上,就从接收端的EEPROM中读EDID信息,EDID(Extended display Identification Data 扩展显示识别数据)是在接收端的EEPROM存放monitor的显示格式,发射端(PC主机)需要读出EDID信息,从而确定输出的格式。3. 检测接收端是否上电 ,建立HDMI连接 ,HDCP的确认 ,重试三次
4. HDMI数据传输和TMDS的解码。
第四章 HDCP协议概述
High-Bandwidth Digital Content Protection, 简称HDCP,为高清数字内容保护,是2003年由Intel所制订的一种针对数字内容保护机制的技术规范,假设播放器(Transmitter)、显示器(Receiver)或是中继器(Repeater)其中一端没有HDCP功能,即无法拨放高清的影音内容,画质就会降低为480p甚至无法拨放。而厂商若要运用这样的保护技术,首先必须加入Digital Content Protection (DCP)成为会员,并缴纳年费(US$ 15,000),此外再向DCP协会购买内容加密所使用的密钥(Key),Key的费用端看购买的数量而决定。
Transmitter, Receiver, Repeater是HDCP系统里的三大主角,根据HDCP 1.x规格其系统层级最多可以下接到7层Repeater,最多可连接128个装置。
- Transmitter可以在任何时间发起HDCP验证。
- Transmitter传送Aksv及An给Receiver。(AKsv: Transmitter的KSV, An:随机的64bit值)
- Receiver回应传送Bksv及REPEATER bit(Bksv : Receiver的KSV,REPEATER bit: 表示receiver是否为repeater)。
- Transmitter与下接装置回传的KSV对应的secrect device key,经由56 bit的二进制加法计算出Km(shared secret value)。下接装置亦使用相同的算法计算出Km’(shared secret value)。
当下级装置为Repeater时,搜集所有下接device的KSV并回报上游装置,只有当下接Device为Repeater才会进行此步骤。
- Transmitter设5秒等待时间机制确保此步骤5秒内完成,并询问下级KSV清单及Readybit状态。
- 下级Repeater传送Ready bit=1以及搜集到的KSV清单给Transmitter。
- 下级Repeater用搜集到的KSV 清单, Bstatus以及在1stpart of authentication protocol所计算出的M0’,运用SHA-1的运算方式算出V’ 。
- 上级Repeater运用相同的方式计算出V,并且与下级Repeater回传的V’做比对,若V≠V’则无法传送READYstatus bit=1给Transmitter,表示KSV清单完整性有问题,最后5秒等待时间将会过时。
- 若V=V’,Transmitter再次检查KSV list以及V, V’,若:
a. KSV list大小超过Transmitter的容量
b. V≠V’
c. Transmitter在五秒内没有收到Ready bit =1则终止联机,并尝试重新1st part of authentication。
确认两台HDCP 装置的加密频率、顺序是否一致与同步,并同时产生额外的验证机制。
- 双方计算Ki, Mi, Ri。
Ki : 56位的值去初始化HDCP密码单元的解密以及加密Mi: 64位的值去初始化HDCP密码单元Ri: 16位的值来确认Transmitter及Receiver是否合法 - i为frame number,当完成1st part of Authentication Protocol后第一个encryptedframe开始后计算i,每一个frame或是每一个加密的frame往上递增。
- Ri及Ri’每128个frame会重新计算一次。
- Transmitter 每两秒会比对Ri和Ri’一次。
- Transmitter 需在1ms内读取Ri’。
- 若设备支持1.1_FEATURES则会检查Pj, 每16个frame检查一次Pj,若连续三个Pj检查错误则判定pixeltransmission error。
更新于:2023年12月2日