CN114866236A - 基于联盟链的云中物联网数据共享方法 - Google Patents

基于联盟链的云中物联网数据共享方法 Download PDF

Info

Publication number
CN114866236A
CN114866236A CN202210512310.6A CN202210512310A CN114866236A CN 114866236 A CN114866236 A CN 114866236A CN 202210512310 A CN202210512310 A CN 202210512310A CN 114866236 A CN114866236 A CN 114866236A
Authority
CN
China
Prior art keywords
data
user
identity
alliance chain
random number
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
CN202210512310.6A
Other languages
English (en)
Other versions
CN114866236B (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.)
Xidian University
SF Technology Co Ltd
Guangzhou Institute of Technology of Xidian University
Original Assignee
Xidian University
SF Technology Co Ltd
Guangzhou Institute of Technology of Xidian 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 Xidian University, SF Technology Co Ltd, Guangzhou Institute of Technology of Xidian University filed Critical Xidian University
Priority to CN202210512310.6A priority Critical patent/CN114866236B/zh
Publication of CN114866236A publication Critical patent/CN114866236A/zh
Application granted granted Critical
Publication of CN114866236B publication Critical patent/CN114866236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出了一种基于联盟链的云中物联网数据共享方法,实现步骤是:1)初始化数据共享系统;2)数据拥有用户获取伪身份;3)数据拥有用户加密数据;4)云服务器存储数据;5)数据拥有用户上传数据检索信息;6)数据访问用户申请访问数据;7)数据拥有用户授权数据访问用户访问数据;8)数据访问用户获得数据。本发明中数据拥有用户的不同数据均使用自己的公钥加密,通过代理重加密算法对数据进行访问控制,避免了复杂的密钥管理问题,有效降低了存储开销,同时,每一个数据拥有用户都会获得特定的伪身份,然后在数据共享时利用伪身份隐藏自己的真实身份信息,有效防止了数据拥有用户的身份隐私泄露,进一步提高了数据共享的安全性。

Description

基于联盟链的云中物联网数据共享方法
技术领域
本发明属于信息安全技术领域,涉及一种基于联盟链的云中物联网数据共享方法,可用于云中物联网数据的安全共享。
背景技术
随着互联网与大数据技术的快速发展,现在的社会已经迈入了万物互联时代,物联网设备产生了海量的数据。同时,随着云存储的发展,海量的物联网数据存储在云上,不同机构或用户之间共享云中物联网数据作为数据分析和研究的材料能够推动各行各业乃至社会的进步。但是数据直接存储在云中,容易使数据脱离用户的控制并且导致数据隐私泄露问题,并且物联网设备产生的数据中可能与用户的身份信息相关联,用户不希望在自己贡献数据价值的同时,隐私遭到侵害。现有的物联网数据系统为了避免隐私泄露,采用的是每个机构建立自己的服务器来存储用户加密后数据,并配备了防火墙和专业的入侵检测系统,但是这种架构存在很多缺陷,如海量数据的存储压力、数据难以管理和互操作性差、中心化的服务器容易遭受单点故障的影响以及无法保证中心化服务器是完全诚实可信的等。随着新兴技术的发展,为了提高数据共享的安全性,引入了区块链技术。区块链是一种去中心化数据库,数据以区块为载体,以链式数据结构按时间顺序连接在一起,由密码学算法保证区块中的数据真实可信、不可篡改。而联盟链是由多个机构共同参与管理的区块链,每个组织或机构管理一个或多个节点,既拥有区块链的防篡改、可追溯等特性,又能够受机构或政府监管。
例如申请公布号为CN114254394A,名称为“一种基于联盟链的数据共享系统和方法”的专利申请,公开了一种基于联盟链的数据共享方法,所述方法包括:步骤一、身份认证模块审核数据共享用户身份信息,认证通过后通过非对称加密算法生成用户的公钥和私钥;步骤二、共享数据使用密钥加密后上传至IPFS系统,IPFS系统返回数据存储地址URL;步骤三、提取共享数据的原始数据Hash、数据存储地址URL、数据说明并将其整合为数据摘要发送至数据管理模块,由数据管理模块发送至联盟链进行全网共识;步骤四、联盟链共识节点采用共识模块预先设置好的共识算法对数据上传信息进行共识,共识通过后将数据上传信息写入区块链实现数据存证,将数据存证结果返回给对应数据提供者;步骤五、数据需求用户发送数据需求信息至数据共享模块,数据共享模块通过匹配算法完成数据供求匹配,并将匹配信息生成订单信息发送至供求双方用户确认;步骤六、数据需求用户通过数据共享模块支付费用,数据共享交易是交易信息通过全网共识后写入区块链,此时数据提供者生成带有数据需求用户公钥加密的数据解密密钥发送给数据需求用户;步骤七、数据需求用户访问IPFS系统的URL,获取数据,使用自身私钥解密得到的数据密钥获取原始数据,并与原始数据Hash对比,检查数据完整性,在使用时出现问题通过评价反馈模块进行评价或投诉。
然而现有技术的步骤二中数据提供用户采用单个密钥加密数据,在步骤六中为了共享数据直接与数据需求用户进行通信将密钥发送给数据需求用户,但是在数据共享过程中,不同数据采用不同密钥进行加密,导致了数据提供用户的复杂的密钥管理问题,同时,数据提供用户的身份信息没有得到隐藏,泄露了数据提供用户的身份隐私。因此,需要一种能在保护数据隐私和用户身份隐私的条件下进行安全高效的数据共享方法,而代理重加密算法能够实现数据的细粒度访问控制,不同数据都使用数据拥有用户的公钥进行加密,利用代理重加密算法对数据的访问权限进行控制,避免了数据拥有用户的复杂的密钥管理问题,同时,伪身份机制具有优秀的身份隐私保护特性,通过为每一个数据拥有用户生成特定的伪身份,能够使数据拥有用户在数据共享过程中隐藏自己的身份信息。
发明内容
本发明的目的在于克服上述现有技术存在的缺陷,提出了一种基于联盟链的云中物联网数据共享方法,用于解决现有技术中存在的复杂的密钥管理以及数据隐私和用户身份隐私容易被泄露的技术问题。
为实现上述目的,本发明的技术方案包括如下步骤:
(1)初始化数据共享系统:
(1a)初始化包括联盟链管理节点MN、L个数据拥有用户UO={UOl|1≤l≤L}、M个数据访问用户UA={UAm|1≤m≤M}、N个联盟链共识节点CN={CNn|1≤n≤N}、云服务器CS的数据共享系统,每一个数据拥有用户UOl拥有I条数据
Figure BDA0003638478620000021
其中,L≥1,UOl表示第l个数据拥有用户,M≥1,UAm表示第m个数据访问用户,N≥1,CNn表示第n个联盟链共识节点,I≥1,
Figure BDA0003638478620000022
表示第i条数据;
(1b)联盟链管理节点MN根据安全参数λ生成公共参数Param并公开,然后从
Figure BDA0003638478620000023
选取一个随机数作为自己的私钥msk并保存,根据msk计算公钥pkM=gmsk并公开;
(1c)每个联盟链共识节点CNn
Figure BDA0003638478620000024
选取一个随机数xn作为私钥skn并保存,根据skn计算公钥
Figure BDA0003638478620000025
并公开,再根据Leader选取规则在联盟链共识节点集合CN={CNn|1≤n≤N}中选举一个Leader,然后Leader从G1选择一个随机数gz并公开;
(1d)每个数据拥有用户UOl、每个数据访问用户UAm、云服务器CS分别从
Figure BDA0003638478620000031
选取中选取一个随机数xl、xm、xc作为私钥skl、skm、skc并保存,然后分别计算公钥
Figure BDA0003638478620000032
并公开;
(2)数据拥有用户获取伪身份:
(2a)每一个数据拥有用户UOl组织自己的信息{Name,ID,E-mail,Phone}并构造真实身份信息Infol=I1||I2||I3||I4,其中,I1、I2、I3、I4分别为四个身份信息字段的字符串的二进制字表示;
(2b)每一个数据拥有用户UOl
Figure BDA0003638478620000033
选取一个随机数s作为秘密值并构造秘密S=gs,然后计算真实身份保护信息
Figure BDA0003638478620000034
然后选取t-1个随机数a1,a2,…,ak,…,at-1并设a0=s,其中,ak表示第k个随机数,然后构造一个t-1次多项式
Figure BDA0003638478620000035
然后计算份额{fl(1),fl(2),…,fl(n),…,fl(N)},其中,fl(n)表示第n个份额,然后计算每一个多项式系数ak的承诺
Figure BDA0003638478620000036
和每一个份额fl(n)的承诺
Figure BDA0003638478620000037
密文
Figure BDA0003638478620000038
验证辅助信息
Figure BDA0003638478620000039
最后广播消息组
Figure BDA00036384786200000310
(2c)每个联盟链共识节点CNn根据多项式系数承诺
Figure BDA00036384786200000311
计算
Figure BDA00036384786200000312
然后验证
Figure BDA00036384786200000313
Figure BDA00036384786200000314
是否成立,若是,接受并保存属于自己的份额密文
Figure BDA00036384786200000315
并且向联盟链管理节点MN发送确认消息
Figure BDA00036384786200000316
否则,终止注册;
(2d)联盟链管理节点MN根据每个联盟链共识节点CNn的确认消息αn计算α=α12+…+αN,然后从
Figure BDA00036384786200000317
选取一个随机数β,再然后为每一个数据拥有用户UOl计算伪身份
Figure BDA00036384786200000318
哈希值δ=H3(PIDl)和签名σ=α(β+H2l))+δ.msk,并将消息组{PIDl,σ,δ}发送给UOl,最后发起上链请求将消息组{πl,PIDl}上链;
(2e)每一个数据拥有用户UOl计算哈希值δ*=H3(PIDl)并判断δ*=δ和
Figure BDA00036384786200000319
是否同时成立,若是,UOl接收PIDl为自己的伪身份,否则,重新执行步骤(2);
(3)数据拥有用户加密数据:
每一个数据拥有用户UOl
Figure BDA0003638478620000041
中选取一个随机数rl,根据当前Leader公开的随机数gz加密数据
Figure BDA0003638478620000042
获得数据密文
Figure BDA0003638478620000043
然后计算哈希值
Figure BDA0003638478620000044
和签名
Figure BDA0003638478620000045
将消息组
Figure BDA0003638478620000046
发送给云服务器CS;
(4)云服务器存储数据:
云服务器CS计算
Figure BDA0003638478620000047
然后判断等式
Figure BDA0003638478620000048
Figure BDA0003638478620000049
是否成立,若是,存储数据密文
Figure BDA00036384786200000410
和哈希值
Figure BDA00036384786200000411
生成数据密文
Figure BDA00036384786200000412
的下载地址
Figure BDA00036384786200000413
并发送给UOl,否则,丢弃密文;
(5)数据拥有用户上传数据检索信息:
每一个数据拥有用户UOl根据下载地址
Figure BDA00036384786200000414
每一条数据
Figure BDA00036384786200000415
的摘要信息
Figure BDA00036384786200000416
伪身份PIDl和当前Leader公开的随机数gz构造
Figure BDA00036384786200000417
的检索信息
Figure BDA00036384786200000418
并发起上链请求,将
Figure BDA00036384786200000419
上链;
(6)数据访问用户申请访问数据:
每一个数据访问用户UAm在链上检索到想要访问的数据
Figure BDA00036384786200000420
的检索信息
Figure BDA00036384786200000421
根据
Figure BDA00036384786200000422
中的gz和自己的私钥xm计算
Figure BDA00036384786200000423
然后构造申请消息
Figure BDA00036384786200000424
并根据
Figure BDA00036384786200000425
中的伪身份PIDl发送给数据拥有用户UOl
(7)数据拥有用户授权数据访问用户访问数据:
(7a)数据拥有用户UOl判断数据访问用户UAm的身份,若同意数据访问用户UAm访问数据,根据申请消息中的
Figure BDA00036384786200000426
加密数据时选择的随机数rl和自己的私钥xl计算重加密密钥rkl→m,然后构造消息组{rkl→m,urli l}并通过安全信道发送给云服务器CS,否则,忽略数据访问用户UAm的申请消息;
(7b)云服务器CS根据rkl→m计算解密辅助信息Rl→m,将Rl→m作为数据密文Ci l的一部分;
(8)数据访问用户获得访问数据:
数据访问用户UAm通过下载地址
Figure BDA00036384786200000427
下载数据密文
Figure BDA00036384786200000428
哈希值h、解密辅助信息Rl→m,然后解密数据密文
Figure BDA00036384786200000429
获得数据
Figure BDA00036384786200000430
然后判断数据
Figure BDA00036384786200000431
是否合法,若是,接受数据
Figure BDA00036384786200000432
否则申请联盟链共识节点追踪数据拥有用户UOl的真实身份。
本发明与现有技术相比,具有如下优点:
本发明中数据拥有用户的不同数据均使用自己的公钥进行加密,通过代理重加密算法对数据进行访问控制,避免了现有技术中数据拥有用户的复杂的密钥管理问题,有效降低了数据拥有者的存储开销,同时,本发明中每一个数据拥有用户都会获得特定的伪身份,数据拥有者用户在进行数据共享时利用伪身份隐藏自己的真实身份信息,在数据共享过程中避免了现有技术中数据拥有用户为了共享数据直接与数据访问用户通信导致用户身份信息直接暴露在外的缺陷,有效防止了数据拥有用户的身份隐私泄露,进一步提高了数据共享的安全性。
附图说明
图1是本发明的实现流程图。
具体实施方式
以下结合附图和具体实施例,对本发明作进一步详细描述:
参照图1,本发明包括如下步骤:
步骤1)初始化数据共享系统:
(1a)初始化包括联盟链管理节点MN、L个数据拥有用户UO={UOl|1≤l≤L}、M个数据访问用户UA={UAm|1≤m≤M}、N个联盟链共识节点CN={CNn|1≤n≤N}、云服务器CS的数据共享系统,每一个数据拥有用户UOl拥有I条数据
Figure BDA0003638478620000051
其中,L≥1,UOl表示第l个数据拥有用户,M≥1,UAm表示第m个数据访问用户,N≥1,CNn表示第n个联盟链共识节点,I≥1,
Figure BDA0003638478620000052
表示第i条数据;
(1b)联盟链管理节点MN根据安全参数λ生成的大素数q生成两个q阶的乘法循环群G1、G2和群
Figure BDA0003638478620000053
然后选择G1中的两个生成元g、h,根据G1和G2生成双线性映射e:G1×G1→G2,然后选择五个抗碰撞的哈希函数:H1:G1→{0,1}
Figure BDA0003638478620000054
H3:G1→G1,H4:G2×G1→G2
Figure BDA0003638478620000055
然后将λ、q、G1、G2、g、h、e、H1、H2、H3、H4、H5组成公共参数Param={λ,q,G1,G2,g,h,e,H1,H2,H3,H4,H5}并公开,然后在联盟链上部署恶意用户身份追踪智能合约,再然后从
Figure BDA0003638478620000056
选取一个随机数作为自己的私钥msk并保存,根据msk计算公钥pkM=gmsk并公开;
(1c)每个联盟链共识节点CNn
Figure BDA0003638478620000057
选取一个随机数xn作为私钥skn并保存,根据skn计算公钥
Figure BDA0003638478620000058
并公开,然后在联盟链共识节点集合CN={CNn|1≤n≤N}中索引为z的CN将被选举为Leader,然后Leader从G1选择一个随机数gz并公开,其中,z=(NummodN)+1,Num为联盟链中的区块高度;
(1d)每个数据拥有用户UOl、每个数据访问用户UAm、云服务器CS分别从
Figure BDA0003638478620000061
选取中选取一个随机数xl、xm、xc作为私钥skl、skm、skc并保存,然后分别计算公钥
Figure BDA0003638478620000062
并公开。
步骤2)数据拥有用户获取伪身份:
(2a)每一个数据拥有用户UOl组织自己的信息{Name,ID,E-mail,Phone}并构造真实身份信息Infol=I1||I2||I3||I4,其中,I1、I2、I3、I4分别为四个身份信息字段的字符串的二进制字表示;
(2b)每一个数据拥有用户UOl
Figure BDA0003638478620000063
选取一个随机数s作为秘密值并构造秘密S=gs,然后计算真实身份保护信息
Figure BDA0003638478620000064
然后选取t-1个随机数a1,a2,…,ak,…,at-1并设a0=s,其中,ak表示第k个随机数,然后构造一个t-1次多项式
Figure BDA0003638478620000065
然后计算份额{fl(1),fl(2),…,fl(n),…,fl(N)},其中,fl(n)表示第n个份额,然后计算每一个多项式系数ak的承诺
Figure BDA0003638478620000066
和每一个份额fl(n)的承诺
Figure BDA0003638478620000067
密文
Figure BDA0003638478620000068
验证辅助信息
Figure BDA0003638478620000069
最后广播消息组
Figure BDA00036384786200000610
每一个多项式系数ak的承诺
Figure BDA00036384786200000611
和每一个份额fl(n)的承诺
Figure BDA00036384786200000612
密文
Figure BDA00036384786200000613
验证辅助信息
Figure BDA00036384786200000614
的计算公式分别为:
Figure BDA00036384786200000615
Figure BDA00036384786200000616
Figure BDA00036384786200000617
Figure BDA00036384786200000618
(2c)每个联盟链共识节点CNn根据多项式系数承诺
Figure BDA00036384786200000619
计算
Figure BDA00036384786200000620
然后验证
Figure BDA00036384786200000621
Figure BDA00036384786200000622
是否成立,若是,接受并保存属于自己的份额密文
Figure BDA00036384786200000623
并且向联盟链管理节点MN发送确认消息
Figure BDA00036384786200000624
否则,终止注册;
(2d)联盟链管理节点MN根据每个联盟链共识节点CNn的确认消息αn计算α=α12+…+αN,然后从
Figure BDA0003638478620000071
选取一个随机数β,再然后为每一个数据拥有用户UOl计算伪身份
Figure BDA0003638478620000072
哈希值δ=H3(PIDl)和签名σ=α(β+H2l))+δ.msk,并将消息组{PIDl,σ,δ}发送给UOl,最后发起上链请求将消息组{πl,PIDl}上链;
(2e)每一个数据拥有用户UOl计算哈希值δ*=H3(PIDl)并判断δ*=δ和
Figure BDA0003638478620000073
是否同时成立,若是,UOl接收PIDl为自己的伪身份,否则,重新执行步骤2)。
步骤3)数据拥有用户加密数据:
每一个数据拥有用户UOl
Figure BDA0003638478620000074
中选取一个随机数rl,根据当前Leader公开的随机数gz加密数据
Figure BDA0003638478620000075
获得数据密文
Figure BDA0003638478620000076
然后计算哈希值
Figure BDA0003638478620000077
和签名
Figure BDA0003638478620000078
将消息组
Figure BDA0003638478620000079
发送给云服务器CS,数据密文
Figure BDA00036384786200000710
的计算公式为:
R1=e(g,(gz)rl)=e(g,gz)rl
R2=H4(R1,pkl)
Figure BDA00036384786200000711
步骤4)云服务器存储数据:
云服务器CS计算
Figure BDA00036384786200000712
然后判断等式
Figure BDA00036384786200000713
Figure BDA00036384786200000714
是否成立,若是,存储数据密文
Figure BDA00036384786200000715
和哈希值
Figure BDA00036384786200000716
生成数据密文
Figure BDA00036384786200000717
的下载地址
Figure BDA00036384786200000718
并发送给UOl,否则,丢弃密文。
步骤5)数据拥有用户上传数据检索信息:
每一个数据拥有用户UOl根据下载地址
Figure BDA00036384786200000719
每一条数据
Figure BDA00036384786200000720
的摘要信息
Figure BDA00036384786200000721
伪身份PIDl和当前Leader公开的随机数gz构造
Figure BDA00036384786200000722
的检索信息
Figure BDA00036384786200000723
并发起上链请求,将
Figure BDA00036384786200000724
上链。
步骤6)数据访问用户申请访问数据:
每一个数据访问用户UAm在链上检索到想要访问的数据
Figure BDA00036384786200000725
的检索信息
Figure BDA00036384786200000726
根据
Figure BDA00036384786200000727
中的gz和自己的私钥xm计算
Figure BDA00036384786200000728
然后构造申请消息
Figure BDA00036384786200000729
并根据
Figure BDA00036384786200000730
中的伪身份PIDl发送给数据拥有用户UOl
步骤7)数据拥有用户授权数据访问用户访问数据:
(7a)数据拥有用户UOl判断数据访问用户UAm的身份,若同意数据访问用户UAm访问数据,根据申请消息中的
Figure BDA0003638478620000081
加密数据时选择的随机数rl和自己的私钥xl计算重加密密钥rkl→m,然后构造消息组
Figure BDA0003638478620000082
并通过安全信道发送给云服务器CS,否则,忽略数据访问用户UAm的申请消息,重加密密钥rkl→m的计算公式为:
Figure BDA0003638478620000083
(7b)云服务器CS根据rkl→m计算解密辅助信息Rl→m,将Rl→m作为数据密文
Figure BDA0003638478620000084
的一部分,解密辅助信息Rl→m的计算公式为:
Figure BDA0003638478620000085
步骤8)数据访问用户获得数据:
(8a)数据访问用户UAm通过下载地址
Figure BDA0003638478620000086
下载数据密文
Figure BDA0003638478620000087
哈希值h、解密辅助信息Rl→m,然后解密数据密文
Figure BDA0003638478620000088
获得数据
Figure BDA0003638478620000089
然后判断数据
Figure BDA00036384786200000810
是否合法,若是,接受数据
Figure BDA00036384786200000811
否则执行步骤(8b),数据
Figure BDA00036384786200000812
计算公式如下:
Figure BDA00036384786200000813
Figure BDA00036384786200000814
Figure BDA00036384786200000815
(8b)每一个联盟链共识节点CNn根据伪身份PIDl在联盟链上检索数据拥有用户UOl的真实身份保护信息πl并调用恶意用户身份追踪智能合约,根据份额密文
Figure BDA00036384786200000816
和自己的私钥skn计算份额
Figure BDA00036384786200000817
并将消息组
Figure BDA00036384786200000818
提交给恶意用户身份追踪智能合约;
(8c)恶意用户身份追踪智能合约自动计算
Figure BDA00036384786200000819
再计算
Figure BDA00036384786200000820
输出恶意用户真实身份Infol

Claims (9)

1.一种基于联盟链的云中物联网数据共享方法,其特征在于,包括如下步骤:
(1)初始化数据共享系统:
(1a)初始化包括联盟链管理节点MN、L个数据拥有用户UO={UOl|1≤l≤L}、M个数据访问用户UA={UAm|1≤m≤M}、N个联盟链共识节点CN={CNn|1≤n≤N}、云服务器CS的数据共享系统,每一个数据拥有用户UOl拥有I条数据
Figure FDA0003638478610000011
其中,L≥1,UOl表示第l个数据拥有用户,M≥1,UAm表示第m个数据访问用户,N≥1,CNn表示第n个联盟链共识节点,I≥1,
Figure FDA0003638478610000012
表示第i条数据;
(1b)联盟链管理节点MN根据安全参数λ生成公共参数Param并公开,然后在联盟链上部署恶意用户身份追踪智能合约,再然后从
Figure FDA0003638478610000013
选取一个随机数作为自己的私钥msk并保存,根据msk计算公钥pkM=gmsk并公开;
(1c)每个联盟链共识节点CNn
Figure FDA0003638478610000014
选取一个随机数xn作为私钥skn并保存,根据skn计算公钥
Figure FDA0003638478610000015
并公开,再根据Leader选取规则在联盟链共识节点集合CN={CNn|1≤n≤N}中选举一个Leader,然后Leader从G1选择一个随机数gz并公开;
(1d)每个数据拥有用户UOl、每个数据访问用户UAm、云服务器CS分别从
Figure FDA0003638478610000016
选取中选取一个随机数xl、xm、xc作为私钥skl、skm、skc并保存,然后分别计算公钥
Figure FDA0003638478610000017
Figure FDA0003638478610000018
并公开;
(2)数据拥有用户获取伪身份:
(2a)每一个数据拥有用户UOl组织自己的信息{Name,ID,E-mail,Phone}并构造真实身份信息Infol=I1||I2||I3||I4,其中,I1、I2、I3、I4分别为四个身份信息字段的字符串的二进制字表示;
(2b)每一个数据拥有用户UOl
Figure FDA0003638478610000019
中选取t个随机数a0,a1,a2,…,ak,…,at-1并设秘密值s=a0,其中,ak表示第k个随机数,然后构造秘密S=gs,然后计算真实身份保护信息
Figure FDA00036384786100000110
然后构造一个t-1次多项式
Figure FDA00036384786100000111
然后计算份额{fl(1),fl(2),…,fl(n),…,fl(N)},其中,fl(n)表示第n个份额,然后计算每一个多项式系数ak的承诺
Figure FDA0003638478610000021
和每一个份额fl(n)的承诺
Figure FDA0003638478610000022
密文
Figure FDA0003638478610000023
验证辅助信息
Figure FDA0003638478610000024
最后广播πl
Figure FDA0003638478610000025
(2c)每个联盟链共识节点CNn根据多项式系数承诺
Figure FDA0003638478610000026
计算
Figure FDA0003638478610000027
然后验证
Figure FDA0003638478610000028
Figure FDA0003638478610000029
是否成立,若是,接受并保存属于自己的份额密文
Figure FDA00036384786100000210
并且向联盟链管理节点MN发送确认消息
Figure FDA00036384786100000211
否则,终止注册;
(2d)联盟链管理节点MN根据每个联盟链共识节点CNn的确认消息αn计算α=α12+…+αN,然后从
Figure FDA00036384786100000212
选取一个随机数β,再然后为每一个数据拥有用户UOl计算伪身份
Figure FDA00036384786100000213
哈希值δ=H3(PIDl)和签名σ=α(β+H2l))+δ.msk,并将消息组{PIDl,σ,δ}发送给UOl,最后发起上链请求将消息组{πl,PIDl}上链;
(2e)每一个数据拥有用户UOl计算哈希值δ*=H3(PIDl)并判断δ*=δ和
Figure FDA00036384786100000214
是否同时成立,若是,UOl接收PIDl为自己的伪身份,否则,重新执行步骤(2);
(3)数据拥有用户加密数据:
每一个数据拥有用户UOl
Figure FDA00036384786100000215
中选取一个随机数rl,根据当前Leader公开的随机数gz加密数据
Figure FDA00036384786100000216
获得数据密文
Figure FDA00036384786100000217
然后计算哈希值
Figure FDA00036384786100000218
和签名
Figure FDA00036384786100000219
将消息组
Figure FDA00036384786100000220
发送给云服务器CS;
(4)云服务器存储数据:
云服务器CS计算
Figure FDA00036384786100000221
然后判断等式
Figure FDA00036384786100000222
Figure FDA00036384786100000223
是否成立,若是,存储数据密文
Figure FDA00036384786100000224
和哈希值
Figure FDA00036384786100000225
生成数据密文
Figure FDA00036384786100000226
的下载地址
Figure FDA00036384786100000227
并发送给UOl,否则,丢弃密文;
(5)数据拥有用户上传数据检索信息:
每一个数据拥有用户UOl根据下载地址
Figure FDA00036384786100000228
每一条数据
Figure FDA00036384786100000229
的摘要信息
Figure FDA00036384786100000230
伪身份PIDl和当前Leader公开的随机数gz构造
Figure FDA00036384786100000231
的检索信息
Figure FDA00036384786100000232
并发起上链请求,将
Figure FDA00036384786100000233
上链;
(6)数据访问用户申请访问数据:
每一个数据访问用户UAm在链上检索到想要访问的数据
Figure FDA0003638478610000031
的检索信息
Figure FDA0003638478610000032
根据
Figure FDA0003638478610000033
中的gz和自己的私钥xm计算
Figure FDA0003638478610000034
然后构造申请消息
Figure FDA0003638478610000035
并根据
Figure FDA0003638478610000036
中的伪身份PIDl发送给数据拥有用户UOl
(7)数据拥有用户授权数据访问用户访问数据:
(7a)数据拥有用户UOl判断数据访问用户UAm的身份,若同意数据访问用户UAm访问数据,根据申请消息中的
Figure FDA0003638478610000037
加密数据时选择的随机数rl和自己的私钥xl计算重加密密钥rkl→m,然后构造消息组
Figure FDA0003638478610000038
并通过安全信道发送给云服务器CS,否则,忽略数据访问用户UAm的申请消息;
(7b)云服务器CS根据rkl→m计算解密辅助信息Rl→m,将Rl→m作为数据密文
Figure FDA0003638478610000039
的一部分;
(8)数据访问用户获得数据:
数据访问用户UAm通过下载地址
Figure FDA00036384786100000310
下载数据密文
Figure FDA00036384786100000311
哈希值h、解密辅助信息Rl→m,然后解密数据密文
Figure FDA00036384786100000312
获得数据
Figure FDA00036384786100000313
然后判断数据
Figure FDA00036384786100000314
是否合法,若是,接受数据
Figure FDA00036384786100000315
否则申请联盟链共识节点追踪数据拥有用户UOl的真实身份。
2.根据权利要求1所述基于联盟链的云中物联网数据共享方法,其特征在于,步骤(1b)中所述的根据安全参数λ生成公共参数Param,实现步骤为:
联盟链管理节点MN根据安全参数λ生成的大素数q生成两个q阶的乘法循环群G1、G2和群
Figure FDA00036384786100000316
然后选择G1中的两个生成元g、h,根据G1和G2生成双线性映射e:G1×G1→G2,再然后选择五个抗碰撞的哈希函数:H1:G1→{0,1}
Figure FDA00036384786100000317
H3:G1→G1,H4:G2×G1→G2
Figure FDA00036384786100000318
最后将λ、q、G1、G2、g、h、e、H1、H2、H3、H4、H5组成公共参数Param={λ,q,G1,G2,g,h,e,H1,H2,H3,H4,H5}。
3.根据权利要求1所述基于联盟链的云中物联网数据共享方法,其特征在于,步骤(1c)中所述的Leader选取规则为:
索引为z的CN将被系统选为Leader,其中,z=(NummodN)+1,Num为联盟链中的区块高度。
4.根据权利要求1所述基于联盟链的云中物联网数据共享方法,其特征在于,步骤(2b)中所述的每一个多项式系数ak的承诺
Figure FDA0003638478610000041
和每一个份额fl(n)的承诺
Figure FDA0003638478610000042
密文
Figure FDA0003638478610000043
验证辅助信息
Figure FDA0003638478610000044
计算公式为:
Figure FDA0003638478610000045
Figure FDA0003638478610000046
Figure FDA0003638478610000047
Figure FDA0003638478610000048
其中,h为G1中的一个生成元,pkn为联盟链共识节点CNn的公钥。
5.根据权利要求1所述基于联盟链的云中物联网数据共享方法,其特征在于,步骤(3)中所述的根据当前Leader公开的随机数gz加密数据
Figure FDA0003638478610000049
获得数据密文
Figure FDA00036384786100000410
计算公式为:
Figure FDA00036384786100000411
R2=H4(R1,pkl)
Figure FDA00036384786100000412
其中,g为G1中的一个生成元,rl为从
Figure FDA00036384786100000413
中选取的随机数,pkl为数据拥有用户UOl的公钥。
6.根据权利要求1所述基于联盟链的云中物联网数据共享方法,其特征在于,步骤(7a)中所述的根据申请消息中的
Figure FDA00036384786100000414
加密数据时选择的随机数rl和自己的私钥xl计算重加密密钥rkl→m,计算公式为:
Figure FDA00036384786100000415
其中,xm为数据访问用户的私钥。
7.根据权利要求1所述基于联盟链的云中物联网数据共享方法,其特征在于,步骤(7b)中所述的根据rkl→m计算解密辅助信息Rl→m,计算公式为:
Figure FDA00036384786100000416
其中,pkl为数据拥有用户UOl的公钥。
8.根据权利要求1所述基于联盟链的云中物联网数据共享方法,其特征在于,步骤(8)所述的解密数据密文
Figure FDA0003638478610000051
获得数据
Figure FDA0003638478610000052
计算公式为:
Figure FDA0003638478610000053
Figure FDA0003638478610000054
Figure FDA0003638478610000055
其中,rl为从
Figure FDA0003638478610000056
中选取的随机数。
9.根据权利要求1所述基于联盟链的云中物联网数据共享方法,其特征在于,步骤(8)所述的申请联盟链共识节点追踪数据拥有用户UOl的真实身份,实现步骤为:
(8a)每一个联盟链共识节点CNn根据伪身份PIDl在联盟链上检索数据拥有用户UOl的真实身份保护信息πl并调用恶意用户身份追踪智能合约,根据份额密文
Figure FDA0003638478610000057
和自己的私钥skn计算份额
Figure FDA0003638478610000058
并将消息组
Figure FDA0003638478610000059
提交给恶意用户身份追踪智能合约;
(8b)恶意用户身份追踪智能合约自动计算
Figure FDA00036384786100000510
再计算
Figure FDA00036384786100000511
输出恶意用户真实身份Infol
CN202210512310.6A 2022-05-11 2022-05-11 基于联盟链的云中物联网数据共享方法 Active CN114866236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210512310.6A CN114866236B (zh) 2022-05-11 2022-05-11 基于联盟链的云中物联网数据共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210512310.6A CN114866236B (zh) 2022-05-11 2022-05-11 基于联盟链的云中物联网数据共享方法

