CN111159352A - 一种支持多关键词加权检索和结果排序且可验证的加解密方法 - Google Patents
一种支持多关键词加权检索和结果排序且可验证的加解密方法 Download PDFInfo
- Publication number
- CN111159352A CN111159352A CN201911404748.7A CN201911404748A CN111159352A CN 111159352 A CN111159352 A CN 111159352A CN 201911404748 A CN201911404748 A CN 201911404748A CN 111159352 A CN111159352 A CN 111159352A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- user
- keyword
- retrieval
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000005516 engineering process Methods 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000010200 validation analysis Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 5
- 238000012946 outsourcing Methods 0.000 claims description 5
- 230000002441 reversible effect Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000012163 sequencing technique Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 2
- YBJHBAHKTGYVGT-ZKWXMUAHSA-N (+)-Biotin Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)O)SC[C@@H]21 YBJHBAHKTGYVGT-ZKWXMUAHSA-N 0.000 description 1
- 241000949477 Toona ciliata Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- FEPMHVLSLDOMQC-UHFFFAOYSA-N virginiamycin-S1 Natural products CC1OC(=O)C(C=2C=CC=CC=2)NC(=O)C2CC(=O)CCN2C(=O)C(CC=2C=CC=CC=2)N(C)C(=O)C2CCCN2C(=O)C(CC)NC(=O)C1NC(=O)C1=NC=CC=C1O FEPMHVLSLDOMQC-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种支持多关键词加权检索和结果排序且可验证的加解密方法。首先,本发明基于属性基加密思想加密外包文件,既预设了数据用户访问权限,又可让满足属性要求的数据用户能对检索到的文件直接进行解密。其次,本发明对k邻近技术(k‑NN)进行改进,减免了数据拥有者和数据用户之间需要提前分享分裂因子所造成的通讯负担,同时也提高了多关键词检索的精确度。第三,虽然都假设云服务器不完全可信,但现有的检索方案多数不考虑对云服务器返回的检索结果进行验证,在本发明中,数据用户可以验证检索结果文件中是否包含了所有查询的关键词,从而验证检索文件的正确性。
Description
技术领域
本发明属于云存储中加密文件的检索技术领域,具体涉及一种支持多关键词加权检索的结果排序且可验证的加解密方法。
背景技术
云存储作为云计算的一个基础分支,可以为数据拥有者(Data Owner,DO)提供存储文件的服务,同时还需支持存储在云上的文件可以被不定时的按需检索。随着云存储的快速发展,越来越多的DO选择将文件存储在云服务器(Cloud Server,CS)上,这样不仅可以减轻DO的本地存储负担,而且还可以充分利用云平台强大的检索能力。然而,现有的基于关键词的检索云上数据的技术在安全、功能和效率方面存在着大量挑战。
首先是存储文件的机密性和访问控制问题。一般来说,为了保护文件的隐私,外包数据或文件在被上传到CS之前,均会被DO加密。如果DO按自己选择的私钥进行对称加密,会导致数据即使被搜索到,用户依旧不能解密的问题。如果外包到云上的文件要达到定向的搜索和共享,必须保证检索文件的数据用户(Data user,DU)能够对文件进行解密。依据DU的属性进行的属性基加密(Attribute-Based Encryption,ABE)可以很好的解决这个问题。ABE既可以满足DU解密检索文件的需求,而且DO还可以通过加密前设置访问属性策略预设可访问和解密自己文件的DU,该方法进一步保护了云外包数据文件的安全性。
第二个是检索功能问题。根据检索所基于的关键词个数的不同,检索方案可分为单关键词检索和多关键词检索。单关键词检索中,DU只能发送包含着一个关键词的检索询问。若DU想得到同时包含多个关键词的文件,他必须对不同的关键词分别进行多次检索查询,这样一来,他必会收到来自CS的大量文件,然后还需要进行较大计算负担的文件筛选。多关键词检索允许在一个检索询问中包含多个关键词,只有同时包含所有询问关键词的文件才会被返回,与单关键词检索相比,多关键词检索能让用户的存储开销、计算开销和通信开销得到巨大解放。在实现多关键词检索的基础上,由于CS半可信的性质,让人不得不怀疑返回数据的正确性。因此对返回的文件进行正确性检验也非常必要的。
最后是检索效率问题。在实现数据分享基础上,还要考虑检索是否高效。检索时间会极大的影响DU的使用体验。基于属性的检索技术所用时间大多都与DU的属性个数线性相关。当系统中DU的属性个数较大时,检索时间也会大到不实用,从而导致DU无法接受且用户体验极差。本发明将k-NN技术引进基于属性的检索方法中,很好的实现了该问题。另外一个影响DU使用体验的是检索的精确性。相应的解决方式是,允许DU根据自己对检索的多个关键词的偏好设置权重,然后根据文件与询问的相关性对搜索结果进行排序,排在最前面的应该是与DU带权重的搜索关键词最相关的。这样用户无需筛选,可直接对返回检索结果依次进行解密。
文献Zheng Q,XuS,AtenieseG.VABKS:Verifiable Attribute-Based KeywordSearch over Outsourced Encrypted Data[C].Proceedings of IEEE Conference onComputer Communications,IEEE,Toronto ON,Canada,522-530,2014.首先提出了可验证的基于属性的关键字检索(Attribute-Based Keyword search,ABKS)方案。该方案不仅可以根据树访问策略控制访问文件的用户,而且还可以验证检索结果是否完整。但是,该方案中的访问策略是公开的,CS可能会由此猜测到DU的一些属性隐私信息。文献Payal C,LalD.Privacy Preserving Searchable Encryption with Fine-grained AccessControl[J].IEEE Transactions onCloud Computing,2019,pp(99):1-1.提出了一个可以实现隐私保护的ABKS方案,该方案可以适用于多对多的情形(即多个DU可以在多个DO的文件集中进行检索),同时还隐藏了访问控制,保护了DU的隐私,这使得该方案更加实用。然而缺点是,该方案只能实现单个关键词检索。文献YinH,ZhangJ,XiongY,etal.CP-ABSE:ACiphertext-Policy Attribute Based Searchable Encryption Scheme[J].IEEEAccess,2019,PP(99):1-1.通过构建一个新颖的树索引结构,设计了一种支持多关键词的检索方案。该方案通过比较索引树中各项元素的大小可以快速的找到满足要求的文件,减少了搜索时间。然而,由于未考虑检索文件的解密问题,DU得到检索结果之后,还需要通过CS联系文件对应的DO索要解密文件的密钥,这成了DU的额外负担,极大的降低了DU的体验感。申请号为CN106330865B的中国专利提出了一种基于属性的关键词检索服务。该方法可以实现DU属性的撤销,但是在进行数据检索时只能实现单关键词检索,且其陷门生成的计算量较大,会使计算能力弱的DU无法接受。申请号为CN107634829A的中国专利提出了一种基于属性的单关键词检索方法。该方法可以通过提前设置访问策略对发起检索的DU进行细粒度的控制,但在生成陷门时,DU会将自己的私钥作为陷门的一部分发送给CS,明显存在着隐私泄露的风险。申请号为CN108599937A的中国专利在检索文件时可以实现多关键字检索。但该方法并不考虑对检索文件的解密问题且只能处理单个DO对应单个DU的场景,这局限了该方法的应用。申请号为CN108388807A的中国专利在检索时也采用k-NN技术,在实现了多关键词检索的同时也解决了检索结果的排序问题。但在使用传统k-NN技术时,不得不面临的是大量密钥管理的问题,而密钥管理一直是密码界一个比较棘手的问题。
针对上述外包云上密态文件检索中存在的若干问题,本发明首先考虑如何实现云中密态数据的精确检索,通过多关键词的加权检索和搜索结果的相关性排序,使DU得到他真正需要的文件;其次,采用属性基加密技术加密外包文件,不仅允许DO提前预设哪些DU可以检索他的文件,而且DU在得到检索结果的同时还可以进行本地解密,从而保证检索数据的可用性;最后,由于CS半可信的性质,DU得到的文件有可能并不正确,需要DU自己对检索结果进行再次验证,从而确保文件的正确性。
发明内容
本发明的目的在于提供一种支持多关键词加权检索的结果排序且可验证的云数据共享方法。本发明所涉及的实体分别是可信权威机构TA、云服务器CS、数据拥有者DO和数据用户DU。
本发明的技术解决方案:
一种支持多关键词加权检索的结果排序且可验证的云数据共享方法,包括以下步骤:
(1)初始化:系统初始化,可信权威机构TA生成系统公开参数及主密钥,为注册用户生成注册用户私钥、为注册用户的文件生成访问策略及其签名SigTA(To);可信权威机构TA将包含有注册用户私钥、访问策略及其起签名的消息发送给注册用户;
(2)外包:数据拥有者使用属性加密机制对文件进行加密生成加密文件,使用k-NN技术生成加密索引,将加密文件、加密索引、访问策略及起签名和对关键词的签名同时发送给云服务器;
(3)检索:数据用户使用k-NN技术生成陷门并发送给云服务器,云服务器在接收到陷门之后,对云中存储的加密文件进行检索,并将检索结果返回给用户。
(4)验证和解密阶段:数据用户收到检索结果后,对检索结果进行验证。对通过验证的文件进行解密,得到需要的文件。
步骤(1)的具体过程为:
1.1)可信权威机构TA预定义系统关键词字典K={k1,k2,…,kd}和属性集Att={att1,att2,…,attn},并将两者公开;
1.2)执行系统初始化算法,输入安全参数λ,输出两个p(p为素数且p≥2λ)阶乘法循环群G,G1(g为G的生成元),一个双线性映射e:G×G→G1,和两个抗碰撞的哈希函数一个拉格朗日系数函数为其中i∈Zp,j∈S且S是Zp={0,1,...,p}的子集,即
1.4)可信权威机构TA生成一对用于对注册用户属性列表和访问列表签名的公私钥对(pkT,skT);(保证其的不可篡改性和完整性。)
1.5)可信权威机构TA根据主密钥和用户的属性列表,为注册用户生成私钥:
1.5.1)注册用户(DO或DU)发送由自己的属性值组成的属性列表和一个预设的由具有访问权限的用户的属性值组成的访问列表到可信权威机构TA(liji,wiji∈Zp,1≤i≤n,jt∈[1,nt])进行注册;
1.5.2)可信权威机构TA随机选择一个(n-1)次的秘密多项式h(x),h(x)随注册云用户的变化而变化,但所有多项式的常数项均为y,即h(0)≡y;
1.5.5)可信权威机构TA通过一个安全信道(密码学中经常用安全信道)将消息MSG1={sk,M1,M2,m,To,SigTA(To)}发送给注册用户。
进一步的,所述步骤(2)的具体过程为:
2.1)数据拥有者DO获得私钥,生成文件索引:数据拥有者DO根据文件f生成d维关键词索引u=(u1,u2,…,ud),其中ui(1≤i≤d)表示关键词ki与f之间的相关分数Score(kj,f)=TFj×IDFj,1≤j≤d,其中(其中检索词频率TF示在文件中关键词的频率,逆文档频率IDF表示关键词在整个文件集中的重要性,具体来说,nj表示关键词kj在文件f中出现的频率;|f|表示{nj}中的最大值;N表示整个集合中的文件个数;Nj表示包含关键词kj的文件个数);
2.2)数据拥有者DO加密文件索引:
2.4)数据拥有者DO对文件关键词进行签名:数据拥有者DO随机选择一个元素为每一个文件f包含的关键词ki(1≤i≤m)计算签名生成签名集Sig={sig1,sig2,…,sigm,C},其中C=gc;
2.5)数据拥有者DO将MSG2={Cf,Cv,Sig,To,SigTA(To)}发送给云服务器CS,其中To是数据拥有者DO对文件预设的访问策略。
进一步的,所述步骤(3)的具体过程为:
3.2)数据用户DU加密检索询问:
3.3)数据用户DU将询问信息MSG3={Cb,Du,SigTA(Du)}提交给云服务器CS;
3.4)云服务器CS根据收到的询问信息对云中存储的加密索引进行检索:
3.4.1)云服务器CS检查签名SigTA(Du)和SigTA(To)的有效性,然后通过判断To与Du是否相等来判定用户是否符合文件预设的访问策略:
若相等,则符合,则执行3.4.2);反之,则不符合,则执行3.4.1);
3.4.2)云服务器CS通过Score(f,K′)=Cv·Cb可得到询问的多关键词集合K'与文件f的相关分数;
若Q>0,则表明fi比fj更接近检索询问a;
若Q≤0,则表明fj比fi更接近或同样接近a;
从未参与比较的文件中选取文件fk与更接近检索询问a的文件按照fi和fj的比较方式进行比较,判断fk与a的接近程度;
由此,云服务器CS得到与检索的多个带权重的关键词相关性最高的k个密文,然后将检索结果和相应的签名集返回给DU。
进一步的,所述步骤(4)的具体过程为:
如果成立,则加密文件Cf为包含所有询问关键词的加密文件,执行步骤4.3);若反之,则加密文件Cf未包含所有询问关键词,验证下一个加密文件;
4.3)数据用户DU解密检索结果:
4.3.2)数据用户DU计算相应原始文件f=E/Ys,其中Ys=e(g,g)ys,e(g,g)ys由等式(3)中的拉格朗日插值法计算得到。
本发明还公开了一种支持多关键词加权检索和结果排序且可验证的加解密方法,包括数据拥有者、数据用户、可信权威机构以及云服务器四个实体,其中,数据拥有者发送加密文件集和加密索引给云服务器;新的用户在可信权威机构进行注册获得属性私钥,可以向服务器发送陷门以发起检索请求;云服务器为数据用户提供关键字检索服务。
有益效果:与现有技术相比,本发明具有以下的优点:
1、本发明考虑了在实际场景中,用户从云服务器上得到的检索结果是密文状态,需要对其进行解密之后才能使用。本发明利用属性基加密技术加密文件,使得不同用户可以对检索结果进行解密。同时,利用用户属性,数据拥有者可以提前设置访问策略来控制访问自己文件的用户。
2、本发明考虑了在文件检索过程中,检索的精确性问题。在实际应用中,单关键词搜索有时无法满足用户的检索需求,本发明在满足了多关键词检索的基础上,还实现了加权检索,提高了检索的精确性。
3、本发明考虑了在实际应用中,存在多个数据拥有者对应多个数据用户的场景。传统的k邻近技术(k-NN)中,存在分裂因子S。当用户检索不同数据拥有者的文件时,需要使用不同的S生成陷门。当系统中存在大量数据拥有者时,数据用户就需要存储大量的S,这会造成密钥管理问题,对于管理能力弱的数据用户来说是无法承担的。本发明解决了S的密钥管理问题,构造了能够支持多数据拥有者对应多数据用户的多关键字检索方法。
4、本发明考虑了检索文件的正确性问题。云服务器是半可信的,也就是说他可能会为了节省计算资源而不诚实地进行检索操作。这会造成返回的检索文件没有包含所有检索关键词。数据用户对检索结果进行验证,可以将不正确的文件筛除掉,之后再对通过验证的文件进行解密,减少了用户的计算开销。
综上所述,本发明基于属性的加解密方法在实现了多关键词检索和加权检索的同时,还保证了结果的正确性。
附图说明
图1为本发明的系统组成和各方功能示意图;
图2为本发明具体阶段及其算法流程图;
图3为本发明中步骤(2)的具体流程图;
图4为本发明中步骤(3)中陷门生成的具体流程图;
图5为本发明中步骤(3)中检索的具体流程图;
图6为本发明方法与现有技术在系统建立阶段的时间花费比较图;
图7为本发明方法与现有技术在加密文件索引阶段的时间花费比较图;
图8为本发明方法与现有技术在检索阶段的时间花费比较图;
图9为本发明方法与现有技术在陷门生成阶段的时间花费比较图;
图10为本发明方法在对文件关键词进行签名时的时间花费;
图11为本发明方法在验证检索文件时的时间花费。
具体实施方式
本发明的目的在于提供一种支持多关键词加权检索和结果排序且可验证的加解密方法,由可信权威机构TA、云服务器CS、数据拥有者DO和数据用户DU四个实体参与,以下结合附图1对本发明方案进行进一步详细说明。
实施例1:
支持多关键词加权检索和结果排序且可验证的加解密方法,如图2所示,具体包括以下步骤:
1)系统建立
1.1)生成关键词字典和属性集
首先,可信权威机构TA预定义系统关键词字典K={k1,k2,k3,k4,k5,k6}和属性集Att={att1,att2,att3,att4,att5,att6},其中k1表示云存储技术,k2表示去重技术,k3表示检索技术,k4表示审计技术,k5表示区块链技术,k6表示机器学习技术。att1表示用户所属国家,att2表示用户所属省份,att3表示用户所属城市,att4表示用户性别,att5表示用户是否婚配,att6表示用户毕业学校;d=6为关键词的总个数,n=6表用户属性的总个数,同时将系统关键词字典K和属性集Att公开;
1.2)生成所需辅助函数
可信权威机构TA输入一个安全参数λ,随机输出两个阶为素数p(p≥2λ)的乘法群G,G1,一个双线性对e:G×G→G1;两个安全的单向抗碰撞的哈希函数如MD5算法或者SHA1算法等;一对属于TA的用于对注册用户属性列表和访问列表签名的公私钥对(pkT,skT),还有一个是拉格朗日系数函数,其中p是根据安全参数λ决定的随机大素数,签名算法建议采用DSA签名算法或BLS签名算法,i∈Zp,j∈S且S是一个集合,
1.3)生成系统公开参数和主密钥
1.4)生成注册用户密钥:
其次,可信权威机构TA随机选择一个5次的秘密多项式h(x),h(x)随注册云用户的变化而变化,但所有多项式的常数项均为y,即h(0)≡y;
然后,根据用户的属性列表和主密钥,可信权威机构TA生成注册用户私钥:SigTA(Du)},Du是注册用户的加密属性值;根据预设的访问列表W,可信权威机构TA为该注册用户的文件生成访问策略:并生成其签名SigTA(To);
最后,可信权威机构TA通过一个安全信道(密码学中经常用安全信道)将消息MSG1={sk,M1,M2,m,To,SigTA(To)}发送给注册用户。
例如,某注册用户的属性列表为L={中国,陕西,西安,男,未婚,陕西师范大学},该注册用户设置自己文件允许被属性为W={中国,山东,威海,男,未婚,山东大学}(访问列表)的用户搜索且解密;可信权威机构TA随机选择一个5次的秘密多项式h(x)=a5x5+a4x4+…+a1x+y,即h(0)≡y;然后,可信权威机构TA计算该注册用户的私钥SigTA(Du)},再通过一个安全信道将消息MSG1={sk,M1,M2,m,To,SigTA(To)}发送给该注册用户;
2)外包加密文件,及其加密索引和签名
2.1)生成文件索
数据拥有者DOt对要上传文件f生成文件索引,并利用k-NN技术加密生成加密索引Cv;
2.2)加密文件
数据拥有者DOt对需要上传的文件f利用属性加密技术进行加密;
2.3)生成文件关键词签名
数据拥有者DOt对需要上传的文件f的多个关键词进行签名,并发送消息MSG2={Cf,Cv,Sig,To,SigTA(To)}到云服务器CS;
3)检索询问
每个数据用户DUr随时都可以对存储在云服务器CS中的文件发起搜索询问,以检索到自己需要的文件;
3.1)生成加权检索询问
数据用户DUr根据系统关键词字典K和询问关键词对自己的重要性生成加权检索询问a;
3.2)生成陷门
数据用户DUr利用k-NN技术加密加权检索询问a生成陷门Cb,并发送消息MSG3={Cb,Du,SigTA(Du)}到云服务器CS;
3.3)检索云中文件
云服务器CS收到检索信息后,先检查签名SigTA(Du)的有效性,然后判断该数据用户DUr是否符合文件预设的访问策略:然后,在该数据用户DUr可以访问的文件集合中使用k-NN技术进行检索;最后,云服务器CS将与检索询问相关性最高的k个密文及其相应的签名集返回给数据用户DUr。
4)验证与解密
数据用户DUr收到检索结果,计算验证集合,对结果进行验证。如果密文通过验证,则对该密文进行解密;否则对下一个文件进行验证。
实施例2:
如图3所示,在实施例1的基础上,当数据拥有者DO需要存储文件时,上传加密文件、加密文件索引和文件关键词签名集。以上传文件f的数据拥有者DO1为例,具体步骤如下:
2.1)生成文件索引
数据拥有者DO1根据文件f生成d(d=6)维关键词索引u=(u1,u2,…,u6),其中ui(1≤i≤6)表示关键词ki与f之间的相关分数Score(kj,f)=TFj×IDFj,1≤j≤6,其中 (其中检索词频率TF示在文件中关键词的频率,逆文档频率IDF表示关键词在整个文件集中的重要性,具体来说,nj表示关键词kj在文件f中出现的频率;|f|表示{nj}中的最大值;N表示整个集合中的文件个数;Nj表示包含关键词kj的文件个数);
2.2)加密文件索引
2.3)加密文件
2.4)生成文件关键词签名
例如,文件f包含k5(区块链技术)和k6(机器学习技术)两个关键词,相对应的,文件索引为:u=(0,0,0,0,0.2,0.8)。数据拥有者DO随机选择的一个元素然后计算:和数据拥有者DO生成签名集Sig={sig5,sig6,C},其中C=gc。
2.5)数据拥有者DO1将消息MSG2={Cf,Cv,Sig,To,SigTA(To)}发送给云服务器CS,其中To是数据拥有者DO1对文件f预设的访问策略。
实施例3:
在实施例1的基础上,当数据用户DU需要检索文件时,他需要根据图4的步骤生成陷门并发送给云服务器CS;云服务器CS再根据图5的步骤,通过陷门对云中文件进行检索,最终将检索文件返回给数据用户DU。以数据用户DU1为例,具体步骤如下:
3.1)生成检索询问
例如,DU1需要检索包含关键词包含k3(检索技术)和k6(机器学习技术)两个关键词的文件,两个关键词对应的加权值分别为0.4和0.6,其中权重值越大,关键词越重要,则数据用户DU1的加权检索询问为:a=(0,0,0.4,0,0,0.6)。
3.2)加密检索询问
3.3)数据用户DU1将询问信息MSG3={Cb,Du,SigTA(Du)}提交给云服务器CS;
3.4)云服务器CS进行检索:
3.4.1)云服务器CS根据收到的询问信息对云中存储的加密索引进行检索。首先,云服务器CS检查签名SigTA(Du)和SigTA(To)的有效性,然后通过判断To与Du是否相等(即To=Du是否成立)来判定数据用户DU1是否符合文件预设的访问策略:
若相等,则符合,则执行3.4.2);反之,则不符合,则执行3.4.1);
3.4.2)云服务器CS通过Score(f,K′)=Cv·Cb可以得到询问的多关键词集合K'与文件f的相关分数;
若Q>0,则表明fi比fj更接近检索询问a;
若Q≤0,则表明fj比fi更接近或同样接近a;
从未参与比较的文件中选取文件fk与更接近检索询问a的文件按照fi和fj的比较方式进行比较,判断fk与a的接近程度;
由此,云服务器CS得到与检索的多个带权重的关键词相关性最高的k个密文,然后将检索结果和相应的签名集返回给DU1;
例如,令和分别表示文件f1和f2的加密索引,Cb=(cb1,cb2)表示检索询问a的陷门;当云服务器CS需要比较f1,f2与a的相关程度时,需要计算。如果上式大于零则表明f1比f2更接近a。否则,则意味着f2比f1更接近或同样接近a(其数学原理可被证明)。由此,云服务器CS得到与检索的多个带权重的关键词相关性最高的k个密文,然后将检索结果和相应的签名集返回给数据用户DU1。
实施例4:
在检索云中加密数据时,云服务器CS并不是完全可信的。他会按照协议完成存储和检索要求,但同时云服务器CS会在检索的过程中为了节约计算资源或保持自己的名誉而给数据用户DU返回不正确的检索结果。解密不正确的文件会浪费数据用户DU的计算资源,同时会加大云服务器CS与数据用户DU之间的通讯量。因此,数据用户DU需要对返回的密文首先进行验证,对通过验证的正确文件再进行下一步解密操作。
在实施例1和例3的基础上,数据用户DU对收到的检索结果首先进行关键词验证,对通过验证的文件再进行解密。下以数据用户DU5为例给出具体步骤。
4.1)生成验证集合
4.2)验证检索结果
如果成立,则加密文件Cf为包含所有询问关键词的加密文件,执行步骤4.3);若反之,则加密文件Cf未包含所有询问关键词,验证下一个加密文件;
4.3)解密正确文件
数据用户DU5通过计算f=E/Ys得到相应的原始文件,其中Ys=e(g,g)ys,e(g,g)ys由等式(3)中的拉格朗日插值法计算得到。
基于PBC库和Cryptopp密码库平台,经过实际地模拟本发明方法的主要核心步骤,从实验模拟和分析可以看出本发明方法相比现有技术性能更优良,实现了低通信开销、低计算开销、低存储开销。具体对比结果如图6-11所示。
其中图6为本发明方法与现有技术在系统建立阶段的时间花费比较,可看出本发明方法在存储阶段所需的时间是最少的;图7为本发明方法与现有技术在加密文件索引阶段的时间花费比较,图8为本发明方法与现有技术在检索阶段的时间花费比较,从两图可看出随着云用户的属性个数是增加,本发明方法花费的时间是不变的,因为本发明方法中是通过矩阵乘法实现加密文件索引和检索云中加密文件的;图9为本发明方法与现有技术在陷门生成阶段的时间花费比较,可看出本发明方法与CPABE和VABMS相比花费时间较多,但CPABE技术不支持多关键词检索,VABMS技术不支持隐藏数据用户DU的属性值,因此需综合考量;图10为本发明方法在对文件关键词签名时花费的时间,图11为本发明方法验证检索文件时花费的时间,综合图6-9可以得出结论:本发明方法比其他方案实现更多功能,且时间花费具有一定的优势。
Claims (8)
1.一种支持多关键词加权检索的结果排序且可验证的云数据共享方法,包括以下步骤:
(1)初始化:系统初始化,可信权威机构TA生成系统公开参数及主密钥,为注册用户生成注册用户私钥、为注册用户的文件生成访问策略及其签名SigTA(To);可信权威机构TA将包含有注册用户私钥、访问策略及其签名的消息发送给注册用户;
(2)外包:数据拥有者使用属性加密机制对文件进行加密生成加密文件,使用k-NN技术生成加密索引,将加密文件、加密索引、访问策略及其签名和对关键词的签名同时发送给云服务器;
(3)检索:数据用户使用k-NN技术生成陷门并发送给云服务器,云服务器在接收到陷门之后,对云中存储的加密文件进行检索,并将检索结果返回给用户;
(4)验证和解密阶段:数据用户收到检索结果后,对检索结果进行验证;对通过验证的文件进行解密,得到需要的文件。
2.根据权利要求1所述的支持多关键词加权检索的结果排序且可验证的云数据共享方法,其特征在于:步骤(1)的具体过程为:
1.1)可信权威机构TA预定义系统关键词字典K={k1,k2,…,kd}和属性集Att={att1,att2,…,attn},并将两者公开;
1.2)执行系统初始化算法,输入安全参数λ,输出两个p(p为素数且p≥2λ)阶乘法循环群G,G1(g为G的生成元),一个双线性映射e:G×G→G1,和两个抗碰撞的哈希函数一个拉格朗日系数函数为其中i∈Zp,j∈S且S是Zp={0,1,...,p}的子集,即
1.4)可信权威机构TA生成一对用于对注册用户属性列表和访问列表签名的公私钥对(pkT,skT);
1.5)可信权威机构TA根据主密钥和用户的属性列表,为注册用户生成私钥。
3.根据权利要求2所述的支持多关键词加权检索的结果排序且可验证的云数据共享方法,其特征在于:步骤1.5)具体为:
1.5.2)可信权威机构TA随机选择一个(n-1)次的秘密多项式h(x),h(x)随注册云用户的变化而变化,但所有多项式的常数项均为y,即h(0)≡y;
1.5.5)可信权威机构TA通过一个安全信道将消息MSG1={sk,M1,M2,m,To,SigTA(To)}发送给注册用户。
4.根据权利要求1所述的支持多关键词加权检索的结果排序且可验证的云数据共享方法,其特征在于:所述步骤(2)的具体过程为:
2.1)数据拥有者DO获得私钥,生成文件索引:数据拥有者DO根据文件f生成d维关键词索引u=(u1,u2,…,ud),其中ui(1≤i≤d)表示关键词ki与f之间的相关分数Score(kj,f)=TFj×IDFj,1≤j≤d,其中其中检索词频率TF表示在文件中关键词的频率,逆文档频率IDF表示关键词在整个文件集中的重要性,具体来说,nj表示关键词kj在文件f中出现的频率;|f|表示{nj}中的最大值;N表示整个集合中的文件个数;Nj表示包含关键词kj的文件个数;
2.2)数据拥有者DO加密文件索引:
2.4)数据拥有者DO对文件关键词进行签名:数据拥有者DO随机选择一个元素为每一个文件f包含的关键词ki(1≤i≤m)计算签名生成签名集Sig={sig1,sig2,…,sigm,C},其中C=gc;
2.5)数据拥有者DO将MSG2={Cf,Cv,Sig,To,SigTA(To)}发送给云服务器CS,其中To是数据拥有者DO对文件预设的访问策略。
6.根据权利要求1所述的支持多关键词加权检索的结果排序且可验证的云数据共享方法,其特征在于:所述步骤(3)的具体过程为:
3.2)数据用户DU加密检索询问;
3.3)数据用户DU将询问信息MSG3={Cb,Du,SigTA(Du)}提交给云服务器CS;
3.4)云服务器CS根据收到的询问信息对云中存储的加密索引进行检索:
3.4.1)云服务器CS检查签名SigTA(Du)和SigTA(To)的有效性,然后通过判断To与Du是否相等来判定用户是否符合文件预设的访问策略:
若相等,则符合,则执行3.4.2);反之,则不符合,则执行3.4.1);
3.4.2)云服务器CS通过Score(f,K′)=Cv·Cb可得到询问的多关键词集合K'与文件f的相关分数;
若Q>0,则表明fi比fj更接近检索询问a;
若Q≤0,则表明fj比fi更接近或同样接近a;
从未参与比较的文件中选取文件fk与更接近检索询问a的文件按照fi和fj的比较方式进行比较,判断fk与a的接近程度;
由此,云服务器CS得到与检索的多个带权重的关键词相关性最高的k个密文,然后将检索结果和相应的签名集返回给DU。
8.根据权利要求1所述的支持多关键词加权检索的结果排序且可验证的云数据共享方法,其特征在于:所述步骤(4)的具体过程为:
如果成立,则加密文件Cf为包含所有询问关键词的加密文件,执行步骤4.3);反之,则加密文件Cf未包含所有询问关键词,验证下一个加密文件;
4.3)数据用户DU解密检索结果:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911404748.7A CN111159352B (zh) | 2019-12-31 | 2019-12-31 | 一种支持多关键词加权检索和结果排序且可验证的加解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911404748.7A CN111159352B (zh) | 2019-12-31 | 2019-12-31 | 一种支持多关键词加权检索和结果排序且可验证的加解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159352A true CN111159352A (zh) | 2020-05-15 |
CN111159352B CN111159352B (zh) | 2023-07-07 |
Family
ID=70559628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911404748.7A Active CN111159352B (zh) | 2019-12-31 | 2019-12-31 | 一种支持多关键词加权检索和结果排序且可验证的加解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159352B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913981A (zh) * | 2020-06-09 | 2020-11-10 | 华南理工大学 | 在线离线的基于属性的布尔关键字可搜索加密方法及系统 |
CN112733193A (zh) * | 2021-01-22 | 2021-04-30 | 福州大学 | 基于时间控制可审计匿名的谓词检索系统及方法 |
CN117235121A (zh) * | 2023-11-15 | 2023-12-15 | 华北电力大学 | 一种能源大数据查询方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632032A (zh) * | 2018-02-22 | 2018-10-09 | 福州大学 | 无密钥托管的安全多关键词排序检索系统 |
CN109450935A (zh) * | 2018-12-19 | 2019-03-08 | 河南科技大学 | 云存储中可验证的语义安全的多关键词搜索方法 |
WO2019153813A1 (zh) * | 2018-02-07 | 2019-08-15 | 华南理工大学 | 一种针对密文域的形近汉字全文模糊检索方法 |
CN110138561A (zh) * | 2019-03-22 | 2019-08-16 | 西安电子科技大学 | 基于cp-abe自动校正的高效密文检索方法、云计算服务系统 |
CN110224986A (zh) * | 2019-05-07 | 2019-09-10 | 电子科技大学 | 一种基于隐藏策略cp-abe的高效可搜索访问控制方法 |
-
2019
- 2019-12-31 CN CN201911404748.7A patent/CN111159352B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019153813A1 (zh) * | 2018-02-07 | 2019-08-15 | 华南理工大学 | 一种针对密文域的形近汉字全文模糊检索方法 |
CN108632032A (zh) * | 2018-02-22 | 2018-10-09 | 福州大学 | 无密钥托管的安全多关键词排序检索系统 |
CN109450935A (zh) * | 2018-12-19 | 2019-03-08 | 河南科技大学 | 云存储中可验证的语义安全的多关键词搜索方法 |
CN110138561A (zh) * | 2019-03-22 | 2019-08-16 | 西安电子科技大学 | 基于cp-abe自动校正的高效密文检索方法、云计算服务系统 |
CN110224986A (zh) * | 2019-05-07 | 2019-09-10 | 电子科技大学 | 一种基于隐藏策略cp-abe的高效可搜索访问控制方法 |
Non-Patent Citations (2)
Title |
---|
白平等: "支持用户撤销的可验证密文检索方案", 《计算机应用》 * |
黄永峰等: "云存储应用中的加密存储及其检索技术", 《中兴通讯技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913981A (zh) * | 2020-06-09 | 2020-11-10 | 华南理工大学 | 在线离线的基于属性的布尔关键字可搜索加密方法及系统 |
CN111913981B (zh) * | 2020-06-09 | 2022-04-22 | 华南理工大学 | 在线离线的基于属性的布尔关键字可搜索加密方法及系统 |
CN112733193A (zh) * | 2021-01-22 | 2021-04-30 | 福州大学 | 基于时间控制可审计匿名的谓词检索系统及方法 |
CN112733193B (zh) * | 2021-01-22 | 2023-04-07 | 福州大学 | 基于时间控制可审计匿名的谓词检索系统及方法 |
CN117235121A (zh) * | 2023-11-15 | 2023-12-15 | 华北电力大学 | 一种能源大数据查询方法和系统 |
CN117235121B (zh) * | 2023-11-15 | 2024-02-20 | 华北电力大学 | 一种能源大数据查询方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111159352B (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108632032B (zh) | 无密钥托管的安全多关键词排序检索系统 | |
CN107491497B (zh) | 支持任意语言查询的多用户多关键词排序可搜索加密系统 | |
Jarecki et al. | Outsourced symmetric private information retrieval | |
Chen et al. | An efficient privacy-preserving ranked keyword search method | |
US10282448B2 (en) | System and method for searching a symmetrically encrypted database for conjunctive keywords | |
CN110392038B (zh) | 一种多用户场景下可验证的多密钥可搜索加密方法 | |
CN111159352B (zh) | 一种支持多关键词加权检索和结果排序且可验证的加解密方法 | |
CN112989375B (zh) | 一种分级优化加密无损隐私保护方法 | |
Miao et al. | VMKDO: Verifiable multi-keyword search over encrypted cloud data for dynamic data-owner | |
Liang et al. | VPAMS: Verifiable and practical attribute-based multi-keyword search over encrypted cloud data | |
CN115314295B (zh) | 一种基于区块链的可搜索加密技术方法 | |
CN114048448A (zh) | 基于区块链的动态可搜索加密方法及装置 | |
CN110908959A (zh) | 一种支持多关键字和结果排序的动态可搜索加密方法 | |
CN109889332A (zh) | 基于证书的等式测试加密方法 | |
CN110489998B (zh) | 一种可搜索加密方法、装置、设备及可读存储介质 | |
Zhang et al. | Secdedup: Secure encrypted data deduplication with dynamic ownership updating | |
CN113051598B (zh) | 文件访问控制方法、文件加密方法及计算设备 | |
Sun et al. | Public data integrity auditing without homomorphic authenticators from indistinguishability obfuscation | |
Liu et al. | Verifiable and authenticated searchable encryption scheme with aggregate key in cloud storage | |
CN108920968B (zh) | 一种基于连接关键词的文件可搜索加密方法 | |
CN115168909B (zh) | 一种基于比较索引的密文数据范围查询方法和系统 | |
Shen et al. | Multi-Keywords Searchable Attribute-Based Encryption With Verification and Attribute Revocation Over Cloud Data | |
Srimathi et al. | Improved Cloud Storage Encryption Using Block Cipher-Based DNA Anti-Codify Model. | |
JP5799635B2 (ja) | 暗号データ検索システム、装置、方法及びプログラム | |
CN115048432A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230607 Address after: Room 3301, Building 6, Shuntai Plaza, No. 2000 Shunhua Road, High tech Zone, Jinan City, Shandong Province, 250000 Applicant after: Shandong Qilu Intellectual Property Trading Center Co.,Ltd. Address before: No.199, Chang'an South Road, changyanbao office, Yanta District, Xi'an City, Shaanxi Province, 710064 Applicant before: Shaanxi Normal University |
|
GR01 | Patent grant | ||
GR01 | Patent grant |