当前位置: 首页 > 专利查询>南通大学专利>正文

一种基于区块链可撤销的分布式属性基加密方法技术

技术编号:38093300 阅读:18 留言:0更新日期:2023-07-06 09:06
本发明专利技术提供了一种基于区块链可撤销的分布式属性基加密方法,属于区块链、物联网、数据共享和属性基加密(ABE)技术领域。解决了物联网数据共享场景中存在的隐私泄露的技术问题。其技术方案为:包括以下步骤:S10、系统建立;S20、权威机构初始化;S30、用户注册;S40、用户属性私钥生成;S50、数据加密;S60、数据访问;S70、用户属性撤销。本发明专利技术的有益效果为:利用区块链和分布式多权威ABE实现物联网数据的细粒度安全共享,实现属性撤销时共享数据的前向和后向安全性,提高了属性撤销的效率。提高了属性撤销的效率。提高了属性撤销的效率。

【技术实现步骤摘要】
一种基于区块链可撤销的分布式属性基加密方法


[0001]本专利技术涉及区块链、物联网、数据共享、属性基加密
,尤其涉及一种基于区块链可撤销的分布式属性基加密方法。

技术介绍

[0002]随着海量终端设备的接入和5G技术的快速发展,物联网技术(IoT)已经成为人们日常生活中不可或缺的一部分,与边缘计算、人工智能等技术相辅相成、互为补充,成为学术界和工业界的重要研究方向,在诸如工业自动化、交通、能源系统和医疗保健等典型应用中发挥着重要作用。据Statista预测,到2025年全球物联网设备数量将达到750亿,其产生的IoT数据量约为79.4ZB。而这些IoT数据中往往蕴含着一定的价值,例如医疗穿戴设备采集的患者数据,能够提高医疗服务的准确性。现有的物联网应用程序底层多数是基于数据共享部署的,通过智能传感器采集IoT数据上传至云服务器,云服务器对IoT数据进行存储和共享。目前IoT数据共享已经渗透到智能家居、智慧医疗、智慧教育等各个领域,正逐步改变产业结构和经济增长方式,具有重要的战略意义和社会经济价值。然而,IoT数据中常常包含用户的隐私信息本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于区块链可撤销的分布式属性基加密方法,其特征在于,包括以下步骤:S10、系统建立,平台监管者PS构建区块链,生成公共参数CP,获得相应的钱包地址和公私钥对(sk0,pk0),PS将CP和公钥pk0记录在区块链的创世区块上;S20、权威机构初始化,平台监管者PS为每个合法权威机构AM指定管辖的属性集,AM随机选取两个数分别作为自己的私钥和自身所管理属性的版本私钥,然后从区块链中读取公共参数CP和PS的公钥pk0,计算获得所管辖属性的属性公钥和自己的授权公钥,AM将属性公钥集合、属性哈希值和授权公钥记录到区块链中;S30、用户注册,用户向平台监管者PS申请注册,PS为合法的用户计算其公私钥对和验证证书,并将用户的公钥作为一条交易记录到区块链中;S40、用户属性私钥生成,数据使用者DU向权威机构AM申请属性私钥,AM验证DU的身份,为合法的DU计算属性私钥ask
k,j,i
,AM利用DU的公钥和RSA加密算法加密属性私钥集合,并将记录了属性私钥密文的列表上传到区块链中,DU根据交易记录的索引从区块链中获取属性私钥的密文,然后通过解密密文获得属性私钥;S50、数据加密,数据提供者DP随机选择会话密钥κ,利用AES对称加密算法加密待共享的物联网数据M获得数据密文DCT,再根据M的适用范围制定相应的访问控制策略DP从区块链中读取与访问控制策略相关的公钥集,加密会话密钥κ,计算得到密钥密文KCT,然后DP将KCT上传到云服务器中;S60、数据访问,数据使用者DU调用策略匹配函数从云服务器中获取密钥密文KCT,只有当DU的属性满足密文的访问控制策略时才能解密密文,首先,DU利用KCT中的密文组件计算得到解密因子df
j
;然后云服务器利用df
j
,DU的公钥和属性私钥集合,计算获得转换密文CTc;最后DU使用自己的私钥解密CTc,恢复会话密钥κ,使用κ解密数据密文DCT得到共享的数据M;S70、用户属性撤销,当权威机构AM撤销数据使用者DU的某个或某些属性时,AM调用策略匹配算法,筛选出与需要更新的会话密钥密文集{KCT
x
}相关的数据提供者DP和数据使用者DU,AM运行算法计算获得新的属性公钥、密文更新钥CUK和密钥更新钥KUK,AM将CUK通过安全信道发送给需要更新密文的DP,将KUK记录到区块链中,DP使用CUK更新相应的密钥密文,未撤销用户使用KUK更新自己的属性私钥;其中,所述基于区块链可撤销的分布式属性基加密方法中包括:系统管理员、数据所有者、数据申请者、权威机构、区块链、云服务器。2.根据权利要求1所述的基于区块链可撤销的分布式属性基加密方法,其特征在于,所述步骤S10包括以下步骤:S101、平台监管者PS构建区块链为其选择唯一身份id
PS
,生成公私钥对{sk0,pk0};S102、平台监管者PS输入安全参数λ,选择一个阶数为N=p1p2p3的双线性群G,其中p1,p2,p3是三个不相同的大素数,选择一个哈希函数H:{0,1}*

