汽車診斷服務(UDS——0x27服務解析)

目錄

1、服務概述

2、工作原理

3、常用的應用場景

4、子功能

5、請求與響應格式

5、1服務請求

5、2服務肯定響應

5、3服務否定響應

6、延時機制

1、服務概述

  • 該服務對零部件中部分加密的服務進行解密工作
  • 安全訪問的概念使用“種子”和“密鑰”來實現
參數描述
種子4字節數據,由ECU發送給診斷測試工具,又是鑰匙計算的基礎。
鑰匙鑰匙參數是診斷測試工具對種子參數按照特定的算法計算出的結果,長度也為4字節,由診斷測試工具發送給ECU。鑰匙接收后,ECU將接收到的鑰匙與內部計算的鑰匙相比較,相同則解密成功。

2、工作原理

本服務的典型使用示例如下:

  1. 客戶端請求“種子”
  2. 服務器發送“種子”
  3. 客戶端發送“密鑰”
  4. 服務器作出響應,確認“密鑰”有效,并自行解鎖。

3、常用的應用場景

  • 操作控制類:包括輸入輸出控制、例程管理服務等功能。

  • 數據寫入類:例如程序刷寫;生產線上關鍵數據(如版本號或標定信息)的寫入,需通過27級安全認證后方可執行。

  • 數據讀取類:在訪問重要數據時,同樣需要通過安全認證流程。

4、子功能

  • 子功能參數為固定1字節
  • Bit7為抑制肯定響應消息指示位(0:需要肯定響應;1:禁止肯定響應)
  • Bit6——Bit0為子功能參數值
  • 不同安全級別的請求種子和發送密鑰存在固定關系,相鄰的一對奇偶數對應一種安全級別,數字大小并不代表其等級的高低。其中奇數代表請求種子,偶數代表發送密鑰(例:0x01 和 0x02 分別代表一個安全級別的請求種子和發送密鑰)
  • 任何時間都僅有一個安全等級是解鎖的狀態
  • 默認會話下不支持27服務
  • 從一個安全等級接收到另外一個等級的請求并且解鎖成功后,之前的安全等級將被重新鎖定,而由于切換安全等級致使先前解鎖的狀態被鎖定后,其依賴于被鎖定的等級的服務和功能也一并被關閉。
  • 如果被請求的安全等級當前是已經解鎖的狀態,那么在響應種子時,在放種子的位置都放上0,表示已經解鎖了,你不要再請求了。并且實際上種子應該是一個隨機數,一般全0和全F都不允許作為普通種子放到響應里

5、請求與響應格式

5、1服務請求
  • 請求種子服務數據格式:27 + [sub-function]?

注意:

請求種子子服務必須為奇數

securityAccessDataRecord為Client發送給到Server的標識信息,可選,一般不用

  • 發送密鑰服務數據格式:27 + [sub-function] +?[security-Key]

注意:

發送Key子服務必須為偶數

securityKey為Client向Server發送的具體Key值

從表40與表41的解釋說明對比可看出兩者sub-funtion必須存在一個確定的定量關系:即sub-funtion(Request Seed) + 1 = sub-function(Send Key)。
?

5、2服務肯定響應
  • 請求種子服務正響應數據格式:67 + [sub-function]?

注意:27診斷服務的正響應由以下三個部分組成,如下

參數描述
響應SID該參數固定為SID+0x40 = 0x67
sub-function該參數為request seed(如01)或者Send Key(02)的取值
securitySeed該參數僅針對subfunction為Request Seed時才會回復該參數,其他情況下,Server僅會回復前兩個字節(響應?SID + sub-function),其取值范圍只能為0x00-0x7F

5、3服務否定響應
  • 請求種子服務正響應數據格式:7F + 27 +?[NRC]

    注意:如果解鎖失敗,則可通過收到的NRC判斷失敗的原因,27服務常用的NRC如下:

6、延時機制

  • 車輛制造商應選擇是否支持延時計時器
  • 達到車輛制造商規定的錯誤訪問嘗試次數后,應激活延時計時器。
  • 在連續X次請求安全訪問失敗后,需等待Ys之后才能接受下一次的安全訪問請求RequestSeed。(注:X和Y由車輛制造商自行定義)
  • 當測試工具發送一個無效的秘鑰, ECU將返回 NRC 0x35 InvalidKey 。 此時,全訪問錯誤計數器加1(注:該計數器需要存儲并且初始值為0)。
  • 當安全訪問錯誤計數器達到X(即收到X次 InvalidKey ), ECU將返回NRC 0x36且需要等待Y s才能接受下一次的安全訪問請求 Request Seed。 期間任何安全訪問請求 Request Seed 都會被ECU反饋NRC 0x37
  • Ys等待時間結束后,安全訪問錯誤計數器將減1(只減1次),并允許嘗試安全訪問請求 RequestSeed,如果此次請求失敗(由于發送了一個無效的秘鑰),安全訪問錯誤計數器將加1,并再次開啟Ys等待時間。
  • 任何一次ECU被成功解鎖(密鑰有效),失敗計數器都將被重置為零。
  • ECU上電/復位后默認處于閉鎖狀態,需要檢測安全訪問錯誤計數器,若計數器為X,則需要啟動Ys的安全訪問延時時間。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/94919.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/94919.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/94919.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

