会话唯一访问令牌

文档序号:687791 发布日期:2021-04-30 浏览:1次 >En<

阅读说明:本技术 会话唯一访问令牌 (Session unique access token ) 是由 丹尼尔·亚伦·扎亚克 阿尔迪·乔希 于 2020-10-13 设计创作,主要内容包括:本公开提供了“会话唯一访问令牌”。一种系统包括第一计算机,所述第一计算机包括处理器,所述处理器被编程为从远程装置接收第一数字文档,所述第一数字文档包括来自服务器的数字签名并且指定用户对一个或多个车辆系统的访问。所述处理器还被编程为从所述服务器接收授权对所述一个或多个车辆系统的所述指定访问的第二数字文档;以及基于所述第一数字文档和所述第二数字文档向所述远程装置提供对所述一个或多个车辆系统的所述指定访问。(The present disclosure provides a &#34;session unique access token&#34;. A system includes a first computer including a processor programmed to receive a first digital document from a remote device, the first digital document including a digital signature from a server and specifying a user&#39;s access to one or more vehicle systems. The processor is further programmed to receive a second digital document from the server authorizing the designated access to the one or more vehicle systems; and providing the designated access to the one or more vehicle systems to the remote device based on the first digital document and the second digital document.)

会话唯一访问令牌

技术领域

本公开总体上涉及车辆安全系统。

背景技术

安全协议通常应用于各种车辆系统,以提供对诊断、开发和安全相关功能的访问。相应系统可能需要单独的认证程序,例如,采用由单独的服务器生成的单独的安全令牌。

发明内容

一种系统包括第一计算机,所述第一计算机包括第一处理器和第一存储器,所述第一存储器包括指令,使得所述第一处理器被编程为从远程装置接收第一数字文档,所述第一数字文档包括来自服务器的数字签名并且指定用户对一个或多个车辆系统的访问。处理器还被编程为从服务器接收授权对一个或多个车辆系统的指定访问的第二数字文档;以及基于第一数字文档和第二数字文档向远程装置提供用户对一个或多个车辆系统的指定访问。

在其他特征中,第二数字文档包括一个或多个第三数字文档,所述一个或多个第三数字文档授权对一个或多个车辆系统中的车辆系统的指定访问。

在其他特征中,第一处理器还可被编程为将一个或多个第三数字文档中的每一个安装在相应第三数字文档授权进行指定访问的相应车辆系统中。

在其他特征中,第二数字文档可包括用于将一个或多个第三数字文档中的至少一个安装在相应车辆系统中的脚本;并且第一处理器还可被编程为执行所述脚本。

在其他特征中,对一个或多个车辆系统的指定访问可基于用户标识符。

在其他特征中,可基于服务器私钥来对第二数字文档进行加密;并且第一处理器还可被编程为基于服务器公钥来对第二数字文档进行解密。

在其他特征中,第一处理器还可被编程为在从服务器接收第二数字文档之前向服务器传输请求,所述请求包括一个或多个车辆系统的标识符和来自第一数字文档的数据。

在其他特征中,第一处理器还可被编程为部分地基于第二数字文档包括来自对服务器的请求的数据而认证第二数字文档。

在其他特征中,服务器可包括第二处理器和第二存储器,所述第二存储器包括指令,使得所述第二处理器可被编程为从远程装置接收请求访问一个或多个车辆系统的消息。第二处理器还可被编程为生成第一数字文档,所述第一数字文档指定远程装置对一个或多个车辆系统的访问并且包括来自服务器的数字签名;以及将第一数字文档传输到远程装置。

在其他特征中,第二处理器还可被编程为基于包括在消息中的用户标识符和远程装置标识符中的至少一个来指定对一个或多个车辆系统的访问。

在其他特征中,第二处理器还可被编程为基于确定消息中的用户标识符包括在授权用户标识符的列表中而生成第一数字文档。

在其他特征中,第二处理器还可被编程为基于确定消息中的远程装置标识符包括在授权远程装置的列表中而生成第一数字文档。

在其他特征中,第二处理器还可被编程为在从第一处理器接收到消息时确认消息包括第一数字文档;以及基于所述确认而生成第二数字文档。

在其他特征中,第二处理器还可被编程为针对消息中来自一个或多个车辆系统中的一个车辆系统的质询号生成质询响应;以及将所述质询响应包括在第二数字文档中。

还公开了一种方法,所述方法包括从远程装置接收第一数字文档,所述第一数字文档包括来自服务器的数字签名并且指定远程装置对一个或多个车辆系统的访问。所述方法还包括从服务器接收授权对一个或多个车辆系统的指定访问的第二数字文档;以及基于第一数字文档和第二数字文档向远程装置提供对一个或多个车辆系统的指定访问。

在其他特征中,第二数字文档可包括一个或多个第三数字文档,所述一个或多个第三数字文档授权对一个或多个车辆系统中的车辆系统的指定访问。

在其他特征中,所述方法可包括将一个或多个第三数字文档中的每一个安装在相应第三数字文档授权进行指定访问的相应车辆系统中。

在其他特征中,第二数字文档可包括用于将一个或多个第三数字文档中的至少一个安装在相应车辆系统中的脚本,并且所述方法还可包括执行所述脚本。

在其他特征中,对一个或多个车辆系统的指定访问可基于用户标识符。

在其他特征中,可基于服务器私钥来对第二数字文档进行加密;并且所述方法还可包括基于服务器公钥来对第二数字文档进行解密。

本文还公开了一种计算装置,所述计算装置被编程为执行上述方法步骤中的任一者。

本文还公开了一种计算机程序产品,所述计算机程序产品包括计算机可读介质,所述计算机可读介质存储可由计算机处理器执行以执行上述方法步骤中的任一者的指令。

附图说明

图1是示出用于提供对多个车辆系统的会话访问的示例系统的框图。

图2A和图2B是用于提供对多个车辆系统的会话访问的示例过程的流程图。

具体实施方式

图1是用于提供远程装置140对车辆105中的多个车辆系统106的会话访问的示例系统100的框图。系统100包括车辆105、一个或多个远程装置140和由网络135通信地耦合的服务器150。为了便于说明,下面将系统100描述为包括一个车辆105。然而,系统100和由系统100授予的会话访问可包括一个或多个车辆105。

用户可经由远程装置140发送从服务器150请求会话访问令牌的消息。会话访问令牌是指定远程装置140对一个或多个车辆系统106的访问并且包括来自服务器150的数字签名的数字文档。远程装置140的访问可基于数字文档中包括的用户标识符。消息标识在会话期间请求访问的车辆105中的车辆系统106。如本文中所使用,术语“车辆系统106”表示车辆电子/机电系统、子系统、部件118、致动器116、传感器112、接口、模块等,其执行车辆105中的功能并且包括被编程为经由车辆通信网络122传输和/或接收消息的处理器。如本文中所使用,术语“令牌”是包括对参与一个或多个指定活动的授权的数字文档。如本文中所使用,术语“对车辆系统106的访问”表示与车辆系统106的授权通信。对车辆系统106的访问可以是完全的或受限的。完全访问意指授权用户经由远程装置140接收由车辆系统106传输的所有数据,并且可发送控制车辆系统106的所有特征的消息,例如命令。受限访问限制用户控制车辆系统106的一些特征而不控制车辆系统106的其他特征,或者仅控制指定限制内的某些特征。

服务器150可以接收请求并生成会话访问令牌。会话访问令牌指定远程装置140可以访问的车辆系统106,以及每个车辆系统106的访问级别。会话访问令牌还可指定用户可通过其访问车辆系统106中的每一个的远程装置140。服务器150可将会话访问令牌发送到远程装置140。

通常在接收到请求会话的用户输入时,远程装置140可将会话访问令牌发送到车辆105上的网关部件118_GW。为了便于讨论,对车辆105的会话访问的请求在本文中将被描述为由车辆105中的网关118_GW接收、处理和分发。例如另一部件118的一个或多个其他车辆系统106可替代地或另外被编程为执行这些功能。

如下所述,网关118_GW可与服务器150和车辆系统106协商以建立对车辆系统106的授权访问以进行会话。本上下文中的“会话”表示用户可经由远程装置140访问车辆系统106的时间段。时间段可以被指定为固定的时间量(例如,四个小时),被指定为开始时间和结束时间,或者例如直到事件发生,例如用户终止会话或服务器150终止会话。

每个车辆105包括由车辆通信网络122通信地耦合的车辆计算机110、传感器112、人机界面(HMI)114、致动器116、车辆部件118和车辆通信模块120。车辆部件118包括网关部件118_GW。

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

车辆计算机110可以自主模式、半自主模式或非自主(或手动)模式来操作车辆105。出于本公开的目的,自主模式被定义为其中车辆105推进、制动和转向中的每一者都由车辆计算机110控制的模式;在半自主模式中,车辆计算机110控制车辆105推进、制动和转向中的一者或两者;在非自主模式中,人类操作员控制车辆105推进、制动和转向中的每一者。

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

车辆计算机110可包括或者例如经由车辆通信网络122通信地耦合到多于一个处理器,所述多于一个处理器例如包括在车辆105中所包括的用于监测和/或控制各种车辆部件118的电子控制器单元(ECU)等中,所述ECU例如变速器控制器、制动控制器、转向控制器等。车辆计算机110通常被布置用于在车辆通信网络122上进行通信,所述车辆通信网络可包括车辆105中的一个或多个总线(例如,控制器局域网(CAN)等)和/或其他有线和/或无线机制。

经由车辆通信网络122,车辆计算机110可向车辆105中的各种装置(例如,传感器112、人机界面(HMI)114、致动器116、车辆部件118等)传输消息和/或从各种装置接收消息(例如,CAN消息)。替代地或另外,在车辆计算机110实际上包括多个装置的情况下,车辆通信网络122可用于在本公开中表示为车辆计算机110的装置之间的通信。此外,如下文所提及,各种控制器和/或传感器112可经由车辆通信网络122向车辆计算机110提供数据。

另外,车辆计算机110可被配置用于经由车辆通信模块120与车辆105外部的装置通信,例如,通过车辆对车辆(V2V)或车辆对基础设施(V2X)无线通信与另一车辆105、或经由网络135与例如远程装置140和服务器150的计算装置通信。

传感器112可包括例如已知用于向车辆计算机110提供数据的各种装置。例如,传感器112可包括设置在车辆105的顶部上、在车辆105的前挡风玻璃后面、在车辆105周围等的一个或多个光探测和测距(LIDAR)传感器112等,所述传感器提供车辆105周围的物体的相对位置、大小和形状。作为另一个示例,固定到车辆105保险杠的一个或多个雷达传感器112可以提供数据来提供物体、第二车辆105等相对于车辆105的位置的位置。传感器112还可替代地或另外包括一个或多个相机传感器112和/或其他图像传感器112(例如,前视、侧视等),从而提供来自车辆105周围的区域的图像。

传感器112还可包括温度传感器112、压力传感器112、旋转传感器112、角度传感器112、位置传感器112、扭矩传感器112等,以检测例如车厢温度、车辆发动机温度、车辆速度、车辆加速度、车辆转向角、发动机转速、制动压力等的车辆操作状态。传感器112可为独立单元,包括处理器且被编程用于在车辆通信网络122上进行通信。替代地,传感器112可包括在相应的车辆系统106中,并且通信地耦合到包括在那些车辆系统106中的处理器。

车辆105还包括人机界面(HMI)114。人机界面(HMI)114包括可从用户接收输入的输入装置,例如旋钮、按钮、开关、踏板、操纵杆、触摸屏、传声器等。例如,HMI 114可包括用于从用户接收输入以控制车辆105的制动踏板、加速踏板和方向盘。输入装置可包括传感器112,以检测用户输入并将用户输入数据提供给车辆计算机110。例如,方向盘可包括传感器112,以检测方向盘的旋转角度并将数据提供给车辆计算机110。

HMI 114还包括向用户输出信号或数据的输出装置,例如显示器(包括触摸屏显示器)、扬声器、灯等。HMI 114耦合到车辆通信网络122并且可向/从车辆计算机110和其他车辆系统106发送和/或接收消息。

致动器116经由可根据如已知的适当控制信号来致动各种车辆子系统的电路、芯片或其他电子和/或机械部件来实施。致动器116可用于控制车辆部件118,包括车辆105的制动、加速和转向。

在本公开的背景中,车辆部件118是适于执行机械或机电功能或操作,例如使车辆105移动、使车辆105减速或停止、使车辆105转向等的一个或多个硬件总成,所述硬件总成包括电子控制单元(ECU),所述ECU包括一个或多个处理器和存储器,所述存储器包括用于对处理器进行编程的指令。车辆部件118的非限制性示例包括推进部件118(其包括例如内燃发动机和/或电动马达等)、变速器部件118、转向部件118(例如,其可包括方向盘、转向齿条等中的一者或多者)、制动部件118、泊车辅助部件118、自适应巡航控制部件118、自适应转向部件118、可移动座椅118、网关118_GW等。

车辆部件118包括网关118_GW。如本文中所使用,网关118_GW是在车辆105内路由通信流量的电子控制模块。网关118_GW被编程为经由车辆通信模块120与远程装置140和服务器150通信。网关118_GW还被编程为经由车辆网络122与例如车辆计算机110、传感器112、HMI 114、致动器116、车辆部件118等车辆系统106通信。

网关118_GW可例如从远程装置140接收会话访问令牌,并且将会话访问令牌传输到服务器150。网关118_GW还可从服务器150接收用于一个或多个车辆系统106的访问令牌以及用于在相应车辆系统106中安装访问令牌的指令。基于指令,网关118_GW还可在相应车辆系统106中安装访问令牌,使得用户可经由远程装置140访问相应车辆系统106。

网关118_GW可进一步管理会话访问的到期/撤销。例如,网关118_GW可确定用户的请求已经到期并执行关闭连接的脚本。在关闭连接之前,网关118_GW还可检查以查看请求者与车辆系统106之间的通信是否正在进行。在通信正在进行的情况下,网关118_GW可例如向请求者发送访问已到期的通知。

车辆通信模块120包括一种或多种机制,例如车辆计算机110、车辆网关118_GW等的车辆系统106可通过所述机制与车辆105外部的计算装置,例如远程装置140、服务器150、其他车辆105、交通基础设施装置等通信。车辆通信模块120包括无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望的组合以及任何期望的网络拓扑(或当利用多种通信机制时的多种拓扑)。经由车辆通信模块120提供的示例性通信包括提供数据通信服务的蜂窝、蓝牙、IEEE802.11、专用短程通信(DSRC)和/或包括因特网的广域网(WAN)。

如本文中所使用,车辆通信网络122被定义为用于车辆105的车辆系统106之间的有线或无线通信的一种或多种机制。车辆通信网络122可包括例如一个或多个车辆通信总线和一个或多个无线通信网络。车辆通信总线的非限制性示例包括控制器局域网(CAN)总线、局域互连网(LIN)总线和以太网网络。无线通信网络的非限制性示例包括蓝牙、蓝牙低功耗(BLE)和Wi-Fi直连。

网络135表示车辆计算机110、网关118_GW和其他车辆系统106可通过其与例如远程装置140的远程装置和服务器150通信的一种或多种机制。因此,网络135可以是各种有线或无线通信机制中的一者或多者,包括有线(例如,电缆和光纤)和/或无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望的组合以及任何期望的网络拓扑(或当利用多种通信机制时的多种拓扑)。示例性通信网络包括提供数据通信服务的无线通信网络(例如,使用低功耗(BLE)、IEEE 802.11、车辆对车辆(V2V),例如专用短程通信(DSRC)等)、局域网(LAN)和/或包括因特网的广域网(WAN)。

远程装置140是包括例如已知的处理器和存储器的计算装置。远程装置140被编程用于经由车辆通信网络122与车辆系统106通信,并且可包括人机界面以支持用户对车辆系统106的开发、测试或诊断。远程装置140可包括编程、数字密钥等,以建立或确认与服务器150的可信度。在此上下文中,可信度意味着远程装置140可建立信任级别,使得服务器150被授权向远程装置140提供会话访问令牌。例如,远程装置140可包括与服务器150上的数字密钥匹配或配对的数字密钥,使得远程装置140和服务器150可交换加密的通信。作为另一个示例,远程装置140可具有在服务器150上被列出为授权装置的标识符。

基于接收到会话访问令牌,远程装置140还被编程为请求访问车辆系统106,例如部件118中的一个。远程装置140可将请求传送到网关118_GW,所述网关如本文所述管理对车辆系统106的访问。

在示例中,用户可将应用程序从服务器150下载到远程装置140。应用程序可在由会话访问令牌指定的时间段期间与网关118_GW协作建立对在会话访问令牌中标识的车辆系统106的访问。

服务器150可为被编程为提供例如本文公开的操作的常规计算装置,即,包括一个或多个处理器和一个或多个存储器。此外,可经由网络135,例如因特网或某一其他广域网来访问服务器150。

服务器150被编程为从远程装置140接收对访问车辆105中的一个或多个车辆系统106的请求,确定远程装置140的访问级别,并且向远程装置140提供会话访问令牌,以指定远程装置140对一个或多个车辆系统106的访问级别。指定访问可针对指定用户(具有指定标识符的用户),针对指定远程装置140,或者针对经由指定远程装置140的指定用户。服务器150还可被编程为用服务器150特定的数字签名来对会话访问令牌进行签名。在一些情况下,用户可经由第一远程装置140接收会话访问令牌,并且经由第二远程装置140使用会话访问令牌。在这种情况下,例如,用户可在利用会话令牌之前将会话访问令牌从第一远程装置140传送到第二远程装置140。

服务器150还被编程为从车辆105的网关118_GW接收认证会话访问令牌的请求,并且向网关118_GW提供必要的令牌、脚本和程序,以提供远程装置140对车辆系统106的访问。本上下文中的脚本是通常在如已知的解译器解译之后可由处理器执行的一组指令。

服务器150可包括(即,在非易失性存储器中维护)多个车辆105的公钥(或例如,用于相应车辆的网关118_GW)以提供与车辆105的安全通信。服务器150还可在存储器中维护服务器150的私钥,服务器150可使用所述私钥来对会话访问令牌和其他数字文档进行数字签名。

服务器150还可在存储器中包括与一个或多个车辆系统106相关的安全数据。术语“安全数据”在本上下文中表示服务器150可以用来确定并提供对车辆系统106的访问的数据、算法、脚本等。例如,安全数据可包括安全令牌或编程以生成用于车辆系统106的安全令牌。安全数据还可包括用于授予对车辆系统106的访问的标准。例如,对于每个车辆系统,安全数据可包括授权用户和/或授权远程装置140的列表。作为另一个示例,安全数据可包括用于从请求访问的车辆系统106接收质询号并对质询号作出响应的机制。

图2A和图2B是用于向远程装置140提供对多个车辆系统106的会话访问的示例过程200的流程图。过程200在框202中开始。

在框202中,远程装置140向服务器150发送请求对车辆105中的一个或多个车辆系统106的会话访问的消息。所述消息可包括:

1)所请求会话的时间范围,

2)用户请求访问的车辆105的标识符,

3)所请求访问的一个或多个车辆系统106的标识符,

4)分别针对每个车辆系统106请求的访问的级别,

5)请求访问的用户的标识符,以及

6)请求访问的远程装置140的标识符。

如本文中所使用,时间范围是对时间段的描述,例如日期、开始和结束当日时间、点火循环的次数、会话访问令牌的使用次数、交易次数等。“标识符”是对应于特定用户、远程装置140、车辆105、车辆系统106等的基本上唯一的数据集,通常是字母数字数据串。例如,车辆105的标识符可以是车辆识别号码(VIN)。用户标识符可以是例如对应于特定用户或用户群组的字母数字数据串。车辆系统106的标识符可以是例如车辆系统106中的模块的序列号,为车辆系统106进行通信的处理器的标识符等。所述过程在框204中继续。

在框204中,服务器150确定用户是否被授权。例如,服务器150可维护授权用户的用户标识符列表。服务器150可确定请求中提供的用户标识符是否包括在授权用户列表中。作为另一个示例,服务器150可请求并从第三方接收对用户的授权。在示例中,第三方可购买可由服务器150用来向用户提供会话访问的积分。

在服务器150确定用户被授权的情况下,过程200在框206中继续。否则,用户未被授权,于是过程200结束。在结束过程200之前,服务器150可例如向远程装置140发送指示所请求的访问已被拒绝的消息。

在框206中,在用户被授权的情况下,并且基于用户的身份,服务器150生成会话访问令牌。所述会话访问令牌包括以下中的一个或多个:

1)会话的时间段,

2)所授权访问的车辆105的标识符,

3)所授权访问的一个或多个车辆系统106的标识符,

4)被授予访问权限的用户的标识符;

5)被授予访问权限的一个或多个远程装置140的标识符;

6)分别针对一个或多个车辆系统106中的每一个的用户访问的级别,以及

7)来自服务器150的数字签名。

例如,如上所述,服务器150可维护用户表,包括用户的批准访问。所述表可包括用户标识符,并且可标识服务器150可为每个用户授权的系统和访问级别。表1是示例性部分用户批准访问表。

在一些情况下,服务器150还可指定用户可用来访问车辆系统106的远程装置140。例如,服务器150可维护授权远程装置标识符的列表。

例如,除非基于用户批准访问表来限制用户的批准访问,否则服务器150可生成会话访问令牌以包括用户请求的所有访问。在这种情况下,服务器150可生成会话访问令牌以包括用户访问,直到用户批准访问表中指定的限制。

会话访问令牌可包括来自服务器150的数字签名。数字签名是可由一个或多个算法解译以用于验证文档真实性的一组数据。数字签名可基于非对称密码术,所述非对称密码术使得消息的创建者(在这种情况下为服务器150)能够附加充当签名和私钥的代码,其中所述代码基于签名所附加到的消息。可基于与私钥相关联的公钥来认证所述消息。由美国国家标准技术研究所开发的数字签名算法(DSA)是数字签名机制的示例。在这种情况下,服务器150可利用服务器私钥来对会话访问令牌进行数字签名。例如远程装置140或网关118_GW的其他计算装置可利用服务器公钥来确认数字签名。

