一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的物联网隐私数据快速共享方法

2022-05-18 15:24:06 来源:中国专利 TAG:


1.本发明涉及区块链和代理重新加密技术,具体涉及一种基于区块链的物联网隐私数据快速共享方法。


背景技术:

2.物联网是物理网络模块的一个新兴概念,由各种嵌入传感器、执行器、软件等组件构成。随着物联网设备数量的快速增长和许多社交媒体应用的成功,物联网流量一直在蓬勃增长,用户的低延迟高吞吐的数据需求也在不断放大。为了满足这个要求,如今已经出现了一种被称为“以内容为中心的网络”。与传统方法中利用网络地址来传输内容不同,“以内容为中心的网络”为每个内容都设置一个唯一的名称,通过这些名称请求传输的数据。收到请求时,网络会从附近的缓存中更快的将内容传递给用户,避免重复请求并且消耗更少的资源。虽然这种网络可以有效缓解网络拥塞,但在传输隐私数据时可能会带来很大的安全风险,并且这些负面影响会因为传输速率的增加被无限放大。传统解决方法就是在传输前对数据进行加密,接受方再对数据解密。但是在“以内容为中心的网络”中大量的连接和存储开销可能会抵消掉原本提升的速率优势。并且传统的公钥加密方案中密钥的分发和管理也会带来新的一系列的安全威胁。如果简单的引入安全但复杂的加密方案,物联网中的低算力节点又无法承担高强度的计算。如何在物联网的轻量级的环境下保证隐私数据也能够在“以内容为中心的网络”中安全又快速的传输成为了进一步推进物联网建设的当务之急。


技术实现要素:

3.本发明所要解决的技术问题是,提供一种能在物联网的轻量级的环境下保证隐私数据也能够在“以内容为中心的网络”中安全又快速的传输方法。
4.本发明为解决上述技术问题提出了一种基于区块链的物联网隐私数据快速共享方法,该方法包括以下步骤:
5.1.注册阶段:用户需要在区块链网络中通过公私钥对的方式来标识自己的身份。任一新加入的用户u首先需要生成一个公共参数paramu,然后利用该公共参数生产公私钥对(pku,sku),其中公钥为pku,私钥为sku。用户u利用哈希函数h(),将公钥pku和公共参数paramu作为输入参数,联合求一个哈希值φu=h(paramu|pku)存储在区块链网络上,便于验证身份。同时,用户需要将私钥sku保管好,将公钥pku和公共参数paramu公布在“以内容为中心的网络”上便于和其他用户进行传输信息。
6.2.数据发布阶段:数据发送者pa想要给数据接收者sa发送信息m。数据发送者pa需要执行下列步骤:
7.2-1)数据发送者pa生成加密密钥k,然后用k对发送消息m进行加密得到μ,即μ=enck(m)。
8.2-2)数据发送者pa从区块链上获取数据接收者sa存储的哈希值φ
sa
,该哈希值由数据接收者sa在注册阶段通过公钥pk
sa
和公共参数param
sa
按照φ
sa
=h(param
sa
|pk
sa
)计算
得到。并在“以内容为中心的网络”上接收数据接收者sa在注册阶段公开的公钥pk
sa

和公共参数param
sa

,并利用这两个参数求哈希值φ
sa

=h(param
sa

|pk
sa

)。对比φ
sa
和φ
sa

的值。若不一致,则停止发送。
9.2-3)若φ
sa
和φ
sa