Publications (2)

Publication Number Publication Date
CN114866236A true CN114866236A (zh) 2022-08-05
CN114866236B CN114866236B (zh) 2024-03-29

Family

ID=82638138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210512310.6A Active CN114866236B (zh) 2022-05-11 2022-05-11 基于联盟链的云中物联网数据共享方法

Country Status (1)

Country Link
CN (1) CN114866236B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109559124A (zh) * 2018-12-17 2019-04-02 重庆大学 一种基于区块链的云数据安全共享方法
US20200084051A1 (en) * 2018-09-12 2020-03-12 Bitclave Pte. Ltd. Systems and methods for preserving privacy and incentivizing third-party data sharing
CN111835500A (zh) * 2020-07-08 2020-10-27 浙江工商大学 基于同态加密与区块链的可搜索加密数据安全共享方法
CN111916173A (zh) * 2020-08-07 2020-11-10 安徽师范大学 基于ipfs和联盟链的医疗数据安全共享系统及方法
CN111986755A (zh) * 2020-08-24 2020-11-24 中国人民解放军战略支援部队信息工程大学 一种基于区块链和属性基加密的数据共享系统
CN112199649A (zh) * 2020-09-28 2021-01-08 扬州大学 基于区块链的移动边缘计算下的匿名身份验证方法
CN112751673A (zh) * 2021-04-02 2021-05-04 之江实验室 一种基于端边云协同的可监管数据隐私共享方法
CN113037753A (zh) * 2021-03-09 2021-06-25 电子科技大学 一种基于区块链的具有隐私保护性的加密数据共享方法
CN113746824A (zh) * 2021-08-26 2021-12-03 浙商银行股份有限公司 基于区块链跨链的隐私数据共享方法、设备及存储介质
CN113992330A (zh) * 2021-10-30 2022-01-28 贵州大学 一种基于代理重加密的区块链数据受控共享方法及系统
CN114254394A (zh) * 2022-03-01 2022-03-29 南京航空航天大学 一种基于联盟链的数据共享系统和方法
CN114285636A (zh) * 2021-12-23 2022-04-05 辽宁工业大学 一种基于联盟链的共享医疗数据代理重加密系统和方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200084051A1 (en) * 2018-09-12 2020-03-12 Bitclave Pte. Ltd. Systems and methods for preserving privacy and incentivizing third-party data sharing
CN109559124A (zh) * 2018-12-17 2019-04-02 重庆大学 一种基于区块链的云数据安全共享方法
CN111835500A (zh) * 2020-07-08 2020-10-27 浙江工商大学 基于同态加密与区块链的可搜索加密数据安全共享方法
CN111916173A (zh) * 2020-08-07 2020-11-10 安徽师范大学 基于ipfs和联盟链的医疗数据安全共享系统及方法
CN111986755A (zh) * 2020-08-24 2020-11-24 中国人民解放军战略支援部队信息工程大学 一种基于区块链和属性基加密的数据共享系统
CN112199649A (zh) * 2020-09-28 2021-01-08 扬州大学 基于区块链的移动边缘计算下的匿名身份验证方法
CN113037753A (zh) * 2021-03-09 2021-06-25 电子科技大学 一种基于区块链的具有隐私保护性的加密数据共享方法
CN112751673A (zh) * 2021-04-02 2021-05-04 之江实验室 一种基于端边云协同的可监管数据隐私共享方法
CN113746824A (zh) * 2021-08-26 2021-12-03 浙商银行股份有限公司 基于区块链跨链的隐私数据共享方法、设备及存储介质
CN113992330A (zh) * 2021-10-30 2022-01-28 贵州大学 一种基于代理重加密的区块链数据受控共享方法及系统
CN114285636A (zh) * 2021-12-23 2022-04-05 辽宁工业大学 一种基于联盟链的共享医疗数据代理重加密系统和方法
CN114254394A (zh) * 2022-03-01 2022-03-29 南京航空航天大学 一种基于联盟链的数据共享系统和方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JINGWEI LIU等: "A Privacy-Preserving Medical Data Sharing Scheme Based on Consortium Blockchain", GLOBECOM 2020 - 2020 IEEE GLOBAL COMMUNICATIONS CONFERENCE, 15 February 2021 (2021-02-15) *
ZUAN WANG等: "Data Sharing and Tracing Scheme Based on Blockchain", 2018 8TH INTERNATIONAL CONFERENCE ON LOGISTICS, INFORMATICS AND SERVICE SCIENCES (LISS), 30 December 2018 (2018-12-30) *
李雪莲: "支持属性和代理重加密的区块链数据共享方案", 西安电子科技大学学报, 18 October 2021 (2021-10-18) *
梁天宇: "基于区块链的医疗数据共享系统中的安全技术研究", 中国优秀硕士学位论文全文数据库, 15 April 2022 (2022-04-15) *

