牛淑芬,闫 森,吕锐曦,周思玮,张美玲
(1.西北师范大学 计算机科学与工程学院,兰州 730070;2.西北师范大学 数学与统计学院,兰州 730070)
计算机系统和无线网络通信技术的快速发展扩大了智能交通系统的应用范围。车联网正在成为智慧交通的重要组成部分,车联网通过车载单元、路侧采集模块、车路通信单元等设备实现车辆运行数据的实时采集,进而搭建监测大规模车辆实时运行信息的数据平台,并提供各类数据服务。由于交通密度的增加,交通堵塞、事故的发生率也大幅增加,车联网已经成为道路安全和交通管理等特定应用的重要研究领域,它允许车辆和基础设施交换信息,确保道路安全和有效的交通管理。在车联网中,车辆对一切(V2X)的通信主要分为车辆对基础设施(Vehicle-to-Infrastructure,V2I)和车辆对车辆(Vehicle-to-Vehicle,V2V)[1]。V2I 通信允许车辆在驾驶时向路边单元(Road-Side-Unit,RSU)发送消息,V2V 通信可以实现相邻车辆之间的信息交换。V2V 通信技术允许相邻车辆传输或交换信息,可以提高道路安全,减少交通拥堵,提供高效的交通管理。目前,V2V 通信中存在的主要问题是如何提高数据交换的准确性和及时性。明文信息很容易被截获和篡改,车辆无法区分收到的信息是否真实,并且车辆更愿意相信经过认证的机密信息。因此,消息的认证和抗篡改成为V2V 安全通信最重要的要求。
在车联网通信中最重要的是安全性要求,如机密性、车辆身份验证、消息的完整性和不可否认性。在一般情况下,机密性通过加密方案获得,车辆身份验证、完整性和不可否认性通过数字签名方案[2-4]获得。车载自组网(VehicularAd-hoc Networks,VANET)中的安全消息需要签名,但不需要加密。然而,在广播网络中,这样的消息可能会被窃取或截获。因此,需要确保恶意的第三方不能轻易获得该消息的内容。解决这个问题的一种方法是使用签名加密,它不仅按照传统方法的要求对消息进行签名,而且还对其进行加密。因此,在车联网中使用签密是必要的。签密作为一种新的密码原语于1997 年由ZHENG[5]提出,它可以将数字签名和加密同时实现,其成本要比签名后加密或加密后签名的成本小得多。
随着移动通信行业的发展,5G/6G 网络成为目前研究的热点。为满足5G/6G 车联网的不同需求,人们引入网络切片技术[6-8]。由于不同的网络切片可能使用不同的密码系统和密码系统参数,研究人员提出了异构签密方案。2010 年,SUN 等[9]提出异构系统签密,并对其进行了安全性证明,但他们的方案容易受到内部攻击,并且也不能实现不可否认性。文献[10]提出一种针对内部攻击的异构签密方案。然而,该方案只允许基于身份的密码系统(IBC)中的车辆发送消息给公钥基础设施(PKI)中的接收车辆,并且没有考虑发送方的隐私。文献[11]提出两种异构签密方案来保证VANET 中异构V2V 通信的安全:一种方案是PKI 中的车辆将消息发送给IBC 中的车辆;另一种方案是将两者的身份进行互换。然而,在这两种方案中,发件人的隐私并没有得到保证。文献[12]提出了两个与文献[9]方案相似的签密方案,保证了VANET 中异构V2V 通信的安全,但不能保证车辆的隐私和可追溯性。此外,它们不支持对多个密文的批处理解签密。文献[13]提出了4 种签密方案来保证异构V2I 通信的安全,因为这些方案具有较大的计算量,并不适用于V2V 网络。文献[14]提出基于边缘计算的无证书聚合签密方案,虽然无证书密码体制可以防止公钥替换攻击以及密钥托管问题,但其伪身份的产生、车辆与路边单元的传输都需要很长的计算时间,不能及时进行通信。文献[15]提出一种适用于车联网的高效签密方案,虽然没有使用双线性对运算,但采用大量的指数、乘法运算,并且该方案只考虑了一对一的通信,未考虑多个发送者的情况。
为满足车联网场景中对时延及可靠性的需求,本文将网络切片与车联网相结合,提出一种PKI 和IBC 公钥密码系统之间多对一的异构签密方案,确保在PKI 密码体制网络中将多个车辆的消息传输到IBC 网络中的车辆。该方案使用聚合签密技术对车辆的多个消息同时进行签密验证,以提高算法执行效率,降低通信和存储成本。
车载自组网是一种移动自组织网络,它允许车辆和基础设施交换信息,确保道路安全和有效的交通管理。在VANET 中,每辆车辆都与相邻的车辆以及RSU 进行通信,这种通信类型通常被称为V2X 通信,可以分为以下两种通信方式:
1)车辆与基础设施之间的通信。在V2I 通信中,主要是RSU 等基础设施与道路内的每辆车辆之间的通信,车辆将交通信息发送给RSU 处理,RSU与其通信范围内的车辆进行通信。V2I 系统模型如图1 所示。
图1 V2I 系统模型Fig.1 V2I system model
2)车辆与车辆之间的通信。V2V 通信支持道路状态信息广播,即使没有网络基础设施覆盖,车辆也可以进行通信,V2V 系统模型如图2 所示。车辆将自己的位置和方向发送给其他车辆,车辆也可以接收或交换交通信息,如位置信息、道路拥挤情况等。V2V 通信不依赖于RSU 的位置,更加灵活自由。
图2 V2V 系统模型Fig.2 V2V system model
网络切片是指利用软件定义网络(Software Designed Network,SDN)或网络功能虚拟化(Network Function Virtualizaiton,NFV)[16]等技术,将一个物理基础设施的计算和通信资源划分并优化为多个独立的逻辑网络,提供各种应用服务。NFV 使用通用硬件实现网络功能的低成本需求,而SDN 对控制平面与数据平面进行分离,以提供高效、灵活的资源管理[17]。因此,基于NFV 和SDN 的网络切片可以被认为是5G/6G 网络中不可或缺的网络技术。一方面,网络切片可以挖掘和释放通信技术的潜力,提高效率,降低成本;另一方面,网络切片在车联网、智慧城市、工业制造等领域具有潜在的市场需求。
5G/6G 网络切片可以分别满足车联网对超低时延、高可靠性与超长数据包、超高数据速率和超高可靠性等具体应用的要求[18-20]。从本质上讲,它将物理网络划分为多个虚拟网络,每个虚拟网络对应时延、带宽和安全性等业务需求中的一个,满足不同的网络应用场景。此外,随着网络切片代理[21]的引入,5G/6G 网络切片技术可以实现网络资源的共享,将原本相互独立的网络资源进行整合和分配,从而实现相应特殊需求的网络资源的实时动态调度。
设两个不同的循环群G1和G2分别为加法群和乘法群,其阶是相同素数p。设e:G1×G1→G2为一个双线性对的函数,其中P是G1的生成元,满足下列双线性对的性质[22-23]:
1)双线性。存在任意的a,,都有e(aP,bQ)=e(P,Q)ab。
2)非退化性。存在P,Q∈G1,使得e(P,Q) ≠1。
3)可计算性。对于任意的P,Q∈G1,存在有效的算法能够计算e(P,Q)。
相关的困难问题主要有以下2 点:
1)决策性Diffie-Hellman 问题(DDHP)。在循环加法群G1和其生成元P的基础下,给定(P,aP,bP,cP),其中a,b,,求解ab=cmodp。
2)离散对数问题(DLP)。给定(P,αP),在有限循环群G1及其生成元P的基础上对进行求解。
本文考虑从PKI 密码体制到IBC 密码体制的V2V 异构车辆通信模型,实体包括可信权威(TA)机构、路边单元(RSU)、车辆(V)、证书权威(CA)机构、密钥生成中心(PKG),如图3 所示。从图3 可以看出,实体可以通过不同的有线通信技术(如以太网)或无线替代技术(如DSRC 协议[24])通信。
图3 本文系统模型Fig.3 The system model of this paper
可信权威(TA)机构:在VANET 中,其生成和广播公共系统参数以及注册RSU 和车辆。
路边单元(RSU):通过无线信道与被覆盖区域内的车辆以及其他的RSU 进行通信。RSU 将车辆发送过来的信息进行验证,并将其发送给其他车辆。
车辆(V):在每辆车辆上安装OBU 等无线通信装置,捕捉附近车辆或路边传感器的信息。在PKI环境中的发送方车辆,向IBC 环境中的邻近车辆和RSU 发送消息。
证书权威(CA)机构:对PKI 中的用户进行身份验证,并对用户的公钥和身份信息进行签名,产生公钥证书,将公钥证书发送给用户。
密钥生成中心(PKG):根据用户的身份标识产生相对应的私钥,然后通过安全信道发送用户的公私钥对。
本文算法定义如下:
系统建立:该算法由TA 执行,将安全参数k输入,将系统参数params、系统公钥mpk 和主密钥msk输出。
密钥生成:PKI 系统中的用户随机选取私钥sk并计算对应的公钥pk。CA 收到用户的身份和公钥后,对其进行签名并生成公钥证书。
密钥提取:IBC 系统中的用户将身份IDU发送给PKG,PKG 根据身份信息计算相对应的私钥SIDU,而身份IDU是用户的公钥pk。
签密算法:发送者根据系统参数params、消息mi和接收者的公钥pkr,使用自己的私钥sks生成密文σi。
聚合签密算法:接收者根据收到的密文σi和发送者的公钥pks,使用自己的公钥IDr生成聚合签密密文σ。
聚合解签密算法:接收者通过给定的密文σ和发送者的公钥pks,用自己的私钥SIDr对σ解签密,输出明文mi。
为保证消息传输过程的安全性,方案必须满足以下需求及定义的两种安全模型。通过在多项式时间模拟敌手A 和挑战者C 之间的游戏来定义消息的机密性和不可伪造性。
游戏1(机密性)通过使用挑战者C 和敌手A分3 个阶段进行游戏,证明适应性选择密文攻击具有不可区分性。
初始阶段:通过给定安全参数k,C 可以获得系统参数,通过系统建立算法,同时执行密钥生成算法可以计算出n个发送者的公私钥对(pksi,xsi),C 将系统参数和发送者的公钥pksi发送给A。
解签密询问:A 将接收者身份IDr和密文σ提交给C,若,则输出⊥,否则C 对密文σ运行解签密算法,将恢复的消息发送给A。
挑战阶段:在阶段1 询问结束后,敌手A 发起适应性预言询问,生成长度相同的明文m0、m1以及接收者的身份,但A 不能通过询问获得目标身份的私钥,挑战者C 随机选择β∈{0,1},返回签密密文给A。
阶段2:A 收到密文σ*,发起适应性预言询问,并且A 不能用进行解签密询问来获取相对应的明文。
猜测阶段:当阶段2 结束后,A 通过输出一个比特β′来猜测β,若β'=β,那么A 赢得游戏。
游戏2(不可伪造性)通过使用挑战者C 和敌手A 分3 个阶段进行游戏,证明在适应性选择消息攻击下具有存在性与不可伪造性。
初始阶段:挑战者C 通过运行算法,输入安全参数k,将生成的系统公共参数params 和n个发送者的公私钥对发送给A。
攻击阶段:敌手A 将接收者的身份IDr和消息mi通过发送给挑战者C 并发起适应性预言询问,C 对询问做出响应,得到密文σi,并将密文发送给A。
系统建立:该方案由TA 执行,输入安全参数1k,TA 执行3种算法。
1)输出两个阶为素数p的循环群G1和G2,其中G1是加法群,其生成元为P,G2是乘法群,TA 随机选择一个主密钥,计算系统公钥P0=sP。
3)输出一个双线性映射e:G1×G1→G2,计 算K=e(P,P),将{G1,G2,n,P,P0,K,H1,H2,H3}系统参数公开,并对主密钥s进行保密。
密钥提取:在IBC 环境中,PKG 可以计算接收车辆的私钥,P通过其身份标识IDr,将公私钥(IDr,SIDr)通过安全信道发送给接收的车辆。
签密算法:对发送的消息mi,发送车辆的私钥sksi=xsi,接收车辆的身份IDr,该签密算法如下:
发送车辆将签密密文σi=(Ci,Si,Ti)发送给接收车辆。
聚合签密算法:接收车辆充当聚合者,收到消息mi对应的签密密文σi=(Ci,Si,Ti),计算,则聚合密文为σ=(Ci,S,Ti)。
聚合解签密算法:接收车辆收到的密文σi与发送车辆的公钥pks,用自己的私钥对密文进行解密,该聚合解签密算法如下:
下面将对本文方案的正确性进行证明,当且仅当通过签密算法可以计算异构签密密文σi=(Ci,Si,Ti)和异构聚合签密密文σ=(Ci,S,Ti),即下列等式验证成立:
1)验证者检查等式ri·e(Si,P)=e(hi,pksi),可以验证签密密文σi=(Ci,Si,Ti)的正确性。
2)验证该异构聚合签密方案的一致性。
本节基于决策性Diffie-Hellman 问题以及离散对数问题假设,证明本文方案在随机预言模型下的机密性与不可伪造性。
定理1在多项式时间t内,若敌手A 能够以不可忽略的优势ε获得游戏1 的胜利,则挑战者C 能够解决DDHP 困难问题。
初始阶段:挑战者C 建立该算法,输入安全参数k,生成系统公共参数,同时C 获取到n个发送者的公私钥对(xsi,pksi),通过使用密钥生成算法,将系统公共参数和发送者的公钥pksi发送给A。
阶段1:在这个阶段中,A 进行多次询问,而C 通过保存3 张列表L1、L2、L3,模拟A 对随机预言机H1、H2、H3的询问来回答A 的询问,其中H1的询问是不同的,并对目标身份进行H1询问。具体询问如下:
H1-询问:列表L1由元组{IDr,αr,pkr,skr,coin}组成,当A 使用IDr进行询问时,C 检查{IDr,αr,pkr,skr,coin}是否在列表L1中,若在列表L1中,则pkr返回A的值;否则C 产生一个随机数coin ∈{0,1},使得Pr[coin=0]=δ,Pr[coin=1]=1-δ,若coin=1,则C 计算pkr=bP,αr=⊥,skr=⊥;否则C 随机选择,计算pkr=αr P,skr=αraP,将其增加到列表L1中,将pkr发送到A 中。
H2-询问:元组(ri,mi)在列表L2中,挑战者C 判断元组(ri,mi,ρi)是否出现在列表L2中,若列表L2存在,则直接返回;否则,C 选择,将(ri,mi,ρi)补充到列表L2中。
H3-询问:元组{Ci,pkr,ri}在列表L3中,挑战者C判断元组(Ci,pkr,r,ξi)是否出现在列表L3中,若在表中则返回相应的ξi作为H3的值;否则挑战者C 随机选择整数,将元组(Ci,pkr,r,ξi)存储在列表L3中,返回ξi的值。
密钥提取询问:当A 对选择身份IDr进行询问时,若,则C 需要执行H1询问,从表L1获得{IDr,αr,pkr,skr,coin}并返回私钥,否则输出⊥。
解签密询问:A 把密文σ、发送者的公钥pksi、接收者的身份IDr发送给C。若,则C 对σ进行解签密,然后将结果发送给A,否则输出⊥。
挑战阶段:阶段1 的结束时间由A 决定。A 产生2 个等长的明文m0、m1和1 个接收者的身份。注意:该不能在阶段1 询问。C 输出一个随机的比特β'∈{0,1},并计算。最后,C将σ*发送给A。阶段2:若A 不对进行密钥提取询问,不提交通过对σ*进行解签密询问获得的明文,那么A 可以像阶段1 一样进行适应性的询问。
猜测:当所有询问结束后,A 得到一个β'∈{0,1}。如果β'=β,则A 赢得这次游戏并且优势为
定理2在随机预言模型下,假设DLP 问题困难,通过使用Forking 引理[25]来证明本文方案在适应性选择消息攻击下是存在性不可伪造的。
引理1在多项式时间t内,如果敌手A 赢得游戏2,那么挑战者C 以不可忽略的概率ε'解决DLP 困难问题。
证明利用Forking 引理来证明引理1。DLP 问题挑战者C 通过使用敌手A 解决一个给定的DLP 实例问题(P,αP),即计算α。
初始阶段:C 首先运行系统并建立算法得到系统参数,密钥生成算法得到n个发送者的公钥,将其发送给敌手A。
攻击阶段:H1、H2、H3询问中产生的数据被分别保存在列表L1、L2、L3中,并且这些预言机被保持在C中,同时A 可以对H1、H2、H3进行适应性询问。
H1-询问:若H1(IDi)已经被询问过,则返回L1的值;否则C 返回一个随机数,在列表L1增加(IDi,h1,j)。
H2-询问:列表L2由(mi,ri,h2,i)组 成,当A 对H2与h2,i进行询问时,如果h2,i已经在列表L2中并且被询问过,则直接返回;否则,C 随机选择h2,i∈G1并将(mi,ri,h2,i)增添到列表L2中。
H3-询问:列表L3由(ri,h3,i)组成,A 对H3和h3,i询问,如果从列表L3已经询问到h3,i,则直接返回到列表L3;否则,C选择h3,i∈{0,1}n,在列表L3中加入(ri,h3,i)。
签密询问:A 对消息进行签密询问时,将发送车辆和接收车辆的身份(IDi,IDr)以及两者之间传递的消息mi发送给C。
C 执行以下操作:
为分析本文方案的计算成本,将其与聚合签密方案[14]、签密方案[15]在签密阶段和解签密阶段进行比较。
本文提出基于PKI 密码系统传输与基于IBC 密码系统的V2V 异构聚合签密方案,而文献[14]提出了基于边缘计算的无证书V2I 聚合签密方案,两者采用不同的密码体制和车联网环境;文献[15]方案与本文所提方案在本质上有所不同,本文提出的是多对一的聚合签密方案,而文献[15]没有使用聚合技术。本文和其他两个方案虽然采用的是相同的主密钥,但采用不同的系统参数,使得本文方案在计算成本、计算效率与安全性方面较优。现将本文方案所采用的指数运算(Te)、哈希运算(Th)、乘法运算(Tm)、双线性对运算(Tp)、加法运算(Ta)和文献[14-15]方案采用的运算进行对比,并对其进行理论分析。
表1 是签密阶段的计算量比较,可以看出当传输消息时,各方案计算量由大到小依次为本文方案、文献[14-15]方案;在签密阶段,本文方案比文献[14]方案增加了指数计算,但减少了大量的乘法与加法运算,并且随着消息个数的增加,本文方案在乘法、加法计算量方面都远小于文献[14]方案。与文献[15]方案相比,本文方案采用聚合签密技术,在签密阶段需要对消息进行聚合,导致乘法与加法的效率有所降低,但减少了指数运算的计算量,总体上其计算效率较高。
表1 签密阶段的计算量比较Table 1 Computation comparison of signcryption stage
表2 是解签密阶段的计算量比较,当发送单个消息时,本文方案比文献[14]方案减少了5 个乘法运算,解密速度较快;与文献[15]方案相比,本文使用了双线性对运算,减少了乘法运算。随着发送消息个数的增加,本文方案在双线性对、哈希、加法以及乘法运算的使用上都远远少于文献[15]方案。相比文献[14]方案,虽然本文方案采用运算时间较长的双线性对运算,但使用聚合签密技术减少了其运算量。
表2 解签密阶段的计算量比较Table 2 Computation comparison of unsigncryption stage
本节对本文方案进行数值模拟实验。在双线性对密 码[26]基础上使用C 语言在2.9 GHz CPU、16 GB RAM PC 机的Linux 系统中进行数值模拟实验,如表3所示。
表3 系统配置和数学参数Table 3 System configuration and mathematical parameters
1)本文方案的计算效率。由于消息个数影响签密与解签密算法的运行时间,在分别统计签密消息m为20、40、60、80、100 时,执行整个算法、签密算法和解签密算法的时间如表4 所示。
表4 本文方案的计算效率Table 4 Computational efficiency of the proposed scheme s
2)比较分析。为减少实验环境因素导致的误差,将程序运行50 次取其平均值作为其实验结果。对本文方案、文献[14-15]方案所提出的签密及解签密算法进行比较,结果分别如图4 和图5 所示。
图4 不同方案签密阶段的时间成本Fig.4 Time cost of signcryption stage for different schemes
图5 不同方案解签密阶段的时间成本Fig.5 Time cost of unsigncryption stage for different schemes
从图4 可以看出,签密时间随着签密消息个数的增加而延长,但本文方案具有较短的时间。与文献[14]方案相比,两者的车联网环境不同,本文在V2V 的车联网环境中进行签密,而文献[14]方案在V2I 环境中,车辆与车辆之间的距离相对较短,两者的速度相对也比较低。因此,车辆与车辆在传输环境和传输速度方面优于RSU 与车辆之间。虽然本文在签密阶段增加了指数运算,但大幅降低了加法与乘法运算的使用,导致接收车辆进行签密时所用时间更短。文献[15]方案是发送车辆来发送消息,为了公平比较,将其发送者进行倍乘,由于本文方案进行聚合签密,只用执行一次签密算法,而文献[15]方案的接收车辆执行签密算法的次数是根据发送车辆的数量来执行的,导致这个签密的时间比较长。因此,本文方案的签密效率远高于[14-15]方案。
从图5 可以看出,本文方案的解签密效率比文献[14-15]方案都要高,文献[14]提出一种基于边缘计算的无证书聚合签密方案,由于发送方与接收方都需匿名通信,导致在解签密时采用较多的乘法运算,使其在解签密阶段所用的时间较长,并且本文方案的传输效率比文献[14]方案要高,因为不用考虑RSU 的地理位置,可以及时将信息传递到接收车辆,不用等待路边单元处理完的信息,而文献[15]方案接收车辆解签密的次数与消息的数量成正比,使方案的计算和传输效率都比较低。由于本文采用的是聚合签密,接收车辆可以进行批验证处理,并对接收到的密文进行聚合解签密,只用执行一次算法。
本文分析5G/6G 车联网中消息传输的隐私问题与传输速率问题,将网络切片与车联网相结合,提出一种面向V2V 车联网的隐私保护性异构聚合签密方案,以适用于多对一的应用场景。本文使用异构签密技术,确保基于PKI 环境与IBC 环境的5G/6G 切片中车辆之间的安全通信,同时使用聚合签密,允许接收车辆同时对多个密文进行解密验证。实验结果表明,该方案在签密与解签密阶段的计算效率高于基于边缘计算的无证书聚合签密方案。下一步将在本文方案中加入边缘计算,以降低系统实体间通信时延,增强车联网的计算能力。