首页> 中国专利> 一种基于群签名算法的分布式数据库系统及其实现方法

一种基于群签名算法的分布式数据库系统及其实现方法

摘要

本发明公开一种基于群签名算法的分布式数据库系统及其实现方法,其中,方法包括步骤:采用群签名算法对分布式数据库系统进行保护,所述群签名算法中输入一个安全参数,输出群公钥和群私钥;采用密钥分存算法将子密钥分配给分布式数据库系统的不同数据库成员,及通过不同数据库成员的子密钥恢复群私钥。本发明将群签名算法应用在分布式数据库系统中,增强了整个系统的安全性、有效性、数据的可追踪性和数据的真实性,保证了各数据库成员的安全,整个数据库系统的完整,提高了数据库通讯的安全性和透明度;并且采用密钥分存算法分配子密钥及恢复群私钥,更进一步提高了系统的安全性。

著录项

  • 公开/公告号CN103795548A

    专利类型发明专利

  • 公开/公告日2014-05-14

    原文格式PDF

  • 申请/专利权人 TCL集团股份有限公司;

    申请/专利号CN201410069258.7

  • 发明设计人 田旻;陈国强;

    申请日2014-02-28

  • 分类号H04L9/32;H04L9/30;H04L29/08;

  • 代理机构深圳市君胜知识产权代理事务所;

  • 代理人王永文

  • 地址 516001 广东省惠州市鹅岭南路6号TCL工业大厦8楼技术中心

  • 入库时间 2023-12-17 00:01:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-30

    授权

    授权

  • 2015-07-29

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20140228

    实质审查的生效

  • 2014-05-14

    公开

    公开

说明书

技术领域

本发明涉及计算机领域,尤其涉及一种基于群签名算法的分布式数据库系统及其实现方法。

背景技术

随着网络技术的发展,人们已经习惯将大量数据存储到网络端不同的数据库中以进行数据共享,尤其是对于那些地域上分散而管理上相对集中的领域,例如银行、连锁店、军事国防、资源管理等机关单位或大企业。通过分布式数据库系统把各个子部门的信息通过网络连接起来,形成了一个既互相独立又应用于全局的系统。然而,数据共享给数据应用带来众多好处的同时,也对数据库的安全带来了极大的考验,现有技术中的分布式数据库系统的安全性还无法得到较好的保证。

因此,现有技术还有待于改进和发展。

发明内容

鉴于上述现有技术的不足,本发明的目的在于提供一种基于群签名算法的分布式数据库系统及其实现方法,旨在解决现有的分布式数据库系统安全性有待提高的问题。

本发明的技术方案如下:

一种分布式数据库系统的实现方法,其中,包括步骤:

采用群签名算法对分布式数据库系统进行保护,所述群签名算法中输入一个安全参数,输出群公钥和群私钥;

采用密钥分存算法将子密钥分配给分布式数据库系统的不同数据库成员,及通过不同数据库成员的子密钥恢复群私钥。

所述的分布式数据库系统的实现方法,其中,所述采用密钥分存算法将子密钥分配给分布式数据库系统的不同数据库成员的步骤包括:

求解关于x,y的方程                                                的n组解,并将计算得到的n组解随机分配给各数据库成员,使每一数据库成员获得一组解,其中,为分配给数据库成员的子密钥,数据库成员的数量为n,,,…,为预设好的给定值,为群私钥,n>t+1。

所述的分布式数据库系统的实现方法,其中,所述通过不同数据库成员的子密钥恢复群私钥的步骤包括:

从分布式数据库系统中找到任意t+1个数据库成员,并获得各数据库成员的子密钥,,…,,;

通过求解关于,,…,,方程组,得到。

所述的分布式数据库系统的实现方法,其中,数据库成员加入到分布式数据库系统中时获得群签名私钥,在求解时,将群签名私钥作为x,求解得到相应的y,从而获得各数据库成员唯一的子密钥。

所述的分布式数据库系统的实现方法,其中,所述群私钥包括群加入管理者的群用户加入密钥和群追踪管理者的群用户追踪密钥。

