第七章:确保web安全的HTTPS

  1. HTTP的缺点
    • 通信使用明文(不加密),内容可能会被窃听;
    • 不验证通信方的身份,因此有可能遭遇伪装
    • 无法证明报文的完整性,所以有可能已遭篡改;
      这些问题不仅在 HTTP 上出现,其他未加密的协议中也会存在这类问题。
  2. TCP/IP 是可能被窃听的网络:如果要问为什么通信时不加密是一个缺点,这是因为,按TCP/IP 协议族的工作机制,通信内容在所有的通信线路上都有可能遭到窥视。
    在这里插入图片描述
    窃听相同段上的通信并非难事。只需要收集在互联网上流动的数据包(帧)就行了。对于收集来的数据包的解析工作,可交给那些抓包(Packet Capture)或嗅探器(Sniffer)工具。
  3. 加密处理防止被窃听 加密对象分类:1. 一种方式就是将通信加密。HTTP 协议中没有加密机制,但可以通过和 SSL(Secure Socket Layer,安全套接层)或TLS(Transport Layer Security,安全层传输协议)的组合使用,加密 HTTP 的通信内容。与 SSL 组合使用的 HTTP 被称为 HTTPS(超文本传输安全协议);2. 内容加密 即把HTTP 报文里所含的内容进行加密处理;由于该方式不同于 SSL 或 TLS 将整个通信线路加密处理,所以内容仍有被篡改的风险。
  4. 查明对手的证书 虽然使用 HTTP 协议无法确定通信方,但如果使用 SSL 则可以。SSL 不仅提供加密处理,而且还使用了一种被称为证书的手段,可用于确定方。
  5. 中间人攻击: 请求或响应在传输途中,遭攻击者拦截并篡改内容的攻击;
  6. HTTPS = HTTP+ 加密 + 认证 + 完整性保护
  7. HTTPS 是身披 SSL 外壳的 HTTP : HTTPS 并非是应用层的一种新协议。只是 HTTP 通信接口部分用SSL(Secure Socket Layer)和 TLS(Transport Layer Security)协议代替而已。
    通常,HTTP 直接和 TCP 通信。当使用 SSL 时,则演变成先和 SSL 通信,再由 SSL 和 TCP 通信了。简言之,所谓 HTTPS,其实就是身披SSL 协议这层外壳的 HTTP。
    在这里插入图片描述
    SSL 是独立于 HTTP 的协议,所以不光是 HTTP 协议,其他运行在应用层的 SMTP 和 Telnet 等协议均可配合 SSL 协议使用。可以说 SSL 是当今世界上应用最为广泛的网络安全技术。
    SSL 采用一种叫做公开密钥加密(Public-key cryptography)的加密处理方式; 公开密钥加密使用一对非对称的密钥。一把叫做私有密钥(private key),另一把叫做公开密钥(public key)。顾名思义,私有密钥不能让其他任何人知道,而公开密钥则可以随意发布,任何人都可以获得。
    加密和解密同用一个密钥的方式称为共享密钥加密(Common keycrypto system),也被叫做对称密钥加密。
    在这里插入图片描述
  8. HTTPS 采用混合加密机制: HTTPS 采用共享密钥加密和公开密钥加密两者并用的混合加密机制。若密钥能够实现安全交换,那么有可能会考虑仅使用公开密钥加密来通信。但是公开密钥加密与共享密钥加密相比,其处理速度要慢。
    在这里插入图片描述
  9. 证明公开密钥正确性的证书(无法证明公开密钥本身就是货真价实的公开密钥), 为了解决上述问题,可以使用由数字证书认证机构CA,CertificateAuthority)和其相关机关颁发的公开密钥证书。
  10. SSL SSL 技术最初是由浏览器开发商网景通信公司率先倡导的. TSL 是以 SSL 为原型开发的协议.HTTPS 也存在一些问题,那就是当使用 SSL 时,它的处理速度会变慢。SSL 的慢分两种。一种是指通信慢。另一种是指由于大量消耗CPU 及内存等资源,导致处理速度变慢。和使用 HTTP 相比,网络负载可能会变慢 2 到 100 倍。要进行 HTTPS 通信,证书是必不可少的。而使用的证书必须向认证机构(CA)购买。证书价格可能会根据不同的认证机构略有不同。
  11. TLS是基于 X.509 认证,他假定所有的数字证书都是由一个层次化的数字证书认证机构发出,即 CA。

文章:

  1. https://dieyidezui.com/talk-about-android-https/
  2. https://zhuanlan.zhihu.com/p/24093848

猜你喜欢

转载自blog.csdn.net/ChrisSen/article/details/88292831