一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-09-14 19:07:12 来源:中国专利 TAG:


1.本发明涉及云存储背景下数据完整性审计领域,特别是涉及一种基于布隆过滤器的模糊关键词公共审计方法。


背景技术:

2.云审计是利用互联网的云计算概念,在云存储背景下提出的新型审计技术,用于为用户外包数据提供完整性保障。在云审计概念提出后,根据是否引入第三方负责审计业务被分为私有审计与公共审计。私有审计方法由数据拥有者提供审计业务,要求数据拥有者为完整性验证下载所有数据,故私有审计能保证数据完整性,但审计过程会产生昂贵的i/o开销与网络传输成本。为了充分保证数据完整性,节约数据拥有者计算资源与通信开销,公共审计的概念被提出来。公共审计方法中引入第三方审计者(third party auditor,tpa)承担所有审计业务;tpa具有数据拥有者不具备的专业知识与能力,能够为用户定期检查外包数据完整性,提供更简单、更实惠的完整性保障。
3.wang等人在论文[1](wang c,chow ssm,wang q,et al.privacy-preserving public auditing for secure cloud storage[j].ieee transactions on computers,2011,62(2):362-37)中提出一个公共审计方案,即tpa在得到数据拥有者授权之后,周期性生成随机挑战信息对云服务器中的外包数据进行概率性审计。该审计方案的优点在于挑战信息是随机生成的,被审计的数据文件分布是均匀的,恶意的云服务器没办法通过统计分析来删除审计频率低的数据文件而不被发现。然而,tpa采取“pay-as-you-go”收费模式,即根据审计开销收费,审计的文件越多、审计次数越频繁就意味着用户需要支付更多费用。周期性进行审计挑战意味着更高的审计开销,文件分布过于随机也可能导致重要文件被审计的频次过低,数据被误删或者被损坏时不能及时被tpa发现而给数据拥有者造成损失。


技术实现要素:

[0004]
本发明的目的在于克服现有技术的一项或多项不足,提供一种基于布隆过滤器的模糊关键词公共审计方法。
[0005]
本发明的目的是通过以下技术方案来实现的:基于布隆过滤器的模糊关键词公共审计方法,应用于审计系统,所述审计系统包括云服务器、可信中心、第三方审计者和数据拥有者,所述可信中心分别与数据拥有者、第三方审计者和云服务器通信连接,所述数据拥有者分别与第三方审计者和云服务器通信连接,所述第三方审计者和云服务器通信连接。所述模糊关键词公共审计方法包括:
[0006]
s100.可信中心生成所述审计系统的公开参数、以及为所述数据拥有者选择对称密钥和签名密钥对,所述公开参数包括用于处理文件id的第一哈希函数、用于布隆过滤器选择的第二哈希函数、伪随机数序列、伪随机函数、双线性对映射、乘法循环群和用于定义乘法循环群的生成元;
[0007]
s200.数据拥有者对原始文件进行关键词提取得到原始关键词,建立原始关键词
的初始索引向量和原始关键词的索引地址,定义第一初始索引向量为原始关键词的初始索引向量、第一索引地址为原始关键词的索引地址,所述第一初始索引向量用于表示原始关键词与原始文件的对应关系;数据拥有者使用伪序列生成函数加密第一初始索引向量得到第一模糊索引向量,将第一初始索引向量和第一模糊索引向量进行异或计算得到第一安全索引向量,并用索引生成算法根据第一索引地址和第一安全索引向量生成安全索引表,然后将所述安全索引表发送给云服务器,以及将第一索引地址和第一模糊索引向量发送给第三方审计者;
[0008]
s300.数据拥有者对原始文件进行冗余处理,对冗余处理后得到的数据文件分组,并对各组文件进行对称加密得到多个加密数据块,然后计算各加密数据块的认证标签,并将所述认证标签及对应的加密数据块上传云服务器;
[0009]
s400.审计发起者设置检索关键词,并计算检索关键词的索引地址和检索关键词的模糊索引向量,定义检索关键词的索引地址为第二索引地址、检索关键词的模糊索引向量为第二模糊索引向量,然后根据第二索引地址和第二模糊索引向量生成初始检索陷门,并将所述初始检索陷门上传给第三方审计者;
[0010]
s500.第三方审计者初始化布隆过滤器,生成用于存放第三方审计者接收到的所有第一索引地址的第一关键词索引地址列表,并在每次接收到初始检索陷门时更新所述布隆过滤波器;更新布隆过滤器时,将初始检索陷门中的第二索引地址添加到布隆过滤器中作为筛选条件;
[0011]
s600.第三方审计者将第一关键词索引地址列表作为布隆过滤器的输入进行筛选匹配得到第二关键词索引地址列表,并根据第二关键词索引地址列表得到模糊检索陷门,然后将模糊检索陷门发送给云服务器;
[0012]
s700.第三方审计者通过运行伪随机函数选择随机挑战块序号集合和随机挑战数集合,并将模糊检索陷门、挑战块序号集合和随机挑战数集合组成挑战信息,然后将挑战信息发送给云服务器;
[0013]
s800.云服务器根据挑战信息中的模糊检索陷门检索出目标文件序号,然后根据所述目标文件序号取出挑战块序号对应的挑战块,即目标文件被选中的加密数据块,然后根据挑战块和随机挑战数生成审计证明,并将审计证明作为挑战应答返回给第三方审计者;
[0014]
s900.第三方审计者根据审计证明和认证标签通过基于双线性对映射构造的等式验证审计证明的有效性,并记录审计结果。
[0015]
优选的,所述s100包括以下步骤:
[0016]
s101.可信中心基于安全参数λ选择q阶乘法循环群g1、q阶乘法循环群g2、双线性对映射e:g1×
g1→
g2、g1的生成元g、g1的生成元u、安全哈希函数h1:{0,1}
*

