Sequence 私钥存储方案
私钥存储方案

解释图片内容
根据图中的描述,私钥的管理涉及三个主要实体:Sequence、Quantstamp 和 WaaS Enclave。每个实体在私钥管理过程中扮演不同的角色,以确保私钥的安全性和隐私性。
1. Sequence
- 职责:Sequence 负责存储加密后的私钥数据(加密 blob)。
- 访问权限:Sequence 只能访问加密的私钥数据,无法解密这些数据。
2. Quantstamp
- 职责:Quantstamp 负责加密私钥数据,并通过 AWS KMS(硬件安全模块)进行加密操作。
- 访问权限:Quantstamp 无法导出密钥材料,也无法访问加密数据本身。
3. WaaS Enclave
- 职责:WaaS Enclave 是唯一能够使用加密私钥数据的实体。它在需要时解密私钥并执行加密操作(如签名交易)。
- 安全保障:
- AWS Nitro Hypervisor:生成并签署基于实际运行的 Enclave 代码的加密证明文件。文件包含一个由 Amazon 公钥基础设施签署的 PCR0(Enclave 代码的哈希值)。
- KMS 策略:KMS 由可信的第三方操作,指定策略仅在证明文件有效且 PCR0 哈希值匹配预期值时允许访问加密操作。这意味着任何对 Enclave 的更改都会导致不同的证明文件和 PCR0 哈希值,从而无效化操作。
- 开源代码:Enclave 代码是开源的,任何人都可以审核并验证服务使用的是经过审计的源代码版本。
流程总结
- 私钥生成并加密:私钥生成后由 Quantstamp 的 KMS 加密。
- 加密数据存储:加密后的私钥存储在 Sequence 管理的数据库中。
- 需要使用时的安全操作:Sequence 请求 WaaS Enclave 进行解密和签名操作。
- 执行交易:签名后的交易由 Sequence 发布到区块链网络。
安全性保障
- 分离责任:Sequence、Quantstamp 和 WaaS Enclave 各自负责不同的部分,确保没有单一实体能够完全控制或访问私钥。
- 硬件安全模块:使用 AWS 的 KMS 硬件安全模块,确保加密和解密操作在高度安全的环境中进行。
- 私钥不暴露:私钥在任何时候都不会暴露给 Sequence 或 Quantstamp,所有签名操作都在 WaaS Enclave 的安全环境中完成。
- 加密证明和验证:通过 AWS Nitro Hypervisor 生成的加密证明和 KMS 策略,确保只有经过验证的 Enclave 代码可以访问加密操作。
这种设计确保了私钥在整个过程中都受到保护,避免了任何单一实体能够完全控制或访问私钥,从而最大限度地提高了私钥管理的安全性。