EV证书伴随着IE7等新浏览器的普及,而开始逐步被大家所接受,EV证书区别于传统的SSL证书主要有2个方面:
传统的SSL证书,在多年的商业竞争后,各家CA为了推广产品抢夺市场,纷纷简便了客户认证流程,开发出了域名验证型证书,由于这种证书只需要提供电子邮箱验证,就给了很多钓鱼网站以可乘之机。譬如www.Icbc.com他们的英文名称非常类似于www.icbc.com,有人就可以利用1cbc.com来冒充icbc.com的网站和证书。另一方面,由于SSL证书产品市场的细分,域名型证书对中小企业提供安装的加密通道等方面非常重要,而且这种证书的价格只有普通证书的20%。
那么如何既保证中小企业也可以使用SSL协议,实现安全数据通信,有可以保证重要的网站身份不会被恶意盗用?Microsoft、Opere、Mozila和Verisign共同开发了EV证书标准。
EV证书和传统SSL证书在认证上的最大区别,就在于,EV证书不再是完全有CA中心来认证的一个证书,除了CA中心以外,必须由一家第三方的审计机构,对CA要签发的证书资料进行审计和核实,以确保证书资料的完整性和真实性,以及该证书不会存在被恶意利用的可能性。
同时EV证书要求每次签发证书不能超过2年,也就是说每过2年,一定要重新审核网站公司的身份和资料,以避免多年证书几年后出现域名变更,被人盗用等情况。
同时EV证书的出现,也使得传统的域名性证书得以继续保留和使用,用户可以根据网站的重要性来判断网站是否需要安装EV证书,或者仅仅是普通的经济型的证书
在IE7、Opera 9.5、Firefox 3等以上版本的浏览器中,安装EV证书的网址会在地址栏出现绿色,而且在地址栏后面的状态信息中会交替出现绿色的公司名称和CA机构名称信息,如下图:
如果传统的SSL证书要获取该证书的组织名称,必须打开证书,访问证书的所有者信息,在DN-O字段中才可以读到该信息。而大多数的网站用户,都不具备这种技能和知识,所以他们往往无法知道域名验证型证书和组织验证型证书的区别。而EV证书采用最直观的方式,让用户立刻知道该证书属于什么公司,而且颜色的区分是最明显的,使大家可以立刻知道哪些网站是足够安全的。
为了使EV证书能够在浏览器中显示出绿色,所有的EV证书都采用新的EV ROOT根证书签发,在IE7等新浏览器里,都预埋了这个新的证书,针对IE6等浏览器,如果定期安装补丁包,也可以通过证书补丁升级程序,升级该根证书。可是对一些IE5等旧浏览器和手机浏览器不支持EV证书,没有EV根证书的浏览器怎么办呢?通过观察,我们发现同一个网站的EV证书在IE5和IE7下,呈现出两种证书链结构,以https://www.myssl.cn举例:
在IE7下看到的是:
Geotrust
---GeoTrust Extended Validation SSL CA
---www.myssl.cn
*:这里的顶级根证书Geotrust的CN为:GeoTrust Primary Certification Authority,Geotrust只是这个证书的Nickname)
而在IE5下看到的是:
Equifax Secure Certificate Authority
---GeoTrust Primary Certification Authority
---GeoTrust Extend Validation SSL CA
---www.myssl.cn
其中IE7观察到的GeoTrust这个根证书是IE7以后,植入浏览器信任域证书列表的,Equifaxt Secure Certificater Authority则是自IE5以后,就在浏览器中预埋的根证书,其实这个GeoTrust的根证书的CN就是“GeoTrust Primary Certification Authority”,也就是说在IE5看到的证书链就是比在IE7看到的多了一个顶级根“Equifax Secure Certificate Authority”。
我们首先观察两个证书链中的“www.myssl.cn”证书:
IE7下的“www.myssl.cn”证书的SHA1值为:“d0 31 01 a2 7c aa 56 60 fa 7f 0e ae 3a 37 36 60 ea be f3 58”
IE5下的“www.myssl.cn”证书的SHA1值为:“d0 31 01 a2 7c aa 56 60 fa 7f 0e ae 3a 37 36 60 ea be f3 58”
两者完全一致。
观察两个证书链下的“GeoTrust Extend Validation SSL CA”:
IE7下的“GeoTrust Extend Validation SSL CA”证书的SHA1值为:“ca 6a 71 d6 e0 c7 19 61 31 fe 7f 38 90 30 11 19 4d 23 d8 c4”
IE5下的“GeoTrust Extend Validation SSL CA”证书的SHA1值为:“ca 6a 71 d6 e0 c7 19 61 31 fe 7f 38 90 30 11 19 4d 23 d8 c4”
两者也完全一致。
继续观察两个证书链下的“GeoTrust Primary Certification Authority”:
IE7下的“GeoTrust Primary Certification Authority”证书的SHA1值为:“d0 31 01 a2 7c aa 56 60 fa 7f 0e ae 3a 37 36 60 ea be f3 58”
IE5下的“GeoTrust Primary Certification Authority”证书的SHA1值为:“15 b4 39 a0 9a 2b 84 6e d2 1e 84 f4 42 24 cf b8 7a 65 99 c9”
所以这两个证书的SHA1值是不同,而且我们已经知道了这2个证书的签发者本身就是不同,一个是自签名名证书,一个是由“Equifax Secure Certificate Authority”签发出来的二级证书,但是为什么有2张完全不同不同的证书签发出的“GeoTrust Extend Validation SSL CA”居然是完全一致的呢?
我们再观察这两个证书的公钥,发现都是:
30 82 01 0a 02 82 01 01 00 be b8 15 7b ff d4 7c 7d 67 ad 83 64 7b c8 42 53 2d df f6 84 08 20 61 d6 01 59 6a 9c 44 11 af ef 76 fd 95 7e ce 61 30 bb 7a 83 5f 02 bd 01 66 ca ee 15 8d 6f a1 30 9c bd a1 85 9e 94 3a f3 56 88 00 31 cf d8 ee 6a 96 02 d9 ed 03 8c fb 75 6d e7 ea b8 55 16 05 16 9a f4 e0 5e b1 88 c0 64 85 5c 15 4d 88 c7 b7 ba e0 75 e9 ad 05 3d 9d c7 89 48 e0 bb 28 c8 03 e1 30 93 64 5e 52 c0 59 70 22 35 57 88 8a f1 95 0a 83 d7 bc 31 73 01 34 ed ef 46 71 e0 6b 02 a8 35 72 6b 97 9b 66 e0 cb 1c 79 5f d8 1a 04 68 1e 47 02 e6 9d 60 e2 36 97 01 df ce 35 92 df be 67 c7 6d 77 59 3b 8f 9d d6 90 15 94 bc 42 34 10 c1 39 f9 b1 27 3e 7e d6 8a 75 c5 b2 af 96 d3 a2 de 9b e4 98 be 7d e1 e9 81 ad b6 6f fc d7 0e da e0 34 b0 0d 1a 77 e7 e3 08 98 ef 58 fa 9c 84 b7 36 af c2 df ac d2 f4 10 06 70 71 35 02
既然公钥一致,私钥也必然一致,所以他们签发出的“GeoTrust Extend Validation SSL CA”也是一致的,但这2个证书上签名,则是完全不同的,一个是自签名,一个是由“Equifax Secure Certificate Authority”签名。
基于这种结构,EV证书就可以轻易实现对IE7地址栏变绿支持,同时对IE5等就浏览器的兼容支持。,/p>
当IE7访问网站时,则服务器首先返回一个"www.myssl.cn"的证书,如果IE7没有“GeoTrust Extend Validation SSL CA”这个中间证书,则服务器再返回给浏览器一个“GeoTrust Extend Validation SSL CA”中间证书,这个时候,IE7,已经可以找到“GeoTrust Extend Validation SSL CA”的签发证书“GeoTrust Primary Certification Authority”,我们知道“GeoTrust Extend Validation SSL CA”是由“GeoTrust Primary Certification Authority”签名的,不是自签名还是Equifax签名的,密钥对都是一致的,都可以实现对“GeoTrust Extend Validation SSL CA”,则浏览器完成了对证书的验证,确信这是一个正式的EV证书。
如果是IE5,则服务器首先返回一个"www.myssl.cn"的证书,如果IE5没有“GeoTrust Extend Validation SSL CA”这个中间证书,则服务器再返回给浏览器一个“GeoTrust Extend Validation SSL CA”中间证书,浏览器仍然没有“GeoTrust Primary Certification Authority”,则服务器再发送一个“GeoTrust Primary Certification Authority”,这个时候IE5在信任证书中找到了“GeoTrust Primary Certification Authority”的签发者“Equifax Secure Certificate Authority”,完成了对该证书的验证。
所以,我们下面就要来讨论在服务器上,如何安装正确的EV证书链。一个EV证书,包含了服务器证书--EV签发证书--EV根证书(2个)--旧根证书。仍然以www.myssl.cn举例:
“www.myssl.cn”和“GeoTrust Extend Validation SSL CA”都是必然需要的,而“GeoTrust Primary Certification Authority”有2个不同的证书:
一个是自签名的根证书;
一个是由“Equifax Secure Certificate Authority”签发的根证书
我们应该安装哪一个呢?答案是必须安装那个中间证书“GeoTrust Primary Certification Authority”,而绝对不能安装自签名的根证书“GeoTrust Primary Certification Authority”,如果安装了自签名的根证书,则服务器在与IE5通信的时候,就会返回这张证书,而这张证书不是IE5的可信根证书,这就会造成IE5告警。
所以在安装EV证书的时候,一定要注意必须要正确安装好2个中间证书,一个是签发服务器证书的那个EV三级中间证书,一个是由旧根签发的二级中间证书。尤其要注意服务器上不要安装新的自签名顶级根证书,如果是Windows的服务器,安装了IE7浏览器,都会自动安装了这批新的自签名顶级根证书,必须要注意把他们删除,以免造成旧浏览器和手机浏览器无法正确验证证书
服务器安装的正确证书链应该如下:
GeoTrust Primary Certification Authority(Which signed by 'Equifax Secure Certificate Authority')
---GeoTrust Extend Validation SSL CA
---www.myssl.cn
|