一种基于区块链的公开可验证外包属性基加密方法技术

技术编号:28128662 阅读:27 留言:0更新日期:2021-04-19 11:47
本发明专利技术提供一种基于区块链的公开可验证外包属性基加密方法,不仅追踪恶意用户的秘密密钥,而且还撤销恶意用户,同时,还可以及时更新密文,可公开验证外包解密,提供了机制的前向安全性。本发明专利技术包括如下步骤:A、系统初始化;B、加密;C、密钥生成;D、解密;E、外包密钥生成;F、外包转换;G、外包解密;H、追溯用户身份。追溯用户身份。追溯用户身份。

【技术实现步骤摘要】
一种基于区块链的公开可验证外包属性基加密方法


[0001]本专利技术涉及一种基于区块链的公开可验证外包属性基加密方法。

技术介绍

[0002]在过去的几十年中,随着物联网(IoT)的不断发展,传统物联网系统可能会面临着效率和系统安全性的挑战。首先,由于物联网设备与传统云服务器之间的传输的数据量很大,因此云服务器将遭受传输延迟和服务质量下降的困扰。其次,敏感数据在上传到云服务器之前必须对其进行加密,并且共享敏感数据时必须支持细粒度访问控制。最后,恶意云服务器可能会篡改敏感数据,从而使物联网设备无法正确地访问数据。
[0003]针对第一个问题,雾计算是一种可以较好地解决问题的合适技术。雾计算位于IoT设备和传统的集中式云基础架构之间,并且雾节点比云服务器更加接近IoT设备。因此,使用雾计算的IoT系统可确保在启用的实时网络应用程序和设备具有更少的延迟和足够的计算资源。
[0004]此外,基于密文策略属性的加密(CP

ABE)作为一种有前途的加密原语可以有效地解决第二个问题,它通常用于在云中实现数据细粒度的密码访问控制。然而,由于物联网设备的存储和计算能力有限,因此具有外包解密功能的CP

ABE更加适用于物联网场景。大多数现有的具有外包解密的CP

ABE方案在验证解密结果时,只允许原始解密者检查第三方代理机构是否返回了正确的转换密文。在这种情况下,一旦对解密结果产生了争议,则必须向仲裁者泄露解密密钥。因此,具有外包解密功能的CP

>ABE必须实现解密结果的公开可验证性。同样的,传统的CP

ABE仍然存在一个问题,即恶意的用户可能会将自己的解密密钥泄露给他人,并且该恶意用户不承担被追踪和撤销的风险。
[0005]综上所述,因此必须设计一个支持对恶意用户的追踪和撤销以及可公开验证外包解密的CP

ABE方案。

技术实现思路

[0006]本专利技术的目的在于克服现有技术中存在的上述不足,而提供一种设计合理的基于区块链的公开可验证外包属性基加密方法,不仅追踪恶意用户的秘密密钥,而且还撤销恶意用户,同时,还可以及时更新密文,可公开验证外包解密,提供了机制的前向安全性。
[0007]本专利技术解决上述问题所采用的技术方案是:
[0008]一种基于区块链的公开可验证外包属性基加密方法,其特征在于:包括如下步骤:
[0009]A、系统初始化:可信机构根据安全参数和全体属性集合生成全局公共密钥和主密钥,并公布全局公共密钥和不公布主密钥;
[0010]B、加密:数据拥有者根据全局公共密钥、访问结构以及覆盖列表,对消息进行加密并且产生密文;
[0011]C、密钥生成:可信机构根据全局公共密钥、用户的身份信息以及用户属性集,生成解密密钥,并将解密密钥发送给数据用户;
[0012]D、解密:用户利用解密密钥将密文解密成消息;
[0013]E、外包密钥生成:用户根据解密密钥将其转化为转换密钥以及检索密钥,并将转换密钥发送给雾节点并且自己保存检索密钥;
[0014]F、外包转换:雾节点根据全局公共密钥、密文以及转换密钥,将密文外包转换为转换密文,然后雾节点将转换密文发送给数据用户;
[0015]G、外包解密:用户根据检索密钥、密文以及转换密文,生成消息;
[0016]H、追溯用户身份:可信机构根据全局公共密钥、最小覆盖列表以及解密密钥,输出用户身份信息或者输出错误信息;
[0017]I、密文更新:可信机构根据全局公共密钥、密文以及最小覆盖列表,生成更新密文;可信机构将更新密文发送给雾节点。
[0018]本专利技术步骤A具体包括如下步骤:
[0019]A1、首先可信机构接收一个全体属性集合U,并根据一个隐式的安全参数λ,选取阶为素数p、生成元为g的两个乘法循环群和和一个双线性映射然后,可信机构初始化一个空的用户撤销列表L以及一个满二叉树初始化完毕后,可信机构将用户的身份分配给满二叉树的叶子节点上,该二叉树按照广度优先搜索方法对每一个节点进行编号,其中根节点的编号为0,并且用d来表示二叉树的深度,从而可知用户的最大数量为|Num|=2
d
,二叉树的节点数量为2|Num|

2,因此二叉树的最后一个叶子节点的编号为2|Num|

2;
[0020]A2、可信机构选择两个随机数α,其中是p阶整数环;随后,可信机构同样也选择五个随机数g,u,v,d,
[0021]A3、对于每个属性值i∈U,可信机构都选取随机数其中是p阶正整数环,并且计算与属性值相关联的属性公钥组件
[0022]A4、可信机构随机选取一个抗碰撞哈希函数该哈希函数能够将消息m或者随机消息m