接下来,在框208中,服务器150将会话访问令牌发送到远程装置140。过程200在框210中继续。

在框210中(在一些实现方式中可省略),远程装置140可将会话访问令牌传送到会话访问令牌可适用的一个或多个其他远程装置140。例如,其他远程装置140可包括用户可在访问会话期间使用并且可能需要访问车辆105中的车辆系统106的测试设备的一个或多个项目。远程装置140可经由网络135将会话访问令牌传送到其他远程装置140中的每一个。过程200在框212中继续。

在框212中,远程装置140将会话访问令牌提交到车辆105中的网关118_GW。例如,远程装置140可连接到包括在车辆通信网络122中的CAN总线,并且经由CAN总线将会话访问令牌传输到网关118_GW。过程200在框214中继续。

在框214中,网关118_GW为服务器150生成请求包。请求包是由网关118_GW基于从远程装置140接收的会话访问令牌而生成的数字文档,并且可包括:

1)所请求访问的车辆系统106中的每一个的标识符,

2)分别来自一个或多个车辆系统106的质询号,

3)所请求访问的车辆系统106的元数据,以及

4)会话访问令牌。

用于生成请求包的网关118_GW可从所请求访问的车辆系统106中的一个或多个请求相应质询号。相应质询号可例如由包括在一个或多个车辆系统106中的[[a]]伪随机数生成器生成。网关118_GW可将用于一个或多个车辆系统106的相应质询号包括在请求包中。

元数据可包括相应车辆系统106的序列号、固件或软件版本、制造商、零件号、装饰级别、特征内容等。

在汇编请求包之后,网关118_GW可例如通过使用网关118_GW私钥来进一步对请求包进行加密。过程200在框216中继续。

在框216中,网关118_GW经由网络135将请求包传输到服务器150。过程200在框218中继续。

在框218中,在网关118_GW对请求包进行加密的情况下,服务器150对请求包进行解密。例如,在网关118_GW使用网关118_GW私钥对请求包进行加密的情况下,服务器150使用网关118_GW公钥对请求包进行解密。过程200在框220中继续。

在框220中,服务器150确定请求包是否被授权。在请求包被加密的情况下,服务器150确认通过网关118_GW公钥进行的解密成功,从而确认使用网关118_GW私钥执行加密。

服务器150还可生成对包括在请求包中的来自车辆系统106的质询号的质询响应。质询响应可以是由与相应车辆系统106相关联的响应生成器算法生成的数字(或字母数字字符串)。例如,在接收到包括在请求包中的质询号时,服务器150可将质询号提交给与生成质询号的车辆系统106相关联的响应生成器算法。在一些情况下,服务器150可包括分别用于一个或多个车辆系统106的响应生成器算法,即,将所述响应生成器算法存储在存储器中。在其他情况下,响应生成器算法中的一个或多个可维持在另一服务器上,服务器150可经由网络135与所述另一服务器通信。

