带你快速入门HTTPS(最全的https知识点)

无评论

作者照片

By 霜天

你了解https吗?简单来说,https就是套在SSL/TLS内的http,也就是安全的http。而https就是为了解决通信保密、通信双方身份的真实、通信内容的完整这3大问题而诞生的。下面就为大家详细讲解下https相关知识。

什么是HTTPS?

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

HTTPS并非是应用层的一种新协议. 只是HTTP通信接口部分用SLL(Secure Socket Layer)和TLS (Transport Layer Security) 协议替代而已.

通常, HTTP直接和TCP通信, 当使用SSL时, 演变成了先和SSL通信, 再由SSL和TCP通信了, 简而言之, 所谓HTTPS, 其实就是身披SSL协议的这层外壳的HTTP.

在采用SSL后, HTTP就拥有了HTTPS的加密, 证书和完整性的保护这些功能.

SSL是独立于HTTP的协议, 所有不光是HTTP协议, 其他运行在应用层的SMTP(邮件协议)和Telnet等协议均可配合SSL协议使用. 可以说SSL是当今世界上应用最广泛的网络安全技术.

HTTPS和HTTP的区别

HTTPS协议是需要CA申请书。

HTTP是超文本传输协议,信息是明文传输;HTTPS则是具有安全性的ssl 加密的传输协议。

HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

https初始化流程

  • 1、客户端发送Client Hello报文开始SSL通信,报文中包含SSL版本、可用算法列表、密钥长度等。
  • 2、服务器支持SSL通信时,会以Server Hello报文作为应答,报文中同样包括SSL版本以及加密算法配置,也就是协商加解密算法。
  • 3、然后服务器会发送Certificate报文,也就是将证书发送给客户端。
  • 4、客户端发送Client Key Exchange报文,使用3中的证书公钥加密Pre-master secret随机密码串,后续就以这个密码来做对称加密进行通信。
  • 5、服务器使用私钥解密成功后返回一个响应提示SSL通信环境已经搭建好了。
  • 6、然后就是常规的http c/s通信。

https如何避免中间人劫持?

如果有人劫持了你的dns服务器,将wwe.icbc.com解析到他的非法网站,或者代理服务器将你导向他的非法网站去,这都是中间人攻击。如果没有https,那么攻击就这样发生了。那https怎么避免这类攻击?答案是通过证书鉴别。

  1. 在申请证书的时候CA会对所要申请的域名进行控制权认证,所以你是不可能用隔壁老王的网站来申请证书的。就算你黑了他的站点,只要老王去申请证书就能发现了。
  2. 如果伪造一个证书,这个证不是权威CA签发的,那么浏览器检查的时候会报警提示用户证书非法。当然用户仍然可以继续操作,比如抢火车票什么的。。
  3. 如果你把真正站点的证书搞下来,证书上的域名不变,只是将公钥替换掉,那么浏览器比对证书数字签名的时候就能发现对不上了,二话不说,报警。
  4. 如果中间人直接用www.icbc.com的真实证书,那么他虽然能收到客户端的消息,但是无法解密,所以也无法响应客户端的请求,攻击无效!

HTTPS是加密流程

HTTPS加密之前一般是应用层将数据直接给到TCP进行传输,现在改成应用层将数据给到TLS/SSL,将数据加密后,再给到TCP进行传输。

大致如图所示。

format,webp

如果用户遇到的问题不能解决,可通过网站寻求我们的帮助

发表评论