美文网首页
http、https、三次握手

http、https、三次握手

作者: 最美下雨天 | 来源:发表于2019-12-10 18:14 被阅读0次

Q:为什么要进行三次握手,一次行不行,两次行不行?

A:只有经过三次握手,通信双方(客户端和服务器)才能确认自己和对方具有接收信息和发送信息的能力。

归纳起来需要满足一下条件:

  • 客户端确认自己具备收发能力
  • 客户端确认服务器具备收发能力
  • 服务器确认自己具备收发能力
  • 服务器确认客户端具备收发能力
    几个关键点:
  • 第一次握手: 服务器确认客户端具备发送信息的能力,服务器确认自己具备接收信息的能力
  • 第二次握手:客户端确认服务器具备发送信息的能力,客户端确认服务器具备接收信息的能力,客户端确认自己具备接收信息的能力,客户端确认自己具备发送信息的能力
  • 第三次握手:服务器确认客户端具备接收信息的能力,服务器确认自己具备发送信息的能力
    参考资料:https://www.jianshu.com/p/27862635c077
    image.png

Q:为什么要进行四次挥手,为什么是四次?

image.png
image.png

HTTPS确切的的说不是一种协议,而是HTTP + SSL (TSL)的结合体。HTTP报文经过SSL层加密后交付给TCP层进行传输。SSL(安全套接层)主要采取的是RSA(非对称加密)与AES(对称加密)结合的加密方式。先通过RSA交换AES的密钥,然后通过AES进行报文加密和解密

https://www.cnblogs.com/ludashi/p/6237715.html

image.png

至此第一部分关于HTTPS的原理介绍已经结束了,总结一下:

HTTPS要使客户端与服务器端的通信过程得到安全保证,必须使用的对称加密算法,但是协商对称加密算法的过程,需要使用非对称加密算法来保证安全,然而直接使用非对称加密的过程本身也不安全,会有中间人篡改公钥的可能性,所以客户端与服务器不直接使用公钥,而是使用数字证书签发机构颁发的证书来保证非对称加密过程本身的安全。这样通过这些机制协商出一个对称加密算法,就此双方使用该算法进行加密解密。从而解决了客户端与服务器端之间的通信安全问题。

http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

https://www.jianshu.com/p/67bcb140d804

总结

https在通信时使用的是对称秘钥,也就是客户端和服务器使用的秘钥是相同的,但是客户端怎么才能把秘钥给服务器呢?万一在传输的时候被三方窃取了呢?所以引入了非对称秘钥,非对称秘钥的作用就是用来安全的传输对称秘钥的,那么非对称秘钥怎么把自己的公钥给客户端呢?万一出现攻击者拦截公钥,然后用自己的伪公钥给客户端呢?所以出现了数字证书(向CA申请),服务器把数字证书交给客户端时,客户端可以验证数字证书的合法性,防止中途公钥被篡改。

okhttp是支持访问https的,前提是数字证书是向合法机构购买的,如果是自己生成的自签名证书,okhttp是没法访问的。
参考:https://blog.csdn.net/lmj623565791/article/details/48129405

https的握手参考:
https://www.cnblogs.com/franson-2016/p/5530671.html

image.png

windows 怎样查看计算机本地安装的证书:

开始运行中输入certmgr.msc

双向认证:https://www.jianshu.com/p/64172ccfb73b

https中使用的对称加密算法和密钥是客户端发送给服务器的,不能反着来,首先这里要明确对称加密算法使用的秘钥和加密算法都是保密的,而非对称加密算法使用的公钥和加解密算法是公开的,私钥是保密的,如果说是对称加密算法由服务器发送给客户端将会产生什么后果呢?所有持有公钥的客户端都可以拿到对称加密算法的秘钥;如果有客户端发送给服务器就不同了,客户端使用公钥加密后,只有私钥能解密,即使第三方劫持到也无法解密

相关文章

  • http&&https

    HTTP与HTTPS握手的那些事 今天我总结了什么是HTTP三次握手,还有HTTPS握手的过程以及为什么HTTPS...

  • HTTP协议笔记

    HTTP协议 https的实现原理 TCP三次握手

  • http、https、三次握手

    Q:为什么要进行三次握手,一次行不行,两次行不行? A:只有经过三次握手,通信双方(客户端和服务器)才能确认自己和...

  • HTTP与HTTPS握手的那些事

    今天我总结了什么是HTTP三次握手,还有HTTPS握手的过程以及为什么HTTPS是安全的。前提在讲述这两个握手时候...

  • iOS 网络

    Http的报文结构 Https的4次握手过程 Cookie/Session TCP、三次握手、四次挥手、代码实现 ...

  • HTTP

    一、HTTP 二、HTTPS 三、HTTP报文 四、HTTPS 的安全通信机制 五、数字签名 六、三次握手&四次挥...

  • 计算机网络知识目录

    · TCP/IP协议模型 TCP 三次握手四次挥手 四元组 · Http · Https

  • HTTP-HTTPS总结篇

    (1).HTTP 协议在应用层。(2)三次握手,和四次挥手 在TCP层。(3)HTTPS = HTTP +SSL ...

  • HTTPS和SSL握手过程

    什么是https? https = http + 一组对称,非对称和基于证书的加密过程。 tcp的三次握手 htt...

  • 2021-10-18 腾讯初面

    基础题 TCP三次握手 http2.0相对于http1.1有哪些变化 https为什么更安全 301与304的区别...

网友评论

      本文标题:http、https、三次握手

      本文链接:https://www.haomeiwen.com/subject/juzejqtx.html