服务器150还可通过将会话访问令牌与先前签名并提供给用户的会话访问令牌进行比较来确认用户的真实性。服务器150还可通过例如确认在会话的时间范围内接收到请求包来重新确认用户被授权。服务器150还可重新确认用户的标识符包括在批准用户的列表中。在服务器150确认请求包被授权的情况下,过程200在框222中继续。否则,服务器150拒绝请求包,并且过程200结束。服务器150可例如向网关118_GW发送通知网关118_GW请求包被拒绝的消息。

在框222中,服务器150生成响应包。响应包是由服务器150基于从网关118_GW接收的请求包而生成的数字文档。响应包还可基于先前从远程装置140接收的对会话访问令牌的请求。响应包包括:

1)请求包,

2)用于车辆系统106的会话唯一令牌,

3)质询响应,以及

4)车辆系统106特定的提交脚本。

车辆系统106的会话唯一令牌是在指定会话期间与指定车辆系统106交互的权限的数字表示。车辆系统106特定的提交脚本是指令集(数字代码),所述指令集可例如由网关118_GW执行以提供远程装置140对指定车辆系统106的访问。

在生成响应包之后,服务器150然后可使用服务器150私钥对响应包进行加密。过程200在框224中继续。

在框224中,服务器150将响应包传输到网关118_GW。过程在框226中继续。

在框226中,如果需要,网关118_GW对响应包进行解密。例如,在服务器150使用服务器150私钥对响应包进行加密的情况下,网关118_GW可使用服务器150公钥对响应包进行解密。

接下来,在框228中,网关118_GW认证响应包。最初,网关118_GW确定网关118_GW是否能够对响应包进行解密,即,其是否从对响应包进行解密接收到预期结果。此外,网关118_GW确定包括在响应包中的请求包是否与先前提供给服务器150的请求包匹配。在网关118_GW认证响应包,即,能够对响应包进行解密和/或返回的请求包与先前发送的请求包匹配的情况下,过程200在框230中继续。否则,过程200结束。在结束过程200之前,网关118_GW可(经由远程装置140)通知用户和/或服务器150访问请求被拒绝。

在框230中,网关118_GW将请求包中指定的车辆系统106解锁到用户经由远程装置140进行的指定访问级别。网关118_GW执行提交脚本,从而为每个相应车辆系统106安装会话唯一令牌,使得远程装置140能够进行访问。网关118_GW还可将质询响应提交到相应车辆系统106以供相应车辆系统106验证。过程200在框232中继续。

在框232中,网关118_GW监测车辆通信网络122。例如,网关118_GW可监测车辆通信网络122中的CAN总线上的消息,远程装置140在所述CAN总线上进行通信,即,发送消息。过程200在框234中继续。

在框234中,网关118_GW确定是否已经发生会话结束事件。会话结束事件是指示会话已经结束或即将结束的消息、电信号、系统电压电平的变化等。例如,会话结束事件可以是来自用户正在注销的远程装置140的消息。作为另一个示例,车辆通信网络122上的消息可指示当日时间是19:00,并且通过会话访问令牌将会话调度为在19:00结束。作为另一个示例,电信号或电源电压的电压电平的变化可指示车辆105已断电,或者已经从车辆105移除电源。上文列出的示例不是限制性的。其他消息、信号、电压电平的变化等也可指示会话已经结束。在网关118_GW确定已经发生会话结束事件的情况下,过程200结束。否则,过程200在框232中继续。

在示例过程200的以上描述中,对车辆105的会话访问的请求被描述为由车辆105中的网关118_GW接收、处理和分发。这仅为示例并且不旨在进行限制。归因于网关118_GW的操作可全部或部分地由例如另一部件118的一个或多个其他车辆系统106执行。

如本文中所使用,副词“基本上”表示形状、结构、测量结果、数量、时间等因为材料、机加工、制造、数据传输、计算速度等的缺陷而可能偏离精确描述的几何形状、距离、测量结果、数量、时间等。

如本文中所使用,术语“基于”表示全部或部分地基于。

一般地,所描述的计算系统和/或装置可采用多个计算机操作系统中的任一者,包括但绝不限于以下版本和/或变型:Ford应用、AppLink/Smart Device Link中间件、Microsoft操作系统、Microsoft操作系统、Unix操作系统(例如,由加州红杉海岸的Oracle公司发布的操作系统)、由纽约阿蒙克市的International Business Machines公司发布的AIX UNIX操作系统、Linux操作系统、由加州库比蒂诺的苹果公司发布的Mac OSX和iOS操作系统、由加拿大滑铁卢的黑莓有限公司发布的BlackBerry OS以及由谷歌公司和开放手机联盟开发的Android操作系统、或由QNXSoftware Systems供应的CAR信息娱乐平台。计算装置的示例包括但不限于车载车辆计算机、计算机工作站、服务器、台式计算机、笔记本计算机、膝上型计算机或手持式计算机或者某一其他计算系统和/或装置。

计算机和计算装置一般包括计算机可执行指令,其中所述指令可由例如一个或多个计算装置(例如以上列出的那些)执行。可由使用多种编程语言和/或技术创建的计算机程序编译或解译计算机可执行指令,所述编程语言和/或技术单独地或者组合地包括但不限于JavaTM、C、C++、Matlab、Simulink、Stateflow、Visual Basic、Java Script、Perl、HTML等。这些应用程序中的一些可在例如Java虚拟机、Dalvik虚拟机等虚拟机上编译和执行。一般来说,处理器(例如,微处理器)例如从存储器、计算机可读介质等接收指令,并且执行这些指令,由此执行一个或多个过程,包括本文所述的过程中的一者或多者。可使用各种计算机可读介质来存储和传输此类指令和其他数据。计算装置中的文件通常是存储在例如存储介质、随机存取存储器等的计算机可读介质上的数据的集合。

存储器可包括计算机可读介质(也称为处理器可读介质),所述计算机可读介质包括参与提供可由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。此类介质可采取许多形式,包括但不限于非易失性介质和易失性介质。非易失性介质可包括例如光盘或磁盘以及其他持久性存储器。易失性介质可包括例如通常构成主存储器的动态随机存取存储器(DRAM)。此类指令可由一种或多种传输介质传输,所述一种或多种传输介质包括同轴电缆、铜线和光纤,包括构成耦合到ECU的处理器的系统总线的电线。计算机可读介质的常见形式包括例如软盘、软磁盘、硬盘、磁带、任何其他磁性介质、CD-ROM、DVD、任何其他光学介质、穿孔卡片、纸带、具有孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒式磁带或计算机可从中读取的任何其他介质。

数据库、数据存储库或本文所描述的其他数据存储区可包括用于存储、访问和检索各种数据的各种机制,包括分层数据库、文件系统中的文件集、呈专用格式的应用数据库、关系数据库管理系统(RDBMS)等。每个此类数据存储区一般包括在采用计算机操作系统(例如以上提到的操作系统中的一种)的计算装置内,并且经由网络以各种方式中的任一种或多种来访问。文件系统可从计算机操作系统访问,并且可包括以各种格式存储的文件。除了用于创建、存储、编辑和执行已存储的程序的语言(例如上述PL/SQL语言)之外,RDBMS还通常采用结构化查询语言(SQL)。

在一些示例中,系统元件可被实现为一个或多个计算装置(例如,服务器、个人计算机等)上、存储在与其相关联的计算机可读介质(例如,磁盘、存储器等)上的计算机可读指令(例如,软件)。计算机程序产品可包括存储在计算机可读介质上以用于执行本文所述的功能的此类指令。

关于本文所描述的介质、过程、系统、方法、启发等,应当理解,虽然此类过程等的步骤已被描述为根据某一有序顺序发生,但此类过程可在以与本文所描述次序不同的次序执行所描述步骤的情况下来实践。还应当理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文所描述的某些步骤。换句话说,本文中对过程的描述是出于说明某些实施例的目的而提供的,并且绝不应被解释为限制权利要求。

