1.本技术涉及数据安全技术领域,具体涉及一种用于保护云端数据隐私的接入认证方法和系统。
背景技术:2.数据隐私性是指我的数据只有我自己可以看到,别人看不到。云端数据库就是把数据库放到了云端。现在有很多小型公司或个人会选择将自己的信息放到第三方运营商的云端数据库进行存储。方便,快捷,省心,省钱的同时衍生出了上帝之手。
3.云运营商的“上帝之手”,云端数据库的租户对数据库的可控性是很低的,而云运营商却具有对数据库的所有权限,这就对了云端数据库数据的隐私性提出了要求。为了确保云端数据库数据的隐私性,现有技术中采用了如下两种方式:(1)云端运营商提供的访问数据的权限,如用户密码或者其它认证方式;(2)与云端运营商无任何关系的第三方认证方式访问数据库。
4.然而,无论是云端运营商还是第三方认证都存在着“上帝之手”的问题,这也成为了亟需解决的技术问题。
技术实现要素:5.为了解决上述技术问题,本技术提供了一种用于保护云端数据隐私的接入认证方法和系统。在本发明的技术方案中,用户访问云端数据库需要进行防火墙的认证,打开防火墙认证这所大门的钥匙称为密钥。密钥的生成必须保证安全和唯一,生成密钥的基本原理是将一个密钥分成4个密钥进行保存,当使用密钥时再将这4个密钥合成一个密钥,保证任何一方想通过上帝手都无法获取最终的密钥,第一个密钥可通过随机数或用户指定的任何字符串通过算法生成一个唯密钥,除第一个密钥其它生成密钥的过程是有顺序的,且必须拿上一个密钥生成下一个密钥,为了确保数据的完整性和安全性,将生成的每个密钥放入区块链。
6.本技术所采用的技术方案如下:一种用于保护云端数据隐私的接入认证方法,该认证接入方法包括如下步骤:用户通过用户终端向防火墙发送访问云端数据库的接入请求,所述访问云端数据库的接入请求中包含有用户密钥;防火墙从就收到的所述访问云端数据库的接入请求中提取出用户密钥,并将所述用户密钥转发至区块链中的云端认证中以获取云端认证密钥;防火墙将所述用户密钥和所述云端认证密钥转发至区块链中的第三方认证以获取第三方认证密钥;防火墙将所述用户密钥、所述云端认证密钥和所述第三方认证密钥转发至区块链中的组织系统,以获取组织系统密钥;防火墙将所述用户密钥、所述云端认证密钥、所述第三方认证密钥以及所述组织
系统密钥这4个密钥通过算法以生成唯一密钥;防火墙将唯一密钥返回给用户终端,由用户终端使用唯一密钥重新生成接入请求,访问云端数据库。
7.进一步的,所述用户密钥的生成方式如下:通过随机数据生成随机密钥,并将该随机密钥作为用户密钥放入区块链中。
8.进一步的,所述云端认证密钥的生成方式如下:使用用户密钥生成云端认证密钥,并将该云端认证密钥放入区块链中。
9.进一步的,所述第三方认证密钥的生成方式如下:使用用户密钥和云端认证密钥生成第三方认证密钥,并放入区块链中。
10.进一步的,所述组织系统密钥的生成方式如下:使用用户密钥和云端认证密钥和第三方认证密钥生成组织系统密钥,并放入区块链中。
11.进一步的,所述生成随机密钥,具体包括:使用伪随机数生成器生成出质数,通过rsa算法生成密钥。
12.进一步的,用户密钥、云端认证密钥、第三方认证密钥、组织系统密钥,这4种密钥长度为2048个字符,将密钥拆分,分成a、b、c、d这4个片段,每个片段的长度为512个字符。
13.进一步的,密钥拆分后,拆分后的密钥由标识、顺序、所述拆分后的密钥的片段这3个部分组成。
14.进一步的,根据用户提供的唯一标识通过base64加密,将加密后的字符串进行篡改以生成所述标识;将密钥拆分为4个片段后,生成顺序码,用于将拆分后的密钥进行整合;拆分后的a、b、c、d四个片段的标识是相同的。
15.一种用于实现上述方法的认证系统,该系统包括用户终端、防火墙、云端数据库,用户终端与防火墙相连接以接入区块链网络并访问云端数据库,用户通过用户终端并使用用户秘钥与防火墙进行数据交互,防火墙分别使用云端认证秘钥、第三方认证秘钥、组织系统秘钥接入云端数据库。
16.通过本技术实施例,可以获得如下技术效果:密钥的算法生成,密钥的拆分和合并,加上防火墙的有效认证过程,有效的防止上帝之手。
附图说明
17.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1为本发明的应用场景示意图;图2为密钥的生成流程示意图;图3为认证过程的流程示意图。
具体实施方式
19.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员
在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本技术保护的范围。
20.图1为本发明的应用场景示意图。在该应用场景中包括有用户终端(该图中示为用户)、防火墙、云端数据库,用户终端访问防火墙,防火墙访问区块链,用户终端访问云端数据库,用户通过用户终端并使用用户秘钥与防火墙进行数据交互,防火墙使用多个秘钥(云端认证秘钥、第三方认证秘钥、组织系统秘钥)接入云端数据库。
21.图2为密钥的生成流程示意图,密钥的生成的方法包括如下步骤:步骤101、通过随机数据加算法生成随机密钥,并将该随机秘钥作为用户密钥放入区块链中;其中,所述生成随机密钥,具体包括:使用伪随机数生成器生成出质数,通过rsa算法生成密钥;步骤102、使用用户密钥加算法生成云端认证密钥,并将该云端认证密钥放入区块链中;步骤103、使用用户密钥和云端认证密钥加算法生成第三方认证密钥,并放入区块链中;步骤104、使用用户密钥和云端认证密钥和第三方认证密钥生成组织系统密钥,并放入区块链中。
22.用户密钥、云端认证密钥、第三方认证密钥、组织系统密钥,这四种密钥长度为2048个字符,将密钥拆分,分成a、b、c、d四个片段,每个片段的长度为512个字符;a:标识+顺序1+拆分后的密钥1;b:标识+顺序2+拆分后的密钥2;c:标识+顺序3+拆分后的密钥3;d:标识+顺序4+拆分后的密钥4;密钥拆分后,拆分后的密钥由标识、顺序、所述拆分后的密钥的片段这3个部分组成;其中,根据用户提供的唯一标识通过base64加密,将加密后的字符串进行篡改以生成所述标识;将密钥拆分为4个片段后,生成顺序码,用于将拆分后的密钥进行整合;拆分后的a、b、c、d四个片段的标识是相同的。
23.云端认证秘钥、第三方认证秘钥、组织系统秘钥分别保存在3个不同种类的私有云中,例如云端认证、阿里云、百度云以及组织私有云,用户自己也可以保留一份以备后续使用。
24.拆分成4份并不是固定的,用户可选择拆分成更多或更少份,拆分的份数越多,保密性就越高;拆分的越多,分开保存在不同的私有云上,安全性就越高。
25.在进行密钥使用时,将获取的拆分后的密钥合并成原始密钥,这个过程。在此是举例将其保存在防火墙上面,用户将自己保留的那份密钥传给防火墙,防火墙从各私有云中获取剩余的密钥,然后将这些密钥还原成原始密钥。在其他应用场景中保存密钥的可能是其他的网络设备,例如云端认证、阿里云、百度云以及组织私有云。
26.图3为认证过程的流程示意图,认证过程的方法包括如下步骤:注:a代表用户,b代表云端认证,c代表第三方认证,d代表组织系统步骤201、用户通过用户终端向防火墙发送访问云端数据库的接入请求,所述访问
云端数据库的接入请求中包含有用户密钥;步骤202、防火墙从就收到的所述访问云端数据库的接入请求中提取出用户密钥,并将所述用户密钥转发至区块链中的云端认证中以获取云端认证密钥;步骤203、防火墙将所述用户密钥和所述云端认证密钥转发至区块链中的第三方认证以获取第三方认证密钥;步骤204、防火墙将所述用户密钥、所述云端认证密钥和所述第三方认证密钥转发至区块链中的组织系统,以获取组织系统密钥;步骤205、防火墙将所述用户密钥、所述云端认证密钥、所述第三方认证密钥以及所述组织系统密钥这4个密钥通过算法以生成唯一密钥;步骤206、通过唯一密钥去访问云端数据库,用户获取云端数据库明文数据需要密钥,防火墙负责获取最终密钥,即防火墙将唯一密钥返回给用户终端,由用户终端使用唯一密钥重新生成接入请求,访问云端数据库;以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
27.另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。