CN100571123C - 用于实现应用系统与安全芯片进行交互的装置及方法 - Google Patents

用于实现应用系统与安全芯片进行交互的装置及方法 Download PDF

Info

Publication number
CN100571123C
CN100571123C CNB2005100636056A CN200510063605A CN100571123C CN 100571123 C CN100571123 C CN 100571123C CN B2005100636056 A CNB2005100636056 A CN B2005100636056A CN 200510063605 A CN200510063605 A CN 200510063605A CN 100571123 C CN100571123 C CN 100571123C
Authority
CN
China
Prior art keywords
module
instruction
chip
execution result
security
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.)
Active
Application number
CNB2005100636056A
Other languages
English (en)
Other versions
CN1703000A (zh
Inventor
尹萍
韦卫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CNB2005100636056A priority Critical patent/CN100571123C/zh
Publication of CN1703000A publication Critical patent/CN1703000A/zh
Application granted granted Critical
Publication of CN100571123C publication Critical patent/CN100571123C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种用于实现应用系统与安全芯片进行交互的装置,该装置包括安全服务提供模块、安全核心服务模块和芯片驱动库。由于该装置采用了分层的结构,因而达到了允许不同开发商定制不同的驱动特性的目的,而且还支持不同开发商开发的上层软件栈间的互操作。本发明还公开了一种用于实现应用系统与安全芯片进行交互的方法,通过安全服务提供模块、安全核心服务模块和芯片驱动库实现对安全芯片的调用,由于安全服务提供模块可以被安装在具有安全芯片的主机上也可以被安装在不具有安全芯片的主机上,因此使应用系统与安全芯片之间实现了远程调用,且每一安全芯片可支持由多个用户共同使用。再有,密钥数据库的存在使安全芯片能够存放更多的密钥。

Description

用于实现应用系统与安全芯片进行交互的装置及方法
技术领域
本发明安全芯片的管理技术领域,特别是指一种用于实现应用系统与安全芯片进行交互的装置及方法。
背景技术
当今社会已进入信息化时代,计算机网络已逐渐应用于社会各个领域,伴随着国民经济信息化进程的推进和电子商务等网络新业务的兴起,社会对计算机网络的依赖程度越来越高。信息时代呼唤信息安全,而对数据进行加密是保护数据免受非法访问的常用方法。
目前,利用硬件进行密钥生成和加解密的操作具有速度快,不易篡改等优点,已经得到了广泛的应用。与插拔式硬件相比,主板固化安全芯片能够在提供密码学运算的同时认证平台身份;另外,安全芯片本身还能够提供非易失存储空间对重要数据进行纪录。
目前安全芯片的管理接口通常在驱动程序之上以动态链接库的形式提供一组函数接口,即由安全芯片管理函数库构成安全芯片的接口,参见图1,图1所示为现有的实现应用系统与安全芯片进行交互的装置结构示意图。应用系统只能调用本地的安全芯片管理函数库,由安全芯片管理函数库调用芯片驱动模块驱动安全芯片执行操作,相应地,安全芯片将执行结果通过芯片驱动模块和安全芯片管理函数库返回给应用系统。从而实现应用系统与安全芯片的交互。根据现有的交互机制,远程访问安全芯片很不安全,而且现有的应用系统与安全芯片进行交互的装置也根本没有提供远程访问的接口。
由此可以看出,现有的实现应用系统与安全芯片进行交互的装置是基于单层的管理函数库实现的,而其存在以下缺陷:
1)不支持不同开发商的驱动特性。
2)安全芯片不能被远程访问。因为远程访问很不安全,而且现有的交互的装置不支持远程访问。
3)由于只能是具有安全芯片的主机才能实现对安全芯片的访问,因而每一安全芯片只能由少数几个用户使用,如果同一安全芯片的访问权限被多个用户共享,其秘密信息不再安全。
4)安全芯片内有限的存储空间决定了其能够存放的密钥的个数有限。
发明内容
有鉴于此,本发明的一个目的在于提供一种用于实现应用系统与安全芯片进行交互的装置,以支持不同开发商定制不同驱动特性。本发明的另一目的在于提供一种用于实现应用系统与安全芯片进行交互的方法,使安全芯片既可以实现本地访问还能够实现远程访问。
为达到上述目的,本发明的技术方案是这样实现的:
一种用于实现应用系统与安全芯片进行交互的装置,该装置包括安全服务提供模块,安全核心服务模块和芯片驱动库,其中,
所述安全服务提供模块,用于接收应用系统的操作指令,确定待连接的安全核心服务模块,向确定的安全核心服务模块发送操作指令,或者,将来自安全核心服务模块的指令执行结果返回给应用系统;
所述安全核心服务模块,位于安全服务提供模块与芯片驱动库之间,对接收到的指令编码后,向芯片驱动库发送编码后的指令,或者,接收来自芯片驱动库的指令执行结果信息,对接收到信息进行解码,将解码后的指令执行结果返回给安全服务提供模块;
所述芯片驱动库,位于安全核心服务模块与安全芯片之间,接收来自安全核心服务模块的指令,驱动安全芯片执行指令所指示的操作,或者,给安全核心服务模块返回安全芯片的执行结果信息。
较佳地,所述安全服务提供模块内包含上下文管理模块、策略对象管理模块、操作对象管理模块及芯片对象管理模块;
所述上下文管理模块,用于接收应用系统的对象创建指令,创建上下文对象,并将创建结果返回给应用系统;或者,接收来自应用系统的连接指令,连接应用系统指定的安全核心服务模块,并将连接结果返回给应用系统;或者,上下文管理模块内的上下文对象创建与操作指令相对应的操作对象及与该操作对象相关联的策略对象,或创建与设备状态管理指令相对应的芯片对象及与该芯片对象相关联的策略对象,并将创建结果返回给应用系统;
所述策略对象管理模块,用于接收应用系统设置的与某个策略对象相关联的授权信息,保存并管理已创建的策略对象及与该策略对象相关联的授权信息;
所述操作对象管理模块,用于保存并管理已创建的操作对象,接收来自应用系统的操作指令,计算操作指令认证码,向确定的安全核心服务模块发送包含指令认证操作码的操作指令,或者,接收来自安全核心服务模块的指令执行结果,对指令执行结果验证成功后,将指令执行结果返回给应用系统;
所述芯片对象管理模块,用于保存并管理已创建的芯片对象,接收来自应用系统的改变设备状态设备管理指令,计算指令认证操作码,向确定的安全核心服务模块发送包含指令认证操作码的改变设备状态指令,或者,接收来自安全核心服务模块的指令执行结果,对指令执行结果验证成功后,将指令执行结果返回给应用系统;或者,
所述芯片对象管理模块,接收来自应用系统的不改变设备状态设备管理指令,向确定的安全核心服务模块发送接收到的指令,或者,接收来自安全核心服务模块的指令执行结果,指令执行结果返回给应用系统。
较佳地,所述安全核心服务模块包括授权操作模块、指令操作模块和设备操作模块。
所述授权操作模块,用于接收来自操作对象管理模块或芯片对象管理模块的授权会话创建请求,将接收到的请求编码后发送给芯片驱动库,或者,接收来自芯片驱动库的创建授权会话的执行结果信息,对接收到的信息进行解码,获取本次授权会话中用于计算认证码的认证码计算参数,并将所获取的认证码计算参数返回给操作对象管理模块或芯片对象管理模块;
所述指令操作模块,用于接收来自操作对象管理模块的操作指令,将接收到的操作指令编码后发送给芯片驱动库,或者,接收来自芯片驱动库的指令执行结果信息,对接收到的信息进行解码,获取本次指令执行结果及指令执行结果认证码,并将所获取指令执行结果及指令执行结果认证码返回给操作对象管理模块;
所述设备操作模块,用于接收来自芯片对象管理模块的改变设备状态设备管理指令或不改变设备状态设备管理指令,将接收到的指令编码后发送给芯片驱动库,或者,接收来自芯片驱动库的指令执行结果信息,对接收到的信息进行解码,获取包含指令执行结果认证码的指令执行结果或不包含指令执行结果认证码的指令执行结果,并将所获取的信息返回给芯片对象管理模块。
较佳地,所述操作指令为改变设备状态的设备管理指令或不改变设备状态的设备管理指令时,所述操作对象为芯片对象,与所述操作对象相对应的授权信息为安全芯片所有者授权信息。
较佳地,所述操作指令为密钥管理指令,所述操作对象为密钥对象,与所述操作对象相对应的授权信息为密钥授权信息,所述操作对象管理模块包括密钥对象管理模块,所述指令操作模块包括密钥操作模块。
较佳地,所述操作指令为密码操作指令,所述操作对象为密钥对象和加密数据对象或所述操作对象为密钥对象和哈希对象,所述操作对象管理模块包括加密数据对象管理模块或哈希对象管理模块,当所述操作对象管理模块包括加密数据对象管理模块时,与所述操作对象相对应的授权信息为密钥授权信息和加密数据授权信息,当所述操作对象管理模块包括哈希对象管理模块时,与所述操作对象相对应的授权信息为密钥授权信息,所述指令操作模块包括密码操作模块。
较佳地,所述安全服务提供模块内进一步包含寄存器对象管理模块,所述安全核心服务模块内进一步包含寄存器操作模块,其中,
所述寄存器对象管理模块,用于接收来自应用系统的寄存器操作指令,向确定的安全核心服务模块内的寄存器操作模块发送操作指令,或者,将来自寄存器操作模块的寄存器指令操作结果返回给应用系统;
所述寄存器操作模块,用于将接收到的指令编码后发送给芯片驱动库,或者,接收芯片驱动库返回的执行结果信息,将接收到的信息解码后获取寄存器指令操作结果,并将所获取的寄存器指令操作结果返回给寄存器对象管理模块。
较佳地,所述安全核心服务模块内进一步包含事件管理模块,
所述事件管理模块,用于接收来自寄存器对象管理模块的调用,记录寄存器操作事件。
较佳地,该管理系统进一步包括物理存在开关,在物理存在开关为“开”的状态时,所述安全芯片执行来自应用系统创建安全芯片所有者及存储根密钥或者改变设备状态的操作。
一种用于实现应用系统与安全芯片进行交互的方法,在调用安全芯片的主机内设置安全服务提供模块,在具有安全芯片的主机内设置安全核心服务模块和芯片驱动库,该方法还包括以下步骤:
a、安全服务提供模块接收到应用系统的操作指令后,向已建立连接的安全核心服务模块发送操作指令;
b、安全核心服务模块对接收到的指令进行编码,经芯片驱动库向安全芯片发送编码后的操作指令,安全芯片执行指令所指示的操作,并经芯片驱动库给安全核心服务模块返回执行的结果信息;
c、安全核心服务模块对接收到的信息进行解码,获取安全芯片执行指令结果,将所获取的指令执行结果返回给安全服务提供模块;
d、安全服务提供模块从安全核心服务模块返回的信息中获取指令执行结果,并将所获取的执行结果返回给应用系统。
较佳地,步骤a所述安全服务提供模块与安全核心服务模块建立连接的方法为:
安全服务提供模块接收来自应用系统的包含待连接安全核心服务模块地址的连接指令,根据该指令中的地址与该指定的安全核心服务模块建立连接。
较佳地,步骤a所述安全服务提供模块向已连接的安全核心服务模块发送操作指令的方法为:
安全服务提供模块获取操作指令认证数据,向确定的安全核心服务模块发送包含操作指令认证数据的操作指令。
较佳地,安全服务提供模块获取操作指令认证数据的方法为:
安全服务提供模块根据接收到的操作指令,以及已设置的与操作指令相对应的操作对象所关联的策略对象信息,获得该策略对象的授权信息;
安全服务提供模块向安全核心服务模块发送创建授权会话请求;安全核心服务模块将创建授权会话请求编码后经芯片驱动库传递给安全芯片,由安全芯片执行创建授权会话操作,生成本次授权会话的会话句柄和现时标志,并将所生成的信息经芯片驱动库返回给安全核心服务模块;安全核心服务模块对接收到的信息进行解码,获取本次认证码计算参数,并将所获取的本次认证码计算参数返回安全服务提供模块;安全服务提供模块从安全核心模块返回的信息中获取本次认证码计算参数;
安全服务提供模块获取认证码计算参数,应用所述认证码计算参数以及授权信息计算第一操作指令认证码,将认证码计算参数和第一操作指令认证码作为操作指令认证数据;
所述认证码计算参数为会话句柄和现时标志,或者所述认证码计算参数为现时标志。
较佳地,步骤b所述安全芯片执行指令所指示操作的过程为:
安全芯片从接收到的操作指令认证数据中获取认证码计算参数和操作指令认证码,应用认证码计算参数和已加载的授权信息计算第二操作指令认证码,验证计算出的第二操作指令认证码与接收到的第一操作指令认证码是否完全一致后,执行操作指令所指示的操作。
较佳地,步骤b所述安全芯片经芯片驱动库给安全核心服务模块返回执行结果信息的过程为:
安全芯片应用认证码计算参数和已加载的授权信息对指令执行结果进行计算,获得第一指令执行结果认证码,将认证码计算参数和第一指令执行结果认证码作为指令结果认证数据,通过芯片驱动库给安全核心服务模块返回包含指令结果认证数据的指令执行结果信息。
较佳地,步骤d所述安全服务提供模块指令执行结果返回给应用系统的过程为:
安全服务提供模块从接收到的指令执行结果信息中获取指令执行结果,从指令结果认证数据内获取认证码计算参数和第一指令执行结果认证码,应用认证码计算参数及授权信息对指令执行结果计算第二指令执行结果认证码,判断该第二指令执行结果认证码与接收到的第一指令执行结果认证码相同后,再将执行结果返回给应用系统。
较佳地,所述操作指令为改变设备状态的设备管理指令,所述授权信息为安全芯片所有者授权信息;所述操作对象为芯片对象;
所述操作指令为密钥管理指令,所述操作对象为密钥对象,所述授权信息为密钥授权信息;
所述操作指令为密码操作指令,所述操作对象为密钥对象和加密数据对象,所述授权信息为密钥授权信息和加密数据授权信息,或所述操作对象为密钥对象和哈希对象,所述授权信息为密钥授权信息。
较佳地,在执行过密钥管理指令后,该方法进一步包括:应用系统发送注册密钥指令或注销密钥指令,安全服务提供模块或安全核心服务模块根据接收到的指令在密钥数据库中注册或注销密钥。
较佳地,步骤a所述操作指令为不改变设备状态的指令,且该不改变设备状态的指令包括但不限于寄存器操作指令、芯片自检指令、获取自检结果指令、获取状态信息指令。
较佳地,当操作指令为寄存器操作指令时,该方法进一步包括,安全核心服务模块记录寄存器操作事件。
较佳地,所述调用安全芯片的主机为访问主机,所述访问主机与具有安全芯片的主机为相同的主机或不同的主机。
本发明提供的实现应用系统与安全芯片进行交互的装置包括安全服务提供模块、安全核心服务模块和芯片驱动库,由于该装置采用了分层的结构,因而达到了允许不同开发商定制不同的驱动特性的目的,而且还支持不同开发商开发的上层软件栈间的互操作。本发明提供的实现应用系统与安全芯片进行交互的方法,通过安全服务提供模块、安全核心服务模块和芯片驱动库实现对安全芯片的调用,由于安全服务提供模块可以被安装在具有安全芯片的主机上也可以被安装在不具有安全芯片的主机上,因此使应用系统与安全芯片之间实现了远程调用,且该远程调用可以是管理指令也可以是密码操作指令。进而每一安全芯片可支持由多个用户共同使用。再有,密钥数据库的存在使安全芯片能够存放更多的密钥。
附图说明
图1所示为现有的实现应用系统与安全芯片进行交互的装置结构示意图;
图2所示为应用本发明的用于实现应用系统与安全芯片进行交互的装置结构示意图;
图3所示为图2所示装置内部结构细化示意图;
图4所示为实现应用系统与安全芯片交互的一实施例的流程示意图;
图5所示为实现应用系统与安全芯片交互的另一实施例的流程示意图。
具体实施方式
下面结合附图对本发明再做进一步地详细说明。
通常,在应用系统首次使用安全芯片时,将应用系统与安全芯片之间的物理存在开关设置为“开”,在此状态下,应用系统直接创建安全芯片所有者及存储根密钥的信息,该安全芯片所有者信息和存储根密钥均被保存在安全芯片内,之后,会将物理存在开关设置为“关”的状态。
而且,创建安全芯片所有者的同时还需进一步设置安全芯片所有者授权信息,以及存储根密钥的根密钥授权信息。当应用系统要安全芯片执行重要的指令,如设备管理指令、密钥管理指令或密码操作指令等,所述授权信息用于验证访问者的权限以及所传输的数据在途中是否被篡改过。当应用系统要安全芯片执行非重要的指令,如寄存器操作指令等,则不需要授权信息的验证操作。
再有,不仅仅是清除安全芯片所有者及存储根密钥操作的操作需要在物理存在开关为“开”的状态,其他的一些改变设备状态的操作,如enable/disable,active/deactive等指令,也可以通用验证物理存在开关的状态来执行,当然,上述改变设备状态的操作也可以通过验证安全芯片所有者授权信息的方式来执行。
也就是说,上述应用系统直接创建安全芯片所有者及存储根密钥或改变设备状态的操作,既可以通过本发明所述的用于实现应用系统与安全芯片进行交互的装置实现创建,也可以通过BIOS接口等方式实现创建。
图2所示为应用本发明的用于实现应用系统与安全芯片进行交互的装置结构示意图。在该装置包括安全服务提供模块210,安全核心服务模块220和芯片驱动库230。其中,安全服务提供模块210位于TSS的最上层,用于接收应用系统的操作指令,确定待连接的安全核心服务模块220,向确定的安全核心服务模块220发送操作指令,或者,将来自安全核心服务模块220的指令执行结果返回给应用系统;安全核心服务模块220位于安全服务提供模块210与芯片驱动库230之间,对接收到的指令串行编码后,向芯片驱动库230发送编码后的指令,或者,接收来自芯片驱动库230的指令执行结果信息,对接收到信息进行解码,将解码后的指令执行结果返回给安全服务提供模块210;芯片驱动库230位于安全核心服务模块220与芯片驱动模块240之间,接收来自安全核心服务模块220的指令,通过驱动芯片驱动模块240来驱动安全芯片250执行指令所指示的操作,或者,给安全核心服务模块220返回安全芯片250的执行结果信息。
至此,应用系统与安全芯片之间实现了交互。由于本发明所述装置采用了分层的结构,因而达到了允许不同开发商定制不同的驱动特性的目的,而且还可以支持不同开发商开发的上层软件栈间的互操作。
上述用于实现应用系统与安全芯片进行交互的装置内还可以进一步包括密钥数据库260,安全服务提供模块210或安全核心服务模块220接收来自应用系统的指令,将安全芯片250已生成的密钥注册到密钥数据库260中或注销密钥数据库中的密钥。
从软硬件角度看,安全服务提供模块210、安全核心服务模块220、芯片驱动库230和芯片驱动模块240属于软件层,安全芯片250属于硬件层。软件层中的芯片驱动模块240属于内核模式,其它模块属于用户模式。用户模式进程中安全服务提供模块210属于用户进程,安全核心服务模块220和芯片驱动库230属于系统进程。
上述安全服务提供模块210位于访问主机内,安全核心服务模块220和芯片驱动库230位于具有安全芯片250的主机内,且访问主机和具有安全芯片250的主机可以是同一主机,也可以是不同的主机。
图3所示为图2所示装置内部结构细化示意图。在安全服务提供模块310内包含上下文管理模块311、策略对象管理模块312、操作对象管理模块313和芯片对象管理模块315,在安全核心服务模块320包括授权操作模块321、指令操作模块322和设备操作模块325。
所述上下文管理模块311用于接收应用系统的对象创建指令,创建上下文对象,并将创建结果返回给应用系统;或者,接收来自应用系统的连接指令,连接应用系统指定的安全核心服务模块,并将连接结果返回给应用系统;或者,上下文管理模块311内的上下文对象创建与操作指令相对应的操作对象,及与该操作对象相关联的策略对象,或创建与设备状态管理指令相对应的芯片对象及与该芯片对象相关联的策略对象,并将创建结果返回给应用系统;该设备状态管理指令为改变设备状态设备管理指令或不改变设备状态设备管理指令;
所述策略对象管理模块312用于接收应用系统设置的与某个策略对象相关联的授权信息,保存并管理已创建的策略对象及与该策略对象相关联的授权信息;
所述操作对象管理模块313用于保存并管理已创建的操作对象,接收来自应用系统的操作指令,向安全核心提供模块320内的授权操作模块321发送授权会话创建请求,从授权操作模块321接收本次授权会话的会话句柄和现时标志,从策略对象管理模块312内获取操作对象所对应的授权信息,应用该会话句柄和现时标志以及授权信息,或现时标志和授权信息计算操作指令认证码,向确定的安全核心服务模块320发送操作指令,或者,接收来自安全核心服务模块320的指令执行结果,应用该会话句柄和现时标志以及授权信息,或现时标志和授权信息计算指令操作结果认证码,对指令执行结果认证码验证成功后,将指令执行结果返回给应用系统。
所述芯片对象管理模块315用于保存并管理已创建的芯片对象,接收来自应用系统的改变设备状态设备管理指令,计算指令认证操作码,向确定的安全核心服务模块320发送包含指令认证操作码的改变设备状态指令,或者,接收来自安全核心服务模块320的指令执行结果,对指令执行结果验证成功后,将指令执行结果返回给应用系统;或者,该所述芯片对象管理模块315接收来自应用系统的不改变设备状态设备管理指令,向确定的安全核心服务模块320发送接收到的指令,或者,接收来自安全核心服务模块320的指令执行结果,指令执行结果返回给应用系统。
所述授权操作模块321用于接收来自操作对象管理模块313或芯片对象管理模块315的授权会话创建请求,将接收到的请求编码后发送给芯片驱动库330,或者,接收来自芯片驱动库330的创建授权会话的执行结果信息,对接收到的信息进行解码,获取本次授权会话的会话句柄和现时标志,并将所获取的本次授权会话的会话句柄和现时标志返回给操作对象管理模块313或芯片对象管理模块315;
所述指令操作模块322用于接收来自操作对象管理模块313的操作指令,将接收到的操作指令编码后发送给芯片驱动库330,或者,接收来自芯片驱动库330的指令执行结果信息,对接收到的信息进行解码,获取本次指令执行结果及指令执行结果认证码,并将所获取指令执行结果及指令执行结果认证码返回给操作对象管理模块313。
所述设备操作模块325用于接收来自芯片对象管理模块315的改变设备状态设备管理指令或不改变设备状态设备管理指令,将接收到的指令编码后发送给芯片驱动库,或者,接收来自芯片驱动库的指令执行结果信息,对接收到的信息进行解码,获取包含指令执行结果认证码的指令执行结果,或不包含指令执行结果认证码的指令执行结果,并将所获取的信息返回给芯片对象管理模块315。
所述操作指令为改变设备状态设备管理指令或不改变设备状态设备管理指令,改变设备状态设备管理指令如enable/disable等,不改变设备状态设备管理指令如对安全芯片进行基本控制、获取安全芯片状态数据等,所述操作对象为芯片对象,与所述操作对象相对应的授权信息为安全芯片所有者授权信息。
所述操作指令为密钥管理指令,如产生密钥等,与所述操作对象相对应的授权信息为密钥授权信息,所述操作对象为密钥对象,所述操作对象管理模块313包括密钥对象管理模块313a,所述指令操作模块322包括密钥操作模块322a。
所述操作指令为密码操作指令,如加解密操作等,所述操作对象为密钥对象和加密数据对象或所述操作对象为密钥对象和哈希对象,所述操作对象管理模块313包括加密数据对象管理模块或哈希对象管理模块313b,当所述操作对象管理模块313包括加密数据对象管理模块时,与所述操作对象相对应的授权信息为密钥授权信息和加密数据授权信息,当所述操作对象管理模块313包括哈希对象管理模块时,与所述操作对象相对应的授权信息为密钥授权信息,所述指令操作模块322包括密码操作模块322b。
根据不同的操作指令,操作对象管理模块313内可以包含与不同操作指令相对应的模块,也就是说,在操作对象管理模块313内,既可以只包含密钥对象管理模块313a,也可以只包含加密数据对象管理模块或哈希对象管理模块313b,也可以是同时包含密钥对象管理模块313a,和加密数据对象管理模块或哈希对象管理模块313b,还可以包含其他模块。相应地,在指令操作模块322内,既可以只包含密钥操作模块322a,或只包含密码操作模块322b,也可以是同时包含密钥操作模块322a和密码操作模块322b,还可以包含其他模块。
图3所示安全服务提供模块310内可以进一步包含寄存器对象管理模块314,安全核心服务模块320内可以进一步包含寄存器操作模块323,所述寄存器对象管理模块314用于接收来自应用系统的寄存器操作指令,向确定的安全核心服务模块320内的寄存器操作模块323发送操作指令,或者,将来自寄存器操作模块323的寄存器指令操作结果返回给应用系统;寄存器操作模块323用于将接收到的指令编码后发送给芯片驱动库330,或者,接收芯片驱动库330返回的执行结果信息,将接收到的信息解码后获取寄存器指令操作结果,并将所获取的寄存器指令操作结果返回给寄存器对象管理模块314。
在图3所示的安全核心服务模块320内还可以进一步包含事件管理模块324,该事件管理模块324用于接收来自寄存器对象管理模块314的调用,记录寄存器操作事件。
安全服务提供模块310还可以有实现其他功能的模块。
根据图3所示装置,应用系统通过本发明所述的用于实现应用系统与安全芯片进行交互的装置创建安全芯片所有者及存储根密钥时,其创建指令直接通过安全服务提供模块内的芯片对象管理模块313a、安全核心服务模块内的设备操作模块322a、芯片驱动库、芯片驱动模块达到安全芯片,安全芯片检验物理存在开关为“开”的状态后执行所述创建操作。在实际操作中,物理存在开关的状态也可以是通过一个状态位实现的。
下面具体说明对应用系统与安全芯片进行交互的实现方法。
图4所示为应用图3所示装置的实现应用系统与安全芯片交互的一实施例的流程示意图。在本实施例中,应用系统所发的操作指令为改变设备状态的设备管理指令,且具体为改变芯片状态的芯片管理指令,与该芯片管理指令相对应的授权信息为安全芯片所有者授权信息,安全服务提供模块所创建的操作对象为芯片对象,安全服务提供模块内的操作对象管理模块中包含芯片对象管理模块,安全核心服务模块内的指令操作模块中包含设备操作模块。
步骤401,安全服务提供模块内的上下文管理模块接收到应用系统的对象创建指令后,创建上下文对象,将创建结果返回给应用系统;所创建的上下文对象保存在上下文管理模块内;
步骤402~404,应用系统向上下文管理模块内的上下文对象发送连接指令,该指令中包含待连接的安全核心服务模块的地址;上下文对象根据指令中的地址与该指定的安全核心服务模块建立连接,并将连接结果返回给应用系统;同时上下文对象创建芯片对象,并将创建结果返回给应用系统,芯片对象保存在芯片对象管理模块内;
步骤405,应用系统向上下文管理模块内的上下文对象发送创建策略对象的指令,上下文对象创建策略对象并将结果返回给应用系统;
步骤406,应用系统向策略对象发送授权信息设置指令,为该策略对象设置安全芯片所有者授权信息,将安全芯片所有者授权信息与该策略对象相关联,将该策略对象与芯片对象关联;
步骤407,应用系统通过上下文对象获取芯片对象,然后向安全服务提供模块内的芯片对象管理模块中的芯片对象发送改变芯片状态的芯片管理指令;
步骤408,芯片对象接收到上述指令后,向已建立连接的安全核心服务模块内的授权操作模块发送创建授权会话的请求;
步骤409,安全核心服务模块内的授权操作模块将创建授权会话请求编码后经芯片驱动库传递给安全芯片;
步骤410,安全芯片创建授权会话,生成本次授权会话的会话句柄和现时标志;所述现时标志为一随机的数据串,用于以后的加解密操作,以保证通信过程的安全。
步骤411,安全芯片将包含本次授权会话的会话句柄和现时标志的执行结果信息经芯片驱动库返回给安全核心服务模块内的授权操作模块;
步骤412,安全核心服务模块内的授权操作模块对接收到的信息进行解码,获取本次授权会话的会话句柄和现时标志,并返回给安全服务提供模块内的芯片对象管理模块;
步骤413,安全服务提供模块内的芯片对象管理模块应用会话句柄、现时标志和安全芯片所有者授权信息对芯片管理指令进行计算,获得第一芯片管理指令认证码;上述会话句柄、现时标志和第一芯片管理指令认证码共同构成指令认证数据;上述安全芯片所有者授权信息是根据预先设置的关联信息,通过操作对象即芯片对象获取与该操作对象对应的策略对象,进而根据该策略对象获取安全芯片所有者授权信息;
上述会话句柄和现时标志可合称为认证码计算参数,本实施例中是应用认证码计算参数中的会话句柄、现时标志和安全芯片所有者授权信息进行认证码的计算,在具体实现时,也可以应用现时标志和安全芯片所有者授权信息进行认证码的计算,即只应用认证码计算参数中的现时标志参与认证码的计算。以下类似步骤同。
步骤414,安全服务提供模块内的芯片对象管理模块向安全核心服务模块内的设备操作模块发送改变芯片状态的芯片管理指令请求,该请求中包含步骤413所述的指令认证数据;
步骤415,安全核心服务模块内的设备操作模块将接收到的请求编码后经芯片驱动库传递给安全芯片;
步骤416,安全芯片验证第一芯片管理指令认证码;
具体的验证方法为:安全芯片从接收到的信息中获取芯片管理指令、会话句柄及现时标志,应用会话句柄、现时标志及已加载到自身的安全芯片所有者信息计算第二芯片管理指令认证码,判断该计算出的第二芯片管理指令认证码与接收到的第一芯片管理指令认证码是否相同,如果相同,则通过验证,并继续执行步骤417,否则拒绝执行芯片管理指令所指示的操作,直接通过芯片驱动库、安全核心服务模块及安全服务提供模块给应用系统返回错误信息,结束。
上述安全芯片所有者授权信息是在创建安全芯片所有者的同时创建的,并且,在加载安全芯片所有者时就同时将芯片所有者授权信息加载到安全芯片内。
步骤417,安全芯片执行设备操作;
步骤418,安全芯片应用会话句柄、现时标志和已加载到自身的安全芯片所有者授权信息对指令执行结果进行计算,获得第一指令执行结果认证码,并且将会话句柄、现时标志和第一指令执行结果认证码作为指令结果认证数据;
步骤419,安全芯片将包括指令结果认证数据在内的设备操作执行结果信息,经芯片驱动库返回给安全核心服务模块内的设备操作模块;
步骤420,安全核心服务模块内的设备操作模块对接收到的信息进行解码,获取指令执行结果和指令结果认证数据,并将所获取的指令执行结果和指令结果认证数据返回给安全服务提供模块内的芯片对象管理模块;
步骤421,安全服务提供模块内的芯片对象管理模块验证第一指令执行结果认证码;
具体的验证方法为:安全服务提供模块内的芯片对象管理模块根据接收到信息获取芯片管理指令执行结果和指令结果认证数据,应用会话句柄、现时标志及安全芯片所有者信息计算第二指令执行结果认证码,判断该计算出的第二指令执行结果认证码与接收到的第一指令执行结果认证码是否相同,如果相同,则通过验证,并继续执行步骤422,否则拒绝执行芯片管理指令所指示的操作,直接给应用系统返回错误信息,结束。
步骤422,安全服务提供模块将设备操作结果返回给应用系统。
至此,实现了应用系统与安全芯片之间的交互。上述流程是针对应用系统第一次发送命令的,如果是非第一次,即安全服务提供模块内已存在上下文对象、芯片对象及相应的策略对象,且已存在连接,则不需要再执行创建及连接操作,直接从步骤407开始执行上述流程即可。
以上所述流程仅为一实施例,具体的交互并仅不限于上述指令,还可以是密钥管理指令,密码操作指令等。
如果上述操作指令为密钥管理指令,则步骤402~404中,上下文对象将根据已存在的存储根密钥或存储根密钥的衍生密钥创建密钥对象;步骤406中的授权信息为密钥授权信息,步骤406中所加载的信息为用于创建密钥对象的父密钥,即将已存在的存储根密钥或存储根密钥的衍生密钥,和已存在的存储根密钥或存储根密钥的衍生密钥的密钥授权信息,或者,上下文对象从密钥数据库中直接获取已注册的包含密钥授权信息的密钥数据,并将该获取的密钥数据加载到安全芯片内,上述被创建的密钥对象或与获取的密钥数据相对应的密钥对象,保存在安全服务提供模块中的密钥对象管理模块内。相应地,图4所示实施例中所有芯片对象管理模块所执行的操作均由密钥对象管理模块来执行,其整体的操作流程与芯片对象管理模块的操作流程是一致的,仅具体实际操作的对象不同。再有,由于操作指令的不一样,因此,在步骤418中,安全芯片执行的是密钥管理操作。同样地,如果安全服务提供模块内已存在上下文对象、相应的密钥对象及策略对象,且已存在连接,则不需要再执行创建及连接操作,直接从步骤407开始执行即可。
在执行过密钥管理指令后,应用系统还可以发送注册密钥指令或注销密钥指令,该指令中包含有是由安全服务提供模块执行操作还是由安全核心服务模块执行操作的信息,以指示安全服务提供模块或安全核心服务模块在密钥数据库中注册或注销密钥。如果指示安全服务提供模块执行操作,则由安全服务模块内的密钥对象管理模块执行注册或注销的操作,如果指示安全核心服务模块执行操作,则由安全核心服务模块内的密钥操作模块执行注册或注销的操作。
如果上述操作指令为密码操作指令,则步骤402~404中,上下文对象将根据已存在的存储根密钥或存储根密钥的衍生密钥创建密钥对象,以及加密数据对象或哈希对象,加密数据对象保存在安全服务提供模块中的加密数据对象管理模块内,哈希对象保存在在安全服务提供模块中的哈希对象管理模块内,由于加密数据对象需要设置授权信息,哈希对象不需要设置授权信息,因此,如果是由加密数据对象管理模块执行相应操作,则步骤406中的授权信息为密钥授权信息和加密数据授权信息,如果是由哈希对象管理模块执行相应操作,则步骤406中所设置的授权信息为密钥授权信息。步骤406中所加载的信息为用于创建密钥对象的父密钥,即已存在的存储根密钥或存储根密钥的衍生密钥,和已存在的存储根密钥或存储根密钥的衍生密钥的密钥授权信息,或者,上下文对象从密钥数据库中直接获取已注册的包含密钥授权信息的密钥数据,并将该获取的密钥数据加载到安全芯片内,如果授权信息中包含加密数据授权信息,则该加密数据授权信息是在加密数据被加载到安全芯片内时加载进去的。上述被创建的密钥对象或与获取的密钥数据相对应的密钥对象,保存在安全服务提供模块中的密钥对象管理模块内。相应地,图4所示实施例中所有芯片对象管理模块所执行的操作均由加密数据对象管理模块或哈希对象管理模块来执行,其整体的操作流程与芯片对象管理模块的操作流程是一致的,仅具体实际操作的对象不同。再有,由于操作指令的不一样,因此,在步骤418中,安全芯片执行的是密码操作。同样地,如果安全服务提供模块内已存在上下文对象、密码对象及相应的策略对象,且已建立连接,则不需要再执行创建及连接操作,直接从步骤407开始执行即可。
图5所示为实现应用系统与安全芯片进行交互的另一实施例的流程示意图。在本实施例中,应用系统所发的为寄存器操作指令,安全服务提供模块内包含寄存器对象管理模块,安全核心服务模块内包含寄存器操作模块。
步骤501,安全服务提供模块内的上下文管理模块接收到应用系统的对象创建指令后,创建上下文对象,将创建结果返回给应用系统;所创建的上下文对象保存在上下文管理模块内;
步骤502~504,应用系统向上下文管理模块内的上下文对象发送连接指令,该指令中包含待连接的安全核心服务模块的地址,上下文对象根据指令中的地址与该指定的安全核心服务模块建立连接,并将连接结果返回给应用系统;同时上下文对象创建寄存器对象,寄存器对象保存在寄存器对象管理模块内,将创建结果返回给应用系统;
步骤505,应用系统向安全服务提供模块内的寄存器对象管理模块中的寄存器对象发送寄存器操作指令;该指令中包含待读/写寄存器的编号;
步骤506,寄存器对象向安全核心服务模块内的寄存器操作模块发送寄存器操作指令,该指令中包含待读/写的寄存器的编号;
步骤507,安全核心服务模块内的寄存器操作模块将寄存器操作请求编码后经芯片驱动库传递给安全芯片;
步骤508,安全芯片根据接收到的待读/写的寄存器的编号,读/写指定寄存器内容;
步骤509,安全芯片将执行结果经芯片驱动库返回给安全核心服务模块内的寄存器操作模块;
步骤510,安全核心服务模块内的寄存器操作模块对接收到的寄存器操作执行结果信息进行解码,获取寄存器操作执行结果,并将所获取的寄存器操作执行结果返回给安全服务提供模块内的寄存器对象管理模块;
步骤511,安全服务提供模块中的寄存器对象管理模块将寄存器操作结果返回给应用系统。
至此,实现了应用系统读/写寄存器的操作。上述流程是针对应用系统第一次发送命令的,如果是非第一次,即安全服务提供模块内已存在上下文对象及相应的寄存器对象,且已存在连接,则不需要再执行创建及连接操作,直接从步骤505开始执行上述流程即可。
针对图5所示实施例,上述安全核心服务模块内还可以进一步包含事件管理模块,在步骤504中,该事件管理模块接收来自寄存器对象管理模块的调用,记录寄存器操作事件。
安全芯片与芯片驱动库之间的交互是经芯片驱动模块实现的,由于实现方式与现有技术相同,因此在上述所有涉及安全芯片与芯片驱动库的交互步骤中,均省略了芯片驱动模块的描述。
图5所示流程是针对寄存器操作指令,而一些不改变设备状态的设备管理指令,如芯片自检/获取自检结果/获取状态信息等指令,也应用上述流程,只是具体执行的实体是由芯片对象管理模块内的芯片对象以及相应的设备操作模块来执行的。上述寄存器操作指令和芯片自检等指令可统称为不改变设备状态的指令,也就是说,凡是涉及不改变设备状态的指令,均可采用图5所示流程,所不同的是根据具体指令由与该指令对应的模块来执行即可。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (21)

