用途:该模式用于设计不持有密钥材料的系统,把密钥生成、存储、管理及加密操作全部交给同一外部密码学服务完成,系统仅保存服务返回的密钥标识符(keyId)。
主要能力:支持 generate_key(按可选配置生成密钥并返回 keyId)与 crypto_action(用 keyId 执行加密、签名等操作并返回结果)。常见实现包括云 KMS(Google Cloud KMS、Amazon KMS、Azure Key Vault)、移动平台密钥库(Android Keystore、iOS KeyChain)和硬件安全模块(HSM)。
使用方式:系统向服务发送 generate_key(keyConf) 获取 keyId;后续以 crypto_action(input, keyId, config) 调用服务,密钥材料始终不离开服务。masterKey 作为凭据用于向服务认证,应安全存储、定期轮换、禁止硬编码。
适用场景:希望降低密钥泄露与密码误配置风险、且能接受对外部服务信任与可用性依赖的系统。
限制与安全考虑:密码学服务应视为非受控实体,通信需保证机密性、完整性与端点认证,云服务须使用 TLS/HTTPS 并配置服务认证;keyId 虽非密钥材料,仍需防篡改,否则可能被重定向到其他密钥。需评估服务可用性、故障模式、审计与合规能力、SLA 及密钥备份恢复流程。具体实现细节与安全保证请查阅所选服务文档。