HTTP协议 和 HTTPS协议的区别(4点) && HTTPS的缺点 && HTTP如何使用SSL/TLS协议加密过程 && CA证书干啥的

(一)HTTP协议 和 HTTPS协议的区别(4点):

 

1. HTTP协议的端口号是80, HTTPS协议的端口号是443

2. HTTP协议使用的URL是以 http:// 开头,HTTPS协议使用的URL是以https://开头

3. HTTP协议和HTTPS协议最主要的区别是:

HTTP协议所生成的HTTP请求报文被TCP协议 以明文形式透明传输,同时 客户端与服务器之间无法核验对方的身份(不晓得对方是真的baidu.com 还是一个假冒钓鱼网站)

HTTPS协议则是 在 TCP协议基础上,又增加了TLS协议,即, HTTPS 是运行在 SSL/TLS 之上的 HTTP 协议,SSL/TLS 运行在 TCP 之上。(具体来说就是:先通过TCP三次握手建立可靠的通信,而后通过TLS4次握手来交换证书、秘钥等,而后再继续通信传输数据)。HTTPS上所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥 通过 CA证书 进行了非对称加密传递给 客户端。

总结来说,HTTP 安全性没有 HTTPS 高,但是 HTTPS 比 HTTP 耗费更多服务器资源。HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
 

4. 最后一点就是:对于搜索引擎来说,更偏好HTTPS 协议下的网站,因为 HTTPS 能够提供更高的安全性和用户隐私保护。使用 HTTPS 协议的网站在搜索结果中可能会被优先显示,从而对 搜索引擎的展示结果排序产生影响。

(@)HTTPS的缺点:

虽然HTTPS有很多优势,也是应用最广泛、现行最安全的协议:

他同样有缺点:
1、HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;
2、HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
3、SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
4、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
5、HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。

【就像我们LVS是4层协议,因此只转发请求,但是Nginx是7层负载均衡协议,因此,在这一步,需要给虚拟服务器绑定好证书,方便在进行三次握手的时候】


(二)什么是非对称加密,什么是对称加密?

1. 非对称加密:

需要公钥和私钥2个秘钥 :在通信时,私钥仅由解密者保存,公钥由任何一个想与解密者通信的发送者(加密者)所知

 2. 对称加密:

只需要一个秘钥,通信双方可以通过这个密钥加密发送数据,解密收到的数据

(三)SSL\TLS协议采用的加密通信方式是什么?

SSL\TLS协议采用的加密通信方式是:通信过程中采用对称加密,而对称加密的秘钥通过非对称加密来传输

这样,复杂的非对称加密传输只实现了一次,交换对称加密的密钥;在之后的信息通信中,使用绝对安全的密钥,对信息进行对称加密,即可保证传输消息的保密性

(四)为啥使用非对称加密来传输对称加密的秘钥 ?SSL\TL引入CA证书的通信流程是 什么?

1. 使用非对称加密来传输对称加密的秘钥 是为了避免如下场景:

客户端 C 和服务器 S 想要使用 SSL/TLS 通信,由上述 SSL/TLS 通信原理,C 需要先知道 S 的公钥,而 S 公钥的唯一获取途径,就是把 S 公钥在网络信道中传输。

但是网络信道通信中有几个前提:

  1. 任何人都可以捕获通信包
  2. 通信包的保密性由发送者设计
  3. 保密算法设计方案默认为公开,而(解密)密钥默认是安全的

因此,假设 S 公钥不做加密,在信道中传输,那么很有可能存在一个攻击者 A,发送给 C 一个诈包,假装是 S 公钥,其实是诱饵服务器 AS 的公钥。当 C 收获了 AS 的公钥(却以为是 S 的公钥),C 后续就会使用 AS 公钥对数据进行加密,并在公开信道传输,那么 A 将捕获这些加密包,用 AS 的私钥解密,就截获了 C 本要给 S 发送的内容,而 C 和 S 二人全然不知。

同样的,S 公钥即使做加密,也难以避免这种信任性问题

2、引入CA的作用是啥?引入CA后客户端和服务器的通信流程为:

因此,需要引入第三方平台 :证书颁发机构(CA,Certificate Authority)。

CA 默认是受信任的第三方。CA 会给各个服务器颁发证书,证书存储在服务器上,并附有 CA 的电子签名电子签名可以防止证书被伪造)。

那么,现在的通信流程变为:

当客户端(浏览器)向服务器发送 HTTPS 请求时,一定要先获取目标服务器的证书,并根据证书上的信息,检验证书的合法性。一旦客户端检测到证书非法,就会发生错误。

客户端获取了服务器的证书并验证合法后,由于 证书上包含着服务器的公钥信息,客户端就可以放心的信任证书上的公钥就是目标服务器的公钥。

客户端获得公钥,于是放宽心进行 数据的对称加密解密 通信

【总结下】CA就是在提供一个 非对称的加密传输对称秘钥  和  验证服务器安全 的功能:

CA用自己的秘钥对服务器证书加密,客户端用存在自己系统中的CA发布的公钥对收到的证书进行解密,匹配客户端自己系统中存放的签名和发来的证书上的签名是否一致,一致说明访问的服务器合法,同时也获得了  能 与该合法的服务器 通信的 对称公钥

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值