SSL/TLS是什么

TLS(Transport Layer Security) 传输层安全性协议
SSL(Secure Socket Layer) 安全套接层

3W1H:what、why、how、where

概念

TLS,及其前身SSL,是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。

SSL由Netscape Communications Corporation于1994年开发,用于保护万维网上的交易安全。
不久之后,IETF开始开发标准协议,以提供相同的功能。SSL 3.0被用作这项工作的基础,称为传输层安全协议(TLS)。实际二者还有一定的区别。

TLS

工作层次在应用层和运输层之间,所以可以支持多个应用层协议。

在RFC4346,TLS 在实现上分为:下是记录层 和 上是握手层 两层,其中握手层又含四个子协议: 握手协议 (handshake protocol)、更改加密规范协议 (change cipher spec protocol)、应用数据协议 (application data protocol) 和警告协议 (alert protocol)。

为什么用TLS

目的是在两个或多个通信计算机应用程序之间提供机密性、认证、数据完整性、前向安全性等安全特性,防止通信被窃听和篡改。

TLS协议的目标是为信息传输提供三个基本的保证:加密、身份验证和数据完整性。

TLS原理

TLS作为安全通信协议,每一个设计细节都围绕安全与性能量大核心展开。

SSL/TLS实现依赖三类基本算法:散列函数hash、对称加密和非对称加密,利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。

  • 对称加密: 加密和解密的秘钥使用的是同一个,加密最快。
  • 非对称加密: 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
  • 散列函数:md5sum和sha1sum。
1b3f218ca7c94dcabf579f36b53a8643.png

TLS 的基本工作方式是,客户端使用非对称加密与服务器进行通信,实现身份验证并协商对称加密使用的密钥,然后对称加密算法采用协商密钥对信息以及信息摘要进行加密通信,不同的节点之间采用的对称密钥不同,从而可以保证信息只能通信双方获取。

例如,在 HTTPS 协议中,客户端发出请求,服务端会将公钥发给客户端,客户端验证过后生成一个密钥再用公钥加密后发送给服务端(非对称加密),双方会在 TLS 握手过程中生成一个协商密钥(对称密钥),成功后建立加密连接。通信过程中客户端将请求数据用协商密钥加密后发送,服务端也用协商密钥解密,响应也用相同的协商密钥。后续的通信使用对称加密是因为对称加解密快,而握手过程中非对称加密可以保证加密的有效性,但是过程复杂,计算量相对来说也大。

TLS应用场景

SSL/TLS应用最多的场景是与HTTP结合组成HTTPS,除此之外,还可以保护SMTPs和POP3s等。

Reference

[1] SSL(Secure Sockets Layer)安全套接层)
[2] https://blog.csdn.net/summer_fish/article/details/125279853

你可能感兴趣的:(SSL/TLS是什么)