CN115380289A - 在网络上进行数据交换以增强网络的安全措施的方法和系统、包括这样的系统的交通工具 - Google Patents
在网络上进行数据交换以增强网络的安全措施的方法和系统、包括这样的系统的交通工具 Download PDFInfo
- Publication number
- CN115380289A CN115380289A CN202080093834.5A CN202080093834A CN115380289A CN 115380289 A CN115380289 A CN 115380289A CN 202080093834 A CN202080093834 A CN 202080093834A CN 115380289 A CN115380289 A CN 115380289A
- Authority
- CN
- China
- Prior art keywords
- node
- mac
- data
- message authentication
- authentication code
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40189—Flexible bus arrangements involving redundancy by using a plurality of bus systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3273—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/48—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Small-Scale Networks (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
Abstract
一种用于在通信网络(2)上进行数据交换的方法,该通信网络根据协议进行操作,并且包括传输总线(4)、第一节点(E1)和第二节点(EN)。第一节点执行以下步骤:构造传输第一信息数据(Data1)和第二信息数据(Data2)的第一数据帧和第二数据帧(10);根据第一信息数据和第二信息数据计算第一消息认证码(MAC1);构造传输第一消息认证码(MAC1)的第三数据帧(20);传输如此构造的所有数据帧。第二节点执行以下步骤:接收第一数据帧、第二数据帧和第三数据帧;提取第一信息数据和第二信息数据以及第一消息认证码;根据提取的第一信息数据和第二信息数据计算第二消息认证码(MACEXP);将提取的消息认证码与计算的消息认证码进行比较,以验证其同一性。
Description
相关申请的交叉引用
本专利申请要求于2019年12月10日提交的意大利专利申请第102019000023544号的优先权,该意大利专利申请的全部公开内容通过引用并入本文。
技术领域
本发明涉及用于在通信网络上进行数据交换的方法和系统,并且涉及包括这样的系统的交通工具,特别地涉及增强在网络上传输的数据的安全措施。
背景技术
用于机动交通工具的现代电子系统提供了对在电子控制单元(ECU)上运行的软件的使用,这些电子控制单元经由串行总线和网关在网络中彼此通信。当前系统中的大多数系统未被设计成考虑机载数据相对于内部或外部攻击的安全性,例如,以改变交换的数据并引起马达控制应用和/或交通工具应用的故障、改变或崩溃为目的而产生的内部或外部攻击。
用于设计当前机动车电子系统的过程、方法和仪器专注于可靠性和成本优化。用于测试机动车电子系统相对于随机故障的可靠性的方法和仪器是商业上可获得的。
然而,在硬件和软件架构的开发期间很少考虑与安全性有关的方面;同时,标准通信协议不提供用于防止或缓解攻击的共享方法。
因此,机载交通工具通信网络由于其允许以相对简单的方式进行非授权访问而易受攻击,这是因为交通工具中ECU之间的所有通信均是在缺乏足以保证发送者和接收者的身份不受损害的认证机制的情况下执行的。
不幸的是,当前的通信网络协议,例如以CAN(控制器局域网络)、FlexRay、MOST和LIN为例,不需要认证或最多具有错误控制机制(error control mechanism,CRC)以保证数据的完整性并以纯文本发送其消息。
因此,在控制单元之间存在欺骗性通信的可能性。
特别地参考CAN协议,为了克服上述缺点,已经提出了旨在提高安全性的各种解决方案,特别是在消息的真实性和信息的新鲜度方面。
例如,Hiroshi UEDA等人的“Security Authentication System for In-VehicleNetwork”、SEI TECHNICALREVIEW、第81号、2015年10月提议对CAN消息的结构或格式进行审查,以便包括与控制代码相关的字段。然而,这样的解决方案将使得已实施的协议的总体适配变得必要,该总体适配必须能够解译新的消息结构。
其他技术方案提供新消息的引入,所述新消息具有控制功能、适于传送与包括在要保护的特定消息中的应用数据相关地计算的控制信息。在这点上,参见Chung-Wei Lin等人的“Cyber-Security for the Controller Area Network(CAN)CommunicationProtocol”,自动化软件工程ASE会议(ASE Conference on Automated SoftwareEngineering),2012。另外参见Pal-Stefan Murvay等人的“Security Shortcomings andCountermeasures for the SAE J1939 Commercial Vehicle Bus Protocol”,IEEETransactions on Vehicular Technology,第67卷,第5期,2018年5月。然而,这些解决方案不是最佳的,因为网络上的通信量和计算负荷显著增加。
其他解决方案提供对最近引入的被称为CAN-FD的CAN协议的使用(该CAN协议具有增加的数据速率(>1Mbit/s)和增加的有效载荷(>8字节)),从而对数据传送进行优化并且因此增加了实现旨在提高安全性的解决方案的可能性。然而,这种解决方案的缺点在于:需要重新适配机载交通工具数据交换系统,机载交通工具数据交换系统必须被转换成新协议,从而导致成本增加。
本发明的目的是提供针对上述缺点的解决方案,其使得能够以高效且具有成本效益的方式提高在属于同一交通工具网络的ECU之间传送的信息的安全性,而不会使计算负荷增加并且/或者不需要修改硬件资源。
发明内容
根据本发明,如所附权利要求书中所限定的,提供一种用于在通信网络上进行数据交换的方法和系统以及包括样的系统的交通工具。
附图说明
为了更好地理解本发明,现在将参照附图以非限制性示例的方式来描述优选实施方式,在附图中:
图1示意性地示出了在交通工具中实现的属于这样的网络的节点之间的数据发送/接收网络;
图2示出了在图1的网络的节点之间交换的数据帧;
图3通过流程图示出了在进行发送时由图1的网络的节点实现的方法;
图4示出了在图1的网络的节点之间交换的认证帧;
图5通过流程图示出了在进行接收时由图1的网络的节点实现的方法;
图6A和图6B通过功能块分别示出了在发送步骤和接收步骤期间由图1的网络的节点执行的操作;
图7A和图7B通过功能块示出了在本地单调计数器的同步步骤期间由图1的网络的节点执行的操作;以及
图8示意性地示出了包括图1的网络的交通工具。
具体实施方式
图1示意性地示出了根据发送/接收协议操作的通信网络2。网络2包括总线4,多个节点E1、E2、……、EN连接至总线4(其中,EN表示第N个节点,取决于具体应用根据需要选择N)。
在本发明的一个实施方式中,传输协议为CAN(“控制器局域网络”)类型。在这种情况下,总线4是CAN总线。在本发明的上下文中,明确地参考了根据版本2.0(特别地2.0A或2.0B)的CAN协议,该CAN协议适于在机动车领域中使用并被安装在交通工具1(在图1中示意性地示出)上。然而,所描述的CAN协议不限于机动车领域,并且通常适用于提供对CAN协议的使用的所有领域。如将在下文中变得更加明显的,本发明还可以在不同于CAN协议的类型的网络和相关协议中实现。
在图1的上下文中,每个节点E1至EN是属于交通工具1的电子控制单元或ECU。
CAN总线4可以传输不同类型的消息(或“帧”),在所述消息中:数据帧,即包含节点传输的数据的帧;远程帧,即需要传输特定标识符的帧;错误帧,即由检测到错误的任何节点发送的帧;过载帧,即在数据帧和/或远程帧之间引入延迟的帧。
在本公开内容的上下文中,远程帧、错误帧和过载帧是不相关的,并且因此将不在下文中讨论。
图2示出了数据帧10,数据帧10包含要在发送节点E1至EN与一个或更多个接收节点E1至EN之间传送的数据。在下文中,数据帧10也将由术语“消息”来指代。不同的消息通常但不一定以类型彼此不同的信息内容(即,所传输的数据)来表征。
作为示例,数据帧10包括五个字段10a至10e,具体地:
-报头字段10a,其依次包括用于以本身已知的方式定义数据帧10的开始和管理潜在冲突的一个或更多个子字段;
-数据或有效载荷字段10b,其包含必须传送至接收节点的字节(从0个字节到8个字节),并且表示数据帧10的包含由节点发送的有用数据的信息载荷;
-循环冗余校验(cyclic redundancy check,CRC)字段10c,其包含校验序列,以便检查消息中包含的错误;
-确认(ACK)字段10d,其用作用于确认接收节点的接收的字段;
-结束字段(EOF)10e。
图2所示的示例示出了可能的数据帧,并且不同版本的CAN协议可以定义具有不同类型字段的数据帧。然而,这与本发明无关,本发明适用于根据CAN协议在其任一版本中定义的任何类型的数据帧10。
图3通过流程图示出了根据本发明的一方面的发送节点在网络2上传输数据的过程。通过发送节点进行的传输可以将特定节点作为其接收者,或者可以在广播模式下发生。
在下文中,作为非限制性示例,网络2的节点之一(例如,节点E1)向CAN总线4、针对特定接收节点(例如,节点EN)发送多个消息Msg1至Msg6。通过类比并以对本领域技术人员本身明显的方式,以下描述也适用于传输广播。
通常,从节点E1到节点EN的数据传输不以单个消息的传输结束,而是多个消息Msg1至Msg6被链接在一起,即从节点E1顺序地传送至节点EN。例如,消息Msg1至Msg6具有图2所示的形式并在其自己的有效载荷字段10b中传送相应的信息数据Data1至Data6。
消息Msg1至Msg6被放置在发送节点E1处的队列(传输缓冲器)中,以便以适当的顺序进行发送。
因此,参照图3的步骤101,发送节点E1发送消息Msg1至Msg6的子集,此处为由消息Msg1、Msg2和Msg3形成的子组。在该步骤101中,发送节点E1可以发送等于或大于两个消息的任何数量的消息。显然,在以单个消息完成节点E1与EN之间的通信的情况下,将仅发送这样的单个消息。
然后,步骤102,发送节点E1向接收节点EN发送被称为“消息认证码”(MAC)的控制消息。在该步骤102中,所发送的MAC(被标识为MAC1)是根据在步骤101处发送的消息Msg1至Msg3中的每一个的有效载荷字段10b中包含的数据Data1至Data3计算的。
根据另一实施方式,所发送的MAC码可以基于整个消息的以比特计的内容、或者基于消息的字段或子字段的预定义子集来计算。在下文中,为了保持描述简单而不失一般性,将考虑仅有效载荷有助于计算MAC码的情况。
从构成帧的字段的结构或格式以及所传送的字节的数量的角度来看,传送MAC码的帧(以下称为“认证帧”)类似于数据帧,例如图2的数据帧10。例如,参见示出了认证帧20(例如,传送在步骤102中计算的MAC1的帧)的图4。在本发明的至少一个实施方式中,认证帧20与由CAN协议定义的数据帧完全不可区分。
具体地,在该示例中,认证帧20包括以上参照图2描述的报头字段10a、循环冗余校验字段10c、确认字段10d和结束字段10e,并且因此用相同的附图标记标识;认证帧20还包括完全类似于有效载荷字段10b的字段20a;然而,与数据帧10不同,认证帧20在字段20a内包含标识在步骤102中计算的MAC码(MAC1)的字节(此处,为8个字节)。注意,从CAN协议的角度来看,在格式这点上,认证帧20与数据帧10是不可区分的。
回到图3,步骤102之后是步骤103,在步骤103中,发送节点E1以与在步骤1期间执行的方式类似的方式向CAN总线4发送另外三个消息Msg4、Msg5、Msg6。
然后,步骤104,发送节点E1向接收节点En发送新的认证消息20,认证消息20在字段20a中包括根据在步骤103处发送的消息Msg4至Msg6中的每一个的有效载荷字段10b中包含的数据Data4至Data6计算的MAC码(不同于MAC1的MAC2)。
注意,步骤103至104是针对相应消息执行的步骤101至102的复制。图3所示的过程可以无限期地继续,直至发送节点E1完成要发送的消息队列(因此针对所有要发送的消息执行类似于步骤101至102的步骤)。
图5通过流程图示出了接收节点在CAN总线4上接收数据的过程,此处以节点EN为例。
在进行接收时,接收节点EN获取消息Msg1至Msg3(步骤201)以及包含码MAC1的认证帧20(步骤202)。注意,在接收步骤中,通过认证帧20传送的码MAC1可能(由于传输错误或由于欺诈活动)与通过节点E1传送的码MAC1不同。因此,此处用附图标记MAC1'来指代接收到的码。
还注意到,在接收步骤中,消息Msg1至Msg3和码MAC1可能不是完全顺序的(例如,因为接收节点EN正从不同的发送节点E1、E2、……接收多个消息和相关的认证帧)。在从多个发送节点E1、E2、……接收到消息的情况下,接收节点EN的接收缓冲器将包含具有随机序列或在任何情况下具有先验不可预先确定的序列的各种消息和相关的认证帧20。然而,由于每个消息和每个认证帧传送通用标识符或生成它的发送节点E1、E2、……的标识符(特别地,发送节点的源地址),因此接收节点EN能够执行用于计算所接收的每个相应的码MAC1'的正确排序。
然后,接收节点EN检查(步骤203)在接收到的认证帧20的字段20a中包含的码MAC1'的真实性;换句话说,节点EN检查码MAC1'是否对应于预期的码(MAC1'=MACEXP,理想地MAC1'=MACEXP=MAC1),即码MAC1'是消息Msg1至Msg3的数据Data1至Data3的函数(如参照发送步骤102所讨论的)。显然,出于这个目的,网络2的所有节点E1至EN共享公共加密机制(例如,算法),使得接收节点总是能够基于接收到的消息的有效载荷字段的数据来重构由发送节点基于要发送的消息的有效载荷字段的数据计算的MAC码。
在计算预期的MAC码之后,接收节点可以将预期的MAC码和接收的MAC码进行比较并检测它们是否相同。在预期的MAC码和接收的MAC码相同的情况下,接受并处理相关消息。在预期的MAC码和接收的MAC码不相同的情况下,可以采取对策,例如,拒绝基于其计算出不正确的码MAC1'的消息Msg1至Msg3并由检测到错误的节点发送相关的错误消息。在接收节点注意到同一节点发送由于在接收到的MAC码与预期的MAC码之间存在不一致而被重复拒绝的消息的情况下,接收节点可以决定将该发送节点视为“潜在受损”(例如,在消息的数量超过预定值的情况下),并且忽略该发送节点达预定义时间段。在经过预定义时间段之后,接收节点可以决定恢复处理来自该发送节点的消息。
仍然参照图5,在步骤204处,节点EN顺序地获取另外的消息Msg4至Msg6以及(步骤205)包含由节点E1根据消息Msg4至Msg6的数据Data4至Data6计算的MAC2码的认证帧20。然后,步骤206,节点EN以与前述描述类似的方式检查码MAC2的真实性。
该过程继续进行,直至接收并处理了由发送节点E1发送的所有消息。
在黑客、有恶意意图的人或其他人在CAN总线4上输入不期望的数据帧的情况下,为了使所输入的数据帧被节点E1至EN接受,这样的人还必须知道用于生成MAC码的方法。事实上,如前面所讨论的,每个接收节点对寻址至其的消息的接受总是经受对基于驻留在每个节点E1至EN中的(机密)算法计算的MAC码的正确性的验证。在没有这样的验证和确认的情况下,接收节点进入警报状态,在警报状态下如以上所讨论的采取适当的对策。
在本发明的优选非限制性实施方式中,使用AES-CMAC加密算法(其中,AES代表“高级加密标准”,而CMAC代表“基于密码的消息认证码”)来计算MAC码。
AES-CMAC算法本身是已知的,并且通常利用密码算法AES128来计算MAC码。AES-CMAC加密算法需要使用加密密钥K。根据本发明的一方面,加密密钥K被保存在每个节点E1至EN的本地存储器中(即,每个节点E1至EN共享相同的密钥K),使得每个节点E1至EN能够基于接收到的数据和加密密钥K来计算相关的MAC码,以在进行接收时执行在接收到的MAC码和预期的MAC码之间进行比较(图5的步骤203和206)。
根据本发明的不同方面,提供与每个发送节点E1至EN相关联的相应密钥K1至KN;因此,相同的密钥K1至KN可以仅被保存在下述接收节点(或多个接收节点)中:所述接收节点(或多个接收节点)对检查由特定发送节点发送的消息的真实性感兴趣,或者必须接收专门针对这样的接收节点设计的消息。
注意,AES-CMAC算法生成与数据帧的有效载荷字段10b中包含的数据具有相同长度(以字节为单位)的MAC码或较大长度的码的事实是不相关的。事实上,在通过加密算法生成的码以太大而不能输入到数据帧的有效载荷中的字节数表示的情况下,可以执行用于截断这样的MAC码的操作,以便遵守关于可由具有与数据帧10的格式相等的格式的认证帧20传送的数据的最大长度的要求。
这意指,例如,如果在消息Msg1至Msg3的有效载荷字段10b中传送的数据Data1至Data3以8个字节表示,那么AES-CMAC算法基于Data1至Data3计算的码MAC1也可以以8个字节表示。因此,从格式的角度来看,遵守具有以下MAC认证码的要求:该MAC认证码可以在与按照CAN标准定义的数据帧10完全类似的认证帧20中传送。
在这方面,注意,AES-CMAC标准出于安全原因要求8个字节(或8个字节的倍数)。如果所发送消息的有效载荷的大小小于8个字节,则提供“填充”操作(即添加零),以保证完成所需的最小8个字节。
一般地,对于通用网络,MAC码可以有任何数量的字节。
根据本发明的另一方面,为了改进所提出的方法的鲁棒性并因此增加网络2的安全性,除了所考虑的消息的有效载荷字段10b的数据之外,还可以根据另外的参数来计算MAC码。
具体地,根据实施方式,实现以等于可由有效载荷字段10b传送的字节数的字节数表示的递增单调计数器,使得它也可以构成用于AES-CMAC加密算法的有效输入。例如,如果有效载荷字段10b能够传送8个字节,则以8个字节实现该单调计数器。注意,实现单调计数器的8个字节足以覆盖交通工具1的整个操作寿命。例如,通过将单调计数器每秒增加1个单位,264秒之后达到8字节可表示的最大值,264秒对应于超过584·109年。
如前面所提及的,对于通用网络,可以以任何数目的字节(不一定是8个字节)来表示单调计数器。
图6A通过功能块图示了与由发送节点E1执行的操作有关的前述描述。
图6B通过功能块图示了与由接收节点EN执行的操作有关的前述描述。
参照图6A,所示操作由发送节点E1执行,发送节点E1具有其自己的控制器或处理器以及本地存储器,其被适当配置成实现CAN协议和所描述的加密操作。图6A中的块40表示AES-CMAC加密算法的输入,并且包括由节点E1连续发送的三个消息Msg1至Msg3的数据内容Data1至Data3(有效载荷字段10b),以及驻留在节点E1中的单调计数器(图6A中的块42)的当前值MC。
数据Data1至Data3和值MC(如上所述,在该示例中均以8字节表示)与保存在本地存储器(块46)中的加密密钥K一起被输入到加密块44,加密块44实现上面所讨论的AES-CMAC加密算法。
加密块44生成MAC码(在该示例中,为MAC1,MAC1也是8字节,如果需要,则执行截断操作),并将其发送至块48以生成对应的认证帧20。如上所述,从格式的角度来看,认证帧20与数据帧10不可区分,并且因此生成认证帧20的块48与生成数据帧的块相同(因此其类型本身已知并且不再进一步描述)。块48还接收要发送至接收节点EN的数据Data1至Data3并生成相关消息msg1至msg3。
从而,消息Msg1至Msg3与基于数据Data1至Data3生成的认证帧20一起被输入到发送队列(或发送缓冲器)50中,从而以节点EN作为接收者顺序地发送至CAN总线4。首先发送消息Msg1至Msg3,然后发送包含码MAC1的相关认证帧20。
现在参照图6B,图6B通过功能块说明由接收节点EN执行的操作。接收节点EN接收消息Msg1至Msg3和包含码MAC1(或者更确切地,根据前述讨论,为接收到的码MAC1')的认证帧20并将其输入到接收缓冲器59中。
然后,节点EN通过复制以上参照图6A的块40至44描述的在发送节点E1处执行的相同操作来本地计算预期的MAC码(MACEXP)。具体地,接收节点EN获取(块60)在消息Msg1至Msg3的有效载荷字段10b中包含的数据Data1至Data3以及本地单调计数器62的当前值MC'并将其发送至加密块64,加密块64实现与加密块44相同的加密算法(此处,为AES-CMAC)。
加密块64还接收加密密钥K(其被保存在本地,块65)作为输入,并且生成8字节的数字作为输出(可能被截断,类似于块44所执行的操作),该数字被与接收到的码MAC1'进行比较(块66)。所述比较旨在评估预期的MAC码(MACEXP)与接收到的MAC码(MAC1')之间的恒等性。比较的结果(OK=有效/NOT OK=无效)确定后续要采取的动作。
类似地,上述描述也适用于后续发送/接收,例如,适用于针对另外三个消息Msg4至Msg6以及传送相关MAC2码的相关认证帧20的发送/接收。
使用单调计数器的作用是保证所接收数据的“新鲜度”,而不仅仅是保证加密的完整性。事实上,可能发生的情况是:黑客或具有恶意意图的人获取多个数据帧以及相关的认证帧20,并在交通工具1寿命的稍后时刻将这样(形式上正确)的数据帧和相关的认证帧20重新输入到CAN总线4上,从而导致不可预测的错误。然而,单调计数器的存在会阻碍这样的可能性,因为MAC码总是依赖于计数器的当前值,如上所述,该当前值是递增的并且在交通工具1的操作寿命期间变化。
以上描述的过程适用于由网络2的任何节点进行的发送和接收操作,并且通常需要注意的是,网络2的每个节点E1至EN配备有其自己的控制器或处理器以及本地存储器,被适当地配置成实现CAN协议以及参照发送和接收描述的加密/解密操作(图6A、图6B)。
此外,每个节点E1至EN配备有其自己的具有前述类型的递增单调计数器。
为了保证每个接收节点识别认证帧20(并且不将其与通用数据帧10混淆),可以初步定义一些识别策略。
例如,可以将这样的意义上的以下指示输入到认证帧20的报头字段10a中:该指示与这样的帧的识别以及先前消息(基于其计算对应的MAC码)的数目有关。
不同的实施方式规定,所有节点E1至EN共享要用于识别认证帧20的相同策略,即这样的认证帧20总是在预定义数量的消息(数据帧)之后生成(并且因此总是被接收到)的事实。在前面讨论的示例中,这样的数量等于三(组Msg1至Msg3和Msg4至Msg6)。然而,显然,可以定义任意数量(等于或大于两个)的数据帧,在所述任意数量的数据帧之后,认证帧20被发送(并因此被接收),其中传输的MAC码是基于预定义数量的先前数据帧的数据来计算的。显然,在这种上下文中并且在节点E1与EN之间的通信通过单个消息完成的情况下,可以提供具有零信息内容或预定义信息、由接收节点适当管理的其他数据帧的发送(直到达到生成认证帧20所需的预定义数量的帧)。
上述描述在以下情况下是有效的:由发送节点E1进行的传输和对由接收节点EN接收的信息的处理在小于本地计数器42、62的值MC/MC'的变化的时间间隔中开始和结束。事实上,如果本地计数器的值MC/MC'导致发送和接收不同,则图6B的块66的比较将不会给出可靠的响应。
尽管到CAN总线4的传输通常非常快速(大约千分之一秒),但可以通过采用一种或多种策略来弥补这样的缺陷。
例如,在可能的实施方式中,可以配置节点E1至EN的每个本地计数器,使其在预定时间间隔(例如2-5秒)后增加计数单位,以始终保证在这样的时间间隔内传送、接收和处理感兴趣的帧(包含数据和相关的MAC码)。
在其他实施方式中,接收节点EN可以在认证帧的接收时刻之前的时间间隔TC(例如2-5秒)期间获取并保存计数器62的多个值MC'。块64然后计算多个MAC码,每个MAC码根据接收到的数据(Data1至Data3)和由计数器62提供的不同值MC'(即计数器62在验证帧的接收时刻处假定的值和计数器62在时间间隔TC中假定的所有值二者)。
在其他实施方式中,接收节点EN可以在以认证帧20的接收时刻为中心或以由块64计算MAC码的时刻为中心的时间间隔期间获取并保存计数器62的多个值MC'。这样的居中的时间间隔包括在认证帧的接收和/或计算时刻之前的时间间隔TC(例如,2至5秒)和在认证帧的接收/计算时刻之后的时间间隔TP(例如,1至2秒);这样的居中的时间间隔还包括认证帧20的接收和/或计算时刻。块64然后计算多个MAC码,每个MAC码根据接收到的数据(Data1至Data3)和由计数器62提供的相应多个值MC'(即,计数器62在认证帧的接收/计算时刻处假定的值和计数器62在时间间隔TC和时间间隔TP中假定的所有值二者)。
然后将这样的MAC码提供给比较块66,比较块66获取它们。在与认证帧20一起接收的MAC码(图6B中的MAC1')等于由加密块64计算的多个MAC码中的至少一个的情况下,该比较具有肯定的结果(OK)。
为了避免节点E1至EN的本地单调计数器的可能漂移(所述本地单调计数器可能变得相对于彼此不同步),本发明提供了两种可能的变型,其将在下面讨论。
在第一变型中,节点E1至EN中的一个节点承担主节点的角色,而其余节点承担从节点的角色。
在这种情况下,主节点在随机或预定时刻向CAN总线4发送它自己的单调计数器的更新后的值MCnew。这样的更新后的值MCnew可以是计数器的当前值,或者是根据其自身的本地时钟MCINT_CLOCK(例如,主节点的控制器或处理器的时钟)的值而计算的值,向该本地时钟MCINT_CLOCK增加预定或随机值的正偏移“OFFSET”,例如等于数秒,特别是在10秒与20秒之间:MCnew=MCINT_CLOCK+OFFSET。
从节点接收值MCnew并将它们自己的本地计数器的值更新为新值MCnew。为了更高的安全性,在非限制性实施方式中,当且仅当接收到的值MCnew大于从节点自己的本地计数器的当前值时,由每个从节点执行更新。如果从节点没有正确地接收到值MCnew,则网络的各个节点之间存在不同步(由所有节点生成的MAC码是错误的);主节点能够通过执行与先前的MC值的交叉检查来检测这种不期望的情况(即,主节点可以被配置成识别网络的节点正在使用与更新后的值不同的旧的MC值)。
为了恢复计数器的正确值,主节点在这种情况下重新发送更新后的值MCnew。还需要注意的是,在从节点在更新计数器的值期间与CAN网络断开连接或者由于任何原因失去同步的情况下,主节点能够检测到这样的情况,并且通过重新发送新值MCnew来恢复正确的运行。
在第二变型中,节点E1至EN之间存在“对等”配置。
在这种情况下,所有节点E1至EN(周期性地或在随机时刻)发送大于当前值的单调计数器的新值MCnew,类似于前述:MCnew=MCINT_CLOCK+OFFSET。其他节点E1至EN接收新值MCnew,并且当且仅当接收到的新值MCnew大于其他节点E1至EN自己的内部计数器的当前值时,更新它们各自的计数器。在对等配置的情况下,如果网络的所有节点都没有正确地接收到值MCnew结果(例如,某些节点正在使用旧的MC值),则使用未更新的MC值的节点重新发送新值MCnew。此外,在节点在更新计数器的值期间与CAN网络断开连接或者由于任何原因失去同步的情况下,无法正确计算MAC码的节点会立即发送值MCnew。
注意,在上述两种变型中,生成偏移值使得其大于CAN总线4上可能存在的最大传播延迟,同时还考虑了发送和接收步骤中的潜在处理延迟。考虑时钟的时间漂移也是有利的。
还要注意的是,计数器的值MCnew以8个字节表示,这样的值可以根据CAN协议使用预定义数据帧来传输。类似地,这也适用于使用不同协议的情况,根据所用协议的规范,以适当的字节数表示计数器的值MC。
值MCnew的发送可以通过使用专用消息(例如,与数据帧具有相同的结构,以类似于关于MAC码的前述描述的方式)来进行;在接收步骤中的MAC计算中,直接使用值MCnew。
在一个实施方式中,与正常数据帧相比,包含码MCnew的帧被配置为具有更高的优先级。
图7A(其中与图6A的元素共同的元素由相同的附图标记标识)图解地说明了借助于类似于数据帧的专用消息70生成和发送值MCnew的步骤。
用OFFSET值更新计数器42(如前面所描述的),以便生成更新后的值MCnew。图7A中的块40表示AES-CMAC加密算法的输入,并且包括由节点E1传输的两个消息Msg1和Msg3的数据内容Data1和Data3(有效载荷字段10b)和单调计数器(块42)的更新后的值MCnew,类似于参照图6A的前述描述。在图7A的情况下,单调计数器42的更新后的值MCnew的共享通过用传输单调计数器42的更新后的值MCnew的等效消息替换数据消息Msg2(其存在于图6A的示例中)而发生,希望与网络的其他节点共享该更新后的值MCnew(根据前面描述的主从或对等策略)。换句话说,值MCnew被当作信息基准(datum)来处理和传输,就像图6A的基准Data2一样。
在接收步骤中,图7B(其中与图6B的共同元素由相同的附图标记标识),更新后的值MCnew被提供给本地计数器62,本地计数器62又将更新后的值MCnew提供给块60,块60将更新后的值MCnew用于MAC码的计算。显然,在替选实施方式中,更新后的值MCnew可以被直接提供给块60而绕过本地计数器62。
块60至块66与参照图6B的前述描述类似地操作,使用值MCnew代替Data2,并且使用相同的值MCnew代替值MC'。
如果由块66执行的比较给出肯定响应(“OK”),则确认本地计数器62更新为新值MCnew;否则,实施用于重新同步接收节点EN的策略。
基于以上描述和说明的内容,所描述的系统允许获得的优点是显然的。
参照图8,示出了交通工具1,其包括用于控制交通工具1的机载系统74的机载电子系统72。仅示意性地表示了交通工具1并且交通工具1可以是汽车、摩托车、卡车、跑车、SUV、休闲车、船、飞行器等。机载电子系统72和机载系统74包括以要借助于通信总线76例如前面描述的CAN总线4相互通信的方式连接的电子控制单元(ECU1、ECU2、……、ECUN——对应于前面讨论的节点E1、E2、……、EN)的说明性布置。
机载电子系统72可以包括分布在整个交通工具1中的呈电子硬件部件形式的多个ECU,其例如被配置成接收来自一个或更多个传感器的输入,以便执行诊断、监测、控制和报告操作和/或其他功能。至少两个或所有ECU借助于总线76相互连接;每个ECU可以被编程为控制交通工具1的机载系统72。被示为机载电子系统72或机载系统74的一部分的每个ECU通常包括微处理器、保存可由微处理器读取的指令的非易失性存储设备、用于在总线76上发送和接收数据和其他控制信息的输入/输出端口(I/O)。这些部件可以基于相应ECU控制的交通工具1的特定系统以及所使用的总线76的类型而变化。微处理器的处理复杂性和能力、I/O的数量和指令的复杂性或微处理器可读的软件的复杂性可以基于交通工具1的类型和功能而增加或减少。微处理器可以是能够处理电子指令的任何类型的设备,包括微控制器、主机处理器、控制器、交通工具的通信处理器和专用集成电路(ASIC)。微处理器执行以数字方式保存的不同类型的指令,例如保存在存储设备中的软件或固件程序。例如,微处理器可以运行程序或处理数据,以执行前面参照图3、图5、图6A、图6B讨论的方法的至少一部分。存储设备可以使用已知类型的随机存取存储器(RAM)或EEPROM存储器来实现,而I/O可以根据所使用的总线76的类型使用诸如CAN控制器的控制器或一些其他装置来实现。在这种意义上,ECU可以包括与交通工具1上使用的特定类型的总线76兼容的硬件。例如,使用CAN总线进行通信的ECU可以包括微处理器、CAN控制器和在CAN总线上发送和接收消息的呈收发器形式的I/O单元。。
特别地,本发明提出了一种在网络的节点之间(特别是在交通工具的ECU之间)通信的方法和系统,其是安全的并且能够在不改变网络和交通工具的当前架构配置并且不需要使用未形成网络运行所基于的协议标准的一部分的新的通信技术的情况下实现。因此,实现成本也特别合理。
最后,清楚的是,可以对本文描述和说明的内容执行修改和变化,而由此不脱离如所附权利要求中定义的本发明的保护范围。
特别地,本发明可以应用于不同于CAN总线的类型的传输网络,例如基于CAN-FD协议的网络、基于TCP/IP协议的网络、本地互连网络(LIN)、面向媒体的串行传输(MOST)、以太网、局域网(LAN)等。
特别地,本发明可以应用于有线或无线传输网络。
此外,虽然已经明确提到了AES-CMAC加密方法,但可以使用不同的加密方法和算法,例如算法HMAC(“Keyed-Hash Message Authentication Code(密钥散列消息认证码)”)、KMAC(“KECCAK Message Authentication Code(KECCAK消息认证码)”)、GMAC(“Galois Message Authentication Code(Galois消息认证码)”)或其他,例如DAA、CBC-MAC、NMAC、OMAC/CMAC、PMAC、VMAC、UMAC、Poly1305、SipHash等。
此外,显然,可以用于生成MAC码的加密算法可以是各种类型的;例如,可以使用对称加密算法(其中加密密钥K被保存在所有节点E1至EN中)或非对称加密算法(公钥被保存在所有节点E1至EN中,而私钥在单个节点中可用)。
替选地,可以在每个节点中提供不同的私钥K1、K2、……、KN,以及在所有节点中提供相关的公钥P1、P2、……、PN,如以下所示:
节点E1:(K1,P2,……,PN),
节点E2:(K2,P1,P3,……,PN),
……,
节点EN:(KN,P1,P2,……,PN-1)。
Claims (25)
1.一种用于在根据发送/接收协议操作的通信网络(2)上进行数据交换的方法,所述通信网络包括传输总线(4)以及连接至所述传输总线(4)的第一节点(E1)和第二节点(EN),所述方法包括由所述第一节点(E1)执行的以下步骤:
–构造第一数据帧(10)和第二数据帧(10),每个数据帧具有由所述协议定义的帧格式并且包括相应的有效载荷字段(10b),所述有效载荷字段(10b)包含要被传输至所述第二节点(EN)的相应的第一信息数据(Data1)和第二信息数据(Data2);
–根据要被传输的所述第一信息数据(Data1)和所述第二信息数据(Data2)计算第一消息认证码(MAC1);
–构造第三数据帧(20),所述第三数据帧(20)具有由所述协议定义并且包括有效载荷字段(20a)的帧格式,并且在所述有效载荷字段(20a)中包含所述第一消息认证码(MAC1);
–向所述传输总线(4)传输所述第一数据帧、所述第二数据帧和所述第三数据帧;
所述方法还包括由所述第二节点(EN)执行的以下步骤:
–从所述传输总线(4)接收所述第一数据帧(10)、所述第二数据帧(10)和所述第三数据帧(20);
–从接收到的第一数据帧(10)提取所述第一信息数据(Data1),从接收到的第二数据帧(10)提取所述第二信息数据(Data2),以及从接收到的第三数据帧(20)提取所述第一消息认证码(MAC1;MAC1');
–根据提取的第一信息数据(Data1)和第二信息数据(Data2)计算第二消息认证码(MACEXP);
–将提取的第一消息认证码(MAC1;MAC1')与计算出的第二消息认证码(MACEXP)进行比较;以及
–仅当提取的第一消息认证码(MAC1;MAC1')与计算出的第二消息认证码(MACEXP)相同时,接受所述第一数据帧(10)和所述第二数据帧(10)。
2.根据权利要求1所述的方法,其中,计算所述第一消息认证码(MAC1)的步骤还包括根据加密密钥(K)计算所述第一消息认证码(MAC1),
并且计算所述第二消息认证码(MACEXP)的步骤还包括根据解密密钥(K)计算所述第二消息认证码(MACEXP),
其中,所述加密密钥对应于所述解密密钥,从而实现对称加密算法,
替选地,所述加密密钥为私钥,并且所述解密密钥为不同于所述加密密钥的公钥,从而实现非对称加密算法。
3.根据权利要求1或2所述的方法,其中,计算所述第一消息认证码(MAC1)的步骤还包括根据从第一递增单调计数器(42)提供给所述第一节点(E1)的第一计数值(MC)计算所述第一消息认证码(MAC1),
并且计算所述第二消息认证码(MACEXP)的步骤还包括根据从第二递增单调计数器(62)提供给所述第二节点(EN)的第二计数值(MC')计算所述第二消息认证码(MACEXP),
仅当要被传输的第一信息数据和第二信息数据与提取的第一信息数据和第二信息数据相同并且所述第一计数值(MC)与所述第二计数值(MC')相同时,所述第一消息认证码(MAC1;MAC1')与所述第二消息认证码(MACEXP)相同。
4.根据权利要求3所述的方法,其中,还针对在接收到所述第二值(MC')的时刻之前的时间帧期间从所述第二递增单调计数器(62)提供给所述第二节点(EN)的一个或更多个另外的计数值(MC')执行计算所述第二消息认证码(MACEXP)的步骤,
所述方法还包括以下步骤:
–在所述第二节点(EN)处根据所述一个或更多个另外的计数值(MC')计算相应的一个或更多个另外的消息认证码;
–在所述第二节点(EN)处将提取的第一消息认证码(MAC1;MAC1')与所述一个或更多个另外的消息认证码中的每一个进行比较;以及
–仅当提取的第一消息认证码(MAC1;MAC1')与所述一个或更多个另外的消息认证码之中的至少一个相同时,由所述第二节点(EN)接受所述第一数据帧(10)和所述第二数据帧(10)。
5.根据权利要求3或4所述的方法,还包括使所述第一递增单调计数器(42)和所述第二递增单调计数器(62)彼此同步的步骤。
6.根据权利要求5所述的方法,其中,使所述第一递增单调计数器(42)和所述第二递增单调计数器(62)彼此同步的步骤包括以下步骤:将所述第一节点和所述第二节点之中的一个节点设置为主节点并且将所述第一节点和所述第二节点之中的另一节点设置为从节点;由所述主节点向所述传输总线(4)发送同步信号;由所述从节点从所述传输总线(4)接收所述同步信号;根据接收到的同步信号更新所述从节点的相关的所述第一递增单调计数器(42)或所述第二递增单调计数器(62)的值。
7.根据权利要求5所述的方法,其中,使所述第一递增单调计数器(42)和所述第二递增单调计数器(62)彼此同步的步骤包括以下步骤:由所述第一节点和所述第二节点之中的任何一个节点向所述传输总线(4)发送同步信号;由所述第一节点和所述第二节点之中的另一节点从所述传输总线(4)接收所述同步信号;以及根据接收到的同步信号更新相关的所述第一递增单调计数器(42)或所述第二递增单调计数器(62)的值。
8.根据前述权利要求中任一项所述的方法,其中,计算所述第一消息认证码(MAC1)的步骤包括执行AES-CMAC密码算法。
9.根据前述权利要求中任一项所述的方法,其中,所述协议是定义数据类型帧格式的CAN协议,
其中,所述第一数据帧、所述第二数据帧和所述第三数据帧全部具有由所述协议定义的类型的相同帧格式。
10.根据前述权利要求中任一项所述的方法,其中,所述传输总线(4)是交通工具(1)的CAN总线,所述第一节点(E1)是所述交通工具(1)的第一ECU并且所述第二节点(EN)是所述交通工具(1)的第二ECU。
11.根据前述权利要求中任一项所述的方法,其中,所述第一数据帧(10)、所述第二数据帧(10)和所述第三数据帧(20)的有效载荷字段(10b、20a)被配置成传输由所述协议定义的字节数,所述第一消息认证码(MAC1)和所述第二消息认证码(MACEXP)以等于由所述协议定义的所述字节数的字节数表示。
12.根据权利要求3所述或根据从属于权利要求3时的权利要求4至11中任一项所述的方法,其中,所述第一计数值(MC)和所述第二计数值(MC')以等于由所述协议定义的所述字节数的字节数表示。
13.一种根据发送/接收协议操作的数据交换系统,包括通信网络(2),所述通信网络(2)包括传输总线(4)、连接至所述传输总线(4)的第一节点(E1)和连接至所述传输总线(4)的第二节点(EN),
所述第一节点(E1)被配置成:
·–构造第一数据帧(10)和第二数据帧(10),每个数据帧具有由所述协议定义的帧格式并且包括相应的有效载荷字段(10b),所述有效载荷字段(10b)包含要被传输至所述第二节点(EN)的相应的第一信息数据(Data1)和第二信息数据(Data2);
·–根据要被传输的所述第一信息数据(Data1)和所述第二信息数据(Data2)计算第一消息认证码(MAC1);
·–构造第三数据帧(20),所述第三数据帧(20)具有由所述协议定义并且包括有效载荷字段(20a)的帧格式,并且在所述有效载荷字段(20a)中包含所述第一消息认证码(MAC1);以及
·–向所述传输总线(4)传输所述第一数据帧、所述第二数据帧和所述第三数据帧;
所述第二节点(EN)被配置成:
·–从所述传输总线(4)接收所述第一数据帧(10)、所述第二数据帧(10)和所述第三数据帧(20);
·–从接收到的第一数据帧(10)提取所述第一信息数据(Data1),从接收到的第二数据帧(10)提取所述第二信息数据(Data2),以及从接收到的第三数据帧(20)提取所述第一消息认证码(MAC1;MAC1');
·–根据提取的第一信息数据(Data1)和第二信息数据(Data2)计算第二消息认证码(MACEXP);
·–将提取的第一消息认证码(MAC1;MAC1')与所述第二消息认证码(MACEXP)进行比较;以及
·–仅当提取的第一消息认证码(MAC1;MAC1')与所述第二消息认证码(MACEXP)相同时,接受所述第一数据帧(10)和所述第二数据帧(10)。
14.根据权利要求13所述的系统,其中:
所述第一节点(E1)还被配置成根据加密密钥(K)计算所述第一消息认证码(MAC1),以及
所述第二节点(EN)还被配置成根据所述加密密钥(K)计算所述第二消息认证码(MACEXP)。
15.根据权利要求13或14所述的系统,还包括与所述第一节点(E1)相关联的第一递增单调计数器(42)和与所述第二节点(EN)相关联的第二递增单调计数器(62),
所述第一节点(E1)还被配置成根据从所述第一递增单调计数器(42)提供的第一计数值(MC)计算所述第一消息认证码(MAC1),
所述第二节点(EN)还被配置成根据从所述第二递增单调计数器(62)提供的第二计数值(MC')计算所述第二消息认证码(MACEXP),
所述第二节点(EN)还被配置成仅当要被传输的第一信息数据和第二信息数据与提取的第一信息数据和第二信息数据相同并且所述第一计数值(MC)与所述第二计数值(MC')相同时,验证提取的第一消息认证码(MAC1;MAC1')与所述第二消息认证码(MACEXP)之间的同一性。
16.根据权利要求15所述的系统,其中,所述第二节点(EN)还被配置成:
针对在接收到所述第二计数值(MC')的时刻之前和/或之后的时间帧期间从所述第二递增单调计数器(62)提供的一个或更多个另外的计数值(MC')重复计算所述第二消息认证码(MACEXP)的操作;
根据所述一个或更多个另外的计数值(MC')计算相应的一个或更多个另外的消息认证码;
将提取的第一消息认证码(MAC1;MAC1')与所述一个或更多个另外的消息认证码中的每一个进行比较;以及
仅当提取的第一消息认证码(MAC1;MAC1')与所述一个或更多个另外的消息认证码之中的至少一个相同时,接受所述第一数据帧(10)和所述第二数据帧(10)。
17.根据权利要求15或16所述的系统,其中,使所述第一递增单调计数器(42)和所述第二递增单调计数器(62)彼此同步。
18.根据权利要求16所述的系统,其中,为了使所述第一递增单调计数器(42)和所述第二递增单调计数器(62)彼此同步,所述第一节点和所述第二节点之中的一个节点被配置为主节点,并且所述第一节点和所述第二节点之中的另一节点被配置为从节点,
所述主节点还被配置成向所述传输总线(4)发送同步信号;
所述从节点还被配置成从所述传输总线(4)接收所述同步信号,并且根据接收到的同步信号更新所述从节点的所述第一递增单调计数器(42)或所述第二递增单调计数器(62)的值。
19.根据权利要求17所述的系统,其中,所述第一节点和所述第二节点在对等类型系统中操作,并且其中,为了使所述第一递增单调计数器(42)和所述第二递增单调计数器(62)彼此同步,所述第一节点和所述第二节点被配置成:
向所述传输总线(4)发送分别包括所述第一计数值和所述第二计数值的相应的第一同步信号和第二同步信号,
从所述传输总线(4)接收所述第一同步信号和所述第二同步信号之中的另一个,以及
仅当所述第二计数值大于所述第一节点的所述第一计数值时,由所述第一节点用所述第二计数值更新所述第一节点的所述第一递增计数器;以及
仅当所述第一计数值大于所述第二节点的所述第二计数值时,由所述第二节点用所述第一计数值更新所述第二节点的所述第二递增计数器。
20.根据权利要求13至19中任一项所述的系统,其中,所述第一节点(E1)还被配置成通过执行AES-CMAC密码算法来计算所述第一消息认证码(MAC1)。
21.根据权利要求13至20中任一项所述的系统,其中,所述协议是定义数据类型帧格式的CAN协议,
其中,所述第一数据帧、所述第二数据帧和所述第三数据帧全部具有由所述协议定义的类型的相同帧格式。
22.根据权利要求13至21中任一项所述的系统,其中,所述传输总线(4)是交通工具(1)的CAN总线,所述第一节点(E1)是所述交通工具(1)的第一引擎控制单元ECU,并且所述第二节点(EN)是所述交通工具(1)的第二引擎控制单元ECU。
23.根据权利要求13至22中任一项所述的系统,其中,所述第一数据帧(10)、所述第二数据帧(10)和所述第三数据帧(20)的有效载荷字段(10b,20a)被配置成传输由所述协议定义的字节数,所述第一消息认证码(MAC1)和所述第二消息认证码(MACEXP)以等于由所述协议定义的所述字节数的字节数表示。
24.根据权利要求15所述或根据从属于权利要求15时的权利要求16至23中任一项所述的系统,其中,所述第一计数值(MC)和所述第二计数值(MC')以等于由所述协议定义的所述字节数的字节数表示。
25.一种交通工具(1),包括根据权利要求13至24中任一项所述的数据交换系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102019000023544 | 2019-12-10 | ||
IT102019000023544A IT201900023544A1 (it) | 2019-12-10 | 2019-12-10 | Metodo e sistema di scambio di dati su una rete per incrementare misure di sicurezza della rete, veicolo comprendente tale sistema |
PCT/IB2020/061763 WO2021116975A1 (en) | 2019-12-10 | 2020-12-10 | Method and system for data exchange on a network to enhance security measures of the network, vehicle comprising such system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115380289A true CN115380289A (zh) | 2022-11-22 |
Family
ID=70228421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080093834.5A Pending CN115380289A (zh) | 2019-12-10 | 2020-12-10 | 在网络上进行数据交换以增强网络的安全措施的方法和系统、包括这样的系统的交通工具 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230037778A1 (zh) |
EP (2) | EP4073675A1 (zh) |
JP (1) | JP2023519059A (zh) |
CN (1) | CN115380289A (zh) |
IT (1) | IT201900023544A1 (zh) |
WO (1) | WO2021116975A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210089388A1 (en) * | 2020-07-14 | 2021-03-25 | Intel Corporation | System, Apparatus And Method For Providing Protection Against Silent Data Corruption In A Link |
CN113852531B (zh) * | 2021-09-22 | 2022-11-15 | 河北通合新能源科技有限公司 | 用于功能码匹配的can通讯方法和can控制器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9288048B2 (en) * | 2013-09-24 | 2016-03-15 | The Regents Of The University Of Michigan | Real-time frame authentication using ID anonymization in automotive networks |
JP6407981B2 (ja) * | 2014-05-08 | 2018-10-17 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 車載ネットワークシステム、電子制御ユニット及び不正対処方法 |
CN111464414A (zh) * | 2014-07-10 | 2020-07-28 | 松下电器(美国)知识产权公司 | 车载网络系统、电子控制单元、接收方法以及发送方法 |
-
2019
- 2019-12-10 IT IT102019000023544A patent/IT201900023544A1/it unknown
-
2020
- 2020-12-10 EP EP20841760.0A patent/EP4073675A1/en active Pending
- 2020-12-10 WO PCT/IB2020/061763 patent/WO2021116975A1/en unknown
- 2020-12-10 CN CN202080093834.5A patent/CN115380289A/zh active Pending
- 2020-12-10 US US17/783,936 patent/US20230037778A1/en active Pending
- 2020-12-10 JP JP2022535172A patent/JP2023519059A/ja active Pending
- 2020-12-10 EP EP24168535.3A patent/EP4372595A2/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4372595A2 (en) | 2024-05-22 |
US20230037778A1 (en) | 2023-02-09 |
EP4073675A1 (en) | 2022-10-19 |
WO2021116975A1 (en) | 2021-06-17 |
IT201900023544A1 (it) | 2021-06-10 |
JP2023519059A (ja) | 2023-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3050251B1 (en) | Real-time frame authentication using id anonymization in automotive networks | |
Ueda et al. | Security authentication system for in-vehicle network | |
Nürnberger et al. | –vatican–vetted, authenticated can bus | |
US11245535B2 (en) | Hash-chain based sender identification scheme | |
US10735206B2 (en) | Securing information exchanged between internal and external entities of connected vehicles | |
EP3451577B1 (en) | Computing device, authentication system, and authentication method | |
CN111447235A (zh) | 网络装置以及网络系统 | |
JP2018133744A (ja) | 通信システム、車両、および監視方法 | |
CN115380289A (zh) | 在网络上进行数据交换以增强网络的安全措施的方法和系统、包括这样的系统的交通工具 | |
Han et al. | A practical solution to achieve real-time performance in the automotive network by randomizing frame identifier | |
US10311005B2 (en) | Message translator | |
CN113632419A (zh) | 用于对要在总线系统(bu)、特别是机动车辆的总线系统中传输的至少一个数据分组进行生成和认证检查的装置和方法 | |
Szilagy et al. | A flexible approach to embedded network multicast authentication | |
WO2017026360A1 (ja) | 通信システム | |
US10017158B2 (en) | Data excluding device | |
Püllen et al. | Securing FlexRay-based in-vehicle networks | |
US20150220755A1 (en) | Solution for security, safe and time integrity communications in automotive environments | |
US11740652B2 (en) | Method for synchronizing clocks of at least two devices | |
Murvay et al. | Accommodating time-triggered authentication to FlexRay demands | |
JP2020137009A (ja) | ネットワークシステム | |
JP7453404B2 (ja) | 通信システム、中継装置、受信装置及び通信制御方法 | |
WO2022097519A1 (ja) | 車両用データ保存方法、車両用データ保存システム | |
JP6681755B2 (ja) | 車両用通信網装置及び通信方法 | |
JP6919430B2 (ja) | ネットワークシステム | |
KR20230121137A (ko) | 데이터 전송 방법 및 장치 |
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 |