【计算机网络 - 基础问题】每日 3 题(十六)

news/2024/9/21 7:19:08/

✍个人博客:Pandaconda-CSDN博客
📣专栏地址:http://t.csdnimg.cn/fYaBd
📚专栏简介:在这个专栏中,我将会分享 C++ 面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
📝推荐参考地址:https://www.xiaolincoding.com/(这个大佬的专栏非常有用!)

46. HTTPS 是如何解决上面的三个风险的?

  • 混合加密的方式实现信息的机密性,解决了窃听的风险。
  • 摘要算法的方式来实现完整性,它能够为数据生成独一无二的「指纹」,指纹用于校验数据的完整性,解决了篡改的风险。
  • 将服务器公钥放入到数字证书中,解决了冒充的风险。
  1. 混合加密

通过混合加密的方式可以保证信息的机密性,解决了窃听的风险。

在这里插入图片描述

  1. 摘要算法 + 数字签名

为了保证传输的内容不被篡改,我们需要对内容计算出一个「指纹」,然后同内容一起传输给对方。

对方收到后,先是对内容也计算出一个「指纹」,然后跟发送方发送的「指纹」做一个比较,如果「指纹」相同,说明内容没有被篡改,否则就可以判断出内容被篡改了。

那么,在计算机里会用摘要算法(哈希函数)来计算出内容的哈希值,也就是内容的「指纹」,这个哈希值是唯一的,且无法通过哈希值推导出内容。

通过哈希算法可以确保内容不会被篡改,但是并不能保证「内容 + 哈希值」不会被中间人替换,因为这里缺少对客户端收到的消息是否来源于服务端的证明。

在这里插入图片描述
3. 数字证书

前面我们知道:

  • 可以通过哈希算法来保证消息的完整性;
  • 可以通过数字签名来保证消息的来源可靠性(能确认消息是由持有私钥的一方发送的);

但是这还远远不够,还缺少身份验证的环节,万一公钥是被伪造的呢?
还是拿请假的例子,虽然你爸爸持有私钥,老师通过是否能用公钥解密来确认这个请假条是不是来源你父亲的。

但是我们还可以自己伪造出一对公私钥啊!

你找了个夜晚,偷偷把老师桌面上和你爸爸配对的公钥,换成了你的公钥,那么下次你在请假的时候,你继续模仿你爸爸的字迹写了个请假条,然后用你的私钥做个了「数字签名」。

在这里插入图片描述

47. HTTPS 采用的加密方式有哪些?是对称还是非对称?

HTTPS 采用混合的加密机制,使用非对称密钥加密用于传输对称密钥来保证传输过程的安全性,之后使用对称密钥加密进行通信来保证通信过程的效率。

在这里插入图片描述

确保传输安全过程(其实就是 rsa 原理):

  1. Client 给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。
  2. Server 确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random)。
  3. Client 确认数字证书有效,然后生成了一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给 Server。
  4. Server 使用自己的私钥,获取 Client 发来的随机数(Premaster secret)。
  5. Client 和 Server 根据约定的加密方法,使用前面的三个随机数,生成 ”对话密钥”(session key),用来加密接下来的整个对话过程。

48. HTTPS 一定安全可靠吗?

这个问题的场景是这样的:客户端通过浏览器向服务端发起 HTTPS 请求时,被「假基站」转发到了一个「中间人服务器」,于是客户端是和「中间人服务器」完成了 TLS 握手,然后这个「中间人服务器」再与真正的服务端完成 TLS 握手。

在这里插入图片描述

但是要发生这种场景是有前提的,前提是用户点击接受了中间人服务器的证书。

中间人服务器与客户端在 TLS 握手过程中,实际上发送了自己伪造的证书给浏览器,而这个伪造的证书是能被浏览器(客户端)识别出是非法的,于是就会提醒用户该证书存在问题。

如果用户执意点击「继续浏览此网站」,相当于用户接受了中间人伪造的证书,那么后续整个 HTTPS 通信都能被中间人监听了。

所以,这其实并不能说 HTTPS 不够安全,毕竟浏览器都已经提示证书有问题了,如果用户坚决要访问,那不能怪 HTTPS ,得怪自己手贱。

另外,如果你的电脑中毒了,被恶意导入了中间人的根证书,那么在验证中间人的证书的时候,由于你操作系统信任了中间人的根证书,那么等同于中间人的证书是合法的,这种情况下,浏览器是不会弹出证书存在问题的风险提醒的。

这其实也不关 HTTPS 的事情,是你电脑中毒了才导致 HTTPS 数据被中间人劫持的。

所以,HTTPS 协议本身到目前为止还是没有任何漏洞的,即使你成功进行中间人攻击,本质上是利用了客户端的漏洞(用户点击继续访问或者被恶意导入伪造的根证书),并不是 HTTPS 不够安全。


http://www.ppmy.cn/news/1528304.html

相关文章

尚硅谷javaweb笔记

1、基本概念 1.1、前言 web开发: web,网页的意思,www.baidu.com 静态web html,css 提供给所有人看的数据始终不会发生变化! 动态web 淘宝,几乎是所有的网站; 提供给所有人看的数据始终会发生变化&…

Linux云计算 |【第三阶段】PROJECT1-DAY3

主要内容: Keepalived高可用、部署Ceph分布式存储 一、网站架构进阶项目案例 案例1:Keepalived高可用 延续 PROJECT1-DAY2 案例,部署两台代理服务器,实现如下效果: 1)利用keepalived实现两台代理服务器的…

李沐 过拟合和欠拟合【动手学深度学习v2】

模型容量 模型容量的影响 估计模型容量 难以在不同的种类算法之间比较,例如树模型和神经网络 给定一个模型种类,将有两个主要因素: 参数的个数参数值的选择范围 VC维 线性分类器的VC维 VC维的用处 数据复杂度 多个重要因素: 样…

技术美术百人计划 | 《5.1.1 PBR-基于物理的材质》笔记

1. PBR定义-基于物理的材质 PBR,或者用更通俗一些的称呼是指基于物理的渲染(Physically Based Rendering),它指的是一些在不同程度上都基于与现实世界的物理原理更相符的基本理论所构成的渲染技术的集合。 正因为基于物理的渲染目的便是为了使用一种更…

Great_data=>Copy_Data=>Chart_RealTime=>UI_All

Great_data import csv import os import random from datetime import datetime import logging import time # 配置日志记录 logging.basicConfig(filename=D:/Tim_Study/Case/Great_Data/log.txt, level=logging.INFO, format=%(…

WPF TextBox 控件文本水平垂直居中

WPF TextBox 控件文本水平垂直居中 水平居中 HorizontalContentAlignment"Center"垂直居中 VerticalContentAlignment"Center"

互联网应用安全

互联网应用安全 1.端口管控2.Web应用安全3.系统安全4.网络安全5.数据安全6.业务安全7.互联网DMZ区安全管控标准 1.端口管控 首先要做的就是端口管控,即在防火墙上严格限制对外开放的端口。原则上DMZ服务器只允许对外开放80、443端口,而且DMZ服务器不允许…

软件设计画图,流程图、甘特图、时间轴图、系统架构图、网络拓扑图、E-R图、思维导图

目录 一、流程图 二、甘特图 三、时间轴图 四、系统架构图 五、网络拓扑图 六、E-R图 七、思维导图 一、流程图 是一种用符号表示算法、工作流或流程的图形。用不同的图形表示不同含义,如椭圆表示开始和结束、菱形表示判断等。 画图工具WPS office 应用市场…