UDS,进入Bootloader等同安全解锁,接受否?

admin 2026-05-27 05:14:11 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文探讨汽车控制器中Bootloader程序的安全访问机制,重点分析当Application程序失效时是否仍需UDS0x27/0x29服务进行安全解锁。作者认为Bootloader进入后保持解锁状态可接受,因主要功能是程序更新,且可通过公钥验证确保软件合法性。文章还延伸解读了ISO14229-1规范中种子请求处理机制及静态种子的管理逻辑。 综合评分: 72 文章分类: 车联网安全,应用安全,安全开发


cover_image

UDS,进入Bootloader等同安全解锁,接受否?

谈思实验室

2026年1月3日 18:00 上海

在小说阅读器读本章

去阅读

以下文章来源于开心果 Need Car ,作者开心果 Need Car

开心果 Need Car .

号主:开心果 Need Car,主要从事汽车Autosar开发,公众号主要分享 通信、诊断、存储、网络管理、标定、Bootloader等工程开发问题。致力于将学到的知识,分享给更多的Autosar从业者,努力解答一线开发工程师的困顿!

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

控制器的主芯片中,往往不是单个程序的单打独斗,而是多个进程的相互配合,进而使得控制器发挥它应有的功能。一块主芯片会包含哪些程序呢?如果项目包含信息安全,一般来说,主芯片会包含:信息安全Bootloader程序,信息安全Application程序,用户Bootloader程序,用户Application程序等。示意如下:

当芯片被供电那一刻,CPU就从第一条指令开始执行,第一条指令指向哪呢?就用户的第一条指令来说,往往是指Bootloader的指令。即:CPU最开始执行Bootloader程序。但是,一个控制器的主要功能在Application程序中,所以,如果要控制器“干活”,也就必须让程序进入Application,所以,这就有了Bootloader跳转(Jump)Application的讨论。

为了防止软件程序的非法访问和破环,对于软件的操作都需要格外的小心,所以,在UDS(Unified diagnostic services)的规范中有了0x27(Security Access service)和0x29(Authentication service)服务。

可是,有这样一种场景:如果芯片只有Bootloader程序或者Application程序失效,Bootloadert程序目前无法跳转Application程序。示意如下:

对于这样的工况,Bootloader程序是否还需要安全解锁?或者说,一旦程序进入了Bootloader程序,默认处于解锁状态,无需额外的0x27服务?是否可行呢?

个人观点:对于Bootloader来说,它最大的作用就是更新程序。所以,当程序进入Bootloader程序以后,就保持解锁状态是可以接受的。因为,程序进入不了Application或者没有Application,控制器是无法工作的,如果不能重新更新,控制器就等同于“砖”(brick)。

但是,有的小伙伴就问题:进入Bootloader和是否使用0x27/0x29服务不冲突呀。确实不冲突,但是,我们这里在讨论,不用0x27/0x29服务又怎样呢?难道就不升级?我们使用0x27/0x29服务的目的主要为了避免非法刷写的问题。就是说,需要确保更新程序得合法性。否则,程序就可能被恶意篡改,甚至使得产品被逆向和复制。

所以,如果不使用0x27/0x29服务,就得确保软件更新的合法性,即:下载到控制器内的Application或者其他组件是真实的,完整的。如何保证呢?软件下载以后,往往需要使用公钥(Public key)验证下载软件的合法性,所以,下载软件的真实性和完整性是可以得到保证的,示意如下:

延伸:如果0x27对应的安全级(Security Level)已经解锁,当前的安全级再次收到种子请求时,Server可以通过返回全0表示当前Security Level已经解锁,14229-1规范对应的解释如下:

延伸拓展:

在144229-1的规范中,已经给出了seed的请求处理方式。具体的细节描述在Table I.2,其中No.5的解释如下:

关于Static_Seed、Xx、Yy的描述如下所示:

红框内容的具体解释:

(一)第一种情况

Condition:收到 SecurityAccess requestSeed 请求。且Static_Seed == True。请求的securityAccessType已有一个活动的存储种子(seed)。

Action:保存子功能(SubFunction),即 xx = securityAccessType。

发送 SecurityAccess 正响应,并使用当前存储的种子作为请求的 securityAccessType 的种子。再次保存子功能。

解释:如果 ECU已经有对应类型的种子,就直接返回这个种子,不重新生成。

那么,Static_Seed == True的前提下,存储的种子何时清除呢?规范要求如下:

即:收到正确的key以后,如果Static_Seed == True,清除生成的Seed。

(二)第二种情况

Condition:收到 SecurityAccess requestSeed 请求。Static_Seed == True。请求的 securityAccessType 没有活动种子(与之前的类型不同)。

Action:为请求的 securityAccessType 生成并存储新的种子(如果当前 ECU运行周期内尚未生成)。保存子功能(SubFunction)。发送 SecurityAccess 正响应,并将新生成的种子作为活动种子返回。

解释:如果ECU没有对应类型的种子,就生成一个新的种子并返回。

谈思-汽车出海安全合规(欧洲)

交流群

谈思 AutoSec Europe 峰会旨在搭建一个能融汇全球视野与中国实践、连接技术前沿与落地应用的国际性专业平台,以助力中国汽车应对在出海过程中面临的网络与数据安全合规痛点。从前沿技术研讨、合规要点解析到经验交流,都将通过本平台为您提供持续支持。社群已超过200人,需邀请加入,如需入群,欢迎添加社群小助手微信taaslabs01。

谈思-SDV&AIDV技术出海

交流群

诚邀行业同仁加入谈思SDV&AIDV出海技术交流群,聚焦软件定义汽车、AI定义汽车、下一代EEA、智能座舱、智能驾驶、软件架构、域控制器开发、芯片技术、软件工具等核心议题,欢迎大家加群交流探讨~~社群已超过200人,需邀请加入,如需入群,欢迎添加社群小助手微信taaslabs01。

end

谈思汽车媒体门户

精品活动推荐

AutoSec系列沙龙

专业社群

部分入群专家来自:

新势力车企:

特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯……

外资传统主流车企代表:

大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚……

内资传统主流车企:

吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用……

全球领先一级供应商:

博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、……

二级供应商(500+以上):

Upstream、ETAS、BlackDuck、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、加特兰微电子、浙江大学……

人员占比

公司类型占比

文章

不要错过哦,这可能是汽车网络安全产业最大的专属社区!

关于涉嫌仿冒AutoSec会议品牌的律师声明

一文带你了解智能汽车车载网络通信安全架构

网络安全:TARA方法、工具与案例

汽车数据安全合规重点分析

浅析汽车芯片信息安全之安全启动

域集中式架构的汽车车载通信安全方案探究

系统安全架构之车辆网络安全架构

车联网中的隐私保护问题

智能网联汽车网络安全技术研究

AUTOSAR 信息安全框架和关键技术分析

AUTOSAR 信息安全机制有哪些?

信息安全的底层机制

汽车网络安全

Autosar硬件安全模块HSM的使用

首发!小米雷军两会上就汽车数据安全问题建言:关于构建完善汽车数据安全管理体系的建议


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:谈思实验室 《UDS,进入Bootloader等同安全解锁,接受否?》

评论:0   参与:  0