C-V2X车联网安全通信方案研究

2021-12-14 08:38郭茂文黎艳张荣
移动通信 2021年6期
关键词:私钥公钥密钥

郭茂文,黎艳,张荣

(中国电信股份有限公司研究院,广东 广州 510630)

0 C-V2X通信技术概述

目前,全球范围内普遍接受的V2X 车联网通信技术主要包括专用短程通信DSRC 技术和基于移动蜂窝通信系统的C-V2X 技术。其中,基于LTE/5G 网络的V2X 通信技术作为C-V2X 主流技术方案得到了全球运营商、汽车厂商的广泛支持。

V2X 车联网通信涉及车载OBU、行人、RSU 及云端业务平台等实体,这些实体之间通过Uu 接口或PC5/V5直连通信接口等与车辆进行通信,如图1 所示。根据通信方式的不同,C-V2X 车联网系统包含蜂窝网通信和直连通信两种场景。

图1 C-V2X车联网通信示意图

蜂窝网通信场景下,车联网终端(如:车载OBU、RSU 设备)通过Uu 接口上/ 下行链路与其他终端或网络侧业务平台交互信息,实现长距离和大范围的可靠通信,满足车辆导航、车辆监控、信息娱乐等业务的需要。此外,蜂窝网还可提供V2N 下行业务数据广播业务。

直连通信场景下,车载OBU 及路侧RSU 等在专用工作频段上通过PC5 和V5 接口采用广播方式进行短距离信息交换,满足提高交通效率及道路交通安全、自动化驾驶等车联网业务的需要。

1 C-V2X车联网通信安全需求分析

C-V2X 车联网通信包括基于蜂窝网络的通信和直连通信两种模式,通过对这两种通信模式的分析发现,其安全需求可以总结为网络安全、信息与数据安全及车辆身份安全。

网络安全主要是伪基站问题。攻击者通过部署虚假网络基站的方式,发射较强的无线信号吸引车载终端选择并接入,造成车联网终端的网络数据连接中断,直接危害车联网业务安全。因此,接入过程中,车联网终端与运营商移动网络之间应支持双向认证,确认对方身份的合法性,从而保证了车联网终端网络接入的安全性。

信息与数据安全主要是信息数据的完整性、保密性和可溯源性等。攻击者可以利用Uu 接口或PC5/V5 接口的开放性恶意发布虚假交通信息、窃听或者篡改网络上传输的数据信息等,从而影响车联网业务安全。这样,车联网终端与应用服务器,或者车联网终端与车联网终端之间的信息传输,就需要对消息来源进行认证,对消息的完整性与机密性进行保护,防止消息被伪造、篡改和窃听,确保C-V2X 车联网信息传输安全。

车辆身份安全主要是假冒车载终端及车辆隐私信息(如车辆标识、状态、位置等)泄漏问题[1]。攻击者可以利用认证系统的漏洞,利用非法终端冒充合法终端身份,接入网络并获取相应的服务,甚至是假冒合法终端身份,发布虚假的业务数据信息。另外,对于广播业务来说,车辆标识、位置等敏感信息会被周围其它车载终端获取,进而造成车辆身份、位置等隐私信息泄露,严重时可导致车辆被非法跟踪,威胁到车辆内用户的人身安全。为了防止车辆隐私信息的泄露,车联网终端在广播业务时需要隐藏或匿名身份标识信息。

因此,C-V2X 车联网需要通过密码与身份认证等技术来保障其安全通信。

2 主流密码技术分析

对于对称密码技术来说,通信的双方必须有一个共同的对称密钥,而对于非对称公钥密码技术来说,通信的双方必须有非对称密钥。在C-V2X 车联网通信系统中,涉及车联网终端与基础设施、车联网终端与车联网业务平台,以及车联网终端之间的大量通信,单一的密码技术已无法满足其多场景的安全通信要求。因此,车联网安全通信一般需要多种密码技术相结合来实现,包括重要信息(如高精度位置、控制指令等)的加密传输,传输信息的完整性、真实性以及可溯源性等。

