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)

相关推荐

  • Linux系统移远EC20 4G模块移植的方法是怎样的

    技术Linux系统移远EC20 4G模块移植的方法是怎样的这篇文章给大家介绍Linux系统移远EC20 4G模块移植的方法是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。硬件平台:迅为i.MX

    攻略 2021年10月22日
  • 怎么搭建Mysql单机实例

    技术怎么搭建Mysql单机实例本篇内容介绍了“怎么搭建Mysql单机实例”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1

    攻略 2021年11月21日
  • 关于ccoosCreator里的物理系统

    技术关于ccoosCreator里的物理系统 关于ccoosCreator里的物理系统按理说,可以说有两个碰撞系统的
    一个是设置collision碰撞组件进行碰撞
    另一个是 设置物理引擎 getPhys

    礼包 2021年11月9日
  • 增加cacti监控对象时导致数据库出问题怎么办

    技术增加cacti监控对象时导致数据库出问题怎么办这篇文章主要介绍增加cacti监控对象时导致数据库出问题怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!生产环境:数据库:mysql 5.5.

    攻略 2021年11月23日
  • ac是直流还是交流,电流里AC和DC分别代表什么

    技术ac是直流还是交流,电流里AC和DC分别代表什么AC 是英文Alternating Current 的首字母缩写,意为:交流电流,简称交流电 或交流; DC 是英文Direct Current 的首字母缩写,意为:直

    生活 2021年10月22日
  • 低价刷粉网站推广,抖音作品怎么没有人点赞?

    技术低价刷粉网站推广,抖音作品怎么没有人点赞?低价刷粉网站推广,抖音作品怎么没有人点赞?抖音作为一个社交性很强的短作品内容平台,当然想获得抖音中心的流量分发,抖音的内容必须符合优质内容的本质。首先要明白抖音的推荐机制,有

    测评 2021年11月11日