CN101325486A - 域许可密钥的封装方法及设备 - Google Patents

域许可密钥的封装方法及设备 Download PDF

Info

Publication number
CN101325486A
CN101325486A CNA200710112362XA CN200710112362A CN101325486A CN 101325486 A CN101325486 A CN 101325486A CN A200710112362X A CNA200710112362X A CN A200710112362XA CN 200710112362 A CN200710112362 A CN 200710112362A CN 101325486 A CN101325486 A CN 101325486A
Authority
CN
China
Prior art keywords
territory
permission
equipment
ciphertext
key
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
Application number
CNA200710112362XA
Other languages
English (en)
Other versions
CN101325486B (zh
Inventor
周志鹏
党沛
周皓隽
陈大港
冯雯洁
黄晨
张仁宙
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN200710112362XA priority Critical patent/CN101325486B/zh
Publication of CN101325486A publication Critical patent/CN101325486A/zh
Application granted granted Critical
Publication of CN101325486B publication Critical patent/CN101325486B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种域许可密钥的封装方法,该方法包括:用域密钥对内容加密密钥和消息验证密钥进行加密,获得第一密文;将所述第一密文封装入域许可。本发明同时公开一种通信设备。采用本发明可以实现域许可的密钥封装过程,保证在许可传递过程中对密钥信息的安全保护,并且实现简单,实用性强。

Description

域许可密钥的封装方法及设备
技术领域
本发明涉及数字版权管理技术领域,尤其涉及域许可密钥的封装方法及设备。
背景技术
数字版权管理(Digital Rights Management,DRM)主要通过权利限制和内容保护方案控制数字内容的使用,保护内容所有者的合法权益。数字内容的发行者(Content Issuer,CI)将数字内容加密后,用户将加密的数字内容数据包下载到终端设备上;版权发行者(Rights Issuer,RI)负责分发与数字内容相对应的许可证,其中包括内容加密密钥及对应的权限。设备只有同时拥有内容数据包和许可证,才能正常使用所购买的数字内容。DRM终端(DRMAgent)利用设备的公钥解密得到许可加密密钥,进而得到许可证中的内容加密密钥以解密数字内容,并根据许可证中的权限信息控制用户对数字内容的具体使用。
以开放移动联盟(OMA,Open Mobile Alliance)DRM标准为例,许可证采用权限对象(RO,Rights Object)的方式表示,RO中包含有权利、限制、密钥、签名等信息。
许可证中的权利及限制,统称为许可权限。许可权限或许可权限的载体称为许可。
根据RO所包含的限制的不同,RO可分为有状态RO和无状态RO。有状态RO中包含有对某权利进行限制的信息,例如次数(count)、时间(包括时间段、累计时间等)等状态限制信息;而无状态RO中的所有权利下都不包含状态限制。例如,若RO中包含有打印的权利,及打印次数的限制,则此RO为有状态RO;若RO中包含有打印、浏览等权利,而对RO中的任一权利均无状态限制,则此RO为无状态RO。无状态RO中所包含的权利均属于非消耗类权利,即对该权利的使用不会影响后续的使用。
在OMA SRM(Secure Removal Media,安全可移动媒介)标准中,每个有状态RO对应一个状态信息(Extended State Format,ESF),以记录其当前消费状态。
在OMA DRM2.0标准中,定义了域(Domain)的概念。加入域的设备可以使用为本域购买的域RO。域RO中封装有数字内容的内容加密密钥,本域的设备在加入域过程中获取本域的域密钥,从而可以解析域RO并获取其中的内容加密密钥。
域许可可以在域内设备间转移。这是由于域内设备均拥有该域的域密钥,在域内设备获取域许可后,即可解析该域许可以使用该域许可中当前可用的内容使用权限。另一方面,对于非该域中的设备,即使获取了该域的域许可,由于没有该域的域密钥,也无法解析该域许可以获取其中的内容使用权限。
另一种可能的情况是,一个域的域许可需要转移给另一域中的设备使用,例如,用户为某域购买了域RO,一段时间后,用户希望将域RO中的权限转移给另一域中的设备使用。此时,需要设计两域间进行域RO转移的技术方案。
如图1所示,当前OMA DRM的SRM草案中提出了一种RO的MOVE方案,包括:
步骤100、DRM Agent向SRM Agent发送许可安装请求消息(RightsInstallationRequest),并在该消息中携带RO等信息;其中RO是已被加封(SealedRights,其CEK已被加密,加封的RO在解封之前不可用);对于有状态RO,该消息中一并将其状态信息ESF传送给SRM Agent。
步骤101、SRM Agent对RO进行验证(通过验证设备RO中权限信息的数字签名来验证RO的合法性),并完成对该RO的安装操作。
步骤102、SRM Agent在许可安装响应消息(RightsInstallationResponse)中返回安装操作的状态信息。
步骤103、若SRMAgent返回安装成功,DRMAgent将该RO删除。
步骤104、DRM Agent通过许可解封请求消息(RightsUnsealRequest)将该RO的加封密钥(Sealing Key)传与SRM,以解封SRM中的该RO。
步骤105、SRM Agent利用Sealing Key解封该RO;解封之后,即可使用该RO中的内容使用权限。
步骤106、SRM Agent通过许可解封响应消息(RightsUnsealResponse)将解封操作的状态信息返给DRM Agent。
发明人在实现本发明的过程,发现存在转移域RO的技术需求,而现有技术并未提供域RO转移的具体实施方案。另一方面,域RO的转移过程中,包括域RO的验证及加封密钥的实现等,均与域RO的封装方式紧密相关。
发明内容
本发明实施例提供一种域许可密钥的封装方法及设备,用以简化域许可密钥的封装过程,提高域许可密钥的安全性。本发明实施例还提供相应的域许可转移方法以实现域许可在不同域间的转移。
本发明实施例提供一种域许可密钥的封装方法,该方法包括步骤:
用域密钥对内容加密密钥及消息验证密钥进行加密,获得第一密文;
将所述第一密文封装入域许可。
本发明实施例还提供一种域许可的转移方法,该方法包括步骤:
第二域的设备接收第一域的设备提供的域许可及对应的内容加密密钥;
所述第二域的设备用本域的域密钥对所述内容加密密钥进行加密,获得第二密文;
所述第二域的设备将所述第二密文封装入域许可。
本发明实施例还提供一种域许可密钥的封装方法,该方法包括步骤:
用许可加密密钥对内容加密密钥进行加密,获得第三密文;
用域密钥对所述许可加密密钥、消息验证密钥及随机数进行加密,获得第四密文;
将所述第三密文和所述第四密文封装入域许可。
本发明实施例还提供一种域许可的转移方法,该方法包括步骤:
第二域的设备接收第一域的设备提供的域许可及对应的许可加密密钥;
所述第二域的设备用本域的域密钥对许可加密密钥、消息验证密钥及随机数进行加密,获得第五密文;
所述第二域的设备将所述第五密文封装入域许可。
本发明实施例还提供一种通信设备,包括:
加密单元,用于用本域的域密钥对内容加密密钥及消息验证密钥进行加密,获得第一密文;
封装单元,用于将所述第一密文封装入域许可。
本发明实施例还提供一种通信设备,包括:
接收单元,用于接收其它域的域许可及对应的内容加密密钥;
加密单元,用于用本域的域密钥对所述内容加密密钥进行加密,获得第二密文;
封装单元,用于将所述第二密文封装入域许可。
本发明实施例还提供一种通信设备,包括:
第一加密单元,用于用许可加密密钥对内容加密密钥进行加密,获得第三密文;
第二加密单元,用于用本域的域密钥对所述许可加密密钥、消息验证密钥及随机数进行加密,获得第四密文;
封装单元,用于将所述第三密文和所述第四密文封装入域许可。
本发明实施例还提供一种通信设备,包括:
接收单元,用于接收其它域的域许可及对应的许可加密密钥;
加密单元,用于用本域的域密钥对许可加密密钥、消息验证密钥及随机数进行加密,获得第五密文;
封装单元,用于将所述第五密文封装入域许可。
本发明实施例中,用域密钥对内容加密密钥和消息验证密钥进行加密,获得第一密文;将所述第一密文封装入域许可,可以实现域许可密钥的封装过程,保证在许可传递过程中对密钥信息的安全保护,并且实现简单,实用性强;用许可加密密钥对内容加密密钥进行加密,获得第三密文;用域密钥对所述许可加密密钥、消息验证密钥及随机数进行加密,获得第四密文;将所述第三密文和所述第四密文封装入域许可,可以实现域许可密钥的封装过程,并且可以提高域许可密钥的安全性。第二域的设备接收到第一域的域许可后,第二域的设备用本域的域密钥重新对域许可密钥进行封装,实现了域许可在不同域间的转移。
附图说明
图1为背景技术中许可转移的处理流程图;
图2为本发明实施例中一种通信系统的结构示意图;
图3、图7、图8、图12为本发明实施例中一种通信设备的结构示意图;
图4、图9为本发明实施例中一种域许可密钥封装的处程流程图;
图5、图10为本发明实施例中一种域许可转移的处理流程图;
图6、图11为本发明实施例中DRMAgentl向DRMAgent2转移域许可转移的处理流程图。
具体实施方式
本发明实施例中,用域密钥对内容加密密钥和消息验证密钥进行加密,将加密获得的密文封装入域许可,可以实现域许可密钥的封装过程,并且实现简单;用许可加密密钥对内容加密密钥进行加密,用域密钥对许可加密密钥、消息验证密钥及随机数进行加密,将两次加密获得的密文封装入域许可,可以实现域许可密钥的封装过程,并提高域许可密钥的安全性。将第一域的域许可转移给第二域的设备后,第二域的设备用本域的域密钥重新对域许可密钥进行封装,实现了域许可在不同域间的转移。
本发明实施例中一种通信系统的结构如图2所示,包括多个通信设备200,其中,各通信设备用于用域密钥对内容加密密钥和消息验证密钥进行加密,获得第一密文,并将该第一密文封装入域许可。各通信设备可以位于同一域中,也可以位于不同的域中,各通信设备之间可以进行域许可的转移。
通信设备200可以是终端设备、许可服务器,也可以是域内的服务实体,如导入设备等。本发明实施例中,一种通信设备的结构如图3所示,包括加密单元300、封装单元301;其中,加密单元300用于用本域的域密钥对内容加密密钥和消息验证密钥进行加密,获得第一密文;封装单元301用于将加密单元300加密所得的第一密文封装入域许可。
本发明实施例中一种域许可密钥封装的处程流程如图4所示,包括:
步骤400、用域密钥对内容加密密钥和消息验证密钥进行加密,获得第一密文;
步骤401、将第一密文封装入域许可。
图4所示处理流程只需对域许可密钥进行一次封装,实现简单。
域许可密钥封装方式如表1所示,其中CEK、K_MAC值均取128位长:
表1域许可密钥封装方式
Figure A20071011236200111
其中,CEK(Content Encryption Key)为加密数字内容的密钥,即内容加密密钥;K_MAC(MAC key)为消息验证密钥,用于RO的完整性验证;KD为域密钥,设备可以通过加入域获得。
即,对域许可进行密钥封装如下(其中,Encrypt表示加密):
C1=Encrypt(KD,KMAC|KCEK)
实施例中,可以先将内容加密密钥和消息验证密钥进行联接,获得第一联接值KMAC|KCEK,用域密钥对第一联接值KMAC|KCEK进行加密,获得第一密文C1;再将第一密文C1封装入域许可中。
设备接收到域许可后,对许可中所封装的密钥进行解密(其中,Decrypt表示解密):
KMAC|KCEK=Decrypt(KD,C1)
实施例中,可以先从域许可中提取出第一密文C1,用域密钥对第一密文C1进行解密,获得第一联接值KMAC|KCEK;然后根据KMAC和KCEK的位长,从第一联接值KMAC|KCEK中分别提取出KMAC和KCEK
用域密钥对内容加密密钥和消息验证密钥进行加密时,可以采用对称加密算法AES(Advanced Encryption Standard),当然也可以采用其它的加密算法,例如:DES-64算法。由于对称加密算法通常是块加密,而块数据是有长度限制的,因此,加密时,并不一定将加密数据(KMAC和KCEK)通过一次加密运算完成,例如,可以将加密数据分块后,分别对每块数据进行加密,而后将加密输出的密文联接成为输出第一密文C1。
另外,为了防止已知明文攻击,本发明实施例中,需要对加密算法Encrypt-algorithm或算法模式进行选择,如采用AES-CTR,AES-WRAP等算法进行加密。又如,直接采用AES-128进行加密,即分别对128bit加密数据加密输出其密文,此时每块数据的加密过程并不关联,可以直接得到KMAC和KCEK的明文/密文对。
本发明实施例中,在域许可中封装消息验证密钥以便于对域许可进行完整性验证,当然,也可以采用数字签名对域许可进行完整性验证。比较而言,MAC验证计算复杂性低,计算延时小。而数字签名具有不可否认性,但若对整个域许可进行数字签名,则计算量较大;若仅对域许可的HMAC值进行数字签名,这样既具有不可否认性及可实现完整性保护,计算量在对整个域许可进行数字签名的基础上也相对降低。因此,本发明实施例优选在域许可中封装MAC密钥。
另外,依据安全的基本思想,设备不提供非必要信息,这样可以减少被攻击的可能性,保障最大的安全。在进行域许可的转移时,域密钥是不可公开且安全要求高的数据。一旦域密钥公开,将会使该域所有相关域许可被破解,这将对运营商造成巨大的损失。
为了防止已知明文的攻击,提高域许可密钥的安全性,用域密钥对内容加密密钥和消息验证密钥进行加密时可以包括:用域密钥对内容加密密钥、消息验证密钥、及随机数进行加密,获得第一密文。此时,域许可密钥封装方式如表2所示:
表2域许可密钥封装方式
其中,Z为一随机数,CEK为内容加密密钥,K_MAC为消息验证密钥,KD为域密钥。
即,对域许可进行密钥封装如下:(其中,Encrypt表示加密):
C1=Encrypt(KD,Z|KMAC|KCEK)
实施中,可以先将内容加密密钥和消息验证密钥进行联接,获得第二联接值Z|KMAC|KCEK,再用域密钥对第二联接值Z|KMAC|KCEK进行加密,获得第一密文C1,后续将加密所得第一密文C1封装入域许可中。
设备接收到域许可后,对许可中所封装的密钥进行解密(其中,Decrypt表示解密):
Z|KMAC|KCEK=Decrypt(KD,C1)
实施中,可以先从域许可中提取出第一密文C1,用域密钥对第一密文C1进行解密,获得第二联接值Z|KMAC|KCEK,后续可以根据Z、KMAC和KCEK的位长,从第二联接值Z|KMAC|KCEK中分别提取出Z、KMAC和KCEK
域许可的接收设备需要对域许可进行完整性验证,即需要获知KMAC;需要使用其中的权限,即需要获知KCEK;而对称加密算法的特性在于加密与解密的密钥是同一密钥,因此,对于一般加密过程A=AES(Key,B),若已知密文A及明文B,则可以对加密的密钥Key进行已知明文的攻击。与未知明文的攻击相比,已知明文的攻击强度有数量级的减弱。
实施中,若第一密文C1是对Z、CEK、K_MAC三值的联接值进行加密的密文,这样设备在获取到第一密文C1后,即使获取了CEK、K_MAC的明文,得到其明文/密文对,也无法对KD进行已知明文的攻击。而只有同时获取了Z、CEK、K MAC三者的明文,才可对KD进行已知明文的攻击。
当然,为增强攻击的难度,可以增加密钥的长度,也可以采用较强的加密算法,如采用AES-256这种长密钥且相对更先进的算法。但密钥长度或是加密算法的复杂度对解密设备提出了较高的要求,很多设备并不支持。
而相对较短的对称密钥,或是相对较弱的加密算法(如DES-64算法),对其的已知明文的攻击是现实可实现的。因此,本发明实施例的优选实施中,在对内容加密密钥的加密封装方法中引入了随机数Z。当然,若是采用较强的加密算法如AES-256,其针对已知明文攻击当前已是足够安全,则可以不用封装Z。
基于同一发明构思,本发明实施例还提供一种域许可转移的方法,其处理流程如图5所示,包括:
步骤500、第一域的设备将域RO及K_MAC、CEK传送给第二域的设备;域RO与K_MAC、CEK可通过不同的步骤完成传送过程。一般的,双方设备可以建立安全通道(SAC,Secure Authenticated Channel)来实现安全传送,或发送设备可以用接收设备的公钥对域RO及K_MAC、CEK加密后发至收设备。
步骤501、第二域的设备利用K_MAC对接收到的域RO进行完整性验证。
步骤502、第二域的设备用本域的域密钥重新对CEK执行密钥封装;并完成域RO的封装过程,其中包括用本域的域密钥对内容加密密钥及消息验证密钥进行加密,获得第二密文C2(与第一密文C1封装方式相同);将第二密文C2封装入域许可,这样就为本域生成一个新的域RO,本域的设备即可使用该域RO。
图5所示流程中,第一域的设备向第二域的设备传送的消息验证密钥用于第二域的设备对接收的域许可进行完整性验证。第二域的设备在用本域的域密钥对内容加密密钥及消息验证密钥进行加密时,其中所加密的消息验证密钥是新生成的域RO中所封装的消息验证密钥,其可以是原域许可中所采用的消息验证密钥,也可以是新的消息验证密钥。另外,若域许可为有状态许可,在传送域许可时,还可以传送域许可的状态信息。
下面给出一个域许可转移的具体实例。
假设现有两个DRM终端,DRM Agentl与DRM Agent2。其中,DRM Agentl属于域Domain-XYZ-001,其域密钥为KD1;DRM Agent2属于域Domain-UVW-001,其域密钥为KD2。域许可密钥封装方式如表4所示,其中Z、K MAC、CEK均为128位随机数。封装如下:
C1=Encrypt(KD,Z|KMAC|KCEK)
现DRM Agentl将一个域Domain-XYZ-001的域RO(RO1)转移给DRMAgent2,DRM Agent2接收到RO1后,解析出CEK及可用当前权限,重新封装生成新的域RO(RO2)。
RO1中密钥封装如下:
<encKey Id=″Z and K_MAC_and_K_CEK″>
      <xenc:EncryptionMethod
       Algorithm=″http://www.w3.org/2001/04/xmlenc#kw-aes128″/>
      <ds:KeyInfo>
        <roap:domainID>Domain-XYZ-001</roap:domainID>
      </ds:KeyInfo>
      <xenc:CipherData>
        <xenc:CipherValue>XXXXXXXXXX</xenc:CipherValue>
      </xenc:CipherData>
</encKey>
如图6所示,该具体实例中,域许可转移的处理流程包括:
步骤600、DRM Agent1向DRM Agent2发送许可请求消息RO Request,该消息承载有一个域RO(RO1)及其状态信息ESF、该RO的K_MAC值、该RO的标识、该RO对应的内容标识。为了对整个消息进行完整性保护,DRMAgent1可以用本设备的私钥对该消息进行数字签名。RO Request消息的内容如表3所示:
表3许可请求消息参数定义Parameters ofRO Request
  参数Parameters  保护要求Protection Requirement   含义Description
  RO  完整性和加密Integrity&Confidentiality   许可对象
  K_MAC  Integrity   完整性验证密钥
  ESF  Integrity   状态信息
  ROID  Integrity   RO的标识
  LCID  Integrity   RO所对应内容的标识
步骤601、DRM Agent2接收到DRM Agent1发来的RO Request消息后,用DRMAgent1的公钥验证该消息的数字签名。若签名验证通过,则证明该消息是完整的。
对于域许可中<rights>信息,DRMAgent2计算出其HASH值,再利用所述消息验证密钥K_MAC对HASH值加密获得HMAC值,再与该域许可中所封装的HMAC值进行比对,若一致则域RO完整性验证通过。
消息验证及域RO验证通过后,DRM Agent2在许可响应消息RO Response中返回成功状态信息;否则返回错误状态信息。RO Response消息的内容如表4所示:
表4许可响应消息参数定义Parameters of RO Response
  参数Parameters   保护要求Protection Requirement   含义Description
  Status   完整性Integrity   状态信息,表示请求是否处理成功
步骤602、DRM Agent1接收到DRM Agent2发来的RO Response消息。若返回成功的状态信息,则将RO1从本地删除。否则,放弃本次域RO转移流程。
步骤603、DRM Agent1向DRM Agent2发送许可解封请求消息ROUnsealRequest,该消息承载有该域RO中封装的CEK。DRM Agent1用本设备的私钥对该消息进行数字签名。ROUnsealRequest消息的内容如表5所示:
表5许可解封请求消息参数定义Parameters ofROUnsealRequest
  参数Parameters  保护要求Protection Requirement   含义Description
  ROID  完整性Integrity   RO的标识
  CEK  完整性和加密Integrity&Confidentiality   内容加密密钥
步骤604、DRM Agent2接收到DRM Agent1发来的ROUnsealRequest消息后,用DRM Agent1的公钥验证该消息的数字签名。若签名验证通过,则证明该消息是完整的。在许可解封响应ROUnsealResponse消息中返回成功的状态信息,否则返回错误的状态信息。ROUnsealResponse消息的内容如表6所示:
表6许可解封响应消息参数定义Parameters of ROUnsealResponse
  参数Parameters   保护要求Protection Requirement   含义Description
  Status   完整性Integrity   状态信息,表示请求是否处理成功
步骤605、DRM Agent2用本域的域密钥KD2对CEK重新封装,生成一新的域RO(RO2)。
DRMAgent2新生成的域RO(RO2)中密钥封装如下:
<encKey Id=″Z and K_MAC_and_K_CEK″>
      <xenc:EncryptionMethod
       Algorithm=″http://www.w3.org/2001/04/xmlenc#kw-aes128″/>
      <ds:KeyInfo>
        <roap:domainID>Domain-UVW-001</roap:domainID>
      </ds:KeyInfo>
      <xenc:CipherData>
        <xenc:CipherValue>YYYYYYYYYY</xenc:CipherValue>
      </xenc:CipherData>
</encKey>
步骤606、DRMAgent2删除本地存有的从步骤600中接收到的RO1。
其中,步骤605与步骤606可互换次序。
基于同一发明构思,本发明实施例还提供一种通信设备,其结构如图7所示,包括:接收单元700、加密单元701、封装单元702;其中,接收单元700,用于接收其它域的域许可及对应的内容加密密钥;加密单元701,用于用本域的域密钥对所述内容加密密钥进行加密,获得第二密文;封装单元702,用于将所述第二密文封装入域许可。
本发明实施例中,域许可密钥封装的另一实施方式为:用许可加密密钥对内容加密密钥进行加密,用域密钥对许可加密密钥、消息验证密钥及随机数进行加密,将两次加密获得的密文封装入域许可。本实施例中一种通信系统的结构与图2所示通信系统的结构相同,同样包括多个通信设备200,但本实施例中,各通信设备用于用许可加密密钥对内容加密密钥进行加密,获得第三密文;用域密钥对许可加密密钥、消息验证密钥及随机数进行加密,获得第四密文;将第三密文和第四密文封装入域许可。同样的,各通信设备可以位于同一域中,也可以位于不同的域中,各通信设备之间可以进行域许可的转移。同样的,可以采用对称加密算法进行加密。
本实施例中,通信设备200同样可以是终端设备、许可服务器,也可以是域内的服务实体,如导入设备等。一种通信设备的结构如图8所示,包括第一加密单元800、第二加密单元801、封装单元802;其中,第一加密单元800,用于用许可加密密钥对内容加密密钥进行加密,获得第三密文;第二加密单元801,用于用本域的域密钥对许可加密密钥、消息验证密钥及随机数进行加密,获得第四密文;封装单元802,用于将第三密文和第四密文封装入域许可。
一种实施例中,域许可密钥封装的处程流程如图9所示,包括:
步骤900、用许可加密密钥对内容加密密钥进行加密,获得第三密文C3;
步骤901、用域密钥对许可加密密钥、消息验证密钥和随机数进行加密,获得第四密文C4;
步骤902、将第三密文C3和第四密文C4封装入域许可。
图9所示处理流程需要对域许可密钥进行两次封装,但由于加密过程中引入了随机数,因此与图4所示处理流程相比,提高了域许可密钥的安全性。
其中,域许可密钥封装方式如表7所示,其中CEK、Z、REK(RightsEncryption Key,加密CEK的密钥,即许可加密密钥)、K_MAC值均取128位长:
表7域许可密钥封装方式
Figure A20071011236200191
即,对域许可进行密钥封装如下(其中,Encrypt表示加密):
C3=Encrypt(KREK,KCEK)
C4=Encrypt(KD,Z|KMAC|KREK)
实施中,可以先将CEK用REK加密获得第三密文C3,将第三密文C3封装入域许可;再将Z、REK、K_MAC进行联接,获得第三联接值Z|KMAC|KREK,再用域密钥对第三联接值Z|KMAC|KREK进行加密,获得第四密文C4,后续将加密所得第四密文C4封装入域许可中。
设备接收到域许可后,对许可中所封装的密钥进行解密(其中,Decrypt表示解密):
Z|KMAC|KREK=Decrypt(KD,C4)
实施中,可以先从域许可中提取出第四密文C4,用域密钥对第四密文C4进行解密,获得第三联接值Z|KMAC|KREK,后续可以根据Z、KMAC和KREK的位长,从第三联接值Z|KMAC|KREK中分别提取出Z、KMAC和KREK
然后用REK对第三密文C3进行解密,获取CEK明文。
基于同一发明构思,本发明实施例还提供一种域许可转移的方法,其处理流程如图10所示,包括:
步骤1000、第一域的设备将域RO及K_MAC传送给第二域的设备;域RO与K_MAC可通过不同的步骤完成传送过程。一般的,双方设备可以建立安全通道来实现安全传送,或发送设备可以用接收设备的公钥对域RO及K_MAC加密后发与接收设备。
步骤1001、第二域的设备利用K_MAC对接收到的域RO进行完整性验证。
步骤1002、第一域的设备将REK传送给第二域的设备。
步骤1003、第二域的设备接收到REK后,一种实现方式为直接用本域的域密钥对REK、K_MAC、Z加密,获得第五密文C5(加密方式与C4相同),将第五密文C5及原RO中的CEK密文封装入域许可,这样就为本域生成一个新的域RO,本域的设备即可使用该域RO。当然,此种实现方式的前提是,第二域的设备为本域生成新的域RO时,加密所用的REK与接收到的RO中加密所用的REK取值相等,此时无需解密CEK明文。
另一种实现方式为先用接收的REK解密出CEK明文,再用本域的域密钥重新对CEK执行密钥封装,并完成域RO的封装过程,其中包括用新的REK对解密出的CEK明文加密,获得第六密文C6(加密方式与C3相同),用本域的域密钥对新的REK、K_MAC、Z加密,获得第五密文C5(加密方式与C4相同),将第五密文C5和第六密文C6封装入域许可。这样就为本域生成一个新的域RO,本域的设备即可使用该域RO。
图10所示流程中,第一域的设备向第二域的设备传送的消息验证密钥用于第二域的设备对接收的域许可进行完整性验证。第二域的设备在用本域的域密钥对许可加密密钥、消息验证密钥、随机数进行加密时,其中加密的消息验证密钥是对新生成的域RO重新计算生成的消息验证密钥。另外,若域许可为有状态许可,在传送域许可时,还可以传送域许可的状态信息。
下面给出一个域许可转移的具体实例。
假设现有两个DRM终端,DRMAgent1与DRMAgent2。其中,DRMAgent1属于域Domain-XYZ-001,其域密钥为KD1;DRM Agent2属于域Domain-UVW-001,其域密钥为KD2。域许可密钥封装方式如表9所示,其中Z、K MAC、CEK均为128位随机数。封装如下:
C1=Encrypt(KREK,KCEK)
C2=Encrypt(KD,Z|KMAC|KREK)
现DRM Agent1将一个域Domain-XYZ-001的域RO(RO1)转移给DRMAgent2,DRM Agent2接收到RO1后,解析出CEK及可用当前权限,重新封装生成新的域RO(RO2)。
RO1中密钥封装如下:
<xenc:CipherData>
      <xenc:CipherValue>EncryptedCEK</xenc:CipherValue>
</xenc:CipherData>
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。//此处省略
<encKey Id=″Z and K_MAC_and_K_CEK″>
      <xenc:EncryptionMethod
       Algorithm=″http://www.w3.org/2001/04/xmlenc#kw-aes128″/>
      <ds:KeyInfo>
        <roap:domainID>Domain-XYZ-001</roap:domainID>
</ds:KeyInfo>
      <xenc:CipherData>
        <xenc:CipherValue>XXXXXXXXXX</xenc:CipherValue>
      </xenc:CipherData>
</encKey>
如图11所示,该具体实例中,域许可转移的过程包括:
步骤1100、DRM Agent1向DRM Agent2发送许可请求消息RO Request,该消息承载有一个域RO(RO1)及其状态信息ESF、该RO的MAC值、该RO的标识、该RO对应的内容标识。DRM Agent1可以用本设备的私钥对该消息进行数字签名。RO Request消息的内容如表3所示。
步骤1101、DRM Agent2接收到DRM Agent1发来的RO Request消息后,用DRMAgent1的公钥验证该消息的数字签名。若签名验证通过,则证明该消息是完整的。在许可响应消息RO Response中返回成功状态信息;否则返回错误状态信息。RO Response消息的内容如表4所示。
步骤1102、DRM Agent1接收到DRM Agent2发来的RO Response消息。若返回成功状态信息,则将RO1从本地删除。否则,放弃本次域RO转移流程。
步骤1103、DRM Agent1向DRM Agent2发送许可解封请求消息ROUnsealRequest,该消息承载有该域RO中封装的REK。DRM Agent1用本设备的私钥对该消息进行数字签名。ROUnsealRequest消息的内容如表8所示:
表8许可解封请求消息参数定义Parameters ofROUnsealRequest
  参数Parameters  保护要求Protection Requirement   含义Description
  ROID  完整性Integrity   RO的标识
  REK  完整性和加密Integrity&Confidentiality   许可加密密钥
步骤1104、DRM Agent2接收到DRM Agent1发来的ROUnsealRequest消息后,用DRMAgent1的公钥验证该消息的数字签名。若签名验证通过,则证明该消息是完整的。在许可解封响应ROUnsealResponse消息中返回成功状态信息,否则返回错误状态信息。ROUnsealResponse消息的内容如表6所示。
步骤1105、DRM Agent2用REK将RO1中的CEK解密出来,进而用本域的域密钥KD2对CEK重新封装,生成一新的域RO(RO2)。
DRM Agent2新生成的域RO(RO2)中密钥封装如下:
<xenc:CipherData>
      <xenc:CipherValue>EncryptedCEK</xenc:CipherValue>
</xenc:CipherData>
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。//此处省略
<encKey Id=″Z and K_MAC_and_K_REK″>
      <xenc:EncryptionMethod
       Algorithm=″http://www.w3.org/2001/04/xmlenc#kw-aes128″/>
      <ds:KeyInfo>
        <roap:domainID>Domain-UVW-001</roap:domainID>
      </ds:KeyInfo>
      <xenc:CipherData>
        <xenc:CipherValue>YYYYYYYYYY</xenc:CipherValue>
      </xenc:CipherData>
</encKey>
步骤1106、DRM Agent2删除本地存有的从步骤1100中接收到的RO1。
其中,步骤1105与步骤1106可互换次序。
基于同一发明构思,本发明实施例还提供一种通信设备,其结构如图12所示,包括接收单元1200、加密单元1201、封装单元1202;其中,接收单元1200,用于接收其它域的域许可及对应的许可加密密钥;加密单元1201,用于用本域的域密钥对许可加密密钥、消息验证密钥及随机数进行加密,获得第五密文;封装单元1202,用于将所述第五密文封装入域许可。
本发明实施例中,对域许可密钥进行封装时,其中的内容加密密钥可以为多个,此时域许可密钥封装方式可以如表9所示:
表9 域许可密钥封装方式
也可以如表10所示:
表10 域许可密钥封装方式
Figure A20071011236200242
以表9或表10进行域许可密钥封装后,域许可转移的处理流程分别与图5和图10所示流程类似。
本领域普通技术人员可以理解上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
本发明实施例中,用域密钥对内容加密密钥和消息验证密钥进行加密,将加密获得的密文封装入域许可,可以实现域许可密钥的封装过程,保证在许可传递过程中对密钥信息的安全保护,并且实现简单,实用性强;加密时还可以包括用域密钥对内容加密密钥、消息验证密钥及随机数加密,以进一步提高域许可密钥的安全性;用许可加密密钥对内容加密密钥进行加密,用域密钥对许可加密密钥、消息验证密钥及随机数进行加密,将两次加密获得的密文封装入域许可,可以实现域许可密钥的封装过程,并且可以提高域许可密钥的安全性。将第一域的域许可转移给第二域的设备后,第二域的设备用本域的域密钥重新对域许可密钥进行封装,实现了域许可在不同域间的转移。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (27)

1、一种域许可密钥的封装方法,其特征在于,该方法包括步骤:
用域密钥对内容加密密钥及消息验证密钥进行加密,获得第一密文;
将所述第一密文封装入域许可。
2、如权利要求1所述的方法,其特征在于,用域密钥对内容加密密钥及消息验证密钥进行加密包括:
将内容加密密钥与消息验证密钥进行联接,获得第一联接值;
用域密钥对所述第一联接值进行加密,获得所述第一密文。
3、如权利要求1所述的方法,其特征在于,用域密钥对内容加密密钥及消息验证密钥进行加密包括:
用域密钥对内容加密密钥、消息验证密钥及随机数进行加密,获得所述第一密文。
4、如权利要求3所述的方法,其特征在于,用域密钥对内容加密密钥、消息验证密钥及随机数进行加密包括:
将内容加密密钥、消息验证密钥及随机数进行联接,获得第二联接值;
用域密钥对所述第二联接值进行加密,获得所述第一密文。
5、如权利要求1至4任一项所述的方法,其特征在于,所述内容加密密钥为一个或多个。
6、如权利要求5所述的方法,其特征在于,采用对称加密算法进行所述加密。
7、一种域许可的转移方法,其特征在于,该方法包括步骤:
第二域的设备接收第一域的设备提供的域许可及对应的内容加密密钥;
所述第二域的设备用本域的域密钥对所述内容加密密钥进行加密,获得第二密文;
所述第二域的设备将所述第二密文封装入域许可。
8、如权利要求7所述的方法,其特征在于,所述第二域的设备用本域的域密钥对所述内容加密密钥进行加密包括:所述第二域的设备用本域的域密钥对所述内容加密密钥及消息验证密钥进行加密,获得所述第二密文。
9、如权利要求8所述的方法,其特征在于,所述第二域的设备用本域的域密钥对所述内容加密密钥及消息验证密钥进行加密包括:所述第二域的设备用本域的域密钥对所述内容加密密钥、消息验证密钥及随机数进行加密,获得所述第二密文。
10、如权利要求7所述的方法,其特征在于,所述第二域的设备接收所述第一域的设备提供的域许可时,还接收所述第一域的设备提供的所述域许可的消息验证密钥;所述第二域的设备接收到所述域许可及所述消息验证密钥后,用所述消息验证密钥验证所述域许可的完整性。
11、如权利要求7所述的方法,其特征在于,所述第二域的设备接收所述第一域的设备提供的域许可时,还接收所述第一域的设备提供的所述域许可的状态信息。
12、如权利要求7至11任一项所述的方法,其特征在于,所述内容加密密钥为一个或多个。
13、如权利要求12所述的方法,其特征在于,采用对称加密算法进行所述加密。
14、一种域许可密钥的封装方法,其特征在于,该方法包括步骤:
用许可加密密钥对内容加密密钥进行加密,获得第三密文;
用域密钥对所述许可加密密钥、消息验证密钥及随机数进行加密,获得第四密文;
将所述第三密文和所述第四密文封装入域许可。
15、如权利要求14所述的方法,其特征在于,用域密钥对所述许可加密密钥、消息验证密钥及随机数进行加密包括:
将所述许可加密密钥、消息验证密钥及随机数进行联接,获得第三联接值;
用域密钥对所述第三联接值进行加密,获得所述第四密文。
16、如权利要求14或15所述的方法,其特征在于,所述内容加密密钥为一个或多个。
17、如权利要求16所述的方法,其特征在于,采用对称加密算法进行所述加密。
18、一种域许可的转移方法,其特征在于,该方法包括步骤:
第二域的设备接收第一域的设备提供的域许可及对应的许可加密密钥;
所述第二域的设备用本域的域密钥对许可加密密钥、消息验证密钥及随机数进行加密,获得第五密文;
所述第二域的设备将所述第五密文封装入域许可。
19、如权利要求18所述的方法,其特征在于,所述第二域的设备用本域的域密钥对许可加密密钥、消息验证密钥及随机数进行加密是指:
所述第二域的设备用本域的域密钥对从所述第一域的设备接收的许可加密密钥、所述消息验证密钥及所述随机数进行加密,获得所述第五密文;
或,所述第二域的设备用本域的域密钥对新的许可加密密钥、所述消息验证密钥及所述随机数进行加密,获得所述第五密文。
20、如权利要求19所述的方法,其特征在于,所述第二域的设备用本域的域密钥对新的许可加密密钥、所述消息验证密钥及所述随机数进行加密,获得所述第五密文时,还包括:
所述第二域的设备用从所述第一域的设备接收的许可加密密钥解密出内容加密密钥,并用新的许可加密密钥加密所述内容加密密钥,获得第六密文;所述第二域的设备将所述第六密文封装入域许可。
21、如权利要求18所述的方法,其特征在于,所述第二域的设备接收所述第一域的设备提供的域许可时,还接收所述第一域的设备提供的所述域许可的消息验证密钥;所述第二域的设备接收到所述域许可及所述消息验证密钥后,用所述消息验证密钥验证所述域许可的完整性。
22、如权利要求18所述的方法,其特征在于,所述第二域的设备接收所述第一域的设备提供的域许可时,还接收所述第一域的设备提供的所述域许可的状态信息。
23、一种通信设备,其特征在于,包括:
加密单元,用于用本域的域密钥对内容加密密钥及消息验证密钥进行加密,获得第一密文;
封装单元,用于将所述第一密文封装入域许可。
24、如权利要求23所述的设备,其特征在于,所述加密单元用域密钥对内容加密密钥及消息验证密钥进行加密包括:用域密钥对内容加密密钥、消息验证密钥及随机数进行加密,获得所述第一密文。
25、一种通信设备,其特征在于,包括:
接收单元,用于接收其它域的域许可及对应的内容加密密钥;
加密单元,用于用本域的域密钥对所述内容加密密钥进行加密,获得第二密文;
封装单元,用于将所述第二密文封装入域许可。
26、一种通信设备,其特征在于,包括:
第一加密单元,用于用许可加密密钥对内容加密密钥进行加密,获得第三密文;
第二加密单元,用于用本域的域密钥对所述许可加密密钥、消息验证密钥及随机数进行加密,获得第四密文;
封装单元,用于将所述第三密文和所述第四密文封装入域许可。
27、一种通信设备,其特征在于,包括:
接收单元,用于接收其它域的域许可及对应的许可加密密钥;
加密单元,用于用本域的域密钥对许可加密密钥、消息验证密钥及随机数进行加密,获得第五密文;
封装单元,用于将所述第五密文封装入域许可。
CN200710112362XA 2007-06-11 2007-06-11 域许可密钥的转移方法及设备 Active CN101325486B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710112362XA CN101325486B (zh) 2007-06-11 2007-06-11 域许可密钥的转移方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710112362XA CN101325486B (zh) 2007-06-11 2007-06-11 域许可密钥的转移方法及设备

Publications (2)

Publication Number Publication Date
CN101325486A true CN101325486A (zh) 2008-12-17
CN101325486B CN101325486B (zh) 2012-04-25

Family

ID=40188839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710112362XA Active CN101325486B (zh) 2007-06-11 2007-06-11 域许可密钥的转移方法及设备

Country Status (1)

Country Link
CN (1) CN101325486B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102725995A (zh) * 2010-01-28 2012-10-10 英特尔公司 至少部分地在节点之间建立安全通信信道以至少部分地允许节点之间至少部分地执行的经加密通信的检查
CN104202166A (zh) * 2014-09-15 2014-12-10 成都博智维讯信息技术有限公司 一种erp系统数据加密方法
CN108401000A (zh) * 2017-02-07 2018-08-14 联想企业解决方案(新加坡)有限公司 用于通信网络中的权利转移的方法和装置
US11695777B2 (en) * 2019-02-26 2023-07-04 Vmware, Inc. Hybrid access control model in computer systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100493900B1 (ko) * 2003-08-21 2005-06-10 삼성전자주식회사 사용자간 콘텐츠에 대한 권한정보의 공유방법
US7860802B2 (en) * 2005-02-01 2010-12-28 Microsoft Corporation Flexible licensing architecture in content rights management systems

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102725995A (zh) * 2010-01-28 2012-10-10 英特尔公司 至少部分地在节点之间建立安全通信信道以至少部分地允许节点之间至少部分地执行的经加密通信的检查
US8873746B2 (en) 2010-01-28 2014-10-28 Intel Corporation Establishing, at least in part, secure communication channel between nodes so as to permit inspection, at least in part, of encrypted communication carried out, at least in part, between the nodes
CN102725995B (zh) * 2010-01-28 2015-02-25 英特尔公司 在节点之间建立安全通信信道的装置、设备及执行方法
CN104202166A (zh) * 2014-09-15 2014-12-10 成都博智维讯信息技术有限公司 一种erp系统数据加密方法
CN104202166B (zh) * 2014-09-15 2018-01-16 成都博智维讯信息技术有限公司 一种erp系统数据加密方法
CN108401000A (zh) * 2017-02-07 2018-08-14 联想企业解决方案(新加坡)有限公司 用于通信网络中的权利转移的方法和装置
US11695777B2 (en) * 2019-02-26 2023-07-04 Vmware, Inc. Hybrid access control model in computer systems

Also Published As

Publication number Publication date
CN101325486B (zh) 2012-04-25

Similar Documents

Publication Publication Date Title
CN1708942B (zh) 设备特定安全性数据的安全实现及利用
EP1606905B1 (en) Protected return path from digital rights management dongle
CN1820482B (zh) 产生并管理局域网的方法
CN102333236B (zh) 视频内容的加解密系统
CN1997953B (zh) 用于保护移动应用中数字内容的方法和设备
EP2461564A1 (en) Key transport protocol
CN105100076A (zh) 一种基于USB Key的云数据安全系统
CN104221023A (zh) 数字权利管理
CN111970114B (zh) 文件加密方法、系统、服务器和存储介质
CN103198261A (zh) 保护文件内容安全的方法和系统
CN101539977B (zh) 一种计算机软件保护方法
CN104660590A (zh) 一种文件加密安全云存储方案
CN104239808A (zh) 数据加密传输方法及装置
KR20120042469A (ko) 부가 정보와 암호키 결합을 이용한 콘텐츠 보호 장치 및 그 방법
CN101883102A (zh) 生成链路的方法
CN101118579B (zh) 一种验证域许可的方法及系统
CN101325486B (zh) 域许可密钥的转移方法及设备
CN100410829C (zh) 对访问基于计算机的对象进行授权
CN105191332A (zh) 用于在未压缩的视频数据中嵌入水印的方法和设备
KR101262844B1 (ko) 네트워크 접근제어를 위한 원격검침데이터 중계장치 및 방법
CN101902610B (zh) 实现iptv机顶盒和智能卡间安全通信的方法
CN101539978B (zh) 基于空间的软件保护方法
CN102694645A (zh) 一种地理空间数据安全保障方法及装置
CN101478538B (zh) 管理安全设备的存储方法、装置或系统
CN111541652B (zh) 一种用于提高秘密信息保管及传递安全性的系统

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