[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
1158 1
|
安全
[UDS] --- TesterPresent 0x3E
[UDS] --- TesterPresent 0x3E
582 1
|
边缘计算 网络协议 网络架构
DoIP看这篇就够了,吐血整理
DoIP看这篇就够了,吐血整理
DoIP看这篇就够了,吐血整理
|
数据格式
一文读懂A2L文件和ASAP2 Studio的使用
一文读懂A2L文件和ASAP2 Studio的使用
一文读懂A2L文件和ASAP2 Studio的使用
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
353 0
|
Linux 数据库
Linux内核中的锁机制:保障并发操作的数据一致性####
【10月更文挑战第29天】 在多线程编程中,确保数据一致性和防止竞争条件是至关重要的。本文将深入探讨Linux操作系统中实现的几种关键锁机制,包括自旋锁、互斥锁和读写锁等。通过分析这些锁的设计原理和使用场景,帮助读者理解如何在实际应用中选择合适的锁机制以优化系统性能和稳定性。 ####
312 6
|
存储 监控 网络虚拟化
|
JavaScript 前端开发 Java
驼峰命名规范及其在代码可读性中的重要性
驼峰命名规范及其在代码可读性中的重要性
661 15