微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 基于DisplayPort接口的HDCP软件实现及应用

基于DisplayPort接口的HDCP软件实现及应用

时间:03-27 来源:今日电子 点击:
DisplayPort|0">DisplayPort接口标准是由视频电子标准协会(VESA)批准的,一个开放的、可扩展的标准。其为降低PC平台和元件的成本及推动通用数字接口而开发。DisplayPort实现了显示设备用一条电缆与数字视频信号连通的高清数字音频,并实现真正即插即用的强大的互操作性,这些使现有的数字显示互连非常具有成本效益。为了提高其与现有数字接口的互通性,DisplayPort的1.1版本增加了兼容支持高带宽数字内容保护(HDCP)来支持HDMI和DVI采用的HDCP技术。

  DisplayPort

  1 DisplayPort接口

  DisplayPort体积小,传输结构利用了类似PCI Express的电气层,采用"Micro-Packet Architecture(微封包架构)"传输架构,使视频内容以封包方式传送。传输数据最高可支持10.8Gb/s的传输带宽。

图1 DisplayPort数据传输通道


  2 DisplayPort链路

  DisplayPort链路由一个主链路、一个辅助通道(AUX CH)、一个热插拔检测(HPD)信号线组成。如图1所示,主链路是一条单向、高带宽并且低延时的通道,用于传输未经压缩的视频和音频等同步数据流。辅助通道是一条用于链路管理和设备控制的、半双工的双向通道。HPD信号用作终端设备的中断请求信号。

  HDCP

  HDCP技术由好莱坞与Intel合作开发,保护未经压缩的数字音视频内容,适用于高速的数字视频接口(DisplayPort、HDMI、DVI),其最新版本HDCP 1.3已经支持DisplayPort接口采用源设备和显示设备间直接认证,内容加扰实现保护。HDCP设计为内容消费链中的最后一个环节,从内容源设备到显示设备,HDCP不允许完全内容拷贝行为,即拷贝控制信息CCI 只有禁止拷贝状态。在系统更新方面,HDCP采用吊销列表来屏蔽已经被窃取的设备私钥。

  HDCP与DisplayPort

  1 HDCP在DisplayPort上应用机制

  HDCP应用于DisplayPort接口的保护机制包括以下三个元素。

  ①HDCP发送器,能立即识别下游接收器的拓扑连接结构,认证协议会确保HDCP发送器发出的信号是HDCP接收器所授权接受的。

  ②DCP LLC会撤销授权无效的HDCP接收器的授权。

  ③在有HDCP保护的信号下发送与接收的同时,不断对加密视频传输的完整性进行验证。

  2 HDCP结构以及算法实现

  ①HDCP结构

  HDCP在DisplayPort接口内容保护中采用了树状的拓扑结构,为了使得完成认证的时间在容许范围之内,HDCP规定了一个拓扑结构最多允许有7层结点、128个接收设备。图2显示了一个设备深度为2、设备数为4的拓扑结构。

图2 HDCP拓扑结构图

  ②结合硬件采用软件实现HDCP

  软件实现HDCP过程中,需要芯片内部硬件加密系统的支持,如伪随机数的产生等。硬件加密系统结构如图3所示。

  (d)函数定义
  在SHA1中需要一系列的函数。每个函数ft(0≤t≤79)都操作32位字B,C,D(B,C,D为32位的函数形参)并且产生32位字作为输出。ft(B,C,D)定义如下。


  (e) 计算消息摘要
  SHA1使用补位和补长度后的消息来计算消息摘要。计算需要两个缓冲区,每个都由5个32位的字组成,还需要一个80个32位字的缓冲区。第一个5个字的缓冲区被标识为A,B,C,D,E。第一个5个字的缓冲区被标记为H0, H1, H2, H3, H4。80个字的缓冲区被标记为W0,W1,..., W79,另外还需要一个字的TEMP缓冲区。

  为了产生消息摘要,首先处理前面定义的16个字的数据块M1, M2,..., Mn,处理每个数据块Mi包含80个步骤。在处理每个数据块之前,缓冲区被初始化为下面的值(十六进制):

  处理Mi包括以下步骤:
  (I)将 Mi分成16个字W0,W1,…, W15,W0是最左边的字。
  (II)对于t=16~79令

  (III)令A=H0, B=H1, C=H2, D =H3, E=H4。
  (IV)对于t=0~79,执行下面的循环

  E=D; D=C; C=S30(B); B=A; A=TEMP;
  (V)令H0=H0+A,H1=H1+B, H2=H2+C, H3=H3+D, H4=H4+E

  在处理完所有的Mn后,得到一个160位的字符串,也就是最后得到的V(V’)。中继器会将V’发送给发送端,发送端通过比较本地计算的V与接收到的V’是否相等来判断认证结果。

  ● 协议第三步:加密完整性检测

  在解密过程中,HDCP在HDMI与DisplayPort中的应用所不同。在HDMI的解密过程中,HDCP系统会每2s中进行一次连接确认,同时每128帧画面进行一次发送端和接受端同步识别码,确保连接的同步,所有这些都是由发送端发起。而在DisplayPort的解密过程中, DisplayPort的Link Layer负责确认两台设备之间的连结效能与正确的沟通,以其参数值(0=完整、1=不完整)作为沟通的语言,该参数是发送端通过辅助通道读取接收端的DPCD的某一位的值来获取,也就是说,解密的完整性验证完全是由接收端来执行的。

  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top