HTTPS协议的原理及其与HTTP协议的区别是什么

技术HTTPS协议的原理及其与HTTP协议的区别是什么这篇文章给大家介绍HTTPS协议的原理及其与HTTP协议的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。HTTPS协议是什么https

本文介绍了HTTPS协议的原理以及HTTPS协议与HTTP协议的区别。内容非常详细。感兴趣的朋友可以参考一下,希望对你有所帮助。

HTTPS协议是什

https协议比http协议多了一个s,字面意思就是s=secure。它是一个应用层协议,就像http协议一样,它工作在TCP协议之上。

然而,https协议的数据在传输过程中是加密的。本质上,HTTPS协议是在TCP协议上增加了另一层SSL协议来实现加密操作(不准确的说,HTTPS是带SSL皮肤的HTTP协议)

00-1010

2

HTTP协议在端口80工作,HTTPS协议在端口443工作。

HTTPS需要证书(用于验证服务器的身份)

HTTP三次握手的连接建立后即可开始数据的传输;建立TCP连接后,HTTPS协议需要客户端和服务器之间进行SSL加密,确定会话密钥,加密完成后开始数据传输。

HTTPS协议传输是密文,HTTP协议传输是明文。

总的区别是以上四点。事实上,最重要的是通过用SSL协议加密会话来生成会话密钥的过程。

在了解具体的SSL协议之前,我们应该先了解两个加密概念。

00-1010

HTTPS和HTTP的区别

同一密钥可用于同时加密和解密信息。这种加密方法称为对称加密,也称为共享密钥加密。这种方法在网络传输中存在一个问题,即如何安全地将密钥传递给对方。因为http协议是明文传输(https协议是建立ssl加密时的明文传输),所以密钥很容易被截获,从而失去密钥本身的意义。

公开密钥加密

假设用户是服务器,服务器有两把钥匙,一把是私钥(只能自己静静看,可以比作一把钥匙),一把是公钥(谁都可以看,可以比作一把锁)。将服务器的公钥发送给客户端,客户端用公钥对待发送的信息进行加密后发送给服务器(用锁头将数据锁在盒子里)。因为信息是用服务器的公钥加密的,所以只有服务器可以用自己的私钥进行分析(用密钥打开锁头就可以得到信息)。由于私钥始终保存在服务器上,只有私钥才能分析公钥加密的内容,因此通过这种方法可以安全地传输数据。

但是,因为每次都必须使用私钥来分析公钥,所以可以获得数据。如果公钥很长,计算量会很大,会占用CPU性能,从而增加网络延迟。

HTTPS协议同时采用了这两种方式,即首先通过公钥加密生成会话密钥,然后利用会话密钥进行对称加密传输数据。

SSL协议

客户端向服务器发送请求包括

支持SSL协议版本的客户端生成的随机数(第一个随机数)支持的加密方法支持的压缩方法支持

服务器接收客户端请求并向客户端发送响应。

包括响应

确认协议版本服务器产生的随机数(第二个随机数)确定加密方法服务器的证书(服务器的公钥在里面)。

客户端收到请求后,会对证书进行检查(检查证书的颁发机构,证书中的域名是否与实际域名一致,证书是否过期,如果没有过期,浏览器会显示警告),如果检查通过,客户端会发送响应。

包括

客户端生成一个随机数,该随机数由服务器的公钥(第三个随机数)加密。代码更改通知(表明所有后续通信将通过双方同意的加密算法进行通信)表明客户端的握手阶段已经结束。该项目也是之前发送的所有内容的哈希值,用于服务器验证。

服务器收到最终响应后,使用服务器的私钥对客户端发送的第三个随机数进行分析,并使用与客户端约定的加密算法,由这三个随机数生成会话密钥。服务器返回响应。

代码更改通知(表示所有后续通信将通过双方同意的加密算法进行通信)服务器握手结束通知表示服务器握手阶段已经结束。该项也是之前发送的所有内容的哈希值,用于客户端验证。

整个SSL协议的加密过程大致是这样的,加密后的对话过程是明文传输的(因为HTTPS还没有建成)。

整个加密过程的核心是客户端和服务器生成的三个随机数,用于生成加密密钥,供后续数据传输使用。从上面的过程可以看出,这三个随机数都是可以被窃取的,但是由于第三个随机数是用服务器的公钥加密传输的,理论上只能用服务器的私钥来分析第三个随机数。因此,这三个随机数生成的会话私钥是安全的,后续的数据传输会用这个会话私钥进行加密(对称加密),保证了传输的安全性和高效性。

关于HTTPS协议的原理以及HTTPS协议和HTTP协议的区别,我在这里分享一下。希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/86582.html

(0)

相关推荐

  • Go语言中go build命令怎么用

    技术Go语言中go build命令怎么用这篇文章主要介绍了Go语言中go build命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。go buil

    攻略 2021年11月21日
  • 我最喜欢的一本书英语作文,我最喜欢的故事书英语范文

    技术我最喜欢的一本书英语作文,我最喜欢的故事书英语范文My Favorite Book Harry Potter Do you know Harry Potter? Its one of my favorite read

    生活 2021年10月28日
  • 原来有openwrt怎么升级固件(openwrt升级固件时间15分钟)

    技术OpenWRT如何升级固件小编给大家分享一下OpenWRT如何升级固件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! OpenWRT

    攻略 2021年12月18日
  • JavaScript history对象举例分析

    技术JavaScript history对象举例分析这篇文章主要介绍“JavaScript history对象举例分析”,在日常操作中,相信很多人在JavaScript history对象举例分析问题上存在疑惑,小编查阅

    攻略 2021年11月29日
  • python中如何使用pip安装第三方库

    技术python中如何使用pip安装第三方库本篇文章为大家展示了python中如何使用pip安装第三方库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言本文的文字及图片来源于网

    攻略 2021年11月2日
  • 人用C#开发ActiveX控件并使用web调用

    技术人用C#开发ActiveX控件并使用web调用人用C#开发ActiveX控件并使用web调用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。入职差不多两个

    攻略 2021年10月29日