本平台为商业科创服务平台 非政府政务服务网站

一种基于时钟同步技术的数据篡改行为识别方法及装置

更新时间:2026-11-01
一种基于时钟同步技术的数据篡改行为识别方法及装置 专利申请类型:发明专利;
源自:天津高价值专利检索信息库;

专利名称:一种基于时钟同步技术的数据篡改行为识别方法及装置

专利类型:发明专利

专利申请号:CN202310042286.9

专利申请(专利权)人:中汽研汽车检验中心(天津)有限公司
权利人地址:天津市东丽区先锋东路68号

专利发明(设计)人:李长豫,刘卫林,吴春玲,景晓军,白晓鑫,李旭,周文瑾,庞国民

专利摘要:本发明公开了一种基于时钟同步技术的数据篡改行为识别方法及装置。识别方法包括如下步骤:通过时钟同步技术计算ECU与氮氧传感器之间的报文传输延迟时间;对延迟时间tD进行校验和运算获得第一校验运算结果,延迟时间tD和第一校验运算结果构成明文数据;利用加密算法对明文数据进行加密后得到密文数据,并通过自定义报文发送到CAN总线上;从CAN总线上接收通过自定义报文发送的密文数据后,利用解密算法对密文数据进行解密恢复为明文数据,根据对比结果,对数据篡改行为进行判定。本申请可以识别出国六车辆CAN总线中可能存在的排放信息篡改行为。

主权利要求:一种基于时钟同步技术的数据篡改行为识别方法及装置
技术领域
[0001] 本发明属于汽车CAN总线技术和发动机电子控制技术领域,具体涉及一种基于时钟同步技术的数据篡改行为识别方法及装置。
背景技术
[0002] 近些年来,大气环境污染问题已经提升为汽车行业可持续发展的重要挑战之一。尤其是国六排放法规的实施,对车辆污染排放控制技术提出了更高的要求,但同时市场上也滋生了新的更高级的排放信息篡改手段。

[0003] 在国四、国五排放标准实施期间,车辆SCR上游温度传感器垫高和安装氮氧模拟器的方式已经成为市场公开的排放信息篡改手段。通过垫高排温传感器降低测量温度,氮氧模拟器替代氮氧传感器往CAN总线上模拟发送较低氮氧浓度值的手段降低尿素消耗量,且因为尿素喷射开环控制的原因整车并不会报错,但实际排放大幅超过国四、国五排放标准。
[0004] 随着国六标准的实施,车辆后处理上已安装上下游氮氧传感器并在ECU集成氮氧浓度合理性监测逻辑,且尿素喷射采用闭环控制,因此仅通过垫高排温传感器和安装氮氧模拟器的方式无法降低尿素消耗量,且整车会报出相应后处理故障导致整车限扭限速。但同时市场也滋生了更高级的排放信息篡改手段,通过网关与上下游氮氧传感器CAN总线单独串联的方式,实现氮氧传感器单独与网关进行报文信息交换,网关解析氮氧信息报文后修改氮氧浓度并打包发送至CAN总线供ECU及T‑Box取用。通过该方法依然可以实现尿素减喷的目的且整车不会报错。
[0005] 因此,为了尽量避免上述现象的发生,发明专利CN202011153112.2公开了通过对车辆上氮氧排放的规律实现合理性的检测,从而检测出氮氧模拟器的存在的技术。但该技术并非没有漏洞,氮氧模拟器可通过CAN总线获取发动机转速、油量、扭矩等信息,通过查阅内置map输出动态氮氧值从而避免被ECU合理性检测逻辑检测出来,且该技术对网关等能对排放信息进行篡改的设备更是无计可施。因此,目前业内暂无能够准确检测出排放信息篡改行为的技术。
发明内容
[0006] 针对背景技术中提出的技术问题,本发明的目的在于提供一种基于时钟同步技术的数据篡改行为识别方法及装置。
[0007] 为实现上述目的,本发明提供的技术方案如下:
[0008] 第一方面
[0009] 本发明提供了一种基于时钟同步技术的数据篡改行为识别方法,包括如下步骤:
[0010] 步骤1:氮氧传感器通过时钟同步技术计算ECU与氮氧传感器之间的报文传输延迟时间,定义延迟时间为tD;
[0011] 步骤2:氮氧传感器对延迟时间tD进行校验和运算获得第一校验运算结果,延迟时间tD和第一校验运算结果构成明文数据;
[0012] 步骤3:氮氧传感器利用加密算法对明文数据进行加密后得到密文数据,并通过自定义报文发送到CAN总线上;
[0013] 步骤4:ECU从CAN总线上接收通过自定义报文发送的密文数据后,利用解密算法对密文数据进行解密恢复为明文数据;
[0014] 步骤5:ECU获取明文数据中的延迟时间tD进行校验和运算获得第二校验运算结果,并把第二校验运算结果与明文数据中的第一校验运算结果进行对比,若不相等,则认为当前帧数据无效,不进行下一步运算;若相等,则认为当前帧数据准确有效,取用延迟时间tD;将延迟时间tD与标准延迟时间tSD进行对比,并根据对比结果,对数据篡改行为进行判定。
[0015] 第二方面
[0016] 与上述方法相对应抵,本发明提供了一种基于时钟同步技术的数据篡改行为识别装置,包括氮氧传感器和ECU;
[0017] 所述氮氧传感器用于通过时钟同步技术计算ECU与氮氧传感器之间的报文传输延迟时间,定义延迟时间为tD;对延迟时间tD进行校验和运算获得第一校验运算结果,延迟时间tD和第一校验运算结果构成明文数据;利用加密算法对明文数据进行加密后得到密文数据,并通过自定义报文发送到CAN总线上;
[0018] 所述ECU用于从CAN总线上接收通过自定义报文发送的密文数据后,利用解密算法对密文数据进行解密恢复为明文数据;获取明文数据中的延迟时间tD进行校验和运算获得第二校验运算结果,并把第二校验运算结果与明文数据中的第一校验运算结果进行对比,若不相等,则认为当前帧数据无效,不进行下一步运算;若相等,则认为当前帧数据准确有效,取用延迟时间tD;将延迟时间tD与标准延迟时间tSD进行对比,并根据对比结果,对数据篡改行为进行判定。
[0019] 与现有技术相比,本发明的有益效果是:
[0020] 本发明基于CAN总线时钟同步技术,利用排放信息篡改设备接收、拆包、处理、打包,发送报文等操作导致报文传输延时的特点,计算出排放信息篡改设备延时时间,并使用加密算法把延时时间通过CAN总线发送给ECU,ECU通过与标准延时时间进行对比判断出CAN总线是否有排放信息篡改设备的存在,实现了CAN总线排放信息篡改行为的智能检测。从而可以识别出国六车辆CAN总线中可能存在的排放信息篡改行为,防止排放信息在CAN总线传输过程中被篡改。
附图说明
[0021] 图1所示为本申请实施例提供的方法流程示意图;
[0022] 图2所示为本申请实施例中时钟同步过程示意图。实施方式

[0023] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024] 需要说明的是,本发明提出了一种基于CAN总线时钟同步技术识别排放信息篡改行为的方法及装置,主要应用于满足国六排放标准的整车。
[0025] CAN总线时钟同步技术是IEEE1588协议在汽车CAN总线上的具体应用,使得CAN总线上各节点可以实现高精度的时间同步,同步精度可达到us级,而网关等单片机接收、处理、发送数据的延迟时间为ms级,因此可基于CAN总线时钟同步的原理判断出CAN总线中是否存在网关等排放信息篡改设备。
[0026] IEEE1588主要定义了四种时钟报文类型:1同步报文,简称Sync;2跟随报文,简称Follow‑Up;3延时要求报文,简称Relay‑Req;4回应报文,简称Relay‑Resp。
[0027] 如图2所示,ECU充当主时钟节点,氮氧传感器作为从时钟节点会基于CAN总线时钟同步技术实现与主时钟节点的时钟同步,主从时钟节点的偏差时间和延迟时间计算均在氮氧传感器中进行。
[0028] T2=时间偏差+延迟时间+T1,
[0029] T4=T3-时间偏差+延迟时间;
[0030] 则可以得出时间偏差=[(T2-T1)+(T3-T4)]/2,时间延迟=[(T2-T1)+(T4-T3)]/2。
[0031] 本发明方案中氮氧传感器通过该方式获取ECU和氮氧传感器之间报文传输延迟时间t(D ns级)。
[0032] 如图1所示,本实施例提供的一种基于时钟同步技术的数据篡改行为识别方法,包括如下步骤:
[0033] 步骤1:氮氧传感器通过时钟同步技术直接计算ECU与氮氧传感器之间的报文传输延迟时间,定义延迟时间为tD;正常情况下该延迟时间为ns级,占用6字节,单位为1ns/bit。
[0034] 步骤2:氮氧传感器对延迟时间tD进行校验和运算获得第一校验运算结果,延迟时间tD和第一校验运算结果构成明文数据;基于CAN总线可能会受到电磁干扰的考量,在氮氧传感器内对延迟时间tD进行了校验和运算以确保数据的完整性和准确性。第一校验运算结果占用1字节。延迟时间和第一校验运算结果组成7字节的有效数据,然后采用PKCS7填充算法补齐内容为0x09的9字节填充数据,此时有效数据和填充数据共同组成了16字节的预处理后的数据,即预处理数据各字节定义为:byte1‑byte6为延迟时间tD;byte7为校验和运算结果;byte8‑byte16为连续9字节0x09。
[0035] 步骤3:为了防止明文数据在CAN总线传输过程中被网关等排放造假设备篡改,因此需要对明文数据进行加密。氮氧传感器利用加密算法对明文数据进行加密后得到密文数据,并通过自定义报文发送到CAN总线上;出于加解密速度和氮氧传感器芯片性能的考虑,此处使用对称加密算法AES‑128对数据进行加密处理,ECU和氮氧传感器均内置相同的密钥K。预处理后数据长度已符合AES‑128加密算法最低字节数要求,则定义该组数据为明文数据,该明文数据经过氮氧传感器内置的密钥K进行加密后得到一组16字节的密文数据,把该16字节密文数据拆分为byte1‑byte8字节密文数据a和byte9‑byte16字节密文数据b。其中8字节密文数据a通过ID:0x1800E53发送至CAN总线,仅发送一帧;8字节密文数据b通过ID:
0x1800E54发送至CAN总线,仅发送一帧。

[0036] 步骤4:ECU从CAN总线上接收通过自定义报文发送的密文数据后,利用解密算法对密文数据进行解密恢复为明文数据;步骤4和步骤5发生在ECU内部,由ECU芯片相应处理。具体地,ECU接收ID:0x1800E53报文和ID:0x1800E54报文后,把密文数据a和密文数据b重新组合成16字节密文数据,通过内置密钥K对16字节密文数据进行解密操作后,得到16字节明文数据。取16字节明文数据byte1‑byte6进行校验和运算,并与byte7进行对比,若校验和运算结果对比不相等则认为当前帧数据无效,不进行下一步运算;若校验和运算结果对比相等则认为当前帧数据准确有效,则取16字节明文数据byte1‑byte6进行解析,计算出延迟时间tD。
[0037] 步骤5:ECU获取明文数据中的延迟时间tD进行校验和运算获得第二校验运算结果,并把第二校验运算结果与明文数据中的第一校验运算结果进行对比,若不相等,则认为当前帧数据无效,不进行下一步运算;若相等,则认为当前帧数据准确有效,取用延迟时间tD;将延迟时间tD与标准延迟时间tSD进行对比,并根据对比结果,对数据篡改行为进行判定。具体如下:
[0038] 若延迟时间tD与标准延迟时间tSD对比结果在允许公差范围内,则计数器Cnum值减1;

