用于自主车辆的控制接口的制作方法

文档序号:15062023发布日期:2018-07-31 22:01阅读:598来源:国知局

本发明涉及一种用于自主车辆的控制接口。



背景技术:

车辆可以完全地或至少部分地在没有用户干预的情况下运行。这样的车辆有时被称为自主或自驾车辆。例如,车辆计算机可以控制诸如转向、制动、动力传动等的一个或多个车辆操作。因此,自主车辆可以没有车辆方向盘、制动踏板等。然而,在诸如修理、维护等的一些情况下,可能需要手动控制车辆操作。因此,可以使用外部装置来手动控制至少一部分车辆操作。



技术实现要素:

根据本发明,提供一种包含控制计算机的系统,该控制计算机被编程用于进行以下操作:

一经被连接至车辆通信网络,就基于加密密钥来执行认证;和

一经被物理上附接至通信网络的车辆计算机认证,就控制包括推进、制动、和转向中的至少一个的车辆操作。

根据本发明的一个实施例,其中控制计算机还被编程用于通过向车辆计算机发送消息来执行认证,其中消息包括至少部分地基于加密密钥的认证签名。

根据本发明的一个实施例,该系统还包含车辆计算机,该车辆计算机被编程用于进行以下操作:

接收由控制计算机发送的消息;和

基于认证签名来认证控制计算机。

根据本发明的一个实施例,该系统还包含车辆计算机,该车辆计算机被编程用于进行以下操作:通过基于储存在车辆计算机中的数据来确定认证签名是否有效来认证控制计算机。

根据本发明的一个实施例,其中控制计算机还被编程用于通过基于加密密钥来加密消息来执行认证。

根据本发明的一个实施例,其中车辆计算机还被编程用于基于由车辆计算机生成的解密密钥对加密消息进行解密,并且基于认证签名来认证控制计算机。

根据本发明的一个实施例,其中控制计算机还被编程用于通过以下操作来执行认证:

向远程计算机发送包括密钥的消息;

至少部分地基于消息而从远程计算机接收临时认证签名;和

至少部分地基于临时认证签名而向车辆计算机发送认证请求。

根据本发明的一个实施例,其中临时认证签名还至少部分地基于车辆标识号、当前时间和计算机标识符中的一个。

根据本发明的一个实施例,其中车辆计算机还被编程用于从远程计算机接收与临时认证签名相关联的数据。

根据本发明的一个实施例,其中车辆计算机还被编程用于至少部分地基于与临时认证签名相关联的数据来认证控制计算机。

根据本发明的一个实施例,其中来自远程计算机的接收到的数据用由车辆计算机提供的公共密钥来进行加密。

根据本发明的一个实施例,其中控制计算机还被编程用于通过发送包括用于致动车辆致动器的命令的消息来控制车辆操作。

根据本发明的一个实施例,其中消息由控制计算机签名。

根据本发明的一个实施例,其中车辆计算机还被编程用于进行以下操作:

从车辆用户界面接收用于激活车辆非自主模式的请求,其中请求包括访问码;

一经确定访问码与预期访问码相匹配,就激活车辆非自主模式;和

一经确定车辆计算机处于非自主模式和车辆计算机的认证,就基于来自控制计算机的消息来控制车辆操作。

根据本发明,提供一种方法,该方法包含:

一经控制计算机被连接至车辆通信网络,就基于加密密钥来执行认证;和

一经被物理地附接至通信网络的车辆计算机认证,就控制包括推进、制动、和转向中的至少一个的车辆操作。

根据本发明的一个实施例,该方法中执行认证还包括由控制计算机向车辆计算机发送消息,其中消息包括至少部分地基于加密密钥的认证签名。

根据本发明的一个实施例,该方法还包含:

在车辆计算机处接收从控制计算机发送的消息;和

基于认证签名来认证控制计算机。

根据本发明的一个实施例,该方法中执行认证还包括:

从控制计算机向远程计算机发送包括密钥的消息;

至少部分地基于消息而在控制计算机处从远程计算机接收临时认证签名;和

至少部分地基于临时认证签名来从控制计算机向车辆计算机发送认证请求。

根据本发明的一个实施例,该方法中临时认证签名还至少部分地基于车辆标识号、当前时间和计算机标识符中的一个。

