一种区块链网络中基于深度强化学习的云存储公开审计方法

文档序号:30614354发布日期:2022-07-02 00:32阅读:180来源:国知局
一种区块链网络中基于深度强化学习的云存储公开审计方法

1.本技术属于数据处理技术领域,具体涉及一种区块链网络中基于深度强化学习的云存储公开审计方法。


背景技术:

2.云存储被视为是大数据时代处理海量数据的一种重要的基础设施。但在今天,云计算中的云服务提供者、云用户以及第三方己经不再被假设为可信的,因为这个假设过于理想。即使第三方是完全可信的,集中式的第三方也容易成为攻击者的目标。
3.因此,一方面,云计算服务可能由于受到攻击造成瘫痪,进而导致用户隐私信息泄露;另一方面,由于公开审计方案中的第三方审计者tpa集中存储了机密信息,也容易受攻击。
4.鉴于此,提供一种区块链网络中基于深度强化学习的云存储公开审计方法,不仅最大程度地减少了系统长期开销,还提高了云存储中公开审计的安全性。


技术实现要素:

5.(一)要解决的技术问题
6.鉴于现有技术的上述缺点、不足,本技术提供一种区块链网络中基于深度强化学习的云存储公开审计方法。
7.(二)技术方案
8.为达到上述目的,本技术采用如下技术方案:
9.第一方面,本技术提供一种区块链网络中基于深度强化学习的云存储公开审计方法,包括:
10.l10、数据拥有者基于ecc算法的双线性映射函数获取用于数字签名的随机秘钥对(spk,ssk),并基于所述随机秘钥对(spk,ssk)获取用户私钥sk及用户公钥pk;
11.其中,ssk为随机私钥,spk为随机公钥;
12.l20、数据拥有者通过对需要上传到云端的文件f划分以获得文件块mi,通过用户私钥对文件块mi加密以获得加密文件块ei,并对加密文件块ei进行哈希操作以获取哈希标签;
13.l30、数据拥有者将加密文件f'上传到云端,将哈希标签广播给区块链网络中的所有网络节点,并将所述哈希标签添加到区块链网络中;
14.其中,所述加密文件f'为所有加密文件块ei按顺序排列所构成的文件;
15.l40、公开审计者接收数据拥有者发起的审计请求,将经过签名的mht证明根值p
bc
发送给数据拥有者;
16.所述公开审计者为基于区块链网络中的全部网络节点,数据拥有者通过随机可验证函数随机选择出的网络节点;
17.l50、云服务提供者接收数据拥有者发起的审计挑战,基于用户id验证所述数据拥
有者的外包数据,并将经过签名后的mht证明根值p
csp
发送给数据拥有者;
18.l60、数据拥有者通过检验是否同时满足p
bc
=p
csp
以及双曲线映射,以判断数据拥有者存储在云端的数据的完整性和正确性;
19.所述双曲线映射为映射e:g
×g→gr

