CN100499450C - 数字资源的分层密钥生成方法及其设备 - Google Patents

数字资源的分层密钥生成方法及其设备 Download PDF

Info

Publication number
CN100499450C
CN100499450C CNB031232221A CN03123222A CN100499450C CN 100499450 C CN100499450 C CN 100499450C CN B031232221 A CNB031232221 A CN B031232221A CN 03123222 A CN03123222 A CN 03123222A CN 100499450 C CN100499450 C CN 100499450C
Authority
CN
China
Prior art keywords
node
key
digital resource
resource
nodes
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.)
Expired - Fee Related
Application number
CNB031232221A
Other languages
English (en)
Other versions
CN1540914A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CNB031232221A priority Critical patent/CN100499450C/zh
Priority to US10/825,913 priority patent/US7421081B2/en
Publication of CN1540914A publication Critical patent/CN1540914A/zh
Application granted granted Critical
Publication of CN100499450C publication Critical patent/CN100499450C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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]

Abstract

一种数字资源的分层密钥的生成方法,将所述数字资源安排为至少一个树结构进行管理,所述树结构的根节点代表数字资源的全集,其它每个组节点分别代表数字资源的各级子集合,最低一级为叶节点,其特征在于所述方法包括:生成所述根节点的密钥;以及从所述根节点的密钥开始,利用父节点的密钥按预定函数逐级计算其子节点的密钥,直到叶节点为止。

Description

