首页 > 其他分享 >网络安全:MACsec车载应用技术解读

网络安全:MACsec车载应用技术解读

时间:2023-06-30 11:11:41浏览次数:35  
标签:网络安全 SAK 加密 MACsec 车载 802.1 密钥 Key

1.前言

 

 

我们在以往的分享中介绍了网络安全的相关技术在车载通信中的一些内容,包括E2E和SecOC等,但这些技术通常更多地是做数据校验,数据本身还是以明文进行传输。而随着网络安全级别的提高以及以太网在车载中更大规模的使用,我们迫切地需要数据加密的手段来防止数据被监听。同时由于车载通信对延迟性能的要求和部署的特点,MACsec可能是一个更容易被选择的方案。

 

 

2.什么是MACsec

 

 

MACsec全称为Media Access Control Security,基于协议802.1AE和802.1X,主要功能是用于数据加密,同时还有认证、校验的功能。其保护的数据是以太网中二层以上的数据,即包括ARP在内的数据,都会被加密进而无法通过网络监听获取。

 

同时相比于其他加密手段,如TLS,MACsec由于可以基于硬件实现,因此可以做到更低的延时和更高的性能。并且对于上层应用来说,MACsec是在二层进行加密,因此对于上层来说是无感的,这意味着上层不需要做任何改动就可以进行加密的部署。这对于当前无加密系统切换加密系统来说有着很大的优势。

 

 

3. MACsec工作流程

 

 

MACsec使用对称加密,其密钥生成分发过程为EAPOL-MKA(EAP是Extensible Authentication Protocol,EAPOL即EAP over LANs,MKA即MACsec Key Agreement protocol ,见IEEE Std 802.1X),标准的MACsec的EAPOL-MKA流程会先进行密钥服务器的选举,但在车载网络中,更可能的情况是预先定义好密钥服务器,因此本文就不赘述密钥服务器选举流程(可以参考IEEE 802.1X),直接看一下密钥服务器如何生成和分发密钥。

 

首先所有的MACsec设备中会预先配置好一个密钥,称为CAK(Secure Connectivity Association Key),由于其是预先定义的密钥,因此也叫做Pre-Shared-Key。需要注意的是,CAK并不是能直接参与数据加密的密钥,实际用于数据加解密的密钥是SAK(Secure Association Key),SAK是通过CAK进行派生,SAK的生成过程如下所示:

 

 

1)预配置密钥:除了预先配置CAK外,还需要配置密钥标识CKN(Connectivity Association Key Name)。CKN就是额外的一个数据参数,CAK+CKN共同用于密钥派生函数KDF(Key Derivation Function)。

 

2)密钥派生:CAK通过不同的派生函数(派生函数参考AUTOSAR AUTOSAR_SWS_MACsecKeyAgreement、IEEE 802.1X、NIST 800-108)和参数生成3个密钥:ICK(Integrity Check Value Key,即校验的密钥)、KEK(Key Encryption Key,即加密SAK的密钥)、SAK(Secure Association Key,即实际加密数据的密钥)。其中ICK和KEY是通过CAK+CKN生成固定的密钥,可以认为MACsec设备均已预先得知。ICK用于流程校验,KEK用于SAK的加密。SAK是由CAK+RNG(Random Number Generator,即随机数生成)生成的随机密钥,用于实际数据的加密。

 

3)加密SAK:使用KEK加密SAK(加密算法参考rfc3394中AES Key Wrap algorithm),将加密SAK传输到以太网总线中

 

4)获取解密后的SAK:伙伴节点使用相同的KEK解密后获取SAK,将SAK用于实际数据的加解密

 

在SAK成功分发到MACsec节点后,MACsec中的二层以太网报文就都可以用加密的方式进行数据的交互

 

 

4. MACsec报文格式

 

 

MACsec的报文格式如下图所示:

 

 

其中DMAC即目标MAC,SMAC即源MAC,CRC即帧校验,这部分都是以太网帧中原有的内容。802.1Q+payload即原有以太网中携带的数据(包含以太网帧类型),这部分数据会以GCM-AES-128(也允许支持GCM-AES-256)的加密算法进行加密(密钥为上一章节中分发的SAK)。ICV(Intergrity Check Value)为校验码。SecTAG为加密头,用于识别MACsec相关信息,其结构如下:

 

 

MACsec EtherType为固定值0x88E5,表示MACsec报文;

 

TCI(TAG Control Informatin)为控制信息;

 

AN(Association Number)为关联号;

 

SL(Short Length)为短数据长度(小于48字节才会使用,见IEEE 802.1AE);

 

PN(Packet Number)为包的序号,用来防止重放攻击;

 

SCI(Secure Channel Identifier)中还包含PI(Port Identifier),即通道和端口的标识,对简单网络来说应该是固定值。

 

SecTAG的解析见如下示例:

 

   

另外对于GCM-ASE算法来说,有3个参数:nonce(即加密向量IV)、add(附加消息)、tag(消息认证码)和MACsec中字段有映射关系。Nonce对应SCI+PN,add对应DMAC+SMAC+SecTAG,tag对应ICV(参考IEEE 802.1AE)。

 

 

5. CANoe MACsec示例

 

 

在CANoe中我们建立多个节点:ChatClient1和ChatClient2以TCP的连接与ChatServer建立会话关系,他们的通信不需要关注MACsec。实际在总线的数据由Switch_1的Port1与Switch_2的Port2进行以太网数据的发送接收,拓扑关系如下所示:

 

 

环境启动后,Port1和Port2就进行MACsec的SAK分发过程,分发完成后,Port1和Port2就可以正常以MACsec进行加密通信,如下所示:

 

 