20.其中,群g为gapdiffie-hellman群,群gr为质数ρ的乘法循环群。
21.可选的,所述l20之后,l30之前,还包括:数据拥有者基于群g随机选择一个元素u,通过随机私钥ssk对加密文件块ei进行签名,获得签名后的加密文件块σi。
22.可选的,所述l30之后,l40之前,还包括:数据拥有者在对其存储在云端的数据进行更新时,对区块链上对应的哈希标签进行动态更新。
23.可选的,所述l40包括:公开审计者基于数据拥有者的用户公钥pk和用户id,回溯所述数据拥有者在区块链上的哈希标签;
24.以及,公开审计者基于所述哈希标签构建mht,基于所述mht获取mht证明根值p
bc
,并对所述mht证明根值p
bc
进行签名;
25.其中,所述mht为基于哈希值的多树或二叉树。
26.可选的,所述l50还包括:若当前数据拥有者无法检验外包数据的完整性和正确性,则基于区块链网络选择一个新的数据拥有者;
27.以及,所述新的数据拥有者基于当前数据拥有者的用户id和用户公钥pk,对当前数据拥有者外包数据的完整性和正确性进行检验。
28.可选的,所述l50包括:云服务提供者通过对数据拥有者的用户id的加密文件块ei进行哈希计算来构建mht;
29.以及,云服务提供者基于所述mht获取mht证明根值p
csp
,并对所述mht证明根值p
csp
进行签名。
30.可选的,所述l60包括:若满足p
csp
=p
bc
,以及双线性映射满足双线性、可计算性和非退化性,则所述数据拥有者存储在云端的数据具有完整性和正确性;否则,所述数据不具有完整性和正确性。
31.可选的,所述l10之前,还包括:
32.l01、公开审计者通过对随机过程进行初始化,以探索需要执行的动作;公开审计者初始化区块链网络环境,并接收初始观察状态s1;
33.其中,通过随机函数产生所述随机过程;
34.l02、公开审计者基于预先定义的审计策略,通过执行动作a
t
对噪声进行探索和采样;
35.其中,a
t
为共识周期t的动作;
36.l03、公开审计者通过执行动作a
t
,设置共识周期t+1的长度和区块的大小;若满足约束条件,公开审计者则将奖励r
t
设置为吞吐量,否则设置奖励r
t
=0,并观察共识周期t+1的状态s
t+1

