数据处理方法

文档序号:7604340阅读:286来源:国知局
专利名称:数据处理方法
技术领域
本发明涉及保密(secure)通信的数据处理的方法、程序、设备和接收设备。
背景技术
在保密通信中,通常,密钥(key)管理器件和接收设备(终端设备)保存或产生相同的会话密钥数据,并且,密钥管理器件根据会话密钥数据(以下称之为“SEK数据”)来对数据加密,并将它发送到接收设备上。
在这样的保密通信中,根据例如预先确定的多个接收设备的共用会话密钥数据来进行保密通信。
在此情况下,在多个接收设备中,如果有一个或几个接收设备失去了它的权利,密钥管理器件必须更新至今已使用的会话密钥数据,以便撤消(使失效)该接收设备的权利。
作为更新这样的会话密钥数据的方法(密钥获取方法),即撤消处理,例如,已知有LSD方法和CST方法,前者公开于“D.Halevy和A.Shamir合著的“The LCD Broadcast Encryption Scheme”,CRYPTO 2002,Lecture Notes inComputer Science,vol.2442.pp.47-60,2002”,后者公开于“D.Naor,M.Naor和J.Lotspiech合著的“Revocation and tracing schemes for stateless receivers”,见CRYPTO 2001,Lecture Notes in Computer Science,vol.2139.pp.41-62,2001”。
在这些所公开的密钥获取方法中,根据树来进行撤消处理,这个树是由分配给根的密钥管理器件和分配给多个叶的多个接收设备组成的。
在此情况下,密钥管理器件使接收设备保存多个预先根据树定义的密钥数据,并指示不会被撤消的接收设备多个密钥数据的哪个由密钥管理器件使用,以产生保密通信使用的密钥加密密钥数据。
然后,每个不会被撤消的接收设备从预先保存的多个密钥数据中选择指示的密钥数据,然后用所选择的密钥数据并通过以固定方式预先确定的密钥获取方法来产生密钥加密密钥数据。
密钥管理器件用密钥加密密钥数据对新的会话密钥数据加密,并将它传输到不会被撤消的接收设备中。
每个不会被撤消的接收设备通过使用所产生的密钥加密钥数据来对从密钥管理器件接收到的加密的会话密钥数据进行解码,以便得到新的会话密钥数据。
在此,在LSD方法中,在密钥管理侧和伴随有撤消处理的接收设备之间的通信量比在CST方法中的要小,但是,在CST方法中,由接收设备所保存的密钥数据的数量(数据量)比在LSD方法中的要小。
因此,在密钥管理侧和伴随有撤消处理的接收设备之间的通信量和每个接收设备保存的密钥数据量之间有一个折衷(trade off)。
传统上,通过只将LSD方法和CST方法中的一个应用到用于密钥管理的整个树上就能完成撤消处理。
然而,对于只将LSD方法和CST方法中的一个应用到用于密钥管理的整个的树上的传统技术而言,存在这样的一个问题,即在密钥管理侧和伴随有撤消处理的接收设备之间的通信量和每个接收设备保存的密钥数据量之间的折衷是不适当的。
这就是说,有这样的一个问题,在使用LSD方法时,由每个接收设备所保存的密钥数据量变得很大,而在使用CST方法时,伴随有撤消处理的通信量会变得很大,因此,很难建立一个能够实现的系统。并且,随着接收设备的数量变大,这个问题就会变得越发严重。

发明内容
考虑到上述的背景提出了本发明,本发明的目的在于提供一种数据处理方法,它在密钥管理侧和伴随有撤消处理的接收设备之间的通信量和接收设备所保存的数据量之间定义适合的折衷,并提供这种数据处理的程序、设备和接收设备。
为了达到上述的目的,本发明的第一方面的数据处理方法是由密钥管理侧根据定义第一层和第二层的树来进行的数据处理方法,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,该方法包括如下步骤第一步是,从针对在属于第一层的子树中包含有会失效的接收设备的若干个子树而预先定义的多个集之中,指定在子树中只有不会失效的接收设备作为元素的若干个集;第二步是,在第二层内末端上的节点之中,指定在节点的枝上没有任何会失效的接收设备的节点;第三步是,在位于第二步所指定的节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的叶上,指定没有任何会失效的接收设备的节点;第四步是,根据分配给在第三步中所指定的节点的第二密钥数据,与不会失效的接收设备相通信。
本发明第一方面的数据处理方法的操作模式如下。
首先,在第一步中,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只有不会失效的接收设备作为元素的若干个集。
然后,在第二步中,从第二层末端上的节点之中指定在节点的枝上没有任何会失效的接收设备的若干个节点。
然后,在第三步中,从位于第二步所指定的节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的叶上,指定没有任何会失效的接收设备的若干个节点。
然后,在第四步中,根据分配给在第一步中所指定的若干个集的第一密钥数据和分配给在第三步中所指定的若干个节点的第二密钥数据,与不会失效的接收设备相通信。
本发明第二方面的程序是这样的一个程序,它使在密钥管理侧上的计算机根据定义第一层和第二层的树来执行密钥管理处理,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,该程序包括如下几个例程(routine)第一例程,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定在子树中只有不会失效的接收设备作为元素的若干个集;第二例程,在第二层末端上的节点之中,指定在节点的枝上没有任何会失效的接收设备的若干个节点;第三例程,从位于在第二例程所指定的节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的叶上,指定没有任何会失效的接收设备的若干个节点;第四例程,根据分配给在第三例程中所指定的节点的第二密钥数据,与不失效的接收设备相通信。
本发明的第三方面的数据处理设备是根据定义第一层和第二层的树来进行密钥管理的数据处理设备,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,该数据处理设备包括如下一些装置第一装置,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只有不会失效的接收设备作为元素的若干个集;第二装置,在第二层末端上的节点之中,指定在节点的枝上没有任何会失效的接收设备的若干个节点;第三装置,从位于由第二装置所指定的节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的叶上,指定没有任何会失效的接收设备的若干个节点;第四装置,根据分配给由第三装置所指定的节点的第二密钥数据,与不失效的接收设备相通信。
首先,第一装置,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只有不会失效的接收设备作为元素的若干个集。
然后,第二装置从第二层内末端上的节点之中,指定在节点的枝上没有任何会失效的接收设备的若干个节点。
然后,第三装置从位于由第二装置所指定的节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的叶上,指定没有任何会失效的接收设备的若干个节点。
然后,第四装置根据分配给由第一步所指定的若干个集的第一密钥数据以及分配给由第三装置所指定的若干个节点的第二密钥数据,与不失效的接收设备相通信。
本发明第四方面的接收设备是这样的接收设备,它根据定义第一层和第二层的树来与密钥管理侧相通信,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层。该接收设备包括存储装置,用于存储第三密钥数据和多个第二密钥数据,其中,第三密钥数据用于产生多个第一密钥数据,第一密钥数据被分配给多个所定义的集,使得即使在第一层中的接收设备所属于的子树中任何其它的接收设备均无效的情况下,子树中也存在只有不会失效的接收设备作为元素的若干个集,并且,第二密钥数据被分配给位于下述路径上的全部节点,该路径在与第二层中的那些接收设备相应的末端上的节点和根之间;该接收设备还包括处理装置,用于当从密钥管理侧上接收到的密钥指定数据指定第三密钥数据时,根据从存储装置上读出的第三密钥数据来产生第一密钥数据,通过使用第一密钥数据与密钥管理侧通信,在密钥指定数据指定第二密钥数据时,使用从存储装置上读出的第二密钥数据来与密钥管理侧相通信。
本发明第五方面的数据处理方法是由密钥管理侧根据定义第一层和第二层的树进行的数据处理方法,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层;此数据处理方法包括如下步骤第一步是,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只有不失效的接收设备作为元素的若干个集;第二步是,从针对在属于第三层的子树中在枝上含有会失效的接收设备的子树而预先定义的多个集之中,指定只有在子树末端上的节点中仅包括在枝上的不会失效的接收设备的节点作为元素的若干个集;第三步是,在第二层的节点中,从位于在节点的枝上没有会失效的接收设备的节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的枝上,指定没有任何会失效的接收设备的若干个节点;第四步是,根据分配给在第一步中所指定的那些集的第一密钥数据、分配给在第二步中所指定的那些集的第二密钥数据以及分配给在第三步中所指定的那些节点的第三密钥数据,来与不会失效的接收设备相通信。
本发明第五方面的数据处理方法的操作模式如下。
首先,第一步是从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只有不失效的接收设备作为元素的若干个集。
然后,第二步是从针对在属于第三层的子树中在枝上包含有会失效的接收设备的子树而预先定义的多个集之中,指定只有在子树末端上的节点中仅包含在枝上的不会失效的接收设备的节点作为元素的若干个集。
然后,第三步是在第二层的节点中,从位于在节点的枝上没有任何会失效的接收设备的节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的枝上,指定没有任何会失效的接收设备的若干个节点。
然后,第四步是根据分配给在第一步中所指定的那些集的第一密钥数据、分配给在第二步中所指定的那些集的第二密钥数据以及分配给在第三步中所指定的那些节点的第三密钥数据,来与不会失效的接收设备相通信。
本发明的第六方面的程序是这样的程序,它使在密钥管理侧上的计算机根据定义第一层、第二层和第三层的树来执行密钥管理处理,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,而第三层是夹在第一层和第二层之间,该程序包括如下几个例程第一例程是,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只有不失效的接收设备作为元素的若干个集;第二例程是,从针对在属于第三层的子树中在枝上含有会失效的接收设备的子树而预先定义的多个集之中,指定只有在子树末端上的节点中仅包含在枝上的不会失效的接收设备的节点作为元素的若干个集;第三例程是,在第二层的节点中,从位于在节点的枝上没有会失效的接收设备的节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的枝上,指定没有任何会失效的接收设备的若干个节点;第四例程是,根据分配给在第一例程中所指定的那些集的第一密钥数据、分配给在第二例程中所指定的那些集的第二密钥数据以及分配给在第三例程中所指定的那些节点的第三密钥数据,来与不会失效的接收设备相通信。
本发明第七方面的数据处理设备是根据定义第一层、第二层和第三层的树来进行密钥管理的数据处理设备,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,而第三层夹在第一层和第二层之间;该数据处理设备包括如下装置第一装置,用于从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只有不会失效的接收设备作为元素的若干个集;第二装置,用于从针对在属于第三层的子树中在枝上包含有会失效的接收设备的子树而预先定义的多个集之中,指定只有在子树末端上的节点中仅包含在枝上的不会失效的接收设备的节点作为元素的若干个集;第三装置,用于在第二层的节点中,从位于在节点的枝上没有会失效的接收设备的节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的枝上,指定没有任何会失效的接收设备的若干个节点;第四装置,根据分配给由第一装置所指定的那些集的第一密钥数据、分配给由第二装置所指定的那些集的第二密钥数据以及分配给由第三装置所指定的那些节点的第三密钥数据,来与不会失效的接收设备相通信。
本发明的第七方面的数据处理设备的操作模式如下。
首先,第一装置,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只有不会失效的接收设备作为元素的若干个集;然后,第二装置,从针对在属于第三层的子树中在枝上包含有会失效的接收设备的子树而预先定义的多个集之中,指定只有在子树末端上的节点中仅包含在枝上的不会失效的接收设备的节点作为元素的若干个集;然后,第三装置在第二层的节点中,从位于在节点的枝上没有任何会失效的接收设备的节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的枝上,指定没有任何会失效的接收设备的若干个节点;然后,第四装置根据分配给由第一装置所指定的那些集的第一密钥数据、分配给由第二装置所指定的那些集的第二密钥数据以及分配给由第三装置所指定的那些节点的第三密钥数据,来与不失效的接收设备相通信。
本发明的第八方面的接收设备是这样的接收设备,它根据定义第一层、第二层和第三层的树来与密钥管理侧相通信,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,而第三层夹在第一层和第二层之间,该接收设备包括存储装置,用于存储第二密钥数据、第四密钥数据和多个第五密钥数据,其中,第二密钥数据用于产生多个第一密钥数据,第一密钥数据被分配给多个所定义的集,使得即使在第一层的接收设备所属于的子树中任何其它的接收设备失效的情况下,子树中也存在仅由不会失效的接收设备构成的若干个集;第四密钥数据用于产生多个第三密钥数据,第三密钥数据被分配给多个所定义的集,使得即使在第三层的末端上的节点中,在任何节点的枝上的其它接收设备失效的情况下,也存在只有在枝上没有会失效的接收设备的末端上的节点作为元素的若干个集;所述第五密钥数据被分配给位于这样的路径上的全部节点,该路径在与第二层上的接收设备相应的末端上的节点和根之间;该接收设备还包括处理装置,用于当从密钥管理侧上接收到的密钥指定数据指定第二密钥数据时,根据从存储装置上读取的第二密钥数据来产生第一密钥数据;当密钥指定数据指定第四密钥数据时,根据从存储装置上读取的第四密钥数据来产生第三密钥数据,并利用第三密钥数据来与密钥管理侧通信;及当密钥指定数据指定第五密钥数据时,利用从存储装置上读取的第五密钥数据来与密钥管理侧通信。


