当前位置:首页 科普知识 HDCP

HDCP

发布时间:2023-09-14 17:57:14

高带宽数字内容保护技术(High -bandwidth Digital Content Protection,HDCP)技术是由好莱坞与半导体界巨人Intel合作开发,用以确保数字化的影像与声音数据在通过传输接口传送时不会遭到非法拷贝,适用于高速的数字视频接口(Displayport、HDMl、DVI),内容加扰实现保护。HDCP设计为内容消费链中的最后一个环节,从内容源设备到显示设备,HDCP不允许完全内容拷贝行为,即拷贝控制信息CCl只有禁止拷贝状态。在系统更新方面,HDCP采用吊销列表来屏蔽已经被窃取的设备私钥。

HDCP介绍

高带宽数字内容保护技术(High -bandwidth Digital Content Protection,HDCP)技术是由好莱坞与半导体界巨人Intel合作开发,用以确保数字化的影像与声音数据在通过传输接口传送时不会遭到非法拷贝,适用于高速的数字视频接口(Displayport、HDMl、DVI),内容加扰实现保护。HDCP设计为内容消费链中的最后一个环节,从内容源设备到显示设备,HDCP不允许完全内容拷贝行为,即拷贝控制信息CCl只有禁止拷贝状态。在系统更新方面,HDCP采用吊销列表来屏蔽已经被窃取的设备私钥。

HDCP

HDCP简述

HDCP主要包含三个基本内容:校验协议、像素加密和可更新性。首先,发送器验证接收设备是否被授权接收加密数据,是通过校验协议来检验接收器接收数据信息的合法性。发送器和接收设备相互交换一个40位的密钥选择矢量(KSV),收发双方将获得的KSV和自己的私有密钥进行各自独立的运算,运算的结果进行对比,若二值相等则发射端就能确定此接收器为HDCP适合接收者。

若通过前一阶段的合法性校验通过后,发送器与接收器在校验协议部分交互共享密钥,完成数据加密和解密过程。发送器的加密是通过对24-bit原始像素数据和由HDCP加密器产生的24-bit加密数据进行“异或”运算得到24bit加密像素数据。接收器端接收到加密像素数据后与接收器HDCP加密器加密后的24-bit加密数据再进行“异或”运算。由于接收器HDCP加密器的结构和初始值与发送器HDCP加密器完全相同,所以经过两次“异或”运算还原加密数据。

当需要取消接收器的合法性时,通过HDCP的可更新性来完成。这一部分HDCP识别和取消未经授权或其KSV已经被放“撤销列表”的设备。避免了由于合法HDCP接收器的私有设备密钥和KVS由于某种原因被泄露而造成有版权信息被非法盗用。

HDCP应用背景

高清视频信号是一种典型的可以从一个系统传输到DVIHDMI接口的信号。这些接口能保证传递的视频图像保持原本的质量,因此可以获得更多的终端用户,但对于企业来说,同时会出现更多没有经过授权和非法复制传输的风险。

传统的知识版权保护技术仅仅能够保护已经存储在某种介质上的数据,但是高清视频信号仍然能够通过DVIHDMI之类的数字接口进行传输,为了解决这个问题,HDCP就应运而生。HDCP是一个基于数据加密和授权验证的内容保护系统。

HDCPHDCP接收端结构

HDCP接收端有2个通信模块:HDCP发送端位于HDMIDVI接收端芯片的外部;而接收端位于HDMIDVI接收端芯片的内部。

HDCP发送端通过I2C总线发送授权认证信号给接收端。HDMI接收端接口通过HDCP控制寄存器的更新来发出操作指令,从而控制HDCP接收端的状态,以及提供必要的信息HDCP接收端知道工作在视频传输的阶段,从HDMI接口接收到解密信息并发送回去。

HDCP接收端由4个模块组成:IC从机接口,控制寄存器,HDCP控制器以及数据加密机。当打包数据或视频数据是逻辑高电平时,数据从HDMI输入到HDCP接收端的解密才有效。数据的输入与输出必须在2个时钟周期内完成。HDMI只有在这个时间内才能够接收到数据。子模块设计包括:

1、数据加密模块

数据加密是为了将数字内容进行加密,防止不合法的传输和复制,它是内容保护的核心逻辑模块。HDCP加密好的数据是由HDCP加密机产生的24位伪随机数据流与HDCP保护内容的数据按逐位异或的结果。HDCP加密是一种能同时为身份授权认证和高速传输非压缩视频数据的特殊加密设计。

数据加密模块采用流加密方法实现,流加密的结构如图4所示,主要南3部分组成:

(1)线性反馈移位寄存器(Linear Feedback Shift RegiSTer,LFSR)模块。包括4个不同长度的线性反馈移位寄存器和一个混叠网络。

