HTTPS(超文本传输安全协议)工作过程

本文介绍了HTTPS协议,其基于HTTP并加入了SSL/TLS以确保安全通信。重点阐述了HTTPS与HTTP的区别,工作过程包括TCP三次握手、SSL交换、共享密钥生成等,并强调了非对称加密在其中的关键作用。
摘要由CSDN通过智能技术生成

一、简述HTTPS

HTTPS超文本传输协议(全称:Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性  。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面 。

二、HTTP和HTTPS区别

显然,HTTPS 相比 HTTP最大的不同就是多了一层 SSL (Secure Sockets Layer 安全套接层)或 TLS (Transport Layer Security 安全传输层协议)。有了这个安全层,就确保了互联网上通信双方的通信安全。 

三、工作过程

以客户端访问服务器为例:

1、TCP三次握手

2、"client hello"消息:客户端通过发送"client hello"消息向服务器发起握手请求,该消息包含了客户端所支持的 TLS 版本和密码套件,还有一个"client random"随机字符串。

3、"server hello"消息:服务器发送"server hello"消息对客户端进行回应,该消息包含了数字证书,服务器选择的密码套件和"server random"随机字符串。

证书:包含服务端的公钥、版本号以及证书的相关内容等,CA机构使用自己的私钥进行加密形成数字证书。然后服务器会把自己的公钥连同证书一起发送给客户端,私钥则由服务器自己保存以确保安全。

4、 "premaster secret"字符串:客户端向服务器发送另一个随机字符串"premaster secret (预主密钥)",这个字符串是经过服务器的公钥加密过的,只有对应的私钥才能解密。

客户端用CA公钥解密数字证书,对含有服务器公钥的摘要值进行哈希运算,将前后结果进行比对是否一样

一样则取出服务器公钥,并使用该公钥加密生成premaster secret并发送给服务器

5、服务器使用自己的私钥解密获取premaster secret

6、生成共享密钥:客户端和服务器均使用 client random,server random 和 premaster secret,并通过相同的算法生成相同的共享密钥 KEY

7、客户端就绪:客户端发送经过共享密钥 KEY加密过的"finished"信号。

8、服务器就绪:服务器发送经过共享密钥 KEY加密过的"finished"信号。

9、达成安全通信握手完成,双方使用对称加密进行安全通信。

至此双方达到稳定且安全的传输 

四、注意

1、HTTPS的核心技术为:用非对称密钥加密对称密钥的密钥,双方通过对称密钥来进行文件或数据的传输。

2、公钥加密,私钥解密————称为加密过程

      私钥加密,公钥解密 ————称为解密过程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值