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

文档序号:6436954阅读:167来源:国知局
专利名称:可挂载式加密算法引擎系统及其使用方法
技术领域
本发明涉及计算机信息安全领域,尤其涉及一种加密算法引擎系统及其使用方法。
背景技术
在现代网络硬件设备,消费电子和桌面电脑的软件产品中,产品的安全性越发重要。安全性已经成为一个成功软件的产品的不可或缺的一部分。安全性要求较高的产品, 比如多媒体桌面软件,多媒体播放器产品(如碟机,机顶盒),网络安全设备,服务器设备, 在现代的设计中会包含软硬件加密算法引擎。加密算法引擎成为整个产品安全的核心组件。加密算法引擎的可靠性和安全性成为重要的话题。它的漏洞将直接威胁产品的整体安全性,而功能上的错误会让关键服务宕机。许多芯片供应商选择在芯片中加入专用的加密算法引擎,这种专用的算法引擎可以保护密钥数据安全和提高算法性能。传统技术中的问题算法引擎的实现方法很多,算法实现也多种多样,其中一些算法实现是有业界的安全专家开发和维护。选择健壮性好,性能好,又具有更高安全性的实现
很重要。但是,成熟的加密算法依然暴漏在很多威胁面前,任何的信息泄露都可能被用来攻击算法。比如电磁泄漏,功耗,算法执行时间,噪音,甚至错误信息和热量都会帮助进行密钥统计分析,这类攻击被成为旁路攻击。一般的防御方法包括随机扰码,冗余计算,等等。一些设备,尤其是网络设备,例如VPN网关,多媒体服务器,对可靠性的要求较高, 一旦发生错误,无法承受长时间的恢复时间。加密算法引擎是这类服务器的关键组件,需要很强的健壮性。鉴于以上的几种问题,一种新的效果好、安全性能高的一种可挂载式加密算法引擎系统的发明是势在必行的。

发明内容
本发明要解决的技术问题是加密算法依然暴漏在很多威胁面前,任何的信息泄露都可能被用来攻击算法。比如电磁泄漏,功耗等,尤其是网络设备,例如VPN网关,多媒体服务器,对可靠性的要求较高,一旦发生错误,无法承受长时间的恢复时间等。本发明的目的是针对加密算法引擎的应用和面临的威胁,提出一种更加安全和易于实施的加密算法引擎系统及方法。为了达到上述目的,本发明提供了一种可挂载式加密算法引擎系统, 一种可挂载式加密算法弓I擎系统,其包括若干个遵照同样的接口定义的加密算法节点,其特征在于所述挂载式算法引擎可以动态切换算法节点;且挂载式算法引擎包含统一算法的多个节点;所述加密算法节点由统一的封装接口挂载到引擎系统中。
所述加密算法节点包括硬件算法节点、软件算法节点或者是两者的组合。
根据系统配置的不同,所述挂载节点可在编译时确定或者在运行时确定,且多个挂在节点可同时存在。运行时挂载时,不同的实现可以同时存在,互为备份。所述当挂载时,一个标准接口的加密算法节点,会使用函数指针挂载到挂载点上。根据系统配置的不同,二进制的执行镜像中包含同一个算法的一个或者多个节点,当多个节点被包含时,加密算法引擎可在运行时对算法节点进行切换。所述加密算法引擎对算法节点进行切换的步骤包括系统初始化结束,对默认节点进行流数据加密;当前数据块加密操作结束,停止加密操作,安全保存当前加密上下文,包括密钥,
向量;销毁当前节点。切换当前节点至另外一节点。初始化切换后节点上下文,包括密钥,向量。进行算法节点的自行测试。从下一待处理数据开处开始加密操作。所述算法引擎中的算法节点挂载点的内容包括算法引擎中存有的各种算法的标准挂载点,算法引擎会根据预定义的标准接口列表寻找和使用相应的节点实现。本发明提供了一种可挂载式加密算法引擎的方法,其特征在于所述包括硬件算法节点、软件算法节点或者是两者的组合的若干个加密算法节点遵照同样的接口定义;所述挂载式算法引擎可动态切换算法节点;且挂载式算法引擎包含统一算法的多个节点;所述加密算法节点由统一的封装接口挂载到引擎系统中。根据系统配置的不同,所述挂载节点可在编译时确定或者在运行时确定,且多个挂在节点可同时存在。运行时挂载时,不同的实现可以同时存在,互为备份。所述当挂载时,一个标准接口的加密算法节点,会使用函数指针或工厂模式挂载到挂载点上。根据系统配置的不同,二进制的执行镜像中包含同一个算法的一个或者多个节点,当多个节点被包含时,加密算法引擎可在运行时对算法节点进行切换。所述加密算法引擎对算法节点进行切换的步骤包括系统初始化结束,对默认节点进行流数据加密;当前数据块加密操作结束,停止加密操作,安全保存当前加密上下文,包括密钥,
向量;销毁当前节点。切换当前节点至另外一节点。初始化切换后节点上下文,包括密钥,向量。进行算法节点的自行测试。 从下一待处理数据开处开始加密操作。
所述算法引擎中的算法节点挂载点的内容包括算法引擎中存有的各种算法的标准挂载点,算法引擎会根据所述标准接口列表寻找和使用相应的节点实现。本发明的有益效果是1,抵抗旁路攻击。部署后,挂载式算法弓I擎可以动态切换算法节点,从而使算法操作的信息泄露特征混淆。由于不同的算法节点的实现方式不同,他们的功耗,执行时间,电磁特性迥异。一个高效的组合实现,将提升抵御旁路攻击的能力。如果与传统的抵御方式相结合,效果会更好。2,提高设备的QoS(Quality of Service服务质量).部署后,挂载式算法引擎可以包含统一算法的多个节点,软件节点和硬件节点均可。如果设备在运行高可靠行得服务,一旦某个算法节点出错,挂载式算法引擎可以在第一时间切换至其他节点。这样, 保证了了设备的继续可用,也大大提高了设备的平均故障间隔(MTBF,mean time between failures)。系统的诊断可以在随后的系统维护例行时进行。3,提高开发效率.在开发阶段,工业级别的算法实现通常作为参考,用来比算法较性能,可靠性,健壮性,等等。挂载式算法引擎可以让这些工作更加容易进行。将这些不同的软硬件接口进行统一的算法接口封装,将以通用的方式帮助开发者进行评估和开发调试工作。4.增加程序的可移植性。当一个包含加密算法引擎的应用在不同平台之间移植时,由于很多算法会换为硬件接口。一个统一的挂载接口将会大大减少移植的工作量。算法引擎部分只要做少许改动和配置,即可支持新的硬件算法节点。


通过以下对本发明的实施例结合其附图的描述,可以进一步理解其发明的目的、 具体结构特征和优点。其中,附图为图1为本发明加密算法引擎系统示意图;图2为本发明加密算法引擎挂载示意图;图3为本发明算法节点切换步骤示意图。图4为本发明实施例的操作流程示意图。图5为本发明算法节点挂载点示意图。
具体实施例方式本发明是应用在计算机信息安全领域,尤其涉及一种加密算法引擎系统及其使用方法,是在对现有的加密算法的基础上作出的重大改进,具有非常重要的实践意义。如图1所示,一个可挂载加密算法引擎系统是由多个加密算法节点组成,这些加密算法节点是由统一的封装接口挂载到引擎中。加密算法节点是挂载式加密算法引擎的基本单位,这种算法节点可以是硬件算法节点或者是软件算法节点,但都使用统一的挂载接口。根据系统配置的不同,挂载节点可以在编译时确定或者在运行时确定,多个挂在节点可以同时存在。这种多种实现同时存在的设计对整个项目周期都有好处,并且在运行时挂载式,不同的实现可以同时存在,互为备份。挂载点挂载的实现当挂载时,一个标准接口的算法节点,会挂载到如上所示的挂载点上。一种实现方式是使用函数指针。比如AES算法节点的会话建立的函数地址,赋值于AES挂载点的operusession函数指针。设置密钥函数地址赋值于setkey函数指针,加密函数地址赋值于enc函数指针,解密函数地址赋值于dec函数指针,关闭函数地址赋值于 close_session 函数指针。其中,对于任何一种具体的算法,一个通用的挂载接口需要被定义,本文定义了一些较常用算法的通用接口,当然,他们可以被继续扩充。细节包括,密钥长度,密钥数据,数据缓存的地址,长度等等。具体的实现可以利用函数指针,工厂模式等皆可。当然,一个完善的系统,不可或缺算法节点切换的步骤,该步骤也是本发明的重要发明点之一,具有非常重要的实践意义。根据系统配置的不同,二进制的执行镜像中可以包含同一个算法的一个或者多个节点。当多个节点被包含时,加密算法引擎依据需要,可以在运行时对算法节点进行切换,下面列举一下运行时切换的基本步骤,以AESU8算法为例, 如图3所示1.系统初始化结束,默认AES-U8节点A在进行流数据加密。2.当前数据块加密操作结束。3.停止加密操作,安全保存当前加密上下文,包括密钥,向量。4.销毁当前AES-128节点。5.切换AES-U8节点至节点B。6.初始化AES-U8节点上下文,包括密钥,向量。7.进行算法节点的自行测试。8.从下一待处理数据开处开始加密操作。通常,对于每一种算法节点,都有一个接口集合,称为节点接口列表。节点接口是统一的接口标准,任何软,硬件的实现需要遵照同样的接口才可以实现本专利中的算法节点挂载功能。本算法同样也定义了一些常用的算法节点接口定义(以函数指针为实现方法)
算法节点节点接口列表节点接口功能输入输出AES算法节点 typedef structopen.se ss ion新建一个算法会话算法类型指出具体的 AES算法类型。会话句柄。setkey设置密钥会话句柄指出所使用无。
权利要求
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所述的方法,其特征在于所述算法引擎中的算法节点挂载点的内容包括算法引擎中存有的各种算法的标准挂载点,算法引擎会根据所述标准接口列表寻找和使用相应的节点实现。
全文摘要
本发明提供了一种可挂载式加密算法引擎系统,其包括若干个遵照同样的接口定义的加密算法节点,其特征在于所述挂载式算法引擎可以动态切换算法节点;且挂载式算法引擎包含统一算法的多个节点;所述加密算法节点由统一的封装接口挂载到引擎系统中;本发明的有益效果是1,抵抗旁路攻击与传统的抵御方式相结合,效果会更好;2,提高设备的服务质量.保证了了设备的继续可用,也大大提高了设备的平均故障间隔,系统的诊断可以在随后的系统维护例行时进行;3,提高开发效率;4.增加程序的可移植性,算法引擎部分只要做少许改动和配置,即可支持新的硬件算法节点。
文档编号G06F21/00GK102426636SQ201110337879
公开日2012年4月25日 申请日期2011年10月31日 优先权日2011年10月31日
发明者张磊 申请人:绚视软件科技(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1