tag 标签: hdcp

相关博文
  • 热度 28
    2021-6-2 16:35
    13284 次阅读|
    0 个评论
    HDCP 2.x技术总览
    HDCP (High-Bandwidth Digital Content Protection) 是由Intel制订的加密技术,可运用在HDMI或是DisplayPort等数字接口传输高分辨率影音时,进行数字内容加密以防止影音信息被盗录。 各家厂商如果要让多媒体芯片具有上述功能,则需先向Intel的子公司DCP LLC购卖HDCP密钥授权,之后才能将该技术实作于芯片上。 而消费者如果要观赏具有HDCP保护的影音信息:如蓝光光盘、Netflix 影片,播放端(Blu-Ray Player)以及接受端(TV)均须购买有HDCP授权的产品,才能观赏到最高分辨率画质。如果有一方不支持,则会导致影片画质下降,或甚至无法拨放。 目前在于HDMI接口中,可支持的HDCP协议分为HDCP 1.4以及最新的HDCP 2.3(批注一),分别对应于FHD(1920x1080p), UHD4K(3840x2160 or 4096x2160)不同分辨率的影音保护。以当前消费市场的趋势,4K影片以及显示器逐渐普及,甚至近期各家厂商推出的支持8K分辨率的HDMI 2.1消费性电子产品,可预期将有越来越多的产品将采用HDCP 2.3协议, 因此本文将着重于HDCP 2.3协议的介绍 。 HDCP 2.3 介绍 图1:HDCP系统树形图(取自HDCP2.3 on HDMI Specification) 首先介绍HDCP 2.3实体架构,请参考图一,HDCP Transmitter 可透过输出口与下游装置连接:这些下游装置可为HDCP Receiver 或 HDCP Repeater,而该连接的HDCP Repeater 还能透过其下行输出口再连接其余装置,形成装置链接的树形图。但此树形图并非无限延伸,HDCP 2.3规范最多只能下接4层HDCP Repeater,且下接装置数量上限为32台。 接着再看HDCP 2.3协议层,其核心理念可分为三个部分。第一为认证(Authentication),传送装置会透过认证协议,确认下游是否为HDCP合法接受装置。第二,确认完双方的合法性后,再透过双方共享的密钥对影音进行加密/解密,避免外界被盗录。第三,由于HDCP装置中的密钥有可能被破解,因此传送装置会更新(Renewability)遭撤销的HDCP装置名单,确保不会传送HDCP加密信息给不合法的装置。 HDCP 2.3 协议介绍 第二章节提到的认证(Authentication),将细分为几个步骤进行介绍,以下内容仅介绍协议的名词以及概念,加密算法并不在本文讨论范围。 –Authentication and key exchange (AKE) 此流程(可参考图2、图2)目的是Tx确认Rx是否为合格HDCP装置,其中信息皆使用HDMI中的I2C接口传输,以下为流程介绍: 当双方装置链接后,Tx 会传送AKE_Init,内容包含一组64bit的伪随机码 rtx 以及 TxCaps (Tx HDCP 版本信息)给Rx,代表开始进行HDCP认证流程。 Tx在发送完AKE_Init后,Rx需在100ms内回传AKE_Send_Cert,如果超出时间则认证失败。AKE_Send_Cert 内容由certrx (包含Receiver ID, Public Key, DCP LLC Signature)、一组64bit的伪随机码 rrx 、RxCaps(RxHDCP 版本信息、Repeater bit)组成。 Tx 确认certrx 内的Receiver ID(相当于Rx的身分证)后,会产生两种分歧流程:如果Tx端没有储存对应该 Receiver ID 的 Master Key(km),则进行 (图2.1)流程-AKE Without stored km,若有则进行 (图2.2)流程。 如果双方装置为第一次链接,会进行 (图2.1)流程,Tx 除了检查ReceiverID外,还会使用 Tx 的Public Key确认certrx内DCP LLC Signature是否合法,如为非法将导致认证失败。 Tx 产生一组128bit的伪随机码作为Master Key(km),使用Rx的PublicKey对其加密产生Ekpub(km),并传送包含Ekpub(km)的AKE_No_Stored_km给Rx。 Rx 使用自己的private key (kprivrx)对Ekpub(km)解碼还原出km。 Tx 检查 System Renewability Message (批注二)的合法性,同样是藉由Tx 的PublicKey确认SRM 内的Signature是否合法。 8确认完SRM合法性后,再确认下游装置的Receiver ID 是否合法。(以上SRM、Receiver ID确认只会由最上游Tx 进行) Tx 与 Rx 进行Keyderivation,将获得的Master Key(km) 运算后得到 kd。 Tx 与 Rx 将双方交换过的信息(rtx, RxCaps, TxCaps) 以及kd再次运算后分别得到 H与H’。 Tx 读取Rx端发送的AKE_Send_H_Prime,如果H与H’值不相等,或是未在规定时间(1秒)内收到,将会导致认证失败。 –Pairing 接续上述步骤,Rx 利用 kprivrx 计算出128bit kh, 再将 km 使用 kh 加密得到Ekh(km) Rx 将包含 Ekh(km) 的 AKE_Send_Paring_Info 传给 Tx Tx在200ms的时间限制内读取 AKE_Send_Paring_Info, 并将对应该次流程的 Receiver ID的 m, km, Ekh(km)储存于内存内。 经过Pairing的双方设备再次认证时,因为Tx有储存对应该 Receiver ID 的 Master Key(km),会直接进入(图2.2)流程,相较于(图2.1)流程省略部分步骤(如Master Key计算),因此可减少HDCP认证时间。 图2(取自HDCP 2.3 on HDMI Specification) 图3(取自HDCP 2.3 on HDMI Specification) –Locality check 此步骤是在 HDCP2.3引入的新机制,目的为确保双方装置距离在合法范围内,若链接距离太远,讯息将不会于时限内收到而导致认证失败,认证流程如下: Tx 传送 LC_Init (包含 64bit伪随机码 rn) 给 Rx。 Tx 与 Rx 分别计算L、L’。 如果 L 与 L’不相同, 或是Tx在 20ms内未收到 L’,则导致认证失败。 认证失败,协议中规定 Tx 可再产生新的 rn, 并在重新尝试最多1023次。 图4(取自HDCP 2.3 on HDMI Specification) –Sessionkey exchange 完成AKE以及Locality check后,代表传输设备双方均为合法装置,可以开始进行影像加密传输,此步骤目的为双方加密/解密钥匙交换,SKE流程如下: Tx 产生一个128bit 的伪随机码Session Key(ks), 64bit 伪随机码 riv。 Tx进行 Key derivation 产生 128bit dkey2,并对ks 加密产生Edkey(ks)。 Tx 传送SKE_Send_Eks(Edkey(ks)、riv)给Rx。 Rx进行 Key derivation 产生 128bit dkey2,并将Edkey(ks) 解译得到ks。 使用Session Key 以及 Secret global constant(lc128,所有设备均为相同值)开始进行影音加密/解密。 –Authentication with repeater 在AKE流程中,如果Rx回传的Rx Caps内的Repeater bit为1时才会进行此流程。目的有两个: Repeater将下游信息,如设备数目、阶层、版本、Receiver ID整理后回传给最上游Tx,如果有信息不合法,如下接设备数目、阶层超过规范(31台、四阶),或是Receiver ID 在撤销名单中,会导致认证失败。 Repeater将Tx要传送的HDCP Content type(批注三)信息传给下游。 批注 批注一:HDCP2.3设计架构与HDCP1.4不同,因此并不向下兼容,但可透过使用 HDCP2.3 to HDCP1.4转换器,将播放端的HDCP2.3内容显示于只支持HDCP1.4的接收端。 批注二:System Renewability Message由Tx端储存,内容包含已被撤销的Receiver ID。因此Tx需确认SRM的合法性后,才能检查下游装置的 Receiver ID。 批注三:HDCP传输时可分为 Type0 & Type1 content,Type0的内容可透过repeater传送给大部分HDCP装置接收,而Type1的内容透过Repeater后,无法被下游HDCP 1.x、 2.x设备接收。 参考文献 Ÿ HDCPon HDMI Specification Rev2_3 作者 GRL 台湾技术工程师 李清宇 Peter Lee 国立成功大学材料系硕士毕业。两年 HDMI 测试经验,熟悉 HDMI2.1 与 HDCP 技术测试。GRL 技术文章作者及演讲讲师。
  • 热度 18
    2021-5-28 11:05
    11334 次阅读|
    0 个评论
    HDCP 1.x 技术总览
    High-Bandwidth Digital Content Protection,简称HDCP ,为高清数字内容保护,是2003年由Intel所制订的一种针对数字内容保护机制的技术规范,主要用于防止透过DVI, HDMI及DisplayPort等数字接口传输的高清影片内容被非法录制。这种技术是将影音内容进行加密,让非法录制者无法还原到原本的高清影音内容。 假设播放器(Transmitter)、显示器(Receiver)或是中继器(Repeater)其中一端没有HDCP功能,即无法拨放高清的影音内容,画质就会降低为480p甚至无法拨放。随着高清传输内容的需求越发普遍,这种对数字内容加密的技术也越来越普及,目前市面上消费性多媒体影音与娱乐产品例如播放器、屏幕或是电视游戏机等,大都将HDCP视为其基本支持的功能。 而厂商若要运用这样的保护技术,首先必须加入Digital Content Protection (DCP)成为会员,并缴纳年费(US$ 15,000),此外再向DCP协会购买内容加密所使用的密钥(Key),Key的费用端看购买的数量而决定。请参考表1。 表1:HDCP Key 费用表 这个购买的“KEY”包含一组特别的密钥Key Selection Vector (KSV),为HDCP加密里面最重要的一个环节,为20个 "0”以及20个 "1”所组成二进制值,Transmitter以及Receiver会核对对方的KSV以确保联机为合法的,每一个设备都会有一组独一无二的密钥,每一个key都会被记录在DCP协会里的一个清单里。 为了防范KEY被破解或是泄漏,HDCP建立了一个”撤销列表”,这个表会列上所有被破解过或是泄漏出去的KSV,Transmitter会检查Receiver的KSV是否在列表上,若在列表上则联机为非法会立即中止联机,无法正常拨放影音内容。 Transmitter, Receiver, Repeater是HDCP系统里的三大主角,根据HDCP 1.x规格 其系统层级最多可以下接到7层Repeater,最多可连接128个装置 。各产品类型连接方式如图1所示。 图1:HDCP系统树形图(取自HDCP SpecificationRev1_4) 授权认证协议(Authentication Protocol)是Transmitter以及Receiver进行密钥的交换,让Transmitter去确认Receiver是有被授权的装置,可以接收有HDCP加密的数字影音内容。这种认证协议密钥交换的方法,主要是双方使用由DCP协会所授权的Device Private Keys去做加密计算出一个shared secret value,有了这个值即可确认双方是否为授权的Device。授权认证主要会有三个步骤如下: First part of Authentication Protocol Second part of Authentication Protocol Third part of Authentication Protocol First Part of Authentication Protocol 此步骤是在Transmitter及Receiver/Repeater 间进行密钥Key交换并加以计算来确保双方联机为合法。 图2:1st part of authentication protocol -步骤: 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)。 HDCP密码单元会用Km, repeater||An继续计算Ks, M0, R0。 Ks : Session key, 为HDCP密码单元里一个56-bit secret key M0 : 是一个64-bit secret value,会在2nd part of authenticationprotocol使用。 R0 : 是一个16-bit的回传值,是receiver回传给transmitter说这次的authentication交换成功。 5.若R0= R0’则完成Authentication便会开始进行HDCP解密。 6.Transmitter在完成写入Aksv100ms之后才可读取R0’。 SecondPart of Authentication Protocol 此步骤是当 下级装置为Repeater 时,搜集所有下接device的KSV并回报上游装置,只有当下接Device为Repeater才会进行此步骤。 图3:2nd part of authentication protocol -步骤: 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。 除了搜集KSV完整清单之外,Repeater也会回报Bstatus里的 DEVICE_COUNT 和 DEPTH 给Transmitter,让Transmitter检查整个HDCP系统里的阶层数以及下接Device数量是否超过HDCP系统的上限。 ThirdPart of Authentication Protocol 这步骤系统会确认两台HDCP 装置的加密频率、顺序是否一致与同步,并同时产生额外的验证机制。 图4:3rd part of authentication protocol -步骤: 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。 消费者若想观看有HDCP保护的数字多媒体影音内容如蓝光光盘时,讯号发送端(DVD player)及接收端(TV、Monitor)都得具备内建密钥以及上述验证步骤的能力,否则将无法观赏高分辨率数字影像内容。除了HDCP 1.4外,为了因应HDMI 2.0的更新(现为HDMI2.1) ,DPC协会也在2013年发表了HDCP 2.2的保护机制来保护更高分辨率的内容,并在2018年更新为HDCP 2.3。 参考文献 -High-bandwidth Digital Content Protection System, Revision 1.4. 8 July, 2009 -High-bandwidth Digital Content Protection Specification Compliance Test Specification, Revision 1.2. November 18, 2009  作者 GRL台湾测试工程师 杨昕叡Ray Yang 毕业于国立台湾科技大学化学工程学系。 在GRL累积三年多的HDMI相关测试经验,熟悉HDMI、MIPI、V by One等测试规范。目前在 GRL 台湾主要负责HDMI测试,乐于协助客户厘清HDMI方面的问题,以顺利取得认证。
  • 热度 22
    2015-4-22 11:48
    1475 次阅读|
    0 个评论
    HDMI 2.0/HDCP 2.2 真6Gbps,50Hz/60Hz 选择器,分配器,视频转换,矩阵板卡
  • 热度 25
    2015-3-6 13:37
    12971 次阅读|
    0 个评论
    目前看到越来越多的趋势使用双通道HDCP解密/加密来做矩阵或视频处理器的输入输出板卡。 1、成本更优。 2、元器件数更少 3、支持OSD显示,提示相关信息。
  • 热度 23
    2012-1-7 11:28
    12383 次阅读|
    1 个评论
    hdmi的hdcp**主密钥
相关资源