传输层安全性TLS是一种广泛采用的安全协议,目的是促进互联网通信的隐私和数据安全性。TLS常用在web应用程序和服务器之间的通信,如加载网站的web浏览器。TLS还可以用于其他加密通信,如电子邮件、消息传递和IP语音等。在本文中,华纳云为大家分享TLS在web应用程序安全中的作用。
TLS是国际标准阻止互联网工程任务组提出,第一版是1999年发布,TLS和SSL之间有什么区别?TLS协议是由Netscape开发的SSL协议演变而来的。TLS 1.0最初是作为SSL 3.1开发的,但在发布前改名以显示其独立性。因此,TLS和SSL这两个词有时会混用。HTTPS是在HTTP协议之上实现的 TLS 加密,所有网站以及一些其他网络服务都使用该协议。因此,任何使用 HTTPS 的网站都采用 TLS 加密。
企业和web应用程序都应该使用TLS协议,因为TLS协议可保护web应用程序免受数据泄露和其他攻击,如今TLS保护的HTTPS成为网站的标准做法。不少浏览器逐渐打击非HTTPS,日常互联网用户访问没有HTTPS挂锁图标的网站也会更加警惕。
TLS协议可以实现功能的过程含三个部分,加密、身份验证和完整性。加密是隐藏从第三方传输的数据。身份验证是确保交换信息的各方确实是其所声称的身份。完整性是验证数据有没有被伪造或修改。
TLS证书是由证书办法机构办法给拥有域名的个人或企业。TLS连接通过TLS握手序列启动。用户导航到使用TLS证书网站时,用户设备和web服务器之间开始握手TLS。TLS握手会为每个通信会话建立一个密码套件,密码套件是一组算法,用于指定详细信息。如将为特定会话使用哪些共享加密密钥或会话密钥。借助一种公钥加密技术,TLS可以在未加密通道上设置匹配的会话密钥。
握手还处理身份验证,一般含服务器向客户端证明其身份,这是使用公钥完成的。公钥还使用单向加密的密钥,这意味着任何拥有公钥的人都可以使用服务器私钥加密的数据来确保真实性。只有原始发送者才能使用私钥加密数据,服务器的公钥是其TSL的一部分。
数据加密验证后,使用消息认证码进行签名,接受者可以验证MAC保证数据完整性。
TLS对Web应用性能的影响很小。TLS连接建立过程会消耗一些加载时间和计算资源,因为客户端和服务器需要多次通信,这会占用加载时间和内存。技术如TLS False Start和TLS会话恢复可以减少TLS握手延迟。这些技术使得TLS非常快速,不影响加载时间。
现代计算标准下,TLS的计算成本几乎可以忽略。2018年发布的TLS 1.3进一步加快了速度,将握手过程从两次往返减少到一次,如果用户之前已连接过网站,TLS握手甚至无需往返,从而加快了速度。