SSL(Secure Sockets Layer 安全嵌套层),及其继任者传输安全层(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议,TLS与SSL在传输层对网络连接进行加密。
SSL用以保障在Internet上数据传输之安全,利用数据加密,可确保数据在网络上传输过程中不会被窃取及窃听。目前一般通用之规则为40 bit之安全保准,美国则以推出128bit更高标准,但限制出境。只要3.0版本以上的IE或者Netscape浏览器即可支持SSL。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议:它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装,压缩,加密等基本功能。SSL握手协议:它建立在SSL记录协议之上,用于在实际的数据传输开始之前,通讯双方进行身份认证,协商加密算法,交换秘钥等。
SSL协议的工作流程
服务器认证阶段:
1)客户端向服务器发送一个以开始信息“HELLO”以便开始一个新的会话连接;
2)服务器根据客户的信息是否需要生成新的主秘钥,如果需要则服务器在响应客户的“HELLO” 信息时将包含生成主秘钥所需的信息;
3)客户根据收到的服务器响应信息,生产一个主秘钥,并由服务器的公开秘钥加密后传给服务器;
4)服务器恢复该主秘钥,并返回给各户一个用主秘钥认证的信息,以此让客户认证服务器。