一种区块链辅助的车联网安全认证方法

文档序号:29710244发布日期:2022-04-16 17:07阅读:511来源:国知局
一种区块链辅助的车联网安全认证方法

1.本发明涉及一种区块链辅助的车联网安全认证方法,以区块链技术为依托,旨在实现边缘车联网场景下云服务器、边缘节点、车辆三者之间的快速安全认证与密钥协商,以保证车联网设备的安全性与服务的可靠性,属于车联网安全应用技术领域。


背景技术:

2.随着5g时代的到来,车联网被认为是物联网中最具前景和应用价值的范例之一。借助先进的通信技术,车联网实现了车辆与车辆、基础设施、互联网等之间的信息共享与交换,进而建立了支持交通信息服务的一体化网络。在车联网系统中,车辆可以使用互联网提供的各种服务,如道路交通监控、紧急事件警报、云辅助自动驾驶等,这有助于提高交通效率,有效避免事故的发生。
3.由于车联网中包含较多实时性强的服务,这对通信时延和流量处理提出了更高要求。为了解决这一问题,移动边缘计算技术(mobile edge computing,mec)开始应用于车联网场景。相比于云服务器的集中式服务,边缘计算技术更接近用户侧或数据源,以减少网络通信延迟。一些延迟敏感型/位置感知型互联网服务有望部署在网络边缘(例如基站或路边单元),这有助于实现车辆请求的快速响应,同时也减轻了云服务器的负担,能够为用户提供更好的体验质量。
4.但是,边缘车联网在发展中面临一定的安全威胁与隐私问题。首先,攻击者可以通过冒充实体来进行中间人攻击,例如,恶意的攻击者可能会为伪造成边缘节点,向其服务车辆传送错误指令以恶意更改其运动轨迹,未经授权的车辆也可能尝试模拟合法订阅用户以免费使用互联网服务。其次,由于交换信息通过开放网络传输,恶意攻击者可以捕获、修改或伪造该信息。因此,在边缘车联网范式被广泛应用之前,亟需一个安全高效的身份验证和密钥协商方案。
5.身份认证,在保证车联网服务和设备的安全性方面起着重要作用。目前,存在一些面向边缘车联网应用场景的身份认证方法,主流方法包括两类:基于云服务器的认证方法和基于代理的认证方法。其中,在基于云服务器的认证方法中,车辆由云服务器进行认证,但将不可避免地引入网络通信延迟。由于网络本身具有很大的不确定性和波动性,此类技术方案无法满足自动驾驶等实时性服务的性能需求。在基于代理的认证方法中,会选择目标车辆附近的移动车辆作为其动态代理进行认证,但此类方法严重依赖目标车辆附近的车辆密度,且附近车辆同时也在高速移动,存在着失效风险。
6.随着比特币的诞生,区块链技术走进了大众的视野。作为一种分布式的可信账本,区块链具有去中心化、不可篡改、可追溯性、集体维护等一系列特性,保证了其公开透明的应用目标。
7.近年来,基于区块链的车联网认证技术,引起了技术人员的广泛关注。例如,wang等人提出了一种车联网的分散认证方案,利用区块链记录车辆认证相关信息,利用智能合约维护系统主体间的信任,但是,该方法需要不小的认证成本,且每次车辆认证都需要云的
参与,无法避免通信延迟;xu等人提出利用区块链进行身份管理来保护网络用户的识别信息,但是,其只能用于管理和验证用户身份,没有考虑车联网实体之间的有效身份验证;liu等人提出了一种基于动态代理的区块链辅助的组认证方案,借助区块链技术实现了代理车辆的信任管理,但是,其忽略了复杂共识算法对整体效率的影响。
8.综上所述,尽管区块链技术的引入为车联网身份认证提供了可靠的数据管理,但现有技术仍没有在安全和效率二者之间达到平衡。特别是在边缘车联网场景中,由于车辆具有高速移动特性,其可能会经常性地从一个边缘节点移动到另一个边缘节点,这导致了车辆与不同边缘节点之间需要频繁地进行重新认证。
9.因此,如何在确保安全的同时寻找一种高效的身份认证方法,以维持网络服务的连续性,成为亟待解决的技术问题。


