美文网首页
https原理简介

https原理简介

作者: C_0687 | 来源:发表于2019-01-15 14:56 被阅读0次

简述:

以下内容忽略非常多细节,仅个人抽象理解,请理性阅读。

https是一种安全的协议。怎么才算安全?

  1. 通信内容加密
  2. 确认通信双方的身份

原理介绍:

​ https采用对称加密来加密通信的内容,比如密钥A,通信双方都持有A就能用来加密解密。

​ 提出问题:密钥A如何传输?

​ 密钥肯定不能明文传输,这里就要用到RSA非对称加密。RSA有一对钥匙,一个是私钥,一个是公钥,私钥自己保密,公钥是可以公开的。用私钥加密的数据,只有对应的公钥才能解密,用公钥加密的数据, 只有对应的私钥才能解密。

​ RSA的问题是效率慢,没有对称加密高效。解决的办法是分两步,(1) 我生成一个对称加密算法的密钥, 用RSA的方式安全发给你, (2) 我们随后就不用RSA了, 只用这个密钥,利用对称加密算法来通信。

​ RSA+对称加密解决了通信内容加密的问题,但是无法解决另一个问题,确认通信双方的身份。举个例子,如果有个中间人,分别截取通信双方的公钥,再分别把自己的公钥给双方,那就gg了,因为你收到的公钥,你怎么能确定这个公钥就是对方的?

解决方案就是数字证书。

  1. ​ 当客户端首次发送https请求时,服务器会生成数字证书返回给客户端。为了防止数字证书被篡改,会有特殊的证书生成步骤:
    1. 把服务器信息和非对称的公钥一起通过hash生成消息摘要,因为只要内容被篡改一点点,消息摘要就会产生巨大变化
    2. 服务器用CA的私钥对hash进行加密,生成数字签名。CA可以理解成第三方公信中心
    3. 把数字签名和(服务器信息和非对称的公钥)组合在一起形成数字证书,发给客户端
    4. 客户端使用同样的hash算法对(服务器信息和非对称的公钥)生成消息摘要
    5. 客户端使用内置的CA公钥(例如浏览器内置的)对数字签名进行解密出消息摘要
    6. 客户端对比两个消息摘要是否相同,相同,则说明非对称公钥是正确的
    7. 至此,客户端获得了正确的RSA公钥,就可以把正确的对称加密密钥发给服务器。双方就可以愉快加密通信了

相关文章

  • https原理简介

    简述: 以下内容忽略非常多细节,仅个人抽象理解,请理性阅读。 https是一种安全的协议。怎么才算安全? 通信内容...

  • HTTPS通信原理简介

    去年有个财大气粗的甲方爸爸给我们一堆非对称加密的通信数据叫我们给他解开,不止一次给他做了解释说解不了,奈何对方非要...

  • HTTPs工作原理简介

    一 HTTP的安全性问题 使用明文进行通信,内容可能会被窃听; 不验证通信方的身份,通信方的身份有可能伪装 无法验...

  • HTTPS认证

    目录:1、https认证原理简介2、单向认证、双向认证 1、https认证原理简介 (转自lanp74的博客) H...

  • 使用kubeadm安装kubernetes1.10.0

    kubeadm原理简介 kubeadm reference :https://kubernetes.io/docs...

  • READY EVERYDAY #1

    1.Spring, Spring MVC原理, 源码 Spring 简介 https://www.ibm.com/...

  • Https简介

    Http由于是明文传输,没有认证功能,因此存在极大的安全隐患,容易被劫持数据、无法认证数据的完整性、客户端、服务端...

  • HTTPS简介

    产生原因: HTTP:未加密、明文。 SSL(Secure Sockets Layer)=> TLS(Transp...

  • HTTPS简介

    一.概述 HTTP协议属于明文传输协议,交互过程及数据传输都没有进行过加密,通信双方也没有进行身份验证,通信过程非...

  • https 简介

    很早就想写一篇关于HTTPS的博客,不仅因为这是基础,而且自己在面试被问到过但是答得不好。直到最近才有些眉目,可见...

网友评论

      本文标题:https原理简介

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