CN107431832A - 通过发送帧号来维持跨设备的加密过程的同步 - Google Patents
通过发送帧号来维持跨设备的加密过程的同步 Download PDFInfo
- Publication number
- CN107431832A CN107431832A CN201580077721.5A CN201580077721A CN107431832A CN 107431832 A CN107431832 A CN 107431832A CN 201580077721 A CN201580077721 A CN 201580077721A CN 107431832 A CN107431832 A CN 107431832A
- Authority
- CN
- China
- Prior art keywords
- character
- frame
- link
- password
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000008569 process Effects 0.000 title abstract description 10
- 238000004891 communication Methods 0.000 claims abstract description 37
- 230000001360 synchronised effect Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 10
- 230000008054 signal transmission Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 17
- 238000012423 maintenance Methods 0.000 abstract description 3
- GJWAPAVRQYYSTK-UHFFFAOYSA-N [(dimethyl-$l^{3}-silanyl)amino]-dimethylsilicon Chemical compound C[Si](C)N[Si](C)C GJWAPAVRQYYSTK-UHFFFAOYSA-N 0.000 description 17
- 238000010200 validation analysis Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 102100039497 Choline transporter-like protein 3 Human genes 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 101000889279 Homo sapiens Choline transporter-like protein 3 Proteins 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 108010057210 telomerase RNA Proteins 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4353—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43632—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
- H04N21/43635—HDMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4367—Establishing a secure communication between the client and a peripheral device or smart card
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2358/00—Arrangements for display data security
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/04—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
- G09G2370/045—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial
- G09G2370/047—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial using display data channel standard [DDC] communication
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/12—Use of DVI or HDMI protocol in interfaces along the display data pipeline
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
提供了在通过通信链路传输加密数据期间维持设备处的加密过程的同步。将密码链路维持字符从源设备发送给宿设备。可以根据密码链路维持字符来调整在宿设备处生成的用于解密加密数据的本地密码链路维持字符。在认证之后,与加密数据的单位(例如,帧)一起发送与加密数据的单位相对应的密码链路维持字符。当在加密数据的传输期间发生传输错误时,可以使用密码链路维持字符来纠正在宿设备处生成的本地密码链路维持字符中的错误。因此,即使在通信链路中发生传输错误,宿设备也可以解决传输错误并且维持源设备和宿设备处的加密过程的同步。
Description
技术领域
本公开涉及数据通信,并且更具体地涉及在传输数字媒体时高带宽数字内容保护(“HDCP”)链路验证。
背景技术
高带宽数字内容保护(“HDCP”)防止在数字媒体内容通过符合诸如DisplayPort(“DP”)、数字视频接口(“DVI”)和高分辨率多媒体接口(“HDMI”)等各种协议的连接在设备之间传输时被复制。HDCP加密的媒体内容只能在由许可实体(例如,数字内容保护LLC)授权的设备上播放。
在认证过程期间,发送HDCP设备与接收HDCP设备交换认证数据。在认证过程之后,发送HDCP设备通过由HDCP密码生成的伪随机数据对内容数据进行异或处理来加密数据。在接收HDCP设备处,再次通过相同的伪随机数据对加密的数据进行XOR处理,该相同的伪随机数据这次在接收HDCP设备处由另一HDCP密码生成。
然而,当使用HDCP来加密和传输数字媒体时,数字媒体传输可能会经历不期望的传输噪声。这样的传输噪声可以例如以本底噪声的形式出现。由于这样不期望的传输噪声,HDCP传输器与HDCP接收器之间的HDCP链路的同步可能会被中断,这可能要求重新建立HDCP链路。例如,当HDCP接收器检测到纠错码(“ECC”)错误超过门限时,HDCP传输器可能需要重新认证HDCP接收器。重新认证和重新建立HDCP链路的同步会消耗时间和资源,并且可能会干扰用户的体验。
发明内容
本公开的实施例涉及在装置处接收多媒体数据。该装置包括接收模块和解密模块。解密模块耦合到接收模块并且包括处理器和存储器。接收模块具有耦合到通信链路的至少一个接口。接收模块经由至少一个接口从第二装置接收加密视频帧。接收模块还在预定时间内并且在通信链路的最小化传输差分信号(TMDS)信道的比特位置中接收与加密视频帧相对应的密码链路维持字符。密码链路维持字符表示如下信息,该信息用于验证通过通信链路传输的多媒体数据的加密的同步。解密模块响应于基于密码链路维持字符而验证多媒体数据的加密为同步,解密加密视频帧。
在一个实施例中,密码链路维持字符包括表示加密视频帧的帧号的帧同步字符。
在一个实施例中,接收模块还将所接收的帧同步字符与在第一装置处生成的本地帧同步字符相比较,以验证多媒体数据的加密与第二装置同步。当所接收的帧同步字符与本地帧同步字符相一致时,多媒体的加密被验证为同步。
在一个实施例中,接收模块还确定所接收的帧同步字符与本地帧同步字符之间的差异,并且当差异小于预定门限时,将本地同步字符调整为与所接收的帧同步字符相一致。响应于确定该差异小于预定门限,多媒体的加密被验证为同步。
在一个实施例中,接收模块还基于所接收的帧同步字符来确定帧标识信号和帧加密状态信号。
在一个实施例中,解密模块基于帧标识信号和帧加密状态信号来解密加密视频帧。
在一个实施例中,密码链路维持字符还包括指示第二装置是否处于视频和音频消音(visual and video mute)状态的媒体源指示符。
在一个实施例中,预定时间是数据岛周期,TMDS信道是TMDS信道0,并且密码链路维持字符在TMDS信道的预定比特中被接收。TMDS信道的预定比特未被加密。
实施例还涉及一种用于向另一装置发送多媒体数据通信的装置。该装置包括加密模块和耦合到加密模块的发送模块。加密模块包括存储器和处理器。加密模块生成加密视频帧。加密模块还确定与加密视频帧相对应的密码链路维持字符。密码链路维持字符表示用于验证通过通信链路传输的多媒体数据的加密的同步的信息。发送模块具有耦合到通信链路的至少一个接口。发送模块经由至少一个接口发送加密视频帧,并且在预定时间内和在通信链路的最小化传输差分信号(TMDS)信道的比特位置中发送密码链路维持字符。
附图说明
通过结合附图考虑以下详细描述,可以容易理解本文中公开的实施例的教导。
图1是根据一个实施例的用于使用高带宽数字内容保护(HDCP)来传送数据的系统的高级框图。
图2A是示出根据一个实施例的在多媒体通信链路的TMDS信道0中发送的数据的图。
图2B是示出根据一个实施例的密码链路维持字符中的数据的字段的图。
图3是示出根据一个实施例的包括密码链路维持字符的视频帧的图。
图4是示出根据一个实施例的验证密码的同步的过程的流程图。
具体实施方式
附图和以下描述仅通过说明的方式涉及各种实施例。应当注意,从下文的讨论中,本文中公开的结构和方法的替代实施例将容易被认为是在不脱离本文中讨论的原理的情况下可以被采用的可行替代方案。现在将详细参考若干实施例,这些实施例的示例在附图中被示出。注意,在可行的情况下,可能在附图中使用类似或相似的附图标记,并且这些附图标记可以指示类似或相似的功能。
实施例涉及在通过通信链路传输加密数据期间维持源设备和宿设备处的加密过程的同步。密码链路维持字符从源设备被发送给宿设备,并且被用于调整在宿设备处生成的用于解密加密数据的本地密码链路维持字符。在认证之后,与加密数据的单位(例如,帧)一起,将与加密数据的单位相对应的密码链路维持字符从源设备发送给宿设备。当在加密数据的传输期间发生传输错误时,可以使用密码链路维持字符来纠正在宿设备处生成的本地密码链路维持字符中的错误。因此,即使在通信链路中发生传输错误,宿设备也可以解决传输错误并且维持源设备和宿设备处的加密过程的同步。
本文中描述的同步是指密码链路的一种操作状态,该密码链路的操作状态由特定协议定义为适用于在两个设备之间传输受保护的媒体内容(即通过密码加密的数据)。该同步可以通过从认证设备发送给被认证设备的密码链路维持字符来验证和维持。
本文中描述的密码链路维持字符是指用于验证通过通信链路传输的多媒体数据的加密的同步的信息。密码链维持字符可以包括例如帧同步字符,该帧同步字符表示从源设备发送给宿设备的加密帧的帧号。本地帧同步字符是指在宿设备处生成的与由宿设备接收到的加密帧相对应的帧号。密码链路维持字符还可以包括指示源设备是否处于视频和音频消音状态的媒体源状态指示符。
图1是根据一个实施例的用于多媒体数据通信的多媒体系统100的高级框图。多媒体系统100包括源设备110和宿设备120,宿设备120通过多媒体通信链路130与源设备110通信。源设备110是音像数据流的源。源设备110的示例可以是移动电话、数字视频盘(DVD)播放器、蓝光播放器、有线电视盒、互联网协议电视(IPTV)盒、笔记本电脑、或这样的设备内的集成电路(IC)。宿设备120接收音像数据流,并且可以再现所接收的音像数据流。宿设备120的示例包括液晶显示器(LCD)电视机、LCD监视器、或这样的设备内的集成电路(IC)。
除了其他部件,源设备110还可以包括媒体源模块112、HDCP引擎114、收发器116和接口140。媒体源模块112生成音像数据流。一些音像数据流可以由HDCP引擎114加密,而另一些可以被直接提供给收发器116用于传输而不加密。加密和/或未加密的音像数据流由收发器116传输。除了其他部件,宿设备110还可以包括媒体宿模块122、HDCP引擎124、收发器126和接口142。
HDCP引擎114和HDCP引擎124中的每一个包括处理器uP和耦合到处理器uP的存储器Mem。加密和/或未加密的音像数据流由收发器126接收。加密的音像数据流由HDCP引擎124解密。未加密和/或经解密的音像数据流被提供给媒体宿模块122。收发器116和收发器126中的每一个包括用于发送数据的发送模块和用于接收数据的接收模块。
多媒体通信链路130包括音像信道132和控制信道134。源设备110经由接口140耦合到音像信道132和控制信道134。宿设备120经由接口142耦合到音像信道132和控制信道134。接口140和142是可以通过其进行通信的物理元件,诸如端口、连接器、引脚、驱动电路和接收电路。
源设备110通过音像信道132将音像数据流传输到宿设备120。音像信道132是单向的,并且从源设备110到宿设备120携带视频数据流。音像信道132可以使用差分线对来实现。备选地,可以存在用于传送一个或多个视频数据流的多个音像信道132。音像数据流可以被显示在宿设备120处或被传递给另一设备以用于再现。
源设备110和宿设备120还跨越控制信道134交换控制数据。控制信道134是双向的和全双工的,使得源设备110和宿设备120可以同时彼此传送控制数据。通过控制信道134传输的控制数据可以包括显示数据信道(DDC)命令、增强显示标识数据(EDID)数据和内容保护代码,等等。控制信道134可以使用差分线对或单个线对来实现。控制信道134还可以从源设备110到宿设备120携带时钟。
HDCP引擎114可以包括根据密码来加密媒体内容的加密模块,并且HDCP引擎124可以包括根据密码来解密媒体内容的解密模块。该密码可以基于诸如高级加密标准(AES)或对称密钥加密算法(例如,数据加密标准(DES))之类的公共密钥加密算法来建立。HDCP引擎114和HDCP引擎124交换控制和认证信息144(例如,HDCP链路完整性验证值Ri),以确保它们被授权执行对音像数据流的加密和解密。控制和认证信息144经由多媒体通信链路130的控制信道134被交换。例如,当多媒体通信链路是高清多媒体接口(HDMI)链路时,控制信道134是DDC信道,而当多媒体通信链路是移动高清链路(MHL)时,控制信道134是CBUS信道。在一些实现中,每个HDCP引擎包括与唯一的密钥选择向量(KSV)相关联的一组设备私有密钥。秘密值(例如,密码)基于HDCP引擎114和HDCP引擎124的KSV来生成。在一些实现中,HDCP引擎114不具有私有或公布密钥,并且HDCP引擎124存储私有密钥和公共密钥。HDCP引擎114使用存储在HDCP引擎124处的公共密钥来加密音像数据流。通过使用这一共享的秘密值(例如,密码),音像数据流被加密和解密。另外,在音像数据流的传输期间该秘密值继续被检查,以维持HDCP引擎114和124之间的密码同步。
HDCP引擎114可以在任何时间发起认证,以验证HDCP引擎124被许可接收受保护的媒体内容(例如,HDCP内容)。在确定了HDCP引擎的合法性的情况下,基于在认证期间建立的共享秘密值来在两个设备之间传输加密媒体内容(例如,HDCP内容)。如此,利用加密媒体内容,防止了窃听设备。HDCP引擎114可以检查共享的秘密值,以确保HDCP引擎114与HDCP引擎124之间正在进行的HDCP链路的完整性。在认证过程期间,HDCP引擎114可以标识HDCP引擎124是否被损害从而允许对加密音像流被未经许地可使用。如果HDCP引擎124被损害,则HDCP引擎114防止加密媒体内容(例如,HDCP内容)被传输到HDCP引擎124。
下面主要使用高清多媒体接口(HDMI)链路作为多媒体通信链路130来描述以下示例。然而,本公开的实施例不限于HDMI,也可以使用其他类型的多媒体通信链路,诸如移动高清链路(MHL)。控制信道134还可以为源设备110与宿设备120之间的数据传送提供高速双向路径。
密码链路的完整性和同步需要被验证和维持,以使得作为被认证HDCP引擎的HDCP引擎124可以连续地解密受保护的媒体内容(例如,加密视频帧)。为了连续地解密受保护的媒体内容,作为认证HDCP引擎的HDCP引擎114向被认证HDCP引擎通知加密媒体内容的标识和/或加密状态。加密媒体内容的标识指示哪个加密媒体内容应当被解密,并且加密媒体内容的加密状态指示加密媒体内容是否应当被解密。例如,垂直同步信号(Vsync)标识加密视频帧的开始,并且一组控制信号指示加密视频帧的加密状态。视频帧包括垂直同步(Vsync)信号之间的像素数据。
不同的视频帧可以通过使用不同的密码来加密。控制和认证信息144可以包括加密媒体内容的标识和/或加密状态。例如,控制和认证信息144包括指示视频帧的开始的标识信号和指示视频帧的加密状态的一组控制信号。在宿设备的HDCP引擎(例如,HDCP引擎124)被认证之后,源设备的HDCP引擎(例如,HDCP引擎114)可以用信号通知被认证HDCP引擎(例如,HDCP引擎124)开始通过一组控制信号(例如,CTL0-3)来对加密音像数据流进行解密。
在一个实施例中,链路完整性检查在对应帧之前的垂直消隐间隔期间被执行。在一些实施例中,HDCP引擎114、124中的每一个都确定新的密码初始化值和HDCP链路完整性验证值Ri,其中i表示帧号。HDCP链路完整性验证值可以基于指示帧的加密状态的一组控制信号来被确定。HDCP引擎124可以向源设备的HDCP引擎114提供HDCP链路完整性验证值。
宿设备的HDCP引擎124将本地确定的链路完整性验证值(在HDCP引擎124处生成)与从源设备110接收到的链路完整性验证值相比较,以确定是否在HDCP引擎114和124之间维持了密码同步。当本地链路完整性验证值和接收到的链路完整性验证值之间存在不匹配时,源设备110的HDCP引擎114确定与宿设备120的HDCP引擎124的密码同步丧失。可以以每两秒至少一次的速率来验证HDCP链路的完整性。HDCP链路完整性验证值Ri可以是16位值,并且对于每128个帧进行更新。
密码链路同步的丢失可以通过对ECC错误的数目进行计数来确定。音像数据流可以包括数据岛分组,该数据岛分组并入了ECC奇偶校验。源设备110的HDCP引擎114确保至少一个数据岛分组按预定数目(例如,两个)的视频帧而被传输给宿设备120的HDCP引擎124。宿设备的HDCP引擎124确定数据岛分组中连续的ECC错误的数目,并且将连续的ECC错误的数目与门限相比较。当连续的ECC错误的数目被确定为在门限(例如,50)以上时,宿设备120确定密码链路与源设备的同步丧失。在宿设备的HDCP引擎124确定密码同步丧失之后,宿设备的HDCP引擎124可以向源设备的HDCP引擎114通知密码同步丧失。
密码链路维持字符可以在未加密的数据字段中从源设备被发送给宿设备,以辅助验证密码同步并且采取补救措施来维持密码同步(如果适用的话)。图2A是示出根据一个实施例的在多媒体通信链路130的TMDS信道0中发送的数据的图。以使用根据HDMI或MHL协议来传输数据的实施例为例,视频、音频和辅助数据可以由TMDS使用在不同时间段(诸如控制数据周期204、数据岛周期206、和视频数据周期208)中被发送的不同类型的数据分组来进行交织。数据岛周期206可以发生在水平消隐间隔(Hsync 212)和垂直消隐间隔(Vsync214)期间。音频和辅助数据在数据岛周期206期间被传输。有效视频行的像素216在视频数据周期208期间被传输。在视频数据周期210期间,像素216可以跟随在保护带218之后。控制数据周期204在数据岛周期206与视频数据周期210之间。
可以使用多个TMDS信道来将加密或未加密的音像数据流从源设备110传输给宿设备120。如图2A所示,TMDS信道0包括多个比特0到7。在数据岛周期206期间,源设备110在TMDS信道(例如TMDS信道0)的预定比特(例如,比特3)中向宿设备120发送密码链路维持字符220。预定比特未被加密。密码链路维持字符220可以在比特3到7中的任何比特中被发送。
图2B是示出根据一个实施例的密码链路维持字符220中的数据的字段的图。密码链路维持字符220包括帧同步字符222。帧同步字符222可以与由源设备生成的本地帧同步字符相比较,以验证该密码链路的同步。此外,如果帧同步字符222与本地帧同步字符不一致,则本地帧同步字符可以被调整为与帧同步字符222相一致。这样,可以保持密码同步,即使传输错误导致了HDCP引擎114和HDCP引擎124处的不一致的帧计数。
此外,可以基于帧同步字符222来生成帧标识信号(例如,Vsync)和/或帧加密指示信号(例如,一组控制信号)。例如,Vsync可以基于帧同步字符222和参考Vsync来确定。参考Vsync从未加密的音像流中被确定。CTL3信号是在Vsync的有效边沿之后的528个像素。因此,加密帧可以被正确标识和解密。因此,维持了源设备110与宿设备120之间的密码链路的同步。
在一个实施例中,密码链路维持字符220被TERC编码,以用于通过TMDS信道0传输。密码链路维持字符220未被加密,并且宿设备通过对被包括在TMDS信道0、比特3中的密码链路维持分组进行解码,来获得密码链路维持字符220。
在一些实施例中,帧同步字符222是帧号。该帧号可以是例如31位的值或38位的值。该帧号可以从由认证HDCP引擎加密的第一视频帧的值1开始。每当源设备110传输一个帧时,或者每当认证HDCP引擎加密一个帧时,该帧号可以被递增。
在一些实施例中,当HDCP引擎处于视频和音频消音状态(AVMUTE状态)时,该帧号不递增。当处于AVMUTE状态时,宿设备使视频显示和音频输出消音。在AVMUTE状态期间,下一帧的加密被禁用。因此,直到HDCP引擎在AVMUTE状态之后对帧进行加密,该帧号才会恢复递增。在一个实施例中,帧同步字符222包括帧号和媒体源状态指示符。媒体源状态指示符指示源设备是否要求宿设备保持在AVMUTE状态。当在密码链路维持字符220中传输该AVMUTE状态时,该帧号可以是29位的值,并且媒体源状态指示符可以是2位的值。
在从源设备110接收到密码链路维持字符220之后,宿设备120从密码链路维持字符中提取帧同步字符222。在一些实施例中,宿设备120仅在检测到至少一个ECC错误时提取帧同步字符222。宿设备120可以将本地生成的帧号与从源设备110接收的帧号相比较。当本地帧号与从源设备110接收的帧号不一致时,宿设备120将本地帧号调整为与所接收的帧号相一致。这样,密码链路维持字符220协助维持密码链路同步。
图3是示出根据一个实施例的包括密码链路维持字符的视频帧的图。图3的视频帧300包括N(例如525)行,其中的M(例如,45)行在垂直消隐期间不起作用,并且其中的(N-M)(例如480)行是有效行。每一行可以包括控制数据周期306、数据岛周期308和/或视频数据周期310。
密码链路维持分组312可以在垂直消隐周期的数据岛周期期间被传输。源设备110可以在Vsync 304的有效边沿(例如,上升沿或下降沿)之后的预定时间(例如,多个像素时钟)中传输密码链路维持分组312。其他分组(例如,AVI信息帧、音频信息帧)的传输可以被延迟直到在密码链路维持分组312之后的至少预定时间(例如,预定数目的像素时钟,诸如112个像素时钟)。源设备可以每隔预定数目的帧就传输一次密码链路维持分组312。例如,密码链维持分组312可以每帧或每两帧被传输。
密码链路维持分组312包括帧同步字符(例如,帧号)子分组。密码链路维持分组312可以被实现为通用控制分组(GCP)或AVI信息帧分组,这些分组是根据HDMI标准传输的辅助数据。GCP是如下的分组,该分组除了描述被传输的源、视频和音频的信息、供应商信息和时钟再生信息之外还携带控制信息。AVI信息帧分组是如下的分组,该分组携带描述被传输的视频的信息。密码链路维持分组312的TMDS信道0的比特3在传输HDMI标准的GCP或AVI信息帧分组的数据岛周期期间未被加密,并且因此适合于传输帧的帧同步字符(例如,帧号)。
图4是示出根据一个实施例的验证密码链路的同步的过程的流程图。宿设备检测402通过多媒体通信链路接收的数据帧中的任何ECC错误。
当没有检测到ECC错误时,验证412密码链路与宿设备的HDCP同步。该宿设备可以使用与视频帧相对应的密码来解密所接收的视频帧。
当宿设备检测到ECC错误时,该宿设备从密码链路维持分组中提取404帧同步字符。宿设备可以从密码链路维持分组中确定帧同步字符。例如,在根据HDMI标准传输的数据中,宿设备可以解码GCP或AVI信息帧分组的TMDS信道0的比特3。
然后,确定406从密码链路维持分组中提取的帧同步字符和由宿设备生成的本地同步字符是否相一致。当所接收的帧同步字符被确定为与本地同步字符相一致时,验证412密码链路与源设备同步。宿设备可以使用如本地同步字符所指示的与视频帧相对应的密码来解密所接收的视频帧。
当所接收的帧同步字符与宿设备生成的本地帧同步字符不一致时,宿设备与源设备之间的密码链路可能不同步。当确定406所接收的帧同步字符与本地同步字符不一致时,宿设备确定408所接收的帧同步字符与本地帧同步字符之间的差异。
当所接收的帧同步字符与本地帧同步字符之间的差异小于门限时,宿设备可以基于所接收的帧同步字符来调整410帧标识和加密参数(例如,帧号和指示帧加密的其他值)。
在一些实施例中,密码链路维持字符可以包括媒体源状态指示符。该媒体源状态指示符指示源设备是否要求宿设备保持在AVMUTE状态。当宿设备不处于AVMUTE状态时,宿设备可以将本地帧同步字符调整为与从源设备接收的帧同步字符增加1相对应,并且当宿设备处于AVMUTE状态时,宿设备可以将本地帧同步字符调整为从源设备接收的帧同步字符。
此外,宿设备可以从帧同步字符确定410帧标识信号(例如,Vsync)和帧加密状态信号(例如,一组控制信号)。宿设备可以根据从源设备接收的帧同步字符中确定的帧标识信号和帧加密信号来对该帧进行解密。备选地,宿设备可以使用与在该帧之前或之后的帧相对应的帧标识信号(例如,Vsync)和帧加密信号(例如,一组控制信号)来解密该帧。
在宿设备根据所接收的帧同步字符来调整本地帧同步字符并且解密视频帧之后,验证412密码链路与源设备的同步。如此,宿设备与源设备之间的密码链路(例如,HDCP链路)维持同步,并且安全得到保证。
尽管已经示出和描述了本公开的特定实施例和应用,但是应当理解,实施例不限于本文中公开的精确构造和部件,并且在不脱离本公开的精神和范围的情况下,可以对在本文中公开的本公开的方法和装置的布置、操作和细节进行各种修改、改变和变化。
Claims (20)
1.一种用于接收多媒体数据通信的第一装置(被认证引擎),包括:
接收模块,具有耦合到通信链路的至少一个接口,所述接收模块被配置为:
经由所述至少一个接口从第二装置接收加密视频帧,以及
在预定时间内并且在所述通信链路的最小化传输差分信号(TMDS)信道的比特位置中接收与所述加密视频帧相对应的密码链路维持字符,所述密码链路维持字符表示如下信息,所述信息用于验证通过所述通信链路传输的所述多媒体数据的加密与第二装置的同步;以及
耦合到所述接收模块的解密模块,所述解密模块包括存储器和处理器,所述处理器被配置为响应于基于所述密码链路维持字符而验证所述多媒体数据的所述加密与所述第二装置同步,解密所述加密视频帧。
2.根据权利要求1所述的第一装置,其中所述密码链路维持字符包括表示所述加密视频帧的帧号的帧同步字符。
3.根据权利要求2所述的第一装置,其中所述接收模块还被配置为将所接收的所述帧同步字符与在所述第一装置处生成的本地帧同步字符相比较,以验证所述多媒体数据的所述加密与所述第二装置同步,并且响应于确定所接收的所述帧同步字符与所述本地帧同步字符相一致,所述多媒体的所述加密被验证为同步。
4.根据权利要求3所述的第一装置,其中所述接收模块还被配置为确定所接收的所述帧同步字符与所述本地帧同步字符之间的差异并且响应于确定所述差异小于预定门限来将所述本地同步字符调整为与所接收的所述帧同步字符相一致,并且响应于确定所述差异小于所述预定门限,所述多媒体的所述加密被验证为同步。
5.根据权利要求4所述的第一装置,其中所述接收模块还被配置为基于所接收的所述帧同步字符来确定帧标识信号和帧加密状态信号。
6.根据权利要求5所述的第一装置,其中所述解密模块被配置为基于所述帧标识信号和所述帧加密状态信号来解密所述加密视频帧。
7.根据权利要求2所述的第一装置,其中所述密码链路维持字符还包括指示所述第二装置是否处于AVMUTE状态的媒体源指示符。
8.根据权利要求1所述的第一装置,其中所述预定时间是数据岛周期,所述TMDS信道是TMDS信道0,并且所述密码链路维持字符在所述TMDS信道的预定比特中被接收,所述预定比特未被加密。
9.一种用于发送多媒体数据通信的第一装置(认证引擎),包括:
包括存储器和处理器的加密模块,所述处理器被配置为:
生成加密视频帧,以及
确定与所述加密视频帧相对应的密码链路维持字符,所述密码链路维持字符表示如下信息,所述信息用于验证通过所述通信链路传输的所述多媒体数据的加密与第二装置的同步;以及
具有耦合到通信链路的至少一个接口的发送模块,所述发送模块耦合到所述加密模块并且被配置为:
经由所述至少一个接口向所述第二装置发送所述加密视频帧,以及
在预定时间内并且在所述通信链路的最小化传输差分信号(TMDS)信道的比特位置中发送所述密码链路维持字符。
10.根据权利要求9所述的第一装置,其中所述密码链路维持字符包括表示所述加密视频帧的帧号的帧同步字符。
11.根据权利要求10所述的第一装置,其中所述密码链路维持字符还包括指示所述第一装置是否处于AVMUTE状态的媒体源指示符。
12.根据权利要求15所述的第一装置,其中所述预定时间是数据岛周期,所述TMDS信道是TMDS信道0,并且所述密码链路维持字符在所述TMDS信道的预定比特中被发送,所述预定比特未被加密。
13.一种用于接收多媒体数据通信的方法,包括:
在第一装置处从第二装置接收加密视频帧;
在所述第一装置处在预定时间内并且在所述通信链路的最小化传输差分信号(TMDS)信道的比特位置中接收与所述加密视频帧相对应的密码链路维持字符,所述密码链路维持字符表示如下信息,所述信息用于验证通过所述通信链路传输的所述多媒体数据的加密与第二装置的同步;以及
在所述第一装置处响应于基于所述密码链路维持字符而验证所述多媒体数据的所述加密与所述第二装置同步,解密所述加密视频帧。
14.根据权利要求13所述的方法,其中所述密码链路维持字符包括表示所述加密视频帧的帧号的帧同步字符。
15.根据权利要求14所述的方法,还包括将所接收的所述帧同步字符与在所述第一装置处生成的本地帧同步字符相比较,以验证所述多媒体数据的所述加密与所述第二装置同步,其中响应于确定所接收的所述帧同步字符与所述本地帧同步字符相一致,所述多媒体的所述加密被验证为同步。
16.根据权利要求15所述的方法,还包括确定所接收的所述帧同步字符与所述本地帧同步字符之间的差异并且响应于确定所述差异小于预定门限来将所述本地同步字符调整为与所接收的所述帧同步字符相一致,其中响应于确定所述差异小于所述预定门限,所述多媒体的加密被验证为同步。
17.根据权利要求16所述的方法,还包括基于所接收的所述帧同步字符来确定帧标识信号和帧加密状态信号。
18.根据权利要求17所述的方法,还包括基于所述帧标识信号和所述帧加密状态信号来解密所述加密视频帧。
19.根据权利要求13所述的方法,其中所述预定时间是数据岛周期,所述TMDS信道是TMDS信道0,并且所述密码链路维持字符在所述TMDS信道的预定比特中被接收,所述预定比特未被加密。
20.一种用于发送多媒体数据通信的方法,包括:
在第一装置处生成加密视频帧;
在第一装置处确定与所述加密视频帧相对应的密码链路维持字符,所述密码链路维持字符表示如下信息,所述信息用于验证通过所述通信链路传输的所述多媒体数据的加密与第二装置的同步;
由所述第一装置经由所述至少一个接口发送所述加密视频帧;以及
在预定时间内并且在所述通信链路的最小化传输差分信号(TMDS)信道的比特位置中发送所述密码链路维持字符。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/074165 WO2016145558A1 (en) | 2015-03-13 | 2015-03-13 | Maintaining synchronization of encryption process across devices by sending frame numbers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107431832A true CN107431832A (zh) | 2017-12-01 |
CN107431832B CN107431832B (zh) | 2020-08-18 |
Family
ID=56918182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580077721.5A Active CN107431832B (zh) | 2015-03-13 | 2015-03-13 | 通过发送帧号来维持跨设备的加密过程的同步 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10110945B2 (zh) |
EP (1) | EP3269139A4 (zh) |
KR (1) | KR102032234B1 (zh) |
CN (1) | CN107431832B (zh) |
WO (1) | WO2016145558A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995392A (zh) * | 2019-11-28 | 2020-04-10 | 上海集成电路研发中心有限公司 | 一种数据传输方法及装置 |
CN112169340A (zh) * | 2020-08-21 | 2021-01-05 | 成都完美天智游科技有限公司 | 一种数据的同步验证方法、系统、计算设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714295B (zh) * | 2017-10-25 | 2021-10-26 | 普天信息技术有限公司 | 一种语音加解密同步处理方法和装置 |
US10931476B2 (en) * | 2018-10-29 | 2021-02-23 | Analog Devices Global Unlimited Company | Content protection over synchronous data networks |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1443428A (zh) * | 2000-05-23 | 2003-09-17 | 诺泰网络有限公司 | 在蜂窝无线电通信网中控制信道切换的方法 |
CN1502189A (zh) * | 2000-05-17 | 2004-06-02 | ����˹�Ƽ��о�����˾ | 八音度脉冲数据传送方法及其装置 |
CN101304420A (zh) * | 2007-05-11 | 2008-11-12 | 创世纪微芯片公司 | 通过单信号线的内容受保护的数字链路 |
US20090296938A1 (en) * | 2008-05-27 | 2009-12-03 | Intel Corporation | Methods and apparatus for protecting digital content |
US20120328102A1 (en) * | 2001-02-15 | 2012-12-27 | Reeds Iii James Alexander | Apparatus, System and Method for Detecting a Loss of Key Stream Synchronization in a Communication System |
CN103096308A (zh) * | 2011-11-01 | 2013-05-08 | 华为技术有限公司 | 生成组密钥的方法和相关设备 |
US8526609B1 (en) * | 2011-06-23 | 2013-09-03 | Bby Solutions, Inc. | Method for real-time compositing of encrypted video streams without decryption |
US8644504B2 (en) * | 2008-02-28 | 2014-02-04 | Silicon Image, Inc. | Method, apparatus, and system for deciphering media content stream |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7295578B1 (en) * | 2001-09-12 | 2007-11-13 | Lyle James D | Method and apparatus for synchronizing auxiliary data and video data transmitted over a TMDS-like link |
US7242766B1 (en) * | 2001-11-21 | 2007-07-10 | Silicon Image, Inc. | Method and system for encrypting and decrypting data using an external agent |
US20050144468A1 (en) | 2003-01-13 | 2005-06-30 | Northcutt J. D. | Method and apparatus for content protection in a personal digital network environment |
US7632273B2 (en) * | 2004-06-29 | 2009-12-15 | Depuy Products, Inc. | Minimally invasive bone broach |
US7545939B2 (en) * | 2005-08-29 | 2009-06-09 | Sony Corporation | Control 3 signal synthesis |
US20100158243A1 (en) * | 2008-12-19 | 2010-06-24 | Robert Bosch Gmbh | Method of encryption in networked embedded systems |
CN102348203B (zh) * | 2010-07-29 | 2014-05-14 | 普天信息技术研究院有限公司 | 加密同步实现方法 |
CN101931784B (zh) * | 2010-07-30 | 2015-07-29 | 康佳集团股份有限公司 | 通过hdcp密钥对录制节目加解密的方法 |
-
2015
- 2015-03-13 US US15/022,549 patent/US10110945B2/en active Active
- 2015-03-13 EP EP15884942.2A patent/EP3269139A4/en not_active Ceased
- 2015-03-13 CN CN201580077721.5A patent/CN107431832B/zh active Active
- 2015-03-13 WO PCT/CN2015/074165 patent/WO2016145558A1/en active Application Filing
- 2015-03-13 KR KR1020177029519A patent/KR102032234B1/ko active IP Right Grant
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1502189A (zh) * | 2000-05-17 | 2004-06-02 | ����˹�Ƽ��о�����˾ | 八音度脉冲数据传送方法及其装置 |
CN1443428A (zh) * | 2000-05-23 | 2003-09-17 | 诺泰网络有限公司 | 在蜂窝无线电通信网中控制信道切换的方法 |
US20120328102A1 (en) * | 2001-02-15 | 2012-12-27 | Reeds Iii James Alexander | Apparatus, System and Method for Detecting a Loss of Key Stream Synchronization in a Communication System |
CN101304420A (zh) * | 2007-05-11 | 2008-11-12 | 创世纪微芯片公司 | 通过单信号线的内容受保护的数字链路 |
US8644504B2 (en) * | 2008-02-28 | 2014-02-04 | Silicon Image, Inc. | Method, apparatus, and system for deciphering media content stream |
US20090296938A1 (en) * | 2008-05-27 | 2009-12-03 | Intel Corporation | Methods and apparatus for protecting digital content |
US8526609B1 (en) * | 2011-06-23 | 2013-09-03 | Bby Solutions, Inc. | Method for real-time compositing of encrypted video streams without decryption |
CN103096308A (zh) * | 2011-11-01 | 2013-05-08 | 华为技术有限公司 | 生成组密钥的方法和相关设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995392A (zh) * | 2019-11-28 | 2020-04-10 | 上海集成电路研发中心有限公司 | 一种数据传输方法及装置 |
CN112169340A (zh) * | 2020-08-21 | 2021-01-05 | 成都完美天智游科技有限公司 | 一种数据的同步验证方法、系统、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US10110945B2 (en) | 2018-10-23 |
KR20170128503A (ko) | 2017-11-22 |
KR102032234B1 (ko) | 2019-11-08 |
EP3269139A4 (en) | 2018-10-31 |
US20170064370A1 (en) | 2017-03-02 |
WO2016145558A1 (en) | 2016-09-22 |
CN107431832B (zh) | 2020-08-18 |
EP3269139A1 (en) | 2018-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7634090B2 (en) | Packet based high definition high-bandwidth digital content protection | |
US7613300B2 (en) | Content-protected digital link over a single signal line | |
US7242766B1 (en) | Method and system for encrypting and decrypting data using an external agent | |
US7398547B2 (en) | High-bandwidth digital content protection during rapid channel changing | |
US20080148063A1 (en) | Method and apparatus for content protection within an open architecture system | |
USRE46959E1 (en) | Enabling/disabling display data channel access to enable/disable high-bandwidth digital content protection | |
CN1981527A (zh) | 显示适配器的保密视频系统 | |
US20120027203A1 (en) | Interface circuit | |
US8903086B2 (en) | Enabling/disabling display data channel access to enable/disable high-bandwidth digital content protection | |
CN107431832A (zh) | 通过发送帧号来维持跨设备的加密过程的同步 | |
US10505735B2 (en) | Digital content protection over audio return data link | |
KR20200015520A (ko) | 스트리밍 컨텐츠의 컨텐츠 타입 변경들에 대한 평활한 트랜지션 | |
Lomb et al. | Decrypting HDCP-protected video streams using reconfigurable hardware | |
US20200134236A1 (en) | Circuit and Method for Link Verification by HDCP Receiver | |
Lu | HDCP and EDIP demystified |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |