CN117632271A - 一种硬件加速方法、装置、存储介质及电子设备 - Google Patents
一种硬件加速方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117632271A CN117632271A CN202311726545.6A CN202311726545A CN117632271A CN 117632271 A CN117632271 A CN 117632271A CN 202311726545 A CN202311726545 A CN 202311726545A CN 117632271 A CN117632271 A CN 117632271A
- Authority
- CN
- China
- Prior art keywords
- hardware
- algorithm
- container
- virtualized
- cryptographic
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000001133 acceleration Effects 0.000 title claims abstract description 76
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 182
- 238000012545 processing Methods 0.000 claims description 49
- 238000013507 mapping Methods 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 30
- 238000004064 recycling Methods 0.000 claims description 17
- 238000004140 cleaning Methods 0.000 claims description 16
- 238000010276 construction Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 8
- 238000002347 injection Methods 0.000 claims description 6
- 239000007924 injection Substances 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000011897 real-time detection Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 15
- 238000011161 development Methods 0.000 abstract description 11
- 238000012986 modification Methods 0.000 abstract description 6
- 230000004048 modification Effects 0.000 abstract description 6
- 238000012423 maintenance Methods 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 69
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
一种硬件加速方法、装置、存储介质及电子设备,基于密码设备中各类模块的功能与标准应用接口,结合常用密码算法衍生功能,抽象出密码模块的虚拟机模型;同时,自定义通用密码算法接口,涵盖密码基础算法功能和依据公钥密码体系衍生的算法应用功能,能够通过使用OpenSSL开启支持国密算法的硬件加速,简易、通用且高效的EVP接口配合国密算法的硬件支持,推动密码应用产品的国产化发展,降低其研制成本与研发难度;为使用OpenSSL作为算法库的第三方框架提供了支持国密硬件算法的能力,最小化第三方框架的国密算法支持的修改,提高了密码应用的兼容性和移植性;提高了密码算法应用相关的代码复用,减少了维护成本。
Description
技术领域
本发明属于信息安全密码技术领域,具体涉及一种基于密码设备应用接口的OpenSSL硬件加速方法、装置、存储介质及电子设备。
背景技术
随着密码行业的高速发展,以及标准规范的不断更新和完善,国密算法也逐渐进入了主流视野,开始大规模地应用在各类技术领域中。但是,主流应用密码库的国密算法支持,现阶段还不够完善;所以,涉及国密算法的技术领域一般会采用硬件算法支持的密码设备。而在规范标准中,密码设备作为密码设备服务层的核心,在非云计算环境下,为整个公钥密码应用技术体系框架提供底层基础支撑。
密码设备,通常是由密码模块及其对上提供密码设备服务的接口组成。由于密码模块包括很多种类,各类模块的标准接口也不尽相同;同时,为了满足密码学一些衍生功能的需求,各大密码设备厂商会推出一系列功能相似,但接口细节却不尽相同的应用接口。实际上,标准接口、衍生功能接口存在的差异,使得软件的复用性大打折扣,同时也增加了软件的移植成本和维护难度。
对于成熟的应用技术而言,需要满足不同环境下的使用。目前,密码设备的应用接口一般需要硬件算法设备的支持;而实际场景中,不乏存在仅需软件算法支持,或者无法使用硬件算法设备的情况;亦或者是出于调优或者调测的目的,需要可切换或者可配置的密码应用接口。而如何满足上述种种常见且可能存在灵活变动的场景,是现阶段亟待解决的技术问题。
发明内容
为此,本发明提供一种硬件加速方法、装置、存储介质及电子设备,满足对密码设备各类模块的管理支持,实现硬件算法和软件算法的动态切换;实现基于抽象密码虚拟机的密码设备引擎,为密码应用通过OpenSSL的EVP接口开启支持国密算法的硬件加速。
为了实现上述目的,本发明提供如下技术方案:第一方面,提供一种硬件加速方法,包括以下步骤:
S101:对硬件加速器执行初始化操作,加载策略配置;
S102:硬件加速器读取策略配置,根据策略配置切换到自动模式策略;
S103:硬件加速器使用硬件密码模块管理组件获取硬件密码模块的状态信息,检测硬件密码模块映射的物理设备是否处于可用状态,若硬件密码模块映射的物理设备不可用,转到S104;若硬件密码模块映射的物理设备可用,则转到S105;
S104:硬件加速器切换算法模式到软件算法,同步软件算法状态,转到S109;
S105:硬件加速器使用硬件密码模块管理组件加载硬件密码模块,硬件加速器与虚拟化容器绑定、建立映射关系,若绑定、建立映射关系成功,转到S106;
S106:硬件加速器开启硬件密码模块的实时监测,当检测到硬件密码模块正常达标则,转到S107;
S107:硬件加速器切换算法模式到硬件算法,同步硬件算法状态,转到S108;
S108:通用密码应用接口通过硬件加速器使用标准密码设备应用接口执行算法运算;
S109:通用密码应用接口通过软件算法接口执行算法运算。
作为硬件加速方法的优选方案,步骤S102中,若策略配置缺少模式参数,则缺省为自动模式策略;
步骤S105中,若绑定、建立映射关系失败,转到步骤S104;
步骤S106中,当检测到硬件密码模块出现预设不达标情况时,转到步骤S104;
步骤S108中,如果通用密码应用接口通过硬件加速器使用标准密码设备应用接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到S106;
步骤S109中,如果通用密码应用接口通过软件算法接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到S106。
作为硬件加速方法的优选方案,还包括对虚拟化容器的生命周期进行管理,包括以下步骤:
S001:申请虚拟化容器,通过虚拟化容器管理组件检查虚拟化容器ID池是否存在可用容器ID,若不存在可用容器ID,转到S002;若存在可用容器ID,取出可用容器ID,转到S003;
S002:虚拟化容器管理组件分配新容器ID,转到S003;
S003:虚拟化容器管理组件创建一个虚拟化容器,将创建的虚拟化容器绑定容器ID,虚拟化容器管理组件管理容器ID和虚拟化容器之间的映射关系;若创建的虚拟化容器绑定容器ID失败,转到S004;若创建的虚拟化容器绑定容器ID成功,则转到S005;
S004:虚拟化容器管理组件回收容器ID至容器ID池,转到S008;
S005:返回容器ID,转到S006;
S006:使用虚拟化容器通过通用密码应用接口执行密码算法处理,处理结束转到S007;
S007:虚拟化容器管理组件解除虚拟化容器与容器ID之间的绑定关系,清理虚拟化容器管理组件管理的映射关系表,并转到S004;
S008:虚拟化容器管理组件销毁虚拟化容器,并回收销毁的虚拟化容器所有占用资源。
作为硬件加速方法的优选方案,还包括对密码设备拓展引擎的算法进行处理,包括以下步骤:
S201:初始化OpenSSL动态引擎,加载并初始化密码设备拓展引擎,失败转到S210;成功则转到S202;
S202:调用注入初始化密码设备拓展引擎的EVP接口,开始执行算法处理,转到S203;
S203:虚拟化容器管理组件申请一个虚拟化容器,成功转到S204;失败则转到S209;
S204:使用申请的虚拟化容器调用通用密码应用接口,转到S205;
S205:根据获取的硬件加速器的模式策略决定是否启用硬件加速,若启用硬件加速转到S206;未启用硬件加速转到S207;
S206:启用硬件加速后,采用硬件算法设备的算力,使用标准密码设备应用接口执行算法处理,转到S208;
S207:未启用硬件加速后,采用CPU算力,使用软件算法接口执行算法处理,转到S208;
S208:虚拟化容器管理组件回收虚拟化容器,并清理回收的虚拟化容器的资源,转到S209;
S209:清理并卸载密码设备拓展引擎,转到S210;
S210:OpenSSL动态引擎执行清理并回收资源。
第二方面,本发明提供一种硬件加速装置,包括:
策略配置加载单元,用于对硬件加速器执行初始化操作,加载策略配置;
模式策略切换单元,用于硬件加速器读取策略配置,根据策略配置切换到自动模式策略;
物理设备检测单元,用于硬件加速器使用硬件密码模块管理组件获取硬件密码模块的状态信息,检测硬件密码模块映射的物理设备是否处于可用状态;
软件算法切换单元,用于硬件加速器切换算法模式到软件算法,同步软件算法状态;
映射关系构建单元,用于硬件加速器使用硬件密码模块管理组件加载硬件密码模块,硬件加速器与虚拟化容器绑定、建立映射关系;
硬件算法切换单元,用于硬件加速器开启硬件密码模块的实时检测,当检测到硬件密码模块正常达标则,硬件加速器切换算法模式到硬件算法,同步硬件算法状态;
硬件算法执行单元,用于通用密码应用接口通过硬件加速器使用标准密码设备应用接口执行算法运算;
软件算法执行单元,用于通用密码应用接口通过软件算法接口执行算法运算。
作为硬件加速装置优选方案,所述模式策略切换单元中,若策略配置缺少模式参数,则缺省为自动模式策略;
所述映射关系构建单元中,若绑定、建立映射关系失败,转到所述硬件算法切换单元;
所述硬件算法切换单元中,当检测到硬件密码模块出现预设不达标情况时,转到所述软件算法切换单元;
所述硬件算法执行单元中,如果通用密码应用接口通过硬件加速器使用标准密码设备应用接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到所述硬件算法切换单元;
所述软件算法执行单元中,如果通用密码应用接口通过软件算法接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到所述硬件算法切换单元。
作为硬件加速装置优选方案,还包括虚拟化容器的管理单元,所述虚拟化容器的管理单元包括:
容器ID检测子单元,用于申请虚拟化容器,通过虚拟化容器管理组件检查虚拟化容器ID池是否存在可用容器ID,若存在可用容器ID,取出可用容器ID;
新容器ID分配子单元,用于虚拟化容器管理组件分配新容器ID;
虚拟化容器创建子单元,用于虚拟化容器管理组件创建一个虚拟化容器,将创建的虚拟化容器绑定容器ID,虚拟化容器管理组件管理容器ID和虚拟化容器之间的映射关系;
容器ID回收子单元,用于虚拟化容器管理组件回收容器ID至容器ID池;
密码算法处理子单元,用于使用虚拟化容器通过通用密码应用接口执行密码算法处理;
绑定关系解除子单元,用于虚拟化容器管理组件解除虚拟化容器与容器ID之间的绑定关系,清理虚拟化容器管理组件管理的映射关系表;
虚拟化容器销毁子单元,用于虚拟化容器管理组件销毁虚拟化容器,并回收销毁的虚拟化容器所有占用资源。
作为硬件加速装置优选方案,还包括拓展引擎算法处理单元,所述拓展引擎算法处理单元:
拓展引擎加载子单元,用于初始化OpenSSL动态引擎,加载并初始化密码设备拓展引擎;
EVP接口调用子单元,用于调用注入初始化密码设备拓展引擎的EVP接口,开始执行算法处理;
密码应用接口调用子单元,用于虚拟化容器管理组件申请一个虚拟化容器,使用申请的虚拟化容器调用通用密码应用接口;
硬件加速处理子单元,用于根据获取的硬件加速器的模式策略决定是否启用硬件加速;启用硬件加速后,采用硬件算法设备的算力,使用标准密码设备应用接口执行算法处理;未启用硬件加速后,采用CPU算力,使用软件算法接口执行算法处理;
虚拟化容器回收子单元,用于通过虚拟化容器管理组件回收虚拟化容器,并清理回收的虚拟化容器的资源
设备拓展引擎卸载子单元,用于清理并卸载密码设备拓展引擎,还用于OpenSSL动态引擎执行清理并回收资源。
第三方面,本发明提供一种非暂态计算机可读存储介质,所述计算机可读存储介质中存储有硬件加速方法的程序代码,所述程序代码包括用于执行第一方面或其任意可能实现方式的硬件加速方法的指令。
第四方面,本发明提供一种电子设备,包括:存储器和处理器;所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面或其任意可能实现方式的硬件加速方法。
本发明的有益效果如下,能够通过使用OpenSSL开启支持国密算法的硬件加速,简易、通用且高效的EVP接口配合国密算法的硬件支持,可在很大程度上推动密码应用产品的国产化发展,降低其研制成本与研发难度;为使用OpenSSL作为算法库的第三方框架提供了支持国密硬件算法的能力,最小化第三方框架的国密算法支持的修改,提高了密码应用的兼容性和移植性;统一了多种标准密码应用接口以及适配了多厂商的自定义接口,提高了密码算法应用相关的代码复用,减少了维护成本。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其他的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本发明实施例提供的硬件加速方法的技术框架示意图;
图2为本发明实施例提供的硬件加速方法中硬件加速器自动模式的策略流程示意图;
图3为本发明实施例提供的硬件加速方法中虚拟化容器的生命周期处理流程示意图;
图4为本发明实施例提供的硬件加速方法中密码设备拓展引擎的算法处理流程示意图;
图5为本发明实施例提供的硬件加速装置架构示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,密码设备应用接口的传统方案如下:
支持符合标准的特定密码设备厂商的应用接口,并且在设备出厂阶段,手动配置硬件算法设备的支持。这种方法限制了使用场景,如果当密码学的衍生功能成为了软件模块的必要依赖项,又必须更换密码设备厂商时,则需要针对旧厂商不在标准内的应用接口逐个进行检查,并依据功能重新确认新厂商的应用接口,以此来修改软件源码。
另一方面,当硬件算法不是必要依赖项,且软件模块允许使用软件算法时,则需要修改软件源码,以及人工地移除硬件算法配置,以开启软件算法。但是,即使在上述做法的情况下,也存在一定的复用性问题。目前主流的开源软件中,作为老牌算法库的OpenSSL凭借其出色的架构设计,高效易用的接口,一直被很多框架作为第三方支撑引用;但是,OpenSSL在国密算法支持这块,目前还有待改善;同时又与标准的密码应用接口相差甚远,所以这也间接的引发了复用性的问题;假设有选用须有OpenSSL支持的第三方框架时,便会面临硬件算法和软件算法的密码应用接口难以复用的情况。这同样也在一定程度上增加了软件模块的研制与维护成本。
有鉴于此,本发明实施例提供一种硬件加速方法、装置、存储介质及电子设备,一方面既满足了对密码设备各类模块的管理支持,另一方面又实现了硬件算法和软件算法的动态切换。在此之上,利用OpenSSL提供的引擎拓展机制,实现基于抽象密码虚拟机的密码设备引擎,为密码应用通过OpenSSL的EVP接口开启支持国密算法的硬件加速。以下为本发明实施例的具体内容。
实施例1
参见图1,为本发明实施例1提供的硬件加速方法的应用框架,应用框架的具体设计包括:
密码设备虚拟机(CryptographyDeviceVirtualMachine),简称“CDVM”,负责支持国密算法的标准密码模块的设备管理,支持与密码设备服务接口的直接通信;拓展衍生的密码算法应用接口,可适配不同厂商的硬件算法设备,同时兼容OpenSSL的接口设计。也可根据配置策略灵活调度软件算法和硬件算法。
密码设备拓展引擎(CryptographyDevice ExtensionEngine),简称“CDEE”,负责承接CDVM的密码算法功能,通过OpenSSL的动态引擎模块载入CDEE,实现经由OpenSSL的高阶应用接口EVP直接调用标准密码设备应用接口,从而能够与密码设备服务中的硬件密码模块通信,使用模块的算法算力。
通用密码应用接口(Generic Cryptography Interface),简称“GCI”,作为CDVM的一部分对外的密码算法应用接口,涵盖基础算法功能如对称加解密、非对称加解密、杂凑算法等,以及密码算法衍生功能如数字信封、数字证书等。
硬件加速器(HardwareAccelerator),简称“HA”,提供使用硬件密码模块的算力进行算法运算的功能,可通过配置策略选择自动模式、强制加速、关闭加速。其中自动模式下,采用了性能优先的策略,尽可能使用硬件加速进行算法运算;当硬件性能下降或异常无法支持加速时,自动切换到软件算法,使用CPU算力进行算法运算。
硬件密码模块管理(CryptographyModels Manager)组件,简称“CMM”,负责管理以及调度硬件密码模块,包括密码模块的打开关闭、注册和销毁,以及状态检测等,可直接管理密码设备服务层的硬件密码模块。
虚拟化容器管理(Virtual Containers Manager)组件,简称“VCM”,负责对外提供可控制的虚拟化容器,对内则抽象了硬件密码模块与软件算法句柄,使其对外提供统一的虚拟化容器概念。GCI通过虚拟化容器调用算法功能。HA开启加速时,虚拟化容器与密码模块对应绑定,映射关系由VCM管理;当HA关闭时,虚拟化容器与软件算法句柄对应绑定,映射关系同样由VCM管理。虚拟化容器内部会根据HA的可用状态灵活调度软硬件算法上下文。
基于上述的应用框架,参见图2,本发明实施例1提供一种硬件加速方法,包括以下步骤:
S101:对硬件加速器HA执行初始化操作,加载策略配置;
S102:硬件加速器HA读取策略配置,根据策略配置切换到自动模式策略;若策略配置缺少模式参数,则缺省为自动模式策略;
S103:硬件加速器HA使用硬件密码模块管理组件CMM获取硬件密码模块的状态信息,检测硬件密码模块映射的物理设备是否处于可用状态,若硬件密码模块映射的物理设备不可用,转到S104;若硬件密码模块映射的物理设备可用,则转到S105;
S104:硬件加速器HA切换算法模式到软件算法,同步软件算法状态,转到S109;
S105:硬件加速器HA使用硬件密码模块管理组件CMM加载硬件密码模块,硬件加速器HA与虚拟化容器绑定、建立映射关系,若绑定、建立映射关系成功,转到S106;若绑定、建立映射关系失败,转到步骤S104;
S106:硬件加速器HA开启硬件密码模块的实时监测,当检测到硬件密码模块正常达标则,转到S107;当检测到硬件密码模块出现预设不达标情况时,转到步骤S104;
S107:硬件加速器HA切换算法模式到硬件算法,同步硬件算法状态,转到S108;
S108:通用密码应用接口GCI通过硬件加速器HA使用标准密码设备应用接口执行算法运算;如果通用密码应用接口GCI通过硬件加速器HA使用标准密码设备应用接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到S106;
S109:通用密码应用接口GCI通过软件算法接口执行算法运算;如果通用密码应用接口GCI通过软件算法接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到S106。
参见图3,在硬件加速方法的一个实施例中,还包括对虚拟化容器的生命周期进行管理,具体包括以下步骤:
S001:申请虚拟化容器,通过虚拟化容器管理组件VCM检查虚拟化容器ID池是否存在可用容器ID,若不存在可用容器ID,转到S002;若存在可用容器ID,取出可用容器ID,转到S003;
S002:虚拟化容器管理组件VCM分配新容器ID,转到S003;
S003:虚拟化容器管理组件VCM创建一个虚拟化容器,将创建的虚拟化容器绑定容器ID,虚拟化容器管理组件VCM管理容器ID和虚拟化容器之间的映射关系;若创建的虚拟化容器绑定容器ID失败,转到S004;若创建的虚拟化容器绑定容器ID成功,则转到S005;
S004:虚拟化容器管理组件VCM回收容器ID至容器ID池,转到S008;
S005:返回容器ID,转到S006;
S006:使用虚拟化容器通过通用密码应用接口GCI执行密码算法处理,处理结束转到S007;
S007:虚拟化容器管理组件VCM解除虚拟化容器与容器ID之间的绑定关系,清理虚拟化容器管理组件VCM管理的映射关系表,并转到S004;
S008:虚拟化容器管理组件VCM销毁虚拟化容器,并回收销毁的虚拟化容器所有占用资源。
参见图4,在硬件加速方法的一个实施例中,还包括对密码设备拓展引擎CDEE的算法进行处理,包括以下步骤:
S201:初始化OpenSSL动态引擎,加载并初始化密码设备拓展引擎CDEE,失败转到S210;成功则转到S202;
S202:调用注入初始化密码设备拓展引擎CDEE的EVP接口,开始执行算法处理,转到S203;
S203:虚拟化容器管理组件VCM申请一个虚拟化容器,成功转到S204;失败则转到S209;
S204:使用申请的虚拟化容器调用通用密码应用接口GCI,转到S205;
S205:根据获取的硬件加速器HA的模式策略决定是否启用硬件加速,若启用硬件加速转到S206;未启用硬件加速转到S207;
S206:启用硬件加速后,采用硬件算法设备的算力,使用标准密码设备应用接口执行算法处理,转到S208;
S207:未启用硬件加速后,采用CPU算力,使用软件算法接口执行算法处理,转到S208;
S208:虚拟化容器管理组件VCM回收虚拟化容器,并清理回收的虚拟化容器的资源,转到S209;
S209:清理并卸载密码设备拓展引擎CDEE,转到S210;
S210:OpenSSL动态引擎执行清理并回收资源。
综上所述,本发明实施例对硬件加速器HA执行初始化操作,加载策略配置;硬件加速器HA读取策略配置,根据策略配置切换到自动模式策略;若策略配置缺少模式参数,则缺省为自动模式策略;硬件加速器HA使用硬件密码模块管理组件CMM获取硬件密码模块的状态信息,检测硬件密码模块映射的物理设备是否处于可用状态,若硬件密码模块映射的物理设备不可用,硬件加速器HA切换算法模式到软件算法,同步软件算法状态;若硬件密码模块映射的物理设备可用,则硬件加速器HA使用硬件密码模块管理组件CMM加载硬件密码模块,硬件加速器HA与虚拟化容器绑定、建立映射关系,若绑定、建立映射关系失败,硬件加速器HA切换算法模式到软件算法,同步软件算法状态;若绑定、建立映射关系成功,硬件加速器HA开启硬件密码模块的实时监测,当检测到硬件密码模块正常达标则,硬件加速器HA切换算法模式到硬件算法,同步硬件算法状态;当检测到硬件密码模块出现预设不达标情况时,硬件加速器HA切换算法模式到软件算法,同步软件算法状态;硬件加速器HA切换算法模式到硬件算法,同步硬件算法状态,通用密码应用接口GCI通过硬件加速器HA使用标准密码设备应用接口执行算法运算;如果通用密码应用接口GCI通过硬件加速器HA使用标准密码设备应用接口执行算法运算完毕后,仍有下一项任务需要继续执行,重复检测过程;通用密码应用接口GCI通过软件算法接口执行算法运算;如果通用密码应用接口GCI通过软件算法接口执行算法运算完毕后,仍有下一项任务需要继续执行,重复检测过程。此外对虚拟化容器的生命周期进行管理过程,申请虚拟化容器,通过虚拟化容器管理组件VCM检查虚拟化容器ID池是否存在可用容器ID,若不存在可用容器ID,虚拟化容器管理组件VCM分配新容器ID;若存在可用容器ID,取出可用容器ID,虚拟化容器管理组件VCM创建一个虚拟化容器,将创建的虚拟化容器绑定容器ID,虚拟化容器管理组件VCM管理容器ID和虚拟化容器之间的映射关系;若创建的虚拟化容器绑定容器ID失败,虚拟化容器管理组件VCM回收容器ID至容器ID池;若创建的虚拟化容器绑定容器ID成功,返回容器ID;使用虚拟化容器通过通用密码应用接口GCI执行密码算法处理,处理结束虚拟化容器管理组件VCM解除虚拟化容器与容器ID之间的绑定关系,清理虚拟化容器管理组件VCM管理的映射关系表,并通过虚拟化容器管理组件VCM回收容器ID至容器ID池;虚拟化容器管理组件VCM销毁虚拟化容器,并回收销毁的虚拟化容器所有占用资源。此外,还包括对密码设备拓展引擎CDEE的算法进行处理,初始化OpenSSL动态引擎,加载并初始化密码设备拓展引擎CDEE,失败OpenSSL动态引擎执行清理并回收资源;成功则调用注入初始化密码设备拓展引擎CDEE的EVP接口,开始执行算法处理,虚拟化容器管理组件VCM申请一个虚拟化容器,成功则使用申请的虚拟化容器调用通用密码应用接口GCI,失败则清理并卸载密码设备拓展引擎CDEE;根据获取的硬件加速器HA的模式策略决定是否启用硬件加速,若启用硬件加速采用硬件算法设备的算力,使用标准密码设备应用接口执行算法处理;未启用硬件加速采用CPU算力,使用软件算法接口执行算法处理;虚拟化容器管理组件VCM回收虚拟化容器,并清理回收的虚拟化容器的资源,清理并卸载密码设备拓展引擎CDEE,OpenSSL动态引擎执行清理并回收资源。本发明能够通过使用OpenSSL开启支持国密算法的硬件加速,简易、通用且高效的EVP接口配合国密算法的硬件支持,可在很大程度上推动密码应用产品的国产化发展,降低其研制成本与研发难度;为使用OpenSSL作为算法库的第三方框架提供了支持国密硬件算法的能力,最小化第三方框架的国密算法支持的修改,提高了密码应用的兼容性和移植性;统一了多种标准密码应用接口以及适配了多厂商的自定义接口,提高了密码算法应用相关的代码复用,减少了维护成本。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
实施例2
参见图5,本发明实施例2提供一种硬件加速装置,包括:
策略配置加载单元11,用于对硬件加速器执行初始化操作,加载策略配置;
模式策略切换单元12,用于硬件加速器读取策略配置,根据策略配置切换到自动模式策略;
物理设备检测单元13,用于硬件加速器使用硬件密码模块管理组件获取硬件密码模块的状态信息,检测硬件密码模块映射的物理设备是否处于可用状态;
软件算法切换单元14,用于硬件加速器切换算法模式到软件算法,同步软件算法状态;
映射关系构建单元15,用于硬件加速器使用硬件密码模块管理组件加载硬件密码模块,硬件加速器与虚拟化容器绑定、建立映射关系;
硬件算法切换单元16,用于硬件加速器开启硬件密码模块的实时检测,当检测到硬件密码模块正常达标则,硬件加速器切换算法模式到硬件算法,同步硬件算法状态;
硬件算法执行单元17,用于通用密码应用接口通过硬件加速器使用标准密码设备应用接口执行算法运算;
软件算法执行单元18,用于通用密码应用接口通过软件算法接口执行算法运算。
本实施例中,所述模式策略切换单元12中,若策略配置缺少模式参数,则缺省为自动模式策略;
所述映射关系构建单元15中,若绑定、建立映射关系失败,转到所述硬件算法切换单元;
所述硬件算法切换单元16中,当检测到硬件密码模块出现预设不达标情况时,转到所述软件算法切换单元;
所述硬件算法执行单元17中,如果通用密码应用接口通过硬件加速器使用标准密码设备应用接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到所述硬件算法切换单元;
所述软件算法执行单元18中,如果通用密码应用接口通过软件算法接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到所述硬件算法切换单元。
本实施例中,还包括虚拟化容器的管理单元21,所述虚拟化容器的管理单元21包括:
容器ID检测子单元211,用于申请虚拟化容器,通过虚拟化容器管理组件检查虚拟化容器ID池是否存在可用容器ID,若存在可用容器ID,取出可用容器ID;
新容器ID分配子单元212,用于虚拟化容器管理组件分配新容器ID;
虚拟化容器创建子单元213,用于虚拟化容器管理组件创建一个虚拟化容器,将创建的虚拟化容器绑定容器ID,虚拟化容器管理组件管理容器ID和虚拟化容器之间的映射关系;
容器ID回收子单元214,用于虚拟化容器管理组件回收容器ID至容器ID池;
密码算法处理子单元215,用于使用虚拟化容器通过通用密码应用接口执行密码算法处理;
绑定关系解除子单元216,用于虚拟化容器管理组件解除虚拟化容器与容器ID之间的绑定关系,清理虚拟化容器管理组件管理的映射关系表;
虚拟化容器销毁子单元217,用于虚拟化容器管理组件销毁虚拟化容器,并回收销毁的虚拟化容器所有占用资源。
本实施例中,还包括拓展引擎算法处理单元31,所述拓展引擎算法处理单元31:
拓展引擎加载子单元311,用于初始化OpenSSL动态引擎,加载并初始化密码设备拓展引擎;
EVP接口调用子单元312,用于调用注入初始化密码设备拓展引擎的EVP接口,开始执行算法处理;
密码应用接口调用子单元313,用于虚拟化容器管理组件申请一个虚拟化容器,使用申请的虚拟化容器调用通用密码应用接口;
硬件加速处理子单元314,用于根据获取的硬件加速器的模式策略决定是否启用硬件加速;启用硬件加速后,采用硬件算法设备的算力,使用标准密码设备应用接口执行算法处理;未启用硬件加速后,采用CPU算力,使用软件算法接口执行算法处理;
虚拟化容器回收子单元315,用于通过虚拟化容器管理组件回收虚拟化容器,并清理回收的虚拟化容器的资源
设备拓展引擎卸载子单元316,用于清理并卸载密码设备拓展引擎,还用于OpenSSL动态引擎执行清理并回收资源。
需要说明的是,上述装置各单元之间的信息交互、执行过程等内容,由于与本申请实施例1中的方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
实施例3
本发明实施例3提供一种非暂态计算机可读存储介质,所述计算机可读存储介质中存储有硬件加速方法的程序代码,所述程序代码包括用于执行实施例1或其任意可能实现方式的硬件加速方法的指令。
计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD),或者半导体介质(例如固态硬盘(SolidState Disk、SSD))等。
实施例4
本发明实施例4提供一种电子设备,包括:存储器和处理器;
所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行实施例1或其任意可能实现方式的硬件加速方法。
具体的,处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于所述处理器之外,独立存在。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (10)
1.一种硬件加速方法,其特征在于,包括以下步骤:
S101:对硬件加速器执行初始化操作,加载策略配置;
S102:硬件加速器读取策略配置,根据策略配置切换到自动模式策略;
S103:硬件加速器使用硬件密码模块管理组件获取硬件密码模块的状态信息,检测硬件密码模块映射的物理设备是否处于可用状态,若硬件密码模块映射的物理设备不可用,转到S104;若硬件密码模块映射的物理设备可用,则转到S105;
S104:硬件加速器切换算法模式到软件算法,同步软件算法状态,转到S109;
S105:硬件加速器使用硬件密码模块管理组件加载硬件密码模块,硬件加速器与虚拟化容器绑定、建立映射关系,若绑定、建立映射关系成功,转到S106;
S106:硬件加速器开启硬件密码模块的实时监测,当检测到硬件密码模块正常达标则,转到S107;
S107:硬件加速器切换算法模式到硬件算法,同步硬件算法状态,转到S108;
S108:通用密码应用接口通过硬件加速器使用标准密码设备应用接口执行算法运算;
S109:通用密码应用接口通过软件算法接口执行算法运算。
2.根据权利要求1所述的一种硬件加速方法,其特征在于,步骤S102中,若策略配置缺少模式参数,则缺省为自动模式策略;
步骤S105中,若绑定、建立映射关系失败,转到步骤S104;
步骤S106中,当检测到硬件密码模块出现预设不达标情况时,转到步骤S104;
步骤S108中,如果通用密码应用接口通过硬件加速器使用标准密码设备应用接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到S106;
步骤S109中,如果通用密码应用接口通过软件算法接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到S106。
3.根据权利要求1所述的一种硬件加速方法,其特征在于,还包括对虚拟化容器的生命周期进行管理,包括以下步骤:
S001:申请虚拟化容器,通过虚拟化容器管理组件检查虚拟化容器ID池是否存在可用容器ID,若不存在可用容器ID,转到S002;若存在可用容器ID,取出可用容器ID,转到S003;
S002:虚拟化容器管理组件分配新容器ID,转到S003;
S003:虚拟化容器管理组件创建一个虚拟化容器,将创建的虚拟化容器绑定容器ID,虚拟化容器管理组件管理容器ID和虚拟化容器之间的映射关系;若创建的虚拟化容器绑定容器ID失败,转到S004;若创建的虚拟化容器绑定容器ID成功,则转到S005;
S004:虚拟化容器管理组件回收容器ID至容器ID池,转到S008;
S005:返回容器ID,转到S006;
S006:使用虚拟化容器通过通用密码应用接口执行密码算法处理,处理结束转到S007;
S007:虚拟化容器管理组件解除虚拟化容器与容器ID之间的绑定关系,清理虚拟化容器管理组件管理的映射关系表,并转到S004;
S008:虚拟化容器管理组件销毁虚拟化容器,并回收销毁的虚拟化容器所有占用资源。
4.根据权利要求1所述的一种硬件加速方法,其特征在于,还包括对密码设备拓展引擎的算法进行处理,包括以下步骤:
S201:初始化OpenSSL动态引擎,加载并初始化密码设备拓展引擎,失败转到S210;成功则转到S202;
S202:调用注入初始化密码设备拓展引擎的EVP接口,开始执行算法处理,转到S203;
S203:虚拟化容器管理组件申请一个虚拟化容器,成功转到S204;失败则转到S209;
S204:使用申请的虚拟化容器调用通用密码应用接口,转到S205;
S205:根据获取的硬件加速器的模式策略决定是否启用硬件加速,若启用硬件加速转到S206;未启用硬件加速转到S207;
S206:启用硬件加速后,采用硬件算法设备的算力,使用标准密码设备应用接口执行算法处理,转到S208;
S207:未启用硬件加速后,采用CPU算力,使用软件算法接口执行算法处理,转到S208;
S208:虚拟化容器管理组件回收虚拟化容器,并清理回收的虚拟化容器的资源,转到S209;
S209:清理并卸载密码设备拓展引擎,转到S210;
S210:OpenSSL动态引擎执行清理并回收资源。
5.一种硬件加速装置,其特征在于,包括:
策略配置加载单元,用于对硬件加速器执行初始化操作,加载策略配置;
模式策略切换单元,用于硬件加速器读取策略配置,根据策略配置切换到自动模式策略;
物理设备检测单元,用于硬件加速器使用硬件密码模块管理组件获取硬件密码模块的状态信息,检测硬件密码模块映射的物理设备是否处于可用状态;
软件算法切换单元,用于硬件加速器切换算法模式到软件算法,同步软件算法状态;
映射关系构建单元,用于硬件加速器使用硬件密码模块管理组件加载硬件密码模块,硬件加速器与虚拟化容器绑定、建立映射关系;
硬件算法切换单元,用于硬件加速器开启硬件密码模块的实时检测,当检测到硬件密码模块正常达标则,硬件加速器切换算法模式到硬件算法,同步硬件算法状态;
硬件算法执行单元,用于通用密码应用接口通过硬件加速器使用标准密码设备应用接口执行算法运算;
软件算法执行单元,用于通用密码应用接口通过软件算法接口执行算法运算。
6.根据权利要求5所述的一种硬件加速装置,其特征在于,所述模式策略切换单元中,若策略配置缺少模式参数,则缺省为自动模式策略;
所述映射关系构建单元中,若绑定、建立映射关系失败,转到所述硬件算法切换单元;
所述硬件算法切换单元中,当检测到硬件密码模块出现预设不达标情况时,转到所述软件算法切换单元;
所述硬件算法执行单元中,如果通用密码应用接口通过硬件加速器使用标准密码设备应用接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到所述硬件算法切换单元;
所述软件算法执行单元中,如果通用密码应用接口通过软件算法接口执行算法运算完毕后,仍有下一项任务需要继续执行,转到所述硬件算法切换单元。
7.根据权利要求5所述的一种硬件加速装置,其特征在于,还包括虚拟化容器的管理单元,所述虚拟化容器的管理单元包括:
容器ID检测子单元,用于申请虚拟化容器,通过虚拟化容器管理组件检查虚拟化容器ID池是否存在可用容器ID,若存在可用容器ID,取出可用容器ID;
新容器ID分配子单元,用于虚拟化容器管理组件分配新容器ID;
虚拟化容器创建子单元,用于虚拟化容器管理组件创建一个虚拟化容器,将创建的虚拟化容器绑定容器ID,虚拟化容器管理组件管理容器ID和虚拟化容器之间的映射关系;
容器ID回收子单元,用于虚拟化容器管理组件回收容器ID至容器ID池;
密码算法处理子单元,用于使用虚拟化容器通过通用密码应用接口执行密码算法处理;
绑定关系解除子单元,用于虚拟化容器管理组件解除虚拟化容器与容器ID之间的绑定关系,清理虚拟化容器管理组件管理的映射关系表;
虚拟化容器销毁子单元,用于虚拟化容器管理组件销毁虚拟化容器,并回收销毁的虚拟化容器所有占用资源。
8.根据权利要求5所述的一种硬件加速装置,其特征在于,还包括拓展引擎算法处理单元,所述拓展引擎算法处理单元:
拓展引擎加载子单元,用于初始化OpenSSL动态引擎,加载并初始化密码设备拓展引擎;
EVP接口调用子单元,用于调用注入初始化密码设备拓展引擎的EVP接口,开始执行算法处理;
密码应用接口调用子单元,用于虚拟化容器管理组件申请一个虚拟化容器,使用申请的虚拟化容器调用通用密码应用接口;
硬件加速处理子单元,用于根据获取的硬件加速器的模式策略决定是否启用硬件加速;启用硬件加速后,采用硬件算法设备的算力,使用标准密码设备应用接口执行算法处理;未启用硬件加速后,采用CPU算力,使用软件算法接口执行算法处理;
虚拟化容器回收子单元,用于通过虚拟化容器管理组件回收虚拟化容器,并清理回收的虚拟化容器的资源
设备拓展引擎卸载子单元,用于清理并卸载密码设备拓展引擎,还用于OpenSSL动态引擎执行清理并回收资源。
9.一种非暂态计算机可读存储介质,所述计算机可读存储介质中存储有硬件加速方法的程序代码,其特征在于,所述程序代码包括用于执行权利要求1至4任一项所述的一种硬件加速方法的指令。
10.一种电子设备,包括:存储器和处理器;所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,其特征在于,所述处理器调用所述程序指令执行权利要求1至7任一项所述的一种硬件加速方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311726545.6A CN117632271B (zh) | 2023-12-14 | 2023-12-14 | 一种硬件加速方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311726545.6A CN117632271B (zh) | 2023-12-14 | 2023-12-14 | 一种硬件加速方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117632271A true CN117632271A (zh) | 2024-03-01 |
CN117632271B CN117632271B (zh) | 2024-05-28 |
Family
ID=90037595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311726545.6A Active CN117632271B (zh) | 2023-12-14 | 2023-12-14 | 一种硬件加速方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117632271B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020030536A1 (en) * | 2018-08-06 | 2020-02-13 | Continental Automotive Gmbh | Method of managing private cryptographic keys |
CN111416713A (zh) * | 2020-04-01 | 2020-07-14 | 中国人民解放军国防科技大学 | 基于tee的密码服务资源安全扩展方法及系统 |
CN112398826A (zh) * | 2020-11-03 | 2021-02-23 | 北京天融信网络安全技术有限公司 | 基于国密的数据处理方法、装置、存储介质及电子设备 |
CN113452522A (zh) * | 2021-06-28 | 2021-09-28 | 杭州云象网络技术有限公司 | 基于国密的硬件安全模块软件实现方法、存储介质及装置 |
CN114036544A (zh) * | 2021-11-16 | 2022-02-11 | 中易通科技股份有限公司 | 一种提升硬件密码设备的加密性能的系统及方法 |
CN114915405A (zh) * | 2022-07-15 | 2022-08-16 | 麒麟软件有限公司 | 一种基于OpenSSL的国密算法硬件加速方法 |
CN116248414A (zh) * | 2023-05-09 | 2023-06-09 | 杭州海康威视数字技术股份有限公司 | 基于虚拟化硬件实现密码加速的方法、装置及电子设备 |
-
2023
- 2023-12-14 CN CN202311726545.6A patent/CN117632271B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020030536A1 (en) * | 2018-08-06 | 2020-02-13 | Continental Automotive Gmbh | Method of managing private cryptographic keys |
CN111416713A (zh) * | 2020-04-01 | 2020-07-14 | 中国人民解放军国防科技大学 | 基于tee的密码服务资源安全扩展方法及系统 |
CN112398826A (zh) * | 2020-11-03 | 2021-02-23 | 北京天融信网络安全技术有限公司 | 基于国密的数据处理方法、装置、存储介质及电子设备 |
CN113452522A (zh) * | 2021-06-28 | 2021-09-28 | 杭州云象网络技术有限公司 | 基于国密的硬件安全模块软件实现方法、存储介质及装置 |
CN114036544A (zh) * | 2021-11-16 | 2022-02-11 | 中易通科技股份有限公司 | 一种提升硬件密码设备的加密性能的系统及方法 |
CN114915405A (zh) * | 2022-07-15 | 2022-08-16 | 麒麟软件有限公司 | 一种基于OpenSSL的国密算法硬件加速方法 |
CN116248414A (zh) * | 2023-05-09 | 2023-06-09 | 杭州海康威视数字技术股份有限公司 | 基于虚拟化硬件实现密码加速的方法、装置及电子设备 |
Non-Patent Citations (5)
Title |
---|
CHUNHUA XIAO 等: "Hardware/Software Adaptive Cryptographic Acceleration for Big Data Processing", SECURITY AND COMMUNICATION NETWORKS, 27 August 2018 (2018-08-27) * |
MOHAMED KHALIL-HANI 等: "Hardware Acceleration of OpenSSL cryptographic functions for high-performance Internet Security", 2010 INTERNATIONAL CONFERENCE ON INTELLIGENT SYSTEMS, 18 February 2010 (2010-02-18) * |
李林芝: "ARM加解密硬件加速在WebServer领域的应用研究", 中国优秀硕士学位论文全文数据库信息科技辑, 15 June 2018 (2018-06-15) * |
蔡成杭: "支持国产密码算法的OpenSSL设计实现及应用", 信息安全研究, no. 02, 5 February 2018 (2018-02-05) * |
陈兴蜀 等: "针对虚拟可信平台模块的国密算法扩展技术研究", 工程科学与技术, no. 03, 9 May 2020 (2020-05-09) * |
Also Published As
Publication number | Publication date |
---|---|
CN117632271B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109564514B (zh) | 用于部分卸载的虚拟化管理器处的存储器分配的方法和系统 | |
TWI533213B (zh) | 儲存和恢復應用程式運行時間狀態 | |
US10015196B1 (en) | Fast reconfiguring environment for mobile computing devices | |
US9569620B2 (en) | Method for processing UEFI protocols and system therefor | |
US20220174096A1 (en) | Automatically Deployed Information Technology (IT) System and Method with Enhanced Security | |
US10146942B2 (en) | Method to protect BIOS NVRAM from malicious code injection by encrypting NVRAM variables and system therefor | |
CN109614167B (zh) | 一种管理插件的方法和系统 | |
US11252032B1 (en) | Monitoring VNFCs that are composed of independently manageable software modules | |
WO2016131172A1 (zh) | 一种更新网络服务描述器nsd的方法及装置 | |
EP1840741A1 (en) | Device, method, and computer program product for accessing a non-native application executing in a virtual machine environment | |
JP2006522416A5 (zh) | ||
WO2018001091A1 (zh) | 虚拟网络功能vnf更新方法、装置和vnf包 | |
WO2020103925A1 (zh) | 一种容器化虚拟网络功能的部署方法和装置 | |
KR20180066148A (ko) | 네트워크 기능 가상화 아키텍처에서의 인증서 관리 방법 및 디바이스 | |
CN111367659A (zh) | 一种Kubernetes中节点的资源管理方法、设备以及介质 | |
WO2017001117A1 (en) | Resource provisioning in distributed computing environments | |
US20230168998A1 (en) | Concurrent memory recycling for collection of servers | |
US20210326162A1 (en) | Lifecycle management of a vnfc included in a multi-vnfc vdu | |
CN117632271B (zh) | 一种硬件加速方法、装置、存储介质及电子设备 | |
CN106815056B (zh) | 基于jcl框架的应用热部署方法和装置 | |
CN112015515B (zh) | 一种虚拟网络功能的实例化方法及装置 | |
US11341063B2 (en) | Systems and methods for safely detecting indeterminate states of ranges in a self-encrypting storage resource | |
WO2022231495A1 (en) | Efficient deployment of cloud resources | |
CN110704249A (zh) | 一种保证应用一致性的方法、装置及系统 | |
CN110362386A (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 |