的值一致,数据发送者pa使用代理重新加密方案中的密钥生成算法keygen
pre
()生成原始密钥,该原始密钥作为代理重新加密方案中的加密算法enc
pre
()加密数据时使用的密钥。通过代理重新加密方案中的加密算法enc
pre
()对密钥k进行加密得到获得原始密文然后数据发送者pa将要发送的加密后的信息μ和自己的身份信息的哈希值联合求哈希值然后将ζ
pa
存储在区块链网络上进行存证。并把要发送的加密后的信息μ和加密后的原始密文发送在“以内容为中心的网络”上。
10.所述代理重新加密方案具有以下性质:
11.代理重新加密是一种对密文进行安全转换的加密技术,发送方使用的公钥加密的密文可以被转换为另一种密文,且保持对应明文不变,被转换后的密文可以由被接受方用他自己的私钥进行解密。该密文转换过程由一个半可信的代理者执行,在执行该过程前,代理者需要持有一个由发送方到接受方的转换密钥,该转换密钥一般由发送方事先生成并交给代理者。同时在密文转换的整个过程中,代理者无法获取关于该密文对应明文的任何信息。代理重新加密一般包含五种算法,密钥生成算法keygen
pre
()生成发送方的公私钥对,即原始密钥。加密算法enc
pre
()是使用原始密钥对明文加密,转换密钥生成算法rekeygen
pre
()生成将原始密文能够转换为接受方能用自己私钥解密的密文的密钥,重加密算法reenc
pre
()则是利用转换密钥将原始密文重新加密,解密算法dec
pre
()则是使用对应私钥对密文解密。
12.3.数据接受阶段:数据接收者先从区块链上获取数据发送者的此次传输信息的存证信息ζ
pa
和身份信息然后执行下列步骤:
13.3-1)数据接收者先利用同样对数据发送者的身份信息进行验证,然后利用在“以内容为中心的网络”上获取的数据发送者的加密后的信息μ

和联合计算哈希值联合计算哈希值并比较ζ
pa

