车联网安全基础知识之UDS刷写前置基础知识

谈思实验室 2023-05-22 17:49

点击上方蓝字谈思实验室

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


本篇主要讲解UDS刷写中了涉及的重要的基础概念。

  • 服务ID:后续UDS刷写中用到的服务ID

  • 会话定义:刷写中会话切换,不同阶段在不同的会话。

  • 27服务认证流程:刷写解锁,安全访问的基本流程。

  • 诊断连接方式:不同的连接方式,直接和通过网关连接。

  • 固件格式:刷写中使用到的固件的常见的格式以及简单的分析。

服务ID汇总

首先总体看一下刷写涉及的服务ID以及在刷写过程的用途。


诊断服务标识 

Service ID

诊断服务 

Diagnostic Service

在刷写过程中的用途
0x10诊断会话控制 DiagnosticSessionControl切换到拓展会话检查刷写条件、停止一些功能切换到编程会话执行刷写
0x11ECU复位 ECUReset用于刷写完成后重启服务,使新固件生效
0x27安全访问 SecurityAccess校验刷写者身份,采用seed-key
0x28通信控制 CommunicationControl关闭和启用一般通讯报文
0x29认证服务 Authentication Service基于PKI的身份认证
0x31例程控制 RoutineControl指定特定的例程,前置条件检查、检查编程依赖等
0x34请求下载 RequestDownload设置下载的参数(起始地址、长度)
0x36数据传输 TransferData固件传输
0x37请求结束传输 RequestTransferExit终止数据传输
0x3E测试设备在线 TesterPresent用于将会话保持在当前会话中
0x85控制故障码设置 ControlDTCSetting设置启停故障码存储功能

会话

诊断会话关联了一系列的诊断服务或诊断功能。只有当前激活的诊断会话支持的诊断服务才能被响应。ECU通常有两个以上的诊断会话,包括:一个默认会话(Default Session)和若干非默认会话(Non Default Session)。其中非默认会话又包括编程会话和扩展会话等。其他非默认会话由厂商自行定义。常见的ECU诊断会话定义如下:

诊断会话会话ID描述
默认会话0x01ECU启动后默认进入此会话。只提供基本的诊断服务。
编程会话0x02ECU更新应用程序或标定数据时进入此会话。支持与程序更新相关的诊断服务。如0x34、0x36、0x37等。
扩展会话0x03除支持默认会话下的诊断服务和功能外,还支持额外的诊断服务。
.........

诊断会话控制服务(0x10)是用于激活控制器各种不同的会话模式 。在固件刷写中会使用0x10服务在默认会话、编程会话、拓展会话来回切换。

会话保持(3E 00)

此服务用于向单(或多)个服务端指示客户端仍然与车辆连接,并且维持先前已激活的某些诊断服务和/或通信将保持活动状态。此服务用于将一个或多个服务端保留在默认会话之外的诊断会话中,通过周期性的发送 3E 实现。

整个刷写过程中, 刷写工具要周期性的发送链路保持请求, ECU 不需要响应请求信息。如果没有开启会话保持,几秒后ECU就会切回默认会话。

  • 刷写前需要保持在拓展会话下。

  • 刷写中需要保持在编程模式下。

27 服务-安全访问认证流程

安全访问服务的目的是为保密和排放、安全相关的一些服务和数据提供访问权限来保护数据。2E(通过DID写入数据)、2F(通过DID进行输入输出控制)、31服务(例程控制)、34服务(请求下载)、36服务(请求上传)、37服务(数据传输)等服务需要经过身份认证。身份认证利用了种子和密钥之间的关系。 服务的示例如下图所示:

  1. Request Seed:Tester 使用27服务,并携带需要解锁的安全等级 0X 发送给特定的 ECU。

  2. Request Seed Reply : 对应的ECU收到之后,生成4个字节的随机数 Seed,返回给 Teseter。

  3. Send Key: Tester 拿到Seed后,使用自定义实现的 Seed2Key 算法计算出Key,发送给ECU。Send Key 中的安全访问级别 0Y 为Request Seed的安全访问级别的值 +1。例如当请求种子为 27 01 时,发送秘钥则为 27 02(01+1)。

  4. Send Key Reply : ECU 将收到的 Key 和 自己拿 Seed 作为输入的 Seed2Key 计算出结果进行对比,然后返回验证的结果。

