27服务用于安全验证,流程如下:
1)向ECU请求“Seed”(通常是一个与时间相关的伪随机数);
2)ECU向诊断仪发送“Seed”;
3)向ECU发送“Key” (根据请求得到的Seed和一个本地的密码进行计算得来);
4)ECU判断诊断仪发来的“Key”是否有效;
1、Request message:
Sub-function parameter:
2、Positive Response message:
3、Negative Response codes (NRC_):
4、Example #1 - server is in a “locked” state:
Step #1:
Request the Seed:
0x727 02 27 01 [00 00 00 00 00]
Positive Response:
0x7A7 04 67 01 36 57 [00 00 00]
Step #2:
Send the Key:
0x727 04 27 02 C9 A9 [00 00 00]
Positive Response:
0x7A7 02 67 02 [00 00 00 00 00]
Example #2 - server is in an “unlocked” state:
Request the Seed:
0x727 02 27 01 [00 00 00 00 00]
Positive Response:
0x7A7 04 67 01 00 00 [00 00 00]