智能车载网络中匿名认证与密钥交换协议*

2024-01-24 14:39张晓均唐浩宇王文琛
计算机工程与科学 2024年1期
关键词:哈希车载密钥

张晓均,唐浩宇,付 红,王文琛

(西南石油大学计算机科学学院,四川 成都 610500)

1 引言

智能车载网络VANET(Vehicle Ad-hoc NETwork)作为物联网在智能交通领域的重要应用[1],可以通过实现特殊车辆避让、碰撞预警等功能来帮助减轻交通压力,减少交通事故,提高交通运输效率和道路安全性,因而受到工业界和学术界的广泛关注。

智能车载网络架构模型主要包括3类通信实体[2,3]:完全可信的第三方权威机构TA(Trusted Authority)、车载通信单元OBU(On Board Unit)和路边基站单元RSU(Road Side Unit)。其中可信机构TA负责维护整个系统,结合应用服务器来计算发行系统公开参数,可以广播交通预警等。通过车载通信单元OBU来实现智能车辆节点之间的实时信息交互,如异常车辆状态预警、慢减速车辆预警等。通过实时信息交互可以有效减少交通事故的发生,大大提高交通效率,这种通信称为V2V(Vehicle to Vehicle)通信。车辆节点可以与路边基站单元RSU进行信息共享,即V2R(Vehicle to RSU)通信[4-7]。路边基站单元RSU是部署在道路两侧的基础设施,可以和车辆节点进行通信完成实时信息交互,即R2V(RSU to Vehicle)通信。信息交互时,RSU会验证OBU发出的信息是否真实,如果遇到紧急情况,RSU可以直接向TA发送经验证的信息,保证TA及时发出交通预警,减少交通事故的发生,同时也减轻了TA的负担。V2V、V2R、R2V模式均使用专用短程通信技术DSRC(Dedicated Short Range Communications)进行通信。

网络的开放性和脆弱性使智能车载网络容易遭受各种安全攻击[8-10],进而导致交通事故的发生,对人们的生命财产安全造成威胁。比如,恶意车辆可能会伪装成紧急车辆进行危险操作,也可能发布一些关于交通事故的假消息等。因此,车辆节点在加入车联网并能在其中与其他合法车辆或RSU通信时,必须先通过身份认证[11,12]。同时,一个安全的VANET还需要具有前向安全性、数据机密性,并能抵抗常见的攻击,如重放攻击。

在遭受网络攻击时,用户个人隐私数据极有可能泄露,这将会对用户造成极大的困扰,且对智能车载网络的推广应用也十分不利。所以,需要确保身份隐私性,即任何其他车辆和路边基站单元都不能获取到车辆的真实身份信息[13-15]。为了保证车辆和附近RSU可以安全保密地通信,还要求签订一个会话密钥交换协议。

近年来,基于椭圆曲线加密和双线性对算法的认证方案已经广泛应用在智能车载网络领域。Wei等[16]和Zhang等[17]基于椭圆曲线加密ECC(Elliptic Curve Cryptography)和Shamir门限技术提出了群组成员保护通信秘钥的方案,以较低的通信开销保护交通紧急消息的安全。文献[18,19]也提出了解决用户隐私保护的匿名认证方案及无证书密码体制。Xiong等[20]提出了一种基于中国剩余定理CRT(Chinese Remainder Theorem)的具有动态隶属资格的条件隐私保护认证方法,RSU可以同时验证大量接收到的消息,从而提升了验证效率。文献[21]提出了一种基于无证书密码和椭圆曲线密码的无证书条件隐私保护认证方案,用于VANET中的安全车辆和基础设施通信。Song等[22]提出了一种基于双线性配对的智能车载网络条件隐私保护认证方案,该方案采用路边单元中的防篡改装置与车辆一起完成信息签名和认证。

本文提出了适用于智能车载网络环境下的匿名认证与密钥交换协议,已经匿名化处理过的车辆可以匿名向附近的RSU发送身份认证信息,当RSU通过认证之后,计算出一个消息认证码作为响应信息发送给请求认证车辆,以实现双向认证,进而防止恶意RSU的攻击。此外,在匿名认证的同时还能进行会话密钥的协商,以用于后续的安全保密通信。

2 预备知识

2.1 双线性对映射

G1是一个生成元为P的q阶加法循环群,其中q为安全素数。G2是一个q阶乘法循环群,双线性对映射e:G1×G1→G2满足以下3个性质:

(2) 非退化性:∃Q,R∈G1,使得e(Q,R)≠1;

(3) 可计算性:对于∀Q,R∈G1,存在多项式时间算法能计算出e(Q,R)。

2.2 系统网络模型与安全需求

智能车载网络中匿名认证与密钥交换协议的系统网络模型(见图1)包含3种通信实体:可信中心TA、路边基站单元RSU和车载单元OBU。下面分别对这3类通信实体进行介绍:

(1)可信中心TA。TA可作为智慧交通管理中心,是一个完全可信的第三方机构,具有高存储和高计算能力,主要为系统颁布公开参数,为RSU分配公私钥,以及为智能车辆生成私钥和注册信息。

(2)路边基站单元RSU。RSU是固定在道路两侧的信息基础设施,可以与智能车辆进行双向可认证保密通信。

(3)智能车载单元OBU。OBU使智能车辆可以和附近的RSU或智能车辆进行通信,可以与RSU进行相互认证以及密钥交换。

Figure 1 System network model图1 系统网络模型

在开放的网络环境下,攻击者可通过窃听攻击、恶意追溯攻击来获取节点之间传输的消息,这极可能造成用户身份隐私和相关重要信息泄露的问题。此外,攻击者也可通过篡改、伪造、重放攻击造成重大交通事故,对人身安全造成威胁。因此,基于智能车载网络场景提出的协议需要满足以下安全特性:

(1)身份匿名性:任何其他车辆或RSU不能从窃听到的消息中获得车辆的真实身份信息,在某些场景下需要实现绝对匿名。

(2)身份认证:智能车载网络场景的有效实施必须保证节点间能相互认证,即保证通信双方的身份真实性,避免伪造、篡改攻击。

(3)认证密钥交换:对于智能车载网络场景中有保密需求的数据,要保证其无法被未经授权的第三方知晓信息内容。为保证车载网络中数据传输的机密性,车辆和RSU需要在安全通信前完成会话密钥交换。

3 智能车载协议

3.1 协议具体设计

智能车载网络中匿名认证与密钥交换协议主要包括4个阶段:系统初始化、智能车辆注册、匿名认证、认证密钥交换。

(1)系统初始化阶段。可信中心TA通过以下步骤生成系统公开参数:

①TA选取2个安全素数p,q,设置定义在y2=x3+ax+bmodp上的非奇异椭圆曲线E。TA选取一个生成元为P的q阶加法循环群G1,构造一个双线性对映射e:G1×G1→G2,其中G2是一个q阶乘法循环群。

③TA设置安全哈希函数,H1={0,1}*→G1,H2:G2×{0,1}*→Zq,h1:G1×{0,1}*×G1→Zq,h2:G1×G1→{0,1}l,其中l为会话密钥长度。

(2)智能车辆注册阶段。在此阶段,智能车辆V需要向可信中心TA进行注册,以便安全地和附近的RSU进行信息交互。首先,智能车辆会将其真实的身份信息IDV发送给TA以请求进行注册,如果身份信息不合法则拒绝注册请求。如果身份信息合法,则TA以密钥生成中心KGC(Key Generation Center)的角色为申请注册的智能车辆生成对应私钥和相应的注册信息。具体注册操作步骤如下所示:

①TA为申请注册的智能车辆V计算其私钥SKIDV=skH1(IDV)。

②TA为智能车辆计算一个身份标识符IndexIDV=e(H1(IDV),Ppub),这个身份标识符可作为智能车辆的匿名身份信息,与智能车辆真实身份信息IDV一一对应,且只由IDV决定。

③TA为智能车辆计算注册状态信息索引号S=H2(IndexIDV‖aux)P,其中aux为附加信息,如服务类型、注册信息有效期等。在后续验证阶段,RSU可根据此索引号在数据库中查找智能车辆注册信息以进行验证。

最后,TA通过安全信道将私钥和注册信息(SKIDV,S,IndexIDV,aux)发送给申请注册的智能车辆,并通过安全信道将智能车辆的注册信息(S,IndexIDV,aux)发送给附近所有的路边单元RSU,然后RSU将此智能车辆注册信息保存到后台数据库。

(3)匿名认证阶段。在此阶段,身份已经匿名的智能车辆V向附近的路边基站单元RSU申请身份认证并发送认证请求消息。具体计算过程如下所示:

②选取一个认证序列号nonce∈{0,1}*,计算认证符δ=(h1(S‖nonce‖QRSU)+x)-1SKIDV。

③计算会话密钥K=h2(W‖W′)。

最后,申请认证的智能车辆IDV将认证请求信息Auth=(δ,nonce,W′,S′)发送给附近的路边基站单元RSU。

(4)认证密钥交换阶段。在这个阶段,当接收到认证请求信息Auth=(δ,nonce,W′,S′)时,RSU将会进行一系列操作来完成对智能车辆的认证以及密钥的协商。具体过程如下所示:

②RSU在数据库中根据恢复出的注册状态信息索引号S定位身份标识符IndexIDV,并验证等式IndexIDV=e(δ,h1(S‖nonce‖QRSU)P+W)是否成立。

③如果等式成立,则计算会话密钥K=h2(W‖W′)。

