完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
汽车在往智能化方向发展,节点间通信的安全性变得越来越重要。当下是在报文中添加验证信息实现通信安全,这样不仅浪费宝贵的通信资源,还增加软件复杂度。本文将介绍一种通过硬件实现安全CAN通信网络的方式。
|
|
相关推荐
5个回答
|
|
安全CAN通信网络的必要性
近年来随着智能交通、车联网等概念的提出与实施,使得汽车与外部网络间的信息交互越来越频繁,人们在享受车联网带来的便利,同时也面临着巨大的车辆信息安全问题。车载ECU多以CAN总线方式连接,CAN的数据包中只有目的地址没有源地址,这意味着车载网络中的任意ECU都可以访问CAN网络中的核心ECU。所以只要攻击者能获得CAN网络中的执行权限就能够向ECU发送伪造的数据包,修改ECU的行为,从而实现对车辆的完全控制。由上可知CAN网络的通信安全决定着整个车载信息系统的安全。 |
|
|
|
STINGER相对软件加密的优势
使用密钥进行软件认证通常需要在消息中添加计数器和MAC(Message Authentication Code,消息认证码),其中计数器器用于防止重放攻击,在消息中添加该部分信息将会增加总线负载,导致延迟传输;MAC用于验证消息是否合法,MAC是由CPU计算而得,并且在进行验证时也需要CPU进行运算,这导致软件的设计更为复杂,消息传输的延迟变高,并且根据安全级别增加,占用总线资源也会随之增加。 图1 如下图所示,在存在多个通信域的网络中,每个ECU需要保存每个与之通信的ECU的密钥信息,校验信息的传输需要额外的总线资源和对验证信息进行计算也需要额外的CPU资源。若使用安全CAN收发器STINGER替代普通的CAN收发器,可以在保证域内通信的安全性达到减少密钥的目的。 图2 使用STINGER作为域内通信的安全保证手段相对于使用软件加密认证的方式,可为系统设计带来诸多的改善,如下图所示。 图3 |
|
|
|
STINGER如何实现安全网络
STINGER的核心思想是“保护自己的消息和自己的总线行为,保证合法发件者无需加密”。通过基于用户可配置的白名单和黑名单的即时CAN ID过滤(TX)和总线保护(RX),防止欺骗和篡改实现入侵检测和预防(IDS/IPS);通过根据帧大小加权的漏桶策略设置消息传输的阈值实现防止泛洪(DoS)。 图4 1、欺骗检测和预防 欺骗攻击: 非法节点利用总线上的其他节点的ID在总线上发送虚假信息,以获取数据或致使总线瘫痪。 STINGER阻止攻击: 1. 设置来自MCU的TXD上的ID白名单 图5 STINGER检查来自主机MCU的TXD上的帧ID ,如果ID不在白名单中,则帧无效并发送ERROR帧。 效果 - 主机MCU不能“欺骗”另一个ECU。 - 主机MCU无法触发不需要的诊断会话。 2. 通过RXD在CAN总线上识别ID 图6 STINGER检查总线上帧的动态ID,如果STINGER发现ID匹配其黑名单并且ID被标记为要监视,通过发送ERROR帧使帧无效。 效果 - “监督”其他ECU“欺骗”这个ECU。 2、防篡改 篡改攻击: 通过篡改可能是汽车的关键操作的消息绕过欺骗保护。攻击者旨在调整另一个ECU当前正在总线上发送的消息,控制数据字段,在合法ECU发送隐性位时发送显性位(位翻转),还需要调整循环冗余校验(CRC)以匹配篡改数据。如下图所示,ECU2在ECU1发送完ID之后,对齐数据进行了篡改,导致ECU3收到了非法的数据帧。 图7 STINGER阻止攻击: STINGER检测本地节点停止发送但在总线上继续发送的消息的情况,当包括正确CRC的远程节点完成消息时,STINGER发出主动错误标志,如果消息包含错误的CRC(避免不必要的总线负载),STINGER将不会发送错误标志。 效果 - 远程主机MCU无法通过篡改正确发起的消息(即TX白名单的一部分)的有效负载(包括CRC)来欺骗。 3、防止泛洪 泛洪攻击: MCU收到攻击,不停的向总线上发送数据,导致总线瘫痪。 |
|
|
|
STINGER阻止攻击:
图8 STINGER实现了“漏桶”并为每次传输增加了加权值,反映了帧长。超出指定的总线负载,STINGER进入“安全模式”。 效果 - 主机MCU不能泛洪总线来中断通信。 安全模式: TXD禁用(HIGH),RXD LOW,阻塞主机CAN控制器; 2秒后STINGER“恢复”,RXD释放,TXD重新连接。 使用STINGER带来的收益 使用STINGER作为保证: 由硬件保证您的ECU只能在模块分配ID的范围内进行通信(OEM规范); 即使您的ECU受到损害,STINGER也会限制对指定ID的最大影响! 使用STINGER作为保险: 添加验证节点工具和组件; 您的ECU在连接的CAN网络中保护自己的ID; 即使网络中的任何其他模块被黑客攻击,没有其他ECU可以伪装成您的ECU(控制您的消息)! 使用STINGER来保护规范: 通过模块规范确保模块(ECU)在任何时候只能在模块分配的ID的边界内进行通信; 限制硬件离开这些边界的任何可能性 - 即使受到损害 - 限制黑客的活动区域。 使用STINGER保护关键消息: 通过硬件确保该关键ECU是连接网络中唯一能够发送定义的关键消息的ECU; 独立,有多少和其他ECU直接连接在CAN网络上。 |
|
|
|
在基于CAN(FD)的网络中,STINGER提供基本保护:
无需增加加密硬件/软件的系统成本; 免于密钥管理和存储麻烦; 目标是轻松更换硬件; 本地和总线到达基于CAN ID的欺骗预防; 有效防止泛洪; CAN网络友好(无额外带宽,无启动和TX延迟)。 作为其他安全实施的补充: STINGER通过硬件提供RX和TX ID过滤; 独立于微控制器系统; 在任何发送MCU受到损害的情况下提供额外的保护层。 |
|
|
|
只有小组成员才能发言,加入小组>>
798 浏览 1 评论
999 浏览 1 评论
12431 浏览 0 评论
5882 浏览 3 评论
17674 浏览 6 评论
996浏览 1评论
971浏览 1评论
801浏览 1评论
3831浏览 1评论
999浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 21:05 , Processed in 0.943496 second(s), Total 88, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号