https为什么是安全的协议?相对于http提升了什么?

https简述

https是一个老生常谈的话题了,也是面试过程种几乎必然会问到的一个问题,我们都知道 HTTPS 比 HTTP 安全,也听说过与 HTTPS 协议相关的概念有 SSL 、非对称加密、 CA证书等,但一般面试官都喜欢深入挖掘的问:
https的原理、为什么?
此两大法宝基本可以放在任何技术问题上,然后希望以此击溃所有的面试者。
在这里插入图片描述
那么套用在这个问题上,我们应该怎么去面对他呢?

那么首先,我们讨论一下https的原理

我们知道,https与http的最本质上的区别,是在于ssl/tsl证书,在浏览器中打开一个Https链接,浏览器会校验https的合法性。以下两个是访问https与http链接,在chrome中的不同表现,https会有个锁头的标志代表安全
访问一个http地址
访问一个https地址
在这里的关键部位,就是浏览器认为存放于服务器端的https证书,是一个机构颁发的的合法的https安全证书。所以浏览器与服务器地方交互过程如下图所示,分为两个阶段:
https验证过程
所以,其实使用了https共经历了两个阶段,一个是证书验证阶段,在本阶段通过非对称加密会验证ca证书的合法性,当证书合法之后,第二步是数据传输的阶段,本阶段的加密是使用对称加密,以用于高频传输数据,因为非对称加密相对于对称加密的效率是非常低的,高频传输根本无法接受这种情况

为什么要使用https证书

我们知道,使用https证书,一般情况下是需要付费使用的
在这里插入图片描述
那么我们为什么还是要使用他呢?很简单,两个字:安全
那么https为什么安全呢?
前面已经介绍过了,https在数据传输之前,进行了证书非对称式的验证,保证了传输安全,防止传输过程被监听、防止数据被窃取,可以确认网站的真实性。以此可以防止中间人攻击
那么这个时候,可能有好学(gangjing)的同学讲了:你乱说,就算使用了https,依然阻止不了抓包
没有错,即使是使用了了https,仍然会被抓包,但可以防止用户在不知情的情况下通信链路被监听,对于主动授信的抓包操作是不提供防护的,因为这个场景用户是已经对风险知情。要防止被抓包,需要采用应用级的安全防护,例如采用私有的对称加密。而抓包工具的使用方法,本身就是会生成证书,用户需要手动把证书安装在设备中,设备终端发出的所有请求都会通过这个证书代理到抓包工具中,抓包工具再将请求转发至服务器,完成这一次请求

结语

当然,https本身的加密流程比上面说的还要复杂一些,但主流程大致相同
下次面试再被问到https为什么安全时,不要再简单的说 ”因为加密了“,再往下问的时候就直接GG了,那这次面试黄的机率也有五成了。如果基本能够回答出以上的这些知识点,基本上https这里的也差不多了,最多也再挖掘一下相关的中间人攻击这一项了,这个我会在之后单独写一篇博文出来,那么,我们下篇再见咯~点个收藏呗

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章