CN110138561B - 基于cp-abe自动校正的高效密文检索方法、云计算服务系统 - Google Patents

基于cp-abe自动校正的高效密文检索方法、云计算服务系统 Download PDF

Info

Publication number
CN110138561B
CN110138561B CN201910224335.4A CN201910224335A CN110138561B CN 110138561 B CN110138561 B CN 110138561B CN 201910224335 A CN201910224335 A CN 201910224335A CN 110138561 B CN110138561 B CN 110138561B
Authority
CN
China
Prior art keywords
key
user
file
ciphertext
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910224335.4A
Other languages
English (en)
Other versions
CN110138561A (zh
Inventor
樊凯
尹洁
金雄海
王昊洋
李晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201910224335.4A priority Critical patent/CN110138561B/zh
Publication of CN110138561A publication Critical patent/CN110138561A/zh
Application granted granted Critical
Publication of CN110138561B publication Critical patent/CN110138561B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Abstract

本发明属于云计算私保护技术领域,公开了一种基于CP‑ABE自动校正的高效密文检索方法、云计算服务系统;结合R树和布隆过滤器作为索引结构,将一个加密的布隆过滤器和对应的密文文件ID集存储在R树的叶子节点中;云服务器根据搜索陷门对R树进行矩阵定位,然后对叶子节点中加密的布隆过滤器匹配;根据布隆过滤器的内积结果对文件进行排序;陷门生成过程引入了随机数,即使相同的关键字也会生成不同的陷门;通过使用访问结构和拥有者秘密属性共同加密。本发明使用CP‑ABE加密体量较小的对称密钥,实现了细粒度的访问控制;引入多代理服务器实现了去中心化;防止代理服务器之间的共谋。

Description

基于CP-ABE自动校正的高效密文检索方法、云计算服务系统
技术领域
本发明属于云计算隐私保护技术领域,尤其涉及一种基于CP-ABE自动校正的高效密文检索方法、云计算服务系统。
背景技术
随着互联网与的快速发展和逐渐走向成熟,学者们提出了一种与众不同的基于网络的计算模式,即“云计算”。为了获得更廉价的存储资源与计算资源,许多企业和用户都选择购买云计算服务而不是服务器设备,将数据信息上传至云服务器。但是由于云服务是不完全可信的,带了诸如云计算的隐私性、兼容性及稳定性等问题。为了保证信息不被泄露,用户通常选择将数据加密存储在云端。密态数据给用户在操纵数据上带了困难。传统的明文搜索不再有效,一种密态数据下的检索技术诞生了,即可搜索加密技术。
目前,可搜索加密技术的概念是由Song等人[4]提出的,通过嵌入“单词”的位置信息来支持受控检索,每个单词的查询都需要扫描整个密文文件,导致搜索成本太高。Li等人[11]首次提出了基于编辑距离和关键词字典的模糊搜索的技术,但是只支持单关键词,而且索引空间较大。Wang等人[12]提出了一种安全的相似性搜索技术,以编辑距离作为相似性度量,将给定文档的关键字扩展和存储为有效的相似性关键字集,但是存储开销较高。Ning等人[9]为每个文件建立一个索引,实现了密态文件的精确的多关键字搜索,但该方案需要遍历所有的文件索引,搜索时间较长,效率不高。Sun等人[10]提出了一种保护多关键字文本的隐私的搜索(MTS)方案,该方案通过余弦相似度量的向量空间模型和树型索引,以获得更高的搜索结果准确性和搜索效率,但是文件更新开销太大。因此,基于对称加密的可搜索加密方案(Symmetric Searchable Encryption,SSE)具有丰富的表达能力,加解密效率高。但是这些方案更适用与一对一场景,彼此通信需要安全信道,导致的灵活性和可扩展性较低,应用场景受到局限。
为了扩展对称可搜索加密方案的用户场景及访问控制能力,我们引入了基于密文策略的属性加密(CP-ABE)。ABE由基于模糊身份的加密(Fuzzy-IBE)发展而来。Sahai和Waters[23]首次提出了基于属性加密的概念(Attribute Based Encryption,ABE)。将身份标识符视为一组描述属性,当解密者的身份标识与加密者的身份足够接近时,他被允许用自己的私钥解密密文。这是属性基加密的最初原型。Bethencourt,Sahai和Waters等人[24]提出了一种实现对密文数据进行复杂访问控制的系统,即基于密文策略属性的加密(CP-ABE,Ciphertext-Policy Attribute-Based Encryption)。属性是用户的凭据,而加密方决定了谁可以解密访问策略。即使存储服务器是不可信的,加密数据也可以保密。Lewko和Waters等人[25]提出了基于多机构的属性加密系统。只需要初始化全局公共参数,该系统不需要中央机构,任何组织都可以成为一方机构,成功避免了单点效应等问题,也克服了抗共谋攻击的障碍。Sun等人[28]提出了一种基于属性的关键字搜索方案(ABKS-UR),支持可扩展的细粒度搜索权限,搜索权限制定在索引上。
解决上述技术问题的难度:
现有的对称可搜索加密方案并不考虑关键字的权重问题,忽略了关键字重要程度对搜索结果的影响;其次现有的模糊搜索方案要么依赖于相似性搜索,或依赖于建立一个庞大的索引,该索引需要包含所有可能输入错误的关键词。但是搜索结果却不尽如人意。加之该机制的使用场景受限较强,系统的访问控制能力较差,并不支持复杂的多用户场景。虽然基于属性可搜索加密机制能实现多对一的用户场景,但是文件和索引的加解密开销较大,存在较多的双线性运算,使得搜索效率不高。如何兼顾密文检索方案的高效性、保证搜索的安全性和文件的细粒度访问控制、应用场景可扩展性以及如何保证密文搜索结果的准确性成为待解决问题。
解决上述技术问题的意义:
一个高效、安全和为具有丰富表达能力的密文搜索,可以尽可能的满足用户的明文搜索体验,同时保证数据的安全性和隐私性。针对属性加密开销大和对称可搜索加密应用场景受限的技术难题,本发明使用CP-ABE+SSE的方式,拓展SSE的应用场景,同时将CP-ABE的计算开销降低至系统可接受范围。为了充分发挥CP-ABE的细粒度访问控制的优势,同时降低CP-ABE的开销,本发明使用CP-ABE加密体量较小的对称密钥,以降低用户端的计算开销。而多机构CP-ABE的引入使得系统避免了单点效应问题,即避免了系统因某个点的故障而引发整个系统瘫痪的问题。而模糊搜索即使准确率再高,也无法达到精确搜索的准确率。
针对模糊搜索的不准确问题,本发明使用准确率更高的拼写检查系统对查询关键字进行校正,力求从根本上校正拼写错误的情形,避免了索引关键字集的扩展,节省了存储开销。为了更好获得更好的用户体验,本发明可以区分不同关键字的重要程度,以更高的相关分数对应获得更准确地匹配结果。针对传统搜索系统效率不高的问题,本发明结合R树和布隆过滤器作为索引结构,将一个加密的布隆过滤器和对应的密文文件ID集存储在R树的叶子节点中。云服务器在搜索匹配时不需要遍历所有的文件,即可获得搜索结果,大大提高了检索效率。针对已知密文模型和已知背景模型两种不同的安全需求,本发明给出了两个种不同的方法,以供用户选择。
发明内容
针对现有技术存在的问题,本发明提供了一种基于CP-ABE自动校正的高效密文检索方法、云计算服务系统。
本发明是这样实现的,一种基于CP-ABE自动校正的高效密文检索方法,所述基于CP-ABE自动校正的高效密文检索方法结合R树和布隆过滤器作为索引结构,将一个加密的布隆过滤器和对应的密文文件ID集存储在R树的叶子节点中;云服务器根据搜索陷门对R树进行矩阵定位,然后对叶子节点中加密的布隆过滤器匹配;根据布隆过滤器的内积结果对文件进行排序;陷门生成过程引入了随机数,即使相同的关键字也会生成不同的陷门;通过使用访问结构和拥有者秘密属性共同加密。
进一步,所述基于CP-ABE自动校正的高效密文检索方法具体包括:
第一步,系统初始化阶段,可信权威中心CA通过群参数分别生成系统的主密钥和系统公钥;每个代理服务器和用户需要向CA注册;
第二步,密钥产生阶段;分为可搜索加密的密钥产生和的属性的密钥产生;可搜索加密的密钥产生阶段由权威中心CA生成矩阵密钥、布隆过滤器输入密钥和密文加密密钥;属性的密钥生成阶段CA为每个用户DU和拥有者DO生成对应的公私钥对和相应的属性集,作为解密密钥;
第三步,索引建立阶段,数据拥有者首先从数据文件中提取出关键字集,并使用对称密钥对数据文件集进行加密,生成文件密文;然后以每个文件的关键字集和布隆过滤器密钥作为输入,生成每个文件对应的布隆过滤器;再以矩阵密钥和布隆过滤器作为输入,输出对应的索引;
第四步,密钥加密阶段,数据拥有者选定秘密属性和访问策略,使用CP-ABE的方式加密对称密钥,并将属性加密结果、文件密文和索引一起上传至服务器;
第五步,陷门生成阶段,数据用户选取要搜索的关键字,输入布隆过滤器密钥和矩阵密钥,生成搜索关键字的陷门;将陷门上传至云服务器进行搜索;
第六步,搜索匹配阶段,收到用户的陷门后,云服务器执行操作;将陷门与索引集进行匹配,若匹配成功,则把匹配文件基于综合匹配度排序,输出前L个包含搜索关键字集的文档地址;否则,未搜索到匹配文件;
第七步,用户解密阶段,用户从云服务器下载密文文件和相应的属性密文;如果用户ID在授权用户的列表且用户属性满足拥有者的访问策略,则该用户拥有解密对称密钥的权限;用户首先通过自身属性解密访问策略,再通过拥有者秘密属性解密出对称密钥,并使用对称密钥解密文件。
进一步,所述第一步的系统初始化阶段具体包括:
(1)群参数;输入安全参数λ,CA首先选取一个阶为素数p生成元为g的群G1;设e:G1×G1→G2表示双线性映射;
(2)注册,假设系统中的注册代理服务器的个数为N,CA中心为每个注册用户和注册代理服务器分发唯一的身份标识符U和Pi
(3)生成数据拥有者公私钥,随机选取参数a,αO∈Zp,数据拥有者DO计算公钥为
Figure BDA0002004587530000041
(4)生成代理服务器公私钥,选取随机参数b,ci∈Zp,将ci/b秘密发送给每个代理服务器Pi,每个代理服务器Pi选取私钥为
Figure BDA0002004587530000042
计算公钥为
Figure BDA0002004587530000043
(5)系统主密钥、公钥分别为:
Figure BDA0002004587530000044
Figure BDA0002004587530000045
进一步,所述第二步的密钥产生阶段具体包括:
(1)属性密钥生成,对于每个用户U,选取一个随机数u并生成他的公钥PKU=gu,并生成对应属性集记为ATTU
(2)对于每个属性
Figure BDA0002004587530000046
计算代理服务器属性公钥为
Figure BDA0002004587530000047
(3)每个代理服务器Pi首先检验用户属性集ATTU
Figure BDA0002004587530000048
中相同的属性是否有效,如果有效则记为attPU,表示用户U在代理服务器Pi中的有效属性集;计算用户的第一部分私钥为
Figure BDA0002004587530000049
(4)对于
Figure BDA00020045875300000410
计算密钥
Figure BDA00020045875300000411
(5)数据拥有者首先验证搜索用户的身份标识符,如果为有效用户,如果为有效用户,则拥有者选取TP∈Zp,计算密钥
Figure BDA00020045875300000412
并发送给用户,搜索用户的解密密钥为SKU=(SK1,SK2);
(6)已知密文模型下,可搜索加密系统的密钥生成,数据拥有者生成矩阵密钥SK={S,M1,M2},其中S是一个(m+2)维的向量,M1,M2是两个(m+2)×(m+2)维的矩阵;然后生成文件加密密钥k;此外生成密钥sk和r个随机数k1,...,kr作为布隆过滤器的Hash函数密钥输入,记为K=(sk,k1,...,kr);
(7)已知背景模型下,可搜索加密系统的密钥生成算法更改为:数据拥有者生成SK={S,M1,M2},其中S是一个(m+K+2)维的向量,M1,M2是两个(m+K+2)×(m+K+2)维的矩阵;然后生成文件加密密钥k,生成密钥sk和r个随机数k1,...,kr作为布隆过滤器的Hash函数密钥输入,记为K=(sk,k1,...,kr)。
进一步,所述第三步的索引建立阶段具体包括:
(1)加密明文文件,给定明文文件集F,数据拥有者首先使用对称密钥k对文件集F进行加密,得到密文CF,;
(2)提取关键字集,数据拥有者为每个文件Fi基于TF-IDF法则提取关键字集W={w1,...,wm},;
(3)生成布隆过滤器,输入关键字集W和Hash函数密钥K,拥有者生成了每个文件对应的布隆过滤器BFi,BFi[j]表示布隆过滤器的第j位,插入值为相关关键字wj在文件Fi中的词频TF值;
(4)已知密文模型下,矩阵密钥加密布隆过滤器的过程,将BFi扩展为(BFii,1),其中ξi为随机数,将BFi分割成两个部:BFi'和BFi”;根据向量S,如果S[j]=0,则BFi'[j]和BFi”[j]保持不变,否则,设置BFi'[j]+BFi”[j]=BFi[j],其中BFi'[j]和BFi”[j]为随机数;
(5)已知背景模型下,将BFi扩展为(m+β+1)维向量,其中β∈[1,K],扩展的β维均被设置为随机数ξ(β),将BFi分割成两个部:BFi'和BFi”;根据向量S,如果S[j]=0,则BFi'[j]和BFi”[j]保持不变,否则,设置BFi'[j]+BFi”[j]=BFi[j],其中BFi'[j]和BFi”[j]为随机数。;
(6)将加密后每个文件对应的布隆过滤器插入到R树构建索引树,整个索引表示为:于是,整个索引表示为:
Figure BDA0002004587530000051
进一步,所述第四步的拥有者使用对称密钥加密文件,并使用CP-ABE加密该对称密钥具体包括:
(1)CP-ABE加密,数据拥有者随机选取r1,r2∈Zp并分配给访问结构的根节点和自己的秘密属性TP;
(2)选定访问策略为Λ=(ρ,M),其中M是一个l×n的矩阵,l表示访问结构的所有属性的数量,ρ是将矩阵每一行映射到相关属性的单向函数;与访问结构Λ相关的代理服务器集合记为PΛ,NΛ集合PΛ中代理服务器的个数;设
Figure BDA0002004587530000061
表示向量Mj中的属性集,其中
Figure BDA0002004587530000062
Mj表示矩阵M的行向量,随机选取向量v=(r1,s2,...,sn),r1表示共享秘密值;
(3)数据拥有者首先使用TP加密得CTP
(4)对密钥k使用代理服务器PS的公钥和数据拥有者DO的公钥进行加密得Ck,最后计算Cm为:
Figure BDA0002004587530000063
(5)数据拥有者将加密文件CF、加密索引I和加密密钥Cm一起上传至云服务器。
进一步,所述第五步的用户生成陷门阶段具体包括:
(1)对搜索关键字集Q使用拼写校正系统进行纠错,输出纠正后的查询关键字;
(2)对纠正后的关键字集Q中的每个关键字qi基于语法解析器进行权重计算,记录为KWi
(3)计算每个查询关键字的逆向词频IDFi值,计算IDFi×KWi的值,将该值插入至关键字qi映射到布隆过滤器的对应位置上;将关键词Q转换成为布隆过滤器BFQ,BFQ[j]表示相关关键字qj的IDFi×KWi值;
(4)在已知密文模型下,矩阵密钥加密布隆过滤器的过程,拥有者将BFQ进行扩展为(εBFQ,ε,t),其中ε,t为随机数且ε≠0;随后,将BFQ分割为两个向量BFQ',BFQ”:如果S[j]=0,则BFQ'[j]和BFQ”[j]保持不变,否则,设置BFQ'[j]+BFQ”[j]=BFQ[j],其中BFQ'[j]和BFQ”[j]为随机数;最后,陷门T表示为
Figure BDA0002004587530000064
(5)在已知背景模型下,为了进一步混淆,矩阵密钥加密布隆过滤器的过程更改如下:将BFi扩展为(m+β+1)维向量,其中β∈[1,K];从K维假性关键字中选取J维,将BFQ扩展为随机关键字并将其相关位置为1,将布隆过滤器BFQ扩展为(εBFQ,ε,t),其中ε,t为随机数且ε≠0;随后,将BFQ分割为两个向量BFQ',BFQ”:如果S[j]=0,则BFQ'[j]和BFQ”[j]保持不变,否则,设置BFQ'[j]+BFQ”[j]=BFQ[j],其中BFQ'[j]和BFQ”[j]为随机数;最后,陷门T为
Figure BDA0002004587530000071
进一步,所述第六步的云服务器搜索匹配阶段具体包括:
(1)云服务器收到用户发送过的陷门T后,首先判断该用户是否为授权用户;
(2)云服务器根据收到的陷门T对R树进行矩阵查询和定位,搜索匹配到最小边界矩阵;
(3)已知密文模型下,布隆过滤器的内积计算过程,对于最小边界矩阵中的所有叶子节点中所包含的布隆过滤器,云服务器计算它们与陷门T对应的加密布隆过滤器的内积结果;计算完所有的内积结果并排序之后,CS返回前L个文件标识符列表给用户;
Figure BDA0002004587530000072
(4)已知背景模型下,布隆过滤器的内积计算过程更改如下:云服务器收到用户发送过的陷门T后,首先判断该用户是否为授权用户;然后根据收到的陷门T对R树进行矩阵查询和定位,搜索匹配到最小边界矩阵;对于最小边界矩阵中的所有叶子节点中所包含的布隆过滤器,云服务器计算它们与陷门T对应的布隆过滤器的内积结果;计算完所有的相似分数之后,CS返回前L个文件标识符列表给用户;
Figure BDA0002004587530000073
所述第七步的用户解密阶段具体包括:
(1)用户从云服务器下载密文文件和相应对称密钥的属性密文;
(2)访问策略解密,当用户需要搜索密文文件时,他通过代理服务器发送安全索引,代理服务器将匹配的文件标识符发送给用户;用户首先需要解密加密密钥Cm以获得对称密钥k,然后通过k解密文件;根据LSSS访问策略,如果用户属性集满足访问策略,恢复共享秘密r1;设PΛ表示满足访问结构的所有代理服务器的属性集,
Figure BDA0002004587530000074
表示代理服务器Pi的属性集,根据访问结构解密;
j∈Sωjλj=∑j∈SωjMjvT=r1
Figure BDA0002004587530000081
(3)秘密属性解密,如果用户是授权用户,则可从拥有者手中获得秘密属性TP,并根据TP进行解密;用户解密如下:
Figure BDA0002004587530000082
(4)用户计算对称密钥为:
Figure BDA0002004587530000083
(5)用户使用对称密钥k解密所获得的密文文件,得到明文数据。
本发明的另一目的在于提供一种基于所述基于CP-ABE自动校正的高效密文检索方法的基于CP-ABE自动校正的高效密文检索系统,所述基于CP-ABE自动校正的高效密文检索系统包括:包括数据所有者DO、云服务器CS、授权数据用户DU、可信权威中心CA和代理服务器PS;
数据拥有者DO为可信实体和数据拥有者DO制定文件的访问策略,对数据进行关键字提取,并根据访问策略将个人数据和关键字加密上传到云服务器;
授权用户DU为可信实体,系统为每个授权数据用户均分发一组相应的属性;当用户属性满足相关的密文访问策略时,才能查询和解密云服务器上的加密数据;如果授权用户希望通过关键词集Q来搜索所需文档,需要先通过数据所有者共享的陷门密钥K生成搜索陷门,并把陷门发送到服务器;服务器作为半可信的实体,接收到请求后,开始与索引进行匹配并返回相应文档的地址集合给用户;
云服务器CS,包含索引服务器和密文存储服务器;在系统中被假定为是半可信的;云服务器收到代理服务器PS传来的陷门后,搜索匹配相应的密文文件,并把相应的文件地址返回到PS中;
可信权威中心CA,是为包括数据所有者DO、云服务器CS、授权数据用户DU管理和更新密钥的权威中心;在系统中被假设为是完全可信的,用于分发系统密钥、代理服务器属性和用户注册;
代理服务器PS,用于帮助DO将他们的安全索引和密文数据发送到CS,并帮助DU生成搜索陷门,并在云服务器中完成搜索;代理服务器还负责系统中用户属性的授权、撤销和重新授予。
本发明的另一目的在于提供一种应用所述基于CP-ABE自动校正的高效密文检索方法的云计算服务系统。
综上所述,本发明的优点及积极效果为:本发明使用CP-ABE加密体量较小的对称密钥,实现了细粒度的访问控制。引入多代理服务器实现了去中心化。为了防止代理服务器之间的共谋,本发明采取了数据拥有者的秘密属性与访问策略共同加密的方法。通过对查询关键字进行拼写校正而不是模糊词集的扩展,该方案可以容忍拼写错误并降低索引存储空间的复杂性。通过语法分析和计算查询关键字的关键字权重,本发明可以区分不同关键字的重要程度。本发明结合R树和布隆过滤器作为索引结构,将一个加密的布隆过滤器和对应的密文文件ID集存储在R树的叶子节点中。云服务器根据搜索陷门对R树进行矩阵定位,然后对叶子节点中加密的布隆过滤器匹配。根据布隆过滤器的内积结果对文件进行排序。陷门生成过程引入了随机数,即使相同的关键字也会生成不同的陷门,避免了服务器的频率猜测攻击。通过使用访问结构和拥有者秘密属性共同加密,本发明能够抵抗代理服务器和用户的共谋攻击。
本发明基于多机构的CP-ABE的场景,可以应用于一对多场景和避免了单点失效问题,且抵抗代理服务器和用户的共谋攻击。对查询关键字进行拼写校正容忍拼写错误,从根源上解决关键字的错误性,力求达到准确搜索。通过语法解析器计算关键字权重和排序,更重要的搜索词拥有更高的优先级,因此可以获得一个更准确的返回结果排序。使用R树和布隆过滤器结合的索引提高搜索效率,布隆过滤器存于R树的叶子节点中。计算IDFi×KWi的值,将该值插入至布隆过滤器中该关键字的对应位置上。根据布隆过滤器内积结果的排序,可以获得一个更准确的返回结果排序。通过使用访问结构和拥有者秘密属性共同加密,本发明能够抵抗代理服务器和用户的共谋攻击。
本发明分别实现了已知密文模型和已知背景模型这两种不同安全需求下的基于CP-ABE自动校正的高效密文检索技术,用户可以根据安全需求各取所需。已知密文模型下云服务器只能访问到密文文件、安全索引和所提交的陷门。云服务器还可以访问和记录每次的搜索结果。已知背景模型下云服务器可以了解额外的背景信息。其中,背景指的是可以从比较数据集学习到的信息。
附图说明
图1是本发明实施例提供的基于CP-ABE自动校正的高效密文检索方法流程图。
图2是本发明实施例提供的基于CP-ABE自动校正的高效密文检索方法实现流程图。
图3是本发明实施例提供的拥有者构建索引的子流程图。
图4是本发明实施例提供的用户生成陷门的子流程图。
图5是本发明实施例提供的云服务搜索过程的子流程图。
图6是本发明实施例提供的拥有者加密对称密钥的子流程图。
图7是本发明实施例提供的数据用户解密属性密文的子流程图。
图8是本发明中索引构建时间随文件数目变化的仿真图;
图9是本发明中陷门生成算法各子步骤及总时间开销的仿真图;
图10是本发明中系统搜索时间随文件数目变化的仿真图;
图11是本发明中属性系统初始化和密钥生成时间随系统属性个数变化的仿真图;
图12是本发明中属性加密和解密时间随系统属性个数变化的仿真图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明为了容忍用户的误拼,支持多场景和细粒度访问控制,从根源上先对关键字进行校正,提供了一种支持多关键词和排序的更高效的密文检索方法。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于CP-ABE自动校正的高效密文检索方法包括以下步骤:
S101:系统初始化阶段,可信权威中心CA通过群参数分别生成系统的主密钥和系统公钥;该阶段中,每个代理服务器和用户需要向CA注册;
S102:密钥产生阶段;该阶段分为可搜索加密的密钥产生和的属性的密钥产生。可搜索加密的密钥产生阶段由权威中心CA生成矩阵密钥、布隆过滤器输入密钥和密文加密密钥;属性的密钥生成阶段CA为每个用户DU和拥有者DO生成对应的公私钥对和相应的属性集,作为解密密钥;
S103:索引建立阶段,数据拥有者首先从数据文件中提取出关键字集,并使用对称密钥对数据文件集进行加密,生成文件密文;然后以每个文件的关键字集和布隆过滤器密钥作为输入,生成每个文件对应的布隆过滤器。再以矩阵密钥和布隆过滤器作为输入,输出对应的索引;
S104:密钥加密阶段,数据拥有者选定秘密属性和访问策略,使用CP-ABE的方式加密对称密钥,并将属性加密结果、文件密文和索引一起上传至服务器;
S105:陷门生成阶段,数据用户选取要搜索的关键字,输入布隆过滤器密钥和矩阵密钥,生成搜索关键字的陷门;将陷门上传至云服务器进行搜索;
S106:搜索匹配阶段,收到用户的陷门后,云服务器执行操作;将陷门与索引集进行匹配,若匹配成功,则把匹配文件基于综合匹配度排序,输出前L个包含搜索关键字集的文档地址;否则,未搜索到匹配文件;
S107:用户解密阶段,用户从云服务器下载密文文件和相应的属性密文;如果用户ID在授权用户的列表且用户属性满足拥有者的访问策略,则该用户拥有解密对称密钥的权限;用户首先通过自身属性解密访问策略,再通过拥有者秘密属性解密出对称密钥,并使用对称密钥解密文件。
下面结合附图对本发明的应用原理作进一步的描述。
本发明在实现的过程分为已知密文模型下基于CP-ABE自动校正的高效密文检索方法和已知背景模型下基于CP-ABE自动校正的高效密文检索技术。
如图2所示,本发明实施例提供的基于CP-ABE自动校正的高效密文检索方法包括以下步骤:
步骤一:系统初始化。
1.1)群参数。输入安全参数λ,CA首先选取一个阶为素数p生成元为g的群G1。设e:G1×G1→G2表示双线性映射。
1.2)注册。假设系统中的注册代理服务器的个数为N,CA中心为每个注册用户和注册代理服务器分发唯一的身份标识符U和Pi
1.3)生成数据拥有者公私钥。随机选取参数a,αO∈Zp,数据拥有者DO计算公钥为
Figure BDA0002004587530000111
1.4)生成代理服务器公私钥。选取随机参数b,ci∈Zp,将ci/b秘密发送给每个代理服务器Pi。每个代理服务器Pi选取私钥为
Figure BDA0002004587530000112
计算公钥为
Figure BDA0002004587530000113
1.5)因此,系统主密钥、公钥分别为:
Figure BDA0002004587530000121
Figure BDA0002004587530000122
步骤二:密钥产生阶段。
2.1)属性密钥生成。对于每个用户U,该算法选取一个随机数u并生成他的公钥PKU=gu,并生成对应属性集记为ATTU
2.2)对于每个属性
Figure BDA0002004587530000123
计算代理服务器属性公钥为
Figure BDA0002004587530000124
2.3)每个代理服务器Pi首先检验用户属性集ATTU
Figure BDA0002004587530000125
中相同的属性是否有效,如果有效则记为attPU,表示用户U在代理服务器Pi中的有效属性集。计算用户的第一部分私钥为
Figure BDA0002004587530000126
2.4)对于
Figure BDA0002004587530000127
计算密钥
Figure BDA0002004587530000128
2.5)类似的,数据拥有者首先验证搜索用户的身份标识符,如果为有效用户,如果为有效用户,则拥有者选取TP∈Zp,计算密钥
Figure BDA0002004587530000129
并发送给用户。综上,搜索用户的解密密钥为SKU=(SK1,SK2)。
2.6)已知密文模型下,可搜索加密系统的密钥生成。数据拥有者生成矩阵密钥SK={S,M1,M2},其中S是一个(m+2)维的向量,M1,M2是两个(m+2)×(m+2)维的矩阵。然后生成文件加密密钥k。此外生成密钥sk和r个随机数k1,...,kr作为布隆过滤器的Hash函数密钥输入,记为K=(sk,k1,...,kr)。
2.7)已知背景模型下,步骤2.6)所述的可搜索加密系统的密钥生成算法更改为:数据拥有者生成SK={S,M1,M2},其中S是一个(m+K+2)维的向量,M1,M2是两个(m+K+2)×(m+K+2)维的矩阵。然后生成文件加密密钥k。此外生成密钥sk和r个随机数k1,...,kr作为布隆过滤器的Hash函数密钥输入,记为K=(sk,k1,...,kr)。
步骤三:索引建立阶段。
如图3所示,具体实现如下:
3.1)加密明文文件。给定明文文件集F,数据拥有者首先使用对称密钥k对文件集F进行加密,得到密文CF
3.2)提取关键字集。数据拥有者为每个文件Fi基于TF-IDF法则提取关键字集W={w1,...,wm}。
3.3)生成布隆过滤器。输入关键字集W和Hash函数密钥K,拥有者生成了每个文件对应的布隆过滤器BFi,BFi[j]表示布隆过滤器的第j位,插入值为相关关键字wj在文件Fi中的词频TF值。
3.4)已知密文模型下,矩阵密钥加密布隆过滤器的过程。将BFi扩展为(BFii,1),其中ξi为随机数。将BFi分割成两个部:BFi'和BFi”。根据向量S,如果S[j]=0,则BFi'[j]和BFi”[j]保持不变,否则,设置BFi'[j]+BFi”[j]=BFi[j],其中BFi'[j]和BFi”[j]为随机数。
3.5)已知背景模型下,步骤3.4)的过程更改为:将BFi扩展为(m+β+1)维向量,其中β∈[1,K],扩展的β维均被设置为随机数ξ(β)。将BFi分割成两个部:BFi'和BFi”。根据向量S,如果S[j]=0,则BFi'[j]和BFi”[j]保持不变,否则,设置BFi'[j]+BFi”[j]=BFi[j],其中BFi'[j]和BFi”[j]为随机数。
3.6)将加密后每个文件对应的布隆过滤器插入到R树构建索引树。于是,整个索引表示为:于是,整个索引表示为:
Figure BDA0002004587530000131
步骤四:拥有者使用对称密钥加密文件,并使用CP-ABE加密该对称密钥。
如图4所示,具体实现如下:
4.1)CP-ABE加密。数据拥有者随机选取r1,r2∈Zp并分配给访问结构的根节点和自己的秘密属性TP。
4.2)选定访问策略为Λ=(ρ,M),其中M是一个l×n的矩阵,l表示访问结构的所有属性的数量,ρ是将矩阵每一行映射到相关属性的单向函数。与访问结构Λ相关的代理服务器集合记为PΛ,NΛ集合PΛ中代理服务器的个数。设
Figure BDA0002004587530000132
表示向量Mj中的属性集,其中
Figure BDA0002004587530000133
Mj表示矩阵M的行向量。随机选取向量v=(r1,s2,...,sn),r1表示共享秘密值。
4.3)数据拥有者首先使用TP加密得CTP
4.4)对密钥k使用代理服务器PS的公钥和数据拥有者DO的公钥进行加密得密文Ck,最后计算Cm为:
Figure BDA0002004587530000134
4.5)最后,数据拥有者将加密文件CF、加密索引I和加密密钥Cm一起上传至云服务器。
步骤五:用户生成陷门阶段。
如图5所示,具体实现如下:
5.1)对搜索关键字集Q使用拼写校正系统进行纠错,输出纠正后的查询关键字。
5.2)对纠正后的关键字集Q中的每个关键字qi基于语法解析器进行权重计算,记录为KWi
5.3)计算每个查询关键字的逆向词频IDFi值。计算IDFi×KWi的值,将该值插入至关键字qi映射到布隆过滤器的对应位置上。也就是说,将关键词Q转换成为布隆过滤器BFQ,BFQ[j]表示相关关键字qj的IDFi×KWi值。
5.4)在已知密文模型下,矩阵密钥加密布隆过滤器的过程。拥有者将BFQ进行扩展为(εBFQ,ε,t),其中ε,t为随机数且ε≠0。随后,将BFQ分割为两个向量BFQ',BFQ”:如果S[j]=0,则BFQ'[j]和BFQ”[j]保持不变,否则,设置BFQ'[j]+BFQ”[j]=BFQ[j],其中BFQ'[j]和BFQ”[j]为随机数。最后,陷门T表示为
Figure BDA0002004587530000141
5.5)在已知背景模型下,为了进一步混淆,步骤5.4)矩阵密钥加密布隆过滤器的过程更改如下:将BFi扩展为(m+β+1)维向量,其中β∈[1,K]。从K维假性关键字中选取J维,将BFQ扩展为随机关键字并将其相关位置为1,将布隆过滤器BFQ扩展为(εBFQ,ε,t),其中ε,t为随机数且ε≠0。随后,将BFQ分割为两个向量BFQ',BFQ”:如果S[j]=0,则BFQ'[j]和BFQ”[j]保持不变,否则,设置BFQ'[j]+BFQ”[j]=BFQ[j],其中BFQ'[j]和BFQ”[j]为随机数。最后,陷门T为
Figure BDA0002004587530000142
步骤六:云服务器搜索匹配阶段。
如图6所示,具体实现如下:
6.1)云服务器收到用户发送过的陷门T后,首先判断该用户是否为授权用户。
6.2)云服务器根据收到的陷门T对R树进行矩阵查询和定位,搜索匹配到最小边界矩阵。
6.3)已知密文模型下,布隆过滤器的内积计算过程。对于最小边界矩阵中的所有叶子节点中所包含的布隆过滤器,云服务器计算它们与陷门T对应的加密布隆过滤器的内积结果,计算过程如等式(5)所示。计算完所有的内积结果并排序之后,CS返回前L个文件标识符列表给用户。
Figure BDA0002004587530000151
6.4)已知背景模型下,步骤6.3)的布隆过滤器的内积计算过程更改如下:云服务器收到用户发送过的陷门T后,首先判断该用户是否为授权用户。然后根据收到的陷门T对R树进行矩阵查询和定位,搜索匹配到最小边界矩阵。对于最小边界矩阵中的所有叶子节点中所包含的布隆过滤器,云服务器计算它们与陷门T对应的布隆过滤器的内积结果,如等式(6)所示。计算完所有的相似分数之后,CS返回前L个文件标识符列表给用户。
Figure BDA0002004587530000152
步骤七:用户解密阶段。
如图7所示,具体实现如下:
7.1)用户从云服务器下载密文文件和相应对称密钥的属性密文。
7.2)访问策略解密。当用户需要搜索密文文件时,他通过代理服务器发送安全索引,代理服务器将匹配的文件标识符发送给用户。用户首先需要解密加密密钥Cm以获得对称密钥k,然后通过k解密文件。根据LSSS访问策略,如果用户属性集满足访问策略,我们恢复共享秘密r1如式(7)所示。设PΛ表示满足访问结构的所有代理服务器的属性集,ATTPi表示代理服务器Pi的属性集。因此,根据访问结构解密的第一步如(8)所示。
Figure BDA0002004587530000153
Figure BDA0002004587530000154
7.3)秘密属性解密。如果用户是授权用户,则可从拥有者手中获得秘密属性TP,并根据TP进行解密。用户解密如下:
Figure BDA0002004587530000155
7.4)最后,用户计算对称密钥为:
Figure BDA0002004587530000161
7.5)用户使用对称密钥k解密所获得的密文文件,得到明文数据。
7.6)解密的一致性验证。
由LSSS的定义可知,文中使用单向函数ρ将矩阵M的第i行所表示的属性映射为ρ(i)。为了验证搜索结果的正确性,当用户的属性集满足访问策略,有H(att)=H(ρ(j)),于是对称密钥k的解密验证如下:
Figure BDA0002004587530000162
进一步地,如果用户手中的拥有者秘密属性TP'与拥有者的TP相一致,有H(TP)=H(TP'),于是式(9)的验证如下:
Figure BDA0002004587530000163
最终,用户计算对称密钥k如式(13):
Figure BDA0002004587530000164
下面我们通过仿真来进一步说明本发明的优势:
1.仿真条件
我们以安装系统Ubuntu16.04的电脑模仿服务器端,使用Windows系统的电脑作为用户端。我们使用Python和C++作为开发语言,两台电脑参数分别为
Figure BDA0002004587530000171
Core(TM)i5-6500CPU@3.20GHz,RAM8.00GB和
Figure BDA0002004587530000172
Core(TM)i3-3240 CPU@3.40GHz,RAM8.00GB。我们以RFC库的文档为来源。
2.仿真结果分析
在整个仿真分析过程中,我们将本发明拆分成可搜索加密算法时间开销及属性算法时间开销进行分析。其中可搜索加密算法中我们对索引构建、陷门生成和搜索阶段时间进行了仿真和对比,分别如图8、图9(a)(b)(c)和图10所示。属性算法仿真阶段我们对系统的初始化、密钥生成时间进行了仿真和对比,如图11(a)(b)所示;以及对属性密文加密、解密进行了仿真和对比,如图12(a)(b)所示。
在图8中,索引创建的主要步骤是构建一棵平衡R树和布隆过滤器,其中叶子节点存储的数据为加密的布隆过滤器及相应的密文文件ID,R树插入过程的分裂算法本发明考虑的是平方算法。R树中要求矩形尽量不要重叠。如何均衡分布矩形及如何将R树的矩形分裂成合适的两个部分,是影响R树检索效率的重要因素。索引创建时间主要取决于R树的插入的效率和布隆过滤器的插入效率。布隆过滤器的插入时间与每个文件的关键字的个数基本无关,只与映射函数个数相关,映射函数个数确定时为一个常数值。图8描述了索引创建的效率随着文件个数的变化情况。可以看出,随着文件个数增多,MRSE方案中索引随文件集的增长呈正比趋势,而本发明的切线斜率逐渐接近MRSE的斜率,索引构建的时间开销均在变大,但是本方案的性能仍比MRSE方案高。
图9中陷门生成的主要步骤为:(1)拼写校正;(2)计算关键字权重值;(3)构建布隆过滤器;(4)加密布隆过滤器。我们选取由Wiktionary和British National Corpus语料库组成所选的训练集。选取Oxford Text Archive的Roger Mitton的Birkbeck误拼语料库作为测试集。该方案所使用的具有任意长度的字符串到字符串转换的拼写检查器的正确性如图9(a)所示,可以看到,随着训练集中正确关键字数的增多,校正正确率也会变大,即对输入上下文的正确性有一定的依赖关系。校正系统的运行时间如图9(b)所示,系统对关键字的处理时间基本成正比关系,而一般搜索关键字的个数仅为个位数,系统在ms级之内便可校正。含r个映射函数的布隆过滤的插入效率为O(r)。r一般为系统设定的固定值,因此陷门生成时间也基本为一个固定值,与关键字的个数无关。本发明所使用子矩阵加密的技术减小了矢量加密的运算,图9(c)展示了我们所提的方案在两个不同模型下的陷门创建总时间,均小于MRSE方案。
图10中搜索阶段的主要步骤包括最小边界矩阵定位和加密布隆过滤器之间的内积计算。最坏的情况下,云服务器需要遍历所有的R树节点且计算n个加密布隆过滤器与陷门的匹配程度。最好的情况下,云服务器只需对R树执行一次“深度优先搜索”,匹配叶子节点的布隆过滤器。此时计算复杂度表示为
Figure BDA0002004587530000181
n表示条目数,这里指的是文件数目。图10描述了搜索时间随文件集大小而变化的时间消耗,可以看出,我们所提的两个方案的搜索时间开销均小于方案MRSE。
图11(a)描述了初始化阶段的时间开销,本发明的初始包括生成系统公钥PK和主密钥MSK,包括每个代理服务器的初始化操作。初始化计算开销与代理服务器个数呈正比趋势,与系统属性个数无关。一般来说,系统属性的总个数远大于代理服务器的总个数。当系统属性个数大于25个时,本发明优于ABKS-UR方案。
图11(b)描述了密钥生成阶段的时间开销。该阶段主要为搜索用户生成解密密钥。本发明的计算开销为(2N+6)e1,e1表示群G1中的模指数运算,而ABKS-UR的计算开销为(2N+1)e1+2e2,e2表示群G2中的模指数运算,大于本发明。
图12(a)描述了密文加密阶段的时间开销。该阶段主要使用CP-ABE加密对称密钥k,分别包括访问结构的加密和拥有者秘密TP的双重加密。该阶段计算开销为每个代理服务器中的运算量为e2+(S+4)e1,S表示用户的授权属性个数,与系统属性个数无关。
图12(b)描述了密文解密阶段的时间开销。该阶段主要包括用户恢复共享秘密r1和获取拥有者TP相关的密钥来解密ABE密文以获取对称密钥k。该阶段包括(2N+4)个双线性对运算。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于CP-ABE自动校正的高效密文检索方法,其特征在于,所述基于CP-ABE自动校正的高效密文检索方法结合R树和布隆过滤器作为索引结构,将一个加密的布隆过滤器和对应的密文文件ID集存储在R树的叶子节点中;云服务器根据搜索陷门对R树进行矩阵定位,然后对叶子节点中加密的布隆过滤器匹配;根据布隆过滤器的内积结果对文件进行排序;陷门生成过程引入了随机数,即使相同的关键字也会生成不同的陷门;通过使用访问结构和拥有者秘密属性共同加密;
所述基于CP-ABE自动校正的高效密文检索方法具体包括:
第一步,系统初始化阶段,可信权威中心CA通过群参数分别生成系统的主密钥和系统公钥;每个代理服务器和用户需要向CA注册;
第二步,密钥产生阶段;分为可搜索加密的密钥产生阶段和属性的密钥产生阶段;可搜索加密的密钥产生阶段由权威中心CA生成矩阵密钥、布隆过滤器输入密钥和密文加密密钥;属性的密钥生成阶段CA为每个用户DU和拥有者DO生成对应的公私钥对和相应的属性集,作为解密密钥;
第三步,索引建立阶段,数据拥有者首先从数据文件中提取出关键字集,并使用对称密钥对数据文件集进行加密,生成文件密文;然后以每个文件的关键字集和布隆过滤器密钥作为输入,生成每个文件对应的布隆过滤器;再以矩阵密钥和布隆过滤器作为输入,输出对应的索引;
第四步,密钥加密阶段,数据拥有者选定秘密属性和访问策略,使用CP-ABE的方式加密对称密钥,并将属性加密结果、文件密文和索引一起上传至服务器;
第五步,陷门生成阶段,数据用户选取要搜索的关键字,输入布隆过滤器密钥和矩阵密钥,生成搜索关键字的陷门;将陷门上传至云服务器进行搜索;
第六步,搜索匹配阶段,收到用户的陷门后,云服务器执行操作;将陷门与索引集进行匹配,若匹配成功,则把匹配文件基于综合匹配度排序,输出前L个包含搜索关键字集的文档地址;否则,未搜索到匹配文件;
第七步,用户解密阶段,用户从云服务器下载密文文件和相应的属性密文;如果用户ID在授权用户的列表且用户属性满足拥有者的访问策略,则该用户拥有解密对称密钥的权限;用户首先通过自身属性解密访问策略,再通过拥有者秘密属性解密出对称密钥,并使用对称密钥解密文件;
所述第一步的系统初始化阶段具体包括:
(1)群参数;输入安全参数λ,CA首先选取一个阶为素数p生成元为g的群G1;设e:G1×G1→G2表示双线性映射;
(2)注册,假设系统中的注册代理服务器的个数为N,CA中心为每个注册用户和注册代理服务器分发唯一的身份标识符U和Pi
(3)生成数据拥有者公私钥,随机选取参数a,αO∈Zp,数据拥有者DO计算公钥为
Figure FDA0003178453430000021
(4)生成代理服务器公私钥,选取随机参数b,ci∈Zp,将ci/b秘密发送给每个代理服务器Pi,每个代理服务器Pi选取私钥为
Figure FDA0003178453430000022
计算公钥为
Figure FDA0003178453430000023
(5)系统主密钥、公钥分别为:
Figure FDA0003178453430000024
Figure FDA0003178453430000025
2.如权利要求1所述的基于CP-ABE自动校正的高效密文检索方法,其特征在于,所述第二步的密钥产生阶段具体包括:
(1)属性密钥生成,对于每个用户U,选取一个随机数u并生成他的公钥PKU=gu,并生成对应属性集记为ATTU
(2)对于每个属性att∈ATTPi,计算代理服务器属性公钥为
Figure FDA0003178453430000026
(3)每个代理服务器Pi首先检验用户属性集ATTU
Figure FDA0003178453430000027
中相同的属性是否有效,如果有效则记为attPU,表示用户U在代理服务器Pi中的有效属性集;计算用户的第一部分私钥为
Figure FDA0003178453430000031
(4)对于
Figure FDA0003178453430000032
计算密钥
Figure FDA0003178453430000033
(5)数据拥有者首先验证搜索用户的身份标识符,如果为有效用户,则拥有者选取TP∈Zp,计算密钥
Figure FDA0003178453430000034
并发送给用户,搜索用户的解密密钥为SKU=(SK1,SK2);
(6)已知密文模型下,可搜索加密系统的密钥生成,数据拥有者生成矩阵密钥SK={S,M1,M2},其中S是一个(m+2)维的向量,M1,M2是两个(m+2)×(m+2)维的矩阵;然后生成文件加密密钥k;此外生成密钥sk和r个随机数k1,...,kr作为布隆过滤器的Hash函数密钥输入,记为K=(sk,k1,...,kr);
(7)已知背景模型下,可搜索加密系统的密钥生成算法更改为:数据拥有者生成SK={S,M1,M2},其中S是一个(m+K+2)维的向量,M1,M2是两个(m+K+2)×(m+K+2)维的矩阵;然后生成文件加密密钥k,生成密钥sk和r个随机数k1,...,kr作为布隆过滤器的Hash函数密钥输入,记为K=(sk,k1,...,kr)。
3.如权利要求1所述的基于CP-ABE自动校正的高效密文检索方法,其特征在于,所述第三步的索引建立阶段具体包括:
(1)加密明文文件,给定明文文件集F,数据拥有者首先使用对称密钥k对文件集F进行加密,得到密文CF
(2)提取关键字集,数据拥有者为每个文件Fi基于TF-IDF法则提取关键字集W={w1,...,wm};
(3)生成布隆过滤器,输入关键字集W和Hash函数密钥K,拥有者生成了每个文件对应的布隆过滤器BFi,BFi[j]表示布隆过滤器的第j位,插入值为相关关键字wj在文件Fi中的词频TF值;
(4)已知密文模型下,矩阵密钥加密布隆过滤器的过程,将BFi扩展为(BFii,1),其中ξi为随机数,将BFi分割成两个部:BFi'和BFi”;根据向量S,如果S[j]=0,则BFi'[j]和BFi”[j]保持不变,否则,设置BFi'[j]+BFi”[j]=BFi[j],其中BFi'[j]和BFi”[j]为随机数;
(5)已知背景模型下,将BFi扩展为(m+β+1)维向量,其中β∈[1,K],扩展的β维均被设置为随机数ξ(β),将BFi分割成两个部:BFi'和BFi”;根据向量S,如果S[j]=0,则BFi'[j]和BFi”[j]保持不变,否则,设置BFi'[j]+BFi”[j]=BFi[j],其中BFi'[j]和BFi”[j]为随机数;
(6)将加密后每个文件对应的布隆过滤器插入到R树构建索引树,于是,整个索引表示为:
Figure FDA0003178453430000041
4.如权利要求1所述的基于CP-ABE自动校正的高效密文检索方法,其特征在于,所述第四步的数据拥有者使用对称密钥加密文件,并使用CP-ABE加密该对称密钥具体包括:
(1)CP-ABE加密,数据拥有者随机选取r1,r2∈Zp并分配给访问结构的根节点和自己的秘密属性TP;
(2)选定访问策略为Λ=(ρ,M),其中M是一个l×n的矩阵,l表示访问结构的所有属性的数量,ρ是将矩阵每一行映射到相关属性的单向函数;与访问结构Λ相关的代理服务器集合记为PΛ,NΛ集合PΛ中代理服务器的个数;设
Figure FDA0003178453430000042
表示向量Mj中的属性集,其中
Figure FDA0003178453430000043
Mj表示矩阵M的行向量,随机选取向量v=(r1,s2,...,sn),r1表示共享秘密值;
(3)数据拥有者首先使用TP加密得CTP
(4)对密钥k使用代理服务器PS的公钥和数据拥有者DO的公钥进行加密得Ck,最后计算Cm为:
Figure FDA0003178453430000044
(5)数据拥有者将加密文件CF、加密索引I和加密密钥Cm一起上传至云服务器。
5.如权利要求1所述的基于CP-ABE自动校正的高效密文检索方法,其特征在于,所述第五步的用户生成陷门阶段具体包括:
(1)对搜索关键字集Q使用拼写校正系统进行纠错,输出纠正后的查询关键字;
(2)对纠正后的关键字集Q中的每个关键字qi基于语法解析器进行权重计算,记录为KWi
(3)计算每个查询关键字的逆向词频IDFi值,计算IDFi×KWi的值,将该值插入至关键字qi映射到布隆过滤器的对应位置上;将关键词Q转换成为布隆过滤器BFQ,BFQ[j]表示相关关键字qj的IDFi×KWi值;
(4)在已知密文模型下,矩阵密钥加密布隆过滤器的过程,拥有者将布隆过滤器BFQ进行扩展为(εBFQ,ε,t),其中ε,t为随机数且ε≠0;随后,将BFQ分割为两个向量BFQ',BFQ”:如果S[j]=0,则BFQ'[j]和BFQ”[j]保持不变,否则,设置BFQ'[j]+BFQ”[j]=BFQ[j],其中BFQ'[j]和BFQ”[j]为随机数;最后,陷门T表示为
Figure FDA0003178453430000051
(5)在已知背景模型下,为了进一步混淆,矩阵密钥加密布隆过滤器的过程更改如下:将BFi扩展为(m+β+1)维向量,其中β∈[1,K];从K维假性关键字中选取J维,将BFQ扩展为随机关键字并将其相关位置为1,将布隆过滤器BFQ扩展为(εBFQ,ε,t),其中ε,t为随机数且ε≠0;随后,将BFQ分割为两个向量BFQ',BFQ”:如果S[j]=0,则BFQ'[j]和BFQ”[j]保持不变,否则,设置BFQ'[j]+BFQ”[j]=BFQ[j],其中BFQ'[j]和BFQ”[j]为随机数;最后,陷门T为
Figure FDA0003178453430000052
6.如权利要求1所述的基于CP-ABE自动校正的高效密文检索方法,其特征在于,所述第六步的云服务器搜索匹配阶段具体包括:
(1)云服务器收到用户发送过的陷门T后,首先判断该用户是否为授权用户;
(2)云服务器根据收到的陷门T对R树进行矩阵查询和定位,搜索匹配到最小边界矩阵;
(3)已知密文模型下,布隆过滤器的内积计算过程,对于最小边界矩阵中的所有叶子节点中所包含的布隆过滤器,云服务器计算它们与陷门T对应的加密布隆过滤器的内积结果;计算完所有的内积结果并排序之后,CS返回前L个文件标识符列表给用户;
Figure FDA0003178453430000061
(4)已知背景模型下,布隆过滤器的内积计算过程更改如下:云服务器收到用户发送过的陷门T后,首先判断该用户是否为授权用户;然后根据收到的陷门T对R树进行矩阵查询和定位,搜索匹配到最小边界矩阵;对于最小边界矩阵中的所有叶子节点中所包含的布隆过滤器,云服务器计算它们与陷门T对应的布隆过滤器的内积结果;计算完所有的相似分数之后,CS返回前L个文件标识符列表给用户;
Figure FDA0003178453430000062
所述第七步的用户解密阶段具体包括:
(1)用户从云服务器下载密文文件和相应对称密钥的属性密文;
(2)访问策略解密,当用户需要搜索密文文件时,他通过代理服务器发送安全索引,代理服务器将匹配的文件标识符发送给用户;用户首先需要解密加密密钥Cm以获得对称密钥k,然后通过k解密文件;根据LSSS访问策略,如果用户属性集满足访问策略,恢复共享秘密r1;设PΛ表示满足访问结构的所有代理服务器的属性集,
Figure FDA0003178453430000071
表示代理服务器Pi的属性集,根据访问结构解密;
Figure FDA0003178453430000072
Figure FDA0003178453430000073
(3)秘密属性解密,如果用户是授权用户,则可从拥有者手中获得秘密属性TP,并根据TP进行解密;用户解密如下:
Figure FDA0003178453430000074
(4)用户计算对称密钥为:
Figure FDA0003178453430000075
(5)用户使用对称密钥k解密所获得的密文文件,得到明文数据。
7.一种基于权利要求1所述基于CP-ABE自动校正的高效密文检索方法的基于CP-ABE自动校正的高效密文检索系统,其特征在于,所述基于CP-ABE自动校正的高效密文检索系统包括:包括数据所有者DO、云服务器CS、授权数据用户DU、可信权威中心CA和代理服务器PS;
数据拥有者DO为可信实体和数据拥有者DO制定文件的访问策略,对数据进行关键字提取,并根据访问策略将个人数据和关键字加密上传到云服务器;
授权用户DU为可信实体,系统为每个授权数据用户均分发一组相应的属性;当用户属性满足相关的密文访问策略时,才能查询和解密云服务器上的加密数据;如果授权用户希望通过关键词集Q来搜索所需文档,需要先通过数据所有者共享的陷门密钥K生成搜索陷门,并把陷门发送到服务器;服务器作为半可信的实体,接收到请求后,开始与索引进行匹配并返回相应文档的地址集合给用户;
云服务器CS,包含索引服务器和密文存储服务器;在系统中被假定为是半可信的;云服务器收到代理服务器PS传来的陷门后,搜索匹配相应的密文文件,并把相应的文件地址返回到PS中;
可信权威中心CA,是为包括数据所有者DO、云服务器CS、授权数据用户DU管理和更新密钥的权威中心;在系统中被假设为是完全可信的,用于分发系统密钥、代理服务器属性和用户注册;
代理服务器PS,用于帮助DO将他们的安全索引和密文数据发送到CS,并帮助DU生成搜索陷门,并在云服务器中完成搜索;代理服务器还负责系统中用户属性的授权、撤销和重新授予。
8.一种云计算服务系统包括用于实现权利要求1~6任意一项所述基于CP-ABE自动校正的高效密文检索方法的模块。
CN201910224335.4A 2019-03-22 2019-03-22 基于cp-abe自动校正的高效密文检索方法、云计算服务系统 Active CN110138561B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910224335.4A CN110138561B (zh) 2019-03-22 2019-03-22 基于cp-abe自动校正的高效密文检索方法、云计算服务系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910224335.4A CN110138561B (zh) 2019-03-22 2019-03-22 基于cp-abe自动校正的高效密文检索方法、云计算服务系统

