CN117592079A - 机密计算环境创建方法、密码运算方法及相关设备 - Google Patents
机密计算环境创建方法、密码运算方法及相关设备 Download PDFInfo
- Publication number
- CN117592079A CN117592079A CN202311617297.1A CN202311617297A CN117592079A CN 117592079 A CN117592079 A CN 117592079A CN 202311617297 A CN202311617297 A CN 202311617297A CN 117592079 A CN117592079 A CN 117592079A
- Authority
- CN
- China
- Prior art keywords
- cryptographic
- module
- computing environment
- cryptographic module
- confidential
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012795 verification Methods 0.000 claims description 15
- 239000002699 waste material Substances 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000007789 sealing Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000006378 damage Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种机密计算环境创建方法、密码运算方法及相关设备,所述机密计算环境创建方法应用于密码模块管理器,包括获取密码模块的镜像信息;基于所述密码模块的镜像信息,确定运行所述密码模块所需的硬件资源;基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求;发送所述机密计算环境创建请求,以使得机密环境管理器基于所述机密计算环境创建请求创建匹配所述密码模块运行需求的机密计算环境,所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应。本申请实施例中创建的机密计算环境能够满足密码模块的性能需求,不会出现硬件资源的浪费,并提高电子设备的整体性能。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种机密计算环境创建方法、密码运算方法及相关设备。
背景技术
密码技术是实现信息保密性的技术,在计算机的使用中具有广泛应用,其应用方式主要为密码运算,例如:通过密码运算对数据进行加解密,从而防止数据被恶意窃取;通过密码运算对数据进行数字签名,保证数据的真实性和安全性。其中,现代计算机体系结构中,密码运算可以是基于专门的密码模块(Crypto Module,CM)来实现,通过在电子设备中配置相应的密码模块进行密码运算。在此背景下,如何提供技术方案,以提高电子设备的整体性能,成为了本领域技术人员亟需解决的技术问题。
发明内容
有鉴于此,本申请实施例提供一种机密计算环境创建方法、密码运算方法及相关设备,以实现提高电子设备的整体性能。
第一方面,本申请实施例提供一种机密计算环境创建方法,应用于密码模块管理器,包括:
获取密码模块的镜像信息;
基于所述密码模块的镜像信息,确定运行所述密码模块所需的硬件资源;
基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求;
发送所述机密计算环境创建请求,以使得机密环境管理器基于所述机密计算环境创建请求创建匹配所述密码模块运行需求的机密计算环境,所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应。
可选的,所述基于所述密码模块的镜像信息,确定运行所述密码模块所需的硬件资源,包括:
基于所述密码模块的镜像信息,确定所述密码模块的性能配置文件;
基于所述性能配置文件,确定运行所述密码模块所需的处理器核数量和内存资源。
可选的,所述基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求,具体为:基于运行所述密码模块所需的处理器核数量和内存资源,生成机密计算环境创建请求。
可选的,所述发送所述机密计算环境创建请求之后,还包括:
发送所述密码模块的镜像信息,以使得机密环境管理器在创建的所述机密计算环境中载入所述密码模块的镜像信息,以使所述密码模块运行于所述机密计算环境。
第二方面,本申请实施例提供一种机密计算环境创建方法,应用于机密环境管理器,包括:
获取密码模块管理器发送的机密计算环境创建请求;其中,所述机密计算环境创建请求为所述密码模块管理器基于运行密码模块所需的硬件资源生成,运行密码模块所需的硬件资源为所述密码模块管理器基于获取的所述密码模块的镜像信息确定得到;
基于所述机密计算环境创建请求,创建匹配所述密码模块运行需求的机密计算环境,所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应。
可选的,所述机密计算环境创建请求包括运行所述密码模块所需的处理器核数量和内存资源。
可选的,所述基于所述机密计算环境创建请求,创建匹配所述密码模块运行需求的机密计算环境,包括:
基于所述处理器核数量,将对应数量的处理器核配置至所述机密计算环境;
基于所述内存资源,将对应的内存地址配置至所述机密计算环境。
可选的,所述创建匹配所述密码模块运行需求的机密计算环境之后,还包括:
获取所述密码模块管理器发送的所述密码模块的镜像信息,并将所述密码模块的镜像信息载入所述机密计算环境,以在所述机密计算环境中运行所述密码模块。
第三方面,本申请实施例提供一种密码运算方法,应用于上述第一方面和/或上述第二方面所述的机密计算环境创建方法创建的机密计算环境,所述方法包括:
密码模块获取密钥文件,并基于所述密钥文件得到密码运算的密钥;
密码应用向所述密码模块发送验证请求,以验证所述密码模块的完整性;
若所述密码模块完整,所述密码应用调用所述密码模块进行密码运算。
可选的,所述密码模块包括封印密钥;
所述密码模块基于所述密钥文件得到密码运算的密钥具体为:所述密码模块利用所述封印密钥解密所述密码文件,得到密码运算的密钥。
可选的,所述密码模块利用密码运算模块辅助执行密码运算;
所述密码应用调用所述密码模块进行密码运算,具体为:所述密码应用调用所述密码模块;所述密码模块利用所述密码运算模块进行密码运算。
第四方面,本申请实施例提供一种密码运算系统,至少包括密码应用、密码模块、密码模块管理器和机密环境管理器,所述密码模块管理器和所述机密环境管理器用于创建匹配所述密码模块运行需求的机密计算环境;
所述密码模块,用于在所述机密计算环境下,获取密钥文件并基于所述密钥文件得到密码运算的密钥;
所述密码应用,用于在所述机密计算环境下,向所述密码模块发送验证请求,以验证所述密码模块的完整性;其中,若所述密码模块完整,所述密码应用调用所述密码模块进行密码运算。
可选的,所述密码模块管理器包括:
信息获取单元,用于获取密码模块的镜像信息;
资源确定单元,用于基于所述密码模块的镜像信息,确定运行所述密码模块所需的硬件资源;
请求生成单元,用于基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求;
请求发送单元,用于发送所述机密计算环境创建请求,以使得机密环境管理器基于所述机密计算环境创建请求创建匹配所述密码模块运行需求的机密计算环境,所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应。
可选的,所述机密环境管理器包括:
请求获取单元,用于获取密码模块管理器发送的机密计算环境创建请求;
环境创建单元,用于基于所述机密计算环境创建请求,创建匹配所述密码模块运行需求的机密计算环境。
可选的,还包括:密码运算模块,所述密码运算模块用于在所述机密计算环境下,辅助所述密码模块进行密码运算。
第五方面,本申请实施例提供一种电子设备,包括至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行如上述第一方面和/或如上述第二方面所述的机密计算环境创建方法,和/或,如上述第三方面所述的密码运算方法。
第六方面,本申请实施例提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如上述第一方面和/或如上述第二方面所述的机密计算环境创建方法,和/或,如上述第三方面所述的密码运算方法。
本申请实施例所提供的机密计算环境创建方法,应用于密码模块管理器,通过获取密码模块的镜像信息,进而基于所述密码模块的镜像信息,确定运行所述密码模块所需的硬件资源;基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求;从而发送所述机密计算环境创建请求,以使得机密环境管理器基于所述机密计算环境创建请求创建匹配所述密码模块运行需求的机密计算环境,所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应。
可以看出,本申请实施例通过密码模块管理器基于密码模块的镜像信息,确定的运行密码模块所需的硬件资源,生成机密计算环境创建请求,以使机密环境管理器创建匹配密码模块运行需求的机密计算环境,从而机密环境管理器创建的机密计算环境能够满足所述密码模块的性能需求。同时,机密计算环境所匹配的所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应,从而不会出现硬件资源的浪费,并提高电子设备的整体性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是电子设备中处理器的可选结构示意图;
图2是本申请实施例提供的密码运算系统的可选架构示意图;
图3是本申请实施例提供的密码模块的内部结构示意图;
图4是本申请实施例提供的机密计算环境创建方法的可选流程图;
图5是本申请实施例提供的步骤S31的可选示意图;
图6是本申请实施例提供的步骤S35的可选示意图;
图7是本申请实施例提供的密码运算方法的可选流程图;
图8是本申请实施例提供的密码运算系统的另一可选架构示意图;
图9是本申请实施例提供的密码模块管理器的可选结构示意图;
图10是本申请实施例提供的机密环境管理器的可选结构示意图;
图11是本申请实施例提供的密码运算系统的又一可选架构示意图;
图12是本申请实施例提供的电子设备的可选框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如背景技术所述,现代计算机体系结构中,密码运算可以是基于专门的密码模块(Crypto Module,CM)来实现,通过在电子设备中配置相应的密码模块,进而调用密码模块进行密码运算。
作为一种可选实现,密码模块可以基于电子设备中的高安全级别硬件进行设置,以在实现密码模块的密码运算情况下,保证密码模块的运行安全。其中,图1示例性的示出了电子设备中处理器(Central Processing Unit,CPU)的可选结构示意图。如图1所示,该处理器可以包括:处理器核110和安全处理器120。
可以理解的是,安全处理器120是独立于处理器核110,与处理器核110相互隔离的硬件设备,并且,对于安全处理器120的硬件资源,处理器核110无法访问,例如安全处理器120的内部存储。由于安全处理器具有独立的可执行资源,从而能够组成封闭的可执行环境,因此,除安全处理器主动对外共享的数据外,外部无法访问安全处理器本身的数据。从而,在进行数据的密码运算时,可以基于安全处理器提供的封闭可执行环境实现密码模块的密码运算,保证密码运算的安全性。
在一个具体示例中,可以基于安全处理器120设置密码模块,将密码模块121设置于安全处理器120内部,并且由安全处理器120为密码模块121提供命令接口,使得密码模块121基于该命令接口实现与处理器核110的信息交互,以供处理器核110上的应用程序使用。在一个示例中,应用密码模块的程序可以被称为密码应用。
但是,发明人发现:由于处理器硬件架构的限制,在处理器内集成的安全处理器数量固定,因此,在面对系统中不断变化的密码运算需求时,基于安全处理器设置密码模块的方式并不能实现密码模块的灵活配置,影响密码运算性能。例如,当需要处理更多的加密和数据保护任务时,固定的安全处理器数量可能会导致针对不同类型的密码运算,密码模块的处理能力不足;又例如,处理器上密码应用的密码运算需求减少,而设置有密码模块的固定数量的安全处理器可能会导致处理器硬件资源的浪费。另外,由于安全处理器是专用于安全功能的处理器,专注于执行安全相关的操作,相对于处理器来说,安全处理器不需要处理高性能的计算任务,这也使得安全处理器在数据的处理频率、缓存等方面通常具有较低性能,进而限制了密码模块的性能,从而降低电子设备的整体性能。
另外,需要说明的是,将安全处理器集成在处理器内部存在技术前提,即处理器需要提供对安全处理器的硬件支持,例如加密/解密引擎、缓存等支持。然而,大部分处理器芯片并不能提供上述支持,这也进一步限制了将密码模块设置于安全处理器,由安全处理器为密码模块提供安全可执行环境进行密码运算的应用通用性。
可见,提供实现提高电子设备的整体性能的方案,显得尤为必要。
有鉴于此,本申请实施例提出改进的技术方案,通过密码模块管理器基于密码模块的镜像信息,确定的运行密码模块所需的硬件资源,生成机密计算环境创建请求,以使机密环境管理器创建匹配密码模块运行需求的机密计算环境,从而机密环境管理器创建的机密计算环境能够满足所述密码模块的性能需求。同时,机密计算环境所匹配的所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应,从而不会出现硬件资源的浪费,并提高电子设备的整体性能。
其中,图2示例性的示出了本申请实施例提供的密码运算系统的可选架构示意图。如图2所示,该密码运算系统至少包括:密码模块(Crypto Module,CM)20、密码模块管理器(又称“CM管理器”)21和机密环境管理器(又称“CCE管理器”)22。
其中,密码模块20为具有密码运算功能的模块,基于密码应用的调用进行密码运算。如图3所示密码模块的内部结构示意图,密码模块20可以包括密钥管理单元201和密码运算单元202。所述密钥管理单元201用于实现对密钥的全生命周期管理,包括密钥的生成、存储、使用、更新、销毁等,通常密钥的明文只能够出现在的密码模块内部,密钥若离开密码模块则需要进行加密保护。所述密码运算单元202用于实现各种标准的密码算法,包括加密、解密、签名、验签、MAC消息验证码计算(图中示为Hash)、密钥生成、密钥协商等,其中,MAC消息验证码计算可以例如是使用Hash函数进行计算的,通过将原始消息与密钥一起输入到Hash函数中进行计算得到验证码,该验证码可以是一个固定长度的值,以用于验证消息的完整性和真实性。
密码模块管理器21用于管理执行密码运算的密码模块20,并且,密码模块管理器21能够利用机密环境管理器22创建密码模块20执行密码运算的机密计算环境(Confidential Computing Environment,CCE),而且,该机密计算环境是隔离于处理器的当前运行环境,使得密码模块20在该机密计算环境中运行的密码运算过程是机密的,外部完全不可见,外部仅能看到其对密码运算系统的输入和输出,从而有效保证密码运算的安全性。
机密环境管理器22对机密计算环境进行管理,具有创建或销毁机密计算环境的权限。
需要说明的是,本申请实施例的密码运算系统在处理器当前的运行环境中,创建隔离于处理器当前运行环境的机密计算环境时,需要处理器提供硬件机制支持,而现有的处理器硬件机制基本上都能够支持机密计算环境,从而基于处理器的硬件机制能够保证运行在机密计算环境中密码应用程序的机密性、完整性和真实性。其中,处理器提供的硬件机制可以例如是硬件安全模块、内存保护、安全启动等,在一个可选示例中,可以采用安全虚拟化技术,通过虚拟机实现创建机密计算环境。
下面基于上述所述的密码运算系统架构,对本申请实施例的机密计算环境创建方案进行详细描述。
图4示例性的示出了本申请实施例提供的机密计算环境创建方法的可选流程图,该方法流程可由图2所示密码运算系统中的密码模块、密码模块管理器、机密环境管理器执行实现。如图4所示,该方法流程可以包括如下步骤。
步骤S30,密码模块管理器获取密码模块的镜像信息。
密码模块可处于待启动状态,例如系统未上电启动时,或者,未被密码应用调用时。而且,密码模块根据对外接口的不同可以有不同的类型,包括《GM/T0018-2012密码设备应用接口规范》、《GM/T 0016-2012智能密码钥匙密码应用接口规范》等标准接口类型以及自定义的接口类型。
当需要启动密码模块时,密码模块管理器可以获取密码模块的镜像信息,该密码模块可以是密码应用需要调用的密码模块。其中,密码模块的镜像信息是包含密码模块相关程序代码的文件副本,根据密码模块的不同用途可以有不同的镜像信息,也可以根据用户需求开发不同的镜像信息。其中,镜像信息也可以被称为程序镜像。
在一个示例中,密码模块的镜像信息通常可以包含:加密算法程序,例如对称加密算法(如AES、DES)、非对称加密算法(如RSA、ECC)、哈希算法(如MD5、SHA-256)等,以用于密码模块执行加密、解密、签名和验证等操作;密钥管理程序,以用于密码模块生成、存储和管理密钥,其中,密钥可以是对称密钥或非对称密钥,以用于加密和解密数据;认证和授权程序,以用于密码模块对用户进行身份验证,并根据用户的权限控制其对系统资源的访问;安全通信协议,如SSL/TLS和IPsec等,用于密码模块保护数据在通信过程中的安全性和完整性;安全存储程序,用于密码模块保护敏感数据的存储。
需要说明的是,密码模块的镜像信息存储在硬盘中,密码模块管理器可以根据需要直接在硬盘中读取对应密码模块的镜像信息,或者,通过处理器读取硬盘中的镜像信息,本申请实施例对此并不设限,可以根据实际需求进行对应设置。
步骤S31,密码模块管理器基于所述密码模块的镜像信息,确定运行所述密码模块所需的硬件资源。
可以理解的是,不同密码模块具有不同的密码运算性能。本申请实施例中,基于密码模块的镜像信息包含的密码模块相关程序代码,能够确定密码模块的性能,进而确定运行密码模块所需的硬件资源,例如:密码模块的性能越高则可以服务多个不同处理器核上的密码应用,从而能够存储不同密码应用的数据内容;或者,密码模块的性能越低,则可以仅服务单个处理器核上的密码应用,从而存储该处理器核上密码应用的数据内容,以使为密码模块分配的硬件资源适配密码模块的性能需求。
步骤S32,密码模块管理器基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求。
所述机密计算环境创建请求用于为所述密码模块请求创建机密计算环境,以使所述密码模块运行于对应的机密计算环境中,保证密码运算的安全性。
基于密码模块的运行,需要对应的硬件资源,因此,密码模块管理器可以基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求,以使该机密计算环境能够满足密码模块的性能需求。
步骤S33,密码模块管理器向机密环境管理器发送所述机密计算环境创建请求。
在密码模块管理器利用机密环境管理器创建,密码模块执行密码运算的机密计算环境情况下,密码模块管理器能够向机密环境管理器发送所述机密计算环境创建请求,以使得机密环境管理器基于所述机密计算环境创建请求创建匹配所述密码模块运行需求的机密计算环境。其中,所述密码模块运行需求可以与运行所述密码模块所需的硬件资源相适应,从而不会出现硬件资源的浪费,在创建的机密计算环境中充分发挥密码模块的密码运算能力,提高电子设备的整体性能。
步骤S34,机密环境管理器获取密码模块管理器发送的机密计算环境创建请求。
步骤S35,机密环境管理器基于所述机密计算环境创建请求,创建匹配所述密码模块运行需求的机密计算环境。
其中,所述密码模块运行需求是与运行所述密码模块所需的硬件资源相适应的。
可以理解的是,在机密环境管理器基于,密码模块管理器根据运行所述密码模块所需的硬件资源生成的机密计算环境创建请求,对应创建密码模块的机密计算环境情况下,该机密计算环境能够满足密码模块的性能需求,从而在该机密计算环境中执行与密码模块性能相适应的密码运算,充分发挥密码模块的密码运算能力,提高电子设备的整体性能。
可以看出,本申请实施例通过密码模块管理器基于密码模块的镜像信息,确定的运行密码模块所需的硬件资源,生成机密计算环境创建请求,以使机密环境管理器创建匹配密码模块运行需求的机密计算环境,从而机密环境管理器创建的机密计算环境能够满足所述密码模块的性能需求。同时,机密计算环境所匹配的所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应,从而不会出现硬件资源的浪费,并提高电子设备的整体性能。
在一些实施例中,基于密码模块的镜像信息包含有密码模块相关程序代码的情况,通过镜像信息能够确定密码模块的性能等参数信息,如图5所示,步骤S31可以具体包括以下步骤:
步骤S311,基于密码模块的镜像信息,确定所述密码模块的性能配置文件;
其中,所述密码模块的性能配置文件指的是基于系统运行需求而设置的密码模块的运行参数或者配置文件,基于性能配置文件能够设置密码模块的运行使用策略、内存使用策略等。
步骤S312,基于所述性能配置文件,确定运行所述密码模块所需的处理器核数量和内存资源。
性能配置文件包含有密码模块的运行使用策略、内存使用策略,从而性能配置文件能够反映密码模块执行密码运算的能力。
可以理解的是,电子设备中还包含有内存、处理器等硬件设备,处理器上的密码应用能够调用密码模块进行密码运算,进而需要对密码运算的数据进行缓存,并且,在具有多个处理器核的处理器中,密码应用可以存在于一个或多个处理器核中。因此,可以基于密码模块的性能配置文件,确定密码模块对应的处理器核数量和内存资源。例如,针对处理器的多个处理器核,基于密码模块的性能,将密码模块灵活分配给多个处理器核使用,以使密码模块执行多个处理器核的密码运算,提高设备的密码运算效率;在内存方面,根据密码模块的性能,合理分配满足密码模块性能需求的内存资源,避免内存不足或过度分配。
在一些实施例中,基于确定的运行所述密码模块所需的处理器核数量和内存资源,步骤S32,基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求,可以具体为:基于运行所述密码模块所需的处理器核数量和内存资源,生成机密计算环境创建请求。
从而,机密环境管理器获取的机密计算环境创建请求可以包含运行密码模块所需的处理器核数量和内存资源,进而所述机密环境管理器在根据所述机密计算环境创建请求创建机密计算环境时,其所创建的机密计算环境能够满足密码模块的性能需求。
进一步的,在机密环境管理器获取的机密计算环境创建请求包含运行密码模块所需的处理器核数量和内存资源情况下,如图6所示,步骤S35可以具体包括以下步骤:
步骤S351,基于处理器核数量,将对应数量的处理器核配置至机密计算环境;
步骤S352,基于内存资源,将对应的内存地址配置至机密计算环境。
继续参照图4所示,在一些实施例中,为实现密码模块管理器管理的密码模块能够在机密环境管理器创建的机密计算环境中运行,在机密环境管理器创建机密计算环境后,密码模块管理器需要向机密环境管理器发送密码模块的相关信息,则还可以进一步包括:
步骤S36,密码模块管理器向机密环境管理器发送所述密码模块的镜像信息。
通过密码模块管理器将密码模块的镜像信息发送至机密环境管理器,能够使得机密环境管理器在创建的所述机密计算环境中载入所述密码模块的镜像信息,以使所述密码模块运行于所述机密计算环境。
步骤S37,机密环境管理器获取所述密码模块管理器发送的所述密码模块的镜像信息,并将所述密码模块的镜像信息载入所述机密计算环境,以在所述机密计算环境中运行所述密码模块。
需要说明的是,基于本申请实施例的机密计算环境创建方法创建的机密计算环境,当密码模块管理器需要销毁密码模块时,例如在系统中取消对该密码模块的应用,密码模块管理器可以向机密环境管理器发送对应该密码模块的机密计算环境销毁请求,以使得机密环境管理器销毁机密计算环境,从而销毁运行于该机密计算环境的密码模块。
可以看出,本申请实施例通过密码模块管理器基于密码模块的镜像信息,确定的运行密码模块所需的硬件资源,生成机密计算环境创建请求,以使机密环境管理器创建匹配密码模块运行需求的机密计算环境,从而机密环境管理器创建的机密计算环境能够满足所述密码模块的性能需求。同时,机密计算环境所匹配的所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应,从而不会出现硬件资源的浪费,并提高电子设备的整体性能。
基于上述机密计算环境创建方法创建的机密计算环境,本申请实施例还提供一种密码运算方法,所述密码运算方法可以应用于该机密计算环境。
作为可选实现,图7示例性的示出了本申请实施例提供的密码运算方法的可选流程图,该方法流程可由密码模块和密码应用执行实现。如图7所示,该方法流程可以包括如下步骤。
步骤S71,密码模块获取密钥文件,并基于密钥文件得到密码运算的密钥。
密钥文件指的是存储执行密码运算所需密钥的文件,其中,密钥文件与密码模块具有对应关系,并且,该对应关系由密码模块管理器进行维护,当需要运行密码模块时,基于密码模块管理器维护的密码模块与密钥文件的对应关系,密码模块能够准确获取密钥文件。
在一个可选示例中,为实现密钥文件的完整性和安全性保护,密钥文件可以是加密文件。为得到密钥文件中记载的用于密码运算的密钥,密码模块可以包括封印密钥(Sealing Key),所述封印密钥可以与密钥文件的加密密钥相对应,从而,密码模块可以利用封印密钥解密密钥文件,得到密码运算的密钥。其中,密码模块的密钥文件可以存储于硬盘,从而可以根据需要直接在硬盘中读取对应的密钥文件,或者,通过处理器读取硬盘中的密钥文件,本申请实施例对此并不设限,可以根据实际需求进行对应设置。
需要说明的是,密码模块的封印密钥与机密计算环境内运行密码模块的程序(即密码模块的镜像信息)相绑定,密码模块的封印密钥只能在机密计算环境内获取,无法在机密计算环境外部获取或者伪造。而且,封印密钥具体可以是与密码模块的运行程序的完整性绑定,若密码模块的运行程序完整性被破坏,则其对应的封印密钥不可用,无法解密密钥文件;若封印密钥可用,能够对密钥文件进行解密,则说明密码模块的镜像信息文件是完整的,未被篡改的,从而保证了利用封印密钥解密密钥文件得到的密钥的安全性。
另外,在封印密钥与机密计算环境内运行的密码模块程序绑定的情况下,封印密钥可以是基于载入机密计算环境的镜像信息得到,例如,封印密钥可以是由密码模块的镜像信息的哈希(Hash)度量值生成,从而当密码模块的镜像信息发生改变时,则密码模块所属的封印密钥随之改变。其中,密码模块的封印密钥的生成方式可以是由支持机密计算环境的处理器硬件特性决定,不同的处理器具有不同的生成方法,只要满足与处理器支持的机密计算环境内运行的密码模块程序的特征值绑定即可。
在一个示例中,密钥文件内可以包含有用户密钥,当用户调用密码模块更改用户密钥时,密码模块可以利用封印密钥对更改后的用户密钥进行加密,并且存储至密钥文件,以更新密钥文件中存储的用户密钥,保证密钥文件中存储的密钥完整性。
步骤S72,密码应用向密码模块发送验证请求,以验证密码模块的完整性。
在密码应用具有对密码模块的使用需求时,为保证密码运算的准确,密码应用可以首先对机密计算环境的真实性,以及密码模块的完整性进行验证,确保密码模块内数据的准确性,即数据没有发生缺失或篡改等,从而向密码模块发送验证请求。
在一个具体示例中,密码应用可以是基于机密计算的远程认证机制对密码模块进行远程认证,通过机密计算环境,向密码模块发送远程认证请求;密码模块获取该远程认证请求,并利用处理器所提供的机密计算环境的硬件机制生成认证报告,所述认证报告可以包含密码模块的镜像信息度量值等内容,并且,由标志机密计算环境身份的密钥进行签名,密码模块通过机密计算环境将签名后的认证报告发送至密码应用;密码应用获取认证报告后,首先对机密计算环境的签名进行验证,确认报告的真实性,进而验证认证报告内密码模块的镜像度量值等信息,以确认密码模块的完整性。
需要说明的是,上述示例仅是密码应用验证密码模块完整性的一种可选实现,还可以根据需求进行对应设置,本申请实施例对此并不限制。
若密码应用验证所述密码模块完整,则可以执行步骤S73,密码应用调用密码模块进行密码运算。
在一些实施例中,为提供高效的密码运算能力,所述密码模块可以利用密码运算模块辅助执行密码运算,其中,所述密码运算模块可以是具有密码运算能力的硬件模块,能够进行符合标准的各种密码算法,例如加密、解密、签名、验签、MAC消息验证码计算、密钥生成、密钥协商等。从而,基于密码运算模块对密码模块的辅助作用,密码应用调用密码模块进行密码运算可以具体为:密码应用调用密码模块,密码模块利用密码运算模块进行密码运算。
可以看出,本申请实施例能够在机密计算环境中实现码模块的密码运算,保证密码运算的安全性,并且在机密计算环境匹配密码模块运行需求的情况下,能够有效满足所述密码模块的性能需求,不会出现硬件资源的浪费,并提高电子设备的整体性能。
本申请实施例还提供一种密码运算系统,图8示例性的示出了本申请实施例提供的密码运算系统的另一可选结构示意图。如图8所示,所述密码运算系统可以至少包括密码模块81、密码应用82、密码模块管理器83和机密环境管理器84。所述密码模块管理器83和所述机密环境管理器84可以用于创建匹配所述密码模块81运行需求的机密计算环境。
其中,所述密码模块81,用于在所述机密计算环境下,获取密钥文件并基于所述密钥文件得到密码运算的密钥;
所述密码应用82,用于在所述机密计算环境下,向所述密码模块发送验证请求,以验证所述密码模块的完整性;其中,若所述密码模块完整,所述密码应用调用所述密码模块进行密码运算。
可选的,所述密码模块81可以包括封印密钥;
所述密码模块81基于所述密钥文件得到密码运算的密钥的步骤具体为:利用所述封印密钥解密所述密码文件,得到密码运算的密钥。
可选的,所述密码模块81可以利用密码运算模块辅助执行密码运算;
所述密码应用82调用所述密码模块进行密码运算的步骤,具体为:密码应用调用密码模块,密码模块利用密码运算模块进行密码运算。
需要说明的是,密码模块、密码应用、密码模块管理器和机密环境管理器,是密码运算系统为实现本申请实施例提供的机密计算环境创建方法和/或密码运算方法,所需设置的软件功能模块,本申请实施例的密码运算系统还可以包括如图8所示的处理器100、系统内存200和硬盘300的硬件组成。
其中,处理器100的硬件支持机密计算特性,支持机密环境管理器在处理器的当前运行环境中,根据需要创建或销毁隔离的运行环境,即机密计算环境。并且,处理器100的硬件机制保证运行在该机密计算环境中的程序的机密性、完整性和真实性。该处理器100可以例如是CPU(中央处理器)。
系统内存200是计算机中用于存储数据和程序的物理设备,包括运行内存210,该运行内存210可以是基于机密计算环境进行对应分配的内存。从而,处理器100可以对系统内存200中分配给机密计算环境的运行内存210进行机密性和完整性保护,以确保只有运行在机密计算环境内的程序可以正常访问该运行内存210,防止机密计算环境以外的程序对运行内存210的非法访问。
硬盘300包括密码模块的程序镜像310和密钥文件320等信息。其中,程序镜像310是包含密码模块相关程序代码的文件副本,可以被称为密码模块的镜像信息,基于程序镜像310能够得到密码模块的封印密钥,例如:根据程序镜像的哈希(Hash)度量值生成封印密钥,并且,当程序镜像发生改变时,密码模块所属的封印密钥也会随之改变,则封印密钥可以与程序镜像相绑定,从而,基于密码模块运行于机密计算环境情况下,封印密钥只能在机密计算环境内获取,无法在机密计算环境外部获取或者伪造。在一个具体示例中,封印密钥可以与密码模块的运行程序的完整性绑定,若密码模块的运行程序完整性被破坏,则其对应的封印密钥不可用。另外,封印密钥的生成方式可以由支持机密计算环境的处理器硬件特性决定,不同的处理器具有不同的生成方法,只要满足与处理器支持的机密计算环境内运行的密码模块程序的特征值绑定即可。密钥文件320是存储密码模块执行密码运算所需密钥的文件,与密码模块具有对应关系。而且,密钥文件320为需要持久保存的信息,为确保文件的安全性,密钥文件320可以为加密文件。在一个示例中,基于密钥文件320与密码模块81具有对应关系,在生成密码模块的封印密钥情况下,可以使用封印密钥对密钥文件320进行加密,从而将加密后的密钥文件320存储至硬盘300。在一个具体示例中,基于封印密钥可以与密码模块的运行程序的完整性绑定,若密码模块的运行程序完整性被破坏,则其对应的封印密钥不可用,无法解密密钥文件;若封印密钥可用,能够利用封印密钥解密密钥文件。
在一些实施例中,基于创建匹配密码模块运行需求的机密计算环境,图9示例性的示出了本申请实施例提供的密码模块管理器的可选结构示意图。如图9所示,密码模块管理器可以包括:信息获取单元91、资源确定单元92、请求生成单元93和请求发送单元94。
其中,所述信息获取单元91,用于获取密码模块的镜像信息;
所述资源确定单元92,用于基于所述密码模块的镜像信息,确定运行所述密码模块所需的硬件资源;
所述请求生成单元93,用于基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求;
所述请求发送单元94,用于发送所述机密计算环境创建请求,以使得机密环境管理器基于所述机密计算环境创建请求创建匹配所述密码模块运行需求的机密计算环境,所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应。
可选的,所述资源确定单元92基于所述密码模块的镜像信息,确定运行所述密码模块所需的硬件资源的步骤,包括:
基于所述密码模块的镜像信息,确定所述密码模块的性能配置文件;
基于所述性能配置文件,确定运行所述密码模块所需的处理器核数量和内存资源。
可选的,所述请求生成单元93基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求的步骤,具体为:基于运行所述密码模块所需的处理器核数量和内存资源,生成机密计算环境创建请求。
可选的,所述请求发送单元94发送所述机密计算环境创建请求之后,还用于:发送所述密码模块的镜像信息,以使得机密环境管理器在创建的所述机密计算环境中载入所述密码模块的镜像信息,以使所述密码模块运行于所述机密计算环境。
在一些实施例中,基于创建匹配密码模块运行需求的机密计算环境,图10示例性的示出了本申请实施例提供的机密环境管理器的可选结构示意图。如图10所示,机密环境管理器可以包括:请求获取单元101和环境创建单元102。
其中,请求获取单元101,用于获取密码模块管理器发送的机密计算环境创建请求。
所述机密计算环境创建请求可以为密码模块管理器基于运行密码模块所需的硬件资源生成,运行密码模块所需的硬件资源可以为密码模块管理器基于获取的所述密码模块的镜像信息确定得到。
环境创建单元102,用于基于所述机密计算环境创建请求,创建匹配所述密码模块运行需求的机密计算环境。
所述密码模块运行需求可以与运行所述密码模块所需的硬件资源相适应。
可选的,所述请求获取单元101获取的机密计算环境创建请求可以包括运行所述密码模块所需的处理器核数量和内存资源。
可选的,所述环境创建单元102基于所述机密计算环境创建请求,创建匹配所述密码模块运行需求的机密计算环境的步骤,可以包括:
基于所述处理器核数量,将对应数量的处理器核配置至所述机密计算环境;
基于所述内存资源,将对应的内存地址配置至所述机密计算环境。
可选的,所述环境创建单元102创建匹配所述密码模块运行需求的机密计算环境之后,还可以用于:获取密码模块的镜像信息,并将所述密码模块的镜像信息载入所述机密计算环境,以在所述机密计算环境中运行所述密码模块。
在一些实施例中,图11示例性的示出了本申请实施例提供的密码运算系统的又一可选架构示意图。如图11所示,所述密码运算系统还可以包括:密码运算模块111。
所述密码运算模块111为具有密码运算功能的模块。基于密码模块的密码运算需求,在一可选实现中,所述密码运算模块111可以是集成在密码模块内部,用于执行密码运算的功能模块,即密码模块的密码运算单元。
在另一可选实现中,所述密码运算模块111可以是集成在处理器100内部的具有密码运算能力的硬件模块,能够进行符合标准的各种密码算法,例如加密、解密、签名、验签、MAC消息验证码计算、密钥生成、密钥协商等,用于辅助密码模块管理器管理的密码模块进行密码运算。所述密码运算模块能够将密码运算能力安全提供至所述密码模块,例如:基于处理器的硬件支持,将密码运算模块设置为仅接收来自某个机密计算环境的密码运算请求,从而来自该机密计算环境中的密码模块的密码运算请求,都会带上标识该机密计算环境的标签,密码运算模块在收到密码运算请求时会首先识别该机密计算环境的标签,确保信息交互安全,进而提高电子设备的密码运算性能。
在一可选示例中,当密码运算系统存在多个具有密码运算功能的模块情况下,密码模块可以根据需求进行对应选择。例如:密码运算系统中的密码模块内部设置有密码运算单元,并且,处理器内部设置有密码运算模块的硬件,当密码应用对密码模块具有高性能运算需求时,密码模块可以选择使用处理器内集成的密码运算模块(如图11所示)。
需要说明的是,设置于密码模块内部的密钥管理单元,能够实现对密钥的全生命周期管理,包括密钥的生成、存储、使用、更新、销毁等;密码运算单元能够实现各种标准的密码算法,包括加密、解密、签名、验签、MAC消息验证码计算、密钥生成、密钥协商等,从而在设置于处理器内部的密码运算模块能够进行符合标准的各种密码算法,例如加密、解密、签名、验签、MAC消息验证码计算、密钥生成、密钥协商等的情况下,可以由密码模块中的密钥管理单元根据密码模块的自身运算需求选择是否利用设置于处理器内部的密码运算模块进行密码运算。
本申请实施例还提供一种电子设备,该电子设备可以包括至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行本申请实施例提供的机密计算环境创建方法,和/或,本申请实施例提供的密码运算方法。
作为可选实现,图12为本申请实施例提供的电子设备的可选框图,如图12所示,该电子设备可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。
可选的,通信接口2可以为用于进行网络通信的通信模块的接口。
可选的,处理器1可能是CPU(中央处理器),GPU(Graphics Processing Unit,图形处理器),NPU(嵌入式神经网络处理器),FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列),TPU(张量处理单元),AI芯片,特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,存储器3存储一条或多条计算机可执行指令,处理器1调用所述一条或多条计算机可执行指令,以执行本申请实施例的密码运算方法。
本申请实施例还提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如本申请实施例由电子设备执行的机密计算环境创建方法,和/或,密码运算方法。
上文描述了本申请实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本申请实施例披露、公开的实施例方案。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。
Claims (17)
1.一种机密计算环境创建方法,其特征在于,应用于密码模块管理器,包括:
获取密码模块的镜像信息;
基于所述密码模块的镜像信息,确定运行所述密码模块所需的硬件资源;
基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求;
发送所述机密计算环境创建请求,以使得机密环境管理器基于所述机密计算环境创建请求创建匹配所述密码模块运行需求的机密计算环境,所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应。
2.根据权利要求1所述的机密计算环境创建方法,其特征在于,所述基于所述密码模块的镜像信息,确定运行所述密码模块所需的硬件资源,包括:
基于所述密码模块的镜像信息,确定所述密码模块的性能配置文件;
基于所述性能配置文件,确定运行所述密码模块所需的处理器核数量和内存资源。
3.根据权利要求2所述的机密计算环境创建方法,其特征在于,所述基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求,具体为:基于运行所述密码模块所需的处理器核数量和内存资源,生成机密计算环境创建请求。
4.根据权利要求1所述的机密计算环境创建方法,其特征在于,所述发送所述机密计算环境创建请求之后,还包括:
发送所述密码模块的镜像信息,以使得机密环境管理器在创建的所述机密计算环境中载入所述密码模块的镜像信息,以使所述密码模块运行于所述机密计算环境。
5.一种机密计算环境创建方法,其特征在于,应用于机密环境管理器,包括:
获取密码模块管理器发送的机密计算环境创建请求;其中,所述机密计算环境创建请求为所述密码模块管理器基于运行密码模块所需的硬件资源生成,运行密码模块所需的硬件资源为所述密码模块管理器基于获取的所述密码模块的镜像信息确定得到;
基于所述机密计算环境创建请求,创建匹配所述密码模块运行需求的机密计算环境,所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应。
6.根据权利要求5所述的机密计算环境创建方法,其特征在于,所述机密计算环境创建请求包括运行所述密码模块所需的处理器核数量和内存资源。
7.根据权利要求6所述的机密计算环境创建方法,其特征在于,所述基于所述机密计算环境创建请求,创建匹配所述密码模块运行需求的机密计算环境,包括:
基于所述处理器核数量,将对应数量的处理器核配置至所述机密计算环境;
基于所述内存资源,将对应的内存地址配置至所述机密计算环境。
8.根据权利要求5所述的机密计算环境创建方法,其特征在于,所述创建匹配所述密码模块运行需求的机密计算环境之后,还包括:
获取所述密码模块管理器发送的所述密码模块的镜像信息,并将所述密码模块的镜像信息载入所述机密计算环境,以在所述机密计算环境中运行所述密码模块。
9.一种密码运算方法,其特征在于,应用于如权利要求1-4任一项和/或如权利要求5-8任一项所述的机密计算环境创建方法创建的机密计算环境,所述方法包括:
密码模块获取密钥文件,并基于所述密钥文件得到密码运算的密钥;
密码应用向所述密码模块发送验证请求,以验证所述密码模块的完整性;
若所述密码模块完整,所述密码应用调用所述密码模块进行密码运算。
10.根据权利要求9所述的密码运算方法,其特征在于,所述密码模块包括封印密钥;
所述密码模块基于所述密钥文件得到密码运算的密钥具体为:所述密码模块利用所述封印密钥解密所述密码文件,得到密码运算的密钥。
11.根据权利要求10所述的密码运算方法,其特征在于,所述密码模块利用密码运算模块辅助执行密码运算;
所述密码应用调用所述密码模块进行密码运算,具体为:所述密码应用调用所述密码模块,所述密码模块利用所述密码运算模块进行密码运算。
12.一种密码运算系统,其特征在于,至少包括密码模块、密码应用、密码模块管理器和机密环境管理器,所述密码模块管理器和所述机密环境管理器用于创建匹配所述密码模块运行需求的机密计算环境;
所述密码模块,用于在所述机密计算环境下,获取密钥文件并基于所述密钥文件得到密码运算的密钥;
所述密码应用,用于在所述机密计算环境下,向所述密码模块发送验证请求,以验证所述密码模块的完整性;其中,若所述密码模块完整,所述密码应用调用所述密码模块进行密码运算。
13.根据权利要求12所述的密码运算系统,其特征在于,所述密码模块管理器包括:
信息获取单元,用于获取密码模块的镜像信息;
资源确定单元,用于基于所述密码模块的镜像信息,确定运行所述密码模块所需的硬件资源;
请求生成单元,用于基于运行所述密码模块所需的硬件资源,生成机密计算环境创建请求;
请求发送单元,用于发送所述机密计算环境创建请求,以使得机密环境管理器基于所述机密计算环境创建请求创建匹配所述密码模块运行需求的机密计算环境,所述密码模块运行需求与运行所述密码模块所需的硬件资源相适应。
14.根据权利要求13所述的密码运算系统,其特征在于,所述机密环境管理器包括:
请求获取单元,用于获取密码模块管理器发送的机密计算环境创建请求;
环境创建单元,用于基于所述机密计算环境创建请求,创建匹配所述密码模块运行需求的机密计算环境。
15.根据权利要求12所述的密码运算系统,其特征在于,还包括:密码运算模块,所述密码运算模块用于在所述机密计算环境下,辅助所述密码模块进行密码运算。
16.一种电子设备,其特征在于,包括至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行如权利要求1-4和/或如权利要求5-8任一项所述的机密计算环境创建方法,和/或,如权利要求9-11任一项所述的密码运算方法。
17.一种存储介质,其特征在于,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如权利要求1-4和/或如权利要求5-8所述的机密计算环境创建方法,和/或,如权利要求9-11任一项所述的密码运算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311617297.1A CN117592079A (zh) | 2023-11-29 | 2023-11-29 | 机密计算环境创建方法、密码运算方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311617297.1A CN117592079A (zh) | 2023-11-29 | 2023-11-29 | 机密计算环境创建方法、密码运算方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117592079A true CN117592079A (zh) | 2024-02-23 |
Family
ID=89911330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311617297.1A Pending CN117592079A (zh) | 2023-11-29 | 2023-11-29 | 机密计算环境创建方法、密码运算方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117592079A (zh) |
-
2023
- 2023-11-29 CN CN202311617297.1A patent/CN117592079A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7752456B2 (en) | Saving and retrieving data based on symmetric key encryption | |
US8601286B2 (en) | Saving and retrieving data based on public key encryption | |
US11128447B2 (en) | Cryptographic operation method, working key creation method, cryptographic service platform, and cryptographic service device | |
US11025415B2 (en) | Cryptographic operation method, method for creating working key, cryptographic service platform, and cryptographic service device | |
US7970133B2 (en) | System and method for secure and flexible key schedule generation | |
CN110235134B (zh) | 使用洁净室供应来寻址可信执行环境 | |
CA2778805C (en) | Saving and retrieving data based on public key encryption | |
CN115442032A (zh) | 一种数据处理方法、片上系统及可读存储介质 | |
Pop et al. | Secure migration of WebAssembly-based mobile agents between secure enclaves | |
CN117592079A (zh) | 机密计算环境创建方法、密码运算方法及相关设备 | |
EP4254855A1 (en) | A device and a method for controlling use of a cryptographic key | |
CN116186727A (zh) | 一种数据加密方法、解密方法及其相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |