什么是 X.509 证书以及它是如何工作的?( 二 )


?
编辑切换为居中
图:X.509 证书使用相关的公钥和私钥对进行身份验证和 Internet 通信和计算机网络的安全性
发行字段
X.509 证书字段包含有关颁发证书的身份以及颁发者 CA 的身份的信息 。标准字段包括:

  • 版本 – 适用于证书的 X.509 版本
  • 序列号 – CA 提供的唯一序列号标识符,用于将证书与其他证书区分开来
  • 算法信息——颁发者用来签署证书的加密算法
  • 颁发者专有名称 – 颁发证书的 CA 的名称
  • 证书的有效期 - 开始/结束日期和时间,它是有效的并且可以信任
  • 主题专有名称 – 颁发证书的身份名称
  • 主题公钥信息——与身份相关的公钥
?
编辑
图:TLS/SSL 证书中显示的标准证书信息字段
通用数字证书扩展
除了其标准信息字段外,X.509 版本 3 还定义了多个扩展,旨在支持客户端应用程序使用 Internet 的扩展方式 。目前使用的两个常见 X.509 证书扩展是主题备用名称和密钥用法 。
  • 主题备用名称扩展允许其他身份也与证书的公钥相关联 。这可能包括其他域、DNS 名称、电子邮件地址和 IP 地址 。基于此扩展,CA 提供的多域证书通常称为 SAN 证书 。
  • 密钥使用将密钥的使用限制为特定目的,例如“仅签名” 。
数字证书应用分层信任链
为了进一步建立身份的信任,通常将多个数字证书组合起来,构建一个分层的信任链,提供一系列的验证层 。如前所述,作为 X.509 验证过程的一部分,每个都必须由颁发者 CA 签名 。CA 被命名并存储在证书的根目录中 。其他中间证书可以包含在信任链中,并且必须经过验证 。
例如,当 Web 浏览器客户端读取证书时,它必须能够遵循证书的分层路径,包括验证所需的任何中间体,这些中间体递归地链接回客户端信任存储中列出的根 CA,从而形成完整的链的信任 。
?
编辑
图:SSL/TLS 证书通常结合中间证书创建分层信任链
证书吊销列表 (CRL)
X.509 标准还定义了证书撤销列表的使用,该列表标识了在计划的到期日期之前已被颁发 CA 撤销的所有数字证书 。
这些被吊销的证书不应再受信任 。
CRL 提供了一种简单的方法来分发有关这些无效证书的信息 。但是,流行的 Web 浏览器和客户端越来越不赞成使用它们,转而支持在线证书状态协议 (OCSP) 和提供完整撤销功能的 OCSP 装订 。
PKI 证书编码
X.509 标准中未定义的一个值得注意的元素是证书内容应如何编码以存储在文件中 。
但是,通常有两种编码模式用于将数字证书存储在文件中:
  • 可分辨编码规则 (DER) - 最常见,因为架构处理大多数数据对象 。DER 编码的证书是二进制文件,不能被文本编辑器读取,但可以被 Web 浏览器和许多客户端应用程序处理 。
  • 隐私增强邮件 (PEM) 是一种加密的电子邮件编码模式,可用于将 DER 编码的证书转换为文本文件 。
X.509 公钥基础设施的常见应用
许多互联网协议都依赖于 X.509,PKI 技术的许多应用每天都在使用,包括 Web 服务器安全、数字签名和文档签名以及数字身份 。
使用 TLS/SSL 证书的 Web 服务器安全性
PKI 是安全套接字层 (SSL) 和传输层安全 (TLS) 协议的基础,它们是 HTTPS 安全浏览器连接的基础 。如果没有 SSL 证书或 TLS 来建立安全连接,网络犯罪分子可以利用 Internet 或其他 IP 网络使用各种攻击媒介(例如中间人攻击)来拦截消息并访问其内容 。
数字签名和文档签名
除了用于保护消息之外,基于 PKI 的证书还可用于数字签名和文档签名 。

经验总结扩展阅读