其乐融融的IT技术小站

MACsec是什么?它能为你的网络环境带来什么改变?

背景

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

MACsec概述

MACsec(Media Access Control Security)是基于802.1AE和802.1X协议的局域网上的安全通信方法。通过身份认证、数据加密、完整性校验、重播保护等功能保证以太网数据帧的安全性,防止设备处理有安全威胁的报文。MACsec从以下几个方面保障了用户业务数据在局域网中的安全传输:

  • 数据帧完整性检查
  • 用户数据加密
  • 数据源真实性校验
  • 重放保护

典型应用场景

  • 在交换机之间部署MACsec保护数据安全,例如在接入交换机与上联的汇聚或核心交换机之间部署。
  • 当交换机之间存在传输设备时可部署MACsec保护数据安全。

1.点到点传输数据

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

2.间含透传设备的点到点传输数据

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

MACsec工作机制

MACsec安全通道的建立和管理以及MACsec所使用密钥的协商由MKA(MACsec Key Agreement)协议负责。下面介绍MKA协议工作过程中涉及的基本概念:

  • CA(Secure Connectivity Association)是由密钥协商协议负责建立和维护的安全关联,是局域网上支持MACsec的两个或两个以上使用相同密钥和密钥算法套件的成员的集合。CA成员使用的密钥称为CAK(Secure Connectivity Association Key)。MACsec主要应用在点对点组网的环境中,即从一台设备的接口到另一台设备的接口的组网,所以主要使用成对CAK。两个相连的设备组成一个CA,它们使用相同的CAK。
  • SA(Secure Association)是保证CA成员之间数据帧安全传输的安全关系。每个SA都有一个或一组加密数据帧的密钥,称为SAK(Secure Association Key)。SAK由算法根据CAK生成,用于数据报文的加密和解密。

1.运行机制

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

MACsec交互过程示意图

点到点的MACsec交互过程:

(1) 会话协商

  • 两端设备的接口开启MACsec功能后,根据优先级选举出密钥服务器(Key Server)。用户可以配置接口的优先级数值,数值越小优先级越高,优先级高的设备接口将被选举为密钥服务器。当双方优先级相同时,则比较接口的SCI(Secure Channel Identifier)值,SCI由接口MAC地址和接口索引(Interface Index)的最后两个字节组成,SCI值小的接口将被选举为密钥服务器。
  • 两端设备静态配置相同的CAK,密钥服务器根据静态配置的CAK生成用于加密数据报文的SAK,分发给对端设备。

(2) 安全通信

发送方使用SAK加密数据报文,接收方使用SAK解密数据报文。两端设备既可以作为发送方,也可以作为接收方,通信过程都受到MACsec保护。用户还可以配置SAK的超时时间,当SAK的使用时间达到超时时间或SAK加密报文达到一定数量,则更换SAK,确保密钥的安全性。

(3) 会话保活

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

  • 如果在该超时时间内收到对端的MKA协议报文,则重启定时器。
  • 如果在该超时时间内未收到对端的MKA协议报文,则认为该连接已不安全,删除对端设备,重新进行MKA协商。
  • CAK(Secure Connectivity Association Key,安全连接关联密钥)不直接用于数据报文的加密,由它和其他参数派生出数据报文的加密密钥。CAK可以在802.1X认证过程中下发,也可以由用户直接静态配置。
  • MKA(MACsec Key Agreement protocol)用于MACsec 数据加密密钥的协商协议。
  • SAK(Secure Association Key,安全关联密钥)由CAK根据算法推导产生,用于加密安全通道间传输的数据。MKA对每一个SAK可加密的报文数目有所限制,当使用某SAK加密的PN耗尽,该SAK会被刷新。例如,在10Gbps 的链路上,SAK最快4.8分钟刷新一次。
  • Key Server决定加密方案和进行密钥分发的MKA实体。

配置命令介绍

1.配置静态CKN和CAK

进入系统视图:

system-view

进入接口视图:

interface interface-type interface-number [ .subinterface-number ]

配置静态CKN和CAK:

mka cak-mode static ckn ckn cak { simple cak-simple | cipher cak-cipher }

2.配置MACsec加密模式

当接口发送的数据报文通过MACsec进行加密时,可选择配置接口的加密模式,

  • normal:既进行完整性校验又进行数据加密。
  • integrity-only:只进行完整性校验不进行数据加密。

进入系统视图1:

system-view

进入接口视图:

interface interface-type interface-number [ .subinterface-number ]

配置MACsec的加密模式:

macsec mode { normal | integrity-only }

3.配置MACsec加密算法

进入系统视图:

system-view

进入接口视图:

interface interface-type interface-number [ .subinterface-number ]

配置MACsec的加密算法:

macsec cipher-suite { gcm-aes-128 | gcm-aes-xpn-128 | gcm-aes-256 | gcm-aes-xpn-256 }

4.查看配置结果

查看经过MACsec保护的数据报文的统计信息。

display macsec statistics interface { interface-name | interface-type interface-number}

查看MKA会话信息:

display mka interface { interface-name | interface-type interface-number }

MACsec配置举例

1.配置点到点的MACsec

点到点的MACsec配置组网图

路由器DeviceA与路由器DeviceB直连,在DeviceA和DeviceB的接口GE1/0/0上对MACsec数据报文进行加解密。

2.配置思路

采用如下思路配置点到点的MACsec:在DeviceA、DeviceB设备GE1/0/0接口上配置相同的静态CKN和CAK;

3.数据准备

为完成该配置例,需要准备如下数据:

  • 接口的CKN和CAK值
  • DeviceA接口发送的数据通过gcm-aes-xpn-128进行加密

4.操作步骤

接口GE1/0/0配置密文CKN、CAK。

 system-view
[~DeviceA] interface gigabitethernet1/0/0
[~DeviceA-GigabitEthernet1/0/0] mka cak-mode static ckn a1 cak cipher b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1
[*DeviceA-GigabitEthernet1/0/0] commit

接口GE1/0/0配置MACsec的加密模式。(可选配置):

 system-view
[~DeviceA] interface gigabitethernet1/0/0
[~DeviceA-GigabitEthernet1/0/0] macsec mode integrity-only
[*DeviceA-GigabitEthernet1/0/0] commit

接口GE1/0/0配置MACsec的加密算法。(可选配置)

 system-view
[~DeviceA] interface gigabitethernet1/0/0
[~DeviceA-GigabitEthernet1/0/0] macsec cipher-suite gcm-aes-xpn-128
[*DeviceA-GigabitEthernet1/0/0] commit

DeviceB执行同样的配置。

赞 ()
分享到:更多 ()

相关推荐

内容页底部广告位3
留言与评论(共有 0 条评论)
   
验证码: