CN115048432B - 基于布隆过滤器的模糊关键词公共审计方法 - Google Patents

基于布隆过滤器的模糊关键词公共审计方法 Download PDF

Info

Publication number
CN115048432B
CN115048432B CN202210924635.5A CN202210924635A CN115048432B CN 115048432 B CN115048432 B CN 115048432B CN 202210924635 A CN202210924635 A CN 202210924635A CN 115048432 B CN115048432 B CN 115048432B
Authority
CN
China
Prior art keywords
index
keyword
fuzzy
audit
bloom filter
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
CN202210924635.5A
Other languages
English (en)
Other versions
CN115048432A (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.)
Southwest Petroleum University
Original Assignee
Southwest Petroleum 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 Southwest Petroleum University filed Critical Southwest Petroleum University
Priority to CN202210924635.5A priority Critical patent/CN115048432B/zh
Publication of CN115048432A publication Critical patent/CN115048432A/zh
Application granted granted Critical
Publication of CN115048432B publication Critical patent/CN115048432B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • 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/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于布隆过滤器的模糊关键词公共审计方法,包括:生成公开参数、对称密钥和签名密钥对;数据拥有者对原始文件进行关键词提取,生成对应的安全索引表;数据拥有者生成加密数据块,计算其认证标签;审计发起者生成初始检索陷门;第三方审计者初始化布隆过滤器,并在每次接收到初始检索陷门时更新布隆过滤波器;第三方审计者生成模糊检索陷门,然后将模糊检索陷门发送给云服务器;第三方审计者生成挑战信息,然后将挑战信息发送给云服务器;云服务器根据挑战信息生成审计证明,并将其返回给第三方审计者;第三方审计者验证审计证明的有效性。本发明既能保证审计结果的正确性和挑战数据的完整性,又能降低审计成本。

Description

基于布隆过滤器的模糊关键词公共审计方法
技术领域
本发明涉及云存储背景下数据完整性审计领域,特别是涉及一种基于布隆过滤器的模糊关键词公共审计方法。
背景技术
云审计是利用互联网的云计算概念,在云存储背景下提出的新型审计技术,用于为用户外包数据提供完整性保障。在云审计概念提出后,根据是否引入第三方负责审计业务被分为私有审计与公共审计。私有审计方法由数据拥有者提供审计业务,要求数据拥有者为完整性验证下载所有数据,故私有审计能保证数据完整性,但审计过程会产生昂贵的I/O开销与网络传输成本。为了充分保证数据完整性,节约数据拥有者计算资源与通信开销,公共审计的概念被提出来。公共审计方法中引入第三方审计者(Third Party Auditor,TPA)承担所有审计业务;TPA具有数据拥有者不具备的专业知识与能力,能够为用户定期检查外包数据完整性,提供更简单、更实惠的完整性保障。
Wang等人在论文[1](Wang C,Chow SSM,Wang Q,et al.Privacy-preservingpublic auditing for secure cloud storage[J].IEEE transactions on computers,2011,62(2):362-37)中提出一个公共审计方案,即TPA在得到数据拥有者授权之后,周期性生成随机挑战信息对云服务器中的外包数据进行概率性审计。该审计方案的优点在于挑战信息是随机生成的,被审计的数据文件分布是均匀的,恶意的云服务器没办法通过统计分析来删除审计频率低的数据文件而不被发现。然而,TPA采取“pay-as-you-go”收费模式,即根据审计开销收费,审计的文件越多、审计次数越频繁就意味着用户需要支付更多费用。周期性进行审计挑战意味着更高的审计开销,文件分布过于随机也可能导致重要文件被审计的频次过低,数据被误删或者被损坏时不能及时被TPA发现而给数据拥有者造成损失。
发明内容
本发明的目的在于克服现有技术的一项或多项不足,提供一种基于布隆过滤器的模糊关键词公共审计方法。
本发明的目的是通过以下技术方案来实现的:基于布隆过滤器的模糊关键词公共审计方法,应用于审计系统,所述审计系统包括云服务器、可信中心、第三方审计者和数据拥有者,所述可信中心分别与数据拥有者、第三方审计者和云服务器通信连接,所述数据拥有者分别与第三方审计者和云服务器通信连接,所述第三方审计者和云服务器通信连接。所述模糊关键词公共审计方法包括:
S100.可信中心生成所述审计系统的公开参数、以及为所述数据拥有者选择对称密钥和签名密钥对,所述公开参数包括用于处理文件ID的第一哈希函数、用于布隆过滤器选择的第二哈希函数、伪随机数序列、伪随机函数、双线性对映射、乘法循环群和用于定义乘法循环群的生成元;
S200.数据拥有者对原始文件进行关键词提取得到原始关键词,建立原始关键词的初始索引向量和原始关键词的索引地址,定义第一初始索引向量为原始关键词的初始索引向量、第一索引地址为原始关键词的索引地址,所述第一初始索引向量用于表示原始关键词与原始文件的对应关系;数据拥有者使用伪序列生成函数加密第一初始索引向量得到第一模糊索引向量,将第一初始索引向量和第一模糊索引向量进行异或计算得到第一安全索引向量,并用索引生成算法根据第一索引地址和第一安全索引向量生成安全索引表,然后将所述安全索引表发送给云服务器,以及将第一索引地址和第一模糊索引向量发送给第三方审计者;
S300.数据拥有者对原始文件进行冗余处理,对冗余处理后得到的数据文件分组,并对各组文件进行对称加密得到多个加密数据块,然后计算各加密数据块的认证标签,并将所述认证标签及对应的加密数据块上传云服务器;
S400.审计发起者设置检索关键词,并计算检索关键词的索引地址和检索关键词的模糊索引向量,定义检索关键词的索引地址为第二索引地址、检索关键词的模糊索引向量为第二模糊索引向量,然后根据第二索引地址和第二模糊索引向量生成初始检索陷门,并将所述初始检索陷门上传给第三方审计者;
S500.第三方审计者初始化布隆过滤器,生成用于存放第三方审计者接收到的所有第一索引地址的第一关键词索引地址列表,并在每次接收到初始检索陷门时更新所述布隆过滤波器;更新布隆过滤器时,将初始检索陷门中的第二索引地址添加到布隆过滤器中作为筛选条件;
S600.第三方审计者将第一关键词索引地址列表作为布隆过滤器的输入进行筛选匹配得到第二关键词索引地址列表,并根据第二关键词索引地址列表得到模糊检索陷门,然后将模糊检索陷门发送给云服务器;
S700.第三方审计者通过运行伪随机函数选择随机挑战块序号集合和随机挑战数集合,并将模糊检索陷门、挑战块序号集合和随机挑战数集合组成挑战信息,然后将挑战信息发送给云服务器;
S800.云服务器根据挑战信息中的模糊检索陷门检索出目标文件序号,然后根据所述目标文件序号取出挑战块序号对应的挑战块,即目标文件被选中的加密数据块,然后根据挑战块和随机挑战数生成审计证明,并将审计证明作为挑战应答返回给第三方审计者;
S900.第三方审计者根据审计证明和认证标签通过基于双线性对映射构造的等式验证审计证明的有效性,并记录审计结果。
优选的,所述S100包括以下步骤:
S101.可信中心基于安全参数λ选择q阶乘法循环群G1、q阶乘法循环群G2、双线性对映射e:G1×G1→G2、G1的生成元g、G1的生成元u、安全哈希函数H1:{0,1}*→G1、安全哈希函数hii:{0,1}*→[1,r×n]、三个对称密钥kjj、伪随机序列生成函数π()、伪随机数生成函数f(),其中,jj=0,1,2;ii=0,1,...,r;r×n是布隆过滤器的数组长度;q是大素数;
S102.可信中心生成公开参数pp={G1,g,u,G2,e,H1,{hii},{kjj},π(),f()};
S103.可信中心随机选择x=Zq *作为数据拥有者的签名私钥,以及随机选择y=gx作为签名公钥,其中,Zq *为q阶素数循环群,q是大素数。
优选的,所述S200包括以下步骤:
S201.数据拥有者使用Keyword Extraction技术对原始文件进行关键词提取得到原始关键词ωk,并建立原始关键词集合W={ωk};
S202.对于每个原始关键词ωk,创建一个n-bit的第一数组作为该原始关键词ωk的初始索引向量,并将第一数组的元素全部初始化为0,定义原始关键词ωk的初始索引向量为第一初始索引向量然后建立第一初始索引向量集合/>
S203.使用伪随机函数生成关键词ωk的索引地址,定义关键词ωk的索引地址为第一索引地址并将第一初始索引向量/>更新为/>
S204.使用伪随机序列函数生成第一模糊索引向量
S205.计算第一安全索引向量并生成安全索引表
S206.将安全索引表I发送给云服务器,以及将第一索引地址和第一模糊索引向量/>发送给第三方审计者。
优选的,所述S300包括以下步骤:
S301.数据拥有者使用数据分片技术将原始文件集合F中的每个文件Fi分成a片,每片分成a块,得到一个a×a的矩阵;
S302.利用RS冗余算法构造一个(a+b)×a的矩阵,并将(a+b)×a矩阵与a×a矩阵做乘法得到一个新矩阵,即冗余处理后的数据文件集合F′={Fi′}i∈|F|,其中|F|表示原始文件集合F中包含的文件数量,b是冗余数据片数目;
S303.将数据文件Fi′分成s组数据块mij,i∈|F|,j∈[1,s],使用AES分组加密算法对数据块mij进行加密得到加密数据块cij=Enc(mij,k0),并构建加密数据块集合C={cij}i∈|F|,j∈[1,s]
S304.对于每一个加密数据块cij,基于文件Fi的标识符IDi计算认证标签 然后生成标签集合Φ={σij}i∈|F|,j∈[1,s]
S305.将加密数据块集合C和标签集合Φ上传云服务器。
优选的,所述S400包括以下步骤:
S401.审计发起者设置检索关键词ω′,并使用伪随机数函数得到检索关键词ω′的索引地址,定义检索关键词ω′的索引地址为第二索引地址fω′=f(ω′,k2);
S402.使用伪随机序列函数得到检索关键词ω′的模糊索引向量,定义检索关键词ω′的模糊索引向量为第二模糊索引向量
S403.生成初始检索陷门并将所述初始检索陷门Tω′上传给第三方审计者。
优选的,所述S500包括以下步骤:
S501.第三方审计者初始化布隆过滤器B,所述布隆过滤器B由r个哈希函数hi(i=1,2,...,3)与一个r×n-bit的第二数组组成,第二数组的元素全部初始化为0;
S502.第三方审计者生成用于存放第三方审计者接收到的所有第一索引地址的第一关键词索引地址列表;
S503.将初始检索陷门Tω′作为筛选条件添加布隆过滤器到B中,并更新布隆过滤器B的第二数组。
优选的,所述S600包括以下步骤:
S601.将第一关键词索引地址列表中的第一索引地址逐一输入布隆过滤器B进行匹配,并利用匹配成功的第二索引地址组成第二关键词索引地址列表{Fω′};
S602.根据加密索引向量和关键词索引地址集合{Fω′}生成模糊检索陷门 其中Fω′为第二关键词索引地址列表中的第二索引地址,/>为Fω′对应的模糊索引向量;
S603.将模糊检索陷门FTω发送给云服务器。
优选的,所述S700包括以下步骤:
S701.随机选取c个元素集合J是每个文件数据块序号集的子集,|J|=c);
S702.对于随机选择vj∈Zq *,Vj为随机挑战数;
S703.生成挑战信息Chal=(FTω,J,{vj}j∈J),并将挑战信息Chal发送给云服务器。
优选的,所述S800包括以下步骤:
S801.云服务器从挑战信息Chal中的模糊检索陷门FTω中取出关键词索引地址Fω′,并在自身存储的安全索引表中查询第一索引地址记录对应的加密索引
S802.云服务器通过计算解码出对应的第一索引向量/>
S803.云服务器初始化一个检索目标文件集合Sωk,对于若/>则将i添加到检索目标文件集合Sωk中;
S804.云服务器生成检索目标文件集合
S805.云服务器通过检索目标文件集合Sωk确定被检索目标文件,并根据挑战信息Chal中的J确定被检索目标文件中的被挑战块;
S806.云服务器生成审计证明Proof=(T,μ),并将审计证明Proof作为挑战应答返回给第三方审计者,其中,
优选的,所述S900包括以下步骤:
S901.第三方审计者根据以下等式进行验证:
若等式成立,则审计证明有效,否则所述审计证明无效。
本发明的有益效果是:
(1)本发明在云审计背景下利用布隆过滤器实现模糊关键词概率性审计,既保证审计结果的正确性和挑战数据的完整性,同时能降低审计成本、规避审计的统计属性。
(2)本发明实现了模糊关键词审计功能,在按需审计的同时低权重文件也被均匀地审计,故恶意的存储节点无法通过分析文件检索频率、关键词检查询频率删除低权重的文件;
(3)本发明中使用的布隆过滤器参数是固定的,若想达到输入同样筛选条件但匹配结果不相同的效果,也可以通过改变布隆过滤器的参数设置实现,如使用固定的哈希函数加盐值的方法,或者每次更新布隆过滤器时使用不同的哈希函数;
(4)本发明方法对数据进行冗余处理并选择分布式存储方式:分布式存储可以保证用户存储的数据不受单点失效的影响;数据冗余技术使得因某个存储节点发生故障而丢失的数据可由其他节点数据恢复出来;存储系统发生故障时,该存储方式给予用户数据b/(a+b)(其中b是数据冗余片数,a是数据原分片数)的可损毁率;
(5)本发明方法中安全索引表的设计保证第三方审计者和云服务器无法推测关键词、关键词-文件的对应关系的具体信息,因此关键词不会泄露用户的隐私消息,恶意或好奇的网络参与者,如拦截网络信息的攻击者或者本身对用户数据好奇的存储节点、索引服务器都无法推断文件内容;
(6)本发明方法将检索工作分配给专门的检索服务器,能减少分布式存储节点存储、管理索引表以及完成索引任务的负担,提升总体的索引效率;审计任务高度模块化,使方案具有更好的兼容属性,能适应更多审计场景。
附图说明
图1为本发明中审计系统的一种实施例的组成示意图;
图2为本发明中模糊关键词公共审计方法的一种实施例的流程图。
具体实施方式
下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1-图2,本实施例提供了一种基于布隆过滤器的模糊关键词公共审计方法:
基于布隆过滤器的模糊关键词公共审计方法,应用于审计系统,所述审计系统包括云服务器、可信中心、第三方审计者和数据拥有者,所述可信中心分别与数据拥有者、第三方审计者和云服务器通信连接,所述数据拥有者分别与第三方审计者和云服务器通信连接,所述第三方审计者和云服务器通信连,如图1所示。在一个实施例中,所述云服务器包括检索服务器和分布式存储节点,所述检索服务器与分布式存储节点通信连接。
如图2所示,所述模糊关键词公共审计方法包括:
S100.可信中心生成所述审计系统的公开参数、以及为所述数据拥有者选择对称密钥和签名密钥对,所述公开参数包括用于处理文件ID的第一哈希函数、用于布隆过滤器选择的第二哈希函数、伪随机数序列、伪随机函数、双线性对映射、乘法循环群和用于定义乘法循环群的生成元。
在一个实施例中,所述S100包括以下步骤:
S101.可信中心基于安全参数λ选择q阶乘法循环群G1、q阶乘法循环群G2、双线性对映射e:G1×G1→G2、G1的生成元g、G1的生成元u、安全哈希函数H1:{0,1}*→G1、安全哈希函数hii:{0,1}*→[1,r×n]、三个对称密钥kjj、伪随机序列生成函数π()、伪随机数生成函数f(),其中,jj=0,1,2;ii=0,1,...,r;r×n是布隆过滤器的数组长度;q是大素数。
S102.可信中心生成公开参数pp={G1,g,u,G2,e,H1,{hii},{kjj},π(),f()}。
S103.可信中心随机选择x=Zq *作为数据拥有者的签名私钥,以及随机选择y=gx作为签名公钥,其中,Zq *为q阶素数循环群,q是大素数。
S200.数据拥有者对原始文件进行关键词提取得到原始关键词,建立原始关键词的初始索引向量和原始关键词的索引地址,定义第一初始索引向量为原始关键词的初始索引向量、第一索引地址为原始关键词的索引地址,所述第一初始索引向量用于表示原始关键词与原始文件的对应关系;数据拥有者使用伪序列生成函数加密第一初始索引向量得到第一模糊索引向量,将第一初始索引向量和第一模糊索引向量进行异或计算得到第一安全索引向量,并用索引生成算法根据第一索引地址和第一安全索引向量生成安全索引表,然后将所述安全索引表发送给云服务器,以及将第一索引地址和第一模糊索引向量发送给第三方审计者。具体的,在一个实施例中,数据拥有者将安全索引表发送给检索服务器。
在一个实施例中,所述S200包括以下步骤:
S201.数据拥有者使用Keyword Extraction(关键词抽取)技术对原始文件进行关键词提取得到原始关键词ωk,并建立原始关键词集合W={ωk}。
S202.对于每个原始关键词ωk,创建一个n-bit的第一数组作为该原始关键词ωk的初始索引向量,并将第一数组的元素全部初始化为0,定义原始关键词ωk的初始索引向量为第一初始索引向量然后建立第一初始索引向量集合/>
S203.使用伪随机函数生成关键词ωk的索引地址,定义关键词ωk的索引地址为第一索引地址并将第一初始索引向量/>更新为/>
S204.使用伪随机序列函数生成第一模糊索引向量
S205.计算第一安全索引向量并生成安全索引表
S206.将安全索引表I发送给云服务器,以及将第一索引地址和第一模糊索引向量/>发送给第三方审计者。
S300.数据拥有者对原始文件进行冗余处理,对冗余处理后得到的数据文件分组,并对各组文件进行对称加密得到多个加密数据块,然后计算各加密数据块的认证标签,并将所述认证标签及对应的加密数据块上传云服务器。
在一个实施例中,所述S300包括以下步骤:
S301.数据拥有者使用数据分片技术将原始文件集合F中的每个文件Fi分成a片,每片分成a块,得到一个a×a的矩阵。
S302.利用RS冗余算法构造一个(a+b)×a的矩阵,并将(a+b)×a矩阵与a×a矩阵做乘法得到一个新矩阵,即冗余处理后的数据文件集合F′={Fi′}i∈|F|,其中|F|表示原始文件集合F中包含的文件数量,b是冗余数据片数目。
S303.将数据文件Fi′分成s组数据块mij,i∈|F|,j∈[1,s],使用AES分组加密算法对数据块mij进行加密得到加密数据块cij=Enc(mij,k0),并构建加密数据块集合C={cij}i∈|F|,j∈[1,s]
S304.对于每一个加密数据块cij,基于文件Fi的标识符IDi计算认证标签 然后生成标签集合Φ={σij}i∈|F|,j∈[1,s]
S305.将加密数据块集合C和标签集合Φ上传云服务器。具体的,在一个实施例中,数据拥有者将加密数据块集合C和标签集合Φ上传云服务器。
S400.审计发起者设置检索关键词,并计算检索关键词的索引地址和检索关键词的模糊索引向量,定义检索关键词的索引地址为第二索引地址、检索关键词的模糊索引向量为第二模糊索引向量,然后根据第二索引地址和第二模糊索引向量生成初始检索陷门,并将所述初始检索陷门上传给第三方审计者。
在一个实施例中,所述S400包括以下步骤:
S401.审计发起者设置检索关键词ω′,并使用伪随机数函数得到检索关键词ω′的索引地址,定义检索关键词ω′的索引地址为第二索引地址fω′=f(ω′,k2)。
S402.使用伪随机序列函数得到检索关键词ω′的模糊索引向量,定义检索关键词ω′的模糊索引向量为第二模糊索引向量
S403.生成初始检索陷门并将所述初始检索陷门Tω′上传给第三方审计者。
S500.第三方审计者初始化布隆过滤器,生成用于存放第三方审计者接收到的所有第一索引地址的第一关键词索引地址列表,并在每次接收到初始检索陷门时更新所述布隆过滤波器;更新布隆过滤器时,将初始检索陷门中的第二索引地址添加到布隆过滤器中作为筛选条件。
在一个实施例中,所述S500包括以下步骤:
S501.第三方审计者初始化布隆过滤器B,所述布隆过滤器B由r个哈希函数hi(i=1,2,...,3)与一个r×n-bit的第二数组组成,第二数组的元素全部初始化为0。
S502.第三方审计者生成用于存放第三方审计者接收到的所有第一索引地址的第一关键词索引地址列表。
S503.将初始检索陷门Tω′作为筛选条件添加布隆过滤器到B中,并更新布隆过滤器B的第二数组。
S600.第三方审计者将第一关键词索引地址列表作为布隆过滤器的输入进行筛选匹配得到第二关键词索引地址列表,并根据第二关键词索引地址列表得到模糊检索陷门,然后将模糊检索陷门发送给云服务器。
在一个实施例中,所述S600包括以下步骤:
S601.将第一关键词索引地址列表中的第一索引地址逐一输入布隆过滤器B进行匹配,并利用匹配成功的第二索引地址组成第二关键词索引地址列表{Fω′}。
S602.根据加密索引向量和关键词索引地址集合{Fω′}生成模糊检索陷门 其中Fω′为第二关键词索引地址列表中的第二索引地址,/>为Fω′对应的模糊索引向量。
S603.将模糊检索陷门FTω发送给云服务器。具体的,在一个实施例中,第三方审计者将模糊检索陷门FTω发送给检索服务器。
S700.第三方审计者通过运行伪随机函数选择随机挑战块序号集合和随机挑战数集合,并将模糊检索陷门、挑战块序号集合和随机挑战数集合组成挑战信息,然后将挑战信息发送给云服务器。
在一个实施例中,所述S700包括以下步骤:
S701.随机选取c个元素集合J是每个文件数据块序号集的子集,|J|=c)。
S702.对于随机选择vj∈Zq *,vj为随机挑战数。
S703.生成挑战信息Chal=(FTω,J,{vj}j∈J),并将挑战信息Chal发送给云服务器。
S800.云服务器根据挑战信息中的模糊检索陷门检索出目标文件序号,然后根据所述目标文件序号取出挑战块序号对应的挑战块,即目标文件被选中的加密数据块,然后根据挑战块和随机挑战数生成审计证明,并将审计证明作为挑战应答返回给第三方审计者。
在一个实施例中,所述S800包括以下步骤:
S801.云服务器从挑战信息Chal中的模糊检索陷门FTω中取出关键词索引地址Fω′,并在自身存储的安全索引表中查询第一索引地址记录对应的加密索引
S802.云服务器通过计算解码出对应的第一索引向量/>
S803.云服务器初始化一个检索目标文件集合Sωk,对于若/>则将i添加到检索目标文件集合Sωk中。
S804.云服务器生成检索目标文件集合
S805.云服务器通过检索目标文件集合Sωk确定被检索目标文件,并根据挑战信息Chal中的J确定被检索目标文件中的被挑战块。
S806.云服务器生成审计证明Proof=(T,μ),并将审计证明Proof作为挑战应答返回给第三方审计者,其中,
S900.第三方审计者根据审计证明和认证标签通过基于双线性对映射构造的等式验证审计证明的有效性,并记录审计结果。
在一个实施例中,所述S900包括以下步骤:
S901.第三方审计者根据以下等式进行验证:
若等式成立,则审计证明有效,否则所述审计证明无效。
上述实施例中,挑战应答验证公式的推导如下所示:
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (10)

1.基于布隆过滤器的模糊关键词公共审计方法,应用于审计系统,所述审计系统包括云服务器、可信中心、第三方审计者和数据拥有者,所述可信中心分别与数据拥有者、第三方审计者和云服务器通信连接,所述数据拥有者分别与第三方审计者和云服务器通信连接,所述第三方审计者和云服务器通信连接,其特征在于,所述模糊关键词公共审计方法包括:
S100.可信中心生成所述审计系统的公开参数、以及为所述数据拥有者选择对称密钥和签名密钥对,所述公开参数包括用于处理文件ID的第一哈希函数、用于布隆过滤器选择的第二哈希函数、伪随机数序列、伪随机函数、双线性对映射、乘法循环群和用于定义乘法循环群的生成元;
S200.数据拥有者对原始文件进行关键词提取得到原始关键词,建立原始关键词的初始索引向量和原始关键词的索引地址,定义第一初始索引向量为原始关键词的初始索引向量、第一索引地址为原始关键词的索引地址,所述第一初始索引向量用于表示原始关键词与原始文件的对应关系;数据拥有者使用伪序列生成函数加密第一初始索引向量得到第一模糊索引向量,将第一初始索引向量和第一模糊索引向量进行异或计算得到第一安全索引向量,并用索引生成算法根据第一索引地址和第一安全索引向量生成安全索引表,然后将所述安全索引表发送给云服务器,以及将第一索引地址和第一模糊索引向量发送给第三方审计者;
S300.数据拥有者对原始文件进行冗余处理,对冗余处理后得到的数据文件分组,并对各组文件进行对称加密得到多个加密数据块,然后计算各加密数据块的认证标签,并将所述认证标签及对应的加密数据块上传云服务器;
S400.审计发起者设置检索关键词,并计算检索关键词的索引地址和检索关键词的模糊索引向量,定义检索关键词的索引地址为第二索引地址、检索关键词的模糊索引向量为第二模糊索引向量,然后根据第二索引地址和第二模糊索引向量生成初始检索陷门,并将所述初始检索陷门上传给第三方审计者;
S500.第三方审计者初始化布隆过滤器,生成用于存放第三方审计者接收到的所有第一索引地址的第一关键词索引地址列表,并在每次接收到初始检索陷门时更新所述布隆过滤波器;更新布隆过滤器时,将初始检索陷门中的第二索引地址添加到布隆过滤器中作为筛选条件;
S600.第三方审计者将第一关键词索引地址列表作为布隆过滤器的输入进行筛选匹配得到第二关键词索引地址列表,并根据第二关键词索引地址列表得到模糊检索陷门,然后将模糊检索陷门发送给云服务器;
S700.第三方审计者通过运行伪随机函数选择随机挑战块序号集合和随机挑战数集合,并将模糊检索陷门、挑战块序号集合和随机挑战数集合组成挑战信息,然后将挑战信息发送给云服务器;
S800.云服务器根据挑战信息中的模糊检索陷门检索出目标文件序号,然后根据所述目标文件序号取出挑战块序号对应的挑战块,然后根据挑战块和随机挑战数生成审计证明,并将审计证明作为挑战应答返回给第三方审计者;
S900.第三方审计者根据审计证明和认证标签通过基于双线性对映射构造的等式验证审计证明的有效性,并记录审计结果。
2.根据权利要求1所述的基于布隆过滤器的模糊关键词公共审计方法,其特征在于,所述S100包括以下步骤:
S101.可信中心基于安全参数λ选择q阶乘法循环群G1、q阶乘法循环群G2、双线性对映射e:G1×G1→G2、G1的生成元g、G1的生成元u、安全哈希函数H1:{0,1}*→G1、安全哈希函数hii:{0,1}*→[1,r×n]、三个对称密钥kjj、伪随机序列生成函数π()、伪随机数生成函数f(),其中,jj=0,1,2;ii=0,1,...,r;r×n是布隆过滤器的数组长度;q是大素数;
S102.可信中心生成公开参数pp={G1,g,u,G2,e,H1,{hii},{kjj},π(),f()};
S103.可信中心随机选择x=Zq *作为数据拥有者的签名私钥,以及随机选择y=gx作为签名公钥,其中,Zq *为q阶素数循环群,q是大素数。
3.根据权利要求2所述的基于布隆过滤器的模糊关键词公共审计方法,其特征在于,所述S200包括以下步骤:
S201.数据拥有者使用Keyword Extraction技术对原始文件进行关键词提取得到原始关键词ωk,并建立原始关键词集合W={ωk};
S202.对于每个原始关键词ωk,创建一个n-bit的第一数组作为该原始关键词ωk的初始索引向量,并将第一数组的元素全部初始化为0,定义原始关键词ωk的初始索引向量为第一初始索引向量然后建立第一初始索引向量集合/>
S203.使用伪随机函数生成关键词ωk的索引地址,定义关键词ωk的索引地址为第一索引地址并将第一初始索引向量/>更新为/>
S204.使用伪随机序列函数生成第一模糊索引向量
S205.计算第一安全索引向量并生成安全索引表/>
S206.将安全索引表I发送给云服务器,以及将第一索引地址和第一模糊索引向量发送给第三方审计者。
4.根据权利要求3所述的基于布隆过滤器的模糊关键词公共审计方法,其特征在于,所述S300包括以下步骤:
S301.数据拥有者使用数据分片技术将原始文件集合F中的每个文件Fi分成a片,每片分成a块,得到一个a×a的矩阵;
S302.利用RS冗余算法构造一个(a+b)×a的矩阵,并将(a+b)×a矩阵与a×a矩阵做乘法得到一个新矩阵,即冗余处理后的数据文件集合F′={Fi′}i∈|F|,其中|F|表示原始文件集合F中包含的文件数量,b是冗余数据片数目;S303.将数据文件Fi′分成s组数据块mij,i∈|F|,j∈[1,s],使用AES分组加密算法对数据块mij进行加密得到加密数据块cij=Enc(mij,k0),并构建加密数据块集合C={cij}i∈|F|,j∈[1,s]
S304.对于每一个加密数据块cij,基于文件Fi的标识符IDi计算认证标签 然后生成标签集合Φ={σij}i∈|F|,j∈[1,s]
S305.将加密数据块集合C和标签集合Φ上传云服务器。
5.根据权利要求4所述的基于布隆过滤器的模糊关键词公共审计方法,其特征在于,所述S400包括以下步骤:
S401.审计发起者设置检索关键词ω′,并使用伪随机数函数得到检索关键词ω′的索引地址,定义检索关键词ω′的索引地址为第二索引地址fω′=f(ω′,k2);
S402.使用伪随机序列函数得到检索关键词ω′的模糊索引向量,定义检索关键词ω的模糊索引向量为第二模糊索引向量
S403.生成初始检索陷门并将所述初始检索陷门Tω′上传给第三方审计者。
6.根据权利要求5所述的基于布隆过滤器的模糊关键词公共审计方法,其特征在于,所述S500包括以下步骤:
S501.第三方审计者初始化布隆过滤器B,所述布隆过滤器B由r个哈希函数hi(i=1,2,...,3)与一个r×n-bit的第二数组组成,第二数组的元素全部初始化为0;
S502.第三方审计者生成用于存放第三方审计者接收到的所有第一索引地址的第一关键词索引地址列表;
S503.将初始检索陷门Tω′作为筛选条件添加布隆过滤器到B中,并更新布隆过滤器B的第二数组。
7.根据权利要求6所述的基于布隆过滤器的模糊关键词公共审计方法,其特征在于,所述S600包括以下步骤:
S601.将第一关键词索引地址列表中的第一索引地址逐一输入布隆过滤器B进行匹配,并利用匹配成功的第二索引地址组成第二关键词索引地址列表{Fω′};
S602.根据加密索引向量和关键词索引地址集合{Fω′}生成模糊检索陷门/> 其中Fω′为第二关键词索引地址列表中的第二索引地址,/>为Fω′对应的模糊索引向量;
S603.将模糊检索陷门FTω发送给云服务器。
8.根据权利要求7所述的基于布隆过滤器的模糊关键词公共审计方法,其特征在于,所述S700包括以下步骤:
S701.随机选取c个元素集合J是每个文件数据块序号集的子集,|J|=c);
S702.对于随机选择vj∈Zq *,Vj为随机挑战数;
S703.生成挑战信息Chal=(FTω,J,{vj}j∈J),并将挑战信息Chal发送给云服务器。
9.根据权利要求8所述的基于布隆过滤器的模糊关键词公共审计方法,其特征在于,所述S800包括以下步骤:
S801.云服务器从挑战信息Chal中的模糊检索陷门FTω中取出关键词索引地址Fω′,并在自身存储的安全索引表中查询第一索引地址记录对应的加密索引/>
S802.云服务器通过计算解码出对应的第一索引向量/>
S803.云服务器初始化一个检索目标文件集合Sωk,对于若/>则将i添加到检索目标文件集合Sωk中;
S804.云服务器生成检索目标文件集合
S805.云服务器通过检索目标文件集合Sωk确定被检索目标文件,并根据挑战信息Chal中的J确定被检索目标文件中的被挑战块;
S806.云服务器生成审计证明Proof=(T,μ),并将审计证明Proof作为挑战应答返回给第三方审计者,其中,
10.根据权利要求9所述的基于布隆过滤器的模糊关键词公共审计方法,其特征在于,所述S900包括以下步骤:
S901.第三方审计者根据以下等式进行验证:
若等式成立,则审计证明有效,否则所述审计证明无效。
CN202210924635.5A 2022-08-02 2022-08-02 基于布隆过滤器的模糊关键词公共审计方法 Active CN115048432B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210924635.5A CN115048432B (zh) 2022-08-02 2022-08-02 基于布隆过滤器的模糊关键词公共审计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210924635.5A CN115048432B (zh) 2022-08-02 2022-08-02 基于布隆过滤器的模糊关键词公共审计方法

