车载服务授权防伪监控方法及车辆
文献发布时间:2023-06-19 10:29:05
技术领域
本发明涉及车辆技术领域,具体涉及车载服务授权防伪监控方法及车辆。
背景技术
智能汽车上增值服务越来越多,通常需要用户付费购买,经授权激活后使用。增值服务授权激活过程中的一项关键技术就是授权激活的安全设计,以防止通过非法方式进行激活。虽然目前有一些现有的授权激活方法,可以防止部分情况下的非法激活,但是,在非常规攻击时,比如通过OBD修改VIN或ECU的ID信息时,对这些信息做伪造,或者非法利用维修换件流程或者公开测试流程等获得了额外的授权文件,然后激活增值服务,这种方式将会给公司和付费客户带来损失。
发明内容
在车载付费软件激活授权以后,还需要监控使用情况,对监控到的异常授权激活进行修正,解除授权,从而防止伪造情况的发生。
基于上述问题,本发明一实施例提供一种车载服务授权防伪监控方法,所述方法包括以下步骤:
向车载控制单元发送心跳包同步通知消息;
接收车载控制单元发送的心跳包列表;
检测所述心跳包列表与预设的数据库记录是否一致,若一致则判断车载服务授权合法,以及若不一致则判断车载服务授权不合法。
进一步地,所述向车载控制单元发送同步心跳包及用于身份认证的令牌的步骤包括以下步骤:
接收车辆发送的上电通知,检测车辆是否存在授权服务激活记录;
若存在,则向车载控制单元发送心跳包同步通知消息,其中所述心跳包同步通知消息包括用于身份认证的令牌。
进一步包括,当检测所述心跳包列表与预设的数据库记录一致时,生成新的心跳包。
具体的,所述心跳包信息包括车辆VIN码、车载控制单元ID、当前服务端时间戳、心跳ID。
优选的,所述心跳包列表存储于所述预设数据库中,且与车辆唯一对应。
优选的,所述心跳包列表中的心跳包以生成时间的倒序方式排序。
其中,所述心跳包的生成时间以服务器端时间为准。
本发明另一实施例提供一种车载服务授权防伪监控方法,包括以下步骤:
接收服务器发送的通知消息以获取用于身份认证的令牌;
当身份认证通过时,将本地接收的预设数量的心跳包列表发送给服务器以进行验证;
验证通过则接收服务器发送的同步心跳包;
将所述心跳包写入本地磁盘,并通知服务器,使本地的心跳包和服务器端同步,以基于同步心跳包确定车载服务授权的合法性。
进一步的,还包括前置步骤,
当车辆上电后,向服务器发送通知消息,以触发服务器检测车载授权服务是否有合法的激活记录;
若有合法激活记录时,则服务器发送所述包括用于身份认证令牌的通知消息;
若没有合法激活记录时,则服务器不发送所述通知消息。
具体的,还包括检测车载服务的授权是否有效,若有效时,检测本地是否存在心跳包记录。
具体的,所述心跳包记录的检测环境为网络离线环境。
其中,当检测到预设时间内未收到合法的心跳包和/或检测到所述心跳包记录的时间和本地时间不一致,则判断为车载服务授权不合法。
本发明再一实施例提供一种车辆,包括一个或多个处理器、存储器以及存储器中存储的可以在所述处理器上运行的计算机程序,所述计算机程序被执行时实现如上任意一项所述的车载服务授权防伪监控方法。
本发明又一实施例提供一种计算机存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上任一所述的车载服务授权防伪监控方法。
本发明通过服务器定时同步向车辆发送心跳包,验证心跳包的一致性,有效的解决了车载付费软件授权激活可能面临的伪造问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例公开的车载服务授权防伪监控方法流程示意图;
图2是本发明又一实施例公开的车载服务授权防伪监控方法流程示意图;
图3是本发明再一实施例公开的车载服务授权防伪监控方法时序交互流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明所述车载授权服务包括但不限于车辆增值软件服务、车辆软硬件的OTA升级服务、续航升级、定制功能激活等任何形式需要授权激活的服务。为防止车载授权服务被通过不正当的方式激活,被恶意伪造,给授权商或者用户带来不必要的损失,本发明提供一种车载授权服务防伪监控方法,参考图1所示,具体包括以下步骤:
S11、向车载控制单元发送心跳包同步通知消息;
所述车载控制单元指车载服务安装激活后,运行所处的车辆模块环境中的控制单元,具体车载服务运行由相应的车载控制单元执行,如ECU。
当车辆上电运行后即发送通知给服务器,后台服务器接收到通知信息后,则检测相应车辆有没有合法的车载授权服务激活记录,本申请主要是解决授权激活后的服务伪造问题,因此需先判断是否存在有合法的车载授权服务激活。优选的,在车载服务授权激活阶段,车辆向服务器同步服务授权激活信息,以使服务器存储有相应车辆的车载服务授权激活信息,由此服务器可以直接通过检测相应车辆的服务授权激活信息判断是否存在合法的车载服务授权激活记录。
如果车辆存在合法的授权激活车载服务,服务器则通过消息中心发送心跳包同步通知消息给车辆,优选的,该通知消息包括服务器分配给该车辆的用于进行身份认证的令牌,且该令牌为一次性的,并与该车辆唯一对应。
根据车联网通信机制,获取心跳的方式是由后台授权服务通知车辆来拉取心跳信息,由服务端控制主动权;即使有多个车辆具有相同的VIN号,也只有其中一个车辆能收到通知,从而获得唯一的心跳。
S12、接收车载控制单元发送的心跳包列表;
车辆接收到服务器发送的心跳包同步通知消息后,携带所述接收到的用于进行身份认证的令牌,将本地记录的预设时间内(如三个月内)的心跳包列表发送至服务器。服务器先对车辆用于进行身份认证的令牌做验证,若无效则退出;若有效,则进一步对接收到的心跳包列表做校验。
S13、检测所述心跳包列表与预设的数据库记录是否一致,若一致则判断车载服务授权合法,以及若不一致则判断车载服务授权不合法。
服务器对接收到的由车辆发送的心跳包列表进行检测,其中,所述服务器数据库中记录的心跳包列表信息满足以下规则:
1>车端发送的心跳ID列表必须都存在于服务器的数据库中,且属于该车辆,所述心跳ID列表与该车辆的VIN码一一对应存储;
2>车端发送的心跳ID列表在数据库中的记录必须是以其所有心跳生成时间的倒序方式排序,具体地以服务器端的时间为准。如在服务器端的生成时间分别是20:00、20:10、20:20,则在数据库中的排序是20:20、20:10、20:00。采用倒序方式排序,可以使服务器优先对比最新的心跳包信息的一致性,从而可以快速判断是否存在授权不合法的情况。
3>如果数据库中心跳ID状态是“已发送未确认”,则允许车端发送的心跳ID列表中可以不存在此心跳ID,因为可能是通信原因导致心跳丢失;如果数据库中心跳ID状态是“已发送已确认”,则车端发送的心跳ID列表中必须存在。
当服务器检测所述心跳包列表与预设的数据库记录一致则判断车载服务授权合法,若不一致则判断车载服务授权不合法。当判断为不合法时,需由人工介入排查,确认无风险后再重新生成新的心跳。
进一步地,当检测所述心跳包列表与预设的数据库记录一致时,即车载服务授权合法时,服务器生成新的心跳包。具体的,所述心跳包信息包括车辆VIN码、车载控制单元ID、当前服务端时间戳、心跳ID。当车辆成功接收到所述新的心跳包后,服务器将该心跳包信息录入数据库。
进一步的,已授权激活软件通过定期获取心跳的方式延续授权激活,如果在较长时间内获取不到心跳,则授权激活失效。
本发明实施例的心跳包以服务端的时间为准,且心跳包用车辆唯一对应的公私钥签名。可选的,车辆出厂时内置根证书,当车载服务授权激活时,触发根证书生成公私钥对,私钥留在本地,公钥发送到服务端。这样,服务端利用自己的私钥和车辆端的公钥对生成的心跳包依次进行签名和加密处理,而车辆端则利用自己的私钥和服务端的公钥对心跳包依次进行解密和验签处理,从而保证了心跳包的安全性,不可伪造,不可篡改,同时也可以避免车端的时间不准,造成心跳包的时间不一致。
如图2所示,本发明又一实施例提供另一种车载服务授权方法监控方法,由车辆端执行,具体包括如下步骤:
S21、接收服务器发送的通知消息以获取用于身份认证的令牌;
车辆上电后,车载控制单元自动向服务器发送上电通知,服务器接收到通知后向车辆发送包括用于身份认证令牌的心跳包同步通知消息,以启动心跳包的检测。其中,所述用于身份认证的令牌与车辆唯一对应,且为一次性的令牌,每次上电后都重新发送,从而保证身份认证的安全性。
S22、当身份认证通过时,将本地接收的预设数量的心跳包列表发送给服务器以进行验证;
车辆携带所述用于身份认证的令牌向服务器发送心跳包列表,服务器通过对所述令牌进行验证,完成对车辆的身份认证。验证通过后,服务器对车辆发送的心跳包列表进行验证,其中所述心跳包列表为车辆近期收到的预设数量的列表,如三个月内接收到的5个心跳包列表。
所述心跳包列表在服务器的数据库中有同样的记录,且与车辆的VIN码一一对应存储。当车辆将预设数量的心跳包列表发送给服务器时,服务器将接收到的心跳包列表与数据库中的心跳包列表做比对,若一致则验证通过。
S23、验证通过则接收服务器发送的同步心跳包;
当车辆发送的心跳包列表验证通过后,服务器生成新的心跳包,并将该心跳包发送给车辆,其中所述心跳包至少包括车辆VIN码、车载控制单元ID、当前服务端时间戳、心跳ID等信息。
S24、将所述心跳包写入本地磁盘,并通知服务器,使本地的心跳包和服务器端同步,以基于同步心跳包确定车载服务授权的合法性。
车辆接收到服务器发送的心跳包,将心跳包的相应信息写入本地磁盘,并通知服务器,以使服务器根据车辆发送的通知信息确认心跳包被成功接收,将心跳状态设定为“已发送已确认”,由此后续可通过对已发送已确认的预设数量的心跳包做一致性校验,从而判断车载服务授权的合法性。具体校验方法如本发明实施例一所述,此处不再赘述。
在本发明的另一个实施例中,还可以由车辆通过检测心跳包监控车载服务授权的伪造情况,优选的,车辆心跳检测是纯离线的,不会因为车辆网络不好而影响车载服务启动判断。具体的,当预设时间内未收到车辆反馈的合法的心跳记录,或车辆反馈的心跳记录的本地时间错误,如最近收到的合法心跳包中记录的时间比车辆的本地时间更晚,如果存在这些情况则说明车载服务授权存在风险不合法。
进一步还包括,所述车辆检测车载服务的授权是否有效,若有效,再继续检测本地是否存在心跳包记录,以通过心跳包记录判断车载授权服务是否合法。
本发明又一实施例中,所述方法还包括前置步骤:
当车辆上电后,向服务器发送通知消息,以触发服务器检测车载授权服务是否有合法的激活记录;
若有合法激活记录,则服务器发送所述包括用于身份认证令牌的通知消息;
若没有合法激活记录,则服务器不发送所述通知消息。
车辆通过将服务器生成心跳包保存在本地,并于每次上电时与服务器记录的心跳包列表做对比,从而可以通过判断心跳包列表的一致性,实现车载服务授权伪造的监控。
为进一步解释本发明所述车载服务授权防伪监控方法,本实施例通过服务器和车端之间的交互过程阐述如何通过同步心跳包,实现对车载服务授权伪造行为的监控,请参看图3所示,包括以下步骤:
步骤S1:每次车辆启动时,ECU通知授权服务车辆上电;
步骤S2:检测此VIN是否有激活授权license,如果没有则退出;心跳每天最多下发一次,所以如果当日已经下发则退出;否则继续执行步骤S3;
步骤S3:后台授权服务通过消息中心通知车辆ECU进行同步心跳,并分配一个一次性token;
步骤S4:车辆ECU发送最近5个心跳列表,并携带收到的token向授权服务发起预激活请求;
步骤S5:后台授权服务验证token是否有效,无效则退出;
步骤S6:后台授权服务检查此VIN的心跳ID列表与数据库记录是否一致,如果不一致,则说明license有风险,需人工介入处理,根据处理结果判断无风险则继续下发心跳;否则不下发心跳;如果一致则执行步骤S7。
步骤S7:服务器生成新的心跳。心跳内容至少包含VIN码、车辆ECU的ID、服务端时间戳、唯一ID号,并用每辆车唯一的私钥进行签名,最后进行加密。
步骤S8:服务器将心跳发送给车辆ECU。此时心跳状态为已发送未确认;
步骤S9:车端ECU接收到心跳后写入本地磁盘,然后回复授权服务器。此时心跳状态为已发送已确认。
步骤S10:授权服务将车辆的VIN码和心跳时间等信息写入数据库。
需要说明的是,本发明所述服务器、授权服务、授权服务器、后台授权服务、后台授权服务器在本发明范围内均指用于车载服务授权防伪监控的服务器,仅为了表述方便采用了不同的名称。
综上所述,本发明由服务器产生心跳,并同步给车端,由车端记录到心跳列表中,每次车辆上电后,由车端主动发起请求以通知服务器启动心跳包验证,服务器对车辆反馈的心跳包列表进行验证,当验证结果与服务器数据库中记录的相应车辆的心跳包列表一致时,则判断该车辆相应的车载服务是合法的。由此,通过这样心跳包同步设计,有效的解决了车载服务授权激活可能面临的伪造问题,定时在线的检测非法的授权license,形成闭环的license检测。
本发明又一实施例提供一种车载服务授权方法监控装置,所述装置包括以下模块:
发送模块,用于向车载控制单元发送心跳包同步通知消息;
接收模块,用于接收车载控制单元发送的心跳包列表;
检测模块,用于检测所述心跳包列表与预设的数据库记录是否一致,若一致则判断车载服务授权合法,以及若不一致则判断车载服务授权不合法。
所述各模块按照上述实施例一所述的车载服务授权防伪监控方法分别对应执行相应步骤,具体可参考上述实施例中所述车载服务授权防伪监控方法,此处不再赘述。
本发明再一实施例一种车载服务授权方法监控装置,所述装置包括以下模块:
接收模块,用于接收服务器发送的通知消息以获取用于身份认证的令牌;
发送模块,用于当身份认证通过时,将本地接收的预设数量的心跳包列表发送给服务器以进行验证;
验证模块,用于验证通过则接收服务器发送的同步心跳包;
磁盘写入模块,用于将所述心跳包写入本地磁盘,并通知服务器,使本地的心跳包和服务器端同步,以基于同步心跳包确定车载服务授权的合法性。
所述各模块按照上述实施例二所述的车载服务授权防伪监控方法分别对应执行相应步骤,具体可参考上述实施例中所述车载服务授权防伪监控方法,此处不再赘述。
本发明还提供一种车辆,所述车辆包括一个或多个处理器、存储器以及存储器中存储的可以在所述处理器上运行的计算机程序,所述计算机程序被执行时实现如上述所述的车载服务授权防伪监控方法。
本发明实施例还公开一种计算机可读存储介质,其中,计算机可读存储介质存储了程序代码,其中,程序代码包括用于执行以上各方法实施例中的方法或系统的部分或全部步骤的指令。
本发明实施例还公开一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
本发明实施例还公开一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
应理解,说明书通篇中提到的“本发明实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在本发明实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常可互换使用。应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本发明所提供的实施例中,应理解,“与A对应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(RandomAccess Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-OnlyMemory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例上述方法的部分或全部步骤。
以上对本发明实施例公开的车载服务授权防伪监控方法、车辆进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
- 车载服务授权防伪监控方法及车辆
- 车辆状态上报和监控方法,车载终端和服务中心