传输层安全性(TransportLayerSecurity,TLS)是一种广泛采用的安全性协议,旨在促进互联网通信的私密性和数据安全性。TLS的主要用例是对web应用程序和服务器之间的通信(例如,web浏览器加载网站)进行加密。TLS还可以用于加密其他通信,如电子邮件、消息传递和IP语音(VOIP)等。在本文中,我们将重点介绍TLS在web应用程序安全中发挥的作用。
TLS由互联网工程任务组(InternetEngineeringTaskForce,IETF)提出,协议的第一个版本于1999年发布。最新版本是TLS1.3,发布于2018年。
Netscape开发了名为安全套接字层(SecureSocketLayer,SSL)的上一代加密协议,TLS由此演变而来。TLS1.0版实际上最初作为SSL3.1版开发,但在发布前更改了名称,以表明它不再与Netscape关联。由于这个历史原因,TLS和SSL这两个术语有时会互换使用。
HTTPS是在HTTP协议基础上实施TLS加密,所有网站以及其他部分web服务都使用该协议。因此,任何使用HTTPS的网站都使用TLS加密。
为什么企业和web应用程序应该使用TLS协议?
TLS加密可以帮助保护web应用程序免受攻击,如数据泄露和DDoS攻击等。此外,受TLS保护的HTTPS正在迅速成为网站的标准实践。例如,GoogleChrome浏览器正在打击非HTTPS网站,而且日常的互联网用户也开始更加警惕那些没有HTTPS挂锁图标的网站。
TLS协议实现的功能有三个主要组成部分:加密、认证和完整性。
加密:隐藏从第三方传输的数据。
身份验证:确保交换信息的各方是他们所声称的身份。
完整性:验证数据未被伪造或篡改。
网站或应用程序要使用TLS,必须在其源服务器上安装TLS证书(由于上述命名混淆,该证书也被称为SSL证书)。TLS证书由证书权威机构颁发给拥有域的个人或企业。该证书包含有关域所有者的重要信息以及服务器的公钥,两者对验证服务器身份都很重要。
TLS连接是通过一个称为TLS握手的流程启动的。当用户导航到一个使用TLS的网站时,用户设备(也称为客户端设备)和web服务器之间开始TLS握手。

指定将要使用的TLS版本(TLS1.0、1.2、1.3等)
决定将要使用哪些密码套件(见下文)
使用服务器的TLS证书验证服务器的身份
握手完成后,生成会话密钥用于加密两者之间的消息
TLS握手为每个通信会话建立一个密码套件。密码套件是一组算法,其中指定了一些细节,例如哪些共享加密密钥(即会话密钥)将用于该特定会话。TLS也能在一个未加密的通道上设置匹配的会话密钥,这要归功于一种称为公钥加密的技术。
握手还处理身份验证,其中通常包括服务器向客户端证明其身份。这是通过使用公钥来完成的。公钥是使用单向加密的加密密钥,即任何拥有公钥的人都可以解读使用服务器私钥加密的数据,以确保其真实性,但只有源发送方才可以使用私钥加密数据。服务器的公钥是其TLS证书的一部分。
数据完成加密和验明身份后,使用消息身份验证码(MAC)进行签名。接收方然后可以验证MAC来确保数据的完整性。这有点像阿司匹林药瓶上的防篡改铝箔;消费者知道没人篡改过他们的药品,因为购买时铝箔完好无损。
TLS如何影响Web应用程序性能?
TLS的最新版本对web应用程序的性能几乎没有任何影响。
由于建立TLS连接涉及到的复杂过程,因此必须花费一些加载时间和计算能力。在传输任何数据之前,客户端和服务器必须来回通信几次,这将占用web应用程序宝贵的几毫秒加载时间,以及客户端和服务器的一些内存。
目前已有技术帮助缓解TLS握手造成的延迟。其一是TLS虚假启动(FalseStart),让服务器和客户端在TLS握手完成前开始传输数据。另一种加速TLS的技术是TLS会话恢复,允许之前通信过的客户端和服务器简化握手过程。
这些改良帮助TLS成为一种非常快速的协议,不会明显影响加载时间。至于与TLS相关的计算成本,以今天的标准来看几乎可以忽略不计。
2018年发布的TLS1.3进一步提高了TLS的速度。TLS1.3中的TLS握手仅需要一次往返(即来回通信),而不是以前的两次,将握手过程所需时间缩短了几毫秒。如果用户以前已连接过网站,TLS握手的往返次数为零,从而进一步加快了速度。
本文来源:虚拟主机--什么是传输层安全性(传输层安全技术)
本文地址:https://www.idcbaba.com/zhuji/1536.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



