1. 1. 第一部分:标准篇
    1. 1.1. 一、MACsec 在协议栈中的位置
    2. 1.2. 二、安全威胁与 MACsec 的应对(6.6 / 6.8 / 6.9)
      1. 1.2.1. 2.1 MACsec 能提供什么安全服务?(6.9)
      2. 1.2.2. 2.2 MACsec 不能做什么?
    3. 1.3. 三、核心概念:CA / SC / SA
    4. 1.4. 四、MACsec 帧格式(Chapter 9)
      1. 1.4.1. 4.1 MPDU 三大组件
      2. 1.4.2. 4.2 SecTAG 格式(9.3)
      3. 1.4.3. 4.3 TCI 字段详解(9.5)
      4. 1.4.4. 4.4 PN(Packet Number)(9.8)
      5. 1.4.5. 4.5 ICV(Integrity Check Value)(9.11)
      6. 1.4.6. 4.6 MACsec EtherType(9.4)
    5. 1.5. 五、SecY 架构与帧处理(Chapter 10)
      1. 1.5.1. 5.1 SecY 的两个端口
      2. 1.5.2. 5.2 帧发送流程:Secure Frame Generation(10.5)
      3. 1.5.3. 5.3 帧接收流程:Secure Frame Verification(10.6)
      4. 1.5.4. 5.4 XPN PN 恢复(10.6)
    6. 1.6. 六、Cipher Suite(Chapter 14)
    7. 1.7. 七、MACsec 在系统中的部署(Chapter 11)
  2. 2. 第二部分:车载篇——OPEN Alliance Automotive MACsec
    1. 2.1. 八、Automotive MACsec 的定位
    2. 2.2. 九、Automotive MACsec 必选能力集
      1. 2.2.1. 9.1 点对点 MACsec(AutoMACsec-01001)
      2. 2.2.2. 9.2 SecTAG 无 SCI 模式(AutoMACsec-01004)
      3. 2.2.3. 9.3 Confidentiality Offset(AutoMACsec-01005)
      4. 2.2.4. 9.4 转发到 Common Port 的规则(AutoMACsec-01006, 01006A, 01006B)
      5. 2.2.5. 9.5 解密失败帧的处理(AutoMACsec-01007)
      6. 2.2.6. 9.6 不依赖 802.3br 帧抢占(AutoMACsec-01003)
    3. 2.3. 十、统计计数器要求(AutoMACsec-01008)
      1. 2.3.1. 发送方向(TX)
      2. 2.3.2. 接收方向(RX)
      3. 2.3.3. SC 级别计数器
    4. 2.4. 十一、Automotive MACsec 与 Automotive MKA 的协同
    5. 2.5. 十二、工程选型:哪些芯片支持 Automotive MACsec?
  3. 3. 总结
    1. 3.1. 标准部分(★ 三句话回顾 ★)
    2. 3.2. 车载部分(★ Automotive MACsec 要点 ★)

IEEE 802.1AE-2018 MACsec核心架构与帧格式详解

本文是「以太网IEEE标准系列」第二篇,聚焦 IEEE Std 802.1AE™-2018(Media Access Control Security)。本文分两部分:第一部分解析通用标准(MACsec帧格式、SecY架构、Cipher Suite),第二部分对照 OPEN Alliance TC17 Automotive MACsec Specification v1.0(2025-05)的车载精简要求。

第一部分:标准篇

一、MACsec 在协议栈中的位置

IEEE 802.1AE MACsec 是整个「车载以太网安全体系」中的加解密执行层,位于 MAC 子层和 PHY 之间:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
┌──────────────────────────────────────────────────────────────────┐
│ 上层协议 │
│ (应用层 / IP层 / TCP/UDP) │
└──────────────────────────────┬─────────────────────────────────┘
│
┌──────────────────────────────▼─────────────────────────────────┐
│ MAC Service │
│ (802.1Q VLAN标签 / 802.1D 桥接) │
└──────────────────────────────┬─────────────────────────────────┘
│
┌──────────────────────────────▼─────────────────────────────────┐
│ IEEE 802.1AE MACsec (SecY) │
│ ───────────────────────────────────────────────────────────── │
│ 功能: │
│ · 对 MAC 帧 payload 加解密(GCM-AES) │
│ · 对 MAC DA/SA/SecTAG/User Data 做完整性保护(ICV) │
│ · PN(Packet Number) 抗重放 │
│ 由谁安装密钥:MKA(802.1X)分发 SAK │
└──────────────────────────────┬─────────────────────────────────┘
│
┌──────────────────────────────▼─────────────────────────────────┐
│ MAC (发送/接收控制) │
└──────────────────────────────┬─────────────────────────────────┘
│
┌──────────────────────────────▼─────────────────────────────────┐
│ PHY / SerDes │
└──────────────────────────────────────────────────────────────────┘

