UDS统一诊断服务【三】安全访问0X27服务

本文详细介绍了UDS(UnifiedDiagnosticServices)的安全访问服务,包括安全访问的概念、应用场景、流程以及数据格式,强调了不同安全等级的使用和响应格式。作者还鼓励读者通过实践和深入学习网络安全来提升能力。
摘要由CSDN通过智能技术生成
文章目录
  • 前言
  • 一、安全访问简介
  • * 1.1 什么是安全访问
    
    • 1.2 常用的应用场景:
    • 1.3 安全访问流程
  • 二、数据格式
  • * 2.1 请求种子格式
    
    • 2.2 发送秘钥格式
    • 2.3 子功能
    • 2.4 肯定响应
    • 2.5 否定响应
  • 三、举个例子

前言

今天分享的是UDS的安全访问服务,希望能对你有所帮助


一、安全访问简介

1.1 什么是安全访问

SecurityAccess
安全访问,27服务,用来保护某些诊断服务的,提供一种保护机制。例如对于重要数据的上传或者下载过程不做任何限制,可能会对整车的安全造成极大的威胁,尤其是针对底盘域的控制器更是要在这方面做好全方位的安全防保护措施。

1.2 常用的应用场景:

  • 操控类,输入输出的控制,例程控制服务等,
  • 写入类,如烧录程序;产线写入重要的数据,如版本或标定信息,需要过27安全访问后,才进行数据的写入
  • 读取数据,在读取重要的数据时也需要过安全访问

1.3 安全访问流程

我们来看看官方文档ISO14299-1是如何介绍的
在这里插入图片描述

  • 客户端向服务端请求种子;
  • 服务端向客户端发送随机种子;
  • Client基于接收到来自Server的随机种子计算出对应的Key并发送给到Server;
  • Server接受来自Client算出来的Key并与内部算出的Key比较,如果一致则解锁成功,否则解锁不成功;

安全访问的流程

二、数据格式

2.1 请求种子格式

[SID] + [sub-function] + [data]
第一个字节是服务ID:0x27,第二个字节是子功能,请求种子的子功能为1,3,5等奇数。后面的securityAccessDataRecord是可选的数据,标准里给的示例是用来标识客户端的ID,实际应用中一般不会用到,可先不管。
在这里插入图片描述

2.2 发送秘钥格式

[SID] + [sub-function] + [securityKey]

这里的子功能就是2,4,6等偶数值了,而且两者Subfuntion还必须存在一个确定的定量关系:即 Subfuntion(Request Seed) +
1 = SubFunction(Send Key)

在这里插入图片描述

2.3 子功能

请求种子和发送秘钥的子功能被分成了一对对的组,每一组是一个安全等级,不同的安全等级可以用来验证不同的设备,或者执行不同安全等级要求的操作,
数字大小并不代表其等级的高低。

注意:同一时刻最多只能有一个安全等级是解锁的状态。因此从一个安全等级接收到另外一个等级的请求并且解锁成功后,之前的安全等级将被重新锁定,而由于切换安全等级致使先前解锁的状态被锁定后,其依赖于被锁定的等级的服务和功能也一并被关闭。
在这里插入图片描述
0X01:主机厂定义的安全级别的请求种子

0X02:主机厂定义的安全级别的发送秘钥

0X03、05、07~0X41:主机厂定义的不同安全等级的请求种子

0X04、06、08~0X42:主机厂定义的不同安全等级的发送秘钥

2.4 肯定响应

[SID + 0X40] + [sub-function] + [securitySeed]

肯定响应的SID:0x67(0x27+0x40),以及被请求的子功能。后面的种子是收到请求种子的时候,要在肯定响应里给出具体的种子,而如果收到的请求是发送密钥,则只是校验是否解锁成功,不需要后面的字节了。
在这里插入图片描述

2.5 否定响应

[0X7F] + [SID] + [NRC]

如果解锁失败,则可通过收到的NRC判断失败的原因,27服务常用的NRC如下:
在这里插入图片描述

三、举个例子

标准文档里给的例子
在这里插入图片描述
下图是实际项目中录取的CAN报文
在这里插入图片描述
UDS这东西呢,难倒是不难,就是细节太多,没啥别的技巧,就是多实践,多翻一翻官方文档,用得多了就会了,现在我还停留在翻文档的阶段,只记得常用的几个。继续学习,多实践。

最后

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。

干货主要有:

①1000+CTF历届题库(主流和经典的应该都有了)

②CTF技术文档(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

⑥ CTF/渗透测试工具镜像文件大全

⑦ 2023密码学/隐身术/PWN技术手册大全

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

扫码领取

  • 10
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UDS27服务是指CSDN平台提供的一项专业服务UDS代表用户数据服务,27是其服务的具体编号。 UDS27服务主要是为了满足用户在CSDN平台上的各种数据需求而开设的。通过这项服务,用户可以方便地获取到所需的数据,帮助他们更好地进行学习、研究和开发工作。 首先,UDS27服务提供了丰富的学术论文和文献资源。用户可以通过该服务检索并下载各种研究领域的学术论文、专业文献和行业报告,从而快速获取最新的科研成果和行业动态。这对于科研人员、学生和开发人员而言十分重要,能够为他们的工作提供高质量的参考和支持。 其次,UDS27服务还包括了一系列的在线教育资源。CSDN平台汇集了众多行业专家和技术大牛,他们在各自的领域内积累了丰富的经验和知识。通过UDS27服务,用户可以参与在线课程、直播讲座和技术沙龙等学习活动,获取高质量的教育资源,提升自己的技术能力。 此外,UDS27服务还提供了数据分析和挖掘的支持。对于研究者和数据科学家来说,数据分析和挖掘是非常重要的工作。CSDN平台通过UDS27服务提供了各种数据分析工具和算法库,帮助用户从庞大的数据中提取有价值的信息和知识。 总之,UDS27服务为用户提供了丰富的学术资源、在线教育和数据分析支持。它不仅方便了用户获取所需的数据,还帮助他们提升技术能力和开展学术研究工作,是CSDN平台重要的一项服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值