SSL协议可用于保护正常运行于TCP之上的任何应用协议,如HTTP、FTP、SMTP或Telnet的通信,最常见的是用SSL来保护HTTP的通信;
SSL协议的优点在于它是与应用层协议无关的。高层的应用协议(如HTTP、FTP、Telnet等)能透明地建立于SSL协议之上;
SSL协议在应用层协议之前就已经完成加密算法、通信密钥的协商以及服务器的认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的安全性。
SSL解决的问题(功能):
客户对服务器的身份认证:
SSL服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心(CA)的证书,来确认服务器的合法性。
服务器对客户的身份认证:
也可通过公钥技术和证书进行认证,也可通过用户名,password来认证。
建立服务器与客户之间安全的数据通道:
SSL要求客户与服务器之间的所有发送的数据都被发送端加密、接收端解密,同时还检查数据的完整性
SSL在协议栈的位置:
SSL协议主要通过三个协议实现:
SSL握手协议:SSL握手协议被封装在记录协议中,该协议允许服务器与客户机在应用程序传输和接收数据之前互相认证、协商加密算法和密钥。在初次建立SSL连接时,服务器与客户机交换一系列消息。
SSL修改密文协议:保障SSL传输过程的安全性,客户端和服务器双方应该每隔一段时间改变加密规范。
SSL报警协议:SSL报警协议是用来为对等实体传递SSL的相关警告。如果在通信过程中某一方发现任何异常,就需要给对方发送一条警示消息通告。
SSL结构协议可分为两层:
SSL记录协议(SSL Record Protocol):建立在可靠的传输协议(如TCP)之上