为什么需要进行CA证书链的校验

一、引言

CA 证书是 TLS 安全协议中进行 身份认证 的重要内容之一,这个知识在解决 信任链 的问题,即允许身份认证通过的客户端和服务端建立安全通信。
“可是 CA 证书究竟是什么?和 SSL 证书是什么关系?CA 证书为何可以进行身份认证呢?”以上种种,是我在学习这部分知识之前的困惑,也是本文想探究和分享的内容。
本文的面向对象是:产品经理 或者 其他对该知识感兴趣的读者,非研发视角。

二、概念

为了讲清楚 CA 证书相关的知识,需要了解以下基本概念,如下概念是我们可以进行对话的前提:

概念说明
证书颁发机构也称为 CA(Certificate Authority),是一个可信组织,他们是负责 签发和管理 数字证书 的权威机构,以便客户端和服务端之间可以进行安全通信。
根证书颁发机构Root Certificate Authority,也称为 根CA,是一个拥有可信根的证书颁发机构
中级证书颁发机构Intermediate Certificate Authority,由根证书颁发机构 授权和签发 的下一级机构,这些机构颁发的证书默认不会被 系统或浏览器 可信。中级CA有助于提高 CA颁发效率,同时可以减少错误发布或安全风险(不用撤销根证书,只需要撤销不授信的 中间证书 即可)
CA根证书root CA certificates,默认可信证书,具有极其严格的颁发管理规则,用来签发其它中间证书,是信任链的起点,也证书链的终点。Microsoft、Apple、Google 等设备均有在操作系统中内置根证书。
CA中级证书CA中级证书 是根证书的私钥签发一类证书,使用 CA 中级证书 可以签发面向终端用户的 SSL 证书。
证书链Certificate Chain,CA 根证书通过私钥签发 CA中间证书,然后CA中间证书通过私钥签发下一级 中间证书 或 叶子证书,形成一个完整的 证书链。
数字签名Digital Signature,在 CA 的场景下,数字签名类似 数字公证,因为签名的本质是进行 信任传递,将对根证书的信任,传递给 中间证书。

三、学科原理

1、CA 证书是如何解决信任问题的?

通过以上的 概念 部分可知,我们常说的 CA 证书,大多是指 面向组织或个人签发的 数字证书,这份证书,也被称为 SSL 证书。之所以还有 SSL 的叫法,是因为 TLS 协议来源于 SSL 协议。现在说的 SSL 准确来说是指 TLS,是延续下来的说法而已。就像是 火车,现在火车都用电了,但是还是叫 火车。

浏览器或客户端 之所以能够信任 服务端, 是因为 客户端会使用 TLS 证书对服务端的身份进行校验,即客户端会进行证书链的校验流程。以访问 中国工商银行 为例:

  1. 浏览器访问 https://www.icbc.com.cn/icbc/ URL 时,通过 TLS 握手,会收到该域名的 TLS证书。
  2. 浏览器会快速校验 证书合法性,包括:证书是否过期、域名和证书中的是否一致、证书是否有效。
  3. 证书是否有效,并不能由该证书说了算,需要由上一级证书说了算,即 上一级证书中的 公钥,用来解密证书中的签名,得到证书 摘要信息,然后用 hash 算法生成证书的 摘要信息,如果2个摘要信息一致,则认为证书校验通过。
  4. 然后循环往复往,直到校验到设备上的根证书截止(由于根证书 默认可信,所以校验到根证书就截止)。
  5. 当无法 通过证书链 找到可信的根证书时,客户端不会信任该证书。

2、为什么证书链的校验有效?

证书链 之所以 有效,是因为证书链校验的本质,其实是 信任链。而信任链的本质,是 信任传递。而 信任传递 的本质,经过了生活中不同场景的广泛验证。
CA 机构采用 根证书、中级证书、子证书 的方式,来管理和维护 信任链 问题。因为信任 根证书,所以信任 根证书 颁发的中级证书,也就信任了 中级证书 颁发的 子证书。这份信任,来源于生活:

  • 身份证:生活中,我们认证某个人的身份时,会对某人的身份证进行校验。之所以信任某个人的身份证,是因为由国家进行颁发,我们可以在国家的相关系统中进行验证。
  • 货币:我们平时使用的人民币,其实也有 信任链 在里面,即 中国人民银行,本质是 国家信用体系。如果我们对国家失去了信心,对 中国人民银行 失去了信心,人民币也就不会存在广泛流通的问题了。

为什么会产生 信任链?我觉得是 信任链 节省能量和提高效率。对于个人、组织或客户端而言,校验到根节点可信后,即可认为根节点发散出去的子节点也可信,不用再继续进行无休止校验。

3、为什么 根证书默认可信?

为什么根证书默认可信,和为什么 中国人民银行 默认可信,其实有同样原因。我们其实可以从 2个 角度来看待可信。
第一个角度是 社会信任(social trust)。CA机构必须严格遵守规则、审计和公众监督等要求,所有的这些都是为了获取足够的社会信任。就和国家一样,需要长期行为来建立国际国内信任。这是技术信任的前提。
第二个角度是 技术可信(technical trust)。人民币的防伪技术、CA 证书的签名认证技术等,通过技术增加可信。

四、对我们有何启发?

案例1:信任链需要自己经营。在人生的每个阶段,都能够靠谱负责的对待自己的学习工作,经营好自己的信任感,这是我们可以带走的财富。因为别人信任的是我们本人,我们是他人信任的根节点。

案例2:最近很火的社交电商(通过社交关系,利用社交软件,进行商品推广交易等),其本质也是信任链,即信任传递。我们信任朋友,所以信任他们分享的产品。

五、参考资料

  1. The Difference Between Root Certificates and Intermediate
  2. Certificates iOS 12、macOS 10.14、Apple tvOS 12 和 watchOS 5
    中可用受信任根证书的列表
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值