APP下载

一种基于车载电源电压的随机数提取方法*

2022-06-16袁晓峰马世典殷志昆

计算机与数字工程 2022年5期
关键词:随机性后处理信息熵

韩 牟 袁晓峰 马世典 殷志昆

(1.江苏大学计算机科学与通信工程学院 镇江 212013)(2.江苏大学汽车工程研究所 镇江 212013)

1 引言

随着汽车智能化、网联化的快速发展,车内网络不再是一个传统的封闭式网络,外部设备可以通过蓝牙、WiFi或者OBD 接口等途径连接,使得攻击者对车内电子控制单元(ECU)进行远程攻击成为可能[1]。另外,车内ECU 之间的通信是以明文广播的方式进行的,所有通信内容都可在车载总线上直接读取,导致攻击者可轻易冒充ECU 攻击车内网络[2]。近年来,层出不穷的智能汽车网络攻击事件表明一旦攻击者绕过了外围防护,车内网络中传输的数据将轻易被窃取和篡改[3]。综上所述,车内网络处于攻击防护的关键环节,但目前其防护手段非常薄弱。因此针对车内网络通信明文广播的特点,对其上广播传输的信息进行加密是一种有效的信息安全防护手段。

目前一些研究开展了对车内网络消息加密的工作,由于车内网络资源条件受限,导致所设计的加密方法存在安全性不高或者效率不高的问题,难以同时满足安全性和消息实时性的需求[4]。根据著名的Kerckhoff 假设,密码系统的安全性不取决于算法的安全性,而取决于密钥。因此,真正的随机密钥对于密码算法的安全性具有重要意义。从具有不可预测性和不确定性的熵源中获取随机数是生成随机密钥的一种好方法,这要求随机数不仅具有良好的统计特性,而且还满足不可预测性[5]。利用确定性的数学算法可以快速生成伪随机数,然而这种伪随机数被证明具有周期性,难以保证密码系统的安全性[6]。真正的随机数是一组无偏且不可预测的值,不依赖于生成随机数的数学算法。它可以是自然界中的各种熵源,如量子噪声[7]、热噪声[8]等,也可以是基于混沌的熵源[9],通过这些熵源提取出的随机数称为真随机数。Sunar等提出真随机数的性能受以下三个方面影响:熵源的选取、熵源的采集以及随机序列的后处理方法,当每个随机数所携带的熵足够大时,可以认为真随机数在理论上是非周期性安全的[10]。

因此,本文从车载电源电压与车辆运行状态变化之间的耦合关系入手,引入马尔科夫过程研究车载电源随机特性的表征方法,进而基于多信息熵源设计一种基于车载电源电压随机特性的随机数提取方法,为随机密钥应用于车内网络奠定基础。

2 相关知识

2.1 马尔科夫

马尔科夫过程是一种特殊的随机过程,它的原始模型为马尔科夫链,表示为{X,t=1,2,…,T},X为随机变量,该过程取得的所有状态空间编号为k(k=1,2,…,K)。在一定条件下具有稳定性,即对于从任意状态Sn到状态Sm的状态转移概率[11]为

其中,t′=-(t-1),-(t-2),…-1,0,1,2,…。

在每个状态空间下,可以得到状态转移概率矩阵:

经过极大似然估计的处理,得到状态转移概率方程:

式中:Nnm为时刻t-1 的状态Sn转移到时刻t 的状态Sm的事件数。

2.2 信息熵

1948 年,香农(Claude Elwood Shannon)引入信息(熵),将其定义为离散随机事件的出现概率[12]。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。所以说,信息熵可以被认为是系统有序化程度的一个度量。

设X 为样本空间An={a1,a2,…,an}上的离散随机变量,其概率分布P={pi,1 ≤i≤n},则X 的熵H1(X)定义为

3 车载电源电压随机性分析

3.1 ICV驾驶决策影响分析

汽车发电机输出、其他用电器负载和车载蓄电池共同作用域车载电源系统,直接决定了车载电源电压的变化。然而汽车是一种典型的以驾驶员(智能决策系统)为中心的系统,通过视、听觉(传感单元)感知外部交通环境变化,通过大脑(控制单元)对当前环境进行判断,并形成驾驶决策,进而控制手和脚(线控执行机构)的运动,完成对车辆的操控。驾驶决策取决于交通因素、车辆因素、天气因素、道路环境等各种不可预测因素。此外,驾驶行为也受到驾驶风格、心理活动、生理状态(智能决策系统的感知偏差、传输时延、硬件差异)等内在因素的影响。如图1 所示,各种不同的影响因素之间形成复杂的因果关系模式,最终共同作用于驾驶决策过程,进而导致车辆行驶状态微观上的时变特性,这种时变通过发动机转速的变化耦合到车载电源电压的变化中,形成了车载电源电压的随机变化特性。基于车头时距模型分析结果[13],影响车载电源电压的因素如式(5)所示:

图1 驾驶模式变化因果模型

