AUTOSAR图解==>AUTOSAR_AP_EXP_MACsec

AUTOSAR适配平台中MACsec与MKA协议详解

Media Access Control安全协议在AUTOSAR系统中的实现与配置指南

目录

  1. 引言
    1.1. 文档目标
    1.2. 文档范围

  2. 术语与缩略语
    2.1. 缩略语和定义

  3. 相关文档
    3.1. 输入文档与相关标准

  4. MACsec协议基础
    4.1. MACsec网络安全标准
    4.2. MACsec帧结构
    4.3. MACsec操作模式
    4.4. MACsec密钥协商协议(MKA)

  5. AUTOSAR中的MACsec实现
    5.1. AUTOSAR适配平台架构集成
    5.2. MACsec部署拓扑
    5.3. MACsec配置模型
    5.4. MACsec启动流程

  6. MACsec实现详细特性
    6.1. 关键功能支持
    6.2. 兼容性与旁路规则

  7. 总结
    7.1. MACsec的优势
    7.2. 应用场景


1. 引言

随着汽车电子系统的日益复杂和互联程度的提高,车载网络的安全性变得尤为重要。AUTOSAR(AUTomotive Open System ARchitecture)作为汽车电子系统的标准化软件架构,提供了多种安全机制以保障车内网络通信的安全。本文档详细介绍了Media Access Control安全(MACsec)协议及其密钥协商(MKA)协议在AUTOSAR适配平台中的实现和配置方法。

1.1 文档目标

本文档旨在提供关于MACsec和MKA协议的额外信息和详细描述,特别聚焦于AUTOSAR适配平台中的实现。通过阅读本文档,读者将能够深入理解:

  • MACsec协议的基本原理和优势
  • MACsec密钥协商(MKA)协议的工作机制
  • MACsec在AUTOSAR适配平台中的集成架构
  • MACsec的配置和管理方法
  • 不同操作模式下MACsec的性能特点

1.2 文档范围

本文档提供了MACsec在AUTOSAR适配平台中集成的指南。AUTOSAR适配平台不指定特定的操作系统,因此本文档内容适用于各种支持以太网和MACsec功能的操作系统环境。文档覆盖了从基础协议讲解到具体实现细节的完整内容,帮助系统集成商和开发人员正确配置和使用MACsec保护车载网络通信。


2. 术语与缩略语

为便于理解本文档中使用的专业术语,本节列出了相关的缩略语和其定义。

2.1 缩略语和定义

以下缩略语在MACsec和MKA模块中具有特定含义,其中部分未包含在AUTOSAR标准词汇表中:

  • MACsec:Media Access Control Security,媒体访问控制安全协议
  • MKA:MACsec Key Agreement,MACsec密钥协商协议(IEEE标准802.1X)
  • CA:Connectivity Association,安全连接关联
  • CAK:Connectivity Association Key,安全连接关联密钥
  • CKN:Connectivity Association Key Name,连接关联密钥名称
  • SA:Secure Association或Source Address,安全关联或源地址
  • SAK:Secure Association Key,安全关联密钥
  • SC:Secure Channel,安全通道
  • SCI:Secure Channel Identifier,安全通道标识符
  • SecTAG:MAC Security TAG,MAC安全标签
  • SecY:MAC Security Entity,MAC安全实体
  • ICV:Integrity Check Value,完整性校验值
  • PSK:Pre-shared Key,预共享密钥
  • KEK:Key Encryption Key,密钥加密密钥
  • ICK:Integrity Check Key,完整性校验密钥
  • PN:Packet Number,数据包编号
  • MPDU:MACsec Protocol Data Unit,MACsec协议数据单元
  • MKPDU:MACsec Key Agreement Protocol Data Unit,MACsec密钥协商协议数据单元

3. 相关文档

3.1 输入文档与相关标准

MACsec和MKA的实现基于以下标准和规范文档:

  1. AUTOSAR_FO_TR_Glossary:AUTOSAR术语表,定义了AUTOSAR中使用的标准术语

  2. AUTOSAR_FO_RS_MACsec:MACsec需求规范,定义了MACsec和MKA的实现要求

  3. IEEE 802.1AE-2018:IEEE针对本地和城域网的媒体访问控制安全标准,定义了MACsec协议

  4. IEEE 802.1X-2020:IEEE针对本地和城域网的基于端口的网络访问控制标准,定义了MKA协议

  5. AUTOSAR_AP_TPS_ManifestSpecification:AUTOSAR清单规范,包含MKA配置相关信息

  6. IETF RFC 4493:定义了AES-CMAC算法,用于MKA中的密钥派生函数

以上文档共同构成了MACsec在AUTOSAR中实现的基础框架和规范依据。


4. MACsec协议基础

MACsec是一种网络安全协议,为以太网网络提供点对点的安全通信机制。本节详细介绍MACsec的基本原理、帧结构、操作模式以及密钥协商机制。

4.1 MACsec网络安全标准

MACsec是一种运行在媒体访问控制层(第2层)的网络安全标准,定义在IEEE 802.1AE标准中。它为以太网网络提供点对点的保护机制,确保数据完整性和可选的机密性。

MACsec提供以下核心功能:

  • 完整性保护:每个帧的第2层有效载荷和MAC地址都受到完整性保护
  • 数据机密性:可选择对线路上每个帧的第2层有效载荷进行加密
  • 灵活性可扩展性:支持多种操作模式和高带宽链路

在车载网络中使用MACsec具有显著优势,包括在低层提供安全解决方案、性能优于其他安全协议、与上层安全协议互补、硬件加速支持等。

4.2 MACsec帧结构

MACsec通过扩展标准以太网帧实现其安全功能。理解MACsec帧结构是掌握其工作原理的关键。

4.2.1 MACsec保护的以太网帧

下图展示了启用MACsec保护的以太网帧结构,包括各组成部分及其功能:

@startuml
!pragma encoding utf8

' 图表标题和描述
skinparam backgroundColor white
skinparam defaultFontName Microsoft YaHei
skinparam titleBorderRoundCorner 15
skinparam titleBorderThickness 2
skinparam titleBorderColor black
skinparam titleBackgroundColor #90CAF9
skinparam arrowColor #616161

' 中文字体支持配置
skinparam defaultFontSize 12
skinparam ArrowFontName Microsoft YaHei
skinparam StateFontName Microsoft YaHei
skinparam NoteFontName Microsoft YaHei
skinparam TitleFontName Microsoft YaHei
skinparam defaultTextAlignment center
skinparam ParticipantFontName Microsoft YaHei
skinparam ActorFontName Microsoft YaHei
skinparam ComponentFontName Microsoft YaHei
skinparam InterfaceFontName Microsoft YaHei
skinparam ObjectFontName Microsoft YaHei
skinparam ActivityFontName Microsoft YaHei
skinparam LegendFontName Microsoft YaHei
skinparam PackageFontName Microsoft YaHei

' 布局控制
top to bottom direction
skinparam nodesep 10
skinparam ranksep 20

title MACsec保护的以太网帧结构

' 使用矩形创建帧结构
rectangle "MAC目标地址 (DA)\n6字节" as DA #E3F2FD
rectangle "MAC源地址 (SA)\n6字节" as SA #E3F2FD
rectangle "以太网类型/长度\n2字节 (0x88E5)" as EtherType #D1C4E9
rectangle "安全标签 (SecTAG)\n8-16字节" as SecTAG #FFECB3 {
  rectangle "安全标签类型 (TCI, AN)\n2字节" as TCI
  rectangle "短安全通道标识符 (SSCI)\n(可选)4字节" as SSCI #FFF9C4
  rectangle "数据包号 (PN)\n4字节" as PN
  rectangle "安全通道标识符 (SCI)\n(可选)8字节" as SCI #FFF9C4
}
rectangle "受保护数据 (加密可选)\n原始以太网负载" as ProtectedData #BBDEFB
rectangle "完整性校验值 (ICV)\n8-16字节" as ICV #FFCDD2

' 连接各部分,创建帧结构
DA -down-> SA
SA -down-> EtherType
EtherType -down-> SecTAG
SecTAG -down-> ProtectedData
ProtectedData -down-> ICV

' 添加注释
note right of EtherType #FFF8E1
  MACsec EtherType 值: 0x88E5
end note

note right of SecTAG #FFF8E1
  SecTAG结构:
  - 安全标签类型包含版本信息
  - 关联号码AN (2位)
  - 数据包号PN用于防止重放攻击
  - SCI在点对点链路中可以省略
end note

note right of ProtectedData #FFF8E1
  受保护数据内容:
  - 原始以太网帧的负载
  - 可以选择是否加密
  - 完整性保护始终开启
end note

note right of ICV #FFF8E1
  完整性校验值:
  - 保护整个帧的完整性
  - 基于GCM-AES算法
  - 长度取决于安全级别
end note

' 添加图例
legend right
  <b>MACsec帧结构组件</b>
  <#E3F2FD>■</color> 标准以太网头部
  <#FFECB3>■</color> MACsec安全标签(SecTAG)
  <#BBDEFB>■</color> 受保护数据
  <#FFCDD2>■</color> 完整性校验值(ICV)
endlegend

@enduml

在这里插入图片描述

4.2.2 MACsec帧组成部分

MACsec保护的以太网帧由以下主要部分组成:

  1. 标准以太网头部

    • MAC目标地址(DA):接收方的MAC地址,6字节
    • MAC源地址(SA):发送方的MAC地址,6字节
    • 以太网类型:MACsec的EtherType值为0x88E5,2字节
  2. 安全标签(SecTAG)

    • 安全标签类型(TCI):包含版本信息和关联号码(AN),2字节
    • 短安全通道标识符(SSCI):可选字段,4字节
    • 数据包号(PN):用于防止重放攻击,4字节
    • 安全通道标识符(SCI):在点对点链路中可选,8字节
  3. 受保护数据

    • 原始以太网帧的负载
    • 根据配置可以加密或仅保护完整性
  4. 完整性校验值(ICV)

    • 保护整个帧的完整性
    • 基于GCM-AES加密算法
    • 长度通常为8-16字节,取决于安全级别
4.2.3 SecTAG详解

SecTAG是MACsec帧的核心组件,它包含了MACsec接收方解析和处理帧所需的所有安全信息:

  • 安全标签类型(TCI):包含MACsec版本信息、加密标志和其他控制标志
  • 关联号码(AN):2位值,标识使用的安全关联(SA)
  • 数据包号(PN):递增的序列号,用于防止重放攻击和作为加密算法的输入参数
  • 安全通道标识符(SCI):标识帧的发送方端口,在点对点链路中可以省略以减少开销

通过这些字段,MACsec能够提供强大的安全保护,同时保持协议的灵活性和高效性。

4.3 MACsec操作模式

MACsec协议支持多种操作模式,可以根据不同的安全需求和性能要求进行灵活配置。下图展示了MACsec的三种主要操作模式及其特点:

在这里插入图片描述

4.3.1 仅完整性保护模式

仅完整性保护模式具有以下特点:

  • 数据可见性:原始数据保持明文状态,不进行加密
  • 完整性保护:为整个帧提供完整性保护,确保数据未被篡改
  • 重放防护:使用数据包编号(PN)防止重放攻击
  • 应用场景:适用于需要验证数据完整性但不要求数据保密的场景
  • 性能优势:与加密模式相比,处理开销更小,性能更高

此模式适合需要监控但不需要保密的网络流量,如某些诊断数据或非敏感的状态信息。

4.3.2 完整性+机密性(无偏移)模式

完整性+机密性(无偏移)模式具有以下特点:

  • 全面加密:整个原始以太网负载都被加密,提供最高级别的数据保密性
  • 完整性保护:同时为加密数据提供完整性保护
  • 最高安全性:提供最全面的保护,适用于敏感数据传输
  • 处理开销:与仅完整性模式相比,有更高的处理开销
  • 应用场景:适用于需要保护敏感信息的通信,如安全凭证、个人数据等

此模式为安全敏感应用提供了最全面的保护,是高安全性要求场景的首选。

4.3.3 完整性+机密性(带偏移)模式

完整性+机密性(带偏移)模式具有以下特点:

  • 部分明文:数据的起始部分保持明文状态(偏移量可配置)
  • 部分加密:偏移后的数据被加密保护
  • 完整性保护:整个帧同样受到完整性保护
  • 灵活平衡:在可见性和安全性之间取得平衡
  • 应用场景:当网络设备需要查看或处理帧头部信息但仍需保护负载主体时使用

此模式在特定网络环境下非常有用,例如当中间设备(如交换机)需要检查某些头部信息以进行路由或过滤决策,同时保护其余数据的机密性。

4.3.4 操作模式选择指南

选择合适的MACsec操作模式时,应考虑以下因素:

  • 安全需求:根据所传输数据的敏感性评估所需的安全级别
  • 性能要求:加密操作会带来额外的处理开销,影响系统性能
  • 中间设备要求:是否有需要访问部分帧数据的网络设备
  • 兼容性考虑:确保选择的模式与通信对端兼容

在AUTOSAR环境中,通常建议为关键安全通信选择完整性+机密性(无偏移)模式,为性能敏感但仍需保护的通信选择仅完整性模式。

4.4 MACsec密钥协商协议(MKA)

MACsec密钥协商协议(MKA)是MACsec实现的关键组成部分,定义在IEEE 802.1X标准中。MKA负责对等方的认证、密钥交换和安全关联(SA)的建立。

4.4.1 MKA的角色与组件

MKA通信中通常涉及以下角色:

  • 认证者(Authenticator):负责控制端口访问权限的网络设备
  • 认证服务器(Authentication Server):验证客户端凭证的服务器
  • 请求者(Supplicant):请求网络访问权限的客户端设备
  • 密钥服务器(Key Server):生成和分发安全关联密钥(SAK)的实体

在汽车应用中,通常将认证者和认证服务器合并为单一的密钥服务器角色,简化架构并提高启动性能。

4.4.2 MKA协议序列

下图展示了基于预共享密钥(PSK)的MKA协议交换序列:

在这里插入图片描述

MKA协议序列包括以下关键步骤:

  1. 初始阶段

    • 通信双方配置相同的预共享密钥(PSK)
    • 预共享密钥包括连接关联密钥(CAK)和连接关联密钥名称(CKN)
  2. MKA密钥协商序列

    • 密钥服务器发送包含其MACsec能力的MKPDU
    • 对等方回应并将密钥服务器添加到潜在对等端列表
    • 双方相互确认为活动对等端
    • 密钥服务器生成安全关联密钥(SAK)
    • 密钥服务器使用密钥加密密钥(KEK)对SAK进行加密,使用完整性校验密钥(ICK)进行保护,并分发给对等方
    • 双方安装SAK用于传输和接收
  3. 保护通信开始

    • 使用SAK加密和保护数据帧
    • 建立MACsec保护的通信通道
  4. 持续维护

    • 定期交换MKPDU保持会话活跃
    • 在密钥接近到期或数据包编号接近耗尽时更新SAK
4.4.3 密钥层次结构

MKA使用分层的密钥结构:

  • 连接关联密钥(CAK):预共享的主密钥,是密钥层次结构的根
  • 密钥加密密钥(KEK):从CAK派生,用于加密SAK
  • 完整性校验密钥(ICK):从CAK派生,用于保护MKPDU的完整性
  • 安全关联密钥(SAK):由密钥服务器生成的会话密钥,用于MACsec数据加密和完整性保护

这种分层的密钥结构确保了密钥管理的安全性和可扩展性。

4.4.4 MKA在AUTOSAR中的实现特点