根据本发明的一个实施例,该方法还包含:

在车辆计算机处从车辆用户界面接收用于激活车辆非自主模式的请求,其中请求包括访问码;

一经确定访问码与预期访问码相匹配,就激活车辆非自主模式;和

一经确定车辆计算机处于非自主模式和车辆计算机的认证,就基于来自控制计算机的消息来控制车辆操作。

附图说明

图1是示出了示例性车辆和连接至车辆计算机的示例性控制计算机的图;

图2是图1的控制计算机控制车辆的示例性过程的流程图;

图3a-3b包括车辆计算机认证控制计算机的示例性过程的流程图;

图4是远程计算机提供认证数据的示例性过程的流程图。

具体实施方式

介绍

本文公开了一种包括控制计算机的系统,该控制计算机被编程用于一经被连接至车辆通信网络,就基于从加密令牌接收到的密钥来执行认证。该计算机被编程用于一经被永久地和物理地附接至通信网络的车辆计算机认证,就控制包括推进、制动和转向中的至少一个的车辆操作。

示例性系统元件

图1示出了示例性车辆100、控制装置150、和远程计算机180。可以以各种已知的方式为车辆100提供动力,例如,利用电动马达和/或内燃发动机。车辆100包括诸如下文所讨论的计算机110、致动器120、传感器130、用户界面装置140、以及其他组件。

计算机110包括诸如已知的处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且储存可由计算机110执行的用于执行包括如本文所公开的各种操作的指令。

计算机110可以以自主、半自主、或非自主模式操作车辆100。为了本公开的目的,自主模式被定义为:在自主模式下,车辆100的推进、制动、和转向中的每个都由计算机110控制;在半自主模式下,计算机110控制车辆100的推进、制动、和转向中的一个或两个;在非自主模式下,车辆100的用户控制车辆100的推进、制动、和转向。

计算机110可以包括用于操作车辆的制动器、推进器(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一个或多个来控制车辆中的加速度)、转向装置、气候控制系统、内部和/或外部车灯等中的一个或多个,以及确定是否以及何时由计算机110而非操作人员来控制这些操作的编制程序。

计算机110可以包括多于一个的其他计算装置,或者例如通过如下面进一步描述的车辆通信总线通信地耦合至多于一个的其他计算装置,其他计算装置例如包括在车辆中的用于监视和/或控制各种车辆部件的控制器等,例如,控制器可以包括电子控制单元(ecu),诸如动力传动系统控制器、制动器控制器、转向装置控制器等。计算机110总体上被设置用于在诸如控制器局域网can)等的车辆通信网络上进行通信。

通过车辆100的网络,计算机110可以将消息传送至车辆100中的各种装置和/或从各种装置(例如,控制器、致动器120、传感器130等)接收消息。替代地或另外地,在计算机110实际上包含多个装置的情况下,车辆通信网络可以用于在本公开中表示为计算机110的装置之间的通信。此外,如下所述,各种控制器和/或传感器130可以通过车辆通信网络向计算机110提供数据。另外,通过车辆100的通信网络,计算机110可以例如通过控制装置150与车辆100的通信接口之间的有线和/或无线连接将消息传送至外部控制装置150和/或从外部控制装置150接收消息。

另外,计算机110可以被配置用于通过网络190与远程计算机180通过车辆-基础设施(v-i)的接口进行通信。网络190表示一个或多个机制,通过该机制,计算机110和远程计算机180可以彼此进行通信,并且网络190可以是各种有线或无线通信机制中的一种或多种,各种有线或无线通信机制包括有线(例如,电缆和光纤)和/或无线(例如,蜂窝、无线、卫星、微波和射频)通信机制和任何期望的网络拓扑结构(或使用多个通信机制时的拓扑结构)的任何期望组合。示例性通信网络包括提供数据通信服务的无线通信网络(例如,使用蜂窝、蓝牙、ieee802.11等中的一个或多个)、专用短程通信(dsrc)、局域网(lan)和/或包括互联网的广域网(wan)。

