掌桥专利:专业的专利平台
掌桥专利
首页

一种工程机械CAN设备身份认证方法及系统

文献发布时间:2023-06-19 10:32:14


一种工程机械CAN设备身份认证方法及系统

技术领域

本发明属于工程机械CAN总线通信安全技术领域,具体涉及一种工程机械CAN设备身份认证方法及系统。

背景技术

CAN(控制器局域网络)总线作为工程机械主机产品中主流的现场总线,是一种基于报文标识符的多主广播总线系统。在CAN总线协议中,每个具有CAN接口的ECU(电子控制单元)之间信息的传输依靠报文来完成。报文中包含着接收方的ECU特定的ID。由于CAN总线是无源广播,CAN总线上的消息可以被任意节点读取。如果没有安全措施进行保护,无法保证信息的真实性和完整性。非法节点有机会伪造认证消息或者通过监听网络中的消息冒充合法节点重发合法节点的认证消息,达到通过身份认证的目的。因此为了防止伪造正常节点身份进行的入侵行为,采用CAN设备身份认证的方法来保障CAN总线的通信安全很有必要。

现有的车辆总线通信过程中,多采用的是对称加密体制进行身份认证。对称加密体系下运算量小,运算速度快,对软硬件要求低。但是,当涉及多角色通讯时,多方的身份认证方案必须要求唯一认证每一条消息的来源,也就是说,每两个角色间共享唯一密钥,否则,对称加密体系下的消息认证码并不能保证消息来源。而且一方的密钥一旦泄露,加密信息的安全性受到影响。同时,对称密钥体系存在密钥分配和数字签名两大问题需要处理。

为了解决对称加密身份认证存在的问题,现有的车载网络环境中也采用非对称的公钥加密体制进行身份认证。安全性高,但是存在速度慢的缺点。考虑在资源受限的CAN总线环境下,非对称加密体制对ECU计算能力要求高,密钥分配增大总线资源负载量,存在造成有通信延迟的风险。

发明内容

本发明的目的在于克服现有技术中的不足,提供一种工程机械CAN设备身份认证方法及系统,增加了报文破解的难度,提高了信息传输的安全性和可靠性,同时优化了节点验证的效率,缩短了验证时间。

本发明提供了如下的技术方案:

一种工程机械CAN设备身份认证方法,包括以下步骤:

将节点分为关键节点和普通节点;

车辆启动阶段,以网关为中心,按照预设的安全性权重策略,通过非对称加密体制,待认证关键节点生成随机数,使用带有哈希摘要的数字签名对关键节点进行身份认证;

通过对称加密体制对普通节点进行身份认证。

进一步的,对关键节点进行身份认证的方法,包括以下步骤:

被验证节点生成随机数,利用被验证节点的私钥进行加密,使用带有哈希摘要的数字签名,将消息发送回网关节点;

网关节点进行解密,利用非对称加密的公钥和私钥的唯一性进行身份认证;

消息解密后的数据进行比较,若相同,则认证成功,若待确认节点超时没有返回密文或者两者生成密文不同,则认证失败。

进一步的,网关节点G与关键节点Ni间身份认证,具体按照以下步骤执行:

在车辆启动后,网关节点G在初始化完成后,按照预设的安全性权重策略,选择对优先级高的关键节点Ni进行验证,利用网关节点私钥SG进行加密处理的Mi,数据段内容为关键节点的身份标识IDi,将报文发送给关键节点Ni;

节点Ni收到消息Mi后,利用网关节点公钥PG进行解密得IDi,如果IDi合法,则转至以下步骤,否则认证失败;

节点Ni生成随机数Ri,对随机数Ri进行Hash函数运算,生成消息摘要Hi1,使用节点私钥Si对Hi1加密的数字签名Ci,将随机数Ri和Ci封装为Qi,发送给网关G;

网关G收到报文Qi,进行分解为Ri和Ci,使用节点公钥Pi对Ci进行解密得Hi1’,对Ri进行Hash函数运算,得Hi2,比较Hi1’和Hi2,如果一致,则验证成功,否则认证失败。

进一步的,所述Hash函数是一个单项密码体制,将任意长度的输入映射成固定长度输出的运算方式,从明文到密文是一个不可逆的过程,没有绝对的解密过程。

进一步的,在实体认证过程中,采用唯一性CANID分配,即为每一个不同的节点分配一套独有的CANID;在认证请求阶段,每个节点有唯一的请求ID,网关节点收到通信报文后,根据CANID识别节点身份。

进一步的,车辆出厂前,网关节点和待认证的关键节点已写入认证所需的公私钥对,且公私钥对进行周期性更新,减轻认证过程中由于密钥分配导致的总线负载量。

进一步的,对工程机械车载ECU节点等级进行划分时,以包括转向控制、速度控制、上车作业控制的高安全等级作为关键节点,以包括声音控制、灯光控制的低安全等级作为普通节点。

进一步的,适用于基于CAN总线技术的上层应用协议,包括CANopen、J1939协议。

进一步的,适用于包括CAN2.0A和CAN2.0B的总线通信。

