SSL协议

——SSL协议由Netscape Communication公司设计开发,主要用于提高应用程序之间数据的安全性。该安全协议主要提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变。它能使客户一服务器应用之间的通信不被攻击者窃听。

——(1) SSL协议的特性

——SSL提供了两台机器间的安全连接。支付系统通过在SSL连接上传输信用卡卡号的方式来构建,在线银行和其他金融系统也常常构建在SSL之上。大部分Web浏览器和Web服务器都内置了SSL协议,比较容易应用。SSL协议建立在可靠的传输层协议(如TCP)之上,与应用层协议无关。它在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。高层的应用层协议(如HTTP,FTP,TELNET等)可以透明地建立于SSL协议之上。应用层协议所传送的数据都会被加密,从而保证通信的私密性。SSL协议提供的安全信道有以下三种特性:

——·私密性:在握手协议定义了会话密钥后,所有的消息都被加密。

——.确认性:尽管会话的客户端认证是可选的,但是服务器端始终是被认证的。

——·可靠性:传送的消息包括消息完整性检查。

——(2)SSL协议规范

——SSL协议由SSL记录协议和SSL握手协议两部分组成。

——①SSL记录协议

——在SSL协议中,所有的传输数据都被封装在记录中。记录是由记录头和记录数据组成的。所有的SSL通信包括握手消息、安全空白记录和应用数据都使用SSL记录层。

——②SSL握手协议

——SSL握手协议包含两个阶段,第一个阶段用于建立私密性通信信道,第二个阶段用于客户认证。

——第一阶段是通信的初始化阶段,首先SSL要求服务器向浏览器出示证书。证书包含有一个公钥,这个公钥是由一家可信证书授权机构签发的。通过内置的一些基础公共密钥,客户的浏览器可以判断服务器证书正确与否。然后,浏览器中的SSL软件发给服务器一个随机产生的传输密钥,此密钥由已验证过的公钥加密。由于传输密钥只能由对应的私有密钥来解密,这证实了该服务器属于一个认证过的公司。随机产生的传输密钥是核心机密,只有客户的浏览器和此公司的Web服务器知道这个数字序列。这个两方共享密钥的密文可以通过浏览器安全地抵达Web服务器,Internet上的其他人无法解开它。

——第二阶段的主要任务是对客户进行认证,此时服务器已经被认证了。服务器方向客户发出认证请求消息。客户收到服务器方的认证请求消息后,发出自己的证书,并且监听对方回送的认证结果。而当服务器收到客户的证书后,给客户回送认证成功消息,否则返回错误消息。到此为止,握手协议全部结束。

——③SSL交易过程

——在接下来的通信中,SSL采用该密钥来保证数据的保密性和完整性。这就是SSL提供的安全连接。这时客户需要确认订购并输入信用卡号码。SSL保证信用卡号码以及其他信息只会被此公司获取。客户还可以打印屏幕上显示的已经被授权的订单,这样就可以得到这次交易的书面证据。大多数在线商店在得到客户的信用卡号码后出示收到的凭据,这是客户已付款的有效证据。至此,一个完整的SSL交易过程结束。

——但是,SSL提供的保密连接有根大的漏洞。SSL除了传输过程以外不能提供任何安全保证,SSL并不能使客户确信此公司接收信用卡支付是得到授权的。在Internet上,经常会出现一些陌生的店铺,正因如此,网上商店发生欺诈行为的可能性要比街头店铺大得多。进一步说,即使是一个诚实的网上商店,在收到客户的信用卡号码后如果没有采用好的方法保证其安全性,那么信用卡号也很容易被黑客通过商家服务器窃取。 
  

你可能感兴趣的:(ssl)