• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

MACsec技术白皮书


1 MACsec

1.1 MACsec简介

MACsec(Media Access Control Security,MAC安全)定义了基于IEEE 802局域网络的数据安全通信的方法。MACsec可为用户提供安全的MAC层数据发送和接收服务,包括用户数据加密、数据帧完整性检查及数据源真实性校验。

MACsec通常与802.1X认证框架配合使用,工作在802.1X认证过程成功之后,通过识别出已认证设备发送的报文,并使用MKA(MACsec Key Agreement,MACsec密钥协商)协议协商生成的密钥对已认证的用户数据进行加密和完整性检查,避免端口处理未认证设备的报文或者未认证设备篡改的报文。

1.2 MACsec典型组网模式

MACsec包括两种典型组网模式:面向主机模式和面向设备模式。

1. 面向主机模式

如图1所示,面向主机模式用于保护客户端和设备之间的数据帧。

图1 面向主机模式组网图

该模式包括以下三个组成元素:

· 客户端

客户端可以是请求接入局域网的用户终端,也可以是支持802.1X Client功能的设备,由局域网中的接入设备对其进行认证,并执行MACsec密钥协商和报文加密功能。

· 接入设备

接入设备控制客户端的接入,通过与认证服务器的交互,对所连接的客户端进行802.1X认证,并执行MACsec密钥协商和报文加密功能。

· 认证服务器

认证服务器用于对客户端进行认证、授权和计费,通常为RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器。客户端通过认证后,认证服务器为客户端和接入设备分发密钥。

说明

面向主机模式中,接入设备上使能MKA协议的端口必须采用基于端口的802.1X认证方式,且必须配置802.1X认证方法为EAP中继方式。

2. 面向设备模式

如图2所示,面向设备模式用于保护设备之间的数据帧。

图2 面向设备模式组网图

该模式与主机模式的区别是:无客户端和接入设备之分,也不需要认证服务器,互连的两台设备可以直接使用通过命令行配置的预共享密钥进行MACsec密钥协商和报文加密功能。

1.3 MACsec基本概念

1. CA

CA(Connectivity Association,安全连通集)是两个或两个以上使用相同密钥和密钥算法套件的成员的集合。CA成员称为CA的参与者。CA参与者使用的密钥称为CAK。CAK分为两种类型,一种是成对CAK(Pairwise CAK),另一种是成组CAK(Group CAK)。由两个成员组成CA,它们所拥有的CAK称为成对CAK。由三个或三个以上成员组成CA,它们所拥有的CAK称为成组CAK。目前,MACsec主要应用在点对点组网的环境中,所以主要使用成对CAK。成对CAK可以是802.1X认证过程中生成的CAK,也可以是用户配置的预共享密钥(PSK,Pre-Shared Key)。如两者同时存在,优先使用用户配置的预共享密钥。

2. SA

SA(Security Association,安全联盟)是CA参与者之间用于建立安全通道的安全参数集合,包括对数据进行加密算法套件、进行完整性检查的密钥等。一个安全通道中可包含多个SA,每一个SA拥有一个不同的密钥,这个密钥称为SAK。SAK由CAK根据算法推导产生,用于加密安全通道间传输的数据。MKA对每一个SAK可加密的报文数有所限制。当使用某SAK加密的报文超过限定的数目后,该SAK会被刷新。例如,在10Gbps的链路上,SAK最快300秒刷新一次。

1.4 MACsec协议机制

1. 数据加密

使能了MACsec功能且启动了MACsec保护的端口发送数据帧时,需要对它进行加密;使能了MACsec功能的端口收到经过MACsec封装的数据帧时,需要对它进行解密。加解密所使用的密钥是通过MKA协议协商而来的。

2. 完整性检查

MACsec封装的数据帧会使用CAK推导出的密钥进行ICV(完整性校验值,Integrity Check Value)计算,并附加在MACsec报文的尾部。设备收到MACsec报文时,同样使用MKA协商出的密钥进行完整性检验值计算,然后将计算结果与报文中携带的ICV进行比较。如果比较结果相同,则表示报文合法;如果比较结果不相同,将依据配置的校验模式,决定是否丢弃报文。

3. 重播保护机制

MACsec封装的数据帧在网络中传输时,可能出现报文顺序的重排。MACsec重播保护机制允许数据帧有一定的乱序,这些乱序的报文序号在用户指定的窗口范围内可以被合法接收,超出窗口的报文会被丢弃。

1.5 MACsec运行机制

1. 面向主机模式的MACsec运行机制

如图3所示,在客户端和接入设备之间建立安全会话前,客户端首先需要在接入设备的端口上进行802.1X认证。通过认证之后,客户端将开始与接入设备进行会话协商、会话的建立和维护过程。MACsec协议的交互过程主要分为四个阶段:身份认证、会话协商、安全通信和会话终止。

图3 面向主机模式的MACsec协议交互过程

(2) 身份认证

在客户端和接入设备之间建立安全会话前,客户端首先需要在接入设备的端口上进行802.1X认证。客户端通过认证后,RADIUS服务器会把生成的CAK分发给客户端和接入设备。

(3) 会话协商

客户端和接入设备有了可用的CAK,使用EAPOL-MKA报文开始协商会话。在协商会话的过程中,客户端和接入设备使用MKA协议向对方通告自身能力和建立会话所需的各种参数(如优先级、是否期望加密会话等)。会话协商时,接入设备会被自动选举为密钥服务器(Key Server)。密钥服务器使用CAK派生出用于加密数据报文的SAK,并把SAK分发给客户端。

(4) 安全通信

会话协商完成后,客户端和接入设备有了可用的SAK,并使用SAK加密数据报文,开始加密通信。

(5) 会话终止

当接入设备收到802.1X客户端的下线请求消息后,立即清除该用户对应的安全会话,避免一个未认证的客户端使用端口上前一个已认证客户端建立的安全会话接入网络。

此外,MKA协议里定义了一个会话保活定时器,如果在超时时间内(6秒),本端没有收到对端的MKA协议报文,则在定时器超时后,本端将清除建立的安全会话。

2. 面向设备模式的MACsec运行机制

如图4所示,设备间的MACsec协议交互过程无身份认证阶段,直接从会话协商阶段开始。设备之间使用配置的预共享密钥开始协商会话,会话协商结束后开始安全通信。该模式下,会话协商、安全通信和会话终止的具体机制与面向主机模式的MACsec协议交互过程类似。但密钥服务器的选举方式不同,面向设备模式中优先级较高的端口将被选举为密钥服务器,负责生成和分发SAK。

图4 面向设备模式的MACsec协议交互过程

1.6 协议规范

与MACsec相关的协议规范有:

· IEEE 802.1X-2010:Port-Based Network Access Control

· IEEE 802.1AE-2006:Media Access Control (MAC) Security

新华三官网
联系我们