🔑 一句话定位:MACsec 是唯一一个在 MAC 层(Layer 2)对整个以太网帧(包括 VLAN 标签)提供加密和完整性保护的标准,比 IPsec(Layer 3) 更贴近硬件,开销更小。


二、安全威胁与 MACsec 的应对(6.6 / 6.8 / 6.9)

2.1 MACsec 能提供什么安全服务?(6.9)

安全服务 说明 MACsec 如何实现
Connectionless data integrity 连接无关的数据完整性 MAC DA + SA + SecTAG + User Data 整体算 ICV
Data origin authenticity 数据来源真实性 GCM-AES 认证模式,密文可证明来源
Confidentiality 机密性(可选) GCM-AES 加密,Confidentiality Offset 指定加密起点
Replay protection 抗重放攻击 PN(Packet Number)单调递增,低于最低可接受 PN 的帧丢弃
Bounded receive delay 有界的接收延迟 协议设计保证,无额外握手帧

2.2 MACsec 不能做什么?

标准原文 5.2 节明确声明:

“Conformance to this standard does not ensure that the system of which the MAC Security implementation forms a part is secure, or that the operation of other protocols used to support MAC Security, such as key management and network management do not provide a way for an attacker to breach that security.”

MACsec 不保护的内容:

  • MAC 帧 Priority(QoS)字段:可能被沿途设备修改(AutoMACsec 在接收端做 Priority 映射)
  • SecTAG 本身:TCI/AN/PN 不加密,只受 ICV 完整性保护
  • ICV 本身:在帧末尾,纯校验数据
  • 802.1X/MKA 密钥管理层:那是另一个协议的攻击面

三、核心概念:CA / SC / SA

MACsec 的安全模型建立在一套三级密钥关联上(7.1 节):

1
2
3
4
5
6
7
8
9
Connectivity Association (CA)
├── Secure Channel (SC) × N per port
│ ├── Tx SC(本端口发出)
│ └── Rx SC(本端口接收)
└── Secure Association (SA) × 2 per SC
├── Active SA (当前使用)
└── Next SA (轮换备用)
└── SAK (Secure Association Key)
└── 由 MKA(802.1X) 派发

关键约束:

  • 1 个 SC = 1 对 1 SA(点对点场景),或 1 对 N SA(组播场景)
  • SA 的 AN(Association Number, 2 bits) = 0~3,用于区分同一 SC 下的两个 SA
  • PN(Packet Number):每发一帧单调递增,防止重放

四、MACsec 帧格式(Chapter 9)

4.1 MPDU 三大组件

MACsec 在原始 MAC 帧的基础上插入 SecTAG,并在末尾追加 ICV:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
原始以太网帧(未加密):
┌──────────┬──────────┬─────────────────┬──────────┬─────────┐
│ MAC DA │ MAC SA │ 0x0800 / 0x86DD │ Payload │ FCS │
│ (6字节) │ (6字节) │ EtherType │ (可变) │ (4字节) │
└──────────┴──────────┴─────────────────┴──────────┴─────────┘

MACsec 加密帧(带 SecTAG + ICV):
┌──────────┬──────────┬────────────┬─────────────────┬───────┬──────────┬─────────┐
│ MAC DA │ MAC SA │ SecTAG │ Secure Data │ ICV │ │ │
│ (6字节) │ (6字节) │ (8~16字节) │ (加密后的Payload)│(8~16B)│ Payload2 │ FCS │
│ │ │ +EtherType │ │ │ (可选) │ (4字节) │
│ │ │ (0x88E5) │ │ │ │ │
└──────────┴──────────┴────────────┴─────────────────┴───────┴──────────┴─────────┘
↑ 新增 ↑ 新增

4.2 SecTAG 格式(9.3)

SecTAG 是 MACsec 的”护照”,包含所有解密和校验所需的信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SecTAG 完整格式(16字节,有SCI):
┌──────────┬───────────────────────────────────────────────────────┐
│ EtherType│ TCI+AN │ PN │ SCI │
│ 0x88E5 │ (2字节) │ (4字节) │ MAC(6)+PortID(2) │
│ │ [TCI 1字节] │ │ │
│ │ [AN 0.5B] │ │ │
│ 2字节 │ +SL(0.5B) │ │ │
└──────────┴───────────────────────────────────────────────────────┘

SecTAG 精简格式(8字节,无SCI,点对点常用):
┌────────────────────────────┬────────────────────────────────────┐
│ EtherType | TCI+AN+SL │ PN │
│ 0x88E5 │ (2字节) │ (4字节) │
│ │ │ │
│ 2字节 │ │ 4字节 │
└────────────────────────────┴────────────────────────────────────┘
↑
Automotive MACsec 优先使用此格式(AutoMACsec-01004)
每帧省 8 字节 → 节省带宽

4.3 TCI 字段详解(9.5)

TCI(TAG Control Information)的 8 个比特每一位都有特定含义:

Bit 名称 值=0 值=1 Automotive MACsec
8(MSB) V(Version) ✅ 0(本标准版本) 保留 固定=0
7 ES(End Station) SCI 在 SecTAG 中 SCI=源MAC地址+PortID=0001 用于无 SCI 场景
6 SC(SCI present) SCI 不在 SecTAG 中 SCI 在 SecTAG 中显式编码 无 SCI 时=0(AutoMACsec)
5 SCB(Single Copy Broadcast) 非 SCB 通道 SCB 通道(EPON专用) EPON 不用=0
4 SH(Secure Channel Hash) 用于 SCB 通道 用于 EPON 不涉及=0
3 E(Encryption) 仅完整性(Integrity) 加密+完整性(Confidentiality) 0=仅Integrity,1=带Confidentiality
2-1 AN(Association Number) 0011,标识 SA0SA3 SA 标识
0(LSB) (未命名,随 AN) 见 AN

Automotive MACsec 精简点: Automotive MACsec 通常使用 ES=1, SC=0 组合(Point-to-point,SCI=源MAC地址+PortID 0001),或者直接用无 SCI 格式,完全省略 SCI 字段。

4.4 PN(Packet Number)(9.8)

  • 发送:每发出一帧,PN 自动 +1
  • 长度:SecTAG 里只存 低 32 位,完整 PN 是 64 位(使用 XPN 时)
  • XPN(Extended PN):在 PN 溢出前必须 rekey,否则攻击者可以重放旧 PN 的帧
  • ** Automotive MACsec**:必须支持 XPN 和非 XPN 两种 cipher suite(AutoMKA-01004)

4.5 ICV(Integrity Check Value)(9.11)

ICV 的计算覆盖:

1
2
3
ICV = AES-GCM-Authenticate(SAK,
MAC DA || MAC SA || SecTAG || Secure Data,
length)
  • 默认:ICV 长度 = 16 字节(GCM-AES-128)
  • GCM-AES-256:ICV 长度 = 16 字节(256-bit 密钥但 ICV 仍是 128-bit)
  • 保护范围:包括 MAC DA、MAC SA、SecTAG、Secure Data,不包括 FCS

4.6 MACsec EtherType(9.4)

Tag Type Name Value
IEEE 802.1AE Security TAG MACsec EtherType 0x88E5

为什么要单独分配 EtherType? 802.1AE 原文 8.1.5 解释:需要一个与普通以太网帧(0x0800 IPv4, 0x86DD IPv6)不同的 EtherType,让不支持 MACsec 的设备能识别出”这是 MACsec 帧”(虽然不能解密,但可以做过滤)。0x88E5 是 IEEE 802.1 专门为 MACsec 分配的 EtherType。


五、SecY 架构与帧处理(Chapter 10)

SecY(MAC Security Entity)是 MACsec 在每个端口上的软件/硬件实现单元:

5.1 SecY 的两个端口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
SecY 架构(10.1,10.4):

