Charles 中间人机制原理

Https通信采用非对称、对称两种加密算法。
1.在首次请求建立连接时采用非对称算法加密,客户端向服务端发起请求。
2.服务端响应后携带CA证书发给客户端。
3.客户端通过本地信任的CA证书机构解密验证证书的合法性,如果不合法则报警不通过,

如果通过

1.客户端生成一个随机数
2.使用公钥对随机数进行加密发送给服务器。
3.服务器对客户端发来的内容用私钥解密,解密成功后使用对称算法进行加密,返回给客户端。

之后双方的数据交互就使用这个随机数进行加密解密。

Charles 中间人机制

通过作为客户端的代理拦截客户端的请求处理后发送给服务端,进行通信。
  1. Charles向服务端发起请求,服务器携带CA证书返回给Charles,用公钥进行解密获得CA证书公钥
  2. Charles伪造一个CA证书,冒充服务器把这个伪造的证书传给客户端,客户端用公钥进行解密获得CA证书公钥(这也是为什么要抓取https包的时候要先安装一个证书
  3. 客户端解密成功后通过对称算法生成秘钥,再通过解密出来的公钥进行加密发送给服务端
  4. Charles截取后通过伪造证书的私钥进行解密获得https通信要使用对称秘钥
  5. Charles使用服务器真正的公钥对称秘钥进行加密后发送给服务器。
  6. 服务器使用私钥解密成功,获得信任建立连接,开始通信。
  7. 服务器使用对称秘钥对传送数据进行加密发送给客户端
  8. Charles使用对称秘钥解密收到的密文,获得明文,然后再次加密,发送给客户端。
  9. 客户端再次使用对称秘钥加密要发送的数据,Charles获取、解密、加密后发送给服务器。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值