- 2019/02/03, Let's Encrypt
- 2021/01/08, 了解 HTTPS 背后的原理
- 2021/11/22, HTTPS 的资源消耗
- 2022/09/04, HSTS: HTTP Strict Transport Security
- 2022/11/11, HTTPS 知识点
- 2023/12/10, OpenSSL 检查 HTTPS 和 SMTP (STARTTLS) 连接
HTTPS = HTTP + TLS
原来是 TCP -> HTTP
现在是 TCP -> TLS -> HTTP
提升了安全性的同时,降低了一些性能。
更重要的是,互联网基础设施层面开始淘汰 HTTP:
- 包括谷歌在内的浏览器厂商将使用 HTTP 访问的网站标记为不安全网站,Google 还会降低 HTTP 网站的排名。
- 其他平台,比如苹果 App Store,微信小程序等,都要求使用 HTTPS 协议。
1、怎么提升安全性
- 加密数据传输: TLS 数据加密,难以被窃听和解密。即使攻击者能够截获传输的数据包,他们也不能轻易读取其中的内容。
- 身份验证: 受信任的第三方机构颁发的 TLS 证书,可以用来验证服务器身份。
- 完整性验证: 使用消息摘要算法(如 SHA-256)来验证数据的完整性,防止数据被篡改(中间人攻击)。
2、降低了多少性能
相关通信过程在 2021/01/08,了解 HTTPS 背后的原理 有描述。
损耗主要在哪些环节呢?
- 握手
- 加密、解密
- 数据传输(加密之后数据增大)
- 证书验证 - 优化:浏览器缓存证书
3、如何优化
参考 HTTPS 的资源消耗,针对消耗点进行优化。
4、工具
- Qualys SSL Server Test:https://www.ssllabs.com/ssltest/index.html
5、清单
在 2012 年的 RFC 6797 中,HTTP 严格传输安全被定义为网络安全标准。 创建这个标准的主要目的,是为了。
- 证书
- OCSP(在线证书状态协议):检查证书有效期,确保没有被吊销
- TLS 协议版本
- 加密套件
-
HSTS(HTTP 严格传输安全)
RFC 6797。
作用是避免用户遭受使用 SSL stripping(剥离,HTTP 降级攻击) 的 中间人攻击(man-in-The-middle,MITM)
add_header Strict-Transport-Security "max-age=31536000";
-
HTTP/2 支持
- Apple ATS(App Transport Security)
> 苹果 ATS 证书的选择及配置:
> 自 2017 年 01 月 01 日起,根据苹果公司要求,所有 iOS 应用必须使用 ATS(App Transport Security),即 iOS 应用内的连接必须使用安全的 HTTPS 连接。