基于硬件加密卡技术的RSA加密引擎的局部封装
2011-08-14徐敏
网络安全与数据管理 2011年20期
关键词:引擎
徐敏
(国网电力科学研究院,江苏 南京 210003)
目前,国家电网公司信息内外网边界的各类业务接入对象已经越来越多地采用多种接入方式。传统的内网专线模式已经远远不能满足日益增长的办公需要。随着智能电网的普及,电网内部专线资源也逐渐对外网的接入提出了迫切的需求。因此对满足内外网数据安全交互的VPN技术提出了更高的要求。Openssl以其开源、高效、安全的加密方式在数据加密的过程中发挥了巨大作用。但是由于SSL协议的特性,公钥将会在服务器和客户端直接传递,即进行数据加密所使用的公钥是由对方传递来的,而不是自身的密钥。这样也带来一个问题,传统openssl加密引擎必须实现对于RSA引擎的局部调用,即只对需要RSA私钥解密的数据进行硬件引擎的调用,而对于RSA公钥加密的数据采用原来的软加密方式不经过硬件引擎调用。
1硬件RSA加密引擎主要技术
1.1 Openssl硬件加密引擎封装技术[1]
Openssl硬件引擎(Engine)能够使用户比较容易地将自己的硬件加入到Openssl中去,替换其提供的软件算法。一个Engine提供了密码计算中各种计算方法的集合,它用于控制Openssl的各种密码计算。引擎机制的目的是为了使Openssl能够透明地使用第三方提供的软件加密卡或者硬件设备进行加密。换句话说就是对Openssl进行了一种 “欺骗”,对于指定的一种算法,Openssl会自动用引擎内的方法对其实现加解密,然后默认其是由该算法进行加密的,而对于引擎内的具体实现不去关心。因此可以对引擎进行自定义式的实现,比如用硬件加密卡接口对其进行数据的加解密等,从而实现硬件加密卡与软件数据流之间的交互。……
登录APP查看全文
