0%

hsm 参考

HSM 规范

HSM是一种自主的硬件,可以用于车辆安全信息(比如密钥)的生成,存贮以及处理,且隔离外部恶意软件的攻击。

HSM可以用于构建,验证可靠的软件,以保护在软件加载并初次访问之前的安全启动。HSM包含有加密/解密硬件加速功能,和软件解决方案相比(Cry),能够有效降低CPU负载。

包含两个部分:

  1. Security building blocks负责加密/解密的硬件操作;
  2. Logical building blocks负责与Application ECU交互数据以及软件的加密/解密操作;

hsm 等级

full hsm

full hsm

  • ECC-256:256位高速ECC椭圆加密算法引擎;
  • Whirlpool: AES Hash算法;
  • AES-128:标准AES加密/解密算法;
  • PRNG with TRNG seed:真伪随机数生成器;

Medium hsm


无ECC和Hash引擎;和EVITA full一样,medium的安全区域,完全是和应用程序ECU隔离开的;

light hsm

只有aes 对称加密的加速器

HSM的功能

  • 对称密钥加密/解密
  • 非对称密钥加密/解密
  • 哈希值计算
  • 非对称签名的生成和验证
  • 对称验证
  • 随机数生成
  • 安全密钥存贮
  • 单调计数器

HSM的应用场景

  • 启动保护
  • 安全的板级通信
  • 安全的诊断锁
  • 安全的软件更新
  • 访问控制

autosar CSM 调用链的要求

  1. 密钥存储, 密钥派生, 密钥权限管控
  2. autosar 调用链存在同步任务/异步任务, 异步任务的实现需要hsm 硬件支持中断

防物理攻击(可选)

FIPS-140 2 标准安全等级

NIST.FIPS.140-2.pdf

国密标准安全等级

GMT 0008-2012 安全芯片密码检测准则.pdf

场景示例

ADS控制器状态采用类似机可以采用介于FIP140-2中2或3等级的加密模块HSM保证安全性,在AutoSAR中涉及到的资源及网络安全链路concept如下:

image-20220701152832558

image-20220701152730165

ASIL 来自于 ISO26262 标准, ASIL D 为最高的安全等级 https://zh.wikipedia.org/zh-hans/ISO_26262

CAL 安全等级来自于 ISO/SAE 21434 标准, 网络安全保证级别(CAL) Cybersecurity Assurance Level ,类似于 ISO 26262 中的 ASIL,用来控制网路安全措施的工作。和 ISO 26262 的ASIL不同,ISO/SAE 21434不建议针对CAL有对应措施。CAL主要是产品开发人员评估用的定性分类 https://zh.wikipedia.org/zh-hans/ISO/SAE_21434

App1,App2及App3是ASILD的,同时均需要被网络安全机制保护。

因制动踏板相关信号及HWP功能状态速度通常是10ms一次,因而用AES算法计算比较快,但ADS状态机可以是80ms FHTI,此时可以用保密性更强的RSA模型。

因CSM/CryIf/Crypto Hardware称为Crypto Stack,此时从CSM的工作图,可以简要推导出如下与HSM相关的AutoSAR需求ASIL级别及CAL级别,并由此更加明确HSM的ASIL级别和等级:

Context ASIL CAL HSM functionality
RS_CRYPTO_02001 The Crypto Stack shall conceal symmetric keys from the users D(旧方案,如果新方案考虑座舱对人的监控则可降低到 B) CAL2 D (Safety functional)Key store in HSM
RS_CRYPTO_02002 The Crypto Stack shall conceal asymmetric private keys from the users D(旧方案,如果新方案考虑座舱对人的监控则可降低到 B) CAL2 D (Safety functional)
RS_CRYPTO_02109 The Crypto Stack shall support interfaces for a unified Machine-wide storage and retrieval of different crypto objects D CAL2 D secure storage and retrieval of different crypto objects (e.g. keys, certificates, digests, etc.)
RS_CRYPTO_02401 The Crypto Stack should support a joint usage ofmultiple back-end cryptography providers including ones with non-extractable keys D CAL2 D concept of non-extractable keys (HSMs/TPMs).
SRS_CryptoStack_00101 Asynchronous Job Processing Not D,normally CAL2 B Different time countering Counter is must
SRS_CryptoStack_00008 The Crypto Stack shall allow static configuration of keys used for cryptographic jobs QM(D) CAL2 Configuration FLASH/RAM is requested
SRS_CryptoStack_00010 The Crypto Stack shall conceal symmetric keys from the users of crypto services D CAL2 D Keys residing in the HSM
SRS_CryptoStack_00011 The Crypto Stack shall conceal asymmetric private keys from the users of Crypto services D CAL2 D Due to keys residing in the HSM
SRS_CryptoStack_00098 The Crypto Driver shall provide access to all cryptographic algorithms supported by the hardware D CAL2 D Primitives which are supported by the HSM should be accessible through the Crypto Driver.

由上述需求的要求,我们得到了该ADS控制器对HSM的特性要求:

Item 完整HSM CAL ASIL
RAM x 2 B(粗略估计) SRS_CryptoStack_00008 SRS_CRYPTO_02109 SRS_CRYPTO_02001
NVM x 2 D SRS_CryptoStack_00008 SRS_CryptoStack_00011 SRS_CryptoStack_00010 SRS_CRYPTO_02401 SRS_CRYPTO_02109 SRS_CRYPTO_02001
对称加密引擎 x 2 D RS_CRYPTO_02002
非对称加密引擎 x 2 D RS_CRYPTO_02002
哈希引擎(生成MAC) x 2 D SRS_CryptoStack_00011 SRS_CryptoStack_00010
计数 x 2 B SRS_CryptoStack_00101
随机数发生器 x 2 D RS_CRYPTO_02401
CPU安全防护 x 2 D RS_CRYPTO_02002
IO部件 x 2 D SRS_CryptoStack_00098

如下是关于全套HSM上,每个子模块的ASIL级别

img