图1是视图,该图根据本发明的第一实施例示出了通信系统的整个结构。
图2是视图,该图示出了图1所示的密钥管理器件的硬件结构。
图3是视图,该图说明了用于本发明第一实施例中的、作为密钥获取方法基础的树结构。
图4是流程图,该图说明了用于本发明第一实施例中的密钥获取方法的处理。
图5是视图,该图说明了用于本发明第一实施例中的密钥获取方法SKT-A。
图6是说明CST方法的视图。
图7是说明CST方法的视图。
图8是说明CST方法的视图。
图9是说明SD方法的视图。
图10A和10B是说明SD方法的视图。
图11是说明SD方法的视图。
图12是说明SD方法的视图。
图13是说明LSD方法的视图。
图14是说明LSD方法的视图。
图15是流程图,该图说明了由图1所示的密钥管理器件进行的预处理。
图16是流程图,该图说明了由图1所示的密钥管理器件进行的撤消处理。
图17是视图,该图说明了传输到没有被图1所示的密钥管理器件撤消的接收设备上的封装(capsule)数据CAP。
图18是流程图,该图说明了图16所示的步骤ST23。
图19是图1所示的接收设备的硬件结构的视图。
图20是流程图,该图说明了图1所示的接收设备的操作的例子。
图21是流程图,该图说明了图20中所示的步骤ST44。
图22是视图,该图根据本发明的第二实施例来说明密钥获取方法SKT-B。
图23是流程图,该图说明了由本发明的第二实施例中的密钥管理器件进行的预处理。
图24是流程图,该图说明了由本发明的第二实施例中的密钥管理器件进行的图16中步骤ST23的处理。
具体实施例方式
下面将根据本发明的实施例来说明通信系统。
第一实施例第一实施例是本发明的第一到第四方面的实施例。
图1根据本发明的第一实施例,示出了通信系统1的整体结构。
如图1所示,通信系统1具有例如密钥管理器件3和多个(N个)接收设备4_1到4_N。
在此,密钥管理器件3相应于本发明的密钥管理侧和本发明第三方面的数据处理设备,而接收设备4_1到4_N相应于本发明的接收设备。
密钥管理器件3与接收设备4_1到4_N通过无线方法传送数据(通信)。
在密钥管理器件3中预先登记注册接收设备4_1到4_N,接收设备4_1到4_N保存用于与密钥管理器件3秘密通信(保密通信)的密钥数据K_ORG和标号数据LABEL。
下面将简略地说明通信系统1。
通信系统1根据水平层A0(本发明的第一层)和水平层A1(本发明的第二层)来进行密钥管理,分配以接收设备4_1到4_N的多个叶属于水平层A0,分配以密钥管理器件3的根属于水平层A1。
在此树中定义了多个子树。
从针对在属于水平层A0的子树中包含有会被撤消的(会失效的)接收设备的子树而预先定义的多个集中,密钥管理器件3指定子树中只有不会被撤消的接收设备作为元素的若干个集。
然后,密钥管理器件3根据分配给所指定的集的标号LABEL来获取密钥加密密钥数据KEK,密钥加密密钥数据KEK用于与所指定的若干个集的元素的接收设备相通信。
此外,密钥管理器件3从水平层A1内末端上的节点之中,指定在节点的枝上没有任何要撤消的接收设备的若干个节点。
然后,密钥管理器件3从位于在所指定的节点和根之间的路径上的节点之中,在从节点分叉出来而且最靠近根的叶上,指定没有任何要撤消的接收设备的若干个节点。
然后,密钥管理器件3用分配给所指定的若干个节点的密钥数据作为密钥加密密钥数据KEK,密钥加密密钥数据KEK用以与从所指定的节点上分叉出来的叶相关联的、不会被撤消的接收设备相通信。
密钥管理器件3向不会被撤消的接收设备4_1到4_N传输密钥指定数据,以产生密钥加密密钥数据KEK。
然后,不会被撤消的接收设备4_1到4_N根据密钥指定数据来获取密钥加密密钥数据KEK。
密钥管理器件3根据密钥加密密钥数据KEK加密新的会话密钥数据NEW_SEK,并将此数据发送给接收设备4_1到4_N。
不会被撤消的接收设备4_1到4_N根据所获得的密钥加密密钥数据KEK对会话密钥数据NEW_SEK进行解码。
随后,根据会话密钥数据NEW_SEK,在密钥管理器件3和不会被撤消的接收设备4_1到4_N之间进行保密通信。
下面,将要说明图1所示的密钥管理器件3和接收设备4_1到4_N。
图2是视图,该图示出了图1所示的密钥管理器件3的硬件结构。
如图2所示,密钥管理器件3具有例如通信单元11、存储器12和处理单元13。
通信单元11用无线方法传输由处理单元13产生的数据。这种传输用于通过广播或其它的推送(push)方法,由软件定义的无线(SDR-softwaredefined radio)来进行SDR保密下载。
存储器12存储由处理单元13执行的程序PRG1以及用于执行程序PRG1的各种数据。
在此,程序PRG1相应于本发明第二方面的程序。
例如,存储器12存储例如所有由接收设备4_1到4_N保存的密钥数据K_ORG和标号数据LABEL。
此外,存储器12也可以存储它们最终获取的密钥加密密钥数据KEK,而不用存储密钥数据K_ORG和标号数据LABEL的部分或全部。
处理单元13执行存储在存储器12中的程序PRG1,并根据它们的执行集中控制密钥管理器件3的处理。在本实施例中,根据由处理单元13执行的程序PRG1来定义密钥管理器件3的处理。
处理单元13进行预处理,例如将密钥数据K_ORG和标号数据LABEL分配到接收设备4_1到4_N之中,此外,处理单元13还进行如撤消处理之类的保密处理,例如,按照程序PRG1的执行来更新会话密钥数据处理。
在撤消处理之前,在例如登记注册接收设备4_1到4_N时,处理单元13进行预处理。
在进行撤消处理时,处理单元13设置所用的密钥获取方法(基础结构),在预处理时,处理单元13设置在接收设备4_1到4_N中的、用于密钥获取方法的密钥数据K_ORG和标号数据LABEL。
在要撤消(使失效)接收设备4_1到4_N中的任何一个的时候,处理单元13进行撤消处理。
在撤消处理中,处理单元13选择密钥加密密钥数据KEK,以便根据在撤消处理时接收设备4_1到4_N中哪个要撤消,将会话密钥数据SEK传输到不会被撤消的接收设备4_1到4_N中。
然后,处理单元13向不会被撤消的接收设备4_1到4_N传输关于向不会被撤消的接收设备4_1到4_N的密钥指定数据,以便产生密钥加密密钥数据KEK。
如下所示,在本实施例中,作为密钥获取方法,根据在非专利文献1中所公开的LSD方法、在非专利文献2中所公开的CST方法或另外的撤消方法定义,针对由构成由多个左右对称组合的二分树构成的树的子树构成的每个区段,使用个别定义撤消方法的SKT(分区段密钥树)。
通过预处理,将关于由处理单元13所使用的密钥获取方法SKT的信息以及用在此密钥获取方法中的密钥数据K_ORG和标号数据LABEL,提供给接收设备4_1到4_N。
在这个树中,定义了多个水平层,并将每个水平层分为多个区段。
此外,每个区段有一个子树,其中,子树的根(节点)构成了更高水平层上的叶(节点)。
此外,例如,属于相同的水平层的区段具有相同数量的节点。这就是说,属于同一层的区段具有相同的子树。
举一个普通的例子,在把一个树分到K个水平层时,每个水平层l(l是从0到L-1中的一个整数)的高度为H[l],此树有2H[l-1]个叶。此外,水平层l所具有的区段的数量可由下面的公式(1)来表示,而此水平层的子树具有2H[l-1]个叶。
Πi=l+1L-12Hi=2Σi=l+1L-1Hi---(1)]]>图3示出了在K=3、H
=2、H[1]=1和H[3]=2的情况下树20的结构。
下面将要说明根据树定义的本实施例的密钥获取方法。
图4是流程图,该图说明了本实施例的密钥获取方法。
下面将说明示于图4中的步骤。
步骤ST1对于属于树的水平层0(最低层)的所有区段,处理单元13指定在分配给包含有这些区段的子树的叶的接收设备4_1到4_N中的任何要撤消的接收设备。
进而,处理单元13将初始值“0”分配给l。
步骤ST2对于属于树的水平层0的每个区段,处理单元13进行处理,以便用撤消方法来撤消在步骤ST1中指定的任何接收设备,在此,所述的撤消方法是用于包含有那个区段的子树的撤消方法。
这就是说,处理单元13根据所用的撤消(RV)方法来进行撤消处理,并产生用于指定密钥加密密钥数据KEK的数据,例如,表明要撤消的叶的位置等的数据,在此,密钥加密密钥数据KEK用于与在属于该子树的接收设备4_1到4_N中的不会撤消的接收设备相通信。
步骤ST3处理单元13使l递增。这就是说,它计算l=l+1。
步骤ST4对于属于树的水平层k的所有区段中的每个区段,处理单元13指定任何在其较低层中的具有要撤消的接收设备的叶,即,在包含此区段的子树的若干个叶(水平层l-1的节点和根)中,任何受到撤消影响的叶。
步骤ST5对于属于树的水平层1的所有区段中的每个区段,处理单元13进行处理,以撤消由撤消方法在步骤ST41中指定的任何的叶,在此,所用的撤消方法是用于包含有那个区段的子树的撤消方法。
这就是说,处理单元13根据所用的撤消(RV)方法来进行撤消处理,并产生用于指定密钥加密密钥数据KEK的数据,例如,表明任何要撤消的节点的位置的数据,在此,密钥加密密钥数据KEK用于与接收设备相通信,这些接收设备存在于属于该子树的叶中的那些不会受到撤消影响的叶的较低层之中。
步骤ST6处理单元13确定是否k=K。如果确定l=L,就结束处理,如果确定并非如此,就返回步骤ST3的处理。
步骤ST7根据在步骤ST1到ST6中对属于全部水平层的全部区段进行RV处理的结果,处理单元13产生用于与不会被撤消的接收设备4_1到4_N相通信的密钥加密密钥数据KEKm。在此,m为1到M的整数,而M表示用于与所有的不会被撤消的接收设备相通信的密钥加密密钥数据KEK的数量。
在此情况下,有这样的一种情况,根据树上要撤消的接收设备的位置,多个不会被撤消的接收设备使用一个共用的密钥加密密钥数据KEKm。
然后,说明密钥获取方法SKT-A,作为用于本实施例中的密钥获取方法SKT。
密钥获取方法SKT-A的特征在于,由接收设备4_1到4_N存储的标号数据LABEL和密钥数据K_ORG的数量小于在非专利文献1中所公开的LSD方法中的数量,而在密钥管理器件3和伴随有撤消处理的接收设备4_1到4_N之间的通信量小于在非专利文献2中所公开的CST方法中的数量。
首先,将说明密钥获取方法SKT-A。
图5是说明密钥获取方法SKT-A的视图。
如图5所示,在密钥获取方法SKT-A中,将树分到两个水平层A0和A1。
将最低水平层A0的高度定义为HA
,将水平层A1的高度定义为(log2N-HA
)。在此,N表示接收设备4_1到4_N的总数。
如属于水平层A0的区段31
的撤消方法那样,使用了在非专利文献1中所公开的LSD方法。
此外,如属于水平层A1的区段31[1]的撤消方法那样,使用了在非专利文献2中所公开的CST方法。
在此,在密钥获取方法SKT-A中,假设撤消在接收设备4_1到4_N中的R个设备影响了R0A个构成树的区段。
在此情况下,在使用密钥获取方法SKT-A的情况下,在伴随有撤消的密钥管理器件3与不会被撤消的接收设备4_1到4_N之间的通信量的大小就成为下面公式(2)所示的O(COA)。
(公式2)O(COA)=(R+ROA((log2N)-HA
)-ROAlog2R0A)(2)下面,将说明CST方法。
图6到图8是说明CST方法的视图。
如图6所示,在随后的说明中,将用一种情况作为例子,即,用CST方法对16个接收设备u1到u16实行撤消方法。
在CST方法中,通过使用二分树的节点来定义“由分配给具有作为顶点(vertex)的节点的二分树的叶的接收装置组成的集”。
在图6所示的例子中,节点i表示具有接收设备u5和u6作为元素的集。为每个节点定义节点密钥(相当于SKT-A中的密钥数据K_ORG)。
将分配给路径上的若干个节点的节点密钥给予每个接收设备,该路径从分配了接收设备的叶到分配了密钥管理器件的树根。这些接收设备将这些节点密钥保存在安全存储器中。
如图7所示,将分配给节点1、2、4、9和19的五个节点密钥给了接收设备u4。
这就是说,如果所有的接收设备的数量为N,每个接收设备则保存logN+1个节点密钥。
图8是视图,该图说明了如何将秘密信息(例如,用于对加密内容解码的内容密钥)传输到不会被撤消的接收设备上。
在此,使接收设备u2、u11和u12为要撤消的接收设备。
在此情况下,不能使用分配给路径上的节点的节点密钥,在此,该路径从分配了要撤消的接收设备u2、u11和u12的叶到树根。这是因为如果使用这些节点密钥,则要撤消的接收设备就能得到秘密信息。
然后,在从树上排除这些节点和路径时,保留一个或多个子树(部分的树)。
通过使用分配给最靠近子树顶点的节点(图8中的节点5、7、9、12、16)的节点密钥并传输这些节点密钥来加密秘密信息,就能有效而安全地传输秘密信息。
在所传输的加密文本中,接收设备解密它自己能解密的内容,即,使用与路径上的节点相应的节点密钥来加密的内容,以便得到秘密信息,在此,该路径从分配了该接收设备自身的叶到根。
在上面的例子中,例如,接收设备u4保存节点9的节点密钥,因此,用此节点密钥来解码加密的文本。
在CST方法中,总有一个能够由不会被撤消的接收设备来解密的加密文本。
下面,将要说明作为LSD方法的先决条件的SD(子集差)方法。
图9到图12是用于说明SD方法的视图。
如上所述,在CST方法中,用树的节点来表示“由接收设备组成的集,这些接收设备分配给具有作为顶点的节点的子树的叶”。
与此相反,在SD方法中,使用树的两个节点i、j(注意i是j的前身的节点)来定义“通过从(由具有作为顶点的节点i的子树的叶组成的集)中减去(由具有作为顶点的节点j的子树的叶组成的集)而获得的集”。
例如,由图9所示的节点i、j定义的集S(i,j)是从接收设备u1到u8的集中排除接收设备u5和u6而得到的一个集,即,S(i,j)={u1,u2,u3,u4,u5,u6,u7,u8,u9}-{u5,u6}。
对节点的全部的集定义这样的一个集,其中,节点i是节点j的前身(这就是说,节点j同节点i不一样,并且节点i在从节点j到根的路径上)。
进而,将标号数据LABEL分配给每个集。进而,根据标号数据LABEL进行预定的操作(例如,用标号数据LABEL作为密钥来产生伪随机数),以得到子集密钥。
在集的元素的接收设备与密钥管理器件之间的通信中,将子集密钥用作为密钥加密密钥数据KEK。
在SD方法中,一个接收设备所属于的集的数量变成为O(N),因此,如果把密钥数据SK(子集密钥)单独地分配给每个集(子集),则每个接收设备必须安全地保存与O(N)子集密钥相应的标号数据LABEL,但是,如果N很大的话,这在实际上是难办到的。
由于这个缘故,在SD方法中可以利用下面的技巧来减少由每个接收设备所保存的标号数据LABEL的数量。
例如,如图10A所示,通过注意内部节点(即,不是叶的节点)i,可以随机选择C位的值S,以作为那个节点的标号数据LABEL(i)。
然后,如图11所示,将LABEL(i)的值S输入到具有C位输入和3C位输出的伪随机数发生器G中。
然后,将来自于伪随机数发生器G的3C位输出分成为若干个区段,每个区段都由从左起(从较高位侧起)的C位组成,并将它们定义为GL(S)、GM(S)和GR(S)。
然后,将GL(S)定义为在节点i的左侧(一侧)上的子节点的标号数据LABEL,将GR(S)定义为在节点i的右侧(另一侧)上的子节点的标号数据LABEL。
由于这个处理,对于在图10A和10B中节点i的左侧上的子节点k而言,具有作为起始点的节点i的节点k的标号数据LABEL(i,k)就变成为LABEL(i,k)=GL(S)。然后,将其定义为T。
然后,将T输入到伪随机数发生器G中,并将其输出分成为若干个区段,每个区段都由来自左侧的C位组成,以便得到GL(T)、GM(T)和GR(T)。
然后,将GL(T)、GM(T)和GR(T)定义为在将节点i用作为起始点时,在节点k左侧上子节点L的标号数据LABEL(i,kL),在将节点i用作为起始点时,就将它们定义为节点k的标号数据LABEL(i,k),在将节点i用作为起始点时,就将它们定义为在节点k右侧上子节点kR的标号数据LABEL(i,kR)。
通过重复这个处理过程,就创建了一个与所有节点相应的标号,在将节点i用作为起始点时,该标号变成为节点i的后继。
根据上面的定义,要说明的是,集S(i,i)是一个空集,并且,在将节点i用作为起始点时,节点i的密钥是不必要的,因此,不使用中间部分的GM(S),在此中间部分上将LABEL(i)输入到伪随机数发生器G之中。
如图10A所示,确定起始点的节点i的标号数据LABEL(i)的值S,在将节点i用作为起始点时,GR(S)就成为节点i之右的子节点的标号数据LABEL,进而,在将节点i用作为起始点时,通过将LABEL(i)输入到伪随机数发生器G中而得到的GL(S)就成为节点j的标号数据LABEL。
对所有的内部节点i进行此项处理。
在设定(set up)系统时,由密钥管理器件来进行这些处理,但是,伪随机数发生器(或伪随机数产生函数)G是由密钥管理器件确定并被公开的。利用这一点,在将节点i用作为起始点时,给予了LABEL(i,j)的接收设备就能够计算变成了节点j的后继的所有节点n的标号LABEL(i,n),在将节点i用作为起始点的情况,该接收设备还能计算节点j及其子节点n的子集钥SK(i,n)。
如果这样做的话,如图10B所示,只要针对在从分配了接收设备u的叶到树的顶点之间的路径上的每个内部节点i保存了用节点i作为起始点的、从叶到节点i的路径上直接分叉出来的节点的标号数据LABEL,则接收设备u就变为能够创建一个有节点i作为那个节点和它后面的节点(它们是那个节点的后继)的起始点的子集密钥。在图10B中,对于节点i,从u到i的路径上直接分叉出来的节点的数目是3个,在设定系统时,接收设备u从密钥管理器件上接收这三个标号数据LEBEL。
下面,在图12所示的例子中,将考虑接收设备u4。
对于接收设备u4,在从分配了接收设备u4的叶的节点19到根1的路径上,内部节点1、2、4和9就变成为起始点(节点i)。在使用节点1作为起始点时,从节点19到节点1的路径上直接分叉出来的节点是3、5、8和18四个节点,因此,接收设备u4保存LABEL(1,3)、(1,5)、(1,8)和(1,18)。
按照和上面相同的方式,在用节点2作为起始点时,接收设备u4保存三个标号数据LABEL,即LABEL(2,5)、(2,8)和(2,18),在用节点4作为起始点时,它保存两个标号数据LABEL,即LABEL(4,8)和(4,18),在用节点9作为起始点时,它保存LABEL(9,18)。
进而,在没有要撤消的接收设备的特殊情况下,接收设备u4保存一个标号数据LABEL(1),这个标号与包含用在此特殊情况下的所有接收设备在内的集(表达为S1,φ)相应。
要说明的是,在生成与S(1),φ相应的标号数据LABEL时,也可能不用标号数据LABEL,但是可能直接保存与S1,φ相应的子集密钥。
如上所述,对于在从叶到根的路径上的内部节点而言,每个接收设备必须保存该接收设备的内部节点的高度的精确数量的标号数据LABEL。
这些标号数据LABEL通过使用公开的G能够创建子集密钥,因此,接收设备能够安全地保存它们。
下面,将要说明用上述的SD方法作为基础的LSD(基本分层子集差)方法。
LSD方法包括基本方法和作为基本方法的扩展的普通方法。在此,将要说明基本方法。
LSD方法是SD方法的扩展,并且引出了一个新的概念“层”。将SD方法中的树结构的具体高度定义为“特殊级(special level)”。
在基本(basic)_LSD方法中,只有一种类型的特殊级,但是在普通LSD方法中,使用多个具有不同重要性的特殊级。
在此,为了简化起见,假设log1/2N是整数。
如图13所示,在基本_LSD方法中,在从树的根到叶的各个级(步骤)之中,将包括根和叶的级在内的每个log1/2N的级定义为“特殊层(special layer)”。
将任何夹在两个邻接的特殊层(包括两个级)之间的层面(stratum)称为“层(layer)”。
在图13的例子中,根的级、包括节点k的级以及叶的级都是特殊级,根的级、包括节点i的级以及包括节点k的级构成了若干个单层(single layers)。此外,包括节点k的级、包括节点i的级以及包括叶的级构成了其它的层。
在基本_LSD方法中,在由SD方法定义的子集S(i,j)之中,只定义了其中节点i和节点j在同一层中或者节点i在特殊级上的子集。
如果这样做,在基本_LSD方法中不再定义用在SD方法中的某些子集,但是这些子集可用由基本_LSD方法定义的子集中的最多两个和集(sum set)来表达。
例如,在图13的例子中,在基本_LSD方法中并没有定义子集S(i,j),但是能够用在从节点i到节点j的路径上最靠近节点i的特殊级上的节点(节点k)将其表达为S(i,j)=S(i,k)∪S(k,j)。
这就是说,在SD方法中,替换了用与子集S(i,j)相应的子集密钥Sk(i,j)加密的一个加密文本,在基本_LSD方法中,传输用与子集S(i,k)和S(k,j)相应的子集密钥Sk(i,k)和Sk(k,j)加密的两个加密文本。
由于这个缘故,要传输的加密文本的数量比SD方法中的数量最多增加到两倍,但是能够减少每个接收器所保存的标号的数量。
在图14中,将说明这样的一个情况,在此情况下,将基本_LSD方法用到与在SD方法中所假设的情况相同的情况之中。
图14所示的接收设备u4可以只保存标号数据LABEL(i,j),其中,i、j存在于相同的层LAYER中,或者i存在于特殊级上。
这就是说,由接收设备u4保存的标号数据LABEL变成了标号数据LABEL(1,3)、(1,5)、(1,8)、(1,18)、(2,5)、(4,8)、(4,18)和(9,18)。
此外,按照与SD方法相同的方式,也必须保存用在没有要撤消的接收器的情况的特殊标号。
下面,将要说明图2所示的密钥管理器件3的操作的一个例子。
根据上述的程序PRG1,用处理单元13的处理来实现密钥管理器件3的操作。
图15是流程图,用于说明由密钥管理器件3所进行的预处理的操作案例的一个例子。
如上面说明的那样,例如,在撤消处理之前,在登记注册接收设备4_1到4_N的时候,密钥管理器件3的处理单元13进行如下的预处理。
步骤ST11在接收设备4_1到4_N中,密钥管理器件3设定密钥获取方法SKT-A、以及用在密钥获取方法SKT-A中的密钥数据K_ORG和标号数据LABEL。
具体地说,对于接收设备4_1到4_N中的每一个设备,密钥管理器件3设定标号数据LABEL,以便获得要分配给多个所定义的集的多个标号数据LABEL,使子树中存在只具有不会失效的接收设备作为元素的若干个集,即使在图5所示的水平层A0中的接收设备属于的子树中,任何其它的接收设备失效。
此外,对于接收设备4_1到4_N中的每个装置,密钥管理器件3设定多个分配给位于路径上的所有节点的密钥数据K_ORG,此路径在与图5所示的水平层A1上的接收设备相应的末端上的节点和根之间。
在例如颁布或登记注册接收设备4_1到4_N时,密钥管理器件3在保密状态下为接收设备4_1到4_N个别地进行上述的设定。
图16是流程图,用于说明由密钥管理器件3进行上述撤消处理的情况下的操作的例子。
在要撤消接收设备4_1到4_N中的任何设备时,密钥管理器件3的处理单元13进行撤消处理。
步骤ST21密钥管理器件3产生撤消清单RL,该清单表明在接收设备4_1到4_N中的任何要撤消的接收设备。
步骤ST22密钥管理器件3按照密钥获取方法SKT-A,根据在步骤ST21中产生的撤消清单RL来指定用于与不会被撤消的接收设备4_1到4_N相通信的密钥加密密钥数据KEKm。
下面将对此处理进行详细的说明。
步骤ST23密钥管理器件3产生指定密钥数据K_ORG和标号数据LABEL的密钥指定数据Im,这对于产生在步骤ST22中所指定的密钥加密密钥数据KEKm是必须的。
要说明的是,密钥指定数据Im中密钥数据K_ORG和标号数据LABEL的指定是根据标识数据来进行的,在此,所述标识数据如分配给密钥数据K_ORG和标号数据LABEL的索引号,但所述指定过程不包括密钥数据K_ORG和标号数据LABEL自身在内。
步骤ST24密钥管理器件3用在步骤ST23中产生的密钥加密密钥数据KEKm来加密新的会话密钥数据NEW_SEK(在更新之后),以便产生数据EKEKm(NEW_SEK)。
步骤ST25密钥管理器件3用新的会话密钥数据NEW_SEK来加密作为秘密信息的、要提供给接收设备4_1到4_N的有效负载数据PAYL,以便产生数据ENEW_SEK(PAYL)。
步骤ST26密钥管理器件3产生图17所示的封装数据CAP,该数据作为存储如下数据的数据在步骤ST25中产生的密钥指定数据Im(I1到Im)、在步骤ST24中产生的数据EKEKm(NEW_SEK)和在步骤ST25产生的数据ENEW_SEK(PAYL)。
步骤ST27密钥管理器件3利用例如无线方法并通过图2所示的通信单元11来广播(传输)在步骤ST26中产生的封装数据CAP。
广播是所谓的推送(PUSH)分配。
下面,将详细说明图16所示的步骤ST23。
图18是视图,用于说明图16所示的步骤ST23,即,根据密钥获取方法SKT-A来指定密钥加密密钥数据KEK的方法。
在图18中,步骤ST31相当于本发明的第一方面的第一步,步骤ST32相当于本发明的第一方面的第二步,步骤ST33相当于本发明的第一方面的第三步,步骤ST34和ST35相当于本发明的第一方面的第四步。
此外,利用执行步骤ST31、ST32、ST33的处理单元13来实现第三发明的第一装置、第二装置和第三装置。此外,利用执行步骤ST34和ST35的处理单元13来实现第三发明的第四装置。
步骤ST31对于在属于图5所示的水平层A0的子树(SUBT)中包含有要撤消的接收设备的所有子树,从预先定义的具有属于那些子树的接收设备作为元素的多个集之中,密钥管理器件3指定子树中只有不会失效的接收设备作为元素的若干个集。
步骤ST32在图5所示的水平层A1中的末端上的节点之中,密钥管理器件3指定在节点的枝上没有任何会失效的接收设备的节点。
步骤ST33对于在步骤ST32中所指定的所有节点,在位于节点和根之间的路径上的节点之中,在从节点分叉出来而且最靠近根的叶上,密钥管理器件3指定没有任何要失效的接收设备的节点。
步骤ST34密钥管理器件3决定使用与在步骤ST31中指定的集(或者是该集的标号数据LABEL)相关联的密钥加密密钥数据KEKm,以便与这些集的元素的接收设备4_1到4_N相通信。
密钥管理器件3保存例如连在一起的在图5所示的水平层A0上的所有子集中的上述集和密钥加密密钥数据KEKm,并指定与在步骤ST31中所指定的若干个集相应的密钥加密密钥数据KEK。
此外,密钥管理器件3也可以保存例如标号数据LABEL(i,j),其中,节点i和节点j存在于相同的层上,或者,如图5所示的水平层A0中的上述集那样,节点i存在于子集S(i,j)中的特殊级上,并利用图10A、10B和图11说明的方法来生成标号数据LABEL,并根据该标号数据LABEL产生作为其子集密钥的密钥加密密钥数据KEKm。
然后,为了生成上面指定的(产生的)密钥加密密钥数据KEKm,密钥管理器件3产生密钥指定数据Im,用以指定由上面指定的集的元素的接收设备4_1到4_N使用的标号数据LABEL。
步骤ST35密钥管理器件3决定使用与在步骤ST33指定的若干个节点相应的密钥数据K_ORG(节点密钥),以便与在接点的枝上的接收设备4_1到4_N相通信。
然后,密钥管理器件3产生密钥指定数据Im,该密钥指定数据将密钥数据K_ORG指定为确定的密钥加密密钥数据KEKm。
接收设备4_1到4_N可以是例如PDA(个人数字助理)、移动电话或其它的普遍存在的终端设备。
图19是图1所示的接收设备4_1到4_N的硬件结构图。
除了存储在存储器42中的密钥数据K_ORG和标号数据LABEL之外,接收设备4_1到4_N具有相同的结构。
如图19所示,接收设备4_1到4_N都具有例如通信单元41、存储器42和处理单元43。
在此,存储器42相当于本发明第四方面的存储装置,处理单元43相当于本发明第四方面的处理装置。
通信单元41通过无线方法接收密钥管理器件3用推送方法传输的封装数据CAP。
存储器42存储由处理单元43执行的程序PRG2以及用于执行程序PRG2的各种数据。
程序PRG2包括密钥获取方法SKT-A的处理例程。
存储器42存储密钥数据K_ORG和标号数据LABEL,这两种数据由密钥管理器件3通过预处理分配给接收设备4_1到4_N中的每一个。
具体地说,存储器42存储标号数据LABEL(本发明第四方面的第三密钥数据),用于获得分配给多个所定义的集的多个标号数据LABEL(本发明第一到第四方面的第一密钥数据),使子树中存在只有不会失效的接收设备作为元素的若干个集,即使在水平层A0中的接收设备所属于的子树中的任何其它的接收设备都失效。
此外,存储器42存储多个分配给位于路径上的所有节点的密钥数据K_ORG(本发明第一到第四方面的第二密钥数据),该路径在与水平层A1上的接收设备相应的末端上的节点和根之间。
在此,由存储器42存储的密钥数据K_ORG和标号数据LABEL的数量级变成为在下面公式(3)中所示的O(STA)。
(公式3)O(STA)=((HA[O])L5-HA[O]+log2N)(3)处理单元43执行存储在存储器42中的程序PRG2,并根据此程序的执行来来集中控制接收设备4_1到4_N的处理。在本实施例中,由处理单元43执行的程序PRG2来定义接收设备4_1到4_N的处理。
即使不能由用户来控制接收设备4_1到4_N,也要构成由程序PRG2定义的处理单元43的功能。此外,接收设备4_1到4_N的用户能够在绝对不会意识到这些功能的情况下使用接收设备4_1到4_N。
下面,将要说明接收设备4_1到4_N的操作的一个例子。
图20是流程图,用以说明接收设备4_1到4_N的操作的一个例子。
在此,要说明的是,由执行程序PRG2的处理单元43来定义接收设备4_1到4_N的操作。
步骤ST41接收设备4_1到4_N的通信单元41接收在图16所示步骤ST27由密钥管理器件3广播的封装数据CAP。
步骤ST42接收设备4_1到4_N的处理单元43决定它们相应的密钥指定数据Im是否包含于在步骤ST41接收的封装数据CAP之中。如果指定包含了数据Im,它们就进行步骤ST43的处理,如果没有包含数据Im,它们就结束此处理。
步骤ST43处理单元43获取封装数据CAP中它们相应的密钥指定数据Im。
然后,处理单元43从存储器42存储的密钥数据K_ORG和标号数据LABEL之中,指定由在步骤ST42中获得的密钥指定数据Im指定的密钥数据K_ORG或标号数据LABEL。
步骤ST44处理单元43根据在步骤ST43中指定的密钥数据K_ORG或标号数据LABEL来获取(产生)密钥加密密钥数据KEKm。
下面将详细说明步骤ST44的处理。
步骤ST45处理单元43使用在步骤ST44中获取(产生)的密钥加密密钥数据KEKm对封装数据CAP中的数据EKEKm(NEW_SEK)解码,来获取新的会话密钥数据NEW_SEK。
步骤ST46处理单元43使用在步骤ST45中获得的新的会话密钥数据NEW_SEK来解码封装数据CAP中的数据ENEW_SEK(PAYL),以便得到有效负载数据PAYL。
接收设备4_1到4_N使用在步骤ST45中获得的会话密钥数据NEW_SEK来解码从密钥管理器件3中接收到的数据,直到下次进行撤消处理为止。
下面将说明在图20所示的步骤ST44中的处理。
图21是流程图,用以说明在图20所示的步骤ST44中的处理。
步骤ST51处理单元43确定在图20所示的步骤ST43中所获得的密钥指定数据Im是否指定了标号数据LABELm。如果确定密钥指定数据Im指定了标号数据LABEL,它们就进行步骤ST52,如果确定并非如此,它们就进行步骤ST56。
步骤ST52处理单元43确定存储器42是否存储(保存)了标号数据LABEL,标号数据LABEL是产生由密钥指定数据Im指定的标号数据LABELm所需要的。如果确定存储器42存储了这个数据,它们就进行步骤ST55,如果确定并非如此,就进行步骤ST53。
步骤ST53处理单元43指定与两个集相应的标号数据LABEL,这两个集定义与由密钥指定数据Im指定的标号数据LABELm相应的集作为和集。
步骤ST54
处理单元43按照需要并根据存储在存储器42中的标号数据LABEL来产生两个在步骤ST53中指定的标号数据LABEL。
然后,处理单元43通过根据使用这两个标号数据LABEL作为密钥的伪随机数发生器G产生伪随机数来产生两个子集密钥SK。
然后,处理单元43根据两个子集密钥SK来产生密钥加密密钥数据KEKm。
步骤ST55处理单元43根据需要产生标号数据LABELm,该标号数据LABELm是由密钥指定数据Im根据存储在存储器42中的标号数据LABEL指定的。
然后,处理单元43根据用标号数据LABELm作为密钥的伪随机数发生器G来产生伪随机数,以产生子集密钥SK。
然后,处理单元43定义子集密钥SK作为密钥加密密钥数据KEKm。
步骤ST56处理单元43定义由密钥指定数据Im指定的密钥数据K_ORG作为密钥加密密钥数据KEKm。
下面将说明通信系统1的全部操作的例子。
首先,密钥管理器件3通过上面用图15说明的预处理来将预定的密钥数据K_ORG和标号数据LABEL分配给接收设备4_1到4_N。
然后,如果要撤消预定的接收设备4_1到4_N,密钥管理器件3就通过上面用图16和图18说明的技术将封装数据CAP分配给不会被撤消的接收设备4_1到4_N。
然后,接收设备4_1到4_N进行上面用图20和图21说明的处理,并且,不会被撤消的接收设备4_1到4_N根据新的会话密钥数据NEW_SEK获得解码的有效负载数据PAYL。
如上所述,在通信系统1中,上面用图15说明的预处理用于在接收设备4_1到4_N中设定和存储密钥数据K_ORG和标号数据LABEL。
在通信系统1中,在CST方法的情况下,存储在接收设备4_1到4_N中的密钥数据K_ORG和标号数据LABEL的量(公式(3)中的O(STA))大于(O(log2N)),但是,在SD方法和LSD方法的情况下,能够使其小于(O((log2N)2),O((log2N)1+a),a>1)。这就是说,在通信系统1中,根据密钥获取方法SKT-A,通过对水平层A1使用CST方法,与对整个树使用SD方法或LSD方法的情况相比较,能够减少由接收设备4_1到4_N所存储的密钥数据和标号数据的量。
此外,在通信系统1中,在CST方法的情况下,通过使用密钥获取方法SKT-A,用于与伴随有撤消处理的接收设备4_1到4_N相通信的密钥加密密钥数据KEKm的数量,也就是在密钥管理器件3和接收设备4_1到4_N之间的通信量(公式(2)的(O(COA)),能够小于(O(Rlog2N/R)),尽管仍大于LSD方法和SD方法的情况(O(R))。这就是说,在通信系统1中,通过上面的密钥获取方法SKT-B,通过对水平层A0使用LSD方法,与对整个树使用CST方法的情况相比较,能够减少在密钥管理器件3和伴随有撤消处理的接收设备4_1到4_N之间的通信量。
由于这个缘故,根据通信系统1,通过适当的折衷处理,能够定义在密钥管理器件3和伴随有撤消处理的接收设备4_1到4_N之间的通信量以及由接收设备4_1到4_N保存的密钥数据的量。
此外,在通信系统1中,配置接收设备4_1到4_N,以使得用户不用控制如上说明的密钥管理之类的保密功能,从而得以改进保密功能。
此外,接收设备4_1到4_N使用用于从密钥管理器件3接收(下载)的SDR,以使得只有得到授权的合法接收设备4_1到4_N才能够自动接收传输给接收设备的数据。因此,能够改进伴随有下载的保密性。
此外,用户能够在绝对不会意识到这些保密功能的情况下使用接收设备4_1到4_N。
第二实施例第二实施例是本发明的第五到第八方面的实施例。
如图1所示,本实施例的通信系统101具有例如密钥管理器件103和多个(N个)接收设备104_1到104_N。
在此,密钥管理器件103相当于本发明的密钥管理侧和本发明第七方面的数据处理设备,接收设备104_1到104_N相当于本发明的第五到第八方面的接收设备。
通过例如无线方法在密钥管理器件103和接收设备104_1到104_N之间进行数据传送(通信)。
预先在密钥管理器件3中登记注册接收设备104_1到104_N,并保存用于与密钥管理器件3进行秘密通信(保密通信)的密钥数据K_ORG和标号数据LABEL。
除了用下面所示的密钥获取方法SKT-B来代替密钥获取方法SKT-A之外,密钥管理器件103及接收设备104_1到104_N与第一实施例的密钥管理器件3及接收设备4_1到4_N是一样的。
如图2所示,密钥管理器件103具有例如通信单元111、存储器112和处理单元113。
此外,如图19所示,接收设备104_1到104_N具有例如通信单元141、存储器142和处理单元143。
下面将说明本实施例中的密钥获取方法SKT-B。
图22是视图,用以说明密钥获取方法SKT-B。
如图22所示,在密钥获取方法SKT-B中,树被分到三个水平层B0、B1和B2。
在此,水平层B0、B1和B2相当于本发明的第五到第八方面的第一、第三和第二层。
最低的水平层B0的高度定义为HB
,水平层B1的高度定义为HB[1],水平层B2的高度定义为(log2N-HB
-HB[1])。
然后,作为属于水平层B0的每个区段31
的撤消方法,使用了在非专利文献1中所公开的LSD方法。
此外,作为属于水平层B1的每个区段31[1]的撤消方法,使用了在上述非专利文献1中所公开的LSD方法。
此外,作为属于水平层B2的每个区段31[2]的撤消方法,使用了在上述非专利文献2中所公开的CST方法。
下面,将根据密钥获取方法SKT-B来说明密钥管理器件103与接收设备104_1到104_N的处理。
如与第一实施例中图15相应的预处理那样,密钥管理器件103进行图23所示的处理。
步骤ST81在撤消处理之前,在例如登记注册接收设备104_1到104_N时,密钥管理器件103进行下面的预处理。
在接收设备104_1到104_N中,密钥管理器件103设定密钥获取方法SKT-B和用在密钥获取方法SKT-B中的密钥数据K_ORG和标号数据LABEL。
具体地说,对于接收设备104_1到104_N中的每一个接收设备,密钥管理器件103设定标号数据LABEL(本发明第八方面的第二密钥数据),用来获取分配给多个所定义的集的多个标号数据LABEL(本发明第八方面的第一密钥数据),使子树中存在只有不会失效的接收设备作为元素的若干个集,即使在图22所示的水平层B0中的接收设备所属于的子树中的任何其它的接收设备都失效。
此外,对于接收设备104_1到104_N中的每一个接收设备,密钥管理器件103设定标号数据LABEL(本发明第八方面的第四密钥数据),用来获得分配给多个所定义的集的多个标号数据LABEL(本发明第八方面的第三密钥数据),使存在只具有在它们的枝侧没有任何不会失效的接收设备的末端上的节点作为元素的若干个集,即使在图22所示的水平层B1内末端上的节点中的任何节点的枝上,任何其它的接收设备都失效。
此外,对于接收设备104_1到104_N中的每一个接收设备,密钥管理器件103设定要分配给位于路径上所有节点的多个密钥数据K_ORG(本发明第八方面的第五密钥数据),该路径在与图22所示的水平层B2中的接收设备相应的末端上的节点和根之间。
密钥管理器件103使用在第一实施例中由图16说明的方法来进行撤消处理。
在此情况下,在图16的步骤ST23中,如下所示,根据密钥获取方法SKT-B来进行撤消处理,以产生密钥指定数据Im。
图24是流程图,用于说明图16的步骤ST23中的、由密钥管理器件103进行的处理。
在图24中,步骤ST91相应于本发明第五方面的第一步骤,步骤ST92相应于本发明第五方面的第二步骤,步骤ST93和ST94相应于本发明第五方面的第三步骤,步骤ST95、ST96和ST97相应于本发明第五方面的第四步骤。
此外,由处理装置113执行步骤ST91和ST92,以实现本发明的第七方面的第一装置和第二装置。
此外,由处理装置113执行步骤ST93和ST94,以实现本发明的第七方面的第三装置。
此外,由处理装置113执行步骤ST95、ST96和ST97,以实现本发明第七方面的第四装置。
步骤ST91对于属于图22所示的水平层B0的子树(SUBT)中包含有要撤消的接收设备的所有子树,密钥管理器件103从预先定义的具有属于子树的接收设备作为元素的多个集中,指定子树中仅有不会失效的接收设备作为元素的若干个集。
步骤ST92对于属于图22所示的水平层B1的子树(SUBT),密钥管理器件103指定只有在子树末端上的节点之中仅包含在枝上的不会失效的接收设备的节点作为元素的若干个集。
步骤ST93在图22所示的水平层B2的末端上的节点之中,密钥管理器件103指定在节点的枝上没有任何会失效的接收设备的节点。
步骤ST94对于在步骤ST93中所指定的所有的节点而言,从位于节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的叶上,密钥管理器件103指定没有任何会失效的接收设备的节点。
步骤ST95密钥管理器件103决定使用与在步骤ST91中指定的若干个集(或其标号数据LABEL)相关联的密钥加密密钥数据KEKm,以与这些集的元素的接收设备相通信。
密钥管理器件103保存例如连在一起的图22所示的水平层B0中的所有子集的集以及密钥加密密钥数据KEKm,并指定与在步骤ST91中指定的若干个集相应的密钥加密密钥数据KEK。
此外,还可能的是,如果密钥管理器件103保存例如相应于这样的子集的标号数据LABEL(i,j),即,这样的子集为如上面图22所示的水平层B0中的若干个集的子集S(i,j)中,节点i和节点j存在于相同的层LAYER上或者节点i在特殊级上的那些子集,那么,就可据此,用图10A、10B和图11说明的方法来产生标号数据LABEL,并根据此标号数据LABEL来产生作为其子集密钥的密钥加密密钥数据KEKm。
然后,密钥管理器件103产生指定标号数据LABEL的密钥指定数据Im,标号数据LABEL用于由所指定的若干个集的元素的接收设备104_1到104_N来产生所指定的(产生的)密钥加密密钥数据KEKm。
步骤ST96密钥管理器件103决定使用与在步骤ST92中指定的若干个集(或这些集的标号数据LABEL)相关联的密钥加密密钥数据KEKm来与这些集的元素的接收设备相通信。
确定(产生)密钥加密密钥数据KEK的方法与在步骤ST95中的方法相同。
然后,密钥管理器件103产生指定标号数据LABEL的密钥指定数据Im,标号数据LABEL用于由所指定的若干个集的元素的接收设备104_1到104_N来产生所指定的(产生的)密钥加密密钥数据KEKm。
步骤ST97密钥管理器件103决定使用与在步骤ST94中所指定的若干个节点相应的密钥数据K_ORG(节点密钥),以便与在密钥加密密钥数据KEKm的节点的枝上的接收设备104_1到104_N相通信。
然后,密钥管理器件103产生密钥指定数据Im,用来指定密钥数据K_ORG,作为指定的密钥加密密钥数据KEKm。
接收设备104_1到104_N可以是PDA、移动电话或者是其它普遍存在的终端设备。
如图19所示,接收设备104_1到104_N具有例如通信单元141、存储器142和处理单元143。
除了存储在存储器142中的密钥数据K_ORG和标号数据LABEL之外,接收设备104_1到104_N具有相同的结构。
在此,存储器142相应于本发明第八方面的存储装置,处理单元143相应于本发明第八方面的处理装置。
通信单元141和本实施例的第一方面的通信单元41是相同的。
存储器142存储由处理单元143执行的程序PRG102和用于执行程序PRG102的各种数据。
程序PRG102包含上述的密钥获取方法SKT-A的处理例程。
存储器142存储密钥数据K_ORG和标号数据LABEL,它们是由密钥管理器件103通过预处理分配给接收设备104_1到104_N的。
具体地说,存储器142存储标号数据LABEL(本发明第八方面的第二密钥数据),用于获得分配给多个所定义的集的多个标号数据LABEL(本发明第五到第八方面的第一密钥数据),使子树中存在只有不会失效的接收设备作为元素的若干个集,即使在水平层B0中的接收设备所属于的子树中的任何其它的接收设备都失效。
此外,存储器142存储标号数据LABEL(本发明第八方面的第四密钥数据),用以获得分配给多个所定义的集的多个标号数据LABEL(本发明第五到第七方面的第二密钥数据和本发明第八方面的第三密钥数据),使枝上存在只包含子树中的不会失效的接收设备的末端的节点作为元素的若干个集,即使水平层B1中的任何子树包含有任何在其枝上的会失效的接收设备。
此外,存储器142存储分配给位于路径上的所有节点的多个密钥数据K_ORG(本发明第一到第三方面的第三密钥数据和本发明第八方面的第五密钥数据),该路径在与水平层B2中的接收设备相应的末端上的节点和根之间。
处理单元143执行存储在存储器142中的程序PRG102,并通过执行此程序来集中控制接收设备104_1到104_N的处理。在本实施例中,用由处理单元143执行的程序PRG102来定义接收设备104_1到104_N的处理。
下面,接收设备104_1到104_N的处理与上面在第一实施例中用图20和图21说明的处理相同。
在此,在密钥获取方法SKT-B中,假设撤消接收设备104_1到104_N中的R个设备会对构成树的水平层B1中的R0B个区段产生影响,并进而会对水平层B2中的R1B个区段产生影响。
在此情况下,在使用密钥获取方法SKT-B的情况下,在伴随有撤消的密钥管理器件103和不会被撤消的接收设备104_1到104_N之间的通信的数量级变成为下面公式(4)中所示的O(COB)。
(公式4)O(COB)=(R+R0B+R1B((log2N)-HB[1]-HB
)-R1Blog2R1B)(4)此外,存储在存储器142中的密钥数据K_ORG和标号数据LABEL的数量级变成为下面公式(5)中所示的O(STB)。
(公式5)O(STB)=((HB
)1.5+(HB[1])1.5-HB
-HB[1]+log2N)(5)鉴于此,甚至可用通信系统101来达到与第一实施例中的通信系统1相同的效果。
本发明并不限于上述的实施例。
在上述的实施例中,例举了用无线方法在密钥管理器件3及103与接收设备4_1到4_N及104_1到104_N之间进行通信的情况,但是也能用有线方法进行通信。
此外,在上面的实施例中,作为本发明的多个密钥获取方法,仅例举了两种密钥获取方法SKT-A和SKT-B,但是本发明并非专门限于这种类型的密钥获取方法。此外,密钥获取方法的数量也并非只限于两个。
例如,对于包含有分配了多个接收设备的叶的第一水平层,本发明使用了LSD或SD方法,对于包含有分配了密钥管理器件的根的第二水平层,本发明使用了CST方法,可以没有水平层,也可以在第一水平层和第二水平层之间有单个层或者有多个层,并且可把任何密钥获取方法用到这些水平层上。
根据本发明,能够提供一种数据处理方法,该方法定义了在密钥管理侧与伴随有撤消处理的接收设备之间的通信量以及通过适当的折衷处理由接收设备保存的密钥数据的量,本发明还能够提供这种数据处理的程序、设备和接收设备。
工业实用性本发明可以用于保密通信的数据处理系统。
权利要求
1.一种由密钥管理侧根据定义第一层和第二层的树来进行的数据处理方法,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,该方法包括第一步,从针对在属于所述第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只具有不会失效的接收设备作为元素的若干个集;第二步,在所述第二层内末端上的节点之中,指定在节点的枝上没有任何会失效的接收设备的节点;第三步,从位于在所述第二步所指定的节点和根之间的路径上的节点之中,在从节点上分叉出来而且最靠近根的叶上,指定没有任何会失效的接收设备的节点;第四步,根据分配给在所述第三步所指定的节点的第二密钥数据,来与不会失效的接收设备相通信。
2.根据权利要求1所述的数据处理方法,其中,在第四步中,密钥管理侧根据所述第一密钥数据与作为由所述第一步所指定的集的元素的接收设备相通信,并根据所述第二密钥数据与从所述第三步所指定的节点上分叉出来的叶相关联的不会失效的接收设备相通信。
3.根据权利要求1所述的数据处理方法,还包括向作为由所述第一步所指定的集的元素的接收设备传输指定所述第一密钥数据的密钥规格数据;和向与从所述第三步所指定的节点上分叉出来的叶相关联的不会失效的接收设备传输指定所述第二密钥数据的密钥规格数据。
4.根据权利要求1所述的数据处理方法,还包括第五步,在所述第一步之前向多个接收设备设置第三密钥数据,用于产生多个要分别分配给多个所定义的集的第一密钥数据,使得即使在所述第一层的接收设备所属于的子树中,任何其它的接收设备会失效的情况下,子树中仍存在只有不会失效的接收设备作为元素的集;和多个第二密钥数据,分别分配给位于路径上的所有节点,该路径在与第二层的接收设备相关联的末端上的节点和根之间。
5.一种程序,该程序使在密钥管理侧上的计算机根据定义第一层和第二层的树来执行密钥管理处理,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,此程序包括第一例程,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集中,指定子树中只有不会失效的接收设备作为元素的集;第二例程,在第二层末端上的节点中,指定在节点的枝上没有任何会失效的接收设备的节点;第三例程,从位于路径上的节点中,指定在从节点分叉出来并最靠近根的叶上没有任何会失效的接收设备的节点,在此,所述路径在第二例程所指定的节点和根之间;第四例程,根据分配给在第三例程中所指定的节点的第二密钥数据,与不会失效的接收设备相通信。
6.一种数据处理设备,该设备根据定义第一层和第二层的树来进行密钥管理,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,此设备包括第一装置,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只有不会失效的接收设备作为元素的若干个集;第二装置,在第二层内末端上的节点中,指定在节点的枝上没有任何会失效的接收设备的若干个节点;第三装置,从位于路径上的节点中,在从节点分叉出来并最靠近根的叶上,指定没有任何会失效的接收设备的若干个节点,在此,所述路径在第二装置所指定的节点和根之间;和第四装置,根据分配给由第三装置所指定的节点的第二密钥数据,与不会失效的接收设备相通信。
7.一种接收设备,用于根据定义第一层和第二层的树来与密钥管理侧相通信,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,此设备包括存储装置,用于存储第三密钥数据和多个第二密钥数据,其中,第三密钥数据用于产生多个第一密钥数据,第一密钥数据被分配给多个所定义的集,使得即使在第一层中的接收设备所属于的子树中任何其它的接收设备均无效的情况下,子树中也存在只有不会失效的接收设备作为元素的若干个集,并且,第二密钥数据被分配给位于下述路径上的全部节点,该路径在与第二层中的那些接收设备相应的末端上的节点和根之间;和处理装置,用于当从密钥管理侧接收到的密钥指定数据指定第三密钥数据时,根据从存储装置上读取的第三密钥数据来产生第一密钥数据,并通过使用第一密钥数据与密钥管理侧相通信,以及当密钥指定数据指定第二密钥数据时,通过使用从存储装置上读取的第二密钥数据与密钥管理侧相通信。
8.一种数据处理方法,由密钥管理侧根据定义第一层和第二层的树来进行,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,此方法包括第一步,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只有不会失效的接收设备作为元素的若干个集;第二步,从针对在属于第三层的子树中在枝上含有会失效的接收设备的子树而预先定义的多个集之中,指定只有在子树末端上的节点中枝上仅包含不会失效的接收设备的节点作为元素的若干个集;第三步,在属于第二层的节点中,从位于路径上的节点之中,指定在从节点分叉出来并最靠近根的枝上没有任何会失效的接收设备的节点,在此,该路径在节点的枝上没有会失效的接收设备的节点和根之间;以及第四步,根据分配给由第一步所指定的若干个集的第一密钥数据、分配给由第二步所指定的若干个集的第二密钥数据、分配给由第三步所指定的若干个节点的第三密钥数据,来与不会失效的接收设备相通信。
9.一种程序,用于使在密钥管理侧上的计算机根据定义第一层、第二层和第三层的树,来执行密钥管理处理,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,第三层夹在第一层和第二层之间,此程序包括第一例程,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集之中,指定子树中只有不会失效的接收设备作为元素的若干个集;第二例程,从针对在属于第三层的子树中在枝上含有会失效的接收设备的子树而预先定义的多个集中,指定只有在这些子树内末端上的节点中在枝上仅包含不会失效的接收设备的节点作为元素的若干个集;第三例程,在第二层的节点中,从位于路径上的节点中,指定在从节点分叉出来并最靠近根的枝上没有任何会失效的接收设备的节点,在此,该路径在节点的枝上没有会失效的接收设备的节点和根之间;和第四例程,根据分配给由第一例程所指定的若干个集的第一密钥数据、分配给由第二例程所指定的若干个集的第二密钥数据、分配给由第三例程所指定的若干个节点的第三密钥数据,来与不会失效的接收设备相通信。
10.一种数据处理设备,用于根据定义第一层、第二层和第三层的树来执行密钥管理,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,第三层夹在第一层和第二层之间,此设备包括第一装置,从针对在属于第一层的子树中包含有会失效的接收设备的子树而预先定义的多个集中,指定子树中只有不会失效的接收设备作为元素的若干个集;第二装置,从针对在属于第三层的子树中在枝上含有会失效的接收设备的子树而预先定义的多个集中,指定只有在子树内末端上的节点中枝上仅包含不会失效的接收设备的节点作为元素的若干个集;第三装置,在第二层的节点中,从位于路径上的节点之中,在从节点分叉出来而且最靠近根的枝上,指定没有任何会失效的接收设备的节点,在此,该路径在节点的枝上没有会失效的接收设备的节点和根之间;和第四装置,根据分配给由第一装置所指定的若干个集的第一密钥数据、分配给由第二装置所指定的若干个集的第二密钥数据、分配给由第三装置所指定的若干个节点的第三密钥数据,来与不会失效的接收设备相通信。
11.一种接收设备,用于根据定义第一层、第二层和第三层的树,来与密钥管理侧相通信,在此,与多个接收设备相关联的多个叶属于第一层,与密钥管理侧相关联的根属于第二层,第三层夹在第一层和第二层之间,此设备包括存储装置,用于存储第二密钥数据、第四密钥数据和多个第五密钥数据,其中,第二密钥数据用于产生多个第一密钥数据,第一密钥数据被分配给多个所定义的集,使得即使在第一层的接收设备所属于的子树中任何其它的接收设备失效的情况下,子树中也存在仅由不会失效的接收设备构成的若干个集;第四密钥数据用于产生多个第三密钥数据,第三密钥数据被分配给多个所定义的集,使得即使在第三层的末端上的节点中,在任何节点的枝上的其它接收设备失效的情况下,也存在只有在枝上没有会失效的接收设备的末端上的节点作为元素的若干个集;所述第五密钥数据被分配给位于这样的路径上的全部节点,该路径在与第二层上的接收设备相应的末端上的节点和根之间;和处理装置,用于当从密钥管理侧接收到的密钥指定数据指定第二密钥数据时,根据从存储装置上读取的第二密钥数据来产生第一密钥数据,并当密钥指定数据指定第四密钥数据时,根据从存储装置上读取的第四密钥数据来产生第三密钥数据,并通过使用第三密钥数据与密钥管理侧相通信,并当密钥指定数据指定第五密钥数据时,通过使用从存储装置上读取的第五密钥数据与密钥管理侧相通信。
全文摘要
根据被分成为两个水平层(A0,A1)的树来获取用于在密钥管理器件(3)和接收设备(4_1到4_N)之间进行通信的密钥加密钥数据。在此情况下,LSD方法用作为属于水平层(A0)的每个区段(31
)的撤消方法。此外,CST方法用作为属于水平层(A1)的每个区段(31[1])的撤消方法。
文档编号H04L9/08GK1698306SQ20048000037
公开日2005年11月16日 申请日期2004年4月16日 优先权日2003年4月18日
发明者米奥德拉格·J·米哈尔杰维克, 阿部让司 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1