消息认证库的制作方法

文档序号:12839100阅读:216来源:国知局
消息认证库的制作方法与工艺

本发明涉及用于诊断计算机的应用软件,其包括用于验证通过车辆总线传达的代码的消息认证库。



背景技术:

内部车辆消息流量可以被加密。例如,车辆可以具有通过数据总线互连的多个电子模块,并且该模块可以通过该总线彼此通信以便执行车辆功能。如果恶意攻击者(例如,黑客)能够访问总线,则该攻击者可以能够操控或者如若不然控制一些车辆功能——例如,有害于授权用户。因此,一种传统做法是对通过总线(在模块之间)发送的消息流量进行加密。因此,如果攻击者获取了未授权访问,则该攻击者将只会发现加密的消息——使得攻击者更不可能能够操控或者控制车辆。

在设计与研发期间,这种车辆数据总线系统需要进行测试以便验证和核实该系统正恰当地操作——例如,在将车辆销售给顾客(或者授权用户)之前。车辆制造商可以将子系统研发外包给供应商。例如,制造商可以请求供应商提供总线和模块接口(例如,其中,该接口允许模块彼此通信)。在供应商研发期间,供应商通常需要测试和验证数据总线系统。然而,制造商可能不希望给供应商提供特定安全数据——例如,制造商可能不希望给供应商提供加密密匙来解密内部消息流量。因此,需要一种机构或者工具,该机构或者工具可以提供给供应商,使得在不需要给供应商提供特定安全数据的情况下使供应商可以验证车辆数据总线系统的操作。



技术实现要素:

根据本发明的实施例,提供了一种计算机程序产品,该计算机程序产品包括用于诊断计算机的非暂时性计算机可读介质,该非暂时性计算机可读介质包括储存在计算机可读介质上的应用软件程序,该应用软件程序包括指令,该指令适应于验证通过车辆网络连接所传送的加密消息。该指令可以包括:执行初始化序列,该初始化序列包括在诊断计算机处接收初始化数据,其中,该初始化数据与多个车辆系统模块(vsm)相关联,该多个车辆系统模块经由车辆网络连接联接在一起;接收通过网络连接所传送的加密消息来作为诊断计算机处的数据输入;以及基于初始化数据在诊断计算机处确定所接收到的加密消息是否有效。

根据本发明的另一个实施例,提供了一种用于在诊断计算机处验证通过车辆网络连接所传送的加密消息的方法。该方法包括:在诊断计算机处接收初始化数据,其中,该初始化数据是从多个车辆系统模块(vsm)接收的,该多个车辆系统模块经由车辆网络连接联接在一起;在诊断计算机处接收加密消息,其中,该加密消息是由多个vsm(车辆系统模块)中的一个通过网络连接来传送;基于初始化数据在诊断计算机处确定所接收到的加密消息是否有效;以及在诊断计算机处提供指示所接收到的加密消息是有效还是无效的输出数据。

附图说明

下文将结合附图对本发明的一个或多个实施例进行描述,图中相似标号表示相似元件,并且在附图中:

图1是描绘了能够利用本文公开的方法的车辆通信测试系统的实施例的框图;

图2是图1中示出的系统的一部分的示意图;以及

图3是图示了使用图1至图2中示出的通信测试系统的方法的流程图。

具体实施方式

参照图1,其中示出了包括车辆通信测试系统10的操作环境,车辆通信测试系统10可以用于实施本文公开的方法。测试系统10通常包括:其中具有通信系统14的车辆12、用于分析与通信系统14相关联的消息流量的第一诊断计算机16、以及用于确定消息流量加密的第二诊断计算机20。第一计算机16和第二计算机20可以同时由车辆子系统供应商用于验证系统14的操作;并且更加具体地,计算机20可以促进在不给供应商提供特定安全数据(例如,诸如一个或多个密匙等加密信息)的情况下在供应商处验证通信系统安全性。应理解,所公开的方法可以与任何数量的不同系统一起使用并且并不具体地限制于在此示出的操作环境。

