密钥管理方法、装置和系统与流程

文档序号:11158043阅读:457来源:国知局
密钥管理方法、装置和系统与制造工艺

本发明涉及计算机技术领域,尤其涉及一种密钥管理方法、装置和系统。



背景技术:

随着电子技术的发展,车载终端的功能越来越健全,在使用车辆的过程中,可通过车载终端接入互联网,并从互联网中获取所需要的信息,例如,用户可通过车载终端从互联网中获取导航路线,并可根据导航路线进行行驶。

为了保证车联网传输安全的需求,相关技术中,服务器为每个车载终端提供一个唯一的密钥,并在车载终端激活密钥时,如果监控到车载终端中的密钥与服务器中所保存的车载终端的密钥相匹配时,车载终端激活完成,并且,在车载终端使用过程中,车载终端中的密钥固定不变。然而,在车载终端与服务器进行通信的过程中,密钥固定不变,密钥容易被不法人员破解,车载终端与服务器之间的数据传输存在一定的安全隐患。



技术实现要素:

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

为此,本发明的第一个目的在于提出一种密钥管理方法。该方法在密钥激活过程中,实现了密钥更新,避免了初始密钥从生成到注入到车载终端这段时间内由于管理不善导致密钥泄露的可能,从而减小了初始密钥泄露带来的危害,提高了车联网传输的安全性。

本发明的第二个目的在于提出一种密钥管理装置。

本发明的第三个目的在于提出一种密钥管理系统。

为达上述目的,本发明第一方面实施例的密钥管理方法,所述方法包括接收车载终端发送的激活消息;获取与所述激活消息中第一密钥标识对应的第一密钥,并通过所述第一密钥对所述激活消息中的第一加密消息验证码进行解密;在解密后的消息验证码验证成功后,生成第二密钥,并为所述第二密钥关联所述第一密钥标识;获取所述激活消息中的车载终端标识,并保存所述车载终端标识、所述第二密钥和所述第一密钥标识的关联关系;向所述车载终端发送携带有所述第二密钥的激活完成消息,以使所述车载终端使用所述第二密钥替换自身的第一密钥。

根据本发明实施例的密钥管理方法,在服务器对车载终端的密钥激活的过程中,在验证激活消息中的消息验证码验证成功后,为车载终端生成第二密钥,并为第二密钥关联第一密钥标识,以及在服务器中保存车载终端标识、第二密钥标识和第二密钥的对应关系,并将第二密钥发送至车载终端,以使车载终端通过第二密钥更新第一密钥。由此,在密钥激活过程中,实现了密钥更新,避免了初始密钥从生成到注入到车载终端这段时间内由于管理不善导致密钥泄露的可能,从而减小了初始密钥泄露带来的危害,提高了车联网传输的安全性。

在本发明的一个实施例中,在所述接收车载终端发送的激活消息之前,所述方法还包括:

根据终端发送的密钥获取请求,生成所述第一密钥,并为所述第一密钥关联第一密钥标识;

向所述终端返回所述第一密钥和所述第一密钥标识,以使用户将所述终端中的所述第一密钥和所述第一密钥标识注入到所述车载终端中。

在本发明的一个实施例中,在生成第二密钥时,所述方法还包括:

删除服务器中的所述第一密钥。

在本发明的一个实施例中,在所述向所述车载终端返回激活完成消息之后,所述方法还包括:

接收所述车载终端发送的认证消息,其中,所述认证消息包括所述车载终端标识、当前随机数、当前密钥标识、第二加密消息验证码,所述第二加密消息是使用所述车载终端中的当前密钥对消息验证码进行加密所获得的;

基于预存的车载终端标识、密钥标识和密钥的关联关系,获取与所述车载终端标识和所述当前密钥标识对应的第三密钥,并通过所述第三密钥对所述第二加密消息验证码进行解密;

在解密后的消息验证码验证成功后,生成新随机向量;

根据所述第三密钥对所述当前随机数和所述新随机向量进行加密,并根据加密后的当前随机数和新随机向量生成认证响应消息;

向所述车载终端返回所述认证响应消息;

根据所述新随机向量对所述第三密钥中的随机向量进行更新。

在本发明的一个实施例中,所述方法还包括:

在每间隔预设时间,向所述车载终端发送携带加密的新密钥的密钥更新请求,以使所述车载终端根据所述新密钥更新自身中的当前密钥以及通过所述新密钥对更新应答消息进行加密并发送;

接收所述车载终端发送的加密的更新应答消息,并根据所述新密钥对加密的更新应答消息进行解密;

根据解密后的更新应答消息确定密钥更新是否成功,若成功,则控制通过所述新密钥与所述车载终端进行通信。

在本发明的一个实施例中,所述方法还包括:

保存所述车载终端对应的旧密钥和所述新密钥;

其中,所述方法还包括:

在接收到所述车载终端发送的握手报文的第一消息时,如果根据所述第一消息中的车载终端标识和当前密钥标识确定出与所述车载终端对应的密钥为所述新密钥和所述旧密钥,则控制通过所述新密钥对所述第一消息进行解密;

判断通过所述新密钥是否成功解密所述第一消息;

若判断出解密成功,则用所述新密钥覆盖所述旧密钥;

若判断出解密失败,则通过所述旧密钥对所述第一消息进行解密,如果通过所述旧密钥成功解密所述第一消息,则在再次更新密钥时覆盖所述新密钥,保留所述旧密钥,以保证与所述车载终端正常通信。

为达上述目的,本发明第二方面实施例的密钥管理装置,所述装置包括:第一接收模块,用于接收车载终端发送的激活消息;第一获取模块,用于获取与所述激活消息中第一密钥标识对应的第一密钥;第一解密模块,用于通过所述第一密钥对所述激活消息中的第一加密消息验证码进行解密;关联模块,用于在解密后的消息验证码验证成功后,生成第二密钥,并为所述第二密钥关联所述第一密钥标识;第一保存模块,用于获取所述激活消息中的车载终端标识,并保存所述车载终端标识、所述第二密钥和所述第一密钥标识的关联关系;第一发送模块,用于向所述车载终端发送携带有所述第二密钥的激活完成消息,以使所述车载终端使用所述第二密钥替换自身中的第一密钥。

根据本发明实施例的密钥管理装置,在服务器对车载终端的密钥激活的过程中,在验证激活消息中的消息验证码验证成功后,为车载终端生成第二密钥,并为第二密钥关联第一密钥标识,以及在服务器中保存车载终端标识、第二密钥标识和第二密钥的对应关系,并将第二密钥发送至车载终端,以使车载终端通过第二密钥更新第一密钥。由此,在密钥激活过程中,实现了密钥更新,避免了初始密钥从生成到注入到车载终端这段时间内由于管理不善导致密钥泄露的可能,从而减小了初始密钥泄露带来的危害,提高了车联网传输的安全性。

在本发明的一个实施例中,所述装置还包括:

预处理模块,用于根据终端发送的密钥获取请求,生成所述第一密钥,并为所述第一密钥关联第一密钥标识,以及向所述终端返回所述第一密钥和所述第一密钥标识,以使用户将所述终端中的所述第一密钥和所述第一密钥标识注入到所述车载终端中。

在本发明的一个实施例中,在生成第二密钥时,所述装置还包括:

删除模块,用于删除服务器中的所述第一密钥标识。

在本发明的一个实施例中,所述装置还包括:

第二接收模块,用于接收所述车载终端发送的认证消息,其中,所述认证消息包括所述车载终端标识、当前随机数、当前密钥标识、第二加密消息验证码,所述第二加密消息是使用所述车载终端中的当前密钥对消息验证码进行加密所获得的;

第二获取模块,用于基于预存的车载终端标识、密钥标识和密钥的关联关系,获取与所述车载终端标识和所述当前密钥标识对应的第三密钥;

第二解密模块,用于通过所述第三密钥对所述第二加密消息验证码进行解密;

第一生成模块,用于在解密后的消息验证码验证成功后,生成新随机向量;

第二生成模块,用于根据所述第三密钥对所述当前随机数和所述新随机向量进行加密,并根据加密后的当前随机数和新随机向量生成认证响应消息;

第二发送模块,用于向所述车载终端返回所述认证响应消息;

更新模块,用于根据所述新随机向量对所述第三密钥中的随机向量进行更新。

在本发明的一个实施例中,所述装置还包括:

第三发送模块,用于在每间隔预设时间,向所述车载终端发送携带加密的新密钥的密钥更新请求,以使所述车载终端根据所述新密钥更新自身中的当前密钥以及通过所述新密钥对更新应答消息进行加密并发送;

第三接收模块,用于接收所述车载终端发送的加密的更新应答消息;

第三解密模块,用于根据所述新密钥对加密的更新应答消息进行解密;

第一判断模块,用于根据解密后的更新应答消息确定密钥更新是否成功;

第一控制模块,用于在确定密钥更新成功时,控制通过所述新密钥与所述车载终端进行通信。

在本发明的一个实施例中,所述装置还包括:

第二保存模块,用于保存所述车载终端对应的旧密钥和所述新密钥;

其中,所述装置还包括:

第二控制模块,用于在接收到所述车载终端发送的握手报文的第一消息时,如果根据所述第一消息中的车载终端标识和当前密钥标识确定出与所述车载终端对应的密钥为所述新密钥和所述旧密钥,则控制通过所述新密钥对所述第一消息进行解密;

第二判断模块,用于判断通过所述新密钥是否成功解密所述第一消息;

覆盖模块,用于在判断出解密成功时,用所述新密钥覆盖所述旧密钥;

处理模块,用于在判断出解密失败时,通过所述旧密钥对所述第一消息进行解密,如果通过所述旧密钥成功解密所述第一消息,则在再次更新密钥时覆盖所述新密钥,保留所述旧密钥,以保证与所述车载终端正常通信。

