对于有多个应用服务器和多个客户端的系统,我想向大家介绍的相互认证以及由TLS提供的其他安全保护措施。
在服务器和客户端可以位于不同的网络,以及在同一个网络上。
每个实体(客户端或服务器)都有自己的密钥库中存储其公/私钥对和包装公钥的X.509证书。 但是,在这一点上,该证书是自签名的。 因此,它不会被其他通信实体验证。 经过一番研究,我已经看了一些解决方案:
- 创建私有CA将签署证书。 如果我没有理解好,CA的证书必须存在于每个实体的信任让其他实体的证书,可以使用CA的证书进行验证。
- 创建私有的CA作为第一个解决方案。 但是,私人CA的证书是由商业CA(如威瑞信)签署。 我不知道该怎么把它添加到以前的解决方案。
- 由商业CA签名每个实体的证书 但这种解决方案似乎昂贵。
- 仅使用自签名的证书。 每个实体的证书是自签署它,必须添加到它想要与之通信的每个实体的信任。
这是我与安全第一的经验。 在你认为是有效的解决方案,你推荐哪一个?
谢谢