车辆12在所图示的实施例中被描绘为小客车,但应理解,也可以使用任何其它交通工具,包括:摩托车、卡车、运动型多用途车(suv)、休闲车(rv)、海船、飞机等。下文描述的测试系统10可以在车辆12(或者其部件)正经历建造/研发时进行执行,同时位于车辆制造厂处(例如,在销售之前)、授权车辆服务中心处(例如,在车辆的销售之后)、或者任何其它合适地点处。

车辆12中的通信系统14包括将多个车辆系统模块(vsm)24互连的网络连接22。网络连接22被图示为通信总线;然而,这仅仅是示例。合适的有线网络连接的非限制性示例包括:控域网(can)、媒体导向系统传输(most)、本地互连网络(lin)、局域网(lan)、以及其它恰当连接,诸如以太网或者符合已知的iso、sae和ieee标准和规范的其它连接,仅举几例。应理解,除了其它有线和/或无线网络之外,也设想了其它类型的网络连接22。例如,在一个实施例中,vsm24(车辆系统模块24)可以是无线局域(或者车域)网(例如,wlan或者wvan)的一部分——例如,根据任何合适的短程无线通信(srwc)协议进行操作。非限制性srwc(短程无线通信)实施方式包括wi-fi、wi-fi直连、任何合适的蓝牙协议,仅举几例。

vsm24可以是遍布车辆12的电子硬件部件的形式并且通常接收来自一个或多个传感器(未示出)的输入且使用所感测到的输入来执行诊断、监测、控制、报告、以及/或者其它功能。每个vsm24优选地通过通信总线(例如,连接22)互连。vsm24的非限制性示例包括:车辆远程信息处理单元、gps模块、发动机控制模块(ecm)、动力系统控制模块(pcm)、车身控制模块(bcm)等。例如,其中,远程信息处理单元可以使得能够与车辆外部的装置进行通信——例如,经由蜂窝通信、以及短程无线通信(例如,wi-fi、蓝牙等)。gps模块可以接收gps卫星数据并且用于生成地图数据、以及分段导航,仅举几例。ecm(发动机控制模块)可以控制发动机操作的多个方面,诸如,燃油点火和点火正时。并且例如,pcm(动力系统控制模块)可以调控车辆动力系统的一个或多个部件的操作,而bcm(车身控制系统)则可以管制遍布车辆12的多个电气部件,比如,车辆的电动门锁和车头灯。当然,这些仅仅是vsm24的示例;可以使用其它实施方式来代替和/或添加上文所讨论的那些实施方式。尽管不意在具有限制性,但诸如车辆12等车辆可以具有许多vsm24(例如,在一个实施例中,30至40个vsm)。

如在图1中示出的,每个vsm24均可以包括电子控制单元(ecu)26,该电子控制单元26包括一个或多个处理器28,该一个或多个处理器28联接至储存装置或者存储器30以及安全外围设备或者专用密码装置32。处理器28可以是能够处理电子指令的任何类型的装置,包括:微处理器、微控制器、主处理器、控制器、车辆通信处理器、以及专用集成电路(asic)。处理器28可以是仅仅用于特定vsm24的专用处理器或者可以与其它车辆系统共享。处理器28执行多种类型的数字储存指令,诸如,储存在存储器30中(或者处理器28上)的软件或者固件程序34,该数字储存指令使得vsm24能够提供任何合适的服务。例如,处理器28可以执行程序或者处理数据以便执行本文所讨论的方法的至少一部分,如下文所讨论的。

示例性存储器或者计算机可用储存装置30包括:传统的计算机系统ram(随机存取存储器)、rom(只读存储器)、eprom(可擦可编程只读存储器)、eeprom(电可擦可编程只读存储器)、以及磁盘/带或者光盘/带。因此,应理解,方法可以至少部分地由能够执行至少一些预定指令的任何电子装置来执行,诸如,处理器电路或者装置(例如,诸如,处理器28)。

