问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Https原理及流程

发布网友 发布时间:2022-09-05 18:16

我来回答

2个回答

热心网友 时间:2024-11-25 02:09

原文地址
我们知道,HTTP请求都是明文传输的,所谓的明文指的是没有经过加密的信息,如果HTTP请求被黑客拦截,并且里面含有银行卡密码等敏感数据的话,会非常危险。为了解决这个问题,Netscape 公司制定了HTTPS协议,HTTPS可以将数据加密传输,也就是传输的是密文,即便黑客在传输过程中拦截到数据也无法破译,这就保证了网络通信的安全。

在正式讲解HTTPS协议之前,我们首先要知道一些密码学的知识。

明文: 明文指的是未被加密过的原始数据。
密文:明文被某种加密算法加密之后,会变成密文,从而确保原始数据的安全。密文也可以被解密,得到原始的明文。
密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥,分别应用在对称加密和非对称加密上。

对称加密:对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。对称加密的特点是算法公开、加密和解密速度快,适合于对大数据量进行加密,常见的对称加密算法有DES、3DES、TDEA、Blowfish、RC5和IDEA。
其加密过程如下:明文 + 加密算法 + 私钥 => 密文
解密过程如下: 密文 + 解密算法 + 私钥 => 明文

对称加密中用到的密钥叫做私钥,私钥表示个人私有的密钥,即该密钥不能被泄露。
其加密过程中的私钥与解密过程中用到的私钥是同一个密钥,这也是称加密之所以称之为“对称”的原因。由于对称加密的算法是公开的,所以一旦私钥被泄露,那么密文就很容易被破解,所以对称加密的缺点是密钥安全管理困难。

非对称加密:非对称加密也叫做公钥加密。非对称加密与对称加密相比,其安全性更好。对称加密的通信双方使用相同的密钥,如果一方的密钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对密钥,即公钥和私钥,且二者成对出现。私钥被自己保存,不能对外泄露。公钥指的是公共的密钥,任何人都可以获得该密钥。用公钥或私钥中的任何一个进行加密,用另一个进行解密。
被公钥加密过的密文只能被私钥解密,过程如下:
明文 + 加密算法 + 公钥 => 密文, 密文 + 解密算法 + 私钥 => 明文
被私钥加密过的密文只能被公钥解密,过程如下:
明文 + 加密算法 + 私钥 => 密文, 密文 + 解密算法 + 公钥 => 明文

由于加密和解密使用了两个不同的密钥,这就是非对称加密“非对称”的原因。
非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。
在非对称加密中使用的主要算法有:RSA、Elgamal、Rabin、D-H、ECC(椭圆曲线加密算法)等。

HTTPS协议 = HTTP协议 + SSL/TLS协议,在HTTPS数据传输的过程中,需要用SSL/TLS对数据进行加密和解密,需要用HTTP对加密后的数据进行传输,由此可以看出HTTPS是由HTTP和SSL/TLS一起合作完成的。

SSL的全称是Secure Sockets Layer,即安全套接层协议,是为网络通信提供安全及数据完整性的一种安全协议。SSL协议在1994年被Netscape发明,后来各个浏览器均支持SSL,其最新的版本是3.0

TLS的全称是Transport Layer Security,即安全传输层协议,最新版本的TLS(Transport Layer Security,传输层安全协议)是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。在TLS与SSL3.0之间存在着显著的差别,主要是它们所支持的加密算法不同,所以TLS与SSL3.0不能互操作。虽然TLS与SSL3.0在加密算法上不同,但是在我们理解HTTPS的过程中,我们可以把SSL和TLS看做是同一个协议。

HTTPS为了兼顾安全与效率,同时使用了对称加密和非对称加密。数据是被对称加密传输的,对称加密过程需要客户端的一个密钥,为了确保能把该密钥安全传输到服务器端,采用非对称加密对该密钥进行加密传输,总的来说,对数据进行对称加密,对称加密所要使用的密钥通过非对称加密传输。

以下图片来自于 limboy的博客

HTTPS在传输的过程中会涉及到三个密钥:

服务器端的公钥和私钥,用来进行非对称加密

客户端生成的随机密钥,用来进行对称加密

一个HTTPS请求实际上包含了两次HTTP传输,可以细分为8步。
1.客户端向服务器发起HTTPS请求,连接到服务器的443端口

2.服务器端有一个密钥对,即公钥和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,不能将其泄露,公钥可以发送给任何人。

3.服务器将自己的公钥发送给客户端。

4.客户端收到服务器端的证书之后,会对证书进行检查,验证其合法性,如果发现发现证书有问题,那么HTTPS传输就无法继续。严格的说,这里应该是验证服务器发送的数字证书的合法性,关于客户端如何验证数字证书的合法性,下文会进行说明。如果公钥合格,那么客户端会生成一个随机值,这个随机值就是用于进行对称加密的密钥,我们将该密钥称之为client key,即客户端密钥,这样在概念上和服务器端的密钥容易进行区分。然后用服务器的公钥对客户端密钥进行非对称加密,这样客户端密钥就变成密文了,至此,HTTPS中的第一次HTTP请求结束。

