Skip to content

Latest commit

 

History

History
67 lines (57 loc) · 2.1 KB

req.md

File metadata and controls

67 lines (57 loc) · 2.1 KB

动机

HashiCorp Vault是云原生领域被广泛使用的Secret Management产品,也是CNCF的项目。在实际使用中,Vault存在一些不足,例如:

  1. 对中国商用密码算法合规性没有支持
  2. 存在一定的性能问题
  3. 对密码硬件的支持不佳
  4. 高级功能不开源
  5. ……

且目前市面上除了Vault之外,也几乎没有比较靠谱的Key/Secret Management类的开源实现。基于此,我们计划启动一个新的开源项目来解决上述问题。

这个新的项目需要覆盖传统密钥管理系统(KMS)的大部分功能,也可能需要兼顾云原生时代对身份、Secret等方面的管理。因此,该系统可能存在如下需求纲领:

  1. 支持国产密码学算法
  2. 性能
  3. 高可用
  4. 底层硬件利用
  5. 内存安全

需求列表

语言:Rust

名字:RustyVault

功能:

  • API
    • RESTful
      • 可考虑一定程度兼容Vault的API,降低迁移成本(待定)
    • gRPC (低优先级)
  • 用户和认证
    • 基于数字证书的用户身份认证
    • 基于用户名和口令的用户身份认证
    • 基本的访问控制规则
    • 基于用户的密钥管理体系
  • 配置方式
    • 配置文件
    • 支持热重启
  • 公钥基础设施(PKI)CA能力
    • X.509证书签发:RSA/ECC/SM2
    • X.509证书吊销:OCSP, CRL
  • 密钥管理
    • 对称密钥:生成/存储/轮转
    • 非对称密钥:RSA/ECC/SM2
  • 传统密码学算法支持
    • 对称加密算法:AES, SM4
    • 公钥密码算法:
      • 签名算法:RSA/ECDSA/EdDSA/SM2/环签名
      • 加密算法:RSA/SM2
    • 哈希算法:SHA1/SHA2/SM3
    • 随机数生成:国密合规的随机数生成算法
  • 前沿密码学算法支持
    • 半同态算法:Paillier, EC-ElGamal
    • 零知识证明:Bulletproofs
    • 后量子密码学算法(待定)
  • 硬件适配
    • 通过指令集、加速卡等进行密码算法性能优化
    • 通过加密卡、加密机等进行密钥保护和密钥管理
  • 集群和高可用
    • 全主模式(多读多写)
  • 存储能力
    • 本地加密存储
    • etcd等中心化存储
  • 日志和监控
    • 文件日志