一种基于区块链和用户信用度的数据共享访问控制方法技术

技术编号:33088662 阅读:15 留言:0更新日期:2022-04-15 10:57
本发明专利技术属于区块链领域,尤其涉及一种基于区块链和用户信用度的数据共享访问控制方法,包括用户在区块链进行注册并将加密数据存储到IPFS星际文献系统上,成功上传后更新此用户信用度指标值;用户根据上传的数据制定该数据对应的访问策略;其他用户申请数据时,若未通过访问控制策略则更新用户信用度指标值,并进行用户信用度指标值和指标权重的运算,更新此时用户的信用度值将当次越权访问时间和最终用户信用度值存储到智能合约里的用户实时信用度数组中;通过访问控制策略判断的用户B通过智能合约创建数据D的访问申请消息;根据用户B当前的信用度值和申请信息,确认是否赋予用户B数据D的访问权限;本发明专利技术可实现数据安全高效共享。高效共享。高效共享。

【技术实现步骤摘要】
一种基于区块链和用户信用度的数据共享访问控制方法


[0001]本专利技术属于区块链领域,尤其涉及一种基于区块链和用户信用度的数据共享访问控制方法。

技术介绍

[0002]当前,大数据为企业理解市场需求、改善产品提供重要参考,通过与大数据深度融合也成为传统行业转型升级的新动能。可以说,数据蕴含着巨大生产力和商机,掌握数据就掌握了发展的资源和主动权。目前,各行各业中都存在着急迫的数据共享需求,如医疗、能源、政务、科研等。然而,在数据共享的同时,数据的完整性、数据的归属权、数据的安全性、数据的隐私性也急需要得到保证。当前,有许多基于云服务器的数据存储、管理和共享技术,将密码学和云服务器技术相结合,可以在一定程度上实现数据的安全共享。但这些方案仍存在着数据共享密钥管理困难、共享过程透明度不高、单点故障等问题。
[0003]区块链是一个不依赖于第三方的可信账本技术,因其具有去中心化、不可篡改等特性,使得国家大力促进其的发展与应用。从数据管理的角度来看,区块链可以视作是在一个分布式环境下众多不可信节点共同维护且不可篡改的账本。由于节点间相互不可信,区块链通过共识协议,确保数据存储的一致性,实现去中心化的数据管理。将用户间的数据共享过程记录在区块链上,所有系统内用户均可访问节点上的全部交易信息,可实现用户数据共享过程公开透明。当发生数据所属权限纠纷时,可通过区块链上的交易信息进行溯源从而解决问题。区块链中每个节点都存在着一个相同交易副本,这就解决了传统方案中单点故障限制用户数据访问的问题。但现有的基于区块链的数据共享方案,存在着访问控制粒度大、访问授权过程不清晰、系统内用户行为未有效监督等问题。

技术实现思路

[0004]为解决以上现有技术方案中的问题,本专利技术提出了一种基于区块链和用户信用度的数据共享访问控制方法,包括:
[0005]S1:用户A将个人信息上传到区块链上,进行注册,注册成功后智能合约自动初始化用户相关信用度指标值,即将各指标值设为0;
[0006]S2:用户A将使用对称密钥sm_key加密过后的数据D存储到IPFS星际文献系统上,将得到的数据索引I
D
、用用户A自己的公钥pk
b
_A加密过的对称密钥pk
b
_A(sm_key)和数据的信息上传到区块链上,上传成功后智能合约更新用户上传数据操作相关的信用度指标值,即在智能合约中使对应指标值自增1;
[0007]S3:用户A制定数据D的基于属性的访问控制策略;
[0008]S4:用户B申请获得数据D的解密密钥,智能合约中根据数据D的访问控制策略规则进行判断B是否拥有访问权限,未通过访问控制策略时更新用户信用度指标值,即未通过访问控制策略则将该次操作即为越权操作,并在智能合约中将进行越权操作的用户对应指标值自增1;然后进行用户信用度指标值和指标权重的运算,得到此时用户的信用度值,再将
当次越权访问时间和最终用户信用度值存储到智能合约里的用户实时信用度数组中;
[0009]S5:通过访问控制策略判断的用户B通过智能合约创建数据D的访问申请消息;
[0010]S6:收到用户B的消息以后,用户A根据用户B当前的信用度值和申请信息,确认是否赋予用户B数据D的访问权限;
[0011]S7:若同意赋予用户B访问权限的用户A,使用代理重加密算法将数据D的对称加密密钥sm_key转为用户B的公钥pk
b
_B加密过后的对称密钥pk
b
_B(sm_key),通过智能合约创建应答消息,将解密密钥pk
b
_B(sm_key)和其他授权信息通过应答消息回复给用户B;
[0012]S8:用户B收到用户A的应答消息后,使用自己的私钥pk
v
_B进行解密,即可获得数据D的对称加密密钥sm_key,通过数据D的索引去IPFS星际文献系统中下载数据后进行解密即可获得原数据,同时合约中更新用户A的数据被他人成功访问操作,则在智能合约中使其对应指标值自增1。
[0013]进一步的,用户进行注册时上传的用户个人信息至少包括以太坊账户地址、公钥、姓名、身份ID、所属机构代码、所属项目组编号。
[0014]进一步的,用户信用度指标分两层,第一层包括功能指标F、可靠指标R、安全指标S,第二层中为每一个第一层中指标细化后的特性,其中功能指标F中至少包括用户上传数据数f1、数据相关证明数f2、上传数据被访问次数f3,可靠指标R至少包括上传数据错误数r1、修正他人错误数r2,安全指标S至少包括越权访问次数s1。
[0015]进一步的,进行用户信用度指标值和指标权重的运算,得到此时用户的信用度值的过程包括:
[0016]步骤1:建立用户行为特征矩阵BC=[bc
ij
]n
×
m

[0017]步骤2:对矩阵BC做归一化处理,得到值在[0,1]范围内的特征矩阵E=[e
ij
]n
×
m
,其中n为指标个数,m为指标中行为特性个数的最大值;
[0018]步骤3:使用模糊层次分析法获得功能指标F的特性权重向量w
F
=[w
f1
,w
f2
,w
f3
],可靠指标R的特性权重向量w
R
=[w
r1
,w
r2
],安全指标S的特性权重向量w
S
=[w
s1
]和指标权重向量w
I
=[w
F
,w
R
,w
S
]。
[0019]步骤4:根据如下公式计算用户信用度值Credit:
[0020][0021]其中,bc
ij
表示;w
f1
为表示用户上传数据数f1的向量,w
f2
为表示数据相关证明数f2的向量,w
f3
为表示上传数据被访问次数f3的向量;w
r1
为上传数据错误数r1的向量,w
r2
为表示修正他人错误数r2的向量;w
s1
为表示越权访问次数s1的向量;为第二层中分别属于w
F
、w
R
和w
S
中表示负面特性的权重;表示第二层特性中的负面特性在第一层指标的指标权重;Cr
Pt
为正面信用度,Cr
Ng
为负面信用度。
[0022]进一步的,正面信用度Cr
Pt
表示为:
[0023][0024]负面信用度Cr
Ng
表示为:
[0025][0026]其中,为归一化后的正面用户行为特征值,表示第二层特性中的正面特性在第一层指标的指标权重,为第二层中分别属于w
F
、w
R
和w
S
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链和用户信用度的数据共享访问控制方法,其特征在于,具体包括以下步骤:S1:用户A将个人信息上传到区块链上,进行注册,注册成功后智能合约自动初始化用户相关信用度指标值,即将各指标值设为0;S2:用户A将使用对称密钥sm_key加密过后的数据D存储到IPFS星际文献系统上,将得到的数据索引I
D
、用用户A自己的公钥pk
b
_A加密过的对称密钥pk
b
_A(sm_key)和数据的信息上传到区块链上,上传成功后智能合约更新用户上传数据操作相关的信用度指标值,即在智能合约中使对应指标值自增1;S3:用户A制定数据D的基于属性的访问控制策略;S4:用户B申请获得数据D的解密密钥,智能合约中根据数据D的访问控制策略规则进行判断B是否拥有访问权限,未通过访问控制策略判断时更新用户信用度指标值,即未通过访问控制策略则将该次操作即为越权操作,并在智能合约中将进行越权操作的用户对应指标值自增1;然后进行用户信用度指标值和指标权重的运算,得到此时用户的信用度值,再将当次越权访问时间和最终用户信用度值存储到智能合约里的用户实时信用度数组中;S5:通过访问控制策略判断的用户B通过智能合约创建数据D的访问申请消息;S6:收到用户B的消息以后,用户A根据用户B当前的信用度值和申请信息,确认是否赋予用户B数据D的访问权限;S7:若同意赋予用户B访问权限的用户A,使用代理重加密算法将数据D的对称加密密钥sm_key转为用户B的公钥pk
b
_B加密过后的对称密钥pk
b
_B(sm_key),通过智能合约创建应答消息,将解密密钥pk
b
_B(sm_key)和其他授权信息通过应答消息回复给用户B;S8:用户B收到用户A的应答消息后,使用自己的私钥pk
v
_B进行解密,即可获得数据D的对称加密密钥sm_key,通过数据D的索引去IPFS星际文献系统中下载数据后进行解密即可获得原数据,同时合约中更新用户A的数据被他人成功访问操作,则在智能合约中使其对应指标值自增1。2.根据权利要求1所述的一种基于区块链和用户信用度的数据共享访问控制方法,其特征在于,用户进行注册时上传的用户个人信息至少包括以太坊账户地址、公钥、姓名、身份ID、所属机构代码、所属项目组编号。3.根据权利要求1所述的一种基于区块链和用户信用度的数据共享访问控制方法,其特征在于,用户信用度指标分两层,第一层包括功能指标F、可靠指标R、安全指标S,第二层中为每一个第一层中指标细化后的特性,其中功能指标F中至少包括用户上传数据数f1、数据相关证明数f2、上传数据被访问次数f3,可靠指标R至少包括上传数据错误数r1、修正他人错误数r2,安全指标S至少包括越权访问次数s1。4.根据权利要求3所述的一种基于区块链和用户信用度的数据共享访问控制方法,其特征在于,进行用户信用度指标值和指标权重的运算,得到此时用户的信用度值的过程包括:步骤1:建立用户行为特征矩阵BC=[bc
ij
]
n
×
m
;步骤2:对矩阵BC做归一化处理,得到值在[0,1]范围内的特征矩阵E=[e
ij
]
n
×
m
,其中n为指标个数,m为指标中行为特性个数的最大值;步骤3:使用模糊层次分析法获得功能指标F的特性权重向量w
F
=[w
f1
,w
f2
,w
f3
],可靠指
标R的特性权重向量w
R
=[w
r1
,w
r2
],安全指标S的特性权重向量w
S
=[w...

【专利技术属性】
技术研发人员:徐光侠王利王益帅张家俊陈浪马明明胡新庭
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

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

1