G,该函数将属性映射到群G中的元素;S103、令G1表示群G中阶数为p1的子群,随机选择一个生成元g∈G1,平台监管者PS得到公共参数CP={N,g∈G1,H(
·
)};S104、平台监管者PS秘密保存其私钥sk0,并将公钥pk0和公共参数CP记录到区块链的创世区块中,便于用户和权威机构从区块链中获取CP和pk0。
3.根据权利要求1所述的基于区块链可撤销的分布式属性基加密方法,其特征在于,所述步骤S20包括以下步骤:S201、平台监管者PS为每个权威机构AM指定管辖的属性集合,且要求每个AM所管理的属性之间是没有重复的;S202、假定第k个权威机构AM
k
管辖的属性集是S
k
,平台监管者PS为合法的AM
k
选择钱包地址aid作为其身份标识,并授予AM
k
相应的属性集管理权限;S203、权威机构AM
k
从创世区块中读取公共参数CP和平台监管者公钥pk0,AM
k
选择随机数β
k
∈Z
N
作为AM
k
的私钥,对于任意属性i∈S
k
,再另外选择随机数v
k,i
作为属性i的版本私钥VK
k,i
=v
k,i
,AM
k
利用β
k
和v
k,i
计算得到第i个属性公钥S204、对于权威机构AM
k
管辖的所有属性,使用步骤S203的方法获得每个属性的版本私钥,得到属性版本私钥集合{VK
k,i
=v
k,i
,v
k,i
∈Z
N
}和属性公钥集合S205、权威机构AM
k
利用其私钥β
k
,计算作为自己的授权公钥;S206、权威机构AM
k
需要秘密保存其私钥β
k
和版本私钥VK
k,i
,AM
k
将每个属性i对应的一组属性公钥{PK
k,i
|i∈S
k
}、一组哈希值{H(i)|i∈S
k
}与授权公钥PK
k
记录到权威机构列表L
AM

att
中,该列表会记录到区块链中。4.根据权利要求1所述的基于区块链可撤销的分布式属性基加密方法,其特征在于,所述步骤S30包括以下步骤:S301、数据提供者DP和数据使用者DU在加入系统时,需要先向平台监管者PS申请注册,提交身份描述信息Info
DU
,PS验证通过后会为合法用户选择一个钱包地址uid作为其身份标识;S302、根据用户的钱包地址uid,PS选择两个随机数u
uid
,z
uid
∈Z
N
,计算该用户的公钥和私钥sk
uid
=z
uid
;S303、平台监管者PS为方便权威机构验证用户身份,利用其私钥sk0为用户计算数字签名生成用户的数字证书Cert(uid);S304、平台监管者PS通过秘密信道将公私钥对(pk
uid
,sk
uid
)和数字证书Cert(uid)发送给用户,并将用户的pk
uid
记录在区块链上。5.根据权利要求1所述的基于区块链可撤销的分布式属性基加密方法,其特征在于,所述步骤S40包括以下步骤:S401、假定钱包地址为j的数据使用者DU
j
向第k个权威机构AM
k
申请属性私钥,U
k
是AM
k
域内的用户集合,SA是权威机构集合,j∈U
k
,k∈SA,AM
k
管理的属性集为S
k
,DU
j
申请的属性i∈S
k
,DU
j
为了获得属性私钥,在向AM
k
提交申请的同时,将自己的数字证书Cert(uid)发送给AM
k
,AM
k
从区块链中读取平台监管者PS的公钥pk0验证DU
j
的身份,得到其中与DU
j
相关的组件S402、权威机构AM
k
为合法的数据使用者DU
j
生成属性私钥,对于DU
j
中的任意属性i∈S
k
,AM
k
从区块链中读取公共参数CP,利用其私钥SK
k
、属性公钥集合{PK
k,i
|i∈S
k
}、属性集合S
k
计算获得第i个属性私钥
S403、权威机构AM
k
利用RSA加密算法Enc(pk
j
,{ask
k,j,i
})计算得到该用户属性私钥集合的密文{cask
k,j,i
|k∈SA,j∈U
k
,i∈S
k
};S404、权威机构AM
k
将用户的公钥、属性集合和属性私钥密文记录到用户属性列表L
DU

Att
中,并将该列表作为一条交易记录在区块链上,同时记录下该条交易的索引TX
k,j
,数据使用者DU
j
根据TX
k,j
从区块链中获取属性私钥密文,并使用自己的私钥sk
j
解密密文,获得相应的属性私钥,以同样的方法,DU
j
从其他权威机构获得所有的属性私钥,得到属性私钥集合{ask
k

,j

,i

|k

∈SA,j

∈U
k

,i

∈S
k

}。6.根据权利要求1所述的基于区块链可撤销的分布式属性基加密方法,其特征在于,所述步骤S50包括以下步骤:S501、数据提供者DP选择会话密钥κ,利用AES对称加密算法AES.enc(κ,M)加密共享的物联网数据M,计算得到数据密文DCT=AES.enc(κ,M);S502、数据提供者DP根据自身的属性和希望共享数据的对象,为共享的物联网数据M制定相应的访问控制策略A(A,ρ),其中A是一个n
×
l矩阵,函数ρ是一个从集合{1,2,

,n}到属性集合的映射;S503、数据提供者DP从创世区块中读取公共参数CP,并从区块链中读取与该访问控制策略相关的属性公钥集{PK
k,i
|i∈S
k
}和授权公钥集{PK
k
}
k∈SA
,DP利用CP,A(A,ρ),{PK
k,i
|i∈S
k
},{PK
k
}
k∈SA
加密会话密钥κ,生成会话密钥密文KCT;具体过程为:DP选择l个随机数s,v2,v3,

,v
l
∈Z
N*
,构造向量v=<s,v2,v3,

,v
l
>,计算λ
i
=A
i
·
v,其中A
i
是矩阵A的第i行;选择l

1个随机数ω2,ω3,


l
∈Z
N*
...

【专利技术属性】
技术研发人员:马海英杨及坤李金舟杨天玲沈金宇黄双龙曹东杰
申请(专利权)人:南通大学
类型:发明
国别省市:

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

1