客戶端使用SecurityAccess Service請(qǐng)求安全解鎖服務(wù)端,SecurityAccess Service用于將客戶端的數(shù)據(jù)上傳到服務(wù)端或者將服務(wù)器的數(shù)據(jù)下載到服務(wù)端時(shí)候的安全訪問(wèn)。
客戶端使用SecurityAccess Service請(qǐng)求安全解鎖服務(wù)端流程如下所示:
第1步:客戶端發(fā)送seed請(qǐng)求;
第2步:服務(wù)端發(fā)出seed;
第3步:客戶端發(fā)送key密鑰,依據(jù)服務(wù)端發(fā)出的seed進(jìn)行處理;
第4步:服務(wù)端解析客戶端發(fā)過(guò)來(lái)的key密鑰,如果無(wú)誤則完成安全解鎖功能。
1
診斷請(qǐng)求
客戶端發(fā)送seed請(qǐng)求協(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ù)時(shí)發(fā)送send命令,范圍為:0X01~0X7F中的奇數(shù),1字節(jié);
0X&&是可選項(xiàng),用于在請(qǐng)求種子信息時(shí)將數(shù)據(jù)傳輸?shù)椒?wù)器,它可以包含服務(wù)端中驗(yàn)證的客戶端標(biāo)識(shí),長(zhǎng)度不固定。
客戶端發(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ù)時(shí)發(fā)送key密鑰命令,范圍為:0X01~0X7F中的偶數(shù),1字節(jié);
0X&&的值是通過(guò)將獲取服務(wù)端發(fā)出seed數(shù)值進(jìn)行安全算法生成的,所以這個(gè)值是隨著服務(wù)端發(fā)出seed數(shù)值的變化而變化,長(zhǎng)度不固定。
在ISO 14229-1-2020協(xié)議中規(guī)定了各類requestSeed和sendKey的意義和使用場(chǎng)景,如下所示:
標(biāo)準(zhǔn)中也規(guī)定了seed請(qǐng)求和key密鑰的對(duì)應(yīng)關(guān)系:
2
診斷響應(yīng)
診斷響應(yīng)有肯定響應(yīng)和否定響應(yīng)兩種類型。
2.1、肯定響應(yīng)
肯定響應(yīng)表示服務(wù)端回復(fù)客戶端請(qǐng)求成功,響應(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ù),此時(shí)肯定響應(yīng)的子服務(wù)就是0X01;
0X&&的存在取決于securityAccessType參數(shù),seed參數(shù)是服務(wù)端發(fā)來(lái)的數(shù)據(jù),客戶端在安全訪問(wèn)服務(wù)端時(shí)需要使用該值計(jì)算密鑰,長(zhǎng)度不固定。
2.2、否定響應(yīng)
否定響應(yīng)表示客戶端或者服務(wù)端存在問(wèn)題,否定響應(yīng)會(huì)提示失敗原因。
響應(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)會(huì)返回0X27,1字節(jié);
0X&&是NRC錯(cuò)誤碼,描述了返回錯(cuò)誤的原因,1字節(jié)。
SecurityAccess Service(SID:0X27)有8種類型錯(cuò)誤,如下所示:
審核編輯:劉清
-
PCI
+關(guān)注
關(guān)注
4文章
672瀏覽量
130492 -
SID
+關(guān)注
關(guān)注
0文章
15瀏覽量
3060
原文標(biāo)題:詳解UDS CAN診斷:SecurityAccess Service(SID:0X27)
文章出處:【微信號(hào):美男子玩編程,微信公眾號(hào):美男子玩編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
基于DWC2的USB驅(qū)動(dòng)開(kāi)發(fā)-0x03 DWC2 USB2.0 IP 架構(gòu)介紹之接口和協(xié)議時(shí)序
![基于DWC2的USB驅(qū)動(dòng)開(kāi)發(fā)-<b class='flag-5'>0x</b>03 DWC2 USB2.0 IP 架構(gòu)介紹之接口<b class='flag-5'>和協(xié)議</b>時(shí)序](https://file1.elecfans.com//web2/M00/82/A3/wKgaomRbSY6ABiCoAAAnoBRsoQY430.png)
MPEG基礎(chǔ)理論和協(xié)議分析
1這個(gè)藍(lán)牙協(xié)議棧有人能稍微講解下嗎,相互之間的依賴關(guān)系是什么 2profile和attibute有什么區(qū)別 3服務(wù)和協(xié)議區(qū)別在哪
串口硬件和協(xié)議的相關(guān)內(nèi)容
求助,求CH58x BLE協(xié)議棧子程序庫(kù)說(shuō)明和協(xié)議棧資料
NUC980網(wǎng)口接收MAC=0x01-0x0E-0xCF-0x00-0x00-0x00的問(wèn)題求解
NUC980網(wǎng)口接收MAC=0x01-0x0E-0xCF-0x00-0x00-0x00在哪里禁止插入?
AD9984A 如何去設(shè)置各個(gè)寄存器以便能讀出0x26,0x27的Hsyncs per Vsync的值?
"對(duì)DDR參數(shù)和協(xié)議進(jìn)行測(cè)量和調(diào)試的技巧"
Web Service的架構(gòu)與協(xié)議
![Web <b class='flag-5'>Service</b>的架構(gòu)與<b class='flag-5'>協(xié)議</b>](https://file.elecfans.com/web2/M00/49/03/pYYBAGKhtDOAYSl2AAAPoJH84_M242.jpg)
標(biāo)準(zhǔn)CANBUS協(xié)議鏈路的詳細(xì)資料講解
詳細(xì)講解DiagnosticSessionControl Service的特性和協(xié)議
![<b class='flag-5'>詳細(xì)</b><b class='flag-5'>講解</b>DiagnosticSessionControl <b class='flag-5'>Service</b>的<b class='flag-5'>特性</b><b class='flag-5'>和協(xié)議</b>](https://file.elecfans.com/web2/M00/7E/37/pYYBAGOAZLiAUe6tAADBA5haWAg274.jpg)
評(píng)論