SecurityAccess(0x27)服务

news2024/11/17 7:17:00

SecurityAccess(0x27)服务

此服务的目的是提供访问数据和/或诊断服务的手段,这些服务因安全,排放或安全原因而受到限制。 用于将
例程或数据下载/上传到服务器和从服务器读取特定存储器位置的诊断服务是可能需要安全访问的情况。 下载
到服务器的不正常程序或数据可能会损坏电子设备或其他车辆部件,或者导致车辆遵守排放,安全或安全标准。
安全概念使用种子和密钥关系。

使用此服务的典型示例如下所示:
 客户端请求“种子”,
 服务器发送“种子”,
 客户端发送“密钥”(适用于接收的种子),
 服务器响应“密钥”有效,并且它将自行解锁。
'requestSeed’子功能参数值应始终为奇数,并且相同安全级别的相应 'sendKey’子功能参数值应等于
'requestSeed’子功能参数值加1

在任何时刻只有一个安全级别处于活动状态。 例如,如果与requestSeed 0x03关联的安全级别处于活动状态,并且测试者请求已成功解锁与requestSeed 0x01关联的安全级别,则只有与requestSeed 0x01关联的安全级别支持的安全功能才能在此时解锁。 之前由与requestSeed 0x03关联的安全级别解锁的任何其他安全功能将不再处于活动状态。 安全级别编号是任意的,并不意味着级别之间的任何关系。

客户端应通过发送服务SecurityAccess’requestSeed’消息来请求服务器“解锁”。 服务器应通过使用服务
SecurityAccess’requestSeed’肯定响应消息发送“种子”来响应。 然后,客户端应该通过使用适当的服务
SecurityAccess’sendKey’请求消息返回一个“密钥”号码回应服务器。 服务器应将此“密钥”与内部存储/计算的密钥进行比较。 如果两个号码匹配,则服务器应启用(“解锁”)客户端对特定服务/数据的访问,并通
过服务SecurityAccess’sendKey’正面响应消息指示。 如果两个数字不匹配,则应视为错误的访问尝试。 无效密钥要求客户端从SecurityAccess’requestSeed’消息的开头重新开始
如果服务器支持安全性,但在接收到SecurityAccess’requestSeed’消息时所请求的安全级别已解锁,则该服务器应使用种子值等于零(0)的SecurityAccess’requestSeed’肯定响应消息服务进行响应。 服务器永远不会为当前锁定的给定安全级别发送全零种子。 客户端应使用此方法通过检查非零种子来确定服务器是否被锁定为特定的安全级别。
在服务器能够在服务器上电/重置之后以及在一定次数的错误访问尝试(参见下面的进一步描述)之后,积极响
应来自客户端的服务SecurityAccess’requestSeed’消息之前,可能需要车辆制造商特定的时间延迟。 如果支持此延迟计 时器,则应 在车辆制造 商指定的错 误访问次数 达到或服务 器启动 / 重 置 以 及 之 前 执 行的SecurityAccess服务由于单次错误访问尝试而失败后启用延迟。 如果服务器支持这个延迟计时器,那么在执行成功的SecurityAccess服务’sendKey’之后,服务器会在服务器清除上电/复位时延迟计时器调用的服务器内部指示信息。 如果服务器支持这个延时定时器,并且无法确定之前在加电/复位之前执行的SecurityAccess服务是否失败,那么延时定时器应在加电/复位后始终处于活动状态。 只有当服务器在加电/复位时被锁定时才需要延迟。 车辆制造商应选择是否支持延时定时器。
尝试访问安全性不应妨碍正常的车辆通信或其他诊断通信。
如果服务器被锁定时请求安全服务,则提供安全性的服务器应支持拒绝消息。
实现步骤

客户请求种子(Request Seed):诊断设备发送请求种子消息,包括所需的安全级别。例如,可以有不同级别的访问权限,如只读访问、写入访问等。
生成种子(Generate Seed):ECU收到请求后,会根据请求的安全级别生成一个随机数(种子),然后将种子发送给诊断设备。
计算密钥(Calculate Key):诊断设备接收到种子后,使用预先定义的算法计算相应的密钥。
发送密钥(Send Key):诊断设备将计算出的密钥发送给ECU。
验证密钥(Verify Key):ECU收到密钥后,进行验证。如果密钥正确,则ECU确认诊断设备具有请求的安全访问权限,并允许访问受保护的功能或服务。

