近年来,各行各业与互联网联系愈加紧密,其中最为突出的不外乎是“在线支付”与“网络购物”。但随之而来的网络安全问题也日益暴露在商家与用户面前——两者通过网络信号相连,但现实中却可能相隔千里,如何保障双方数据安全呢?

  早在1994年,Netscape公司便针对网络身份验证这一需求开发了一种网络安全协议,即安全套接字层(SSL,Secure Socket Layer)协议。

  在未使用SSL时,应用层的应用程序数据是通过TCP套接字与运输层进行交互的。使用SSL后,因为SSL使TCP的服务更加安全了,因此看起来SSL应该是运输层协议。然而实际上,需要使用安全运输的应用程序(如HTTP)却把SSL驻留在应用层,致使应用层扩大。

  扩大后的应用层中,应用程序下面多了一个SSL子层,而在应用程序和SSL子层之间还有一个SSL套接字,其作用与TCP套接字相似,是应用程序和SSL子层的应用编程接口API。应用层使用SSL最多的就是HTTP,但SSL并非仅用于HTTP,而是可用于任何应用层的协议,如IMAP邮件存取的鉴别和数据加密等。

  应用程序HTTP通过调用SSL对整个网页进行加密,网址栏处http会变为https,其中https加入的s代表security,说明现在使用的是提供安全服务的HTTP协议,TCP的HTTPS端口号是443而不是平时使用的端口号80。

  这时在发送方,SSL从SSL套接字接受应用层的数据,对数据进行加密,然后把加密的数据送往TCP套接字;在接收方,SSL从TCP套接字读取数据,解密后,通过SSL套接字把数据交给应用层。

  SSL提供的安全服务可以归纳为以下三种:

  (1)SSL服务器鉴别,允许用户证实服务器的身份。支持SSL的客户端通过验证来自服务器的证书,来鉴别服务器的真实身份并获得服务器的公钥。

  (2)SSL客户鉴别,SSL的可选安全服务,允许服务器证实客户的身份。

  (3)加密的SSL会话,对客户和服务期间发送的所有报文进行加密,并检测报文是否被篡改。

  当访客访问安装了SSL证书的网站链接建立TCP连接后,先进行浏览器和服务器之间的握手协议,完成加密算法的协商和会话密钥的传递,然后进行安全数据传输。

  整个简要过程如下:

  (1)协商加密算法。浏览器A向服务器B发送浏览器的SSL版本号和一些可选的加密算法,B从中选定自己所支持的算法(如RSA)并告知A。

  (2)服务器鉴别。服务器B向浏览器A发送包含其RSA公钥的数字证书,A使用该证书的认证机构CA公开发布的RSA公钥对该证书进行验证。

  (3)会话密钥计算。由浏览器A随机产生一个秘密数,用服务器B的RSA公钥进行加密后发送给B,双方根据协商的算法产生共享的对称会话密钥。

  (4)安全数据传输。双方用会话密钥加密和解密它们之间传送的数据并验证其完整性。

  SSL证书由于具备信息加密与身份验证的功能,目前已成为互联网信息传输过程中重要安全防护手段之一,根据其性能与功能由弱到强,依次可分为DV,OV,EV三种版本类型,用户可根据自己的需求选择相应的版本。

  通过给网站安装SSL证书,互联网商家与访客用户间完成了身份验证,两者的交流与交易也进行了数据加密,因此便可以有效地实现安全化与规范化,同时保障商家方与访客方的利益。