DATA VAULT / TECHNICAL DESIGN
加密、密钥管理与存储
单独保存个人信息并限制解密路径,将存储、使用、删除和恢复作为统一生命周期设计。
DEEP DIVE
了解机制与影响。
仅凭算法名称无法说明降低了哪些风险。通过地址存储与配送示例了解密钥及数据流。
分离数据与加密密钥
信封加密示例用 DEK 加密个人信息,用 KEK 保护 DEK。采用认证加密,在使用前拒绝被篡改数据。
- DEK / KEK
- 数据库访问权限不得同时授予 KMS 管理密钥的访问权限。
- nonce / authentication tag
- 避免 AES-GCM 中 nonce 重复使用,拒绝认证标签验证失败的数据。
- 附加认证数据(AAD)
- 绑定 tenant_id、record_id 和 schema_version,以检测密文替换。
- 密钥轮换
- 区分轮换 KEK 时重新封装 DEK,与轮换 DEK 时重新加密数据。
CLOUD KEY MANAGEMENT
用于密钥保管的云密钥服务。
地址 Vault 使用 Azure Key Vault 管理 KEK,将保护数据加密密钥(DEK)的密钥使用权限与数据库访问分离。
- Azure
- 使用 Azure Key Vault;需要专用 HSM 环境时选择 Azure Managed HSM。
- AWS
- 当前 DEV 产品是 Azure 上的配送地址 API,不含邮件发送、证件图片、OCR 或 AWS KMS 集成。通用架构示例不等于已提供功能。存储地点、运营责任和额外集成需在接入时确认。
- OneNym 的职责
- 结合云密钥管理与业务流程规则,控制谁可读取哪些数据、用于何种目的以及截至何时。
保存密文与封装的 DEK,不持久保存明文 DEK。密钥使用权限被攻破可能允许解密,因此需分离数据、密钥及管理访问。
尽量减少解密路径
将数据库连接与解密权限分离。仅授权操作解密必要字段,避免无关个人信息进入响应、日志及异常。
- 字段级响应
- 仅返回获准字段,例如配送所需地址。
- 管理访问
- 通过强身份验证、时限和审计记录区分日常与紧急操作。
- 搜索设计
- 加密字段搜索需单独设计,搜索哈希也存在匹配与猜测风险。
删除、备份与恢复
按用途定义留存,追踪源数据、副本、备份及合作方的删除。恢复后重新应用删除记录,防止已删数据重新出现。
- 完成删除
- 分别记录逻辑删除、物理删除及密钥销毁。
- 密钥销毁
- 仅在能清除包括备份在内的所有可恢复副本时考虑专用密钥。销毁共享密钥也会影响其他记录。
- 恢复目标
- 定义 RPO 与 RTO,并实际测试恢复。
- 审计日志
- 记录操作方、操作、目标引用、时间及结果。不记录个人信息或原始令牌。
DATA / INTEGRATION EXAMPLE
数据与集成示例
这些示例用于说明设计。字段名及值仅供演示,并非可执行的 API 参考。
{
"operation": "Vault record metadata example",
"record": {
"tenant_id": "tenant_a",
"record_id": "rec_example_01",
"schema_version": 1,
"ciphertext": "<encrypted bytes>",
"wrapped_dek": "<wrapped key>",
"kek_version": "key-version-2",
"retention_until": "<agreed retention date>",
"status": "active"
}
}本例说明存储结构,nonce 与标签应遵循密码库格式。加密本身无法防止合法解密权限被滥用。
相关技术设计
返回隐私保护平台概览为您的业务流程设计集成。
梳理留存数据、合作方及必要操作,寻找减少暴露的方法。
咨询技术集成