UDS 安全认证29服务概述

一.服务概述

此服务的目的是为客户提供一种证明其身份的方法,允许其访问数据和/或诊断服务,这些数据和/或诊断服务由于安全、排放或安全等原因而受到限制。 用于将例程或数据下载/上传到服务器以及从服务器读取特定内存位置的诊断服务可能需要身份验证。 不正确的程序或下载到服务器的数据可能会潜在地损害电子设备或其他车辆部件,或危及车辆的排放、安全或安全标准的遵守。 另一方面,当从服务器检索数据时,可能会违反数据安全性。
该服务支持两个安全概念:
概念 1 :基于使用非对称密码的 PKI 证书交换过程。
概念 2 :基于不带 PKI 证书的挑战 – 应答过程,使用带有软件身份验证令牌或对称密码的非对称加密算法。
有关身份验证服务的概述,如下图所示:
在这里插入图片描述
图片摘自ISO 14229
子功能定义:
•“ deAuthenticate ”,此子功能参数有效地结束认证状态。
•“ VerfyCertificateUnidirectional ”,此子功能参数启动单向身份验证过程,仅针对 ECU 对测试仪进行单向身份验证。
• “verifyCertificateBidirectional”, 这个SubFunction参数启动双向身份验证过程,客户端对服务器进行身份验证,服务器对客户端进行身份验证。
•“ proofOfOwnership ”,此子功能参数用于将所有权证明数据传输到测试仪。
•“ TransmitCertificate ”,此子功能参数独立或在先前的身份验证之后传输证书。

二、基于PKI 证书交换的认证Authentication with PKI Certificate Exchange (APCE)

前提条件:
双方(客户端和服务器)应提供不同的证书(以及相应的私钥):
— 在单向身份验证的情况下,客户端需要一个带有其私钥的证书,这允许客户端将自己标识为合法的客户端。根据PKI的信任模型,服务器可能需要由颁发和签署客户端证书的颁发机构(CA) 颁发和签署的证书。
— 双向认证时,客户端需要一个带有私钥的证书,以证明客户端是合法的。此外,服务器还需要一个带有私钥的证书,这允许服务器将自己标识为合法。根据公PKI的信任模型,客户端和服务器可能需要证书颁发机构(CA)颁发的证书,CA颁发并签署了客户端证书和服务器证书。

认证流程
在这里插入图片描述
图片摘自ISO 14229
认证过程概述:
1 测试人员向 ECU 发出身份验证请求;
2. 在此请求消息中,包含测试仪的证书;
3. 收到请求消息后,ECU 将验证测试仪的证书;
4. 如果通过了证书验证,则 ECU 创建一个挑战 ;
5,6 取决于认证所使用的算法及是否双向认证;
7.并将挑战发送回测试人员;
8. 只是双向认证用到;
9.取决于认证所用到的算法
10. 测试人员通过签署挑战 ECU 来计算所有权证明测试人员;
11. 测试人员将所有权证明发送给 ECU ;
12. ECU 用收到的证书测试器中的公钥验证所有权证明测试器;
13.用来创建会话密钥(可选);
14.设定访问权限;
15. 如果通过了所有权证明的验证,则 ECU 返回响应或者会话密钥(会话密钥可选);
16,17,18用来设定会话密钥
最后. ECU 响应认证成功。

三、基于挑战应答的认证Authentication with Challenge-Response (ACR)

前提条件:
— 在使用非对称加密的情况下,客户端密钥对必须存在:客户端私钥必须存在于客户端,客户端公钥必须存在于服务器端。在双向认证的情况下,需要有一个额外的服务器密钥对:服务器中需要有服务器私钥,客户端中需要有服务器公钥。
— 在使用对称加密的情况下,一个对称密钥应该存在,并且应该在客户端和服务器之间预共享。
认证流程
在这里插入图片描述图片摘自ISO 14229
认证流程概述
1 测试人员通过 SubFunction requestChallengeForAuthentication 请求认证。
2. ECU 创建挑战
3. ECU 将挑战发送给测试人员。(14229图中的序号错误应该为3)
4. 双向认证时需要
5. 测试人员计算测试人员的所有权证明如下:
如果非对称密码时:构建适当的(特定于汽车制造商的)令牌(例如,基于CVC)内容,包含令牌授权、身份验证、权限/角色、服务器端质询信息,以及客户端质询信息和其他信息,视情况而定。使用客户私钥计算令牌内容签名,并构建包含令牌内容和签名的客户端身份验证令牌。产生的客户端身份验证令牌是客户端POWN。
如果使用对称密码:使用预共享的对称密钥,通过 ECU 侧 Challenge 来计算签名(例如,一次签名 或 HMAC 或 CMAC )。生成的签名是测试者方 POWN 。
6. 如果服务器在步骤3中指示了其他参数,那么客户端在需要的附加参数中提供适当的附加参数。
7. 测试人员通过子功能 verifyProofOfOwnershipUnidirectional 发送测试人员端 POWN 。
8. ECU 验证测试仪侧 POWN 。
11. 如果验证成功,ECU 根据访问权限授予对诊断对象的访问权限。
9,10,12~16 取决于是否双向认证和是否需要会话密钥

四、服务格式

具体服务格式请参考ISO 14229-1 2020版

  • 5
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
UDS 0x29服务是指车载诊断服务中的0x29功能码。根据ISO 14229的规定,UDS 0x29服务用于读取特定内存位置的数据。该服务可能需要身份验证以确保数据安全和防止不当程序或数据的访问。为了保障安全性,UDS 0x29服务支持两种安全概念。一种是基于使用非对称加密的PKI证书交换程序,使用符合ISO 7816-8的CVC和符合ISO/IEC 9594-8、RFC 5280和RFC 5755或IEEE 1609.2的X.509证书格式。另一种是基于使用带有软件认证令牌的非对称加密或对称加密的不带PKI证书的请求-响应过程。通过这些安全措施,UDS 0x29服务可以安全地读取特定内存位置的数据,以支持诊断功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [车载诊断服务安全要点](https://blog.csdn.net/didaliping/article/details/121105468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [UDS(ISO14229)诊断服务29服务和84服务](https://blog.csdn.net/qq_33163046/article/details/130564636)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值