美文网首页
https通信过程与代理机制

https通信过程与代理机制

作者: jluemmmm | 来源:发表于2020-10-19 14:16 被阅读0次

    再复习一遍通信过程,以及 https 到底是对称加密还是非对称加密

    https://www.cnblogs.com/imstudy/p/12015889.html
    https://www.jianshu.com/p/918d9f517749

    中间人攻击劫持

    公钥和私钥

    公钥用于加密会话密钥、验证数字签名、或加密可以用相应的私钥解密的数据。公钥和私钥是一种通过算法得到的一个密钥对,其中的一个向外界公开,称为公钥,另一个自己保留,称为私钥。

    加密

    • 对称加密:加密与解密使用的是同一个密钥;
    • 非对称加密:加密使用的密钥(公钥)和解密使用的密钥(私钥)是不相同的,公钥、算法是公开的,私钥是保密的。

    数字签名:

    数字签名是加密过程,数字签名认证是解密过程。用私钥加密的消息称为签名,只有拥有私钥的用户可以生成签名;用公钥解密签名这一步称为验证签名,所有用户都可以验证签名。

    数字签名是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后对收到的原文产生一个摘要信息,与解密的摘要信息对比,如果相同,说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。

    证书验证机制

    HTTPS加密过程和TLS证书验证

    采用https协议的服务器必须有一套数字证书,可自己制作,也可以向组织申请。自己颁发的证书需要客户端验证通过,才可以继续访问,使用受信机构申请的证书不会弹出提示页面。

    证书本质上是对公钥进行数字签名。A 将自己的公钥和域名信息发送给CA,CA用自己的私钥加密A的CSR,得到的密文称为数字签名,A和B通信时,A出示自己的CA证书,只要B在自己机器上安装了CA,可以拿到CA的公钥,用公钥解密A的CSR,与明文中的信息进行比对,如果相同则证书校验通过。

    https通信过程:

    1. client hello 客户端与服务端建立链接,http版本,算法,随机数1
    2. server hello 服务端发送证书,随机数2
    3. 客户端验证证书
    4. 客户端生成会话密钥,随机数3(服务端的公钥进行加密)
      5.服务端用私钥解密随机数3,根据约定的算法使用随机数1, 2, 3生成会话密钥

    代理机制

    手机上安装自己的证书,将自己的证书发送给客户端进行校验通过。代理知道随机数1,2,使用的算法,服务端公钥,客户端返回的随机数 3用代理生成的证书里面的公钥加密,代理用自己的私钥进行解密,再用服务端公钥加密,发送给服务端。

    因此代理可以获得客户端与服务端的对称加密密钥。代理处可以获取到明文的报文。

    HTTPS原理和通信流程
    什么是数字签名和证书
    https抓包为什么能看到明文
    浅谈HTTPS抓包原理,为什么Charles能够抓取HTTPS报文?
    HTTPS协议原理和流程分析
    SSL的通讯原理

    相关文章

      网友评论

          本文标题:https通信过程与代理机制

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