当前位置: 首页 > 专利查询>淮阴工学院专利>正文

基于区块链的密文去重和去中心化审计方法技术

技术编号:34887696 阅读:12 留言:0更新日期:2022-09-10 13:45
本发明专利技术公开了一种基于区块链的密文去重和去中心化审计方法,分为去重和审计阶段,去重阶段利用收敛加密算法确保数据的机密性,基于RSA的哈希函数构造同态认证标签以用于完整性审计,利用T

【技术实现步骤摘要】
基于区块链的密文去重和去中心化审计方法


[0001]本专利技术涉及云存储中数据去重和完整性审计方法,特别是涉及一种基于区块链的密文去重和去中心化审计方法。

技术介绍

[0002]随着全球数据量的爆炸式增长,数据所有者本地存储数据的成本增加。因此,数据所有者自然希望将本地存储的大量数据迁移到存储成本更低的云存储服务器。云存储为数据所有者带来了相当大的好处,例如,无需复杂的本地存储管理且具有即时可用性。随着使用云存储服务的用户越来越多,云存储服务器产生了大量的冗余数据。为了提高云存储空间利用率,云存储服务提供商对冗余数据进行去重处理,即多个用户上传相同数据时服务器只保留一份。由于用户数据的机密性对于用户来说及其重要,一般上传数据至云服务器前会对数据进行加密处理。然而,传统的满足语义安全的加密算法与数据去重技术难以结合,因为相同数据选用相同的加密算法无法得到相同的密文,导致云存储服务器无法对用户上传的密文进行重复检测。收敛加密可以在保证数据机密性的同时支持密文去重。收敛加密算法使用的密钥源于数据本身,使得不同用户的相同数据可以加密成相同的密文从而可以实现密文去重。近年来,很多基于收敛加密的方案被提出,这些方案主要分为两类,客户端去重和服务端去重。客户端去重只需要通过上传去重标签到云服务器即可检查出云服务器是否已经存储数据,若云服务器中没有存储,则要求用户上传数据。若数据已经存储,用户无需上传数据。然而,服务端去重要求用户必须上传数据到云服务器。很明显,客户端去重大大节省了网络带宽的占用。然后,在客户端去重中,窃取到数据去重标签的攻击者可以直接从服务器端获取整个文件的访问权限,即所有权欺骗攻击。为了应对该问题,引入了所有权证明技术。
[0003]虽然用户从云存储中受益匪浅,但数据外包也带来了严重的安全问题。数据完整性作为云存储的核心安全问题已经成为研究热点。众所周知,云服务器并不完全可靠。云服务器的硬件或软件异常可能会导致数据损坏或丢失。云服务器甚至可能出于自身的经济利益,故意删除用户的部分数据。当这些问题发生时,云服务器也可能隐藏这些错误,并说服用户他们的数据保存完好。因此,用户需要一种有效的方法来验证远程数据的完整性。目前,研究者已经提出了许多远程数据完整性检查方案。现有的方案大部分引入了可信的第三方审计员来代理用户定期检查远程数据的完整性,为用户消除了繁重的验证负担。然而,当审计员是恶意时,这些方案容易受到攻击。为了抵抗恶意的审计员,人们提出了许多基于区块链的审计方案。然而,现有的基于区块链的审计方案依赖于容易出现单点故障的集中式审计员,且恶意审计员可能与恶意区块链矿工勾结产生有偏差的审计结果。另外,现有的审计方案缺乏有效的方法来惩罚恶意的云存储服务提供商,并对数据完整性遭到破坏的用户进行赔偿。为了解决该问题,引入公平仲裁机制,通过智能合约向云存储服务提供商收取一定的罚款,并赔偿数据完整性遭到破坏的用户。
[0004]基于以上原因,同时为了降低存储和审计成本,提高算法的效率和安全性,设计出
一种基于区块链的密文去重和去中心化审计方法是很有必要的。我们利用收敛加密算法确保数据的机密性,基于RSA的哈希函数构造同态认证标签以用于完整性审计,利用T
‑ꢀ
MHT存储认证标签降低存储成本并提高查询效率,采用基于T

