石琴 李想 程腾 王川宿 王文祥
(1.合肥工业大学,自动驾驶汽车安全技术安徽省重点实验室 安徽省智慧交通车路协同工程研究中心,合肥 230009;2.奇瑞汽车股份有限公司,芜湖 241006)
主题词:车联网 量子保密通信 身份认证 量子密钥分发
伴随着智能网联汽车渗透率的逐渐提高,其涉及到的信息数据交换的场景也日益增多[1],这些数据涉及到车主的敏感隐私数据[2]。黑客能够利用车联网平台的漏洞,非法获取这些数据,从而威胁用户的生命安全、财产安全以及隐私安全[3]。因此,有条件的身份认证和密钥协商机制被认为是保障车联网安全通信的有效措施[4]。
当前的车联网身份认证方案大多基于经典公钥密码算法[5],如RSA、ECC、Diffie-Hellman,这些方法的安全性是建立在整数分解和离散对数这一系列数学问题上的。然而,这些传统密码算法已被证明可以被量子计算机破解[6]。因此,能够抵抗量子攻击的身份认证方案受到了研究者的关注,现有方案大多采用基于格的加密和签名算法[7-9],依赖后量子密码(Post-Quantum Cryptography,PQC)算法的长期安全性,若PQC算法被破解,隐私数据将面临泄露的风险。
量子保密通信是保障未来通信安全的重要技术手段[10]。其中,量子密钥分发(Quantum Key Distribution,QKD)作为最先实用化的量子技术,是目前唯一被严格证明的无条件安全的密钥分发方式[11]。将QKD应用于车联网的实际场景中,可以极大地确保数据的前向安全性。
综合考虑车联网场景下的量子密钥分发方式和身份认证的安全性,本文提出了一种基于扩展量子密钥分发的车联网增强身份认证方案。该方案包括:
a.提出适用于车联网的扩展量子密钥分发方法。在无线网络中,通过集成量子安全模块的车载通信终端与量子安全云服务器(Quantum Security Cloud Server,QSC)进行量子密钥协商;在有线网络中,通过布置在QSC与车辆云服务提供商(Vehicle Cloud Service Provider,VSP)的量子密钥分发设备,完成量子密钥的安全分发。
b.提出适用于后量子时代的车联网身份认证方案。方案基于PQC的加密和签名算法进行初次身份认证,通过身份认证量子密钥进行增强认证,验证硬件的合法性。方案结合QKD与PQC算法完成车辆和VSP之间的身份认证和密钥协商,只需要PQC 算法具有短时安全性。最后对方案进行安全分析和性能对比,以证明提出方案的安全性和适用性。
针对车联网的车云通信场景,本文提出了如图1所示的系统架构。该系统架构包括QSC、VSP、QKD设备、智能网联汽车以及基础设施。
图1 系统通信架构
a.量子安全云服务器(QSC):QSC作为可信赖的量子安全中心,为系统中的所有用户和云服务提供商提供注册服务。QSC 和VSP 中集成的量子密钥分发设备可以相互进行身份认证,组成QKD 网络。QSC 通过对预置量子密钥的管理,在车云间形成扩展的QKD网络,实现量子密钥的无线分发。
b.车辆云服务提供商(VSP):VSP 能够为车辆提供各种网络服务,例如智能交通服务、道路信息服务、智能停车服务等。VSP在与QSC身份认证成功后,能够为车辆提供所需要的云服务。VSP 也部署有QKD 设备,能够与QSC进行会话密钥的协商。
c.量子密钥分发(QKD)设备:QKD 设备成对部署,采用BB84协议通过经典信道和量子信道协商量子密钥。
d.智能网联汽车:安装有车载通信终端(Telematics BOX,T-BOX)、车载单元(On Board Unit,OBU),具备联网和通信功能的智能车辆。车载通信终端集成了防篡改的量子安全模块(Quantum Security Entity,QSE),其可以安全存储预置的量子密钥,并在预置量子密钥的保护下,与QSC 进行会话密钥的协商,实现量子密钥在扩展型QKD网络下的分发。
e.基础设施:安装在道路两侧,具有快速传输速度的设备。其仅作为数据传输的中间介质,不具备计算能力,支持车辆通信的全域覆盖。
本研究方案包括系统初始化、注册、身份认证和量子密钥协商4个流程。表1为方案设计所需使用的符号及对应定义。总体流程如图2所示。
表1 方案所需符号及相应定义
图2 方案整体流程
QSC生成公私钥对pkQ和skQ,并选择两个无碰撞的单向哈希函数h和h1,然后QSC 将所选择的系统参数pkQ、h、h1,选择对称加密算法(Advanced Encryption Standard,AES)进行公开。车辆生成签名公私钥对pkV和skV,VSP 生成签名公私钥对pkS和skS,车辆和VSP 向QSC公开签名公钥。
注册阶段是由车辆、QSC和VSP通过安全通道执行的交互式协议。QSC 负责管理车辆和VSP 的身份信息。车辆的车载通信终端集成了已经充注了预置密钥的量子安全模块,预置密钥的信息在QSC中也有记录存储。另外,VSP的可信存储空间存储有购买云服务的车辆的VIDi。
首先进行车辆注册,车辆用户需要加入车联网云服务网络,获得云服务功能。因此用户和车辆需要执行以下步骤提前向QSC注册:
a.车辆用户设置登录账号IDUi和密码PWUi,并计算UPWi=h1(IDUi‖PWUi) 。通过安全通道,发送注册信息mR1={pkV,UPWi,VIDi} 到QSC。
b.QSC接收到消息mR1后,计算Ai=h(UPWi)⊕VIDi,将Ai在数据库的现有身份信息中进行检索。若检索成功,则拒绝注册请求。反之,将UPWi和VIDi进行绑定,并在数据库中记录{Ai,pkV},向对应车辆发送注册反馈信息mR2={Ai}。
c.车辆接收到mR2之后,计算用户登录的验证参数Bi=h(Ai‖VIDi),并存储到车载终端。
其次进行VSP 注册,VSP 需要提前在QSC 进行注册,注册步骤为:
a.VSP 提供唯一的身份标识SID,通过安全通道将注册消息mR3={SID,pkS}发送到QSC。
b.QSC 接收到mR3后,将S=h1(SID)和SID进行绑定,并在数据库中记录{S,pkS}。
c.VSP将S安全存储。
在车辆获得VSP提供的云服务之前,需要向QSC进行身份认证。QSC不仅校验车辆身份的合法性,还帮助车辆对VSP 进行身份认证。车辆和VSP 均需要通过向QSC的增强身份认证,以保证它们的身份和硬件的双重合法性,才能够进行后续会话密钥的协商。身份认证的具体流程如图3所示。
注册阶段完成后,车辆需验证用户身份的合法性。用户在车机端输入账号IDUi和密码PWUi。车辆终端收到账号密码之后,计算=h(Ai‖VIDi),并检查等式=是否成立,若成立,则表明用户是合法的。
其次,车辆向QSC进行身份认证。为了抵御重放攻击,车辆选择量子随机数RV,然后从QSE 中提取认证密钥PFKV及其对应的密钥标识KtagV,并计算ui=h(VIDi)⊕PFKV。然后,使用QSC 的公钥对密钥信息进行加密,获得KV=EnpkQ(ui‖KtagV),并生成消息摘要DV=h(KV)。接着,车辆使用私钥skV对消息摘要进行签名,生成签名值TV=Sign(DV‖RV,skV)。最后,计算哈希值Si=h(KV‖TV‖tSi)用于完整性校验。车端将认证请求消息mA1={KV,TV,RV,Si,tSi} 发送给QSC。
两次认证确认车辆合法后,QSC 选择量子随机数RQ,计算消息摘要DQ=h1(VIDi) 和签名值TQ=Sign(DQ‖RQ,skQ),用于VSP 的身份认证。最后QSC生成完整性校验码M=h(TQ‖RQ‖tS),并将认证请求消息mA2={TQ,RQ,M,tS}发送给VSP。
VSP 收 到mA2后,首先通过校验tR-tS<Δt、M=h(‖‖tS)来确保消息的完整性和有效性。再通过Verify(,DQ‖RQ,pkQ)验证QSC的消息签名。VSP将DQ与存储空间中VID的哈希值做匹配,若成功,则表示车辆具有VSP服务。
然后VSP 从QSE 中提取认证密钥PFKS及其对应的密钥标识KtagS,并使用公钥pkQ对密钥信息进行加密,得到KS=EnpkQ(S‖PFKS‖KtagS),并生成消息摘要DS。接着选择量子随机数RS,使用VSP 的私钥skS签名TS=Sign(DS‖RS,skS) 。最后产生完整性校验码W=h(KS‖TS‖RS‖tS),并将认证请求消息mA3={KS,TS,RS,W,tS}发送给QSC。
车辆收到mA4后,校 验tRi-tSi<Δt和Pi=h(PFKV‖VIDi‖tSi),成功则车辆认证完成。VSP 收到mA5后,校验tR-tS<Δt和Q=h(PFKS‖S‖tS),成功则VSP认证完成。
如图2 所示,在量子密钥协商阶段,有两种密钥分发方式。第一种:QSC和VSP之间通过QKD网络有线连接完成量子密钥的分发,依赖的是量子密钥分发协议。第二种:在QSE中预置量子密钥,在车辆和QSC之间实现扩展的量子密钥分发。具体的密钥分发流程如下:
a.车辆从量子安全模块中提取量子密钥QKi及其对应密钥标识KtagQKi,计算会话密钥SKi=h(QKi‖PFKV‖RV) 并保存 。随后,计算Ki=h(KtagV‖tSi)⊕KtagQKi,生成消息完整性验证码Xi=h(Ki‖tSi),并将请求同步会话密钥消息mK1={Ki,Xi,tSi}发送给QSC。
参考其他研究者提出的认证协议[12-13]后,本研究使用真实或随机模型(Real or Random,ROR),假设方案中身份认证和密钥协商协议有用户、QSC 和VSP 三种实体。这些实体中包含的多个实例之间能够同时进行身份认证。每一个实例都能够看作一个独立的预言机。预言机存在三种状态,分别为:“Accept”表示预言机接收到正确的信息;“Reject”表示预言机接收到错误信息;“⊥”表示预言机输出为空。设定是车辆的第a个实例,为QSC的第b个实例,为VSP的第c个实例。身份认证协议的安全性是在多项式时间攻击者A和挑战者C之间的“查询-响应游戏”证明的。
定义1(对手能力):攻击者A可以执行以下查询来攻击认证方案,并获取挑战者的查询结果。
hi(mi):当攻击者A通过mi问询此预言机时,挑战者C 在列表Lhi中生成一个随机数ri,并将(mi,ri)储存在列表中。然后,挑战者C返回ri(i=1,2)到攻击者。
Execute():监听模式。攻击者A能够访问可信实例间的认证过程。Oracles 在接收到此查询时,根据认证和密钥协商协议,返回、与之间的交互消息{mA1,mA2,mA3,mA4,mA5,mK1}。
Send(//,mi):主动攻击,模拟攻击者A向,或发送认证消息m。当消息m有效时,预言机会接受m,并根据认证和密钥协商方案将响应消息发送给攻击者A。否则返回拒绝响应。
Revea(l,):通过执行该查询,挑战者C 会将相关的会话密钥SKi/SKj发送给攻击者A。
Corrup(t,):通过执行该查询,攻击者A可以获得存储在和安全存储空间中的所有秘密参数。
Test():该查询会对会话密钥的语义安全性进行模拟。在游戏开始前,将硬币翻转,并且只有攻击者A知道硬币的值。这个值决定了此预言机的输出。若A执行此查询并建立了新鲜的会话密钥SKi,当b=1时,挑战者C 返回正确的会话密钥SKi到A;否则当b=0 时,C向A返回与SKi长度相同的随机字符串。
定义2(语义安全):攻击者A 在执行完上述查询后,输出其在Test 预言机中猜测的数值b。如果攻击者在没有执行过Reveal 的前提下,猜测的数值是正确的,则认为攻击者成功破坏了认证和密钥协商方案(Authentication and Key Agreement,AKA)的语义安全性。其中A的优势如下:
在证明所提出的车联网增强身份认证方案在上述安全模型下能够满足AKA安全的前提下,定义Γ为所提出的方案。若攻击者A 能够伪造正确的登录和认证信息,则认为攻击者A破坏了Γ。
定理1:如果攻击者A 违反认证协议的优势在任何多项式时间内都可以被忽略,就称Γ是AKA 安全的得到。qs,qe,qd,qh和qh1分别表示发送查询、执行查询、加密/解密查询、h和h1查询的次数。|P|、|C|和|R|分别表示用户密码、密文、随机数范围空间的长度。A 在破解方案Γ的会话密钥安全性方面的优势可以估计为:
式中,L为哈希值长度;Lu为用户身份长度。
证明:构建如下游戏来证明攻击者A破解该方案的优势从游戏开始到游戏结束都可以被忽略,从而证明定理1。具体证明过程如下:
游戏0:在ROR模型中,A对Γ执行的实际攻击,成功的概率与攻破本方案协议的概率相同。由定义2可得:
游戏1:此游戏模拟了由哈希列表LC-A维护的哈希预言机h和h1。当A 使用消息m执行查询时,C 首先检查哈希列表,若对应的元组(M,h(M))值已存在,则返回该值。否则产生一个随机数并将值添加到哈希列表,同时将该值发送给A。对攻击者来说,游戏0 和游戏1是无法区分的,由此得到:
游戏2:模拟游戏1 中所有的预言机。如果发生以下碰撞事件,则游戏终止。基于生日悖论可以得到:
事件1:认证协议中使用的两个哈希函数h和h1发生碰撞的最大概率是。
事件2:认证和密钥协商协议中发送的消息中的随机数RV、RO和RS发生碰撞的概率是。
事件3:认证协议中使用签名和非对称加密发生碰撞的最大概率是。
游戏3:模拟了游戏2中所有的预言机。游戏中还假设,如果发生A可以不通过相应的哈希预言机查询,只通过Send查询就能够正确伪造身份认证流程中的关键参数M、Q、W、Pi、Si、Xi的情况,则游戏3终止。除非车辆否认Si,VSP否认W或者QSC否认M和Xi。因此得到:
游戏4:修改发送查询。C 随机选择一个匹配的实例(,,),并按照图3 的流程答复A 的Send查询。设定一个用来解决基于格的签名和加密算法的方案,并假定A可以在多项式时间内解决基于理想格问题的难题[14],攻击者A的优势为:
在执行完Send查询后,A获得身份认证和密钥协商阶段的交互信息。随后,A将进行qS次Corrup(t,)询问,若能够成功区别SKi=h(QKi‖S‖ui)和随机数,那么C结束游戏。此时认为A已经成功通过了身份认证和密钥协商协议,获得游戏的胜利。该结果需以下列事件发生为前提:
事件4:A 想要成功模拟车辆用户并伪造消息mA1={KV,TV,RV,Si,tSi},其必须正确计算Si、RV和(IDui,PWUi)。A 通过Corrup(t)获得车辆存储的秘密参数(Bi,VID,PFKV)。若A 想要从Bi正确猜测出用户(IDUi,PWUi)组合,需要执行qS次Corrup(t),正确输出mA1的概率为:
事件5:A 想要成功模拟VSP 并伪造消息mA3={KS,TS,RS,W,tS},那么必须正确计算W,通过Corrupt()获得VSP存储的秘密参数(Q,PFKS,S)。若A想要正确猜测出W和RS的组合,需要执行qS次Corrupt(),正确输出mA3的概率为:
事件6:A身份认证成功后,想要模拟QSC并伪造密钥协商消息mK1={Ki,Xi,tSi},那么其必须获得Ki和Xi,正确输出mK1的概率为:
事件7:A 想要获取正确的会话密钥SKi=h(QKi‖PFKV‖RV),在h预言机的帮助下,正确获得的概率为:
因此,得到通过游戏5的可能性为:
综上所述,可得到攻击者A的优势为:
为了验证方案的有效性,搭建试验环境,将所提出方案的身份认证和密钥协商阶段的计算开销与现有方案进行比较,其中包括Ying[15]、Wang[16]、Cui[17]、Zhang[18]提出的方案。
在试验室中搭建模拟车联网真实场景的硬件环境。如图4 所示,包括具备联网功能的ROS 小车、搭载QSE 且能够加密车端数据的车载通信终端、为车辆提供云服务的VSP、管理车辆和VSP 身份认证、管理量子密钥的QSC、量子密钥分发设备QKD 以及调试电脑。
图4 硬件试验环境
计算提出方案与对比方案所用到的重要密码算法的计算开销,并将认证方案中所用到的密码运算时间进行统计对比。这些密码算法包含:模指数运算、标量乘法运算、NTRU 加密/解密运算、Falcon 签名/验签运算、哈希运算。为了实现对比的客观性,设定Hash 算法为SHA-256,对称加密算法为AES。通过参考NIST 在局部模型下定义的第一类安全类别[19]和Zhang[15]提出方案中设定的参数,设定NTRU 加密算法的关键参数为:N=503;p=3;q=2 048,设定Falcon 签名算法的关键参数为:k=256;R=12 289。为了避免硬件差异,在同样的硬件(英特尔酷睿i7-12700H)上计算各算法的计算开销,结果如表2所示。
表2 各算法的计算开销
将各方案的计算开销进行对比,并假设是在单个车辆和单个VSP 的场景下,分析车端和服务端的计算开销。Ying[15]、Wang[16]、Cui[17]的方案是建立在椭圆曲线密码算法的基础上。Zhang[18]和本方案则是基于格的密码算法来建立安全的身份认证方案。计算开销的方案对比如表3所示。
表3 各方案的计算开销对比
在Ying[15]的方案中,车辆需要执行4次点乘、2次点加和7次单向哈希运算,开销为1.406 5 ms;服务端包括可信机构(QSC)和服务提供者(VSP),需要执行4 次点乘、2次点加和3次单向哈希运算,开销为1.406 1 ms,总计算开销为2.812 6 ms。同理,可以计算出Wang[16],Cui[17]和Zhang[18]方案的总计算开销,分别是3.505 9 ms、2.775 3 ms 和1.122 3 ms。在本研究提出的增强身份认证方案中,车辆需要执行1次加密、1次签名和7次单向哈希运算;QSC执行2次解密、1次签名、2次验签和10次单向哈希运算;VSP执行1次加密、1次签名、1次验签和5次单向哈希运算。总计算开销为1.689 ms。图5为各方案的计算开销结果。
图5 计算开销测试结果
可以看出Zhang[18]的方案计算开销最小,这是因为其采用的是基于格的加密和签名算法,计算开销小于基于椭圆曲线的标量乘法运算。本研究的方案计算开销略大于Zhang 的方案,是由于本方案对车辆、QSC 以及VSP 的消息进行了签名,保证了消息的不可否认性,方便在复杂交通环境下对车辆进行管理。因此本方案的安全性优于Zhang 的方案,显著地减少了车端开销,性能提升为60.43%~70.72%。
本文提出了一种适用于后量子时代的车云通信场景下的增强身份认证方案。方案实现了可扩展的量子密钥分发,能够在车联网环境中兼顾无线和有线通信网络,进行安全高效的身份认证和密钥协商。对提出方案的安全性进行评估,并搭建了硬件实验环境,测试方案的通信性能和密钥协商过程,并与其他方案进行对比。结果表明,所提出的方案能够完成量子密钥在车联网通信场景的安全协商,适用于后量子时代的车联网领域。