在AUTOSAR环境中,MKA实现具有以下特点:

  • 基于PSK的认证:使用预共享密钥而非EAP认证,显著改善启动时间
  • 内置密钥服务器:通常在同一控制器中实现认证者和认证服务器功能
  • 优化的启动序列:确保在节点开始通信前完成安全通道建立
  • 系统集成:MKA模块需要在操作系统启动早期阶段初始化

这些特点使MKA能够满足汽车网络的低延迟、高可靠性和安全性要求,同时保持与标准MACsec/MKA协议的兼容性。


5. AUTOSAR中的MACsec实现

AUTOSAR适配平台提供了MACsec的灵活实现选项,使车载网络能够利用这种强大的链路层安全机制。本节详细介绍MACsec在AUTOSAR适配平台中的集成架构、部署拓扑、配置模型和启动流程。

5.1 AUTOSAR适配平台架构集成

AUTOSAR适配平台不指定具体的操作系统,因此MACsec的实现是操作系统层和AUTOSAR架构共同的责任。下图展示了MACsec在AUTOSAR适配平台中的架构集成:

在这里插入图片描述

5.1.1 架构层次结构

MACsec在AUTOSAR适配平台中的集成架构包含以下主要层次:

  1. AUTOSAR适配应用层

    • 适配应用:用户应用程序,使用网络通信但无需关注底层MACsec实现
    • 通信管理:管理网络通信,通过标准API与底层网络栈交互
  2. 操作系统层

    • MKA模块
      • MKA守护进程:实现MKA协议,管理密钥协商和安全关联
      • MKA配置:存储和管理MKA协议配置,包括PSK、加密套件选择等
    • 网络配置
      • 以太网接口配置:配置物理和虚拟网络接口
      • VLAN配置:管理VLAN接口和标签
    • 内核网络模块
      • MACsec内核模块:实现MACsec协议功能,处理帧加密和解密
      • 以太网驱动:与硬件层交互的驱动程序
  3. 硬件层

    • PHY/交换机:物理层网络硬件
    • MACsec引擎:硬件加速MACsec处理的专用组件(如果可用)
5.1.2 主要接口

架构中的关键接口包括:

  • 网络API:应用和通信管理使用的标准网络接口
  • MKA控制接口:MKA守护进程与MACsec内核模块的交互接口
  • MACsec配置接口:配置MACsec参数的接口
  • 驱动API:内核网络模块与硬件层通信的接口
5.1.3 MKA模块职责

MKA模块是整个MACsec实现的核心,负责以下任务:

  • 基于PSK的认证:使用预配置的PSK进行对等方认证
  • 密钥交换与管理:协商和分发安全关联密钥(SAK)
  • 建立安全关联(SA):创建和维护安全关联
  • MACsec状态监控:监控MACsec连接状态和统计信息
5.1.4 MACsec内核模块职责

MACsec内核模块负责处理实际的数据帧保护,其主要任务包括:

  • 创建虚拟MACsec接口:为MACsec保护的通信创建虚拟网络接口
  • 处理MACsec加密/解密:对出站数据进行加密和完整性保护,对入站数据进行解密和验证
  • 管理数据包编号:维护和更新用于防止重放攻击的数据包编号
  • 实现帧保护:根据配置的操作模式应用适当的保护机制
5.1.5 AUTOSAR集成的优势

MACsec在AUTOSAR适配平台中的集成具有以下优势:

  • 透明实现:应用程序无需修改即可受益于MACsec保护
  • 灵活配置:支持多种操作模式和配置选项
  • 高效性能:可利用硬件加速(如果可用)提高性能
  • 标准兼容:遵循IEEE 802.1AE和IEEE 802.1X标准
  • 安全增强:为车载网络提供链路层安全保障

5.2 MACsec部署拓扑

5.3 MACsec配置模型

5.4 MACsec启动流程


6. MACsec实现详细特性

6.1 关键功能支持

6.2 兼容性与旁路规则


7. 总结

7.1 MACsec的优势

7.2 应用场景


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KaiGer666

慧眼~施主!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值