基于区块链支付机制的属性基外包解密及其验证审计方法技术

技术编号:37239025 阅读:18 留言:0更新日期:2023-04-20 23:20
本发明专利技术涉及一种基于区块链支付机制的属性基外包解密及其验证审计方法,通过将区块链支付技术与属性基加密相结合,完成属性基加密的功能性拓展,通过增加外包计算来减少计算资源有限的轻量级设备的计算负担,通过增加验证功能来保证外包结果的正确性,通过增加批量验证来进一步减少计算资源有限的轻量级设备的计算负担,通过增加支付功能来保证外包功能能够正常运行。本发明专利技术为防止云服务中心通过伪造解密结果获取支付酬劳,同时防止终端用户拿到解密结果后拒绝承认其正确性而逃避支付酬劳,对解密结果进行公开审计,保证双方交易的公平性。性。性。

【技术实现步骤摘要】
基于区块链支付机制的属性基外包解密及其验证审计方法


[0001]本专利技术属于信息安全
,尤其涉及一种基于区块链支付机制的属性基外包解密及其验证审计方法。

技术介绍

[0002]长期以来,大量的双线性配对运算是影响属性基加密(ABE)方案加解密效率的重要因素,虽然针对双线性对运算的优化已经做了大量工作,但对于终端用户(尤其是计算资源有限的轻量级的设备)而言,当前的解密运算依然是一种负担。外包解密是解决上述问题的一种方式,通过将属性基的解密运算外包给算力强大的云服务中心,在充分利用外部设备强大算力的同时,缓解了终端用户的计算压力,提高解密效率。但是,使用云服务中心进行外包解密并不是免费的,终端用户需要根据外包结果支付给云服务中心酬劳,但在此过程中,云服务中心和用户都存在违约的可能性,云服务中心可能伪造外包解密结果来获得酬劳,用户也可能获得了外包结果但拒绝支付酬劳。为了解决上述的问题,出现了对用户验证结果的公开审计,防止云服务中心伪造外包结果同时防止用户抵赖。但在实际使用中,外包的数据量通常是非常巨大的,密文的验证过程仍需要巨大的运算量,因此使用批量验证来减轻用户的负担,尤其是计算资源有限的轻量级设备的负担。从而设计并实现基于区块链支付机制的属性基外包解密及其验证审计方法,具有重要研究价值

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种基于区块链支付机制的属性基外包解密及其验证审计方法,以解决属性基加密算法中对终端用户的计算资源要求较高与有偿外包的酬劳支付问题。
[0004]为实现上述目的,本专利技术采用如下技术方案:
[0005]一种基于区块链支付机制的属性基外包解密方法,提供一系统包括密钥分发中心KGC、终端用户、数据拥有者和云服务中心,包括如下步骤:
[0006]步骤S101:密钥分发中心KGC运行系统初始化函数生成系统公开参数和主私钥,将系统公开参数发送给云服务中心和终端用户,主私钥秘密保存,同时,终端用户利用系统公开参数生成终端用户主公私钥对,秘密保存终端用户的主私钥;
[0007]步骤S102:终端用户将终端用户主公钥发送给密钥分发中心KGC并提交密钥申请,KGC调用用户密钥生成算法为终端用户生成用户密钥;
[0008]步骤S103:终端用户利用用户密钥并运行外包密钥生成函数生成外包密钥与解密密钥,终端用户向智能合约支付定金后可在区块链上发布外包任务,在发布外包任务时,将外包密钥也上传到区块链上,解密密钥秘密保存;
[0009]步骤S104:终端用户利用用户密钥并运行验证密钥生成函数生成验证密钥与证据密钥,终端用户向智能合约支付定金后可在区块链上发布外包任务,在发布外包任务时,将验证密钥也上传到区块链上,证据密钥秘密保存;
[0010]步骤S105:数据拥有者利用系统主公钥和密文访问策略加密明文生成密文,并将密文保存在云服务中心;
[0011]步骤S106:云服务中心向智能合约支付定金后可从区块链上接受外包任务,接受外包任务后利用任务对应的外包密钥和验证密钥,将密文数据部分解密生成外包解密结果并发送给终端用户。
[0012]进一步的,所述步骤S101,具体为:密钥分发中心KGC首先选取双线性群D=(G,G
T
,e,p),G均为阶为素数p的加法循环群,G
T
为阶为素数p的乘法循环群,e为从G
×
G

G
T
的双线性映射,群G的生成元为g,随机选取u,h,w,v∈G,α∈Z
p
,并确定一个哈希函数H:G

Z
p
,密钥分发中心KGC秘密保存msk=α,公开pp=(D,g,w,v,u,h,e(g,g)
α
,H),同时,终端用户产生随机数y,y

∈Z
p
,计算Y=g
y
,Y

=g
y