如已经提到的,在没有操作人员干预的情况下,用于操作车辆100的诸如制动器、转向装置、推进器等的部件的编制程序总体上被包括在储存在存储器中并且由计算机110执行的指令中。使用在计算机110中接收到的数据(例如,来自传感器130的传感器数据等),计算机110可以在没有驾驶员操作车辆的情况下进行各种确定和/或控制各种车辆部件和/或操作。例如,计算机110可以包括用于调节诸如速度、加速度、减速度、转向等的车辆操作行为、以及诸如车辆之间的距离和/或车辆之间的时间量、车辆之间的最小变换车道间隔、左转最小经过路线、到达特定位置的时间、十字路口(无信号)到达以经过十字路口的最短时间等的战术行为的编制程序。

传感器130可以包括已知通过车辆通信总线提供数据的各种装置。例如,传感器130可以包括被设置在车辆100中、提供包含车辆内部和/或外部中的至少一些的数据的一个或多个摄像机传感器130等。数据可以通过任何合适的接口由计算机110接收。

致动器120是通过电路、芯片或其他电子部件来实施的各种已知装置,其可以根据已知的适当的控制信号来致动各种车辆子系统。因此,致动器120可以用于控制车辆100的制动器、加速器、和转向装置。

用户界面装置140可以包括诸如已知的触摸屏、交互式语音应答(ivr)系统、和/或其他输入/输出机制,并且可以从用户接收输入数据和/或向用户输出数据。例如,用户界面装置140可以具有触摸屏,该触摸屏用于输入访问码和/或修改车辆100的配置,例如将车辆100的操作模式改变为非自主模式。在一个示例中,用户界面装置140被设置在车辆100的内部中并且被安装至车辆100的仪表板。

远程计算机180是通过网络190与计算机110进行通信的一台或多台远程计算机,网络190例如是诸如长期演进技术(lte)的无线通信网络和/或诸如以太网的有线通信网络。

如上所述,例如在自主或半自主模式下,车辆100的计算机110可以控制包括推进、制动、和转向中的至少一个的车辆100的操作。然而,由于诸如车辆100的维护、修理等的各种原因,用户可以通过控制装置150来控制诸如车辆100的转向的车辆100的操作的至少一部分,控制装置150例如是包括按钮、触摸屏、控制杆等的手持式装置。控制装置150可以通过有线和/或无线通信接口与车辆100的通信网络进行通信。

控制装置150可以包括控制计算机160。控制计算机160包括诸如已知的处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且储存可由计算机160执行的用于执行包括如本文所公开的各种操作的指令。例如,控制计算机160可以发送包括用于致动例如车辆100的制动器致动器120的命令的消息。

在一个示例中,为了防止入侵者的计算机控制车辆100的操作,车辆100的计算机110可以被编程用于认证请求访问车辆100的计算机110并且控制车辆100的操作的控制计算机160。控制计算机160可以被编程用于一经被连接至车辆100的通信网络,就基于从控制装置150的加密令牌170接收到的密钥(例如,数字和/或字符的组合)来执行认证。控制计算机160可以被编程用于一经被永久地和物理地附接至通信网络的车辆100的计算机110认证,就控制包括推进、制动、和转向中的至少一个的车辆100的操作。在本公开的背景下的“永久地和物理地”意指在车辆100制造期间安装至车辆100,例如通过螺钉、夹状件等与车辆100的车身部件机械地连接,并且还可能通过车辆100的电线电连接至其他车辆100的电气部件。因此,车辆100的计算机110可以防止入侵者的计算机装作(即,冒充)经授权的控制装置150的控制计算机160来控制车辆100的操作。在一个示例中,经授权的控制装置150可以包括由车辆100的制造商制造的装置或经认可的第三方装置。另外,车辆100的计算机110和控制计算机160可以使用诸如加密的技术来实现彼此安全和保密的通信。

在另一示例中,车辆100的计算机110可以被编程用于从车辆100的用户界面装置140接收包括访问代码的请求,访问代码例如是诸如车辆分销商(例如,经销商)的某些特定方已知的用于激活车辆100的非自主模式的密码。车辆100的计算机110一经例如基于车辆100的计算机110中的所储存的信息确定接收到的访问码与预期访问码相匹配,就可以激活车辆100的非自主模式。

在一个示例中,如果车辆100的计算机110确定接收到的访问码与预期访问码相匹配,则车辆100的计算机110可以激活车辆100的非自主模式。例如,车辆100的计算机110可以被编程用于基于从控制计算机160接收到的命令来控制车辆100的操作。在另一示例中,车辆100的计算机110可以在验证访问码之后另外地认证控制计算机160。替代地,车辆100的计算机110可以被编程用于首先认证控制计算机160,然后在激活车辆100的非自主模式之前继续验证访问码。

