在没有SSL证书的情况下为我自己的域使用HTTPS是否安全?

Mar*_*ijn 3 ssl https certificate owner

我想在我自己的一些服务器之间运行一些加密连接.可以使用Curl(或其他一些机制)在没有SSL证书验证的情况下使用HTTPS进行连接.我正在使用PHP,但该语言对于这个问题可能并不重要.

我假设在没有SSL证书的情况下使用HTTPS比在普通HTTP上使用完全相同的连接更安全,因为至少它是加密的,并且恶人必须做出更大的努力才能拦截解密信息.

据我所知,SSL证书只是说"这个受信任的第三方说你连接的服务器是拥有它的人所拥有的".如果我使用自己的域名或IP地址连接,我知道我是所有者.如果我是连接两端的所有者,SSL证书会提供什么附加值?

Bru*_*uno 8

不验证您连接的服务器的身份会使连接对潜在的MITM攻击开放.SSL/TLS可以在没有证书的情况下使用(使用匿名密码套件),但它们不安全(默认情况下禁用); 正如TLS RFC所说:" 请注意,此模式容易受到中间人攻击,因此不推荐使用. "此外,HTTPS规范本身也希望有一个X.509证书.

检查远程方的身份是保护系统安全的必要元素.与远程方秘密交换数据并不是非常有用,因为远程方可能不是他们声称的人(即使保密也是如此).

话虽如此,您不必通过商业CA. 您可以使用自签名证书,您必须将其作为可信证书单独导入每个客户端,或者创建您自己的机构CA. 有一些工具可以做到这一点,包括OpenSSL CA.pl(参见手册页),TinyCAOpenCA等.某些操作系统还提供自己的小型CA功能.

如果我使用自己的域名或IP地址连接,我知道我是所有者.如果我是连接两端的所有者,SSL证书会提供什么附加值?

证书确保您确实已连接到您的计算机并且未截获流量.这就是为什么你需要检查它是你认可的证书.