一种具有链路层加解密能力的终端设备及其数据处理方法转让专利

申请号 : CN201010596663.6

文献号 : CN102130768B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李琴曹军铁满霞

申请人 : 西安西电捷通无线网络通信股份有限公司

摘要 :

一种具有链路层加解密能力的终端设备及其数据处理方法,该具终端设备包括链路层处理模块,链路层处理模块包括控制模块、数据帧加密处理模块、数据帧解密处理模块、密钥管理模块、算法模块、发端口和收端口;控制模块通过数据帧加密处理模块接入发端口;收端口通过数据帧解密处理模块接入控制模块;控制模块和密钥管理模块相连;数据帧加密处理模块通过密钥管理模块和数据帧解密处理模块相连;数据帧加密处理模块通过算法模块和数据帧解密处理模块相连。本发明可有效降低离终端设备最近的接入交换设备的计算负担,降低数据传输延迟。

权利要求 :

1.一种具有链路层加解密能力的终端设备,其特征在于:所述具有链路层加解密能力的终端设备包括链路层处理模块,所述链路层处理模块包括控制模块、数据帧加密处理模块、数据帧解密处理模块、密钥管理模块、算法模块、发端口和收端口;所述控制模块通过数据帧加密处理模块接入发端口;所述收端口通过数据帧解密处理模块接入控制模块;所述控制模块和密钥管理模块相连;所述数据帧加密处理模块通过密钥管理模块和数据帧解密处理模块相连;所述数据帧加密处理模块通过算法模块和数据帧解密处理模块相连;其中,所述控制模块具有策略管理和控制能力;

所述密钥管理模块具有链路层密钥管理能力,并根据控制模块的策略需要,为所述终端设备与网络中的其他终端设备之间和/或所述终端设备与网络中的交换设备之间建立共享的密钥,并负责对密钥进行存储、更新或删除管理操作;所建立的共享密钥是预共享的或是在所述终端设备与其他终端设备或交换设备身份鉴别成功后协商建立的;

所述数据帧加密处理模块在收到需要发送出去的用户数据后,通过与密钥管理模块进行交互得到对应的密钥,再调用算法模块,实现对用户数据的加密处理,得到用户数据的密文,构造链路层加密数据帧,并通过发端口将加密数据帧发送出去;

所述数据帧解密处理模块在通过收端口接收到数据帧后,通过与密钥管理模块进行交互得到对应的密钥,再调用算法模块,实现对数据帧进行解密处理,得到用户数据的明文信息,并通过控制模块将明文信息递交给上层;

所述算法模块涉及加解密算法和/或完整性校验算法。

2.一种具有链路层加解密能力的终端设备的数据处理方法,其特征在于:所述方法包括以下步骤:

1)所述终端设备发送链路层加密协议数据帧时,

1.1)所述终端设备的链路层控制模块接收上层所发送的需要链路层发送的用户数据;

1.2)由控制模块根据本地策略,选择使用的链路层加密协议类型及保密处 理策略;并将选择的链路层加密协议类型及保密处理策略及用户数据信息发送给数据帧加密处理模块;

1.3)数据帧加密处理模块根据对应的链路层加密协议及保密处理策略处理用户数据,并判断是否需要对用户数据进行加密操作构造Frame A1;

1.4)数据帧加密处理模块将构造好的Frame A1,通过发端口发送出去,从而完成链路层数据帧的发送;

2)所述终端设备接收链路层加密协议数据帧时,

2.1)所述终端设备通过物理层收到发给所述终端设备的数据帧Frame A2,通过收端口将接收到的数据帧Frame A2交给数据帧解密处理模块;

2.2)数据帧解密处理模块根据接收到的数据帧Frame A2,判断对应的链路层加密协议;

2.3)数据帧解密处理模块根据对应的链路层加密协议判断用户数据是否是明文,并解析Frame A2,得到用户数据:

2.4)数据帧解密处理模块将得到的用户数据的明文通过控制模块提交给上层,从而完成链路层数据帧的接收;

其中,所述Frame A1是所述终端设备通过发端口发出的数据帧;所述Frame A2是所述终端设备通过收端口收到的数据帧。

3.根据权利要求2所述的具有链路层加解密能力的终端设备的数据处理方法,其特征在于:该方法支持标准的ISO/IEC 8802-3数据帧或链路层加密协议数据帧,所支持的链路层加密协议数据帧中包括:Frame Header字段以及Payload字段:所述Frame Header字段,表示帧头信息,包括DA字段、SA字段、Ethertype字段、isE字段以及keyIndex字段;

其中:

DA字段:表示目的节点的标识,取值目的节点的MAC地址;

SA字段:表示源节点的标识,取值源节点的MAC地址;

Ethertype字段:表示以太类型字段,取值为链路层加密协议的以太类型字段;用于标识对应的链路层加密协议及帧结构; isE字段:表示加密标志位,用于标识数据帧的有效负载是用户数据的明文信息还是密文信息,数据包的接收方将该字段作为是否需要解密的一个判断因素;

keyIndex字段:表示对用户数据进行保护的密钥的标识;所述对用户数据进行保护的方式是加密和/或计算完整性校验;所述对用户数据进行保护的密钥是所述终端设备和交换设备之间的密钥或是所述终端设备和目的端终端设备之间的密钥;

Payload字段,表示数据帧有效负载,所述Payload字段是用户数据的明文信息或是用户数据的密文信息;当isE字段表示加密时,有效负载是用户数据的密文信息;当isE字段表示不加密时,有效负载是用户数据的明文信息。

4.根据权利要求3所述的具有链路层加解密能力的终端设备的数据处理方法,其特征在于:当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断不需要对用户数据进行加密时,所述步骤1.3)的具体实现方式是:数据帧加密处理模块构造Frame A1,所述Frame A1各字段取值如下:Frame A1.DA字段,取值为目的节点的MAC地址;

Frame A1.SA字段,取值为所述终端设备的MAC地址;

Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值;

Frame A1.isE字段,取值为不加密;

Frame A1.keyIndex字段,取值不限制(用户数据不加密时该字段没有意义);

Frame A1.Payload字段,取值为用户数据;

当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断需要对用户数据进行加密时,所述步骤1.3)的具体实现方式是:

1.3.1.1)数据帧加密处理模块调用密钥管理模块,得到对用户数据进行加密的密钥KEY1以及密钥KEY1的标识keyIndex1;

1.3.1.2)数据帧加密处理模块根据得到的密钥KEY1,调用算法模块对用户数据进行加密,得到用户数据的密文;

1.3.1.3)数据帧加密处理模块构造Frame A1;所述Frame A1各字段取值如下: Frame A1.DA字段,取值为目的节点的MAC地址;

Frame A1.SA字段,取值为所述终端设备的MAC地址;

Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值;

Frame A1.isE字段,取值为加密;

Frame A1.keyIndex字段,取值为密钥KEY1的标识keyIndex1;

Frame A1.Payload字段,取值为用户数据的密文;

所述KEY1是所述终端设备发送的数据帧Frame A1中Payload字段是用户数据的密文信息时,构造Frame A1所使用的密钥。

5.根据权利要求3所述的具有链路层加解密能力的终端设备的数据处理方法,其特征在于:当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2.Payload字段是用户数据的明文时,所述步骤2.3)的具体实现方式是:提取Frame A2.Payload字段即为用户数据的明文,完成对Frame A2的解析,得到用户数据;

当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2.Payload字段是用户数据的密文时,所述步骤2.3)的具体实现方式是:

2.3.1.1)数据帧解密处理模块将Frame A2.keyIndex字段信息,提交给密钥管理模块,检索得到对Frame A2.Payload进行解密的密钥KEY2;

2.3.1.2)数据帧解密处理模块根据得到的密钥KEY2,调用算法模块对Frame A2.Payload进行解密,得到用户数据的明文,完成对Frame A2的解析,得到用户数据;

所述KEY2是所述终端设备接收的数据帧Frame A2中Payload字段是用户数据的密文信息时,解析Frame A2所使用的密钥。

6.根据权利要求3所述的具有链路层加解密能力的终端设备的数据处理方法,其特征在于:所述数据处理方法所支持的链路层加密协议数据帧中还包含完整性校验MIC字段;

所述MIC字段是对链路层加密协议数据帧除MIC字段外所有字段或部分字段计算得到的完整性校验值;所述具有链路层加解密能力的终端设备的数据处理方法所支持的链路层加密协议数据帧进行保密处理的密钥包含完整性校验密钥和加密密钥两部分;所述完整性校验密钥用于计算或验证MIC 字段;所述加密密钥部分用于加密用户数据或解密用户数据的密文。

7.根据权利要求6所述的具有链路层加解密能力的终端设备的数据处理方法,其特征在于:当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断不需要对用户数据进行加密时,所述步骤1.3)的具体实施方式是:

1.3.2.1)数据帧加密处理模块调用密钥管理模块,得到对数据帧进行保密处理的密钥KEY1以及密钥KEY1的标识keyIndex1;

1.3.2.2)数据帧加密处理模块构造Frame A1除Frame A1.MIC字段外所有字段;所述Frame A1除Frame A1.MIC外所有字段取值如下:Frame A1.DA字段,取值为目的节点的MAC地址;

Frame A1.SA字段,取值为所述终端设备的MAC地址;

Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值;

Frame A1.isE字段,取值为不加密;

Frame A1.keyIndex字段,取值为密钥KEY1的标识keyIndex1;

Frame A1.Payload字段,取值为用户数据;

1.3.2.3)数据帧加密处理模块对构造好的除Frame A1.MIC字段外的Frame A1,调用对应的算法模块,利用KEY1的完整性校验密钥计算完整性校验Frame A1.MIC字段值;完成Frame A1的构造;

当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断需要对用户数据进行加密时,所述步骤1.3)的具体实施方式是:

1.3.3.1)数据帧加密处理模块调用密钥管理模块,得到对数据帧进行保密处理的密钥KEY1以及密钥KEY1的标识keyIndex1;

1.3.3.2)数据帧加密处理模块根据得到的密钥KEY1,调用算法模块,利用KEY1的加密密钥对用户数据进行加密,得到用户数据的密文;

1.3.3.3)数据帧加密处理模块构造Frame A1除Frame A1.MIC字段外所有字段;所述Frame A1除Frame A1.MIC外所有字段取值如下:Frame A1.DA字段,取值为目的节点的MAC地址;

Frame A1.SA字段,取值为所述终端设备的MAC地址;

Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值;

Frame A1.isE字段,取值为加密;

Frame A1.keyIndex字段,取值为密钥KEY1的标识keyIndex1;

Frame A1.Payload字段,取值为用户数据的密文;

1.3.3.4)数据帧加密处理模块对构造好的除Frame A1.MIC字段外的Frame A1,调用对应的算法模块,利用KEY1的完整性校验密钥计算完整性校验Frame A1.MIC字段值;完成Frame A1的构造。

8.根据权利要求6所述的具有链路层加解密能力的终端设备的数据处理方法,其特征在于:当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2.Payload字段是用户数据的明文时,所述步骤2.3)的具体实施方式是:

2.3.2.1)数据帧解密处理模块将Frame A2.keyIndex字段信息,提交给密钥管理模块,检索得到对Frame A2进行解保密处理的密钥KEY2;

2.3.2.2)数据帧解密处理模块利用得到的密钥KEY2的完整性校验密钥部分,调用算法模块,验证Frame A2中Frame A2.MIC字段的正确性;若Frame A2.MIC正确,则执行步骤

2.3.2.3);若不正确,则丢弃Frame A2;

2.3.2.3)数据帧解密处理模块提取Frame A2.Payload字段作为用户数据的明文,完成对Frame A2的解析;

当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2.Payload字段是用户数据的密文时,所述步骤2.3)的具体实施方式是:

2.3.3.1)数据帧解密处理模块将Frame A2.keyIndex字段信息,提交给密钥管理模块,检索得到对Frame A2进行解保密处理的密钥KEY2;

2.3.3.2)数据帧解密处理模块利用得到的密钥KEY2的完整性校验密钥,调用算法模块,验证Frame A2中Frame A2.MIC字段的正确性;若Frame A2.MIC正确,则执行步骤

2.3.3.3);若不正确,则丢弃Frame A2;

2.3.3.3)数据帧解密处理模块利用得到的密钥KEY2的加密密钥,调用算法模块对Frame A2.Payload进行解密,得到用户数据的明文,完成对Frame A2的解析。

9.根据权利要求6所述的具有链路层加解密能力的终端设备的数据处理方法,其特征在于:当所述终端设备对用户数据进行保护涉及的加密和完整性校验时,若所述步骤1.3)中数据帧加密处理模块是先对用户数据进行加密构造数据帧的有效负载Payload字段,再对数据帧进行完整性校验构造MIC字段时,所述步骤2.3)中数据帧解密处理模块在接收到数据帧时,先验证MIC字段的正确性,只有确定MIC字段正确后,再解密数据帧的有效负载Payload字段得到用户数据明文信息,提交给上层;

