HTTPS 之原理

作者: s_在路上 | 来源:发表于2018-09-17 17:19 被阅读41次

HTTPSHTTP 协议相比提供了

  • 数据完整性:内容传输经过完整性校验
  • 数据隐私性:内容经过对称加密,每个连接生成一个唯一的加密密钥
  • 身份认证:第三方无法伪造服务端(客户端)身份

原理

HTTPS 在传输数据之前需要客户端与服务端之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL 协议是一套加密传输的协议,使用了非对称加密,对称加密以及 HASH 算法。以浏览器和服务器为例,HTTPS 通信过程如下:

image
  • 浏览器发起往服务器的 443 端口发起请求,请求携带了浏览器支持的加密算法和哈希算法。

  • 服务器收到请求,选择浏览器支持的加密算法和哈希算法。

  • 服务器下将 CA 证书 返回给浏览器。
    采用 HTTPS 协议的服务器必须要有自己制作或者 CA 证书,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用 CA 证书则不会弹出提示页面。这套证书其实就是一对公钥和私钥。公钥给别人加密使用,私钥给自己解密使用。

  • 浏览器解析证书

    • 首先浏览器会从内置的证书列表中索引,找到服务器下发证书对应 的机构,如果没有找到,此时就会提示用户该证书是不是由权威机构颁发,是不可信任的。如果查到了对应的机构,则取出该机构颁发的公钥。
    • 用机构的证书公钥解密得到证书的内容和证书签名,内容包括证书的颁发机构,过期时间等。浏览器会先验证证书签名的合法性,签名通过后,会检查证书有效期,证书过期了也会提示用户。这些都通过认证时,浏览器就可以安全使用证书中的公钥了。
    • 如果证书没有问题,那么就生成一个随机数 R,然后用证书对该随机数进行加密。
  • 传送加密信息
    这部分传送的是用证书加密后的随机数 R,目的就是让服务器得到这个随机数 R,以后浏览器和服务器的通信就可以通过这个随机数 R 来进行加密解密了。

  • 服务器解密浏览器传过来的加密信息
    服务端用私钥解密后,得到了客户端传过来的随机数 R ,然后把内容通过随机数 R 进行对称加密。

  • 服务器以随机数 R 为密钥把传输内容使用对称加密算法加密并传输给浏览器。

  • 浏览器以随机数 R 为密钥使用之前约定好的解密算法获取加密内容。

中间人攻击原理

中间人攻击原理

针对SSL的中间人攻击方式主要有两类,分别是SSL劫持攻击和SSL剥离攻击,详细请看中间人攻击原理

预防中间人攻击

解决办法:
HTTPS 双向验证在客户端中内置服务器公钥,在服务器下将 CA 证书给浏览器的时候返回的公钥,服务端要求客户端发送客户端的证书,客户端会将自己的证书发送至服务端。除了验证公钥的有效性之外,再比对公钥是不是和内置的公钥一样,不一样说明被中间者攻击了,就断开链接不在请求了。

Https双向认证

相关文章

  • HTTPS 之原理

    HTTPS 和 HTTP 协议相比提供了 数据完整性:内容传输经过完整性校验 数据隐私性:内容经过对称加密,每个连...

  • 对HTTPS的一点理解

    这篇原理讲的蛮好的https原理通俗理解还有迪哥的这篇 简单粗暴系列之HTTPS https就是http over...

  • 网络底层原理之HTTPS

    HTTPS (HyperText Transfer Protocol Secure) 超文本传输安全协议 常称为 ...

  • HTTPS原理

    本文主要内容 概念 加密算法 HTTPS原理 总结 1、概念 HTTP 协议(HyperText Transfer...

  • HTTPS 原理

    原文 HTTPS 原理 一、概念和定义 首先明确几个基本概念: 1、名词解释 1.1、密钥对 在非对称加密技术中...

  • Https原理

    简介 http其实由HTTP+SSL/TLS组成,相当于http加上一层加密算法,客户端与服务端传输数据都是加密的...

  • HTTPS 原理

    为什么需要https为了防止中间人盗取伪造浏览器和服务器之前的通信 https的通信过程是什么样子呢?首先服务器会...

  • HTTPS原理

    HTTPS 说白了,HTTPS就是HTTP使用了SSL加密传输。 CA证书 说到HTTPS必然要涉及到CA证书,那...

  • https 原理

    https 原理 一、https 通信原理 http://www.cnblogs.com/zery/p/51647...

  • HTTPS原理

    HTTPS简介 原文地址 HTTPS其实是有两部分组成:HTTP +SSL/ TLS ,也就是在HTTP上又加了一...

网友评论

    本文标题:HTTPS 之原理

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