众所周知,加密是用于将信息从可理解状态转换为不可理解状态的技术。例如控制计算机160和车辆100的计算机110的加密消息的始发者和预定接收者可以共享恢复初始可理解信息所需要的例如包括共享密钥等的解密(转换为初始可理解状态)技术。由此,始发者和预定接收者防止诸如入侵者的计算机的有害方对信息进行解密。诸如rsa(rivest、shamir、和adleman(发明者名字))的各种已知技术可以用于提供诸如控制计算机160和车辆100的计算机110的双方之间的加密通信。例如,在基于rsa的加密中,任何人都知道用于与预定接收者进行通信的加密密钥。但是,只有预定接收者才能获得能够解密基于加密密钥进行加密的消息的解密密钥。

如本文所讨论的数字通讯或消息的认证意指实施用于确定通讯或消息的可信性(或缺乏可信性)的方案,通讯或消息例如是从控制计算机160到车辆100的计算机110的请求制动操作的消息。与指的是规定的行为或否则指示身份(例如,来自控制计算机160的已发送消息包括已知控制装置150的标识符)的识别相比,认证包括确认该身份。与涉及保证来自第三方的双方之间的通信安全的加密相比,认证包括确认接收到的消息是由已知的发送者而不是由任何其他方创建的。诸如认证签名(或数字签名)的各种已知技术可以用于认证。包括在接收到的消息中的有效认证签名可以向车辆100的计算机110给出推断出该消息是由已知的发送者(例如已知的控制装置150)创建的理由。

例如,控制计算机160可以被编程用于通过向车辆100的计算机110发送包括认证签名的消息来执行认证。认证签名可以基于双方已知的数据,例如发送者的标识符、本地时间、和/或从控制装置150的加密令牌170接收到的密钥。因此,接收者可以基于加密密钥、解密密钥、和/或诸如控制计算机160的标识符的已知的数据来验证认证签名。

车辆100的计算机110可以被编程用于接收由控制计算机160发送的消息,并且基于认证签名来认证控制计算机160。在一个示例中,车辆100的计算机110可以被编程用于基于储存在车辆100的计算机110中的数据或另外可由车辆100的计算机110访问的数据来认证控制计算机160。例如,车辆100的计算机110可以通过确定认证签名是否被包括在储存在车辆100的计算机110中或可由车辆100的计算机110访问的存储器中的有效认证签名的列表中来认证控制计算机160。在另一示例中,车辆100的计算机110可以确定各个控制装置150的预期签名,例如,已知的控制装置150的标识符和当前时间的组合,并且验证接收到的消息的认证签名是否包括预期签名。在另一示例中,车辆100的计算机110可以基于控制装置150的标识符、当前时间等的运算(例如,乘法运算)结果来确定预期签名。换句话说,车辆100的计算机110可以知道控制计算机160如何确定其认证签名。

在另一示例中,为了防止假冒和实现机密性,可以使用包括消息的加密和消息发送者的认证二者的技术。换句话说,这种消息的预定接收者不仅可以与发送者有保密通信,而且还可以认证发送者。例如,控制计算机160可以被编程用于通过基于从控制装置150的加密令牌170接收到的密钥来加密消息来执行认证。换句话说,控制计算机160可以基于密钥来加密整个消息,密钥是基于诸如当前时间、每个控制计算机160的唯一标识符(诸如,序列号、车辆100的标识符等)的数据。因此,可以基于至少部分地基于诸如标识符、序列号等的特定于各个发送者的数据的加密密钥来加密由车辆100的计算机110接收到的消息。

在一个示例中,控制装置150的加密令牌170可以基于加密令牌170和车辆100的计算机110二者都已知的数据和函数来生成密钥。例如,已知数据可以包括诸如当前时间、控制计算机110的标识符、从已知号码的列表中选择的号码等。函数可以至少包括基于诸如当前时间等的已知数据来生成加密密钥的方法。函数可以包括用于生成加密密钥的例如诸如乘法运算、除法运算等数学运算的运算。例如车辆100的计算机110的接收者可以访问已知数据和/或函数来生成解密密钥,该解密密钥可以用于将接收到的消息转换为可理解的消息。

因此,加密和解密可以至少部分地基于由控制装置150的加密令牌170生成的信息。因此,车辆100的计算机110可以能够认证控制装置150的标识。例如,车辆100的计算机110可以被编程用于基于由车辆100的计算机110生成的解密密钥来解密接收到的加密消息。另外地,车辆100的计算机110可以被编程用于解密包括在接收到的消息中的认证签名,并且基于解密的认证签名来认证发送者。可以以诸如芯片的电子部件和/或可在例如包括在控制计算机160中的处理器上执行的程序的形式来实施加密令牌170。

在另一示例中,可以使用三方认证和/或加密机制。例如,控制计算机160和车辆100的计算机110可以至少部分地基于从第三方(例如,远程计算机180)接收到的信息来确定密钥和/或认证签名。换句话说,控制计算机160和车辆100的计算机110不仅可以依赖于车辆100的计算机110和各个控制计算机160已知的信息,而且还可以依赖于从第三方(例如,远程计算机180)接收到的信息。

在一个示例中,控制计算机160可以被编程用于通过向远程计算机180发送包括例如控制计算机160的标识符、车辆100的标识符、和/或由控制计算机160的加密令牌170生成的密钥的消息来执行认证。然后,控制计算机160可以至少部分地基于所发送的消息从远程计算机180接收临时认证签名。可以由远程计算机180基于接收到的信息和/或只有远程计算机180(例如,随机数发生器)已知的数据来生成临时认证签名。

在另一示例中,至少部分地基于车辆100的标识号、当前时间、和控制计算机160的识别符中的一个来生成临时认证签名。控制计算机160可以至少部分地基于临时认证签名向车辆100的计算机110发送认证请求。因为接收到的消息至少部分地基于从例如远程计算机180的第三方接收到的信息,所以车辆100的计算机110可能需要来自远程计算机180的信息来理解接收到的消息。在一个示例中,车辆100的计算机110可以被编程用于从远程计算机180接收与临时认证签名相关联的数据。例如,远程计算机180可以向车辆100的计算机110发送能够使车辆100的计算机110确定临时认证签名的数据。车辆100的计算机110可以基于接收到的数据和诸如车辆100的标识符的车辆100的计算机110已知的其他数据来确定临时认证签名。车辆100的计算机110可以至少部分地基于接收到的数据来认证控制计算机160。在另一示例中,远程计算机180与车辆100的计算机110之间的通信,和/或远程计算机180与控制计算机160之间的通信可以被加密。例如,远程计算机180可以将用与车辆100的计算机110相关联的加密密钥(或者所谓的公共密钥)加密的消息发送至车辆100的计算机110。车辆100的计算机110可以基于仅车辆100的计算机110已知的、与公共密钥有相关联的解密密钥(或者所谓的秘密密钥)来解密接收到的消息。

过程

图2是控制计算机160控制车辆100的示例性过程200的流程图。在一个示例中,控制装置150的控制计算机160可以被编程用于执行过程200的步骤。

过程200在判定框205中开始,在判定框205中,控制计算机160确定控制计算机160是否被连接至车辆通信网络,例如can、以太网、无线网络等。例如,控制计算机160可以基于观察车辆can或其它通信总线上的数据通信,例如车辆100中的ecu之间交换的消息,来确定控制计算机160被连接至车辆通信网络。如果控制计算机160确定控制计算机160被连接至车辆100的通信网络,则过程200进行至判定框210;否则过程200返回至判定框205。

在判定框210中,控制计算机160确定车辆100是否在非自主模式下运行。例如,控制计算机160可以从车辆100的计算机110接收指示车辆100正在以非自主模式运行的消息。如果控制计算机160确定车辆100正在以非自主模式运行,则过程200进行至框215;否则过程200返回至判定框210。

在框215中,控制计算机160从加密令牌170接收密钥,例如基于控制计算机160的标识符、当前时间、数字列表等的加密密钥。

接下来,在判定框220中,控制计算机160确定三方认证是否可以用于与车辆100的计算机110进行通信。在一个示例中,控制计算机160可以从车辆100的计算机接收指示车辆100的计算机110是否使用三方认证的消息。如果控制计算机160确定车辆100的计算机110使用三方认证,则过程200进行至框225;否则过程200进行至框240。