37.其中,基于对状态空间、动作空间、奖励的条件限定,确定所述约束条件;
38.l04、公开审计者将经验样本数据(s
t
,a
t
,r
t
,s
t+1
)存储到回放缓存r和区块链中,并对网络目标值进行设置;
39.l05、公开审计者基于最小化损失函数对critic网络进行更新,通过样本梯度下降
法对actor网络进行更新,并对critic目标网络和actor目标网络进行更新;
40.其中,所述目标网络为通过设置网络目标值所确定的网络。
41.可选的,1)所述状态空间s
t
表示为:s
t
=[p,n]
t
[0042]
其中,p为等待追加到区块链的交易数,n为区块链网络中的节点数;
[0043]
2)所述动作空间a
t
表示为:a
t
=[t
total
,sb,b]
t
[0044]
其中,t
total
为共识周期的总延迟,sb为区块链中的区块大小;令l为最大共识周期长度,t
total
∈(0,l);b=2i,i=0,1,2...,b,b∈n;
[0045]
3)所述奖励r
t
表示为:
[0046][0047]
其中,sa为交易的平均大小,nc为交易的副本数量,sh为区块头大小,r
t
为数据传输速度,tv为节点的身份认证时间,ca为添加新区块到区块链中需要花费的时间,t
gs
为生成一个新的状态区块需要的时间,tj为新节点加入区块链网络的时间,tr为过程中生成随机数的时间。
[0048]
(三)有益效果
[0049]
首先、基于区块链的云存储公开审计方案设计了一个深度强化学习的模型,提高了基于区块链的云存储公开审计方案的吞吐量,并降低了网络延迟。
[0050]
其次、通过设计一个深度强化学习模型,进而对最大化交易吞吐量和最小化网络延迟这两个问题进行形式化。
[0051]
最后、本方法能够确保区块链网络中基于深度强化学习的云存储公共审计方案的安全性。
附图说明
[0052]
本技术借助于以下附图进行描述:
[0053]
图1为区块链网络中基于深度强化学习的云存储公开审计方法流程示意图;
[0054]
图2为基于区块链的云存储公开审计方法的深度强化学习模型示意图;
[0055]
图3为基于区块链的云存储公开审计方法的深度强化学习模型训练流程示意图。
具体实施方式
[0056]
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。可以理解的是,以下所描述的具体的实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合;为了便于描述,附图中仅示出了与发明相关的部分。
[0057]
实施例一提供一种区块链网络中基于深度强化学习的云存储公开审计方法,如图1所示,具体为:
[0058]
l10、数据拥有者基于ecc算法的双线性映射函数获取用于数字签名的随机秘钥对(spk,ssk),并基于所述随机秘钥对(spk,ssk)获取用户私钥sk及用户公钥pk。
[0059]
本实施例中,上述l10中数据拥有者的操作借助于计算机完成。
[0060]
本实施例中,数据拥有者为通过借助于任一电子设备/计算设备,将其拥有的数据或文件存储到云端的操作电子设备/计算设备的个人或组织;另外,ssk为随机私钥,spk为随机公钥。
[0061]
基于上述l10,一种可选的处理过程为:
[0062]
数据拥有者将g作为群g(gapdiffie-hellman群)的生成元,每个数据拥有者生成一个用于签名的随机密钥对(spk,ssk),具体为:每个数据拥有者选择一个随机数a∈z
p
,并基于ga计算出v;进而,数据拥有者基于(a,ssk)获得用户私钥sk,数据拥有者基于(v,spk)获得用户公钥pk。
[0063]
本实施例中,群g为双曲线映射中的gapdiffie-hellman群,所述双曲线映射为映射e:g
×g→gr
,其中,群gr为质数ρ的乘法循环群。
[0064]
l20、数据拥有者通过对需要上传到云端的文件f划分以获得文件块mi,通过用户私钥对文件块mi加密以获得加密文件块ei,并对加密文件块ei进行哈希操作以获取哈希标签。
[0065]
本实施例中,上述l20中数据拥有者的操作借助于计算机完成。
[0066]
基于上述l20,一种可选的处理过程为:
[0067]
第一、数据拥有者可借助于计算机,把需要上传到云端的文件f划分为固定大小的文件块mi;具体为:f={m1,m2,

mi,
…mn
},i∈[1,n],其中,mi为第i个文件块;
[0068]
第二、数据拥有者可借助于计算机,获取的用户私钥sk对mi进行加密,进而得到加密文件块ei;具体地,数据拥有者基于enc
sk
(mi)获得ei,其中,enc()为加密操作,同时数据拥有者通过f'={e1,e2…ei
…en
}得到加密文件f';
[0069]
第三、数据拥有者可借助于计算机,通过对得到的加密文件块ei进行哈希操作;具体地,数据拥有者基于h(ei)得到相应的哈希标签τi,其中,h()为哈希操作,同时数据拥有者通过τ={τ1,τ2,

τi,

τn}获得所有加密文件块所对应的哈希标签。
[0070]
本实施例中,数据拥有者在借助于计算机获取哈希标签之后,数据拥有者还需要基于群g随机选择一个元素u,并通过随机私钥ssk对加密文件块ei进行签名,以便获得签名后的加密文件块σi;具体为:数据拥有者基于获得σi,同时数据拥有者通过φ={σ1,σ2…
σi…
σn}得到签名后的加密文件φ。
[0071]
l30、数据拥有者将加密文件f'上传到云端,将哈希标签广播给区块链网络中的所有网络节点,并将所述哈希标签添加到区块链网络中。
[0072]
本实施例中,上述l30中数据拥有者的操作借助于计算机完成。
[0073]
本实施例中,所述加密文件f'为所有加密文件块ei按顺序排列所构成的文件;
[0074]
本实施例中,数据拥有者在借助于计算机将哈希标签添加到区块链网络之后,在对其拥有的数据进行更新的同时,数据拥有者也对区块链上对应的哈希标签进行动态更新。
[0075]
l40、公开审计者接收数据拥有者发起的审计请求,将经过签名的mht证明根值p
bc
发送给数据拥有者。
[0076]
本实施例中,公开审计者为:数据拥有者基于随机可验证函数vrf(verifiable random function),从区块链网络中的全部网络节点中随机选择出的网络节点。
[0077]
本实施例中,优选的,所述随机选择出的网络节点的数量为3个。
[0078]
基于上述l40,在具体处理过程中,包括:
[0079]
第一、公开审计者基于数据拥有者发起的审计请求,根据数据拥有者的用户公钥pk和u
id
,回溯数据拥有者在区块链上的哈希标签τi;
[0080]
第二、公开审计者基于所述哈希标签τi构建mht,公开审计者基于所述mht生成p
bc
,具体为:公开审计者基于buildmht(h(ei))获得证明p
bc

