HTTPS握手过程

HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。具体是如何进行加密,解密,验证的,且看下图,下面的称为一次握手。

1. 客户端发起HTTPS请求

2. 服务端的配置

采用HTTPS协议的服务器必须要有一套数字证书,可以是自己制作或者CA证书。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用CA证书则不会弹出提示页面。这套证书其实就是一对公钥和私钥。公钥给别人加密使用,私钥给自己解密使用。

3. 传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等。

4. 客户端解析证书

这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随即值,然后用证书对该随机值进行加密。

5. 传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6. 服务段解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过某种算法混合在一 起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7. 传输加密后的信息

这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。

8. 客户端解密信息

客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容。

PS: 整个握手过程第三方即使监听到了数据,也束手无策。

总结

为什么HTTPS是安全的?

在HTTPS握手的第四步中,如果站点的证书是不受信任的,会显示出现下面确认界面,确认了网站的真实性。另外第六和八步,使用客户端私钥加密解密,保证了数据传输的安全。

时间: 2024-10-08 02:41:29

HTTPS握手过程的相关文章

HTTP与HTTPS握手的那些事

今天我总结了什么是HTTP三次握手,还有HTTPS握手的过程以及为什么HTTPS是安全的. 前提 在讲述这两个握手时候,有一些东西需要提前说明. HTTP与TCP/IP区别? TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据.WEB使用HTTP协议作应用层协议,以封装HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上. 下面的图表试图显示不同的TCP/IP和其他的协议在最初OSI(Open System Interconne

HTTPS详解二:SSL / TLS 工作原理和详细握手过程

HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 HTTPS详解二:SSL / TLS 工作原理和详细握手过程 在上篇文章HTTPS详解一中,我已经为大家介绍了 HTTPS 的详细原理和通信流程,但总感觉少了点什么,应该是少了对安全层的针对性介绍,那么这篇文章就算是对HTTPS 详解一的补充吧.还记得这张图吧. HTTPS 和 HTTP的区别 显然,HTTPS 相比 HTTP最大的不同就是多了一层 SSL (Secure Sockets Layer 安全套接层)或 TLS (Transp

使用Wireshark查看HTTPS中TLS握手过程

通过使用Wireshark抓包分析TLS握手的过程,可以更容易理解和验证TLS协议,本文将先介绍Wireshark解密HTTPS流量的方法,然后分别验证TLS握手过程和TLS会话恢复的过程. 一.使用Wireshark解密HTTPS流量的方法 TLS对传输数据进行了加密,直接使用Wireshark查看,TSL协议之上的协议细节(应用层 HTTP)完全看不到,因此需要解密后,才能查看.解密方法如下: 1.在Wireshark官网下载系统对应的Wireshark安装包,进行安装 2.增加系统环境变量

HTTPS数据传输过程简介

HTTPS数据传输过程 ①客户端发起HTTPS连接握手 ②服务端收到HTTPS握手连接请求,与客户建立握手过程,和TCP的三次握手类似,并发送一系列的加密算法组合给客户端,与客户端协商加密算法组合 ③客户端收到这一系列的组合,从中选择一个自己能够支持的并且加密级别最高的加密算法组合,通告给服务端 ④服务端收到并确认客户端选择的加密组合,并将公钥证书发送给客户端,(这个公钥证书使用了非对称加密算法,使用这个公钥加密的信息只能由私钥解开,而这个私钥只有公钥的颁布者也就是服务端拥有,也就是说客户端用公

图解HTTPS建立过程

阅读目录 准备工作(对应图中prepare1234) 发起链接 最后 关于网络安全加密的介绍可以看之前文章: 1. 网络安全——数据的加密与签名,RSA介绍2. Base64编码.MD5.SHA1-SHA512.HMAC(SHA1-SHA512)3. When I see you again(DES.AES.RSA.Base64.MD5加密原理介绍,代码实现) HTTPS建立过程相当复杂,下图为示意图,可以有整体认识,一般我们编程知道这些已足够. 如果你想仿照HTTPS实现类似加密,可以阅读下具

Https握手协议以及证书认证

1. 什么是https Https = http + 加密 + 认证 https是对http的安全强化,在http的基础上引入了加密和认证过程.通过加密和认证构建一条安全的传输通道.所以https可以看成是:在安全通道内,对数据进行对称加密后传输.这样即使黑客打破了安全通道,还有一层数据加密.极大的保障了数据通信的安全性. 2. https的演化 我们将从http的不安全方面着手,通过三个场景的阐述,来说明https是怎么来的以及其基本原理 Round 1: 正常交流: “客户”->“服务器”:

安全与加密-SSL交互与握手过程 创建CA和证书管理

上一篇章中我们讲了使用gpg和openssl加密公钥进行安全数据通讯的场景.可是,网络中总是有不怀好意的角色存在,别以为你以公钥加密了就是安全的,有没有想过,你得到的这个公钥是不是真正要跟你通讯的服务器公钥呢?万一被伪造了?那将会如下图,黑客能打开加密的文件,而真正的ServerB却无法解开密文. 所以,就如现实生活中,大家都要确认某样东西的真实性的时候,找第三方权威机构,把各自己的信息交回权威机构进行验证后,再由权威机构公布各自需要的信息. 如下图,CA证书机构就是用来做这事的. 既然有了第三

简述TCP的三次握手过程

TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认: SYN:同步序列编号(Synchronize Sequence Numbers)第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态: 第三次握手:客户端收到服务器的SYN+AC

TCP面试题之三次握手过程

TCP简介: 1.面向连接的.可靠的.基于字节流的传输层的通信协议: 2.将应用层的数据流分割成报文段并发送给目标节点的TCP层: 3.数据包都有序号,对方收到则发送ACK确认,未收到则重传: 4.使用校验和来检验数据在传输过程中是否有误: TCP标志位(Flags): 1.URG:紧急指针标志: 2.ACK:确认序号标志: 3.PSH:push标志: 4.RST:重置连接标志: 5.SYN:同步序号,用于建立连接过程: 6.FIN:finish标志,用于释放连接: TCP三次握手过程: 1.建