车辆数据访问方法、电子设备及计算机可读存储介质与流程
未命名
10-28
阅读:140
评论:0

1.本公开涉及车辆数据安全技术领域,具体地,涉及一种车辆数据访问方法、电子设备及计算机可读存储介质。
背景技术:
2.随着iov(internet of vehicles,车联网)技术的不断发展,汽车的控制也变得越来越方便及多样化。
3.很多的车企已经打造出了自己的汽车云服务平台、智能车机系统以及移动端系统,该移动端系统可以是app(application,应用程序)或者小程序。其中,车机系统搭载在汽车中,实现与云服务平台连接,将汽车的运行数据、状态、异常等情况反馈至云服务平台并实现车辆的远程控制。用户可选择性地使用移动端,通过简单的注册、车辆绑定、认证后,便可使用云服务平台。用户通过移动端接入云服务平台获取车辆信息及实时状态,并且可以对车辆进行远程控制控制。
4.通常情况下,不管是移动网络,还是wifi(无线网络通信技术),只要移动端能连接互联网,用户便可以通过移动端访问云服务平台,查看车辆状态、车辆健康等,另外,用户也可以向云服务平台发送车辆控制请求实现车辆远程控制,云服务平台接收到移动端请求后,对客户端请求进行认证,认证通过之后将请求下发到汽车的车机系统,车机系统接收指令并进行响应,达到对汽车的远程控制。未来,对于车辆的远程控制能力会越来越强大,对云服务平台以及车机系统的安全可用性、稳定性会有更高要求。
5.技术带给用户便利的同时也带来了一些安全隐患。不管是移动端、云服务平台还是车机系统,一旦被攻击者攻击并入侵,后果将不堪设想。一方面,随着车机系统功能越来越丰富,车机系统的代码数量增加,车机系统安全缺陷激增;另一方面,云服务平台攻击面增大,威胁车辆安全,云服务平台的安全,也是各家车企面临的共同挑战。
技术实现要素:
6.本公开的目的在于提供一种车辆数据访问方法、电子设备及计算机可读存储介质,以至少部分解决上述技术问题。
7.作为本公开的第一个方面,提供一种车辆数据访问方法,用于车辆,包括:接收访问端发送的第一数据包,其中,所述第一数据包包括:用于所述车辆验证身份的第一认证信息;对所述第一数据包进行验证;在所述车辆对所述第一数据包验证通过的情况下,对所述访问端进行身份验证,得到第二验证结果;在所述第一验证结果为通过的情况下,为所述车辆配置动态防火墙策略,以开启所述车辆的访问服务功能,其中,所述动态防火墙策略包括所述访问服务功能的开启有效时间;
接收所述访问端发送的访问请求;将所述访问请求对应的返回结果发送至所述访问端。
8.可选地,将所述访问请求对应的返回结果发送至所述访问端之后,还包括:关闭所述访问服务功能。
9.可选地,对所述访问端进行身份验证,得到第二验证结果,包括:将所述车辆的第一验证信息发送至所述访问端,以使所述访问端根据所述第一验证信息对所述车辆进行身份验证;接收所述访问端发送的第二验证信息;根据所述第二验证信息,对所述访问端进行身份验证,得到第二验证结果。
10.作为本公开的第二个方面,提供一种车辆数据访问方法,用于访问端,包括:向车辆发送第一数据包,其中,所述第一数据包包括:用于所述车辆验证身份的第一认证信息;在所述车辆对所述第一数据包验证通过的情况下,对所述车辆进行身份验证,得到第一验证结果;在所述第一验证结果为通过的情况下,向所述车辆发送访问请求;接收所述访问请求对应的返回结果。
11.可选地,对所述车辆进行身份验证,得到第一验证结果,包括:接收所述车辆发送的第一验证信息;根据所述第一验证信息,对所述车辆进行身份验证,得到第一验证结果;将第二验证信息发送至所述车辆,以使所述车辆根据所述第二验证信息对所述访问端进行身份验证。
12.可选地,所述向车辆发送第一数据包之前,还包括:确定所述第一验证信息。
13.可选地,确定所述第一验证信息,包括:接收所述车辆发送的第二数据包,其中,所述第二数据包包括:用于所述访问端验证身份的第二认证信息;对所述第二数据包进行验证;在所述访问端对所述第二数据包验证通过的情况下,与所述车辆建立套接字连接;接收所述车辆发送的第一更新请求;根据所述第一更新请求,更新所述车辆对应的第一验证信息。
14.可选地,根据所述第一更新请求,更新所述车辆对应的第一验证信息之后,还包括:保持所述套接字连接;或者,关闭与所述车辆的套接字连接。
15.作为本公开的第三个方面,提供一种电子设备,所述电子设备包括:一个或多个处理器;存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的车辆数据访问方法;
一个或多个i/o接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
16.作为本公开的第四个方面,提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上述的车辆数据访问方法。
17.在本公开所提供的车辆数据访问方法中,通过在对车辆进行数据访问之前验证第一数据包,以最大程度减少车辆数据的访问服务的暴露面,减少攻击,在各端交互过程中,先授权验证再连接,数据加密通信,有效地保护了传输及数据安全。
附图说明
18.图1是本公开实施例提供的一种用于车辆的车辆数据访问方法的流程图;图2是本公开实施例中一种用于车辆的车辆数据访问方法中第一部分的流程图;图3是本公开实施例中一种用于访问端的车辆数据访问方法的流程图;图4是本公开实施例中一种用于访问端的车辆数据访问方法中第一部分的流程图;图5是本公开实施例中一种用于访问端的车辆数据访问方法中第二部分的流程图;图6是本公开实施例中一种车辆数据访问方法的流程图;图7是本公开实施例提供的一种电子设备的示意图;图8是本公开实施例提供的一种计算机可读存储介质的示意图。
具体实施方式
19.应当理解,此处所描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
20.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本公开的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
21.在传统的车辆部署访问模型中,云服务平台以及车机系统通常被暴露在公网环境之中,其攻击面被无限放大,随时面临着端口扫描、漏洞利用等,这给攻击方提供了入侵的前提和条件,增加了系统的脆弱性。在引入移动端对车辆控制操作的情况下,其安全认证依赖于移动端自身的安全认证,但是移动端的认证通常采用静态的用户名和密码方式,这种认证方式简单而脆弱。
22.基于此,本公开实施例引入零信任技术的sdp(software-defined perimeter,软件定义边界)架构,利用spa(single packet authorization,单包授权)技术控制车辆数据访问,对访问端先认证后连接,以确保每次数据访问的安全性。
23.第一方面,本公开实施例提供一种车辆数据访问方法,用于车辆,如图1所示,该车辆数据访问方法包括如下步骤:步骤101,接收访问端发送的第一数据包,其中,所述第一数据包包括:用于所述车辆验证身份的第一认证信息;步骤102,对所述第一数据包进行验证;步骤103,在所述车辆对所述第一数据包验证通过的情况下,为所述车辆配置动态
防火墙策略,以开启所述车辆的访问服务功能,其中,所述动态防火墙策略包括所述访问服务功能的开启有效时间;步骤104,在所述第一验证结果为通过的情况下,对所述访问端进行身份验证,得到第二验证结果;步骤105,在所述第二验证结果为通过的情况下,接收所述访问端发送的访问请求;步骤106,将所述访问请求对应的返回结果发送至所述访问端。
24.在本公开的实施例中,车辆包括车机系统,车机系统是具有能够实现车辆远程控制功能的系统,在一些示例中,车机系统以软硬件的形态搭载在车辆中。访问端包括:云服务平台与移动端至少一项。其中,云服务平台用于用户对联网的车辆数据采集、管理等,在一些示例中,云服务平台还用于提供车辆的控制功能;移动端是用于车辆控制功能的发起方,本公开的实施例对移动端不做限定,可以是移动端app、小程序等。
25.本公开的实施例的车辆数据访问涉及车辆与访问端,基于sdp架构对软件架构、部署方式以及交互流程均进行了改进。sdp架构包含三种组件,分别为ih(initiating host,sdp连接发起主机)、ah(accepeting host,sdp连接接收主机)以及controller(sdp控制器)。
26.其中,ih部署有sdp客户端软件用于向controller发送spa数据包,待spa数据包被controller认证通过后,建立与controller之间的双向加密连接,请求向controller更新密钥以及获取服务列表等,然后再向ah发送spa,建立与ah之间的双向加密连接,访问ah所保护的服务。ah部署有sdp网关组件,用于保护位于其上层或者下层所保护的目标服务。controller用于维护所有sdp成员的信息,服务列表等,对ih、ah认证并负责更新其私钥及证书。
27.在一个可选的实现实例中,车机系统中部署有ih与ah组件,这两个组件可以分别称作车机系统ih与车机系统ah。其中,车机系统ih用于与云服务平台ah之间的spa验证,建立与controller之间的双向加密连接,同时,车机系统ah可用于隐藏车机系统提供的服务。
28.访问端包括云服务平台和移动端,其中,云服务平台中部署有运行ih(sdp客户端)、controller(控制器组件)以及ah(sdp网关组件)。这里,ih用于云服务平台访问车机系统时,与车机系统ah之间的spa验证,可以称之为云服务平台ih。ah用于隐藏controller以及云服务平台的服务,可以称之为云服务平台ah。controller用于管理所有sdp成员(包括:controller、ah、ih)的信息以及服务列表等,以实现对ih、ah认证并负责更新其私钥及证书等功能。
29.移动端内置有sdp客户端的功能,用于完成与云服务平台controller之间的认证、与车机系统ah之间的spa验证,以实现访问车辆数据及车辆控制等。
30.在本公开的实施例中,访问端和车辆运行ah组件,默认是隐藏访问服务的,在第一验证结果为通过的情况下,即车辆对访问端的第一数据包的验证通过的情况下,为车辆配置动态防火墙策略,以开启车辆的访问服务功能,该动态防火墙策略包括访问服务功能的开启有效时间;最大程度地减少了服务暴露面,在访问访问端的云服务平台或车辆的车机系统所提供的访问服务时,需先进行spa验证,即待单包授权验证后再动态打开访问服务,有效地减少了攻击。
31.另外,值得说明的是,本公开的实施例对访问端与车辆部署sdp架构下的ih、ah、controller组件与否不作特殊的限定,可以是直接部署相关组件,也可以是具有相同或相似功能。
32.在此基础上,车辆进一步对访问端进行身份验证,在身份验证的第二验证结果为通过的情况下通过车辆与访问端之间的双向加密连接,接收访问请求并反馈返回结果,以保证传输及数据安全。
33.在一些实施例中,步骤102包括:根据所述第一数据包,确定所述第一数据包中的所述签名数据和所述密文数据;根据所述签名数据和所述密文数据,确定待验证哈希消息认证码;将所述待验证哈希消息认证码与所述第一数据包中的哈希消息认证码进行一致性比对;在一致的情况下,通过第二预设公钥验证所述第一数据包中的所述签名数据;所述第二预设公钥与第一预设私钥匹配;在所述签名数据验证通过的情况下,通过第二预设私钥对所述密文数据进行解密,得到目标认证消息;所述第二预设私钥与第一预设公钥匹配;对所述目标认证消息进行验证。
34.在本公开的实施例中,引入零信任技术,通过spa技术将第一数据包从访问端发送至车辆,该第一数据包用于车辆与访问端之间通过spa技术进行验证。在一些示例中,车辆对第一数据包进行验证是车辆通过第一数据包对访问端进行spa验证,该spa验证的过程涉及spa服务器(spa server)及spa客户端(spa client),其中,spa client用于构造spa数据包(该第一数据包),然后将该第一数据包发送至spa server,spa server用于保护提供的服务,默认配置drop all(即拒绝一切访问)的防火墙策略,此时任何请求都无法访问服务,以此实现了服务的隐藏和隔离,当需要访问服务时,spa client需要向spa server发送spa packet(即第一数据包)进行端口敲门,spa packet包含有spa client信息、要访问的目标服务的信息,并采用双方协商的算法进行加密的加密数据包。spa server接收到spa packet后进行验证及解密,spa server在对spa packet验证通过情况下,配置动态防火墙策略,动态开放访问服务功能,允许spa client访问spa server保护的服务,该动态防火墙策略包括访问服务功能的开启有效时间,该开启有效时间用于指示在认证超时时间范围内允许访问,超时(即防火墙策略到期)之后,动态清除防火墙策略。
35.这里,车辆作为spa server,其对第一数据包进行spa验证过程为:spa server监听指定协议和端口,获取第一数据包的来源和目的地址,其中,第一数据包包括签名数据和密文数据。
36.spa server从第一数据包中取出hmac,重新计算密文的hmac摘要(即待验证哈希消息认证码),验证待验证哈希消息认证码与第一数据包中的哈希消息认证码是否一致。
37.在一致的情况下,spa server使用spa client的第二预设公钥验证第一数据包中的签名数据。
38.在签名数据验证通过的情况下,spa server使用第二预设私钥进行密文数据的解密,得到目标认证消息。该目标认证信息是对密文数据进行解密后得到的明文数据。
39.spa server验证目标认证消息中的spa client的用户名、spa server端的ip地
址、要访问的服务/端口、协议以及认证超时时间等。
40.在验证通过的情况下,即为对第一数据包验证通过,spa server可以配置动态防火墙策略,开放对应的服务/端口,允许spa client对spa server发起访问服务,在超时之后,spa server清除防动态火墙策略。
41.通过spa验证动态的开启或关闭车辆的访问服务,在车辆接收进行访问请求之前,先验证后接收,可以大幅度地提高车辆数据的安全性。
42.在一些实施例中,将所述访问请求对应的返回结果发送至所述访问端之后,还包括:关闭所述访问服务功能。
43.在本公开的实施例中,在动态防火墙策略所包含的访问服务功能的开启有效时间到期(表示车辆对访问端授权的可访问时间过期)之后,删除车辆为访问端授权的动态防火墙策略,即关闭并隐藏访问服务功能,以保证在可访问时间过期之后,车辆中的数据不会受到恶意攻击,保证了车辆数据的安全性。
44.在一些实施例中,如图2所示,步骤104包括:步骤1041,将所述车辆的第一验证信息发送至所述访问端,以使所述访问端根据所述第一验证信息对所述车辆进行身份验证;步骤1042,接收所述访问端发送的第二验证信息;步骤1043,根据所述第二验证信息,对所述访问端进行身份验证,得到第二验证结果。
45.在本实施例中,车辆将第一验证信息发送至访问端,以使访问端根据第一验证信息对车辆进行身份验证;在一些示例中,通过ssl(secure socket layer,安全套接层)握手对访问端进行身份验证,该ssl握手是一种双向相互认证的过程,在一些示例中,访问端验证车辆的证书及密钥,车辆同样对访问端的证书及密钥进行验证。
46.其中,ssl握手的过程(车辆作为ssl client客户端,访问端作为ssl server服务端)为:访问端发送certificate request消息(即证书请求消息),请求车辆将其证书(即第一验证信息)发送给访问端。
47.车辆通过certificate消息(即证书消息)将携带自身公钥的证书(即第一验证信息)发送给访问端,访问端验证该证书(即第一验证信息)的合法性。
48.车辆计算已交互的握手消息、主密钥的哈希hash值,利用自身私钥对其进行加密,并通过certificate verify消息(即证书验证消息)发送给访问端。
49.访问端计算已交互的握手消息、主密钥的hash值,利用车辆的第一验证消息中的公钥解密certificate verify消息,并将解密结果与计算出的hash值比较,在二者相同的情况下,则车辆身份验证成功。
50.同理,车辆对访问端进行身份验证,得到第二验证结果。
51.在车辆对访问端的身份验证通过之后,车辆与访问端之间保持双向加密通信,不论是车辆向访问端发送数据,还是访问端向车辆发送数据,均需要对数据进行加密后发送,即车辆接收的访问端发送的访问请求是经过加密的,车辆发送给访问端的返回结果也是经加密后的。
52.在本实施例中,通过在对车辆进行数据访问之前验证第一数据包,以最大程度减少车辆数据的访问服务的暴露面,减少攻击,在各端交互过程中,先授权验证再连接,数据加密通信,有效地保护了传输及数据安全。
53.第二方面,本公开实施例提供一种车辆数据访问方法,用于访问端,如图3所示,该车辆数据访问方法包括如下步骤:步骤301,向车辆发送第一数据包,其中,所述第一数据包包括:用于所述车辆验证身份的第一认证信息;步骤302,在所述车辆对所述第一数据包验证通过的情况下,对所述车辆进行身份验证,得到第一验证结果;步骤303,在所述第一验证结果为通过的情况下,向所述车辆发送访问请求;步骤304,接收所述访问请求对应的返回结果。
54.在本实施例中,访问端包括云服务平台与移动端至少一项。在车辆与访问端之间的交互过程中均为先授权验证,再连接,以实现细粒度的车辆数据访问控制。在一些示例中,在访问端为云服务平台的情况下,该云服务平台与车辆均为部署在公网环境下的,通过将云服务平台与车辆对外隐藏端口,以减少暴露面,有效地减少攻击;在访问端为移动端的情况下,该车辆为部署在公网环境下的,而移动端不是部署在公网环境下的,通过将车辆对外隐藏端口,以减少暴露面,移动端内置sdp客户端功能,结合验证码、人脸识别、语音等动态多因子认证使用移动端的用户,保证移动端及车辆安全,即使在移动端终端丢失且被破解的情况下,也难以通过移动端对车辆进行控制。
55.在一些实施例中,步骤301包括:生成第一认证消息,其中,所述第一认证消息包括:所述访问端的用户名、所述车辆的互联网协议地址、目标服务、目标端口、协议信息以及认证超时时间中的至少一个;根据所述第一认证消息,确定第一摘要;通过第一预设公钥对所述第一摘要和认证消息进行加密处理,得到密文数据;所述第一预设公钥与第二预设私钥匹配;通过第一预设私钥对所述密文数据进行签名,得到签名数据;所述第一预设私钥与第二预设公钥匹配;确定所述签名数据对应的哈希消息认证码;将包括所述签名数据、所述密文数据以及所述哈希消息认证码的第一数据包发送至所述车辆。
56.在本公开的实施例中,访问端作为spa技术中的spa client,生成第一数据包并将该第一数据包发送至车辆,其生成第一数据包的过程为:spa client(即访问端)构造第一认证消息(message),该第一认证消息包含有spa client的用户名、时间戳、版本信息、spa类型值、spa server端的ip地址、要访问的服务/端口、协议以及认证超时时间等,这些值可用“:”依次连接。
57.计算第一摘要(digest),更具体而言,spa client可以通过指定的哈希算法(或默认哈希算法)计算message的哈希值,得到digest。
58.数据加密,spa client将message和digest连接,然后使用spa server的第一预设公钥对message和digest加密得到密文数据。
59.数据签名,spa client使用第一预设私钥对密文数据进行签名,得到签名数据。其中,第一预设公钥与第二预设私钥匹配,第一预设私钥与第二预设公钥匹配;spa client计算签名数据的hmac(即哈希消息认证码),将密文数据与hmac连接作为udp spa数据包,即第一数据包。
60.spa client发送udp spa数据包至spa server。
61.在一些实施例中,如图4所示,步骤302包括:步骤3021,接收所述车辆发送的第一验证信息;步骤3022,根据所述第一验证信息,对所述车辆进行身份验证,得到第一验证结果;步骤3023,将第二验证信息发送至所述车辆,以使所述车辆根据所述第二验证信息对所述访问端进行身份验证。
62.在一些示例中,通过车辆与访问端之间进行ssl握手,以验证对方的身份。
63.在一些实施例中,步骤301之前,还包括:确定第一验证信息。
64.在一些示例中,第一验证信息包括证书和发送方的私钥。
65.相应地,在一些实施例中,如图5所示,确定第一验证信息,包括:步骤3001,接收所述车辆发送的第二数据包,其中,所述第二数据包包括:用于所述访问端验证身份的第二认证信息;步骤3002,对所述第二数据包进行验证;步骤3003,在所述访问端对所述第二数据包验证通过的情况下,与所述车辆建立套接字连接;步骤3004,接收所述车辆发送的第一更新请求;步骤3005,根据所述第一更新请求,更新所述车辆对应的第一验证信息。
66.在本实施例中,车辆与访问端之间更新第一验证信息,该第一验证信息用于车辆与访问端之间的身份验证。对第二数据包的验证过程即为spa验证过程,在访问端对第二数据包验证通过的情况下,与车辆建立套接字(socket)连接,在一些示例中,socket连接过程涉及socket客户端与socket服务端,socket服务端创建socket,将socket与地址(包括ip地址、端口)绑定,设置socket选项,启动socket程序并监听socket。socket客户端创建socket并连接到服务端,实现与socket服务端程序之间的通信,完成数据的发送与接收。
67.值得说明的是,在一些示例中,在访问端为移动端的情况下,移动端通过云服务平台获取或更新第一验证信息,以确保在车辆不设置controller的情况下,也可以通过云服务平台确定与车辆对应的第一验证信息。
68.另外,第一验证信息可以由云服务平台的controller生成,也可以是controller外接iam(identity and access management,身份识别与访问管理)系统为其生成。本公开的实施例对触发第一验证信息的更新的条件不作限制,可以是socket连接会话关闭后重新再生成会话过程中触发更新,也可以是通过定时策略进行更新,程序中设置有第一验证信息的更新周期,例如,更新周期为60分钟,在该周期触发更新。
69.在一些实施例中,步骤3005之后,包括:保持所述套接字连接;
或者,关闭与所述车辆的套接字连接。
70.在本公开的实施例中,在访问端为云服务平台的情况下,车辆与云服务平台之间保持套接字连接,以便于在开启有效时间内云服务平台与车辆能够保持实时数据访问,而在访问端为移动端的情况下,由于移动端与云服务平台之间并不进行车辆数据访问,故而关闭与车辆的套接字连接,直至下一次更新第一验证信息的情况下,再通过spa验证以重新开启。
71.在一种示例中,参照图6,在访问端为云服务平台且车辆包括车机系统的情况下,更新第一验证信息的过程为:云服务平台包括ah、controller以及ih,其中,云服务平台ah运行,默认拒绝一切的访问请求,隐藏controller以及访问服务。controller及云服务平台运行。车辆中的车机系统包括ah和ih,其中,ah运行,默认拒绝一切访问策略,隐藏车机系统的访问服务。
72.车机系统ih向云服务平台ah发送spa(第二数据包)。
73.云服务平台ah接收spa并进行spa验证。在验证不通过的情况下,丢弃spa;在验证通过的情况下,云服务平台ah为该车机系统设置动态防火墙策略,允许车辆的车机系统访问云服务平台的controller。
74.车机系统ih与云服务平台的controller建立socket连接。
75.车机系统ih与云服务平台的controller进行ssl握手,完成密钥及算法协商。
76.车机系统ih与云服务平台的controller验证各自私钥及证书,建立车机系统与云服务平台之间的双向加密通信。
77.车机系统ih请求云服务平台的controller更新其证书及私钥。
78.云服务平台的controller完成证书及私钥(更新后的云服务平台存储为第二验证信息)更新,并发送给车机系统ih。
79.车机系统ih更新本地存储的证书及私钥(更新后的车机系统存储为第一验证信息),发送确认收消息给云服务平台的controller。
80.车机系统ih与云服务平台的controller保持会话连接。
81.在另一种示例中,参照图6,在访问端为移动端且车辆包括车机系统的情况下,更新第一验证信息的过程为:移动端ih向云服务平台ah发送spa(即第二数据包)。
82.云服务平台ah接收并进行spa验证。在验证不通过的情况下,丢弃spa;在验证通过的情况下,云服务平台ah为该移动端配置动态防火墙策略,允许该移动端访问云服务平台的controller。
83.移动端ih与云服务平台的controller建立socket连接。
84.移动端ih与云服务平台的controller进行ssl握手,完成密钥及算法协商。
85.移动端ih与云服务平台的controller双方验证各自私钥及证书,建立双向加密通信。
86.移动端ih请求云服务平台的controller更新证书及私钥。
87.云服务平台的controller调用证书服务生成证书及私钥。
88.云服务平台的controller通过加密通信将证书及私钥发送给移动端。
89.移动端更新证书及私钥(更新后的移动端存储为第二验证信息),发送确认消息给
云服务平台的controller。
90.云服务平台的controller关闭与移动端之间的socket连接。
91.值得说明的是,在进行云服务平台的controller与移动端ih之间的第一验证信息的更新过程之前,车机系统ih与云服务平台的controller更新证书及私钥。
92.为了使本领域技术人员能够更清楚地理解本公开实施例提供的技术方案,下面通过具体的实施例,对本公开实施例提供的技术方案进行详细说明:在一种示例中,参照图6,车辆上部署有车机系统,访问端包括移动端和云服务平台,其中,车机系统配置有ah和ih,移动端配置有ih,云服务平台配置有controller、ah以及ih。
93.车机系统与云服务平台连接过程为:云服务平台ah运行,默认设置拒绝一切访问的策略,例如,调用防火墙设置drop all规则,隐藏controller以及云服务平台的访问服务。
94.云服务平台的controller及云服务平台运行。
95.车机系统ah运行,默认设置拒绝一切访问的策略,隐藏车机系统的访问服务。
96.车机系统ih向云服务平台ah发送第二数据包,即第二spa。
97.云服务平台ah接收第二spa并进行spa验,在验证不通过的情况下,丢弃spa;在验证通过的情况下,云服务平台ah为该车机系统设置动态防火墙策略,允许访问云服务平台的controller。
98.车机系统ih与云服务平台的controller建立socket连接。
99.车机系统ih与云服务平台的controller进行ssl握手,完成密钥及算法协商。
100.车机系统ih与云服务平台的controller验证各自私钥及证书,建立双向加密通信。
101.车机系统ih请求云服务平台的controller更新其证书及私钥。
102.云服务平台的controller完成证书及私钥更新(更新后云服务平台存储为第二验证信息),并发送给车机系统ih。
103.车机系统ih更新本地证书及私钥(更新后车机系统存储为第一验证信息),发送确认收消息给云服务平台的controller。
104.车机系统ih与云服务平台的controller保持会话连接,在保持会话连接的过程中车辆的车机系统与云服务平台可以更新第一验证信息和/或第二验证信息。
105.云服务平台访问车机系统过程为:云服务平台ih向车机系统ah发送第一数据包,即第一spa。
106.车机系统ah接收第一spa并进行spa验证。在验证不通过的情况下,丢弃spa;在验证通过的情况下,车机系统ah为云服务平台设置动态防火墙策略,允许云服务平台访问车机系统ah所隐藏的车机系统的数据访问服务。
107.云服务平台ih与车机系统ah进行ssl握手,完成密钥及算法协商。
108.云服务平台ih与车机系统ah双方相互验证各自私钥及证书(即相互验证之前更新的第一验证信息和第二验证信息),建立双向加密通信。
109.云服务平台通过向车机系统发送访问请求,访问车机系统的数据访问服务,通过api(application programming interface,应用程序接口)调用获取车辆数据等。
110.车机系统接收访问请求并响应返回结果,发送返回结果给云服务平台。
111.移动端与云服务平台连接过程为:移动端ih向云服务平台ah发送第三数据包,即第三spa。
112.云服务平台ah接收并进行第三spa验证。在验证不通过的情况下,丢弃spa;在验证通过的情况下,云服务平台ah为该移动端系统设置动态防火墙策略,允许该移动端访问云服务平台的controller。
113.移动端ih与云服务平台的controller建立socket连接。
114.移动端ih与云服务平台的controller进行ssl握手,完成密钥及算法协商。
115.移动端ih与云服务平台的controller双方验证各自私钥及证书,建立双向加密通信。
116.移动端ih请求云服务平台的controller更新证书及私钥。
117.云服务平台的controller调用证书服务生成证书及私钥(第二验证信息,该第二验证信息用于验证移动端与车机系统)。
118.云服务平台的controller通过加密通信将证书、私钥(第二验证信息)发送给移动端。
119.移动端更新证书及私钥(第二验证信息),发送确认消息给云服务平台的controller。
120.云服务平台的controller关闭与移动端之间的socket连接,此时,移动端已获取更新后的第二验证信息,与云服务平台之间无其他的数据访问交互,则关闭该socket连接,以保证云服务平台的安全性。
121.移动端访问车机系统过程为:移动端发送第四数据包(即第四spa)到车机系统ah。
122.车机系统ah对spa进行验证。在验证不通的情况下,车机系统ah丢弃spa;在验证通过的情况下,车机系统ah为该移动端设置动态防火墙策略,允许移动端访问车机系统服务。
123.移动端ih与车机系统ah进行ssl握手,完成密钥及算法协商。
124.移动端ih与车机系统ah双方相互验证各自私钥及证书(即验证第二验证信息与第一验证信息),建立双向加密通信。
125.移动端请求车机系统的数据访问服务,获取车辆数据、实时状态或者控制车辆。
126.车机系统接收访问请求并进行响应返回结果,将返回结果返回给移动端。
127.通过基于sdp架构的云服务平台、车机系统以及移动端,能够有效解决安全问题,在安全以及稳定性方面有显著提升,先进行spa验证,再开放数据访问服务,数据访问服务开放时间可控制,能有效减少暴露面,有效减少攻击,可实现细粒度的访问控制,使得系统访问更加安全。移动端、云服务平台以及车机系统的数据交互过程采用双向加密通信,保证数据传输更安全,进而有效保护系统安全及数据安全。另外,移动端采用动态认证及多因子认证结合的方式,实现高强度认证,增强了移动端安全性。
128.第三方面,本公开实施例提供一种电子设备,如图7所示,其包括:一个或多个处理器701;存储器702,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面任意一项的车辆数据访问
方法;一个或多个i/o接口703,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
129.其中,处理器701为具有数据处理能力的器件,其包括但不限于中央处理器(cpu)等;存储器702为具有数据存储能力的器件,其包括但不限于随机存取存储器(ram,更具体如sdram、ddr等)、只读存储器(rom)、带电可擦可编程只读存储器(eeprom)、闪存(flash);i/o接口(读写接口)703连接在处理器701与存储器702间,能实现处理器701与存储器702的信息交互,其包括但不限于数据总线(bus)等。
130.在一些实施例中,处理器701、存储器702和i/o接口703通过总线704相互连接,进而与计算设备的其它组件连接。
131.第四方面,本公开实施例提供一种计算机可读存储介质,如图8所示,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任意一项的车辆数据访问方法。
132.本公开采用以上技术方案,通过在对车辆进行数据访问之前验证第一数据包,以最大程度减少车辆数据的访问服务的暴露面,减少攻击,在各端交互过程中,先授权验证再连接,数据加密通信,有效地保护了传输及数据安全。
133.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
134.在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
135.以上参照附图说明了本公开的优选实施例,并非因此局限本公开的权利范围。本领域技术人员不脱离本公开的范围和实质内所作的任何修改、等同替换和改进,均应在本公开的权利范围之内。
技术特征:
1.一种车辆数据访问方法,用于车辆,包括:接收访问端发送的第一数据包,其中,所述第一数据包包括:用于所述车辆验证身份的第一认证信息;对所述第一数据包进行验证;在所述车辆对所述第一数据包验证通过的情况下,为所述车辆配置动态防火墙策略,以开启所述车辆的访问服务功能,其中,所述动态防火墙策略包括所述访问服务功能的开启有效时间;接收所述访问端发送的访问请求;在第一验证结果为通过的情况下,对所述访问端进行身份验证,得到第二验证结果;在所述第二验证结果为通过的情况下,接收所述访问端发送的访问请求;将所述访问请求对应的返回结果发送至所述访问端。2.根据权利要求1所述的车辆数据访问方法,其中,将所述访问请求对应的返回结果发送至所述访问端之后,还包括:关闭所述访问服务功能。3.根据权利要求1所述的车辆数据访问方法,其中,对所述访问端进行身份验证,得到第二验证结果,包括:将所述车辆的第一验证信息发送至所述访问端,以使所述访问端根据所述第一验证信息对所述车辆进行身份验证;接收所述访问端发送的第二验证信息;根据所述第二验证信息,对所述访问端进行身份验证,得到第二验证结果。4.一种车辆数据访问方法,用于访问端,包括:向车辆发送第一数据包,其中,所述第一数据包包括:用于所述车辆验证身份的第一认证信息;在所述车辆对所述第一数据包验证通过的情况下,对所述车辆进行身份验证,得到第一验证结果;在所述第一验证结果为通过的情况下,向所述车辆发送访问请求;接收所述访问请求对应的返回结果。5.根据权利要求4所述的车辆数据访问方法,其中,对所述车辆进行身份验证,得到第一验证结果,包括:接收所述车辆发送的第一验证信息;根据所述第一验证信息,对所述车辆进行身份验证,得到第一验证结果;将第二验证信息发送至所述车辆,以使所述车辆根据所述第二验证信息对所述访问端进行身份验证。6.根据权利要求4所述的车辆数据访问方法,其中,所述向车辆发送第一数据包之前,还包括:确定第一验证信息。7.根据权利要求6所述的车辆数据访问方法,其中,确定所述第一验证信息,包括:接收所述车辆发送的第二数据包,其中,所述第二数据包包括:用于所述访问端验证身份的第二认证信息;
对所述第二数据包进行验证;在所述访问端对所述第二数据包验证通过的情况下,与所述车辆建立套接字连接;接收所述车辆发送的第一更新请求;根据所述第一更新请求,更新所述车辆对应的第一验证信息。8.根据权利要求7所述的车辆数据访问方法,其中,根据所述第一更新请求,更新所述车辆对应的第一验证信息之后,还包括:保持所述套接字连接;或者,关闭与所述车辆的套接字连接。9.一种电子设备,所述电子设备包括:一个或多个处理器;存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至8中任意一项所述的车辆数据访问方法;一个或多个i/o接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。10.一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至8中任意一项所述的车辆数据访问方法。
技术总结
本公开提供一种车辆数据访问方法,包括:接收访问端发送的第一数据包,其中,第一数据包包括:用于车辆验证身份的第一认证信息;对第一数据包进行验证;在车辆对第一数据包验证通过的情况下,为车辆配置动态防火墙策略,以开启车辆的访问服务功能,其中,动态防火墙策略包括访问服务功能的开启有效时间;接收访问端发送的访问请求;在第一验证结果为通过的情况下,对访问端进行身份验证,得到第二验证结果;在第二验证结果为通过的情况下,接收访问端发送的访问请求;将访问请求对应的返回结果发送至访问端。本公开还提供一种电子设备、一种计算机可读存储介质。种计算机可读存储介质。种计算机可读存储介质。
技术研发人员:王星 阮志成 吴聪雷
受保护的技术使用者:中电长城网际系统应用有限公司
技术研发日:2023.09.05
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/