一个用于分发和管理密钥的系统:Keywhiz
jopen
10年前
Keywhiz是一个一个用于分发和管理密钥的系统。它非常适合于面向服务的架构(SOA)。
- TLS证书/密钥
- GPG密钥
- API令牌
- 数据库证书
常见的措施包括将隐私放入代码的配置文件或者复制文件到out-of-band服务器中,前者泄露的可能性很大,而后者比较难以追踪。
而Keywhiz使得管理隐私更容易、更安全。Keywhiz服务器在一个数据库的集中存储隐私加密群中。客户端使用交互已认证的 TLS(mTLS)来取回他们所访问的隐私。已认证用户通过CLI或Web app UI管理Keywhiz。(即将到来的更新可能会破坏API的向后兼容性,点此查看)
系统组成
- KEYWHIZ SERVER:提供JSON API访问和管理隐私,基于Dropwizard在Java中编写。
- KEYWHIZFS:基于FUSE的文件系统,提供目录中的隐私文件。
- KEYWHIZ CLI:一个用于Keywhiz管理的Java程序。能够对客户端、隐私和组执行查询、添加、删除等操作。用户可进行身份验证并使用CLI
- KEYWHIZ UI:一个用于Keywhiz管理的Web app。类似于KEYWHIZ CLI。该UI通过AngularJS构建,用户可进行身份验证并使用UI。
- PUBLIC KEY INFRASTRUCTURE:Keywhiz大量使用mTLS和X509证书。
数据模型
- Clients
- Secrets
- Groups
- Users