客户端请求种子


securityAccessDataRecord
此参数记录是用户可选的,用于在请求种子信息时将数据传输到服务器。 它可以包含服务器中验证的客户端标识。

子功能服务包括:

01 03 05 07-41 代表不同安全级别

服务端返回种子
返回SID subfunctin seed

客户端收到种子进行计算,发送密钥
SID + sendKey + 密钥码

sendKey = 前面请求的级别+1.比如请求的安全级别是01 ,则sendKey就是02;如果是03,那就是04。

服务端响应

负向响应

例子

处于锁状态

请求种子

返回种子

发送key

返回

处于解锁状态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Inkscape绘制矢量电路图

GNU Inkscape是一个免费的开源矢量图形编辑器,非常适合画论文中的矢量插图。 Inkscape Inkscape支持win mac linux全平台(下载),windows端还发布了uwp版本,可在Windows store安装。 基本操作: inkscape工…

2023年前端面试题汇总-性能优化

1. CDN 1.1. CDN的概念 CDN(Content Delivery Network,内容分发网络)是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户&…

简谈软件版本周期 | Alpha、Beta、RC、Stable版本之间的区别

目录 💌 引言 ⭕ 软件版本周期 🛠️ 软件开发期 ⚖️ 软件完成期 💰 商业软件版本 💌 引言 定义好版本号,对于产品的版本发布与持续更新很重要;但是对于版本怎么定义,规则如何确定&#x…

【微服务架构】无法在Sentinel Dashboard查看到服务的监控信息原因

(目前项目中使用的Hystrix,而Hystrix已经不维护了,至今仍然是2018年发布的1.5.8版本。) 开始学习一下新的服务治理框架Sentinel Sentinel官网介绍 在集成Sentinel案例中碰到的问题 微服务,无法在sentinel dashboard…

Oracle中的数据导出(3)

假如我现在不想再打开DOS界面输入命令导出数据,那又有什么简单便捷的方法实现呢? 我将在本篇描述一种自动化的操作方法,简单讲就是:我把需要查询的数据脚本放在桌面的一个mini,通过双击快捷图标直接实现数据结果导出到…

VMware ESXI7.0.3的安装

文章目录 一、VMware ESXI7.0版本的安装与配置1.1、VMware概述。1.2、VMware 解析:1.3、VMware ESXI解析:2.1、准备资料2.2.1、VMware ESXI的ISO下载 3.1、安装ESXI4.1、浏览器键入esxi上述ipv4地址:192.168.229.171 一、VMware ESXI7.0版本的…

VMware ESXi 8.0b Unlocker OEM BIOS 集成 REALTEK 网卡驱动和 NVMe 驱动 (集成驱动版)

VMware ESXi 8.0b Unlocker & OEM BIOS 集成 REALTEK 网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0 集成驱动版,在个人电脑上运行企业级工作负载 请访问原文链接:https://sysin.org/blog/vmware-esxi-8-sysin/,查看最新版。原创作…

C语言——分段函数求值

一、题目描述 二、题目分析 本题是简单的分段函数的求解&#xff0c;应学会合理的运用for\if\swich函数解答问题。 三、代码实现 //for语句解题#include <stdio.h> int main() {int x,y;scanf("%d",&x);if(x<1){yx;}else if(1<x && x<…

FL Studio软件最新21中文版本安装包下载

FL Studio21集合最新FL基础操作、编曲技巧、混音技巧、乐理基础、声乐演奏等各类内容&#xff0c;编曲软件FL Studio 简称FL&#xff0c;全称&#xff1a;Fruity Loops Studio&#xff0c;因此国人习惯叫它"水果"。目前版本是FL Studio20&#xff0c;它让你的计算机就…

章节1:远程代码执行渗透与防御

章节1&#xff1a;远程代码执行渗透与防御 01 什么是远程代码执行&#xff1f; 远程代码执行&#xff08;RCE漏洞&#xff09; 远程代码执行&#xff1a;Remote Code Execute 远程命令执行&#xff08;命令注入漏洞&#xff09;&#xff1a;Remote Command Execute 定义&a…

高速PCB Layout设计要用哪些工具?

