CN107770176B - Sae-j1939汽车总线节点认证ecu产生方法 - Google Patents

Sae-j1939汽车总线节点认证ecu产生方法 Download PDF

Info

Publication number
CN107770176B
CN107770176B CN201711005805.5A CN201711005805A CN107770176B CN 107770176 B CN107770176 B CN 107770176B CN 201711005805 A CN201711005805 A CN 201711005805A CN 107770176 B CN107770176 B CN 107770176B
Authority
CN
China
Prior art keywords
ecu
address
node
message
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711005805.5A
Other languages
English (en)
Other versions
CN107770176A (zh
Inventor
谭劲
杨红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Jiliang University
Original Assignee
China Jiliang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Jiliang University filed Critical China Jiliang University
Priority to CN201711005805.5A priority Critical patent/CN107770176B/zh
Publication of CN107770176A publication Critical patent/CN107770176A/zh
Application granted granted Critical
Publication of CN107770176B publication Critical patent/CN107770176B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

本发明公开了一种SAE J1939汽车总线节点认证ECU产生方法,在总线上添加一个认证ECUA,包括以下步骤:(1)采用互为标准时间获取工作ECUi(1≤i≤29)与认证ECUA间的时钟偏移;(2)加电完成后,工作ECUi自己发送一条询问自己的地址是否被使用的“请求已声明地址”消息,将自己的SkewiA传送到总线上,认证节点ECUA获取每个ECUi与自己的时钟偏移,并和第(1)步获取的SkewiA进行比较,从而确定是否是非法ECU。

Description

SAE-J1939汽车总线节点认证ECU产生方法
技术领域
本发明涉及一种SAE J1939汽车总线节点认证电子控制单元ECUA(ElectronicControl Unit)的产生方法,尤其涉及J1939总线上的工作单元ECUi与认证ECUA间的时钟偏移这一唯一物理属性作为确定ECUi的真实性的方法及其在J1939总线上的实现及应用。
背景技术
SAE J1394是美国汽车工程协会定义的,主要用于客车、重型卡车等商用车辆,也可用于舰船、轨道机车、农业机械等内部电子控制单元ECU间网络连接与通信的一整套标准;其物理层采用特征阻抗为120Ω的屏蔽双绞线连接,传输速率为250kb/s,同一网络内最多ECU数目为30个;
J1939以CAN(Controller Area Networks)2.0B规范为物理层(J1939-11),目的是解决不同发动机厂商、不同ECU厂商的兼容性问题,并增加了数据链路层(J1939-21)、网络层(J1939-31)、应用层(J1939-71)、故障诊断(J1939-73)和网络管理规范(J1939-81)。J1939使用29位消息ID,定义了一系列的参数组编号PGN(Parameter Group Number)和可疑参数编号SPN(Suspect Parameter Group Number),这些PGN包含了发动机、变速箱、车轴等汽车上各部件的信息;对参数的表示方法(状态和值)又定义了SLOT(Scaling比例、Limit界限、Offset偏移、Transfer传送);所有ECU厂商都应该遵循这些规范。协议数据单元PDU(Protocol Data Unit)被封装在一个或多个CAN 2.0B数据帧中,通过物理介质传送到其它设备,如图1所示,J1939和CAN2.0B消息头对应关系见图2。
ECU是汽车专用微机控制器,包含一个或多个控制器应用程序CA(ControllerApplication),CA由ECU中的软、硬件构成,并能够执行某些功能(如果ECU中只有一个CA,ECU和CA的意义相同,见图3);为了能够在J1939网络内实现通讯,每个CA应具有一个地址(8位)和与之相关的名称(NAME),允许单个ECU具有多个名称和地址(多个CA);NAME是一个64位的标识符,包含ID编号、制造商编码、功能、车辆系统等10个字段;为了便于初始化以确定网络中每个ECU的地址,那些广泛使用的设备都有SAE委员会分配的首选地址。使用首选地址可以将多个设备试图声明同一地址的概率最小化。设备启动后,必须在网络中对使用的地址进行声明,以解决任何可能发生的冲突,这个过程称“地址声明”ACL(AddressClaiming)。对于具有自动配置的ECU,能够动态地计算和声明一个未使用的地址,这样使得具有相同功能的ECU(如图3中的ECU A,另一个ECU A中的CA1、CA2、CA3通过地址声明而使用空闲地址)可以共存于J1939网络中,而不发生地址冲突。
地址声明分两种情况:
(1)ECU自己发送一条“地址声明”消息,消息中含有ECU中CA声明的地址(图2中的SA)和NAME(64位数据域),等待预定的时间(250ms),如果在此期间没有其它CA声明相同的地址,发出“地址声明”消息的CA就可以使用该地址进行正常通信了。如果地址重复,已申请了同一地址ECU发出具有不同NAME(SA相同)“地址声明”消息,则具有最小名称值的ECU将使用这个地址,其他ECU必须申请别的地址(具有自配置能力的ECU)或发出“不能声明源地址”消息(无自配置能力的ECU需要人工干预才能获取到空闲地址)。
(2)ECU可以发送一个“请求已声明地址”的消息,用来确定哪些地址已被其他ECU声明。当一个ECU发出“请求已声明地址”时,所有被请求的ECU于是发送其各自的己声明地址报文。这就使得那些临时性的ECU(如工具、拖车等)或上电较晚的ECU可获得当前地址表,从而找到并声明一个可用的地址,或者确定目前在网络中有哪些ECU。
“地址声明”、“不能声明源地址”、“请求已声明地址”三种消息见图4。
由于CAN总线没有安全组件,它假定所有的ECU是合法的、值得信任并且按它们的参数设定进行工作的。J1939采用以CAN 2.0B作为底层协议,也继承了CAN协议的所有漏洞,并带来了协议自身的安全问题,如DoS攻击(发送低值ID消息抢占总线)、破坏正常节点的地址声明(恶意节点声明一个正常节点的地址,并通过提供一个具有较低值的NAME字段而获取该地址)、修改消息优先级和发送错的SPN编号等。
解决这类漏洞最好的办法是ECU节点认证或消息认证。尽管PDU单元中含有ECU的源地址SA,但SA是可以改变的,更是可以被假冒的,所以通过源地址的ECU节点认证并不能解决ECU的真实性问题;而消息认证受CAN数据域长度的限制(最多8个字节)而不能将消息认证码MAC添加到数据后面,即使在发送数据后再单独传送该数据的MAC码,势必增加总线负载和验证消息的计算开销,从而影响总线上ECU的实时性。
发明内容
为了解决现有J1939汽车总线ECU节点认证的上述技术问题,本发明公开了一种认证节点合法性的认证ECU产生的方法,在总线上添加一个认证ECU,如图3所示,包括以下步骤:
(1)一种采用采用互为标准时间的获取工作ECUi(1≤i≤29)与认证ECUA间的时钟偏移;
两ECU节点的时钟偏移是由于ECU内部的时钟进展频率不同而引起的,这是电子设备内在的固有属性而具备唯一性,可以在PPM(Parts Per Million)级标识不同的ECU节点,可以作为一种指纹信息用于802.11设备标识、车载电脑和传感网络的节点认证中。具体定义如下:
如果Cx(t)表示节点ECUx在真实时间t的时间,时钟进展频率定义为:
Cx'(t)=dCx(t)/dt(t>=0) (1)
则ECU1与ECU2的时钟偏移Skew定义为C'(t)的差值:
Skew=C1'(t)-C2'(t) (2)
可以用4个字节表示这个PPM级的差值。
由于J1939网络中没有统一的标准时钟,任意工作节点ECUi与认证节点ECUA互相提供标准时钟,即ECUA发出随机时间间隔T1、T2给ECUi,则ECUi的时钟进展频率为:
Ci'(T2-T1)=(Ci(T2)-Ci(T1))/(T2-T1) (3)
然后,ECUi发出随机时间间隔Ti1、Ti2给ECUA,则ECUA的时钟进展频率为:
CA'(Ti2-Ti1)=(CA(Ti2)-CA(Ti1))/(Ti2-Ti1) (4)
ECUi与ECUA互相向对方传送Ci'(T2-T1)和CA'(Ti2-Ti1),根据公式(2),任意ECUi保存一个自己与ECUA的时钟偏移SkewiA,而ECUA保存了自己与网络所有节点的时钟偏移SkewsiA
获取所有ECU的时钟偏移后,ECUA就在自己内存里形成一张如表1的表,表中只有序号和偏移值,ECUi的源地址未知。
(2)加电完成后,工作ECUi自己发送一条询问自己的地址是否被使用的“请求已声明地址”消息,将自己的SkewiA传送到总线上,认证节点ECUA获取每个ECUi与自己的时钟偏移,并和第(1)步获取的SkewiA进行比较,从而确定是否是非法ECU。
按照J1939协议规定,加电时每个ECU必须发出“地址声明”消息,以确定自己在总线上的地址,只有确定在总线上具有唯一地址的ECU才能在总线上进行数据传输;由于“请求已声明地址”消息的数据字段只有3个字节(见图4),所以只要每个获取唯一地址的ECU增加一项软件功能:即自己发送一条询问自己的地址是否被使用的“请求已声明地址”消息,该消息数据字段的最后4个字节为SkewiA值(4个字节),DA=255(发给所有节点)且SA=ECUi自己的地址,数据字段的第4字节(PGN 60928后的第一字节)设置为0x00(进入网络)或0xFF(退出更换);其它ECUx由于没有使用这个地址,不用响应这个消息;认证ECUA获取到这个消息后,在表1中查找SkewiA的值,如果找到,将该“请求已声明地址”消息中的SA填入到表1中的SA字段,说明节点是合法节点;否则,说明是非法节点。
如果ECU需要更换,数据字段的第4字节(PGN 60928后)设置为0xFF,认证ECUA在表1中查找Skew=SkewiA且SA=SA,找到后从表1中删除。
附图说明
图1 J1939节点间数据传送图;
图2 J1939和CAN2.0B消息头示意图;
图3是本发明的J1939汽车总线节点认证ECU图;
图4是地址声明、不能声明源地址、请求已声明地址三种消息示意图。
具体实施方式
下面对本发明作进一步说明:
1、设计生产出一个满足本发明的认证ECUA
2、修改已有工作ECU的软件功能,使其具备和认证ECUA交换时钟偏移并记录SkewiA的值,同时在声明到总线地址后,能发送出一条询问自己的地址是否被使用的“请求已声明地址”消息,与认证ECUA交换相关数据;
3、在安全环境下,认证ECUA先与每一个工作ECUi时钟进展频率,双方都获取到时钟偏移SkewiA,并在ECUA内存中形成表1,此时每个工作ECUi还没有声明到自己在总线上的唯一地址,表1中的SA字段为空;
序号 SA Skew
1 Skew<sub>1A</sub>
2 Skew<sub>2A</sub>
……. ……. …….
N Skew<sub>NA</sub>
表1ECUA与所有ECU的时钟偏移表。
4、启动总线工作,每个工作ECUi先发出“地址声明”消息,确定自己在总线上的唯一地址;然后发送出一条询问自己的地址是否被使用的“请求已声明地址”消息,该消息中携带有ECUi声明到的源地址SA,SkewiA和“进入网络”或“退出更换”标记;
5、认证ECUA根据收到ECUi的SkewiA值,在表1中查找,找到后将SA写入到表1中对应记录SA字段,说明该节点合法;否则说明ECUi为非法节点;
6、如果节点需要更换,匹配表1中的SA和Skew两个值,找到后从表1删除。

Claims (3)

1.一种SAE J1939汽车总线节点认证ECU产生方法,在总线上添加一个认证ECUA,其中ECU为电子控制单元,其特征在于:包括以下步骤:
(1)采用互为标准时间获取工作ECUi与认证ECUA间的时钟偏移,其中,1≤i≤29;
如果Cx(t)表示节点ECUx在真实时间t的时间,时钟进展频率定义为:
Cx'(t)=dCx(t)/dt,t>=0 (1)
则ECU1与ECU2的时钟偏移Skew定义为Cx'(t)的差值:
Skew=C1'(t)-C2'(t) (2)
用4个字节表示这个PPM级的差值,PPM表示分率;
任意工作节点ECUi与认证节点ECUA互相提供标准时钟,即ECUA发出随机时间间隔T1、T2给ECUi,则ECUi的时钟进展频率为:
Ci'(T2-T1)=(Ci(T2)-Ci(T1))/(T2-T1) (3)
然后,ECUi发出随机时间间隔Ti1、Ti2给ECUA,则ECUA的时钟进展频率为:
CA'(Ti2-Ti1)=(CA(Ti2)-CA(Ti1))/(Ti2-Ti1) (4)
ECUi与ECUA互相向对方传送Ci'(T2-T1)和CA'(Ti2-Ti1),根据公式(2),任意ECUi保存一个自己与ECUA的时钟偏移SkewiA,而ECUA保存了自己与网络所有节点的时钟偏移SkewsiA;获取所有ECUi的时钟偏移后,ECUA形成一张表,表中只有序号和时钟偏移SkewsiA的偏移值,ECUi的源地址未知;
(2)加电完成后,工作ECUi自己发送一条询问自己的地址是否被使用的“请求已声明地址”消息,将自己的SkewiA传送到总线上,认证节点ECUA获取每个ECUi与自己的时钟偏移,并和第(1)步获取的SkewiA进行比较,从而确定是否是非法ECU。
2.如权利要求1所述的SAE J1939汽车总线节点认证ECU产生方法,其特征在于:步骤(2)中,工作ECUi发送一条询问自己的地址是否被使用的“请求已声明地址”消息,该消息数据字段的最后4个字节为SkewiA值,目的地址DA=255,其中DA=255表示发给所有节点,且源地址SA=ECUi自己的地址,数据字段的第4字节设置为0x00或0xFF,其中0x00表示进入网络,0xFF表示退出更换;其它ECUx由于没有使用这个地址,不用响应这个消息;认证ECUA获取到这个消息后,在所述表中查找SkewiA的值,如果找到,将该“请求已声明地址”消息中的SA填入到所述表中的SA字段,说明节点是合法节点;否则,说明是非法节点。
3.如权利要求1所述的SAE J1939汽车总线节点认证ECU产生方法,其特征在于:如果ECUi需要更换,数据字段的第4字节,即PGN 60928后设置为0xFF,认证ECUA在所述表中查找Skew=SkewiA且所述表中字段SA等于需要删除的ECUi的SA值,找到后从所述表中删除。
CN201711005805.5A 2017-10-24 2017-10-24 Sae-j1939汽车总线节点认证ecu产生方法 Active CN107770176B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711005805.5A CN107770176B (zh) 2017-10-24 2017-10-24 Sae-j1939汽车总线节点认证ecu产生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711005805.5A CN107770176B (zh) 2017-10-24 2017-10-24 Sae-j1939汽车总线节点认证ecu产生方法

Publications (2)

Publication Number Publication Date
CN107770176A CN107770176A (zh) 2018-03-06
CN107770176B true CN107770176B (zh) 2020-06-02

Family

ID=61270267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711005805.5A Active CN107770176B (zh) 2017-10-24 2017-10-24 Sae-j1939汽车总线节点认证ecu产生方法

Country Status (1)

Country Link
CN (1) CN107770176B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743225B (zh) * 2018-12-27 2021-09-28 深圳市富创优越科技有限公司 数据测试方法、装置、存储介质及计算机设备
CN111343300A (zh) * 2020-03-27 2020-06-26 珠海格力电器股份有限公司 地址自动分配的方法及通讯系统
DE102020215441A1 (de) 2020-12-07 2022-06-09 Volkswagen Aktiengesellschaft Verfahren zur Synchronisation von Uhren von mindestens zwei Geräten
CN114944967B (zh) * 2021-02-09 2024-02-13 奥动新能源汽车科技有限公司 编码方法、系统、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103116507A (zh) * 2012-12-14 2013-05-22 惠州市亿能电子有限公司 一种基于can的ecu程序下载方法
CN105745862A (zh) * 2013-09-24 2016-07-06 密执安州立大学董事会 在汽车网络中使用id匿名化的实时帧认证
WO2017173087A2 (en) * 2016-04-01 2017-10-05 The Regents Of The University Of Michigan Fingerprinting electronic control units for vehicle intrusion detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103116507A (zh) * 2012-12-14 2013-05-22 惠州市亿能电子有限公司 一种基于can的ecu程序下载方法
CN105745862A (zh) * 2013-09-24 2016-07-06 密执安州立大学董事会 在汽车网络中使用id匿名化的实时帧认证
WO2017173087A2 (en) * 2016-04-01 2017-10-05 The Regents Of The University Of Michigan Fingerprinting electronic control units for vehicle intrusion detection

Also Published As

Publication number Publication date
CN107770176A (zh) 2018-03-06

Similar Documents

Publication Publication Date Title
CN107770176B (zh) Sae-j1939汽车总线节点认证ecu产生方法
US11569984B2 (en) Key management method used in encryption processing for safely transmitting and receiving messages
Groza et al. Security solutions for the controller area network: Bringing authentication to in-vehicle networks
EP2681901B1 (en) Vehicle network system
US20110083161A1 (en) Vehicle, maintenance device, maintenance service system, and maintenance service method
CN113709123B (zh) 安全控制方法、装置和计算机设备
CN107454107B (zh) 一种检测注入式攻击的控制器局域网汽车总线报警网关
US11256498B2 (en) Node, a vehicle, an integrated circuit and method for updating at least one rule in a controller area network
US9477843B2 (en) Inhibiting access to sensitive vehicle diagnostic data
Nowdehi et al. In-vehicle CAN message authentication: An evaluation based on industrial criteria
US20190068361A1 (en) In-vehicle group key distribution
JP6190443B2 (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
WO2020259169A1 (zh) 认证方法、设备及系统
CN105141579A (zh) 车载设备安全验证方法
US20230015877A1 (en) Certificate list update method and apparatus
JP2016163265A (ja) 鍵管理システム、鍵管理方法およびコンピュータプログラム
Kwon et al. Mitigation mechanism against in-vehicle network intrusion by reconfiguring ECU and disabling attack packet
Ammar et al. Securing the on-board diagnostics port (obd-ii) in vehicles
US20230239158A1 (en) Message chain-based can security sytem and method with hash function
JP7151931B2 (ja) 中継装置、通信ネットワークシステム及び通信制御方法
KR20180072340A (ko) 운송 수단 내부 네트워크에서의 제어 데이터를 보안 전송하는 방법
JP6830877B2 (ja) 配信システム、鍵生成装置、配信方法、及びコンピュータプログラム
JP2020053880A (ja) 鍵管理システム、車両、管理サーバ装置、端末装置、コンピュータプログラム、及び鍵管理方法
CN206249091U (zh) 车辆信息系统
Wang et al. Security Mechanism and Verification of Vehicle Network Based on Message Authentication

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant