[发明专利]一种基于区块链和边缘设备的匿名数据存储方法有效
申请号: | 201910199971.6 | 申请日: | 2019-03-15 |
公开(公告)号: | CN109951279B | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 乔治;王志伟 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/40 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 彭雄 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于区块链和边缘设备的匿名数据存储方法,包括以下步骤:边缘设备向区块链注册;边缘设备帮助终端设备生成伪身份;边缘设备生成加密密钥并加密数据存放到分布式Hash表;边缘设备存储数据到区块链;用户发起请求获取数据。本发明的所生成的终端设备的伪身份提高了数据存储的安全性,用户通过花费一定的费用来请求数据,费用支付给区块链上的矿工,作为激励机制维持区块链的运转。 | ||
搜索关键词: | 一种 基于 区块 边缘 设备 匿名 数据 存储 方法 | ||
【主权项】:
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的一个生成元g∈将其公开,表示阶为P的非0有限域;步骤2‑3、终端设备将身份标识idTi和随机数R发送给边缘设备,边缘设备选取参数T,并将该参数T告知终端设备,边缘设备接收之后,计算终端设备公钥PK和私钥SK;步骤2‑4、真实身份idT分组为长度L的分组idT=idT1idT2…idTt,L<log2p;对第j块消息身份随机选择整数rj,1≤j≤t,1<rj<p‑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,该交易请求表示边缘设备将生成的密文和发起的行为请求打包成一个交易,发送到区块链;步骤4‑2、区块链收到交易之后,使用边缘设备的公钥PK解密密文,得到Addr,PseID,Ts,IDEdge,如果IDEdge已经注册过,则说明区块链接收到的从边缘设备传送过来的数据无误,记录当前时间,并将该条数据的地址Addr和终端设备的伪身份PseID以及当前时间存储在区块链上;步骤5,用户请求获取数据步骤5‑1、用户向区块链请求数据,此时交易请求Action=access data,生成的交易为:T2=(Action,SignSK(Action,IDUser,Ts))其中,T2为用户向区块链请求数据生成的交易,access data表示标识,告诉区块链当前交易为获取数据,SignSK()使用数字签名发送该交易,Ts为当前时间戳;步骤5‑2、区块链接收交易之后,矿工节点(区块链上的工作节点)生成公钥/私钥对(PK/SK),将数据打包并发送到用户,生成的交易为:T3=(IDUser,SignSK(Addr,IDUser,Ts)其中,T3为矿工节点生成的交易,IDUser表示请求获取数据的用户,Addr表示数据存放在DHT中的地址;用户接收到交易之后,使用区块链公钥PK解密,获取Addr,Addr为存放在DHT中的数据的地址,用户通过该地址将密文形式的数据取出来,区块链通知边缘设备将解密数据的密钥发送给用户,用户接收到密钥之后则解密出数据信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910199971.6/,转载请声明来源钻瓜专利网。
- 上一篇:虚拟钥匙绑定方法及系统
- 下一篇:一种信息熵视角下的量子密码本扩展方法