CN102426636A - 可挂载式加密算法引擎系统及其使用方法 - Google Patents

可挂载式加密算法引擎系统及其使用方法 Download PDF

Info

Publication number
CN102426636A
CN102426636A CN2011103378795A CN201110337879A CN102426636A CN 102426636 A CN102426636 A CN 102426636A CN 2011103378795 A CN2011103378795 A CN 2011103378795A CN 201110337879 A CN201110337879 A CN 201110337879A CN 102426636 A CN102426636 A CN 102426636A
Authority
CN
China
Prior art keywords
node
algorithm
aes
engine
carry
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
Application number
CN2011103378795A
Other languages
English (en)
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.)
XUANSHI SOFTWARE TECHNOLOGY (SHANGHAI) CO LTD
Original Assignee
XUANSHI SOFTWARE TECHNOLOGY (SHANGHAI) 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 XUANSHI SOFTWARE TECHNOLOGY (SHANGHAI) CO LTD filed Critical XUANSHI SOFTWARE TECHNOLOGY (SHANGHAI) CO LTD
Priority to CN2011103378795A priority Critical patent/CN102426636A/zh
Publication of CN102426636A publication Critical patent/CN102426636A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明提供了一种可挂载式加密算法引擎系统,其包括若干个遵照同样的接口定义的加密算法节点,其特征在于:所述挂载式算法引擎可以动态切换算法节点;且挂载式算法引擎包含统一算法的多个节点;所述加密算法节点由统一的封装接口挂载到引擎系统中;本发明的有益效果是:1,抵抗旁路攻击与传统的抵御方式相结合,效果会更好;2,提高设备的服务质量.保证了了设备的继续可用,也大大提高了设备的平均故障间隔,系统的诊断可以在随后的系统维护例行时进行;3,提高开发效率;4.增加程序的可移植性,算法引擎部分只要做少许改动和配置,即可支持新的硬件算法节点。

Description

可挂载式加密算法引擎系统及其使用方法
技术领域
本发明涉及计算机信息安全领域,尤其涉及一种加密算法引擎系统及其使用方法。
背景技术
在现代网络硬件设备,消费电子和桌面电脑的软件产品中,产品的安全性越发重要。安全性已经成为一个成功软件的产品的不可或缺的一部分。安全性要求较高的产品,比如多媒体桌面软件,多媒体播放器产品(如碟机,机顶盒),网络安全设备,服务器设备,在现代的设计中会包含软硬件加密算法引擎。加密算法引擎成为整个产品安全的核心组件。加密算法引擎的可靠性和安全性成为重要的话题。它的漏洞将直接威胁产品的整体安全性,而功能上的错误会让关键服务宕机。
许多芯片供应商选择在芯片中加入专用的加密算法引擎,这种专用的算法引擎可以保护密钥数据安全和提高算法性能。
传统技术中的问题:算法引擎的实现方法很多,算法实现也多种多样,其中一些算法实现是有业界的安全专家开发和维护。选择健壮性好,性能好,又具有更高安全性的实现很重要。
但是,成熟的加密算法依然暴漏在很多威胁面前,任何的信息泄露都可能被用来攻击算法。比如电磁泄漏,功耗,算法执行时间,噪音,甚至错误信息和热量都会帮助进行密钥统计分析,这类攻击被成为旁路攻击。一般的防御方法包括随机扰码,冗余计算,等等。
一些设备,尤其是网络设备,例如VPN网关,多媒体服务器,对可靠性的要求较高,一旦发生错误,无法承受长时间的恢复时间。加密算法引擎是这类服务器的关键组件,需要很强的健壮性。
鉴于以上的几种问题,一种新的效果好、安全性能高的一种可挂载式加密算法引擎系统的发明是势在必行的。
发明内容
本发明要解决的技术问题是加密算法依然暴漏在很多威胁面前,任何的信息泄露都可能被用来攻击算法。比如电磁泄漏,功耗等,尤其是网络设备,例如VPN网关,多媒体服务器,对可靠性的要求较高,一旦发生错误,无法承受长时间的恢复时间等。
本发明的目的是针对加密算法引擎的应用和面临的威胁,提出一种更加安全和易于实施的加密算法引擎系统及方法。
为了达到上述目的,本发明提供了一种可挂载式加密算法引擎系统,
一种可挂载式加密算法引擎系统,其包括若干个遵照同样的接口定义的加密算法节点,其特征在于:所述挂载式算法引擎可以动态切换算法节点;且挂载式算法引擎包含统一算法的多个节点;所述加密算法节点由统一的封装接口挂载到引擎系统中。
所述加密算法节点包括硬件算法节点、软件算法节点或者是两者的组合。
根据系统配置的不同,所述挂载节点可在编译时确定或者在运行时确定,且多个挂在节点可同时存在。
运行时挂载时,不同的实现可以同时存在,互为备份。
所述当挂载时,一个标准接口的加密算法节点,会使用函数指针挂载到挂载点上。
根据系统配置的不同,二进制的执行镜像中包含同一个算法的一个或者多个节点,当多个节点被包含时,加密算法引擎可在运行时对算法节点进行切换。
所述加密算法引擎对算法节点进行切换的步骤包括:
系统初始化结束,对默认节点进行流数据加密;
当前数据块加密操作结束,停止加密操作,安全保存当前加密上下文,包括密钥,向量;
销毁当前节点。
切换当前节点至另外一节点。
初始化切换后节点上下文,包括密钥,向量。
进行算法节点的自行测试。
从下一待处理数据开处开始加密操作。
所述算法引擎中的算法节点挂载点的内容包括算法引擎中存有的各种算法的标准挂载点,算法引擎会根据预定义的标准接口列表寻找和使用相应的节点实现。
本发明提供了一种可挂载式加密算法引擎的方法,其特征在于:
所述包括硬件算法节点、软件算法节点或者是两者的组合的若干个加密算法节点遵照同样的接口定义;
所述挂载式算法引擎可动态切换算法节点;且挂载式算法引擎包含统一算法的多个节点;
所述加密算法节点由统一的封装接口挂载到引擎系统中。
根据系统配置的不同,所述挂载节点可在编译时确定或者在运行时确定,且多个挂在节点可同时存在。
运行时挂载时,不同的实现可以同时存在,互为备份。
所述当挂载时,一个标准接口的加密算法节点,会使用函数指针或工厂模式挂载到挂载点上。
根据系统配置的不同,二进制的执行镜像中包含同一个算法的一个或者多个节点,当多个节点被包含时,加密算法引擎可在运行时对算法节点进行切换。
所述加密算法引擎对算法节点进行切换的步骤包括:
系统初始化结束,对默认节点进行流数据加密;
当前数据块加密操作结束,停止加密操作,安全保存当前加密上下文,包括密钥,向量;
销毁当前节点。
切换当前节点至另外一节点。
初始化切换后节点上下文,包括密钥,向量。
进行算法节点的自行测试。
从下一待处理数据开处开始加密操作。
所述算法引擎中的算法节点挂载点的内容包括算法引擎中存有的各种算法的标准挂载点,算法引擎会根据所述标准接口列表寻找和使用相应的节点实现。
本发明的有益效果是:
1,抵抗旁路攻击。部署后,挂载式算法引擎可以动态切换算法节点,从而使算法操作的信息泄露特征混淆。由于不同的算法节点的实现方式不同,他们的功耗,执行时间,电磁特性迥异。一个高效的组合实现,将提升抵御旁路攻击的能力。如果与传统的抵御方式相结合,效果会更好。
2,提高设备的QoS(Quality of Service服务质量).部署后,挂载式算法引擎可以包含统一算法的多个节点,软件节点和硬件节点均可。如果设备在运行高可靠行得服务,一旦某个算法节点出错,挂载式算法引擎可以在第一时间切换至其他节点。这样,保证了了设备的继续可用,也大大提高了设备的平均故障间隔(MTBF,mean time between failures)。系统的诊断可以在随后的系统维护例行时进行。
3,提高开发效率.在开发阶段,工业级别的算法实现通常作为参考,用来比算法较性能,可靠性,健壮性,等等。挂载式算法引擎可以让这些工作更加容易进行。将这些不同的软硬件接口进行统一的算法接口封装,将以通用的方式帮助开发者进行评估和开发调试工作。
4.增加程序的可移植性。当一个包含加密算法引擎的应用在不同平台之间移植时,由于很多算法会换为硬件接口。一个统一的挂载接口将会大大减少移植的工作量。算法引擎部分只要做少许改动和配置,即可支持新的硬件算法节点。
附图说明
通过以下对本发明的实施例结合其附图的描述,可以进一步理解其发明的目的、具体结构特征和优点。其中,附图为:
图1为本发明加密算法引擎系统示意图;
图2为本发明加密算法引擎挂载示意图;
图3为本发明算法节点切换步骤示意图。
图4为本发明实施例的操作流程示意图。
图5为本发明算法节点挂载点示意图。
具体实施方式
本发明是应用在计算机信息安全领域,尤其涉及一种加密算法引擎系统及其使用方法,是在对现有的加密算法的基础上作出的重大改进,具有非常重要的实践意义。
如图1所示,一个可挂载加密算法引擎系统是由多个加密算法节点组成,这些加密算法节点是由统一的封装接口挂载到引擎中。加密算法节点是挂载式加密算法引擎的基本单位,这种算法节点可以是硬件算法节点或者是软件算法节点,但都使用统一的挂载接口。根据系统配置的不同,挂载节点可以在编译时确定或者在运行时确定,多个挂在节点可以同时存在。这种多种实现同时存在的设计对整个项目周期都有好处,并且在运行时挂载式,不同的实现可以同时存在,互为备份。
挂载点挂载的实现:当挂载时,一个标准接口的算法节点,会挂载到如上所示的挂载点上。一种实现方式是使用函数指针。比如AES算法节点的会话建立的函数地址,赋值于AES挂载点的open_session函数指针。设置密钥函数地址赋值于setkey函数指针,加密函数地址赋值于enc函数指针,解密函数地址赋值于dec函数指针,关闭函数地址赋值于close_session函数指针。
其中,对于任何一种具体的算法,一个通用的挂载接口需要被定义,本文定义了一些较常用算法的通用接口,当然,他们可以被继续扩充。细节包括,密钥长度,密钥数据,数据缓存的地址,长度等等。具体的实现可以利用函数指针,工厂模式等皆可。
当然,一个完善的系统,不可或缺算法节点切换的步骤,该步骤也是本发明的重要发明点之一,具有非常重要的实践意义。根据系统配置的不同,二进制的执行镜像中可以包含同一个算法的一个或者多个节点。当多个节点被包含时,加密算法引擎依据需要,可以在运行时对算法节点进行切换,下面列举一下运行时切换的基本步骤,以AES128算法为例,如图3所示:
1.系统初始化结束,默认AES-128节点A在进行流数据加密。
2.当前数据块加密操作结束。
3.停止加密操作,安全保存当前加密上下文,包括密钥,向量。
4.销毁当前AES-128节点。
5.切换AES-128节点至节点B。
6.初始化AES-128节点上下文,包括密钥,向量。
7.进行算法节点的自行测试。
8.从下一待处理数据开处开始加密操作。
通常,对于每一种算法节点,都有一个接口集合,称为节点接口列表。节点接口是统一的接口标准,任何软,硬件的实现需要遵照同样的接口才可以实现本专利中的算法节点挂载功能。本算法同样也定义了一些常用的算法节点接口定义:(以函数指针为实现方法)
Figure BSA00000602492900081
Figure BSA00000602492900111
Figure BSA00000602492900121
Figure BSA00000602492900131
Figure BSA00000602492900141
算法引擎中的算法节点挂载点的内容:算法引擎中会存有各种算法的标准挂载点,如图5所示:算法引擎会根据这些标准接口列表来寻找和使用相应的节点实现。
例如AES挂载点存在如下节点接口:
Figure BSA00000602492900142
如下将通过具体的实施例来进一步详细的表述本发明的具体实现方式:本发明技术在提高软件的安全性,设备的Qos方面具有突出的效果。
举例说明在VPN设备中的应用:所谓VPN网络设备,是在虚拟专用网络(Virtual Private Network,简称VPN)指的是在公用网络上建立专用网络的技术。简单来说,就是利用隧道概念将两个独立的局域网安全的通过广域网连接起来。这意味着提供VPN服务的网络设备要具有高强度的安全性。包括数据加密,和身份认证。以数据加密为例,目前大多数VPN协议使用AES来加密局域网间的数据传输:加密从局域网输出到广域网的数据;解密从广域网传输到局域网的数据。
如图4所示,Virtual Private Network网络设备中,核心的组件是一个含有加密算法功能的ASIC(Application-specific integrated circuit)芯片。本发明的算法的实现会是实现在专有的将此芯片的算法节点,进行标准接口的封装。
首先,每一个算法节点都是ASIC芯片的一部分2进制镜像(binaryimage),入口使用标准的接口,挂载至算法引擎中。
当传输的数据由于AES加密计算出错时,如果重启或者更换VPN设备将造成很大麻烦,这时更改只需要本发明算法引擎根据如前所述切换节点过程,切换到备用ASIC节点即可。如此,可以避免上述所有重启或者更换VPN设备所带来的不必要的麻烦。
上述优选实施例的描述使本领域的技术人员能制造或使用本发明。这些实施例的各种修改对于本领域的技术人员来说是显而易见的,这里定义的一般原理可以被应用于其它实施例中而不背离本发明的精神或范围。因此,本发明并不限于这里示出的实施例,而要符合与这里揭示的原理和新颖特征一致的最宽泛的范围。

