王栋 岳泽轮
1.武警后勤学院保密档案与文化影视系天津300300
进入21世纪以来,计算机、网络通信等信息技术的迅猛发展,使人们越来越离不开愈加发达的网络带给我们的数字生活,以大数据为代表的数据科学与技术越来越受到人们的关注.同时,随着城市化浪潮与信息技术的日益发展,智慧城市或将成为下一代城市化发展的新理念和新实践.智慧城市建设的一个重要目标是为城市的精细管理提供全面的感知能力[1],并且向企业和个人提供优质的信息服务,其中尤为重要的是道路交通服务.
车载通信网络是随着物联网、无线传感器等技术的发展而出现的[2],其中的通信单元主要有路边设施单元(Road-Side Infrastructure Unit,RSU)、路上车辆和云端数据处理中心[3],在路边设施和车辆上都装载有3 个模块: 传感器模块、无线通信模块和数据处理模块;通信的模式主要有两种: 车与车通信V2V和车与设施间通信V2I;车与车之间的通信可以使行驶更加安全高效,路边设施将采集到的信息上传云端数据处理中心后,经中心决策后将行驶路线策略返回给路上行驶的车辆,可以缓解城市交通拥堵等问题.
但是,多样的应用,随之而来的就是多样的安全问题[4].若信息的传输不被保护,则攻击者可以通过伪造消息,使路边设施采集到错误的路况信息,影响云端数据中心的决策; 也可以假冒权威的路边设施向路上行驶的车辆广播虚假的城市路况信息,使驾驶者不能正确地决定行驶的路线等.因此,交通信息采集传输中的隐私保护和消息认证就变得尤为重要[5−6].
本文提出了一种基于多变量公钥密码[5]的消息认证及安全传输算法,算法满足前向安全性和后向安全性,保证路边设施广播消息的不可伪造性和保密性,并且可以抵抗虚假车辆信息被RSU 接收.
在我们设计的安全通信系统中,主要考虑的问题有两点: 如何将车辆信息安全地传输给路边设施RSU,并经由RSU 传输到数据中心;如何进行车与车之间的安全通信.在如图1所示的通信网络中,每一辆车上都装载有一个车载通信单元OBU(On Board Unit)与RSU 进行通信,每一个OBU 都代表一个车辆用户,以U={U1,U2,···,Un}代表某一时段与某个RSU 进行通信的车载通信单元.
图1 网络拓扑图
如图2所示,设RSU 广播的范围为1 000 m,OBU 的通信范围为200 m,在OBU 进入RSU 广播范围后就可以接收RSU 广播的路况信息,方便驾驶员进行路线选择,当OBU 与RSU 距离小于200 m 时,与RSU 进行通信,将本车信息传输给RSU,经RSU传输到云端数据中心后,由数据中心进行城市综合路况分析,并将分析结果返回给RSU,再经RSU 广播将路况信息发送到路上行驶的车辆,同理,只有车辆间距离200 m 以内时才进行通信.在此不讨论经车间路由将消息传输至RSU 的情况.
消息保密性:V2V、V2I 及RSU 与云端数据中心之间的通信必须经过加密,保证消息即使在被窃听的情况下也能保证数据的保密性.
消息的不可伪造性: 网络中各方之间的通信也必须满足可验证性和不可抵赖性,用以防止虚假RSU 发布伪造的路况信息和恶意攻击者伪装成合法的OBU 单元向RSU 发送虚假的车辆通过信息,从而误导云端数据中心对路况信息的综合判断.
前向安全性: 新加入通信网络中的车辆用户不能解密出其加入网络前的消息.
后向安全性: 在车辆用户退出通信后不能用旧的密钥去解密其退出网络后的密文.
图2 通信模式图
单一的公钥密码体制:对于密码通信芯片,采用单一密码体制的密码方案更容易实现,且各模块之间的计算资源、存储资源等都可共享通用,对于计算资源和存储资源都受限制的车载通信芯片来说,更加高效实用.
密码算法的高效性: 采用的密码体制和通信加密算法必须满足计算效率高的特点,以充分利用车载芯片拮据的计算资源.
方案的高安全性: 随着量子计算机的发展,抗量子攻击也成为安全方案设计时要考虑的重要方面,因此,采用更加安全的后量子密码是未来安全协议构造的趋势.同时,对于城市中车辆流动性大的特点,密码协议要保证消息的前向安全和后向安全,以保证过去的消息不被当前使用的密钥解密和过时的密钥不能够参与到当前的安全通信中.
2.1.1 MQ 问题
多变量公钥密码是一类公钥密码体制的总称,其门限函数形式为有限域上一类多元二次方程组,其安全性基于有限域上求解非线性方程组.
设大素数q,Fq是以q为阶的有限域,n表示变量的数目,g表示方程的数目,t表示方程组的全次数,x1,x2,···,xn表示有限域Fq上的n个变量,P表示有限域上的由g个n元变量组成的方程组,P=(p1,p2,···,pg).其中,
设y1,y2,···,yg也为有限域Fq上的变量,则多变量方程组可表示为
当全次数t为2 时,方程组P即为二次多变量方程组.
定义1.(MQ 问题)[7]给定有限域Fq上的方程组P,y1,y2,...,yg均为0,方程组中的变量和系数均来自有限域Fq,则称求解该方程组的问题为MQ(Multivariate Quadratic)问题.
2.1.2 油醋签名方案
设Fq为有限域,o和v是两个正整数满足n=o+v,设V={1,···,v},O={v+ 1,···,n},n个变量x1,···,xn中x1,···,xv被称为醋变量,而xv+1,···,xn则被称为油变量,可以定义下列o个二次多项式q(k)(x)=q(k)(x1,···,xn):
映射Q=(q(1)(x),···,q(o)(x))可以很容易地求逆,首先,随机抽取v个醋变量x1,···,xv,因而可以得到有o个油变量xv+1,···,xn的o个线性方程组成的线性方程组,而这可以根据高斯消元法得到解(若无解,则需重新选取醋变量)[8].
为了隐藏映射Q的结构,引入一个可逆的仿射变换T: Fnq→Fnq,因此,UOV 签名方案的公钥通常为P=Q◦T.
签名和验证: 将一个消息m的哈希值h∈Foq签名,首先计算y=Q−1(h),再计算z=T−1(y).就是消息的签名,这里的Q−1(h)表示找到h∈Foq在映射Q下的前象,此处的醋变量是随机抽取的用以构成o个线性方程组,通过解方程组得到此前象.
将此签名算法记为UOVSig (·),验证算法记为UOVVer(·).
2.1.3 Simple Matrix 加密方案
设l,k,s为正整数,满足l=s2和k=2l,Fq为有限域,明文为(x1,···,xl)∈Flq,密文为(y1,···,yk)∈Fkq.
核心映射的包括3 个s×s的矩阵
其中,xi∈Fq,bi和ci是集合{x1,...,xl}中元素的随机线性组合.定义E1=AB,E2=AC,并设f(i−1)s+j和fs2+(i−1)s+j∈Fq[x1,··· ,xl] 为E1和E2中对应座标(i,j)的元素(i,j=1,2,··· ,s),于是,就可以得到k个多项式f1,f2,···,fk,则定义如下映射:
F(x1,···,xl)=(f1(x1,···,xl),···,fk(x1,···,xl))
随机取两个可逆仿射变换L1:Flq→ Flq和L2:Fkq→Fkq,定义如下映射:
对于映射F的求逆在文献[6]中有详细的求解过程,若参数先取得当,其解密失败的概率可以忽略不计.
将此加密算法记为SimEnc(·),解密算法记为SimDec(·).
2.1.4 消息格式
如图3所示,定义在车载通信网络中传输的数据单元格式可分为4 个部分: 消息头、有效负载段、签名段、证书验证段.
图3 消息格式
消息头主要包含消息源、目的设备、设备位置等消息标识信息,使网络中的设备可以从无数的无线广播中更快地找到己方想要接收的消息.
有效负载段主要为想要传输的消息内容: 可以是加密后的消息,也可以是广播的己方公开信息(如公钥等).
签名段主要包含对消息内容与头部信息的签名,用以保证消息的完整性和不可否认性.
证书验证段主要为身份验证信息,每一个设备的证书在相对较长的时间段内都是固定的,其验证模块都是预先安装在每一个设备上的.
本文方案主要研究以下几个方面: V2V 安全通信、V2I 安全通信、RSU 采集信息的聚合、RSU 消息广播安全、会话密钥管理.
2.2.1 系统初始化
可信的第三方TA 运行算法SysInit (·) 生成系统运行参数,(Fq,o,v,n,l,k,s),Fq为有限域,o和v是两个正整数满足n=o+v,l,k,s为正整数,满足l=s2,k=2l和k>n>l.运行KeyGen (· ) 算法为数据中心和路边设施分配公私钥对(pk,sk),并发放长期证书; 车辆用户需向可信中心TA 申请密钥和证书,得到公私钥对和长期证书;数据中心、路边设施及车辆用户的公私钥对需定期向TA 申请进行更换.此外,TA 还要选取一种安全高效的对称加密[10]算法Enc(·).则安全方案构成可分为UOVSig(·)模块(包括UOVVer (·) 算法)、SimEnc (· ) 模块(包括SimDec (·) 算法)、Enc (· ) 模块、Cert(PK) 模块4 部分.并且,在此定义V2V 及V2I 之间的通信数据为格式化的数据,消息明文可看作一个长度为s的向量m=(x1,···,xs)τ,xi∈Fq,τ 在此代表矩阵的转置.
2.2.2 V2V 安全通信
路上行驶的车辆只与进入其通信范围的车辆进行通信,以用户与Uj代表通信的两辆车,其通信阶段可分为:请求、应答和数据通信.
请求阶段: 用户选取随机数r1,将r1以用户Uj的公钥加密(假设通信双方都通过无线广播方式得到了对方的公钥) 得到C=SimEnc(r1,PKj),并生成签名S=UOVSig(H,C,SKi),生成短期证书Cert(PKi),生成请求消息,发送给用户Uj,如图4所示,就是表示的这一过程.
应答阶段: 用户Uj首先验证消息中包含的证书信息,若不通过则直接丢弃该消息,反之则进行签名验证,若签名验证通过,则用户Uj将r1解密,同样选取一个随机数r2,进行如上一阶段的加密签名过程,而后返回应答消息;并且,用户Uj将r1⊕r2作为会话密钥.
数据通信阶段: 用户验证Uj的身份后,解密出r2,得到会话密钥r1⊕r2,则以对称加密算法加密消息C=Enc(m),同样要计算消息的签名S=UOVSig(H,C,SKi),将消息发送给用户Uj,为节省计算资源与提高效率,在这一阶段,用户Uj不用再验证用户的证书.
2.2.3 V2I 安全通信
当路上行驶的车辆与RSU 之间的距离小于200 m 时,车辆与路边设施之间通信,完成信息采集,以用户与I1为例,其通信阶段也可分为3 个:请求、应答和数据通信.
请求阶段: 用户首先向I1发送己方证书及公钥信息,待路边设施验证其身份和签名信息后,路边设施I1将会话密钥以用户的公钥进行加密,并生成签名,生成临时证书Cert(PKRSU),封装后将此消息发送给用户
应答阶段: 接到消息后,用户首先验证I1的证书信息,若通过再验证签名的正确性,签名与消息不符则拒绝通信,反之则进入数据通信阶段,如图5所示.
数据通信阶段: 用户以会话密钥Key 运行对称加密算法,将RSU 需要的信息加密传输,C=Enc(m),同样要计算消息的签名S=UOVSig(H,C,SKi),将消息封装发送给I1.同样,在这一阶段,路边设施I1不用再验证用户的证书.
图4 V2V 安全通信请求、应答阶段
图5 V2I 安全通信请求、应答阶段
2.2.4 RSU 采集信息的聚合
当RSU 采集到来自车辆的信息后,经过签名验证等阶段后,只保留要传输给数据中心的数据单元C,最直接的方法是采集到一个数据就传输一个数据,但这对于一个庞大的城市系统来说,是一件耗时且浪费通信资源的做法,更好的办法是将一部分消息聚合,在有效的时限内将消息传输给数据中心.
格式化的明文信息经对称加密算法加密后,C=Enc(m),仍可将C视作一个向量C=(c1,c2,···,cs)τ,为了节省RSU 的计算资源,通常RSU 不对C进行解密,直接运行SimEnc(·)算法将s个密文直接聚合进行加密,并对聚合加密后的密文δ 生成一个签名Sig,其加密过程如下所示:
并且,再经过一次公钥加密,使信息的传输更加安全,即使攻击都获取了会话密钥,对于再次加密的密文也没有办法.聚合的效率将会在第4 节的效率分析中分析.
2.2.5 RSU 消息广播安全
云端数据处理中心接收到来自RSU 的密文δ后,验证其签名Sig,若合法,则运行SimEnc 解密算法解密出(C1,C2,···,Cs),再以会话密钥Key 运行对称加密算法解密出来自车辆用户的消息,经过数据处理后生成当前时段的路况信息M,经对称加密后得到密文θ=Enc(M),再以私钥签名,Sig=UOVSig(H,θ,SKcloud),通过有线传输将此消息传输给RSU.
为了防止恶意攻击者通过伪装RSU 节点进行虚假路况信息的发布,RSU 广播的消息必须满足不可伪造性,并且考虑到OBU 单元计算资源与通信资源有限的特性,对来自数据中心的消息,RSU 验证其签名并将消息解密,而后RSU 以其私钥对消息进行签名,将消息发送给OBU 单元.以路边设施I1为例,其将路况信息作为有效负载,并生成签名Sig,封装后将消息向1 000 cm 范围内广播.
2.2.6 会话密钥管理
云端数据中心对于数据采集过程中的会话密钥进行管理,即对称加密算法的加密密钥.云端数据中心定期更新此密钥,并通过公钥加密的方式将此密钥加密传输给RSU,对于本方案而言,即SimEnc(Key),再通过RSU 与路上车辆的请求应答过程秘密地传输给车辆用户,完成会话密钥的共享.这种方法的应用是为了保证所加密消息的前向安全性和后向安全性,这就保证了即使某一次加密使用的会话密钥被破解或泄漏,在会话密钥更新后也能够保证消息的保密性,同时也能保证前一密钥加密的明文消息的保密性.
通常,多变量公钥密码方案的安全性都是基于MQ 困难问题,其明密文之间的对应关系可描述为如下方程组:
文献[8]和文献[9]中指出,本文中涉及的多变量加密算法SimEnc(·)和多变量签名算法UOVSig(·) 可以抵抗多种针对多变量公钥密码体制的常见攻击方法(如高阶线性化方程攻击、秩攻击、代数攻击等),因此,可以得出如下假设: 不存在解决本文方案中所涉及密码算法中MQ 问题实例的多项式时间算法.并且,假定选取的对称加密算法是足够安全的.
将方案中V2V 的安全通信模型抽象为图6,但在实际操作中,右侧的验证过程就在发送过程之后进行,但为了使描述更为简便,将双方的随机数发送过程视为同时进行.V2I 之间的通信可以描述为图中红线所示的部分,只不过加密传输的是来自云端数据中心的会话密钥Key.RSU 收集信息的上报则为经典的公钥加密模式,而消息的广播则为消息的签名.
图6 V2V 安全通信模型
消息的保密性: V2V 通信中消息的保密性依赖于密钥协商阶段中所传输随机数的安全性和对称加密算法的安全性,若攻击者想要得到车辆用户之间通信的消息,只有通过破解密钥协商阶段的MQ问题实例和对称加密算法,则上一小节的分析可以得出结论: V2V 通信满足消息的保密性; V2I 通信、RSU 消息的上报与广播中的消息保密性都可以归约到MQ 问题的难解性和对称加密算法的安全性上.
签名的不可伪造性: 以上分析的各类通信模式中,消息的不可伪造性都依赖于签名算法UOVSig(·)的不可伪造性,文献[8]中指出,当o=28,v=37 时,0/1 UOV 方案的安全性可以达到O(280).
前向安全性: 对于新加入通信体系的车辆用户来说,其获得的会话密钥是云端数据中心生成的当前会话密钥,不能够解密出云端数据中心所规定的前一会话密钥所加密的数据.
后向安全性: 当车辆用户退出通信系统后,云端数据中心的会话密钥经过定时更新,则其不能够解密新密钥加密的数据.
安全会话密钥周期: 从前向安全性和后向安全性的描述中可以看出,此两种安全性很大程度上依赖于云端数据中心的会话密钥更新,这就涉及到密钥的更新策略[11−18].
从UOV 签名方案和Simple Matrix 加密方案的构造来看,它们在设计上有很多的共通之处,这就使得在实现过程中就可以有很多共用的计算模块,使芯片的设计更加高效,更好地利用OBU 模块不多的计算资源和存储资源.
并且,在RSU 的信息采集阶段,将来自OBU 单元的信息进行简单的聚合加密,可以更好地提高方案的效率.取Fq=28,l=64,o=28,v=42,方案的安全水平可以达到O(280),就聚合情况和不聚合情况(收到一条消息就加密传输一条消息) 的密文量(加密密文与签名之和) 大小进行了比较,如图7所示.从图中可以看出,当消息数大于3 个时,聚合情况的密文量将小于不聚合情况,且随着消息数的增加,不聚合情况的密文量是呈线性增长的,而聚合情况是呈阶段性增长.
图7 消息量与密文量关系
在本文中,我们设计了一个针对智慧城市中交通道路信息采集与路况信息广播的安全传输方案,实现了V2V 通信、V2I 通信、RSU 采集信息的聚合加密传输与路况信息的安全发布.并且,通过云端数据中心对会话密钥的管理,使方案从一定程度上满足了消息的前向安全性和后向安全性.设计完全实现前身安全性和后向安全性的方案,以及提升方案对消息的聚合能力将是我们下一阶段研究的目标.