APP下载

车联网中基于身份的聚合签名认证

2018-07-19吕柳迪张应辉苏昊楠

计算机工程与设计 2018年7期
关键词:敌手离线消息

吕柳迪,郑 东,2,张应辉,2,3,闫 铭,苏昊楠

(1.西安邮电大学 无线网络安全技术国家工程实验室,陕西 西安 710121;2.卫士通信息产业股份有限公司 卫士通摩石实验室,北京 100070;3.中国密码管理局 密码科学技术国家重点实验室,北京 100878)

0 引 言

根据短距离通信协议(dedicated short range communications,DSRC[1]),VANET[2]中每辆车每100 ms到300 ms会广播交通安全信息,发送车辆驾驶相关信息给其它车辆,RSU可对其进行回应,因此在大量消息传输的车联网中提高签名效率及验证效率受到了广泛关注。文献[3]提出了聚合签名算法将来自n个用户的n个不同消息的n个签名聚合成单个短签名;文献[4]提出了在线/离线签名方案,从预先计算的结果快速计算数字签名,计算存储成本降低;文献[5,6]采用批量验证的方法验证交通流中产生的大量信息;文献[7]提出基于身份的聚合签名;文献[8]提出了基于身份聚合签名的完整域哈希,但认证时需要大量双线对运算;文献[9]中的无证书聚合签名降低证书管理负担,验证时所消耗双线对运算较多;文献[10]所提出的方案易遭到恶意攻击,不能达到所要求的安全性,签名能够伪造成功。

本文介绍了一个安全有效的基于身份的在线/离线聚合签名方案,解决了证书管理吊销等问题,并且将签名分为在线和离线两个阶段,用户可重用离线阶段预计算的信息,减少了签名的时间,降低了计算开销以及通信开销。允许将多个签名聚合成一个签名,RSU只需验证一个签名便可实现对众多车载单元信息的认证,减轻了RSU的工作量,提高了验证效率。方案中最终签名长度变短,提高了传输效率。在自适应选择消息攻击下,能够抵抗存在性伪造。

1 问题描述

1.1 系统模型

考虑到车联网通信的实际应用要求,车载中断在向路边固定的基础设施发送消息时,由于不可靠的网络传输,用户的数据可能被恶意攻击者篡改,或者会有不法用户试图接入该网络中。因此,我们主要工作在于如何安全地实现对车辆的认证,保证车载自组织网络中用户信息的安全需求。我们的系统模型如图1所示。其中通信实体包括认证中心(trusted authority,TA)、可信服务器、部署在道路两旁的固定基础设施RSU、车载通信单元OBU。

图1 车联网系统模型

其中的通信方式包括车辆OBU之间的通信和车辆与路边基础设施RSU间的通信,车辆与RSU之间的通信遵从DSRC协议。车辆间的通信采用无线传输方式,TA与RSU之间通过安全的有线网络进行连接。RSU与服务器和TA之间使用安全的传输协议,例如有线传输层安全协议(transport layer security,TLS)。

(1)TA是可信机构的,用于生成系统参数,密钥管理。

(2)RSU将从OBU接受到的有效信息转发给服务器,计算能力高于OBU,通信范围大于OBU通信范围。每一个RSU需要对从OBU接收到的签名验证其正确性。

(3)服务器对RSU收集的车辆工作信息进行分析并反馈给RSU,服务器可以帮助收集分析整个城市的交通密度,预测交通分布达到优化交通灯控制的目的。

(4)添加了OBU的车辆可与附近的车辆或RSU进行通信,每辆车都有其对应的公私钥,所有的消息在发送给相邻的RSU前需签名。

1.2 设计目标

本文设计的基于身份的在线/离线聚合数字签名方案主要实现以下功能:

(1)使用在线/离线签名技术,降低用户计算开销。

(2)签名长度恒定,节省通信过程中的传输开销。

(3)支持对来自不同用户签名消息的批量验证,提高验证效率。

1.3 安全模型

基于身份的在线/离线聚合数字签名应该在自适应选择消息攻击下抵抗存在性伪造。下面通过敌手A和挑战者C之间的游戏来定义抗存在性伪造的安全模型。

(1)系统初始化

挑战者C运行系统初始化算法得到系统公开参数Params,并发送给敌手A。

(2)询问阶段

Hash询问:对于任何输入,挑战者计算Hash值,返回给敌手A;Extract询问:对于身份为IDj的敌手,挑战者返回相对应的私钥skIDj;Sign询问:对于任何身份为IDj的敌手的待签名消息mj,挑战者运行在线/离线签名算法生成签名值σj,并返回给A。

(3)响应

在经过多项式次数询问后,敌手A输出身份 (ID1,ID2,…,IDn) 对n个消息 (m1,m2,…,mn) 的聚合签名σ。如果A没有进行私钥查询,并且 (ID1,m1) 没有进行Sign查询,σ为一个有效的签名,则敌手A赢得游戏。

定义1 如果敌手A运行时间最多为t,以不可忽略的优势ε赢得了游戏,且敌手A进行Hash询问的次数最多为qh次,Extract询问的次数最多为qe次,Sign询问的次数最多为qs次。则敌手A,以 (t,qh,qe,qs)-breaks基于身份的在线/离线聚合数字签名系统S。如果没有敌手可以 (t,qh,qe,qs)-breaks签名系统S,则本方案在自适应选择消息攻击下抵抗存在性伪造。

2 预备知识

2.1 双线性对

设k为安全参数,q为k比特的大素数,G1是阶为q的加法循环群,G2是阶为q的乘法循环群。假设G1,G2上的离散对数问题是难解的。G1到G2的双线性映射e:G1×G1→G2,满足下面的性质:

e(aP,bQ)=e(P,Q)ab

(2)非退化性:存在P,Q∈G1, 使得e(P,Q)≠1G2。 因此当P为G1的生成元时,e(P,P)为G2的生成元。

(3)可计算性:对于所有的P,Q∈G1, 存在一个有效的算法计算e(P,Q)。

2.2 数学假设

令G是素数阶为q的阿贝尔群,并且P是G的生成元。在加法群(G,+)中描述以下3个数学问题。

CDHP假设:在多项式时间内没有运行的算法,这可以解决具有不可忽略概率的CDHP问题。

(t′,ε′)-CDH群:如果存在运行时间至多为t′的概率算法A,该算法可以以概率为ε′计算出CDH问题,则称(t′,ε′)-CDH问题在群G上成立。

3 基于身份的在线/离线聚合签名方案

本方案实现了对多个签名消息进行批量验证,并且签名的长度变得很短,这样的聚合签名在车联网的应用可以减少通信开销。

(1)系统初始化算法

TA为可信中心,可验证车辆的身份信息,并负责生成系统参数、系统公私钥及车辆节点的公私钥。在网络部署之前,TA为每一个RSU和OBU设置系统参数,如下所示:

1)TA选择一个安全参数k∈Z,生成一个素数q,群G1,G2的阶都为q,并且有双线性对e:G1×G1→G2,P为G1的生成元。

(2)密钥生成算法

车辆节点的身份标识为IDj∈{0,1}*,TA为每一个IDj计算公钥QIDj=H1(IDj), 私钥为SIDj=sQIDj, 通过安全的信道将私钥传给相应的车辆节点。

(3)签名算法

当车辆在路上行驶他们定期地广播可能影响交通控制中心的决策和交通分布优化的交通相关信息。为了确保消息的完整性,车辆发出的每一条信息都应被签名并且验证每一条接收的信息,签名阶段分为如下步骤:

1)离线签名

每一个车辆节点Vj能源储备较充足,因此可以执行计算开销较大的模幂运算以及双线性对运算。当签名消息待定时,车辆Vj执行离线签名进行签名的预计,并将计算结果保存在本地。车辆可在下一次签名时跳过此步骤直接利用结果进行在线签名,这样可以减少签名的时延。

身份为IDj的车辆Vj生成待发送的消息mj,车辆Vj计算:Yi=e(Ppub,Q)2i,i=0,1,…,l,l=|q|-1。

2)在线签名

(4)聚合算法

对于车辆用户集合,车辆节点Vj的身份为IDj,每一个车辆节点相对应的消息签名为

{σ1=(Y(1),R,Z1),σ2=(Y(2),R,Z2),…,σn=(Y(n),R,Zn)}

聚合者(任何一个车载通信单元OBU都可以充当聚合者)负责将各个签名聚合起来,形成一个聚合签名,并计算

最终对消息mj,1≤j≤n的聚合签名为σ(Y,R,Z)。

(5)批量验证

RSU接受到来自车辆发布的交通相关信息,需验证签名确保相应的车辆不冒充任何其它合法车辆或者传播伪造的信息。

RSU收到来自车辆对于消息m1,m2,…,mn的签名σ,RSU计算hj=H2(mj,R,Y(j)), 1≤j≤n。

验证下面等式是否成立

(1)

如果等式成立,接受签名消息,并将消息广播出去,否则拒绝。

签名正确性:是对消息mj,j=1,2,…,n和身份IDj,j=1,2,…,n的有效签名,则有以下运算

e(Z,P)=

等式(1)成立,当且仅当

Y(j)=e(Ppub,P)yj,j=1,2,…,n

对于任何1≤j≤n,有

因此,验证成功。

4 安全性分析

定理1 假设G1,G2都是阶为q的(t′,ε′)-CDH群,e(G1,G1)→G2为一个双线性映射。在随机预言机模型下,本文提出的方案是(t,ε,qh1,qh2qe,qs,N)-抵抗存在性伪造的,其中t和ε满足

ε≥e(qs+N)ε′
t≤t′-CG1(qh1+qh2+2qs+N+2)

式中:e为自然对数的底,CG1是群G1中求幂和求逆运算所需要的时间。

证明:假设敌手A伪造了一个有效的签名。构造一个算法B模拟挑战者与敌手A交互,则t′次多项式时间算法B可以至少以概率ε′解决CDH问题。算法B计算出CDH问题的解abP∈G1。

(1)系统初始化:算法B计算Ppub=aP作为公钥,将系统参数发送给敌手A。

(2)H1-Hash询问:为了响应H1的询问,算法B维护列表 (IDj,αj,βj,cj), 记为L1。敌手A对身份IDj进行H1询问时,算法B做出如下响应:

1)如果身份IDj存在于列表L1中,则算法B返回H1(IDj)=βj。 否则,算法B随机选择cj∈{0,1}, 使Pr[cj=0]=1/(qe+N)。

3)算法B将元组 (IDj,αj,βj,cj) 添加到列表L1中,并将H1(IDj)=βj发送给A。

(3)H2-Hash询问:为了响应H2的询问,算法B维护列表 (mj,R,hj,Y(j)), 记为L2。敌手对mj和Y(j)进行H2询问时,算法B做出如下响应:

1)如果 (mj,R,Y(j))存在于列表L2中,则算法B返回hj=(mj,R,Y(j))。

(4)Extract询问

敌手询问IDi的私钥时,算法B做如下响应:

1)算法B查询列表L1中元组(IDj,αj,βj,cj)。 若cj=0,算法B输出失败并终止。

2)若cj=1,算法B计算sIDj=αjPpub=a(αjP)并将私钥sIDj发送给敌手A。

(5)Sign询问

敌手询问身份为IDj对应消息mj的签名时,算法B做出如下响应:

1)算法B查询列表L1中的元组 (IDj,αj,βj,cj)。 如果cj=0,算法B输出失败并终止。

3)算法B计算Zj=(x+yj)Ppub+hjsIDj, 将签名σj=(Y(j),R,Zj) 发送给敌手A。

(6)输出

算法A输出身份(ID1,ID2,…,IDn) 所对应消息 (m1,m2,…,mn) 的有效聚合签名σ。当且仅当c1=0,cj=1, 2≤j≤n时,算法B继续运行,否则,算法B输出失败并终止。由c1=0得,H1(ID1)=α1(bP)。 由cj=0得,H1(IDj)=αjP。 聚合签名σ必须满足

算法B查找n个元组 (mj,R,hj,Zj), 当i≥2时,Zj=(x+yj)Ppub+hjsID, 则

e(Zj,P)=e((x+yj)Ppub+hjsID,P)=
e(Ppub,xP)·e(Ppub,P)yj·e(hjQID,Ppub)=
e(Ppub,P)yj·e(R+hjQID,Ppub)=
Y(j)·e(R+hjQID,Ppub)

因此, (Y(j),R,Zj) 为身份IDj对消息mj的有效签名。

算法B至少以概率ε′成功地解决CDH问题,算法B成功的3个条件为:E1:算法B不因为Sign询问而终止。E2:敌手A伪造了一个有效的签名。E3:上述E2事件发生的同时,c1=0,cj=1,2≤j≤n。cj为列表L1中包含身份IDj的元组中的值。

若上述事件均发生,则B获得成功,相应的概率记为Pr[E1∧E2∧E3]=Pr[E1]Pr[E2|E1]Pr[E3|E1∧E2]。

推论1 算法B不因为Sign询问而终止的概率Pr[E1]至少为(1-1/(qs+N))qs。

证明:假设敌手A对相同消息的询问不超过两次。归纳证明A进行j次签名询问后,B不终止的概率至少为(1-1/(qs+N))j。 当j=0时,推论为真。IDj为A的第j次签名询问, (IDj,αj,βj,cj) 为列表L1中的元组。在A询问之前,只有H1(IDj)取决于随机的cj,H1(IDj)的分布是相同的。因此,签名询问导致B中止的概率至少为1/(qs+N)。 基于归纳假设和cj的独立性,在签名询问后B不终止的概率至少为(1-1/(qs+N))j。 因此,B不因为A至少qs次签名询问而中止的概率至少为(1-1/(qs+N))qs。

推论2 算法B不因为A的询问而中止,那么A输出一个有效的聚合签名的概率与真实攻击是一致的。即Pr(E2|E1)≥ε。

证明:A的公钥与密钥生成算法产生公钥具有相同的分布。因为每一个响应在G1中都均匀独立分布,所以对Hash询问的响应与真实攻击一致。对于所有询问的响应都是有效的,因此A生成一个有效的签名的概率至少为ε。即Pr(E2|E1)≥ε。

推论3 算法B在A输出有效的伪造之后而不终止的概率至少为(1-1/(qs+N))N-1·1/(qs+N)。 即Pr[ε3|ε1∧ε2]≥(1-1/(qs+N))N-1·1/(qs+N)。

证明:算法B会中止,除非A生成伪造签名且c1=0,cj=1,2≤j≤n。 Pr[c1=0]=1/(qs+N), Pr[ci=1]=1-1/(qs+N)。 对于所有的2≤j≤n,cj=1发生的概率至少 (1-1/(qs+N))j-1≥(1-1/(qs+N))N-1。

算法B运行的时间为A运行的时间加上回应 (qs+qh1+qh2)Hash询问的时间,qs次签名询问的时间,以及A最终伪造签名转化为CDH问题的时间。因此,算法B总的运行时间至少为t′≥t+CG1(qh1+qh2+2qs+N+2)。

5 效率分析

车联网中聚合签名的实用性主要取决于安全、聚合签名长度、聚合(批量)验证效率。而在本文第5小节验证了本方案可抵抗存在性伪造;聚合签名的长度影响带宽利用率。表1为本文方案与现有方案对于n条消息签名所需的通信代价的对比,其中L表示长度单位。不难看出利用本方案可使车联网中用户对消息的最终签名长度变短,效率较高,通信代价降低。

表1 通信代价对比

在保证安全性的前提下,计算开销也是聚合签名方案考虑的一个重点。如表2所示,给出了现有方案与本文方案在计算开销上的对比。其中双线性对为比较耗时的计算,表3为所运用符号及个符号执行一次所用时间,由于哈希函数运算消耗时间较少,故忽略哈希运算花费时间。不难看出本文方案在计算效率相对较高。

表2 效率对比

随着消息个数的增加,最终签名的时间随之增长,用户可将离线阶段生成的参数保存在本地,当需要再次签名时,不需要再次计算具有双线性对运算的离线参数,只需计算不耗时的乘法及指数运算,极大提高了签名的效率。

表3 符号定义

6 结束语

本文针对节点众多、网络拓扑变化快的车联网系统中数据完整性及认证的问题提出了在线/离线聚合签名方案,通过安全性及效率分析,本文所用签名方案计算开销较少,适用于开放的无线网络;车辆用户或者RSU可以一次验证多个签名消息,提高了验证效率;最终签名长度变短,节省通信过程中的开销。本方案在随机预言机模型下,在自适应选择消息攻击下可以安全的抵抗存在性伪造。随着待签名消息的增加,签名长度不变。本文方案适用于公用车辆及RSU等不需隐私保护的实体,减轻密钥管理负担,提高车联网的认证速度。在将来的工作中,还需对要求隐私保护的私有车辆的消息认证进行研究,保证个人车辆的匿名性,提高安全性。

猜你喜欢

敌手离线消息
与“敌”共舞
异步电机离线参数辨识方法
呼吸阀离线检验工艺与评定探讨
浅谈ATC离线基础数据的准备
一张图看5G消息
不带着怒气做任何事
离线富集-HPLC法同时测定氨咖黄敏胶囊中5种合成色素
消息
消息
消息