ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

新型电子电气架构下的车载信息安全综合解决方案

新型电子电气架构下的车载信息安全综合解决方案 做智能网联汽车信息安全这些年最明显的感觉就是行业聊天的重心变了。前几年大家还在问信息安全到底要不要做现在见面聊的都是你们方案怎么匹配新的电子电气架构。标题里这个新型电子电气架构“信息安全综合解决方案”其实就是当前车载安全领域最核心的课题——域集中、中央计算加SOA的趋势下原本那套每个ECU各自防一手的玩法彻底不够用了安全方案必须跟着架构一起重构。这篇文章我会从架构演变、方案框架、落地实操到踩坑经验完整过一遍整车厂的安全工程师、域控制器和网关的软硬件开发、零部件供应商的安全负责人包括正在备考软考信息安全工程师的朋友应该都能从中找到对自己有用的东西。1. 新型电子电气架构给信息安全带来了什么1.1 架构演进的三个阶段每个阶段都有不同的安全命题传统分布式架构时代一辆车上有几十个甚至上百个ECU每个ECU各管一段制动是制动的、车窗是车窗的彼此之间通过CAN总线通信。这个阶段的信息安全说白了就是单点防御给关键ECU加个访问口令、对诊断会话做一层安全校验基本就能挡住大部分民间水平的攻击。到了域集中架构情况开始变复杂。整车按功能划分成动力域、底盘域、座舱域、智驾域、车身域每个域有一个域控制器做算力汇聚和逻辑仲裁。此时域控制器不再是一个功能对应一个控制器那么简单它更像一台小型的实时计算机——操作系统、中间件、应用层层叠叠攻击面一下子从一条CAN报文扩大到了一个操作系统。再往后就是中央计算加区域控制的架构一个或两个中央计算平台接管整车绝大部分逻辑区域控制器负责IO和配电数据通过车载以太网汇聚。这个阶段车辆本质上就是一台带轮子的数据中心安全问题的复杂度和IT系统已经非常接近。这里要特别强调一个容易被低估的变化攻击入口。传统架构下物理接入比如OBD诊断口是最主要的攻击途径攻击者必须碰到车才行。但新的架构里云端APP、OTA升级包、蓝牙钥匙、Wi-Fi热点、V2X通信、充电桩接口全都成了潜在入口远程攻击变成了常态。攻击面从物理世界蔓延到了逻辑世界这就是为什么必须用综合方案去覆盖而不是零零散散打补丁。1.2 为什么传统安全打法在新架构下撑不住先说算力集中带来的单点风险。过去一个ECU被攻破影响的顶多是一个车窗控制器现在域控制器或者中央计算平台一旦被攻破攻击者拿到的是整车的控制权限。安全边界从每个ECU各自为战变成了核心计算平台必须守住这种转变对安全架构设计要求是数量级的提升。再说通信模式的变化。传统CAN总线报文广播式发送节点收到报文后基本不做身份鉴别。新型架构引入了SOA面向服务的架构服务发现、远程调用、数据订阅这些机制本质上和IT后端的微服务很像服务的调用方和提供方之间必须要有身份认证和权限校验否则任何一个被攻陷的节点都可以调用整车任意服务。我曾经接触过一个项目座舱域的某个娱乐APP漏洞被利用后攻击者直接通过SOA服务接口调用了车身域的开窗接口——不是因为车锁不加密而是服务之间缺乏访问控制。这就不是单纯加个加密算法能解决的了需要体系化的访问控制设计。还有一个绕不开的合规压力UNECE R155/R156已经成了全球主要汽车市场的准入要求国内对应标准也在持续跟进。这意味着信息安全不只是技术问题而是和功能安全一样需要体系化管理的问题。R155要求建立CSMS网络安全管理体系覆盖从概念、开发、生产到运维的整个生命周期R156则针对OTA软件更新提出了明确的安全和管理要求。这些合规要求的落地恰恰需要一个综合解决方案来统一承接零散的安全工具是过不了审核的。1.3 典型攻击路径梳理搞清楚敌人怎么进来才能谈防御做安全方案之前我习惯先做一条完整的攻击路径分析而不是直接堆安全组件。当前新型架构下几条典型的攻击路径大概是这样第一条路径从T-Box车联网终端进来。T-Box负责车云通信攻击者通过云端API漏洞、伪基站或者破解蓝牙/Wi-Fi入口先拿到T-Box的控制权再通过T-Box连接的车载网关进入车内骨干网络。第二条路径从IVI车载信息娱乐系统切入利用系统漏洞或者恶意APP获取应用层权限再借助SOA服务的鉴权缺陷横向移动。第三条路径是OTA升级链路攻击者篡改升级包或者伪造升级服务器签名让车辆加载恶意固件——这个路径一旦打通等于直接拿到了整车换脑的权限所以OTA签名验证和防回滚机制是必须有的。第四条路径是物理诊断口和维修工具链维修厂使用非授权的诊断设备通过UDS服务的漏洞绕过安全访问。第五条是充电通信通过充电桩的通信协议漏洞对车辆发起攻击这在快充网络越来越普及的背景下是一个非常现实的入口。每条路径都有对应的防护手段但难点在于这些手段必须协同工作不能各自为政。比如T-Box入口要靠云端证书认证加T-Box安全启动来守IVI入口要靠应用白名单加服务访问控制来守OTA要靠代码签名和链路加密来守诊断口要靠安全访问协议和审计来守。接下来我会重点展开这个协同层面的方案设计。2. 综合解决方案怎么设计才不翻车2.1 纵深防御不是口号是分层的控制矩阵所谓综合解决方案往深了说就是一套纵深防御体系。我习惯把车载安全分成四层来设计和评审云端安全层、管道安全层、车内网络层和部件安全层。云端安全层解决的是车云平台本身的防护包括API网关鉴权、数据脱敏、异常流量监控管道安全层解决的是车和云之间的通信安全TLS双向认证、消息签名、防重放机制都在这一层车内网络层解决的是域间和域内通信的可信问题SecOC、服务访问控制、IDS都在这一层部件安全层解决的是单个ECU或域控制器自身的安全能力安全启动、HSM密钥保护、安全调试接口都在这一层。这套分层设计的核心逻辑是攻击者想要拿下整车必须一层一层突破每一层都设置独立的检测和阻断点。单一安全组件做得再强如果只是点防攻击者完全可以从旁路绕过。纵深防御的价值在于把攻击成本抬高到攻击者不愿意承受的程度。举个例子如果你的车云API没有鉴权漏洞但是T-Box又有安全启动保护那么即使攻击者拿到了云端的某个服务账号也无法直接远程控制车辆因为T-Box只信任经过签名的合法指令。这就是分层之间形成互相兜底的意义。2.2 密码服务基础设施是整个方案的底座谈汽车信息安全绕不开密码学而密码学的落地不是堆算法而是建一套密码服务基础设施。这个底座包括三块PKI证书体系、密钥管理体系和密码运算服务。PKI证书体系方面整车生命周期里会涉及多种证书——车端设备证书、云端服务证书、OTA签名证书、诊断工具证书、V2X通信证书等。这些证书从签发、分发、更新到撤销必须有一套统一的证书管理体系。很多项目前期图省事直接用自签证书临时顶着结果到了量产阶段证书轮换和交叉信任的问题全面爆发。我见过一个实际案例因为CA体系设计不合理OTA签名证书和车端验签证书的信任链没有建立好第一轮OTA推送就有大量车辆验签失败售后只能一台台连诊断仪处理那个代价远比一开始认真设计PKI大得多。密钥管理方面核心原则是分级和分层。根密钥必须保存在硬件安全模块中永不明文出现在软件层由根密钥派生的中间密钥和应用密钥按权限和使用场景隔离存储。车端每一次安全启动、安全通信、OTA验签背后的密钥调用都必须能追溯到明确的密钥版本和用途。这里有一个常见的认知误区很多人觉得只要算法选得够强就安全了但实际项目中大量的安全事件出在密钥管理流程上——比如测试密钥流入了量产环境、产线密钥注入时被截获、密钥备份文件丢在共享服务器上。算法只是数学密钥管理才是工程。密码运算服务方面现代的域控制器普遍会集成硬件安全模块HSM或SoC内的安全岛/TrustZone硬件负责密钥存储和密码运算加速软件只通过标准接口调用。设计时一定要预估密码运算的性能开销尤其是安全启动和SecOC实时通信这两类场景算法选型和硬件加速能力必须匹配。2.3 关键安全机制一表看懂部署位置和标准依据为了帮助做方案评审的同行快速对齐我把核心安全机制、部署位置、解决的核心问题以及相关标准依据整理成一个表实际写安全概念文档的时候这个表可以直接用。安全机制主要部署位置解决的核心问题常见标准/规范依据安全启动Secure Boot每个关键ECU/域控制器防止固件被篡改、防止非授权固件运行ISO 21434、R155、AUTOSAR Secure Boot安全通信SecOC车内CAN/CAN FD/以太网节点防止报文伪造、重放、篡改AUTOSAR SecOC、ISO 21434服务访问控制SACSOA中间件/服务框架防止服务被非授权调用AUTOSAR SAC、SOA安全规范入侵检测IDS网关/中央计算平台/车云端及时发现和响应异常行为ISO 21434、R155 安全监控要求FOTA安全更新OTA云端平台车端升级代理保证升级包完整可信、可回滚R156 软件更新法规、ISO 21434安全诊断Secure Diagnostic诊断服务/UDS协议栈防止诊断接口被滥用ISO 14229、AUTOSAR 诊断规范数据隐私保护车端数据采集/云端数据平台满足个人信息保护和数据合规要求数据安全法规、R155 隐私要求这些机制不是非此即彼的选择题而是需要同时存在、互相配合的。比如安全启动保证了系统启动阶段的可信但运行阶段依然需要IDS来发现正在发生的入侵行为SecOC保证了通信数据不被伪造但无法阻止一个完全被攻陷的节点发出合法签名报文这时就需要靠访问控制和云端监控来兜底。综合解决方案的综合二字关键就在这些机制之间的协同关系上。3. 关键模块的落地实操参数怎么定、流程怎么走3.1 HSM选型要看的不是参数表是业务场景很多人的HSM选型是从芯片手册开始的看算法支持列表、看吞吐率、看存储容量这当然没错但更重要的是先想清楚业务场景对密码服务的真实需求。安全启动场景下关键指标是启动时间预算。我曾经参与的一个中央网关项目硬件团队给出的启动时间预算是从唤醒到应用层就绪不超过500毫秒而BootLoader要完成对OS镜像的完整性校验加签名验证。当时初版用的方案是RSA-2048验签加整个镜像一次性SHA-256哈希实测单单验签就占掉了200多毫秒再算上镜像哈希、外设初始化和网络栈启动直接超了预算。后来优化方向分成三条验签算法换成ECDSA P-256镜像校验改成引导分区实时校验应用分区后台校验再把耗时较大的校验环节放到并行线程里跟外设初始化同时跑。做完这三项优化启动时间才压回预算以内。所以HSM选型时一定要把启动时间预算、通信实时性预算这些业务指标翻译成硬件算力需求而不能只看数据手册上的理论性能。SecOC场景下关键指标是MAC运算的时延和每毫秒能处理的报文数。CAN FD总线在500kbps速率下一条认证报文的刷新周期往往是10毫秒甚至更短HSM必须在报文发出前完成新鲜度计算和MAC生成。建议在选型阶段就让信息安全团队和底层软件团队做一轮联合压力测试直接把HSM的吞吐能力打上去看是否满足峰值总线负载而不是等台架联调时再发现性能不够。密钥存储容量也是容易踩坑的地方。一个域控制器可能要存OTA根公钥、V2X证书链、多个诊断工具证书的撤销列表、云端TLS客户端证书再加上每个应用可能独立申请密钥槽位。如果选型时只按存一对密钥来评估存储空间后期功能扩展基本都会撞墙。我的建议是至少预留1.5到2倍余量有条件的话让密钥槽位支持静态分区加动态分配两种模式。3.2 SecOC落地时最容易翻车的几个参数SecOCSecure Onboard Communication是车内通信安全里落地难度最高的一个模块因为它的影响面横跨所有通信节点。很多项目死在细节上这里挑几个关键参数重点说。第一个是新鲜度值Freshness Value的设计。新鲜度值用来抵抗报文重放攻击常见的有基于全局计数器、基于时间戳、基于两者组合三种方式。纯计数器方式需要全车节点保持同步一旦某个节点重启导致计数跳变认证就会大量失败纯时间戳方式要求节点间时钟同步精度足够高在成本敏感的ECU上未必做得到。目前工程上比较稳妥的做法是计数器加时间戳混合并且允许接收方设置一个可容忍的重放窗口。窗口太大会降低防重放效果窗口太小会导致正常报文因为传输抖动被误杀。这个窗口值的标定一定要在实车网络负载环境下测不能靠实验室拍脑袋。第二个是MAC截断长度的选择。AES-CMAC完整输出是128位但CAN报文的载荷本来就有限不可能每条报文都塞进16字节MAC。行业里常见的做法是截取32位到64位。截得越短消息载荷开销越小但安全性越低——32位MAC意味着攻击者伪造成功概率约在四十亿分之一每报文对大多数车内控制场景来说够用但如果报文本身控制的是制动这类安全关键功能我建议至少取64位并配合更短的新鲜值有效周期。项目初期可以把MAC长度做成可配置参数后续通过实际攻击测试来调优而不是一开始就定死。第三个是SecOC和现有网络架构的兼容问题。很多存量ECU并不支持SecOC如果网关强制所有报文都走认证老节点直接哑火。常见的处理方式是网关做协议转换和安全代理在网关入口对来自非安全节点的报文做合法性检查补上认证信息后再转发到安全域。这种做法会引入额外的处理时延所以网关选型时要注意CPU余量别等到报文吞吐量上来才发现网关成了瓶颈。3.3 证书和密钥的全生命周期管理细节决定售后崩不崩证书和密钥管理是信息安全方案里最脏最累的部分因为这牵扯到产线、供应链、售后多个环节的协同。先说制造环节的密钥注入。每一台车的T-Box、网关、域控制器在产线上都要注入设备唯一密钥对和对应的设备证书。这个环节最容易出问题的是密钥注入环境的物理安全和数据隔离注入设备的密钥母本如果被拷贝等同于整批车辆的信任体系失守。实际操作中我要求注入工位做到专人管理、注入日志审计、母本密钥加密存储且分片管理任何环境变更必须走变更审批流程。接下来是证书轮换。车端证书有一定有效期到期后如果不轮换车辆就可能在某个时刻突然无法完成云端认证或OTA升级。但很多项目只在开发阶段设计了证书从云端下发的流程却忽略了车端证书过期后车辆已经在用户手里的场景。真实的惨痛教训是一批运营车辆因为证书过期无法通过OTA自更新结果只能逐个回店用诊断仪处理。所以证书体系设计时一定要预留应急轮换通道至少保证车辆在证书过期状态还能通过物理诊断口走一套独立的认证流程来恢复信任。密钥审计也是一个容易被轻视的点。密码服务在启动、通信、OTA、诊断这些场景被调用的过程都应生成不可篡改的审计日志记录时间、调用方、密钥ID、操作类型和结果。这不仅是R155对网络安全监控的要求更是事后溯源攻击路径的唯一依据。我见过很多项目的安全方案做得挺完善但日志只落在本地易失存储里车辆一旦断电日志就没了这样的审计能力等于没有。建议关键安全日志至少做到掉电保存和定期回传云端两部分。3.4 渗透测试和合规测试怎么做才有价值渗透测试不是找几个黑客工具扫一遍就完了要分层次、有节奏地做。外部攻击面测试主要针对云端API、APP、蓝牙、Wi-Fi、T-Box入口模拟的是远程攻击者的能力内部网络测试是在假设攻击者已经进入车内网络的前提下验证域间隔离、服务访问控制和SecOC的有效性物理测试则针对OBD接口、维修工具链、调试串口这些需要物理接触的攻击路径。很多团队把精力全放在外部攻击面上忽略了内部网络的横向移动测试但正如我们前面分析的新型架构下大量真实攻击路径恰恰是从一个边缘入口打进内网之后才展开的所以内部测试的优先级一点不低。白盒代码审计同样不能省。渗透测试是黑盒打点代码审计是白盒找洞尤其在SOA服务框架、OTA升级代理、诊断服务这类应用中很多漏洞不是靠外部探测能发现的。实际项目里我们曾通过代码审计找到一个OTA升级包的路径穿越问题攻击者可以利用构造的升级包把文件写到任意目录——这种漏洞靠黑盒测试几乎不可能触发但影响范围非常大。所以建议在黑盒渗透测试之外针对关键模块安排独立的代码审计最好由不参与开发的外部团队来做。合规测试方面R155的CSMS审核关注的是你有没有一套网络安全管理体系并真正执行ISO 21434的TARA审查则关注你在开发过程中有没有系统性地做威胁分析和风险评估。这里顺带说一句如果你正在备考软考信息安全工程师你会发现车载TARA的方法论跟考试里的风险评估模块非常贴近——资产识别、威胁识别、脆弱性识别、风险计算这些概念放在车上就是资产ECU、总线、数据、威胁场景远程控制、敏感数据泄露、攻击路径分析从入口到目标和风险等级判定。备考时多理解几个车载案例对考试案例题反而很有帮助。4. 常见问题与排查技巧实录4.1 这几个问题实车测试时基本都会碰一遍我整理了车载信息安全落地过程中出现频率最高的五个问题连同排查思路和解决建议一并列出来希望帮你少走点弯路。问题现象可能原因排查思路解决建议安全启动导致启动时间严重超预算签名算法太重、镜像校验方式不合理拆解启动耗时定位验签和哈希占比换ECDSA算法、改为分块并行校验、与外设初始化并行SecOC开启后CAN总线负载飙升MAC和新鲜值占用了过多报文空间检查每条认证报文的额外字节数调整MAC截断长度、选择关键消息认证、优化新鲜值传输方式OTA升级失败导致控制器无法启动升级包验签失败或升级过程被中断查看升级代理日志和回滚标志位引入升级前校验、双分区机制、失败自动回滚证书过期后车辆无法完成云端认证证书轮换通道缺失或设计不合理检查证书有效期和轮换触发条件设计应急轮换通道和物理诊断恢复机制IDS误报率过高导致安全团队无人值守基线模型不成熟、阈值设置粗糙收集全场景报文数据分析误报特征先跑白名单学习模式逐步过渡到异常检测4.2 我自己踩过的几个坑写出来给你们避雷第一坑是SecOC一上来就全报文开启。当时团队出于安全无死角的想法所有CAN信号都做了认证结果总线负载率直接爆表部分节点出现周期性报文丢失最后只好花了两周时间重新梳理信号矩阵把真正安全关键的消息挑出来做认证普通信号走轻量校验。这个教训告诉我安全机制的覆盖范围一定要结合总线资源和安全需求来权衡过度覆盖和覆盖不足同样危险。第二坑是PKI体系设计的时候没有考虑好证书撤销。车辆部署一段时间后因为有安全事件需要撤销某批证书结果发现车端只存了正向证书链根本没有撤销列表的更新通道只能等证书自然过期。这个问题的根源在于PKI设计时只考虑了信任怎么建立没考虑信任怎么收回。后来我们再设计PKI方案时把CRL/OCSP的更新机制作为默认必选项并且要求在车辆联网状态下定期拉取。第三坑是测试环境密钥和量产环境密钥混用。项目组为了图省事台架测试一直用一套固定密钥结果量产导入时才发现产线注入工具和目标ECU的信任链配置不一致导致量产首日就出现大量认证失败。从那以后我定了一条规矩测试环境和量产环境的密钥体系从根上分离任何密钥的生成、分发和销毁都要有独立审批记录。4.3 给备考软考信息安全工程师的朋友一个映射参考很多做车载安全的同行同时在备考软考信息安全工程师证书这个选择挺合理的。车载安全本身就是信息安全技术在垂直行业的应用场景和考试大纲的契合度非常高。我按自己的备考经验给一条映射路径密码学部分直接对应HSM、SecOC、TLS通信里的算法选型PKI和证书体系对应车端证书管理和OTA签名验签访问控制对应SOA服务权限管理和UDS诊断安全访问安全审计对应车内IDS日志和云端安全运营渗透测试基础对应车载系统黑盒和白盒测试。备考的时候别把车载安全的知识和考试知识当两套体系试着用考纲的框架去重新梳理积累的项目经验案例题和理论题的答题思路都会顺很多。反过来考纲里的知识框架也能帮你把车载安全方案描述得更体系化评审答辩时特别有用。5. 方案落地的路线图按这个节奏走不容易乱5.1 分四阶段推进别想一口吃成胖子综合信息安全方案最忌讳的是拿着完整方案想一步到位。架构是分阶段演进的安全能力也应该跟着架构逐层落地。我给客户梳理路线图时一般分四个阶段。第一阶段是摸底和差距分析。这个阶段不急着上设备而是把现网架构摸清楚当前有哪些安全机制在运行、哪些安全能力缺失、哪些部件具备硬件安全基础、哪些完全裸奔。同时针对高价值资产做一轮TARA把风险最高的场景先框出来。第二阶段是安全基线的定版。确定全车统一使用的密码算法套件、密钥管理流程、证书策略和访问控制模型。这个阶段的工作直接决定后续所有的开发方向文档一定要写清楚评审要充分。第三阶段是选择一个有代表性的域控制器或网关做试点把安全启动、SecOC、IDS和OTA安全完整跑通。试点的目的是验证方案的可行性找出流程和性能上的坑所以试点部件的选择要以复杂度适中、代表性强为原则洼地太深容易陷进去太简单又没代表性。第四阶段是规模化接入和安全运营。把所有关键ECU按照试点验证过的方案批量接入同时建立云端安全运营中心SOC把车端IDS事件、OTA安全日志、证书状态全部汇总起来做实时监控和应急响应。5.2 工具链不需要花里胡哨使用门槛低才是王道做车载安全落地工具链的选择原则是能解决问题的就是好工具不必追求最贵最全的套装。TARA分析可以先用Excel加模板把资产、威胁场景、攻击路径、风险值整理清楚等团队形成成熟方法论后再考虑商业化工具总线安全测试用CANoe加上自己写的Python脚本基本能覆盖报文注入、重放、篡改这些场景模糊测试可以用开源框架做协议层输入变异重点盯诊断服务和SOA服务接口代码审计用静态分析工具在CI流程里做增量扫描配合人工代码审查覆盖关键模块。工具链的价值在于融入开发流程而不是在评审时当摆设。5.3 安全机制合规映射表评审会上用它说服团队信息安全方案推进过程中最大的阻力往往来自硬件和软件开发团队因为安全机制会挤占帧周期、CPU算力和存储空间。我的经验是不要只讲技术价值要把安全机制和合规要求绑定在一起做成一张映射表明确哪条R155条款、哪个ISO 21434章节对应哪个具体安全机制。这样评审会上就不是信息安全团队要加需求而是合规要求必须满足具体实现可以协商。表格越细越容易跟软件团队的排期对齐。6. 最后分享几条实践心得项目做多了会发现方案架构图往往画得漂亮真正的难度全藏在细节里。密钥管理流程的一个分支没覆盖到就可能酿成量产的批量事故SecOC的一个窗口参数没标定好就可能让整车网络在高温环境下振荡证书体系里少设计了一条撤销路径就可能让售后团队在用户现场手足无措。我现在的习惯是做完任何安全功能设计先在脑子里走一遍完整的异常场景——密钥过期怎么办、证书被撤销怎么办、安全启动连续失败怎么办、IDS误报又漏报怎么办——把这些异常的路径都想清楚方案才算真正闭环。最后分享一个非常实用的做法在安全需求文档里把每一条安全机制对应的测试用例编号都列出来让硬件、软件、测试团队各自确认用例覆盖度。评审会上这条信息比任何架构图都更能促成共识因为每个人都清楚自己负责的模块要交付什么、怎么验证。如果你正在推进一个新型电子电气架构的信息安全项目可以从这条路开始先拉一张系统边界图再做一轮TARA然后对着这张映射表把机制补位。安全没有一劳永逸的银弹但体系化的方法一定能让你少走很多弯路。
返回列表