映射成一个在内的元素;
[0023]A5、对于二叉树中的每一个节点,可信机构都随机选取一个随机数然后生成主密钥组件也同时生成与用户身份相关联的二叉树公钥组件
[0024]A6、可信机构选择一个概率加密方案(Enc,Dec),其中Enc是加密函数,Dec是解密函数;
[0025]A7、可信机构公布公共密钥PK,以及不公布主密钥MSK。
[0026]本专利技术步骤B具体包括如下步骤:
[0027]B1、数据拥有者选择一个访问结构其中M是一个l
×
n阶的访问矩阵,ρ是一个能够将M
i
映射成一个属性的映射算法,其中M
i
为访问矩阵M的第i行;然后,数据拥有者选择两个随机的秘密指数s,并且设置两个随机列向量v=(s,v2,...,v
n
)和v


(s

,v
′2,...,v

n
),其中最后,对于每个M
i
,数据拥有者都计算与秘密指数s和s

相关的有效份额λ
i
=M
i
×
v和λ

i
=M
i
×
v


[0028]B2、数据拥有者选择要加密的信息m和随机选择的信息m

,并且计算与访问结构相关联的密文组件C1=m
·
e(g,g)
αs
,C
′1=g
s
,C
″1=g
as
,C2=m

·
e(g,g)
αs

,C
′2=g
s

,和C
″2=g
as


[0029]B3、数据拥有者一旦接收到由可信机构发送的最新覆盖列表cover(L),数据拥有者就会生成与该覆盖列表cover(L)相关联的密文组件
[0030]B4、最本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的公开可验证外包属性基加密方法,其特征在于:包括如下步骤:A、系统初始化:可信机构根据安全参数和全体属性集合生成全局公共密钥和主密钥,并公布全局公共密钥和不公布主密钥;B、加密:数据拥有者根据全局公共密钥、访问结构以及覆盖列表,对消息进行加密并且产生密文;C、密钥生成:可信机构根据全局公共密钥、用户的身份信息以及用户属性集,生成解密密钥,并将解密密钥发送给数据用户;D、解密:用户利用解密密钥将密文解密成消息;E、外包密钥生成:用户根据解密密钥将其转化为转换密钥以及检索密钥,并将转换密钥发送给雾节点并且自己保存检索密钥;F、外包转换:雾节点根据全局公共密钥、密文以及转换密钥,将密文外包转换为转换密文,然后雾节点将转换密文发送给数据用户;G、外包解密:用户根据检索密钥、密文以及转换密文,生成消息;H、追溯用户身份:可信机构根据全局公共密钥、最小覆盖列表以及解密密钥,输出用户身份信息或者输出错误信息;I、密文更新:可信机构根据全局公共密钥、密文以及最小覆盖列表,生成更新密文;可信机构将更新密文发送给雾节点。2.根据权利要求1所述的基于区块链的公开可验证外包属性基加密方法,其特征在于:步骤A具体包括如下步骤:A1、首先可信机构接收一个全体属性集合U,并根据一个隐式的安全参数λ,选取阶为素数p、生成元为g的两个乘法循环群和和一个双线性映射然后,可信机构初始化一个空的用户撤销列表L以及一个满二叉树初始化完毕后,可信机构将用户的身份分配给满二叉树的叶子节点上,该二叉树按照广度优先搜索方法对每一个节点进行编号,其中根节点的编号为0,并且用d来表示二叉树的深度,从而可知用户的最大数量为|Num|=2
d
,二叉树的节点数量为2|Num|

2,因此二叉树的最后一个叶子节点的编号为2|Num|

2;A2、可信机构选择两个随机数其中是p阶整数环;随后,可信机构同样也选择五个随机数A3、对于每个属性值i∈U,可信机构都选取随机数其中是p阶正整数环,并且计算与属性值相关联的属性公钥组件A4、可信机构随机选取一个抗碰撞哈希函数该哈希函数能够将消息m或者随机消息m

映射成一个在内的元素;A5、对于二叉树中的每一个节点,可信机构都随机选取一个随机数然后生成主密钥组件也同时生成与用户身份相关联的二叉树公钥组件A6、可信机构选择一个概率加密方案(Enc,Dec),其中Enc是加密函数,Dec是解密函数;A7、可信机构公布公共密钥PK,以及不公布主密钥MSK。3.根据权利要求1所述的基于区块链的公开可验证外包属性基加密方法,其特征在于:
步骤B具体包括如下步骤:B1、数据拥有者选择一个访问结构其中M是一个l
×
n阶的访问矩阵,ρ是一个能够将M
i
映射成一个属性的映射算法,其中M
i
为访问矩阵M的第i行;然后,数据拥有者选择两个随机的秘密指数并且设置两个随机列向量υ=(s,υ2,...,υ
n
)和υ

=(s

,υ
′2,...,υ

n
),其中最后,对于每个M
i
,数据拥有者都计算与秘密指数s和s

相关的有效份额λ
i
=M
i
×
v和λ

i
=M
i
×
v

;B2、数据拥有者选择要加密的信息m和随机选择的信息m

,并且计算与访问结构相关联的密文组件C1=m
·
c(g,g)
αs
,C
′1=g
s
,C
″1=g
as
,C2=m

·
e(g,g)
αs

,C
′2=g
s

,和C
″2=g
αs

,B3、数据拥有者一旦接收到由可信机构发送的最新覆盖列表cover(L),数据拥有者就会生成与该覆盖列表co...

【专利技术属性】
技术研发人员:胡积飞谢满德雷希燕
申请(专利权)人:浙江工商大学
类型:发明
国别省市:

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

1