[UDS] --- SecurityAccess 0x27 service

简介: [UDS] --- SecurityAccess 0x27 service

1 0x27安全访问原理

为什么需要安全访问?因为在下载/上传的诊断服务例行程序或数据进入服务器并从服务器读取特定的内存位置的情况是可能需要安全访问。 不正确的例程或数据下载到服务器中可能损坏电子设备或其他车辆部件,或冒着车辆遵守排放,安全或安全标准。所以,安全访问还是很重要的。

安全访问原理如下图:

Tester: request seed : 27 + xx

ECU: response seed : 67 + xx + seed

Tester: send key : 27 + yy + key , 其中yy = xx + 1

ECU: response key : 67 + yy

实例如下:

Tester: 02 27 05 00 00 00 00 00 安全访问,05子功能

ECU: 06 67 05 08 27 11 F0 00 肯定响应,回复了对应安全级别的种子

Tester: 06 27 06 FF FF FF FF 00 发送密钥,4个FF。注意06是与05成对使用的。

ECU: 03 7F 27 78 00 00 00 00 若为否定响应,7F+27+NRC

ECU: 02 67 06 00 00 00 00 00 若为肯定响应,通过安全校验

2 相关规定

  • 种子要避免出现0x00,0xFF,取随机值
  • 同一时刻,仅可允许解锁一个安全等级,当从某一安全等级A进入到另一安全等级B时,解锁B并上索A
  • 当已解锁的情况下,继续请求种子,ECU回复全0种子表示已经解锁
  • 安全等级的数字为任意分配,无优先级之分
  • “请求种子” - “返回种子” - “发送密钥” - “响应结果”,这一套流程为强制的,步骤出错返回NRC=24

3 相关NRC

  • NRC = 35, key无效
  • NRC = 36,超出密钥访问次数限制
  • NRC = 37, 延时未到
  • NRC = 24,请求序列错误
相关文章
|
存储 安全 算法
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
|
传感器 安全 内存技术
[UDS] --- RoutineCommunicationControl 0x31
[UDS] --- RoutineCommunicationControl 0x31
1584 1
|
边缘计算 网络协议 网络架构
DoIP看这篇就够了,吐血整理
DoIP看这篇就够了,吐血整理
DoIP看这篇就够了,吐血整理
|
监控 网络架构
CAN-TP传输协议详解
CAN-TP传输协议详解
CAN-TP传输协议详解
|
数据格式
一文读懂A2L文件和ASAP2 Studio的使用
一文读懂A2L文件和ASAP2 Studio的使用
一文读懂A2L文件和ASAP2 Studio的使用
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
422 0
|
开发工具 git
Git出现MERGING状态
Git合并时有冲突,出现MERGING状态
7974 0
|
JavaScript 前端开发 Java
驼峰命名规范及其在代码可读性中的重要性
驼峰命名规范及其在代码可读性中的重要性
744 15
[UDS] --- DiagnosticSessionControl 0x10 service
[UDS] --- DiagnosticSessionControl 0x10 service
1862 0