智简园区交换机MACsec技术白皮书.docx

上传人:b****2 文档编号:2367942 上传时间:2023-05-03 格式:DOCX 页数:18 大小:342.56KB
下载 相关 举报
智简园区交换机MACsec技术白皮书.docx_第1页
第1页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第2页
第2页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第3页
第3页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第4页
第4页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第5页
第5页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第6页
第6页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第7页
第7页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第8页
第8页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第9页
第9页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第10页
第10页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第11页
第11页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第12页
第12页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第13页
第13页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第14页
第14页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第15页
第15页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第16页
第16页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第17页
第17页 / 共18页
智简园区交换机MACsec技术白皮书.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

智简园区交换机MACsec技术白皮书.docx

《智简园区交换机MACsec技术白皮书.docx》由会员分享,可在线阅读,更多相关《智简园区交换机MACsec技术白皮书.docx(18页珍藏版)》请在冰点文库上搜索。

智简园区交换机MACsec技术白皮书.docx

智简园区交换机MACsec技术白皮书

 

华为智简园区交换机MACsec

技术白皮书

 

 

 

前言

 

摘要

MACsec(802.1AE)提供同一个局域网内,设备端口MAC层之间的安全通信服务,主要包含以下方面:

数据机密性、数据完整性、数据来源真实性以及重放保护。

 

关键词

 

MACsec802.1AE

1概述

 

MACsec(MediaAccessControlSecurity)定义了基于IEEE802局域网络的数据安全通信的方法。

MACsec可为用户提供安全的MAC层数据发送和接收服务,包括用户数据加密(Confidentiality)、数据帧完整性检查(Dataintegrity)、数据源真实性校验

(Dataoriginauthenticity)及重放保护(Replayprotection)。

MACsec主要涉及IEEE802.1AE和802.1X两个协议规范:

IEEE802.1AE-2006定义了数据封装、加密和认证的帧格式;802.1X-2010中的MKA(MACsecKeyAgreement)定义了密钥管理协议,提供了Peer-to-Peer方式或Group方式的密钥建立机制,使用MKA协议协商生成的密钥对已认证的用户数据进行加密和完整性检查,可以避免端口处理未认证设备的报文或者未认证设备篡改的报文。

MACsec不是对现有端到端IPSec、TLS等三层安全技术的替代,而是它们的互补技术。

MACsec使用二层加密技术,提供逐跳设备的数据安全传输,适用于政府、军队、金融等对数据机密性要求较高的场合,如局域网两台交换机设备之间经过光传输设备,通过MACsec加密技术可保证数据在中间传输设备上安全传输。

2MACsec技术原理

 

2.1MACsec典型组网模式

MACsec常用的组网模式有:

面向主机点到点模式、面向设备点到点模式。

2.1.1面向主机点到点模式

如图2-1所示,面向主机点到点模式用于保护Client主机和设备之间的数据帧传输。

图2-1面向主机点到点模式

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

●客户端(Client)

客户端是请求接入局域网的用户终端,由局域网中接入设备对其进行认证,并执行

MACsec密钥协商和报文加密功能。

●接入设备(Device)

接入设备控制客户端的接入,通过与认证服务器的交互,对连接的客户端进行802.1X

认证,并执行MACsec密钥协商和报文加密功能。

●认证服务器(AuthenticationServer)

认证服务器通常是AAA服务器,用于对客户端进行Radius认证、授权和计费。

客户端通过认证后,认证服务器为客户端和接入设备分发密钥,用于后续的MACsec密钥协商。

2.1.2面向设备点到点模式

如图2-2所示,面向设备点到点模式用于保护两台设备之间的数据帧传输。

该模式下,无客户端和接入设备角色之分,可以不需要认证服务器,互连的两台设备可直接通过命令行配置CAK密钥进行MACsec密钥协商和报文加密功能。

图2-2面向设备点到点模式

☛说明

华为交换机MACsec暂不支持面向主机点到点模式,支持面向设备点到点模式,本文后续主要介绍该模式原理。

2.2MACsec基本概念

ØMKA

MKA(MACsecKeyAgreementprotocol)用于MACsec数据加密密钥的协商协议。

ØCA

CA(SecureConnectivityAssociation,安全连接关联)指通过一个LAN互连的支持

MACsec的全连接的端口集合。

CA由MKA创建和维护,CA成员称为CA的参与者。

ØCAK

CAK(SecureConnectivityAssociationKey,安全连接关联密钥)不直接用于数据报文的加密,由它和其他参数派生出数据报文的加密密钥。

CAK可以在802.1X认证过程中下发,也可以由用户直接静态配置。

ØCKN