式中:V代表车载电源电压;P代表人为因素;R代表道路环境因素;T代表交通环境因素;W代表交通因素;B代表驾驶行为因素。

3.2 马尔科夫随机性分析

为了保持车辆在行驶过程中电压变化的微小瞬变,反映真实的车载电源电压特性,将行驶工况下的电压曲线划分为几个反映模型事件多样性的小片段。本文将行驶工况下的电压分为三个模型事件,分别为上升期、平稳期和下降期,对电压数据进行分析,结果如下。

首先,假设采集电源电压数据总时刻为I,电压采集时间i(间隔为0.02s)的电压为vi,对应的电压变化为Vi,i=1,2,…I。

然后,将电压变化状态分为各种族群,总共分为G 族,每一个族都有一个参数θg(g=1,2,…,G)进行估计,每族都含有许多小段时间来反应电压变化,电压变化的密度函数表示为

式中:πg为电压变化Vi在组g中的概率。

最后,利用极大似然估计方法将G族具体划分,极大似然估计函数如下所示:

式中:V 为电压变化矢量;θ为待估参数矢量;Cg为电压变化属于组g 的集合;ng为Cg中观察点的数目;μg为组g 中观察点的期望值;σg为组g 中观察点的方差。

经过极大似然估计的处理,将相似类型的电压变化状态模型事件聚集在一起。将相同类型的模型事件视为马尔科夫链的一个状态,不同类型的模型事件则组成了马尔科夫链的状态空间。将具有相似平均电压的模型事件构成六个状态空间:S={1,2,3,4,5,6},取值区间分别为[12.5,13]、(13,13.5]、(13.5,14]、(14,14.5]、(14.5,15]和大于15,形成马尔可夫链。各状态的特征参数值见表1。

表1 状态特征参数

本文选取了两段相邻加速状态的电压,其状态转移概率矩阵为

从状态转移矩阵B 可以看出,状态1 转移到状态2、状态3以及本身的概率各不相同,如果当前电压状态处于状态1,则下一状态取决于这三个概率,而且与B 之前的状态转移矩阵A 没有联系。因此,车载电源电压状态变化是一个具有马尔科夫特性的随机过程。

4 随机数提取方案

4.1 整体框架设计

本文将随机数提取框架分为四个模块,分别为:熵源模块、采集模块、后处理模块和存储模块,如图2 所示。其中采用多信息熵融合和小波变换提高熵源质量,经过并行采集和数字后处理得到128bit为一组的随机序列。

图2 整体框架

4.2 信息熵增强方案研究

4.2.1 多熵源融合

本文第三节分析了车载电源电压的特性,发现车载电源电压变化过程是一个具有马尔科夫特性的随机过程。因此,本文采用车载电源电压作为随机数发生器的熵源。图3 展示的是汽车行驶过程中处于不断加减速和降速工况下的时域和频域,其中图3(a)、(b)展示的是不同工况下的时域图,可以看出车载电压随着汽车工况的不断变化,所形成的波形图也随之变化,并且电压一直处于不断变化的状态。然而,在采集过程中发现车载电源电压波动存在细微的周期性,在图3(c)、(d)所示的频域图中发现每个频谱中都出现几处超过10dB 的尖峰,例如图3(c)中频率0~15Hz 之间有四处高峰超过10dB,说明在电源电压信号中存在弱周期性,这将会影响最终熵源的质量。

图3 不断加减速和降速下时域和频域

为了消除这种周期性,本文引入了另一种熵源,即高电压间隔时间。由上述时域图所知,车载电源电压一般处于12V~14.5V 之间,超过14.5V 的电压属于高电压,在汽车行驶过程中,电压会无规律性地达到高电压范围内,它们之间的间隔时间存在较大差异。为了增强随机序列的健壮性和鲁棒性,本文采用多信息熵结合在一起,即将高电压间隔时间和电源电压转为二进制序列,然后异或耦合得到最终熵源序列。

4.2.2 基于小波变换信息熵增强

为了改善电压信号的随机性,基于小波变换的分解与重构设计了一种滤波方法,主要是过滤电压信号中周期固定信号,得到随机性更强的电压噪声信号。

在实际采集中,噪声信号通常为高频信号,周期信号通常为低频信号。若要得到非周期性电压噪声信号,需要对信号进行小波分析,利用小波的分解与重构进行处理,分解信号如图4所示。

图4 分解信号示意图

由于小波分析具有良好的信号适应能力和时频定位特征,所以能够将电压信号进行有效地分解。信号S 经过三层分解后,每次分解结果都得到高频信号CD1、CD2、CD3,电压噪声信号通常在这些高频信号部分,将分解出来的低频信号全部重置为零,然后将电压信号进行重构处理,过滤周期信号,就能得到非周期电压噪声信号。

利用Matlab可视化处理软件处理数据的功能,对其中2000 组电压信号进行小波分解与重构,如图5 所示,将原始信号重构为低频信号和高频信号,去除了周期信号,我们可以从高频信号中得到随机性更强的电压噪声信号,从而满足加密系统对密钥随机性的要求。

