保护系统中的信息的制作方法

文档序号:7591685阅读:198来源:国知局
专利名称:保护系统中的信息的制作方法
背景本发明涉及系统中的信息保护。
电视节目和相关的数据可以通过多种不同的传输媒体被广播,所述媒体可以包括有线网络,数字卫星电视链路,以及其它有线或无线链路。其中消费者付费来收看他们喜欢观看的特定节目或频道(例如,电影频道,按次付费的节目等等)的收费电视广播已变得越来越流行。为了提供收费电视业务,条件接入系统被广播台使用,以使得这样的收费电视广播能够被授权观众观看。
在条件接入系统中,广播节目内容典型地按照某些条件接入加密协议被加密。另外,鉴权处理过程通常被执行,以使得加密的内容能够被授权的接收机接收。鉴权处理过程可以包括发送指令到潜在地很大数目的可寻址接收机中的每个接收机(诸如,位于机顶盒中的接收机)。
通过把作为目标的或被寻址的鉴权信号连同加密的内容一起发送到接收机来执行鉴权。鉴权信号使得被寻址的接收机能够按照条件接入协议解密被加密的内容,这样,可以产生节目内容的原始副本以便观看。
然而,在条件接入系统中传输的加密信息会被未授权的解扰器相当容易地绕过。这种未授权的接入使得业务提供者的收益受到损失,并且会由于额外的未预期的负载造成传输信号的降质。因此,需要有一种对于广播信号或其它传输信息的改进的保护方案。
概要通常,按照一个实施例,在第一设备与第二设备之间保密地传送内容的方法,包括把第一和第二设备的标识信息发送到第三设备。第三设备根据该标识信息产生预定的消息。使用该预定的消息对第一和第二设备进行鉴权。
从以下的说明和权利要求将明白其它特征和实施例。
附图简述

