3. 密码学基础
在车载密钥生产与产线安全工程中,密码学不是抽象理论,而是贯穿密钥生成、注入、存储、传输、校验和审计全过程的“工程材料”。理解六类基础原语的分工,才能正确设计产线密钥体系,避免把加密、认证、完整性保护混为一谈。
一、核心原理:六类原语的分工
对称加密使用同一把密钥完成加密和解密,典型算法有 AES-128/256、SM4。它的优势是速度快、适合大数据量,例如加密 ECU 固件包、诊断日志或密钥备份文件。难点在于密钥分发:产线设备与后台服务器必须预先共享同一密钥,且密钥数量随节点增加而膨胀。
非对称加密使用公钥加密、私钥解密,或私钥签名、公钥验签,典型算法有 RSA、ECC、SM2。它解决了密钥分发问题,但运算慢,通常只用于保护对称密钥、协商会话密钥或做数字签名,不直接加密大块数据。
哈希函数把任意长度输入压缩成固定长度摘要,如 SHA-256、SM3。它具备单向性和抗碰撞性,用于校验固件完整性、生成密钥指纹、构建消息认证码。哈希本身不提供机密性,也不能单独证明来源。
消息认证码(MAC)在共享密钥下对消息生成认证标签,如 HMAC-SHA256、CMAC-AES。它同时保证完整性和来源认证,但通信双方共享同一密钥,因此无法向第三方证明“是谁发的”。
数字签名用私钥签名、公钥验签,如 ECDSA、SM2 签名。它提供不可否认性,适合产线授权文件、密钥注入许可、固件发布清单等场景。
密钥派生函数(KDF)从一个主密钥或共享秘密派生出多个用途隔离的子密钥,如 HKDF、PBKDF2、SP800-108 KDF。它让“一把主密钥”安全地扩展为加密密钥、MAC 密钥、会话密钥,避免密钥复用。
二、方法流程:从主密钥到产线可用密钥
车载密钥生产通常遵循“根密钥不出安全边界、子密钥按需派生、用途严格隔离”的流程。典型步骤如下:
- 在 HSM 或安全服务器中生成或导入根密钥,根密钥永不导出明文。
- 使用 KDF 从根密钥派生“产线加密密钥”“产线 MAC 密钥”“诊断会话密钥”等子密钥,并绑定用途标签和产线编号。
- 用对称密钥加密密钥材料,用 MAC 或数字签名保护注入指令,用哈希校验固件与配置清单。
- 将密文、认证标签、签名和摘要一并下发到产线工装,工装验签、验 MAC、解密后写入 ECU。
- 记录密钥指纹、派生路径、操作时间和操作员,形成可审计日志。
关键点:KDF 的输入应包含上下文信息,如产线 ID、ECU 序列号、用途标签,使同一主密钥在不同场景下派生出不同子密钥,即使某一子密钥泄露,也不会危及其他用途。
三、案例/场景:产线密钥注入的密码学组合
假设某 ECU 产线需要向 10 万台控制器注入唯一密钥。后台使用 SM4 加密密钥包,使用 HMAC-SM3 保护注入指令完整性,使用 SM2 签名授权“本批次允许注入”,使用 SM3 校验固件摘要,使用 HKDF 从主密钥派生每台设备的传输密钥。
主密钥 MK
├─ HKDF(MK, "line-A/enc") → 产线加密密钥 K_enc
├─ HKDF(MK, "line-A/mac") → 产线认证密钥 K_mac
└─ HKDF(MK, "ecu-0001/session") → 设备会话密钥 K_sess
注入包 = SM4(K_enc, 密钥材料) || HMAC-SM3(K_mac, 指令头)
授权文件 = SM2_Sign(产线私钥, 批次清单)
校验值 = SM3(固件镜像)
工装收到注入包后,先验 SM2 签名确认批次合法,再验 HMAC 确认指令未被篡改,然后用 K_enc 解密密钥材料,最后用 SM3 校验固件。四类原语各司其职,缺一不可。
四、误区与复盘
| 常见误区 | 后果 | 正确做法 |
|---|---|---|
| 用哈希代替签名 | 无法证明来源,攻击者可替换摘要 | 需要来源认证时使用数字签名或 MAC |
| 用 MAC 代替数字签名 | 共享密钥导致无法向第三方举证 | 需要不可否认性时使用非对称签名 |
| 同一密钥既加密又做 MAC | 密钥复用增加攻击面 | 用 KDF 派生用途隔离的独立子密钥 |
| KDF 不带上下文标签 | 不同产线派生出相同子密钥 | 绑定产线 ID、设备 ID、用途标签 |
| 只校验哈希不校验签名 | 固件被替换后哈希也会被同步替换 | 哈希与签名、MAC 组合使用 |
复盘提醒:产线安全工程中最危险的不是算法强度不足,而是原语用错位置。加密解决机密性,MAC 和签名解决完整性与来源,哈希解决摘要与指纹,KDF 解决密钥扩展与隔离。设计时先问“我要防什么”,再选原语,而不是先选算法再找用途。
实践建议:在密钥生产系统中为每类原语建立独立密钥域和独立审计字段;对 KDF 的输入、输出长度、盐值和上下文做版本化管理;所有签名和 MAC 验证失败必须记录失败原因和原始摘要,便于产线排障与安全追溯。