以太网帧是数据链路层的数据单元,是底层以太网物理层传输机制。每个以太网帧都以以太网标头开始,其中包含目标和源 MAC 地址作为前两个字段。帧的中间部分是有效载荷数据,包括帧中携带的其他协议的标头。帧以帧校验序列 (FCS) 结束,该序列用于检测任何传输中的数据损坏。
- 目标 MAC 地址:6 字节 - 标识收件人。
- 源 MAC 地址:6 字节 - 标识发件人。
- EtherType 或长度:2 字节 - 指示有效载荷的类型或长度。
- 有效载荷:N 字节 - 正在传输的数据。
- 帧校验序列 (FCS):4 字节 - 确保数据完整性的错误检查代码。
MACsec 为标准以太网帧增加了安全功能。以下是 MACsec 帧的结构:
- 目标 MAC 地址:6 字节
- 源 MAC 地址:6 字节
- SecTAG:8-16 字节 - 安全标签,包括关键信息和安全参数。
- 有效载荷:N 字节(加密数据)
- 完整性检查值 (ICV):8 或 16 字节 - 确保数据的完整性。
- 帧校验序列 (FCS):4 字节
SecTAG 是 MACsec 帧的关键组成部分,提供了基本的安全信息。包含以下内容:
- EtherType:2 字节 - 表示该帧是 MACsec 帧。MACsec ethertype 为 0x88e5。
- TAG 控制信息 (TCI/AN):1 字节 - 包含多条信息,例如加密/机密性存在和关联号。
- 数据包编号 (PN):4-6 字节 - 通过对帧进行编号来防止重放攻击。
- 短长度 (SL):1 字节 - 指示有效载荷的长度(可选)。
- SCI(安全通道标识符):8 字节 -唯一标识安全通信通道。
在 MACsec 帧中实现的 MACsec 功能:
- EtherType:在普通帧和 MACsec 帧中,EtherType 字段表示有效载荷的类型。对于 MACsec,它明确标识该帧包含 MACsec 数据。
- SecTAG:
- SCI:安全通道标识符确保帧属于特定的安全通道。
- AN:区分同一通道内的不同安全关联,允许同时进行多个安全连接。
- PN:确保每个帧都有唯一的编号,防止重放攻击。
- 有效载荷:在 MACsec 帧中,有效载荷是加密的。确保传输数据的机密性。
- ICV:通过确保帧在传输过程中未被更改,来确保完整性。使用预共享密钥在整个帧(FCS 除外)上计算加密校验和。