我应该查看可疑证书中的哪些字段?

信息安全 证书 公钥基础设施
2021-09-02 20:21:45

查看网站的证书(在 Windows/Google Chrome 中)我看到它列出了以下字段

  • 版本
  • 序列号
  • 签名算法
  • 发行人
  • 有效期自
  • 有效
  • 主题
  • 公钥
  • 基本约束
  • 证书政策
  • CRL 分发点
  • 增强的密钥使用
  • 密钥用法
  • 主题备用名称
  • 权限信息访问
  • 指纹算法
  • 指纹

在某些情况下,浏览器会传达问题可能是什么。

例如

  • 证书尚未有效/过期:在这种情况下,“有效自”或“有效至”都不好

  • 不同网站的证书:在这种情况下,“主题”不好

我记得有人告诉我,在可疑证书上,应该手动/显式验证某些字段。我不记得以上哪些领域是相关的,也不记得在这些领域中寻找什么。

例如,如果证书中的“基本约束”字段不好,会发生什么?或者如果“证书策略”字段不好?

我应该查看可疑证书中的哪些字段?

已编辑:到处都是有用的回应。谢谢!

“基本约束”和“证书策略”字段的意义是什么?我看了一下RFC5280,但是太密集了,无法弄清楚描述的重要性

4个回答

还要查看Issuer字段!正如CA 被黑客入侵有多可行?,你真的不能信任所有的证书颁发机构,实际上整个 CA 模型是有缺陷的。因此,要查看的一个字段是颁发者字段,您可能需要一个浏览器功能来通知您是否正在查看由不可信 CA 颁发的证书。这涵盖了您不想信任您的数据的国家拥有或过度影响的 CA,或者安全性或颁发程序存在缺陷并错误地证明了欺诈性证书的 CA。

您应该注意的另一种情况是您的代理服务器 通过已嵌入您的浏览器的 CA 颁发证书的情况 - 一些组织这样做是因为他们不信任他们的员工。例如,请参阅一些企业代理软件,如Blue Coat,也可能在叙利亚使用。

嗯,这在某种程度上取决于您访问的网站的专业程度以及您与网站共享的信息的敏感性。

  • 如果是您的银行网站或网站要求您提供信用卡信息,我不会容忍任何错误。

  • MDN这样的网站不处理任何敏感信息(除了您的 MDN 密码),而是由专业人员管理。这里的任何错误都是可疑的。

至于您提到的特定错误:

  • 证书尚未生效,排除市长被网站管理员搞砸的可能性,通常意味着您的计算机的系统时钟设置不正确。从检查开始。

  • 证书过期通常就是这个意思。这可能发生在半专业网站上,但不会发生在您银行的网站上。

  • 证书适用于不同的网站,在半专业网站上也很常见。

    • 如果您访问的站点是foo.example.com并且证书是 的bar.example.com,请检查两个站点是否属于同一服务(例如,计费和支持)。如果是这样,管理员在学习如何设置网站时错过了一两节课,但没有真正的问题。

    • 如果foo.example.com并且bar.example.com属于不同的服务(例如,不同人的博客),请不要再进一步。

    • 如果您正在访问example.com,但证书是为了scam.com,请不要再进一步。

  • 证书不受信任意味着证书未由受信任的证书颁发机构签名。

    • 任何人都可以自己创建证书yourbank.com并签名,但来自专业网站的证书将始终由受信任的证书颁发机构签名。

    • 半专业和私人网站通常使用自签名证书,因为它们易于创建且免费。问题是,虽然它们确实提供了保密性(加密),但它们不提供任何保密性(任何人都可以伪造证书)。如果网站要求您提供未在未加密网站上输入的信息,请不要继续。

查看这些字段是没有用的:证书是否有效是复杂算法的产物(请参阅RFC 5280的第 6 节——但如果您想或多或少保持理智,请不要这样做)和浏览器在运行该算法方面比你好(许多浏览器实际上很糟糕,但人类更糟糕)。仔细的手动分析最终可能会指出服务器所有者或他的 CA 错误的合理点;但你不能从逻辑上排除攻击的可能性。如果浏览器说“那不好”,那就不好了。如果有一种简单的方法可以“挽救”一个坏证书,那么浏览器也会实现它并且不会报告错误。

唯一真正值得查看的字段是有效期:有两种常见情况会通过“证书已过期”或“证书尚未生效”消息表现出来,并且至少其中一个可以在您这边解决:

  1. 证书在几个小时前过期。服务器所有者忘记及时更新它。由于吊销检查本质上是异步的,您可以决定容忍稍微过时的证书(“稍微”我的意思是“最多一两天”)。那是你的决定。

  2. 该证书实际上是当前有效的;那是您的计算机时钟错误。如果证书有效期的开始日期和结束日期似乎包含当前日期,那么是时候检查您的机器上是否正确配置了日期和时间。例如,我有一台旧笔记本电脑,当我一个人呆了几天以上时,它往往会切换回 1969 年。

valid from除了你还能做哪些其他检查valid to这就像有人给你(我假设你在印度)给你一张来自阿根廷的钞票一样。你如何检查它是否有效?