前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UDS诊断之27服务

UDS诊断之27服务

作者头像
xbai921031
发布2022-05-25 15:16:00
2.9K0
发布2022-05-25 15:16:00
举报
文章被收录于专栏:汽车软件工程师

SecurityAccess(0x27)—— 安全访问

这个服务的目的是为那些限制访问,以及和排放、安全相关的一些服务和数据提供一些访问权限来保护数据。

此服务执行步骤如下:

(1)Client请求一个种子(Seed);

(2)Server发送种子(Seed);

(3)Client再根据相应算法算出一个匹配这个种子(Seed)的钥匙(Key)并发送给Server;

(4)Server也根据相同算法算出一个钥匙(Key)与Client发送过来的Key进行对比,一致则解锁。

请求Seed的子功能发送的参数一定是奇数,而应答发送Seed的子功能参数则是这个奇数+1。只有当前请求的Seed所在安全等级的功能才可以被激活,其他安全等级的会被上锁。

1.请求报文定义

(1)Sub-function为请求Seed

图1 请求报文格式(1)

(2)Sub-function为发送Key

图2 请求报文格式(2)

(3)Sub-function参数定义

图3 Sub-function参数定义

2.响应报文定义

响应报文数据参数定义:

图4 数据参数定义

这里Key的计算方法是自定的,没有统一算法。

(1)肯定响应

图5 肯定响应报文格式

肯定响应参数定义:

图6 肯定响应参数

(2)否定响应

支持的NRC(Negative Response Code)如下图所示:

图7 支持的NRC

3.示例

(1)Server在“Locked”状态

Step1:请求Seed

发送请求:27 01(0x01表示请求Seed)

肯定响应:67 01 36 57(0x36和0x57就是Seed,前面是高位后面是低位)

Step2:发送Key

发送请求:27 02 C9 A9(0x02表示发送Key

肯定响应:67 02

(2)Server在“Unlocked”状态

请求Seed

发送请求:27 01(0x01表示请求Seed)

肯定响应:67 01 00 00(这里Seed全为0是因为此时的安全等级已经是解锁状态,只对请求进行肯定响应不再发Seed)

结束歌曲又来了,各位读者晚安 o(* ̄▽ ̄*)ブ

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击的程序喵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档