诊断27服务介绍

UDS诊断协议中的27服务用于ECU解锁,涉及身份认证过程,包括请求种子和发送密钥。ECU通过比较Tester计算的密钥与自身计算的密钥进行认证。27服务的子功能subFunction用于表示不同安全等级的解锁,奇数表示请求种子,偶数表示发送密钥。ECU的安全等级解锁可以独立或依赖其他等级,并且解锁后的回锁可以通过诊断服务或断电实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在UDS诊断协议中,有一些服务,比如2E服务写入DID数据,2F服务控制输入输出,它们都会改变ECU控制器的内存数据,所以在请求这类服务时需要慎之又慎。诊断协议设计了一个安全解锁机制,让ECU在接收到某些诊断服务(2E、2F等)前需要处于解锁状态,这就是27服务实现。

Tester发送27服务请求ECU解锁,ECU不可能不做任何认证就直接解锁,这样的安全机制没有任何意义。

ECU在27服务解锁时需要对Tester进行认证,认证的方式是双方使用相同的安全算法得到相同的密钥key,ECU对比Tester计算得到的keyT和自己计算得到的keyE,如果相同,认证成功,解锁成功。

具体的步骤是:

  1. Tester首先向ECU发送一个27服务,请求种子seed。这个seed作为参数传入算法中,用来生成密钥。
  2. ECU收到请求种子的27服务后,生成一个随机值,作为seed,通过诊断响应发送给Tester。
  3. Tester接收到诊断响应后,把seed取出,传入算法中,计算出keyT。再通过27服务,发送诊断请求,把keyT发送给ECU。
  4. ECU收到诊断请求后,取出密钥keyT,然后用自己生成的种子seed和算法,计算出一个密钥keyE,比较ke
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车通信技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值