因此,应当理解,以上描述旨在是说明性的而非限制性的。在阅读以上描述时,除了所提供的示例之外的许多实施例和应用对于本领域的技术人员将是明显的。不应参考以上描述来确定本发明的范围,而应该为参考所附权利要求连同此类权利要求所赋予权利的等效物的全部范围来确定本发明的范围。预期并期望本文所讨论的技术未来将有所发展,并且所公开的系统和方法将并入此类未来实施例中。总之,应当理解,本发明能够进行修改和变化,并且仅受所附权利要求限制。

除非本文做出明确的相反指示,否则权利要求中使用的所有术语意图给出如本领域技术人员所理解的普通和一般的含义。具体地,除非权利要求叙述相反的明确限制,否则使用例如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。

根据本发明,提供了一种系统,所述系统具有第一计算机,所述第一计算机包括第一处理器和第一存储器,所述第一存储器包括指令,使得第一处理器被编程为:从远程装置接收第一数字文档,所述第一数字文档包括来自服务器的数字签名并且指定用户对一个或多个车辆系统的访问;从服务器接收授权对一个或多个车辆系统的指定访问的第二数字文档;以及基于第一数字文档和第二数字文档向远程装置提供用户对一个或多个车辆系统的指定访问。

根据实施例,第二数字文档包括一个或多个第三数字文档,所述一个或多个第三数字文档授权对一个或多个车辆系统中的车辆系统的指定访问。

根据实施例,第一处理器还被编程为将一个或多个第三数字文档中的每一个安装在相应第三数字文档授权进行指定访问的相应车辆系统中。

根据实施例,第二数字文档包括用于将一个或多个第三数字文档中的至少一个安装在相应车辆系统中的脚本;并且第一处理器还被编程为执行所述脚本。

根据实施例,对一个或多个车辆系统的指定访问基于用户标识符。

根据实施例,基于服务器私钥来对第二数字文档进行加密;并且第一处理器还被编程为:基于服务器公钥来对第二数字文档进行解密。

根据实施例,第一处理器还被编程为:在从服务器接收第二数字文档之前向服务器传输请求,所述请求包括一个或多个车辆系统的标识符和来自第一数字文档的数据。

根据实施例,第一处理器还被编程为:部分地基于第二数字文档包括来自对服务器的请求的数据而认证第二数字文档。

根据实施例,本发明的特征还在于服务器包括第二处理器和第二存储器,所述第二存储器包括指令,使得所述第二处理器被编程为:从远程装置接收请求访问一个或多个车辆系统的消息;生成第一数字文档,所述第一数字文档指定远程装置对一个或多个车辆系统的访问并且包括来自服务器的数字签名;以及将第一数字文档传输到远程装置。

根据实施例,第二处理器还被编程为:基于包括在消息中的用户标识符和远程装置标识符中的至少一者来指定对一个或多个车辆系统的访问。

根据实施例,第二处理器还被编程为:基于确定消息中的用户标识符包括在授权用户标识符的列表中而生成第一数字文档。

根据实施例,第二处理器还被编程为:基于确定消息中的远程装置标识符包括在授权远程装置的列表中而生成第一数字文档。

根据实施例,第二处理器还被编程为:在从第一处理器接收到消息时确认消息包括第一数字文档;以及基于所述确认而生成第二数字文档。

根据实施例,第二处理器还被编程为:针对消息中来自一个或多个车辆系统中的一个车辆系统的质询号生成质询响应;以及将质询响应包括在第二数字文档中。

根据本发明,一种方法包括:从远程装置接收第一数字文档,所述第一数字文档包括来自服务器的数字签名并且指定远程装置对一个或多个车辆系统的访问;从服务器接收授权对一个或多个车辆系统的指定访问的第二数字文档;以及基于第一数字文档和第二数字文档向远程装置提供对一个或多个车辆系统的指定访问。

在本发明的一个方面中,第二数字文档包括一个或多个第三数字文档,所述一个或多个第三数字文档授权对所述一个或多个车辆系统中的车辆系统的指定访问。

在本发明的一个方面中,所述方法包括将一个或多个第三数字文档中的每一个安装在相应第三数字文档授权进行指定访问的相应车辆系统中。

在本发明的一个方面中,所述方法包括:第二数字文档包括用于将一个或多个第三数字文档中的至少一个安装在相应车辆系统中的脚本,所述方法还包括执行所述脚本。

在本发明的一个方面中,对一个或多个车辆系统的指定访问是基于用户标识符。

根据实施例,基于服务器私钥来对第二数字文档进行加密,所述方法还包括:基于服务器公钥来对第二数字文档进行解密。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:群呼方法、计算机装置及计算机可读记录介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类