SSL
加密技术是为保护
敏感数据在传送过程中的安全,而设置的加密技术。2014年4月8日,OpenSSL的大漏洞曝光。大批网站受到漏洞影响,
包括但不限于支付宝、
淘宝、
微信公众号、
YY语音、
陌陌、
雅虎邮件、
网银、门户等各种网站。
为了保护
敏感数据在传送过程中的安全,全球许多知
名企业采用SSL(Security Socket Layer)加密机制。 SSL是Netscape公司所提出的安全
保密协议,在浏览器(如
Internet Explorer、
Netscape Navigator)和Web服务器(如Netscape的Netscape Enterprise Server、
ColdFusion Server等等)之间构造安全通道来进行数据传输,SSL运行在TCP/IP层之上、
应用层之下,为
应用程序提供加密
数据通道,它采用了
RC4、
MD5以及
RSA等
加密算法,使用40 位的密钥,适用于
商业信息的加密。同时,Netscape公司相应开发了
HTTPS协议并内置于其浏览器中,HTTPS实际上就是HTTP over SSL,它使用默认端口443,而不是像HTTP那样使用端口80来和TCP/IP进行通信。HTTPS协议使用SSL在
发送方把
原始数据进行加密,然后在接受方进行解密,加密和解密需要发送方和接受方通过交换共知的密钥来实现,因此,所传送的数据不容易被网络
黑客截获和解密。
然而,加密和解密过程需要耗费系统大量的开销,严重降低机器的性能,相关
测试数据表明使用
HTTPS协议传输数据的
工作效率只有使用HTTP协议传输的十分之一。假如为了安全保密,将一个网站所有的Web应用都启用SSL技术来加密,并使用HTTPS协议进行传输,那么该网站的性能和效率将会大大降低,而且没有这个必要,因为一般来说并不是所有
数据都要求那么高的安全保密级别。
SSL加密并不保护数据中心本身,而是确保了SSL加密设备的
数据中心安全,可以监控企业中来往于数据中心的
最终用户流量。从某个角度来看,数据中心管理员可以放心将加密装置放在某个地方,需要使用时再进行应用,数据中心应该会有更合理的方法来应对利用SSL的恶意攻击,需要找到SSL加密应用的
最佳实践。
发送一个ClientHello消息,说明它支持的密码
算法列表、压缩方法及最高协议版本,也发送稍后将被使用的
随机数。然后收到一个ServerHello消息,包含服务器选择的连接参数,源自客户端初期所提供的ClientHello。当双方知道了连接参数,客户端与服务器交换证书(依靠被选择的
公钥系统)。这些证书通常基于
X.509,不过已有草案支持以Open
PGP为基础的证书。服务器请求客户端公钥。客户端有证书即
双向身份认证,没证书时随机生成公钥。客户端与服务器通过公钥保密协商共同的主
私钥(双方随机协商),这通过精心谨慎设计的
伪随机数功能实现。结果可能使用
Diffie-Hellman交换,或简化的
公钥加密,双方各自用私钥解密。所有其他关键数据的加密均使用这个“
主密钥”。
数据传输中
记录层(Record layer)用于封装更高层的
HTTP等协议。记录层数据可以被随意压缩、加密,与消息
验证码压缩在一起。每个记录层包都有一个Content-Type段用以记录更上层用的协议。