┌──────────────────────────────────────────────────────────────┐
│ MAC Service Interface │
└──────────────┬───────────────────────────────┬───────────────┘
│ │
┌──────────▼──────────┐ ┌───────────▼───────────┐
│ Common Port (CP) │ │ Controlled Port (CP) │
│ (非受控端口) │ │ (受控端口) │
│ │ │ │
│ · 始终放行 │ │ · 未认证:阻断业务帧 │
│ · EAPOL(0x888E) │ │ · 已认证+MKA:放行业务 │
│ · 0x88E5 未加密帧 │ │ │
│ · LLDP/Dot1AS │ │ │
│ (非 MACsec 帧) │ │ │
└──────────┬──────────┘ └───────────┬────────────┘
│ │
│ ┌────────────────┐ │
└─────► SecY 内部处理 ◄───────┘
│ │
│ Encrypt/Decrypt │
│ + ICV 计算/校验 │
│ │
└────────┬──────────┘
│
┌────────▼────────┐
│ SecY Engine │
│ (MAC 硬件层) │
└─────────────────┘

5.2 帧发送流程:Secure Frame Generation(10.5)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
发送路径(Protect 操作):

MAC Client ──MSDU──► SecY
│
│ ① 分配 Tx SC + AN(查找 SA)
│ · 根据 dest MAC / VLAN 策略选择 SC
│ · AN 标识当前活跃 SA
│
│ ② 构建 SecTAG
│ · EtherType = 0x88E5
│ · TCI:ES=0,SC=0/1, E=0/1,AN=当前SA
│ · PN = 当前 SA 的下一个 PN
│ · SCI(如果需要) = 本端口 MAC + PortID
│
│ ③ AES-GCM Protect(SecTAG || MSDU)
│ · 使用 SAK 作为认证密钥
│ · AAD = MAC DA || MAC SA || SecTAG
│ · 若加密:Secure Data = AES-GCM-Encrypt(MSDU)
│ · 若仅完整性:Secure Data = MSDU(明文)
│ · ICV = AES-GCM 认证Tag(16字节)
│
▼
802.1AE MPDU ──► MAC ──► PHY ──► 双绞线

加密 vs 仅完整性:

模式 TCI[E] Payload ICV 使用场景
Integrity Only 0 明文 16字节 ICV 仅需防篡改,不需要加密(如诊断数据)
Confidentiality + Integrity 1 AES-GCM 密文 16字节 ICV 敏感数据保护

5.3 帧接收流程:Secure Frame Verification(10.6)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
接收路径(Validate 操作):

双绞线 ──► PHY ──► MAC ──► SecY
│
│ ① 检查 EtherType = 0x88E5
│ · 不是 0x88E5 → 交给 Common Port
│
│ ② 提取 SecTAG
│ · 读取 SCI(若有) + AN + PN
│ · SCI 查找 Rx SC/SA
│
│ ③ PN 抗重放检查
│ · PN >= 最低可接受 PN? ✅ → 继续
│ · PN < 最低可接受 PN? ❌ → 丢弃(InPktsLate)
│ · Automotive MACsec:Replay Window = 0,最严格
│
│ ④ AES-GCM Validate
│ · 用同一 SAK 做认证
│ · 重新算 ICV 与收到的 ICV 比较
│ · 匹配 ✅ → 去除 SecTAG/ICV,还原 MSDU
│ · 不匹配 ❌ → 丢弃(InPktsInvalid)
│
▼
MAC Client ◄── MSDU

Confidentiality Offset:如果 TCI[E]=1 且有 Offset,加密只从 MSDU 的第 Offset 字节开始。Offset 0 = 整个 MSDU 都加密;Offset 30/50 = 前 30/50 字节明文(保留 VLAN tag 等元数据)。

5.4 XPN PN 恢复(10.6)

当使用 64-bit PN(XPN cipher suite)时,SecTAG 只携带低 32 位:

1
2
3
4
5
6
7
8
PN 恢复机制:
· 第一个收到的帧:用 SecTAG 的 32-bit PN,MSB=0
· 后续帧:
- 若 SecTAG PN > 当前保存的 PN → 正常递增
- 若 SecTAG PN < 当前 PN(回绕) → MSB+1
· 恢复的 PN 用于:
① AES-GCM IV 的高 32 位
② 抗重放窗口比较

六、Cipher Suite(Chapter 14)

MACsec 支持多个 cipher suite,所有 suite 都基于 AES-GCM:

