【技术实现步骤摘要】
基于区块链的密文去重和去中心化审计方法
[0001]本专利技术涉及云存储中数据去重和完整性审计方法,特别是涉及一种基于区块链的密文去重和去中心化审计方法。
技术介绍
[0002]随着全球数据量的爆炸式增长,数据所有者本地存储数据的成本增加。因此,数据所有者自然希望将本地存储的大量数据迁移到存储成本更低的云存储服务器。云存储为数据所有者带来了相当大的好处,例如,无需复杂的本地存储管理且具有即时可用性。随着使用云存储服务的用户越来越多,云存储服务器产生了大量的冗余数据。为了提高云存储空间利用率,云存储服务提供商对冗余数据进行去重处理,即多个用户上传相同数据时服务器只保留一份。由于用户数据的机密性对于用户来说及其重要,一般上传数据至云服务器前会对数据进行加密处理。然而,传统的满足语义安全的加密算法与数据去重技术难以结合,因为相同数据选用相同的加密算法无法得到相同的密文,导致云存储服务器无法对用户上传的密文进行重复检测。收敛加密可以在保证数据机密性的同时支持密文去重。收敛加密算法使用的密钥源于数据本身,使得不同用户的相同数据可以加密成相同的密文从而可以实现密文去重。近年来,很多基于收敛加密的方案被提出,这些方案主要分为两类,客户端去重和服务端去重。客户端去重只需要通过上传去重标签到云服务器即可检查出云服务器是否已经存储数据,若云服务器中没有存储,则要求用户上传数据。若数据已经存储,用户无需上传数据。然而,服务端去重要求用户必须上传数据到云服务器。很明显,客户端去重大大节省了网络带宽的占用。然后,在客户端去重中,窃取到数据去重 ...
【技术保护点】
【技术特征摘要】
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
)...
【专利技术属性】
技术研发人员:金春花,许永亮,秦文雨,刘畅,陈晓兵,单劲松,
申请(专利权)人:淮阴工学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。