本站点使用Cookies,继续浏览表示您同意我们使用Cookies。 Cookies和隐私政策>

搜索
首页 信息速查 IP知识百科 在线课堂

什么是MACsec?

MACsec(Media Access Control Security)是基于802.1AE和802.1X协议的局域网上的安全通信方法。它通过身份认证、数据加密、完整性校验、重播保护等功能保证以太网数据帧的安全性,防止设备处理有安全威胁的报文。

为什么需要MACsec?

MACsec(Media Access Control Security)是基于802.1AE和802.1X协议的局域网上的安全通信方法,工作在OSI模型的数据链路层,直接对原始以太网帧进行保护,通过身份认证、数据加密、完整性校验、重播保护等功能保证以太网数据帧的安全性,防止设备处理有安全威胁的报文。

一般情况下,绝大部分数据在局域网链路中都是以明文形式传输的,这样就会存在许多安全隐患,比如:银行帐户的信息被窃取、篡改,遭受恶意网络攻击等。网络中部署MACsec后,可对传输的以太网数据帧进行保护,降低信息泄露和遭受恶意网络攻击的风险。

MACsec从以下几个方面保障了用户业务数据在局域网中的安全传输:
  • 数据加密:MACsec使用AES-CMAC算法加密。发送方对数据进行加密,数据以密文的形式在局域网链路上传输,接收方对接收的加密数据解密后再进行其他处理。
  • 完整性校验:接收方对接收的数据进行完整性校验,以判定数据是否被篡改。发送方根据整个数据报文和加密算法计算出完整性校验值ICV(Integrity Check Value),附加在报文后,接收方收到报文后根据除去ICV部分的数据报文和相同的加密算法计算出ICV,同报文中的ICV比较。若二者相同,则认为报文完整,校验通过;否则,丢弃报文。
  • 重播保护:为防止恶意用户通过重复发送捕获到的数据报文进行网络攻击,缺省情况下,接收方会丢弃重复或乱序的数据报文。数据报文在网络中传输时,可能出现报文顺序的重排。重播保护机制允许数据帧有一定的乱序,这些乱序的报文在用户指定的窗口范围内可以被合法接收,超出窗口的报文会被丢弃。假设配置的重播保护窗口大小为a,如果接收到了一个报文序号为x的报文,则下一个允许被接收的报文的序号必须大于或等于x+1-a

MACsec和IPsec有什么区别?

MACsec和IPsec的在工作层级,保护范围,部署方式等方面存在不同:

  • MACsec工作在OSI模型的数据链路层,对整个以太网帧进行保护,可以实现对逐跳链路保护,防二层窃听、篡改、伪造。
  • IPsec工作在OSI模型的网络层,对IP数据包进行保护,部署方式是 站点到站点或端到端部署,保护网络层数据传输安全。

MACsec中MKA、CAK、CKN分别是什么?

MACsec安全通道的建立和管理以及MACsec所使用密钥的协商由MKA(MACsec Key Agreement)协议负责。在两端设备配置相同的CAK,由密钥服务器生成SAK分发给对端设备的过程如下图所示,其中涉及的概念如下:

  • CA(Secure Connectivity Association)是由密钥协商协议负责建立和维护的安全关联,是局域网上支持MACsec的两个或两个以上使用相同密钥和密钥算法套件的成员的集合。CA成员使用的密钥称为CAK(Secure Connectivity Association Key)。MACsec主要应用在点对点组网的环境中,即从一台设备的接口到另一台设备的接口的组网,所以主要使用成对CAK。两个相连的设备组成一个CA,它们使用相同的CAK。
  • CAK(secure Connectivity Association Key,安全连接关联密钥):必须在两端设备的接口上配置相同的CAK,它不直接用于数据报文的加密,而是由它和CKN派生出用于数据加密的SAK。
  • CKN(secure Connectivity Association Key Name,安全连接关联密钥名称):CAK的名称,必须在两端设备的接口上配置相同的CKN。
  • SAK(Secure Association Key,安全关联密钥):由密钥服务器根据CAK和CKN生成,用于数据报文的加密和解密。
  • KEK(Key Encrypting Key,密钥加密密钥):两端设备根据相同的CAK和CKN生成相同的KEK,用于SAK的加解密,防止在发布SAK的传输过程中泄密。
  • ICV(Integrity Check Value,完整性校验值):发送端根据报文计算生成ICV放在报文尾部,报文接收端使用相同的算法计算得到ICV与报文携带的ICV进行比对。如果这两个ICV相同,说明报文没有被修改,校验通过;否则认为报文被修改,丢弃该报文。
  • ICK(ICV Key,完整性校验密钥):两端设备根据相同的CAK和CKN生成相同的ICK,用于计算MKA协议报文的ICV。仅MKA协议报文的ICV计算需要使用ICK,数据报文的ICV计算不需要使用ICK。
MACsec密钥派生关系图
MACsec密钥派生关系图