Claims (15)

1.一种可挂载式加密算法引擎系统,其包括若干个遵照同样的接口定义的加密算法节点,其特征在于:所述挂载式算法引擎可以动态切换算法节点;且挂载式算法引擎包含统一算法的多个节点;所述加密算法节点由统一的封装接口挂载到引擎系统中。
2.根据权利要求1所述的一种可挂载式加密算法引擎系统,其特征在于:所述加密算法节点包括硬件算法节点、软件算法节点或者是两者的组合。
3.根据权利要求2所述的一种可挂载式加密算法引擎系统,其特征在于:根据系统配置的不同,所述挂载节点可在编译时确定或者在运行时确定,且多个挂在节点可同时存在。
4.根据权利要求3所述的一种可挂载式加密算法引擎系统,其特征在于:运行挂载时,不同的实现可以同时存在,互为备份。
5.根据权利要求1述的一种可挂载式加密算法引擎系统,其特征在于:所述当挂载时,一个标准接口的加密算法节点,会使用函数指针挂载到挂载点上。
6.根据权利要求1所述的一种可挂载式加密算法引擎系统,其特征在于:根据系统配置的不同,二进制的执行镜像中包含同一个算法的一个或者多个节点,当多个节点被包含时,加密算法引擎可在运行时对算法节点进行切换。
7.根据权利要求6所述的一种可挂载式加密算法引擎系统,其特征在于,所述加密算法引擎对算法节点进行切换的步骤包括:
系统初始化结束,对默认节点进行流数据加密;
当前数据块加密操作结束,停止加密操作,安全保存当前加密上下文,包括密钥,向量;
销毁当前节点。
切换当前节点至另外一节点。
初始化切换后节点上下文,包括密钥,向量。
进行算法节点的自行测试。
从下一待处理数据开处开始加密操作。
8.根据权利要求1所述的一种可挂载式加密算法引擎系统,其特征在于:所述算法引擎中的算法节点挂载点的内容包括算法引擎中存有的各种算法的标准挂载点,算法引擎会根据预定义的标准接口列表寻找和使用相应的节点实现。
9.根据权利要求1所述的方法,其特征在于:
所述包括硬件算法节点、软件算法节点或者是两者的组合的若干个加密算法节点遵照同样的接口定义;
所述挂载式算法引擎可动态切换算法节点;且挂载式算法引擎包含统一算法的多个节点;
所述加密算法节点由统一的封装接口挂载到引擎系统中。
10.根据权利要求9所述的方法,其特征在于:根据系统配置的不同,所述挂载节点可在编译时确定或者在运行时确定,且多个挂在节点可同时存在。
11.根据权利要求9所述的方法,其特征在于:运行时挂载时,不同的实现可以同时存在,互为备份。
12.根据权利要求9所述的方法,其特征在于:所述当挂载时,一个标准接口的加密算法节点,会使用函数指针或工厂模式挂载到挂载点上。
13.根据权利要求9所述的方法,其特征在于:根据系统配置的不同,二进制的执行镜像中包含同一个算法的一个或者多个节点,当多个节点被包含时,加密算法引擎可在运行时对算法节点进行切换。
14.根据权利要求13所述的方法,其特征在于,所述加密算法引擎对算法节点进行切换的步骤包括:
系统初始化结束,对默认节点进行流数据加密;
当前数据块加密操作结束,停止加密操作,安全保存当前加密上下文,包括密钥,向量;
销毁当前节点。
切换当前节点至另外一节点。
初始化切换后节点上下文,包括密钥,向量。
进行算法节点的自行测试。
从下一待处理数据开处开始加密操作。
15.根据权利要求9所述的方法,其特征在于:所述算法引擎中的算法节点挂载点的内容包括算法引擎中存有的各种算法的标准挂载点,算法引擎会根据所述标准接口列表寻找和使用相应的节点实现。
CN2011103378795A 2011-10-31 2011-10-31 可挂载式加密算法引擎系统及其使用方法 Pending CN102426636A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011103378795A CN102426636A (zh) 2011-10-31 2011-10-31 可挂载式加密算法引擎系统及其使用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011103378795A CN102426636A (zh) 2011-10-31 2011-10-31 可挂载式加密算法引擎系统及其使用方法

Publications (1)

Publication Number Publication Date
CN102426636A true CN102426636A (zh) 2012-04-25

Family

ID=45960615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011103378795A Pending CN102426636A (zh) 2011-10-31 2011-10-31 可挂载式加密算法引擎系统及其使用方法

Country Status (1)

Country Link
CN (1) CN102426636A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818265A (zh) * 2017-10-23 2018-03-20 中国银行股份有限公司 加密方法、装置和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1494688A (zh) * 2001-02-24 2004-05-05 �Ҵ���˾ 新颖的大规模并行超级计算机
CN101442403A (zh) * 2008-12-25 2009-05-27 中国电子科技集团公司第五十四研究所 一种自适应的复合密钥交换和会话密钥管理方法
CN101651539A (zh) * 2008-08-15 2010-02-17 英飞凌科技股份有限公司 更新及分配加密密钥
CN101834722A (zh) * 2010-04-23 2010-09-15 西安西电捷通无线网络通信股份有限公司 一种加密设备和非加密设备混合组网的通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1494688A (zh) * 2001-02-24 2004-05-05 �Ҵ���˾ 新颖的大规模并行超级计算机
CN101651539A (zh) * 2008-08-15 2010-02-17 英飞凌科技股份有限公司 更新及分配加密密钥
CN101442403A (zh) * 2008-12-25 2009-05-27 中国电子科技集团公司第五十四研究所 一种自适应的复合密钥交换和会话密钥管理方法
CN101834722A (zh) * 2010-04-23 2010-09-15 西安西电捷通无线网络通信股份有限公司 一种加密设备和非加密设备混合组网的通信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818265A (zh) * 2017-10-23 2018-03-20 中国银行股份有限公司 加密方法、装置和系统
CN107818265B (zh) * 2017-10-23 2020-04-24 中国银行股份有限公司 加密方法、装置和系统