所述的分布式数据库系统的实现方法,为了进一步保护群私钥,其中,所述群加入管理者除了保存群用户加入密钥还保存有群用户追踪密钥,所述群追踪管理者除了保存群用户追踪密钥还保存有群用户加入密钥。

所述的分布式数据库系统的实现方法,其中,当数据库成员需要加入到分布式数据库系统中时,通过群加入管理者为需加入的数据库成员执行交互协议,交互成功后,数据库成员获得自身的群签名私钥。

所述的分布式数据库系统的实现方法,其中,当数据库成员需要上传数据时,通过自身的群签名私钥对数据进行签名生成群签名。

所述的分布式数据库系统的实现方法,其中,所述群签名算法还输出一个用于记录从分布式数据库系统中撤销的数据库成员的信息的撤销列表,当需要对数据进行验证时,验证者通过群公钥验证数据的群签名,验证数据的有效性,同时确定验证消息对应的数据库成员是否在撤销列表中。

一种分布式数据库系统,其中,采用如上所述的实现方法实现。

有益效果:本发明将群签名算法应用在分布式数据库系统中,增强了整个系统的安全性、有效性、数据的可追踪性和数据的真实性,保证了各数据库成员的安全、整个数据库系统的完整,提高了数据库通讯的安全性和透明度;并且采用密钥分存算法分配子密钥及恢复群私钥,更进一步提高了系统的安全性。

附图说明

图1为本发明的一种基于群签名算法的分布式数据库系统的实现方法较佳实施例的流程图。

图2为本发明的分布式数据库系统的数据流图。

图3为本发明的分布式数据库系统的算法流程图。

具体实施方式

本发明提供一种基于群签名算法的分布式数据库系统及其实现方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明的一种分布式数据库系统的实现方法,其包括步骤:

S1、采用群签名算法对分布式数据库系统进行保护,所述群签名算法中输入一个安全参数,输出群公钥和群私钥;

S2、采用密钥分存算法将子密钥分配给分布式数据库系统的不同数据库成员,及通过不同数据库成员的子密钥恢复群私钥。

在步骤S1中,采用群签名算法对分布式数据库系统进行保护,在分布式数据库系统中设有两个管理员:一个是群加入管理者(Group Issue Manager, GIM),另一个是群追踪管理者(Group Trace Manager, GTM),GIM负责新成员的加入和证书(群签名私钥)的颁发,GTM负责群成员的追踪,群成员的撤销以及群签名身份的确认。

群签名算法中输入一个安全参数(即一个随机数,该随机数参与密钥的生成,使每次生成结果都不相同,从而加大破解密钥的难度),输出的是:群公钥(group public key, gpk)和群私钥,群私钥包括:群加入管理者的群用户加入密钥(group issue key, gik)和群追踪管理者的群用户追踪密钥(group trace key, gtk),另外,输出的还有一个用于记录从分布式数据库系统中撤销的数据库成员的信息的撤销列表(Revocation List, RL)。

如图2所示,图2为分布式数据库系统的数据流图,群管理者100先建立群公钥110和群私钥120,群私钥120由群管理者100自己保存,群公钥120则对所有用户400包括群成员200和验证者300公开,群公钥110和群私钥120的生成算法有很多,例如RSA、AES、DES(均为密钥算法)等算法,具体可参考现有技术,故不再赘述。群管理者100还颁发群证书130给群成员200,该群证书130即群成员200自己保存的群签名私钥,而颁发群证书就是采用密钥生成算法和一些随机数产生群签名私钥的过程。群成员200通过群证书130对数据进行签名,验证者300通过群公钥110对群签名140进行验证,群管理者100还可根据群签名140和群私钥120对成员进行追踪,此处追踪即群追踪管理者根据群签名和群私钥计算出加密者的身份的过程。

群加入管理者保存有群用户追踪密钥(gtk),而群追踪管理者保存有群用户加入密钥(gik),即两个管理员均保存有对方的密钥,例如群加入管理者将群用户追踪密钥存放在某一个固定的物理地址,而群追踪管理者将群用户加入密钥存放在另一个固定的物理地址,这样即使某一个管理员受到了攻击,也可以通过与另外一个管理员进行通信,将其保存的密钥传回,实现密钥快速恢复,从而避免了系统中某一管理员受到攻击导致整个系统面临崩溃的情况,降低了风险。