Publications (2)

Publication Number Publication Date
CN115048432A CN115048432A (zh) 2022-09-13
CN115048432B true CN115048432B (zh) 2024-04-26

Family

ID=83166978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210924635.5A Active CN115048432B (zh) 2022-08-02 2022-08-02 基于布隆过滤器的模糊关键词公共审计方法

Country Status (1)

Country Link
CN (1) CN115048432B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118094636A (zh) * 2024-04-23 2024-05-28 天津理工大学 一种具有多层级权限访问控制的数据检索方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034049A (zh) * 2010-12-30 2011-04-27 华中科技大学 海量数据压缩加密存储及检索系统及其使用方法
CN106326360A (zh) * 2016-08-10 2017-01-11 武汉科技大学 一种云环境中密文数据的模糊多关键词检索方法
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法
CN111339570A (zh) * 2020-02-27 2020-06-26 青岛大学 一种云存储文件完整性的验证方法、装置、设备及介质
US11062042B1 (en) * 2018-09-26 2021-07-13 Splunk Inc. Authenticating data associated with a data intake and query system using a distributed ledger system
WO2021191392A1 (fr) * 2020-03-26 2021-09-30 Neoinstinct Sa Méthode mise en oeuvre par ordinateur pour la recherche analogique de documents

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6720844B2 (ja) * 2016-11-30 2020-07-08 富士通株式会社 データ管理プログラム、データ管理方法及びデータ管理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034049A (zh) * 2010-12-30 2011-04-27 华中科技大学 海量数据压缩加密存储及检索系统及其使用方法
CN106326360A (zh) * 2016-08-10 2017-01-11 武汉科技大学 一种云环境中密文数据的模糊多关键词检索方法
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法
US11062042B1 (en) * 2018-09-26 2021-07-13 Splunk Inc. Authenticating data associated with a data intake and query system using a distributed ledger system
CN111339570A (zh) * 2020-02-27 2020-06-26 青岛大学 一种云存储文件完整性的验证方法、装置、设备及介质
WO2021191392A1 (fr) * 2020-03-26 2021-09-30 Neoinstinct Sa Méthode mise en oeuvre par ordinateur pour la recherche analogique de documents

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Secure cloud storage service using bloom filters for the Internet of things;Junho Jeong等;《IEEE Access》;20190508(第7期);60897-60907 *
云存储系统中可搜索加密审计日志的研究;赵唯玮;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200115;I137-127 *

