CN115714669A - 一种区块链下基于purh-cp-abe的隐私数据跨域共享方法 - Google Patents

一种区块链下基于purh-cp-abe的隐私数据跨域共享方法 Download PDF

Info

Publication number
CN115714669A
CN115714669A CN202211291715.8A CN202211291715A CN115714669A CN 115714669 A CN115714669 A CN 115714669A CN 202211291715 A CN202211291715 A CN 202211291715A CN 115714669 A CN115714669 A CN 115714669A
Authority
CN
China
Prior art keywords
data
information
key
rsa
abe
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211291715.8A
Other languages
English (en)
Other versions
CN115714669B (zh
Inventor
潘雪
袁凌云
黄敏敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yunnan Normal University
Original Assignee
Yunnan Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yunnan Normal University filed Critical Yunnan Normal University
Priority to CN202211291715.8A priority Critical patent/CN115714669B/zh
Publication of CN115714669A publication Critical patent/CN115714669A/zh
Application granted granted Critical
Publication of CN115714669B publication Critical patent/CN115714669B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种区块链下基于PURH‑CP‑ABE的隐私数据跨域共享方法,属于区块链技术领域。本发明首先生成PURH‑CP‑ABE算法的密钥信息,并将其发送给数据拥有者DO,DO利用接收到的密钥对数据和访问策略进行加密,然后将加密信息上传存储到区块链网络中,当DO想要更新或撤销访问策略时,需发送新的访问策略
Figure DDA0003899504060000011
给区块链网络,最后当数据请求者DU发起跨域请求后,区块链网络将系统公钥PKCP‑ABE和密文数据CTDT发送给DU,通过智能合约自动判断该DU的属性集合是否满足数据拥有者DO的访问策略,如果满足,则对加密的数据信息进行解密,得到数据明文MTDT。本发明不仅支持访问策略的更新撤销,还支持访问策略的隐藏,在保证隐私数据和访问策略的安全性的同时,实现一对多的隐私数据细粒度跨域共享。

Description

一种区块链下基于PURH-CP-ABE的隐私数据跨域共享方法
技术领域
本发明涉及一种区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,属于区块链技术领域。
背景技术
物联网作为新一代信息技术的重要组成部分,已被广泛应用到智慧城市、车联网、智慧医疗等多个领域,带领人们进入了万物互联的时代。据互联网数据中心(InternetData Center,IDC)的最新预测表明,到2025年全球物联网数据量将会达到90ZB。目前全国企业超过90%存在“数据孤岛”的问题,其中36%的企业内部,“数据孤岛”问题尤为突出。因此现在迫切需要一个跨域共享方案来打破物联网数据的孤岛壁垒,实现不同域之间的跨域访问。除此之外,物联网设备每天都会产生大量数据,而这些数据可能会是用户的敏感数据和隐私数据,如果在跨域共享的过程中,不能保证这些隐私数据的安全性,这将会造成严重的隐私安全性问题。
现如今,很多组织和机构倾向于将海量的物联网数据存储于云服务器提供商(Cloud server provider,CSP)中,但CSP属于第三方可信机构,并不完全可信,存储在CSP上的隐私数据,可能存在被泄露或被黑客篡改的风险。区块链具有去中心化、可追溯、不可篡改等的特点,可以有效的解决云上第三方可信机构的问题。但现有的区块链平台中,无论是公有链、联盟链还是私有链,都没有对隐私数据实现访问控制,任何人都可以读取区块链中的数据,对于隐私数据的保护还不够全面,对隐私数据的访问控制还不够细腻。而密文属性基加密算法(ciphertext-policy attribute-based encryptio,CP-ABE)具有细粒度的访问控制和一对多的安全数据共享机制,可以更细腻地实现对隐私数据的跨域共享,已成为隐私数据实现细粒度访问控制的热点方法。然而,传统的CP-ABE方案没法实现访问策略的更新撤销,缺乏访问策略更新撤销的灵活性。除此之外,访问策略需要和明文一起共享,而在访问策略中可能也包含着用户的敏感信息和隐私信息。比如在智慧医疗领域内,如果该访问策略显示精神科室可查看该隐私数据,那么便可以推断该隐私数据可能和精神类疾病相关,这变相的导致了隐私数据的泄露,因此在跨域共享的过程中,访问策略的保密问题也尤其重要。
发明内容
本发明要解决的技术问题是提供一种区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,解决隐私数据和访问策略在跨域共享中的安全性和灵活性问题,实现隐私数据的安全跨域共享。
本发明的技术方案是:一种区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,首先,区块链授权中心BCCA收到数据拥有者DO的加密申请后,验证数据拥有者DO的身份信息,生成PURH-CP-ABE算法的的公私钥PKRSA、SKRSA和系统主密钥MSKCP-ABE,并发送给数据拥有者DO;接着,数据拥有者DO制定自己的隐私数据访问策略,利用区块链授权中心BCCA发送RSA的公私钥PKRSA、SKRSA和系统主密钥MSKCP-ABE,通过智能合约自动执行数据信息和访问策略的加密,然后将上传存储到区块链网络中;当数据拥有者DO想要更新或撤销访问策略时,将发送新的访问策略给区块链网络;然后,区块链网络收到上传数据后,认证数据拥有者DO的数据信息,并通过全网一致性共识后,打包数据信息链接到区块链网络上;最后,数据请求者DU发起跨域共享的数据请求,区块链网络验证数据请求者DU的身份信息,并将系统公钥PKCP-ABE和密文数据发送给数据请求者DU,通过智能合约自动判断该DU的属性集合是否满足数据拥有者DO的访问策略,如果满足,则对加密的数据文件进行解密,得到数据文件明文。
具体步骤为:
Step1:当区块链网络收到数据拥有者DO的隐私数据加密申请后,对数据拥有者DO的身份信息进行验证,验证通过后,区块链授权中心BCCA生成PURH-CP-ABE算法中的RSA的公私钥PKRSA、SKRSA、系统公钥PKCP-ABE和系统主密钥MSKCP-ABE,并将其发送给数据拥有者DO。
所述Step1具体为:
Step1.1:DO向BCCA发起身份注册请求,利用自己的私钥SKDO对身份信息inf就行签名,生成签名信息
Figure BDA0003899504040000021
并将自己的公钥PKDO和签名信息
Figure BDA0003899504040000022
发送给BCCA,请求成为区块链网络中的一员,表示为:
Figure BDA0003899504040000023
Step1.2:BCCA收到身份注册请求后,验证其是否合法,合法后生成关于DO的数字证书:
CertDO=(PKDO,inf,deadline,T2)
式中:deadline表示该证书的有效时间;
Step1.3:BCCA将数字证书CertDO和注册结果Ack/Nack反馈给DO:
如果身份注册成功,则返回:
Figure BDA0003899504040000024
如果注册不成功,则返回:
Figure BDA0003899504040000025
Step1.4:DO收到反馈信息后,生成数据加密和策略加密的密钥申请请求rqk,并使用自己的私钥SKDO进行签名,然后将申请请求rqk和数字证书CertDO一起发送给BCCA,表示为:
Figure BDA0003899504040000031
Step1.5:BCCA收到消息后,生成RSA公私钥PKRSA和SKRSA、系统主密钥MSKCP-ABE和系统公钥PKCP-ABE
所述Step1.5具体为:
Step1.5.1:RSA的密钥生成;
Step1.5.1.1:选取位数为2k且互不相等的质数p和q,计算n=p*q,将n作为模;
Step1.5.1.2:选取任意e满足1<e<p且与(p-1)*(q-1)互质;
Step1.5.1.3:计算e关于
Figure BDA0003899504040000032
的模拟元d,使其满足
Figure BDA0003899504040000033
Step1.5.1.4:得到RSA的公钥PKRSA←(n,e)和RSA的私钥SKRSA←(n,d);
Step1.5.2:CP-ABE密钥生成;
Step1.5.2.1:输入安全参数λ,定义G、H、GT是Zp=Θ(λ)的三个素数阶,令g和h分别为G和H生成元,定义双线性映射e:G×H→GT
Step1.5.2.2:随机选取a1、a2∈Zp *,d1、d2、d3∈Zp,b1、b2∈Zp *,输出系统公钥:
Figure BDA0003899504040000034
和系统主密钥:
Figure BDA0003899504040000035
Step1.6:BCCA将生成的密钥信息反馈给DO,表示为:
Figure BDA0003899504040000036
Step2:数据拥有者DO制定自己的隐私数据访问策略MTPL,利用收到RSA的公私钥PKRSA、SKRSA、系统公钥PKCP-ABE和系统主密钥MSKCP-ABE,通过智能合约自动执行数据信息和访问策略的加密,然后将加密后的密文数据CTDT和密文访问策略CTPL上传存储到区块链网络中;
所述Step2具体为:
Step2.1:DO收到区块链网络发送的消息后,利用RSA公私钥PKRSA、SKRSA和访问策略MTPL生成属性密钥信息;
所述Step2.1具体为:
Step2.1.1:输入访问策略MTPL,利用RSA公钥PKRSA(n,e)对策略进行加密;
Step2.1.2:得到策略密文CTPL=MTPL e%n;
Step2:1.3:利用RSA私钥SKRSA(n,d)对策略进行解密,得到访问策略明文MTPL=CTPL d%n,令策略的属性集为S,选取r1、r2∈Zp,计算属性密钥SK0的部分:
Figure BDA0003899504040000041
Step2.1.4:定义Hash(x)可将任意二进制字符串映射到组G的元素,设所有的y∈S,t=1,2,σy∈ZP,计算属性密钥的{SKy}y∈S部分:
Figure BDA0003899504040000042
Step2.1.5:t=1,2,σ′∈ZP,计算属性密钥SK′部分:
Figure BDA0003899504040000043
Step2.1.6:得到属性密钥为Key=(SK0,{SKy}y∈S,SK′)。
Step2.2:紧接着,DO使用上一步生成的属性密钥信息,生成隐私数据密文信息CTDT和访问策略密文信息CTPL
所述Step2.2具体为:
Step2.2.1:选取s1、s2∈Zp,计算密文
Figure BDA0003899504040000044
部分:
Figure BDA0003899504040000045
Step2.2.2:令i=1,...,n1,l=1,2,3,计算密文
Figure BDA0003899504040000046
部分:
Figure BDA0003899504040000047
Step2.2.3:令
Figure BDA0003899504040000048
计算密文CTDT部分:
Figure BDA0003899504040000049
Step2.2.4:得到加密数据:
Figure BDA00038995040400000410
Step3:区块链网络收到数据拥有者DO的存储申请后,认证数据拥有者DO的身份信息,认证通过后,将密文数据CTDT和密文访问策略CTPL打包,并链接到区块链网络上,当数据拥有者DO需要更新或撤销访问策略时,将发送新的访问策略MTPL *给区块链网络。
所述Step3具体为:
Step3.1:待数据信息和访问策略加密完成后,DO将密文信息上链存储到区块链BC中,将密文数据信息CTDT、密文访问策略信息CTPL和数字证书CertDO发送存储信息至BC:
Figure BDA0003899504040000051
Step3.2:BC收到消息后,调用stub.Putstate()方法,将密文数据上链存储对密文信息执行存储操作;
Step3.3:当DO想要撤销访问策略时,发送撤销申请Revoke、新的访问策略
Figure BDA0003899504040000052
和数字证书CertDO给BC:
Figure BDA0003899504040000053
BC收到消息后,查验DO的访问策略是否存在:
若存在,返回错误信息:Error(Thispolicy is not exist!);
若不存在,则执行stub.DelState(),删除该访问策略和该访问策略对应的数据信息;
Step3.4:当DO想要更新访问策略时,发送更新申请Update、新的访问策略
Figure BDA0003899504040000054
和数字证书CertDO给BC:
Figure BDA0003899504040000055
BC收到消息后,查验DO的访问策略是否存在:
若不存在,返回错误信息:Error(Thispolicy is not exist!);
若存在,更新数据拥有者的属性生成密钥,紧接着加密访问策略解密,然后对隐私数据和访问策略执行加密操作,最后调用stub.PutState()将隐私数据和访问策略上链存储。
Step4:数据请求者DU向区块链网络发起跨域共享的数据请求,区块链网络收到请求后,验证数据请求者DU的身份信息,验证通过后,区块链授权中心BCCA将系统公钥PKCP-ABE和密文数据CTDT发送给数据请求者DU,紧接着通过智能合约自动判断该DU的属性集合是否满足数据拥有者DO的访问策略,如果满足,则对加密的数据文件进行解密,得到数据明文MTDT;若不满足,数据请求者DU无法获得该数据明文。
所述Step4具体为:
Step4.1:DU生成跨域访问请求申请rq,并将相关信息from、to、inf和数字证书CertDU,发送给BC:
Figure BDA0003899504040000061
Step4.2:BC收到访问请求后,判断DU身份信息是否合法:
如果合法,则将密文数据CTDT发送给DU:
Figure BDA0003899504040000062
如果不合法,则返回拒绝访问信息:
Figure BDA0003899504040000063
Step4.3:DU收到消息后,对密文数据进行解密,得到数据明文信息。
所述Step4.3具体为:
Step4.3.1:首先,计算MTDT的NUM部分:
Figure BDA0003899504040000064
Step4.3.2:然后,计算MTDT的DEN部分:
Figure BDA0003899504040000065
Step4.3.2:最后得到数据明文信息:
Figure BDA0003899504040000066
本发明的有益效果是:
(1)本发明打破物联网数据的数据孤岛壁垒,保证隐私数据在跨域访问中的安全性和共享性问题,为隐私数据的跨域安全共享提供了新的解决思路。
(2)本发明支持访问策略的隐藏,不仅保证隐私数据的安全性,还有有效的保证访问策略的安全性,防止出现隐私数据间接性泄露的问题。
(3)本发明支持访问策略的更新撤销,有效解决访问策略变更的灵活性问题,更好的适应了用户对访问策略变更的需求。
附图说明
图1是本发明实施例的总体架构图;
图2是本发明实施例的流程图;
图3是本发明实施例与现有技术的不同阶段下属性数量-计算时间的关系图;
图4是本发明实施例访问策略更新撤销的属性数量-计算时间的关系图。
具体实施方式
下面结合附图和具体实施方式,对本发明作进一步说明。
本发明实施例选用go语言作为主要编程语言,并借用Hyperledger Fabric区块链平台,选取了MedDialog数据集中内容大小为1KB的数据信息,对本申请进行了进一步说明。
实施例1:如图1-2所示,一种区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,首先,区块链授权中心BCCA收到数据拥有者DO的加密申请后,验证数据拥有者DO的身份信息,生成PURH-CP-ABE算法的的公私钥PKRSA、SKRSA和系统主密钥MSKCP-ABE,并发送给数据拥有者DO;接着,数据拥有者DO制定自己的隐私数据访问策略,利用区块链授权中心BCCA发送RSA的公私钥PKRSA、SKRSA和系统主密钥MSKCP-ABE,通过智能合约自动执行数据信息和访问策略的加密,然后将上传存储到区块链网络中;当数据拥有者DO想要更新或撤销访问策略时,将发送新的访问策略给区块链网络;然后,区块链网络收到上传数据后,认证数据拥有者DO的数据信息,并通过全网一致性共识后,打包数据信息链接到区块链网络上;最后,数据请求者DU发起跨域共享的数据请求,区块链网络验证数据请求者DU的身份信息,并将系统公钥PKCP-ABE和密文数据发送给数据请求者DU,通过智能合约自动判断该DU的属性集合是否满足数据拥有者DO的访问策略,如果满足,则对加密的数据文件进行解密,得到数据文件明文。
具体步骤为:
Step1:当区块链网络收到数据拥有者DO的隐私数据加密申请后,对数据拥有者DO的身份信息进行验证,验证通过后,区块链授权中心BCCA生成PURH-CP-ABE算法中的RSA的公私钥PKRSA、SKRSA、系统公钥PKCP-ABE和系统主密钥MSKCP-ABE,并将其发送给数据拥有者DO。
所述Step1具体为:
Step1.1:DO向BCCA发起身份注册请求,利用自己的私钥SKDO对身份信息inf就行签名,生成签名信息
Figure BDA0003899504040000071
并将自己的公钥PKDO和签名信息
Figure BDA0003899504040000072
发送给BCCA,请求成为区块链网络中的一员,表示为:
Figure BDA0003899504040000073
Step1.2:BCCA收到身份注册请求后,验证其是否合法,合法后生成关于DO的数字证书:
CertDO=(PKDO,inf,deadline,T2)
式中:deadline表示该证书的有效时间;
Step1.3:BCCA将数字证书CertDO和注册结果Ack/Nack反馈给DO:
如果身份注册成功,则返回:
Figure BDA0003899504040000081
如果注册不成功,则返回:
Figure BDA0003899504040000082
Step1.4:DO收到反馈信息后,生成数据加密和策略加密的密钥申请请求rqk,并使用自己的私钥SKDO进行签名,然后将申请请求rqk和数字证书CertDO一起发送给BCCA,表示为:
Figure BDA0003899504040000083
Step1.5:BCCA收到消息后,生成RSA公私钥PKRSA和SKRSA、系统主密钥MSKCP-ABE和系统公钥PKCP-ABE
所述Step1.5具体为:
Step1.5.1:RSA的密钥生成;
Step1.5.1.1:选取位数为2k且互不相等的质数p和q,计算n=p*q,将n作为模;
Step1.5.1.2:选取任意e满足1<e<p且与(p-1)*(q-1)互质;
Step1.5.1.3:计算e关于
Figure BDA0003899504040000084
的模拟元d,使其满足
Figure BDA0003899504040000085
Step1.5.1.4:得到RSA的公钥PKRSA←(n,e)和RSA的私钥SKRSA←(n,d);
Step1.5.2:CP-ABE密钥生成;
Step1.5.2.1:输入安全参数λ,定义G、H、GT是Zp=Θ(λ)的三个素数阶,令g和h分别为G和H生成元,定义双线性映射e:G×H→GT
Step1.5.2.2:随机选取a1、a2∈Zp *,d1、d2、d3∈Zp,b1、b2∈Zp *,输出系统公钥:
Figure BDA0003899504040000086
和系统主密钥:
Figure BDA0003899504040000087
Step1.6:BCCA将生成的密钥信息反馈给DO,表示为:
Figure BDA0003899504040000088
Step2:数据拥有者DO制定自己的隐私数据访问策略MTPL,利用收到RSA的公私钥PKRSA、SKRSA、系统公钥PKCP-ABE和系统主密钥MSKCP-ABE,通过智能合约自动执行数据信息和访问策略的加密,然后将加密后的密文数据CTDT和密文访问策略CTPL上传存储到区块链网络中;
所述Step2具体为:
Step2.1:DO收到区块链网络发送的消息后,利用RSA公私钥PKRSA、SKRSA和访问策略MTPL生成属性密钥信息;
所述Step2.1具体为:
Step2.1.1:输入访问策略MTPL,利用RSA公钥PKRSA(n,e)对策略进行加密;
Step2.1.2:得到策略密文CTPL=MTPL e%n;
Step2:1.3:利用RSA私钥SKRSA(n,d)对策略进行解密,得到访问策略明文MTPL=CTPL d%n,令策略的属性集为S,选取r1、r2∈Zp,计算属性密钥SK0的部分:
Figure BDA0003899504040000091
Step2.1.4:定义Hash(x)可将任意二进制字符串映射到组G的元素,设所有的y∈S,t=1,2,σy∈ZP,计算属性密钥的{SKy}y∈S部分:
Figure BDA0003899504040000092
Step2.1.5:t=1,2,σ′∈ZP,计算属性密钥SK′部分:
Figure BDA0003899504040000093
Step2.1.6:得到属性密钥为Key=(SK0,{SKy}y∈S,SK′)。
Step2.2:紧接着,DO使用上一步生成的属性密钥信息,生成隐私数据密文信息CTDT和访问策略密文信息CTPL
所述Step2.2具体为:
Step2.2.1:选取s1、s2∈Zp,计算密文
Figure BDA0003899504040000094
部分:
Figure BDA0003899504040000095
Step2.2.2:令i=1,...,n1,l=1,2,3,计算密文
Figure BDA0003899504040000096
部分:
Figure BDA0003899504040000097
Step2.2.3:令
Figure BDA0003899504040000098
计算密文CTDT部分:
Figure BDA0003899504040000099
Step2.2.4:得到加密数据:
Figure BDA0003899504040000101
Step3:区块链网络收到数据拥有者DO的存储申请后,认证数据拥有者DO的身份信息,认证通过后,将密文数据CTDT和密文访问策略CTPL打包,并链接到区块链网络上,当数据拥有者DO需要更新或撤销访问策略时,将发送新的访问策略MTPL *给区块链网络。
所述Step3具体为:
Step3.1:待数据信息和访问策略加密完成后,DO将密文信息上链存储到区块链BC中,将密文数据信息CTDT、密文访问策略信息CTPL和数字证书CertDO发送存储信息至BC:
Figure BDA0003899504040000102
Step3.2:BC收到消息后,调用stub.Putstate()方法,将密文数据上链存储对密文信息执行存储操作;
Step3.3:当DO想要撤销访问策略时,发送撤销申请Revoke、新的访问策略
Figure BDA0003899504040000103
和数字证书CertDO给BC:
Figure BDA0003899504040000104
BC收到消息后,查验DO的访问策略是否存在:
若存在,返回错误信息:Error(Thispolicy is not exist!);
若不存在,则执行stub.DelState(),删除该访问策略和该访问策略对应的数据信息;
Step3.4:当DO想要更新访问策略时,发送更新申请Update、新的访问策略
Figure BDA0003899504040000105
和数字证书CertDO给BC:
Figure BDA0003899504040000106
BC收到消息后,查验DO的访问策略是否存在:
若不存在,返回错误信息:Error(Thispolicy is not exist!);
若存在,更新数据拥有者的属性生成密钥,紧接着加密访问策略解密,然后对隐私数据和访问策略执行加密操作,最后调用stub.PutState()将隐私数据和访问策略上链存储。
Step4:数据请求者DU向区块链网络发起跨域共享的数据请求,区块链网络收到请求后,验证数据请求者DU的身份信息,验证通过后,区块链授权中心BCCA将系统公钥PKCP-ABE和密文数据CTDT发送给数据请求者DU,紧接着通过智能合约自动判断该DU的属性集合是否满足数据拥有者DO的访问策略,如果满足,则对加密的数据文件进行解密,得到数据明文MTDT;若不满足,数据请求者DU无法获得该数据明文。
所述Step4具体为:
Step4.1:DU生成跨域访问请求申请rq,并将相关信息from、to、inf和数字证书CertDU,发送给BC:
Figure BDA0003899504040000111
Step4.2:BC收到访问请求后,判断DU身份信息是否合法:
如果合法,则将密文数据CTDT发送给DU:
Figure BDA0003899504040000112
如果不合法,则返回拒绝访问信息:
Figure BDA0003899504040000113
Step4.3:DU收到消息后,对密文数据进行解密,得到数据明文信息。
所述Step4.3具体为:
Step4.3.1:首先,计算MTDT的NUM部分:
Figure BDA0003899504040000114
Step4.3.2:然后,计算MTDT的DEN部分:
Figure BDA0003899504040000115
Step4.3.2:最后得到数据明文信息:
Figure BDA0003899504040000116
如图3所示。随着属性数量的不断增加,本发明实施例和TrustAccess方案所需要的计算时间都在不断增加,这主要是由于随着属性的增加,属性密钥生成和加密的复杂度也越高。在初始化阶段,本发明实施例的计算时间介于1.5s~1.6s之间,而现有方案介于1s~2.5s之间,相较于现有方案,本发明实施例更加平稳,能更好适应不同的属性数量;在加密阶段,本发明实施例的计算时间在1.4s~2s之间,而现有方案的最大计算时间达到了4s左右,相较于现有方案,本发明实施例在该阶段的计算时间最大减少了2s左右,大大缩短了密文加密的计算时间;在数据存储阶段,本发明实施例的计算时间处于1.5s~2s之间,而现有方案处于1.6s~3s之间,在保证隐私数据安全性的前提下,本发明实施例生成的密文大小相较于现有方案更小,因此存储所需时间更短;在跨域共享阶段,本发明实施例的计算时间介于1.5s~1.8s之间,而现有方案介于0.6s~1.6s之间,说明在相同条件下本发明实施例相较于现有方案解密难度更高,所需解密计算时间更大,使得本发明实施例更加安全。整体来说,本发明实施例相较于现有方案具有更明显的优势,能更好的适应不同属性数量的密钥生成,在更短的时间内实现数据的加密和存储,更好的保证隐私数据的安全性。
如图4所示。随着属性数量的不断增加,访问策略更新的计算时间在不断上升,而访问策略撤销的计算时间趋于平稳,基本保持不变。这主要是由于在区块链执行撤销操作时,只需要更改哈希指针,不会涉及密文信息详细内容的计算,并未产生明显的算力消耗,因此计算时间相差不大。而在访问策略更新阶段,本发明实施例不仅需要重新生成属性密钥,还需要重新生成密文数据信息,然后再将生成的相关密文信息上链存储,相对而言产生了更多的计算时间。结合图3不同阶段下的计算时间,总的来说,访问策略更新的计算时间是处于合理消耗范围内,消耗一定的计算时间换取更加安全的访问服务是系统可容忍的。说明本发明实施例不仅可以在合理稳定的计算时间内,保证隐私数据和访问策略的安全性,还能使得访问策略的变更更具有灵活性。
综上所述,本发明提出了区块链下基于PURH-CP-ABE的隐私数据跨域共享方案,解决了物联网的数据孤岛问题,保证了隐私数据和访问策略的安全性,实现了隐私数据高效安全的跨域共享。本发明支持访问策略的隐藏,不仅保证隐私数据的安全性,还有有效的保证访问策略的安全性,防止出现隐私数据间接性泄露的问题;其次,支持访问策略的更新撤销,有效解决访问策略变更的灵活性问题,更好的适应了用户对访问策略变更的需求;最后,通过与现有技术的对比,本发明实施例的计算时间在初始化、加密和数据存储阶段均有所降低,可以更加高效的完成隐私数据的跨域共享;在跨域共享阶段,本发明实施例相较于现有方案解密难度更高,所需解密计算时间更大,使得本发明实施例更加安全;在访问策略更新和撤销阶段,计算时间处于合理且平稳的状态,保证了访问策略变更的灵活性。总的来说,本发明不论各个阶段的计算时间上,还是在访问策略变更的灵活性上都优于现有技术,为隐私数据的跨域安全共享提供了一个良好的解决方法。
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

Claims (9)

1.一种区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,其特征在于:
Step1:当区块链网络收到数据拥有者DO的隐私数据加密申请后,对数据拥有者DO的身份信息进行验证,验证通过后,区块链授权中心BCCA生成PURH-CP-ABE算法中的RSA的公私钥PKRSA、SKRSA、系统公钥PKCP-ABE和系统主密钥MSKCP-ABE,并将其发送给数据拥有者DO;
Step2:数据拥有者DO制定自己的隐私数据访问策略MTPL,利用收到RSA的公私钥PKRSA、SKRSA、系统公钥PKCP-ABE和系统主密钥MSKCP-ABE,通过智能合约自动执行数据信息和访问策略的加密,然后将加密后的密文数据CTDT和密文访问策略CTPL上传存储到区块链网络中;
Step3:区块链网络收到数据拥有者DO的存储申请后,认证数据拥有者DO的身份信息,认证通过后,将密文数据CTDT和密文访问策略CTPL打包,并链接到区块链网络上,当数据拥有者DO需要更新或撤销访问策略时,将发送新的访问策略MTPL *给区块链网络;
Step4:数据请求者DU向区块链网络发起跨域共享的数据请求,区块链网络收到请求后,验证数据请求者DU的身份信息,验证通过后,区块链授权中心BCCA将系统公钥PKCP-ABE和密文数据CTDT发送给数据请求者DU,紧接着通过智能合约自动判断该DU的属性集合是否满足数据拥有者DO的访问策略,如果满足,则对加密的数据文件进行解密,得到数据明文MTDT;若不满足,数据请求者DU无法获得该数据明文。
2.根据权利要求1所述的区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,其特征在于,所述Step1具体为:
Step1.1:DO向BCCA发起身份注册请求,利用自己的私钥SKDO对身份信息inf就行签名,生成签名信息
Figure FDA0003899504030000011
并将自己的公钥PKDO和签名信息
Figure FDA0003899504030000012
发送给BCCA,请求成为区块链网络中的一员,表示为:
Figure FDA0003899504030000013
Step1.2:BCCA收到身份注册请求后,验证其是否合法,合法后生成关于DO的数字证书:
CertDO=(PKDO,inf,deadline,T2)
式中:deadline表示该证书的有效时间;
Step1.3:BCCA将数字证书CertDO和注册结果Ack/Nack反馈给DO:
如果身份注册成功,则返回:
Figure FDA0003899504030000021
如果注册不成功,则返回:
Figure FDA0003899504030000022
Step1.4:DO收到反馈信息后,生成数据加密和策略加密的密钥申请请求rqk,并使用自己的私钥SKDO进行签名,然后将申请请求rqk和数字证书CertDO一起发送给BCCA,表示为:
Figure FDA0003899504030000023
Step1.5:BCCA收到消息后,生成RSA公私钥PKRSA和SKRSA、系统主密钥MSKCP-ABE和系统公钥PKCP-ABE
Step1.6:BCCA将生成的密钥信息反馈给DO,表示为:
Figure FDA0003899504030000024
3.根据权利要求2所述的区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,其特征在于,所述Step1.5具体为:
Step1.5.1:RSA的密钥生成;
Step1.5.1.1:选取位数为2k且互不相等的质数p和q,计算n=p*q,将n作为模;
Step1.5.1.2:选取任意e满足1<e<p且与(p-1)*(q-1)互质;
Step1.5.1.3:计算e关于
Figure FDA0003899504030000025
的模拟元d,使其满足
Figure FDA0003899504030000026
Step1.5.1.4:得到RSA的公钥PKRSA←(n,e)和RSA的私钥SKRSA←(n,d);
Step1.5.2:CP-ABE密钥生成;
Step1.5.2.1:输入安全参数λ,定义G、H、GT是Zp=Θ(λ)的三个素数阶,令g和h分别为G和H生成元,定义双线性映射e:G×H→GT
Step1.5.2.2:随机选取a1、a2∈Zp *,d1、d2、d3∈Zp,b1、b2∈Zp *,输出系统公钥:
Figure FDA0003899504030000027
和系统主密钥:
Figure FDA0003899504030000028
4.根据权利要求1所述的区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,其特征在于,所述Step2具体为:
Step2.1:DO收到区块链网络发送的消息后,利用RSA公私钥PKRSA、SKRSA和访问策略MTPL生成属性密钥信息;
Step2.2:紧接着,DO使用上一步生成的属性密钥信息,生成隐私数据密文信息CTDT和访问策略密文信息CTPL
5.根据权利要求4所述的区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,其特征在于,所述Step2.1具体为:
Step2.1.1:输入访问策略MTPL,利用RSA公钥PKRSA(n,e)对策略进行加密;
Step2.1.2:得到策略密文CTPL=MTPL e%n;
Step2:1.3:利用RSA私钥SKRSA(n,d)对策略进行解密,得到访问策略明文MTPL=CTPL d%n,令策略的属性集为S,选取r1、r2∈Zp,计算属性密钥SK0的部分:
Figure FDA0003899504030000031
Step2.1.4:定义Hash(x)可将任意二进制字符串映射到组G的元素,设所有的y∈S,t=1,2,σy∈ZP,计算属性密钥的{SKy}y∈S部分:
Figure FDA0003899504030000032
Step2.1.5:t=1,2,σ′∈ZP,计算属性密钥SK′部分:
Figure FDA0003899504030000033
SK′=(SK1′,SK2′,g-σ′)
Step2.1.6:得到属性密钥为Key=(SK0,{SKy}y∈S,SK′)。
6.根据权利要求4所述的区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,其特征在于,所述Step2.2具体为:
Step2.2.1:选取s1、s2∈Zp,计算密文
Figure FDA0003899504030000034
部分:
Figure FDA0003899504030000035
Step2.2.2:令i=1,...,n1,l=1,2,3,计算密文
Figure FDA0003899504030000036
部分:
Figure FDA0003899504030000037
Step2.2.3:令
Figure FDA0003899504030000038
计算密文CTDT部分:
Figure FDA0003899504030000039
Step2.2.4:得到加密数据:
Figure FDA0003899504030000041
7.根据权利要求1所述的区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,其特征在于,所述Step3具体为:
Step3.1:待数据信息和访问策略加密完成后,DO将密文信息上链存储到区块链BC中,将密文数据信息CTDT、密文访问策略信息CTPL和数字证书CertDO发送存储信息至BC:
Figure FDA0003899504030000042
Step3.2:BC收到消息后,调用stub.Putstate()方法,将密文数据上链存储对密文信息执行存储操作;
Step3.3:当DO想要撤销访问策略时,发送撤销申请Revoke、新的访问策略
Figure FDA0003899504030000043
和数字证书CertDO给BC:
Figure FDA0003899504030000044
BC收到消息后,查验DO的访问策略是否存在:
若存在,返回错误信息:Error(Thispolicy is not exist!);
若不存在,则执行stub.DelState(),删除该访问策略和该访问策略对应的数据信息;
Step3.4:当DO想要更新访问策略时,发送更新申请Update、新的访问策略
Figure FDA0003899504030000045
和数字证书CertDO给BC:
Figure FDA0003899504030000046
BC收到消息后,查验DO的访问策略是否存在:
若不存在,返回错误信息:Error(Thispolicy is not exist!);
若存在,更新数据拥有者的属性生成密钥,紧接着加密访问策略解密,然后对隐私数据和访问策略执行加密操作,最后调用stub.PutState()将隐私数据和访问策略上链存储。
8.根据权利要求1所述的区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,其特征在于,所述Step4具体为:
Step4.1:DU生成跨域访问请求申请rq,并将相关信息from、to、inf和数字证书CertDU,发送给BC:
Figure FDA0003899504030000047
Step4.2:BC收到访问请求后,判断DU身份信息是否合法:
如果合法,则将密文数据CTDT发送给DU:
Figure FDA0003899504030000051
如果不合法,则返回拒绝访问信息:
Figure FDA0003899504030000052
Step4.3:DU收到消息后,对密文数据进行解密,得到数据明文信息。
9.根据权利要求1所述的区块链下基于PURH-CP-ABE的隐私数据跨域共享方法,其特征在于,所述Step4.3具体为:
设S是一组属性,I={I|I∈{1,...,n1},π(i)∈S}是属于S的行集合,存在{γi}γ∈I,计算明文信息MTDT
Figure FDA0003899504030000053
式中:SK0,1、SK0,2、SK0,3表示SK0的第一、第二和第三个元素,
Figure FDA0003899504030000054
表示CTDT的第一、第二和第三个元素。
CN202211291715.8A 2022-10-20 2022-10-20 一种区块链下基于purh-cp-abe的隐私数据跨域共享方法 Active CN115714669B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211291715.8A CN115714669B (zh) 2022-10-20 2022-10-20 一种区块链下基于purh-cp-abe的隐私数据跨域共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211291715.8A CN115714669B (zh) 2022-10-20 2022-10-20 一种区块链下基于purh-cp-abe的隐私数据跨域共享方法

Publications (2)

Publication Number Publication Date
CN115714669A true CN115714669A (zh) 2023-02-24
CN115714669B CN115714669B (zh) 2024-02-06

Family

ID=85231372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211291715.8A Active CN115714669B (zh) 2022-10-20 2022-10-20 一种区块链下基于purh-cp-abe的隐私数据跨域共享方法

Country Status (1)

Country Link
CN (1) CN115714669B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174235A (zh) * 2022-07-08 2022-10-11 慧之安信息技术股份有限公司 一种基于区块链的物联网可撤销属性加密方法
CN116800435A (zh) * 2023-08-21 2023-09-22 成都信息工程大学 基于零知识证明和跨链的访问控制方法、系统及存储介质
CN117155715A (zh) * 2023-10-31 2023-12-01 中债金科信息技术有限公司 基于区块链的金融数据共享方法、装置、设备和存储介质
CN117896180A (zh) * 2024-03-14 2024-04-16 贵州梦福网络技术有限公司 一种以属性基加密技术为基础的多系统组网机制及其智能设备、存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018045568A1 (zh) * 2016-09-09 2018-03-15 深圳大学 一种面向云存储服务平台的访问控制方法及其系统
CN109189727A (zh) * 2018-09-14 2019-01-11 江西理工大学 一种基于属性代理重加密的区块链密文云存储共享方法
US20190349190A1 (en) * 2016-12-30 2019-11-14 Intel Corporation BLOCKCHAINS FOR SECURING IoT DEVICES
CN112637278A (zh) * 2020-12-09 2021-04-09 云南财经大学 基于区块链和属性基加密的数据共享方法、系统及计算机可读存储介质
CN112948846A (zh) * 2021-02-02 2021-06-11 浙江泰科数联信息技术有限公司 一种基于区块链的制造业跨域隐私实体安全对齐共享方法
CN113132103A (zh) * 2021-03-11 2021-07-16 西安电子科技大学 一种数据跨域安全共享系统及方法
CN114024686A (zh) * 2021-11-03 2022-02-08 北京邮电大学 基于区块链的智慧社区物联网信息共享模型
CN114039790A (zh) * 2021-11-23 2022-02-11 重庆邮电大学 一种基于区块链的细粒度云存储安全访问控制方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018045568A1 (zh) * 2016-09-09 2018-03-15 深圳大学 一种面向云存储服务平台的访问控制方法及其系统
US20190349190A1 (en) * 2016-12-30 2019-11-14 Intel Corporation BLOCKCHAINS FOR SECURING IoT DEVICES
CN109189727A (zh) * 2018-09-14 2019-01-11 江西理工大学 一种基于属性代理重加密的区块链密文云存储共享方法
CN112637278A (zh) * 2020-12-09 2021-04-09 云南财经大学 基于区块链和属性基加密的数据共享方法、系统及计算机可读存储介质
CN112948846A (zh) * 2021-02-02 2021-06-11 浙江泰科数联信息技术有限公司 一种基于区块链的制造业跨域隐私实体安全对齐共享方法
CN113132103A (zh) * 2021-03-11 2021-07-16 西安电子科技大学 一种数据跨域安全共享系统及方法
CN114024686A (zh) * 2021-11-03 2022-02-08 北京邮电大学 基于区块链的智慧社区物联网信息共享模型
CN114039790A (zh) * 2021-11-23 2022-02-11 重庆邮电大学 一种基于区块链的细粒度云存储安全访问控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KAIQING HUANG: "Online/Offline Revocable Multi-Authority Attribute-Based Encryption for Edge Computing", 2020 12TH INTERNATIONAL CONFERENCE ON MEASURING TECHNOLOGY AND MECHATRONICS AUTOMATION (ICMTMA) *
潘雪: "主从链下的物联网隐私数据跨域安全共享模型", 计算机应用研究 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174235A (zh) * 2022-07-08 2022-10-11 慧之安信息技术股份有限公司 一种基于区块链的物联网可撤销属性加密方法
CN116800435A (zh) * 2023-08-21 2023-09-22 成都信息工程大学 基于零知识证明和跨链的访问控制方法、系统及存储介质
CN116800435B (zh) * 2023-08-21 2023-12-19 成都信息工程大学 基于零知识证明和跨链的访问控制方法、系统及存储介质
CN117155715A (zh) * 2023-10-31 2023-12-01 中债金科信息技术有限公司 基于区块链的金融数据共享方法、装置、设备和存储介质
CN117155715B (zh) * 2023-10-31 2024-02-02 中债金科信息技术有限公司 基于区块链的金融数据共享方法、装置、设备和存储介质
CN117896180A (zh) * 2024-03-14 2024-04-16 贵州梦福网络技术有限公司 一种以属性基加密技术为基础的多系统组网机制及其智能设备、存储介质
CN117896180B (zh) * 2024-03-14 2024-05-28 贵州梦福网络技术有限公司 一种以属性基加密技术为基础的多系统组网方法及其智能设备、存储介质

Also Published As

Publication number Publication date
CN115714669B (zh) 2024-02-06

Similar Documents

Publication Publication Date Title
US20240054437A1 (en) Blockchain-Based Authentication And Authorization
CN111916173B (zh) 基于ipfs和联盟链的医疗数据安全共享系统及方法
WO2021114819A1 (zh) 生成和执行智能合约交易的方法及装置
CN115714669B (zh) 一种区块链下基于purh-cp-abe的隐私数据跨域共享方法
Ali et al. SeDaSC: secure data sharing in clouds
CN114039790B (zh) 一种基于区块链的细粒度云存储安全访问控制方法
CN109818757A (zh) 云存储数据访问控制方法、属性证书颁发方法及系统
CN104683099A (zh) 一种改进的加密/解密内容和分发加密内容的方法和装置
CN110933033B (zh) 智慧城市环境下多物联网域的跨域访问控制方法
Sun et al. Non-repudiation storage and access control scheme of insurance data based on blockchain in IPFS
CN115296838B (zh) 基于区块链的数据共享方法、系统及存储介质
CN103856477A (zh) 一种可信计算系统及相应的认证方法和设备
JP2004015241A (ja) 暗号通信システム、その端末装置及びサーバ並びに復号方法
CN114866323B (zh) 一种用户可控的隐私数据授权共享系统及方法
US20140052985A1 (en) Methods for providing requested data from a storage device to a data consumer and storage devices
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
CN115883102B (zh) 基于身份可信度的跨域身份认证方法、系统及电子设备
CN115114658A (zh) 基于区块链的可验证数据交易方法、装置、设备及介质
CN113360944A (zh) 一种电力物联网的动态访问控制系统与方法
Chaudhary et al. RMA-CPABE: A multi-authority CPABE scheme with reduced ciphertext size for IoT devices
Oberko et al. A survey on attribute-based signatures
US8644509B2 (en) Data providing process based on an IBPE scheme
Almuzaini et al. Key Aggregation Cryptosystem and Double Encryption Method for Cloud‐Based Intelligent Machine Learning Techniques‐Based Health Monitoring Systems
WO2023025369A1 (en) Client application entity, target application entity, root of trust device, and methods for establishing a secure communication channel
Sanchol et al. A Fully Outsourced Attribute-Based Signcryption Scheme Supporting Privacy-Preserving Policy Update in Mobile Cloud Computing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant