美文网首页
HTTP学习笔记#3

HTTP学习笔记#3

作者: BeckJiang | 来源:发表于2016-05-16 23:44 被阅读64次

    一、HTTP的缺点

    1. 通信使用明文(不加密),内容有可能会被窃听

    因为按TCP/IP协议族的工作机制,通信内容在所有的通信线路上都有可能遭到窥视。即使已经对数据进行了加密,也是会被窥视到通信内容,这点和为加密的通信时一样的。只是加密后的数据,被窥视了,也无法破解报文的含义。(加密处理后的报文信息还是会被看到)

    通信的加密

    HTTP协议中没有加密机制,但可以通过和SSL (Secure Socket Layer,安全套接层) 或TLS (Transport Layer Security,安全传输层协议) 的组合使用,加密HTTP的通信内容。与SSL组合使用的HTTP被称为HTTPS (HTTP Secure,超文本传输安全协议)或HTTP over SSL。

    内容的加密

    由于HTTP协议没有加密机制,那么就对HTTP协议传输的内容本身加密,即由客户端对HTTP报文进行加密处理后再发送请求。

    为了做到有效的内容加密,前提是要求客户端和服务器同时具备加密和解密机制。但是该方式与SSL和TLS将整个通信线路机密处理,所以内容仍有被篡改的风险。

    2. 不验证通信双方的身份,因此有可能遭遇伪装

    任何有都可发起请求

    HTTP协议不论是谁发送过来的请求都会返回响应,因此不确认通信方,会存在以下各种隐患。

    • 无法确定返回请求响应的服务器是否是已伪装的Web服务器。
    • 无法确定接受响应的那个客户端是否是已伪装的客户端。
    • 无法确定通信的对方是否具备访问权限。
    • 即使无意义的请求也会处理,无法阻止海量请求下的Dos攻击。

    查明对手的证书

    HTTP无法确认对方身份,而SSL可以。SSL不仅具有加密功能,还有使用了一种被称为证书的手段,可用于确定对方。

    证书是由值得信赖的第三方机构颁发,用以证明服务器和客户端的实际存在。伪造证书从技术角度来说是异常困难的事,所以只要能确认通信方持有证书,即可判断通信方的真实意图。

    3. 无法证明报文的完整性,所以有可能已遭篡改

    收到的内容可能有误

    由于HTTP协议无法证明通信的报文完整性,所以请求或响应的内容遭到篡改,也没有办法获悉。

    比如我在某个网站下载内容,是无法确定客户端下载的文件和服务器上存放的文件是否前后一致。像这样,请求或响应在传输中,遭攻击者拦截并篡改内容的攻击称为中间人攻击。

    如何防止篡改

    HTTP协议为了确定报文完整性,常用的方法有MD5和SHA-1等散列值检验的方法。

    提供文件下载的网站也会提供响应的以PGP创建的数字签名及MD5算法生成的散列值。但不论哪一种方法,都需要操作客户端的本人进行人工检验。而且本身查看的PGP和MD5也有可能被改写,用户是没办法意识到的。

    所以有了有效防止这些弊端,有必要使用HTTPS。

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

    1. HTTPS是披着SSL外壳的HTTP

    HTTPS不是应用层的新协议,只是HTTP接口部分用SSL和TLS协议代替而已。SSL独立与HTTP,除了HTTP协议,其他应用层的协议如:SMTP和Telnet等协议也可以跟SSL配合使用。

    2. 对成加密与非对称加密技术

    3. HTTPS使用混合加密机制

    4. 认证证书

    相关文章

      网友评论

          本文标题:HTTP学习笔记#3

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