④RSU利用消息认证码函数MAC计算MACK(δ‖nonce+1)作为响应信息发送给请求认证的智能车辆。

智能车辆一旦接收到从附近RSU发出的响应信息MACK(δ‖nonce+1),就使用会话密钥K计算出消息认证码进行比对。如果计算结果相同,则表示智能车辆可以以匿名的方式与附近RSU实现身份认证与密钥协商功能,并且后续可以安全地和附近RSU进行通信。若计算结果不同,则重启协议。

3.2 协议的正确性

e(δ,h1(S‖nonce‖QRSU)P+W)=e((h1(S‖nonce‖QRSU)+x)-1SKIDV,h1(S‖nonce‖QRSU)P+W)=e((h1(S‖nonce‖QRSU)+x)-1skH1(IDV),h1(S‖nonce‖QRSU)P+xP) =e((h1(S‖nonce‖QRSU)+x)-1skH1(IDV),(h1(S‖nonce‖QRSU)+x)P)=e(H1(IDV),Ppub)=IndexIDV

4 安全性分析

协议安全性分析需要证明该协议具有身份的匿名性与可认证性,并具有认证密钥交换的功能。

定理1基于智能车载网络的匿名认证与密钥交换协议满足身份的完全匿名性以及可认证性。

因此,基于智能车载网络的匿名认证与密钥交换协议满足身份的匿名性和可认证性。

定理2基于智能车载网络的匿名认证与密钥交换协议可实现可验证的密钥交换功能。

5 性能对比与分析

5.1 计算开销分析

本节将基于智能车载网络的匿名认证与密钥交换协议与基于双线性对映射设计的文献[23]中协议、APKI协议[24]和EAAP协议[25]进行计算开销分析与比较。协议中所有算法的实现环境为:Windows 10操作系统,Intel®CoreTMi5-2320 3.0 GHz 处理器,8 GB 内存。所有算法都使用C语言的版本号为5.6.2密码算法基础函数库MIRACL实现,为了后续可以更方便地进行计算开销分析,用符号Pair,Exp,Mult,mult,Hash,hash,Add,Inv和Exp来分别表示双线性对运算时间、普通模指数运算时间、椭圆曲线中的倍点运算时间、普通模乘法运算时间、映射到循环群中的哈希运算时间、普通哈希运算时间和椭圆曲线上的加法运算时间、模逆运算时间和双线性对幂运算时间,以及用符号Mac表示计算消息认证码的运算时间。

在文献[23]中,分析得知当车辆进入一个RSU通信范围之前,车辆需要提前获取TA颁发的混淆值和伪身份列表,并基于每一个伪身份列表和已知参数生成特定点后将认证消息发送给RSU。在此过程中,车辆需要执行3次普通哈希运算以确保完整性,然后执行2次倍点运算和1次双线性对幂运算来生成智能车辆签名。因此,智能车辆的计算开销为3hash+2Mult+Exp。而RSU在接收到其通信范围内的车辆发送的认证请求后,需要执行1次双线性对运算、2次普通哈希运算和1次双线性对幂运算运算验证车辆身份。因此,RSU总的计算开销为Pair+2hash+Exp。

对APKI协议[24]分析得知,RSU生成广播签名给附近需要认证的智能车辆,智能车辆收到后执行1次普通哈希运算和1次双线性对运算验证RSU的合法性。智能车辆通过执行4次倍点运算和1次普通哈希运算生成签名,所以智能车辆端总的计算开销为Pair+4Mult+2hash。RSU收到认证请求后执行1次普通哈希运算验证其完整性,执行2次双线性对运算、2次倍点运算和2次普通哈希运算完成签名消息的认证,因此RSU总的计算开销为2Pair+2Mult+2hash。

对EAAP协议[25]分析得知,智能车辆需要执行6次模指数运算、1次普通模乘法运算、3次椭圆曲线上的加法运算、1次普通哈希运算和1次逆运算得到匿名证书,然后执行1次模指数运输、1次普通哈希运算、1次逆运算和1次椭圆曲线上的加法运算得到签名信息,并最终发送给TA进行验证,在此方案中TA相当于本文方案的RSU。因此,智能车辆的计算开销为7Exp+mult+4Add+2hash+2Inv。当接收到验证信息后,接收方执行4次普通模乘法运算、7次模指数运算、2次逆运算、2次普通哈希运算和2次双线性对运算完成验证。因此,接收方的计算开销为4mult+7Exp+2Inv+2hash+2Pair。

