在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

講解UDS刷寫中涉及的重要基礎概念

jf_EksNQtU6 ? 來源:橋的斷想 ? 2023-05-23 10:11 ? 次閱讀

服務ID匯總

首先總體看一下刷寫涉及的服務ID以及在刷寫過程的用途。

診斷服務標識
Service ID
診斷服務
Diagnostic Service
在刷寫過程中的用途
0x10 診斷會話控制 DiagnosticSessionControl 切換到拓展會話檢查刷寫條件、停止一些功能切換到編程會話執行刷寫
0x11 ECU復位 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 描述
默認會話 0x01 ECU啟動后默認進入此會話。只提供基本的診斷服務。
編程會話 0x02 ECU更新應用程序或標定數據時進入此會話。支持與程序更新相關的診斷服務。如0x34、0x36、0x37等。
擴展會話 0x03 除支持默認會話下的診斷服務和功能外,還支持額外的診斷服務。
... ... ...

診斷會話控制服務(0x10)是用于激活控制器各種不同的會話模式 。在固件刷寫中會使用0x10服務在默認會話、編程會話、拓展會話來回切換。

會話保持(3E 00)

此服務用于向單(或多)個服務端指示客戶端仍然與車輛連接,并且維持先前已激活的某些診斷服務和/或通信將保持活動狀態。此服務用于將一個或多個服務端保留在默認會話之外的診斷會話中,通過周期性的發送 3E 實現。

整個刷寫過程中, 刷寫工具要周期性的發送鏈路保持請求, ECU 不需要響應請求信息。如果沒有開啟會話保持,幾秒后ECU就會切回默認會話。

刷寫前需要保持在拓展會話下。

刷寫中需要保持在編程模式下。

27 服務-安全訪問認證流程

安全訪問服務的目的是為保密和排放、安全相關的一些服務和數據提供訪問權限來保護數據。2E(通過DID寫入數據)、2F(通過DID進行輸入輸出控制)、31服務(例程控制)、34服務(請求下載)、36服務(請求上傳)、37服務(數據傳輸)等服務需要經過身份認證。身份認證利用了種子和密鑰之間的關系。服務的示例如下圖所示:

9183bf2c-f894-11ed-90ce-dac502259ad0.jpg

Request Seed:Tester 使用27服務,并攜帶需要解鎖的安全等級 0X 發送給特定的 ECU。

Request Seed Reply : 對應的ECU收到之后,生成4個字節的隨機數 Seed,返回給 Teseter。

Send Key: Tester 拿到Seed后,使用自定義實現的 Seed2Key 算法計算出Key,發送給ECU。Send Key 中的安全訪問級別 0Y 為Request Seed的安全訪問級別的值 +1。例如當請求種子為 27 01 時,發送秘鑰則為 27 02(01+1)。

Send Key Reply : ECU 將收到的 Key 和 自己拿 Seed 作為輸入的 Seed2Key 計算出結果進行對比,然后返回驗證的結果。

Seed2Key 算法

安全訪問中最重要的就是Seed2Key算法,算法通常是一些比較簡單的移位算法,例如下列的算法。

#defineSECURITYCONSTANT  0x464c4147

WORDseedToKey(WORDwSeed,DWORDconstData)
{
DWORDwLastSeed;
WORDwLastKey;
wLastSeed=wSeed;
wLastSeed=(wLastSeed>>5)|(wLastSeed<<23);
?wLastSeed?*=?7;
?wLastSeed?^=?SECURITYCONSTANT;
?wLastKey?=?(WORD)wLastSeed;
?return?wLastKey;
?}

seed2key 接受2個輸入參數 種子安全常量,種子由 ECU 隨機產生;安全常量內置在ECU和診斷儀中,在某種意義上來說安全常量就是密碼。采用同一算法的不同用途的 ECU,通常使用不相同的安全常量。

診斷連接方式

診斷設備與ECU連接有兩種方式,如下圖。

