CN104580352A - 从远程装置对车辆模块编程及相关方法和系统 - Google Patents
从远程装置对车辆模块编程及相关方法和系统 Download PDFInfo
- Publication number
- CN104580352A CN104580352A CN201410585344.3A CN201410585344A CN104580352A CN 104580352 A CN104580352 A CN 104580352A CN 201410585344 A CN201410585344 A CN 201410585344A CN 104580352 A CN104580352 A CN 104580352A
- Authority
- CN
- China
- Prior art keywords
- module
- programming
- vehicle
- communication network
- gateway module
- 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
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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了用于对车辆模块编程的方法、设备和系统。示例性的车辆包括第一模块、通信地联接到第一模块的网关模块和通信地联接到网关模块的更新模块。更新模块配置成将授权信息和编程数据提供至网关模块。网关模块配置成至少部分地基于授权信息来验证第一模块的编程被授权并且在验证第一模块的编程之后将编程数据提供至第一模块。
Description
相关申请的交叉引用
本文所述主题涉及在与本文一并(concurrently)提交的美国专利申请序列号14/064,425(代理人案卷号P024878-GMVE-CD (003.1077))中所描述的主题。
技术领域
本文所述主题的实施例大体上涉及车辆系统,并且更具体地涉及用于使用来自远程装置的编程信息对车辆内的模块安全地编程的系统和方法。
背景技术
近年来,技术进步已导致机动车辆设计中的显著变化。现代化车辆包括多个电子组件,例如,发动机控制单元(ECU)、牵引力控制系统、动力转向系统、制动系统、气候控制系统、导航系统、信息娱乐系统等。另外,现代化车辆往往能够例如经由外部通信网络(例如,蜂窝网络、无线网络、个域网等)或物理接口(例如,总线接口等)而支持至外部组件和来自外部组件的通信。
在车辆的寿命期内,期望对车辆电子组件中的一个或多个重新编程或者说是更新,例如,以支持或者说是提供新特征和/或功能或者解决现有特征和/或功能的潜在问题。允许车辆从外部组件接收更新或者说是重新编程造成许多网络安全风险。因此,期望提供用于在使对网络攻击的脆弱性或敏感性最小化的同时对车辆电子组件安全地编程的系统和方法。结合附图以及上述技术领域和背景技术,其它期望特征和特性将从随后的具体实施方式和所附权利要求而变得显而易见。
发明内容
在各种示例性实施例中的一个中,提供了一种用于车辆的设备。该车辆包括第一模块、通信地联接到第一模块的网关模块和通信地联接到网关模块的更新(update)模块。更新模块配置成将授权信息和编程数据提供至网关模块。网关模块配置成至少部分地基于授权信息来验证(verify)第一模块的编程被授权并且在验证第一模块的编程之后将编程数据提供至第一模块。
在另一个实施例中,提供了一种对通信地联接到网关模块的车辆模块编程的方法。网关模块为车辆模块的编程更新生成会话(session)信息。该方法接着:使用会话信息将授权信息解密(decrypt)以获得解密的密钥;至少部分地基于解密的密钥对编程更新来认证(authenticate);并且在对编程更新认证之后将用于编程更新的编程数据经由网关模块提供至车辆模块。
根据各种示例性实施例中的另一个,提供了一种车辆系统。该车辆系统包括第一通信网络、第二通信网络、联接到第二通信网络的车辆模块、联接到第一通信网络的更新模块、以及联接到第一通信网络和第二通信网络的网关模块。更新模块配置成获得用于车辆模块的编程数据、从远程装置获得授权信息、并且将授权信息和编程数据经由第一通信网络提供至网关模块。网关模块配置成在对授权信息认证之后将编程数据提供至车辆模块。车辆模块配置成在从网关模块接收编程数据之后至少部分地基于编程数据来更新车辆模块上的应用。
本发明还包括如下方案:
1. 一种车辆,包括:
第一模块;
网关模块,其通信地联接到所述第一模块;以及
更新模块,其通信地联接到所述网关模块以将授权信息和编程数据提供至所述网关模块,其中,所述网关模块配置成至少部分地基于所述授权信息而验证对所述第一模块的编程被授权并且在验证所述编程被授权之后将所述编程数据提供至所述第一模块。
2. 根据方案1所述的车辆,其中,所述网关模块配置成:
使用会话信息将所述授权信息解密以获得解密的密钥;以及
当所述解密的密钥与存储的密钥匹配时,验证所述编程被授权。
3. 根据方案2所述的车辆,所述更新模块将编程请求提供至所述网关模块,其中,所述网关模块配置成响应于来自所述更新模块的所述编程请求而生成所述会话信息。
4. 根据方案3所述的车辆,其中,所述网关模块配置成至少部分地基于与所述编程请求相关联的时间而动态地生成所述会话信息。
5. 根据方案3所述的车辆,其中,所述更新模块配置成将所述会话信息提供至远程装置,所述远程装置在确定所述第一模块的所述编程被授权之后通过使用由所述更新模块提供的所述会话信息将与所述车辆相关联的密钥加密而生成所述授权信息。
6. 根据方案1所述的车辆,还包括第一通信网络和第二通信网络,其中,所述网关模块联接在所述第一通信网络和所述第二通信网络之间。
7. 根据方案6所述的车辆,其中,所述更新模块联接到所述第一通信网络,并且所述第一模块联接到所述第二通信网络。
8. 根据方案7所述的车辆,其中,所述第一通信网络是以太网,并且所述第二通信网络是控制器局域网(CAN)。
9. 根据方案7所述的车辆,其中,所述更新模块经由外部通信网络通信地联接到远程装置,以接收来自所述远程装置的所述授权信息,所述远程装置在确定所述第一模块的所述编程被授权之后生成所述授权信息。
10. 根据方案1所述的车辆,其中,所述第一模块配置成至少部分地基于所述编程数据更新所述第一模块上的应用。
11. 根据方案10所述的车辆,所述编程数据包括指令集,其中,所述第一模块通过执行所述指令集而更新所述应用。
12. 一种对车辆模块编程的方法,所述方法包括:
由网关模块为通信地联接到所述网关模块的所述车辆模块生成用于编程更新的会话信息;
使用所述会话信息将授权信息解密以获得解密的密钥;
至少部分地基于所述解密的密钥对所述编程更新来认证;以及
在对所述编程更新认证之后,将用于所述编程更新的编程数据经由所述网关模块提供至所述车辆模块。
13. 根据方案12所述的方法,还包括在将用于所述编程更新的所述编程数据提供至所述车辆模块之后至少部分地基于所述编程数据来更新所述车辆模块。
14. 根据方案13所述的方法,所述编程数据包括指令集,其中,更新所述车辆模块包括所述车辆模块执行所述指令集以更新在所述车辆模块上的应用。
15. 根据方案12所述的方法,其中,对所述编程更新认证包括:
由所述网关模块将所述解密的密钥和与包括所述车辆模块的车辆相关联的存储的密钥相比较;以及
当所述解密的密钥与所述存储的密钥匹配时,对所述编程更新认证。
16. 根据方案15所述的方法,其中,生成所述会话信息包括至少部分地基于所述存储的密钥而动态地生成公钥。
17. 根据方案15所述的方法,还包括:
将所述会话信息提供至远程装置,其中,所述远程装置响应于至少部分地基于所述会话信息确定所述编程更新被授权,而通过使用所述会话信息将所述存储的密钥加密来生成所述授权信息;以及
从所述远程装置获得所述授权信息。
18. 根据方案12所述的方法,其特征在于,还包括:
将所述会话信息提供至远程装置,其中,响应于至少部分地基于所述会话信息确定所述编程更新被授权,所述远程装置至少部分地基于所述会话信息来生成所述授权信息;以及
从所述远程装置获得所述授权信息。
19. 一种车辆系统,包括:
第一通信网络;
第二通信网络;
车辆模块,其联接到所述第二通信网络;
更新模块,其联接到所述第一通信网络;以及
网关模块,其联接到所述第一通信网络和所述第二通信网络,其中:
所述更新模块配置成获得用于所述车辆模块的编程数据、从远程装置获得授权信息、并且将所述授权信息和所述编程数据经由所述第一通信网络提供至所述网关模块;
所述网关模块配置成在对所述授权信息认证之后将所述编程数据提供至所述车辆模块;并且
所述车辆模块配置成在从所述网关模块接收所述编程数据之后至少部分地基于所述编程数据来更新所述车辆模块上的应用。
20. 根据方案19所述的车辆,其中:
所述更新模块联接到外部通信网络以将会话信息经由所述外部通信网络发送至所述远程装置并且经由所述外部通信网络从所述远程装置接收所述授权信息,所述远程装置响应于至少部分地基于所述会话信息确定对所述车辆模块编程被授权而至少部分地基于所述会话信息来生成所述授权信息;以及
所述网关模块配置成生成用于所述编程数据的所述会话信息、使用所述会话信息将所述授权信息解密以获得解密的密钥、并且在确定所述解密的密钥与存储的密钥匹配之后将所述编程数据提供至所述车辆模块。
附图说明
下文将结合以下附图描述示例性实施例,在附图中,相同的附图标记表示相同的元件,并且在附图中:
图1是根据一个或多个实施例的示例性车辆通信系统的框图;
图2是根据一个或多个实施例的适合在图1的车辆通信系统中使用的示例性电子装置的框图;
图3是示出根据一个或多个实施例的适合由图1的车辆通信系统实施的示例性编程过程的流程图;以及
图4是示出根据图3的编程过程的一个示例性实施例的在图1的车辆通信系统内的通信的序列的示意图。
具体实施方式
以下具体实施方式在本质上仅为示例性的,而并非意图限制主题的实施例或这样的实施例的应用和用途。如本文所用,词语“示例性的”是指“充当示例、实例或例示”。本文描述为示例性的任何实施不一定被理解为相比其它实施优选的或有利的。此外,不打算受限于此前的技术领域、背景技术、发明内容或以下的具体实施方式中所提供的任何明示的或隐含的理论。
本文所述主题的实施例涉及使用从远程装置获得的编程信息对诸如汽车的车辆内的模块编程。如下文更详细描述的,用于在车辆模块上的待编程应用(备选地,本文称之为目标模块上的目标应用)的编程更新由车辆中的另一个模块获得,该另一个模块经由网关模块通信地联接到所述车辆模块。就这一点而言,获得编程更新的模块经由与目标模块联接到的通信网络不同的通信网络通信地联接到网关模块。为了说明起见但不进行限制,获得编程更新的模块可备选地在本文中称为更新模块。编程更新包括编程数据部分,该部分可实现为包括可执行的指令集(例如,代码、脚本等)的文件或数据的另一个逻辑段,该指令集能够由目标模块读取和执行以改变、修改、更新或者说是影响在其上执行的目标应用。换句话讲,目标应用响应于来自由目标模块执行的编程数据的指令集而至少部分地基于编程数据来更新。
在示例性实施例中,更新模块在获得编程更新之后请求网关模块允许与目标模块的编程会话。网关模块存储或者说是维持与车辆相关联的一个或多个密钥,并且响应于初始编程请求,网关模块使用存储的密钥中的一个或多个动态地生成会话信息并且将会话信息提供至更新模块。会话信息用来认证编程会话正从可信的网关模块被请求,并且相应地,会话信息可备选地在本文中被称为会话认证信息。在接收会话认证信息之后,更新模块通过提供会话认证信息而从远程装置请求编程会话的授权。远程装置访问到与车辆相关联的一个或多个密钥,并且利用这些密钥来验证、确认或者说是认证由特定车辆的更新模块请求的编程会话涉及在该车辆中的可信的网关模块。根据该实施例,远程装置可以经由通信网络或经由联接到更新模块的输入接口(例如,通过将远程装置插入输入接口中)通信地联接到车辆中的更新模块。
在认证会话信息之后,远程装置也基于一个或多个标准来确定车辆中的特定目标模块是否被授权。例如,远程装置可监测与特定车辆、目标模块和/或更新模块相关联的编程请求,并且为该特定车辆、目标模块和/或更新模块限制被允许的编程会话的量或频率。就这一点而言,如果编程请求的数目超出允许的编程请求的阈值数目,那么远程装置不会授权编程会话并且不能向编程请求提供否则将允许编程会话的响应。反之,如果远程装置确定编程会话被授权,那么远程装置生成授权通知(或消息),并且将授权通知提供至更新模块,更新模块继而将授权通知发送至网关模块。授权通知包括由网关模块用来验证、确认或者说是认证授权由可信的远程装置提供的授权信息,并且相应地,授权信息可备选地在本文中被称为授权认证信息。在网关模块验证、确认或者说是认证授权信息之后,网关模块允许或者说是使得用于编程更新的编程数据能够由更新模块经由网关模块提供至目标模块,从而允许更新模块编程或者说是更新目标模块上的目标应用。就这一点而言,在不存在来自可信的远程装置的经认证的授权时,默认情况下,网关模块防止更新模块将编程数据通信至目标模块或者说是造成目标模块进入编程模式。
在一个或多个示例性实施例中,远程装置通过使用会话认证信息将与车辆相关联的密钥中的一个或多个加密而生成授权信息,由此将编程授权认证为从可信的远程装置提供的,网关模块使用其此前生成的会话认证信息来将授权认证信息解密,从而导致一个或多个解密的密钥。当(多个)解密的密钥与由网关模块维持的与车辆相关联的(多个)存储的密钥匹配时,网关模块验证目标模块的编程已被可信的远程装置授权。
现在参看图1,在一个或多个示例性实施例中,车辆通信系统100包括能够经由通信网络106与远程装置104通信的车辆102,通信网络106在车辆102外部,诸如蜂窝网络、卫星网络、无线网络、广域网等。在图示实施例中,车辆102包括更新模块110,其配置成网络106通信并且网络106从远程装置104下载或者说是接收编程更新,这些编程更新随后用来对车辆102中的另一个模块114进行编程或者说是更新。在示例性实施例中,车辆102包括网关模块112,其通信地联接到更新模块110并且认证由远程装置104授权的对车辆102中的目标模块114编程的尝试。就这一点而言,当网关模块112不能将目标模块114的编程认证为由远程装置104授权的时,网关模块112防止或者说是限制该目标模块114的编程。如下文在图3的背景中更详细描述的,由网关模块112用来将编程更新认证为被授权的授权认证信息基于针对目标模块114的编程尝试的数量或频率(或速率)和/或可指示潜在的网络攻击或其它弱点的其它因素而远程装置104选择性地提供。因此,远程装置104也能够防止或者说是限制目标模块114的编程。
仍然参看图1,在一个或多个示例性实施例中,车辆102实现为汽车,并且根据该实施例,车辆102可以是多种不同类型的汽车中的任一种,例如,轿车、货车、卡车或运动型多功能车(SUV),并且可以是两轮驱动(2WD)(即,后轮驱动或前轮驱动)、四轮驱动(4WD)或全轮驱动(AWD)。车辆102也可并入多种不同类型的发动机中的任一种或它们的组合,例如,汽油或柴油燃料的内燃发动机、“灵活燃料车辆”(FFV)发动机(即,使用汽油和酒精的混合物)、气体化合物(例如,氢气和天然气)燃料发动机、内燃发动机/电动马达混合动力发动机、以及电动马达。在备选实施例中,车辆102可以是插电式混合动力车辆、纯电动车辆、燃料电池车辆(FCV)、或另一种合适的替代燃料车辆。
远程装置104通常表示计算系统或处理逻辑、电路、硬件和/或其它组件的另一种组合,这些组件联接到网络106并且能够将编程更新通信至车辆102并支持本文所述过程、任务、操作和/或功能。例如,在图1的图示实施例中,远程装置104可实现为计算机服务器,其包括编程系统和能够存储编程指令的数据存储元件(或存储器),编程指令在由处理系统读取和执行时造成服务器生成用于车辆102中的目标模块114的编程更新并将该编程更新发送至更新模块110。因此,为了说明起见,远程装置104可备选地在本文中被称为服务器。在一些实施例中,服务器104可连接到数据库105,数据库105存储或者说是保持对应于能够由服务器104生成的各种编程更新的可执行代码或指令以及用来支持下文在图3-4的背景中更详细描述的编程过程的认证信息。
仍然参看图1,更新模块110通常表示车辆102内的装置或组件,其通信地联接到外部通信网络106且配置成支持与服务器104的通信以便获得用于车辆102内的一个或多个目标模块114的编程更新。根据一个或多个实施例,更新模块110实现为主机,该主机可集成在仪表盘、仪表板、中央控制台、或车辆102内的另一个合适的位置中。在图示实施例中,更新引擎120通常表示软件模块或另一个组件,其由更新模块110生成、执行或者说是实施以有利于本文所述编程过程。
在示例性实施例中,更新模块110联接到至少一个车辆通信网络111并且提供在外部通信网络106和车辆通信网络111之间的接口。根据该实施例,车辆通信网络111可实现为局域网(LAN)或以太网、无线网络(例如,蓝牙网络、IEEE 802.11网络等)、控制器局域网(CAN)等。网关模块112通常表示车辆102内的装置或组件,其经由第一车辆通信网络111通信地联接到更新模块110并且配置成通过验证或者说是认证从更新模块110接收且由服务器104授权的针对编程更新的请求来调控或者说是控制车辆102内的目标模块114的编程。就这一点而言,网关模块112在更新模块110在其上通信的第一车辆通信网络111和具有通信地联接到其上的目标模块114的第二车辆通信网络113之间充当网关。例如,在一个实施例中,第一车辆通信网络111实现为以太网,并且第二车辆通信网络113实现为CAN,其中,网关模块112在以太网和CAN总线之间提供网关。
在图1的图示实施例中,认证引擎122通常表示软件模块或另一个组件,其由网关模块112生成、执行或者说是实施以从更新引擎120接收对编程会话的请求,响应于该请求动态地生成会话认证信息并将会话认证信息提供至更新引擎120,并且至少部分地基于会话认证信息而验证从更新模块110接收的授权认证信息与由网关模块112存储的认证信息匹配。在验证或者说是认证授权信息来自可信的远程装置104之后,认证引擎122例如通过将用于输入来自更新模块110的编程模式和对应的编程数据的命令路由至目标模块114而允许编程更新在目标模块114处执行。
仍然参看图1,目标模块114通常表示任何种类的硬件、组件、装置或模块,其联接到车辆通信网络113并且能够由更新模块110编程,例如,发动机控制单元(ECU)、牵引力控制系统(或牵引控制器)、动力转向系统(或动力转向控制器)、制动系统(或制动控制器)、气候控制系统(或气候控制器)、导航系统(或导航控制器)、信息娱乐系统等。在图1的图示实施例中,目标应用124通常表示软件模块或另一个组件,其由目标模块114或在目标模块114上生成、执行或者说是实施,以控制、管理或者说是调控由目标模块114提供的特征和/或功能。例如,如果目标模块114是制动系统,那么目标应用124可以是控制制动系统的防抱死制动功能的应用。
在示例性实施例中,由更新模块110和/或更新引擎120从服务器104获得的编程更新包括可执行的指令集(例如,代码、脚本等),其能够由目标模块114(或其组件)读取和执行以修改其目标应用124的操作。例如,用于实施目标应用124的现有的代码或指令可被修改(例如,通过添加或并入新的代码或指令、删除或重写现有的代码或指令的至少一部分,等等)和/或由目标应用124的代码或指令引用的参数、设置和/或其它配置信息可被修改(例如,更改或重写现有的配置信息、添加或并入由现有的和/或新的代码或指令引用的新的配置信息,等等)。修改应用124所基于的底层代码和/或配置信息影响应用124的后续操作,继而影响目标模块114的后续操作。这样,从服务器104接收的编程更新可被应用到目标模块114以修改目标模块114的现有特征和/或功能或将新的特征和/或功能提供至目标模块114。
应当理解,图1是用于说明目的的车辆通信系统100的简化表示,而并非意图以任何方式限制本文所述主题的范围或适用性。就这一点而言,车辆102的实际实施例可包括任何数目的潜在目标模块114和/或任何数目的车辆通信系统111、113以支持或者说是提供用于车辆102的任何数目的特征和/或功能。另外,在备选实施例中,远程装置104可实现为外部装置,其经由联接到更新模块110的输入接口通信地联接到更新模块110,如下文在图2的背景中更详细描述的,并且在车辆通信系统100的这样的实施例中,可能不存在外部通信网络106和/或数据库105。此外,虽然图1将更新模块110和网关模块112描绘为单独的和不同的,但在一些备选实施例中,更新模块110的特征和/或功能可集成到网关模块112中或者说是由网关模块112实施。
图2描绘了适合在图1的车辆通信系统100中使用的电子装置200的一个示例性实施例。例如,服务器104和/或模块110、112、114中的一个或多个可实现为电子装置200的实例。所示出的电子装置200包括但不限于控制模块202、数据存储元件(或存储器)204、一个或多个通信模块206、以及一个或多个输入接口208。应当理解,图2是用于说明目的的电子装置200的简化表示,而并非意图以任何方式限制本文所述主题的范围或适用性。
控制模块202通常表示硬件、电路、处理逻辑、和/或电子装置200的其它组件,其配置成支持电子装置200的操作和本文所述的各种任务、操作、功能和/或过程。根据该实施例,控制模块202可利用设计成执行本文所述功能的通用处理器、微处理器、控制器、微控制器、状态机、内容可寻址存储器、专用集成电路、现场可编程门阵列、任何合适的可编程逻辑装置、离散门或晶体管逻辑、离散的硬件组件、或它们的任何组合来实施或实现。同样,根据该实施例,存储器204可使用任何种类的随机存取存储器(RAM)、只读存储器(ROM)、闪存、寄存器、硬盘、可移动磁盘、磁性或光学海量存储、短期或长期存储介质、和/或能够存储用于由控制模块202执行的编程指令的任何其它非暂态计算机可读介质来实现。在由控制模块202读取和执行时,计算机可执行的编程指令造成控制模块202执行或者说是支持本文所述的各种任务、操作、功能和过程。
例如,参看图1并且继续参照图2,当更新模块110实现为电子装置200的实例时,存储器204可存储对应于更新引擎120的可执行的代码、脚本和/或指令,其在由控制模块202读取和执行时造成控制模块202生成配置成执行本文所述的各种任务、操作、功能和过程的更新引擎120。同样,当网关模块112实现为电子装置200的实例时,存储器204可存储可执行的代码、脚本和/或指令,其在由控制模块202读取和执行时造成控制模块202生成认证引擎122。以类似的方式,当目标模块114实现为电子装置200的实例时,存储器204存储对应于应用124的可执行的代码、脚本和/或指令,其由目标模块114生成、执行或者说是实施。另外,存储器204可存储由目标应用124的代码或指令引用的各种参数、设置和/或其它配置信息,以提供用于目标模块114的所需的特征和/或功能。如下文在图3-4的背景中更详细描述的,在目标模块114的编程或更新被认证、验证或者说是批准之后,该目标模块114的控制模块202执行包含在从更新模块110和/或更新引擎120接收的编程数据中的指令集,以修改、重写或者说是更新保持在存储器204中的用于目标应用124的代码和/或配置信息,从而更新目标模块114的目标应用124。
再次参看图2,(多个)通信模块206通常表示硬件、电路、逻辑、固件和/或电子装置200的其它组件,其配置成支持经由一个或多个通信网络至/自电子装置200的通信。例如,再次参看图1并且继续参照图2,当更新模块110实现为电子装置200的实例时,电子装置200可包括:通信模块206的第一实例,其支持通过外部通信网络106通信,例如一个或多个收发机模块(例如,蜂窝收发机);以及通信模块206的第二实例,其支持通过第一车辆通信网络111的通信,例如网络适配器(例如,以太网适配器、802.11适配器、蓝牙适配器等)。类似地,当网关模块112实现为电子装置200的实例时,电子装置200内的通信模块206的第一实例可实现为支持通过第一车辆通信网络111的通信的第一网络适配器(例如,以太网适配器、802.11适配器、蓝牙适配器等),并且电子装置200内的通信模块206的第二实例可实现为支持通过第二车辆通信网络113的通信的第二网络适配器(例如,CAN接口等)。
仍然参看图2,(多个)输入接口208通常表示硬件、电路、和/或其它组件,其提供至/自电子装置200的物理接口以用于接收来自用户或另一外部硬件组件的输入和/或输出。例如,(多个)输入接口208可包括一个或多个按钮、键、触摸面板(或触摸屏)、计算机鼠标、传感器、换能器、或适于接收来自用户的输入的其它合适装置。在一些实施例中,(多个)输入接口208也可包括一个或多个端口或狭槽,例如,通用串行总线(USB)端口、存储器卡插槽等。就这一点而言,虽然本主题可在本文中在经由网络106从服务器104接收编程更新的更新模块110的背景下描述,但在备选实施例中,更新模块110可从插入联接到更新模块110的输入接口的外部远程装置获得编程更新。例如,再次参看图1,当更新模块110实现为电子装置200的实例时,更新模块110可从外部硬盘驱动器、外部存储器卡或插入更新模块110的输入接口208的另一个外部装置获得编程更新。
图3描绘了用于对车辆中的目标模块进行编程或者说是更新的编程过程300的一个示例性实施例。结合图示过程300执行的各种任务可由硬件、适当地配置的模拟电路、由处理电路执行的软件、可由处理电路执行的固件、或它们的任何组合来执行。为了说明目的,以下描述可能引用上文结合图1-2所述的元件。在实践中,编程过程300的部分可由车辆通信系统100的不同元件执行,例如,服务器104、更新模块110、网关模块112、目标模块114、控制模块202、存储器204、通信模块206和/或输入接口208。应当理解,编程过程300的实际实施例可包括任何数目的附加或备选的任务,所述任务不一定按图示次序执行和/或所述任务可同时执行,和/或编程过程300可并入具有本文中未详细描述的附加功能的更全面的程序或过程中。此外,在图3的上下文中示出和描述的任务中的一个或多个可从编程过程300的实际实施例中省略,只要预期的总体功能保持完好即可。
在示例性实施例中,编程过程300在302处通过接收或者说是获得用于车辆中的特定目标模块的编程更新而开始。例如,根据一个或多个实施例,更新模块110通过网络106针对可适用于车辆102中的任何目标模块114的编程更新定期地轮询服务器104。在其它实施例中,用户可操纵更新模块110的输入接口208以表明希望检查车辆模块114、116的更新,这继而导致更新模块110将对编程更新的请求发送至服务器104。在另一些实施例中,用户可操纵车辆102中的目标模块114的输入接口208以表明希望检查对在该目标模块114上的应用124的更新,这继而导致目标模块114将对编程更新的请求发送至更新模块110。
根据一个或多个实施例,为了从服务器104获得编程更新,在更新模块110上的更新引擎120生成轮询请求,该请求包括由更新模块110(例如,在存储器204中)存储或者说是保持的识别信息(例如,车辆识别码等),该信息继而由服务器104用来识别或者说是确定车辆102的特定型号和/或车辆102中的目标模块114的目标应用124的当前版本信息。利用识别信息,服务器104可查询或者说是访问数据库105以确定是否存在适用于车辆102的任何编程更新(例如,与车辆102的车载目标模块114相关联的编程更新)。响应于识别对车辆102中的目标模块114的更新,服务器104生成用于车辆102的编程更新并且将该编程更新经由网络106发送或者说是提供至在更新模块110上的更新引擎120。由服务器104生成的编程更新包括编程数据部分,并且为了生成该编程数据部分,服务器104可利用用于车辆102的识别信息来查询或者说是访问数据库105以获得对应于用于目标模块114的编程更新的指令集,并且将该指令集包括或者说是封装在编程数据部分中。
应当指出,在其它实施例中,代替更新模块110针对编程更新定期地轮询服务器104,服务器104可以在定期基础上或在编程更新变得可用时将编程更新自动地推向更新模块110。例如,服务器104可定期地访问数据库105以比较用于车辆102中的目标应用124的存储的版本信息和与用于由数据库105保持的该目标应用124的编程更新相关联的当前版本信息。当版本信息表明在目标模块114上的目标应用124应被更新(例如,由于与用于由数据库105保持的目标应用124的编程更新相关联的当前版本信息表明编程更新较新)时,服务器104自动地生成用于目标模块114的编程更新,并且将编程更新推向或者说是发送至更新模块110。
在另一些实施例中,更新模块110和/或更新引擎120可从插入更新模块110的输入接口208中的外部装置(例如,外部存储器驱动器、卡、磁盘等)获得编程更新。例如,由服务器104生成的编程更新可被存储或者说是保存在能够插入更新模块110的输入接口208中的外部装置上。在外部装置插入输入接口208中时,更新引擎120和/或控制模块202可自动地扫描或者说是经由输入接口208访问外部装置,以获得驻留在外部装置上的用于车辆102中的目标模块114的任何编程更新。
仍然参看图3,在获得编程更新之后,编程过程300在304处通过确定用于目标模块的编程标准是否被满足而继续。就这一点而言,更新模块110和/或更新引擎120可(例如,在存储器204中)保持编程标准,其限制在目标模块114的编程可被发起之前目标模块114和/或车辆102的其它组件需要被操作的(多个)操作状态。例如,如果目标模块114是ECU、制动控制器、转向控制器等,那么编程标准可能需要在目标模块114的编程可被发起之前目标模块114处于空闲状态并且车辆102中的变速器被锁定或者说是处于驻车位置。反之,如果目标模块114是气候控制器(或气候控制系统),那么编程标准可能需要仅气候控制系统处于空闲或停用状态(例如,关闭)。就这一点而言,更新模块110和/或更新引擎120获得或者说是识别目标模块114和/或其它车辆组件的当前状态,并且基于用于预期的目标模块114的编程标准以及目标模块114和/或其它车辆组件的所获得的状态来确定是否可以发起编程会话。在示例性实施例中,当更新模块110和/或更新引擎120确定编程会话不能被发起时(例如,由于目标模块114的当前状态不满足适用的编程标准),更新模块110和/或更新引擎120将编程更新存储或者说是保持在存储器204中,并且定期地重复获得目标模块114和/或其它车辆组件的当前状态以及将所获得的状态和与预期的目标模块114相关联的编程标准相比较的步骤。
当编程过程300确定目标模块和/或其它车辆组件的当前状态满足用于目标模块的编程标准时,编程过程300通过在306处从网关模块获得会话认证信息、在308处确定或者说是识别编程会话是否被认证和授权而继续,并且当编程会话被认证和授权时,在310处接收或者说是获得使用会话认证信息加密的授权认证信息。如下文在图4的背景下更详细描述的,在示例性实施例中,更新引擎120将请求消息或对目标模块114编程的愿望的另一个指示经由网络111发送或者说是提供至认证引擎122。响应于接收对编程会话的请求,认证引擎122动态地生成会话认证信息并且将会话认证信息经由网络111发送或者说是提供至更新引擎120。在示例性实施例中,会话认证信息包括公钥(public key),该公钥由认证引擎122至少部分地基于由网关模块112保持的与车辆102相关联的私钥和与编程请求相关联的当前时间(或时间戳)而使用哈希函数或由服务器104已知的另一种密码算法来生成。在示例性实施例中,网关模块112存储或者说是保持(例如,在存储器204中)与编程请求相关联的会话认证信息,以用于对随后由更新模块110提供的授权认证信息解密,如下文更详细描述的。
响应于从认证引擎122接收会话认证信息,更新引擎120将授权请求消息或对目标模块114编程的愿望的另一个指示经由网络106发送或者说是提供至服务器104。编程授权请求包括由网关模块112和/或认证引擎122生成的会话认证信息,并且响应于接收编程授权请求,服务器104至少部分地基于会话认证信息而确定目标模块114的编程被授权。就这一点而言,服务器104将会话认证信息解密以确认车辆102中的可信的网关模块112是会话认证信息的来源,例如,通过确认用来对会话认证信息加密的私钥与存储或者说是保持在数据库105中的与车辆102相关联的私钥相匹配。
在认证或者说是验证会话认证信息之后,服务器104基于诸如下列的一个或多个附加标准来确定目标模块114的编程是否被授权:所接收的针对特定目标模块114的编程请求的频率和/或数量、接收的针对车辆102的编程请求的频率和/或数量、从特定更新模块10接收的编程请求的频率和/或数量、从网络106上的特定位置接收的编程请求的频率和/或数量,等等。就这一点而言,数据库105可保持多个不同的阈值值,这些阈值值由服务器104用来识别潜在地恶意的或者说是指示潜在的网络攻击的编程请求。例如,当在特定时间长度内对目标模块114编程的请求的数目超出在该时间长度内对该特定的目标模块114的编程会话的允许数目的阈值值时,或者当在特定时间长度内从更新模块110接收的请求的数目超出在该时间长度内对车辆102中的任何模块的编程会话的允许累计数的阈值值时,服务器104可能未能授权目标模块114的编程。就这一点而言,对于由服务器104接收的每个编程请求来说,服务器104和/或数据库105可存储或者说是保持识别与编程请求相关联的车辆102、与该请求相关联的目标模块114、与该请求相关联的更新模块110、与请求的来源相关联的网络106上的位置(例如,更新模块110的因特网协议(IP)地址)等的信息。
当服务器104将会话认证信息认证为来自网关模块112并且确定编程请求被授权(例如,由于接收的编程请求的数目不超出任何适用的阈值)时,服务器104生成授权认证信息,该信息由网关模块112用来认证目标模块114的编程被可信的远程装置104授权。在示例性实施例中,服务器104通过使用从会话认证信息获得的公钥和对于网关模块112已知的哈希函数或其它密码算法对与车辆102相关联的私钥加密而生成授权加密信息。然后,服务器104将授权认证信息经由网络106发送或者说是提供至更新模块110和/或更新引擎120。反之,当服务器104确定编程请求未被认证或者说是未被授权时,服务器104未能将授权认证信息提供至更新模块110和/或更新引擎120,并且因此,编程过程300在318处防止未授权的编程会话被目标模块发起,如下文更详细描述的。
仍然参看图3,在获得授权信息之后,编程过程300在312处通过使用授权认证信息验证或者说是认证授权的来源是可信的远程装置而继续。就这一点而言,响应于从远程装置104获得授权认证信息,更新引擎120将授权认证信息经由车辆通信网络111发送至认证引擎122。响应于接收授权认证信息,认证引擎122使用存储的公钥和/或此前由认证引擎122结合编程请求生成的其它会话认证信息对授权认证信息解密。当从解密的授权认证信息获得的解密的私钥匹配与车辆102相关联的存储的私钥时,认证引擎122确定编程更新授权的来源是可信的、验证的或者说是认证的,并且编程会话是被允许或者说是授权的。
在编程过程300确定编程更新被经认证的远程装置授权之后,编程过程300通过在314处将用于编程更新的编程数据经由网关模块发送或者说是提供至目标模块并且在316处使用编程数据对目标模块编程而结束。就这一点而言,认证引擎122可将对编程请求的响应或者另一个指示提供至编程会话被许可或者说是授权的更新引擎120。然后,网关模块112和/或认证引擎122在第一车辆通信网络111和第二车辆通信网络113之间充当网关并且将从更新模块110和/或更新引擎120接收的数据路由或者说是再发送至目标模块114和/或目标应用124。在一些实施例中,网关模块112和/或认证引擎122可配置成实施定时器或另一个类似的特征并且仅将通信在有限的持续时间内从第一车辆通信网络111路由至第二车辆通信网络113和/或目标模块114。换句话讲,由网关模块112和/或认证引擎122提供的网关功能不可以无限期地保持开放。
根据一个或多个实施例,为了实施编程更新,更新引擎120发送信号或者说是命令目标模块114进入编程模式,并且响应于接收来自更新引擎120的编程模式命令,目标模块114进入编程模式。在备选实施例中,用户可操纵目标模块114的输入接口208以造成目标模块114进入编程模式(例如,作为对更新检查的一部分)。在命令目标模块114进入编程模式之后,更新引擎120将用于编程更新的编程数据经由第一车辆通信网络111发送或者说是提供至网关模块112,并且网关模块112将编程数据经由第二车辆通信网络113自动地路由或者说是再发送至目标模块114。当目标模块114处于编程模式时,目标模块114配置成自动地执行或者说是实施来自编程数据的指令集,以修改其相应的目标应用124,如上所述。例如,响应于从更新引擎120接收进入编程模式的命令,目标模块114可进入引导模式(或引导装载程序模式)以将控制模块202置于如下状态:其中,在经由网关模块112和第二通信网络113从更新模块110和/或更新引擎120接收编程数据时,控制模块202自动地执行包含在编程数据中的指令。
仍然参看图3,响应于确定编程会话未被授权或者授权的来源未被认证,编程过程300在318处防止或者说是限制目标模块的编程。例如,当服务器104确定来自解密的会话认证信息的私钥不匹配与车辆102相关联的私钥和/或编程请求的数目超出允许的阈值时,服务器104确定编程会话未被授权并且未能响应于编程授权请求而将授权认证信息提供至更新模块110和/或更新引擎120。在示例性实施例中,网关模块112在默认情况下不提供从第一车辆通信网络111到第二车辆通信网络113的网关功能。因此,未能将授权认证信息提供至更新模块110防止网关模块112将编程更新认证为授权的并且允许从第一车辆通信网络111到第二车辆通信网络113的网关功能,这继而防止发起与目标模块114的未授权的编程会话。类似地,当从解密的授权认证信息获得的私钥不匹配与车辆102相关联的存储的私钥时,网关模块112确定编程授权未被认证并且不提供从第一车辆通信网络111到第二车辆通信网络113的网关功能,从而防止发起与目标模块114的未认证的编程会话和/或更新。
图4描绘了根据图3的编程过程300的一个示例性实施例的车辆通信系统100内的通信的示例性序列400。参看图4,并且继续参照图1-3,所示的序列400始于更新模块110从诸如服务器或外部存储驱动器(或磁盘或卡)的远程装置104下载、接收或者说是获得402编程更新。在获得编程更新并且确定适用于编程更新的编程标准被满足之后,更新模块110和/或更新引擎120将对编程会话的初始请求经由第一通信网络111发送404至网关模块112上的认证引擎122。作为响应,认证引擎122至少部分地基于由网关模块112存储的与车辆102相关联的私钥而动态地生成公钥和/或其它会话认证信息。认证引擎122响应于初始编程请求并且响应于接收会话认证信息而将会话认证信息发送406至更新引擎120,更新引擎120将包括公钥和/或其它会话认证信息的编程授权请求发送或者说是提供408至远程装置104。
在远程装置104将公钥和/或其它会话认证信息认证为由车辆102中的网关模块112生成并且验证编程请求不超出任何适用的阈值之后,远程装置104通过使用公钥和/或其它会话认证信息将与车辆102相关联的私钥加密而使用公钥和/或其它会话认证信息来生成授权认证信息。然后,远程装置104将授权认证信息发送或者说是提供410至更新模块110和/或更新引擎120,更新模块110和/或更新引擎120继而将授权信息发送412至网关模块112和/或认证引擎122。认证引擎122使用公钥和/或其它会话认证信息将授权认证信息解密并且比较解密的授权认证信息与存储的认证信息以将授权认证为来自可信的来源。在图示实施例中,在认证引擎122验证解密的私钥匹配与车辆102相关联的存储的私钥之后,认证引擎122确定编程会话被经认证的远程装置104授权并且将响应消息发送或者说是提供414至更新引擎120,该消息表明对编程会话的请求已被许可、授权或者说是允许。然后,更新引擎120将编程模式命令和用于编程更新的编程数据经由第一车辆通信网络111发送416至网关模块112,并且网关模块112将编程模式命令和编程数据经由第二车辆通信网络113自动地再发送418至目标模块114。在目标模块114进入编程模式并且接收编程数据之后,目标模块114的控制模块202执行或者说是实施来自编程数据的代码、脚本和/或指令以实现对目标应用124的所需更新。
本文所述主题的一个益处在于,从远程装置获得的编程更新除非它们被认证为由可信来源授权的才会被实施。因此,在车辆模块上的应用可使用通过外部网络(例如,蜂窝网络等)或来自插入车辆的输入接口中的外部装置的可执行的代码、脚本和/或指令被安全地编程或者说是自动地更新,而不需要车辆在特定位置处(例如,由经销商的技术人员)人工地服务。
为了简明起见,与通信网络、认证、软件更新、机动车电子器件和/或电气系统、以及本主题的其它功能方面有关的常规技术可能不在本文中详细描述。此外,某些术语也可在本文中仅用于参考目的,并且因此并非意图进行限制。例如,术语“第一”、“第二”和其它这样的指代结构的数字术语并不暗示顺序或次序,除非上下文明确指示。另外,上述描述也涉及“连接”或“联接”在一起的元件或节点或特征。如本文所用,除非另有明确说明,“连接”意味着一元件直接接合到另一元件(或直接与其连通),而不是一定是机械地。同样,除非另有明确说明,“联接”意味着一元件直接地或间接地接合到另一元件(或者与其直接地或间接地连通),而不一定是机械地。
虽然已经在上述具体实施方式中提出至少一个示例性实施例,但应当理解,存在大量的变型。还应当理解,一个或多个示例性实施例仅为示例,而并非意图以任何方式限制本公开的范围、应用或配置。相反,上述具体实施方式将为本领域的技术人员提供用于实现一个或多个示例性实施例的常规路线。应当理解,在不脱离所附权利要求及其合法等同物所阐述的本公开的范围的前提下,可在元件的功能和布置上做出各种改变。因此,以上所述示例性实施例或其它限制的细节不应被读入权利要求中,除非明确地表示相反。
Claims (10)
1. 一种车辆,包括:
第一模块;
网关模块,其通信地联接到所述第一模块;以及
更新模块,其通信地联接到所述网关模块以将授权信息和编程数据提供至所述网关模块,其中,所述网关模块配置成至少部分地基于所述授权信息而验证对所述第一模块的编程被授权并且在验证所述编程被授权之后将所述编程数据提供至所述第一模块。
2. 根据权利要求1所述的车辆,其中,所述网关模块配置成:
使用会话信息将所述授权信息解密以获得解密的密钥;以及
当所述解密的密钥与存储的密钥匹配时,验证所述编程被授权。
3. 根据权利要求2所述的车辆,所述更新模块将编程请求提供至所述网关模块,其中,所述网关模块配置成响应于来自所述更新模块的所述编程请求而生成所述会话信息。
4. 根据权利要求3所述的车辆,其中,所述网关模块配置成至少部分地基于与所述编程请求相关联的时间而动态地生成所述会话信息。
5. 根据权利要求3所述的车辆,其中,所述更新模块配置成将所述会话信息提供至远程装置,所述远程装置在确定所述第一模块的所述编程被授权之后通过使用由所述更新模块提供的所述会话信息将与所述车辆相关联的密钥加密而生成所述授权信息。
6. 根据权利要求1所述的车辆,还包括第一通信网络和第二通信网络,其中,所述网关模块联接在所述第一通信网络和所述第二通信网络之间。
7. 根据权利要求6所述的车辆,其中,所述更新模块联接到所述第一通信网络,并且所述第一模块联接到所述第二通信网络。
8. 根据权利要求7所述的车辆,其中,所述第一通信网络是以太网,并且所述第二通信网络是控制器局域网(CAN)。
9. 一种对车辆模块编程的方法,所述方法包括:
由网关模块为通信地联接到所述网关模块的所述车辆模块生成用于编程更新的会话信息;
使用所述会话信息将授权信息解密以获得解密的密钥;
至少部分地基于所述解密的密钥对所述编程更新来认证;以及
在对所述编程更新认证之后,将用于所述编程更新的编程数据经由所述网关模块提供至所述车辆模块。
10. 一种车辆系统,包括:
第一通信网络;
第二通信网络;
车辆模块,其联接到所述第二通信网络;
更新模块,其联接到所述第一通信网络;以及
网关模块,其联接到所述第一通信网络和所述第二通信网络,其中:
所述更新模块配置成获得用于所述车辆模块的编程数据、从远程装置获得授权信息、并且将所述授权信息和所述编程数据经由所述第一通信网络提供至所述网关模块;
所述网关模块配置成在对所述授权信息认证之后将所述编程数据提供至所述车辆模块;并且
所述车辆模块配置成在从所述网关模块接收所述编程数据之后至少部分地基于所述编程数据来更新所述车辆模块上的应用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/064,425 | 2013-10-28 | ||
US14/064,425 US9374355B2 (en) | 2013-10-28 | 2013-10-28 | Programming vehicle modules from remote devices and related methods and systems |
US14/064425 | 2013-10-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104580352A true CN104580352A (zh) | 2015-04-29 |
CN104580352B CN104580352B (zh) | 2018-04-27 |
Family
ID=52811845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410585344.3A Active CN104580352B (zh) | 2013-10-28 | 2014-10-28 | 从远程装置对车辆模块编程及相关方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9374355B2 (zh) |
CN (1) | CN104580352B (zh) |
DE (1) | DE102014114607B4 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105480176A (zh) * | 2016-01-08 | 2016-04-13 | 上海创程车联网络科技有限公司 | 汽车软件管理系统及其操作方法 |
CN105653289A (zh) * | 2016-01-08 | 2016-06-08 | 上海创程车联网络科技有限公司 | 车载软件控制管理装置及其应用方法 |
CN105978862A (zh) * | 2016-04-26 | 2016-09-28 | 北京经纬恒润科技有限公司 | 一种数据处理方法及系统 |
CN107104791A (zh) * | 2017-03-29 | 2017-08-29 | 江苏大学 | 一种基于ecu身份隐藏的车内网络一次一密通信方法 |
CN109062181A (zh) * | 2018-07-26 | 2018-12-21 | 北京车和家信息技术有限公司 | 车控指令的更新方法及装置 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9650934B2 (en) | 2011-11-04 | 2017-05-16 | Honeywell spol.s.r.o. | Engine and aftertreatment optimization system |
US20130111905A1 (en) | 2011-11-04 | 2013-05-09 | Honeywell Spol. S.R.O. | Integrated optimization and control of an engine and aftertreatment system |
US9923719B2 (en) | 2014-12-09 | 2018-03-20 | Cryptography Research, Inc. | Location aware cryptography |
US9648023B2 (en) * | 2015-01-05 | 2017-05-09 | Movimento Group | Vehicle module update, protection and diagnostics |
EP3051367B1 (en) | 2015-01-28 | 2020-11-25 | Honeywell spol s.r.o. | An approach and system for handling constraints for measured disturbances with uncertain preview |
EP3056706A1 (en) | 2015-02-16 | 2016-08-17 | Honeywell International Inc. | An approach for aftertreatment system modeling and model identification |
JP6197000B2 (ja) * | 2015-07-03 | 2017-09-13 | Kddi株式会社 | システム、車両及びソフトウェア配布処理方法 |
DE102015112040A1 (de) * | 2015-07-23 | 2017-01-26 | Phoenix Contact Gmbh & Co. Kg | Verfahren und System zur Firmware-Aktualisierung einer Steuereinrichtung zur Prozesssteuerung |
EP3125052B1 (en) | 2015-07-31 | 2020-09-02 | Garrett Transportation I Inc. | Quadratic program solver for mpc using variable ordering |
US10272779B2 (en) | 2015-08-05 | 2019-04-30 | Garrett Transportation I Inc. | System and approach for dynamic vehicle speed optimization |
JP6502832B2 (ja) * | 2015-11-13 | 2019-04-17 | 株式会社東芝 | 検査装置、通信システム、移動体および検査方法 |
EP3387855B1 (en) * | 2015-12-07 | 2021-05-19 | Telefonaktiebolaget LM Ericsson (PUBL) | Methods and arrangements for authenticating a communication device |
DE102016200775A1 (de) | 2016-01-21 | 2017-07-27 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Schutz eines Fahrzeuges vor Cyberangriffen |
US10415492B2 (en) | 2016-01-29 | 2019-09-17 | Garrett Transportation I Inc. | Engine system with inferential sensor |
US10232709B2 (en) | 2016-02-19 | 2019-03-19 | Xevo Inc. | Dynamic application execution for automobile and cloud hybrid environments |
US10036338B2 (en) | 2016-04-26 | 2018-07-31 | Honeywell International Inc. | Condition-based powertrain control system |
US10124750B2 (en) | 2016-04-26 | 2018-11-13 | Honeywell International Inc. | Vehicle security module system |
US11092446B2 (en) | 2016-06-14 | 2021-08-17 | Motional Ad Llc | Route planning for an autonomous vehicle |
US10309792B2 (en) | 2016-06-14 | 2019-06-04 | nuTonomy Inc. | Route planning for an autonomous vehicle |
US10126136B2 (en) | 2016-06-14 | 2018-11-13 | nuTonomy Inc. | Route planning for an autonomous vehicle |
US10829116B2 (en) | 2016-07-01 | 2020-11-10 | nuTonomy Inc. | Affecting functions of a vehicle based on function-related information about its environment |
KR102598613B1 (ko) * | 2016-07-21 | 2023-11-07 | 삼성전자주식회사 | 개인 인증 및 차량 인증 기반으로 차량 정보를 제공하는 시스템 및 방법 |
EP3499793B1 (en) * | 2016-08-10 | 2021-11-10 | KDDI Corporation | Data provision system, data security device, data provision method, and computer program |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
US10491405B2 (en) * | 2016-10-04 | 2019-11-26 | Denso International America, Inc. | Cryptographic security verification of incoming messages |
US10473470B2 (en) | 2016-10-20 | 2019-11-12 | nuTonomy Inc. | Identifying a stopping place for an autonomous vehicle |
US10857994B2 (en) | 2016-10-20 | 2020-12-08 | Motional Ad Llc | Identifying a stopping place for an autonomous vehicle |
US10681513B2 (en) | 2016-10-20 | 2020-06-09 | nuTonomy Inc. | Identifying a stopping place for an autonomous vehicle |
US10331129B2 (en) | 2016-10-20 | 2019-06-25 | nuTonomy Inc. | Identifying a stopping place for an autonomous vehicle |
US11199120B2 (en) | 2016-11-29 | 2021-12-14 | Garrett Transportation I, Inc. | Inferential flow sensor |
US10705820B2 (en) * | 2017-02-02 | 2020-07-07 | Ford Global Technologies, Llc | Method and apparatus for secure multi-cycle vehicle software updates |
US10104547B1 (en) * | 2017-05-24 | 2018-10-16 | GM Global Technology Operations LLC | Automatic wireless communication authentication |
US11057213B2 (en) | 2017-10-13 | 2021-07-06 | Garrett Transportation I, Inc. | Authentication system for electronic control unit on a bus |
US10594666B2 (en) * | 2017-12-19 | 2020-03-17 | Micron Technology, Inc. | Secure message including a vehicle private key |
US11178133B2 (en) * | 2017-12-19 | 2021-11-16 | Micron Technology, Inc. | Secure vehicle control unit update |
KR102540025B1 (ko) * | 2018-01-25 | 2023-06-02 | 엘지전자 주식회사 | 차량용 정보 조회 방법 |
US10827326B2 (en) * | 2018-10-22 | 2020-11-03 | GM Global Technology Operations LLC | User-defined vehicle notification |
US11356425B2 (en) | 2018-11-30 | 2022-06-07 | Paccar Inc | Techniques for improving security of encrypted vehicle software updates |
US11449327B2 (en) | 2018-11-30 | 2022-09-20 | Paccar Inc | Error-resilient over-the-air software updates for vehicles |
JP7318230B2 (ja) * | 2019-02-22 | 2023-08-01 | 株式会社デンソー | センター装置、データ配信システム及び配信制御プログラム |
CN109951367B (zh) * | 2019-03-29 | 2021-06-04 | 重庆长安汽车股份有限公司 | 一种待开源车辆平台的整车控制协议的加密方法 |
CN113346989B (zh) * | 2020-03-02 | 2023-02-07 | 北京新能源汽车股份有限公司 | 一种外部设备接入认证方法、装置、网关及电动汽车 |
JP7279668B2 (ja) * | 2020-03-12 | 2023-05-23 | トヨタ自動車株式会社 | 車載用制御装置 |
CN112399379A (zh) * | 2020-10-28 | 2021-02-23 | 星火科技技术(深圳)有限责任公司 | 智能车联网通讯协议方法、装置、设备及存储介质 |
US20230027588A1 (en) * | 2021-07-21 | 2023-01-26 | Abbott Diabetes Care Inc. | Over-the-Air Programming of Sensing Devices |
US11606446B1 (en) * | 2021-09-13 | 2023-03-14 | International Business Machines Corporation | Microapplication composition |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418596B1 (en) * | 2002-03-26 | 2008-08-26 | Cellco Partnership | Secure, efficient, and mutually authenticated cryptographic key distribution |
CN201804238U (zh) * | 2010-05-27 | 2011-04-20 | 金龙联合汽车工业(苏州)有限公司 | 车辆性能远程监控系统 |
US20110106374A1 (en) * | 2010-12-23 | 2011-05-05 | Margol Lonnie E | Remote vehicle programming system and method |
US20110264905A1 (en) * | 2010-04-21 | 2011-10-27 | Michael Ovsiannikov | Systems and methods for split proxying of ssl via wan appliances |
CN102667409A (zh) * | 2009-12-04 | 2012-09-12 | 通用汽车环球科技运作有限责任公司 | 将增量更新与现有地图数据库融合的导航应用的应用编程接口(api) |
CN103208312A (zh) * | 2013-05-02 | 2013-07-17 | 哈尔滨工业大学 | 一种提高车辆电子控制单元里程数据存储精度的方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438468B1 (en) | 2000-11-28 | 2002-08-20 | Honeywell International Inc. | Systems and methods for delivering data updates to an aircraft |
US6976167B2 (en) * | 2001-06-26 | 2005-12-13 | Intel Corporation | Cryptography-based tamper-resistant software design mechanism |
US7869906B2 (en) * | 2007-01-08 | 2011-01-11 | Ford Global Technologies | Wireless gateway apparatus and method of bridging data between vehicle based and external data networks |
US7979177B2 (en) | 2007-04-30 | 2011-07-12 | Ford Motor Company | System and method for updating vehicle computing platform configuration information |
WO2009147734A1 (ja) | 2008-06-04 | 2009-12-10 | 株式会社ルネサステクノロジ | 車両、メンテナンス装置、メンテナンスサービスシステム及びメンテナンスサービス方法 |
US20100082559A1 (en) | 2008-09-19 | 2010-04-01 | General Motors Corporation | Method of managing a schedule-based software package update |
US8729857B2 (en) | 2008-10-15 | 2014-05-20 | Continental Teves Ag & Co. Ohg | System, device and method for data transfer to a vehicle and for charging said vehicle |
KR20110092007A (ko) | 2010-02-08 | 2011-08-17 | 주식회사 만도 | 차량의 소프트웨어 다운로드 시스템 및 방법 |
KR20120062539A (ko) | 2010-12-06 | 2012-06-14 | 현대자동차주식회사 | 텔레매틱스 서버와 연결된 무선인터넷 공유기를 이용하는 차량정보 업데이트 시스템 및 그 방법 |
JP6332970B2 (ja) | 2011-02-11 | 2018-05-30 | シーメンス・ヘルスケア・ダイアグノスティックス・インコーポレーテッドSiemens Healthcare Diagnostics Inc. | 安全なソフトウェアの更新のためのシステム及び方法 |
US9126545B2 (en) | 2011-02-25 | 2015-09-08 | GM Global Technology Operations LLC | Vehicle systems activation methods and applications |
JP5267598B2 (ja) | 2011-02-25 | 2013-08-21 | トヨタ自動車株式会社 | 車両制御装置のデータ書き換え支援システム及びデータ書き換え支援方法 |
JP5479408B2 (ja) | 2011-07-06 | 2014-04-23 | 日立オートモティブシステムズ株式会社 | 車載ネットワークシステム |
KR101360705B1 (ko) * | 2011-09-22 | 2014-02-07 | 기아자동차주식회사 | 차량 업그레이드 시스템 및 그 방법 |
JP5435022B2 (ja) * | 2011-12-28 | 2014-03-05 | 株式会社デンソー | 車載システム及び通信方法 |
JP5950225B2 (ja) | 2012-01-10 | 2016-07-13 | クラリオン株式会社 | サーバ装置、車載端末、情報通信方法および情報配信システム |
JP5664562B2 (ja) | 2012-01-17 | 2015-02-04 | 株式会社デンソー | 中継装置 |
JP5941315B2 (ja) | 2012-03-29 | 2016-06-29 | 富士通テン株式会社 | 車両制御装置、及び、車両制御システム |
US8966248B2 (en) | 2012-04-06 | 2015-02-24 | GM Global Technology Operations LLC | Secure software file transfer systems and methods for vehicle control modules |
US9209977B2 (en) | 2012-04-11 | 2015-12-08 | General Motors Llc | Processing messages received at a vehicle |
CN104349947B (zh) | 2012-05-29 | 2016-11-02 | 丰田自动车株式会社 | 认证系统和认证方法 |
US8948934B2 (en) | 2012-09-07 | 2015-02-03 | The Boeing Company | Methods and systems for vehicle broadband connection to a data network |
KR101480605B1 (ko) | 2013-04-29 | 2015-01-09 | 현대자동차주식회사 | 차량 네트워크 접속 장치 및 그 접속 제어 방법 |
US9135756B2 (en) | 2013-08-14 | 2015-09-15 | Hti Ip, L.L.C. | Providing communications between a vehicle control device and a user device via a head unit |
-
2013
- 2013-10-28 US US14/064,425 patent/US9374355B2/en active Active
-
2014
- 2014-10-08 DE DE102014114607.7A patent/DE102014114607B4/de active Active
- 2014-10-28 CN CN201410585344.3A patent/CN104580352B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418596B1 (en) * | 2002-03-26 | 2008-08-26 | Cellco Partnership | Secure, efficient, and mutually authenticated cryptographic key distribution |
CN102667409A (zh) * | 2009-12-04 | 2012-09-12 | 通用汽车环球科技运作有限责任公司 | 将增量更新与现有地图数据库融合的导航应用的应用编程接口(api) |
US20110264905A1 (en) * | 2010-04-21 | 2011-10-27 | Michael Ovsiannikov | Systems and methods for split proxying of ssl via wan appliances |
CN201804238U (zh) * | 2010-05-27 | 2011-04-20 | 金龙联合汽车工业(苏州)有限公司 | 车辆性能远程监控系统 |
US20110106374A1 (en) * | 2010-12-23 | 2011-05-05 | Margol Lonnie E | Remote vehicle programming system and method |
CN103208312A (zh) * | 2013-05-02 | 2013-07-17 | 哈尔滨工业大学 | 一种提高车辆电子控制单元里程数据存储精度的方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105480176A (zh) * | 2016-01-08 | 2016-04-13 | 上海创程车联网络科技有限公司 | 汽车软件管理系统及其操作方法 |
CN105653289A (zh) * | 2016-01-08 | 2016-06-08 | 上海创程车联网络科技有限公司 | 车载软件控制管理装置及其应用方法 |
CN105480176B (zh) * | 2016-01-08 | 2019-09-13 | 上海创程车联网络科技有限公司 | 汽车软件管理系统及其操作方法 |
CN105653289B (zh) * | 2016-01-08 | 2020-06-23 | 上海创程车联网络科技有限公司 | 车载软件控制管理装置及其应用方法 |
CN105978862A (zh) * | 2016-04-26 | 2016-09-28 | 北京经纬恒润科技有限公司 | 一种数据处理方法及系统 |
CN107104791A (zh) * | 2017-03-29 | 2017-08-29 | 江苏大学 | 一种基于ecu身份隐藏的车内网络一次一密通信方法 |
CN107104791B (zh) * | 2017-03-29 | 2019-06-28 | 江苏大学 | 一种基于ecu身份隐藏的车内网络一次一密通信方法 |
CN109062181A (zh) * | 2018-07-26 | 2018-12-21 | 北京车和家信息技术有限公司 | 车控指令的更新方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104580352B (zh) | 2018-04-27 |
DE102014114607A1 (de) | 2015-04-30 |
DE102014114607B4 (de) | 2023-03-23 |
US20150121071A1 (en) | 2015-04-30 |
US9374355B2 (en) | 2016-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104580352A (zh) | 从远程装置对车辆模块编程及相关方法和系统 | |
US10171478B2 (en) | Efficient and secure method and apparatus for firmware update | |
US9253200B2 (en) | Programming vehicle modules from remote devices and related methods and systems | |
US9688244B2 (en) | Autonomous vehicle theft prevention | |
US11167723B2 (en) | Method for access management of a vehicle | |
CN108536118B (zh) | 车辆ecu、用于ecu以提供诊断信息的系统及方法 | |
US6839710B2 (en) | Method and system for maintaining a configuration history of a vehicle | |
US7127611B2 (en) | Method and system for vehicle authentication of a component class | |
CN109495307A (zh) | 系统升级方法、ota升级包加密方法、终端设备及车辆 | |
CN110800249B (zh) | 维护系统以及维护方法 | |
US7600114B2 (en) | Method and system for vehicle authentication of another vehicle | |
US7181615B2 (en) | Method and system for vehicle authentication of a remote access device | |
US20040003227A1 (en) | Method and system for vehicle authentication of a component | |
US7137001B2 (en) | Authentication of vehicle components | |
US20160330204A1 (en) | Method and device for activating functions of a control device | |
US11182485B2 (en) | In-vehicle apparatus for efficient reprogramming and controlling method thereof | |
EP1518350B1 (en) | Method and system for vehicle authentication of a component | |
CN112019340B (zh) | 认证系统 | |
US20210314151A1 (en) | In-Vehicle Key Generation Method, a Vehicle using the Method and a Computer-Readable Storage Medium | |
US20040001593A1 (en) | Method and system for component obtainment of vehicle authentication | |
US20040003234A1 (en) | Method and system for vehicle authentication of a subassembly | |
US20040003232A1 (en) | Method and system for vehicle component authentication of another vehicle component | |
JP2005202503A (ja) | 車載情報装置、車載機器管理システム、車両の制御機器のプログラムのバージョンアップ情報の配信方法、車両の制御機器のプログラムのバージョンアップ方法及び車両の制御機器のプログラムのバージョンアップシステム | |
CN112311799B (zh) | 一种Tbox固件的OTA安全升级方法 | |
JP5783013B2 (ja) | 車載通信システム |
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 |