问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

传输层安全协议 SSL/TLS 详细介绍

创作时间:
作者:
@小白创作中心

传输层安全协议 SSL/TLS 详细介绍

引用
CSDN
1.
https://blog.csdn.net/chenlycly/article/details/146501350

传输层安全性协议TLS及其前身安全套接层SSL是一种安全传输协议,目前TLS协议已成为互联网上保密通信的工业标准,在浏览器、邮箱、即时通信、VoIP等应用程序中得到广泛的应用。本文对SSL和TLS协议进行一个详细的介绍,以便于大家更直观的理解和认识SSL和TLS协议。

1、引言

在SSL/TLS协议出现之前,很多应用层协议都存在着网络安全问题,例如大家所熟知的HTTP协议,它在传输过程中使用的是明文信息,传输报文一旦被截获便会泄露传输内容,另外传输过程中报文如果被篡改,无法轻易发现,也无法保证消息交换的对端身份的可靠性。为了解决此类问题,人们在应用层和传输层之间加入了SSL/TLS协议。

2、SSL/TLS概述

传输层安全性协议(Transport Layer Security,缩写作TLS),及其前身安全套接层(Secure Sockets Layer,缩写作SSL)是一种安全协议。最初SSL协议是由网景公司(Netscape)开发,并集成到浏览器中,用于保护HTTP传输的安全性。IETF以SSL协议为基础,提出了一种新的协议:TLS协议,建立在SSL V3.0的基础上,已经开始在实际应用中使用。TLS协议可以说是更为安全的升级版SSL,因为历史上习惯了SSL这个称呼,所以还是会称其为SSL协议。

不使用SSL/TLS的HTTP通信,就是不加密的通信,即明文通信,信息明文传播带来了三大风险:

  • 窃听风险(eavesdropping):第三方可以获知通信内容。
  • 篡改风险(tampering):第三方可以修改通信内容。
  • 冒充风险(pretending):第三方可以冒充他人身份参与通信。

而SSL/TLS协议是为了解决这三大风险而设计的,希望达到:

  • 所有信息都是加密传播,第三方无法窃听。
  • 具有校验机制,一旦被篡改,通信双方会立刻发现。
  • 配备身份证书,防止身份被冒。

SSL/TLS位于传输层和应用层之间:

应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密并增加自己的SSL头,再交由传输层进行传输。SSL/TLS协议的作用主要有以下三点:

  • 保密(Message Privacy):通过加密实现,所有信息都加密传输,第三方无法嗅探;
  • 完整性(Message Integrity):通过MAC校验机制实现,一旦被篡改,通信双方会立刻发现;
  • 认证(Mutual Authentication):双方认证,双方都可以配备证书,防止身份被冒充。

互联网是开放环境,通信双方都是未知身份,这为协议的设计带来了很大的难度。而且,协议还必须能够经受所有匪夷所思的攻击,这使得SSL/TLS协议变得异常复杂。SSL/TLS协议采用数字证书进行双端实体认证,用非对称加密算法进行密钥协商,用对称加密算法将数据加密后进行传输以保证数据的保密性,并且通过计算数字摘要来验证数据在传输过程中是否被篡改和伪造,从而为敏感数据在Internet上的传输提供了一种安全保障手段。、

大家日常使用的https就是使用SSL/TLS加密的。

3、SSL/TLS发展历史

1994年,NetScape网景公司设计了SSL协议(Secure Sockets Layer)的1.0版,用于HTTPS的加密,这是SSL的起源。这种协议开始在Web上获得了广泛的应用。

1995年,NetScape网景公司发布SSL 2.0版,但很快发现有严重漏洞。

1996年,NetScape网景公司重新设计SSL,推出SSL3.0版,得到大规模应用。

1999年,互联网标准化组织ISOC接替NetScape网景公司,发布了SSL的升级版TLS 1.0版。

2006年和2008年,TLS(Transport Layer Security)进行了两次升级,分别为TLS 1.1版和TLS 1.2版。最新的变动是2011年TLS 1.2的修订版。目前,应用最广泛的是TLS 1.0,接下来是SSL 3.0。但是,主流浏览器都已经实现了对TLS 1.2的支持。

TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。

4、SSL详细介绍

SSL(Secure Sockets Layer,安全套接层)认证是保护网站数据安全的关键技术,网站通过部署SSL证书实现加密通信、身份验证和数据完整性。现代互联网基本都采用TLS协议,但仍常称为SSL证书。

4.1、SSL 认证

SSL认证的核心作用:

  • 数据加密:防止数据在传输过程中被窃取或篡改,保证机密性。
  • 身份验证:验证服务器身份,防止用户连接到伪造的服务器(如中间人攻击)。
  • 数据完整性:确保传输的数据未被篡改,提高数据的可信度。

4.2、SSL证书的工作原理

服务器部署SSL证书:

  • 服务器向CA(Certificate Authority,证书颁发机构)申请SSL证书。
  • CA验证服务器身份后颁发证书,包含公钥、服务器信息等。

客户端(浏览器)与服务器建立SSL/TLS连接:

  • 客户端向服务器请求安全连接(HTTPS)。
  • 服务器发送SSL证书,客户端验证证书的有效性(是否由可信CA签发、是否过期等)。
  • 若验证通过,客户端和服务器进行密钥交换,协商使用对称加密算法。
  • 之后,所有通信数据均被加密,确保安全。

4.3、SSL证书的类型

  • 域名验证(DV)证书:仅验证域名所有权,成本低,适合个人网站。
  • 企业验证(OV)证书:验证企业身份,适用于公司官网、B2B平台。
  • 扩展验证(EV)证书:最高级别的身份认证,适用于金融、电商等对安全要求高的网站。
  • 通配符(Wildcard)证书:可用于多个子域名(如*.example.com)。
  • 多域名(SAN)证书:支持多个不同的域名绑定在同一证书上。

4.4、常见的SSL证书提供商

  • DigiCert
  • GlobalSign
  • Sectigo(原Comodo)
  • Let’s Encrypt(免费证书)
  • GeoTrust

4.5、如何检查网站是否使用SSL认证?

  • 看浏览器地址栏是否以https://开头。
  • 查看浏览器的🔒锁🔒图标,点击可查看证书详情。
  • 使用 openssl 命令检查:openssl s_client -connect example.com:443

5、TLS详细介绍

TLS(Transport Layer Security,传输层安全协议)是 SSL(Secure Sockets Layer,安全套接层)的升级版本,用于在网络通信中提供加密、数据完整性和身份验证。TLS 目前是互联网安全通信的主流标准,广泛应用于 HTTPS、邮件传输、VPN、VoIP 等场景。

5.1、TLS的主要作用

  • 加密数据:防止数据在传输过程中被窃取或篡改,保障通信的机密性。
  • 身份认证:使用 数字证书(如 SSL 证书)验证服务器(或客户端)的真实性,防止中间人攻击。
  • 数据完整性:使用消息认证码(MAC)确保数据在传输过程中没有被篡改。

5.2、TLS的工作流程

TLS 建立安全连接的过程称为 TLS握手(TLS Handshake),通常包括以下步骤:

1)客户端向服务器发送“Hello”

客户端(如浏览器)发送 ClientHello,包含支持的 TLS 版本、加密算法(Cipher Suites) 和 随机数(Client Random)。

2)服务器回应“Hello”

服务器返回 ServerHello,选择加密算法,并发送数字证书(SSL 证书),其中包含服务器的公钥和身份信息。

3)证书验证

客户端验证证书是否由受信任的CA(证书颁发机构)签发,是否过期,是否匹配访问的域名。

如果证书无效,连接可能会被阻止(浏览器会显示“不安全”警告)。

4)密钥交换

客户端生成会话密钥(Session Key),并使用服务器的公钥加密发送给服务器(或使用 DH/ECDH 进行密钥协商)。

服务器使用私钥解密,获得相同的会话密钥。

5)生成会话密钥,开始安全通信

客户端和服务器使用商定的对称加密算法(如 AES)进行数据加密,后续通信使用该会话密钥加密数据。

5.3、TLS版本

版本
发布时间
主要特点
TLS 1.0
1999
最早的 TLS 版本,已被弃用。
TLS 1.1
2006
增加对 CBC(Cipher Block Chaining)模式的安全改进,已弃用。
TLS 1.2
2008
目前广泛使用的版本,支持更强的加密算法(AES-GCM),引入 HMAC 进行消息认证。
TLS 1.3
2018
最新版本,优化握手流程(减少 1 个 RTT),去除了不安全的算法(如 RSA 密钥交换)。

TLS 1.3 是当前最安全、性能最优的版本,推荐使用!

5.4、TLS和SSL的比较

对比
SSL
TLS
安全性
存在较多漏洞(如 POODLE)
更安全,移除不安全算法
速度
握手过程较慢
TLS 1.3 速度更快(减少 RTT)
版本
最高为 SSL 3.0(已弃用)
最新版为 TLS 1.3
加密算法
支持较旧的加密算法
仅支持强加密(如 AES-GCM、ChaCha20)

TLS 1.0 和 1.1 已被废弃,TLS 1.2 和 TLS 1.3 是当前主流标准!

5.5、TLS应用场景

  • HTTPS(安全网页通信):如 https://example.com
  • VPN(虚拟专用网络):如 OpenVPN
  • 电子邮件:如 SMTPS、IMAPS、POP3S
  • VoIP(网络电话):如 SIP over TLS
  • 消息传输:如 MQTT over TLS

5.6、如何检查TLS版本?

1)使用 OpenSSL

openssl s_client -connect example.com:443 -tls1_3  

如果服务器支持 TLS 1.3,会成功建立连接,否则会失败。

2)使用浏览器

在 Chrome/Firefox 中,访问 https://example.com

点击🔒锁图标 > 查看证书 > 检查TLS 版本

6、最后

TLS 是 SSL 的升级版,比 SSL 更安全、更高效,目前广泛用于 HTTPS 和其他加密通信。TLS 1.2 和 TLS 1.3 是当前主流标准,TLS 1.3 具有更快的握手速度和更强的安全性。检查网站是否支持 TLS,可以使用 openssl 或浏览器查看证书。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号