在框225中,控制计算机160向远程计算机180发送包括数据的消息,该数据在一个示例中包括所生成的密钥、控制计算机160的标识符、和车辆100的标识符。可以基于远程计算机180的公共密钥来加密所发送的消息。

接下来,在判定框230中,控制计算机160确定是否从远程计算机180接收到临时认证签名。另外地或替代地,控制计算机160可以从远程计算机180接收数据并且基于从远程计算机180接收到的数据来生成新的密钥。如果控制计算机160接收到临时认证签名,则过程200进行至框240;否则该过程返回至判定框230。

在框240中,控制计算机160向车辆100的计算机110发送具有认证签名的消息。例如,在从判定框220到框240的情况下,控制计算机160发送包括例如从控制计算机110和车辆100的计算机110已知的认证签名的列表中选择的认证签名的消息。在另一示例中,在从判定框230到框240的情况下,控制计算机160可以发送包括临时认证签名的消息。另外地或替代地,控制计算机160可以基于从远程计算机180接收到的数据来加密该消息。

接下来,在判定框245中,控制计算机160确定控制计算机160的认证是否被车辆100的计算机110确认。例如,控制计算机160可以从车辆100的计算机110接收消息,该消息指示车辆100的计算机110确认控制计算机160的认证和/或接受来自控制计算机160的用于控制车辆100的操作的指令。如果控制计算机160确定车辆100的计算机110确认了认证,则过程200进行至框250;否则过程200结束,或者替代地,尽管在图2中未示出,但是过程200可以返回至框215。

在框250中,控制计算机160从例如控制装置150的用户界面(诸如按钮、控制杆等)接收用户输入。例如,用户输入可以包括与按压制动按钮相关联的数据。在一个示例中,控制计算机160可以被编程用于将用户在制动按钮上施加的压力量与制动压力(例如,500千帕(kpa)相关联,例如称为线控制动。

接下来,在框255中,控制计算机160将加密命令发送至车辆100的计算机110,例如,指示车辆100的制动器致动器120可以施加500kpa的制动压力。另外地,控制计算机160可以包括在发送至车辆100的计算机110的每个命令中的认证签名。

接下来,在判定框260中,控制计算机160确定控制会话是否终止。在本公开的背景中的“控制会话”是指从发送至车辆100的计算机110控制请求开始,直到由于任何原因对车辆100的操作的控制结束的时间。例如,控制会话可以由于控制计算机160与车辆100的网络断开而结束。如果控制计算机160确定控制会话结束,则过程200结束;否则过程200返回至框250。

图3a-3b包括车辆100的计算机110验证例如根据过程200编程的控制计算机160的示例性过程300的流程图。例如,车辆100的计算机110可以被编程用于执行过程300的框。

参考图3a,过程300在判定框305中开始,在判定框305中,车辆100的计算机110确定车辆100的计算机110是否从经销商等接收到诸如密码的访问码。例如,用户可以将密码输入到车辆100的用户界面140中。如果车辆100的计算机110确定接收到访问码,则过程300进行至判定框310;否则过程300返回至判定框305。

在判定框310中,车辆100的计算机110确定接收到的访问码是否与预期访问码相匹配。例如,预期访问码的列表可以储存在车辆100的计算机110的存储器中。如果车辆100的计算机110确定接收到的访问码与预期访问码相匹配,则过程300进行至框315;否则过程300返回至判定框305。

在框315中,车辆100的计算机110将车辆100的操作模式设置为非自主模式。因此,有利地,车辆100的计算机110防止由入侵者的计算机激活非自主模式。例如,在入侵者未能获得车辆100内部的访问权限的情况下,入侵者可能无法通过用户界面140输入预期访问码。因此,例如在车辆100的发动机罩下的连接至车辆100的通信网络的入侵者的计算机可能无法控制车辆100的操作。

接下来,在判定框320中,车辆100的计算机110确定是否从控制计算机160接收到加密消息。例如,该消息可以包括指示发送者标识符、与控制装置140相关联的can消息标识符的附加的未加密的信息。换句话说,消息的标识符可以是可以指示发送者身份的非加密信息。因此,车辆100的计算机110可以知道接收到消息的发送者声称拥有哪个身份。如下所述,这可能有助于验证是否从在接收到的消息中指示身份的发送者接收到消息。如果车辆100的计算机110确定接收到加密消息,则过程300进行至判定框340;否则过程300返回至判定框320。

在判定框340中,车辆100的计算机110确定是否使用了三方认证。例如,车辆100的计算机110可以具有储存在存储器中的指示是否使用了三方认证的数据。另外地或替代地,远程计算机180可以例如通过发送至车辆100的计算机110的消息来配置是否使用三方认证。另外,车辆100的计算机110可以例如周期性地向连接至车辆100的通信网络的控制计算机160发送指示是否使用三方认证的消息。如果车辆100的计算机110确定使用了三方认证,则过程300进行至框325;否则过程300进行至判定框345。

在框325中,车辆100的计算机110向远程计算机180发送请求,该请求包括诸如车辆100的标识符、请求已认证的通信的控制计算机160的标识符、当前时间等的数据。

接下来,在判定框330中,车辆100的计算机110确定是否从远程计算机180接收到数据。例如,接收到的数据可以包括与远程计算机180单独向控制计算机160提供的临时认证签名相关联的数据(见图4)。另外地或替代地,车辆100的计算机110可以至少部分地基于接收到的数据来确定由各个控制计算机160预期的解密密钥和/或认证签名。如果车辆100的计算机110确定从远程计算机180接收到数据,则过程300进行至判定框345;否则过程300返回至判定框330。

在判定框345中,车辆100的计算机110确定接收到的消息是否被认证。换句话说,车辆100的计算机110确定是否从已知的控制装置150接收到消息,和/或控制装置150是否是被允许控制车辆100的操作的已知装置。在一个示例中,在从判定框340到判定框345的情况下,车辆100的计算机110基于诸如有效认证签名的列表、函数、控制装置150的标识符等的车辆100的计算机110已知的信息来确定接收到的认证签名是否有效。在另一示例中,在从判定框330到判定框345的情况下,车辆100的计算机110至少部分地基于从远程计算机180接收到的数据来确定接收到的消息的认证签名是否有效。如果车辆100的计算机110确定认证是有效的,则过程300进行至框355(参见图3b)。否则过程300进行至框350。

在框350中,车辆100的计算机110例如通过发送指示发送者未能发送具有有效认证签名的消息的消息来拒绝发送者的认证请求。在框350之后,过程300结束,或者替代地,尽管在图3a中未示出,但是返回至判定框305。

现在转到图3b,在框355中,车辆100的计算机110确认控制计算机160的认证。例如,车辆100的计算机110向控制计算机160发送确认认证的消息。

接下来,在判定框360中,车辆100的计算机110确定是否接收到来自控制计算机160的命令。在一个示例中,接收到的命令包括通过车辆100通信网络接收到的加密消息。如果车辆100的计算机110确定从控制计算机160接收到消息,则过程300进行至框365;否则过程300返回至判定框360。

在框365中,车辆100的计算机110解密从控制计算机160接收到的命令。另外地,来自控制计算机160的每个接收到的命令可以包括认证签名,并且车辆100的计算机110可以分别认证来自控制计算机160的每个接收到的命令。

接下来,在框370中,车辆100的计算机110基于接收到的命令引起动作。例如,车辆100的计算机110可以向车辆100的制动器致动器发送包括500kpa的所请求的制动压力的消息。

接下来,在判定框375中,车辆100的计算机110确定控制会话是否结束,例如,控制计算机160与车辆100的通信网络是否断开连接。如果车辆100的计算机110确定控制会话结束,则过程300结束;否则过程300返回至判定框360。

图4是远程计算机180向控制计算机160和车辆100的计算机110提供认证数据的示例性过程400的流程图。例如,远程计算机180可以被编程用于执行过程400的框。

过程400在判定框405中开始,在判定框405中,远程计算机180确定是否从接受自控制计算机160的加密数据接收到例如临时认证数据的请求。该请求可以包括控制计算机160的标识符、车辆100的标识符、由控制装置150的加密令牌170生成的密钥等。如果远程计算机180确定从控制计算机160接收到请求,则过程400进行至框410;否则过程400返回至判定框405。

在框410中,远程计算机180生成临时认证数据(例如,临时认证签名),并且将其发送至控制计算机160。在一个示例中,至少部分基于车辆100的标识符、当前时间、和控制计算机160的标识符中的一个来生成临时认证签名。另外,远程计算机180可以将包括临时认证签名的数据发送至经识别的车辆100的计算机110。

接下来,在判定框415中,远程计算机180确定是否从车辆100的计算机110接收到请求。另外地或替代地,远程计算机180可以确定是否从例如基于车辆100的标识符已经在来自控制计算机160的先前接收到的请求中被识别的车辆100的计算机110接收到请求。如果远程计算机180确定从车辆100的计算机110接收到请求,则过程400进行至框420;否则过程400返回至判定框415。

在框420中,远程计算机180确定并将数据发送至车辆100的计算机110。在一个示例中,所发送的数据包括也已经被发送至控制计算机160的临时认证签名。在另一示例中,所发送的数据包括可以由车辆100的计算机110用来认证从控制计算机160发送至车辆100的计算机110的消息的数据,例如新密钥、函数等。另外,远程计算机180可以被编程用于一经确定远程计算机180还没有接收到来自控制计算机160的包括车辆100的标识符的请求,就发送拒绝请求车辆100的计算机110的临时认证数据的消息。换句话说,远程计算机180当没有来自控制计算机160的指示与车辆100的计算机110的控制会话开始的先前接收到的请求时,可以拒绝提供临时认证数据。

在框420之后,过程400结束,或者替代地,尽管在图4中未示出,但是返回至判定框405。

如本文所讨论的计算装置通常各自包括由诸如上面所标识的一个或多个计算装置执行、并且用于执行上述过程的框或步骤的指令。计算机可执行指令可以由计算机程序编译或解释,计算机程序采用多种编程语言和/或技术创建,这些编程语言和/或技术包括但并不限于单独地或组合的javatm、c、c++、visualbasic、javascript、perl、html等。通常,处理器(例如微处理器)例如从存储器、计算机可读介质等接收指令,并且执行这些指令,由此完成包括这里所描述的一个或多个程序的一个或多个程序。这样的指令或其他数据可以采用各种计算机可读介质存储和传输。计算装置中的文件通常是储存在诸如存储介质、随机存取存储器等的计算机可读介质上的数据的集合。

计算机可读介质包括参与提供可以由计算机读取的数据(例如指令)的任意介质。这样的介质可以采用多种形式,包括但不限于非易失性介质、易失性介质等。非易失性介质包括例如光盘或磁盘或其他永久性存储器。易失性介质包括典型地构成主存储器的动态随机存取存储器(dram)。计算机可读介质的常规形式包括,例如软盘、柔性盘、硬盘、磁盘、任何其他磁性介质、cd-rom(只读光盘驱动器)、dvd(数字化视频光盘)、任何其他光学介质、穿孔卡片、纸带、具有孔图案的任何其他物理介质、ram(随机存取存储器)、prom(可编程只读存储器)、eprom(可擦除可编程只读存储器)、flash(闪存)、eeprom(电可擦除可编程只读存储器)、任何其他存储器芯片或盒,或者任何其他计算机可读取的介质。

关于这里所述的媒介、程序、系统、方法等,应理解的是虽然这样的程序等的步骤已经被描述为按照一定的顺序排列发生,但这样的程序可以采用以这里描述的顺序之外的顺序完成的描述的步骤实施操作。进一步应该理解的是,某些步骤可以同时执行,可以添加其他步骤,或者可以省略这里所述的某些步骤。换言之,这里的系统和/或过程的描述提供用于说明某些实施例的目的,并且不应该以任何方式解释为限制所公开的主题。

因此,应当理解的是,包括上面的描述和附图以及以下权利要求的本公开旨在是说明性的而非限制性的。在阅读上面的描述时,除了提供的示例外许多实施例和应用对于本领域技术人员都是显而易见的。本发明的范围应参照所附权利要求和/或包含在基于此的非临时专利申请中的权利要求以及其等同的全部距离而确定,而不是参照上面的说明而确定。可以预期的是这里所讨论的技术将出现进一步的发展,并且所公开的系统和方法将可以结合到这样的进一步的实施例中。总之,应该理解的是所公开的主题能够被修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1