图5 重构电压噪声信号

4.3 采集处理

4.3.1 并行采集

为了提高采集效率,本文采用并行采集异或耦合方法,可以在不降低采集频率基础上提高熵值。并行采集结构如图6 所示,由三种信号、两个采集器、一个存储器和一个时钟组成。本文通过时钟来记录两个高电压之间的间隔时间,每次电压超过15V,复位信号就会重置计时器,记录的时间存储在存储器中。目前CAN-FD 总线上传输的一帧数据大小最大可达64 字节,因此,本文设置128bit 采样大小为一个周期,根据实际密钥需求的大小,通过控制信号来决定采样周期。

图6 并行采集结构

4.3.2 数字后处理

在理想的情况下,本文提取的真随机数0 和1概率应该相等,但实际上,由于电路内部存在其他非高斯型噪声,并且汽车外部环境对电压波动的影响,使得其产生的0 和1 概率不可能是绝对相等的。这就必将影响所产生随机序列的均匀性、偏差以及统计特性,为此必须采取数字后处理方法对随机序列进行改善[14]。

本文选取级联异或链与哈希函数对随机序列进行后处理,流程如图7 所示。级联异或链相当于一个奇偶校验,可以解决序列均匀分布和偏差问题。在时钟的节拍下,将采集模块中数字化电压-时间信号序列a(i)逐一输入到6 个D 触发器中,在存储移位后,异或链将其两两异或得到数字序列b(i),实现了对信号序列压缩率为6 的压缩,提高了序列的每比特熵。将得到的序列再经过哈希函数的处理,可以提高数字序列的统计特性。本文采用的是SHA-256 算法,该算法在硬件中的运算速度很快,保证了整个随机数发生器的效率。SHA-256可以很容易地实现对数据的压缩,为了尽量不减小数据输出速度,本文中采用的数据输入输出比为1∶1,即输入256bits,输出256bits。

图7 后处理流程

5 仿真与测试

5.1 仿真提取

本文仿真实验采用的是带宽为200MHz,采样率为2Gs/s 的实时示波器进行采集和观测存储,图8 是怠速和不断加减速状态下的实时电压波形图,对比两种状态下的电压信号可以明显看出不同状态下的电压呈现不同的波形。同时,示波器采集电压完成后,还可以从保存的数据中得到高电压间隔的时间。在采集完熵源之后,将熵源序列分别进行异或链和SHA-256 后处理,其中,异或链后处理采用的是Synopsys 的Design Compiler 进行逻辑综合,SHA-256 后处理使用myeclipse 软件实现。在后处理完成之后,得到最终的随机数序列。

图8 怠速和不断加减速下电压

5.2 线性复杂度

序列线性复杂度LC(S)的稳定性是衡量其随机性好坏的一个重要标准[15]。B-M 算法指出只要已知序列的任意连续2LC(S)个元素即可决定整条序列,为了抗击明文攻击,随机序列的线性复杂度应该足够大。本文利用BM10 函数计算产生序列的线性复杂度,最终得出序列的7 阶线性复杂度稳定在49 左右,而常用序列Gold 和Kasami 的7 阶线性复杂度为14 和17。因此,本文随机序列的性能比常用序列的性能要好。

5.3 随机性检测

在随机数提取过程中,本文需要对所得到的序列进行随机性检测,看序列是否满足随机性。在对随机数性能测试中,本文使用的是美国国家标准与技术研究院提供的Special Publication800-22 测试包,简称NIST 随机性测试,包括15 种测试手段,这些测试手段可以检测由硬件产生的真随机序列的随机性[16]。经过15 次NIST 随机性试验,如表2 所示,所得P-value 值均大于0.001。因此,本文的随机序列具备良好的随机性。

表2 随机性检测结果

6 结语

为提高车内网络中密码系统的安全性,提出了一种基于车载电源电压的随机数提取方案。本文对外部交通环境对驾驶决策的影响进行分析,搭建驾驶模式因果模型,并通过马尔科夫分析电源电压变化过程。在此基础上,本方案具有以下特性,以多信息熵融合为初始熵源,采用小波变换过滤周期性信号,并行采集熵源,并利用数字后处理改善序列随机性。仿真测试结果表明,所提取的随机数具备良好的随机性,符合密码系统中随机密钥的要求。

猜你喜欢

随机性后处理信息熵
车身接附点动刚度后处理方法对比
近似边界精度信息熵的属性约简
认真打造小学数学的优美课堂
基于信息熵的承运船舶短重风险度量与检验监管策略研究
浅析电网规划中的模糊可靠性评估方法
信息熵及其在中医“证症”关联中的应用研究
论犯罪信息
基于UG的变螺距螺旋槽建模及数控加工编程
银镜反应和后续处理的实验改进
WHSC/WHTC与ESC/ETC测试循环的试验比较与研究