g1、安全哈希函数h
ii
:{0,1}
*

[1,r
×
n]、三个对称密钥k
jj
、伪随机序列生成函数π()、伪随机数生成函数f(),其中,jj=0,1,2;ii=0,1,...,r;r
×
n是布隆过滤器的数组长度;q是大素数;
[0017]
s102.可信中心生成公开参数pp={g1,g,u,g2,e,h1,{h
ii
},{k
jj
},π(),f()};
[0018]
s103.可信中心随机选择x=z
q*
作为数据拥有者的签名私钥,以及随机选择y=g
x
作为签名公钥,其中,z
q*
为q阶素数循环群,q是大素数。
[0019]
优选的,所述s200包括以下步骤:
[0020]
s201.数据拥有者使用keyword extraction技术对原始文件进行关键词提取得到原始关键词ωk,并建立原始关键词集合w={ωk};
[0021]
s202.对于每个原始关键词ωk,创建一个n-bit的第一数组作为该原始关键词ωk的初始索引向量,并将第一数组的元素全部初始化为0,定义原始关键词ωk的初始索引向量为第一初始索引向量然后建立第一初始索引向量集合
[0022]
s203.使用伪随机函数生成关键词ωk的索引地址,定义关键词ωk的索引地址为第一索引地址并将第一初始索引向量更新为
[0023]
s204.使用伪随机序列函数生成第一模糊索引向量
[0024]
s205.计算第一安全索引向量并生成安全索引表
[0025]
s206.将安全索引表i发送给云服务器,以及将第一索引地址和第一模糊索引向量发送给第三方审计者。
[0026]
优选的,所述s300包括以下步骤:
[0027]
s301.数据拥有者使用数据分片技术将原始文件集合f中的每个文件fi分成a片,每片分成a块,得到一个a
×
a的矩阵;
[0028]
s302.利用rs冗余算法构造一个(a b)
×
a的矩阵,并将(a b)
×
a矩阵与a
×
a矩阵做乘法得到一个新矩阵,即冗余处理后的数据文件集合f

={fi′
}
i∈|f|
,其中|f|表示原始文件集合f中包含的文件数量,b是冗余数据片数目;
[0029]
s303.将数据文件fi′
分成s组数据块m
ij
,i∈|f|,j∈[1,s],使用aes分组加密算法对数据块m
ij
进行加密得到加密数据块c
ij
=enc(m
ij
,k0),并构建加密数据块集合c={c
ij
}
i∈|f|,j∈[1,s]

[0030]
s304.对于每一个加密数据块c
ij
,基于文件fi的标识符idi计算认证标签计算认证标签然后生成标签集合φ={σ
ij
}
i∈|f|,j∈[1,s]

[0031]
s305.将加密数据块集合c和标签集合φ上传云服务器。
[0032]
优选的,所述s400包括以下步骤:
[0033]
s401.审计发起者设置检索关键词ω

,并使用伪随机数函数得到检索关键词ω

的索引地址,定义检索关键词ω

的索引地址为第二索引地址f
ω

=f(ω

,k2);
[0034]
s402.使用伪随机序列函数得到检索关键词ω

的模糊索引向量,定义检索关键词ω

的模糊索引向量为第二模糊索引向量
[0035]
s403.生成初始检索陷门并将所述初始检索陷门t
ω

上传给第三方审计者。
[0036]
优选的,所述s500包括以下步骤:
[0037]
s501.第三方审计者初始化布隆过滤器b,所述布隆过滤器b由r个哈希函数hi(i=1,2,...,3)与一个r
×
n-bit的第二数组组成,第二数组的元素全部初始化为0;
[0038]
s502.第三方审计者生成用于存放第三方审计者接收到的所有第一索引地址的第一关键词索引地址列表;
[0039]
s503.将初始检索陷门t
ω

作为筛选条件添加布隆过滤器到b中,并更新布隆过滤器b的第二数组。
[0040]
优选的,所述s600包括以下步骤:
[0041]
s601.将第一关键词索引地址列表中的第一索引地址逐一输入布隆过滤器b进行匹配,并利用匹配成功的第二索引地址组成第二关键词索引地址列表{f
ω

};
[0042]
s602.根据加密索引向量和关键词索引地址集合{f
ω

}生成模糊检索陷门}生成模糊检索陷门其中f
ω

为第二关键词索引地址列表中的第二索引地址,为f
ω

对应的模糊索引向量;
[0043]
s603.将模糊检索陷门ft
ω
发送给云服务器。
[0044]
优选的,所述s700包括以下步骤:
[0045]
s701.随机选取c个元素集合j是每个文件数据块序号集的子集,|j|=c);
[0046]
s702.对于随机选择vj∈z
q*
,vj为随机挑战数;
[0047]
s703.生成挑战信息chal=(ft
ω
,j,{vj}
j∈j
),并将挑战信息chal发送给云服务器。
[0048]
优选的,所述s800包括以下步骤:
[0049]
s801.云服务器从挑战信息chal中的模糊检索陷门ftω中取出关键词索引地址f
ω

