客戶端使用SecurityAccess Service請求安全解鎖服務(wù)端,SecurityAccess Service用于將客戶端的數(shù)據(jù)上傳到服務(wù)端或者將服務(wù)器的數(shù)據(jù)下載到服務(wù)端時候的安全訪問。
客戶端使用SecurityAccess Service請求安全解鎖服務(wù)端流程如下所示:
第1步:客戶端發(fā)送seed請求;
第2步:服務(wù)端發(fā)出seed;
第3步:客戶端發(fā)送key密鑰,依據(jù)服務(wù)端發(fā)出的seed進(jìn)行處理;
第4步:服務(wù)端解析客戶端發(fā)過來的key密鑰,如果無誤則完成安全解鎖功能。
1
診斷請求
客戶端發(fā)送seed請求協(xié)議:0X27 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k數(shù)據(jù))。
其中:
0X27是服務(wù)ID(SID),1字節(jié);
0X**是服務(wù)的子功能,當(dāng)requestSeed為奇數(shù)時發(fā)送send命令,范圍為:0X01~0X7F中的奇數(shù),1字節(jié);
0X&&是可選項,用于在請求種子信息時將數(shù)據(jù)傳輸?shù)椒?wù)器,它可以包含服務(wù)端中驗證的客戶端標(biāo)識,長度不固定。
客戶端發(fā)送key密鑰協(xié)議:0X27 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k數(shù)據(jù))。
其中:
0X27是服務(wù)ID(SID),1字節(jié);
0X**是服務(wù)的子功能,當(dāng)sendKey為偶數(shù)時發(fā)送key密鑰命令,范圍為:0X01~0X7F中的偶數(shù),1字節(jié);
0X&&的值是通過將獲取服務(wù)端發(fā)出seed數(shù)值進(jìn)行安全算法生成的,所以這個值是隨著服務(wù)端發(fā)出seed數(shù)值的變化而變化,長度不固定。
在ISO 14229-1-2020協(xié)議中規(guī)定了各類requestSeed和sendKey的意義和使用場景,如下所示:
標(biāo)準(zhǔn)中也規(guī)定了seed請求和key密鑰的對應(yīng)關(guān)系:
2
診斷響應(yīng)
診斷響應(yīng)有肯定響應(yīng)和否定響應(yīng)兩種類型。
2.1、肯定響應(yīng)
肯定響應(yīng)表示服務(wù)端回復(fù)客戶端請求成功,響應(yīng)協(xié)議:0X67 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k數(shù)據(jù))。
其中:
0X67是響應(yīng)服務(wù)的SID,相當(dāng)于0X27+0X40,1字節(jié);
0X**是響應(yīng)服務(wù)的子功能,范圍為:0X00~0X7F,1字節(jié)。例如,客戶端使用0X01子服務(wù),此時肯定響應(yīng)的子服務(wù)就是0X01;
0X&&的存在取決于securityAccessType參數(shù),seed參數(shù)是服務(wù)端發(fā)來的數(shù)據(jù),客戶端在安全訪問服務(wù)端時需要使用該值計算密鑰,長度不固定。
2.2、否定響應(yīng)
否定響應(yīng)表示客戶端或者服務(wù)端存在問題,否定響應(yīng)會提示失敗原因。
響應(yīng)協(xié)議:0X7F 0X** 0X&&(A_Data.A_PCI.NR_SI、A_Data.A_PCI. SI和A_Data.Parameter 1數(shù)據(jù))。
其中:
0X7F是否定響應(yīng)固定數(shù)值,1字節(jié);
0X**是診斷服務(wù)ID(SID),本篇博文使用的是0X27服務(wù),則否定響應(yīng)會返回0X27,1字節(jié);
0X&&是NRC錯誤碼,描述了返回錯誤的原因,1字節(jié)。
SecurityAccess Service(SID:0X27)有8種類型錯誤,如下所示:
審核編輯:劉清
-
PCI
+關(guān)注
關(guān)注
5文章
678瀏覽量
131415 -
SID
+關(guān)注
關(guān)注
0文章
16瀏覽量
3135
原文標(biāo)題:詳解UDS CAN診斷:SecurityAccess Service(SID:0X27)
文章出處:【微信號:美男子玩編程,微信公眾號:美男子玩編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
MPEG基礎(chǔ)理論和協(xié)議分析
1這個藍(lán)牙協(xié)議棧有人能稍微講解下嗎,相互之間的依賴關(guān)系是什么 2profile和attibute有什么區(qū)別 3服務(wù)和協(xié)議區(qū)別在哪
串口硬件和協(xié)議的相關(guān)內(nèi)容
NUC980網(wǎng)口接收MAC=0x01-0x0E-0xCF-0x00-0x00-0x00的問題求解
NUC980網(wǎng)口接收MAC=0x01-0x0E-0xCF-0x00-0x00-0x00在哪里禁止插入?
AD9984A 如何去設(shè)置各個寄存器以便能讀出0x26,0x27的Hsyncs per Vsync的值?
"對DDR參數(shù)和協(xié)議進(jìn)行測量和調(diào)試的技巧"
Web Service的架構(gòu)與協(xié)議

標(biāo)準(zhǔn)CANBUS協(xié)議鏈路的詳細(xì)資料講解
詳細(xì)講解DiagnosticSessionControl Service的特性和協(xié)議

評論