美文网首页
https原理和流程

https原理和流程

作者: Jack_Ren | 来源:发表于2018-05-29 13:00 被阅读6次

https原理和流程

https实际上是使用SSL/TLS对传输数据进行加密的HTTP通信.
如果不使用SSL/TLS的话, 所有的数据是明文传输, 很容易被截取进行中间人攻击.带来的风险有:

  1. 窃听风险: 第三方可以获知通信内容.
  2. 篡改风险: 第三方可以修改通信内容.
  3. 冒充风险: 第三方可以冒充他任身份进行通信.

使用SSL/TSL协议可以规避这些风险:

  1. 所有信息都是加密传播,第三方无法窃听。
  2. 具有校验机制,一旦被篡改,通信双方会立刻发现。
  3. 配备身份证书,防止身份被冒充。

基本的运行过程:

基本的运行过程是, 客户端先向服务器索要公钥, 然后用公钥加密信息, 服务器收到密文后, 用自己的私钥解密.
但是这里面有两个个问题:

  1. 如何保证公钥可信?

解决方法:
公钥放在数字证书中, 证书颁发机构作为公钥背书.

  1. 公钥加密计算量太大,效率不高.

解决方法:
每一次会话, 单独生成一个对话密钥(session-key), 用他来解密信息.
由于对话密钥是对称加密, 所以加密和解密速度都非常快.
服务器公私钥只用来加密解密对话密钥.

具体的流程:

开始加密通信之前,客户端和服务器首先必须建立连接和交换参数,这个过程叫做握手(handshake)。

假定客户端叫做爱丽丝,服务器叫做鲍勃,整个过程如下:

  1. 爱丽丝给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。
  1. 鲍勃确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random)。
  1. 爱丽丝确认数字证书有效,然后生成一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给鲍勃。
  1. 鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret)。
  1. 爱丽丝和鲍勃根据约定的加密方法,使用前面的三个随机数,生成"对话密钥"(session key),用来加密接下来的整个对话过程。

其中关键是第三步, 由客户端生成的随机数, 使用公钥加密. 即使中间人获得这个数据, 因为没有私钥, 也无法获得通信内容.

相关文章

  • https原理和流程

    https原理和流程 https实际上是使用SSL/TLS对传输数据进行加密的HTTP通信.如果不使用SSL/TL...

  • HTTPS 原理详解

    HTTPS 原理详解白话httpsHttps流程和原理

  • https加密流程和原理

    其实,我对https以前只有一个大概的了解,最近工作中遇到一个问题从而将https协议做了一个彻底的学习和认知,下...

  • [转]https加密流程和原理

    其实,我对https以前只有一个大概的了解,最近工作中遇到一个问题从而将https协议做了一个彻底的学习和认知,下...

  • 1- Https流程和原理

    在这里整理一下最近这两天整理的https的相关知识。 大家都知道要使用https,需要在网站的服务器上配置http...

  • Https原理及流程

    原文地址我们知道,HTTP请求都是明文传输的,所谓的明文指的是没有经过加密的信息,如果HTTP请求被黑客拦截,并且...

  • spring启动之xml

    本文主要是整体启动流程请查看springboot原理(核心原理、启动流程、执行流程)[https://www.ji...

  • MySQL深入理解

    1、MySQL的复制原理以及流程(1)、复制基本原理流程 参考地址:https://www.cnblogs.com...

  • Https原理及传输流程

    我们知道,HTTP请求都是明文传输的,所谓的明文指的是没有经过加密的信息,如果HTTP请求被黑客拦截,并且里面含有...

  • 【深度知识】HTTPS协议原理和流程分析

    1,摘要 本文配图介绍HTTPS协议的层级结构,访问原理,交互过程,说明如何解决存在的中间人问题。 2,内容 2....

网友评论

      本文标题:https原理和流程

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