安全外围设备32可以是任何电子装置,该电子装置接收消息内容数据并且加密或者解密该消息内容数据,从而使得其可用于车辆12内的当前vsm24或者另一个vsm24。例如,当vsm24通过网络连接22接收消息时,安全外围设备32可以解密并且验证所接收到的消息。当确定该消息无效时,外围设备32可以(例如,向另一个vsm24或者甚至是远程服务器)提供错误指示或者潜在安全破坏。并且例如,在vsm通过连接22发送消息之前,安全外围设备32可以对该消息加密。

在至少一个实施例中,安全外围设备32物理地和逻辑地与ecu26的剩余部分(以及与其它vsm部件)分隔。例如,外围设备32可以包括单独的硬件、单独的软件或者固件、或者这两者。在一个实施例中,安全外围设备32包括专用处理器32p、专用存储器32m、专用指令等;然而,这不是必需的。因此,在一个实施例中,仅仅每个ecu26的外围设备32可以具有对通过网络连接22发送的消息流量进行加密和解密的能力。因此,应理解,安全外围设备32与ecu26的剩余部分和/或网络连接22的任何分隔均可以适应于防止恶意攻击者获取和恶意地使用秘密密匙信息——例如,防止车辆12或者车辆系统模块24的未授权使用。例如,即使恶意攻击者破坏了连接22和/或一个或多个euc26,攻击者将仍需要破坏安全外围设备32才能解释消息或者使用消息。物理和/或逻辑分隔阻止攻击者的成功可能性。

车辆12中的每个安全外围设备32可以(例如,在存储器32m中)储存查阅表中的一个或多个密匙或者秘密。密匙可以是任何合适类型的加密密匙或者代码;然而,在至少一个实施例中,密匙是对称或者共享密匙。此外,在至少一个实施例中,密匙仅为安全外围设备32已知。下文示出的表ⅰ是查阅表的非限制性示例(其内容可以被储存在存储器32m中)。进一步地,尽管图示了十个不同的密匙(密匙1-密匙10),但应理解,其它实施例可以具有更多或者更少的密匙。

表ⅰ

在至少一个实施例中,每个安全外围设备32包括计数器以生成与密匙相关联的计数器标识符(id)或者计数器id值。计数器可以被配置在软件中;然而,硬件实施方式也是可能的。计数器可以按照任何合适的方式进行增量;然而,在至少一个实施例中,每当发送了由特定安全外围设备32加密的消息时,计数器就增量。并且基于所生成的计数器id值,安全外围设备32可以确定使用哪个密匙来对所发送的消息进行加密。计数器id值的非限制性示例也在表ⅰ中示出;再次,这仅仅意在图示查阅表。

表ⅰ图示了每个密匙均可以与一个或多个计数器id值相关联。在该实施方式中,计数器id值1、11、21等(例如,n+10)与密匙1相关联。类似地,计数器id值2、12、22等(例如,再次,n+10)与密匙2相关联等。这仅仅是示例,以图示单个密匙可以与多个计数器id值相关联。其它实施方式也是可能的。

当将消息从发送者-ecu26传送至目标-ecu26时,相应发送者安全外围设备32可以接收消息内容(例如,来自其相应vsm24和/或经由ecu26)。在一个实施例中,发送者外围设备32然后可以通过用查阅表中的其中一个密匙为消息内容署名(例如,根据外围设备的计数器id值)来生成消息认证代码(mac)。mac的使用也是示例性的;例如,可以使用其它加密形式来代替。加密署名——包括mac——通常是已知的并且在此不做进一步的描述。其后,外围设备32可以使计数器增量(当然,在其它实施例中,可以在从查阅表获取密匙之前使计数器增量)。

为了传送消息,外围设备32可以准备消息正文和标题。在至少一个实施例中,消息的正文包括未加密消息内容和mac(例如,加密消息内容),并且标题包括与用于对消息加密的密匙相关联的未加密计数器id值。在一些实施方式中,标题和/或消息正文可以包括其它数据;例如,诸如,ecu的标识符、优先级值等。一旦外围设备32准备好了消息,发送者-ecu26就可以从其处接收消息并且通过网络连接22传送该消息。