,设置终端用户主公钥为pk
u
=(Y,Y'),终端用户主私钥为sk
u
=(y,y

),将用户主公钥公开
[0013]进一步的,所述步骤S102,具体为:基于终端用户属性集合A=A1,...,A
k
和终端用户主公钥pk
u
=(Y,Y

),产生随机数r,r1,

,r
k
,r

,r
′1,

,r

k
∈Z
p
,计算sk1=Y
α
·
w
r
,sk2=g
r
,sk
′2=Y

r

,令令作为终端用户私钥。
[0014]进一步的,所述步骤S103,具体为:已知用户属性集合A=A1,...,A
k
,计算tk1=sk1,tk2=sk2,tk
i,3
=sk
i,3
,tk
i,4
=sk
i,4
,令,令作为外包密钥并公开,令dk
id
=y作为解密密钥由终端用户秘密保存。
[0015]进一步的,所述步骤S104,具体为:已知用户属性集合A=A1,

,A
k
,计算vk1=(sk1·
w
r

)
y

,vk
i,4
=(sk
i,4
·
sk

i,4
)
y
,令作为验证密钥并公开,令wk
id
={y,r

,r
′1,

,r

k
}作为证据密钥由终端用户秘密保存。
[0016]进一步的,所述步骤S105,具体为:数据拥有者确定密文的访问策略(M,ρ)与需要加密的信息m;其中M为l
×
n的矩阵,ρ是一个能够将M的每一行映射为一个属性的函数,产生一个随机向量计算v
i
=M
i
·
其中M
i
是M的第i行;产生l个随机值μ1,


l
∈Z
p
,计算C0=e(g,g)
αμ
·
m,C1=g
μ
,C5=g
H(m)

[0017]令CT
(M,ρ)
=((M,ρ),C0,C1,{C
i,2
,C
i,3
,C
i,4
}
i∈[1,l],C5)作为密文上传到云服务中心秘密保存。
[0018]进一步的,所述步骤本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链支付机制的属性基外包解密方法,提供一系统包括密钥分发中心KGC、终端用户、数据拥有者和云服务中心,其特征在于,包括如下步骤:步骤S101:密钥分发中心KGC运行系统初始化函数生成系统公开参数和主私钥,将系统公开参数发送给云服务中心和终端用户,主私钥秘密保存,同时,终端用户利用系统公开参数生成终端用户主公私钥对,秘密保存终端用户的主私钥;步骤S102:终端用户将终端用户主公钥发送给密钥分发中心KGC并提交密钥申请,KGC调用用户密钥生成算法为终端用户生成用户密钥;步骤S103:终端用户利用用户密钥并运行外包密钥生成函数生成外包密钥与解密密钥,终端用户向智能合约支付定金后可在区块链上发布外包任务,在发布外包任务时,将外包密钥也上传到区块链上,解密密钥秘密保存;步骤S104:终端用户利用用户密钥并运行验证密钥生成函数生成验证密钥与证据密钥,终端用户向智能合约支付定金后可在区块链上发布外包任务,在发布外包任务时,将验证密钥也上传到区块链上,证据密钥秘密保存;步骤S105:数据拥有者利用系统主公钥和密文访问策略加密明文生成密文,并将密文保存在云服务中心;步骤S106:云服务中心向智能合约支付定金后可从区块链上接受外包任务,接受外包任务后利用任务对应的外包密钥和验证密钥,将密文数据部分解密生成外包解密结果并发送给终端用户。2.根据权利要求1所述的基于区块链支付机制的属性基外包解密方法,其特征在于,所述步骤S101,具体为:密钥分发中心KGC首先选取双线性群D=(G,G
T
,e,p),G为阶为素数p的加法循环群,G
T
为阶为素数p的乘法循环群,e为从G
×
G

G
T
的双线性映射,群G的生成元为g,随机选取u,h,w,v∈G,α∈Z
p
,并确定一个哈希函数H:G

Z
p
,密钥分发中心KGC秘密保存msk=α,公开pp=(D,g,w,v,u,h,e(g,g)
α
,H),同时,终端用户产生随机数y,y

∈Z
p
,计算Y=g
y
,Y

=g
y

,设置终端用户主公钥为pk
u
=(Y,Y'),终端用户主私钥为sk
u
=(y,y

),将用户主公钥公开。3.根据权利要求2所述的基于区块链支付机制的属性基外包解密方法,其特征在于,所述步骤S102,具体为:基于终端用户属性集合A=A1,

,A
k
和终端用户主公钥pk
u
=(Y,Y

),产生随机数r,r1,

,r
k
,r

,r
′1,

,r

k
∈Z
p
,计算sk1=Y
α
·
w
r
,sk2=g
r
,,sk
′2=Y

r

,令令作为终端用户私钥。4.根据权利要求3所述的基于区块链支付机制的属性基外包解密方法,其特征在于,所述步骤S103,具体为:已知用户属性集合A=A1,

,A
k
,计算tk1=sk1,tk2=sk2,tk
i,3
=sk
i,3
,tk
i,4
=sk
i,4
,令作为外包密钥并公开,令dk
id
=y作为解密密钥由终端用户秘密保存。5.根据权利要求4所述的基于区块链支付机制的属性基外包解密方法,其特征在于,所述步骤S104,具体为:已知用户属性集合A=A1,
…<...

【专利技术属性】
技术研发人员:宁建廷侯泽森许胜民黄欣沂
申请(专利权)人:福建师范大学
类型:发明
国别省市:

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

1