【问题标题】:Is it safe to use HTTPS without SSL certificates for my own domains?在我自己的域中使用没有 SSL 证书的 HTTPS 是否安全?
【发布时间】:2012-04-19 06:00:35
【问题描述】:

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

我假设在没有 SSL 证书的情况下使用 HTTPS 至少比通过纯 HTTP 进行完全相同的连接更安全,因为至少它是加密的,并且作恶者将不得不付出更大的努力来拦截和解密信息。

据我所知,SSL 证书只显示“这个受信任的第三方说您连接的服务器归声称拥有它的人所有”。如果我使用自己的域名或 IP 地址连接,我知道我是所有者。如果我是连接两端的所有者,SSL 证书会提供哪些额外价值?

【问题讨论】:

    标签: ssl https certificate owner


    【解决方案1】:

    不验证您连接的服务器的身份会使连接容易受到潜在的 MITM 攻击。 SSL/TLS 可以在没有证书的情况下使用(使用anonymous cipher suites),但它们不安全(默认情况下禁用);正如 TLS RFC 所说:“请注意,此模式容易受到中间人攻击,因此已被弃用。” 此外,HTTPS specification 本身期望有一个 X.509 证书。

    检查远程方的身份是保护您的系统的必要元素。与可能不是他们声称的身份的远程方秘密交换数据并不是很有用(即使保密性得到保证)。

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

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

    证书向您保证您确实连接到您的机器并且流量没有被拦截。这就是为什么您需要检查它是否是您认可的证书。

    【讨论】:

      【解决方案2】:

      SSL 证书更适合您的客户或使用您网站的人。在任何一种情况下,数据都是通过相同的连接传输的——这只是第三方是否证明你是安全的问题。

      在我上一份工作中,我们在上一份工作中通过 https/ftps 完成了所有内部数据传输,但直到最近才获得 SSL 证书。由于数据传输是内部的,因此没有任何区别。

      【讨论】:

      • 我不会走那么远。这就像默默无闻的安全 - 它不是最佳的,也不推荐,但它是朝着正确方向迈出的半步。
      • 只有在您确定没有人能够篡改连接(即仅被动窃听者)时才有用。如果有人可能会更改您的数据包,则需要服务器身份验证。这不仅仅是为了安心。
      • 为防止混淆,这部分“第三方正在证明您是安全的”。是不正确的。如上所述,证书用于验证您连接的对象。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      相关资源
      最近更新 更多