1.概述
MACSec(Media Access Control Security),中文意思即媒体访问控制安全, 是基于802.1AE和802.1X协议的局域网上的安全通信方法。通过身份认证、数据加密、完整性校验、重播保护等功能保证以太网数据帧的安全性,防止设备处理有安全威胁的报文。
一般情况下,绝大部分数据在局域网链路中都是以明文形式传输的,这样就会存在许多安全隐患,比如:银行帐户的信息被窃取、篡改,遭受恶意网络攻击等。网络中部署MACSec后,可对传输的以太网数据帧进行保护,降低信息泄漏和遭受恶意网络攻击的风险。
MACSec使用二层加密技术,提供逐跳设备的数据安全传输,适用于对数据机密性要求较高的场合,如两台路由器设备之间经过光传输设备,通过MACSec加密技术可保证数据在中间传输设备上安全传输。
2.运行机制
点到点的MACsec交互过程主要分为三个阶段:会话协商、安全通信和会话保活。
![](https://img.haomeiwen.com/i9404564/9163635ebf8e23fd.png)
1)会话协商
a. 两端设备的接口开启MACsec功能后,根据优先级选举出密钥服务器(Key Server)。用户可以配置接口的优先级数值,数值越小优先级越高,优先级高的设备接口将被选举为密钥服务器。当双方优先级相同时,则比较接口的SCI(Secure Channel Identifier)值,SCI由接口MAC地址和接口索引(Interface Index)的最后两个字节组成,SCI值小的接口将被选举为密钥服务器。
b. 两端设备静态配置相同的CAK,密钥服务器根据静态配置的CAK生成用于加密数据报文的SAK,分发给对端设备。
2)安全通信
发送方使用SAK加密数据报文,接收方使用SAK解密数据报文。两端设备既可以作为发送方,也可以作为接收方,通信过程都受到MACsec保护。
用户还可以配置SAK的超时时间,当SAK的使用时间达到超时时间或SAK加密报文达到一定数量,则更换SAK,确保密钥的安全性。
3)会话保活
MKA协议定义了一个MKA会话保活定时器,用来规定MKA会话的超时时间。MKA会话协商成功后,两端设备会通过交互MKA协议报文确认连接的存在。设备收到对端MKA协议报文后,启动定时器。
a. 如果在该超时时间内收到对端的MKA协议报文,则重启定时器。
b. 如果在该超时时间内未收到对端的MKA协议报文,则认为该连接已不安全,删除对端设备,重新进行MKA协商。
3.MACSec如何保障数据在局域网中的安全传输
a.数据加密:MACsec使用AES-CMAC算法加密。发送方对数据进行加密,数据以密文的形式在局域网链路上传输,接收方对接收的加密数据解密后再进行其他处理。
b.完整性校验:接收方对接收的数据进行完整性校验,以判定数据是否被篡改。发送方根据整个数据报文和加密算法计算出完整性校验值ICV(Integrity Check Value),附加在报文后,接收方收到报文后根据除去ICV部分的数据报文和相同的加密算法计算出ICV,同报文中的ICV比较。若二者相同,则认为报文完整,校验通过;否则,丢弃报文。
c.重播保护:为防止恶意用户通过重复发送捕获到的数据报文进行网络攻击,缺省情况下,接收方会丢弃重复或乱序的数据报文。数据报文在网络中传输时,可能出现报文顺序的重排。重播保护机制允许数据帧有一定的乱序,这些乱序的报文在用户指定的窗口范围内可以被合法接收,超出窗口的报文会被丢弃。
拓展:关于CAK和SAK的概念
MACSec安全通道的建立和管理以及MACSec所使用密钥的协商由MKA(MACsec Key Agreement)协议负责。下面介绍MKA协议工作过程中涉及的基本概念:
a. CA(Secure Connectivity Association)是由密钥协商协议负责建立和维护的安全关联,是局域网上支持MACsec的两个或两个以上使用相同密钥和密钥算法套件的成员的集合。CA成员使用的密钥称为CAK(Secure Connectivity Association Key)。MACsec主要应用在点对点组网的环境中,即从一台设备的接口到另一台设备的接口的组网,所以主要使用成对CAK。两个相连的设备组成一个CA,它们使用相同的CAK。
b. SA(Secure Association)是保证CA成员之间数据帧安全传输的安全关系。每个SA都有一个或一组加密数据帧的密钥,称为SAK(Secure Association Key)。SAK由算法根据CAK生成,用于数据报文的加密和解密。
参考链接:
yo peace!
网友评论