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中继方式。

  1. 面向设备模式
    如图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协议报文,则在定时器超时后,本端将清除建立的安全会话。

  1. 面向设备模式的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

### Autosar与MacSec集成及配置 #### 一、Autosar概述 AUTOSAR(Automotive Open System Architecture),即汽车开放系统架构,是一种标准化的软件架构设计方法论,旨在提高车载电子控制单元(ECU)之间的互操作性和可移植性[^1]。 #### 二、MacSec简介 MACsec (Media Access Control Security),定义于IEEE802.1AE标准之中,提供了一种基于硬件的安全机制来保护局域网通信免受窃听和篡改攻击。它通过加密数据帧以及验证发送者身份确保网络传输安全可靠[^2]。 #### 三、两者集成的意义 随着车联网技术的发展,在车辆内部构建起高效而安全的数据交换环境变得至关重要。将AUTOSAR框架下的ECUs间通讯采用MACsec协议加以防护能够有效抵御潜在威胁并满足日益严格的隐私法规要求[^3]。 #### 四、具体实现方式 为了使支持AUTOSAR的应用程序可以利用MACsec功能,通常需要完成如下几个方面的工作: - **驱动层适配** 对于具备MACsec能力的以太网控制器而言,必须开发相应的底层驱动以便操作系统能识别到该设备特性,并允许上层应用对其进行初始化设置等操作。 - **中间件扩展** 考虑到不同厂商生产的ECUs可能配备各异类型的物理接口芯片,因此有必要编写通用性强且易于裁剪定制化的中间件组件作为桥梁连接各类异构节点间的交互逻辑处理流程。 - **应用程序调用APIs** 最终由业务逻辑部分负责发起建立安全关联(SA),协商密钥材料(KM),指定目标地址列表(TAL)等一系列参数配置指令给到底层执行层面去落实具体的加解密动作[^4]。 ```c++ // 示例代码片段展示如何创建一个新的SA对象用于后续的操作 #include "macsec_api.h" int main(){ MacsecSa sa; // 设置必要的属性... sa.setSci(0xdeadbeef); sa.setAn(0); // 添加此SA至特定端口下生效范围内的TAs集合里头 macsec_add_sa(&sa, port_id); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值