【问题标题】:Is cacert.pem unique to my computer?cacert.pem 是我的计算机独有的吗?
【发布时间】:2014-08-03 17:42:17
【问题描述】:

我目前认为cacert.pem 是一组键,我可以使用它们来检查我正在与之交谈的站点是否确实是它声称的站点。因此,如果我向某人发送了一个依赖于 cacert.pem 的程序,我可以在我的计算机上向他们发送一个版本,这对我没有安全威胁。

唯一的安全威胁是他们,那就是如果我给他们发了一个虚假的cacert.pem

这是正确的吗?我可以安全地将我计算机上的cacert.pem 版本发送给另一个可能不受信任的人吗?

编辑:

正如 Steffen 指出的那样,cacert.pem 可以引用任何文件。我特别指的是 Requests Python 包中的那个。

【问题讨论】:

    标签: security ssl rsa


    【解决方案1】:

    我不知道您说的是哪个cacert.pem 文件,但是BSD 上的/etc/ssl/cacert.pem 或Linux 上的/etc/ssl/certs 文件夹仅包含一个受信任证书机构的公共列表,用于验证对SSL 的信任连接。这些文件中没有秘密,通常它们甚至不是系统特定的(尽管可能会添加或删除 CA 来管理自己的信任设置)。

    但同样,我不知道您的 cacert.pem 文件包含什么,因为此文件名没有固有的语义。如果它还包含私钥,您绝对不应该将其提供给其他人。

    【讨论】:

      【解决方案2】:

      唯一的安全威胁是对他们来说,那就是如果我向他们发送虚假的 cacert.pem。

      cacert.pem 是用于验证站点或服务的根 CA 和从属 CA 的集合。

      这里的三个威胁是:

      1. 您添加自己的 CA,然后 MitM 连接
      2. 错误的 CA 验证了站点或服务,攻击者随后 MitM 连接
      3. 您的cacert.pem 副本在传输过程中被篡改

      (1) 不太重要,因为它要求您拥有特权网络位置,例如在同一个 LAN 或电信基础设施中。您可以添加自己的 CA,而接收者可能并不聪明。

      (2) 是一个真正的问题。例如,我们知道 Google 已通过 Equifax Secure Certificate Authority 的认证。 Equifax 认证名为 GeoTrust Global CA 的从属 CA。 GeoTrust 认证了一个名为 Google Internet Authority G2 的 Google 下属 CA。

      所以 (2) 的第一个问题是 Diginotar 和最近 MSC Holdings 声称要认证 Google 属性,我们知道这是错误的。由于根和下属的集合,他们可以成功。

      (2) 的第二个问题与第一个问题有关。因为您信任,例如,Google Internet Authority G2,Google 可以为任何域生成证书,而不仅仅是它们的属性。这里的问题是它是一个不受约束的从属CA,它之所以这样做是因为it was too inconvenient

      (3) 只是一个中间人的攻击。他可以删除所需的证书,这可能会导致 DoS。或者他可以插入一个 CA,这会返回到 (1)。否则他可能会破坏整个文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-11-24
        • 2011-04-08
        • 1970-01-01
        • 1970-01-01
        • 2015-10-06
        • 1970-01-01
        • 2010-09-11
        相关资源
        最近更新 更多