CN104580351A - 从远程装置编程车辆模块以及相关方法和系统 - Google Patents
从远程装置编程车辆模块以及相关方法和系统 Download PDFInfo
- Publication number
- CN104580351A CN104580351A CN201410584545.1A CN201410584545A CN104580351A CN 104580351 A CN104580351 A CN 104580351A CN 201410584545 A CN201410584545 A CN 201410584545A CN 104580351 A CN104580351 A CN 104580351A
- Authority
- CN
- China
- Prior art keywords
- module
- programming
- authentication
- vehicle
- authentication section
- 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/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及从远程装置编程车辆模块以及相关方法和系统。提供用于编程车辆模块的方法、设备和系统。示例性车辆包括第一模块、通信地联接到第一模块的认证模块、和通信地联接到第一模块和认证模块的更新模块。更新模块被设置成获得用于第一模块的编程更新,其包括认证部分和编程数据部分。更新模块将编程数据部分提供给第一模块并且将认证部分提供给认证模块。在认证部分被认证之后,认证模块将认证部分提供给第一模块。
Description
相关申请的交叉引用
本文描述的主题涉及与其同时提交的美国专利申请序列号XX/XXX,XXX(代理卷号:P024876-GMVE-CD(003.1078))中描述的主题。
技术领域
本文描述的主题的实施例总体上涉及车辆系统,并且更具体地涉及使用来自远程装置的编程信息安全地编程车辆内的模块的系统和方法。
背景技术
在近些年来,技术的进步导致机动车辆设计的实质性改变。现代车辆包括大量电子部件,例如发动机控制单元(ECU)、牵引控制系统、动力转向系统、制动系统、气候控制系统、导航系统、信息娱乐系统等等。另外,现代车辆通常能够例如经由外部通信网络(例如蜂窝网络、无线网络、私人局域网络等)或物理接口(例如,总线接口等)支持发送至/发送自外部部件的通信。
在车辆的使用寿命期间,会希望重新编程或以其他方式更新一个或更多个车辆电子部件,从而例如支持或以其他方式提供新的特性和/或功能或者使用现有特征和/或功能解决潜在问题。允许车辆接收来自外部部件的更新或以其他方式从外部部件重新编程会造成大量网络安全风险。因此,希望提供安全地编程车辆电子部件且同时最小化网络攻击的易受性或敏感性的系统和方法。结合附图和前述技术领域和背景技术,从下文具体描述和所附权利要求中将显而易见到其他理想特征和特点。
发明内容
在各种示例性实施例中的一种中,提供一种用于车辆的设备。所述车辆包括第一模块、通信地联接到第一模块的认证模块和通信地联接到第一模块和认证模块的更新模块。更新模块被设置成获得用于第一模块的编程更新,其包括认证部分和编程数据部分。更新模块将编程数据部分提供给第一模块并且将认证部分提供给认证模块。在认证部分被认证之后,认证模块将认证部分提供给第一模块。
在另一实施例中,提供一种编程车辆模块的方法。所述方法包括从远程装置获得用于车辆模块的编程更新,其包括认证部分和编程数据部分。所述方法继续提供认证部分至联接到车辆模块的认证模块并且提供编程数据部分至车辆模块。在认证所述认证部分之后,所述方法继续提供来自认证模块的认证部分至车辆模块并且在提供认证部分至车辆模块之后至少部分地基于编程数据部分来更新车辆模块。
根据各种示例性实施例中的另一实施例,另一用于车辆的设备包括车辆通信网络、联接到车辆通信网络的车辆模块、联接到车辆通信网络的认证模块和联接到车辆通信网络的更新模块。更新模块被设置成从远程装置获得用于车辆模块的包括认证部分和编程数据部分的编程更新,经由车辆通信网络将编程数据部分提供给车辆模块,以及经由车辆通信网络将认证部分提供给认证模块。认证模块被设置成认证所述认证部分并且在认证部分被认证之后将认证部分提供给车辆模块。车辆模块被设置成在从认证模块接收认证部分之后至少部分地基于编程数据部分更新车辆模块上的目标应用。
本发明还提供了以下技术方案。
方案1. 一种车辆,包括:
第一模块;
通信地联接到所述第一模块的认证模块;和
获得用于所述第一模块的编程更新的更新模块,所述编程更新包括认证部分和编程数据部分,其中所述更新模块通信地联接到所述第一模块和所述认证模块以便提供所述编程数据部分至所述第一模块并且提供所述认证部分至所述认证模块,在所述认证部分被认证之后所述认证模块提供所述认证部分至所述第一模块。
方案2. 根据方案1所述的车辆,其中所述第一模块被设置成在接收到所述认证部分之后至少部分地基于所述编程数据部分更新所述第一模块上的目标应用。
方案3. 根据方案2所述的车辆,所述编程数据部分包括指令组,其中所述第一模块通过执行所述指令组更新所述目标应用。
方案4. 根据方案3所述的车辆,所述第一模块包括数据存储元件以便保持所述目标应用的配置信息,其中响应于执行所述指令组,所述第一模块使用更新的配置信息重写配置信息。
方案5. 根据方案3所述的车辆,所述第一模块包括数据存储元件以便保持所述目标应用的代码,其中响应于执行所述指令组,所述第一模块使用更新的应用代码重写代码。
方案6. 根据方案1所述的车辆,所述认证模块包括数据存储元件以便保持与所述车辆相关联的存储密钥,其中所述认证模块被设置成当从所述认证部分获得的密钥匹配所述存储密钥时认证所述认证部分。
方案7. 根据方案1所述的车辆,其中所述更新模块被联接到网络以便经由所述网络从远程装置获得所述编程更新。
方案8. 根据方案1所述的车辆,所述更新模块包括输入接口以便接收远程装置,其中所述更新模块经由所述输入接口从所述远程装置获得所述编程更新。
方案9. 根据方案1所述的车辆,所述更新模块和所述认证模块被联接到第一车辆通信网络,并且所述认证模块和所述第一模块被联接到第二车辆通信网络,所述第二车辆通信网络不同于所述第一车辆通信网络,其中在所述认证部分被认证之后,所述认证模块允许所述更新模块经由所述认证模块提供所述编程数据部分至所述第一模块。
方案10. 一种编程车辆模块的方法,所述方法包括:
从远程装置获得所述车辆模块的编程更新,所述编程更新包括认证部分和编程数据部分;
提供所述认证部分至与所述车辆模块联接的认证模块;
提供所述编程数据部分至所述车辆模块;
在认证所述认证部分之后,提供来自所述认证模块的所述认证部分至所述车辆模块;以及
在提供所述认证部分至所述车辆模块之后至少部分地基于所述编程数据部分更新所述车辆模块。
方案11. 根据方案10所述的方法,其中更新所述车辆模块包括更新所述车辆模块上的目标应用。
方案12. 根据方案11所述的方法,所述编程数据部分包括指令组,其中更新所述目标应用包括所述车辆模块执行所述指令组。
方案13. 根据方案10所述的方法,还包括:当从所述认证部分获得的密钥匹配与具有所述车辆模块的车辆相关联的存储密钥时,通过所述认证模块认证所述认证部分。
方案14. 根据方案10所述的方法,其中获得所述编程更新包括经由外部通信网络从服务器下载所述编程更新。
方案15. 根据方案10所述的方法,所述远程装置被插入到输入接口中,其中获得所述编程更新包括经由所述输入接口从所述远程装置获得所述编程更新。
方案16. 根据方案10所述的方法,其中:
获得所述编程更新包括经由第一通信网络接收所述编程更新;
提供所述认证部分至所述认证模块包括经由与所述第一通信网络不同的第二通信网络提供所述认证部分至所述认证模块;
提供所述编程数据部分至所述车辆模块包括经由所述第二通信网络提供所述编程数据部分至所述车辆模块;以及
在认证所述认证部分之后提供来自所述认证模块的所述认证部分至所述车辆模块包括经由所述第二通信网络提供来自所述认证模块的所述认证部分至所述车辆模块。
方案17. 根据方案10所述的方法,其中:
获得所述编程更新包括经由第一通信网络接收所述编程更新;
提供所述认证部分至所述认证模块包括经由与所述第一通信网络不同的第二通信网络提供所述认证部分至所述认证模块;
在认证所述认证部分之后提供来自所述认证模块的所述认证部分至所述车辆模块包括经由与所述第二通信网络不同的第三通信网络提供来自所述认证模块的所述认证部分至所述车辆模块;以及
提供所述编程数据部分至所述车辆模块包括经由所述第二通信网络提供所述编程数据部分至所述认证模块,在认证所述认证部分之后所述认证模块经由所述第三通信网络提供所述编程数据部分至所述车辆模块。
方案18. 一种车辆,包括:
车辆通信网络;
联接到所述车辆通信网络的车辆模块;
联接到所述车辆通信网络的认证模块;以及
联接到所述车辆通信网络的更新模块,其中:
所述更新模块被设置成:
从远程装置获得用于所述车辆模块的编程更新,所述编程更新包括认证部分和编程数据部分;
经由所述车辆通信网络提供所述编程数据部分至所述车辆模块;以及
经由所述车辆通信网络提供所述认证部分至所述认证模块;
所述认证模块被设置成认证所述认证部分并且在所述认证部分被认证之后提供所述认证部分至所述车辆模块;以及
所述车辆模块被设置成在从所述认证模块接收所述认证部分之后至少部分地基于所述编程数据部分更新所述车辆模块上的目标应用。
方案19. 根据方案18所述的车辆,其中所述更新模块被联接到外部通信网络以便经由所述外部通信网络从所述远程装置接收所述编程更新。
方案20. 根据方案18所述的车辆,还包括联接到所述更新模块的输入接口,其中所述更新模块被设置成当所述远程装置被插入所述输入接口时从所述远程装置获得编程更新。
附图说明
下文将结合附图描述示例性实施例,其中同样的附图标记指代同样的元件,并且附图中:
图1是根据一种或更多实施例的示例性车辆通信系统的框图;
图2是根据一种或更多实施例的适于在图1的车辆通信系统中使用的示例性电子装置的框图;
图3是示出根据一种或更多实施例的适于被图1的车辆通信系统实施的示例性编程过程的流程图;以及
图4是示出根据图3的编程过程的一种示例性实施例的图1的车辆通信系统内的通信序列的图示。
具体实施方式
下述具体实施方式实质上仅仅是说明性的并且不旨在限制本主题或本申请的实施例和这些实施例的使用。如本文所用,词语“示例性”意味着“用作示例、例子或例证”。本文被描述为示例性的任何实施方式不必被理解成相对其他实施方式是优选的或有利的。此外,不旨在受到前述技术领域、背景技术、发明内容或下文的具体实施方式中存在的任意明示或暗含的理论的约束。
本文描述的主题的实施例涉及使用从远程装置获得的编程信息来编程诸如汽车的车辆中的模块。如下文更具体描述的,用于待编程的车辆模块上的应用(本文中替代性地被称为目标模块上的目标应用)的编程更新包括编程数据部分和认证部分。编程数据部分是文件或另一逻辑数据段,其包括一组可执行指令(例如代码、脚本等),其能够被目标模块读取和执行以便改变、修改、更新或者以其他方式影响其上执行的目标应用。换言之,响应于来自由目标模块执行的编程数据的指令组,至少部分地基于编程数据来更新目标应用。认证部分是另一文件或逻辑数据段,其包括用于将编程数据源认证为信任源的一个或更多个密钥。车辆中除目标模块之外的模块从远程装置获得用于目标模块上的应用的编程更新,并且经由车辆通信网络发送或以其他方式提供认证部分至车辆内的认证模块。为了解释而非限制的目的,编程数据部分可以在本文中替代性地被称为编程数据文件,认证部分可以在本文中替代性地被称为认证文件,并且获得编程更新的模块可以在本文中替代性地被称为更新模块。
在示例性实施例中,认证模块存储或以其他方式保持与车辆相关联的一个或更多个密钥,并且将从认证部分获得的所述一个或更多个密钥与所述一个或更多个存储密钥相比较以便验证或以其他方式确认认证部分中的密钥匹配与车辆相关联的存储密钥。当认证部分中的密钥匹配与车辆相关联的存储密钥时,认证模块将认证部分提供给目标模块。更新模块也经由车辆通信网络直接地或经由认证模块间接地将编程数据部分提供给目标模块。在示例性实施例中,在接收到编程数据部分和经验证的认证部分二者之后,目标模块进入编程模式,并且目标模块执行编程数据部分中的指令组以便更新目标模块上的目标应用。在此方面,在一些实施例中,在没有接收经验证的认证部分时,目标模块不能进入编程模式和/或不能执行编程数据部分中的指令,从而防止目标模块和/或目标应用被不是从信任源接收的指令所改变、修改或以其他方式影响。
在替代性实施例中,即使没有接收到经验证的认证部分,目标模块也可以进入编程模式和/或执行编程数据部分中的指令,然而,经验证的认证部分被设置成使得其不存在性防止目标模块和/或目标应用以预期方式被编程数据部分中的指令所改变、修改或以其他方式影响。例如,认证部分可以被实现为用于编程数据部分的解密密钥,使得在没有接收到认证部分时,目标模块执行编程数据部分中的加密(或被不正确解密的)指令,这防止编程数据部分中的指令实现其期望效果和/或者导致目标模块进入其操作被限制或以其他方式被禁用的操作模式(例如故障模式)。在另一实施例中,认证部分可以包括指令组的一部分,其是正确地执行编程数据部分中的剩余指令所需要的,使得当目标模块执行(或试图执行)编程数据部分中的指令时,那些指令的预期效果未被实现并且所述执行可以导致目标模块进入其操作被限制或以其他方式被禁用的操作模式中。因此,防止不是从信任源接收的指令以其预期方式改变、修改或以其他方式影响目标模块和/或目标应用的操作。
现在参考图1,在一种或更多种示例性实施例中,车辆通信系统100包括车辆102,其能够经由通信网络106与远程装置104通信,该通常网络106处于车辆102外部,例如是蜂窝网络、卫星网络、无线网络、广域网等等。在所示实施例中,车辆102包括更新模块110,其被设置成经由网络106通信并且经由网络106从远程装置104下载或以其他方式接收编程更新,该编程更新随后被用于编程或以其他方式更新车辆102中的一个或更多个附加模块114、116。在示例性实施例中,车辆102包括认证模块112,其通信地联接到更新模块110和并且经认证则试图编程车辆102内的目标模块114、116。在此方面,当认证模块112不能认证具体目标模块114、116的编程时,认证模块112防止或以其他方式约束该目标模块114、116的编程,如下文更具体描述的。
在一种或更多种示例性实施例中,车辆102被实现为汽车,并且取决于实施例,车辆102可以是多种不同类型汽车中的任何一种,例如轿车、货车、卡车或者运动型多功能车(SUV),并且可以是二轮驱动(2WD)(即,后轮驱动或者前轮驱动)、四轮驱动(4WD)或者全轮驱动(AWD)。车辆102也可以包括多种不同类型发动机中的任意一种或组合,例如汽油或柴油供料的燃烧发动机、“灵活燃料车辆”(FFV)发动机(即,使用汽油和乙醇的混合物)、气体混合物(例如,氢和天然气)供料的发动机、燃烧/电动马达混合动力发动机以及电动马达。在替代性实施例中,车辆102可以是插电式混合动力车辆、纯电动车辆、燃料电池车辆(FCV)或者其他合适的代用燃料车辆。
远程装置104通常代表被联接到网络106的计算系统或处理逻辑、电路、硬件和/或其他部件的另一组合,并且其能够将编程更新传达给车辆102并且支持本文描述的过程、任务、操作和/或功能。例如,在图1的所示实施例中,远程装置104可以被实现成计算机服务器,其包括处理系统和能够存储编程指令的数据存储元件(或者存储器),当被处理系统读取和执行时所述编程指令导致服务器产生用于车辆102内的目标模块114、116的编程更新并且将该编程更新发送到更新模块110。因此,为了解释的目的,远程装置104可以在本文中替代性地被称为服务器。在一些实施例中,服务器104可以被联接到数据库105,该数据库105存储或以其他方式保持对应于能够由服务器104产生的各种编程更新的可执行代码或指令以及被用于支持编程过程的认证信息,如在下文中在图3-4的背景下更具体描述的。
仍然参考图1,更新模块110通常代表车辆102内的装置或部件,其被通信地联接到外部通信网络106并且被设置成支持与服务器104的通信以便获得用于车辆102内的一个或更多个目标模块114、116的编程更新。根据一种或更多种实施例,更新模块110被实现为前端单元(head unit),其可以被集成在仪表盘、仪器面板、中央控制台或车辆102内的其他适当部位内。在所示实施例中,更新引擎(update engine)120通常代表由更新模块110产生、执行或以其他方式实施以有助于本文描述的编程过程的软件模块或其他部件。
在示例性实施例中,更新模块110被联接到至少一个车辆通信网络111,并且提供外部通信网络106和车辆通信网络111之间的接口。根据实施例,车辆通信网络111可以被实现为局域网(LAN)或以太网网络、无线网络(例如,蓝牙网络、IEEE 802.11网络等等)、控制器局域网(CAN)等等。认证模块112通常代表车辆102内的装置或部件,其经由第一车辆通信网络111被通信地联接到更新模块110并且被设置成通过验证或以其他方式认证编程更新来调节或以其他方式控制车辆102内的目标模块114、116的编程。认证引擎(authentication engine)122通常代表软件模块或其他部件,其由认证模块112产生、执行或以其他方式实施以便经由网络111从更新引擎120接收与编程更新相关联的认证文件,验证认证文件内包含的认证信息是否匹配由认证模块112存储的认证信息,并且仅在验证了认证文件内包含的认证信息匹配存储的认证信息之后允许在具体目标模块114、116处执行编程更新,如下文更具体描述的。
根据一种或更多种实施例,认证模块112也用作第一车辆通信网络111(更新模块110在其上通信)和第二车辆通信网络113(其具有与其通信联接的一个或更多个目标模块116)之间的网关。例如,在一种实施例中,第一车辆通信网络111被实现为以太网,并且第二车辆通信网络113被实现为CAN,其中认证模块112提供在以太网和CAN之间的网关。
仍然参考图1,目标模块114,116通常代表任何种类的硬件、部件、装置或者模块,其被联接到一个或更多个车辆通信网络111、113并且能够被更新模块110编程,该更新模块110例如是发动机控制单元(ECU)、牵引控制系统(或者牵引控制器)、动力转向系统(或者动力转向控制器)、制动系统(或者制动控制器)、气候控制系统(或者气候控制器)、导航系统(或者导航控制器)、信息娱乐系统等等。在图1的所示实施例中,目标应用124、126通常代表由相应目标模块114、116或者在所述相应目标模块上产生、执行或以其他方式实施以控制、管理或以其他方式调节相应目标模块114、116所提供的特性和/或功能的软件模块或其他部件。例如,如果目标模块114是信息娱乐系统,则目标应用124可以是用于信息娱乐系统的操作系统或用于信息娱乐系统的个体可下载用户应用。类似地,如果目标模块116是制动系统,则目标应用126可以是控制制动系统的防锁死制动功能的应用。
在示例性实施例中,由更新模块110和/或更新引擎120从服务器104获得的编程更新包括一组可执行指令(例如代码、脚本等),其能够被预期目标模块114、116(或其部件)读取和执行以便修改其相应目标应用124、126的操作。例如,用于实施相应目标应用124、126的现有代码或指令可以被修改(例如通过添加或结合新代码或指令、删除或重写现有代码或指令的至少一部分等),以及/或者由相应目标应用124、126的代码或指令所引用的参数、设定和/或其他配置信息可以被修改(例如改变或重写现有配置信息、添加或结合由现有和/或新代码或指令引用的新配置信息等等)。修改相应应用124、126所基于的底层代码和/或配置信息影响相应应用124、126的后续操作,这进而影响其相关目标模块114、116的后续操作。以此方式,从服务器104接收的编程更新可以被应用到目标模块114、116,以便修改目标模块114、116的现有特性和/或功能或者提供新的特性和/或功能至目标模块114、116。
应该理解图1为了解释的目的是车辆通信系统100的简化表示,并且其不试图以任意方式限制本文描述的主题的范围或应用性。在此方面,车辆102的实际实施例可以包括任何数量的潜在目标模块114、116和/或任何数量的车辆通信网络111、113,以便支持或者以其他方式提供车辆102的任何数量的特性和/或功能。另外,在替代性实施例中,远程装置104可以被实现为经由联接到更新模块110的输入接口被通信地联接到更新模块110的外部装置,如下文在图2的背景下被更具体描述的,并且在车辆通信系统100的这种实施例中,外部通信网络106和/或数据库105可以不存在。
图2示出了适于在图1的车辆通信系统100中使用的电子装置200的示例性实施例。例如,服务器104和/或一个或更多个模块110、112、114、116可以被实现为电子装置200的实例。所示电子装置200包括但不限于控制模块202、数据存储元件(或者存储器)204、一个或更多个通信模块206和一个或更多个输入接口208。应该理解图2为了解释的目的是电子装置200的简化表示,并且不试图以任意方式限制本文描述的主题的范围或应用性。
控制模块202通常代表被设置成支持电子装置200的操作和本文描述的各种任务、操作、功能和/或过程的电子装置200的硬件、电路、处理逻辑和/或其他部件。根据实施例,可以由被设计成执行本文描述的功能的通用处理器、微处理器、控制器、微控制器、状态机、内容可寻址存储器、专用集成电路、现场可编程门阵列、任何合适的可编程逻辑装置、离散门或晶体管逻辑、离散硬件部件或其组合来实施或实现控制模块202。类似地,根据实施例,可以使用能够存储用于由控制模块202执行的编程指令的任意种类的随机存取存储器(RAM)、只读存储器(ROM)、闪存、寄存器、硬盘、可擦写磁盘、磁性或光学大容量存储器、短期或长期存储介质和/或任何其他的非暂时性计算机可读介质来实现存储器204。当被控制模块202读取并执行时,计算机可执行编程指令导致控制模块202执行或以其他方式支持本文描述的各种任务、操作、功能和过程。
例如,参考图1且继续参考图2,当更新模块110被实现为电子装置200的实例时,存储器204可以存储对应于更新引擎120的可执行代码、脚本和/或指令,当被控制模块202读取并执行时其导致控制模块202产生被设置成执行本文描述的各种任务、操作、功能和过程的更新引擎120。类似地,当认证模块112被实现为电子装置200的实例时,存储器204可以存储当被控制模块202读取并执行时导致控制模块202产生认证引擎122的可执行代码、脚本和/或指令。以类似方式,当目标模块114、116被实现成电子装置200的实例时,存储器204存储对应于相应应用124、126的由该相应目标模块114、116产生、执行或以其他方式实施的可执行代码、脚本和/或指令。另外,存储器204可以存储由相应目标应用124、126的代码或指令引用的各种参数、设定和/或其他配置信息以便为目标模块114、116提供所需特性和/或功能。如下文在图3-4的背景下更具体描述的,在认证、验证或以其他方式批准目标模块114、116的编程或更新之后,该目标模块114、116的控制模块202执行从更新模块110和/或更新引擎120接收的编程数据文件中所包含的指令组,以便修改、重写或以其他方式更新被保持在存储器204中的相应目标应用124、126的代码和/或配置信息,从而更新目标模块114、116的目标应用124、126。
再次参考图2,通信模块206通常代表电子装置200的硬件、电路、逻辑、固件和/或其他部件,其被设置成经由一个或更多个通信网络支持发送至/发送自电子装置200的通信。例如,再次参考图1且继续参考图2,当更新模块110被实现为电子装置200的实例时,电子装置200可以包括:通信模块206的第一实例,其支持在外部通信网络106上的通信,该第一实例例如是一个或更多个收发器模块(例如,蜂窝收发器);以及通信模块206的第二实例,其支持在第一车辆通信网络111上的通信,该第二实例例如是网络适配器(例如,以太网适配器、802.11适配器、蓝牙适配器等等)。类似地,当认证模块112被实现为电子装置200的实例时,电子装置200内的通信模块206的第一实例可以被实现为第一网络适配器(例如,以太网适配器、802.11适配器、蓝牙适配器等等),其支持在第一车辆通信网络111上的通信,并且电子装置200内的通信模块206的第二实例可以被实现为第二网络适配器(例如,CAN接口等等),其支持在第二车辆通信网络113上的通信。
仍然参考图2,输入接口208通常代表提供发送至/发送自电子装置200的物理接口以用于接收来自用户或其他外部硬件部件的输入和/或输出的硬件、电路和/或其他部件。例如,输入接口208可以包括一个或更多个按钮、键、接触面板(或者触摸屏)、计算机鼠标、传感器、换能器或者适于从用户接收输入的其他合适的装置。在一些实施例中,输入接口208可以包括一个或更多个端口或插槽,例如通用串行总线(USB)接口、记忆卡插槽等等。在此方面,虽然可以在本文中在经由网络106从服务器104接收编程更新的更新模块110的背景下描述本主题,不过在替代性实施例中,更新模块110可以从被插入到与更新模块110联接的输入接口内的外部远程装置获得编程更新。例如,再次参考图1,当更新模块110被实现为电子装置200的实例时,更新模块110可以从外部磁盘驱动器、外部记忆卡或者被插入到更新模块110的输入接口208内的其他外部装置获得编程更新。
图3示出了用于编程或以其他方式更新车辆内的目标模块的编程过程300的示例性实施例。可以通过硬件、被适当配置的模拟电路、由处理电路执行的软件、可由处理电路执行的固件或其任意组合来执行与所述过程300结合执行的各种任务。为了说明的目的,下述描述可以指代在上文结合图1-2提及的元件。实际上,可以通过车辆通信系统100的不同元件来执行编程过程300的各部分,所述不同元件例如是服务器104、更新模块110、认证模块112、目标模块114、116、控制模块202、存储器204、通信模块206和/或输入接口208。应该意识到的是,编程过程300的实际实施例可以包括任何数量的附加或替代性任务,所述任务不必以所示次序被执行和/或所述任务可以被同时执行,和/或编程过程300可以被结合到具有本文没有描述的额外功能的更全面的程序或过程中。而且,只要预期整体功能保持完整,则可以从编程过程300的实际实施例中省略一个或更多个在图3背景下所示出和描述的任务。
在示例性实施例中,编程过程300在302处开始于接收或以其他方式获得用于车辆中的具体目标模块的编程更新。例如,根据一种或更多种实施例,更新模块110在网络106上针对适用于车辆102中的任意目标模块114、116的编程更新对服务器104周期性地轮询。在另一些实施例中,用户可以操纵更新模块110的输入接口208以便表明希望检查用于车辆模块114、116的更新,这进而导致更新模块110发送编程更新的请求至服务器104。在又一些实施例中,用户可以操纵车辆102内的目标模块114、116的输入接口208以便表明希望检查该目标模块114、116上的应用124、126的更新,这进而导致目标模块114、116发送编程更新的请求至更新模块110。
根据一种或更多种实施例,为了从服务器104获得编程更新,在更新模块110上的更新引擎120产生轮询请求,其包括由更新模块110存储或以其他方式保持(例如在存储器204内)的识别信息(例如,车辆识别号等),这进而被服务器104用于识别或以其他方式确定车辆102的具体型号和/或车辆102内的目标模块114、116的目标应用124、126的当前版本信息。使用识别信息,服务器104可以质询或者以其他方式访问数据库105来确定是否存在可应用于车辆102的任意编程更新(例如,与车辆102车载的任意目标模块114、116相关联的编程更新)。响应于识别出用于车辆102中的目标模块114、116之一的更新,服务器104产生车辆102的编程更新,并且经由网络106发送或以其他方式提供该编程更新至更新模块110上的更新引擎120。
如上所述,服务器104产生的编程更新包括认证文件和编程数据文件。为了产生认证文件,服务器104可以利用车辆102的识别信息来质询或以其他方式访问数据库105,从而获得与车辆102相关联的也被车辆102内的认证模块112存储或以其他方式保持的一个或更多个私人密钥和/或其他认证信息,并且服务器104将获得的认证信息包括或以其他方式装存在认证文件中。类似地,为了产生编程数据文件,服务器104可以利用车辆102的识别信息来质询或以其他方式访问数据库105,从而获得与预期目标模块114、116的程序更新相对应的指令组,并且将该指令组包括或以其他方式装存在编程数据文件中。
应该注意到,在另一些实施例中,代替更新模块110针对编程更新对服务器104周期性地轮询,服务器104可以周期性地或在编程更新变为可用时将编程更新自动地推送到更新模块110。例如,服务器104可以周期性地访问数据库105以将车辆102中的目标应用124、126的存储版本信息与由数据库105保持的关联于那些目标应用124、126的程序更新的当前版本信息相比较。当版本信息表明目标模块114、116上的目标应用124、126应该被更新(例如,因为由数据库105保持的与那些目标应用124、126的编程更新相关联的当前版本信息表明所述编程更新较新)时,服务器104自动产生相应目标模块114、116的编程更新并且推送或以其他方式发送该编程更新至更新模块110。
在又一些实施例中,更新模块110和/或更新引擎120可以从被插入更新模块110的输入接口208内的外部装置(例如,外部存储驱动器、卡、磁盘等等)获得编程更新。例如,由服务器104产生的编程更新可以被存储或以其他方式保存在能够被插入更新模块110的输入接口208内的外部装置上。在外部装置被插入输入接口208时,更新引擎120和/或控制模块202可以经由输入接口208自动地扫描或以其他方式访问外部装置,以便获得贮存在外部装置上的用于车辆102内的目标模块114、116的任意编程更新。
仍然参考图3,在获得编程更新之后,编程过程300在304处继续将来自编程更新的认证文件提供至车辆中的认证模块。例如,在一个或更多个实施例中,自动地响应于接收到编程更新,更新引擎120经由网络111将认证文件发送到认证模块112上的认证引擎122。在认证文件被提供给认证模块之后,编程过程300在306处继续基于认证文件确定编程更新是否被认证、验证或以其他方式被允许,并且当编程更新被认证时,编程过程300在308处继续发送或以其他方式提供认证文件至目标模块。响应于接收到认证文件,认证引擎122比较认证文件内的认证信息与认证模块112存储的认证信息以便确定它们是否匹配。在此方面,认证引擎122解析或以其他方式分析认证文件以便获得由服务器104或负责产生认证文件的其他实体包括在认证文件中的密钥和/或其他认证信息。当从认证文件获得的密钥和/或其他认证信息匹配存储在认证模块112的存储器204内的密钥和/或其他认证信息时,认证引擎122发送或以其他方式提供经验证的认证文件至预期目标模块114、116。
在所示实施例中,编程过程300在310处继续确定或以其他方式识别是否能够开始编程会话(programming session),使得目标模块被更新。在此方面,更新模块110和/或更新引擎120可以保持(例如,在存储器204中)编程标准,所述编程标准限制在具体目标模块114、116的编程能够开始之前要求车辆102的该具体目标模块114、116和/或其他部件被操作于什么操作状态。例如,如果目标模块114、116是ECU、制动控制器、转向控制器等,则在能够开始对目标模块114、116编程之前,编程标准可要求目标模块114、116处于空闲状态并且车辆102中的变速器被锁定或以其他方式处于停车位置。相反地,如果目标模块114、116是气候控制器(或者气候控制系统),则编程标准仅要求气候控制系统处于空闲或禁用状态(例如,关闭)。在此方面,更新模块110和/或更新引擎120获得或以其他方式识别目标模块114、116和/或其他车辆部件的当前状况,并且基于预期目标模块114、116的编程标准以及所获得的目标模块114、116和/或其他车辆部件的状况来确定是否能够开始编程会话。在示例性实施例中,当更新模块110和/或更新引擎120确定不能开始编程会话时(例如,因为目标模块114、116的当前状况不满足可适用的编程标准),更新模块110和/或更新引擎120在存储器204中存储或以其他方式保持编程更新,并且周期性地重复获得目标模块114、116和/或其他车辆部件的当前状况的步骤并且比较获得的状况与关联于预期目标模块114、116的编程标准。
当编程过程300确定目标模块和/或其他车辆部件的当前状况满足目标模块的编程标准时,通过在312处发送或以其他方式提供来自编程更新的编程数据文件至目标模块以进行编程更新并且在314处使用编程数据文件编程目标模块,来完成编程过程300。在此方面,如果预期目标模块114处于与更新模块110相同的通信网络111,则更新模块110和/或更新引擎120经由通信网络111发送编程数据文件至目标模块114。在另一些实施例中,如果预期目标模块116处于认证模块112后方的不同的通信网络113,则更新模块110和/或更新引擎120经由认证模块112发送编程数据文件至目标模块116,该认证模块112用作第一通信网络111和第二通信网络113之间的网关。
应该注意到,在一些实施例中,更新模块110和/或更新引擎120可以先于和/或独立于认证文件被认证引擎122认证经由通信网络111发送编程数据文件至目标模块114。换言之,更新模块110和/或更新引擎120可以与认证引擎122认证认证文件并行地且在认证文件已经被验证之前经由通信网络111发送编程数据文件至目标模块114。例如,更新引擎120可以发送编程数据文件至应用124,其进而在某一位置将来自编程数据文件的指令组存储在目标模块114的存储器204内,使得仅在目标模块114接收到经验证的认证文件并且进入编程模式之后执行所述指令。在这样的实施例中,当编程更新没有被认证时,认证引擎122可以通知应用124该编程更新没有被认证,这进而导致应用124从存储器204内的编程数据文件删除或以其他方式移除指令,以确保应用124保持其当前版本。在另一些实施例中,应用124可以在已经经过一阈值时间量之后而目标模块114没有进入编程模式时从来自存储器204的编程数据文件自动地删除或以其他方式移除代码、脚本和/或指令。
根据一种或更多种实施例,为了实施编程更新,更新引擎120和/或认证引擎122以信号告知或以其他方式命令预期目标模块114,116进入编程模式。在一些实施例中,目标模块114、116可以被设置成使得仅在目标模块114、116已经从认证引擎122接收到经认证的认证文件之后进入编程模式。在此方面,当认证文件还没有被认证模块112和/或认证引擎122提供给目标模块114、116时,目标模块114、116会无法响应于从更新引擎120接收到编程模式命令来进入编程模式。在又一些实施例中,用户可以操作目标模块114、116的输入接口208以导致目标模块114、116进入编程模式(例如,作为更新检查的一部分)。当目标模块114、116处于编程模式时,目标模块114、116被设置成自动地执行或以其他方式实施来自编程数据文件的指令组以便修改其相应的目标应用124、126,如上文所述。例如,在从认证引擎122接收到经认证的认证文件之后响应于从更新引擎120接收到进入编程模式的命令,目标模块114、116可以进入引导模式(或引导装载模式)以便将控制模块202置于如下状态:在从更新模块110和/或更新引擎120接收到编程数据文件时,控制模块202自动执行被包含在编程数据文件中的指令。
仍然参考图3,响应于确定编程更新没有被认证,在316处,编程过程300阻止或以其他方式约束目标模块的编程。例如,根据一种或更多种实施例,当来自更新模块110的认证文件中的认证信息不匹配由认证模块112所保持的存储的认证信息时,认证引擎122会无法提供认证文件至目标模块114、116,并且从认证模块112丢弃或以其他方式删除未经认证的认证文件。因此,在目标模块114、116被设置成仅在其已经从认证模块112接收到经认证的认证文件之后进入编程模式的实施例中,目标模块114、116会无法响应于来自更新模块110和/或更新引擎120的信号或命令进入编程模式,从而阻止编程更新被目标114、116实施。如上文所述,在一些实施例中,认证引擎122可以通知应用124从目标模块114的存储器204内的编程数据文件删除或以其他方式移除任意代码、脚本和/或指令,以便确保编程更新不被实施。在编程更新的预期目标模块116在与更新模块110不同的通信网络113上处于认证模块112后方的实施例中,认证模块112可以通过无法使得从更新模块110接收的编程数据文件和/或其他命令传送到目标模块116来阻止对目标模块116的编程。
图4示出根据图3的编程过程300的示例性实施例的车辆通信系统100内的示例性通信序列400。参考图4且继续参考图1-3,所示序列400开始于更新模块110从诸如服务器或外部存储驱动器(例如磁盘或卡)的远程装置104下载、接收或以其他方式获得402编程更新。在获得编程更新之后,更新模块110和/或更新引擎120经由第一通信网络111将来自编程更新的认证文件发送404至认证模块112上的认证引擎122。在认证引擎122认证所述认证文件之后,认证引擎122经由适当的通信网络111、113发送或以其他方式提供406认证文件至预期目标模块114、116。
如上文所述,在确定适用于编程更新的编程标准被满足之后,通过更新模块110上的更新引擎120发送或以其他方式提供408由预期目标模块114、116执行的编程数据文件且同时目标模块114、116以编程模式操作来实现编程更新的实施。当目标模块114处于与更新模块110相同的通信网络111时,更新引擎120在通信网络111上直接发送编程数据文件至目标模块114。在一些实施例中,在确定适用的编程标准被满足之后且在发送编程数据文件之前,更新引擎120可以以信号告知或以其他方式命令目标模块114进入编程模式。在目标模块116处于与更新模块110不同的通信网络113的另一些实施例中,更新引擎120经由第一通信网络111发送编程数据文件至认证模块112上的认证引擎122,其中当编程更新被认证时认证引擎122在第二通信网络113上传送或以其他方式转发编程数据文件至目标模块116。在目标模块114、116已经从认证模块112接收认证文件且已经从更新模块110接收编程数据文件并且进入编程模式之后,编程数据文件内的代码、脚本和/或指令被目标模块114、116的控制模块202执行或以其他方式实行以便实现对目标应用124、126的所需更新。
本文描述的主题的一个益处是除非编程更新被认证为可靠地源自信任源,否则不能实施从远程装置获得的所述编程更新。因此,使用在外部网络(例如蜂窝网络等)上接收的可执行代码、脚本和/或指令可以安全地编程或以其他方式更新车辆模块上的应用,而不需要车辆在特定地点被手动(例如在经销商处由技术人员)维护。
为了简明的目的,在本文可以不具体描述与通信网络、认证、软件更新、机动车电子器件和/或电气系统以及所述主题的其他功能方面有关的常规技术。此外,在本文中仅出于参考的目的使用某些术语,并且因此其不旨在是限制性的。例如,术语“第一”、“第二”和其他这样的指代结构的数量词不暗示序列或次序,除非上下文明确指出。另外,前文的描述也提到被“连接”或“联接”在一起的元件或节点或特征。如本文所用的,除非明确声明,否则“连接”意味着一个元件直接连结到(或直接通信于)另一元件,并且不必是机械连接。类似地,除非明确声明,否则“联接”意味着一个元件直接或间接地连结到(或直接或间接地通信于)另一元件,并且不必是机械联接。
虽然在前文详细描述中已经提出了至少一种示例性实施例,不过应该意识到存在大量变型。还应该意识到一个或更多个示例性实施例仅是示例,并且不试图以任何方式限制本公开的范围、适用性或构造。实际上,前文详细描述为本领域技术人员提供了用于实现一个或更多个示例性实施例的便利指导。应该理解的是,在不背离如所附权利要求及其法律等价物所列出的公开范围的情况下,能够对元件的功能和设置进行各种修改。因此,在没有明确的相反意图的情况下上文所述示例性实施例或其他限制的细节不应被认为包括在权利要求中。
Claims (10)
1. 一种车辆,包括:
第一模块;
通信地联接到所述第一模块的认证模块;和
获得用于所述第一模块的编程更新的更新模块,所述编程更新包括认证部分和编程数据部分,其中所述更新模块通信地联接到所述第一模块和所述认证模块以便提供所述编程数据部分至所述第一模块并且提供所述认证部分至所述认证模块,在所述认证部分被认证之后所述认证模块提供所述认证部分至所述第一模块。
2. 根据权利要求1所述的车辆,其中所述第一模块被设置成在接收到所述认证部分之后至少部分地基于所述编程数据部分更新所述第一模块上的目标应用。
3. 根据权利要求2所述的车辆,所述编程数据部分包括指令组,其中所述第一模块通过执行所述指令组更新所述目标应用。
4. 根据权利要求3所述的车辆,所述第一模块包括数据存储元件以便保持所述目标应用的配置信息,其中响应于执行所述指令组,所述第一模块使用更新的配置信息重写配置信息。
5. 根据权利要求3所述的车辆,所述第一模块包括数据存储元件以便保持所述目标应用的代码,其中响应于执行所述指令组,所述第一模块使用更新的应用代码重写代码。
6. 根据权利要求1所述的车辆,所述认证模块包括数据存储元件以便保持与所述车辆相关联的存储密钥,其中所述认证模块被设置成当从所述认证部分获得的密钥匹配所述存储密钥时认证所述认证部分。
7. 根据权利要求1所述的车辆,其中所述更新模块被联接到网络以便经由所述网络从远程装置获得所述编程更新。
8. 根据权利要求1所述的车辆,所述更新模块包括输入接口以便接收远程装置,其中所述更新模块经由所述输入接口从所述远程装置获得所述编程更新。
9. 一种编程车辆模块的方法,所述方法包括:
从远程装置获得所述车辆模块的编程更新,所述编程更新包括认证部分和编程数据部分;
提供所述认证部分至与所述车辆模块联接的认证模块;
提供所述编程数据部分至所述车辆模块;
在认证所述认证部分之后,提供来自所述认证模块的所述认证部分至所述车辆模块;以及
在提供所述认证部分至所述车辆模块之后至少部分地基于所述编程数据部分更新所述车辆模块。
10. 一种车辆,包括:
车辆通信网络;
联接到所述车辆通信网络的车辆模块;
联接到所述车辆通信网络的认证模块;以及
联接到所述车辆通信网络的更新模块,其中:
所述更新模块被设置成:
从远程装置获得用于所述车辆模块的编程更新,所述编程更新包括认证部分和编程数据部分;
经由所述车辆通信网络提供所述编程数据部分至所述车辆模块;以及
经由所述车辆通信网络提供所述认证部分至所述认证模块;
所述认证模块被设置成认证所述认证部分并且在所述认证部分被认证之后提供所述认证部分至所述车辆模块;以及
所述车辆模块被设置成在从所述认证模块接收所述认证部分之后至少部分地基于所述编程数据部分更新所述车辆模块上的目标应用。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/064386 | 2013-10-28 | ||
US14/064,386 US9253200B2 (en) | 2013-10-28 | 2013-10-28 | Programming vehicle modules from remote devices and related methods and systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104580351A true CN104580351A (zh) | 2015-04-29 |
CN104580351B CN104580351B (zh) | 2018-06-12 |
Family
ID=52811844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410584545.1A Active CN104580351B (zh) | 2013-10-28 | 2014-10-28 | 从远程装置编程车辆模块以及相关方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9253200B2 (zh) |
CN (1) | CN104580351B (zh) |
DE (1) | DE102014114606B4 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450518A (zh) * | 2017-08-16 | 2017-12-08 | 北京车和家信息技术有限责任公司 | 一种基于车载以太网构架的程序升级装置及其控制方法 |
CN108496322A (zh) * | 2016-01-18 | 2018-09-04 | Kddi株式会社 | 车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机程序 |
Families Citing this family (32)
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 |
CN104144420B (zh) * | 2014-02-26 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 一种无线接入方法及相关设备、系统 |
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 |
US9619647B2 (en) * | 2015-05-07 | 2017-04-11 | Nxp Usa, Inc. | Integrated circuit access |
US9779247B2 (en) * | 2015-05-29 | 2017-10-03 | GM Global Technology Operations LLC | Boot control systems and methods for vehicles |
JP6197000B2 (ja) * | 2015-07-03 | 2017-09-13 | Kddi株式会社 | システム、車両及びソフトウェア配布処理方法 |
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 |
US10223294B2 (en) | 2015-09-01 | 2019-03-05 | Nxp Usa, Inc. | Fast secure boot from embedded flash memory |
DE102015220489B4 (de) | 2015-10-21 | 2024-05-29 | Ford Global Technologies, Llc | Verfahren zur Autorisierung einer Softwareaktualisierung in einem Kraftfahrzeug |
US11831654B2 (en) * | 2015-12-22 | 2023-11-28 | Mcafee, Llc | Secure over-the-air updates |
US10415492B2 (en) | 2016-01-29 | 2019-09-17 | Garrett Transportation I Inc. | Engine system with inferential sensor |
JP2017146802A (ja) * | 2016-02-17 | 2017-08-24 | 日立建機株式会社 | 作業車両のソフトウェア書換えシステム、作業車両のソフトウェア書換え方法 |
US10235154B2 (en) | 2016-03-09 | 2019-03-19 | Ford Global Technologies, Llc | Over-the-air trigger to vehicle interrogator updates |
US10124750B2 (en) | 2016-04-26 | 2018-11-13 | Honeywell International Inc. | Vehicle security module system |
US10036338B2 (en) | 2016-04-26 | 2018-07-31 | Honeywell International Inc. | Condition-based powertrain control system |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
US10353691B2 (en) * | 2016-09-30 | 2019-07-16 | Cummins Inc. | Updating electronic controller through telematics |
WO2018101918A1 (en) | 2016-11-29 | 2018-06-07 | Honeywell International Inc. | An inferential flow sensor |
US10430603B2 (en) * | 2017-02-28 | 2019-10-01 | GM Global Technology Operations LLC | Systems and processes for managing access to vehicle data |
US11057213B2 (en) | 2017-10-13 | 2021-07-06 | Garrett Transportation I, Inc. | Authentication system for electronic control unit on a bus |
US10809741B2 (en) | 2017-11-17 | 2020-10-20 | Polaris Industries Inc. | Method and system for controlling the speed of a vehicle |
DE102017222387A1 (de) * | 2017-12-11 | 2019-06-13 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und System zum Autorisieren einer älteren Applikation eines Steuergeräts eines Fahrzeugs |
US11178133B2 (en) | 2017-12-19 | 2021-11-16 | Micron Technology, Inc. | Secure vehicle control unit update |
US10594666B2 (en) | 2017-12-19 | 2020-03-17 | Micron Technology, Inc. | Secure message including a vehicle private key |
US20200057630A1 (en) * | 2018-08-14 | 2020-02-20 | Hyundai Motor Company | Method and Apparatus for Wirelessly Updating Software for Vehicle |
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 | 株式会社デンソー | センター装置、データ配信システム及び配信制御プログラム |
CN116866088B (zh) * | 2023-09-05 | 2023-11-28 | 中汽智联技术有限公司 | 一种车联网外部设备认证方法、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222452A (zh) * | 2007-01-08 | 2008-07-16 | 福特全球技术公司 | 在车载和外部数据网络间桥接数据的无线网关装置和方法 |
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 |
CN103019759A (zh) * | 2011-09-22 | 2013-04-03 | 现代自动车株式会社 | 车辆更新系统及其方法 |
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 |
US7418596B1 (en) | 2002-03-26 | 2008-08-26 | Cellco Partnership | Secure, efficient, and mutually authenticated cryptographic key distribution |
US7979177B2 (en) * | 2007-04-30 | 2011-07-12 | Ford Motor Company | System and method for updating vehicle computing platform configuration information |
US20110083161A1 (en) * | 2008-06-04 | 2011-04-07 | Takayuki Ishida | Vehicle, maintenance device, maintenance service system, and maintenance service method |
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 | 현대자동차주식회사 | 텔레매틱스 서버와 연결된 무선인터넷 공유기를 이용하는 차량정보 업데이트 시스템 및 그 방법 |
CN103460195B (zh) * | 2011-02-11 | 2016-04-13 | 西门子医疗保健诊断公司 | 用于安全软件更新的系统和方法 |
JP5267598B2 (ja) * | 2011-02-25 | 2013-08-21 | トヨタ自動車株式会社 | 車両制御装置のデータ書き換え支援システム及びデータ書き換え支援方法 |
US9126545B2 (en) * | 2011-02-25 | 2015-09-08 | GM Global Technology Operations LLC | Vehicle systems activation methods and applications |
JP5479408B2 (ja) * | 2011-07-06 | 2014-04-23 | 日立オートモティブシステムズ株式会社 | 車載ネットワークシステム |
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 |
JP5958535B2 (ja) * | 2012-05-29 | 2016-08-02 | トヨタ自動車株式会社 | 認証システム及び認証方法 |
US8948934B2 (en) * | 2012-09-07 | 2015-02-03 | The Boeing Company | Methods and systems for vehicle broadband connection to a data network |
US9237133B2 (en) | 2012-12-12 | 2016-01-12 | Empire Technology Development Llc. | Detecting matched cloud infrastructure connections for secure off-channel secret generation |
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,386 patent/US9253200B2/en active Active
-
2014
- 2014-10-08 DE DE102014114606.9A patent/DE102014114606B4/de active Active
- 2014-10-28 CN CN201410584545.1A patent/CN104580351B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222452A (zh) * | 2007-01-08 | 2008-07-16 | 福特全球技术公司 | 在车载和外部数据网络间桥接数据的无线网关装置和方法 |
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 |
CN103019759A (zh) * | 2011-09-22 | 2013-04-03 | 现代自动车株式会社 | 车辆更新系统及其方法 |
CN103208312A (zh) * | 2013-05-02 | 2013-07-17 | 哈尔滨工业大学 | 一种提高车辆电子控制单元里程数据存储精度的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108496322A (zh) * | 2016-01-18 | 2018-09-04 | Kddi株式会社 | 车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机程序 |
US10855460B2 (en) | 2016-01-18 | 2020-12-01 | Kddi Corporation | In-vehicle computer system, vehicle, key generation device, management method, key generation method, and computer program |
CN108496322B (zh) * | 2016-01-18 | 2021-04-23 | Kddi株式会社 | 车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机可读取的记录介质 |
CN107450518A (zh) * | 2017-08-16 | 2017-12-08 | 北京车和家信息技术有限责任公司 | 一种基于车载以太网构架的程序升级装置及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104580351B (zh) | 2018-06-12 |
DE102014114606B4 (de) | 2023-03-16 |
US20150121457A1 (en) | 2015-04-30 |
DE102014114606A1 (de) | 2015-04-30 |
US9253200B2 (en) | 2016-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104580351A (zh) | 从远程装置编程车辆模块以及相关方法和系统 | |
US10592231B2 (en) | Vehicle information communication system | |
US11163549B2 (en) | Vehicle information communication system | |
US9374355B2 (en) | Programming vehicle modules from remote devices and related methods and systems | |
JP7388301B2 (ja) | サーバ、管理方法、管理プログラム及びソフトウェア更新装置 | |
US20190354364A1 (en) | Control apparatus, program updating method, and computer program | |
US20130031540A1 (en) | Method and Apparatus for Automatic Module Upgrade | |
CN105094901A (zh) | 一种远程售后在线刷新ecu的方法和诊断设备 | |
US11579865B2 (en) | Vehicle information communication system | |
CN111782234A (zh) | 一种车载软件的刷写方法、控制装置、中央处理器及汽车 | |
US11237816B2 (en) | Method for remote online software update in motor vehicles | |
CN110187904B (zh) | 一种用于车辆控制器固件更新的装置及方法 | |
KR101498721B1 (ko) | 소프트웨어 지원 장치 및 그 지원방법 | |
JP2017215889A (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
CN116938443A (zh) | 不可否认的交通工具变更历史 | |
CN115934128A (zh) | 车辆数据上传软件的升级方法、装置、介质、设备及系统 | |
CN115442411A (zh) | 一种基于终端互联网的车端管理方法及车端管理系统 | |
CN115454462A (zh) | Ota管理器、系统、方法、非暂时性存储介质以及车辆 | |
CN115514742A (zh) | Ota管理器、中心、系统、方法、非暂时性存储介质 | |
KR102275142B1 (ko) | 차량용 제어기의 업데이트 시스템 및 방법 | |
CN114115931A (zh) | 软件更新装置、软件更新方法、非临时存储介质及车辆 | |
US11941126B2 (en) | Center, information rewriting method, and non-transitory storage medium | |
CN113873498B (zh) | 服务器、管理方法、非临时存储介质及软件更新装置、中心、空中下载主机 | |
JP7419287B2 (ja) | 車両プログラム更新管理システム、及び車両プログラム更新管理方法 | |
US20220413831A1 (en) | Center, ota master, method, non-transitory storage medium, and vehicle |
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 |