[发明专利]一种摘要引擎的实现方法有效
申请号: | 201010248457.6 | 申请日: | 2010-08-09 |
公开(公告)号: | CN101908963A | 公开(公告)日: | 2010-12-08 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 北京飞天诚信科技有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 摘要 引擎 实现 方法 | ||
技术领域
本发明涉及信息安全领域,尤其是一种摘要引擎的实现方法。
背景技术
OpenSSL项目是一个开源代码的安全项目,目标是用强大的加密算法来实现安全的Socket层和传输层的安全性。它包含了完整的加密算法,数字签名算法等,可以很好的保证数据的完整性、保密性。
引擎(Engine)机制的目的是为了使OpenSSL能够透明地使用第三方提供的软件加密库或智能密钥设备进行加密。OpenSSL的引擎机制成功地达到了这个目的,这使得OpenSSL不仅仅是一个加密库,而且还是一个通用的加密接口,能够与绝大部分的加密库或智能密钥设备协调工作。
发明内容
本发明提供了一种摘要引擎的实现方法,实现利用智能密钥设备中的信息摘要算法来完成数据的摘要运算,具体技术方案如下:
一种摘要引擎的实现方法,上层应用通过调用所述摘要引擎的引擎绑定接口、初始化接口、第一摘要接口、第二摘要接口、引擎释放接口来实现,所述方法包括:
引擎绑定接口被上层应用调用时,摘要引擎与智能密钥设备建立连接,获取所述智能密钥设备的算法列表,并填充第一数据结构,将所述第一数据结构登记到所述上层应用中;
初始化接口被上层应用调用时,所述摘要引擎根据传入的所述第一数据结构设置所述智能密钥设备当前所使用的信息摘要算法,并为传入的上下文分配存储空间,及初始化所述上下文;
第一摘要接口被上层应用调用时,所述摘要引擎根据当前设置的信息摘要算法,控制所述智能密钥设备对传入的信息摘要数据进行摘要运算;
第二摘要接口被上层应用调用时,所述摘要引擎控制所述智能密钥设备结束摘要运算,并输出运算结果;
引擎释放接口被上层应用程序调用时,所述摘要引擎结束与所述智能密钥设备的连接。
所述引擎绑定接口、初始化接口、第一摘要接口、第二摘要接口、引擎释放接口具体为:bind_engine接口、init接口、updata接口、final接口、cleanup接口。
所述摘要引擎通过硬件加密接口与所述智能密钥设备建立连接。
所述硬件加密接口包括密码令牌接口和密码服务程序接口。
所述第一数据具体为EVP_MD结构。
所述填充第一数据结构具体为:根据初始化接口、数据摘要接口、摘要输出接口、引擎释放接口的指针及所述获取的算法列表来填充第一数据结构。
所述根据初始化接口、数据摘要接口、摘要输出接口、引擎释放接口的指针及所述获取的算法列表来填充第一数据结构具体为:
根据上层应用中已有的定义,在所述第一数据结构中为所述算法列表中的信息摘要算法设置对应的算法ID号;
根据所述算法列表中的数值,在所述第一数据结构中为信息摘要算法的分组长度、摘要值长度设置对应的数值,并为信息摘要算法所需要的上下文空间大小设置对应的数值,为所述初始化接口、第一摘要接口、第二摘要接口、引擎释放接口设置对应的接口指针。
所述摘要引擎根据传入的所述第一数据结构设置所述智能密钥设备当前所使用的信息摘要算法具体为:
所述初始化接口被上层应用调用时,所述填充后的第一数据结构传入所述摘要引擎;
所述摘要引擎根据所述传入的第一数据结构中的信息摘要算法ID查找对应的信息摘要算法,如果查找不到,就将当前的信息摘要算法设置为默认的信息摘要算法,如果能够查找到,则将当前的信息摘要算法设置为与所述传入的信息摘要算法ID相对应的信息摘要算法。
所述摘要引擎通过所述硬件加密接口与所述智能密钥设备进行通信。
有益效果:通过摘要引擎,将一些硬件摘要算法,尤其是一些未公开的,只能用硬件实现的信息摘要算法添加扩展到现有的软件算法库中,提高了信息摘要运算的安全性。
附图说明
图1为本发明实施例提供的引擎绑定接口被上层应用程序调用时的流程图;
图2为本发明实施例提供的初始化接口被上层应用程序调用时的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做进一步的描述。
实施例1
在进行具体说明之前,需要对数据结构EVP_MD有所了解,该EVP_MD结构用于存放信息摘要算法的信息,摘要引擎则正是通过实现该EVP_MD结构来完成相应的摘要运算的,EVP_MD结构的描述如下:
typedef struct env_md_st
{
int type;
int md_size;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京飞天诚信科技有限公司,未经北京飞天诚信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010248457.6/2.html,转载请声明来源钻瓜专利网。