MHT的所有权证明抵抗所有权欺骗攻击,基于RSA算法实现文件下载、删除以及更新中的身份认证。利用去中心化自治组织的概念阻止诱人的审计员勾结恶意的矿工并消除了容易出现单点故障的集中式审计员,利用公平仲裁机制惩罚恶意的云存储服务提供商,并对数据完整性遭到破坏的用户进行赔偿。

技术实现思路

[0005]专利技术目的:本专利技术的目的是提供一种基于区块链的密文去重和去中心化审计方法,能够在云上只存储同一数据的唯一副本,并确保其机密性、完整性和安全性。
[0006]技术方案:本专利技术公开了一种基于区块链的密文去重和去中心化审计方法,包括如下步骤:
[0007]步骤1:系统初始化;
[0008]步骤2:数据拥有者请求上传文件,采用收敛加密算法实现文件加密并生成去重标签,上传去重标签至云服务器;
[0009]步骤3:云服务器检查去重标签是否已存在于云服务器中;若不存在,数据拥有者基于 RSA的哈希函数构造同态认证标签其中,c
i
,1≤i≤l为密文块,l为密文块的数量,并将认证标签利用结合了T树的默克哈希树(T

MHT)结构存储至区块链中,同时,数据拥有者将密文和公钥上传至云服务器,云服务器对密文和认证标签进行一致性检测;若存在,进行基于T

MHT的数据所有权证明;若一致性检测或所有权证明通过,将数据拥有者的公钥插入到去重标签的所有权列表中,否则,上传失败;
[0010]步骤4:数据拥有者请求下载文件,云服务器对数据拥有者进行身份认证,若认证通过,云服务器发送密文给数据拥有者,否则,下载失败;
[0011]步骤5:数据拥有者请求删除文件,云服务器对数据拥有者进行身份认证,若认证通过,云服务器把数据拥有者的公钥从去重标签的所有权列表中删除,否则,删除失败;
[0012]步骤6:数据拥有者请求更新文件,云服务器对旧文件执行步骤5中删除操作,对更新文件执行步骤3中上传操作;
[0013]步骤7:数据拥有者向区块链提交审计请求,区块链生成挑战信息,将挑战信息发送给云服务器;
[0014]步骤8:在挑战信息生成之后,区块链聚合挑战信息的认证标签发送到区块链选择的随机节点;云服务器在收到来自区块链的挑战信息之后,生成数据证明信息发送到区块链选择的随机节点;
[0015]步骤9:随机节点验证证明信息并创建审计日志;
[0016]步骤10:数据拥有者审核节点的行为。
[0017]进一步地,所述步骤1具体包括:
[0018]步骤1.1:密钥生成中心设置系统参数;密钥生成中心KGC选取两个保密的大素数p1和 q1并生成RSA模数N=p1q1,QR
N
是模N的二次剩余集,g是QR
N
的生成元,公开N和g;
[0019]步骤1.2:数据拥有者生成密钥对((e,n),d);DO选取两个保密的大素数p2和q2,计算 n=p2q2,φ(n)=(p2‑
1)(q2‑
1),其中φ(n)是欧拉函数,DO随机选取整数e,1<e<φ
(n),满足gcd(e,φ(n))=1,计算d,满足de≡1modφ(n),DO的公钥为(e,n),私钥为d。
[0020]进一步地,所述步骤2具体包括:
[0021]步骤2.1:数据拥有者运行密钥生成算法K

KeyGen(F),该算法以文件F作为输入,返回收敛密钥K=H(F);
[0022]步骤2.2:数据拥有者运行加密算法C

