发明内容
为了解决域证书中的License解密密钥密文不能在域内设备间拷贝使用,给不方便联网设备获取License解密密钥密文带来不便的问题,本发明实施例提供了一种基于域证书共享的数字权限管理方法,包括:
域管理服务器建立域,生成使用证书解密密钥,并将至少两用户设备加入到域中;
域管理服务器获取用户设备标识集,所述用户设备标识集为加入到域中的全部用户设备的用户设备标识的集合;
域管理服务器通过多元素加密单元素解密的加密算法和用户设备标识集计算得到域公钥;
域管理服务器采用域公钥加密使用证书解密密钥得到使用证书解密密钥密文,并发送给用户设备;
域中的任一用户设备根据其用户设备标识,解密使用证书解密密钥密文得到使用证书解密密钥。
同时本发明实施例还提供一种基于域的数字权限管理域管理服务器,包括:
域建立模块:用于建立域,生成使用证书解密密钥,并将至少两用户设备加入到域中;
标识集获取模块:用于获取用户设备标识集,所述用户设备标识集为加入到域中的全部用户设备的用户设备标识的集合;
域公钥计算模块:用于通过由多元素加密单元素解密的加密算法和用户设备标识集计算得到域公钥;
解密密钥加密模块:用于采用域公钥加密使用证书解密密钥得到使用证书解密密钥密文,并发送给用户设备。
同时本发明实施例还提供一种基于域的数字权限管理***,包括:
域建立模块:用于建立域,生成使用证书解密密钥,并将至少两用户设备加入到域中;
标识集获取模块:用于获取用户设备标识集,所述用户设备标识集为加入到域中的全部用户设备的用户设备标识的集合;
域公钥计算模块:用于通过由多元素加密单元素解密的加密算法和用户设备标识集计算得到域公钥;
解密密钥加密模块:用于采用域公钥加密使用证书解密密钥得到使用证书解密密钥密文,并发送给用户设备;
解密密钥解密模块:用于域中的任一用户设备根据其用户设备标识,解密使用证书解密密钥密文得到使用证书解密密钥。
由上述本发明提供的具体实施方案可以看出,正是由于通过多元素加密单元素解密的加密算法,直接利用域内各个用户设备的标识信息计算域公钥,进而利用该公钥加密License解密密钥,得到License解密密钥密文的解决方案,使得任一域设备可使用本身标识信息恢复License解密密钥,非域设备则不可。通过多元素加密单元素解密的加密算法,从域内各个成员设备的标识信息计算域公钥来加密License解密密钥,保证了License解密密钥密文可在域内设备间拷贝使用,解决了不方便联网设备获取License解密密钥密文不便的问题。
具体实施方式
DRM***整体结构如图1所示,包括License服务器(使用证书服务器)、内容服务器、域管理服务器和用户设备,它们之间通过网络连接,其中用户设备包括用户甲的PC以及便携式阅读器,用户乙的笔记本电脑。其中域管理服务器用于实现域管理功能,包括域的建立、更新、域公钥的产生、更新等。所述域管理服务器需要能同license服务器进行通讯。该域管理服务器可独立于DRM***,并对一个或多个DRM***提供可信的域管理服务。
本发明提供的第一实施例是一种基于域证书共享的数字权限管理方法,方法流程如图2所示,包括:
步骤101:域管理服务器接收到用户甲通过其PC提出的新建域请求,并产生一个唯一的域标识domain1(若域管理服务器只管理一个域则不需要域标识),并随机生成反单向函数链,从中取出第一个数作为该域的License解密密钥LKey1,根据LKey1产生相应的License加密密钥LPKey1。然后进一步根据与用户的协商建立相应的域规则,如:允许加入域的用户设备数为4、变更次数为3、临时设备数为2等等。
域管理服务器在接收到新建域请求后,为用户甲分配一个用户名:userl,和一个密码:123456,该新建域操作也可在用户将设备第一次添加到域时完成。
随机生成反单向函数链,从中取出第一个数作为该域的License解密密钥LKey1,只是生成License解密密钥LKey1的一个优选的方案,在本实施例中也可采用其它方式生成License解密密钥,如:随机生成一个密钥作为License解密密钥LKey1,同样根据LKey1产生相应的License加密密钥LPKey1。
步骤102:将PC以及便携式阅读器注册(通过用户特征设备,如智能卡等)到域管理服务器,即执行发送加入域请求。域管理服务器将PC以及便携式阅读器加入到domain1域中。注册时将根据PC机的主板号、CPU号和硬盘号产生的PC机的标识skeyi(i=1)发送给域管理服务器,同时将便携式阅读器的标识skeyi(i=2),发送给域管理服务器。
具体实施时,用户甲通过PC机上的注册软件输入用户名:userl,和对应密码:123456,请求将PC机加入domain1域,管理服务器验证用户名userl和密码123456通过后将PC加入到domain1域中,并将domain1域的域标识domain1告知PC。
加入域的过程中,用户甲不容易联网的便携式阅读器,将PC机作为便携式阅读器的注册代理,通过PC机上的注册软件输入用户名:userl,和对应密码:123456,请求将PC机代理的便携式阅读器加入domain1域,或者对于用户甲不容易联网的便携式阅读器可以产生一个ticket,通过PC机将ticket提交,来代替注册请求,至于通过ticket的具体实现方法属于现有技术,此处不再赘述。
加入域的过程中,域管理服务器在收到PC机以及便携式阅读器加入域请求后,验证该请求是否满足域规则,如是否已达到域允许的设备数上限4,因为PC机和便携式阅读器分别为第一个和第二个申请加入域的设备,判断它们满足规则再进行后续步骤。
步骤103:域管理服务器确定标识集为:skeyi(i=1,2)。
步骤104:域管理服务器通过多元素加密单元素解密的加密算法和skeyi(i=1,2)计算得到域公钥Skey1。多元素加密单元素解密的加密算法在本实施例中优选使用完全公钥广播加密算法。多元素加密单元素解密的加密算法就是加密时使用多个元素而解密时只使用其中的一个元素解密,如使用A、B和C三个元素加密,解密时只使用A、B或C任意之一进行解密。典型的算法为完全公钥广播加密算法。
步骤105:域管理服务器采用Skey1加密LKey1得到LKey1密文。
步骤106:域管理服务器根据LKey1密文制作域证书v1.0,将域证书v1.0发送给PC机,域证书v1.0中包含LKey1密文等。
步骤107:PC机根据skeyi(i=1)解密LKey1密文得到LKey1。
上述步骤中具体实施时PC机可以被动接收域管理服务器发送的域证书v1.0,并解密LKey1密文得到LKey1,PC机还可以主动从域管理服务器下载域证书v1.0,并解密LKey1密文得到LKey1,对于便携式阅读器前面步骤类同,只是在步骤106中,可以通过拷贝PC机得到的LKey1密文的方式获取LKey1密文(当然也可以不拷贝PC机得到的LKey1密文,而是通过与PC机相连直接使用PC机上的LKey1密文,只要能达到共享使用的目的就可以)。之后步骤107中通过便携式阅读器的用户标识skeyi(i=2)解密LKey1密文得到LKey1。当然便携式阅读器也可以通过PC机连接域管理服务器(或其它方式连接域管理服务器),以下载的方式获取域证书v1.0。
本发明提供的第二实施例是一种基于域证书共享的数字权限管理方法,方法流程如图2所示,其中步骤201-步骤207与实施例一中的步骤101-步骤107相同,还包括:
步骤208:用户甲通过PC从内容服务器购买经过内容密钥Ckey加密的数字内容文档1得到内容密文1。该步骤只要在步骤209之前执行即可。
步骤209:用户甲通过PC向License服务器发送获取内容密钥Ckey请求,请求获取携带Ckey的使用证书(即License),用于解密使用数字内容文档1。
步骤210:License服务器根据该获取Ckey请求向用户甲索取PC所在域的域标识。
步骤211:用户甲通过PC向License服务器发送域标识domain1(域标识domain1也可在请求license时一同发出,则步骤210和步骤211可以省略)。
步骤212:License服务器向域管理服务器请求domain1域的License加密密钥(License加密密钥与解密密钥可相同-用对称加密方法,也可不同-用非对称加密方法)。
步骤213:域管理服务器将domain1域的License加密密钥LPKey1告知License服务器。(此步骤也可包含对License服务器的验证)
步骤214:License服务器根据LPKey1加密Ckey构成Ckey密文,得到文档1的使用证书license(包括Ckey密文)。
步骤215:License服务器将文档1的使用证书license返回给PC机。
步骤216:PC机通过LKey1解密Ckey密文得到Ckey。
步骤217:PC机通过Ckey解密内容密文1得到数字内容文档1。
对于便携式阅读器前面步骤类同,步骤215中PC机将license自由拷贝到便携式阅读器使用,或便携式阅读器通过PC机。这样无需便携式阅读器重新获取新的license。
进一步在上述过程中,在用户设备加入域时,首先判断是否是临时设备的加入请求,经判断PC机和便携式阅读器不是临时设备,将PC机的skeyi(i=1)保存到域管理服务器数据库,并与域标识domain1关联。然后根据domain1域的标识集skeyi(i=1,2)和完全公钥广播加密算法计算出相应的公钥Skey1,进而得到domain1域的License解密密钥密文,生成包含License解密密钥密文和域标识domain1等信息的域证书v1.0,将域证书v1.0返回给PC机。
进一步,用户甲还有一个不是临时设备的PDA希望加入该域,需重新确定用户设备标识集,重新确定的用户设备标识集,PDA的用户设备标识skeyi(i=3)则重新确定的用户设备标识集为:skeyi(i=1,2,3),根据skeyi(i=1,2,3)利用完全公钥广播加密算法重新计算出相应的域公钥Skey2,此时License解密密钥Lkey1不做更新,利用域公钥Skey2加密Lkey1得到新的License解密密钥密文。该PDA可直接拷贝PC机由License服务器获取文档1的使用证书1icense。使用skeyi(i=3)解密新的License解密密钥密文得到LKey1,之后得到文档1。PDA的加入对PC机和便携式阅读器的使用不会带来任何影响。进一步,用户甲的便携式阅读器退出域,重新确定的用户设备标识集,重新确定的用户设备标识集为:skeyi(i=1,3),根据skeyi(i=1,3)利用完全公钥广播加密算法重新计算出相应的域公钥Skey3,选取对应反单向函数链的下一个数(第二个)作为新的License解密密钥Lkey2并替换现有的License解密密钥Lkey1,其余步骤和上述过程类同,此处不再赘述。由于采用反单向函数链的方式获得Lkey2,因此Lkey2可解密LPKey1,这样对之前获得的Ckey密文还可以继续解密使用。若采用随机生成一个密钥作为License解密密钥LKey1的方式,则域管理服务器需要将原License解密密钥LKey1和新生成的License解密密钥LKey2一同发送给PDA,这样PDA就可以解密原License加密密钥LKey1。
由于便携式阅读器的退出将导致License解密密钥Lkey1更新为Lkey2,对于更新后产生的数字内容文档2使用license,旧的域证书v1.0中的License解密密钥密文将不能适用,PC机将给予提醒,该PC自动完成域证书的更新,更新为v2.0。PDA可通过拷贝的方式将新证书v2.0导入。为了避免新旧证书互相导入造成混乱,证书的新旧由版本号(v1.0为旧版本号,v2.0为新版本号)决定。在导入证书时,域证书v2.0覆盖域证书v1.0。即在已有域证书v2.0的情况下,域证书v1.0将不能导入。
进一步,若用户甲还在用他人的PC上网,用户甲告知域管理服务器此PC是临时设备,则产生一个具有时间限制的临时证书,使用临时PC的用户设备标识skeyi(i=4)加密现有的Lkey1生成License解密密钥临时密文,并将包括License解密密钥临时密文的临时证书返回给临时PC。临时PC根据skeyi(i=4)解密License解密密钥临时密文得到Lkey1。
临时PC的临时证书到达时限后,临时设备由于证书有时间限制,从本地删除证书即可,无需执行退出域操作。
进一步,域管理服务器接收到用户乙通过其笔记本电脑新建域请求,产生一个唯一的域标识domain2,随机生成一个新的反单向函数链,从中取出第一个密钥作为domain2域的License解密密钥LKey1’,笔记本电脑申请注册到domain2域中,管理服务器将笔记本电脑加入到domain2域中。后续的加解密过程与前述过程类同此处不再赘述。
本发明提供的第三实施例是一种基于域的数字权限管理域管理服务器,其结构如图4所示,包括:
域建立模块310:用于建立域,生成License解密密钥,并将至少两用户设备加入到域中;
标识集获取模块320:用于获取用户设备标识集,所述用户设备标识集为加入到域中的全部用户设备的用户设备标识的集合;
域公钥计算模块330:用于通过由多元素加密单元素解密的加密算法和用户设备标识集计算得到域公钥;
解密密钥加密模块340:用于采用域公钥加密License解密密钥得到License解密密钥密文,并发送给用户设备。
本发明提供的第四实施例是一种基于域的数字权限管理***,其结构如图5所示,包括:
域建立模块310:用于建立域,生成License解密密钥,并将至少两用户设备加入到域中;
标识集获取模块320:用于获取用户设备标识集,所述用户设备标识集为加入到域中的全部用户设备的用户设备标识的集合;
域公钥计算模块330:用于通过由多元素加密单元素解密的加密算法和用户设备标识集计算得到域公钥;
解密密钥加密模块340:用于采用域公钥加密License解密密钥得到License解密密钥密文,并发送给用户设备;
解密密钥解密模块350:用于域中的任一用户设备根据其用户设备标识,解密License解密密钥密文得到License解密密钥。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。