0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

UDS之29服务:认证服务

北汇信息POLELINK ? 2023-11-30 08:24 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

服务概述
汽车工业的很多领域都有严格的国际标准,其中针对车载诊断的ISO14229规定了车载诊断服务的通用需求(UDS),UDS主要应用于OSI模型的应用层,UDS协议根据功能的不同定义了26种诊断服务。
为了应对网联汽车日益增加的安全风险,在ISO14229-1的2020版本增加了29服务。29服务英文名称为Authentication Service,译为认证服务。通过名称可以看出29服务的目的是为客户提供一种身份认证的方法。当客户想获取一些有访问限制的数据时来验证客户的身份,这些限制可能是由于安全或排放相关的原因。本文将详细介绍29服务。

29服务一般在如下场景中使用

1.需要读取特定内存地址的数据;2.上传或下载控制器数据;3.关于车身安全或者会影响车身控制器属性。传统的27服务不能满足这些需求,因此新版本的ISO14229协议增加了29服务,来实现基于以太网的身份认证。

背景知识介绍

对称加密:加密和解密使用相同密钥的加密算法

非对称加密:一对加密密钥和解密密钥,用户加密后所得的信息,只能用该用户的解密密钥才能解开。如果知道了其中一个,不能计算出另一个。公开的加密密钥为公钥,不公开的解密密钥为私钥。

PKI:PKI的全称是Public Key Infrastructure,译为公钥基础设施。PKI是包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。用来建立不同实体间的“信任”关系。


服务介绍
29服务支持两种认证方式,如下图所示:APCE: 采用非对称加密的基于PKI证书交换程序的认证ACR: 采用对称或非对称加密的基于挑战确认(Challenge-Response)流程的认证。dc3bea4e-8f16-11ee-9788-92fbcf53809c.png图1-29服务支持的两种认证方式1.APCE认证流程dc42c742-8f16-11ee-9788-92fbcf53809c.png图2-APCE的认证流程图
上图是APCE的认证流程图,包括单向认证和双向认证。

单向认证

1.Client通过VerifyCertificateUnidirectional(2)向Server发送带有Client公钥的证书。

2.Server收到证书后会验证证书的有效性(3),如果Client不合法,则停止流程,验证失败,返回否定响应,如果合法则继续之后的流程。

3.Server创建Challenge(4),并向Client发送针对证书的Challenge消息(7),请求Client对所发证书的所有权证明,消息中包含认证所需的随机数。

4.Client收到Challenge后使用私钥计算所有权证明客户端(10),并且通过SubFunction ProofOfOwnership(11)发送所有权证明客户端。

5.Server使用来自Client的公钥验证所有权客户端(12),与Challenge消息比较,如果验证成功,则根据访问权限(14),授予对诊断对象的访问权限。并向Client发送相应的响应,表示认证成功。

双向认证

1.Client创建Challenge客户端(1),并通过SubFuntion Vertify Certificate Bidire- ntional向Server发送Challenge客户端和含有公钥的证书客户端。

2.Server验证证书是否有效(3),如果无效,则验证失败,返回否定响应。如果有效,则进行后续的流程。

3.Server创建Challenge服务端,并且通过客户端发来的Challenge和自己的私钥计算出所有权证明(6),并向Client发送Challenge服务端、服务端证书、服务端的所有权证明以及临时公钥(7)。

4.Client根据所得的临时公钥验证服务器证书和所有权证明是否有效(8),有效之后根据服务端发来的Challenge和客户端私钥计算客户端所有权证明(10),并通过ProofOfOwnership向Server发送客户端所有权证明(11)。

5.Server收到所有权证明后进行验证是否通过(12),通过后发送访问权限(14)以及相应的响应(15),认证成功。

图中(5),(9)跟安全诊断通信有关,(16),(17),(18)跟创建会话密钥有关。

2.ACR认证流程
dc5b9bc8-8f16-11ee-9788-92fbcf53809c.png图3-ACR的认证流程图

ACR认证前提条件

1.非对称加密:具有客户端密钥对:客户端存在客户端私钥,服务器中存在客户端公钥。如果是双向认证的话,还需要在服务器端加个密钥对:客户端存在服务器公钥,服务器端存在服务器私钥。

2.对称加密:和27服务的流程相似,在客户端和服务端同时存在对称密钥。

单向认证

1.Client通过RequestChallengeForAuthentication请求验证(1)。

2.Server创建Challenge数据(2)并发送Challenge数据(3)。

3.Client计算所有权证明(5)。

4.Client通过VerifyProofOfOwnershipUnidirectional发送所有权证明(7)。

5.Server验证所有权证明(8),如果验证成功发送访问权限。

其中(14),(15),(16)是关于建立会话密钥使用的。

双向认证

1.Client通过SubFunction RequestChallengeForAuthentication请求验证(1)。

2.Server创建Challenge数据(2),并且发送Challenge数据(3)。

3.Client创建Challenge数据(4),并且计算Client所有权证明,并通过VerifyProofOfOwnershipBidirectional发送给服务器端(7)。

4.Server验证所有权证明(8)。

5.如果验证成功,Server计算所有权证明(9),并且发送访问权限(11)。

6.Client验证服务器的所有权证明(13),如果验证成功,访问成功。

3.子功能介绍(部分)
dc68e33c-8f16-11ee-9788-92fbcf53809c.png表1-29服务部分子功能

dc7e230a-8f16-11ee-9788-92fbcf53809c.pngCANdelaStudio中配置29服务
在CANdelaStudio中打开CDDT文件,选择Protocol Service,在这里可以对29服务的请求和响应的格式进行编辑。
dc827be4-8f16-11ee-9788-92fbcf53809c.png图4-29服务编辑
打开CDD文件,在Base Variant下选择Authentication,就可以对29服务的参数进行编辑。
dc86bb78-8f16-11ee-9788-92fbcf53809c.png图5-29服务参数编辑
在States下Dependencies可以配置每个服务在各个状态下的支持情况。
dc94e5c2-8f16-11ee-9788-92fbcf53809c.png图6-服务状态编辑

dc9962b4-8f16-11ee-9788-92fbcf53809c.pngCANoe中29服务的实现
以CANoe中29服务的Demo工程为例,来介绍29服务的认证过程。
dc9ef26a-8f16-11ee-9788-92fbcf53809c.png图7-29服务Demo工程
在诊断控制台中可以看到关于29服务的一些子功能。每个子功能都有不同的作用,每个认证方法的区别在于发送的子功能不同。可以根据上面的流程来决定使用哪些子功能,例如要用APCE单向认证方法的话,发送29 01和29 03服务,APCE双向认证的话发送29 02和29 03服务。用哪一个认证方法是OEM自定义的。
dca4eee0-8f16-11ee-9788-92fbcf53809c.png图8-29服务子功能
在使用29服务之前,需要配置29服务相关的文件,打开Simulation->SecurityManager->Open Security Manager,在这里就可以导入关于29服务的文件(X.509)。
dcafcdce-8f16-11ee-9788-92fbcf53809c.png图9-29服务配置
在设置好29服务文件后,在Security Configuration就会显示刚才创建的文件,将证书和通道匹配好后就可以发送29服务。
dcc81730-8f16-11ee-9788-92fbcf53809c.png图10-29服务证书和通道匹配
在Panel面板中,可以发送29服务,选择单向认证或者双向认证。发送之后在Trace中可以查看认证的过程。
dcd9b378-8f16-11ee-9788-92fbcf53809c.png图11-29服务Panel面板

dcf5059c-8f16-11ee-9788-92fbcf53809c.png 总结
29服务和27服务的功能比较相似,都是为了防止ECU的数据和软件安全受到威胁,但是27服务提供的安全机制已经不能满足现在车辆诊断功能面临的新的安全威胁,29服务就是为了弥补这些缺陷而产生的。由于27服务的安全访问控制手段缺乏灵活性,29服务引入了PKI和证书认证体系,可以灵活地给诊断的参与者分配权限,29服务还适用于多客户端,在车辆网联化共享化的趋势下很好的应对了这些新的安全威胁。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 车载
    +关注

    关注

    18

    文章

    643

    浏览量

    84010
  • 汽车工业
    +关注

    关注

    2

    文章

    143

    浏览量

    30220
  • 认证
    +关注

    关注

    1

    文章

    435

    浏览量

    18638
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MTB中对于RADIUS服务器是否支持?

    想询问MTB中是否支持配置AP的RADIUS服务器,以及STA是否支持企业认证的加密方式。
    发表于 07-08 08:10

    harmony-utilsAssetUtil,关键资产存储服务工具类

    harmony-utilsAssetUtil,关键资产存储服务工具类
    的头像 发表于 06-26 17:42 ?115次阅读

    华为乾崑智能车云服务通过CCRC IT产品信息安全认证

    华为乾崑智能车云服务顺利通过中国网络安全审查认证和市场监管大数据中心(CCRC)的IT产品信息安全认证,成为首个获得车联网云服务平台安全和数据安全最高等级
    的头像 发表于 06-14 10:58 ?690次阅读

    盟通方案|如何集成UDS协议

    UDS诊断协议广泛应用于汽车、重卡等领域的设备诊断和固件更新。该协议主要针对全车ECU进行标准化的数据交互。UDS应用层?(ISO14229-1)定义了6大类共26项诊断服务,覆盖了ECU开发功能
    的头像 发表于 06-06 14:06 ?247次阅读
    盟通方案|如何集成<b class='flag-5'>UDS</b>协议

    HarmonyOS5云服务技术分享--自有账号对接AGC认证

    ? ??手把手教你:用自有账号玩转华为AGC认证服务?? ? Hi 各位开发者朋友~? 今天咱们来聊聊如何将自家已有的账号系统与华为的AppGallery Connect(AGC)认证服务
    发表于 05-22 16:32

    HarmonyOS5云服务技术分享--认证文档问题

    各位开发者朋友好!本文将详细讲解如何基于HarmonyOS ArkTS框架集成华为AppGallery Connect(AGC)认证服务,涵盖从项目创建到SDK集成全流程。无论您是首次接入AGC服务
    发表于 05-22 13:20

    新加坡服务器延迟大吗?真相在这里#新加坡服务器 #服务

    服务
    jf_57681485
    发布于 :2025年04月18日 13:48:50

    NTP校时服务器 时钟同步服务

    服务
    jf_75250307
    发布于 :2025年03月19日 20:56:34

    关于服务器节能认证(701042小类)执行新版规则及认证标准的通知

    各相关认证企业:GB43630-2023《塔式和机架式服务器能效限定值及能效等级》已于2025年1月1日正式实施,替代CQC3135-2011《服务器节能认证技术规范》。中国质量
    的头像 发表于 02-20 16:47 ?1285次阅读
    关于<b class='flag-5'>服务</b>器节能<b class='flag-5'>认证</b>(701042小类)执行新版规则及<b class='flag-5'>认证</b>标准的通知

    松下电气荣获SGS三项服务认证

    近日,松下电气设备(中国)有限公司在国际公认的测试、检验和认证机构SGS的严格评审下,荣获了商品售后服务“五星级”、售后服务完善度“铂金级”以及顾客满意度“铂金级”三项认证证书。这一荣
    的头像 发表于 01-22 13:40 ?517次阅读

    广电计量在认证服务领域取得多项成果

    认证在规范行业、保障质量、守护安全以及促进国际合作等多个方面发挥着重要作用。近日,广电计量在认证服务领域取得多项成果,将持续为企业增强市场竞争力、优质产品进入广阔市场贡献力量。
    的头像 发表于 01-15 17:17 ?717次阅读

    Testin云测荣获华为开发者联盟生态市场服务认证

    近日,Testin云测凭借在移动应用测试领域的创新实力和深厚底蕴,为纯血鸿蒙APP发版上架贡献质量保证方案,荣获华为开发者联盟生态市场服务认证
    的头像 发表于 12-27 11:00 ?620次阅读
    Testin云测荣获华为开发者联盟生态市场<b class='flag-5'>服务</b>商<b class='flag-5'>认证</b>

    中软国际荣获华为电力数字化行业应用集成服务伙伴认证

    近日,中软国际以良好的公司资质、优秀的集成设计验证和实施能力、丰富的项目集成实施经验、优质的集成实施团队以及对华为各产品的认证服务团队能力,一次性通过华为公司的资质认证专家答辩评审,获得了电力数字化行业应用集成
    的头像 发表于 11-09 15:32 ?794次阅读

    SMTP服务器配置教程

    服务器。 端口 :SMTP通常使用25、465(SSL)和587(TLS)端口。 认证 :为了安全起见,SMTP服务器可能需要用户名和密码进行认证。 2. 选择SMTP
    的头像 发表于 10-30 16:16 ?2488次阅读

    调用云服务认证体系

    一、介绍 基于鸿蒙Next实现应用的认证注册流程。二、场景需求 用户注册模块: 邮箱/手机号验证: 密码设置: 个人信息填写: 用户登录模块: 邮箱/手机号与密码登录: 用户输入注册时的邮箱/手机号
    发表于 09-05 09:39