计算机网络(6) --- https协议

news2024/9/27 12:11:01

计算机网络(5) --- http协议_哈里沃克的博客-CSDN博客http协议https://blog.csdn.net/m0_63488627/article/details/132089130?spm=1001.2014.3001.5501

目录

1.HTTPS的出现

1.HTTPS协议介绍

2.补充概念

1.加密

1.解释

2.原因

3.加密方式

对称加密

非对称密钥

2.数据摘要和数字签名

数据摘要

数字签名

3.加密方案

1.只使用对称密钥加密

2.只使用非对称密钥加密

只用一对密钥

用两对密钥

3.对称密钥加密和非对称密钥加密组合

4.中间人攻击

3.证书

1.证书介绍

2.理解数据签名

3.检查证书

4.解决安全问题

证书+对称加密+非对称加密


1.HTTPS的出现

http是明文发送的,也就是说其安全性难以保证。

1.HTTPS协议介绍

1.HTTPS也是⼀个应⽤层协议.是在HTTP协议的基础上引⼊了⼀个加密层ssl/tls.
2.HTTP协议内容都是按照⽂本的⽅式明⽂传输的。这就导致在传输过程中出现⼀些被篡改的情况,其端口号为443。

2.补充概念

1.加密

1.解释

1.加密就是把明⽂(要传输的信息)进⾏⼀系列变换,⽣成密⽂.
2.解密就是把密⽂再进⾏⼀系列变换,还原成明⽂
3.在这个加密和解密的过程中,往往需要⼀个或者多个中间的数据,辅助进⾏这个过程,这样的数据称为密钥
4.发送数据前要加密,这样网络上传输的都是密文,最终到达目的主机被解密就得到原始数据了

2.原因

因为http的内容是明⽂传输的,明⽂数据会经过路由器、wifi热点、通信服务运营商、代理服务器等多个物理节点,如果信息在传输过程中被劫持,传输的内容就完全暴露了。劫持者还可以篡改传输的信息且不被双⽅察觉,这就是中间⼈攻击,所以我们才需要对信息进⾏加密。

3.加密方式

对称加密

1.加密和解密使用的是同一个密钥。

2.算法公开、计算量⼩、加密速度快、加密效率⾼

3.常⻅对称加密算法(了解):DES、3DES、AES、TDEA、Blowfish、RC2等

非对称密钥

1.需要两个密钥来进⾏加密和解密。这两个密钥是公开密钥(publickey,简称公钥)和私有密钥(privatekey,简称私钥)。

2.算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,⽽使得加密解密速度没有对称加密解密的速度快

3.常⻅⾮对称加密算法(了解):RSA,DSA,ECDSA

2.数据摘要和数字签名

数据摘要

1.数字指纹(数据摘要),其基本原理是利⽤单向散列函数(Hash函数)对信息进⾏运算,⽣成⼀串固定⻓度的数字摘要。数字指纹并不是⼀种加密机制,但可以⽤来判断数据有没有被窜改,唯一性非常强。
2.摘要常⻅算法:有MD5、SHA1、SHA256、SHA512等,算法把⽆限的映射成有限,因此可能会有碰撞(两个不同的信息,算出的摘要相同,但是概率⾮常低)
3.摘要特征:和加密算法的区别是,摘要严格意义不是加密,因为没有解密,只不过从摘要很难反推原信息,通常⽤来进⾏数据对⽐

数字签名

摘要经过加密,就得到数字签名

3.加密方案

1.只使用对称密钥加密

即客户端和服务端之间只有一个密钥进行加密和解密。当浏览器访问服务端时,服务端将密钥发送给客户端,客户端就拥有了解密的能力。

但是,这样的设置是无法满足安全要求的,因为中间人劫持能直接连接两边,服务端将密钥给了中间人,中间人再给客户端,那么客户端的安全就不能保证了。

2.只使用非对称密钥加密

只用一对密钥

服务端有公钥和私钥。当浏览器请求时,服务端发送给客户端公钥,那么此时服务器将信息发送给客户端就用私钥进行加密,即保证了客户端向服务端发送的安全性;但是我们无法保证服务端发给客户端的安全性,因为每一个客户端的公钥完全一致,那么劫持服务端发给客户端的信息,中间人也能解密。

用两对密钥

服务端和客户端都有私钥和公钥。连接时,客户端发送公钥给服务端,服务端也将公钥给服务器。这样两边的数据都能被保护起来了。客户端发信息先用服务端的公钥解密再发送;服务端发送思路同理。

缺点:1.发送速度慢 2.安全问题依然无法解决

3.对称密钥加密和非对称密钥加密组合

服务端有一对密钥,客户端只有公钥。客户端发送请求,服务端发送公钥给客户端。客户端形成对称密钥,客户端拿着服务端发来的公钥加密密钥,这样到服务端能得到加密后的对称密钥。但是,安全问题依然无法解决

4.中间人攻击

只要当链接未完成建立,中间人在开始就已经进行攻击。此时对于上面的方法依然存在安全问题。中间人在中间生成两个密钥针对服务端和客户端,这样客户端的所有请求其实都能被中间人轻而易举的获取。由于它有两边的密钥,那么破解也十分容易。

其问题的最初问题其实是:服务端发送密文的公钥时,中间人有可能获取并且篡改,但是客户端无法辨别得到的公钥的真假。

3.证书

1.证书介绍

服务端在使⽤HTTPS前,需要向CA机构申领⼀份数字证书,数字证书⾥含有证书申请者信息、公钥信息等。服务器把证书传输给浏览器,浏览器从证书⾥获取公钥就⾏了,证书就如⾝份证,证明服务端公钥的权威性

1.企业将申请认证的资料提交给CA机构。信息包括:公钥和私钥,域名,申请者等。

2.审核后,将证书发送给企业。证书的信息时明文的。

3.最后,就是每次客户端访问服务端时,服务端都会发证书给客户端,客户端确认无误再进行连接。

2.理解数据签名

1.企业发送给CA机构的证书,经过哈希得到数据摘要,数据摘要又通过CA提供的私钥进行加密变成数据签名。数据签名和证书合并就是所谓的带签名的证书。

2.数据签名是为了防篡改

3.检查证书

 

 将带签名的证书分离出数据签名和证书。签名可以通过公钥得到数据摘要。证书也可以通过哈希得到数据摘要。这两份数据摘要一致则说明安全。

因为CA的私钥只有CA有,那么CA形成的数据摘要只有CA机构可以判断

4.解决安全问题

1.客户端请求服务端,服务端将证书发给客户端。

2.证书中有服务端的公钥。为了保证公钥的正确性,客户端会分离出证书和数据签名,证书直接哈希得到数据摘要,CA在浏览器中加入了公钥,该公钥用于数据签名,数据签名解码得到数据摘要,要知道CA的私钥只有CA有,也就意味着数据签名转换的数据摘要是绝对正确的,两个数据摘要一对比就能知道是否有中间人攻击了

证书+对称加密+非对称加密

1.首先客户端发送请求,服务器发送证书,客户端检查证书。此时客户端就得到了服务器的公钥

2.客户端生成了对称加密密钥,通过服务器的公钥加密给服务器。服务器的私钥只有服务器拥有,那么也就只有服务器能够解密出对称加密的密钥。最终得到了安全的要求

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

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

相关文章

黑客技术(网络安全)自学

一、黑客是什么 原是指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。但后来,黑客一词已被用于泛指那些专门利用电脑网络搞破坏或者恶作剧的家伙。 二、学习黑客技术的原因 其实,网络信息空间安全已经成为海陆空之…

Java事件监听机制

这里写目录标题 先进行专栏介绍再插一句 开始喽事件监听机制分析观察者模式观察者模式由以下几个角色组成:观察者模式的工作流程如下:观察者模式的优点包括:观察者模式适用于以下场景:总结 事件监听机制的工作流程如下&#xff1a…

智能卡通用安全检测指南 思度文库

范围 本标准规定了智能卡类产品进行安全性检测的一般性过程和方法。 本标准适用于智能卡安全性检测评估和认证。 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,…

微信小程序如何引入Iconfont

