一种基于身份的封闭式密钥管理方法及系统与流程

文档序号:14253072阅读:172来源:国知局
一种基于身份的封闭式密钥管理方法及系统与流程

本发明属于信息安全领域,具体涉及一种基于身份的封闭式密钥管理方法及系统。



背景技术:

近年来,随着云计算的快速发展与广泛应用,云计算服务的数据安全问题成为云计算应用与推广的巨大障碍,引起广泛的关注。云计算架构以多租户、分布式及共享资源为特点,使得云计算服务上的数据安全问题的解决成为难点。

传统密钥管理系统以及数据加密方法,通过硬件加密机实现,用户直接负责密钥管理系统及用户ic密钥卡的管理,密钥管理与用户管理分离,成本高,可扩展性差,部署不够灵活,管理和使用繁琐,难以有效防范云管理员恶意窃取用户数据的行为,已经不能适应云计算系统架构下的多租户的用户私有数据安全的需求。如何在云计算多租户、分布式的环境下实现便捷、安全、可扩展的自动化密钥管理,已成为了本领域技术人员亟待解决的技术问题和研究的重点。

此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于身份的封闭式密钥管理方法及系统,是非常有必要的。



技术实现要素:

本发明的目的在于,针对上述现有的密钥管理方法可扩展性差、使用繁琐缺陷,提供一种基于身份的封闭式密钥管理方法及系统,以解决上述技术问题。

为实现上述目的,本发明给出以下技术方案:

一种基于身份的封闭式密钥管理方法,包括如下步骤:

步骤1.用户登录时向身份认证服务器提交身份认证请求,身份认证通过后,返回用户令牌;

步骤2.当用户需要加解密服务时,向加解密服务模块提交令牌及用户数据;

步骤3.加解密服务模块向密钥管理服务器提交用户令牌,并请求用户数据密钥;

步骤4.密钥管理服务器向身份认证服务器请求验证令牌的有效性,验证通过后,密钥管理服务器通过用户id查找用户数据密钥密文;

步骤5.密钥管理服务器解密出用户数据密钥明文,并返回给加解密服务模块;

步骤6.加解密服务模块通过用户数据密钥,对用户数据进行加解密操作,并返回结果。

本发明用户身份认证获取的用户令牌请求用户数据密钥,避免用户自己管理密钥卡的繁琐与失误,简化密钥管理流程,提高了密钥管理的实用性。

进一步地,整个密钥管理的网络通信过程,全程采用ssl/tls协议会话进行加密通信;可实现全自动化、全封闭式,无需用户及管理员的干涉。

本发明采用自动化、封闭式设计,有效防止了传统密钥管理过程中人为干涉引起操作失误及管理员恶意窃取用户数据的行为,提高了密钥管理系统的安全性、可用性。

进一步地,首次注册用户时,身份认证服务器自动生成用户id,用户上传用户主密钥到密钥管理服务器中与用户id绑定;

或者,密钥管理服务器调用硬件安全模块采用根密钥加密自动生成用户主密钥,保存在密钥管理服务器中,并绑定用户id;用户id是用户身份的唯一标识码。

本发明采用了用户上传或自动生成两种密钥生成方式,便于用户密钥的灵活部署与备份,而且自动生成密钥方式采用硬件安全模块作为后端密码设备,提高密钥数据存储的安全性。

进一步地,步骤4中,密钥管理服务器判断是否存在用户id对应的用户数据密钥密文:如果是,则继续执行步骤5;如果否,则通过用户主密钥自动生成用户数据密钥,并加密保存,再继续执行步骤5。

本发明采用用户数据密钥自动生成和加密保存方式,用户无需介入,提高密钥管理效率及安全性。

进一步地,步骤5中,密钥管理服务器通过用户id查找到用户数据密钥密文后,首先通过硬件安全模块解密出用户主密钥明文,再用用户主密钥解密出用户数据密钥明文。

本发明对用户主密钥及用户数据密钥采用密文存储,使用时要经过硬件安全模块解密,提高密钥数据存储的安全性。

本发明还给出如下技术方案:

一种基于身份的封闭式密钥管理系统,包括身份认证服务器、密钥管理服务器、硬件安全模块和加解密服务模块;

身份认证服务器,用于用户身份认证,发放用户令牌,验证用户令牌的有效性;密钥管理服务器,用于用户主密钥和用户数据密钥的密钥生命周期管理,密钥生命周期管理包括密钥的生成、存储及分发;