数字资源的分层密钥生成方法及其设备
技术领域
本发明涉及一种数字资源的密钥管理方法,更具体地涉及一种数字资源的分层密钥生成方法。
背景技术
近年来,人们日常生活中的所有活动都趋于数字化,为了保护数字资源,广泛使用了具有加密技术的各种装置,也因此产生了对密钥进行管理的需要。由于要保护的数字资源的数量变得越来越庞大,如何安全地管理加密密钥成为更加突出的问题。
密钥管理包括下面三个基本特征:(1)密钥生成:为数字资源生成安全的加密密钥;(2)密钥存储:以安全的方式存储加密密钥;(3)密钥分配:将加密密钥传递给合法用户。
下面举出一个密钥管理的例子。假设在一个成熟可靠的电子教学系统中,所有的讲稿(教学资料)都应该用不同的密钥进行加密,并且已经为这些讲稿付费的所有合法用户都应该获得这些讲稿的加密密钥。在传统的方法中,密钥管理系统首先为每个讲稿生成密钥,然后将它们安全地存储在数据库中,当一个用户为某些资源付费时,该密钥管理系统应该将该资源的相应密钥传递给该用户。
传统的密钥管理系统看起来好象工作得很好,但是当数字资源的数量爆炸性增长的时候,其成本会变得非常高。例如,如果在该电子教学系统中有100,000个讲稿,一个用户订购了其中的20,000个,并为这些讲稿付了费,那么就应该将这20,000个讲稿所对应的密钥安全地传递给给用户。这里有两种可能的传递方法:(1)预先传递20,000个密钥;(2)在该用户需要的时候传递密钥。很显然,前者不够灵活,因为这些讲稿在以后的时间里可能被升级,也可能有一些附加的讲稿或组合在一起的讲稿,而这些变化不能在该用户已经得到的20,000个密钥中得到反映,即该用户可能得不到这些变化后的讲稿。相比较而言,后者虽然没有上述缺点,但是它却有成本非常高的缺点,因为为了获得这些密钥,仅仅该用户一个人就要进行20,000次请求。
近年来,在数字媒体的保护中主要存在两种密钥管理系统,即用于付费电视的条件访问(CA)系统和用于因特网的数字权利管理(DRM)系统。在CA系统中,除了即看付费(pay-per-view)的节目外,一个月中的所有节目仅有一个密钥,这样,用户就不能仅仅订购单独一天甚至一个小时的节目,因此这个系统不够灵活。在DRM系统中,用户每次购买内容时,服务器都要检索内容的密钥,因此当用户和资源的数量变得非常庞大的时候,服务器的负担就会变得很繁重。因此,上述CA和DRM系统的主要问题都在于密钥的存储和分配,而不是密钥的生成。
发明内容
为了解决上述CA系统和DRM系统中的问题,本发明的目的是提供一种数字资源的分层密钥生成方法。在本发明的分层密钥生成方法中,将所有的资源按照树结构进行管理,其中该树结构包括组节点和叶节点,每个组节点又包括根节点和非根节点的其它组节点,每个节点都对应着该数字资源中的不同的集合。每个上一级节点称为其下一级节点的父节点,而每个下一级节点称为其上一级节点的子节点。在本发明中,只随机地给出根节点的密钥,而其它节点的密钥都可以根据该节点的父节点的密钥利用单向函数计算得到。
因此,为了实现上述目的,本发明提供一种数字资源的分层密钥的生成方法,其中将所述数字资源安排为至少一个树结构进行管理,所述树结构的根节点代表数字资源的全集,其它每个组节点分别代表数字资源的各级子集合,最低一级为叶节点,其特征在于所述方法包括:生成所述根节点的密钥;以及从所述根节点的密钥开始,逐级利用父节点的密钥按预定函数计算其子节点的密钥,直到叶节点为止。
本发明还提供一种用于生成数字资源的分层密钥的设备,包括:密钥树管理装置,用于将所述数字资源安排为至少一个树结构进行管理,所述树结构的根节点代表数字资源的全集,其它每个组节点分别代表数字资源的各级子集合,最低一级为叶节点,其特征在于,所述设备还包括:根节点密钥产生装置,用于生成所述根节点的密钥;和计算装置,用于从所述根节点的密钥开始,逐级利用父节点的密钥按预定函数计算其子节点的密钥,直到叶节点为止。
本发明还提供一种用于管理数字资源的分层密钥的服务器设备,包括:密钥树管理装置,用于将所述数字资源安排为至少一个树结构进行管理,所述树结构的根节点代表数字资源的全集,其它每个组节点分别代表数字资源的各级子集合,最低一级为叶节点,其特征在于所述服务器设备还包括:根节点密钥产生装置,用于生成所述根节点的密钥;第一计算装置,用于从所述根节点的密钥开始,逐级利用父节点的密钥按预定函数计算其子节点的密钥,直到叶节点为止;和加密装置,用于直接或间接利用所计算出的节点的密钥加密相应的数字资源。
本发明还提供一种用于使用数字资源的分层密钥的客户机设备,其中所述数字资源被安排为至少一个树结构进行管理,所述树结构的根节点代表数字资源的全集,其它每个组节点分别代表数字资源的各级子集合,最低一级为叶节点,其特征在于所述客户机设备包括:第二计算装置,用于根据从一服务器设备接收的节点密钥,用预定函数依次计算出该节点的各个下级节点的密钥,直到叶节点为止;以及解密装置,用于使用已计算出的各个叶节点的密钥来解密该各个叶节点包含的数字资源。
尽管本发明是一种密钥的生成方法,但是其也非常有利于密钥的存储和分配。根据本发明的方法生成的密钥数量大大减少,因此节省了进行密钥存储和分配所需要的大量成本,并且还具有足够的灵活性来支持资源的插入和删除等的变化。
附图说明
根据下面结合附图对本发明的具体实施例的详细描述,本发明的上述特点和优点将变得更加明显,其中:
图1是根据本发明对资源进行树结构管理的示意图。
图2是应用本发明的系统的示意图。
图3是示出根据本发明在服务器1中进行密钥管理的方法的流程图。
图4是示出根据本发明在客户机2中进行密钥管理的方法的流程图。
具体实施方式
下面将结合附图对本发明的具体实施方式进行详细地说明。
图1是根据本发明对电子教学系统中的资源进行树结构管理的示意图。
在图1的电子教学系统中,所有的讲稿都是数字化的,并被组织为树结构的各个课程。在本发明中,这些数字化的讲稿等都被称为数字资源。另外,该数字资源也可以是视频、音频和文本资料中的至少一种。其中,标记为1的节点是根节点,代表一种主课程,如数学、英语、和MBA课程等。标记为2的节点是非根组节点(也可以称其为子节点),各个非根组节点代表主课程下面的子课程,如在主课程节点“数学/”的下面再细分的节点“数学/几何/”、“数学/代数/”和在节点“数学/几何/”下再细分的节点“数学/几何/三角/”、“数学/几何/矩形/”等。根节点和非根的组节点都可以被称为组节点。而标记为3的节点是资源节点(也被称作叶节点,是该树结构中的最低一级),其包括各种课程中所具有的各个具体的讲稿,如资源节点“数学/几何/矩形/介绍”、“数学/几何/矩形/练习”、和“数学/几何/介绍”等。
为了将这些资源组织为树结构,需要三个基本的功能:(1)创建根节点,该根节点既可以是组节点,也可以是资源节点(即叶节点);(2)在组节点下面创建下一级的组节点;(3)在组节点的下面创建资源节点。
另外,一个组节点可以有多级的次级节点,其中上一级的节点称为下一级节点的父节点,而下一级节点称为上一级节点的子节点。这些子节点既可以是组节点,也可以是资源节点。资源节点包括具体的数字资源(如讲稿),并且它不再具有子节点。从图1中可以看出,这个资源管理体系类似于一般的文件管理系统,但它可以有多个根节点。
如上所述的电子教学系统的密钥管理会变得非常容易。如果用户想要参加一个课程,他/她只需要简单地获得该课程的密钥,即某个组节点的密钥,而不需要获得该课程下面的各个子课程的所有密钥。如果该用户仅仅要订购三个讲稿,那么他/她就不需要订购整个课程,三个独立的讲稿密钥对于该用户来说已经足够了。
例如,在图1中,如果根节点“数学/”具有密钥K1,那么组节点“数学/几何/”将具有密钥K2=F(K1,“数学/几何/”)。并且节点“数学/几何/矩形/”将具有密钥K3=F(K2,“数学/几何/矩形/”)。最后的资源节点(即叶节点)“数学/几何/矩形/介绍”将具有密钥K41=F(K3,“数学/几何/矩形/介绍”)。同理,资源节点“数学/几何/矩形/练习”将具有密钥K42=F(K3,“数学/几何/矩形/练习”),资源节点“数学/几何/矩形/问题解答”将具有密钥K43=F(K3,“数学/几何/矩形/问题解答”)。
例如,在上述各个密钥中,K41或K41的一部分或对K41进行演算后所得的结果被用来加密资源节点“数学/几何/矩形/介绍”中的资源,即与该节点相对应的讲稿。
当然,也可以利用随机方法或其它方法为例如“数学/几何/矩形/介绍”的资源节点预先分配一个加密密钥,然后再利用K41或K41的一部分或是对K41进行演算后所得的结果来加密该预先分配的加密密钥。
在本发明的这个实施例中,也可以在每个组节点的位置处存储相应的数字资源,即讲稿,从而如上所述地直接或间接地利用密钥K1、K2、K3或K4来解密存储于相应节点位置处的数字资源。
这里,F()是单向函数,表示一种算法,该算法的逆算法是不可计算的。例如,y=F(x)非常容易计算,而逆函数x=F-1(y)基本上是不可能计算出来的。另外,在本发明中,单向函数F()可以由服务器侧提供给客户机侧,也可以不由服务器侧提供给客户机侧,而是内嵌于客户机内。
很清楚,如果用户具有密钥K1、K2、K3和K4(以下将资源节点密钥K41、K42、K43统称为K4)中的任何一个,他/她都能解密该密钥所对应的节点的后代节点中所包含的资源(即具体的讲稿)。一般情况下,如果给定了一个组节点的密钥,也就是实际上给出了该组节点的所有后代节点的密钥,因为该用户可以从该节点的密钥计算出所有该节点的后代节点的密钥,例如用户可以从节点密钥K3计算出其后代的各个资源节点的密钥K41、K42、K43。这样,如果向用户授权了一组资源,只需要给他/她该组节点的密钥就足够了。
例如,如果将组密钥K3分配给用户A,那么用户A可以解密在该组节点“数学/几何/矩形/”以下的任何资源,当然也包括将来经过变化(如改变、增加或删除等)的各个资源。例如即使现在系统中还没有资源“数学/几何/矩形/将来”,但是只要该资源一出现在系统中,用户A就可以解密该资源,而无需分配给其额外的密钥,这也为将来的密钥分配节省了大量的成本。
下面将结合图2说明应用本发明的系统。
图2是应用本发明的系统的示意图。
图2的系统可以是例如电子教学系统(当然其它用途的系统也是可以的),包括相互连接起来的服务器1和客户机2。当然,服务器1和客户机2也可以通过诸如因特网、企业网或局域网等的网络(未示出)相互连接。
服务器1除了包括一般的装置,如中央处理单元(CPU)、总线、存储器(ROM、RAM等)(未示出)外,还包括密钥生成装置19,用于产生所需要的各个密钥。所述密钥生成装置19包括根节点密钥产生装置14,用于使用随机的方法或其它方法产生根节点的密钥;和第一计算装置16,用于使用诸如单向函数的函数在该根节点密钥的基础上逐级计算该根节点的各个子节点的密钥,直到叶节点为止。同时,服务器1还包括加密装置17,用于使用已计算出的密钥来加密相应节点中的资源,如教学讲稿等(另外,也可以利用随机方法或其它方法为例如“数学/几何/矩形/介绍”的资源节点预先分配一个加密密钥,然后再利用已计算出来的密钥的全部或一部分对该计算出的密钥进行演算后所得的结果来加密该预先分配的加密密钥);以及密钥树管理装置12,用于创建密钥的树结构(如前面结合图1所述的树结构),对创建出来的树结构进行维护,并对所计算出来的各个密钥进行存储和管理。
另外,服务器1还包括一第一通信端口(未示出),用于通过相应的连接线路或网络从客户机2接收请求和向客户机2发送被请求的内容和密钥等。
客户机2除了包括一般的装置,如中央处理单元(CPU)、总线、存储器(ROM、RAM等)(未示出)外,还包第二计算装置26,用于使用从服务器1接收的、或其内部所嵌入的算法程序,在从服务器1接收的节点密钥的基础上逐级计算所需的各个子节点的密钥,以至最终计算出所需要的资源节点的密钥;和解密装置27,用于使用已计算出的所述各个节点的密钥来解密所需要的资源,如教学讲稿等。
另外,客户机2还包括一第二通信端口(未示出),用于通过相应的连接线路或网络向服务器1发送请求,并从服务器1接收被请求的内容和密钥等。
当然,在上述服务器1和客户机2之间的通信中,经加密的资源以及客户机2所需要的节点密钥可以由服务器1同时传送给客户机2,也可以分别进行传送。如在本发明中,服务器1只应客户机2的请求传送相应的节点密钥,被加密的资源等可以在其它时间、以其它任何方式传送给客户机2,例如通过光盘等的方式将被加密的资源传递给客户机2等。
上述的第一和第二计算装置16和26可以通过在CPU上运行相应的软件程序来实现,也可以通过将一定的软件程序固化在诸如CPU的装置上而得到的硬件的形式来实现。另外,服务器1中的根节点密钥产生装置14、第一计算装置16和加密装置17不限于上述的结构,也可以通过仅仅将它们的功能合并在一起的一个装置来实现。其中的根节点密钥产生装置14和第一计算装置16也不限于上述的结构,它们可以不包含在密钥产生装置19中,而是可以独立于密钥产生装置19之外。客户机2中的第二计算装置26和解密装置27不限于上述的结构,也可以通过仅仅将它们的功能合并在一起的一个装置来实现。
另外,上述各装置不限于仅分别包括在服务器1和客户机2中,也可以通过可操作的连接方式被置于服务器1或客户机2的外部。
下面将结合图3详细地说明本发明的密钥管理方法。
图3是示出根据本发明在服务器1中进行密钥管理的方法的流程图。
其中,在步骤S100,由密钥树管理装置12创建各资源的树结构。可以根据资源的种类和大小创建多个树结构,如图1中所示。然后,处理过程前进到步骤S104。
在步骤S104,服务器1中的根节点密钥产生装置14产生资源树结构的根节点的密钥K1,并将该密钥K1传送给第一计算装置16。该根节点密钥K1可以是随机产生的,当然也可以用其它的方法来产生。
然后,在步骤S106,第一计算装置16在所产生的根节点密钥K1的基础上,利用单向函数F()逐级地计算出各个子节点的密钥,直到资源节点(即叶节点)的密钥K4(K41、K42、K43)为止,并用所计算出的资源节点密钥K4或K4的一部分加密所对应的资源。具体地说,第一计算装置16先在所产生的根节点密钥的基础上,利用单向函数计算出该根节点的子节点(可能是一个组节点)的密钥,这里是组节点“数学/几何/”的密钥K2,然后再在这个组节点密钥K2的基础上计算该组节点的子节点(可能是另一个组节点或资源节点)的密钥,这里是组节点“数学/几何/矩形/”的密钥K3。这样一级一级地计算,直到计算出最后的资源节点密钥K4(包括K41、K42、K43)。
在计算出最后的资源节点的密钥K4后,服务器1用相应的节点密钥加密该各个节点所包括的资源。
在上述的计算过程中,所述计算各节点的密钥的计算程序可以相同,也可以不同。另外,即使各个节点具有相同的父节点,所得到的这些节点的各个密钥也是不相同的,例如资源节点“数学/几何/矩形/介绍”、“数学/几何/矩形/练习”和“数学/几何/矩形/问题解答”虽然具有相同的父节点“数学/几何/矩形/”,但是它们所分别具有的密钥K41、K42、K43各不相同,这样就可以保证各个资源具有更高的安全性。
接下来,处理过程前进到步骤S107。在步骤S107,服务器1判断是否从客户机2接收到了对某些资源的请求。如果没有从客户机2接收到对特定资源的请求,则服务器1继续处于等待状态,直到从客户机2接收到请求。
如果在步骤S107中判断从客户机2接收到对某个资源的请求,例如是对节点“数学/几何/矩形/介绍”中的资源的请求,则处理过程前进到步骤S108。
接下来,在步骤S108,服务器1将客户机2所请求的相应节点的密钥传送给客户机2。当然,同时也可以合并地、或单独地将客户机2所请求的经加密的资源传送给该客户机2。
在完成步骤S108中的处理后,服务器1中的处理返回到步骤S107之前,处于等待状态,以等待接收下一个用户请求。
当然,在本发明的实施例中,在服务器1从客户机2接收到请求后,还可以包括一个认证过程,以检验发出请求的客户机2是否是其所请求资源的合法用户,例如,该客户机2是否已经为其所请求的资源付费等。
另外,在本发明的实施例中,服务器1在进行上述处理的过程中,还可以通过输入接口(未示出)从管理员处接受指令,并根据该管理员的指令对资源树的结构进行修改及对资源的内容进行增加/修改/删除等处理,并根据修改后的资源树结构进行重新生成根密钥、逐级计算各级密钥、加密修改后的资源内容等等的处理。
下面将结合图4描述本发明的密钥管理的方法在客户机2中的应用。
图4是示出根据本发明在客户机2中进行密钥管理的方法的流程图。
在图4中,在步骤S200,客户机2经输入装置(未示出)从用户接收解密某个经加密的资源的请求,用来解密节点“数学/几何/矩形/”中的资源。接收到该请求后,客户机2在步骤S202检查本地的密钥库(未示出),以确定在本地的密钥库中是否存储有用来解密用户所请求的经加密的资源的密钥,例如是密钥K3。在上述的密钥库中,存储有该客户机2以前从服务器1所接收的所有密钥。然后处理过程前进到步骤S204。
在步骤S204中,客户机2判断在本地的密钥库中是否存储有用来解密节点“数学/几何/矩形/”中的资源的节点密钥K3或其各个上级节点的组密钥。
如果在步骤S204判断在客户机2的密钥库中存储有所请求节点资源的密钥K3,则就用该本地存储的节点密钥K3解密相应节点“数学/几何/矩形/”的资源。另外,如果有必要,例如如果还需要资源节点密钥K4,以解密节点“数学/几何/矩形/”的下级节点的资源,例如是资源节点“数学/几何/矩形/介绍”中的资源时,则第二计算装置26利用该本地存储的节点密钥K3计算出所需要的资源节点的密钥K41,并使用资源节点密钥K41解密相应的资源。
如果在客户机2的密钥库中存储有包括所请求节点密钥K3的上级的组节点的密钥,例如可以是K1和K2,则第二计算装置26利用该本地存储的组节点的密钥K1或K2逐级计算出所需要的资源节点的密钥K3,以及需要的话还计算出资源节点的密钥K41,并使用节点密钥K3以及资源节点密钥K41解密相应的资源。
如果在步骤S204中判断在客户机2的密钥库中没有所请求的组密钥或节点密钥K3,则客户机2在步骤S208中向服务器1发出对密钥K3的请求。然后处理过程前进到步骤S210。
在经服务器1验证该客户机2是合法用户后,在步骤S210,客户机2从服务器1接收相应节点的密钥K,密钥K可能是K3,也可能是K3的上级组节点密钥,例如K1或K2。
在步骤S212,客户机2进行判断,判断所接收的密钥K是所请求的节点密钥还是其上级的组节点密钥。
如果判断是上级组节点的密钥(在本发明的实施例中判断为组节点“数学/几何/矩形/”的密钥K3),则在步骤S214,根据所接收的密钥K3,利用客户机2内部所嵌入的算法程序,逐级地计算出被请求的资源所对应的各个资源节点的密钥,例如是K41、K42或K43,并用所计算出的资源节点的密钥K41、K42或K43及所接收的节点密钥K3解密被请求的资源。上述逐级计算密钥的过程与服务器1中的步骤S106的过程相同,因此省略对其的详细描述。
如果在步骤S212判断所接收的密钥是所请求的资源节点密钥,例如当客户机2请求解密资源节点“数学/几何/矩形/介绍”时,其从服务器1接收的节点密钥是K41,则处理前进到步骤S216。在步骤S216,客户机2确定所接收的节点密钥是所请求的资源节点的密钥K41,因此,客户机2不再进行逐级地计算,而直接利用所接收的资源节点的密钥K41解密所得到的、经过加密的资源。
在上述判断所接收到的节点密钥是对应于哪一个节点密钥的过程中,可以利用服务器1在产生该密钥时对该密钥所加入的标识符来进行,当然也可以通过本领域的技术人员所熟悉的其它方式来进行。
本发明上述产生根节点密钥的方法也可以是这样的,即服务器1不是在接到客户机2的请求前预先存储了相应根节点的密钥及逐级计算出来的各级密钥,而是在接到客户机2的请求后才产生某个根节点的密钥,然后再逐级计算出各级密钥。
通过上述的描述可知,由于在本发明的方法中,服务器1在接收到来自客户机2的请求前只存储根节点的密钥就已经足够了,或根本无须存储各个密钥,所以本发明的方法将减少对资源密钥的存储要求。并且密钥的分配也得到简化:假设一个用户被授权使用20,000个资源,他/她只需要获得几个(例如可以是20个)组节点密钥就可以了,而无需获得20,000个密钥。这样就大大减少了在网络上传送密钥所需要的大量带宽,节省了进行密钥存储和分配所需要的大量成本。
上面对本发明的实施例进行了详细地描述。本领域的普通技术人员应该明白,按照本发明的精神及指导思想对本发明做出的各种修改都在本发明后附的权利要求书所要求保护的范围内。

Claims (9)

1.一种数字资源的分层密钥的生成方法,包括:
将所述数字资源安排为至少一个树结构进行管理,所述树结构的根节点代表数字资源的全集,其它每个组节点分别代表数字资源的各级子集合,最低一级为叶节点;
生成所述根节点的密钥;
从所述根节点的密钥开始,利用父节点的密钥按预定函数逐级计算其子节点的密钥,直到叶节点为止;
直接或间接利用所计算出的所述叶节点的节点密钥加密相应节点中的数字资源;以及
响应于外部设备的请求,将相应节点的密钥发送给所述外部设备。
2.根据权利要求1所述的方法,其特征在于:所述预定函数是单向函数,使得即使两个节点具有相同的父节点,计算所得的所述两个节点的密钥也不相同。
3.根据权利要求1所述的方法,其特征在于:采用随机的方式生成所述根节点的密钥。
4.根据权利要求1所述的方法,其特征在于:所述直接或间接利用所计算出的所述叶节点的节点密钥加密相应节点中的数字资源包括:直接利用所生成的节点密钥的全部或部分或其变形形式加密对应的数字资源;或预先分配一个加密密钥以加密所述数字资源,再利用所生成的节点密钥的全部或部分或其变形形式加密所述加密密钥,其中所述变形形式是指对该节点密钥再演算的结果。
5.根据权利要求1所述的方法,其特征在于:所述数字资源是视频、音频和文本资料中的至少一种。
6.一种用于管理数字资源的分层密钥的服务器设备,包括:
密钥树管理装置,用于将所述数字资源安排为至少一个树结构进行管理,所述树结构的根节点代表数字资源的全集,其它每个组节点分别代表数字资源的各级子集合,最低一级为叶节点,其特征在于所述服务器设备还包括:
根节点密钥产生装置,用于生成所述根节点的密钥;
计算装置,用于从所述根节点的密钥开始,利用父节点的密钥按预定函数逐级计算其子节点的密钥,直到叶节点为止;
加密装置,用于直接或间接利用所计算出的所述叶节点的节点密钥加密相应节点中的数字资源;和
接口装置,用于响应于外部设备的请求,将被请求的节点密钥发送给所述外部设备。
7.根据权利要求6所述的服务器设备,其特征在于:所述预定函数是单向函数,使得即使两个节点具有相同的父节点,计算所得的所述两个节点的密钥也不相同。
8.一种用于使用数字资源的分层密钥的客户机设备,其中所述数字资源被安排为至少一个树结构进行管理,所述树结构的根节点代表数字资源的全集,其它每个组节点分别代表数字资源的各级子集合,最低一级为叶节点,其特征在于所述客户机设备包括:
接口装置,用于从服务器设备接收节点密钥;
计算装置,用于根据所接收的节点密钥,用预定函数依次计算出该节点的各个下级节点的密钥,直到叶节点为止;以及
解密装置,用于使用已计算出的所述叶节点的各个节点的密钥来解密该各个节点包含的数字资源。
9.根据权利要求8所述的服务器设备,其特征在于:所述预定函数是单向函数,使得即使两个节点具有相同的父节点,计算所得的所述两个节点的密钥也不相同。
CNB031232221A 2003-04-22 2003-04-22 数字资源的分层密钥生成方法及其设备 Expired - Fee Related CN100499450C (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNB031232221A CN100499450C (zh) 2003-04-22 2003-04-22 数字资源的分层密钥生成方法及其设备
US10/825,913 US7421081B2 (en) 2003-04-22 2004-04-16 Method and apparatus for generating hierarchical keys of digital assets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031232221A CN100499450C (zh) 2003-04-22 2003-04-22 数字资源的分层密钥生成方法及其设备

Publications (2)

Publication Number Publication Date
CN1540914A CN1540914A (zh) 2004-10-27
CN100499450C true CN100499450C (zh) 2009-06-10

Family

ID=33163877

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031232221A Expired - Fee Related CN100499450C (zh) 2003-04-22 2003-04-22 数字资源的分层密钥生成方法及其设备

Country Status (2)

Country Link
US (1) US7421081B2 (zh)
CN (1) CN100499450C (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7349538B2 (en) * 2002-03-21 2008-03-25 Ntt Docomo Inc. Hierarchical identity-based encryption and signature schemes
FR2840134B1 (fr) * 2002-05-21 2004-08-13 France Telecom Procede de controle d'acces a des ressources cryptographiques, plate-forme informatique et module logiciel utilisables dans la mise en oeuvre du procede
US7657748B2 (en) * 2002-08-28 2010-02-02 Ntt Docomo, Inc. Certificate-based encryption and public key infrastructure
KR100727387B1 (ko) * 2004-10-22 2007-06-12 삼성전자주식회사 네트워크 시스템에서의 키 관리방법
US9787471B1 (en) * 2005-06-02 2017-10-10 Robert T. Jenkins and Virginia T. Jenkins Data enciphering or deciphering using a hierarchical assignment system
US8087092B2 (en) * 2005-09-02 2011-12-27 Uniloc Usa, Inc. Method and apparatus for detection of tampering attacks
CN1964253B (zh) * 2005-11-09 2010-07-21 华为技术有限公司 一种在密钥污染后重新生成密钥的方法
CN1964254B (zh) * 2005-11-11 2012-11-21 华为技术有限公司 一种密钥刷新的方法
CN1859086B (zh) * 2005-12-31 2010-06-09 华为技术有限公司 一种内容分级访问控制系统和方法
US7836313B2 (en) * 2006-03-21 2010-11-16 Oracle America, Inc. Method and apparatus for constructing a storage system from which digital objects can be securely deleted from durable media
US7769176B2 (en) * 2006-06-30 2010-08-03 Verint Americas Inc. Systems and methods for a secure recording environment
US20080014568A1 (en) * 2006-07-12 2008-01-17 Theodore Craig Hilton Method and apparatus for correlating and aligning educational curriculum goals with learning content, entity standards and underlying precedents
US7900252B2 (en) * 2006-08-28 2011-03-01 Lenovo (Singapore) Pte. Ltd. Method and apparatus for managing shared passwords on a multi-user computer
US8284929B2 (en) * 2006-09-14 2012-10-09 Uniloc Luxembourg S.A. System of dependant keys across multiple pieces of related scrambled information
JP4179563B2 (ja) * 2006-09-21 2008-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 暗号通信の暗号鍵を管理する技術
US8379865B2 (en) * 2006-10-27 2013-02-19 Safenet, Inc. Multikey support for multiple office system
US8160962B2 (en) 2007-09-20 2012-04-17 Uniloc Luxembourg S.A. Installing protected software product using unprotected installation image
US8464059B2 (en) * 2007-12-05 2013-06-11 Netauthority, Inc. System and method for device bound public key infrastructure
GB2467580B (en) * 2009-02-06 2013-06-12 Thales Holdings Uk Plc System and method for multilevel secure object management
US20100325446A1 (en) * 2009-06-19 2010-12-23 Joseph Martin Mordetsky Securing Executable Code Integrity Using Auto-Derivative Key
US9141489B2 (en) * 2009-07-09 2015-09-22 Uniloc Luxembourg S.A. Failover procedure for server system
US8769296B2 (en) * 2009-10-19 2014-07-01 Uniloc Luxembourg, S.A. Software signature tracking
NO331571B1 (no) * 2009-10-30 2012-01-30 Uni I Stavanger System for a beskytte en kryptert informasjonsenhet
EP2731040B1 (en) 2012-11-08 2017-04-19 CompuGroup Medical SE Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
US10200345B2 (en) 2013-10-29 2019-02-05 Uniloc 2017 Llc Electronic mail sender verification
US9876991B1 (en) 2014-02-28 2018-01-23 Concurrent Computer Corporation Hierarchical key management system for digital rights management and associated methods
KR102306676B1 (ko) 2014-06-27 2021-09-28 삼성전자주식회사 스토리지 디바이스용 호스트 키 생성 방법 및 시스템
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US10237061B2 (en) * 2015-09-25 2019-03-19 International Business Machines Corporation Generating master and wrapper keys for connected devices in a key generation scheme
US10156842B2 (en) 2015-12-31 2018-12-18 General Electric Company Device enrollment in a cloud service using an authenticated application
CN106599719A (zh) * 2016-12-12 2017-04-26 西安电子科技大学 支持高效密钥管理的密文检索方法
US11682084B1 (en) * 2020-10-01 2023-06-20 Runway Financial, Inc. System and method for node presentation of financial data with multimode graphical views
CN112235324B (zh) * 2020-12-14 2021-03-02 杭州字节信息技术有限公司 一种基于KeyStore密钥树的密钥管理系统、更新方法、读取方法
CN114900442B (zh) * 2022-05-27 2024-03-29 中金金融认证中心有限公司 用于对业务数据进行预测的方法及其相关产品

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3651721B2 (ja) * 1996-11-01 2005-05-25 株式会社東芝 移動計算機装置、パケット処理装置及び通信制御方法
WO1999038149A1 (en) * 1998-01-26 1999-07-29 Wayne Westerman Method and apparatus for integrating manual input
US7103185B1 (en) * 1999-12-22 2006-09-05 Cisco Technology, Inc. Method and apparatus for distributing and updating private keys of multicast group managers using directory replication
DE10038068A1 (de) * 2000-08-04 2002-02-14 Deutsche Telekom Ag Verfahren zur Übertragung von Daten
US6862354B1 (en) * 2000-09-29 2005-03-01 Cisco Technology, Inc. Stream cipher encryption method and apparatus that can efficiently seek to arbitrary locations in a key stream
US7085744B2 (en) * 2000-12-08 2006-08-01 International Business Machines Corporation Method and system for conducting a transaction over a network
JP4281252B2 (ja) * 2001-01-16 2009-06-17 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム記憶媒体
US7016493B2 (en) 2001-03-01 2006-03-21 Asier Technology Corporation Key matrix system
US6895503B2 (en) * 2001-05-31 2005-05-17 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
EP1464139A2 (en) * 2001-10-26 2004-10-06 Matsushita Electric Industrial Co., Ltd. Digital work protection system, key management apparatus, and user apparatus
US7308583B2 (en) * 2002-01-25 2007-12-11 Matsushita Electric Industrial Co., Ltd. Data distribution system
US6847968B2 (en) * 2002-02-08 2005-01-25 William M. Pitts Method for facilitating access to remote files
US7287033B2 (en) * 2002-03-06 2007-10-23 Ori Software Development, Ltd. Efficient traversals over hierarchical data and indexing semistructured data
JP4447821B2 (ja) * 2002-04-15 2010-04-07 ソニー株式会社 情報処理装置および方法
JP3818503B2 (ja) * 2002-04-15 2006-09-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
US20040073903A1 (en) * 2002-04-23 2004-04-15 Secure Resolutions,Inc. Providing access to software over a network via keys
US7240365B2 (en) * 2002-09-13 2007-07-03 Sun Microsystems, Inc. Repositing for digital content access control

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于索引树的分级访问控制. 李春艳,杨永田,刘忻.哈尔滨工程大学学报,第24卷第1期. 2003
基于索引树的分级访问控制. 李春艳,杨永田,刘忻.哈尔滨工程大学学报,第24卷第1期. 2003 *

Also Published As

Publication number Publication date
US20040215661A1 (en) 2004-10-28
US7421081B2 (en) 2008-09-02
CN1540914A (zh) 2004-10-27

Similar Documents

Publication Publication Date Title
CN100499450C (zh) 数字资源的分层密钥生成方法及其设备
CN109144961B (zh) 授权文件共享方法及装置
EP3070630B1 (en) Data system and method
CN109768987A (zh) 一种基于区块链的数据文件安全隐私存储和分享方法
CN101535948B (zh) 保护分布式应用程序信息传递
KR101982237B1 (ko) 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
CN105378649A (zh) 多权限数据安全和访问
CN104756441A (zh) 用于数据访问控制的方法和装置
CN103959302A (zh) 用于安全分布式存储的系统与方法
CN103384196A (zh) 安全数据解析方法和系统
Grechaninov et al. Decentralized Access Demarcation System Construction in Situational Center Network
CN113704210A (zh) 数据共享方法和电子设备
CN106326666A (zh) 一种健康档案信息管理服务系统
CN104883254A (zh) 面向云计算平台的密文访问控制系统及其访问控制方法
CN113486122A (zh) 数据共享方法和电子设备
CN111865609A (zh) 一种基于国密算法的私有云平台数据加解密系统
CN108600174A (zh) 一种大型合作网络的访问控制机制及其实现方法
CN112422287A (zh) 基于密码学的多层级角色权限控制方法和装置
CN100459495C (zh) 一种公开加密方式的口令动态加密输入方法
CN113949541B (zh) 一种基于属性策略的dds安全通信中间件设计方法
Almuzaini et al. Key aggregation cryptosystem and double encryption method for cloud-based intelligent machine learning techniques-based health monitoring systems
CN106161654A (zh) 一种云教育系统
Ramachandran et al. Secure and efficient data forwarding in untrusted cloud environment
EP4035305A1 (en) Partitioning a request into transactions for a blockchain
Punitha et al. Centralized cloud information accountability with bat key generation algorithm (CCIA-BKGA) framework in cloud computing environment

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090610

CF01 Termination of patent right due to non-payment of annual fee