• CANoe-如何实现27服务解锁


    27服务解锁的工作原理可以在文章《诊断27服务介绍》查看,这里简单介绍下流程:

    Tester向ECU发送27 01诊断请求请求种子seed,ECU收到该请求后随机生成一个seed,通过67 01诊断响应发送给Tester。Tester收到该诊断响应后取出seed值,传入和ECU相同的算法后生成一个密钥keyT。然后Tester把这个密钥keyT用诊断请求27 02发送给ECU,ECU收到该请求后取出密钥keyT,再用生成的seed和自己的算法计算出一个密钥keyE,比较keyT和keyE。如果它们相等,说明Tester使用和ECU相同的算法,可以证明Tester的身份是安全的,执行某个安全等级的解锁。

    以上内容中:

    • 27 01和27 02中,01和02代表了某个安全等级解锁的request seed和send key的subFunction子功能值
    • Tester想要解锁ECU,必须使用和ECU相同的算法

    所以一个关键的问题就是:CANoe如何使用这个算法?以何种形式使用?

    CANoe作为Tester进行诊断通信时,最常用的方式是加载cdd文件后在诊断控制台手动发送诊断请求并接收诊断响应。此时Tester和ECU在CANoe中建立了一个诊断通信的“内部通道”,传输层和诊断层参数在加载cdd文件时自动配置到:

    诊断配置界面

    在诊断层配置界面,有一个安全访问相关的添加栏,里面可以添加dll文件,它就是27算法所在的文件:

  • 相关阅读:
    定语从句全面介绍
    Springboot整合轻量级反爬虫组件kk-anti-reptile
    AppBox快速开发框架(开源)开发流程介绍
    Arduino 基础语法
    MIUI查看当前手机电池容量
    Go Web——简单blog项目(二)
    华为USG6000防火墙nat / nat server 配置(多出口情况)
    kafka安装配置
    责任链模式
    网站源码备份 [极客大挑战 2019]PHP1
  • 原文地址:https://blog.csdn.net/wjz110201/article/details/133318922