密码加密模块选择设备转让专利

申请号 : CN200810177870.0

文献号 : CN101420427B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宫崎真悟中沟孝则丹羽朗人冈田光司栃洼孝也福岛茂之石川千秋越塚登坂村健

申请人 : 东芝解决方案株式会社株式会社横须贺电信研究园区

摘要 :

一种密码加密模块选择设备(100),包括:密码加密评估信息存储设备(163),用于存储用于执行密码加密方法的密码加密模块的标识信息,以及用于描述用于与相互关联的加密模块相对应的功能和/或性能的密码加密评估信息;条件信息获取设备(201),用于获取用于指定所要选择的密码加密模块的条件的条件信息;提取设备(202),用于从密码加密评估信息存储设备存储的密码加密评估信息中提取与条件信息获取设备获取的条件信息相符合的密码加密评估信息;以及输出设备(204),用于读出与提取设备从密码加密评估信息存储设备中选择的密码加密评估信息相对应的密码加密模块的标识信息,并且输出所读取的标识信息。

权利要求 :

1.一种密码加密模块选择设备(100),用于选择多个密码加密模块中的任一密码加密模块,其特征在于包括:

密码加密模块评估信息存储设备(163),用于存储用于执行密码加密方法的密码加密模块的标识信息,以及用于描述用于与相互关联的加密模块相对应的功能和性能之一或是这二者的密码加密模块评估信息;

条件信息获取设备(201),用于获取用于指定所要选择的密码加密模块的条件的条件信息;

提取设备(202),用于从密码加密模块评估信息存储设备存储的密码加密模块评估信息中提取与条件信息获取设备获取的条件信息相符合的密码加密评估信息;以及输出设备(204),用于读出与提取设备从密码加密模块评估信息存储设备中选择的密码加密模块评估信息相对应的密码加密模块的标识信息,并且输出所读取的标识信息。

2.根据权利要求1所述的密码加密模块选择设备,其特征在于还包括密码加密模块管理设备(152),用于执行和操作与输出设备输出的密码加密模块的标识信息相对应的密码加密模块。

3.根据权利要求2所述的密码加密模块选择设备,其特征在于条件信息获取设备获取作为条件信息的将要成为用于执行保存在设备中的密码加密模块的设备的操作条件的信息。

4.根据权利要求3所述的密码加密模块选择设备,其特征在于提取设备为密码加密模块评估信息存储设备中的每一个密码加密模块评估信息确定密码加密模块评估信息是否符合条件信息获取设备获取的条件信息,以及提取符合条件的密码加密模块评估信息。

5.根据权利要求4所述的密码加密模块选择设备,其特征在于提取设备对来自密码加密模块评估信息存储设备的密码加密模块评估信息集合的不同密码加密模块评估信息项进行比较,确定与条件信息获取设备获取的条件信息最为适合的数据,并且将密码加密模块减少至与该条件最为适合的密码加密模块。

6.根据权利要求1所述的密码加密模块选择设备,其特征在于条件信息获取设备获取作为条件信息的将要作为用于执行保存在设备中的密码加密模块的设备的操作条件的信息。

7.根据权利要求6所述的密码加密模块选择设备,其特征在于提取设备为密码加密模块评估信息存储设备中的每一个密码加密模块评估信息确定密码加密模块评估信息是否符合条件信息获取设备获取的条件信息,以及提取符合条件的密码加密模块评估信息。

8.根据权利要求7所述的密码加密模块选择设备,其特征在于提取设备对来自密码加密模块评估信息存储设备的密码加密模块评估信息集合的不同密码加密模块评估信息项进行比较,确定与条件信息获取设备获取的条件信息最为适合的数据,并且将密码加密模块减少至与该条件最为适合的密码加密模块。

9.根据权利要求1所述的密码加密模块选择设备,其特征在于提取设备为密码加密模块评估信息存储设备中的每一个密码加密模块评估信息确定密码加密模块评估信息是否符合条件信息获取设备获取的条件信息,以及提取符合条件的密码加密模块评估信息。

10.根据权利要求9所述的密码加密模块选择设备,其特征在于提取设备对来自密码加密模块评估信息存储设备的密码加密模块评估信息集合的不同密码加密模块评估信息项进行比较,确定与条件信息获取设备获取的条件信息最为适合的数据,并且将密码加密模块减少至与该条件最为适合的密码加密模块。

11.根据权利要求1所述的密码加密模块选择设备,其特征在于提取设备对来自密码加密模块评估信息存储设备的密码加密模块评估信息集合的不同密码加密模块评估信息项进行比较,确定与条件信息获取设备获取的条件信息最为适合的数据,并且将密码加密模块减少至与该条件最为适合的密码加密模块。

12.根据权利要求2所述的密码加密模块选择设备,其特征在于提取设备为密码加密模块评估信息存储设备中的每一个密码加密模块评估信息确定密码加密模块评估信息是否符合条件信息获取设备获取的条件信息,以及提取符合条件的密码加密模块评估信息。

13.根据权利要求12所述的密码加密模块选择设备,其特征在于提取设备对来自密码加密模块评估信息存储设备的密码加密模块评估信息集合的不同密码加密模块评估信息项进行比较,确定与条件信息获取设备获取的条件信息最为适合的数据,并且将密码加密模块减少至与该条件最为适合的密码加密模块。

14.根据权利要求2所述的密码加密模块选择设备,其特征在于提取设备对来自密码加密模块评估信息存储设备的密码加密模块评估信息集合的不同密码加密模块评估信息项进行比较,确定与条件信息获取设备获取的条件信息最为适合的数据,并且将密码加密模块减少至与该条件最为适合的密码加密模块。

15.根据权利要求3所述的密码加密模块选择设备,其特征在于提取设备对来自密码加密模块评估信息存储设备的密码加密模块评估信息集合的不同密码加密模块评估信息项进行比较,确定与条件信息获取设备获取的条件信息最为适合的数据,并且将密码加密模块减少至与该条件最为适合的密码加密模块。

16.根据权利要求6所述的密码加密模块选择设备,其特征在于提取设备对来自密码加密模块评估信息存储设备的密码加密模块评估信息集合的不同密码加密模块评估信息项进行比较,确定与条件信息获取设备获取的条件信息最为适合的数据,并且将密码加密模块减少至与该条件最为适合的密码加密模块。

17.根据权利要求1~16中任一权利要求所述的密码加密模块选择设备,其特征在于还包括:

搜索请求设备(204),用于在提取设备选择与密码加密模块条件相符合的密码加密模块评估信息的过程中不存在与密码加密模块条件相符合的密码加密模块评估信息的时候,将密码加密模块的条件传送到与密码加密模块选择设备相连的外部设备,以便指示密码加密模块的搜索请求;以及接收设备(204),用于接收根据来自搜索请求设备的搜索请求而被搜索的密码加密模块的标识信息。

18.根据权利要求1~16中任一权利要求所述的密码加密模块选择设备,其特征在于当提取与所获取的条件信息相符合的密码加密模块评估信息的时候,提取设备向与密码加密模块选择设备相连的第二密码加密模块选择设备传送包含在密码加密模块评估信息中的密码加密方法信息,并且第二密码加密模块选择设备选择与该密码加密方法相对应的密码加密模块。

说明书 :

密码加密模块选择设备

技术领域

[0001] 本发明涉及一种用于选择为电子数据的加密和签名处理选择密码加密方案的加密模块选择设备。

背景技术

[0002] 在当前的高度信息化的社会中,密码加密技术被用作了用于确保信息安全的基础技术。
[0003] 密码加密技术大致分成以下类别,即通用密钥密码加密系统、公开密钥密码加密系统、哈希函数、随机数等等。在每一个类别中都开发了不同的密码加密方法。每一种密码加密方法都具有特定特征。由此,较为理想的是通过考虑密码加密方法的特征并且依照环境来选择恰当的密码加密方法。
[0004] 例如,在日本专利申请公开2002-281018中公开了一种用于在改变加密方法时在系统中反映所改变的密码加密方法的技术。
[0005] 例如,在CRYPTREC电子政务建议的密码加密列表中(URL:http://www.soumu.go.jp/joho_tsusin/security/pdf/cryptrec_01.pdf)显示了一种用于选择密码加密方法的准则。举个例子,在选择通用密钥密码加密系统时,这时建议了解由通信和广播组织撰写的关于选择/设计/评估通用密钥分组密码加密的文献的内容(URL:http://www2.nict.go.jp/tao/kenkyu/yokohama/guidebook.pdf)。
[0006] 但是,电子政务推荐的密码加密列表显示了通常使用的密码加密方法集合,但是并没有始终显示依照环境的最优密码加密方法。
[0007] 举例来说,由于通用密钥密码加密方法是通过理解涉及选择/设计/评估的文献来选择的,因此,为了选择通用密钥密码加密方法,有必要具有专业的知识。
[0008] 此外,通过发现关于现有密码加密方法的新颖的攻击方法,有可能需要修改现有密码加密方法,以便提供新的密码加密方法。
[0009] 此外,在一种密码加密方法中有可能存在实施方式互不相同的多个密码加密模块。因此,依照实施方式,密码加密模块的速度或是资源的消耗量有可能是不同的。相应地,根据环境,有可能需要将当前的密码加密模块改变成相同密码加密方法的不同密码加密模块。
[0010] 在任何情况下,当改变密码加密模块时都会推荐将用于执行新的密码加密方法的密码加密模块分发到相应的设备,以便更新密码加密模块(相关实例参见日本专利申请公开2002-281018)。但是,在日本专利申请公开2002-281018中并未提出关于密码加密模块的最优选择。
[0011] 由此,密码加密模块通常是作为固定模块来使用的,当改变密码加密模块时,这时需要专业知识来选择适合环境的最优密码加密模块。

发明内容

[0012] 因此,本发明的一个目的是给出一种在没有专业知识的情况下根据环境来选择最优密码加密方法或密码加密模块的密码加密模块选择设备。
[0013] 本发明主要具有如下配置。即,“密码加密模块选择过程”将被构建,其中该过程是一个将密码加密模块与描述密码加密模块功能和属性的密码加密评估信息相关联,以及通过依照指定条件查阅这些数据来产生后续输出的算法。
[0014] 1)编译与指定条件相适合的密码加密模块的列表
[0015] 在这里,在密码加密评估信息中描述并且在编译列表的时候使用密码加密模块依存关系以及限制条件。
[0016] 2)根据指定条件的优先级程度而从关于1)的符合列表中选择最优的密码加密模块。
[0017] 在这里,密码加密模块的分数是相对于在条件中指定的属性来评估的,并且评估结果是在密码加密评估信息中描述以及在选择密码加密模块的时候使用的。
[0018] 这个操作不但会在选择在自身机器中使用的密码加密模块的时候使用,而且还会在服务器为终端设备硬件选择最优密码加密模块的时候使用。
[0019] 在本发明的一个方面中提供了一种密码加密模块选择设备,用于选择多个密码加密模块中的任何一个密码加密模块,包括:密码加密评估信息存储设备,配置用于存储用于执行密码加密方法的密码加密模块的标识信息,以及用于描述用于与相互关联的加密模块相对应的功能和性能之一或是这二者的密码加密评估信息;条件信息获取设备,配置用于获取用于指定所要选择的密码加密模块的条件的条件信息;提取设备,配置用于从密码加密评估信息存储设备存储的密码加密评估信息中提取与条件信息获取设备获取的条件信息相符合的密码加密评估信息;以及输出设备,配置用于读出与提取设备从密码加密评估信息存储设备中选择的密码加密评估信息相对应的密码加密模块的标识信息,并且输出所读取的标识信息。

附图说明

[0020] 图1是显示本发明第一实施例中的密码加密模块分发系统配置的框图;
[0021] 图2是显示同一实施例中的密码加密客户机设备配置的框图;
[0022] 图3是显示同一实施例中的密码加密管理服务器设备配置的框图;
[0023] 图4是显示本发明第二实施例中的密码加密模块分发系统配置的框图;
[0024] 图5是显示同一实施例中的密码加密客户机设备配置的框图;
[0025] 图6是显示同一实施例中的选择DB的数据组成实例的图示;
[0026] 图7是显示同一实施例中的密码加密模块链接DB的数据组成实例的图示;
[0027] 图8是显示同一实施例中的密码加密模块DB的数据组成实例的图示;
[0028] 图9是显示同一实施例中的密钥信息DB的数据组成实例的图示;
[0029] 图10是显示同一实施例中的密码加密处理DB的数据组成实例的图示;
[0030] 图11是显示同一实施例中的数据库的逻辑组成的图示;
[0031] 图12是显示同一实施例中的密码加密管理服务器设备的配置的框图;
[0032] 图13是同一实施例中的密码加密选择设备的功能框图;
[0033] 图14是同一实施例中的关于密码加密评估信息的描述项目的实例;
[0034] 图15是同一实施例中的密码加密选择设备的操作的流程图;
[0035] 图16是同一实施例中的加密模块选择过程的数据输入和输出的实例;
[0036] 图17是本发明第四实施例中的密码加密选择设备的功能框图;
[0037] 图18是同一实施例中的密码加密选择设备的操作的流程图;
[0038] 图19是同一实施例中的密码加密模块选择过程的数据输入和输出的实例;
[0039] 图20是本发明第五实施例中的密码加密模选择设备的功能框图;
[0040] 图21是显示同一实施例中的选择密码加密模块的整体操作的图示;
[0041] 图22是在同一实施例中当响应于终端侧请求而选择从服务器端分发的密码加密模块时密码加密模块选择过程的数据输入和输出的实例;
[0042] 图23是在同一实施例中当通过服务器端发起来选择和分发保持在终端侧的密码加密模块时密码加密模块选择过程的数据输入和输出的实例。

具体实施方式

