车联网安全通信方法、车载终端、服务器及系统与流程

文档序号:12278625阅读:617来源:国知局
车联网安全通信方法、车载终端、服务器及系统与流程

本申请涉及车联网技术领域,尤其涉及一种车联网安全通信方法、车载终端、服务器及系统。



背景技术:

随着汽车接入互联网技术的逐步成熟,基于网络的车载应用的功能也得到了极大的丰富和扩展,这些都为车联网应用市场的繁荣奠定了基础。但随之而来的一个不容忽视的问题就是安全问题,如何保证车辆通过网络与外界交互的敏感信息的安全(即传输安全)得到了人们的很大的关注。如果传输安全得不到保证,会导致敏感数据被窃取,篡改,甚至导致车辆被远程控制,这样会极大地威胁车主的人身安全。

目前,网络安全中的一些安全协议,如:安全套接层(Secure Sockets Layer,简称SSL)、IP安全(IP security,简称IPSec)等,由于占用资源大,很难在资源有限的车载移动终端使用或普及,即使对于资源比较丰富的车载移动终端,如果应用了上述安全协议,不仅会造成服务器端的压力增加,而且增加了安全成本。



技术实现要素:

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的第一个目的在于提出一种车联网安全通信方法,该方法实现了在车载终端和服务器间建立轻量级的安全认证传输协议,利用较少的资源,提高了车载终端和服务器间数据传输的安全性。

本申请的第二个目的在于提出另一种车联网安全通信方法。

本申请的第三个目的在于提出一种车载终端。

本申请的第四个目的在于提出一种服务器。

本申请的第五个目的在于提出一种车联网安全通信系统。

为达上述目的,本申请第一方面实施例提出了一种车联网安全通信方法,包括:车载终端在确定与服务器已完成传输控制协议连接后,向服务器发送握手认证请求,其中,所述握手认证请求中包括所述车载终端的标识及采用与所述服务器相同的对称加密算法加密的第一哈希值;所述车载终端接收所述服务器返回的认证响应消息,所述认证响应消息是所述服务器在确定所述车载终端合法后返回的;所述车载终端根据所述认证响应消息,与所述服务器建立安全认证传输协议连接。

在第一方面的一种实现形式中,所述车载终端向服务器发送握手认证请求之前,还包括:

所述车载终端根据预设的规则,生成第一随机数;

所述车载终端根据所述第一随机数及与第一初始密钥,生成所述第一哈希值。

在第一方面的另一种实现形式中,所述认证响应消息中包括加密后的第一随机数、更新密钥和第二哈希值,所述车载终端接收所述服务器返回的认证响应消息之后,还包括:

所述车载终端将所述认证响应消息进行解密处理;

所述车载终端判断解密后得到的第一随机数与生成的第一随机数是否匹配;

若匹配,则车载终端根据解密后得到的更新密钥进行密钥更新。

在第一方面的另一种实现形式中,所述认证响应消息中还包括加密后的第二随机数;

所述车载终端根据解密后得到的更新密钥进行密钥更新之后,还包括:

所述车载终端向所述服务器返回密钥更新确认消息,所述密钥更新确认消息中包括加密后的第二随机数和根据所述更新密钥及第二随机数生成的第二哈希值,以使所述服务器进行密钥更新。

在第一方面的另一种实现形式中,所述握手认证请求和认证响应消息中,包括:

记录协议头、消息体和与所述消息体对应的消息认证码。

在第一方面的另一种实现形式中,所述第一初始密钥中包括:读密钥和写密钥;

所述读密钥和写密钥中分别包括对称加密密钥值、随机向量和哈希运算消息认证码算法密钥。

在第一方面的又一种实现形式中,所述车载终端与所述服务器建立安全认证传输协议连接之后,还包括:

所述车载终端根据待传输的数据类型,构造第一记录协议头;

所述车载终端对所述第一记录协议头和待传输的数据本体,进行哈希信息验证码运算,确定待传输数据的第一消息认证码;

所述车载终端利用更新后的密钥和加密函数,将所述待传输的数据本体和所述第一消息认证码进行加密处理后,传输给所述服务器。

在第一方面的又一种实现形式中,所述车载终端与所述服务器建立安全认证传输协议连接之后,还包括:

所述车载终端接收所述服务器发送的数据报文;

所述车载终端根据所述数据报文中的第二记录协议头,确定所述数据报文中第二消息认证码的位置;

所述车载终端利用更新后的密钥和与服务器中加密函数对称的解密函数,对所述数据报文进行解密处理,以获取所述数据报文中包括的数据本体和第二消息认证码;

所述车载终端对所述第二记录协议头和所述数据本体,进行哈希信息验证码运算,确定第三消息认证码;

所述车载终端判断所述第二消息认证码与所述第三消息认证码是否一致,若一致,则将所述数据本体发送至所述车载终端中的应用层。

在第一方面的又一种实现形式中,还包括:

所述车载终端接收所述服务器发送的连接关闭消息;

所述车载终端根据所述连接关闭消息,释放与消息接收关联的本地资源。

在第一方面的又一种实现形式中,所述车载终端接收所述服务器发送的连接关闭消息之后,还包括:

所述车载终端判断本地是否有待传输的数据报文;

若无,则向所述服务器返回连接关闭响应消息,以使所述服务器关闭与所述车载终端之间的通信连接。

本申请实施例提供的车联网安全通信方法,车载终端在确定于服务器建立了TCP连接后,即可基于预设的初始密钥和与服务器相同的对称加密算法,向服务器发送握手认证请求,然后在收到服务器返回的认证响应消息后,即可与服务器建立安全认证传输协议连接。由此,实现了在车载终端和服务器间建立轻量级的安全认证传输协议,利用较少的资源,提高了车载终端和服务器间数据传输的安全性。

为达上述目的,本申请第二方面实施例提出了另一种车联网安全通信方法,包括:服务器接收车载终端发送的握手认证请求,其中,所述握手认证请求中包括所述车载终端的标识及采用与所述服务器相同的对称加密算法加密的第一哈希值;所述服务器根据所述车载终端的标识,获取本地存储的与所述车载终端的标识对应的第二初始密钥;所述服务器采用与所述车载终端对称的解密算法,对所述握手认证请求进行解密,以确定所述握手认证请求中携带的第一初始密钥;所述服务器判断所述第一初始密钥与所述第二初始密钥是否一致;若一致,则向所述车载终端返回认证响应消息。

本申请实施例的车联网安全通信方法,服务器在收到车载终端发送的握手认证请求后,根据车载终端的标识,获取与车载终端标识对应的第二初始密钥,然后采用与车载终端对称的解密算法,对握手认证请求进行解密,得到握手认证请求中的第一初始密钥,在确定第一初始密钥与第二密钥一致时,向车载终端返回认证响应消息。由此,实现了在车载终端和服务器间建立轻量级的安全认证传输协议,利用较少的资源,提高了车载终端和服务器间数据传输的安全性。

为达上述目的,本申请第三方面实施例提出了一种车载终端,包括:用于存储程序代码的存储器和处理器;

所述处理器用于调用所述存储器中的代码,以执行以下过程:

在确定与服务器已完成传输控制协议连接后,向服务器发送握手认证请求,其中,所述握手认证请求中包括所述车载终端的标识及采用与所述服务器相同的对称加密算法加密的第一哈希值;接收所述服务器返回的认证响应消息,所述认证响应消息是所述服务器在确定所述车载终端合法后返回的;根据所述认证响应消息,与所述服务器建立安全认证传输协议连接。

本申请实施例提供的车载终端,车载终端在确定于服务器建立了TCP连接后,即可基于预设的初始密钥和与服务器相同的对称加密加密算法,向服务器发送握手认证请求,然后在收到服务器返回的认证响应消息后,即可与服务器建立安全认证传输协议连接。由此,实现了在车载终端和服务器间建立轻量级的安全认证传输协议,利用较少的资源,提高了车载终端和服务器间数据传输的安全性。

在第三方面的一种实现形式中,所述处理器,还用于:根据预设的规则,生成第一随机数;根据所述第一随机数及所述第一初始密钥,生成第一哈希值。

在第三方面的另一种实现形式中,所述认证响应消息中包括加密后的第一随机数、更新密钥和第二哈希值;

所述处理器,还用于:

将所述认证响应消息进行解密处理;

判断解密后得到的第一随机数与生成的第一随机数是否匹配;

若匹配,则根据解密后得到的更新密钥进行密钥更新。

在第三方面的另一种实现形式中,所述认证响应消息中还包括加密后的第二随机数;

所述处理器,还用于:

向所述服务器返回密钥更新确认消息,所述密钥更新确认消息中包括加密后的第二随机数和根据所述更新密钥及第二随机数生成的第二哈希值,以使所述服务器进行密钥更新。

在第三方面的另一种实现形式中,所述握手认证请求和认证响应消息中,包括:

记录协议头、消息体和与所述消息体对应的消息认证码。

在第三方面的另一种实现形式中,所述第一初始密钥中包括:读密钥和写密钥;

所述读密钥和写密钥中分别包括对称加密密钥值、随机向量和哈希运算消息认证码算法密钥。

在第三方面的另一种实现形式中,所述处理器,还用于:

根据待传输的数据类型,构造第一记录协议头;

对所述第一记录协议头和待传输的数据本体,进行哈希信息验证码运算,确定待传输数据的第一消息认证码;

利用更新后的密钥和加密函数,将所述待传输的数据本体和所述第一消息认证码进行加密处理后,传输给所述服务器。

在第三方面的另一种实现形式中,所述处理器,还用于:

接收所述服务器发送的数据报文;

根据所述数据报文中的第二记录协议头,确定所述数据报文中第二消息认证码的位置;

利用更新后的密钥和与服务器中加密函数对称的解密函数,对所述数据报文进行解密处理,以获取所述数据报文中包括的数据本体和第二消息认证码;

对所述第二记录协议头和所述数据本体,进行哈希信息验证码运算,确定第三消息认证码;

判断所述第二消息认证码与所述第三消息认证码是否一致,若一致,则将所述数据本体发送至所述车载终端中的应用层。

在第三方面的又一种实现形式中,所述处理器,还用于:

接收所述服务器发送的连接关闭消息;

根据所述连接关闭消息,释放与消息接收关联的本地资源。

在第三方面的再一种实现形式中,所述处理器,还用于:

所述车载终端判断本地是否有待传输的数据报文;

若无,则向所述服务器返回连接关闭响应消息,以使所述服务器关闭与所述车载终端之间的通信连接。

为达上述目的,本申请第四方面实施例提出了一种服务器,包括用于存储程序代码的存储器和处理器,其中,所述处理器用于调用所述存储器中的程序代码,以执行以下操作:接收车载终端发送的握手认证请求,其中,所述握手认证请求中包括所述车载终端的标识及采用与所述服务器相同的对称加密算法加密的第一哈希值;根据所述车载终端的标识,获取本地存储的与所述车载终端的标识对应的第二初始密钥;采用与所述车载终端对称的解密算法,对所述握手认证请求进行解密,以确定所述握手认证请求中携带的第一初始密钥;判断所述第一初始密钥与所述第二初始密钥是否一致;若一致,则向所述车载终端返回认证响应消息。

本申请实施例的服务器,服务器在收到车载终端发送的握手认证请求后,根据车载终端的标识,获取与车载终端标识对应的第二初始密钥,然后采用与车载终端对称的解密算法,对握手认证请求进行解密,得到握手认证请求中的第一初始密钥,在确定第一初始密钥与第二密钥一致时,向车载终端返回认证响应消息。由此,实现了在车载终端和服务器间建立轻量级的安全认证传输协议,利用较少的资源,提高了车载终端和服务器间数据传输的安全性。

为达上述目的,本申请第五个方面提出一种车联网安全通信系统,包括如第三方面所述的车载终端和第四方面所述的服务器。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本申请一个实施例的车联网安全通信方法的流程图;

图2是本申请一个实施例的车联网安全通信系统的结构示意图;

图3为本申请实施例提供的车载终端与服务器的认证过程示意图;

图4为本申请实施例提供的车载终端与服务器进行数据传输的流程示意图;

图5为本申请实施例提供的另一种车联网安全通信方法的流程示意图;

图6是本申请一个实施例的车载终端的结构示意图;

图7是本申请一个实施例的服务器的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

本申请各实施例主要针对现有技术中,由于车载终端资源有限,无法使用现有的传输安全协议来保证数据传输的安全性的问题,提出一种车联网安全通信方法、车载终端、服务器及系统。在本申请提供的车联网安全通信方法中,车载终端和服务器之间的认证和通信过程,都使用对称加密算法,从而降低了车载终端和服务器的资源消耗。

下面参考附图描述本申请实施例的车辆网安全通信方法及装置。

图1是本申请一个实施例的车联网安全通信方法的流程图。

如图1所示,该车联网安全通信方法包括:

S101,车载终端在确定与服务器已完成传输控制协议连接后,向服务器发送握手认证请求。

其中,所述握手认证请求中包括所述车载终端的标识,及采用与所述服务器相同的对称加密算法加密的第一哈希值。

具体的,本实施例提供的车联网安全通信方法,执行主体为本申请提供的车联网安全通信装置,该装置可以被配置在车载终端中,以保证车载终端与服务器间的通信安全。

其中,车载终端的标识,是指唯一表征车载终端身份的标识,比如可以为车载终端的产品序列号,或者是服务器为车载终端分配的唯一标识码,本实施例对此不作限定。第一哈希值,是根据握手认证请求生成的校验值,其中握手认证请求中还可以包括第一初始密钥、第一初始密钥的标识、第一随机数等中的任意一个或多个,用于使服务器根据握手认证请求,对车载终端的身份进行校验。第一随机数是车载终端根据预设的规则,随机生成的。

另外,车载终端与服务器相同的加密算法,可以是任何对称加密算法,比如为AES128-CTR等。

其中,第一初始密钥是车载终端在出厂前,由厂家根据服务器生成的初始密钥设置的。其中,一个车载终端对应一个初始密钥。

举例来说,在车载终端出厂前,服务器端首先产生第一初始密钥,然后使用超文本传输协议(HyperText Transfer Protocal,简称HTTP)连接传递到车载终端所在的生产工厂,再由专人(生产者)将第一初始密钥注入到车载移动终端中。

进一步地,为保证车载终端可以从服务器中,将第一初始密钥的下载证书可靠下载下来,需要保证传递第一初始密钥的HTTP连接可靠,本申请实施例中,还可以通过为HTTP链路配置一个认证证书,来保证传递第一初始密钥的HTTP连接可靠。

具体的,图2为本申请实施例提供的一种车联网安全通信系统结构示意图。如图2所示,该车联网安全通信系统包括服务器侧的数据中心(Data Center)1和车载终端的制造工厂(Plant)2。如图2所示,该证书的下载过程,可以由以下过程组成:

1)Data Center首先生成一个名为C1的证书用于建立HTTPS链路(C1只用于下载请求第一初始密钥的证书,它不能用于下载第一初始密钥)。

2)Data Center将C1压缩到一个文件中,压缩时可以使用如AES256等算法进行加密,并添加密码。

3)Data Center将加密后的C1通过e-mail发送给工人(Producer)。

4)Producer通过邮件获取到加密后的C1并保存。

5)Data Center生成一个名为C2的证书用于下载第一初始密钥,然后将其上传到安全传输网关(Security Transmission Gateway,简称STG)中的HTTPS服务器上。

6)Data Center通过电话告知Producer解密C1的密码。

7)Producer解密C1后将其上载到浏览器。

8)Producer尽快通过HTTPS链路下载C2。

9)确认Producer成功下载C2后,Data Center修改STG配置以使C1失效。

10)Producer上载C2到浏览器然后建立新的HTTPS链路。

11)Producer使用HTTPS链路下载初始密钥或升级证书。

需要说明的是,为了保证下载证书的可靠性,服务器还可以对下载证书进行周期性更新,比如每周、每10天等更新一次,从而尽量保证通过下载证书建立的HTTP链接的可靠性和安全性。

S102,所述车载终端接收所述服务器返回的认证响应消息,所述认证响应消息是所述服务器在确定所述车载终端合法后返回的。

具体的,服务器中存储有与各个车载终端的标识对应的初始密钥,当服务器在收到车载终端发送的握手认证请求后,即可采用与车载终端中相同的对称加密算法将加密的第一哈希值进行解密,之后再根据第一哈希值得到的第一初始密钥与本地存储的与该车载终端的标识对应的初始密钥是否相同,若相同,则可以确定该车载终端合法,从而即可向车载终端返回认证响应消息。

进一步地,可以设置车载终端与服务器间通信消息的格式,来简化车载终端和服务器通信时的解析过程。具体的,上述握手认证请求和认证响应消息,都可以如下表所示,包括:记录协议头(Record header)、消息体(Message Body)和与所述消息体对应的消息认证码(MAC Value)。

其中记录协议头是明文,MAC值是密文,消息体的内容则根据消息类型而定,比如,若消息为握手认证请求,则消息体可以包括握手认证报文头和车载终端标识等数据报文,若消息为数据传输报文,则消息体可以仅为传输的数据值。

另外,车载终端和服务器中的第一初始密钥,主要包括两部分:读密钥和写密钥;

所述读密钥和写密钥中分别包括对称加密密钥值、随机向量和哈希运算消息认证码算法(Hash-based Message Authentication Code,简称HMAC)密钥。密钥的三个部分中,每一端的读和写方向的密钥都不相同,但本端的读密钥一定与对端的写密钥相同,本端的写密钥一定与对端的读密钥相同。读方向和写方向使用不同的密钥会使得协议抗统计分析攻击的能力更强,从而提高了安全性。

S103,所述车载终端根据所述认证响应消息,与所述服务器建立安全认证传输协议连接。

具体的,车载终端在收到服务器返回的认证响应消息后,即可确定服务器合法,从而即可与服务器建立安全认证传输协议(Security Authentication and Transportation Layer,简称SATL)连接,并通过该协议进行数据传输。

可以理解的是,车载终端与服务器间每次建立TCP连接后,都需要通过上述方式,建立STAL连接,在这个过程中可以完成身份的认证和密钥的更新。进行身份认证的目的是使车载终端或服务器确认对端的合法身份,防止虚假通信端、中间人攻击和重放攻击。更新密钥的目的是加强密钥的安全性。

本申请实施例提供的车联网安全通信方法,车载终端在确定于服务器建立了TCP连接后,即可基于预设的初始密钥和与服务器相同的对称加密算法,向服务器发送握手认证请求,然后在收到服务器返回的认证响应消息后,即可与服务器建立安全认证传输协议连接。由此,实现了在车载终端和服务器间建立轻量级的安全认证传输协议,利用较少的资源,提高了车载终端和服务器间数据传输的安全性。

通过上述分析可知,车载终端可以通过对称算法与服务器进行握手认证,从而与服务器建立安全认证传输协议连接,利用轻量级的安全传输协议,占用较少的资源,即可实现车载终端和服务器间数据传输的安全性。

进一步地,为了防止车载终端发送的握手认证请求被非法篡改,上述步骤101中,车载终端还可以根据利用伪随机数生成器(Pseudorandom Number Generator,简称PRNG)生成一个随机数,并利用哈希算法,根据随机数和初始密钥生成一个哈希值,然后将该哈希值作为密文与车载终端的标识一同发送给服务器进行握手认证,下面结合图3,对车载终端与服务器间的认证过程进行详细介绍。即如图3所示,图3为本申请实施例提供的车载终端与服务器的认证过程示意图。

如图3所示,车载终端与服务器的认证过程包括:

S301,所述车载终端根据预设的规则,生成第一随机数。

其中,预设的规则,可以为伪随机数生成器默认的规则,也可以为用户预置的规则,本实施例对此不作限定。

S302,所述车载终端根据所述第一随机数及所述第一初始密钥,生成第一哈希值。

S303,所述车载终端采用与所述服务器相同的对称加密算法,将所述第一哈希值进行加密处理。

S304,所述车载终端向所述服务器发送包括所述车载终端的标识、第一随机数和加密后的第一哈希值的握手认证请求。

具体的,服务器在收到握手认证请求后,即可对握手认证请求进行解密,并判断根据第一随机数及本地存储的与车载终端标识对应的初始密钥生成的哈希值,与解密得到的第一哈希值是否匹配,若匹配,则向车载终端返回认证响应消息,否则结束。

需要说明的是,服务器若确定解密得到的第一哈希值与根据算法生成的第一哈希值匹配,则可确定该握手认证请求合法,未被修改,否则,可向车载终端返回握手失败消息,从而使车载终端重新发起握手认证请求。

S305,车载终端收到服务器返回的认证响应消息。

其中,认证响应消息中,包括加密后的第一随机数、更新密钥和第二哈希值。

具体的,第二哈希值,是服务器根据更新密钥和第一随机数生成的。

S306,所述车载终端判断解密后得到的第一随机数与生成的第一随机数是否匹配,若匹配,则执行S307,否则,执行S301。

S307,根据解密后得到的更新密钥进行密钥更新。

具体的,车载终端在将认证响应消息解密后,即可对比认证响应消息中的第一随机数,与之前本地生成的第一随机数是否相同,若相同,则可确定发送认证响应消息的服务器合法,从而即可根据认证响应消息中的更新密钥进行密钥更新,否则,即可返回S301.

进一步的,为了使服务器可以确定车载终端是否进行了密钥更新,车载终端进行密钥更新后,可以再向服务器返回一个密钥更新确认消息,从而使服务器可以与车载终端同步进行密钥更新。

举例来说,服务器可以在向车载终端返回认证响应消息前,利用随机数生成器,生成一个第二随机数,然后将第二随机数加密后,通过认证响应消息发送给车载终端,车载终端在根据第一随机数,确定服务器合法后,即可根据第二随机数和更新密钥生成一个哈希值,并将哈希值加密后返回给服务器,从而服务器在将密钥更新确认消息解密后,即可通过判断密钥更新确认消息中的第二随机数与之前生成的第二随机数是否相同,若相同,则可确定车载终端进行了密钥更新,从而服务器也可将与车载终端标识对应的密钥替换为更新密钥,从而完成了身份认证过程。

可以理解的是,车载终端与服务器之间的密钥必须保持一致,否则下次通信就会失败。但密钥更新可能由于通信链路的问题而无法成功,这样就要求协议必须在密钥更新失败的情况下也能保证下次通信正常。

因此,服务器中可以为每个车载终端保存两份密钥,一份是旧的(记做KO),一份是新的(记做KN)。在握手认证请求到来时,先用KN解密,如果更新成功,则KN会解密成功,如果解密失败,再用KO解密,如果更新失败,则用KO解密就会成功。如果确定密钥更新成功,则再次更新密钥时会写覆盖KO,保留KN;否则写覆盖KN,保留KO。

本实施例中,车载终端和服务器在身份认证过程中,采用使用资源较少的对称的加密、解密算法,进行身份认证和密钥更新,即提高了车载终端和服务器通信的安全性,又降低了对车载终端和服务器的资源消耗。

在车载终端与服务器建立安全认证传输协议连接后,即可进行数据传输,下面结合图4,对本申请实施例提供的车联网安全通信方法进行进一步说明。

图4为本申请实施例提供的车载终端与服务器进行数据传输的流程示意图。

如图4所示,在上述S307之后,还包括:

S401,所述车载终端根据待传输的数据类型,构造第一记录协议头。

其中,第一记录协议头,用于表征待传输数据的类型,比如为车辆行驶消息,或者警报数据等。

S402,所述车载终端对所述第一记录协议头和待传输的数据本体,进行哈希信息验证码运算,确定待传输数据的第一消息认证码。

S403,所述车载终端利用更新后的密钥和加密函数,将所述待传输的数据本体和所述第一消息认证码进行加密处理后,传输给所述服务器。

具体的,车载终端在确定了待传输的消息的各部分的内容后,即可采用本地的写密钥和加密函数,将数据本体和第一消息认证码加密后,传输给服务器,从而使服务器采用对称的解密密钥和解密函数,将收到的消息进行解密,以获得对应的数据。

进一步地,服务器在对车载终端中的数据进行修改时,可以与车载终端相同的方式,将数据本体和对应的消息认证码加密得到传输报文后,再发送给车载终端,相应的该方法,还包括:

S404,所述车载终端接收所述服务器发送的数据报文。

S405,所述车载终端根据所述数据报文中的第二记录协议头,确定所述数据报文中第二消息认证码的位置。

S406,所述车载终端利用更新后的密钥和与服务器中加密函数对称的解密函数,对所述数据报文进行解密处理,以获取所述数据报文中包括的数据本体和第二消息认证码。

S407,所述车载终端对所述第二记录协议头和所述数据本体,进行哈希信息验证码运算,确定第三消息认证码。

S408,所述车载终端判断所述第二消息认证码与所述第三消息认证码是否一致,若一致,则将所述数据本体发送至所述车载终端中的应用层。

具体的,车载终端在收到服务器发送的数据报文后,首先通过对称的解密密钥和对应的解密函数,解密后得到数据报文中包括的数据本体和第二消息认证码,然后再根据数据本体运算得到第三消息认证码,若第三消息认证码与第二消息认证码一致,则说明服务器发送的数据报文可靠,从而即可将明文数据本体发送给应用层,以使车载终端根据明文数据进行修改。而若第三消息认证码与第二消息认证码不一致,则可认为安全认证传输协议连接不可靠,从而即可关闭该链接,再重新建立一个新的连接,或者向服务器返回传输异常消息。

进一步,在车载终端与服务器之间完成数据传输后,还可以关闭SATL连接,从而使车载终端和服务器释放相应的资源,即该方法还包括:

所述车载终端接收所述服务器发送的连接关闭消息;

所述车载终端根据所述连接关闭消息,释放与消息接收关联的本地资源。

相应地,车载终端也可以在完成数据发送后,向服务器发送连接关闭消息,即该方法还包括:

所述车载终端判断本地是否有待传输的数据报文;

若无,则向所述服务器返回连接关闭响应消息,以使所述服务器关闭与所述车载终端之间的通信连接。

如果通信双方希望基于当前TCP连接重新建立SATL连接,则必须遵循上述流程关闭旧SATL连接,或者也可以通过直接关闭TCP连接的方式关闭SATL连接。

本实施例提供的车联网安全通信方法,车载终端与服务器建立STAL连接后,即可根据待传输的数据本体,构造传输的报文,并通过STAL连接,将数据报文可靠传输给对端,并在数据传输结束后,实时关闭STAL连接,以释放车载终端和服务器中的资源。由此,即提高了车载终端和服务器通信的安全性,又降低了对车载终端和服务器的资源消耗。图5为本申请实施例提供的另一种车联网安全通信方法的流程示意图。

如图5所示,该方法包括:

S501,服务器接收车载终端发送的握手认证请求。

其中,所述握手认证请求中包括所述车载终端的标识及采用与所述服务器相同的对称加密算法加密的第一哈希值;

S502,所述服务器根据所述车载终端的标识,获取本地存储的与所述车载终端的标识对应的第二初始密钥;

S503,所述服务器采用与所述车载终端对称的解密算法,对所述握手认证请求进行解密,以确定所述握手认证请求中携带的第一初始密钥;

S504,所述服务器判断所述第一初始密钥与所述第二初始密钥是否一致;

S505,若一致,则向所述车载终端返回认证响应消息。

具体的,本实施例提供的车联网安全通信方法的执行主体为服务器。在本实施例中,服务器采用与车载终端对称的密钥和加密、解密算法,通过与车载终端的交互,建立SATL连接,从而实现数据的安全,可靠传输。

该方法的具体实现过程,可参照上述实施例对车载终端侧的详细描述,此处不再赘述。

本申请实施例的车联网安全通信方法,服务器在收到车载终端发送的握手认证请求后,根据车载终端的标识,获取与车载终端标识对应的第二初始密钥,然后采用与车载终端对称的解密算法,对握手认证请求进行解密,得到握手认证请求中的第一初始密钥,在确定第一初始密钥与第二密钥一致时,向车载终端返回认证响应消息。由此,实现了在车载终端和服务器间建立轻量级的安全认证传输协议,利用较少的资源,提高了车载终端和服务器间数据传输的安全性。

为了实现上述实施例,本申请还提出一种车载终端。

图6是本申请一个实施例的车载终端的结构示意图。

如图6所示,该车载终端60包括:存储器61和处理器62。

其中,存储器61,用于存储程序代码;

所述处理器62,用于调用所述存储61中的代码,以执行以下过程:

在确定与服务器已完成传输控制协议连接后,向服务器发送握手认证请求,其中,所述握手认证请求中包括所述车载终端的标识及采用与所述服务器相同的对称加密算法加密的第一哈希值;

接收所述服务器返回的认证响应消息,所述认证响应消息是所述服务器在确定所述车载终端合法后返回的;

根据所述认证响应消息,与所述服务器建立安全认证传输协议连接。

其中,本实施例提供的车载终端,用于执行上述实施例一提供的车联网安全通信方法。

在本实施例一种可能的实现,所述处理器62,还用于:

根据预设的规则,生成第一随机数;

根据所述第一随机数及所述第一初始密钥,生成第一哈希值;

采用与所述服务器相同的对称加密算法,将所述第一哈希值进行加密处理;

向所述服务器发送包括所述车载终端的标识和加密后的第一哈希值的握手认证请求。

在本实施例一种可能的实现,所述认证响应消息中包括加密后的第一随机数、更新密钥和第二哈希值;

相应的,所述处理器62,还用于:

将所述认证响应消息进行解密处理;

判断解密后得到的第一随机数与生成的第一随机数是否匹配;