技术实现要素:

10.本发明的目的是针对现有技术存在的不足,为解决车联网在确保安全的同时实现高效身份认证的技术问题,创造性地提出一种区块链辅助的车联网安全认证方法,尤其适用于对边缘车联网场景下的实体进行身份认证。
11.本发明的创新点在于:以椭圆曲线数字签名算法和椭圆曲线迪菲赫尔曼技术为基础,利用联盟链共享云服务器对车辆的认证结果,保证车联网实体间完成相互认证和密钥协商,抵御潜在的恶意攻击。同时,保证车联网服务不被中断,提高了用户的体验质量。
12.具体地,将车辆认证分为初始认证和重认证两个过程。车辆首次访问服务时,进入初始认证状态,车辆、边缘节点和云服务器之间通过特定交互,完成身份验证与密钥协商。不同的云服务器(提供不同的互联网服务)将身份验证结果写入与相应通道相关的不同区块链分类账中。当车辆在不同边缘节点切换时,车辆进入重新认证状态,新边缘节点从区块链分类账查询云服务器的验证结果,完成重新验证过程。上述过程无需云服务器参与,显著降低了加密计算开销,消除了互联网中的网络通信延迟。
13.本方法所应用的车联网系统,系统包括三类实体:云服务器s、边缘节点ε和车辆v。在相互认证过程中,实体要进行密钥生成、数字签名、数字签名验证等操作。将任意实体a生成的密钥对记为(s,p)形式,对内容str的签名记为siga(str),对签名的验证过程记为vera(sig),对实体b的认证结果记为ar
ab
。实体a、b均为代称,用于指代上述三类实体中的任一类实体。同时,引入联盟链作为其基本构件,共享云服务器对车辆的认证结果ar
sid
,并为每条车辆认证记录设置了生存时间ttl
sid
,其中,sid为车辆的服务标识号。联盟链为部署在边缘节点中的边缘服务器提供共识服务,利用联盟链内置的通道机制可以隔离不同的互联网服务。
14.一种区块链辅助的车联网安全认证方法,包括以下步骤:
15.步骤1:系统初始化。
16.在系统运行前,首先,云服务器对系统参数进行初始设置,包括:表示椭圆曲线有限域阶数的质数p,椭圆曲线参数a和b,椭圆曲线循环子群的生成元g,循环子群的阶n,以及相对于n的余因子cf。
17.然后,云服务器s使用系统参数,生成密钥对(sks,pks)。其中,私钥sks由s保留,不对外公开。同时,云服务器s选择一个密码哈希函数h,h∶{0,1}
*