CKN(SecureConnectivityAssociationKeyName,安全连接关联密钥名称)是对应CAK的名称。

ØSC

SC(SecureChannel,安全通道)是CA参与者之间用于传输MAC安全数据的安全通道。

每个SC提供单向点到点或点到多点的通信。

如对于点对点的两台设备A和设备B,A到B单向数据转发链路可认为一个SC(a),B到A单向数据转发链路可认为另外一个SC(b)。

ØSCI

SCI(SecureChannelIdentifier,安全通道标识符)是由6字节的MAC地址和2字节的PortIdentifier组成,唯一标识系统内的安全通道。

ØSA

SA(SecureAssociation,安全关联)是SC安全通道的安全参数集合。

包括对数据进行加密算法套件、进行完整性检查的密钥等。

一个安全通道中可包含多个SA,每一个SA拥有一个不同的密钥,这个密钥称为SAK。

ØSAK

SAK(SecureAssociationKey,安全关联密钥)由CAK根据算法推导产生,用于加密安全通道间传输的数据。

MKA对每一个SAK可加密的报文数目有所限制,当使用某SAK加密的PN耗尽,该SAK会被刷新。

例如,在10Gbps的链路上,SAK最快4.8分钟刷新一次。

ØICV

ICV(IntegrityCheckValue,完整性校验值)是报文完整性检验值,在报文发送端,通过某种算法对报文数据单元计算产生一个检验值,将此检验值放在报文的尾部,报文接收端通过相同算法得到ICV值与报文携带的ICV进行比对,如果这两个ICV相同说明报文没有被修改,否则该报文被丢弃,保证了报文的数据完整性。

ØICK

ICK(ICVKey,ICK密钥)由CAK根据算法推导产生,只用于计算MKA协议层面报文的ICV值,而数据层面没有专门的ICK。

ØKEK

KEK(KeyEncryptingKey,密钥加密密钥)由CAK根据算法推导产生,用于加密SAK,通过MKA密钥协议报文将SAK密钥发送给同一个CA内的参与者,防止用于数据加密的SAK在传输过程中被窃取。

ØPN

PN(PacketNumber,报文编号)对应SECTAG中的一个字段,发送方发报文每次按1递增,用于接收方进行重放保护,当SA的PN达到0xFFFFFFFF时,SAK必须要进行切换,以10GE链路为例,最快4.8分钟PN就会耗尽,一般PN即将耗尽时(假设PN达到0xC0000000),也可以对SAK进行切换。

ØKeyServer

KeyServer决定加密方案和进行密钥分发的MKA实体。

ØSupplicant

选举出KeyServer之后,Supplicant是确定为非KeyServer的实体。

ØConfidentialityOffset

指加密偏移,取值{0,30,or50},SECTAG后面的ConfidentialityOffset个字节不加密,目的是为了适应某些需要识别IPv4/v6头的应用(比如负载均衡)。

ØMACsecMode

指加密模式,包含None(即不加密,不校验,不封装)、Normal(即既加密又校验),Integrity-only(只做完整性验证、不加密),默认为None。

2.3MACsec运行机制

MACsec运行机制主要分为三个阶段:

CAK获取、MKA密钥协商、MACsec数据加解密。

如图2-3所示,面向设备点到点MACsec组网运行机制,网络管理员在两台设备上通过命令行预配置相同的CAK,两台设备会通过MKA协议选举出一个KeyServer,KeyServer决定加密方案,KeyServer会根据CAK等参数使用某种加密算法生成SAK数据密钥,由KeyServer将SAK分发给对端设备,这样两台设备拥有相同的SAK数据密钥,可以进行后续MACsec数据报文加解密收发。

图2-3面向设备点到点MACsec运行机制图

如图2-4所示,面向主机点到点MACsec组网运行机制,用户终端做802.1X接入认证,接入交换机做认证设备,在用户终端通过认证之后,由认证服务器给接入设备和用户终端下发CAK,后续过程同面向设备点到点MACsec模式。

图2-4面向主机点到点MACsec运行机制图

2.4MACsec密钥体系

2.4.1密钥体系结构

图2-5基于静态CAK的MACsec密钥体系结构图:

 

如图2-5所示,基于静态CAK的MACsec密钥体系结构,生成SAK密钥流程如下:

1、在同一个安全链接关联CA成员CA(a)和CA(b)上,用户静态配置相同的(CKN,CAK)产生的(ICK,KEK)是一样的,用于后续发布SAK对其本身进行加密,防止SAK明文传递过程中泄密;

2、在KeyServer基于用户配置的(CKN,CAK)会生成SAK,并且在本地安装SAK,用于KeyServer端收发数据报文的加解密;

