APP下载

一种抗伪造攻击的车联网无证书聚合签密方案

2023-05-11潘森杉王赛妃

西安电子科技大学学报 2023年2期
关键词:敌手私钥公钥

潘森杉,王赛妃

(1.江苏大学 江苏省工业网络安全技术重点实验室,江苏 镇江 212013;2.江苏大学 计算机科学与通信工程学院,江苏 镇江 212013)

1 引 言

随着无线网络通信技术的飞速发展,人们希望在驾驶时享受更安全、更智能、更高效的交通服务,车联网应运而生。车联网中包含4个基本实体:一个可信机构(Trusted Authority,TA)、一个密钥生成中心(Key Generation Center,KGC)、路侧单元(Road Side Unit,RSU)以及具有车载单元(On Board Unit,OBU)的车辆[1]。车联网中最典型的两种通信方式是车车通信和车与基础设施通信。车辆可以感知到位置、速度和路况等信息,并发送给附近的其他车辆与RSU[2]。

车联网拥有很大优势,但也仍有很多问题需要解决。一方面,由于开放的无线网络,攻击者能够轻易加入网络获取信息或传播篡改信息发送给其他车辆,这会导致严重的交通事故。因此,消息的身份验证与完整性验证是必要的[3-5]。另一方面,车辆发送的信息中包含着用户的身份信息,每条消息都应该被签名加密。对于RSU或资源受限的车辆,每秒验证上千条信息是一种挑战。计算复杂度和计算开销将随着车辆发送的消息数量的增加呈线性增加[6]。因此,加密和签名的成本需要降到最低。

为了解决上述问题,大量先进的密码体制被提出。1997年,文献[7]提出了签密的概念。签密机制可以同时实现消息的签名与加密,降低了计算成本且提高了安全系数与效率[8]。现有的签密方案主要分为基于传统公钥基础设施的签密方案(TC-PKS)、基于身份的签密方案(ID-PKS)和无证书的签密方案(CL-PKS)。TC-PKS中用户需要管理大量公钥和证书,这对资源受限的设备来说是困难的。在ID-PKS中,私钥生成器(KGC)生成并保存所有用户私钥导致密钥托管问题。CL-PKS用户的私钥一部分由KGC生成,一部分自己生成,解决了上述两个方案存在的问题。2003年,文献[9]提出了聚合签名(AS)的概念。AS使用较少的存储空间完成验证操作。RSU或车辆将大量的签密聚合成一个短的签密,一旦短签密通过验证,所有的签密都将被认为是合法的。综上,无证书聚合签密方案可以很好地解决车辆网中存在的问题。

近年来,已有大量学者对无证书聚合签密方案进行了研究。文献[10-11]一些方案能满足较强的安全级别,但由于使用了大量昂贵的双线性配对操作,在整个签密与解签密阶段会产生较大延迟。文献[12-13]提出的方案基于Schnorr签名,没有使用双线性配对,具有较高的验证效率。但笔者发现,上述两种方案存在相同的安全问题,即公钥替换攻击和合谋攻击。

2 预备知识

哈希抗碰撞性:对于一个哈希函数,难以找到x和x′,满足H(x)=H(x′)。

3 现有无证书聚合签密方案及分析

3.1 现有无证书聚合签密方案简述

文献[13-14]的方案都基于Schnorr签名且存在类似问题。以文献[13]的方案为例进行分析。下面是方案的具体流程。

(5) 单一签密验证:接收方用户IDB收到发送方用户IDi的签密σi时,执行以下操作:计算h2i=H2(ci,Ui),P′i=(xIDB+dIDB)Ui,得到明文消息mi=ci⊕H3(P′i,Ui),验证等式viP=Ui+h2i(RIDi+h1iPpub+XIDi);若验证失败,则丢弃消息;否则接收明文消息。

3.2 现有无证书聚合签密方案的安全问题

下面对文献[13]的方案存在的安全问题进行分析。

3.2.1 公钥替换攻击

