HTTP和HTTPS的区别

HTTP 和 HTTPS 的主要区别在于安全性,HTTPS 通过加密技术保护数据传输。涉及的核心概念包括签名证书SSL/TLS 协议对称加密非对称加密

1. HTTP 和 HTTPS 的区别

HTTP(HyperText Transfer Protocol) :是一种明文传输协议,客户端(通常是浏览器)和服务器之间的通信没有加密,数据很容易被窃取或篡改,尤其是敏感信息(如密码、个人信息等)。

HTTPS(HyperText Transfer Protocol Secure) :是在 HTTP 基础上增加了 SSL/TLS 安全层,数据在传输过程中经过加密,保证了数据的保密性、完整性和真实性。

HTTPS 的核心技术依赖于SSL/TLS协议,通过加密机制确保数据安全。

2. SSL/TLS 协议

SSL(Secure Sockets Layer):是最初为 HTTPS 提供加密的协议,目前已被升级为 TLS。

TLS(Transport Layer Security) :是 SSL 的继任者,现行标准。它为网络通信提供了加密身份验证数据完整性等安全服务。

SSL/TLS 如何工作?

1. 握手阶段

• 客户端与服务器进行握手,服务器会将它的数字证书发送给客户端。

• 客户端验证证书的真实性(是否是由可信的证书颁发机构 CA 签发,证书是否有效等)。

2. 密钥协商

• 一旦证书验证通过,客户端和服务器之间会协商一个会话密钥 ,用于接下来的数据加密传输。密钥协商采用**非对称加密(公钥&&私钥)**技术。

3. 数据传输

• 双方使用协商好的会话密钥进行通信,数据采用**对称加密(加密&&解密密钥一样)**的方式加密和解密。

3. 数字证书与签名

数字证书:HTTPS 使用数字证书来验证服务器的身份。这个证书由**证书颁发机构(CA, Certificate Authority)**签发,包含服务器的公钥和相关信息。

数字签名:证书中会有 CA 对服务器的公钥及相关信息的数字签名,保证证书的真实性和完整性。客户端通过 CA 的公钥验证这个签名,如果签名有效,则证明该证书可信。

流程:

  1. 服务器提供数字证书:证书中包含服务器的公钥。

  2. 客户端验证证书:通过 CA 的公钥验证证书是否有效。

  3. 客户端生成随机数:使用服务器的公钥加密该随机数,发送给服务器。

  4. 服务器解密:服务器用自己的私钥解密随机数,双方使用这个随机数生成的对称密钥进行数据加密。

4. 对称加密与非对称加密

对称加密

在对称加密中,加密密钥解密密钥是相同的。发送方和接收方共享同一个密钥,用这个密钥对数据进行加密和解密。

优点:加密和解密速度快,适合大数据量的加密。

缺点:需要安全地交换密钥,否则密钥泄露会导致数据被窃取。

非对称加密

非对称加密使用一对密钥------公钥私钥。公钥可以公开,私钥需要保密。

加密流程:发送方用接收方的公钥加密数据,接收方用自己的私钥解密。

优点:公钥可以公开,不用担心密钥交换的问题,安全性更高。

缺点:加密和解密速度较慢。

HTTPS 使用的加密方式:

  1. 非对称加密:用于安全地交换对称密钥。HTTPS 在握手阶段使用非对称加密(例如 RSA)来交换用于对称加密的会话密钥。

  2. 对称加密:用于实际的数据传输。一旦会话密钥建立,客户端和服务器使用对称加密(如 AES、DES)来加密通信中的数据。

5. HTTPS 数据加密流程

  1. 客户端请求 HTTPS 页面:客户端发起与服务器的 SSL/TLS 握手请求。

  2. 服务器返回数字证书:服务器向客户端发送自己的数字证书,包含服务器的公钥。

  3. 客户端验证证书:客户端使用 CA 的公钥来验证服务器证书的真实性,确保证书没有被篡改。

  4. 密钥协商:客户端生成一个随机数(会话密钥),用服务器的公钥加密后发送给服务器。

  5. 服务器解密:服务器用私钥解密获取会话密钥。

  6. 对称加密通信:客户端和服务器使用对称加密算法和会话密钥加密后续的通信数据。

总结:

HTTPS 通过使用SSL/TLS 协议 ,结合对称加密非对称加密来保障数据安全。HTTPS 在数据传输中不仅加密了通信内容,还通过数字证书和数字签名验证服务器的身份,确保通信的机密性、完整性和真实性。

相关推荐
树码小子28 分钟前
TCP核心机制:确认应答
网络·网络协议·tcp/ip
ipooipoo11883 小时前
详解动态住宅 IP 代理:核心定义、优势及典型应用场景(跨境 / 爬虫必备)
网络·爬虫·网络协议·tcp/ip
heartbeat..5 小时前
JavaWeb 入门 - HttpServletResponse 响应对象 详解
java·网络·http·web·response
摇滚侠6 小时前
HTTP 和 HTTPS 有什么区别?加密原理和证书
网络协议·http·https
墨风如雪7 小时前
手把手教你测试VPS网络质量:详解测试IP与LookingGlass用法 (以RackNerd洛杉矶DC02为例)
后端·网络协议
2501_915921437 小时前
没有 iOS 源码的前提下如何进行应用混淆,源码混淆失效后的替代
android·ios·小程序·https·uni-app·iphone·webview
不吃香菜5677 小时前
实现WebSocket实时定位的方法(物流,租车,代驾,商城)
websocket·网络协议·信息与通信
乾元8 小时前
网络切片的自动化配置与 SLA 保证——5G / 专网场景中,从“逻辑隔离”到“可验证承诺”的工程实现
运维·开发语言·网络·人工智能·网络协议·重构
阿巴~阿巴~9 小时前
TCP性能优化秘籍:延迟应答、捎带确认与粘包破解之道
运维·服务器·网络·网络协议·udp·tcp
ckjr0079 小时前
如何通过内容打造IP?
网络·网络协议·tcp/ip