深入学习理解HTTP系列(三) -- 了解HTTPS协议

深入学习理解HTTP系列(三) -- 了解HTTPS协议

一、HTTP的缺点

  • 通信使用明文(不加密)内容可能会被窃听:
    • 问题:TCP/IP是可能被窃听的网络
    • 解决:加密防止被窃听
      • 通信的加密:SSL(安全套接层)或TLS(安全层传输协议)
      • 内容的加密:客户端对HTTP报文进行加密处理
  • 不验证通信方的身份,因此有可能遭遇伪装
    • 问题:任何人都可发起请求
      • 无法确定请求发送至目标的 Web 服务器是否是按真实意图返回响应的那台服务器
      • 无法确定响应返回到的客户端是否是按真实意图接收响 应的那个客户端
      • 无法确定正在通信的对方是否具备访问权限。
      • 无法判定请求是来自何方、出自谁手
      • 即使是无意义的请求也会照单全收。无法阻止海量请求下的 DoS 攻击(Denial of Service,拒绝服务攻击)
    • 解决:查明对手的证书(SSL)
  • 无法证明报文的完整性,所以有可能已遭篡改
    • 接收到的内容可能有误(前后可能不一致),中间人攻击(MITM)
    • 散列值检验方法(MD5、SHA-1)、数字签名(PGP)

二、HTTPS = HTTP + 加密 + 认证 + 完整性保护

  • HTTPS是身披SSL外壳的HTTP:HTTP通信接口部分使用SSL和TLS协议代替
  • 加密方法:
    • 共享密钥:加密和解密同用一个密钥(问题:发送密钥有被窃听的风险)
    • 公开密钥:使用两把密钥(私有密钥+公开密钥)
      • 问题:无法证明公开密钥真实性
      • 解决:使用证明公开密钥正确性的证书
    • 混合加密(HTTPS)
  • HTTPS的安全通信机制

  • 主流版本:SSL 3.0和TLS 1.0
  • SSL速度慢:
    • 通信慢:SSL通信消耗网络资源
    • 处理速度慢:客户端和服务端需要进行加密和解密的运算处理,消耗硬件资源
    • 解决:使用SSL加速器硬件(专用服务器)
  • 非敏感信息使用 HTTP 通信,只有在包含个人信息等敏感数据时,才利用 HTTPS 加密通信
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值