• 336查看
  • 0回复

[信息安全] 汽车信息安全--调试功能在量产后是否必须禁用?

[复制链接]


该用户从未签到

发表于 18-4-2024 21:48:42 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


目录
1.芯片生命周期与调试接口

2. 安全调试安全在哪里

2.1 常见安全调试解锁手段

2.2 响应挑战解锁的两种实现

3.Debug via Commnucation

4.小结


1.芯片生命周期与调试接口

在汽车产品中,芯片的生命周期是严格与整车绑定到一起,大致可分为:芯片出厂阶段、Tier-1开发阶段、OEM量产阶段、售后阶段和报废阶段。
汽车信息安全--调试功能在量产后是否必须禁用?w1.jpg
在不同生命周期里,芯片对外暴露出的资源通常是不一样的,如下:

    开发阶段:芯片资源完全开放,可用于对开发调试以及测试;量产阶段:仅提供芯片用户配置区、代码及数据烧写功能;售后阶段:无内部资源暴露报废阶段:用户数据、敏感数据等销毁
在开发阶段,Debug接口例如JTAG、SWD用于对软件进行调试;由于Debug口可访问芯片里的CPU、外设、Memory等资源,因此从信息安全角度来看,这是一个很明显的攻击路径。在产品量产后,如果Debug口不禁用,一旦攻击者通过debug连接到ECU,那么很有可能对ECU进行注入恶意代码攻击、套取密钥、逆向工程等,从而对OEM、Tier1造成巨大损失。所以通常意义上来讲,最安全的方式就是在量产阶段就将debug给禁用,且没有回退机制,这样直接封锁了物理接口。如下图:
汽车信息安全--调试功能在量产后是否必须禁用?w2.jpg
但是这又有一个问题,当在售后阶段车上的某个件如果出现了偶发问题,需要回家复现或者调试,这个时候Debug口已经禁用了,这就很容易抓瞎?因为家里人通常希望是拿到问题件来分析。这就出现了信息安全与功能上的悖论,要想绝对的信息安全就必须舍弃某些重要的功能。2. 安全调试安全在哪里

2.1 常见安全调试解锁手段

为此,我们有必要对调试接口提出新的要求?售后阶段,如果在授信环境下临时通过调试接口对ECU进行调试,这不失为一种折中的方案。因此,我们可以对调试接口新增一种状态:Locked。之前调试接口的Disabled状态表示调试器无法与ECU建立物理连接,而Locked状态既然是上锁,那么就有办法进行物理连接并对其进行临时解锁。概念模型如下:
汽车信息安全--调试功能在量产后是否必须禁用?w3.jpg
针对这种临时解锁方式,是需要通过授信的,因此常见的解锁方式如下:

    密钥临时解锁:见名知意,就是调试器通过输入密码的方式来临时解锁调试接口,该方式在英飞凌TC3xx中比较常见。这种基于密码的方式存在泄露的风险,同时也有被蛮力攻击的风险,因此我们可以发现要求的密码位数通常为256bit起步;

汽车信息安全--调试功能在量产后是否必须禁用?w4.jpg
    诊断安全访问临时解锁:通过特定DID、诊断会话等级以及UDS 27服务来验证身份,通过后临时解锁调试接口;这种方式与OEM定制息息相关,芯片厂的方案不是非常通用;挑战响应机制解锁:使用密码学原理验证调试者身份,下面重点聊一下。
2.2 响应挑战解锁的两种实现

业内常使用对称密码体制和非对称密码体制两种方式来实现挑战响应手段,那么我们完全可以照搬并实施在调试接口临时解锁上。基于对称密码体制的实现:
    前提:请求解锁方、目标ECU有一个共同的私密密钥,ECU端的密钥有HTA保护;请求解锁方对ECU发起挑战请求,ECU使用真随机数生成一个随机的值作为挑战种子返回给请求解锁方;请求解锁方和ECU使用共同私密密钥对上述种子进行加密,请求解锁方将加密后的种子作为响应数据发给ECU,两者进行比对;比对成功,则临时解锁调试接口。
这种方式也存在密钥泄露的风险,所以通常基于信息安全等级的不同要求,可以适当使用密钥派生机制,通过芯片特定ID或者Trim数据作为派生的输入;此外除了对称密钥体制,还可使用非对称密码体制,如下基于非对称密码体制的实现:
    前提:公钥存入到ECU,有HTA进行保护请求解锁方使用私钥对挑战种子进行签名,作为响应返回给ECU;ECU使用公钥进行验签,进行比对;比对成功,临时解锁调试接口。

3.Debug via Commnucation

本文主要从信息安全角度对调试这一重大功能做了分析,针对售后阶段的bug分析作了信息安全方面的妥协,提出了常见的临时解锁debug口的手段。但是大家在看英飞凌或者ST相关MCU的Datasheet时,有没有发现Debugging via CAN这样一个功能?如下:
汽车信息安全--调试功能在量产后是否必须禁用?w5.jpg

汽车信息安全--调试功能在量产后是否必须禁用?w6.jpg
一旦该功能激活,意味着调试者可以直接通过整车网络对ECU进行调试,甚至都不需要对ECU开盖;所以在考虑信息安全时,该攻击路径也是需要进行反复论证的。
4.小结

当信息安全加入到汽车这个行业后,大家有没有发现原来的件可能得重新考虑开发了。由于其生命周期是伴随着整车的,因此会有很多以前都没有思考过的情况。最明显的就是密钥的管理,什么情况下密钥不变、什么情况下密钥得保存,密钥更新后如何保证其新鲜度值,这不仅仅是芯片厂需要考虑的,还需要Tier 1、OEM共同讨论,才能得出一个较为成熟的方案。所以,现在Tier2、Tier1和OEM的关系与以往有了较大变化,甚至说很多OEM都直接找芯片厂定制化开发,如下:
汽车信息安全--调试功能在量产后是否必须禁用?w7.jpg
这是大变革,也是大机遇。就酱,债见!


往期回顾:

1.汽车标定精选
汽车标定技术--标定概念详解
汽车标定技术--Bypass的前世今生
万字长文:汽车标定技术--XCP概述

2.AUTOSAR精选
AUTOSAR CryptoStack--CSM Job夹带了哪些私货
AUTOSAR 诊断栈分析(一)
AUTOSAR OS概述(一)

3.汽车网络安全精选
汽车信息安全--MCU启动常用密码算法
汽车网络安全方案需求分析
汽车信息安全--常见车规MCU安全启动方案
车载信息安全场景概述

4.汽车功能安全精选

5.汽车虚拟化精选

    汽车ECU虚拟化技术初探(一)

    汽车ECU虚拟化技术(二)--U2A虚拟化功能

6.杂七杂八

    Flash模拟EEPROM原理浅析

    征途漫漫:汽车MCU的国产替代往事

    车规MCU应用场景及国产替代进展

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 20-11-2024 17:35 , Processed in 0.393727 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.