CN105260198A - 车辆软件更新验证 - Google Patents

车辆软件更新验证 Download PDF

Info

Publication number
CN105260198A
CN105260198A CN201510398246.3A CN201510398246A CN105260198A CN 105260198 A CN105260198 A CN 105260198A CN 201510398246 A CN201510398246 A CN 201510398246A CN 105260198 A CN105260198 A CN 105260198A
Authority
CN
China
Prior art keywords
vehicle
software upgrading
mobile device
update server
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510398246.3A
Other languages
English (en)
Other versions
CN105260198B (zh
Inventor
斯科特·斯迈瑞卡
贾斯廷·迪考
乔尔·J·菲舍尔
雅各布·R·西格尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Livio Inc
Original Assignee
Myine Electronics LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Myine Electronics LLC filed Critical Myine Electronics LLC
Publication of CN105260198A publication Critical patent/CN105260198A/zh
Application granted granted Critical
Publication of CN105260198B publication Critical patent/CN105260198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Arrangement of adaptations of instruments
    • B60K35/29
    • B60K35/80
    • B60K35/85
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • B60K2360/182
    • B60K2360/573
    • B60K2360/5899
    • B60K2360/592
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

公开了一种车辆软件更新验证。移动装置可与车辆关联以用于软件更新的验证。所述移动装置可被配置为:接收包括加密密钥的消息,其中,针对车辆的软件更新利用所述加密密钥而被加密;提供请求用户验证软件更新的安装的用户界面;响应于接收到用户验证,向车辆提供加密密钥以允许车辆对软件更新进行解密。更新服务器可被配置为:将使用加密密钥加密的软件更新发送到车辆;从车辆接收请求,其中,所述请求用于请求将用于对软件更新加密的所述加密密钥提供给与车辆关联的移动装置以用于软件更新的验证;响应于所述请求将所述加密密钥发送到移动装置。

Description

车辆软件更新验证
技术领域
本公开总体上涉及使用与车辆关联的用户装置对被提供给车辆的软件更新进行验证。
背景技术
为了更新车辆组件的软件版本,可将车辆开到经销商并由技师进行维修。技师可利用跟踪车辆中的每个组件的各自的软件级别以及可用的软件更新的系统。技师可手动地应用由该系统指示的软件更新,并将任何改变反馈记录到所述系统中。
发明内容
在第一示意性实施例中,一种系统包括移动装置,所述移动装置与车辆关联以用于软件更新的验证,所述移动装置被配置为:接收包括加密密钥的消息,其中,针对车辆的软件更新利用所述加密密钥而被加密;提供请求用户验证软件更新的安装的用户界面;响应于接收到用户验证,向车辆提供所述加密密钥以允许车辆对软件更新进行解密。
根据本发明的一个实施例,所述移动装置还可被配置为:呈现请求用户确认车辆与所述移动装置应被关联以用于软件更新的验证的用户界面;响应于从用户接收到所述关联的确认,向车辆提供表明移动装置与车辆关联以用于软件更新的验证的指示。
根据本发明的一个实施例,所述软件更新可由车辆从更新服务器接收,所述加密密钥为非对称密钥,其中,更新服务器利用所述非对称密钥对软件更新进行加密。
根据本发明的一个实施例,可从更新服务器接收所述包括所述加密密钥的消息。
根据本发明的一个实施例,所述软件更新可由更新服务器和车辆存储的附加的加密密钥被进一步加密,并且所述车辆还可被配置为:使用所述附加的加密密钥对所述软件更新进行解密;向更新服务器发送请求,来请求将所述包括所述加密密钥的消息提供给所述移动装置。
根据本发明的一个实施例,所述附加的加密密钥是对称密钥。
在第二示意性实施例中,一种系统包括车辆计算系统,所述车辆计算系统,被配置为:从更新服务器接收软件更新;向更新服务器发送请求,来请求将用于对所述软件更新加密的加密密钥提供给与车辆关联的移动装置以用于所述软件更新的验证;响应于所述移动装置接收到用户验证,从所述移动装置接收所述加密密钥以对所述软件更新进行解密。
在第三示意性实施例中,一种系统包括更新服务器,所述更新服务器被配置为:将使用加密密钥加密的软件更新发送到车辆;从车辆接收请求,其中,所述请求用于请求将已用于对软件更新加密的所述加密密钥提供给与车辆关联的移动装置以用于软件更新的验证;响应于所述请求而将所述加密密钥发送到所述移动装置。
根据本发明的一个实施例,所述更新服务器还可被配置为使用所述加密密钥对软件更新进行加密。
根据本发明的一个实施例,所述更新服务器还可被配置为:保持对指示与车辆关联的移动装置的信息的访问;基于指示与车辆关联的移动装置的信息将所述加密密钥发送到所述移动装置。
根据本发明的一个实施例,所述更新服务器还可被配置为:从车辆接收指示与车辆关联的移动装置的信息,基于指示与车辆关联的移动装置的信息将所述加密密钥发送到所述移动装置。
根据本发明的一个实施例,所述加密密钥是非对称密钥。
根据本发明的一个实施例,所述更新服务器还可被配置为根据由车辆保持的附加的加密密钥来对软件更新进行加密。
根据本发明的一个实施例,所述附加的加密密钥是对称密钥。
附图说明
图1示出针对车辆的基于车辆的计算系统的示例性方框拓扑图;
图2示出用于通过移动装置向车辆提供软件更新的多因子验证的示例性系统;
图3示出用于将移动装置与车辆进行关联以用于软件更新的验证的示例性用户界面;
图4示出用于使用移动装置来确认软件更新的安装的示例性用户界面;
图5A示出用于通过移动装置向车辆提供软件更新的多因子验证的示例性数据流;
图5B示出用于通过移动装置向车辆提供软件更新的多因子验证的另一种可替换的示例性数据流;
图5C示出用于通过移动装置向车辆提供软件更新的多因子验证的另一种可替换的示例性数据流;
图6示出用于向车辆提供多因子加密的软件更新的示例性处理;
图7示出用于向车辆提供多因子加密软件更新的另一种可替换的示例性处理;
图8示出用于确认软件更新安装到车辆的示例性处理;
图9示出用于由车辆安装多因子加密的软件更新的示例性处理。
具体实施方式
根据需要,在此公开本发明的详细实施例;然而,将理解的是,所公开的实施例仅仅是本发明的示例,其中,本发明可以以各种可替代形式来实现。附图无需按比例绘制;一些特征可被夸大或最小化以示出特定组件的细节。因此,在此公开的具体结构和功能细节不应被解释为具有限制性,而仅仅是用于教导本领域技术人员以多种方式利用本发明的代表性基础。
软件更新可通过各种在线机制被传送到车辆。例如,车辆可将内部调制解调器或连接的移动装置用作数据连接,来以无线方式检索软件更新。
为了确保软件更新的安全性,以及确保未授权的更新不会被恶意地提供到车辆,更新服务器可被配置为对软件更新进行加密以由车辆进行解密。可使用车辆和更新服务器已知但第三方未知的加密因子(诸如,对称密钥)来执行加密。当接收到加密的软件更新时,车辆可使用加密因子来对软件更新进行解密以进行安装。
为了进一步提高软件更新的安全性,可使用车辆未知的第二加密因子来执行第二级别或因子的加密。例如,在使用第一因子对软件更新进行加密之前,更新服务器可使用第二因子(例如,非对称密钥)来对软件更新进行进一步加密。车辆可接收加密的更新,并根据车辆已知的第一因子来对该更新进行解密。然后,为了完成更新文件的解密,车辆可向更新服务器请求所述第二因子。
然而,更新服务器可通过向与车辆关联的电话或其他移动装置提供包括第二因子的消息而不是向车辆提供第二因子,来响应于该请求。作为一些示例,该消息可作为短消息服务(SMS)消息或其他类型的即时消息被提供给关联装置,或者,作为推送通知被提供给由关联装置执行的应用。关联装置可接收包括第二因子的消息,并可向车辆提供第二因子以完成解密处理。在一些情况下,关联装置可被配置为提示用户确认软件更新将被执行用于车辆。作为一种可行方式,如果用户同意软件更新的安装,则关联装置可向车辆提供第二因子信息。作为另一可行方式,关联装置可向用户显示第二因子信息,并且如果用户同意执行该更新,则他或她可将第二因子信息输入到车辆中。
因此,通过使用关联装置,系统可确保只有白名单的用户(诸如,车辆拥有者)能够更新车辆软件。如果另一用户试图执行固件更新,则拥有者的关联电话可向用户请求许可安装软件更新,从而向拥有者通知未授权的更新企图。
图1示出用于车辆31的基于车辆的计算系统(VCS)1的示例方框拓扑图。这种基于车辆的计算系统1的示例为由福特汽车公司制造的SYNC系统。设置有基于车辆的计算系统的车辆可包含位于车辆31中的可视前端界面4。如果所述界面设置有例如触敏屏幕,则用户还能够与所述界面进行交互。在另一示意性实施例中,通过按钮按压、具有自动语音识别和语音合成的口语对话系统来进行交互。
在图1所示的示意性实施例1中,处理器3或中央处理器(CPU)3控制基于车辆的计算系统的至少某部分操作。设置在车辆31内的处理器3允许对命令和例程进行车载处理。另外,处理器3被连接到非持久性存储器5和持久性存储器7两者。在此示意性实施例中,非持久性存储器5是随机存取存储器(RAM),持久性存储器7是硬盘驱动器(HDD)或闪存。一般说来,持久性(非暂时性)存储器7可包括当计算机或其他装置掉电时保持数据的所有形式的存储器。这些存储器包括但不限于:HDD、致密盘(CD)、数字多功能光盘(DVD)、磁带、固态驱动器、便携式通用串行总线(USB)驱动器和任何其他适当形式的持久性存储器7。
处理器3还设置有允许用户与处理器3进行交互的若干个不同的输入。在此示意性实施例中,麦克风29、辅助输入25(用于输入33)、USB输入23、全球定位系统(GPS)输入24、屏幕4(可为触摸屏显示器)和蓝牙输入15均被提供。还设置有输入选择器51,以允许用户在各种输入之间进行切换。在对麦克风和辅助连接器两者的输入被传送到处理器之前,由转换器27对所述输入进行模数转换。尽管未示出,但是与VCS进行通信的众多车辆组件和辅助组件可使用车辆网络(诸如但不限于汽车局域网((carareanetwork,CAN)总线)向VCS1(或其组件)传送数据并传送来自VCS1(或其组件)的数据。
VCS系统1的输出可包括但不限于可视显示器4以及扬声器13或立体声系统输出。扬声器13被连接到放大器11,并通过数模转换器9从处理器3接收其信号。还可分别沿19和21所示的双向数据流进行到远程蓝牙装置(诸如个人导航装置(PND)54)或USB装置(诸如车辆导航装置60)的输出。
在一示意性实施例中,系统1使用蓝牙收发器15与移动装置(ND)53(例如,蜂窝电话、智能电话、PDA或具有无线远程网络连接能力的任何其他装置)进行通信(17)。移动装置53随后可用于通过例如与蜂窝塔57的通信(55)来与车辆31外部的网络61进行通信(59)。在一些实施例中,蜂窝塔57可以是WiFi接入点。
移动装置53与蓝牙收发器之间的示例性通信由通信14表示。
可通过按钮52或类似的输入来指示移动装置53与蓝牙收发器15进行配对。相应地,CPU被指示:车载蓝牙收发器15将与移动装置53中的蓝牙收发器进行配对。
可利用例如与移动装置53关联的数据计划、话上数据或双音多频(DTMF)音在CPU3与网络61之间传送数据。可选地,可期望包括具有天线18的车载调制解调器63以便在CPU3与网络61之间通过语音频带传送数据(16)。移动装置53随后可用于通过例如与蜂窝塔57的通信(55)来与车辆31外部的网络61进行通信(59)。在一些实施例中,调制解调器63可与蜂窝塔57建立通信(20),以与网络61进行通信。作为非限制性示例,调制解调器63可以是USB蜂窝调制解调器63,并且通信20可以是蜂窝通信。
在一示意性实施例中,处理器3设置有包括用于与调制解调器应用软件进行通信的API的操作系统。调制解调器应用软件可访问蓝牙收发器上的嵌入式模块或固件,以完成与(诸如在移动装置中发现的)远程蓝牙收发器的无线通信。蓝牙是电气与电子工程师协会(IEEE)802个域网(PAN)协议的子集。IEEE802局域网(LAN)协议包括无线保真(WiFi)并与IEEE802PAN具有相当多的交叉功能。两者都适合于车辆31内的无线通信。可在这一范围使用的另一通信方式是自由空间光通信(诸如红外数据通信(IrDA))和非标准化消费者红外(IR)协议。
在另一实施例中,移动装置53包括用于语音频带或宽带数据通信的调制解调器。在话上数据的实施例中,当移动装置53的所有者可在数据被传送的同时通过装置说话时,可实施已知为频分复用的技术。在其他时间,当所有者没有在使用装置时,数据传送可使用整个带宽(在一示例中是300Hz至3.4kHz)。尽管频分复用对于车辆31与互联网之间的模拟蜂窝通信而言可能是常见的并仍在被使用,但其已经很大程度上被用于数字蜂窝通信的码域多址(CDMA)、时域多址(TDMA)、空域多址(SDMA)的混合体所替代。这些都是ITUIMT-2000(3G)兼容的标准,为静止或行走的用户提供高达2mbs的数据速率,并为在移动的车辆31中的用户提供高达385kbs的数据速率。3G标准现在正被IMT-Advanced(4G)所替代,其中,IMT-Advanced(4G)为在车辆31中的用户提供200mbs的数据速率并为静止的用户提供1gbs的数据速率。如果用户拥有与移动装置53关联的数据计划,则所述数据计划可允许宽带传输且系统可使用宽得多的带宽(加速数据传送)。在另一实施例中,移动装置53被安装至车辆31的蜂窝通信装置(未示出)所替代。在另一实施例中,移动装置53可以是能够通过例如(而非限制)802.11g网络(即WiFi)或WiMax网络进行通信的LAN装置。
在一实施例中,传入数据可经由话上数据或数据计划穿过移动装置53,穿过车载蓝牙收发器,并进入车辆31的处理器3。例如,在某些临时数据的情况下,数据可被存储在HDD或其他存储介质7上,直至不再需要所述数据时为止。
其它可与车辆31进行接口连接的源包括:具有例如USB连接56和/或天线58的PND54、具有USB62或其他连接的车辆导航装置60、车载GPS装置24、或具有与网络61连接的能力的远程导航系统(未示出)。USB是一类串行联网协议中的一种。IEEE1394(火线TM(苹果)、i.LINKTM(索尼)和LynxTM(德州仪器))、EIA(电子工业协会)串行协议、IEEE1284(Centronics端口)、S/PDIF(索尼/飞利浦数字互连格式)和USB-IF(USB开发者论坛)形成了装置-装置串行标准的骨干。多数协议可被实施为用于电通信或光通信。
此外,CPU3可与各种其他的辅助装置65进行通信。这些装置65可通过无线连接67或有线连接69来连接。辅助装置65可包括但不限于个人媒体播放器、无线保健装置、便携式计算机等。
此外或可选地,可使用例如WiFi(IEEE803.11)收发器71将CPU3连接到基于车辆的无线路由器73。这可允许CPU3在本地路由器73的范围中连接到远程网络。
除了通过位于车辆31中的车辆计算系统执行示例性处理之外,在某些实施例中,还可部分地由车辆外部的与车辆计算系统通信的一个或更多个计算系统来执行示例性处理。这样的系统可包括但不限于:无线装置(例如但不限于移动电话)或通过无线装置连接的远程计算系统(例如但不限于服务器)。这样的系统可被统称为与车辆关联的计算系统(VACS)。在某些实施例中,VACS的特定组件可根据系统的特定实施方式而执行处理的特定部分。通过示例而并非限制的方式,如果处理包括与配对的无线装置进行发送或者接收信息的步骤,则很可能无线装置不执行该处理,这是因为无线装置不会与自身进行信息的“发送和接收”。本领域的普通技术人员将理解何时不适合对给定解决方案应用特定的VACS。在所有解决方案中,预期至少位于车辆31自身内的VCS1能够执行示例性处理。
图2示出用于通过移动装置53向车辆31提供软件更新的多因子验证的示例性系统200。系统200可包括VCS1,其中,VCS1通过网络61与更新服务器210(例如,直接地或经由移动装置53)通信。更新服务器210可与数据存储区208进行通信,其中,数据存储区208被配置为保持用于下载的软件更新206、以及用于软件更新206的加密的第一因子信息212和第二因子信息214。系统200还可包括更新管理应用220,更新管理应用220被安装到车辆31并被配置为将软件更新206安装到VCS1本身或车辆31的其他模块202。移动装置53可经由广域数据连接218与更新服务器210进行通信,经由本地数据连接216与VCS1的更新管理应用220进行通信。如下面详细解释的,安装到移动装置53的更新验证应用222可被配置为:与车辆31进行关联以执行对软件更新206的验证,从更新服务器210接收第二因子信息214,与移动装置53的用户确认软件更新206将被安装,并向车辆31提供第二因子信息214。虽然在图2中示出了示例性系统200,但是在该图中示出的示例性组件并不意在具有限制性。实际上,系统200可具有更多或更少的组件,且可使用附加的或可替换的组件和/或实施方式。
车辆模块202可包括各种车辆31组件,所述组件被配置为接收关联的软件、固件或配置设置的更新。作为一些非限制性示例,车辆模块202可包括动力传动系统控制模块(PCM)、制动系统控制模块(BSCM)、车身控制模块(BCM)和VCS1本身。
车辆信息204可包括被配置为标识车辆31或车辆31的配置的信息。例如,车辆信息204可包括发布于车辆31的CAN总线的车辆识别码(VIN)或调制解调器63的用户身份识别模块(SIM)信息(诸如,国际移动设备标识(IMEI))。此外或可选地,车辆信息204可包括针对车辆31的车辆模块202的至少一部分硬件和软件组件的版本信息。
软件更新206可包括对车辆31的软件或设置的改变,以解决当前软件或设置的问题或者向当前软件提供改进的功能。例如,软件更新206可包括针对一个或更多个车辆模块202的更新的配置设置和/或将被安装在一个或更多个车辆模块202上的软件或固件的更新版本。在一些情况下,软件更新206可包括单个部分,而在其他情况下,软件更新206可被布置成多个子部分、分区或组块,其中,所有子部分可被下载以完成安装整个软件更新206。
数据存储区208可被配置为存储软件更新206。数据存储区208还可被配置为存储关于软件更新206的附加信息。例如,数据存储区208可被配置为保持表明哪些车辆模块202与哪些软件更新206关联的指示。数据存储区208还可存储指示软件更新206与车辆型号或配置的兼容性的信息。例如,软件更新206的存储条目可指示:软件更新206与车辆31的特定品牌或型号兼容,或者,软件更新206具有对特定版本的另一车辆模块202的版本的依赖性。
数据存储区208还可被配置为存储用于对软件更新206加密的第一因子信息212和第二因子信息214。第一因子信息212可包括由数据存储区208与车辆31共享的信息(诸如,用于对软件更新206进行加密以进行传输的对称密钥)。在一些情况下,第一因子信息212可被保持在车辆31的永久性存储器7中,还可根据车辆31的标识符(例如,作为部分车辆信息204被提供给数据存储区208的VIN)而被编入数据存储区208的索引中。第二因子信息214可包括车辆31未知的但车辆31需要用于对软件更新206解密的附加信息。在示例中,第二因子信息214包括用于对软件更新206加密的非对称密钥。
更新服务器210可包括一个或更多个装置,所述一个或更多个装置被配置为向车辆31提供由数据存储区208存储的软件更新206。例如,更新服务器210可被配置为从车辆31接收针对可用的软件更新206的请求。所述请求可包括车辆信息204,以允许更新服务器210在数据存储区208中查询适用于如当前配置的车辆31的软件更新206。更新服务器210可响应于该请求而提供可被下载或安装的软件更新206的指示(或软件更新206本身),以更新请求的车辆31。更新服务器210还可被配置为根据第一因子信息212和第二因子信息214对软件更新206加密,并根据提供的指示来向请求下载软件更新206的装置提供加密的软件更新206。
VCS1可被配置为通过网络61与更新服务器210进行通信。在一些情况下,VCS1可利用VCS1的集成网络功能(诸如,内置调制解调器63)来帮助与更新服务器210进行通信。在其他情况下,VCS1可利用连接到移动装置53的本地数据连接216来帮助经由移动装置53的广域数据连接218与更新服务器210进行通信。作为示例,针对运行由加利福尼亚州的硅谷的开放手机联盟维护的安卓操作系统的移动装置53,可经由无线蓝牙连接来建立数据连接216。作为另一示例,针对运行由加利福尼亚州库比蒂诺的苹果有限公司维护的iOS操作系统的移动装置53,可额外或可替换地通过有线USB连接(未示出)来建立数据连接216。移动装置53还可被配置为(诸如,通过网络61的连接)在移动装置53与更新服务器210之间建立广域数据连接218(例如,互联网连接)。在一些情况下,移动装置53的广域数据连接218可由VCS1用于从更新服务器210下载软件更新206。
更新管理应用220可被配置为对将软件更新206安装到车辆31进行管理。例如,VCS1的更新管理应用220可从用户接收请求检查软件更新206的命令。作为另一可行方式,更新管理应用220可触发对新的软件更新206的周期性检查。当被触发时,更新管理应用220可被配置为向更新服务器210发送请求以询问针对车辆31的软件更新206是否可用。例如,更新管理应用220可使用车辆信息204(或者,如果数据存储区208保持当前车辆信息204,则使用车辆31的标识符)来查询更新服务器210,并可从更新服务器210接收指示针对车辆31的新的软件更新206是否可用的响应(例如,作为用于车辆31下载的软件更新206的链接或其他标识符)。如果到更新管理应用220的响应指示软件更新206对于车辆31可用,则更新管理应用220还可被配置为对将被下载和安装的软件更新206进行排序。
更新管理应用220可被配置为帮助将软件更新206下载到车辆31。例如,更新管理应用220可被配置为接收被更新服务器210识别为可用于下载和安装的软件更新206的列表。更新管理应用220还可被配置为检测移动装置53何时被连接到VCS1,并在连接时执行软件更新206的下载。
更新管理应用220还可被配置为帮助对下载的软件更新206进行解密和安装。例如,更新管理应用220可被配置为根据由车辆31保持的并被用于对信息加密以在车辆31与更新服务器210之间进行传输的第一因子信息212,来对下载的软件更新206进行解密。
为了有助于对下载的软件更新206的多因子验证,更新管理应用220还可被配置为请求被传送到与车辆31关联的移动装置53的第二因子信息214。更新服务器210相应地可被配置为响应于从VCS1接收的消息而向关联的移动装置53提供第二因子信息214。为了识别关联的移动装置53,数据存储区208还可被配置为保持移动装置53与车辆31(例如,移动装置码与VIN)的关联,且更新服务器210可被配置为访问数据存储区208以检索关联装置信息。作为另一可行方式,车辆31可保持移动装置53的关联,并可在请求第二因子信息214的消息中向更新服务器210提供关联装置信息。
更新管理应用220还可被配置为利用关联的移动装置53的更新验证应用222来既验证软件更新206以进行安装,又向车辆31提供第二因子信息214以允许更新管理应用220完成对软件更新206的解密以进行安装。例如,更新验证应用222可经由移动装置53提供用户界面,并且,如果用户同意将软件更新206安装到车辆31,则可向更新管理应用220提供第二因子信息214。下面针对图3至图8进一步详细讨论了验证的方面。
图3示出用于将移动装置53与车辆31进行关联以用于软件更新206的验证的示例性用户界面300。如示出的,用户界面300可经由移动装置53的显示器被呈现给用户。作为另一可行方式,用户界面300可经由VCS1的显示器4被提供给用户。用户界面300可在各种状况下被显示,所述各种状况诸如:当移动装置53第一次连接到车辆31时;当移动装置53连接到车辆31且车辆31不具有与软件更新206的验证关联的移动装置时;或者,当用户选择用于更新被配置为用于验证针对车辆31的软件更新206的移动装置53的功能时。
用户界面300可包括请求用户确认或拒绝车辆31和移动装置53应被关联以验证软件更新206的消息提示302。用户界面300还可包括用于接收关于所述装置是否应该被关联的用户输入的控制,诸如,用于接受所述装置的关联的肯定控制304和用于拒绝所述关联的否定控制306。如果用户选择肯定控制304,则移动装置53可与车辆31进行关联以接收第二因子信息214,以及提示用户在向车辆31转发第二因子信息214之前可能需要验证。如果用户选择否定控制306,则移动装置53不可与车辆31关联,且车辆31与移动装置53之间的任何现有关联可被去除。
图4示出用于使用移动装置来确认软件更新的安装的示例性用户界面400。如示出的,用户界面400可经由移动装置53的显示器被呈现给用户。用户界面400可在各种状况下被显示,所述各种状况诸如:当从更新服务器210接收到第二因子信息214时,或者当在已从更新服务器210接收到第二因子信息214之后移动装置53连接到车辆31时。
用户界面400可包括请求用户确认或拒绝车辆31应安装待定的软件更新206的消息提示402。用户界面400还可包括用于接收关于软件更新206是否应被安装的用户输入的控制,诸如,用于接受所述装置的关联的肯定控制404和用于拒绝该关联的否定控制406。(在一些情况下,用户界面400可包括附加选择,诸如用于请求稍后再次提供用户界面400的控制。)当用户选择肯定控制404时,(例如,响应于该选择,当移动装置53将要经由数据连接216连接到车辆31时,等)移动装置53可向车辆31提供第二因子信息214。
图5A示出用于通过移动装置53向车辆31提供软件更新206的多因子验证的示例性数据流500-A。在示例性数据流500-A中,车辆31可基于由车辆31保持的第一因子信息212和车辆31在对软件更新206进行第一级解密的解密时所请求的第二因子信息214,来对从更新服务器210接收到的软件更新206进行解密和安装。
更具体地,在时间索引(A),更新服务器210识别应被安装到车辆31的软件更新206。例如,当车辆31被装配时,车辆31可包括各种硬件和软件组件。在装配时或装配之后,车辆31的VCS1可被配置为查询车辆31的这些硬件和软件组件中的至少某部分的存在和版本信息。通过使用查询到的信息和识别特定车辆31的附加信息(例如,被发布到CAN总线上的VIN信息、诸如国际移动设备标识(IMEI)的调制解调器63的用户身份识别模块(SIM)信息等),VCS1可经由网络61进行通信以与更新服务器210建立账户。更新服务器210可从车辆31接收这些通信,并可在数据存储区208中保持被链接到车辆31的标识符的硬件配置和软件(例如,固件等)版本。基于当前车辆配置信息,更新服务器210可被配置为确定存在软件更新206,其中,所述软件更新206可用于将安装到车辆模块202之一的旧版本软件从数据存储区208中指定的版本更新到更新近的版本。作为另一示例,车辆31可基于查询到更新服务器210或另一来源来确定软件更新206应被安装到车辆31,并可向更新服务器210提供请求软件更新206的消息。
在时间索引(B),更新服务器210使用第二因子信息214对识别出的软件更新206进行加密。例如,更新服务器210可产生或以其他方式识别第二因子信息214以用于对识别出的软件更新206进行加密,并可使用第二因子信息214对识别出的软件更新206进行加密。在示例中,第二因子信息214为非对称密钥,且使用非对称加密方案来执行上述加密。在另一示例中,第二因子信息214为对称密钥,且使用对称加密方案来执行上述加密。
在时间索引(C),更新服务器210使用与车辆31关联的第一因子信息212对软件更新206进行进一步加密。在示例中,第一因子信息212包括被用于对传输到车辆31的数据进行加密的对称密钥,其中,所述对称密钥由车辆31进行存储。
在时间索引(D),更新服务器210向车辆31提供加密的软件更新206。车辆31的VCS1可相应地通过网络61接收所述软件更新206,并可向更新管理应用220提供该更新以进行处理。在一些情况下,所述软件更新206可通过移动装置53的数据连接被下载到车辆31,而在其他情况下,所述软件更新206可通过车辆31的内置调制解调器被下载到车辆31。
在时间索引(E),车辆31执行所述软件更新206的第一级解密。例如,更新管理应用220可利用由车辆31保持的第一因子信息212来对由更新服务器210在时间索引(C)执行的加密进行解密。
在时间索引(F),车辆31将请求第二因子信息214的请求发送到更新服务器210以完成对软件更新206的解密。例如,更新管理应用220可在使用第一因子信息212对软件更新206成功解密时将该请求发送到更新服务器210。例如,该请求可包括诸如VIN的一个或更多个车辆31标识符。该请求还可包括第二因子信息214被请求所针对的软件更新206的指示。
在时间索引(G),更新服务器210识别被配置为接收第二因子信息214的与车辆31关联的移动装置53。例如,基于所述请求中包括的信息,更新服务器210可访问数据存储区208以识别先前与车辆31关联的移动装置53,以验证软件更新206。(上面针对图3讨论了用于移动装置53与车辆31进行关联的示例性用户界面300。)
在时间索引(H),更新服务器210向与车辆31关联的移动装置53提供第二因子信息214。移动装置53的更新验证应用222可接收第二因子信息214。
在时间索引(I),移动装置53在移动装置53上提供用户界面以确认软件更新206的安装。例如,更新验证应用222可在移动装置53上提供请求用户许可安装由车辆31下载的软件更新206的用户界面。上面针对图4讨论了用于软件更新206的安装验证的示例性用户界面400。在其他示例中,用户界面可显示第二因子信息214(例如,作为将被输入的代码),使得移动装置31的用户可向车辆31手动提供第二因子信息214。
如果用户赞成安装软件更新206,则数据流继续进行到时间索引(J),在时间索引(J),更新验证应用222向车辆31提供第二因子信息214。如果用户不给予许可,则更新验证应用222不向VCS1提供第二因子信息214,从而阻止车辆31会对软件更新206进行解密或安装。相反地,更新验证应用222可转而向车辆31通知软件更新206被移动装置53的用户拒绝。在一些情况下,车辆31可在车辆31的显示器中提供通知以通知车辆31的乘员软件更新206被拒绝。
在时间索引(K),车辆31执行软件更新206的第二级解密。例如,更新管理应用220可利用在时间索引(J)接收到的第二因子信息214来对更新服务器210在时间索引(B)执行的加密进行解密。
在时间索引(L),车辆31执行对解密的软件更新206的内容的验证。例如,此处理可通过更新管理应用220来进行,以确保第二因子信息214确实对软件更新206进行了正确解密并验证已解密的软件更新206的完整性。为了执行该验证,更新管理应用220可通过(例如,使用MD5(Message-DigestAlgorithm5,消息-摘要算法5)计算针对解密的软件更新206的加密散列(cryptographichash)值来验证解密的软件更新206,并将计算得到的值与向更新服务器210请求的或以其他方式从更新服务器210接收的针对软件更新206的值进行比较。如果软件更新206验证失败,则更新管理应用220不安装软件更新206。
在时间索引(M),车辆31安装解密的软件更新206。例如,更新管理应用220可从软件更新206中确定将应用软件更新206的车辆31的预期模块202。作为一种可行方式,软件更新206可包括被配置为允许VCS1识别车辆31的哪个模块202应接收软件更新206的模块地址或其他标识符,使得VCS1可将软件更新206发送到正确的模块202(或可将该更新安装到VCS1本身)。
图5B示出用于通过移动装置53向车辆31提供软件更新206的多因子验证的另一种可替换的示例性数据流500-B。示例性数据流500-B同数据流500-A具有一定的相似性。然而,相比于数据流500-A,在数据流500-B中,车辆31在接收软件更新206之前经由移动装置53接收第二因子信息214,并向更新服务器210提供第二因子信息214以请求将被安装的软件更新206。
在时间索引(A),更新服务器210识别应被安装到车辆31的软件更新206。在时间索引(B),更新服务器210确定双因子认证是否被启用。例如,更新服务器210可利用数据存储区208的记录来识别移动装置53与车辆31关联以用于确认软件更新206的安装。如果没有移动装置53被关联,或者,如果双因子认证被禁用,则数据流500-B结束(或转换为不需要双因子认证的数据流,未示出)。
在时间索引(C),更新服务器210向与车辆31关联的移动装置53提供第二因子信息214。移动装置53的更新验证应用222可接收第二因子信息214。在时间索引(D),移动装置53在移动装置53上提供用户界面(例如,用户界面400)以确认软件更新206的安装。
如果用户赞成安装软件更新206,则数据流继续进行到时间索引(E),在时间索引(E),更新验证应用222向车辆31提供第二因子信息214。如果用户不给予许可,则更新验证应用222不向VCS1提供第二因子信息214,从而阻止车辆31向更新服务器210请求软件更新206。相反地,更新验证应用222可转而向车辆31通知软件更新206被移动装置53的用户拒绝。在一些情况下,车辆31可在车辆31的显示器中提供通知以通知车辆31的乘员软件更新206被拒绝。
在时间索引(F),车辆31向更新服务器210提供包括第二因子信息214的确认。例如,更新管理应用220可以在对接收软件更新206的请求中向更新服务器210提供在时间索引(E)接收到的第二因子信息214。
在时间索引(G),更新服务器210使用第二因子信息214对识别出的软件更新206进行加密。在时间索引(H),更新服务器210使用与车辆31关联的第一因子信息212对软件更新206进行进一步的加密。在时间索引(I),更新服务器210向车辆31提供加密的软件更新206。车辆31的VCS1可相应地通过网络61接收软件更新206,并可向更新管理应用220提供该更新以进行处理。
在时间索引(J),车辆31执行对软件更新206的第一级解密。例如,更新管理应用220可利用由车辆31保持的第一因子信息212来对更新服务器210在时间索引(H)执行的加密进行解密。在时间索引(K),车辆31执行对软件更新206的第二级解密。例如,更新管理应用220可利用在时间索引(E)接收到的第二因子信息214来对更新服务器210在时间索引(G)执行的加密进行解密。在时间索引(L),车辆31执行对解密的软件更新206的内容的验证。在时间索引(M),车辆31安装解密的软件更新206。
图5C示出用于通过移动装置53向车辆31提供软件更新206的多因子验证的另一种可替换的示例性数据流500-C。在示例性数据流500-C中,车辆31可接收经由移动装置53和车辆31的操作员手动输入的第二因子信息214,并可向更新服务器210提供第二因子信息214以请求将被安装的软件更新206。
类似于上面针对数据流500-B所讨论的,在时间索引(A),更新服务器210识别应被安装到车辆31的软件更新206。在时间索引(B),更新服务器210确定双因子认证是否被启用。在时间索引(C),更新服务器210向与车辆31关联的移动装置53提供第二因子信息214。在时间索引(D),移动装置53在移动装置53上提供用户界面(例如,用户界面400)以确认软件更新206的安装。
然而,在示例性数据流500-C中,在时间索引(E),并非响应于确认软件更新206的安装而向车辆31提供第二因子信息214,而是移动装置53向用户显示第二因子信息214,并且用户将第二因子信息214手动输入到车辆31中。在时间索引(F),(例如,基于输入到移动装置53的用户界面的指示第二因子信息214已被提供给车辆31的用户输入)移动装置53向更新服务器210提供第二因子信息214已被提供给车辆31的确认。
类似于上面针对数据流500-B所讨论的,在时间索引(G),更新服务器210使用第二因子信息214对识别出的软件更新206进行加密。在时间索引(H),更新服务器210使用与车辆31关联的第一因子信息212对软件更新206进行进一步的加密。在时间索引(I),更新服务器210向车辆31提供加密的软件更新206。在时间索引(J),车辆31执行软件更新206的第一级解密。在时间索引(K),车辆31执行软件更新206的第二级解密。在时间索引(L),车辆31执行对解密的软件更新206的内容的验证。在时间索引(M),车辆31安装解密的软件更新206。
图6示出用于向车辆31提供多因子加密的软件更新206的示例性处理600。例如,可由通过网络61与车辆31通信的更新服务器210来执行处理600。
在操作602,更新服务器210识别针对车辆31的软件更新206。例如,基于当前的车辆配置信息,更新服务器210可被配置为确定存在软件更新206,其中,所述软件更新206可用于将安装到车辆模块202之一的旧版本软件从在数据存储区208中指定的版本更新到更新近的版本。作为另一示例,车辆31可基于查询到更新服务器210或另一来源来确定软件更新206应被安装到车辆31,并可向更新服务器210提供请求软件更新206的消息。
在操作604,更新服务器210对软件更新206进行加密。例如,更新服务器210可产生或以其他方式识别第二因子信息214以用于对识别出的软件更新206进行加密,并可使用第二因子信息214对识别出的软件更新206进行加密。更新服务器210可使用与车辆31关联的第一因子信息212对软件更新206进行进一步加密。
在操作606,更新服务器210向车辆31提供软件更新206。例如,更新服务器210可通过网络61向软件更新206所指示的车辆31的VCS1的更新管理应用220提供软件更新206。在一些情况下,软件更新206可通过更新服务器210到移动装置53的数据连接而从更新服务器210被提供到车辆31,而在其他情况下,软件更新206可通过车辆31的内置调制解调器而从更新服务器210被提供到车辆31。
在操作608,更新服务器210接收对用于对软件更新206进行加密的第二因子信息214的请求。例如,更新服务器210可接收对将被用于对软件更新206进行解密的第二因子信息214的请求。
在操作610,更新服务器210向与车辆31关联的移动装置53提供第二因子信息214以用于软件更新206的验证。例如,基于包括在所述请求中的和/或由数据存储区208保持的信息,更新服务器210可识别与车辆31关联的移动装置53以验证软件更新206。更新服务器210可随后向与车辆31关联的移动装置53提供第二因子信息214。在操作610之后,处理600结束。
图7示出用于向车辆31提供多因子加密软件更新206的另一种可替换的示例性处理700。如同处理600,例如,可由通过网络61与车辆31通信的更新服务器210来执行处理700。
在操作702,更新服务器210识别针对车辆31的软件更新206。例如,基于当前的车辆配置信息,更新服务器210可被配置为确定存在软件更新206,其中,所述软件更新206可用于将安装到车辆模块202之一的旧版本软件从在数据存储区208中指定的版本更新到更新近的版本。作为另一示例,车辆31可基于查询到更新服务器210或另一来源来确定软件更新206应被安装到车辆31,并可向更新服务器210提供请求软件更新206的消息。
在操作704,更新服务器210向与车辆31关联的移动装置53提供第二因子信息214以验证软件更新206。例如,基于包括在所述请求中的和/或由数据存储区208保持的信息,更新服务器210可识别与车辆31关联的移动装置53以验证软件更新206。然后,更新服务器210可产生或以其他方式识别第二因子信息214以用于对识别出的软件更新206进行加密,并可向与车辆31关联的移动装置53提供第二因子信息214。
在操作706,更新服务器210确定软件更新206是否被赞成安装。例如,移动装置53的更新验证应用222可在移动装置53上提供请求用户许可安装车辆31所下载的软件更新206的用户界面。上面针对图4讨论了用于软件更新206的安装验证的示例性用户界面400。移动装置53可将结果返回至更新服务器210。如果用户赞成安装软件更新206,则控制转到操作708。否则,控制转到操作712。
在操作708,更新服务器210对软件更新206进行加密。例如,更新服务器210可使用第二因子信息214对识别出的软件更新206进行加密。更新服务器210可使用与车辆31关联的第一因子信息212对软件更新206进行进一步加密。
在操作710,更新服务器210向车辆31提供软件更新206。例如,更新服务器210可通过网络61向软件更新206所指示的车辆31的VCS1的更新管理应用220提供软件更新206。在一些情况下,软件更新206可通过更新服务器210到移动装置53的数据连接而从更新服务器210被提供到车辆31,而在其他情况下,软件更新206可通过车辆31的内置调制解调器而从更新服务器210被提供到车辆31。在操作710之后,处理700结束。
在操作712,更新服务器210向车辆31提供软件更新206未被赞成安装的通知。在一些情况下,车辆31可在车辆31的显示器中提供通知以向车辆31的乘员通知软件更新206被拒绝。在操作712之后,处理700结束。
图8示出用于确认软件更新206安装到车辆31的示例性处理800。例如,可由执行更新验证应用222并被配置为与车辆31和更新服务器210进行通信的移动装置53来执行处理800。
在操作802,移动装置53与车辆31进行关联以用于软件更新206的验证。例如,移动装置53的更新验证应用222可经由移动装置53的显示器向用户提供用户界面300,并可接收来自肯定控制304的接受移动装置53与车辆31的关联的用户输入。在一些情况下,指示该关联的信息可(例如,经由更新服务器210)被提供到数据存储区208以供后续使用,而在其他情况下,指示该关联的信息可由车辆31保持。
在操作804,移动装置53接收指示针对车辆31的待定的软件更新206的消息。例如,更新服务器210可向与车辆31关联的移动装置53的更新验证应用222提供第二因子信息214。
在操作806,移动装置53向用户请求对软件更新206安装的验证。例如,移动装置53的更新验证应用222可在移动装置53上提供请求用户许可安装车辆31下载的软件更新206的用户界面。上面针对图4讨论了用于软件更新206的安装验证的示例性用户界面400。如果用户赞成软件更新206的安装,则控制转到操作808。否则,处理800结束。
在操作808,移动装置53向车辆31提供第二因子信息214。例如,移动装置53的更新验证应用222可通过本地数据连接216向车辆31提供第二因子信息214。作为另一示例,第二因子信息214可被显示在移动装置53的用户界面上(例如,作为将被输入的代码),并由用户手动地输入到VCS1中。在操作808之后,处理800结束。
图9示出用于由车辆31安装多因子加密的软件更新206的示例性处理900。例如,可由执行更新管理应用220并被配置为与移动装置53和更新服务器210进行通信的车辆31的VCS1来执行处理900。
在操作902,车辆31接收软件更新206。例如,车辆31的VCS1可通过网络61接收软件更新206,并可向更新管理应用220提供该更新以进行处理。在一些情况下,软件更新206可通过移动装置53的数据连接而被下载到车辆31,而在其他情况下,软件更新206可通过车辆31的内置调制解调器而被下载到车辆31。
在操作904,车辆31使用第一因子信息212对软件更新206的第一级加密进行解密。例如,更新管理应用220可利用由车辆31保持的第一因子信息212来对由更新服务器210执行的第一级加密进行解密。
在操作906,车辆31向更新服务器210请求第二因子信息214。例如,更新管理应用220可在使用第一因子信息212对软件更新206的成功解密时将该请求发送到更新服务器210。例如,该请求可包括诸如VIN的一个或更多个车辆31标识符。该请求还可包括第二因子信息214被请求所针对的软件更新206的指示。在一些情况下,该请求还可包括将响应于该请求而由更新服务器210使用的关联的移动装置53的指示,而在其他情况下,更新服务器210可使用包括在该请求中的其他信息(例如,VIN)和由数据存储区208保持的关联装置信息来识别关联的移动装置53。
在操作908,车辆31从关联的移动装置53接收第二因子信息214。例如,更新管理应用220可在移动装置53的用户验证了软件更新206应被安装时从移动装置53的更新验证应用222接收第二因子信息214。在一些情况下,第二因子信息214可通过本地数据连接216而被提供到更新管理应用220,而在其他情况下,第二因子信息214可被显示在移动装置53的用户界面上(例如,作为将被输入的代码),并由用户手动输入到VCS1中。
在操作910,车辆31使用第二因子信息214对软件更新206的第二级加密进行解密。例如,更新管理应用220可利用从移动装置53接收的第二因子信息214来完成对由更新服务器210对软件更新206执行的加密的解密。
在操作912,车辆31执行对解密的软件更新206的内容的验证。例如,更新管理应用220可通过(例如,使用MD5)计算针对解密的软件更新206的加密散列值来验证解密的软件更新206,并将计算得到的值与向更新服务器210请求的或以其他方式从更新服务器210接收的针对软件更新206的值进行比较。如果软件更新206被验证成功,则控制转到操作912。否则,处理900结束。在一些情况下,如果软件更新206验证失败,则更新管理应用220可被配置为在车辆31的用户界面中提供消息。在一些情况下,由于软件更新206验证失败,因此更新管理应用220可将控制转到操作902以试图再次检索软件更新206。
在操作914,车辆31安装软件更新206。例如,更新管理应用220可从软件更新206中确定将应用软件更新206的车辆31的预期模块202。作为一种可行方式,软件更新206可包括被配置为允许VCS1识别车辆31的哪个模块202应接收软件更新206的模块地址或其他标识符,使得VCS1可将软件更新206发送到正确的模块202(或可将该更新安装到VCS1本身)。在操作912之后,处理900结束。
虽然以上描述了示例性实施例,但这些实施例并不意在描述本发明的所有可能形式。相反地,说明书中所使用的词语是描述性词语而非限制,并且应理解的是,可在不脱离本发明的精神和范围的情况下做出各种改变。此外,可将各种实现的实施例的特征进行组合以形成本发明的进一步的实施例。

Claims (6)

1.一种系统,包括:
车辆计算系统,被配置为:
从更新服务器接收软件更新;
向更新服务器发送请求,来请求将用于对所述软件更新进行加密的加密密钥提供给与车辆关联的移动装置,以用于所述软件更新的验证;
响应于所述移动装置接收到用户验证,从所述移动装置接收所述加密密钥以对所述软件更新进行解密。
2.如权利要求1所述的系统,其中,所述车辆计算系统还被配置为:
保持指示与车辆关联的移动装置的信息;
将指示与车辆关联的移动装置的信息提供给更新服务器,以允许更新服务器将所述加密密钥发送到所述移动装置。
3.如权利要求1所述的系统,其中,所述加密密钥为非对称密钥,其中,所述非对称密钥被更新服务器用于对所述软件更新进行加密。
4.如权利要求1所述的系统,其中,所述加密密钥由所述移动装置响应于向更新服务器发送的所述请求而被接收。
5.如权利要求1所述的系统,其中,所述软件更新通过更新服务器和车辆存储的附加的加密密钥被进一步加密,并且所述车辆计算系统还被配置为:
使用所述附加的加密密钥对所述软件更新进行解密;
响应于使用所述附加的加密密钥对所述软件更新的解密完成,向更新服务器发送所述请求。
6.如权利要求5所述的系统,其中,所述附加的加密密钥为对称密钥。
CN201510398246.3A 2014-07-09 2015-07-08 车辆软件更新验证 Active CN105260198B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/326,713 2014-07-09
US14/326,713 US9722781B2 (en) 2014-07-09 2014-07-09 Vehicle software update verification

Publications (2)

Publication Number Publication Date
CN105260198A true CN105260198A (zh) 2016-01-20
CN105260198B CN105260198B (zh) 2020-04-17

Family

ID=54867135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510398246.3A Active CN105260198B (zh) 2014-07-09 2015-07-08 车辆软件更新验证

Country Status (3)

Country Link
US (1) US9722781B2 (zh)
CN (1) CN105260198B (zh)
DE (1) DE102015211904A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227079A (zh) * 2016-06-30 2016-12-14 大连楼兰科技股份有限公司 车联网嵌入式系统中使用dtmf技术控制车辆的方法、平台及应用
CN107041171A (zh) * 2016-11-25 2017-08-11 深圳市汇顶科技股份有限公司 低功耗蓝牙ble设备、数据更新系统及方法
CN107729757A (zh) * 2016-08-10 2018-02-23 福特全球技术公司 软件更新之前的软件认证
CN107819794A (zh) * 2016-09-12 2018-03-20 厦门雅迅网络股份有限公司 车载终端程序升级方法及其系统
CN107992321A (zh) * 2017-12-28 2018-05-04 国机智骏(北京)汽车科技有限公司 Ecu软件更新方法、装置、车载t-box及车辆
CN108419233A (zh) * 2017-01-31 2018-08-17 福特全球技术公司 空中更新安全
CN110325962A (zh) * 2017-02-27 2019-10-11 株式会社自动网络技术研究所 程序更新方法
CN113010893A (zh) * 2019-12-19 2021-06-22 华为技术有限公司 一种软件管理方法、装置及系统
US11281450B2 (en) 2020-06-23 2022-03-22 Toyota Motor North America, Inc. Secure transport software update
US11880670B2 (en) 2020-06-23 2024-01-23 Toyota Motor North America, Inc. Execution of transport software update

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150363210A1 (en) * 2014-06-12 2015-12-17 Ford Global Technologies, Llc Vehicle download by remote mobile device
US9894066B2 (en) * 2014-07-30 2018-02-13 Master Lock Company Llc Wireless firmware updates
US9600949B2 (en) 2014-07-30 2017-03-21 Master Lock Company Llc Wireless key management for authentication
US20160098259A1 (en) * 2014-10-02 2016-04-07 The Boeing Company Software Aircraft Part Installation System
US9648023B2 (en) * 2015-01-05 2017-05-09 Movimento Group Vehicle module update, protection and diagnostics
US20160266886A1 (en) * 2015-03-10 2016-09-15 GM Global Technology Operations LLC Performing a vehicle update
DE102015204362A1 (de) * 2015-03-11 2016-09-15 Robert Bosch Gmbh Stromtankstelle und Elektrofahrzeug
US10162625B2 (en) * 2015-04-14 2018-12-25 Ford Global Technologies, Llc Vehicle control storage methods and systems
DE102015211540A1 (de) * 2015-06-23 2016-12-29 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Server, Firewall, Steuergerät, und System zur Programmierung eines Steuergeräts eines Fahrzeugs
DE102015219365B4 (de) * 2015-10-07 2019-06-19 Volkswagen Aktiengesellschaft Erstellen einer Kommunikationsverbindung zwischen Mobilgerät und Fahrzeug
EP3363175A1 (en) * 2015-10-15 2018-08-22 Otis Elevator Company Software updating device
US10200371B2 (en) 2015-11-09 2019-02-05 Silvercar, Inc. Vehicle access systems and methods
US11831654B2 (en) * 2015-12-22 2023-11-28 Mcafee, Llc Secure over-the-air updates
JP6390644B2 (ja) * 2016-03-02 2018-09-19 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
US10235154B2 (en) * 2016-03-09 2019-03-19 Ford Global Technologies, Llc Over-the-air trigger to vehicle interrogator updates
DE112016006524T5 (de) * 2016-03-30 2018-11-22 Ford Global Technologies, Llc Authentifizierung einer Fahrzeugcomputeraktualisierung
US11321072B2 (en) 2016-03-30 2022-05-03 Ford Global Technologies, Llc Vehicle computer update authentication
US20170331795A1 (en) * 2016-05-13 2017-11-16 Ford Global Technologies, Llc Vehicle data encryption
JP6718962B2 (ja) * 2016-06-03 2020-07-08 株式会社 ミックウェア 情報処理システム、情報処理方法、情報処理プログラム
US20170357494A1 (en) * 2016-06-08 2017-12-14 International Business Machines Corporation Code-level module verification
US10126136B2 (en) 2016-06-14 2018-11-13 nuTonomy Inc. Route planning for an autonomous vehicle
US10309792B2 (en) 2016-06-14 2019-06-04 nuTonomy Inc. Route planning for an autonomous vehicle
US11092446B2 (en) 2016-06-14 2021-08-17 Motional Ad Llc 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
EP3291087A1 (en) * 2016-09-01 2018-03-07 Nxp B.V. Apparatus and associated method for authenticating firmware
US10140116B2 (en) * 2016-09-26 2018-11-27 Ford Global Technologies, Llc In-vehicle auxiliary memory storage
US9913081B1 (en) * 2016-10-13 2018-03-06 GM Global Technology Operations LLC Method and device for communicating with a vehicle system module while conserving power by using two different short range wireless communication (SRWC) protocols
US10857994B2 (en) 2016-10-20 2020-12-08 Motional Ad Llc 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
US10681513B2 (en) 2016-10-20 2020-06-09 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10473470B2 (en) 2016-10-20 2019-11-12 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10705820B2 (en) * 2017-02-02 2020-07-07 Ford Global Technologies, Llc Method and apparatus for secure multi-cycle vehicle software updates
CN110494847B (zh) * 2017-04-12 2023-02-17 住友电气工业株式会社 中继设备、传送方法和计算机程序
KR102368606B1 (ko) * 2017-07-31 2022-03-02 현대자동차주식회사 효율적인 차량용 리프로그래밍 장치 및 그 제어방법
US11003441B2 (en) * 2018-01-09 2021-05-11 Justdo, Inc. Scripting language computer program modification methodology, system and software
US10826706B1 (en) 2018-01-30 2020-11-03 State Farm Mutual Automobile Insurance Company Systems and methods for vehicle configuration verification with failsafe code
US10789364B2 (en) * 2018-05-02 2020-09-29 Nxp B.V. Method for providing an authenticated update in a distributed network
US11245583B2 (en) 2018-05-03 2022-02-08 Micron Technology, Inc. Determining whether a vehicle should be configured for a different region
WO2020022265A1 (ja) 2018-07-25 2020-01-30 株式会社デンソー 車両用電子制御システム、プログラム更新の承諾判定方法及びプログラム更新の承諾判定プログラム
JP7379892B2 (ja) * 2018-07-25 2023-11-15 株式会社デンソー 車両用電子制御システム、車両側システム及び携帯端末
US10498727B1 (en) 2018-08-29 2019-12-03 Capital One Services, Llc Systems and methods of authentication using vehicle data
US11144296B2 (en) * 2018-09-05 2021-10-12 International Business Machines Corporation Multi-variable based secure download of vehicle updates
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
US20200174771A1 (en) * 2018-12-03 2020-06-04 GM Global Technology Operations LLC Method and system for over the air updates in a vehicle
FR3096160B1 (fr) * 2019-05-16 2021-09-10 Renault Sas Procédé d’installation d’un composant informatique et équipement électronique associé
ES2955790T3 (es) * 2019-05-24 2023-12-07 Assa Abloy Ab Habilitación de la actualización del firmware de un dispositivo objetivo
US11422792B2 (en) 2019-10-09 2022-08-23 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
US11294662B2 (en) 2019-10-09 2022-04-05 Toyota Motor North America, Inc. Management of transport software updates
JP7283359B2 (ja) * 2019-11-19 2023-05-30 株式会社オートネットワーク技術研究所 車載更新装置、及び更新処理プログラム
US11893092B2 (en) * 2020-01-17 2024-02-06 Sony Group Corporation Privilege auto platform
CN113162959B (zh) * 2020-01-23 2023-06-30 华为技术有限公司 车载设备的升级方法和装置
JP7421387B2 (ja) * 2020-03-19 2024-01-24 本田技研工業株式会社 ソフトウェア書換装置
JP7419992B2 (ja) * 2020-07-02 2024-01-23 トヨタ自動車株式会社 ソフトウェア更新装置、方法、プログラムおよび車両
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
US20230112219A1 (en) * 2021-10-07 2023-04-13 Dell Products L.P. Notification based software management via connected devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030036918A1 (en) * 2000-12-20 2003-02-20 Pintsov Leon A. System and method for trusted self-billing and payment for utilities including audit, verification, reconciliation and dispute resolution
CN202424739U (zh) * 2012-01-06 2012-09-05 北京汽车股份有限公司 加密模块、服务平台及车载通信系统
CN102833250A (zh) * 2012-08-28 2012-12-19 华南理工大学 一种用于车载移动互联的安全管理方法和系统
US20130179689A1 (en) * 2012-01-10 2013-07-11 Clarion Co., Ltd. Information distribution method, information distribution system and in-vehicle terminal

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2367933B (en) * 2000-10-10 2002-10-23 F Secure Oyj Encryption
US20050021968A1 (en) 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US20050232422A1 (en) * 2004-04-19 2005-10-20 Jingdong Lin GSM (Global System for Mobile communication) handset with carrier independent personal encryption
US7366589B2 (en) * 2004-05-13 2008-04-29 General Motors Corporation Method and system for remote reflash
US20060056605A1 (en) * 2004-09-13 2006-03-16 Andrew Whitfield Telemetry using "always-on" communication connection system and method
KR100641218B1 (ko) * 2004-11-19 2006-11-02 엘지전자 주식회사 지상파 디지털 멀티미디어 방송을 위한 수신제한 방송시스템 및 방법
SG143084A1 (en) * 2006-11-17 2008-06-27 Nanyang Polytechnic Software copyright protection and licensing system using rfid
US20090300365A1 (en) * 2008-05-30 2009-12-03 Robert Karmes Vehicle Diagnostic System Security with Memory Card
US8214653B1 (en) 2009-09-04 2012-07-03 Amazon Technologies, Inc. Secured firmware updates
US11042816B2 (en) * 2009-10-30 2021-06-22 Getaround, Inc. Vehicle access control services and platform
US8996876B2 (en) * 2010-03-02 2015-03-31 Liberty Plugins, Inc. Method and system for using a smart phone for electrical vehicle charging
US9464905B2 (en) * 2010-06-25 2016-10-11 Toyota Motor Engineering & Manufacturing North America, Inc. Over-the-air vehicle systems updating and associate security protocols
US8856536B2 (en) 2011-12-15 2014-10-07 GM Global Technology Operations LLC Method and apparatus for secure firmware download using diagnostic link connector (DLC) and OnStar system
US8972736B2 (en) 2012-09-12 2015-03-03 General Motors Llc Fully authenticated content transmission from a provider to a recipient device via an intermediary device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030036918A1 (en) * 2000-12-20 2003-02-20 Pintsov Leon A. System and method for trusted self-billing and payment for utilities including audit, verification, reconciliation and dispute resolution
CN202424739U (zh) * 2012-01-06 2012-09-05 北京汽车股份有限公司 加密模块、服务平台及车载通信系统
US20130179689A1 (en) * 2012-01-10 2013-07-11 Clarion Co., Ltd. Information distribution method, information distribution system and in-vehicle terminal
CN102833250A (zh) * 2012-08-28 2012-12-19 华南理工大学 一种用于车载移动互联的安全管理方法和系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227079A (zh) * 2016-06-30 2016-12-14 大连楼兰科技股份有限公司 车联网嵌入式系统中使用dtmf技术控制车辆的方法、平台及应用
CN107729757A (zh) * 2016-08-10 2018-02-23 福特全球技术公司 软件更新之前的软件认证
CN107819794A (zh) * 2016-09-12 2018-03-20 厦门雅迅网络股份有限公司 车载终端程序升级方法及其系统
CN107041171B (zh) * 2016-11-25 2021-01-29 深圳市汇顶科技股份有限公司 低功耗蓝牙ble设备、数据更新系统及方法
CN107041171A (zh) * 2016-11-25 2017-08-11 深圳市汇顶科技股份有限公司 低功耗蓝牙ble设备、数据更新系统及方法
CN108419233B (zh) * 2017-01-31 2022-07-19 福特全球技术公司 空中更新安全
CN108419233A (zh) * 2017-01-31 2018-08-17 福特全球技术公司 空中更新安全
CN110325962A (zh) * 2017-02-27 2019-10-11 株式会社自动网络技术研究所 程序更新方法
CN107992321B (zh) * 2017-12-28 2021-04-27 国机智骏汽车有限公司 Ecu软件更新方法、装置、车载t-box及车辆
CN107992321A (zh) * 2017-12-28 2018-05-04 国机智骏(北京)汽车科技有限公司 Ecu软件更新方法、装置、车载t-box及车辆
CN113010893A (zh) * 2019-12-19 2021-06-22 华为技术有限公司 一种软件管理方法、装置及系统
WO2021120678A1 (zh) * 2019-12-19 2021-06-24 华为技术有限公司 一种软件管理方法、装置及系统
US11281450B2 (en) 2020-06-23 2022-03-22 Toyota Motor North America, Inc. Secure transport software update
US11782696B2 (en) 2020-06-23 2023-10-10 Toyota Motor North America, Inc. Secure transport software update
US11880670B2 (en) 2020-06-23 2024-01-23 Toyota Motor North America, Inc. Execution of transport software update

Also Published As

Publication number Publication date
US20160013934A1 (en) 2016-01-14
US9722781B2 (en) 2017-08-01
CN105260198B (zh) 2020-04-17
DE102015211904A1 (de) 2016-01-14

Similar Documents

Publication Publication Date Title
CN105260198A (zh) 车辆软件更新验证
CN105808285B (zh) 车辆控制更新的方法和系统
US20200396607A1 (en) Establishing a wireless connection to a vehicle
CN105791387B (zh) 车辆控制更新方法和系统
CN104866336A (zh) 无声车载软件更新
CN108419233B (zh) 空中更新安全
CN104780198A (zh) 用于对车内通信模块的通信设置进行更新的系统和车辆
US8729857B2 (en) System, device and method for data transfer to a vehicle and for charging said vehicle
EP3131207B1 (en) Vehicle control system having smart phone, and control method
US20150363210A1 (en) Vehicle download by remote mobile device
CN105094882A (zh) 无线车辆问题解决
CN105681270A (zh) 远程车辆应用许可的控制与监测
CN107054247B (zh) 用于保护个人用户数据的方法和系统
CN107102869A (zh) 空中更新的方法和设备
CN104049994A (zh) 用于多个车辆软件模块重新刷新的方法和设备
US10812592B2 (en) Method and apparatus for utilizing NFC to establish a secure connection
CN104516758A (zh) 用于定制的无线模块更新的方法和设备
CN104050421A (zh) 用于安全数据传送许可处理的方法和设备
CN104580138A (zh) 用于进行远程访问验证的系统和方法
CN107094169B (zh) 用于通过辅助信道增强远程信息处理安全性的设备和方法
US11539704B2 (en) Method and apparatus for secure wireless vehicle bus communication
CN105246048A (zh) 车辆计算系统经由辅助端口与移动装置通信的方法和系统
CN109542527A (zh) 用于动态便携式用户系统配置的方法和设备
JP6436123B2 (ja) 車両用情報通信システム、車両用情報通信方法、車載情報装置用プログラムおよびアプリケーションプログラム
KR20160041878A (ko) 차량과 무선 단말기 연결 방법

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