1.本发明属于设备安全认证技术领域,尤其涉及一种车联网的外部设备认证方法、设备及存储介质。
背景技术:
2.在汽车领域中,为了保护车辆数据安全,会设置身份认证进程,只有通过认证的外部设备才能与车辆进行高权限通信。然而,这种认证方式存在两个问题。
3.首先,无论是有线连接还是无线连接,都是通过用户输入账号密码的方式登录验证,导致不同总线认证方式相同,数据安全性不高。
4.其次,当前现有技术的认证方式是通过无线网络连接,进而进行认证,由于不支持其他接口连接导致无法通过其他接口认证。
技术实现要素:
5.为了解决上述背景技术中存在的问题,本发明提供一种车联网的外部设备认证方法、设备及存储介质,以提高数据安全性的前提下,提升认证效率和增加认证的连接方式。
6.本技术提供一种车联网外部设备认证方法,包括:s1将外部设备与车辆进行有线连接,依次向所述车辆发送can总线的第一测试报文和eth总线的第二测试报文;s2根据发送的所述第一测试报文和所述第二测试报文,在预设时间内判断所述外部设备是否接收到对应的第一回应信息和/或第二回应信息;s3根据接收到的所述第一回应信息和/或所述第二回应信息,确定所述外部设备进行认证进程的方式,包括:当只接收到所述第一回应信息,执行基于can总线的认证进程;当只接收到所述第二回应信息,执行基于eth总线的认证进程;当接收到所述第一回应信息和第二回应信息,则执行与上次认证进程所基于的总线类型不同的认证进程;当没有接收到所述第一回应信息和第二回应信息,则请求进行无线连接的认证进程;s4根据确定的所述认证进程的方式进行所述外部设备认证。
7.可选地,步骤s3中,所述请求进行无线连接的认证进程,包括:所述外部设备搜索所述中控中心广播的fm信号,若搜索到所述fm信号,则所述外部设备建立与所述中控中心的第一连接;根据所述第一连接,所述外部设备向所述车辆的中控中心发送can总线和eth总线的连接失败信息;当所述中控中心接收到所述连接失败信息,搜索所述车辆的可连接信号,并建立与所述车辆的第二连接;
根据所述第二连接,所述中控中心向所述车辆发送车辆ecu的唤醒信号;若所述车辆的ecu被唤醒,则向所述中控中心发送已唤醒信息,并断开所述中控中心与车辆的第二连接;根据所述唤醒信息,所述中控中心通知所述外部设备与所述车辆建立eth总线连接的提示信号;所述外部设备接受到所述提示信号后与车辆建立eth总线连接,进行基于eth总线的认证进程。
8.可选地,所述外部设备搜索所述中控中心广播的fm信号,还包括:若未搜索到所述fm信号,所述外部设备搜索所述车辆的蓝牙信号,与所述车辆建立第三连接,并向所述车辆发送odb激活信号;当所述车辆的odb被激活后,唤醒所述车辆的can总线端子,并向所述外部设备反馈can总线端子唤醒完毕信号;所述外部设备接收到所述唤醒完毕信号后,断开与车辆的第三连接,并与所述车辆进行can总线连接,执行基于can总线的认证进程。
9.可选地,所述执行基于can总线的认证进程,包括:判断当前所述车辆的网关为工厂模式还是用户模式;当所述网关为工厂模式,则所述网关关闭所述外部设备执行认证进程的功能,但正常执行或转发从tbox/obd接口输入的诊断指令;当所述网关为用户模式,则所述网关开启所述外部设备执行认证进程的功能。
10.可选地,所述当所述网关为用户模式,还包括:在所述obd/tbox 口接认证通过之前,仅执行或转发所述obd/tbox接口输入的认证指令;在所述obd/tbox口接入认证通过之后,所述外部设备和所述obd/tbox的心跳包保持时间内,执行或转发所述网关接收到的诊断指令。
11.可选地,在所述obd/tbox口接入认证通过之后,还包括:超过预定时间没有接收到所述外部设备发送的心跳包或者收到的心跳包不正确,则判断认证通过状态失效。
12.可选地,执行基于eth总线的认证进程,包括:所述外部设备上的ecu1向所述车辆上的ecu2请求并验证公钥,然后协商生成会话密钥;所述ecu1根据所述密钥发送请求信息给所述ecu2;所述ecu2根据所述请求信息判断所述ecu1与所述ecu2支持的加密通讯协议版本是否一致,若所述加密通讯协议版不本一致,则关闭加密通信,若加密通讯协议版本一致,则发送反馈信息给所述ecu1;所述ecu1根据所述反馈信息验证ecu2的服务端证书,若验证失败则发出告警并让用户选择是否继续通信,若验证成功则向所述ecu2发送从所述反馈信息中提取的公钥所加密的随机数p,和所述ecu2后续发送信息的加密方法和密钥;所述ecu2根据所述随机数p计算本次会话所用的会话密钥,并发送确认信息,完成认证。
13.可选地,所述根据确定的所述认证进程的方式进行所述外部设备认证之后,包括:关闭所述车辆网关diagbus网段的诊断及报文路由功能。
14.本技术还提供一种车联网的外部设备认证设备,包括:存储器,用于存储上述车联网的外部设备认证方法的计算机执行程序;处理器,用于调取所述存储器中存储的所述计算机执行程序,并执行:s1将外部设备与车辆进行有线连接,依次向所述车辆发送can总线的第一测试报文和eth总线的第二测试报文;s2根据发送的所述第一测试报文和所述第二测试报文,在预设时间内判断所述外部设备是否接收到对应的第一回应信息和/或第二回应信息;s3根据接收到的所述第一回应信息和/或所述第二回应信息,确定所述外部设备进行认证进程的方式,包括:当只接收到所述第一回应信息,执行基于can总线的认证进程;当只接收到所述第二回应信息,执行基于eth总线的认证进程;当接收到所述第一回应信息和第二回应信息,则执行与上次认证进程所基于的总线类型不同的认证进程;当没有接收到所述第一回应信息和第二回应信息,则请求进行无线连接的认证进程;s4根据确定的所述认证进程的方式进行所述外部设备认证。
15.本技术还提供一种存储介质,存储有计算机执行的程序,所述计算机执行的程序被处理器调取执行上述车联网的外部设备认证方法的步骤。
16.本技术具有的优点:本技术提供一种车联网外部设备认证方法,包括:s1将外部设备与车辆进行有线连接,依次向所述车辆发送can总线的第一测试报文和eth总线的第二测试报文;s2根据发送的所述第一测试报文和所述第二测试报文,在预设时间内判断所述外部设备是否接收到对应的第一回应信息和/或第二回应信息;s3根据接收到的所述第一回应信息和/或所述第二回应信息,确定所述外部设备进行认证进程的方式,包括:当只接收到所述第一回应信息,执行基于can总线的认证进程;当只接收到所述第二回应信息,执行基于eth总线的认证进程;当接收到所述第一回应信息和第二回应信息,则执行与上次认证进程所基于的总线类型不同的认证进程;当没有接收到所述第一回应信息和第二回应信息,则请求进行无线连接的认证进程;s4根据确定的所述认证进程的方式进行所述外部设备认证。本技术通过设置有线的can总线和eth总线,以及无线连接,并基于不同连接进行不同类型的认证方式,降低了单一账号密码的认证方式易被窃取的风险,提高了数据安全性。
17.进一步的,通过增加有线连接,增加了连接方式,因此增加了认证方式。
附图说明
18.图1是本技术中车联网的外部设备认证流程示意图。
19.图2是本技术中can总线的认证流程示意图。
20.图3为本技术中eth总线认证流程示意图。
具体实施方式
21.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
22.本技术涉及的是一种车联网的外部设备认证方法、设备及存储介质,属于设备安全认证领域。该技术方案解决了外部设备和车辆认证过程中存在的数据不安全问题,并通过多种测试报文及基于反馈信息选择认证方式的方法,使得外部人员无法事先了解认证所使用的总线类型和具体认证方式,从而无法迅速破解认证过程,有效提高了外部设备与车辆之间通信的安全性。
23.通过将外部设备与车辆建立有线连接,可以实现多种接口连接进行认证。无论是通过can总线还是eth总线进行通信的设备,都能够进行有效的认证。
24.所述的车联网的外部设备认证方法具有较高的安全性和灵活性,能够有效保护外部设备与车辆之间的通信数据安全,同时满足多种接口连接和多种认证方式的需求。这一技术方案为车联网的外部设备安全认证领域的数据安全提供了一种创新的j9九游会真人的解决方案。
25.图1是本技术中车联网的外部设备认证流程示意图。
26.如图1所示的车联网外部设备认证方法包含以下步骤:s1将外部设备与车辆进行有线连接,依次向所述车辆发送can总线的第一测试报文和eth总线的第二测试报文。
27.具体的,所述车联网外部设备与车辆建立有线连接,并在建立该有线连接后,向车辆发送两个类型的测试报文,分别为can总线测试报文和eth总线测试报文。
28.s2根据发送的所述第一测试报文和所述第二测试报文,在预设时间内判断所述外部设备是否接收到对应的第一回应信息和/或第二回应信息。
29.在所述车联网外部设备与所述车辆建立有线连接后,首先发送can总线测试报文至车辆。如果在预设时间内(例如10秒内)收到can总线测试报文的第一回应信息,则记录can总线测试为可行;如果在预设时间内(例如10秒内)未收到can总线测试报文的第一回应信息,则记录can总线测试为不可行。
30.当发送can总线测试报文至车辆后,等待预设时间后(例如10秒后)向车辆发送eth总线测试报文。如果从发送eth总线测试报文时刻起,在预设时间内(例如10秒内)收到eth总线测试报文的第二回应信息,则记录eth总线测试为可行;如果从发送eth总线测试报文时刻起,预设时间内(例如10秒内)未收到eth总线测试报文的第二回应信息,则记录eth总线测试为不可行。
31.s3根据接收到的所述第一回应信息和/或所述第二回应信息,确定所述外部设备进行认证进程的方式。
32.若车联网外部设备接收到至少一个测试报文的响应信息,则进行有线连接时的外部设备认证进程。
33.s31当只接收到所述第一回应信息,执行基于can总线的认证进程。
34.当车联网外部设备收到can总线测试报文的第一回应信息,但未收到eth总线测试报文的第二回应信息时,进行基于can总线的认证进程。
35.图2是本技术中can总线的认证流程示意图。
36.请参照图2所示,can总线的认证过程如下:s201判断当前所述车辆的网关为工厂模式还是用户模式;当所述网关为工厂模式,则所述网关关闭所述外部设备执行认证进程的功能,但正常执行或转发从tbox/obd接口输入的诊断指令;
s202当所述网关为用户模式,则所述网关开启所述外部设备执行认证进程的功能。
37.其中,当所述网关下线即默认为工厂模式;所述用户模式可由用户主动进行开启。
38.当所述网关为用户模式,还包括:在所述obd/tbox 口接认证通过之前,仅执行或转发所述obd/tbox接口输入的认证指令;在所述obd/tbox口接入认证通过之后,所述外部设备和所述obd/tbox的心跳包保持时间内,执行或转发所述网关接收到的诊断指令。
39.在用户模式下,在obd/tbox 接口接入认证通过之前,除obd/tbox认证指令数据外,不执行或转发网关接收到的其他所有uds指令。
40.在obd/tbox口接入认证通过之后及通过后心跳包保持时间内,网关接收到的诊断指令正常执行或转发。若网关在认证通过后超过预定时间段内(例如3s内)未接收到心跳包或收到的心跳包不正确,则认为认证通过状态失效。
41.s32当只接收到所述第二回应信息,执行基于eth总线的认证进程。
42.当车联网外部设备收到eth总线测试报文的响应信息,但未收到can总线测试报文的响应信息时,可以进行基于eth总线的认证进程。
43.图3为本技术中eth总线认证流程示意图。
44.所述车联网外部设备的ecu1向车辆ecu2索要并验证公钥,ecu1与ecu2协商生成会话密钥,利用会话密钥进行安全通信。
45.请参照图3所示,eth总线认证过程如下:s301所述ecu1根据所述密钥发送请求信息给所述ecu2。
46.所述ecu1向所述ecu2发出请求clienthello,包含:ecu1支持的协议版本、ecu1生成的用于生成会话密钥的随机数q、ecu1支持的加密类型、ecu1支持的压缩方法。
47.s302所述ecu2根据所述请求信息判断所述ecu1与所述ecu2支持的加密通讯协议版本是否一致,若否则关闭加密通信,否则发送反馈信息给所述ecu1。
48.所述ecu2向ecu1发送请求反馈信息severhello,包含:加密通信协议版本的确认信息、ecu2生成的用于生成会话密钥的随机数w、确认使用的加密类型、ecu2服务端证书、请求ecu1提供客户端证书的请求信息。
49.其中,若所述ecu1与ecu2支持的版本不一致,则ecu2关闭加密通信进程。
50.s303所述ecu1根据所述反馈信息验证ecu2的服务端证书,校验失败则发出告警并让用户选择是否继续通信,校验成功则向所述ecu2发送从所述反馈信息中提取的公钥所加密的随机数p,和所述ecu2后续发送信息的加密方法和密钥。
51.若所述ecu2的服务端证书校验失败,发出警告,并令用户选择是否继续通信;若所述ecu2的服务端证书校验成功,所述ecu1从所述ecu2的服务端证书中提取公钥,并向所述ecu2发送一个随机数p,所述随机数p用公钥加密,并告知ecu2随后的信息都将用双方商定的加密方法和密钥发送。
52.然后,将所述ecu1的客户端证书发送至所述ecu2,并告知所述ecu2握手阶段结束。
53.s304所述ecu2根据所述随机数p计算本次会话所用的会话密钥,并发送确认信息,完成认证。
54.所述ecu2接收所述ecu1发送的随机数p后,计算生成本次会话所用的会话密钥,并向所述ecu1反馈“随后的信息都将用双方商定的加密方法和密钥发送”的确认信息以及握
手阶段结束确认信息。
55.s33当接收到所述第一回应信息和第二回应信息,则执行与上次认证进程所基于的总线类型不同的认证进程。
56.具体的,当车联网外部设备收到eth总线和can总线测试报文的第一回应信息和第二回应信息后,根据历史测试接入类型执行认证进程。
57.如果车联网外部设备同时接收到eth总线和can总线测试报文的第一回应信息和第二回应信息,则所述外部设备向云端数据库请求车辆的历史测试信息,并根据历史测试信息确定认证进程的具体执行方式。
58.具体的,车联网外部设备通过wifi信号或蜂窝信号连接云端服务器,并发送请求信息hm,其中所述请求信息hm中包含车辆的标识信息,以获取车辆的历史测试信息。云端服务器接收到请求信息hm后,查询车辆的历史测试信息。如果车辆是首次测试,则向车联网外部设备反馈无历史信息。如果车辆不是首次测试,则将历史测试信息反馈给车联网外部设备。如果车联网外部设备接收到无历史信息,则选择can总线认证进程。
59.如果车联网外部设备接收到历史测试信息,则本次测试采用与上一次测试不同的认证进程。例如:如果上一次测试采用can总线认证进程,则本次测试采用eth总线认证进程。如果上一次测试采用eth总线认证进程,则本次测试采用can总线认证进程。
60.s34当没有接收到所述第一回应信息和第二回应信息,则请求进行无线连接的认证进程。
61.当车联网外部设备既未收到eth总线测试报文的第一回应信息,也未收到can总线测试报文的第二回应信息时,发送有线连接失败信息,并请求中控中心处理认证进程,进行无线连接并进行外部设备认证。
62.中控中心处理认证进程的步骤包括:所述外部设备搜索所述中控中心广播的fm信号,若搜索到所述fm信号,则所述外部设备建立与所述中控中心的第一连接;根据所述第一连接,所述外部设备向所述车辆的中控中心发送can总线和eth总线的连接失败信息;当所述中控中心接收到所述连接失败信息,搜索所述车辆的可连接信号,并建立与所述车辆的第二连接;根据所述第二连接,所述中控中心向所述车辆发送车辆ecu的唤醒信号;若所述车辆的ecu被唤醒,则向所述中控中心发送已唤醒信息,并断开所述中控中心与车辆的第二连接;根据所述唤醒信息,所述中控中心通知所述外部设备与所述车辆建立eth总线连接的提示信号;所述外部设备接受到所述提示信号后与车辆建立eth总线连接,进行基于eth总线的认证进程。
63.当未搜索到所述fm信号时,所述外部设备搜索所述车辆的蓝牙信号,与所述车辆建立第三连接,并向所述车辆发送odb激活信号;当所述车辆的odb被激活后,唤醒所述车辆的can总线端子,并向所述外部设备反馈can总线端子唤醒完毕信号;
所述外部设备接收到所述唤醒完毕信号后,断开与车辆的第三连接,并与所述车辆进行can总线连接,执行基于所述can总线的认证进程。
64.进一步的,如果未找到车辆的蓝牙信号,则发出接口可能故障预警信息。
65.所述车联网外部设备向网关发起认证请求,在网关身份认证成功后可实现对整车诊断和数据读取功能,完成外部设备身份认证过程。
66.进一步的,当车联网外部设备成功连接并成功认证后,车辆网关将关闭diagbus网段的诊断和报文路由功能。
67.所述网关的报文路由功能是:diagbus网段存在功能需求时,并在接入认证成功后,安全会话窗口期内的路由功能。
68.进一步地,安全会话窗口期内的路由功能具体包括diagbus向其他总线网段的单向路由,但不包括车内各总线之间的路由和diagbus到tdombus之间的路由。
69.s4根据确定的所述认证进程的方式进行所述外部设备认证。
70.本技术中,为提高外部设备与车辆通讯安全性,连接前发送两种测试报文,并根据反馈信息确定认证方法,从而防止外部人员提前了解认证总线和具体认证方式,确保认证过程无法被迅速破解。同时,两种总线认证同时存在且都能实现连接后的认证,提高加密方案的覆盖范围,考虑到多类接口连接的认证,并确保在某些接口无响应时仍能有效进行认证过程。
71.在向车辆先后发送can总线测试报文和eth总线测试报文过程中,不立即选择认证总线,而是综合考量第一个测试报文的响应情况(包括有响应和无响应)和第二个测试报文的响应结果后,选择适当的认证方式。这种方式能够提高认证安全性,并选择高效的认证方式。
72.对于can总线的认证,根据是否为工厂模式来避免每个不同外部设备连接车辆都需要进行认证的情况,提高配置效率。在用户模式下,可以通过不同接口使用相同认证,并有效跟踪认证状态,提高外部设备连接的有效性监控。对于eth总线认证,通过使用实时生成的随机数,并在握手阶段使用它们,有效保护公钥,增加会话密钥的随机性,提高数据通信的安全性。同时,通过对外部设备和车辆端整数信息的相互获取和验证,进一步提高公钥安全性,提高认证级别,增强数据通信的安全性。
73.如果车联网外部设备未收到eth总线和can总线的测试报文响应,可以通过搜索中控中心的连接信号确定车联网设备与车辆无法开启认证进程的情况。中控中心会尝试联系车辆并唤醒车辆的ecu,并告知车联网外部设备启动eth认证进程。这种方法能够通过中控中心激活车辆相关功能组件来有效开启认证进程。如果中控中心无法连接或无法唤醒车辆ecu,则外部设备尝试通过蓝牙信号连接车辆并唤醒其他接口,激活相应总线端口以执行认证进程。如果无法通过蓝牙信号连接到车辆,则可能是车辆接口出现故障,此时发出告警。这些方法能够在认证进程无法开启时,利用车辆接口和中控中心激活车辆,主动开启认证进程。
74.当车联网外部设备获得eth总线和can总线测试报文的响应信息时,为了更好地选择适合的认证进程,可以通过连接云端获取车辆的测试信息,并基于历史信息选择合适的认证进程。如果是首次认证,可以通过can总线认证提高认证效率;如果不是首次认证,则选择与上次测试不同的认证进程,动态利用不同的认证方式,提高安全性本技术还提供一种
车联网的外部设备认证设备,包括:存储器,用于存储上述车联网的外部设备认证方法的计算机执行程序;处理器,用于调取所述存储器中存储的所述计算机执行程序,并执行:s1将外部设备与车辆进行有线连接,依次向所述车辆发送can总线的第一测试报文和eth总线的第二测试报文;s2根据发送的所述第一测试报文和所述第二测试报文,在预设时间内判断所述外部设备是否接收到对应的第一回应信息和/或第二回应信息;s3根据接收到的所述第一回应信息和/或所述第二回应信息,确定所述外部设备进行认证进程的方式,包括:当只接收到所述第一回应信息,执行基于can总线的认证进程;当只接收到所述第二回应信息,执行基于eth总线的认证进程;当接收到所述第一回应信息和第二回应信息,则执行与上次认证进程所基于的总线类型不同的认证进程;当没有接收到所述第一回应信息和第二回应信息,则请求进行无线连接的认证进程;s4根据确定的所述认证进程的方式进行所述外部设备认证。
75.本技术提供一种存储介质,存储有计算机执行的程序,所述计算机执行的程序被处理器调取执行上述的所述车联网的外部设备认证方法的步骤。
76.本文是参照根据本文实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
77.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
78.需要说明的是,本技术所用术语仅为了描述特定实施例,而非限制本技术范围。如本技术说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。
79.还需说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”等应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。
80.以上所述的实施例及/或实施方式,仅是用以说明实现本发明技术的较佳实施例及/或实施方式,并非对本发明技术的实施方式作任何形式上的限制,任何本领域技术人员,在不脱离本发明内容所公开的技术手段的范围,当可作些许的更动或修改为其它等效的实施例,但仍应视为与本发明实质相同的技术或实施例。
81.本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。以上所述仅是本技术的优选实施方式,应当指出,由于文字表达的有限性,而客观上存在无限的具体结构,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以作出若干改进、润饰或变化,也可以将上述技术特征以适当的方式进行组合;这些改进润饰、变化或组合,或未经改进将发明的构思和技术方案直接应用于其他场合的,均应视为本技术的保护范围。