CN116226883A - 密码服务方法、装置、电子设备及存储介质 - Google Patents
密码服务方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116226883A CN116226883A CN202310225313.6A CN202310225313A CN116226883A CN 116226883 A CN116226883 A CN 116226883A CN 202310225313 A CN202310225313 A CN 202310225313A CN 116226883 A CN116226883 A CN 116226883A
- Authority
- CN
- China
- Prior art keywords
- cryptographic
- hardware security
- carrier
- application
- electronic device
- 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
Images
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
- G06F21/72—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 in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种密码服务方法、装置、电子设备及存储介质。该方法包括:由第一硬件安全载体接收电子设备中的应用发送的密码服务请求,密码服务请求指定密码算法;判断第一硬件安全载体是否支持密码算法,如果第一硬件安全载体支持密码算法,则由第一硬件安全载体为应用提供密码服务;如果第一硬件安全载体不支持密码算法,则判断密码服务请求对应的安全等级是否为预定安全等级,如果密码服务请求对应的安全等级是预定安全等级,则由电子设备向第二硬件安全载体发送预定信号,使得第二硬件安全载体能够为应用提供密码服务;如果密码服务请求对应的安全等级低于预定安全等级,则通过电子设备中软件实现的密码函数,为应用提供密码服务。
Description
技术领域
本申请涉及密码技术领域,尤其涉及一种密码服务方法、装置、电子设备及存储介质。
背景技术
电子设备,例如物联网设备、计算机、移动终端等是新一代信息技术的重要组成部分,随着互联网及物联网的不断发展,安全问题得到广泛的重视。电子设备中包括的硬件安全载体形式多样化,部分电子设备支持安全芯片形式的硬件安全载体,部分电子设备支持可信执行环境形式的硬件安全载体,还有部分电子设备同时支持安全芯片和可信执行环境。部分电子设备不支持硬件安全载体,采用软件实现的密码函数。在一种相关技术中,电子设备需要针对其具有的多个硬件安全载体维护与其对应的多个密码服务安装包,该电子设备中的硬件安全载体可能因为不支持某一种密码算法而不能提供对应的密码服务,且更换硬件安全载体较为复杂,不能有效地为电子设备上的应用提供密码服务。
发明内容
本申请实施例提供一种密码服务方法、装置、电子设备及存储介质,以解决相关技术中存在的问题。
在第一方面,本申请实施例提供了一种密码服务方法,应用于电子设备,所述电子设备包括第一硬件安全载体,所述密码服务方法包括:由所述第一硬件安全载体接收所述电子设备中的应用发送的密码服务请求,其中,所述密码服务请求指定密码算法;以及判断所述第一硬件安全载体是否支持所述密码算法,其中,如果所述第一硬件安全载体支持所述密码算法,则由所述第一硬件安全载体为所述应用提供密码服务;以及如果所述第一硬件安全载体不支持所述密码算法,则判断所述密码服务请求对应的安全等级是否为预定安全等级,其中,如果所述密码服务请求对应的安全等级是所述预定安全等级,则由所述电子设备向第二硬件安全载体发送预定信号,使得所述第二硬件安全载体能够为所述应用提供密码服务;以及如果所述密码服务请求对应的安全等级低于所述预定安全等级,则通过所述电子设备中软件实现的密码函数,为所述应用提供密码服务。
在第二方面,本申请实施例提供了一种密码服务方法,应用于电子设备,所述电子设备包括多个第一硬件安全载体,所述密码服务方法包括:由所述电子设备中的应用生成密码服务请求,其中,所述密码服务请求包含预定需求;以及判断所述密码服务请求对应的安全级别是否为预定安全等级,其中,如果所述密码服务请求的安全级别低于所述预定安全等级,则通过所述电子设备中软件实现的密码函数,为所述应用提供所述密码服务;以及如果所述密码服务请求的安全级别为所述预定安全等级,则选择所述多个第一硬件安全载体中的满足预定需求的第一硬件安全载体,并通过所述满足预定需求的第一硬件安全载体实现的密码函数,为所述应用提供密码服务。
在第三方面,本申请实施例提供了一种密码服务装置,部署于电子设备,所述电子设备包括第一硬件安全载体,所述密码服务装置包括:请求接收单元,配置来由所述第一硬件安全载体接收所述电子设备中的应用发送的密码服务请求,其中,所述密码服务请求指定密码算法;以及处理单元,配置来判断所述第一硬件安全载体是否支持所述密码算法,其中,如果所述第一硬件安全载体支持所述密码算法,则由所述第一硬件安全载体为所述应用提供密码服务;以及如果所述第一硬件安全载体不支持所述密码算法,则判断所述密码服务请求对应的安全等级是否为预定安全等级,其中,如果所述密码服务请求对应的安全等级是所述预定安全等级,则由所述电子设备向第二硬件安全载体发送预定信号,使得所述第二硬件安全载体能够为所述应用提供密码服务;以及如果所述密码服务请求对应的安全等级低于所述预定安全等级,则通过所述电子设备中软件实现的密码函数,为所述应用提供密码服务。
在第四方面,本申请实施例提供了一种密码服务装置,部署于电子设备,所述电子设备包括多个第一硬件安全载体,所述密码服务装置包括:请求生成单元,配置来由所述电子设备中的应用生成密码服务请求,其中,所述密码服务请求包含预定需求;以及处理单元,配置来判断所述密码服务请求对应的安全级别是否为预定安全等级,其中,如果所述密码服务请求的安全级别低于所述预定安全等级,则通过所述电子设备中软件实现的密码函数,为所述应用提供所述密码服务;以及如果所述密码服务请求的安全级别为所述预定安全等级,则选择所述多个第一硬件安全载体中的满足预定需求的第一硬件安全载体,并通过所述满足预定需求的第一硬件安全载体实现的密码函数,为所述应用提供密码服务。
在第五方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现上述任一项所述的方法。
在第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
与现有技术相比,本申请具有如下优点:
依据本申请实施例,可以基于电子设备中的应用发送的密码服务请求中指定的密码算法和该密码服务请求对应的安全等级,采用满足该算法及安全等级要求的密码函数,为该应用提供密码服务,可以满足该应用请求的任意密码服务,保障该应用的安全性。
依据本申请实施例,在电子设备中的应用对密码算法无要求的情况下,可以根据密码服务请求中的预定需求和该密码服务请求对应的安全等级,采用满足该预定需求和安全等级要求的密码函数,为该应用提供密码服务,可以满足该应用请求的任意密码服务,保障该应用的安全性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请的一些实施方式,而不应将其视为是对本申请范围的限制。
图1是示出本申请一实施例的密码服务方法的流程图;
图2是示出本申请另一实施例的密码服务方法的流程图;
图3是示出本申请一实施例的密码服务装置的结构框图;
图4是示出本申请另一实施例的密码服务装置的结构框图;以及
图5是示出本申请一实施例的电子设备的框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的构思或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的,而非限制性的。
为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。
本申请一实施例提供了一种密码服务方法100,该方法应用于电子设备,所述电子设备包括第一硬件安全载体,电子设备可以是诸如物联网设备,计算机,移动终端,服务器这样的电子设备。下文将参照图1对本申请的密码服务方法100进行说明。图1是示出本申请一实施例的密码服务方法的流程图。如图1所示,所述密码服务方法100可以包括如下步骤S101至S106。下面将结合具体实施例对步骤S101至步骤S106进行详细说明。
首先进入步骤S101。在步骤S101,由所述第一硬件安全载体接收所述电子设备中的应用发送的密码服务请求,其中,所述密码服务请求指定密码算法。
在密码服务方法100中,第一硬件安全载体可以是诸如软件保护扩展(SoftwareGuard Extensions,SGX),可信执行环境(Trusted Execution Environment,TEE),可信平台模块(Trusted Platform Module,TPM)这样的硬件安全载体。在一些实施例中,电子设备中的应用可以是人工智能物联网一体机中的人工智能算法推理应用。在另一些实施例中,电子设备中的应用可以是摄像头中的视频传输应用。上文只是通过示例的方式对第一硬件安全载体和电子设备中的应用进行举例,本领域技术人员可以根据实际情况将本申请的原理应用到需要密码服务的电子设备中。
在一些实施例中,电子设备中的应用发送的密码服务请求可以包括指定的密码算法。密码算法例如可以分为三类,分别是对称密码算法、非对称密码算法和哈希算法。对称密码算法主要包括AES算法、SM4算法等,对称密码算法的主要用途是对数据进行加密和解密操作;非对称密码算法主要包括RSA算法、ECC算法、SM2算法等,非对称密码算法的主要用途是对数据进行数字签名和签名验证操作;哈希算法主要包括SHA256算法、SM3算法等,哈希算法的主要用途是对数据进行哈希运算操作。例如,电子设备中的应用发送的密码服务请求可以是请求对一段视频数据进行对称加密,指定的密码算法为AES算法。又例如,电子设备中的应用发送的密码服务请求可以是请求对一段数据进行电子签名,指定的密码算法为SM2算法。第一硬件安全载体通过解析应用发送的密码服务请求,可以获得该密码服务请求指定的密码算法。
在一些实施例中,第一硬件安全载体在接收电子设备中的应用发送的密码服务请求时,第一硬件安全载体可以对该应用的身份进行认证。例如,电子设备中的应用作为一个进程,可以通过IPC(Inter-Process Communication,跨进程通信)的方式向第一硬件安全载体发送密码服务请求。第一硬件安全载体在接收到该密码服务请求后,可以获取该进程(即该电子设备中的应用)的身份标识,并验证该进程的身份标识,判断该应用是否是该电子设备中真实合法的应用,在验证通过后才可以向该应用提供密码服务,可以避免向仿冒的应用提供密码服务。
接下来,进入步骤S102。在步骤S102,判断所述第一硬件安全载体是否支持所述密码算法。
在一些实施例中,第一硬件安全载体提供了判断某种算法是否支持的接口。例如,第一硬件安全载体支持AES算法,而该第一硬件安全载体接收到的密码服务请求中指定的密码算法为SM4算法,则该第一硬件安全载体不支持该算法。又例如,第一硬件安全载体支持ECC算法,该第一硬件安全载体接收到的密码服务请求中指定的密码算法为ECC算法,则该第一硬件安全载体支持该算法。
如果所述第一硬件安全载体支持所述密码算法,进入步骤S103。在步骤S103,由所述第一硬件安全载体为所述应用提供密码服务。
第一硬件安全载体基于其支持的密码算法,提供了各种密码函数。例如,第一硬件安全载体支持AES算法、SM2算法,则该第一硬件安全载体可以提供基于AES算法的对称加密函数、对称解密函数以及基于SM2算法的数字签名函数、签名验证函数。在一实施例中,第一硬件安全载体接收的电子设备中的应用发送的密码服务请求是为一段数据进行基于AES算法的对称加密,该第一硬件安全载体支持AES算法,因此该第一硬件安全载体使用基于AES算法的对称加密函数为该应用提供密码服务请求。在另一实施例中,第一硬件安全载体接收的电子设备中的应用发送的密码服务请求是为一段数据进行基于SM2算法的数字签名,该第一硬件安全载体支持SM2算法,因此该第一硬件安全载体使用基于SM2算法的数字签名函数为该应用提供密码服务请求。
如果所述第一硬件安全载体不支持所述密码算法,进入步骤S104。在步骤S104,判断所述密码服务请求对应的安全等级是否为预定安全等级。
在一些实施例中,在电子设备中的应用发送的密码服务请求中可以包括安全等级的字段,在第一硬件安全载体解析了密码服务请求之后,可以获取该密码服务请求对应的安全等级,以判断该安全等级是否为预定安全等级。
如果所述密码服务请求对应的安全等级是所述预定安全等级,进入步骤S105。在步骤S105,由所述电子设备向第二硬件安全载体发送预定信号,使得所述第二硬件安全载体能够为所述应用提供密码服务。
在一些实施例中,电子设备中的应用可以将密码服务请求的安全等级分为两级(即高安全等级和低安全等级),将预定安全等级设置为高安全等级。高安全等级的安全性高于低安全等级的安全性,高安全等级的密码服务请求对密码函数的健壮性和对密钥存储安全的要求高于低安全等级的密码服务请求。由于第一硬件安全载体不支持电子设备中的应用发送的密码服务请求指定的密码算法,且该密码服务请求对应的安全等级是预定安全等级(即高安全等级),软件实现的密码函数安全性较低,不能满足高安全等级的要求,因此不能使用软件实现的密码函数,为该应用提供密码服务。需要通过第二硬件安全载体实现的密码函数,为该密码服务请求提供密码服务,该第二硬件安全载体支持该密码服务请求指定的密码算法。因为该密码服务请求对应的安全等级是高安全等级,需要高安全等级的密码服务。第二硬件安全载体将参与密码运算的密钥存储在自身的硬件中,密钥无法被窃取,且第二硬件安全载体基于自身的随机温度或随机噪声源,生成参与密码运算的随机数,该随机数无法被预测,因此第二硬件安全载体可以提供高安全强度的密码函数,从而为电子设备中的应用提供高安全等级的密码服务。
在一些实施例中,可以在该电子设备上外接第二硬件安全载体,从而为该密码服务请求提供密码服务。第一硬件安全载体与第二硬件安全载体的区别在于,第一硬件安全载体是在电子设备出厂前就安装在电子设备上的硬件安全载体,第二硬件安全载体是在电子设备销售之后,为了满足该密码应用需求而安装在电子设备上的硬件安全载体,第二硬件安全载体也可以是诸如SGX,TEE,TPM这样的硬件安全载体。电子设备可以将电子设备中的应用发送的密码服务请求转发至第二硬件安全载体,从而由第二硬件安全载体为应用提供密码服务。
如果所述密码服务请求对应的安全等级低于所述预定安全等级,进入步骤S106。在步骤S106,通过所述电子设备中软件实现的密码函数,为所述应用提供密码服务。
在一些实施例中,电子设备中的应用可以将密码服务请求的安全等级分为两级(即高安全等级和低安全等级),将预定安全等级设置为高安全等级。如果密码服务请求对应的安全等级低于所述预定安全等级,即该密码服务请求对应的安全等级是低安全等级,则通过电子设备中软件实现的密码函数,为该应用提供密码服务。软件实现的密码函数可以支持任意密码算法,但是软件实现的密码函数的安全等级低于硬件安全载体实现的密码函数,因为软件是将参与密码运算的密钥存储在电子设备的内存中,该密钥有被窃取的风险,且软件是通过伪随机数算法生成参与密码运算的随机数,该随机数有被预测的风险,降低了密码函数的安全等级。因此软件实现的密码函数只能在密码服务请求对应的安全等级是低安全等级时使用。在一实施例中,第一硬件安全载体接收的电子设备中的应用发送的密码服务请求是为一段数据进行基于SM4算法的对称加密,且安全等级低于预定安全等级。该第一硬件安全载体不支持SM4算法,则可以通过该电子设备中软件实现的基于SM4算法的对称加密函数,为该应用提供对称加密服务。在另一实施例中,第一硬件安全载体接收的电子设备中的应用发送的密码服务请求是为一段数据进行基于RSA算法的数字签名,且安全等级低于预定安全等级。该第一硬件安全载体不支持RSA算法,则可以通过该电子设备中软件实现基于RSA算法的数字签名函数,为该应用提供数字签名服务。
在步骤S101之前,密码服务方法100还包括:获取密码服务安装包,所述密码服务安装包包括:第一版本子包,对应于所述第一硬件安全载体和所述第二硬件安全载体;以及第二版本子包,用于实现所述软件,其中,通过所述第一版本子包和所述第二版本子包,将密码函数库安装至所电子设备中。
在一些实施例中,电子设备可以从安全厂商处获取密码服务安装包。例如,电子设备的拥有者可以去安全厂商提供的链接去获取密码服务安装包,并将其拷贝至电子设备中。安全厂商也可以通过OTA(Over The Air,空中下载)技术将密码服务安装包推送至电子设备。上文对电子设备获取密码服务安装包的方式的描述仅是示例性的,本领域技术人员可以根据实际情况对获取密码服务安装包的方式进行选择。
在一些实施例中,电子设备中可以包括多个第一硬件安全载体和第二硬件安全载体,例如包括硬件第一硬件安全载体1,第一硬件安全载体2,第二硬件安全载体1和第二硬件安全载体2。密码服务安装包中可以包括多个第一版本子包,每个第一版本子包都有其对应支持的硬件安全载体。例如,密码服务安装包中包括第一版本子包1至第一版本子包10,第一版本子包1对应于第一硬件安全载体1,第一版本子包3对应于第一硬件安全载体2,第一版本子包6对应于第二硬件安全载体1,第一版本子包9对应于第二硬件安全载体2。通过将第一版本子包1安装至第一硬件安全载体1,便可将基于第一硬件安全载体1的密码函数库安装至该电子设备中。同理,可以通过相同或则相似的方式将密码服务安装包中的第一版本子包安装至对应的第一硬件安全载体和第二硬件安全载体,从而将基于第一硬件安全载体和第二硬件安全载体的密码函数库安装至所电子设备中。密码服务安装包中还可以包括第二版本子包,该第二版本子包用于实现软件,该软件也可以向应用提供密码服务。通过在电子设备中安装第二版本子包,可以将软件实现的密码函数库安装至所电子设备中。
在一些实施例中,通过所述第一版本子包和所述第二版本子包,将密码函数库安装至所电子设备中,包括:识别所述电子设备中的第一硬件安全载体;在识别出的所述第一硬件安全载体中安装对应的所述第一版本子包,以便将所述第一硬件安全载体实现的密码函数库安装至所述电子设备中;安装所述第二版本子包,以便将所述软件实现的密码函数库安装至所述电子设备中。
具体地,电子设备可以识别出在该电子设备中安装了哪些第一硬件安全载体,并在密码服务安装包中查找对应于该第一硬件安全载体的第一版本子包。然后,在识别出的第一硬件安全载体中安装对应的所述第一版本子包,从而将第一硬件安全载体实现的密码函数库安装至该电子设备中。在安装完第一版本子包之后,还需要安装第二版本子包,从而将软件实现的密码函数库安装至电子设备中,以灵活地满足低安全等级要求的密码服务请求。
在一些实施例中,在上述步骤S105中,由所述电子设备向所述第二硬件安全载体发送所述预定信号,使得所述第二硬件安全载体能够为所述应用提供所述密码服务,包括:识别所述第二硬件安全载体;在识别出的所述第二硬件安全载体中安装对应的所述第一版本子包,以便将所述第二硬件安全载体实现的密码函数库安装至所述电子设备中;通过所述第二硬件安全载体实现的密码函数,为所述应用提供所述密码服务。
具体地,电子设备可以识别出该电子设备上外接了哪些第二硬件安全载体,并在密码服务安装包中查找对应于该第二硬件安全载体的第一版本子包。然后,在识别出的第二硬件安全载体中安装对应的所述第一版本子包,从而将第二硬件安全载体实现的密码函数库安装至电子设备中。在安装完密码函数库之后,可以基于该第二硬件安全载体实现的密码函数,为该应用提供密码服务。
在一些实施例中,所述第二硬件安全载体支持所述密码算法,所述第二硬件安全载体在所述密码服务安装包支持的硬件安全载体列表中。第二硬件安全载体需要支持电子设备中的应用发送的密码服务请求中指定的密码算法,基于此,第二硬件安全载体可以在第一硬件安全载体不支持该密码算法的情况下,为该应用提供密码服务。第二硬件安全载体还需要在密码服务安装包支持的硬件安全载体列表中,基于此,第二硬件安全载体在外接电子设备之后,才可以将对应的第一版本子包安装至该第二硬件安全载体中,从而将第二硬件安全载体实现的密码函数库安装至电子设备中。
在一些实施例中,所述硬件安全载体列表包括所述硬件安全载体的厂商信息及所述硬件安全载体的型号信息。安全厂商需要提前与市场上常见的硬件安全载体进行适配,完成适配后可以在密码服务安装包中加入与该硬件安全载体适配过的第一版本子包,并制作密码服务安装包支持的硬件安全载体列表。该硬件安全载体列表可以包括该硬件安全载体的厂商信息,例如硬件安全载体厂商编号、厂商信息等,以及该硬件安全载体的型号信息。基于此,电子设备的拥有者可以根据密码服务安装包支持的硬件安全载体列表,选择该硬件安全载体列表中记录的硬件安全载体作为第二硬件安全载体,外接至该电子设备上。
基于本申请实施例的技术方案,拥有多个硬件安全载体的电子设备可以只维护一份密码服务安装包,在安装密码服务时,在识别出的硬件安全载体上安装对应的第一版本子包,以实现基于硬件安全载体的密码函数,还可以同时安装第二版本子包,以实现基于软件的密码函数,维护安装包和安装密码服务的过程效率高,可以有效地为电子设备中地应用提供密码服务。
基于本申请实施例的技术方案,可以基于电子设备中的应用发送的密码服务请求中指定的密码算法和该密码服务请求对应的安全等级,采用满足该算法及安全等级要求的密码函数,为该应用提供密码服务,可以满足该应用请求的任意密码服务,保障该应用的安全性。
基于本申请实施例的技术方案,根据电子设备中的应用选择的安全等级和密码算法,可以使用不同的安全载体为该应用提供密码服务,在高并发的场景下可以合理调度密码计算资源,本方案具有可扩展性。
本申请另一实施例提供了一种密码服务方法200,该方法应用于电子设备,所述电子设备包括多个第一硬件安全载体,电子设备可以是诸如物联网设备,计算机,移动终端,服务器这样的电子设备。下文将参照图2对本申请的密码服务方法200进行说明。图2是示出本申请另一实施例的密码服务方法的流程图。如图2所示,所述密码服务方法200可以包括如下步骤S201至S204。下面将结合具体实施例对步骤S201至步骤S204进行详细说明。
首先进入步骤S201。在步骤S201,由所述电子设备中的应用生成密码服务请求,其中,所述密码服务请求包含预定需求。
在密码服务方法200中,第一硬件安全载体可以是诸如SGX,TEE,TPM这样的硬件安全载体。在一些实施例中,电子设备中的应用生成的密码服务请求可以不指定密码算法,但是包含预定需求。例如,预定需求可以是对一段数据进行对称加密,对一段数据进行数字签名,对一段数据进行哈希运算等,且不指定特定的密码算法。
接下来,进入步骤S202。在步骤S202,判断所述密码服务请求对应的安全级别是否为预定安全等级。
在一些实施例中,在电子设备中的应用生成的密码服务请求中可以包括安全等级的字段,电子设备可以获取该密码服务请求对应的安全等级,以判断该安全等级是否为预定安全等级。
如果所述密码服务请求的安全级别低于所述预定安全等级,进入步骤S203。在步骤S203,通过所述电子设备中软件实现的密码函数,为所述应用提供所述密码服务。
在一些实施例中,电子设备中的应用可以将密码服务请求的安全等级分为两级(即高安全等级和低安全等级),将预定安全等级设置为高安全等级。如果密码服务请求对应的安全等级低于所述预定安全等级,即该密码服务请求对应的安全等级是低安全等级,则通过电子设备中软件实现的密码函数,为该应用提供密码服务。例如,电子设备中的应用生成的密码服务请求是为一段数据进行对称加密,该密码服务请求对应的安全等级低于预定安全等级,且没有指定密码算法,则可以通过该电子设备中软件实现基于SM4算法的对称加密函数或基于AES算法的对称加密函数,为该应用提供对称加密服务。因为该密码服务请求没有指定密码算法,所以可以使用任意对称密码算法,只要满足该密码服务请求的预定需求即可。
如果所述密码服务请求对应的安全等级是所述预定安全等级,进入步骤S204。在步骤S204,选择所述多个第一硬件安全载体中的满足预定需求的第一硬件安全载体,并通过所述满足预定需求的第一硬件安全载体实现的密码函数,为所述应用提供密码服务。
在一些实施例中,电子设备中的应用可以将密码服务请求的安全等级分为两级(即高安全等级和低安全等级),将预定安全等级设置为高安全等级。电子设备中可以有多个第一硬件安全载体,他们各自支持的密码算法可以不相同。例如,电子设备中的第一硬件安全载体包括第一硬件安全载体1和第一硬件安全载体2。第一硬件安全载体1支持ECC算法,第一硬件安全载体2支持SM4算法。例如,电子设备中的应用生成的密码服务请求是为一段数据进行数字签名,该密码服务请求对应的安全等级是预定安全等级,且没有指定密码算法,则可以在多个第一硬件安全载体中选择满足预定需求的第一硬件安全载体,即选择第一硬件安全载体1,该第一硬件安全载体支持ECC算法,可以满足密码服务请求中数字签名的需求。然后通过第一硬件安全载体1实现的数字签名函数,为该应用提供密码服务。
基于本申请实施例的技术方案,在电子设备中的应用对密码算法无要求的情况下,可以根据密码服务请求中的预定需求和该密码服务请求对应的安全等级,采用满足该预定需求和安全等级要求的密码函数,为该应用提供密码服务,可以满足该应用请求的任意密码服务,保障该应用的安全性。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请一实施例还提供一种密码服务装置300,该装置部署于电子设备,所述电子设备包括第一硬件安全载体,电子设备可以是诸如物联网设备,计算机,移动终端,服务器这样的电子设备。下文将参照图3对本申请的密码服务装置300进行说明。图3是示出本申请一实施例的密码服务装置的结构框图。如图3所示,密码服务装置300可以包括:请求接收单元301和处理单元302。
请求接收单元301,配置来由所述第一硬件安全载体接收所述电子设备中的应用发送的密码服务请求,其中,所述密码服务请求指定密码算法。
请求接收单元301可以是电子设备中的一个组件,电子设备通过该组件来接收该电子设备中的应用发送的密码服务请求。
处理单元302,配置来判断所述第一硬件安全载体是否支持所述密码算法,其中,如果所述第一硬件安全载体支持所述密码算法,则由所述第一硬件安全载体为所述应用提供密码服务;以及如果所述第一硬件安全载体不支持所述密码算法,则判断所述密码服务请求对应的安全等级是否为预定安全等级,其中,如果所述密码服务请求对应的安全等级是所述预定安全等级,则由所述电子设备向第二硬件安全载体发送预定信号,使得所述第二硬件安全载体能够为所述应用提供密码服务;以及如果所述密码服务请求对应的安全等级低于所述预定安全等级,则通过所述电子设备中软件实现的密码函数,为所述应用提供密码服务。
处理单元302可以是电子设备中的一个组件,电子设备通过该组件来对电子设备中的应用发送的密码服务请求进行处理。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,并具备相应的有益效果,在此不再赘述。
与本申请另一实施例提供的方法的应用场景以及方法相对应地,本申请另一实施例还提供一种密码服务装置400,该装置部署于电子设备,所述电子设备包括多个第一硬件安全载体,电子设备可以是诸如物联网设备,计算机,移动终端,服务器这样的电子设备。下文将参照图4对本申请的密码服务装置400进行说明。图4是示出本申请另一实施例的密码服务装置的结构框图。如图4所示,密码服务装置400可以包括:请求生成单元401和处理单元402。
请求生成单元401,配置来由所述电子设备中的应用生成密码服务请求,其中,所述密码服务请求包含预定需求。
请求生成单元401可以是电子设备中的一个组件,电子设备通过该组件来生成密码服务请求。
处理单元402,配置来判断所述密码服务请求对应的安全级别是否为预定安全等级,其中,如果所述密码服务请求的安全级别低于所述预定安全等级,则通过所述电子设备中软件实现的密码函数,为所述应用提供所述密码服务;以及如果所述密码服务请求的安全级别为所述预定安全等级,则选择所述多个第一硬件安全载体中的满足预定需求的第一硬件安全载体,并通过所述满足预定需求的第一硬件安全载体实现的密码函数,为所述应用提供密码服务。
处理单元402可以是电子设备中的一个组件,电子设备通过该组件来对电子设备中的应用生成的密码服务请求进行处理。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,并具备相应的有益效果,在此不再赘述。
依据本申请实施例,可以基于电子设备中的应用发送的密码服务请求中指定的密码算法和该密码服务请求对应的安全等级,采用满足该算法及安全等级要求的密码函数,为该应用提供密码服务,可以满足该应用请求的任意密码服务,保障该应用的安全性。
依据本申请实施例,在电子设备中的应用对密码算法无要求的情况下,可以根据密码服务请求中的预定需求和该密码服务请求对应的安全等级,采用满足该预定需求和安全等级要求的密码函数,为该应用提供密码服务,可以满足该应用请求的任意密码服务,保障该应用的安全性。
依据本申请实施例,密码服务安装包内包括电子设备上所有硬件安全载体的安装子包,通过该密码服务安装包即可将全部密码函数库安装至电子设备上,使电子设备在维护密码服务安装包时更加方便。
依据本申请实施例,根据电子设备中的应用选择的安全等级和密码算法,可以使用不同的安全载体为该应用提供密码服务,在高并发的场景下可以合理调度密码计算资源,使得本方案具有可扩展性。
图5为用来实现本申请实施例的电子设备的框图。如图5所示,该电子设备包括:存储器501和处理器502,存储器501内存储有可在处理器502上运行的计算机程序。处理器502执行该计算机程序时实现上述实施例中的方法。存储器501和处理器502的数量可以为一个或多个。
该电子设备还包括:
通信接口503,用于与外界设备进行通信,进行数据交互传输。
如果存储器501、处理器502和通信接口503独立实现,则存储器501、处理器502和通信接口503可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器501、处理器502及通信接口503集成在一块芯片上,则存储器501、处理器502及通信接口503可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机访问存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机访问存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM均可用。例如,静态随机访问存储器(Static RAM,SRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)、同步动态随机访问存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机访问存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机访问存储器(Enhanced SDRAM,ESDRAM)、同步链接动态随机访问存储器(Sync link DRAM,SLDRAM)和直接内存总线随机访问存储器(DirectRambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生依照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中描述的或在此以其他方式描述的任何过程或方法可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中描述的或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的示例性实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请记载的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种密码服务方法,应用于电子设备,所述电子设备包括第一硬件安全载体,所述密码服务方法包括:
由所述第一硬件安全载体接收所述电子设备中的应用发送的密码服务请求,其中,所述密码服务请求指定密码算法;以及
判断所述第一硬件安全载体是否支持所述密码算法,其中,
如果所述第一硬件安全载体支持所述密码算法,则由所述第一硬件安全载体为所述应用提供密码服务;以及
如果所述第一硬件安全载体不支持所述密码算法,则判断所述密码服务请求对应的安全等级是否为预定安全等级,其中,
如果所述密码服务请求对应的安全等级是所述预定安全等级,则由所述电子设备向第二硬件安全载体发送预定信号,使得所述第二硬件安全载体能够为所述应用提供密码服务;以及
如果所述密码服务请求对应的安全等级低于所述预定安全等级,则通过所述电子设备中软件实现的密码函数,为所述应用提供密码服务。
2.根据权利要求1所述的密码服务方法,其中,在接收所述电子设备中的所述应用发送的所述密码服务请求之前,所述方法还包括:
获取密码服务安装包,所述密码服务安装包包括:
第一版本子包,对应于所述第一硬件安全载体和所述第二硬件安全载体;以及
第二版本子包,用于实现所述软件,其中,
通过所述第一版本子包和所述第二版本子包,将密码函数库安装至所述电子设备中。
3.根据权利要求2所述的密码服务方法,所述通过所述第一版本子包和所述第二版本子包,将密码函数库安装至所述电子设备中,包括:
识别所述电子设备中的第一硬件安全载体;
在识别出的所述第一硬件安全载体中安装对应的所述第一版本子包,以便将所述第一硬件安全载体实现的密码函数库安装至所述电子设备中;
安装所述第二版本子包,以便将所述软件实现的密码函数库安装至所述电子设备中。
4.根据权利要求2所述的密码服务方法,由所述电子设备向所述第二硬件安全载体发送所述预定信号,使得所述第二硬件安全载体能够为所述应用提供所述密码服务,包括:
识别所述第二硬件安全载体;
在识别出的所述第二硬件安全载体中安装对应的所述第一版本子包,以便将所述第二硬件安全载体实现的密码函数库安装至所述电子设备中;
通过所述第二硬件安全载体实现的密码函数,为所述应用提供所述密码服务。
5.根据权利要求4所述的密码服务方法,所述第二硬件安全载体支持所述密码算法,所述第二硬件安全载体在所述密码服务安装包支持的硬件安全载体列表中。
6.根据权利要求5所述的密码服务方法,所述硬件安全载体列表包括所述硬件安全载体的厂商信息及所述硬件安全载体的型号信息。
7.一种密码服务方法,应用于电子设备,所述电子设备包括多个第一硬件安全载体,所述密码服务方法包括:
由所述电子设备中的应用生成密码服务请求,其中,所述密码服务请求包含预定需求;以及
判断所述密码服务请求对应的安全级别是否为预定安全等级,其中,
如果所述密码服务请求的安全级别低于所述预定安全等级,则通过所述电子设备中软件实现的密码函数,为所述应用提供所述密码服务;以及
如果所述密码服务请求的安全级别为所述预定安全等级,则选择所述多个第一硬件安全载体中的满足预定需求的第一硬件安全载体,并通过所述满足预定需求的第一硬件安全载体实现的密码函数,为所述应用提供密码服务。
8.一种密码服务装置,部署于电子设备,所述电子设备包括第一硬件安全载体,所述密码服务装置包括:
请求接收单元,配置来由所述第一硬件安全载体接收所述电子设备中的应用发送的密码服务请求,其中,所述密码服务请求指定密码算法;以及
处理单元,配置来判断所述第一硬件安全载体是否支持所述密码算法,其中,
如果所述第一硬件安全载体支持所述密码算法,则由所述第一硬件安全载体为所述应用提供密码服务;以及
如果所述第一硬件安全载体不支持所述密码算法,则判断所述密码服务请求对应的安全等级是否为预定安全等级,其中,
如果所述密码服务请求对应的安全等级是所述预定安全等级,则由所述电子设备向第二硬件安全载体发送预定信号,使得所述第二硬件安全载体能够为所述应用提供密码服务;以及
如果所述密码服务请求对应的安全等级低于所述预定安全等级,则通过所述电子设备中软件实现的密码函数,为所述应用提供密码服务。
9.一种密码服务装置,部署于电子设备,所述电子设备包括多个第一硬件安全载体,所述密码服务装置包括:
请求生成单元,配置来由所述电子设备中的应用生成密码服务请求,其中,所述密码服务请求包含预定需求;以及
处理单元,配置来判断所述密码服务请求对应的安全级别是否为预定安全等级,其中,
如果所述密码服务请求的安全级别低于所述预定安全等级,则通过所述电子设备中软件实现的密码函数,为所述应用提供所述密码服务;以及
如果所述密码服务请求的安全级别为所述预定安全等级,则选择所述多个第一硬件安全载体中的满足预定需求的第一硬件安全载体,并通过所述满足预定需求的第一硬件安全载体实现的密码函数,为所述应用提供密码服务。
10.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求1-7中任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310225313.6A CN116226883A (zh) | 2023-03-03 | 2023-03-03 | 密码服务方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310225313.6A CN116226883A (zh) | 2023-03-03 | 2023-03-03 | 密码服务方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116226883A true CN116226883A (zh) | 2023-06-06 |
Family
ID=86580376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310225313.6A Pending CN116226883A (zh) | 2023-03-03 | 2023-03-03 | 密码服务方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116226883A (zh) |
-
2023
- 2023-03-03 CN CN202310225313.6A patent/CN116226883A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214168B (zh) | 固件升级方法及装置 | |
CN105577379B (zh) | 一种信息处理方法及装置 | |
US8856544B2 (en) | System and method for providing secure virtual machines | |
JP4856080B2 (ja) | データ処理装置へのデータのセキュリティ上安全なロード及び格納 | |
CN111090876A (zh) | 调用合约的方法及装置 | |
US20130152180A1 (en) | Device using secure processing zone to establish trust for digital rights management | |
US11334345B2 (en) | Differential firmware update generation | |
CN109450620B (zh) | 一种移动终端中共享安全应用的方法及移动终端 | |
CN112800393B (zh) | 授权认证、软件开发工具包生成方法、装置及电子设备 | |
CN111414640B (zh) | 秘钥访问控制方法和装置 | |
US20200044838A1 (en) | Data encryption method and system using device authentication key | |
CN110837643B (zh) | 一种可信执行环境的激活方法和装置 | |
CN116226940B (zh) | 一种基于pcie的数据安全处理方法以及数据安全处理系统 | |
CN114968088B (zh) | 文件存储方法、文件读取方法及装置 | |
CN116226883A (zh) | 密码服务方法、装置、电子设备及存储介质 | |
US20220209946A1 (en) | Key revocation for edge devices | |
CN111182010A (zh) | 一种本地服务提供方法及装置 | |
US20130219510A1 (en) | Drm/cas service device and method using security context | |
CN114389790A (zh) | 一种安全多方计算方法及装置 | |
CN111611551A (zh) | 一种基于国密算法的动态链接库保护方法及其系统 | |
CN111385266A (zh) | 数据共享方法、装置、计算机设备和存储介质 | |
CN117353920B (zh) | 一种密钥派生方法、处理器和相关设备 | |
US11526598B2 (en) | Microcontroller and semiconductor device | |
CN114896621B (zh) | 应用服务的获取方法、加密方法、装置、计算机设备 | |
US20220066845A1 (en) | Dynamic authenticatication an authorization of a containerized process |
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 |