在小程序中引入 Iconfont 可以通过以下步骤进行操作: 打开 Iconfont 网站(https://www.iconfont.cn/)并登录账号,创建一个项目并添加所需的图标到项目中。 在项目中选中需要使用的图标,点击右上角的 “下载代码” 按钮…

Spring集成Seata

Seata的集成方式有: 1. Seata-All 2. Seata-Spring-Boot-Starter 3. Spring-Cloud-Starter-Seata 本案例使用Seata-All演示: 第一步:下载Seata 第二步:为了更好看到效果,我们将Seata的数据存储改为db 将seata\sc…

剑指Offer 20.表示数值的字符串

20.表示数值的字符串 题目 官方地址 代码(正则表达式) public boolean isNumeric (String str) {if (str null || str.length() 0)return false;return new String(str).matches("[-]?\\d*(\\.\\d)?([eE][-]?\\d)?"); }在给定的代码…

聊聊混合动力汽车和纯电骑车的优势和劣势

混合动力汽车和纯电动骑车是两种不同的交通工具,它们都有各自的优势和劣势。本文将分别探讨混合动力汽车和纯电动骑车的优势和劣势,并为文章提供三个备选的好听的标题。 混合动力汽车是一种结合了内燃机和电动机的汽车,它可以同时利用燃油和电…

硬核!10分钟教你搭建一个本地版GPT4.0!

今天10分钟手把手教会你在自己电脑上搭建一个官方原版的GPT4.0。 不用ChatGPT账号,不用API,直接免费使用上官方原版的GPT4.0! 对!你没看错!不仅是正版GPT4.0,还完全免费! 而且整个部署流程极其…

微信开发之自动同意入群邀请的技术实现

简要描述: 自动通过群(url) 请求URL: http://域名地址/acceptUrl 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:Authorization值(…

EdgeBox_tx1_A200 PyTorch v1.9.0 环境部署

大家好,我是虎哥,今天远程帮助几个小伙伴在A200 控制器上安装PyTorch v1.9.0 torchvision v0.10.0,中间也是经历了很多波折,当然,大部分是网络问题和版本适配问题,所以完事后,将自己完整可用的过…

38.利用matlab解 有约束无约束的参数估计对比(matlab程序)

1.简述 1.离散型随机变量的极大似然估计法: (1) 似然函数 若X为离散型, 似然函数为 (2) 求似然函数L(θ)的最大值点 θ, 则θ就是未知参数的极大似然估计值. 2.连续型随机变量的极大似然估计法: (1) 似然函数 若 X 为连续型, 似然函数为 (2) 求似然函数L(θ)的最大值点θ, 则…

webpack基础知识四:说说webpack中常见的Plugin?解决了什么问题?

一、是什么 Plugin(Plug-in)是一种计算机应用程序,它和主应用程序互相交互,以提供特定的功能 是一种遵循一定规范的应用程序接口编写出来的程序,只能运行在程序规定的系统下,因为其需要调用原纯净系统提供…

如果网站用了CDN,我怎么找到它的真实IP?

0x01 验证是否存在CDN 方法1: 很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有: http://ping.chinaz.com/ http://ping.aizhan.com/ http://ce.…

Darshan的安装与使用

下载Darshan源码 官网下载地址&#xff1a;https://www.mcs.anl.gov/research/projects/darshan/download/ 解压源码压缩包 #解压安装包 tar -xvzf darshan-<version-number>.tar.gz #生成配置文件 cd darshan-<version-number> ./prepareDarshan的源文件结构主…

Qt开发,编译报错:error: C2001: 常量中有换行符

一、问题描述 Qt开发&#xff0c;编译报错&#xff1a;error: C2001: 常量中有换行符 E:\work\xxx.cpp:1: warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 E:\work\xxx.cpp:66: error: C2001: 常量中有换行符 E…

聊聊 Docker 和 Dockerfile

目录 一、前言 二、了解Dockerfile 三、Dockerfile 指令 四、多阶段构建 五、Dockerfile 高级用法 六、小结 一、前言 对于开发人员来说&#xff0c;会Docker而不知道Dockerfile等于不会Docker&#xff0c;上一篇文章带大家学习了Docker的基本使用方法&#xff1a;《一文…

无向图-已知根节点求高度

深搜板子题&#xff0c;无向图&#xff0c;加边加两个&#xff0c;dfs输入两个参数变量&#xff0c;一个是当前深搜节点&#xff0c;另一个是父节点&#xff08;避免重复搜索父节点&#xff09;&#xff0c;恢复现场 ///首先完成数组模拟邻接表#include<iostream> #incl…

uniapp微信小程序中打开腾讯地图获取用户位置信息

实现的效果 第一步&#xff1a;首先登录微信公众平台 , 需要用到AppID 第二步&#xff1a; 注册登录腾讯位置服务 注册需要手机号和邮箱确认&#xff0c;然后创建应用 创建后点击添加key 添加后会生成key&#xff0c;后面会用到这个key 第三步&#xff1a; 登录微信公众平台&a…

升级你的GitHub终端认证方式:从密码到令牌

升级你的GitHub终端认证方式&#xff1a;从密码到令牌 前言 GitHub官方在2021年8月14日进行了一次重大改变&#xff0c;它将终端推送代码时所需的身份认证方式从密码验证升级为使用个人访问令牌&#xff08;Personal Access Token&#xff09;。这个改变引起了一些新的挑战&am…

棒球联盟对于市场发展规划·棒球1号位

棒球联盟对于市场发展规划 1. 棒球联盟市场发展背景分析 在深入探讨棒球联盟市场发展背景之前&#xff0c;我们首先要明确&#xff0c;棒球&#xff0c;作为一种全球流行的体育项目&#xff0c;其在市场上的发展具有相当悠久的历史。棒球文化的起源可以追溯到上个世纪初&#…