关于证书链的一点认知

顾名思义,证书链是由一串数字证书链接而成,为了弄清楚这个概念,先看看什么是数字证书。

一、数字证书的基础知识

数字证书是用来认证公钥持有者身份合法性的电子文档,以防止第三方冒充行为。数字证书由 CA(Certifacate Authority) 负责签发,关键内容包括 颁发s者证书有效期使用者组织使用者公钥 等信息。数字证书涉及到一个名为 PKI(Public Key Infrastructure) 的规范体系,包含了数字证书格式定义、密钥生命周期管理、数字签名及验证等多项技术说明,不在这篇笔记中详细展开。

我们借助下面的流程,看看 CA 是如何签发一张证书,使用者又是如何验证这样证书的。这又涉及到了数字签名技术,数字签名技术又是基于公钥密码技术。

现实世界中,签名是针对承诺的一种表现形式,手手段可以通过手写签字或盖扣印章;而在数字世界中,签名仍然是为了表示承诺,只是手段变成了二进制。

好,我们来看看 CA 数字签名包括两个过程:签发证书(Signing)验证证书(Verification)

数字签名与验证
签发证书的过程
  1. 撰写证书元数据:包括 签发人(Issuer)地址签发时间有效期 等,还包括证书持有者(Owner)基本信息,比如 DN(DNS Name,即证书生效的域名)Owner 公钥 等信息
  2. 使用通用的 Hash 算法(如SHA-256)对证书元数据计算生成 数字摘要
  3. 使用 Issuer 的私钥对该数字摘要进行加密,生成一个加密的数字摘要,也就是Issuer的 数字签名
  4. 将数字签名附加到数字证书上,变成一个 签过名的数字证书
  5. 将签过名的数字证书与 Issuer 的公钥,一同发给证书使用者(注意,将公钥主动发给使用者是一个形象的说法,只是为了表达使用者最终获取到了 Issuer 的公钥)
验证证书的过程
  1. 证书使用者获通过某种途径(如浏览器访问)获取到该数字证书,解压后分别获得 证书元数据数字签名
  2. 使用同样的Hash算法计算证书元数据的 数字摘要
  3. 使用 Issuer 的公钥 对数字签名进行解密,得到 解密后的数字摘要
  4. 对比 2 和 3 两个步骤得到的数字摘要值,如果相同,则说明这个数字证书确实是被 Issuer 验证过合法证书,证书中的信息(最主要的是 Owner 的公钥)是可信的

上述是对数字证书的签名和验证过程,对普通数据的数字签名和验证也是利用了同样的方法。

我们再来总结一下“签发证书”与“验证证书”两个过程,Issuer(CA)使用 Issuer 的私钥 对签发的证书进行数字签名,证书使用者使用 Issuser 的公钥 对证书进行校验,如果校验通过,说明该证书可信。

由此看出,校验的关键是 Issuer 的公钥,使用者获取不到 Issuer 的私钥,只能获取到 Issuer 的公钥,如果 Issuer 是一个坏家伙,谁来证明 Issuer 的身份 是可信的?

这就涉及到一个信任链条了,也是这篇笔记本身要讲述的事情,证书链。

二、证书链是什么

还是以百度为例,在浏览器上访问 “www.baidu.com” 域名,地址连左侧有一个小锁的标志,点击就能查看百度的数字证书,如下图所示(使用的是Edge浏览器)

百度数字证书

在图片的顶部,我们看到这样一个层次关系:

GlobalSign Root CA -> GlobalSign Organization Validation CA -> baidu.com

这个层次可以抽象为三个级别:

  1. end-user:即 baidu.com,该证书包含百度的公钥,访问者就是使用该公钥将数据加密后再传输给百度,即在 HTTPS 中使用的证书
  2. intermediates:即上文提到的 签发人 Issuer,用来认证公钥持有者身份的证书,负责确认 HTTPS 使用的 end-user 证书确实是来源于百度。这类 intermediates 证书可以有很多级,也就是说 签发人 Issuer 可能会有有很多级
  3. root:可以理解为 最高级别的签发人 Issuer,负责认证 intermediates 身份的合法性

这其实代表了一个信任链条,最终的目的就是为了保证 end-user 证书是可信的,该证书的公钥也就是可信的。

证书链

结合实际的使用场景对证书链进行一个归纳:

  1. 为了获取 end-user 的公钥,需要获取 end-user 的证书,因为公钥就保存在该证书中
  2. 为了证明获取到的 end-user 证书是可信的,就要看该证书是否被 intermediate 权威机构认证,等价于是否有权威机构的数字签名
  3. 有了权威机构的数字签名,而权威机构就是可信的吗?需要继续往上验证,即查看是否存在上一级权威认证机构的数字签名
  4. 信任链条的最终是Root CA,他采用自签名,对他的签名只能无条件的信任
证书链逐级认证

说到无条件信任,也不用奇怪,尤瓦尔赫拉里在《人类简史》中已经阐述过,基于虚构故事所建立的信任,最终将人类待到了今天。

还有一个小问题,Root 根证书从何而来呢?除了自行下载安装之外,浏览器、操作系统等都会内置一些 Root 根证书,称之为 Rrusted Root Certificates。比如 Apple MacOS 官网就记录了操作系统中内置的可信任根证书列表。

macOS High Sierra 中可用的受信任根证书列表


证书链的基本原理就是这些,有一篇E文专门讲述证书链可供学习参考,链接如下:What is the SSL Certificate Chain?

数字证书是一种普遍使用的身份认证方式,而另外一种认证方式,基于身份标识,也就是和PKI竞争的IBC(Identity-Based Cryptography)体系正在兴起,学习了解中,敬请期待。

持续学习,青春永驻!

玉女姐姐
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容