硬件安全模块,是密钥管理服务器的后端硬件密码设备,保存根密钥,为密钥管理服务器提供密钥生成、数据加解密服务,是密钥管理系统的信任根;

加解密服务模块,根据用户令牌请求用户数据密钥,并为用户数据提供加解密服务;加解密服务模块是分布在信息系统各处的若干软硬件模块,可以是多种形式,如加密虚拟磁盘驱动,硬件密码卡,加密文件系统。

进一步地,密钥管理服务器包括身份验证模块、第一密码模块、密钥存储模块及密钥分发模块;

身份验证模块,接收加解密服务模块对指定的用户数据密钥的请求,并向身份认证服务器请求验证用户令牌的有效性,并控制是否响应加解密服务模块的请求;

第一密码模块,调用硬件安全模块生成密钥及对密钥数据进行加解密;

密钥存储模块,根据用户id存储用户主密钥密文及用户数据密钥密文,并提供查询功能;

密钥分发模块,用于向加解密服务模块返回用户数据密钥明文。

进一步地,硬件安全模块至少包括根密钥存储模块和第二密码模块;

根密钥存储模块,保存根密钥;

第二密码模块,对外提供采用根密钥进行加解密的服务。

进一步地,身份认证服务器,至少包括用户管理模块和令牌管理模块;

用户管理模块,用于注册新用户,以及对用户进行身份认证;

令牌管理模块,用于生成用户对资源访问权限的令牌,验证令牌的有效性。

进一步地,加解密服务模块,至少包括加解密请求处理子模块和加解密计算子模块;

加解密请求处理子模块,用于接收用户数据加解密请求,通过用户令牌向密钥管理服务器请求用户数据密钥,并调用加解密计算子模块对用户数据进行加解密,向用户返回数据密文;

加解密计算子模块,用于实现用户加解密的计算功能。加解密计算子模块采用硬件或软件,根据用户需求支持相应加密算法种类。

进一步地,用户与身份认证服务器之间,身份认证服务器与密钥管理服务器之间,密钥管理服务器与硬件安全模块之间,密钥管理服务器与加解密服务模块之间,均通过网络进行通信,通信过程全程采用ssl/tls协议会话进行加密通信。

进一步地,密钥管理服务器在用户注册时自动生成或接收用户导入的用户主密钥,通过硬件安全模块进行加密并存储;用户数据密钥采用用户主密钥进行加密并存储;用户主密钥和用户数据密钥数据可备份到其它密钥管理服务器上,实现系统扩展及负载均衡。

本发明的有益效果在于:

本发明为云计算集群提供一种安全、高效、可扩展的密钥管理方法及系统,简化密钥管理流程,避免密钥管理过程中用户及管理员人为干涉的安全风险,有效减少了密钥管理系统对硬件安全模块的依赖,极大提高了密钥管理及数据加密系统的灵活性及可扩展性,更好地适应云计算架构下的多租户密钥管理使用场景,有效促进云计算私有数据安全问题的解决。

本发明针对云计算架构下密钥管理系统的应用问题,提供了一种完整的解决方案,解决了传统密钥管理系统管理繁琐、无法共享、可扩展性差的问题,使得密钥管理及数据加密系统可以在云上广泛应用,促进云数据安全问题的解决,推动云计算的实用与推广。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

图1为本发明的方法流程示意图;

图2为本发明的系统组成示意图;

图3为本发明的系统各模块组成示意图;

其中,1-身份认证服务器;1.1-用户管理模块;1.2-令牌管理模块;2-密钥管理服务器;2.1-身份验证模块;2.2-第一密码模块;2.3-密钥存储模块;2.4-密钥分发模块;3-硬件安全模块;3.1-根密钥存储模块;3.2-第二密码模块;4-加解密服务模块;4.1-加解密请求处理子模块;4.2-加解密计算子模块。

具体实施方式:

为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明具体实施例中的附图,对本发明中的技术方案进行清楚、完整地描述。

如图1所示,本发明提供一种基于身份的封闭式密钥管理方法,其特征在于,包括如下步骤:

步骤1.用户登录时向身份认证服务器提交身份认证请求,身份认证通过后,返回用户令牌;

步骤2.当用户需要加解密服务时,向加解密服务模块提交令牌及用户数据;

步骤3.加解密服务模块向密钥管理服务器提交用户令牌,并请求用户数据密钥;

步骤4.密钥管理服务器向身份认证服务器请求验证令牌的有效性,验证通过后,密钥管理服务器通过用户id查找用户数据密钥密文;