在分布式数据库系统中,当有成员(Ui)即数据库需要加入时,则通过群加入管理者(GIM)为数据库成员执行一个交互协议,在交互成功后,该数据库成员获得对应的群签名私钥(user’s signing key, uski),并且GIM会对这一新成员进行登记,将其在群用户列表(W)中登记为Yi,这样可以在以后群签名追踪和撤销时对成员的身份确认。

当分布式数据库系统的数据库成员需要上传数据时,选用一种签名算法(例如RSA、AES、DES等算法)并结合自身的群签名私钥(uski)对数据(数据包)m进行签名,生成群签名q。

在分布式数据库系统各个合法成员(数据库)需要更新数据库内容和添加新的数据时,需要对数据的签名进行验证,验证者根据群公钥(gpk)验证数据m的群签名q,确定数据的有效性,同时需要确定验证消息对应的数据库成员不在撤销列表(RL)里,即只有验证消息对应的数据库成员不在撤销列表中,验证结果才有意义,最后当数据有效时输出true(真),当数据无效时输出false(假)。

若分布式数据库系统的某一个合法数据库成员Ui需要从分布式数据库系统中撤销时,通过分布式数据库系统的撤销功能进行撤销,撤销后,该成员的数据将不再有效,具体相关的uski信息会加入到撤销列表RL里面。

当分布式数据库系统出现数据异常时,需要确定数据库成员的具体身份,具体可由群追踪管理员(GTM)根据群签名q和gtk,验证具体的数据库成员的身份。

具体来说,如图3所示,在开始之后,包括如下步骤:

S201、分布式数据库系统进行初始化;

S202、群加入管理者生成群用户加入密钥(gik),群追踪管理者生成群用户追踪密钥(gtk),其中的群用户加入密钥和群用户追踪密钥可通过不同密钥生成算法生成,例如RSA、AES、DES(均为密钥算法)等等,可选择合适的密钥生成算法来生成密钥。并且群加入管理者和群追踪管理者可均保存有对方的密钥;

S203、群加入管理者和群追踪管理者对群成员进行管理;

S204、判断是否有成员加入到系统中;当是时,执行步骤S205,当否时结束;

S205、群加入管理者为需加入的数据库成员执行一个交互协议,在交互成功后,该数据库成员获得对应的群签名私钥(uski);

S206、判断是否需要对数据进行签名;当是时,执行步骤S207,当否时结束;

S207、用群公钥(gpk)和自身的群签名私钥(uski)对数据(数据包)m进行签名,生成群签名q;

S208、判断某一合法数据库成员是否需从分布式数据库系统中撤销;当是时,执行步骤S209,当否时结束;

S209、通过分布式数据库系统的撤销功能进行撤销,撤销后,该成员的数据将不再有效,具体相关的uski信息会加入到撤销列表RL里面;

S210、判断是否需要对群成员进行追踪;当是时,执行步骤S211,当否时结束;

S211、由群追踪管理员(GTM)根据群签名q和gtk,验证具体的数据库成员的身份,即根据群签名q和gtk,采用预定算法反向推出加密者的身份;

S212、根据群公钥(gpk)验证数据m的群签名q,确定数据的有效性。

本发明将群签名算法应用在分布式数据库系统中,增强了整个系统的安全性、有效性、数据的可追踪性和数据的真实性,保证了各数据库成员的安全,整个数据库系统的完整,提高了数据库通讯的安全性和透明度。

另外,由于分布式数据库系统是没有中心节点的,即网络中所有的数据库任何一个出现异常时,都可以通过其他数据库的冗余备份迅速恢复,而群签名算法要求群加入管理者(GIM)和密钥追踪管理者(GTM)管理群中重要的信息,因此在GIM或GTM本身受到攻击导致信息丢失或者泄露时分布式数据库系统就会受到较大威胁,例如如果GIM受到攻击,那么群内成员有效性就会存在问题,以及群成员的群签名都有可能作假。而GTM受到攻击导致信息丢失或者泄露,则群成员的追踪、撤销则可能存在问题,总的来说,系统的安全性难以得到保证。

