国密SM2、SM4混合算法在车联网中的应用研究

2023-07-04 06:23丘敬云吴祥晨周宇坤顾泽南
仪器仪表用户 2023年8期
关键词:国密加解密加密算法

丘敬云,吴祥晨,周宇坤,顾泽南

(浙江商业职业技术学院,杭州 310053)

0 引言

在未来移动概念中,自动驾驶被视为塑造新型移动载体的关键技术。而实现全自动驾驶的过程,也是一个长时间的演进过程。从通信技术的角度来看,在未来的ITS 服务要实现真正意义上的全自动驾驶,必然需要通过先进的通信技术(如5G 蜂窝移动网络)并结合V2X 技术,实现移动载体与移动联网系统的高精度时空基准服务网络连接。

想要实现完善的V2X 商业化场景,各节点间的数据信息交互为核心要点,这些海量的数据交互包含车辆基本安全信息、与路侧单元交互信息、MAP 地图信息、娱乐信息如视频图片等。在这些数据中,关于车辆协同控制、信息同步方面的数据尤为重要,如果被攻击者恶意拦截篡改,后果将十分严重。因此,必须首先实现安全、高可靠、低延时的数据通信网络,本研究将采用SM2、SM4 国密混合算法进行安全认证及数据的加密。

1 车联网总体架构及相关数据安全技术

新一代车联网是以车辆、路侧感知系统、服务中心等为感知对象,借助新一代通信科技技术,实现车车、车人、车路、车与中心间等(Vehicle-To-Everything,V-X)的互通连接。而其中基于5G 蜂窝移动网络的车联网5G-V2X,作为国家在交通智能移动网联产业的顶层规划项目,在典型的5G-V2X 场景中,实现了多渠道协同感知,构建车路协同全方位融合感知系统。5G-V2X 技术包含直接通信和网络通信,直接通信包含通信网络中的路侧单元之间的通信,而网络通信则包含与有效范围内的其它车辆通信,车载通信单元OBU 与路侧处理单元RSU 之间的通信等,并具有高并发、高容量、场景复杂等特点。

智能网联汽车搭载先进的车载传感器、控制器、执行器等装置,融合现代通信与网络技术,实现车与车、路、人、云端等智能信息交换、共享,具备复杂环境感知、智能决策、协同控制等功能。其数据形式从传统的封闭式数据处理,转为全通信传输,势必需要在信息安全方面加强系统的防护能力。首先,用户车辆接入必须得到安全、合法的认证,如果车辆身份没有得到合法认证,那么攻击者可以将不合法的车辆伪造接入平台,从中获取平台交互密钥、车队信息等,进而利用这些信息攻击云端平台或制造交通混乱等。因此,就必须在通信过程中对这些信息进行有效的加密。总而言之,如要构建智能的车联网体系,必须首先实现安全、高可靠、低延时的数据通信网络,本研究将采用国密混合算法进行安全认证及数据的加密。

2 基于SM2、SM4国密算法的数据加密解决方案

2.1 国密算法介绍

国密算法即为(中国)国家密码局认定的国产密码算法,是国家密码局制定标准的一系列算法,因其自主研发性,具有可控的数据安全性。国密算法分为对称加密算法(如SM1、SM4、SM7)、椭圆曲线非对称算法(如SM2、SM9)以及杂凑算法(如SM3)等,其密钥长度和分组长度均为128 位,是中国自主研发创新的一套数据加密处理算法,且不同类型的算法也具有其特有的优缺点。其中,SM1 为对称加密算法,加密强度与AES 加密算法相当;椭圆曲线算法SM2 为非对称加密算法,也称为公钥密码算法,其安全性基于离散对数问题,所要求的密钥长度比国际RSA 算法要短得多,密钥生成速度较RSA 算法快百倍以上;SM3 杂凑算法以比特分组结构输出杂凑值进行加解密,结构及过程设计较为复杂,安全系数高;SM4 密码算法也为分组密码算法,加解密算法与密钥扩张算法均采用32 轮非线性迭代结构,具有加解密速度快等特点;SM7 密码算法为分组密码算法,分组和密钥长度均为128 比特,适用于身份识别类等应用;SM9 非对称算法与SM2 类似,其安全性基于椭圆曲线双线性映射,但不需要申请数字证书,具有不需要管理证书等优点。

以下为SM2 及SM4 算法的介绍及其加解密过程:

2.1.1 SM2算法介绍[1]

SM2 非对称加密算法,是基于椭圆曲线密码的密钥算法。假设需要发送长度为klen的数据比特串M,其加密算法流程为:

1)使用随机数发生器产生随机数:k∈[1,n-1]。

2)计算椭圆曲线点:C1=[k]G=(x1,y1),并将C1 的数据转换为比特串。

3)计算椭圆曲线点:S=[h]PB,若S 为无穷远点,则报错并退出。

4)计算椭圆曲线点:[k]PB=(x2,y2),将坐标x2、y2的数据类型转换为比特串。

5)计算:t=KDF(x2ǁy2,klen),若t为全0 比特串,则返回1。

6)计算:C2=M⊕t。

7)计算:C3=Hash(x2ǁMǁy2)。

8)输出密文:C=C1ǁC2ǁC3。

其次,对密文C=C1ǁC2ǁC3 的解密算法流程为:

a)提取比特串C1,并将C1 转换数据类型为椭圆曲线上的点,验证C1 是否满足椭圆曲线方程,如不满足则报错退出。

b)计算椭圆曲线点:S=[h]C1,若S为无穷远点,则报错并退出。

c)计算:[dB]=C1(x2,y2),将坐标x2、y2 的数据类型转换为比特串。

d)计算:t=KDF(x2ǁy2,klen),若t为全0 的比特串,则报错并退出。

e)从C中提取出比特串C2,并计算M'=C2 ⊕t。

f)计算:u=Hash(x2ǁM'ǁy2),从C中取出比特串C3,如果u≠C3,报错退出。

g)输出明文M'。

SM2 的优点是它为非对称加密算法,是基于椭圆曲线密码的密钥算法,密钥长度仅有256bit,但其安全强度和计算速度均优于国际主流非对称RSA 算法。不过SM2 对于大块数据,因其高复杂度的加解密过程,使得加密速度相对短数据慢,不能满足在车联网中的高速数据交互的需求。

2.1.2 SM4算法介绍[2]

SM4 算法也即SM4 分组密码算法,为对称加密算法,加解密都是采用32 轮非线性迭代结构,且解密过程与加密过程采用的结构相似,只是轮密钥的使用顺序为反序。

SM4 算法以字(32 位)为单位进行加解密运算,其明文、密文、轮密钥、反序变换等均为4 个字,即128 bit,表示为:

2)密文:Yi=(Y0,Y1,Y2,Y3)∈(Z232)4

3)轮密钥:rki∈Z232,i=0, 1, 2,…, 31

4)反序变换:R(A0,A1,A2,A3)=(A3,A2,A1,A0),Ai∈Z232,i=0, 1, 2,…, 31

算法加密变换为:Xi+4=F(Xi,Xi+1,Xi+2,Xi+3,Ki)=Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕Ki),i=0, 1, 2,…, 31

最后,生成36 个32 位的迭代结果。

而算法解密变换为加密变换的反序变换,即:

SM4 对称加密算法,属于分组对称加密算法,密钥、分组长度均为128bit,加解密速度快,满足高速数据交互需求,但由于其对称性,其加密安全性逊于SM2。因此,本文将研究SM2 混合SM4 的安全认证国密算法,得到认证可靠,加解密速度快,安全系数较高的混合加密算法。

2.2 SM2、SM4混合加密流程[3]

综合考虑SM2、SM4 的优缺点,本研究设计一种基于国密算法的车联网车载终端接入联网系统的安全认证方法。在车联网V2X 通信系统中,通过双重注册应答机制完成车辆的身份认证、SM2/SM4 的密钥交换等,保障通信数据安全,其总体框架如图1 所示。

图1 基于混合加密算法的安全认证过程Fig.1 Security authentication process based on hybrid encryption algorithm

为防止攻击者利用信令注册非法访问设备或服务器资源,假冒合法终端身份接入网络,发送伪造的网络信令或业务数据,危害车联网业务安全,基于混合加密算法的安全认证流程包含SM2 私钥请求与签发、车辆接入注册等环节。其中,注册时将动态生成SM4 密钥,用于该次握手通信的密钥初始值,后续的业务数据通信将在该密钥初始值的基础上做动态变动,增加通信的安全性。通过如图2 的流程,即可完成前期的车辆安全认证接入。

图2 混合加解密流程Fig.2 Mixed encryption and decryption process

车辆安全接入系统后,通过证书管理服务器,请求SM2 解密密钥;证书服务器通过车架号,唯一指定具有长时效性的SM2 密钥,并下发至车辆及车辆管理云服务器进行加密存储;车辆在接入运营管理网络前,首先随机生成一组具有短时效性的四字SM4 密钥,并在注册时将SM4 密钥及车辆接入号等通过SM2 公钥进行加密上传至云服务器。此时,车辆与管理端双方均已保存初始密钥;随后,在正常数据通信时,发送方将随机更新SM4 密钥中的单个字,并跟随消息头进行SM2 加密后发送至对方,消息体则采用更新后的密钥对进行加解密。由于每次仅随机更新单字,即32 字节,因而消息包大小对于传输速度基本无影响,并且具有前向跟踪性,即使攻击者拦截了单次传输数据并破解消息头,其仍无法得到完整的消息体解密密钥,从而最大限度地保证了数据的安全性,其流程简述如图2 所示。

2.3 硬件设计及验证

最后,是混合算法在车联网体系中的性能仿真、芯片测试。由于在车联网环境下,车辆计算资源和通信带宽有限,因而在设计加密方案时,应搭建与实际相近的测试平台。本研究采用3GHz 主频ARM Conntex-A76 四核以及2GHz 主频Cortex-A55 四核的CPU 核心板,搭载Android10.1 操作系统,完成系统间的通信交互测试,总体硬件架构如图3 所示。

图3 总体硬件架构图Fig.3 Overall hardware architecture diagram

根据实验测试过程,得出测试结果见表1。

表1 测试结果Table 1 Test results

从测试结果看,采用5G 通信模组情况下,采用SM4随机密钥更新后的单次SM2 加密数据处理周期(含数据加密周期、数据传输周期、数据解密周期),长包分包传输情况下,平均值约为12.46ms,满足车联网最大时延不超过20ms 的通讯要求。

3 结语

目前,中国的产业政策正积极推动5G 和V2X 相结合的高速发展,国家工信部、交通部、科技部、发改委等11个部委于2020 年联合发布《智能汽车创新发展战略》,文中提到,在2025 年实现LTE-V2X/5G-V2X 在城市和高速逐步覆盖应用,在道路基础设施规划方面建设新一代国家交通控制网,推进道路基础信息化、智能化、标准化。特别是,浙江省作为交通强国战略的第一批建设试点,承担着打造试点型样板,有效实现移动联网系统在国内,乃至全球的整体布局[4]。而在车联网飞速发展的21 世纪,安全算法也在不断地演变进步[5]。本项目从国家部署的战略目标出发,对比分析各个城市的发展现状和法律法规[6],研究适合于实际情况的5G-V2X 通信安全解决方案,提出以实际数据为支撑的智慧路网体系建设规划方案,有助于发展智能汽车并推动新技术应用,进而推动交通行业的芯片、软件、信息通信、数据服务等产业的发展,打造全新的移动出行经济新模式,对于构建数据驱动、共创共享的数字经济,有着重大的意义。同时,也是培育全新的市场经济增长点,是一场涉足多个行业的大变革[7,8]。而浙江作为5G-V2X 的首批试点,其具有在如城市大脑等智慧公路网、5G 技术等的领先优势,如果能在自动驾驶领域中,抓住新一轮科技革命和产业变革的重大机遇,推动先进制造、智慧路网、大数据和人工智能等深度融合,最终将达到构建竞争新优势,占领战略制高点,发挥在全国范围内的战略引领作用。

本文以实际数据为支撑,提出了基于国密混合算法的安全通信方案,有助于发展智能汽车并推动新技术应用,进而推动交通行业的芯片、软件、信息通信、数据服务等产业的发展,打造全新的移动出行经济新模式,对于构建数据驱动、共创共享的数字经济,有着重大的意义。

猜你喜欢
国密加解密加密算法
国密技术在智能燃气表系统的应用与分析
Hyperledger Fabric平台的国密算法嵌入研究
自助终端设备国密改造方法探究
基于国密算法的银行移动营销终端安全系统研究
PDF中隐私数据的保护方法
电子取证中常见数据加解密理论与方法研究
基于FPGA的LFSR异步加解密系统
基于小波变换和混沌映射的图像加密算法
Hill加密算法的改进
网络数据传输的加解密系统研究