3、KeyServer将SAK发布给对端Supplicant时,通过KEK加密SAK密钥本身,由ICK通过某种算法生成ICVs用于校验报文的完整性,在KeyServer上将ICVs值放在MKA协议报文尾部,将经过KEK加密的SAK一起通过MKA协议报文发送给Supplicant;

4、Supplicant接收到MKA协议报文时,根据其中的CKN查找CAK和ICK,如果没有查找到则认为不是来自相同的CA并丢弃,查找到之后对MKA报文主体进行ICV计算

得到ICVc,如果与报文中的ICVs不相同,则认为报文被修改(MKA报文中的CKN和

ICVs没有经过KEK加密);

5、经过ICV校验通过之后,使用KEK解密出SAK,Supplicant进行SAK安装,用于

Supplicant端收发数据报文的加解密。

 

2.4.2密钥派生关系

图2-6密钥派生关系图

 

如图2-6所示,CKN、CAK采用KDF算法生成SAK、KEK、ICK、ICV,该图展示了它们之间的派生关系。

KeyServer和Supplicant两边配置(CKN,CAK)生成KEK、ICK、ICV,KeyServer同时生成SAK并且在本地安装,然后KeyServer将SAK用KEK加密,将加密后的SAK通过MKA协议报文发送给Supplicant,MKA协议报文中尾部包含ICV字段。

Supplicant收到协议报文通过ICV检验之后,将SAK密钥解密并在Supplicant上安装,这样KeyServer和Supplicant两边转发层面都用相同的SAK密码,可以对收发的数据报文进行加解密通信。

2.5MKA密钥协商交互流程

图2-7MKA协议协商流程图

如图2-7所示,SAK密钥协商交互流程如下:

1、选举KeyServer

CA成员之间通过EAPOL-MKA协议报文交互选举出一个KeyServer,负责加密套件的选择、密钥管理及分发。

CA成员可以设置KeyServerPriority优先级用于KeyServer角色的协商,KeyServerPriority值越小,优先级越高。

如果KeyServerPriority相等,则选择安全通道标识SCI(即MAC地址+端口ID)小的为KeyServer。

2、SAK密钥协商

KeyServer由CKN和CAK计算生成SAK密钥后,先在本地转发层面安装SAK,同时使能允许接收方向数据解密,然后将加密SAK通过EAPOL-MKA发布给对端Supplicant;Supplicant接收到SAK解密之后在本地安装,同时使能数据双向收发加解密;接着Supplicant再发送消息通知KeyServer打开发送方向的数据加密,KeyServer再给Supplicant应答一个确认消息,这样CA成员之间完成密钥协商能够开始正常转发数据。

MI(MemberIdentifier)是成员标识符,MN(MessageNumber)是消息编号,

(MIA,MN=i)代表成员标识符A的设备当前发送报文消息编号为i。

如(MIA,MN=2)

(MIB,MN=1)表示当前A向B发送消息编号为2的报文时,最新收到过对端B报文编号是1的协商报文。

3、会话Hello探测

CA成员之间完成密钥协商之后,就进入正常数据转发阶段,成员互发Hello报文维护会话状态,MKALifeTime内如果收不到hello报文,就会导致协议重新协商。

MKAHelloTime一般为2s,MKALifeTime对端生存时间一般为6s,MKALifeTime可配置。

4、外界条件变化触发密钥切换或重新协商

外部条件发生变化会触发SAK密钥切换或重新协商,外界触发条件可能如下:

MKALifeTime超时,会导致SAK切换(仅在KeyServer上生效);

KeyServer转发层面上报报文编号PN即将或已经耗尽;

如果是非MN翻转导致的MI变化,会导致协议重新协商;

KeyServer接收到对端Supplicant的报文编号PN即将或已经耗尽;

用户配置CAK、ConfidentialityOffset(只在KeyServer侧生效,由KeyServer

通知系统内其他成员)、MACsecMode等配置;

用户配置KeyServerPriority需要重新启动KeyServer选举。

2.6MACsec数据加解密转发

图2-8MACsec数据加密报文图

 

如图2-8所示,CA成员之间完成SAK密钥协商和密钥安装之后就开始数据报文的转发。

在数据报文的发送端,可以采用加密算法GCM-AES-128对原始数据报文的MSDU部分和SAK一起加密变成密文(SecureData),对源/目的MAC、SECTAG、密文(SecureData)与SAK一起进行加密计算输出ICV放在报文尾部,这样组装成一个完整的MACsec加密报文发送给对端。

