- 博客(38)
- 收藏
- 关注
原创 汽车MCU 信息安全--数字证书
PKI,全称Public Key Infrastructure,中文是公钥基础设施。PKI 是使用公钥密码技术实施吉尔提供安全服务的具有普适性的安全基础设施。PKI是一个系统,包括技术、软硬件、人员、政策法律、服务的逻辑组件。PKI的组成实体主要有:端实体----PKI证书使用者、持有者CA ---- 认证中心RA ---- 注册中心CRL发布者 ---- 生成并签发证书撤销列表(CRL:证书撤销列表)
2025-12-25 20:48:09
643
原创 信息安全--安全XCP方案
本文探讨了XCP协议在车载系统中的安全风险及防护方案。由于XCP可直接读写ECU内存,存在被黑客利用的风险,因此需要实施安全验证机制。文章提出了一种低成本的安全标定方案,并分别介绍了基于Isoalr和Davince工具实现安全XCP的具体方法。最后指出未来将介绍第二种安全XCP实现方案。全文提供了详细的技术方案链接供参考。
2025-12-20 00:10:39
225
原创 ETAS-Isolar-操作教程(二)
本文介绍了使用RTA-CAR工具导入DBC文件并转换为AUTOSAR系统配置的工作流程。主要内容包括:1)导入DBC文件自动创建ECU实例、PDU和信号等系统元素;2)创建SystemDescription并设置相关参数;3)将软件组件(SWCs)映射到ApplicationECU;4)完成系统数据映射。该流程可快速将非AUTOSAR格式的系统定义转换为AUTOSAR配置,详细操作步骤可通过文末链接查看完整教程。
2025-12-08 23:10:06
257
原创 ETAS-Isolar-操作教程(一)
1. 创建新工程2. 创建Application Data Type3. 创建 Data Type Mapping Set (建立Mapping关系)4. 创建 Interface5. 创建 Application SW Component Type6. 创建Ports7. 创建 Internal Behavior Containers8. 创建 Runnable9. 创建 Data Access Point10. 创建 Timing Events。
2025-12-07 02:24:50
454
原创 HSM升级方式介绍(基于Vector方案)
本文对比分析了Vector的HSM自更新方案。重点介绍了Vector HSM中的HsmUpdater模块作为信任根,其作为不可更新的bootloader角色,负责擦写可更新的HsmImage区域。文章阐述了HSM软件架构,包含HsmUpdater、HsmImage和密钥存储区域,为理解HSM固件更新机制提供了框架基础。相较于ETAS方案,Vector方案在配置更新和功能扩展方面更具灵活性。
2025-11-22 00:58:11
279
原创 车载ECU的信息安全--密钥管理--密钥存储方法
汽车信息安全新国标GB44495-2024发布,对汽车ECU安全提出严格要求。文章重点探讨密钥安全的重要性,指出公开算法下密钥保密是安全核心。密钥管理涵盖生成到销毁全流程,其中密钥存储尤为关键,需确保防非法访问和篡改。文章后续将详细解析密钥存储方案及未来发展。
2025-11-15 12:25:12
244
原创 Boot问题分析-----内存访问相关bug分析
本来只想测试一下新需求的实现情况,结果测试发现:软件运行时,ECU周期性发送异常报文,而且ECU诊断无响应。第一反应是,是不是测试代码没删干净,导致周期报文出现。可惜代码不是我写的,无法识别测试代码,所以只能调试了。本文主要介绍boot中内存问题的排查思路与解决方法,当然不限于boot,大家平时可能也能遇到类似问题。b. 首先定位异常报文在哪发出来的?7. 再来一次深度思考。
2025-11-04 21:44:56
264
原创 UDS之10服务功能深谈
10服务(诊断会话控制)是UDS协议中的核心服务,用于切换ECU的不同会话模式。ISO14229定义了三种标准会话:01默认会话(基础服务)、02编程会话(软件刷写)、03扩展会话(高级功能)。其中02会话专用于Bootloader跳转,支持两种实现方式:直接跳转或延迟响应后跳转。某些车厂还会自定义额外会话模式以满足特定需求。该服务通过会话切换来控制诊断服务的执行权限,是ECU诊断功能的基础支撑。
2025-10-26 22:50:48
337
原创 UDS 27服务之“compare key失败回复7F 27 35“
验证猜想1:由于当前算法是CMAC算法,我使用上位机发送的seed和算法密钥计算出Cmac值,将Camc值和上位机发送的key对比。结果是:完全相同,说明上位机发送正确。做UDS的同志,都知道NRC 35表示Invalid key,说明安全访问没通过,即 上位机发送的key与ECU计算的key不一致。经测试反馈,上位机发送27 02,App响应7F 27 35。猜想1不成立,只能说明ECU代码有问题,完犊子了。上位机:27 02 + 16字节key。1.上位机发错了key。2.ECU算错了key。
2025-10-23 22:27:52
269
原创 UDS 28服务如何控制通信?
本文深入解析了ISO 14229-1标准中的28服务(通信控制服务)实现机制。不同于常规协议介绍,重点剖析了Autosar架构下Dcm、Com、Nm、BswM四个模块的协作逻辑,揭示了通过BswM状态机切换调用Com_SetIpduGroup和Nm_EnableCommunication等接口实现报文控制的核心原理。文章详细说明了不同子服务(0-3)对应的状态机配置,并通过具体示例演示了应用报文和网络管理报文在不同状态下的收发控制过程,为深入理解28服务的底层实现提供了技术参考。
2025-10-18 12:33:44
514
原创 ISO15765解读(1)----网络层协议
该参数用来识别服务调用中地址信息参数的类型和范围,当Mtype是诊断类型时,地址信息N_AI由N_SA、N_TA、N_TAtype组成;当Mtype是远程诊断类型时,地址信息N_AI由N_SA、N_TA、N_TAtype、N_AE组成。在介绍功能之前,先介绍一些必要的概念,15765是将这些概念放在功能之后介绍的,容易导致阅读困难。N_USData.request:该服务用来请求发送数据,数据过程,网络层可以执行分割。N_USData.indication:该服务向上层提供接收到的数据。
2025-09-07 23:34:33
262
原创 加解密算法以及RSA的填充方式汇总
一、填充方案介绍分组密码算法中需要将明文按指定大小进行分组,由于明文并不一定是分组大小的整数倍,因此需要将明文填充至分组大小的整数倍之后再进行加密。填充方案:PKCS5,PKCS7,ZERO,X923,ISO7816_4,ISO10126及No Padding等填充方案使用场景:对称加密 ,使用较少填充规则:填充至符合块大小的整数倍,。已是128bits倍数的数据仍要填充,否则无法解密。使用场景:对称加密 ,使用较少填充规则:最后一个字节填充需要填充的的字节数,其他字节填充0。。
2025-09-05 00:12:09
257
原创 Autosar Csm密钥协商协议
本文介绍了两种密钥协商协议(Diffie-Hellman和ECDH)及其在AUTOSAR中的实现,重点分析了中间人攻击原理。密钥协商允许双方在不安全通道建立共享密钥,D-H协议基于模运算,ECDH基于椭圆曲线离散对数问题。AUTOSAR通过CSM模块提供密钥协商功能,支持预定义或动态生成密钥材料。然而,若缺乏身份验证机制,攻击者可通过中间人攻击拦截通信,与双方分别建立密钥,窃取通信内容。防范措施需结合身份认证机制确保通信安全。
2025-08-31 12:06:12
830
原创 《UDS协议从ISO14229到Autosar Dcm》--目录总览--全网首发
本文整合网络资源和个人经验,系统介绍UDS(统一诊断服务)协议。作为ISO14229-1定义的应用层协议,UDS支持多种总线协议,通过26种标准化服务实现ECU诊断和通信。核心内容包括:协议定位(区别于OBD)、服务架构(会话控制、数据读写等)、灵活的通信机制及错误处理。重点梳理了UDS的三大应用场景:开发测试、售后维护和车联网,并详细分类26种诊断服务的功能及交互示例。该协议兼具通用性和可扩展性,是汽车电子领域的关键诊断标准。
2025-08-30 21:26:51
349
转载 全网首家 Csm重定向功能解析
Csm模块是具有重定向功能的,这是全网唯一的重定向功能解析文档。目前开发者对该功能研究甚少,在项目中也不是必要功能,掌握者能够简化一些需求实现。也许随着信息安全模块研究的深入,该功能会被普及,甚至必不可少。Csm中的重定向功能是什么?如何实现重定向功能?重定向会达到怎样的功能效果?CMAC计算的job,将CMAC计算的输入和输出数据重定向到2个不同的key element。配置key0,其key Element的id设为7,具体配置如下图。注意:这只是个例子,输入重定向、输出重定向不是必须同时使用的。
2025-08-30 14:14:19
100
转载 ISOLAR信息安全配置--CSM、CRYIF、CRYPTO
Csm层主要完成job、key的配置,实现服务管理和密钥管理,例如配置计算hash的job,配置一个计算cmac所需要的key等。CryIf是呈上启下的衔接模块,通过channal和key配置实现连接作用,配置较为简单。所有信息安全需求的实现,不论是安全通信、安全存储还是安全诊断,都需要依赖最基础的信息安全服务模块,即使用CSM、CRYIF、CRYPTO模块提供的加解密服务实现上述具体的信息安全功能。对于服务原语,不同的服务需要选择对应的原语,如图中选择的即为计算Cmac的服务原语。
2025-08-29 23:37:07
131
转载 【Autosar】Dcm 29服务
摘要: UDS服务0x29(身份验证)提供动态控制诊断服务访问的机制,通过证书管理实现安全控制。AUTOSAR Dcm模块支持5个子服务:取消认证、单向/双向证书验证、所有权证明和认证配置。该服务使用PKI认证交换,依赖Csm和KeyM模块进行证书管理。配置要求包括连接级认证设置和通用NRC处理规则。证书验证涉及长度检查、异步处理和多种失败场景的特定响应码。服务器挑战数据长度由配置参数决定。系统通过严格的错误处理机制确保安全性,包括对证书签名、信任链、有效期等要素的全面验证。
2025-08-09 18:18:57
173
转载 Authentication(29) Service---服务使用示例
该摘要展示了单向认证流程(APCE/ACR)的通过和失败案例。通过案例展示了完整的认证步骤:请求配置、发送证书、验证所有权、获取服务;失败案例则显示认证失败会导致服务请求被拒。示例包含对称/非对称加密两种方式,并标注了不同步骤对应的消息编号(如2901-2908),其中认证通过后系统会发送证书(2904),而失败时会返回否定响应(34)。
2025-08-07 23:43:27
66
原创 ISO-14229 UDS 29服务介绍
摘要:ISO 14229-2020新增29服务,为智能驾驶汽车提供安全认证机制。该服务支持两种认证方式:基于PKI证书交换的APCE和基于挑战-响应的ACR。APCE采用非对称加密,支持单向/双向认证;ACR支持对称/非对称加密。认证流程包括挑战生成、所有权证明验证和会话密钥建立等步骤。认证状态可通过显式请求或超时/里程限制隐式终止。该服务确保对受保护诊断数据的访问安全,防止未经授权的操作,适用于多客户端场景。
2025-08-01 01:42:46
1060
转载 信息安全--安全启动介绍
摘要:ECU软件安全依赖于HSM(硬件安全模块)构建的信任根机制。安全启动通过在启动时校验软件完整性(计算CMAC值并与预存参考值比对)确保系统可信,采用硬件加速AES-CMAC算法提升效率。方案设计需考虑校验区域设定、访问权限及ECC错误处理,支持开发者选择触发式或自动式校验模式。该机制同时适用于软件更新时的数字签名验证,为ECU提供端到端的安全保障。
2025-07-26 22:23:07
173
转载 Autosar Csm
CSM(加密服务管理器)是一种提供加密功能的服务架构,支持软件库和硬件模块的混合设置。其核心功能分为密钥管理和加密操作两类API,采用原语(CsmPrimitives)与CsmJob关联的静态配置方式。系统支持同步/异步处理和队列管理,通过通道连接CryptoDriver实现多任务调度。密钥始终存储在加密驱动中,CSM仅通过索引引用,实现操作与密钥管理的分离。队列机制根据优先级处理请求,当驱动繁忙时可缓冲任务。密钥可由多个元素(如密钥材料、初始化向量等)组成,确保安全性与灵活性。该架构优化了硬件资源利用,支
2025-06-15 14:17:04
315
转载 Davince如何使用CS Port、SR port(续篇)
Rte_App_Swc_App_D0D2_SRport_D0D2_Data,一个SWC写这个变量,另一个SWC读这个变量。Dcm_User端 Rte_Read_App_D0D2_SRport_D0D2_Data。App_Swc端 Rte_Write_App_D0D2_SRport_D0D2_Data。Dcm_User端 Rte_Call_App_3003_CSport_Operation。Rte_Read_App_D0D2_SRport_D0D2_Data函数 读取数据。作为调用端,用户可以在。
2025-05-01 21:09:28
244
原创 Davince如何使用CS Port、SR port
本文主要介绍Autosar Davince工具中如何使用CS Port、SR port。由于权限问题,文章采用图片方式说明,原文链接见。
2025-05-01 18:48:19
241
转载 Davince如何创建诊断SWC
本章主要介绍如何创建Dcm SWC、Dem SWC。由于达芬奇配置界面的友好性,BSW的接口一般都是走RTE的,例如置故障、获取DID车速数据等,一般都是通过RTE获取其他模块数据或者为其他模块提供服务。也就是说,将Dcm、Dem、NvM等底层模块的接口连接到上层某个或者某些SWC中,在SWC中实现获取数据、执行服务的具体操作。看全文,请点击。
2025-05-01 01:18:27
193
转载 BootLoader功能介绍3--Boot-App升级架构
本文主要介绍不同的Boot-App升级架构。每个tire1或者OEM都会有自己的一套或者几套刷写方案,可能方案不尽相同。简单来说,就是如何让ECU能够更新App或者Boot。实现这种功能的方式有很多种,开发初期即根据芯片内存以及刷写需求等因素设计刷写方案。下文中App简称为A,Boot简称为B。
2025-04-13 22:12:18
406
转载 Autosar Davince如何开发诊断Dcm/Dem模块
导入cdd模块之后,仍然存在很多红色报错,如下图所示。本文的主要内容是介绍诊断Dcm,Dem模块的开发流程,以Davince操作为主,如何配置出Dcm,Dem模块并编译通过。Davince的配置输入就是cdd文件,大部分配置工作都是在配置cdd阶段完成,导入cdd文件即可自动生成大部分的配置。这篇文章比较核心的还是:cdd导入方式、诊断配置流程、问题修复方法,这些对于小白熟悉工具操作还是比较有益的!准备工作:通信Ok的Davince基础工程,诊断描述文件cdd文件。1. 导入Cdd文件并自动生成配置。
2025-04-12 22:39:47
374
转载 UDS诊断开发的需求分析
一般在项目需求输入之后、软件开发之前,首先需要进行软件需求的分析,这个阶段需要提取出需求点、疑问点、不可实现项等,而完成这个工作的前提就是你需要能够看懂需求文件。对于诊断开发而言,需求输入文件主要是客户企标、诊断调查表以及一些其他额外文件。企标是车厂针对所有ECU所指定的通用性需求,而诊断调查表则是根据每个ECU单独定义的更加细致的需求。本文主要介绍分析与提取诊断调查表的关键信息。简单介绍诊断调查表的相关内容,基本上车厂都是以Excel表格的形式输出到供应商。主要是让大家了解诊断调查表,了解诊断需求内容。
2025-04-04 18:39:00
563
转载 BootLoader功能介绍
一般车辆ECU软件分为两部分Bootloader(简称boot)和Application应用程序(简称App),App应用程序是实现ECU功能的代码程序,而Bootloader是指ECU应用程序运行之前运行的一段小程序。ECU中的这段boot程序主要被用来实现App程序更新。
2025-03-29 12:44:48
353
1
原创 Autosar Dem 007(7.7.9 Healing of diagnostic events)
针对每个存储在event memory的事件,Dem模块都具有打开或者关闭故障指示灯的能力。而处理指示器关闭的流程就定义为诊断事件的healing。先介绍一下配置Dem模块支持事件计数去打开或者关闭指示器。这种计数的计算基于配置的failed和healing循环。例如,基于fault确认开启MIL,以及基于3个obd驾驶循环的healing关闭MIL。如果一个事件配置了多个indicatior,Dem模块按照indicator之间或的关系处理和计算UDS bit7。
2024-04-21 13:25:49
863
1
原创 Autosar Dem 005(7.7.7 Event related data)
即冻结数据 / 扩展数据 freeze frame data (DTCSnapshot) / DTCExtendedData).
2024-04-19 00:29:08
2272
原创 Autosar Dem 004(7.7.3 Debouncing of diagnostic events)
7.7.3 Debouncing of diagnostic events
2024-04-17 21:27:40
662
1
原创 Autosar Dem 003(7.7.2 Event memory management)
7.7.2 Event memory management
2024-04-16 21:14:49
1088
原创 Autosar Dem 002(7.7.1 Event status management)
7.7.1 Event status management
2024-04-15 20:37:52
2072
1
原创 Autosar Dem 001(7.4.8 Availability of events)
7.4.8 Availability of events (visibility and computation)
2024-04-14 19:30:19
2012
2
ISO15031协议9种OBD诊断服务中文详解.pdf
2024-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