Publications (2)

Publication Number Publication Date
CN110138561A CN110138561A (zh) 2019-08-16
CN110138561B true CN110138561B (zh) 2021-09-17

Family

ID=67568566

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910224335.4A Active CN110138561B (zh) 2019-03-22 2019-03-22 基于cp-abe自动校正的高效密文检索方法、云计算服务系统

Country Status (1)

Country Link
CN (1) CN110138561B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159352B (zh) * 2019-12-31 2023-07-07 山东齐鲁知识产权交易中心有限公司 一种支持多关键词加权检索和结果排序且可验证的加解密方法
CN111431698B (zh) * 2020-04-23 2023-08-15 兰州交通大学 运用Haar变换和高斯分布的矢量空间数据加密方法
CN111901320B (zh) * 2020-07-16 2021-05-11 西南交通大学 基于属性撤销cp-abe的抗密钥伪造攻击加密方法及其系统
CN111859425B (zh) * 2020-07-21 2023-04-18 西南交通大学 一种基于属性的通配符可搜索加密方法
CN112291053B (zh) * 2020-11-06 2022-10-25 中国科学院重庆绿色智能技术研究院 一种基于格与基本访问树的cp-abe方法
CN112256839B (zh) * 2020-11-11 2023-07-07 深圳技术大学 一种密文搜索方法、装置、系统及计算机可读存储介质
CN112668042B (zh) * 2020-12-16 2022-12-02 西安电子科技大学 一种文件加密方法
CN112800088B (zh) * 2021-01-19 2023-09-19 东北大学 基于双向安全索引的数据库密文检索系统及方法
CN112883426B (zh) * 2021-03-30 2022-08-09 国网河南省电力公司经济技术研究院 基于神经网络编码和保内积加密的数据检索方法及系统
CN113904823B (zh) * 2021-09-28 2024-02-27 长沙学院 常数级授权计算复杂度的属性基可搜索加密方法及系统
CN114268482A (zh) * 2021-12-15 2022-04-01 北京工业大学 一种基于属性布隆过滤器的快速策略检索方法
CN115242518B (zh) * 2022-07-25 2024-03-22 深圳万海思数字医疗有限公司 混合云环境下医疗健康数据保护系统与方法
CN116894272B (zh) * 2023-09-08 2023-11-28 北京数盾信息科技有限公司 一种基于高速加密技术的云计算系统数据处理方法
CN117271711A (zh) * 2023-11-21 2023-12-22 湖南格尔智慧科技有限公司 一种基于相似度计算的医疗病例检索方法与系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418681A (zh) * 2018-01-22 2018-08-17 南京邮电大学 一种支持代理重加密的基于属性的密文检索系统及方法
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索系统
CN108881314A (zh) * 2018-08-28 2018-11-23 南京邮电大学 雾计算环境下基于cp-abe密文访问控制实现隐私保护的方法及系统
CN109379182A (zh) * 2018-09-04 2019-02-22 西安电子科技大学 支持数据去重的高效数据重加密方法及系统、云存储系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038349B (zh) * 2014-07-03 2017-05-03 西安电子科技大学 一种基于kp‑abe的有效可验证的公钥可搜索加密方法
EP3238368B1 (en) * 2014-12-23 2020-09-02 Nokia Technologies Oy Method and apparatus for duplicated data management in cloud computing
CN105245328B (zh) * 2015-09-09 2018-08-10 西安电子科技大学 一种基于第三方的用户及文件的密钥产生管理方法
CN105681280B (zh) * 2015-12-29 2019-02-22 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
CN106326360B (zh) * 2016-08-10 2019-04-09 武汉科技大学 一种云环境中密文数据的模糊多关键词检索方法
CN108712366B (zh) * 2018-03-27 2021-02-19 西安电子科技大学 云环境中支持词形词义模糊检索的可搜索加密方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418681A (zh) * 2018-01-22 2018-08-17 南京邮电大学 一种支持代理重加密的基于属性的密文检索系统及方法
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索系统
CN108881314A (zh) * 2018-08-28 2018-11-23 南京邮电大学 雾计算环境下基于cp-abe密文访问控制实现隐私保护的方法及系统
CN109379182A (zh) * 2018-09-04 2019-02-22 西安电子科技大学 支持数据去重的高效数据重加密方法及系统、云存储系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Protecting Your Right: Verifiable Attribute-Based Keyword Search with Fine-Grained Owner-Enforced Search Authorization in the Cloud;Wenhai Sun ect.;《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》;20160401;全文 *
可支持属性撤销的基于CP-ABE可搜索加密方案;陈燕俐,杨华山;《重庆邮电大学学报( 自然科学版)》;20160831;全文 *
支持关键字更新的基于属性可搜索加密方案;许盛伟,王荣荣,陈诚;《计算机应用与软件》;20180315;全文 *

Also Published As

Publication number Publication date
CN110138561A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110138561B (zh) 基于cp-abe自动校正的高效密文检索方法、云计算服务系统
CN110224986B (zh) 一种基于隐藏策略cp-abe的高效可搜索访问控制方法
Guan et al. Cross-lingual multi-keyword rank search with semantic extension over encrypted data
CN107491497B (zh) 支持任意语言查询的多用户多关键词排序可搜索加密系统
CN108039943B (zh) 一种可验证的加密搜索方法
CN107256248B (zh) 云存储安全中基于通配符的可搜索加密方法
CN102938767B (zh) 基于云数据外包系统的高效可验证的模糊关键词搜索方法
CN104021157B (zh) 云存储中基于双线性对的关键词可搜索加密方法
CN113169879A (zh) 用于在区块链上存储数据的计算机实现的系统和方法
CN107948146B (zh) 一种混合云中基于属性加密的连接关键词检索方法
CN106330865A (zh) 云环境下支持高效撤销的属性基关键字搜索方法
Li et al. Privacy-preserving data utilization in hybrid clouds
CN110866135B (zh) 一种基于响应长度隐藏的k-NN图像检索方法及系统
CN109088719B (zh) 外包数据库多关键词可验证密文搜索方法、数据处理系统
CN110908959A (zh) 一种支持多关键字和结果排序的动态可搜索加密方法
CN112532650A (zh) 一种基于区块链的多备份安全删除方法、系统
CN107612969B (zh) 基于B-Tree布隆过滤器的云存储数据完整性审计方法
CN114884650A (zh) 一种基于安全倒排索引的可搜索加密方法
CN111159352A (zh) 一种支持多关键词加权检索和结果排序且可验证的加解密方法
CN107294701B (zh) 具有高效密钥管理的多维密文区间查询装置及查询方法
Zhang et al. A verifiable and dynamic multi-keyword ranked search scheme over encrypted cloud data with accuracy improvement
CN109743327B (zh) 基于无证书的云存储中共享数据的完整性公开验证方法
CN110599376A (zh) 一种基于属性密码的选课系统
CN115694974A (zh) 一种基于协同可搜索的密文数据共享方法及系统
CN113158245A (zh) 一种文档搜索的方法、系统、设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant