安全套接字层(SSL)如何演变为传输层安全性(TLS)的简短历史,并简要说明该协议的工作方式。
什么是SSL?
安全套接字层(SSL)是用于对网络上的通信进行身份验证和加密的加密协议的原始名称。正式地,SSL在一段时间之前被称为TLS(传输层安全性)的更新协议所取代。
SSL至TLS时间轴
以下是SSL随时间变化的时间表:
SSL(安全套接字层)是Netscape在90年代开发的一种安全协议,用于加密和保护Internet上的通信。由于安全问题,从未发布过SSL v1.0。
Netscape在1995年发布了SSL v2.0,但它仍然存在许多缺陷。
SSL v3.0于1996年发布,解决了SSL v2.0的问题。这个版本提供了令人难以置信的改进,并永远改变了互联网的工作方式。但是,自2015年起,不赞成使用SSL 3.0和更低版本。
TLS(传输层安全性)由Internet工程任务组(IETF)开发,是对SSL的改进;TLS v1.0于1999年发布,基于SSL v3.0,在安全性方面的细微改进仍然足够显着,以至于SSL v3.0和TLS v1.0不能互操作。
TLS v1.1于七年后的2006年问世,随后不久于2008年被TLS v1.2取代。这损害了TLS v1.1的采用,因为许多网站已从TLS v1.0直接升级到TLS v1.2。11年后,我们现在使用TLS v1.3。
TLS v1.3于2018年完成,并经过了近30个IETF草案。TLS v1.3对其先前版本进行了重大改进。截至2020年3月,Microsoft,Apple,Google,Mozilla,Cloudflare和Cisco均已弃用TLS v1.0和TLSv1.1。TLSv1.2和TLS v1.3现在是唯一仍可用的SSL协议。
因此,实际上,TLS只是SSL的较新版本。但是,大多数人仍然说SSL而不是TLS。SSL和TLS具有相同的目的,可在传输过程中保护敏感信息,但实际上,加密技术已从原始SSL更改为最新的TLS v1.3。
它是如何工作的?
SSL的主要目的是在服务器和客户端这两个端点之间提供安全的传输层连接。此连接通常在网站服务器和客户端的浏览器之间,或邮件服务器和客户端的电子邮件应用程序(例如Outlook)之间。
SSL的工作原理中包含如下三个协议:
1、握手协议
握手协议是客户端和服务器用于与SSL连接通信的第一个子协议。握手协议包括客户端和服务器之间的一系列消息。SSL中最复杂的协议是握手协议。该协议允许服务器和客户端相互进行身份验证,协商加密和MAC算法,以及保密SSL密钥以保护SSL记录中发送的数据。在应用程序的数据传输之前使用握手协议。
2、记录协议
在客户端和服务器握手成功之后使用记录协议,即客户端和服务器相互认证并确定安全信息交换使用的算法,并输入SSL记录协议,该协议为SSL提供两种服务连接:
(1)保密性:使用握手协议定义的秘密密钥实现
(2)完整性:握手协议定义了MAC,用于保证消息完整性
3、警报协议
客户机和服务器发现错误时,向对方发送一个警报消息。如果是致命错误,则算法立即关闭SSL连接,双方还会先删除相关的会话号,秘密和密钥。每个警报消息共2个字节,第1个字节表示错误类型,如果是警报,则值为1,如果是致命错误,则值为2;第2个字节制定实际错误类型。
证书的工作流程
1、用户连接到你的Web站点,该Web站点受服务器证书所保护。(可由查看URL的开头是否为"https:"来进行辩识,或浏览器会提供你相关的信息)。
2、你的服务器进行响应,并自动传送你网站的数字证书给用户,用于鉴别你的网站。
3、用户的网页浏览器程序产生一把唯一的“会话钥匙码,用以跟网站之间所有的通讯过程进行加密。
4、使用者的浏览器以网站的公钥对交谈钥匙码进行加密,以便只有让你的网站得以阅读此交谈钥匙码。