http(2)

170 阅读2分钟

http存在的问题

1. 明文传输,报文可能被窃听(报文没有被加密)

  • tcp/ip是可能被窃听的(一切明文传输的内容都是有可能被窃听的,加密之后也是可能被窃听的,只是窃听者不知道被窃听的内容)
    • 通信加密:https(http+ tls),通信线路的加密(建立安全的通信管道)
    • 内容加密:内容加密之后才会被发出去

2. 没有验证通信双方的身份,可能会有伪装身份的问题

  • 任何人都可以发起请求
  • 无法确定请求者(客户端的身份)
  • 无法确定响应者(服务器端的身份)
  • 无法确定通信双方的访问权限
  • DoS攻击
    • 使用ssl验证双方的身份,CA证书

3. 没有验证报文的完整性(报文内容的正确性),报文可能已经被篡改

  • 接收到的内容可能有错,请求报文和响应豹纹都有可能被篡改,而且无法验证收到的报文何时发出的报文是否一致
    • 使用数字签名防止篡改:Md5,SHA-1(但是md5本身是否被篡改是无法确定的)

https = http + 身份认证 + 加密 + 完整性保护

加密算法

  • 共享密钥算法(通信双方用同一个密钥进行加密解密) * 需要考虑密钥传输的问题,密钥没有被窃听,篡改
  • 公开密钥算法(公钥,私钥)

http vs https

  • https更安全,但是需要更多的开销,能够处理的请求数量会减少(涉及到个人隐私安全的地方使用https)
  • 可以部分加密,对重要信息进行加密
  • CA证书需要购买

《图解http》

爱http 爱生活