CN113037759A - 适配autosar汽车电子架构的新鲜度值管理方法及装置 - Google Patents
适配autosar汽车电子架构的新鲜度值管理方法及装置 Download PDFInfo
- Publication number
- CN113037759A CN113037759A CN202110274585.6A CN202110274585A CN113037759A CN 113037759 A CN113037759 A CN 113037759A CN 202110274585 A CN202110274585 A CN 202110274585A CN 113037759 A CN113037759 A CN 113037759A
- Authority
- CN
- China
- Prior art keywords
- message
- value
- ecu
- node
- reset
- 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.)
- Granted
Links
Images
Classifications
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种适配AUTOSAR汽车电子架构的新鲜度值管理机制的方法及装置。该方法包括:主节点ECU利用行程计数器对行程计数得到行程计数器值,利用复位计数器基于复位周期对复位计数得到复位计数器值,行程计数器值变化、复位计数器值变化分别向副节点ECU发送同步消息;副节点ECU基于接收到的行程同步消息更新行程计数器值并设置消息计数器,由复位同步消息更新其复位计数器值;主节点ECU接收ACK消息,在接收到来自所有副节点ECU的ACK消息向其发送ACK确认报文;副节点ECU接收到ACK确认报文,根据行程、复位和消息计数器值生成新鲜度值,基于新鲜度值进行数据消息的发送。通过上述方案,能够支持车辆内部安全通信的新鲜度值管理的需求。
Description
技术领域
本发明涉及车内安全通信技术领域,尤其涉及一种适配AUTOSAR汽车电子架构的新鲜度值管理方法及装置。
背景技术
汽车开放系统架构(AUTomotive Open System Architecture,AUTOSAR)是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系,致力于为汽车工业开发一个开放的、标准化的软件架构,AUTOSAR架构有利于车辆电子系统软件的交换与更新,并为高效管理愈来愈复杂的车辆电子、软件系统提供了一个基础。此外,AUTOSAR在确保产品及服务质量的同时,提高了成本效率。目前已经有大量汽车搭载了符合AUTOSAR标准的汽车电子控制单元(Electronic Control Unit,ECU),AUTOSAR已经成为未来的汽车电子架构的重要发展方向。
图1为AUTOSAR架构示意图。如图1所示,AUTOSAR架构100包括应用软件层(Application Layer)、运行时环境(Runtime Environment,RTE)、服务层(ServicesLayer)、ECU抽象层(ECU Abstraction Layer)、微控制器抽象层(MicrocontrollerAbstraction Layer)和复杂驱动(Complex Device Drivers)。在应用软件层中,AUTOSAR的软件被组织在独立的单位软件组件(Software Component,SWC)中,其中封装了部分或全部汽车电子的功能与行为,包括对具体模块功能的实现以及对应描述,对外界仅仅开放了定义好的接口,称之为Port Prototypes,而所有ECU内部组件之间的通信及获取其他ECU资源的动作就都必须要通过接口来访问RTE来完成。并且在应用软件层内的通信关系是软件组件能和同一个ECU上其他软件组件通信,软件组件能和位于不同ECU上的其他软件组件进行通信,软件组件能和有端口并位于同一个ECU上的基础软件(Basic Software,BSW)进行通信。
在AUTOSAR标准中,提出了保障车辆内网CAN总线安全通信的SecOC(SecurityOnboard Communication,车载安全通信)框架,SecOC从属于AUTOSAR软件规范中的安全与防御部分,旨在为协议数据单元(Protocol Data Unit,PDU)的关键数据提供有效可行的认证机制。该认证机制能够与当前的AUTOSAR通信系统进行无缝集成,占用很少的系统资源,且可以作为一个附属功能存在。SecOC架构中提出可以采用新鲜度值机制防范重放攻击,由此新鲜度值管理就成为SecOC机制中的重要组成部分。图2所示为现有SecOC架构的示意图,图2中发送方和接收方是参与车内网通信的两个ECU,发送方负责按照通信要求生成PDU(Authentic-I-PDU),将待发送的Authentic I-PDU添加认证信息(消息认证码MAC和新鲜度值)从而创建Secured I-PDU,并将Secured I-PDU发送到CAN总线上,也即同步发送到CAN总线上的数据包括新鲜度值(Freshness Value,FV)和消息认证码MAC,其中,消息认证码MAC是利用一定的加密算法基于密钥和新鲜度值等计算出的。新鲜度值是一个根据一定逻辑不断更新的数值,新鲜度值的更新方式有多种,如可以使用报文计数或整车各节点统一的时钟等方式来进行更新。每次传输新鲜度值发生变化,消息认证码也相应发生变化。接收方接收到消息后,对消息进行解析和处理,基于新鲜度值确定接收的消息是否为新鲜的消息,从而有效预防攻击。新鲜度值机制是SecOC框架中一个非常重要的方面,通过在总线消息中附加新鲜度值来验证该消息是否是一条新鲜的消息,从而有效预防重放攻击对车辆带来的安全威胁。
考虑未来的扩展性,如何在支持SecOC框架的条件下提供一种与SecOC框架相对独立的新鲜度值管理机制,来向SecOC框架之外的其他可能使用新鲜度值管理的组件提供服务成了有待解决的问题。
发明内容
鉴于此,本发明实施例提供了一种适配AUTOSAR汽车电子架构的新鲜度值管理机制的方法及装置,以达到在支持SecOC框架的条件下提供一种与SecOC框架相对独立的新鲜度值管理机制,来向SecOC框架之外的其他可能使用新鲜度值管理的组件提供服务的目的。
根据本发明实施例的一个方面,提供了一种适配AUTOSAR汽车电子架构的新鲜度值管理方法,所述方法包括以下步骤:
主节点电子控制单元ECU利用行程计数器对行程进行计数得到行程计数器值,利用复位计数器基于所述复位周期对复位进行计数得到复位计数器值,基于所述行程计数器值和复位计数器值得到消息认证码(MAC),在所述行程计数器值发生变化的情况下向一个或多个副节点ECU发送包括行程计数器值、复位计数器值及MAC的行程同步消息,在所述复位计数器值发生变化的情况下向所述一个或多个副节点ECU发送复位同步消息;
所述一个或多个副节点ECU基于接收到的行程同步消息向主节点ECU发送ACK消息,更新其行程计数器值并设置其消息计数器,在接收到复位同步消息的情况下更新其复位计数器值并对消息计数器值进行复位;
主节点ECU接收来自所述一个或多个副节点ECU的ACK消息,在接收到来自所述一个或多个副节点ECU中所有副节点ECU的ACK消息的情况下,向所述一个或多个副节点ECU发送ACK确认报文;
副节点ECU在接收到所述主节点ECU的ACK确认报文后,基于其行程计数器值、复位计数器值和消息计数器值生成新鲜度值,并基于新鲜度值进行数据消息的发送。
在一些实施例中,所述方法还包括:
所述副节点ECU利用回文状态值记录是否针对所述行程同步消息向主节点ECU发送过ACK消息;
副节点ECU在接收到所述主节点ECU的ACK确认报文后,向所述主节点ECU发送ACK消息,并利用回文状态值记录是否针对所述ACK确认报文向主节点ECU发送过ACK消息。
在一些实施例中,所述一个或多个副节点ECU基于接收到的行程同步消息向主节点ECU发送ACK消息,包括:
所述一个或多个副节点ECU将接收到的行程同步消息中的行程计数器值与所述副节点ECU内的行程计数器值相比较,在二者不相同的情况下,所述一个或多个副节点ECU基于所述行程同步消息更新其行程计数器值,并向所述主节点ECU返回ACK消息。
在一些实施例中,所述方法还包括:
在未收到一个或多个副节点ECU中所有副节点ECU发送的ACK消息的情况下,所述主节点ECU向所有副节点ECU再次发送行程同步消息,并在预先设定的等待窗口期内等待接收所述所有副节点ECU发送的ACK消息。
在一些实施例中,所述的适配AUTOSAR汽车电子架构的新鲜度值管理方法,包括:
在所述主节点ECU发送行程同步消息的次数达到预先设定的消息发送最大次数的情况下,如果在所述预先设定的等待窗口期内未接收到所有副节点ECU发送的ACK消息,则发送错误指令进行报错并禁止启动车辆。
在一些实施例中,所述方法还包括:
将生成的新鲜度值中的消息计数器进行截断,得到消息计数器的高位值和消息计数器的低位值,将所述消息计数器的低位值与所述新鲜度值中的复位标志位连接生成截断的新鲜度值,用于在待发送的消息中携带。
根据本发明实施例的另一个方面,提供了一种适配AUTOSAR汽车电子架构的新鲜度值管理方法,包括:
副节点ECU接收行程同步消息,基于接收的行程同步消息来同步行程计数器值;并对消息计数器值进行初始化,利用接收的复位同步消息来更新复位计数器值,并向主节点电子控制单元ECU发送ACK消息;
所述主节点电子控制单元ECU根据接收到的来自一个或多个副节点ECU中所有副节点ECU的ACK消息的情况下,向所述一个或多个副节点ECU发送ACK确认报文;
副节点ECU在接收到所述主节点ECU的ACK确认报文后,基于其行程计数器值、复位计数器值和消息计数器值生成新鲜度值,并基于新鲜度值进行数据消息的发送。
在一些实施例中,所述的适配AUTOSAR汽车电子架构的新鲜度值管理方法,包括:
所述副节点ECU利用回文状态值记录是否针对所述行程同步消息向主节点ECU发送过ACK消息;
副节点ECU在接收到所述主节点ECU的ACK确认报文后,向所述主节点ECU发送ACK消息,并利用回文状态值记录是否针对所述ACK确认报文向主节点ECU发送过ACK消息。
根据本发明实施例的另一个方面,提供了一种适配AUTOSAR汽车电子架构的新鲜度值管理装置,该系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上述任意一项实施例所述方法的步骤。
根据本发明实施例的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任意一项实施例所述方法的步骤。
本发明实施例的一种适配AUTOSAR汽车电子架构的新鲜度值管理方法及装置。通过管理每个Can-Id的新鲜度值目前的状态,具体就是管理行程计数器、复位计数器的值,并将这些值同步给相关的ECU。而每个ECU内部,也需要增加相关的配合机制,根据新鲜度值管理方法,完成ECU本地计数器的同步,为消息通信奠定新鲜度值的准备。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大,即,相对于依据本发明实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为AUTOSAR架构示意图。
图2为SecOC架构示意图。
图3为新鲜度值的结构示意图。
图4为本发明一实施例中新鲜度值管理器的系统构架示意图。
图5为本发明一实施例中适配汽车电子架构的新鲜度值管理方法的流程示意图。
图6为本发明一实施例的主节点ECU与副节点ECU间同步信息传输的示意图。
图7A和图7B分别为本发明不同实施例的同步信息的“三次握手”的流程示意图。
图8为本发明一实施例的主节点ECU状态迁移的流程示意图。
图9为本发明一实施例的副节点ECU的状态示意图。
图10是本发明另一实施例的适配汽车电子架构的新鲜度值管理方法的流程示意图。
图11为本发明一实施例的新鲜度值管理器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
新鲜度值机制是安全框架中非常重要的方面,是通过在CAN总线消息中附加新鲜度值(Freshness Value,FV)来验证该消息是否为一条新鲜的消息,从而有效预防重放攻击对车辆带来的安全威胁。新鲜度值可以通过单调计数器来实现。由于在信息交互的过程中,信息易于被他人窃取,从而在汽车自动驾驶的过程中产生危险,而本发明针对该问题而提供了一种适配AUTOSAR汽车电子架构的新鲜度值管理机制,可以有效降低该情况发生的概率。
考虑未来的扩展性,本发明提供了一种能够适配AUTOSAR标准的、与SecOC框架相对独立的新鲜度值管理机制,并给出了相应的新鲜度值管理装置,如新鲜度值管理器(FVM,Freshness Value Manager),一方面可以为SecOC安全通信提供新鲜度值管理的服务,另一方面也可以为车辆中其他有可能使用新鲜度值管理的组件提供服务。
在本发明实施例中,新鲜度值管理器FVM处于应用层中,而SecOC处于基础软件层中的COM组件部分,SecOC与FVM由运行时环境(RTE)层隔离,当二者进行交互时,需要通过中间层RTE进行。
如果车内的ECU参与安全车内网通信,则在每个消息发送的时候,需要使用该消息当前的与最新计数器相关的值(新鲜度值)来标识消息的新鲜性,如果用CAN ID来作为消息的标识,则需要在FVM中针对每一个CAN ID都设计一个新鲜度值计数器。
按照SecOC框架的定义,新鲜度值的结构如图3所示,新鲜度值长度可以根据实际情况的需要进行设计,最长为64位。新鲜度值由3个子计数器(行程计数器(Trip Counter)、复位计数器(Reset Counter)和消息计数器(Message Counter))的值和复位标志位(ResetFlag)组成,其中,行程计数器用于记录车辆的每次行驶,以控制器启动、复位、唤醒和/或上下电等事件标识每次行驶,以车辆的每次行程(即行程)为单位来进行计数,当行程计数器变化时,则通过同步消息,将新的计数器值同步给相关ECU。复位计数器是负责管理在汽车一次行程中消息计数的复位,一般由复位周期(Reset Cycle)参数控制。当某个新鲜度值的复位周期到达,复位计数器值自增1,同时消息计数器值归0,开始下一轮的消息计数。消息计数器负责在一个复位周期内进行的消息发送进行计数,当某CAN ID的消息被成功发送后,其对应的消息计数器自增1,并更新新鲜度值,参与Secured I-PDU的计算。消息计数器可分为大端(高m位)和小端(低n位),m和n的值可结合整车软硬件条件来决定。SecOC通过保证消息计数器的单调性,即新消息的计数器>先前的消息中的计数器,来实现甄别重放攻击的功能。行程计数器最大的长度为24比特,复位计数器的最大长度为24比特,消息计数器的最大长度为48比特,在实际应用中,各子计数器的长度可以根据实际情况的需要进行设计。复位标志位包含复位计数器的k个最低有效位(1~2位,一般为2位),用来对新鲜度值进行完整构造。由于完整的新鲜度值需要的比特位比较多,因此,在实际传输的过程中,需要对传输用新鲜度值进行截断,通常选择使用消息计数器的小端连接复位标志位生成被截断的新鲜度值(Truncated Freshness Value)附加在I-PDU中。在本发明实施例中,新鲜度值的结构可以采用图3所示的结构,从而可以适用于SecOC框架。
本发明实施例中,新鲜度值管理机制的目标就是管理每个CAN ID的新鲜度值目前的状态,具体就是维护行程计数器和复位计数器的值,并将这些值同步给相关的ECU。而每个ECU内部,也需要增加相关的配合机制,根据FVM的机制,完成ECU本地计数器的同步,为消息通信奠定新鲜度值的准备。
本发明实施例中,FVM包括中心组件(Master组件,或称主组件)和副组件(Slave组件),中心组件可部署在一个独立的集成了完整AUTOSAR功能的ECU中,该ECU作为全局新鲜度值管理的中心节点,也可称为主节点ECU,主要负责每个CAN ID的行程计数器值和复位计数器值的管理和同步。相应地,配合FVM中心组件工作的组件可称为FVM副组件,FVM副组件可部署在主节点ECU之外的其他每个需要参与安全通信的ECU中,例如发动机控制ECU,车窗控制ECU中等。这些部署了FVM副组件的ECU也可称为副节点ECU。
图4为本发明一实施例中新鲜度值管理器的系统构架示意图。如图4所示,FVM中心组件可以被部署在一个独立的集成了完整AUTOSAR功能的ECU(主节点ECU)中,该ECU为全局新鲜度值管理的中心节点(主节点),其可以负责每个CAN ID的行程计数器和复位计数器的管理与同步。根据图4可知,主节点ECU通过CAN总线对一个或多个副节点ECU进行管理和信息同步,每个副节点ECU中均可以具有一个FVM副组件。保障新鲜度值的同步是实现车内安全通信的前提,当行程计数器或复位计数器增加时,主节点ECU中的新鲜度值管理器会发送同步消息至副节点ECU。
本发明实施例中,主节点中的FVM主组件的主要功能如下:
(1)维护行程计数器值,每次启动车辆该行程计数器值+1;
(2)向副节点ECU发送行程计数器值的同步消息;
(3)统计各副节点ECU成功同步行程计数器值的响应ACK消息(ACK报文);
(4)返回接收的ACK报文对应的确认报文;
(5)确定全局的行程计数器值都同步成功后,发送通知报文指示车辆处于准备就绪状态;
(6)维护每个CAN ID的重置周期;
(7)根据CAN ID的重置周期判断某个CAN ID是否达到了复位计数器值+1的条件,在满足复位计数器值+1的条件的情况下,对复位计数器值进行+1;
(8)广播复位计数器值的同步消息。
副节点中的FVM副组件的主要功能如下:
(1)接收行程计数器值的同步消息,同步本地行程计数器值;
(2)接收到行程计数器值的同步消息后,发送指示行程计数器值同步成功的ACK消息(ACK报文);
(3)接收主节点发送的针对ACK报文的确认报文,修改用于指示是否收到ACK确认报文的回文状态值,再次收到行程计数器值同步消息时不做处理;
(4)接收复位计数器值的同步消息,同步本地复位计数器值;
(5)发送消息的时候,生成最新的FV值;
(6)接收消息的时候,根据收到的FV(部分)还原完整FV值。
保障新鲜度值的同步是实现车内安全通信的前提,当行程计数器或复位计数器增加时,FVM的主节点会向副节点发送行程同步消息或复位同步消息。其中,行程同步消息包含完整的行程计数器值、复位计数器值以及相应的截断的MAC(Truncated MAC),复位同步消息可仅包含复位计数器值和截断MAC,不包含完整行程计数器值。截断的MAC为将行程计数器连接复位计数器后经过Hash运算得到的Hash值,用来保障同步消息的可信性。副节点ECU收到同步消息时,更新本地的行程计数器和复位计数器的值,并将消息计数器设置为零。
当收到同步消息后,副节点ECU需要对本地的新鲜度值进行同步处理,副节点ECU的新鲜度值的结构及同步逻辑为:在成功收到同步消息并验证Hash值通过后,行程计数器存储(即更新为)接收到的最新行程计数器值,复位计数器存储(即更新为)接收到的复位计数器值;在副节点ECU作为发送方的情况下,发送方的消息计数器值在传输开始后由先前的发送值更新为最新发送值,在副节点ECU作为接收方的情况下,接收方的消息计数器值在收到验证成功消息后从先前用来验证的值更新为最新接收值,副节点消息计数器更新的时机为收到SecOC关于安全I-PDU传输开始的通知,或者SecOC通知MAC验证成功时。为了正确的进行新鲜度值的构造与验证,每个副节点ECU中存储行程计数器复位计数器和消息计数器,以及用于上一次成功身份验证的新鲜度值。主节点ECU中保存行程计数器和复位计数器。副节点ECU中获取Secured I-PDU中被截断的新鲜度值,进而得到消息计数器的低位以及复位计数器的低k位(如低2位),通过比对本地存储的复位计数器值和接收到的复位计数器低位值,构造出完整的复位计数器值,再利用本地存储的高位消息计数器值和接收到的消息计数器低位构造完整的消息计数器值,然后使用完整的新鲜度值参与到消息校验码(MAC)生成中来最终验证收的MAC。
图5为本发明一实施例中适配汽车电子架构的新鲜度值管理方法的流程示意图。如图5所示,该方法可包括以下步骤S110至步骤S140。
步骤S110:主节点ECU利用行程计数器对行程进行计数得到行程计数器值,利用复位计数器基于复位周期对复位进行计数得到复位计数器值,基于行程计数器值和复位计数器值得到MAC,在行程计数器值发生变化的情况下向一个或多个副节点ECU发送包括行程计数器值、复位计数器值及MAC的行程同步消息,在复位计数器值发生变化的情况下向一个或多个副节点ECU发送复位同步消息。
本发明实施例中,当行程计数器开始变化时,需要通过同步消息,将变化后的行程计数器值同步给副节点ECU。由于行程计数器值在汽车每次点火时更新,以作为辨识汽车每一次行程下数据消息的标记,当新鲜度值中包含行程计数器值可以用来防护来自之前行驶过程中产生的数据报文的重放攻击。同样,在按照复位周期到达复位时间的情况下,复位计数器进行计数,得到复位计数器值,复位计数器值同样需要同步,副节点ECU可基于同步的复位计数器值对消息计数器进行复位。
示例性地,图6为本发明一实施例的主节点ECU和副节点ECU间同步信息传输的示意图,如图6所示,维护行程计数器值,在汽车启动时启动行程计数器并从非易失性存储器中读取上一次行驶值并进行+1计数,然后再将值存回非易失性存储器中;由主节点ECU向车辆内部全部参与安全通信的副节点ECU发送用于同步行程计数器值的行程同步消息。在复位计数器有变化的情况下,主节点ECU同样向车辆内部全部参与安全通信的副节点ECU发送同于同步复位计数器值的复位同步消息,该消息可以通过广播的形式发送。
步骤S120:一个或多个副节点ECU基于接收到的行程同步消息更新其行程计数器值并设置其消息计数器,在接收到复位同步消息的情况下更新其复位计数器值。
副节点ECU中设置有行程计数器值、复位计数器值以及消息计数器值。
在副节点ECU接收到行程同步消息并验证通过后,同步更新其行程计数器值并存入本地非易失性存储器中,并向主节点ECU发送ACK消息,副节点ECU的非易失性存储器中的行程计数器值将用于下次汽车行驶发送的行程计数器的验证。在副节点ECU接收到复位同步消息并验证通过后,同步更新其复位计数器值,并将消息计数器值归零,以便开始重新对消息进行计数。消息计数器负责在一个复位周期内进行消息发送计数,当消息发送成功后,消息计数器值自增1,并作为新的新鲜度值的一部分参与Secured I-PDU的计算。消息计数器分为大端(即,高m位)和小端(即,低n位)。m和n可以结合整车软硬件条件来决定。SecOC通过保证消息计数器的单调性,即新消息计数器值大于先前消息计数器值,进而实现甄别重放攻击的功能。此外,在复位周期内,每发一条消息都使消息计数器值加1,以确保消息都是最新的。
在车辆内部进行消息通信的过程中,由于每种消息的频率不同,所以在主节点中要为每个CAN-Id对应的新鲜度值设置其重置周期值,当CAN-Id对应的新鲜度值的重置周期到达时,主节点ECU会对该新鲜度值的复位计数器做+1操作,并将新的复位计数器值通过复位同步消息进行广播。发送该消息的主节点ECU和副节点ECU都需要同步更新后的复位计数器值,并将副节点ECU中原有的消息计数器的值置0,为发送数据消息做好准备。
步骤S130:主节点ECU接收来自一个或多个副节点ECU的ACK消息,在接收到来自一个或多个副节点ECU中所有副节点ECU的ACK消息的情况下,向所有副节点ECU发送ACK确认报文。
为了保障汽车行驶过程中的所有安全通信的ECU收到的为最新的行程计数器值,需要通过数据包的可靠分发,为此行程同步消息采用了“三次握手机制”。图7A和图7B分别为本发明不同实施例的同步信息的“三次握手”的流程示意图。如图7A所示,该“三次握手”流程可包括:
(1)第一次握手:由主节点ECU向车辆内部全部参与安全通信的副节点ECU发送行程同步消息(或称行程计数器值同步消息)。该行程同步消息可以以广播的方式发出。
(2)第二次握手:副节点ECU收到行程同步消息后,完成本地的行程计数器值同步,并向主节点ECU发送ACK消息(ACK报文)。
(3)第三次握手:由于副节点ECU返回的ACK消息可能丢失,因此,需要在主节点ECU收到各副节点ECU的ACK消息后,可发送ACK确认消息,以通知副节点ECU其同步成功ACK消息已经接收成功。ACK确认报文为用于在发送方接收到接收方发送的ACK消息后,向接收方发送的反馈消息,以表示已接收到ACK消息。
当主节点ECU收到了全部副节点ECU的ACK消息后,主节点ECU会广播行程计数器值同步成功的通知消息,收到该消息后,ECU具备了发送数据消息的条件。
为了进一步提高系统的可靠性,可预先设置在主节点ECU广播了行程同步消息后的等待窗口期机制,即主节点ECU在等待窗口期内如果未收到全部副节点ECU的ACK消息,则会再次广播行程同步消息,之后再等待一个窗口期,如图7B所示。此外,可以预先设定同步消息发送最大次数,即为消息发送次数设置一个上限,当发送次数达到上限后,仍然有副节点ECU的ACK消息未收到,则系统报错,进入启动失败状态。即,主节点ECU进行状态迁移。图8为本发明一实施例的主节点ECU状态迁移的流程示意图,如图8所示,在初始化阶段之后,主节点ECU的行程计数器值发生变化时,向车辆内部全部参与安全通信的副节点ECU发送行程同步消息,并等待所有副节点ECU的ACK报文,如果主节点ECU在等待窗口期内未收到全部副节点ECU的ACK消息,即还缺少ACK消息,则会再次广播行程同步消息,之后再等待一个窗口期,再等待一个窗口期后若还缺少ACK消息,则会再次广播行程同步消息,之后再等待一个窗口期,如此往复,直至达到消息发送次数上限。在主节点ECU发送行程同步消息的次数达到发送次数达到上限的情况下,如果在预先设定的等待窗口期内未接收到所有副节点ECU发送的ACK消息,则主节点ECU进入启动失败状态,发送错误指令进行报错并禁止启动车辆。在主节点ECU接收到了所有副节点ECU发送的ACK消息的情况下,主节点ECU向所有副节点ECU发送ACK确认报文,此时副节点ECU具备发送数据信息的条件。设置等待窗口期和消息发送次数上限可以提高系统的可靠性。
在主节点ECU发送行程同步消息后,各个副节点ECU将接收到的行程计数值同步至本地的各个行程计数器中并保存本地非易失性存储器中,作为下次行驶验证行程同步消息的依据。本地行程计数器中的数值也与行程同步消息中的值相同,同时副节点ECU将指示同步成功的ACK消息发送至主节点ECU。主节点ECU统计副节点ECU发送的ACK消息的数量,在确定接收到所有副节点ECU的ACK消息后,确认所有副节点ECU中的行程计数器值都同步成功后,车辆处于准备就绪状态。
副节点ECU可利用回文状态值(backstatus)记录是否针对行程同步消息向主节点ECU发送过ACK消息。更具体地,在行程同步消息发送后,副节点ECU的处理过程如下:
(1)设置回文状态值变量(backstatus)来记录是否需要发送ACK报文:副节点ECU初始化时将变量backstatus置为0表示未收到ACK确认报文,需要向主节点ECU返回ACK报文。
(2)副节点ECU在收到行程同步消息后,通过backstatus的值可以判断是否曾经收到过ACK确认报文:若变量backstatus=0,在验证此行程同步消息有效后,比较收到的行程计数器和本地行程计数器,若不相同,更新行程计数器,返回一个的ACK报文给主节点ECU中的主节点ECU。若变量backstatus=1,说明本ECU曾返回过此同步消息的ACK报文且收到了ACK确认报文,后续不需要返回,不需要更新行程计数器。
(3)当副节点ECU接收到自己的ACK确认报文后,将backstatus设置成1。说明主节点ECU收到自己的ACK报文,知道自己已经同步上本次行程计数器值。若副节点ECU没有收到自己的ACK确认报文,说明主节点ECU没有收到ACK报文,而主节点ECU会按表重新发送行程同步消息,副节点ECU接收到行程同步消息时将执行相同的操作返回ACK报文并等待ACK确认报文。副节点ECU的状态图如图9所示。
在车辆内部进行消息通信的过程中,由于每种消息的频率不同,所以在主节点中要为每个CAN ID对应的新鲜度值设置其重置周期(Reset Cycle)值,当某个CAN ID对应的FV的重置周期到达时,主节点会对该FV的复位计数器做+1操作,并将新的复位计数器值通过复位同步消息进行广播。该复位同步消息的发送ECU和接收ECU都需要同步该新的复位计数器的值,并将原有的消息计数器置0,为发送数据消息做好准备。
步骤S140:副节点ECU在接收到主节点ECU的ACK确认报文后,基于其行程计数器值、复位计数器值和消息计数器值生成新鲜度值,并基于新鲜度值进行数据消息的发送。
在行程计数器值同步成功的情况下,系统启动车辆并对CAN ID的重置周期进行维护。
在对含有新鲜度值的消息进行发送的过程中,由于完整的FV需要的比特位较多,在实际传输中需要对新鲜度值进行截断。因此,在一些实施例中,将消息计数器的低位值与完整新鲜度值中的复位标志位连接生成截断的新鲜度值,用于在待发送的消息中携带。
为了正确的进行新鲜度值的构造与验证,每个副节点ECU都存储行程计数器,复位计数器和消息计数器,以及用于上一次成功身份验证的新鲜度值。主节点ECU中的ECU中只保存行程计数器和复位计数器,副节点ECU中的ECU接收方获取Secured I-PDU中被截断的新鲜度值,进而得到消息计数器低位,进一步构造出校验时做出的完整新鲜度值。
图10是本发明另一实施例的适配汽车电子架构的新鲜度值管理方法的流程示意图,如图10所示,该方法包括以下步骤S210至步骤S230:
步骤S210:副节点ECU接收行程同步消息,基于接收的行程同步消息来同步行程计数器值;并对消息计数器值进行初始化,利用接收的复位同步消息来更新复位计数器值,并向主节点ECU发送ACK消息。
步骤S220:所述主节点ECU根据接收到的来自所述一个或多个副节点ECU中所有副节点ECU的ACK消息的情况下,向所述一个或多个副节点ECU发送ACK确认报文。
步骤S230:副节点ECU在接收到所述主节点ECU的ACK确认报文后,基于其行程计数器值、复位计数器值和消息计数器值生成新鲜度值,并基于新鲜度值进行数据消息的发送。
综上所述,本发明实施例的适配AUTOSAR汽车电子架构的新鲜度值管理方法及装置,通过使用能够适配AUTOSAR标准的、与SecOC框架相对独立的新鲜度值管理机制,一方面可以为SecOC安全通信提供新鲜度值管理的服务,另一方面也可以为车辆中其他有可能使用新鲜度值管理的组件提供服务。通过将新鲜度值管理器处于应用层中,SecOC处于基础软件层中的通信模块组件部分,两者由运行时环境层隔离,当SecOC与新鲜度值管理器进行交互时,需要通过中间层,即运行时环境层进行通信。
根据本发明实施例的另一个方面,提供了一种适配AUTOSAR汽车电子架构的新鲜度值管理装置,该系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上述任意一项实施例所述方法的步骤。
图11为本发明一实施例的新鲜度值管理器的结构示意图。如图11所示,该新鲜度值管理器采用AUTOSAR接口:Port Prototypes对外提供服务;可定义为FV get FreshnessValue(CAN Id)。
AUTOSAR定义了三种接口:标椎化接口(Standardized Interface)、AUTOSAR接口(AUTOSAR Interface)和标准化的AUTOSAR接口(Standardized AUTOSAR Interface)。AUTOSAR接口是一种与应用相关的接口,与RTE一并生成。基于AUTOSAR接口的端口可以用于软件组件SWC之间或者软件组件与ECU固件之间(例如,复杂驱动)的通信,用于新鲜度值管理器向其他组件提供服务。标准化AUTOSAR接口是一种特殊的AUTOSAR接口。这些在AUTOSAR规范中定义过的接口被软件组件用于访问AUTOSAR BSW模块提供的服务,比如ECU管理模块或者诊断事件管理模块,用于基础软件层的SecOC与新鲜度值管理器进行通信。标椎化接口是AUTOSAR规范中用C语言定义的API。这些接口用于ECU内部BSW模块之间,运行时环境层和操作系统之间或者运行时环境层和通信模块之间。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种适配AUTOSAR汽车电子架构的新鲜度值管理方法,其特征在于,所述方法包括以下步骤:
主节点电子控制单元ECU利用行程计数器对行程进行计数得到行程计数器值,利用复位计数器基于所述复位周期对复位进行计数得到复位计数器值,基于所述行程计数器值和复位计数器值得到消息认证码MAC,在所述行程计数器值发生变化的情况下向一个或多个副节点ECU发送包括行程计数器值、复位计数器值及MAC的行程同步消息,在所述复位计数器值发生变化的情况下向所述一个或多个副节点ECU发送复位同步消息;
所述一个或多个副节点ECU基于接收到的行程同步消息向主节点ECU发送ACK消息,更新其行程计数器值并设置其消息计数器,在接收到复位同步消息的情况下更新其复位计数器值并对消息计数器值进行复位;
主节点ECU接收来自所述一个或多个副节点ECU的ACK消息,在接收到来自所述一个或多个副节点ECU中所有副节点ECU的ACK消息的情况下,向所述一个或多个副节点ECU发送ACK确认报文;
副节点ECU在接收到所述主节点ECU的ACK确认报文后,基于其行程计数器值、复位计数器值和消息计数器值生成新鲜度值,并基于新鲜度值进行数据消息的发送。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述副节点ECU利用回文状态值记录是否针对所述行程同步消息向主节点ECU发送过ACK消息;
副节点ECU在接收到所述主节点ECU的ACK确认报文后,向所述主节点ECU发送ACK消息,并利用回文状态值记录是否针对所述ACK确认报文向主节点ECU发送过ACK消息。
3.如权利要求2所述的方法,其特征在于,所述一个或多个副节点ECU基于接收到的行程同步消息向主节点ECU发送ACK消息,包括:
所述一个或多个副节点ECU将接收到的行程同步消息中的行程计数器值与所述副节点ECU内的行程计数器值相比较,在二者不相同的情况下,所述一个或多个副节点ECU基于所述行程同步消息更新其行程计数器值,并向所述主节点ECU返回ACK消息。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
在未收到一个或多个副节点ECU中所有副节点ECU发送的ACK消息的情况下,所述主节点ECU向所有副节点ECU再次发送行程同步消息,并在预先设定的等待窗口期内等待接收所述所有副节点ECU发送的ACK消息。
5.如权利要求4所述的方法,其特征在于,包括:
在所述主节点ECU发送行程同步消息的次数达到预先设定的消息发送最大次数的情况下,如果在所述预先设定的等待窗口期内未接收到所有副节点ECU发送的ACK消息,则发送错误指令进行报错并禁止启动车辆。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
将生成的新鲜度值中的消息计数器进行截断,得到消息计数器的高位值和消息计数器的低位值,将所述消息计数器的低位值与所述新鲜度值中的复位标志位连接生成截断的新鲜度值,用于在待发送的消息中携带。
7.一种适配AUTOSAR汽车电子架构的新鲜度值管理方法,其特征在于,包括:
副节点ECU接收行程同步消息,基于接收的行程同步消息来同步行程计数器值;并对消息计数器值进行初始化,利用接收的复位同步消息来更新复位计数器值,并向主节点电子控制单元ECU发送ACK消息;
所述主节点电子控制单元ECU根据接收到的来自一个或多个副节点ECU中所有副节点ECU的ACK消息的情况下,向所述一个或多个副节点ECU发送ACK确认报文;
副节点ECU在接收到所述主节点ECU的ACK确认报文后,基于其行程计数器值、复位计数器值和消息计数器值生成新鲜度值,并基于新鲜度值进行数据消息的发送。
8.如权利要求7所述的方法,其特征在于,包括:
所述副节点ECU利用回文状态值记录是否针对所述行程同步消息向主节点ECU发送过ACK消息;
副节点ECU在接收到所述主节点ECU的ACK确认报文后,向所述主节点ECU发送ACK消息,并利用回文状态值记录是否针对所述ACK确认报文向主节点ECU发送过ACK消息。
9.一种适配AUTOSAR汽车电子架构的新鲜度值管理装置,该系统包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如权利要求1至7中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110274585.6A CN113037759B (zh) | 2021-03-15 | 2021-03-15 | 适配autosar汽车电子架构的新鲜度值管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110274585.6A CN113037759B (zh) | 2021-03-15 | 2021-03-15 | 适配autosar汽车电子架构的新鲜度值管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113037759A true CN113037759A (zh) | 2021-06-25 |
CN113037759B CN113037759B (zh) | 2022-07-22 |
Family
ID=76468836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110274585.6A Active CN113037759B (zh) | 2021-03-15 | 2021-03-15 | 适配autosar汽车电子架构的新鲜度值管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113037759B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116232662A (zh) * | 2022-12-26 | 2023-06-06 | 广东为辰信息科技有限公司 | 车内安全通信的计数器主从翻转处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150089236A1 (en) * | 2013-09-24 | 2015-03-26 | The Regents Of The University Of Michigan | Real-Time Frame Authentication Using ID Anonymization In Automotive Networks |
CN107948176A (zh) * | 2017-12-03 | 2018-04-20 | 吴武飞 | 一种面向can网络的信息安全增强方法及控制器 |
CN108075897A (zh) * | 2016-11-07 | 2018-05-25 | 福特全球技术公司 | 控制器局域网消息认证 |
CN110758289A (zh) * | 2019-10-31 | 2020-02-07 | 上海赫千电子科技有限公司 | 一种包括车载以太网的车内混合网络的睡眠与唤醒方法 |
CN111917619A (zh) * | 2020-07-29 | 2020-11-10 | 华人运通(江苏)技术有限公司 | 通信方法、装置、电子设备和可读存储介质 |
CN112134702A (zh) * | 2020-10-29 | 2020-12-25 | 北京邮电大学 | 车内网安全通信发送、接收方法及装置 |
-
2021
- 2021-03-15 CN CN202110274585.6A patent/CN113037759B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150089236A1 (en) * | 2013-09-24 | 2015-03-26 | The Regents Of The University Of Michigan | Real-Time Frame Authentication Using ID Anonymization In Automotive Networks |
CN108075897A (zh) * | 2016-11-07 | 2018-05-25 | 福特全球技术公司 | 控制器局域网消息认证 |
CN107948176A (zh) * | 2017-12-03 | 2018-04-20 | 吴武飞 | 一种面向can网络的信息安全增强方法及控制器 |
CN110758289A (zh) * | 2019-10-31 | 2020-02-07 | 上海赫千电子科技有限公司 | 一种包括车载以太网的车内混合网络的睡眠与唤醒方法 |
CN111917619A (zh) * | 2020-07-29 | 2020-11-10 | 华人运通(江苏)技术有限公司 | 通信方法、装置、电子设备和可读存储介质 |
CN112134702A (zh) * | 2020-10-29 | 2020-12-25 | 北京邮电大学 | 车内网安全通信发送、接收方法及装置 |
Non-Patent Citations (1)
Title |
---|
张欧: "智能网联汽车安全网关技术的研究与实现", 《CNKI 中国优秀硕士学位论文全文数据库 工程科技II辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116232662A (zh) * | 2022-12-26 | 2023-06-06 | 广东为辰信息科技有限公司 | 车内安全通信的计数器主从翻转处理方法 |
CN116232662B (zh) * | 2022-12-26 | 2024-03-29 | 广东为辰信息科技有限公司 | 车内安全通信的计数器主从翻转处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113037759B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6888845B2 (ja) | ソフトウェア更新装置 | |
CN108701039B (zh) | 用于无线更新车辆的软件的方法和设备 | |
US9288048B2 (en) | Real-time frame authentication using ID anonymization in automotive networks | |
US9648023B2 (en) | Vehicle module update, protection and diagnostics | |
EP2720405B1 (en) | In-Vehicle Communication System | |
CN103259837B (zh) | 路侧单元接入方法、系统及装置 | |
EP1990752B1 (en) | Vehicle control apparatus with data reprogrammable via wireless communication network | |
JP2018133744A (ja) | 通信システム、車両、および監視方法 | |
US20150305008A1 (en) | Method and apparatus for updating information regarding specific resource in wireless communication system | |
CN111886576A (zh) | 用于更新远程网络设备的方法和装置 | |
CN111949288A (zh) | 一种基于车载以太网的智能元件远程升级方法及系统 | |
CN113037759B (zh) | 适配autosar汽车电子架构的新鲜度值管理方法及装置 | |
CN113141257B (zh) | 吊销列表更新方法和存储介质 | |
JP2023519059A (ja) | ネットワークのセキュリティ手段を高めるネットワーク上におけるデータ交換のための方法およびシステムおよびその種のシステムを包含する乗り物 | |
Rosenstatter et al. | Extending AUTOSAR's Counter-Based Solution for Freshness of Authenticated Messages in Vehicles | |
CN113472620A (zh) | 一种车内消息认证新鲜值的管理方法及系统 | |
JP2017050719A (ja) | 車載ネットワークシステム | |
US10972393B2 (en) | Repeater | |
CN115296864B (zh) | 车内节点可信交互方法、装置和存储介质 | |
US9762465B2 (en) | Method and apparatus for transmitting a response to a command in wireless communication system | |
CN112913214B (zh) | 用于配置和验证对实时以太网数据网络的介入的装置 | |
CN107104868B (zh) | 一种车载网络加密通信方法及装置 | |
CN112287348B (zh) | 一种车载模块的自刷新方法和系统 | |
CN117632172A (zh) | 电子控制单元的安全更新和审计 | |
CN116939534A (zh) | 基于新鲜值验证的车载通信方法以及车载通信系统 |
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 |