UDS诊断系列之七 安全访问(27)服务(番外)附录I

文章详细阐述了ECU在安全访问过程中的状态切换逻辑,涉及状态图、通用安全策略(如种子和密钥长度、尝试次数限制)、以及各个状态之间的转换条件,包括延迟计时器和安全访问次数控制。
摘要由CSDN通过智能技术生成

附录I的主要内容是通过一个状态图来描述ECU在安全访问的各状态之间的切换条件,以及如何进行状态切换即切换过程中都需要执行哪些操作。

一、状态图

下面直接先上图。
安全访问状态图
图看起来流程很多,但实际上很简单,先说图中的四个状态:
A - ECU没有接收过任何安全访问的请求,或者刚刚接收并处理完非默认诊断会话请求之后的状态;
B - ECU接收到了请求种子的请求且已经响应了种子,但没有接收到密钥,也就是在等待诊断仪发送密钥的状态;
C - ECU已经认证通过了一个安全等级处于已解锁状态,并且没有收到任何请求种子的请求;
D - ECU已经认证通过了一个安全等级处于解锁的状态,同时收到了新的不同安全等级请求种子的请求并已经发送了种子,在等待诊断仪发送密钥的状态。

其中,状态A和状态C相比,以及状态B和状态D相比,都只差了是否已经解锁了一个安全等级。

二、安全访问策略说明

在解释状态图的10个状态转换之前,先对安全访问的一个通用策略简单地说明一下。
安全认证算法增加破解难度的通用做法就是增加算法中使用的种子和密钥长度,以此来增加计算的复杂程度,从而增加计算过程的时间,使时间加长。但是UDS一开始是用在CAN/LIN总线这种报文长度比较短的传输协议上,因此使用长种子会比较不方便,在不改变种子和密钥长度的情况下,一般会采取限制尝试次数和两次尝试之间的最短时间的策略。
下面是这种策略所用到的一些参数,这里尽可能通俗的去说一下参数的具体用处。
Delay_Timer:两次安全访问尝试的最短时间,即当安全访问尝试失败达到一定次数之后,ECU应该开启此计时器来限制后续的尝试频率。这个时间长度是可以配置的,并且可以根据实际需求由OEM定义是否需要在ECU启动或者复位的时候也启用这个定时器。可以所有安全等级用同一个定时器,也可以每个安全等级都分配一个定时器。甚至,这个定时器可以是一个可变值,例如可以随着尝试失败的次数增加而增加。
Att_Cnt_Limit:这个参数就是安全访问失败的次数限制,当达到这个次数之后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值