区块链物联网设备与无线访问点双向认证方案
来源:用户上传
作者:
摘 要:文章提出了一种利用区块链现有基础设施,为使用区块链的物联网设备提供无线访问点的双向认证方法。利用区块链中的公钥身份认证体系,对用户的身份进行核验。使用基于可验证随机函数的方法,使用物联网设备可以利用其有限的计算资源,对访问点提供的数据进行验证。身份验证免疫了伪装、重放攻击,并且该方法对拒绝服务攻击提供了一定的抵抗性。文章提供了一种简单、安全的物联网设备访问区块链服务的接入方案,并且可以推广到对访问任何静态的互联网资源的访问上。
关键词:区块链;物联网;无线网络;身份认证
中图分类号:TP393 文献标识码:A
Abstract: A two-way authentication method that uses the existing infrastructure of the blockchain is proposed to provide wireless access points for IoT devices using the blockchain. The public key identity authentication system in the blockchain is used to verify the user's identity. Using a method based on a verifiable random function, an IoT device can use its limited computing resources to verify the data provided by the access point. Authentication is immune to masquerading, allowing attacks, and this method provides some resistance to denial of service attacks. Provides a simple, secure receiving scheme for IoT devices to access blockchain services, and can be extended to access any static Internet resource.
Key words: blockchain; internet of things; wireless network; identity authentication
1 引言
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,通过维护链式的数据块结构。每一个数据块中包含了一批信息,使用哈希密码技术,用于验证其信息的有效性(防伪)和生成下一个区块,从而确保数据结构的内容不被篡改[1]。
物联网(IoT, Internet of Things)是为关联的计算设备、机械和数字设备、物体、动物或人提供具有独特的系统标识符(UID),并通过网络,减少人力在其中的参与来传输数据或进行人机交互的一类技术[2]。由于物联网具有分布式节点多、数据中心化、運算成本高及第三方监管不到位等特点,采用按层保护、算法加密、访问控制等原隐私保护方法存在着许多漏洞[3]。物联网有十分广泛的应用,可以满足诸如食品安全、智能家居、环境保护、现代农业等众多方面需求,但是随之也带来了安全性的问题[4]。物联网设备的隐私保护[3]和安全性[4]问题都可以通过区块链来进行。
区块链技术的发展离不开虚拟货币,区块链这个概念随着比特币的大涨大落,而迅速的席卷了世界各大媒体[5]。区块链在金融方面有着颠覆级的改变,如果有区块链技术,所有交易都会被记录而不会被改变,不需要有任何征信系统。区块链的移动支付方案,可以为金融服务提供创新的解决方案,为金融行业完成去信任、降成本、去中心化的优化[6]。
区块链移动支付,以及其它区块链金融服务,都包含着一些物联网设备的应用。例如,区块链条码(二维码)生成机、移动支付终端等[6,7]。而为这些物联网设备提供安全可靠的网络接入方案则是一个重要的课题。现有的网络接入方案,如华为等推动的NB-IoT、4G、5G 解决方案[8,9]依赖于电信服务运营商,通常物联网设备不会冗余地使用多家运营商的服务,一旦运营商网络出现波动,物联网设备的运行也会受到影响。而基于Wi-Fi的接入方案[10,11]依赖于基于传统Wi-Fi的安全防护[12],同样受到传统Wi-Fi安全漏洞的挑战,如经过特殊配置伪装成可信接入点,可以记录连接该热点的用户行为甚至修改用户行为的蜜罐热点[13]。
本文针对Wi-Fi无线访问点的区块链物联网设备网络接入方案存在的安全性问题,如接入点是否是伪装接入点,用户(这里的用户指区块链物联网设备,为了便于表述,本文的用户均与此处相同定义)的身份是否真实。充分利用区块链已有的身份验证机制:公钥身份认证体系,对用户的身份信息进行核验。同时使用基于可验证随机函数的方法(VRF, Verifiable random functions)[14],从用户的信任节点列表中随机地选取节点,避免了全节点验证浪费性能的同时,确保选择验证节点的随机性,降低被合谋攻击的可能性,从而使得计算资源有限的物联网设备能够验证接入点提供的数据是否被篡改或伪造。从而实现用户和访问点的双向身份认证。
2 关键技术和概念
本文的工作涉及到的技术和概念众多,限于篇幅不宜完整介绍,本文仅介绍本文涉及到的技术和概念中直接与本文工作相关的部分。
2.1 区块链身份验证
区块链身份认证使用数字签名(digital signature)[15]技术。数字签名是用于检验数字消息或文件的真实性的数学方案。满足先决条件的有效数字签名使接收者有充分的理由相信该消息是由已知发件人创建的(身份验证),并且该消息在传输过程中未发生更改(完整性)[16]。理论上所有的非对称加密算法都可以用来实现数字签名,实践中常用算法包括1991 年8月 NIST 提出的DSA(Digital Signature Algorithm,基于 ElGamal 算法)[17]和安全强度更高的ECSDA(Elliptic Curve Digital Signature Algorithm,基于椭圆曲线算法)[18]等。 其中,比特币将用户的公钥(非对称加密算法中,由用户保存的密钥)计算一系列哈希(HASH160,或先进行 SHA256,然后进行 RIPEMD160)及编码运算后生成的160位(20字节)的字符串作为账户地址进行公开。使用户在避免公钥过早公开后导致被破解出私钥,而又使得需要使用其公钥时,其他用户可以方便地验证其公钥的真伪。
2.2 共识机制
共识算法解决的是分布式系统对某个提案(Proposal)的大部分节点达成一致意见的过程。根据解决的场景是否允许拜占庭错误(存在恶意节点)以分为 Crash Fault Tolerance (CFT)和 Byzantine Fault Tolerance(BFT)两类[19]。区块链中这种要能容忍拜占庭错误的情况,包括以 PBFT(Practical Byzantine Fault Tolerance)[20]为代表的确定性系列算法、以PoW(Proof of Work)[21]为代表的概率算法等。确定性算法一旦达成共识就不可逆转,即共识是最终结果;而概率类算法的共识结果则是临时的,随着时间推移或某种强化,共识结果被推翻的概率越来越小,最终成为事实上结果。
PoW[21]通过计算来猜测一个数值(nonce),使得拼凑上交易数据后内容的哈希值满足规定的上限。由于哈希难题在目前计算模型下需要大量的计算,这就保证在一段时间内,系统中只能出现少数合法提案。反过来,能够提出合法提案,也证明提案者确实已经付出了一定的工作量。同时,这些少量的合法提案会在网络中进行广播,收到的用户进行验证后,会基于用户认为的最长链基础上继续难题的计算。因此,系统中可能出现链的分叉(Fork),但最终会有一条链成为最长的链。哈希问题具有不可逆的特点,因此,目前除了暴力计算外,还没有有效的算法进行解决。反之,如果获得符合要求的nonce,则说明在概率上是付出了对应的算力。谁的算力多,谁最先解决问题的概率就越大。当掌握超过全网一半算力时,从概率上就能控制网络中链的走向。这也是所谓51%攻击的由来[1]。
2.3 可验证随机函数
可验证随机函数(VRF,Verifiable random functions)[14]是Silvio等在1999年提出的算法,是哈希加密的非对称版本。只有私钥的持有者才能计算哈希,但是拥有公钥的任何人都可以验证哈希的正确性。尽管哈希函数拥有随机性,但可能拥有不必要的光谱特性。使用VRF生成的哈希作为种子,配合伪随机数生成器,可以生成理想的随机序列。
2.4 无线访问点
在计算机网络中,无线访问点(WAP, Wireless access point),更一般地说只是访问点(AP),是一种网络硬件设备,它允许其他Wi-Fi设备连接到有线网络。AP通常作为独立设备(通过有线网络)连接到路由器,但是它也可以是路由器本身的组成部分[12]。
3 算法设计
3.1 系统结构
本文的研究对象是区块链物联网设备与无线访问点的双向认证问题,因此本文的系统主要由区块链系统、无线访问点、区块链物联网设备组成。用户通过无线访问点与区块链系统进行通信,具体结构如图1所示。物联网设备发送其公钥给无线访问点,无线访问点向区块链系统查询其公钥的存在性,随后用户将私钥签名后的数据发送给无线访问点,无线访问点使用用户的公钥验证用户是否有对应的私钥对其进行签名。如果如此,那么将转发用户的请求至区块链系统,并将区块链系统的回应转发回用户。由用户签名的数据,可以确认用户身份,也能确保其未被篡改和伪造。
3.2 重放攻击防护
重放攻击是指一个数据包被攻击者截获后,伪装成用户重复发送该数据包,并且对系统产生一定影响(例如重复执行操作)的攻击[22]。由于数字签名的引入,使得攻击者在没有用户私钥的情况下,无法任意伪造用户发送的数据,而只能尝试将用户曾经发送过的数据重复发送出去。重放攻击防护通常使用会话ID或时间戳进行防御,使用会话ID的防御方法需要在每次交换数据前,接收方将随机的一次性令牌发送给对方,增加了协议的复杂性。而时间戳方案则是将时间戳附加在请求数据中,签名后同时发送给接收方,接收方接收到数据时,验证时间戳是否在接收时的时间窗口内。虽然,使用时间戳进行防御可能会由于时间窗口的存在,从而导致攻击者在规定的时间内仍然可以达成重放攻击。但是,由于本算法应用于物联网设备的通信上。物联网设备需要的带宽较低,并且因为区块链操作每个数据包都不会相同,而查询操作不可能在短时间内进行多次,从而可以将同一时间窗口的相同数据包直接丢弃,从而达到对重放攻击的防护。如图2所示,为加入时间戳的防御重放攻击。
至此,无线访问点对物联网设备的身份认证和攻击防护就完成了,如果不考虑蜜罐热点[13]的攻击,如使用一套保护好的WPA[23]密钥。但一旦密钥被盗,更换密钥会使得没有新密钥的用户无法使用无线接入服务。而使用区块链的共识机制,可以使用户得以验证无线访问点是否传递了真实的区块链数据。
3.3 基于VRF的快速共识验证算法
比特币的PoW算法可以在能够获取到多条链的情况下,使用更长的链作为共识。但是,假设无线访问点不可靠,那么将无法直接通过访问点从多个服务节点获取可靠的链数据。用户可以保存一定数量的服务节点的公钥,通过无线访问点访问服务节点时,服务节点使用自己的私钥签名后,再将数据发送给无线访问点。这样,无线访问点就没有办法对这些服务节点发送的数据进行伪造了,用户可以确定自己获取到了来自多个服务节点的区块链数据,从而可以选择最长的链作为共识的结果。
但是,对于不包含PoW等概率性的共識算法的区块链系统,用户将无法仅从多个节点返回的结果判断数据的真实性。而且对于物联网设备来说,验证来自多个节点发送的签名后的数据,产生的数据流量会相对较大。因此必须限制物联网系统返回的数据量,因此需要服务节点之间产生一个局部共识后,对这个局部共识都附上参与这个共识的节点的签名,然后发送回物联网设备。考虑到不包含PoW等概率性共识,而使用PBFT的的情况,由于PBFT算法需要所有节点均互相进行同步,每次进行查询都使用PBFT得到共识的消耗太高,容易被利用进行拒绝服务攻击。而如果每次都选择特定的几个节点进行共识,同样容易导致拒绝服务。因此需要一个可验证的随机选择算法,使这一随机选择过程无法被无线访问点和用户中的任何一方控制。受由图灵奖获得者Micali提出的使用VRF了的投票共识协议的区块链系统Algorand[24]的启发。 设用户储存有n个服务节点,每个服务节点的地址为vi其中i∈{1,2,3},对当前的时间戳t引入VRF算法,由于发送数据时的时机,即时间戳的值是由用户决定的,故为了确保用户不能控制随机序列的值,用户不能生成随机序列,从而使用无线访问点的私钥pap对时间戳t进行VRF运算,生成可验证的哈希值H。由于VRF运算并不能确保哈希值H不具有一定的光谱特性,因此将H作为随机数发生器的种子,生成m个随机数,并将每个随机数用n整除得到uj,如果其中有重复的,则继续生成,直到产生了s个不重复的wj,则vw(w∈{w1,w2,…,ws}) 就是被选择出来的需要为用户计算共识的s个节点。将用户签名后的服务节点列表和时间戳、访问点的公钥、哈希值H,发送给这s个节点,这s个节点可以检验H是否正确后,使用相同的算法计算得到其它节点的地址。在这s个节点内部运行PBFT算法,形成共识后,将共识结果依次签名后返回给访问点,流程如图3所示,其中虚线表示数据的发送,实线表示数据的计算。
4 系统测试与分析
本测试在使用两个Intel Xeon Gold 6128 3.7GHz处理器,256GB内存,三星SM961/PM961固态硬盘的工作站上,运行VMWare ESXi 6.7.0(Build 8169922)裸金属虚拟机系统,建立八个节点作为服务节点运行测试。使用irtf-cfrg-vrf标准的椭圆曲线VRF(VRF uses Eliptic Curves)[25]作为VRF算法,区块大小为1MB。
4.1 网络流量测试
网络流量测试旨在测试该协议与没有身份认证的无线接入点之间的网络流量差别,从而度量该协议对网络流量压力的增加。网络流量测试使用iftop测试网络流量,将向区块链直接发送查询请求和经过本协议认证后的请求流量进行对比,不断改变每秒钟发送请求(Query per second,QPS)并计算网络流量利用率。为了使请求及时得到回应,从而更准确地度量对网络的影响,随机选择的服务节点数量为1,在这种情况下,不需要运行共识协议。
网络流量测试结果如表1所示,观察结果得到结论:本方案对网络流量的影响在千分之一,对程序的网络性能影响微乎其微。
4.2 共识延迟测试
本协议除了对网络产生消耗以外,还会产生由于共识的协商导致的请求延时,由于参与共识的每两个节点之间都要相互进行通信,所以共识产生的时间将和参与共识的节点数有关。分别设置随机选择的s∈[2,8]个节点进行测试。
共识延迟测试结果如图4所示,随着节点数的增多,共识形成的时间的增加速度也相应地增加。而参与共识节点数量又与安全性相关,根据Fischer等提出的FLP不可能原理[26],不可能得到一套通用的共识机制适用于所有的场景,因此在不同的安全条件要求下,可以对安全性和系统的一致性做出不同程度的妥协,即体现在对随机共识节点数s的调整上。
4.3 安全性分析
对伪装攻击进行测试:使用与用户地址不匹配的私钥,对数据包进行签名后,发送至无线访问点,访问点成功将数据包丢弃。
对重放攻击进行测试:将同一个数据包发送两次给无线访问点,无线访问点仅向区块链发起了一次请求。
对于拒绝服务攻击,本文提出的基于VRF的快速共识验证算法,可以确保用户和无线访问点都无法操纵参与共识验证的节点,从而使得无法将验证流量集中在某几个节点上,拒绝服务攻击在一定程度上被限制。
综上所述,本方案能够确保区块链系统、无线访问点、用户的安全,同时具有一定的缩放能力,可以平衡安全性和性能。
5 结束语
本文提出了一种利用区块链现有基础设施,为区块链物联网设备提供无线访问点接入的双向认证方案。通过数字签名技术,对用户持有的私钥进行验证,使无线访问点能够识别用户的身份。通过基于VRF的快速共识验证算法,使得用户能够获得可信的区块链数据的同时,减少对区块链系统的负担。
本方法可以进行改造,将共识内容从区块链内容,替换为任何静态的互联网数据上。但是,需要考虑服务节点的背叛问题,通过建立智能合约,将一定数额的虚拟货币进行锁定,可以增加节点背叛的代价。限于研究条件限制,无法获得虚拟货币,因此没有进行这项扩展的实验。
本方法相较5G[8, 9]等通过电信运营商为物联网设备提供无线接入的方案成本较低,并且可以不受运营商网络波动的影响。相对于直接使用Wi-Fi无线网络进行接入的方案[10, 11],充分利用了区块链基础设施,为无线接入点和用户提供了双向的安全保障。在确保安全的同时,为区块链物联网设备提供了低成本的网络接入方案。
基金项目:
1. 国家自然科学基金(项目编号:61661019);
2. 广西大学生创新训练计划(项目编号:201610595167);
3. 广西密码学与信息安全重点实验室系统性研究课题(项目编号:GCIS201621);
4. 广西高校中青年教师基础能力提升项目(项目编号:2019KY0253);
5. 海南省高等學校教育教学改革研究重点资助项目(项目编号:Hnjg2017ZD-1)。
参考文献
[1] Raval S. Decentralized applications: harnessing Bitcoin's blockchain technology[M]. Sebastopol: O'Reilly Media Inc, 2016. 1-2.
[2] Mattern F, Floerkemeier C. From the Internet of Computers to the Internet of Things[J]. Informatik Spektrum. 33 (2): 107–121. 2010. [3] 陈捷,高英.区块链在物联网隐私保护中的应用[J].物流技术. 2018. 37(7): 39-44+139.
[4] 沈杰.区块链物联网安全的解决方案[J].中国信息界. 2017. 3:33-34.
[5] Morris D Z. Leaderless, blockchain-based venture capital fund raises $100 million, and counting[J]. Fortune (magazine), 2016: 05-23.
[6] 谢雨.区块链移动支付项目风险管理研究[D].北京:首都经济贸易大学, 2017.
[7] 叶小榕,邵晴,肖蓉.基于区块链基于区块链、智能合约和物联网的供应链原型系统[J].科技导报,2017,35(23):62-69.
[8] Schulz, Philipp, Matthe, Maximilian, Klessig, Henrik, et al. Latency Critical IoT Applications in 5G: Perspective on the Design of Radio Interface and Network Architecture[J]. IEEE Communications Magazine, 55(2):70-78.
[9] 黄海峰.为5G探路:华为推动4T4R、Massive MIMO、NB-IoT在4G网部署[J].通信世界, 2017(13):54-54.
[10] Li L, Xiaoguang H, Ke C, et al. The applications of wifi-based wireless sensor network in internet of things and smart grid[C]//2011 6th IEEE Conference on Industrial Electronics and Applications. IEEE, 2011: 789-793.
[11] 王希朝,張毅,程鹏,马洪亮,吴斌.面向物联网应用的UART-WIFI网关设计[J].微型机与应用,2013,32(08):45-47+54.
[12] Crow B P, Widjaja I, Kim L G , et al. IEEE 802.11 wireless local area networks[J]. IEEE Communications Magazine, 1997, 35 (9): 116-126.
[13] Siles R. Honeyspot: The wireless honeypot[J]. Spanish Honeynet Project, 2007:1-28.
[14] Silvio Micali, Michael Rabin, Salil Vadhan. Verifiable random functions[C]// Foundations of Computer Science, 1999. 40th Annual Symposium on. IEEE Computer Society, 1999.
[15] Diffie W, Hellman M. New directions in cryptography[J]. IEEE transactions on Information Theory, 1976, 22(6): 644-654.
[16] Schneier B. Applied cryptography: protocols, algorithms, and source code in C[M]. john wiley & sons, 2007: 486.
[17] Gallagher P. Digital signature standard (dss)[J]. Federal Information Processing Standards Publications, volume FIPS, 2013: 186.
[18] Johnson D, Menezes A, Vanstone S. The elliptic curve digital signature algorithm (ECDSA)[J]. International journal of information security, 2001, 1(1): 36-63.
[19] Coulouris George, Jean Dollimore, Tim Kindberg. Distributed Systems: Concepts and Design[M]. 3rd edition. New Jersey: Addison-Wesley, 2001. 452.
[20] Castro M, Liskov B. Practical Byzantine fault tolerance and proactive recovery[J]. ACM Transactions on Computer Systems (TOCS), 2002, 20(4): 398-461.
[21] Dwork, Cynthia, Naor, Moni. Pricing via Processing or Combatting Junk Mail[J]. Proc of CRYPTO. 1992. 1: 139-147.
[22] Sreekanth Malladi J A, Heckendorn R B. On prevent ing replay attacks on security protocols[C]//Proceedings of the International Conference on Security and Management. 77-83.
[23] IEEE 802.11i-2004. Medium Access Control (MAC) Security Enhancements[S].
[24] Gilad Y, Hemo R, Micali S, et al. Algorand: Scaling byzantine agreements for cryptocurrencies[C]//Proceedings of the 26th Symposium on Operating Systems Principles. ACM, 2017: 51-68.
[25] irtf-cfrg-vrf-05. Verifiable Random Functions (VRFs)[S].
[26] Fischer M . Impossibility of Distributed Consensus with One Faulty Process[J]. ACM TOCS, 1985, 32(2):374-382.
转载注明来源:https://www.xzbu.com/1/view-15129457.htm