密钥管理方法和装置的制造方法

文档序号:9790756阅读:207来源:国知局
密钥管理方法和装置的制造方法
【技术领域】
[0001]本发明涉及密钥管理技术领域,尤其涉及一种密钥管理方法和装置。
【背景技术】
[0002]随着社会信息化的发展,越来越多的传统业务逐渐迈入到以计算机、互联网为代表的“电子化”时代。在“电子化”的业务活动中,为了保证系统安全,各参与方通过对应用系统中关键业务信息进行签名,来确保这些业务活动的完整性与抗抵赖性。PKI (Public KeyInfrastructure,公钥基础设施)技术是实现电子签名的主要手段,PKI作为一套目前比较成熟可靠的技术框架,有效的保障了网络安全中完整性、真实性与抗抵赖性等多种特性。
[0003]随着电子签名需求的增多以及PKI技术的深入发展,将分散在各应用系统中实现电子签名的模块独立出来形成公用的电子签名服务平台,逐渐成为各级管理人员、开发人员的共识,签名验签服务器就是这样一个针对业务数据进行签名验签公用的电子签名服务
AlZZ^
T 口 O
[0004]由于目前电子商务、电子政务等应用环境下业务需求的不断扩大,签名验签服务器从原先面向服务器的应用场景,逐渐转向为支持面向用户的应用场景,用户通过身份认证服务器、安全网关等访问签名验签服务器,使用保存其中的用户密钥进行签名。这样就带来一个问题如何满足支持大量密钥的新需求。
[0005]目前,现有技术中的签名验签服务器中的密钥管理方案为:将各种密钥基于加密卡或加密芯片硬盘保存,使用时,直接通过相关接口调用加密卡或加密芯片内运算。上述密钥管理方案的缺点为:具有局限性,密钥数量受加密卡或加密芯片的限制,只能管理有限数量的密钥,其扩展性及实用性受到很大的约束。

【发明内容】