[0039] 若延迟时间tD与标准延迟时间tSD对比结果超过允许公差范围,则计数器Cnum值加1;

[0040] 当计数器Cnum值达到最大值时,判定ECU和氮氧传感器之间疑似存在排放造假设备,ECU报出疑似排放信息被篡改故障,根据国六OBD监控规则触发驾驶员报警系统及限速限扭;
[0041] 其中,所述允许公差范围为0<tD≤2tSD,最大值为255。
[0042] 其中,整车第一次上电的计数器Cnum值的初始值设置为0,最小值为0,整车下电后计数器Cnum值自动保存至ECU缓存中并在下次整车上电后继续累加或累减。
[0043] 另外,本实施例还包括如下步骤:
[0044] 步骤01:整车上电并等待氮氧传感器初始化完成;
[0045] 步骤02:在T1时刻,ECU向氮氧传感器发送Sync报文,ECU记录发送时间T1;可在整车上电10s后发送该报文;
[0046] 步骤03:在T2时刻,氮氧传感器收到Sync报文并记录时间T2;
[0047] 步骤04:ECU随后向氮氧传感器发送Follow‑Up报文,并在该报文中打上T1的时戳;步骤05:在T3时刻,氮氧传感器作为从时钟节点给主时钟节点ECU发送Relay‑Req报文,并记录时间T3;。

[0048] 步骤06:在T4时刻,ECU回应Relay‑Resp报文并在该报文中打上T4的时戳,氮氧传感器并执行步骤1‑步骤3;
[0049] 步骤07:氮氧传感器判断是否接收到ECU的Relay‑Resp报文,若否,跳至步骤08;若是,ECU执行步骤4;
[0050] 步骤08:氮氧传感器以自定义周期重复发送Relay‑Req报文n次(n为有限次数在氮氧传感器程序中定义,可以定义为3);氮氧传感器判断在n次范围内是否收到Relay‑Resp报文,若否,跳至步骤09,若是,ECU执行步骤4;
[0051] 步骤09:氮氧传感器判断CAN总线或氮氧传感器节点是否报出DSM错误,若是,跳至步骤10,若否,跳至步骤11;
[0052] 步骤10:当前驾驶循环氮氧传感器停止发送Relay‑Req报文直至故障消除;
[0053] 步骤11:氮氧传感器判定ECU和氮氧传感器之间疑似存在排放造假设备或Relay‑Req和Relay‑Resp报文疑似被排放造假设备拦截,氮氧传感器报出疑似排放信息被篡改故障,并触发驾驶员报警系统及限速限扭。
[0054] 需要说明的是,所述校验和运算是为了防止CAN总线受到电磁干扰时总线差分电压值不准确导致报文解析内容产生误差,进而影响ECU的判定。ECU和氮氧传感器使用相同的校验和算法对明文数据byte1‑byte6进行对比校验,提高了传输数据的完整性和准确性。
[0055] 所述对称加密算法AES128是一种被广泛应用的加密技术,因为是对称加密算法,所以加解密使用的密钥K是一样的,且为了保密性该密钥K不能在网络中公开传输,因此本发明方案中密钥K为ECU和氮氧传感器协商产生并均提前内置在芯片中。
[0056] tSD是在整车出厂前(此时ECU与氮氧传感器之间的CAN总线布置方式已确定)由工程师测量并写入ECU程序的标准状态下ECU和氮氧传感器之间的报文传输延迟时间。
[0057] 所述计数器Cnum在整车第一次上电时设置为初始值0,每次整车下电后当前驾驶循环Cnum累计值均自动保存至ECU缓存中,再次上电后ECU读取缓存Cnum累计值作为当前驾驶循环Cnum初始值。计数器Cnum最小值为0,最大值为255,当计数器Cnum出现累计值小于0时,Cnum随即重置为0。
[0058] 与上述方法对应地,本实施例还提供了一种基于时钟同步技术的数据篡改行为识别装置,包括氮氧传感器和ECU;
[0059] 所述氮氧传感器用于通过时钟同步技术计算ECU与氮氧传感器之间的报文传输延迟时间,定义延迟时间为tD;对延迟时间tD进行校验和运算获得第一校验运算结果,延迟时间tD和第一校验运算结果构成明文数据;利用加密算法对明文数据进行加密后得到密文数据,并通过自定义报文发送到CAN总线上;
[0060] 所述ECU用于从CAN总线上接收通过自定义报文发送的密文数据后,利用解密算法对密文数据进行解密恢复为明文数据;获取明文数据中的延迟时间tD进行校验和运算获得第二校验运算结果,并把第二校验运算结果与明文数据中的第一校验运算结果进行对比,若不相等,则认为当前帧数据无效,不进行下一步运算;若相等,则认为当前帧数据准确有效,取用延迟时间tD;将延迟时间tD与标准延迟时间tSD进行对比,并根据对比结果,对数据篡改行为进行判定。
[0061] 其中,所述ECU根据对比结果,对数据篡改行为进行判定,具体如下:
[0062] 若延迟时间tD与标准延迟时间tSD对比结果在允许公差范围内,则计数器Cnum值减1;