,并在自身存储的安全索引表中查询第一索引地址记录对应的加密索引
[0050]
s802.云服务器通过计算解码出对应的第一索引向量
[0051]
s803.云服务器初始化一个检索目标文件集合s
ωk
,对于若则将i添加到检索目标文件集合s
ωk
中;
[0052]
s804.云服务器生成检索目标文件集合
[0053]
s805.云服务器通过检索目标文件集合s
ωk
确定被检索目标文件,并根据挑战信息chal中的j确定被检索目标文件中的被挑战块;
[0054]
s806.云服务器生成审计证明proof=(t,μ),并将审计证明proof作为挑战应答返回给第三方审计者,其中,
[0055]
优选的,所述s900包括以下步骤:
[0056]
s901.第三方审计者根据以下等式进行验证:
[0057][0058]
若等式成立,则审计证明有效,否则所述审计证明无效。
[0059]
本发明的有益效果是:
[0060]
(1)本发明在云审计背景下利用布隆过滤器实现模糊关键词概率性审计,既保证
审计结果的正确性和挑战数据的完整性,同时能降低审计成本、规避审计的统计属性。
[0061]
(2)本发明实现了模糊关键词审计功能,在按需审计的同时低权重文件也被均匀地审计,故恶意的存储节点无法通过分析文件检索频率、关键词检查询频率删除低权重的文件;
[0062]
(3)本发明中使用的布隆过滤器参数是固定的,若想达到输入同样筛选条件但匹配结果不相同的效果,也可以通过改变布隆过滤器的参数设置实现,如使用固定的哈希函数加盐值的方法,或者每次更新布隆过滤器时使用不同的哈希函数;
[0063]
(4)本发明方法对数据进行冗余处理并选择分布式存储方式:分布式存储可以保证用户存储的数据不受单点失效的影响;数据冗余技术使得因某个存储节点发生故障而丢失的数据可由其他节点数据恢复出来;存储系统发生故障时,该存储方式给予用户数据b/(a b)(其中b是数据冗余片数,a是数据原分片数)的可损毁率;
[0064]
(5)本发明方法中安全索引表的设计保证第三方审计者和云服务器无法推测关键词、关键词-文件的对应关系的具体信息,因此关键词不会泄露用户的隐私消息,恶意或好奇的网络参与者,如拦截网络信息的攻击者或者本身对用户数据好奇的存储节点、索引服务器都无法推断文件内容;
[0065]
(6)本发明方法将检索工作分配给专门的检索服务器,能减少分布式存储节点存储、管理索引表以及完成索引任务的负担,提升总体的索引效率;审计任务高度模块化,使方案具有更好的兼容属性,能适应更多审计场景。
附图说明
[0066]
图1为本发明中审计系统的一种实施例的组成示意图;
[0067]
图2为本发明中模糊关键词公共审计方法的一种实施例的流程图。
具体实施方式
[0068]
下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069]
参阅图1-图2,本实施例提供了一种基于布隆过滤器的模糊关键词公共审计方法:
[0070]
基于布隆过滤器的模糊关键词公共审计方法,应用于审计系统,所述审计系统包括云服务器、可信中心、第三方审计者和数据拥有者,所述可信中心分别与数据拥有者、第三方审计者和云服务器通信连接,所述数据拥有者分别与第三方审计者和云服务器通信连接,所述第三方审计者和云服务器通信连,如图1所示。在一个实施例中,所述云服务器包括检索服务器和分布式存储节点,所述检索服务器与分布式存储节点通信连接。
[0071]
如图2所示,所述模糊关键词公共审计方法包括:
[0072]
s100.可信中心生成所述审计系统的公开参数、以及为所述数据拥有者选择对称密钥和签名密钥对,所述公开参数包括用于处理文件id的第一哈希函数、用于布隆过滤器选择的第二哈希函数、伪随机数序列、伪随机函数、双线性对映射、乘法循环群和用于定义乘法循环群的生成元。
[0073]
在一个实施例中,所述s100包括以下步骤:
[0074]
s101.可信中心基于安全参数λ选择q阶乘法循环群g1、q阶乘法循环群g2、双线性对映射e:g1×
g1→
g2、g1的生成元g、g1的生成元u、安全哈希函数h1:{0,1}
*

g1、安全哈希函数h
ii
:{0,1}
*

