Crypto Stack

Crypto Stack 加密协议栈为应用程序和系统功能提供了对加密服务的标准化访问,它位于整个 AUTOSAR 架构中的 BSW 中。 总所周知 BSW 中标准模块被分为微控制器抽象层、硬件抽象层、服务层,Crypto Stack 所包含的 KeyM 与 CSM、CryIf、Crypto Driver 就分别位于相应的层级中。

Crypto Stack 架构

Crypto Stack 在 AUTOSAR 中的架构层级


KeyM
SHE也有它的局限性:无法保护软件应用程序、不支持非对称算法、同一时间只允许一个进程访问,即:不支持并发。

与 HSM 相比 SHE 属于低配置安全存储,HSM按安全级别分三个等级:Full、Medium、Light,SHE应处在Full > Medium > SHE > Light


CSM
是其他软件模块调用加解密模块的第一接口。应用层SWC通过RTE访问CSM,而其他底层软件(BSW)或者复杂驱动(CDD)则可以直接调用CSM。同时CSM也负责安全相关任务的队列管理,即优先级管理。

CryIf
CSM往下调用的接口模块,每一个CryIf中的加密基元都会与CSM中的一个服务相对应。而且CryIf支持分发相关任务,进一步调用不同的驱动

Crypto Driver
驱动模块,访问相关硬件模块,实现加解密、机数生成等最终的操作。


支持的算法和密码元素

AUTOSAR 需求 <Requirements on Crypto Stack> R22-11 中已经规定了,以下的算法和密码元素需要支持:

  • 随机数生成器
    • 伪随机数生成器(DRNG)
    • 真随机数生成器(TRNG)

  • 对称加密
    • AES
    • PRESENT
    • ChaCha12/ChaCha20

  • AEAD
    • AES GCM
    • ChaCha20 and POLY1305

  • Asymmetric Encryption/Decryption and Signature Handling
    • RSA
      • Key Length: 1024, 2048, 3072, 4096
      • Padding: PKCS#1 v2.2
    • ECDSA
      • Key Length: 256 bits
      • Curve: NIST P-256
    • Ed25519

  • Hash
    • SHA-2
      • Length: 224, 256, 384, 512
    • SHA-3
      • Length: 224, 256, 384, 512
    • BLAKE
      • Length: 224, 256, 384, 512
    • RIPEMD-160

  • MAC
    • CMAC
    • GMAC
    • HMAC
    • POLY1305

  • Key exchange
    • ECDH
      • Key Length: 256 bits
      • Curve: NIST P-256
    • X25519
+