[0063] 若延迟时间tD与标准延迟时间tSD对比结果超过允许公差范围,则计数器Cnum值加1;

[0064] 当计数器Cnum值达到最大值时,判定ECU和氮氧传感器之间疑似存在排放造假设备,ECU报出疑似排放信息被篡改故障,并触发驾驶员报警系统及限速限扭;
[0065] 其中,整车第一次上电的计数器Cnum值的初始值设置为0,最小值为0,整车下电后计数器Cnum值自动保存至ECU缓存中并在下次整车上电后继续累加或累减。
[0066] 其中,所述氮氧传感器还用于在整车上电并等待氮氧传感器初始化完成后,作为从时钟节点给主时钟节点ECU发送Relay‑Req报文,若未接收到ECU回应的Relay‑Resp报文,则以自定义周期重复发送Relay‑Req报文n次,若仍未收到Relay‑Resp报文,判断CAN总线或氮氧传感器节点是否报出DSM错误,若存在DSM错误,则停止发送Relay‑Req报文直至故障消除;若不存在DSM错误,则判定ECU和氮氧传感器之间疑似存在排放造假设备或Relay‑Req和Relay‑Resp报文疑似被排放造假设备拦截,氮氧传感器报出疑似排放信息被篡改故障,并触发驾驶员报警系统及限速限扭;
[0067] 所述ECU还用于发送Relay‑Resp报文;
[0068] 其中,所述明文数据的各字节定义如下:byte1‑byte6为延迟时间tD;byte7为第一校验运算结果;byte8‑byte16为连续9字节0x09。
[0069] 其中,所述氮氧传感器利用对称加密算法AES‑128对明文数据进行加密处理,ECU和氮氧传感器均内置相同的密钥K,所述明文数据经过氮氧传感器内置的密钥K进行加密后得到一组16字节的密文数据,将所述密文数据拆分为byte1‑byte8字节密文数据a和byte9‑byte16字节密文数据b,8字节密文数据a通过ID:0x1800E53发送至CAN总线,仅发送一帧;8字节密文数据b通过ID:0x1800E54发送至CAN总线,仅发送一帧。
[0070] 需要说明的是,装置的其他作用,参考对方法的描述。
[0071] 以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

专利地区:天津

专利申请日期:2023-01-28

专利公开日期:2023-07-11

专利公告号:CN116055181B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
该专利所有权非本平台所有,我方无法提供专利权所有者联系方式,请勿联系我方。
电话咨询
到底部
搜本页
回顶部
搜索
搜本页
欢迎咨询

扫码可加微信,手机访问拨打咨询

欢迎咨询

欢迎咨询
数据加载中...