HTTPS浅析

  • HTTPS是什么?

    • 是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 [1] 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。HTTPS百度百科
    • 《图解HTTP》这本书中曾提过HTTPS是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。
    • 注意:HTTPS 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
  • 信息安全问题

    • 参考博客

    • 信息的保密性:通过使用非对称加密算法对于对称加密算法密钥进行加密。

    在这里插入图片描述

    • 信息的完整性:信息传输的途中,我们的信息很有可能被第三方劫持篡改,所以我们需要保证信息的完整性,通用方法是使用散列算法如SHA1,MD5将传输内容hash一次获得hash值,即摘要。客户端使用服务端的公钥对摘要和信息内容进行加密,然后传输给服务端,服务端使用私钥进行解密获得原始内容和摘要值,这时服务端使用相同的hash算法对原始内容进行hash,然后与摘要值比对,如果一致,说明信息是完整的。

在这里插入图片描述

  • 身份识别:数字证书

  • 为什么需要使用HTTPS?

    • HTTP的缺点:HTTP虽然使用极为广泛, 但是却存在不小的安全缺陷, 主要是其数据的明文传送和消息完整性检测的缺乏, 而这两点恰好是网络支付, 网络交易等新兴应用中安全方面最需要关注的。

    • 信息传输方案:

      • http数据明文传输:数据拦截后,可以直接获取内容,存在极大风险。

        在这里插入图片描述

      • 对称加密:使用对称加密算法加密数据,传输密文数据。但是服务端解码也需要密钥,所以客户端需要将密钥明文传输给服务端。

      在这里插入图片描述

      • 对称加密的问题:加密的密钥需要使用另一个密钥进行加密,无休止导致问题无法解决。

        在这里插入图片描述

      • 绝对安全的方案:给每个用户下发一个类似U盾的东西,里面携带有密钥,服务端会存储用户对应密钥与数据库中,数据传输无需传递密钥。但是该方案并不能满足当前互联网的需求,比方说难道作为一个淘宝用户,需要给每个用户发一个U盾?显而易见,这种方案不完全适合当今互联网需求。

      在这里插入图片描述

      • 非对称加密+对称加密:使用公钥与私钥进行数据或者对称加密密钥的加密。

        • 同时使用对称加密与非对称加密的原因:对称加密效率大于非对称加密,对称加密用于加密数据量巨大的原始数据,非对称加密用于加密对称加密的密钥,保证数据的保密性。

      在这里插入图片描述

      • 非对称加密+对称加密的问题:客户端无法确认下发公钥端是否为真的服务端,中间可能被代理拦截数据,遭受攻击。

      在这里插入图片描述

  • HTTPS工作原理

    • 简要原理图(单向认证):

    在这里插入图片描述

    • 数字签名:

      • 数字证书就是一个人或者组织在网络世界中的身份证,其发证机关是证书管理机构(certificate authority,CA)。CA用自己的私钥对用户的身份信息(主要是用户名和该用户的公钥)进行签名,该签名和用户的身份信息一起就形成了证书。

      • 在日常生活中,如果我们要验证一个人的身份,通常的做法是查看他的身份证。我们信任身份证颁发机构即政府机构的公信力,因此只要验证一个人的身份证不是伪造的,我们就相信这个人的身份和身份证上所描述的是一致的。

        在这里插入图片描述

    • 数字证书:

      • 用户身份信息和数字签名一起组成数字证书。除用户信息外,数字证书中还包括证书机构名称,证书有效期,证书的序列号,签名使用的哈希算法,公钥使用的加密算法等相关信息。

        在这里插入图片描述

      参考博客

  • HTTPS单向认证

    在这里插入图片描述

  • HTTPS双向认证

在这里插入图片描述

  • HTTPS优点

    • 使用 HTTPS 协议可认证用户和服务器,确保数据发送到正确的客户机和服务器。
  • HTTPS 协议是由 SSL+HTTP构建的可进行加密传输、身份认证的网络协议,要比 HTTP安全,可防止数据在传输过程中被窃取、改变,确保数据的完整性。

    • HTTPS 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
  • HTTPS缺点

    • 相同网络环境下,HTTPS 协议会使页面的加载时间延长近 50%,增加 10%到 20%的耗电。此外,HTTPS 协议还会影响缓存,增加数据开销和功耗。
    • HTTPS 协议的安全是有范围的,在黑客攻击、拒绝服务攻击和服务器劫持等方面几乎起不到什么作用。
    • 最关键的是,SSL 证书的信用链体系并不安全。特别是在某些国家可以控制 CA 根证书的情况下,中间人攻击一样可行。
    • 成本增加。部署 HTTPS 后,因为 HTTPS 协议的工作要增加额外的计算资源消耗,例如 SSL 协议加密算法和 SSL 交互次数将占用一定的计算资源和服务器成本。在大规模用户访问应用的场景下,服务器需要频繁地做加密和解密操作,几乎每一个字节都需要做加解密,这就产生了服务器成本。随着云计算技术的发展,数据中心部署的服务器使用成本在规模增加后逐步下降,相对于用户访问的安全提升,其投入成本已经下降到可接受程度。

还可参考的博客:链接

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值