公钥替换攻击指恶意用户利用合法用户的身份加入到网络中,接收或发送信息。签密方案中的公钥替换攻击共有两类:第1类恶意用户伪造网络中发送方用户的公钥,生成自己所需要发送信息的签密发送给其他用户;第2类恶意用户伪造网络中接收方用户的公钥,获取网络中的信息。在车联网中,恶意用户通过这两类攻击可以随意获取并发送一些虚假的交通信息给其他用户,进而造成交通堵塞等问题,甚至威胁用户的生命安全。下面详细说明方案中存在的公钥替换攻击问题。

(1) 初始化阶段:首先挑战者C执行初始化算法来获取系统参数Params和系统主密钥x,然后秘密保存x并将Params发送给敌手A1。

上述是第1类公钥替换攻击,在陈虹等方案中同时存在第2类公钥替换攻击,证明过程与其类似,敌手A1可以替换接收方公钥并利用替换的公钥获取明文消息。

3.2.2 合谋攻击

合谋攻击来自两个或两个以上的恶意用户;他们通过交换相关身份信息产生无效签密,但这些无效签密仍能通过聚合签密验证。在车联网中,两个或多个恶意车辆交换(位置等身份相关的信息)来躲避权威机构的追踪,从而广播虚假的签密信息,这可能将导致严重的交通事故。

4 改进的方案

4.1 具体方案

文中无证书聚合签密方案结合车联网场共设置4种实体:TA、KGC、RSU和车辆。方案流程如下:

(6) 单一签密验证:当VANETs场景中交通较为稀疏时,接收方用户可以逐条验证签密信息。当接收方用户IDB接收到来自发送方用户IDi的签密σi时,执行以下验证操作:计算h2i=H2(ci,IDi,Ui,RIDi,XIDi,RIDB,XIDB,Ppub),验证等式viP=RIDi+h1iPpub+Ui+h2iXIDi。若验证失败,则丢弃消息,否则计算P′i=(xIDB+dIDB)Ui,得到明文消息IDi‖mi=ci⊕H3(P′i,IDB)。

4.2 安全性分析

4.2.1 机密性

定理1(敌手A1的选择密文攻击下的保密性) 在随机预言模型中且ECDH问题难解的情况下,敌手A′1能够以不可忽略的优势赢得游戏IND-CCA2,则存在一个算法C在有限的多项式时间内能够解决ECDH困难问题。

初始阶段:C执行初始化步骤,得到公共参数Params,并将Params发送给敌手A′1,A′1无法获取系统主密钥信息。令Ppub=aP,C随机选择ID*作为被挑战者。

问询阶段:C维护列表L1,L2,L3,Ls,Lsk,Lpk来记录问询相关的结果。其中,L1,L2,L3分别用于跟踪预言机H1,H2,H3,Ls,Lsk,Lpk用于跟踪用户秘密值,私钥和公钥生成问询结果。所有列表初始化为空。

秘密值问询:C收到敌手A′1关于IDi的私钥信息问询时,若IDi=ID*,则C终止模拟;否则,C查询表LC。若Lc中存在这一项,则直接返回xIDi;若不存在,则C进行关于IDi的创建用问询获得(IDi,xIDi,rIDi,⊥,RIDi,XIDi),并将xIDi返回给A′1。

部分私钥问询:C收到敌手A′1关于IDi的部分私钥信息问询时,若IDi=ID*,则C终止模拟;否则,若IDi≠ID*,则C查询表Lc获得rIDi;若rIDi不存在,则C进行关于IDi的创建用问询,获得(IDi,xIDi,rIDi,⊥,RIDi,XIDi),进而获得rIDi,令dIDi=rIDi。将(IDi,xIDi,rIDi,dIDi,RIDi,XIDi)存入表Lc中,并将dIDi给A′1。

公钥替换问询:C收到敌手A′1(IDi,R′IDi,X′IDi)问询时,若IDi=ID*,则C终止模拟;否则,若IDi≠ID*,将(IDi,⊥,⊥,⊥,R′IDi,X′IDi)存入表Lc。

