CN113452522A - 基于国密的硬件安全模块软件实现方法、存储介质及装置 - Google Patents

基于国密的硬件安全模块软件实现方法、存储介质及装置 Download PDF

Info

Publication number
CN113452522A
CN113452522A CN202110721356.4A CN202110721356A CN113452522A CN 113452522 A CN113452522 A CN 113452522A CN 202110721356 A CN202110721356 A CN 202110721356A CN 113452522 A CN113452522 A CN 113452522A
Authority
CN
China
Prior art keywords
key
type
module
algorithm
password
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
Application number
CN202110721356.4A
Other languages
English (en)
Other versions
CN113452522B (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.)
Hangzhou Yunxiang Network Technology Co Ltd
Original Assignee
Hangzhou Yunxiang Network Technology Co 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 Hangzhou Yunxiang Network Technology Co Ltd filed Critical Hangzhou Yunxiang Network Technology Co Ltd
Priority to CN202110721356.4A priority Critical patent/CN113452522B/zh
Publication of CN113452522A publication Critical patent/CN113452522A/zh
Application granted granted Critical
Publication of CN113452522B publication Critical patent/CN113452522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了基于国密的硬件安全模块软件实现方法、存储介质及装置,方法包括:抽象对象模块对OpenSSL模块中的OpenSSL中的国密类型进行抽象;获取抽象后的国密类型结果,安全数据管理模块新增密钥产生机制、签名验签机制、加密解密机制和哈希机制;同时,在安全对象存储模块中新增密钥类型,根据抽象后的国密类型的结果标记所述安全数据管理模块中各机制使用的密钥;发送所述安全数据管理模块的所有机制到会话管理模块,会话管理模块增加所述机制的类型和对象的访问路径;根据所述访问路径统一对外的PKCS#11接口,调用底层开放式安全套接层协议中的国密算法,同时管理密钥。本发明通过软件实现硬件安全模块支持国密算法,同时提高输出密码的安全性。

Description

