CN114501440B - 一种区块链在无线传感器网络边缘应用的认证密钥协议 - Google Patents

一种区块链在无线传感器网络边缘应用的认证密钥协议 Download PDF

Info

Publication number
CN114501440B
CN114501440B CN202210001906.XA CN202210001906A CN114501440B CN 114501440 B CN114501440 B CN 114501440B CN 202210001906 A CN202210001906 A CN 202210001906A CN 114501440 B CN114501440 B CN 114501440B
Authority
CN
China
Prior art keywords
asl
gwlk
urlc
msg
tid
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.)
Active
Application number
CN202210001906.XA
Other languages
English (en)
Other versions
CN114501440A (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.)
Engineering University of Chinese Peoples Armed Police Force
Original Assignee
Engineering University of Chinese Peoples Armed Police Force
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 Engineering University of Chinese Peoples Armed Police Force filed Critical Engineering University of Chinese Peoples Armed Police Force
Priority to CN202210001906.XA priority Critical patent/CN114501440B/zh
Publication of CN114501440A publication Critical patent/CN114501440A/zh
Application granted granted Critical
Publication of CN114501440B publication Critical patent/CN114501440B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/009Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0433Key management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种区块链在无线传感器网络边缘应用的认证密钥协议,将无线传感器通过网关节点接入网络,网关节点将数据传输至边缘服务器,边缘服务器负责边缘端大量物联网设备产生数据的存储和计算,在进入物联网环境并开始工作之前,可信注册机构首先注册特定网关节点,边缘服务器,特定网关节点下属的所有无线传感器和距离特定网关节点最近的用户节点;所述注册包括无线传感器和网关节点的注册,边缘服务器Leader节点的注册,客户端节点的注册,然后进行认证和密钥协商。能够满足轻量级应用的要求;并利用分布式区块链的特点和网络边缘结构,设计了适合本文场景的访问控制方案,为基于区块链的跨域密钥协商提供了一种新的思路。

Description

