整车OTA方案
https://docs.google.com/document/d/16rLC7VBCCfCuqpzfmg_12sidNGAxvSi0MJ3y-lWMK1s/edit?tab=t.0
DP(Download Policy)策略包与DC(代码升级包)安全流程详解
1. DP策略包下载(策略层安全控制)
1.1 核心功能
- 定义:DP策略包包含OTA升级的全局策略,如目标ECU列表、升级顺序、依赖关系、版本兼容性规则、用户授权策略等。
- 作用:指导OTA Manager协调车内各ECU的升级流程,确保升级过程有序、可控。
1.2 安全流程
- 安全通道建立
- 协议:DTLS 1.2(基于RFC 6347)双向认证,防止中间人攻击。
- 流程:
- Flight 1:OTA Manager发送支持的DTLS版本、随机数、加密算法(如ECDHE-ECDSA-AES256-GCM-SHA384)。
- Flight 4:OTA Server返回确认协议版本、随机数、服务器证书(含公钥)。
- Flight 5:OTA Manager生成预主密钥(Premaster Secret),用服务器公钥加密后发送,双方基于随机数和预主密钥生成会话密钥。
- 策略包传输与验证
- 传输内容:
- 加密的DP策略包(JSON/XML格式)。
- OTA业务证书(含有效期、域名等元数据)。
- 用TBOX/MDC/CDC公钥加密的对称密钥K(AES256)。
- 验证机制:
- 证书链校验:OTA Manager使用预置的车联网根证书验证OTA业务证书的合法性(如CA签名、有效期、域名匹配)。
- 签名验证:用OTA业务证书的公钥解密DP策略包的哈希签名,比对本地计算的哈希值,确保完整性。
- 传输内容:
- 策略包分发至域控制器
- 安全通道:OTA Manager与TBOX、MDC、CDC的Update Agent建立TLS 1.3双向认证通道(基于RFC 8446)。
- 数据加密:
- 策略包内容(URL、升级规则)用会话密钥加密。
- 对称密钥K用域控制器公钥加密(如ECDH密钥交换),确保仅目标域控制器可解密。
1.3 密钥管理
- 对称密钥K:由KMS动态生成,生命周期与单次升级任务绑定,任务完成后销毁。
- 保护机制:K通过域控制器公钥加密后传输,私钥存储于硬件安全模块(HSM)中,防止物理提取。
2. DC升级包下载(代码层安全传输)
2.1 核心功能
- 定义:DC升级包为具体ECU的固件或软件二进制文件(全量包或差分包)。
- 作用:通过安全通道下载并存储至车辆本地,供后续刷写使用。
2.2 安全流程
- 安全通道建立
- 协议:HTTPS(TLS 1.3单向认证),车端验证CDN服务器证书。
- 流程:
- TBOX/CDC/MDC的Downloader向CDN发起HTTPS请求,CDN返回证书链(由可信CA签发)。
- 车端验证证书有效性(域名、有效期、吊销状态),协商会话密钥(如AES256-GCM)。
- 升级包下载与验证
- 传输内容:加密的DC升级包(可能分片传输支持断点续传)。
- 完整性校验:
- 签名验证:使用OTA业务证书的公钥解密升级包的数字签名(ECDSA),比对哈希值(SHA-256)。
- 本地存储:验证通过后,升级包以加密形式(AES256-CBC)存储于域控制器安全存储区。
- 密钥解密与准备刷写
- 解密时机:仅在刷写阶段由目标ECU的HSM解密对称密钥K,再用K解密升级包。
- 防重放攻击:升级包附带时间戳和随机数(Nonce),确保单次有效性。
2.3 分场景处理
- 大文件优化:MDC/CDC的升级包可能超过1GB,采用分块哈希签名(每1MB生成CMAC),避免全量校验延迟。
- 差分包安全:差分包需额外验证与基础版本的兼容性哈希,防止版本错配。
3. DP与DC的协同机制
- 策略驱动下载:DP策略包指定DC升级包的URL、版本号及依赖关系,Downloader按策略拉取对应包。
- 动态密钥绑定:DP策略包中的加密密钥K与DC升级包一一绑定,确保“一包一密”。
- 状态同步:Downloader将下载进度(完成/中断/错误)实时反馈至OTA Manager,触发策略调整(如重试或降级)。
4. 安全技术对比
| 安全维度 | DP策略包 | DC升级包 |
|---|---|---|
| 协议 | DTLS双向认证 | HTTPS单向认证 |
| 加密算法 | AES256-GCM(会话密钥) | AES256-CBC(包体加密) |
| 签名算法 | ECDSA(ED25519曲线) | ECDSA(P-256曲线) |
| 密钥管理 | 动态生成,HSM保护 | 预置证书,KMS托管 |
| 核心目标 | 策略完整性、权限控制 | 代码机密性、防篡改 |
5. 潜在风险与应对
- 策略泄露:DP包若被篡改可能导致升级流程混乱。
- 应对:HSM存储私钥,DP包签名强制校验。
- 中间人攻击:HTTPS单向认证可能被伪基站劫持。
- 应对:结合车辆唯一标识(VIN)绑定证书,增强CDN身份校验。
- 密钥泄露:长期使用固定密钥可能导致破解。
- 应对:密钥动态生成,生命周期限制为单次任务。
总结:DP策略包与DC升级包通过分层加密、动态密钥和双向认证,分别保障策略安全与代码安全,形成OTA升级的“策略-代码”双保险,确保整车升级过程的可控性与抗攻击能力。