基于国密的硬件安全模块软件实现方法、存储介质及装置
技术领域
本发明属于硬件国密技术领域,具体涉及基于国密的硬件安全模块软件实现方法、存储介质及装置。
背景技术
目前,硬件加密设备通常使用PKCS系列密码标准的接口进行密码的传输,PKCS包括一组密码标准,这些标准提供使用密码方法的指南和应用程序编程接口(API)。PKCS#11是其中一个密码令牌接口标准,它制定一套称为Cryptoki的API。使用此API,应用程序可以将加密设备作为令牌进行寻址,并可以执行由这些令牌实现的加密功能。但是,PKCS#11作为国际标准,接口规范设计之初不支持国密算法。
硬件安全模块HSM通常需要与软件进行连接,为软件服务提供更加安全高效的硬件加密安防,因此就有了SoftHSM的应用开发,SoftHSM实现了PKCS#11定义的加密存储访问接口。使用SoftHSM无需硬件的安全模块就可以实现密码安全存储,它现在是作为OpenDNSSEC(Open Domain Name System Security Extensions)项目的一部分进行开发。
在目前的技术应用领域,整个SoftHSM架构组成包括OpenSSL(开放式安全套接层协议)、抽象对象模块、安全对象存储模块、安全数据管理模块、会话管理模块、插槽管理模块、用户管理模块、公钥密码标准模块、初始化和配置模块以及审计模块。
OpenSSL虽然支持国家商业密码SM2/SM3/SM4,但是并没有像支持椭圆曲线算法接口一样提供支持SM2/SM3/SM4的接口,即没有公共头文件,而是通过使用更高级的函数库(例如函数库EVP,封装OpenSSL加密库里面全部算法的函数)接口间接地完成国密算法。
国家商业密码(简称为国密算法)作为一种受到国家重视和推广的密码标准,在实际应用场景中,越来越多的中国市场安全密码环境倾向于采用这种密码,但国密算法并没有形成广泛的技术落地以适应不同应用场景的国密加密需求,硬件加密和软件加密更是需要落地实现的技术方案。
因此,亟需基于国密的硬件安全模块软件实现方法、存储介质及装置用于支持国密的硬件加密的软件实现,满足更高安全的加密应用需求。
发明内容
本发明基于上述背景和现有技术所存在的问题,拟设计基于国密的硬件安全模块软件实现方法、存储介质及装置,其能够使得PKCS#11支持国密算法。本发明还有一个目的是通过软件实现硬件安全模块支持国密算法,提高输出密码的安全性。
为了实现这些目的和其它优点,本发明第一方面,提供了一种基于国密的硬件安全模块软件实现方法,具体实现步骤包括:
响应于开放式安全套接层协议模块(OpenSSL模块)中新增的国密类型,抽象对象模块对所述开放式安全套接层协议模块中的开放式安全套接层协议(OpenSSL协议)中的国密类型进行抽象;
获取抽象后的国密类型结果,安全数据管理模块新增密钥产生机制、签名验签机制、加密解密机制和哈希机制;同时,
在安全对象存储模块中新增密钥类型,根据抽象后的国密类型的结果标记所述安全数据管理模块中各机制使用的密钥,其中的标记为对称加密算法或非对称加密算法;
发送所述安全数据管理模块的所有机制到会话管理模块,会话管理模块增加所述机制的类型和对象的访问路径;
根据所述访问路径统一对外的公钥密码标准端的PKCS#11接口,调用底层开放式安全套接层协议中的国密算法,同时管理密钥。
进一步地,对所述新增的国密类型进行抽象,包括对非对称加密算法SM2、哈希算法SM3、对称加密算法SM4抽象为开放式安全套接层协议类型:
所述非对称加密算法SM2抽象为开放式安全套接层协议类型中的OSSLSM2类型,引入两个虚函数,所述虚函数包括获取密文长度函数(getCiphertextLen函数)和获取明文长度函数(getPlaintextLen函数)获取公钥加密和私钥解密时返回值空间的预估长度,所述安全对象存储模块保存所述OSSLSM2类型对象及其产生机制,根据密钥句柄获取SM2公私钥;
所述哈希算法SM3抽象为开放式安全套接层协议类型中的OSSLSM3类型,所述安全对象存储模块保存所述OSSLSM3类型对象及其哈希机制;
所述对称加密算法SM4抽象为开放式安全套接层协议类型中的OSSLSM4类型,所述安全对象存储模块保存所述OSSLSM4类型对象及其对称密钥。
在一种可选的实施方式中,所述密钥产生机制,包括国密SM2的密钥对的产生,主要为密钥对中的私钥,具体实现步骤包括:
获取非对称密钥结构(eckey结构)、非对称密码算法组及SM2的目标标识符OID;
基于所述非对称密钥结构,配置非对称密码算法组,产生非对称密钥对(eckey),并标记SM2的OID格式;
基于上述操作后,从所述非对称密钥对中获取非对称密码算法组、公钥和私钥。
在一种可选的实施方式中,所述签名验签机制包括采用国密SM2算法结合国密SM3算法运算,其中签名操作的具体实现步骤包括:
获取数字信封密钥结构(evpkey结构);
基于所述数字信封密钥结构,为数字信封密钥(evpkey)绑定为特定的非对称密钥对;
为所述非对称密钥对指定使用国密SM2算法别名类型;
获取所述数字信封密钥计算执行过程(上下文)结构;
设置国密SM2算法中特有的用户身份标识(UserID);
绑定所述数字信封密钥计算执行过程,所述执行过程绑定所述用户身份标识进行签名初始化准备;
传入待签名的数据原文,使用国密SM3算法运算哈希值,完成签名。
在上述方案中,还包括验签操作,验签操作的具体实现步骤包括:
获取验签请求进行验签初始化,指定使用SM3运算哈希值;
传入待验签的数据原文,使用国密SM3算法对待验签的数据原文进行验签。
在上述方案中,执行国密SM3算法运算哈希值通过公钥密码标准端实施对抽象对象模块的国密SM3算法的操作,具体实现步骤包括:
响应于所述公钥密码标准端的接口传输的签名哈希摘要信息;
获取所述抽象对象模块的整数类型阶段保存的参数,并传输到开放式安全套接层协议模块中;
所述开放式安全套接层协议模块对OSSLSM3类型进行哈希签名运算,执行结束签名操作后返回哈希结果。
在一种可选的实施方式中,公钥密码标准端的接口支持密钥导入导出操作,采用util工具支持国密SM2密钥对的导入导出操作,所述导入操作的具体实现步骤包括:
将所述密钥对转换为公钥密码标准的PKCS#8格式,获取密钥的目标标识符OID,并对所述公钥密码标准的PKCS#8格式以文件形式保存到本地;
根据所述OID判断国密算法类型,并在安全对象存储模块中保存所述国密算法的私钥。
在上述方案中,所述导出操作的具体实现步骤包括:
传入待导出的密钥的ID;
采用公钥密码标准的PKCS#11接口通过内置AES密钥对所述待导出的密钥进行导出并解密;
将所述解密结果写入本地文件中。
另一方面,本发明提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现以上任意一项的方法和步骤。
第三方面,本发明提出了一种基于国密的硬件安全模块装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时可实现以上任意一项的方法和步骤。
本发明至少包括以下有益效果:本发明基于硬件安全模块,执行国密软件实现,主要对硬件安全模块中的OpenSSL(开放式安全套接层协议)模块、抽象对象模块、安全对象存储模块、安全数据管理模块、会话管理模块和PKCS(公钥密码标准端)模块(包括PKCS#11和PKCS#8号类型接口的使用)进行如上述改造,PKCS#11标准接口起着沟通硬件安全模块、OpenSSL和加密机的功能,使PKCS#11支持国密算法,可实现进一步对其进行功能的扩展,增加OpenSSL中对国密算法的支持,最终依托硬件加密模块输出更加安全的国密算法,通过PKCS#11标准接口输出国密算法功能,其中适用于更加多的商业应用场景。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,图中显而易见可以的具体实现流程作为本发明进一步的具体实施例,落入本发明的保护范围。
图1为本发明使用的通用SoftHSM整体架构基本原理图;
图2为本发明基于国密的硬件安全模块软件实现总体实现流程图。
具体实施方式
为了清晰地阐述本发明,使本发明实施例的目的、技术方案和优点更加清楚,下面结合了本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,以令本领域技术人员参照说明书文字能够据以实施。下面将附图结合具体实施方式对本发明的技术加以详细说明。
名词解释:
PKCS:The Public-Key Cryptography Standards,公钥密码标准。
OpenSSL:Open Secure Sockets Layer,开放式安全套接层协议,在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。
SoftHSM:Soft HardWare SecurityModule,软件实现的硬件安全模块。本发明使得SoftHSM支持国密,首先要将运行环境的OpenSSL升级到1.1.1版本以上。
OID:Order Initiated Distribution,目标标识符。
具体实施例1:
图1示出了根据本发明的一种实现形式,示出了通用SoftHSM整体架构图,本发明基于硬件安全模块并对其进行软件实现上的改进,执行国密软件实现,如图2所示,具体实现步骤包括:
Step1:响应于开放式安全套接层协议模块(OpenSSL模块)中新增的国密类型(OSSLSM2、OSSLSM3、OSSLSM4),抽象对象模块对所述开放式安全套接层协议模块中的开放式安全套接层协议(OpenSSL协议)中的国密类型进行抽象;对所述新增的国密类型进行抽象,包括对非对称加密算法SM2、哈希算法SM3、对称加密算法SM4抽象为开放式安全套接层协议类型:
(1)所述非对称加密算法SM2抽象为OpenSSL协议类型的OSSLSM2类型,引入两个虚函数,所述虚函数包括getCiphertextLen函数和getPlaintextLen函数,获取公钥加密和私钥解密时返回值空间的预估长度,所述安全对象存储模块保存所述OSSLSM2类型对象及其产生机制,根据密钥句柄获取SM2公私钥;
(2)所述哈希算法SM3抽象为OpenSSL协议类型的OSSLSM3类型,所述安全对象存储模块保存所述OSSLSM3类型对象及其哈希机制;
(3)所述对称加密算法SM4抽象为OpenSSL协议类型的OSSLSM4类型,所述安全对象存储模块保存所述OSSLSM4类型对象及其对称密钥。
Step2:获取抽象后的国密类型结果,安全数据管理模块新增密钥产生机制:在执行时分别通过CKM_SM2_KEY_PAIR_GEN,CKM_SM4_KEY_GEN这样的命令标识分别执行SM2和SM4算法密钥产生机制指令、签名验签机制:在执行时通过CKM_SM3_SM2这样的命令标识执行SM3算法SM2签名验签机制、加密解密机制:在执行时通过CKM_SM4_CBC和CKM_SM2_RAW这样的命令标识分别执行SM4和SM2算法对称加密机制和非对称加密机制和哈希机制:在执行时通过CKM_SM3这样的命令标识执行SM3哈希计算机制;
其中,
S21:所述密钥产生机制,包括国密SM2的密钥对(有时候主要是私钥)的产生,具体实现步骤包括:
S211:获取非对称密钥结构(eckey结构)、非对称密码采用椭圆曲线ECC算法组及SM2的目标标识符OID(例如OID是1,2,156,10197,1,301);
S212:基于eckey结构,配置非对称密码算法组,产生非对称密钥对(eckey),并标记SM2的OID格式;
S213:基于上述操作后,从所述eckey中获取非对称密码算法组、公钥和私钥。
其中,
S22:所述签名验签机制包括采用国密SM2算法结合国密SM3算法运算,
S221:其中签名操作的具体实现步骤包括:
S2211:获取数字信封密钥结构(evpkey结构);
S2212:基于所述evpkey结构,为数字信封密钥(evpkey)绑定为特定的eckey;
S2213:为所述eckey指定使用国密SM2算法别名类型;
S2214:获取所述evpkey计算执行过程(上下文)结构;
S2215:设置国密SM2算法中特有的用户身份标识(UserID,一般默认为1234567812345678);
S2216:绑定所述evpkey计算执行过程,所述执行过程绑定所述用户身份标识进行签名初始化准备;
S2217:传入待签名的数据原文,使用国密SM3算法运算哈希值,完成签名。
S222:还包括验签操作,验签操作的具体实现步骤包括:
S2221:获取验签请求进行验签初始化,指定使用SM3运算哈希值;
S2222:传入待验签的数据原文,使用国密SM3算法对待验签的数据原文进行验签。
其中,
S23:执行国密SM3算法运算哈希值通过公钥密码标准端实施对抽象对象模块的国密SM3算法的操作,具体实现步骤包括:
S231:响应于所述公钥密码标准端的接口传输的签名哈希摘要信息;
S232:获取所述抽象对象模块的整数类型阶段保存的参数,并传输到开放式安全套接层协议模块中;
S233:所述OpenSSL协议模块对OSSLSM3类型进行哈希签名运算,执行结束签名操作后返回哈希结果。
Step3:同时,在安全对象存储模块中新增密钥类型,例如CKK_SM2类型和CKK_SM4类型,根据抽象后的国密类型的结果标记,标记为非对称加密算法或对称加密算法例如SM2或SM4,所述安全数据管理模块中各机制使用的密钥;
Step4:发送所述安全数据管理模块的所有机制到会话管理模块,会话管理模块增加所述机制的类型和对象的访问路径;
Step5:根据所述访问路径统一对外的公钥密码标准端的PKCS#11接口,调用底层OpenSSL协议中的国密算法,同时管理密钥。其中,公钥密码标准端的接口支持密钥导入导出操作,采用util工具支持国密SM2密钥对的导入导出操作,
S51:所述导入操作的具体实现步骤包括:
S511:将所述密钥对转换为公钥密码标准的PKCS#8格式,获取密钥的OID,并对所述公钥密码标准的PKCS#8格式以文件形式保存到本地;
S512:根据所述OID判断国密算法类型,例如SM2算法类型,并在安全对象存储模块中保存所述国密算法的私钥。
S52:所述导出操作的具体实现步骤包括:
S521:传入待导出的密钥的ID;
S522:采用公钥密码标准的PKCS#11接口通过内置AES密钥对所述待导出的密钥进行导出并解密;
S523:将所述解密结果写入本地文件中。
实施例2:
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以上所述的任意一项的方法步骤。对于存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
这里说明的模块数量和处理规模是用来简化本发明的说明的。对本发明的基于国密的硬件安全模块软件实现方法的应用、修改和变化对本领域的技术人员来说是显而易见的。
实施例3:
一种基于国密的硬件安全模块装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以上所述的任意一项的方法步骤。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

Claims (10)

1.一种基于国密的硬件安全模块软件实现方法,其特征在于,具体实现步骤包括:
响应于开放式安全套接层协议模块中新增的国密类型,抽象对象模块对所述开放式安全套接层协议模块中的开放式安全套接层协议中的国密类型进行抽象;
获取抽象后的国密类型结果,安全数据管理模块新增密钥产生机制、签名验签机制、加密解密机制和哈希机制;同时,
在安全对象存储模块中新增密钥类型,根据抽象后的国密类型的结果标记所述安全数据管理模块中各机制使用的密钥;
发送所述安全数据管理模块的所有机制到会话管理模块,会话管理模块增加所述机制的类型和对象的访问路径;
根据所述访问路径统一对外的公钥密码标准端的PKCS#11接口,调用底层开放式安全套接层协议中的国密算法,同时管理密钥。
2.根据权利要求1所述的基于国密的硬件安全模块软件实现方法,其特征在于,对所述新增的国密类型进行抽象,包括对非对称加密算法SM2、哈希算法SM3、对称加密算法SM4抽象为开放式安全套接层协议类型:
其中,所述非对称加密算法SM2抽象为开放式安全套接层协议类型中的OSSLSM2类型,引入两个虚函数,所述虚函数包括获取密文长度函数和获取明文长度函数,获取公钥加密和私钥解密时返回值空间的预估长度,所述安全对象存储模块保存所述OSSLSM2类型对象及其产生机制,根据密钥句柄获取SM2公私钥;
所述哈希算法SM3抽象为开放式安全套接层协议类型中的OSSLSM3类型,所述安全对象存储模块保存所述OSSLSM3类型对象及其哈希机制;
所述对称加密算法SM4抽象为开放式安全套接层协议类型中的OSSLSM4类型,所述安全对象存储模块保存所述OSSLSM4类型对象及其对称密钥。
3.根据权利要求1所述的基于国密的硬件安全模块软件实现方法,其特征在于,所述密钥产生机制,包括国密SM2密钥对的产生,具体实现步骤包括:
获取非对称密钥结构、非对称密码算法组及SM2的目标标识符OID;
基于非对称密钥结构,配置非对称密码算法组,产生非对称密钥对,并标记SM2的OID格式;
基于上述操作后,从所述非对称密钥对中获取非对称密码算法组、公钥和私钥。
4.根据权利要求1所述的基于国密的硬件安全模块软件实现方法,其特征在于,所述签名验签机制包括采用国密SM2算法结合国密SM3算法运算,其中签名操作的具体实现步骤包括:
获取数字信封密钥结构;
基于所述数字信封密钥结构,为数字信封密钥绑定为特定的非对称密钥对;
为所述非对称密钥对指定使用国密SM2算法别名类型;
获取所述数字信封密钥计算执行过程结构;
设置国密SM2算法中特有的用户身份标识;
绑定所述数字信封密钥计算执行过程,所述执行过程绑定所述用户身份标识进行签名初始化准备;
传入待签名的数据原文,使用国密SM3算法运算哈希值,完成签名。
5.根据权利要求4所述的基于国密的硬件安全模块软件实现方法,其特征在于,其中,还包括验签操作,验签操作的具体实现步骤包括:
获取验签请求进行验签初始化,指定使用SM3运算哈希值;
传入待验签的数据原文,使用国密SM3算法对待验签的数据原文进行验签。
6.根据权利要求4或5所述的基于国密的硬件安全模块软件实现方法,其特征在于,其中,执行国密SM3算法运算哈希值通过公钥密码标准端实施对抽象对象模块的国密SM3算法的操作,具体实现步骤包括:
响应于所述公钥密码标准端的接口传输的签名哈希摘要信息;
获取所述抽象对象模块的整数类型阶段保存的参数,并传输到开放式安全套接层协议模块中;
所述开放式安全套接层协议模块对OSSLSM3类型进行哈希签名运算,执行结束签名操作后返回哈希结果。
7.根据权利要求1所述的基于国密的硬件安全模块软件实现方法,其特征在于,公钥密码标准端的接口支持密钥导入导出操作,采用util工具支持国密SM2密钥对的导入导出操作,所述导入操作的具体实现步骤包括:
将所述密钥对转换为公钥密码标准的PKCS#8格式,获取密钥的OID,并对所述公钥密码标准的PKCS#8格式以文件形式保存到本地;
根据所述OID判断国密算法类型,并在安全对象存储模块中保存所述国密算法的私钥。
8.根据权利要求7所述的基于国密的硬件安全模块软件实现方法,其特征在于,所述导出操作的具体实现步骤包括:
传入待导出的密钥的ID;
采用公钥密码标准的PKCS#11接口通过内置AES密钥对所述待导出的密钥进行导出并解密;
将所述解密结果写入本地文件中。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任意一项所述的方法步骤。
10.一种基于国密的硬件安全模块装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任意一项所述的方法步骤。
CN202110721356.4A 2021-06-28 2021-06-28 基于国密的硬件安全模块软件实现方法、存储介质及装置 Active CN113452522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110721356.4A CN113452522B (zh) 2021-06-28 2021-06-28 基于国密的硬件安全模块软件实现方法、存储介质及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110721356.4A CN113452522B (zh) 2021-06-28 2021-06-28 基于国密的硬件安全模块软件实现方法、存储介质及装置

Publications (2)

Publication Number Publication Date
CN113452522A true CN113452522A (zh) 2021-09-28
CN113452522B CN113452522B (zh) 2022-09-13

Family

ID=77813538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110721356.4A Active CN113452522B (zh) 2021-06-28 2021-06-28 基于国密的硬件安全模块软件实现方法、存储介质及装置

Country Status (1)

Country Link
CN (1) CN113452522B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661524A (zh) * 2022-03-21 2022-06-24 重庆市规划和自然资源信息中心 基于日志分析的不动产登记数据回备技术的实现方法
CN114996724A (zh) * 2022-04-25 2022-09-02 麒麟软件有限公司 一种基于国密算法模块的安全操作***
CN117632271A (zh) * 2023-12-14 2024-03-01 江苏新质信息科技有限公司 一种硬件加速方法、装置、存储介质及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394179A (zh) * 2014-12-18 2015-03-04 山东中创软件工程股份有限公司 支持国密算法的安全套接层协议扩展方法
CN106921638A (zh) * 2015-12-28 2017-07-04 航天信息股份有限公司 一种基于非对称加密的安全装置
CN110505050A (zh) * 2019-08-27 2019-11-26 北京电子科技学院 一种基于国密算法的安卓信息加密***及方法
CN111259364A (zh) * 2020-01-09 2020-06-09 奇安信科技集团股份有限公司 一种使用国密加密卡的方法、装置、设备及存储介质
CN111865995A (zh) * 2020-07-24 2020-10-30 芯河半导体科技(无锡)有限公司 一种在tr069中使用硬件国密算法的通信方式
CN112398826A (zh) * 2020-11-03 2021-02-23 北京天融信网络安全技术有限公司 基于国密的数据处理方法、装置、存储介质及电子设备
CN112653672A (zh) * 2020-12-11 2021-04-13 苏州浪潮智能科技有限公司 一种基于国密算法双向认证方法、装置、设备及可读介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394179A (zh) * 2014-12-18 2015-03-04 山东中创软件工程股份有限公司 支持国密算法的安全套接层协议扩展方法
CN106921638A (zh) * 2015-12-28 2017-07-04 航天信息股份有限公司 一种基于非对称加密的安全装置
CN110505050A (zh) * 2019-08-27 2019-11-26 北京电子科技学院 一种基于国密算法的安卓信息加密***及方法
CN111259364A (zh) * 2020-01-09 2020-06-09 奇安信科技集团股份有限公司 一种使用国密加密卡的方法、装置、设备及存储介质
CN111865995A (zh) * 2020-07-24 2020-10-30 芯河半导体科技(无锡)有限公司 一种在tr069中使用硬件国密算法的通信方式
CN112398826A (zh) * 2020-11-03 2021-02-23 北京天融信网络安全技术有限公司 基于国密的数据处理方法、装置、存储介质及电子设备
CN112653672A (zh) * 2020-12-11 2021-04-13 苏州浪潮智能科技有限公司 一种基于国密算法双向认证方法、装置、设备及可读介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661524A (zh) * 2022-03-21 2022-06-24 重庆市规划和自然资源信息中心 基于日志分析的不动产登记数据回备技术的实现方法
CN114996724A (zh) * 2022-04-25 2022-09-02 麒麟软件有限公司 一种基于国密算法模块的安全操作***
CN114996724B (zh) * 2022-04-25 2024-05-03 麒麟软件有限公司 一种基于国密算法模块的安全操作***
CN117632271A (zh) * 2023-12-14 2024-03-01 江苏新质信息科技有限公司 一种硬件加速方法、装置、存储介质及电子设备
CN117632271B (zh) * 2023-12-14 2024-05-28 江苏新质信息科技有限公司 一种硬件加速方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN113452522B (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
CN113452522B (zh) 基于国密的硬件安全模块软件实现方法、存储介质及装置
JP7119040B2 (ja) データ伝送方法、装置およびシステム
CN102111265B (zh) 一种电力***采集终端的安全芯片加密方法
WO2019184924A1 (zh) 身份管理方法、设备、通信网络及存储介质
CA2772136C (en) System and method for providing credentials
CN108377190B (zh) 一种认证设备及其工作方法
CN104170312B (zh) 用于使用硬件安全引擎通过网络进行安全通信的方法和设备
CN109478214B (zh) 用于证书注册的装置和方法
WO2011120421A1 (zh) 加密引擎的实现方法
US20240121108A1 (en) Combined Digital Signature Algorithms for Security Against Quantum Computers
JP2010514000A (ja) 電子装置にプログラム状態データをセキュアに記憶するための方法
Yang et al. DAA-TZ: an efficient DAA scheme for mobile devices using ARM TrustZone
US11088838B2 (en) Automated authentication of a new network element
CN115801223A (zh) 一种基于ca证书的标识密钥体系与pki体系兼容方法
CN111241492A (zh) 一种产品多租户安全授信方法、***及电子设备
CN116132043B (zh) 会话密钥协商方法、装置及设备
CN111859314A (zh) 一种基于加密软件的sm2加密方法、***、终端及存储介质
CN114710289B (zh) 物联网终端安全注册和接入方法及***
KR20040013966A (ko) 이동 통신망에서의 인증 및 키 합의 방법
CN115499118A (zh) 报文密钥生成、文件加密、解密方法、装置、设备和介质
CN113810779A (zh) 码流验签方法、装置、电子设备和计算机可读介质
CN113382398B (zh) 服务器、蓝牙耳机终端、蓝牙耳机固件更新处理***
KR20010092521A (ko) 인터넷 환경 하에서 데이터 통신을 수행하는이동통신시스템의 사용자 정보 보안 장치 및 그 방법
CN115694997B (zh) 一种物联网智能网关***
CN114697046B (zh) 基于国密sm9的安全认证方法及***

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
GR01 Patent grant
GR01 Patent grant