一种区块链在无线传感器网络边缘应用的认证密钥协议
技术领域
本发明属于物联网装备技术领域,具体涉及一种区块链在无线传感器网络边缘应用的认证密钥协议。
背景技术
信息化装备将运用快速发展的人工智能技术走向智能化,而在此过程中边缘计算能够使物联网装备解决资源受限等问题。在网络边缘的恶劣环境下,各种物联网装备容易受到多种安全威胁。且由于网络边缘环境下装备硬件资源有限,基于联盟链框架的安全解决方案必须在处理和存储方面兼具安全性和轻量化特性。但是,现有的许多身份认证安全解决方案并不适合网络边缘的质量信息管理应用,且现有的轻量级解决方案容易受到各种攻击的威胁。
发明内容
针对以上现有技术存在的问题,本发明的目的在于,提供一种区块链在无线传感器网络边缘应用的认证密钥协议。
为了实现上述任务,本发明采取如下的技术解决方案:
一种区块链在无线传感器网络边缘应用的认证密钥协议,其特征在于,将无线传感器通过网关节点接入网络,网关节点将数据传输至边缘服务器,边缘服务器负责边缘端大量物联网设备产生数据的存储和计算,在进入物联网环境并开始工作之前,可信注册机构首先注册特定网关节点,边缘服务器,特定网关节点下属的所有无线传感器和距离特定网关节点最近的用户节点;所述注册包括无线传感器和网关节点的注册,边缘服务器Leader节点的注册,客户端节点的注册,然后进行认证和密钥协商。
根据本发明,所述无线传感器和网关节点的注册过程如下:
无线传感器注册:
WSlki通过预加载或者安全信道从ASl获取IDWSlki及对应的秘密值kWSlki
MsgWSRG0={IDWSlki,kWSlki} (1)
而后ASl和WSlki分别计算WSlki的伪ID,即MIDWSlki
此步骤是在WSlki与ASl之间直接进行实时通信之前完成的;
注册完成后,WSlki本地存储的值有:IDWSlki,kWSlki,MIDWSlki
网关节点注册:
第一步:GWlk通过预加载或者安全信道从ASl获取IDGWlk及对应的秘密值kGWlk
MsgGWRG0={IDGWlk,kGWlk} (3)
而后ASl和GWlk分别计算GWlk的伪ID,即MIDGWlk
此步骤是在GWlk与ASl之间直接进行实时通信之前完成的;
第二步:GWlk向ASl发送MsgGWRG1
MsgGWRG1={h(kGWlk||TSGWRG1),MIDGWlk,TSGWRG1} (5)
第三步:从GWlk收到MsgGWRG1后,ASl首先检查时间戳,如果|TSGWRG1-TSGWRG2|>T0,那么请求将被拒绝,反之,其将找到对应MIDGWlk的kGWlk值并计算h(k'GWlk||TSGWRG1);
如果h(k'GWlk||TSGWRG1)=h(kGWlk||TSGWRG1),则证明消息合法,继续执行第四步;
第四步:ASl生成一个随机数TIDGWlk并本地获取GWlk组内之前生成的无线传感器的伪ID;ASl计算h(h(IDGWlk||kASl))后将MsgGWRG2发送给GWlk:
第五步:在从ASl收到MsgGWRG2后,GWlk首先检查时间戳,如果|TSGWRG2-TSGWRG3|>T0,则拒绝请求;反之,则利用本地存储的ID'GWlk计算
再用本地存储的k'GWlk计算和h(k'GWlk||TID'GWlk||(MIDWSlki|i=1,2,…,nWSlk)||h(h(IDGWlk||kASl))||TSGWRG2);
如果:
h(k'GWlk||TID'GWlk||(MIDWSlki|i=1,2,…,nWSlk)||h(h(IDGWlk||kASl))||TSGWRG2)=h(kGWlk||TIDGWlk|(MIDWSlki|i=1,2,…,nWSlk)||h(h(IDGWlk||kASl))||TSGWRG2),则证明消息合法;GWlk将TIDGWlk存储于本地;
注册完成后,存储于GWlk本地的值为:IDGWlk,kGWlk,MIDGWlk,TIDGWlk,h(h(IDGWlk||kASl)),(MIDWSlki|l=1,2,…,nWSlk);
边缘服务器注册:
第一步:ASl通过安全信道或预加载的方式从云服务器获得IDASl和与其匹配的密钥KASl
MsgESRG0={IDASl,KASl} (7)
而后ASl和CS在本地计算ASl的伪ID,即MIDASl
此步骤是在CS与ASl之间直接进行实时通信之前完成的;
第二步:ASl向CS发送消息MsgESRG1
MsgESRG1={h(KASl||TSESRG1),MIDASl,TSESRG1} (9)
第三步:收到MsgESRG1后,CS检查时间戳,若|TSESRG1-TSESRG2|>T0,则拒绝请求;反之,则在本地查找和MIDASl对应的KASl,并计算h(K'ASl||TSESRG1);
若h(K'ASl||TSESRG1)=h(KASl||TSESRG1),则说明消息合法,并进行第四步;
第四步:CS生成一个随机数作为TIDASl,而后向ASl发送MsgESRG2
第五步:收到MsgESRG2后,ASl检查时间戳,若|TSESRG2-TSESRG3|>T0,则拒绝请求;反之,则用自己本地存储的K'ASl计算计算h(K'ASl||TID'ASl||TSESRG2),若
h(K'ASl||TID'ASl||TSESRG2)=h(KASl||TIDASl||TSESRG2),则说明消息合法,计算并将TIDASl和KASl存储于本地;
对于Leader节点,则继续执行第六步-第九步;
完成注册后,存储于GWlk本地的凭证包括:IDASl,KASl,kASl,MIDASl,TIDASl
第六步:ASL向CS发送MsgESRG3
MsgESRG3={h(KASL||R||TSESRG3),R,TSESRG3} (11)
其中,R是边缘服务器节点群通过Raft算法心跳机制选举ASL为Leader节点的凭证;
第七步:收到MsgESRG3后,CS检查时间戳,若|TSESRG3-TSESRG4|>T0,则拒绝请求;反之,则本地验证主节点凭证R的合法性,若R有效,则计算h(K'ASL||R'||TSESRG3);
若h(K'ASL||R'||TSESRG3)=h(KASL||R||TSESRG3),则说明消息合法,并进行第八步;
第八步:CS向ASL发送MsgESRG4
第九步:收到MsgESRG4后,ASL检查时间戳,若|MsgESRG4-MsgESRG5|>T0,则拒绝请求;反之,则分别计算和/> 得出CS发送的其他边缘服务器的临时ID和K值;
若h(K'ASL||TID'ASl|l=1,2,…,nAS)||K'ASl|l=1,2,…,nAS)||TIDESRG4)=h(KASL||TIDASL|l=1,2,…,nAS)||KASL|l=1,2,…,nAS)||TIDESRG4),则消息合法,将(TIDASL|l=1,2,…,nAS)和(KASL|l=1,2,…,nAS)存储于本地;
完成注册后,存储于ASL本地的凭证有:IDASL,KASL,kASL,MIDASL,TIDASL,(TIDASl|l=1,2,…,nAS),(KASl|l=1,2,…,nAS)。
用户节点注册:
第一步:云服务器生成用户的ID和密钥,并根据用户的属性生成ATBURlc;URlc通过安全信道或预加载的方式从云服务器获得IDURlc,与其匹配的密钥kURlc和属性信息ATBURlc
MsgURRG0={IDURlc,kURlc,ATBURlc } (13)
而后URlc和CS在本地计算URlc的伪ID,即MIDURlc
此步骤是在CS与URlc之间直接进行实时通信之前完成的。
第二步:URlc向所在就近任一边缘服务器ASl发送消息MsgURRG1
MsgURRG1={h(kURlc||TSURRG1),MIDURlc,TSURRG1} (15)
第三步:收到MsgURRG1后,ASl检查时间戳,若|TSURRG1-TSURRG2|>T0,则拒绝请求;而后,将URlc的信息和自身信息打包为MsgURRG2发送至CS;
MsgURRG2={h(kASl||TSURRG2),h(kURlc||TSURRG1),MIDURlc,TIDASl,TSURRG1,TSURRG2} (16)
第四步:收到MsgURRG2后,CS检查时间戳,若|TSURRG2-TSURRG3|>T0,则拒绝请求;反之,则在本地查找和TIDASl对应的kASl及和MIDURk对应的kURlc和ATBURlc;分别计算h(k'ASl||TSURRG2)和h(k'URlc||TSURRG1),若h(k'ASl||TSURRG2)=h(kASl||TSURRG2)且h(k'URlc||TSURRG1)=h(kURlc||TSURRG1),则说明消息合法,并进行第五步。
第五步:CS生成一个随机数作为TIDURlc,并向ASl发送MsgURRG3
第六步:收到MsgURRG3后,ASl检查时间戳,若|TSURRG3-TSURRG4|>T0,则拒绝请求;反之,则利用本地K'ASl计算得到URlc的凭证TIDURlc,kURlc,ATBURlc
计算h(K'ASl||TID'URlc||MID'URlc||k'URlc||ATB'URlc||TSURRG3),若h(K'ASl||TID'URlc||MID'URlc||K'URlc||ATB'URlc||TSURRG3)=h(KASl||TIDURlc||MIDURlc||kURlc||ATBURlc||TSURRG3),则说明消息合法,并进行第七步。
第七步:ASL向URlc发送MsgURRG4
第八步:收到MsgURRG4后,URlc检查时间戳,若|TSURRG4-TSURRG5|>T0,则拒绝请求;反之,则利用本地k'URlc计算得到TIDURlc。最后计算h(kURlc||TIDURlc||TSURRG4),若h(k'URlc||TID'URlc||TSURRG4)=h(kURlc||TIDURlc||TSURRG4),则说明消息合法,将TIDURlc存储于本地;
完成注册后,存储于URlc本地的凭证包括:IDURlc,kURlc,MIDURlc,ATBURlc,TIDURlc
进一步地,所述的认证和密钥协商划分为三部分:数据上传、区块生成、数据获取;其中,数据上传阶段的认证密钥协商是在WS和GW之间进行的,其结果是生成KeyWG作为WS将数据传输给GW的会话密钥;区块生成是指网关节点根据无线传感器上传数据生成区块链交易并将其发送给边缘服务器,最终通过共识算法上链的过程;数据获取是指用户通过终端设备向系统发送请求,通过访问控制的验证并最终从对应网关处获取数据的过程。
本发明的区块链在无线传感器网络边缘应用的认证密钥协议,是一种轻量级的分层身份验证和密钥分发协议,能够满足轻量级应用的要求;并利用分布式区块链的特点和网络边缘结构,设计了适合本文场景的访问控制方案,为基于区块链的跨域密钥协商提供了一种新的思路。通过分析和AVISPA工具仿真,协议不仅可以抵抗各种攻击,提供更好的安全保护,而且比其他现有的轻量级解决方案消耗的资源更少。
附图说明
图1是系统中的节点角色示意图;
图2是无线传感器(WSlki)和网关节点(GWlk)注册过程;
图3是边缘服务器(ASl)和Leader云服务器(CS)的注册过程;
图4是客户端节点(URlc)注册过程;
图5是无线传感器(WSlki)和网关节点(GWlk)的认证和密钥协商过程;
图6是EIoT-PBFT算法的区块生成过程(Algorithm1的过程);
图7是网关节点(GWlk)和边缘服务器(ASl)的认证和密钥协商过程。
图8是网关节点(GWlk)和网关节点(GWln)的认证和密钥协商过程。
以下结合附图和实施例对本发明作进一步地详细说明。
具体实施方式
需要说明的是,在以下的实施例中,这些文献将被引用:
[1]Li D,Peng W,Deng W,et al.A blockchain-based authentication andsecurity mechanism for IoT[C].2018,27th International Conference on ComputerCommunication and Networks(ICCCN),2018:1-6。
[2]Qiongqiong D,Dinghua X,Hongzhou S.Scheme Design of IntelligentObject Authentication Technology Based on Blockchain[J].Information NetworkSecurity,2018,18(9):95-101。
[3]Zhang L,Li H,Sun L,et al.Poster:towards fully distributed userauthentication with blockchain[C].2017,IEEE Symposium on Privacy-AwareComputing(PAC),2017:202-203。
[4]Li F,Han Y,Jin C.Practical access control for sensor networks inthe context of the Internet of Things[J].Computer Communications,2016,89:154-164。
[5]Tewari A,Gupta B.Cryptanalysis of a novel ultra-lightweight mutualauthentication protocol for IoT devices using RFID tags[J].The Journal ofSupercomputing,2017,73(3):1085-1102。
[6]Dhillon P K,Kalra S.A lightweight biometrics based remote userauthentication scheme for IoT services[J].Journal of Information Security andApplications,2017,34:255-270。
[7]Aghili S F,Ashouri-Talouki M,Mala H.DoS,impersonation and de-synchronization attacks against an ultra-lightweight RFID mutualauthentication protocol for IoT[J].The Journal of Supercomputing,2018,74(1):509-525。
[8]Luo M,Luo Y,Wan Y,et al.Secure and efficient access control schemefor wireless sensor networks in the cross-domain context of the IoT[J].Security and Communication Networks,2018。
[9]Zhou L,Li X,Yeh K-H,et al.Lightweight IoT-based authenticationscheme in cloud computing circumstance[J].Future generation computer systems,2019,91:244-251。
[10]Aziz M F,Khan A N,Shuja J,et al.A lightweight and compromise-resilient authentication scheme for IoTs[J].Transactions on EmergingTelecommunications Technologies,2019:e3813。
[11]Saha S,Chattaraj D,Bera B,et al.Consortium blockchain-enabledaccess control mechanismin edge computing based generic Internet of Thingsenvironment[J].Transactions on Emerging Telecommunications Technologies,2020:e3995。
本实施例以资源受限的无线传感器装备为例,给出了一种区块链在无线传感器网络边缘应用的认证密钥协议,将无线传感器通过网关节点接入网络,网关节点将数据传输至边缘服务器,边缘服务器负责边缘端大量物联网设备产生数据的存储和计算,在进入物联网环境并开始工作之前,可信注册机构首先注册特定网关节点,边缘服务器,特定网关节点下属的所有无线传感器和距离特定网关节点最近的用户节点;所述注册包括无线传感器和网关节点的注册,边缘服务器Leader节点的注册,客户端节点的注册,然后进行认证和密钥协商。该协议是一种轻量级的分层身份验证和密钥分发协议,能够满足轻量级应用的要求;最后,利用分布式区块链的特点和网络边缘结构,设计了适合本文场景的访问控制方案,为基于区块链的跨域密钥协商提供了一种新的思路。通过分析和AVISPA工具仿真,协议不仅可以抵抗各种攻击,提供更好的安全保护,而且比其他现有的轻量级解决方案消耗的资源更少。
1.1相关基础
由于环境的资源约束性质,适用于物联网的认证与密钥协商方案倾向于两个趋势:(1)越来越轻量化,(2)与区块链等其他技术便于结合。由于环境的资源约束性质,轻量化的认证方案与密钥协商更适合于物联网。然而,所有轻量级的方案都容易受到攻击,并且较易泄露秘密值。另一方面,随着区块链等底层技术在物联网的应用越来越广泛,一部分研究学者也提出了适用于区块链物联网的认证方案。文献[1,2]提出的方案是将区块链技术应用于物联网终端设备之间的身份认证。文献[3]设计了一种基于区块链的用户身份认证架构,应用于对网站或应用程序等的访问。但这些方法都不适合资源受限的无线传感网络。
1.2技术方案设计
1.2.1系统模型
根据物联网边缘计算的结构特点,将网络节点抽象为系统模型。在网络中,云服务器(CS)直接管理边缘服务器(ES),每个边缘服务器(ES)都会监督和管理一组网关节点(GW),而无线传感器(WS)通过网关节点(GW)与广域网相连。这允许更好的可伸缩性,并扩大物联网设备的有限功能。其中,由于通信能力的差异,无线传感器(WS)不能直接在公开信道中与本组的边缘服务器(ES)通信。
从网络的角度来分,节点分为云服务器(CS),边缘服务器(ES),网关节点(GW),物联网传感器(WS)。其中边缘服务器(ES)即为认证服务器(AS),但云服务器(CS)也充当边缘服务器(ES)和用户节点(UR)的认证服务器(AS)功能。从访问控制的角度来分,还有用户节点(UR),其为用户请求数据的终端。其对应关系可参见表1-1。
从共识的角度来分,节点分为三种类型:客户节点(CL),背书节点(ED),主节点(PR)和领导者节点(LD)。其中,客户节点(CL)由无线传感器(WS)担任,背书节点(ED)由网关节点(GW)担任,主节点(PR)和领导者节点(LD)均为边缘服务器(ES)。
如图1所示,客户端节点主要由轻量级的物联网传感器组成,不参与共识过程。生成数据时,客户端节点仅提议新交易以更改分类帐的状态。背书节点(ED)和主节点(PR)负责交易验证和上传。背书节点(ED)是组内共识过程中的副本节点,主要由具有计算和通信功能的网关服务器组成。背书节点(ED)是参与共识过程的节点的主要部分。作为组内共识过程中组的主节点,背书节点(ED)还充当组间共识过程中的对等节点。在组之间达成共识期间,主要节点的身份根据Raft算法的选择过程进行轮换,可以是转发节点,领导者节点(LD)或跟随者节点。
表1-1:相关符号及含义
在本实施例的设置中,物联网无线传感器通过网关节点接入网络。网关节点将数据传输至边缘服务器进行分析和处理,相比于云计算能够降低传输时延,提高响应速度,降低数据处理成本。边缘服务器负责边缘端大量物联网设备产生数据的存储和计算,其部署在边缘机房中,与标准化机房相比通常在空间、温度、方向、电源系统等方面存在较大差异,通常情况下具备轻量化、高性能、低功耗、适应性宽的特点。相比于物联网设备,认为其具有较高的安全性,不会成为恶意节点,因此作为AS是可行的,但仍存在宕机可能。
1.2.2第一阶段注册
在本阶段中,在相关设备进入物联网环境并开始工作之前,可信注册机构首先注册特定网关节点(GWlk),边缘服务器(ASl),特定网关节点(GWlk)下属的所有无线传感器(WSlki)和距离特定网关节点(GWlk)最近的用户节点(URlc)。
图2给出了无线传感器(WSlki)和网关节点(GWlk)注册过程;图3给出了边缘服务器(ASl)和Leader云服务器(CS)的注册过程;图4给出了客户端节点(URlc)注册过程;所有注册过程的详细描述如下:
(一)WS和GW的注册
WS注册:
·Step WSRG0:WSlki通过预加载或者安全信道从ASl获取IDWSlki及对应的秘密值kWSlki
MsgWSRG0={IDWSlki,kWSlki} (1)
而后ASl和WSlki分别计算WSlki的伪ID,即MIDWSlki
此步骤是在WSlki与ASl之间直接进行实时通信之前完成的。
注册完成后,WSlki本地存储的值有:IDWSlki,kWSlki,MIDWSlki
GW注册
·Step GWRG0:GWlk通过预加载或者安全信道从ASl获取IDGWlk及对应的秘密值kGWlk
MsgGWRG0={IDGWlk,kGWlk} (3)
而后ASl和GWlk分别计算GWlk的伪ID,即MIDGWlk
此步骤是在GWlk与ASl之间直接进行实时通信之前完成的。
·Step GWRG1:GWlk向ASl发送MsgGWRG1
MsgGWRG1={h(kGWlk||TSGWRG1),MIDGWlk,TSGWRG1} (5)
·Step GWRG2:从GWlk收到MsgGWRG1后,ASl首先检查时间戳,如果|TSGWRG1-TSGWRG2|>T0,那么请求将被拒绝。反之,其将找到对应MIDGWlk的kGWlk值并计算h(k'GWlk||TSGWRG1)。
如果h(k'GWlk||TSGWRG1)=h(kGWlk||TSGWRG1),则证明消息合法,继续执行StepGWRG3。
·Step GWRG3:ASl生成一个随机数TIDGWlk并本地获取GWlk组内之前生成的无线传感器的伪ID。ASl计算h(h(IDGWlk||kASl))后将MsgGWRG2发送给GWlk:
·Step GWRG4:在从ASl收到MsgGWRG2后,GWlk首先检查时间戳。如果|TSGWRG2-TSGWRG3|>T0,则拒绝请求。反之,则利用本地存储的ID'GWlk计算/>
再用本地存储的k'GWlk计算和h(k'GWlk||TID'GWlk||(MIDWSlki|i=1,2,…,nWSlk)||h(h(IDGWlk||kASl))||TSGWRG2)。
如果:
h(k'GWlk||TID'GWlk||(MIDWSlki|i=1,2,…,nWSlk)||h(h(IDGWlk||kASl))||TSGWRG2)=h(kGWlk||TIDGWlk||(MIDWSlki|i=1,2,…,nWSlk)||h(h(IDGWlk||kASl))||TSGWRG2),则证明消息合法。GWlk将TIDGWlk存储于本地。
注册完成后,存储于GWlk本地的值为:IDGWlk,kGWlk,MIDGWlk,TIDGWlk,h(h(IDGWlk||kASl)),(MIDWSlki|i=1,2,…,nWSlk)。
(二)ES的注册
·Step ESRG0:ASl通过安全信道或预加载的方式从云服务器CS获得IDASl和与其匹配的密钥KASl
MsgESRG0={IDASl,KASl} (7)
而后ASl和CS在本地计算ASl的伪ID,即MIDASl
此步骤是在CS与ASl之间直接进行实时通信之前完成的。
·Step ESRG1:ASl向CS发送消息MsgESRG1
MsgESRG1={h(KASl||TSESRG1),MIDASl,TSESRG1} (9)
·Step ESRG2:收到MsgESRG1后,CS检查时间戳,若|TSESRG1-TSESRG2|>T0,则拒绝请求。反之,则在本地查找和MIDASl对应的KASl,并计算
h(K'ASl||TSESRG1)。若h(K'ASl||TSESRG1)=h(KASl||TSESRG1),则说明消息合法,并进行Step ESRG3。
·Step ESRG3:CS生成一个随机数作为TIDASl,而后向ASl发送MsgESRG2
·Step ESRG4:收到MsgESRG2后,ASl检查时间戳,若|TSESRG2-TSESRG3|>T0,则拒绝请求。反之,则用自己本地存储的K'ASl计算计算h(K'ASl||TID'ASl||TSESRG2),若
h(K'ASl||TID'ASl||TSESRG2)=h(KASl||TIDASl||TSESRG2),则说明消息合法,计算并将TIDASl和kASl存储于本地。
对于Leader节点,则继续执行Step ESRG5-ESRG8。
完成注册后,存储于GWlk本地的凭证包括:IDASl,KASl,kASl,MIDASl,TIDASl
·Step ESRG5:ASL向CS发送MsgESRG3
MsgESRG3={h(KASL||R||TSESRG3),R,TSESRG3} (11)
其中,R是边缘服务器节点群通过Raft算法心跳机制选举ASL为Leader节点的凭证。
·Step ESRG6:收到MsgESRG3后,CS检查时间戳,若|TSESRG3-TSESRG4|>T0,则拒绝请求。反之,则本地验证主节点凭证R的合法性,若R有效,则计算h(K'ASL||R'||TSESRG3);
若h(K'ASL||R'||TSESRG3)=h(KASL||R||TSESRG3),则说明消息合法,并进行StepESRG7。
·Step ESRG7:CS向ASL发送MsgESRG4
Step ESRG8:收到MsgESRG4后,ASL检查时间戳,若|TSESRG4-TSESRG5|>T0,则拒绝请求。反之,则分别计算和/> 得出CS发送的其他边缘服务器的临时ID和K值。
若h(K'ASL||TID'ASl|l=1,2,…,nAS)||K'ASl|l=1,2,…,nAS)||TSESRG4)=h(KASL||TIDASl|l=1,2,…,nAS)||(KASl|l=1,2,…,nAS)||TSESRG4),则消息合法,将(TIDASl|l=1,2,…,nAS)和(kASl|l=1,2,…,nAS)存储于本地。
完成注册后,存储于ASL本地的凭证有:IDASL,KASL,kASl,MIDASL,TIDASL,(TIDASl|l=1,2,…,nAS),(kASl|l=1,2,…,nAS)。
(三)UR的注册
·Step URRG0:云服务器(CS)生成用户的ID和密钥,并根据用户的属性生成ATBURlc。URlc通过安全信道或预加载的方式从云服务器CS获得IDURlc,与其匹配的密钥kURlc和属性信息ATBURlc
MsgURRG0={IDURlc,kURlc,ATBURlc} (13)
而后URlc和CS在本地计算URlc的伪ID,即MIDURlc
此步骤是在CS与URlc之间直接进行实时通信之前完成的。
·Step URRG1:URlc向所在就近任一边缘服务器ASl发送消息MsgURRG1
MsgURRG1={h(kURlc||TSURRG1),MIDURlc,TSURRG1} (15)
·Step URRG2:收到MsgURRG1后,ASl检查时间戳,若|TSURRG1-TSURRG2|>T0,则拒绝请求。而后,将URlc的信息和自身信息打包为MsgURRG2发送至CS。
MsgURRG2={h(KASl||TSURRG2),h(kURlc||TSURRG1),MIDURlc,TIDASl,TSURRG1,TSURRG2}
(16)
·Step URRG3:收到MsgURRG2后,CS检查时间戳,若|TSURRG2-TSURRG3|>T0,则拒绝请求。反之,则在本地查找和TIDASl对应的KASl及和MIDURk对应的kURlc和ATBURlc。分别计算h(k'ASl||TSURRG2)和h(k'URlc||TSURRG1),若h(K'ASl||TSURRG2)=h(KASl||TSURRG2)且h(k'URlc||TSURRG1)=h(kURlc||TSURRG1),则说明消息合法,并进行Step URRG4。
·Step URRG4:CS生成一个随机数作为TIDURlc,并向ASl发送MsgURRG3
·Step URRG5:收到MsgURRG3后,ASl检查时间戳,若|TSURRG3-TSURRG4|>T0,则拒绝请求。反之,则利用本地K'ASl计算得到URlc的凭证TIDURlc,kURlc,ATBURlc。计算h(K'ASl||TID'URlc||MID'URlc||k'URlc||ATB'URlc||TSURRG3),若:h(K'ASl||TID'URlc||MID'URlc||k'URlc||ATB'URlc||TSURRG3)/>
=h(KASl||TIDURlc||MIDURlc||kURlc||ATBURlc||TSURRG3),则说明消息合法,并进行Step URRG6。
·Step URRG6:ASL向URlc发送MsgURRG4
·Step URRG7:收到MsgURRG4后,URlc检查时间戳,若|TSURRG4-TSURRG5|>T0,则拒绝请求。反之,则利用本地k'URlc计算得到TIDURlc。最后计算h(kURlc||TIDURlc||TSURRG4),若h(k'URlc||TID'URlc||TSURRG4)=h(kURlc||TIDURlc||TSURRG4),则说明消息合法,将TIDURlc存储于本地。
完成注册后,存储于URlc本地的凭证包括:IDURlc,kURlc,MIDURlc,ATBURlc,TIDURlc。1.2.3第二阶段认证和密钥协商
在本节中,围绕区块链在物联网边缘计算架构下的应用来对认证密钥协商来进行划分为三部分:数据上传、区块生成、数据获取。第一部分的数据上传阶段的认证密钥协商是在WS和GW之间进行的,其结果是生成KeyWG作为WS将数据传输给GW的会话密钥。第二部分的区块生成是指网关节点根据无线传感器上传数据生成区块链交易并将其发送给边缘服务器,最终通过共识算法上链的过程。在第二部分中,首先介绍所提出的共识算法,其满足物联网边缘计算的设置,并能提高共识效率,降低节点通信消耗。其中包含LD和ES之间、ES和ES之间、GW和ES之间、GW和GW之间的认证和密钥协商几个过程,其结果是分别生成KeyLE,KeyEE,KeyGA和KeyGG的会话密钥。第三部分的数据获取是指用户通过终端设备向系统发送请求,通过访问控制的验证并最终从对应网关处获取数据的过程。在第三部分中,首先介绍了所设计的访问控制方案,而后其中涉及到的认证和密钥协商过程进行了说明,即UR和ES之间生成KeyUA的过程和UR和GW之间生成KeyUG的过程。值得注意的是,和一般的认证密钥协商方案不同,UR和GW之间生成KeyUG的过程是融合在所设计访问控制的过程中,不需要单独进行。
图5给出了无线传感器(WSlki)和网关节点(GWlk)的认证和密钥协商过程;图7给出了网关节点(GWlk)和边缘服务器(ASl)的认证和密钥协商过程。图8给出了网关节点(GWlk)和网关节点(GWln)的认证和密钥协商过程。
(一)数据上传中的密钥协商
数据上传是指无线传感器生成数据并向网关节点传输的过程,亦即链下数据到达区块链组成节点的过程。由于在我们的设置中,网关节点是区块链的构成节点,因此在该部分只包含一个认证密钥协商过程,即下述WGKE过程。
·Step WGKE1:WSlki向GWlk发送MsgWGKE1:
MsgWGKE1={h(kWSlki||TSWGKE1),MIDWSlki,TSWGKE1} (19)
·Step WGKE2:GWlk收到MsgWGKE1后,检查时间戳,若|TSWGKE1-TSWGKE2|>T0,则拒绝请求。反之,则确认MIDWSlki是否存在于自身的内存中,若不存在,则拒绝请求。而后,GWlk向ASl发送MsgWGKE2
MsgWGKE2={h(kGWlk||TSWGKE2),h(kWSlki||TSWGKE1),MIDWSlki,TIDGWlk,TSWGKE1,TSWGKE2}
(20)
·Step WGKE3:ASl收到MsgWGKE2后,检查时间戳,若|TSWGKE2-TSWGKE3|>T0,则拒绝请求。反之,则确认TIDGWlk是否存在于自身的内存中,若不存在,则拒绝请求。而后,利用本地存储的k'GWlk和k'WSlki计算h(k'GWlk||TSWGKE2)和h(k'WSlki||TSWGKE1)来验证消息是否遭篡改。若h(k'GWlk||TSWGKE2)=h(kGWlk||TSWGKE2)且h(k'WSlki||TSWGKE1)=h(kWSlki||TSWGKE1),则说明消息合法,进行Step WGKE4。
·Step WGKE4:ASL向GWlk发送MsgWGKE3
·Step WGKE5:收到MsgWGKE3后,GWlk首先检查时间戳,若|TSWGKE3-TSWGKE4|>T0,则拒绝请求。反之,则计算并将TIDWSlki和MIDWSlki对应起来。通过计算/>得出下一轮的临时ID,即/>
计算 ,则说明消息合法,而后生成随机数S1,作为GWlk和WSlki会话密钥的一部分。
·Step WGKE6:GWlK向WSlki发送MsgWGKE4
·Step WGKE7:收到MsgWGKE4后,WSlki首先检查时间戳,若|TSWGKE4-TSWGKE5|>T0,则拒绝请求。反之,则计算得出h(IDGWlk||kASl);计算得出S1;计算得出下一轮的临时ID,即TIDWSlki。而后分别计算h(k'WSlki||h(IDGWlk||kASl)||TID'WSlki)和h(h(h(IDGWlk||kASl))||S1'||TSWGKE4),若h(k'WSlki||h(IDGWlk||kASl)||TID'WSlki)=h(kWSlki||h(IDGWlk||kASl)||TIDWSlki)且h(h(h(IDGWlk||kASl))||S1'||TSWGKE4)=h(h(h(IDGWlk||kASl))||S1||TSWGKE4),说明消息合法。而后在本地生成一个随机数S2,计算/>并存储于本地,作为与GWlk之间的通信密钥。
·Step WGKE8:WSlki向GWlk发送MsgWGKE5
·Step WGKE9:收到MsgWGKE5后,GWlk首先检查时间戳,若|TSWGKE5-TSWGKE6|>T0,则拒绝请求。反之,则通过计算得出S2。
计算h(h(h(IDGWlk||kASl))||S2'||TSWGKE5),若h(h(h(IDGWlk||kASl))||S2'||TSWGKE5)=h(h(h(IDGWlk||kASl))||S2||TSWGKE5),说明消息合法,计算并存储于本地,作为与WSlki之间的通信密钥。
(二)区块生成中的密钥协商
申请人为物联网边缘计算下的区块链应用设计了新的共识算法,以便于提高共识效率,降低对系统通信的需求,可以减少重复性的认证和密钥协商。我们基于PBFT进行了改进,使其符合物联网边缘计算的网络架构,采用了分组分层等方式进行优化。
当WS生成一条数据后,将其发送给GW。GW收到数据后将其存储于本地,而后将数据根据数据类型、节点类型和生成时间打上标签,而后对其取哈希,形成一条数据生成交易发送给ES。ES检查其正确性后将交易发送给LD节点。同时LD节点也收集来自UR所在ES发送的数据请求交易。LD节点在区块生成周期内生成新的区块。而后通过改进PBFT共识算法使包含访问请求交易和数据生成交易的区块存储于链上各个节点,完成上链的过程。
EIoT-PBFT算法的区块生成过程如图6所示,即Algorithm1的过程1,包括了1-159条指令。
下面介绍在上述过程中所需要使用的会话密钥的认证和生成过程。
(1)GW和ES的认证和密钥协商
·Step GAKE1:GWlk向ASl发送MsgGAKE1
MsgGAKE1={h(kGWlk||TSGAKE1),TIDGWlk,TSGAKE1} (24)
·Step GAKE2:ASl收到MsgGAKE1后,首先检查时间戳,若|TSGAKE2-TSGAKE1|>T0,则拒绝请求。而后在本地查找TIDGWlk所对应的k'GWlk,运算h(k'GWlk||TSGAKE1),若h(k'GWlk||TSGAKE1)=h(kGWlk||TSGAKE1),则本消息合法,并进行Step GAKE3。
·Step GAKE3:ASl生成一个随机数KeyGA作为会话密钥。并生成一个随机数作为下一轮通信的临时ID。ASl向GWlk发送MsgGAKE2
·Step GAKE4:GWlk收到MsgGAKE2后,首先检查时间戳,若|TSGAKE3-TSGAKE2|>T0,则拒绝请求。而后通过计算得出/>通过计算得出KeyGA
而后计算则消息合法,将/>更新,并将KeyGA作为与ASl的通信密钥。
(2)LD和ES的密钥协商
主节点和各边缘服务器是对等关系,注册时由更高的云服务器进行充当AS的作用,给LD节点分发其他ES的私有凭证。其最终生成的会话密钥为KeyLE。其认证和密钥协商过程与ES和GW的过程一致,可参见GAKE过程,在此不作赘述。
(3)GW和GW之间的密钥协商
在区块生成中,需要同一个AS下的GW之间进行PREPARE消息的传输以达成共识,此阶段需要GW之间两两建立会话密钥。在下述的流程中包含了这一情况,在Step GGKE2中,由ASl根据本回合已建立的密钥来确认将包含GWlk的信息的消息发送至哪些GWln节点,并建立双方的会话密钥。在此阶段,每个GW均发送一次请求MsgGGKE1,ASl会根据先后来处理这些请求,直至没有新的符合要求的GWln为止。
·Step GGKE1:GWlk向ASl发送MsgGGKE1
MsgGGKE1={h(kGWlk||TSGGKE1),TIDGWlk,TSGGKE1} (26)
·Step GGKE2:ASl收到MsgGGKE1后,检查时间戳,若|TSGGKE1-TSGGKE2|>T0,则拒绝请求。反之,则确认TIDGWlk是否存在于自身的内存中,若不存在,则拒绝请求。而后,利用k'GWlk计算h(k'GWlk||TSGGKE2),若h(k'GWlk||TSGGKE2)=h(kGWlk||TSGGKE2)则消息合法。查看已经分配的KeyGG并决定本回合要与ASl建立通信密钥的目标网关节点GWln。分别为GWlk和GWln生成随机数作为下一次更新的临时ID,而后进行Step GGKE3。
·Step GGKE3:ASl向GWln发送MsgGGKE2
·Step GGKE4:GWln收到MsgGGKE后,检查时间戳,若|TSGGKE2-TSGGKE3|>T0,则拒绝请求。反之,在本地计算并得到h(IDGWlk||kASl),分别计算
计算若/> 则消息合法,将/>和h(IDGWlk||kASl)存储于本地,并进行Step GGKE5。
·Step GGKE5:GMln在本地生成S1作为二者之间KeyGG的一部分,并向GMln发送MsgGGKE3
·Step GGKE6:GMln收到MsgGGKE3后,检查时间戳,若|TSGGKE3-TSGGKE4|>T0,则拒绝请求。反之,在本地计算并得到S1,计算分别计算h(h(h(IDGWlk||kASl))||S1'||TSGGKE3)和/>若h(h(h(IDGWlk||kASl))||S1'||TSGGKE3)=h(h(h(IDGWlk||kASl))||S1||TSGGKE3)且/>则消息合法,将/>存储于本地。生成S2并计算/>将KeyGG存储于本地作为与GWln的通信密钥,而后进行Step GGKE7。
·Step GGKE7:GWlk向GWln发送MsgGGKE4
·Step GGKE8:GMln收到MsgGGKE4后,检查时间戳,若|TSGGKE4-TSGGKE5|>T0,则拒绝请求。反之,在本地计算并得到S2。计算若:
则消息合法,计算/>将KeyGG存储于本地作为与GWlk的通信密钥。
(4)ES和ES之间的密钥协商
不同的边缘服务器之间的密钥协商是通过LD充当AS的作用来完成的,最终生成的会话密钥为KeyEE。此过程和GGKE类似,可参见GGKE过程,在此不展开叙述。
参见图7和图8,其中图7是网关节点(GWlk)和边缘服务器(ASl)的认证和密钥协商过程,图8是网关节点(GWlk)和网关节点(GWln)的认证和密钥协商过程。
1.3性能分析与对比
在本节中,将分别对所提方案的安全特性及功能性和计算消耗进行分析,并将其与已有方案进行对比。
1)功能和安全属性的比较
表2:各方案的功能性和安全性对比
表注:ATTR0=方案是轻量化的;ATTR1=方案能够抵御重放攻击;ATTR2=方案能够抵御MITM攻击;ATTR3=方案能够抵御仿冒攻击;ATTR4=方案能够抵御DoS攻击;ATTR5=方案能够抵御平行会话攻击;ATTR6=方案在不同实体间提供相互认证;ATTR7=方案对会话密钥泄露鲁棒;ATTR8=方案符合区块链设置;ATTR9=方案能保证匿名性和不可追溯性;ATTR10=方案适合跨网跨域的情况;ATTR11=方案保留密钥协议;√=方案满足某个ATTR;×=方案不满足某个ATTR;▲=方案部分支持某个ATTR。
如表2所示,发明人列举了12种不同的安全或功能属性,并分别与8个相关文献的研究进行了对比。可以看出,本实施例的技术方案能够满足从ATTR0到ATTR11的不同属性。在轻量化的基础上能够抵抗许多已知攻击,并且能够满足区块链的设置,提供了跨域和跨网的功能,满足匿名性和不可追溯性等特性。而其他方案在某些属性上的表现则多少存在不足。
2)计算花销比较
在实验中,发明人遵循文献[11]的实验设置,对计算花销进行估计。表3列出了基于实验结果的各种加密原语所需的近似时间。
如表3所示,发明人将不同方案的认证密钥协商阶段进行了分析,通过结合表3的数值计算得到其方案计算消耗的近似值。由于异或算法和连接操作、生成随机数等操作对资源的消耗极低,因此并没有将其考虑在计算消耗的范围内。另外,由于case4和通常意义上的方案不一样,其单独的密钥协商过程消耗几乎不计,因此用-号代替。通过分析可知,本实施例给出的技术方案无论在用户端还是在服务器端,都具备轻量化的优势,对运算资源的消耗低,速度快,符合无线传感器计算量小的特点。
表3:多种方案的计算开销对比
/>
1.4小结
结合区块链的特点,根据无线传感器设备数据上链和用户从链上访问数据两个主要应用场景,本申请分别重新设计了共识方案和访问控制方案,并针对两方面业务设计了认证和密钥分发协议。基于此,提出了一种面向无线传感器网络边缘计算的分层密钥管理方案,其轻量化、可拓展性强,能够应对规模化的物联网区块链应用。本章主要贡献提出了面向无线传感器网络边缘的轻量级分层认证密钥分发协议。只采用哈希和异或操作,轻量高效,符合无线传感器网络的特点。将AS下沉到更加靠近边缘的位置,能够最大程度地减少攻击面和延迟。针对数据上链和数据访问应用进行了优化,通过理论分析和AVISPA仿真证明,能够抵抗多种攻击,且对资源的消耗小于其他方案。

Claims (2)

1.一种区块链在无线传感器网络边缘应用的认证密钥协议,其特征在于,将无线传感器通过网关节点接入网络,网关节点将数据传输至边缘服务器,边缘服务器负责边缘端大量物联网设备产生数据的存储和计算,在进入物联网环境并开始工作之前,可信注册机构首先注册网关节点,边缘服务器,网关节点下属的所有无线传感器和距离网关节点最近的用户节点;所述注册包括无线传感器和网关节点的注册,边缘服务器Leader节点的注册,用户节点的注册,然后进行认证和密钥协商;
所述无线传感器和网关节点的注册过程如下:
无线传感器注册:
WSlki通过预加载或者安全信道从ASl获取IDWSlki及对应的秘密值kWSlki
MsgWSRG0={IDWSlki,kWSlki} (1)
而后ASl和WSlki分别计算WSlki的伪ID,即MIDWSlki
此步骤是在WSlki与ASl之间直接进行实时通信之前完成的;
注册完成后,WSlki本地存储的值有:IDWSlki,kWSlki,MIDWSlki
网关节点注册:
第一步:GWlk通过预加载或者安全信道从ASl获取IDGWlk及对应的秘密值kGWlk
MsgGWRG0={IDGWlk,kGWlk} (3)
而后ASl和GWlk分别计算GWlk的伪ID,即MIDGWlk
此步骤是在GWlk与ASl之间直接进行实时通信之前完成的;
第二步:GWlk向ASl发送MsgGWRG1
MsgGWRG1={h(kGWlk||TSGWRG1),MIDGWlk,TSGWRG1} (5)
第三步:从GWlk收到MsgGWRG1后,ASl首先检查时间戳,如果|TSGWRG1-TSGWRG2|>T0,那么请求将被拒绝,反之,其将找到对应MIDGWlk的kGWlk值并计算h(k'GWlk||TSGWRG1);
如果h(k'GWlk||TSGWRG1)=h(kGWlk||TSGWRG1),则证明消息合法,继续执行第四步;
第四步:ASl生成一个随机数TIDGWlk并本地获取GWlk组内之前生成的无线传感器的伪ID;ASl计算h(h(IDGWlk||kASl))后将MsgGWRG2发送给GWlk:
第五步:在从ASl收到MsgGWRG2后,GWlk首先检查时间戳,如果|TSGWRG2-TSGWRG3|>T0,则拒绝请求;反之,则利用本地存储的ID'GWlk计算
再用本地存储的k'GWlk计算和h(k'GWlk||TID'GWlk||(MIDWSlki|i=1,2,…,nWSlk)||h(h(IDGWlk||kASl))||TSGWRG2);
如果:
h(k'GWlk||TID'GWlk||(MIDWSlki|i=1,2,…,nWSlk)||h(h(IDGWlk||kASl))||TSGWRG2)=h(kGWlk||TIDGWlk||
(MIDWSlki|i=1,2,…,nWSlk)||h(h(IDGWlk||kASl))||TSGWRG2),则证明消息合法;GWlk将TIDGWlk存储于本地;
注册完成后,存储于GWlk本地的值为:IDGWlk,kGWlk,MIDGWlk,TIDGWlk,h(h(IDGWlk||kASl)),(MIDWSlki|l=1,2,…,nWSlk);
数据上传中的密钥协商:
数据上传是指无线传感器生成数据并向网关节点传输的过程,网关节点是区块链的构成节点,因此认证密钥协商过程,即下述WGKE过程:
·Step WGKE1:WSlki向GWlk发送MsgWGKE1:
MsgWGKE1={h(kWSlki||TSWSKE1),MIDWSlki,TSWSKE1} (7)
·Step WGKE2:GWlk收到MsgWGKE1后,检查时间戳,若|TSWSKE1-TSWSKE2|>T0,则拒绝请求;反之,则确认MIDWSlki是否存在于自身的内存中,若不存在,则拒绝请求;而后,GWlk向ASl发送MsgWGKE2
MsgWGKE2={h(kGWlk||TSWSKE2),h(kWSlki||TSWSKE1),MIDWSlki,TIDGWlk,TSWSKE1,TSWSKE2} (8)
·Step WGKE3:ASl收到MsgWGKE2后,检查时间戳,若|TSWSKE2-TSWSKE3|>T0,则拒绝请求;反之,则确认TIDGWlk是否存在于自身的内存中,若不存在,则拒绝请求;而后,利用本地存储的k'GWlk和k'WSlki计算h(k'GWlk||TSWGKE2)和h(k'WSlki||TSWSKE1)来验证消息是否遭篡改;若h(k'GWlk||TSWGKE2)=h(kGWlk||TSWGKE2)且h(k'WSlki||TSWSKE1)=h(kWSlki||TSWSKE1),则说明消息合法,进行Step WGKE4;
·Step WGKE4:ASl向GWlk发送MsgWGKE3
·Step WGKE5:收到MsgWGKE3后,GWlk首先检查时间戳,若|TSWSKE3-TSWSKE4|>T0,则拒绝请求;反之,则计算 并将TIDWSlki和MIDWSlki对应起来;通过计算/>得出下一轮的临时ID,即/>
计算若/> 则说明消息合法,而后生成随机数S1,作为GWlk和WSlki会话密钥的一部分;
·Step WGKE6:GWlK向WSlki发送MsgWGKE4
·Step WGKE7:收到MsgWGKE4后,WSlki首先检查时间戳,若|TSWSKE4-TSWSKE5|>T0,则拒绝请求;反之,则计算得出h(IDGWlk||kASl);计算得出S1;计算得出下一轮的临时ID,即TIDWSlki;而后分别计算h(k'WSlki||h(IDGWlk||kASl)||TID'WSlki)和h(h(h(IDGWlk||kASl))||S1'||TSWSKE4),若h(k'WSlki||h(IDGWlk||kASl)||TID'WSlki)=h(kWSlki||h(IDGWlk||kASl)||TIDWSlki)且h(h(h(IDGWlk||kASl))||S1'||TSWSKE4)=h(h(h(IDGWlk||kASl))||S1||TSWSKE4),说明消息合法;而后在本地生成一个随机数S2,计算/>并存储于本地,作为与GWlk之间的通信密钥;
·Step WGKE8:WSlki向GWlk发送MsgWGKE5
·Step WGKE9:收到MsgWGKE5后,GWlk首先检查时间戳,若|TSWSKE5-TSWSKE6|>T0,则拒绝请求;反之,则通过计算得出S2;
计算h(h(h(IDGWlk||kASl))||S2'||TSWSKE5),若h(h(h(IDGWlk||kASl))||S2'||TSWSKE5)=h(h(h(IDGWlk||kASl))||S2||TSWSKE5),说明消息合法,计算并存储于本地,作为与WSlki之间的通信密钥。
2.如权利要求1所述的区块链在无线传感器网络边缘应用的认证密钥协议,其特征在于,所述边缘服务器注册和用户节点注册如下:
边缘服务器注册:
第一步:ASl通过安全信道或预加载的方式从云服务器获得IDASl和与其匹配的密钥KASl
MsgESRG0={IDASl,KASl} (11)
而后ASl和CS在本地计算ASl的伪ID,即MIDASl
此步骤是在CS与ASl之间直接进行实时通信之前完成的;
第二步:ASl向CS发送消息MsgESRG1
MsgESRG1={h(KASl||TSESRG1),MIDASl,TSESRG1} (13)
第三步:收到MsgESRG1后,CS检查时间戳,若|TSESRG1-TSESRG2|>T0,则拒绝请求;反之,则在本地查找和MIDASl对应的KASl,并计算h(K'ASl||TSESRG1);若h(K'ASl||TSESRG1)=h(KASl||TSESRG1),则说明消息合法,并进行第四步;
第四步:CS生成一个随机数作为TIDASl,而后向ASl发送MsgESRG2
第五步:收到MsgESRG2后,ASl检查时间戳,若|TSESRG2-TSESRG3|>T0,则拒绝请求;反之,则用自己本地存储的K'ASl计算 计算h(K'ASl||TID'ASl||TSESRG2),若
h(K'ASl||TID'ASl||TSESRG2)=h(KASl||TIDASl||TSESRG2),则说明消息合法,计算并将TIDASl和KASl存储于本地;
对于Leader节点,则继续执行第六步-第九步;
完成注册后,存储于GWlk本地的凭证包括:IDASl,KASl,kASl,MIDASl,TIDASl
第六步:ASL向CS发送MsgESRG3
MsgESRG3={h(KASL||R||TSESRG3),R,TSESRG3} (15)
其中,R是边缘服务器节点群通过Raft算法心跳机制选举ASL为Leader节点的凭证;
第七步:收到MsgESRG3后,CS检查时间戳,若|TSESRG3-TSESRG4|>T0,则拒绝请求;反之,则本地验证主节点凭证R的合法性,若R有效,则计算h(K'ASL||R'||TSESRG3);
若h(K'ASL||R'||TSESRG3)=h(KASL||R||TSESRG3),则说明消息合法,并进行第八步;
第八步:CS向ASL发送MsgESRG4
第九步:收到MsgESRG4后,ASL检查时间戳,若|TSESRG4-TSESRG5|>T0,则拒绝请求;反之,则分别计算和/> 得出CS发送的其他边缘服务器的临时ID和K值;
若h(K'ASL||TID'ASl|l=1,2,…,nAS)||K'ASl|l=1,2,…,nAS)||TIDESRG4)=h(KASL||TIDASL|l=1,2,…,nAS)||KASL|l=1,2,…,nAS)||TIDESRG4),则消息合法,将(TIDASL|l=1,2,…,nAS)和(KASL|l=1,2,…,nAS)存储于本地;
完成注册后,存储于ASL本地的凭证有:IDASL,KASL,kASL,MIDASL,TIDASL,(TIDASl|l=1,2,…,nAS),(kASl|l=1,2,…,nAS);
用户节点注册:
第一步:云服务器生成用户的ID和密钥,并根据用户的属性生成ATBURlc;URlc通过安全信道或预加载的方式从云服务器获得IDURlc,与其匹配的密钥kURlc和属性信息ATBURlc
MsgURRG0={IDURlc,kURlc,ATBURlc} (17)
而后URlc和CS在本地计算URlc的伪ID,即MIDURlc
此步骤是在CS与URlc之间直接进行实时通信之前完成的;
第二步:URlc向所在就近任一边缘服务器ASl发送消息MsgURRG1
MsgURRG1={h(kURlc||TSURRG1),MIDURlc,TSURRG1} (19)
第三步:收到MsgURRG1后,ASl检查时间戳,若|TSURRG1-TSURRG2|>T0,则拒绝请求;而后,将URlc的信息和自身信息打包为MsgURRG2发送至CS;
MsgURRG2={h(kASl||TSURRG2),h(kURlc||TSURRG1),MIDURlc,TIDASl,TSURRG1,TSURRG2} (20)
第四步:收到MsgURRG2后,CS检查时间戳,若|TSURRG2-TSURRG3|>T0,则拒绝请求;反之,则在本地查找和TIDASl对应的kASl及和MIDURk对应的kURlc和ATBURlc;分别计算h(k'ASl||TSURRG2)和h(k'URlc||TSURRG1),若h(k'ASl||TSURRG2)=h(kASl||TSURRG2)且h(k'URlc||TSURRG1)=h(kURlc||TSURRG1),则说明消息合法,并进行第五步;
第五步:CS生成一个随机数作为TIDURlc,并向ASl发送MsgURRG3
第六步:收到MsgURRG3后,ASl检查时间戳,若|TSURRG3-TSURRG4|>T0,则拒绝请求;反之,则利用本地K'ASl计算 得到URlc的凭证TIDURlc,kURlc,ATBURlc
计算h(K'ASl||TID'URlc||MID'URlc||k'URlc||ATB'URlc||TSURRG3),若h(K'ASl||TID'URlc||MID'URlc||K'URlc||ATB'URlc||TSURRG3)=h(KASl||TIDURlc||MIDURlc||kURlc||ATBURlc||TSURRG3),则说明消息合法,并进行第七步;
第七步:ASL向URlc发送MsgURRG4
第八步:收到MsgURRG4后,URlc检查时间戳,若|TSURRG4-TSURRG5|>T0,则拒绝请求;反之,则利用本地k'URlc计算得到TIDURlc;最后计算h(kURlc||TIDURlc||TSURRG4),若h(k'URlc||TID'URlc||TSURRG4)=h(kURlc||TIDURlc||TSURRG4),则说明消息合法,将TIDURlc存储于本地;
完成注册后,存储于URlc本地的凭证包括:IDURlc,kURlc,MIDURlc,ATBURlc,TIDURlc
会话密钥的认证和生成过程如下:
GW和ES的认证和密钥协商:
·Step GAKE1:GWlk向ASl发送MsgGAKE1
MsgGAKE1={h(kGWlk||TSGAKE1),TIDGWlk,TSGAKE1} (22)
·Step GAKE2:ASl收到MsgGAKE1后,首先检查时间戳,若|TSGAKE2-TSGAKE1|>T0,则拒绝请求;而后在本地查找TIDGWlk所对应的k'GWlk,运算h(k'GWlk||TSGAKE1),若h(k'GWlk||TSGAKE1)=h(kGWlk||TSGAKE1),则本消息合法,并进行Step GAKE3;
·Step GAKE3:ASl生成一个随机数KeyGA作为会话密钥;并生成一个随机数作为下一轮通信的临时ID;ASl向GWlk发送MsgGAKE2
·Step GAKE4:GWlk收到MsgGAKE2后,首先检查时间戳,若|TSGAKE3-TSGAKE2|>T0,则拒绝请求;而后通过计算得出/>通过计算/>得出KeyGA
而后计算则消息合法,将/>更新,并将KeyGA作为与ASl的通信密钥;
GW和GW之间的密钥协商:
在区块生成中,需要同一个AS下的GW之间进行PREPARE消息的传输以达成共识,此阶段需要GW之间两两建立会话密钥;在Step GGKE2中,由ASl根据本回合已建立的密钥来确认将包含GWlk的信息的消息发送至哪些GWln节点,并建立双方的会话密钥;在此阶段,每个GW均发送一次请求MsgGGKE1,ASl会根据先后来处理这些请求,直至没有新的符合要求的GWln为止;
·Step GGKE1:GWlk向ASl发送MsgGGKE1
MsgGGKE1={h(kGWlk||TSGGKE1),TIDGWlk,TSGGKE1} (24)
·Step GGKE2:ASl收到MsgGGKE1后,检查时间戳,若|TSGGKE1-TSGGKE2|>T0,则拒绝请求;反之,则确认TIDGWlk是否存在于自身的内存中,若不存在,则拒绝请求;而后,利用k'GWlk计算h(k'GWlk||TSGGKE2),若h(k'GWlk||TSGGKE2)=h(kGWlk||TSGGKE2)则消息合法;查看已经分配的KeyGG并决定本回合要与ASl建立通信密钥的目标网关节点GWln;分别为GWlk和GWln生成随机数作为下一次更新的临时ID,而后进行Step GGKE3;
·Step GGKE3:ASl向GWln发送MsgGGKE2
·Step GGKE4:GWln收到MsgGGKE后,检查时间戳,若|TSGGKE2-TSGGKE3|>T0,则拒绝请求;反之,在本地计算并得到h(IDGWlk||kASl),分别计算
计算若/> 则消息合法,将/>和h(IDGWlk||kASl)存储于本地,并进行Step GGKE5;
·Step GGKE5:GMln在本地生成S1作为二者之间KeyGG的一部分,并向GMln发送MsgGGKE3
·Step GGKE6:GMln收到MsgGGKE3后,检查时间戳,若|TSGGKE3-TSGGKE4|>T0,则拒绝请求;反之,在本地计算并得到S1,计算分别计算h(h(h(IDGWlk||kASl))||S1'||TSGGKE3)和/>若h(h(h(IDGWlk||kASl))||S1'||TSGGKE3)=h(h(h(IDGWlk||kASl))||S1||TSGGKE3)且则消息合法,将/>存储于本地;生成S2并计算KeyGG=S1⊕S2,将KeyGG存储于本地作为与GWln的通信密钥,而后进行Step GGKE7;
·Step GGKE7:GWlk向GWln发送MsgGGKE4
·Step GGKE8:GMln收到MsgGGKE4后,检查时间戳,若|TSGGKE4-TSGGKE5|>T0,则拒绝请求;反之,在本地计算并得到S2;计算若:
则消息合法,计算KeyGG=S1⊕S2,将KeyGG存储于本地作为与GWlk的通信密钥。
CN202210001906.XA 2022-01-04 2022-01-04 一种区块链在无线传感器网络边缘应用的认证密钥协议 Active CN114501440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210001906.XA CN114501440B (zh) 2022-01-04 2022-01-04 一种区块链在无线传感器网络边缘应用的认证密钥协议

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210001906.XA CN114501440B (zh) 2022-01-04 2022-01-04 一种区块链在无线传感器网络边缘应用的认证密钥协议

Publications (2)

Publication Number Publication Date
CN114501440A CN114501440A (zh) 2022-05-13
CN114501440B true CN114501440B (zh) 2024-02-09

Family

ID=81510580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210001906.XA Active CN114501440B (zh) 2022-01-04 2022-01-04 一种区块链在无线传感器网络边缘应用的认证密钥协议

Country Status (1)

Country Link
CN (1) CN114501440B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130042266A (ko) * 2011-10-18 2013-04-26 동서대학교산학협력단 무선 센서 네트워크를 위한 암호 및 스마트카드 기반의 사용자 인증방법.
CN109600747A (zh) * 2018-12-06 2019-04-09 电子科技大学 一种无线传感器网络动态凭证认证密钥协商方法
CN110099055A (zh) * 2019-04-29 2019-08-06 北京工业大学 基于轻量级区块链节点的物联网服务架构
CN110351381A (zh) * 2019-07-18 2019-10-18 湖南大学 一种基于区块链的物联网可信分布式数据共享方法
CN110445827A (zh) * 2019-06-06 2019-11-12 中国科学院上海微系统与信息技术研究所 基于分布式账本技术的传感网的安全管理方法及安全系统
CN110572800A (zh) * 2019-08-14 2019-12-13 中国人民解放军战略支援部队信息工程大学 面向机器到机器环境下设备身份认证方法及装置
CN111355745A (zh) * 2020-03-12 2020-06-30 西安电子科技大学 基于边缘计算网络架构的跨域身份认证方法
CN112073379A (zh) * 2020-08-12 2020-12-11 国网江苏省电力有限公司南京供电分公司 一种基于边缘计算的轻量级物联网安全密钥协商方法
WO2021084347A1 (en) * 2019-10-31 2021-05-06 nChain Holdings Limited Communication protocol using blockchain transactions
CN112887978A (zh) * 2021-02-24 2021-06-01 曲阜师范大学 Wsn中的匿名身份认证与密钥协商协议
CN112954680A (zh) * 2021-03-02 2021-06-11 西安电子科技大学 抗追溯攻击的无线传感器网络轻量级接入认证方法及系统
CN112954675A (zh) * 2021-03-02 2021-06-11 西安电子科技大学 多网关认证方法、系统、存储介质、计算机设备、终端
CN112953727A (zh) * 2021-03-02 2021-06-11 西安电子科技大学 一种面向物联网的设备匿名身份认证方法及系统
CN113286302A (zh) * 2021-05-01 2021-08-20 贵州大学 一种用于无线传感器网络蠕虫检测的基于区块链的节点身份认证方案

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10104545B2 (en) * 2016-11-02 2018-10-16 National Chin-Yi University Of Technology Computer-implemented anonymity authentication method for wireless sensor networks

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130042266A (ko) * 2011-10-18 2013-04-26 동서대학교산학협력단 무선 센서 네트워크를 위한 암호 및 스마트카드 기반의 사용자 인증방법.
CN109600747A (zh) * 2018-12-06 2019-04-09 电子科技大学 一种无线传感器网络动态凭证认证密钥协商方法
CN110099055A (zh) * 2019-04-29 2019-08-06 北京工业大学 基于轻量级区块链节点的物联网服务架构
CN110445827A (zh) * 2019-06-06 2019-11-12 中国科学院上海微系统与信息技术研究所 基于分布式账本技术的传感网的安全管理方法及安全系统
CN110351381A (zh) * 2019-07-18 2019-10-18 湖南大学 一种基于区块链的物联网可信分布式数据共享方法
CN110572800A (zh) * 2019-08-14 2019-12-13 中国人民解放军战略支援部队信息工程大学 面向机器到机器环境下设备身份认证方法及装置
WO2021084347A1 (en) * 2019-10-31 2021-05-06 nChain Holdings Limited Communication protocol using blockchain transactions
CN111355745A (zh) * 2020-03-12 2020-06-30 西安电子科技大学 基于边缘计算网络架构的跨域身份认证方法
CN112073379A (zh) * 2020-08-12 2020-12-11 国网江苏省电力有限公司南京供电分公司 一种基于边缘计算的轻量级物联网安全密钥协商方法
CN112887978A (zh) * 2021-02-24 2021-06-01 曲阜师范大学 Wsn中的匿名身份认证与密钥协商协议
CN112954680A (zh) * 2021-03-02 2021-06-11 西安电子科技大学 抗追溯攻击的无线传感器网络轻量级接入认证方法及系统
CN112954675A (zh) * 2021-03-02 2021-06-11 西安电子科技大学 多网关认证方法、系统、存储介质、计算机设备、终端
CN112953727A (zh) * 2021-03-02 2021-06-11 西安电子科技大学 一种面向物联网的设备匿名身份认证方法及系统
CN113286302A (zh) * 2021-05-01 2021-08-20 贵州大学 一种用于无线传感器网络蠕虫检测的基于区块链的节点身份认证方案

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种无线传感器网络用户认证与密钥协商协议;闫丽丽;张仕斌;昌燕;;小型微型计算机系统(第10期);全文 *
基于区块链的无线传感网络安全认证模型;樊爱京;孙泽军;潘中强;常新峰;孙亚南;吕乐乐;;平顶山学院学报(第05期);全文 *
无线传感器网络中基于共享密钥的互认证和密钥协商方案;郭琰;汪烈军;刘双;;中国科技论文(第08期);全文 *

Also Published As

Publication number Publication date
CN114501440A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
Zhang et al. A security architecture of VANET based on blockchain and mobile edge computing
CN112073379B (zh) 一种基于边缘计算的轻量级物联网安全密钥协商方法
Vivekanandan et al. BIDAPSCA5G: Blockchain based Internet of Things (IoT) device to device authentication protocol for smart city applications using 5G technology
KR101260188B1 (ko) 피어투피어 네트워크에 대한 분산 해시 테이블에서의 보안 노드 식별자 할당
CN112039870B (zh) 基于区块链的面向隐私保护的车载网认证方法及系统
CN112039872A (zh) 基于区块链的跨域匿名认证方法及系统
Yang et al. Blockchain-enabled tripartite anonymous identification trusted service provisioning in industrial IoT
Huang et al. An efficient signature scheme based on mobile edge computing in the NDN-IoT environment
CN114629720B (zh) 一种基于区块链和Handle标识的工业互联网跨域认证方法
CN112769568B (zh) 雾计算环境中的安全认证通信系统、方法、物联网设备
CN113014379B (zh) 支持跨云域数据分享的三方认证和密钥协商方法、系统和计算机存储介质
Srikanth et al. An efficient Key Agreement and Authentication Scheme (KAAS) with enhanced security control for IIoT systems
Erroutbi et al. Secure and lightweight HMAC mutual authentication protocol for communication between IoT devices and fog nodes
Li et al. Design and verification of secure communication scheme for industrial IoT intelligent production line system with multi-path redundancy and collaboration
US20220182243A1 (en) Method and Apparatus for Distributed Ledger
Mu et al. An identity privacy scheme for blockchain‐based on edge computing
Thirunavukkarasu et al. Elliptic curve cryptography based key management and flexible authentication scheme for 5G wireless networks
Duan et al. Design of anonymous authentication scheme for vehicle fog services using blockchain
CN114501440B (zh) 一种区块链在无线传感器网络边缘应用的认证密钥协议
Sahoo et al. An efficient three‐factor user authentication scheme for industrial wireless sensor network with fog computing
Hafeez et al. BETA-UAV: Blockchain-based efficient and trusted authentication for UAV communication
Srinivasan et al. XTRA—eXtended bit-Torrent pRotocol for Authenticated covert peer communication: Authenticated covert P2P communication
Rahman et al. Man in the middle attack prevention for edge-fog, mutual authentication scheme
Xu et al. When Web 3.0 Meets Reality: A Hyperdimensional Fractal Polytope P2P Ecosystems
Hamoud et al. A New Certificateless System Construction for Multiple Key Generator Centers to Secure Device-to-Device Communications.

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