UDS安全访问之27服务SecurityAccess

安全访问,主要是对客户端访问服务器做了一定的限制,客户端和服务器之间需要通过匹配seed(种子)和key(密钥)来建立安全访问。

安全访问建立的步骤

大致的安全访问步骤如下:

1. 客户端向服务器请求seed

2. 服务器向客户端发送seed

3. 客户端收到seed后根据指定算法计算出key,并发送给服务器;

4. 服务器同样根据seed和指定算法计算出key,并与客户端发送的key进行比对,一致的话则建立安全连接。

CAN报文简单描述

请求seed: 27 01 (03, 05, 07, ..., 41)   - 这里的子功能只能是奇数01 (03, 05, 07, ..., 41)

响应seed: 67 01 (03, 05, 07, ..., 41) xx yy - 这里的xx yy就是seed,其中xx高字节

发送key: 27 02 (04, 06, 07, ..., 42) - 这里的子功能只能是偶数02 (04, 06, 07, ..., 42)

肯定响应:

67 02 (04, 06, 07, ..., 42) - 说明已经建立安全连接

否定响应:

7F 27 24 -  请求错误

...

7F 27 35 - key匹配不上

UDS安全访问算法主要用于解锁车辆中的ECU。安全访问服务通过发送种子请求和发送安全密钥来实现解锁。首先,客户端发送种子请求,该请求包含一个安全访问服务标识符(0x27)。ECU收到种子请求后,会生成一个种子响应帧,其中包含一个种子值。客户端接收到种子响应帧后,通过发送SendKey请求帧,将种子值作为参数进行加密处理,并发送给ECU。ECU收到SendKey请求帧后,会解密种子值,并验证其有效性。如果验证成功,ECU将发送一个SendKey响应帧,表示解锁成功。如果验证失败,ECU将发送一个否定响应消息,表示解锁失败。 这是UDS安全访问算法的基本流程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [UDS诊断系列之七 安全访问27服务](https://blog.csdn.net/kalake/article/details/125984985)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [一文理解UDS安全访问服务(0x27)](https://blog.csdn.net/huihuige092/article/details/126465150)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值