[0081]
其中,所述mht为基于哈希值的多树或二叉树;
[0082]
第三、公开审计者对获得的证明根植p
bc
进行签名,公开审计者将签名后的证明根植p
bc
发送给数据拥有者。
[0083]
l50、云服务提供者接收数据拥有者发起的审计挑战,基于用户id验证所述数据拥有者的外包数据,并将经过签名后的mht证明根值p
csp
发送给数据拥有者。
[0084]
本实施例中,每次审计挑战是由数据拥有者向云服务提供者所发起的,以实现云服务提供者对数据拥有者外包数据的完整性和正确性进行验证。
[0085]
基于上述l50,一种可选的处理过程包括:
[0086]
若当前数据拥有者拥有充足的数据资源,数据拥有者则基于用户公钥pk和用户id向云服务提供者发起一次审计挑战chal,具体为:数据拥有者基于chalgen(pk,u
id
)发起审计挑战chal,然后云服务提供者根据用户id验证当前数据拥有者的外包数据。
[0087]
基于上述l50,一种可选的处理过程还包括:
[0088]
第一、若当前数据拥有者由于所拥有的数据资源匮乏,进而导致云服务提供者无法根据当前数据拥有者的用户公钥pk和用户id,对当前数据拥有者的外包数据进行验证,当前数据拥有者则基于区块链网络选择一个新的数据拥有者;
[0089]
第二、选择出的新的数据拥有者基于当前数据拥有者的用户id和用户公钥pk,对当前数据拥有者的外包数据进行检验;
[0090]
第三、当前数据拥有者把审计任务外包给公开审计者。
[0091]
基于上述l50,在具体处理过程中,还包括:
[0092]
第一、云服务提供者基于接收到的审计挑战,通过对数据拥有者的用户id的加密文件块ei进行哈希运算,进而构建mht;
[0093]
第二、云服务提供者基于mht生成p
csp
,具体为:基于buildmht(h(ei))获得mht的证明根植p
csp

[0094]
第三、云服务提供者对获得的证明根植p
csp
进行签名,并将签名后的证明根植p
csp
发送给数据拥有者。
[0095]
l60、数据拥有者通过检验是否同时满足p
bc
=p
csp
以及双曲线映射,以判断数据拥有者存储在云端的数据的完整性和正确性。
[0096]
本实施例中,上述l60中数据拥有者的操作借助于计算机完成。
[0097]
本实施例中,若满足p
csp
=p
bc
,以及双线性映射满足双线性、可计算性和非退化性,则所述数据拥有者存储在云端的数据具有完整性和正确性;否则,所述数据不具有完整性和正确性。
[0098]
本实施例中,第一、数据拥有者对于双线性映射的双线性的判断如下:
[0099]
对任意u,v∈g,以及a,b∈ρ,若等式e(ua,vb)=e(u,v)
ab
成立,则满足双线性。
[0100]
第二、数据拥有者对于双线性映射的可计算性的判断具体为:在多项式时间内,是否存在一种用于计算e的有效可计算算法,若存在,则满足可计算性,否则不满足。
[0101]
第三、数据拥有者对于双线性映射的非退化性的判断具体为:若群g的生成元g满足e(g,g)≠1,则满足非退化性。
[0102]
另外,在l10之前,需要对本技术中云存储公开审计方法所基于的深度强化学习模型进行模型训练。
[0103]
如图2所示,本技术中云存储公开审计方法所基于的深度强化学习模型,需要基于critic网络、actor网络,以及critic网络和actor网络的target网络进行模型训练,并通过agent对actor网络的审计策略μ(s
t

μ
)进行维护,以及通过agent对critic网络的价值函数q(s,a|θq)进行评估。
[0104]
其中,所述代理agent为:数据拥有者借助于计算机,根据不同节点的计算能力,从动态区块链网络中的所有节点中所选择出的矿工节点;以及,θ
μ
和θq为权重参数。
[0105]
深度强化学习模型训练的过程如图3所示,具体包括:
[0106]
l01、公开审计者通过对随机过程进行初始化,以探索需要执行的动作;公开审计者初始化区块链网络环境,并接收初始观察状态s1。
[0107]
本实施例中,公开审计者通过随机函数产生随机过程。
[0108]
l02、公开审计者基于预先定义的审计策略,通过执行动作a
t
对噪声进行探索和采样。
[0109]
本实施例中,a
t
为共识周期t的动作,所述a
t
的确定公式如下:
[0110]at
=μ(s
t

μ
)+n
t