目前,非对称公钥密码技术比较成熟的有PKI 和IBC 两种[2],对于基于PKI 的公钥密码技术来说,主要是引入有公信力的第三方CA 鉴定终端身份,并为其颁发公钥证书[3]。终端在本地产生公私密钥对,CA 通过证书安全地将终端身份和密钥绑定在一起。举例说明如下:

车载终端A(身份标识:“UE-A”)公钥证书包含有以下内容:

M=(“UE-A”UE-A的公钥Public-UE-A)和S=[M]CA (1)S 是CA 采用私钥Private-CA 对M 进行的签名,利用Public-CA 对S 进行验签和M 相比较,即可验证UE-A的公钥Public-UE-A 的合法性。这样,车联网终端只需提前存储CA 的公钥Public-CA 就可以和所有CA 颁发过证书的车联网终端进行安全通讯。

基于PKI 的公钥密码技术已经得到了广泛应用,但是在应用中面临诸多问题,如证书申请和使用过程比较复杂,PKI 认证需通过信任链层层传递,影响车联网效率,证书在网络传输时存在被中间人替换的风险等。

为了降低密钥管理和使用的复杂性,Shamir 提出基于IBC 的公钥密码技术。IBC 包含IBE 和IBS 两个子方案,分别用于数据加密和身份认证。IBC 技术基于椭圆曲线密码技术和二元线性配对数学理论,具有二元线性映射性质的有Weil 配对和Tate 配对[4],这种配对有如下性质:

即满足交换律的性质,“·”运算符是椭圆曲线上的点积运算。与PKI 机制类似,IBC 也有一个可信第三方,称为PKG(私钥生产机构),负责生成主密钥和全局系统参数。IBC 系统中所有用户的私钥都由身份标识、主密钥和全局系统参数通过PKG 派生得出。IBC 系统中各用户的身份就是公钥,无需额外管理。在我国,IBC 采用SM9 算法。

IBC 具体的解决方案描述如下:

(1)Setup(主密钥和公共参数生成模块)

PKG 生成随机数s作为主密钥并保密,再生成一条安全的椭圆曲线,随机选取椭圆曲线上的一个点P,将椭圆曲线的参数、P 和sP(“·”运算符是椭圆曲线上的点积运算)作为公共参数,系统将公共参数分发给所有用户。

(2)Extract(私钥生成模块)

PKG 为用户分发私钥,该私钥是s和用户的身份标识进行点积运算得到的,例如对于用户A,分发给他的私钥即s·IDA。

(3)Encrypt&Decrypt(加解密模块)

发送方A 选择随机数r,并且计算k:k=Pair(r·IDB,s·P),接着用k发送密文Ek[Message]和r·P 给B。

接收方B 接收到报文后,通过计算得到数值k:k=Pair(s·IDB,r·P),接着用k解密Ek[Message],得到明文,只有B 知道自己的s·IDB,别的用户得不到k值。

(4)Sign&Verify(签名验证模块)

发送方A选择随机数r,并且计算k:k=Pair(s·IDA,r·P),接着计算消息摘要e=SHA-1(Message),对消息的签名即为(r·IDA,Ek(e)),并发送给B。

接收方B 接收到报文后,通过计算得到数值k:k=Pair(s·P,r·IDA),接着计算消息摘要e=SHA-1(Message),然后验证e=Ek(Ek(e)),如果相等,则验证成功。

从密钥管理的复杂性来说,PKI 方案需要引入有公信力的第三方CA 鉴定终端身份,并为其颁发公钥证书,而IBC 方案只需要基于终端身份通过PKG 为其生成私钥。在使用效率方面,PKI 方案需要接收方在线联网验证发送方的公钥证书,证书信任链需要层层传递,然后再进行验签,而IBC 方案只需要接收方在本地基于发送方的身份标识进行验签。因此,从密钥管理的复杂性和认证效率来看,IBC 方案比PKI 方案都具有明显优势。当然,对PKI 和IBC 两种方案来说,均需要通过安全通道将PKI公钥证书或IBC 私钥传输到终端本地。

3 SIM卡认证技术分析

当前,SIM 卡技术得到了快速发展,新型Java SIM卡除了提供蜂窝网络的接入鉴权功能外,还具有独特的安全特性,集成有安全芯片,支持包括国密算法在内的各种对称密码和非对称公钥密码算法,其安全级别达到EAL4+。因此,对于C-V2X 车联网来说,在车载终端身份认证和安全通信方面,SIM 卡是一种很好的安全载体。

SIM 卡可以提供身份令牌、动态口令以及与网络协同的通用GBA 认证等多种认证解决方案,这里主要分析SIM 卡身份令牌认证和GBA 认证两种方案。

SIM 卡身份令牌认证方案的基本思路是SIM 卡侧和认证系统侧基于相同的令牌运算因子(如SIM 卡号、会话ID、随机数、时间戳等)和加密算法生成令牌token,并在认证系统进行令牌token 的一致性验证。如果验证通过,则身份令牌认证通过。

这种SIM 卡身份令牌认证方案比较简单,但只实现了对终端的单向认证,而且缺乏后续的应用会话密钥协商功能。因此,这种方案需要做进一步的扩展,增加终端对网络侧平台的认证功能(如通过在SIM 卡预置平台公钥证书的方式),以及基于SIM 卡和平台侧共同参数/因子进行会话密钥的衍生等。

与网络协同的通用GBA 认证方案基于3GPP AKA 机制,利用用户终端侧(U)SIM 卡内与网络侧共享的对称密钥实现接入认证和会话密钥协商。在已有移动网元的基础上,GBA 引入了新网元BSF,用于从接HSS 获取鉴权向量进而完成对用户终端的验证,同时用于根据运营商提供的中间密钥推衍会话密钥。GBA 中另一个重要的网元是应用服务器NAF,其主要功能是实现第三方应用服务从运营商网络获取会话秘钥。整个GBA 架构如图2 所示:

图2 GBA架构示意图

GBA 认证方案主要包括初始化、引导、安全关联三个阶段[5]。其中,初始化阶段用于终端和应用服务器互相确认使用GBA 来进行认证;引导阶段则是终端与BSF交互进行双向验证,且终端、BSF 分别推衍出了GBA 会话中间密钥;而在安全关联阶段,终端和BSF 基于中间密钥为具体应用生成会话密钥,用户访问该应用服务器时,应用服务器就可以通过安全通道(如TLS、专线)向BSF 获取该会话密钥;使用会话密钥作为临时密钥、B-TID 作为用户临时身份,就可以进行用户身份认证、通信通道安全加密、以及后续业务交互。

GBA 认证方案可用于终端与第三方服务相互认证及提供安全会话通道,解决了应用层密钥分发和管理的难题,具有较强的安全扩展性,应用可根据需要在不同层级启动安全通信机制。但这种方案对网络、终端和SIM卡有一定的要求,移动网络需要增加部署BSF 网元,终端和SIM 卡均需要支持GBA AKA 功能。

4 GBA认证与IBC公钥密码相结合的C-V2X安全通信方案

4.1 方案构成

通过前面对密码技术和SIM 卡认证技术的分析,从安全需求、技术成熟度、兼顾车联网通信效率来看,GBA 认证与IBC 公钥密码相结合是一种比较好的C-V2X安全通信解决方案,如图3 所示。

图3 GBA认证与IBC公钥密码相结合的C-V2X车联网安全通信架构图

其中,PKG 为密钥管理中心,负责生成主密钥和全局系统参数,及用户私钥的生成和托管;GBA 架构(含BSF 及HSS 等功能)负责C-V2X 终端与PKG 之间的双向认证并提供终端私钥、IBC 公共参数等信息的安全传输通道。

4.2 认证方案

申请IBC 密钥的车联网终端主体,首先通过GBA 认证授权系统基于USIM 中的用户标识及根密钥与PKG 进行双向身份认证,成功后为PKG 提供与终端建立安全关联的GBA 共享会话密钥。凭借GBA 共享会话密钥,车联网终端可与PKG 安全交互,实现IBC 密钥分发。主要流程如图4 所示。

图4 GBA认证流程

4.3 IBC密钥管理方案

IBC 密钥管理主要涉及PKG 初始化、车联网终端IBC 密钥生成及分发。

PKG初始化的主要作用是生成主密钥和系统公共参数。

车联网终端IBC 密钥生成的功能由PKG 完成,主要基于车联网终端身份标识、主密钥等生成对应车联网终端的IBC 私钥。

密钥分发主要是PKG 通过GBA 认证生成的会话密钥,将IBC 私钥以及系统参数安全地分发到车联网终端。

主要流程如图5 所示。这里需要说明的是,PKG 将终端私钥和系统公共参数发送给车载终端时,需要对GBA 认证生成的会话密钥进行衍生,生成多个应用层密钥,用于对要传输的信息进行加密和完整性保护等。而在车联网终端侧,同样需要对GBA 认证生成的会话密钥进行衍生,生成多个应用层密钥,对接收到的IBC 私钥和系统公共参数等信息进行验证并解密。

图5 IBC密钥管理流程

4.4 安全通信方案

前面分析过,C-V2X 车联网通信包括基于蜂窝网络的通信和直连通信两种模式,在直连通信模式下主要是广播方式。下面分别针对单播和广播两种通信场景来说明其应用层的安全通信方案。

C-V2X 车联网单播通信场景下,C-V2X 车联网单播通信场景下,假设车联网终端A 为发送方,其身份标识为IDA,车联网终端B 为接收方,其身份标识为IDB,车联网终端A 待发送的消息为M,且需要进行加密。其安全通信的主要流程如图6 所示。

图6 单播场景的安全通信流程

C-V2X 车联网广播通信场景下,假设车联网终端A身份标识为IDA,需要广播消息M,车联网终端B 可以接收广播消息M。其安全通信的流程如图7 所示。

图7 广播场景的安全通信流程

这里需要说明的是,车联网终端在广播业务时需要隐藏或匿名身份标识信息,因此,PKG 在为车联网终端基于身份标识生成私钥时,还需要通过衍生算法为该车联网终端生成若干匿名身份标识(如Anonymous_IDA1、Anonymous_IDA2 等)及其对应的若干私钥,发送给车联网终端,并在PKG 建立真实身份标识与匿名身份标识之间的映射关系。当车联网终端需要广播消息时,选择其中一个未使用的匿名身份标识(如Anonymous_IDAn)及其对应的私钥对广播消息进行数字签名[6]。

5 结束语

当前,C-V2X 车联网安全通信是业界的热点话题,并且也有很多相关的解决方案,对于运营商来说,充分利用其网络优势为C-V2X 车联网提供安全通信具有重大战略意义。本文在分析基于SIM 卡的密码和认证技术的基础上,提出了一种基于GBA 和IBC 公钥密码机制相结合的安全通信解决方案。通过GBA 的双向认证和应用层密钥衍生特性,保证了车联网的身份认证和应用层安全通道能力,同时,通过IBC 公钥密码机制又可以提升车联网的安全通信效率,并达到车辆身份信息隐私保护的目的。但该方案还需在实际场景中进行进一步的验证。

猜你喜欢
私钥公钥密钥
探索企业创新密钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
密码系统中密钥的状态与保护*
一种基于混沌的公钥加密方案
一种基于虚拟私钥的OpenSSL与CSP交互方案
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
HES:一种更小公钥的同态加密算法