[1,r
×
n]、三个对称密钥k
jj
、伪随机序列生成函数π()、伪随机数生成函数f(),其中,jj=0,1,2;ii=0,1,...,r;r
×
n是布隆过滤器的数组长度;q是大素数。
[0075]
s102.可信中心生成公开参数pp={g1,g,u,g2,e,h1,{h
ii
},{k
jj
},π(),f()}。
[0076]
s103.可信中心随机选择x=z
q*
作为数据拥有者的签名私钥,以及随机选择y=g
x
作为签名公钥,其中,z
q*
为q阶素数循环群,q是大素数。
[0077]
s200.数据拥有者对原始文件进行关键词提取得到原始关键词,建立原始关键词的初始索引向量和原始关键词的索引地址,定义第一初始索引向量为原始关键词的初始索引向量、第一索引地址为原始关键词的索引地址,所述第一初始索引向量用于表示原始关键词与原始文件的对应关系;数据拥有者使用伪序列生成函数加密第一初始索引向量得到第一模糊索引向量,将第一初始索引向量和第一模糊索引向量进行异或计算得到第一安全索引向量,并用索引生成算法根据第一索引地址和第一安全索引向量生成安全索引表,然后将所述安全索引表发送给云服务器,以及将第一索引地址和第一模糊索引向量发送给第三方审计者。具体的,在一个实施例中,数据拥有者将安全索引表发送给检索服务器。
[0078]
在一个实施例中,所述s200包括以下步骤:
[0079]
s201.数据拥有者使用keyword extraction(关键词抽取)技术对原始文件进行关键词提取得到原始关键词ωk,并建立原始关键词集合w={ωk}。
[0080]
s202.对于每个原始关键词ωk,创建一个n-bit的第一数组作为该原始关键词ωk的初始索引向量,并将第一数组的元素全部初始化为0,定义原始关键词ωk的初始索引向量为第一初始索引向量然后建立第一初始索引向量集合
[0081]
s203.使用伪随机函数生成关键词ωk的索引地址,定义关键词ωk的索引地址为第一索引地址并将第一初始索引向量更新为
[0082]
s204.使用伪随机序列函数生成第一模糊索引向量
[0083]
s205.计算第一安全索引向量并生成安全索引表
[0084]
s206.将安全索引表i发送给云服务器,以及将第一索引地址和第一模糊索引向量发送给第三方审计者。
[0085]
s300.数据拥有者对原始文件进行冗余处理,对冗余处理后得到的数据文件分组,并对各组文件进行对称加密得到多个加密数据块,然后计算各加密数据块的认证标签,并将所述认证标签及对应的加密数据块上传云服务器。
[0086]
在一个实施例中,所述s300包括以下步骤:
[0087]
s301.数据拥有者使用数据分片技术将原始文件集合f中的每个文件fi分成a片,每片分成a块,得到一个a
×
a的矩阵。
[0088]
s302.利用rs冗余算法构造一个(a b)
×
a的矩阵,并将(a b)
×
a矩阵与a
×
a矩阵
做乘法得到一个新矩阵,即冗余处理后的数据文件集合f

={fi′
}
i∈|f|
,其中|f|表示原始文件集合f中包含的文件数量,b是冗余数据片数目。
[0089]
s303.将数据文件fi′
分成s组数据块m
ij
,i∈|f|,j∈[1,s],使用aes分组加密算法对数据块m
ij
进行加密得到加密数据块c
ij
=enc(m
ij
,k0),并构建加密数据块集合c={c
ij
}
i∈|f|,j∈[1,s]

[0090]
s304.对于每一个加密数据块c
ij
,基于文件fi的标识符idi计算认证标签计算认证标签然后生成标签集合φ={σ
ij
}
i∈|f|,j∈[1,s]

[0091]
s305.将加密数据块集合c和标签集合φ上传云服务器。具体的,在一个实施例中,数据拥有者将加密数据块集合c和标签集合φ上传云服务器。
[0092]
s400.审计发起者设置检索关键词,并计算检索关键词的索引地址和检索关键词的模糊索引向量,定义检索关键词的索引地址为第二索引地址、检索关键词的模糊索引向量为第二模糊索引向量,然后根据第二索引地址和第二模糊索引向量生成初始检索陷门,并将所述初始检索陷门上传给第三方审计者。
[0093]
在一个实施例中,所述s400包括以下步骤:
[0094]
s401.审计发起者设置检索关键词ω

,并使用伪随机数函数得到检索关键词ω

的索引地址,定义检索关键词ω

的索引地址为第二索引地址f
ω

=f(ω

,k2)。
[0095]
s402.使用伪随机序列函数得到检索关键词ω

的模糊索引向量,定义检索关键词ω

的模糊索引向量为第二模糊索引向量
[0096]
s403.生成初始检索陷门并将所述初始检索陷门t
ω

