2. 密码学基础
车载PKI不是孤立的安全组件,它建立在五类基础密码学原语之上:对称加密、非对称加密、哈希函数、数字签名和消息认证码。理解它们的原理与边界,是判断“某个车载场景该用哪种密码工具”的前提。本节从原理、性能、密钥管理和车载适用性四个维度展开,并给出选型对照。
一、五类原语的核心原理
对称加密使用同一把密钥完成加密与解密,典型算法有AES-128/256、SM4。它的优势是速度快、适合大数据量,缺点是密钥分发困难:n个节点两两通信需要n(n-1)/2把密钥。车载场景中,对称加密常用于SecOC的载荷加密、诊断数据的机密性保护、OTA固件包的加密传输。
非对称加密使用公钥加密、私钥解密(或反之),典型算法有RSA、ECC、SM2。它解决了密钥分发问题,但运算慢、密钥长。车载场景中,非对称加密主要用于密钥协商(如ECDH)和数字信封:用对称密钥加密数据,再用接收方公钥加密该对称密钥。
哈希函数把任意长度输入映射为固定长度摘要,具备单向性、抗碰撞性和雪崩效应,典型算法有SHA-256、SM3。它不提供机密性,只提供完整性指纹。车载场景中,哈希用于固件完整性校验、证书指纹计算、密钥派生(HKDF)。
数字签名是“私钥签名、公钥验签”的机制,本质是非对称加密与哈希的组合:先对消息哈希,再用私钥对摘要签名。它提供完整性、身份认证和不可否认性。车载场景中,数字签名用于V2X消息签名、OTA固件签名、诊断授权令牌。
消息认证码(MAC)使用共享密钥对消息计算认证标签,提供完整性和身份认证,但不提供不可否认性。典型算法有HMAC-SHA256、CMAC-AES。车载场景中,MAC是SecOC的核心:发送方用共享密钥计算MAC,接收方用同一密钥验证。
二、车载场景中的组合使用流程
单一原语无法覆盖车载安全需求,工程上通常按“协商—加密—认证—签名”的顺序组合。以一次OTA升级为例:
- 密钥协商:车辆与OTA服务器通过ECDH协商出会话密钥,避免对称密钥硬编码。
- 固件加密:用AES-256-GCM加密固件包,同时GCM自带认证标签,兼顾机密性与完整性。
- 哈希校验:对固件明文计算SHA-256摘要,与签名中的摘要比对,确认未被篡改。
- 签名验签:服务器用私钥对固件摘要签名,车辆用预置的OEM公钥验签,确认来源合法。
- SecOC保护:升级指令在CAN/CAN FD总线上传输时,用CMAC-AES计算MAC,防止重放与伪造。
三、车载适用性对照表
| 原语 | 典型算法 | 提供能力 | 性能特征 | 车载典型用途 |
|---|---|---|---|---|
| 对称加密 | AES-128/256、SM4 | 机密性 | 快,适合大数据量 | SecOC载荷加密、OTA固件加密 |
| 非对称加密 | RSA-2048、ECC P-256、SM2 | 机密性、密钥分发 | 慢,适合小数据量 | ECDH密钥协商、数字信封 |
| 哈希函数 | SHA-256、SM3 | 完整性指纹 | 快,无密钥 | 固件摘要、证书指纹、HKDF |
| 数字签名 | ECDSA、SM2、RSA-PSS | 完整性、认证、不可否认 | 验签开销较大 | V2X消息签名、OTA签名、诊断授权 |
| 消息认证码 | HMAC-SHA256、CMAC-AES | 完整性、认证 | 快,开销小 | SecOC、CAN FD帧认证 |
四、常见误区与复盘
误区二:用MAC代替数字签名。MAC使用共享密钥,接收方也能生成标签,因此无法向第三方证明“这条消息确实来自发送方”,不具备不可否认性。
误区三:在实时总线上直接使用非对称签名。CAN帧只有8字节(经典CAN)或64字节(CAN FD),ECDSA签名动辄64字节以上,且验签耗时毫秒级,无法满足10ms级实时性。正确做法是用SecOC的CMAC做逐帧认证,签名只用于密钥分发和固件级认证。
误区四:忽略算法国产化要求。国内车载项目需优先支持SM2/SM3/SM4,并在证书和密钥体系中预留算法标识位,避免后期替换成本。
复盘来看,车载密码学选型的核心不是“哪个算法最强”,而是“在给定总线带宽、ECU算力、实时性约束和合规要求下,哪个组合最合适”。对称加密与MAC负责实时链路,非对称加密与签名负责信任建立,哈希负责贯穿始终的完整性校验——三者分工明确,缺一不可。