我运行 dovecot imap 服务器并使用 Thunderbird 作为前端。
该访问受密码保护,我看到无数次密码泄露的登录尝试。我想切换到双密钥身份验证,如果可能的话也使用 FIDO2 物理密钥。
这可能吗 ?
我目前使用双密钥进行 ssh 身份验证,并开始使用 FIDO2 物理密钥。
答案1
听起来您使用的 SSH 只是公钥身份验证。我们称其为即使有两个单独的匹配密钥:公钥和私钥。
如果您想对邮件执行此操作,可以使用 TLS。无论如何,您都应该使用 TLS 来保护传输中的数据。该方法称为客户端证书身份验证。
在 TLS 中,我们始终对服务器进行身份验证,服务器必须使用其证书中的私钥对部分请求进行签名。然而,客户端也进行身份验证的情况不太常见,但这正是您想要做的。这导致双方相互验证对方。
通常,您需要创建一个受信任的证书颁发机构来颁发证书,然后您可以为自己生成私钥并向自己颁发由 CA 签名的证书。 Dovecot 文档解释了如何执行此操作。
至于 FIDO2 安全密钥,我不知道有任何使用它们的方法。这是因为 IMAP 和 POP 的身份验证机制使用 SASL,并且通常 SASL 不支持 FIDO2 作为身份验证类型。即使在 SSH 中,FIDO2 的使用也是 OpenSSH 特定的扩展,尚未标准化。
但是,如果您专门使用 YubiKey,它包含对客户端证书的支持PIV 应用程序你也许可以用它具有合适的 PKCS#11 库存储您的客户端证书的私钥。在这种情况下,如果没有安全密钥,您将无法进行身份验证,因为私钥将在安全密钥上生成并且无法删除。