针对上述特点,本发明还使用密钥分存算法,在任意时刻,分布式数据库系统中的指定个数成员都可以迅速恢复GIM和GTM的密钥,也就是他们的群私钥(gik或gtk),并且恢复群私钥和具体的数据库成员身份无关,满足个数即可。

具体来说,假设分布式数据库系统中有n个节点(即n个数据库成员),若需实现在任意时刻都至少可以通过t+1(n需大于t+1)个节点恢复群私钥k (k可以为gik或gtk),方法如下:

给定一组,,…,(随机生成的常量),群私钥为=,其中的可以为 gik或gtk,在空间内求解满足的解,上述方程中可以获得多组解:、…、、、...、,这样就能将不同组的解随机分配给n个数据库成员(即所有用户),使每一数据库成员获得一组解,这样各数据库成员均获得自身的解,如果需要将解局限在一个较小空间内,则采用求模取整即可。针对该基于群签名算法的分布式数据库系统自身的特点,本发明可将每个成员的群签名私钥(uski)作为x,然后根据该x求出对应的y,这样就能得到每一数据库成员唯一的子密钥。

当GIM或者GTM受到攻击需要恢复群私钥时,从分布式数据库系统中找到任意t+1个节点(数据库成员),获得他们的子密钥,假设各子密钥分别为:,,…,,,然后通过求解关于,,…,,的方程,得到,即所求的群私钥k。

在上述算法中,由于有t+1个未知数(,,…,,),因此只需要t+1个数据库成员就可以求得满足线性方程组的唯一解,即得到唯一的,少一个数据库成员无法求出t+1个未知数的线性方程组,多一个数据库成员则为多余,例如若t=1,那么上述方程组为二元一次方程,只需两个点即可求解。

当有数据库成员需要加入时,群加入管理者只需要根据需加入的数据库成员的x(x=uski),计算得到y,然后将(x,y)发送给相应的数据库成员即可,整个过程跟系统中其他数据库成员无关。

所以本发明的方法中,在恢复密钥时,只需t+1个成员相互配合即可,和具体的成员没有关系,只需满足个数即可,并且个数可大可小,根据具体的安全需求和资源的情况确定,在有新成员加入或退出群时,也不会影响整个系统的使用,只有在较大的数量变动时,才需要变动一次,并且任何一个节点出现问题,都可以通过其他节点快速恢复,所以维护比较方便,安全性较高。

并且,若将t+1设置为较大的水平,例如设置t等于n的一半,这样攻击者需要收买的成员就很多,如果他在某一个时候破解密码的代价大于他破解密码后所得到的收益,那么明智的攻击者就会放弃攻击,所以本发明可以通过提高t的数值来增强系统的安全性。

基于上述方法,本发明还提供一种分布式数据库系统,其采用如上所述的实现方法实现。如图2所示,在该分布式数据库系统中,包括两个群管理员:一个是群加入管理者,另一个是群追踪管理者,群加入管理者负责新成员的加入和证书(群签名私钥)的颁发,群追踪管理者负责群成员的追踪,群成员的撤销以及群签名身份的确认。群签名算法中输入一个安全参数,输出的是:群公钥(gpk)和群私钥,群私钥包括:群加入管理者的群用户加入密钥(gik)和群追踪管理者的群用户追踪密钥(gtk),群加入管理者和群追踪管理者均保存有对方的密钥。群公钥对所有用户公开,验证者可根据gpk对群签名的有效性进行验证,所有成员无法获知数据签名者的身份,但是群管理员则可追踪签名者的具体身份。     综上所述,本发明将群签名算法应用在分布式数据库系统中,增强了整个系统的安全性、有效性、数据的可追踪性和数据的真实性,保证了各数据库成员的安全,整个数据库系统的完整,提高了数据库通讯的安全性和透明度;并且采用密钥分存算法分配子密钥及恢复群私钥,更进一步提高了系统的安全性。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号