Seed2Key 算法

安全访问中最重要的就是Seed2Key算法,算法通常是一些比较简单的移位算法,例如下列的算法。

 #defineSECURITYCONSTANT   0x464c4147
 
 WORD seedToKey (WORD wSeedDWORD constData)
 {
 DWORD wLastSeed ;
 WORD wLastKey;
 wLastSeed= wSeed;
 wLastSeed = (wLastSeed>>5| (wLastSeed<<23);
 wLastSeed *= 7;
 wLastSeed ^= SECURITYCONSTANT;
 wLastKey = (WORD)wLastSeed;
 return wLastKey;
 }

seed2key 接受2个输入参数 种子安全常量,种子由 ECU 随机产生;安全常量内置在ECU和诊断仪中,在某种意义上来说安全常量就是密码。采用同一算法的不同用途的 ECU,通常使用不相同的安全常量。

诊断连接方式

诊断设备与ECU连接有两种方式,如下图。

  1. 诊断设备连接网关,由网关将消息转发给ECU;

  2. 诊断设备与ECU直连。

固件格式

S-record、Intel Hex、BIN、VBF 是汽车中MCU固件常用的格式,下面简单介绍一下这几种格式。了解数据格式有助于固件分析、刷写安全测试等。

S-record

S-record 是摩托罗拉设计的一种常于MCU内存、EPROM、EEPROM 写入的文档格式,S-record 将二进制数据以ASCII字符表示。常用文件后缀名有 SRECORD、SREC、S19、mot。文件格式如下图。

  • Header Record 文件头信息,其中记录有模块名称、版本号等;

  • Data Record 数据记录,有 S1、S2、S3 三种类型;

  • Count Record(可选) 包含了先前传输的S1、S2、S3记录的计数;

  • Termination Record,结束记录,有 S7、S8、S9 三种类型。

S0 Record(头记录):记录类型是“S0”。地址场没有被用,用零(0x0000)填充。数据场中的信息使用HEX转换成字符串是:JKE_X1_APP_SOC.s19。此行表示程序的开始,不需烧入内存,用来表述文件的相关信息,可能包含文件名、版本号等。

S3 Record(数据记录):记录类型是“S3” 。地址场由4个字节地址,数据场由可载入的数据组成。

S7 Record(结束记录):记录类型是“S7”。地址场由4字节的地址,包含了开始执行地址。没有数据场。此行表示程序的结束,不需烧入内存。

注: S-Record 中记录有固件的起始地址,逆向分析时直接从中获取,然后设置为起始地址即可。

Intel HEX

在嵌入式MCU程序开发中,经常编译链接后生成的 HEX 就是采用的 Intel Hex 格式。也是一种将二进制文件转换成了ASCII码形式存储的文本文件。

BIN

二进制文件,只有固件数据,没有起始地址、描述信息等。

自定义格式

车企自定义格式如,VBF(Volvo Binary File)。VBF 使用在 volvo、mazda、Ford、吉利等品牌的汽车中。

文件头记录有文件的VBF版本号、软件版本信息、ECU物理地址、数据起始地址等。

分析工具

srecord

命令行工具 srecord

 sudo apt-get install srecord

查看S-record文件信息

 fans@fans:~$ srec_info JKE_X1_APP_SOC.s19
 Format: Motorola S-Record
 Header: "JKE_X1_APP_SOC.s19"
 Execution Start Address: 00FC0000
 Data:   01000000 - 01089C5F
         01180000 - 011800FF
        0127FB80 - 0127FBDF
        0127FF80 - 0127FFFF

文件转换

  • S-record 转 hex

     srec_cat JKE_X1_APP_SOC.s19 -Motorola -o JKE_X1_APP_SOC.hex -Intel
  • Intel hex 转 S-record

     srec_cat JKE_X1_APP_SOC.hex -Intel -o JKE_X1_APP_SOC.s19 -Motorola
  • S-record 转 bin

     srec_cat JKE_X1_APP_SOC.s19 -Motorola -o JKE_X1_APP_SOC.bin -bin
HexView

S-record、Intel Hex、BIN 文件之间的转换可以采用 Vector 的图形化文件编辑软件 HexView。

专用工具

主机厂或供应商自己开发的专用软件,如VBF文件查看工具 VBF Tool.

脚本

根据文件格式定义,编写脚本解析、提供固件,部分可以在 Github 上找。

 # wget https://raw.githubusercontent.com/consp/vbfdecode/master/vbfdecode.py
 # python vbfdecode.py -b firmware.vbf
 Offset: 0x359, Location: 0x18000, Size: 0xB256C, Data Offset: 0x361
 VBF v2.1
 Description: Software part: 1234 type: APP
 Network: 0x00000000
 Data Format Identifier: 0x00000000
 ECU address: 0x000007C6
 Frame_format:
 Erase frames:
 Data blobs:
 0x00018000     0x000B256C       e301
 
 Saving:
    18000.bin




码上报名

AES 2023 第四届中国国际汽车以太网峰会,6月8-9日,上海


更多文章

智能网联汽车信息安全综述

华为蔡建永:智能网联汽车的数字安全和功能安全挑战与思考

汽车数据合规要点

车载以太网技术发展与测试方法

车载以太网防火墙设计

SOA:整车架构下一代的升级方向

软件如何「吞噬」汽车?

汽车信息安全 TARA 分析方法实例简介

汽车FOTA信息安全规范及方法研究

联合国WP.29车辆网络安全法规正式发布

滴滴下架,我却看到数据安全的曙光

从特斯拉被约谈到车辆远程升级(OTA)技术的合规

如何通过CAN破解汽

会员权益: (点击可进入)谈思实验室VIP会员


END

微信入群

谈思实验室专注智能汽车信息安全、预期功能安全、自动驾驶、以太网等汽车创新技术,为汽车行业提供最优质的学习交流服务,并依托强大的产业及专家资源,致力于打造汽车产业一流高效的商务平台。

 

每年谈思实验室举办数十场线上线下品牌活动,拥有数十个智能汽车创新技术的精品专题社群,覆盖BMW、Daimler、PSA、Audi、Volvo、Nissan、广汽、一汽、上汽、蔚来等近百家国内国际领先的汽车厂商专家,已经服务上万名智能汽车行业上下游产业链从业者。专属社群有:信息安全功能安全自动驾驶TARA渗透测试SOTIFWP.29以太网物联网安全等,现专题社群仍然开放,入满即止。


扫描二维码添加微信,根据提示,可以进入有意向的专题交流群,享受最新资讯及与业内专家互动机会。


谈思实验室,为汽车科技赋能,推动产业创新发展!

谈思实验室 深入专注智能汽车网络安全与数据安全技术,专属汽车网络安全圈的头部学习交流平台和社区。平台定期会通过线上线下等形式进行一手干货内容输出,并依托丰富产业及专家资源,深化上下游供需对接,逐步壮大我国汽车安全文化及产业生态圈。
评论
  • 一、行业背景与需求痛点智能电子指纹锁作为智能家居的核心入口,近年来市场规模持续增长,用户对产品的功能性、安全性和设计紧凑性提出更高要求:极致空间利用率:锁体内部PCB空间有限,需高度集成化设计。语音交互需求:操作引导(如指纹识别状态、低电量提醒)、安全告警(防撬、试错报警)等语音反馈。智能化扩展能力:集成传感器以增强安全性(如温度监测、防撬检测)和用户体验。成本与可靠性平衡:在复杂环境下确保低功耗、高稳定性,同时控制硬件成本。WTV380-P(QFN32)语音芯片凭借4mm×4mm超小封装、多传
    广州唯创电子 2025-03-13 09:24 41浏览
  • 在海洋监测领域,基于无人艇能够实现高效、实时、自动化的海洋数据采集,从而为海洋环境保护、资源开发等提供有力支持。其中,无人艇的控制算法训练往往需要大量高质量的数据支持。然而,海洋数据采集也面临数据噪声和误差、数据融合与协同和复杂海洋环境适应等诸多挑战,制约着无人艇技术的发展。针对这些挑战,我们探索并推出一套基于多传感器融合的海洋数据采集系统,能够高效地采集和处理海洋环境中的多维度数据,为无人艇的自主航行和控制算法训练提供高质量的数据支持。一、方案架构无人艇要在复杂海上环境中实现自主导航,尤其是完
    康谋 2025-03-13 09:53 44浏览
  • 在追求更快、更稳的无线通信路上,传统射频架构深陷带宽-功耗-成本的“不可能三角”:带宽每翻倍,系统复杂度与功耗增幅远超线性增长。传统方案通过“分立式功放+多级变频链路+JESD204B 接口”的组合试图平衡性能与成本,却难以满足实时性严苛的超大规模 MIMO 通信等场景需求。在此背景下,AXW49 射频开发板以“直采+异构”重构射频范式:基于 AMD Zynq UltraScale+™ RFSoC Gen3XCZU49DR 芯片的 16 通道 14 位 2.5GSPS ADC 与 16
    ALINX 2025-03-13 09:27 32浏览
  •        随着人工智能算力集群的爆发式增长,以及5.5G/6G通信技术的演进,网络数据传输速率的需求正以每年30%的速度递增。万兆以太网(10G Base-T)作为支撑下一代数据中心、高端交换机的核心组件,其性能直接决定了网络设备的稳定性与效率。然而,万兆网络变压器的技术门槛极高:回波损耗需低于-20dB(比千兆产品严格30%),耐压值需突破1500V(传统产品仅为1000V),且需在高频信号下抑制电磁干扰。全球仅有6家企业具备规模化量产能力,而美信科
    中科领创 2025-03-13 11:24 40浏览
  • 2025年,科技浪潮汹涌澎湃的当下,智能数字化变革正进行得如火如荼,从去年二季度开始,触觉智能RK3562核心板上市以来,受到了火爆的关注,上百家客户选用了此方案,也获得了众多的好评与认可,为客户的降本增效提供了广阔的空间。随着原厂的更新,功能也迎来了一波重大的更新,无论是商业级(RK3562)还是工业级(RK3562J),都可支持NPU和2×CAN,不再二选一。我们触觉智能做了一个艰难又大胆的决定,为大家带来两大重磅福利,请继续往下看~福利一:RK3562核心板149元特惠再续,支持2×CAN
    Industio_触觉智能 2025-03-12 14:45 26浏览
  • 北京时间3月11日,国内领先的二手消费电子产品交易和服务平台万物新生(爱回收)集团(纽交所股票代码:RERE)发布2024财年第四季度和全年业绩报告。财报显示,2024年第四季度万物新生集团总收入48.5亿元,超出业绩指引,同比增长25.2%。单季non-GAAP经营利润1.3亿元(non-GAAP口径,即经调整口径,均不含员工股权激励费用、无形资产摊销及因收购产生的递延成本,下同),并汇报创历史新高的GAAP净利润7742万元,同比增长近27倍。总览全年,万物新生总收入同比增长25.9%达到1
    华尔街科技眼 2025-03-13 12:23 47浏览
  • 文/Leon编辑/cc孙聪颖作为全球AI领域的黑马,DeepSeek成功搅乱了中国AI大模型市场的格局。科技大厂们选择合作,接入其模型疯抢用户;而AI独角兽们则陷入两难境地,上演了“Do Or Die”的抉择。其中,有着“大模型六小虎”之称的六家AI独角兽公司(智谱AI、百川智能、月之暗面、MiniMax、阶跃星辰及零一万物),纷纷开始转型:2025年伊始,李开复的零一万物宣布转型,不再追逐超大模型,而是聚焦AI商业化应用;紧接着,消息称百川智能放弃B端金融市场,聚焦AI医疗;月之暗面开始削减K
    华尔街科技眼 2025-03-12 17:37 145浏览
  • 文/杜杰编辑/cc孙聪颖‍主打影像功能的小米15 Ultra手机,成为2025开年的第一款旗舰机型。从发布节奏上来看,小米历代Ultra机型,几乎都选择在开年发布,远远早于其他厂商秋季主力机型的发布时间。这毫无疑问会掀起“Ultra旗舰大战”,今年影像手机将再次被卷上新高度。无意臆断小米是否有意“领跑”一场“军备竞赛”,但各种复杂的情绪难以掩盖。岁岁年年机不同,但将2-3年内记忆中那些关于旗舰机的发布会拼凑起来,会发现,包括小米在内,旗舰机的革新点,除了摄影参数的不同,似乎没什么明显变化。贵为旗
    华尔街科技眼 2025-03-13 12:30 60浏览
  • 曾经听过一个“隐形经理”的故事:有家公司,新人进来后,会惊讶地发现老板几乎从不在办公室。可大家依旧各司其职,还能在关键时刻自发协作,把项目完成得滴水不漏。新员工起初以为老板是“放羊式”管理,结果去茶水间和老员工聊过才发现,这位看似“隐形”的管理者其实“无处不在”,他提前铺好了企业文化、制度和激励机制,让一切运行自如。我的观点很简单:管理者的最高境界就是——“无为而治”。也就是说,你的存在感不需要每天都凸显,但你的思路、愿景、机制早已渗透到组织血液里。为什么呢?因为真正高明的管理,不在于事必躬亲,
    优思学院 2025-03-12 18:24 81浏览
  • DeepSeek自成立之初就散发着大胆创新的气息。明明核心开发团队只有一百多人,却能以惊人的效率实现许多大厂望尘莫及的技术成果,原因不仅在于资金或硬件,而是在于扁平架构携手塑造的蜂窝创新生态。创办人梁文锋多次强调,与其与大厂竞争一时的人才风潮,不如全力培养自家的优质员工,形成不可替代的内部生态。正因这样,他对DeepSeek内部人才体系有着一套别具一格的见解。他十分重视中式教育价值,因而DeepSeek团队几乎清一色都是中国式学霸。许多人来自北大清华,或者在各种数据比赛中多次获奖,可谓百里挑一。
    优思学院 2025-03-13 12:15 47浏览
  • 引言汽车行业正经历一场巨变。随着电动汽车、高级驾驶辅助系统(ADAS)和自动驾驶技术的普及,电子元件面临的要求从未如此严格。在这些复杂系统的核心,存在着一个看似简单却至关重要的元件——精密电阻。贞光科技代理品牌光颉科技的电阻选型过程,特别是在精度要求高达 0.01% 的薄膜和厚膜技术之间的选择,已成为全球汽车工程师的关键决策点。当几毫欧姆的差异可能影响传感器的灵敏度或控制系统的精确性时,选择正确的电阻不仅仅是满足规格的问题——它关系到车辆在极端条件下的安全性、可靠性和性能。在这份全面指南中,我们
    贞光科技 2025-03-12 17:25 92浏览
  • 一、行业背景与用户需求随着健康消费升级,智能眼部按摩仪逐渐成为缓解眼疲劳、改善睡眠的热门产品。用户对这类设备的需求不再局限于基础按摩功能,而是追求更智能化、人性化的体验,例如:语音交互:实时反馈按摩模式、操作提示、安全提醒。环境感知:通过传感器检测佩戴状态、温度、压力等,提升安全性与舒适度。低功耗长续航:适应便携场景,延长设备使用时间。高性价比方案:在控制成本的同时实现功能多样化。针对这些需求,WTV380-8S语音芯片凭借其高性能、多传感器扩展能力及超高性价比,成为眼部按摩仪智能化升级的理想选
    广州唯创电子 2025-03-13 09:26 33浏览
  • 前言在快速迭代的科技浪潮中,汽车电子技术的飞速发展不仅重塑了行业的面貌,也对测试工具提出了更高的挑战与要求。作为汽车电子测试领域的先锋,TPT软件始终致力于为用户提供高效、精准、可靠的测试解决方案。新思科技出品的TPT软件迎来了又一次重大更新,最新版本TPT 2024.12将进一步满足汽车行业日益增长的测试需求,推动汽车电子技术的持续革新。基于当前汽车客户的实际需求与痛点,结合最新的技术趋势,对TPT软件进行了全面的优化与升级。从模型故障注入测试到服务器函数替代C代码函数,从更准确的需求链接到P
    北汇信息 2025-03-13 14:43 40浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