应用层协议-HTTPS协议

news2024/11/15 6:52:51

应用层协议-HTTPS协议

一.概述

HTTP协议:初衷未考虑到安全性

HTTPS是在HTTP的基础上对应用层数据进行加密操作,HTTPS=HTTP+SSL/TLS

HTTPS (全称:Hypertext Transfer Protocol Secure [5]),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。

默认端口是443

二.HTTPS的由来

HTTP没有考虑安全性,很容易被黑客植入木马程序,导致用户浏览网站时能看到一些广告

急需一种能对应用层加密的技术,目前几乎所有的大厂全部换成了HTTPS协议

三.加解密技术
  • 对称加密
对称加密:DES,3DES,AES,国密SM1(国家密码局制定的国家密码算法)
特点:加密密钥与解密的密钥是同一个
优点:加解密速度快
缺点:密码传输不安全

image-20240319214713806

  • 非对称加密
非对称加密:RSA,DSA,ECC,国密SM2
特点:加密密钥和解密密钥不是一个密钥,而是一对密钥,称为公钥和私钥,公钥是公开,私钥不能公开
用法:1.公钥加密,只能由私钥解密(加密数据)  2.私钥加密,公钥解密(验证数据)
优点:密钥传输相对安全,只要私钥保存好即可
缺点:加解密速度慢

image-20240319214801314

  • 摘要算法(数字签名)
摘要算法:hash,sha,MD5
特点:原文经过加密后,无法逆推
摘要算法不是对数据进行加密,而是验证数据不被篡改

image-20240319214901616

四.数字证书
  • 网页如何查看数字证书

image-20240319215003281

  • 数字证书的内容及作用

网站服务器用来验证网站是不是真的网站而不是冒牌网站,向浏览器传递公钥

image-20240319215032176

五.HTTP为什么不安全

网络中会有大量的不明路由器,无法保证这些路由器是安全的,很容易遭受黑客攻击,然后劫持,用户与服务器之间的数据传递经过该路由器,容易被黑客利用

image-20240319215245439

要保证通信安全需要解决三个问题:窃取风险,篡改风险,冒充风险

1.窃听风险

客户端与服务器相互发送消息容易被黑客抓取到,看到内容就是窃听

要解决窃听风险,可以对原文进行加密

要加密可以使用对称加密和非对称加密,摘要算法不适用加密数据,先看非对称加密

如果使用非对称加密,在第四段很可能会被黑客拦截并使用公钥解密原文出来,所以这种方式不适合

image-20240319215452850

如果使用对称加密算法,传输对称密码的过程就不安全,导致黑客拿到对称密钥,后续所有的加密形同虚设

image-20240319215527696

因此,把对称加密+非对称加密组合一起使用,对称密钥作为非对称加密的原文进行加密,发送给对方,后续全部使用对称密钥对消息进行加密

image-20240319215644371

2.篡改风险

摘要算法解决是否被篡改风险

image-20240319215733725

3.冒充风险

使用数字证书证明访问的网站是正牌网站,不是黑客冒充的网站

image-20240319215751857

  • 验证数字证书的内容

image-20240319215810398

总结:
	对称加密+非对称加密解决窃听风险
	摘要算法解决篡改风险
	数字证书解决冒充风险
	就能保证传输的相对安全性  
六.TLS和SSL

SSL和TLS是一个东西,只是在历史的发展中,改了名字

1 SSL和TLS发展史

image-20240319215908766

2 TLS加密所属的层次

image-20240515160119203

3 TLS握手机制

image-20240903171509817

image-20240903171727177

image-20240903173859765

image-20240903173943006

image-20240903174008738

image-20240903174041395

image-20240903174113602

image-20240903174136778

image-20240903174326356

image-20240903174405217

image-20240903174424488

image-20240903174452468

在证书交换过程中为了保证证书不被篡改,会对证书使用摘要算法,客户端发送迪菲赫尔曼参数A是,使用了证书中携带的公钥进行加密,也就是说前面是明文传输,迪菲赫尔曼参数A使用了非对称加密,后续消息使用了对称加密,对称密钥没有直接传输而是间接通过算法算出来了,DH 算法在数学上保证的,保证了安全性

七.迪菲赫尔曼密钥交换算法

迪菲-赫尔曼密钥交换(英语:Diffie–Hellman key exchange,缩写为D-H) 是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。公钥交换的概念最早由瑞夫·墨克(Ralph C. Merkle)提出,而这个密钥交换方法,由惠特菲尔德·迪菲(Bailey Whitfield Diffie)和马丁·赫尔曼(Martin Edward Hellman)在1976年首次发表。马丁·赫尔曼曾主张这个密钥交换方法,应被称为迪菲-赫尔曼-墨克密钥交换(英语:Diffie–Hellman–Merkle key exchange)。

以Diffie-Hellman(DH)密钥交换算法来说明,流程如下:

  1. 双方协商并公开一个质数 p 和一个原根 g。
  2. 双方各自选择一个私钥 a 和 b,计算出公钥 A = g^a mod p 和 B = g^b mod p,并将公钥发送给对方。
  3. 双方根据对方发送的公钥计算出共享密钥:

- A方:S = B^a mod p
- B方:S = A^b mod p

  1. 双方都能够得到相同的共享密钥 S,用于后续通信中的加密和解密。

DH算法的优点:

  1. 通信双方不需要共享密钥,密钥不会通过网络传输
  2. 攻击者可以通过监视网络传输,得到算法参数(p,g)以及双方的公钥,但是【无法】推算出双方的私钥,也【无法】推算出会话密钥(这是由 DH 算法在数学上保证的)

image-20231226181530917

image-20240515171854581

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2119129.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用于客户支持的 GenAI:探索 Elastic Support Assistant

作者:Chris Blaisure, Cory Mangini 我们很高兴地宣布推出 Elastic 的支持助手。本博客将带你了解我们最新的生成式 AI 工具以及它可以帮助你使用 Elastic 技术的一些常见场景。 Elastic 支持助手现已在 Support Hub 上可用 今天,我们宣布 Elastic 支持…

vue3的el-tree的default-checked-keys无法勾选的问题解决

前言:有些树形控件是需要默认勾选的 但是请求后渲染不显示 刷新外部的key值也没有用 看了一下文档 我们使用自带的方法来解决 <el-treenode-key"id":data"state.parentMenuList":default-checked-keys"state.checkIdList":check-on-click-n…

VBA高级应用30例应用3ListObject对象:循环列出当前工作表中的表

《VBA高级应用30例》&#xff08;版权10178985&#xff09;&#xff0c;是我推出的第十套教程&#xff0c;教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开&#xff0c;这套教程案例与理论结合&#xff0c;紧贴“实战”&#xff0c;并做“战术总结”&#xff0c;以…

266-基于Xilinx Kintex-7 XC7K325T 的12路光纤Switch交换平台

一、板卡概述 该系统是由两块模块组成&#xff0c;分别是基于Xilinx公司的FPGAXC7K325T-2FFG900 芯片&#xff0c;pin_to_pin兼容FPGAXC7K410T-2FFG900 的模块和一个FPGA夹层卡&#xff08;FMC&#xff09;模块。前者支持64bit DDR3容量2GByte&#xff0c;USB3.0接口;HPC的FMC连…

reactwebpack老项目开发环境增加vite

在开发环境下&#xff0c;vite的启动时间远远高于webpack&#xff0c;特别是首次启动&#xff0c;做到了真正的按需加载&#xff0c;开发体验好于webpack&#xff1b; 目的&#xff1a;开发环境加入vite,生产环境不变react项目切webpack&#xff08;开发环境增加vite&#xff0…

一篇文章教你如何设计权限控制系统——RBAC模型详解

原文链接&#xff0c;关注获取更多技术文章&#xff01; 在信息技术飞速发展的今天&#xff0c;数据安全和系统访问控制成为了保护企业资产的关键。基于角色的访问控制&#xff08;RBAC&#xff0c;Role-Based Access Control&#xff09;模型作为一种有效的权限管理策略&…

【C++ Primer Plus习题】14.1

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream> #include "wine.h" …

自适应中值滤波器:图像去噪的高效解决方案