1、一种用于实现应用系统与安全芯片进行交互的装置,其特征在于,该装置包括安全服务提供模块,安全核心服务模块和芯片驱动库,其中,
所述安全服务提供模块,用于接收应用系统的操作指令,确定待连接的安全核心服务模块,向确定的安全核心服务模块发送操作指令,或者,将来自安全核心服务模块的指令执行结果返回给应用系统;
所述安全核心服务模块,位于安全服务提供模块与芯片驱动库之间,对接收到的指令编码后,向芯片驱动库发送编码后的指令,或者,接收来自芯片驱动库的指令执行结果信息,对接收到信息进行解码,将解码后的指令执行结果返回给安全服务提供模块;
所述芯片驱动库,位于安全核心服务模块与安全芯片之间,接收来自安全核心服务模块的指令,驱动安全芯片执行指令所指示的操作,或者,给安全核心服务模块返回安全芯片的执行结果信息。
2、根据权利要求1所述的装置,其特征在于,所述安全服务提供模块内包含上下文管理模块、策略对象管理模块、操作对象管理模块及芯片对象管理模块;
所述上下文管理模块,用于接收应用系统的对象创建指令,创建上下文对象,并将创建结果返回给应用系统;或者,接收来自应用系统的连接指令,连接应用系统指定的安全核心服务模块,并将连接结果返回给应用系统;或者,上下文管理模块内的上下文对象创建与操作指令相对应的操作对象及与该操作对象相关联的策略对象,或创建与设备状态管理指令相对应的芯片对象及与该芯片对象相关联的策略对象,并将创建结果返回给应用系统;
所述策略对象管理模块,用于接收应用系统设置的与某个策略对象相关联的授权信息,保存并管理已创建的策略对象及与该策略对象相关联的授权信息;
所述操作对象管理模块,用于保存并管理已创建的操作对象,接收来自应用系统的操作指令,计算操作指令认证码,向确定的安全核心服务模块发送包含指令认证操作码的操作指令,或者,接收来自安全核心服务模块的指令执行结果,对指令执行结果验证成功后,将指令执行结果返回给应用系统;
所述芯片对象管理模块,用于保存并管理已创建的芯片对象,接收来自应用系统的改变设备状态设备管理指令,计算指令认证操作码,向确定的安全核心服务模块发送包含指令认证操作码的改变设备状态指令,或者,接收来自安全核心服务模块的指令执行结果,对指令执行结果验证成功后,将指令执行结果返回给应用系统;或者,
所述芯片对象管理模块,接收来自应用系统的不改变设备状态设备管理指令,向确定的安全核心服务模块发送接收到的指令,或者,接收来自安全核心服务模块的指令执行结果,指令执行结果返回给应用系统。
3、根据权利要求2所述的装置,其特征在于,所述安全核心服务模块包括授权操作模块、指令操作模块和设备操作模块。
所述授权操作模块,用于接收来自操作对象管理模块或芯片对象管理模块的授权会话创建请求,将接收到的请求编码后发送给芯片驱动库,或者,接收来自芯片驱动库的创建授权会话的执行结果信息,对接收到的信息进行解码,获取本次授权会话中用于计算认证码的认证码计算参数,并将所获取的认证码计算参数返回给操作对象管理模块或芯片对象管理模块;
所述指令操作模块,用于接收来自操作对象管理模块的操作指令,将接收到的操作指令编码后发送给芯片驱动库,或者,接收来自芯片驱动库的指令执行结果信息,对接收到的信息进行解码,获取本次指令执行结果及指令执行结果认证码,并将所获取指令执行结果及指令执行结果认证码返回给操作对象管理模块;
所述设备操作模块,用于接收来自芯片对象管理模块的改变设备状态设备管理指令或不改变设备状态设备管理指令,将接收到的指令编码后发送给芯片驱动库,或者,接收来自芯片驱动库的指令执行结果信息,对接收到的信息进行解码,获取包含指令执行结果认证码的指令执行结果或不包含指令执行结果认证码的指令执行结果,并将所获取的信息返回给芯片对象管理模块。
4、根据权利要求3所述的装置,其特征在于,所述操作指令为改变设备状态的设备管理指令或不改变设备状态的设备管理指令时,所述操作对象为芯片对象,与所述操作对象相对应的授权信息为安全芯片所有者授权信息。
5、根据权利要求3所述的装置,其特征在于,所述操作指令为密钥管理指令,所述操作对象为密钥对象,与所述操作对象相对应的授权信息为密钥授权信息,所述操作对象管理模块包括密钥对象管理模块,所述指令操作模块包括密钥操作模块。
6、根据权利要求3所述的装置,其特征在于,所述操作指令为密码操作指令,所述操作对象为密钥对象和加密数据对象或所述操作对象为密钥对象和哈希对象,所述操作对象管理模块包括加密数据对象管理模块或哈希对象管理模块,当所述操作对象管理模块包括加密数据对象管理模块时,与所述操作对象相对应的授权信息为密钥授权信息和加密数据授权信息,当所述操作对象管理模块包括哈希对象管理模块时,与所述操作对象相对应的授权信息为密钥授权信息,所述指令操作模块包括密码操作模块。
7、根据权利要求3所述的装置,其特征在于,所述安全服务提供模块内进一步包含寄存器对象管理模块,所述安全核心服务模块内进一步包含寄存器操作模块,其中,
所述寄存器对象管理模块,用于接收来自应用系统的寄存器操作指令,向确定的安全核心服务模块内的寄存器操作模块发送操作指令,或者,将来自寄存器操作模块的寄存器指令操作结果返回给应用系统;
所述寄存器操作模块,用于将接收到的指令编码后发送给芯片驱动库,或者,接收芯片驱动库返回的执行结果信息,将接收到的信息解码后获取寄存器指令操作结果,并将所获取的寄存器指令操作结果返回给寄存器对象管理模块。
8、根据权利要求7所述的装置,其特征在于,所述安全核心服务模块内进一步包含事件管理模块,
所述事件管理模块,用于接收来自寄存器对象管理模块的调用,记录寄存器操作事件。
9、根据权利要求1所述的装置,其特征在于,该管理系统进一步包括物理存在开关,在物理存在开关为“开”的状态时,所述安全芯片执行来自应用系统创建安全芯片所有者及存储根密钥或者改变设备状态的操作。
10、一种用于实现应用系统与安全芯片进行交互的方法,其特征在于,在调用安全芯片的主机内设置安全服务提供模块,在具有安全芯片的主机内设置安全核心服务模块和芯片驱动库,该方法还包括以下步骤:
a、安全服务提供模块接收到应用系统的操作指令后,向已建立连接的安全核心服务模块发送操作指令;
b、安全核心服务模块对接收到的指令进行编码,经芯片驱动库向安全芯片发送编码后的操作指令,安全芯片执行指令所指示的操作,并经芯片驱动库给安全核心服务模块返回执行的结果信息;
c、安全核心服务模块对接收到的信息进行解码,获取安全芯片执行指令结果,将所获取的指令执行结果返回给安全服务提供模块;
d、安全服务提供模块从安全核心服务模块返回的信息中获取指令执行结果,并将所获取的执行结果返回给应用系统。
11、根据权利要求10所述的方法,其特征在于,步骤a所述安全服务提供模块与安全核心服务模块建立连接的方法为:
安全服务提供模块接收来自应用系统的包含待连接安全核心服务模块地址的连接指令,根据该指令中的地址与该指定的安全核心服务模块建立连接。
12、根据权利要求10所述的方法,其特征在于,步骤a所述安全服务提供模块向已连接的安全核心服务模块发送操作指令的方法为:
安全服务提供模块获取操作指令认证数据,向确定的安全核心服务模块发送包含操作指令认证数据的操作指令。
13、根据权利要求12所述的方法,其特征在于,安全服务提供模块获取操作指令认证数据的方法为:
安全服务提供模块根据接收到的操作指令,以及已设置的与操作指令相对应的操作对象所关联的策略对象信息,获得该策略对象的授权信息;
安全服务提供模块向安全核心服务模块发送创建授权会话请求;安全核心服务模块将创建授权会话请求编码后经芯片驱动库传递给安全芯片,由安全芯片执行创建授权会话操作,生成本次授权会话的会话句柄和现时标志,并将所生成的信息经芯片驱动库返回给安全核心服务模块;安全核心服务模块对接收到的信息进行解码,获取本次认证码计算参数,并将所获取的本次认证码计算参数返回安全服务提供模块;安全服务提供模块从安全核心模块返回的信息中获取本次认证码计算参数;
安全服务提供模块获取认证码计算参数,应用所述认证码计算参数以及授权信息计算第一操作指令认证码,将认证码计算参数和第一操作指令认证码作为操作指令认证数据;
所述认证码计算参数为会话句柄和现时标志,或者所述认证码计算参数为现时标志。
14、根据权利要求13所述的方法,其特征在于,步骤b所述安全芯片执行指令所指示操作的过程为:
安全芯片从接收到的操作指令认证数据中获取认证码计算参数和操作指令认证码,应用认证码计算参数和已加载的授权信息计算第二操作指令认证码,验证计算出的第二操作指令认证码与接收到的第一操作指令认证码是否完全一致后,执行操作指令所指示的操作。
15、根据权利要求13所述的方法,其特征在于,步骤b所述安全芯片经芯片驱动库给安全核心服务模块返回执行结果信息的过程为:
安全芯片应用认证码计算参数和已加载的授权信息对指令执行结果进行计算,获得第一指令执行结果认证码,将认证码计算参数和第一指令执行结果认证码作为指令结果认证数据,通过芯片驱动库给安全核心服务模块返回包含指令结果认证数据的指令执行结果信息。
16、根据权利要求13所述的方法,其特征在于,步骤d所述安全服务提供模块指令执行结果返回给应用系统的过程为:
安全服务提供模块从接收到的指令执行结果信息中获取指令执行结果,从指令结果认证数据内获取认证码计算参数和第一指令执行结果认证码,应用认证码计算参数及授权信息对指令执行结果计算第二指令执行结果认证码,判断该第二指令执行结果认证码与接收到的第一指令执行结果认证码相同后,再将执行结果返回给应用系统。
17、根据权利要求16所述的方法,其特征在于,
所述操作指令为改变设备状态的设备管理指令,所述授权信息为安全芯片所有者授权信息;所述操作对象为芯片对象;
所述操作指令为密钥管理指令,所述操作对象为密钥对象,所述授权信息为密钥授权信息;
所述操作指令为密码操作指令,所述操作对象为密钥对象和加密数据对象,所述授权信息为密钥授权信息和加密数据授权信息,或所述操作对象为密钥对象和哈希对象,所述授权信息为密钥授权信息。
18、根据权利要求17所述的方法,其特征在于,在执行过密钥管理指令后,该方法进一步包括:应用系统发送注册密钥指令或注销密钥指令,安全服务提供模块或安全核心服务模块根据接收到的指令在密钥数据库中注册或注销密钥。
19、根据权利要求10所述的方法,其特征在于,步骤a所述操作指令为不改变设备状态的指令,且该不改变设备状态的指令包括但不限于寄存器操作指令、芯片自检指令、获取自检结果指令、获取状态信息指令。
20、根据权利要求19所述的方法,其特征在于,当操作指令为寄存器操作指令时,该方法进一步包括,安全核心服务模块记录寄存器操作事件。
21、根据权利要求10所述的方法,其特征在于,所述调用安全芯片的主机为访问主机,所述访问主机与具有安全芯片的主机为相同的主机或不同的主机。
CNB2005100636056A 2005-03-31 2005-03-31 用于实现应用系统与安全芯片进行交互的装置及方法 Active CN100571123C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100636056A CN100571123C (zh) 2005-03-31 2005-03-31 用于实现应用系统与安全芯片进行交互的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100636056A CN100571123C (zh) 2005-03-31 2005-03-31 用于实现应用系统与安全芯片进行交互的装置及方法

