HTTP与HTTPS联系以及SSL加密方式

HTTP缺点

1.通信使用明文(不加密),内容可能被窃听。
2.不验证通信方的身份,有可能遭遇伪装。
3.无法证明报文的完整性,有可能已遭篡改。
HTTP本身不具备加密功能,所以无法做到对通信整体进行加密。在TCP/IP的过程中就可能遭到窃听。

通信的加密

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

内容的加密

对参与通信的内容本身进行加密,对HTTP报文主题进行加密。前提:客户端和服务器同时具备相同的加密和解密机制。但是HTTP的请求和响应不会对通信方进行确认,不验证通信方的身份可能遭到伪装。
不确认通信方,可能存在以下隐患:

  1. Web服务器可能遭到伪装
  2. 客服端可能遭到伪装
  3. 无法确定正在通信的对方是否具备访问权限。
  4. 即使是无意义的请求也会收下,无法阻止海量请求下的Dos攻击(拒绝服务攻击)

SSL不仅提供加密处理,还是用了一种称为证书的手段,可用于确定方。

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

使用HTTPS通信时,先和SSL通信,再有SSL和TCP通信。
在这里插入图片描述

SSL加密方式

SSL采用一种叫做公开密匙加密的加密处理方式。
客户端与服务器共享密匙
**共享密匙:**也叫对称密匙加密,加密与解密公用一个密匙。
**公开密匙:**也叫非对称密匙加密,公开密匙的加密方式很好的解决了共享密匙加密的困难。公开密匙加密使用一对非对称的密匙,一把私有密匙,一把公开密匙。私有密匙不能让任何人知道,公开密匙可以随意发布。
使用公开密匙加密,发送密文的一方使用对方的公开密匙进行加密,对方收到加密信息后,再使用自己的私有密匙进行解密。不发送自己的私有密匙,不必担心密匙被攻击者窃听而盗走。
在这里插入图片描述

HTTPS采用混合加密机制

HTTPS采用共享密匙和公开密匙两者并用的混合加密机制。若密匙能过安全交换,那么有可能会考虑仅使用公开密匙来加密通信,但是公开密匙处理速度慢,所以在交换密匙环节使用公开密匙加密方式,之后的建立通信交换报文则使用共享密匙加密方式。

证明公开密匙正确性的证书

数字证书认证机构(CA)和其相关机关颁发的公开密匙证书。将公开密匙放入公匙证书后绑定在一起。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43663421/article/details/109225267