3. 密码学基础

在车载HSM密码服务与安全存储工程中,所有安全能力最终都落在六类基础密码原语上:对称加密、非对称加密、哈希、MAC、数字签名与密钥交换。它们不是彼此替代的关系,而是分别解决“机密性、完整性、身份真实性、密钥分发”四类问题。理解它们的输入输出、密钥形态与信任假设,是后续设计密钥层级、安全存储结构和诊断安全访问的前提。

一、六类原语的核心定位

对称加密使用同一把密钥完成加密与解密,典型算法为AES-128/256,工作模式常见CBC、CTR、GCM。它的优势是速度快、适合大数据量,例如对整车日志、固件分块、NVM中的敏感配置进行加密。非对称加密使用公钥与私钥配对,典型算法为RSA、ECC(如P-256、Ed25519),适合小数据量加密、签名验证和密钥封装,但计算开销明显高于对称算法。

哈希函数(SHA-256、SHA-3)把任意长度输入压缩为固定长度摘要,具备单向性和抗碰撞性,用于完整性度量、口令派生和签名前的消息压缩。MAC(如HMAC-SHA256、CMAC-AES)在哈希或分组密码基础上引入共享密钥,既验证完整性又验证持有同一密钥的实体身份。数字签名用私钥生成、公钥验证,提供不可否认性,是OTA包、诊断授权、证书链验证的关键。密钥交换(ECDH、DH)让双方在不安全信道上协商出共享会话密钥,解决“对称密钥如何安全到达对端”的问题。

六类密码原语 → 四类安全目标 对称加密 AES 同一密钥加解密 · 快 CBC / CTR / GCM 非对称加密 RSA/ECC 公钥加密 · 私钥解密 密钥封装 / 小数据 哈希 SHA-256 单向 · 抗碰撞 · 定长 度量 / 派生 / 摘要 MAC HMAC/CMAC 共享密钥 · 完整性+身份 不可否认性弱 数字签名 ECDSA 私钥签名 · 公钥验证 不可否认 · 证书链 密钥交换 ECDH 不安全信道协商共享密钥 前向保密(临时密钥) 机密性 Confidentiality 对称加密 + 非对称封装 完整性 Integrity 哈希 + MAC + AEAD 身份真实性 Authenticity MAC + 数字签名 + 证书 密钥分发 Key Distribution 密钥交换 + 密钥封装 工程组合原则 AEAD = 对称加密 + MAC 签名 = 哈希 + 非对称私钥运算

二、方法流程:从明文到可信数据的典型链路

在车载场景中,一条完整的安全数据链路通常按以下顺序组合原语:

  1. 发送方用哈希对消息计算摘要,保证后续签名只处理定长数据。
  2. 用私钥对摘要执行签名运算,生成数字签名,随消息一起下发。
  3. 若消息需要保密,则用对称密钥以AES-GCM加密,GCM同时输出认证标签,等价于“加密+MAC”。
  4. 对称密钥本身通过ECDH协商,或用接收方公钥做密钥封装后传输。
  5. 接收方先验证签名与证书链,再用共享密钥解密并校验认证标签,最后比对哈希摘要。

这条链路体现了“非对称解决信任与密钥分发,对称解决吞吐,哈希解决压缩与度量,MAC解决完整性”的分工。任何一环缺失,都会导致安全目标不完整。

三、车载场景案例:OTA升级包的验证与解密

假设T-Box从云端下载一个OTA升级包,包体较大且需防止篡改和伪造。工程实现通常如下:

云端:
  digest = SHA-256(firmware)
  signature = ECDSA_Sign(OEM_PrivateKey, digest)
  sessionKey = ECDH(OEM_Ephemeral_Priv, Vehicle_Pub)
  ciphertext, tag = AES-256-GCM(sessionKey, firmware)

车端HSM:
  1) 用OEM公钥验证 signature,确认来源与完整性
  2) 用ECDH协商同一 sessionKey
  3) AES-GCM解密并校验 tag
  4) 再次计算 SHA-256 与签名中的 digest 比对
  5) 校验通过后写入安全存储区,密钥不出HSM边界

这里数字签名保证“包来自OEM且未被篡改”,AES-GCM保证“包体机密且传输完整”,ECDH保证“会话密钥不通过明文信道传输”。三者缺一不可。

四、常见误区与复盘

误区一:用哈希代替MAC。 哈希没有密钥,攻击者可以同时修改数据和摘要,无法验证来源。需要完整性+身份时必须使用HMAC或CMAC。

误区二:用MAC代替数字签名。 MAC基于共享密钥,接收方也能伪造,不具备不可否认性。对外责任认定场景必须使用数字签名。

误区三:ECB模式加密敏感数据。 ECB相同明文块产生相同密文块,会泄露数据结构,车载配置、日志等应使用CBC、CTR或GCM。

误区四:忽略IV/Nonce唯一性。 GCM在同一密钥下重复Nonce会严重破坏安全性,HSM应强制Nonce管理策略。

五、原语对比清单

原语 密钥形态 主要安全目标 典型算法 车载典型用途
对称加密 同一密钥 机密性 AES-128/256-GCM 固件加密、日志保护
非对称加密 公钥/私钥 机密性、密钥封装 RSA-OAEP、ECIES 会话密钥封装
哈希 无密钥 完整性、度量 SHA-256、SHA-3 安全启动度量、口令派生
MAC 共享密钥 完整性+身份 HMAC-SHA256、CMAC-AES SecOC报文认证、诊断认证
数字签名 私钥签名/公钥验证 真实性、不可否认 ECDSA、Ed25519 OTA签名、证书链
密钥交换 双方公私钥对 密钥分发 ECDH、DH 车云会话密钥协商

工程记忆口诀:对称管吞吐,非对称管信任,哈希管压缩,MAC管完整,签名管责任,交换管分发。 在HSM内部,这六类原语通常以独立密钥槽和独立权限位管理,密钥材料不得以明文离开安全边界。