Cipher Suite ID 算法 密钥长度 PN 长度 说明
GCM-AES-128 AES-GCM 128-bit 32-bit 默认 suite
GCM-AES-256 AES-GCM 256-bit 32-bit 更强密钥
GCM-AES-XPN-128 AES-GCM 128-bit 64-bit XPN,高速链路推荐
GCM-AES-XPN-256 AES-GCM 256-bit 64-bit XPN + 256-bit

所有 suite 的 ICV 长度固定为 16 字节。GCM-AES-128 的加密和认证都使用 128-bit 密钥;GCM-AES-256 同理。


七、MACsec 在系统中的部署(Chapter 11)

MACsec 的部署位置决定它保护的范围:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
┌─────────────────────────────────────────────────────────────┐
│ End Station(终端站) │
│ SecY 直接在 MAC 和 PHY 之间,端到端加密 │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ VLAN-unaware MAC Bridge │
│ 桥接内部两个端口之间可以有独立的 SecY │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ VLAN-aware Bridge(802.1Q) │
│ 每个 VLAN-aware Port 可独立配置 MACsec │
│ · CouldProtect:该端口发出的帧需要被保护 │
│ · ShouldProtect:如果对端支持,应保护 │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ Link Aggregation(链路聚合) │
│ MACsec 保护在聚合层之下,每条物理链路独立 SecY │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ Provider Bridged Network(802.1Qbh) │
│ B-tag 和 S-tag 可以有不同的 MACsec 保护策略 │
└─────────────────────────────────────────────────────────────┘

第二部分:车载篇——OPEN Alliance Automotive MACsec

本部分对照 OPEN Alliance TC17 Automotive MACsec Specification v1.0(2025-05, Final, Public),提取所有规范级需求(AutoMACsec-xxxxx),说明 Automotive MACsec 与 IEEE 802.1AE 通用标准的设计差异。

八、Automotive MACsec 的定位

IEEE 802.1AE 是通用标准,覆盖了从企业 LAN 到 EPON 的所有场景。Automotive MACsec 是 OPEN Alliance TC17 委员会制定的车载精简配置表(profile),目标是:

  • 删除车载不需要的特性(减少芯片 BOM 成本)
  • 添加车载需要的特性(如无 SCI 帧格式、FCS 错误转发)
  • 优化点对点 switched Automotive Ethernet 的性能

Automotive MACsec 与 IEEE 802.1AE-2018 的关系:两者基于相同的 AES-GCM 加密原语,Automotive MACsec 只在 profile 层面做减法和加法。未修改的 IEEE 802.1AE 特性必须按原标准实现。


九、Automotive MACsec 必选能力集

9.1 点对点 MACsec(AutoMACsec-01001)

1
2
3
4
5
6
Automotive MACsec 仅支持点对点模式:
✅ 每个 Ethernet 端口 ≥ 1 Tx SC + ≥ 1 Rx SC
❌ 不支持多接入 MACsec
❌ 不支持 EPON SCB

这与 10BASE-T1S Half Duplex / Full Duplex switched 场景完全吻合。

9.2 SecTAG 无 SCI 模式(AutoMACsec-01004)

这是 Automotive MACsec 最重要的带宽优化:

1
2
3
4
5
6
7
8
9
10
11
IEEE 802.1AE 通用:SecTAG 可以有 SCI(16字节)或无 SCI(8字节)
· 有 SCI:SC 标识显式编码
· 无 SCI:SC 标识来自 KA(Y)协商(点对点 CA 下已知)

Automotive MACsec:
· 优先使用无 SCI 模式(每帧省 8 字节)
· 每帧减少 8 字节 → 意味着可以传输更多有效载荷
· 在 10BASE-T1S 10 Mbps 链路上,8 字节 ≈ 6.4μs 额外传输时间

SecTAG 格式(无 SCI):
EtherType(2B) + TCI+AN+SL(2B) + PN(4B) = 8 字节 ✅

9.3 Confidentiality Offset(AutoMACsec-01005)

1
2
3
4
5
6
7
8
9
10
Automotive MACsec 的加密偏移支持:

✅ 必选:Integrity without Confidentiality(仅 ICV,无加密)
✅ 必选:Confidentiality with Offset 0(从 MSDU 第 0 字节开始加密)
⚠️ 可选:Offset 30 和 Offset 50

