数字证书

一.什么是数字证书?

       数字证书是一种权威性的电子文档。它提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构----CA证书授权(Certificate Authority)中心发行的,人们可以在互联网交往中用它来识别对方的身份。当然在数字证书认证的过程中,证书认证中心(CA)作为权威的、公正的、 可信赖的第三方,其作用是至关重要的。

Ok,知道什么是数字证书后,先看看它长的什么样吧:>,文件缩略图如下:

双击后打开如下:

二.CA认证机构/CA认证中心

1.CA认证中心是什么?

CA认证中心是负责签发管理认证数字证书的机构,是基于国际互联网平台建立的一个公正,权威,可信赖的第三方组织机构。

2.世界上的CA认证中心不止一间,那他们之间的关系是什么(CA认证中心之间的关系)?

嗯,回答这个问题之前可以先看看下图:

从图中可以看到,CA认证中心之间是一个树状结构,根CA认证中心可以授权多个二级的CA认证中心,同理二级CA认证中心也可以授权多个3级的CA认证中心...如果你是数字证书申请人(比如说:交通银行),你可以向根CA认证中心,或者二级,三级的CA认证中心申请数字证书,这是没有限制的,当你成功申请后,你就称为了数字证书所有人。值得注意的是,根CA认证中心是有多个的,也就是说会有多棵这样的结构树。FireFox里面默认记录了一些根CA认证机构的信息,如图:

看到这里,肯定有人会问,如果有现在新的根CA认证机构成立,FireFox肯定是没有这个CA认证中心的信息的(这些信息是用来验证子CA认证机构的,很重要,后面来会讲到),那怎么办呢?嗯~~确实,如果今天2009-1-8日突然在哪里成立一个新的CA认证中心,我FireFox里面肯定没有他的信息的!但解决办法还是有的,看上图,可以找到一个"Import"按钮,当我们遇到这样的倒霉事时,只有自己去下载并导入根CA认证中心信息了(其实这样做是不太安全的!),或者期望FireFox的升级会升级这些信息,但这个我是不确定的。

3.为什么CA认证中心是权威的?

其实搞清楚这个问题后,你也会真正了解“CA认证中心是如何授权子CA认证中心的?”,“为什么伪造的数字证书是无效的”,“为什么数字证书是一种权威性的电子文档”等等一系列的问题。并且SSL可以说是建立在CA认证中心的权威,公正,可信赖的基础上的,如果CA认证中心的信息可以被伪造的,那么SSL的一切就完了......

首先,我们先来看看,在FireFox里记录的CA认证中心的信息到底是什么东西??见上图,单击某项,Export导出....你会看到导出的东西很面熟,原来就是数字证书!!

实际上每个CA认证中心/数字证书所有人,他们都有一个数字证书,和属于自己的RSA公钥和密钥,这些是他们的父CA认证中心给他们颁发的,这里先大概解释一下RSA,RSA是一种非对称加密的算法,它的公钥和密钥是配对的,如果用公钥加密,用私钥解密就可以得到明文;如果用私钥加密,用公钥解密也可以得到原来的明文,这由RSA特性决定,他效果可以用下图概括:

对于私钥:CA认证中心/数字证书所有人自己保存,不公开。

对于公钥:CA认证中心/数字证书所有人会把公钥存在他的CA认证中心的数字证书内。

(1).首先,CA认证中心/数字证书所有人,它在网络上的表现形式只能是一张数字证书!所以我们可以把某张数字证书等价于某个CA认证中心/数字证书所有人。这样的话,验证数字证书的合法性就可以确定CA认证中心/数字证书所有人是否是合法的!!!

(2).数字证书使用数字签名作验证!这里简单说明一下数字签名的过程:你从Firefox/IE导出的数字证书包含3个部分:证书内容(F),加密算法(A),F加密密文(F') (数字证书结构会在第三部分详细介绍),在这里,A不是一个算法,而是两个,所以密文F'是F两次加密后的结果。

首先,F会被散列算法SHA1计算出hash值h1(称为128bit的摘要),然后h1会被发布这个数字签名的CA认证机构的用私钥进行RSA加密,注意:是发布这个数字签名的CA认证机构,如果现在被加密的数字证书是属于二级CA认证机构的,那么用来加密这个证书的私钥是根CA认证机构的私钥!!RAS加密完后,就形成密文F'。

当你要验证这个数字证书可信/合法性时,你需要找到你的上一层CA认证中心的数字证书,并且从中获取公钥,把数据证书中的密文F'进行RSA解密,如果得出的值h2和h1比较(h1可以立即用数据证书中的F现场算出来),如果相等,则认为证书是可信的,合法的!由于你是不可能知道上一层CA认证中心的私钥,所以你无法伪造一个可以用上一层CA认证中心公钥解密的数字证书!!

详细流程图如下:

由于一个数字证书基于上层的数字证书作验证,那上层的数字证书又是否合法呢??这就会出现一直递归上去的现象,事实也是这样的,验证一个证书是否合法,需要验证到他的最顶层的根证书是否合法!从其他的文章弄来的这幅图很好地表达了这个思想:

这里肯定又有人会问,那么最顶层的CA认证中心如何证明它的合法性呢?.......呵~这就是为什么FireFox要预先把一些最顶层(这里的"最顶层"和"根"是同一个概念)的CA认证中心的证书加入到权威信任列表中了,因为,最顶层CA认证中心没有办法证明,所以,最顶层的CA认证中心是总是受信任的!!而事实上,最顶层的CA认证中心在是世界上也是为数不多的。这里大家应该了解为什么我刚才说自己导入根CA证书是不太安全的,因为你无法验证。

三.数字证书的组成

可以先看看我从Firefox的证书截图:

1.Certificate(证书):

(1).Common Name(证书所有人姓名,简称CN,其实就是证书的名字,如第一幅图看到的:ABA.ECOMRoot....)

(2).Version(版本,现在一般是V3了)

(3).Issuer(发证机关)

(4).Validity(有效日期)

(5).Subject(证书信息,你会发现它和Issuer里面的内容是一样的)

(6).Subject's Public Key Info(证书所有人公钥,刚才所说的公钥就是这个!)

(7).Extension(扩展信息)

(8).Certificate Signature Algorithm(公钥加密算法)、

以上这几项就是上面所说的证书内容(F)。

2.Certificate Signature Algorithm:

这是描述证书的加密算法,就是上所说的加密算法(A),看它的Fireld Value,一般会写:PKCS #1 SHA-1 With RSA Encryption

3.Certificate Signature Value:

这记录的是证书被加密后的结果,相当于上面说讲的F'。

四.数字证书的验证

要回答数字证书是如何验证的,首先要知道数字证书是要验证些什么东西:>,数字证书的验证,上面已经讲了一些,这做一个总结:

1.可信性验证/合法性验证:这个刚才已经说的很明白了吧:>

2.完整性验证:在验证可信性的过程中,h1和h2的比较,其实已经顺便验证其完整性了。

3.有效性验证:比如验证它的Vilidity值,看是否过期...

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

推荐阅读更多精彩内容

  • 2018-Read-Record 记录我的2018学习历程 文中首先解释了加密解密的一些基础知识和概念,然后通过一...
    NinthDay阅读 11,280评论 8 105
  • 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现...
    sunny冲哥阅读 1,379评论 0 3
  • 数字证书原理 - 无恙 - 博客园 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明...
    拉肚阅读 1,662评论 0 3
  • 本文转载,出处如下:数字证书原理 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了...
    随安居士阅读 1,679评论 1 8
  • 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现...
    已认证用户阅读 3,835评论 1 4