当目标-ecu26接收到消息时,该消息可以首先由其相应安全外围设备32(例如,目标安全外围设备)进行认证。不可以被认证的消息可以被忽视掉(例如,并且可以导致通信系统14内的或者发送至远程服务器、车辆后台系统等的错误报告)。因此,当接收时,目标外围设备32可以从标题提取计数器id值。通过使用所提取的值,外围设备32可以使用其自身的查阅表来确定使用哪个密匙来解密消息。例如,目标外围设备32中的查阅表可以与发送者外围设备32中的查阅表相同。

通过使用恰当密匙,目标外围设备32然后可以解密mac。解密的mac可以产生解密消息内容数据。目标外围设备32然后可以将该解密内容数据与在消息的正文中接收到的未加密内容数据作比较。如果解密消息内容与未加密消息内容相同,则目标安全外围设备32认证或者验证消息。然而,如果解密消息内容与未加密消息内容不相同,则忽视该消息并且将其视为无效。

如在图1中示出的,在至少一个实施例中,网络连接22包括诊断端口40——例如,用于诊断访问和/或其它访问通信系统14。端口40可以直接连接至网络连接22,或者在一些实施方式中,端口40可以位于vsm24或者ecu26上——例如,间接地联接至连接22。例如,在至少一个实施例中,诊断端口40可以适应于连接至测试vsm或者诊断测试工具,诸如,第一诊断计算机16。诊断端口的实施方式通常是已知的;技术人员将理解其使用的多个方面。

现在看第一诊断计算机16,计算机16可以是任何商用数据记录计算机或者使得能够与连接22通信的任何装置。在一个实施例中,计算机16仅仅是通信网络连接22与第二诊断计算机20之间的接口。在另一个实施例中,计算机16可以适应于通过接收一个或多个串行输入来监测数据总线流量;并且计算机16可以适应于通过使用一个或多个串行输出来测试或者模拟数据总线流量——例如,经由电缆或者线束42连接至端口40。例如,可以使用计算机16来接收、监测、分析、模拟、校准连接22上的消息流量等。此外,计算机16也可以将测试消息传送到连接22上。在至少一个实施方式中,第一诊断计算机16由车辆制造商的销售商或者供应商使用,并且计算机16不能译解加密消息流量——例如,因为消息密匙仅为连接22上的相应ecu26的安全外围设备32已知。第一计算机16的非限制性商用示例包括数据记录器,诸如,vectorinformaticgmbh公司的canoe以及intrepidcontrolsystems公司的vehiclespy,仅举两例。

第一计算机16示出为经由另一个电缆或者线束44联接至第二诊断计算机20。第二诊断计算机20可以是具有一个或多个处理器46和存储器48的任何合适的计算装置。处理器46和存储器48可以具有任何合适的硬件特性或者参数——例如,类似于上文(参照处理器28、存储器30)所描述的,除了每个部件46和48是计算机20(例如,而不是vsm24)的一部分之外。例如,计算机20可以适应于执行操纵系统指令以及储存在存储器48中的任何合适的软件应用50。在至少一个实施例中,第二计算机20是授权车辆技术员和/或工程师在研发车辆通信系统14时所使用的膝上型或者桌面型计算装置;然而,这仅仅是非限制性示例。因此,在一些实施方式中,计算机20可以经由诸如因特网等私人或者公用网络进行访问。按照这种方式,计算机20可以将测试数据或者测试结果传达至车辆后台系统或者服务器,车辆后台系统或者服务器储存和分析与多个车辆相关联的车辆数据。

储存在存储器48中的至少一个软件应用50包括消息认证库。该库可以是一组指令,该组指令适应于:接收作为输入的加密消息(例如,通过使用计算机20),解密该消息,以及因此试图验证由vsm24通过网络22所发送的消息未受到破坏或者如若不然是有效的。软件应用50可以被提供至销售商或者供应商以便帮助该供应商研发和测试通信系统14。应理解,通过使用应用50,供应商可以确定在连接22上传送的或者接收的消息是有效的还是无效的(例如,合格的或者不合格的)。然而,根据至少一个实施例,应用库50可能不给供应商提供用于确定有效性的实际加密密匙的访问权。

