当前位置: 首页 > news >正文

https的特点

https的特点

  • 优点:
  • 缺点:
  • HTTPS是如何保证安全的?

优点:

  • 使用HTTPS协议可以认证用户和服务器,确保数据发送到正确的客户端和服务器;
  • 使用HTTPS协议可以进行加密传输、身份认证,通信更加安全、防止数据在传输过程中被窃取、修改、确保数据安全性。
  • HTPPS是现在框架下最安全的接解方案,虽然不是绝对安全的,但是大幅度增加了中间人攻击的成本。

缺点:

  • HTTPS需要做服务器和客户端双方的加密和解密处理,耗费更多服务器资源,过程复杂
  • HTTPS协议握手阶段比较费事时,增加页面的加载时间;
  • SSL证书是收费的,功能越强大证书的费用越高;
  • HTTPS连接服务器资源占用高很多,支持访客稍多的网站需要投入更大的成本;
  • SSL证书需要绑定IP,不能再同一个IP上绑定多个域名。

HTTPS是如何保证安全的?

首先要了解两个概念:
对称加密:通信的双方都是用同一个密钥进行加解密,对称加密虽然很简单性能很好,但是无法解决首次把密钥发送给对方的问题,很容易被黑客拦截。
非对称加密:

  1. 私钥+公钥=密钥对
  2. 用私钥加密的数据,只有对应的公钥才能解密,用公钥加密的数据,只有对应的私钥才能解密
  3. 因为通信双方的手里都有一套自己的密钥对,通信之前双方会先把自己的公钥都先发给对方
  4. 然后对方再拿着这个公钥来加密数据响应给对方,等到了对方哪里,对方再用自己的私钥进行解密

非对称加密虽然安全性高,但是带来的问题就是速度很慢,影响性能

解决方案:
结合两种加密方式,将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接手方使用私钥进行解密得到对称加密的密钥,然后双方可以使用堆成加密来进行沟通。

现在又有一个问题,中间人问题
如果此时在客户端和服务器之间存在一个中间人,这个中间人只需要把原本双方通信互发的公钥换成自己的公钥,这样中间人就可以轻松解密同通信双方所发送的所有数据。

所以这个时候需要一个安全的第三方办法证书(CA),证明身份的身份,防止被中见人攻击 ,证书包括:签发者,证书用途,使用者公钥,使用者私钥,使用者的HASH算法,证书到期时间等。
但是问题来了,如果中间人篡改了证书,那么身份证明是不是就无效了?这个证明就白买了,这个时候需要一个新的技术,数字签名。

数字签名就是用CA自带的HASH算法对证书的内容进行HASH得到的一个摘要,再用CA的私钥加密,最终组成数字签名,当别人把他的证书发过来的时候,我在用同样的Hash算法,再次生成消息摘要,然后用CA的公钥对数字签名解密,得到CA创建的消息摘要,两者一比,就知道中间有没有被人篡改了,这个时候就能最大程度保证通信的安全。

http://www.lryc.cn/news/435653.html

相关文章:

  • 〖open-mmlab: MMDetection〗解析文件:mmdet/models/losses/cross_entropy_loss.py
  • 【PyTorch单点知识】torch.nn.Embedding模块介绍:理解词向量与实现
  • Jedis 操作 Redis 数据结构全攻略
  • ctf.show靶场ssrf攻略
  • 在 PyTorch 中,如何使用 `pack_padded_sequence` 来提高模型训练的效率?
  • Gossip协议
  • 数据结构————双向链表
  • 55 - I. 二叉树的深度
  • Redis——初识Redis
  • Xshell or Xftp提示“要继续使用此程序,您必须应用最新的更新或使用新版本”
  • table用position: sticky固定多层表头,滑动滚动条border边框透明解决方法
  • 基于飞桨paddle2.6.1+cuda11.7+paddleRS开发版的目标提取-道路数据集训练和预测代码
  • 数学建模笔记—— 整数规划和0-1规划
  • [001-03-007].第26节:分布式锁迭代3->优化基于setnx命令实现的分布式锁-防锁的误删
  • 【Unity踩坑】为什么有Rigidbody的物体运行时位置会变化
  • NGINX开启HTTP3,给web应用提个速
  • 秋招季!别浮躁!
  • Java的时间复杂度和空间复杂度和常见排序
  • Qt 学习第十天:标准对话框 页面布局
  • 体育数据API纳米足球数据API:足球数据接口文档API示例⑩
  • [数据集][目标检测]高铁受电弓检测数据集VOC+YOLO格式1245张2类别
  • Vuex:深入理解所涉及的几个问题
  • vue原理分析(六)研究new Vue()
  • 滑动窗口+动态规划
  • vscode配置django环境并创建django项目
  • WebGL系列教程四(绘制彩色三角形)
  • 通过mxGraph在ARMxy边缘计算网关上实现工业物联网
  • GEE案例:利用sentinel-1数据进行洪水监测分析(直方图统计)
  • QT 联合opencv 易错点
  • 例如/举例的使用方法 ,e.g., 以及etc的使用方法