Also Published As

Publication number Publication date
CN115048432A (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
CN106803784B (zh) 安全多媒体云存储中基于格的多用户模糊可搜索加密方法
Jin et al. Dynamic and public auditing with fair arbitration for cloud data
CN110213042A (zh) 一种基于无证书代理重加密的云数据去重方法
CN112543187A (zh) 基于边缘区块链的工业物联网安全数据共享方法
Zhao et al. Blockchain-assisted conditional anonymity privacy-preserving public auditing scheme with reward mechanism
Zou et al. Highly secure privacy‐preserving outsourced k‐means clustering under multiple keys in cloud computing
Li et al. A Blockchain‐Based Public Auditing Protocol with Self‐Certified Public Keys for Cloud Data
Ma et al. CP‐ABE‐Based Secure and Verifiable Data Deletion in Cloud
CN115048432B (zh) 基于布隆过滤器的模糊关键词公共审计方法
Li et al. Secure and temporary access delegation with equality test for cloud-assisted IoV
Fu et al. Searchable encryption scheme for multiple cloud storage using double‐layer blockchain
CN109783456B (zh) 去重结构搭建方法、去重方法、文件取回方法、去重系统
Luo et al. MHB* T based dynamic data integrity auditing in cloud storage
Zhou et al. A Scalable Blockchain‐Based Integrity Verification Scheme
Zhang et al. A Blockchain‐Based Microgrid Data Disaster Backup Scheme in Edge Computing
Ouyang et al. Blockchain-assisted verifiable and secure remote sensing image retrieval in cloud environment
CN112765570B (zh) 一个支持数据转移的基于身份可证明数据持有方法
Daniel et al. ES-DAS: An enhanced and secure dynamic auditing scheme for data storage in cloud environment
Reddy et al. Block Level Data-Deduplication and Security Using Convergent Encryption to Offer Proof of Verification
Sasikala et al. A study on remote data integrity checking techniques in cloud
Gao et al. Similarity-based deduplication and secure auditing in IoT decentralized storage
JP2021148850A (ja) 情報処理システム、情報処理方法、情報処理プログラム、秘密計算システム、秘密計算方法、及び、秘密計算プログラム
Zhu et al. Efficient group proof of storage with malicious-member distinction and revocation
Ruan et al. A delegated offline private set intersection protocol for cloud computing environments
Miyoshi et al. Practical and secure searchable symmetric encryption with a small index

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