詳解UDS CAN診斷:SecurityAccess Service(SID:0X27)
診斷和通信管理功能單元(Diagnostic and communication management functional unit)包含10種服務(wù),本篇博文將詳細講解SecurityAccess Service(SID:0X27)的特性和協(xié)議。
本篇博文素材來(lái)源于:ISO 14229-1-2020:規范和要求。
在學(xué)習本篇博文之前推薦學(xué)習:
詳解UDS CAN診斷:什么是UDS(ISO 14229)診斷?
詳解UDS CAN診斷:DiagnosticSessionControl Service(SID:0X10)
很多關(guān)聯(lián)知識已經(jīng)詳細講解過(guò),這里不再贅述了。
客戶(hù)端使用SecurityAccess Service請求安全解鎖服務(wù)端,SecurityAccess Service用于將客戶(hù)端的數據上傳到服務(wù)端或者將服務(wù)器的數據下載到服務(wù)端時(shí)候的安全訪(fǎng)問(wèn)。
客戶(hù)端使用SecurityAccess Service請求安全解鎖服務(wù)端流程如下所示:
第1步:客戶(hù)端發(fā)送seed請求;
第2步:服務(wù)端發(fā)出seed;
第3步:客戶(hù)端發(fā)送key密鑰,依據服務(wù)端發(fā)出的seed進(jìn)行處理;
第4步:服務(wù)端解析客戶(hù)端發(fā)過(guò)來(lái)的key密鑰,如果無(wú)誤則完成安全解鎖功能。
1
診斷請求
客戶(hù)端發(fā)送seed請求協(xié)議:0X27 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k數據)。

其中:
0X27是服務(wù)ID(SID),1字節;
0X**是服務(wù)的子功能,當requestSeed為奇數時(shí)發(fā)送send命令,范圍為:0X01~0X7F中的奇數,1字節;
0X&&是可選項,用于在請求種子信息時(shí)將數據傳輸到服務(wù)器,它可以包含服務(wù)端中驗證的客戶(hù)端標識,長(cháng)度不固定。
客戶(hù)端發(fā)送key密鑰協(xié)議:0X27 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k數據)。

其中:
0X27是服務(wù)ID(SID),1字節;
0X**是服務(wù)的子功能,當sendKey為偶數時(shí)發(fā)送key密鑰命令,范圍為:0X01~0X7F中的偶數,1字節;
0X&&的值是通過(guò)將獲取服務(wù)端發(fā)出seed數值進(jìn)行安全算法生成的,所以這個(gè)值是隨著(zhù)服務(wù)端發(fā)出seed數值的變化而變化,長(cháng)度不固定。
在ISO 14229-1-2020協(xié)議中規定了各類(lèi)requestSeed和sendKey的意義和使用場(chǎng)景,如下所示:

標準中也規定了seed請求和key密鑰的對應關(guān)系:

2
診斷響應
診斷響應有肯定響應和否定響應兩種類(lèi)型。
2.1、肯定響應
肯定響應表示服務(wù)端回復客戶(hù)端請求成功,響應協(xié)議:0X67 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k數據)。

其中:
0X67是響應服務(wù)的SID,相當于0X27+0X40,1字節;
0X**是響應服務(wù)的子功能,范圍為:0X00~0X7F,1字節。例如,客戶(hù)端使用0X01子服務(wù),此時(shí)肯定響應的子服務(wù)就是0X01;
0X&&的存在取決于securityAccessType參數,seed參數是服務(wù)端發(fā)來(lái)的數據,客戶(hù)端在安全訪(fǎng)問(wèn)服務(wù)端時(shí)需要使用該值計算密鑰,長(cháng)度不固定。
2.2、否定響應
否定響應表示客戶(hù)端或者服務(wù)端存在問(wèn)題,否定響應會(huì )提示失敗原因。
響應協(xié)議:0X7F 0X** 0X&&(A_Data.A_PCI.NR_SI、A_Data.A_PCI. SI和A_Data.Parameter 1數據)。
其中:
0X7F是否定響應固定數值,1字節;
0X**是診斷服務(wù)ID(SID),本篇博文使用的是0X27服務(wù),則否定響應會(huì )返回0X27,1字節;
0X&&是NRC錯誤碼,描述了返回錯誤的原因,1字節。
SecurityAccess Service(SID:0X27)有8種類(lèi)型錯誤,如下所示:


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。