Publications (2)

Publication Number Publication Date
CN1703000A CN1703000A (zh) 2005-11-30
CN100571123C true CN100571123C (zh) 2009-12-16

Family

ID=35632538

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100636056A Active CN100571123C (zh) 2005-03-31 2005-03-31 用于实现应用系统与安全芯片进行交互的装置及方法

Country Status (1)

Country Link
CN (1) CN100571123C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799764B (zh) * 2009-12-31 2013-01-02 成都芯通科技股份有限公司 一种仪器模块通用接口的实现方法
CN105553661B (zh) * 2014-10-29 2019-09-17 航天信息股份有限公司 密钥管理方法和装置
US10181036B2 (en) * 2015-06-24 2019-01-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Automatic discovery and installation of secure boot certificates
CN105930751A (zh) * 2015-08-26 2016-09-07 中国银联股份有限公司 Ic卡读卡器及其指令处理方法、服务器、支付系统
CN111901301B (zh) * 2020-06-24 2023-08-08 乾讯信息技术(无锡)有限公司 一种基于网络多媒体设备数据传输的安全防护方法

Also Published As

Publication number Publication date
CN1703000A (zh) 2005-11-30

Similar Documents

Publication Publication Date Title
CN110535833B (zh) 一种基于区块链的数据共享控制方法
CN102222049B (zh) 自加密存储设备的可扩展管理
KR102068580B1 (ko) 컴퓨팅 장치를 보안화하는 방법
CN104718526A (zh) 安全移动框架
CN101494541B (zh) 一种实现对pin码进行安全保护的系统及方法
CN100504717C (zh) 具有基于进程的密钥库的计算装置和操作计算装置的方法
CN102523089B (zh) 用于批处理系统的第二凭证
CN102948114A (zh) 用于访问加密数据的单次使用认证方法
CN106453384A (zh) 一种安全云盘系统及其安全加密方法
CN109525570A (zh) 一种面向集团客户的数据分层安全访问控制方法
WO2007045257A1 (en) A method for controlling access to file systems, related system, sim card and computer program product for use therein
CN108449315A (zh) 请求合法性的校验装置、方法及计算机可读存储介质
CN106533693B (zh) 轨道车辆监控检修系统的接入方法和装置
CN101593252B (zh) 一种计算机对usb设备进行访问的控制方法和系统
CN100571123C (zh) 用于实现应用系统与安全芯片进行交互的装置及方法
CN101739361A (zh) 访问控制方法、访问控制装置及终端设备
CN109936555A (zh) 一种基于云平台的数据存储方法、装置及系统
CN109977039A (zh) 硬盘加密密钥存储方法、装置、设备及可读存储介质
CN107040520A (zh) 一种云计算数据共享系统及方法
CN104933361A (zh) 一种登录密码的保护装置及方法
CN104333452A (zh) 一种对文件数据多账户加密的方法
CN104363093A (zh) 通过动态授权码对文件数据加密的方法
CN106911744A (zh) 一种镜像文件的管理方法和管理装置
CN105279453A (zh) 一种支持分离存储管理的文件分区隐藏系统及其方法
CN105933117A (zh) 一种基于tpm秘钥安全存储的数据加解密装置和方法

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