CN101426012A - 软件模块管理装置 - Google Patents
软件模块管理装置 Download PDFInfo
- Publication number
- CN101426012A CN101426012A CNA2008101785140A CN200810178514A CN101426012A CN 101426012 A CN101426012 A CN 101426012A CN A2008101785140 A CNA2008101785140 A CN A2008101785140A CN 200810178514 A CN200810178514 A CN 200810178514A CN 101426012 A CN101426012 A CN 101426012A
- Authority
- CN
- China
- Prior art keywords
- encryption
- encrypting
- software module
- module
- information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2153—Using hardware token as a secondary aspect
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及软件模块管理装置。加密客户端装置基于接受的要求信息从存储装置(165)获取加密密匙,从存储装置获取加密评估描述文件,获取对应于该加密评估描述文件的加密模块,在将被执行加密处理的主题数据上执行加密处理,并公布被加密的主题数据。
Description
技术领域
本发明涉及一种用于安全更新诸如操作系统或应用程序的软件模块的软件模块管理装置。
背景技术
目前,许多计算装置是由操作该装置的操作系统和各种可更新的软件模块构成。软件模块的应用是多种多样的。专有的软件模块被开发用于单独的应用,并且各种软件模块被组装起来进行使用。当变得有必要更新功能或提高性能时,或者当有必要纠正缺陷时,软件模块被进行更新。
这些计算装置被由非法使用者意欲不法地使用这些软件模块而进行的攻击所威胁。例如,在一种叫做“AES-XCBC-MAC”的验证方法中公开了一种执行缺陷纠正的方法(参见“announce-jp”:1319,<http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1319>)。通过非法的使用这些公开的信息并分析纠正模块的变化位置,可以获知由哪个输入造成了哪种类型的缺陷,以及有缺陷没有被纠正的计算机仍有可能被非法的使用。
通常,如果缺陷被报告给可靠的组织或开发者,用于纠正该缺陷的软件模块被开发出来,并且,一般地,这个纠正软件模块被分发,这个缺陷也被公开。然而,如果该缺陷在这个纠正软件模块被分发之前被揭露,对计算机的威胁将增加。
然而,如果纠正软件模块不能被足够地检查,或其他的缺陷可能被诱发,以使得缺陷的纠正可能变得不充分,将会使情况过于糟糕而难以挽救。
为了减少这种威胁,新的系统被广泛的提出来,例如周期性的或通过外部指令检查纠正程序的分发是否存在,并且如果纠正程序尚未被分发时自动更新该纠正程序的系统,或者通知用户以促使其通过纠正程序进行更新的系统。
然而,攻击者们也类似的被提供了相同的更新通知信息,并且被提供了分析纠正软件模块和详细说明缺陷的成因因素的机会,对缺陷进行非法使用的攻击程序的开发可能被鼓励。结果,尚未被纠正软件模块进行纠正的计算装置处于威胁之中。
另一方面,从通过使用公用的组件降低损害扩张的危险的观点来看,当通过互相不同的过程实现相同功能的软件模块是由多个开发者或提供商(合称为供应商)提供时,成为攻击目标的软件模块的绝对数量能够减少,但是攻击不能被阻止。或者,在纠正软件模块没有被应用时,易受攻击的软件模块可能被使用。
在计算装置中,各种软件模块被使用。其中,即使是由其他供应商提供的软件模块也可能在功能上互相交换。例如,加密和解密模块,编码和解码模块,通信协议堆栈和XML(可扩展标记语言)分析器,它们除了操作系统的核心部分之外在大部分上是可交换的,这取决于计算装置的设计。
在现有技术中,从阻止对缺陷软件模块的攻击的角度来看,应用软件或软件模块的使用可能被停止。在这种方法中,具有能够阻止对软件模块的攻击的优点,但是软件模块不能被使用。为避免这种缺点,当识别到威胁时,没有停止对缺陷软件模块的使用,它可能由此而被攻击,或者这种缺陷可以基于更新敦促通知而被详细说明,并且其可能被攻击。
发明内容
由此本发明的目的是提供一种软件模块管理装置,其能够通过纠正现有的软件模块的缺陷而更安全地分发新的软件模块,来安全地更新现有的软件模块。
本发明的第一个方面在于,提供一种加密包分发系统,包括用于对执行加密处理的特定主题的数据实施加密处理的加密客户端装置,和用于分发适合于加密客户端装置的加密处理的加密包的加密管理服务端装置,其中,加密客户端装置包括:分发需求信息接受装置,配置为接受加密包的分发需求信息;和分发需求信息传输装置,配置为传输分发需求信息接受装置的分发需求信息到加密管理服务端装置。加密管理服务端装置包括:存储装置,其存储用于执行加密处理的加密模块,和与该加密模块相关的加密模块的评估描述文件;分发需求信息接受装置,配置为接收从分发需求信息传输装置传送来的分发需求信息;加密包生成装置,配置为通过基于由分发需求信息接受装置接收的分发需求信息,依据来自存储装置的分发信息,来获取加密评估描述文件和加密模块生成加密包;以及加密包分发装置,配置为分发由加密包生成装置为加密客户端装生成的加密包。
本发明的第二个方面在于,提供一种加密容器分发系统,包括用于对执行加密处理的特定主题的数据实施加密处理的加密客户端装置,和用于分发适合于加密处理的加密容器到加密客户端装置的加密管理服务端装置,其中,加密客户端装置包括:选择请求信息接受装置,配置为接受用于组成加密容器的加密模块时的选择请求信息;选择请求信息传输装置,配置为传输由选择请求信息接受装置接受的选择请求信息到加密管理服务端装置;和加密容器生成信息传输装置,配置为传输用于生成加密容器的加密容器生成请求信息到加密管理服务端装置;加密管理服务端装置包括:存储装置,其存储用于执行加密处理的加密模块,和与该加密模块相关的加密模块的评估描述文件;接收装置,配置为接收从加密客户端装置传输的选择请求信息和加密容器生成请求信息;加密评估描述文件标识提取装置,配置为基于由接收装置接收的选择请求信息,提取对应于来自存储装置的选择请求信息的加密模块的加密评估描述文件的标识;加密容器生成必要性调查请求装置,配置为基于由加密评估描述文件标识提取装置提取的标识,传输加密容器的生成必要性请求信息到加密客户端装置;加密容器生成装置,配置为基于来自加密客户端装置的对应于从加密容器生成必要性调查请求装置传输的生成必要性请求信息的答复信息,从加密评估描述文件和对应于提取出的标识的加密模块生成加密容器;加密容器分发装置,配置为向加密客户端装置分发由加密容器生成装置生成的加密容器。
本发明的第三个方面在于,提供一种用于当运行于终端装置中的第一软件模块变换为第二软件模块时用于管理软件模块的软件模块管理装置,包括:存储装置,其存储不同于第一软件模块和第二软件模块的第三软件模块;第一分发装置,其读取出存储于存储装置中的第三软件模块,向终端装置分发该第三软件模块,以及执行从第一软件模块到第三软件模块的转变,以将终端装置设置为可用状态;第二分发装置,其向终端装置分发该第二软件模块,并执行从第三软件模块到第二软件模块的转变,以将终端装置设置为可用状态。
附图说明
图1是根据本发明的第一实施例的安全信息通信系统配置的框图;
图2是根据本发明的第一实施例的加密客户端装置的配置的框图;
图3是根据本发明的第一实施例的加密管理服务端装置的配置的框图;
图4是根据本发明的第一实施例的加密客户端装置的加密处理操作实例的简图;
图5是根据本发明的第一实施例的加密客户端装置的加密处理流程实例的简图;
图6是根据本发明的第一实施例的加密模块评估数据库的配置的实例的简图;
图7是根据本发明的第一实施例的加密模块评估数据库的配置的实例的简图;
图8是根据本发明的第一实施例的加密处理信息数据库和密匙信息数据库的配置的实例的简图;
图9是根据本发明的第一实施例的加密包的分发操作的实例的简图;
图10是根据本发明的第一实施例的加密包的分发过程流程的实例的简图;
图11是根据本发明的第二实施例的安全信息通信系统的配置的框图;
图12是根据本发明的第二实施例的加密客户端装置的配置的框图;
图13是根据本发明的第二实施例的选择数据库的数据配置实例的简图;
图14是根据本发明的第二实施例的加密模块链接数据库的数据配置实例的简图;
图15是根据本发明的第二实施例的加密模块数据库的数据配置实例的简图;
图16是根据本发明的第二实施例的密匙信息数据库的数据配置实例的简图;
图17是根据本发明的第二实施例的加密处理数据库的数据配置实例的简图;
图18是根据本发明的第二实施例的数据库的逻辑配置的简图;
图19是根据本发明的第二实施例的加密管理服务端装置的配置的框图;
图20是根据本发明的第二实施例的加密客户端装置的加密处理操作实例的简图;
图21是根据本发明的第二实施例的加密客户端装置的加密处理流程实例的简图;
图22是根据本发明的第二实施例的最佳加密的询问过程的简图;
图23是根据本发明的第二实施例的最佳加密的询问过程流程实例的简图;
图24是根据本发明的第二实施例的加密模块的分发过程的简图;
图25是根据本发明的第二实施例的加密模块的分发过程流程实例的简图;
图26是根据本发明的第三实施例的软件模块管理装置的配置的框图;
图27是根据本发明的第三实施例的计算装置的配置的框图;
图28是根据本发明的第三实施例的可更新的软件模块的配置的框图;
图29是根据本发明的第三实施例的计算装置的配置的简图;
图30是根据本发明的第三实施例的安全信息通信系统的配置的简图;
图31是现有技术中纠正软件模块的分发操作实例的简图;以及
图32是根据本发明的第三实施例的纠正软件模块的分发操作实例的简图。
具体实施方式
通过参考附图,该系统的概要被解释(此后称为“第一实施例中的系统”)成包括本发明第一实施例中的软件模块管理装置(即图1中所示的加密管理服务端装置)。
首先,给出第一实施例中的系统的概要。在第一实施例中的系统中,服务端和客户端装置互相连接,并且通过使用加密模块进行加密的信息能够在服务端和客户端装置之间被发送和接收。因此,加密模块能够周期性的进行交换。这种能够交换加密模块的加密系统包括通过指定接口而能执行加密供应者的若干框架,该接口在所有加密技术中都是独立于加密算法的。这些框架的例子有,Microsoft(商标)公司的CryptAPI,Sun(商标)公司的JCA(Jave TM加密结构)/JCE(Java TM加密扩展),以及Open Group(商标)的CDSA(公共数据安全结构)。
在这些框架中,在所有的加密技术中,例如加密/解密,签名生成/验证,认证生成/验证,用于访问加密模块的接口已被指定,诸如DES(数据加密标准)或AES(高级加密标准)的加密算法可以根据该接口进行实施。加密或安全的专业人员,当构造系统时,要从实施的密码技术中初步选择合适的加密方法,输入能够显示哪个加密方法应被使用在该框架上的加密方法参数,由此加密方法能够被进行变换。
当使用这种框架时,如果应用系统的管理中的安全机制发生了变化,那么加密或安全的专业人员必须再次选择适合于该系统的加密方法,这将会引起加密和安全的专业人员的人力资源的问题和成本的问题。或者当在已有的加密方法中发现缺陷时,或公布一种新的加密方法时,在已有系统中平稳地应用加密方法的变化变得很困难。而且,依赖于执行安全机制的环境,如果安全强度或者执行速度不同,在传统的系统中实现最佳安全机制也很困难。
在第一实施例的系统中,这些问题能够在本发明的具有变换功能的加密系统中得以解决。
第一实施例
图1是本发明的第一实施例中的系统配置的示意性框图。
第一实施例中的系统由用于传输包含加密模块308和加密评估描述文件309的加密包的加密管理服务端装置350,以及用于通过使用加密包307执行加密处理的加密客户端装置150组成。在加密模块评估文件309中描述的加密模块评估,是数值地表达对应于加密模块308的加密方法的可靠性和强度的信息,例如其中包括,在终端装置上,如加密客户端装置150,执行的加密方法的安全性能、加密处理速度或者在加密处理中可用的密匙长度。
加密管理服务端装置350包括:累积加密模块308的加密模块数据库353,累积加密评估描述文件309的加密模块评估数据库354,用于管理加密模块数据库353和加密模块评估数据库354的加密管理单元351,用于在加密模块数据库353和加密模块评估数据库354中注册新信息的加密模块注册单元355,和用于根据来自加密客户端装置150的请求从加密模块数据库353和加密模块评估数据库354读出最佳加密包307并将其传送到加密模块描述单元352的加密模块描述单元352。
加密客户端装置150由以下部分组成:用于调用和利用由执行加密模块单元153经由加密控制管理器152提供的加密功能的、作为应用程序或中间件的主机系统单元151,用于变换从加密管理服务端单元350发送的加密包307的接收或由执行加密模块单元153提供的加密功能的加密控制管理器152,通过将主要加密方案作为硬件来实现加密处理的防篡改加密硬件单元450,和用于提供使加密模块308将加密方法实现为可执行和可用状态的加密功能的执行加密模块单元153。加密管理服务端装置350执行三个过程:基于来自加密客户端装置150的请求的加密模块初始化注册,分发和更新,从而传输最佳加密包307给加密客户端装置150。
在此,加密模块初始化注册是指,当加密客户端装置150没有加密模块308,并且执行加密模块单元153也不存在时,通过利用加密客户端装置150的加密硬件单元450来从加密管理服务端装置350向执行加密模块单元153安全地传输必不可少的加密模块308。
加密模块分发是指根据从加密客户端装置150接收的加密处理请求,加密管理服务端装置350选择合适的加密模块308或加密包307并将其传送到加密客户端装置150的操作。加密处理请求包括关于加密模块的条件信息。条件信息包括加密方法的分类,例如加密和签名的生成(加密方法种类),加密模块308的制造者,操作加密模块308的硬件信息和加密模块评估信息。如在实施例中那样,加密模块评估信息可能被处理为独立于加密模块308的文件,作为加密评估描述文件309。
加密模块更新是指,注册新的加密模块308,删除使用了折中加密方法的相应加密模块308,发现在加密模块308中的缺陷并更新已有的加密模块308且由执行加密模块单元153执行该加密模块308,当加密模块评估由于计算机处理速度的增加而发生变化时,更新存储于加密管理服务端350上的加密模块数据库353或加密模块评估数据库354中的信息,以及周期性的将更新的加密包307的信息传送给加密客户端装置150,或基于来自加密客户端装置150的请求进行传送,传输来自加密管理服务装置350的新的加密模块308或通知已有执行加密模块单元153的无能力。
图2是加密客户端装置150的详细的结构图。加密控制管理器单元152由以下部分组成:具有加密模块评估信息数据库157的加密处理控制单元156,具有加密模块数据库164的加密模块选择单元159,加密模块评估数据库163,加密模块选择机制158,以及硬件概况160,具有密匙信息数据库165和描述到该密匙信息数据库165的访问控制机制的访问控制机制161的密匙信息管理单元162,具有加密控制管理器机制167的加密管理单元166,用于与加密硬件单元450通信的加密硬件管理控制单元170,用于与外部进行通信的通信功能单元155,与通信功能单元155进行协作的算法商议单元168,与通信功能单元155进行协作的安全通信管理单元169。
加密处理控制单元156生成密匙,注册该密匙,并基于来自主机系统单元151的加密处理调用进行加密。
在密匙生成处理的情况下,当由主机系统单元151指定的加密方法,密匙长度和加密方法参数被在加密处理信息数据库157中注册时,加密处理控制单元156控制(请求,指示)以通过加密处理的标识由加密模块选择单元159选择对应于指定的加密方法的加密模块308。
加密处理控制单元156将被选择的加密模块308导入到内存,并且执行加密模块单元153被设置成可执行状态。加密处理控制单元156从密匙信息数据库165通过密匙信息管理单元162抽取出加密方法参数以生成对应于加密处理的特定标识的密匙。加密处理控制单元156通过该特定的密匙长度和被抽取出的加密方法参数来调用执行加密模块单元153,并且该执行加密模块单元153生成密匙信息。加密处理控制单元156接收生成的密匙信息。加密处理控制单元156通过密匙信息管理单元162在密匙信息数据库165中注册由该执行加密模块单元153生成的密匙信息,并接收对应于该密匙信息的密匙标识,将作为处理结果的加密处理的新公布的标识和该密匙标识的关系存储于加密处理信息数据库157中,而后将该加密处理的标识返回给主机系统单元151。
在密匙注册情况中,加密处理控制单元156通过密匙信息管理单元162将由主机系统单元151指定的密匙信息注册在密匙信息数据库165中,接收密匙标识,并将作为处理结果的加密处理的新公布的标识和该密匙标识的关系存储于加密处理信息数据库157中,而后将该加密处理的标识返回给主机系统单元151。
在加密处理情况下,接收关于由主机系统单元151指定的加密的条件信息、将在加密处理中被执行的数据(计划文本)和当密匙被生成或密匙被注册时接收的加密处理的标识的条件信息,并通过参考关于加密的条件信息,加密模块选择单元159选择恰当的加密模块308,被选择的加密模块308被导入到内存中,并且该执行加密模块单元153被运行,对应于加密处理指定标识的密匙信息被通过密匙信息管理单元162从密匙信息数据库165中抽取出来,将被执行加密处理的指定数据和被抽取出来的密匙信息被输入到调用的执行加密模块单元153中,对应的被处理的加密的数据被接收,并且作为处理结果的加密处理的新公布的标识和该密匙标识的关系被存储在加密处理信息数据库157中,加密处理的标识被返回。通过将在加密处理中使用的密匙信息链接到加密处理的标识,加密处理可以容易地被再次执行或者解密可以被容易地执行。
加密模块数据库164是存储单元,用于存储从加密管理服务端装置350接收的加密模块308。
加密模块评估数据库354是存储单元,用于存储从加密管理服务端350接收的加密评估描述文件。
加密模块选择单元159选择关于加密的条件信息,包括加密方法种类,如加密和签名的生成,加密模块308的制造者,用于操作加密模块308的硬件的信息和加密模块评估信息,并基于来自主机系统单元151的输入在存储于加密模块数据库164的加密模块308中选择最合适的加密模块308。当选择加密模块308时,通过从那些符合描述加密客户端装置150的硬件信息的硬件概况160中进行选择,同样适合于描述加密客户端装置150的用户的机制加密模块选择机制158的一个加密模块被选择。
硬件概况160是包括了加密客户端装置150的CPU结构,CPU时钟和执行内存能力的信息。加密模块选择机制158是以下信息:包括了如果通过输入条件、用户优选的加密模块的制造者以及要被用户禁止的加密方法来选择多个加密模块而对于用户来说是优选条件。
加密模块选择单元159是指,来自主机系统单元151的输入信息,硬件概况160和加密模块选择机制158,并选择与输入信息一致的加密模块308。当加密模块选择单元159唯一选择加密模块308时,被选择的加密模块308被从加密模块数据库164中取出来。如果没能唯一地选择加密模块308,则加密模块选择单元159公布错误。
密匙信息管理单元162在密匙信息数据库165中存储那些信息,例如,当调用执行加密模块单元153或加密方法参数时,被指定的密匙信息,或读出这些数据。密匙信息管理单元162涉及如果多条被指定的密匙信息或加密方法参数信息被提供时,被成批抽取出来的多条信息,并在密匙信息数据库165中注册由此而产生的结果信息。当从密匙信息数据库165中抽取出密匙信息或加密方法参数时,密匙信息管理单元162遵守加密模块选择机制158,并控制从多个主机系统单元151对密匙信息的访问。
通过参考用于访问由主机系统单元151指定的信任书(用于访问的密匙或口令)的密匙标识和关于密匙标识的加密处理的标识,密匙信息管理单元162校验信任书的有效性。基于描述了对于信任书的所有者来说可进行访问的密匙信息数据库165中的密匙信息的指定的访问控制机制161,密匙信息管理单元162同意或拒绝访问,如果可进行访问,则从密匙信息数据库165中抽取对应于加密处理的标识的密匙标识,并抽取出对应于密匙标识和加密方法参数的密匙信息,并返回给主机系统单元151。如果不可以进行访问,错误被返回给主机系统单元151。
依据加密模块初始化注册,分发和更新的过程,加密管理单元166通过通信功能单元155与加密管理服务端装置350进行通信,并接收加密包307等。当加密管理单元166接收来自加密管理服务端装置350的加密包307和其他信息时,它依据加密控制管理器机制167的内容进行处理。加密控制管理器机制167的内容包括,例如下列5个条件。第一个条件是,是否在与加密管理服务端装置350进行通信时执行服务器认证。第二个条件是,是否在从加密管理服务端装置350接收加密包307等时进行加密。第三个条件是,是否在从加密管理服务端装置350接收加密包307等时增加信息认证码(MAC)。第四个条件是,是否对接收的加密包307的标识等执行校验。第五个条件是,设置关于周期性更新的信息,该消息显示是否周期性更新,或显示存储在加密模块评估数据库163和加密模块数据库164中的加密包307的更新频率。
加密硬件管理控制单元170与加密硬件450进行通信,并依据来自加密管理服务端装置350的加密模块初始化注册过程来接收加密包307。当接收加密包307时,如果加密包307本身已被加密,则加密包307在加密硬件单元450中被解密。如果MAC被在加密模块308中检测到,则加密硬件单元450认证该加密模块308。
算法商议单元168与通信功能单元155进行协作,并且仲裁在通信会话结构中使用的加密方法和在通信会话使用的加密方法,其先于两个加密客户端装置之间的安全通信会话的结构。加密方法能够以下面给出的4种仲裁方法中的任一种进行仲裁。
在第一个仲裁方法中,加密方法仅由算法商议单元168决定,该加密方法仅来自存储于自身加密模块数据库164中的加密模块308提供的加密方法组。算法商议单元168通过参考加密模块评估数据库163和加密模块数据库164,从由主机系统单元151指定的一个或多个加密方法的分类相关的条件信息(加密方法种类)、加密控制管理器机制、硬件概况和加密中选择合适的加密模块308,然后确定加密方法。当加密方法的分类被指定为多个时,通过在单独的加密方法的每一个分类中选择,加密方法被确定。
此时,如果主机系统单元151指定了没有被确定的加密方法的分类,则算法商议单元168通过参考关于被指定的加密模块的条件信息执行加密模块分布过程,以接收来自加密管理服务端装置350的加密模块308,并且该加密模块308被确定为加密方法。如果还没有被确定,则算法商议单元168向主机系统单元151返回错误。
当算法商议单元168确定加密方法时,如果加密模块308不足,它将来自加密管理服务端装置350的加密方法仲裁方法数量,获得的加密方法的分类,加密方法的对应的组以及关于接受或拒绝的信息,传输到由主机系统单元151指定的伙伴端的加密控制管理器单元152的目的地。接收的伙伴端的加密控制管理器单元152从加密模块评估数据库163和加密模块数据库164中搜索被指定的加密方法的加密模块308,并当合适的加密模块对全部的加密方法都可用时,答复通信是可能的。
如果已有的加密模块308不可用,则伙伴端的加密控制管理器单元152依据来自加密管理服务端装置350的接受或拒绝的信息进行处理。即,如果接受被允许,依据加密模块分发过程,对应于加密方法的加密模块308被接收,接受过程完成之后,通信的能力作为回复被发送。如果接受被拒绝,或如果可能的话,合适的加密模块308没有被接收时,则通信的无能力作为回复被发送。加密控制管理器单元152将该回复从伙伴端的加密控制管理器单元152传送到主机系统单元151。
在第二个仲裁方法中,仅来自伙伴端的加密控制管理器单元152控制的加密方法组中的加密方法完全由伙伴端的加密控制管理器单元152决定。这与第一个仲裁方法是对称的,但是过程相似。
在第三个仲裁方法中,自身加密控制管理器单元152从来自双方的加密控制管理器单元152维护的加密方法组中,确定一个共有的加密方法。
自身加密控制管理器单元152的算法商议单元168将加密方法仲裁方法的数量和加密方法的分类从伙伴端的加密控制管理器单元152的地址和由主机系统单元151指定的一个或多个加密方法的分类(加密方法种类)一起传送到伙伴端的加密控制管理器单元152。伙伴端的加密控制管理器单元152参照接收的信息,例如加密方法的分类、来自硬件概况的加密模块评估数据库163和加密模块数据库164,选择所有的对应的加密模块308,并对应所有被选择的加密模块308编译加密方法的列表。
此时,如果多个加密方法分类被指定的话,伙伴端的加密控制管理器单元152在加密方法的每一个分类中选择加密模块308,并编译加密方法的列表。伙伴端的加密控制管理器单元152传送该加密方法每一分类的加密方法的列表到自身加密控制管理器单元152。从由主机系统单元151指定的关于一个或多个加密方法的分类(加密方法种类)的条件信息、加密控制管理器机制、硬件概况和其他加密,接收加密方法每一分类的加密方法的列表的自身加密控制管理器单元152通过参照加密模块评估数据库163和加密模块数据库164,选择合适的加密模块308,并从被选择的加密模块308确定加密方法。
此时,当加密方法的分类被指定为多个时,加密控制管理器单元152在加密方法的每一分类中选择并确定该加密方法。例如,在下面的情形中,假设对应于加密方法分类的加密方法被确定。首先,当由自身加密控制管理器152选择的加密方法存在于加密方法列表时。然后,当自身加密控制管理器152包含对应于由自身加密控制管理器单元152接收的加密方法列表中的任一个加密方法处理的加密模块308时。否则,应假定对应于加密方法的分类的加密方法还没有被确定。
如果有未确定的加密方法分类,则加密控制管理器单元152指定接收的加密方法的任一列表,并依据加密模块分发过程接收来自加密管理服务端装置350的加密模块308。加密控制管理器152在加密方法列表中的所有加密方法上执行类似的过程,直到接收到对应的加密模块308。如果还没有确定,则关于对应的加密方法分类的加密方法没有被确定。当在所有的加密方法的分类中完成该过程时,表示所有加密方法的分类的加密方法被确定或没有被确定的信息被传送给伙伴端的加密控制管理器单元152。
在第四个仲裁方法中,从被双方加密控制管理器单元控制的加密方法组中,对伙伴端的加密控制管理器152通用的加密方法被确定。这与第三个仲裁方式是对称的,但是过程相似。
算法商议单元168对上述4种仲裁方法中的任一种进行仲裁。
安全通信管理单元169与通信功能单元155进行协作,并与另一个加密客户端装置150建立安全通信会话。当建立安全的通信时,安全通信管理单元169确定将在通行会话体系中使用的加密方法,和将在通信会话中由算法商议单元168使用的加密方法,然后共享会话密匙。在安全通信会话体系之后,依据被确定的加密方法,会话密匙被使用,认证器能够被加入用以加密通信数据或阻止通信数据的非法变更。通信会话一旦被建立后,安全通信管理单元169能够维护该通信会话,以便在特定的时间内再次使用。
安全通信管理单元169传送安全链接请求到由主机系统单元151指定的通信伙伴的目的地,并发送安全连接开始的通知。安全通信管理单元169依据由算法商议单元168事先确定的加密方法的分类建立安全连接。加密方法的分类包括,例如,认证,密匙共享,公共密匙密码系统(流密码或块密码),公钥密码系统,数据认证(MAC认证或签名认证),伪随机数生成(仅限于流加密或公共密匙加密系统),会话密匙导出,MAC密匙导出(仅限于MAC认证)等。如果在安全连接中认证是有必要的,则安全通信管理单元169处理认证。
安全通信管理单元169进一步通过密匙共享处理来共享密匙,并建立安全会话。然而,当公钥密码系统的加密方法已经被仲裁时,密匙共享过程不被执行。在不使用公钥密码系统的加密通信情形中,来自于共享的密匙,会话密匙被通过会话密匙导出方法制造出来,将被传送的数据通过公钥密码系统来进行加密,加密的密匙被传送到伙伴端。通信的伙伴端用类似的方法生成会话密匙,并且,被接收的数据依据公钥密码系统方法进行解密。
在公钥密码系统执行加密通信的情形中,安全通信管理单元169依据伪随机数生成方法生成随机的会话密匙,并依据公钥密码系统方法对将被由会话密匙传送的数据进行加密,从可信任的组织那里接收通信伙伴端的公共密匙,依据公钥密码系统方法通过通信伙伴端的公共密匙对会话密匙本身进行加密,并传送加密的数据和加密的会话密匙给伙伴端。通信伙伴端通过自身的私有密匙对加密的会话密匙进行解密,并依据普通密匙密码系统的方法用会话密匙对接收的数据进行解密。
在与数据认证器进行通信的情形中,以及在MAC认证情形中,安全通信管理单元169通过MAC密匙导出方法从共享密匙生成MAC密匙,并依据MAC认证方法将MAC数据增加到将被传送的数据上,并将具有MAC的数据传送给伙伴端。通信伙伴端通过类似的方法生成MAC密匙,并依据MAC认证方法来认证接收到的数据的MAC。
在与数据认证器通信的情形中,以及在签名认证的情形中,安全通信管理单元169通过自身私有密匙增加签名,并传送具有签名的数据给伙伴端。通信伙伴端从伙伴端的公共密匙被注册的可信组织那里接收通信伙伴端的公共密匙,并校验伙伴端公共密匙的有效性,当正常校验时,依据签名认证方法校验具有由伙伴端公共密匙接收的签名的数据。
图3是加密管理服务端装置350的详细的结构图。加密管理服务端装置350由以下部分组成:加密模块数据库353,加密模块评估数据库354,用于读出或更新存储于加密模块数据库353或加密模块评估数据库354中的信息的加密管理单元351,用于在加密模块数据库353或加密模块评估数据库354中注册信息的加密模块注册单元355,和用于分发对加密客户端装置150的加密的加密模块分发单元352。
加密模块数据库353是存储由用户事先存储或输入的加密模块308的数据库。
加密模块评估数据库354是存储由用户事先存储或输入的加密评估描述文件309的数据库。
加密管理单元351具有与加密管理服务端装置350的用户关联的接口,用于搜索存储于加密模块数据库353或加密模块评估数据库354中的加密模块308或加密包307,显示加密模块评估单元中的内容,显示被管理的加密模块的列表,更新已有的加密模块,删除已有的加密模块,注册新的加密模块以及开始/停止加密模块分发单元。当注册新的加密模块时,加密管理单元351请求加密模块注册单元355进行注册。
加密模块注册355包括加密包注册单元357和复杂类型描述生成单元358。
加密模块分发单元352包括加密包分发控制单元359,具有分发机制371的加密包分发合成单元370,以及具有分发机制371的分发加密模块选择单元360。
加密包分发控制单元359解释来自加密客户端装置150的请求,并执行用于执行加密模块初始化注册、分发和更新三种过程的等待服务。在这个等待服务中,处理内容的日志被记录。
分发加密模块选择单元360基于加密模块初始化注册、分发和更新三种过程和来自加密客户端装置150的请求,选择适合于分发的加密模块308。在加密模块初始化注册情形中,将被分发的加密模块308定义成必不可少的,并且它是在分发机制371中被描述的加密方法。
在加密包分发合成单元370中,基于在分发加密模块选择单元360中被选择的加密模块308,依据分发机制371,加密模块308和对应于加密模块308的加密评估描述文件309被合成,以便作为加密包307进行分发。例如,分发机制371描述了下列4项。
第一项是当分发加密包307时,是否进行加密。第二项是当加密加密包307时的加密方法。第三项是当分发加密包307时,是否增加MAC。第四项是用于加密包307的MAC的加密方法。
在将由加密包分发合成单元370执行的合成过程中,存储在加密模块评估数据库354中的内容被生成为指定格式的加密评估描述文件309,并且加密包307提供有用于由加密管理服务端装置350进行的认证分发的认证器,并且加密模块308和加密评估描述文件309形成一对,加起来后作为加密包307。
加密包分发合成单元370可能通过集合联结了多个加密模块308的加密模块308、和多个加密模块308及对应的加密评估描述文件309来编译一个加密包。在将由加密包分发合成单元370执行的合成过程中,依据加密客户端装置150的加密控制管理器机制或加密管理服务端装置350的分发机制371,加密包307被加密,MAC被加入,或密匙被生成,并且用于此目的该密匙被管理。
在本发明的第一实施例中,在加密客户端装置150中,响应于来自主机系统单元151的加密处理请求,加密处理控制单元156选择合适的加密模块,并执行加密处理,向主机系统单元151公布加密处理结果,该加密处理操作将在下面进行解释。图4是加密客户端装置的加密处理操作实例的简图。图5是加密客户端装置的加密处理流程实例的简图。图6是加密模块评估数据库的配置的实例的简图。图7是加密模块评估数据库的配置的实例的简图。图8是加密处理信息数据库和密匙信息数据库的配置的实例的简图。
支持模式是诸如普通密匙加密的操作模式或支持标准名字的信息。例如,在ECDSA系统中,SECG SEC1的1.0版本被支持。在加密处理信息数据库中,加密评估描述文件ID(加密处理)是对应于在该加密处理中使用的加密模块的加密评估描述文件ID。在加密处理信息数据库中,加密评估描述文件ID(密匙生成)是关于在加密处理数据库157中的该加密处理中使用的加密密匙的额外注册的加密评估描述文件ID,或是对应于在相应的加密控制管理器单元152中加密密匙的密匙生成的执行过程中使用的加密模块的加密评估描述文件ID。
第一实施例中加密客户端装置的加密处理操作的实例在下面进行描述。主机系统单元151接收包括了将被执行加密处理的数据和加密处理种类的标识的加密处理请求信息,并向加密处理控制单元156请求加密处理(步骤S1)。加密处理控制单元156向密匙信息管理单元请求对应于来自主机系统单元151的加密处理请求信息的密匙信息(步骤S2)。密匙信息管理单元162从密匙信息单元165获取期望的密匙,并将它公布给加密处理控制单元156(步骤S3)。
加密处理控制单元156将来自主机系统单元151的加密处理请求信息输入到加密模块选择单元159中,并请求合适的加密模块的选择(步骤S4)。加密模块选择单元159读入硬件概况160和加密模块选择机制158。通过适当地读出加密模块评估数据库的加密模块评估标准文件,用于加密处理的合适的加密模块被选择。加密模块选择单元159将包括了对应于被选择的加密模块的加密模块评估描述ID的选择结果公布给加密处理控制单元156(步骤S5)。
如果被选择的加密模块在对应的加密客户端装置150中不存在,则加密处理控制单元156向主机系统单元公布错误,并终止这个过程(步骤S6,步骤S11)。当被选择的加密模块存在于对应的加密客户端装置150中时,加密处理控制单元156将在加密模块选择单元159中选择的加密模块导入到内存中作为执行加密模块单元153。
加密处理控制单元156接收密匙信息或由密匙信息管理单元162公布的加密处理对象数据,并向执行加密模块单元153请求加密处理(步骤S6,步骤SD7)。执行加密模块单元153向加密处理控制单元单元156公布对应于加密处理对象数据的加密处理结果。
加密处理控制单元156将加密处理的执行环境信息,包括从密匙信息管理单元162获取的密匙信息和从加密模块选择单元159获取的选择结果信息,注册到加密处理信息数据库中作为加密处理的执行条件信息,上述过程通过将加密处理的执行环境信息与公布给加密处理的加密处理ID关联完成(步骤S9)。加密处理控制单元156将包括了对应于加密处理ID和加密处理对象数据的加密处理结果数据的加密处理结果信息公布给主机系统单元151(步骤S10)。
如果加密客户端装置150不包括适合于加密处理请求或来自主机系统单元151的加密管理域或加密客户端装置150的安全机制的最佳加密模块,加密模块和包括了对应于加密评估描述文件的加密包从加密管理服务端装置350那里被获取。图9是加密包的分发操作的实例的简图。图10是加密包的分发过程流程的实例的简图。
加密客户端装置150以下面的过程从加密管理服务端装置350获取加密包。主机系统单元151在其加密客户端装置150中加密包缺乏时,向加密管理单元166请求获取加密包(步骤S21)。加密管理单元166利用通信功能单元155将包括了加密客户端装置150的硬件概况的加密包分发请求信息传送给加密管理服务端装置350(步骤S22)。
加密包分发控制单元359通过通信功能单元356从加密客户端装置150接收加密包分发请求信息(步骤S23)。加密包分发控制单元359向分发加密模块选择单元360请求适合于加密客户端装置150的分发请求的最佳加密模块的选择(步骤S24)。基于包括了来自加密客户端装置150的加密包分发请求信息和加密模块评估数据库354的加密评估描述文件的选择输入信息,分发加密模块选择单元360选择适合于该请求的最佳分发加密模块,并向加密包分发控制单元359公布选择结果(步骤S25)。
加密包分发控制单元359利用在步骤S25的选择结果信息来向加密包分发合成单元370请求分发加密包信息的编译(步骤S26)。加密包分发合成单元370利用加密模块数据库和加密模块评估数据库向加密包分发控制单元359公布包括了对应于步骤S26的分发包信息编译请求的加密模块308和加密评估描述文件309的加密包307(步骤S27)。
加密包分发控制单元359利用通信功能单元356传送包括了加密包307的加密包信息到加密客户端装置150(步骤S28)。加密管理单元166通过通信功能单元155从加密管理服务端装置350接收加密包信息(步骤S29)。
加密管理单元166执行包括了加密评估描述文件309的认证器校验的加密包信息的评估。当评估不满足继续该过程的条件时,向加密管理服务端装置359和主机系统151公布错误,并且该过程被终止。如果条件满足,则从加密包信息分解加密模块308和加密评估描述文件309,并注册在加密模块数据库164和加密模块评估数据库163中。加密管理单元166利用主机系统单元151和通信功能单元155,向加密管理服务端装置350公布完成结果(步骤S30)。加密包分发控制单元359通过通信功能单元356从加密客户端装置150接收完成通知,并执行包括了断开通信连接的过程的完成过程(步骤S31)。
如果被选择的加密模块在对应的加密客户端装置150中没有被发现,则加密处理控制单元156可以自动地与加密控制管理器单元152进行协作,请求从加密管理服务端单元350向加密管理单元166分发缺乏的加密模块,而不是通过主机系统单元151进行。当从加密管理服务端单元350分发的加密包信息的评估不满足继续该过程的条件时,代替通过发送错误终来止该过程,而是依赖于错误的内容的再次分发可能连续的向加密管理服务端装置350进行请求。
第二实施例
在第一实施例中,解释了由加密客户端装置处理的最佳加密方法的选择。在第二实施例中,加密管理服务端装置假设在最佳加密方法的选择中承担领导角色。这是说,正如图11中所示,在由加密管理服务端装置1350,多个加密客户端装置1100,和对应于加密客户端装置1100的加密硬件450构成的系统(之后称为第二实施例的系统)中,被加密管理服务端装置1350选择的加密方法的结果信息通过服务器增强联接机制在模块选择机制存储单元110中进行管理和利用。特别是,如果模块选择机制存储单元110的计算能力不足,则加密管理服务端装置1350会对计算进行支持,并且在加密客户端装置1100中的响应性能能够被加强。
具体来讲,加密管理服务端装置1350选择适合于来自主机系统单元1151的请求的最佳加密模块308,加密客户端装置1100的加密控制管理器单元1152接收结果,并且请求条件和最佳加密模块308之间的关系在该装置的加密信息存储单元1600中被管理。加密控制管理器单元1152基于来自主机系统单元1151的请求和适合于该请求的最佳加密模块308之间的关系,依据来自主机系统单元1151的加密处理控制请求进行处理。区别于第一实施例,加密客户端装置1100并不总是需要加密包307,或加密模块308的所有选择功能所需的来自加密管理服务端装置1350的接受,或加密模块308的选择的管理。
图11是根据本发明的第二实施例的该系统的示意性配置的框图。第二实施例中的系统包括一个或多个加密客户端装置1100,一个或多个加密硬件450和加密管理服务端装置1350。加密硬件450与第一实施例中的相同。多个加密硬件450可能为每一个加密客户端装置1100所连接。加密硬件450可能被集成于加密客户端装置1100内部。
图12是加密客户端装置1100的配置的框图。加密客户端装置1100包括主机系统单元1151,加密控制管理器单元1152,执行加密模块单元1153和通信功能单元1155。选择机制1158是设置关于安全的优先信息,处理速度和资源的文件。主机系统单元1151和执行加密模块单元1153在配置和功能上与第一实施例中的相同。
加密控制管理器单元1152包括加密处理控制单元1156,密匙管理单元1162,加密信息存储单元1600,加密包管理单元1166,和加密硬件管理控制单元1170。
加密处理控制单元1156具有从主机系统单元1151接受包括加密处理条件的加密处理控制请求的功能,通过参考加密信息存储单元1600来指定与加密处理条件链接的执行加密模块单元1153的功能,依据加密处理执行定时向执行加密模块单元1153请求加密处理的功能,公布加密处理的加密处理ID给该加密处理以及通过将加密处理ID与关于对应的加密处理的信息的关联而将加密处理ID存储在加密信息存储单元1600中的功能,以及向主机系统单元1151公布来自执行加密模块单元1153的加密处理结果和与该加密处理关联的加密处理ID的功能。
密匙管理单元1162具有依据来自主机系统单元1151的请求,在加密信息存储单元1600的密匙信息数据库1165中注册、删除、获取、搜索或更新密匙信息的功能,还具有在正常执行密匙信息的注册时公布密匙ID,并且通过将密匙ID与关于该注册过程的信息关联而将密匙ID存储在加密信息存储单元1600中的功能,还具有通过必要时包含加密处理ID或密匙ID而向主机系统单元1151公布每个处理结果的功能。
加密信息存储单元1600具有存储选择数据库1601、加密模块链接数据库1602、加密模块数据库1603、密匙信息数据库1165和加密处理数据库1604的功能。加密信息存储单元1600可能还具有依据来自密匙管理单元1162、加密处理控制单元1156和加密包管理单元1166的请求,控制和管理加密信息存储单元1600中的每一个数据库的功能。
选择数据库1601的数据结构如图13所示。加密模块链接数据库1602的数据结构如图14所示。加密模块数据库1603的数据结构如图15所示。密匙信息数据库1165的数据结构如图16所示。加密处理数据库1604的数据结构如图17所示。图18表示了加密信息存储单元1600中每一个数据库之间的逻辑关系。
加密包管理单元1166具有下列功能。
首先,加密包管理单元1166具有以下功能:利用通信功能单元1155将通过把包括从主机系统单元1151输入的包括选择条件、选择机制和硬件概况的信息传送到加密管理服务端装置1350而获得的被选择的加密包307的算法ID、加密模块评估描述ID、加密模块ID和建议的密匙长度信息注册到加密信息存储单元1600中。
进一步地,加密包管理单元1166具有以下功能:基于从主机系统单元1151输入的选择条件指定选择数据库1601,以及指定来自加密算法的对应的密匙生成引擎的算法ID。
加密包管理单元1166还具有以下功能:将算法ID、加密模块评估描述ID和由加密管理服务端装置1350选择的密匙生成引擎的加密模块ID注册到加密信息存储单元1600中。
此外,加密包管理单元1166还具有以下功能:基于从主机系统单元1151输入的请求,利用通信功能单元1155通过接收加密管理服务端装置1350上的最终的初始化注册日期和最终的初始化注册域而执行加密包初始化注册协议。并从加密管理服务端装置1350下载加密包307的所需的最小限度,并把这些信息注册到加密信息存储单元1600中。
加密包管理单元1166进一步具有以下功能:利用通信功能单元1155传送包括选择条件、选择机制、硬件概况和保存在终端的加密包307的列表的信息到加密管理服务端装置1350,并获取通过加密管理服务端装置1350选择的加密包307的实体和间接的信息(算法ID、加密模块评估描述ID、加密模块ID),并将上述内容注册到加密信息存储单元1600中。
加密包管理单元1166还具有以下功能:在来自加密管理服务端装置1350的更新通知或更新事件进行通知目的地注册的时候,设置由加密控制管理器1152执行的动作的机制。
加密包管理单元1166还具有以下功能:基于来自主机系统单元1151的请求内容、在加密控制管理器单元1152中保存的最新的更新通知标识、加密包307的选择机制和加密包307的组合,利用通信功能单元1155执行在与加密管理服务端装置1350协作的加密控制管理器单元1152中保存的加密包307的实体的更新处理。
加密包管理单元1166还具有以下功能:从加密信息存储单元1600中删除来自主机系统单元1151的请求的加密包307的实体,并取消包括了链接到加密包307的加密信息存储单元1600的每个数据库间的关系。
加密包管理单元1166还具有以下功能:利用通信功能单元1155将包括从主机系统单元1151输入的传输目的地域信息、硬件概况和在装置中保存的加密包307的列表的信息传送到加密管理服务端装置1350,并获取由加密管理服务端装置1350选择的外部分发而受控的加密包信息,并删除在加密客户端装置1100中保存的有关的加密包307。
加密硬件管理控制单元1170具有以下功能:依赖于来自加密控制管理器单元1152的每一部分的请求,利用通信功能单元1155控制与加密硬件的通信。
通信功能单元1155是用于实现加密包管理单元1166和加密硬件管理控制单元1170之间或通信装置伙伴端和加密硬件之间的相互通信。
图19是加密管理服务端装置1350的配置的框图。加密管理服务端装置1350包括服务端主机系统1380,通信功能单元1356,加密管理服务端控制单元1352,加密包存储单元1355和服务端加密控制管理器单元1390。
服务端主机系统1380具有与加密客户端装置1100的服务端主机系统1380一样的功能,还具有将负责加密管理的系统管理人员的控制请求传送给加密管理服务端控制单元1352的功能。
通信功能单元1356具有以下功能:能够进行加密管理服务端控制单元1352、服务端加密控制管理器单元1390、伙伴端通信装置、加密硬件和模拟加密硬件操作的模拟器之间相互的通信。
加密管理服务端控制单元1352包括加密包控制单元1359、加密包管理单元1351、加密包分发合成单元1370和分发加密包选择单元1373。
加密包控制单元1359具有以下功能:通过来自服务端主机系统1380的请求注册加密包307的功能;通过来自服务端主机系统1380的请求更新已经注册的加密包的功能;当从供应商提供加密包时为确定对应的加密包的来源而校验供应商的认证器的功能;通过组合多个单类型加密模块评估描述单元或多个双类型加密模块评估描述单元而生成复杂类型加密模块评估描述单元的功能;搜索在加密模块数据库1355中注册的加密包307并获取列表的功能;通过来自服务端主机系统1380的请求,从加密模块数据库1355中删除加密模块308和关联的加密包307的功能;公布在加密包存储单元1355上的关于注册、更新和删除的日志的功能。
加密包管理单元1351具有以下功能:以同时并行的方式处理来自多个加密客户端装置1100的控制请求的功能;加密包307的初始化注册处理、分发处理、更新处理、选择处理、更新通知处理和加密管理域传输处理的功能;建立加密客户端装置1100和加密管理服务端装置1350之间安全受保护的通信路径的功能;管理由对应的加密管理服务端装置1350管理的域中已存的加密客户端管理装置的状态的功能;生成加密包307的初始化注册处理、分发处理、更新处理、选择处理、更新通知处理和加密管理域传输处理的日志的功能。
加密包分发合成单元1370具有以下功能:从加密模块数据库1355获取由分发加密包选择单元1373选择的加密包307的功能;合成存储于加密模块数据库1355中描述项的数据并以加密模块评估描述格式XML公布这些数据的功能;依赖于加密包控制单元1359中的安全通信中使用的密匙的指定的安全方法,通过向服务端加密控制管理器单元1390请求该处理而生成密匙的功能;基于包括了ID、密匙和加密客户端装置1100的安全方法的信息来管理密匙的信息的功能;依赖于安全等级和在加密管理服务端装置1350的分发机制中定义的安全方法,对将被从加密管理服务端装置1350传送到加密客户端装置1100的信息进行数据机密性和数据校验的安全处理的功能。
分发加密包选择单元1373具有以下功能:初始化注册判断、加密方法选择和在加密包初始化注册过程中的加密包的选择的功能;判断分发并在加密包分发过程中选择加密包的功能;获取更新加密模块列表并在加密包更新过程中选择加密包的功能;判断选择并在加密包选择过程中选择加密包的功能;判断移动并在加密管理域传输过程中生成域移动过程的信息的功能;从加密包存储单元搜索满足选择条件、选择机制和硬件机制的加密包的功能。
加密模块数据库1355具有用于记录和管理被注册的加密模块308的加密模块数据库1353,和用于记录和管理加密评估描述文件309的加密模块评估数据库1354。
服务端加密控制管理器单元1390具有与加密客户端装置1100的加密控制管理器单元1152一样的功能,还具有通过与加密管理服务端控制单元1352协作,进行加密管理服务端装置1350中的加密资源控制和加密校验通信的功能。
在第二实施例中,响应于来自加密客户端装置1100中的主机系统单元1151的加密处理请求,加密处理控制单元1156通过对最佳加密模块进行搜索、执行加密处理和向主机系统单元1151公布加密处理结果来操作加密处理。图20是加密客户端装置的加密处理实例的简图。图21是加密客户端装置的加密处理流程实例的简图。
在第二实施例中,响应于来自加密客户端装置1100中的主机系统单元1151的加密处理请求的加密控制管理器1152和执行加密模块单元1153的处理操作将在下面进行解释。主机系统单元1151通过接收包括了将被执行加密处理的数据和加密处理的种类标识的加密处理请求信息,向加密处理控制单元1156请求加密处理(步骤S41)。
加密处理控制单元1156从选择数据库1601中读出适合于来自主机系统单元1151的加密处理请求的最佳加密模块(步骤S42)。此时,如果适合于加密处理请求的最佳加密模块的选择信息在选择数据库中没有被发现,则向主机系统单元发布错误并且终止该过程(步骤S43,步骤S50)。当最佳加密模块的选择信息被发现时,加密处理控制单元1156从密匙信息数据库1165中读出对应于来自主机系统单元1151的加密处理请求的密匙信息(步骤S44)。
如果被选择的加密模块在对应的加密客户端装置1100中不存在,则错误被公布给主机系统单元1151,并且该过程被终止(步骤S45,步骤S51)。当被选择的加密模块在对应的加密客户端装置1100中存在时,加密处理控制单元1156从加密模块链接数据库和加密模块数据库中读出加密模块链接信息和加密模块信息,并将对应的加密模块导入到内存中作为执行加密模块单元1153。
加密处理控制单元1156将上述密匙信息和来自主机系统单元的将被执行加密处理的数据输入到执行加密模块单元1153中,并请求加密处理(步骤S46)。执行加密模块单元1153把将被执行的加密处理的数据的加密处理结果公布给加密处理控制单元1156(步骤S47)。加密处理控制单元1156生成包括了加密处理密匙标识的加密处理条件信息,并在加密处理数据库1604中记录这些信息(步骤S48)。加密处理控制单元1156将包括加密处理ID和加密的数据的加密处理结果信息公布给主机系统单元1151(步骤S49)。
在步骤S43,如果适合于加密处理的最佳加密模块的选择信息不存在于选择数据库中,则选择结果信息可能通过向加密管理服务端装置1350请求最佳加密模块的选择而被下载,而不向主机系统单元公布错误。如果在选择结果信息中描述的加密模块没有存在于对应的加密客户端装置1100中,对应的加密模块可能被从加密管理服务端装置1350下载到对应的加密客户端装置1100中,而不向主机系统单元公布错误。
如果适合于对应的处理请求的最佳加密模块的选择信息不存在于选择数据库中,则加密客户端装置1100可能如下所述将链接主机系统请求和最佳加密的信息注册在关系数据库中。由此,在选择适合于来自主机系统的相同加密处理请求的最佳加密的过程中就不再需要到加密管理服务端装置1350的连接。最佳加密的询问过程如图22所示。最佳加密的询问过程流程的实例如图23所示。
主机系统单元1151向加密包管理单元1166请求适合于包括种类的识别信息的选择条件的最佳加密模块的选择(步骤S61)。加密包管理单元1166基于来自主机系统单元1151的加密模块选择请求信息,利用通信功能单元1155向加密管理服务端装置1350要求加密模块选择(步骤S62)。加密模块选择请求包括,例如,种类的标识,加密客户端装置1100的加密模块选择机制和关于硬件概况的信息。
加密包控制单元1351通过通信功能单元1356接收来自加密客户端装置1100的加密模块选择要求的请求(步骤S63)。加密包控制单元1351将种类的标识、硬件概况和包含在加密模块选择要求请求中的选择机制信息输入到分发加密包选择单元1373中,并请求符合于条件的加密包的选择(步骤S64)。
分发加密包选择单元1373从加密模块评估数据库1354获取必要的加密评估描述文件,执行适合于条件的加密包的选择,并公布被选择的加密评估描述文件的标识的列表(步骤S65)。加密包控制单元1351当被公布的加密评估描述文件的数目为0时通知结束,或在不是0时依赖于选择结果,通过通信功能单元1356发送传输或不传输加密容器的请求到加密客户端装置1100(步骤S66)。
依赖于由来自加密管理服务端装置1350的选择结果决定的选择结果通知或加密容器的传输请求,加密包管理单元1166要求处理过程的结束(步骤S67)。加密包控制单元1351通过通信功能单元1356接收来自加密客户端装置1100的加密容器的传输请求,并继续下面的处理(步骤S68)。加密包控制单元1351接收在步骤S65选择的加密评估描述文件的标识,并传送期望的加密包的编译到加密包分发合成单元1370(步骤S69)。
加密包分发合成单元1370从加密模块评估数据库1354和加密模块数据库1353获取必要的信息,并编译加密包信息,将这些信息公布给加密包控制单元1351(步骤S70)。加密包控制单元1351依赖于来自加密包信息的通信安全等级来编译具有安全保护的加密容器,并利用通信功能单元1356传送加密容器到加密客户端装置1100(步骤S71)。加密包管理单元1166依赖于来自加密容器的安全等级来取消安全保护或校验有效性,在选择数据库1601和加密模块链接数据库1602中注册必要的信息,并将处理结果公布给主机系统(步骤S72)。
如果最佳加密模块不存在于加密客户端装置1100中,包括在数据库1601和加密模块链接数据库1602中注册选择结果之后,期望的加密模块如下所述在加密模块分发过程中被从加密管理服务端装置1350进行下载。加密模块的分发操作如图24所示。分发处理的流程实例如图25所示。
主机系统单元1151接收包含了加密算法标识的信息,并向加密包管理单元1166请求加密模块的分发要求(步骤S81)。基于来自主机系统单元1151的加密包分发请求,利用通信功能单元1155,加密包管理单元1166向加密管理服务端装置1350要求加密模块选择(步骤S82)。
例如,加密模块分发请求包括关于加密算法的标识,加密客户端装置1100的加密模块选择机制和硬件概况的信息。加密包控制单元1351通过通信功能单元1356从加密客户端装置1100接收加密模块分发要求的请求(步骤S83)。加密包控制单元1351将加密算法的标识,硬件概况和包含在加密模块分发要求的请求中的选择机制信息输入到分发加密包选择单元1373中,并请求符合于分发要求的加密包的选择(步骤S84)。
基于包括了加密客户端装置1100的硬件概况和选择机制的分发要求请求信息,分发加密包选择单元1373从加密模块评估数据库1354获取必要的加密评估描述文件,并执行适合于条件的加密包的选择,公布被选择的加密评估描述文件的标识的列表(步骤S85)。
加密包控制单元1351当被公布的加密评估描述文件的数目为0时通知结束,或在不是0时,通过通信功能单元1356向加密客户端装置1100发送对应于分发评估结果传输或不传输加密包的请求(步骤S86)。依赖于由来自加密管理服务端装置1350的分发评估结果的通知,加密包管理单元1166处理该结束,或根据选择结果,请求加密容器的传输请求(步骤S87)。
加密包控制单元1351通过通信功能单元1356接收来自加密客户端装置1100的加密包的传输请求,并继续下面的处理(步骤S88)。加密包控制单元1351接收在步骤S85选择的加密评估描述文件的标识,并传送期望的加密包的编译到加密包分发合成单元1370(步骤S89)。
加密包分发合成单元1370从加密模块评估数据库1354和加密模块数据库1353获取必要的信息,并编译加密包信息,将这些信息公布给加密包控制单元1351(步骤S90)。加密包控制单元1351依赖于来自加密包信息的通信安全等级来编译安全受保护的加密包信息,并利用通信功能单元1356将这些信息传送给加密客户端装置1100(步骤S91)。
安全保护过程被以下面的方式实现,例如,通过将MAC加入密包,或加密及传输加密包并利用加密硬件450的代理解密功能。加密包管理单元1166依赖于来自加密包信息的安全等级来取消安全保护或校验有效性,在加密模块数据库1603中注册必要的信息,并将处理结果公布给主机系统(步骤S92)。
加密容器是分发数据队列,包括安全受保护的加密内容和头信息的数据,例如,与将被从加密客户端装置1100发送到加密管理服务端装置1350的加密评估描述文件相关联的信息和加密模块。安全保护处理包括加密内容的加密,增加MAC(信息认证码)到头信息和加密内容,增加MAC到头信息和加密后的加密内容。否则,没有安全保护处理,头信息可能被直接增加到加密内容。
在安全保护处理中要被使用的加密密匙可以被存储,或安全保护处理可以由加密硬件450来执行。例如,加密硬件管理控制单元1170将加密后的加密数据输入到加密硬件450中,在加密硬件450中的通过执行解密过程而公布的解密后的加密内容可以被获取并执行。加密容器的头信息包括,例如,加密内容的类型,将被传输的加密模块的数目和传输数据的大小。
第三实施例
在上面描述的系统中,如果在将被用于终端侧的软件模块中发现缺陷,则另一个软件模块被提供直到替代的软件模块被完成,该系统在下面进行解释。
在第三实施例中,在第一实施例和第三实施例中执行的加密模块308或加密包307的更新可以被更安全的进行处理。在该实施例中,被更新的主体不仅仅局限于加密包307,还可以被应用于所有软件模块的更新。这就是说,在计算装置中,如果在正在执行或利用的软件模块中发现例如易受攻击性的缺陷,在此时解决缺陷的纠正软件模块被分发和提供,该软件模块并不局限于加密模块308等。
在第三实施例中,在选择将被使用的软件模块的功能中,比具有缺陷的软件模块具有更高资格的软件模块与评估索引一起被分发。结果,当取消具有缺陷的软件模块时,通过停止该软件模块的使用,利用该缺陷进行的攻击能够被阻止。
图26是第三实施例中的软件模块管理装置301的配置的框图。软件模块管理装置301包括存储单元310,第一分发单元311和第二分发单元312。
存储单元310存储有,例如,软件模块A,与软件模块A具有相同功能的软件模块B以及对应的评估索引。
当缺陷被在软件模块中发现时,第一分发单元311将对应于软件模块的替代模块传送到使用该软件模块的计算装置100,并变换计算装置100中的软件模块。
第二分发单元312利用替代模块将具有缺陷的软件模块的纠正版本传送到计算装置100,并变换计算装置100中的软件模块。
计算装置100的功能模块的示意性配置如图27所示。计算装置100包括中央处理器101,存储单元102,操作系统模块103,模块选择模块104,可更新的软件模块105,网络连接单元106,模块选择机制存储单元110,它们通过逻辑总线107进行连接。可更新的软件模块105表示了多个软件模块。网络连接单元106被连接到网络108。模块选择模块104涉及存储于模块选择机制存储单元110中的选择的根据,并选择适合于期望的应用程序的恰当的软件模块105。选择的根据是那些描述了诸如将被使用的资源的数量和处理速度的一个或多个项目的下限和上限的信息。
模块选择模块104从模块选择机制存储单元110中读出选择信息的根据,并比较选择信息的根据和包含在可更新的软件模块203中的评估索引,并且检测对应于满足选择信息的根据的条件的评估索引的可执行的软件模块201。
被分发的可更新软件模块的示意性配置如图28所示。可更新软件模块203由可执行软件模块201和评估索引202构成。评估索引202是存储对应的软件模块201的评估信息的信息,例如,是表示评估信息的以XML格式存在的数据文件。评估索引202包括将被用于评估中的索引,例如,可用资源211的数量,处理速度212,处理内容213,应用程序214以及使用期间215。评估索引202还可以包括对应的可执行软件模块201的识别信息。
可用资源211的数量是关于例如用于对应的可执行软件模块201的操作所需要的必要的内存大小的资源信息的数值信息。处理速度212是关于例如关于用于对应的可执行软件模块201的操作的必要的计算量的数值信息。处理内容213是显示这样的信息,例如,可执行软件模块201的算法的操作过程内容。应用程序214是,例如,对应的可执行软件模块201的处理应用程序中预定义的种类的识别信息。使用期间215是,例如,显示对应的可执行软件模块201的使用的保证期间的信息。
这些包含于评估索引202中的信息的项目仅用于示例,只要在评估中是可用的,其内容并不特别地受限。评估索引202基于模块选择模块104和可执行软件模块的201而使用。
第三实施例中计算装置的代表性的硬件配置的实例如图29所示。在计算装置400中,ROM401,RAM402和可重写的非易失性存储单元403通过总线406与CPU404互相连接。总线406通过I/O405被连接到外部存储单元407,存储介质读出单元408和网络接口410。放置于计算装置外部的记录介质409能被连接到置于计算装置外部的网络411。
第三实施例中,可更新软件模块的分发的示意性配置如图30所示。软件模块管理装置301通过网络302分发软件模块320到多个计算装置303,计算装置304和计算装置305。将被通过网络302分发的软件模块320可能根据需要通过已有的加密技术,如加密或数字签名,而被进行加密或签名。在这个实施例中,被分发的软件模块201可能是图28中的可执行软件模块201和评估索引202中的一个或两个。
在这个实施例中,示出了通过网络302进行分发的例子,但它并不仅仅局限于这个例子。软件模块320的分发可能通过其他的方式实现,正如本领域技术人员容易理解的,如存储介质或另一种形式的输入装置。
在进行该实施例的操作实例的解释之前,在图31中以时间序列的方式解释现有技术中进行分发的操作实例和纠正软件模块的开始使用。时间流向500在图中从左向右进行。即,左端是过去的时间点,右端对应于现在或将来的时间点。在步骤S501,如果缺陷被在软件模块中发现,则该软件模块的开发源在步骤S502开始纠正模块的开发,并在步骤S503开始该纠正模块的分发。利用该缺陷的攻击者获取在步骤S503分发中开始的纠正软件模块,并在步骤S504开始分析纠正内容。利用分析结果,攻击者在步骤S505开始利用该缺陷进行攻击。在某个计算系统中,假设在步骤S503的分发中的开始的纠正模块的使用是在步骤S506开始,从步骤S505到步骤S506形成易受攻击的期间,并且在该期间内,缺陷纠正的内容被识别为通过利用这种易受攻击性进行的攻击的可能的手段。
图32以时间顺序示出了该实施例中纠正软件模块的分发和使用的开始的操作实例。时间流向600在图中从左向右进行。
例如,软件模块A被包含在计算装置303中的可更新软件模块105中,并假设可执行的软件模块A正在被执行。在步骤S601,如果缺陷被在软件模块A中发现,则供应商,即该软件模块A的提供者开始软件模块A′的开发,A′是软件模块A的纠正模块(步骤S602)。
在稍后于步骤S601的步骤S603,在软件模块管理装置301的第一分发单元311开始分发预存于存储单元310中的软件模块B,软件模块B是软件模块A的替代模块。在此假设,软件模块B是具有与软件模块A相同的功能但是执行不同算法的模块。这就是说,第一分发单元311将软件模块B作为替代模块分发到使用具有缺陷的软件模块A的计算装置100,并传输替代模块变换要求信息作为用于变换正被使用的软件模块A为软件模块B的要求。
计算装置100的中央处理器101通过网络连接单元106接收作为替代模块的软件模块B以及替代模块变换要求信息。随后,预存于计算装置100中的模块选择模块104将正在被执行的软件模块A变换为软件模块B。在此,“变换”是指正由软件模块A提供的功能服务被替代为由软件模块B提供,具体为,用于执行功能服务的操作的执行文件被替换,并且,例如,功能服务被再次启动,软件模块之间的协作关系被再次构建。变换要求信息是对新模块产生变换处理的指引信息,其不同于用于指示变换的变换要求。变换要求信息并不指示变换,它对于隐藏哪个软件是缺陷的是有效的。
当供应商完成作为纠正模块的软件模块A′的开发,并且软件模块A′被存储在存储单元310中时(步骤S604),第二分发单元312开始软件模块A′的分发(步骤S605)。这是说,第二分发单元312将软件模块A′的变换要求信息和纠正的模块传输到计算装置100。当计算装置100接收软件模块A′的变换要求信息和纠正的模块时,模块选择模块104将正在被执行的软件模块B变换为软件模块A′(步骤S606,S607)。
在这种方式下,在步骤S603处的替代模块的分发开始之后,通常使用的具有缺陷的软件模块的使用被阻止。不同于图31中所示的现有技术中步骤S503中的纠正模块的分发,由于缺陷纠正的内容不被包含于在步骤S603分发的替代模块中,因此,将缺陷隐含地公开给攻击者的危险能够被避免。
替代模块的分发的开始(步骤S603)在缺陷被发现的那一刻之后(步骤S601),但是S603的处理可能在S601之前发生。更详细地,在发现缺陷的事件中,通过预先分发替代模块到计算装置100,替代模块能够被立即使用,因此,突然事件能够被避免。
正如在此所述,依据该实施例,已有的软件模块能够被安全的更新。进一步地,在用于更新以纠正软件模块的缺陷的计算装置中,恶意使用该软件模块的威胁被降低,安全性被增加。
第四实施例
第四实施例是分发已更新的模块选择机制的方法,以便在计算装置100的模块选择模块104的功能中,没有缺陷的软件模块比具有缺陷的软件模块能获得更高的判断,模块选择模块104用于从要被使用的可更新软件模块105中选择执行的可更新软件模块。
当计算装置100的网络连接单元106接收新的模块选择机制时,中央处理单元101将该新的模块选择机制存储在模块选择机制存储单元110中。模块选择模块104选择由可更新软件模块105重新依据新的模块选择机制而执行的软件模块,并且被选择的软件被设置成执行状态。
结果,由于没有通过易受攻击性揭示哪一个模块包括了缺陷,软件模块的使用被停止,并且利用该缺陷进行的攻击能够被阻止。
在该实施例中,图30中示出的软件模块包括了模块选择机制。通过网络302将模块选择机制从软件模块管理装置301分发到计算装置303、304、305。在图27中,被分发的模块选择机制被存储于计算装置100的模块选择机制存储单元110中。新的模块选择机制被假设成以比在步骤S601发现的具有缺陷的软件模块对应的评估索引202更严格的条件来设置。这是说,假设“100KB”被设置在被发现具有缺陷的软件模块的可用资源数量211中,包含条件信息“可用资源数量小于100KB”的新的模块选择机制被分发。依据新的模块选择机制,模块选择模块104将在可更新软件模块105中操作的软件模块更新成新的软件模块,除了被发现具有缺陷的软件模块之外的软件模块被选择,并被设置成执行状态。
因而,评估索引202包括了被调整以选择软件模块的内容,该软件模块不包含通常存储在旧版本的计算装置中的缺陷,不是一个或多个软件模块包括了由于缺陷而期望被停止的软件模块。
在这个实施例中,即使缺陷没有被发现,操作者通过分发具有周期地或无规律地使用的有限期间的评估索引来执行更新,,并且即使通过在选择基础中使用的评估索引的分发也难以估计缺陷的发生,因此整个系统的安全性能够被增强。
第五实施例
第五实施例与第三和第四实施例类似,除了从服务器向每一个计算装置建议替代模块的使用的结束。
结果,替代模块的可用期间能在任意时间被延缓,当观察纠正模块的分发状态和应用程序的完成时,纠正模块的开始使用的时间能够被任意地选择。
第六实施例
第六实施例是在将被使用的选择软件模块的功能中,变换加密模块选择单元的方法,以便使没有缺陷的软件模块比具有缺陷的软件模块能被分级为具有更高的优先级。结果,当隐藏在哪一个软件模块中发现缺陷时,该软件模块的使用被停止,并且利用该缺陷进行的攻击能够被阻止。
在这个实施例中,图30中所示的软件模块320包括模块选择模块104。利用网络302将模块选择模块104从服务器301分发到计算装置303、304、305。选择模块104被图27中所示的计算装置中分发的新的选择模块更新。
新模块选择一个或多个较旧版本的模块,这些模块以传统的方式存储在计算装置中而且不包含缺陷,而不选择那些包含了缺陷的软件模块。
在这个实施例中,即使缺陷没有被发现,操作者通过分发具有周期地或无规律地使用的有限期间的评估索引的分发来执行更新,并且即使通过在选择基础中使用的评估索引的分发也难以估计缺陷的发生,因此整个系统的安全性能够被增强。
第七实施例
第七实施例是限制要被更新的软件模块为加密处理的软件模块的方法。加密处理包括用于通过诸如数字签名等来隐藏数据或保证安全性的目的的多个算法,其可以被任意的选择。特别地,如果某个算法被包含,该算法不具有执行缺陷,则系统的安全性能够分别在第三到第六实施例中被增强。
正如在此所述,通过利用从用于纠正缺陷的新的软件模块获取的信息,本发明能够减少通过恶意使用在尚未运行新的软件模块的计算装置上的缺陷进行攻击的威胁,而这在现有技术中是一个问题。
在本发明中,当期望具有相同功能的软件模块是从多个供应商提供时,如果缺陷在某个供应商的软件模块中被发现,则软件模块被分发以替换具有相同功能的多个供应商的软件模块。在终端装置中,通过软件模块的选择功能,适合于期望功能的软件模块被选择。在第四实施例中,被进行调整以使选择索引的基础可以比已有的软件模块高级的软件模块被分发。在另一个实施例中,用于变换选择方法标准的指令被分发,并且,新分发的软件模块替换已有的软件模块。在任一个实施例中,操作者或软件模块的开发者在恰当的分发期间之后分发和校验用于纠正缺陷的软件模块,并且,替换软件模块被恰当地分发到计算装置。
在前面所述的实施例都仅仅是代表性的实例,在不脱离本发明的原理的范围内,及在权利要求限定的范围内,这些实施例可能被本领域技术人员很容易地变换或修改,并且这些实施例可能被本领域技术人员进行各种不同的修改和变换。
在前面所述的实施例中,解释了由网络连接的计算装置,然而,本发明可能同样被应用于在以下装置中的软件模块的分发,例如个人电脑,桌上电脑,笔记本电脑,便携式数字助手,微型计算机,主机,蜂窝电话,无线通信装置,捆绑了蜂窝电话和便携式数字助手的混合计算装置,各种类型的计算机,计算装置或计算系统。
在此,本发明的实施例是通过参考附图来描述的,然而,这些特定的配置并不用于限制被示出的实施例,这些实施例可能在不脱离本发明的实质精神的范围内被设计成不同的配置。
被用于实现本发明的处理单元的功能的程序可以被记录在计算机可读记录介质中,被记录在记录介质中的程序由计算机系统进行读取和执行,软件模块可以被分发。在此,“计算机系统”包括操作系统,外围设备和其他硬件。计算机系统可能还包括具有主页呈现环境(或指示环境)的WWW系统。“计算机可读记录介质”包括软盘,光盘,ROM,CD-ROM,其他可移动介质,或建立于计算机系统中的硬盘,或其他存储装置。计算机可读记录介质在存储器中,如易失存储器(RAM),还保存有用于诸如服务器或客户端这样的计算机系统中某个时刻的程序,该时刻程序被通过例如因特网,其他的网络或电话线路的通信线路进行传输。
程序还可以通过传输介质或传输介质中的传输波,被从具有存储了该程序的存储装置的计算机系统传送到另一个计算机系统。用于传输程序的“传输介质”是具有传输该信息的功能的任何介质,例如因特网,其他网络(通信网络),电话线路,或其他通信网络(通信线路)。程序可能仅仅实现部分上述功能。功能可能通过已记录于计算机系统中的程序的组合来实现,例如,所谓的微分文件(微分程序)可能被使用。
Claims (18)
1.一种用于对将被执行加密处理的特定主题数据执行加密处理的加密客户端(150)装置,其特征在于,该加密客户端(150)装置包括:
存储装置(165),其存储用于加密处理的加密密匙,用于执行加密处理的加密模块和与该加密模块相关的加密模块的评估描述文件;
加密处理要求接受装置(156),其配置为接受加密处理的要求信息;
加密密匙获取装置(162),其配置为基于在加密处理要求接受装置中接受的要求信息,依据来自存储装置的要求信息来获取加密密匙;
加密评估描述文件获取装置(159),其配置为基于加密处理要求接受装置中接受的要求信息,获取对应来自存储装置的要求信息的加密评估描述文件;
加密处理执行装置(153),其配置为通过获取对应于由加密评估描述文件获取装置获取的加密评估描述文件的加密模块,对将被执行加密处理的主题数据执行加密处理;以及
输出装置(156),其配置为公布由加密处理执行装置执行的加密后的主题数据。
2.一种加密包分发系统,其特征在于,包括用于对将被执行加密处理的主题数据执行加密处理的加密客户端装置(150),和用于向加密客户端装置分发适合于加密处理的加密包的加密管理服务端装置(350),
其中加密客户端装置包括:
分发要求信息接受装置(166),配置为接受加密包的分发要求信息;和
分发要求信息传输装置(156,166),配置为传输分发要求信息接受装置的分发要求信息到加密管理服务端装置,以及
加密管理服务端装置包括:
存储用于执行加密处理的加密模块,和与该加密模块相关的加密模块的评估描述文件的存储装置(353,354);
分发要求信息接受装置,配置为接收来自分发要求信息传输装置的分发要求信息;
加密包生成装置(360,370)配置为基于由分发要求信息接受装置接收的分发要求信息,依据来自存储装置的分发信息,通过获取加密评估描述文件和加密模块来生成加密包;以及
加密包分发装置(359),配置为将由加密包生成装置生成的加密包分发到加密客户端装置。
3.如权利要求2所述的加密包分发系统,其特征在于,通过将加密包划分为加密评估描述文件和加密模块,加密客户端装置将由加密包分发装置分发的加密包存储到加密客户端装置的存储装置中。
4.一种用于将适合于特定的加密处理的加密包分发到通过网络连接的加密客户端装置(150)的加密管理服务端装置(350),其特征在于,该加密管理服务端装置(350)包括:
存储用于加密处理的加密模块,和与该加密模块相关的加密模块的评估描述文件的存储装置(353,354);
分发要求信息接受装置,配置为接收从加密客户端装置传输的加密包的分发要求信息;
加密包生成装置(360,370),配置为基于由分发要求信息接受装置接收的分发要求,依据来自存储装置的分发信息,通过获取加密评估描述文件和加密模块来生成加密包;
加密包分发装置(359),配置为将由加密包生成装置生成的加密包分发到加密客户端装置。
5.一种用于对将被执行加密处理的特定主题数据执行加密处理的加密客户端装置(1100),其特征在于,该加密客户端装置(1100)包括:
存储装置(1600),其存储用于加密处理的加密密匙,用于执行加密处理的加密模块,将机制信息描述为加密模块的条件信息和具有相同机制信息的加密模块的信息的加密模块链接信息和用于选择加密模块以执行加密处理的选择信息;
加密处理要求接受装置(1156),其配置为接受加密处理的要求信息;
选择信息获取装置(1156;S42),其配置为基于在加密处理要求接受装置中接受的要求信息,获取依赖于来自存储装置的要求信息的选择信息;
加密密匙获取装置(1156;S44),其配置为基于在加密处理要求接受装置中接受的要求信息,依据来自存储装置的要求信息来获取加密密匙;
加密处理执行装置(1153),其配置为通过获取加密模块和对应于由选择信息获取装置获取的选择信息的加密模块链接信息,对将被执行加密处理的主题数据执行加密处理;以及
输出装置(1156;S49),其配置为公布由加密处理执行装置执行的加密后的主题数据。
6.一种加密容器分发系统,其特征在于,包括用于对将被执行加密处理的特定主题数据执行加密处理的加密客户端装置(1100),和用于向加密客户端装置分发适合于加密处理的加密容器的加密管理服务端装置(1350),
其中,所述加密客户端装置包括:
选择请求信息接受装置(1166;S61),配置为接受用于组成加密容器的加密模块的选择请求信息;
选择请求信息传输装置(1155,1166;S62),配置为传输由选择请求信息接受装置接受的选择请求信息到加密管理服务端装置;和
加密容器生成信息传输装置(1166;S67),配置为向加密管理服务器装置传输用于生成加密容器的加密容器生成请求信息;以及
所述加密管理服务端装置包括:
存储装置(1355),其存储用于执行加密处理的加密模块,和与该加密模块相关的加密模块的评估描述文件;
接收装置(1356,1359;S63),配置为接收从加密客户端装置传输的选择请求信息和加密容器生成请求信息;
加密评估描述文件标识提取装置(1373;S65),配置为基于由接收装置接收的选择请求信息,提取对应于来自存储装置的选择请求信息的加密模块的加密评估描述文件的标识;
加密容器生成必要性调查请求装置(1356,1359;S66),配置为基于由加密评估描述文件标识提取装置提取的标识,传输加密容器的生成必要性请求信息到加密客户端装置;
加密容器生成装置(1370;S70),配置为基于来自加密客户端装置的对应于从加密容器生成必要性调查请求装置传输的生成必要性请求信息的答复信息,从加密评估描述文件和对应于提取出的标识的加密模块生成加密容器;
加密容器分发装置(1356,1359;S71),配置为向加密客户端装置分发由加密容器生成装置生成的加密容器。
7.如权利要求6所述的加密容器分发系统,其特征在于,通过将加密容器划分为加密评估描述文件和加密模块,加密客户端装置将由加密容器分发装置分发的加密容器存储到加密客户端装置的存储装置中。
8.一种用于将适合于特定的加密处理的加密容器分发到通过网络连接的加密客户端装置(1100)的加密管理服务端装置(1350),其特征在于,该加密管理服务端装置(1350)包括:
存储装置(1355),其存储用于执行加密处理的加密模块,和与该加密模块相关的加密模块的评估描述文件;
接收装置(1356,1359;S63),配置为接收来自加密客户端装置的用于组成加密容器的选择请求信息和加密容器生成请求信息;
加密评估描述文件标识提取装置(1373;S65),配置为基于由接收装置接收的选择请求信息,提取对应于来自存储装置的选择请求信息的加密模块的加密评估描述文件的标识;
加密容器生成必要性调查请求装置(1356,1359;S66),配置为基于由加密评估描述文件标识提取装置提取的标识,传输加密容器的生成必要性请求信息到加密客户端装置;
加密容器生成装置(1370;S70),配置为基于来自加密客户端装置的对应于从加密容器生成必要性调查请求装置传输的生成必要性请求信息的答复信息,从加密评估描述文件和对应于提取出的标识的加密模块生成加密容器;
加密容器分发装置(1356,1359;S71),配置为向加密客户端装置分发由加密容器生成装置生成的加密容器。
9.一种软件模块管理装置(350,1350,301),用于当将运行于终端装置(150,1100,100)的第一软件模块(A)变换为第二软件模块(A′)时管理软件模块,其特征在于,该软件模块管理装置(350,1350,301)包括:
存储装置(353,1353,310),其存储不同于第一软件模块和第二软件模块的第三软件模块(B);
第一分发装置(311),其读出存储于存储装置中的所述第三软件模块,分发所述第三软件模块到终端装置,并执行从第一软件模块到第三软件模块的变换以设置所述终端装置为可用状态;以及
第二分发装置(312),其分发所述第二软件模块到所述终端,并执行从所述第三软件模块到所述第二软件模块的变换以设置所述终端装置为可用状态。
10.如权利要求9所述的软件模块管理装置,其特征在于,在所述第二软件模块分发之后,所述第二分发装置终止在第一软件模块之后正被使用的软件模块的使用。
11.如权利要求9或10所述的软件模块管理装置,其特征在于,所述第一到第三软件模块具有执行加密处理的功能。
12.一种软件模块管理装置,用于当将运行于终端装置中的第一软件模块变换为第二软件模块时管理软件模块,其特征在于,该软件模块管理装置包括:
存储至少一个软件模块的存储装置;
第一分发装置,其配置为读出存储于存储装置中的软件模块,并分发该软件模块到终端装置;以及
第二分发装置,其配置为分发第二软件模块到所述终端装置,并执行从选择的软件模块到所述第二软件模块的变换以设置所述终端装置为可用状态。
13.如权利要求12所述的软件模块管理装置,其特征在于,在所述第二软件模块分发之后,所述第二分发装置终止在第一软件模块之后正被使用的软件模块的使用。
14.如权利要求12或13所述的软件模块管理装置,其特征在于,所述第一到第三软件模块具有执行加密处理的功能。
15.一种软件模块管理装置(350,1350,301),用于当将运行于终端装置(150,1100,100)的第一软件模块(A)变换为第二软件模块(A′)时管理软件模块,其特征在于,该软件模块管理装置(350,1350,301)包括:
存储至少一个软件模块的存储装置(353,1353,310);
软件模块选择促进装置,其配置为选择存储于存储装置中的软件模块;
第一分发装置(311),其配置为从存储装置中读出由软件模块选择促进装置选择的软件模块,分发该软件模块到所述终端装置;以及
第二分发装置(312),其配置为分发所述第二软件模块到所述终端装置,并执行从选择的软件模块到所述第二软件模块的变换以设置所述终端装置为可用状态。
16.如权利要求15所述的软件模块管理装置,其特征在于,在所述第二软件模块分发之后,所述第二分发装置终止在第一软件模块之后正被使用的软件模块的使用。
17.如权利要求15或16所述的软件模块管理装置,其特征在于所述第一到第三软件模块具有执行加密处理的功能。
18.一种用于当将运行于终端装置中的第一软件模块变换为第二软件模块时,管理软件模块的软件模块管理装置,其特征在于包括:
存储装置,用于存储显示用于选择软件模块的标准的选择信息的根据;
第一分发装置,其配置为读出存储于存储装置中的选择信息的根据,分发该选择信息的根据到所述终端装置,并基于所述选择信息的根据来选择软件模块;以及
第二分发装置,其配置为分发第二软件模块到所述终端装置,执行从依据所述选择信息的根据而选择的软件模块到所述第二软件模块的变换,以设置所述终端装置为可用状态。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007-255964 | 2007-09-28 | ||
JP2007255964A JP4993733B2 (ja) | 2007-09-28 | 2007-09-28 | 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置 |
JP2007255964 | 2007-09-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101426012A true CN101426012A (zh) | 2009-05-06 |
CN101426012B CN101426012B (zh) | 2012-05-16 |
Family
ID=40616342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101785140A Active CN101426012B (zh) | 2007-09-28 | 2008-09-25 | 软件模块管理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8417964B2 (zh) |
JP (1) | JP4993733B2 (zh) |
CN (1) | CN101426012B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103945348A (zh) * | 2014-04-25 | 2014-07-23 | 长沙市梦马软件有限公司 | 一种非对称密钥短信加密方法和系统 |
US9418027B2 (en) | 2011-07-18 | 2016-08-16 | Hewlett Packard Enterprise Development Lp | Secure boot information with validation control data specifying a validation technique |
CN106599723A (zh) * | 2016-12-19 | 2017-04-26 | 武汉斗鱼网络科技有限公司 | 一种文件加密方法及装置、文件解密方法及装置 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9064364B2 (en) * | 2003-10-22 | 2015-06-23 | International Business Machines Corporation | Confidential fraud detection system and method |
JP5100286B2 (ja) * | 2007-09-28 | 2012-12-19 | 東芝ソリューション株式会社 | 暗号モジュール選定装置およびプログラム |
US20110016531A1 (en) * | 2009-07-16 | 2011-01-20 | Michael Yeung | System and method for automated maintenance based on security levels for document processing devices |
CA2822185C (en) | 2009-08-14 | 2014-04-22 | Azuki Systems, Inc. | Method and system for unified mobile content protection |
JP5240865B2 (ja) * | 2010-01-20 | 2013-07-17 | Necインフロンティア株式会社 | セキュリティ方式切替システム、セキュリティ方式切替方法及びそのプログラム |
US8555059B2 (en) * | 2010-04-16 | 2013-10-08 | Microsoft Corporation | Secure local update of content management software |
US8600803B1 (en) * | 2010-05-18 | 2013-12-03 | Google Inc. | Incentivizing behavior to address pricing, tax, and currency issues in an online marketplace for digital goods |
US9558362B2 (en) | 2012-01-23 | 2017-01-31 | Antonio Subires Bedoya | Data encryption using an external arguments encryption algorithm |
JP5971042B2 (ja) * | 2012-09-10 | 2016-08-17 | 富士通株式会社 | 情報処理装置、プログラムおよびソフトウェア実行制御方法 |
IL228523A0 (en) * | 2013-09-17 | 2014-03-31 | Nds Ltd | Processing private data in a cloud-based environment |
US9584402B2 (en) | 2014-01-27 | 2017-02-28 | Fasetto, Llc | Systems and methods for peer to peer communication |
US10123153B2 (en) * | 2014-10-06 | 2018-11-06 | Fasetto, Inc. | Systems and methods for portable storage devices |
JP6495629B2 (ja) * | 2014-11-21 | 2019-04-03 | 株式会社東芝 | 情報処理システム、読出装置、情報処理装置、および、情報処理方法 |
US9608807B2 (en) * | 2014-12-12 | 2017-03-28 | Gn Hearing A/S | Hearing device with communication protection and related method |
US10691808B2 (en) * | 2015-12-10 | 2020-06-23 | Sap Se | Vulnerability analysis of software components |
US10325109B2 (en) * | 2017-09-14 | 2019-06-18 | International Business Machines Corporation | Automatic and dynamic selection of cryptographic modules for different security contexts within a computer network |
US10911487B2 (en) * | 2018-06-20 | 2021-02-02 | Checkpoint Mobile Security Ltd | On-device network protection |
US11698957B2 (en) | 2019-12-18 | 2023-07-11 | Yubico Ab | Pre-registration of authentication devices |
US11803667B2 (en) * | 2021-04-07 | 2023-10-31 | Dell Products L.P. | Overlay ownership certificates including hardware inventory profiles |
US11677552B2 (en) * | 2021-09-09 | 2023-06-13 | Coinbase Il Rd Ltd. | Method for preventing misuse of a cryptographic key |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2689383B2 (ja) * | 1988-02-18 | 1997-12-10 | 株式会社 日立製作所 | 暗号化通信システム |
JP3053106B2 (ja) * | 1990-11-02 | 2000-06-19 | 株式会社日立製作所 | 暗号化処理装置、及び復号化処理装置 |
US6330588B1 (en) * | 1998-12-21 | 2001-12-11 | Philips Electronics North America Corporation | Verification of software agents and agent activities |
JP3776619B2 (ja) * | 1999-03-05 | 2006-05-17 | 株式会社東芝 | 暗号通信端末、暗号通信センター装置、暗号通信システム及び記憶媒体 |
JP2000278260A (ja) * | 1999-03-24 | 2000-10-06 | Hitachi Information Systems Ltd | 暗号通信方法およびそのプログラムを記録した記録媒体 |
EP1081888B1 (en) * | 1999-08-31 | 2005-12-21 | Matsushita Electric Industrial Co., Ltd. | Encryption method, encryption apparatus, decryption method, and decryption apparatus |
US7016494B2 (en) * | 2001-03-26 | 2006-03-21 | Hewlett-Packard Development Company, L.P. | Multiple cryptographic key precompute and store |
JP4566546B2 (ja) * | 2002-10-31 | 2010-10-20 | パナソニック株式会社 | 通信装置、通信システムおよびアルゴリズム選択方法 |
JP2004187090A (ja) * | 2002-12-04 | 2004-07-02 | Toshiba Corp | 携帯可能電子媒体と、携帯可能電子媒体の発行システム、処理システム、暗号化用の鍵の設定方法及び暗号処理方法 |
JP2005117232A (ja) * | 2003-10-06 | 2005-04-28 | Matsushita Electric Ind Co Ltd | データ通信装置、データ通信方法、データ変換装置および変換選択方法 |
JP4720136B2 (ja) * | 2004-09-24 | 2011-07-13 | 富士ゼロックス株式会社 | 暗号化装置、暗号化方法およびプログラム |
JP2006339847A (ja) * | 2005-05-31 | 2006-12-14 | Brother Ind Ltd | ネットワーク通信システム、通信装置及びプログラム |
US7793110B2 (en) * | 2006-05-24 | 2010-09-07 | Palo Alto Research Center Incorporated | Posture-based data protection |
-
2007
- 2007-09-28 JP JP2007255964A patent/JP4993733B2/ja active Active
-
2008
- 2008-09-18 US US12/212,933 patent/US8417964B2/en active Active
- 2008-09-25 CN CN2008101785140A patent/CN101426012B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9418027B2 (en) | 2011-07-18 | 2016-08-16 | Hewlett Packard Enterprise Development Lp | Secure boot information with validation control data specifying a validation technique |
CN103945348A (zh) * | 2014-04-25 | 2014-07-23 | 长沙市梦马软件有限公司 | 一种非对称密钥短信加密方法和系统 |
CN106599723A (zh) * | 2016-12-19 | 2017-04-26 | 武汉斗鱼网络科技有限公司 | 一种文件加密方法及装置、文件解密方法及装置 |
CN106599723B (zh) * | 2016-12-19 | 2020-03-17 | 武汉斗鱼网络科技有限公司 | 一种文件加密方法及装置、文件解密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101426012B (zh) | 2012-05-16 |
US8417964B2 (en) | 2013-04-09 |
US20090138699A1 (en) | 2009-05-28 |
JP4993733B2 (ja) | 2012-08-08 |
JP2009087035A (ja) | 2009-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101426012B (zh) | 软件模块管理装置 | |
US11240222B2 (en) | Registry apparatus, agent device, application providing apparatus and corresponding methods | |
US11076290B2 (en) | Assigning an agent device from a first device registry to a second device registry | |
CN103714633B (zh) | 一种安全生成传输密钥的方法及pos终端 | |
US20190044957A1 (en) | Registry apparatus, agent device, application providing apparatus and corresponding methods | |
CN105095696B (zh) | 对应用程序进行安全认证的方法、系统及设备 | |
US9860235B2 (en) | Method of establishing a trusted identity for an agent device | |
CN101573936B (zh) | 使用可信处理技术的数字版权管理 | |
CN101420427B (zh) | 密码加密模块选择设备 | |
US8417640B2 (en) | Secure license key method and system | |
CN108650082A (zh) | 待验证信息的加密和验证方法、相关装置及存储介质 | |
EP3780484B1 (en) | Cryptographic operation and working key creation method and cryptographic service platform and device | |
CN103679062A (zh) | 智能电表主控芯片和安全加密方法 | |
WO2015056009A1 (en) | Method of establishing a trusted identity for an agent device | |
CN101526985A (zh) | 数字权限管理客户端系统及方法和数字权限管理系统 | |
CA2565508C (en) | Secure license key method and system | |
CN105391540A (zh) | 一种物联网安全系统、互联设备及实现方法 | |
CN105635164B (zh) | 安全认证的方法和装置 | |
CN107409043B (zh) | 基于中央加密的存储数据对产品的分布式处理 | |
CN115914316A (zh) | 区块链的物流数据传输方法及可信物联网系统 | |
CN102770869B (zh) | 计算资源的安全执行 | |
CN101452536B (zh) | 应用于智能集装箱数据通讯的加密方法 | |
JP2008176741A (ja) | クライアント端末、サービス提供サーバ、サービス提供システム、制御方法、およびサービス提供方法 | |
CN115270159A (zh) | 一种区块链的智能合约调用方法、装置设备及存储介质 | |
Cho et al. | Authentication method for privacy protection in smart grid 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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Kanagawa Co-patentee after: Yokosuka Telecom Research Park, Inc. Patentee after: Toshiba Digital Solutions Ltd Address before: Tokyo, Japan, Japan Co-patentee before: Yokosuka Telecom Research Park, Inc. Patentee before: Toshiba Solutions Corporation |