上传给第三方审计者。
[0097]
s500.第三方审计者初始化布隆过滤器,生成用于存放第三方审计者接收到的所有第一索引地址的第一关键词索引地址列表,并在每次接收到初始检索陷门时更新所述布隆过滤波器;更新布隆过滤器时,将初始检索陷门中的第二索引地址添加到布隆过滤器中作为筛选条件。
[0098]
在一个实施例中,所述s500包括以下步骤:
[0099]
s501.第三方审计者初始化布隆过滤器b,所述布隆过滤器b由r个哈希函数hi(i=1,2,...,3)与一个r
×
n-bit的第二数组组成,第二数组的元素全部初始化为0。
[0100]
s502.第三方审计者生成用于存放第三方审计者接收到的所有第一索引地址的第一关键词索引地址列表。
[0101]
s503.将初始检索陷门t
ω

作为筛选条件添加布隆过滤器到b中,并更新布隆过滤器b的第二数组。
[0102]
s600.第三方审计者将第一关键词索引地址列表作为布隆过滤器的输入进行筛选匹配得到第二关键词索引地址列表,并根据第二关键词索引地址列表得到模糊检索陷门,然后将模糊检索陷门发送给云服务器。
[0103]
在一个实施例中,所述s600包括以下步骤:
[0104]
s601.将第一关键词索引地址列表中的第一索引地址逐一输入布隆过滤器b进行匹配,并利用匹配成功的第二索引地址组成第二关键词索引地址列表{f
ω

}。
[0105]
s602.根据加密索引向量和关键词索引地址集合{f
ω

}生成模糊检索陷门
其中f
ω

为第二关键词索引地址列表中的第二索引地址,为f
ω

对应的模糊索引向量。
[0106]
s603.将模糊检索陷门ft
ω
发送给云服务器。具体的,在一个实施例中,第三方审计者将模糊检索陷门ft
ω
发送给检索服务器。
[0107]
s700.第三方审计者通过运行伪随机函数选择随机挑战块序号集合和随机挑战数集合,并将模糊检索陷门、挑战块序号集合和随机挑战数集合组成挑战信息,然后将挑战信息发送给云服务器。
[0108]
在一个实施例中,所述s700包括以下步骤:
[0109]
s701.随机选取c个元素集合j是每个文件数据块序号集的子集,|j|=c)。
[0110]
s702.对于随机选择vj∈z
q*
,vj为随机挑战数。
[0111]
s703.生成挑战信息chal=(ft
ω
,j,{vj}
j∈j
),并将挑战信息chal发送给云服务器。
[0112]
s800.云服务器根据挑战信息中的模糊检索陷门检索出目标文件序号,然后根据所述目标文件序号取出挑战块序号对应的挑战块,即目标文件被选中的加密数据块,然后根据挑战块和随机挑战数生成审计证明,并将审计证明作为挑战应答返回给第三方审计者。
[0113]
在一个实施例中,所述s800包括以下步骤:
[0114]
s801.云服务器从挑战信息chal中的模糊检索陷门ftω中取出关键词索引地址f
ω

,并在自身存储的安全索引表中查询第一索引地址记录对应的加密索引
[0115]
s802.云服务器通过计算解码出对应的第一索引向量
[0116]
s803.云服务器初始化一个检索目标文件集合s
ωk
,对于若则将i添加到检索目标文件集合s
ωk
中。
[0117]
s804.云服务器生成检索目标文件集合
[0118]
s805.云服务器通过检索目标文件集合s
ωk
确定被检索目标文件,并根据挑战信息chal中的j确定被检索目标文件中的被挑战块。
[0119]
s806.云服务器生成审计证明proof=(t,μ),并将审计证明proof作为挑战应答返回给第三方审计者,其中,
[0120]
s900.第三方审计者根据审计证明和认证标签通过基于双线性对映射构造的等式验证审计证明的有效性,并记录审计结果。
[0121]
在一个实施例中,所述s900包括以下步骤:
[0122]
s901.第三方审计者根据以下等式进行验证:
[0123][0124]
若等式成立,则审计证明有效,否则所述审计证明无效。
[0125]
上述实施例中,挑战应答验证公式的推导如下所示:
[0126][0127]
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献