静态数据加密
Fystack 采用 KEK/DEK(密钥加密密钥/数据加密密钥)架构实现全面的静态数据加密。 每一份敏感数据在写入磁盘之前都会被加密。数据加密密钥(DEK)用于加密单条记录或数据块,而安全存储在 AWS Secrets Manager 等保管库中的密钥加密密钥(KEK)则用于封装和保护 DEK。 这确保即使整个数据库或备份被窃取,暴露的也只有密文,从而实现端到端的机密性。
该流程遵循行业安全标准,满足 AES-GCM 相关的 FIPS 197 和 NIST SP 800-38D 要求,并符合 PCI DSS 和 GDPR 第 32 条关于保护静态敏感数据的规定。

初次了解 KEK/DEK 分层?请阅读我们的博客入门文章:DEK/KEK: The industry standard to protect highly sensitive data (Part 1)。
1. 概述
每个敏感值都使用 AES-256-GCM 加密,并存储在带版本的信封中,信封会记录所用算法和密钥版本。工作区隔离、按链派生以及由保管库支持的主密钥相结合,即使基础设施遭到入侵,数据也依然处于加密状态。
为什么选择 AES-256-GCM?
- NIST 认可:联邦加密标准(FIPS 197)。
- 认证加密:同时提供机密性和完整性。
- 性能:在现代 CPU 上通过 AES-NI 实现硬件加速。
- 行业标准:AWS、Google Cloud、Azure 均将其用于静态数据加密。
2. 哪些数据会被加密
- 私钥和种子: Hyper wallet 的所有钱包密钥材料在存储前都会使用工作区专属的 DEK 进行加密。
组件 | 说明 |
|---|---|
全局加密密钥 | 从 AWS Secrets Manager 动态加载的 32 字节 AES 密钥,可回退到环境变量或 HashiCorp Vault、Doppler 等密钥管理工具。 |
工作区种子 | 为每个工作区单独生成的随机 32 字节种子。 |
加密算法 | AES-GCM(认证加密)保护每一份密文。 |
密钥派生 | 每个工作区密钥均通过 HKDF(global_encryption_key, salt) 派生。 |
钱包派生 | EVM 链和 Tron 使用 BIP44;Solana、Aptos 等新型链使用 SLIP-10。 |

- 用户凭证: TOTP 密钥及其他认证材料同样采用 DEK/KEK 架构,在静态存储时保持加密。
信封格式
每份密文都包含算法标识符、版本元数据、派生上下文和载荷。这实现了算法敏捷性、向后兼容性,以及每条加密记录的完整来源追溯。