Skip to main content

Sequence 私钥存储方案

私钥存储方案

alt text

解释图片内容

根据图中的描述,私钥的管理涉及三个主要实体: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 代码是开源的,任何人都可以审核并验证服务使用的是经过审计的源代码版本。

流程总结

  1. 私钥生成并加密:私钥生成后由 Quantstamp 的 KMS 加密。
  2. 加密数据存储:加密后的私钥存储在 Sequence 管理的数据库中。
  3. 需要使用时的安全操作:Sequence 请求 WaaS Enclave 进行解密和签名操作。
  4. 执行交易:签名后的交易由 Sequence 发布到区块链网络。

安全性保障

  • 分离责任:Sequence、Quantstamp 和 WaaS Enclave 各自负责不同的部分,确保没有单一实体能够完全控制或访问私钥。
  • 硬件安全模块:使用 AWS 的 KMS 硬件安全模块,确保加密和解密操作在高度安全的环境中进行。
  • 私钥不暴露:私钥在任何时候都不会暴露给 Sequence 或 Quantstamp,所有签名操作都在 WaaS Enclave 的安全环境中完成。
  • 加密证明和验证:通过 AWS Nitro Hypervisor 生成的加密证明和 KMS 策略,确保只有经过验证的 Enclave 代码可以访问加密操作。

这种设计确保了私钥在整个过程中都受到保护,避免了任何单一实体能够完全控制或访问私钥,从而最大限度地提高了私钥管理的安全性。