安全之安全(security²)博客目录导读
目录
1、加密算法和密钥大小
2、后量子准备
3、指导
3.1 推荐的参数大小
3.2 推荐的算法
3.3 内存保护
1、加密算法和密钥大小
根据不同的使用场景、市场和地理区域,所需的加密算法和密钥大小可能有所不同。
作为一般建议,在没有具体的应用要求、保护配置文件或法规规定的情况下,CCA设备应设计为符合NIST建议,或CNSS顾问备忘录信息保障02-15,或目标地区的当地等效标准。
请参见:
- NIST加密标准和指南
- CNSS发布的备忘录
2、后量子准备
根据当前的一般指导意见,例如为量子安全密码学做准备,目前CCA实现中尚未包含后量子安全密码学的推荐算法。如果某个市场有需要,实现可以选择采用此类算法。
CCA中的所有加密功能都可以通过CCA固件更新进行更新,除了不可变的初始启动代码。
[R0123] Arm建议尽可能在CCA实现中引入升级路径,以便支持后量子安全密码学。
3、指导
下表列出了CCA实现中算法和密钥大小的一般建议。
3.1 推荐的参数大小
参数类型 | 大小 | 说明 |
---|---|---|
公共标识符 | 512位 | 通常为公钥或证书的哈希值。Arm不建议使用截断哈希作为公共标识符。 |
用作唯一标识符的计数器值 | 64位 | |
用于对称密钥派生的种子 | 256位 | |
对称密钥 | 256位 | AES-256 |
非对称密钥 | RSA: 3072位 ECC: 384位 | RSA 3072 ECC Curve-P384 |
3.2 推荐的算法
操作 | 算法 | 说明 |
---|---|---|
通用加密 哈希函数 | AES-256 SHA-512 | NIST SP 800-107 |
签名 – RSA 选项 | RSA-PKCS#1 v2.2 RFC 8017, FIPS PUB 186-4 | RSASSA-PSS 3072 EMSA-PSS SHA-512 |
签名 – ECC 选项 | ECDSA RFC 6979, FIPS PUB 186-4 | Curve P-384 SHA-512 |
签名 – 对称 | HMAC-SHA512 RFC 2104, NIST SP 800-107 | 512位 Arm不建议截断HMAC。 |
密钥派生 | NIST SP 800-108 计数器模式 |
3.3 内存保护
操作 | 算法 | 说明 |
---|---|---|
加密 | QARMA-128,使用256位密钥 AES-128-XEX,使用两个独立的128位密钥 |