当我们在ChatClient1发送会话数据“Polelink”,ChatClient2响应会话“YES”时,对于ChatClient1和ChatClient2来说数据的收发是原封不动的明文,如下所示:

 

   

而对于实际以太网数据而言,Port1和Port2的收发数据就全是密文数据,如下所示:

 

       6.总结    

北汇信息专注于汽车电子测试、与众多OEM合作,在总线网络诊断测试开发相关领域积累了丰富的经验。本次为大家简单介绍了MACsec,但很多细节还有待商榷,后续我们也会带来更多关于网络安全的测试开发内容,也欢迎大家共同探讨。

 

注:文中图片来源于AUTOSAR、Vector CANoe、IEEE 802.AE

 

参考文献

 

[1] AUTOSAR_RS_MACsec

 

[2] AUTOSAR_SWS_MACsecKeyAgreement

 

[3] IEEE 802.1X

 

[4] IEEE 802.1AE

 

[5]https://info.support.huawei.com/info-finder/encyclopedia/en/MACsec.html

 

[6]https://community.cisco.com/t5/networking-knowledge-base/mka-macsec-key-agreement-exchange-on-the-wire/ta-p/4436083

 

 

翻译

搜索

复制

<iframe></iframe>

标签:网络安全,SAK,加密,MACsec,车载,802.1,密钥,Key
From: https://www.cnblogs.com/polelink/p/17516108.html

相关文章

  • 【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-WORD元数据分析2
    前言Word元数据是指文档中的元素信息,包括作者、主题、标题、关键字、文档摘要等。它们可以帮助用户更好地组织和管理文档,并且可以作为搜索引擎索引的重要信息来源。Word元数据是指存储在Word文档中的附加信息,这些信息包括作者、创建日期、最后修改日期、主题、关键字和文档摘要等......
  • 【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-WORD元数据分析1
    前言Word元数据是指文档中的元素信息,包括作者、主题、标题、关键字、文档摘要等。它们可以帮助用户更好地组织和管理文档,并且可以作为搜索引擎索引的重要信息来源。Word元数据是指存储在Word文档中的附加信息,这些信息包括作者、创建日期、最后修改日期、主题、关键字和文档摘要等......
  • 网络安全应用--文件加解密
    专业和班级2020级成绩 姓名lhk学号1225课程名称计算机网络实验名称网络安全应用--文件加解密实验目的和要求1. 运用工具或编程实现数据的加密解密过程;2. 初步理解数据加密的原理;3. 通过有关操作,完成文件的加密和解......
  • [渗透测试]—6.2 无线网络安全漏洞和攻击技术
    在本章节中,我们将学习一些常见的无线网络安全漏洞和攻击技术,如WPS漏洞、EvilTwin攻击等。我们将尽量讲解得详细、通俗易懂,并提供尽可能多的实例。6.5WPS漏洞Wi-Fi保护设置(WPS)是一种简化无线网络配置的技术,可以通过输入PIN码或按下物理按钮的方式快速连接无线网络。然而,WPS存在......
  • 【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-word弱口令4
    前言Base64是一种编码算法,它能将二进制数据转换为可打印ASCII字符的字符串形式。它最常用的应用场景是在信息传输过程中,因为它可以确保数据在不同操作系统和网络环境中的互通性。Base64算法的实现过程非常简单,它将3个字节的二进制数据作为一组,分别以6位为单位进行编码。这样就能......
  • 网络安全学习篇4_用户与组管理
    上一篇博客:基本DOS命令与批处理目录服务器系统版本的介绍用户管理用户概述内置账户配置文件组管理组概述内置组组管理命令服务管理开始一、服务器系统版本介绍windows服务器系统:win2000win2003win2008win2012linux服务器系统:RedhatCentos二、用户管理1.1用户概述系统SID:S......
  • 网络安全学习篇37_第二阶段_基本Linux脚本、变量、判断if、循环for\while、case语句
    上一篇博客:网络安全学习篇36_第二阶段_简单介绍JavaWeb框架之Tomcat服务、Nginx负载均衡、Linux包过滤防火墙IPtables、NAT网络地址转换目录shell脚本变量数值读入if判断语句for、while循环语句case语句开始shell脚本1.脚本的作用:可以执行计划任务把需要执行的代码保存在一个文件......
  • 【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-word弱口令2
    前言异或算法,也称为按位异或(XOR)算法,是一种比较常用的二进制位运算算法。它是指两个二进制数中,相同位的数值不同则为1,相同则为0。在编程中,异或算法常用于加密和校验方面,它能够将明文与密钥异或后生成密文,从而达到加密的目的。同时,由于异或算法是可逆的,因此在接收到密文后,只需要再......
  • 汽车车载电源DCDC 硬件原理图
    国内汽车车载电源DCDC硬件原理图、软件源码和3带上位机调试工具等完整的配套资料。延申科普:这个领域涉及到汽车电子和电源管理技术。汽车车载电源DCDC是一种重要的电子设备,用于将汽车电池的直流电转换为适用于车辆各个部分的电压。它在现代汽车中起着至关重要的作用,为各种电子设......
  • IP代理与网络安全:保护隐私的关键技术
    在当今数字化时代,保护个人隐私和网络安全至关重要。本文将重点探讨IP代理技术以及它在网络安全领域中的作用。我们将探索IP代理的工作原理、应用场景,以及它如何帮助用户保护个人隐私和数据安全。同时,我们还将介绍一些与IP代理相关的网络安全措施,以帮助读者加强网络安全意识和保护措......