私有服务器/客户端的自签名证书安全性

本文关键字:证书 安全性 服务器 客户端 | 更新日期: 2023-09-27 18:19:06

我读过很多关于自签名证书不应该在生产中使用的文章,因为缺乏安全性,但我想知道如果我是唯一一个应该连接到服务器的人,它是否仍然存在安全风险?出于某种原因,是否更容易破解自签名证书?我正在创建服务器和客户端应用程序,其他人连接的唯一方法是创建他们自己的客户端。这意味着每次安装客户端时,我都可以将证书添加到受信任的根证书中。

还是继续使用我自己的加密实现在消息级别使用RSA/AES更安全?我想使用SSL的原因是它更容易使用,特别是当我想要流媒体时,因为我不需要以块的形式发送它。

私有服务器/客户端的自签名证书安全性

我读过很多关于自签名证书不应该在生产环境中使用的文章,因为缺乏安全性....

自签名证书本身并不坏,如果操作得当,也可以在生产中使用。

如果对等方能够正确验证,则证书可以安全使用。通常的验证是基于浏览器或操作系统中包含的一些受信任的根CA完成的。但是,不能以这种方式验证自签名证书并不意味着它根本不能被验证,因为:

  • 您可以显式地将其作为受信任的证书添加到浏览器/操作系统的证书存储中。
  • 你可以在第一次使用时例外,你已经验证了你在浏览器中获得的证书实际上是你知道的(通过比较指纹,而不仅仅是主题)。
  • 如果您有自己的应用程序,您可以发布应用程序,以便它(仅)信任此证书。

当然,在浏览器中显式地导入受信任的证书或制作例外并不能很好地扩展,因为它必须为每个用户完成。这就是ca签名证书的要点:证书得到隐式信任,因为它是由受信任的人签名的,而不是每个用户都必须手动验证和信任证书。这也是您希望在生产中使用ca签名证书的唯一原因。只要证书经过正确的验证,它是否自签名并不重要。

还是继续使用我自己的加密实现在消息级别使用RSA/AES更安全?

永远不要运行你自己的加密,除非你真的明白你在做什么。在这种情况下,SSL提供了您所需要的一切,但您必须知道如何正确使用它。