HDCP浅析

第一章 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密匙选择矢量)。 

  1. 确认初始化,由发射端A的HDCP密码引擎产生一个64bit的伪随机序列An,连同自己的KSV(Aksv),传给接收端,接收端向发射端传输自己的KSV(Bksv)和REPEATER bit进行响应。 
  2. 发射端由Akey和Bksv进行算法得到Km,再由Km、REPEATER、An得到Ks、Mo、R0,同样接收端由Bkey和Aksv进行算法得到Km’,再由Km、REPEATER、An得到Ks’、Mo’、Ro’。 
  3. 当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个装置。

  1. Transmitter可以在任何时间发起HDCP验证。
  2. Transmitter传送Aksv及An给Receiver。(AKsv: Transmitter的KSV, An:随机的64bit值)
  3. Receiver回应传送Bksv及REPEATER bit(Bksv : Receiver的KSV,REPEATER bit: 表示receiver是否为repeater)。
  4. Transmitter与下接装置回传的KSV对应的secrect device key,经由56 bit的二进制加法计算出Km(shared secret value)。下接装置亦使用相同的算法计算出Km’(shared secret value)。

        当下级装置为Repeater时,搜集所有下接device的KSV并回报上游装置,只有当下接Device为Repeater才会进行此步骤。

  1. Transmitter设5秒等待时间机制确保此步骤5秒内完成,并询问下级KSV清单及Readybit状态。
  2. 下级Repeater传送Ready bit=1以及搜集到的KSV清单给Transmitter。
  3. 下级Repeater用搜集到的KSV 清单, Bstatus以及在1stpart of authentication protocol所计算出的M0’,运用SHA-1的运算方式算出V’ 。
  4. 上级Repeater运用相同的方式计算出V,并且与下级Repeater回传的V’做比对,若V≠V’则无法传送READYstatus bit=1给Transmitter,表示KSV清单完整性有问题,最后5秒等待时间将会过时。
  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 装置的加密频率、顺序是否一致与同步,并同时产生额外的验证机制。

  1. 双方计算Ki, Mi, Ri。
    Ki : 56位的值去初始化HDCP密码单元的解密以及加密Mi: 64位的值去初始化HDCP密码单元Ri: 16位的值来确认Transmitter及Receiver是否合法
  2. i为frame number,当完成1st part of Authentication Protocol后第一个encryptedframe开始后计算i,每一个frame或是每一个加密的frame往上递增。
  3. Ri及Ri’每128个frame会重新计算一次。
  4. Transmitter 每两秒会比对Ri和Ri’一次。
  5. Transmitter 需在1ms内读取Ri’。
  6. 若设备支持1.1_FEATURES则会检查Pj, 每16个frame检查一次Pj,若连续三个Pj检查错误则判定pixeltransmission error。

更新于:2023年12月2日

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用和引用所描述的内容,HDCP(High-bandwidth Digital Content Protection)是一种用于保护高带宽数字内容的技术,它是一种音视频知识产权保护技术。根据引用中提到的HDCP规范要求,不允许私自解密带有HDCP的数字内容,以避免绕过HDCP的保护机制。因此,hdcp override是指在调试或开发过程中,通过特定的步骤来覆盖或绕过HDCP保护措施,以便进行测试或调试工作。但需要注意的是,由于HDCP是一种受到法律保护的技术,对于非授权的使用和绕过HDCP保护的行为是违法的。引用中提到创建了两个JNI接口:native_vendor_read和native_vendor_write,这可能与HDCP override相关,但具体的实现和步骤需要根据具体的开发环境和需求来确定。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SII9136添加HDCP功能](https://blog.csdn.net/qq_42677883/article/details/103273330)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [HDCP协议简要](https://download.csdn.net/download/shenguohui/10757845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Rockchip系列之VendorStorage 新增framework系统jni+service接口访问(3)](https://blog.csdn.net/SHH_1064994894/article/details/131491409)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值