结合上篇文章《https的ssl加密方式》会更好理解,这片文章中有介绍了https的加密方式是 混合加密,公开密钥加密和共享密钥加密,先选公开密钥加密来交换共享密钥加密的密钥,而后在使用共享密钥加密传送密文,为何会选择二者密钥加密呢?不直接使用共享加密机制呢?由于共享密钥加密要比公开密钥加密快,具体是怎么快的请查看《SSL 速度慢吗》web
遗憾的是在使用混合加密时,使用公开密钥加密方式仍是存在一些问题。那就是没法证实公开密钥自己是货真价实的公开密钥。浏览器
好比,正准备和某台服务器创建公开密钥加密方式下的通讯时,如何证实收到的公开密钥就是本来预想的那台服务器发行的公开密钥。或许密钥在传输途中,真正的公开密钥已经被攻击者替换掉了。安全
上面的问题可使用由数字证书认证机构(CA,certificate Authority)和其相关颁发的公开密钥证书。服务器
数字证书认证机构处因而客户端和服务器双方可信赖的第三方机构立场上,威瑞信(veriSign)就是其中一家很是有名的数字证书认证机构。post
简介一下数字证书认证机构的业务流程。首先,服务器的运营人员向数字证书认证机构提出公钥的申请。数字证书认证机构在判明提出申请者的身份后,会对已申请的公开密钥作数字签名,而后分配这个已签名的公开密钥,并将公开密钥放入公钥证书后绑定在一块儿(注意已签名的公共密钥和公开密码是两个不一样的密钥,公开密钥是服务器提供的,已签名的公开密钥是签名机构本身生成的)。网站
服务器会将这份数字认证机构颁发的公钥证书发送给客户端,已进行公开加密方式通讯。公钥证书也能够叫作数字证书或直接称为证书。加密
接到证书的客户端可以使用数字证书认证机构的公开密钥,对那张证书上的数字签名进行验证,一旦验证经过,客户端即可以明确两件事情: 一、 认证服务器的公开密钥是真实有效的数字证书认证机构。二、服务器的公开密钥是值得信赖的。cdn
此处认证机关的公开密钥必须安全地转交给客户端,使用通讯发生时,如何安全转交是一件很是困难的事,所以,多数浏览器开发商发布版本时,会事先在内部植入经常使用认证机构的公开密钥blog
可证实组织真实性的EV SSL证书ssl
证书的一个做用是用来证实为通讯一方的服务器是否规范,另一个做用是可肯定对方服务器背后运营的企业是否真实存在。拥有该特性的证书就是EV SSL证书(Extended Validation ssl Cretificate )
EV SSL 证书是基于国际标准的认证指导方针颁发的证书,其严格规定了对运营商组织是否真实的确认方针,所以,用过认证的web网站能得到更高的承认度。上述机制的原意就是为了防止用户钓鱼攻击,不少用户可能不了解EV SSL证书相关的知识。
用以确认客户端的客户端证书
https中还可使用客户端证书,以客户端证书进行客户端认证,证实服务器正在通讯的客户端时预料以内的客户端,起做用和服务器证书一模一样。
但客户端证书仍存在几处问题。其中的一个问题是证书的获取和发布。
想获取证书时,用户须要自行安装客户端证书,但客户端证书须要付费购买的,且每张证书对应到每位用户也就意味着须要支付和用户对等的费用。另外让知识层次不一样的用户来自行安装证书,这是一件充满挑战的事情。
如今是,安全性极高的认证机构可颁发客户端证书但仅用于特殊用途的业务,好比有些可支撑客户端证书支出费用的业务。
例如,银行的网上银行就采用了客户端证书,在登陆网银时不只要求客户端确认输入ID和密码,还会要求用户的客户端证书,以确认用户时候从特定终端访问网银。
客户端证书存在的另外一个问题是,客户端证书毕竟只能用来证实客户端实际存在,而不能用来证实用户本人的真实有效性。