在数据的接收端,将密钥SAK和密文经过算法GCM-AES-128计算得到明文,同时采用加密算法计算出ICV与报文携带的ICV作比较,如果一致表明报文合法没有被修改,组装成原始报文进行后续的LAN转发,否则会丢弃该报文。

MACsec支持重放保护功能,MACsec封装的数据帧在网络中传输时,可能出现报文顺序的重排。

MACsec重放保护机制允许数据帧有一定的乱序,这些乱序的报文序号在两边约定的窗口范围内可以被合法接收,超出窗口的报文会被丢弃。

SecTAG中的报文编号PN字段可用于重放保护机制,发送方在每发送一个报文会PN计数会加一,接收方会记录已接收报文的编号,报文编号PN在重放窗口范围内的报文都允许接收。

3典型组网应用

 

3.1局域网MACsec典型组网

组网需求:

在金融、军队、政府等对安全比较严格网络中,需要对网络进行端到端的安全防护,通常网络接入设备通常数量比较多、分布比较分散,难以管理且安全隐患比较大,这部分设备可采用MACsec进行数据转发安全保护,接入终端可采用802.1X等认证方法进行安全接入控制,同时交换机上可采用端口隔离技术避免未认证的终端可横向互访,园区网出口可部署IPSec、TLS等技术保证Internet/WAN网络中的数据安全传输,如图3-1所示。

图3-1局域网MACsec典型组网图

3.2中间有传输设备MACsec典型组网

组网需求:

当两个局域网之间有传输设备时,传输设备对数据报文做透明传送,客户为防止数据在中间传输过程中被窃取或修改,可在两个局域网边缘设备出端口上采用MACsec进行数据加密,如图3-2所示。

图3-2中间有传输设备MACsec典型组网图

 

4附录

 

MACsec数据报文格式如下:

ICV格式:

SECTAG格式:

字段

说明

EtherType

MACsec帧的以太类型(或802.1AE以太类型),取值0x88E5。

TCI

SecTAG标签控制信息(TAGControlInformation),占6个Bit位。

AN

安全联盟编号(AssociationNumber),标识SC上下文中的SA,占2个Bit位,最多可以四个不同的SA。

SL

短帧长度(ShortLength),占6个Bit位。

当SL<48时标识SecureDate的字节数(即SecTAG最后一个字节到ICV的第一个字节间的数据长度)。

当SL=0时标识不是短帧。

PN

报文编号(PacketNumber),唯一标识同一个SA传输的报文,并防止重放攻击。

SCI

安全通道标识符(SecureChannelIdentifier),如果TCI中的SC置位,在两个以上成员的CA中,标识CA中的安全通道(如果是点对点的SC,TCI中的SC无需置位),是发送帧的SecY的网络管理标识符。

 

TCI字段:

TCI

V=0ESSCSCBECAN

 

字段

说明

V

版本号,V=0。

ES

终端站点(EndStation)标记,MPDU报文是终端站点发送,并且SCI的前六个字节等于源MAC地址,则ES可以

被置位。

如果源MAC地址不用来确定SCI,则ES清零。

如果ES置位,则SC不应置位。

SC

安全通道标记,如果SCI显式封装在SecTag中,则SC必须置位。

如果SC未置位,SecTag中不应出现SCI。

SCB

EPON广播标记,只有当与MPDU报文关联的SC支持EPONSCB(SingleCopyBroadcast)能力时置位。

如果SCB置位,则SC不应置位。

如果ES=1,SCB=0,则SCI中的端口ID(PortIdentifier)部分取值为00-01。

如果SCB=1,则SCI中的端口ID取值为SCB的保留值00-00。

E

加密标记(Encryption),标识UserData是否被加密。

E=1表示被加密,E=0表示未被加密。

(数据被加密了通常UserData肯定被修改了,所以E置位,C也必须被置位。

C

数据修改标记(ChangedText)。

C置位表示UserData内容被(加密算法或校验算法)修改,否则表示UserData未被修改。

即标识UserData是否与SecureData相同。

当使用缺省加密套件(GCM-AES-128)对数据进行完整性校验计算时,该算法不会修改用户报文数据,即SecureData与UserData相同,ICV为16字节长。

当使用其他某些加密算法时,即使仅提供完整性校验,这些算法也会修改用户报文数据,ICV长度不是16字节长,对于这些算法,C标记应置位(即使数据不加密)。

E=1,C=1表示报文数据被加密,那么用户数据肯定被修改了,所以C肯定置位。

E=1,C=0非法,不存在这种情况。

E=0,C=0表示未加密,只进行完整性保护,但完整性校验算法未修改用户数据。

E=0,C=1表示未加密,只进行完整性保护,并且完整性校验算法修改用户数据。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2