波蘭密碼破譯機bomba:二戰密碼戰的隱形功臣

本文由「大千AI助手」原創發布,專注用真話講AI,回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我,一起撕掉過度包裝,學習真實的AI技術! 從數學原理到機械奇跡,破解enigma的早期利器 ? 1. bomba概…

【RAGFlow代碼詳解-30】構建系統和 CI/CD

Docker 構建系統 RAGFlow 使用主 Dockerfile 1-214 中定義的復雜多階段 Docker 構建過程,該過程創建應用程序的完整和精簡變體。 多階段構建架構Docker 構建過程 構建過程由 Dockerfile 2-214 中 定義的三個主要階段組成:基礎階段 ( Dockerfi…

rust語言 (1.88) egui (0.32.1) 學習筆記(逐行注釋)(十七)設置主題

設置主題set_visuals ctx.set_visuals(Visuals::dark()); 設置暗色主題ctx.set_visuals(Visuals::light()); 設置亮色主題 fn main() -> eframe::Result<()> {// 配置原生窗口參數let options eframe::NativeOptions::default();eframe::run_simple_native("主題…

Linux入門教程 第十五章 Linux 系統調優工具

文章目錄一、系統調優概述與 CPU 負載查看1.使用 uptime 查看系統負載2.使用 top 按 CPU 使用率排序3.使用 ps 查看 CPU 使用最多的進程4.使用 mpstat 查看 CPU 詳細狀態一、查看內存運行狀態1.使用 free 查看內存使用2.查看 /proc/meminfo 獲取詳細內存信息3.使用 top 按內存使…

【Docker基礎】Docker-compose進階配置:健康檢查與服務就緒

目錄 引言 1 Docker健康檢查基礎概念 1.1 什么是健康檢查 1.2 健康檢查的狀態 2 healthcheck配置詳解 2.1 基本語法 2.2 配置參數解釋 2.3 健康檢查命令的編寫 2.4 健康檢查的工作流程 3 服務依賴與健康檢查 3.1 depends_on的基本用法 3.2 結合健康檢查的依賴 3.3…

Redis大Key處理流程與注意事項

概述 Redis大Key問題是在生產環境中經常遇到的技術挑戰&#xff0c;它可能導致內存占用過高、網絡延遲增加、阻塞其他操作等嚴重問題。本文將深入探討Redis大Key的識別、處理流程以及相關注意事項。 什么是Redis大Key 定義標準 String類型: 單個Key的Value超過10KBHash類型: 單…

領悟8種常見的設計模式

很多 Java 初學者覺得設計模式 “抽象難學”&#xff0c;其實是沒抓住核心邏輯 —— 設計模式不是 “炫技代碼”&#xff0c;而是前輩們總結的 “解決高頻復雜問題的通用思路”&#xff0c;好吧&#xff0c;你可以過一遍了解這些大概是個什么東西不求我們能夠完全理解&#xff…

復雜BI報表SQL

復雜SQL 一行多個人員&#xff0c;平均瓜分總產量。 -- 西寧硅料三期 with b as ( select(row_number() OVER(PARTITION BY t1.tool ORDER BY t1.tool ) - 1) AS help_topic_id from((select1 AS tool union allselect1 AS tool union allselect1 AS tool union allselect1 AS …

bin log 和 redo log有什么區別

問題bin log 和 redo log有什么區別我的回答首先&#xff0c;這兩種日志的作用不同。redo log是InnoDB引擎特有的&#xff0c;主要用于崩潰恢復&#xff0c;保證事務的持久性。而bin log是MySQL服務層的日志&#xff0c;主要用于主從復制和數據恢復。從層次上看&#xff0c;red…

導入文件允許合并表格

本來呢&#xff0c;已經有幾年沒咋寫博客了&#xff0c;但是好像網上沒什么好的合并導入可以抄的&#xff0c;周末加班了一天弄出來了&#xff0c;想一想也不算造輪子&#xff0c;可以露一手出來&#xff0c;最近也挺喜歡寫注釋的&#xff0c;應該方便大家抄的public class Tra…

WebIDEPLOY 技術驅動櫻桃溯源管理系統的價值重塑與落地實踐—— 以櫻桃溯源管理系統構建產業信任體系的路徑探索

一、WebIDEPLOY 技術支撐下的櫻桃溯源系統核心架構櫻桃種植從開花到銷售的全流程數據記錄&#xff0c;需要兼顧專業性與易操作性&#xff0c;WebIDEPLOY 技術以 “零代碼降低門檻、云原生優化成本” 的特性&#xff0c;成為連接數字工具與櫻桃種植的關鍵紐帶。系統核心架構圍繞…

零知開源——基于STM32F407VET6實現ULN2003AN驅動28BYJ-48步進電機控制系統

?零知IDE 是一個真正屬于國人自己的開源軟件平臺&#xff0c;在開發效率上超越了Arduino平臺并且更加容易上手&#xff0c;大大降低了開發難度。零知開源在軟件方面提供了完整的學習教程和豐富示例代碼&#xff0c;讓不懂程序的工程師也能非常輕而易舉的搭建電路來創作產品&am…

如何多個手機設備的實現不同公網IP

為了避免多個手機設備使用相同的公網IP地址導致平臺檢測關聯&#xff0c;可以通過以下方法實現不同公網IP的分配和管理. 一、移動網絡&#xff08;SIM 卡&#xff09;方案 1.移動數據與Wi-Fi切換&#xff1a;通過切換移動數據和不同Wi-Fi網絡&#xff08;如家庭Wi-Fi、公共Wi-F…

沙箱操作指南

這是一份通用且詳細的沙箱操作指南。沙箱(Sandbox)是一種安全隔離環境,常用于測試未經驗證的代碼、軟件、文件或訪問可疑網址,而不會對真實系統造成危害。 本指南將分為以下幾個部分: 沙箱是什么? 為什么需要使用沙箱? 如何使用沙箱?(三種主要類型) 最佳實踐與注意事…

【數字IC后端】引導時鐘樹CTS的生成方向之anchor driver

如何控制數字IC后端CTS的生成方向&#xff1f;我們可以引入anchor driver來實現引導。景芯12nm車規APR實戰中&#xff0c;我們可以看到&#xff0c;絕大部分的sink都受控于xxxx_tessent_occ_clk_cpu_inst/tessent_persistent_cell_clock_out_mux/C10_ctmi_1這個mux&#xff0c;…

「Java EE開發指南」如何使用MyEclipse啟用自動JSP驗證?

自動JSP驗證可以在兩種情況下啟用&#xff0c;在本文中您將學習如何正確使用它。 該特性在MyEclipse中可用。 MyEclipse v2025.1離線版下載 您可以在保存JSP編輯器的內容或執行“Clean”操作時啟用自動JSP驗證。要進行正確的驗證&#xff0c;必須使用完整的JDK JVM啟動MyEcl…

leetcode_73 矩陣置零

1. 題意 給定一個 m x n 的矩陣&#xff0c;如果一個元素為 0 &#xff0c;則將其所在行和列的所有元素都設為 0 。請使用 原地 算法。 2. 題解 想不到O(1)的空間復雜度的做法&#xff0c; 只有抄抄題解這樣子才能維持的了生活。 2.1 暴力 維護兩個標記數組&#xff0c;分…

優雅地實現ChatGPT式的打字機效果:Spring Boot 流式響應

01 引言 之前專門介紹過流式響應的數據的接收、發送以及使用SSE由服務端推送數據的文章&#xff0c;但是要求前端必須使用EventSource訂閱實現。 有沒有通過直接通過瀏覽器訪問或者Fetch API直接調用的方式呢&#xff1f;效果還能和ChatGPT一樣&#xff0c;實現打字機的效果呢&…

Git 刪除文件

在 Git 中&#xff0c;刪除文件同樣被視為一種修改操作。下面我們通過實際操作演示如何刪除文件。假設要刪除文件 file5&#xff0c;如果你直接在文件系統中執行了刪除&#xff1a;這種直接刪除的方式并不會在 Git 中生效&#xff0c;反而會導致工作區與版本庫不一致。使用 git…

虛幻基礎:角色變換角色視角蒙太奇運動

能幫到你的話&#xff0c;就給個贊吧 &#x1f618; 文章目錄角色視角機臂使用pawn控制旋轉&#xff1a;旋轉體將失去作用旋轉體攝像機&#xff1a;可以使用旋轉體控制&#xff1a;pawn不起作用角色變換角色移動&#xff1a;由移動組件控制移動方向&#xff1a;給組件任意一個方…