附件 2 — 算法要求
类似于 PCI DSS 密码学要求(强密码学)
中文译文供阅读与核对;请同时参阅俄文和英文原文。当前版本为 v0.2 草案。
部分规范性文件: 附件2 标准版: 0.2
附件 2 — 算法要求
A2.0。目的
本附录定义了允许在经过 CCSA 标准认证的系统中使用的特定加密算法。结构:3 层(全球、俄罗斯、量子就绪)、TLS 配置、推荐库和 HSM 产品、算法弃用流程以及审核清单。
规范依据:
- NIST SP 800-57 Rev. 5(密钥管理生命周期)
- FIPS 186-5(ECDSA,EdDSA)
- FIPS 202(SHA-3 系列)
- NIST SP 800-132 (PBKDF)
- OWASP 密码存储备忘单 (2024)
- GOST R 34.10-2018、34.11-2018、34.12-2018、34.13-2018(针对俄罗斯客户)
- NIST PQC 标准化(ML-KEM、ML-DSA 8 月定稿 2024)
CCSA 没有重复这些文件的要求,而是针对加密托管环境指定并加强了它们。
A2.1。 Global Tier(国际算法)
非对称签名
允许:
- ECDSA secp256k1(比特币、以太坊遗产)— 256 位强度等值
- ECDSA P-256、P-384(NIST 曲线) — 128-bit、192-bit 强度
- Ed25519 (EdDSA) — 128- 位强度; Solana 和许多现代区块链
- BLS12-381(以太坊2.0共识,Filecoin)—128-比特强度
- RSA — 具有基于级别的要求:
- L1、L2: RSA-3072+ 允许旧版兼容性
- L3: RSA-3072 自 2028-01-01 起已弃用;在此日期之后生成新密钥时必须使用 RSA-4096+
- 所有级别: RSA < 2048 位禁止
禁止:
- ECDSA with k-reuse(已知严重漏洞,泄露私钥)
- DSA(已弃用,NIST SP 800-131A 修订版 2)
- RSA < 2048 生产中的位
- 过时曲线上的 ECDSA(secp192k1 及更低版本)
哈希
允许:
- SHA-256、SHA-384、SHA-512(NIST SHA-2 系列;FIPS 180-4)
- SHA-3 系列 — Keccak-256、Keccak-512(FIPS 202;以太坊原生;Solana)
- BLAKE2b、BLAKE3 (RFC 7693) — 用于性能关键路径
禁止安全关键操作:
- MD5(损坏;RFC 6151)
- SHA-1(已证明冲突;根据 NIST SP 800-131A Rev. 2 已弃用)
- RIPEMD-160(旧版;仅允许向后兼容比特币见证脚本)
对称加密
允许的 AEAD 算法(建议用于所有新部署):
- AES-256-GCM(主 AEAD 算法)
- AES-256-GCM-SIV(适用于存在nonce重用风险的场景)
- ChaCha20-Poly1305(移动,性能关键)
非 AEAD 模式仅在配备独立 MAC 时允许使用:
- AES-256-CTR + HMAC-SHA-256 在加密后的 MAC 结构中
禁止:
- DES,3DES(已弃用)
- RC4、RC5、RC6(已损坏/已取代)
- 未配备独立 MAC 的 AES-ECB 和 AES-CBC
- AES-128 用于长期受保护的数据(适用于会话范围的临时数据)
密钥派生
允许的 KDF:
- Argon2id(新部署的首选) - 最小参数 m ≥ 19 MiB,t ≥ 2,p = 1(OWASP 密码存储备忘单,2024)
- PBKDF2 — SHA-256 的最小 600,000 迭代(OWASP 2024 推荐);建议新部署使用 SHA-512
- scrypt — 最小值 N = 2^17,r = 8,p = 1(相当于大约 128- 位工作因子)
- HKDF (NIST SP 800-56C Rev. 2) — 用于协议中的密钥推导,不适用于密码散列
禁止:
- 用于密码存储的纯哈希(SHA-256,没有 KDF 迭代计数)
- PBKDF2 < 100,000 生产中的迭代(必须迁移迭代次数 < 100K 的遗留系统)
- Argon2,参数 m < 19 MiB 或 t < 2(计算工作因子不足)
随机数生成
允许的熵源:
- 硬件真随机数生成器(TRNG),经过 FIPS 140-3 级别 3+ 认证
- 符合 NIST SP 800-90A 的确定性随机位生成器 (DRBG),根据 SP 800-90B/C 进行播种
- HSM 内部 RNG 具有有效的 FIPS 证书
- Apple Secure Enclave RNG(Apple Silicon、A14+)和 Android 硬件支持的密钥库 RNG (StrongBox)
- 现代 Linux 内核 (5.18+) 上的
/dev/urandom用于服务器端操作(请参阅 B.2.1 节中有关初始熵的注释)
禁止生产来源CCM: JavaScript 中的
Math.random()、Python 中的random模块(不含secrets)、Java 中的Random(不含SecureRandom)- 用户提供的熵,无需加密源增强
- 基于时间的种子
- 无需加密种子的伪随机
A2.2。 Russian Tier(俄罗斯算法)
非对称签名
允许:
- GOST R 34.10-2018(椭圆曲线上的电子签名)
**申请:**对于与俄罗斯DFA(数字金融资产)相关的文件是强制性的;用于使用数字卢布进行操作;除了全球层之外,还推荐给俄罗斯客户。
哈希
允许:
- GOST R 34.11-2018 (Streebog)
**应用:**使用GOST R 34.10-2018时强制。
对称加密
允许:
- GOST R 34.12-2018 — Kuznyechik(128-bit 块)
- GOST R 34.12-2018 — Magma(64-bit 块,仅旧版兼容性)
模式 (GOST R 34.13-2018):
- CTR(计数器模式)
- CBC-IM(CBC 与 MAC)
- MGM(多线性伽罗瓦模式 - GCM 的 AEAD 模拟,推荐用于 GOST 上的 CCM)
加密信息保护工具(СКЗИ)认证
СКЗИ 等级(根据俄罗斯 FSB):
| 班级 | 应用 |
|---|---|
| КС1 | 最小 |
| КС2 | 中 — 俄罗斯联邦 1 CCSA 级别的最低要求(对于大多数金融组织) |
| КС3 | 高架 — 俄罗斯联邦最低 2 CCSA 级 |
| КВ1 | 高 — 俄罗斯联邦 3 CCSA 级别的最低值 |
| КВ2 | 非常高(对于政府系统) |
| КА | 最高(军事/国家机密) |
认证产品(示例,并非详尽列表):
- KriptoPro CSP — КС1、КС2、КС3
- ViPNet CSP — КС1、КС2、КС3
- 信号-COM CSP — КС1, КС2
- Kontinent-AP — 适用于 VPN
- APKSh Kontinent — 用于加密
完整的 СКЗИ 注册表可在俄罗斯 FSB (https://clsz.fsb.ru/clsz/) 的官方网站上找到。
A2.3。量子就绪层(v1.0 中的建议,v2.0 中的 L3 强制)
目标
后量子密码学的准备。在 v1.0 中 — 咨询(推荐);在 v2.0 (2029) 中 — 对于 3 级别是强制性的。
允许的后量子算法(NIST PQC 标准化、最终确定 2024)
非对称密钥封装机制(KEM):
- ML-KEM(原 CRYSTALS-Kyber)— NIST FIPS 203(Kyber-512、Kyber-768、Kyber-1024)
数字签名:
- ML-DSA(原 CRYSTALS-Dilithium) — NIST FIPS 204
- SLH-DSA(以前称为 SPHINCS+) — NIST FIPS 205,无状态基于哈希,经过验证的安全性
- Falcon(紧凑签名,2025 标准化过程中)
混合方案(建议过渡期):
- ECDSA + ML-DSA 关键操作双重签名
- ECDH + ML-KEM 混合用于 TLS 密钥交换
迁移路线图
阶段 1 — 清单和评估 (2026–2027):
- 识别所有存储长期秘密的加密操作
- 按“现在收获,稍后解密”(HNL)风险分类
- 优先级:签名密钥 > 加密密钥 > 会话密钥
2 阶段 — 混合部署 (2027–2028):
- 关键路径:实现双重签名(ECDSA + ML-DSA 混合)
- 新密钥生成:创建混合密钥对
- TLS 1.3 + 混合 KEM 支持后端通信
3 阶段 — 合规评估 (2028–2029):
- 3 级组织:向理事会提交混合 PQC 路线图作为评估阶段提交(而非执行);委员会收集路线图来评估 v2.0 的市场准备情况
- 2级别:顾问状态; SAQ 包括量子问题
- 等级1:无量子要求
阶段 4 — 纯 PQC(2029–2030,v2.0 中的 L3 强制):
- 传统加密货币逐渐被新系统淘汰
- 对于存储密钥超过 10 年的任何系统,L3 是强制的
A2.4。 TLS配置
对于链下通信(API,Web 界面):
TLS 版本支持
允许:
- TLS 1.3(新部署必需)
- TLS 1.2 — 允许在相对于 v1.0 生效日期(2026-12-01)的临时窗口内:
- 直到 2027-12-01(v1.0 生效日期后重叠的 12 个月):允许 L1 和 L2,无需明确弃用
- 来自 2027-12-01:TLS 1.2 已弃用; TLS 1.3 所有级别均强制
- 来自 2028-06-01:TLS 1.2 禁止用于新部署(仅适用于通过具有迁移计划的补偿控制的现有系统)
禁止:
- TLS 1.1 及更低
- SSLv2、SSLv3
密码套件
TLS 1.3 密码套件:
- TLS_AES_256_GCM_SHA384
- TLS_CHACHA20_POLY1305_SHA256
- TLS_AES_128_GCM_SHA256(仅适用于会话范围的数据,不适用于CCM长期)
TLS 1.2 密码套件(过渡期):
- ECDHE-ECDSA-AES256-GCM-SHA384
- ECDHE-RSA-AES256-GCM-SHA384
- ECDHE-ECDSA-CHACHA20-POLY1305
- ECDHE-RSA-CHACHA20-POLY1305
证书要求
- 来自受信任证书颁发机构的公共证书(Let's Encrypt、DigiCert、Sectigo、GlobalSign 及同等证书;对于俄罗斯客户 — 允许使用俄罗斯 CA)
- ECDSA 或 RSA-3072+(根据 A2.1,1 1 月 2028 之后的 L3 为 RSA-4096)
- 对于最小 max-age 为 31536000(1 年)和
includeSubDomains(对于 L2+)的 Web 界面,HSTS 是必需的
证书固定
推荐用于具有关键依赖性的后端到后端通信:
- 对于关键的后端到 HSM 以及后端到区块链节点的通信,建议使用 TLS 证书固定
- 对于面向公众的 API:标准 CA 链验证就足够了
- 固定实施:根据 OWASP 指南动态固定,具有轮换策略和最低 90 天 固定备份有效性
A2.5。算法合规性映射
| 使用案例 | 全球级别 | 俄罗斯级 | 量子层(咨询) |
|---|---|---|---|
| 比特币签名 | ECDSA secp256k1 | — | 与 ML-DSA 混合 |
| 以太坊签名 | ECDSA secp256k1 | — | 与 ML-DSA 混合 |
| 索拉纳签名 | 埃德25519 | — | 与 ML-DSA 混合 |
| 定制L1区块链签名 | 取决于链条规格 | + GOST R 34.10-2018 用于俄罗斯 DFA | 混合(v2.0) |
| 客户身份验证 | TLS 1.3 + Argon2id | СКЗИ КС2+ | — |
| HSM 操作 | FIPS 140-3 L3+ | СКЗИ КС3+ | — |
| 备份加密 | AES-256-GCM | GOST R 34.12 库兹涅奇克 MGM | 迁移到 ML-KEM 包装 (v2.0) |
| 会话令牌 | SHA-256 / HMAC | GOST R 34.11 | — |
A2.6。算法弃用过程
委员会维护一个结构化流程,用于在发现漏洞或量子就绪里程碑时弃用算法。
A2.6.1。弃用类别
| 类别 | 描述 | 需要采取行动 |
|---|---|---|
| 已弃用(建议) | 该算法仍被正式允许,但建议在 24 个月内逐步淘汰 | 记录迁移计划;自我评估定于下次重新认证 |
| 不受欢迎 | 不建议用于新部署;允许用于现有系统 | 强制补偿控制或迁移计划 |
| 禁止 | 生产中强制淘汰 | 使用=不合规 |
A2.6.2。通知及实施流程
- 理事会在执行前至少 180 天发布安全建议(公开)
- CCSAC 在咨询后 60 天内进行培训
- 过渡评估从受评估实体的下一次重新评估开始
- AOC 状态更新中标记的违规行为
A2.6.3。紧急弃用
发现关键的 CVE 后(例如,对广泛使用的算法进行演示的实用密钥恢复攻击):
- 立即发布安全警告
- 该算法在当前 CCSA 版本中被标记为“已弃用”
- 在下一个标准版本中,如果没有缓解措施,它将变为“禁止”
- 组织有 12 个月的时间进行补救或失去认证
A2.7。推荐的密码库和 HSM 产品
开源加密库
- libsodium (经过验证,经过充分审核)
- Bouncy Castle(Java、C#)
- 启用 FIPS 模块的 OpenSSL 3.0+
- ring(Rust,高保证)
- Google Tink(多语言,高级API)
硬件安全模块
- 级别 1 / 级别 2: Thales Luna Network HSM、金雅拓 SafeNet、AWS CloudHSM(FIPS 140-2 级别 3)
- 级别 3: Securosys Primus HSM、YubiHSM 2、Utimaco SecurityServer(FIPS 140-3 级别 3+)
- 区块链特定: Ledger 安全元件、Nitrokey HSM、Coldcard Mk4
已知的易受攻击/已弃用的库
- OpenSSL < 3.0(已弃用;将 3.x 与 FIPS 模块一起使用)
- 旧版本的 cryptojs(已知较弱的 RNG 实现)
- 未经第三方审核的自定义加密实现 — 禁止用于生产 CCM
A2.8。审计员的密码学审查清单
在审核期间,CCSA-QSA 对每个 CCM 相关的加密操作执行以下检查表:
- 加密清单已完成 - 所有操作均已记录(链接到 CCM 清单,B.1.1 部分)
- 版本审核 — 生产路径中没有已弃用或已终止生命的库
- 配置审核 — TLS 密码套件强化,KDF 参数满足要求,RNG 配置正确
- 随机源验证 — 使用受支持内核上的 FIPS 认证的 TRNG / DRBG 或 /dev/urandom;没有回退到弱 RNG
- 密钥存储已验证 — CCM 隔离(HSM 分区、安全隔离区、MPC 封装);日志或内存转储中没有明文暴露
- 密钥轮换计划 — 记录并测试(B.5.1 部分)
- 侧信道风险评估(针对 3 级别)——定时攻击、功率分析缓解
- 文档完整性 — 为每个 CCM 类别明确说明的算法、密钥大小、轮换节奏和处置程序
- 兼容层(如果适用)- 俄罗斯客户的俄罗斯层,检查是否有有效的 СКЗИ 证书
A2.9。量子风险评估框架(v2.0、2029 中的 L3 强制)
对于 v2.0 中的 L3 组织,年度量子风险评估是强制性的。在 v1.0 中 — 咨询; v1.1 — 鼓励;全面实施 - 从 v2.0(4、2029 阶段)开始。
- 加密资产生命周期分析 — 对于每个 CCM 类别,对预期使用寿命的评估
- HNL(立即收获,稍后解密)风险分类 — 如果密钥保护必须保密的数据 > 10 年,则将其分类为 HIGH 风险
- 迁移路线图 — 由 2028–2029 作为评估阶段向理事会提交(3 阶段);从 v2.0 开始全面实施(4 阶段)
- 混合部署状态 — 关键路径中混合 PQC 部署的进度报告
相关
- 13 — Annex 1 — Glossary — 上一页
- 15 — Annex 3 — ROC Reporting Template — 下一个
- 04 — B.2 — Generation of Cryptographic Material — B.2 中的算法应用
- 05 — B.3 — Storage of Cryptographic Material — B.3 中的算法应用
来源
请参阅前面的 0.4 规范性参考文献部分。
其他来源:
- NIST PQC 标准化(FIPS 203、204、205 — 最终确定 2024)
- OWASP 加密存储备忘单 (2024) 俄罗斯
- OWASP 密码存储备忘单 (2024)
- FSB — СКЗИ 注册 (https://clsz.fsb.ru/clsz/)
该标准正在接受公众咨询。如果您对此部分有意见,请根据需求代码进行说明。
评论此部分草案 v0.2 -> v1.0。在 2027-01-01 之前可能会有更改。