若匹配,则根据解密后得到的更新密钥进行密钥更新。

在本实施例另一种可能的实现,所述认证响应消息中还包括加密后的第二随机数;

相应的,所述处理器62,还用于:

向所述服务器返回密钥更新确认消息,所述密钥更新确认消息中包括加密后的第二随机数和根据所述更新密钥及第二随机数生成的第二哈希值,以使所述服务器进行密钥更新。

在本实施例另一种可能的实现,所述握手认证请求和认证响应消息中,包括:

记录协议头、消息体和与所述消息体对应的消息认证码。

在本实施例另一种可能的实现,所述初始密钥中包括:读密钥和写密钥;

所述读密钥和写密钥中分别包括对称加密密钥值、随机向量和哈希运算消息认证码算法密钥。

在本实施例另一种可能的实现,所述处理器62,还用于:

根据待传输的数据类型,构造第一记录协议头;

对所述第一记录协议头和待传输的数据本体,进行哈希信息验证码运算,确定待传输数据的第一消息认证码;

利用更新后的密钥和加密函数,将所述待传输的数据本体和所述第一消息认证码进行加密处理后,传输给所述服务器。

在本实施例又一种可能的实现,所述处理器62,还用于:

接收所述服务器发送的数据报文;

根据所述数据报文中的第二记录协议头,确定所述数据报文中第二消息认证码的位置;

利用更新后的密钥和与服务器中加密函数对称的解密函数,对所述数据报文进行解密处理,以获取所述数据报文中包括的数据本体和第二消息认证码;

对所述第二记录协议头和所述数据本体,进行哈希信息验证码运算,确定第三消息认证码;

判断所述第二消息认证码与所述第三消息认证码是否一致,若一致,则将所述数据本体发送至所述车载终端中的应用层。

在本实施例又一种可能的实现形式中,所述处理器62,还用于:

接收所述服务器发送的连接关闭消息;

根据所述连接关闭消息,释放与消息接收关联的本地资源。

在本实施例再一种可能的实现形式中,所述处理器62,还用于:

所述车载终端判断本地是否有待传输的数据报文;

若无,则向所述服务器返回连接关闭响应消息,以使所述服务器关闭与所述车载终端之间的通信连接。

需要说明的是,前述对车联网安全通信方法实施例的解释说明也适用于该实施例的车载终端,此处不再赘述。

本申请实施例的车载终端,车载终端在确定于服务器建立了TCP连接后,即可基于预设的初始密钥和与服务器相同的对称加密算法,向服务器发送握手认证请求,然后在收到服务器返回的认证响应消息后,即可与服务器建立安全认证传输协议连接。由此,实现了在车载终端和服务器间建立轻量级的安全认证传输协议,利用较少的资源,提高了车载终端和服务器间数据传输的安全性。

图7是本申请一个实施例的服务器的结构示意图。

如图7所示,该服务器70,包括:存储器71和处理器72。

其中,存储器71用于存储程序代码;

所述处理器72用于调用所述存储器中的程序代码,以执行以下操作:

接收车载终端发送的握手认证请求,其中,所述握手认证请求中包括所述车载终端的标识及采用与所述服务器相同的对称加密算法加密的第一哈希值;

根据所述车载终端的标识,获取本地存储的与所述车载终端的标识对应的第二初始密钥;

采用与所述车载终端对称的解密算法,对所述握手认证请求进行解密,以确定所述握手认证请求中携带的第一初始密钥;

判断所述第一初始密钥与所述第二初始密钥是否一致;

若一致,则向所述车载终端返回认证响应消息。

需要说明的是,该服务器通过执行与上述车载终端交互的方法,以与车载终端建立轻量级的安全通信连接,从而保证数据传输的安全。

需要说明的是,前述对车联网安全通信方法实施例的解释说明也适用于该实施例的服务器,此处不再赘述。

本申请实施例的服务器,服务器在收到车载终端发送的握手认证请求后,根据车载终端的标识,获取与车载终端标识对应的第二初始密钥,然后采用与车载终端对称的解密算法,对握手认证请求进行解密,得到握手认证请求中的第一初始密钥,在确定第一初始密钥与第二密钥一致时,向车载终端返回认证响应消息。由此,实现了在车载终端和服务器间建立轻量级的安全认证传输协议,利用较少的资源,提高了车载终端和服务器间数据传输的安全性。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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