安全访问(ISO14229系列之27服务)

本文介绍了27服务,它采用种子与密钥方式为ECU提供保护机制,通过sub - function划分安全等级。诊断仪请求种子,ECU发送种子并计算密钥,诊断仪接收种子后计算并发送密钥,ECU比对密钥决定是否解锁并返回响应,还介绍了请求种子和发送密钥的格式。

安全访问(ISO14229系列之27服务)

1、27服务概述

        27服务通过采用种子与密钥的方式为ECU提供了一种保护机制;通过sub-function划分出不同的安全等级,诊断仪发送请求进入某个安全等级时,通过种子与密钥的方式进行安全访问,当通过安全访问时,则切换到对应的权限状态。便于进行权限的管理划分。其相关的操作流程如下图:
在这里插入图片描述
        如上图,假设诊断仪是请求进入01安全等级;即Tester发送27 01请求种子,ECU接收请求后生成随机种子发送给到Tester;并且将刚刚生成的种子按照安全算法计算出Key。Tester这边收到种子后,也按照安全算法计算出Key,此时再通过27 02服务将计算好的Key发送到ECU,ECU这边将收到发送过来的Key和自己计算的Key进行比对,若结果一致,则切换到对应请求的权限状态。可以总结为如下过程:

  • 诊断仪请求种子
  • ECU发送种子,并根据安全算法计算密钥
  • 诊断仪根据接收到的种子也进行密钥计算,并进行发送
  • ECU接收到密钥,与自身计算的密钥进行比较
  • ECU根据比较结果决定自身是否解锁,并返回响应(肯定/否定响应)信息

2、请求种子

        以请求进入01安全等级为例(请求Seed的"Sub-function"不一定要是01,也可以是03、05,或者07-7D之间的任意奇数值,代表不同的安全等级。这里只是以01为例),则此时请求种子的格式如下
在这里插入图片描述

        ECU收到请求后,应当生成随机的种子,并通过响应报文返回种子。响应报文格式如下:
在这里插入图片描述
        

3、发送密钥

        我们依旧以请求进入01安全等级为例,在接收到前面一小节生成的种子后,诊断仪将根据车产定义的安全算法进行密钥的计算。并进行密钥的发送。此时密钥的发送格式如下
在这里插入图片描述

        ECU收到密钥后,会将接收到的密钥与自身计算的密钥进行比对;若结果一致,则切换到对应请求的权限等级,并返回肯定响应。响应报文格式如下:
在这里插入图片描述

        
        Ps:在请求种子、发送密钥的介绍中,我们只是以请求进入01这个安全等级(sub-function)为例来进行介绍的。但要注意请求种子的"Sub-function"不一定要是01,也可以是03、05,或者07-7D之间的任意奇数值,通过该参数划分不同的安全等级。同样,发送密钥时的第二个字节值不一定就是02(01+1),可以是04、06,或者08-7E间的任意偶数值;不过注意要是之前请求Seed的"Sub-function"+1,即像01对应02,03对应04,07对应08这样对应起来。具体安全等级的划分、密钥算法、种子、密钥的长度等信息会由车产规定好释放的。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值