一种基于B-Tree的快速可搜索加密方法与流程

文档序号:36654080发布日期:2024-01-06 23:40阅读:24来源:国知局
一种基于B-Tree的快速可搜索加密方法与流程

本发明属于数据搜索保护,更具体地,涉及一种基于b-tree的快速可搜索加密方法。


背景技术:

1、随着各类数据爆炸式增长,数据外包云存储服务得到了快速发展,企业/个人用户可按需定制服务,随时随地接入互联网即可实现数据的存储和处理,然而,面对不安全的互联网环境,数据机密性和安全共享难以保障等问题显露出来,为了保障隐私数据的安全性,基于密码算法的访问控制被应用于外包云存储数据加密,但密态数据失去了语义性,用户难以实现有效的检索,限制了数据共享的灵活性,可搜索加密作为一种有效解决方案,可在保证密文安全性的前提下实现快速搜索,结合基于属性的加密和可搜索加密技术,能够实现数据的安全共享和细粒度搜索权限控制。

2、guo等人在文献“efficient attribute-based searchable encryption oncloud storage”中结合基于属性的加密体制abe提出了一种多对多的可搜索加密方案,保证了云端数据的安全及令牌和索引的隐私性。但是该方案在密钥生成、令牌生成和搜索阶段效率较低,且没有考虑索引结构对搜索效率的影响。

3、中国专利文献cn201810961252.9给出的支持快速搜索和解密的模糊属性基加密方案解决的是云服务器执行匹配运算算法和用户执行的解密算法的计算量大的问题,使用p-稳定的局部敏感哈希函数族将访问策略和用户属性集合中的每个属性值分别插入到一个向量,实现密文和属性密钥的大小不随属性个数的变化而变化。但是,该方案没有考虑索引结构对搜索效率的影响及搜索结果的相关度问题,仅仅关注用户的加解密效率,而且其访问结构仅支持“and gate”,访问策略不够灵活。而且,该方案采用的多线性映射,构造较为复杂。

4、综上所述,现有技术存在的问题是,生成搜索令牌时需进行多次运算,属性密钥生成计算开销较大,未考虑索引结构对搜索效率的影响,搜索时采取全部扫描,搜索复杂度较高,且未考虑搜索结果的相关度问题,访问策略不够灵活。


技术实现思路

1、本发明旨在克服上述现有技术的至少一种缺陷,提供一种基于b-tree的快速可搜索加密方法,以解决现有技术索引结构对搜索效率的影响的问题,并且采用线性秘密共享方案lsss访问结构,使得访问策略表达更加灵活。对于单个关键字,本技术生成搜索令牌时仅需一次指数运算。

2、本发明详细的技术方案如下:

3、s1、数据拥有者提取文件明文集合中每个文件的关键字集合,采用对称加密算法对每个文件进行加密,将文件密文与关键字哈希值对应,并生成b-tree索引结构;

4、进一步,所述s1具体包括:

5、s11、数据拥有者对文件进行预处理,生成关键字哈希值;

6、进一步,所述数据拥有者对文件进行预处理具体包括:数据拥有者提取文件明文集合中每个文件的关键字集合,统计每个关键字出现的频次,对每个关键字进行哈希操作,将关键字哈希值与二元组对应。

7、s12、生成b-tree索引结构,所述b-tree索引结构包括:数据拥有者将关键字哈希值作为b-tree中的键值key;将同一关键字对应的二元组存储在b-tree的叶子节点中,非叶子节点的键值key按照b-tree的查询规则进行设计;

8、s2、数据拥有者定义访问策略,使用该访问策略对关键字进行加密,将关键字密文、文件密文、b-tree索引结构上传至远程云服务器;

9、所述s2具体包括

10、s21、搜索系统初始化阶段,生成系统公开参数和系统主密钥;

11、setup(κ)→(params,msk):属性授权机构aa输入系统安全参数,最后输出系统公开参数和系统主密钥;

12、s22、密钥生成阶段;

13、keygen(params,msk,q)→sk:属性授权机构aa输入系统公开参数,系统主密钥msk和用户属性集,最后输出用户属性密钥;

14、s23、加密阶段;

15、encrypt(params,(a,ρ),f)→ct:数据拥有者输入系统公开参数params,访问策略(a,ρ)和文件f对应关键字为kw,随机选取向量v=(s,y2,…,yn),其中是共享秘密值,为随机选取的盲化因子,其中a为l×n的矩阵,单映射函数ρ将a矩阵的每一行分别映射到一个属性ρ(i);

16、首先,选取对称加密算法对文件f进行加密,对称加密密文记为c0,接着,使用访问策略对关键字集合w={w1,w2,…,wd}加密得c=g1s,其中λi=ai·v,其中ai表示矩阵a中的一行,关键字密文记为最后输出完整密文ct=(c0,ctw)。

17、s3、云服务器计算检索关键字集合对应的搜索令牌并检索关键字集合对应的密文文件;

18、所述计算检索关键字集合对应的搜索令牌具体为,其中w={w1,w2,…,wt}为检索关键字集合:

19、

20、其中,h(wk)为关键字wk的哈希值,h为一个安全哈希算法。

21、s4、云服务器获取对应密文,结合搜索令牌及属性密钥判断数据使用者是否具有访问权限;

22、若有权限,则云服务器响应数据使用者的检索请求,并将搜索结果发送给数据使用者;

23、若没有权限,则云服务器不响应数据使用者的检索请求。

24、所述s4具体为:

25、云服务器通过验证公式(2)是否成立判断数据使用者是否具有访问权限:其中ωi为一组常量满足

26、

27、其中,ci、c′i是属性加密后的密文部件,即密文的一部分;d、di是用户属性密钥部件,即属性密钥的一部分;

28、若等式成立,则说明数据使用者具有访问包含令牌中的关键字集合对应密文文件的权限,进而云服务器响应du的检索请求将搜索结果发送给数据使用者;

29、若等式不成立,则说明数据使用者不具有访问包含令牌中的关键字集合对应密文文件的权限,输出“拒绝访问”。

30、一种基于b-tree快速可搜索加密系统,包括:属性授权机构模块aa(attributeauthority)、数据拥有者模块do(data owner)、数据使用者模块du(data user)和云服务器(cs)(cloud server);

31、属性授权机构模块aa:进行系统初始化,选定系统安全参数,定义系统全局属性集合,执行初始化算法生成系统公开参数和系统主密钥;另外,属性授权机构模块aa为数据使用者模块du分配一个属性集,执行属性密钥生成算法得到数据使用者模块du的属性密钥sk;

32、数据拥有者模块do:利用设计的b-tree建立关键字索引结构;执行加密算法,对文件明文进行加密上传至云服务器cs,定义一个访问策略,对文件中涉及的关键字集合进行加密,并将关键字加密结果上传至云服务器cs;

33、数据使用者模块du:执行搜索令牌生成算法,利用系统公开参数及目标关键字计算对应的搜索令牌,进而查询关键字对应的密文文件;

34、云服务器cs:执行搜索算法,存储文件密文及关键字密文,响应数据使用者模块du的查询请求,依据数据使用者模块du的属性集判断其是否满足对应关键字的访问权限;云服务器cs根据关键字的哈希值在构造的b-tree索引结构中进行检索,获取对应密文,再结合数据使用者模块du的搜索令牌及属性密钥判断数据使用者模块du是否具有访问权限;若数据使用者模块du满足访问策略,则返回关键字集合对应的文件密文给数据使用者模块du;否则,输出“拒绝访问”。

35、与现有技术相比,本发明的有益效果为:

36、(1)本发明提供的一种基于b-tree的快速可搜索加密方法,对b-tree进行了改进设计,以关键字哈希值作为b-tree的搜索键值,文件编号及关键字频次构成的二元组作为叶子节点,在搜索过程中不需要扫描全部二元组,提高了搜索效率,同时,引入关键字的频次能够提高搜索结果的精确度。

37、(2)本发明提供的一种基于b-tree的快速可搜索加密方法,设计了基于线性秘密共享矩阵的属性基加密算法,能够实现灵活的访问策略,算法的属性密钥尺寸较小,计算开销较少,对于单个关键字,生成搜索令牌时仅需一次指数运算。

38、(3)本发明提供的一种基于b-tree的快速可搜索加密方法,结合多叉平衡树b-tree和基于密文策略的属性基加密算法算法思想,构建了一种外包云存储场景下的快速可搜索加密方法,将用户的文件加密保存在云存储服务器,根据设定的访问策略对关键字进行加密,实现细粒度搜索权限划分;此外,基于b-tree构建高效的索引结构和关键字的频次,提高了搜索效率和搜索结果的精确度。

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