CCC 数字钥匙规范中的密码学算法

数字钥匙系统通过多种密码学算法协同工作,实现设备身份认证、密钥协商、指令加密、距离验证及隐私保护等核心安全能力。相关算法分布于应用层、安全通道、配对流程以及近场通信与物理层测距等多个环节,彼此之间存在明确的使用边界和依赖关系。

本文对 CCC 数字钥匙体系中涉及的主要密码学算法进行统一梳理,按功能类别对其用途和应用场景进行归纳说明,旨在为架构设计、实现开发及安全评审提供一份清晰、完整的算法参考。

1. 非对称加密与签名算法 (Asymmetric Cryptography)

这类算法构建了系统的信任根,用于身份鉴别和初始密钥交换。

  • NIST P-256 (secp256r1)
    • 描述: 规范唯一指定的椭圆曲线参数,提供约 128 位安全强度。
    • 应用: 生成端点私钥(endpoint.SK)与公钥(endpoint.PK),是所有证书体系的数学根基 [2190, 14.1.2]。
  • ECDSA (with SHA-256)
    • 描述: 结合 SHA-256 摘要的椭圆曲线数字签名算法。
    • 应用: 签署端点证书、证明包(Attestation Package)以及交易中的挑战值(Challenge)响应 [2190, 5.1.4.3]。
  • ECDH / ECKA-DH
    • 描述: 椭圆曲线密钥协商协议,允许双方在公开信道协商共享秘密。
    • 应用:标准交易 中生成 32 字节共享秘密 KdhK_{dh}Kdh,用于派生后续会话密钥 [2191, 15.3.3.1]。
  • ECIES_v1
    • 描述: 椭圆曲线集成加密方案,结合了 ECDH 和对称加密。
    • 应用: 专用于移动设备与车企服务器间的**钥匙追踪(Key Tracking)**请求及机密数据保护 [2191, 17.11]。

2. 对称加密与消息认证算法 (Symmetric Cryptography)

用于在身份确立后,保障指令传输的高速、机密与完整。

  • AES-128 / AES-256
    • 描述: 高级分组加密标准,CCC 体系的基础加密模块。
    • 应用场景: AES-CBC 用于 SCP03 安全通道指令加密;AES-GCM 用于 ECIES 场景;AES-CCM* 专用于 UWB SP0 帧加密。
  • AES-CMAC-128
    • 描述: 基于 AES 的消息认证码算法。
    • 应用: 计算快速交易的身份验证密文(Cryptogram)、SPAKE2+ 协议证据 [2192, 15.3.3.1]。
  • Retail MAC
    • 描述: 符合 GlobalPlatform 规范的链式 MAC 算法。
    • 应用: 应用于 SCP03 安全通道 ,通过 MacChainValue 防止指令流被重放或篡改。

3. 密钥派生与散列算法 (KDF & Hashing)

负责将原始秘密"加工"成用途隔离的多种功能密钥。

  • HKDF-SHA256
    • 描述: 基于 HMAC 的密钥派生函数,包含"提取"和"扩展"阶段。
    • 应用: 从共享秘密中派生**系统密钥(Kenc,Kmac,KrmacK_{enc}, K_{mac}, K_{rmac}Kenc,Kmac,Krmac)**及测距用的长期共享秘密 [2193, 18.4.9]。
  • ANSI X9.63 KDF
    • 描述: 专为 ECDH 场景设计的密钥派生标准。
    • 应用: 在 ECDH 流程中将共享秘密点转换为固定长度的关键算法材料 [2194, 17.11.4]。
  • NIST SP 800-108 (Counter Mode)
    • 描述: 计数器模式密钥派生函数。
    • 应用: 专门用于派生**机密信箱(Confidential Mailbox)**保护密钥 KEencKE_{enc}KEenc 和 KEmacKE_{mac}KEmac [2194, 15.3.3.1]。
  • SHA-256 / SHA-1
    • 描述: 安全散列算法。SHA-256 为主,SHA-1 仅限特定场景。
    • 应用: SHA-256 用于所有摘要计算和 KDF 输入;SHA-1 仅用于计算 Subject Key Identifier (KeyID) [2194, 4.2]。

4. 增强安全与物理层特定算法

Release 3 规范特有的算法,旨在对抗物理层攻击和离线穷举攻击。

  • SPAKE2+ (PAKE)
    • 描述: 增强型密码验证密钥交换协议。
    • 应用: 核心应用于车主配对(Owner Pairing),在不暴露明文的情况下基于 8 位 PIN 码建立安全连接 [2194, 18.1]。
  • Scrypt
    • 描述: 内存密集型哈希算法。
    • 应用: 将低熵密码强化为高熵验证器,防御针对配对密码的暴力破解 [2195, 18.1.2]。
  • DRBG (AES-CTR)
    • 描述: 确定性随机位生成器。
    • 应用: 驱动 UWB 物理层生成 STS(混淆时间戳序列),提供抗中继攻击的时间指纹 [2195, 22.1.1]。
  • 纠错编码 (Reed-Solomon & SECDED)
    • 描述: 包含 RS (63, 55) 编码、SECDED 汉明码及卷积码 G(2,5)G(2,5)G(2,5)。
    • 应用: 应用于 UWB 物理层(PHY),保护 SP0 帧负载和 PHR 头的传输稳健性。
  • Address Rotation (UAD)
    • 描述: UWB 地址派生与旋转算法。
    • 应用: 周期性更换 UWB 通讯地址,防止第三方通过固定硬件地址追踪设备物理位置 [1895, 22.1.4.1]。

5. 安全通道协议算法 (Secure Channel Protocols)

  • GlobalPlatform SCP03 / SCP11
    • 描述: 工业标准的 SE 通讯保护协议。
    • 应用: 用于在 SE 与手机框架层之间建立加密传输通道,保护内部 APDU 指令隐私。
相关推荐
钢琴上的汽车软件3 天前
CCC 数字钥匙系统:安全元件(SE)功能与技术全景指南
安全·se·ccc数字钥匙
三年呀3 个月前
指纹技术深度剖析:从原理到实践的全方位探索
图像处理·人工智能·计算机视觉·指纹识别·生物识别技术·安全算法