设备生成和安装SAK的密钥流程如下:

  1. 管理员在两端设备上配置相同的CAK和CKN,生成其他密钥。
    • 密钥服务器:根据CAK和CKN生成SAK、KEK、ICK,并在本地安装SAK,用于数据报文的加解密。
    • 对端设备:根据CAK和CKN生成KEK、ICK,由于对端设备的CAK和CKN与密钥服务器相同,所以对端设备生成的KEK和ICK也与密钥服务器相同。
  2. 密钥服务器通过MKA协议报文将SAK发送给对端设备。
    • 密钥服务器使用KEK加密SAK。
    • 密钥服务器同时根据ICK生成ICV放在MKA协议报文尾部用于校验报文的完整性。
    • 密钥服务器将加密后的SAK通过MKA协议报文发送给对端设备。
  3. 对端设备接收MKA协议报文,并安装SAK。
    1. 对端设备接收MKA协议报文,根据报文中的CKN在本端查找匹配的CAK和ICK。如果匹配成功,则继续进行下一步操作。
    2. 对端设备根据ICK计算得到ICV,如果与报文中携带的ICV不相同,则认为报文被修改;如果相同,则认为报文完整,继续进行下一步操作。
    3. 对端设备使用KEK解密出SAK,并在本地安装SAK用于数据报文的加解密。

MACsec应用场景有哪些?

场景一:点到点传输数据

SwitchA和SwitchB之间传输重要数据,通过部署点到点的MACsec对数据进行安全保护。

配置点到点的MACsec功能实现安全通信
配置点到点的MACsec功能实现安全通信

场景二:中间含透传设备的点到点传输数据

SwitchA和SwitchB之间存在透传交换机SwitchC、SwitchD和SwitchE,SwitchA和SwitchB之间部署点到点的MACsec对数据进行安全保护。为保证SwitchA和SwitchB能够进行MACsec会话协商,需要透传交换机支持二层协议透明传输功能。

配置点到点的MACsec功能实现安全通信(中间有透传设备)
配置点到点的MACsec功能实现安全通信(中间有透传设备)

MACsec是如何工作的?

MACsec应用在点对点组网的环境中,包含两种典型组网模式,即从一台设备的接口到另一台设备的接口的组网、从一台设备的接口到一台客户端接口的组网。

设备到设备的MACsec

设备到设备的MACsec交互过程主要分为三个阶段:会话协商、安全通信和会话保活。

MACsec的交互过程
MACsec的交互过程
  1. 会话协商

    在两端设备的接口上开启MACsec功能,并配置相同的CAK后,两端设备会通过MKA协议选举出密钥服务器(Key Server),密钥服务器根据CAK生成用于加密数据报文的SAK,分发给对端设备。

  2. 安全通信

    发送方使用SAK加密数据报文,接收方使用SAK解密数据报文。两端设备既可以作为发送方,也可以作为接收方,通信过程都受到MACsec保护。

  3. 会话保活

    MKA协议定义了一个MKA会话保活定时器,用于规定MKA会话的超时时间。MKA会话协商成功后,两端设备会通过交互MKA协议报文确认连接的存在。设备收到对端的MKA协议报文后,启动定时器。

    • 如果在该超时时间内收到对端的MKA协议报文,则重启定时器。
    • 如果在该超时时间内未收到对端的MKA协议报文,则认为该连接已不安全,删除建立的会话,重新进行MKA协商。

设备到客户端的MACsec

只有认证过的客户端才可以接入网络,因此在设备和客户端建立MACsec安全会话之前,客户端需要先在接入设备的端口上进行802.1X认证。通过认证后,客户端将与接入设备进行安全会话建立。该过程主要分为四个阶段:身份认证、会话协商、安全通信和会话保活。

MACsec的交互过程
MACsec的交互过程
  1. 身份认证

    接入设备和客户端建立安全会话之前,客户端需要通过802.1X认证,认证过程涉及三个实体:客户端、接入设备和认证服务器。

  2. 会话协商

    客户端通过认证后,进入MACsec会话协商阶段。在接入设备的接口上开启MACsec功能并配置动态CAK,客户端和接入设备会根据认证服务器分发的认证结果自动设置CAK和CKN。客户端和接入设备会通过MKA协议向对方通告自身能力和建立会话的各种参数,接入设备会自动被选举为密钥服务器(Key Server),密钥服务器根据CAK生成用于加密数据报文的SAK,分发给客户端。

  3. 安全通信

    发送方使用SAK加密数据报文,接收方使用SAK解密数据报文。两端设备既可以作为发送方,也可以作为接收方,通信过程都受到MACsec保护。

  4. 会话保活

    MKA协议定义了一个MKA会话保活定时器,用于规定MKA会话的超时时间。MKA会话协商成功后,两端设备会通过交互MKA协议报文确认连接的存在。设备收到对端的MKA协议报文后,启动定时器。

    • 如果在该超时时间内收到对端的MKA协议报文,则重启定时器。
    • 如果在该超时时间内未收到对端的MKA协议报文,则认为该连接已不安全,删除建立的会话,重新进行MKA协商。

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

园区网络中哪些链路需要使用MACsec?

AP上行、接入交换机、汇聚交换机、核心交换机等全链路部署MACsec,实现E2E连接安全无断点,链路数据零泄露。

端到端MACsec
端到端MACsec
词条统计
  • 作者: 付丽
  • 最近更新: 2026-05-07
  • 浏览次数: 51524
  • 平均得分:
分享链接到: