【技术实现步骤摘要】
基于区块链和代理重加密的数据安全存储与共享方法
[0001]本专利技术属于密码学与数据隐私保护
,具体涉及一种基于区块链和代理重加密的数据安全存储与共享方法
。
技术介绍
[0002]大多数的物联网设备为给用户提供更加便利的服务,必须收集用户的所有信息,大量的信息被存储在网络中,由不同服务提供商的信息中心进行管理
。
比如患者的病历信息存储在电子设备中的数据,隐私程度较高,数据规模也足够大
。
传统的数据存储和共享常常依赖可信任的中央权威机构,比如存储在云上,但大部分的数据信息是极其敏感和机密的,它存储在第三方集中服务器上,中心化的管理会导致隐私数据遭受到黑客和不法分子的窃取
、
泄露甚至网络瘫痪等
。
此外,由于人口流动性大,数据信息分散在不同的地区
、
不同的机构,并且不同地区和机构的数据存储标准
、
访问政策都有所不同,这就导致了跨地区
、
跨机构的数据信息无法实现共享造成严重的“信息孤岛”问题,数据无法得到合理的共享
。
[0003]区块链的出现为这些问题提供了一种新的思维方式,这是一种去中心化的方案
。
区块链不依赖可信任的中心节点进行信息的存储和更新,而是由系统中的所有用户各自保存一个“账本”,同时进行账本的记录和更新
。
逻辑上形成了一个由块数据组成的链结构
。
由于这种类型的上下文数据结构设计,使用区块链技术存储的
【技术保护点】
【技术特征摘要】
1.
基于区块链和代理重加密的数据安全存储与共享方法,其特征在于,具体按照以下步骤实施:步骤
1、
系统初始化;步骤
2、
密钥生成;步骤
3、
数据存储;步骤
4、
数据访问;步骤
5、
数据获取
。2.
根据权利要求1所述的基于区块链和代理重加密的数据安全存储与共享方法,其特征在于,所述步骤1具体按照以下步骤实施:初始化
Steup(1
k
)
→
(params,msk)
,输入安全参数1k
,具体如下:步骤
1.1、
选取两个阶数都是大素数
p
的乘法循环群
G1和
G2,选择
G1的一个生成元
g
,设定双线性映射
e:G1×
G2→
G2;步骤
1.2、
随机选择和
u
=
G1,令
g1=
g
s
;步骤
1.3、
选取抗碰撞哈希函数
H1:{0,1}
→
G1,
H3:G2→
G1,步骤
1.4、
设定系统主密钥
msk
=
s
,并公布系统参数
params
=
{g,g1,p,u,e,G1,G2,H1,H2,H3,H4}。3.
根据权利要求2所述的基于区块链和代理重加密的数据安全存储与共享方法,其特征在于,所述步骤2具体按照以下步骤实施:假设以下的输入均隐含参数
params
,加入
Fabric
区块链中的拥有物联网设备
A
的数据拥有者和数据访问者,结合系统生成的主密钥
msk
和身份标识
ID
A
∈{0,1}*、ID
B
∈{0,1}*
,数据拥有者的公私钥对
(PK
A
,SK
A
)
:
PK
A
=
H1(ID
A
)
ꢀꢀꢀꢀꢀꢀ
(1)SK
A
=
H1(ID
A
)
s
ꢀꢀꢀꢀꢀꢀ
(2)
数据访问者的公私钥对
(PK
B
,SK
B
)
:
PK
B
=
H1(ID
B
)
ꢀꢀꢀꢀꢀꢀ
(3)SK
B
=
H1(ID
B
)
s
ꢀꢀꢀꢀꢀꢀ
(4)。4.
根据权利要求3所述的基于区块链和代理重加密的数据安全存储与共享方法,其特征在于,所述步骤3具体按照以下步骤实施:步骤
3.1、Enc(dk,m)
→
C
T
,数据拥有者
ID
A
在本地使用对称加密算法加密数据信息,其中,
C
T
为数据密文,
m
为数据明文,
dk
为随机产生的一个对称密钥;步骤
3.2、
数据拥有者将
C
T
上传至
IPFS
分布式文件系统;步骤
3.3、Enc(ID
A
,Hash
ipfs
,dk,y)
→
C
A
,数据拥有者在本地将
IPFS
返回的地址哈希值
Hash
ipfs
、
对称密钥
dk
用自己的公钥
PKA
进行加密,同时在加密的过程中加入一个重加密条件值
y
,用来限制代理者对于密文的转换,从而得到第二层密文
C
A
,选择一个随机的计算:
C1=
g
r
ꢀꢀꢀꢀꢀꢀ
(5)
C2=
dk
·
e(g
s
,H1(ID
A
))
r
ꢀꢀꢀꢀ
(6)C3=
g
y
ꢀꢀꢀꢀꢀꢀ
(7)
则
C
A
=
(C1,C2,C3)
;步骤
3.4、
数据拥有者
ID
A
将
C
A
上传到
Fabric
区块链中,同时,数据拥有者制定基于属性的访问策略
policy
,并将访问策略
policy
存储到
Fabric
区块链中,上传的内容包含
policyID
,
ID
A
,
deviceId
,
deviceName
,
policy
,其中,
pol...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。