CN104935434B - 使用消息验证码保护电子控制单元 - Google Patents
使用消息验证码保护电子控制单元 Download PDFInfo
- Publication number
- CN104935434B CN104935434B CN201510124267.6A CN201510124267A CN104935434B CN 104935434 B CN104935434 B CN 104935434B CN 201510124267 A CN201510124267 A CN 201510124267A CN 104935434 B CN104935434 B CN 104935434B
- Authority
- CN
- China
- Prior art keywords
- mac
- ecu
- length
- received
- predefined
- 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
Links
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/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
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
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 (16)
1.一种使用消息验证码保护电子控制单元ECU的方法,包括步骤:
(a)在ECU处接收消息验证码MAC;
(b)在ECU处将所述MAC的长度与预定义的位值相比较;
(c)当已经确定出所述MAC的长度小于所述预定义的位值时,结束所接收的MAC的进一步处理;以及
(d)当已经确定出所述MAC的长度等于或大于所述预定义的位值时,产生比较MAC以确定伴随MAC的数据是否是可信的。
2.根据权利要求1所述的方法,其特征在于,还包括将所述MAC发送到所述ECU的步骤,其中,所述MAC的传送在车辆内发生。
3.根据权利要求1所述的方法,其特征在于,还包括使用秘密密钥来验证所述MAC的步骤。
4.根据权利要求1所述的方法,其特征在于,还包括向所述ECU提供多个秘密密钥的步骤。
5.根据权利要求4所述的方法,其特征在于,还包括使预定义的位值与所述多个秘密密钥中的每个关联的步骤。
6.根据权利要求1所述的方法,其特征在于,所述MAC的长度根据随所述MAC接收的数据值来确定。
7.根据权利要求1所述的方法,其特征在于,接收的MAC被截短。
8.一种使用消息验证码保护电子控制单元ECU的方法,包括步骤:
(a)在ECU处接收多个秘密密钥;
(b)对所述多个秘密密钥中的每个指定预定义的消息验证码MAC长度;
(c)在所述ECU处接收MAC;
(d)选择所述多个秘密密钥中的一个,以验证所述MAC;
(e)将所选择的密钥的所述预定义的MAC长度与所接收的MAC的长度进行比较;
(f)当所接收的MAC的长度小于对于所选择的密钥指定的所述预定义的MAC长度时,结束所接收的MAC的进一步处理;以及
(g)当已经确定出所述MAC的长度等于或大于所述预定义的位值时,产生比较MAC以确定伴随数据是否是可信的。
9.根据权利要求8所述的方法,其特征在于,还包括将所述MAC发送到所述ECU的步骤,其中,所述MAC的传送在车辆内发生。
10.根据权利要求8所述的方法,其特征在于,还包括使预定义的位值与所述多个秘密密钥中的每个关联的步骤。
11.根据权利要求8所述的方法,其特征在于,所接收的MAC的长度根据随所述MAC接收的数据值来确定。
12.根据权利要求8所述的方法,其特征在于,所接收的MAC被截短。
13.一种使用消息验证码保护电子控制单元ECU的方法,包括步骤:
(a)在由车辆系统模块VSM使用的ECU处接收多个秘密密钥;
(b)对于由所述VSM使用的所述ECU指定预定义的消息验证码MAC长度;
(c)在所述ECU处接收从车辆内发送的MAC;
(d)确定所述MAC的长度是否大于或等于所述ECU的所述预定义的MAC长度;
(e)当已经确定出所述MAC的长度小于所述预定义的位值时,结束所接收的MAC的进一步处理;以及
(f)当已经确定出所述MAC的长度等于或大于所述预定义的位值时,产生比较MAC以确定伴随数据是否是可信的。
14.根据权利要求13所述的方法,其特征在于,还包括使预定义的位值与所述多个秘密密钥中的每个关联的步骤。
15.根据权利要求13所述的方法,其特征在于,所接收的MAC的长度根据随所述MAC接收的数据值来确定。
16.根据权利要求13所述的方法,其特征在于,所接收的MAC被截短。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/221,831 US9425963B2 (en) | 2014-03-21 | 2014-03-21 | Securing electronic control units using message authentication codes |
US14/221831 | 2014-03-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104935434A CN104935434A (zh) | 2015-09-23 |
CN104935434B true 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) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792440B1 (en) * | 2014-04-17 | 2017-10-17 | Symantec Corporation | Secure boot 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 | クラリオン株式会社 | 車載情報通信システム及び認証方法 |
JP6505318B2 (ja) * | 2015-09-10 | 2019-04-24 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh | 車両の電子制御ユニットへの不正アクセスイベントの通知 |
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 |
US10124750B2 (en) * | 2016-04-26 | 2018-11-13 | Honeywell International Inc. | Vehicle security module system |
CN109314640B (zh) * | 2016-08-29 | 2021-11-12 | Kddi株式会社 | 车辆信息收集系统、车载计算机、车辆信息收集装置、车辆信息收集方法以及记录介质 |
WO2018048279A1 (ko) * | 2016-09-12 | 2018-03-15 | 엘지전자 주식회사 | 통신 시스템 |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
BR112019003520A2 (pt) * | 2016-09-23 | 2019-05-21 | Apple Inc. | comunicação segura de tráfego de rede |
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 |
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 |
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 |
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 |
JP7380530B2 (ja) * | 2020-11-13 | 2023-11-15 | トヨタ自動車株式会社 | 車両通信システム、通信方法及び通信プログラム |
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (3)
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 |
US20100169658A1 (en) * | 2008-12-30 | 2010-07-01 | Lahouari Ghouti | Elliptic curve-based message authentication code |
-
2014
- 2014-03-21 US US14/221,831 patent/US9425963B2/en active Active
-
2015
- 2015-03-11 DE DE102015103550.2A patent/DE102015103550A1/de active Pending
- 2015-03-20 CN CN201510124267.6A patent/CN104935434B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 | 通用汽车有限责任公司 | 处理在车辆上接收到的消息 |
Also Published As
Publication number | Publication date |
---|---|
DE102015103550A1 (de) | 2015-09-24 |
US9425963B2 (en) | 2016-08-23 |
CN104935434A (zh) | 2015-09-23 |
US20150270968A1 (en) | 2015-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104935434B (zh) | 使用消息验证码保护电子控制单元 | |
US10595352B2 (en) | Establishing a secure short-range wireless communications connection at a vehicle | |
US7072645B2 (en) | In-vehicle automated call routing using an origin identifier | |
CN103297220B (zh) | 在车辆中的设备之间建立通信的方法 | |
US8761390B2 (en) | Production of cryptographic keys for an embedded processing device | |
US7266435B2 (en) | Wireless operation of a vehicle telematics device | |
CN104917606B (zh) | 用于控制对电子控制单元进行访问的密码加密 | |
US9179311B2 (en) | Securing vehicle service tool data communications | |
CN104796924B (zh) | 使用无线设备管理传统wi-fi和wi-fi直接连接 | |
CN103379170B (zh) | 处理在车辆上接收到的消息 | |
US20160219028A1 (en) | Responding to electronic in-vehicle intrusions | |
US9756669B2 (en) | Method of establishing a mobile-terminated packet data connection | |
US20140032800A1 (en) | Vehicle message filter | |
CN107085870A (zh) | 使用加密方法调节车辆访问 | |
US20150063329A1 (en) | Selective vehicle wi-fi access | |
US9767065B2 (en) | Dynamic vehicle bus subscription | |
US8630619B2 (en) | Method of communicating between a vehicle and a telematics subscription service | |
US8712379B2 (en) | Authenticating messages sent between a vehicle and a central facility | |
CN105005539B (zh) | 使用消息鉴别码在微控制器处鉴别数据 | |
CN104980901B (zh) | 安全sms消息发送 | |
CN104883678A (zh) | 安全sms消息处理 | |
US7254398B2 (en) | Dynamic connection retry strategy for telematics unit | |
CN110062350A (zh) | 对所连接的车辆外围设备的安全访问 | |
US9614913B2 (en) | Providing TTY services in a vehicle | |
US9299250B1 (en) | Processing requests to establish communication sessions in a mobile vehicle communication system |
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 |