质量保证计划。在基于证书的身份验证上使用 JWT 是更好的方法吗

AMQP . Is it a better way to use JWT over certificate based authentication

我们正在寻找保护我们的 AMQP 连接的最佳方法。我们的 AMQP 客户端分布在世界各地,与 AMQP 服务器的连接需要安全。我们使用 TLS 作为 oasis-open.org 推荐的传输层安全。现在正在寻找 AMQP 客户端的 AUTH 机制。

一种方法是使用相同的 TLS 证书对用户进行身份验证,第二种方法是使用新的著名的 JWT 作为 AMQP 的身份验证机制。每当客户端发布或订阅 AMQP 队列时,它应该通过将 JWT 发送到服务器来获得服务器的授权。

JWT 是在客户端通过安全 TLS 通道提供其凭据后颁发的。这里的重点是认证机制

  • user/password易于使用和维护,但不如使用客户端证书安全。用户可以设置一个弱口令,或者把自己注解的post-it丢掉。

  • 客户端证书 需要在客户端计算机上额外安装。窃取证书要困难得多,因为您可以使用系统密钥库、使用密码保护它甚至使用硬件。但是证书分发是一个复杂的过程。您可以使用自己的 CA,但您需要考虑如何将证书提供给用户以及安装过程。此外,双向 TLS 通道的配置在您的客户端中会很复杂。我认为使用外部 CA 不是一种选择,因为每个用户都需要从该 CA 获得证书,这是一个您无法控制的过程。