本发明涉及密钥技术领域,尤其涉及一种密钥管理系统。
背景技术:
随着互联网的不断发展,公司业务也不断的发展,在信息安全保存以及数据交互过程中,需要对用户的隐私进行数据加密保护,即用户密钥的数据量也会不断增加,因此目前需要一种用户密钥的管理方法,并且管理方法需要满足pci(paymentcardindustry,支付卡行业)和人行要求;其中pci和人行要求包括通过运用加密机和签名机来实现对数据进行存储以及解密,同时支持秘钥过期。
现有的密钥管理方法通常为下述两种方法:
方法一、采用文件管理的方式来管理密钥数据,然而上述方法只适用于数据量较小的密钥流通中;
方法二、通过建立密钥系统,然而上述密钥系统只能通过数据库加密函数aes128进行加解密,然而上述方法不支持多种算法和不支持密钥过期,即上述方法不符合pci和人行要求。
技术实现要素:
针对现有技术中存在的上述问题,现提供一种旨在实现对业务数据的加解密和用户密钥的过期管理,从而保证用户密钥的可靠性,通过加密机进行加密得到用户密钥,进而提高用户密钥的安全性的密钥管理系统。
具体技术方案如下:
一种密钥管理系统,其中,密钥管理系统连接多个客户端,于每个客户端内预先设置用于和密钥管理系统对接的管理接口;
密钥管理系统包括:
密钥存储单元,用于保存经过加密机加密的用户密钥,每个用户密钥分别提供给客户端对业务数据进行加解密;
密钥过期管理单元,连接密钥存储单元,用于根据用户密钥的属性判断用户密钥是否过期,并在用户密钥过期时根据属性生成新版本的用户密钥,以供客户端对业务数据进行加解密;
客户端启动管理接口后,通过管理接口查询获取密钥存储单元中保存的最新版本的用户密钥并保存在客户端的内存中,并且根据内存中的用户密钥对业务数据进行加解密。
优选的,密钥管理系统,其中,
属性包括与用户密钥相关联的版本号;
密钥过期管理单元包括:
密钥过期判断模块,用于根据用户密钥的版本号判断用户密钥是否过期;
密钥过期通知模块,与密钥过期判断模块连接,用于在用户密钥接近过期时发送告警信息给客户端,或在用户密钥过期时发送过期信息给客户端;
密钥过期处理模块,与密钥过期判断模块连接,用于在用户密钥过期时,根据版本号生成新版本的用户密钥;
密钥过期存储模块,与密钥过期处理模块连接,用于将新版本的用户密钥存储在密钥存储单元中。
优选的,密钥管理系统,其中,密钥过期处理模块包括:
密钥过期设置子模块,用于在用户密钥过期时,将用户密钥设置为过期密钥,并将过期密钥存储到密钥存储单元中;
密钥过期生成子模块,与密钥过期设置子模块连接,用于根据过期密钥的版本号生成新版本的用户密钥。
优选的,密钥管理系统,其中,密钥过期通知模块通过邮件发送告警信息或过期信息给客户端。
优选的,密钥管理系统,其中,版本号为用户密钥的创建时间。
优选的,密钥管理系统,其中,
属性包括与用户密钥相关联的算法种类;
管理接口根据内存中的用户密钥的算法种类提供对应的加解密算法并根据用户密钥对业务数据进行加解密。
优选的,密钥管理系统,其中,管理接口提供多种加解密算法,加解密算法包括aes算法和国密算法。
优选的,密钥管理系统,其中,客户端通过管理接口提供的aes算法并根据已过期的用户密钥对已过期的业务数据进行解密。
优选的,密钥管理系统,其中,客户端通过管理接口提供的国密算法并根据未过期的用户密钥对未过期的业务数据进行解密。
上述技术方案具有如下优点或有益效果:实现对业务数据的加解密和用户密钥的过期管理,从而保证用户密钥的可靠性,通过加密机进行加密得到用户密钥,进而提高用户密钥的安全性。
附图说明
参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
图1为本发明密钥管理系统实施例的结构示意图1;
图2为本发明密钥管理系统实施例的结构示意图2;
图3为本发明密钥管理系统实施例的密钥过期管理单元的结构示意图;
图4为本发明密钥管理系统实施例的密钥过期处理模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本发明包括一种密钥管理系统,如图1所示,密钥管理系统1连接多个客户端3,于每个客户端3内预先设置用于和密钥管理系统1对接的管理接口2;
如图2所示,密钥管理系统1包括:
密钥存储单元11,用于保存经过加密机加密的用户密钥,每个用户密钥分别提供给客户端3对业务数据进行加解密;
密钥过期管理单元12,连接密钥存储单元11,用于根据用户密钥的属性判断用户密钥是否过期,并在用户密钥过期时根据属性生成新版本的用户密钥,以供客户端3对业务数据进行加解密;
客户端3启动管理接口2后,通过管理接口2查询获取密钥存储单元11中保存的最新版本的用户密钥并保存在客户端3的内存中,并且根据内存中的用户密钥对业务数据进行加解密。
在上述实施例中,密钥管理单元通过管理接口2连接多个客户端3,使得每个客户端3可以通过管理接口2从密钥管理系统1中获取最新版本的用户密钥,以实现对业务数据的加解密,并且密钥管理系统1设置有密钥过期管理单元12,可以通过密钥过期管理单元12对用户密钥进行过期管理,并在用户密钥过期时生成新版本的用户密钥,从而保证用户密钥的可靠性。
在上述实施例中,用户密钥均通过加密机进行加密,从而实现用户密钥在任何介质的传输中都是安全的,进而提高用户密钥的安全性。
进一步地,作为优选的实施方式,可以通过加密机的雷卡指令进行加密以得到用户密钥。
进一步地,作为优选的实施方式,密钥管理系统1支持多种算法,包括sm2、sm3、sm4、rsa和aes。
进一步地,在上述实施例中,属性包括与用户密钥相关联的版本号;
如图3所示,密钥过期管理单元12包括:
密钥过期判断模块122,用于根据用户密钥的版本号判断用户密钥是否过期;
密钥过期通知模块121,与密钥过期判断模块122连接,用于在用户密钥接近过期时发送告警信息给客户端3,或在用户密钥过期时发送过期信息给客户端3;
密钥过期处理模块123,与密钥过期判断模块122连接,用于在用户密钥过期时,根据版本号生成新版本的用户密钥;
密钥过期存储模块124,与密钥过期处理模块123连接,用于将新版本的用户密钥存储在密钥存储单元11中。
进一步地,作为优选的实施方式,密钥过期判断模块122根据用户密钥的版本号实时判断用户密钥是否过期;
当用户密钥过期时,密钥过期通知模块121发送过期信息给客户端3,以通知操作人员对已过期的用户密钥执行过期操作;
当用户密钥未过期时,密钥过期判断模块122判断用户密钥是否接近过期,并在用户密钥接近过期时,密钥过期通知模块121发送告警信息给客户端3,已通知操作人员。
进一步地,在上述实施例中,如图4所示,密钥过期处理模块123包括:
密钥过期设置子模块1231,用于在用户密钥过期时,将用户密钥设置为过期密钥,并将过期密钥存储到密钥存储单元11中,以方便客户端3中已过期的业务数据根据对应的过期密钥进行解密操作,有效防止了数据无法解密的问题;
密钥过期生成子模块1232,与密钥过期设置子模块1231连接,用于根据过期密钥的版本号生成新版本的用户密钥,从而保证用户密钥的流通性。
进一步地,在上述实施例中,密钥过期通知模块121通过邮件发送告警信息或过期信息给客户端3。
进一步地,当用户密钥即将到期时,密钥过期通知模块121可以定时通过邮件发送告警信息给客户端3,以通知操作人员该用户密钥即将过期。
进一步地,在上述实施例中,版本号为用户密钥的创建时间。
进一步地,作为优选的实施方式,设置预设的过期时间,当用户密钥的版本号对应的创建时间和当前时间的时间间隔超过预设的过期时间,密钥过期判断模块122判断用户密钥已过期;其中预设的过期时间可以为3年。
进一步地,在上述实施例中,属性包括与用户密钥相关联的算法种类;
管理接口2根据内存中的用户密钥的算法种类提供对应的加解密算法并根据用户密钥对业务数据进行加解密。
进一步地,在上述实施例中,管理接口2提供多种加解密算法,加解密算法包括aes算法和国密算法。
进一步地,作为优选的实施方式,管理接口2连接有一个密钥开发包,其中密钥开发包可以为一个接口组,上述接口组可以调用多个类,例如:
sm4cipher类,用于提供国密算法,以实现通过国密算法的加解密;采用国密算法对数据进行加解密,能提升系统的安全性。
aes128cipher类,用于提供aes算法,以实现通过aes算法的加解密;
cryptogramcoffer类,用于实现用户密钥的缓存以及访问密钥查询服务获取密钥,并接收用户密钥的过期通知;
cryptos.encrypt/decrypt类,用于实现用户密钥加密,并根据算法种类参数确定要使用的加解密算法。
因此客户端3可以通过管理接口2中的接口组对用户密钥进行查询,以提高用户密钥的安全性。
进一步地,在上述实施例中,客户端3通过管理接口2提供的aes算法并根据已过期的用户密钥对已过期的业务数据进行解密。其中,客户端3无法通过已过期的用户密钥对业务数据进行加密操作。
进一步地,在上述实施例中,客户端3通过管理接口2提供的国密算法并根据未过期的用户密钥对未过期的业务数据进行解密。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。