CN102224703B - 发行许可的方法、装置和*** - Google Patents

发行许可的方法、装置和*** Download PDF

Info

Publication number
CN102224703B
CN102224703B CN2009801471644A CN200980147164A CN102224703B CN 102224703 B CN102224703 B CN 102224703B CN 2009801471644 A CN2009801471644 A CN 2009801471644A CN 200980147164 A CN200980147164 A CN 200980147164A CN 102224703 B CN102224703 B CN 102224703B
Authority
CN
China
Prior art keywords
license
content
information
key
publisher
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
CN2009801471644A
Other languages
English (en)
Other versions
CN102224703A (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
Publication of CN102224703A publication Critical patent/CN102224703A/zh
Application granted granted Critical
Publication of CN102224703B publication Critical patent/CN102224703B/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
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Power Engineering (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种发行许可的方法、装置和***,所述发行许可的方法包括:内容发行者接收许可发行者协助生成许可的请求,内容发行者根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码;将生成的消息验证码和得到的封装密钥发送给所述许可发行者,以使得所述许可发行者将包含所述消息验证码和所述封装密钥的许可发送给目的实体。本发明提供的技术方案能够实现内容发行者对许可发行者发行许可的有效控制。

Description

发行许可的方法、装置和***
技术领域
本发明涉及数字版权保护技术领域,尤其涉及一种发行许可的方法、装置和***。
背景技术
数字版权管理(Digital Rights Management,DRM)主要通过权利限制和内容保护方案控制数字内容的使用,保护内容所有者的合法权益。数字内容的发行者(Content Issuer,CI)或提供者(Content Provider,CP)将数字内容加密后,用户将加密的数字内容数据包下载到目的实体上;许可发行者(Rights Issuer,RI/License Server)负责为内容数据包发放对应的许可,许可中包括内容解密密钥及对应的权限。目的实体只有同时拥有内容数据包和许可,才能正常使用数字内容。
发明内容
本发明的一个实施例提供了一种发行许可的方法,包括:
内容发行者接收许可发行者协助生成许可的请求;
内容发行者根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码;
内容发行者将生成的消息验证码和得到的封装密钥发送给所述许可发行者,以使得所述许可发行者将包含所述消息验证码和所述封装密钥的许可发送给目的实体。
本发明的另一个实施例提供了一种内容发行设备,包括:
请求接收单元,用于接收许可发行者协助生成许可的请求;
协助单元,用于根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码;
响应发送单元,用于将所述协助单元生成的消息验证码和得到的封装密钥发送给所述许可发行者,以使得所述许可发行者将包含所述消息验证码和所述封装密钥的许可发送给目的实体。
本发明的再一个实施例提供了一种许可发行设备,包括:
请求发送单元,用于向内容发行者发送协助生成许可的请求;
响应接收单元,用于接收所述内容发行者根据所述请求发送单元,使用目的实体的密钥封装内容相关的信息得到的封装密钥,和对许可的部分信息生成的消息验证码;
许可发送单元,用于将包含所述响应接收单元接收的消息验证码和封装密钥的许可发送给目的实体。
本发明的再一个实施例提供了一种发行许可的***,包括:
内容发行者,用于接收许可发行者协助生成许可的请求,根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码;将所述生成的消息验证码和所述得到的封装密钥发送给所述许可发行者;
许可发行者,用于向内容发行者发送所述协助生成许可的请求;接收所述内容发行者发送的所述消息验证码和所述封装密钥;将包含所述消息验证码和所述封装密钥的许可发送给目的实体。
通过本发明实施例提供的上述技术方案可知,内容发行者根据许可发行者的协助生成许可的请求,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码,由所述许可发行者将包含所述消息验证码和所述封装密钥的许可发送给目的实体,由于许可发行者无法解密封装密钥,从而保证封装密钥对许可发行者的机密性,并且由于消息验证码对许可的部分信息进行了完整性保护,有效防范了许可发行者篡改包括权限信息的许可内的信息,以及有效防范了许可发行者伪造许可,因此实现了内容发行者对许可发行者发行许可的有效控制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种发行许可***架构示意图;
图2是本发明实施例提供的一种发行许可***拓扑结构示意图;
图3是本发明实施例提供的一种发行许可***内部功能模块结构示意图;
图4是本发明实施例提供的一种发行许可的方法流程示意图;
图5为图4中内容发行代理的相应处理流程示意图;
图6为本发明实施例提供的另一种发行许可的方法流程示意图;
图7为本发明实施例采用发行者许可进行控制的流程示意图;
图8为本发明实施例提供的再一种发行许可的方法流程示意图;
图9为本发明实施例提供的统计发行许可状态的方法流程示意图;
图10为图9中内容发行代理的相应处理流程示意图;
图11为本发明实施例提供的Marlin***中内容和许可的组成结构图;
图12为本发明实施例提供的又一种发行许可的方法流程示意图;
图13为本发明实施例提供的另一种发行许可***的架构示意图;
图14为图13***下提供的一种发行许可的方法流程示意图;
图15为本发明实施例提供的发行许可的方法流程图;
图16为本发明实施例提供的内容发行装置的一种结构示意图;
图17为图16提供的协助单元的一种结构示意图;
图18为本发明实施例提供的许可发行装置的一种结构示意图;
图19为本发明实施例提供的许可发行***的一种组成示意图。
具体实施方式
下面结合附图和具体实施例对本发明提供的技术方案进行说明,可以理解的是,本发明实施例只是举例,并不用以限制本发明的保护范围,本发明的保护范围由权利要求书确定。
在实现本发明过程中,发明人研究发现:现有的数字版权保护***中,当CI和RI分别属于不同的商业实体时,或者分别属于集团总公司和下属子公司时,CI不能从RI获知数字内容的准确的发行情况,包括:使用用户、许可包含的权限信息等等,这对CI所属的商业实体的管理非常不利,使其无法按照数字内容实际发行情况进行计费或者作为制定商业合同的参考,无法对RI进行有效的控制或者监督管理,从而无法充分保护自身的利益。
本发明实施例通过让CI参与到RI封装、发行许可的过程中去,CI负责封装许可的关键部分,RI负责发行这个许可,从而实现CI控制RI发行许可。为了满足部署实施的灵活性,以及及时响应RI请求等需求,将CI根据功能模块划分为CI Server(CI服务器)和CI Agent(CI客户端代理),CI Server部署在CI本地局域网,CI Agent则可以部署到RI所在的局域网。基于安全性、可控可管等多种因素考虑CI Agent优选部署方案为安装在独立的机器上或者逻辑独立的虚拟机上。本发明的***架构图如图1所示。
在上述***架构图中,CI拥有对CI Server和CI Agent的完全控制权和管理权,CI Server可以部署在CI处,而CI Agent则可以根据业务需要部署到不同RI处。当然,也可以根据支持不同RI业务的需要,对相应的CI Agent进行某种程度的定制或者修改。而如果网络情况及处理性能等均能满足RI业务需求的话,也不排除将CI Agent和CI Server部署在同一处。或者,CI也可以将CI Server和CI Agent进行合设,由同一个模块来提供CI Server和CI Agent的全部功能。部署方案可以为一个集中式的后台CI Server,连接若干个CI Agent前端代理,其拓扑结构图如图2所示。
CI Server作为CI的核心,保存着该CI所拥有的所有数字内容及其相应的内容加密密钥CEK(Content Encryption Key)信息,和关联RI建立的商业联系及业务策略、规则等,以及管理所有CI Agent的相关信息。CI Server和CI Agent可以通过专网或者虚拟专用网VPN保护两者之间的数据通讯;可选的,也能够通过构造保护消息对数据进行保护。CI Agent作为部署到某个具体RI处的代理机构,可以只存储与该关联RI业务相关的部分内容及其相应的CEK,以及和该RI相关的业务策略、规则等。它们的功能模块结构示意图如图3所示。
CI Server和CI Agent之间可能存在如下一系列的交互联系:
1、注册和启用:CI Agent需要注册到CI Server,在相互认证通过后交换一些必要的信息,以及建立供后续通讯使用的安全验证通道(Secure AuthenticatedChannel,SAC)等。CI Server也可规定CI Agent只有在被激活后才能够正常启用,CI Agent向CI Server发出启用请求,CI Server通过启用响应消息激活CIAgent。
CI Agent注册到CI Server并需要激活才能启用,有利于实现对CI Agent的管理。CI Server甚至能在后续锁定CI Agent,使之暂停或停止运作。
2、内容CEK的获取:由于CI Agent可能仅存储部分内容的CEK,所以在CI Server增加新的数字内容之后,需要及时触发CI Agent进行更新;或者设定CI Agent定期向CI Server请求是否有内容增加而需要更新,这个时间期限可以通过CI Agent配置来确定,或者使用更新策略等确定。
CI Server可以选择增量更新或者全部更新的方式,优选方案为增量更新。CI Server将自上次更新以后发生更新的内容标识CID及其CEK绑定到CIAgent,并封装在响应消息中返回给CI Agent;如果没有更新发生则在响应消息中无需包括任何CID及其CEK。CI Agent接到响应消息后进行处理,如果有新增内容的CEK,则更新到自己的局部业务和内容数据库中。
3、许可发行控制信息的获取:CI Agent通过业务控制模块和许可发行控制信息来控制RI发行许可,而许可发行控制信息则由CI Server提供给CI Agent。许可发行控制信息可以基于与相关RI的商业联系或合同等制定的许可发行策略、规则或者采用发行者许可(Issuer RO,IRO)等方式。而如果CI Agent基于IRO控制RI进行许可发放的话,则CI Agent将作为IRO机制的DRM客户端,CI Server向其发行IRO;CI Agent每次为RI生成一个许可后,都将消费掉IRO的相应权限。
当CI Server端的许可发行控制信息发行变化时,需要主动触发CI Agent来获取;或者由CI Agent定期向CI Server提交许可发行控制信息请求消息,这个时间期限可以通过CI Agent配置的确定,或者使用策略等确定,或者在IRO消费完之后由CI Agent及时向CI Server请求新的IRO。CI Server根据请求返回相应的许可发行控制信息。
4、CI Agent向CI Server上报许可发行统计信息:CI为了便于掌握了解某个RI处的内容销售情况,可以让CI Server触发CI Agent上报许可发行统计信息,或者由CI Agent定期向CI Server上报许可发行统计信息,这个时间期限可以通过CI Agent配置的确定,或者使用上报策略来确定。可以上报累计数据,或者分类统计数据;可以实行总量上传,或者只是增量上传。同样,CI Server可以通过配置或者策略等,规定CI Agent是否需要在上报统计数据成功后删除所述已上报数据。如果CI Agent采用的是IRO方案,也可以不用上报统计信息,CI Server基于IRO自行统计。
5、安全检验、更改配置或者功能模块升级:CI Server为了确保部署在RI处的CI Agent的安全性和正确性,可以对CI Agent进行安全性检验如年检等,这可以通过诸如远程登录或远征桌面、远程证明(Remote Attestation)、功能有效性验证等不同方式。此外,CI Server可以在需要更改CI Agent配置或者CIAgent某些功能模块需要升级时触发CI Agent进行相应处理。
上述图1的***架构图中CI Server和CI Agent之间使用虚线连接,表示它们可以不用一直保持网络连接,甚至可以完全没有连接机制。这样的话,CIServer和CI Agent之间也可能采用带外(out-of-band)的方式进行必要的操作如激活启用、安全检验、CI Agent更改配置以及数据传递,例如使用光盘或者移动设备等,把新增内容的信息如CID及其CEK等、许可发行控制信息如许可发行策略、规则或者IRO的更新提供给CI Agent,或者从CI Agent处收集获取许可发行统计信息。
CI Agent和RI服务器之间需要建立及时可靠的连接,由CI Agent充当服务器角色,响应RI的请求,控制并协助RI发行许可。它们之间的交互协议和流程示意图如图4所示。该流程的操作步骤简要描述如下:
初始化步骤:在CI Agent和RI正式进行业务联系之前,可能需要先完成注册或者双向身份认证,并在此基础上建立起安全通道(当然也可以通过预设共享密钥和算法或者安全套接层协议层(Secure Socket Layer,SSL)等方案建立安全通道),保障后续的通讯会话。
流程触发事件:RI收到用户为其设备生成许可的请求,或者由***触发为某订阅用户在一段时期内定期为其设备生成许可,或者由于其他原因,都可能触发以下流程;
步骤41,RI向CI Agent发出协助生成许可的请求(Cooperate-RORequest)消息,该请求消息中包括如下参数:
表1 Cooperate-RORequest消息参数
Figure BDA0000063769200000071
在上述表1的Status栏中,值为“M”代表Mandatory,是必须包含;而值为“O”则代表Optional,可以包含这一项。后面表格的解释与此相同。
RI构造请求消息包括:把相应的请求的内容标识CID、请求的权限等封装到一个<Rights>元素内,但并不包括<EncryptedCEK>元素(可选的,RI并不封装成<Rights>元素,而是只提供CID和权限等信息),此外,RI还将把设备证书链,也可以附带用于验证设备证书链有效性的在线证书状态协议OCSP(OnlineCertificate Status Protocol)响应或者证书作废列表CRL(Certificate RevocationList),或者仅仅设备的ID,和请求设备协商的支持算法信息、为该许可分配的roID等属性信息,以及RI是否需要为该许可签名的指示信息,对请求消息的签名或MAC值等,如果RI和CI Agent之间没有使用安全通道,需要添加签名;如果使用了安全授权通道SAC(Secure Authenticated Channel),可以添加消息验证码MAC(Message Authentication Code)值;而若使用了其他安全通道则可选。RI把构造好的请求消息发送给CI Agent。
为了确保整个协议流程的完整性,可以在协议所有步骤的消息中添加相应的会话标识(session id),或者对消息添加随机数(Nonce)参数项来保证消息的新鲜性及防重放攻击;
步骤42:CI Agent的相应处理流程如图5所示:
步骤501,CI Agent将首先基于其拥有的许可发行控制信息,判断是否允许响应这次请求。如果允许则继续下面处理步骤,否则拒绝这次请求。
步骤502,CI Agent接着根据设备的证书链(若是设备ID的话则还需要去获取设备的证书链),以及相应的证书验证材料来验证设备证书是否仍然有效,CI Agent可能还需要自己从OCSP响应服务器或CRL目录服务器获取验证设备证书有效性的验证材料如OCSP响应或者证书作废列表CRL。
步骤503,根据验证设备证书的结果进行处理。如果设备证书状态仍然有效则下面处理步骤,否则拒绝这次请求。
步骤504,CI Agent根据内容的CID,查找并获取到相关联的CEK,这里可能有多个CID,CEK也可能需要进行解密处理。
步骤505,随机产生一个KREK,并使用KREK及在步骤501中获知的支持算法中的密钥封装算法对CEK进行封装处理,得到一个或多个<EncryptedCEK>元素,并填充到<Rights>元素内。
仍参见图4,步骤43~步骤44:这两个步骤是否需要取决于前面步骤41中RI是否需要为该许可签名的指示信息值。如果指示需要,则必须执行;否则可以直接跳转到步骤45继续执行。CI Agent把<Rights>元素(或者对<Rights>元素进行XML规范化后,按照步骤41中获得的支持算法中的签名算法所使用的哈希算法,计算<Rights>元素的Hash值,这样的话仅需包括其Hash值)封装在协助生成许可的响应(Cooperate-ROResponse)消息中发送给RI。RI根据所接收到<Rights>元素(或者其Hash值),产生数字签名,并把该数字签名封装在协助生成受保护许可请求(Cooperate-protectedRORequest)消息内返回给CI Agent。
步骤45:CI Agent根据步骤41中获知的支持算法中的密钥传输算法,随机产生一个KMAC,连接上面步骤42中的KREK得到KREK|KMAC,并对此连接值进行算法封装。例如可以应用开放移动联盟(OMA)的数字版权管理(DRM)标准默认的密钥传输算法RSAES-KEM-KWS的处理过程进行处理。
CI Agent随机生成一个Z,提取目的设备证书中的公钥来加密Z得到密文C1,对Z进行密钥导出函数KDF(密钥导出函数)运算得到一个KEK,然后使用KEK封装KREK|KMAC得到密文C2,连接C1和C2并编码处理得到<encKey>元素。如果需要有<timestamp>元素,可以由RI在上面步骤41中包括,也可以由CI Agent在和RI实现时间同步后自己产生添加。CI Agent组装得到类型为ROPayload的<ro>元素,并对<ro>元素应用步骤41中获知的支持算法中的MAC算法处理产生相应的<mac>元素。最终,CI Agent将拥有组装完整<ProtectedRO>所需的所有信息,并可组装成<ProtectedRO>元素。
步骤46:CI Agent将<ProtectedRO>元素封装在响应消息中发送给RI。如果RI在上述步骤43接收到的只是<Rights>元素的Hash值的话,RI也可以在接收到许可时选择验证一下许可内的<Rights>元素的Hash值是否与步骤43中所接收到的Hash值相一致。CI Agent可以存储这个许可,以便后续向CI Server汇报统计。
步骤47:此为可选步骤,具体实施方案依赖于RI的实际情况。RI构造ROResponse消息,<ProtectedRO>元素作为ROResponse消息的必要组成部分,并发送给终端设备。
RI收到<ProtectedRO>元素后,即可构造许可响应消息并产生和添加数字签名,并把许可响应消息发送给目的设备。许可响应消息内元素的包含关系树形结构如下所示:
Figure BDA0000063769200000101
Figure BDA0000063769200000111
相应的,CI Agent控制并参与RI发行许可的一个实施例流程图如图6所示:
步骤61、根据用户或***需求许可发行者RI构造<rights>元素,其中<KeyInfo>元素为空;
步骤62、CI Agent生成EncryptedCEK,填入<rights>元素中的<KeyInfo>元素内,形成完整的<rights>元素;
步骤63、许可发行者RI对完整的<rights>元素进行签名得到<signature>元素;
步骤64、CI Agent生成绑定到目的设备的<encKey>元素,将<rights>、<signature>和<encKey>元素封装到<ro>元素,并对<ro>元素进行MAC算法处理形成<mac>元素,将<ro>元素和<mac>元素封装成<protectedRO>元素;
步骤65、许可发行者RI用<protectedRO>元素构造ROResponse消息,发行许可给终端设备。其中最后的<signature>元素为RI的签名。
从流程图图6可以看出,由于RI不掌握内容的CEK,需要向CI Agent请求内容的经过封装的CEK密文EncryptedCEK,RI并无法解密EncryptedCEK。CIAgent把加密CEK使用的KREK以及保障许可完整性的KMAC使用目的设备的公钥进行封装,因为RI并不拥有目的设备的私钥,所以也无法解密得到KREK和KMAC,从而能保证CEK对RI的机密性。并且RI也无法修改许可,因为许可由CI Agent使用KMAC进行了完整性保护,这能有效防范RI修改许可内的权限信息,并防范RI在以后利用已获取到的EncryptedCEK和封装到目的设备的KREK和KMAC为该设备发行其他许可。
许可发行控制信息采用发行者许可IRO方案,对RI发行许可进行控制的一个实施例流程图如图7所示。
CI Agent如果采用IRO控制RI发行许可,需要在控制RI成功发行许可后及时更新IRO的状态信息。
可选的,CI Agent和RI交互的消息步骤流程也可进行一些改变,其流程示意图如图8所示,该方案流程的操作步骤描述如下:
初始化步骤及步骤87同上述图4中所给出的技术方案。
步骤81:RI接到用户为其设备生成许可的请求,然后把相应的一个或者多个请求的内容标识CID,以及和目的设备协商的支持算法信息中的密钥封装算法,一起封装在请求消息内,发送给CI Agent。
步骤82:CI Agent根据内容的CID,查找到关联的CEK,并随机产生一个KREK,并使用KREK及步骤81中获得的密钥封装算法对CEK进行封装,得到<EncryptedCEK>元素。
步骤83:CI Agent将封装得到的CEK密文,即<EncryptedCEK>元素,返回给RI。
步骤84:RI把<EncryptedCEK>元素填充到<Rights>元素内,向CI Agent提交请求生成许可所包括的完整<Rights>元素(如果需要包括对<Rights>元素的签名,RI还会产生并附上签名<signature>元素),一些必要的许可属性等,设备证书链(也可以附带用于验证设备证书链有效性的OCSP响应或者证书作废列表CRL,或者仅设备ID)),以及和目的设备协商的其他一些支持算法信息如密钥传输算法和MAC算法等。
步骤85:CI Agent将首先基于其拥有的许可发行控制信息,判断是否允许响应这次请求,如果不允许则拒绝这次请求,否则继续下面处理。接着根据目的设备的证书链(若仅是设备ID则还需要去获取设备的证书链),以及相应的证书验证材料来验证设备证书是否仍然有效,CI Agent可能需要自己从在线证书状态协议OCSP响应服务器或证书作废列表CRL目录服务器获取验证目的设备证书有效性的验证材料如OCSP响应或者证书作废列表CRL。如果设备证书无效则拒绝这次请求,否则继续下面处理。CI Agent随机产生一个KMAC,和步骤82中产生的KREK相连接,并根据步骤84中获得的支持算法中的密钥传输算法,封装KREK和KMAC的连接值得到<encKey>元素。如果需要有<timestamp>元素,可以由RI在上面步骤84中包括,也可以由CI Agent在和RI同步时间后自己产生添加。CI Agent组装得到类型为ROPayload的<ro>元素,并对<ro>元素应用步骤84中获知的支持算法中的MAC算法产生相应的<mac>元素。最终,CI Agent将拥有组装完整<ProtectedRO>元素所需的所有信息。
步骤86:为减少通讯的数据量,CI Agent可以仅选择把针对目的设备产生的<encKey>元素和<mac>元素发送给RI,由RI负责组装<ProtectedRO>元素;当然CI Agent也可以选择组装成完整的<ProtectedRO>后再发送给RI,由RI生成许可响应发送给目标设备。CI Agent可以存储这个许可,以便后续向CI Server汇报统计数据。
为了确保整个协议流程的完整性,可以在上述所有步骤的消息中添加相应的会话标识(session id),或者对消息添加随机数(Nonce)参数项来保证消息的新鲜性及防重放攻击。
可选的,可以增加CI与RI的状态报告机制,进一步确保CI统计到的RO下发结果的准确性,同时保障RI的权益,以免DRM Agent获取RO失败,CI却按照成功进行统计。该方案流程的操作步骤如图9所示,其简要描述如下:
初始化步骤:在CI Agent和RI正式进行业务联系之前,可能需要先完成注册或者双向身份认证,并在此基础上建立起安全通道(当然也可以通过预设共享密钥和算法或者SSL等方案建立安全通道),保障后续的通讯会话。
流程触发事件:RI收到目的接收设备上报的RO下发结果状态报告后,RI处理状态报告,同时复制状态报告上报给CI Agent;
步骤91,RI向CI Agent发出协助生成状态报告请求(Cooperate-StatusReportRequest)消息,该消息中包括如下参数:
表2Cooperate-RORequest消息参数
RI构造请求消息包括:把相应的设备证书链(也可以附带用于验证设备证书链有效性的OCSP响应或者证书作废列表CRL,或者仅仅设备的ID)、与目的接收设备协商的支持算法信息、和经过接收设备签名的状态报告。RI把构造好的请求消息发送给CI Agent。
为了确保整个协议流程的完整性,可以在协议所有步骤的消息中添加相应的会话标识(session id),或者对消息添加随机数(Nonce)参数项来保证消息的新鲜性及防重放攻击;
步骤92:CI Agent的相应处理流程如图10所示,包括如下步骤:
步骤101,CI Agent将首先基于其拥有的许可发行控制信息和/或发行许可的历史信息等,判断是否允许响应这次请求。如果允许则继续下面处理步骤,否则拒绝这次请求。
步骤102,CI Agent接着根据设备的证书链(若是设备ID的话则还需要去获取设备的证书链),以及相应的证书验证材料来验证设备证书是否仍然有效,CI Agent可能还需要自己从OCSP响应服务器或CRL目录服务器获取验证设备证书有效性的验证材料如OCSP响应或者证书作废列表CRL。
步骤103,根据验证设备证书的结果进行处理。如果设备证书状态仍然有效则继续下面处理步骤,否则拒绝这次请求。
步骤104,CI Agent根据状态报告的结果,更新RO下发记录状态或更新统计信息。
仍参见图9,步骤93:CI Agent向RI返回状态报告处理结果。
在方案实施上,可以在CI Agent处默认所有的RO下发状态均为“成功”,RI可以只将“失败”状态(包括各种失败原因)的报告上报给CI Agent;CI Agent如果在一定时间间隔内未收到对应的状态报告,则默认为该RO下发成功。这样能减少CI Agent与RI之间的状态报告消息数量,提升***整体性能。
另一实施例,在Marlin框架下,也可实现CI控制RI发行许可。
在Marlin***中内容和许可的组成形式如图11所示:
内容对象(Content)包含内容ID和内容数据。内容数据使用对称密钥ContentKey加密。
许可对象(license)用于保护内容并且关联使用规则(控制)到受保护内容上。具体包含:
内容密钥对象(ContentKey):包含加密许可对应内容的密钥和密钥ID,其中内容密钥使用内容所绑定的节点密钥加密,节点可以为用户帐户、域、设备等,密钥可以为公钥或对称密钥。。
保护器对象(Protector):用于表示内容和保护内容的密钥之间的绑定。
控制(Control)对象:表示管理如何使用密钥以解密内容的规则。
控制器(Controller)对象:用于表示ContentKey及管理其使用的Control之间的绑定终端将只在Control对象中的规则的管理下使用ContentKey对象中的内容解密密钥,从而使用Protector对象关联的内容。Controller对象必须经过签名,从而能够建立ContentKey和管理它的Control对象之间的有效绑定,以及ContentKey ID和实际密钥数据之间的有效绑定。Controller对象的签名可以是公共密钥签名(public key signature)或者是对称密钥签名(symmetric keysignature),或者两者的结合。
该方案同样由CI Agent充当服务器角色,响应RI的请求,控制并协助RI发行许可。它们之间的交互协议和流程示意图如图12所示,该方案流程的操作步骤简要描述如下:
初始化步骤:在CI Agent和RI正式进行业务联系之前,可能需要先完成注册或者双向身份认证,并在此基础上建立起安全通道(当然也可以通过预设共享密钥和算法或者SSL等方案建立安全通道),保障后续的通讯会话。
流程触发事件:RI收到用户为其设备或者用户账户生成许可的请求,或者由***触发为某订阅用户在一段时期内定期为其设备生成许可,或者由于其他原因,都可能触发以下流程;
步骤121,RI向CI Agent发出协助对象请求(Cooperate-ObjectsRequest)消息,该消息中至少要包括如下参数:表示用户账户节点或设备节点的对象(及可能的连接用户和设备的链接对象)、请求的内容对象的ID。可选的,RI还可以把设备证书、和请求设备协商的支持算法信息,以及RI是否需要为该许可签名的指示信息,对请求消息的签名或MAC值等(如果RI和CI Agent之间没有使用安全通道,需要添加签名;如果使用了SAC可以添加MAC值;而若使用了其他安全通道则可选)。RI把构造好的请求消息发送给CI Agent。如果RI不需要为许可签名,或者CI需要在Control对象中增加Agent控制终端,则消息中还需要包括规定内容使用权限的Control对象(如果CI不需要严格控制RI所产生的许可中的控制信息,而只需要关注RI为某个用户或设备生成了某个许可的话,且CI不需要在Control对象中增加Agent,则可只发送Control对象的ID和Hash值);否则,RI可以选择在这个消息或者下面步骤124的消息中包括。
步骤122,CI Agent验证设备证书的有效性,以及节点对象(及可能的链接对象)之间关联的有效性。在有效性验证通过之后,根据内容对象的ID,产生相应的绑定到设备节点或者用户账户节点的ContentKey对象、Protector对象。
步骤123~步骤124:这两个步骤是否需要取决于前述步骤121中RI是否需要为该许可签名的指示信息值。如果指示需要,则必须执行;否则可以直接跳转到步骤125继续执行。步骤123:CI Agent把所生成的对象封装在响应消息(Cooperate-ObjectsResponse)中发送给RI;步骤124:RI根据所接收到对象信息,产生Controller对象,并对Controller对象使用自己的私钥进行签名,并把Controller对象封装在协助许可请求(Cooperate-LicenseRequest)消息内返回给CI Agent。
步骤125:如果有上述步骤123~124,则CI Agent根据步骤121中获知的支持算法信息使用内容对象的加密密钥CEK对Controller对象(包含RI的私钥签名)产生相应的对称密钥签名,并将对称密钥签名嵌入到Controller对象中(或者直接提供相应的对称密钥签名);否则CI Agent生成Controller对象,并根据步骤121中获知的支持算法信息,使用内容对象的加密密钥ContentKey对Controller对象产生相应的对称密钥签名。
步骤126:CI Agent把生成的对象封装在响应消息中,并把响应消息发送给RI。CIAgent可以存储这个许可,以便后续向CI Server汇报统计。
步骤127:此为可选步骤,具体实施方案依赖于RI的实际情况。RI把所有与许可相关的信息发送给目的终端设备。
从上述交互协议和流程示意图可以看出,由于Controller对象的公共密钥签名是可选的,如果RI不需要对Controller对象产生公共密钥签名,则RI和CIAgent之间的交互可以简化为一对消息。此外,为简化业务模式,RI也可以选择不把许可的权限信息(即Control对象)发送给CI Agent,而仅仅把许可的权限信息的ID和Hash值提交给CI Agent。
通过本发明所提供的技术方案,数字内容的发行者CI或提供者CP可以根据自己的业务需要灵活部署自己的功能模块,同时又可满足安全性、可扩展性、可控可管等诸多需求。此外,通过CI Agent可实现有效控制RI发行许可,但却不要求修改终端设备实现,设备仍然可以基于现有OMA DRM或者Marlin标准进行研发和操作使用。
相对而言,以上技术方案比较适用于规模较大、内容较多的内容发行者或内容提供商。但对于一些较小规模的CI,可能不愿花费如此大的代价,因此,也可以考虑一种轻量级的解决方案,把CI Agent以插件的形式,安装到RI服务器上,以实现同样的控制RI发行许可的目的。
该方案可以是:CI把自己的CI Agent功能模块按照插件的方式进行实现,CI Agent的各功能组件部分在调用时都需要验证完整性,以防止被篡改或者替换,并且需要一个安全的可执行环境,这可以借助安全硬件设备及其他。CI把CI Agent插件通过带外方式,安装到RI服务器上,可以要求CI Agent与CI Server之间有网络连接,也可以没有连接机制,完全使用带外方式传递数据。该方案的***架构示意图如图13所示。
在RI服务器上,可以安装多个不同CI的代理模块CI Agent插件,它们彼此独立工作互不干扰。RI具有管理安装到自己服务器上的CI Agent插件的功能,包括插件的安装、维护、停用、卸载等等。RI可以要求CI对它的CI Agent插件进行相应的代码签名,以便正确识别和管理相应的CI Agent插件。
CI Agent插件在安装到RI服务器上时,需要注册到RI***上,注册信息包括如下表所示的参数:
表3 CI Agent插件在RI上的注册信息
Figure BDA0000063769200000181
CI Agent的服务端口,可以是一个分配的地址(不管仅是个内部地址、网络地址转换NAT(Network Address Translation)地址还是能够从外部直接访问的IP地址)和端口号,或者是进程间通信的服务接口方案,等等。CI Agent一旦运行,将对其服务端口或服务接口进行侦听,接收请求并提供相应的服务。通过这些信息,RI就能够在需要某个CI发行的数字内容时可以找到相关CI Agent插件的服务端口或服务接口,并与之交互。
CI Agent插件将提供相应的接口(可以通过和CI Server之间的网络连接,或者通过图形界面以及USB口、MMC/SD/CF卡接口等方式),从CI Server获得内容的相关信息如内容标识CID、绑定到CI Agent的内容CEK、内容的其他标识信息等。CI Agent在收到这些信息后,通过和RI的接口或者和RI共享的内容数据库,让RI能获取到这些内容信息。RI需要获知的内容信息包括如下表所示的参数:
表4 CI Agent插件在RI上的注册信息
 Fields   Status Description
 CID   M 数字内容的标识
 Content Information   O 对数字内容的相关描述信息
 CEK Cipher   O 绑定到CI Agent的CEK密文
 CI/CP Internal ID   M 内容所属的CI或CP的内部标识
 CI/CP ID   O 内容所属的CI或CP的标识
通过上述表3和表4的信息,当RI需要发行某个内容的许可时,可以通过内容CID确定其所属的CI或CP的内部标识,进而得知相应的CI/CP ID;再通过CI/CP ID即可确定相应的CI Agent插件以及它的服务端口。至于绑定到CIAgent的CEK密文,可以由RI获取到,一并封装在请求中发送给CI Agent;或由CI Agent根据内容CID自己去获取。CI Agent借助安全硬件设备的帮助,将能够得到CEK的明文。
CI Agent为了控制RI发行许可,需要相应的许可发行控制信息。较佳的,可以采用上述技术方案所提到的IRO方案,由CI Server为CI Agent发行IRO,CI Agent作为IRO DRM机制的客户端,基于IRO控制RI发行许可。CI Agent插件将提供相应的接口(可以通过和CI Server之间的网络连接,或者通过图形界面以及USB口、MMC/SD/CF卡接口等方式),从CI Server获得IRO,并负责维护IRO的状态信息,这同样需要借助于安全硬件设备的帮助。在CI Agent成功控制RI发行许可后,需要更新IRO的状态信息。
此外,为了方便RI及时掌握IRO的剩余权限,以免影响到许可的正常发行,可以向RI提供对IRO剩余权限状态的查询功能,用于当权限分配达到一定阈值时,向RI产生告警。例如RI给出查询条件(如剩余发行许可的次数小于100次)并将这个查询条件发送给所有CI Agent插件。CI Agent插件将查询自己IRO的状态信息,并把剩余权限信息和查询条件的比较结果返回给RI;或者只有符合条件的CI Agent插件才需要给RI发送告警信息。
如果CIAgent能够有效监控RI产生许可和发行许可的过程,则可以应RI的请求,直接将请求内容的明文CEK返回给RI,供RI发行许可使用。一个实施例的流程图如图14所示,包括如下步骤:
步骤141、根据用户或***需求许可发行者RI向CI Agent提交一个或多个内容的CID以及可能的CEK密文。
步骤142、CI Agent处理所述CEK。
步骤143、CI Agent将处理后的CEK明文返回给RI。
步骤144、许可发行者RI构造ROResponse消息,并发送许可给终端设备。
为了有效监控RI产生许可和发行许可的过程,也可以采用上述图4、8或12中方案所给出的CI Agent和RI之间的交互协议和流程,由CI Agent插件来控制RI发行许可。
综上所述,本发明实施例提供的一种发行许可的方法,参见图15,包括:
步骤151,内容发行者接收许可发行者协助生成许可的请求;
步骤152,内容发行者根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码;
步骤153,内容发行者将生成的消息验证码和得到的封装密钥发送给所述许可发行者,以使得所述许可发行者将包含所述消息验证码和所述封装密钥的许可发送给目的实体。
在OMA DRM***下,步骤152具体为:
内容发行者根据所述协助生成许可的请求所携带的信息,获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;
内容发行者根据所述内容相关的信息,查找到相关联的内容加密密钥;
内容发行者生成许可加密密钥和消息验证密钥,并使用所述许可加密密钥封装所述内容加密密钥,使用所述目的实体的密钥封装所述许可加密密钥和消息验证密钥得到封装密钥;
内容发行者使用所述消息验证密钥对许可的部分信息生成消息验证码,其中,所述许可的部分信息包括内容相关的信息、目的实体使用内容的权限信息、和所述得到的封装密钥。
在Marlin***下,步骤152具体为:
内容发行者根据所述协助生成许可的请求所携带的信息,获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;
内容发行者根据所述内容相关的信息,查找到相关联的内容加密密钥;
内容发行者使用目的实体的密钥封装所述内容加密密钥得到封装密钥;
内容发行者使用所述内容加密密钥对所述许可的部分信息生成消息验证码,其中,所述许可的部分信息包括内容相关的信息、目的实体使用内容的权限信息、和所述得到的封装密钥。
一个优选实施例,所述许可的部分信息还包括:所述许可发行者对内容相关的信息、目的实体使用内容的权限信息和封装的内容加密密钥的数字签名。为此步骤152还具体包括:
内容发行者将封装的内容加密密钥发送给所述许可发行者;接收所述许可发行者的所述数字签名;对包含所述数字签名的许可的部分信息生成消息验证码。
可选地,在所述许可发行者向目的实体发送许可之后,所述方法还包括:
步骤154,内容发行者通过发行者许可的方式或者通过许可发行者上报并经过目的实体确认的方式,统计所述许可发行者的许可发行信息。
基于上述的发行许可的方法,本发明实施例分别提供一种内容发行设备、一种许可发行设备及一种发行许可的***。
参见图16,本发明实施例提供的内容发行设备,包括:
请求接收单元161,用于接收许可发行者协助生成许可的请求;
协助单元162,用于根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码;
响应发送单元163,用于将所述协助单元162生成的消息验证码和得到的封装密钥发送给所述许可发行者,以使得所述许可发行者将包含所述消息验证码和所述封装密钥的许可发送给目的实体。
参见图17,协助单元162中包括信息获取模块1621、内容密钥查找模块1622、密钥封装模块1623和验证码生成模块1623。
其中,在OMA DRM***下,协助单元162中各模块具体用于:
信息获取模块1621,用于从所述请求接收单元中获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;
内容密钥查找模块1622,用于根据获取到的所述内容相关的信息,查找到相关联的内容加密密钥;
密钥封装模块1623,用于生成许可加密密钥和消息验证密钥,并使用所述许可加密密钥封装所述内容加密密钥,使用所述目的实体的密钥封装所述许可加密密钥和消息验证密钥得到封装密钥;
验证码生成模块1624,用于使用所述消息验证密钥对许可的部分信息生成消息验证码,其中,所述许可的部分信息包括内容相关的信息、目的实体使用内容的权限信息、和所述得到的封装密钥。
在Marlin***下,协助单元162中各模块具体用于:
信息获取模块1621,用于从所述请求接收单元中获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;
内容密钥查找模块1622,用于根据获取到的所述内容相关的信息,查找到相关联的内容加密密钥;
密钥封装模块1623,用于使用目的实体的密钥封装所述内容加密密钥得到封装密钥;
验证码生成模块1624,用于使用所述内容加密密钥对所述许可的部分信息生成消息验证码,其中,所述许可的部分信息包括内容相关的信息、目的实体使用内容的权限信息、和所述得到的封装密钥。
一个优选实施例,所述许可的部分信息还包括:所述许可发行者对内容相关的信息、目的实体使用内容的权限信息和封装的内容加密密钥的数字签名。所述协助单元162,还用于将封装的内容加密密钥发送给所述许可发行者,接收所述许可发行者的所述数字签名,对包含所述数字签名的许可的部分信息生成消息验证码。
可选地,仍参见图16,在所述许可发行者向目的实体发送许可之后,本发明实施例提供的内容发行设备还包括:
许可统计单元164,用于通过发行者许可的方式或者通过许可发行者上报并经过目的实体确认的方式,统计所述许可发行者的许可发行信息。
参见图18,本发明实施例提供的许可发行设备,包括:
请求发送单元181,用于向内容发行者发送协助生成许可的请求;
协助接收单元182,用于接收所述内容发行者根据所述请求发送单元181,使用目的实体的密钥封装内容相关的信息得到的封装密钥,和对许可的部分信息生成的消息验证码;
许可发送单元183,用于将包含所述响应接收单元182接收的消息验证码和封装密钥的许可发送给目的实体。
优选地,本发明实施例提供的许可发行设备,还包括:
数字签名单元184,用于对所述内容相关的信息、目的实体使用内容的权限信息和封装的内容加密密钥进行数字签名;此时,所述协助接收单元182,还用于接收所述内容发行者对包含所述数字签名的许可的部分信息生成的消息验证码。
可选地,在许可发送单元183向目的实体发送许可之后,所述许可发行设备还包括:状态上报单元185,用于向所述内容发行者上报经过目的实体确认的状态报告,以使得所述内容发行者统计许可发行信息。
参见图19,本发明实施例提供的一种发行许可的***,包括:
内容发行者190,用于接收许可发行者协助生成许可的请求,根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码;将所述生成的消息验证码和所述得到的封装密钥发送给所述许可发行者;
许可发行者199,用于向内容发行者发送所述协助生成许可的请求;接收所述内容发行者发送的所述消息验证码和所述封装密钥;将包含所述消息验证码和所述封装密钥的许可发送给目的实体。
在OMA DRM***下,所述内容发行者190,具体用于根据所述协助生成许可的请求所携带的信息,获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;根据所述内容相关的信息,查找到相关联的内容加密密钥;生成许可加密密钥和消息验证密钥,并使用所述许可加密密钥封装所述内容加密密钥,使用所述目的实体的密钥封装所述许可加密密钥和消息验证密钥得到封装密钥;使用所述消息验证密钥对许可的部分信息生成消息验证码,其中,所述许可的部分信息包括内容相关的信息、目的实体使用内容的权限信息、和所述得到的封装密钥。
在Marlin***下,所述内容发行者190,具体用于根据所述协助生成许可的请求所携带的信息,获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;根据所述内容相关的信息,查找到相关联的内容加密密钥;使用目的实体的密钥封装所述内容加密密钥得到封装密钥;使用所述内容加密密钥对许可的部分信息生成消息验证码,其中,所述许可的部分信息包括内容相关的信息、目的实体使用内容的权限信息、和所述得到的封装密钥。
优选地,所述许可发行者199,还用于对内容相关的信息、目的实体使用内容的权限信息和封装的内容加密密钥生成数字签名;
所述内容发行者190,还用于将封装的内容加密密钥发送给所述许可发行者,接收所述许可发行者的所述数字签名,对包含所述数字签名的许可的部分信息生成消息验证码。
为了满足部署实施的灵活性,以及及时响应许可发行者请求等需求,内容发行者根据功能模块划分为内容发行服务器191和一个以上的内容发行代理(192、193、194...),所述内容发行服务器191保存所有许可的内容信息及相应的内容加密密钥,并管理所有内容发行代理的相关信息;所述内容发行代理(192、193、194...)只保存与已关联的许可的内容信息及相应的内容加密密钥;其中,所述内容发行服务器191管理所有内容发行代理的相关信息包括:
内容发行代理的注册和启用;内容发行代理的获取内容加密密钥;内容发行代理的获取发行许可的控制信息;内容发行代理向内容发行服务器上报发行许可的统计信息;以及内容发行代理的安全检验、更改配置或者功能模块升级。
一种部署方式是,如附图2所示,所述内容发行服务器部署在所述内容发行者所在的本地局域网,所述内容发行代理部署在不同的许可发行者所在的局域网。该部署方式适用于一些规模较大、内容较多的内容发行者或内容提供商。
另一种部署方式是,如附图13所示,所述内容发行代理以插件的方式注册到所述许可发行者上,由所述内容发行服务器对自身的内容发行代理进行代码签名。该部署方式适用于一些规模较小的内容发行者或内容提供商,采用一种轻量级的解决方案,同样实现控制许可发行者发行许可的目的。
需要说明的是,在以上所有OMA DRM相关的实施例中,目的实体就是许可的目的接收设备(或者许可颁发的目标对象或者许可的使用实体),因此以上方案中也有把目的实体或者目的接收设备直接称为目的设备。在MARLIN***中,这里的目的实体可以是目的用户或者目的设备,也就是作为所述许可接收者的目的用户节点或者目的设备节点。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
上述具体实施例并不用以限制本发明,对于本技术领域的普通技术人员来说,凡在不脱离本发明原理的前提下,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种发行许可的方法,其特征在于,包括:
内容发行者接收许可发行者协助生成许可的请求;
内容发行者根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码;
内容发行者将生成的消息验证码和得到的封装密钥发送给所述许可发行者,以使得所述许可发行者将包含所述消息验证码和所述封装密钥的许可发送给目的实体;
所述许可的部分信息包括:所述许可发行者对内容相关的信息、目的实体使用内容的权限信息和封装的内容加密密钥的数字签名;
所述内容发行者根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码的步骤,还包括:
内容发行者将封装的内容加密密钥发送给所述许可发行者;内容发行者接收所述许可发行者的所述数字签名;内容发行者对包含所述数字签名的许可的部分信息生成消息验证码。
2.根据权利要求1所述的方法,其特征在于,所述内容发行者根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码的步骤,具体包括:
内容发行者根据所述协助生成许可的请求所携带的信息,获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;
内容发行者根据所述内容相关的信息,查找到相关联的内容加密密钥;
内容发行者生成许可加密密钥和消息验证密钥,并使用所述许可加密密钥封装所述内容加密密钥,使用所述目的实体的密钥封装所述许可加密密钥和消息验证密钥得到封装密钥;
内容发行者使用所述消息验证密钥对许可的部分信息生成消息验证码,其中,所述许可的部分信息包括内容相关的信息、目的实体使用内容的权限信息、和所述得到的封装密钥。
3.根据权利要求1所述的方法,其特征在于,所述内容发行者根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码的步骤,具体包括:
内容发行者根据所述协助生成许可的请求所携带的信息,获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;
内容发行者根据所述内容相关的信息,查找到相关联的内容加密密钥;
内容发行者使用目的实体的密钥封装所述内容加密密钥得到封装密钥;
内容发行者使用所述内容加密密钥对所述许可的部分信息生成消息验证码,其中,所述许可的部分信息包括内容相关的信息、目的实体使用内容的权限信息、和所述得到的封装密钥。
4.根据权利要求1-3任一所述的方法,其特征在于,在所述许可发行者向目的实体发送许可之后,所述方法还包括:
内容发行者通过发行者许可的方式或者通过许可发行者上报并经过目的实体确认的方式,统计所述许可发行者的许可发行信息。
5.一种内容发行设备,其特征在于,包括:
请求接收单元,用于接收许可发行者协助生成许可的请求;
协助单元,用于根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码;
响应发送单元,用于将所述协助单元生成的消息验证码和得到的封装密钥发送给所述许可发行者,以使得所述许可发行者将包含所述消息验证码和所述封装密钥的许可发送给目的实体;
所述许可的部分信息包括:所述许可发行者对内容相关的信息、目的实体使用内容的权限信息和封装的内容加密密钥的数字签名;
所述协助单元,还用于将封装的内容加密密钥发送给所述许可发行者,接收所述许可发行者的所述数字签名,对包含所述数字签名的许可的部分信息生成消息验证码。
6.根据权利要求5所述的内容发行设备,其特征在于,所述协助单元具体包括:
信息获取模块,用于从所述请求接收单元中获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;
内容密钥查找模块,用于根据获取到的所述内容相关的信息,查找到相关联的内容加密密钥;
密钥封装模块,用于生成许可加密密钥和消息验证密钥,并使用所述许可加密密钥封装所述内容加密密钥,使用所述目的实体的密钥封装所述许可加密密钥和消息验证密钥得到封装密钥;
验证码生成模块,用于使用所述消息验证密钥对许可的部分信息生成消息验证码,其中,所述许可的部分信息包括内容相关的信息、目的实体使用内容的权限信息、和所述得到的封装密钥。
7.根据权利要求5所述的内容发行设备,其特征在于,所述协助单元具体包括:
信息获取模块,用于从所述请求接收单元中获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;
内容密钥查找模块,用于根据获取到的所述内容相关的信息,查找到相关联的内容加密密钥;
密钥封装模块,用于使用目的实体的密钥封装所述内容加密密钥得到封装密钥;
验证码生成模块,用于使用所述内容加密密钥对所述许可的部分信息生成消息验证码,其中,所述许可的部分信息包括内容相关的信息、目的实体使用内容的权限信息、和所述得到的封装密钥。
8.根据权利要求5-7任一所述的内容发行设备,其特征在于,在所述许可发行者向目的实体发送许可之后,所述内容发行设备还包括:
许可统计单元,用于通过发行者许可的方式或者通过许可发行者上报并经过目的实体确认的方式,统计所述许可发行者的许可发行信息。
9.一种许可发行设备,其特征在于,包括:
请求发送单元,用于向内容发行者发送协助生成许可的请求;
协助接收单元,用于接收所述内容发行者根据所述请求发送单元,使用目的实体的密钥封装内容相关的信息得到的封装密钥,和对许可的部分信息生成的消息验证码;
许可发送单元,用于将包含所述响应接收单元接收的消息验证码和封装密钥的许可发送给目的实体;
所述许可的部分信息包括:所述许可发行者对内容相关的信息、目的实体使用内容的权限信息和封装的内容加密密钥的数字签名;
所述许可发行设备还包括:
数字签名单元,用于对所述内容相关的信息、目的实体使用内容的权限信息和封装的内容加密密钥进行数字签名;
所述协助接收单元,还用于接收所述内容发行者对包含所述数字签名的许可的部分信息生成的消息验证码。
10.根据权利要求9所述的许可发行设备,其特征在于,在所述许可发送单元向目的实体发送许可之后,还包括:
状态上报单元,用于向所述内容发行者上报经过目的实体确认的状态报告,以使得所述内容发行者统计许可发行信息。
11.一种发行许可的***,其特征在于,包括:
内容发行者,用于接收许可发行者协助生成许可的请求,根据所述协助生成许可的请求所携带的信息,使用目的实体的密钥封装内容相关的信息得到封装密钥,并对许可的部分信息生成消息验证码;将所述生成的消息验证码和所述得到的封装密钥发送给所述许可发行者;
许可发行者,用于向内容发行者发送所述协助生成许可的请求;接收所述内容发行者发送的所述消息验证码和所述封装密钥;将包含所述消息验证码和所述封装密钥的许可发送给目的实体;
其中,所述许可的部分信息包括内容相关的信息、目的实体使用内容的权限信息、和所述得到的封装密钥;
所述许可发行者,还用于对内容相关的信息、目的实体使用内容的权限信息和封装的内容加密密钥生成数字签名;
所述内容发行者,还用于将封装的内容加密密钥发送给所述许可发行者,接收所述许可发行者的所述数字签名,对包含所述数字签名的许可的部分信息生成消息验证码。
12.根据权利要求11所述的发行许可的***,其特征在于,
所述内容发行者,具体用于根据所述协助生成许可的请求所携带的信息,获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;根据所述内容相关的信息,查找到相关联的内容加密密钥;生成许可加密密钥和消息验证密钥,并使用所述许可加密密钥封装所述内容加密密钥,使用所述目的实体的密钥封装所述许可加密密钥和消息验证密钥得到封装密钥;使用所述消息验证密钥对许可的部分信息生成消息验证码。
13.根据权利要求11所述的发行许可的***,其特征在于,
所述内容发行者,具体用于根据所述协助生成许可的请求所携带的信息,获取到内容相关的信息、目的实体使用内容的权限信息和目的实体的密钥信息;根据所述内容相关的信息,查找到相关联的内容加密密钥;使用目的实体的密钥封装所述内容加密密钥得到封装密钥;使用所述内容加密密钥对许可的部分信息生成消息验证码。
14.根据权利要求11-13任一所述的发行许可的***,其特征在于,所述内容发行者包括内容发行服务器和一个以上的内容发行代理,所述内容发行服务器保存所有内容相关的信息及相关联的内容加密密钥,并管理所有内容发行代理的相关信息;所述内容发行代理只保存与己关联的内容相关的信息及相关联的内容加密密钥;
其中,所述内容发行服务器管理所有内容发行代理的相关信息包括:
内容发行代理的注册和启用;内容发行代理的获取内容加密密钥;内容发行代理的获取发行许可的控制信息;内容发行代理向内容发行服务器上报发行许可的统计信息;以及内容发行代理的安全检验、更改配置或者功能模块升级。
15.根据权利要求14所述的发行许可的***,其特征在于,所述内容发行服务器部署在所述内容发行者所在的本地局域网,所述内容发行代理部署在不同的许可发行者所在的局域网。
16.根据权利要求14所述的发行许可的***,其特征在于,所述内容发行代理以插件的方式注册到所述许可发行者上,由所述内容发行服务器对自身的内容发行代理进行代码签名。
CN2009801471644A 2009-04-27 2009-04-27 发行许可的方法、装置和*** Active CN102224703B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2009/071503 WO2010124446A1 (zh) 2009-04-27 2009-04-27 发行许可的方法、装置和***

Publications (2)

Publication Number Publication Date
CN102224703A CN102224703A (zh) 2011-10-19
CN102224703B true CN102224703B (zh) 2013-11-06

Family

ID=43031667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801471644A Active CN102224703B (zh) 2009-04-27 2009-04-27 发行许可的方法、装置和***

Country Status (3)

Country Link
US (1) US8407772B2 (zh)
CN (1) CN102224703B (zh)
WO (1) WO2010124446A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8931038B2 (en) * 2009-06-19 2015-01-06 Servicemesh, Inc. System and method for a cloud computing abstraction layer
US10411975B2 (en) 2013-03-15 2019-09-10 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with multi-tier deployment policy
US9489647B2 (en) 2008-06-19 2016-11-08 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with self-service portal for publishing resources
EP2316071A4 (en) 2008-06-19 2011-08-17 Servicemesh Inc CLOUD DATA PROCESSING GATEWAY, CLOUD DATA PROCESSING HYPERVISOR, AND METHOD FOR IMPLEMENTING THEM
US10691860B2 (en) 2009-02-24 2020-06-23 Rambus Inc. Secure logic locking and configuration with camouflaged programmable micro netlists
US10476883B2 (en) 2012-03-02 2019-11-12 Inside Secure Signaling conditional access system switching and key derivation
US9430622B2 (en) * 2011-07-13 2016-08-30 Dell Products L.P. Mini appliance
EP2820546B1 (en) * 2012-03-02 2019-07-31 INSIDE Secure Blackbox security provider programming system permitting multiple customer use and in field conditional access switching
CN103379365B (zh) * 2012-04-27 2017-08-08 日立(中国)研究开发有限公司 内容获取装置及方法、内容及多媒体发行***
US9841999B2 (en) 2015-07-31 2017-12-12 Futurewei Technologies, Inc. Apparatus and method for allocating resources to threads to perform a service
WO2019159689A1 (ja) * 2018-02-13 2019-08-22 ソニー株式会社 電子機器、情報処理装置、情報処理方法、プログラム、及び、情報処理システム
CN111601117B (zh) * 2020-05-11 2021-04-02 知安视娱(南京)科技有限公司 一种数字版权管理方法及***
CN113935072B (zh) * 2021-09-26 2024-04-30 网易(杭州)网络有限公司 发行者注册方法、装置、计算机设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1607762A (zh) * 2003-10-14 2005-04-20 微软公司 数字权限管理***

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000260121A (ja) * 1999-03-05 2000-09-22 Toshiba Corp 情報再生装置および情報記録装置
US6772340B1 (en) * 2000-01-14 2004-08-03 Microsoft Corporation Digital rights management system operating on computing device and having black box tied to computing device
JP2003174443A (ja) * 2001-12-07 2003-06-20 Sony Corp 情報処理装置および方法、プログラム格納媒体、並びにプログラム
US6996544B2 (en) 2002-02-27 2006-02-07 Imagineer Software, Inc. Multiple party content distribution system and method with rights management features
JP4326186B2 (ja) * 2002-04-15 2009-09-02 ソニー株式会社 情報処理装置および方法
JP3821768B2 (ja) * 2002-09-11 2006-09-13 ソニー株式会社 情報記録媒体、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20040168184A1 (en) * 2002-12-04 2004-08-26 Jan Steenkamp Multiple content provider user interface
US7801820B2 (en) * 2003-01-13 2010-09-21 Sony Corporation Real-time delivery of license for previously stored encrypted content
US7792517B2 (en) * 2003-06-10 2010-09-07 Motorola, Inc. Digital content acquisition and distribution in digitial rights management enabled communications devices and methods
US7801819B2 (en) 2003-10-03 2010-09-21 Sony Corporation Rendering rights delegation system and method
EP1678566A1 (en) * 2003-10-31 2006-07-12 Telefonaktiebolaget LM Ericsson (publ) Method and devices for the control of the usage of content
JPWO2005064484A1 (ja) * 2003-12-25 2007-07-19 三菱電機株式会社 デジタルコンテンツ管理システム
US7617158B2 (en) * 2004-03-22 2009-11-10 Telefonaktiebolaget L M Ericsson (Publ) System and method for digital rights management of electronic content
US7477749B2 (en) * 2004-05-12 2009-01-13 Nokia Corporation Integrity protection of streamed content
US7711647B2 (en) * 2004-06-10 2010-05-04 Akamai Technologies, Inc. Digital rights management in a distributed network
CN100354788C (zh) 2005-07-20 2007-12-12 华为技术有限公司 一种数字版权保护***及方法
US20070112680A1 (en) * 2005-11-11 2007-05-17 Infineon Technologies Ag System and method for processing digital media content in a mobile device
KR20070050712A (ko) * 2005-11-11 2007-05-16 엘지전자 주식회사 Srm의 디지털 저작권 관리 방법 및 장치
US8671452B2 (en) * 2006-01-26 2014-03-11 Lg Electronics Inc. Apparatus and method for moving rights object from one device to another device via server
EP1978707B2 (en) * 2006-01-26 2017-01-18 Huawei Technologies Co., Ltd. A method and system for generating and acquiring the rights object and the rights issuing center
CN101573936B (zh) * 2006-05-05 2012-11-28 交互数字技术公司 使用可信处理技术的数字版权管理
GB0702600D0 (en) * 2006-05-05 2007-03-21 Omnifone Ltd Loader
US8095466B2 (en) * 2006-05-15 2012-01-10 The Directv Group, Inc. Methods and apparatus to conditionally authorize content delivery at content servers in pay delivery systems
US9112874B2 (en) * 2006-08-21 2015-08-18 Pantech Co., Ltd. Method for importing digital rights management data for user domain
EP1947587A1 (en) * 2007-01-15 2008-07-23 Samsung Electronics Co., Ltd. Rights object acquisition method of mobile terminal in digital right management system
US20100145859A1 (en) * 2007-01-16 2010-06-10 Shingo Murakami Control device, reproducing device, permission server, method for controlling control device, method for controlling reproducing device, and method for controlling permission server
US20080319851A1 (en) * 2007-06-25 2008-12-25 Microsoft Corporation Using delegation for distributing protected content
KR100973576B1 (ko) * 2008-03-26 2010-08-03 주식회사 팬택 권한 객체 생성 방법 및 그 디바이스, 권한 객체 전송 방법및 그 디바이스와 권한 객체 수신 방법 및 그 디바이스
WO2010087567A1 (en) * 2009-01-29 2010-08-05 Lg Electronics Inc. Method for installing rights object for content in memory card

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1607762A (zh) * 2003-10-14 2005-04-20 微软公司 数字权限管理***

Also Published As

Publication number Publication date
US20120042168A1 (en) 2012-02-16
US8407772B2 (en) 2013-03-26
CN102224703A (zh) 2011-10-19
WO2010124446A1 (zh) 2010-11-04

Similar Documents

Publication Publication Date Title
CN102224703B (zh) 发行许可的方法、装置和***
JP7267294B2 (ja) トランザクションコネクタ及びブローカサービスを使用してブロックチェーンネットワークのバージョン化されたブロックとしてデバイスライフサイクルトランザクションを記録するためのシステム及び方法
CN111543031B (zh) 用于控制和/或监控装置的方法和控制***
CN111492624B (zh) 用于控制和/或监控装置的方法和控制***
CN101426012B (zh) 软件模块管理装置
CN101573936B (zh) 使用可信处理技术的数字版权管理
JP2021504865A (ja) ゲートウェイ装置に接続された非ipエンドポイントデバイスと接続されたサービスとの間のデータ転送を安全にするためのシステム及び方法
KR20190004310A (ko) 분산 해시 테이블 및 개인대개인 분산 대장을 사용한 계약의 성능을 제어하는 방법 및 시스템
CN103297428B (zh) 一种云存储***数据保护方法
CN101351804A (zh) 用于权利管理的方法和设备
CN103262494A (zh) 对基于白名单的在线安全设备供应框架的跨域身份管理
CN111492355B (zh) 用于控制和/或监控装置的方法和控制***
CN102845043A (zh) 在线安全设备供应框架
CN111008366A (zh) 基于区块链的版权授权方法以及装置
CN111049806B (zh) 一种联合权限控制方法、装置、电子设备和存储介质
CN101320408A (zh) 一种具有版权双方可控功能的数字内容硬件绑定及迁移方法
JP5662439B2 (ja) 中小企業(sme)におけるデジタル著作権管理(drm)の方法および装置ならびにdrmサービスを提供するための方法
KR20130118951A (ko) 고유의 코드 서명 키들의 보안 관리 및 개인화
CN113486082B (zh) 一种基于区块链的外包数据访问控制***
US20200043016A1 (en) Network node for processing measurement data
CN113869901B (zh) 密钥生成方法、装置、计算机可读存储介质及计算机设备
CN113132395B (zh) 一种远程设备控制方法和***
WO2017159067A1 (ja) 情報処理装置およびエージェントシステム
CN103297397B (zh) 数字信息发送和接收方法、装置以及分发***
George et al. Safest Secure and Consistent Data Services in the Storage of Cloud Computing

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