HTTPS
JeremyJone ... 2024-6-18 大约 2 分钟
# HTTPS
# 什么是 HTTPS
HTTPS
:(Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP
通道。在 HTTP
的基础上,通过传输加密和身份认证保证了传输过程的安全性。
# HTTP 的缺陷
HTTP
存在如下问题:
- 请求信息都是明文传输,容易被嗅探
- 数据没有完整性校验,容易被篡改
针对这些问题,就有了 HTTP
+ TLS/SSL
构建的可进行加密传输、身份认证的网络协议 HTTPS
。它主要通过数字证书、加密算法、非对称秘钥等技术完成互联网数据传输加密,实现互联网传输安全保护。
# 什么是 SSL
SSL
是网景公司为了保证隐私数据的加密传输而设计开发的用于 HTTP
上的协议。它的出现,为数据传输提供了安全支持。
# HTTPS 的工作原理
客户端在使用 HTTPS
方式与服务器通信时,可以分为如下所示:
- 客户使用
HTTPS
的URL
访问服务器,要求与服务器建立SSL
连接 - 服务器收到客户端请求后,会将网站的证书信息(含公钥)传送一份给客户端
- 客户端与服务器开始协商
SSL
连接的安全等级,也就是信息加密的等级 - 客户端根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站
- 服务器利用自己的私钥解密出会话密钥
- 服务器利用会话密钥加密与客户端之间的通信
与 HTTP
不同,HTTPS
使用了 443 端口,而非 HTTP
的 80 端口。
# HTTPS 的优缺点
# 优点
- 使用
HTTPS
协议可认证用户和服务器,确保数据发送到正确的客户端和服务器 HTTPS
协议由SSL
+HTTP
构建,相比单独的HTTP
协议更加安全,可以防止数据在传输过程中被窃取、篡改,确保数据的完整性HTTPS
是现行架构下最安全的解决方案,它大幅增加的中间人攻击的成本
# 缺点
- 相同网络环境下,
HTTPS
协议会使页面加载时间延长 50%,增加 10%~20% 的耗电。此外,还会影响缓存等 HTTPS
协议的安全是有范围的,在黑客攻击、拒绝服务攻击和服务器劫持等方面几乎不起作用SSL
证书信用链体系并不安全,中间人攻击是可行的,只是成本增加- 服务器成本增加。服务器在部署了
HTTPS
协议之后,会频繁的进行加解密工作,但这些成本基本可以接受 SSL
证书通常不是免费的,而且功能越强,费用越高,这需要额外一笔开支。