我应该信任哪些受信任的根证书颁发机构?

abe*_*nky 10 security google-chrome certificate ssl

在最近的两篇关于安装在机器上的有问题的根证书的Slashdot 文章(#1 #2)之后,我决定仔细看看我在我的机器上安装了什么。
(我在 Win7 上使用当前版本的 Chrome,据我所知使用的是 Windows 的 CA 列表)

我发现的真的让我很惊讶。

  • 两台相对干净的机器具有截然不同的 CA 列表。
  • 每个人都有许多 CA 已于 1999 年和 2004 年到期!
  • 许多 CA 的身份并不容易理解。

我还看到许多证书在 2037 年到期,也就是 UNIX 更新前不久,大概是为了避免任何目前未知的 Y2K38 类型的错误。但是其他证书的有效期更长。

我四处搜索,但有点令人惊讶的是,找不到普遍接受的 CA 的规范列表。

  • 如果我的机器上有 MITM 流氓证书,我怎么知道?
  • 是否存在“已接受”证书列表?
  • 删除过期的 CA 是否安全?
  • 我可以知道我是否/何时将 CA 用于 HTTPS?

小智 2

如果我的机器上有 MITM 流氓证书,我怎么知道?

你通常不会。事实上,这通常是系统管理员窥探员工 HTTPS 会话的方式:他们悄悄地将受信任的证书推送到所有桌面,并且该受信任的证书允许中间代理来扫描 MITM 内容,而无需提醒最终用户。(查找“推出 CA for https 代理组策略” - 用完了我的低声誉的链接!)

是否存在“已接受”证书的列表?

有一些,通常是库存操作系统安装的默认证书列表。但是,某些浏览器中也有硬编码的 CA 列表(例如,http://mxr.mozilla.org/mozilla-central/source/security/certverifier/ExtendedValidation.cpp)以支持扩展验证(“绿条”),但 EV 列表也有所不同(例如,http://www.digicert.com/ssl-support/code-to-enable-green-bar.htm

删除过期的 CA 是否安全?

一般来说,是的...如果您所做的只是浏览网站。但是,您在运行某些签名应用程序时可能会遇到其他问题。

我能否知道我是否/何时使用过 HTTPS CA?

嗯……听起来像是一个需要写作的应用程序。;)