SSH协议、HTTPS中SSL协议的完整交互过程

1.(SSH)公私钥认证原理

  •  服务器建立公钥:每一次启动sshd服务时,该服务会主动去找/etc/ssh/ssh_host*的文件
  • 客户端通过ssh工具进行连接,如Xshell,SecureCRT
  • 服务端送公钥给客户端
  • 客户端记录并比对服务器的公私钥,并随机产生自己的公私钥
  • 回传自己的公钥给服务端

2.SSL

1.安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议。
2.SSL协议的三个特性

  •  保密:在握手协议中定义了会话密钥后,所有的消息都被加密。
  • 鉴别:可选的客户端认证,和强制的服务器端认证。
  • 完整性:传送的消息包括消息完整性检查(使用MAC)。

3.SSL的位置

 4.SSL基本过程

1. 浏览器生成随机数1,接着向服务端发送通信加密请求,向服务端索要公钥

2.服务端接受到客户端请求后,生成随机数2,向浏览器回应,回应信息包含随机数2,服务器证书中包含有公钥

3.浏览器收到服务端证书后,进行有效性验证,取出公钥,产生随机数3,使用公钥加密随机数3,发送到服务端

4.到这一步位置,浏览器有随机数1,2,3;服务端有随机数1,2,3, 3个随机数通过一个密钥导出器最终导出一个对称密钥,增加了随机性。二者开始使用对称密钥进行通信。

5.服务器通知客户端:编码方式改变,随后通信将使用双方商定的加密方法和密钥发送。服务端握手结束通知,表示服务器阶段完成。这一项也是前面发送的所有内容的hash值,用来与客户端进行校验(对称加密)。

猜你喜欢

转载自www.cnblogs.com/htkj/p/11060585.html