为达上述目的,本发明第三方面实施例的密钥管理系统,包括服务器和至少一个车载终端,其中:所述服务器,用于接收所述车载终端发送的激活消息,并获取与所述激活消息中第一密钥标识对应的第一密钥,通过所述第一密钥对所述激活消息中的第一加密消息验证码进行解密,以及在解密后的消息验证码验证成功后,生成第二密钥,并为所述第二密钥关联所述第一密钥标识,以及获取所述激活消息中的车载终端标识,并保存所述车载终端标识、所述第二密钥和所述第一密钥标识的关联关系,并向所述车载终端发送携带有所述第二密钥的激活完成消息;所述车载终端,用于向所述服务器发送所述激活消息,并接收所述服务器发送的所述激活完成消息,并根据所述激活完成消息中的所述第二密钥替换自身的第一密钥。

根据本发明实施例的密钥管理系统,在服务器对车载终端的密钥激活的过程中,在验证激活消息中的消息验证码验证成功后,为车载终端生成第二密钥,并为第二密钥关联第一密钥标识,以及在服务器中保存车载终端标识、第二密钥标识和第二密钥的对应关系,并将第二密钥发送至车载终端,以使车载终端通过第二密钥更新第一密钥。由此,在密钥激活过程中,实现了密钥更新,避免了初始密钥从生成到注入到车载终端这段时间内由于管理不善导致密钥泄露的可能,从而减小了初始密钥泄露带来的危害,提高了车联网传输的安全性。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

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

图1是根据本发明一个实施例的密钥管理方法的流程图;

图2是车载终端、终端和服务器之间的交互示意图;

图3是根据本发明另一个实施例的密钥管理方法的流程图;

图4是车载终端与服务器之间数据交互的交互示意图;

图5是根据本发明又一个实施例的密钥管理方法的流程图;

图6是根据本发明再一个实施例的密钥管理方法的流程图;

图7是根据本发明一个实施例的密钥管理装置的结构框图;

图8是根据本发明另一个实施例的密钥管理装置的结构框图;

图9是根据本发明又一个实施例的密钥管理装置的结构框图;

图10是根据本发明再一个实施例的密钥管理装置的结构框图;

图11是根据本发明另一个实施例的密钥管理装置的结构框图;

图12是根据本发明又一个实施例的密钥管理装置的结构框图;

图13是根据本发明一个实施例的密钥管理系统的结构框图;

图14是根据本发明另一个实施例的密钥管理装置的结构框图。

具体实施方式

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

下面参考附图描述本发明实施例的密钥管理方法、装置以及密钥管理系统。

图1是根据本发明一个实施例的密钥管理方法的流程图。需要说明的是,本发明实施例的密钥管理方法应用于服务器中。如图1所示,该密钥管理方法可以包括以下步骤:

S11,接收车载终端发送的激活消息。

其中,激活消息可以包括但不限于车载终端标识、当前密钥标识、第一加密消息验证码,第一加密消息是使用车载终端中的当前密钥对消息验证码(MAC,Message Authentication Code)进行加密所获得的。

其中,车载终端标识是车载终端的唯一标识,车载终端标识的作用是用于区分位于不同车载终端上的密钥,车载终端标识是一个48字节的字符串。

其中,密钥标识是密钥的唯一标识,不同密钥所对应的密钥标识不同。密钥标识是一个32bit的整数,密钥标识从0开始递增,每次生成密钥时密钥标识递增1,密钥标识的最大值为2^32–1。由此,可以看出,该实施例的密钥标识的范围很大(0至2^32–1),密钥标识循环周期很长,因此,在生成密钥时无需搜索密钥标识空间中的“空洞”(已激活密钥会被移除,但未激活密钥还会保留。已激活密钥的密钥标识是可用的,未激活密钥的密钥标识是不可用的,这就会导致密钥标识可用空间存在很多“空洞”),从而可提高密钥生成的效率和稳定性。

其中,需要说明的是,该实施例中所指的密钥是一个连续的数据块,密钥分为读密钥和写密钥两部分,每个部分又分为对称加密密钥、随机向量和HMAC(Hash-based Message Authentication Code,哈希消息认证码)密钥三个部分。

其中,每一端的读方向和写方向的密钥是不相同的,但本端的读密钥与对端的写密钥相同,本端的写密钥与对端的读密钥相同。也就是说,该实施例的车载终端中的读方向所使用的密钥与服务器中写方向所使用的密钥相同,车载终端中的写方向所使用的密钥与服务器中的读方向所使用的密钥相同。由此,通过读方向和写方向使用不同的密钥,可以使得协议抗统计分析攻击的能力更强,从而提高了安全性。

具体地,在使用车载终端的过程中,在车载终端使用安全认证传输协议(SATL,Security Authentication and Transportation Layer)与服务器进行通信之前,在服务器和车载终端中均需要一个密钥。因此,在车载终端与服务器进行通信之前,可在车载终端中预先注入一个初始密钥。

其中,安全认证传输协议SATL是基于对称加密算法构建的轻量级安全传输协议,运行于TCP之上。

其中,SATL的主要特点是:(1)认证和数据加解密都使用对称加密算法,资源消耗低;(2)密钥完全随机产生,并使用安全的方式进行分配;(3)拥有完善的密钥更新机制;(4)使用双向身份认证,增强了安全性。

具体地,生产者通过终端向服务器发送密钥获取请求。对应地,服务器接收到密钥获取请求后,通过密钥生成算法生成第一密钥,并为第一密钥关联第一密钥标识,并向终端返回第一密钥和第一密钥标识。终端在接收到服务器返回的第一密钥和第一密钥标识。然后,生成者将第一密钥和第一密钥标识注入到车载终端中。

其中,终端可以例如是个人计算机(PC,personal computer)、平板电脑、手机等具有各种操作系统的硬件设备。

其中,需要理解的是,生成者可通过终端中的用于专门获取密钥的软件向服务器发送密钥获取请求,也可以通过终端中的任意浏览器访问服务器,并通过HTTPS通道(Hyper Text Transfer Protocol over Secure Socket Layer)向服务器发送密钥获取请求,还可以通过其他方式,该实施例对此不作限定。

下面结合图2对初始密钥的注入过程以及向服务器发送激活消息的过程进行描述。

具体地,生产者通过终端中的浏览器访问服务器,并通过HTTPS通道(Hyper Text Transfer Protocol over Secure Socket Layer,安全套接字层上的超文本传输协议)向服务器发送密钥获取请求。对应地,服务器在接收到终端发送的密钥获取请求后,服务器的密钥生成模块生成第一密钥,并为第一密钥关联第一密钥标识,并保存第一密钥与第一密钥标识之间的对应关系。然后,服务器通过HTTPS将第一密钥和第一密钥标识返回至终端,即,也就是说,生产者可通过终端的浏览器下载第一密钥和第一密钥标识。

在终端获取到第一密钥和第一密钥标识后,生产者将终端所获取到的第一密钥和第一密钥标识注入到车载终端中。

其中,在车载终端中注入第一密钥和第一密钥标识后,在车载终端第一次与服务器通信时,车载终端可通过3G或者4G或者GPRS方式向服务器发送激活消息,服务器接收车载终端的激活消息,以根据激活消息对车载终端的密钥进行更新。

其中,需要说明的是,图2中的基站用于将车载终端发送的激活消息转发至服务中。

S12,获取与激活消息中第一密钥标识对应的第一密钥,并通过第一密钥对激活消息中的第一加密消息验证码进行解密。

S13,在解密后的消息验证码验证成功后,生成第二密钥,并为第二密钥关联第一密钥标识。

也就是说,第二密钥和第一密钥所使用的密钥标识相同。

在本发明的一个实施例中,为了提高数据交互的安全性,且减少密钥所占的存储空间,在激活过程中,在服务器生成第二密钥后,删除服务器中的第一密钥。

也就是说,在服务器生成新密钥后,服务器将自身中所保存的车载终端的初始密钥删除。

其中,需要理解的是,服务器还为未激活的密钥设置有效期,在未被激活的密钥在达到有效期后,该未被激活的密钥将被删除。

另外,需要说明的是,在车载终端使用过期的密钥进行激活验证时,服务器还可向车载终端返回激活失败提示信息,以使用户重新为车载终端注入新的密钥。

S14,获取激活消息中的车载终端标识,并保存车载终端标识、第二密钥和第一密钥标识的关联关系。

在本发明的实施例中,在服务器为第二密钥关联第一密钥标识后,为了后续可通过车载终端标识和密钥标识建立SATL连接,服务器在为第二密钥关联第一密钥标识时,服务器还从激活消息中获取车载终端的车载终端标识,并在服务器中保存车载终端标识、第二密钥和第一密钥标识的对应关系。由此,可以看出,该实施例在下载初始密钥时无需提供车载终端标识和密钥标识信息,在密钥激活过程中,建立车载标识、密钥标识以及密钥之间的绑定关系,故在生产时不需要预先提供车载终端的车载终端标识和密钥标识信息,减小了管理成本。

S15,向车载终端发送携带有第二密钥的激活完成消息,以使车载终端使用第二密钥替换自身的第一密钥。

具体地,服务器在生成第二密钥后,为了保证数据传输安全的需求,服务器可通过第一密钥对第二密钥标识和第二密钥进行加密,并将加密后的激活完成消息返回车载终端,车载终端通过自身中的第一密钥对激活完成消息进行解密,并使用第二密钥替换自身中的第一密钥。

也就是说,在车载终端激活密钥的过程中,服务器生成新密钥,并通过新密钥更新车载终端中的初始密钥,由此,激活过程中实现了密钥更新,避免了初始密钥从生成到注入到车载终端这段时间内由于管理不善导致密钥泄露的可能,从而减小了初始密钥泄露带来的危害,提高了车联网传输的安全性。

综上可以看出,该实施例的密钥管理方法,在服务器对车载终端的密钥激活的过程中,在验证激活消息中的消息验证码验证成功后,为车载终端生成第二密钥,并为第二密钥关联第一密钥标识,以及在服务器中保存车载终端标识、第二密钥标识和第二密钥的对应关系,并将第二密钥发送至车载终端,以使车载终端通过第二密钥更新第一密钥。由此,在密钥激活过程中,实现了密钥更新,避免了初始密钥从生成到注入到车载终端这段时间内由于管理不善导致密钥泄露的可能,从而减小了初始密钥泄露带来的危害,提高了车联网传输的安全性。

其中,需要理解的是,该实施例支持在同一个车载终端上同时建立N个SATL连接,若建立N个连接,则需向车载终端注入N份密钥。并且,服务器在进行密钥匹配过程中,是通过车载终端标识和密钥标识进行密钥匹配,这N个密钥所对应的车载终端标识相同,但密钥标识不同,因此,服务器可以顺利实现密钥匹配和安全通信。

基于上述实施例的基础上,如图3所示,在向车载终端返回激活完成消息之后,该方法还可以包括:

S31,接收车载终端发送的认证消息。

其中,认证消息可以包括但不限于车载终端标识、当前随机数、当前密钥标识、第二加密消息验证码,第二加密消息是使用车载终端中的当前密钥对消息验证码进行加密所获得的。

具体地,在车载终端每次建立SATL连接时,车载终端生成当前随机数,并根据自身中的当前密钥对第二加密消息验证码和当前随机数进行加密,并向服务器发送认证消息。

其中,需要理解的是,认证消息中的车载终端标识和当前密钥标识是以明文形式发送的。

S32,基于预存的车载终端标识、密钥标识和密钥的关联关系,获取与车载终端标识和当前密钥标识对应的第三密钥,并通过第三密钥对第二加密消息验证码进行解密。

S33,在解密后的消息验证码验证成功后,生成新随机向量。

S34,根据第三密钥对当前随机数和新随机向量进行加密,并根据加密后的当前随机数和新随机向量生成认证响应消息。

S35,向车载终端返回认证响应消息。

具体地,车载终端接收服务器返回的认证响应消息,并通过车载终端的当前密钥对认证响应消息进行解密,并在判断出认证响应消息中的随机数与自身中的当前随机数一致时,利用新随机向量更新当前密钥的随机向量。

其中,需要理解的是,在车载终端与服务器建立SATL连接后,车载终端在向服务器传输数据过程中,通过当前密钥中的对称加密密钥和随机向量对数据进行加密,并使用HMAC密钥计算MAC。

S36,根据新随机向量对第三密钥中的随机向量进行更新。

该实施例通过对第三密钥中的随机向量的更新,实现了对密钥的部分更新,进一步提高了车联网传输的安全性。

其中,需要说明的是,步骤S35和步骤S36的执行顺序不分先后。

举例而言,下面结合图4对车载终端与服务器之间的交互过程进行描述,在车载终端与服务器进行数据交互的过程中,假设车载终端中的密钥K,密钥K由写密钥KAW和读密钥KAR组成,其中,写密钥KAW由对称密钥A0,随机向量V0,HMAC密钥H0组成;读密钥KAR由对称密钥A1,随机向量V1,HMAC密钥H1组成。服务器中的密钥K2由写密钥KSW和读密钥KSR,其中,写密钥KSW由对称密钥A1,随机向量V1,HMAC密钥H1组成;读密钥KSR由对称密钥A0,随机向量V0,HMAC密钥H0组成,即,KAW与KSR相同,KAR与KSW相同。具体地,车载终端在向服务器发送第一个握手报文,如果服务器验证车载终端发送的第一个握手报文合法,则服务器根据现有技术生成一个随机向量VN,其中,随机向量VN由随机向量V3和随机向量V4构成,服务器将随机向量VN通过第二个握手报文发送给车载终端。

在将随机向量VN通过第二个握手报文发送给车载终端后,服务器通过随机向量VN对服务器的密钥K2进行更新,具体地,将写密钥KSW中的随机向量V1替换为随机向量V3,将读密钥KSR中的随机相同V0替换为随机向量V4。

对于车载终端而言,车载终端在接收到第二个握手报文,并验证验证随机数合法后,车载终端将用随机向量VN更新写密钥KAW和读密钥KAR,将写密钥KAW中的随机向量V0替换为随机向量V4,将读密钥KAR中的随机向量V1替换为随机向量V3,其余不变。然后用更新后的KAW发送第三个握手报文。

综上可以看出,该实施例的密钥管理方法,在认证过程中,服务器对密钥中的随机向量进行更新,实现了对密钥的部分更新,更新了随机向量的密钥用于下次通信,相当于每次车载终端与服务器建立连接均使用不同的密钥进行认证。

基于上述实施例的基础上,如图5所示,该方法还可以包括:

S51,在每间隔预设时间,向车载终端发送携带加密的新密钥的密钥更新请求,以使车载终端根据新密钥更新自身中的当前密钥以及通过新密钥对更新应答消息进行加密并发送。

具体地,为了防止在TCP长连接中密钥长期无法更新导致其安全性下降的问题,除了在认证过程中对密钥中的随机向量进行更新外,服务器还设置对密钥进行定时更新,具体而言,服务器中预先设置了每间隔预设时间对整个密钥进行更新,并在监控到达到密钥更新时间时,服务器生成通过现有算法生成新密钥,并通过车载终端与服务器当前通信所使用的当前密钥对新密钥进行加密,并向车载终端发送携带加密的新密钥的密钥更新请求。

对应地,车载终端在接收到服务器发送的密钥更新请求时,车载终端通过自身中的当前密钥对密钥更新请求进行解密,并将车载终端的当前密钥更新为新密钥,并生成更新应答消息,以及通过新密钥对更新应答消息进行加密,并将加密后的更新应答消息发送至服务器。

S52,接收车载终端发送的加密的更新应答消息,并根据新密钥对加密的更新应答消息进行解密。

S53,根据解密后的更新应答消息确定密钥更新是否成功,若成功,则控制通过新密钥与车载终端进行通信。

具体地,服务器在接收到终端发送的已加密的更新应答消息后,通过新密钥对已加密的更新应答消息进行解密,并在验证出更新应答消息正确时,后续控制服务器通过新密钥与车载终端进行通信。

通常在服务器更新车载终端密钥的过程中,可能由于通信链路的问题而无法成功,为了在密钥更新失败的情况下也能保证车载终端与服务器之间的下次通信正常,服务器对密钥实现了更新容错管理,更新容错的具体过程,如图6所示,可以包括:

S61,保存车载终端对应的旧密钥和新密钥。

具体而言,为了保证车载终端的密钥更新失败后,车载终端与服务器下次能正常通信,在服务器生成新密钥后,服务器将旧密钥和新密钥进行保存。

其中,新密钥和旧密钥所对应的密钥标识相同。

其中,需要理解的是,由于新密钥和旧密钥对应的密钥标识相同,为了区分两个密钥,服务器可通过预设标识对新密钥进行标识,以方便后续根据该预设标识区分那个密钥是新密钥,那个是旧密钥。

S62,在接收到车载终端发送的握手报文的第一消息时,如果根据车载终端标识确定出与车载终端对应的密钥为新密钥和旧密钥,则控制通过新密钥对第一消息进行解密。

其中,握手报文的第一消息中包含车载终端的当前密钥标识和车载终端标识。

具体地,服务器接收到车载终端发送的握手报文的第一消息后,服务器根据预先保存的密钥标识、密钥和车载终端标识的对应关系,确定与车载终端标识和当前密钥标识对应的密钥,如果确定与车载终端对应的密钥为新密钥和旧密钥,则服务器控制通过新密钥对第一消息进行解密。

S63,判断通过新密钥是否成功解密第一消息。

S64,若判断出通过新密钥解密成功,则用新密钥覆盖旧密钥。

S65,若判断出通过新密钥解密失败,则通过旧密钥对第一消息进行解密,如果通过旧密钥成功解密第一消息,则在再次更新密钥时覆盖新密钥,保留旧密钥,以保证与车载终端正常通信。

综上可以看出,该实施例的密钥管理方法,在服务器监控到车载终端的密钥更新失败时,通过在服务器中同时保存旧密钥和新密钥,从而保证了在密钥更新失败的情况下也能够保证下次通信正常,提高了车联网传输的可靠性。

与上述几种实施例提供的密钥管理方法相对应,本发明的一种实施例还提供一种密钥管理装置,由于本发明实施例提供的密钥管理装置与上述几种实施例提供的密钥管理方法相对应,因此在前述密钥管理方法的实施方式也适用于本实施例提供的密钥管理装置,在本实施例中不再详细描述。

图7是根据本发明一个实施例的密钥管理装置的结构框图。其中,该密钥管理装置位于服务器中,如图7所示,该密钥管理装置可以包括第一接收模块111、第一获取模块112、第一解密模块113、关联模块114、第一保存模块115和第一发送模块116,其中:

第一接收模块111用于接收车载终端发送的激活消息。

第一获取模块112用于获取与激活消息中第一密钥标识对应的第一密钥。

第一解密模块113用于通过第一密钥对激活消息中的第一加密消息验证码进行解密。

关联模块114用于在解密后的消息验证码验证成功后,生成第二密钥,并为第二密钥关联第一密钥标识。

第一保存模块115用于获取激活消息中的车载终端标识,并保存车载终端标识、第二密钥和第一密钥标识的关联关系。

第一发送模块116用于向车载终端发送携带有第二密钥标识和第二密钥的激活完成消息,以使车载终端使用第二密钥替换自身中的第一密钥。

根据本发明实施例的密钥管理装置,在服务器对车载终端的密钥激活的过程中,在验证激活消息中的消息验证码验证成功后,为车载终端生成第二密钥,并为第二密钥关联第一密钥标识,以及在服务器中保存车载终端标识、第二密钥标识和第二密钥的对应关系,并将第二密钥发送至车载终端,以使车载终端通过第二密钥更新第一密钥。由此,在密钥激活过程中,实现了密钥更新,避免了初始密钥从生成到注入到车载终端这段时间内由于管理不善导致密钥泄露的可能,从而减小了初始密钥泄露带来的危害,提高了车联网传输的安全性。

在本发明的一个实施例中,基于图7所示的基础上,如图8所示,该装置还可以包括预处理模块117,该预处理模块117用于根据终端发送的密钥获取请求,生成第一密钥,并为第一密钥关联第一密钥标识,以及向终端返回第一密钥和第一密钥标识,以使用户将终端中的第一密钥和第一密钥标识注入到车载终端中。

在本发明的一个实施例中,为了减少密钥所占的存储空间,在图7所示的基础上,如图9所示,该装置还包括删除模块118,该删除模块118用于生成第二密钥时,删除服务器中的第一密钥和第一密钥标识。

其中,需要说明的是,上述图9所示的装置实施例中的删除模块118的结构也可以包含在前述图8的装置实施例中,对此本发明不作限定。

在本发明的一个实施例中,为了提高车联网传输的安全性,在图7所示的基础上,如图10所示,该装置还可以包括第二接收模块119、第二获取模块120、第二解密模块121、第一生成模块122、第二生成模块123、第二发送模块124和更新模块125,其中:

第二接收模块119用于接收车载终端发送的认证消息,其中,认证消息包括车载终端标识、当前随机数、当前密钥标识、第二加密消息验证码,第二加密消息是使用车载终端中的当前密钥对消息验证码进行加密所获得的。

第二获取模块120用于基于预存的车载终端标识、密钥标识和密钥的关联关系,获取与车载终端标识和当前密钥标识对应的第三密钥。

第二解密模块121用于通过第三密钥对第二加密消息验证码进行解密。

第一生成模块122用于在解密后的消息验证码验证成功后,生成新随机向量。

第二生成模块123用于根据第三密钥对当前随机数和新随机向量进行加密,并根据加密后的当前随机数和新随机向量生成认证响应消息。

第二发送模块124用于向车载终端返回认证响应消息。

更新模块125用于根据新随机向量对第三密钥中的随机向量进行更新。

其中,需要说明的是,上述图10所示的装置实施例中的第二接收模块119、第二获取模块120、第二解密模块121、第一生成模块122、第二生成模块123、第二发送模块124和更新模块125的结构也可以包含在前述图8和图9的装置实施例中,对此本发明不作限定。

在本发明的一个实施例中,为了防止在TCP长连接中密钥长期无法更新导致其安全性下降的问题,除了在认证过程中对密钥中的随机向量进行更新外,还可以对密钥进行定时更新,如图7所示的基础上,如图11所示,该装置还可以包括第三发送模块126、第三接收模块127、第三解密模块128、第一判断模块129和第一控制模块130,其中:

第三发送模块126用于在每间隔预设时间,向车载终端发送携带加密的新密钥的密钥更新请求,以使车载终端根据新密钥更新自身中的当前密钥以及通过新密钥对更新应答消息进行加密并发送。

第三接收模块127用于接收车载终端发送的加密的更新应答消息。

第三解密模块128用于根据新密钥对加密的更新应答消息进行解密。

第一判断模块129用于根据解密后的更新应答消息确定密钥更新是否成功。

第一控制模块130用于在确定密钥更新成功时,控制通过新密钥与车载终端进行通信。

其中,需要说明的是,上述图11所示的装置实施例中的第三发送模块126、第三接收模块127、第三解密模块128、第一判断模块129和第一控制模块130的结构也可以包含在前述图8和图9的装置实施例中,对此本发明不作限定。

在本发明的一个实施例中,为了保证在密钥更新失败的情况下也能够保证下次通信正常,提高车联网传输的可靠性,如图11所示的基础上,如图12所示,该装置还可以包括第二保存模块131、第二控制模块132、第二判断模块133、覆盖模块134和处理模块135,其中:

第二保存模块131用于保存车载终端对应的旧密钥和新密钥。

第二控制模块132用于在接收到车载终端发送的握手报文的第一消息时,如果根据第一消息中的车载终端标识和当前密钥标识确定出与车载终端对应的密钥为新密钥和旧密钥,则控制通过新密钥对第一消息进行解密。

第二判断模块133用于判断通过新密钥是否成功解密第一消息。

覆盖模块134用于在判断出解密成功时,用新密钥覆盖旧密钥。

处理模块135用于在判断出解密失败时,通过旧密钥对第一消息进行解密,如果通过旧密钥成功解密第一消息,则在再次更新密钥时覆盖新密钥,保留旧密钥,以保证与车载终端正常通信。

综上可以看出,该实施例的密钥管理装置,在监控到车载终端的密钥更新失败时,通过保存模块同时保存旧密钥和新密钥,从而保证了在密钥更新失败的情况下也能够保证下次通信正常,提高了车联网传输的可靠性。

为了实现上述实施例,本发明还提出了一种密钥管理系统。

图13是根据本发明一个实施例的密钥管理系统的结构框图。

如图13所示,该密钥管理系统包括服务器10和至少一个车载终端20,其中:

服务器10用于接收车载终端20发送的激活消息,并获取与激活消息中第一密钥标识对应的第一密钥,通过第一密钥对激活消息中的第一加密消息验证码进行解密,以及在解密后的消息验证码验证成功后,生成第二密钥,并为第二密钥关联第一密钥标识,以及获取激活消息中的车载终端标识,并保存车载终端标识、第二密钥和第一密钥标识的关联关系,并向车载终端20发送携带有第二密钥的激活完成消息。

车载终端20用于向服务器10发送激活消息,并接收服务器10发送的激活完成消息,并根据激活完成消息中的第二密钥替换自身的第一密钥。

在本发明的一个实施中,在图13所示的基础上,如图14所示,该系统还包括终端30其中,

服务器10还用于根据终端30发送的密钥获取请求,生成第一密钥,并为第一密钥关联第一密钥标识,以及向终端30返回第一密钥和第一密钥标识。

终端30用于向服务器10发送密钥获取请求,并接收服务器10发送的第一密钥和第一密钥标识,并根据用户的操作将第一密钥和第一密钥标识注入到车载终端20中。

在本发明的一个实施例中,为了减少密钥所占的存储空间,在生成第二密钥时,服务器10还用于删除自身中的第一密钥。

在本发明的一个实施例中,为了提高车联网传输的安全性,服务器10还用于接收车载终端20发送的认证消息,其中,认证消息包括车载终端标识、当前随机数、当前密钥标识、第二加密消息验证码,第二加密消息是使用车载终端20中的当前密钥对消息验证码进行加密所获得的。服务器10基于预存的车载终端标识、密钥标识和密钥的关联关系,获取与车载终端标识和当前密钥标识对应的第三密钥,以及通过第三密钥对第二加密消息验证码进行解密,在解密后的消息验证码验证成功后,生成新随机向量,并根据第三密钥对当前随机数和新随机向量进行加密,并根据加密后的当前随机数和新随机向量生成认证响应消息,向车载终端20返回认证响应消息,以及根据新随机向量对第三密钥中的随机向量进行更新。

其中,车载终端20还用于向服务器10发送认证消息,以及接收服务器10发送的认证响应消息,并在验证到认证响应消息中的随机数与移动终端20中的当前随机数一致时,利用新随机向量替换当前密钥的随机向量。

在本发明的一个实施例中,为了防止在TCP长连接中密钥长期无法更新导致其安全性下降的问题,除了在认证过程中对密钥中的随机向量进行更新外,还可以对密钥进行定时更新,其中:

服务器10还用于在每间隔预设时间,向车载终端20发送携带加密的新密钥的密钥更新请求,并接收车载终端20发送的加密的更新应答消息,以根据新密钥对加密的更新应答消息进行解密,并根据解密后的更新应答消息确定密钥更新是否成功,以及在确定密钥更新成功时,控制通过新密钥与车载终端20进行通信。

车载终端20还用于接收服务器10发送的密钥更新请求,并根据新密钥更新自身中的当前密钥以及通过新密钥对更新应答消息进行加密并发送。

在本发明的一个实施例中,服务器10还用于:保存车载终端20对应的旧密钥和新密钥,并在接收到车载终端20发送的握手报文的第一消息时,如果根据第一消息中的车载终端标识和当前密钥标识确定出与车载终端20对应的密钥为新密钥和旧密钥,则控制通过新密钥对第一消息进行解密。判断通过新密钥是否成功解密第一消息。若判断出解密成功,则用新密钥覆盖旧密钥。若判断出解密失败,则通过旧密钥对第一消息进行解密,如果通过旧密钥成功解密第一消息,则在再次更新密钥时覆盖新密钥,保留旧密钥,以保证与车载终端20正常通信。

根据本发明实施例的密钥管理系统,在服务器对车载终端的密钥激活的过程中,在验证激活消息中的消息验证码验证成功后,为车载终端生成第二密钥,并为第二密钥关联第一密钥标识,以及在服务器中保存车载终端标识、第二密钥标识和第二密钥的对应关系,并将第二密钥发送至车载终端,以使车载终端通过第二密钥更新第一密钥。由此,在密钥激活过程中,实现了密钥更新,避免了初始密钥从生成到注入到车载终端这段时间内由于管理不善导致密钥泄露的可能,从而减小了初始密钥泄露带来的危害,提高了车联网传输的安全性。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

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

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

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

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

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