本发明涉及信息,涉及一种具有多层级权限访问控制的数据检索方法及系统。
背景技术:
1、随着数字化时代的全面到来,数据安全问题已经成为人们关注的焦点。在互联网和大数据的背景下,数据安全保护变得尤为紧迫。大数据时代的来临使得海量数据的存储难以在个人或小规模集群中实现,因此大量数据被转移到云端进行云存储。然而,这也带来了对云上数据保护的重要挑战。
2、为了确保数据在传输过程中的保密性,数据传输过程采用了加密方法。然而,当数据以密文形式存储在云服务器上时,用户面临一个棘手的问题,即如何在密文数据中安全、高效地检索所需的数据。同样如何保护数据库中的数据安全及如何对用户进行访问控制也是非常重要的一个部分。因此,设计一种能够避免存储在云中的数据泄漏的同时能够实现安全有效的检索的方案具有重要意义。
技术实现思路
1、针对上述技术的不足,本发明提出一种具有多层级权限访问控制的数据检索方法及系统,以实现避免存储在云中的数据泄漏,同时能够实现安全有效的检索。
2、为了实现上述的技术效果,本发明采用以下技术方案:
3、第一方面,本技术提供了一种具有多层级权限访问控制的数据检索方法,包括:
4、响应于检索用户的关键字检索请求,代理客户端基于所述关键字检索请求为不同域内的副本服务器生成不同的关键字密文矩阵,并将所述关键字密文矩阵发送至对应的副本服务器进行私有信息检索,得到副本服务器基于对应的关键字密文矩阵查询后反馈的查询结果,所述关键字检索请求是基于待检索的关键字映射的布隆过滤器;
5、代理客户端将得到的所述查询结果组装处理得到特征数据;
6、代理客户端结合访问策略、系统公钥和噪声加密封装所述特征数据,得到封装数据,并将所述封装数据发送给所述检索用户,以便属于最高访问层级的检索用户基于自身属性和所拥有的私钥解密所述封装数据得到完整的特征数据,其余访问层级的检索用户基于自身属性和所拥有的私钥解密所述封装数据得到添加与所述检索用户层级对应程度噪声的模糊数据或得到无法解密的结果;所述私钥是持有认证许可的检索用户从所述代理客户端注册的,所述私钥基于检索用户的属性和主密钥生成,所述主密钥和系统公钥是所述代理客户端生成的。
7、可选的,所述代理客户端结合访问策略、系统公钥和噪声加密封装所述特征数据,得到封装数据,并将所述封装数据发送给所述检索用户,包括:
8、代理客户端根据系统公钥、访问策略和噪声加密封装所述特征数据,得到封装数据,并将所述封装数据发送给所述检索用户,以便与所述访问策略对应的层级的检索用户基于自身属性和所拥有的私钥解密所述封装数据,得到与所述噪声的噪声量对应模糊度的特征数据,而低于所述访问策略对应的层级的检索用户无法解密所述封装数据,并向所述代理客户端发送重新加密的请求;所述代理客户端初次进行所述加密噪声的噪声量为零,最高访问层级的检索用户基于自身属性和所拥有的私钥解密封装数据,得到模糊度为零的完整的特征数据;
9、所述代理客户端响应于所述重新加密的请求,并判断当前加密的次数是否超过预设值,若未超过预设值,则代理客户端采用系统公钥、相比前一次解密难度低的访问策略和相比前一次噪声量多的噪声加密所述特征数据,得到新的封装数据,并将所述新的封装数据发送给所述检索用户,以便与所述访问策略对应的层级的检索用户基于自身属性和所拥有的私钥解密所述新的封装数据,得到与所述噪声的噪声量对应模糊度的特征数据,而低于所述访问策略对应的层级的检索用户无法解密所述封装数据,并向所述代理客户端发送重新加密的请求;重复所述代理客户端响应于所述重新加密的请求以及后续步骤,直至当前加密的次数是超过预设值;若超过预设值,则向所述检索用户反馈无法解密的结果。
10、可选的,所述检索用户包括数据使用者和数据拥有者,所述数据拥有者和所述代理客户端位于可信域中。
11、可选的,所述方法还包括:
12、数据拥有者将待上传的数据以文档为单位,将每个文档映射为唯一的布隆过滤器,并将所述布隆过滤器经所述数据拥有者的私钥进行加密得到待上传的加密数据;
13、将待上传的加密数据上传至主服务器,以便所述主服务器将所述加密数据上传添加至副本服务器的查询矩阵中。
14、可选的,所述将待上传的加密数据上传至主服务器,包括:
15、若所述加密数据只有一条更新内容,则对所述加密数据添加混淆向量形成多个向量,并将所述多个向量上传至主服务器;所述多个向量按位或运算后的结果与所述加密数据的原向量结果相同。
16、可选的,所述方法还包括:
17、所述数据拥有者为所述文档生成基于哈希的用于验证所述文档完整性的消息验证码,所述文档与消息验证码一一对应。
18、可选的,所述方法还包括:
19、所述数据使用者向多个副本服务器发送的文档检索请求,得到所述多个副本服务器反馈的检索结果;
20、若比较所述多个副本服务器反馈的检索结果一致,则所述检索结果的数据完整;
21、若比较所述多个副本服务器反馈的检索结果不一致,则对每个副本服务器的检索结果采用对应的消息验证码进行完整性验证。
22、可选的,所述文档的名称是根据所述文档所属的数据拥有者名称和时间戳进行哈希运算后生成的。
23、可选的,所述方法还包括:
24、将所述封装数据共享至第一用户,若所述第一用户的属性满足所述封装数据的访问策略所需的属性,则所述第一用户通过所述第一用户的私钥解密所述封装数据。
25、第二方面,本技术还提供了一种具有多层级权限访问控制的数据检索系统,所述系统包括:检索用户、代理客户端、多个副本服务器和主服务器,所述检索用户包括数据使用者和数据拥有者,所述代理客户端和所述数据拥有者在可信域中,所述数据使用者、多个副本服务器和主服务器在不可信域中;
26、所述检索用户,对系统进行信息检索请求以便得到所需的数据内容;
27、所述代理客户端,用于响应于检索用户的关键字检索请求,基于所述关键字检索请求为不同域内的副本服务器生成不同的关键字密文矩阵,并将所述关键字密文矩阵发送至对应的副本服务器进行私有信息检索,得到副本服务器基于对应的关键字密文矩阵查询后反馈的查询结果,所述关键字检索请求是基于待检索的关键字映射的布隆过滤器;将得到的所述查询结果组装处理得到特征数据;结合访问策略、系统公钥和噪声加密封装所述特征数据,得到封装数据,并将所述封装数据发送给所述检索用户,以便属于最高访问层级的检索用户基于自身属性和所拥有的私钥解密所述封装数据得到完整的特征数据,其余访问层级的检索用户基于自身属性和所拥有的私钥解密所述封装数据得到添加与所述检索用户层级对应程度噪声的模糊数据或得到无法解密的结果;所述私钥是持有认证许可的检索用户从所述代理客户端注册的,所述私钥基于检索用户的属性和主密钥生成,所述主密钥和系统公钥是所述代理客户端生成的;
28、所述多个副本服务器,用于冗余存储所述数据拥有者通过主服务器上传的加密数据,以及为用于所述检索用户的检索。
29、本技术提供了一种具有多层级权限访问控制的数据检索方法及系统,首先响应于检索用户的关键字检索请求,代理客户端基于所述关键字检索请求为不同域内的副本服务器生成不同的关键字密文矩阵,并将所述关键词密文矩阵发送至对应的副本服务器进行私有信息检索,得到副本服务器基于对应的关键字密文矩阵查询后反馈的查询结果,所述关键字检索请求是所述检索请求是基于待检索的关键字映射的布隆过滤器;通过加密的关键字密文矩阵对副本服务器发起私有信息的检索,保护用户的搜索请求,避免搜索访问模式的泄漏,防止恶意的监视和分析。然后,代理客户端将得到的所述查询结果组装处理得到特征数据,确保从每一个副本服务器都不能得到完整准确的检索结果,保证关键字查询请求的安全性,同时利用多副本服务器集群分布式存储相同数据库副本以保证数据的冗余,提高系统数据的可靠性。最后,代理客户端采用预设的访问策略和系统公钥加密封装所述特征数据,得到封装数据,并将所述封装数据发送给所述检索用户,以便所述检索用户基于所拥有的属性和私钥解密所述封装数据;解密所述访问策略所需的属性与最高访问层级的检索用户所拥有的属性对应,从而保证不同层级的用户无法得到自身属性不符合访问策略的结果,使最高访问层级的检索用户能够基于自身属性和私钥解密封装数据得到完整精确的检索结果。
1.一种具有多层级权限访问控制的数据检索方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述代理客户端结合访问策略、系统公钥和噪声加密封装所述特征数据,得到封装数据,并将所述封装数据发送给所述检索用户,包括:
3.根据权利要求1所述的方法,其特征在于,所述检索用户包括数据使用者和数据拥有者,所述数据拥有者和所述代理客户端位于可信域中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述将待上传的加密数据上传至主服务器,包括:
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述文档的名称是根据所述文档所属的数据拥有者名称和时间戳进行哈希运算后生成的。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
10.一种具有多层级权限访问控制的数据检索系统,其特征在于,所述系统包括:检索用户、代理客户端、多个副本服务器和主服务器,所述检索用户包括数据使用者和数据拥有者,所述代理客户端和所述数据拥有者在可信域中,所述数据使用者、多个副本服务器和主服务器在不可信域中;
