SSL 协议与 TLS 协议
在软件发展过程中,有很多东西一开始都只是某个技术能力突出的公司研发出来的,在被大众认可取得一定市场后有可能被官方收编,成为行业内的一种标准。SSL 最早是 netscape 公司研发的,后来被采纳成为标准后取名为 TLS。
1. 简介
SSL 是网景(netscape)公司设计的主要用于 Web 的安全传输协议,后来致力于互联网标准开发与推动的组织(IETF)认为在 SSL3.0 的基础上将该协议进行升级并标准化(RFC 2246),并命名为 TLS(Transport Layer Security)。
1.1 SSL 协议提供的服务
- 认证用户和服务器,确保数据发送到正确的客户机和服务器;
- 加密数据以防止数据中途被窃取;
- 维护数据的完整性,确保数据在传输过程中不被改变。
1.2 SSL 协议结构
2. 发展历史
3. 现状
目前大家依然比较习惯用 SSL 称呼,但是 SSL 系列的所有版本都已经弃用了。TLS 可以认为是 SSL 的后续版本,低版本的 TLS 有存在较为明显的漏洞,所以并不是选择了 Https 就是决定安全的,建议至少选择 TLS 1.2 以上版本。
近年来各个大厂都不留余力的推动 Https ,腾讯小程序更是要求全站启用 Https 。在选择了 Https 的情况下我们要明白一点,Https 与 Http 相比,需要更多的 cpu 资源去计算加密算法的。我们的架构在设计的时候我是比较建议网关对外部分用 Https 算法,站点内部的服务间通信用 Http 或 Rpc 协议。
4. 小结
TLS 是传输层与应用层之间的加密协议,对于应用层来说他是透明的,也就是不用关心他的具体实现,不管有没有 TLS 对应用层的软件来说都是一样的。多了这一层的话可能在浏览器侧察觉不到,我们在浏览器 F12 查看的接口出入参都还是铭文的,其实底层传输的过层已经是加密处理了。