CN104935434A - 使用消息验证码保护电子控制单元 - Google Patents

使用消息验证码保护电子控制单元 Download PDF

Info

Publication number
CN104935434A
CN104935434A CN201510124267.6A CN201510124267A CN104935434A CN 104935434 A CN104935434 A CN 104935434A CN 201510124267 A CN201510124267 A CN 201510124267A CN 104935434 A CN104935434 A CN 104935434A
Authority
CN
China
Prior art keywords
mac
length
ecu
predefined
vehicle
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
Application number
CN201510124267.6A
Other languages
English (en)
Other versions
CN104935434B (zh
Inventor
D.奈尔恩
T.富里斯特
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN104935434A publication Critical patent/CN104935434A/zh
Application granted granted Critical
Publication of CN104935434B publication Critical patent/CN104935434B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Abstract

本发明涉及使用消息验证码保护电子控制单元,具体地,一种使用消息验证码保护电子控制单元(ECU)的方法包括:在ECU处接收消息验证码(MAC);确定所述MAC的长度是大于或等于预定义的位值;当已经确定出所述MAC的长度等于或大于所述预定义的位值时,使所述MAC通过验证;以及当已经确定出所述MAC的长度小于所述预定义的位值时,拒绝所述MAC。

Description

使用消息验证码保护电子控制单元
技术领域
本发明涉及传送到电子控制单元(ECU)的验证数据或消息,且更具体地,涉及使用消息验证码(MAC)来验证数据或消息。
背景技术
消息验证码(MAC)可以用于验证在两个电子设备例如电子控制单元(ECU)之间传送的数据或消息。为了确保传输到ECU的数据是可信的,可以通过使用MAC算法的发送ECU来生成MAC,其是将被发送的数据和秘密密钥的函数。示例MAC算法包括HMAC、基于哈希(hash)函数的消息验证算法、和CMAC,其是一种基于块密码的消息验证算法。当用于验证ECU之间的通信时,数据与生成的MAC一起发送到接收ECU。接收ECU具有其自己的秘密密钥副本和MAC算法,接收ECU可以用于使用接收的数据、其自己的秘密密钥副本和MAC算法来计算比较MAC。当接收ECU所计算的比较MAC与其发送的MAC匹配时,接收ECU可以确定出数据和/或消息是可信的,并输出对此加以确认的“是”答案。相反,当接收ECU所计算的比较MAC与接收的MAC不匹配时,则可以输出“否”答案。在此意义上,接收ECU响应于比较MAC是否与接收的MAC匹配来输出二元的“是”或“否”。确定消息的MAC是否正确并输出二元的“是”或“否”响应的过程可以被称作MAC验证。尽管MAC验证过程可以计算正确的MAC(基于数据和适当的秘密密钥),但其不需要在验证过程之外暴露正确的MAC。因此,可以限定这样的验证过程,即,如果秘密密钥对于请求对特定消息的MAC的验证的一方是未知的,则所述验证过程将不允许正确MAC的有效生成。
发明内容
根据实施例,提供了使用消息验证码保护电子控制单元(ECU)的方法。步骤包括:在ECU处接收消息验证码(MAC);确定所述MAC的长度是大于或等于预定义的位值;当已经确定出所述MAC的长度等于或大于所述预定义的位值时,使所述MAC通过验证;以及当已经确定出所述MAC的长度小于所述预定义的位值时,拒绝所述MAC。
根据另一实施例,提供了使用消息验证码保护电子控制单元(ECU)的方法。步骤包括:在ECU处接收多个秘密密钥;对所述多个秘密密钥中的每个指定预定义的消息验证码(MAC)长度;在所述ECU处接收MAC;选择所述多个秘密密钥中的一个以验证所述MAC;将所选择的密钥的所述预定义的MAC长度与所接收的MAC的长度进行比较;当所接收的MAC的长度大于或等于对所选择的密钥指定的所述预定义的MAC长度时,使所接收的MAC通过验证;以及当所接收的MAC的长度小于对所选择的密钥指定的所述预定义的MAC长度时,拒绝所接收的MAC。
根据另一实施例,提供了使用消息验证码保护电子控制单元(ECU)的方法。步骤包括:在由车辆系统模块(VSM)使用的ECU处接收多个秘密密钥;对由所述VSM使用的所述ECU指定预定义的消息验证码(MAC)长度;在所述ECU处接收从车辆内发送的MAC;确定所述MAC的长度是否大于或等于所述ECU的所述预定义的MAC长度;当已经确定出所述MAC的长度等于或大于所述预定义的位值时,使所述MAC通过验证;以及当所述MAC的长度小于所述预定义的位值时,拒绝所述MAC。
本发明还提供如下方案:1、一种使用消息验证码保护电子控制单元(ECU)的方法,包括步骤:
(a)在ECU处接收消息验证码(MAC);
(b)确定所述MAC的长度是大于或等于预定义的位值;
(c)当已经确定出所述MAC的长度等于或大于所述预定义的位值时,使所述MAC通过验证;以及
(d)当已经确定出所述MAC的长度小于所述预定义的位值时,拒绝所述MAC。
2、根据方案1所述的方法,其特征在于,还包括将所述MAC发送到所述ECU的步骤,其中,所述MAC的传送在车辆内发生。
3、根据方案1所述的方法,其特征在于,还包括使用秘密密钥来验证所述MAC的步骤。
4、根据方案1所述的方法,其特征在于,还包括向所述ECU提供多个秘密密钥的步骤。
5、根据方案4所述的方法,其特征在于,还包括使预定义的位值与所述多个秘密密钥中的每个关联的步骤。
6、根据方案1所述的方法,其特征在于,所述MAC的长度根据随所述MAC接收的数据值来确定。
7、根据方案1所述的方法,其特征在于,还包括步骤:当已经确定出所述MAC的长度小于所述预定义的位值时,在生成比较MAC之前结束所述MAC的处理。
8、根据方案1所述的方法,其特征在于,接收的MAC被截短。
9、一种使用消息验证码保护电子控制单元(ECU)的方法,包括步骤:
(a)在ECU处接收多个秘密密钥;
(b)对所述多个秘密密钥中的每个指定预定义的消息验证码(MAC)长度;
(c)在所述ECU处接收MAC;
(d)选择所述多个秘密密钥中的一个,以验证所述MAC;
(e)将所选择的密钥的所述预定义的MAC长度与所接收的MAC的长度进行比较;
(f)当所接收的MAC的长度大于或等于对于所选择的密钥指定的所述预定义的MAC长度时,使所接收的MAC通过验证;以及
(g)当所接收的MAC的长度小于对于所选择的密钥指定的所述预定义的MAC长度时,拒绝所接收的MAC。
10、根据方案9所述的方法,其特征在于,还包括将所述MAC发送到所述ECU的步骤,其中,所述MAC的传送在车辆内发生。
11、根据方案9所述的方法,其特征在于,还包括使预定义的位值与所述多个秘密密钥中的每个关联的步骤。
12、根据方案9所述的方法,其特征在于,所接收的MAC的长度根据随所述MAC接收的数据值来确定。
13、根据方案9所述的方法,其特征在于,所接收的MAC被截短。
14、一种使用消息验证码保护电子控制单元(ECU)的方法,包括步骤:
(a)在由车辆系统模块(VSM)使用的ECU处接收多个秘密密钥;
(b)对于由所述VSM使用的所述ECU指定预定义的消息验证码(MAC)长度;
(c)在所述ECU处接收从车辆内发送的MAC;
(d)确定所述MAC的长度是否大于或等于所述ECU的所述预定义的MAC长度;
(e)当已经确定出所述MAC的长度等于或大于所述预定义的位值时,使所述MAC通过验证;以及
(f)当已经确定出所述MAC的长度小于所述预定义的位值时,拒绝所述MAC。
15、根据方案14所述的方法,其特征在于,还包括使预定义的位值与所述多个秘密密钥中的每个关联的步骤。
16、根据方案14所述的方法,其特征在于,所接收的MAC的长度根据随所述MAC接收的数据值来确定。
17、根据方案14所述的方法,其特征在于,所接收的MAC被截短。
附图说明
下面将结合附图描述本发明的一个或多个实施例,其中,相同的标号指示相同的部件,其中:
图1是描绘出能够利用在此公开的方法的通信系统的实施例的框图;以及
图2是描绘出使用对称密钥加密来保护电子控制单元(ECU)的方法的一个实施例的流程图。
具体实施方式
下面描述的系统和方法以在接收ECU中经由消息验证码(MAC)验证过程的逐位询问防止正确MAC的有效重构的方式使用消息验证码来保护电子控制单元(ECU)。有时,由发送ECU生成的MAC过大或者包括将被传输到接收ECU的太多位。特定消息验证码算法的加密性质允许发送ECU将发送的MAC的长度截短,从而其仅包括原始MAC的子集,例如最高有效位。当截短发生时,发送ECU可以随截短的MAC包括指定以位测量的MAC的截短长度的指示或指示符。然后,接收ECU可以被指示以在其MAC验证过程中使用特定的截短长度,即,当将计算的MAC(其将始终是MAC算法的全部长度)与已经被截短的接收的MAC进行比较时仅比较总MAC长度的特定长度子集。
然而,当接收ECU接受与MAC的长度有关的指示时,其可以准许攻击者或发送者有效地询问接收ECU并发现消息的MAC,即使攻击者不知道正确的MAC或秘密密钥。这可以通过生成具有MAC长度已经被截短到一位的指示的一位MAC来完成。在接收到一位MAC之后,如果位是正确的,则接收ECU随后输出“是”,或者如果位不是正确的,则输出“否”。不管攻击者是否猜到正确的位值,攻击者基于来自接收ECU的响应将确定地知道该特定位的MAC值。如果接收ECU输出“是”,则攻击者知道他猜对了。即使输出是“否”,攻击者改变位的二元值,而现在则具有MAC的该部分的正确值。攻击者可以随后向接收ECU发送另一MAC,具有MAC已经被截短到两位的指示。由攻击者发送的该MAC现在具有第一位的正确值,并试图确定第二位的正确值。再次,不管由接收ECU生成的是/否输出,攻击者可以随后获知第二位的值。攻击者可以对MAC的剩余位重复此过程,直到他已发现用于有效MAC的所有位值为止。
接收ECU可以被编程为将接收的MAC的位长度与预定义的最小消息验证码(MAC)长度或预定的位值进行比较,并且在其位长度不同于或大于在ECU处编程的预定义的最小MAC长度的长度或值时拒绝MAC。当预定义的MAC长度比一位或若干位(例如,≥16位)长时,攻击者必须从与可以指定一位(1位=2个可能的选择)时相比更大的可能的选择池(16位=216个可能的选择=65,536)中正确地进行猜测。这样的系统可以防止攻击者每次一位地询问接收ECU,而是迫使攻击者同时正确地猜到多个位值,这比猜到一个位值困难得多。
参照图1,示出了包括移动车辆通信系统10且可以用于实现在此公开的方法的操作环境。通信系统10大体包括车辆12、一个或多个无线载波系统14、地面通信网络16、计算机18和呼叫中心20。应该理解,公开的方法可以与任何数量的不同系统一起使用,并且不被具体地限制到在此示出的操作环境。另外,系统10的架构、结构、设置和操作以及其各个组件在本领域通常是已知的。因此,下面的段落仅提供一种这样的通信系统10的简要概述;然而,在此没有示出的其他系统也可以采用所公开的方法。
在示出的实施例中将车辆12描述为客车,但是应该理解,也可以使用任何其他交通工具,包括摩托车、卡车、运动型多功能车(SUV)、休闲车(RV)、船只、航空器等。图1中大体示出一些车辆电子设备28,其包括远程信息处理单元30、麦克风32、一个或多个按钮或其他控制输入34、音频系统36、可视显示器38和GPS模块40以及多个车辆系统模块(VSM)42。这些设备的一些可以直接连接到远程信息处理单元,例如,麦克风32和(多个)按钮34,而其他使用一个或多个网络连接诸如通信总线44或娱乐总线46被间接连接。适当的网络连接的示例包括控制器区域网络(CAN)、媒体导向系统传输(MOST)、本地互连网络(LIN)、局域网(LAN)和其他适当连接,诸如以太网或符合已知ISO、SAE和IEEE标准和规范的其他,仅列出一些。
远程信息处理单元30可以是OEM安装(嵌入)的或后继市场的设备,其安装在车辆中并且赋予在无线载波系统14上和通过无线联网的无线语音和/或数据通信。这使得车辆能够与呼叫中心20、其他远程信息处理使能的车辆或一些其他实体或设备进行通信。远程信息处理单元优选地使用无线电传输来建立与无线载波系统14的通信信道(语音信道和/或数据信道),使得能够通过信道发送和接收语音和/或数据传输。通过提供语音和数据通信,远程信息处理单元30使得车辆能够提供多种不同服务,包括与导航、电话、紧急援助、诊断、信息娱乐等相关的服务。可以使用本领域中已知的技术通过数据连接诸如通过数据信道的分组数据传输或者通过语音信道发送数据。对于包括语音通信(例如,在呼叫中心20使用在线指导或语音响应单元)和数据通信(例如,以向呼叫中心20提供GPS位置数据或车辆诊断数据)的组合服务,系统可以使用通过语音信道的单独呼叫以及按照需要在语音信道上进行语音和数据传输之间的切换,并且这可以使用本领域技术人员已知的技术来实施。
根据一个实施例,远程信息处理单元30使用根据GSM或CDMA标准的蜂窝通信,因此包括用于语音通信(例如,免提呼叫)的标准蜂窝芯片组50、用于数据传输的无线调制解调器、电子处理设备52、一个或多个数字存储设备54和双天线56。应该理解,可以通过存储在远程信息处理单元中且通过处理器52执行的软件实现调制解调器,或者调制解调器可以是位于远程信息处理单元30内部或外部的分立硬件组件。调制解调器可以使用任何数量的不同标准或协议诸如EVDO、CDMA、GPRS和EDGE来运行。也可以使用远程信息处理单元30实施车辆与其他联网的设备之间的无线联网。为此,远程信息处理单元30可以被配置为根据一个或多个无线协议诸如IEEE 802.11协议、WiMAX或蓝牙中的任一个进行无线通信。当用于诸如TCP/IP的分组交换数据通信时,远程信息处理单元可以配置有静态IP地址或者能够设置为自动接收来自网络上的另一设备诸如路由器或者来自网络地址服务器的所分配的IP地址。
处理器52可以是能够处理电子指令的任何类型的设备,包括微处理器、微控制器、主处理器、控制器、车辆通信处理器、电子控制单元(ECU)和专用集成电路(ASIC)。其可以是仅用于远程信息处理单元30的专用处理器,或者可以与其他车辆系统共享。处理器52执行各种类型的数字存储指令,诸如存储器54中存储的软件或固件程序,其使远程信息处理单元能够提供多种类型的服务。例如,处理器52能够执行程序或处理数据,以实施在此讨论的方法的至少一部分。
远程信息处理单元30可以用于提供多元化的车辆服务,包括来自车辆的无线通信和/或到车辆的无线通信。这些服务包括:结合基于GPS的车辆导航模块40提供的转向和其他导航相关服务;结合一个或多个碰撞传感器接口模块诸如车身控制模块(未示出)提供的安全气囊展开通知和其他紧急或路边援助相关的服务;使用一个或多个诊断模块的诊断报告;以及信息娱乐相关服务,其中,音乐、网页、电影、电视节目、视频游戏和/或其他信息通过信息娱乐模块(未示出)下载且存储用于当前或以后播放。上述列出的服务不是远程信息处理单元30的所有能力的详尽列表,而是仅是远程信息处理单元能够提供的一些服务的列举。此外,应该理解,上述模块的至少一部分可以按照所存储的内部于或外部于远程信息处理单元30的软件指令的形式来实施,它们可以是位于远程信息处理单元30内部或外部的硬件组件,或者它们可以彼此之间或者与车辆内的其他系统集成和/或共享,仅阐述了几种可能性。在将模块实施为位于远程信息处理单元30外部的VSM 42的情况下,它们可以使用车辆总线44以与远程信息处理单元交换数据和指令。
GPS模块40从GPS卫星的星座60接收无线电信号。根据这些信号,模块40可以确定车辆位置,其用于向车辆驾驶员提供导航和其他位置相关服务。导航信息可以在显示器38(或者车辆内的其他显示器)上呈现,或者可以口头表示,诸如当提供转向导航时这样做。可以使用专用的车辆中的导航模块(其可以是GPS模块40的一部分)提供导航服务,或者可以通过远程信息处理单元30完成部分或全部导航服务,其中,为了向车辆提供导航地图、地图标注(感兴趣的点、餐馆等)、路线计算等,向远程位置发送位置信息。为了其他目的,诸如车队管理,位置信息可以提供给呼叫中心20或其他远程计算机系统,诸如计算机18。另外,可以通过远程信息处理单元30将新的或更新的地图数据从呼叫中心20下载到GPS模块40。
除了音频系统36和GPS模块40之外,车辆12可以包括电子硬件组件形式的其他车辆系统模块(VSM)42,其位于车辆内且通常从一个或多个传感器接收输入且使用感测的输入执行诊断、监控、控制、报告和/或其他功能。优选地,每个VSM 42通过通信总线44连接到其他VSM以及连接到远程信息处理单元30,并且可以被编程以运行车辆系统和子系统诊断测试。作为示例,一个VSM 42可以是发动机控制模块(ECM),其控制发动机操作的各个方面,诸如燃料点火和点火正时,另一VSM 42可以是动力系控制模块,其调整车辆动力系的一个或多个组件的操作,而另一VSM 42可以是车身控制模块,其管理位于车辆内的各个电子组件,例如,车辆的电动门锁和前灯。VSM 42的功能可以通过随VSM 42所包括的一个或多个ECU来执行。根据一个实施例,发动机控制模块配备有车载诊断(OBD)特征,其提供诸如从包括车辆排放传感器的各种传感器接收到的各种实时数据,并且提供标准化的一系列诊断故障码(DTC),其允许技术人员快速识别和修理车辆内的故障。如本领域的技术人员所知,上述VSM仅是可以在车辆12中使用的一些模块的示例,因为许多其他模块也是可行的。
车辆电子设备28还包括多个车辆用户接口,其向车辆占用者提供用于提供和/或接收信息的装置,包括麦克风32、(多个)按钮34、音频系统36和可视显示器38。如在此使用的,术语“车辆用户接口”广泛地包括任何适当形式的电子设备,包括硬件和软件组件,其位于车辆上且使车辆用户能够与车辆的组件通信或者通过车辆的组件进行通信。麦克风32向远程信息处理单元提供音频输入,以使驾驶员或其他占用者能够通过无线载波系统14提供语音指令和实施免提呼叫。为此,其可以利用本领域中已知的人机接口(HMI)技术连接到车载自动语音处理单元。(多个)按钮34允许到远程信息处理单元30的手动用户输入,以启动无线电话呼叫和提供其他数据、响应或控制输入。分立的按钮可以使用以便向呼叫中心20发起紧急呼叫和常规服务援助呼叫。音频系统36向车辆占用者提供音频输出,并且可以是专用独立系统或者是主车辆音频系统的一部分。根据这里示出的具体实施例,音频系统36操作地联接到车辆总线44和娱乐总线46,并能够提供AM、FM和卫星无线电、CD、DVD和其他多媒体功能。此功能可以结合或者独立于上述信息娱乐模块来提供。可视显示器38优选地是图形显示器,诸如仪表板上的触摸屏或者挡风玻璃反射的抬头显示器,并且可以用于提供多种输入和输出功能。也可以使用各种其他车辆用户接口,因为图1的接口仅是一种具体实施方案的示例。
无线载波系统14优选地是蜂窝电话系统,其包括多个蜂窝塔(cell tower)70(仅示出一个),一个或多个移动交换中心(MSC)72以及将无线载波系统14与地面网络16连接所需的任何其他联网组件。每个蜂窝塔70包括发送和接收天线以及基站,其中,来自不同蜂窝塔的基站直接地连接到MSC 72或者通过诸如基站控制器的中间设备连接到MSC72。蜂窝系统14可以实施任何适当的通信技术,例如,包括诸如AMPS的模拟技术,或者诸如CDMA(例如,CDMA2000)或GSM/GPRS的较新的数字技术。如本领域的技术人员将理解的,各种蜂窝塔/基站/MSC布置是可行的,并且可以与无线系统14一起使用。例如,基站和蜂窝塔可以共同位于相同站点,或者它们可以彼此远离,每个基站可以负责单个蜂窝塔或者单个基站可以服务于各个蜂窝塔,以及各个基站可以联接到单个MSC,仅列出一些可行布置。
除了使用无线载波系统14之外,可以使用卫星通信形式的不同的无线载波系统,以向车辆提供单向或双向通信。这可以使用一个或多个通信卫星62和上行链路发射站64来实施。例如,单向通信可以是卫星无线电服务,其中,节目内容(新闻、音乐等)由发射站64接收、被打包用于上载、然后发送到卫星62,卫星62向用户广播节目。例如,双向通信可以是使用卫星62的卫星电话服务,以在车辆12与站64之间中继电话通信。如果使用,则额外于无线载波系统14或者代替无线载波系统14,可以使用这种卫星电话。
地面网络16可以是常规的基于地面的电信网络,其连接到一个或多个有线电话并且将无线载波系统14连接到呼叫中心20。例如,地面网络16可以包括公共交换电话网(PSTN),诸如用于提供硬线电话、分组交换数据通信和因特网基础设施。可以通过使用标准有线网络、光纤或其他光学网络、电缆网络、电源线、诸如无线局域网(WLAN)的其他无线网络或者提供宽带无线接入(BWA)的网络或者其任意组合来实施一段或多段地面网络16。此外,呼叫中心20不需要通过地面网络16连接,而是可以包括无线电话设备,从而它可以与无线网络诸如无线载波系统14直接通信。
计算机18可以是通过私有或公共网络诸如因特网可访问的多个计算机之一。每个这种计算机18可以用于一种或多种目的,诸如通过远程信息处理单元30和无线载波14可由车辆访问的web服务器。例如,其他这种可访问的计算机18可以是:服务中心计算机,其中,可以通过远程信息处理单元30从车辆上载诊断信息和其他车辆数据;客户机计算机,其可由车辆拥有者或其他用户使用以便如访问或接收车辆数据或者设置或配置用户喜好或控制车辆功能的目的;或者第三方存储器,无论通过与车辆12或呼叫中心20或这两者通信,车辆数据或其他信息被提供到所述第三方存储器或从所述第三方存储器提供。计算机18还可以用于提供因特网连接,诸如DNS服务或者作为网络地址服务器,其使用DHCP或其他适当协议以向车辆12分配IP地址。
呼叫中心20被设计成向车辆电子设备28提供多个不同系统后端功能,并且根据在此示出的示例性实施例,大体包括一个或多个交换机80、服务器82、数据库84、在线指导者86以及自动语音响应系统(VRS)88,所有这些都是本领域已知的。这些各种呼叫中心组件优选地通过有线或无线局域网90彼此联接。交换机80,其可以是专用交换(PBX)交换机,路由进入信号,使得语音传输通常通过常规电话发送到在线指导者86或者使用VoIP发送到自动语音响应系统88。在线指导者电话也可以使用VoIP,如图1的虚线所指示。通过交换机80的VoIP和其他数据通信通过在交换机80与网络90之间连接的调制解调器(未示出)来实施。数据传输经由调制解调器传到服务器82和/或数据库84。数据库84可以存储账户信息,诸如用户认证信息、车辆标识、个人资料记录、行为模式和其他相关用户信息。还可以通过无线系统,诸如802.11x、GPRS等进行数据传输。尽管所示实施例被描述为它将通过利用在线指导者86结合人工呼叫中心20而使用,但是将明白,呼叫中心可以使用VRS 88作为自动指导者,或者可以使用VRS 88与在线指导者86的组合。
现在转向图2,示出了使用消息验证码来保护电子控制单元(ECU)的方法200。将根据MAC在两个ECU之间的车内传输来描述方法200。在如何实现此的一个示例中,车辆远程信息处理单元30可以用作发送ECU,而VSM 42可以用作接收ECU。这样,可以完全地在车辆12内实施通信。然而,位于车辆12内或外的其它电子设备可以用作发送和接收ECU,并可以用于执行在此描述的方法。发送ECU和接收ECU可以加载有秘密密钥和MAC算法,其用于创建可用于验证随MAC发送的数据或消息的MAC。秘密密钥可以是作为对MAC算法的输入的加密数据的独特片段(piece)。秘密密钥可以在发送ECU处与将被发送的数据或消息一起输入到MAC算法中。然后,在发送ECU处的MAC算法可以生成或输出MAC,以将数据或消息发送到接收ECU。然后,接收ECU可以使用其接收的数据或消息与秘密密钥的副本一起来确定数据或消息的真实性。当在接收ECU处将数据或消息与秘密密钥一起供给到MAC算法中时,可以创建比较MAC。如果在接收ECU处生成的比较MAC与所接收的由发送ECU生成的MAC匹配,则数据或消息可以被接收ECU视为有效的。否则,如果比较MAC与接收的MAC不匹配,则数据或消息可以被确定为无效的。
方法200通过在ECU处接收多个秘密密钥并对多个秘密密钥中的每个指定预定义的消息验证码(MAC)长度而在步骤210处开始。预定义的MAC长度可以是表示MAC所包括的有效且可接受的位数的预定位值。如所实施的,预定义的MAC长度可以是16位、32位或更多。当在ECU处建立预定义的MAC长度时,其可以作为值保存在非易失性存储器中,从而ECU的处理能力通过使用应用编程接口(API)访问所述值并将其与在接收ECU处接收的MAC的长度进行比较。在该示例中,预定义的MAC长度可以是应用于接收的全部MAC的全程值。但其他实施方案可以被配置为将预定义的MAC长度仅应用于已确定为被截短的MAC。例如,一些MAC可以最初作为128位存在,但随后被截短为小于128位的某一值。当MAC从发送ECU发送时,MAC可以包括表示MAC所包括的位数的数据值。然后,接收ECU可以使用数据值识别其接收的MAC的长度。
另外,尽管已经将ECU描述为具有一个秘密密钥,但每个ECU(发送和接收ECU二者)可以存储多个秘密密钥。并且,在一些实施方案中,每个秘密密钥可以与其自己的预定义的MAC长度关联,而不是使用用于全部密钥的全程MAC长度。因此,预定义的MAC长度可以彼此不同。例如,在一个实施方案中,秘密密钥1-20可以存储在发送和接收ECU中的每个中。秘密密钥可以均与指示使用哪一个密钥的索引值和预定义的MAC长度关联。然后,发送ECU可以选择可与32位的MAC长度关联的一个密钥,例如密钥7。然后,发送ECU可以使用密钥7和将被发送的数据或消息来创建MAC。然后,发送ECU将创建的MAC与对于接收ECU指示选择密钥7的索引值一起随同数据或消息发送到接收ECU。使用车辆远程信息处理单元30和VSM 42作为示例ECU,由发送ECU(例如,车辆远程信息处理单元30)创建的MAC以及数据可以经由通信总线44传输。方法200前进至步骤220。
在步骤220处,在ECU处接收MAC,并选择多个秘密密钥中的一个来验证MAC。当由发送ECU创建的MAC到达接收ECU时,其可以确定应当选择哪一个密钥来验证MAC。继续以上示例,接收ECU可以读取伴随MAC的指示接收ECU选择密钥7的指示或索引值,从而创建比较MAC。当接收MAC选择密钥7时,接收ECU还可以读取与密钥7关联的MAC长度,在这种情况下为32位。现在,接收ECU可以检查以确保接收的MAC即使被截短也不小于32位。尽管方法200已经被描述为使用20个不同的秘密密钥,但应当明白的是,可以实现在发送和接收ECU处使用单个秘密密钥或不同数量的秘密密钥的系统。并且,除了使用的密钥数量之外,方法200还可以包括用于代替在发送和接收ECU中存储的一个或多个秘密密钥的保护机制。秘密密钥可以通过与ECU的直线连接来代替,或者可以例如从呼叫中心20无线地发送到车辆远程信息处理单元30。方法200前进至步骤230。
在步骤230处,将用于选定密钥的预定义的MAC长度与接收的MAC的长度进行比较。当接收的MAC的长度大于或等于对选定密钥指定的预定义的MAC长度时,接收的MAC可以通过验证。在从发送ECU接收到MAC之后,接收ECU可以读取MAC并确定构成MAC的位的数量。此时,接收ECU可以确定出MAC太短并停止进一步处理。或者,接收ECU可以确定出接收的MAC太长,然后创建比较MAC,以确定伴随的数据或消息是否是可信的。在一些实施方案中,仅当接收ECU确定出接收的MAC已经被截短时,ECU可以将接收的MAC的长度与预定的MAC长度进行比较。然而,在其他实施方案中,每当接收ECU接收到MAC时,不管是否已经确定出其被截短,仍可以进行确定。然后,将确定出的接收的MAC的位数与全程地应用于接收的全部MAC的预定的MAC长度或者与和用于创建接收的比较MAC的密钥关联的预定的MAC长度进行比较。当接收的MAC的长度等于或大于预定的MAC长度时,接收ECU可以继续处理MAC,以确定其是否与比较MAC匹配。然而,如果接收的MAC的长度小于预定的MAC长度,则接收ECU可以拒绝接收的MAC,确定出接收的数据或消息是不可信的,并且方法200可以结束。然后,方法200结束。
应理解,上面是本发明的一个或多个实施例的描述。本发明不限于在此公开的(多个)具体实施例,而是仅由下面的权利要求限定。此外,上述描述中包含的陈述涉及具体实施例,并且不被解释为限制本发明的范围或者限制权利要求中使用的术语的定义,除非其中上面明确限定术语或短语。各种其它实施例以及对所公开的(多个)实施例的各种改变和修改对于本领域的技术人员将是明显的。所有这些其它实施例、改变和修改意在落入所附权利要求的范围内。
如在此说明书和权利要求中所使用,当结合一个或多个组件或其它项的列表使用时,术语“例如”,“举例”,“比如”,“诸如”,“等”和“类似物”以及动词“包括”,“具有”,“包含”以及它们的其它动词形式,每个被解释为开放式,意味着所述列表不被认为是排除其它的、额外的组件或项。其它术语被解释为使用它们的最广泛的合理含义,除非它们使用在需要不同的解释的背景中。

Claims (10)

1.一种使用消息验证码保护电子控制单元(ECU)的方法,包括步骤:
(a)在ECU处接收消息验证码(MAC);
(b)确定所述MAC的长度是大于或等于预定义的位值;
(c)当已经确定出所述MAC的长度等于或大于所述预定义的位值时,使所述MAC通过验证;以及
(d)当已经确定出所述MAC的长度小于所述预定义的位值时,拒绝所述MAC。
2.根据权利要求1所述的方法,其特征在于,还包括将所述MAC发送到所述ECU的步骤,其中,所述MAC的传送在车辆内发生。
3.根据权利要求1所述的方法,其特征在于,还包括使用秘密密钥来验证所述MAC的步骤。
4.根据权利要求1所述的方法,其特征在于,还包括向所述ECU提供多个秘密密钥的步骤。
5.根据权利要求4所述的方法,其特征在于,还包括使预定义的位值与所述多个秘密密钥中的每个关联的步骤。
6.根据权利要求1所述的方法,其特征在于,所述MAC的长度根据随所述MAC接收的数据值来确定。
7.根据权利要求1所述的方法,其特征在于,还包括步骤:当已经确定出所述MAC的长度小于所述预定义的位值时,在生成比较MAC之前结束所述MAC的处理。
8.根据权利要求1所述的方法,其特征在于,接收的MAC被截短。
9.一种使用消息验证码保护电子控制单元(ECU)的方法,包括步骤:
(a)在ECU处接收多个秘密密钥;
(b)对所述多个秘密密钥中的每个指定预定义的消息验证码(MAC)长度;
(c)在所述ECU处接收MAC;
(d)选择所述多个秘密密钥中的一个,以验证所述MAC;
(e)将所选择的密钥的所述预定义的MAC长度与所接收的MAC的长度进行比较;
(f)当所接收的MAC的长度大于或等于对于所选择的密钥指定的所述预定义的MAC长度时,使所接收的MAC通过验证;以及
(g)当所接收的MAC的长度小于对于所选择的密钥指定的所述预定义的MAC长度时,拒绝所接收的MAC。
10.一种使用消息验证码保护电子控制单元(ECU)的方法,包括步骤:
(a)在由车辆系统模块(VSM)使用的ECU处接收多个秘密密钥;
(b)对于由所述VSM使用的所述ECU指定预定义的消息验证码(MAC)长度;
(c)在所述ECU处接收从车辆内发送的MAC;
(d)确定所述MAC的长度是否大于或等于所述ECU的所述预定义的MAC长度;
(e)当已经确定出所述MAC的长度等于或大于所述预定义的位值时,使所述MAC通过验证;以及
(f)当已经确定出所述MAC的长度小于所述预定义的位值时,拒绝所述MAC。
CN201510124267.6A 2014-03-21 2015-03-20 使用消息验证码保护电子控制单元 Active CN104935434B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/221831 2014-03-21
US14/221,831 US9425963B2 (en) 2014-03-21 2014-03-21 Securing electronic control units using message authentication codes

Publications (2)

Publication Number Publication Date
CN104935434A true CN104935434A (zh) 2015-09-23
CN104935434B CN104935434B (zh) 2018-11-09

Family

ID=54053750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510124267.6A Active CN104935434B (zh) 2014-03-21 2015-03-20 使用消息验证码保护电子控制单元

Country Status (3)

Country Link
US (1) US9425963B2 (zh)
CN (1) CN104935434B (zh)
DE (1) DE102015103550A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107422717A (zh) * 2016-04-26 2017-12-01 霍尼韦尔国际公司 运载工具安全模块系统
CN109314640A (zh) * 2016-08-29 2019-02-05 Kddi株式会社 车辆信息收集系统、车载计算机、车辆信息收集装置、车辆信息收集方法以及计算机程序
CN110024324A (zh) * 2016-09-23 2019-07-16 苹果公司 网络通信业务的安全传送
CN114499831A (zh) * 2020-11-13 2022-05-13 丰田自动车株式会社 车辆通信系统、通信方法以及记录有通信程序的记录介质

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9705678B1 (en) * 2014-04-17 2017-07-11 Symantec Corporation Fast CAN message authentication for vehicular systems
US9509665B2 (en) * 2014-08-11 2016-11-29 Alcatel Lucent Protecting against malicious modification in cryptographic operations
JP6345157B2 (ja) * 2015-06-29 2018-06-20 クラリオン株式会社 車載情報通信システム及び認証方法
EP3348036B1 (en) * 2015-09-10 2022-05-11 Robert Bosch GmbH Unauthorized access event notificaiton for vehicle electronic control units
US10361934B2 (en) * 2015-09-28 2019-07-23 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
DE102016206630A1 (de) * 2016-04-20 2017-11-09 Robert Bosch Gmbh Verfahren und Vorrichtung zur Vermeidung von Manipulation einer Datenübertragung
EP3512174A4 (en) 2016-09-12 2020-04-29 LG Electronics Inc. -1- COMMUNICATION SYSTEM
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10630481B2 (en) 2016-11-07 2020-04-21 Ford Global Technologies, Llc Controller area network message authentication
US10560263B2 (en) * 2017-03-24 2020-02-11 Micron Technology, Inc. Secure memory arrangements
US10608822B2 (en) 2017-04-26 2020-03-31 Nxp B.V. Efficient calculation of message authentication codes for related data
US10652256B2 (en) * 2017-06-20 2020-05-12 International Business Machines Corporation Real-time active threat validation mechanism for vehicle computer systems
US10701102B2 (en) * 2017-10-03 2020-06-30 George Mason University Hardware module-based authentication in intra-vehicle networks
JP7037748B2 (ja) * 2018-01-26 2022-03-17 トヨタ自動車株式会社 電子制御ユニット及び接続認証方法
US11354406B2 (en) * 2018-06-28 2022-06-07 Intel Corporation Physics-based approach for attack detection and localization in closed-loop controls for autonomous vehicles
DE102019105246A1 (de) * 2019-03-01 2020-09-03 Infineon Technologies Ag Authentifizierungscode-überprüfungseinrichtung und verfahren zum überprüfen eines authentifizierungscodeworts
US10951415B2 (en) * 2019-03-13 2021-03-16 Digital 14 Llc System, method, and computer program product for implementing zero round trip secure communications based on noisy secrets with a polynomial secret sharing scheme
US10892891B2 (en) * 2019-03-13 2021-01-12 Digital 14 Llc System, method, and computer program product for zero round trip secure communications based on two noisy secrets
US11329983B2 (en) * 2019-03-25 2022-05-10 Micron Technology, Inc. Validating an electronic control unit of a vehicle
JP7156257B2 (ja) * 2019-11-21 2022-10-19 トヨタ自動車株式会社 車両通信装置、通信異常の判定方法及びプログラム
US20220158843A1 (en) * 2020-11-13 2022-05-19 Ford Global Technologies, Llc Diagnostic over ip authentication
US11728985B2 (en) * 2021-01-14 2023-08-15 GM Global Technology Operations LLC Fault tolerant provisioning verification for cryptographic keys
US11850968B2 (en) 2021-03-23 2023-12-26 Ford Global Technologies, Llc Electrified vehicle control based on validated battery cell voltages compressed and encrypted using artificial intelligence
US11804962B2 (en) 2021-04-29 2023-10-31 GM Global Technology Operations LLC System and method for establishing an in-vehicle cryptographic manager

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169658A1 (en) * 2008-12-30 2010-07-01 Lahouari Ghouti Elliptic curve-based message authentication code
JP2013098719A (ja) * 2011-10-31 2013-05-20 Toyota Infotechnology Center Co Ltd 通信システムにおけるメッセージ認証方法および通信システム
CN103297220A (zh) * 2012-03-01 2013-09-11 通用汽车环球科技运作有限责任公司 在车辆中的设备之间建立通信的方法
CN103379170A (zh) * 2012-04-11 2013-10-30 通用汽车有限责任公司 处理在车辆上接收到的消息

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60025901T2 (de) * 2000-01-11 2006-08-24 International Business Machines Corp. Verfahren und Vorrichtung zur Markierung eines Textdokuments mit einem Muster von zusätzlichen Leerstellen zum Zweck der Authentifizierung
GB0103416D0 (en) * 2001-02-12 2001-03-28 Nokia Networks Oy Message authentication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169658A1 (en) * 2008-12-30 2010-07-01 Lahouari Ghouti Elliptic curve-based message authentication code
JP2013098719A (ja) * 2011-10-31 2013-05-20 Toyota Infotechnology Center Co Ltd 通信システムにおけるメッセージ認証方法および通信システム
CN103297220A (zh) * 2012-03-01 2013-09-11 通用汽车环球科技运作有限责任公司 在车辆中的设备之间建立通信的方法
CN103379170A (zh) * 2012-04-11 2013-10-30 通用汽车有限责任公司 处理在车辆上接收到的消息

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107422717A (zh) * 2016-04-26 2017-12-01 霍尼韦尔国际公司 运载工具安全模块系统
CN107422717B (zh) * 2016-04-26 2021-10-19 盖瑞特交通一公司 运载工具安全模块系统
CN109314640A (zh) * 2016-08-29 2019-02-05 Kddi株式会社 车辆信息收集系统、车载计算机、车辆信息收集装置、车辆信息收集方法以及计算机程序
CN109314640B (zh) * 2016-08-29 2021-11-12 Kddi株式会社 车辆信息收集系统、车载计算机、车辆信息收集装置、车辆信息收集方法以及记录介质
US11265170B2 (en) 2016-08-29 2022-03-01 Kddi Corporation Vehicle information collection system, vehicle-mounted computer, vehicle information collection device, vehicle information collection method, and computer program
CN110024324A (zh) * 2016-09-23 2019-07-16 苹果公司 网络通信业务的安全传送
CN114499831A (zh) * 2020-11-13 2022-05-13 丰田自动车株式会社 车辆通信系统、通信方法以及记录有通信程序的记录介质
CN114499831B (zh) * 2020-11-13 2023-12-12 丰田自动车株式会社 车辆通信系统、通信方法以及记录有通信程序的记录介质

Also Published As

Publication number Publication date
US9425963B2 (en) 2016-08-23
CN104935434B (zh) 2018-11-09
US20150270968A1 (en) 2015-09-24
DE102015103550A1 (de) 2015-09-24

Similar Documents

Publication Publication Date Title
CN104935434A (zh) 使用消息验证码保护电子控制单元
CN103297220B (zh) 在车辆中的设备之间建立通信的方法
US9179311B2 (en) Securing vehicle service tool data communications
US8321524B2 (en) Method for obtaining electronic vehicle identification number (VIN)
US8761390B2 (en) Production of cryptographic keys for an embedded processing device
US8145379B2 (en) System and method for communicating vehicle diagnostic data
US8464068B2 (en) Electronic module update detection
US8731155B2 (en) Method for remotely controlling vehicle features
CN108306940B (zh) 用于电器激活传输的信息的远程修改的方法和系统
US9445447B2 (en) Pairing a wireless devices within a vehicle
CN103379170B (zh) 处理在车辆上接收到的消息
US20090248222A1 (en) Vehicle slowdown control via short range wireless communication
US9767065B2 (en) Dynamic vehicle bus subscription
CN104917606B (zh) 用于控制对电子控制单元进行访问的密码加密
US20150063329A1 (en) Selective vehicle wi-fi access
US20090171684A1 (en) Enhanced on-demand diagnostic and maintenance reporting
CN102347978B (zh) 识别远程呼叫的方法
CN103167447B (zh) 验证在车辆与中央设施之间发送的消息
CN104796924A (zh) 使用无线设备管理传统wi-fi和wi-fi直接连接
CN103826322A (zh) 移动终端分组连接
CN104883678A (zh) 安全sms消息处理
CN105005539B (zh) 使用消息鉴别码在微控制器处鉴别数据
US20140199965A1 (en) Preventing unauthorized use of vehicle wireless services
CN110062350A (zh) 对所连接的车辆外围设备的安全访问
CN107949034B (zh) 统一的车载式Wi-Fi服务

Legal Events

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