CN112398826A - 基于国密的数据处理方法、装置、存储介质及电子设备 - Google Patents

基于国密的数据处理方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN112398826A
CN112398826A CN202011213384.7A CN202011213384A CN112398826A CN 112398826 A CN112398826 A CN 112398826A CN 202011213384 A CN202011213384 A CN 202011213384A CN 112398826 A CN112398826 A CN 112398826A
Authority
CN
China
Prior art keywords
data
cryptographic
hardware
processed
target program
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
CN202011213384.7A
Other languages
English (en)
Other versions
CN112398826B (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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202011213384.7A priority Critical patent/CN112398826B/zh
Publication of CN112398826A publication Critical patent/CN112398826A/zh
Application granted granted Critical
Publication of CN112398826B publication Critical patent/CN112398826B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/32Cryptographic 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/3247Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及网络安全技术领域,提供一种基于国密的数据处理方法、装置、存储介质及电子设备。该方法包括:将目标程序通过引擎接口发送的待处理数据的数据结构,从目标程序规定的数据传出标准结构转换为国密硬件密码设备可解析的标准结构,得到第一经转换数据;将第一经转换数据发送给国密硬件密码设备;将国密硬件密码设备返回的经处理数据的数据结构,从国密硬件密码设备规定的数据传出标准结构转换为目标程序可解析的标准结构,得到第二经转换数据;将第二经转换数据通过引擎接口发送给目标程序,使目标程序基于第二经转换数据进行后续加密通信过程。该方法通过引擎机制可以实现将国密硬件密码设备加入到目标程序中,无需修改程序的核心代码。

Description

基于国密的数据处理方法、装置、存储介质及电子设备
技术领域
本发明涉及网络安全技术领域,具体而言,涉及一种基于国密的数据处理方法、装置、存储介质及电子设备。
背景技术
随着信息化快速发展,信息安全也越来越被重视,其中安全通信尤为重要,现在主流的网站和应用普遍使用HTTPS进行通信加密,即在HTTP的基础上加入了SSL加密层。随着国产化进程的加快,使用国密算法进行SSL加密越来越普遍。为了提高通信安全级别和加密时数据的处理性能,特定场景下会要求使用支持国密算法的硬件密码设备,通过这种方式提升加密级别。
目前,若应用OpenSSL软件库进行基于国密算法的SSL加密,需要做大量的OpenSSL的核心代码的修改工作,才能将国密硬件密码设备加入到OpenSSL中,而且,还要求开发者非常熟悉OpenSSL的核心代码设计,一方面,对开发者提出了较高的要求,另一方面,通过更改核心代码的方式将国密硬件密码设备的国密算法替换到OpenSSL的算法中,与OpenSSL的依赖性强,若OpenSSL版本升级,则需要重新修改核心代码。
发明内容
本申请实施例的目的在于提供一种基于国密的数据处理方法、装置、存储介质及电子设备,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种基于国密的数据处理方法,包括:将目标程序通过引擎接口发送的待处理数据的数据结构,从所述目标程序规定的数据传出标准结构转换为国密硬件密码设备可解析的标准结构,得到第一经转换数据;将所述第一经转换数据发送给所述国密硬件密码设备;将所述国密硬件密码设备返回的经处理数据的数据结构,从所述国密硬件密码设备规定的数据传出标准结构转换为所述目标程序可解析的标准结构,得到第二经转换数据;所述经处理数据是采用国密算法对所述待处理数据进行处理后得到;将所述第二经转换数据通过引擎接口发送给所述目标程序,使所述目标程序基于所述第二经转换数据进行后续加密通信过程。
在上述方案中,通过引擎机制将国密硬件密码设备加入到提供有引擎接口的目标程序中,目标程序包括OpenSSL,从而实现不需要更改目标程序的核心代码即可使用国密硬件密码设备中的国密算法,完成签名、验签、加解密等处理,对开发者的要求低,同时,国密硬件密码设备与目标程序松耦合,无论程序版本如何变化,引擎标准不变,有利于设备向后版本兼容,即程序版本升级时可以无需进行任何改动。
在一种可选的实施方式中,所述将目标程序通过引擎接口发送的待处理数据的数据结构,从所述目标程序规定的数据传出标准结构转换为国密硬件密码设备可解析的标准结构,包括:获取所述国密硬件密码设备的设备信息,根据所述设备信息获得与所述国密硬件密码设备相对应的差异转换函数表;根据所述差异转换函数表,将所述待处理数据的数据结构,从所述目标程序规定的数据传出标准结构转换为符合所述国密硬件密码设备提供的加密服务规范接口规范的、且与所述国密硬件密码设备相匹配的第一标准结构,得到所述第一经转换数据。
在上述方案中,预设有不同厂商的硬件设备接口的差异转换函数表,可以自动根据国密硬件密码设备的设备信息选择对应的差异转换函数表进行数据转换,使目标程序OpenSSL可以兼容不同厂商的国密硬件密码设备,增强其兼容性。
在一种可选的实施方式中,所述将所述国密硬件密码设备返回的经处理数据的数据结构,从所述国密硬件密码设备规定的数据传出标准结构转换为所述目标程序可解析的标准结构,包括:根据所述差异转换函数表,将所述经处理数据的数据结构,从所述国密硬件密码设备规定的数据传出标准结构转换为所述目标程序可解析的标准结构,得到所述第二经转换数据。
在一种可选的实施方式中,所述将所述第一经转换数据发送给所述国密硬件密码设备,包括:调用所述国密硬件密码设备提供的加密服务规范接口,将所述第一经转换数据发送给所述国密硬件密码设备。
在一种可选的实施方式中,所述第一经转换数据包括待处理的数据内容以及目标密钥的索引,所述将所述第一经转换数据发送给所述国密硬件密码设备,包括:将所述待处理的数据内容以及所述目标密钥的索引发给所述国密硬件密码设备,以使所述国密硬件密码设备根据所述目标密钥的索引确定对应的目标密钥,并利用所述目标密钥及对应的国密算法对所述待处理的数据内容进行处理,得到所述经处理数据。
通过建立密钥索引与国密硬件密码设备中密钥的关联关系,将目标密钥的索引发给国密硬件密码设备,以便于国密硬件密码设备查找到对应的目标密钥对数据进行加解密等处理,解决国密硬件密码设备不支持导出密钥,从而不能完成SSL密钥协商的问题。
在一种可选的实施方式中,所述国密硬件密码设备对所述待处理的数据内容进行的处理包括签名、验签、加密或者解密处理。
第二方面,本申请实施例提供一种基于国密的数据处理装置,包括:第一转换模块,用于将目标程序通过引擎接口发送的待处理数据的数据结构,从所述目标程序规定的数据传出标准结构转换为国密硬件密码设备可解析的标准结构,得到第一经转换数据;第一发送模块,用于将所述第一经转换数据发送给所述国密硬件密码设备;第二转换模块,用于将所述国密硬件密码设备返回的经处理数据的数据结构,从所述国密硬件密码设备规定的数据传出标准结构转换为所述目标程序可解析的标准结构,得到第二经转换数据;所述经处理数据是采用国密算法对所述待处理数据进行处理后得到;第二发送模块,用于将所述第二经转换数据通过引擎接口发送给所述目标程序,使所述目标程序基于所述第二经转换数据进行后续加密通信过程。
在一种可选的实施方式中,所述第一转换模块包括:设备适配子模块,用于获取所述国密硬件密码设备的设备信息,根据所述设备信息获得与所述国密硬件密码设备相对应的差异转换函数表;设备转换子模块,用于根据所述差异转换函数表,将所述待处理数据的数据结构,从所述目标程序规定的数据传出标准结构转换为符合所述国密硬件密码设备提供的加密服务规范接口规范的、且与所述国密硬件密码设备相匹配的第一标准结构,得到所述第一经转换数据。
第三方面,本申请实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面、第一方面中任一可选实施方式所述的方法。
第四方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行如第一方面、第一方面中任一可选实施方式所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的基于国密的数据处理方法的流程图;
图2示出了本申请实施例中通过OpenSSL的引擎机制将国密硬件密码设备加入到OpenSSL中的示意图;
图3示出了本申请实施例中的数据处理方法在SSL加密通信流程中的参与过程示意图;
图4示出了国密引擎将OpenSSL与国密硬件密码设备间的数据进行转换的示意图;
图5示出了本申请实施例提供的基于国密的数据处理装置的示意图;
图6示出了本申请实施例提供的电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本申请实施例中的一些相关名称的解释如下:
SSL(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。SSL协议由两层组成:SSL记录协议和SSL握手协议。
OpenSSL:在计算机网络上,OpenSSL是一个开放源代码的软件库包,在OpenSSL上层的应用程序可以使用OpenSSL软件库来进行安全通信,避免数据被窃听,同时确认另一端连接者的身份。
国密算法:由我国自主研发创新的一套数据加密处理系列算法,是由国家密码局认定的国产密码算法。国密算法并非特指某一种算法,而是包括很多种算法,如对称密码算法(SM1算法)、基于椭圆曲线的非对称公钥密码算法(SM2算法)、密码杂凑算法(SM3算法)、分组密码算法(SM4算法)等。
本申请实施例提供一种国密引擎,基于该国密引擎实现基于国密的数据处理方法,国密引擎可部署于客户端或服务器等任一需要完成SSL加密通信的设备上。在进行基于国密的SSL通信时,国密引擎将来自目标程序的待处理数据转换后提交给国密硬件密码设备,并将来自国密硬件密码设备的经处理数据转换后提交给目标程序。目标程序可以是OpenSSL。
请参照图1所示的流程图,本申请实施例提供的数据处理方法包括如下步骤:
步骤110:目标程序通过引擎接口向国密引擎发送待处理数据。
步骤120:国密引擎将待处理数据的数据结构,从目标程序规定的数据传出标准结构转换为国密硬件密码设备可解析的标准结构,得到第一经转换数据。
步骤130:国密引擎将第一经转换数据发送给该国密硬件密码设备。
步骤140:国密硬件密码设备在获得第一经转换数据后,采用相应的国密算法对第一经转换数据进行处理,得到经处理数据。
步骤150:国密引擎从国密硬件密码设备获取经处理数据。
步骤160:国密引擎将经处理数据的数据结构,从国密硬件密码设备规定的数据传出标准结构转换为目标程序可解析的标准结构,得到第二经转换数据。
步骤170:国密引擎通过引擎接口将第二经转换数据发送给目标程序。
目标程序基于第二经转换数据进行后续SSL加密通信流程。
应理解,第一经转换数据与待处理数据在数据的内容上没有差别,第二经转换数据与经处理数据在数据的内容上没有差别。
在具体的实施方式中,如图2所示,目标程序为OpenSSL,本申请通过OpenSSL的引擎(Engine)机制将国密引擎引入到OpenSSL中。在OpenSSL中,密码运算的任何操作,都通过统一的OpenSSL加密库接口实现。例如,OpenSSL调用加密库接口,可通过OpenSSL内部支持的加密库中已有的算法对数据进行签名、验签、加解密等处理操作,也可以通过OpenSSL引擎接口加载并调用外部扩展的国密引擎,通过国密引擎访问国密硬件密码设备,由国密硬件密码设备完成签名、验签或加解密等SSL通信中需要完成的一系列操作。
本申请实施例提供的基于国密的数据处理方法可有效应用于SSL加密通信过程中,实现基于国密的SSL加密通信。图3示出了本实施例提供的数据处理方法在SSL加密通信流程中的参与过程。
整个参与过程包括如下几个阶段:
1、初始化阶段
在初始化阶段,OpenSSL加载国密引擎,通过调用国密引擎的接口进行引擎的初始化。国密引擎初始化过程中,通过OpenSSL的引擎接口将自身所支持的签名、验签、加密、解密等功能注册到OpenSSL,为后续OpenSSL使用国密硬件密码设备提供支持。具体的,根据OpenSSL规范,实现int bind_helper(ENGINE*e)函数,该函数用于注册国密引擎。
2、握手密钥协商阶段
在握手密钥协商阶段,OpenSSL通过国密引擎驱动国密硬件密码设备进行签名、验签、计算预主密钥、计算对称密钥等工作。
在此阶段中,实现上述步骤110-170。具体的,OpenSSL将待处理数据(待处理数据可以是待签名的数据或待验签的数据)发送给国密引擎,国密引擎对待处理数据进行转换,得到第一经转换数据,并将第一经转换数据发给国密硬件密码设备,国密硬件密码设备对收到的数据进行签名或者验签处理,将处理后的数据发给国密引擎。国密引擎对处理后的数据进行转换,得到第二经转换数据,并将第二经转换数据发给OpenSSL,从而OpenSSL可获得经国密硬件密码设备签名或者验签后的数据。
3、加密通信阶段
在加密通信阶段,OpenSSL通过国密引擎驱动国密硬件密码设备进行通信数据的加解密工作。
在此阶段中,实现上述步骤110-170。具体的,OpenSSL将待处理数据(待处理数据可以是待加密的通信数据或待解密的通信数据)发送给国密引擎,国密引擎对待处理数据进行转换,得到第一经转换数据,并将第一经转换数据发给国密硬件密码设备,国密硬件密码设备对收到的数据进行对应的加密或者解密处理,将处理后的数据发给国密引擎。国密引擎对处理后的数据进行转换,得到第二经转换数据,并将第二经转换数据发给OpenSSL,从而OpenSSL可获得经国密硬件密码设备加密或者解密后的数据。
4、通信完成关闭阶段
在通信完成关闭阶段,OpenSSL上层的应用程序调用OpenSSL接口关闭通信会话,OpenSSL在关闭会话时调用国密引擎接口,使国密引擎关闭和卸载国密硬件密码设备,释放资源,并通过OpenSS引擎接口注销自身。
在本申请实施例的步骤130及步骤150中,国密引擎调用国密硬件密码设备提供的加密服务规范接口,将第一经转换数据发送给国密硬件密码设备,并通过加密服务规范接口从国密硬件密码设备获取经处理数据。加密服务规范接口可以是智能密码钥匙智能接口规范SKF接口,或者密码设备应用规范SDF接口。
进一步的,根据SKF接口规范和SDF接口规范,国密硬件密码设备不提供密钥的导出接口,所以,所有的密钥操作都在国密硬件密码设备内完成。在本实施例中,建立密钥索引与密钥的关联关系,国密硬件密码设备通过密钥索引可查找到对应的密钥,并利用该密钥进行数据的处理。
具体的,在步骤110中,待处理数据包括待处理的数据内容以及目标密钥的索引,即目标程序通过引擎接口一并传输待处理的数据内容以及目标密钥的索引,经国密引擎转换后,第一经转换数据中同样包括待处理的数据内容以及目标密钥的索引。国密引擎通过调用加密服务规范接口,将待处理的数据内容以及目标密钥的索引发送给国密硬件密码设备。在步骤140中,国密硬件密码设备根据目标密钥的索引查找到对应的目标密钥,并利用目标密钥及对应的国密算法对传入的待处理的数据内容进行处理,得到经处理数据。密钥始终存放在国密硬件密码设备内,国密硬件密码设备利用密钥索引实现了数据加解密、签名、验签等处理,确保密钥不会拷贝外泄,保证通信安全。
可以理解的,在上述过程中,国密硬件密码设备对国密引擎发送的待处理的数据内容进行的处理包括签名、验签、加密或者解密处理。
待处理的数据内容可以是待签名数据,国密硬件密码设备根据目标密钥的索引查找到目标密钥,并利用目标密钥对待签名数据进行签名,得到签名后的数据。
待处理的数据内容可以是待验签数据,国密硬件密码设备根据目标密钥的索引查找到目标密钥,并利用目标密钥对待签名数据进行验签,得到验签结果。
待处理的数据内容可以是待加密数据,国密硬件密码设备根据目标密钥的索引查找到目标密钥,并利用目标密钥对待加密数据进行加密,得到加密后的数据。
待处理的数据内容可以是待解密数据,国密硬件密码设备根据目标密钥的索引查找到目标密钥,并利用目标密钥对待解密数据进行解密,得到解密后的数据。
本实施例中的加密可以是基于SM1算法的对称加密,也可以是基于SM2算法的非对称加密,同样的,解密可以是基于SM1算法的对称解密,也可以是非对称解密。目标密钥可能是私钥,也可能是公钥。
从前述记载可以得知,国密引擎提供OpenSSL与国密硬件密码设备之间的数据转换,如图4所示,OpenSSL作为目标程序,通过国密引擎驱动国密硬件密码设备完成签名、验签、加密、解密等功能。国密引擎将OpenSSL的请求和数据翻译成国密硬件密码设备可以解析的请求和数据,让国密硬件密码设备进行处理,然后将国密硬件密码设备的处理结果翻译成OpenSSL可解析的数据,再传递给OpenSSL,从而让国密硬件密码设备参与到OpenSSL中,实现基于国密的SSL加密通信。但需要注意的是,虽然国密提供了加密服务规范接口的规范,但是对于算法ID以及数据结构并未严格限定,所以不同设备厂商的实现可能不同。
国密引擎中提供适配层,以兼容不同厂商的硬件密码设备。预先将各厂商的硬件设备接口的差异转换函数表内置在国密引擎中,国密引擎可以通过规定的硬件设备接口获知该国密硬件密码设备的厂商、型号等设备信息,并选用对应的差异转换函数表进行数据转换。
具体的,当待处理数据从OpenSSL到国密硬件密码设备时,即在步骤110-130的过程中,OpenSSL将待处理数据发送到国密引擎,国密引擎通过硬件设备接口获取国密硬件密码设备的设备信息,根据该设备信息获得与该国密硬件密码设备相对应的差异转换函数表,例如,选择引擎中设置的“B设备差异转换函数表”。国密引擎根据该差异转换函数表,将待处理数据的数据结构,从OpenSSL规定的数据传出标准结构转换为符合国密硬件密码设备提供的加密服务规范接口规范的、且与国密硬件密码设备相匹配的第一标准结构,得到第一经转换数据,并将第一经转换数据发给国密硬件密码设备。
同样的,当经处理数据从国密硬件密码设备到OpenSSL时,即在步骤150-170的过程中,国密硬件密码设备将经处理数据发送到国密引擎,国密引擎同样选择“B设备差异转换函数表”,根据该差异转换函数表,将经处理数据的数据结构从国密硬件密码设备规定的数据传出标准结构转换为OpenSSL可解析的标准结构,得到第二经转换数据,并将第二经转换数据发给OpenSSL。
OpenSSL传出数据的数据结构以及传入数据的数据结构是固定的,国密硬件密码设备传出数据的数据结构以及传入数据的数据结构也是固定的,在OpenSSL与国密硬件密码设备之间传输数据时,通过国密引擎完成数据结构的转换。
本实施例通过在国密引擎中增加适配层及差异转换函数表,可以自动根据国密硬件密码设备的设备信息选择对应的差异转换函数表,使OpenSSL可以兼容不同厂商的国密硬件密码设备,兼容性较好。
在国密引擎中可定义各种类型的接口,包含:驱动库文件路径配置接口、厂商信息设置接口、硬件设备打开操作接口、硬件设备关闭操作接口、硬件设备打开会话接口、硬件设备关闭会话接口、硬件设备打开容器接口、硬件设备关闭容器接口、硬件设备获取密钥索引接口、签名证书导入接口、签名密钥导入接口、加密证书导入接口、签名密钥导入接口、非对称加解密适配接口、签名与验签适配接口、对称加解密适配接口、随机数生成适配接口、摘要算法适配接口等。国密引擎可通过调用相应类型的接口完成相应的功能。
综上所述,本申请实施例提供的基于国密的数据处理方法,通过引擎机制将国密硬件密码设备加入到OpenSSL中,不需要改动OpenSSL的核心代码,只需要在使用时加载外部扩展的国密引擎,即可让国密硬件密码设备参与到OpenSSL中。而且,无论OpenSSL版本如何变化,引擎标准都是不变的,所以,国密硬件密码设备与OpenSSL松耦合,OpenSSL可以使用任意版本,而无需在版本升级时进行改动,便于向后兼容。
在国密引擎中设置适配层,使OpenSSL可广泛支持各类厂商的国密硬件密码设备。
通过建立密钥索引与国密硬件密码设备中密钥的关联关系,解决国密硬件密码设备不支持导出密钥,从而不能完成SSL密钥协商的问题。
基于同一发明构思,本申请实施例提供一种基于国密的数据处理装置,请参照图5,该装置包括:第一转换模块210、第一发送模块220、第二转换模块230及第二发送模块240。
其中,第一转换模块210用于将目标程序发送的待处理数据的数据结构,从所述目标程序规定的数据传出标准结构转换为国密硬件密码设备可解析的标准结构,得到第一经转换数据。第一发送模块220用于将所述第一经转换数据发送给所述国密硬件密码设备。第二转换模块230用于将所述国密硬件密码设备返回的经处理数据的数据结构,从所述国密硬件密码设备规定的数据传出标准结构转换为所述目标程序可解析的标准结构,得到第二经转换数据;所述经处理数据是采用国密算法对所述待处理数据进行处理后得到。第二发送模块240用于将所述第二经转换数据发送给所述目标程序,使所述目标程序基于所述第二经转换数据进行后续加密通信过程。
可选的,第一转换模块210包括:设备适配子模块以及设备转换子模块。
其中,设备适配子模块用于获取所述国密硬件密码设备的设备信息,根据所述设备信息获得与所述国密硬件密码设备相对应的差异转换函数表。设备转换子模块用于根据所述差异转换函数表,将所述待处理数据的数据结构从所述目标程序规定的数据传出标准结构转换为符合所述国密硬件密码设备提供的加密服务规范接口规范的、且与所述国密硬件密码设备相匹配的第一标准结构,得到所述第一经转换数据。
可选的,第二转换模块230具体用于根据所述差异转换函数表,将所述经处理数据的数据结构从所述国密硬件密码设备规定的数据传出标准结构转换为所述目标程序可解析的标准结构,得到所述第二经转换数据。
可选的,第一发送模块220具体用于:调用所述国密硬件密码设备提供的加密服务规范接口,将所述第一经转换数据发送给所述国密硬件密码设备。
可选的,所述第一经转换数据包括待处理的数据内容以及目标密钥的索引,第一发送模块220具体用于:将所述待处理的数据内容以及所述目标密钥的索引发给所述国密硬件密码设备,以使所述国密硬件密码设备根据所述目标密钥的索引确定对应的目标密钥,并利用所述目标密钥及对应的国密算法对所述待处理的数据内容进行处理,得到所述经处理数据。
可选的,所述国密硬件密码设备对所述待处理的数据内容进行的处理包括签名、验签、加密或者解密处理。
本申请实施例提供的基于国密的数据处理装置,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
图6示出了本申请实施例提供的电子设备300的一种可能的结构。参照图6,电子设备300包括:处理器310、存储器320以及通信接口330,这些组件通过通信总线340和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,存储器320包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器310以及其他可能的组件可对存储器320进行访问,读和/或写其中的数据。
处理器310包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器310可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括图形处理器(Graphics Processing Unit,GPU)、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器310为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
通信接口330包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口330可以包括进行有线和/或无线通信的接口。
在存储器320中可以存储一个或多个计算机程序指令,处理器310可以读取并运行这些计算机程序指令,以实现本申请实施例提供的基于国密的数据处理方法以及其他期望的功能。
可以理解,图6所示的结构仅为示意,电子设备300还可以包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。电子设备300可能是实体设备,例如PC机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备300也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。电子设备300为任一需要完成SSL加密通信的设备。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的基于国密的数据处理方法。例如,计算机可读存储介质可以实现为图6中电子设备300中的存储器320。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种基于国密的数据处理方法,其特征在于,包括:
将目标程序通过引擎接口发送的待处理数据的数据结构,从所述目标程序规定的数据传出标准结构转换为国密硬件密码设备可解析的标准结构,得到第一经转换数据;
将所述第一经转换数据发送给所述国密硬件密码设备;
将所述国密硬件密码设备返回的经处理数据的数据结构,从所述国密硬件密码设备规定的数据传出标准结构转换为所述目标程序可解析的标准结构,得到第二经转换数据;所述经处理数据是采用国密算法对所述待处理数据进行处理后得到;
将所述第二经转换数据通过引擎接口发送给所述目标程序,使所述目标程序基于所述第二经转换数据进行后续加密通信过程。
2.根据权利要求1所述的方法,其特征在于,所述将目标程序通过引擎接口发送的待处理数据的数据结构,从所述目标程序规定的数据传出标准结构转换为国密硬件密码设备可解析的标准结构,包括:
获取所述国密硬件密码设备的设备信息,根据所述设备信息获得与所述国密硬件密码设备相对应的差异转换函数表;
根据所述差异转换函数表,将所述待处理数据的数据结构,从所述目标程序规定的数据传出标准结构转换为符合所述国密硬件密码设备提供的加密服务规范接口规范的、且与所述国密硬件密码设备相匹配的第一标准结构,得到所述第一经转换数据。
3.根据权利要求2所述的方法,其特征在于,所述将所述国密硬件密码设备返回的经处理数据的数据结构,从所述国密硬件密码设备规定的数据传出标准结构转换为所述目标程序可解析的标准结构,包括:
根据所述差异转换函数表,将所述经处理数据的数据结构,从所述国密硬件密码设备规定的数据传出标准结构转换为所述目标程序可解析的标准结构,得到所述第二经转换数据。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一经转换数据发送给所述国密硬件密码设备,包括:
调用所述国密硬件密码设备提供的加密服务规范接口,将所述第一经转换数据发送给所述国密硬件密码设备。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一经转换数据包括待处理的数据内容以及目标密钥的索引,所述将所述第一经转换数据发送给所述国密硬件密码设备,包括:
将所述待处理的数据内容以及所述目标密钥的索引发给所述国密硬件密码设备,以使所述国密硬件密码设备根据所述目标密钥的索引确定对应的目标密钥,并利用所述目标密钥及对应的国密算法对所述待处理的数据内容进行处理,得到所述经处理数据。
6.根据权利要求5所述的方法,其特征在于,所述国密硬件密码设备对所述待处理的数据内容进行的处理包括签名、验签、加密或者解密处理。
7.一种基于国密的数据处理装置,其特征在于,包括:
第一转换模块,用于将目标程序通过引擎接口发送的待处理数据的数据结构,从所述目标程序规定的数据传出标准结构转换为国密硬件密码设备可解析的标准结构,得到第一经转换数据;
第一发送模块,用于将所述第一经转换数据发送给所述国密硬件密码设备;
第二转换模块,用于将所述国密硬件密码设备返回的经处理数据的数据结构,从所述国密硬件密码设备规定的数据传出标准结构转换为所述目标程序可解析的标准结构,得到第二经转换数据;所述经处理数据是采用国密算法对所述待处理数据进行处理后得到;
第二发送模块,用于将所述第二经转换数据通过引擎接口发送给所述目标程序,使所述目标程序基于所述第二经转换数据进行后续加密通信过程。
8.根据权利要求7所述的装置,其特征在于,所述第一转换模块包括:
设备适配子模块,用于获取所述国密硬件密码设备的设备信息,根据所述设备信息获得与所述国密硬件密码设备相对应的差异转换函数表;
设备转换子模块,用于根据所述差异转换函数表,将所述待处理数据的数据结构,从所述目标程序规定的数据传出标准结构转换为符合所述国密硬件密码设备提供的加密服务规范接口规范的、且与所述国密硬件密码设备相匹配的第一标准结构,得到所述第一经转换数据。
9.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-6任一项所述的方法。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1-6任一项所述的方法。
CN202011213384.7A 2020-11-03 2020-11-03 基于国密的数据处理方法、装置、存储介质及电子设备 Active CN112398826B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011213384.7A CN112398826B (zh) 2020-11-03 2020-11-03 基于国密的数据处理方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011213384.7A CN112398826B (zh) 2020-11-03 2020-11-03 基于国密的数据处理方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN112398826A true CN112398826A (zh) 2021-02-23
CN112398826B CN112398826B (zh) 2023-07-07

Family

ID=74598030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011213384.7A Active CN112398826B (zh) 2020-11-03 2020-11-03 基于国密的数据处理方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN112398826B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254961A (zh) * 2021-05-26 2021-08-13 杭州云象网络技术有限公司 基于go语言封装调用硬件国密密码接口的方法
CN113419776A (zh) * 2021-07-09 2021-09-21 杭州复杂美科技有限公司 应用兼容方法、计算机设备和存储介质
CN113452522A (zh) * 2021-06-28 2021-09-28 杭州云象网络技术有限公司 基于国密的硬件安全模块软件实现方法、存储介质及装置
CN113935018A (zh) * 2021-12-16 2022-01-14 飞腾信息技术有限公司 密码运算方法、片上系统及计算机设备
CN113992432A (zh) * 2021-12-24 2022-01-28 南京中孚信息技术有限公司 消息处理方法、消息总线系统、计算机设备及存储介质
CN115296911A (zh) * 2022-08-06 2022-11-04 山东润通科技有限公司 基于国密算法的数据加密采集传输仪及安全认证方法
CN117632271A (zh) * 2023-12-14 2024-03-01 江苏新质信息科技有限公司 一种硬件加速方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080141272A1 (en) * 2006-12-06 2008-06-12 Borgendale Kenneth W Application Message Conversion Using A Feed Adapter
CN101820342A (zh) * 2010-03-31 2010-09-01 北京飞天诚信科技有限公司 硬件加密引擎的实现方法
CN108234114A (zh) * 2016-12-22 2018-06-29 中标软件有限公司 一种基于硬件加密算法的ssl的实现方法
CN108667866A (zh) * 2017-03-29 2018-10-16 贵州白山云科技有限公司 一种基于api智能适配的请求处理方法及装置
CN111240862A (zh) * 2020-01-09 2020-06-05 软通动力信息技术(集团)有限公司 一种通用接口平台以及数据转换方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080141272A1 (en) * 2006-12-06 2008-06-12 Borgendale Kenneth W Application Message Conversion Using A Feed Adapter
CN101820342A (zh) * 2010-03-31 2010-09-01 北京飞天诚信科技有限公司 硬件加密引擎的实现方法
CN108234114A (zh) * 2016-12-22 2018-06-29 中标软件有限公司 一种基于硬件加密算法的ssl的实现方法
CN108667866A (zh) * 2017-03-29 2018-10-16 贵州白山云科技有限公司 一种基于api智能适配的请求处理方法及装置
CN111240862A (zh) * 2020-01-09 2020-06-05 软通动力信息技术(集团)有限公司 一种通用接口平台以及数据转换方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴永强: "国密SSL安全通信协议的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254961A (zh) * 2021-05-26 2021-08-13 杭州云象网络技术有限公司 基于go语言封装调用硬件国密密码接口的方法
CN113452522A (zh) * 2021-06-28 2021-09-28 杭州云象网络技术有限公司 基于国密的硬件安全模块软件实现方法、存储介质及装置
CN113452522B (zh) * 2021-06-28 2022-09-13 杭州云象网络技术有限公司 基于国密的硬件安全模块软件实现方法、存储介质及装置
CN113419776A (zh) * 2021-07-09 2021-09-21 杭州复杂美科技有限公司 应用兼容方法、计算机设备和存储介质
CN113935018A (zh) * 2021-12-16 2022-01-14 飞腾信息技术有限公司 密码运算方法、片上系统及计算机设备
CN113935018B (zh) * 2021-12-16 2022-03-11 飞腾信息技术有限公司 密码运算方法、片上系统及计算机设备
CN113992432A (zh) * 2021-12-24 2022-01-28 南京中孚信息技术有限公司 消息处理方法、消息总线系统、计算机设备及存储介质
CN115296911A (zh) * 2022-08-06 2022-11-04 山东润通科技有限公司 基于国密算法的数据加密采集传输仪及安全认证方法
CN117632271A (zh) * 2023-12-14 2024-03-01 江苏新质信息科技有限公司 一种硬件加速方法、装置、存储介质及电子设备
CN117632271B (zh) * 2023-12-14 2024-05-28 江苏新质信息科技有限公司 一种硬件加速方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN112398826B (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
CN112398826B (zh) 基于国密的数据处理方法、装置、存储介质及电子设备
US11777926B2 (en) Internet of things (IoT) device management
US10326797B1 (en) Provisioning a secure connection using a pre-shared key
EP2792100B1 (en) Method and device for secure communications over a network using a hardware security engine
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
EP3682364B1 (en) Cryptographic services utilizing commodity hardware
CN110677240A (zh) 通过证书签发提供高可用计算服务的方法及装置
CN104580189A (zh) 一种安全通信系统
US12003629B2 (en) Secure server digital signature generation for post-quantum cryptography key encapsulations
CN112632573B (zh) 智能合约执行方法、装置、系统、存储介质及电子设备
CN112804217B (zh) 一种基于区块链技术的存证方法和装置
CN114553590B (zh) 数据传输方法及相关设备
CN111901287B (zh) 一种为轻应用提供加密信息的方法、装置和智能设备
CN114499892A (zh) 固件启动方法、装置、计算机设备及可读存储介质
CN116346341A (zh) 私钥保护和服务端访问方法、系统、设备及存储介质
WO2023141876A1 (zh) 数据传输方法、装置、系统、电子设备及可读介质
US11914737B2 (en) Authenticated and encrypted archives
CN114679287B (zh) 数据处理方法、系统、电子设备及存储介质
CN115314284A (zh) 一种基于可信执行环境的公钥认证可搜索加密方法及系统
CN112131597A (zh) 一种生成加密信息的方法、装置和智能设备
CN114007218B (zh) 认证方法、系统、终端以及数字身份认证功能实体
CN116318943A (zh) 一种基于传输层安全性协议的通信方法、装置及存储介质
CN116961973A (zh) 数据传输方法、装置、电子设备及计算机可读存储介质
WO2024079438A1 (en) A device and a method for performing a cryptographic operation
CN116915388A (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
GR01 Patent grant
GR01 Patent grant