美文网首页工作生活
HTTPS的加密原理

HTTPS的加密原理

作者: 感召的鳞 | 来源:发表于2019-06-30 21:53 被阅读0次

1.常见的三种加密算法及区别
2.加密算法在HTTPS中的应用
3.MD5的实现原理

http明文传输


明文传输很容易被人窃取


1.jpg

加个密吧

2.jpg

多个客户端怎么办?


但是一个服务端会和很多客户端进行数据传输,如果都使用相同的秘钥,那么秘钥被泄漏几率会很大
那么我们需要和每个客户端通信使用不同的秘钥


3.jpg

其中一端生成秘钥


对每个客户端使用不同的秘钥,那么这个秘钥是怎么让双方都知道的呢?只能让其中一方生成秘钥然后传给另一方


4.jpg

但是这种方式,如果在秘钥传输的时候被中间人捕获怎么办?如果保证秘钥不被窃取?给秘钥在进行对称加密吗?这好像面对了鸡生蛋,蛋生鸡的问题上了

非对称加密


我们知道非对称加密的一个特点是,公钥加密的数据只有私钥能解,那么如果让客户端通过公钥把对称秘钥进行加密,那么只有服务端能够解出这个秘钥,是不是问题就解决了?


5.jpg

通信流程就变成了这个样子

6.jpg

中间人篡改?


但是有个问题,如果中间人把这个公钥掉包了怎么办?


7.jpg

这个问题变成了我们如何确认对方身份,确认某一个公钥确实是属于某一个网址的。

身份校验-签名证书


我们知道防止篡改的一个方法是数字签名,如果我们有个第三方组织,给每一个网址颁发一个证书,并且用第三方的私钥钥将证书进行签名,我们客户端收到证书的时候再通过第三方的公钥对证书进行校验。那么就可以解决校验身份的问题了。


8.jpg

证书的组成


9.jpg
检验一个证书的合法性的方式
10.jpg

将源摘要和实际的摘要对比


那么这种情况下,中间人篡改就会失败


11.jpg

完整的Https的流程


一个完整的Https的流程变成了这样


12.jpg

扩展:
其实对称秘钥不完全是有客户端一方直接决定的,是通过Diffie–Hellman算法交换实现的
对称秘钥交换的原理:https://www.cnblogs.com/svan/p/5090201.html

QA

  1. 为什么用对称加密进行数据传输
  2. 第三方组织的公钥从哪里来的?
  3. https既然这么安全了为什么Charles还能抓到
  4. 为什么Android7以上这个方式就不行了
  5. 证书中包含什么信息

写文章不易,路过的伙伴辛苦点个赞,谢谢支持!

相关文章

  • HTTPS加密原理

    博文出处:HTTPS加密原理,欢迎大家关注我的博客,谢谢! Header HTTP、HTTPS在我们日常开发中是经...

  • Https加密原理

    Cryptography can be a hard subject to understand. It’s fu...

  • https加密原理

    http(超文本传输协议) 一种属于应用层的协议 缺点: 通信使用明文(不加密),内容可能会被窃听 不验证通信方的...

  • https加密原理

    http/https最大的差异在于https使用了加密传输数据。 https 基于tcl/ssl加密,大致上是先使...

  • HTTPS加密原理

    引言 HTTPS的使用越来越广泛,淘宝、京东、当当等大型网站几乎全站采用HTTPS。本文参考了若干文章并结合自己理...

  • https加密原理

    1.简介 万维网服务器使用SSL默认服务端口443来取代普通万维网服务的80端口,且该安全网页URL中的协议标识用...

  • HTTPS 加密原理

    加密 加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然...

  • HTTPS加密原理

    前言:HTTP 如何保证安全性呢?基本上所有的人都会脱口而出:使用 HTTPS 协议。99.9% 的人都知道 HT...

  • https加密原理

    数字签名: http://www.ruanyifeng.com/blog/2011/08/what_is_a_di...

  • HTTPS的加密原理

    1.常见的三种加密算法及区别 2.加密算法在HTTPS中的应用3.MD5的实现原理 http明文传输 明文传...

网友评论

    本文标题:HTTPS的加密原理

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