HTTPS工作原理

工作大致过程

1、客户端发起HTTPS请求

浏览器里面输入一个HTTPS网址,然后连接到服务端的443端口上。注意这个过程中客户端会 发送一个密文族给服务端,密文族是浏览器所支持的加密算法的清单。

 

2、服务端配置

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就 是自己颁发的证书需要客户端验证通过才可以继续访问,而使用受信任的公司申请的证书则不 会弹出提示页面。这套证书其实就是一对公钥和私钥,可以这么理解,公钥就是一把锁头,私 钥就是这把锁的钥匙,锁头可以给别人对某个东西进行加锁,但是加锁完毕之后,只有持有这 把锁的钥匙才可以解锁看到加锁的内容。前面说过客户端会传送密文族给服务端,服务端则会 从这些密文族中,挑选出一个

 

3、传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构、过期时间等等。

 

4、客户端解析证书

这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,如颁发机构、过期时间等  等,如果发现异常则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成  一个随机值,然后用证书对该随机值进行加密。注意一下上面提到的"发现异常"。证书中会包 含数字签名,该数字签名是加密过的,是用颁发机构的私钥对本证书的公钥、名称及其他信息  做hash散列加密而生成的。客户端浏览器会首先找到该证书的根证书颁发机构,如果有,则用 该根证书的公钥解密服务器下发的证书,如果不能正常解密,则就是"发现异常",说明该证书 是伪造的。

 

5、传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,然后客户端和服 务端的通信就可以通过这个随机值来进行加密和解密了。

 

6、服务端解密信息

服务端用私钥解密后,得到了客户端传过来的随机值,至此一个非对称加密的过程结束,看到

TLS利用非对称加密实现了身份认证和密钥协商。然后把内容通过该值进行对称加密。

 

7、传输加密后的信息

这部分是服务端用随机值加密后的信息,可以在客户端被还原。

 

8、客户端解密信息

客户端用之前生成的随机值解密服务端传送过来的信息,于是获取了解密后的内容,至此一个 对称加密的过程结束,看到对称加密是用于对服务器待传送给客户端的数据进行加密用的。整 个过程即使第三方监听了数据,也束手无策。

 

相关推荐

  1. HTTPS工作原理

    2024-04-02 07:46:04       33 阅读
  2. 【面试干货】HTTPS 工作原理

    2024-04-02 07:46:04       25 阅读
  3. HTTPHTTPS的区别及HTTPS工作原理

    2024-04-02 07:46:04       32 阅读
  4. HTTPS工作原理(HTTPS建立连接的过程)

    2024-04-02 07:46:04       24 阅读
  5. 本文解释什么是HTTPS及其工作原理

    2024-04-02 07:46:04       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 07:46:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 07:46:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 07:46:04       87 阅读
  4. Python语言-面向对象

    2024-04-02 07:46:04       96 阅读

热门阅读

  1. 浅述HTML5的离线存储

    2024-04-02 07:46:04       27 阅读
  2. MongoDB聚合运算符:$lt

    2024-04-02 07:46:04       38 阅读
  3. 云计算概述报告

    2024-04-02 07:46:04       27 阅读
  4. 在课堂中使用 ChatGPT 的 80 个方式(下)

    2024-04-02 07:46:04       34 阅读
  5. 上海大学通信829考研踩坑记录

    2024-04-02 07:46:04       30 阅读
  6. Node.js常用命令

    2024-04-02 07:46:04       35 阅读
  7. R语言nc转tif

    2024-04-02 07:46:04       43 阅读
  8. Kotlin 中的构造方法

    2024-04-02 07:46:04       44 阅读