我正在研究一个系统,在这个系统中,多个服务器之间可以建立信任关系。这些关系是使用X.509证书身份验证与服务器到服务器连接建立的。
服务器拥有自己的服务器证书,客户端使用这些证书来验证服务器的身份(与浏览器客户端和Web服务器完全相同)。
我的问题:在两台服务器(A和B)之间建立信任关系时,当服务器A与服务器B通信时,使用服务器A的服务器证书作为客户端身份是否存在任何固有的不安全或问题?实际上,这涉及将服务器A的服务器证书安装到服务器B的信任库中,反之亦然。出于某种原因,为服务器A和B创建单独的客户端身份是否更好,而不是将其服务器身份用作其客户端身份?
就个人而言,我看不出它有什么问题,从高层面来看它实际上是有意义的 - 服务器A是在连接到服务器B的所有客户端之后。
答案 0 :(得分:2)
在两台服务器(A和B)之间建立信任关系时,当服务器A与服务器B通信时,使用服务器A的服务器证书作为客户端身份是否存在任何固有的不安全或问题?
不,只要对等方可以相互验证就可以了。
实际上,这涉及将服务器A的服务器证书安装到服务器B的信任存储区,反之亦然。
在实践中,证书应从集中式CA安装。要么是公共/商业内部。避免使用最终实体的自签名证书。自签名证书会增加证书管理开销,并且不允许撤销检查(如果需要撤销对等证书)。