Similar Documents

Publication Publication Date Title
EP3937424B1 (en) Blockchain data processing methods and apparatuses based on cloud computing
JP6857193B2 (ja) 仮想化環境においてネットワークトラフィックを解読するためのシステムおよび方法
US11095616B2 (en) Virtualized application performance through disabling of unnecessary functions
EP3547196B1 (en) Key protection for computing platform
US10382450B2 (en) Network data obfuscation
JP6188832B2 (ja) データベース・クライアント要求を処理するための方法、コンピュータ・プログラム製品、データ処理システム、およびデータベース・システム
JP2005276185A (ja) ソフトウェアの脆弱性の悪用を防止するように通信をフィルタ処理するための方法およびシステム
US20120110578A1 (en) Data processing system and method
US10542039B2 (en) Security against side-channel attack in real-time virtualized networks
CN104935593A (zh) 数据报文的传输方法及装置
Castellanos et al. Legacy-compliant data authentication for industrial control system traffic
US20150163198A1 (en) Methods and apparatus for providing controlled unidirectional flow of data
US10691619B1 (en) Combined integrity protection, encryption and authentication
US20200052892A1 (en) Overhead reduction for link protection
CN114041132A (zh) 执行环境和网守布置
Simpson et al. Securing {RDMA} for {High-Performance} Datacenter Storage Systems
CN109543452A (zh) 数据传输方法、装置、电子设备及计算机可读存储介质
US11126567B1 (en) Combined integrity protection, encryption and authentication
Coughlin A survey of SDN security research
US10432596B2 (en) Systems and methods for cryptography having asymmetric to symmetric key agreement
CN109547450A (zh) 运行安全执行域的方法、装置、电子设备及计算机介质
US20210319114A1 (en) Method and service to encrypt data stored on volumes used by containers
CN102426636A (zh) 可挂载式加密算法引擎系统及其使用方法
US20100023748A1 (en) Self checking encryption and decryption based on statistical sampling
Lukaszewski et al. Towards software defined layer 4.5 customization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120425