在本文协议中,车辆需要执行2次倍点运算得到W和W′,执行1次椭圆曲线上的加法运算得到S′。然后执行1次倍点运算、1次普通哈希运算和1次逆运算得到签名δ。最后再执行1次普通哈希运算得到会话密钥K。因此,智能车辆在计算认证消息时总的计算开销为3Mult+Add+2hash+Inv。当RSU对智能车辆进行认证时,需要执行1次倍点运算和1次逆运算得到W,再执行1次椭圆曲线上的加法运算得到智能车辆注册状态信息索引号S。然后执行1次椭圆曲线上的加法运算、1次倍点运算、1次双线性对运算和1次普通哈希运算来验证认证等式IndexIDV=e(δ,h1(S‖nonce‖QRSU)P+W)是否成立。再执行1次普通哈希运算完成会话密钥K的交换。最后,执行1次消息认证码运算完成智能车辆和RSU的双向认证。因此RSU的认证计算开销总共为2Mult+Inv+2Add+Pair+2hash+Mac。

从图2可以看出,与文献[23]中协议、APKI协议和EAAP协议相比,本文提出的基于智能车载网络的匿名认证与密钥交换协议在智能车辆和路边基站单元方面都具有更低的计算开销,因此本文设计协议在智能车载网络环境具有明显的计算性能优势。

Figure 2 Comparison of computational costs图2 计算开销比较

5.2 通信开销分析

本节对智能车辆和RSU进行双向认证时产生的通信开销进行分析与比较。首先统一循环群中的元素长度为1 024 bit,用|G|表示。将nonce和PID长度固定为32 bit,用符号ξ表示。统一Zq中的元素长度为160 bit,用|q|表示。将时间戳和假名过期时间都设置为32 bit,分别用|ts|和|ex|表示。

在基于智能车载网络的匿名认证与密钥交换协议中,通信开销主要来自车辆发送认证请求信息给RSU,以便完成车辆和RSU的双向认证。在匿名认证阶段,车辆上传单个认证请求信息Auth=(δ,nonce,W′,S′)到RSU的通信开销为3|G|+ξ=3104 bit,如果n个车辆上传n个认证请求消息,则通信开销为3n|G|+nξ=3104nbit。

文献[23]的协议中,在认证前车辆生成签名σ=(C,L,K,T,R,f(PIDb,n)),其中,C为消息加密值,L为伪身份列表,K为基于随机数生成的点,T为当前时间戳,R为基于伪身份生成对应循环群中的若干点。用伪身份列表以环信号方式构建签名,会涉及较大的通信开销,函数f(PIDb,n)长度用1 bit表示。因此,智能车辆通信开销为2|G|+6|GT|+6|PID|+|ts|+|f(PID)|=8417 bit,n个车辆的通信开销为8417nbit。

在APKI协议[24]中,智能车辆和RSU进行相互认证时,RSU和智能车辆都会发送认证信息给对方。智能车辆将接收RSU的广播消息并验证其合法性,RSU的通信开销为3|q|+|ts|+|G|=1536 bit。智能车辆基于多方公钥生成签名并发送给RSU的开销为4|G|+2|q|+|ts|=4448 bit,智能车辆进行一次认证总的通信开销为5|G|+5|q|+2|ts|=5984 bit。RSU以广播的形式与智能车辆进行验证,因此n辆车的通信开销为(4n+1)|G|+(2n+3)|q|+(n+1)|ts|=(4448n+1536) bit。在EAAP协议[25]中,TA充当了本文协议中RSU的角色,当智能车辆向TA认证时,智能车辆发送认证信息给TA的通信开销为2|G|=2048 bit,如果有n辆车需要认证,则通信开销将为2n|G|=2048nbit。

从图3可以看出,本文提出的基于智能车载网络的匿名认证与密钥交换协议比文献[23]中的协议和APKI协议的通信开销低。虽然EAAP协议的通信开销比本文协议的略低,但本文协议能够有效实现双向认证功能。由数据分析得知,在智能车辆数到达500时,文献[23]中的协议和APKI协议的通信开销约为本文协议的1.5倍以上,且随着智能车载数量的增加,本文协议的通信开销优势将更为明显。

Figure 3 Comparison of communication overhead图3 通信开销比较

6 结束语

本文提出了一个适用于智能车载网络的匿名认证与密钥交换协议,实现了智能车辆以完全匿名的方式与附近的RSU进行双向认证以及会话密钥的交换。安全性分析表明,本文协议可以有效确保身份的匿名性与可认证性,可实现可验证的密钥协商功能。性能比较与分析的结果表明,本文设计的协议具有轻量级的性能优势,这对于移动智能车载通信场景的应用具有实际意义。

猜你喜欢
哈希车载密钥
探索企业创新密钥
密码系统中密钥的状态与保护*
高速磁浮车载运行控制系统综述
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
智能互联势不可挡 车载存储需求爆发
基于OpenCV与均值哈希算法的人脸相似识别系统
基于ZVS-PWM的车载隔离DC-DC的研究
基于维度分解的哈希多维快速流分类算法
新型轻便式车载电子系统的结构设计