[0043] 在下文中将会参考附图来描述本发明实施例中的密码加密模块分发系统。
[0044] 接下来将会给出关于本系统的概述。在本系统中,服务器与客户机设备相连,并且在服务器与客户机设备之间可以传送和接收那些通过使用与特定密码加密方法相符合的密码加密模块加密的信息。此外,在本系统中还可以周期性改变密码加密模块。作为能够改变密码加密模块的此类密码加密系统,目前存在某些框架,在这些框架中,接口是依照密码加密技术并且在独立于密码加密方法以及可以实施每一个密码厂商的情况下定义的。例TM TM TM TM如,此类框架包括Microsoft 的CryptAPI、Sun 的JCA(Java 密码加密架构)/JCE(JavaTM
密码加密扩展)、以及Open Group 的CDSA(通用数据安全架构)。
[0045] 在这些框架中,用于访问每一个密码加密模块的接口是根据密码加密技术来定义的,其中举例来说,该密码加密技术可以是加密/解密、签名生成/验证以及认证方生成/验证,此外,诸如DES(数据加密标准)和AES(高级加密标准)之类的密码加密方法是可以根据所述接口来实施的。当加密或安全性的专业人员构造系统时,这时将会提前从所实施的密码加密方法中选择恰当的密码加密方法,并且会将用于指示所用密码加密方法的密码加密方法参数输入到该框架中,由此可以改变密码加密方法。
[0046] 通常,在使用此类框架中,如果改变了用于管理应用系统的安全策略,那么密码加密或安全方面的专业人员必须重新选择适合该系统的密码加密方法,这其中包含了获得恰当专业密码加密或安全性人员和成本的问题。如果在现有密码加密方法中发现缺陷,或者在宣布新的密码加密方法时,这时是很难将密码加密方法中的变化平滑应用于当前工作的系统应用的。此外,依照用于确保安全性的环境,如果所需要的安全等级和处理速度不同,那么是很难在常规系统中实现最优安全性的。
[0047] 根据本实施例的系统,这些问题可以在能够改变密码加密方法的密码加密系统中解决。
[0048] <第一实施例>
[0049] 图1是显示本发明第一实施例中的密码加密模块分发系统配置的示意性框图。
[0050] 该密码加密系统包括:密码加密管理服务器设备350,用于传送包含了密码加密模块308和密码加密评估描述文件309的密码加密包307,以及密码加密客户机设备150,用于使用接收到的密码加密包307来执行密码加密处理。对密码加密评估描述文件309中描述的密码加密模块来说,其评估涉及的是关于相应密码加密模块308的密码加密方法的可靠性、强度等等的众多信息,并且其实例包括所实施的密码加密方法的安全性、密码加密模块的处理速度以及可以在密码加密模块中使用的密钥长度。密码加密评估描述文件309是密码加密评估信息的一个实例,并且用XML格式表述的密码加密评估信息同样可以应用作为密码加密评估描述文件309。
[0051] 密码加密管理服务器350包括用于累积密码加密模块308的密码加密模块DB353,用于累积密码加密评估描述文件309的密码加密评估DB 354,用于管理密码加密模块DB 353和密码加密模块评估DB 354的密码加密管理单元351,用于在密码加密模块DB 353和密码加密模块评估DB 354中注册新信息的密码加密模块注册单元355,以及响应于来自密码加密客户机设备150的请求而从密码加密模块DB 353和密码加密模块评估DB 354中读出最优密码加密包307以便进行传输的密码加密模块分发单元352。
[0052] 密码加密客户机设备150包括:作为应用或中间件的主机系统单元151,其经由密码加密控制管理器单元152来存取和使用所实施的密码加密模块单元153所给出的密码加密函数,接收密码加密管理服务器设备350传送的密码加密包307并且改变所实施的密码加密模块单元153所给出的密码加密函数的密码加密控制管理器单元152,作为硬件来使用基本密码加密方法实现密码加密处理的防篡改密码加密硬件单元450,以及给出了密码加密函数的所实施的密码加密模块单元153,其中在该函数中可以执行和使用用于实施密码加密方法的密码加密模块308。密码加密管理服务器设备350根据来自密码加密客户机设备150的请求来执行密码加密模块初始注册、分发和更新这三个过程,以便将恰当的密码加密包307传送到密码加密客户机设备150。
[0053] 在这里,当密码加密客户机设备150不具有密码加密模块308并且不存在所实施的密码加密模块单元153时,密码加密模块初始注册被设计成使用密码加密客户机设备150的密码加密硬件单元450来将不可缺少的密码加密模块308从密码加密管理服务器设备350安全地传送到所实施的密码加密模块单元153。
[0054] 密码加密模块分发被设计成选择恰当的密码加密模块308或是密码加密包307,并且响应于从密码加密客户机设备150接收的密码加密处理请求来由密码加密管理服务器设备350向密码加密客户机设备150传送一个响应。该密码加密处理请求包括关于密码加密模块的条件信息,并且该条件信息包括密码加密方法的分类(密码加密方法类别),例如加密或签名生成,密码加密模块308的制造商,用于操作密码加密模块308的硬件的信息,以及密码加密模块评估信息。该密码加密模块评估信息可以在独立于密码加密模块308的情况下作为一个文件而被处理,在本实施例的例示中,它作为密码加密评估描述文件
309。
[0055] 密码加密模块更新被设计成传送新的密码加密模块308,以及通知密码加密管理服务器设备的所实施的现有密码加密模块单元153不可用,这其中包含了各种功能,例如注册新的密码加密模块308,删除使用了被盗用的密码加密方法的相应密码加密模块308,在密码加密模块308中发现故障,以及更新现有密码加密模块308和执行该密码加密模块308的所实施的密码加密模块单元153,在密码加密方法评估因为计算机处理速度提升等因素而发生变化时,在密码加密管理服务器设备350上更新保存在密码加密模块DB 353或密码加密模块评估DB 354中的信息,并且周期性或者根据来自密码加密客户机设备150的请求来将已更新的密码加密包307的信息传送到密码加密客户机设备150。
[0056] 图2是密码加密客户机设备150的详细配置图。该密码加密控制管理器单元152包括:具有密码加密处理信息DB 157的密码加密信息处理单元156,密码加密模块DB 164,密码加密模块评估DB 163,具有密码加密模块选择策略158和硬件简档(profile)160的密码加密模块选择单元159,密钥信息DB165,具有用于描述向密钥信息DB 165的访问控制策略的访问控制策略161的密钥信息管理单元162,具有密码加密控制管理器策略167的密码加密管理单元166,与密码加密硬件单元450进行通信的密码加密硬件管理控制单元170,与外界进行通信的通信功能155,与通信功能155相关联的算法协商单元168,以及与通信功能155相关联的安全通信管理单元169。
[0057] 密码加密处理控制单元156根据来自主机系统单元151的密码加密处理调用来执行密钥生成处理,密钥注册处理以及密码加密处理。
[0058] 密码加密模块DB 164是一个用于存储从密码加密管理服务器设备350接收的密码加密模块308的存储单元。
[0059] 密码加密模块评估DB 354是一个用于存储从密码加密管理服务器设备350接收的密码加密评估描述文件309的存储单元。
[0060] 密码加密模块选择单元159根据主机系统单元151输入的密码加密模块308的条件信息来从密码加密模块DB 164存储的密码加密模块308中选择最合适的密码加密模块308,其中该条件信息包括加密类别(例如加密或签名生成),密码加密模块308的制造商,用于操作密码加密模块308的硬件的信息,关于密码加密方法的评估信息等等。在选择密码加密模块308的过程中,该选择是根据密码加密模块选择策略158而从符合硬件简档160的密码加密模块308中进行的,其中该硬件简档160描述的是密码加密客户及设备150的硬件信息,并且该密码加密模块选择策略158描述的是使用密码加密客户及设备150的用户的策略。
[0061] 硬件简档160是例如密码加密客户及设备150的CPU架构、CPU时钟、已安装内存大小等信息。如果依照输入条件选择了多个密码,那么密码加密模块选择策略158可以是如下信息,希望用户优先使用的条件,希望用户优先使用的密码加密模块的制造商,希望用户禁止使用的密码加密方法等等。
[0062] 由此,密码加密模块选择单元159通过参考来自主机系统单元151的输入信息、硬件简档160以及密码加密模块选择策略158来选择适合输入信息的密码加密模块308。当密码加密模块选择单元159选择了唯一的密码加密模块308时,所选择的密码加密模块308将被从密码加密模块DB 164中取出。当密码加密模块选择单元159无法选择唯一的密码加密模块308时,这时将会输出一个错误。
[0063] 密钥信息管理单元162在/从密钥信息DB 165中存储/读出数据,例如在调用所实施的密码加密模块单元153时指定的密钥信息或是密码加密方法参数的信息。当存在一项以上的指定密钥信息或密码加密方法参数的时候,密钥信息管理单元162将会关联多个信息项,以便作为一个单元来对其进行提取,从而将其注册在密钥信息DB 165中。此外,当从密钥信息DB 165中提取密钥信息或密码加密方法参数时,密钥信息管理单元162将会根据密码加密模块选择策略158来控制从多个主机单元151中访问密钥信息的处理。
[0064] 密码加密管理单元166借助通信功能155来与密码加密管理服务器设备350进行通信,并且根据密码加密模块初始注册、分发和更新处理来接收密码加密包307等等。当密码加密管理单元166从密码加密管理服务器设备350接收密码加密包307等等的时候,它会根据密码加密控制管理器策略167的内容来执行处理。举例来说,密码加密控制管理器策略167的内容包括如下五项。第一项是是否通过与密码加密管理服务器设备350进行通信来执行服务器认证。第二项是是否在从密码加密管理服务器设备350接收到密码加密包307或类似等的时候执行加密。第三项是是否在从密码加密管理服务器设备350接收到密码加密包307或类似等的时候添加篡改检测器(MAC:消息认证码)。第四项是是否对接收到的密码加密包307或类似等执行认证器检验。第五项是关于周期性更新的指定信息,其中该信息显示的是是否周期性更新保存在密码加密模块评估DB 163和密码加密模块DB 164中的密码加密包307,以及更新频率。
[0065] 密码加密硬件管理控制单元170与密码加密硬件单元450进行通信,并且根据密码加密初始注册过程来从密码加密管理服务器设备350接收密码加密包307。当接收到密码加密包307时,如果密码加密包307自身是经过加密的,则由密码加密硬件单元450来解码密码加密包307。当检测到在密码加密模块308中添加了消息验证码时,密码加密硬件单元450将会检测针对密码加密模块308的篡改。
[0066] 算法协商单元168与通信功能155进行协作,并且会在两个密码加密客户机设备之间建立安全通信会话之前对在建立通信会话的过程中使用的密码加密方法以及在通信会话中使用的密码加密方法进行协商。
[0067] 安全通信管理单元169与通信功能155进行协作,并且与另一个密码加密客户及设备150建立安全通信会话。在建立安全会话时,在算法协商单元168确定了在建立通信会话的过程中使用的密码加密方法以及在通信会话中使用的密码加密方法之后,安全通信管理单元169将会执行会话密钥共享。在建立了安全通信会话之后,安全通信管理单元169根据所确定的密码加密方法并且通过使用会话密钥来允许添加认证器,以便加密通信数据,以及防止非法变更通信数据。一旦建立通信会话,那么安全通信管理单元169允许保持通信会话,以便在指定时间以内再次使用。
[0068] 图3是密码加密管理服务器设备350的详细配置图。该密码加密管理服务器设备350包括密码加密模块DB 353,密码加密模块评估DB 354,用于读取和更新保存在密码加密模块DB 353以及密码加密模块评估DB 354中的信息的密码加密管理单元351,用于将信息注册在密码加密模块DB 353以及密码加密模块评估DB 354中的密码加密模块注册单元355,以及用于将密码加密模块传送到密码加密客户机设备150的密码加密模块分发单元352。
[0069] 密码加密模块DB 353是一个保存了预先由用户存储或输入的密码加密模块308的数据库。
[0070] 密码加密模块评估DB 354是一个保存在预先由用户存储和输入的密码加密评估描述文件309的数据库。
[0071] 密码加密管理单元351具有一个与密码加密管理服务器设备350的接口,用于搜索保存在密码加密模块DB 353以及密码加密模块评估DB 354中的密码加密模块308以及密码加密包307,显示密码加密模块评估单元的内容,显示被管理的密码的列表,更新现有密码,删除现有密码,注册新密码,以及启动/停止密码加密模块分发单元。当注册新密码时,密码加密模块管理单元351将会请求密码加密模块注册单元355进行注册。
[0072] 密码加密模块注册单元355具有密码加密包注册单元357以及复合类型描述生成单元358。
[0073] 密码加密模块分发单元352具有密码加密包分发控制单元359,具有分发策略371的密码加密包分发合成单元370,以及具有分发策略371的分发密码加密模块选择单元360。密码加密模块分发单元352解译来自密码加密客户机设备150的请求,并且执行等待服务,以便执行密码加密模块初始注册、分发和更新这三个过程。在等待服务中,处理日志将被记录。
[0074] 在分发密码加密模块选择单元360中,其中将会根据密码加密模块初始注册、分布和更新这三个过程以及来自密码加密客户机设备150的请求来选择适合分发的密码加密模块308。在密码加密模块初始注册的情况下,所要分发的密码加密模块308是在分发策略371中描述的密码加密方法,其中该算法被定义成是对用户而言不可缺少的。
[0075] 在密码加密包分发合成单元370中,基于分发密码加密模块选择单元360选择的密码加密模块308,将会根据分发策略371将密码加密模块308以及与密码加密模块308相对应的密码加密评估描述文件309合成,以作为密码加密包307来进行分发。举例来说,该分发策略371描述了以下四项。
[0076] 第一项是在分发密码加密包307的时候是否加密密码加密包307。第二项是用于加密密码加密包307的密码加密方法。第三项是是否在分发密码加密包307的时候添加篡改检测器。第四项是密码加密包307的篡改检测器的密码加密方法。
[0077] 在密码加密包分发合成单元370的合成处理中,保存在密码加密模块评估DB 354中的内容是作为密码加密评估描述文件309而以指定格式产生的,并且认证器将被添加给密码加密包307,以便由密码加密管理服务器设备350来批准分发,并且密码加密模块308和密码加密评估描述文件309将会作为一个配对合成到密码加密包307中。
[0078] 密码加密包分发合成单元370还可以将多个密码加密模块308以及与多个密码加密模块308相对应的密码加密评估描述文件309组合成一个密码加密包。在由密码加密包分发合成单元370执行的合成处理中,密码加密包307将被加密,篡改检测器将被添加,并且由此将会根据密码加密客户及设备150的密码加密控制管理器策略或是密码加密管理服务器设备350的分发策略371来执行密钥生成和密钥管理。
[0079] <第二实施例>
[0080] 在第一实施例中,最优的密码加密方法是由密码加密客户机设备选择的,但在第二实施例中,最优的密码加密方法是由密码加密管理服务器设备主动选择的。换言之,在图4所示的密码加密模块分发系统中采用了一种服务器加固协作机制,在该机制中,在模块选择策略存储单元110中将会管理和使用密码加密管理服务器设备1350选择的密码加密方法的选择结果信息,特别地,当模块选择策略存储单元110的计算能力很弱时,密码加密管理服务器设备1350将会支持该操作,并且可以增强密码加密客户及设备1100中的响应性能。
[0081] 更具体地说,选择最适合来自主机系统单元1151的请求的密码加密模块308的处理是由密码加密管理服务器设备1350执行的,并且其结果是在密码加密客户机设备1100的密码加密控制管理器单元1152中接收的,而所需要的条件与最优密码加密模块308之间的关系则是在密码加密信息存储单元1600中被管理的。密码加密控制管理器单元1152根据来自主机系统单元1151的密码加密控制管理器请求并且基于来自主机系统单元1151的请求与最适合该请求的密码加密模块308之间的关系来执行处理。由此,与第一实施例不同,对于密码加密模块308的所有选择功能或是选择密码加密模块308,密码加密客户机设备1100并不总是需要管理密码加密包307以及从密码加密管理服务器设备1350接收密码加密包307。
[0082] 图4是本发明第二实施例中的密码加密模块分发系统的概要配置的框图。该系统包括一个或多个密码加密客户机设备1100,一个或多个密码加密硬件单元1450,以及密码加密管理服务器设备1350。密码加密硬件单元1450与第一实施例中是相同的。在这里,每一个密码加密客户机设备1100都可以连接多个密码加密硬件单元1450。该密码加密硬件单元1450还可以安装在密码加密客户机设备1100中。
[0083] 图5是显示密码加密客户机设备1100的配置的框图。密码加密客户机设备1100包括主机系统单元1151,密码加密控制管理器单元1152,所实施的密码加密模块单元1153,以及通信功能1155。选择策略1158是涉及安全性、处理速度和资源的文件设置优先级信息。主机系统单元1151和所实施的密码加密模块单元1153与在第一实施例中具有相同的配置和功能。
[0084] 密码加密控制管理器单元1152具有密码加密处理控制单元1156,密钥管理单元1162,密码加密信息存储单元1600,密码加密包管理单元1166,以及密码加密硬件管理控制单元1170。
[0085] 密码加密处理控制单元1156具有:用于从主机系统单元1151接收包含了密码加密处理条件的密码加密控制管理器请求的功能,用于查阅密码加密信息存储单元1600以及指定涉及密码加密处理条件的功能,用于根据密码加密处理执行定时来向所实施的密码加密模块单元1153请求密码加密处理的功能,用于为密码加密处理发布密码加密处理ID以及将密码加密处理ID结合密码加密信息存储单元1600中的加密处理信息来进行存储的功能,以及用于将来自所实施的密码加密模块单元1153的密码加密处理结果和涉及密码加密处理的密码加密处理ID输出到主机系统单元1151中的功能。
[0086] 密钥管理单元1162具有根据来自主机系统单元1151的请求而在密码加密信息存储单1600的密钥信息DB 1165中注册、删除、获取、搜索或更新密钥信息的功能,在正常执行密码加密密钥注册时发布密钥ID的功能,结合注册处理信息而将密钥ID保存在密码加密信息存储单1600中的功能,以及根据环境来向包含密码加密处理ID或密钥ID的主机系统单元1151发出包含了相应处理结果的功能。
[0087] 密码加密信息存储单元1600具有存储选择DB 1601、密码加密模块链接DB 1602、密码加密模块DB 1603、密钥信息DB 1165以及密码加密处理DB
[0088] 1604的功能。密码加密信息存储单元1600还可以具有根据来自密钥管理单元1162、密码加密处理控制单元1156以及密码加密包管理单元1166的请求来控制和管理密码加密信息存储单元1600的每一个DB的功能。
[0089] 在图6中显示了选择DB 1601的数据结构。在图7中显示了密码加密模块链接DB1602的数据结构。在图8中显示了密码加密模块DB 1603的数据结构。在图9中显示了密钥信息DB 1165的数据结构。在图10中显示了密码加密处理DB 1604的数据结构。图11显示了密码加密信息存储单元1600的每一个数据库的逻辑关系。
[0090] 密码加密包管理单元1166具有如下功能。
[0091] 首先,密码加密包管理单元1166具有在密码加密存储单元1600中注册算法ID、密码加密模块评估描述ID、密码加密模块ID以及所选择的密码加密包307的推荐密钥长度信息的功能,其中这些信息是通过通信功能1155向密码加密管理服务器设备1350传送该主机系统单元1151输入的包括选择条件、选择策略和硬件简档在内的信息来获取的。
[0092] 此外,密码加密包管理单元1166具有如下功能:根据主机系统单元1151输入的请求并且借助通信功能1155以及使用最终的初始注册日期和最终的初始注册域作为密码加密管理服务器设备1350的输入来执行密码加密包初始注册协议,从密码加密管理服务器设备1350下载最小必要密码加密包307,以及在密码加密信息存储单元1600中注册密码加密包307。
[0093] 此外,密码加密包管理单元1166具有如下功能:借助通信功能1155来向密码加密管理服务器设备1350传送保持在终端中并由主机系统单元1151输入的包括选择条件、选择策略、硬件简档和密码加密包307的列表在内的信息,获取密码加密管理服务器设备1350选择的密码加密包307的实体和附件信息(算法ID,密码加密模块评估描述ID、密码加密模块ID),以及将所选择的密码加密包307注册在密码加密信息存储单元1600中。
[0094] 密码加密硬件管理控制单元1170具有响应于来自密码加密控制管理器单元1152的各个部分的请求并且借助通信功能1155来执行针对密码加密硬件的通信控制的功能。
[0095] 通信功能1155具有在密码加密包管理单元1166或密码加密硬件管理控制单元1170与合作通信设备或密码加密硬件之间相互通信的功能。
[0096] 图12是显示密码加密管理服务器设备1350的配置的功能框图。密码加密管理服务器设备1350包括服务器主机系统单元1380,通信功能1356,密码加密管理服务器控制单元1352,密码加密包存储单元1355,以及服务密码加密控制管理器单元1390。
[0097] 服务器主机系统单元1380与密码加密客户机设备1100的主机系统单元1151具有相同的功能,并且还具有从系统管理器向密码加密管理服务器控制单元1352传送关于密码加密管理的控制请求的功能。
[0098] 通信功能1356具有在密码加密管理服务器控制单元1352或服务器密码加密控制管理器单元1390与合作通信设备以及密码加密硬件或是用于模拟密码加密硬件的仿真器之间相互通信的功能。
[0099] 密码加密管理服务器控制单元1352包括密码加密包管理控制单元1359,密码加密包管理单元1351,密码加密包分发合成单元1370以及分发密码加密包选择单元1373。
[0100] 密码加密包管理控制单元1359具有通过来自服务器主机系统单元1380的请求来注册密码加密包307的功能,通过来自服务器主机系统单元1380的请求来更新已注册的密码加密包的功能,在呈现来自厂商的密码加密包的时候检验用于检查密码加密包来源的厂商许可认证器的功能,通过组合多个单类型的密码加密模块评估描述部分或是多个复合类型的密码加密模块评估描述部分来产生复合类型的密码加密模块评估描述单元的功能,搜索和获取在密码加密模块DB 1353中注册的密码加密包307的列表的功能,根据来自服务器主机系统单元1380的请求而从密码加密模块DB 1353中删除密码加密模块308以及相关的密码加密包307的功能,以及输出与在密码加密包存储单元1355上执行的注册、更细和删除处理相对应的日志的功能。
[0101] 密码加密包管理单元1351具有并行处理来自多个密码加密客户机设备1100的管理请求的功能,执行初始注册处理、分发处理、更新处理、选择处理、更新通知处理和密码加密包307的密码加密管理域转换处理的功能,用于在密码加密客户机设备1100与密码加密管理服务器设备1350之间建立安全性受到保护的通信路径的功能,用于管理在受密码加密管理服务器设备1350管理的域中存在的密码加密客户机管理设备的状态的功能,以及用于产生与初始注册处理、分发处理、更新处理、选择处理、更新通知处理和密码加密包307的密码加密管理域转换处理相关的日志的功能。
[0102] 密码加密包分发合成单元1370具有从密码加密模块DB 1353获取在分发密码加密包选择单元1373中选择的密码加密包307的功能,合成和输出以XML之类的密码加密模块评估描述格式保存在密码加密模块DB 1353中的每一个描述项的数据的功能,根据与在密码加密包管理控制单元1359的安全通信中使用的密钥相关的指定安全系统并且通过向服务器密码加密控制管理器单元1390请求处理来产生密钥的功能,根据包含了密码加密客户机设备1100的ID以及密钥安全系统的信息来管理密钥信息的功能,以及根据在密码加密管理服务器设备1350的分发策略中定义的安全等级和安全系统来对将要从密码加密管理服务器1350传送到密码加密客户机设备1100的信息执行关于数据保护和数据认证的安全处理的功能。
[0103] 分发加密密钥包选择单元1373具有确定在密码加密包初始注册处理中的初始注册以及选择密码加密方法并选择密码加密包的功能,在密码加密包分发处理中确定所述分发并且选择密码加密包的功能,在密码加密包更新处理中确定所述分发的功能,在密码加密包更新处理中获取所更新的密码加密模块列表以及选择密码加密包的功能,在密码加密包选择处理中确定所述选择并且选择密码加密包的功能,在密码加密管理域变换处理中确定所述移动并且产生域移动处理信息的功能,以及在密码加密包存储单元中搜索满足选择条件、选择策略和硬件策略的密码加密包的功能。
[0104] 密码加密包存储单元1355包括用于记录和管理已注册的密码加密模块308的密码加密模块DB 1353,以及用于记录和管理密码加密评估描述文件309的密码加密模块评估DB 1354。
[0105] 服务器密码加密控制管理器单元1390与密码加密客户机设备1100的密码加密控制管理器1152具有相同的功能,并且还具有通过与密码加密管理服务器设备1352协作而在密码加密管理服务器设备1350中实施密码加密资源管理控制以及与其他通信设备实施密码认证通信的功能。
[0106] <第三实施例>
[0107] 接下来将要描述的是由具有多个密码加密模块的终端设备预先选择符合自身设备的密码加密模块的情况。
[0108] 图13是第三实施例中的终端设备100的示意性框图。第三实施例的终端设备100是一个包含了图2所示的密码加密客户机设备整体或是其一部分的设备,并且在第三实施例和第四实施例中,选择密码加密模块的功能是包含在这个终端100中的。在图13的终端设备100中,举例来说,适合终端设备100的密码加密模块是由终端设备100自己选择的。在这个终端设备100中,密码加密模块评估信息是通过描述密码加密模块的功能和属性而被编译的,并且密码加密模块评估信息与密码加密模块相关联。作为指定条件的环境将会从外界被输入,并且通过使用这个数据,可以确定和输出恰当的密码加密模块。在这里,“外界”指的是直接与密码加密模块自身相关联的功能部分,例如图2所示的所实施的密码加密模块单元153或是密码加密模块DB 164,但是在选择密码加密模块的时候,所述“外界”并不是必要的,其实例可以是图2所示的主机系统单元151。除了每一次输入的条件之外,该条件还包括硬件简档,密码加密模块选择策略以及其他条件。终端设备100至少包括图2所示的密码加密模块选择单元159,密码加密模块选择策略158,硬件简档160,以及密码加密模块评估DB 163。更具体地说,密码加密模块选择单元159包括图13所示的条件输入单元
201,密码加密模块提取单元202,密码加密模块减少单元203以及选择结果输出单元204。
[0109] 在图13中,条件输入单元201获取用于指定所要选择的密码加密模块的条件的条件信息。在这个获取过程中,主机系统单元指定的条件信息将被获取。作为替换,从外部设备输入的信息可以被接收和获取,或者从键盘或其他输入设备输入的信息也可以被获取。在这里,举例来说,条件信息包括指定的条件,并且所述指定的条件包括执行密码加密模块所需要的用于指定密码加密模块类别的类别信息,密码加密模块的处理速度,以及存储器容量。
[0110] 条件输入单元201还可以获取将要作为用于执行保存在设备中的密码加密模块的设备的工作条件的信息,以此作为条件信息。
[0111] 硬件简档160存储的是使用了密码加密模块的终端设备100的硬件功能和性能的信息,并且举例来说,该信息包括硬件中的存储器使用上限,CPU的处理速度,以及密码加密模块的处理速度。这个硬件简档只保存在设备中,并且举例来说,它可以在为存储硬件简档所保留的预定存储器区域中提供和存储,或者也可以为每一个硬件分发和存储关于硬件功能和性能的硬件简档。
[0112] 密码加密模块评估DB 163存储了密码加密模块的标识信息以及用于描述与密码加密模块相关的密码加密模块功能或性能之一或是这二者的密码加密模块评估信息。
[0113] 在图14中显示了保存在密码加密模块评估DB 163中的密码加密模块评估信息的一个实例。如图14所示,在密码加密模块评估信息中存储了其描述项和概要,并且所述描述项和概要是彼此关联的,此外,还存储了密码加密模块评估信息以及相应的密码加密模块评估信息之一,并且这二者是彼此关联的。
[0114] 密码加密模块提取单元202具有通过提取与条件输入单元201输入的指定条件相适合的密码加密模块来编译列表的功能。指定条件输入不但包括每一种选择的条件的输入,而且还包括作为终端硬件导致的限制条件而被保存在终端中的条件(举例来说,在这里是保存在硬件简档160中)或是这二者的组合。相应地,密码加密模块依存关系以及限制条件是在密码加密模块评估信息中描述的,并且是在编译列表的时候使用的。
[0115] 密码加密模块提取单元202还从评估信息存储单元163存储的密码加密模块的密码加密模块评估信息中提取与包含在条件输入单元201获取的条件信息中且将要选择的密码加密模块相符合的密码加密模块评估信息。
[0116] 此外,在提取密码加密模块评估信息时,密码加密模块提取单元202确定密码加密模块评估信息是否满足条件信息,并且提取满足该条件的密码加密模块评估信息。
[0117] 密码加密模块选择策略158存储的的信息包括:在依据输入条件选择了多个密码加密模块时由用户给出的优先级的条件,由用户给出了优先级的密码加密模块的开发制造商,以及用户希望禁止的密码加密方法和密码加密模块。
[0118] 密码加密模块减少单元203具有:在指定条件是选择最适合的密码加密模块的情况下,通过根据优先级的程度来执行减少而选择最适合指定条件的密码加密模块的功能。换言之,密码加密模块减少单元203比较密码加密模块评估信息集合中的密码加密模块评估信息的各个项目,并且确定与条件输入单元201输入的条件信息最为适合的信息,由此将密码加密模块减少成与该条件最为适合的密码加密模块。指定条件的输入不但包括在每一个选择时的条件的输入,而且还包括保存在终端中的常规终端条件(例如保存了密码加密模块选择策略158)或是其组合。选择目标可以是从终端设备100的所有密码加密模块中被选择,或者从密码加密模块提取单元202输出的密码加密模块(群组)中选择。为此目的,在密码加密模块评估信息中描述了密码加密模块的分数评估,并且会在执行选择的时候被查阅。
[0119] 选择结果输出单元204从密码加密模块评估信息存储单元163中读出与密码加密模块提取单元202或密码加密模块减少单元203选择的密码加密模块评估信息相对应的密码加密模块的标识信息,并且输出所读取的标识信息。
[0120] 在由密码加密模块提取单元202或密码加密模块减少单元203提取与密码加密模块相符合的密码加密模块评估信息时,如果没有发现与密码加密模块条件相匹配的密码加密模块评估信息,那么选择结果输出单元204可以执行如下的两种处理之一:
[0121] (1)通过输出缺少相应的密码加密模块来终止处理;
[0122] (2)具有如下功能:通过向外部设备输出密码加密模块条件来输出搜索指令,并且从外部设备接收根据搜索请求搜索的密码加密模块的标识信息。
[0123] 在第三实施例中执行的是处理(1),并且在第五实施例中将对处理(2)进行说明。
[0124] 图13的终端设备100的操作是参考图15来进行说明的。
[0125] 在确定将要在某个终端设备中使用的密码加密模块的过程中,当从条件输入单元201输入预期作为指定条件使用的密码加密模块的条件(步骤S201)时,终端100的密码加密模块提取单元202读出保存在硬件简档160中的终端设备的硬件简档,通过使用指定条件与硬件简档的组合作为指定条件来搜索密码加密模块评估信息DB 163,以及选择满足指定条件的最优密码加密模块(步骤S202)。
[0126] 图16显示了本实施例中的输入和输出数据的一个实例。如图16所示,当从主机应用输入指定条件时,密码加密模块评估DB 163将被查阅,并且满足指定条件的最优密码加密模块将被提取。此外,关于指定条件的实例包括(1)作为类别的“公钥加密系统”,(2)作为速度的评估分数“70点或更高”,(3)作为存储器使用上限的“20MB”,以及(4)作为其他条件的“满足条件(1)到(3)的条件的安全等级中的最高安全等级”。作为终端硬件简档的一个实例,在这里将会读出信息(5)作为本硬件中的存储器使用限度的“10MB”。
[0127] 这时,密码加密模块提取单元202会在以下过程中选择密码加密模块:
[0128] 过程(A)
[0129] 条件(1)、(2)和(3)是由密码加密模块提取单元202借助条件输入单元201获取的。该密码加密模块提取单元202查阅密码加密模块评估DB 163和硬件简档160(上文中的硬件简档(5)),在这些模块中编译一个满足该条件的密码加密模块列表,并且输出该列表。
[0130] 更具体地说,首先,硬件的条件(3)和条件(5)将被比较。由于条件(5)是一个强于条件(3)的条件(更严格的条件),因此将会通过用条件(5)替换条件(3)来执行校正。如果条件(3)不存在,那么仍旧将条件(5)添加至条件(1)和(2),并且确定指定条件。密码加密模块提取单元202在密码加密模块评估DB163中搜索满足条件(1)、(2)和(5)的密码加密模块,并且编译和输出满足这些条件的密码加密模块的列表。在这里将会确定是否存在满足这些条件的密码加密模块(步骤S203)。如果没有满足指定条件的密码加密模块,则输出确定结果(步骤S204),如果存在符合条件的密码加密模块,那么该处理转到如下过程(B)。
[0131] 过程(B)
[0132] 当从密码加密模块提取单元202向密码加密模块减少单元203输入过程(A)的输出以及条件(4)时,密码加密模块减少单元203将会查阅密码加密模块评估DB 163和密码加密模块选择策略203,并且从过程(A)的输出列表中选择最适合条件(4)(在本范例中是安全性最高)的密码加密模块(步骤S205),以及输出这个密码加密模块的标识信息(步骤206)。在这个过程(B)中选择和输出的密码加密模块的标识信息是标识预期密码加密模块的信息。
[0133] 在过程(B)中可以指定多个条件。例如,所预期的有可能是最高速度以及使用存储器最少的密码加密模块。举例来说,在这种情况下可以确定条件“为速度给出高于存储器使用率的优先级”,由此首先选择的是最高速度,并且如果选择了多个密码加密模块,则在其中选择使用存储器最少的密码加密模块。由此,选项可以减少,但这仅仅是一个实例,并且减少方法并不局限于此。
[0134] 在本实施例中,在图3的分发密码加密模块选择单元360中可以提供这种将条件输入单元201、密码加密模块提取单元202、密码加密模块减少单元203以及选择结果输出单元204组合在一起的配置。
[0135] <第四实施例>
[0136] 接下来将要说明的是第四实施例。虽然在第三实施例中是由终端设备100自身来提取将要在终端设备100中使用的密码加密模块,但是在配置与第三实施例相同的第四实施例中,所提取的是用于在多个终端设备之间执行经过加密的通信的最优密码加密模块。这是一个用于协商将要由算法协商单元168执行的密码加密方法的特定过程。
[0137] 图17是显示第四实施例中的终端配置的功能框图。
[0138] 图17的终端A、B的密码加密模块选择单元的内部配置与图13中是相同的。
[0139] 如图17所示,在用于终端A与B之间的加密通信的系统中,这两个通信终端的硬件简档都被用作了密码加密模块选择单元159的输入信息,以便确定除密码加密模块评估信息之外的常用密码加密方法,并且用于终端A、B且相对于这种算法的最优密码加密模块将被选择。
[0140] 图17中的终端设备A和B的操作是参考图18来进行说明的。
[0141] 终端设备A将指定条件输入密码加密模块选择单元159的密码加密模块提取单元202(步骤S220),并且密码加密模块是以与第三实施例中相同的方式选择的。但是,在密码加密模块选择单元159中,所使用的将会上至密码加密模块提取单元202。由此,如果在终端设备的密码加密模块DB中存在满足指定条件的密码加密模块(步骤S221),则从终端设备A向终端设备B传送密码加密模块的密码加密方法(密码加密算法)的列表(步骤S222)。
[0142] 在终端设备B中,除了普通的指定条件之外,从终端设备A接收的密码加密方法也被用作附加条件,并且密码加密模块是以与第三实施例中相同的方式而被选择的(步骤S223)。由此,如果在终端设备B的密码加密模块DB中存在满足指定条件的密码加密模块(步骤S224),则获取密码加密模块的标识信息(步骤S225),并且在终端设备B中使用密码加密模块,以及将其密码加密方法(因为该选择是通过密码加密模块减少单元203执行的,因此只存在一个密码加密模块,并且由此只存在一种密码加密方法)从终端设备B反向发送到终端设备A(步骤S226)。在终端设备A中,从终端设备B接收的密码加密方法将被用作附加条件,并且密码加密模块是以与第三实施例中相同的方式选择的(步骤S227)。由此,作为结果的密码加密模块的标识信息将被获取(步骤S228),并且在终端设备A中将会使用这个密码加密模块。
[0143] 在这里,在图19中说明了在本实施例中使用的输入和输出数据的实例。如图19所示,在输入来自主机应用的指定条件以及用于在终端设备之间通信的终端设备的硬件简档作为条件的时候,这时将会通过在终端设备中查阅相应的密码加密模块评估DB 163来选择与进行通信的两个终端设备的环境最为适合的最优密码加密模块。
[0144] 下文应该被注释成是本实施例的补充说明:
[0145] (1)终端A上的指定条件可以是其密码加密方法。
[0146] (2)所选择的密码加密模块在终端A或终端B中未必存在。在这种情况下,必要的密码加密模块将会通过如下说明的第五实施例中显示的方法而从服务器接收。如果在服务器中不存在必要的密码加密模块,则将其处理成是选择错误。
[0147] <第五实施例>
[0148] 在下文中将会说明第五实施例。虽然在第三实施例中是由终端设备100来提取在自身终端设备100中使用的密码加密模块的,但是在第五实施例中,终端设备100将会选择满足终端设备中的指定条件的密码加密模块,并且当在终端设备100中没有发现满足指定条件的密码加密模块时,从终端设备100接收选择请求(委托)的服务器将会选择最优的密码加密模块,并且将密码加密模块分发给终端设备100。
[0149] 在这里,“服务器”是一个存储了众多密码加密模块,能够选择用于终端设备100的密码加密模块以及根据需要来分发密码加密模块的设备。
[0150] “终端设备”是任何与第三实施例和第四实施例具有相同的功能的设备。
[0151] 图20是显示第五实施例中的终端的服务器配置的功能框图。
[0152] 在用于更新服务器与终端设备之间的密码加密方法的系统中,密码加密模块评估信息、终端硬件简档以及终端密码加密方法将被用作“密码加密模块选择单元159”的输入信息,并且在服务器端,在从服务器向终端设备分发密码加密模块的处理过程中将会选择最优的密码加密模块。
[0153] 在下文中将会参考图21来进一步描述第五实施例。
[0154] 首先,与第一实施例中相同,终端设备100执行密码加密模块选择过程(A)和(B)。当输入指定条件时(步骤S240),这时将会确定是否存在符合该指定条件的密码加密模块(步骤S241)。在获取了符合条件的密码加密模块时,密码加密模块的标识信息将被输出(步骤S242)。当没有符合条件的密码加密模块时,管理密码加密模块的服务器(从密码加密方法选择设备接收选择委托的外部设备)将被请求分发满足条件的密码加密模块。这是一个选择结果输出单元的处理,在下文中将会对此进行详细说明。
[0155] 在这种情况下,在接收到作为输入的指定条件的情况下,终端设备中的密码加密模块选择单元将会执行密码加密模块选择过程(A)和(B)。在图22中显示了这里给出的数据输入和输出的一个实例。如图22所示,当从主机系统单元输入指定条件、终端设备的密码加密模块选择策略以及终端设备的硬件简档时,这时将会查阅密码加密模块评估DB163,并且提取满足这些条件的最优密码加密模块。如果检测出执行该过程的结果是并未提取出符合这些条件的密码加密模块,那么图20所示的终端设备中的选择结果输出单元
204会将密码加密模块减少单元203输出的指定条件、选择策略以及终端硬件简档作为条件(5)传送到外部服务器的分发密码加密模块选择单元360(步骤S243)。
[0156] 外部服务器中的分发密码加密模块选择单元360接收作为输入的条件(5)(步骤S244),并且执行密码加密模块选择过程。在图22中显示了这里的数据输入和输出的一个实例。如图22所示,当从主机系统单元输入指定条件、终端设备的密码加密模块选择策略以及终端设备的硬件简档时,这时将会查阅服务器中的密码加密模块评估DB 354,并且将会提取满足这些条件的最优密码加密模块的标识信息(步骤S245)。所提取的密码加密模块的标识信息将被输出(步骤S246)。
[0157] 当提取满足条件的最优密码加密模块的标识信息时,密码加密模块分发单元352将会从服务器的密码加密模块DB 353中提取与这个标识信息相对应的密码加密模块,以及从服务器的密码加密模块评估DB 354中提取与标识信息相对应的密码加密模块的密码加密模块评估描述,并且将所提取的密码加密模块与所提取的密码加密模块评估描述相结合以便形成密码加密包,以及将密码加密包分发给终端设备(步骤S247)。
[0158] 终端设备接收从服务器的密码加密模块分发单元352分发的密码加密包,并且将信息注册成是自己的密码加密模块。该注册处理包括将密码加密模块附加注册到终端设备的密码加密模块DB 164,并且将密码加密模块评估描述附加注册到密码加密模块评估DB163中(步骤S248)。
[0159] 在这里,假设在下一次以相同的指定条件来执行选择过程的的情况。由于在密码加密模块评估DB 163中已经注册了来自服务器的新的密码加密模块,因此,当输入指定条件时,新注册的密码加密模块将被选择。换言之,第三实施例的操作可以结合相同的指定条件来执行。
[0160] 在前述实施例中,符合环境的最优密码加密模块可以只通过指定条件而在不需要任何专业知识的情况下自动选择。
[0161] 上述实施例不但适用于选择供自身终端设备使用的密码加密模块,而且还适用于供服务器选择与终端设备的硬件最为适合的密码加密模块。此外,在这里还可以考虑以下两种情况。
[0162] (1)在没有接受来自终端设备的选择请求的情况下,服务器选择将要从服务器的密码加密模块DB中选出的密码加密模块,并且将选定的密码加密模块从服务器分发到终端设备的情况:
[0163] 如果选定的密码加密模块已经存在于终端设备的密码加密模块DB中,那么没有必要实施从服务器到终端设备的分发,由此不会执行该分发。为了确定这个条件,除了选择策略和硬件简档之外,终端设备还会向服务器发送该终端设备的密码加密模块列表。服务器通过查阅密码加密模块评估DB 354来选择密码加密模块,并且检查在终端设备的密码加密模块列表中是否存在所选择的密码加密模块。只有当不存在所选择的密码加密模块的时候,该密码加密模块才会被从服务器发送到终端设备。指定条件并不是从终端设备接收的,而是从服务器端应用输入的。在图23中显示了此时的数据输入和输出的一个实例。
[0164] (2)服务器接收来自终端设备的选择请求,并且从终端设备内部的密码加密模块DB中选择密码加密模块的情况,也就是终端设备仅仅向服务器请求选择处理的情况:这个处理是由第二实施例中的密码加密管理服务器设备1350执行的处理。
[0165] 由于服务器在第三实施例的终端设备中执行选择处理,因此,除了选择策略、硬件简档和指定条件之外,该终端设备还必须向服务器发送终端设备中的密码加密模块列表,以及与密码加密模块列表中的密码加密模块相关的密码加密模块评估描述。服务器中的分发密码加密模块选择单元360则会根据该数据而以与第三实施例中的终端设备的密码加密模块选择单元完全相同的方式来执行操作,并且将选择结果告知终端设备的选择单元。
[0166] 在上述实施例中同时提供了密码加密模块提取单元202和密码加密模块减少单元203,但是也可以仅仅提供其中任何一个单元。如果只提供密码加密模块减少单元203而没有包含密码加密模块提取单元202,那么密码加密模块减少单元203将会通过查阅保持在机器中的所有密码加密模块来减少密码加密模块。
[0167] 虽然在这里通过参考附图而对本发明的实施例进行了描述,但是本发明并不局限于所例证的实施例,并且本发明包含了落入本发明主题以内的设计或类似等。