为什么 Offset 30/50 是可选的?
· Offset 30:保留 VLAN tag(4B) + 前 26 字节明文
· Offset 50:保留更多元数据
· 车载以太网目前没有已知的用例需要这些偏移量

9.4 转发到 Common Port 的规则(AutoMACsec-01006, 01006A, 01006B)

Automotive MACsec 要求能够按规则将某些帧转发到 Common Port(不走 MACsec),这在诊断和ECU刷写场景下至关重要:

发送方向(Tx)规则(01006):

1
2
3
4
5
6
7
帧被转发到 Common Port 的条件:
① MAC DA 匹配(单播/组播)
② EtherType 匹配(0x0800 等)
③ IEEE 802.1Q VLAN tag + VLAN ID 匹配(可选)
─────────────────────────────────────
至少需要支持 8 条不同规则(AutoMACsec-01006B)
规则可同时用于 Tx 和 Rx 方向(01006B)

接收方向(Rx)规则(01006A):

1
2
3
4
非安全帧(非 0x88E5)收到后,按以下规则转发到 Common Port:
① MAC DA 匹配
② EtherType 匹配(非 0x88E5)
③ VLAN tag + VLAN ID 匹配(可选)

9.5 解密失败帧的处理(AutoMACsec-01007)

1
2
3
4
5
6
7
8
9
IEEE 802.1AE:解密/校验失败的帧必须丢弃

Automotive MACsec:
若帧校验失败(如 ICV 不匹配),且 MACsec 无法丢弃该帧
→ 帧以 FCS 损坏的形式转发出去
→ 接收端网卡会检测 FCS 错误并丢弃
→ 避免帧被意外处理,导致安全问题

这是一个车载特有的容错设计。

9.6 不依赖 802.3br 帧抢占(AutoMACsec-01003)

1
2
3
4
5
6
7
IEEE 802.1AE 通用标准可以利用 IEEE 802.3br Frame Preemption
(高性能帧中断低优先级帧)来优化 MACsec 开销。

Automotive MACsec:不依赖 802.3br 功能
→ 允许简化 MACsec 硬件设计
→ 降低芯片成本
→ 在 10BASE-T1S / 100BASE-T1 链路上,帧抢占非必需

十、统计计数器要求(AutoMACsec-01008)

Automotive MACsec 规定了精简的统计计数器集(与 IEEE 802.1AE MIB 对齐):

发送方向(TX)

计数器 名称 说明
out_pkts_untagged OutPktsUntagged 发出的无 SecTAG 帧数
out_pkts_too_long OutPktsTooLong 因超长而丢弃的帧数
out_octets_protected OutPktsProtected 带完整性保护的发出的帧数
out_octets_encrypted OutPktsEncrypted 带加密的发出的帧数

接收方向(RX)

计数器 名称 说明
in_pkts_untagged InPktsUntagged 收到的无 SecTAG 帧数
in_pkts_no_tag InPktsNoTag 期望 MACsec 但收到无 SecTAG 帧
in_pkts_bad_tag InPktsBadTag SecTAG 格式错误帧数
in_pkts_no_sa InPktsNoSA 找不到对应 SA 的帧数
in_pkts_no_sa_error InPktsNoSAError 无 SA 且校验失败的帧数
in_pkts_overrun InPktsOverrun SecY 过载丢弃的帧数
in_octets_validated InOctetsValidated 完整性校验的字节数
in_octets_decrypted InOctetsDecrypted 解密的字节数

SC 级别计数器

方向 计数器
Tx SC out_pkts_protected, out_pkts_encrypted
Rx SC in_pkts_ok, in_pkts_unchecked, in_pkts_late, in_pkts_invalid, in_pkts_not_valid

