数字证书和证书链

在介绍数字证书前,先谈谈签名/验签的流程,当 A 向 B 发送数据,

  1. A 先通过非对称加密算法,生成一对公钥和私钥,并把公钥公开

  2. 使用消息摘要算法(如 SHA、MD5 等),生成数据的摘要信息

  3. 使用私钥“加密”得到签名,并将签名附加在数据上,一起发送给 B

这个流程称为签名

B 收到后,

  1. 用消息摘要算法生成摘要

  2. 用公钥“解密”签名得到 A 生成的摘要

  3. 两个摘要比对,如果一致则说明没有第三方修改。

这个流程称为验签

但这里如果 B 所保存的公钥被 C 篡改成 C 的公钥了,C 就可以伪装成 A 和 B 进行交流了。

所以 A 可以去可靠的数字证书认证机构(即 CA,Certificate Authority)对自己的公钥进行认证,CA 会用自己的私钥“加密” A 的信息和公钥,得到签名,并把 A 的信息、公钥、签名放在一起,这就是数字证书

这样 C 即使篡改了数字证书中 A 的公钥,B 只需要用 CA 公开的公钥进行刚才所说的验签流程,即可验证了。

其实,CA 使用私钥签名,公开公钥进行验签,和 A 与 B 之间发送数据的流程是类似的。那 CA 所公开的公钥是不是也可能被篡改?解决方案是后面的证书链

先总结一下:

数字证书包含了公钥、公钥持有者信息、签名以及证书有效期等信息,它是用来认证公钥、公钥持有者身份的电子文件。最常用的证书格式是 X.509 标准。

数字证书认证机构(CA)是证书的签发机构,它是 PKI 的核心。CA 是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。

数字证书签发/验证流程

有个很经典的图,讲了大概流程:

证书链

打开一个支持 HTTPS 的网站,可以点击地址栏的小锁,查看这个网站的证书信息,可以看到证书路径:

这里有 3 级证书,它们被分为:

  • end-user:即 www.google.com,是该网站使用 HTTPS 安装的数字证书

  • intermediates:即 Google Internet Authority G3,是给 end-user 签发证书的中间 CA 的证书,中间 CA 可能不止一个

  • root:即 Google Trust Services - GlobalSign Root CA-R2,是根 CA 的证书,它给中间 CA 签发证书

证书链的形成

  1. root 证书:由根 CA 自己对自己签发的

  2. intermediates 证书:根 CA 生成一对公钥、私钥,并用私钥将中间 CA 的信息和公钥进行“加密”生成签名,并封装得到 intermediates 证书。上一级 CA 也是按照这个逻辑给下一级 CA 进行签发证书。

  3. end-user 证书:最后的 CA 生成公钥私钥,并私钥将用户信息、公钥进行“加密”得到 end-user 证书

证书这一级一级的关系就形成了证书链。

为什么需要证书链

刚才也提到了,可以保证中间 CA 公开的公钥安全,并且如果中间 CA 的私钥泄漏了,那用根 CA 再签发一个就好了,不会影响到这个根 CA 的所有证书。GoDaddy 是这样描述的:

Intermediate certificates are used as a stand-in for our root certificate. We use intermediate certificates as a proxy because we must keep our root certificate behind numerous layers of security, ensuring its keys are absolutely inaccessible.
However, because the root certificate itself signed the intermediate certificate, the intermediate certificate can be used to sign the SSLs our customers install and maintain the "Chain of Trust."

根证书可信吗

根证书大部分是内嵌在软件中(如浏览器、操作系统),所以理论上是可信的,当然也可以自己下载安装证书。Apple 官网 可以看到 macOs 所支持的根证书。在 Windows 上可以运行 certmgr.msc,结果如:

参考

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

推荐阅读更多精彩内容

  • 本文转载,出处如下:数字证书原理 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了...
    随安居士阅读 1,652评论 1 8
  • 前言 文中首先解释加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的...
    sunny冲哥阅读 2,872评论 0 2
  • 数字证书原理 - 无恙 - 博客园 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明...
    拉肚阅读 1,624评论 0 3
  • 原文地址 非对称加密和摘要 非对称加密的特性和用法 非对称加密算法可能是世界上最重要的算法,它是当今电子商务等领域...
    独酌丿红颜阅读 1,009评论 0 6
  • 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现...
    sunny冲哥阅读 1,334评论 0 3