[0111]
l03、公开审计者通过执行动作a
t
,设置共识周期t+1的长度和区块的大小;若满足约束条件,公开审计者则将奖励r
t
设置为吞吐量,否则设置奖励r
t
=0,并观察共识周期t+1的状态s
t+1

[0112]
本实施例中,公开审计者基于对状态空间、动作空间、奖励的条件限定,对约束条件进行确定。
[0113]
1)所述状态空间s
t
表示为:s
t
=[p,n]
t
[0114]
其中,p为等待追加到区块链的交易数,n为区块链网络中的节点数;
[0115]
2)所述动作空间a
t
表示为:a
t
=[t
total
,sb,b]
t
[0116]
其中,t
total
为共识周期的总延迟,sb为区块链中的区块大小;令l为最大共识周期长度,t
total
∈(0,l);b=2i,i=0,1,2...,b,b∈n;
[0117]
3)所述奖励r
t
表示为:
[0118]
[0119]
其中,sa为交易的平均大小,nc为交易的副本数量,sh为区块头大小,r
t
为数据传输速度,tv为节点的身份认证时间,ca为添加新区块到区块链中需要花费的时间,t
gs
为生成一个新的状态区块需要的时间,tj为新节点加入区块链网络的时间,tr为过程中生成随机数的时间。
[0120]
l04、公开审计者将经验样本数据(s
t
,a
t
,r
t
,s
t+1
)存储到回放缓存r和区块链中,并对网络目标值进行设置。
[0121]
本实施例中,公开审计者通过y
t
=r
t
+γq'(s
t+1
,μ'(s
t+1

μ'
)|θ
μ'
)对网络目标值y
t
进行设置。
[0122]
l05、公开审计者基于最小化损失函数对critic网络进行更新,通过样本梯度下降法对actor网络进行更新,并对critic目标网络和actor目标网络进行更新。
[0123]
本实施例中,目标网络为公开审计者通过设置网络目标值所确定的网络。
[0124]
基于上述l05,一种可选的处理方式包括:公开审计者通过最小化损失函数对critic网络进行更新,所述最小化损失函数为:
[0125][0126]
基于上述l05,一种可选的处理方式包括:公开审计者通过样本梯度下降法对actor网络进行更新,所述样本梯度下降法具体表示为:
[0127][0128]
基于上述l05,一种可选的处理方式包括:公开审计者具体通过ξθq+(1-ξ)θ
q'
对critic目标网络进行更新。
[0129]
基于上述l05,一种可选的处理方式包括:公开审计者具体通过ξθ
μ
+(1-ξ)θ
μ'
对actor目标网络进行更新。
[0130]
实施例一所述的一种区块链网络中基于深度强化学习的云存储公开审计方法,通过去中心化的区块链技术取代第三方审计者tpa的中心化的功能,以及对深度强化学习模型进行模型训练,不仅最大程度减少了系统长期开销,还提高了云存储中公开审计的安全性。
[0131]
应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。
[0132]
尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例做出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0133]
显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精
神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1