基于区块链的物联网数据共享细粒度访问控制方法技术

技术编号:38533887 阅读:6 留言:0更新日期:2023-08-19 17:05
本发明专利技术公开一种基于区块链的物联网数据共享细粒度访问控制方法,涉及物联网访问控制技术领域,包括:构建数据访问模型,模型初始化;用户在模型进行身份认证,得到解密秘钥;用户作为数据拥有者共享数据时,使用密钥加密信息并上传到云,制定访问策略,加密密钥并上传到区块链;用户作为数据使用者想获取共享数据时,向区块链发送请求,区块链同意请求后生成许可令牌,数据使用者使用许可令牌从云获取对应加密信息,从区块链获取对应加密密钥,解密密钥,得到明文信息;模型检查数据使用者解密秘钥的形式是否完好,并在形式完好时执行密钥追踪算法,确定数据使用者是否为恶意用户。本发明专利技术可以实现数据信息安全共享,实现恶意用户的追踪。的追踪。的追踪。

【技术实现步骤摘要】
基于区块链的物联网数据共享细粒度访问控制方法


[0001]本专利技术涉及物联网访问控制
,具体的说是一种基于区块链的物联网数据共享细粒度访问控制方法。

技术介绍

[0002]物联网(IoT)技术与我们的生活息息相关,它已广泛应用于智能家居、医疗保健、智能交通和工业制造等一系列领域。随着5G网络的发展,这种增长趋势变得越来越明显,根据Gartner的预测,到2025年,全球将有416亿台IoT智能设备。同时,更快的5G网络意味着从IoT设备收集的海量数据将被更有效地分析和管理。其中,可穿戴物联网设备收集的个人健康数据作为个人的数字资产可以为个人带来一定的利益,社会鼓励个人将这些数据分享给各种研究机构进行基础研究,而使用这些数据的研究机构应该给予个人奖励,并且伴随着医疗技术的快速发展,医疗保健行业经历了从医疗保健1.0到医疗保健4.0的转变,而各种可穿戴设备的普及,可以收集和传输个人的一系列实时身体数据,这有助于挽救和延长患者的生命。
[0003]当下,大部分组织机构或个人倾向于将海量的数据存储在云服务提供商(CSP)中进行数据共享,以此来降低成本花费,但这种做法的前提是对云服务提供商有着充分的信任,然而这种假设使得外包数据面临严重的安全和隐私风险,因此数据安全与隐私保护变得尤为重要。
[0004]为了解决数据的保密性和完整性问题,数据加密技术被广泛应用于云存储数据的安全保护中。例如基于密文策略属性的加密是最适合云存储服务器应用访问控制的技术之一。虽然学者们在利用访问控制结合密码学方案来实现数据的保密性和用户的隐私保护方面已经付出了诸多努力,但依然存在许多不足,尤其是在追踪恶意用户方面,访问控制方案不仅需要为合法授权的用户提供便捷的数据访问权限,还需要确保恶意用户能够被识别和追踪。
[0005]区块链的不可伪造、可跟踪、公开透明和集体维护等诸多特性可以在隐私、可追溯性和互操作性方面协助物联网系统。区块链是一种链式结构的分布式账本,它来源自于中本聪于2008年发表的《比特币:一种点对点式的电子现金系统》,它利用共识机制使区块链上的数据伪造困难,可以有效防止恶意用户对他人私有数据的篡改和破坏。区块链技术被广泛应用于包括但不限于医疗、保险、供应链、政府政务、数字货币、能源交易和车联网等行业。
[0006]基于上述问题,如何实现可追溯、保护用户隐私、数据安全、细粒度访问控制的个人数据共享,是需要解决的技术问题。

技术实现思路

