HTTPS 问题

问题:

  1. 什么是HTTPS?HTTPS 和 HTTP的区别是什么?
  2. HTTPS 的连接过程?
  3. HTTPS 的加密方式是什么,对称加密还是非对称加密,为什么这样设计?
  4. HTTPS 绝对安全吗?
  5. HTTPS 能被抓包吗?
  6. 如何防止HTTPS被抓包

HTTP 和 HTTPS 是什么?有什么区别

HTTP:(HyperText Transfer Protocol)超文本传输协议
HTTPS:(HyperText Transfer Protocol Secure)安全超文本传输协议

安全性 默认端口 加密方式
HTTP 不安全 80 明文传输,无加密
HTTPS 安全 443 TLS/SSL加密协议

什么是SSL?

SSL 是一种标准协议,目的是通过Web 创建安全的Internet 通道,用于在加密浏览器和服务器之间的通信。

SSL 证书:遵循SSL协议,由受信任的CA认证机构颁布的数字证书。

TLS/SSL 加密的原理是什么?

先了解两个加密方式:

密钥 加密速度 安全性 常见
对称加密 双方使用相同的密钥 相对低,一旦丢失,就会被破解 AES
非对称加密 一个使用公钥,一个使用私钥 相对高,只要私钥不丢失,就不会被破解 RSA

HTTPS 的连接过程?

20001338_6581c13227b3e41978

HTTPS 的加密方式是什么,对称加密还是非对称加密,为什么这样设计?

由上图可以看出,HTTPS 连接过程中,分为两个部分:

  1. 证书验证阶段:非对称加密。保证安全性
  2. 数据传输阶段:对称加密。保证效率

这样设计的优点是,既能保证安全,又能保证效率。

HTTPS 绝对安全吗?

不是绝对安全的,可以通过中间人攻击。

Charles 等工具是如何实现拦截HTTPS的?

HTTPS使用SSL加密方式,是一种非常安全的机制。目前没有办法对这个协议进行攻击。但是中间人可以通过在建立SSL的时候进行拦截。拦截客户端的请求,利用中间人获取对应的SSL 证书,非对称加密的公钥和私钥,以及对称加密的密钥。有了这些就可以进行拦截。具体如下:
20001338_6581c132a705a30395

如何防止HTTPS被抓包

根据上面的问题,知道了,HTTPS 被拦截是在SSL证书获取期间,中间人拦截到了,然后将中间人将自己的证书交给了客户端。这样在数据传输过程中,中间人使用自己的证书和拿到的服务器的证书来进行解密和加密。

如果在本地预置一个SSL证书,这样中间人将自己的证书交给客户端的时候,使用本地预置的SSL证书验证,这样就能知道这个证书并不是一个自己的证书,就知道已经被拦截了

posted @   dulinshun  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示