一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种节点间保密通信方法及网络节点与流程

2021-10-22 22:34:00 来源:中国专利 TAG:节点 通信 互联网 保密 方法


1.本技术涉及通信互联网技术领域,尤其涉及一种节点间保密通信方法及网络节点。


背景技术:

2.随着信息技术的发展,网络安全成为一个备受关注的问题。在网络中,节点之间相互通信,为了避免传输的数据泄露,需要使用密钥对传输的数据进行加密保护。之前,局域网采用端对端和逐跳两种节点间保密通信方法对传输数据进行加密保护。端对端保密通信方法,由于局域网拓扑结构复杂性,涉及到的节点数目较多,节点需要存储大量与对端节点建立的密钥,对存储资源具有较高的要求。逐跳保密通信方法,由于局域网中交换设备需要对每个接收到的数据包进行解密再加密转发处理,给交换设备带来巨大的计算负担,也容易引发攻击者对交换设备的攻击。因此两种方法从安全性和传输效率上看,均不理想。
3.针对广泛应用的局域网,业界提供了一种基于三元对等架构的局域网安全(tepa-based lan security,tlsec)协议。
4.tlsec协议是国标gb/t 15629.3-2014中的安全方案,其可以为局域网提供鉴别服务、基于端口的访问控制服务、保密通信服务等,从而有效保障局域网安全。tlsec协议采用了一种三段式的节点间保密通信方法,相对于端对端保密通信方法,该方法不必为每个端对端节点建立一个密钥对,对存储资源的要求大大降低;相对于逐跳保密通信方法,由于该方法涉及加解密运算的过程最多情况仅包含源节点与第一个交换设备、第一个交换设备与最后一个交换设备及最后一个交换设备与目的节点三个数据传输分段,计算损耗上相对较低。因此,从保密通信方法上看,tlsec协议采用的三段式节点间保密通信方法具有更大的优越性。
5.tlsec协议主要包括基于tepa的局域网鉴别协议(tepa-based lan authentication protocol,tla)以及基于tla协议的局域网保密通信协议(tla-based lan privacy protocol,tlp)两种子协议。tla子协议为网络节点间合法访问提供保障,tlp子协议则为网络节点间保密数据通信提供保障。
6.tla子协议定义了邻居节点发现、安全策略协商、鉴别和单播密钥管理、组播密钥通告、站点间密钥建立以及交换密钥建立方法。
7.新节点接入网络后,需要通过邻居节点发现过程来获取所有的邻居节点信息,同时也将自己的信息告知周围的邻居节点。当新节点试图接入网络或现有节点发起重新接入鉴别前,新节点或发起重新接入鉴别的节点作为接入请求者与具备鉴别访问控制功能作为接入鉴别者的节点,首先通过安全策略协商过程实现接入请求者与接入鉴别者关于鉴别与密钥套件等安全策略的协商。安全策略协商过程完成后,接入请求者与接入鉴别者通过鉴别和单播密钥管理过程依据安全策略协商过程选择的鉴别与密钥套件进行网络接入合法性验证,其可验证接入请求者的合法性,也可验证接入网络的合法性,并建立接入请求者与接入鉴别者相邻节点间的安全路径,其包括为接入请求者与接入鉴别者两相邻节点建立单
播密钥,至此接入请求者成功接入有线局域网。当接入请求者成功接入网络后,组播密钥通告过程可完成接入鉴别者向接入请求者的组播密钥发放。站点间密钥建立为需要建立站间密钥的用户终端建立安全路径,其包括为同一交换设备下直连的用户终端之间及邻居用户终端间建立站间密钥。如果新节点的节点类型为用户终端,通过站点间密钥建立过程可完成新节点与同一交换设备下直连的用户终端或邻居用户终端间建立站间密钥。交换密钥建立为局域网所有交换设备建立两两之间的安全路径,如果新节点为交换设备,则将为新节点与网络中所有交换设备间建立交换密钥。
8.总体来说,tla子协议为新节点安全接入网络提供了保障,同时在新节点安全接入网络后,保证整体网络相邻节点间及两两交换设备间已建立有效的安全路径,为tlp子协议的实施提供必要的前提条件。至此,在新节点安全接入网络后,整体网络相邻节点间存在单播密钥、两两交换设备间存在交换密钥,tlp子协议基于tla过程建立的单播密钥及交换密钥完成节点间保密通信。站点间密钥的建立虽然属于tla子协议,但站间密钥的生成是在tlp子协议实施过程中被触发的。站间密钥也根据网络连接实际情况用于节点间保密通信。同时也说明相邻交换设备间的交换密钥实质上为相邻节点间的单播密钥。
9.tlp子协议定义了一种三段式节点间保密通信方法,具体涉及节点间交换路径探寻方法和节点间保密通信方法。tlp子协议将通信源节点node
source
到通信目的节点node
destination
的节点间交换路径信息定义为一个标识四元组,具体可以表示为[id
source
,id
sw-first
,id
sw-last
,id
destination
]。其中,id
source
表示通信源节点node
source
的节点标识,id
sw-first
表示通信源节点到通信目的节点的通信路径中数据包经过的第一个交换设备sw
first
的节点标识,id
sw-last
表示通信源节点到通信目的节点的通信路径中数据包经过的最后一个交换设备sw
last
的节点标识,id
destination
表示通信目的节点node
destination
的节点标识。通信源节点通过发起交换路径探寻请求,以获取从通信源节点到通信目的节点的交换路径信息。图1描述了三段式节点间保密通信完整路径结构,如图1所示,接收到从通信源节点到通信目的节点的数据包但却未出现在交换路径信息标识四元组中的交换设备,称之为中间交换设备,具体记作sw
m
。其中,从通信源节点到通信目的节点的数据包在传输过程中可能不会通过中间交换设备sw
m
,也可能通过多个中间交换设备sw
m
。通信路径中,仅其节点标识在交换路径信息标识四元组中的网络节点涉及数据包的加密及解密保密通信处理,其余网络节点,如果存在,仅直接转发数据包。
[0010]
还需要说明的是,通信源节点node
source
和通信目的节点node
destination
的节点类型可以是用户终端,也可以是交换设备。当通信源节点node
source
为交换设备时,sw
first
即为node
source
自身;当通信目的节点node
destination
为交换设备时,sw
last
即为node
destination
自身。
[0011]
节点间保密通信包含局域网内任意两节点间的数据通信,局域网基本框架见图2。所有相邻的节点之间都有单播密钥,如相邻的交换设备sw
a
和sw
b
之间、相邻的交换设备sw
e
与用户终端sta2之间;交换设备两两之间都具有交换密钥,如相邻的交换设备sw
b
与sw
e
之间、不相邻的交换设备sw
e
和sw
g
之间;同一交换设备下直连的用户终端之间可建立站间密钥,如用户终端sta1和sta2之间、用户终端sta7与sta9之间;邻居用户终端之间可建立站间密钥,如用户终端sta9和sta
10
之间。其中单播密钥和交换密钥是节点成功接入网络时建立的,而站间密钥则是在通信发生时建立的。需要说明的是,任意两节点间如果存在密钥,不管为何种密钥类型,仅存在一对密钥。
[0012]
依据局域网架构及其组成,从通信源节点node
source
到通信目的节点node
destination
的节点间保密通信根据节点node
source
与node
destination
之间的物理连接关系及它们本身的节点类型可划分为如下8种类型,tlp子协议定义了针对该8种通信类型的各自相应的保密通信策略:
[0013]
type1:交换设备到交换设备的通信,包括交换设备到相邻交换设备的通信和交换设备到不相邻交换设备的通信;
[0014]
例如:图2中的sw
a
到相邻的sw
b
、sw
e
到不相邻的sw
g
的数据通信。
[0015]
type2:交换设备到直连用户终端的通信;
[0016]
例如:图2中的sw
e
到sta1、sw
g
到sta7的数据通信。
[0017]
type3:交换设备到不直连用户终端的通信;
[0018]
例如:图2中的sw
a
到sta1、sw
d
到sta6的数据通信。
[0019]
type4:用户终端到直连交换设备的通信;
[0020]
例如:图2中的sta2到sw
e
、sta5到sw
f
的数据通信。
[0021]
type5:用户终端到不直连交换设备的通信;
[0022]
例如:图2中的sta2到sw
f
、sta5到sw
b
的数据通信。
[0023]
type6:用户终端到同一交换设备下其他直连用户终端的通信;
[0024]
例如:图2中的sta2到sta3、sta5到sta6的数据通信。
[0025]
type7:用户终端到不同交换设备下直连的用户终端的通信;
[0026]
例如:图2中的sta2到sta6、sta5到sta9的数据通信。
[0027]
type8:邻居用户终端间的通信;
[0028]
例如:图2中的sta9到sta
10
的数据通信。
[0029]
这8种通信类型对应的保密通信策略具体如下:
[0030]
type1:交换设备到交换设备的通信策略,见图3a和图3b。
[0031]
网络中交换设备两两之间都有交换密钥,类型为type1的数据通信采用的保密通信策略如下:
[0032]
a)通信源节点node
source
(此时为交换设备,通信源节点node
source
同时是第一个交换设备sw
first
)使用与通信目的节点node
destination
(此时为交换设备,通信目的节点node
destination
同时是最后一个交换设备sw
last
)之间的交换密钥加密数据包;
[0033]
b)若存在中间交换设备,则中间交换设备收到类型为type1的通信数据包,直接转发;
[0034]
c)通信目的节点node
destination
使用与通信源节点node
source
之间的交换密钥解密数据包。
[0035]
type2:交换设备到直连用户终端的通信策略,见图4。
[0036]
网络中交换设备与直连用户终端之间有单播密钥,类型为type2的数据通信采用的保密通信策略如下:
[0037]
a)通信源节点node
source
(此时为交换设备,通信源节点node
source
同时是第一个交换设备sw
first
、最后一个交换设备sw
last
)使用与通信目的节点node
destination
(此时为用户终端)之间的单播密钥加密数据包;
[0038]
b)通信目的节点node
destination
使用与通信源节点node
source
之间的单播密钥解密数
据包。
[0039]
type3:交换设备到不直连用户终端的通信策略,见图5。
[0040]
网络中交换设备与直连用户终端之间有单播密钥、交换设备之间有交换密钥,类型为type3的数据通信采用的保密通信策略如下:
[0041]
a)通信源节点node
source
(此时为交换设备,通信源节点node
source
同时是第一个交换设备sw
first
)使用与最后一个交换设备sw
last
之间的交换密钥加密数据包;
[0042]
b)若存在中间交换设备,则中间交换设备直接转发类型为type3的数据包;
[0043]
c)最后一个交换设备sw
last
使用与通信源节点node
source
的交换密钥解密数据包,然后使用与通信目的节点node
destination
(此时为用户终端)之间的单播密钥加密数据包,然后转发。
[0044]
d)通信目的节点node
destination
使用与最后一个交换设备sw
last
之间的单播密钥解密数据包。
[0045]
type4:用户终端到直连交换设备的通信策略,见图6。
[0046]
网络中用户终端与直连交换设备之间有单播密钥,类型为type4的数据通信采用的保密通信策略如下:
[0047]
a)通信源节点node
source
(此时为用户终端)使用与通信目的节点node
destination
(此时为交换设备,通信目的节点node
destination
同时是第一个交换设备sw
first
、最后一个交换设备sw
last
)之间的单播密钥加密数据包;
[0048]
b)通信目的节点node
destination
使用与通信源节点node
source
之间的单播密钥解密数据包。
[0049]
type5:用户终端到不直连交换设备的通信策略,见图7。
[0050]
网络中用户终端与直连交换设备之间有单播密钥、交换设备之间有交换密钥,类型为type5的数据通信采用的保密通信策略如下:
[0051]
a)通信源节点node
source
(此时为用户终端)使用与第一个交换设备sw
first
之间的单播密钥加密数据包;
[0052]
b)第一个交换设备sw
first
使用与通信源节点node
source
之间的单播密钥解密数据包,然后使用与通信目的节点node
destination
(此时为交换设备,通信目的节点node
destination
同时是最后一个交换设备sw
last
)之间的交换密钥加密数据包,然后转发;
[0053]
c)若存在中间交换设备,则中间交换设备直接转发类型为type5的数据包;
[0054]
d)通信目的节点node
destination
使用与第一个交换设备sw
first
之间的交换密钥解密数据包。
[0055]
type6:用户终端到同一交换设备下其他直连用户终端的通信策略,见图8。
[0056]
网络中用户终端与直连交换设备之间有单播密钥、同一交换设备下直连的用户终端之间可建立站间密钥。类型为type6的数据通信采用的保密通信策略如下:
[0057]
a)通信源节点node
source
(此时为用户终端)使用与通信目的节点node
destination
(此时为用户终端)之间的站间密钥加密数据包;
[0058]
b)第一个交换设备sw
first
(此时,第一个交换设备sw
first
同时是最后一个交换设备sw
last
)对于类型type6的数据包,直接转发;
[0059]
c)通信目的节点node
destination
使用与通信源节点node
source
之间的站间密钥解密数
据包。
[0060]
type7:用户终端到不同交换设备下直连的用户终端的通信策略,见图9。
[0061]
网络中用户终端与直连交换设备之间有单播密钥,交换设备之间有交换密钥,类型为type7的数据通信采用的保密通信策略如下:
[0062]
a)通信源节点node
source
(此时为用户终端)使用与第一个交换设备sw
first
之间的单播密钥加密数据包;
[0063]
b)第一个交换设备sw
first
使用与通信源节点node
source
之间的单播密钥解密数据包,然后使用与最后一个交换设备sw
last
之间的交换密钥加密数据包,再转发;
[0064]
c)若存在中间交换设备,则中间交换设备直接转发类型为type7的数据包;
[0065]
d)最后一个交换设备sw
last
使用与第一个交换设备sw
first
之间的交换密钥解密数据包,然后使用与通信目的节点node
destination
(此时为用户终端)之间的单播密钥加密数据包,再转发;
[0066]
e)通信目的节点node
destination
使用与最后一个交换设备sw
last
之间的单播密钥解密数据包。
[0067]
type8:邻居用户终端间的通信策略,见图10。
[0068]
网络中邻居用户终端间可建立站间密钥。类型为type8的数据通信采用的保密通信策略如下:
[0069]
a)通信源节点node
source
(此时为用户终端)使用与通信目的节点node
destination
(此时为用户终端)之间的站间密钥加密数据包;
[0070]
b)通信目的节点node
destination
使用与通信源节点node
source
之间的站间密钥解密数据包。
[0071]
还需要说明的是,tlp子协议定义了数据包封装格式,针对type6、type8通信类型,其数据包中的交换路径信息标识四元组中仅包含id
source
和id
destination
标识信息,且保密通信策略设置为端对端保密通信策略,其它通信类型中包含交换路径信息标识四元组[id
source
,id
sw-first
,id
sw-last
,id
destination
]所有标识信息,且保密通信策略设置为三段式保密通信策略。通常,可以用数据包中携带的保密通信策略的标识来指示启用何种保密通信策略,保密通信策略的标识可以用encrypt policy字段来表示。通信路径中的网络节点可从数据包中提取出交换路径信息标识四元组。
[0072]
在现有节点间保密通信处理方法中,通信源节点首先通过交换路径探寻过程获取从通信源节点到通信目的节点的交换路径信息标识四元组,然后根据标识四元组信息确定通信类型,而后根据所确定的通信类型实施相对应的保密通信策略完成保密通信。通过交换路径信息标识四元组确定通信类型,其方法如下:
[0073]
a)若id
sw-first
、id
sw-last
均为全f则属于类型type8,否则判断id
sw-first
=id
source
是否成立,若成立,则通信源节点node
source
是交换设备,执行步骤b);否则,通信源节点node
source
是用户终端,执行步骤d);
[0074]
b)判断id
sw-last
=id
destination
是否成立,若成立,则通信目的节点node
destination
是交换设备,从通信源节点node
source
到通信目的节点node
destination
的数据通信是交换设备到交换设备的通信,属于类型type1;否则,通信目的节点node
destination
是用户终端,执行步骤c);
[0075]
c)判断id
sw-last
=id
sw-first
是否成立,若成立,则从通信源节点node
source
到通信目
的节点node
destination
的数据只经过一个交换设备,从通信源节点node
source
到通信目的节点node
destination
的数据通信是交换设备到直连用户终端的通信,属于类型type2;否则,从通信源节点node
source
到通信目的节点node
destination
的数据经过两个以上的交换设备,从通信源节点node
source
到通信目的节点node
destination
的数据通信是交换设备到不直连用户终端的通信,属于类型type3;
[0076]
d)判断id
sw-last
=id
destination
是否成立,若成立,则通信目的节点node
destination
是交换设备,执行步骤e);否则,通信目的节点node
destination
是用户终端,执行步骤f);
[0077]
e)判断id
sw-last
=id
sw-first
是否成立,若成立,则从通信源节点node
source
到通信目的节点node
destination
的数据只经过一个交换设备,从通信源节点node
source
到通信目的节点node
destination
的数据通信是用户终端到直连交换设备的通信,属于类型type4;否则,从通信源节点node
source
到通信目的节点node
destination
的数据经过两个以上的交换设备,从通信源节点node
source
到通信目的节点node
destination
的数据通信是用户终端到不直连交换设备的通信,属于类型type5;
[0078]
f)判断id
sw-last
=id
sw-first
是否成立,若成立,则从通信源节点node
source
到通信目的节点node
destination
的数据只经过一个交换设备,从通信源节点node
source
到通信目的节点node
destination
的数据通信是用户终端到同一交换设备下其他直连用户终端的通信,属于类型type6;否则,从通信源节点node
source
到通信目的节点node
destination
的数据经过两个以上的交换设备,从通信源节点node
source
到通信目的节点node
destination
的数据通信是用户终端到不同交换设备下直连的用户终端的通信,属于类型type7。
[0079]
由此可见,在现有节点间保密通信方法中,通信源节点需要通过复杂的判断流程确定通信类型,并且不同通信类型对应不同的保密通信策略,同时还涉及到不同密钥类型的使用,增加了流程的复杂性,不利于通信效率。


技术实现要素:

[0080]
有鉴于此,本技术提供了一种节点间保密通信方法,通过以节点标识为索引存储密钥,基于节点的通信路径角色确定对应的保密通信策略,当节点需要加密或解密时,直接根据交换路径信息标识四元组中的节点标识查询密钥,实现了各节点采用统一流程完成保密通信。采用此方法,无需对网络节点的节点类型、通信类型、密钥类型进行判断,简化了现有节点间保密通信实现,提高了通信效率。对应地,本技术还提供了一种网络节点。
[0081]
本技术第一方面提供了一种节点间保密通信方法,所述节点间保密通信的通信路径角色包括通信源节点、通信路径的第一个交换设备、通信路径的中间交换设备、通信路径的最后一个交换设备以及通信目的节点,网络中的任一网络节点在与对端网络节点建立密钥后,以所述对端网络节点的节点标识作为索引存储所述密钥,所述保密通信方法应用于发送节点,包括:
[0082]
当节点在当前节点间保密通信中的通信路径角色为通信源节点,则根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包;
[0083]
当节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且端对端保密通信策略有效,则直接发送待发送的数据包;当节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设
备,且所述端对端保密通信策略无效,则根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包;
[0084]
当节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备,直接发送待发送的数据包;
[0085]
其中,所述发送节点在当前节点间保密通信中的通信路径角色根据所述发送节点的节点标识确定,所述标识四元组是根据节点间的交换路径信息确定的。
[0086]
本技术第二方面提供了一种节点间保密通信方法,所述节点间保密通信的通信路径角色包括通信源节点、通信路径的第一个交换设备、通信路径的中间交换设备、通信路径的最后一个交换设备以及通信目的节点,网络中的任一网络节点在与对端网络节点建立密钥后,以所述对端网络节点的节点标识作为索引存储所述密钥,所述保密通信方法应用于接收节点,包括:
[0087]
当节点在当前节点间保密通信中的通信路径角色为通信目的节点,则根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包;
[0088]
当节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且端对端保密通信策略有效,则直接接收待接收的数据包;当节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且所述端对端保密通信策略无效,则根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包;
[0089]
当节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备,直接接收待接收的数据包;
[0090]
其中,所述接收节点在当前节点间保密通信中的通信路径角色根据所述接收节点的节点标识确定,所述标识四元组是根据节点间的交换路径信息确定的。
[0091]
本技术第三方面提供了一种节点间保密通信方法,所述节点间保密通信的通信路径角色包括通信源节点、通信路径的第一个交换设备、通信路径的中间交换设备、通信路径的最后一个交换设备以及通信目的节点,网络中的任一网络节点在与对端网络节点建立密钥后,以所述对端网络节点的节点标识作为索引存储所述密钥,所述保密通信方法包括:
[0092]
当节点在当前节点间保密通信中的通信路径角色为通信源节点,则根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包;
[0093]
当节点在当前节点间保密通信中的通信路径角色为通信目的节点,则根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包;
[0094]
当节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且端对端保密通信策略有效,则直接转发数据包;当节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且所述端对端保密通信策略无效,则首先根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包,然后根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包;
[0095]
当节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备,直接转发数据包;
[0096]
其中,所述节点在当前节点间保密通信中的通信路径角色根据所述节点的节点标
识确定,所述标识四元组是根据节点间的交换路径信息确定的。
[0097]
本技术第四方面提供了一种网络节点,应用于终端,所述节点包括:
[0098]
存储模块,用于在与对端网络节点建立密钥后,以所述对端网络节点的节点标识作为索引存储所述密钥;
[0099]
所述节点还包括:
[0100]
加密模块,用于所述节点在当前节点间保密通信中的通信路径角色为通信源节点时,根据标识四元组中的节点标识获取用于加密的密钥,对数据包进行加密;所述通信路径角色是根据所述节点的节点标识确定,所述标识四元组是根据节点间的交换路径信息确定;发送模块,用于发送加密后的数据包;
[0101]
和/或,
[0102]
接收模块,用于接收数据包;
[0103]
解密模块,用于所述节点在当前节点间保密通信中的通信路径角色为通信目的节点时,根据标识四元组中的节点标识获取用于解密的密钥,解密所述数据包。
[0104]
本技术第五方面提供了一种网络节点,应用于交换设备,所述节点包括:
[0105]
存储模块,用于在与对端网络节点建立密钥后,以所述对端网络节点的节点标识作为索引存储所述密钥;
[0106]
所述节点还包括:
[0107]
加密模块,用于所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且端对端保密通信策略无效时,则根据标识四元组中的节点标识获取用于加密的密钥,对数据包进行加密;所述通信路径角色是根据所述节点的节点标识确定,所述标识四元组是根据节点间的交换路径信息确定;
[0108]
发送模块,用于所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且所述端对端保密通信策略无效时,发送加密后的数据包;所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且所述端对端保密通信策略有效时,直接发送待发送的数据包;所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备时,直接发送待发送的数据包;
[0109]
和/或,
[0110]
接收模块,用于所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且所述端对端保密通信策略有效时,则直接接收待接收的数据包;所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且所述端对端保密通信策略无效时,则接收数据包待解密;所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备时,直接接收待接收的数据包;
[0111]
解密模块,用于所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且所述端对端保密通信策略无效时,则根据标识四元组中的节点标识获取用于解密的密钥,解密数据包。
[0112]
由此可见,该方法基于节点标识确定节点的通信路径角色,并基于节点的通信路径角色确定节点的处理方式,如此,各节点采用统一流程即可完成保密通信整体过程,无需
判断通信类型,降低了流程的复杂性,提高了节点间保密通信效率。此外,该方法以节点标识作为索引存储密钥,并且根据节点的通信路径角色配置了对应的密钥查找方法,如此,在查询密钥时仅根据节点标识查询即可,无需判断节点间密钥类型,提高了密钥查找效率,进而提高了节点间保密通信效率。
[0113]
进一步地,根据本技术提供的节点间保密通信方法制造的设备具有较好的兼容性,能够与根据tlsec协议制造的设备兼容。例如,发送方为根据本技术提供的上述方法制造的设备时,接收方既可以是根据本技术提供的上述方法制造的设备,也可以是基于tlsec协议制造的设备。同理,接收方为根据本技术提供的上述方法制造的设备时,发送方既可以是根据本技术提供的上述方法制造的设备,也可以是基于tlsec协议制造的设备。
附图说明
[0114]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0115]
图1为本技术实施例中一种交互路径信息对应的网络结构的示意图;
[0116]
图2为局域网基本框架的示意图;
[0117]
图3a为相邻的交换设备到交换设备的通信示意图;
[0118]
图3b为不相邻的交换设备到交换设备的通信示意图;
[0119]
图4为交换设备到直连用户终端的通信示意图;
[0120]
图5为交换设备到不直连的用户终端的通信示意图;
[0121]
图6为用户终端到直连交换设备的通信示意图;
[0122]
图7为用户终端到不直连的交换设备的通信示意图;
[0123]
图8为用户终端到同一交换设备下其他直连用户终端的通信示意图;
[0124]
图9为用户终端到不同交换设备下直连用户终端的通信示意图;
[0125]
图10为邻居用户终端间的通信示意图;
[0126]
图11a为本技术实施例中一种节点间保密通信方法的流程图;
[0127]
图11b为本技术实施例中一种节点间保密通信方法的流程图;
[0128]
图12为本技术实施例中源节点和目的节点为同一交换设备直连的用户终端的网络结构的示意图;
[0129]
图13a为本技术实施例中一种节点间保密通信方法的流程图;
[0130]
图13b为本技术实施例中一种节点间保密通信方法的流程图;
[0131]
图14a为本技术实施例中一种节点间保密通信方法的流程图;
[0132]
图14b为本技术实施例中一种节点间保密通信方法的流程图;
[0133]
图15为本技术实施例中一种节点间保密通信方法的应用场景示意图;
[0134]
图16为本技术实施例中一种网络节点的结构示意图;
[0135]
图17为本技术实施例中一种网络节点的结构示意图。
具体实施方式
[0136]
为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0137]
为了使得本技术的技术方案更加易于理解,下面先对本技术产生的背景以及涉及的技术术语进行解释说明。
[0138]
对于任意网络节点,如通信源节点、通信目的节点、通信路径的第一个交换设备、通信路径的最后一个交换设备或者通信路径的中间交换设备,其节点标识可以是任意能够唯一表征节点身份的标识。
[0139]
在具体实现时,节点标识可以是节点的媒体访问控制地址(medium access control,mac)。当然,在本技术实施例其他可能的实现方式中,节点标识还可以是节点在通信网络中的序号或者随机生成的通用唯一识别码(universally unique identifier,uuid)等等。后文均以id作为节点标识进行示例性说明,其并不构成对本技术技术方案的限定。
[0140]
然而针对背景技术中所提到的三段式节点间保密通信方法实现,由于其实现方法基于通信类型判断、节点类型判断等多项判断过程,其判断过程复杂,影响执行效率,且针对用户终端和交换设备不具备统一的执行流程,大大影响三段式节点间保密通信方法的实际应用。
[0141]
为此,本技术提出了一种三段式节点间保密通信方法的优化实现方法,该方法不对节点间密钥类型进行区分,而是以节点标识作为索引存储节点间密钥,通过比对节点标识的方式确定节点在当前节点间保密通信中的通信路径角色,基于该通信路径角色确定相应的保密通信策略。
[0142]
网络中任意建立密钥的一对网络节点,各节点均以对端节点的节点标识为索引存储所述密钥,如相邻节点建立单播密钥、两两交换设备建立交换密钥及用户终端间建立站间密钥。所存储的密钥不必区分其密钥类型,各自仅以对端节点的节点标识为索引存储。
[0143]
根据tlp子协议中关于节点间交换路径的定义可知,通信源节点到通信目的节点的节点间交换路径共包含通信源节点、通信路径的第一个交换设备、通信路径的中间交换设备、通信路径的最后一个交换设备以及通信目的节点五种通信路径角色。
[0144]
在实际通信过程中,通信源节点和通信目的节点两种通信路径角色是必然存在的,通信路径的第一个交换设备、通信路径的中间交换设备和通信路径的最后一个交换设备三种通信路径角色根据实际网络连接情况,可能全部存在、也可能全部不存在,也可能存在三种通信路径角色的任意一种组合情况。
[0145]
通过节点间交换路径探寻过程,获得节点间交换路径信息标识四元组[id
source
,id
sw-first
,id
sw-last
,id
destination
],标识四元组中各id标识分别为交换路径中通信源节点、通信路径的第一个交换设备、通信路径的最后一个交换设备以及通信目的节点通信路径角色,位于通信路径中相应的网络节点的节点标识。
[0146]
因此,针对网络节点,当其接收到数据包后,网络节点依据数据包中所携带的标识四元组信息首先确定其在当前节点间保密通信过程中的通信路径角色,依据局域网架构及
其组成所确定的8种通信类型可知,当网络节点在当前节点间保密通信过程中的通信路径角色为通信源节点,在通信类型type5和通信类型type7中其下一交换节点为第一个交换设备,在通信类型type3中其下一交换节点为最后一个交换设备,在通信类型type1、type2、type4、type6、type8中其下一交换节点为目的节点;当网络节点在当前节点间保密通信过程中的通信路径角色为通信路径的第一个交换设备,在通信类型type5中,其上一交换节点为通信源节点,其下一交换节点为目的节点,在通信类型type7中,其上一交换节点为通信源节点,其下一交换节点为最后一个交换设备;当网络节点在当前节点间保密通信过程中的通信路径角色为通信路径的最后一个交换设备,在通信类型type3中其上一交换节点为通信源节点,其下一交换节点为目的节点,在通信类型type7中其上一交换节点为第一个交换设备,下一交换节点为目的节点;当网络节点在当前节点间保密通信过程中的通信路径角色为通信目的节点,在通信类型type1、type2、type4、type6、type8中,其上一交换节点为通信源节点,在通信类型type3、type7中,其上一交换节点为最后一个交换设备,在通信类型type5中,其上一交换节点为第一个交换设备;当网络节点在当前节点间保密通信过程中的通信路径角色为通信路径的中间交换设备,直接转发数据包。需要说明的是,当通信源节点为交换设备时,其通信路径角色为通信源节点,当通信目的节点为交换设备时,其通信路径角色为通信目的节点。
[0147]
当网络节点解密上一交换节点加密的数据包时,其以上一交换节点的节点标识为索引在网络节点存储的密钥中进行查询而后解密数据包;当网络节点加密下一交换节点将要解密的数据包时,其以下一交换节点的节点标识为索引在网络节点存储的密钥中进行查询而后加密数据包。交换节点即其节点标识位于交换路径信息标识四元组中的网络节点。
[0148]
具体的,网络中的任一网络节点在与对端网络节点建立密钥后,以所述对端网络节点的节点标识作为索引存储所述密钥。节点在当前节点间保密通信中的通信路径角色为通信源节点时,根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包;节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且端对端保密通信策略有效时,则直接转发数据包;节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且所述端对端保密通信策略无效时,则首先根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包,然后根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包;当节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备,直接转发数据包;当节点在当前节点间保密通信中的通信路径角色为通信目的节点时,根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包,从而实现通信源节点和通信目的节点间的保密通信。
[0149]
如此,各节点采用统一流程即可完成保密通信整体过程,无需判断通信类型,降低了流程的复杂性,提高了节点间保密通信效率。并且,该方法以节点标识作为索引存储密钥,并且根据节点的通信路径角色配置了对应的密钥查找方法。如此,在查询密钥时仅根据节点标识查询即可,无需判断节点间密钥类型,提高了密钥查找效率,进而提高了节点间保密通信效率。
[0150]
具体的,若节点在当前节点间保密通信中的通信路径角色为通信源节点,则所述根据标识四元组中的节点标识获取用于加密的密钥包括:按照标识四元组中通信目的节
点、最后一个交换设备、第一个交换设备的先后顺序或按照通信目的节点、第一个交换设备、最后一个交换设备的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥。
[0151]
若节点在当前节点间保密通信中的通信路径角色为通信目的节点,则所述根据标识四元组中的节点标识获取用于解密的密钥包括:按照标识四元组中通信源节点、第一个交换设备、最后一个交换设备的先后顺序或按照通信源节点、最后一个交换设备、第一个交换设备的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥。
[0152]
若节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备,则所述根据标识四元组中的节点标识获取用于解密的密钥包括:按照标识四元组中通信源节点、第一个交换设备的先后顺序或按照第一个交换设备、通信源节点的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;所述根据标识四元组中的节点标识获取用于加密的密钥包括:判断所述节点是否保存有以标识四元组中所述通信目的节点的节点标识为索引的密钥。
[0153]
若节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备,则所述根据标识四元组中的节点标识获取用于解密的密钥包括:判断所述节点是否保存有以标识四元组中所述通信源节点的节点标识为索引的密钥;所述根据标识四元组中的节点标识获取用于加密的密钥包括:按照通信目的节点、最后一个交换设备的先后顺序或按照最后一个交换设备、通信目的节点的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥。
[0154]
可以理解,本技术实施例提供的节点间保密通信方法可以应用于网络节点。网络节点是指连接到通信网络中的网络通信实体。具体地,网络节点可以是交换设备,如交换机、路由器等等,网络节点还可以是用户终端(user end,ue),如手机、平板电脑、膝上型个人计算机、桌面型个人计算机等能够通过任何形式的有线连接,实现与其他节点交互的用户设备。
[0155]
为了使得本技术的技术方案更加清楚、易于理解,下面将结合附图对本技术实施例提供的节点间保密通信方法进行介绍。
[0156]
首先,从发送节点的角度对发送处理过程进行介绍。其中,节点间保密通信的通信路径角色包括通信源节点、通信路径的第一个交换设备、通信路径的中间交换设备、通信路径的最后一个交换设备以及通信目的节点。网络中的任一网络节点在与对端网络节点建立密钥后,以所述对端网络节点的节点标识作为索引存储所述密钥。参见图11a所示的节点间保密通信方法的流程图,该方法包括:
[0157]
s1101:发送节点根据自身的节点标识确定所述发送节点的通信路径角色。若发送节点的通信路径角色为通信源节点,则执行s1102;若发送节点的通信路径角色为通信路径的第一个交换设备或通信路径的最后一个交换设备,则执行s1103;若发送节点的通信路径角色为通信路径的中间交换设备,则执行s1104。
[0158]
其中,所述发送节点的通信路径角色是指该发送节点在当前节点间保密通信中所承担的角色。通信路径角色具体可以包括通信源节点、通信路径的第一个交换设备、通信路径的中间交换设备、通信路径的最后一个交换设备以及通信目的节点。通信路径角色是根
据所述发送节点的节点标识确定的。在具体实现时,发送节点可以获取自身的节点标识,并将自身的节点标识与待发送的数据包中携带的标识四元组进行比较,若自身的节点标识与标识四元组中某一通信路径角色的节点标识匹配,则确定发送节点为该通信路径角色。在实际应用中,通信源节点可以先查询本地是否保存有标识四元组,若是,则将所述标识四元组添加至数据包,以便通信路径的各个网络节点基于该数据包中携带的标识四元组确定通信路径角色,若否,则先发起tlp交换路径探寻请求,以获得标识四元组。
[0159]
对于发送节点而言,其通信路径角色不可能为通信目的节点,因此,在将发送节点自身的节点标识与标识四元组进行比较时,可以仅与标识四元组中的通信源节点、第一个交换设备以及最后一个交换设备的节点标识进行比较,以确定发送节点的通信路径角色。
[0160]
具体地,发送节点可以通过如下步骤确定发送节点在当前节点间保密通信中的通信路径角色:
[0161]
s11011:发送节点判断当前节点间保密通信中标识四元组中通信源节点的节点标识是否与所述发送节点的节点标识相等,得到第一判断结果,若所述第一判断结果为是,则确定所述发送节点在当前节点间保密通信中的通信路径角色为通信源节点。
[0162]
s11012:若所述第一判断结果为否,则判断所述当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与所述发送节点的节点标识相等,得到第二判断结果,若所述第二判断结果为是,则确定所述发送节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备。
[0163]
s11013:若所述第二判断结果为否,则判断所述当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与所述发送节点的节点标识相等,得到第三判断结果,若所述第三判断结果为是,则确定所述发送节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备;若所述第三判断结果为否,则确定所述发送节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备。
[0164]
需要说明的是,针对上述s11012和s11013,在第一判断结果为否时,发送节点也可以先判断当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与发送节点的节点标识相等,得到第四判断结果,若第四判断结果为是,则确定发送节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备,若第四判断结果为否,则再判断当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与所述发送节点的节点标识相等,得到第五判断结果,若第五判断结果为是,则确定所述发送节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备,若第五判断结果为否,则确定发送节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备。
[0165]
也即,发送节点在确定其通信路径角色时,优先判断其通信路径角色是否为通信源节点,然后再判断其通信路径角色是否为通信路径的第一个交换设备或通信路径的最后一个交换设备。换言之,发送节点可以按照id
source->id
sw-last->id
sw-first
或者id
source->id
sw-first->id
sw-last
的先后顺序依次与发送节点自身的id即本地id进行比较,以确定发送节点在当前节点间保密通信中的通信路径角色。需要说明的是,若确定出通信路径角色,则可以不用再执行与后续节点标识进行比较的步骤。例如,发送节点已确定出通信路径角色为通信源节点,则可以不执行将本地id与id
sw-first
或者id
sw-last
比较的步骤。
[0166]
对应地,在确定发送节点的通信路径角色后,发送节点可以基于其在当前节点间保密通信路径中的通信路径角色,执行与该通信路径角色相对应的发送处理操作。具体地,当节点的通信路径角色为通信源节点,执行s1102;当节点的通信路径角色为通信路径的第一个交换设备或通信路径的最后一个交换设备,执行s1103;当节点的通信路径角色为通信路径的中间交换设备,执行s1104。
[0167]
s1102:发送节点根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包。
[0168]
若发送节点在当前节点间保密通信中的通信路径角色为通信源节点,则按照标识四元组中通信目的节点、最后一个交换设备、第一个交换设备的先后顺序或按照通信目的节点、第一个交换设备、最后一个交换设备的先后顺序依次判断所述发送节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥。也即针对通信源节点,按照id
destination->id
sw-last->id
sw-first
顺序或者id
destination->id
sw-first->id
sw-last
顺序依次进行密钥查询,以获取用于加密的密钥。需要说明的是,密钥查询只需依据密钥查询顺序获取到密钥即可,一旦获取到密钥,则可以不用再执行以后续节点标识为索引的密钥查询的步骤。例如,发送节点已获取到由id
destination
节点标识为索引的密钥,则可以不再执行以id
sw-first
及id
sw-last
节点标识为索引的密钥查询步骤。
[0169]
发送节点若保存有以标识四元组中上述节点的节点标识为索引的密钥,则利用所述密钥对待发送的数据包进行加密处理,然后再发送数据包。若未保存有以标识四元组中上述节点的节点标识为索引的密钥,则将数据包丢弃。
[0170]
s1103:如果端对端保密通信策略有效,则发送节点直接发送待发送的数据包,如果所述端对端保密通信策略无效,则发送节点根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包。
[0171]
端对端保密通信策略是指利用源端与目的端间的密钥进行保密通信的策略,其中,源端即通信源节点,目的端即通信目的节点。数据包中例如数据包的包头中可以携带保密通信策略的标识,保密通信策略的标识可以指示是否启用端对端保密通信策略。在一个示例中,保密通信策略的标识取值为1,则表明端对端保密通信策略有效,启用端对端保密通信策略,保密通信策略的标识取值不是1,则表明端对端保密通信策略无效,不启用端对端保密通信策略。
[0172]
当通信源节点和通信目的节点均为用户终端,端对端保密通信策略有效时,通信路径的第一个交换设备以及通信路径的最后一个交换设备可以直接发送待发送的数据包,无需进行其他处理。
[0173]
具体地,请参见图12,当通信源节点为用户终端sta1,通信目的节点为同一交换设备sw
e
下的其他直连用户终端sta3,也即tlp中定义的8种通信类型中的通信类型type 6时,若发送节点为通信源节点和通信目的节点直连的交换设备sw
e
,并且待发送的数据包对应的端对端保密通信策略有效,则交换设备sw
e
可以直接将待发送的数据包发送给直连至该交换设备的通信目的节点。如此,通信目的节点可以采用与通信源节点建立的密钥(这种密钥通常可被称为站间密钥)stakey
1-3
解密数据包,从而实现通信源节点sta1和通信目的节点sta3之间的保密通信。
[0174]
若端对端保密通信策略无效,则发送节点根据标识四元组中的节点标识获取用于
加密的密钥,加密后再发送数据包。其中,获取密钥的具体实现方式如下:
[0175]
若所述发送节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备,则按照标识四元组中通信目的节点、最后一个交换设备的先后顺序或按照最后一个交换设备、通信目的节点的先后顺序依次判断所述发送节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;
[0176]
若所述发送节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备,则判断所述发送节点是否保存有以标识四元组中所述通信目的节点的节点标识为索引的密钥。
[0177]
也即,发送节点针对通信路径的第一个交换设备,依据id
destination->id
sw-last
顺序或id
sw-last->id
destination
顺序依次进行密钥查询,针对通信路径的最后一个交换设备,根据id
destination
进行密钥查询。若查找到密钥,则利用该以标识四元组中上述节点的节点标识为索引的密钥加密数据包,然后再发送数据包。若未查找到密钥,则丢弃数据包。
[0178]
s1104:发送节点直接发送待发送的数据包。
[0179]
当所述发送节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备时,由于数据包已采用通信源节点与通信路径的最后一个交换设备间密钥、通信源节点与通信目的节点间密钥、通信路径的第一个交换设备与通信路径的最后一个交换设备间密钥或通信路径的第一个交换设备与通信目的节点间密钥进行过保密处理了,此时,所述发送节点无需再对数据包进行加密,直接发送数据包即可。
[0180]
在实际应用中,还可能存在如下情况,即端对端保密通信策略有效,但数据包中仅包含通信源节点和通信目的节点的节点标识,如此,当数据包经过通信路径的第一个交换设备或通信路径的最后一个交换设备时,由于数据包中不包含通信路径中的第一个交换设备和通信路径中最后一个交换设备的节点标识,所以当进行通信路径角色判断时,通信路径的第一个交换设备或通信路径的最后一个交换设备被判断为通信路径的中间交换设备,直接转发数据包。
[0181]
在本实施例中,s1102至s1104并不存在先后顺序,针对通信路径中的每个节点,其基于自身的通信路径角色执行相应的操作,从而实现节点间保密通信的发送过程。
[0182]
基于以上实施例,可以将发送节点处理过程分为两种类型,一种类型为直接发送处理,即发送节点对数据包进行直接发送,一种类型为加密发送处理,其需要对数据包进行加密处理再发送。如此,在一些实施方式中,发送节点可以优先判断是否符合直接发送处理条件,若符合,则直接发送数据包;若不符合,则基于发送节点的通信路径角色执行相应的处理过程。
[0183]
针对发送节点,其直接发送处理判断条件可以包括以下几种情况:一种情况为,端对端保密通信策略有效,且发送节点的通信路径角色不是通信源节点;另一种情况为,端对端保密通信策略无效,且发送节点的通信路径角色既不是通信源节点,也不是通信路径的第一个交换设备和通信路径的最后一个交换设备,即发送节点为通信路径的中间交换设备。若发送节点判断符合上述直接发送处理条件中的任意一种,即可直接发送数据包。
[0184]
需要说明的是,本技术实施例提供的节点间保密通信方法建议以应用程序或软件的形式实现,该应用程序或软件可以是利用汇编语言等面向机器的程序设计语言实现该方法,也可以是利用c语言等高级程序语言实现该方法。
[0185]
若使用汇编语言等面向机器的程序设计语言,则编译结果中可以直接呈现发送节点的节点标识与通信源节点、通信路径的第一个交换设备、通信路径的最后一个交换设备的节点标识的比较结果,因而可以直接呈现发送节点的通信路径角色,当发送节点不符合直接发送处理条件时,可以直接基于该通信路径角色执行相应的处理过程,其具体实现可以参照图11a所示实施例相关内容描述,此时只需根据发送节点的通信路径角色执行相应的加密发送处理过程。
[0186]
若使用c语言等高级程序设计语言实现该方法,则由于编译结果中只能呈现出是否符合直接发送处理条件,而无法呈现发送节点的通信路径角色,因此,当发送节点判断不符合直接发送处理条件时,需要再判断发送节点的通信路径角色,然后基于通信路径角色执行相应的处理过程。其具体实现可以参照图11b,图11b示出了节点间保密通信方法一种实现方式对应的流程图,具体包括如下步骤:
[0187]
s1110:发送节点判断自身是否符合直接发送处理条件,若是,则执行s1120;若否,则执行s1130。
[0188]
在具体实现时,发送节点通过比较自身的节点标识与标识四元组中通信源节点、通信路径的第一个交换设备以及通信路径的最后一个交换设备的节点标识,并且判断端对端保密通信策略是否有效,以确定是否符合直接发送处理条件。
[0189]
具体地,当端对端保密通信策略有效,且发送节点自身的节点标识不等于通信源节点的节点标识时,可以确定其符合直接发送处理条件。或者,当端对端保密通信策略无效,且发送节点自身的节点标识不等于通信源节点的节点标识,也不等于通信路径的第一个交换设备的节点标识和通信路径的最后一个交换设备的节点标识时,也可以确定其符合直接发送处理条件。
[0190]
当发送节点确定自身符合直接发送处理条件时,可以直接执行s1120,即直接发送数据包;当发送节点确定自身不符合直接发送处理条件时,执行s1130,即重新确定发送节点的通信路径角色,并基于该通信路径角色对数据包进行额外的加密处理。
[0191]
需要说明的是,当发送节点判断不符合上述直接发送处理条件时,即发送节点的通信路径角色为中间交换设备时,判断端对端保密通信策略实际上是冗余的。因为对于中间交换设备来说,其并不关心端对端保密通信策略,而在本实施例中如此处理是为了更便于使用c语言等高级程序设计语言来进行工程实现。
[0192]
s1120:直接发送数据包。
[0193]
s1130:发送节点根据自身的节点标识以及标识四元组中各通信路径角色的节点标识确定所述发送节点的通信路径角色,并根据标识四元组中的节点标识获取用于加密的密钥对数据包加密,然后再发送数据包。
[0194]
其中,根据标识四元组中的节点标识获取用于加密的密钥,并利用获取的密钥进行加密的过程可以参见上文相关内容描述,在此不再赘述。
[0195]
由上可知,本技术实施例提供了一种节点间保密通信方法,该节点间保密通信方法主要是针对节点间保密通信的发送处理过程,在该方法中,发送节点基于其通信路径角色执行相应的操作。具体地,若通信路径角色为通信源节点,则根据标识四元组中的节点标识获取用于加密的密钥,对数据包进行加密处理后再发送;若通信路径角色为通信路径的第一个交换设备或通信路径的最后一个交换设备,且端对端保密通信策略有效时,直接发
送数据包;若通信路径角色为通信路径的第一个交换设备或通信路径的最后一个交换设备,且所述端对端保密通信策略无效时,则根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包;当节点的通信路径角色为中间交换设备,则直接发送待发送的数据包。如此,各节点采用统一流程即可完成保密通信整体过程,无需判断通信类型,降低了流程的复杂性,提高了节点间保密通信效率。
[0196]
并且,该方法以节点标识作为索引存储密钥,并且根据节点的通信路径角色配置了对应的密钥查找方法。如此,在查询密钥时仅根据节点标识查询即可,无需判断节点间密钥类型,提高了密钥查找效率,进而提高了节点间保密通信效率。
[0197]
接下来,从接收节点的角度对接收处理过程进行介绍。其中,节点间保密通信的通信路径角色包括通信源节点、通信路径的第一个交换设备、通信路径的中间交换设备、通信路径的最后一个交换设备以及通信目的节点,网络中的任一网络节点在与对端网络节点建立密钥后,以所述对端网络节点的节点标识作为索引存储所述密钥。参见图13a所示的节点间保密通信方法的流程图,该方法包括:
[0198]
s1301:接收节点根据自身的节点标识确定所述接收节点的通信路径角色。若接收节点的通信路径角色为通信目的节点,则执行s1302;若接收节点的通信路径角色为通信路径的第一个交换设备或通信路径的最后一个交换设备,则执行s1303;若接收节点的通信路径角色为通信路径的中间交换设备,则执行s1304。
[0199]
其中,接收节点的通信路径角色是指该接收节点在当前节点间保密通信中所承担的角色。接收节点的通信路径角色是根据所述接收节点的节点标识确定的。在具体实现时,接收节点可以获取自身的节点标识,并将自身的节点标识与待接收的数据包中携带的标识四元组进行比较,若自身的节点标识与标识四元组中某一通信路径角色的节点标识匹配,则确定接收节点为该通信路径角色。
[0200]
对于接收节点而言,其通信路径角色不可能为通信源节点,因此,在将接收节点自身的节点标识与标识四元组进行比较时,可以仅与标识四元组中的通信路径的第一个交换设备、通信路径的最后一个交换设备以及通信目的节点的节点标识进行比较,以确定接收节点的通信路径角色。
[0201]
具体地,接收节点可以通过如下步骤确定接收节点在当前节点间保密通信中的通信路径角色:
[0202]
s13011:接收节点判断当前节点间保密通信中标识四元组中通信目的节点的节点标识是否与所述接收节点的节点标识相等,得到第一判断结果,若所述第一判断结果为是,则确定所述接收节点在当前节点间保密通信中的通信路径角色为通信目的节点。
[0203]
s13012:若所述第一判断结果为否,则判断所述当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与所述接收节点的节点标识相等,得到第二判断结果,若所述第二判断结果为是,则确定所述接收节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备。
[0204]
s13013:若所述第二判断结果为否,则判断所述当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与所述接收节点的节点标识相等,得到第三判断结果,若所述第三判断结果为是,则确定所述接收节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备;若所述第三判断结果为否,则确定所述接收节点在当
前节点间保密通信中的通信路径角色为通信路径的中间交换设备。
[0205]
需要说明的是,针对上述s13012和s13013,在第一判断结果为否时,接收节点也可以先判断当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与接收节点的节点标识相等,得到第四判断结果,若第四判断结果为是,则确定接收节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备,若第四判断结果为否,则再判断当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与所述接收节点的节点标识相等,得到第五判断结果,若第五判断结果为是,则确定所述接收节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备,若第五判断结果为否,则确定接收节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备。
[0206]
也即,接收节点在确定其通信路径角色时,优先判断其通信路径角色是否为通信目的节点,然后再判断其通信路径角色是否为通信路径的第一个交换设备或通信路径的最后一个交换设备。换言之,接收节点可以按照id
destination->id
sw-last->id
sw-first
或者id
destination->id
sw-first->id
sw-last
的先后顺序依次与接收节点自身的id即本地id进行比较,以确定接收节点在当前节点间保密通信中的通信路径角色。需要说明的是,若确定出通信路径角色,则可以不用再执行与后续节点标识进行比较的步骤。例如,接收节点已确定出通信路径角色为通信目的节点,则可以不执行将本地id与id
sw-first
或者id
sw-last
比较的步骤。
[0207]
还需要说明的是,针对第一判断结果为否的情况,也即接收节点的本地id不等于id
destination
时,若该接收节点为用户终端,而用户终端不可能作为中间设备转发数据,此时,无需执行后续判断步骤,接收节点将数据包丢弃。
[0208]
在实际应用中,各节点将其节点标识与标识四元组中的节点标识进行比较即可确定其通信路径角色,针对任一节点,若在发送处理时已确定出通信路径角色,则在接收处理时,无需重新确定其通信路径角色,对应的,若在接收处理时,已确定出其通信路径角色,则在发送处理时,无需重新确定其通信路径角色。
[0209]
对应地,在确定接收节点的通信路径角色后,接收节点可以基于其在当前节点间保密通信路径中的通信路径角色,执行与该通信路径角色相对应的接收处理操作。具体地,当节点的通信路径角色为通信目的节点,执行s1302;当节点的通信路径角色为通信路径的第一个交换设备或通信路径的最后一个交换设备,执行s1303;当节点的通信路径角色为通信路径的中间交换设备,执行s1304。
[0210]
s1302:接收节点根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包。
[0211]
若接收节点在当前节点间保密通信中的通信路径角色为通信目的节点,则按照通信源节点、通信路径的第一个交换设备以及通信路径的最后一个交换设备的先后顺序或按照通信源节点、通信路径的最后一个交换设备以及通信路径的第一个交换设备的先后顺序依次判断接收节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;也即针对通信目的节点,按照id
source->id
sw-last->id
sw-first
顺序或者id
source->id
sw-first->id
sw-last
顺序依次进行密钥查询,以获取用于解密的密钥。
[0212]
接收节点若保存有以标识四元组中的节点标识为索引的密钥,则在接收数据包后,利用所述密钥对数据包进行解密处理。若未保存以标识四元组中的节点标识为索引的
密钥,则将数据包丢弃。
[0213]
s1303:如果端对端保密通信策略有效,则接收节点直接接收待接收的数据包,如果所述端对端保密通信策略无效,则接收节点根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包。
[0214]
其中,端对端保密通信策略的相关内容描述可以参见发送处理侧。当接收节点为通信路径的第一个交换设备或最后一个交换设备,且待接收的数据包对应的端对端保密通信策略有效时,则接收节点直接接收该待接收的数据包。
[0215]
仍以图12为例进行说明,接收节点sw
e
为通信路径的第一个交换设备,也是通信路径的最后一个交换设备,待接收的数据包对应的端对端通信策略标识有效时,sw
e
直接接收待接收的数据包,即针对通信源节点sta1发送的数据包,无需进行额外的解密操作。如此,sw
e
在执行后续发送处理时,再直接发送该数据包,无需进行额外的加密操作。
[0216]
当待接收的数据包对应的端对端保密通信策略无效时,则接收节点需要接收数据包,并对数据包进行解密处理。在具体实现时,接收节点根据标识四元组中的节点标识获取对应的密钥,并利用该密钥解密数据包。其中,获取密钥的具体实现方式如下:
[0217]
若所述接收节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备,则按照通信源节点、第一个交换设备的先后顺序或按照第一个交换设备、通信源节点的先后顺序依次判断所述接收节点是否保存有以标识四元组中的节点标识为索引的密钥;
[0218]
若所述接收节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备,则判断所述接收节点是否保存有以标识四元组中通信源节点的节点标识为索引的密钥。
[0219]
也即,接收节点针对通信路径的最后一个交换设备,依据id
source->id
sw-first
顺序或id
sw-first->id
source
顺序依次进行密钥查询,针对通信路径的第一个交换设备,根据id
source
进行密钥查询。若查找到密钥,则在接收数据包后,利用该以标识四元组中上述节点的节点标识为索引的密钥解密数据包。若未查找到密钥,则丢弃数据包。
[0220]
s1304:接收节点直接接收待接收的数据包。
[0221]
当所述接收节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备时,由于数据包已采用通信源节点与通信路径的最后一个交换设备间密钥、通信源节点与通信目的节点间密钥、通信路径的第一个交换设备与通信路径的最后一个交换设备间密钥或通信路径的第一个交换设备与通信目的节点间密钥进行过保密处理了,此时,所述接收节点无需再对数据包进行解密,直接接收数据包即可。
[0222]
在本实施例中,s1302至s1304并不存在先后顺序,针对通信路径中的每个节点,其基于自身的通信路径角色执行相应的操作,从而实现节点间保密通信的接收过程。
[0223]
与发送节点类似,也可以将接收节点处理过程分为两种类型,一种类型为直接接收处理,即接收节点对数据包仅执行接收操作,一种类型为在执行接收操作后还需执行解密操作。如此,在一些实施方式中,接收节点可以优先判断该节点是否符合直接接收处理条件,若符合,则直接接收数据包;若不符合,则基于接收节点的通信路径角色执行相应的处理过程。
[0224]
针对接收节点,其直接接收处理判断条件可以包括以下几种情况:一种情况为,端
对端保密通信策略有效,且接收节点的通信路径角色不是通信目的节点;另一种情况为,端对端保密通信策略无效,且接收节点的通信路径角色既不是通信目的节点,也不是通信路径的第一个交换设备和通信路径的最后一个交换设备,也即接收节点为通信路径的中间交换设备。若接收节点判断符合上述直接接收处理条件中的任意一种,即可直接接收数据包,而无需执行额外的解密操作。
[0225]
需要说明的是,本技术实施例提供的节点间保密通信方法建议以应用程序或软件的形式实现,该应用程序或软件可以是利用汇编语言等面向机器的程序设计语言实现该方法,也可以是利用c语言等高级程序语言实现该方法。
[0226]
若使用汇编语言等面向机器的程序设计语言,则编译结果中可以直接呈现接收节点的节点标识与通信目的节点、通信路径的第一个交换设备、通信路径的最后一个交换设备的节点标识的比较结果,因而可以直接呈现接收节点的通信路径角色,当接收节点不符合直接接收处理条件时,可以直接基于该通信路径角色执行相应的处理过程,其具体实现可以参照图13a所示实施例相关内容描述,此时只需根据接收节点的通信路径角色执行相应的接收和解密处理过程。
[0227]
若使用c语言等高级程序设计语言实现该方法,则由于编译结果中只能呈现出接收节点是否符合直接接收处理条件,而无法呈现接收节点的通信路径角色,因此,接收节点不符合直接接收处理条件时,需要再判断接收节点的通信路径角色,然后基于通信路径角色执行相应的处理过程。其具体实现可以参照图13b,图13b示出了节点间保密通信方法的一种实现方式对应的流程图,具体包括如下步骤:
[0228]
s1310:接收节点判断自身是否符合直接接收处理条件,若是,则执行s1320;若否,则执行s1330。
[0229]
在具体实现时,接收节点通过比较自身的节点标识与标识四元组中通信目的节点、通信路径的第一个交换设备以及通信路径的最后一个交换设备的节点标识,并且判断端对端保密通信策略是否有效,以确定自身是否符合直接接收处理条件。
[0230]
具体地,当端对端保密通信策略有效,且接收节点自身的节点标识不等于通信目的节点的节点标识时,可以确定其符合直接接收处理条件。当端对端保密通信策略无效,且接收节点自身的节点标识不等于通信目的节点的节点标识,也不等于通信路径的第一个交换设备的节点标识和通信路径的最后一个交换设备的节点标识时,也可以确定其符合直接接收处理条件。
[0231]
当接收节点确定自身符合直接接收处理条件时,可以直接执行s1320,即直接接收数据包;当接收节点确定自身不符合直接接收处理条件时,可以执行s1330,即重新确定接收节点的通信路径角色,并基于该通信路径角色对数据包进行额外的解密处理。
[0232]
需要说明的是,当接收节点判断不符合上述直接接收处理条件时,即接收节点的通信路径角色为中间交换设备时,判断端对端保密通信策略实际上是冗余的。因为对于中间交换设备来说,其并不关心端对端保密通信策略,而在本实施例中如此处理是为了更便于使用c语言等高级程序设计语言来进行工程实现。
[0233]
s1320:直接接收数据包。
[0234]
s1330:接收节点根据自身的节点标识以及标识四元组中各通信路径角色的节点标识确定所述接收节点的通信路径角色,并根据标识四元组中的节点标识获取用于解密的
密钥,在接收数据包后,利用所述密钥解密所述数据包。
[0235]
其中,根据标识四元组中的节点标识获取用于解密的密钥,并利用获取的密钥进行解密的过程可以参见上文相关内容描述,在此不再赘述。
[0236]
由上可知,本技术实施例提供了一种节点间保密通信方法,该节点间保密通信方法主要是针对节点间保密通信的接收处理过程,在该方法中,接收节点基于其通信路径角色执行相应的操作。具体地,当通信路径角色为通信目的节点,根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包;当通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且端对端保密通信策略有效时,直接接收待接收的数据包;当通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且所述端对端保密通信策略无效时,则根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包;当节点的通信路径角色为通信路径的中间交换设备,直接接收待接收的数据包。
[0237]
如此,各节点采用统一流程即可完成保密通信整体过程,无需判断通信类型,降低了流程的复杂性,提高了节点间保密通信效率。并且,在查询密钥时仅根据节点标识查询即可,无需判断节点间密钥类型,提高了密钥查找效率,进一步提高了节点间保密通信效率。
[0238]
再次,从节点在保密通信过程中可能同时具备发送和接收功能的角度对本技术实施例提供的节点间保密通信方法进行介绍。
[0239]
在该方法中,节点间保密通信的通信路径角色包括通信源节点、通信路径的第一个交换设备、通信路径的中间交换设备、通信路径的最后一个交换设备以及通信目的节点,网络中的任一网络节点在与对端网络节点建立密钥后,以对端网络节点的节点标识作为索引存储所述密钥。请参见图14a所示的节点间保密通信方法的流程图,该方法包括:
[0240]
s1401:节点根据自身的节点标识确定节点的通信路径角色。若当前节点的通信路径角色为通信源节点,则执行s1402;若当前节点的通信路径角色为通信目的节点,则执行s1403;若当前节点的通信路径角色为通信路径的第一个交换设备或通信路径的最后一个交换设备,则执行s1404;若当前节点的通信路径角色为通信路径的中间交换设备,则执行s1405。
[0241]
节点的通信路径角色可以是通信源节点、通信路径的第一个交换设备、通信路径的中间交换设备、通信路径的最后一个交换设备、通信目的节点中的任意一种。
[0242]
在具体实现时,节点可以将自身节点标识与标识四元组中通信源节点的节点标识、通信目的节点的节点标识、第一个交换设备的节点标识以及最后一个交换设备的节点标识进行比较,若标识四元组中存在节点标识与本地节点标识相等,则标识四元组中该节点标识对应的通信路径角色即为本地节点的通信路径角色,若不存在节点标识与本地节点标识相等,本地节点的通信路径角色为通信路径的中间交换设备。
[0243]
具体地,节点可以通过如下步骤确定其在当前节点间保密通信中的通信路径角色:
[0244]
s14011:节点判断当前节点间保密通信中标识四元组中通信源节点的节点标识是否与所述节点的节点标识相等,得到第一判断结果,若所述第一判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信源节点。
[0245]
s14012:若所述第一判断结果为否,则判断当前节点间保密通信中标识四元组中通信目的节点的节点标识是否与所述节点的节点标识相等,得到第二判断结果,若所述第
二判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信目的节点。
[0246]
需要说明的是,针对上述s14011和s14012,也可以先判断所述当前节点间保密通信中标识四元组中通信目的节点的节点标识是否与所述节点的节点标识相等,得到第三判断结果,若所述第三判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信目的节点;若所述第三判断结果为否,则判断所述当前节点间保密通信中标识四元组中通信源的节点标识是否与所述节点的节点标识相等,得到第四判断结果,若所述第四判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信源节点。
[0247]
s14013:若所述第二判断结果为否或所述第四判断结果为否,则判断所述当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与所述节点的节点标识相等,得到第五判断结果,若所述第五判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备。
[0248]
s14014:若所述第五判断结果为否,则判断所述当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与所述节点的节点标识相等,得到第六判断结果,若所述第六判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备;若所述第六判断结果为否,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备。
[0249]
需要说明的是,针对上述s14013和s14014,在所述第二判断结果为否或所述第四判断结果为否时,节点也可以先判断所述当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与所述节点的节点标识相等,得到第七判断结果,若所述第七判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备;若所述第七判断结果为否,则判断所述当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与所述节点的节点标识相等,得到第八判断结果,若所述第八判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备;若所述第八判断结果为否,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备。
[0250]
也即节点在确定其通信路径角色时,优先判断其通信路径角色是否为通信源节点或通信目的节点,然后再判断其通信路径角色是否为通信路径的第一个交换设备或通信路径的最后一个交换设备。换言之,节点可以按照id
source->id
destination->id
sw-last->id
sw-first
或者id
source->id
destination->id
sw-first->id
sw-last
或者id
destination->id
source->id
sw-last->id
sw-first
或者id
destination->id
source->id
sw-first->id
sw-last
的先后顺序依次与节点自身的id,也即本地id进行比较,以确定节点在当前节点间保密通信中的通信路径角色。
[0251]
对应地,在确定节点的通信路径角色后,节点可以基于其在当前节点间保密通信路径中的通信路径角色,执行与该通信路径角色相对应的处理操作。具体地,当节点的通信路径角色为通信源节点,执行s1402;当节点的通信路径角色为通信目的节点,执行s1403;当节点的通信路径角色为通信路径的第一个交换设备或通信路径的最后一个交换设备,执行s1404;当节点的通信路径角色为通信路径的中间交换设备,执行s1405。
[0252]
s1402:节点根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数
据包。
[0253]
节点的通信路径角色为通信源节点时,其通过如下方式获取用于加密的密钥,用于加密:
[0254]
按照标识四元组中通信目的节点、最后一个交换设备、第一个交换设备的先后顺序或按照通信目的节点、第一个交换设备、最后一个交换设备的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥。
[0255]
节点若查找到密钥,则利用该密钥对数据包进行加密处理,然后,再发送数据包;若未查找到密钥,则丢弃数据包。
[0256]
s1403:节点根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包。
[0257]
节点的通信路径角色为通信目的节点时,其通过如下方式获取用于解密的密钥,用于解密:
[0258]
按照标识四元组中通信源节点、第一个交换设备以及最后一个交换设备的先后顺序或按照通信源节点、最后一个交换设备以及第一个交换设备的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥。
[0259]
节点若查找到密钥,则在接收数据包后,利用该密钥对数据包进行解密处理;若未查找到密钥,则丢弃数据包。
[0260]
s1404:如果端对端保密通信策略有效,则直接转发数据包,如果所述端对端保密通信策略无效,则首先根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包,然后根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包。
[0261]
端对端保密通信策略有效时,通信路径的第一个交换设备或最后一个交换设备无需进行加密或解密处理,直接转发数据包即可,其基于通信源节点和通信目的节点间密钥实现保密通信。
[0262]
端对端保密通信策略无效时,节点首先根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包,然后根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包。
[0263]
其中,当节点的通信路径角色为通信路径的最后一个交换设备,则通过如下方式获取用于解密的密钥:按照标识四元组中通信源节点、第一个交换设备的先后顺序或按照第一个交换设备、通信源节点的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥。并且,通过如下方式获取用于加密的密钥:判断所述节点是否保存有以标识四元组中所述通信目的节点的节点标识为索引的密钥;
[0264]
当节点的通信路径角色为通信路径的第一个交换设备,则通过如下方式获取用于解密的密钥:判断所述节点是否保存有以标识四元组中所述通信源节点的节点标识为索引的密钥。并且,通过如下方式获取用于加密的密钥:按照标识四元组中通信目的节点、最后一个交换设备的先后顺序或最后一个交换设备、通信目的节点的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥。
[0265]
若查找到用于解密的密钥,则利用该密钥解密数据包,然后再查找用于加密的密钥,若查找到,则利用该密钥对数据包进行加密处理,再发送数据包。若未查找到用于解密的密钥,或者,未查找到用于加密的密钥,则将数据包丢弃。
[0266]
s1405:节点直接转发数据包。
[0267]
当所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备时,由于数据包已采用通信源节点与通信路径的最后一个交换设备间密钥、通信源节点与通信目的节点间密钥、通信路径的第一个交换设备与通信路径的最后一个交换设备间密钥或通信路径的第一个交换设备与通信目的节点间密钥进行过保密处理了,此时,所述节点无需再对数据包解密后再加密转发,直接转发数据包即可。
[0268]
在本实施例中,s1402至s1405并不存在先后顺序,针对通信路径中的每个节点,其基于自身的通信路径角色执行相应的操作,从而实现节点间保密通信。
[0269]
基于以上实施例,可以将节点处理过程分为两种类型,一种类型为直接转发,即节点对数据包进行转发处理,一种类型则需要对数据包进行加密处理和/或解密处理。如此,在一些实施方式中,节点可以优先判断是否符合直接转发条件,若符合,则直接转发数据包;若不符合,则基于节点的通信路径角色执行相应的处理过程。
[0270]
在本实施例中,直接转发条件包括第一转发条件和第二转发条件。第一转发条件具体为,端对端保密通信策略有效,且节点的通信路径角色不是通信源节点和通信目的节点;第二转发条件具体为,端对端保密通信策略无效,且节点的通信路径角色既不是通信源节点和通信目的节点,也不是通信路径的第一个交换设备和通信路径的最后一个交换设备,也即节点为通信路径的中间交换设备。若节点判断符合上述直接转发条件中的任意一种,即可直接转发数据包。
[0271]
需要说明的是,本技术提供的节点间保密通信方法建议以应用程序或软件的形式实现,该应用程序或软件可以是利用汇编语言等面向机器的程序设计语言实现该方法,也可以是利用c语言等高级程序语言实现该方法。
[0272]
若使用汇编语言等面向机器的程序设计语言,则编译结果中可以直接呈现当前节点的节点标识与通信源节点、通信目的节点、通信路径的第一个交换设备、通信路径的最后一个交换设备的节点标识的比较结果,因而可以直接呈现节点的通信路径角色,当节点不符合直接转发条件时,可以直接基于该通信路径角色执行相应的处理过程,其具体实现可以参照图14a所示实施例相关内容描述,此时只需根据节点的通信路径角色执行相应的加密和/或解密处理过程。
[0273]
若使用c语言等高级程序设计语言实现该方法,则由于编译结果中只能呈现出是否符合直接转发条件,而无法呈现节点的通信路径角色,因此,节点不符合直接转发条件时,需要再判断节点的通信路径角色,然后基于通信路径角色执行相应的处理过程。其具体实现请参照图14b,图14b示出了节点间保密通信方法的一种实现方式对应的流程图,具体包括如下步骤:
[0274]
s1410:节点判断自身是否符合直接转发条件,若是,则执行s1420;若否,则执行s1430。
[0275]
在具体实现时,节点通过比较自身的节点标识与标识四元组中通信源节点、通信目的节点、通信路径的第一个交换设备以及通信路径的最后一个交换设备的节点标识,并且判断端对端保密通信策略是否有效,以确定是否符合直接转发条件。
[0276]
具体地,当端对端保密通信策略有效,且节点自身的节点标识不等于通信源节点的节点标识和通信目的节点的节点标识时,可以确定其符合直接转发条件。当端对端保密
通信策略无效,且节点自身的节点标识既不等于通信源节点的节点标识和通信目的节点的节点标识,也不等于通信路径的第一个交换设备的节点标识和通信路径的最后一个交换设备的节点标识时,也可以确定其符合直接转发条件。
[0277]
当节点确定自身符合直接转发条件时,可以直接执行s1420,对数据包直接进行转发处理;当节点确定自身不符合直接转发条件时,可以执行s1430,重新确定节点的通信路径角色,并基于该通信路径角色对数据包进行额外的加密和/或解密处理。
[0278]
需要说明的是,当节点判断不符合上述直接转发条件时,即节点的通信路径角色为中间交换设备时,判断端对端保密通信策略实际上是冗余的。因为对于中间交换设备来说,其并不关心端对端保密通信策略,而在本实施例中如此处理是为了更便于使用c语言等高级程序设计语言来进行工程实现。
[0279]
s1420:直接转发数据包。
[0280]
s1430:节点根据自身的节点标识以及标识四元组中各通信路径角色的节点标识确定所述节点的通信路径角色;若通信路径角色为通信源节点,则执行s1431,若通信路径角色为通信路径的第一个交换设备或通信路径的最后一个交换设备,则执行s1432,若通信路径角色为通信目的节点,则执行s1433。
[0281]
在该实现方式中,s1410仅呈现是否符合转发条件的判断结果,而不呈现节点通信路径角色的判断结果,因此,在不符合直接转发条件的情况下,节点还需要将自身节点标识与标识四元组中各通信路径角色对应的节点标识进行比较,以确定自身在本次保密通信过程中的通信路径角色。其具体实现过程参见上文,在此不再赘述。
[0282]
s1431:节点根据标识四元组中的节点标识获取用于加密的密钥,加密后再发送数据包。
[0283]
s1432:节点根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包,然后根据标识四元组中的节点标识获取用于加密的密钥,对解密后的数据包加密,然后发送加密后的数据包。
[0284]
s1433:节点根据标识四元组中的节点标识获取用于解密的密钥,接收并解密数据包。
[0285]
其中,节点根据标识四元组中的节点标识获取用于解密的密钥和用于加密的密钥,并利用获取的密钥进行加解密的过程可以参见上文相关内容描述,在此不再赘述。
[0286]
以上从交互的角度对本技术实施例提供的节点间保密通信方法进行了介绍,为了使得本技术的技术方案更加清楚,下面将结合具体应用场景对本技术实施例提供的节点间保密通信方法进行介绍。
[0287]
参见图15所示的节点间保密通信方法的应用场景示意图,本实施例主要描述tlsec协议中定义的节点间保密通信通信类型type7应用场景的具体实施方式。通信类型type7包含了节点间保密通信中所有的通信路径角色,即包含了通信源节点、通信路径的第一个交换设备、通信路径的中间交换设备、通信路径的最后一个交换设备以及通信目的节点。依据tlsec协议中的定义,在通信类型type7中通信源节点和通信目的节点均为用户终端,且端对端保密通信策略是无效的,而且通信源节点仅与通信路径的第一个交换设备间存在密钥,通信目的节点仅与通信路径的最后一个交换设备间存在密钥,交换设备之间仅通信路径的第一个交换设备与通信路径的最后一个交换设备间密钥被应用,通信源节点与
通信路径的最后一个交换设备间、通信源节点与通信目的节点间以及通信路径的第一个交换设备与通信目的节点间均不存在密钥。
[0288]
在该应用场景中,节点a向节点e发送数据包,也即节点a为源节点,节点e为目的节点。节点a首先查询本地是否保存有由节点a至节点e的交换路径信息,若有,则基于该交换路径信息进行保密通信,若无,则节点a发起交换路径探寻请求,以获得由节点a至节点e的交换路径信息。
[0289]
在该应用场景中,节点a的交换路径信息采用标识四元组进行表征,具体为[id
source
,id
sw-first
,id
sw-last
,id
destination
]。其中,id
source
为通信源节点的节点标识,id
sw-first
为通信路径的第一个交换设备的节点标识,id
sw-last
为通信路径的最后一个交换设备的节点标识,id
destination
为通信目的节点的节点标识。
[0290]
在该应用场景中,节点a将自身的节点标识id
nodea
与标识四元组中的节点标识进行比较,具体地,按照id
source
--
>id
destination
--
>id
sw-first
--
>id
sw-last
的先后顺序与本地id进行比较,以确定自身的通信路径角色。在该示例中,节点a确定自身的通信路径角色为通信源节点,其按照id
destination
--
>id
sw-last
--
>id
sw-first
的先后顺序进行密钥查询,最终查找到以id
sw-first
为索引的密钥,利用该密钥对数据包进行加密处理,然后发送给下一节点,即节点b。
[0291]
节点b将自身的节点标识id
nodeb
与标识四元组中的节点标识进行比较,具体地,按照id
source
--
>id
destination
--
>id
sw-first
--
>id
sw-last
的先后顺序与本地id进行比较,以确定自身的通信路径角色。在该示例中,节点b确定自身的通信路径角色为通信路径的第一个交换设备,由于端对端保密通信策略无效,其根据id
source
进行密钥查询,最终查找到以id
source
为索引的密钥,接收数据包,并利用该密钥对数据包进行解密处理,然后再按照id
destination
--
>id
sw-last
的先后顺序进行密钥查询,最终查找到以id
sw-last
为索引的密钥,利用该密钥对数据包进行加密处理,然后发送给下一节点,即节点c。
[0292]
节点c将自身的节点标识id
nodec
与标识四元组中的节点标识进行比较,具体地,按照id
source
--
>id
destination
--
>id
sw-first
--
>id
sw-last
的先后顺序与本地id进行比较,以确定自身的通信路径角色。在该示例中,节点c确定自身的通信路径角色为通信路径的中间交换设备,因此,直接将数据包转发给下一节点即节点d,不作额外的加密或解密处理。
[0293]
节点d将自身的节点标识id
noded
与标识四元组中的节点标识进行比较,具体地,按照id
source
--
>id
destination
--
>id
sw-first
--
>id
sw-last
的先后顺序与本地id进行比较,以确定自身的通信路径角色。在该示例中,节点d确定自身的通信路径角色为通信路径的最后一个交换设备,由于端对端保密通信策略无效,其按照id
source
--
>id
sw-first
的先后顺序进行密钥查询,最终查询到以id
sw-first
为索引的密钥,节点d接收数据包后,利用该密钥对数据包进行解密处理,然后根据id
destination
进行密钥查询,最终查找到以id
destination
为索引的密钥,利用该密钥对数据包进行加密处理后,再向下一节点即节点e发送该数据包。
[0294]
节点e将自身的节点标识id
nodee
与标识四元组中的节点标识进行比较,具体地,按照id
source
--
>id
destination
--
>id
sw-first
--
>id
sw-last
的先后顺序与本地id进行比较,以确定自身的通信路径角色。在该示例中,节点e确定自身的通信路径角色为通信目的节点,其按照id
source
--
>id
sw-first
--
>id
sw-last
的先后顺序进行密钥查询,最终查找到以id
sw-last
为索引的密钥,节点e在接收数据包后,利用该密钥对数据包进行解密处理。
[0295]
如此,数据包在节点a与节点b、节点b与节点c、节点c与节点d以及节点d与节点e之间均以密文形式传输,从而实现了节点a至节点e的保密通信。对于节点a至节点e,每个节点在执行发送处理操作或接收处理操作时,采用统一流程即可完成保密通信整体过程,无需判断通信类型,降低了流程的复杂性,提高了节点间保密通信效率。此外,该方法以节点标识作为索引存储密钥,并且根据节点的通信路径角色配置了对应的密钥查找方法,如此,在查询密钥时仅根据节点标识查询即可,无需判断节点间密钥类型,提高了密钥查找效率,进而提高了节点间保密通信效率。
[0296]
以上为本技术实施例提供的节点间保密通信方法的具体实现方式,对应的,本技术实施例还提供了网络节点,可以理解的是,所述网络节点可能应用于终端,也有可能应用于交换设备。下面将从功能模块化的角度,对本技术实施例提供的网络节点进行介绍。
[0297]
参见图16所示的网络节点1600的结构示意图,该节点应用于终端,包括:
[0298]
存储模块1610,用于在与对端网络节点建立密钥后,以所述对端网络节点的节点标识作为索引存储所述密钥;
[0299]
所述节点还包括:
[0300]
加密模块1620,用于所述节点在当前节点间保密通信中的通信路径角色为通信源节点时,根据标识四元组中的节点标识获取用于加密的密钥,对数据包进行加密;所述通信路径角色是根据所述节点的节点标识确定,所述标识四元组是根据节点间的交换路径信息确定;
[0301]
发送模块1630,用于发送加密后的数据包;
[0302]
和/或,
[0303]
接收模块1640,用于接收数据包;
[0304]
解密模块1650,用于所述节点在当前节点间保密通信中的通信路径角色为通信目的节点时,根据标识四元组中的节点标识获取用于解密的密钥,解密所述数据包。
[0305]
基于上述内容描述可知,节点的结构可以包括以下几种情况:
[0306]
第一种情况,节点包括存储模块1610、加密模块1620和发送模块1630,此时节点具有发送节点的功能,主要用于发送数据包。
[0307]
第二种情况为,节点包括存储模块1610、接收模块1640和解密模块1650,此时节点具有接收节点的功能,主要用于接收数据包。
[0308]
第三种情况为,节点包括存储模块1610、加密模块1620、发送模块1630、接收模块1640和解密模块1650,此时节点兼有发送节点和接收节点的功能,主要用于发送和接收数据包。
[0309]
需要说明的是,节点兼具有发送节点和接收节点的功能时,加密模块1620和解密模块1650可以集成在一个模块,如加解密模块,发送模块1630和接收模块1640可以集成在一个模块,如收发模块。
[0310]
其中,存储模块1610可以为随机存取存储器(random access memory,ram),密钥信息配置到密钥ram中,以ram形式进行存储。需要说明的是,密钥信息是以对端网络节点的节点标识为索引进行存储的。
[0311]
在一些可能的实现方式中,所述加密模块1620还用于:
[0312]
所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设
备或最后一个交换设备,且端对端保密通信策略无效时,则根据标识四元组中的节点标识获取用于加密的密钥,对数据包进行加密;
[0313]
所述发送模块1630还用于:
[0314]
所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且所述端对端保密通信策略无效时,发送加密后的数据包;所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且所述端对端保密通信策略有效时,直接发送待发送的数据包;
[0315]
所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备时,直接发送待发送的数据包;
[0316]
和/或,
[0317]
所述接收模块1640还用于:
[0318]
所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且所述端对端保密通信策略有效时,则直接接收待接收的数据包;所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且所述端对端保密通信策略无效时,则接收数据包待解密;
[0319]
所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备时,直接接收待接收的数据包;
[0320]
所述解密模块1650还用于:
[0321]
所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且所述端对端保密通信策略无效时,则根据标识四元组中的节点标识获取用于解密的密钥,解密数据包。
[0322]
在一些可能的实现方式中,所述节点还包括确定模块;
[0323]
所述确定模块用于:
[0324]
判断当前节点间保密通信中标识四元组中通信源节点的节点标识和/或通信目的节点的节点标识是否与所述节点的节点标识相等,得到第一判断结果,若所述第一判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信源节点或通信目的节点。
[0325]
在另一些可能的实现方式中,所述节点还包括确定模块;
[0326]
所述确定模块用于:
[0327]
判断当前节点间保密通信中标识四元组中通信源节点的节点标识和/或通信目的节点的节点标识是否与所述节点的节点标识相等,得到第一判断结果,若所述第一判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信源节点或通信目的节点;
[0328]
若所述第一判断结果为否,则判断所述当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与所述节点的节点标识相等,得到第二判断结果,若所述第二判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备;
[0329]
若所述第二判断结果为否,则判断所述当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与所述节点的节点标识相等,得到第三判断结果,若所述第
三判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备;
[0330]
若所述第三判断结果为否,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备;
[0331]
或,若所述第一判断结果为否,则判断所述当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与所述节点的节点标识相等,得到第四判断结果,若所述第四判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备;
[0332]
若所述第四判断结果为否,则判断所述当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与所述节点的节点标识相等,得到第五判断结果,若所述第五判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备;
[0333]
若所述第五判断结果为否,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备。
[0334]
在一些可能的实现方式中,所述加密模块1620具体用于:
[0335]
若所述节点在当前节点间保密通信中的通信路径角色为通信源节点,则按照标识四元组中通信目的节点、最后一个交换设备、第一个交换设备的先后顺序或按照通信目的节点、第一个交换设备、最后一个交换设备的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;
[0336]
和/或,
[0337]
所述解密模块1650具体用于:
[0338]
若所述节点在当前节点间保密通信中的通信路径角色为通信目的节点,则按照标识四元组中通信源节点、第一个交换设备、最后一个交换设备的先后顺序或按照通信源节点、最后一个交换设备、第一个交换设备的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥。
[0339]
在另一些可能的实现方式中,所述加密模块1620具体用于:
[0340]
若所述节点在当前节点间保密通信中的通信路径角色为通信源节点,则按照标识四元组中通信目的节点、最后一个交换设备、第一个交换设备的先后顺序或按照通信目的节点、第一个交换设备、最后一个交换设备的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;
[0341]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备,则按照标识四元组中通信目的节点、最后一个交换设备的先后顺序或按照最后一个交换设备、通信目的节点的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;
[0342]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备,则判断所述节点是否保存有以标识四元组中所述通信目的节点的节点标识为索引的密钥;
[0343]
和/或,
[0344]
所述解密模块1650具体用于:
[0345]
若所述节点在当前节点间保密通信中的通信路径角色为通信目的节点,则按照标识四元组中通信源节点、第一个交换设备、最后一个交换设备的先后顺序或按照通信源节点、最后一个交换设备、第一个交换设备的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;
[0346]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备,则按照标识四元组中通信源节点、第一个交换设备的先后顺序或按照第一个交换设备、通信源节点的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;
[0347]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备,则判断所述节点是否保存有以标识四元组中所述通信源节点的节点标识为索引的密钥。
[0348]
在一些可能的实现方式中,所述节点标识包括节点的媒体访问控制地址。
[0349]
接下来,参见图17所示的网络节点1700的结构示意图,该节点应用于交换设备,包括:
[0350]
存储模块1710,用于在与对端网络节点建立密钥后,以所述对端网络节点的节点标识作为索引存储所述密钥;
[0351]
所述节点还包括:
[0352]
加密模块1720,用于所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且端对端保密通信策略无效时,则根据标识四元组中的节点标识获取用于加密的密钥,对数据包进行加密;所述通信路径角色是根据所述节点的节点标识确定,所述标识四元组是根据节点间的交换路径信息确定;
[0353]
发送模块1730,用于所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且所述端对端保密通信策略无效时,发送加密后的数据包;所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备或最后一个交换设备,且所述端对端保密通信策略有效时,直接发送待发送的数据包;所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备时,直接发送待发送的数据包;
[0354]
和/或,
[0355]
接收模块1740,用于所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且所述端对端保密通信策略有效时,则直接接收待接收的数据包;所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且所述端对端保密通信策略无效时,则接收数据包待解密;所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备时,直接接收待接收的数据包;
[0356]
解密模块1750,用于所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备或第一个交换设备,且所述端对端保密通信策略无效时,则根据标识四元组中的节点标识获取用于解密的密钥,解密数据包。
[0357]
基于上述内容描述可知,节点的结构可以包括以下几种情况:
[0358]
第一种情况,节点包括存储模块1710、加密模块1720和发送模块1730,此时节点具
有发送节点的功能,主要用于发送数据包。
[0359]
第二种情况为,节点包括存储模块1710、接收模块1740和解密模块1750,此时节点具有接收节点的功能,主要用于接收数据包。
[0360]
第三种情况为,节点包括存储模块1710、加密模块1720、发送模块1730和接收模块1740和解密模块1750,此时节点兼有发送节点和接收节点的功能,主要用于发送和接收数据包。
[0361]
需要说明的是,节点兼具有发送节点和接收节点的功能时,加密模块1720和解密模块1750可以集成在一个模块,如加解密模块,发送模块1730和接收模块1740可以集成在一个模块,如收发模块。
[0362]
其中,存储模块1710可以为随机存取存储器(random access memory,ram),密钥信息配置到密钥ram中,以ram形式进行存储。需要说明的是,密钥信息是以对端网络节点的节点标识为索引进行存储的。
[0363]
在一些可能的实现方式中,所述加密模块1720还用于:
[0364]
所述节点在当前节点间保密通信中的通信路径角色为通信源节点时,根据标识四元组中的节点标识获取用于加密的密钥,对数据包进行加密;
[0365]
和/或,
[0366]
所述解密模块1750还用于:
[0367]
所述节点在当前节点间保密通信中的通信路径角色为通信目的节点时,根据标识四元组中的节点标识获取用于解密的密钥,解密所述数据包。
[0368]
在一些可能的实现方式中,所述节点还包括确定模块;
[0369]
所述确定模块用于:
[0370]
判断所述当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与所述节点的节点标识相等,得到第二判断结果,若所述第二判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备;
[0371]
若所述第二判断结果为否,则判断所述当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与所述节点的节点标识相等,得到第三判断结果,若所述第三判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备;
[0372]
若所述第三判断结果为否,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备;
[0373]
或,判断所述当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与所述节点的节点标识相等,得到第四判断结果,若所述第四判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备;
[0374]
若所述第四判断结果为否,则判断所述当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与所述节点的节点标识相等,得到第五判断结果,若所述第五判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备;
[0375]
若所述第五判断结果为否,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备。
[0376]
在另一些可能的实现方式中,所述节点还包括确定模块;
[0377]
所述确定模块用于:
[0378]
判断当前节点间保密通信中标识四元组中通信源节点的节点标识和/或通信目的节点的节点标识是否与所述节点的节点标识相等,得到第一判断结果,若所述第一判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信源节点或通信目的节点;
[0379]
若所述第一判断结果为否,则判断所述当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与所述节点的节点标识相等,得到第二判断结果,若所述第二判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备;
[0380]
若所述第二判断结果为否,则判断所述当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与所述节点的节点标识相等,得到第三判断结果,若所述第三判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备;
[0381]
若所述第三判断结果为否,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备;
[0382]
或,若所述第一判断结果为否,则判断所述当前节点间保密通信中标识四元组中最后一个交换设备的节点标识是否与所述节点的节点标识相等,得到第四判断结果,若所述第四判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备;
[0383]
若所述第四判断结果为否,则判断所述当前节点间保密通信中标识四元组中第一个交换设备的节点标识是否与所述节点的节点标识相等,得到第五判断结果,若所述第五判断结果为是,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备;
[0384]
若所述第五判断结果为否,则确定所述节点在当前节点间保密通信中的通信路径角色为通信路径的中间交换设备。
[0385]
在一些可能的实现方式中,所述加密模块1720具体用于:
[0386]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备,则按照标识四元组中通信目的节点、最后一个交换设备的先后顺序或按照最后一个交换设备、通信目的节点的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;
[0387]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备,则判断所述节点是否保存有以标识四元组中所述通信目的节点的节点标识为索引的密钥;
[0388]
和/或,
[0389]
所述解密模块1750具体用于:
[0390]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备,则按照标识四元组中通信源节点、第一个交换设备的先后顺序或按照第一个交换设备、通信源节点的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节
点标识为索引的密钥;
[0391]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备,则判断所述节点是否保存有以标识四元组中所述通信源节点的节点标识为索引的密钥。
[0392]
在另一些可能的实现方式中,所述加密模块1720具体用于:
[0393]
若所述节点在当前节点间保密通信中的通信路径角色为通信源节点,则按照标识四元组中通信目的节点、最后一个交换设备、第一个交换设备的先后顺序或按照通信目的节点、第一个交换设备、最后一个交换设备的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;
[0394]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备,则按照标识四元组中通信目的节点、最后一个交换设备的先后顺序或按照最后一个交换设备、通信目的节点的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;
[0395]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备,则判断所述节点是否保存有以标识四元组中所述通信目的节点的节点标识为索引的密钥;
[0396]
和/或,
[0397]
所述解密模块1750具体用于:
[0398]
若所述节点在当前节点间保密通信中的通信路径角色为通信目的节点,则按照标识四元组中通信源节点、第一个交换设备、最后一个交换设备的先后顺序或按照通信源节点、最后一个交换设备、第一个交换设备的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;
[0399]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的最后一个交换设备,则按照标识四元组中通信源节点、第一个交换设备的先后顺序或按照第一个交换设备、通信源节点的先后顺序依次判断所述节点是否保存有以标识四元组中上述节点的节点标识为索引的密钥;
[0400]
若所述节点在当前节点间保密通信中的通信路径角色为通信路径的第一个交换设备,则判断所述节点是否保存有以标识四元组中所述通信源节点的节点标识为索引的密钥。
[0401]
在一些可能的实现方式中,所述节点标识包括节点的媒体访问控制地址。
[0402]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0403]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0404]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0405]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0406]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-only memory,英文缩写:rom)、随机存取存储器(英文全称:random access memory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0407]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0408]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