美文网首页
《网络(一):简单易懂的Https工作原理》

《网络(一):简单易懂的Https工作原理》

作者: Oneminute | 来源:发表于2018-10-27 16:35 被阅读0次

    “记少不记多,才能记得更多”,所以本文绝不拷贝大量理论知识,只有核心。


    文章结构

    1、http与https

    http到https,他们到底有何不同,我们需要简单的对这两种协议进行了解。

    1)http协议:是tcp/ip协议簇中的一种协议,所以想要了解http还是得从tcp协议说起,由于tcp的三次握手、四次挥手机制保证了数据传输的可靠性。网络上对于tcp协议的介绍太多了,请百度。

    2)https协议 可以理解为https = http+ssl;那么什么是ssl,它是一种安全机制、即在网络传输前对身份进行认证,对传输的数据进行加密解密处理。

    3)http与https比较

    http和https它们的基础协议都相同、http是明文传入、不对身份进行校验,是不全的,https对传输数据进行加密,对请求方身份进行认证,确保数据传输安全,由于对数据的加解密需要耗费一定时间,所以https的速度低于http。

    2、http存在漏洞

    为何弃用http,而使用https?

    由于http不对服务器身份进行验证、传输数据容易被篡改,但它本分没有丝毫的感知,这样就很容易受到攻击,此时客户端和服务器还是正常进行着数据交互,只是数据已经被篡改了。


    image.png

    3、对称加密和非对称加密

    因为https的工作原理是基于这两种解密方式展开的。所以只有了解对称加密和非对称加密才够理解https的工作原理,以及为何这么做的原因

    1)对称加密(也叫私钥加密),是指加密和解密使用相同的密钥的加密算法。它的缺点是加密和解密的密钥相同,在传输过程中容易被获取密钥。

    2)非对称加密,是指加解密算法不同,非对称加密算法有两个密钥:公开密钥(public key)和私有密钥(private key);并且加密密钥和解密密钥是成对出现的。公钥对数据进行加密且它是公开的,私钥对数据进行解密且它是私有的。因此在传入过程中即便被获取了公钥也无法获解密该密文数据。

    4、https的工作原理

    采用对称加密对数据进行加密,然后将加密后的数据data和密钥key一起传给服务器,服务器根据key对数据进行解密。

    image.png

    由于对称加密的密钥和解密的密钥相同,如果该通信通道被破解,那么密钥和密文都暴露于黑客手中,自然就能轻易的对密文进行解密了。

    显然采用非对称加密更加的安全,如下图所示,服务器把公钥传输费客户端,客户端对数据进行加密处理,然后将加密后的密文传输给服务器,由于服务器拥有唯一的私钥,只有它才能加密该密文数据,这样可以保证数据的安全。


    image.png

    对称加密不够安全,非对称加密安全但是加解密速度远慢与对称加密,特别数据传输数据量较大的情况。那么https到底采取哪种加密方式呢?

    答案是:两种方式结合使用

    1.[Server]生成一对密钥:公钥和私钥,“PublicKey”,“PrivateKey”
    2.[Server]服务端将公钥(PublicKey)发送到客户端
    3.[Client]生成一个对称密钥(ClientKey),然后用ClientKey加密数据。
    4.[Client]使用公钥(PublicKey)加密ClientKey.这时,ClientKey是安全的,只有服务器拥有PrivateKey对其进行解密
    5.[Client]发送用ClientKey加密后的信息及用PublicKey加密过的ClientKey到服务端
    6.[Server]服务端使用PrivateKey解密加密过的ClientKey,得到解密后的ClientKey,并用ClientKey解密消息密文。

    整个过程,加密密文都是安全的,综上,https的原理就是,用对称加密方式加密传输数据,用非对称加密方式对 对称加密的密钥进行加密,保证了该密钥的安全也就保证了由该密要加密后的数据的安全。

    网络(一):简单易懂的Https工作原理

    网络(二):简单易懂的https双向认证自制安全证书和tomcat配置

    网络(三):简单易懂的Android平台Okhttp/Retrofit https证书配置

    相关文章

      网友评论

          本文标题:《网络(一):简单易懂的Https工作原理》

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