【问题标题】:Is it Ok to use the server cert as a client cert in a trust relationship?可以在信任关系中使用服务器证书作为客户端证书吗?
【发布时间】:2015-03-17 17:02:05
【问题描述】:

我正在开发一个系统,其中多个服务器可以相互建立信任关系。这些关系是通过使用 X.509 证书身份验证的服务器到服务器连接建立的。

服务器拥有自己的服务器证书,客户端使用这些证书来验证服务器的身份(与浏览器客户端和 Web 服务器完全相同)。

我的问题:在两台服务器(A 和 B)之间建立信任关系时,当服务器 A 与服务器 B 通信时,使用服务器 A 的服务器证书作为客户端身份是否存在固有的不安全或问题?实际上,这涉及将服务器 A 的服务器证书安装到服务器 B 的信任库中,反之亦然。出于某种原因,为服务器 A 和 B 创建单独的客户端身份,而不是使用它们的服务器身份作为客户端身份更好吗?

就我个人而言,我看不出它有什么问题,而且从高层次的角度来看,它实际上是有道理的——服务器 A 毕竟是连接到服务器 B 的客户端。

【问题讨论】:

    标签: certificate client server x509 trust


    【解决方案1】:

    在两台服务器(A 和 B)之间建立信任关系时,在服务器 A 与服务器 B 通信时,使用服务器 A 的服务器证书作为客户端身份是否存在固有的不安全或问题?

    不,只要对等点可以相互验证就可以了。

    实际上,这涉及将服务器 A 的服务器证书安装到服务器 B 的信任库中,反之亦然。

    在实践中,证书应从集中式 CA 安装。无论是公共/商业还是内部。避免最终实体的自签名证书。自签名证书会增加证书管理开销,并且不允许吊销检查(如果需要吊销对等证书)。

    【讨论】:

    • 有趣 - 在正常情况下,我认为您的方法是正确的,但在这种情况下,我们不希望服务器 A 信任库中的实际服务器 B 证书吗?否则,服务器 A 怎么知道服务器 B 是一个有效的客户端并且应该被显式信任?
    • 在使用自签名终端实体证书时是必需的。但这是不好的做法。
    猜你喜欢
    • 2010-09-13
    • 2021-10-03
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 2014-09-05
    • 2015-04-30
    • 2018-11-29
    • 2015-11-01
    相关资源
    最近更新 更多