步骤5.密钥管理服务器解密出用户数据密钥明文,并返回给加解密服务模块;

步骤6.加解密服务模块通过用户数据密钥,对用户数据进行加解密操作,并返回结果。

上述方法中,整个密钥管理的网络通信过程,全程采用ssl/tls协议会话进行加密通信。

上述方法中,首次注册用户时,身份认证服务器自动生成用户id,用户上传用户主密钥到密钥管理服务器中与用户id绑定;

或者,密钥管理服务器调用硬件安全模块采用根密钥加密自动生成用户主密钥,保存在密钥管理服务器中,并绑定用户id。

上述步骤4中,密钥管理服务器判断是否存在用户id对应的用户数据密钥密文:如果是,则继续执行步骤5;如果否,则通过用户主密钥自动生成用户数据密钥,并加密保存,再继续执行步骤5。

上述步骤5中,密钥管理服务器通过用户id查找到用户数据密钥密文后,首先通过硬件安全模块解密出用户主密钥明文,再用用户主密钥解密出用户数据密钥明文。

如图2所示,本发明还提供一种基于身份的封闭式密钥管理系统,包括身份认证服务器1、密钥管理服务器2、硬件安全模块3和加解密服务模块4;

身份认证服务器1,用于用户身份认证,发放用户令牌,验证用户令牌的有效性;

密钥管理服务器2,用于用户主密钥和用户数据密钥的密钥生命周期管理,密钥生命周期管理包括密钥的生成、存储及分发;

硬件安全模块3,是密钥管理服务器的后端硬件密码设备,保存根密钥,为密钥管理服务器提供密钥生成、数据加解密服务,是密钥管理系统的信任根;

加解密服务模块4,根据用户令牌请求用户数据密钥,并为用户数据提供加解密服务;

如图3所示,

身份认证服务器1,至少包括用户管理模块1.1和令牌管理模块1.2;

用户管理模块1.1,用于注册新用户,以及对用户进行身份认证;

令牌管理模块1.2,用于生成用户对资源访问权限的令牌,验证令牌的有效性;

密钥管理服务器2包括身份验证模块2.1、第一密码模块2.2、密钥存储模块2.3及密钥分发模块2.4;

身份验证模块2.1,接收加解密服务模块4对指定的用户数据密钥的请求,并向身份认证服务器1请求验证用户令牌的有效性,并控制是否响应加解密服务模块4的请求;

第一密码模块2.2,调用硬件安全模块3生成密钥及对密钥数据进行加解密;

密钥存储模块2.3,根据用户id存储用户主密钥密文及用户数据密钥密文,并提供查询功能;

密钥分发模块2.4,用于向加解密服务模块4返回用户数据密钥明文;

硬件安全模块3至少包括根密钥存储模块3.1和第二密码模块3.2;

根密钥存储模块3.1,保存根密钥;

第二密码模块3.2,对外提供采用根密钥进行加解密的服务;

加解密服务模块4,至少包括加解密请求处理子模块4.1和加解密计算子模块4.2;

加解密请求处理子模块4.1,用于接收用户数据加解密请求,通过用户令牌向密钥管理服务器2请求用户数据密钥,并调用加解密计算子模块4.2对用户数据进行加解密,向用户返回数据密文;

加解密计算子模块4.2,用于实现用户加解密的计算功能;

用户与身份认证服务器1之间,身份认证服务器1与密钥管理服务器2之间,密钥管理服务器2与硬件安全模块3之间,密钥管理服务器2与加解密服务模块4之间,均通过网络进行通信,通信过程全程采用ssl/tls协议会话进行加密通信;

密钥管理服务器2在用户注册时自动生成或接收用户导入的用户主密钥,通过硬件安全模块3进行加密并存储;用户数据密钥采用用户主密钥进行加密并存储;用户主密钥和用户数据密钥数据可备份到其它密钥管理服务器上,实现系统扩展及负载均衡.

ssl/tls协议,ssl(securesocketslayer安全套接层),及其继任者传输层安全(transportlayersecurity,tls)是为网络通信提供安全及数据完整性的一种安全协议。tls与ssl在传输层对网络连接进行加密。

密码算法可以看作是一个复杂的函数变换,将明文通过密钥参与的函数变化生成密文。密文,是加密后得到的字符序列;明文,是待加密的字符序列;密钥,是秘密选定的一个字符序列。

本发明的实施例是说明性的,而非限定性的,上述实施例只是帮助理解本发明,因此本发明不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他的具体实施方式,同样属于本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1