转载链接 https://blog.csdn.net/baidu_39486224/article/details/81295701
SSL(Secure Sockets Layer (SSL) and Transport Layer Security (TLS))被设计为加强Web安全传输(HTTP/HTTPS/)的协议(事实上还有SMTP/NNTP等),SSH(Secure Shell)更多的则被设计为加强Telnet/FTP安全的传输协议,默认地,它使用22端口.HTTP层:将用户需求翻译成HTTP请求,
SSL层: 借助下层协议的的信道安全的协商出一份加密密钥,并用此密钥来加密HTTP请求。
TCP层:与web server的443端口建立连接,传递SSL处理后的数据。 接收端与此过程相反。 SSL在TCP之上建立了一个加密通道,通过这一层的数据经过了加密,因此达到保密的效果。 以下简要介绍SSL协议的工作方式。客户端要收发几个握手信号:
* 发送一个ClientHello消息,说明它支持的密码算法列表、压缩方法及最高协议版本,也发送稍后将被使用的随机数。* 然后收到一个ServerHello消息,包含服务器选择的连接参数,源自客户端初期所提供的ClientHello。* 当双方知道了连接参数,客户端与服务器交换证书(依靠被选择的公钥系统)。这些证书通常基于X.509,不过已有草案支持以OpenPGP为基础的证书。* 服务器请求客户端公钥。客户端有证书即双向身份认证,没证书时随机生成公钥。* 客户端与服务器通过公钥保密协商共同的主私钥(双方随机协商),这通