具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明在终端设备中加入认证信息处理器、权利信息处理器、内容处理器和设备协调管理器。通过认证信息处理器确认对方设备合法性并得到共享会话密钥,利用共享会话密钥对权利信息和内容数据进行加密后传输给其它终端设备。从而实现了内容数据在家庭数字网络的终端设备之间有保护的传输。
图1为本发明终端设备的组成结构图,本发明的终端设备包括:内容接收模块101、权利信息接收模块102、认证信息接收模块103、内容处理器104、权利信息处理器105、认证信息处理器106、设备协调管理器107、内容输出模块108、权利信息输出模块109和认证信息输出模块110。
内容接收模块101接收来自内容发布者或家庭网络设备的内容信息,将其转换为统一格式并传输给内容处理器104。权利接收模块102从内容发布者或者家庭网络设备接收权利信息,将其转换为统一格式并传输给权利信息处理器105。认证信息接收模块103从认证中心或者家庭网络设备接收认证信息,将其转换为统一格式并传输给认证处理器106。内容处理器104接收来自内容接收模块101的内容数据,对其结构进行解析、解码、解扰、解密、转码和加密等操作,并管理内容处理相关的密钥和算法,内容处理器104受到设备协调管理器107的协调管理,并把最终处理后的内容数据传输给设备协调管理器107。权利信息处理器105接收来自权利信息接收模块102的权利信息数据,对其结构进行解析、解码、解密、转码和加密等操作,在执行权利前确定权利信息的有效性和安全性,并且管理权利信息处理相关的密钥和算法,权利信息处理器105受到设备协调管理器107的协调管理,并把最终处理后的权利信息数据传输给设备协调管理器107。认证信息处理器106接收来自认证信息接收模块103的认证信息数据,对其结构进行解析、解码、解密、转码和加密等操作,检查设备是否被吊销,建立、处理认证机制和过程,并且管理认证信息处理相关的密钥和算法,认证信息处理器106受到设备协调管理器107的协调管理,并把最终处理后的认证信息数据传输给设备协调管理器107。设备协调管理器107协调管理内容处理器104、权利信息处理器105和认证信息处理器106的工作,如执行终端设备的内容保护权利,管理终端设备的内容消费功能,向内容处理器提供权利信息和认证信息,选择内容保护策略和最佳解决方案等,并分别从内容处理器104、权利信息处理器105和认证信息处理器106接收内容数据、权利信息数据和认证信息数据。内容输出模块108接收来自设备协调管理器107的内容数据,并将其输出到家庭网络其它设备或家庭网络外部。权利信息输出模块109接收来自设备协调管理器107的权利信息数据,并将其输出到家庭网络其它设备或家庭网络外部。认证信息输出模块110接收来自设备协调管理器107的认证信息数据,并将其输出到家庭网络其它设备或家庭网络外部。
图2为本发明终端设备中内容接收模块的组成结构图。内容接收模块101包括:调制解调器201、网络通信协议分析模块202、总线接口协议分析模块203、传输流解复用模块204、TCP/IP协议栈205、协议数据分析模块206和内容信息分析模块207。调制解调器201、网络通信协议分析模块202和总线接口协议分析模块203都属于传输层接口模块,接收来自内容发布者或家庭网络的其它设备的内容信息。传输流解复用模块204、TCP/IP协议栈205和协议数据分析模块206都属于传送层接口模块,接收来自传输层接口的内容信息。内容发布者可以通过单向广播网或双向IP网把内容发送到家庭网络。单向广播网络可以通过有线、地面和卫星等多种方式,往往采用条件接收系统(CAS)来对内容进行保护;双向IP网络往往采用内容保护DRM系统保护,双向网络接口包括:以太网、GPRS、电信modem、Cable modem等等。单向广播网下发的内容数据通过调制解调器201得到传输流(TS),再通过传输流解复用模块204得到内容数据和节目映射表,输送给内容信息分析模块207。双向IP网络传送的内容数据通过网络通信层分析202适应不同的通信网络,得到TCP/IP数据,再通过TCP/IP协议栈205解析得到数据内容和相关信息,输送给内容信息分析模块207。内容接收模块101除了可以从内容发布者获取内容信息,还可以从家庭网络的其它设备获取内容信息。从家庭网络的其它设备获取的内容信息通过总线接口协议分析模块203适应不同的总线接口,得到符合总线协议的数据,然后通过协议数据分析模块206,得到数据内容和相关信息,输送给内容信息分析模块207。内容分析模块207对来自传送层接口的内容数据、映射表及相关信息进行分析,得到统一格式的加扰或加密的节目内容,提供给内容处理器104。
图3为本发明终端设备中权利信息接收模块的组成结构图。权利信息接收模块102包括:调制解调器301、网络通信协议分析模块302、总线接口协议分析模块303、传输流解复用模块304、TCP/IP协议栈305、协议数据分析模块306和权利信息提取模块307。调制解调器301、网络通信协议分析模块302、总线接口协议分析模块303、传输流解复用模块304、TCP/IP协议栈305和协议数据分析模块306与图2中调制解调器201、网络通信协议分析模块202、总线接口协议分析模块203、传输流解复用模块204、TCP/IP协议栈205和协议数据分析模块206的连接关系和功能作用相同,对权利信息进行处理。权利信息可以单独发送,也可以与内容一起发送。权利信息经过处理后,传输流解复用模块304将得到的CA系统的授权控制消息(ECM)或授权管理消息(EMM)数据传送给权利信息提取模块307;TCP/IP协议栈305将得到的内容保护系统的权利描述信息传送给权利信息提取模块307;协议数据分析模块306将家庭网络设备之间规定的权利信息表传送给权利信息提取模块307。权利信息提取模块307从各种权利信息数据提取出统一格式的权利信息,提供给权利信息处理器105。
图4为本发明终端设备中认证信息接收模块的组成结构图。认证信息接收模块103包括:调制解调器401、网络通信协议分析模块402、总线接口协议分析模块403、传输流解复用模块404、TCP/IP协议栈405、协议数据分析模块406和权利信息提取模块407。调制解调器401、网络通信协议分析模块402、总线接口协议分析模块403、传输流解复用模块404、TCP/IP协议栈405和协议数据分析模块406与图2中调制解调器201、网络通信协议分析模块202、总线接口协议分析模块203、传输流解复用模块204、TCP/IP协议栈205和协议数据分析模块206的连接关系和功能作用相同,对认证信息进行处理。数字家庭网络中的认证包括认证中心对设备的认证和设备之间的认证,认证中心对设备的认证包括在设备首次使用时的合法性认证,即离线认证,和通过双向网络实现认证中心对设备的认证,即在线认证。设备之间的认证在设备互联时确认对方设备的合法性。在单向网络中,调制解调器401接收认证中心广播的证书认证信息;在双向网络中,网络通信协议分析402接收认证中心的证书和认证交互信息;对于家庭网络中设备的互联认证,总线接口协议分析模块403接收来自其它设备的连接保护认证信息。认证信息经过处理后,传输流解复用模块404将得到的证书传送给认证信息提取模块407;TCP/IP协议栈405将得到的证书及认证控制信息传送给认证信息提取模块407;协议数据分析模块406将证书及认证控制信息传送给认证信息提取模块407。认证信息提取模块407把证书及认证控制信息提取出来,形成统一格式的认证信息并发送给认证信息处理器106。
图5为本发明终端设备中内容处理器的组成结构图。内容处理器104包括:内容流格式转换模块501、内容流解扰和解密模块502、内容流再加密模块503、内容消费模块504、内容处理模块505和内容存储模块506。内容流格式转换模块501对加扰或加密的内容数据进行格式转换,设备协调管理器107把认证信息处理器106得到的第一共享会话密钥和权利处理得到的解扰和解密密钥送给内容流解扰和解密模块502并调度其对内容数据进行解扰和解密,权利信息处理器通过设备协调管理器提供权利信息,内容流解扰和解密模块502将被解密的内容根据权利信息分别提供给内容消费模块504、内容处理模块505或内容流再加密模块503。内容流再加密模块503根据权利处理器105经过设备协调管理器107提供的再加密密钥对内容进行再加密操作,此处加密算法可以采用AES算法。内容流再加密模块503通过设备协调管理器107获得认证信息处理器106产生的第二共享会话密钥,根据权利信息,采用第二共享会话密钥对经过再加密的内容数据加密后输送给内容存储模块506或通过设备协调管理器107输出给内容输出模块108。
图6为本发明终端设备中权利信息处理器的组成结构图。权利信息处理器105包括:权利信息解密模块601、权利信息验证和解析模块602、权利表生成和加密模块603和内容再加密密钥产生模块604。为了表述清楚,将终端设备接收到的权利信息称为第一权利信息,将终端设备发送的权利信息称为第二权利信息。权利信息解密模块601通过设备协调管理器107从认证处理器106得到第一共享会话密钥并用其对权利信息接收模块102输送的第一权利信息进行解密。并且,对来自不同网络的权利信息,也可以兼容现有的处理方法。对于从内容发者发送的第一权利数据,从设备中调用预先存储的根密钥对权利信息进行解密,得到权利和内容解扰和解密密钥。这种解密可以是一层,也可能是多层的,如果是多层密钥,还需要对密钥进行管理、使用、销毁。权利信息验证和解析模块602对解密后的第一权利信息进行完整性验证,一般采用签名校验。对于验证合法的第一权利信息,权利信息验证和解析模块602对其进行解析,得到设备具备的权利信息。此时还可以进一步将权利信息与设备预存的静态权利表进行校对,最终确认设备对内容的使用权利,得到该设备使用内容的解密密钥和最终权利信息。权利信息验证和解析模块602将得到的权利信息和解密密钥发送给权利表生成和加密模块603,并且通过设备协调管理器107发送给内容处理器104。内容再加密密钥产生模块604重新产生内容加密密钥,提供给权利表生成和加密模块603并且通过设备协调管理器107提供给内容处理器104对内容进行加密。权利表生成和加密模块603获得再加密密钥,将其同内容的权利信息一起生成权利表,并利用设备的私钥对权利表进行签名后作为本终端设备的第二权利信息,根据设备协调管理器107提供的第二共享会话密钥对权利表进行加密。通过设备协调管理器107发送给权利信息输出模块109。对于条件接收系统,权利信息处理器105可以采用条件接收系统原有的设备内部条件接收模块或者智能卡,完成对ECM或EMM权利数据的解析。
图7为本发明终端设备中认证信息处理器的组成结构图。认证处理器解析认证输入信息,进行认证信息处理,并输出认证信息,认证处理器可以是发起方,也可以是接收方。为了表述清楚,将终端设备作为接收端的认证信息称为第一认证信息,将终端设备作为发送端的认证信息称为第二认证信息。认证信息处理器106包括:认证信息格式解析模块701、认证信息处理模块702、认证信息生成模块703和数据存储模块704。认证信息格式解析模块701对输入的第一认证信息进行格式解析,将格式解析后的认证信息输入认证信息处理模块702进行认证信息处理和计算,得到共享会话密钥,发送给设备协调管理器107。在设备终端接收数据时,计算得到的共享会话密钥为第一共享会话密钥,设备协调管理器107把第一共享会话密钥发送给内容处理器104和权利处理器105,利用其对内容数据和第一权利信息进行解密;在设备终端发送数据时,计算得到的共享会话密钥为第二共享会话密钥,设备协调管理器107把第二共享会话密钥提供给内容处理器104和权利信息处理器105来完成输出内容和第二权利信息的加密。认证信息生成模块703根据认证信息处理模块702提供的证书撤销列表、设备公钥和设备证书生成本终端设备的第二认证信息,并通过设备协调管理器107输出给认证信息输出模块110。数据存储模块704保存本设备相关数据,包括:设备ID、设备公钥、设备私钥、设备证书、认证中心公钥、证书撤销列表和算法参数等,其中设备私钥和算法参数安全等级要求高,需要通过OTP安全芯片保护。
图8为本发明终端设备中设备协调管理器的组成结构图。设备协调管理器107协调处理内容处理器、权利处理器和认证处理器的工作,将认证处理器得到的共享会话密钥发送给内容处理器和权利处理器,将权利处理器得到的解析后的权利信息发送给内容处理器。设备协调管理器107包括:内容处理器调度模块801、权利信息处理器调度模块802、认证信息处理器调度模块803、设备协调管理主模块804和设备接口管理模块805。设备协调管理主模块804控制内容处理器调度模块801、权利信息处理器调度模块802、认证信息处理器调度模块803和设备接口管理模块805,并根据不同网络类型的内容来源选择内容保护策略和最佳解决方案。在一个设备获取、发送内容之前,通过认证信息处理器调度模块803调度认证信息处理器106,对内容发送方的身份进行认证。认证信息处理器调度模块803可以作为认证发送方和接收方同时处理多个认证申请,如I2C总线最多可以连接127个认证处理,通过寻址来区别不同的认证。权利信息处理器调度模块802调度权利信息处理器105,判断接收到的内容权利信息,同时判断设备本身具备的能力,生成表示最终的内容使用权利的权利表。内容处理器调度模块801调度内容处理器104对内容进行处理、消费、保存和输出操作。
图9为本发明终端设备中设备协调管理器输出接口的组成结构图。设备协调管理器对内容输出接口、权利数据接口和认证输出接口进行管理,可以支持多种接口,如图9所示,设备接口管理模块805在设备协调管理主模块804的协调控制下,对设备协调管理器的各种输出接口进行管理,根据不同数据选择相应的输出接口。输出接口包括:压缩流接口91、非压缩流接口92和控制接口93。压缩流接口91包括:USB和IEEE1394接口911、USB和Ethernet接口912、IDE和ATA接口913、PCI和PCMCIA接口914、RF接口915。其中RF接口包括有线RF接口、地面RF接口和卫星RF接口。非压缩流接口92包括:HDMI和DVI接口91、DisplayPort接口922和UDI接口923。控制接口93包括:I2C接口931、RS-232接口932、USB接口933和IDR接口934。其中,内容传输分为压缩和非压缩两种情况,根据情况选择压缩流接口91或者非压缩流接口92。权利信息可以跟内容一起传输,也可以单独传输,单独传输时通过控制接口93传输。认证信息通过控制接口93传输。
应用本发明终端设备对内容进行保护传输的方法流程如图10所示。该方法包括:
步骤1001:发送端设备和接收端设备进行相互认证,利用双方认证信息进行计算,通过计算确认对方设备的合法性,产生共享会话密钥。
步骤1002:权利信息加密传输,即发送端设备用认证产生的共享会话密钥对权利信息进行加密后传输给接收端设备,接收端设备用认证产生的共享会话密钥对权利信息进行解密。
步骤1003:内容加密传输,即发送端设备用认证产生的共享会话密钥对内容数据进行加密后传输给接收端设备,接收端设备用认证产生的共享会话密钥对内容数据进行解密,并根据权利信息规定的权限使用内容。
下面对每个步骤的过程进行详细介绍。
步骤1001所述的设备认证的方法流程如图11所示。设备采用证书系统来实现公钥的安全交换,采用基于非对称算法来实现设备之间的认证,包括RSA和ECC两种算法。进行认证过程的先决条件在于每个设备拥有一个认证中心签名的证书,并且要在本地保存并及时更新证书撤销表。证书可以在生产的时候预存到设备的FLASH存储中,也可以通过与认证中心进行更新。证书内容包括:设备ID、签名算法、证书发布者ID、过期时间、用认证中心私钥加密后的设备公钥和认证中心对证书的数字签名。认证中心通过下发证书撤销列表废除非法的设备,证书撤销列表的内容包括:版本、非法证书ID、发布者认证中心ID和发布者认证中心签名。设备通过判断证书撤销表的版本来更新证书撤销列表,并保存到设备的FLASH存储中。证书撤销的更新可以从认证中心获取,也可以从另一方设备获取。获取证书撤销表是双向的,另一方设备即可以是设备发送者,也可以是设备接收者,进行一对一处理,认证时间更短。
如图11所示,认证过程包括以下步骤:
认证过程的第一阶段为证书交换,包括步骤1101至1104。
步骤1101:发送端设备A将其证书发送给接收端设备B。
步骤1102:接收端设备B从FLASH内容中读出用认证中心的公钥,并用它来校验设备A证书的数据签名是否正确,并且校验设备A的ID是否不在证书撤销列表中,如果验证通过,用认证中心的公钥解密得到设备A的公钥,并执行步骤1103,否则取消认证过程。
步骤1103:接收端设备B将其证书发送给发送端设备A。
步骤1104:发送端设备A从FLASH内容中读出用认证中心的公钥,并用它来校验设备B证书的数据签名是否正确,并且校验设备B的ID是否不在证书撤销表中,如果验证通过,用认证中心的公钥解密得到设备B的公钥,并执行步骤1105,否则取消认证。
上述步骤为设备A和设备B之间的证书交换过程,以上步骤执行完成后,便可进行认证协议的第二阶段,即密钥协商过程,包括步骤1105至1108。
步骤1105:发送端设备A生成一个随机数R0,并用B的公钥对R0进行加密,将加密后的随机数R0发送给设备B。
步骤1106:接收端设备B用自己的私钥对加密后的随机数R0进行解密,得到R0。
步骤1107:接收端设备B生成一个随机数R1,并用A的公钥对R1进行加密,将加密后的随机数R1发送给设备A,并计算K′=R0*R1,该值表示将R0和R1进行相乘。
步骤1108:发送设备A用自己的私钥对加密后的随机数R1进行解密,得到R1,并计算K=R0*R1。
密钥协商过程完成后,发送端设备A和接收端设备B分别生成了共享会话密钥——K和K′,共享会话密钥被保存在内存中。然而,设备A不知道设备B是否得到了正确的K′值,设备B也并不知道设备A是否得到了正确的K值。由此,需要执行认证协议的第三阶段,即挑战-应答握手协议。挑战-应答握手协议可以是单方面的,也可以是双方面的。单方面的挑战-应答握手协议包括步骤1109至1111。
步骤1109:发送端设备A生成一个随机数R2,采用Hash运算,计算出H(KPR2),该值表示是用Hash函数对KPR2运算生成的摘要。然后发送端设备A将R2发送给接收端设备B。
步骤1110:接收端设备B得到R2,然后计算H(K′PR2),并将其发送给设备A。
步骤1111:发送端设备A得到H(K′PR2)。然后设备A验证H(K′PR2)是否与H(KPR2)相等。如果二者相等,则设备A认为接收设备B可以通过认证,共享会话密钥有效,反之,则认证不通过,共享会话密钥无效。
挑战-应答握手协议也可以采用双方面的认证方法,在执行完步骤1111之后,采用双方面的挑战-应答握手协议,增加以下步骤:
接收设备B生成一个随机数R3,采用Hash运算,计算出H(K P R3),该值表示是用Hash函数对K P R3运算生成的摘要。然后发送端设备A将R3发送给接收端设备B。
接收端设备B得到R3,然后计算H(K′PR3),并将其发送给设备A。
发送端设备A得到H(K′P R3)。然后设备A验证H(K′P R3)是否与H(K P R3)相等。如果二者相等,则设备A认为接收设备B可以通过认证,共享会话密钥有效,反之,则认证不通过,共享会话密钥无效。为保证系统安全、稳定、高效运行,设备在以下三种情况下需要进行认证过程:
第一,当设备刚开始建立连接时,需要进行身份验证,执行全部认证过程;
第二,当设备在内容加密传输过程中出现多次失步时,需要重新生成加密共享会话密钥,需要执行密钥协商和挑战-应答握手协议两个过程;
第三,为了保证系统的安全性,即使不出现失步的情况,也需要定期更新共享会话密钥,需要执行密钥协商和挑战-应答握手协议两个过程。
以在HDMI接口上高速传输为例,证书的字段如表1所示,证书撤销列表字段如表2所示,共享会话密钥的长度为128位或160位。
表1终端设备证书
表2终端设备证书撤销列表(最大8269字节)
图12为本发明内容保护方法中权利信息处理方法流程图。权利信息处理过程以权利表的方式发送接收端设备对内容的使用权限。权利表预先进行数字签名,在双向IP网络中,数字签名由内容发布者进行;单向广播网中由家庭网络中的一个可信的安全实体进行,预先将签名算法和私钥存储在发送端设备内的可信安全容器中。签名算法支持RSA和ECC算法。具体的权利信息处理过程包括:
步骤1201:发送端设备A转发内容发布者签发的权利表,或者用设备A的私钥在安全的容器中签发权利表,通过共享会话密钥加密后发送给接收端设备B。
步骤1202:接收端设备B用共享会话密钥进行解密,选择发布者ID公钥或者设备A公钥进行签名验证,验证通过后分析并保存权利信息。
步骤1203:接收端设备B把步骤1202获得的权利信息和预先保存在本地的静态权利信息进行比较,由两者的交集得到最终的内容使用权限。
权利信息处理过程中所涉及的权利表是接收端设备对于某个内容的使用权利描述,权利表内容包括一下权利信息选项:版本、内容ID、逻辑频道ID、域ID、设备ID、签名算法、权利信息和数字签名。权利表可以但不限于使用二进制值的方式描述。
由于采用二制描述的权利表可能包括一个或多个权利信息选项,为了在表示出具体包含的权利信息选项的基础上使权利表尽可能简短,本发明将权利表设置成可变长度。在权利表头部设置Mask标识,Mask标识的长度等于所有权利信息选项的总个数,Mask标识的每一位表示一个权利选项是否存在,0表示不存在,1表示存在。Mask标识放在权利表的头部,Mask标识之后的一位为权利信息选项的开始偏移地址,记录详细的权利信息。当系统识别权利表后,通过分析Mask标识的字段,即可获知该权利表包括的权利信息选项,由于权利信息选项的开始偏移地址、顺序和长度是固定的,则系统可以快速分析到具体的权利信息选项内容,得到完整的权利表内容。为了更清楚的说明Mask字段的使用,下面通过三个例子予以说明。
例一:
当权利表只允许接收端设备具有对内容播放的功能时,权利信息表设计如表1所示,Mask标识字段取值为:
11010011100000000000000000000000000000000000000000000001。
参见表3,系统通过分析Mask字段,知道权利表具备表字段序号4、5、7、10、11、12、59,对应的内容是Table Length、Content ID、Device ID、Content Encryption Key Length、Play Limit、Signature Data等字段,分析得到具有Device ID的设备具备对Content ID的内容的播放权限Play Limit。表3的总长只有504位,不涉及与播放功能无关的权利信息,有效的减少了权利表长度。
表3只具备播放功能的权利表
例二:
当权利表只允许接收端设备具有对内容的播放、录制和播放存储节目等部分功能时,权利信息表可以设计成如表2所示,Mask字段取值为:
11110011110011010001101000000000000000000000000000000001。
参见表4,系统通过分析Mask字段,知道权利表具备表字段序号4、5、6、7、10、11、12、13、16、17、19、23、24、26、59,分析得到对应DeviceID或者Domain ID的设备具备对Content ID的内容的使用权限包括:按绝对时间的播放权限,按累计时间录制节目和按次数播放录制的节目。表4的总长为624位。
表4具备播放、录制和存储权利功能的权利表
例三:
当权利表描述了设备对内容的权利信息时,权利信息表可以设计成如表5所示,Mask字段取值为:
1111111111111111111111111111111111111111111111111111111。
参见表5,系统通过分析Mask字段,知道具备表的所有字段,接收端设备对内容具有所有的使用权限。表5的总长为1872位,为权利表最大长度。
表5具备全部权利信息的权利表
可以看出,根据不同的设备权利,不必在每一权利表中都列出所有的权利信息选项,权利表的设计可以有多种组合。通过MASK标志的设置,清晰地表示出本权利表所有的权利信息选项,权利表中不涉及无关的权利信息,为系统对权利表的分析提供了方便,并且节省了宝贵的带宽资源。
本发明所述内容数据的传输包括压缩数据和非压缩数据,压缩数据需要高安全的算法,运算相对复杂,采用AES算法加密,AES用来给带宽较低的压缩数据流加密,通常使用实现面积较小速度较低的算法来节省系统资源;非压缩数据需要相对高速的加密算法,采用快速流加密算法,如USS算法。
图13为本发明中压缩内容数据传输方法流程图。
1301:发送端设备A的内容处理器从内存中得到共享会话密钥,以共享会话密钥作为加密密钥,采用AES分组加密算法对内容数据进行分组加密,并将加密后的内容数据发送给接收端设备B。
1302:接收端设备B的内容处理模块从内存中得到共享会话密钥,以共享会话密钥作为解密密钥,采用AES分组加密算法对内容数据进行分组解密,包内数据的分组采用CBC模式。
图14为本发明中非压缩内容数据传输方法流程图。
1401:发送端设备A的内容处理器从内存中得到共享会话密钥,以该共享会话密钥作为输入,采用快速流加密算法,产生加密密钥序列。加密密钥序列与非压缩内容数据采用相同的时钟周期,密钥序列长度与非压缩内容数据像素相匹配。内容数据以像素为单位。
1402:加密密钥序列与内容数据进行异或运算,得到加密的非压缩内容数据,并将其传送给接收端设备B。
1403:接收端设备B的内容处理模块从内存中得到共享会话密钥,以该共享会话密钥作为输入,采用快速流加密算法,产生与加密密钥序列一致的解密密钥序列。解密密钥序列与加密密钥序列采用相同的时钟。
1404:解密密钥序列与加密的非压缩内容数据进行异或运算,得到解密的非压缩内容数据。
以在HDMI接口上传输为例,采用USS算法加密。在USS加密过程中,每个像素24位对应1个加密密钥。通过认证过程对密钥实时更新,每次认证结果产生128位的共享会话密钥,共享会话密钥通过USS的加密产生24位的加密密钥,每个时钟产生不同的加密密钥,采用每个24位的加密密钥与每个24位的像素进行异或运算,得到加密的非压缩内容数据。在USS解密过程中,接收设备得到与加密过程相同的128位的共享会话密钥,通过USS的加密产生相同的24位的解密密钥,在与加密过程相同的时钟内,采用每个24位的密钥与加密的非压缩内容数据进行异或运算得到非压缩内容数据。
在非压缩快速流加密过程中,还可以在加密内容数据传输的设备发送端和接收端进行周期性的密钥自同步,随时检测密钥的一致性,当发现密钥不一致时,将两端密钥恢复一致,提高系统的安全性。USS算法保存每行和每帧的开始的共享会话密钥,当解密出现错误时,进行密钥恢复,保证同步。同步恢复的步骤如下:
第一步:加密端和解密端将分别将各自寄存器的值作为状态,对其进行hash运算,解密端将自己的状态的hash值通过I2C接口传给加密端,加密端检测两端状态的hash值是否一致,并将检测结果通过I2C接口发送给解密端,如果一致,将等待下一次检测,如果不一致,则进行第二步。
第二步:加密端与解密端分别依据上次两端状态的hash值一致的共享会话密钥,通过hash运算,生成新的密钥,加密端告知解密端新的密钥已经生成完成,两边开始同时使用新的密钥。
为了更好的理解本发明的应用方法,在下文中结合附图,举两个实施例进行详细说明。第一较佳实施例说明了终端设备如何有保护地从前端接收内容数据并进行使用,第二较佳实施例说明了内容在两个终端设备之间如何有保护地进行传输。
图15示出了本发明第一较佳实施例的终端设备结构图。
但不限于该实施例。本发明中,为了实现数字家庭网络终端内容保护保护,采用本发明的内容保护技术架构,在终端实现上从内容、权利和认证上都做了实现。
在本例中,终端设备具有第一UTI接口处理器1510和第二UTI接口处理器1520,这两个UTI接口处理器既有终端设备内部数据传输的作用,还完成设备协调管理器的功能,对内容、权利信息和认证信息进行协调输出和接口管理,并且第一UTI接口处理器1510内包括内容输出模块,第二UTI接口处理器1520内包括权利信息输出模块和认证信息输出模块。本例中内容数据通过广播网由前端的内容下发服务器发送,内容接收模块包括高频头1501和内容保护芯片的解复用器1501,经过内容接收模块得到加密的TS内容数据。内容处理器包括内容保护芯片的解扰器1503和再加密模块1504,通过解扰器实现对内容的解扰,解扰的内容数据可以直接经第一UTI接口处理器1510输出给数字电视解码芯片进行消费,也可以经过再加密模块1504进行再加密操作后,经第一UTI接口处理器1510输出。认证信息和权利信息通过双向IP网络由前端的授权中心发送给终端设备的认证和权利接收模块1506,认证信息处理器和权利信息处理器的功能由安全处理器1506和内容保护解密器1507完成。
在本实施例中,数据内容可以通过文件格式的方式存放,在发送时,打包成TS格式来发送,终端通过过滤TS数据包,解析文件和数据包。文件内容的格式可以有多种定义,其中一种文件内容格式定义如表6所示。
表6内容保护文件格式字段定义
字段 |
Hash |
大小(位) |
数值 |
描述 |
Indicator |
|
4 |
“U内容保护” |
Uimsbf,标识是U内容保护加密文件 |
Version |
|
2 |
0x0100 |
Uimsbf,高位字节.地位字节 |
Content ID |
|
6 |
|
Uimsbf,内容标识 |
CPK_ID |
|
4 |
|
Uimsbf,内容加扰密钥标识,最高字节标识预留标识内容加扰算法,暂固定为0。 |
URL_length |
|
2 |
|
Uimsbf,授权中心URL长度 |
For(i=0;i<n;i++){ |
|
|
|
|
URL_byte |
|
1 |
|
Uimsbf,授权中心URL |
} |
|
|
|
|
Content’ |
|
N |
|
Uimsbf,CPK加密的内容 |
Padding’ |
|
8-(N%8) |
|
Uimsbf,内容长度不是8的倍数的时的填充字节也要被加密。 |
在内容文件的头中包括有内容解密密钥CPK的ID和授权中心URL,该部分不需要加密,只需要加密具体数据内容。当终端收到内容文件后,需要申请权利信息,安全处理器分析内容文件的头,得到授权中心URL和解密密钥CPK的ID,然后通过URL连接到授权服务器。在获取授权之前先进行身份验证。
本实施例中的权利许可证字段可以有多种定义,其中一种定义如表7所示。
表7权利许可证字段定义
字段 |
Hash |
大小(位) |
数值 |
描述 |
Indicator |
|
4 |
“UCER” |
Uimsbf,标识是U内容保护许可证文件 |
Version |
|
2 |
0x0100 |
Uimsbf,高位字节.地位字节 |
Content ID |
H |
6 |
|
Uimsbf,内容标识 |
CPK_ID |
H |
4 |
|
Uimsbf,内容加扰密钥标识,最高字节标识预留标识内容加密算法,暂固定为0。 |
CPK_length |
H |
2 |
|
Uimsbf,内容解扰密钥长度 |
For(i=0;i<n;i++){ |
|
|
|
|
CPK_byte’ |
H |
1 |
|
Uimsbf,U内容保护内容用户(Public)密钥加密的内容解扰密钥 |
} |
|
|
|
|
Effective_Time |
H |
4 |
|
Uimsbf,以秒计数的UTC时间。 |
Expire_Time |
H |
4 |
|
Uimsbf,以秒计数的UTC时间。 |
Control_desc_length |
H |
2 |
|
Uimsbf,许可的控制信息长度 |
For(i=0;i<n;i++){ |
|
|
|
|
Control_Descriptor() |
H |
|
|
权利描述信息 |
} |
|
|
|
|
Signature_length |
|
2 |
|
Uimsbf,数字签名长度 |
For(i=0;i<n;i++){ |
|
|
|
|
Signature_byte’ |
|
1 |
|
Uimsbf,数字签名字节,U内容保护授权中心(P rivate)密钥加密后的消息摘要,消息摘要的算法采用MD5。 |
} |
|
|
|
|
本实施例终端设备的具体应用方法步骤如下:
第一,终端设备向授权中心发出内容权利许可证请求。
第二,终端设备通过安全处理器和授权中心之间进行认证,通过认证产生共享会话密钥,建立安全通道。
第三,授权中心用认证产生的共享会话密钥加密内容许可证发送给终端设备。
第四,终端设备向内容点播服务器发送内容下发请求。
第五,内容点播服务器将内容数据下发给终端设备。
第六,终端设备通过安全处理器分析得到权利信息,并通过内容保护解密器得到内容加密密钥CPK。
第七,内容处理器使用CPK对内容进行解扰,也可以再加密后输出给数字电视解码芯片。
设备管理协调器由UTI接口处理来实现,包括内容、权利和认证信息的协调输出及接口管理,内容输出通过UTI接口的数据通道传输,认证信息和权利通过控制数据来传输。
图16和图17为本发明第二较佳实施例的终端设备结构图。第二较佳实施例将说明本发明在现有的机卡分离技术和条件接收系统中如何实现UTI主机和UTI条件接收设备之间的内容数据保护传输,包括两个终端设备,即UTI主机和UTI条件接收设备,其中,UTI主机以数字机顶盒为例,UTI条件接收设备以与机顶盒配套的用户卡为例。在机卡分离技术中,数据的输入基于UTI接口,UTI条件接收设备和UTI主机设备的接口传输层物理接口采用USB批量传输模式或者同步传输模式,采用一对数据线传输所有类型的数据,包括内容、控制信息、许可证和认证信息等。数据包括内容数据、权利信息和认证信息,远端数据接收包括两种方式:第一种方式由UTI主机接收远端的数据,然后通过UTI接口传输给UTI条件接收设备,如图16所示;第二种方式由UTI条件接收设备直接接收数据,如图17所示。
参见图16,在第一种方式中,UTI主机包括条件接收客户端1611、内容保护实体1612和UTI接口处理单元1613。条件接收客户端1611包括调制解调器1610,完成内容接收模块、权利信息接收模块和认证信息接收模块的作用,从远端接收数据并解调得到加密传输流。UTI接口处理单元1613既有终端设备内部数据传输的作用,还完成设备协调管理器的功能,对内容数据、权利信息和认证信息进行协调输出和接口管理,并且包括内容输出模块、权利信息输出模块和认证信息输出模块。UTI主机通过UTI接口处理单元将加密传输流传输给UTI条件接收设备。UTI主机的内容保护实体包括内容处理器、权利信息处理器和认证信息处理器,UTI主机通过UTI接口处理单元从UTI条件接收设备获取被保护的内容和权利许可证,并根据权利许可证对内容进行使用。其中,UTI主机作为接收端从远端获得的认证信息和权利信息分别为第一认证信息和第一权利信息;UTI主机作为发送端向UTI条件接收设备发送的认证信息和权利信息分别为第二认证信息和第二权利信息。
参见图16,UTI条件接收设备包括条件接收客户端1621、内容保护实体1622和UTI接口处理单元1623。其中,UTI接口处理单元1623的作用与UTI主机中的相同。条件接收客户端1621完成内容接收模块、权利信息接收模块和认证信息接收模块的作用,通过UTI接口处理单元1623接收来自UTI主机的加密传输流,解析处理ECM/EMM数据,得到加扰控制字和权利许可,并且用加扰控制字对加扰内容进行解扰,得到内容数据并传给内容保护实体1622。内容保护实体1622包括内容处理器、权利信息处理器和认证信息处理器,分别接收来自条件接收客户端的内容数据、权利信息和认证信息并进行处理。对于系统内存在智能卡的概况,ECM/EMM数据还可以通过安全通道传送给智能卡处理。内容保护实体通过内容处理器对内容进行处理得到被保护的内容,通过权利处理器生成权利许可证。UTI条件接收设备的UTI接口处理单元1623将被保护的内容和权利许可证发送给UTI主机。其中,UTI条件接收设备作为接收端从UTI主机获得的认证信息和权利信息分别称为第一认证信息和第一权利信息;UTI条件接收设备作为发送端向UTI主机发送的认证信息和权利信息分别为第二认证信息和第二权利信息。
参见图17,在第二种方式中,UTI主机设备仅包括内容保护实体1612和UTI接口处理单元1613,而不包括条件接收客户端,UTI条件接收设备的条件接收客户端包括调制解调器1720,数据直接从UTI条件接收设备输入。其余的组成结构及各部分的功能作用与第一种方式中的相同,在此不再赘述。
从以上实施方式及较佳实施例可以看出,本发明在终端设备中加入认证信息处理器、权利信息处理器、内容处理器和设备协调管理器。在设备协调管理器的管理下,认证信息处理器确认对方设备合法性并得到共享会话密钥,权利信息处理器利用共享会话密钥解密得到权利信息,内容处理器利用共享会话密钥解密得到内容数据,根据权利信息对内容数据进行处理,并且认证信息处理器和权利信息处理器分别重新生成认证信息和权利信息,在向其他终端设备传输数据之前,利用共享会话密钥对重新生成的权利信息和内容数据进行再加密,然后再将认证信息和加密后的权利信息、内容数据传输给其它终端设备。从而实现了内容数据在家庭数字网络的终端设备之间有保护的传输。
本发明还通过在认证信息接收模块、权利信息接收模块和内容接收模块内部的传输层接口模块内加入调制解调器、网络通信协议分析模块和总线接口协议分析模块,并且在传送层接口模块内部对应加入传输流解复用模块、TCP/IP协议栈和协议数据分析模块,使得终端设备能够兼容接收来自单向广播网、双向IP网和网络其它设备的数据。并且通过在设备协调管理器内部加入可以管理多种接口的设备接口管理模块,使得本发明所述设备终端可以支持多种不同的设备接口,从而可以与家庭数字网络中的所有设备相互连接。并且在权利信息加密传输过程中,通过在权利表中设置表示权利选项的Mask字段,使得权利表的长度可以根据权利选项的项数调整,而不必每个权利表都采用完整的长度,从而减小了占用带宽。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。