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

  • 1、27服务概述
  • 2、请求种子
  • 3、发送密钥

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这样对应起来。具体安全等级的划分、密钥算法、种子、密钥的长度等信息会由车产规定好释放的。

安全访问(ISO14229系列之27服务)相关推荐

  1. 程序控制(ISO14229系列之31服务)

    程序控制(ISO14229系列之31服务) 1.请求格式 2.肯定响应格式 1.请求格式 RoutineControl (31服务) ,用于对主机厂定义的一些特定程序的控制操作(启动程序.停止程序.请 ...

  2. UDS诊断系列介绍05-27服务

    本文框架 1. 系列介绍 27服务概述 2. 27服务请求与应答 2.1 27服务请求 2.2 27服务肯定应答 2.3 27服务否定应答 1. 系列介绍 UDS(Unified Diagnostic ...

  3. 27服务-SecurityAccess

    诊断协议那些事儿 诊断协议那些事儿专栏系列文章,本文介绍诊断和通讯管理功能单元下的27服务SecurityAccess,它是一个十分重要的诊断服务,充当诊断安全卫士,为其他众多服务设置权限保护. 关联 ...

  4. SOA系列文章(二):服务设计原理:服务模式和反模式

    服务设计系列的法则已经发展到最佳通信实践和取样相关编码的程度.本文提供了设计和实现网络服务的基本原理,并且对面向服务的体系结构(SOA)的相关概念做了一个简要的回顾,以及有关于几种模式和反模式的详细讨 ...

  5. jQuery以JSONP的访问调用一个WCF REST服务

    JSONP(JSON with Padding)可以看成是JSON的一种"使用模式",用以解决"跨域访问"的问题. 下面是一个简单的例子用于模拟如何通过jQue ...

  6. SpringCloud系列研究---Eureka服务消费Feign

    转载自:https://www.cnblogs.com/chxuyuan/p/8358998.html SpringCloud系列研究---Eureka服务消费Feign 一.Feign简介 Feig ...

  7. UDS之浅谈27服务

    一.服务概述 SecurityAccess(安全访问),Service 27提供一种访问数据或者诊断服务的方法,只有通过Seed-key解锁环节才可以执行特定服务和功能. 该服务提供了一种保护机制,该 ...

  8. UDS诊断系列介绍06-22服务

    本文框架 1. 系列介绍 22服务概述 2. 22服务请求与应答 2.1 22服务请求 2.2 22服务正响应 2.2 22服务否定应答 3. 22服务使用示例 4. Autosar系列文章快速链接 ...

  9. Ambassador系列-10-RateLimitService限速服务

    限速服务RateLimitService和AuthService一样也是一个外部服务,处理流程也和AuthService一样. 限速服务RateLimitService是通过在Mapping中添加la ...

最新文章

  1. 使用Python,OpenCV,dlib进行睡意检测(疲劳驾驶检测)
  2. 命令行启动tomcat
  3. DPDK vhost-user研究(十二)
  4. live555 编译 linux,在树莓派上搭建LIVE555 Streaming Media服务器端
  5. hibernate annotation注解 columnDefinition用法
  6. Automake十分钟速成教程
  7. html+css+javascript之间的关系与作用
  8. 浅谈ios设计之使用表格UITableVIew设计通讯录的方法
  9. iptables(下)规则
  10. linux生成图片快捷方式,在Deepin Linux系统下给AppImage格式软件创建快捷方式的方法...
  11. Zbrush风格化角色大神!带你感受别致性感美学!
  12. 拓端tecdat|R语言IRT理论:扩展Rasch模型等级量表模型lltm、 rsm 和 pcm模型分析心理和教育测验数据可视化
  13. 2018java面试集合
  14. 【程序员学习运筹学】什么是运筹学
  15. Windows上更换鼠标指针图标
  16. 基于Node.js打造Web在线聊天室
  17. 常用大部分渗透工具下载
  18. win10找不到wifi网络_笔记本电脑搜索不到自己家wifi怎么回事?无线网络信号的解决方法...
  19. Qualcomm msm8916 MIPI to RGB 调试
  20. JavaBase 求 个位,十位,百位,千位

热门文章

  1. Qt 界面获取键盘Enter键
  2. 我经历过的失败产品和项目(二):一款无疾而终的棋牌类游戏
  3. 领英如何发布动态与查看自己一共发了多少条动态
  4. “不裁员的微软” 裁员了!网上哀嚎一片!
  5. 【报告分享】2020快手母婴生态报告-快手大数据研究院(附下载)
  6. layui分页和模板引擎
  7. 售后的设计(退换货)
  8. 【转载】Windows 10 运行 Linux子系统的图形界面程序
  9. 第一行代码:知晓当前是哪个界面
  10. NUnit 入门知识