Enc(K,F),该算法以收敛密钥K和文件F作为输入,返回密文C;
[0023]步骤2本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的密文去重和去中心化审计方法,其特征在于,包括如下步骤:步骤1:系统初始化;步骤2:数据拥有者请求上传文件,采用收敛加密算法实现文件加密并生成去重标签,上传去重标签至云服务器;步骤3:云服务器检查去重标签是否已存在于云服务器中;若不存在,数据拥有者基于RSA的哈希函数构造同态认证标签其中,c
i
,1≤i≤l为密文块,l为密文块的数量,并将认证标签利用结合了T树的默克哈希树(T

MHT)结构存储至区块链中,同时,数据拥有者将密文和公钥上传至云服务器,云服务器对密文和认证标签进行一致性检测;若存在,进行基于T

MHT的数据所有权证明;若一致性检测或所有权证明通过,将数据拥有者的公钥插入到去重标签的所有权列表中,否则,上传失败;步骤4:数据拥有者请求下载文件,云服务器对数据拥有者进行身份认证,若认证通过,云服务器发送密文给数据拥有者,否则,下载失败;步骤5:数据拥有者请求删除文件,云服务器对数据拥有者进行身份认证,若认证通过,云服务器把数据拥有者的公钥从去重标签的所有权列表中删除,否则,删除失败;步骤6:数据拥有者请求更新文件,云服务器对旧文件执行步骤5中删除操作,对更新文件执行步骤3中上传操作;步骤7:数据拥有者向区块链提交审计请求,区块链生成挑战信息,将挑战信息发送给云服务器;步骤8:在挑战信息生成之后,区块链聚合挑战信息的认证标签发送到区块链选择的随机节点;云服务器在收到来自区块链的挑战信息之后,生成数据证明信息发送到区块链选择的随机节点;步骤9:随机节点验证证明信息并创建审计日志;步骤10:数据拥有者审核节点的行为。2.根据权利要求1所述的基于区块链的密文去重和去中心化审计方法,其特征在于,所述步骤1具体包括:步骤1.1:密钥生成中心设置系统参数;密钥生成中心KGC选取两个保密的大素数p1和q1并生成RSA模数N=p1q1,QR
N
是模N的二次剩余集,g是QR
N
的生成元,公开N和g;步骤1.2:数据拥有者生成密钥对((e,n),d);DO选取两个保密的大素数p2和q2,计算n=p2q2,φ(n)=(p2‑
1)(q2‑
1),其中φ(n)是欧拉函数,DO随机选取整数e,1<e<φ(n),满足gcd(e,φ(n))=1,计算d,满足de≡1modφ(n),DO的公钥为(e,n),私钥为d。3.根据权利要求1所述的基于区块链的密文去重和去中心化审计方法,其特征在于,所述步骤2具体包括:步骤2.1:数据拥有者运行密钥生成算法K

KeyGen(F),该算法以文件F作为输入,返回收敛密钥K=H(F);步骤2.2:数据拥有者运行加密算法C

Enc(K,F),该算法以收敛密钥K和文件F作为输入,返回密文C;步骤2.3:数据拥有者运行去重标签生成算法T

TagGen(C),该算法以密文C作为输入,返回去重标签T=H(C);步骤2.4:数据拥有者上传去重标签T至云服务器。
4.根据权利要求1所述的基于区块链的密文去重和去中心化审计方法,其特征在于,所述步骤3中去重标签不存在于云服务器中的具体操作包括:步骤3.1:云服务器检查去重标签T是否已存在于云服务器中,若不存在,进行步骤3.2,若存在,进行步骤3.3;步骤3.2:云服务器返回“文件没有重复”给数据拥有者;数据拥有者将密文C拆分为一组密文块{c1,c2,

,c
l
},对于每个c
i
,1≤i≤l,计算认证标签Tag(c
i
),并将认证标签利用T

MHT结构存储至区块链中,同时将(C、(e,n))上传至云服务器;云服务器计算T

=H(C),并判断T

=T是否成立,若不成立,则文件上传失败;否则,继续下面的验证;云服务器首先按照数据拥有者的相同分块方式将密文C拆分为一组密文块{c1,c2,

,c
l
};对于每个c
i
,1≤i≤l,云服务器计算对应认证标签Tag(c
i
)...

【专利技术属性】
技术研发人员:金春花许永亮秦文雨刘畅陈晓兵单劲松
申请(专利权)人:淮阴工学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1