在线观看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刷寫前置基礎知識

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

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

    關注

    114

    文章

    16830

    瀏覽量

    182176
  • EEPROM
    +關注

    關注

    9

    文章

    1061

    瀏覽量

    82979
  • ASCII
    +關注

    關注

    5

    文章

    172

    瀏覽量

    35545
  • ecu
    ecu
    +關注

    關注

    14

    文章

    904

    瀏覽量

    55299

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    Proteus涉及的基本概念

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

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

    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 ?2094次閱讀
    無線傳感器網絡<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.9w次閱讀
    <b class='flag-5'>UDS</b>常用診斷服務

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

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

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

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

    汽車UDS協議棧與XCP協議棧

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

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

    TOSUNECU診斷與刷寫解決方案ECU(ElectronicControlUnit)是汽車電子控制系統的核心部件,負責監控和控制汽車各個系統的運行。而診斷是汽車ECU的一項重要功能,當車輛在運行
    的頭像 發表于 10-26 08:02 ?818次閱讀
    同星ECU診斷與<b class='flag-5'>刷寫</b>解決方案:降低了開發ECU<b class='flag-5'>刷寫</b>軟件的難度!

    TL1011的FastLIN模式高速刷寫配置與應用

    TOSUN同星最新發布的一款TL1011設備,不僅支持LIN2.2協議下的LIN通信與仿真,而且重點支持FastLIN模式,速率可支持到200Kbps,通過FastLIN模式可以極大提升LIN刷寫
    的頭像 發表于 02-07 20:04 ?217次閱讀
    TL1011的FastLIN模式高速<b class='flag-5'>刷寫</b>配置與應用
    主站蜘蛛池模板: 2021久久精品国产99国产精品 | 九九热在线免费观看 | 亚洲丰满熟妇毛片在线播放 | 女色专区 | 加勒比一本一道在线 | freesexvideo性欧美医生护士 | 日韩毛片免费线上观看 | 国产精品怡红院永久免费 | 女同国产 | 91中文在线 | 毛片小视频 | 久久sp| 国产精品露脸脏话对白 | 国产伦精品一区二区三区免 | 国内精品第一页 | 91男女视频| 嫩草影院久久国产精品 | 91视频免费观看 | 天天看片中文字幕 | 亚洲成人激情片 | h网站在线免费观看 | 国模大尺度人体一区 | 亚洲香蕉电影 | 种子在线搜索bt | 福利社91| 丁香婷婷啪啪 | 在线亚洲免费 | 免费精品美女久久久久久久久 | 激情com| 丁香花五月天婷婷 | 日本高清免费一本视频在线观看 | 免费级毛片 | 欧美经典三级春潮烂漫海棠红 | 国产美女视频爽爽爽 | 亚洲美女精品 | 午夜日本一区二区三区 | 欧美黄色大片免费观看 | 综合色视频 | 在线观看黄色x视频 | 精品四虎免费观看国产高清 | 免费高清视频免费观看 |