【计算机网络】HTTPS协议

  • 🎥 个人主页:Dikz12
  • 🔥个人专栏:网络原理
  • 📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香
  • 欢迎大家👍点赞✍评论⭐收藏

目录

 HTTPS是什么?

为什么要加密? 

加密是什么? 

HTTPS工作流程 

 引入对称加密

  引入非对称加密

中间人攻击 

引入证书 

总结 

完整流程 


 HTTPS是什么?

 HTTPS 也是⼀个应⽤层协议. 是在 HTTP 协议的基础上引⼊了⼀个加密层.
 HTTP 协议内容都是按照⽂本的⽅式明⽂传输的. 这就导致在传输过程中出现⼀些被篡改的.

为什么要加密? 

  这就不得不提一下臭名昭著的 "运营商劫持".

比如:好像是2017年,"国务院App遭流量劫持"事件,也是上新闻了.国务院app弹出疑似不良广告,经排查“基本确定为用户当地运营商http劫持导致h5页面被插入广告..”(感兴趣的可以去搜一下).

以前,在浏览器下载软件的时候,想要下载的软件跟弹出的下载链接不符合.

正常情况下:

 

被运营商劫持的情况下:

 

分析整个过程: 

点击 "下载按钮", 其实就是在给服务器发送了⼀个 HTTP 请求, 获取到的 HTTP 响应其实就包含了该APP 的下载链接. 运营商劫持之后, 就发现这个请求是要下载天天动听, 那么就⾃动的把交给⽤户的响应给篡改成 "QQ浏览器" 的下载地址了.

不⽌运营商可以劫持, 其他的 ⿊客 也可以⽤类似的⼿段进⾏劫持, 来窃取⽤户隐私信息, 或者篡改内容.
在互联⽹上, 明⽂传输是⽐较危险的事情!!!
HTTPS 就是在 HTTP 的基础上进⾏了加密, 进⼀步的来保证⽤户的信息安全

加密是什么? 

加密:就是把 明⽂ (要传输的信息)进⾏⼀系列变换, ⽣成 密⽂ .
解密:就是把 密⽂ 再进⾏⼀系列变换, 还原成 明⽂ .

比如:83 版 <<⽕烧圆明园>> , 有⼈要谋反⼲掉慈禧太后. 恭亲王奕䜣给慈禧递的折⼦. 折⼦内容只是扯⼀扯家常, 套上⼀张挖了洞的纸就能看到真实要表达的意思.
明⽂: "当⼼肃顺, 端华, 戴恒" (这⼏个⼈都是当时的权⾂, 后来被慈禧⼀锅端).
密⽂: 奏折全⽂.
密钥: 挖了洞的纸.

 

 

HTTPS工作流程 

 引入对称加密

 对称加密就是通过同一个“密钥”,设密钥为key.

明文 + key => 密文 ;密文 + key => 明文.

这没有我们想的这么简单,服务器可不是只服务一个客户端,所以,每个客户端的密钥都是不同的,服务器就要维护每个客户端和每个密钥之间的关联关系!!!

 

比较理想的方式:每个客户端,在和服务器建立连接的时候就把密钥给生成出来!!!

客户端再把自已的密钥通过网络传输给服务器.

这时候传输的密钥可相当于是明文传输,如果被黑客截获可就直接凉凉了----裤衩子都被看光了!!!在对称加密的基础就需要引入非对称加密了.

  引入非对称加密

  非对称加密就要用到两个密钥,一个 公钥,一个 私钥.

  公钥和私钥是配对的.是由服务器生成的,服务器把私钥藏好,公钥返回给客户端.

  • 通过公钥对明文加密,私钥对密文进行解密
  • 或者反着用,私钥加密,公钥解密

 过程分析:

  • 客户端在本地⽣成对称密钥, 通过公钥对 对称密钥进行加密, 发送给服务器
  • 如果黑客拿到加密后的 对称密钥,也是无能为力的,公钥加密需要私钥解密,私钥只有服务器才有,也就无法获取对称密钥.
  • 服务器通过私钥解密, 还原出客户端发送的对称密钥. 并且使⽤这个对称密钥加密给客户端返回的响应数据

大家会不会有这样的疑问?

既然已经引入了非对称加密了,为啥还还需要引入对称加密?直接使用非对称加密,来完成所有的业务数据的传输不好吗?

进行非对称加密:加密 / 解密 , 运算成本是比较高的.运算速度也是比较低的.

而对称加密 : 加密 / 解密 ,运算成本低, 速度快. 业务数据使用非对称加密,整体的效率就会大大折扣.

所以,使用非对称加密,只需要进行关键环节,比如:传输密钥. 这种一次性工作,成本比较可控.

中间人攻击 

 过程分析:

  •  黑客自己也生成一对非对称密钥:公钥 pub2 , 私钥 pri 2
  • 当客户端询问公钥的时候,服务器响应返回一个公钥pub1,经过黑客的设备就把pub1替换成了pub2
  • 客户端就会基于pub2进行加密对称密钥,黑客就通过自己的pri2进行解密,拿到了对称密钥,于是又把对称密钥基于pub1进行加密,重新使用pub1就是为了瞒天过海,骗过服务器.

上诉过程存在问题就是:

  • 客户端如何获取到公钥?
  • 客户端如何确定这个公钥不是⿊客伪造的?

引入证书 

 之所以能进行中间人攻击,关键点在于客户端没有“分辨能力”,客户端不知道当前这个公钥是不是黑客伪造的!!!所以,就需要引入都被大家信任的第三方“公正机构”,就可以说明当前这个公钥不是伪造的,是可以信任的.

这个 证书 可以理解成是⼀个结构化的字符串, ⾥⾯包含了以下信息:

  • 证书发布机构
  • 证书有效期
  • 公钥
  • 证书所有者
  • 数字签名
  • ......

颁发证书的时候,公正机构就会针对证书的各个属性,计算出一个校验和,并且针对这个校验和进行加密,就得到了数字签名.  

这个加密也是非对称加密,公正机构自己生成一对公钥和私钥 跟 服务器的不一样,公正机构就会自己持有私钥,而公钥往往就内置在我们的系统中,Windows系统、Linux系统......,就会自带公钥.

过程分析:

  • 服务器向 公正机构提出申请,审核通过就会给服务器颁发一个“证书”.
  • 客户端请求建立连接(你的证书是是啥),服务器响应返回一个证书(包含服务器公钥).
  • 客户端就得到了一个证书,通过系统内置的公钥对证书进行解密,就拿到了公钥,就需要验证这个公钥是否是服务器最初的公钥,这个过程被称为“证书的校验”.
  • 证书的校验:核心机制就是“数字签名” => 被加密后的校验和,通过系统内置的公钥进行解密,得到⼀个 hash 值(称为数据摘要), 设为 hash1. 然后计算整个证书的 hash 值, 设为 hash2. 对⽐ hash1 和 hash2 是否相等. 如果相等, 则说明证书是没有被篡改过的,公钥是可信的!!

在上诉机制下,黑客就无法对证书里的内容进行篡改了,即使篡改,也是很容易被发现的. 

当黑客收到证书之后,如果直接修改里面的公钥,替换成自己的,客户端在进行证书校验的时候,就会发现校验和不一样!!客户端就认为被篡改过了,就会弹出一些对话框的形式来警告用户,存在安全风险!!!(比如你访问一些“奇奇怪怪”的网站,就很有可能会遇到这种情况~)

总结 

完整流程 

 

https加密: 

  •  对称加密,加密业务数据
  • 非对称加密,加密对称密钥
  • 中间人攻击
  • 引入证书,校验服务器公钥
  • 121
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 89
    评论
1、 主机Host1 ping主机 Host2时,IP包的首部有哪些字段?各字段的值是多少? 找出该IP包的源IP地址与目的IP分别地址是多少?是谁的IP地址? 找出该IP包所封装成的数据帧的源MAC地址与目的MAC地址分别是多少?是谁的MAC地址? 2、 主机Host1 ping主机 Host3时,IP包的首部有哪些字段?各字段的值是多少? 找出该IP包的源IP地址与目的IP分别地址是多少?是谁的IP地址? 找出该IP包所封装成的数据帧的源MAC地址与目的MAC地址分别是多少?是谁的MAC地址? 3、 上述两次ping过程,IP包和数据帧为什么会有区别,原因是什么? 原因: 当Host1 ping Host2时,两台主机在同一个网络,不需要经过路由器,直接交付;而当Host1 ping Host3时,两台主机不在同一个网络,需要经过路由器,通过目的网络地址确定下一跳路由器,经过多次间接交付到达目的网络上的路由器(即R2),当到达最后一个路由器时,才试图与目的主机直接交付。 4、 主机Host1 ping主机 Host2时,该IP包是否会通过交换机Switch1的GE 0/0/2转发? 答:不会,因为两台主机在通一个网络,直接交付 5、 主机Host1 ping主机 Host3时,该IP包是否会通过交换机Switch1的GE 0/0/2转发?若转发,请捕获该IP包,并与第2步中Host1的E /0/0/1所捕获的IP包比较,是否相同?若转发,该IP包在数据链路层封装成MAC帧是什么格式?是否与第2步的MAC帧格式相同?有何不同?原因是什么? 6、 继续捕获路由器Router1的GE 0/0/0接口、路由器Router2的GE 0/0/0接口的IP包和MAC帧,对照教程P123页图4-9分析。总结上述过程,描述IP包在网络的不同设备转发过程。 从路由器Router1的GE 0/0/0接口所捕获的数据包里面,过滤出RIP报文,对照教程P157页的图4-32,回答如下问题: 7、 路由器Router1发给路由器Router2的RIP报文,包含了哪些路由信息?路由器Router2发给路由器Router1的RIP报文,包含了哪些路由信息?同时查看路由器Router1的路由表(使用display ip routing-table命令),此时的路由表有哪些信息? 8、 断开主机Host3与路由器Router2的连接,再次捕获路由器Router1的GE 0/0/0接口的RIP报文,此时的路由信息有何变化?为什么?同时查看路由器Router1的路由表(使用display ip routing-table命令),此时的路由表有哪些信息?与第7步的路由表比较,有何区别? 9、 总结上述过程,描述RIP协议是如何建立和维护路由表的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值