在数字图像处理中&#xff0c;椒盐噪声是常见的干扰之一&#xff0c;它会导致图像出现随机的黑点和白点&#xff0c;严重影响图像质量。传统的中值滤波器虽然在一定程度上能够去除这种噪声&#xff0c;但可能无法完全恢复图像的细节。为此&#xff0c;本文将介绍一种自适应中值…

81.C语言中的内存分布

目录 一.内存分布 二.视频教程 一.内存分布 代码段&#xff1a;通常是指用来存放程序执行代码的一块内存区域。通常为只读。 只读数据段&#xff1a;如字符串&#xff0c;数字等。 初始化数据段:已初始化的全局变量&#xff0c;已初始化的静态变量。 未初始化数据段&#x…

心觉:做一件事很纠结,怎么办?

Hi&#xff0c;我是心觉&#xff0c;与你一起玩转潜意识、脑波音乐和吸引力法则&#xff0c;轻松掌控自己的人生&#xff01; 挑战每日一省写作164/1000天 专心做一件事情并不容易 因为这个世界物质太丰富了&#xff0c;可以选择的事情太多了 诱惑无处不在&#xff0c;定力…

C语言——在有序数组中插入一个新的元素,且数组的排列不变

在插入新元素时&#xff0c;数组需要多一个空间&#xff0c;所以在 malloc 时分配 len 1 的空间。 #include <stdio.h> #include <stdlib.h> void insert_arry(int *arr, int len,int target) { int index; for (int i 0; i < len; i) { …

论文风向变了!迁移学习+多模态融合才是王道!性能爆炸好

多模态如今是越来越火了&#xff0c;与之相关的研究方向在各大顶会基本都成了投稿热门&#xff0c;趁着这波风向&#xff0c;我也给想发论文但找不着idea的同学推荐一个创新思路&#xff1a;迁移学习多模态融合。 这种结合可以轻松搞定提高性能这一核心问题&#xff0c;通过将…

VulnHub DC-1-DC-7靶机WP

VulnHub DC系列靶机&#xff1a;https://vulnhub.com/series/dc,199/ # VulnHub DC-1 nmap开路获取信息 Nmap scan report for 192.168.106.133 Host is up (0.00017s latency). Not shown: 997 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 1…

python如何加速计算密集型任务?

问题描述&#xff1a; 在python中&#xff0c;有一个函数&#xff0c;其功能是进行某种计算&#xff0c;需要传入一些参数&#xff0c;计算完成后传回结果&#xff0c;调用其一次大概要1s的时间&#xff0c;现在需要通过for循环调用其350次&#xff0c;保存每次调用结果&#…

自动化测试面试题(含答案)

1、你会封装自动化测试框架吗&#xff1f; 自动化框架主要的核心框架就是分层PO模式&#xff1a;分别为&#xff1a;基础封装层BasePage&#xff0c;PO页面对象层&#xff0c;TestCase测试用例层。然后再加上日志处理模块&#xff0c;ini配置文件读取模块&#xff0c;unittest…

SprinBoot+Vue校园部门资料管理系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平台Java领域优质…

高反差保留DetailTransfer测评

inpainting中的生成链路优化. ComfyUI中IC-Light节点的Detail Transfer节点参数测试_iclight detailtransfer-CSDN博客文章浏览阅读1k次,点赞16次,收藏23次。ic-light是一个能重绘画面光影的节点,但是在重绘的过程中,难免会将图像本身的细节进行重绘,尤其是在电商的场景中…

Python自动化测试学习-PO设计模式

PO模式&#xff1a;Page Object&#xff0c;是一种页面对象设计模式&#xff0c;算是一种比较好的设计模式。在该设计模式中&#xff0c;功能类&#xff08;PageObjects&#xff09;所代表的是每个页面之间的逻辑关系。 PO设计模式 一、PO设计模式的优点 PO模式有以下优点&a…

【Python报错已解决】No Python at ‘C:Users…Python Python39python.exe’

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一&#xff1a;检查Python安装路径2.2 …

Linux网络编程---传输层

一、重谈端口号 1、在 TCP/IP 协议中 , 用 " 源 IP", " 源端口号 ", " 目的 IP", " 目的端口号 ", " 协议号 " 这样一个五元组来标识一个通信 ( 可以通过netstat -n查看 ); 2、端口号的划分 0 - 1023: 知名端口号 , HTTP…