基于DisplayPort接口的HDCP软件实现及应用
[10-10 20:42:03] 来源:http://www.88dzw.com 电子制作 阅读:8151次
文章摘要:● 协议第一步:R0(R0’)验证当KSV检测和验证成功后,系统将进入算法认证的第一步。其认证协议结构如图4所示。图4 密钥交换认证协议图其中Km=∑Akeys over Bksv和Km’=∑Bkeys over Aksv 是一种密钥选择机制。接收端的KSV被认为合法后,发送端和接收端都会通过自己的私钥和相应的KSV计算出一个56比特的公钥Km,这里把接收端计算出的公钥记为Km’。制造商从HDCP认证组织Digital Content Protection LLC获得私钥和相应的KSV后,会在每一个支持该功能设备中存储这些数据,Km(Km’)的计算就是通过对这些数据进行处理后得到的。Km(Km
基于DisplayPort接口的HDCP软件实现及应用,标签:电子小制作,http://www.88dzw.com
● 协议第一步:R0(R0’)验证
当KSV检测和验证成功后,系统将进入算法认证的第一步。其认证协议结构如图4所示。
图4 密钥交换认证协议图
其中Km=∑Akeys over Bksv和Km’=∑Bkeys over Aksv 是一种密钥选择机制。接收端的KSV被认为合法后,发送端和接收端都会通过自己的私钥和相应的KSV计算出一个56比特的公钥Km,这里把接收端计算出的公钥记为Km’。制造商从HDCP认证组织Digital Content Protection LLC获得私钥和相应的KSV后,会在每一个支持该功能设备中存储这些数据,Km(Km’)的计算就是通过对这些数据进行处理后得到的。
Km(Km’)是给后续计算的准备,在Km和Km’计算完成后,HDCP的加密系统就会根据产生的Km(Km’)和An以及REPEATER位来计算KS(KS’)、M0(M0’)和R0(R0’)。KS(KS’)是一个56比特的HDCP私钥,M0(M0’)是64比特的私钥,在HDCP认证协议的第二步的初始化中需要该参数,R0则是作为HDCP认证协议的计算结果,发送端通过读取接收端计算出的R0’并且与本地计算的R0比较,如果相同则意味着第一步认证协议的成功。
● 协议第二步:中继器认证
在第一部分的认证过程中,发送器在读取接收器的BKSV同时,也读取了DPCD中的一个REPEATER位,HDCP的第二部分是否执行取决于该位。这一位标志着该接收端是否为中继器。如果接收端没有中继功能,HDCP会跳过该验证部分,直接执行认证的第三部分链路完整性检测。第二部分的认证协议框图如图5所示。
图5 中继器认证协议图
当发送端检测到下游是中继器设备时,立即设立起5s的超时定时器。源端设备可以通过抽样或者等待中断的方式来获取中继器的状态,而在这5s之内,中继器就会建立自己的设备KSV列表并且计算V’(哈希算法)。如果5s之内没有完成这些操作,上游设备会认为该次认证失败。
在中继器内部计算V’可以通过两种方式来完成,由设计在芯片内部的逻辑电路或者驱动部分软件计算来完成。硬件计算优点在于速度快,驱动程序设计简单。但是牺牲了一定的硬件电路空间和芯片功耗,不同的客户对此需求不同,所以芯片的驱动内也需要采用软件计算哈希算法。
安全哈希算法(Secure Hash Algorithm)是主要应用于数字签名标准领域定义的数字签名算法。SHA1有如下特性:不能从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。HDCP协议中V(V’)计算如下:V(V’)=SHA1(ksv_list||binfo||M0(M0’))。
KSV list存储于中继器DPCD地址0x6802C~0x6803A的FIFO中,FIFO中有15字节,每个设备的KSV是40比特,也就是5字节,所以FIFO中每次读取出来的是3个设备KSV。DisplayPort的中继器最多支持下游有127个设备,也就是说FIFO最多需要读取127/3次。每次读取完后硬件会自动清掉被读走的数据,同时用下一组KSV填满。Binfo是存储下游设备拓扑结构的16比特数据,包括拓扑深度等。M0(M0’)是64比特的私钥。也就是说计算V(V’)时,系统传输给SHA1的消息长度最大为127×40+16+64=5160(0x1428H)比特,对于长度小于2^64(0x40000000000000H)位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,这时候就会产生不同的消息摘要。 SHA1算法只接受位输入。字符串“KSV list||Binf||M0”消息摘要需转换成位字符串如下:01100001 01100010 01100011……010011010(5160位),SHA1根据这个消息来计算MD5。
(a)补位
SHA1对输入的消息必须进行补位以使其长度在对512取模以后的余数是448。如果长度已经满足对512取模后余数是448,同样需要补位。先补一个1,然后再补0,直到长度满足对512取模后余数是448。至少补一位,最多补512位。
- 上一篇:DVI接口在数字电视中的应用研究
《基于DisplayPort接口的HDCP软件实现及应用》相关文章
- › 基于DisplayPort接口的HDCP软件实现及应用
- › 基于DirectShow的MPEG-4视频传输系统的研究与实现
- › 基于DirectShow的卫星电视多路节目播放技术
- 在百度中搜索相关文章:基于DisplayPort接口的HDCP软件实现及应用
- 在谷歌中搜索相关文章:基于DisplayPort接口的HDCP软件实现及应用
- 在soso中搜索相关文章:基于DisplayPort接口的HDCP软件实现及应用
- 在搜狗中搜索相关文章:基于DisplayPort接口的HDCP软件实现及应用