什么是TLS(详解传输层安全性协议)
TLS代表传输层安全性。英语全称TransportLayerSecurity。它是一种加密协议,用于保护通过网络发送的数据,如互联网流量。一般用例包括保护电子邮件、VoIP、在线交易、文件传输和即时
定义: TLS代表传输层安全性。英语全称TransportLayerSecurity。它是一种加密协议,用于保护通过网络发送的数据,如互联网流量。一般用例包括保护电子邮件、VoIP、在线交易、文件传输和即时消息。TLS旨在防止数据被窃听或篡改。它保护私人通信和敏感信息的完整性,包括浏览习惯、个人通信、在线聊天、电话会议、密码、帐号和其他财务数据以及社会安全号码。 TLS保护数据的传输和交付。它不保护端点上的数据,也不加密数据。它是用于HTTPS连接的安全协议,而不是用于不安全的HTTP连接。 历史记录和版本控制 TLS是安全套接字层(SSL)协议的后继者。网景最初于1994年开发了SSL,以保护其浏览器,网景导航器。SSL的最后一个版本是SSL3.0。TLS的第一个版本于1999年发布,基于SSL3.0。 术语SSL和TLS通常可互换使用。这是因为TLS的第一个版本1.0最初是作为SSL版本3.1开发的。这意味着,除非另有明确说明,否则今天作为SSL证书销售的产品通常使用TLS协议。术语SSL仍在使用,因为人们更熟悉它。术语SSL/TLS通常用于描述协议。 TLS的最新版本是TLS1.3,由互联网工程任务组(IETF)于2018年发布。IETF是一个国际标准组织,最初负责协调新协议的开发。SSL3.0于2015年正式弃用。但是,TLS为某些使用SSL的旧设备提供向后兼容性。 苹果,微软和谷歌将在2020年停止支持TLS1.0和TLS1.1。这部分是因为这些TLS版本使用过时的技术,包括SHA-1和MD5等算法。最初,使用旧TLS版本的网站将显示一条错误消息。最终,所有使用已弃用的TLS版本访问网站都将被阻止。 当今的大多数Web应用程序都使用TLS1.2。采用TLS系统标识1.3预计需要时间。谷歌估计,只有不到百分之一的网站依赖于TLS1.0或1.1。对于与TLS技术不兼容的旧版应用程序,有一些解决方法,例如LS_FALLBACK_SCSV扩展。 TLS系统功能 TLS有三个主要功能和一个事实上的功能: TLS用途 例如,TLS用于保护应用程序层协议,例如FTP、HTTP和SMTP。这些协议提供了用于在互联网上进行通信的大多数功能,例如发送电子邮件,聊天或下载数据。 TLS支持对数字身份进行身份验证。典型的企业用例包括单点登录(SSO)、IoT网络中设备的验证、数字签名文档、用于保护敏感业务信息的电子邮件加密以及网络访问身份验证。 为什么使用它 TLS加密有助于保护互联网应用程序免受网络攻击和数据泄露。该协议是大多数流行浏览器的安全连接标准。谷歌浏览器最近开始警告访问HTTP页面的用户这些页面不安全。对于企业来说,人们担心这可能会导致客户信任度降低。因此,谷歌,苹果和微软鼓励使用至少TLS1.2。 TLS1.0和1.1容易受到犯罪、野兽、怪胎、日志和贵宾犬的攻击,但TLS1.2和TLS1.3在数据传输期间提供了增强的保护。此外,支付卡行业数据安全标准(PCI-DSS)至少要求TLS1.2合规性。 TLS1.2和1.3支持最新的密码套件和算法,并删除了不安全的哈希函数,例如SHA-1和MD5。 它是如何工作的? TLS握手将启动TLS会话。它不是安全会话事件本身。TLS握手不会加密数据,但会确定加密方法。数据加密在会话中进行,使用TLS握手期间生成的共享密钥。 TLS握手从TLS版本的协商和选择适当的密码套件开始。密码套件是算法的组合。每种算法都有一个任务,例如,加密、身份验证和密钥交换。服务器选择将预先使用的密钥交换算法。 握手使用非对称加密来启动连接。这种加密方法在资源方面有一些开销。公钥用于加密,私钥用于解密。在TLS中,密钥对用于创建共享密钥,有时称为共享密钥、预主密钥或主密钥。成功完成握手后,会话将使用共享密钥或会话密钥来加密客户端和服务器之间进一步消息中的数据。然后,会话使用对称加密。这比非对称加密的开销低得多,并且效率更高。 SSL/TLS握手包含以下消息和步骤:客户端外壳、服务器外壳、证书(可选)、服务器密钥交换、服务器黑色电话、客户端密钥交换、更改密码规范、更改密码规范和已完成。在TLS1.3之前,握手如下所示。 客户端向服务器发送所有可用TLS版本的列表。首选版本是最新版本。客户端还会发送建议的密码套件列表。客户端生成一个随机数,供以后使用。客户端还会检查这是否是恢复会话。服务器确认哪些选项对于连接是可接受的。它还会生成一个随机数,供以后使用。服务器发送签名的数字证书以向客户端验证自身。其公钥嵌入在证书中。创建TLS连接时,客户端会检查是否已由受信任的CA签名的有效证书。自签名证书或证书无效将引发警告消息。服务器发送一条消息,指出它已完成。客户端创建预主密钥并将其发送到服务器。预主服务器使用服务器的公钥进行加密。此密钥是从服务器以前提供的证书中提取的。由于这是非对称加密,因此只有服务器可以解密邮件。服务器收到预主密钥后,将使用其私钥对其进行解密。这个过程肯定了双方就是他们所说的那个人。服务器收到预主密钥后,服务器和客户端都会使用以前生成的随机数和预主密钥计算主密钥。客户端将其计算的主密钥发送到服务器。客户端同意从现在开始使用主密钥。它将加密方法更改为对称。客户端发送一条消息,指出它已完成。服务器验证其计算的主密钥是否与客户端的主密钥相同。服务器同意从现在开始使用主密钥。它将加密方法更改为对称。来自服务器的最终“已完成”消息是使用共享机密传输的第一封加密消息。共享密钥(即会话密钥)也用于消息身份验证代码(MAC)算法中,以验证消息是否未被更改。 从TLS1.3开始,该协议更有效。客户端猜测连接的最佳加密协议,并在发送到服务器的第一条消息中共享其密钥。TLS1.3使用椭圆曲线迪菲-赫尔曼(ECDH)协议。ECDH是一种密钥协议协议,它使客户端和服务器能够共享密钥或通过不安全的通道创建新的密钥。 TLS系统标识1.3的优点 引入TLS1.3是为了减少使用不安全的技术,如过时的算法,实现与旧版本协议的向后兼容性,加快连接速度,提高安全性,并使用更新的技术,例如允许更少,更受信任的密码选项。 TLS1.3结束了对一些过时的算法和密码的支持,如DES算法,RC4密码,SHA-1哈希,CBC密码,MD5算法,RSA密钥交换以及一些(但不是全部)迪菲-赫尔曼加密方法。TLS1.2支持37个密码套件。TLS1.3仅支持五个密码套件。 传统上,交换安全会话密钥的最流行方法之一是RSA加密算法。RSA在某种程度上受到了质疑,因为它不提供临时(临时或特定于会话的)密钥模式,而这正是完全向前保密(PFS)所必需的。PFS确保如果攻击者保存加密信息并以某种方式设法窃取关联的私钥,他们仍然无法解密信息。 TLS1.3中的四项新功能有助于加快TLS握手的速度。TLS会话恢复检查服务器和客户端以前是否通信过,如果进行了通信,则跳过某些安全检查。TLS错误启动允许服务器和客户端在TLS握手完成之前开始传输数据。TLS1.3握手只需要一次往返,而不是TLS1.2中使用的两次。在TLS1.2及更早版本中,第一次往返包括见面会步骤。第二次往返包括密钥交换以及加密类型从非对称到对称的更改。最后,零往返时间恢复(0-RTT)支持生成主恢复密钥。 TLS系统缺点 对于网站所有者而言,TLS可能会对其网站的性能产生负面影响。例如,在大量流量或计算资源减少的情况下,TLS似乎有助于延长网站加载时间。一个潜在的漏洞是,TLS有时可能允许配置错误的服务器选择弱加密方法。TLS的初始实现可能会引发流量的暂时下降,因为网站可能需要重新索引。此外,较旧的加载项和插件可能与HTTPS不兼容。 对于一般的互联网用户来说,误解证书的工作原理可能会在感知到的TLS故障中发挥作用。例如,攻击者可以利用过期或不受信任的证书。尽管浏览器将显示证书已过期或不受信任的警告,但某些用户可能会忽略此警告。 TLS可能会将防火墙误认为是中间人攻击。TLS旨在提供全面的端到端加密和安全性,可防止网络安全工具检查流量以检测潜在的恶意软件。为了防止中间人攻击,客户端无法检查自己的数据并确保其没有恶意软件。进行此检查的方法是通过中间框,但是中间框可能被TLS错误地识别为中间人,有时可能会阻止对服务器的合法访问。金融业一直在游说改变中间盒的工作方式。 TLS也容易受到降级攻击。RSA是除版本1.3之外的所有TLS版本使用的密钥交换算法。RSA确定客户端和服务器在TLS握手期间如何对其凭据进行身份验证通信系统安全,目的是协商共享密钥。但是,RSA容易受到侧信道攻击。这些类型的攻击是间接的和无意的。它们通常是加密系统的错误实现的结果,这无意中允许泄漏信息,攻击者可以使用这些信息来发现会话的私钥。这可以比作受到汽车安全系统挑战的小偷。小偷没有试图闯入警报器会提醒您的现场汽车,而是简单地将车辆装载到平板卡车上,将其带到其他地方,然后闯入那里。 尽管存在这些弱点,但TLS在在线通信中是不可或缺的。协议的定期更新可确保进一步提高安全性和性能。 (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |