摘要:由于技术局限性,通过应用层安全技术无法有效保护以太网连接安全。西电捷通公司从网络底层协议安全入手研发出以太网安全技术—TLSec,它通过引入在线可信第三方实现请求者和控制器的双向身份鉴别,保证合法用户接入合法网络。本文通过网络数据包捕获的方式,对TLSec技术体系中基于证书的鉴别协议进行剖析,展示TLSec如何在底层协议层面为以太网提供安全保障。
关键词:西电捷通;TLSec;局域网安全;链路层安全;证书;鉴别协议;Wireshark分析
1、TLSec技术简介
互联网产生已有40多年的历史,根据网络传输介质的不同,一般将网络分为有线网络和无线网络,其中有线网络中使用最广泛的是由以太网技术构建的局域网。以太网以广播技术为基础,通过载波监听、冲突检测以及多址访问的方式实现数据传输。“载波监听、冲突检测”即带碰撞检测的载波侦听多址访问(Carrier Sense Multiple Access with Collision Detection,CSMA/CD),就是指在发送数据之前,首先监听信道并检测网络上是否有其他的设备正在发送数据,若线路空闲则发送数据,若检测到冲突则等待随机时间后重新尝试发出。收件人根据媒体访问控制(Media Access Control,MAC)地址来判断是否是发给自己的数据,若是则接受,不是则抛弃。这种开放的模式导致以太网极易遭受来自内部的攻击,诸如数据篡改、数据窃听、重放攻击、中间人攻击等安全威胁不时出现。并且目前无法实现在物理上对线路和端口进行保护。由于现有的以太网安全机制不能提供足够安全保障(如IEEE 802.1X采用的二元结构,实际部署中网络设备一般没有独立身份,容易遭受中间人攻击,存在安全缺陷),致使长期以来以太网面临的安全威胁得不到有效解决。针对日益严峻的网络安全问题,西电捷通提出了基于三元对等架构的局域网媒体访问控制安全(TePA-based LAN security,TLSec)技术,并获国家标准GB/T 15629.3-2014采纳并发布。
TLSec技术是西电捷通提出的三元对等安全架构在局域网链路层安全领域的技术应用,能助力构筑安全、可信赖的有线局域网络。TLSec技术包括基于三元对等架构的局域网鉴别协议(TePA-based LAN Authentication Protocol,TLA)和基于TLA协议的局域网保密通信协议(TLA-based LAN Privacy Protocol,TLP),TLSec技术通过可信第三方实现请求者与控制器之间的相互身份鉴别,实现防止非法访问、数据篡改、数据窃听等威胁,从底层协议上为以太网提供本质化的安全。
TLSec技术中,定义了三种不同的角色:请求者(Requester,REQ)、鉴别访问控制器(Authentication access controller,AAC)和鉴别服务器(Authentication Server,AS),根据角色形成TLSec系统产品:TLSec客户端、以太网安全控制器、鉴别服务器。TLSec客户端作为接入设备提供接入鉴别和加密服务;以太网安全控制器作为准入设备提供鉴别和加密服务;而AS服务器作为可信第三方提供证书管理和鉴别服务。TLSec系统的典型网络部署如图1所示。
图1 TLSec系统典型网络部署图
本文通过Wireshark网络封包分析工具抓取TLSec基于证书鉴别过程数据分组,对TLSec技术的TLA协议中基于证书的鉴别协议帧结构进行剖析。使读者对TLA协议帧结构和基于证书鉴别过程有初步的了解。
2、实验环境搭建说明
实验室环境搭建,如图2所示,鉴别服务器(AS)直连鉴别访问控制器(AAC),请求者(REQ)通过具有端口镜像功能的二层交换机连接到鉴别访问控制器(AAC),安装有Wireshark的PC连接到Hub的镜像端口。
图2 实验室连接拓扑图
具体配置:AS的IP地址为192.168.1.200,AAC的IP地址为192.168.1.65,REQ的IP地址为192.168.1.64。
3、基于证书的鉴别协议概述
基于证书的鉴别过程包含6个分组,其中接入鉴别确认分组是可选分组。如果收到的接入鉴别响应分组中包含AAC的签名SigAAC,则接入鉴别确认分组就是必须的;如果收到的接入鉴别响应分组中不包含AAC的签名SigAAC,而是包含了消息鉴别码MIC1字段,则接入鉴别确认分组就是可选的。基于证书的鉴别过程见图3,各分组中字段的具体解释详见GB/T 15629.3-2014《信息技术 系统间远程通信和信息交换 局域网和城域网 特定要求 第3部分:带碰撞检测的载波侦听多址访问(CSMA/CD)的访问方法和物理层规范》。
图3 TAEP-CAAP过程
各分组主要包括数据元素信息内容如下:
(1)鉴别激活分组
安全策略协商过程成功完成后,如果AAC与REQ协商选择采用基于证书的鉴别和密钥管理策略,当AAC收到REQ发送的start帧时,则AAC向REQ发送鉴别激活分组。鉴别激活分组字段包括:标识TAEP_FLAG、一次性随机数SNonce(标识鉴别的新鲜性,亦称鉴别标识)、本地信任的AS身份IDAS-AAC、AAC的证书CertAAC、DH参数ParaDH 、TLA信息元素TIEAAC及AAC的签名SigAAC(可选)。
该分组封装在Code=1(Request),Type=245(TAEP-CAAP),MessageType = 0x01的TAEP-Request-CAAP/TAEPoL中。
(2)接入鉴别请求分组
REQ正确处理AAC发送的鉴别激活分组后,构造接入鉴别请求分组发送给AAC。接入鉴别请求分组字段包括:标识TAEP_FLAG、鉴别激活分组中的一次性随机数SNonce、本地生成的一次性随机数NREQ、本地生成的临时公钥x·P、AAC的身份信息IDAAC(可根据鉴别激活分组中的AAC公钥证书CertAAC得到)、REQ选择的鉴别证书CertREQ、ParaDH、REQ信任的AS列表ListAS(可选)、TLA信息元素TIEREQ及签名信息SigREQ(利用REQ的长期私钥计算得到)。若REQ所信任的AS不止一个,REQ所信任的AS列表存在。
该分组封装在Code=1(Request),Type=245(TAEP-CAAP),MessageType = 0x02的TAEP-Request-CAAP/TAEPoL中。
(3)证书鉴别请求分组
AAC正确处理REQ发送的接入鉴别请求分组后,构造证书鉴别请求分组发送给AS。证书鉴别请求分组字段包括:地址索引ADDID(标识鉴别所服务的主体)、接入鉴别请求分组中的NREQ、本地生成的一次性随机数NAAC、CertREQ、CertAAC及REQ信任的AS列表(若接入鉴别请求分组中包含REQ信任的AS列表,则本字段存在,否则不存在)。
该分组封装在Code=1(Request),Type=245(TAEP-CAAP),MessageType = 0x03的TAEP-Request-CAAP/TAEP-AS-SVC中。
(4)证书鉴别响应分组
AS正确处理AAC发送的证书鉴别请求分组后,构造证书鉴别响应分组发送给AAC。
证书鉴别响应分组字段包括:地址索引ADDID、证书验证结果及REQ信任的AS对证书验证结果的签名SigAS-REQ、AAC所信任的AS的签名SigAS-AAC。其中证书验证结果包含NREQ、NAAC、CertREQ、CertAAC、REQ证书的验证结果ResREQ与AAC证书的验证结果ResAAC。若AAC和REQ信任的AS相同,则证书鉴别响应分组中的签名只存在一个。若为单向鉴别则证书验证结果中不包含一次性随机数2,验证结果2以及证书2,即不包含AAC的随机数、验证结果及证书。
该分组封装在Code=2(Response),Type=245(TAEP-CAAP),MessageType = 0x04的TAEP-Response-CAAP/TAEP-AS-SVC中。
(5)接入鉴别响应分组
AAC正确处理AS发送的证书鉴别响应分组后,构造接入鉴别响应分组发送给REQ。
接入鉴别响应分组字段包括:标识TAEP_FLAG、NREQ、NAAC、IDREQ(可根据CertREQ得到)、接入结果、IDAAC、REQ密钥数据x·P、本地生成的临时公钥y.P、复合的证书验证结果RES及AAC生成的消息鉴别码MIC1。如果在之前的鉴别激活分组中没有AAC的签名SigAAC字段或者此次鉴别过程没有鉴别激活分组,则分组中不需要计算消息鉴别码MIC1,而是需要计算签名SigAAC。其中复合的证书验证结果RES为证书鉴别响应分组中除ADDID之外的其他内容。
该分组封装在Code=2(Response),Type=245(TAEP-CAAP),MessageType = 0x05的TAEP-Response-CAAP/TAEPoL中。
(6)接入鉴别确认分组
REQ正确处理AAC发送的接入鉴别响应分组后,构造接入鉴别确认分组发送给AAC。接入鉴别确认分组为可选分组,如果收到的接入鉴别响应分组中包含AAC的签名SigAAC,则接入鉴别确认分组就是必须的;如果收到的接入鉴别响应分组中不包含AAC的签名SigAAC,而是包含了消息鉴别码MIC1字段,则接入鉴别确认分组就是可选的。接入鉴别确认分组字段包括:标识TAEP_FLAG及消息鉴别码MIC2。
该分组封装在Code=2(Response),Type=245(TAEP-CAAP),MessageType = 0x06的TAEP-Response-CAAP/TAEPoL中。
4、抓包数据分析过程
(1)数据包捕获步骤:
第一步,根据实验环境说明,搭建网络环境;
第二步,打开抓包设备上的Wireshark软件,配置完成后,开始捕获分组;
第三步,打开终端设备上的“可信网络安全客户端软件”,软件启动后会自动进行连接;
第四步,“可信网络安全客户端软件”显示“已安全连接”后,停止Wireshark捕获功能。
(2)局域网媒体访问控制安全协议帧格式
我们来看抓取的数据包,以鉴别激活分组数据包为例,从Wireshark的“封包详细信息”栏中,我们看到数据包协议类型为TLA(以太类型为0x891b的TAEPoL帧,TAEP-Type为245),即基于三元对等鉴别的局域网鉴别协议,如图4所示。
图4 鉴别激活分组数据包
由于这个版本的Wireshark使用的是Ethernet II 来解码的,Ethernet II 的封装格式,如图5所示:
图5 Ethernet II封装格式
局域网媒体访问控制安全协议详细封装格式,如图6所示。帧结构中名称后括号内数字代表帧长度,即八位组个数。对比Ethernet II可以看出,TAEPoL(Tri-element Authentication Extensible Protocol,三元鉴别可扩展协议)帧结构中EtherType对应Ethernet II中的Type字段。
图6 TAEPoL帧结构
图6帧结构中Body部分,根据TAEP_Type字段值可知为TAEP(TAEP over Link,基于链路的三元鉴别可扩展协议)分组。TAEP分组帧结构如图7所示。
图7 TAEP分组帧结构
图7帧结构中Type_Data部分,根据Type字段值可知TLA分组数据为TAEP-CAAP数据,即基于证书鉴别协议数据。TLA分组帧结构如图8所示。
图8 TLA协议帧结构
图8帧结构中MessageType字段的定义如表1所示。
表1 TAEP-CAAP类型分组MessageType子类型定义
MessageData中数据由多组采用TLV封装格式封装的数据元素组成,TLV封装格式如图9所示。
图9 TLV封装格式
a)鉴别激活分组
如图4所示,当前数据Code=1(Request),Type=245(TAEP-CAAP),MessageType=1(接入鉴别请求分组)。MessageData中包括如表2数据元素:
表2 鉴别激活分组有效元素集合
b)接入鉴别请求分组
图10 接入鉴别请求分组数据包
如图10所示,当前数据Code=1(Request),Type=245(TAEP-CAAP),MessageType=2(接入鉴别请求分组)。MessageData中包括如表3数据元素:
表3 接入鉴别请求分组有效元素集合
c)证书鉴别请求分组
证书鉴别请求分组是通过UDP数据包进行发送,数据Data内容为图7中TAEP分组数据。
图11 证书鉴别请求分组数据包
如图11所示,当前数据Code=0x01(Request),Type=0xf5(TAEP-CAAP),MessageType=0x03(证书鉴别请求分组)。MessageData中包括如表4数据元素:
表4 证书鉴别请求分组有效元素集合
d)证书鉴别响应分组
证书鉴别响应分组是通过UDP数据包进行发送,数据Data内容为图7中TAEP分组数据。
图12 证书鉴别响应分组数据包
如图12所示,当前数据Code=2(Response),Type=245(TAEP-CAAP),MessageType=4(证书鉴别响应分组)。MessageData中包括如表5数据元素:
表5 证书鉴别响应分组有效元素集合
e)接入鉴别响应分组
图13 接入鉴别响应分组数据包
如图13所示,当前数据Code=2(Response),Type=245(TAEP-CAAP),MessageType=5(证书鉴别响应分组)。MessageData中包括如表6数据元素:
表6 接入鉴别响应分组有效元素集合
f)接入鉴别确认分组
图14 接入鉴别确认分组
如图14所示,当前数据Code=2(Response),Type=245(TAEP-CAAP),MessageType=6(证书鉴别响应分组)。MessageData中包括如表7数据元素:
表7 接入鉴别确认分组有效元素集合
5、总结
通过以上对基于证书的鉴别协议过程数据包的分析,TLA协议数据通过TAEP、TAEPoL协议逐层封装后进行传输。首先,各分组数据元素根据TLV格式封装到TLA协议帧中,使用MessageType标识当前是协议的第几个分组消息;其次,TLA协议数据再封装到TAEP协议帧中,使用Code字段标识是请求包(或响应包),并使用Type字段标识当前TAEP协议数据是基于证书鉴别协议数据还是其他协议类型数据;最后,TAEP协议数据封装到TAEPoL协议帧中,TAEPoL协议帧中TAEP_Type字段标识当前协议中Body部分数据协议封装类型是TAEP。
TLSec基于证书的鉴别协议的交互过程所实现的安全机制采用了国际标准ISO/IEC 9798-3:1998/Amd.1:2010和国家标准GB/T 15843.3-2016给出的实体鉴别机制(即TePA实体鉴别国际标准和国家标准)。TLSec技术能够通过在线可信第三方实现请求者与控制器之间的相互鉴别,从而可以防止非法访问、数据篡改、数据窃听等威胁,从底层协议上为以太网提供安全保障,让有线网络从底层开始具备本质安全能力。