HTTPS

https://juejin.im/post/5e477dc551882549724e1ace

一、基础知识

  • 对称加密算法

    加密密钥和解密密钥是同一把密钥K,且加解密速度快,典型的对称加密算法有DES、AES等

  • 非对称加密算法

    加密使用的密钥和解密使用的密钥是不相同的,分别称为:公钥、私钥,公钥和算法都是公开的,私钥是保密的。非对称加密算法性能较低,但是安全性超强,由于其加密特性,非对称加密算法能加密的数据长度也是有限的。

  • 数字签名

    在信息的后面再加上一段内容(信息经过hash后的值),可以证明信息没有被修改过。hash值一般都会加密后(也就是签名)再和信息一起发送,以保证这个hash值不被修改。

二、HTTPS过程

WX20191127-133805@2x.png

  • 证书验证阶段
    1. 浏览器发起 HTTPS 请求
    2. 服务端返回 HTTPS 证书
    3. 客户端验证证书是否合法,如果不合法则提示告警
  • 数据传输阶段
    1. 当证书验证合法后,在本地生成随机数
    2. 通过公钥加密随机数,并把加密后的随机数传输到服务端
    3. 服务端通过私钥对随机数进行解密
    4. 服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输

三、工作原理

HTTPS协议的主要功能基本都依赖于TLS/SSL协议,TLS/SSL的功能实现主要依赖于三类基本算法:散列函数 Hash、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。

img

四、中间人攻击原理

  • SSL劫持攻击

    SSL证书欺骗攻击,攻击者为了获得HTTPS传输的明文数据,需要先将自己接入到客户端和目标网站之间;在传输过程中伪造服务器的证书,将服务器的公钥替换成自己的公钥,这样,中间人就可以得到明文传输带Key1、Key2和Pre-Master-Key,从而窃取客户端和服务端的通信数据;

  • SSL剥离攻击

    将攻击者设置为中间人,之后见HTTPS范文替换为HTTP返回给浏览器,而中间人和服务器之间仍然保持HTTPS服务器。由于HTTP是明文传输的,所以中间人可以获取客户端和服务器传输数据

wayofway all right reserved,powered by GitbookLast updated: 2021-02-24 09:22:33

results matching ""

    No results matching ""