一种can设备信号中的物理指纹信息提取方法
技术领域
1.本发明涉及通信与信息安全技术领域,尤其涉及一种can设备信号中的物理指纹信息提取方法。
背景技术:
2.随着信息现代化和工业现代化的发展,汽车行业和工业控制领域的各种设备都搭载了ecu设备来实现自动化和智能化控制。与此同时,由于can协议的简单和可靠性,使之成为ecu通信事实上的标准。尽管can协议具有通信上的高性能和可靠性,但是起初只是为了设计在工业控制领域,因此在最初设计can协议时只针对模块间的通信内容和格式进行了设计,并没有考虑通信上的安全性。例如在can总线上数据以明文方式直接传输,而且没有相关的终端认证机制,任何一个接入can总线的设备均可以向总线上的其他设备进行数据发送。也正是因为这个原因,车载can总线可以很轻易地受到攻击,例如攻击者可以很轻易的控制汽车can总线上的任何一个部件,包括发动机、仪表盘、收音机,甚至abs系统,也可以干扰整个can总线上的所有设备正常工作。
3.目前已有一些方法来对入侵can总线的ecu设备进行检测,不过这些方法主要集中在设计入侵检测系统的算法上,通过实时监控can总线上的报文传输内容,当发现有可能是入侵设备发送的报文时,对can总线系统的使用者进行警告提示,以便采取对应措施。虽然这些方法能够对车载can总线是否存在入侵进行检测,但是这些方法不能够对入侵设备进行定位,不能够确定是哪些ecu设备在执行入侵或者攻击,从而无法识别攻击者的身份,无法溯源。然而能够准确有效且快速定位攻击者的身份却是十分重要的,因为它能够为取证、隔离、修复提供更有效的帮助。因此传统的can总线入侵检测方案并不能够满足当前对安全性能的需求。
4.本发明提出一种基于can总线上终端设备的物理指纹提取方法能,对入侵设备进行更有效的识别。由于can控制器和驱动器中,包含众多电子元件,例如电容、电感、半导体三极管,而这些电子元件在生产过程中由于制作工艺的不同、制作环境的不同等因素,会带来各种各样的差异性,正是因为这些差异就造成了can控制器和驱动器输出信号上的不同,对这些输出的信号进行采集,分析,特征提取,就能作为当前can设备的物理指纹。而且通过这种方法得到的物理指纹与can设备一一对应且无法篡改。且本文提出的指纹提取方法与can设备发送数据内容无关,具有数据无关性。
技术实现要素:
5.为了解决由于can协议缺乏身份认证机制,攻击无法溯源带来的各种安全问题,本发明提出一种can设备信号中的物理指纹信息提取方法,包括以下步骤:
6.步骤1,数据采集:在can总线上采集信号并存储,得到can信号序列y(n)和原始波形y(n);
7.步骤2,定位帧的起始位置:对can信号序列y(n)进行能量检测,定位帧起始位置;
8.步骤3,时钟同步:从步骤2中所定位到的帧起始位置开始,建立一个窗序列,使用所述窗序列对所述帧的每一个符号进行同步,形成同步信号;
9.步骤4,重采样:对所述原始波形y(n)进行整形和能量归一化处理,接着使用所述同步信号对所述原始波形y(n)进行重采样,根据判决门限对重采样结果进行电平重建,得到理想波形x(n);
10.步骤5,解析can数据:根据can帧协议格式,对重建得到的can理想波形进行解析,同时校验其是否是一个完整的帧;
11.步骤6,根据解析结果分别对原始波形y(n)和理想波形x(n)的数据域进行截取;
12.步骤7,提取特征波形:分别对原始波形y(n)进行上升信号部分和下降信号部分提取得到btty和ttby,拼接构成特征波形o(n);分别对理想波形x(n)进行上升信号部分和下降信号部分提取得到btt
x
和ttb
x
,拼接构成参考波形r(n);
13.步骤8,特征提取:对特征波形o(n)和参考波形r(n)分别进行自相关运算,然后再计算差值得到波形w,对波形w进行数值压缩和平滑处理即可得到can设备信号的物理指纹特征。
14.优选的,所述步骤1中,在can总线上网关位置对总线上的信号进行采集,采集的信号是can总线上高位数据线can_h和低位数据线can_l两路信号之间的差分信号,将采集的差分信号进行存储,得到can信号的原始波形y(n)和信号序列y(n)。
15.优选的,步骤1中,采集得到的信号是一段固定内容的数据或者是随机内容的数据。固定数据含义是固定内容的数据,例如设备重复发送0x1010,随机数据是指设备发送的的随机内容。
16.优选的,步骤2中,所述能量检测包括使用门限电平对帧的起始位置进行判定,所述门限电平为帧高低电平之差的1/2。
17.优选的,步骤3中,所述窗序列的长度为一个符号所使用的采样点个数n,n为信号采集设备采样率与can设备数据发送速率的比值,其中can设备波特率b和信号采集设备的采样率f已知,根据所述采样点个数n和帧的起始位置对每一个符号在信号序列y(n)中的位置进行定位。
18.优选的,所述步骤4中,所述判决门限电平取自每一个符号的中间位置,即n/2位置处的电平判决结果作为当前符号的电平。
19.优选的,所述数据域取自每一个数据帧中从dlc段之后的第一个符号,到crc段之前的第一个符号之间的波形序列。
20.优选的,步骤7中,通过对上升沿和下降沿的检测,对原始波形y(n)提取下降信号部分构成ttby序列,对原始波形y(n)提取上升信号部分构成btty序列,将ttby序列和btty序列拼接构成特征波形o(n);对理想波形x(n)提取下降信号部分构成ttb
x
序列,对理想波形x(n)提取上升信号部分构成btt
x
序列,将ttb
x
序列和btt
x
序列拼接构成参考波形r(n)。
21.优选的,步骤8中,计算波形w的公式如下:
[0022][0023]
其中为特征波形o(n)的自相关函数,为参考波形r(n)的自相关函数,l为时移,对w进行数值压缩和平滑处理即可作为当前can设备
信号的物理指纹,再对w进行平滑处理,即可作为设备物理指纹特征。
[0024]
优选的,数值压缩过程使用公式:w
′
=log(|w|),l=1,2,3
…
。
[0025]
本发明与现有技术相比,具备以下优点:
[0026]
1.与入侵检测算法相比,具有独特的身份认证和攻击溯源机制,可以更好地实现功能更完备的接入控制。
[0027]
2.使用单独的上升沿下降信号部分作为特征源,弱化了对数据发送内容的依赖性。
[0028]
3.设备物理指纹提取方法计算过程简单,具备实时性,不会对can总线上的其他设备构成额外计算负载。
[0029]
4.不需要修改现有的can协议,也不需要修改现有can总线电路,有良好的向后兼容特点。
[0030]
5.本发明提出的can设备信号中物理指纹提取方法,能够对can总线上的ecu终端设备所发出的can信号中的设备物理指纹进行提取,从而对can总线上的终端设备进行身份认证和攻击溯源。
附图说明
[0031]
图1为本发明can设备物理指纹提取流程示意图;
[0032]
图2为本发明采集得到的原始波形示意图;
[0033]
图3为本发明时钟同步结果示意图;
[0034]
图4为本发明数据域提取结果示意图;
[0035]
图5为本发明下降信号部分提取示意图;
[0036]
图6为本发明上升信号部分提取示意图;
[0037]
图7为本发明特征波形和参考波形自相关差值差示意图;
[0038]
图8为本发明不同设备物理指纹示意图。
具体实施方式
[0039]
为了使本发明的技术细节、方案优点更加明确,以下结合附图对技术方案进行更详细的描述。特别说明,该处使用的附图和具体操作仅仅用于解释该发明,但并不限定于该发明。
[0040]
如图1所示,该发明的一种can设备信号中的物理指纹信息提取方法,包括以下几个步骤:
[0041]
步骤1,数据采集:以20mhz的采样速率在can总线上网关位置对总线上的数据帧信号进行采集,设备波特率b为1mbps,存储其差分信号,得到can信号原始波形y(n)。其中数据采集是通过数据采集设备对can总线上的ecu终端设备发出的差分信号进行采集,共计110个符号,每个符号20个采样点,共2200个采样点。得到如附图2所示的差分信号波形,差分信号为can_h电平值和can_l电平值的差值,使用差分信号可以很好的抑制单路信号带来的噪声影响。
[0042]
步骤2,定位帧起始位置:使用门限电平对帧的起始位置进行判定,门限电平为高低电平之差的1/2,根据can协议要求,每两个帧之间至少有连续7个低电平,可以使用这一
特性来判定帧的结束位置,通过这两个位置对采集得到的can信号序列y(n)进行提取,去除无关数据,得到原始波形,去除掉末尾7个连续低电平后,此时原始波形为103个符号,一共2060个采样点。
[0043]
步骤3,时钟同步:对帧进行时钟同步,从上一步中所定位到的帧的起始位置开始,建立一个窗序列,该窗的大小为一个符号长度,即20个采样点,然后使用窗序列对帧的每一个符号进行同步,形成一个同步信号。
[0044]
步骤4,重采样:首先对原始波形进行整形,然后再做能量归一化,接着使用同步信号对原始波形进行重采样,最后对重采样结果根据判决门限进行电平重建,得到理想波形x(n),最终得到的理想波形如附图3所示。
[0045]
步骤5,解析can数据:根据can帧协议格式,对重建得到的can理想波形进行解析,同时校验其是否是一个完整的帧。
[0046]
步骤6,根据解析结果提取数据域波形:对于采集到的can帧原始波形y(n)和理想波形x(n),其数据域是指在can协议中规定的从dlc段之后的第一个符号开始,到crc段之前的第一个符号区间内的所有符号序列,如有填充符号也应计算在内,共计66个符号,1320个采样点。具体的提取结果如附图4所示。
[0047]
步骤7,提取特征波形:对原始波形y(n)进行上升信号部分和下降信号部分提取提取得到btty和ttby,拼接构成特征波形o(n)。同样的,对理想波形x(n)进行上升信号部分和下降信号部分提取得到btt
x
和ttb
x
,拼接构成参考波形r(n)。具体的,对于下降沿过程,应包含每一个下降沿的前一个符号的后半个周期,一直到下一个符号的前半个周期,具体提取结果如附图5所示。在上升沿过程应包含每一个上升沿的前一个符号的后半个符号周期,一直到下一个符号的前半个周期,具体提取结果如附图6所示。需要注意的是,每一个上升信号部分和下降信号部分,其长度都为一个符号长度,即20个采样点,最终需要将所有提取结果拼成一个完整的序列,共520个采样点,26个符号。
[0048]
步骤8,提取特征:首先计算特征波形o(n)的自相关函数,然后计算参考波形的自相关函数r(n),再将两者相减得到w,计算公式如下:
[0049][0050]
对w的计算结果如附图7所示。得到w之后再进行数值压缩和平滑,数据压缩使用公式w
′
=log(|w|),l=1,2,3
…
,最终不同设备物理指纹提取结果如附图8所示。
[0051]
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,对于涉及通信与信息安全技术领域的技术人员来说,对本发明进行的同等或类似的变化,仍属于本发明的保护范围。
技术特征:
1.一种can设备信号中的物理指纹信息提取方法,其特征在于,所述提取方法包括以下步骤:步骤1,数据采集:在can总线上采集信号并存储,得到can信号序列y(n)和原始波形y(n);步骤2,定位帧的起始位置:对can信号序列y(n)进行能量检测,定位帧起始位置;步骤3,时钟同步:从步骤2中所定位到的帧起始位置开始,建立一个窗序列,使用所述窗序列对所述帧的每一个符号进行同步,形成同步信号;步骤4,重采样:对所述原始波形y(n)进行整形和能量归一化处理,接着使用所述同步信号对所述原始波形y(n)进行重采样,根据判决门限对重采样结果进行电平重建,得到理想波形x(n);步骤5,解析can数据:根据can帧协议格式,对重建得到的can理想波形进行解析,同时校验其是否是一个完整的帧;步骤6,根据解析结果分别对原始波形y(n)和理想波形x(n)的数据域进行截取;步骤7,提取特征波形:分别对原始波形y(n)进行上升信号部分和下降信号部分提取得到btt
y
和ttb
y
,拼接构成特征波形o(n);分别对理想波形x(n)进行上升信号部分和下降信号部分提取得到btt
x
和ttb
x
,拼接构成参考波形r(n);步骤8,特征提取:对特征波形o(n)和参考波形r(n)分别进行自相关运算,然后再计算差值得到波形w,对波形w进行数值压缩和平滑处理即可得到can设备信号的物理指纹特征。2.根据权利要求1所述的can设备信号中的物理指纹信息提取方法,其特征在于,所述步骤1中,在can总线上网关位置对总线上的信号进行采集,采集的信号是can总线上高位数据线can_h和低位数据线can_l两路信号之间的差分信号,将采集的差分信号进行存储,得到can信号的原始波形y(n)和信号序列y(n)。3.根据权利要求1所述的can设备信号中的物理指纹信息提取方法,其特征在于,步骤1中,采集得到的信号是一段固定内容的数据或者是随机内容的数据。4.根据权利要求1所述的can设备信号中的物理指纹信息提取方法,其特征在于,步骤2中,所述能量检测包括使用门限电平对帧的起始位置进行判定,所述门限电平为帧高低电平之差的1/2。5.根据权利要求1所述的can设备信号中的物理指纹信息提取方法,其特征在于,步骤3中,所述窗序列的长度为一个符号所使用的采样点个数n,n为信号采集设备采样率与can设备数据发送速率的比值,其中can设备波特率b和信号采集设备的采样率f已知,根据所述采样点个数n和帧的起始位置对每一个符号在信号序列y(n)中的位置进行定位。6.根据权利要求1所述的can设备信号中的物理指纹信息提取方法,其特征在于,所述步骤4中,所述判决门限电平取自每一个符号的中间位置,即n/2位置处的电平判决结果作为当前符号的电平。7.根据权利要求1所述的can设备信号中的物理指纹信息提取方法,其特征在于,所述数据域取自每一个数据帧中从dlc段之后的第一个符号,到crc段之前的第一个符号之间的波形序列。8.根据权利要求1所述的can设备信号中的物理指纹信息提取方法,其特征在于,步骤7中,通过对上升沿和下降沿的检测,对原始波形y(n)提取下降信号部分构成ttb
y
序列,对原
始波形y(n)提取上升信号部分构成btt
y
序列,将ttb
y
序列和btt
y
序列拼接构成特征波形o(n);对理想波形x(n)提取下降信号部分构成ttb
x
序列,对理想波形x(n)提取上升信号部分构成btt
x
序列,将ttb
x
序列和btt
x
序列拼接构成参考波形r(n)。9.根据权利要求1所述的can设备信号中的物理指纹信息提取方法,其特征在于,步骤8中,计算波形w的公式如下:其中为特征波形o(n)的自相关函数,为参考波形r(n)的自相关函数,l为时移,对波形w进行数值压缩和平滑处理即可作为当前can设备信号的物理指纹。10.根据权利要求9所述的can设备信号中的物理指纹信息提取方法,其特征在于,数值压缩过程使用公式:w
′
=log(|w|),其中对于w计算公式中的时移l取正值,w
′
为数据压缩过后的值。
技术总结
本发明公开了一种CAN设备信号中的物理指纹信息提取方法,该方法包括以下步骤:使用信号采集设备采集CAN网关侧总线上的差分信号,得到原始波形;定位帧信号起始位置;从帧起始位置对原始波形进行时钟同步;使用同步信号对原始波形进行重采样,得到理想波形;在原始波形中以一个符号宽度分别截取上升信号部分和下降信号部分,拼接到一起构成特征波形,同样的从理想波形中构成参考波形;分别计算特征波形和参考波形的自相关函数,然后将两者进行相减得到差值W,此时对W进行数值压缩和平滑即可作为设备的物理指纹。本发明可以实现对CAN设备信号中物理指纹信息的提取,最终实现对CAN总线上的ECU设备进行身份认证和入侵检测,提高CAN总线接入的安全性。高CAN总线接入的安全性。高CAN总线接入的安全性。
技术研发人员:胡爱群 胡小忠
受保护的技术使用者:东南大学
技术研发日:2021.12.10
技术公布日:2022/3/8