[发明专利]一种基于区块链和边缘设备的匿名数据存储方法有效
申请号: | 201910199971.6 | 申请日: | 2019-03-15 |
公开(公告)号: | CN109951279B | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 乔治;王志伟 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/40 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 彭雄 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 边缘 设备 匿名 数据 存储 方法 | ||
1.一种基于区块链和边缘设备的匿名数据存储方法,包括区块链、边缘设备和终端设备,其特征在于,终端设备和外界进行交互,边缘设备负责维持区块链和终端设备的通信,区块链作为底层网络存储数据并保证其安全性,包括以下步骤:
步骤1,边缘设备向区块链注册阶段
步骤1-1、可信第三方PKG生成系统参数params和主密钥msk,主密钥为公开的全程参数;
步骤1-2、边缘设备将边缘设备身份IDe发送给可信第三方,可信第三方PKG通过该身份计算边缘设备私钥SKe,边缘设备身份IDe∈{0,1}*,作为边缘设备公钥PKe;
步骤1-3、区块链生成自身的公钥私钥对PKC和SKC,区块链公钥PKC公开,区块链私钥SKC保密;
步骤1-4、边缘设备生成随机数一H(Re)并使用区块链公钥PKC加密生成密文一C1发送给区块链;
步骤1-5、区块链收到密文一C1之后,使用区块链私钥SKC解密还原随机数一H(Re),同时生成随机数二H(Rc),使用边缘设备公钥PKe加密生成密文二C2发送给边缘设备;
步骤1-6、边缘设备接收密文二C2之后,使用边缘设备私钥SKe解密,得到随机数二H(Rc),边缘设备和区块链使用随机数二H(Rc)和随机数一H(Re)合成随机数N,区块链将随机数N和边缘设备身份IDe存放在访问控制列表中;
步骤2,伪身份生成阶段:
步骤2-1、可信第三方TA为终端设备分发唯一身份标识idTi,1≤i≤n,n表示终端设备的个数;
步骤2-2、边缘设备选取一个满足安全要求的大素数p,并生成有限域Zp的一个生成元将其公开,表示阶为P的非0有限域;
步骤2-3、终端设备将身份标识idTi和随机数R发送给边缘设备,边缘设备选取参数T,并将该参数T告知终端设备,边缘设备接收之后,计算终端设备公钥PK和私钥SK;
步骤2-4、真实身份idT分组为长度L的分组idT=idT1idT2...idTt,Llog2p;对第j块消息身份随机选择整数rj,1≤j≤t,1rjp-1,计算:
则生成的伪身份PseID为:PseID=(c1,c′1)(c2,c′2)…(ct,c′t)
其中,(cj,c′j)为加密生成的密文,把这个密文作为伪身份,为加密算法的形式;
步骤3,加密密钥生成和加密阶段
步骤3-1、边缘设备使用自身选取的参数T和从终端设备接收过来的随机数R,生成加密密钥K=H(gH(T)·R),g为有限域Zp上的一个本原元,H(T)表示hash函数;
步骤3-2、边缘设备从终端设备接收数据,接收到数据之后对其进行加密生成密文C:C=EnK(M,PseID,Ts),其中,EnK()表示边缘设备使用对称加密算法的加密密钥K对消息整体进行加密,M表示接收到的数据,PseID为终端设备的伪身份,Ts为当前时间戳,
步骤4,边缘设备向区块链发起存储请求
步骤4-1、边缘设备将密文存放到分布式哈希表DHT中,哈希表DHT返回该条数据的地址Addr给边缘设备,边缘设备发起一个交易请求Action,交易请求Action表示边缘设备将生成的密文和发起的行为请求打包成一个交易,发送到区块链;
步骤4-2、区块链收到交易之后,使用边缘设备的公钥PK解密密文,得到Addr,PseID,Ts,IDe,如果IDe已经注册过,则说明区块链接收到的从边缘设备传送过来的数据无误,记录当前时间,并将该条数据的地址Addr和终端设备的伪身份PseID以及当前时间存储在区块链上;
步骤5,用户请求获取数据
步骤5-1、用户向区块链请求数据,此时交易请求Action=access data,生成的交易为:
T2=(Action,SignsK(Action,IDUser,Ts))
其中,T2为用户向区块链请求数据生成的交易,access data表示标识,告诉区块链当前交易为获取数据,signSK()使用数字签名发送该交易,Ts为当前时间戳;
步骤5-2、区块链接收交易之后,矿工节生成公钥/私钥对,将数据打包并发送到用户,生成的交易为:
T3=(IDUser,SignSK(Addr,IDUser,Ts)
其中,T3为矿工节点生成的交易,IDUser表示请求获取数据的用户,Addr表示数据存放在DHT中的地址;
用户接收到交易之后,使用区块链公钥PK解密,获取Addr,Addr为存放在DHT中的数据的地址,用户通过该地址将密文形式的数据取出来,区块链通知边缘设备将解密数据的密钥发送给用户,用户接收到密钥之后则解密出数据信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910199971.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:虚拟钥匙绑定方法及系统
- 下一篇:一种信息熵视角下的量子密码本扩展方法