有没有办法使用GNUPG 的新的网络密钥是否能够为 Web 服务登录创建联合无密码公钥身份验证机制?
类似于以下架构:
.--------------------.
| DomainA |
| Webkey Directory |<---.
| User Public Keys | | (2)
'--------------------' | Web service requests current
| known public key
|
.------------------.
| Web Service |
.---->| Requires Login |---.
| '------------------' |
| |
(1) (3)
User Requests Account Web service encrypts a nonce
Uses DomainA using domain supplied public key.
email address And sends the encrypted message to user.
| |
| |
(4) |
User enters unencrypted (5)
nonce in web browser. Once account has been created
| web browser plugin asks for
| GPG passphrase when logging
| in to the webservice.
| Auth with signed nonce, verified
.-------------------. by public key DB.
| Web Client | |
| has email address |<-----------------'
| at DomainA |
'-------------------'
- 格努特尔?
我曾经注意到 GNUTLS 具有使用 PGP 密钥作为客户端身份验证机制的兼容性。也许,我错误地阅读了文档。也许 GNUTLS 只是允许将 PGP 密钥用作 TLS 连接的信任根。然而,我认为该功能由于缺乏兴趣和/或使用而被删除。
- 密码已被破解
密码是互联网的祸根,虽然 2 Factor 适用于大多数用途,但在某些情况下使用智能手机可能不切实际。
- CA 客户端证书是一个选项
CA 客户端证书工作得相当好。并且可以设置域级 CA 来对用户进行身份验证。然而,域级 CA 不会被用户的浏览器信任。因此,每个用户都需要安装域根证书。
- GNUPG 现在有 Webkey
目前是否有任何项目正在致力于利用 GNUPG Webkey 为 Web 服务启用 PGP Auth?