美文网首页
70.HTTPS建立过程

70.HTTPS建立过程

作者: SlideException | 来源:发表于2020-08-08 13:19 被阅读0次

https://wetest.qq.com/lab/view/110.html
https://www.nowcoder.com/questionTerminal/36250851b345498d9b56facfbde3d5f4?toCommentId=383478
https://www.jianshu.com/p/2a18578e3610
https://www.jianshu.com/p/33d0f8631f90
https://www.cnblogs.com/glory0727/p/9857511.html
https://blog.csdn.net/u011779724/article/details/80776776
https://blog.csdn.net/u011779724/article/details/80766572
/**
* 每天一个知识点day70 TODO HTTPS连接建立过程
*
* 域名->IP
* 当在浏览器中访问一个网址的时候,首先要做的就是找到域名所对应的服务器的IP地址。
* 浏览器通常有三个途径来找IP地址。
* 缓存。包括浏览器的DNS缓存和OS的DNS缓存。
* HOST文件。浏览器会去本地的HOST文件中寻找域名对应的IP地址。
* 域名服务器查询。向本地域名服务器求助(一般是路由器),
* 如果得不到还得向更高层次的域名服务器(根域名服务器、
* 顶级域名服务器、权限域名服务器)求助。本地域名服务器向高级
* 域名服务器查询可以是迭代查询或递归查询。
*
* 想要完成HTTP请求和响应还需要通过TCP建立一个浏览器跟服务器的连接。
* TCP连接的建立需要通过“三次握手”来完成。
* 当建立起TCP连接后,就可以发送HTTP请求了。
* 浏览器向服务器发送一个HTTP请求来请求资源。
* HTTP 1.0默认是短连接。
* HTTP 1.1默认是长连接。
*
* prepare1.
* 服务器生成公私钥S.pub和S.pri 私钥自己保存,公钥发给CA
* prepare2.
* CA生成公私钥C.pub和C.pri,使用私钥对服务器的公钥进行签名生成证书。
* prepare3.
* CA将生成的CA证书交给服务器。
* prepare4.
* 客户端浏览器内置CA根证书和CA公钥。
*
* 1.
* 客户端生成随机数Random_C
* 客户端向服务器发送客户端的SSL版本和支持的加密算法、Random_C。
* 2.
* 服务器返回其选定的加密算法、Hash算法、Random_S。
* 服务器将CA证书返回给客户端,证书包含服务器公钥S.pub,颁发机构,有效期等。
* 3.
* 客户端通过浏览器内置根证书的C.pub验证CA证书合法性。
* 4.
* 客户端计算产生随机数字Pre-master。使用S.pub加密。
* 根据两个明文随机数Random_C和Random_S与自己计算的Pre-master计算得到
* 对称密钥。
* 5.
* 客户端使用约定好的Hash算法计算握手信息,并使用对称密钥加密。
* 6.
* 客户端将上面生成的信息发送给服务器(加密Pre-master,加密握手信息)
* 7.
* 服务器使用S.pri私钥对pre-master进行解密,结合Random_C和Random_S计算
* 得到对称密钥。使用Hash算法计算握手信息,使用对称密钥解密客户端
* 发来的信息,验证密钥正确性。
* 8.
* 服务器根据握手信息生成数据并使用对称密钥加密发送给客户端。
* 9.
* 客户端验证,验证通过则握手完成。
* 10.
* 双方使用对称密钥加密解密数据进行通信。
*
* 为什么要多一个CA
* 假设没有CA,那么如果服务器返回的包含公钥的包被hack截取,
* 然后hack也生成一对公私钥,他将自己的公钥发给客户端。
* hack得到客户端数据后,解密,然后再通过服务器的公钥加密发给服务器,
* 这样数据就被hack获取。
* 有了CA后,客户端根据内置的CA根证书,
* 很容易识别出hack的公钥不合法,或者说hack的证书不合法。
*
*
*/

image.png
简单版:
image.png
复杂版:
image.png

相关文章

  • 70.HTTPS建立过程

    https://wetest.qq.com/lab/view/110.htmlhttps://www.nowcod...

  • 组织过程绩效过程域

    本过程域要实现以下目标:1)建立过程绩效测量项;2)建立过程绩效目标;3)建立过程绩效基线;4)建立过程绩效模型。...

  • 拓扑建立过程

    需要的工具 arcgis 高德(百度)地图街景

  • ssl连接建立过程

    图一: 图二: 图三 SSL连接建立过程: ssl连接建立过程1.client首先发送一条握手信息给服务端,包含两...

  • Https连接建立过程

    Https的全称是Http over SSL,而SSL是在TCP协议之上的保密层,但是它也是属于传输层的,如果直接...

  • Https连接建立过程

    Https的全称是Http over SSL,而SSL是在TCP协议之上的保密层,但是它也是属于传输层的,如果直接...

  • HTTPS连接建立过程

    在面试的过程中经常会被问到http和https相关的问题,包括https连接建立过程,所以就把相关的内容整理下放在...

  • TCP连接建立过程

    TCP三次握手过程: 第一次握手:主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B,向主机B 请...

  • TCP 的三次握手和四次挥手,了解泛洪攻击么

    引言 TCP 建立连接与断开连接的过程 TCP 泛洪攻击(TCP 建立连接过程中的攻击手段)与防护 TCP 建立连...

  • [转载]蓝牙4.0 BLE center与peripheral建

    蓝牙主机从机建立连接绑定过程center与simplePeripheral建立连接过程center首先进行osal...

网友评论

      本文标题:70.HTTPS建立过程

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