(2)分组模块。由2个结构非常类似的轮函数B和轮函数K模块组成。

(3)输出功能模块。由基于异或的组合电路组成,在每个时钟脉冲里产生一个24位的伪随机数据。

2、HDCP接收端控制器

HDCP

HDCP控制模块控制HDCP接收端的所有操作,它通过个状态机来实现以下功能:

(1)HDCP接收端的状态的控制。

(2)计算Km值,HDCP接收端把Key存储到控制器中。

(3)接收端授权认证状态的转换。

(4)HDCP加密状态的转换:OESS,EESS,两种加密方式。

3、控制器寄存器

当HDCP接收端是第一连接器件时,控制寄存器根据HDCP协议中定义的,除了0x20~0x30,0x43地址位,这些是HDCP中继器的控制寄存器;当HDCP接收端是第二连接器件时,仅仅是控制寄存器的子集才允许进入的。IPC接口子模块会发出一个从HDMI接收端接口连接到第一还是第二的指示信号。

4、IC从机接口

HDCP里面定义IC作为控制通道接口。有3种操作模式:读(read)、写(write)和短读(short read)。读与短读之间的区别是看读取数据过程是在Start(S)还是Repeated Start(RS)条件下初始化的。在短读模式中,在实际的读操作前不需要写入寄存器的偏移地址。

在此HDCP接收端里面必须有一个能够支持IPC总线的逻辑器件。IPC与第一连接器件的8位的二进制的地址是0111010x;或者是16进制的0×74作为IPC地址,读写位置零。与第二连接器件的地址是0x76。IC从机接口逻辑在决定与控制寄存器的哪部分连接根据HDCP发送端指示的从机地址来确定。

这个子模块需注意以下几点:

(1)仅有4个寄存器支持该写操作即Aksv、Ainfo、An、dbg.

(2)必须有一个写操作先于Aksv到来。

(3)第一连接器件、第二连接器件与HDCP连接的端口不一样。

(4)地址自动增加必须由I2C接口实现。

HDCP

(5)ksv FIFO读操作行为地址的增加不同于其他地址增加方法。

(6)授权触发条件:寄存器更新Aksv、Ainfo、An值,最后写入到寄存器中的0x14地址中用以触发HDCP接收端的授权认证序列。

HDCP实现机制

每个支持HDCP的设备都必须拥有一个独一无二的HDCP密钥(Secret Device Keys),密钥由40组56bit的数组密码组成。HDCP密钥可以放在单独的存储芯片中,也可以放在其他芯片的内部,例如,ATl和Nvdia(世界两大著名显卡主芯片供应商)完全可以将它们放入显示芯片中。每一个有HDCP芯片的设备会拥有一组私钥(Device Private Key),一组私钥将会组成KSV(Key Selection Vector)。KSV相当于这台拥有HDCP芯片设备的ID号。HDCP传输器在发送信号前,将会检查传输和接受数据的双方是否是HDCP设备,它利用HDCP密钥,让传输器与接收端交换,这时双方将会获得一组KSV并且开始进行运算,其运算的结果会让两方进行对照,若运算出来的数值相符,该传输器就可以确认该接收端为合法的一方。传输器确定了接收端符合要求,传输器便会开始进行传输讯号,不过这时传输器会在信号上加入了一组密码,接收端必须实时进行解密才能够正确的显示影像。换句话说,HDCP并不是确认双方合法后就不管了,HDCP还在传输中加入了密码,以防止在传输过程中偷换设备。具体的实现方法是,HDCP系统会每2秒进行确认,同时每128帧画面进行一次发送端和接受端计算一次RI值,比较两个RI值来确认连接是否同步。

密码和算法泄密是厂家最头疼的事,为了应对这个问题,HDCP特别建立了“撤销密钥”机制。每个设备的密钥集KSV值都是唯一的,HDCP系统会在收到KSV值后在撤销列表中进行比较和查找,出现在列表中的KSV将被认作非法,导致认证过程的失败。这里的撤销密钥列表将包含在HDCP对应的多媒体数据中并将自动更新。简单的说,KSV是针对每一个设备制定了唯一的序号,比较自然的可用号码是每个设备的SN号。这样一来,即便是某个设备被破解了,也不会影响到整体的加密效果。总的来说,HDCP的规范相当严谨,除了内容本身加密外,传输过程也考虑的相当精细,双方设备都要内置HDCP才能实现播放。但是,最后需要指出的是,HDCP和HDMI或者DVI接口之间并没有必然的联系,只是HDMI标准在制定之初就已经详细的考虑到了对HDCP的支持,并且在主控芯片中内置了HDCP编码引擎,因此,在版权保护方面,要大大领先于DVI技术。

温馨提示:
本文【HDCP】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6