5.客户端会发起HTTPS中的第二个HTTP请求,将加密之后的客户端密钥发送给服务器。

6.服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文。

7.然后服务器将加密后的密文发送给客户端。

8.客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。这样HTTPS中的第二个HTTP请求结束,整个HTTPS传输完成。

热心网友 时间:2024-11-25 02:09

https的原理和流程如下:
客户端发送https请求:当用户在浏览器中输入一个以"https:"开头的URL时,浏览器会尝试与服务器建立安全连接。客户端(浏览器)会发送一个https请求给服务器,请求建立安全连接并获取网页内容。
服务器配置SSL/TLS:服务器需要事先配置SSL(安全套接层)或TLS(传输层安全)协议来支持https连接。这包括生成服务器的私钥和公钥,并配置相关的加密算法和证书。
服务器发送SSL证书:服务器在收到https请求后,会将自己的SSL证书发送给客户端。证书包含服务器的公钥、证书的有效期和签名等信息。
客户端验证证书:客户端收到服务器发送的证书后,会进行证书验证。首先,客户端会检查证书是否由受信任的证书颁发机构(CA)签发,以确保证书的可信性。然后,客户端会验证证书中的域名和服务器的实际域名是否匹配,以防止中间人攻击。
客户端生成随机密钥:如果证书验证通过,客户端会生成一个随机的对称密钥(也称为会话密钥),用于加密后续的通信数据。
客户端使用服务器的公钥加密会话密钥:客户端使用服务器的公钥对生成的会话密钥进行加密,然后将加密后的会话密钥发送给服务器。这样,只有服务器能够解密该会话密钥。
服务器使用私钥解密会话密钥:服务器收到客户端发送的加密会话密钥后,使用自己的私钥进行解密,获取会话密钥。
客户端和服务器建立安全通信:客户端和服务器现在都持有相同的会话密钥,它们可以使用该密钥来加密和解密后续的通信数据。这样,客户端和服务器之间的数据传输就变得安全可靠。
安全通信过程:在建立安全连接后,客户端和服务器之间的通信数据会使用会话密钥进行对称加密和解密。这使得数据在传输过程中无法被窃听和篡改。
通过使用SSL/TLS协议和SSL证书,https实现了对通信数据的加密和身份验证,确保了数据的保密性和完整性。这使得用户能够在安全的环境下进行敏感信息的传输和交流。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
mac电脑死机后重启移动硬盘读取不了移动硬盘苹果电脑不识别怎么办 苹果电脑关机后还是关不了机苹果电脑关机关不了怎么办 普通电脑安装macosx普通电脑可以安装苹果系统吗 苹果电脑启动后白屏苹果电脑启动白屏怎么回事 上高中一般多大 wr指标是什么指标 证劵图中wr是什么 鲁大师跑分90000多,玩魔兽直接卡死,请高手看看这配置还有升级的必要么... 鲁大师电脑跑分第一 论文的参考文献如何添加 从加密解密演进看 HTTPS 通信(上)——简述加密解密演进 文言文 心不在焉 的翻译 心不在焉是不是描写人物神态的词语 纳新吐故的近义词 姜枣茶什么时间喝最好冷喝还是热的喝好 King+was+shot+dead什么语法? king的过去式并造句 旧字的含义是什么? 问道乐山大佛合并在哪个区? 南京事业单位成绩什么时候出来 汤圆创作怎么更新章节 芥川龙之介经典励志名言 c语言怎样处理多组数据问题? 分母相同分子怎样分大小分母相同分子分大小方法 《一起来看流星雨》中,扮演慕容云海、云朵的老妈的人,名字叫李颖吗... 如何快速学会电脑打字? 广州市番友财务软件有限公司怎么样? 我用的是用友财务软件,期初余额录入不平衡? 金蝶k3和有友财务软件有什么不一样? 使用财务软件需要注意些什么 HTTPS 安全通信原理 全国代理记账管理系统进的时候有时间限制吗 全国代理记账机构管理系统里的注册申请地区怎么填写 代账许可证的年检在哪个网站 四年级数学教育故事 茅台酒多少钱一瓶53度500ml2013年- 问一问 学生手册考试重要吗 考哪些内容 卫校学生手册考试内容是什么 江西农业大学南昌商学院学生手册考什么 2022教师教学个人工作总结(5篇) 怎么才能看免费动画片 be based on 造句 在线急求翻译句子 日日夜夜的意思和造句 我的乐视2pro账号密码忘了怎么办,卡号也不知道啊?求各位大神求解。_百 ... 粟米百合炒西芹的做法,粟米百合炒西芹怎么做 常见的进口复合肥有哪些 挪威化肥12-11-18复合肥是什么色? 挪威诺法特乐歌好不好 网易云怎么邀请好友一起听音乐