掌桥专利:专业的专利平台
掌桥专利
首页

一种公共密钥的传输方法及诊断报文的传输方法

文献发布时间:2024-04-18 20:00:25


一种公共密钥的传输方法及诊断报文的传输方法

技术领域

本申请涉及通信技术领域,特别是指一种公共密钥的传输方法及诊断报文的传输方法。

背景技术

随着用户对互联网越来越依赖,互联网中的信息安全也显得尤为重要。在列车运行网络中,分布着众多交换机设备和终端设备,交换机设备和终端设备之间通过传输报文以实现通讯。

如图1所示,switch-1、switch-2、switch-3是三台交换机设备,它们通过TRDP协议,向网络中的终端设备发送列车的报文,该报文的格式是由客户公司定制,用于携带本交换机设备的运行状态信息,运行状态信息一般包括生命信号、设备名、厂家标识、环网状态、端口流量统计等信息。该报文在使能功能后,定期向设定的组播地址进行发送,终端设备接收到该报文后,进行相应的处理。

如果非法终端设备接入到列车运行网络中,都可能接收到该报文,且由于报文内容是明文(如图2所示),很容易就被解析出来,不仅泄露了列车的运行状态信息,还可能发生报文被盗取或篡改等问题,安全性较低。

发明内容

鉴于现有技术的以上问题,本申请提供了一种公共密钥的传输方法、诊断报文的传输方法、计算设备及存储介质,以解决在交换机设备和终端设备传送诊断报文时容易被非法终端盗取或篡改的问题,提高诊断报文传输的安全性。

为达到上述目的,本申请第一方面提供了一种公共密钥的传输方法,应用于交换机设备端,所述交换机设备上存储有用于非对称加密的第一密钥对、用于对称加密的公共密钥,所述第一密钥对包括第一私钥和第一公钥;所述方法包括:

接收终端设备发送的第一密钥协商报文,响应所述第一密钥协商报文向所述终端设备发送第二密钥协商报文,所述第二密钥协商报文包括所述第一公钥;

接收所述终端设备发送的第三密钥协商报文,使用所述第一私钥解密所述第三密钥协商报文中的使用所述第一公钥加密的第二公钥,所述第二公钥是所述终端设备存储的用于非对称加密的第二密钥对中的第二公钥;

向所述终端设备发送第四密钥协商报文,所述第四密钥协商报文中包括使用所述第二公钥加密的所述公共密钥。

由上,本申请提出了一种公共密钥的传输方法,在交换机设备和终端设备传输诊断报文时,先进行密钥交换阶段,再进行诊断报文传输阶段,整个阶段结合了对称加密和非对称加密的方式,具体地,在密钥交换阶段采用非对称加密,在诊断报文传输阶段采用对称加密,使得只有获取了公共密钥的终端设备才能对诊断报文内容进行解码,因此,既保护了公共密钥的安全性,也提高了诊断报文的加密效率,同时,还防止交换机设备和终端设备之间传输诊断报文时被非法终端盗取或篡改的问题。

作为第一方面的一种可能的实现方式,所述交换机设备还存储有用户信息列表,所述方法还包括:

使用所述第一私钥解密所述第三密钥协商报文中的使用所述第一公钥加密的用户名,并基于所述用户信息列表中的用户名对来自所述终端设备的用户名进行认证。

由上,通过对比交换机设备发送的第一公钥和本地公钥存储库是否一致,来判断该交换机设备是否为可信任的通讯设备,实现对交换机设备的合法性进行了验证,能有效地防止黑客对终端设备的攻击,提高密钥交换过程的安全性。

作为第一方面的一种可能的实现方式,所述方法还包括:

向所述终端设备发送第四密钥协商报文,所述第四密钥协商报文包括使用所述第二公钥加密的所述用户名,以用于所述终端设备基于发送的所述用户名对来自所述交换机设备回复的用户名进行验证。

由上,不仅交换机设备需要验证来自终端设备的用户名的安全性,同时,终端设备也需验证来自交换机设备回复的用户名的安全性,实现双向验证,进一步地提高了密钥交换过程的安全性。

作为第一方面的一种可能的实现方式,所述方法还包括:

接收所述终端设备发送的第五密钥协商报文,使用所述第一私钥解密所述第五密钥协商报文中的使用所述第一公钥加密的所述用户名对应的用户密码,并基于所述用户信息列表中的用户名对应的密码对来自所述终端设备的所述用户密码进行认证。

由上,在验证完交换机设备和终端设备的用户名一致后,再验证密码是否一致,也即,通过用户名和用户密码的双重验证,避免了用户名和用户密码单一验证可能造成的冒领,更进一步地提高密钥交换过程的安全性,有利于后续交换机设备和终端设备之间能够安全地传输诊断报文。

为达到上述目的,本申请第二方面提供了一种公共密钥的传输方法,应用于终端设备端,所述终端设备上存储有用于非对称加密的第二密钥对,所述第二密钥对包括第二私钥和第二公钥;所述方法包括:

向所述交换机设备发送第一密钥协商报文;

接收所述交换机设备响应所述第一密钥协商报文发送的第二密钥协商报文,所述第二密钥协商报文包括所述第一公钥,所述第一公钥是所述交换机设备上存储有用于非对称加密的第一密钥对中的第一公钥;

向所述交换机设备发送第三密钥协商报文,所述第三密钥协商报文中包括使用所述第一公钥加密的所述第二公钥;

接收所述交换机设备发送第四密钥协商报文,使用所述第二私钥解密所述第四密钥协商报文中的使用第二公钥加密的公共密钥。

由上,本申请提出了一种公共密钥的传输方法,在交换机设备和终端设备传输诊断报文时,先进行密钥交换阶段,再进行诊断报文传输阶段,整个阶段结合了对称加密和非对称加密的方式,具体地,在密钥交换阶段采用非对称加密,在诊断报文传输阶段采用对称加密,使得只有获取了公共密钥的终端设备才能对诊断报文内容进行解码,因此,既保护了公共密钥的安全性,也提高了诊断报文的加密效率,同时,还防止交换机设备和终端设备之间传输诊断报文时被非法终端盗取或篡改的问题。

作为第二方面的一种可能的实现方式,所述终端设备上存储有用于验证所述公共密钥安全性的本地公钥存储库,所述方法还包括:

接收所述交换机设备发送的所述第二密钥协商报文,所述第二密钥协商报文包括所述第一公钥,基于所述本地公钥存储库,对来自所述交换机设备的所述第一公钥进行验证。

由上,通过对比交换机设备发送的第一公钥和本地公钥存储库是否一致,来判断该交换机设备是否为可信任的通讯设备,实现对交换机设备的合法性进行了验证,能有效地防止黑客对终端设备的攻击,提高密钥交换过程的安全性。

作为第二方面的一种可能的实现方式,所述方法还包括:

接收所述交换机设备发送的所述第四密钥协商报文,使用所述第二私钥解密所述第四密钥协商报文中的使用第二公钥加密的所述用户名,基于发送的所述用户名对来自所述交换机设备回复的用户名进行验证。

由上,不仅交换机设备需要验证来自终端设备的用户名的安全性,同时,终端设备也需验证来自交换机设备回复的用户名的安全性,实现双向验证,进一步地提高了密钥交换过程的安全性。

作为第二方面的一种可能的实现方式,所述方法还包括:

向所述交换机设备发送第五密钥协商报文,所述第五密钥协商报文包括使用所述第一公钥加密的所述用户密码,以用于所述交换机设备基于发送的所述用户密码对来自所述终端设备的用户密码进行认证。

由上,在验证完交换机设备和终端设备的用户名一致后,再验证密码是否一致,也即,通过用户名和用户密码的双重验证,避免了用户名和用户密码单一验证可能造成的冒领,更进一步地提高密钥交换过程的安全性,有利于后续交换机设备和终端设备之间能够安全地传输诊断报文。

为达到上述目的,本申请第三方面提供了一种公共密钥的传输方法,交换机设备上存储有用于非对称加密的第一密钥对、用于对称加密的公共密钥,所述第一密钥对包括第一私钥和第一公钥;终端设备上存储有用于非对称加密的第二密钥对,所述第二密钥对包括第二私钥和第二公钥;所述方法包括:

所述终端设备向所述交换机设备发送第一密钥协商报文;

所述交换机设备接收所述第一密钥协商报文,向所述终端设备发送第二密钥协商报文,所述第二密钥协商报文包括所述第一公钥;

所述终端设备接收所述第二密钥协商报文,向所述交换机设备发送第三密钥协商报文,所述第三密钥协商报文中包括使用所述第一公钥加密的所述第二公钥;

所述交换机设备接收所述第三密钥协商报文,使用所述第一私钥解密所述第三密钥协商报文中的使用所述第一公钥加密的所述第二公钥;

所述交换机设备向所述终端设备发送第四密钥协商报文,所述第四密钥协商报文中包括使用所述第二公钥加密的所述公共密钥;

所述终端设备接收所述第四密钥协商报文,使用所述第二私钥解密所述第四密钥协商报文中的使用第二公钥加密的所述公共密钥。

为达到上述目的,本申请第四方面提供了一种诊断报文的传输方法,包括:

使用第三方面所述的公共密钥的传输方法,使终端设备获取交换设备上存储的公共密钥;

所述交换机设备向所述终端设备传输使用所述公共密钥加密的诊断报文;

所述终端设备使用所述公共密钥解密所述诊断报文。

为达到上述目的,本申请第五方面提供了一种计算设备,包括:

处理器,以及

存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行第一方面任一项所述的应用于交换机设备端的公共密钥的传输方法、第二方面任一项所述的应用于终端设备端的公共密钥的传输方法、第三方面所述的公共密钥的传输方法、第四方面所述的诊断报文的传输方法。

为达到上述目的,本申请第六方面提供了一种存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行第一方面任一项所述的应用于交换机设备端的公共密钥的传输方法、第二方面任一项所述的应用于终端设备端的公共密钥的传输方法、第三方面所述的公共密钥的传输方法、第四方面所述的诊断报文的传输方法。

为达到上述目的,本申请第七方面提供了一种公共密钥的传输装置,应用于交换机设备端,所述交换机设备上存储有用于非对称加密的第一密钥对、用于对称加密的公共密钥,所述第一密钥对包括第一私钥和第一公钥;所述装置包括:

第一接收单元,用于接收终端设备发送的第一密钥协商报文,响应所述第一密钥协商报文向所述终端设备发送第二密钥协商报文,所述第二密钥协商报文包括所述第一公钥;

第二接收单元,用于接收所述终端设备发送的第三密钥协商报文,使用所述第一私钥解密所述第三密钥协商报文中的使用所述第一公钥加密的第二公钥,所述第二公钥是所述终端设备存储的用于非对称加密的第二密钥对中的第二公钥;

发送单元,用于向所述终端设备发送第四密钥协商报文,所述第四密钥协商报文中包括使用所述第二公钥加密的所述公共密钥。

为达到上述目的,本申请第八方面提供了一种公共密钥的传输装置,应用于终端设备端,所述终端设备上存储有用于非对称加密的第二密钥对,所述第二密钥对包括第二私钥和第二公钥;所述装置包括:

第一发送单元,用于向交换机设备发送第一密钥协商报文;

第一接收单元,用于接收所述交换机设备响应所述第一密钥协商报文发送的第二密钥协商报文,所述第二密钥协商报文包括第一公钥,所述第一公钥是所述交换机设备上存储有用于非对称加密的第一密钥对中的第一公钥;

第二发送单元,用于向所述交换机设备发送第三密钥协商报文,所述第三密钥协商报文中包括使用所述第一公钥加密的所述第二公钥;

第二接收单元,用于接收所述交换机设备发送第四密钥协商报文,使用所述第二私钥解密所述第四密钥协商报文中的使用第二公钥加密的公共密钥。

为达到上述目的,本申请第九方面提供了一种诊断报文的传输系统,包括:

交换机设备,其包括第七方面所述的公共密钥的传输装置;

终端设备,其包括第八方面所述的公共密钥的传输装置;

所述终端设备与所述交换机设备用于通过各自的公共密钥的传输装置实现将所述交换机设备上的公共密钥传输至所述终端设备;

所述交换机设备还用于向所述终端设备传输使用所述公共密钥加密的诊断报文;

所述终端设备还用于使用所述公共密钥解密所述诊断报文。

附图说明

图1是本申请提供的交换机设备和终端设备的连接关系示意图;

图2是本申请提供的诊断报文的示意图;

图3是本申请提供的一种应用于交换机设备端的公共密钥的传输方法的主要步骤流程图;

图4是本申请提供的一种应用于终端设备端的公共密钥的传输方法的主要步骤流程图;

图5是本申请提供的一种交换机设备和终端设备的交互图;

图6是本申请提供的一种终端设备不信任交换机设备的第一公钥的交互图;

图7是本申请提供的一种交换机设备验证来自终端设备的用户名失败的交互图;

图8是本申请提供的一种终端设备校验交换机设备回复的用户名失败的交互图;

图9是本申请提供的一种交换机设备验证来自终端设备的用户密码失败的交互图;

图10是本申请提供的一种终端设备连续N次发送心跳报文后重新发送第一报文PKT1的交互图;

图11是本申请提供的一种终端设备需要修改后重新发送第一报文PKT1的交互图;

图12是本申请提供的一种应用于交换机设备端的报文的加密装置的结构性示意图;

图13是本申请提供的一种应用于终端设备端的报文的加密装置的结构性示意图;

图14是本申请提供的一种计算设备的结构性示意图;

图15是本申请提供的一种诊断报文的传输系统的结构性示意图;

应理解,上述结构示意图中,各框图的尺寸和形态仅供参考,不应构成对本发明实施例的排他性的解读。结构示意图所呈现的各框图间的相对位置和包含关系,仅为示意性地表示各框图间的结构关联,而非限制本发明实施例的物理连接方式。

具体实施方式

下面结合附图并举实施例,对本申请提供的技术方案作进一步说明。应理解,本申请实施例中提供的系统结构和业务场景主要是为了说明本申请的技术方案的可能的实施方式,不应被解读为对本申请的技术方案的唯一限定。本领域普通技术人员可知,随着系统结构的演进和新业务场景的出现,本申请提供的技术方案对类似技术问题同样适用。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

本申请实施例提供了一种公共密钥的传输方法,如图3所示,应用于交换机设备端,所述交换机设备上存储有用于非对称加密的第一密钥对、用于对称加密的公共密钥,所述第一密钥对包括第一私钥和第一公钥;所述方法包括:

S301、接收终端设备发送的第一密钥协商报文,响应所述第一密钥协商报文向所述终端设备发送第二密钥协商报文,所述第二密钥协商报文包括所述第一公钥;

S302、接收所述终端设备发送的第三密钥协商报文,使用所述第一私钥解密所述第三密钥协商报文中的使用所述第一公钥加密的第二公钥,所述第二公钥是所述终端设备存储的用于非对称加密的第二密钥对中的第二公钥;

S303、向所述终端设备发送第四密钥协商报文,所述第四密钥协商报文中包括使用所述第二公钥加密的所述公共密钥。

由上,本申请提出了一种公共密钥的传输方法,在交换机设备和终端设备传输诊断报文时,先进行密钥交换阶段,再进行诊断报文传输阶段,整个阶段结合了对称加密和非对称加密的方式,具体地,在密钥交换阶段采用非对称加密,在诊断报文传输阶段采用对称加密,使得只有获取了公共密钥的终端设备才能对诊断报文内容进行解码,因此,既保护了公共密钥的安全性,也提高了诊断报文的加密效率,同时,还防止交换机设备和终端设备之间传输诊断报文时被非法终端盗取或篡改的问题。

在一些实施例中,所述交换机设备还存储有用户信息列表,所述方法还包括:

使用所述第一私钥解密所述第三密钥协商报文中的使用所述第一公钥加密的用户名,并基于所述用户信息列表中的用户名对来自所述终端设备的用户名进行认证。

其中,用户信息列表包括用户名、与用户名对应的密码,下文的具体实施例中将做详细说明。

具体地,基于所述用户信息列表中的用户名对来自所述终端设备的用户名进行认证,包括:

判断来自终端设备的用户名和用户信息列表中的用户名是否一致;

若一致,则验证通过;

若不一致,则认证未通过。

由上,通过对比来自终端设备的用户名与用户信息列表是否一致,来判断交换机设备和终端设备之间是否要进行密钥交换,当两者的用户名一致时,表明双方身份可信任,因此,提高密钥交换过程的安全性,有利于后续交换机设备和终端设备之间能够安全地传输诊断报文。

在一些实施例中,所述方法还包括:

向所述终端设备发送第四密钥协商报文,所述第四密钥协商报文包括使用所述第二公钥加密的所述用户名,以用于所述终端设备基于发送的所述用户名对来自所述交换机设备回复的用户名进行认证。

由上,交换机设备先验证来自终端设备的用户名的安全性,验证其具有安全性后,终端设备还需验证来自交换机设备回复的用户名的安全性,由于用户名的非特定性,如此,既可以防止伪造交换机设备进行报文回复,又能验证交换机设备端交换报文中信息的准确性,从而确保第四密钥协商报文中公共密钥的安全。

在一些实施例中,所述方法还包括:

接收所述终端设备发送的第五密钥协商报文,使用所述第一私钥解密所述第五密钥协商报文中的使用所述第一公钥加密的所述用户名对应的用户密码,并基于所述用户信息列表中的用户名对应的密码对来自所述终端设备的所述用户密码进行认证。

由上,在验证完交换机设备和终端设备的用户名一致后,再通过对比来自终端设备的用户密码与用户信息列表是否一致,也即,通过用户名和用户密码的双重验证,避免了用户名和用户密码单一验证可能造成的冒领,更进一步地提高密钥交换过程的安全性,有利于后续交换机设备和终端设备之间能够安全地传输诊断报文。

本申请实施例提供了一种公共密钥的传输方法,如图4所示,应用于终端设备端,所述终端设备上存储有用于非对称加密的第二密钥对,所述第二密钥对包括第二私钥和第二公钥;所述方法包括:

S401、向所述交换机设备发送第一密钥协商报文;

S402、接收交换机设备响应所述第一密钥协商报文发送的第二密钥协商报文,所述第二密钥协商报文包括所述第一公钥,所述第一公钥是所述交换机设备上存储有用于非对称加密的第一密钥对中的第一公钥;

S403、向所述交换机设备发送第三密钥协商报文,所述第三密钥协商报文中包括使用所述第一公钥加密的所述第二公钥;

S404、接收所述交换机设备发送第四密钥协商报文,使用所述第二私钥解密所述第四密钥协商报文中的使用第二公钥加密的公共密钥。

由上,本申请提出了一种公共密钥的传输方法,在交换机设备和终端设备传输诊断报文时,先进行密钥交换阶段,再进行诊断报文传输阶段,整个阶段结合了对称加密和非对称加密的方式,具体地,在密钥交换阶段采用非对称加密,在诊断报文传输阶段采用对称加密,使得只有获取了公共密钥的终端设备才能对诊断报文内容进行解码,因此,既保护了公共密钥的安全性,也提高了诊断报文的加密效率,同时,还防止交换机设备和终端设备之间传输诊断报文时被非法终端盗取或篡改的问题。

在一些实施例中,所述终端设备上存储有用于验证所述公共密钥安全性的本地公钥存储库,所述方法还包括:

接收所述交换机设备发送的所述第二密钥协商报文,所述第二密钥协商报文包括所述第一公钥,基于所述本地公钥存储库,对来自所述交换机设备的所述第一公钥进行验证。

由上,通过对比交换机设备发送的第一公钥和本地公钥存储库是否一致,来判断该交换机设备是否为可信任的通讯设备,实现对交换机设备的合法性进行了验证,能有效地防止黑客对终端设备的攻击,提高密钥交换过程的安全性。

在一些实施例中,所述方法还包括:

接收所述交换机设备发送的所述第四密钥协商报文,使用所述第二私钥解密所述第四密钥协商报文中的使用第二公钥加密的所述用户名,基于发送的所述用户名对来自所述交换机设备回复的用户名进行验证。

由上,不仅交换机设备需要验证来自终端设备的用户名的安全性,同时,终端设备也需验证来自交换机设备回复的用户名的安全性,实现双向验证,进一步地提高了密钥交换过程的安全性。

在一些实施例中,所述方法还包括:

向所述交换机设备发送第五密钥协商报文,所述第五密钥协商报文包括使用所述第一公钥加密的所述用户密码,以用于所述交换机设备基于发送的所述用户密码对来自所述终端设备的用户密码进行认证。

由上,在验证完交换机设备和终端设备的用户名一致后,再验证密码是否一致,也即,通过用户名和用户密码的双重验证,避免了用户名和用户密码单一验证可能造成的冒领,更进一步地提高密钥交换过程的安全性,有利于后续交换机设备和终端设备之间能够安全地传输诊断报文。

本申请实施例提供了一种公共密钥的传输方法,包括:交换机设备上存储有用于非对称加密的第一密钥对、用于对称加密的公共密钥,所述第一密钥对包括第一私钥和第一公钥;终端设备上存储有用于非对称加密的第二密钥对,所述第二密钥对包括第二私钥和第二公钥;所述方法包括:

所述终端设备向所述交换机设备发送第一密钥协商报文;

所述交换机设备接收所述第一密钥协商报文,向所述终端设备发送第二密钥协商报文,所述第二密钥协商报文包括所述第一公钥;

所述终端设备接收所述第二密钥协商报文,向所述交换机设备发送第三密钥协商报文,所述第三密钥协商报文中包括使用所述第一公钥加密的所述第二公钥;

所述交换机设备接收所述第三密钥协商报文,使用所述第一私钥解密所述第三密钥协商报文中的使用所述第一公钥加密的所述第二公钥;

所述交换机设备向所述终端设备发送第四密钥协商报文,所述第四密钥协商报文中包括使用所述第二公钥加密的所述公共密钥;

所述终端设备接收所述第四密钥协商报文,使用所述第二私钥解密所述第四密钥协商报文中的使用第二公钥加密的所述公共密钥。

本申请实施例还提供了一种诊断报文的传输方法,包括:

使用上述的公共密钥的传输方法,使终端设备获取交换设备上存储的公共密钥;

所述交换机设备向所述终端设备传输使用所述公共密钥加密的诊断报文;

所述终端设备使用所述公共密钥解密所述诊断报文。

为了能够更清楚的说明上述公共密钥的传输方法,如下将通过具体实施例进行详细说明,实施例包括步骤1至步骤19。

图5为交换机设备和终端设备的交互图。

步骤1、交换机设备启动后,获取第一密钥对、公共密钥、用户信息列表。

其中,第一密钥对包括第一公钥、第一私钥,第一公钥用K1表示,第一私钥用K2表示,公共密钥用K3表示,用户信息列表用L表示。

并且,用户信息列表L由用户名和密码构成,用户名和密码的一一对应,用户可以根据实际情况手动添加、删除、修改用户信息列表L,用户信息列表L可参见表1所示。

表1

步骤2、用户添加终端设备的用户名和密码,同时,获取终端设备上存储的第二密钥对。

其中,第二密钥对包括第二公钥、第二私钥,第二公钥用K4表示,第二私钥用K5表示;

步骤3、需要说明的是,交换机设备向终端设备发送的诊断报文是使用公共密钥K3进行加密的,终端设备想要获取到公共密钥K3,则需要先向交换机设备发送密钥交换报文,该报文格式可参见表2所示;

表2

步骤4、具体地,终端设备和交换机设备都有自身的ip地址,终端设备和交换机设备传输报文时,终端设备先发起请求,同时需要指定交换机设备的ip地址,将该ip地址作为目的地址,同时发起请求的第一密钥协商报文中携带有发起请求的终端设备的ip地址,该ip地址作为源地址,交换机设备接收到第一密钥协商报文,根据第一密钥协商报文中源地址确定回复该请求的终端设备。结合图5所示,终端设备向交换机设备发送第一报文PKT1,code是1,ret是0,string_len1是终端设备发起请求时使用的TRDP版本号信息长度,string_content1是用于表示所使用的TRDP协议的版本号信息,第一报文PKT1的内容参见表3所示,其中,终端设备向交换机设备发送TRDP的版本号信息,用于向交换机设备表明终端设备所使用的TRDP的版本信息,便于交换机当支持多个版本的TRDP协议时,使用对应版本号的协议进行报文的解析、解封装、封装等。

表3

步骤5、交换机设备接收到第一报文PKT1后,向终端设备发送第二报文PKT2,code是2,ret是0,string_len1是第一公钥K1的长度,string_content1是第一公钥K1的内容,第二报文PKT2的内容参见表4所示。

表4

步骤6、终端设备接收到第二报文PKT2后,验证第一公钥K1是否安全。

具体地,判断第一公钥K1和本地公钥存储库内的其一公钥是否一致;

若一致,则判定为第一公钥安全,继续执行步骤7;

若不一致,则结束密钥交换过程,此时,终端设备向交换机设备发送第三报文PKT3,code是3,ret是1,string_len1和string_len2均是0,该报文内容用交换机设备公钥K1加密,第三报文PKT3的内容参见表5所示,交互图参见图6所示。

表5

步骤7、终端设备向交换机设备发送第三报文PKT3,code是3,ret是0,string_len1是终端设备自身的公钥K4的长度,string_content1是K4的内容,string_len2是终端设备认证的用户名username的长度,string_content2是username的内容,用交换机设备的第一公钥K1将报文内容加密,第三报文PKT3的内容参见表6所示。

表6

步骤8、交换机设备使用第一私钥K2将第三报文PKT3进行解密,获取终端设备的第二公钥K4和用户名,将用户名和用户信息列表L进行校验。

具体地,判断接收到的用户名与用户信息列表内的用户名是否一致;

若一致,即验证通过,继续执行步骤9;

若不一致,即验证未通过,则结束密钥交换过程,此时,交换机设备向终端设备发送第四报文PKT4,code是4,ret是1,string_len1和stirng_len2均是0,第四报文PKT4用终端设备的第二公钥K4进行加密再发送的,第四报文PKT3的内容参见表7所示,交互图参见图7所示;

表7

步骤9、交换机设备向终端设备发送第四报文PKT4,code是4,ret是0,string_len1是username的长度,string_content2是username内容,string_len2是0,第四报文PKT4用终端设备的第二公钥K4进行加密再发送的,第四报文PKT4的内容参见表8所示。

表8

步骤10、终端设备接收到第四报文PKT4后,使用第二私钥K5进行解密,获取到交换机设备回复的用户名,并对该用户名进行验证。

具体地,判断该用户名与自身发送的用户名是否一致;

若一致,即验证通过,则继续执行步骤11;

若不一致,即验证未通过,则结束密钥交换过程,此时,终端设备向交换机设备发送第五报文PKT5,code是5,ret是1,string_len1和stirng_len2均是0,第五报文PKT5使用第一公钥K1进行加密,其中,第五报文PKT5的内容参见表9所示,交互图参见图8所示;

表9

步骤11、终端设备向交换机设备发送第五报文PKT5,code是5,ret是0,string_len1安全名密码password长度,string_content1是password内容,string_len2是0,第五报文PKT5使用第一公钥K1进行加密,其中,第五报文PKT5内容参见表10所示。

表10

步骤12、交换机设备使用第一私钥K2对第五报文PKT5进行解密,获取到密码内容,并对该密码进行验证。验证该密码和设备列表L进行校验。

具体地,判断接收到的密码与用户信息列表内的密码是否一致;

若一致,即验证通过,此时,密钥交换阶段已完成,再执行报文传输阶段,也即继续执行步骤13;

若不一致,即验证未通过,则结束密钥交换过程,此时,交换机设备向终端设备发送第六报文PKT6,code是6,ret是1,string_len1和stirng_len2均是0,第六报文PKT6使用终端设备的第二公钥K4进行加密,其中,第六报文PKT6的内容参见表11所示,交互图参见图9所示。

表11

步骤13、交换机设备向终端设备发送第六报文PKT6,code是6,ret是0,string_len1是公共密钥K3的长度,string_content1是公共密钥K3的内容;第六报文PKT6使用终端设备的第二公钥K4进行加密,第六报文PKT6的内容参见表12所示。

表12

步骤14、终端设备使用第二私钥K2对接收到第六报文PKT6进行解密,获取公共密钥K3,采用公共密钥K3对接收到的诊断报文进行解密。

如此,上述步骤1至步骤14,即可实现终端设备和交换机设备之间的密钥交换、公共密钥的传输,使得只有获取了公共密钥的终端设备才能对诊断报文进行解码,提高了诊断报文传输的安全性。

然而,在实际诊断报文传输的过程中,还可能发生如下情况:

情况一:终端设备以间隔时间T向交换机设备发送心跳报文PKT-KEEPALIVE,交换机设备收到心跳报文后,立即回复一条确认报文,如果终端设备连续发送N个心跳报文未收到确认报文,则需要重新向交换机设备发送密钥交换报文,具体参见如下步骤15至步骤17。

步骤15、终端设备定时向交换机设备发送PKT-KEEPALIVE报文,code是7,ret是0,string_len1和string_len2均是0,该报文采用第一公钥K1进行加密,该报文的内容参见表13所示。

表13

步骤16、交换机设备收到PKT-KEEPALIVE报文,向终端设备发送PKT-ACK报文,code是8,ret是0,string_len1和string_len2均是0,该报文用第二公钥K4加密,该报文的内容参见表14所示。

表14

步骤17、终端设备连续发送N个PKT-KEEPALIVE报文后,且未收到交换机设备发送的PKT-ACK报文,则重新向交换机设备发送PKT1报文,重新获取密钥,参见图10所示。

情况二:交换机设备如果删除已经认证过的安全名、或者修改安全名对应的密码、或者修改公共密钥K3,则交换机设备需要向终端设备发送PKT-RST报文,终端设备收到RST报文后,也需要重新向交换机设备发送PKT1报文,具体参见如下步骤18至步骤19。

步骤18、交换机设备向终端设备发送PKT-RST报文,code是9,ret是0,该报文用第二公钥K4加密,该报文内容参见表14所示。

表14

步骤19、终端设备收到PKT-RST报文,则重新向交换机设备发送PKT1报文,重新获取密钥,参见图11所示。

图12是本申请实施例提供的一种公共密钥的传输装置的结构性示意图,本申请实施例提供了公共密钥的传输装置1200,应用于交换机设备端,所述交换机设备上存储有用于非对称加密的第一密钥对、用于对称加密的公共密钥,所述第一密钥对包括第一私钥和第一公钥;所述装置包括:

第一接收单元1201,用于接收终端设备发送的第一密钥协商报文,响应所述第一密钥协商报文向所述终端设备发送第二密钥协商报文,所述第二密钥协商报文包括所述第一公钥;

第二接收单元1202,用于接收所述终端设备发送的第三密钥协商报文,使用所述第一私钥解密所述第三密钥协商报文中的使用所述第一公钥加密的第二公钥,所述第二公钥是所述终端设备存储的用于非对称加密的第二密钥对中的第二公钥;

发送单元1203,用于向所述终端设备发送第四密钥协商报文,所述第四密钥协商报文中包括使用所述第二公钥加密的所述公共密钥。

由上,本申请提出了一种公共密钥的传输装置,在交换机设备和终端设备传输诊断报文时,先进行密钥交换阶段,再进行诊断报文传输阶段,整个阶段结合了对称加密和非对称加密的方式,具体地,在密钥交换阶段采用非对称加密,在诊断报文传输阶段采用对称加密,使得只有获取了公共密钥的终端设备才能对诊断报文内容进行解码,因此,既保护了公共密钥的安全性,也提高了诊断报文的加密效率,同时,还防止交换机设备和终端设备之间传输诊断报文时被非法终端盗取或篡改的问题。

图13是本申请实施例提供的一种公共密钥的传输装置的结构性示意图,本申请实施例提供了一种公共密钥的传输装置1300,应用于终端设备端,所述终端设备上存储有用于非对称加密的第二密钥对,所述第二密钥对包括第二私钥和第二公钥;所述装置包括:

第一发送单元1301,用于向所述交换机设备发送第一密钥协商报文;

第一接收单元1302,用于接收所述交换机设备响应所述第一密钥协商报文发送的第二密钥协商报文,所述第二密钥协商报文包括所述第一公钥,所述第一公钥是所述交换机设备上存储有用于非对称加密的第一密钥对中的第一公钥;

第二发送单元1303,用于向所述交换机设备发送第三密钥协商报文,所述第三密钥协商报文中包括使用所述第一公钥加密的所述第二公钥;

第二接收单元1304,用于接收所述交换机设备发送第四密钥协商报文,使用所述第二私钥解密所述第四密钥协商报文中的使用第二公钥加密的公共密钥。

由上,本申请提出了一种公共密钥的传输装置,在交换机设备和终端设备传输诊断报文时,先进行密钥交换阶段,再进行诊断报文传输阶段,整个阶段结合了对称加密和非对称加密的方式,具体地,在密钥交换阶段采用非对称加密,在诊断报文传输阶段采用对称加密,使得只有获取了公共密钥的终端设备才能对诊断报文内容进行解码,因此,既保护了公共密钥的安全性,也提高了诊断报文的加密效率,同时,还防止交换机设备和终端设备之间传输诊断报文时被非法终端盗取或篡改的问题

图14是本申请实施例提供的一种计算设备1400的结构性示意图。该计算设备执行上述的公共密钥的传输方法及诊断报文的传输方法。如图14所示,该计算设备1400包括:处理器1410、存储器1420、通信接口1430。

应理解,图14所示的计算设备1400中的通信接口1430可以用于与其他设备之间进行通信,具体可以包括一个或多个收发电路或接口电路。

其中,该处理器1410可以与存储器1420连接。该存储器1420可以用于存储该程序代码和数据。因此,该存储器1420可以是处理器1410内部的存储单元,也可以是与处理器1410独立的外部存储单元,还可以是包括处理器1410内部的存储单元和与处理器1410独立的外部存储单元的部件。

可选的,计算设备1400还可以包括总线。其中,存储器1420、通信接口1430可以通过总线与处理器1410连接。总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中采用了一条无箭头的线表示,但并不表示仅有一根总线或一种类型的总线。

应理解,在本申请实施例中,该处理器1410可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器1410采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。

该存储器1420可以包括只读存储器和随机存取存储器,并向处理器1410提供指令和数据。处理器1410的一部分还可以包括非易失性随机存取存储器。例如,处理器1410还可以存储设备类型的信息。

在计算设备1400运行时,所述处理器1410执行所述存储器1420中的计算机执行指令执行上述方法的任一操作步骤以及其中任一可选的实施例。

应理解,根据本申请实施例的计算设备1400可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备1400中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。

图15是本申请实施例提供的一种诊断报文的传输系统的结构性示意图,本申请实施例提供了一种诊断报文的传输系统1500,包括:

交换机设备,其包括上述的公共密钥的传输装置1200;

终端设备,其包括上述的公共密钥的传输装置1300;

所述终端设备与所述交换机设备用于通过各自的公共密钥的传输装置实现将所述交换机设备上的公共密钥传输至所述终端设备;

所述交换机设备还用于向所述终端设备传输使用所述公共密钥加密的诊断报文;

所述终端设备还用于使用所述公共密钥解密所述诊断报文。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述方法,该方法包括上述各个实施例所描述的方案中的至少之一。

本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

另外,说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

在上述的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。

说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。

本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,均属于本申请保护范畴。

相关技术
  • 基于双分辨率网络的两阶段全3D腹部器官分割方法及系统
  • 基于权重图损失的分阶段神经网络CT器官分割方法及系统
技术分类

06120116526671