解签密问询:C收到敌手A′1的(ID1,ID2,…,IDn,σagg,IDB)问询时,若IDi≠ID*,则C按照方案进行解签密操作。验证等式viP=RIDi+h1iPpub+Ui+h2iXIDi是否成立,若成立,则返回明文消息mi;否则终止游戏;若IDi=ID*,则C查询表L2和L3;若表中存在相对应元组,则返回明文消息mi;否则停止模拟。若IDi的公钥被替换,则C查询表L2和L3;若表中存在相对应元组,则返回明文消息mi;否则停止模拟。

定理2(敌手A2的选择密文攻击下的保密性) 在随机预言模型中且ECDH问题难解的情况下,敌手A′2能够以不可忽略的优势赢得游戏IND-CCA2,则存在一个算法C在有限的多项式时间内能够解决ECDH困难问题。

证明 由于篇幅原因,这里不再赘述。

4.2.2 不可伪造性

定理3(敌手A1的选择消息攻击下的不可伪造性) 在随机预言模型中且ECDLP难解的情况下,敌手A″1能够以不可忽略的优势赢得游戏EUF-CMA,则存在一个算法C在有限的多项式时间内能够解决ECDLP困难问题。

初始阶段:C执行初始化步骤,得到公共参数Params,并将Params发送给敌手A″1,A″1无法获取系统主密钥信息。令Ppub=aP,随机选择ID*作为被挑战者。

问询阶段:问询阶段同定理1。

(1)

(2)

用等式(2)减去等式(1),得到以下的推导公式:

定理4(敌手A2的选择消息攻击下的不可伪造性) 在随机预言模型中且ECDLP问题难解的情况下,敌手A′2能够以不可忽略的优势赢得游戏EUF-CMA,则存在一个算法C在有限的多项式时间内能够解决ECDLP困难问题。

证明 由于篇幅原因,这里不再赘述。

定理5在笔者聚合签密方案中,假设H4具有哈希抗碰撞性,那么该方案可以抵御用户间的合谋攻击。

证明 挑战者C的目的是利用敌手A3来打破哈希函数H4的抗碰撞性。初始化与问询阶段同定理1。

5 性能分析

在计算开销和功能上与现有文献[10-15]中的6个方案进行了对比,如表1所示。笔者使用MIRACLE库,在超奇异椭圆曲线上测试了一次点乘操作TM以及一次双线性配对操作TP所需的时间分别为1.225 3 ms和9.788 4 ms。在签密消息数量为5 000时,文献[10]需要140 769 ms,文献[11]需要159 079 ms,文献[12-13]中的方案需要36 730 ms,文献[14]需要67 321 ms,文献[15]需要55 187 ms,文中方案需要36 730 ms。文献[11-12,14-15]都使用了双线性配对操作而产生较大计算开销。基于Schnorr签名的方案在计算开销上具有很好的优势。但文献[12-13]中的方案仍存在安全问题,它们无法抵御公钥替换攻击和合谋攻击。可以看到,笔者的方案在不增加计算开销的同时,可以同时抵御这两种攻击,提供了更好的安全性与功能性。

表1 计算开销、功能对比

图1 平均车速与传输延迟

图2 车辆密度与传输延迟

图3 车辆密度、平均车速和丢包率

6 结束语

笔者提出了一种新的无证书聚合签密方案。该方案可以同时抵抗两类公钥替换攻击以及合谋攻击,解决车联网安全问题。且与现有方案相比并未增加整个验证阶段的计算开销。通过实验模拟,该方案完全符合车联网特性,适用于车联网。

猜你喜欢

敌手私钥公钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
与“敌”共舞
基于改进ECC 算法的网络信息私钥变换优化方法
不带着怒气做任何事
一种基于混沌的公钥加密方案
一种基于虚拟私钥的OpenSSL与CSP交互方案
HES:一种更小公钥的同态加密算法
SM2椭圆曲线公钥密码算法综述
基于格的公钥加密与证书基加密