图1A是信息传输系统的实施例的方框图。
图1B是按照图1A系统中的实施例的接收机方框图。
图2显示在图1A系统中的通信路径和存储的信息。
图3A-3B是按照图1A系统中保护通信的一个实施例的处理过程流程图。
图4是利用按照一个实施例的公共密钥加密协议的离散对数型式的图3A-3B的处理过程状态图。
图5是利用按照另一个实施例的单向散列函数加密协议的图3A-3B的处理过程状态图。
图6和7是按照利用数字签名协议来执行实体鉴权和利用密钥交换加密协议来导出会话密钥的另一个实施例的图3A-3B的处理过程状态图。
详细说明在以下的说明中,阐述了大量细节,以便了解本发明。然而,本领域技术人员应当理解,本发明可以不用这些细节而被实施,以及有可能从描述的实施例作出多种变例或修改方案。
在本说明中,可以使用以下的术语。要被加密的消息可以被称为明文,以及被加密的消息可被称为密文。把密文转换回明文的处理过程可被称为解密。使消息保密的技术可被称为加密,以及破译密文的技术可被称为密码分析。因此,明文被加密而产生密文,然后后者被解密以产生原先的明文。加密算法,也被称为加密程序,是用于加密或解密的数学函数。对于某些加密算法,可以有两个相关的函数一个函数用于加密以及另一个函数用于解密。存在许多类型的加密算法,包括公共密钥算法(也被称为非对称算法),它们被设计成使得用于加密的密钥不同于用于解密的密钥。在实施公共密钥算法的系统中,加密密钥可被称为公共密钥,以及解密密钥可被称为专用密钥(也被称为秘密的密钥)。其它的加密算法包括密钥交换算法,以及使用单向散列函数的算法。
一种加密技术使用会话密钥来加密和解密通信。会话密钥通常被使用于仅仅一个或有限数目的通信会话,然后被丢弃。将分开的密钥用于不同的通信,使得密钥不太可能被泄密。
参照图1A,信息传输系统可以是广播系统(例如,电视节目或其它类型的视频广播系统),它包括业务提供者10和多个接收站点12(例如,接收TV节目的家庭)。在其它实施例中,信息传输系统可以包括其它类型的系统,诸如包括网络的系统(例如,局域网、广域网、互联网等等);用于发送音频信号的系统,诸如电话网,或蜂窝或其它无线通信网;或其中信息需要在通信信道上被发送的任何其它系统。在后面的说明中,参考了其中把电视节目或视频内容发送到多个接收站点的实施例;然而,应当理解,本发明并不限于这个方面,而是可以包括其它方面。
如图1A所示,业务提供者10可以包括头端系统14,它接收要被发送的内容(明文),以及应用按照某个信息保护协议(例如,条件接入协议)的加密算法来产生加密的信息(密文)。该加密的信息可以在传输媒体15(诸如,电缆链路16、卫星链路18、电话线、地面链路、无线链路等等)上被发送。发送的信息被位于相应的接收站点12的一个或多个接收机20接收。每个接收机20适合于按照特定的保护协议(诸如条件接入协议)解密接收的信息以重现原先的节目内容(明文),以便由一个或多个显示单元22显示。
接收机20可以包括主设备24,它可以是集成接收机设备(IRD),诸如机顶盒,它被耦合到“部署点”(POD)模块26,诸如条件接入模块(CAM)。POD模块26可以是集成电路卡(例如,智能卡)或是可被插入到主设备24的一个插槽中的、或被电耦合到主设备24的其它电子装置。正如下面进一步描述的,为了保护在POD模块26与主设备24之间通信的信息,可以实施副本或内容保护(CP)协议。
在接收机20中的POD模块26可被预先编程来解密某些类型的发送的信息(包括按照条件接入协议被加密的内容)和译码从业务提供者10发送的授权消息,如果有的话。其它类型的主设备24可以包括电视机、录像机(VCR)、个人计算机或具有从头端系统14接收信息的集成接收机的其它设备。
由头端系统14在链路15上发送的加密信息被接收机20中的POD模块26接收。根据特定的接收机20是否已被授权去解扰接收的信息(例如,基于授权消息),POD模块26可以解密接收信号,以便产生明文。授权消息可以由头端系统14例如响应于在接收站点12观看特定节目或频道的用户请求而被发送到接收机20。
为了按照本发明的某些实施例保护信息,在接收机20中可以利用副本或内容保护(CP)方案,来防止或减小未授权用户接入到信息传输系统的似然性。
为了防止未授权的接入,内容保护方案利用加密协议来保护在接收机20中的POD模块6与主设备24之间在链路28上传输的信息。为了验证POD模块26与主设备24的身份,根据由头端系统14发送的特定的的绑定消息,在POD模块26与主设备24之间执行实体鉴权。此外,通过使用来自头端系统14的这种消息,POD模块与主设备24可以产生会话密钥,用于加密和解密在POD模块26与主设备24之间传输的消息。实际上,内容保护方案把现有的条件接入系统(包括头端系统14与POD模块26)桥接或链接到在接收机20(包括POD模块26与主设备24)中实施的副本保护系统。
因此,按照一个实施例,为了能够在POD模块26与主设备24之间进行鉴权,要涉及到第三实体,在本例中是头端系统14。头端系统14可以存储一个或多个包含信息的数据库,通过这些信息可以为设备24和26产生特定的绑定消息。绑定消息可以由头端系统14响应于来自接收机20的、对于条件接入-内容保护绑定业务(它包括执行实体鉴权和会话密钥导出)的请求而被产生。随机计数机制也可被嵌入鉴权处理过程,使得它对抗“中间人(man-in-the-middle)”和重放攻击时更鲁棒,其中在重放攻击时,在POD模块26与主设备24之间传输的消息可被入侵者监视,以便破译在接收机20中所利用的内容保护方案的密码。一旦实体鉴权被执行以确保POD模块26和主设备24都是被验证的单元,则共享的会话密钥可被得出,用来保护在POD模块26与主设备24之间的消息。
按照某些实施例的内容保护系统利用许多可用的加密协议之一,它允许相当低成本的实施方案。可被使用的加密协议包括公共密钥算法(例如,ElGamal消息鉴权码);单向散列函数算法(例如,保密散列算法,诸如SHA-1);以及密钥交换算法(例如,Diffie-Hellman算法)。其它类型的加密协议也可被使用,诸如Rivest-Shamir-Adleman(RSA)算法(公共密钥算法);数字签名算法(公共密钥算法);消息提要算法,诸如MD4或MD5(单向散列函数);以及其它算法。所列出的算法连同可被使用于本发明的某些实施例的许多其它类型的加密算法,在Bruce Schneier,“Applied Cryptography(应用加密术)”,John Wiley & Sons,Inc.(2d ed.,1996)中被描述。
参照图2,由本发明的某些实施例利用的实体鉴权处理过程利用可信任的第三方112,它能够把在一个或多个接收站点12处的一个或多个主设备24和POD模块26的公共的或秘密的密钥通过保密信道114传送到头端系统14。例如,这种可信任的第三方可以是CableTelevison Laboratories Inc.(CableLabs)(有线电视实验室有限公司)或某些其它的多系统操作者(MSO)。可信任的第三方112产生公共或专用密钥表(和/或其它验证信息),它们由POD模块26与主设备24的设备标识符(例如,序列号)相联系。该密钥表可以在保密信道114上被传送到头端系统14。通过这个密钥表,头端系统14可以产生被存储在头端系统的存储介质中的一个或多个数据库。例如,在说明的实施例中,头端系统14包括存储与POD模块26有关的验证信息的数据库104,以及存储与主设备24有关的验证信息的数据库106。一个或多个数据库被头端系统14访问以产生用于主设备24与POD模块26的绑定消息,以及在某些实施例中,在实体鉴权处理过程期间验证主设备与POD模块的标识符。一旦实体鉴权被执行,POD模块26与主设备24还可以产生会话密钥(它也可以基于由头端系统发送的绑定消息)以保护相互通信。
在本说明中,信息传输系统可以被称为条件接入/内容保护(CA-CP)系统。按照一个实施例的CA-CP系统可包括多个部件,包括头端系统14,它是对传输媒体15上传输的内容进行建立与加密的条件接入系统的一部分。头端系统14也存储一个或多个数据库(例如。104和106),包含设备24与26的验证信息。CA-CP系统的另一个部件是传输媒体15,允许在头端系统14与接收机20之间进行双向通信(通过上行路径116和下行路径118)。在双向通信链路15上,接收机20可请求头端系统14提供按照一个实施例的CA-CP绑定业务以允许设备24和26执行实体鉴权。在从头端系统14到接收机20的路径118上的下行通信包括在条件接入协议下发送保护的内容,以及作为CA-CP绑定业务的一部分而产生的消息。
在实体鉴权与会话密钥导出被执行后,POD模块26可以按照CA协议解密从头端系统14接收的密文以产生发送内容的原始副本。接着在传输到主设备24之前,POD模块26通过使用按照CP协议导出的会话密钥加密原始内容,主设备24通过使用被存储在主设备24中的会话密钥解密发送的信息。在主设备24与POD模块26之间的接口可以是开放应用编程接口(API)。
再参照图3,图上显示执行实体鉴权和会话密钥导出的处理过程(也称为绑定业务)。接收机20在传输媒体15的上行路径116上把主设备24与POD模块26的授权域(或部分授权域)发送到头端系统14(在302)。在POD模块26中的POD授权域100可以包括POD模块26的设备标识符P_ID连同其它信息(如下面描述的),以及在主设备24中的主设备授权域102可以包括主设备24的设备标识符H_ID连同其它信息。被发送到头端系统14的授权域100和102(或部分的这样的授权域)有效地提供对头端系统执行绑定业务(包括实体鉴权和会话密钥导出)的请求。在其它实施例中,分开的消息或预先规定的标志或其它指示可以构成一个启动绑定业务的请求。
在头端系统14中的控制器130使用在接收的鉴权域部分中的设备标识符P_ID和H_ID,分别映射到在数据库104和106中的相应位置(在304)。在一个实施例中,控制器130可被实施为硬件和软件的组合。硬件可以包括诸如微处理器的处理器、微控制器、以专用集成电路(ASIC)实施的有限状态机,或可编程门阵列(PGA)等等。硬件也可包括一个或多个存储单元。在头端系统14中的软件可包括一个或多个例行程序,以响应于来自一个或多个接收机20的请求,执行条件接入运行以及产生绑定消息。
标识符P_ID映射到POD数据库104中的存储单元108,以及标识符H_ID映射到主设备数据库106中的存储单元110。分别被存储在POD数据库104和主设备数据库106的存储单元108和110中的验证信息,可以包括与POD模块26与主设备24有关的、一个或多个以下的项目专用或秘密密钥;公共密钥;预定的签名;或其它验证信息。被存储在POD数据库与主设备数据库104和106中的验证信息可被头端控制器130使用来为请求的接收机20产生绑定消息,以及可任选地,确认实际上从授权的设备24和26发起的授权域。验证可以仅仅通过检验与请求的接收机20的设备24和26有关的验证信息被存储在数据库104和106而被完成。替换地,验证可以通过比较接收的授权域部分的内容与分别被存储在数据库104和106的存储单元108和110中的验证信息,而被完成。如果头端控制器130能够验证(在306)设备24和26,则头端系统14接着在传输媒体15的下行路径118上把绑定消息发送到POD模块26(在308)。如果头端系统14不能验证请求的接收机20的至少一个设备24或26,则可以发送预定的错误消息(在310)。
根据由头端系统14发送的绑定消息,POD模块26确定(在312)主设备24是否是被授权的设备。如果鉴权成功,则POD模块26发送(在316)绑定信息到主设备24,以及产生和存储(在318)会话密钥以用于保护POD模块26与主设备24之间的通信。然而,如果POD模块26不能鉴权该主设备,则产生错误消息(在314)。
在主设备24中,接收的绑定信息被使用来鉴权POD模块26(在320)。如果鉴权不成功,则可以产生错误消息(在322)。然而,如果鉴权成功,则主设备24产生和存储(在324)会话密钥,用于解密由POD模块26接收的内容。通过使用被分开地存储在POD模块26与主设备24中的、独立地导出的会话密钥,可以在接收机20中执行在链路29上的保密通信(在324)。会话密钥被存储在主设备24与POD模块26中的抗篡改的保密存储单元中。
因此,正如所描述的,主设备24与POD模块26能够根据由头端系统14发送到主设备24和POD模块26的绑定消息互相鉴权。通过使用按照本发明的某些实施例的绑定处理过程,系统完整性可以通过减小所使用的保护协议被未授权用户和设备绕过的似然性而被保持。另外,鉴权可以与无论哪个条件接入机制被头端系统14利用无关地被实施。而且,本发明的某些实施例允许在绑定处理过程期间给POD模块26与主设备24加上相当低的计算负担。
参照图1B,图上显示主设备24与POD模块26的部件和分层。每个主设备24与POD模块26分别包括链路接口200和202,它们被耦合到链路28。在一个实例中,主设备24中的接口200可被耦合到一个插槽以容纳POD模块26,该POD模块可以是一个诸如智能卡的电子卡。主设备24与POD模块26也分别包括控制设备204和206,用来控制相应设备的运行。被存储在存储单元中的控制例行程序205和207可以是分别在控制设备204和206上可执行的,用来完成各种任务。在POD模块26中,控制例行程序207可以执行从头端系统14发送的条件接入密文的解密,按照绑定业务的实体鉴权和会话密钥导出,以及按照内容保护协议对在链路28上传输的内容进行加密。在主设备24中,控制例行程序205可以执行按照绑定业务的实体鉴权和会话密钥导出,通过链路28接收的内容的解密,以及解密内容的处理(包括用于显示和/或其它操作)。
存储单元208和210也分别被包括在设备24和26中,用来存储信息,诸如授权域、从头端系统14发起的绑定消息、来自头端系统14的发送的内容、软件指令和数据等等。控制设备204和206可以是各种类型的控制设备,包括微处理器、微控制器、ASIC、PGA和其它可编程设备。存储单元208和210可以是一个或多个各种类型的存储器,诸如动态随机接入存储器(DRAM)、静态随机接入存储器(SRAM)、电可擦和可编程只读存储器(EEPROM)、快速存储器和其它类型的存储器,诸如硬盘驱动器、软盘驱动器、光盘(CD)和数字视频光盘(DVD)驱动器。
为了执行各种加密操作,主设备24与POD模块26可以分别包括以下的单元算术处理单元212和214;异或(XOR)单元216和218;随机数发生器220和222;以及计数器224和226。主设备24中的单元212,216,220和224可以被集成在一个单个可编程器件中,诸如控制设备204,或以分立单元被实施。POD模块26中的单元214,218,222和226可以类似地被安排。这种单元也可以以软件来实施,诸如作为控制例行程序205和207的一部分。替换地,由控制例行程序205和207完成的任务可以以硬件来实施。
由于敏感的信息被分别保存在主设备24与POD模块26的存储单元208和210中,所以要避免从外部接入到这些存储单元。敏感的信息可以包括公共和专用密钥,或在绑定处理过程中使用的其它信息,以及用于由内容保护协议保护的通信的、任何导出的会话密钥。
下面将描述信息传输系统的实施例,它实施用于绑定业务的性能的、以下的加密算法之一ElGamal算法,它是公共密钥算法的离散对数版本(图4);SHA-1算法,它是单向散列函数算法(图5);以及Diffie-Hellman密钥交换算法和数字签名算法的组合(图6-7)。然而,应当理解,本发明并不限于这样描述的实施例,因为其它类型的加密算法也可以在另外的实施例中被实施。
参照图4,图上显示对于按照一个实施例保护协议的状态图,它实施ElGamal算法来执行实体鉴权和会话密钥导出。在显示的实施例中,包括三个分开的阶段。在阶段1,执行包括POD模块26与主设备24的内容保护系统的建立。这可以在初始化期间发生,诸如当POD模块26被初始地插入主设备24时,或当主设备24被循环加上电源时。在阶段1中包括五个状态,其中消息在主设备24、POD模块26和头端系统14中间被交换,以便把在主设备24与POD模块26的授权域中的信息安全地传递到主设备24。在阶段2,进行实体鉴权和会话密钥导出。在阶段2中,包括三个状态(6,7和8)。一旦阶段2被完成,在POD模块26与主设备24之间的通信就可以按照内容保护协议被保护,该内容保护协议可包括加密算法,诸如利用被分开导出的、和被存储在设备24和26中的对称密码算法。
如图4所示,被存储在主设备24的存储单元208中的授权域可包括它的设备标识符(H_ID)、它的专用密钥H、它的公共密钥GHmodN(GH的模N值)以及随机数发生器(RNG)种子SH(在下面描述)。POD模块26可以把以下的授权域存储在它的存储单元210中它的设备标识符P_ID、它的专用密钥P、它的公共密钥GPmod N(GP的模N值)以及RNG种子SP。N是预定的质数,G是用作为发生器的、预定的随机数,以及mod N代表模N。在头端系统14中,按照显示的实施例,POD模块公共密钥GPmod N的倒数(G-Pmod N)作为验证信息被存储在数据库104中,以及主公共密钥GHmod N的倒数(G-Hmod N)作为验证信息被存储在数据库106中。
在建立阶段(阶段1)期间,主设备24在状态1产生随机数MH,以及把以下的字符串{H_ID‖MH}通过链路28发送到POD模块26。正如在本说明中使用的,术语“A‖B”表示在数据流中域A和B的级联。在状态2,POD模块26产生它的随机数Mp,以及导出公共计数器值Mo,它是Mp和MH的异或值
MO=MPMH.接着,POD模块26把包含级联的设备ID{P_ID‖H_ID}(它们是POD模块26与主设备24的授权域的一部分)的数据流发送到头端系统14。授权域部分是给头端系统14的、关于绑定业务已被请求的指示。在状态3,根据接收的数值P_ID和H_ID,头端控制器130分别接入到数据库104和106的存储单元108和110,以便检索验证信息G-Pmod N和G-Hmod N。在状态3,头端控制器130计算检索的数值的模相乘,以得出绑定消息G-(P+H)mod NG-(P+H)modN=[G-PmodN[G-HmodN]modN.绑定消息在头端系统14与接收机20之间的链路15上被发送回POD模块26。在状态4,POD模块26执行接收的数值G-(P+H)mod N与它的公共密钥GPmod N的模相乘,得出G-Hmod NG-HmodN=[G-(P+H)modN][GPmodN]modN.然后POD模块26把绑定消息G-(P+H)mod N与随机数MP的级联{G-(P+H)mod N‖MP},通过链路28转发到主设备24。
接着,在状态5,主设备24通过执行MP和MH的异或运算也独立地导出公共计数器值MO。此外,主设备24通过执行由头端系统14发送的绑定消息与主设备的公共密钥的模相乘,而计算G-Pmod NG-PmodN=[G-(P+H)modN][GHmodN]modN状态1-5完成建立阶段,其中包括主设备24与POD模块26的设备ID、随机数MH和MP,并且绑定消息在主设备24、POD模块26和头端系统14之间进行交换。
在建立阶段后,在阶段2,在POD模块26与主设备24之间执行实体鉴权和会话密钥导出。一旦被鉴权,POD模块26与主设备24就被授权以按照在接收机20中被使用的内容保护方案独立地导出会话密钥。在一个实施例中,导出的会话密钥可包括1024比特的平均信息量,它对于为16个连续会话在POD模块26与主设备24之间的内容进行加密是足够的。在某些实施例中,在接收机20中被执行的内容保护协议利用包括会话密钥的对称加密算法。
在状态6,它是鉴权和会话密钥导出阶段的第一状态,数值M被初始化为公共计数器值MO。接着,M通过增加1(或增加某个其它预定的数值)进行更新M←M+1此外,POB模块26也通过产生随机整数s以及计算Gsmod N和M(G-H)smod N而使用修改的ElGamal算法来加密用于主设备24的M。流{Gsmod N‖M(G-H)smod N}从POD模块26被发送到主设备24。
接着,在状态7,主设备24把变量M也初始化到公共计数器值M0。另外,M通过使它增加1而被更新,以便由POD模块26中的数值M同步它。主设备24通过首先产生随机整数t,然后计算GtmodN和M(G-P)tmod N而使用更新的ElGamal算法来加密用于POD模块26的M。然后主设备24把以下的流[Gtmod N‖M(G-P)tmod N]发送到POD模块26。另外,在状态7,主设备24也解密从POD模块26发送的密文,通过执行如下的模相乘而得出MtM1={[M(G-H)smodN]·(GsmodN)H}modN.如果参量M′等于参量M,则主设备24已鉴权POD模块26,以及主设备24导出共享的密钥k,它被如下地计算k=(GtsmodN)=[(GsmodN)tmodN].
接着,在状态8,POD模块26从主设备24接收密文,以及通过执行如下的运算而计算参量M′M′={[M(G-P)tmodN]·(GtmodN)P}modN.接着,把M′的数值与M进行比较,如果相等,则POD模块26鉴权主设备24,以及如下地导出共享的会话密钥k
k=(GtsmodN)=[(GtmodN)smodN].
在完成实体鉴权和共享的密钥导出后,最后的密钥K是从会话密钥k模目标加密密钥尺寸而计算的K=kmod(加密密钥尺寸)这个运算循环k的数据区,直至耗尽k的熵(entropy)。
在确定共享的会话密钥K以后,POD模块26现在可按照内容保护协议在接收机20中加密在链路28上发送的内容。用来保护在主设备24与POD模块26之间传输内容的内容保护协议在状态9和10中被执行,状态9和10被包括在图4的状态图的阶段3。这种内容可包括广播视频和音频数据。
按照一个实施例,在状态9,POD模块26按照在头端系统14与POD模块26之间的条件接入协议解密从头端系统14接收的输送流。接着,POD模块26按照对称密码使用导出的会话密钥K来加密来自头端系统14的内容,以及把密文通过链路28转发到主设备24。接着,在状态10,主设备24按照对称密码使用导出的会话密钥K来解密密文,得出原始数据,它可以被主设备24进一步处理(诸如,显示给观众或其它操作)。
分别在主设备24与POD模块26中的随机数发生器220和222,适合于产生随机数MH和t(在主设备24中)以及MP和s(在POD模块26中)。随机数可以是真实的随机数或伪随机数,被使用来通过在主设备24与POD模块26之间提供随机化的口令而增强安全性。在一个实施例中,在每个设备24和26中使用的随机数发生器(RNG)利用ElGamal加密机作为单向函数,虽然也可预期其它产生随机数的方法。加到随机数发生器220或226的输入包括可以是160比特串的RNG种子S(在POD模块26中的SP和在主设备24中的SH),长度上也可以是160比特的专用密钥K(专用密钥是在POD模块26中的P和在主设备24中的H),以及一个b比特串c,其中160<b<1024。比特流c可以这样地被选择,以使得任何两个接续的数值是不同的。
随机数发生器220或222的输出是由G(s,k,c)表示的比特串,在一个实施例中可以是1024比特串。在一个实施例中,随机数发生器220或222可以如下地产生随机数。起始地,规定一个参量u,它包括c的160个最低有效位u←clsb-160接着,通过用零填充比特串c得出1024比特消息块X,而创建消息块XX←c‖O1024-b.然后对RNG种子S和参量u执行异或运算,得出随机数vv←su.然后用消息X、随机数v和专用密钥K执行ElGamal加密步骤,得出消息YY←X(GK)vmodN.然后输出G(s,K,c)被设置成等于加密的消息Y,后者是随机数。
输出G(s,K,c)是1024比特整数。在按照某些实施例的鉴权处理过程中,在POD模块26中产生的随机数是输出G(s,P,c)lsb-160的160个最低有效位,以及在主设备24中产生的随机数是输出G(s,H,c)lsb-160的160个最低有效位。
按照另一个实施例,单向散列函数可被利用于在头端系统14、主设备24和POD模块26之间的绑定业务。单向散列函数算法的一个例子是保密散列算法(SHA),诸如SHA-1。
参照图5,用来保护在主设备24与POD模块26之间的通信的、按照一个实施例的实体鉴权和密钥导出处理过程使用了SHA-1算法。该处理过程被划分成三个阶段初始化阶段(阶段1);实体鉴权和密钥导出阶段(阶段2);和通信阶段(阶段3),其中在POD模块26与主设备24之间的数据交换被导出的会话密钥保护。
可信任的第三方112(图2)提供设备标识符表以及用于信息传输系统的POD模块26与主设备24的相应秘密密钥(例如,160比特秘密密钥)和RNG种子(例如,160比特RNG种子)。秘密密钥被存储在POD和主设备数据库104和106中的各个存储单元,它们可以分别由POD设备标识符(P_ID)和主设备标识符(H_ID)寻址。
在本实施例中,用于POD模块26的授权域被表示为{P_ID‖P‖SP},它包括POD模块标识符、秘密密钥和RNG种子的级联。同样地,主设备的授权域被表示为{H_ID‖H‖SH}。POD模块26和主设备24的秘密密钥P和H分别被存储在抗篡改的存储单元210和208。
在初始化期间,在POD模块26被插入到或被可操作地耦合到主设备24后,或在主设备24被循环加电后,POD模块26与主设备24分别交换来自POD模块26与主设备24的重新产生的随机整数NP和NH。然后每个设备独立地设置公共初始计数器值N0∶N0=NPH。
接着,在状态1初始化后,主设备24把N设置为N0,然后把N加增量1(或某个其它预定的数值)。然后主设备24计算SHA-1(NH),它是NH的保密散列函数,以及把以下的流{H_ID‖SHA-1(NH)}发送到POD模块26。在状态2,POD模块26也把N设置为N0,然后把N加增量1(或某个其它值)。然后POD模块26计算单向散列函数SHA-1(NP)。接着,POD模块26把以下的流{P_ID‖H_ID‖N‖SHA-1(NH)‖SHA-1(NP)}发送到头端系统14。这向头端系统14表示已经请求绑定业务。在状态3,根据接收的P_ID和H_ID数值,头端控制器130分别接入数据库104和106中的存储单元108和110,以便分别检索POD模块26与主设备24的秘密密钥P和H。在检索P和H以后,头端控制器130计算SHA-1(NP)和SHA-1(NH),因为P、H和N在头端系统14中都是已知的。计算的SHA-1数值与接收的SHA-1数值进行比较。如果两个数值一致,则POD模块26与主设备24被头端系统14设备标识为可信任的参预者。
在状态3,头端控制器130计算以下的数值,它们在绑定流中被发送回POD模块26SHA-1[SHA-1(NH)P];SHA-1[SHA-1(NP)H];SHA-1(H‖N)+SHA-1(P);以及SHA-1(P‖N)SHA-1(H)。前两项被使用于实体鉴权,后两项被使用于共享的密钥导出。在状态4,POD模块26通过计算以下的散列函数来鉴权主设备24SHA-1[SHA-1(NH)P],由此,SHA-1(NH)从主设备24中被接收,以及P是POD模块26的秘密密钥。得出的数值与由头端系统14发送的散列函数进行比较。如果确定是一致的,则POD模块26已鉴权主设备24。一旦被鉴权,POD模块26就导出密钥kk=SHA-1(H‖N)SHA-1(P‖N).在以上的运算中,项SHA-1(P‖N)是通过取来自头端系统14的结果SHA-1(H‖N)SHA-1(P),以及执行该结果与项SHA-1(P‖N)的异或运算而被导出的。
依次地,POD模块26把包括以下项的流转发到主设备24SHA-1(NP),SHA-1[SHA-1(NP)H],SHA-1(P‖N)SHA-1(H)。
在状态5,在从POD模块26接收到绑定流后,主设备24计算以下项SHA-1[SHA-1(NP)H],由此,SHA-1(NP)从POD模块26中被接收。
该结果与由POD模块26转发的同一散列函数(最初来自头端系统14的)进行比较。如果发现是一致的,则主设备24已鉴权POD模块26,以及主设备24导出共享的密钥kk=SHA-1(H‖N)SHA-1(P‖N).
在以上的运算中,项SHA-1(P‖N)是通过执行来自POD模块26的以下的接收值SHA-1(P‖N)SHA-1(H)与散列函数SHA-1(H)的异或运算而被导出的。异或运算的结果是数值SHA-1(P‖N)。
一旦实体鉴权和共享的密钥导出被POD模块26与主设备24执行,则最后的共享会话密钥K就由每个设备通过取密钥k对目标加密密钥尺寸的模而计算出K=k mod(加密密钥尺寸)使用共享的会话密钥K后,POD模块26可加密在链路28上要被发送到主设备24的内容。
这样,在图5的状态6中,POD模块26解密从头端系统接收的、已通过使用条件接入协议被加密的数据流。然后POD模块26通过使用会话密钥按照对称密码加密原始内容,以及在链路28上把加密的内容转发到主设备24。在状态7,主设备24接收加密内容,以及解密该内容,导出该内容的原始副本,供主设备24进一步处理。
按照本实施例的随机数发生器(RNG)220或222(在设备24或26中)可以利用SHA-1作为单向散列函数。在本实施例中,随机数产生可以按照在Federal Information Processing Standards(FIPS)Publication(联邦信息处理标准出版物)186,1994年5月19日(以及在fhttp//www.itl.nist.gov}可提供的)中描述的随机数产生技术规范被实施执行。加到RNG 220或222的输入可以是160比特的RNG种子S(在POD模块26中的SP和在主设备24中的SH)和一个b比特串c,其中160<b<512。RNG 220或222的输出是被表示为G(s,c)的160比特串。
按照另一个实施例,在POD模块26与主设备24之间的实体鉴权通过使用数字签名算法被实施,以及会话密钥按照Diffie-Hellman密钥交换方案被导出。
参照图6,图上显示按照另一个实施例的鉴权和密钥交换算法的状态图。在本实施例的主设备24中的授权域可包括{H_ID, (H_ID),H,H-1),其中H_ID是主设备24的ID, (H_ID)是由主设备24的专用密钥H-1创建的H_ID的数字签名,以及H是主设备24的公共密钥。POD模块26包括在它的授权域中的以下信息P_ID; (P_ID);P-1;P。
可被使用的数字签名算法包括数字签名标准,正如由NationalInstitute of standards in Technology(NIST)(国家技术标准局)在它的Digital Signature Standard bulletin(数字签名标准会刊)(1993年1月)中描述的。数字签名标准(DSS)也被称为联邦信息处理标准(FIPT)186。DSS的变例是DSS的省略版本。另一个可被利用的数字签名算法是Rivest-Shamir-Adleman(RSA)算法,正如由RSA DataSecurity Inc.在它们的网址{http//www.rsa.com/rsalabs}(1998年)中所描述的。
为了开始鉴权处理过程,主设备24在状态1,把它的授权域的部分 发送到POD模块26。接着,在状态2,POD模块26把它的授权域的部分 以及主设备24的授权信息发送到头端系统14。在状态3,头端系统14把接收的授权域信息与被存储在数据库104和106中的数据进行比较。P_ID被使用来检索来自存储单元108的信息,它存储POD模块26的公共密钥P以及它的数字签名 (P_ID)。同样地,H_ID检索来自数据库106的存储单元110的信息,它包括主设备24的公共密钥H以及它的数字签名 。这样,在状态3,头端系统14根据对来自存储单元108和110的检索信息的比较,验证接收的授权域信息是来自授权设备的。
在状态4,一旦头端系统14验证设备26和24是有效的设备,头端系统14就对主设备24的公共密钥H使用对称密码方案来加密POD模块26的公共密钥P,以便导出EH[P]。可能的对称密码方案可以是数据块密码方案、数据流密码方案和其它密码方案。
然后头端系统14把EH[P]发送回POD模块26.在接收EH[P]后,POD模块26就隐式地鉴权主设备24。为了允许主设备24鉴权POD模块26,POD模块26在状态5,把以下的流 发送到主设备24。这允许主设备通过执行运算 而使用POD模块的公共密钥P来鉴权POD模块26。P是由主设备24通过用主设备的密钥H来解密EH[P]而被导出的。运算VP[]是通过主设备24中的验证机按照数字签名算法执行的。
在状态1-5中,完成实体鉴权以后,开始创建会话密钥。在状态7,POD模块26与主设备24的每个分别产生它们各自的随机数x和y,以及计算Gxmod N和Gymod N,其中N是公共模数,以及G是公共的发生器.主设备24把Gymod N发送到POD模块26,同样地,POD模块26把Gxmod N发送到主设备24.在状态8,POD模块26计算共享的会话密钥kk=(Gymod N)xmod N=Gyxmod N。在状态8,主设备24取从POD模块26接收的数值,以及计算共享的密钥kk=(Gxmod N)ymod N=Gyxmod N。共享的会话密钥k由POD模块26与主设备24用来保护在链路28上的通信。在POD模块26按照有效负载的密码算法(例如,条件接入算法)解密从头端系统接收的数据以后,POD模块26使用会话密钥k来加密内容,以及把加密的内容转发到主设备24,后者使用它的会话密钥k的副本来解密加密内容。
参照图7,为了进一步增强保密,除了结合图6描述的那些以外,可以实施几个附加运算。具体地,保密等级更新可以通过修改图6上的状态4和7而达到。
在图7上,更新的保密方案包括除了状态4和7以外、与图6的那些运算相同的运算。在图7的状态4*中,在从POD模块26与主设备24接收授权域信息以后,头端系统14产生两个加密的公共密钥EH[P]和EP[H]。然后加密的公共密钥被发送回POD模块26,后者从EP[H]中提取主设备的公共密钥H。当流 由POD模块26发送到主设备24时,主设备24可从EH[P]中提取POD模块26的公共密钥P。由于设备24和26的公共密钥和专用密钥都被很好地保护,中间人的攻击在公共密钥经保密信道互相传递期间不大可能破译系统。
通过把图6的状态7分割为三个状态7a,7b和7c而修改状态7。在本实施例中,POD模块26与主设备24产生随机化的口令xn和yn,以及随机整数x和y,它们被使用来导出在设备26和24之间的共享的会话密钥。此外,在状态7a,POD模块26与主设备24分别计算GxmodN和Gymod N。随机数xn和yn在POD模块26与主设备24之间交换。在状态7b,POD模块26通过使用POD模块的专用密钥P (yn||Gxmod N)计算第一相位Diffie-Hellman变量,而在来自主设备24的接收的口令yn上产生它的数字签名。类似地,在状态7b,主设备24产生 (xn||Gymod N)。各自的数字签名连同Gxmod N和Gymod N一起在POD模块26与主设备24之间交换。在状态7c中接收后,POD模块26与主设备24都验证签名并提取第一相位Diffie-Hellman变量。成功的验证导致POD模块26与主设备24互相鉴权。接着,在状态8,共享的会话密钥k像图6的实施例那样被导出。
本发明的某些实施例可以具有一个或多个以下的优点。脆弱性被局部化,以使得一个设备的泄密不会造成系统范围的泄密。为了达到这个目标,按照某些实施例,使用和选择局部加密变量,以使得在泄密事件下不威胁整个系统。此外,按照某些实施例的系统可以抵制消费者级别的攻击,这包括安装绕过设备或接口产品。主设备24外面的电缆或设备的连接不会导致在主设备24中实施的副本保护方案的泄密。
按照某些实施例的系统的另一个特征是,条件接入系统(在本例中,包括主设备24与POD模块26)可限制POD模块与哪个主设备通信。条件接入系统能够标识和禁用可疑的主设备,这在某些实施例中是通过只要POD模块26与主设备24已由头端系统14基于由可信任的第三方提供的、在一个或多个存储的数据库中的数值的比较被验证,就从头端系统14发送绑定消息而完成的。
实体鉴权和会话密钥导出处理过程可以独立于有效负载加密算法,诸如条件接入算法,而被执行。鉴权和会话密钥导出处理过程,以在主设备24与POD模块26上可执行的软件相当简单地实施,减少与硬件牵连的情况。在其它实施例中,鉴权密钥导出处理过程可以以硬件实施。在按照某些实施例的CA-CP系统中,头端系统14在系统破译的情况下,能够撤销接入到主设备的授权。副本保护方案保护在POD模块与主设备之间和在POD模块与头端系统之间的被暴露的总线。
各种软件或固件(例如,由模块、例行程序或其它层组成),包括应用程序和例行程序,可被存储在或被明确包含在信息传输系统中一个或多个机器可读出的存储介质中。适合于有形地实施软件和固件指令的存储介质可包括不同形式的存储器,包括半导体存储器器件,诸如动态或静态随机存取存储器、可擦除和可编程只读存储器(EPROM)、电可擦除和可编程只读存储器(EEPROM)和快速存储器;磁盘,诸如硬盘、软盘和可换磁盘;其它磁介质,包括磁带;以及光介质,诸如CD或DVD盘。被存储在一个或多个存储介质中的指令在被执行时会使得信息传输系统执行编程的行为。
软件或固件可以以许多不同的方式之一被装载到信息传输系统。例如,被存储在一个或多个存储介质上,或通过网络接口卡、调制解调器、或其它接口机制输送的指令或其它代码段,可被装载到信息传输系统以及被执行,以便完成编程的行为。在装载或输送处理过程中,被实现为载波的数据信号(通过电话线、网络线路、无线链路、电缆等传输)可以传送指令或代码段到信息传输系统。
虽然结合有限数目的实施例揭示了本发明,但本领域技术人员应当理解可由此作出许多修改方案和变例。本发明的附属权利要求覆盖了本发明的精神和范围内的所有修改方案和变例。
权利要求
1.一种鉴权第一和第二设备的方法,包括在第三设备中,接收第一和第二设备的标识符;在第三设备中,根据标识符检索信息;根据检索的信息,从第三设备发送一个消息;以及在第一和第二设备中,根据该消息来验证第一和第二设备中另一个设备的标识符。
2.权利要求1的方法,其中发送包括发送一个包括第一和第二设备的公共密钥的消息。
3.权利要求2的方法,其中发送包括发送一个包括第一和第二设备的公共密钥的倒数的消息。
4.权利要求1的方法,其中验证包括使用公共密钥加密协议来执行鉴权。
5.权利要求4的方法,其中验证包括使用公共密钥加密协议的离散对数型式来执行鉴权。
6.权利要求5的方法,其中验证包括使用ElGamal加密协议来执行鉴权。
7.权利要求1的方法,还包括在第一和第二设备中产生随机数,其中验证包括使用在第一和第二设备的每一个中的随机数。
8.一种在第一和第二设备之间保密地传送内容的方法,包括把第一和第二设备的标识信息发送到第三设备;在第三设备中,根据标识信息产生预定的消息;以及使用该预定的消息来鉴权该第一和第二设备。
9.一种与第一系统通信的设备,包括包括第一模块和耦合到该第一模块的第二模块的接收机,第一和第二模块适合于发送标识信息到第一系统,以及根据由第一系统响应于该标识信息而产生和发送的预定信息互相鉴权。
10.权利要求8的设备,其中第一和第二模块适合于通过使用公共密钥协议来互相鉴权。
11.权利要求9的设备,其中公共密钥协议包括ElGamal协议。
12.权利要求9的设备,其中接收机适合于接收由第一保密协议保护的、来自第一系统的内容。
13.权利要求12的设备,其中第一和第二模块适合于按照包括公共密钥协议的离散对数型式的第二保密协议执行鉴权。
14.一种系统,包括适合于按照第一保密协议传送内容的条件接入系统;用以传送内容的传输媒体;以及被耦合到传输媒体的接收机,包括通过通信信道耦合的第一单元和第二单元,该第一和第二单元适合于提供第二保密协议以保护在第一和第二单元之间传输的信息;以及该条件接入系统适合于产生预定的消息,以及该第一和第二单元适合于根据预定的消息来互相鉴权。
15.权利要求14的系统,其中接收机包括内容保护系统。
16.权利要求15的系统,其中条件接入系统包括传输头端和接收机的第一单元。
17.权利要求14的系统,其中第一和第二单元适合于根据预定的消息产生会话密钥,以保护在通信信道上传输的信息。
18.权利要求14的系统,其中条件接入系统包括传输头端,它适合于加密视频内容,以便通过传输媒体发送。
19.权利要求14的系统,其中第一和第二单元适合于按照公共密钥加密协议的离散对数型式来互相鉴权。
20.一种包括一个或多个机器可读存储介质的产品,其中包含保护系统中第一和第二设备之间通信的指令,当该指令被执行时会使得系统把第一和第二设备的标识符发送到外部系统;从外部系统接收基于标识符的预定的消息;以及根据该预定的消息来鉴权第一和第二设备。
全文摘要
一种在第一设备(24)和第二设备(26)之间保密地传送内容的方法和设备,包括把第一和第二设备的标识信息发送到第三设备(14)。该第三设备(14)根据该标识信息产生预定的消息。使用该预定的消息对第一和第二设备(24,26)进行鉴权。
文档编号H04N7/16GK1341310SQ00804314
公开日2002年3月20日 申请日期2000年1月12日 优先权日1999年2月26日
发明者R·J·塔卡哈施, M·张 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1