图解HTTP-阅读笔记

前几天,看了图解http这本书,感觉很有意思,文章简单直观,特简单记下笔记后面查看。

HTTP的缺点

现有http的缺点为:

​ 1.通信使用明文,内容容易被监听;

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

​ 3.无法证明报文的完整性,因此报文遭遇篡改风险。

通信加密

通信加密方式分为两种:

  1. 通信加密,http和SSL(Secure Socket Layer,安全套接层)、http和TLS(Transport Layer Security),主要是对于通信线路进行加密,这两个简称HTTPS,超文本传输协议。
  2. 内容加密,主要是对于通信内容加密,需要终端和服务器拥有加解密方法,其中报文首部不加密,只对报文内容进行加密。

其中中间人攻击是指,在传输过程中,传输内容被篡改或者拦截。那么如何验证传输报文的完整性了,虽然http协议可以在一定程度上保证传输报文的完整性,但是并不可靠,便捷。

http是无法确认通信双方的

传输报文如何防止被篡改?

HTTP:可以利用MD5和SHA-1散列值进行对比,以及确认文件的数字签名方法来进行校验。

如果MD5被修改了,用户是很难意识到的,所以http本身并不牢固。

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

https不像http直接和tcp通信,而是http先和SSL或者TLS通信,然后SSL或者TLS和tcp通信。

logo

其实SSL是独立的一个通信协议,所以不仅HTTP和其可以搭配使用,SMTP和Telnet等协议也可以和它搭配使用。

说了那么多,那么什么是SSL了?

SSL协议

加密方法

SSL采用的是公开密钥加密。

对称加密/共享密钥:加密和解密使用同一个密钥。

那么存在一个问题,如何将共享密钥发送给通信双方,信道是开放的,因此如何将这个密钥发送给双方是问题?

logo

可以采用的方法是公开密钥来解决共享密钥加密的困难。

原理如下:终端将自己的公钥公布出来,然后服务器可以利用该公钥对报文进行加密,然后将报文发送出去。终端接收到报文后,利用自己的私钥对报文进行解密。

HTTPS采用的就是对称密钥和公开密钥混合加密方式

如果对称密钥中的密钥可以安全传递,则会首先使用对称密钥,毕竟对称密钥的处理速度要比公开密钥快多了。所以一般来说:在刚开始交换密钥时,首先利用公共密钥加密,则得到密钥后,然后利用对称密钥来进行加密,这样综合下来通信效率会高很多。

如果在公开密钥发送中,敌方破解了密钥,重新伪造密钥,接收方也很难知道。那么怎么增加安全性呢?

使用数字证书CA和公开密钥证书可以保证密钥的正确性。

logo

整个HTTPS的通信过程

下图是整个流程的图解:

logo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值