CA扫盲的巅峰之做!!!

★ 先说一个通俗的例子html

     考虑到证书体系的相关知识比较枯燥、晦涩。俺先拿一个通俗的例子来讲事儿。git

  ◇ 普通的介绍信编程

  想必大伙儿都据说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,可是 B 公司的全部人都不认识他,他咋办捏?经常使用的办法是带公司开的一张介绍信,在信中说:兹有张三先生前往贵公司办理业务,请给予接洽......云云。而后在信上敲上A公司的公章。浏览器

  张三先生到了 B 公司后,把介绍信递给 B 公司的前台李四小姐。李小姐一看介绍信上有 A 公司的公章,并且 A 公司是常常和 B 公司有业务往来的,这位李小姐就相信张先生不是歹人了。安全

  说到这,爱抬杠的同窗会问了:万一公章是伪造的,咋办捏?在此,俺要先声明,在本例子中,先假设公章是难以伪造的,不然俺的故事无法说下去鸟。网络

  ◇ 引入中介机构的介绍信工具

  好,回到刚才的话题。若是和 B 公司有业务往来的公司不少,每一个公司的公章都不一样,那前台就要懂得分辨各类公章,很是滴麻烦。因此,有某个中介公司 C,发现了这个商机。C公司专门开设了一项“代理公章”的业务。网站

  从此,A 公司的业务员去 B 公司,须要带2个介绍信:加密

  介绍信13d

  含有 C 公司的公章及 A 公司的公章。而且特意注明:C 公司信任 A 公司。

  介绍信2

  仅含有 A 公司的公章,而后写上:兹有张三先生前往贵公司办理业务,请给予接洽......云云。

  某些不开窍的同窗会问了,这样不是增长麻烦了吗?有啥好处捏?

  主要的好处在于,对于接待公司的前台,就不须要记住各个公司的公章分别是啥样子的;他/她只要记住中介公司 C 的公章便可。当他/她拿到两份介绍信以后,先对介绍信1的 C 公章,验明正身;确认无误以后,再比对介绍信1和介绍信2的两个 A 公章是否一致。若是是同样的,那就能够证实介绍信2是能够信任的了。

  ★ 相关专业术语的解释

  费了很多口水,终于说完了一个俺自认为比较通俗的例子。若是你听到到这,仍是想不明白这个例子在说啥,那后续的内容,就没必要浪费时间听了 :(

  下面,俺就着上述的例子,把相关的名词,做一些解释。

  ◇ 什么是证书?

  “证书”洋文也叫“digital certificate”或“public key certificate”(专业的解释看“这里”)。

 它是用来证实某某东西确实是某某东西的东西(是否是像绕口令?)。通俗地说,证书就比如例子里面的公章。经过公章,能够证实该介绍信确实是对应的公司发出的。

  理论上,人人均可以找个证书工具,本身作一个证书。那如何防止坏人本身制做证书出来骗人捏?请看后续 CA 的介绍。

  ◇ 什么是CA?

  CA是Certificate Authority的缩写,也叫“证书受权中心”。(专业的解释看“这里”)

  它是负责管理和签发证书的第三方机构,就比如例子里面的中介——C 公司。通常来讲,CA必须是全部行业和全部公众都信任的、承认的。所以它必须具备足够的权威性。就比如A、B两公司都必须信任C公司,才会找 C 公司做为公章的中介。

  ◇ 什么是CA证书?

  CA 证书,顾名思义,就是CA颁发的证书。

  前面已经说了,人人均可以找工具制做证书。可是你一个小破孩制做出来的证书是没啥用处的。由于你不是权威的CA机关,你本身搞的证书不具备权威性。

  这就比如上述的例子里,某个坏人本身刻了一个公章,盖到介绍信上。可是别人一看,不是受信任的中介公司的公章,就不予理睬。坏蛋的阴谋就不能得逞啦。

  文本后续说起的证书,若无特殊说明,均指 CA 证书。

  ◇ 什么是证书之间的信任关系?

  在俺的例子里谈到,引入中介后,业务员要同时带两个介绍信。第一个介绍信包含了两个公章,并注明,公章C信任公章A。证书间的信任关系,就和这个相似。就是用一个证书来证实另外一个证书是真实可信滴。

  ◇ 什么是证书信任链?

  实际上,证书之间的信任关系,是能够嵌套的。好比,C 信任 A1,A1 信任 A2,A2 信任 A3......这个叫作证书的信任链。只要你信任链上的头一个证书,那后续的证书,都是能够信任滴。

  ◇ 什么是根证书?

  “根证书”的洋文叫“root certificate”,专业的解释看“这里”。为了说清楚根证书是咋回事,再来看个稍微复杂点的例子。

  假设 C 证书信任 A 和 B;而后 A 信任 A1 和 A2;B 信任 B1 和 B2。则它们之间,构成以下的一个树形关系(一个倒立的树)。 


 

  处于最顶上的树根位置的那个证书,就是“根证书”。除了根证书,其它证书都要依靠上一级的证书,来证实本身。那谁来证实“根证书”可靠捏?实际上,根证书本身证实本身是可靠滴(或者换句话说,根证书是不须要被证实滴)。

  聪明的同窗此刻应该意识到了:根证书是整个证书体系安全的根本。因此,若是某个证书体系中,根证书出了问题(再也不可信了),那么全部被根证书所信任的其它证书,也就再也不可信了。这个后果是至关至关滴严重(简直能够说是灾难性的),具体在下一个帖子里介绍。

  ★ 证书有啥用?

  CA 证书的做用有不少,俺为了节省口水,只列出经常使用的几个。

  ◇ 验证网站是否可信(针对HTTPS)

  一般,咱们若是访问某些敏感的网页(好比用户登陆的页面),其协议都会使用 HTTPS 而不是 HTTP。由于 HTTP 协议是明文的,一旦有坏人在偷窥你的网络通信,他/她就能够看到网络通信的内容(好比你的密码、银行账号、等);而 HTTPS 是加密的协议,能够保证你的传输过程当中,坏蛋没法偷窥。

  可是,千万不要觉得,HTTPS 协议有了加密,就可高枕无忧了。俺再举一个例子来讲明,光有加密是不够滴。假设有一个坏人,搞了一个假的网银的站点,而后诱骗你上这个站点。假设你又比较单纯,一不留神,就把你的账号,口令都输入进去了。那这个坏蛋的阴谋就得逞鸟。

  为了防止坏人这么干,HTTPS 协议除了有加密的机制,还有一套证书的机制。经过证书来确保,某个站点确实就是某个站点。

  有了证书以后,当你的浏览器在访问某个 HTTPS 网站时,会验证该站点上的 CA 证书(相似于验证介绍信的公章)。若是浏览器发现该证书没有问题(证书被某个根证书信任、证书上绑定的域名和该网站的域名一致、证书没有过时),那么页面就直接打开;不然的话,浏览器会给出一个警告,告诉你该网站的证书存在某某问题,是否继续访问该站点?为了形象起见,下面给出 IE 和 Firefox 的抓图:


 

 

  大多数知名的网站,若是用了 HTTPS 协议,其证书都是可信的(也就不会出现上述警告)。因此,从此你若是上某个知名网站,发现浏览器跳出上述警告,你就要当心啦!

  ◇ 验证某文件是否可信(是否被篡改)

  证书除了能够用来验证某个网站,还能够用来验证某个文件是否被篡改。具体是经过证书来制做文件的数字签名。制做数字签名的过程太专业,咱就不说了。后面专门告诉你们如何验证文件的数字签名。考虑到大多数人用 Windows 系统,俺就拿 Windows 的例子来讲事儿。

  好比,俺手头有一个 Firefox 的安装文件(带有数字签名)。当俺查看该文件的属性,会看到以下的界面。眼神好的同窗,会注意到到上面有个“数字签名”的标签页。若是没有出现这个标签页,就说明该文件没有附带数字签名。


 

  选择该标签页,看到以下界面。

  顺便说一下,某些数字签名中没有包含“邮件地址”,那么这一项会显示“不可用”;一样的,某些数字签名没有包含“时间戳”,也会显示“不可用”。没关系张,这里显示的“不可用”跟数字签名的有效性不要紧

  通常来讲,签名列表中,有且仅有一个签名。选中它,点“详细信息”按钮。跳出以下界面:

  一般这个界面会显示一行字:“该数字签名正常”(图中红圈标出)。若是有这行字,就说明该文件从出厂到你手里,中途没有被篡改过(是原装滴、是纯洁滴)。

  若是该文件被篡改过了(好比,感染了病毒、被注入木马),那么对话框会出现一个警告提示“该数字签名无效”(图中红圈标出)。界面以下:

  不论签名是否正常,你均可以点“查看证书”按钮。这时候,会跳出证书的对话框。以下 


 

  从后一个界面,能够看到俺刚才说的证书信任链。图中的信任链有3层:

  第1层是根证书(Thawte Premium Server CA)。

  第2层是 Thawte 专门用来签名的证书。

  第3层是 Mozilla 本身的证书。 

  目前大多数知名的公司(或组织机构),其发布的可执行文件(好比软件安装包、驱动程序、安全补丁),都带有数字签名。你能够本身去看一下。

  建议大伙儿在安装软件以前,都先看看是否有数字签名?若是有,就按照上述步骤验证一把。一旦数字签名是坏的,那可千万别装。

  ★ 总结

  费了半天口舌,大体介绍了 CA 证书相关的概念。想更深刻了解这方面知识的同窗,能够找些信息安全或密码学方面的资料,继续钻研。

  若是哪一个同窗以为俺有说得不对的地方,或者有须要补充的内容,欢迎给俺写邮件(program.think@gmail.com)。

  *******

  版权声明

  本博客全部的原创文章,做者皆保留版权。转载必须包含本声明,保持本文完整,并以超连接形式注明做者编程随想和本文原始地址:

  http://program-think.blogspot.com/2010/02/introduce-digital-certificate-and-ca.html

相关文章
相关标签/搜索