解决方案签署证书

对于具有多个应用程序服务器和多个客户端的系统,我想介绍相互身份验证以及TLS提供的其他安全保护。

服务器和客户端可能位于不同的网络以及同一网络上。

每个实体(客户端或服务器)都有自己的密钥库,用于存储其私钥/公钥对和包装公钥的X.509证书。 但是,在这一点上,证书是自签名的。 所以,它不会被其他通信实体验证。 经过一番研究,我看了一些解决方案:

  • 创建一个将签署证书的专用CA. 如果我理解得当,CA的证书必须出现在每个实体的信任库中,以便其他实体的证书可以使用CA的证书进行验证。
  • 创建专用CA作为第一个解决方案。 但是,私人CA的证书由商业CA(例如Verisign)签署。 我不知道它增加了以前的解决方案。
  • 由商业CA签署每个实体的证书。 但这个解决方案看起来很贵
  • 仅使用自签名证书。 每个实体的证书都由它自己签名,并且必须添加到每个想要与之通信的实体的信任库中。
  • 这是我的第一次安全体验。 在您认为有效的解决方案中,您推荐哪一个?

    谢谢


    我已经编制了您的选项以方便阅读。

    您的选项4具有与第一项相同的安全和管理细节。 即你的选择被缩小到自己对第三方CA服务。 虽然您可以从CA授权机构购买您自己的CA证书,但它会花费很多,呃。 但是,CA的销售人员逐案确定“多少”是多少。

    在管理复杂性方面,我会按照下面的顺序(首先是最简单的):3,1,2,4

    在选项1,2,4中,您必须管理您的证书,这需要知道PKI及其安全程序(除了纯粹的技术,您需要确保私钥是受保护的)以及证书生成和管理软件(openssl等)对于大多数活动来说是不够的,而且很可能您需要编写自己的代码来生成证书)。

    而且,拥有OCSP服务器也是一个不错的主意,您可以在选项1,2,4的情况下运行自己的OCSP服务器。

    链接地址: http://www.djcxy.com/p/21781.html

    上一篇: Solutions to sign certificates

    下一篇: encrypt password in android(client side) and decrypt in server side PHP with rsa