診斷設備連接網關,由網關將消息轉發給ECU;

診斷設備與ECU直連。

91897dc2-f894-11ed-90ce-dac502259ad0.png

固件格式

S-record、Intel Hex、BIN、VBF 是汽車中MCU固件常用的格式,下面簡單介紹一下這幾種格式。了解數據格式有助于固件分析、刷寫安全測試等。

S-record

S-record 是摩托羅拉設計的一種常于MCU內存、EPROM、EEPROM 寫入的文檔格式,S-record 將二進制數據以ASCII字符表示。常用文件后綴名有 SRECORD、SREC、S19、mot。文件格式如下圖。

91912b12-f894-11ed-90ce-dac502259ad0.png

Header Record 文件頭信息,其中記錄有模塊名稱、版本號等;

Data Record 數據記錄,有 S1、S2、S3 三種類型;

Count Record(可選) 包含了先前傳輸的S1、S2、S3記錄的計數;

Termination Record,結束記錄,有 S7、S8、S9 三種類型。

919c8ade-f894-11ed-90ce-dac502259ad0.png

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碼形式存儲的文本文件。

91a53882-f894-11ed-90ce-dac502259ad0.png

BIN

二進制文件,只有固件數據,沒有起始地址、描述信息等。

91aae228-f894-11ed-90ce-dac502259ad0.png

自定義格式

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

文件頭記錄有文件的VBF版本號、軟件版本信息、ECU物理地址、數據起始地址等。

91b2740c-f894-11ed-90ce-dac502259ad0.png

分析工具

srecord

命令行工具 srecord

sudoapt-get install srecord

查看S-record文件信息

fans@fans:~$ srec_infoJKE_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。

91bbba80-f894-11ed-90ce-dac502259ad0.png

專用工具

主機廠或供應商自己開發的專用軟件,如VBF文件查看工具 VBF Tool.

91c2edd2-f894-11ed-90ce-dac502259ad0.png

腳本

根據文件格式定義,編寫腳本解析、提供固件,部分可以在 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:1234type: APP
Network: 0x00000000
Data Format Identifier: 0x00000000
ECU address: 0x000007C6
Frame_format:
Erase frames:
Data blobs:
0x00018000   0x000B256C    e301

Saving:
18000.bin

91ca676a-f894-11ed-90ce-dac502259ad0.gif ? 91d14d28-f894-11ed-90ce-dac502259ad0.png

碼上報名

AES 2023 第四屆中國國際汽車以太網峰會,6月8-9日,上海

更多文章

智能網聯汽車信息安全綜述

華為蔡建永:智能網聯汽車的數字安全和功能安全挑戰與思考

汽車數據合規要點

車載以太網技術發展與測試方法

車載以太網防火墻設計

SOA:整車架構下一代的升級方向

軟件如何「吞噬」汽車?

汽車信息安全 TARA 分析方法實例簡介

汽車FOTA信息安全規范及方法研究

聯合國WP.29車輛網絡安全法規正式發布

滴滴下架,我卻看到數據安全的曙光

特斯拉被約談到車輛遠程升級(OTA)技術的合規

如何通過CAN破解汽

會員權益:(點擊可進入)談思實驗室VIP會員

END

91daf60c-f894-11ed-90ce-dac502259ad0.gif

微信入群

談思實驗室專注智能汽車信息安全、預期功能安全、自動駕駛、以太網等汽車創新技術,為汽車行業提供最優質的學習交流服務,并依托強大的產業及專家資源,致力于打造汽車產業一流高效的商務平臺。

每年談思實驗室舉辦數十場線上線下品牌活動,擁有數十個智能汽車創新技術的精品專題社群,覆蓋BMW、Daimler、PSA、Audi、Volvo、Nissan、廣汽、一汽、上汽、蔚來等近百家國內國際領先的汽車廠商專家,已經服務上萬名智能汽車行業上下游產業鏈從業者。專屬社群有:信息安全、功能安全、自動駕駛、TARA、滲透測試、SOTIF、WP.29、以太網、物聯網安全等,現專題社群仍然開放,入滿即止。

掃描二維碼添加微信,根據提示,可以進入有意向的專題交流群,享受最新資訊及與業內專家互動機會。

91e266ee-f894-11ed-90ce-dac502259ad0.jpg

談思實驗室,為汽車科技賦能,推動產業創新發展!

原文標題:車聯網安全基礎知識之UDS刷寫前置基礎知識

文章出處:【微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16416

    瀏覽量

    178762
  • EEPROM
    +關注

    關注

    9

    文章

    1027

    瀏覽量

    81771
  • ASCII
    +關注

    關注

    5

    文章

    172

    瀏覽量

    35141
  • ecu
    ecu
    +關注

    關注

    14

    文章

    890

    瀏覽量

    54603

原文標題:車聯網安全基礎知識之UDS刷寫前置基礎知識

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于SOA與文件傳輸協議的域控制器升級測試方案

    UDS協議是診斷服務的標準規范,規定了診斷服務的具體命令[2]。使用UDS服務刷寫是目前更新汽車控制器軟件的主要方案。針對域控制器,主要使用DoIP+UDS協議來實現
    發表于 06-28 09:32 ?714次閱讀
    基于SOA與文件傳輸協議的域控制器升級測試方案

    汽車故障診斷UDS網絡層原理講解

    汽車故障診斷 UDS(Unified Diagnostic Service)是利用ECU監測控制系統各組成部分的工作情況,發現故障后自動啟動故障記錄和處理邏輯。
    發表于 01-24 12:37 ?3515次閱讀
    汽車故障診斷<b class='flag-5'>UDS</b>網絡層原理<b class='flag-5'>講解</b>

    Proteus涉及的基本概念

    Proteus涉及的基本概念
    發表于 08-01 20:58

    藍牙Mesh網絡的通信原理,在使用藍牙Mesh開展設計時應掌握的各種重要概念

    本篇講解藍牙Mesh網絡的通信原理以及在使用藍牙Mesh開展設計時應掌握的各種重要概念
    發表于 03-18 08:09

    關于傳輸流以及傳輸流幾個重要概念

    MPEG-2標準簡介以及數字電視功能分析關于傳輸流以及傳輸流幾個重要概念信道解復用器是什么原理?
    發表于 04-21 06:53

    Labview 基于CAN UDS燒錄Hex文件

    本帖最后由 xu391600076 于 2021-8-11 13:18 編輯 1. Hex文件讀取解析并計算CRC-32校驗碼2. UDS服務通訊3. UDS刷寫邏輯過程復制下面這段話,打開閑
    發表于 08-11 11:41

    講解一下A/D和 D/A的基本概念

    文章目錄前言A/D 和 D/A 的基本概念前言今天給大家講解一下,單片機的基礎概念,A/D 和 D/A 的基本概念。A/D 和 D/A 的
    發表于 11-25 06:31

    無線傳感器網絡涉及的7個重要概念

    最近,經常收到很多朋友的咨詢,主要詢問什么是無線傳感器網絡,主要用在什么地方。這里,筆者為大家簡單介紹一下無線傳感器網絡涉及到的幾個概念
    發表于 05-23 14:53 ?2058次閱讀
    無線傳感器網絡<b class='flag-5'>涉及</b>的7個<b class='flag-5'>重要</b><b class='flag-5'>概念</b>

    通信原理的基本概念講解

    通信原理的基本概念講解
    發表于 05-27 14:48 ?17次下載

    UDS診斷協議在純電動汽車電機控制器的應用說明

      針對UDS診斷協議在電動汽車電機控制器的應用問題,利用UDS診斷協議各項服務的功能,同時根據電機控制器的功能需求,實現UDS診斷協議
    發表于 04-02 17:16 ?8次下載

    UDS常用診斷服務

    14229協議,在ISO 14229協議定義了UDS服務用法、服務格式等信息。UDS診斷最主要目的是為了能夠快速準確判斷車輛或者某個控制器的故障以及故障原因,從而為維修提供可靠的依據。 診斷服務概覽
    的頭像 發表于 06-12 10:36 ?1.3w次閱讀
    <b class='flag-5'>UDS</b>常用診斷服務

    應用筆記 | TSMaster使用教程—UDS刷寫流程

    今天給大家介紹基于TSMaster的UDS診斷刷寫流程。基本流程主要分為基本參數配置、刷寫流程兩部分。1基本參數配置1、新建工程打開TSMaster軟件,選擇創建新工程-診斷-UDS
    的頭像 發表于 01-06 09:53 ?4122次閱讀
    應用筆記 | TSMaster使用教程—<b class='flag-5'>UDS</b><b class='flag-5'>刷寫</b>流程

    同星智能為英飛凌TLE989X系列芯片提供刷寫方案

    01方案概述同星智能為英飛凌TLE989X系列芯片提供定制開發的代碼包和刷寫工具,主要包括代碼包、基于TSMaster的刷寫工程、刷寫硬件工具TF1011等。使用TF1011可以不需要英飛凌本身
    的頭像 發表于 10-14 08:21 ?1177次閱讀
    同星智能為英飛凌TLE989X系列芯片提供<b class='flag-5'>刷寫</b>方案

    汽車UDS協議棧與XCP協議棧

    在車輛中進行故障診斷、參數配置和編程等操作。 UDS協議棧通常包含以下功能軟件: 通信層:負責處理UDS協議的通信,包括CAN總線通信、LIN總線通信等。 診斷服務:實現了UDS協議定義的各種診斷服務,如讀取故障碼、清除故障碼、
    的頭像 發表于 10-27 16:35 ?4357次閱讀
    汽車<b class='flag-5'>UDS</b>協議棧與XCP協議棧

    同星ECU診斷與刷寫解決方案:降低了開發ECU刷寫軟件的難度!

    TOSUNECU診斷與刷寫解決方案ECU(ElectronicControlUnit)是汽車電子控制系統的核心部件,負責監控和控制汽車各個系統的運行。而診斷是汽車ECU的一項重要功能,當車輛在運行
    的頭像 發表于 10-26 08:02 ?581次閱讀
    同星ECU診斷與<b class='flag-5'>刷寫</b>解決方案:降低了開發ECU<b class='flag-5'>刷寫</b>軟件的難度!
    主站蜘蛛池模板: 欧美成人生活片| 久久国产精品免费网站| 日本人视频-jlzz jlzz jlzz| sss在线play| 激情六月网| 黄色免费小视频| 国产精品15p| 亚洲午夜日韩高清一区| 五月天婷婷久久| 久热九九| 欧美午夜视频| 国产精品天天看| 欧美一区二区三区男人的天堂| 中文字幕一区在线观看| 精品精品国产自在久久高清| 亚洲三级在线视频| 四大名著成人高h肉版| 一区二区三区影院| 婷婷丁香社区| 女人大毛片一级毛片一| 国产专区日韩精品欧美色| 伊人网在线观看| 韩国午夜影院| 亚洲深夜| 色噜噜噜噜噜在线观看网站| 乱小说录目伦800| 香蕉视频黄色在线观看| 亚洲特黄大黄一级毛片| 色欧美在线| 三级黄色免费| 日本妈妈4| 日本人爽p大片免费看| 经典三级第一页| 亚洲精品午夜久久aaa级久久久| 免费人成黄页在线观看1024| 久久亚洲国产午夜精品理论片| 2022年国产精品久久久久| 5g影院欧美成人免费| 婷婷激情在线| 日日噜噜夜夜狠狠tv视频免费| 国产三级视频|