当所述终端设备对用户数据进行保护涉及的加密和完整性校验在具体实施时,若所述步骤1.3)中数据帧加密处理模块是先将用户数据明文作为有效负载Payload字段,对数据帧计算完整性校验构造MIC字段,再对用户数据明文进行加密,用得到的用户数据密文更新数据帧的有效负载Payload字段时,所述步骤2.3)中数据帧解密处理模块先解密数据帧的有效负载Payload字段得到用户数据明文信息;然后再验证MIC字段的正确性,只有确定MIC字段正确后,之前解密得到的用户数据明文信息才有效,将用户数据的明文信息提交给上层。

10.根据权利要求3-9中任意一项所述的具有链路层加解密能力的终端设备的数据处理方法,其特征在于:上述步骤1.3)、2.3)在具体实施时,Frame A1.keyIndex和Frame A2.keyIndex都指示具有链路层加解密能力的终端设备与对端终端设备的站间密钥时,具有链路层加解密能力的终端设备在发送数据帧给对端终端设备时,使用与对端终端设备之间的站间密钥对要发送的数据帧进行保护,所述保护指加密和/或计算完整性校验;具有链路层加解密能力的终端设备在接收来自对端终端设备的数据帧时,使用与对端终端设备之间的站间密钥对接收到的数据帧进行解保护处理,所述解保护指解密和/或验证完整性校验。

11.根据权利要求2-9中任意一项所述的具有链路层加解密能力的终端设备的数据处理方法,其特征在于:所述数据处理方法所支持的链路层加密协议数据帧帧头Frame Header中,还可包含MAClist字段;所述MAClist字段用于表示特定MAC地址列表信息,该字段所给出的特定MAC地址列表中的交换设备需要对接收到的密文数据帧进行解密再加密再转发的处理;该特定MAC地址列表外的交换设备除非为目的节点,否则都只需要对该密文数据帧直接转发。

12.根据权利要求11所述的具有链路层加解密能力的终端设备的数据处理方法,其特征在于:上述MAClist字段的具体实现中定义从发送端终端设备到目的端终端设备的链路上的第一个具有链路层加解密能力的交换设备以及最后一个具有链路层加解密能力的交换设备的MAC地址列表,上述步骤1.3)中具有链路层加解密能力的终端设备作为发送端终端设备,对端终端设备作为目的端终端设备;具有链路层加解密能力的终端设备在获得从具有链路层加解密能力的终端设备到对端终端设备链路上的第一个具有链路层加解密能力的交换设备SW1以及最后一个具有链路层加解密能力的交换设备SW2的MAC地址信息后,在构造数据帧时MAClist字段包含SW1和SW2的MAC地址,并使用发送端终端设备和从发送端终端设备到目的端终端设备的链路上的第一个具有链路层加解密能力的交换设备之间的密钥对数据帧进行保密处理,即使用具有链路层加解密能力的终端设备与SW1之间的密钥KEY1对数据帧进行保密处理,将KEY1的keyIndex1赋值到数据帧的keyIndex字段进行传输;所述对数据帧进行保密处理指加密或/和计算完整性校验;

上述步骤2.3)中,具有链路层加解密能力的终端设备作为目的端终端设备,对端终端设备作为发送端终端设备;具有链路层加解密能力的终端设备在收到来自对端终端设备发来的数据帧时,提取MAClist字段得到从发送端终端设备到目的端终端设备的链路上的最后一个具有链路层加解密能力的交换设备的MAC地址信息,并使用与这个交换设备之间的密钥对数据帧进行解保密处理,即具有链路层加解密能力的终端设备提取MAClist字段得到SW2的MAC地址信息,使用与SW2之间的密钥KEY2进行解保密处理,得到用户数据明文信息;所述对数据帧进行解保密处理指解密或/和验证完整性校验。

说明书 :

一种具有链路层加解密能力的终端设备及其数据处理方法

技术领域

[0001] 本发明属于网络安全领域,涉及一种具有链路层加解密能力的终端设备及其数据处理方法。

背景技术

[0002] 有线局域网一般为广播型网络,一个节点发出的数据,其它节点都能收到。网络上的各个节点共享信道,这给网络带来了极大的安全隐患。攻击者只要接入网络进行监听,就可以捕获网络上所有的数据包。
[0003] 现有国家标准GB/T 15629.3(对应IEEE 802.3或ISO/IEC 8802-3)定义的局域网LAN并不提供数据保密方法,这样就使得攻击者容易窃取到关键信息。遵循GB/T 15629.3(对应IEEE 802.3或ISO/IEC 8802-3)的终端设备不具备链路层加解密能力,链路层数据包都是以明文形式在网络中进行传输,所传输的信息易被截获,安全隐患大。 [0004] IEEE 802.1AE为局域网LAN提供了逐跳加密的链路层数据保密方法,这种机制限制终端设备只能使用与最近的接入交换设备之间的密钥在链路层对数据帧进行加解密处理,不得直接使用与其他终端设备或其他交换设备之间的密钥在链路层对数据包进行加解密处理。支持IEEE 802.1AE的终端设备的这种链路层处理方式使得最近的接入交换设备的计算负担重;且因为这种方式构造的数据帧需要链路上的每一个交换设备都进行解密再加密再转发的操作才能到达目的端终端设备,数据传输延迟大;且支持IEEE 802.1AE的终端设备不支持一般交换设备和支持IEEE 802.1AE的交换设备的混合组网。 发明内容
[0005] 为了解决背景技术中存在的上述技术问题,本发明提供了一种具有链路层加解密能力的终端设备及其数据处理方法。
[0006] 本发明的技术解决方案是:本发明提供了一种具有链路层加解密能力的终端设备,其特殊之处在于:所述具有链路层加解密能力的终端设备包括链路层 处理模块,所述链路层处理模块包括控制模块、数据帧加密处理模块、数据帧解密处理模块、密钥管理模块、算法模块、发端口和收端口;所述控制模块通过数据帧加密处理模块接入发端口;所述收端口通过数据帧解密处理模块接入控制模块;所述控制模块和密钥管理模块相连;所述数据帧加密处理模块通过密钥管理模块和数据帧解密处理模块相连;所述数据帧加密处理模块通过算法模块和数据帧解密处理模块相连;其中,
[0007] 所述控制模块具有策略管理和控制能力;
[0008] 所述密钥管理模块具有链路层密钥管理能力,并根据控制模块的策略需要,为终端设备与网络中的其他终端设备之间和/或该终端设备与网络中的交换设备之间建立共享的密钥,并负责对密钥进行存储、更新或删除管理操作;所建立的共享密钥是预共享的或是在终端设备与其他终端设备或交换设备身份鉴别成功后协商建立的; [0009] 所述数据帧加密处理模块在收到需要发送出去的用户数据后,通过与密钥管理模块进行交互得到对应的密钥,再调用算法模块,实现对用户数据的加密处理,得到用户数据的密文,构造链路层加密数据帧,并通过发端口将加密数据帧发送出去; [0010] 所述数据帧解密处理模块在通过收端口接收到数据帧后,通过与密钥管理模块进行交互得到对应的密钥,再调用算法模块,实现对数据帧进行解密处理,得到用户数据的明文信息,并通过控制模块将明文信息递交给上层;
[0011] 所述算法模块涉及加解密算法和/或完整性校验算法。
[0012] 一种具有链路层加解密能力的终端设备的数据处理方法,其特殊之处在于:所述方法包括以下步骤:
[0013] 1)所述终端设备发送链路层加密协议数据帧时,
[0014] 1.1)所述终端设备的链路层控制模块接收上层所发送的需要链路层发送的用户数据;
[0015] 1.2)由控制模块根据本地策略,选择使用的链路层加密协议类型及保密处理策略;并将选择的链路层加密协议类型及保密处理策略及用户数据信息发送给数据帧加密处理模块;
[0016] 1.3)数据帧加密处理模块根据对应的链路层加密协议及保密处理策略处理用户数据,并判断是否需要对用户数据进行加密操作构造Frame A1;
[0017] 1.4)数据帧加密处理模块将构造好的Frame A1,通过发端口发送出去,从而完成链路层数据帧的发送;
[0018] 2)所述终端设备接收链路层加密协议数据帧时,
[0019] 2.1)终端设备通过物理层收到发给该终端设备的数据帧Frame A2,通过收端口将接收到的数据帧Frame A2交给数据帧解密处理模块;
[0020] 2.2)数据帧解密处理模块根据接收到的数据帧Frame A2,判断对应的链路层加密协议;
[0021] 2.3)数据帧解密处理模块根据对应的链路层加密协议判断用户数据是否是明文,并解析Frame A2,得到用户数据:
[0022] 2.4)数据帧解密处理模块将得到的用户数据的明文通过控制模块提交给上层,从而完成链路层数据帧的接收;
[0023] 其中,所述Frame A1是所述终端设备通过发端口发出的数据帧;所述Frame A2是终端设备通过收端口收到的数据帧;
[0024] 该方法支持标准的ISO/IEC 8802-3数据帧或链路层加密协议数据帧,所支持的链路层加密协议数据帧中包括:Frame Header字段以及Payload字段:
[0025] 所述Frame Header字段,表示帧头信息,包括DA字段、SA字段、Ethertype字段、isE字段以及keyIndex字段;
[0026] 其中:
[0027] DA字段:表示目的节点的标识,取值目的节点的MAC地址;
[0028] SA字段:表示源节点的标识,取值源节点的MAC地址;
[0029] Ethertype字段:表示以太类型字段,取值为链路层加密协议的以太类型字段;用于标识对应的链路层加密协议及帧结构;
[0030] isE字段:表示加密标志位,用于标识数据帧的有效负载是用户数据的明文信息还是密文信息,数据包的接收方将该字段作为是否需要解密的一个判断因素; [0031] keyIndex字段:表示对用户数据进行保护的密钥的标识;所述对用户数据进 行保护的方式是加密和/或计算完整性校验;所述对用户数据进行保护的密钥是该终端设备和交换设备之间的密钥或是该终端设备和目的端终端设备之间的密钥; [0032] Payload字段,表示数据帧有效负载,所述Payload字段是用户数据的明文信息或是用户数据的密文信息;当isE字段表示加密时,有效负载是用户数据的密文信息;当isE字段表示不加密时,有效负载是用户数据的明文信息。
[0033] 当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断不需要对用户数据进行加密时,所述步骤1.3)的具体实现方式是:
[0034] 数据帧加密处理模块构造Frame A1,所述Frame A1各字段取值如下: [0035] Frame A1.DA字段,取值为目的节点的MAC地址;
[0036] Frame A1.SA字段,取值为该终端设备的MAC地址;
[0037] Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值; [0038] Frame A1.isE字段,取值为不加密;
[0039] Frame A1.keyIndex字段,取值不限制(用户数据不加密时该字段没有意义); [0040] Frame A1.Payload字段,取值为用户数据;
[0041] 当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断需要对用户数据进行加密时,所述步骤1.3)的具体实现方式是:
[0042] 1.3.1.1)数据帧加密处理模块调用密钥管理模块,得到对用户数据进行加密的密钥KEY1以及密钥KEY1的标识keyIndex1;
[0043] 1.3.1.2)数据帧加密处理模块根据得到的密钥KEY1,调用算法模块对用户数据进行加密,得到用户数据的密文;
[0044] 1.3.1.3)数据帧加密处理模块构造Frame A1;所述Frame A1各字段取值如下: [0045] Frame A1.DA字段,取值为目的节点的MAC地址;
[0046] Frame A1.SA字段,取值为该终端设备的MAC地址;
[0047] Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值; [0048] Frame A1.isE字段,取值为加密;
[0049] Frame A1.keyIndex字段,取值为密钥KEY1的标识keyIndex1; [0050] Frame A1.Payload字段,取值为用户数据的密文;
[0051] 所述KEY1是终端设备发送的数据帧Frame A1中Payload字段是用户数据的密文信息时,构造Frame A1所使用的密钥。
[0052] 当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2.Payload字段是用户数据的明文时,所述步骤2.3)的具体实现方式是:提取Frame A2.Payload字段即为用户数据的明文,完成对Frame A2的解析,得到用户数据;
[0053] 当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2.Payload字段是用户数据的密文时,所述步骤2.3)的具体实现方式是:
[0054] 2.3.1.1)数据帧解密处理模块将Frame A2.keyIndex字段信息,提交给密钥管理模块,检索得到对Frame A2.Payload进行解密的密钥KEY2;
[0055] 2.3.1.2)数据帧解密处理模块根据得到的密钥KEY2,调用算法模块对Frame A2.Payload进行解密,得到用户数据的明文,完成对Frame A2的解析,得到用户数据; [0056] 所述KEY2是终端设备接收的数据帧Frame A2中Payload字段是用户数据的密文信息时,解析Frame A2所使用的密钥。
[0057] 上述数据处理方法所支持的链路层加密协议数据帧中还包含完整性校验MIC字段;所述MIC字段是对链路层加密协议数据帧除MIC字段外所有字段或部分字段计算得到的完整性校验值;所述数据帧进行保密处理的密钥包含完整性校验密钥和加密密钥两部分;所述完整性校验密钥用于计算或验证MIC字段;所述加密密钥部分用于加密用户数据或解密用户数据的密文。
[0058] 当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断不需要对用户数据进行加密时,所述步骤1.3)的具体实施方式是:
[0059] 1.3.2.1)数据帧加密处理模块调用密钥管理模块,得到对数据帧进行保密处理的密钥KEY1以及密钥KEY1的标识keyIndex1;
[0060] 1.3.2.2)数据帧加密处理模块构造Frame A1除Frame A1.MIC字段外所有字段;所述Frame A1除Frame A1.MIC外所有字段取值如下:
[0061] Frame A1.DA字段,取值为目的节点的MAC地址;
[0062] Frame A1.SA字段,取值为该终端设备的MAC地址;
[0063] Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值; [0064] Frame A1.isE字段,取值为不加密;
[0065] Frame A1.keyIndex字段,取值为密钥KEY1的标识keyIndex1; [0066] Frame A1.Payload字段,取值为用户数据;
[0067] 1.3.2.3)数据帧加密处理模块对构造好的除Frame A1.MIC字段外的Frame A1,调用对应的算法模块,利用KEY1的完整性校验密钥计算完整性校验Frame A1.MIC字段值;完成Frame A1的构造;
[0068] 当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断需要对用户数据进行加密时,所述步骤1.3)的具体实施方式是:
[0069] 1.3.3.1)数据帧加密处理模块调用密钥管理模块,得到对数据帧进行保密处理的密钥KEY1以及密钥KEY1的标识keyIndex1;
[0070] 1.3.3.2)数据帧加密处理模块根据得到的密钥KEY1,调用算法模块,利用KEY1的加密密钥对用户数据进行加密,得到用户数据的密文;
[0071] 1.3.3.3)数据帧加密处理模块构造Frame A1除Frame A1.MIC字段外所有字段;所述Frame A1除Frame A1.MIC外所有字段取值如下:
[0072] Frame A1.DA字段,取值为目的节点的MAC地址;
[0073] Frame A1.SA字段,取值为该终端设备的MAC地址;
[0074] Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值; [0075] Frame A1.isE字段,取值为加密;
[0076] Frame A1.keyIndex字段,取值为密钥KEY1的标识keyIndex1; [0077] Frame A1.Payload字段,取值为用户数据的密文;
[0078] 1.3.3.4)数据帧加密处理模块对构造好的除Frame A1.MIC字段外的Frame A1,调用对应的算法模块,利用KEY1的完整性校验密钥计算完整性校验Frame A1.MIC字段值;完成Frame A1的构造。
[0079] 当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2.Payload字段是用户数据的明文时,所述步骤2.3)的具体实施方式是:
[0080] 2.3.2.1)数据帧解密处理模块将Frame A2.keyIndex字段信息,提交给密钥管理模块,检索得到对Frame A2进行解保密处理的密钥KEY2;
[0081] 2.3.2.2)数据帧解密处理模块利用得到的密钥KEY2的完整性校验密钥部分, 调用算法模块,验证Frame A2中Frame A2.MIC字段的正确性;若Frame A2.MIC正确,则执行步骤2.3.2.3);若不正确,则丢弃该分组;
[0082] 2.3.2.3)数据帧解密处理模块提取Frame A2.Payload字段作为用户数据的明文,完成对Frame A2的解析;
[0083] 当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2.Payload字段是用户数据的密文时,所述步骤2.3)的具体实施方式是:
[0084] 2.3.3.1)数据帧解密处理模块将Frame A2.keyIndex字段信息,提交给密钥管理模块,检索得到对Frame A2进行解保密处理的密钥KEY2;
[0085] 2.3.3.2)数据帧解密处理模块利用得到的密钥KEY2的完整性校验密钥,调用算法模块,验证Frame A2中Frame A2.MIC字段的正确性;若Frame A2.MIC正确,则执行步骤2.3.3.3);若不正确,则丢弃该分组;
[0086] 2.3.3.3)数据帧解密处理模块利用得到的密钥KEY2的加密密钥,调用算法模块对Frame A2.Payload进行解密,得到用户数据的明文,完成对Frame A2的解析。 [0087] 当终端设备对用户数据进行保护涉及的加密和完整性校验时,若所述步骤1.3)中数据帧加密处理模块是先对用户数据进行加密构造数据帧的有效负载Payload字段,再对数据帧进行完整性校验构造MIC字段时,所述步骤2.3)中数据帧解密处理模块在接收到数据帧时,先验证MIC字段的正确性,只有确定MIC字段正确后,再解密数据帧的有效负载Payload字段得到用户数据明文信息,提交给上层;
[0088] 当终端设备对用户数据进行保护涉及的加密和完整性校验在具体实施时,若所述步骤1.3)中数据帧加密处理模块是先将用户数据明文作为有效负载Payload字段,对数据帧计算完整性校验构造MIC字段,再对用户数据明文进行加密,用得到的用户数据密文更新数据帧的有效负载Payload字段时,所述步骤2.3)中数据帧解密处理模块先解密数据帧的有效负载Payload字段得到用户数据明文信息;然后再验证MIC字段的正确性,只有确定MIC字段正确后,之前解密得到的用户数据明文信息才有效,提交给上层。 [0089] 上述步骤1.3)、2.3)在具体实施时,Frame A1.KeyIndex和Frame A2.KeyIndex都指示具有链路层加解密能力的终端设备与对端终端设备的站间密钥时,具有链路层加解密能力的终端设备在发送数据帧给对端终端设备时,使用与对端终端设备之间的站间密钥对要发送的数据帧进行保护,所述保护指加密和/或计算完整性校验;具有链路层加解密能力的终端设备在接收来自对端终端设备的数据帧时,使用与对端终端设备之间的站间密钥对接收到的数据帧进行解保护处理,所述解保护指解密和/或验证完整性校验。 [0090] 上述数据处理方法所支持的链路层加密协议数据帧帧头Frame Header中,还可包含MAClist字段;所述MAClist字段用于表示特定MAC地址列表信息,该字段所给出的特定MAC地址列表中的交换设备需要对接收到的密文数据帧进行解密再加密再转发的处理;该特定MAC地址列表外的交换设备除非为目的节点,否则都只需要对该密文数据帧直接转发。
[0091] 上述MAClist字段的具体实现中定义从发送端终端设备到目的端终端设备的链路上的第一个具有链路层加解密能力的交换设备以及最后一个具有链路层加解密能力的交换设备的MAC地址列表,
[0092] 上述步骤1.3)中具有链路层加解密能力的终端设备作为发送端终端设备,对端终端设备作为目的端终端设备;具有链路层加解密能力的终端设备在获得从具有链路层加解密能力的终端设备到对端终端设备链路上的第一个具有链路层加解密能力的交换设备SW1以及最后一个具有链路层加解密能力的交换设备SW2的MAC地址信息后,在构造数据帧时MAClist字段包含SW1和SW2的MAC地址,并使用发送端终端设备和从发送端终端设备到目的端终端设备的链路上的第一个具有链路层加解密能力的交换设备之间的密钥对数据帧进行保密处理,即使用具有链路层加解密能力的终端设备与SW1之间的密钥KEY1对数据帧进行保密处理,将KEY1的keyIndex1赋值到数据帧的keyIndex字段进行传输;所述对数据帧进行保密处理指加密或/和计算完整性校验;
[0093] 上述步骤2.3)中,具有链路层加解密能力的终端设备作为目的端终端设备,对端终端设备作为发送端终端设备;具有链路层加解密能力的终端设备在收到来自对端终端设备发来的数据帧时,提取MAClist字段得到从发送端终端设备到目的端终端设备的链路上的最后一个具有链路层加解密能力的交换设备的MAC 地址信息,并使用与这个交换设备之间的密钥对数据帧进行解保密处理,即具有链路层加解密能力的终端设备提取MAClist字段得到SW1的MAC地址信息,使用与SW1之间的密钥KEY1进行解保密处理,得到用户数据明文信息;所述对数据帧进行解保密处理指解密或/和验证完整性校验。
[0094] 本发明的优点是:
[0095] 本发明具有链路层加解密能力的终端设备可维持和网络中其他终端设备的共享密钥、与其他交换设备之间的密钥,在发送数据帧时可以直接使用和目的端终端设备之间的密钥或者与其他交换设备之间的密钥对数据帧进行保密处理,可有效降低离终端设备最近的接入交换设备的计算负担,降低数据传输延迟。
[0096] 本发明具有链路层加解密能力的终端设备既可支持标准的ISO/IEC 8802-3数据帧,也支持各种链路层加密协议数据帧,包括IEEE802.1AE和国内自主知识产权的TLSec数据帧。在实现前向兼容的同时,可以实现对各种链路层加密协议的支持,实现数据帧在链路层的加解密处理,提高网络的安全性。

附图说明

[0097] 图1是本发明所提供的具有链路层加解密能力的终端设备示意图; [0098] 图2是本发明所提供的使用站间密钥实施方式示意图;
[0099] 图3是本发明所提供的MAClist字段实施方式示意图。

具体实施方式

[0100] 参见图1,本发明提供的具有链路层加解密能力的终端设备其链路层处理模块包含控制模块、数据帧加密处理模块、数据帧解密处理模块、密钥管理模块、算法模块、发端口和收端口;其中控制模块与数据帧加密处理模块、数据帧解密处理模块、密钥管理模块相连,数据帧加密处理模块与发端口相连,数据帧解密处理模块与收端口相连,密钥管理模块和算法模块均与数据帧加密处理模块、数据帧解密处理模块相连。
[0101] 所述控制模块具有策略管理和控制能力;
[0102] 所述密钥管理模块具有链路层密钥管理能力,根据控制模块的策略需要,为该终端设备与网络中的其他终端设备之间和/或该终端设备与网络中的交换设 备之间建立共享的密钥,并负责对这些密钥进行存储、更新、删除等管理操作;所建立的共享密钥可以是预共享的,也可以是在该终端设备与其他终端设备或交换设备身份鉴别成功后协商建立的;
[0103] 所述数据帧加密处理模块在收到需要发送出去的用户数据后,通过与密钥管理模块进行交互得到对应的密钥,再调用算法模块,即可实现对用户数据的加密处理,得到用户数据的密文,构造链路层加密数据帧,并通过发端口将加密数据帧发送出去; [0104] 所述数据帧解密处理模块在通过收端口接收到数据帧后,通过与密钥管理模块进行交互得到对应的密钥,再调用算法模块,即可实现对数据帧进行解密处理,得到用户数据的明文信息,并通过控制模块将明文信息递交给上层。
[0105] 所述算法模块涉及加解密算法和/或完整性校验算法,可以是硬件实现也可以是软件实现。
[0106] 本发明提供的具有链路层加解密能力的终端设备支持标准的ISO/IEC8802-3数据帧,还支持链路层加密协议数据帧,所支持的链路层加密协议数据帧中包括: [0107]Frame Header Payload
[0108] 其中Frame Header字段,表示帧头信息,包括:
[0109]DA SA Ethertype isE keyIndex
[0110] 其中:
[0111] DA字段:表示目的节点的标识,取值目的节点的MAC地址;
[0112] SA字段:表示源节点的标识,取值源节点的MAC地址;
[0113] Ethertype字段:表示以太类型字段,取值为链路层加密协议的以太类型字段;用于标识对应的链路层加密协议及帧结构;
[0114] isE字段:表示加密标志位,用于标识数据帧的有效负载是用户数据的明文信息还是密文信息,数据包的接收方将该字段作为是否需要解密的一个判断因素; [0115] keyIndex字段:表示对用户数据进行保护(加密和/或计算完整性校验)的密钥的标识;所述对用户数据进行保护的密钥可以是该终端设备和交换设备之 间的密钥;也可以是该终端设备和目的端终端设备之间的密钥;
[0116] Payload字段,表示数据帧有效负载,可以是用户数据的明文信息也可以是用户数据的密文信息;当isE字段表示加密时,有效负载是用户数据的密文信息;当isE字段表示不加密时,有效负载是用户数据的明文信息;
[0117] 在本发明中对数据帧的各个字段在描述时,将使用“帧名.字段名”的方式进行描述。比如Frame A1的DA字段记为Frame A1.DA;Frame A2的Payload字段记为Frame A2.Payload。
[0118] 本发明终端设备通过数据加密处理模块由发端口发往网络的数据帧中SA字段取值为该终端设备的MAC地址;本发明终端设备通过收端口送至数据解密处理模块处理的数据帧中DA字段值是该终端设备的MAC地址。
[0119] 将本发明终端设备通过发端口发出的数据帧记为Frame A1;将本发明终端设备通过收端口收到的数据帧记为Frame A2;
[0120] 若本发明终端设备发送的数据帧Frame A1中Payload字段是用户数据的密文信息,记构造Frame A1所使用的密钥为KEY1;若本发明终端设备接收的数据帧Frame A2中Payload字段是用户数据的密文信息,记解析Frame A2所使用的密钥为KEY2。 [0121] 本发明提供的具有链路层加解密能力的终端设备在发送链路层加密协议数据帧时,操作如下:
[0122] 1.1)上层将需要链路层发送的用户数据发送给终端设备链路层控制模块; [0123] 1.2)由控制模块根据本地策略,选择使用的链路层加密协议类型及保密处理策略;并将选择的链路层加密协议类型及保密处理策略及用户数据信息发送给数据帧加密处理模块;
[0124] 1.3)数据帧加密处理模块根据对应的链路层加密协议及保密处理策略处理用户数据,并构造Frame A1,其中:
[0125] 1.3.1)当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断不需要对用户数据进行加密时,按照如下说明完成构造Frame A1的构造: [0126] Frame A1.DA字段,取值为目的节点的MAC地址;
[0127] Frame A1.SA字段,取值为该终端设备的MAC地址;
[0128] Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值; [0129] Frame A1.isE字段,取值为不加密;
[0130] Frame A1.keyIndex字段,取值不限制(用户数据不加密时该字段没有意义); [0131] Frame A1.Payload字段,取值为用户数据;
[0132] 1.3.2)当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断需要对用户数据进行加密时,按照如下步骤执行:
[0133] 1.3.2.1)数据帧加密处理模块调用密钥管理模块,得到对用户数据进行加密的密钥KEY1以及密钥KEY1的标识keyIndex1;
[0134] 1.3.2.2)数据帧加密处理模块根据得到的密钥KEY1,调用算法模块对用户数据进行加密,得到用户数据的密文;
[0135] 1.3.2.3)数据帧加密处理模块按照如下说明完成Frame A1的构造: [0136] Frame A1.DA字段,取值为目的节点的MAC地址;
[0137] Frame A1.SA字段,取值为该终端设备的MAC地址;
[0138] Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值; [0139] Frame A1.isE字段,取值为加密;
[0140] Frame A1.keyIndex字段,取值为密钥KEY1的标识keyIndex1; [0141] Frame A1.Payload字段,取值为用户数据的密文;
[0142] 1.4)数据帧加密处理模块将构造好的Frame A1,通过发端口发送出去,从而完成链路层数据帧的发送。
[0143] 本发明提供的具有链路层加解密能力的终端设备在接收链路层加密协议数据帧时,操作如下:
[0144] 2.1)终端设备通过物理层收到发给该终端设备的数据帧Frame A2,通过收端口将接收到的数据帧Frame A2交给数据帧解密处理模块;
[0145] 2.2)数据帧解密处理模块根据接收到的数据帧Frame A2,判断对应的链路层加密协议;
[0146] 2.3)数据帧解密处理模块根据对应的链路层加密协议,解析Frame A2,得到用户数据,其中:
[0147] 2.3.1)当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2. Payload字段是用户数据的明文时,则提取Frame A2.Payload字段即为用户数据的明文,完成对Frame A2的解析;
[0148] 2.3.2)当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2.Payload字段是用户数据的密文时,执行如下步骤:
[0149] 2.3.2.1)数据帧解密处理模块将Frame A2.keyIndex字段信息,提交给密钥管理模块,检索得到对Frame A2.Payload进行解密的密钥KEY2;
[0150] 2.3.2.2)数据帧解密处理模块根据得到的密钥KEY2,调用算法模块对Frame A2.Payload进行解密,得到用户数据的明文,完成对Frame A2的解析; [0151] 2.4)数据帧解密处理模块将得到的用户数据的明文通过控制模块提交给上层,从而完成链路层数据帧的接收。
[0152] 本发明终端设备所支持的链路层加密协议数据帧中除包含帧头Frame Header和有效负载Payload外,还可包含完整性校验MIC字段;MIC字段是对链路层加密协议数据帧(如Frame A1、Frame A2)除MIC字段外所有字段或部分字段计算得到的完整性校验值。 [0153] 在支持的链路层加密协议数据帧包含MIC字段的实施方式中,对数据帧进行保密处理的密钥(如KEY1、KEY2)包含完整性校验密钥和加密密钥两部分;完整性校验密钥用于计算或验证MIC字段;加密密钥部分用于加密用户数据或解密用户数据的密文。在支持的链路层加密协议数据帧包含MIC字段的实施方式中,上述本发明终端设备在发送数据帧时,步骤1.3)的具体实施方式是:
[0154] 1.3.1)当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断不需要对用户数据进行加密时,按照如下步骤执行:
[0155] 1.3.1.1)数据帧加密处理模块调用密钥管理模块,得到对数据帧进行保密处理的密钥KEY1以及密钥KEY1的标识keyIndex1;
[0156] 1.3.1.2)数据帧加密处理模块按照如下说明构造Frame A1除Frame A1.MIC字段外的字段;
[0157] Frame A1.DA字段,取值为目的节点的MAC地址;
[0158] Frame A1.SA字段,取值为该终端设备的MAC地址;
[0159] Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值; [0160] Frame A1.isE字段,取值为不加密;
[0161] Frame A1.keyIndex字段,取值为密钥KEY1的标识keyIndex1; [0162] Frame A1.Payload字段,取值为用户数据;
[0163] 1.3.1.3)数据帧加密处理模块对构造好的除Frame A1.MIC字段外的Frame A1,调用对应的算法模块,利用KEY1的完整性校验密钥计算Frame A1.MIC字段字段值;完成Frame A1的构造;
[0164] 1.3.2)当数据帧加密处理模块根据对应的链路层加密协议及保密处理策略判断需要对用户数据进行加密时,按照如下步骤执行:
[0165] 1.3.2.1)数据帧加密处理模块调用密钥管理模块,得到对数据帧进行保密处理的密钥KEY1以及密钥KEY1的标识keyIndex1;
[0166] 1.3.2.2)数据帧加密处理模块根据得到的密钥KEY1,调用算法模块,利用KEY1的加密密钥对用户数据进行加密,得到用户数据的密文;
[0167] 1.3.3.3)数据帧加密处理模块按照如下说明构造Frame A1除Frame A1.MIC字段外的字段;
[0168] Frame A1.DA字段,取值为目的节点的MAC地址;
[0169] Frame A1.SA字段,取值为该终端设备的MAC地址;
[0170] Frame A1.Ethertype字段,取值为对应的链路层加密协议的以太类型字段值; [0171] Frame A1.isE字段,取值为加密;
[0172] Frame A1.keyIndex字段,取值为密钥KEY1的标识keyIndex1; [0173] Frame A1.Payload字段,取值为用户数据的密文;
[0174] 1.3.3.4)数据帧加密处理模块对构造好的除Frame A1.MIC字段外的Frame A1,调用对应的算法模块,利用KEY1的完整性校验密钥计算Frame A1.MIC字段字段值;完成Frame A1的构造。
[0175] 在支持的链路层加密协议数据帧包含MIC字段的实施方式中,上述本发明终端设备在接收数据帧时,步骤2.3)的具体实施方式是:
[0176] 2.3.1)当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2.Payload字段是用户数据的明文时,按照如下步骤执行:
[0177] 2.3.1.1)数据帧解密处理模块将Frame A2.keyIndex字段信息,提交给密钥管 理模块,检索得到对Frame A2进行保密处理的密钥KEY2;
[0178] 2.3.1.2)数据帧解密处理模块利用得到的密钥KEY2的完整性校验密钥部分,调用算法模块,验证Frame A2中Frame A2.MIC字段的正确性;若Frame A2.MIC正确,则执行步骤2.3.1.3);否则,丢弃该分组;
[0179] 2.3.1.3)数据帧解密处理模块提取Frame A2.Payload字段作为用户数据的明文,完成对Frame A2的解析;
[0180] 2.3.2)当数据帧解密处理模块根据Frame A2.isE字段判断Frame A2.Payload字段是用户数据的密文时,按照如下步骤执行:
[0181] 2.3.2.1)数据帧解密处理模块将Frame A2.keyIndex字段信息,提交给密钥管理模块,检索得到对Frame A2进行保密处理的密钥KEY2;
[0182] 2.3.2.2)数据帧解密处理模块利用得到的密钥KEY2的完整性校验密钥,调用算法模块,验证Frame A2中Frame A2.MIC字段的正确性;若Frame A2.MIC正确,则执行步骤2.3.2.3);否则,丢弃该分组;
[0183] 2.3.2.3)数据帧解密处理模块利用得到的密钥KEY2的加密密钥,调用算法模块对Frame A2.Payload进行解密,得到用户数据的明文,完成对Frame A2的解析。 [0184] 在终端设备支持链路层加密协议数据帧包含MIC字段的实施方式中,具体实施时,本发明终端设备对用户数据进行保护涉及的加密和完整性校验可实现为步骤1.3)中数据帧加密处理模块先对用户数据进行加密构造数据帧的有效负载Payload字段,再对数据帧进行完整性校验,构造MIC字段;此种实施方式下,步骤2.3)中数据帧解密处理模块先验证MIC字段的正确性,只有确定MIC字段正确后,再解密数据帧的有效负载Payload字段得到用户数据明文信息,提交给上层。
[0185] 在终端设备支持链路层加密协议数据帧包含MIC字段的实施方式中,具体实施时,本发明终端设备对用户数据进行保护涉及的加密和完整性校验可还可实现为步骤1.3)中数据帧加密处理模块先将用户数据明文作为有效负载Payload字段,对数据帧计算完整性校验,构造MIC字段,再对用户数据明文进行加密,用得到的用户数据密文更新数据帧的有效负载Payload字段;此种实施方式下,步 骤2.3)中数据帧解密处理模块先解密数据帧的有效负载Payload字段得到用户数据明文信息;然后再验证MIC字段的正确性,只有确定MIC字段正确后,之前解密得到的用户数据明文信息才有效,才可提交给上层。 [0186] 记终端设备与终端设备之间的密钥为站间密钥。
[0187] 上文中所提到的任意实施例在具体实施时,终端设备可使用终端设备STA-A与终端设备STA-B之间的站间密钥实现链路层保密传输。如图2所示,终端设备STA-A在发送数据帧给终端设备STA-B时,不管终端设备STA-A与终端设备STA-B之间的链路情况如何,只需要使用与终端设备STA-B之间的站间密钥KEY AB对要发送的数据帧进行保护(加密和/或计算完整性校验)即可;
[0188] 终端设备STA-B在接收来自终端设备STA-A的数据帧时,不管终端设备STA-A与终端设备STA-B之间的链路情况如何,只需要使用与终端设备STA-A之间的站间密钥KEY AB对接收到的数据帧进行解保护(解密和/或验证完整性校验)处理即可。 [0189] 在使用站间密钥的实施方式中,在终端设备STA-A与终端设备STA-B之间的交换设备不需要对他们之间的数据帧进行加解密处理,直接转发即可。
[0190] 在使用站间密钥的实施方式中,终端设备STA-A和终端设备STA-B之间的交换设备可以具有链路层加解密能力,也可以不具有链路层加解密能力;也即使用站间密钥的实施方式中,支持具有链路层加解密能力的交换设备和不具有链路层加解密能力的交换设备的混合组网。
[0191] 另外,本发明终端设备所支持的链路层加密协议数据帧中的帧头Frame Header中,还可包含MAClist字段;MAClist字段用于表示特定MAC地址列表信息,该字段所给出的特定MAC地址列表中的交换设备需要对接收到的密文数据帧进行加解密处理;该特定MAC地址列表外的交换设备除非为目的节点,否则都只需要对该密文数据帧直接转发。MAClist字段的存在可以使交换设备不需要对所有要转发的数据帧都进行解密再加密再转发的操作。
[0192] 如图3所示,MAClist字段在具体实施时,可定义为从发送端终端设备到目的端终端设备的链路上的第一个具有链路层加解密能力的交换设备以及最后一个具有链路层加解密能力的交换设备的MAC地址列表。
[0193] 终端设备STA-A在发送数据帧给终端设备STA-B时,MAClist字段为交换设备SW1和交换设备SW2的MAC地址,从终端设备STA-A发往终端设备STA-B的数据帧,只有交换设备SW1和交换设备SW2需要进行解密再加密再转发的处理,其他交换设备(如位于终端设备STA-A到终端设备STA-B的链路上其他交换设备SWM)直接转发即可;
[0194] 作为发送端终端设备的终端设备STA-A在获得交换设备SW1和交换设备SW2的MAC地址信息后,在构造数据帧时将SW1和SW2的MAC地址作为MAClist字段进行传输;发送的数据帧中加密用户数据以及计算MIC字段使用终端设备STA-A与交换设备SW1之间的密钥KEY1进行处理,将KEY1的keyIndex1赋值到数据帧的keyIndex字段进行传输; [0195] 作为目的端终端设备的终端设备STA-B在收到终端设备STA-A发来的数据帧时,使用与交换设备SW2之间的密钥KEY2进行处理,得到用户数据明文信息。 [0196] 在上述MAClist字段实施方式中,从终端设备STA-A到终端设备STA-B的数据帧在传输过程中,交换设备SW1在收到终端设备STA-A发给终端设备STA-B的数据帧后,利用keyIndex标识的密钥KEY1解密用户数据;交换设备SW2在收到终端设备STA-A发给终端设备STA-B的数据帧后,利用与STA-B之间的密钥KEY2加密用户数据,并将KEY2的keyIndex2更新至数据帧中的keyIndex字段进行传输。其中,数据帧在交换设备SW1与交换设备SW2之间可以是明文传输,也可以使用交换设备SW1与交换设备SW2之间的密钥进行加密传输,本发明不予限定;
[0197] 在上述MAClist字段实施方式中,终端设备STA-A与SW1之间、SW1与SW2之间、SW2与终端设备STA-B之间可以存在一个或多个不具有链路层加解密能力的交换设备;且SW1与SW2之间还可存在一个或多个具有链路层加解密能力的交换设备;即在上述MAClist字段实施方式中本发明终端设备支持具有链路层加解密能力的交换设备与不具有链路层加解密能力的交换设备的混合组网。