随着时代高速发展&#xff0c;高速PCB项目逐渐成为主流项目之一&#xff0c;越来越多的电子工程师需要掌握高速PCB Layout设计能力&#xff0c;同时电子工程师在进行高速PCB Layout时需要用到多种工具&#xff0c;下面来看看有哪些工具和软件&#xff1f; 1、设计软件 ①Altiu…

Redis的常用数据结构之列表类型

列表类型的数据特点 用于存储多个有序的字符串单个列表最多可以存储2的32次方-1个元素&#xff08;4294967295&#xff09;。列表的元素是可以重复的可以分别对列表的两端做插入&#xff08;push&#xff09;和弹出&#xff08;pop&#xff09;操作 List相关的操作命令 向右…

Vue3(二):Vue3生命周期、自定义hook、其他API、Suspense等组件

Vue3&#xff1a;第二章 一、Vue3生命周期二、自定义hook函数三、toRef四、其他Composition API1.shallowRef与shallowReactive2.readonly与shallowReadonly3.toRaw 与 markRaw&#xff0c;customRef4.provide和inject5.响应式数据的判断 五、组合式API的优势1.选项式API的问题…

股票买卖篇(II,III,IV)--基础,详细!状态机简单应用

目录 股票买卖II 本题思路 关于异常值的解释 代码 股票买卖III 本题思路 (包括对交易过程的理解&#xff0c;需认真理解) 代码 股票买卖 IV 本题思路 代码 股票买卖II 输入样例 6 7 1 5 3 6 4 输出样例 7 输入样例 5 1 2 3 4 5 输出样例 4 本题思路 该题是最…

1. Mysql InnoDB中的索引

一、InnoDB中的索引 InnoDB存储引擎支持以下几种常见的索引&#xff1a;B树索引、全文索引、哈希索引&#xff0c;其中比较关键的是B树索引。 1. B树索引介绍 InnoDB中的索引自然也是按照B树来组织的&#xff0c;前面我们说过B树的叶子节点是用来放数据的。但是放什么数据呢…

攻防世界-基础android

下载链接&#xff1a;下载 参考链接&#xff1a;攻防世界-Mobile-基础android (Misc经验解法&#xff09;_攻防世界基础android_Q_yt的博客-CSDN博客 方法一&#xff1a; 这是个偏向Misc的解题思路&#xff0c;下载完是个apk文件&#xff0c;载入010 Editor看一下&#xff0…

京东工作8年,肝到T8就剩这份心得了,已助朋友拿到10个Offer

在京东工作了8年&#xff0c;工作压力大&#xff0c;节奏快&#xff0c;但是从技术上确实得到了成长&#xff0c;尤其是当你维护与大促相关的系统的时候&#xff0c;熬到T7也费了不少心思&#xff0c;小编也是个爱学习的人&#xff0c;把这几年的工作经验整理成了一份完整的笔记…

TiDB亿级数据亚秒响应查询方案介绍

目录 1 什么是TiDB2 什么是NewSQL2.1 传统SQL的问题2.1.1 升级服务器硬件2.1.2 数据分片 2.2 NoSQL 的问题2.2.1 优点2.2.2 缺点 2.3 NewSQL 特性2.3.1 NewSQL 的主要特性&#xff1a;2.4 三种SQL的对比 3 TiDB怎么来的3.1 TiDB社区版和企业版 4 TIDB核心特性4.1 水平弹性扩展4…

【JUnit技术专题】「入门到精通系列」手把手+零基础带你玩转单元测试,让你的代码更加“强壮”(核心API篇)

手把手零基础带你玩转单元测试&#xff0c;让你的代码更加“强壮”&#xff08;核心API篇&#xff09; JUnit 中的重要的 APIAssert 类TestCase 类TestResult 类TestSuite 类 JUnit 中的重要的 API JUnit 中的最重要的程序包是 junit.framework 它包含了所有的核心类。一些重要…

数字孪生:数字世界与现实世界的交汇

数字孪生是一种崭新的技术,指将现实世界中的物理实体、系统或过程通过数字化技术在虚拟数字世界中建立起虚拟模型。数字孪生可以帮助人们以更小的成本地理解和预测现实世界中的物理实体、系统或过程的行为和性能,从而提高生产效率、降低成本、减少风险等。 如今数字孪生技术…