CN106484457B - 多阶段的安全的车辆软件更新的方法及系统 - Google Patents
多阶段的安全的车辆软件更新的方法及系统 Download PDFInfo
- Publication number
- CN106484457B CN106484457B CN201610726252.1A CN201610726252A CN106484457B CN 106484457 B CN106484457 B CN 106484457B CN 201610726252 A CN201610726252 A CN 201610726252A CN 106484457 B CN106484457 B CN 106484457B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- software
- software update
- storage area
- update
- 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
Images
Classifications
-
- 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
-
- 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]
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer 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/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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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/3247—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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/35—Protecting application or service provisioning, e.g. securing SIM application provisioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
-
- 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
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/61—Time-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
Abstract
本发明涉及多阶段的安全的车辆软件更新。一种车辆可接收将被安装到车辆电子控制单元(ECU)的软件更新。车辆ECU可将从服务器接收的软件更新下载到第一存储区;产生与软件更新关联的临时值;向服务器发送包括产生的临时值的交换授权请求;从服务器接收包括临时值和命令与控制签名的交换授权;验证来自交换授权的签名和临时值;当恢复的临时值与产生的临时值匹配时,使用所述第一存储区而不是第二存储区来进行重新启动。
Description
技术领域
本公开的多个方面涉及安全的车辆软件更新,更具体地,涉及包括安装阶段和服务器许可阶段的两阶段更新过程。
背景技术
为了更新车辆组件的软件版本,车辆可被驾驶到经销商处且由技术人员进行维护。技术人员可利用跟踪车辆内组件的各自的软件级别以及可用软件更新的系统。技术人员可手动应用由系统指示的软件更新,并将任何改变记录回该系统中。可在车辆不操作时执行软件更新。
发明内容
在第一示意性实施例中,一种系统包括:第一存储区;第二存储区;车辆电子控制单元,被配置为:将从服务器接收的软件更新下载到所述第一存储区;产生与所述软件更新关联的临时值;向服务器发送包括所述临时值的交换授权请求;接收包括从服务器恢复的临时值的交换授权;当由车辆电子控制单元产生的临时值与从服务器恢复的临时值相匹配时,使用第一存储区而不是第二存储区来进行重新启动。
在第二示意性实施例中,一种系统包括:临时值;服务器,被配置为:向车辆发送软件更新;从车辆接收包括所述临时值和软件更新的哈希值的交换请求;响应于交换请求,向车辆发送交换授权命令,所述交换授权命令包括所述临时值并且指示车辆是否被授权进行交换以执行软件更新。
在第三示意性实施例中,一种用于无线软件更新的方法包括:产生针对从服务器下载到电子控制单元的软件更新的第一临时值;向服务器发送包括所述第一临时值的交换授权请求;从服务器接收包括第二临时值的交换授权;恢复所述第二临时值;当所述第一临时值与所述第二临时值相匹配时,重新启动电子控制单元以利用软件更新。
附图说明
图1示出用于向车辆提供软件更新的示例系统;
图2A和图2B示出用于针对车辆ECU的软件更新的安装的可编程存储器的示例;
图2C和图2D示出用于针对车辆ECU的软件更新的安装的可编程存储器的替代示例;
图3示出用于将软件更新安装到车辆ECU中的一个的示例数据流;
图4示出用于验证和安装软件更新的示例处理;
图5示出用于处理来自车辆ECU的交换授权请求的示例处理;
图6示出用于交换和完成软件更新的安装的示例处理。
具体实施方式
根据需要,在此公开本发明的详细实施例;然而,将理解的是,所公开的实施例仅仅是本发明的示例,其中,本发明可以以各种替代形式来实现。附图无需按比例绘制;一些特征可被夸大或最小化以示出特定组件的细节。因此,在此公开的具体结构和功能细节不应被解释为具有限制性,而仅仅是用于教导本领域技术人员以多种方式利用本发明的代表性基础。
软件和固件(在此通常被称为软件)在现代车辆中起到越来越重要的作用。软件方面的越来越重要的作用可引起可能需要在非操作时的车辆中被解决的效率问题、功能改变和安全性缺陷的潜在增加。因此,在许多现代车辆系统中,车辆电子控制单元(ECU)被配置为具有在部署后经历固件更新的能力。更新固件可以是提高安装到车辆的ECU的软件的安全性的一个解决方案。然而,不正确的固件更新可使得未授权的或恶意的软件更新被安装到车辆ECU。这种不适当的更新可导致车辆ECU出故障或未授权的车辆操作。
改进的软件更新过程可采用两个阶段:第一阶段,在第一阶段中,软件更新从更新服务器被下载并被提供给车辆ECU,以用于安装到非活动存储区 (inactive storage);第二阶段,在第二阶段中,交换授权命令由更新服务器授予车辆ECU,以允许车辆ECU进行交换以将软件更新安装到非活动存储区。通过使用这种两阶段处理,更新服务器能够安全地且可靠地授权处于工作状态的车辆ECU,以交换车辆ECU的存储器,从而对软件更新进行正确安装。例如,存储器可包括与软件安装有关的程序代码、程序数据、资源或其它存储的数据。
更具体地,在第一阶段,软件可从更新服务器的软件库被安全地传送到车辆。更新服务器可被配置为根据车辆的配置来发送车辆软件更新。针对车辆ECU的最近版本的软件的这些软件更新在此可被称为“许可的版本”。在示例中,这些软件更新可被分配密码型强签名,所述密码型强签名使用每个应用的私钥被创建,以提供真实性、完整性和不可抵赖性,并且所述密码型强签名能够由车辆ECU在现场进行验证。响应于接收到软件和对应的签名, ECU可使用应用特定的公钥来验证该签名。如果该签名被验证且软件的版本确实高于当前版本,则ECU可启动已下载的更新的安装。ECU可包括多个存储器存储区,所述多个存储器存储区包括:包括由ECU执行的当前版本的软件的活动存储区以及一个或更多个非活动存储区。可将许可的版本更新安装到非活动存储区中的一个。响应于安装到非活动存储器存储区,车辆ECU 可向TCU(远程信息处理控制单元)通知下载的更新的状态,例如,软件更新是否使用公钥被成功地验证,软件更新是否确实是较高版本以及软件更新是否被成功地闪存到非活动存储器存储区。
在第二阶段,更新服务器控制交换的存储器存储区,以用于激活安装的软件更新。例如,已经确认许可的版本的软件更新被成功验证且被安装到非活动存储器存储区之后,ECU可产生交换请求,请求ECU从当前活动版本交换到新安装的许可的软件版本。车辆的TCU可向更新服务器发送交换授权请求。更新服务器可确认软件下载状态,并提供与许可的软件版本结合的交换授权命令。例如,交换授权命令可由更新服务器利用例如每个ECU的唯一序列号、在交换请求中包括的非重复计数器值或临时值(nonce value)以及软件版本指示(诸如,软件的版本号或哈希值(hash))来进行签名。ECU接收来自更新服务器的签名的交换授权命令,并验证该交换授权命令。例如,这些验证可包括对交换授权命令的发送方或签名的验证(例如,使用公钥),和/或验证包括在交换授权命令中的计数器值、临时值或ECU序列号与包括在来自车辆ECU的交换授权请求中的计数器值、临时值或ECU序列号相匹配。
如果交换授权命令被许可,则车辆ECU可开始交换到新的软件版本。在示例中,车辆ECU可确保或等待用于交换的适当状况(例如,当被调用时可被预编程到车辆ECU、连同交换授权一起从更新服务器被发送等)、车辆ECU 的存储器中的用于指示更新的存储器存储区将作为活动存储器存储区被重新启用的标志,并可选地开始车辆ECU的重新启动。如果重新启动成功,则车辆ECU可将新的安装确认为活动存储器存储区,并可将先前活动的存储器设置回非活动状态。如果重新启动失败,则车辆ECU可再次重新启动回最后已知的良好的安装存储器存储区。下面详细地描述两个阶段的更新过程的其它方面。
图1示出用于向车辆102提供软件更新116的示例系统100。系统100 可包括远程信息处理控制单元108,远程信息处理控制单元108(例如,经由车载调制解调器,或者经由由车辆乘员的移动装置提供的数据信道)通过网络110与更新服务器120进行通信。更新服务器120可与数据存储区118进行通信,数据存储区118被配置为保存用于下载的软件更新116以及关于车辆102的车辆配置信息114。远程信息处理控制单元108可包括软件更新管理器112,软件更新模块112被配置为利用远程信息处理控制单元108来下载用于安装到远程信息处理控制单元108或车辆102的其它ECU 104的软件更新116。虽然在图1中示出了示例系统100,但是示出的示例组件不意于限制。实际上,系统100可具有更多或更少的组件,并可使用附加的或可选的组件和/或实施方式。
车辆102可包括各种类型的汽车、混合型多用途车辆(CUV)、运动型多用途车辆(SUV)、卡车、休旅车(RV)、船、飞机或用于运输人或货物的其它移动机器。在许多情况下,车辆102可由内燃发动机来驱动。作为另一可行方式,车辆102可以是由内燃发动机和一个或更多个电动马达二者驱动的混合动力电动车辆(HEV),诸如,串联式混合动力电动车辆(SHEV)、并联式混合动力电动车辆(PHEV)或并联式/串联式混合动力电动车辆(PSHEV)。由于车辆102的类型和配置可能变化,因此车辆102的性能可能相应地变化。作为一些其它可行方式,车辆102可具有关于乘客容量、牵引能力和性能以及储存容量的不同性能。
车辆102可包括多个电子控制单元(ECU)104,所述多个ECU 104被配置为在车辆电池和/或动力传动系统的动力下执行和管理车辆102的各种功能。如所描述的,示例的车辆ECU 104被表示为分立的ECU 104-A至104-H。然而,车辆ECU 104可共享物理硬件、固件和/或软件,使得来自多个ECU 104 的功能可被集成到单个ECU 104中。或者,多个这样的ECU104的功能可分布在多个ECU 104中。车辆ECU 104可包括车辆102的各种组件,所述组件被配置为接收关联的软件、固件或配置设置的更新。
作为一些非限制性车辆ECU 104的示例:发动机控制ECU 104-A可被配置为提供对发动机运行组件的控制;传动装置控制ECU 104-B可被配置为利用传感器数据和来自发动机控制ECU 104-A的数据来计算如何以及何时改变车辆102中的挡位,以用于最佳性能、燃料经济性和换挡质量;车身控制ECU 104-C可被配置为管理各种电力控制功能,诸如,外部照明、内部照明、无钥匙进入、远程启动和接入点状态验证;无线电收发器ECU 104-D可被配置为与遥控钥匙、移动装置或车辆102的其它本地装置进行通信;娱乐控制单元104-E可被配置为支持与驾驶员和驾驶员携带装置的语音命令交互和蓝牙交互;气候控制管理ECU104-F可被配置为提供对制热和制冷系统组件(例如,压缩机离合器、鼓风机风扇、温度传感器等)的控制;全球定位系统(GPS) ECU 104-G可被配置为提供车辆位置信息;人机界面(HMI)ECU 104-H可被配置为经由各种按钮或其它控制接收用户输入,以及向驾驶员提供车辆状态信息。
车辆总线106可包括在车辆ECU 104之间可用的各种通信方法。车辆总线106还可支持在远程信息处理控制单元108与车辆ECU 104之间的通信。作为一些非限制性示例,车辆总线106可包括车辆控制器局域网(CAN)、以太网和面向媒体的系统传输(MOST)网络中的一个或更多个。应注意的是,示出的总线拓扑仅仅是示例,并且可使用其它数量和布置的车辆总线106。
远程信息处理控制单元108可包括网络硬件,所述网络硬件被配置为便于在车辆ECU 104之间进行通信以及与系统100的其它装置进行通信。例如,远程信息处理控制单元108可包括或利用车载蜂窝调制解调器,以便于通过通信网络110进行通信。网络110可包括一个或更多个互联的通信网络,作为一些非限制性示例,诸如互联网、有线电视分布网络、卫星链路网络、局域网、广域网以及电话网络。作为另一示例,远程信息处理控制单元108可利用蓝牙、Wi-Fi和有线USB网络连接中的一个或更多个,以便于经由用户的智能电话或其它移动装置与通信网络110进行通信。
软件更新管理器112可被配置为:利用远程信息处理控制单元108来访问车辆总线106,以与车辆ECU 104进行通信。当车辆102被装配时,车辆 102可包括各种硬件组件和软件组件。在装配时或者在装配之后,软件更新管理器112可被配置为查询车辆102的车辆ECU104的至少一部分硬件组件和软件组件的存在和版本信息。
软件更新管理器112还可被配置为利用远程信息处理控制单元108通过网络110与更新服务器120进行通信。使用查询到的信息和标识特定车辆102 的附加信息,软件更新管理器112可经由网络110进行通信,以与更新服务器120建立账户。作为一些非限制性示例,标识车辆102的附加信息可包括:在CAN总线上发布的VIN信息或者远程信息处理控制单元108的调制解调器的用户身份识别模块(SIM)信息(诸如,国际移动站设备标识(IMEI)))。更新服务器120可从车辆102接收这些通信,并可维护与接收到的链接到车辆102的标识符的硬件配置和软件(例如,固件等)版本有关的车辆配置信息114的软件数据存储区118。
软件数据存储区118还可被配置为存储可被提供给车辆102的软件更新 116。软件更新116可包括对车辆102的软件或设置的改变,以解决当前软件或设置的问题或者向当前软件提供改进的功能。例如,软件更新116可包括针对一个或更多个车辆ECU 104的更新的配置设置和/或将被安装在一个或更多个车辆ECU 104上的软件或固件的更新版本。在一些情况下,软件更新 116可包括单一部分,而在其它情况下,软件更新116可被组织成多个子部分、分区或块,其中,所有子部分可被下载以使将被安装的整个软件更新116完整。在一些示例中,软件更新116可由供应商(例如,车辆ECU 104的供应商)发起或者由车辆制造商发起。在一些情况下,软件更新116可被加密,而在其它情况下,软件更新116可不被加密。
软件数据存储区118还可被配置为存储关于软件更新116的附加信息。例如,软件数据存储区118可被配置为保存关于软件更新116的可选的/必需的标志,所述标志允许车辆102确定哪些软件更新116是必要的以及哪些软件更新116是可选的。作为另一示例,软件数据存储区118可被配置为保存表明哪些车辆ECU 104与哪些软件更新116相关联的指示。软件数据存储区 118还可存储指示软件更新116与车辆型号或配置的兼容性的信息。例如,软件更新116的存储条目可指示软件更新116与特定品牌和型号的车辆102兼容,或者指示软件更新116依赖于另一车辆ECU 104的版本为特定的软件版本或多个软件版本。
更新服务器120可包括被配置为将数据存储区118存储的软件更新116 提供给车辆102的一个或更多个装置。例如,更新服务器120可被配置为从车辆102接收对于可用的软件更新116的更新请求。更新请求可包括用于允许更新服务器120在数据存储区118中查询适用于当前配置的车辆102的软件更新116的车辆信息。响应于更新请求,更新服务器120可提供可被下载和安装的软件更新116的指示(或软件更新116本身),以对请求的车辆102 进行更新。更新服务器120还可被配置为根据提供的指示向请求下载软件更新116的装置提供软件更新116。
软件更新管理器112还可被配置为管理软件更新116的安装。例如,车辆102可从请求检查软件更新116的用户接收命令。作为另一可行方式,车辆102可触发针对新的软件更新116的周期性检查。当周期性检查被触发时,车辆102可被配置为向更新服务器120发送更新请求,以询问用于车辆102 的软件更新116是否可用。例如,车辆102可使用车辆信息(或者,如果数据存储区118保存了当前车辆信息,则使用车辆102的标识符)查询更新服务器120,并且可从更新服务器120接收指示用于车辆102的新的软件更新 116是否可用的响应(例如,用于车辆102进行下载的软件更新116的链接或其它标识符)。例如,新的更新是否可用的确定可基于针对请求的车辆102保存的配置信息114。如果对车辆102的响应指示软件更新116对车辆102可用,则车辆102还可被配置为利用远程信息处理控制单元108下载指示的软件更新116,或者在其它情况下对将被下载的软件更新116进行排队。
软件更新管理器112还可被配置为向用户提供用于管理软件更新116的用户界面。例如,软件更新管理器112可被配置为(例如,经由用户界面模块104-H的显示器或扬声器)向用户提供提示,以用于向用户通知软件更新 116可用,并请求允许继续软件更新116的安装。作为另一可行方式,软件更新管理器112可被配置为:当软件更新116可用(例如,被下载)时,在车辆102的仪表组内提供可用更新的指示。
为了提高将软件更新116下载到车辆102的安全性,系统100可利用非对称加密算法以用于验证接收的信息。例如,数据存储区118可保存用于对从更新服务器120发送到车辆102的消息进行签名的私钥122,车辆ECU 104 可保存与可被用于确保从更新服务器120发送的消息确实被签名的私钥122 对应的公钥124。发动机控制ECU 104-A的公钥124在图1中被示出为示例,但应注意到的是,车辆102的其它ECU 104也保存它们各自的公钥124。特别地,远程信息处理控制单元108也可具有它自己的单独公钥124,以用于将远程信息处理控制单元108作为另一车辆ECU进行更新,尽管用于远程信息处理控制单元108的公钥124可适用于对远程信息处理控制单元108进行更新,而不适用于对其它ECU 104进行更新。可使用对称密钥而不使用私钥 122/公钥124对的变型是可行的。
一旦用户确认软件更新116应该被安装和/或在车辆的其它触发(诸如点火开关接通或点火开关断开)时,软件更新管理器112可被配置为启动对支持车辆ECU 104的软件更新有用的各种功能。例如,软件更新管理器112可被配置为:通过经由车辆总线106向车辆模块ECU 104提供来自软件更新管理器112的消息,来调用软件更新模式。软件更新管理器112还可被配置为:向由软件更新116识别为软件更新116的接收方的车辆ECU 104提供软件更新116,以用于验证和安装。作为接收方的车辆ECU 104可相应地接收软件更新116,以用于兼容性测试和安装。
在车辆102的一些系统中,由于被车辆ECU 104用于保存执行的软件的存储装置(例如,闪存)无法同时工作和利用软件更新116被刷新,所以软件更新116的安装可能要求车辆102不工作。然而,在一些情况下,车辆ECU 104可包括多个存储区,使得软件更新116可被安装到车辆ECU 104的一个存储区,而当前版本的软件可从车辆ECU 104的另一存储区被执行。
图2A示出用于具有多个存储区202的车辆ECU 104的可编程存储器电路200的示例。如示出的,可编程存储器电路200可包括活动存储区202-A、非活动存储区202-B、活动处理器204-A、更新处理器204-B和开关206。活动存储区202-A可包括位于软件版本210-A处的软件安装208-A,非活动存储区202-B可包括位于软件版本210-B处的软件安装208-B。可编程存储器电路200还可包括或以其它方式可访问车辆ECU 104的公钥124,公钥124 可被用于帮助验证接收的软件更新116。在开关206的第一状态(如图2A所示)下,活动处理器204-A可连接到活动存储区202-A,更新处理器204-B 可连接到非活动存储区202-B。在开关206的第二状态(如图2B所示)下,开关206可将哪个存储区202是活动存储区202-A以及哪个存储区202是非活动存储区202-B进行对调。相应地,在开关206的第二状态下,活动处理器204-A可连接到作为新的活动存储区202-A的先前是非活动存储区202-B 的存储区,更新处理器204-B可连接到作为新的非活动存储区202-B的先前是活动存储区202-A的存储区。因此,通过切换开关206,可编程存储器电路200可对软件安装208-A或208-B中的哪一个将被活动处理器204-A执行进行切换。
例如,车辆ECU 104可利用活动处理器204-A执行被安装到用于车辆102 操作的活动存储区202-A的软件安装208-A,同时利用更新处理器204-B安装作为非活动存储区202-B的软件安装208-B的软件更新116。在这样的示例中,当软件更新116正在被安装时,车辆ECU104可在不中断的情况下继续利用连接到存储区202-A的活动处理器204-A,以继续执行软件安装208-A。
当已将软件更新116安装到非活动存储区202-B的车辆ECU 104接收到用于交换安装的软件更新116的确认时,车辆ECU 104可被配置为切换开关 206,以使得非活动存储区202-B变为新的活动存储区202-A并且当前的活动存储区202-A变为新的非活动存储区202-B。开关206的这种切换可在车辆 102的下一初始化事件时被执行。作为一些非限制性示例,初始化事件可包括车辆点火开关接通、车辆点火开关断开和/或车辆ECU 104重新初始化事件。
作为另一示例,图2C和图2D示出了包括活动存储区202-A、非活动存储区202-B和处理器204的可编程存储器电路200。与图2A和图2B的处理器204-A和处理器204-B相比,处理器204可执行活动存储器202-A的软件安装208-A的运行,以及使用非活动存储器202-B执行软件安装208-B的更新。可编程存储器电路200还可包括或以其它方式访问车辆ECU 104的公钥 124,公钥124可被用于帮助验证接收的软件更新116。与图2A和图2B类似,图2C中的处理器204可基于更新的应用来对哪个存储区202是活动存储区 202-A以及哪个存储区202是非活动存储区202-B进行切换。
或者,作为另一示例(未示出),存储区202-A可存储软件安装208,存储区202-B可存储软件更新116。在这样的示例中,软件更新116可包括被应用到软件安装208以将软件安装208从软件版本210-A更新到软件版本210-B 的更新的差异。这种对于软件更新116的差异方式可允许更容易地下载软件更新116。当已将软件更新116接收到非活动存储区202-B的车辆ECU 104 接收到交换软件更新116的确认时,车辆ECU 104可被配置为将软件更新116 安装到存储器202-A。
图3示出用于将软件更新116安装到车辆ECU 104中的一个的示例数据流300。例如,交互可由远程信息处理控制单元108来执行,远程信息处理控制单元108通过车辆总线106与车辆ECU 104进行通信并且通过通信网络 110与更新服务器120进行通信。
在时间索引(A)处,更新服务器120通过通信网络110向车辆102发送更新消息302。例如,更新消息302可包括将被应用到车辆ECU 104的软件更新116。作为示例,更新服务器120可根据针对请求的车辆102保存的配置信息114来向车辆102发送软件更新116。作为一种可行方式,更新服务器120可通过安全超文本传输协议(HTTPS)来与车辆102的远程信息处理控制单元108进行通信。软件更新116可包括这样的数据,所述数据当被安装到车辆ECU104时将车辆ECU 104置于车辆ECU 104的最新的软件版本 (即,车辆ECU 104的软件的“许可的版本”)。更新服务器120还可将密码型强签名304与软件更新116一起包括在更新消息302中。可使用由数据存储区118保存的且与将被更新的车辆ECU 104关联的私钥122创建签名304。签名304可因此被用于提供真实性、完整性和不可抵赖性,并且可由车辆ECU 104在现场进行验证。
在时间索引(B)处,远程信息处理控制单元108接收具有软件更新116 和签名304的更新消息302,并且将软件更新116和签名304提供给将被更新的车辆ECU 104。在示例中,远程信息处理控制单元108可利用包括在软件更新116中的车辆ECU 104的标识符来将软件更新116和签名304通过车辆总线106引导到正确的车辆ECU 104。车辆ECU 104可相应地接收软件更新116和签名304。
在时间索引(C)处,车辆ECU 104验证并安装软件更新116。在示例中,响应于接收到软件更新116和对应的签名304,车辆ECU 104可使用公钥124来验证签名304。如果签名304被验证且软件更新116的版本确实高于安装到车辆ECU 104的活动存储区202-A的软件安装208的版本210-A(例如,不一样或较低版本),则车辆ECU 104可开始将下载的软件更新116安装到非活动存储区202-B。响应于安装到非活动存储区202-B,车辆ECU 104 可向远程信息处理控制单元108通知下载的软件更新116的状态,例如,软件更新116是否使用公钥124成功地被验证、软件更新116是否具有确实比安装到活动存储区202-A的版本更高的版本以及软件更新116是否成功地被闪存到非活动存储区202-B。
在时间索引(D)处,车辆ECU 104向远程信息处理控制单元108发送交换请求306。例如,已经确认许可的版本的软件更新116被成功地验证并且被安装到非活动存储区202-B之后,车辆ECU 104可产生交换请求306,请求更新服务器120允许车辆ECU 104从安装到活动存储区202-A的软件安装208-A交换到安装到非活动存储区202-B的新安装的许可的软件安装208-B。交换请求306可包括标识符308(诸如,车辆102的唯一标识符、正在被更新的车辆ECU 104的唯一标识符和/或被安装到非活动存储区202-B的软件更新116的标识符)。交换请求306还可包括由车辆ECU 104产生的临时值310 (例如,递增的计数器值、随机数、时间戳等)和/或基于在将软件更新116 应用到非活动存储区202-B之后的软件安装208-B的哈希值。远程信息处理控制单元108可通过车辆总线106接收来自车辆ECU 104的交换请求306。下面参照图4来描述在时间索引(C)和(D)处的操作的其它方面。
在时间索引(E)处,远程信息处理控制单元108向更新服务器120发送交换请求306。更新服务器120相应地接收来自车辆102的交换请求306。
在时间索引(F),更新服务器120验证交换请求306。在示例中,更新服务器120可接收交换请求306,并发送交换授权命令312。在其它示例中,交换授权命令312可仅在交换请求306被许可的情况下被发送。交换授权命令312可包括交换命令314、签名316和临时值310中的一个或更多个。为了许可交换请求306,更新服务器120可要求包括在交换请求306中的哈希值与由数据存储区118保存的应该已经针对正确的软件更新116的下载(或者在其它情况下,针对正确的软件更新116的安装)被计算的值相匹配。将被发送到车辆102的交换授权命令312可包括签名316,签名316由更新服务器120(或者命令和控制服务器)使用请求交换的车辆102的配置信息114 (例如,利用车辆102的车辆ECU 104的唯一序列号、利用非重复计数器值和/或使用软件版本指示(诸如,活动软件版本的版本号或者从安装到车辆 ECU104的软件更新116产生的哈希值))来签署。下面参照图5来描述在时间索引(F)处的操作的其它方面。
在时间索引(G)处,更新服务器120向车辆102发送交换授权命令312。远程信息处理控制单元108相应地从更新服务器120接收交换授权命令312。
在时间索引(H)处,远程信息处理控制单元108向车辆ECU 104发送交换授权命令312。在示例中,远程信息处理控制单元108可利用包括在交换授权命令312中的车辆ECU104的标识符,来将交换授权命令312通过车辆总线106引导到正确的车辆ECU 104。车辆ECU104可相应地接收交换授权命令312。
在时间索引(I)处,车辆ECU 104交换并完成软件更新116的安装。在示例中,车辆ECU 104可验证交换授权命令312的签名316,并且如果签名 316有效(并且如果命令314指示交换被许可),则确保或等待适当的交换条件。开始交换的条件可在部署时被预编程到车辆ECU 104中,或者连同交换授权命令312一起从更新服务器120被发送。车辆ECU 104还可在车辆ECU 104的存储区内标记出非活动存储区202-B将作为活动存储区202-A被重新启动,并可选地开始重新启动车辆ECU 104。当重新启动时,车辆ECU 104 可切换开关206,以使得非活动存储区202-B变为新的活动存储区202-A,并且使得当前的活动存储区202-B变为新的非活动存储区202-B。如果重新启动成功,则车辆ECU 104可将新的活动存储区202-A确认为活动存储区202-A,并可将先前活动的存储器确认为新的非活动存储区202-B。如果重新启动失败,则车辆ECU 104可再次重新启动回最后已知的良好的安装存储器存储区(即,先前的活动存储区202-A)。下面参照图6描述在时间索引(I)处的操作的其它方面。
图4示出用于验证和安装用于车辆ECU 104的软件更新116的示例处理 400。在示例中,处理400可由通过车辆总线106与远程信息处理控制单元 108进行通信的车辆ECU104来执行。
在操作402,车辆ECU 104接收软件更新116。在示例中,车辆ECU 104 响应于更新服务器120确定车辆102应该接收用于车辆ECU 104的软件更新 116,而从远程信息处理控制单元108接收更新消息302。
在操作404,车辆ECU 104验证软件更新116的签名304和版本。在示例中,车辆ECU104可利用由车辆ECU 104保存的公钥124来确保接收的软件更新116是由更新服务器120使用由数据存储区118保存的私钥122提供的。在另一示例中,车辆ECU 104可确认软件更新116的版本具有比用于车辆ECU 104的活动存储区202-A的软件安装208-A的软件版本210-A更高的版本号。
在操作406,车辆ECU 104确定软件更新116是否被许可安装。在示例中,如果在操作404的验证成功,则软件更新116可被许可安装。此外或可选地,软件更新管理器112可被配置为提示用户许可安装软件更新116,并且可指示来自用户的将软件更新116安装到车辆ECU 104的许可。如果软件更新116被许可安装,则控制转到操作410。否则,控制转到操作408。
在操作408,车辆ECU 104放弃软件更新116。在操作408之后,处理 400结束。
在操作410,车辆ECU 104将软件更新116安装到车辆ECU 104的非活动存储区202-B。在示例中,车辆ECU 104可将软件更新116安装到车辆ECU 104的非活动存储区202-B。车辆ECU 104可使用更新处理器204-B来执行安装,允许活动处理器204-A继续使用活动存储区202-A来执行车辆ECU 104 的操作。
在操作412,车辆ECU 104产生临时值310。在示例中,车辆ECU 104 可利用更新处理器204-B来产生随机数或者递增的计数器值。作为一些其它可行方式,车辆ECU 104可另外地或可选地利用包括在软件更新116中的哈希值以及交换授权请求的签名中的一个或更多个。
在操作414,车辆ECU 104发送交换授权请求306。在示例中,车辆ECU 104可创建包括临时值310、哈希值、签名值和/或车辆ECU 104的标识符308 的交换授权请求306。车辆ECU 104可向远程信息处理控制单元108发送将被发送到更新服务器120以进行许可的交换授权请求306。在操作414之后,处理400结束。
图5示出用于处理来自车辆ECU 104的交换授权请求306的示例处理 500。在示例中,处理500可由与数据存储118和通信网络110进行通信的更新服务器120来执行。
在操作502,更新服务器120接收交换授权请求306。在示例中,如上面参照处理400中的操作414描述的,更新服务器120可从远程信息处理控制单元108接收交换授权请求306。
在操作504,更新服务器120确定是否许可交换授权请求306。在示例中,更新服务器120可验证包括在交换授权请求306中的哈希值是否与由数据存储区118保存的用于软件更新116的哈希值(或者在其它示例中,应已经针对正确的软件更新116的安装而计算的哈希值)相匹配。如果交换授权请求 306被许可,则控制转到操作506。否则,控制转到操作508。
在操作506,更新服务器120产生交换授权命令312。在示例中,更新服务器120使用请求交换的车辆102的配置信息114(例如,利用车辆102的车辆ECU 104的唯一序列号、利用非重复计数器值和/或使用软件版本指示 (诸如,活动软件版本的版本号或者从安装到车辆ECU 104的软件更新116 产生的哈希值)),来产生签名316。在操作506之后,控制转到操作510。
在操作508,更新服务器120产生拒绝交换的交换授权命令312。在示例中,更新服务器120产生指示车辆102不交换到更新的版本的交换授权命令 312。在操作508之后,控制转到操作510。
在操作510,更新服务器120向车辆102的车辆ECU 104发送交换授权命令312。在示例中,更新服务器120可将交换授权命令312返回给由交换授权命令312指示的发送方车辆102。在操作510之后,处理500结束。
图6示出用于交换和完成软件更新116的安装的示例处理600。在示例中,处理600可由通过车辆总线106与远程信息处理控制单元108进行通信的车辆ECU 104来执行。
在操作602,车辆ECU 104接收交换授权命令312。在示例中,车辆ECU 104可如上面参照处理500中的操作510描述的从更新服务器120接收交换授权命令312。
在操作604,车辆ECU 104确定交换是否被更新服务器120授权。在示例中,车辆ECU104可使用公钥124来验证交换授权命令312的签名316,以确保签名316是有效的。在另一示例中,车辆ECU 104可验证由车辆ECU 104在操作412产生的且在操作414发送到更新服务器120的临时值310与从交换授权命令312中恢复的临时值310是否相同。在另一示例中,车辆ECU 104可验证交换授权命令312中的交换许可命令314是否指示许可车辆102 执行交换。在一些示例中,车辆ECU 104可执行这些验证中的两个或更多个,并且可要求所有的验证都通过。如果交换被确定为被车辆ECU 104授权,则操作转到操作606。否则,控制转到操作612。
在操作606,车辆ECU 104尝试交换到软件更新116。在示例中,车辆 ECU 104可确保执行交换的安全条件,所述安全条件可在部署时被预编程到车辆ECU 104,并连同交换授权命令312一起从更新服务器120被发送,车辆ECU 104可在车辆ECU 104的存储区202内进行如下标记:更新的存储器存储区202-B将作为活动存储器存储区202-A而被重新启动,并且,开始重新启动车辆ECU 104或者以其它方式等待重新启动发生(例如,在下一个车辆102的点火开关接通周期)。
在操作608,车辆ECU 104确定重新启动是否成功。在示例中,车辆ECU 104可确定新激活的软件安装208-B是否在无错误的情况下成功地启动至车辆ECU 104。如果新激活的软件安装208-B在无错误的情况下成功地启动至车辆ECU 104,则控制转到操作610。否则,控制转到操作612。
在操作610,车辆ECU 104将包括软件更新116的更新版本的软件安装 208-B确定为新的活动软件安装208-A。相应地,车辆ECU 104可将新的安装设置为活动存储器存储区202-A,并且可将先前的活动存储区设置回非活动状态。在操作610之后,处理600结束。
在操作612,车辆ECU 104可拒绝更新的安装。替代地,车辆ECU 104 可再次重新启动回最后已知的良好的安装存储器存储区。在操作612之后,处理600结束。
因此,通过使用两阶段更新过程,车辆ECU 104能够确保整个软件更新处理的安全性目标。例如,车辆ECU 104能够确保接收到的软件更新116是真实的、未损坏的且避免伪装攻击。此外,为了避免以前版本的攻击 (back-version attack),车辆ECU 104能够拒绝对于软件的较旧版本的软件更新116,即使较旧版本的软件更新116具有有效签名304。进一步地,车辆 ECU 104还能够拒绝用于在车辆ECU 104的多个存储区202中的存储器存储区202之间进行交换的未授权的请求。
一般而言,诸如车辆ECU 104、远程信息处理控制单元108和更新服务器120的计算系统和/或装置可利用多种计算机操作系统中的任何一种,所述多种计算机操作系统包括但绝不限于:Microsoft操作系统、Unix 操作系统(例如由加利福尼亚州红木滩(Redwood Shores)的甲骨文公司发布的操作系统)、由纽约州阿蒙克(Armonk)的国际商业机器公司发布的AIX UNIX操作系统、Linux操作系统、由加利福尼亚州的库比蒂诺 (Cupertino)的苹果公司发布的Mac OS X和iOS操作系统、由加拿大滑铁卢(Waterloo)的动态研究公司发布的黑莓OS或QNX操作系统以及由开放手机联盟开发的安卓操作系统的多个版本和/或种类。
诸如车辆ECU 104、远程信息处理控制单元108和更新服务器120的计算装置通常包括计算机可执行指令,所述计算机可执行指令可由一个或更多个计算装置的处理器执行。可通过使用各种编程语言和/或技术创建的计算机程序来编译或解释计算机可执行指令,所述编程语言和/或技术包括但不限于: JavaTM、C、C++、Visual Basic、Java Script、Perl等中的一种或它们的组合。一般地,处理器或微处理器从例如存储器、计算机可读介质等接收指令并执行这些指令,从而执行一个或更多个处理,所述一个或更多个处理包括在此描述的处理中的一个或更多个。可使用各种计算机可读介质来存储和传输这种指令以及其它数据。
计算机可读介质(也被称为处理器可读介质)包括参与提供可由计算机 (例如,由计算装置的处理器)读取的数据(例如,指令)的任何非暂时性 (例如,有形的)介质。这种介质可采用许多形式,所述许多形式包括但不限于非易失性介质和易失性介质。例如,非易失性介质可包括光盘或磁盘以及其它持久性存储器。例如,易失性介质可包括通常构成主存储器的动态随机存取存储器(DRAM)。这种指令可通过一个或更多个传输介质进行传输,所述一个或更多个传输介质包括同轴电缆、铜线和光纤,它们包括包含连接到计算机的处理器的系统总线的线缆。例如,计算机可读介质的常用形式包括:软盘、柔性盘、硬盘、磁带、任何其它磁性介质、CD-ROM、DVD、任何其它光学介质、打孔卡、纸带、具有孔图案的任何其它物理介质、RAM、 PROM、EPROM、FLASH-EEPROM、任何其它存储器芯片或盒式磁盘或者计算机可从其进行读取的任何其它介质。
数据库、数据存储库或其它数据存储(诸如,在此描述的数据存储区118) 可包括用于存储、访问和检索各种数据的各种机制,所述各种机制包括:分层数据库、文件系统中的一组文件、专用格式的应用数据库、关系型数据库管理系统(RDBMS)等。每个这样的数据存储通常被包括在使用计算机操作系统(诸如,上面提到的计算机操作系统之一)的计算装置中,并且以各种方式中的任何一种或更多种经由网络被访问。文件系统可通过计算机操作系统被访问,并且可包括以各种格式存储的文件。RDBMS除了利用用于创建、存储、编辑和执行所存储的程序的语言之外,RDBMS通常还使用结构化查询语言(SQL)(诸如上面提到的PL/SQL语言)。
在一些示例中,系统元素可被实现为在一个或更多个计算装置(例如,服务器、个人计算机等)上的计算机可读指令(例如,软件),所述计算机可读指令被存储在与所述计算装置相关联的计算机可读介质(例如,盘、存储器等)上。计算机程序产品可包括这种被存储在计算机可读介质上的用于执行在此描述的功能的指令。在此公开为由车辆ECU 104、远程信息处理控制单元108、软件更新管理器112和更新服务器120执行的一些操作或全部操作可以是计算机程序产品。在某示例中,这些计算机程序产品可作为软件被提供,当软件由一个或更多个处理器执行时,提供在此描述的操作。可选地,计算机程序产品可作为硬件或固件或者软件、硬件和/或固件的组合被提供。
对于在此描述的处理、系统、方法、启示等,应理解的是,虽然这种处理等的步骤已被描述为根据特定有序顺序发生,但是可利用以在此描述的顺序之外的顺序执行的所述步骤来实施这种处理。还应理解的是,可同时执行特定步骤,可添加其它步骤,或者可省略在此描述的特定步骤。换言之,在此对处理的描述被提供用于示出特定实施例的目的,并且不应以任何方式被解释为限制权利要求。
相应地,应理解的是,上面的描述意在为示意性的而非限制性的。当阅读上面的描述时,提供的示例之外的许多实施例和应用会是显然的。范围不应参考上面的描述来确定,而应参考权利要求以及这些权利要求所要求保护的等同物的全部范围来确定。可以预期和计划的是,未来的发展将发生在在此描述的技术中,并且所公开的系统和方法将被合并到这种未来的实施例中。总之,应理解的是,本申请能够进行修改和改变。
除非在此做出了明确的相反指示,否则权利要求中使用的所有术语意在给出在此描述的本领域技术人员所理解的它们最广义的合理解释以及它们的普遍含义。具体来讲,除非权利要求描述了明确的相反限制,否则诸如“一种”、“所述”、“该”等的单数冠词的使用应被理解为描述指示的元素中的一个或更多个。
本公开的摘要被提供以使得读者能够快速地确定本技术公开的本质。摘要服从于这种理解:摘要不被用于解释或限制权利要求的范围或含义。此外,在上述具体实施方式中,可以看到的是,各种功能在各种实施例中被组合在一起以用于使得本公开合理化。本公开的方法不被理解为反映这样的意图:要求的实施例需要比在每个权利要求中清楚地叙述的功能更多的功能。相反地,如上面的权利要求反映地,发明的主题在于少于单个的公开的实施例的所有特征。因此,上面的权利要求在此被合并到具体实施方式中,且每个权利要求作为独立要求的主题而独立。
虽然以上描述了示例性实施例,但是这些实施例并不意在描述本发明的所有可能形式。更确切地,说明书中所使用的词语是描述性词语而非限制性词语,并且应理解的是,可在不脱离本发明的精神和范围的情况下做出各种改变。此外,可将各种实现的实施例的特征进行组合以形成本发明的进一步的实施例。
Claims (18)
1.一种用于车辆软件更新的系统,包括:
第一存储区;
第二存储区;
车辆电子控制单元,被配置为:
将从服务器接收的软件更新下载到所述第一存储区;
产生与所述软件更新关联的临时值,所述临时值包括所述车辆电子控制单元的每个模块的唯一序列号以及与所述软件更新的哈希值关联的时间戳;
向服务器发送交换授权请求,以切换到包括所述临时值的软件更新;
接收包括从服务器恢复的临时值的交换授权;
当由车辆电子控制单元产生的临时值与从服务器恢复的临时值相匹配时,使用所述第一存储区而不是所述第二存储区来进行重新启动。
2.如权利要求1所述的系统,其中,车辆电子控制单元还被配置为:响应于车辆电子控制单元成功地启动至所述第一存储区,将所述第一存储区而不是所述第二存储区确认为活动以用于启动。
3.如权利要求1所述的系统,其中,交换授权包括使用服务器的私钥签署的签名,车辆电子控制单元还被配置为:使用安装到车辆电子控制单元的公钥来验证所述签名。
4.如权利要求1所述的系统,其中,车辆电子控制单元还被配置为:
从服务器接收软件更新的签名;
使用所述签名和安装到车辆电子控制单元的密钥来验证软件更新的真实性。
5.如权利要求4所述的系统,其中,所述密钥是与私钥对应的公钥和对称密钥中的一个,其中,利用所述私钥对软件更新进行签名,利用所述对称密钥对软件更新进行签名。
6.如权利要求1所述的系统,其中,车辆电子控制单元还被配置为:当从服务器恢复的临时值与产生的临时值匹配失败时,放弃软件更新。
7.如权利要求1所述的系统,其中,车辆电子控制单元还被配置为:当车辆电子控制单元执行车辆电子控制单元的到所述第二存储区的软件安装时,将软件更新应用到所述第一存储区。
8.一种用于车辆软件更新的系统,包括:
临时值,包括电子控制单元的每个模块的唯一序列号以及与软件更新的哈希值关联的时间戳;
服务器,被配置为:
向车辆发送软件更新以安装到电子控制单元;
从车辆接收交换请求,以切换到包括所述临时值的软件更新;
响应于所述交换请求,向车辆发送交换授权命令,所述交换授权命令包括另一临时值,从而当由电子控制单元产生的临时值与服务器发送的所述另一临时值相匹配时,使用第一存储区而不是第二存储区来引导车辆进行重新启动。
9.如权利要求8所述的系统,还包括数据存储区,所述数据存储区被配置为保存软件更新,其中,服务器还被配置为在数据存储区中检索软件更新。
10.如权利要求8所述的系统,其中,服务器还被配置为:
使用与由车辆存储的公钥匹配的私钥和由车辆存储的对称密钥中的至少一个来产生签名;
将所述签名包括在交换授权命令中。
11.如权利要求8所述的系统,其中,服务器还被配置为:
在数据库中检索与软件更新对应的哈希值;
通过将交换请求的哈希值与来自数据库的哈希值进行比较,确定软件更新的哈希值是否匹配。
12.一种用于车辆软件更新的方法,包括:
针对下载到控制器的第一存储区的软件更新产生第一临时值,所述第一临时值包括所述控制器的唯一标识符以及与软件更新的哈希值关联的时间戳;
向服务器发送包括所述第一临时值的交换授权请求;
从服务器接收包括第二临时值的交换授权;
当所述第一临时值与所述第二临时值相匹配时,使用所述第一存储区而不是第二存储区来进行重新启动。
13.如权利要求12所述的方法,还包括:响应于所述控制器成功地启动至第一存储区时,将所述第一存储区而不是第二存储区确认为活动以用于启动。
14.如权利要求12所述的方法,其中,软件更新包括将被应用到所述控制器的软件安装的更新的差异,所述方法还包括:响应于当所述第一临时值与所述第二临时值相匹配时重新启动所述控制器,将软件更新应用到软件安装。
15.如权利要求12所述的方法,其中,交换授权包括签名,所述方法还包括:使用安装到所述控制器的密钥来验证所述签名。
16.如权利要求12所述的方法,还包括:
接收软件更新的签名;
使用所述签名和安装到所述控制器的密钥来验证软件更新的真实性。
17.如权利要求12所述的方法,还包括:当所述第二临时值与所述第一临时值匹配失败时,放弃软件更新。
18.如权利要求12所述的方法,还包括:当所述控制器对用作所述控制器的活动存储区的第二存储区执行软件安装时,将软件更新应用到作为非活动存储区而操作的第一存储区。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/834,868 US9916151B2 (en) | 2015-08-25 | 2015-08-25 | Multiple-stage secure vehicle software updating |
US14/834,868 | 2015-08-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484457A CN106484457A (zh) | 2017-03-08 |
CN106484457B true CN106484457B (zh) | 2021-06-01 |
Family
ID=58010679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610726252.1A Active CN106484457B (zh) | 2015-08-25 | 2016-08-25 | 多阶段的安全的车辆软件更新的方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9916151B2 (zh) |
CN (1) | CN106484457B (zh) |
DE (1) | DE102016115545A1 (zh) |
Families Citing this family (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017057111A1 (ja) * | 2015-09-29 | 2017-04-06 | 日立オートモティブシステムズ株式会社 | 車載制御装置、プログラム更新システム、及び、プログラム更新ソフトウェア |
JP6675271B2 (ja) | 2015-09-14 | 2020-04-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 |
EP4113287B1 (en) | 2015-09-14 | 2024-03-06 | Panasonic Intellectual Property Corporation of America | Gateway device, in-vehicle network system, and firmware update method |
US10412088B2 (en) * | 2015-11-09 | 2019-09-10 | Silvercar, Inc. | Vehicle access systems and methods |
KR101966626B1 (ko) * | 2016-02-11 | 2019-04-09 | 현대자동차주식회사 | 차량용 무선 소프트웨어 업데이트 방법 및 장치 |
KR101831134B1 (ko) * | 2016-05-17 | 2018-02-26 | 현대자동차주식회사 | 암호화를 적용한 제어기 보안 방법 및 그 장치 |
JP6260067B1 (ja) * | 2016-08-09 | 2018-01-17 | Kddi株式会社 | 管理システム、鍵生成装置、車載コンピュータ、管理方法、及びコンピュータプログラム |
US11212109B2 (en) * | 2016-08-10 | 2021-12-28 | Kddi Corporation | Data provision system, data security device, data provision method, and computer program |
CN107809324B (zh) * | 2016-09-07 | 2022-01-25 | 中兴通讯股份有限公司 | 一种车载自动诊断系统设备及其升级方法 |
WO2018079006A1 (ja) * | 2016-10-27 | 2018-05-03 | 住友電気工業株式会社 | 制御装置、プログラム更新方法、およびコンピュータプログラム |
EP3532926A1 (en) * | 2016-10-31 | 2019-09-04 | Harman Becker Automotive Systems GmbH | Software update mechanism for safety critical systems |
US10275739B2 (en) * | 2017-01-05 | 2019-04-30 | International Business Machines Corporation | Tracking assets with a blockchain |
US10416985B2 (en) * | 2017-02-16 | 2019-09-17 | Ford Global Technologies, Llc | Method and apparatus for multi cycle vehicle software update compliance handling |
WO2018150820A1 (ja) * | 2017-02-17 | 2018-08-23 | 日立オートモティブシステムズ株式会社 | 情報処理装置 |
US10303456B2 (en) * | 2017-03-23 | 2019-05-28 | Intel Corporation | Technologies for performing energy efficient software distribution |
US10353696B2 (en) * | 2017-04-13 | 2019-07-16 | Blackberry Limited | Program release packages including program updates |
US11194562B2 (en) * | 2017-05-19 | 2021-12-07 | Blackberry Limited | Method and system for hardware identification and software update control |
US10237131B2 (en) * | 2017-06-14 | 2019-03-19 | Noritz Corporation | Communication adapter and program update method for communication adapter |
JP6751057B2 (ja) * | 2017-07-04 | 2020-09-02 | 日立オートモティブシステムズ株式会社 | 電子制御システム |
US10075576B1 (en) * | 2017-07-20 | 2018-09-11 | Caterpillar Inc. | Starting a machine through a mobile device |
CN111133412A (zh) | 2017-07-25 | 2020-05-08 | 奥罗拉实验室有限公司 | 基于工具链构建车辆ecu软件的软件增量更新和异常检测 |
JP6773617B2 (ja) | 2017-08-21 | 2020-10-21 | 株式会社東芝 | 更新制御装置、ソフトウェア更新システムおよび更新制御方法 |
US11096058B2 (en) * | 2017-08-30 | 2021-08-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Reconfiguration of communications devices |
US10396979B2 (en) * | 2017-09-01 | 2019-08-27 | Honda Motor Co., Ltd. | Methods and systems for creating a unique identification number to maintain customer privacy |
US10678954B2 (en) * | 2017-09-21 | 2020-06-09 | GM Global Technology Operations LLC | Cybersecurity vulnerability prioritization and remediation |
DE102017217807A1 (de) * | 2017-10-06 | 2019-04-11 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und vorrichtung zum verarbeiten einer software-aktualisierung |
DE102017218872A1 (de) * | 2017-10-23 | 2019-04-25 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Aktualisieren von Software eines Kfz-Steuergerätes |
US11647077B2 (en) | 2017-11-10 | 2023-05-09 | Ford Global Technologies, Llc | VIN ESN signed commands and vehicle level local web of trust |
US10812257B2 (en) | 2017-11-13 | 2020-10-20 | Volkswagen Ag | Systems and methods for a cryptographically guaranteed vehicle identity |
US10652742B2 (en) * | 2017-11-20 | 2020-05-12 | Valeo Comfort And Driving Assistance | Hybrid authentication of vehicle devices and/or mobile user devices |
DE102017222882A1 (de) | 2017-12-15 | 2019-06-19 | Volkswagen Aktiengesellschaft | Vorrichtungen, Verfahren und Computerprogramm zum Freischalten von Fahrzeugkomponenten, Fahrzeug-zu-Fahrzeug-Kommunikationsmodul |
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 |
US10850684B2 (en) * | 2017-12-19 | 2020-12-01 | Micron Technology, Inc. | Vehicle secure messages based on a vehicle private key |
CN108279916B (zh) * | 2017-12-28 | 2021-12-07 | 宁德时代新能源科技股份有限公司 | 电子控制单元程序更新方法和装置 |
ES2890430T3 (es) * | 2017-12-28 | 2022-01-19 | Shenzhen Launch Software Co Ltd | Método y dispositivo de verificación de instrucciones para aparato de diagnóstico, y ordenador de nivel inferior |
EP3531322A4 (en) * | 2017-12-28 | 2020-01-22 | Shenzhen Launch Software Co., Ltd. | METHOD AND DEVICE FOR CHECKING THE UPDATE OF A DIAGNOSTIC PLUG OF A DIAGNOSTIC DEVICE AND DIAGNOSTIC PLUG |
WO2019139911A1 (en) | 2018-01-09 | 2019-07-18 | Justdo, Inc. | Scripting language computer program modification methodology, system and software |
US10776096B2 (en) * | 2018-01-12 | 2020-09-15 | Blackberry Limited | Method and system for controlling software updates on a network connected device |
US11397571B2 (en) * | 2018-01-17 | 2022-07-26 | Kymeta Corporation | Method and apparatus for remotely updating satellite devices |
JP7010049B2 (ja) * | 2018-02-16 | 2022-01-26 | トヨタ自動車株式会社 | 車両制御装置、プログラムの更新確認方法および更新確認プログラム |
JP7047444B2 (ja) | 2018-02-16 | 2022-04-05 | トヨタ自動車株式会社 | 車両制御装置、電子制御ユニット、制御方法、制御プログラム、車両、otaマスタ、システム及びセンタ |
IT201800002895A1 (it) * | 2018-02-21 | 2019-08-21 | Stmicroelectronics Application Gmbh | Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento |
US10693662B2 (en) | 2018-02-22 | 2020-06-23 | Idlogiq Inc. | Methods for secure serialization of supply chain product units |
JP2019153043A (ja) * | 2018-03-02 | 2019-09-12 | トヨタ自動車株式会社 | ソフトウェア管理システムおよびソフトウェア管理方法 |
JP7035635B2 (ja) * | 2018-03-07 | 2022-03-15 | トヨタ自動車株式会社 | 車両制御システム及び車両制御システムにおけるソフトウェアの整合性確認方法 |
JP6973262B2 (ja) * | 2018-04-18 | 2021-11-24 | トヨタ自動車株式会社 | 車両向けサービス提供システム、車載装置およびコマンド送信方法 |
JP6969519B2 (ja) * | 2018-07-30 | 2021-11-24 | 株式会社デンソー | センター装置、車両状態の特定結果表示システム、車両状態の特定結果送信プログラム及び車両状態の特定結果送信方法 |
CN108881303A (zh) * | 2018-08-06 | 2018-11-23 | 罗伯特·博世有限公司 | 具有计算功能的节点、安全验证网络和安全验证方法 |
US10592231B2 (en) * | 2018-08-10 | 2020-03-17 | Denso Corporation | Vehicle information communication system |
JP7338280B2 (ja) * | 2018-08-10 | 2023-09-05 | 株式会社デンソー | 車両用電子制御システム、車両用マスタ装置、メータ装置、プログラム更新の報知制御方法、インジケータの表示指示プログラム及びインジケータの表示プログラム |
US11579865B2 (en) | 2018-08-10 | 2023-02-14 | Denso Corporation | Vehicle information communication system |
JP7419689B2 (ja) * | 2018-08-10 | 2024-01-23 | 株式会社デンソー | 車両用電子制御システム、センター装置、車両用マスタ装置、表示制御情報の送信制御方法、表示制御情報の受信制御方法、表示制御情報の送信制御プログラム及び表示制御情報の受信制御プログラム |
US11163549B2 (en) | 2018-08-10 | 2021-11-02 | Denso Corporation | Vehicle information communication system |
JP7408937B2 (ja) * | 2018-08-10 | 2024-01-09 | 株式会社デンソー | センター装置,配信パッケージの生成方法及び配信パッケージ生成用プログラム |
US20200104118A1 (en) * | 2018-09-28 | 2020-04-02 | Bose Corporation | Systems and methods for providing staged updates in embedded devices |
KR20200056192A (ko) * | 2018-11-14 | 2020-05-22 | 현대자동차주식회사 | 데이터 통신 시스템과 데이터 통신 방법, 서버, 차량 |
CN111294795B (zh) * | 2018-12-10 | 2023-09-15 | 大陆汽车电子(连云港)有限公司 | 用于实现车内通信的系统 |
US11329983B2 (en) * | 2019-03-25 | 2022-05-10 | Micron Technology, Inc. | Validating an electronic control unit of a vehicle |
DE102019205368A1 (de) * | 2019-04-12 | 2020-10-15 | Volkswagen Aktiengesellschaft | Kraftfahrzeug |
CN110138642B (zh) * | 2019-04-15 | 2021-09-07 | 深圳市纽创信安科技开发有限公司 | 一种基于can总线的安全通信方法和系统 |
FR3096160B1 (fr) * | 2019-05-16 | 2021-09-10 | Renault Sas | Procédé d’installation d’un composant informatique et équipement électronique associé |
EP3742295A1 (en) * | 2019-05-23 | 2020-11-25 | NXP USA, Inc. | Automatic firmware rollback |
JP7008661B2 (ja) * | 2019-05-31 | 2022-01-25 | 本田技研工業株式会社 | 認証システム |
CN110096289B (zh) * | 2019-06-28 | 2019-09-13 | 奥特酷智能科技(南京)有限公司 | 自动驾驶异构平台开发环境的快速部署方法 |
US11606376B2 (en) * | 2019-07-25 | 2023-03-14 | Battelle Memorial Institute | CAN bus protection systems and methods |
JP7253470B2 (ja) * | 2019-07-31 | 2023-04-06 | 株式会社デンソーテン | 情報処理装置 |
TWI716135B (zh) * | 2019-10-04 | 2021-01-11 | 財團法人資訊工業策進會 | 用於車用網路之安全監控裝置及方法 |
US11422792B2 (en) | 2019-10-09 | 2022-08-23 | Toyota Motor North America, Inc. | Management of transport software updates |
US11294662B2 (en) | 2019-10-09 | 2022-04-05 | Toyota Motor North America, Inc. | Management of transport software updates |
US11169795B2 (en) * | 2019-10-09 | 2021-11-09 | Toyota Motor North America, Inc. | Management of transport software updates |
CN112702374B (zh) * | 2019-10-23 | 2022-04-12 | 北京新能源汽车股份有限公司 | 一种车辆信息的处理方法、装置及车辆 |
JP7358928B2 (ja) * | 2019-11-14 | 2023-10-11 | 株式会社デンソー | 車両用電子制御システム、データ中継装置、キャンペーン情報の配信制御方法及びキャンペーン情報の配信制御プログラム |
WO2021134612A1 (en) * | 2019-12-31 | 2021-07-08 | Huawei Technologies Co., Ltd. | Method for managing software versions of electronic device (s) in a vehicle and related device |
CN113162959B (zh) * | 2020-01-23 | 2023-06-30 | 华为技术有限公司 | 车载设备的升级方法和装置 |
US20230161583A1 (en) * | 2020-03-06 | 2023-05-25 | Sonatus, Inc. | System, method, and apparatus for managing vehicle automation |
JP7279668B2 (ja) * | 2020-03-12 | 2023-05-23 | トヨタ自動車株式会社 | 車載用制御装置 |
JP7415726B2 (ja) * | 2020-03-26 | 2024-01-17 | 株式会社オートネットワーク技術研究所 | 車載情報処理装置、情報処理方法及びサーバプログラム |
CN111552491A (zh) * | 2020-04-22 | 2020-08-18 | 北京小马智行科技有限公司 | 移动载体的中转设备的固件升级的方法、装置与存储介质 |
US11593282B2 (en) * | 2020-05-12 | 2023-02-28 | Francesco E. DeAngelis | Dual memory secure digital (SD) card and system and method for wirelessly and automatically updating data in host computer using dual memory SD card |
DE102020114098A1 (de) | 2020-05-26 | 2021-12-02 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren, System, Computerprogramm und Speichermedium zur Dokumentation einer Aktualisierung von Software einer Komponente eines Fahrzeugs |
KR20220001924A (ko) * | 2020-06-30 | 2022-01-06 | 현대자동차주식회사 | 차량의 ecu 업데이트 제어 장치 및 그 방법 |
JP7405033B2 (ja) * | 2020-07-20 | 2023-12-26 | トヨタ自動車株式会社 | サーバ、更新管理方法、更新管理プログラム、ソフトウェア更新装置、サーバ及びソフトウェア更新装置を備えるシステム、センタ、otaマスタ、センタ及びotaマスタを備えるシステム |
JP7371585B2 (ja) * | 2020-07-28 | 2023-10-31 | トヨタ自動車株式会社 | ソフトウェア更新装置、更新制御方法、更新制御プログラム及びサーバ |
FR3113750B1 (fr) * | 2020-08-26 | 2023-10-20 | Renault Sas | Procédé pour une modification logicielle dans un véhicule automobile |
JP2022121300A (ja) * | 2021-02-08 | 2022-08-19 | トヨタ自動車株式会社 | 車両用制御装置 |
DE102021202015A1 (de) * | 2021-03-03 | 2022-09-08 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Betreiben eines Steuergeräts und Steuergerät |
WO2022188043A1 (zh) * | 2021-03-09 | 2022-09-15 | 华为技术有限公司 | 一种通过空中下载ota技术获取文件的方法及相关设备 |
US11271971B1 (en) * | 2021-03-19 | 2022-03-08 | King Saud University | Device for facilitating managing cyber security health of a connected and autonomous vehicle (CAV) |
JP7406522B2 (ja) * | 2021-03-25 | 2023-12-27 | 本田技研工業株式会社 | 制御装置、及び、端末装置 |
US20220345886A1 (en) * | 2021-04-22 | 2022-10-27 | Ford Global Technologies, Llc | Unauthorized device resource drain prevention |
US11868755B2 (en) * | 2021-07-30 | 2024-01-09 | Toyota Motor Engineering & Manufacturing North America, Inc. | Updating software installed on an electronic unit on a vehicle |
DE102021129670A1 (de) | 2021-11-15 | 2023-05-17 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren, Fahrzeugkomponente und Computerprogramm zum Einräumen einer Berechtigung zum Ausführen eines Computerprogramms durch eine Fahrzeugkomponente eines Fahrzeugs |
CN115828273B (zh) * | 2021-11-29 | 2024-03-29 | 宁德时代新能源科技股份有限公司 | 车辆安全启动方法、装置,电子控制单元及存储介质 |
CN116414052A (zh) * | 2021-12-29 | 2023-07-11 | 康明斯有限公司 | 用于定制校准更新的系统和方法 |
US11886862B2 (en) * | 2022-02-01 | 2024-01-30 | GM Global Technology Operations LLC | Vehicle software updating technique |
JP2023155040A (ja) * | 2022-04-08 | 2023-10-20 | マックス株式会社 | 電動工具 |
CN116755747B (zh) * | 2023-08-16 | 2023-10-24 | 深圳市德兰明海新能源股份有限公司 | 一种软件开发升级管理方法、装置及电子设备 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7315948B1 (en) * | 1999-12-10 | 2008-01-01 | International Business Machines Corporation | Time stamping method employing a separate ticket and stub |
US20040054952A1 (en) * | 2002-09-13 | 2004-03-18 | Morrow James W. | Device verification system and method |
US7366589B2 (en) | 2004-05-13 | 2008-04-29 | General Motors Corporation | Method and system for remote reflash |
US20060005046A1 (en) | 2004-06-30 | 2006-01-05 | Seagate Technology Llc | Secure firmware update procedure for programmable security devices |
DE102004055505A1 (de) * | 2004-11-17 | 2006-05-24 | Nec Europe Ltd. | Verfahren zur Autorisierung von Dienst-Anfragen an Service Hosts in einem Netzwerk |
US20060259207A1 (en) * | 2005-04-20 | 2006-11-16 | Denso Corporation | Electronic control system for automobile |
US7404028B2 (en) * | 2005-06-30 | 2008-07-22 | Gm Global Technology Operations, Inc. | ECU identification retention across reprogramming events |
CN101431413B (zh) * | 2007-11-08 | 2012-04-25 | 华为技术有限公司 | 进行认证的方法、系统、服务器及终端 |
US7926091B2 (en) | 2007-11-27 | 2011-04-12 | GM Global Technology Operations LLC | Secure over-the-air modification of automotive vehicular options |
ES2371995T3 (es) * | 2007-12-13 | 2012-01-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Actualización del firmware de un dispositivo electrónico. |
US8775808B2 (en) * | 2009-05-26 | 2014-07-08 | Hewlett-Packard Development Company, L.P. | System and method for performing a management operation |
US8589302B2 (en) * | 2009-11-30 | 2013-11-19 | Intel Corporation | Automated modular and secure boot firmware update |
KR20110087111A (ko) * | 2010-01-25 | 2011-08-02 | 현대모비스 주식회사 | 블루투스를 이용한 avn 헤드 유닛과 ecu의 업그레이드 시스템 및 그 방법 |
CN104145452B (zh) * | 2012-03-02 | 2017-10-31 | 三菱电机株式会社 | 信息处理装置、电子控制单元以及信息处理方法 |
EP2680534B1 (en) * | 2012-06-28 | 2017-12-27 | Harman Becker Automotive Systems GmbH | Logging for telematic systems |
CN103631607B (zh) * | 2012-08-21 | 2016-10-05 | 广州汽车集团股份有限公司 | 一种车载ecu软件刷新防错方法及系统 |
JP5864510B2 (ja) * | 2013-10-18 | 2016-02-17 | 富士通株式会社 | 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置 |
-
2015
- 2015-08-25 US US14/834,868 patent/US9916151B2/en active Active
-
2016
- 2016-08-22 DE DE102016115545.4A patent/DE102016115545A1/de active Pending
- 2016-08-25 CN CN201610726252.1A patent/CN106484457B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
DE102016115545A1 (de) | 2017-03-02 |
US9916151B2 (en) | 2018-03-13 |
US20170060559A1 (en) | 2017-03-02 |
CN106484457A (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484457B (zh) | 多阶段的安全的车辆软件更新的方法及系统 | |
CN108268264B (zh) | 预关闭交换验证 | |
CN105691330B (zh) | 远程信息处理更新软件兼容性 | |
CN110351314B (zh) | 汽车控制器的远程升级方法及计算机可读存储介质 | |
CN107528821B (zh) | 用于远程信息处理控制单元的数据更新的系统和方法 | |
CN106487778B (zh) | 车载网络服务器远程信息处理系统和方法 | |
US11618395B2 (en) | Vehicle data verification | |
CN111061499B (zh) | 一种基于文件系统的ecu更新方法及系统 | |
US9464905B2 (en) | Over-the-air vehicle systems updating and associate security protocols | |
CN107786683B (zh) | 移动装置网络地址服务器更新 | |
US8978160B2 (en) | Method for selective software rollback | |
US20200057630A1 (en) | Method and Apparatus for Wirelessly Updating Software for Vehicle | |
CN111385191A (zh) | 车载互联网关、车辆ota升级系统和方法、计算机存储介质 | |
US20150121457A1 (en) | Programming vehicle modules from remote devices and related methods and systems | |
US11196560B2 (en) | Policy and token based authorization framework for connectivity | |
US10939296B2 (en) | Vehicle smart connection | |
CN110920560A (zh) | 云授权车辆控制 | |
WO2021184313A1 (zh) | 证书列表更新方法及装置 | |
Kim et al. | ECU software updating scenario using OTA technology through mobile communication network | |
CN116938443A (zh) | 不可否认的交通工具变更历史 | |
CN113179516A (zh) | 用于自主车辆的认证pin冲突防止 | |
US11417157B2 (en) | Storing vehicle data | |
CN111064630A (zh) | 更新前和更新后交通工具总线流量指纹识别 | |
US11704948B2 (en) | Mobile device vehicle bonding with inactive bond records | |
US20240053974A1 (en) | Secure update and audit of electronic control units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |