2. 网络通信与安全紫金山实验室, 南京 211189;
3. 东南大学 信息科学与工程学院, 移动通信国家重点实验室, 南京 211189
2. Purple Mountain Laboratories, Nanjing 211189, China;
3. National Mobile Communications Research Laboratory, School of Information Science and Engineering, Southeast University, Nanjing 211189, China
随着车联网(Internet of vehicles,IoV)的蓬勃发展,人们希望联网的车辆能够为公众提供更安全、更环保和更方便的运输系统[1]。在车联网环境中,车辆行进过程中很有可能要与多个边缘服务器(edge server,ES)进行信息交互,于是车辆上的车载服务器(car server,CS)需要与ES快速建立连接,这就需要过程简单且延时较小的认证过程。本文提出了一种身份验证机制,在进行卸载决策之前,ES和CS需要先通过双方之间的身份验证机制(edge server-car server authentication mechanism,ECAM)来确定通信双方的合法身份。ECAM身份验证机制能够确认通信双方的合法身份,且验证方式较为简单,造成的延时较小。ES和CS进行身份验证之后,CS再根据ES的覆盖范围、需要处理的任务量、ES的处理能力、车辆的行驶速度和ES的上传速度来确定任务的分块数量,然后车辆在每一次卸载子任务块时都要依据上述因素再决定任务的处理方式。
1 相关工作近年来,MEC的计算卸载引起了人们的很多关注,Mach等[1]对移动边缘计算进行了全方位地总结。MEC技术是未来通信发展的重要工具,其在移动互联网、物联网、大数据应用、无人驾驶等领域应用范围十分广泛[2-4],车联网是现今研究者们十分感兴趣的研究课题之一[5]。研究需要首先建立一个计算模型,Li等[6]建立的车辆行驶模型具有很好的普适性。研究人员还研究了不同场景下移动边缘计算的应用[7-8],并且分析了该技术的一些局限性[9]。选择合适的卸载方式也很重要,许多研究人员都注重了多种处理方式的结合,Adiththan等[10]对边缘计算中固有的数据安全性、隐私威胁、保护技术以及对策进行了全面分析,提出了MEC技术中需要解决的安全性问题。还有一些研究人员[11-13]研究了MEC系统中的攻击模型,重点是移动卸载和缓存过程。在车联网环境中,还有一些文章的重点在于使用了强化学习(reinforcement learning,RL)或机器学习的方法确保通信安全[14-16]。
2 问题陈述 2.1 系统模型本文主要考虑一个单向的公路模型,如图 1所示,一条长度为D的直线型公路,公路旁布置了n个公路边单元(road side unit,RSU),每个RSU连接一个ES,并且相邻2个RSU之间的距离为L,每个ES的作用范围也为L。每个ES都可以在其作用范围内给车辆提供卸载服务,路上的每一辆车都可以被一个ES覆盖。
![]() |
图 1 系统模型示意图 |
由于行驶中车辆的高速移动,车辆可以在任务卸载过程中通过多个ES的覆盖范围。如果车辆选择一次性将所有需要卸载的任务发送至ES,而车辆在ES处理任务的时间内通过了多个ES的覆盖范围,那么ES之间切换的能耗就无法避免。而如果将车辆需要卸载的任务进行预处理,即将任务进行分块,保证在ES处理任务期间内车辆行驶的距离并没有超过当前ES的作用范围,那么就可以避免ES之间切换带来的大量能耗。需要注意的是,车辆本身也具有一定的任务处理能力。CS处理任务会省去传输能耗,但是CS处理相同数量的任务所需要的时间会比ES要多。
2.2 ECAM认证过程和数据传输如果车辆移动到另一个ES的覆盖范围,则需要进行验证。假设所有ES共用一个加密密钥KES,车上的CS也有加密密钥Kshare,并且在车辆进入该路段之前,CS和ES之间共享了KES和Kshare。
1) 车辆上的CS先产生一个临时交互号NCS,然后用密钥KES将CS自身的标识IDCS、上一个ES的标识IDESi-1和产生的临时交互号NCS加密。同时CS还发送了一个消息认证码(message authentication code,MAC),MAC是消息和密钥的函数,在这里MAC是密钥Kshare和消息NCS、IDCS、IDESi-1的函数。最后CS将上述消息发送给ESi。
2) ESi收到CS发出的加密块和MAC之后,ESi首先用Kshare解密CS发出的加密块,得出NCS、IDCS和IDESi-1,然后再用KES和得出的消息生成MAC,最后将自己生成的MAC与CS发出的MAC进行比较。如果这2个MAC相同,则进行下一步。
3) ESi首先产生了一个临时交互号NESi,用Kshare将NCS、NESi、IDESi、ESi的位置LocationESi和ES的覆盖范围L加密,然后用密钥KES和上述消息生成了MAC,最后将上述消息发送给CS。
4) 与步骤2)类似,CS先用Kshare解密ESi发出的加密块,得出NCS、NESi、IDES、LocationESi、L,确定CS发出的NCS是否正确。然后再比较MAC,如果NCS的值没有改变,MAC也一致,则用2个临时交互号NESi和NCS相异或产生会话密钥KS。
5) CS首先用变换函数f对ESi发出的NESi进行变换,再用会话密钥Ks加密,最后将加密后的消息发送给ESi,这一步骤同样需要生成MAC来验证消息的完整性。
6) ESi首先用同样的方法生成会话密钥KS,然后用会话密钥KS解密从而得出临时交互号NESi,判断临时交互号NESi是否一致。如果临时交互号NESi没有改变,CS和当前的ES就可以进行数据传输。
车辆上的CS和ES进行身份验证之后,CS和ES之间的数据传输如图 2所示。
![]() |
图 2 认证协议流程交互 |
7) 当CS和ESi之间确认对方的合法身份之后,ESi会发送给CS一个Success信号,表示CS可以进行数据传输。
8) CS首先将需要处理的任务分为p个子任务块(分块方式见节4),并且在每一个子任务块被处理之前,CS都要判断该子任务块的处理方式(判断方法见节4)。CS将需要发送至ESi处理的数据用会话密钥KS加密后再发送至ESi,ESi将处理完成的子任务块再发送回CS,同时要生成MAC来验证消息的完整性。
3 关键技术 3.1 ES和CS间协同作用ES处理和CS处理是2种重要的任务处理方式,合理地将这2种方式结合起来可以减少卸载时间和卸载能耗。首先判断车辆的行驶方向,然后根据车辆的行驶速度、所在位置和需要处理的数据量来判断该车辆处理任务的方式。为此,本文设定了一个位置范围,防止车辆在ES处理任务期间行驶超过该ES的作用范围。如果车辆处于该范围之内,则将任务卸载到该区域的ES,否则CS处理任务。确定该位置范围的方法如图 3所示。
![]() |
图 3 确定位置范围 |
由图可知,假设车辆开始卸载任务时到目标ES的距离为y,此时车辆到目标ES覆盖边缘的距离为
$ \left(\frac{M}{\gamma_{\text {upload }}}+\frac{M}{\gamma_{\mathrm{ES}}}\right) \times v_{\text {vehicle }} \leqslant \frac{L}{2}-y. $ | (1) |
其中: vvehicle为车辆行驶的速度,γupload为车辆每秒上传的数据量,γES为ES每秒能够处理的数据量,M为总任务量。
由式(1),最终可以得出:
$ y \leqslant \frac{L}{2}-\left(\frac{M}{\gamma_{\text {upload }}}+\frac{M}{\gamma_{\mathrm{ES}}}\right) \times v_{\text {vehicle }}. $ | (2) |
可以得出结论:如图 3所示,假设车辆此时行驶方向向右,如果车辆处于
将需要处理的任务分成若干个子任务块,每个子任务块都是独立的。根据车辆所处的位置,需要决定每一个子任务块的处理方式。在本文提出的系统模型中,需要处理的任务量为M,每一个子任务块的数据量为m,在行驶过程中,车辆依次处理子任务块。因此,在每一个子任务块被处理之前,都需要判断当前车辆的位置,从而进一步决定任务的处理方式。
本文将需要处理的任务平均分成p块,每个子任务块之间是相互独立的。
$ T_{\max } \cdot v_{\text {vehicle }} \leqslant k\left(\frac{L}{2}+y\right). $ | (3) |
其中:k是一个系数,0≤k≤1;Tmax被定义为当车辆刚刚到达当前ES作用范围时进行任务卸载时所用的时间,即:
$ T_{\max }=\frac{\frac{M}{p}}{\gamma_{\text {upload }}}+\frac{\frac{M}{p}}{\gamma_{\mathrm{ES}}}. $ | (4) |
综上所述,任务分块数p需要满足的条件为
$ p \geqslant \frac{M \cdot v_{\text {vehicle }}\left(\frac{1}{\gamma_{\text {upload }}}+\frac{1}{\gamma_{\mathrm{ES}}}\right)}{k\left(\frac{L}{2}+y\right)} . $ | (5) |
卸载算法中的卸载时间和卸载能耗为每一个子任务块的时间和能耗的总和,即:
$ T=\sum\limits_{k=1}^{p} T_{k}, $ | (6) |
$ E=\sum\limits_{k=1}^{p} E_{k}. $ | (7) |
这里假设CS与ES的第一次认证已经完成,卸载算法的伪码如表 1所示,流程如图 4所示。
卸载算法伪码 | |
1:根据式(3)确定任务分块数p; 2:for k=1∶p 3: 确定卸载子任务mk时车辆所处的位置Xk; 4: 选择距离车辆最近的ES; 5: if需要重新与ES进行身份验证 6: 时间Tk中增加验证的时间; 7: else 8: 时间Tk中不用增加验证的时间; 9: end if 10: if Xk处于需要ES卸载的范围之内 11: 将子任务块mk发送至该ES进行处理; 12: 计算时间Tk和能耗Ek; 13: else 14: CS处理子任务块mk; 15: 计算时间Tk和能耗Ek; 16: end if 17:end for 18:计算总卸载时间T和总卸载能耗E |
![]() |
图 4 算法流程图 |
4 安全性分析
1) 机密性:ES和CS通过握手过程中产生的随机数协商出会话密钥,该会话密钥具有前向安全性和后向安全性,能够在随机预言模型中确保只有通信双方能够获得会话密钥,能够抵抗若干数量的恶意攻击者的攻击行为并保证安全性。
2) 完整性:消息和MAC一起被发送给接收方。接收方对收到的消息用相同的密钥K进行相同的计算,得出新的MAC,并将收到的MAC与计算出的MAC进行比较。这种方法不仅可以防止重放攻击,还可以防止数据不会遭到延迟、重排、删除等攻击,从而保证了数据安全传输的完整性需求。
3) 认证性:在协议初始化阶段,ES和CS已经共享了双方的密钥,CS发送一个挑战信息,包含CS的身份信息和随机数,用共享的密钥加密,且CS确定该信息只有B才能解密。ES通过解密确定只有CS能够发送该消息,随之向CS发送一个应答信息,ES确定只有CS才能解密。CS通过解密确定只有ES能够发送该消息,从而实现对双方身份的认证。
4) 防止重放攻击:防止重放攻击的方法是为每一个用于认证交互的消息附上一个序列号,新的消息只有其序列号满足适当的顺序时才会被接收。这种方法的难点是要求每一方都跟踪与其交互的通信方最新的序列号。考虑到开销问题,序列号基本上不会用于认证和密钥交换。例如,A想要一个来自B的新消息,首先发给B一个临时交互号(询问),并要求B收到的消息(回复)包含正确的临时交互号值。节4的ECAM认证过程中所有的步骤都用到了临时交互号。在步骤1)到步骤4)中,CS产生的临时交互号NESi和ESi产生的临时交互号NCS的目的都是确认对方合法身份和检测是否发生了重放攻击。在步骤4)中,CS和ESi之间的会话密钥KS是通过临时交互号NESi和NCS异或产生的,这种方法既保证了认证过程中没有受到重放攻击,又保证了只有合法的通信双方才可以获得会话密钥。
5 系统分析 5.1 卸载能耗本文提出的卸载算法的主要目的就是最小化能耗E,能耗由以下4部分组成,即:
$ E=E_{\text {authentication }}+E_{\text {upload }}+E_{\text {download }}+E_{\text {process }} . $ | (8) |
其中: Eauthentication为卸载任务之前通信双方进行身份认证的能耗,Eupload为上传到ES的能耗,Edownload为ES传回车辆的能耗,Eprocess为ES处理任务的能耗。
5.2 卸载时间任务的卸载时间也是本文必须要考虑的因素,因为它决定ES处理任务期间车辆所行驶的距离,卸载时间包括认证时间、上传时间和处理时间。
$ T=T_{\text {authentication }}+T_{\text {upload }}+T_{\text {process }} . $ | (9) |
其中: Tauthentication为卸载任务之前通信双方进行身份认证的时间,Tupload为车辆上传任务消耗的时间,Tprocess为ES处理任务的时间。
不同的任务处理方式将会导致不同的卸载时间Tprocess,并且选择不同的卸载方式也会影响上传时间Tupload,如果车辆选择CS处理,此时上传时间Tupload就为0。如果车辆选择将任务发送至ES进行处理,那么上传时间Tupload就与车辆和ES之间的距离有关。
5.3 ES处理任务此时只考虑ES处理任务的情况。上传时间和处理时间分别为
$ T_{\text {upload }}=\frac{d_{\text {upload }}}{v_{\text {upload }}}, $ | (10) |
$ T_{\text {process }}=\frac{m}{\gamma_{\text {ES }}}. $ | (11) |
其中: dupload为车辆与目标ES之间的距离,m为卸载到ES的任务数。
根据车辆行驶的速度和处理任务需要的时间,可以得出任务处理完成后车辆的位置Xend。
$ T=T_{\text {upload }}+T_{\text {process }}, $ | (12) |
$ \text { Location}_{\text {end }}=\text { Location}_{\text {start }}+v_{\text {vehicle }} T . $ | (13) |
其中: Locationstart为开始时车辆的位置,vvehicle为车辆行驶的速度,Locationend为处理结束时车辆的位置。
此时的能耗为以下3个阶段的能耗的总和:
$ E_{\text {upload }}=\operatorname{dist}_{\mathrm{v}, \mathrm{ES}} E_{\text {trans }}+E_{\mathrm{V} 2 \mathrm{I}}, $ | (14) |
$ E_{\text {process }}=T_{\text {process }} E_{\mathrm{work}}. $ | (15) |
$ E_{\text {download }}=\operatorname{dist}_{\mathrm{v}^{\prime}, \mathrm{ES}} E_{\text {trans }}+E_{\mathrm{V} 2 \mathrm{I}}. $ | (16) |
其中: distv, ES为开始时车辆与目标ES之间的距离,Ework为ES处理任务的能耗,Etrans为传输能耗,EV2I为直接通过V2I传输的能耗,可以视为常数,distv′, ES为处理完成后车辆与目标ES之间的距离。
5.4 CS处理任务CS处理的优点在于几乎没有传播时延、能耗相对来说较小,并且可以在一定程度上分担ES的卸载压力。CS处理任务花费的时间为
$ t_{\text {loacal }}=\frac{m_{k}}{\gamma_{\text {local }}}. $ | (17) |
其中: γlocal为CS卸载每秒钟能够处理的任务量,tloacal为CS处理任务所需要的时间,mk为子任务块的任务量,单位为bit。
这种情况下所产生的能耗为
$ E_{\text {local }}=t_{\text {loacal }} E_{\text {vehicle }}. $ | (18) |
其中,Evehicle为CS处理时单位时间的能耗。
6 仿真与分析值得注意的是,文[6]首次提出了一个能够广泛应用于现实生活的车联网卸载决策模型,该模型具有很高的普适性,并且重点讨论了ES覆盖范围与任务卸载之间的关系,这是很多论文忽略的一点。但是文[6]的缺点在于任务卸载方式比较单一、考虑的因素较少和没有考虑数据传输的安全性。因此本文在文[6]的基础上进行了优化,不仅在数据传输之前加入了身份验证过程,还提出了一种卸载时间更少和卸载能耗更小的卸载算法。
6.1 仿真环境及参数本文仿真的内容主要是在卸载时间和卸载能耗2个方面将本文提出的卸载算法和文[6]的卸载算法进行对比。根据本文所提出的系统模型,考虑一条单向的直线型公路,车辆从左侧驶入公路,从右侧驶出公路。这条公路的长度D设置为10 km,在这条公路旁等间距的布置了10个RSU和10个与RSU相连的ES,每个RSU之间的间距L为1 km。本文仿真模拟了城市中的行车环境,车辆的行驶速度设置为60 km/h,即vvehicle=60 km/h。为了使得仿真结果更加具有普遍性和说服力,选取了公路上均匀分布的30辆汽车进行仿真,计算它们的卸载时间和卸载能耗。经过实验证明,30个实验样本足以覆盖整个公路上所有的行车情况。本文中涉及到的其他参数的设置值如表 2所示。
参数 | 值 |
Etrans | 1 unit/m |
EV2I | 1 unit |
γMEC | 104 bit/s |
γlocal | 3×103 bit/s |
γupload | 103 bit/s |
Ework | 10 unit/s |
Evehicle | 1 unit/s |
M | 200~500 k bit |
Tauthentication | 1~3 s |
Eauthentication | 100~300 unit |
在节3关于任务分块的内容中,式(5)设定了分块数量p的下限,根据前文设置的参数值,经过计算,在仿真实验中分别选取了p=10、12、16这3种情况进行仿真和分析。除了确定分块数量p,还根据式(2)确定了ES和CS处理任务协同作用的范围界限。这里将文[6]的LAM算法与本文提出的ECAM算法进行对比。
6.2 卸载时间从图 5可以看出,使用ECAM卸载策略的车辆所花费的时间都要比使用LAM卸载策略的车辆少,且任务被分为10块时第6辆车的卸载时间最多可以减少17%。认为CS处理和ES处理的协同作用在一定程度上分担了ES的卸载压力,这2种卸载方式的结合节省了卸载时间。
![]() |
图 5 LAM与ECAM关于卸载时间的对比 |
6.3 卸载能耗
这部分依旧选择p=10、12、16这3种情况进行对比仿真。由于将任务分块会造成传输能耗的增加,因此在某些情况下,ECAM的卸载能耗会比LAM更大。如图 6所示,卸载能耗增加的情况只占一小部分,卸载能耗大幅减小的情况所占比例为87%,因此本文提出的卸载算法可以有效地减小卸载能耗。经过分析,其中的原因有两点:1) 由于ES切换的能耗是V2V和V2I能耗的10倍[6],而ECAM省去了ES之间切换所造成的大量能耗,因此ECAM的总能耗要小得多;2) 由于一部分任务在CS进行处理,CS处理的优越性在于能耗小和没有传输能耗,这就省去了发送至ES处理的一部分能耗。
![]() |
图 6 LAM与ECAM关于卸载能耗的对比 |
7 结论
本文基于车联网中的MEC技术提出了一种包含ES与CS之间身份验证机制的安全的任务评估卸载策略,主要解决了在一条单向的直线型公路上车辆的任务卸载问题,最大限度地降低了车辆的卸载时间和卸载能耗,其中考虑了任务的分块处理、CS处理和ES的协同作用。本文详细地给出了ECAM的认证过程和卸载算法的伪代码和流程图。最终经过仿真,数据表明本文提出的算法在87%的情况下能够大幅减小卸载能耗,卸载能耗最多能减少58%。并且卸载时间方面也有一定程度的减小,卸载时间最多可以减少17%,达到了优化的目的。
但是本文只考虑了需要卸载的任务的数据量对卸载时间和卸载能耗的影响,并没有考虑不同类型的任务对任务卸载的不同要求。之后的工作可以引入具体的卸载任务,例如语音处理、数据传输、导航等不同的应用,还要考虑不同类型的任务对卸载时间和卸载能耗的不同的要求,以期更符合实际情况。
[1] |
MACH P, BECVAR Z. Mobile edge computing: A survey on architecture and computation offloading[J]. IEEE Communications Surveys & Tutorials, 2017, 19(3): 1628-1656. |
[2] |
ZHANG T. Data offloading in mobile edge computing: A coalition and pricing based approach[J]. IEEE Access, 2017, 6: 2760-2767. |
[3] |
WU S Y, XIA W W, CUI W Q, et al. An efficient offloading algorithm based on support vector machine for mobile edge computing in vehicular networks[C]//2018 10th International Conference on Wireless Communications and Signal Processing (WCSP). Hangzhou, China: IEEE, 2018: 1-6.
|
[4] |
ZHANG L, ZHAO Z, WU Q W, et al. Energy-aware dynamic resource allocation in UAV assisted mobile edge computing over social internet of vehicles[J]. IEEE Access, 2018, 6: 56700-56715. DOI:10.1109/ACCESS.2018.2872753 |
[5] |
XIAO L, WAN X Y, DAI C H, et al. Security in mobile edge caching with reinforcement learning[J]. IEEE Wireless Communications, 2018, 25(3): 116-122. DOI:10.1109/MWC.2018.1700291 |
[6] |
LI L J, ZHOU H M, XIONG S X, et al. Compound model of task arrivals and load-aware offloading for vehicular mobile edge computing networks[J]. IEEE Access, 2019, 7: 26631-26640. DOI:10.1109/ACCESS.2019.2901280 |
[7] |
GUO H Z, LIU J J, ZHANG J. Computation offloading for multi-access mobile edge computing in ultra-dense networks[J]. IEEE Communications Magazine, 2018, 56(8): 14-19. DOI:10.1109/MCOM.2018.1701069 |
[8] |
GUO H Z, LIU J J. Collaborative computation offloading for multiaccess edge computing over fiber-wireless networks[J]. IEEE Transactions on Vehicular Technology, 2018, 67(5): 4514-4526. DOI:10.1109/TVT.2018.2790421 |
[9] |
LIU M Y, LIU Y. Price-based distributed offloading for mobile-edge computing with computation capacity constraints[J]. IEEE Wireless Communications Letters, 2018, 7(3): 420-423. DOI:10.1109/LWC.2017.2780128 |
[10] |
ADITHTHAN A, RAMESH S, SAMII S. Cloud-assisted control of ground vehicles using adaptive computation offloading techniques[C]//Proceedings of the 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE). Dresden, Germany: IEEE, 2018, 1: 589-592.
|
[11] |
WANG X J, WEI X, WANG L. A deep learning based energy-efficient computational offloading method in Internet of vehicles[J]. China Communications, 2019, 16(3): 81-91. |
[12] |
DU J B, YU F R, CHU X L, et al. Computation offloading and resource allocation in vehicular networks based on dual-side cost minimization[J]. IEEE Transactions on Vehicular Technology, 2019, 68(2): 1079-1092. DOI:10.1109/TVT.2018.2883156 |
[13] |
HOU X S, LI Y, CHEN M, et al. Vehicular fog computing: A viewpoint of vehicles as the infrastructures[J]. IEEE Transactions on Vehicular Technology, 2016, 65(6): 3860-3873. DOI:10.1109/TVT.2016.2532863 |
[14] |
FAROOQ M U, PASHA M, KHAN K U R. Cloud enabled and cluster based efficient data broadcasting in VANETs[C]//2015 International Conference on Green Computing and Internet of Things (ICGCIoT). Noida, India: IEEE, 2015.
|
[15] |
WANG X J, NING Z L, WANG L. Offloading in internet of vehicles: A fog-enabled real-time traffic management system[J]. IEEE Transactions on Industrial Informatics, 2018, 14(10): 4568-4578. DOI:10.1109/TII.2018.2816590 |
[16] |
YU R, ZHANG Y, GJESSING S, et al. Toward cloud-based vehicular networks with efficient resource management[J]. IEEE Network, 2013, 27(5): 48-55. DOI:10.1109/MNET.2013.6616115 |