十一、Automotive MACsec 与 Automotive MKA 的协同

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
┌──────────────────────────────────────────────────────────────────┐
│ Automotive MACsec + Automotive MKA │
│ │
│ Zone Controller ECU │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Automotive MKA (固件层) │ │
│ │ · PSK CAK/CKN │ │
│ │ · Key Server Priority = 0 │ │
│ │ · ≤ 30 ms SAK 交付(Link Up → SAK_USE) │ │
│ │ · Doubling ramp-up Hello Time (10ms→20ms→...→2s) │ │
│ │ · Replay Window = 0 │ │
│ └──────────────────────┬─────────────────────────────────────┘ │
│ │ SAK 安装 (AES-128/256 GCM key) │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Automotive MACsec SecY Engine (硬件层) │ │
│ │ · 点对点 MACsec (≥1 Tx SC + ≥1 Rx SC) │ │
│ │ · SecTAG 无 SCI (8字节/帧) │ │
│ │ · Confidentiality Offset 0 (必选) │ │
│ │ · Integrity Only / Integrity + Confidentiality │ │
│ │ · Replay Window = 0 (最强保护) │ │
│ │ · Common Port 规则转发 (≥8条) │ │
│ │ · 不依赖 802.3br 帧抢占 │ │
│ └──────────────────────┬─────────────────────────────────────┘ │
│ │ AES-GCM 加密 MAC 帧 (EtherType=0x88E5)│
│ ▼ │
│ 100BASE-T1 / 1000BASE-T1 │
└──────────────────────────────────────────────────────────────────┘

十二、工程选型:哪些芯片支持 Automotive MACsec?

厂商 型号 类型 Automotive MACsec 已验证的 MACsec 规格 来源
Texas Instruments DP83TC817S-Q1 100BASE-T1 PHY ✅ 线速 802.1AE MACsec;Cipher Suites: GCM-AES-XPN-128/256, GCM-AES-128/256;16 SAK(8 Tx SC + 8 Rx SC);SAK Auto Rollover;Ingress/Egress 分类规则数 ≥ 8 条(满足 AutoMACsec-01006B);Window Replay Protection TI 产品页+ 读者提供的 datasheet
Microchip LAN8650 / LAN8651 10BASE-T1S MAC-PHY ❌ 无 MACsec HW(仅做 10BASE-T1S sensor hub) 厂商产品页
ONsemi NCN26010 10BASE-T1S MAC-PHY ❌ 无 MACsec HW 厂商产品页

🚧 以下数据来自历史资料/行业宣传,未经独立 datasheet 核证。如果你要做选型评估,请直接下载对应芯片最新 datasheet 验证。

厂商 型号 类型 本文原声称 MACsec 实际验证状态
Texas Instruments DP83TC839 100BASE-T1 PHY ✅(声称) ⚠️ 未验证(但 TC8 系列命名可能带 MACsec,建议直接查 datasheet)
NXP S32G2 / S32G3 车载 SoC ✅(声称) ⚠️ 未验证(建议查 S32G Reference Manual)
Broadcom BCM8953X 系列 Automotive Switch ✅(声称) ⚠️ 未验证
Marvell / Infineon 88Q5050 系列 Automotive Switch ✅(声称) ⚠️ 未验证

总结

标准部分(★ 三句话回顾 ★)

  1. MACsec 在哪一层:在 MAC 层(Layer 2)对整个以太网帧(包括 VLAN)提供加密和 ICV 完整性保护,比 IPsec 更贴近硬件,开销更小。
  2. 帧格式:在原始 MAC 帧中插入 SecTAG(8~16字节,含 EtherType=0x88E5、TCI、PN,可选 SCI)和 ICV(16字节),可选加密 Secure Data。
  3. SecY 架构:Common Port 始终放行非 MACsec 帧(如 EAPOL);Controlled Port 在 MKA 认证通过后放行业务帧;帧处理分 Protect(发送加密)和 Validate(接收解密校验)两路。

车载部分(★ Automotive MACsec 要点 ★)

  1. 点对点 + 无 SCI:只支持 switched Ethernet 点对点,SecTAG 优先省略 SCI(每帧省 8 字节)。
  2. Offset 0 + Integrity Only:Confidentiality Offset 0 必选,Offset 30/50 可选;Integrity Only 模式也必须支持。
  3. Common Port 规则 + 诊断转发:支持 ≥8 条规则将特定帧(如诊断帧)转发到 Common Port;解密失败帧可带 FCS 错误转发。
  4. 硬件部署:MACsec 集成在 PHY 内部(如已 datasheet 验证的 TI DP83TC817S-Q1)或 SoC/MAC IP 中(详情需查各厂商最新 datasheet);Automotive MACsec profile 不依赖 802.3br 帧抢占。

版权声明: 本文引用了 IEEE Std 802.1AE-2018 和 OPEN Alliance Automotive MACsec Specification v1.0 的内容,版权归各标准组织所有,引用仅供学习。