HashiCorp Vault是云原生领域被广泛使用的Secret Management产品,也是CNCF的项目。在实际使用中,Vault存在一些不足,例如:
- 对中国商用密码算法合规性没有支持
- 存在一定的性能问题
- 对密码硬件的支持不佳
- 高级功能不开源
- ……
且目前市面上除了Vault之外,也几乎没有比较靠谱的Key/Secret Management类的开源实现。基于此,我们计划启动一个新的开源项目来解决上述问题。
这个新的项目需要覆盖传统密钥管理系统(KMS)的大部分功能,也可能需要兼顾云原生时代对身份、Secret等方面的管理。因此,该系统可能存在如下需求纲领:
- 支持国产密码学算法
- 性能
- 高可用
- 底层硬件利用
- 内存安全
语言:Rust
名字:RustyVault
功能:
- API
- RESTful
- 可考虑一定程度兼容Vault的API,降低迁移成本(待定)
- gRPC (低优先级)
- RESTful
- 用户和认证
- 基于数字证书的用户身份认证
- 基于用户名和口令的用户身份认证
- 基本的访问控制规则
- 基于用户的密钥管理体系
- 配置方式
- 配置文件
- 支持热重启
- 公钥基础设施(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等中心化存储
- 日志和监控
- 文件日志