我们生活在一个互联网社会,每天产生着各种数据,除了人类,也有很多机器使用物联网并经互联网传输着各种数据,这些数据在互联网的每个联网设备上进行通信,显然,我们已经和机器一样成为整个互联网的一个节点,将来还有可能在我们的身体内植入可编程芯片,进一步的融入到互联网当中,可以想象,这么多的数据在互联网上传输,如果没有一个安全机制来保障的话,则后果不可想象,小到个人隐私泄露,造成个人财产或声誉的损失,大到国家机密泄露,造成国家危机。
那么我们是如何保障这些数据安全的传输的呢,那就是依赖安全套接字层SSL和传输层安全协议TLS来保护。为了仔细研究这个问题,于是我想通过一个系列来探究关于SSL/TLS和PKI相关的内容,首先系列一我们先聊聊历史。
我们期望在我们的服务器上开通一个服务端口,并打开通信链路连接到互联网上,希望与远在互联网另一端的正确的服务器服务端口之间进行数据交换,且整个过程数据都是加密的,即使被第三方截获也无需担忧,因为他们拿到的是加密的数据,无法解密获得真实数据,而这种真实数据只有发送端和接收端的服务器服务所知晓。但在互联网创立的时候,核心是建立在IP和TCP协议之上的,IP/TCP协议是运行在OSI网络模型的网络层和传输层上,遗憾的是这些协议本身是没有安全保障的,任何人都可以截获其中的数据,因此若要使得OSI模型中的应用层服务获得安全保护,就需要在表示层中加入SSL/TLS的加密机制。
层级 | OSI层 | 描述 | 相关协议 |
---|---|---|---|
7 | 应用层 | 应用系统服务 | HTTP, SMTP |
6 | 表示层 | 数据表示,转换及加密 | SSL/TLS |
5 | 会话层 | 连接会话管理 | - |
4 | 传输层 | 数据包的可靠不可靠传输 | TCP,UDP |
3 | 网络层 | 网络节点之间的路由和数据分发 | IP,IPSec |
2 | 数据链路层 | 可靠的局域网数据连接 | 以太网 |
1 | 物理层 | 物理电缆连接 | CAT5 |
回顾一下SSL/TLS的历史,SSL协议由Netscape开发,1.0版从未发布,2.0版用于首次部署是在Netscape Navigator 1.1浏览器上,发行于1995年3月,3.0版发行于1995年底,后来,1996年5月TLS工作组成立,SSL开始从Netscape迁移至IETF,最终在1999年1月形成了TLS1.0版,中间经过漫长的时间,直到2006年4月,TLS1.1才发布,2008年8月TLS1.2发布,2018年8月TLS1.3发布,该版本是截止到目前的最新版本。