现在看图2,该图包括通信测试系统10(在图1中示出)的一些部件的示意图。更加具体地,应用库50被示意性地图示为具有:测试指令60、一个或多个密码算法62、以及校准表64——其分别可以被储存在计算机20的存储器装置48中。指令60可以适应于:类似于在每个安全外围设备32中(例如,在每个ecu26)中储存和执行的指令进行操作。如下文将更详细地解释的,通过网络连接22发送的消息可以在目标ecu26以及在第二计算机处(使用指令60)进行解密。类似地,通过使用指令60,库50可以将消息传送到通向其中一个vsm24的连接22上——例如,在传送之前对消息进行加密;再次,这将在下文更加详细地解释。

密码算法62可以包括本领域中已知的或者下文设想到的任何合适数量的算法。按照这种方式,应用库50可以与用于不同车辆的通信系统14一起使用——例如,其中,一个车辆使用一个或多个算法,并且其中,另一个车辆使用至少一个不同的算法。因此,第二计算机20和库50可以在不同的车辆平台上操作。

校准表64可以包括来自车辆12中的每个安全外围设备32的查阅表信息。例如,表64可以包括:车辆12中的每个外围设备32使用的密匙、以及每个外围设备32的当前计数器id。如下文将更详细地解释的,当诊断计算机20连接至连接22时(例如,经由计算机16),可以出现初始化或者校准序列,其中,应用库50下载或者接收来自每个安全外围设备32的计数器数据。初始化序列也可以包括接收其它数据的库50:例如,特定车辆12中所使用的密码算法的指示、以及/或者针对计数器id所使用的哪些密匙的指示。这些指示可以由库50通过使用一个或多个标识符或者识别代码来接收。例如,单个代码可以用于为库50识别在车辆12中使用的哪些算法以及哪组密匙。

应理解,库50也可以包括与多个不同的平台相关联的校准表数据。例如,库可以包括多组密匙等。如下文将更详细地描述的,通过使用测试指令60、密码算法62、以及校准表64,应用库50可以试图验证通过连接22在vsm24之间传送的加密消息并且报告这些加密消息是有效的还是无效的。

因此,应用库50的非限制性示例包括:由成源代码、目标代码、可执行代码或者其它格式的程序指令组成的软件程序或者计算机程序产品;固件程序;硬件描述语言(hdl)文件等。上述任何一个均可以被体现在计算机可用或者可读介质上,计算机可用或者可读介质包括一个或多个储存装置或者物件(例如,诸如,存储器48)。进一步地,在至少一个实施例中,应用库50的至少一部分可以被储存在可以被安装到计算机20中的专用硬件上;例如,与计算机20的其它处理器和计算系统硬件分隔——例如,原因与上文所讨论的原因相同或者相似。

图2还图示了第一计算机16将消息流量70传递至第二计算机20。例如,计算机20——经由端口40联接至网络连接22——可以将加密消息传递至第二计算机20。下文将更详细地描述使用应用库50的一个或多个方法。

方法——

图3图示了用于确定在车辆通信系统14内传送的消息是否有效的方法300。初始或者预备步骤305包括步骤310、315和320。在步骤310中,第一计算机16可以经由端口40连接至车辆连接22,并且第二计算机20可以连接至计算机16。例如,线束42的一端可以联接至端口40,并且线束42的相对端可以联接至第一计算机16(例如,通过使用连接器)。类似地,线束44的一端可以联接至第一计算机16,并且线束44的相对端可以联接至第二计算机20(例如,同样通过使用连接器)。最终,计算机20中的应用库50可以联接至网络连接22。这仅仅是一个示例;也设想了其它有线或者无线实施方式。

在步骤315中,可以发生“vsm至vsm”消息流量。该步骤可以出现在步骤310之前、之后、以及/或者期间。例如,消息70可以通过连接22从一个vsm24被传送至另一个vsm24。至少一些消息流量可以通过使用相应发送者vsm24的安全外围设备32进行加密,如上文所描述的。在一个实施例中,加密消息包括:至少携带发送者外围设备32的计数器id值的标题、以及至少携带未加密消息内容和mac(mac包括消息内容的加密版本)的有效负载。设想了在步骤315的至少一个实施例中,方法300出现在工程测试和研发期间。在一些实施方式中,这可以出现在提供与通信系统14相关联的硬件的供应商处。

在接下来的步骤320中,第二计算机20可以执行初始化或者校准序列。初始化序列包括:接收来自每个相应ecu26(更加具体地,来自每个相应安全外围设备32)的计数器id值。例如,安全外围设备32可以配置为:响应于来自诊断计算机20的请求而提供计数器id状态。因此,计算机20可以通过连接42和44接收这些计数器id值。如上文讨论的,每个外围设备32的计数器id可以取决于如下情况而不同:其初始计数器值、通过特定ecu26(或者vsm24)传送到连接22上的消息的数量、特定计数器是如何增量的(例如,按照一或者按照一些其它数量或者代数表达式进行增量),仅举几例。每个安全外围设备32的计数器id值可以被储存在存储器48中(在计算机20处)。

步骤320也可以包括接收其它数据。例如(如上文讨论的),计算机20可以接收和储存:指示在车辆12中使用的哪些密码算法的储存数据、指示在ecu安全外围设备32处使用的哪些密匙(或者哪组密匙)的数据、或者这两者。

在初始步骤305(以及步骤320)之后,第一计算机16可以接收加密消息70。由于第一计算机16可以不配置为验证消息70的真实性,所以可以将其传递至计算机20作为数据输入(步骤330)。因此,计算机16可以在至少一个实施例中用于过滤功能——例如,将加密消息流量传递至诊断计算机20。如上文讨论的,计算机16可以不携带或者储存任何密匙、密码算法、测试指令等;进一步地,即使计算机16确实利用一些密码技术,也设想了由于通信系统14的结构和设计,所以计算机16不能解密消息70,这是因为其将不能识别进行解密的恰当密匙和/或算法。例如,商用示例(canoe和vehiclespy)不配置为解密消息70。然而,应理解,通过网络连接22发送的未加密消息可以使用第一计算机16来进行评估(例如,在至少一个实施例中)。

在步骤330之后的步骤335中,第二计算机20——或者更加具体地,处理器46——确定用于解密消息70的恰当密匙。应理解,指令60可以模仿安全外围设备指令——例如,根据指令60,计算机20从消息70的标题提取计数器id值并且在存储器48中查阅相关联的解密密匙。在至少一个实施例中,该密匙可以是对称密匙(例如,相同的密匙由发送者外围设备32用于对消息70加密)。计数器id值可以由处理器46用于识别储存在第二计算机存储器48中的查阅表中的恰当解密密匙——例如,选择与计数器id值相匹配的密匙。步骤335进一步可以包括:处理器46从消息70提取ecu标识符(指示哪个ecu26发送消息)并且使用该标识符来识别查阅表中的恰当密匙、确定消息是否有效、或者这两者。

其后,在步骤340中,处理器46确定是否验证消息70。例如,根据指令60,处理器46从消息70的正文提取mac并且使用在步骤335中选择的密匙来解密该mac。如果该mac不能被解密,则消息未得到验证。然而,如果mac被解密,则处理器46将解密内容与消息的正文中的未加密消息内容作比较。如果解密内容与未加密内容相匹配,则处理器46验证消息70。如若不然,消息70未得到验证。

在接下来的步骤345中,计算机20提供针对消息70的输出数据80(例如,合格的或者不合格的输出,如在图2中示出的)。输出的非限制性示例包括:在计算机监测器上显示该输出、在报告或者日志中导出该输出(例如,具有或者不具有其它消息流量的验证数据)等。按照这种方式,供应商可以将第二计算机20连接至车辆12(例如,经由计算机16),可以通过使用计算机20来执行应用软件50,并且可以接收通过网络连接22传送的每个加密消息流量的验证数据。进一步地,所有这些步骤都可以在不给供应商授予对车辆12的安全外围设备32内的机密数据的访问权的情况下发生,从而提高整体车辆安全性。

同样存在其它实施例。例如,计算机20(例如,处理器46)可以将具有加密内容的消息传送到车辆连接22上——例如,意在用于一个或多个vsm24。通过使用传统方法,这将是不可能的——例如,第一计算机16并不配备为执行这种加密操作。在一些情况下,从计算机20传送该消息可以是为了诱导来自其中一个vsm24的响应——例如,以便测试目标vsm的功能性,其中,测试该功能性需要使用加密。在由目标vsm24接收到时,其中的安全外围设备32可以解密该消息,并且在某些情况下,vsm24可以响应地传送加密消息——诊断计算机20根据步骤325至345可以接收到该加密消息。

在另一个实施例中,vsm24不包含安全外围设备32。例如,这可以出现在一些遗赠车辆12中。在这些实施例中,加密数据(例如,一个或多个密匙、算法等)被储存在存储器30中并且可使用处理器28来执行(例如,以便执行任何加密/解密操作)。因此,在至少一个实施例中,应用库50可以使用标识符或者其它合适方式来识别这种遗赠车辆并且确定当解密来自该遗赠车辆的消息流量时使用的恰当算法和/或密匙。

在一些实施例中,制造商可以将应用库50提供给供应商以便使供应商可以将该库安装在诊断计算机20上。例如,制造商可以将应用软件提供在cd-rom、闪存驱动器、或者任何其它合适的介质上;或者制造商可以使得可经由计算机服务器等来下载得到该软件。当然,这些仅仅是示例;还存在其它方式。例如,在另一个实施例中,制造商可以提供其上安装有应用库50的诊断计算机20。在该实施例中,制造商可以在单独的存储器中分隔该库——例如,可由专用处理器或者处理电路执行。

在另一个实施例中,计算机16和20可以被配置到单个装置或者计算机中。在这种情况下,单个诊断装置可以按照任何合适的方式——例如,有线地或者无线地——连接至连接22。应理解,本文所描述的任何实施例都可以单独地使用或者与其它公开的实施例组合使用。

因此,已经描述了一种车辆测试通信系统,该车辆测试通信系统包括具有软件应用的诊断计算机,该软件应用包括消息认证库。诊断计算机配置为接收来自车辆的消息流量——在一些情况下,经由另一个计算机。其后,通过使用该库,诊断计算机配置为:确定通过车辆网络发送的加密消息流量是否有效并且提供任何合适的报告。该库也可以适应于执行其它功能;例如,包括将加密测试消息发送到网络连接上。因此,该库使得能够在不给供应商提供参与任何加密或者解密过程所需要的密码数据或者信息的情况下,使供应商能够确定通过连接发送的加密消息是否有效。因此,一旦将应用软件安装在诊断计算机上,供应商就可以接收指示,指示通过车辆连接发送的加密消息是否有效。

应理解,前述是对本发明的一个或多个实施例的描述。本发明不限于本文公开的特定实施例,而是仅仅由下文的权利要求书来限定。此外,前述描述中包含的声明涉及特定实施例并且不应理解为限制本发明的范围或者权利要求书中所使用的术语的定义,除非术语或者措词在上文进行了明确限定。对于本领域的技术人员而言,多个其它实施例以及对所公开的实施例的多种改变和修改将变得显而易见。所有这些其它实施例、改变、以及修改均意在属于所附权利要求书的范围内。

如本说明书和权利要求书中所使用的,术语“如”、“例如”、“比如”、“诸如”和“像”、以及动词“包括”、“具有”、“包含”及其其它动词形式在与一个或多个部件或者其它物品的列表结合使用时分别应理解为开放式的,意味着该列表不应理解为排除其它附加部件或者物品。其它术语应使用其最广泛的合理含义来理解,除非其用在要求有不同解释的上下文中。

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