【发明内容】
为了解决现有技术中的上述问题,本发明提供了一种车辆更新的认证方法。
本发明采用的技术方案具体如下:
一种车辆更新的认证方法,包括以下步骤:
步骤100:车辆连接认证点,并获取认证点的数字证书;
步骤200:所述车辆验证所述数字证书,在验证通过后,使用该数字证书中的公钥加密所述车辆的唯一标识码VIN和车辆软件信息,将加密结果发送给所述认证点;所述认证点使用相应私钥进行解密,获得所述车辆的唯一标识码VIN和所述车辆软件信息;
步骤300:所述认证点基于所述车辆的唯一标识码VIN和所述车辆软件信息,向服务器查询该车辆的软件是否需要更新,如果不需要更新,则认证点通知所述车辆无需更新软件,方法结束,否则所述认证点通知所述车辆相应的更新信息,并继续执行后续步骤;
步骤:400:所述车辆的导航***确定车辆的行驶路线,并将所述行驶路线发送给所述认证点;
步骤500:所述认证点按照预定的标准选择所述行驶路线上的n个路边接入点,作为为所述车辆更新软件的路边接入点;
步骤600:所述认证点将所述n个路边接入点的标识发送给所述车辆,同时将所述更新信息通知所述n个路边接入点;按照行驶路线上的先后顺序,所述n个路边接入点的标识,分别设为AP1,AP2,……,APn;
步骤700:所述车辆生成一个随机数R,并使用认证点数字证书的公钥加密后发送给所述认证点;所述认证点解密获得该随机数R;
步骤800:所述认证点为所述n个路边接入点分别计算认证码,并将所述认证码发送给相应的路边接入点;
对于路边接入点APi(1≤i≤n),其认证码Hi=Hash(R+i);其中Hash是一个哈希算法;
步骤900:车辆在行驶过程中,搜索所述n个路边接入点的标识,当搜索到其中一个路边接入点APj时(1≤j≤n),车辆接入该路边接入点,并基于该路边接入点的标识,确定其序号j;
步骤1000:在接入AP
j后,所述车辆计算
并将计算得到的A
j发送给所述路边接入点AP
j;
步骤1100:所述路边接入点AP
j计算
判断计算结果V
j是否与自身存储的某个车辆唯一标识码相同,如果相同,则通过对所述车辆的认证;
步骤1200:在所述路边接入点APj通过对所述车辆的认证后,所述路边接入点APj计算Bj=VIN⊕Hash(Hj),并将Bj发送给所述车辆,所述车辆判断Bj是否正确,如果正确,则所述车辆通过对所述路边接入点APj的认证。
进一步地,所述认证点是一个路边接入点,其布置在道路的主要节点或必经之地。
进一步地,所述认证点的名称按照预定的规则命名,车辆在行驶中搜索接入点名称,如果搜索到的路边接入点的名称匹配所述预定的规则,则视其为认证点。
进一步地,所有认证点共用一个数字证书,或者同一个区域内的认证点共用一个数字证书,不同区域的认证点使用不同的数字证书。
进一步地,如果数字证书验证不通过,则所述车辆直接断开与所述认证点的连接,并发出告警提示信息。
进一步地,所述步骤300中,所述认证点将VIN和车辆软件信息发送给服务器,服务器基于上述信息,确定车辆类型以及各个车载设备的类型,并进一步确定各个车载设备软件的最新版本,通过比较版本号,确定该车辆上是否有需要更新的软件。
进一步地,所述步骤400中,如果车辆驾驶员没有使用导航***来设定行驶路线,则导航***采用预定的方式来估计所述行驶路线。
进一步地,所述步骤500中,所述认证点根据车辆需要的下载量和各个路边接入点的负载均衡,来选择路边接入点。
进一步地,所述步骤600中,接收到所述更新信息的路边接入点,提前主动下载相应的软件更新包。
进一步地,当所述车辆离开所述路边接入点APj的无线覆盖范围后,所述车辆与所述路边接入点APj的连接断开,此时该路边接入点APj删除所述车辆的相关信息。
本发明的有益效果是:使车辆可以方便快捷的与路边接入点进行双向身份认证,提高了软件更新的安全性和可靠性。
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
本发明的方法是用于车辆上设备的软件/固件更新,参见附图1,其示出了整个更新***的结构示意图。该***包括车辆、服务器、认证点、一个或多个路边接入点。
其中,所述车辆具有一个或多个车载设备,每个车载设备都安装了相应的软件(或者称为固件),该车辆可以通过本发明的方法下载并更新所述软件。并且在本发明的方法中,该车辆是行驶于道路上,在行驶过程中完成新版本软件的下载,并在后续适当的时机进行软件更新,例如在停车场停车后,或者在充电时,等等。所述车辆具有车辆唯一标识码(VIN),该车辆唯一标识码可以唯一标识一辆汽车。
所述服务器用于存储各个车载设备的最新版本的软件,在接收到车辆的软件更新请求后,服务器可以根据请求中携带的软件版本号,判断所述车辆的车载设备是否需要更新,在需要更新时,服务器可以向车辆提供最新版本的软件下载。
所述认证点实际上也是一个路边接入点,用于根据本发明的方法为车辆提供更新认证,并基于认证结果安排更新软件的接入点及接入点的认证。
所述路边接入点用于车辆在行驶时的无线网络接入,并通过无线连接向车辆提供更新软件的下载服务。由于路边接入点的无线覆盖范围是有限的,而车辆同时是在道路上行驶,因此车辆只能在一个路边接入点的覆盖范围内行驶一段时间,如果在这一段时间内没有完成软件的下载,就需要切换到下一个路边接入点,一般情况下,需要通过多个路边接入点的先后接力,实现软件的完整下载,其中每个路边接入点下载一部分数据。因此,车辆先后需要和多个路边接入点进行连接和相互认证,以相互确认对方的可靠性。
基于上述***结构,下面详细说明本发明的认证方法。
步骤100:车辆连接认证点,并获取认证点的数字证书。
具体的,所述认证点是一个路边接入点,其可以布置在道路的主要节点或者必经之地。例如,可以将认证点布置在每个高速公路入口,或者高速公路入口收费站处。这样,当车辆在道路上行驶时,就可以较容易地遇上和连接认证点。
认证点的名称可以按照预定的规则命名,车辆在行驶中搜索接入点名称,如果搜索到的路边接入点的名称匹配所述预定的规则,就可以将其视为认证点。当然,本发明不限于此,也可以有其他判断认证点的方法,本领域技术人员可以按需设计。
当车辆连接认证点的同时,获取认证点的数字证书。根据本发明的一个实施例,所述数字证书可以在车辆连接认证点后,由认证点发送给车辆。根据本发明的另一个实施例,车辆可以预先下载认证点的数字证书,例如在车辆出厂时预置于车辆存储器内。
认证点的数字证书可以是共用的,即所有认证点共用一个数字证书;也可以是区域共用的,即在同一个区域内的认证点共用一个数字证书,不同区域的认证点使用不同的数字证书,例如北京市的所有认证点共用一个数字证书;也可以每个认证点都拥有自己的数字证书。本发明对此也不作限制,只要使车辆在连接认证点时,可以获得该认证点的数字证书即可。
步骤200:所述车辆验证所述数字证书,在验证通过后,使用该数字证书中的公钥加密所述车辆的唯一标识码VIN和车辆软件信息,将加密结果发送给所述认证点;所述认证点使用相应私钥进行解密,获得所述车辆的唯一标识码VIN和所述车辆软件信息。
具体的,所述车辆使用CA证书来验证所述数字证书,验证过程已是本领域公知技术,在此不再赘述。优选的,所述CA证书预先安装于所述车辆的只读存储器中,不能更改,只能通过更换只读存储器来更新CA证书。
如果数字证书验证不通过,则所述车辆直接断开与所述认证点的连接,放弃后续流程。在验证不通过的情况下,所述车辆也可以发出告警提示信息,告警提示信息可以发送给车主,或者发送给相应的管理部门。
在数字证书验证通过的情况下,所述车辆读取数字证书中的公钥,也就是认证点的公钥,使用该公钥加密VIN和车辆软件信息,然后发送给所述认证点。所述认证点预先安装了与其数字证书相对应的私钥,因此可以用私钥解密所述加密结果,获得VIN和车辆软件信息。
所述车辆软件信息包括了所述车辆上各个车载设备的软件版本信息。通常情况下,可以从车辆唯一标识码VIN确定车辆的型号,在型号确定后,其上的各种车载设备也都确定了,因此所述车辆软件信息提供每个车载设备的标识和相应软件版本号即可。
步骤300:所述认证点基于所述车辆的唯一标识码VIN和所述车辆软件信息,向服务器查询该车辆的软件是否需要更新,如果不需要更新,则认证点通知所述车辆无需更新软件,方法结束,否则所述认证点通知所述车辆相应的更新信息,并继续执行后续步骤。
具体的,所述认证点可以将VIN和车辆软件信息发送给服务器,服务器基于上述信息,确定车辆类型以及各个车载设备的类型,并进一步确定各个车载设备软件的最新版本,通过比较版本号,确定该车辆上是否有需要更新的软件,并将确定后的更新信息通知所述认证点,所述认证点再将所述更新信息通知所述车辆,则所述车辆根据更新信息可以获知是否需要更新软件,以及哪些车载设备软件需要更新。
步骤:400:所述车辆的导航***确定车辆的行驶路线,并将所述行驶路线发送给所述认证点。
具体的,优选情况下,如果车辆驾驶员在导航***中设定了车辆行驶的目的地,并使用导航***进行路线导航,则导航***就可以直接确定车辆从当前位置到目的地的行驶路线。
但是,如果车辆驾驶员没有使用导航***来设定行驶路线,则导航***可以采用预定的方式来估计所述行驶路线。根据本发明的一个实施例,可以根据驾驶员的历史行驶路线来预估当前的行驶路线,例如,在上下班时间段,可以根据历史的上下班路线来预估当前的行驶路线。根据本发明的另一个实施例,可以根据车辆的当前位置来预估行驶路线,例如,如果所述车辆在高速公路入口处,则从该入口到下一个高速公路出口,就可以认定为该车辆在后续一段时间的行驶路线。当然,本领域技术人员也可以采用别的方式来确定行驶路线,本发明对此不作限定。
步骤500:所述认证点按照预定的标准选择所述行驶路线上的n个路边接入点,作为为所述车辆更新软件的路边接入点。
具体的,所述行驶路线上可能具有多个路边接入点,而所述认证点按照预定的标准从中选出一定数量的路边接入点。所述预定的标准一方面需要考虑所述车辆需要下载的软件更新包的大小,即根据服务器返回的上述更新信息来确定所述车辆的下载量,下载量越大则需要的路边接入点越多;另一方面需要考虑各个路边接入点的负载均衡,因为该行驶路线上可能有大量车辆经过,如果都集中使用少数路边接入点(例如该行驶路线的前几个路边接入点),必然导致其负载过大,而其他的路边接入点却很空闲;因此认证点在选择时需要考虑负载均衡,例如尽量为每个路边接入点平均分配车辆。
步骤600:所述认证点将所述n个路边接入点的标识发送给所述车辆,同时将所述更新信息通知所述n个路边接入点。
具体的,按照行驶路线上的先后顺序,所述n个路边接入点的标识,分别设为AP1,AP2,……,APn。所述路边接入点的标识可以是路边接入点的名称,在整个***中用于唯一标识一个路边接入点。认证点将n个路边接入点的标识按照所述顺序发送给所述车辆,车辆在接收到所述标识后,在后续过程中,可以只接入符合上述标识的路边接入点,而忽略其他路边接入点。
所述更新信息包括所述车辆的唯一标识码VIN,以及所述车辆需要更新的各个车载设备软件的相关信息,接收到所述更新信息的路边接入点,可以主动预先下载相应的软件更新包,由此可以提高车辆后续的下载效率。
步骤700:所述车辆生成一个随机数R,并使用认证点数字证书的公钥加密后发送给所述认证点;所述认证点解密获得该随机数R。
所述随机数R是作为后续n个路边接入点认证时使用的一个秘密随机数,只有所述车辆和所述认证点知晓该随机数。所述随机数应当是一个较大的随机数,例如128位的随机数。
根据本发明的一个实施例,所述随机数R可以在步骤200中与VIN一起发送给认证点,这样就可以省略到步骤700,节省一次发送和解密步骤。
步骤800:所述认证点为所述n个路边接入点分别计算认证码,并将所述认证码发送给相应的路边接入点。
具体的,对于路边接入点APi(1≤i≤n),所述认证点为其计算认证码Hi,即Hi=Hash(R+i)。其中,Hash是一个哈希算法,例如SHA-1或者MD5等。这样,所述认证点为n个路边接入点分别计算出n个认证码,基于哈希算法的不可逆性,无法从认证码推导得到原始的R。
然后认证点将认证码Hi发送给相应的路边接入点APi,路边接入点APi将认证码Hi与所述更新信息对应存储,以等待所述车辆的接入认证和更新。
根据本发明的一个实施例,所述认证码和所述更新信息可以具有一个有效期,在有效期之后,所述路边接入点可以删除所述认证码和所述更新信息。
步骤900:车辆在行驶过程中,搜索所述n个路边接入点的标识,当搜索到其中一个路边接入点时(设为APj,1≤j≤n),则车辆接入该路边接入点,并基于该路边接入点的标识,确定其序号j。
具体的,如前所述,认证点是将n个路边接入点的标识按照顺序发送给所述车辆的,则所述车辆根据路边接入点的标识就可以确定其在所述顺序中的序号。
车辆在行驶过程中,不断地搜寻路边接入点,基于路边接入点的标识的匹配,只接入所述n个路边接入点中的任一个路边接入点,而忽略其他路边接入点。
步骤1000:在接入APj后,所述车辆计算Aj=VIN⊕Hash(R+j),并将计算得到的Aj发送给所述路边接入点APj。
在车辆确定该路边接入点的序号j后,所述车辆就可以计算Aj,该Aj实际上就是车辆唯一标识码和APj认证码的异或值。
步骤1100:所述路边接入点AP
j计算
判断计算结果V
j是否与自身存储的某个车辆唯一标识码相同,如果相同,则通过对所述车辆的认证。
基于前面的方法,所述路边接入点存储了各个需要更新的车辆的更新信息,包括各个车辆的唯一标识码,因此在正确的情况下,计算得到的Vj应该等于前述车辆的VIN。如果相等,则说明该车辆是一个通过了认证点认证,并且需要更新软件的车辆。如果不相等,则该车辆未通过认证,所述路边接入点拒绝为该车辆提供更新服务。
步骤1200:在所述路边接入点APj通过对所述车辆的认证后,所述路边接入点APj计算Bj=VIN⊕Hash(Hj),并将Bj发送给所述车辆,所述车辆判断Bj是否正确,如果正确,则所述车辆通过对所述路边接入点APj的认证。
具体的,所述车辆可以自行计算VIN⊕Hash(Hash(R+j))的值,判断该值是否与收到的Bj相等,如果相等,则Bj正确;这说明所述路边接入点APj拥有正确的认证码,可以通过对其的认证。
至此,所述车辆与连接的路边接入点完成了双向的身份认证,确认对方身份后,双方可以完成后续的软件更新工作,具体的软件更新过程是本领域公知技术,也不是本发明的重点,在此不再赘述。
当车辆行驶离开所述路边接入点的无线覆盖范围后,车辆与路边接入点的连接断开,此时该路边接入点可以删除所述车辆的相关信息。因此所述车辆下次需要通过该路边接入点进行更新时,需要重新通过认证点的认证。
通过上述方法流程,本发明使得所述车辆可以方便快捷的与路边接入点进行双向身份认证,提高了软件更新的安全性和可靠性。
以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。