和ζ
pa
的值验证此次传输信息的正确性。
14.3-2)验证通过后,数据接收者使用代理重新加密方案中的转换密钥生成算法rekeygen
pre
()生成转换密钥rk
sa
,然后将rk
sa
交给边缘计算服务器作为代理者用重加密算法reenc
pre
()将收到的原始密文转换为数据接收者可以用私钥进行解密的密文
15.3-3)数据接收者使用代理重新加密方案中的解密算法dec
pre
()用自己的私钥sk
sa
对密文c
sa
解密获得密钥k,再用k对秘密μ解密m=deck(μ)获得传递的消息m。
16.4.数据共享阶段:用户so想从sa处共享pa给
sa
发送的信息m。首先sa对so的身份信息进行身份验证。验证通过后,sa可以使用代理重新加密方案中的转换密钥算法rekeygen
pre
()生成转换密钥rk
so
,然后将rk
so
交给边缘计算服务器作为代理者用重加密算法reenc
pre
()将密文转换为so可以用自己私钥进行解密的密文然后sa把发送给so,so用自己的私钥sk
so
对解密即可获得消息m。
17.本发明的安全性分析中,网络上的传输的隐私数据都是加密后的数据,并且采用了代理重加密的方案,所以也就防止了密钥传输过程中泄露的风险,保证了隐私数据的安全。并且由于不需要在网络中传输密钥来进行加密解密,所以在传输隐私信息的过程中就避免了相比非隐私信息传输所多出来的存储和连接所花费的开销,也就保证了隐私信息也可以在“以内容为中心的网络”上进行快速的传输。虽然引入了边缘计算服务器作为第三方帮助完成重新加密,但是第三方不知道数据接收方和发送方的私钥,因为密钥的生成也都是由用户自己完成和保管的,所以不用担心隐私信息会泄露给第三方以及密钥保管带来的安全问题。
18.此外,参与传输的用户的信息以及传输的信息都生产哈希值存储在区块链上,区块链的防篡改的特性可以保证这些信息的完整性,而这些不会被篡改的哈希值也保证了用户身份和传输信息的正确性。而且区块链中数据采用的分布式的存储,所以分散存储数据可以防止单点故障的问题。并且本发明对于物联网的环境是轻量级的,物联网下是可以运行的。本发明可以有效地帮助各方能够在“以内容为中心的网络”下共享隐私的物联网数据。
附图说明
19.图1为以内容为中心的网络结构示意图
20.图2为代理重新加密流程图
21.图3为本发明隐私数据传输流程图
具体实施方式
22.下面根据附图和实施例详细阐述此发明,并对本发明的技术方案进行清楚的描述。此处所选的实施例仅用于解释该发明,并不能够限定此发明。
23.本发明所提的方法可以在以太坊私有链上实施,通过在以太坊上设置相应的智能合约来存储用户的身份信息和传输信息。采用umbral方案来实现代理重加密,明文加密采用高级加密标准(aes)来进行加密。
24.如图3所示,现在有用户a希望向电力公司b请求自己的这个月的用电信息,但又不想暴露自己的身份和具体用电量的信息,使用本发明提出的方法的实现流程如下:
25.1.注册阶段:用户a需要在以太坊中通过公私钥对的方式来标识自己的身份。用户a首先需要生成一个公共参数parama,然后利用该参数生产公私钥对(pka,ska),其中公钥为pka,私钥为ska。用户a需要将公钥pka和公共参数parama联合求一个哈希φa=h(parama|pka)通过智能合约存储在以太坊的区块链上,便于验证身份。用户需要将私钥ska保管好,将公钥pka和公共参数parama公布在“以内容为中心的网络”(如图1所示)上便让电力公司b能够传输信息给用户a。电力公司b同样也在以太坊中注册好了自己的身份信息,并将自己的身份验证哈希φb存在了以太坊的区块链上,将公钥pkb和公共参数paramb公布在“以内容为中心的网络”上。
26.2.数据发布阶段:电力公司b想要给用户a发送包含了a的用电信息m。电力公司b需要执行下列步骤:
27.2-1)电力公司b利用aes生成加密密钥k,然后用k对发送消息m进行加密得到μ,即μ
=enck(m)。
28.2-2)电力公司b从以太坊的区块链上获取用户a的公钥pka和公共参数parama的哈希值φa,并对在“以内容为中心的网络”收到的用户a发送的公钥pk
′a和公共参数param
′a求哈希值φa′
=h(param
′a|pk
′a),对比φsa和φsa′
的值,不一致则停止发送。
29.2-3)身份验证成功后,电力公司b先使用umbral代理重新加密方案(其流程图如图2所示)中的keygen()生产原始密钥,然后再用加密算法encapsulate()对密钥k进行加密得到获得原始密文cb。然后电力公司b将要发送的加密的信息μ和自己的身份信息的哈希值φb联合求哈希ζb=h(μ|φb),然后将ζb通过智能合约存储在以太坊区块链上进行存证。并把要发送的加密后的信息μ和加密后的密钥cb发送在“以内容为中心的网络”上。
30.umbral代理重新加密方案具有以下性质:
31.umbral的门限功能使用了shamir秘密共享的思路,让重加密过程成为一个分布式的过程。数据拥有者可以通过由一组n个半可信代理执行的重新加密过程,将解密的权限授权给数据接收者。当有超过阈值t的数量的代理执行重加密操作参与后,数据接收者能够使用自己的私钥解密出原始数据。当t值设置为1时,则就是普通的代理重新加密方案。umbral代理重新加密方案包含了下列算法:
32.keygen():密钥生成算法。生成加密算法encapsulate()加密原文时使用的密钥。
33.rekeygen():重加密密钥生成算法。该算法可以输出转换密钥,用于将原始密文转换为数据接收方可以用自己的私钥解密的密文。
34.encapsulate():加密算法。利用原始密钥对原文加密获得原始密文。
35.reencapsulation():重加密算法。利用重加密密钥对原始密文重新加密,获得转换后的密文,接受者能够用自己的密钥进行解密。
36.decapsulatefrags():解密算法。接受者使用自己的密钥对重新加密的密文解密获得传输的信息。
37.上述这五种分别对应代理重新加密方案中的:密钥生成算法keygen
pre
(),转换密钥生成算法rekeygen
pre
(),加密算法enc
pre
(),重加密算法reenc
pre
()和解密算法dec
pre
()。
38.3.数据接受阶段:用户a先从以太坊的区块链上获取发送者的这次传输信息的存证信息ζb和身份信息φb,然后执行下列步骤:
39.3-1)用户a先利用φb同样对发送方的身份信息进行验证,然后利用在“以内容为中心的网络”上获取的数据发送方的加密后的信息μ

和φ
′b联合计算哈希值ζb′
=h(μ


′b),并比较ζb′
和ζb的值验证此次传输信息的正确性。
40.3-2)验证通过后,用户a使用代理重新加密方案中的转换密钥生成算法rekeygen()生成转换密钥rka,然后设置好阈值t后将rka交给n个边缘计算服务器作为代理者,n个代理者用重加密算法reencapsulation()将收到的原始密文cb转换为用户a可以用私钥进行解密的密文cb′
,然后将该密文返回给用户a。当用户a接收到的n个代理者返回的所有结果中,有一种结果是有超过t个代理者返回的相同的值,则用户a接受该结果作为后续使用的密文cb′
,其中t为预设阈值。。
41.3-3)用户a使用代理重新加密方案中的解密算法decapsulatefrags用自己的私钥ska对密文cb′
解密获得密钥k,再用k对秘密μ解密m=deck(μ)获得自己的电力消息m。
42.以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献