[0006]本发明的实施例提供了一种密钥管理方法和装置,以实现对服务器中的密钥进行有效的管理。
[0007]本发明提供了如下方案:
[0008]一种密钥管理方法,在服务器的存储单元中存储用户密钥密文数据,所述方法具体包括:
[0009]在内核态内存解密所述用户密钥密文数据得到用户密钥明文数据,生成每个用户密钥对应的用户密钥键值,在所述内核态内存中存储用户密钥明文数据,用户密钥键值和密钥句柄之间的绑定关系;
[0010]所述服务器接收输入的密钥句柄,根据所述密钥句柄查询所述内核态内存中存储的所述绑定关系,获取所述密钥句柄对应的用户密钥键值,根据所述用户密钥键值在内核态内存中查找到对应的用户密钥;
[0011]将所述用户密钥和所述参数数据传输到所述服务器连接的加密卡中进行运算。
[0012]所述的在服务器的存储单元中存储用户密钥数据,包括:
[0013]在加密卡中根据设定的密钥算法创建设定长度的系统公私钥对,将所述系统公私钥对存储在所述加密卡中的指定位置;
[0014]在所述加密卡中创建明文的用户密钥明文数据,使用所述系统公私钥对中的系统公钥加密所述用户密钥明文数据,得到用户密钥密文数据,将所述用户密钥密文数据存储在服务器的存储单元中。
[0015]所述的在所述存储单元中存储用户密钥键值和密钥句柄之间的绑定关系,包括:
[0016]所述服务器系统启动后,读取存储单元中存储所有的用户密钥密文数据,将读取的所述用户密钥密文数据存储在服务器的内核态内存中,使用所述加密卡中存储的所述系统公私钥对中的系统私钥解密用户密钥密文数据,得到用户密钥明文数据;
[0017]生成每个用户密钥明文数据对应的用户密钥键值,对每个用户密钥键值依次做HASH运算,生成每个用户密钥键值对应的密钥句柄,在所述服务器的内核态内存中存储用户密钥键值和密钥句柄之间的绑定关系。
[0018]所述的生成每个用户密钥数据对应的用户密钥键值,包括:
[0019]将用户密钥的使用用户的用户标识作为内核态内存中存储的用户密钥的文件名,将所述用户标识作为用户密钥键值,或者;将内核态内存中存储的用户密钥的存储地址作为用户密钥键值。
[0020]所述的服务器接收输入的密钥句柄,根据所述密钥句柄查询所述绑定关系,获取所述密钥句柄对应的用户密钥键值,根据所述密钥句柄对应的用户密钥键值在所述存储单元中查找到对应的用户密钥,包括:
[0021]当用户需要使用用户密钥时,向内核态内存输入密钥句柄及参数数据,根据所述密钥句柄查询内核态内存中存储的所述绑定关系,获取所述密钥句柄对应的用户密钥键值;
[0022]在内核态内存中根据用户密钥键值查找对应的密钥数据,当所述用户密钥键值为用户标识时,在所述内核态内存中查找以所述用户密钥键值为文件名的用户密钥明文数据;当所述用户密钥键值为存储地址时,在所述内核态内存中查找存储在所述存储地址上的用户密钥明文数据;
[0023]所述服务器将所述参数数据和查找到的用户密钥明文数据传输给加密卡。
[0024]一种密钥管理装置,包括:服务器和加密卡;
[0025]所述的服务器,用于在内核态内存解密所述用户密钥密文数据得到用户密钥明文数据,生成每个用户密钥对应的用户密钥键值,在所述内核态内存中存储用户密钥明文数据,用户密钥键值和密钥句柄之间的绑定关系;接收输入的密钥句柄,根据所述密钥句柄查询所述绑定关系,获取所述密钥句柄对应的用户密钥键值,根据所述密钥句柄对应的用户密钥键值在内核态内存中查找到对应的用户密钥;将所述用户密钥和所述参数数据传输给所述的加密卡;
[0026]所述的加密卡,用于和所述服务器连接,利用所述用户密钥对所述参数数据进行运算。
[0027]所述的加密卡,用于根据设定的密钥算法创建设定长度的系统公私钥对,将所述系统公私钥对存储在所述加密卡中的指定位置;创建用户密钥明文数据,使用所述系统公私钥对中的系统公钥加密所述用户密钥明文数据,得到用户密钥密文数据,将所述用户密钥密文数据传输给所述服务器;
[0028]所述服务器,用于在存储单元中存储用户密钥数据。
[0029]所述的服务器,用于在启动后,读取所述存储单元中存储的所有用户密钥密文数据,将读取的所述用户密钥密文数据存储在服务器的内核态内存中,使用所述加密卡中存储的所述系统公私钥对中的系统私钥解密用户密钥数据,得到用户密钥明文数据;
[0030]生成每个用户密钥明文数据对应的用户密钥键值,对每个用户密钥键值依次做HASH运算,生成每个用户密钥键值对应的密钥句柄,在所述内核态内存中存储用户密钥键值和密钥句柄之间的绑定关系。
[0031]所述的服务器,用于将用户密钥的使用用户的用户标识作为内核态内存中存储的用户密钥的文件名,将所述用户标识作为用户密钥键值,或者;将内核态内存中存储的用户密钥的存储地址作为用户密钥键值。
[0032]所述的服务器,用于当用户需要使用用户密钥时,通过内核态内存接收用户输入密钥句柄及参数数据,根据所述密钥句柄查询内核态内存中存储的所述绑定关系,获取所述密钥句柄对应的用户密钥键值;
[0033]在内核态内存中根据用户密钥键值查找对应的密钥数据,当所述用户密钥键值为用户标识时,在所述内核态内存中查找以所述用户密钥键值为文件名的用户密钥明文数据;当所述用户密钥键值为存储地址时,在所述内核态内存中查找存储在所述存储地址上的用户密钥明文数据;
[0034]将所述参数数据和查找到的用户密钥明文数据传输给加密卡。
[0035]由上述本发明的实施例提供的技术方案可以看出,本发明实施例的密钥安全管理方案形成了一整套主密钥管理机制、用户密钥管理机制以及用户密钥使用机制,将用户密钥通过加密卡内主密钥加密保护,存储在服务器的硬盘中。使用时在内核态内存中使用主密钥解密并导入加密卡中执行密码运算,对外以密钥句柄方式访问。为签名验签服务器等服务器提供了一种安全高效的支持海量用户密钥的密钥管理方案,该方案可扩展性高,具有比较高的实用价值。
【附图说明】
[0036]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0037]图1为本发明实施例一提供的一种密钥管理方法的处理流程图;
[0038]图2为本发明实施例二提供的一种密钥管理装置的具体结构示意图,图中,服务器21和加密卡22。
【具体实施方式】
[0039]为便于对本发明实施例
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1