Also Published As

Publication number Publication date
CN114866236B (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
CN108632032B (zh) 无密钥托管的安全多关键词排序检索系统
CN112019591B (zh) 一种基于区块链的云数据共享方法
CN109614818B (zh) 可授权的基于身份的带关键词搜索加密方法
CN106534092B (zh) 基于消息依赖于密钥的隐私数据加密方法
CN113918981B (zh) 一种基于属性的加密方法及系统
CN106487506B (zh) 一种支持预加密和外包解密的多机构kp-abe方法
CN107154845B (zh) 一种基于属性的bgn型密文解密外包方案
CN112165472B (zh) 一种基于隐私保护的物联网数据安全共享方法
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
CN113364600A (zh) 基于无证书的云存储数据完整性公共审计方法
CN112383550B (zh) 一种基于隐私保护的动态权限访问控制方法
CN108632385B (zh) 基于时间序列的多叉树数据索引结构云存储隐私保护方法
CN113674077A (zh) 消费信贷风险防范方法、系统、设备及存储介质
CN112187798A (zh) 一种应用于云边数据共享的双向访问控制方法及系统
Kumar et al. Data outsourcing: A threat to confidentiality, integrity, and availability
Guo et al. Using blockchain to control access to cloud data
CN116668072A (zh) 一种基于多权限属性基加密的数据安全共享方法及系统
CN105721146A (zh) 一种面向云存储基于smc的大数据共享方法
Jones et al. Information Security: A Coordinated Strategy to Guarantee Data Security in Cloud Computing
CN115834067A (zh) 一种边云协同场景中密文数据共享方法
Olanrewaju et al. Enhancing cloud data security using hybrid of advanced encryption standard and blowfish encryption algorithms
CN117081803A (zh) 基于区块链的物联网密文访问控制方法
CN116318663A (zh) 一种基于隐私保护的多策略安全密文数据共享方法
Cui et al. Towards Multi-User, Secure, and Verifiable $ k $ NN Query in Cloud Database
CN114629640B (zh) 一种解决密钥托管问题的白盒可追责属性基加密系统及其方法

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