一个用于分发和管理密钥的系统: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



项目主页:
http://www.open-open.com/lib/view/home/1429685897854