曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4137|回复: 0
打印 上一主题 下一主题

数字证书,根证书等概念图文解说

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2012-9-2 01:27:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们在使用支付宝,财付通时会用到证书,在铁道部购买火车票时还需要安装它提供的“根证书”,而且像这些网上交易的网站,都会采用基于 SSL 的加密技术对传输进行加密,它的直接体现是地址栏里标识的传输协议不是 http 而是 https 。下面一步一步来了解证书及 SSL 的相关内容。

首先可以访问财付通的网址,如下图所示:



                        (图-1)

从上图可以看到,传输协议标识是 https ,而右侧可以看到一个锁的小图标,点击小图标可以看到弹出框:

                             (图-2)

我们可以继续点击“查看证书”,然后看到:

                              (图-3)

从上图可以看到该证书的颁发者是:VeriSign Class 3 Extended Validation SSL SGC CA ;证书的持有者是 www.tenpay.com

那么 “VeriSign Class 3 Extended Validation SSL SGC CA” 和 “VeriSign Class 3 Public Primary Certification Authority - G5” 是什么关系呢?我们可以继续点击“图-3" 中的证书路径选项卡:

                            (图-4)

从上图的”证书路径“里可以看到 "VeriSign Class 3 Public Primary Certification Authority - G5" 和 "VeriSign Class 3 Extended Validation SSL SGC CA" 及 "www.tenpay.com" 这 3 者是自上而下的”继承“关系。

其中,最顶层的 ”VeriSign Class 3 Public Primary Certification Authority - G5" 是我们信任的根证书颁发机构,该机构给第二层的 ”VeriSign Class 3 Extended Validation SSL SGC CA“ 办法了证书,接着 "SGC CA" 又给 "www.tenpay.com" 办法了证书,于是我们也信任了 "www.tenpay.com" 。形象的说,我相信你的“爷爷”,我也会相信你“爸爸”,继而相信“你”,因为“爷爷”可以证明”父亲“的身份,而”父亲“又可以证明”孩子“的身份。

那么这个”信任“ 是什么意思?
注意,这里的”信任“并不是说明,我相信它不会干坏事(比如 www.tenpay.com 依然可以是个非法网站),而仅仅是我相信他就是那个人。这和身份证的道理是一样的,比如我们可以通过身份证知道某个人的身份,但不能因此知道这个人就是好人或是坏人。

上面说的”我们信任XXX"中的 ”我们“ 当然指的是浏览器或者操作系统。那操作系统是怎么相信上面所提到的办法机构的呢?答案是,操作系统对某些机构已经内置了信任,这类似于你设置杀毒软件或者防火墙的白名单。下面,让我们来看一下 Windows 系统内置的证书是怎样的。

在运行里输入命令 certmgr.msc ,然后可以看到下图:

                          (图-5)

可以点开左边框中的”受信任的根证书颁发机构“,然后点开”证书“,在右边框里可以看到:

                                 (图-6)

从上图中我们看到了上面所提到的”信任“的根证书办法机构”VeriSign Class 3 Public Primary Certification Authority“ 。我们也可以通过点开 IE 浏览器的 "Internet 选项” 里的“内容”选项卡中的“证书”按钮找到上面的根证书办法机构,如下图所示:

                              (图-7)


从上面所述,应该可以了解证书的一般应用情况了。顺便的,我们打开“不信任的证书”,查看一下都有哪些情况:


                               (图-8)

上图中,像微软,雅虎,谷歌,SKYPE 这些大牌的网站也赫然在列,为什么这些我们耳熟能详的大企业的证书反而不受信任了呢?这是有历史原因的。
如图中所示,第一个红色框框所标识的 DigiNotar 是荷兰的一个公司,它是一个根证书颁发机构,它曾经被黑客入侵,导致多台的 CA 服务器被感染,这些被感染的服务器发出了数以百计的针对 20 多个不同领域签署的流氓证书。正如前面所讲,如果你信任了这个被黑的根证书颁发机构,那么在不知情的情况下,默认下你也会相信它颁发流氓证书的网站,那么这些网站如果是欺诈恶意的站点,那么是会造成很大的损失的。因此,为了保证安全,就将这些被盗的证书进行吊销。这样一来,即使是黑客用这些证书给病毒签名,伪装成这些大企业,那么也会因为证书被吊销的缘故而不会使人轻易上当。微软已经在  KB 2607712 补丁将受影响的证书全部设为不信任,而 DigiNotar 公司也因为该事件而破产。

如果我们手动将一个证书安装进(图-5)中的“不信任的证书”节点,那么再次访问该网站时,浏览器会阻止你继续前进。比如现在将上面财付通站点的证书安装到其中:


那么当我们再次访问财付通网站上时,浏览器会给出提示:




实际上,能够提供数字证书业务的公司有很多,但基本上的根证书颁发机构则没多少个。原因正如上面所讲的继承关系,即操作系统虽然只信任了有限的几个根证书颁发机构,那么自然也会相信根证书颁发机构所信任的公司,进而信任这些公司所信任的下一级公司。从上面的 (图-4) 中可以看到这一点。

现在,我们顺便去看一下铁道部的 12306.cn 所要求安装的根证书是怎么一回事,如果你在该网上火拼过火车票,那么你可以体验到这一点。打开 12306.cn 可以看到:


将该“根证书”的压缩包下载下来。解压缩后会看到里面有个证书文件和一个使用说明文档。双击打开证书文件,可以看到如下图所示情况:


由上图可以看到,该证书根本没有一个有效的受信任 CA。通俗的讲,就是没有人证明你的身份,你说你是什么就是什么。这种做法,带有点娱乐性质。正是因为如此,该证书才需要按照铁道部告诉你的,要将它安装到如 图-6 所示的“受信任的根证书颁发机构”节点下,这样你才能继续购票。实际上,国内的一些垄断企业,就比较喜欢将自己称之为“根”,也就是我是老大,我不信任他人,我也不需要他人信任我而证明我。如果你安装证书,系统最后会给你如下提示:



那么像铁道部这样做对消费者有什么不好的地方呢?

要说明这个问题,首先要说“证书吊销列表”(CRL)这个概念。
证书吊销列表 (Certificate Revocation List,简称 CRL)是 PKI 系统中的一个结构化数据文件,该文件包含了证书颁发机构(CA)已经吊销的证书的序列号及其吊销日期。CRL 文件中还包含了证书颁发机构信息,吊销列表失效时间和下一次更新时间,以及采用的签名算法等。证书吊销列表最短的有效期为一个小时,一般为 1 天,甚至一个月不等,这些由各个证书颁发机构在设置其证书颁发系统时设置。

我们可以打开 (图-5) 中的“中级证书颁发机构”节点,然后再打开其中的“吊销证书列表”,我们可以看到:


这里有一个颁发者为“VeriSign Commercial Software Publishers CA” 所发布的吊销证书列表,可以双击打开并查看它:



接着,再考察一个“证书吊销列表分发点”(CRL Distribution Poiont,简称 CDP)的概念。它是含在数字证书中的一个可以供各种应用软件自动下载的最新 CRL 的位置。一个 CDP 通常出现在数字证书的 “详细信息” 选项卡的 “CRL 分发点” 域,如下图所示:


这里一般会列出多个使用不同的访问方法,以确保如 WEB 浏览器和 WEB 服务器程序始终可以获取最新的 CRL。CDP 一般是一个可以访问的 HTTP 网址,如上图的第二个红色框框里的网址。

讲到吊销列表,还需要讲一下 OCSP (Online Certificate Status Protocol,证书状态在线查询协议),它是 IETF 颁布的用于实时查询数字证书在某一时间是否有效的标准。

上面已经提到,一般 CA 都只是每个一定时间 (几天或几个月) 才发布新的吊销列表,可以看出:CRL 是不能及时反映证书的实际状态的。而 OCSP 就能满足实时查询证书状态的要求。它为电子商务网站提供了一种实时检验数字证书的有效性途径,比下载和处理 CRL 的传统方式更快,更方便和更具独立性。请求者发送查询请求,OCSP 服务器就会返回证书可能的 3 个状态:正常,吊销 和 未知。

OCSP 服务由独立的 OCSP 服务器提供服务,OCSP 也是一个可以访问的 HTTP 站点,如下图所示:



那么,吊销证书列表有什么用呢?
让我们来看看浏览器是如何查询吊销列表的。浏览器在使用 https:// 协议访问已经部署了 SSL 证书的网站时,一定会先检查此 SSL 证书是否已经被吊销,也就是说会查询吊销列表或 OCSP 服务。如果此证书已经被证书颁发机构所吊销,那么就会显示警告信息:“此组织的证书已经被吊销。安全证书问题可能显示试图欺骗您或截获您向服务器发送的数据。建议关闭此网页,并且不要记录浏览该网站。

需要注意的是:目前有些 CA 颁发的证书和大部分自签 SSL 证书没有提供吊销列表 (CRL) 服务或证书 吊销列表分发点是不可访问的,当然更别提 OSCP 服务,这是非常危险的,因为如果证书丢失或被盗而无法吊销的话,就极有可能被用于非法用途而让用户蒙受损失。

说到此,回过头来看看我们铁道部的证书 CRL 都是什么样的,同样打开它,看到如下图所示:


从上图可以看到,铁道部自制的根证书的 CRL 地址竟然是个内网地址,也就是说,它只是闹着玩的。正是因此次,你在购买车票时可能会遇到”吊销信息不可用”的提示,也就是浏览器在告诉你,你所访问的网站,不一定能完全证明其可靠,这可能是真的网站,也可能是钓鱼网站。

如果 12306 的证书私钥丢失或被盗,那么持有该证书的人要伪造一个钓鱼网站,或者以铁道部身份发布恶意软件,那是轻而易举的事,铁道部将对此束手无策。

另外一点是,如果盗取该证书的人继续使用 "SRCA" 的身份给他人以其他身份颁发证书,比如以银行或支付中介的名义,那么结果将会怎样呢?因为购买火车票的人,信任了这个 SRCA 的根证书,那么伪造的流氓证书也直接被信任。

到此为止,应该可以清楚数字证书和根证书的许多概念和细节了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-21 07:24 , Processed in 0.078831 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表