一种工程机械CAN设备身份认证系统,包括:

分类模块,用于将节点分为关键节点和普通节点;

关键节点身份认证模块,用于车辆启动阶段,以网关为中心,通过非对称加密体制,待认证关键节点生成随机数,使用带有哈希摘要的数字签名对关键节点进行身份认证;

普通节点身份认证模块,用于通过对称加密体制对普通节点进行身份认证。

进一步的,所述关键节点身份认证模块包括:

加密模块,用于被验证节点生成随机数后,利用被验证节点的私钥进行加密,使用带有哈希摘要的数字签名,将消息发送回网关节点;

解密认证模块,用于对网关节点进行解密,利用非对称加密的公钥和私钥的唯一性进行身份认证;

认证模块,用于将消息解密后的数据进行比较,若相同,则认证成功,若待确认节点超时没有返回密文或者两者生成密文不同,则认证失败。

本发明的有益效果是:

(1)本发明考虑到工程机械的功能需求和节点的安全性等级,将节点分为关键节点和普通节点,分别采用不同的安全认证机制,关键节点采用非对称加密体制的安全认证体制,安全性高,普通节点采用对称加密体制,验证时间短;

(2)本发明中身份认证发生在车辆启动阶段,以网关为中心,通过非对称密钥体制,使用带有哈希摘要的数字签名对接入总线的关键节点的ECU进行身份认证,本发明增加了节点被伪造的难度,提高了信息传输的安全性,保证整个CAN网络通信系统关键节点的安全性及可靠性;

(3)本发明按照权重策略,针对关键节点的优先级,设计节点验证顺序,优化节点验证的效率,缩短验证时间。

附图说明

图1为通用工程机械的网关及节点网络图;

图2为包含CAN网关的CAN网络通信模型;

图3为网关与关键节点间身份认证流程示意图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

本实施例提供一种工程机械CAN设备身份认证方法,包括以下步骤:

将节点分为关键节点和普通节点;

车辆启动阶段,以网关为中心,按照预设的安全性权重策略,通过非对称加密体制,待认证关键节点生成随机数,使用带有哈希摘要的数字签名对关键节点进行身份认证;

通过对称加密体制对普通节点进行身份认证。

其中,对关键节点进行身份认证的方法,包括以下步骤:

被验证节点生成随机数,利用被验证节点的私钥进行加密,使用带有哈希摘要的数字签名,将消息发送回网关节点;

网关节点进行解密,利用非对称加密的公钥和私钥的唯一性进行身份认证;

消息解密后的数据进行比较,若相同,则认证成功,若待确认节点超时没有返回密文或者两者生成密文不同,则认证失败。

本实施例提供的工程机械CAN设备身份认证方法,对工程机械车载ECU节点等级进行划分时,以包括转向控制、速度控制、上车作业控制等高安全等级作为关键节点,以包括声音控制、灯光控制等低安全等级作为普通节点。

图1为通用工程机械的网关及节点网络图。工程机械中的ECU分布在车辆的不同位置,通过CAN总线通信,常用的CAN总线的波特率为250Kbit/s和125Kbit/s。不同的CAN线通过网关连接成网,组成按功能分布的车载CAN总线网络。如图1所示,ECU节点按照功能需求划分组成网络1、网络2和网络3。根据节点的安全性等级,将节点分为关键节点和普通节点。其中,关键节点与网关采用非对称公钥机制进行身份认证。例如,以移动式起重机为例,网络1为底盘控制系统,其中发动机节点(ECU11)为关键节点,网络2为上车控制系统,其中超起卷扬编码器模块节点(ECU21)为关键节点,网络3为驾驶室系统,其中的车门(ECU31)等节点为普通节点。

图2为包含CAN网关的CAN网络通信模型。该CAN总线网络中含有1个网关和多个ECU节点,2个120欧姆终端电阻。假设车辆出厂前,网关节点G写入所有需要认证的关键节点的标志信息IDi、身份认证公钥Pi、网关节点的身份认证公私密钥对PG和SG等;每个关键节点都写入该节点的标志信息IDi、该节点的公私钥对Pi和Si,以及网关节点的身份认证公钥PG。网络中每个关键节点可以与网关节点进行身份认证,保证整个CAN网络通信系统关键节点的安全性及可靠性。

表1关键节点身份验证过程中使用的符号及其说明。

表1为关键节点身份验证过程中使用的符号及其说明,图3为网关与关键节点间身份认证流程示意图,整个过程按照以下步骤执行:

步骤(1):在车辆启动后,网关节点G在初始化完成后,按照预设的安全性权重策略以及预设的节点验证顺序,选择对优先级高的关键节点Ni进行验证,利用网关节点私钥SG进行加密处理的Mi,数据段内容为关键节点的身份标识IDi,将报文发送给关键节点Ni,

Mi=E(SG,IDi);

步骤(2):节点Ni收到消息Mi后,利用网关节点公钥PG进行解密得IDi,如果IDi合法,则转至步骤(3),否则认证失败,

IDi=D(PG,Mi);

步骤(3):节点Ni生成随机数Ri,对随机数Ri进行Hash函数运算,生成消息摘要Hi1,使用节点私钥Si对Hi1加密的数字签名Ci,将随机数Ri和Ci封装为Qi,发送给网关G,

Hi1=Hash(Ri)

Ci=E(Si,Hi1)

Qi=Ri||Ci;

步骤(4):网关G收到报文Qi,进行分解为Ri和Ci,使用节点公钥Pi对Ci进行解密得Hi1’,对Ri进行Hash函数运算,得Hi2,比较Hi1’和Hi2,如果一致,则验证成功,否则认证失败,

Hi1’=D(Pi,Ci)

Hi2=Hash(Ri)。

其中,所述Hash函数是一个单项密码体制,将任意长度的输入映射成固定长度输出的运算方式,从明文到密文是一个不可逆的过程,没有绝对的解密过程。

本实施例所提供的工程机械CAN设备的身份认证方法,流程简单,能够较好的控制信息交互次数和加密算法的次数,确保在资源受限的CAN总线环境下,不会造成过大的通信延迟。

本实施例还提供一种工程机械CAN设备身份认证系统,包括:

分类模块,用于将节点分为关键节点和普通节点;

关键节点身份认证模块,用于车辆启动阶段,以网关为中心,通过非对称加密体制,待认证关键节点生成随机数,使用带有哈希摘要的数字签名对关键节点进行身份认证;

普通节点身份认证模块,用于通过对称加密体制对普通节点进行身份认证。

其中,所述关键节点身份认证模块包括:

加密模块,用于被验证节点生成随机数后,利用被验证节点的私钥进行加密,使用带有哈希摘要的数字签名,将消息发送回网关节点;

解密认证模块,用于对网关节点进行解密,利用非对称加密的公钥和私钥的唯一性进行身份认证;

认证模块,用于将消息解密后的数据进行比较,若相同,则认证成功,若待确认节点超时没有返回密文或者两者生成密文不同,则认证失败。

本实施例提供的工程机械CAN设备身份认证方法及系统,车载CAN设备的身份认证发生在车辆启动阶段,只需初始化一次,直到下次使用启动时再进行初始化,不会增加车辆运行过程中CAN网络中各节点正常通信期间的负载量。

本实施例提供的工程机械CAN设备身份认证方法及系统,以CAN网关为中心,实现关键节点的身份认证。而不是要求所有节点间的相互认证,假设CAN网络中有N个节点,则需要进行N(N-1)/2次认证,那么在认证期间庞大的计算和时间对于处理能力较弱的普通节点是无法承受的。而CAN网关作为整个CAN网络中有着最高的安全级别,若某个关键节点通过网关节点的认证,则说明该节点是安全可靠的。考虑到普通节点ECU计算能力有限,只对关键节点进行身份认证。同时考虑关键节点的计算能力,控制加密算法的使用次数和信息交换次数,使计算量适合当前的车载环境,所造成的的通信延迟不影响车辆启动阶段时的节点通信。

本实施例提供的工程机械CAN设备身份认证方法及系统,在实体认证过程中,采用唯一性CANID分配,即为每一个不同的节点分配一套独有的CANID;在认证请求阶段,每个节点有唯一的请求ID,网关节点收到通信报文后,根据CANID识别节点身份。

本实施例提供的工程机械CAN设备身份认证方法及系统,采用非对称加密的公钥体制对关键节点进行身份认证。非对称加密算法的公钥和私钥是成对产生的,如果用公钥对信息加密,那么只能用对应的私钥进行解密。相反,如果用私钥对信息加密,那么只能用对应的公钥解密。相比较对称加密,公钥加密不需要共享密钥,杜绝了密钥在信道上被窃取的可能性,保证信息的保密性、私有性、完整性和不可否认性。在非对称加密算法方面,考虑到ECC加密算法抗攻击能力强,计算开销小等特点,适合车载嵌入式设备,本发明采用ECC加密算法。

本实施例提供的工程机械CAN设备身份认证方法及系统,适用于基于CAN总线技术的上层应用协议,包括CANopen、J1939协议等;适用于但不限于CAN2.0A(11位CANID)和CAN2.0B(29位ID)的总线通信。

本发明提供的一种工程机械CAN设备身份认证方法及系统,身份认证发生在车辆启动阶段,以网关为中心,通过非对称密钥体制,使用带有哈希摘要的数字签名对接入总线的关键节点的ECU进行身份认证,本发明增加了节点被伪造的难度,提高了信息传输的安全性,保证整个CAN网络通信系统关键节点的安全性及可靠性。同时,考虑到工程机械的功能需求和节点的安全性等级,将节点分为关键节点和普通节点;按照权重策略,针对关键节点的优先级,设计节点验证顺序,优化节点验证的效率,缩短验证时间。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

相关技术
  • 一种工程机械CAN设备身份认证方法及系统
  • 一种工程机械CAN总线随机数生成方法、系统及身份认证系统
技术分类

06120112582597