{0,1}
*
。公钥pks与上述系
统参数一起对外公开。
18.步骤2:进行实体注册。包括边缘节点向云服务器进行注册、车辆向云服务器进行注册。
19.具体地,本发明给出一种步骤2的具体实现方法,包括以下步骤:
20.步骤2.1:边缘节点向云服务器进行注册。
21.虽然边缘节点由互联网服务提供商物理控制,但其在逻辑上属于云服务器。
22.在注册阶段,边缘节点ε使用云服务器s初始化的系统参数,生成密钥对(sk
ε
,pk
ε
),并将公钥pk
ε
传输给云服务器s。当收到公钥pk
ε
后,云服务器s对公钥pk
ε
进行签名,并将sigs(pk
ε
)发送回边缘节点ε,sigs(pk
ε
)表示云服务器s用其私钥sks对边缘节点ε的公钥pk
ε
加密所得数字签名。当边缘节点ε收到云服务器s对公钥的认可时,注册完成。
23.步骤2.2:车辆向云服务器进行注册。
24.车辆注册发生在其首次订阅云服务器s提供的互联网服务时。
25.在注册阶段,车辆v使用云服务器s设置的系统参数,生成密钥对(skv,pkv),并将公钥pkv发送至云服务器s。密钥对(skv,pkv)在云服务器s需要对车辆v进行身份认证时使用。
26.当步骤2完成后,云服务器s从边缘节点ε和车辆v分别接收到公钥pk
ε
和pkv,通过验证公钥对应私钥生成的签名,实现对实体的身份验证。
27.步骤3:认证与密钥协商。
28.在车辆访问服务之前,应用服务器(云服务器或边缘节点)对车辆进行身份验证。同理,为确保服务安全性,车辆在使用应用服务器提供服务之前,要对应用服务器进行认证。
29.本发明在身份认证和密钥协商过程中,分别利用椭圆曲线数字签名算法(ecdsa)和椭圆曲线迪菲赫尔曼(ecdhe)技术。为使认证和密钥协商能力下沉到边缘节点,本方法为车辆划分两种不同的认证状态,包括初始认证状态和重认证状态。不同的认证状态将会导致不同的实体交互行为。
30.具体地,本发明给出一种步骤3的具体实现方法,包括以下步骤:
31.步骤3.1:当车辆v首次访问其订阅的互联网服务时,车辆处于初始认证状态。具体如下:
32.步骤3.1.1:车辆v选择生成一个随机数sv,r表示实数,表示基于素数p构成的有限乘法群,计算公钥pv:
33.pv=sv·gꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
34.其中,g表示椭圆曲线的基点,即,循环子群生成元;sv作为针对边缘节点ε和云服务器s的挑战信息,其无法被二者获取,能够用于后续的密钥协商过程。然后,车辆v发送公钥pv、公钥pkv和服务请求sr给边缘节点ε。
35.步骤3.1.2:边缘节点ε生成一个随机数s
ε
,r表示实数,表示基于素数p构成的有限乘法群,并计算:
36.p
ε
=s
ε
·gꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
37.其中,p
ε
表示随机数s
ε
与椭圆曲线基点g相乘所得公钥,其用于后续会话密钥协商;s
ε
作为给云服务器s和车辆v的挑战信息,同样用于后续密钥协商过程。之后,边缘节点ε继
续计算:
38.c1=h(s
ε
·
pv·
pkv·
pk
ε
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
39.其中,结合式(1)可知,c1基于随机数s
ε
和sv导出,h()表示密码哈希函数,pk
ε
表示边缘节点的注册公钥。
40.之后,边缘节点ε发送服务请求sr、函数值c1和pv给云服务器s。
41.步骤3.1.3:云服务器s生成一个随机数ss,r表示实数,表示基于素数p构成的有限乘法群,然后计算:
42.ps=ss·gꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
43.其中,ps表示随机数ss与基点g的相乘所得公钥,其用于后续会话密钥协商。ss作为针对车辆v和边缘节点ε的挑战信息,同样用于后续密钥协商流程。之后,云服务器s对消息c1进行数字签名,产生sigs(c1)。最后,云服务器s将计算所得ps与签名sigs(c1)发送到边缘节点ε。
44.步骤3.1.4:当收到云服务器s发送的消息后,边缘节点ε利用云服务器s的公钥对数字签名进行验证,执行ver
ε
(sigs(c1))来验证云服务器s身份的真实性,ver
ε
(sigs(c1))表示边缘节点ε利用云服务器公钥pks对其数字签名sigs(c1)进行解密,验证消息c1。如果验证通过,边缘节点生成认证结果ar
εs
,并计算:
45.c2=h(s
ε
·
ps)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
46.最后,边缘节点ε生成对pv的数字签名sig
ε
(pv),并将c2、ps、p
ε
、sig
ε
(pv)和sigs(c1)发送给车辆v。
47.步骤3.1.5:车辆v计算消息c
′1:
48.c
′1=h(sv·
p
ε
·
pkv·
pk
ε
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
49.然后,车辆v分别执行verv(sigs(c1))和verv(sig
ε
(pv))操作,verv(sigs(c1))表示车辆v用云服务器公钥pks对其数字签名进行解密,验证消息c1,确定云服务器s的真实性;verv(sig
ε
(pv))表示车辆v用边缘节点ε公钥pk
ε
对其数字签名进行解密验证,确定边缘节点ε身份的真实性。如果验证均通过,车辆v将生成认证结果ar
vs
和ar

。ar
vs
表示车辆v对云服务器s的认证结果,ar

表示车辆v对边缘节点ε的认证结果,值为1代表成功认证。
50.之后,车辆v以消息c2作为输入,产生签名sigv(c2),并发送ar
vs
、ar

和签名sigv(c2)给边缘节点ε。
51.步骤3.1.6:边缘节点ε对签名sigv(c2)进行验证,执行ver
ε
(sigv(c2))操作,ver
ε
(sigv(c2))表示边缘节点ε用持有的车辆公钥pkv对数字签名进行解密,对消息c2进行验证,从而实现对车辆v的认证。
52.如果通过,边缘节点ε将生成认证结果ar
εv
,ar
εv
表示边缘节点ε对车辆v的认证结果,值为1代表成功认证。最后,边缘节点ε产生签名sig
ε
(ps),发送ar
vs
、ar
εs
、签名sig
ε
(ps)和签名sigv(c2)给云服务器s。
53.步骤3.1.7:在获得车辆v和边缘节点ε的认证后,云服务器s首先计算
54.c
′2=h(ss·
p
ε
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
55.然后,云服务器s执行vers(sigv(c2))和ver
ε
(sig
ε
(ps))操作以分别验证v和ε身份的真实性。认证成功后,s生成认证结果ar
sv
和ar


56.步骤3.1.8:云服务器s将对车辆的认证结果记录到区块链分类账中。云服务器s首
先生成一个服务标识sid,并将sid作为键,ar
sid
|pv|ps|ttl
sid
作为值的记录写入到区块链中,ttl
sid
表示记录的生存时间。
57.其中,ar
sid
存储的是云服务对车辆的认证结果,其等同于ar
sv
。最后,云服务器s发送ar

,ar
sv
和sid给边缘节点ε。边缘节点ε将积累的认证结果ar
εv
和ar
sv
,以及sid转发给车辆v。
58.至此,车联网的三个实体之间完成了相互认证,并收到了肯定的认证结果。
59.步骤3.2:初始认证密钥协商。
60.为实现任意两个实体间能够协商三组独立会话密钥,本发明对身份认证过程中的交换消息进行了特殊设计。
61.实际上,在认证结束时,每个实体已经持有密钥协商的必要信息。当实体接收认证成功消息后,便利用现有信息进行密钥计算。
62.具体地,车辆v本身拥有自己的私钥sv,并已获取边缘节点ε产生的p
ε
以及云服务器s的ps,通过计算,车辆v得到会话密钥sk1和sk3,sk1=sv·
p
ε
=sv·sε
·
g,会话密钥sk3=sv·
ps=sv·ss
·
g。同样,边缘节点ε随机生成自己的私钥s
ε
,并已获取车辆v的pv以及云服务器s的ps,计算得到会话密钥sk
′1=s
ε
·
pv=sv·sε
·
g和会话密钥sk2=s
ε
·
ps=s
ε
·ss
·
g。
63.云服务器s则是随机生成了自己的私钥ss,并已获取车辆v的pv以及边缘节点ε的p
ε
,计算得到会话密钥sk
′2=ss·
p
ε
=ss·sε
·
g和会话密钥sk
′3=ss·
pv=ss·
sv·
g。
64.在上述所得的会话密钥中,有sk1=sk
′1,sk2=sk
′2,sk3=sk
′3。其中,sk1为车辆v和边缘节点ε计算所得,不能被云服务器s获取,能够用于车辆v和边缘节点ε之间的加密通信。同理,密钥sk2能够用于ε和s之间的加密通信,密钥sk3能够用于v和s之间的加密通信。
65.当原文数据m
plain
是敏感的(比如个人设置、浏览历史等),云服务器s首先使用密钥sk3将m
plain
加密,得到密文m
cipher
,并进一步用密钥sk2将密文m
cipher
加密成m

cipher
。最终,云服务器s将m

cipher
发送给边缘节点ε。
66.步骤3.3:当移动的车辆从边缘节点ε切换到另一个边缘节点ε

所辖范围时,车辆需要再次请求服务,进入重新认证状态。
67.进一步地,为了减少计算开销并快速响应车辆,本发明将重新认证过程转换为对区块链通道账本的查询,具体方法如下:
68.步骤3.3.1:车辆v准备好初始认证过程中获得的服务标识sid(由s产生),并生成随机数rv,并发送服务请求sr、服务标识sid和随机数rv给边缘节点ε


69.步骤3.3.2:当收到sr和sid后,边缘节点ε

以sid作为查询键值,查询通道账本。如果车辆v在初始认证时接受过云服务器s的认证,则认证结果将会写入通道账本,查询的智能合约会返回ar
sid
、pv、ps和ttl
sid
。如果ar
sid
的值为“1”并且ttl
sid
的值大于“0”,则表明车辆v已经通过了云服务器s的认证且认证结果仍处于有效状态。此时,边缘节点ε

将ttl
sid
的值减1,并把新值更新回通道账本。否则,说明车辆v不处于有效认证状态,边缘节点ε

将终止通信,车辆v需要切换回初始认证状态,并由云服务器s重新对其进行身份认证。
70.步骤3.3.3:边缘节点ε

对rv进行签名,生成sig
ε

(rv)。之后,其生成一个随机数s
ε

,然后计算:
71.p
ε

=s
ε

·gꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
72.其中,p
ε

表示随机数s
ε

与椭圆曲线基点g的乘积,用于后续密钥协商。
73.之后,边缘节点ε

将ar
sid
、p
ε

、签名sig
ε

(rv),以及它的注册公钥pk
ε

和云服务器s对公钥的签名sigs(pk
ε

)发送给车辆v。
74.步骤3.3.4:车辆v执行verv(sigs(pk
ε

))操作,验证边缘节点ε

公钥pk
ε

的有效性。verv(sigs(pk
ε

))表示车辆v利用云服务器公钥pks,对其数字签名sigs(pk
ε

)进行解密,验证pk
ε


75.在公钥具备有效性的情况下,车辆v执行verv(sig
ε

(rv))操作,verv(sig
ε

(rv))表示车辆利用边缘节点ε

公钥pk
ε

,对数字签名sig
ε

(rv)进行解密验证,以确定边缘节点ε

身份的真实性。如果验证通过,车辆v生成对边缘节点的认证结果ar


,并将结果发送至边缘节点。
76.如果边缘节点ε

需要和云服务器s进行通信,则ε

和s之间会额外进行“挑战-应答模式”的双向认证。此时,ε

不需要重新生成新的挑战信息,p
ε

和ps都能够被重用。
77.步骤3.4:重认证密钥协商。
78.车辆v和边缘节点ε

之间完成相互认证过程后,将通过必要信息重新建立各实体间的会话密钥。
79.具体地,车辆v拥有私钥sv,并且已经从边缘节点ε

获取了p
ε

,车辆v计算会话密钥sk4=sv·
p
ε

=sv·sε

·
g。而ε

拥有私钥s
ε

,并从通道账本处查询到了pv以及ps,因此,ε

能够计算会话密钥sk
′4=s
ε

·
pv=s
ε

·
sv·
g和sk5=s
ε

·
ps=s
ε

·ss
·
g。同理,云服务器s拥有私钥ss,能够获取ε

的公钥p
ε

并计算出会话密钥sk
′5=ss·
pv=ss·sε

·
g。sk4=sk
′4,用于车辆v和ε

的加密通信,而sk5=sk
′5,用于ε

与s之间的加密通信。
80.需要注意的是,步骤3.2中的会话密钥sk3依然能够用于车辆v和云服务器s之间的加密通信。
81.至此认证流程结束。
82.本发明结合区块链技术,通过新颖的认证过程设计,在新边缘节点ε

在对车辆v的重认证过程中,避免了云服务器s的参与,消除了网络通信的延迟,从而实现了高效认证。
83.有益效果
84.本发明,对比现有技术,具有以下优点:
85.1.本发明对认证的交互过程进行了专门设计,在车辆、边缘节点和云服务器之间实现了安全的相互认证。同时,认证过程中协商了三组独立的会话密钥,保证了系统的安全性与可靠性。
86.2.本发明利用联盟区块链共享身份验证结果,将重认证过程转为了对区块链的查询操作,显著降低了加密计算开销,消除了与云服务器通信引入的身份验证延迟。联盟区块链的防篡改特性保证了身份验证结果的完整性,通道机制则可以实现应用隔离,从而支持多种互联网服务。
87.通过实验与分析表明,本发明能够在边缘车联网场景下安全高效地完成车辆认证,保证了车联网服务的连续性与可靠性。
附图说明
88.图1是本发明方法在车联网场景下应用的总体架构;
89.图2是本发明方法在初始认证状态下的认证和密钥协商流程;
90.图3是本发明方法在重认证状态下的认证和密钥协商流程;
91.图4是本发明方法在车辆认证时的时延变化。
具体实施方式
92.下面结合附图和实施例对发明做进一步详细说明。
93.应当指出,本发明的实施不限于以下实施例,对本发明所做任何形式上的变通或改变将落入本发明保护范围。
94.实施例1
95.本实施例建立了本发明一种区块链辅助的高效车联网认证方法在边缘车联网场景中的具体应用,如图1所示。通过实验分析,体现了本发明的高效性。
96.图1描述了车联网的认证场景。车联网主要由云服务器,边缘节点以及高速移动的车辆组成。其中,云服务器由互联网内容提供商控制,处于较远位置。由于云服务器需要不断地提供优质的服务以获取利润,它倾向于识别合法授权的边缘节点和用户以避免财产损失。边缘节点是靠近车辆的实体,通常沿着道路分布,在边缘计算架构中,最接近车辆的边缘节点提供直接服务以实现最短的响应延迟。其逻辑上属于互联网内容提供商,物理上由互联网服务提供商进行部署,在虚拟化技术的帮助下,每个边缘节点可以同时支持多个虚拟边缘服务器,其中每个边缘服务器都可以分配给一个服务。例如,边缘节点可以由边缘服务器(由云服务器部署)和4g-lte体系结构中的基站组成。车辆则是典型的用户终端,它是消费者在车联网中享受其订阅的互联网服务的平台。此外,联盟链由互联网服务提供商作为基础服务提供,由边缘节点和云服务器共同维护。借助智能合约,云服务器在区块链上对车辆认证结果进行记录,边缘节点对其进行查询与更新。在联盟链中,每个对等节点都具有不同通道帐本的本地副本,以支持不同的服务。
97.场景中包含了i2i与v2i两种链路。其中,i2i代指边缘节点和云服务器之间的网络通信,为衡量二者之间的通信时延,选择alexa中访问量排名前10k的热门网站作为云服务器,计算出与云服务器交互的平均往返时间为184.43ms(毫秒)。v2i代指车辆与基础设施(如基站)之间的信息通路,目前常用lte协议进行通信,随着5g网络的部署将该通信时间控制为1ms。
98.依托图1所述模型,具体实施本发明方法时,包括如下步骤:
99.步骤1:在系统投入运行之前,云服务器s对系统参数进行初始设置。本发明以椭圆曲线加密算法为基础实现,系统需要对该密码体制的相关参数p,a,b,g,n,以及cf进行设置。之后,云服务器产生私有密钥sks(sks《n),并利用基点g计算公开密钥pks=sks·
g,生成密钥对(sks,pks)。私钥sks由s保留,不对外公开。s还需选择一个密码哈希函数:h∶{0,1}
*

{0,1}
*
。公钥pks与上述系统参数提供对外公开的接口。具体实施时,系统选择采用椭圆曲线secp256r1,密钥大小设置为256位长度。
100.步骤2:在车联网认证进行之前,试图加入系统的边缘节点ε以及车辆都需要向可靠的云服务器进行实体注册。具体实施时,边缘节点与车辆利用椭圆曲线相关参数分别生
成密钥对(sk
ε
,pk
ε
)与(skv,pkv),并将公钥发送给s存储。特别的,对于许可的边缘节点,s还将会对其公钥进行签名并将sigs(pk
ε
)发送回ε,以表示对公钥有效性的认可。
101.步骤3:系统运行时,已注册车辆可以向其所在区域的边缘节点发送服务请求,以访问车联网提供的服务。
102.图2展示了当车辆初次访问某服务时,车辆、边缘节点与云服务器之间的初始验证过程。具体到本实施例,实体操作与消息传递按照发明内容中步骤3.1提供的认证流程严格进行。利用注册阶段产生的密钥对,各实体通过对其他实体的数字签名进行验证以确定其身份,车辆认证通过后,云服务器将认证结果ar
sid
的值设为1,并以sid为键,把内容ar
sid
|pv|ps|ttl
sid
通过智能合约写入到对等节点维护的通道账本中。数字签名与验证过程基于escda进行,根据iso/iec 9798-3标准中所述,挑战信息应该包含时变参数,在本发明中,认证过程中随机产生的随机数sv,s
ε
与ss即为时变参数,并最由此导出最终的挑战信息。此外,随机数sv,s
ε
与ss还被用于协商会话密钥,该过程基于ecdhe设计实现。
103.步骤4:在服务过程中,车辆将在边缘节点间进行切换,此时触发重认证过程,边缘节点通过对区块链的查询实现对车辆的认证。
104.图3展示了车辆与边缘节点之间的重认证过程。具体到本实施例,实体操作与消息传递将按照发明内容中步骤3.3严格执行。其中,当边缘节点执行查询操作时,其使用链码从通道账本读取一次数据,并更新ttl
sid
并写入到通道账本。
105.对上述步骤进行分析,提取方案中占据主要部分的耗时密码操作,并将本发明所述方法与基于云服务器的认证方法rcom和基于车辆代理的认证方法ecbpa进行对比,提取结果记录在表1中。点乘法,标量乘法,乘幂和双线性配对运算分别标记为pm,sm,exp和pair,在实际测试中,pair花费的时间最多,其次为exp和pair。
106.表1方案中较为耗时的密码学操作对比
[0107][0108]
从表1可以看出,当车辆保持在初始认证状态时,本发明操作耗时应少于rcom,但多于ecbpa。而当车辆处于重认证状态时,本发明计算次数较少,计算开销将远少于其他两种方案。考虑到车辆重认证的次数远大于初始认证次数,本发明在时间效率上优于其他两种方案。
[0109]
为对上述理论分析进行实验验证,对各验证方案的总时间成本进行了比较。具体到本实施例,模拟执行了车辆、边缘节点、云服务器认证时的相关操作,并在台式机上的vmware workstation 15 pro上构建ubuntu16.04.05虚拟机,搭建了多个对等节点(使用fabric1.3联盟链架构作为区块链底层平台)。实验对每个方案进行了50次测试,将其平均时间成本记录在表2中。方案总时间开销由车辆、边缘节点、云服务器时间开销和网络通信延迟时间组成。rcom和ecbpa方法初始认证和重认证过程相同。
[0110]
表2不同方案时间开销对比(单位:ms)
[0111][0112]
分析表2中给出的实验数据,由于本发明在初始认证过程中包含两次与云服务器的交互,因此该阶段时间开销较高。但是,当车辆进入重认证过程后,边缘节点将从区块链账本读取身份验证结果。该过程无需云服务器的参与,这显著降低了身份验证的时间成本。实验结果表明,本发明重认证阶段总时间约为ecbpa的一半,rcom的四分之一,远优于这两种方案。
[0113]
此外,表2中实体计算操作的执行时间与表1中给出的理论分析一致,验证了实验的正确性。以重认证阶段为例,车辆与边缘节点都只承担了较少的sm操作,因此其计算时间消耗最少。
[0114]
在边缘物联网场景具体实施时,处于高速移动的状态车辆将多次从一个边缘节点的服务区域切换到另一个边缘节点,这导致了重认证的频繁发生。为评估在上述情况下的本发明的性能,图4以车辆经过的边缘节点数量为自变量,跟踪了该过程下车辆认证消耗的累积时间,并与rcom和ecbpa方法进行了对比。如图4所示,与其他方法相比,本发明在认证过程中消耗的时间最少。这是因为每次车辆切换边缘节点区域时,rcom和ecbpa都必须忍受网络通信延迟,而本发明只需要查询区块链以完成重新认证过程,而无需与云服务器交互。随着车辆经过边缘节点数量的增加,本发明的优势变得更加显著。这说明本发明能够缩短身份验证的时间延迟,从而确保车联网服务的连续性。
[0115]
实施例2
[0116]
本实施例是对本发明所述方法中联盟链的时间开销进行评估,验证区块链的可扩展性。本发明以联盟链为基本组件,利用联盟链共享身份认证结果,将重认证过程转为了对通道账本的查询与更新。通过调用链码,可以实现对区块链的读取与写入操作。
[0117]
表3区块链引入的延迟(单位:ms)
[0118][0119]
具体到本实施例,实验使用fabric-samples中的first-network搭建联盟链网络,并设置batchsize=0.05s(秒)。此外,实验逐步扩大网络的规模,将对等节点从4个增加到16个,对应的区块链延迟结果如表3所示。由于每个对等节点都维护了对应通道帐本的本地副本,链码读取操作本质上相当于从本地文件读取数据。表3显示,链码读取时间消耗约为
76ms,并以小幅度波动,对等节点的增加对区块链的查询操作并不会造成显著的影响。
[0120]
同时,经实验显示,随着对等节点数量的增加,链码写入的时间消耗也会增加,这是因为全网达到全局共识状态需要更多时间消耗。但写入时间对重认证时间消耗没有影响,具体原因如下:一个边缘节点的覆盖范围通常在300-1000m(米),若一辆车辆以160千米每小时的高速状态运行(超过大多数国家的高速公路速度限制),车辆在该边缘节点范围内最短持续时间为300m/(160000m/36000s)=6.75s。这意味着当车辆完成边缘节点间的区域切换时,前一次重认证过程中身份验证记录的更新已经达到了全局共识状态。因此,在重认证过程中,只需考虑一次本地文件的链码读取成本,随着服务移交次数的增加,时间效率得以提升。综上,本发明可以在区块链中使用不同数量的对等节点来保持其性能。
[0121]
实施例3
[0122]
本实施例将本发明所述方法在车辆网场景下应用的通信开销与其他方法进行对比,说明本发明的通信开销优于其他方法。
[0123]
表4通信开销对比(单位:字节)
[0124][0125]
具体实施时,分别统计了本发明方法在初始认证以及重认证过程中车辆、边缘节点与云服务器分别发送的字节数,并将其与rcom与ecbpa两种方法进行了对比,具体统计结果汇总如表4所示。
[0126]
在初始身份验证状态下,云服务器发送出ps,sigs(c1),ar

,ar
sv
和sid,共计162字节。边缘节点发送sr,c1,pv,c2,ps,p
ε
,pk
ε
,sig
ε
(pv),sigs(c1),ar
sv
,ar
εs
,ar
vs
,sig
ε
(ps),sigv(c2),ar
εv
和sid,共计677字节。车辆发送sr,pv,pkv,ar

,ar
vs
和sigv(c2),共计195字节。当车辆处于重认证状态时,边缘节点发送ar
sid
,pk
ε

,p
ε

,sig
ε

(rv)和sigs(pk
ε

),共计257字节。车辆发送sr,sid,rv和ar
ε

,共计66字节。云服务器不参与车辆的重认证过程,因此并没有网络通信开销。在rcom中,车辆、边缘节点(文献中的ru
ι
)和云服务器分别消耗876字节,268字节和602字节。在ecbpa中,车辆、边缘节点(文献中的ecvi)和云服务器(文献中的ta)分别消耗524字节,424字节和160字节。
[0127]
与另外两种方法相比,本发明在两种认证状态下都具有最小的通信开销。其中,本发明的优势着重体现在重认证过程中,因为频繁的重认证过程可以大大减少实体之间发送的数据总量,尤其减轻了认证过程中车辆侧的沉重负荷,如表4所示,车辆侧通信开销从rcom的876字节或ecbpa的524字节减少到本发明的66字节。
[0128]
以上所述结合附图和实施例描述了本发明的实施方式,但是对于本领域技术人员来说,在不脱离本专利原理的前提下,还能够做出若干改进,这些也视为属于本专利的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1