[0007]本专利技术针对目前技术发展的需求和不足之处,提供一种基于区块链的物联网数据共享细粒度访问控制方法,来解决如何实现可追溯、保护用户隐私、数据安全、细粒度访问
控制的个人数据共享问题。
[0008]本专利技术的一种基于区块链的物联网数据共享细粒度访问控制方法,解决上述技术问题采用的技术方案如下:
[0009]一种基于区块链的物联网数据共享细粒度访问控制方法,包括如下步骤:
[0010]S1、基于区块链、智能穿戴设备、云服务器和认证中心构建数据访问模型,使用初始化算法对认证中心进行初始化,得到公共参数、主密钥;
[0011]S2、用户在认证中心进行身份认证,完成认证后,用户使用密钥生成算法计算解密秘钥;
[0012]S3、用户获取智能穿戴设备的采集信息,并作为数据拥有者想要共享数据时,首先提取信息摘要,使用对称密钥对信息进行加密上传到云服务器,计算加密信息的哈希值上传到区块链,随后制定访问策略,加密对称密钥,将对称密钥的密文和信息摘要上传至区块链,同时,制定销售规则,并上传至区块链的智能合约;
[0013]S4、用户作为数据使用者从区块链上查看信息摘要,接收销售规则并想获得完整信息时,数据使用者向区块链发送购买请求,区块链同意该购买请求后使用令牌生成算法生成许可令牌,数据使用者将许可令牌发送至云服务器,并从云服务器获取对应的加密信息,从区块链获取对应的对称密钥密文,在数据使用者满足访问策略时,数据使用者使用解密算法对加密的对称密钥进行解密,得到明文信息;
[0014]S5、认证中心使用密钥形式检查算法检查数据使用者的解密秘钥的形式是否完好,并在解密秘钥形式完好时执行密钥追踪算法,查找数据使用者的身份信息UID,确定数据使用者是否为恶意用户。
[0015]可选的,执行步骤S1,使用初始化算法对认证中心进行初始化,得到公共参数、主密钥,具体操作如下:
[0016]定义一个安全参数λ,G1、G2是素数为p的循环乘法群,G
T
是素数为p的循环乘法群,e表示一个映射,e:G1×
G2=G
T
,H和H1是两种不同的安全加密散列函数,其中H:{0,1}
*

Z
q
,H1:G1→
Z
p
,U表示大宇宙属性全域,将U映射到Z
p
群中;Z
p
群是一个正整数群;
[0017]在G1群中随机选择g,w,μ,β,η,P,在Z
p
群中随机选择α,a,随后选择一个具有不同秘钥k1和k2的概率加密算法(Enc,Dec),选择一个具有对称秘钥k的对称加密/解密算法(E
sym
,D
sym
),其中,k1,k2∈Z
p
,k∈G2;
[0018]选择一个阶多项式f(x)和个点进行秘密存储,其中以此来初始化Shamir阈值方案得到公共参数PP=(G1,G2,q,P,g,μ,β,ω,η,g
a
,e(g,g)
α
,H,H1)和主密钥MSK=(α,a,b,k1,k2),认证中心存储主密钥MSK,并在区块链上公布公共参数PP。
[0019]进一步可选的,执行步骤S2,首先,用户将身份信息UID和属性集S提交到认证中心进行身份认证,认证中心使用概率加密算法(Enc,Dec)计算得到:
[0020]随后,用户使用密钥生成算法选择b1,b2,...,b
n
∈Z
p
,并计算解密秘钥SK
UID,S
,具体计算过程如下:
[0021]SK
UID,S
={K0,K

,K1,K
′1,K
Γ,1
,K
Γ,2
},Γ∈[n],
[0022]K0=g
α/(a+c)
w
b

[0023]K

=c,
[0024]K1=g
b

[0025]K
′1=g
ab

[0026][0027][0028]其中,α,a,b是主密钥MSK的参数,w,g,β是公共参数PP的参数,ATTR
Γ
是对应的用户的属性参数,b
Γ
是在Z
p
中随机选择的,K0、K

、K1、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于区块链的物联网数据共享细粒度访问控制方法,其特征在于,包括如下步骤:S1、基于区块链、智能穿戴设备、云服务器和认证中心构建数据访问模型,使用初始化算法对认证中心进行初始化,得到公共参数、主密钥;S2、用户在认证中心进行身份认证,完成认证后,用户使用密钥生成算法计算解密秘钥;S3、用户获取智能穿戴设备的采集信息,并作为数据拥有者想要共享数据时,首先提取信息摘要,使用对称密钥对信息进行加密上传到云服务器,计算加密信息的哈希值上传到区块链,随后制定访问策略,加密对称密钥,将对称密钥的密文和信息摘要上传至区块链,同时,制定销售规则,并上传至区块链的智能合约;S4、用户作为数据使用者从区块链上查看信息摘要,接收销售规则并想获得完整信息时,数据使用者向区块链发送购买请求,区块链同意该购买请求后使用令牌生成算法生成许可令牌,数据使用者将许可令牌发送至云服务器,并从云服务器获取对应的加密信息,从区块链获取对应的对称密钥密文,在数据使用者满足访问策略时,数据使用者使用解密算法对加密的对称密钥进行解密,得到明文信息;S5、认证中心使用密钥形式检查算法检查数据使用者的解密秘钥的形式是否完好,并在解密秘钥形式完好时执行密钥追踪算法,查找数据使用者的身份信息UID,确定数据使用者是否为恶意用户。2.根据权利要求1所述的基于区块链的个人数据共享及访问控制方法,其特征在于,执行步骤S1,使用初始化算法对认证中心进行初始化,得到公共参数、主密钥,具体操作如下:定义一个安全参数λ,G1、G2是素数为p的循环乘法群,G
T
是素数为p的循环乘法群,e表示一个映射,e:G1×
G2=G
T
,H和H1是两种不同的安全加密散列函数,其中H:{0,1}
*

Z
q
,H1:G1→
Z
p
,U表示大宇宙属性全域,将U映射到Z
p
群中;Z
p
群是一个正整数群;在G1群中随机选择g,w,μ,β,η,P,在Z
p
群中随机选择α,a,随后选择一个具有不同秘钥k1和k2的概率加密算法(Enc,Dec),选择一个具有对称秘钥k的对称加密/解密算法(E
sym
,D
sym
),其中,k1,k2∈Z
p
,k∈G2;选择一个阶多项式f(x)和个点进行秘密存储,其中以此来初始化Shamir阈值方案得到公共参数PP=(G1,G2,q,P,g,μ,β,ω,η,g
a
,e(g,g)
α
,H,H1)和主密钥MSK=(α,a,b,k1,k2),认证中心存储主密钥MSK,并在区块链上公布公共参数PP。3.根据权利要求2所述的基于区块链的个人数据共享及访问控制方法,其特征在于,执行步骤S2,首先,用户将身份信息UID和属性集S提交到认证中心进行身份认证,认证中心使用概率加密算法(Enc,Dec)计算得到:随后,用户使用密钥生成算法选择b1,b2,...,b
n
∈Z
p
,并计算解密秘钥SK
UID,S
,具体计算过程如下:SK
UID,S
={K0,K

,K1,K
′1,K
Γ,1
,K
Γ,2
},Γ∈[n],K0=g
α/(a+c)
w
b
,K

=c,K1=g
b

K
′1=g
ab
,,其中,α,a,b是主密钥MSK的参数,w,g,β是公共参数PP的参数,ATTR
Γ
是对应的用户的属性参数,b
Γ
是在Z
p
中随机选择的,K0、K

、K1、K
′1、K
Γ,1
、K
Γ,2
是解密秘钥SK
UID,S
的组成部分;再后,用户使用密钥生成算法随机选择一个数计算公钥PK
UID
:PK
UID
=x
l
P,其中,P属于公共参数,用户的公私密钥对表示为(x
l
,PK
UID
)。4.根据权利要求3所述的基于区块链的个人数据共享及访问控制方法,其特征在于,执行步骤S3,用户获取智能穿戴设备的采集信息,具体包括:用户使用智能穿戴设备,智能穿戴设备产生数据,通过BLS聚合签名算法对数据来源进行认证,此时,用户作为数据拥有者获取经过认证的数据,并将其整合为信息m。5.根据权利要求4所述的基于区块链的个人数据共享及访问控制方法,其特征在于,执行步骤S3,用户作为数据拥有者想要共享数据时,(3.1)数据拥有者提取信息m的摘要,使用对称秘钥为k的对称加密算法(E
sym
,D
sym
)加密信息m,得到密文CT
m
,计算密文CT
m
的哈希值M
*
,将密文CT
m
上传到云服务器,将哈希值M
*
上传到区块链;(3.2)数据拥有者制定加密信息m的对称秘钥k的访问策略(M,ρ),以公共参数PP、属性集S、对称秘钥k、访问策略(M,ρ)为输入,使用密文策略属性基加密算法输出相应的密文CT,将信息m的摘要和密文CT上传至区块链,同时,数据拥有者制定信息m的销售规则,并上传到区块链的智能合约中。6.根据权利要求5所述的基于区块链的个人数据共享及访问控制方法,其特征在于,执行步骤(3.2),数据拥有者制定对称秘钥k的访问策略(M,ρ),以公共参数PP、属性集S、对称秘钥k、访问策略(M,ρ)为输入,使用密文策略属性基加密算法输出相应的密文CT,操作如下:假设存在一个l行n列的份额生成矩阵M,对于i=1,2,..,l,定义一个函数ρ标记M的第i行,属性ρ(i)来自用户的属性集,在基于线性秘密共享方案LSSS的表达式中,访问策略定义为(M,ρ);随机选取s,y2,...,y
n
∈Z
P
,组成秘密分享矩阵通过计算内积得到分享向量λ=(λ1,λ2,...,λ
l
),其中M
i
代表M的第i行;数据拥有者从G1群中随机选择一个s,使用公式(1)对对称秘钥k进行加密,得到C,计算结果如下:C=ke(g,g)
αs

ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(1),其中,k是要加密的对称秘钥,α是主密钥MSK的一个参数,e(...

【专利技术属性】
技术研发人员:禹继国路伟闫碧薇张丽董安明
申请(专利权)人:齐鲁工业大学山东省科学院
类型:发明
国别省市:

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

1