码迷,mamicode.com
首页 > 其他好文 > 详细

有关SSL证书的一些事儿

时间:2015-06-07 21:44:41      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:ssl

    随着网络安全形势越来越严峻,整个互联网界似乎已经达成了共识:那就是尽一切可能提高网站的安全性。安全技术有很多,其中SSL/TLS非对称加密技术及对应的PKI公钥架构体系又是最重要的技术之一。由于其技术分支较为复杂,这里仅就几个知识点做一下展开,以期帮助读者更好的理解SSL。


    给网站申请https证书的过程是怎样的?

    在展开这个题目之前,先回顾一下PKI架构。user, server, CA,这三者是PKI中的三个角色。user方接收到server发出的证书,并通过user自身客户端(浏览器或者其他APP等程序)内含的已信任CA(根证书)列表来做校验,只有证实该server提供的https证书是已信任CA签发的,https通信才可以继续。

    所以我们的https证书必须是主流CA签发的才行。为什么强调“主流”?因为不同浏览器使用的已信任CA列表是不尽相同的。IE,firefox,chrome,都带有自己的根证书集合。大型电子商务网站必然使用最为知名的CA机构,例如verisign (已被symantec收购)、enTrust等等。

    申请证书时候,需要给CA机构提供证书签发申请CSR文件(certificate sigining request)。大部分支持https的web服务程序都可以生成CSR文件。步骤如下:

    1. 根据RSA算法生成公钥私钥对。私钥即需要机密保管的以.key为后缀名的文件,公钥则在.csr文件中。csr文件中还包括生成CSR过程中输入的组织名、域名、联系人邮箱等信息。

    2. 发送CSR文件给证书供应商,比如verisign。供应商对CSR文件做处理,设置有效期限等,并做最为关键的动作:用供应商自己的私钥进行签名。这样就生成了一张有效的https证书。

    3. 用户收到证书后,在web服务器(或负载均衡等设备)上,以此前的私钥文件和收到的公钥证书为密钥对,生成SSL配置文件,并绑定到对应的web站点上。


    中级(intermediate)证书是怎么回事?

    SSL支持证书链,所以可以从一张根证书签发一张中级证书,然后再签发第二级中级证书,最后到终端证书。这主要出于两个方面的考虑:

    1. 扩展性:根据不同的服务级别,使用不同的中级证书的私钥签发终端证书

    2. 安全性:任一张中级证书的私钥被盗,可以立即吊销(revoke)这张中级证书,而其他中级证书可以保持安全性不受任何影响。

    中级证书示例:

    技术分享

    此外,还要提一下EV(extended validation)证书。这也是一种中级证书,并且从浏览器表现上显得更”安全“一些。以chrome浏览器为例,使用EV证书的站点,它的站点名左侧的安全图标是绿色带框的,跟普通的中级证书签发的站点(蓝色不带框)略有不同。算法上EV跟其他中级证书完全一致。能否体现“更安全”的图标,也取决于浏览器的支持。可以理解为网站购买了CA供应商的VIP服务。

    证书算法安全性与站点的SSL/TLS算法安全性的区别

    加密算法流派众多,确实很容易混淆。即使有一定经验的IT工程师依然会分不清哪些算法是证书提供的,哪些是站点本身提供的。

    RSA:证书提供。非对称加密算法。https证书大部分使用此算法生成公钥私钥对。用于对ssl/tls会话中的对称秘钥进行加密/解密。

    MD5/SHA1/SHA2:证书提供。散列/哈希/摘要算法。用于验证签名真实性。此外还有一个fingerprint指纹算法(一般使用SHA1),这个是客户端浏览器对证书整体做的摘要算法,跟签名算法无关。

    DES/AES:站点提供。对称加密算法。用于实际的数据加密传输。

   搞清楚了这些,在当前签名算法从SHA1向SHA2升级的日子里,不需要看到浏览器信息里显示证书的“指纹算法为SHA1”而感到疑惑啦!

本文出自 “网站运营技术交流” 博客,请务必保留此出处http://victor1980.blog.51cto.com/3664622/1659447

有关SSL证书的一些事儿

标签:ssl

原文地址:http://victor1980.blog.51cto.com/3664622/1659447

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!