SSL/TLS协议(secure socket layout):位于应用层与传输层之间,我们姑且可以把它理解为OSI中的表示层。它的作用就是对传输层中的数据进行加密。可用于保护正常运行TCP之上的任何应用协议,如HTTP/FTP/SMTP/Telnet/,最常见的是利用SSL保护HTTP通信。
优点:在于它与应用层协议无关,高级的应用协议如 HTTP/FTP/Telnet/ 能透明建立在SSL协议之上。
在应用层协议之前就已经完成加密算法,通信密钥的协商以及服务器的认证工作。
安全传输加密算法:
私钥做数字签名 哈希碰撞 产生数字证书 保护好哈希值,证明此文件属于谁。
对称加密:一个密钥即可,还要用密钥进行非对称的加密。
保密性 完整性 对身份进行了鉴别(抗抵赖)
=====================================================
SSL协议3个功能:
1.客户对服务器的身份认证:SSL服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心(CA)的证书,来确认服务器的合法性。
2.服务器对客户的身份认证,也可通过公钥技术和证书进行认证,也可通过用户名,password来认证。
3建立服务器与客户之间安全的数据通道,SSL要求客户与服务器之间的所有发送的数据都被发送端加密、接收端解密,同时还检查数据的完整性
SSL主要工作流程:
1.网络连接建立,SSL客户端发送消息,消息中包含SSL版本号、密码设置、可实现的算法列表、随机数以及服务器使用SSL协议通信所需的其它信息;
2.SSL服务器端回应消息,确定SSL版本号、加密算法和压缩算法;
3.SSL服务器发出服务器数字证书;
4.SSL客户端的身份认证是可选的;
5.客户端生成预主密钥pre_master_secret,用服务器的公钥加密后返回服务器,服务器利用自己的私钥解密后得到会话密钥;