CN101919201B - 提供密码数据的方法、模块和系统 - Google Patents

提供密码数据的方法、模块和系统 Download PDF

Info

Publication number
CN101919201B
CN101919201B CN2008800062617A CN200880006261A CN101919201B CN 101919201 B CN101919201 B CN 101919201B CN 2008800062617 A CN2008800062617 A CN 2008800062617A CN 200880006261 A CN200880006261 A CN 200880006261A CN 101919201 B CN101919201 B CN 101919201B
Authority
CN
China
Prior art keywords
data
code data
data flow
code
hdcp
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.)
Active
Application number
CN2008800062617A
Other languages
English (en)
Other versions
CN101919201A (zh
Inventor
詹姆斯·R·古德曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ATI Technologies ULC filed Critical ATI Technologies ULC
Publication of CN101919201A publication Critical patent/CN101919201A/zh
Application granted granted Critical
Publication of CN101919201B publication Critical patent/CN101919201B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/605Copy protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

披露一种在密码数据的主要源的输出不可用的时间段内,提供密码数据的方法。该方法包含:在该时间段开始时从密码数据的该主要源切换到密码数据的替代源;在该时间段内使用来自该替代源的该密码数据;以及在该时间段结束时切换回该主要源。

Description

提供密码数据的方法、模块和系统
技术领域
本发明涉及提供密码数据,特别是在当密码数据的主要源的输出不可用的时间段内提供密码数据。
背景技术
现代数字应用严重依靠可靠的数据交换。数字内容,例如,包括数字声频和视频,经常以加密形式存储和传输,然后由授权接收方解密。已经知道许多加密/解密技术,这不令人感到意外。
例如,使用高带宽数字内容保护(HDCP)协议来保护高带宽点到点连接上的数字数据视频信息流。例如,HDCP被用于通过高分辨率多媒体接口(HDMI)和数字视频接口(DVI)与视频源相互连接的显示器。
HDCP利用初始的认证阶段初始化密码引擎,然后使用该密码引擎形成伪随机加密密码流,然后将该伪随机加密密码流与待保护的数据流进行XOR(异或)运算。不生成与该加密密码流一致的解密密码流并将其与受保护数据流进行异或运算以恢复初始数据的话,结果数据流就无法译码。图1显示了一个简单的HDCP发送器/接收器系统100。
系统100包括发送器110和接收器120。发送器110包括HDCP引擎112,其产生HDCP密码数据以加密来自数据源114的数据。使用异或门116将该密码数据与来自该数据源的数据结合,由此产生受保护数据流140。
接收器120包括HDCP引擎124,其与HDCP引擎112类似,产生HDCP密码数据以解密该受保护数据流140。使用异或门126将该HDCP密码数据与该受保护数据流140结合,将输出引导到数据转发器124。
HDCP引擎112和122交换控制和验证信息130以保证它们有权执行所需的加密/解密并保证它们彼此同步。
发送器110和接收器120必须周期性地重新初始化(也就是说,密钥更新(re-key))。对由发送器110提供的视频的每条线以及视频的每一帧完成此动作。密钥更新确保了发送器110与接收器120同步。在每条线之后,该HDCP系统执行软密钥更新,其通常发生58个周期。在每一帧之后,执行硬密钥更新,并为其分配142个周期。
不幸的是,在该密钥更新期内,加密是不可能的,因为密码引擎112和122在此期间没有产生加密数据。因为HDCP通常被用于保护光栅化视频,垂直与水平消隐间隔适应这种周期性密钥更新,使得密码引擎112和122可以产生间断的加密/解密密码流,而不影响该数据流的加密或解密。
图2显示了HDCP光栅化视频200的一个实施例。该光栅化视频包括有效(active)视频数据210,在这段时间,HDCP是有效的。相应于传统的垂直与水平消隐间隔,该光栅化视频还包括垂直空白220和水平空白230。可选地,可以将辅助数据222植入该消隐间隔。对于该垂直和水平空白220和230中那些不包含辅助数据240的部分,加密和解密流停止。在该垂直和/或该水平空白220和230过程中,每帧密钥更新240和每线密钥更新可能发生。
在由数字内容保护组织发布的HDCP规范审查1.2和1.3版中,对HDCP进行了更具体的描述,其内容皆由参考并入此处。
不幸的是,不是所有数据流都包括充分的间隔(例如中断)来适应HDCP密钥更新。这种流不适于使用传统的HDCP协议进行加密。例如,HDCP不适于与非光栅化视频或其它数据流结合使用。
例如,未来的DisplayPort协议,定义了新的视频互连,其不包括充分的中断来适应HDCP密钥更新。更准确地说,DisplayPort原本用于单流光栅化视频,但是可以被扩展至非光栅化、多流应用,其中在该数据流中没有可预测的中断。在由视频电子标准协会(VESA)发布的DisplayPort标准1.0版和1.1版中,对DisplayPort进行了更具体的描述,其内容皆由参考并入此处。
不需要密钥更新的新加密协议是这种流的可选方案。然而,HDCP已经被行业接受,而HDCP引擎已经成为许多接收器和发送器的一部分。
因此,需要一种新的加密技术,其允许使用密码引擎,比如在提供间断的加密流的HDCP系统中使用的那些密码引擎,加密各种数据流。
发明内容
本发明的实施方式的示例,主要密码引擎产生间断的加密流。该主要密码引擎可以与密码数据的第二源一起使用,该密码数据的第二源可以在该主要引擎不提供密码数据时使用。在一个实施方式中,该主要密码引擎是HDCP密码引擎,而该第二密码引擎产生不使用的伪随机数据流,其随后在该HDCP密码引擎进行密钥更新时输出。
在一些实施方式中,这是通过以比该数据流更快的速度运行该HDCP密码引擎一段时间完成的。如果这是以在数据源和接收器中同步的方式完成的,导致的操作会显得就像没有密钥更新间隔一样,因为在所有时间内都可以进行加密和/或解密,而不仅仅在密钥更新间隔之外。这消除了由密钥更新间隔带来的约束,使得HDCP可在更多情况下应用,更值得注意的是,可在DisplayPort标准下应用。
依照本发明的一个方面,提供一种在密码数据的主要源的输出不可用的时间段内,提供密码数据的方法,该方法包含:在该时间段开始时从密码数据的该主要源切换到密码数据的替代源;在该时间段内使用来自该替代源的该密码数据。
依照本发明的另一个方面,提供一种密码模块,包含:用于加密或解密数据流的密码数据的主要源;密码数据的替代源;在该主要源的输出不可用的时间段内切换到该替代源的开关。
依照本发明的又一个方面,提供一种密码系统,包含:发送模块,包含加密密码数据的主要源、加密密码数据的替代源和开关,其中该开关在该加密数据的主要源的输出不可用的时间段内切换到该加密数据的替代源,而在该时间段之后切换回该加密数据的主要源,该加密数据用于加密数据流以产生加密的数据流;以及接收模块,包含解密密码数据的主要源、解密密码数据的替代源和开关,其中该开关在该时间段内切换到该解密数据的替代源,该解密数据用于解密该加密的数据流以产生解密的数据流。
在阅览对下面的本发明的具体实施方式的描述之后,对于本领域的普通技术人员,本发明的其它方面和特征会变得显而易见。
附图说明
在下面仅通过示例的方式对本发明的实施方式进行描绘的附图中,
图1是HDCP系统的方框图;
图2是HDCP光栅化视频的方框图;
图3是示范本发明的一个实施方式的方法的流程图;
图4是示范本发明的一个实施方式的密码模块的方框图;
图5是示范本发明的一个实施方式的密码系统的方框图;
图6是示范本发明的一个实施方式的HDCP模块的方框图;
图7是示范本发明的一个实施方式的HDCP模块的方框图;
图8是示范本发明的一个实施方式的HDCP模块的时序图;
图9是示范本发明的一个实施方式的HDCP模块的方框图;
图10是示范本发明的一个实施方式的HDCP模块的时序图;
图11是示范本发明的一个实施方式的HDCP模块的时序图;以及
图12是示范本发明的一个实施方式的HDCP模块的方框图。
具体实施方式
本发明的实施方式使用密码数据的替代源,其可以在主要源不可用时访问,比如在HDCP密钥更新过程中。
本发明的一个实施方式是一种在加密数据的主要源的输出不可用的时间段内,提供密码数据的方法,现在参考图3对其进行描述。
如图所示,该方法包括,在该时间段的开始,从密码数据的主要源切换到密码数据的替代源(步骤302)。该密码数据可以是伪随机数据。例如,该密码数据可以是由传统的HDCP加密引擎输出的密码数据。
接下来,在该时间段内使用来自该替代源的该密码数据(步骤304)。在该时间段结束时,重新使用来自该主要源的密码数据(步骤306)。
该时间段可以是这样一个时间段,在其过程中,来自该主要源的密码数据是不可用的,例如在HDCP或类似的密钥更新期。例如,该密钥更新期可以是在数据的每一帧之前和/或数据的每一线之前。然而,应当理解,本发明不限于密钥更新期。其可以是该主要源不可用的任何时间段。例如,在该主要源发生故障时,或当该主要源正作它用,而无法用于所关心的数据流时。
密码数据的该替代源可以是缓冲器(buffer)。在这种情况下,该方法可进一步包括将该密码数据的一部分从该主要源重定向到该缓冲器中备用。
例如,如果该主要密码源以比待加密数据更高的速度产生密码数据,密码数据可以缓存起来,在该加密引擎停止提供数据的那些间隔中使用。
在一个很具体的实施例中,使用HDCP密码引擎来加密DisplayPort数据。HDCP密码数据通常以每周期3字节的速度产生,而每一通道(lane)DisplayPort数据仅需要每周期1字节。如果对于每一通道或两通道有一个HDCP密码引擎,每周期一字节可以被引导到该缓冲器中直到该缓冲器填满。因此,在本发明的一个实施方式中,该方法进一步包含在密钥更新期之后,将过剩的密码数据引导到该缓冲器中一个预先确定的时间段。因为通常HDCP中最坏情况是帧密钥更新需要142个周期,在一个优选实施方式中,该缓冲器对待加密或解密数据的每一通道保留142个字节。在一些情况下,过剩的密码数据是由产生密码数据的速度比待加密或解密数据流的速度更快产生的。
该缓冲器可以是FIFO(先进先出)缓冲器。
这允许当该主要HDCP密码引擎不可用时,比如在密钥更新过程中,继续通过HDCP密码引擎进行加密和解密。转而,这允许对数据流中缺乏可预测中断的非光栅化视频数据进行加密。使用产生的加密流,便宜地,可以对非光栅化视频数据进行加密。在具体的实施方式中,该方法进一步包含加密或解密DisplayPort数据。
在一个替代实施方式中,加密数据的第二个源可以是第二HDCP密码引擎。
图4描绘了示范本发明的一个实施方式的密码模块(ciphering module)400。密码模块400包括密码数据的主要源402,密码数据的替代源404和开关406。由该主要源和该替代源402、404产生的密码数据用于加密或解密数据流410。在该主要源402的输出不可用时,开关406可以切换到密码数据的替代源404。例如,当密码数据402不可用时开关406可以精确的切换。替代地,开关406可以以规则(或不规则)间隔在密码数据402和密码404之间切换,以便密码数据永远是可用的。替代地,开关406可以是可控开关,或多路器。替换地,开关406可以是寄存器或以其它的指向源402和404之一或两者的存储密码数据的存储器或缓冲器的指针的方式实现的。该指针/寄存器可以更新以在来自任一源的密码数据之间进行选择。替代地,开关406可以是任何其它的用于在源402和404之间进行选择的器件或功能块,这一点所属技术领域的专业人员可以理解。
如上所述,在一些实施方式中,替代源404是缓冲器。在一些情况下,该模块400包括将该密码数据的一部分从该主要源导向该缓冲器的功能块。该功能块可以采取多路器、开关等形式。在一些情况下,被导向该缓冲器的该部分密码数据是加密或解密不需要的过剩的密码数据。例如,控制信号不被加密,因此,包括控制信号的那部分数据流410不需要密码数据。通常,在该数据流410中出现控制信号时产生的密码数据不被使用,因此可以用来被重定向到该缓冲器。
替代地,主要源402可以以加快的速度产生该密码数据,而该部分密码数据被导向该缓冲器。在一些情况下,该主要源402总是以加快的速度运转。与根据该缓冲器是否是满的来改变速度相比,在所有时刻以同样的速度运转更加简单而且需要更少的控制。在一些实施方式中,被导向该缓冲器的该部分密码数据是当待加密或解密的数据流410包含控制数据时产生的密码数据。
再说一次,该密码数据可以是HDCP密码数据。
参考图5,示范本发明的另一个实施方式的密码系统500包含发送模块510和接收模块520。该发送模块510包含加密密码数据的主要源512,加密密码数据的替代源514和开关516,其中该开关516在该加密数据的主要源512的输出不可用的时间段内切换到该加密数据的替代源514并在该时间段之后切换回该HDCP加密数据的主要源512。该加密密码数据被用来加密数据流530以产生加密的数据流540。接收模块520包括解密密码数据的主要源522、解密密码数据的替代源524和开关526,其中该开关526在该时间段内切换到该解密数据的替代源524并在该时间段之后切换回该解密数据的主要源522。该解密密码数据用于解密该加密的数据流540以产生解密的数据流550。
在一些实施方式中,该发送模块510和该接收模块520中每一个的开关516、526适于在密钥更新开始时切换到该各自的替代源514、524并在密钥更新结束时切换回各自的主要源512、522。
在一些实施方式中,发送模块510进一步包括异或门以将该加密数据与该数据流530结合。同样地,该接收模块520的一些实施方式进一步包括异或门以将该解密数据与该加密数据流540结合。
再说一次,该密码数据可以是HDCP密码数据。
系统500可以修改以适于与DisplayPort协议一起使用。在这种情况下,该发送模块510可能位于通道偏移(lane skewing)之前链路层和物理层之间的接口而该接收模块520可能位于通道去偏移(lane de-skewing)之前链路层和物理层之间的接口。
可以理解,本发明的一些实施方式需要过剩伪随机数据,其可以被缓存并在密码引擎的输出不可用的密钥更新时间段内代替密码引擎的输出而输出。所需要缓冲的量、密码引擎需要计时的速度、在上述速度下该密码引擎被计时的时间段、以及该源或发送器引擎和该转发器(sink)或接收器引擎之间的同步机制取决于特定的应用并由设计人员确定。
现在参考图6到14,描述将HDCP密码数据映射(mapping)到DisplayPort上的具体方案。
DisplayPort是高带宽点对点数字互连方案,其将最终能够支持可扩展(scalable)连接上的众多数据格式和类型,该可扩展连接现在支持1、2或4个数据通道,每个数据通道每秒能传输162MB或270MB数据。
HDCP的输出密码可以产生达3B/周期的伪随机数据,而DisplayPort根据活动通道的数量需要1B、2B或4B/周期的密码数据。在1和2个通道的情况下,可以使用HDCP密码的一个实例,而在4个通路的情况下,可以使用HDCP密码的两个实例。注意,如果愿意超计时(overclock)该4通道配置以确保有足够的HDCP伪随机数据来缓冲该过程并满足密钥更新不起作用时该输出流的需求的话,可以在所有的情况下均使用单一引擎。
如果一个或多个密码引擎是以与该发送器逻辑相同的速度计时的,那么与该1/2/4通道配置相比,它分别会多产生(3/1)/(3/2)/(2*3/4)=3倍/1.5倍/1.5倍的数据。产生的过剩数据中的一些或全部可以在缓冲器中存储非特定的时间段,然后在其密钥更新时密码不可用的时间段内输出。最后的实现如图6所示。
在图6中,HDCP模块600包含两个HDCP密码引擎610和620以服务四个数据通道630、640、650和660。该第一密码引擎610将2B/周期的密码数据直接提供至多路器614并将1B/周期的密码数据提供至FIFO缓冲器612。FIFO 612的输出也提供至多路器614。多路器614还具有输入信号REKEY_EN 616,其指示该密码引擎610是否在密钥更新模式。在这种情况下,值0表示活动模式而值1表示密钥更新模式。因此,当多路器614收到0时,该密码数据被从该密码引擎610导向异或门618和619以将来自通道630和640的数据分别合并,以产生各自的加密数据通道635和645。对第二密码引擎620镜像相同的设置。也就是说,2B/周期的密码数据直接被提供至多路器624而1B/周期的密码数据被提供至FIFO缓冲器622。FIFO 622的输出也去到该多路器624。该多路器624还具有输入信号REKEY_EN626,其指示该密码引擎620是否在密钥更新模式。当该多路器624收到0时,该密码数据被从该密码引擎620直接导向异或门628和629以与来自通道650和660的数据分别结合,产生各自的加密数据通道655和665。
密码被计时的速度和以加快的速度运行的时间段完全按照设计人员的意思设置,只要在FIFO 612、622中存储有足够的过剩数据以在该密钥更新时间段内加密该数据流。对于HDCP,每帧基础上142周期的有用数据,或者每线基础上58周期的有用数据,应当是可用的,其中“帧”和“线”的概念可以被限定以适合该应用。“线”和“帧”的文字定义适用于光栅化视频数据,但是对于不那么结构化的数据模式“线”可以被定义为消隐开始(用消隐开始(“BS”)表示)控制符之间的时间,而“帧”可以被定义为连续扰频器重置(“SR”)控制符之间的时间,其中对于每512个BS控制符,SR控制符出现一次。
通过简单的优先定义(priori-defined)策略可以保持该源与转发器器件的HDCP引擎之间的同步,以保证它们产生相同的过剩数据,在优先定义策略中,过剩的字节被识别和标记以进行存储。例如,密码可以以与数据流相同的速度运行。在该密钥更新期结束之后,可以存储过剩数据的前256B,然后将其缓存直到下一个密钥更新期。在每个密钥更新期结束时清空(flush)该缓冲器以确保该源和转发器在每个周期都以相同的FIFO状态开始。
该HDCP模块600的另一个配置如图7中所示例的。如图所示,HDCP模块700只代表该模块600的一半,也就是说,由HDCP密码引擎610服务的那一半。在此配置中,有一个额外的多路器615,其输出到异或门619。该密码引擎610将1B/周期导向多路器614,1B/周期导向多路器615而1B/周期导向FIFO 612。
正如上面提到的,本发明的实施方式可被用于DisplayPort的1、2或4通道配置。图8显示了2通道配置的时序图。图8的时序图显示了12个信号的时序:LANE_CLK 810,其是时钟信号;REKEY_EN 815,其指示该HDCP引擎是否在密钥更新模式;HDCPout[7:0]820、HDCPout[15:8]825和HDCPout[23:16]830,其是该HDCP密码引擎的输出;FIFO_REN 835,其代表FIFO输出该密码数据;FIFOout[7:0]840和FIFOout[15:8]845,该FIFO的输出;FIFO_WEN850,其代表该FIFO正被补充;FIFOin 855,其为该FIFO的输入;Lane0Mask 860和Lane1 Mask 865,其代表加密或解密该两个通道所用的密码数据。第一时间块是普通的HDCP操作870,在此过程中该HDCP输出820和825为该Lane0 Mask 860和该Lane1 Mask 865提供数据。该FIFO输出840和845是无效的。为了此实施例的目的,该FIFO在该时序图的一开始就是满的。下一个时间块是该HDCP屏蔽(keep-out)或密钥更新时间段875,在此过程中该FIFO输出840和845为该Lane0Mask 860和该Lane1 Mask 865提供数据。该HDCP输出820、825和830在此时是无效的。在此期间REKEY_EN 815具有值1而在所有的其它时间中具有值0。下一个时间块是该FIFO重新加载时间880,在此过程中该FIFOin 855从HDCPout[23:16]830接收数据以重新加载该FIFO。在此期间FIFO_WEN 850具有值1而在所有其它时间中具有值0。所有其它信号像HDCP正常操作870中一样操作。
对于四通道配置,对该第二HDCP引擎重复该时序图。对于单通道配置,没有Lane1 Mask 865,这意味着不使用FIFOout[15:8]845。在其它方面,该时序图是相同的。
在一通道配置中,只需要1B/周期的HDCP密码数据来进行加密或解密,因此,该密码引擎可以以一半的速度运行。本发明的一个实施方式能够在一半速度下具有一通道配置,除此之外还有两通道配置,现在参考图9对其进行描述。HDCP模块900与参考图7描述的HDCP模块700相同,但是在该多路器614和615和异或门618之间多一个另外的多路器620。到该多路器620的输入是多路器614和615的输出,以及EVEN_ODD信号622。多路器615的输出还去到异或门619。在单通道模式中,异或门619所在的通道是无效的,该HDCP密码引擎610以一半的速度运行且该EVEN_ODD信号622在0和1之间振动。振动信号622导致多路器620的输出为多路器614和615的输出的结合。在两通道模式,该HDCP密码引擎610全速运转且该EVEN_DDD信号具有值0。图10是此实施方式的单通道模式的时序图而图11是双通道模式的时序图。
图10的时序图包括所有的与图8中相同的信号,除Lane1Mask 865之外。它具有一个额外的信号,EVEN-ODD 1010,其在所有的时间块中振动。
图11与图8相同,但是它包括参考图10描述的EVEN-ODD信号。在图11中,该EVEN-ODD信号保持值0,因此该HDCP模块以与参考图8所描述的两通道模式相同的方式运作。
替代地,在单通道模式中,该HDCP引擎可以以1/3速度运转。在此实施方式中,当该数据流包含控制信号时,被导向该缓冲器的该密码数据必须是没有使用的密码数据。
在另一个替代实施方式中,可以修改该HDCP密码以在4B/周期下输出。这使得一个HDCP密码引擎可以服务4通道DisplayPort数据。当该数据流包括控制数据时,该缓冲器被没有使用的HDCP输出充满。图12是依照此方案的一个实施方式的HDCP模块1200的示意图。
HDCP模块1200中的HDCP密码1210输出4B/周期,其中一个字节去到四个多路器1230、1232、1234和1236中的一个。每个多路器还具有各自的FIFO 1211、1212、1214、1216的输出作为输入。所有四个FIFO都有一个Kcode信号1220作为输入,其指示数据流1250、1260、1270和1280包含控制信号。当该数据流1250、1260、1270和1280包含控制信号时,该HDCP密码1210的输出被导向该FIFO 1211、1212、1214和1216。多路器1230、1232、1234和1236均接收REKEY_EN信号1225作为输入。当此信号1225指示该HDCP密码在密钥更新模式时,它们使用来自它们各自的FIFO的该密码数据作为它们的输出。与前面的实施例一样,多路器的输出被导向异或门1240、1242、1244和1246,在那里该密码数据与数据流1250、1260、1270和1280结合以分别产生输出数据流1245、1255、1265和1275。
替代地,而且更通常地,HDCP密码1210可以以比N通道更大的速度计时。例如,HDCP密码1210可以以一定的速度计时从而以每个通道的数据速度的N/(N-M)倍的速度提供密码数据。每N个单元有M个密码数据被提供到FIFO备用。
一种可以尝试的替代方案是利用以超过所需数据速度的速度运转的多于一个HDCP引擎并使用一个HDCP引擎的输出来隐藏其它引擎的密钥更新间隔。当一个引擎在进行密钥更新时,也就是说,其不能输出时,其它的密码引擎可被用于加密该数据流。这种额外的加密可以通过使能额外的密码来实现,如果其处于空闲状态正等待使用的话,或者使其超计时(overclocking)以由其密码正在进行密钥更新的流产生额外的伪随机密码。
对于这种方案,在密钥更新间隔必须永远有一个密码引擎是可用的且各引擎的密钥更新应当充分错开而使得没有所有的密码引擎都同时需要密钥更新的时间段。在HDCP引擎库中必须有足够的带宽,或者可以由密码实例的绝对数量决定的或者能够超计时任何数量的可用实例以在任何给定时间中提供所需数量的伪随机数据。
现在可以理解,描述此处的方法可以用硬件、软件或其结合完成。例如,存储有计算机可读指令的计算机可读介质,其中该计算机可读指令可以由执行相应方法的计算机完成。它们可以是使用硬件、软件或其组合完成的。
所描述的仅仅是对该本发明原理的应用的一些说明。然而,本领域的技术人员可以实现其它的装置和方法而不背离本发明的范围。

Claims (26)

1.一种提供密码数据流的方法,所述密码数据流用于与数据流结合以连续加密或解密该数据流,该方法包含:
在包括用于通过第一密码数据流路径提供主密码数据流的密码数据的主要源、用于通过第二密码数据流路径提供替代密码数据流的密码数据的替代源和开关的电子设备上:
通过所述第一密码数据流路径提供来自密码数据的该主要源的所述主密码数据流以用于与所述数据流结合以加密或解密所述数据流;
在所述密码数据的主要源的输出不可用的时间段开始时从密码数据的该主要源切换到密码数据的该替代源;以及
在该时间段内通过所述第二密码数据流路径提供来自密码数据的该替代源的所述替代密码数据流以用于与所述数据流结合以加密或解密所述数据流;
由此所述数据流的每个元素连续与密码数据的元素相结合以连续地加密或解密所述数据流。
2.根据权利要求1所述的方法,进一步包含利用所述开关在该时间段结束时切换回密码数据的该主要源。
3.根据权利要求2所述的方法,其中该时间段是密钥更新期。
4.根据权利要求3所述的方法,其中该密钥更新期是在数据的每一帧之后和/或数据的每一线之后。
5.根据权利要求1所述的方法,其中密码数据的该主要源是HDCP(高带宽数字内容保护)密码引擎。
6.根据权利要求1所述的方法,其中密码数据的该替代源是缓冲器。
7.根据权利要求6所述的方法,进一步包含将该密码数据的一部分从密码数据的该主要源导向该缓冲器。
8.根据权利要求6所述的方法,进一步包含在密钥更新期之后,将过剩的密码数据从密码数据的该主要源导向该缓冲器一个预先确定的时间段。
9.根据权利要求8所述的方法,其中该过剩的密码数据是通过以比待加密或解密数据流更快的速度生成该密码数据产生的。
10.根据权利要求1所述的方法,进一步包含加密或解密非光栅化视频数据。
11.根据权利要求1所述的方法,进一步包含加密或解密DisplayPort数据。
12.根据权利要求6所述的方法,其中该缓冲器是FIFO(先进先出)存储器。
13.根据权利要求5所述的方法,其中密码数据的该替代源是由第二HDCP密码引擎提供的。
14.根据权利要求1所述的方法,其中该密码数据是伪随机数据。
15.一种用于连续地加密或解密数据流的电子设备,该电子设备包含:
用于通过第一密码数据流路径提供主密码数据流用于与所述数据流结合以加密或解密所述数据流的密码数据的主要源;
用于通过第二密码数据流路径提供替代密码数据流以用于与所述数据流结合以加密或解密所述数据流的密码数据的替代源;
在该主要源的输出不可用的时间段内切换到该替代源的开关;
其中所述通过所述第一密码数据流路径提供主密码数据流、所述切换到密码数据的替代源以及所述通过所述第二密码数据流路径提供替代密码数据流允许所述数据流的每个元素连续与密码数据的元素结合以连续加密或解密所述密码数据。
16.根据权利要求15所述的设备,其中该密码数据是HDCP(高带宽数字内容保护)密码数据。
17.根据权利要求15所述的设备,其中该替代源是缓冲器。
18.根据权利要求17所述的设备,进一步包含将该密码数据的一部分从该主要源导向该缓冲器的装置。
19.根据权利要求18所述的设备,其中该主要源适于以加快的速度产生该密码数据而该密码数据的该部分被导向该缓冲器。
20.根据权利要求18所述的设备,其中被导向该缓冲器的该部分密码数据是加密或解密不需要的过剩的密码数据。
21.根据权利要求20所述的设备,其中被导向该缓冲器的该密码数据的至少一部分是当待加密或解密的该数据流包含控制数据时产生的密码数据。
22.一种密码系统,包含:
发送设备,包含用于通过第一加密密码数据流路径提供主加密密码数据流以用于与数据流结合以加密所述数据流的加密密码数据的主要源、用于通过第二加密密码数据流路径提供替代加密密码数据流以用于与所述数据流结合以加密所述数据流的加密密码数据的替代源和第一开关,其中该第一开关在该加密密码数据的主要源的输出不可用的时间段内切换到该加密密码数据的替代源,而在该时间段之后切换回该加密密码数据的主要源,所述数据流的每个元素连续与加密密码数据的元素结合以连续产生加密的数据流;以及
接收设备,包含用于通过第一解密密码数据流路径提供主解密密码数据流以用于与所述加密的数据流结合以解密所述加密的数据流的解密密码数据的主要源、用于通过第二解密密码数据流路径提供替代解密密码数据流以用于与所述加密的数据流结合以解密所述加密的数据流的解密密码数据的替代源和第二开关,其中该第二开关在该时间段内从该解密密码数据的主要源切换到该解密数据的替代源,所述加密的数据流的每个元素连续与解密密码数据的元素结合以连续产生解密的数据流。
23.根据权利要求22所述的系统,其中所述第一和第二开关都适于在密钥更新期开始时切换到各自的替代源而在密钥更新期结束时切换回各自的主要源。
24.根据权利要求22所述的系统,其中该发送设备进一步包含用于所述结合的XOR(异或)门。
25.根据权利要求22所述的系统,其中该接收设备进一步包含用于所述结合的XOR(异或)门。
26.根据权利要求22所述的系统,其中该加密密码数据和该解密密码数据是HDCP(高带宽数字内容保护)数据。
CN2008800062617A 2007-02-26 2008-02-26 提供密码数据的方法、模块和系统 Active CN101919201B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/678,819 US8971525B2 (en) 2007-02-26 2007-02-26 Method, module and system for providing cipher data
US11/678,819 2007-02-26
PCT/CA2008/000371 WO2008104068A1 (en) 2007-02-26 2008-02-26 Method, module and system for providing cipher data

Publications (2)

Publication Number Publication Date
CN101919201A CN101919201A (zh) 2010-12-15
CN101919201B true CN101919201B (zh) 2013-09-18

Family

ID=39715927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800062617A Active CN101919201B (zh) 2007-02-26 2008-02-26 提供密码数据的方法、模块和系统

Country Status (6)

Country Link
US (1) US8971525B2 (zh)
EP (1) EP2122897B1 (zh)
JP (1) JP5377333B2 (zh)
KR (1) KR101522691B1 (zh)
CN (1) CN101919201B (zh)
WO (1) WO2008104068A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4973442B2 (ja) * 2007-10-19 2012-07-11 株式会社デンソー 車両用画像表示システム
US9069990B2 (en) * 2007-11-28 2015-06-30 Nvidia Corporation Secure information storage system and method
US8237721B2 (en) * 2009-04-22 2012-08-07 Dell Products, Lp Information handling system and method for using main link data channels
JP6034778B2 (ja) * 2013-12-26 2016-11-30 インテル・コーポレーション 入出力(i/o)装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1235445A (zh) * 1998-01-13 1999-11-17 日本电气株式会社 密码更新装置及其所用记录介质
US6052433A (en) * 1995-12-29 2000-04-18 Advanced Optical Technologies, Inc. Apparatus and method for dual-energy x-ray imaging
CN1378735A (zh) * 1999-07-30 2002-11-06 英特尔公司 通信保护
CN1826754A (zh) * 2003-07-29 2006-08-30 汤姆森特许公司 用于无线局域网的密钥同步机制

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5992649A (ja) 1982-11-19 1984-05-28 Fujitsu Ltd ブロツク形デ−タ暗号器制御方式
JP3007225B2 (ja) 1992-05-08 2000-02-07 三菱電機株式会社 暗号化された制御信号の通信システム
US5940508A (en) * 1997-04-07 1999-08-17 Motorola, Inc. Method and apparatus for seamless crypto rekey system
US6052466A (en) * 1997-08-28 2000-04-18 Telefonaktiebolaget L M Ericsson (Publ) Encryption of data packets using a sequence of private keys generated from a public key exchange
JP3195288B2 (ja) 1997-12-26 2001-08-06 株式会社高度移動通信セキュリティ技術研究所 暗号通信装置
JP3445490B2 (ja) 1998-03-25 2003-09-08 株式会社日立製作所 移動体通信方法および移動体通信システム
JP2001007801A (ja) 1999-06-18 2001-01-12 Sony Corp 受信装置および方法、並びに媒体
JP2001345798A (ja) 2000-05-31 2001-12-14 Nec Corp 秘匿鍵設定回路及び秘匿鍵更新方法
JP3965047B2 (ja) 2000-12-18 2007-08-22 松下電器産業株式会社 暗号伝送システム
US7131004B1 (en) * 2001-08-31 2006-10-31 Silicon Image, Inc. Method and apparatus for encrypting data transmitted over a serial link
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
JP3897613B2 (ja) 2002-02-27 2007-03-28 株式会社日立製作所 公開鍵暗号方式における登録局サーバの運用方法、登録局サーバ、及びプログラム
US7600118B2 (en) * 2002-09-27 2009-10-06 Intel Corporation Method and apparatus for augmenting authentication in a cryptographic system
JP4375995B2 (ja) * 2003-04-30 2009-12-02 ローム株式会社 デバイス鍵保護方法およびその方法を利用可能な暗号化装置と復号装置ならびに映像送信装置と映像受信装置
JP2005071029A (ja) 2003-08-22 2005-03-17 Matsushita Electric Ind Co Ltd 書き換え型icカード
JP2005341219A (ja) 2004-05-27 2005-12-08 Matsushita Electric Ind Co Ltd 映像提供システムおよびスクランブル方法
KR100662459B1 (ko) * 2005-08-30 2007-01-02 엘지전자 주식회사 Hdmi 수신기 및 전송기 개발 장치 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052433A (en) * 1995-12-29 2000-04-18 Advanced Optical Technologies, Inc. Apparatus and method for dual-energy x-ray imaging
CN1235445A (zh) * 1998-01-13 1999-11-17 日本电气株式会社 密码更新装置及其所用记录介质
CN1378735A (zh) * 1999-07-30 2002-11-06 英特尔公司 通信保护
CN1826754A (zh) * 2003-07-29 2006-08-30 汤姆森特许公司 用于无线局域网的密钥同步机制

Also Published As

Publication number Publication date
JP2010519821A (ja) 2010-06-03
JP5377333B2 (ja) 2013-12-25
KR20100014860A (ko) 2010-02-11
EP2122897B1 (en) 2018-05-16
WO2008104068A1 (en) 2008-09-04
EP2122897A4 (en) 2013-05-22
US8971525B2 (en) 2015-03-03
KR101522691B1 (ko) 2015-05-22
US20080205634A1 (en) 2008-08-28
EP2122897A1 (en) 2009-11-25
CN101919201A (zh) 2010-12-15

Similar Documents

Publication Publication Date Title
US7242766B1 (en) Method and system for encrypting and decrypting data using an external agent
KR101370829B1 (ko) 데이터의 암호화/복호화 방법 및 이를 적용한 버스 시스템
US7900047B2 (en) Method and apparatus for encrypting data transmitted over a serial link
KR101735682B1 (ko) 데이터 스트림의 부분 암호화를 위한 메커니즘
KR101483536B1 (ko) 콘텐츠 보호 포트의 사전 인증 및 인증 유지를 위한 방법, 장치 및 시스템
US20120191984A1 (en) Data encryption device and memory card
EP0802652A2 (en) Data encryptor having a scalable clock
CN101919201B (zh) 提供密码数据的方法、模块和系统
KR100991222B1 (ko) 암호화 및 복호를 위한 장치, 방법 및 기록 매체
CN101689957A (zh) 传输流处理器和解码器之间的编码数字视频内容保护
CN101242275B (zh) 基于流密码加密的安全传输方法
WO2012140144A1 (en) Method and system for improving the synchronization of stream ciphers
JP4015385B2 (ja) 暗号化装置及び暗号化方法及び暗号化プログラム及び復号装置及び復号方法及び復号プログラム及び暗号化復号システム
US7035290B1 (en) Method and system for temporary interruption of video data transmission
CN111832051B (zh) 一种基于fpga的对称加解密方法及系统
KR20060110383A (ko) 네트워크 보안 프로세서의 다중모드 암호화 장치
CN101562521B (zh) 一种密钥更新方法
JPH11161162A (ja) 暗号化方法または復号化方法およびそれを用いた装置
JPWO2018066509A1 (ja) 通信装置、通信方法、通信システム及び記録媒体
US8582767B1 (en) Cryptographic device sharing among a plurality of communication links
KR102029550B1 (ko) 디스플레이포트용 hdcp 설계
KR101375670B1 (ko) 데이터의 암호화/복호화 방법 및 이를 적용한 버스 시스템
JP2002229444A (ja) ブロック暗号化、復号回路
JP2007074506A (ja) 暗号化/復号化装置、電子機器及び暗号化/復号化装置の制御方法
JP2007074505A (ja) 暗号化/復号化装置、電子機器及び暗号化/復号化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant