https://cloud.tencent.com/developer/article/1376033

互联网工程指导委员会(IETF)释出了传输层安全性协议的最新版本 TLS 1.3。TLS 被广泛用于创建安全连接,TLS 1.3 是基于 TLS 1.2,主要区别是移除了较少使用的弱加密算法,移除 MD5 和 SHA-224 哈希支持,请求数字签名,集成 HKDF,移除许多不安全或过时特性的支持,不再支持静态 RSA 密钥交换,握手将默认使用前向安全 Diffie-Hellman,客户端只需要一次往返就能与服务器建立安全和验证的连接,等等。Firefox 和 Chrome 都已经支持 TLS 1.3 的草拟版本。

TLS 1.3是一种新的加密协议,它既能提高各地互联网用户的访问速度,又能增强安全性。我们把使互联网实现安全通信的基础性技术称为传输层安全协议(TLS)。TLS是安全套接层协议(SSL)的进化版本,SSL是由Netscape公司在1990年代研发的。国际互联网工程任务组(IETF)做为一个标准化组织,负责定义该协议,该协议已经历了多次修订。最新版本 TLS1.2 在 2008 年被确立为标准,目前被大多数浏览器和启用 HTTPS 的 web 服务所支持。

在配置正常的情况下,TLS 1.2 会很安全,但如今它却显得有些过时了。在过去几年中,几次引人注目的攻击暴露出该协议的一些漏洞。在计算机安全领域,8年是一段很长的时间,因此 IETF 已经在着手开发该协议的新版本 TLS 1.3。TLS1.3 是一次全面升级,与此前版本相比,它有两个主要优势:

  • 增强安全性
  • 提升速度

增强安全性

过去几年来,大部分针对TLS的攻击都是以该协议90年代遗留下来的残余部分为目标的。TLS1.2具有很强的可配置性,因此一些有安全漏洞的站点为兼容老版本的浏览器而没有关闭那些旧的属性。

TLS1.3信奉“少即是多”哲学,取消了对一些老旧而衰弱的加密方式的支持。这意味着你无法打开那些潜在的漏洞。TLS1.2中原有的大量特性都被删除了,其中大部分特性与那些著名的攻击有关,这些特性包括:

(adsbygoogle = window.adsbygoogle || []).push({});

  • RSA 密钥传输 —— 不支持前向安全性
  • CBC 模式密码 —— 易受BEAST和Lucky 13攻击
  • RC4 流密码 —— 在HTTPS中使用并不安全
  • SHA-1 哈希函数 —— 建议以SHA-2取而代之
  • 任意 Diffie-Hellman 组 —— CVE-2016-0701漏洞
  • 输出密码——易受 FREAK 和 LogJam攻击

TLS1.3 消除了旧版本中糟糕的加密方式,同时降低了旧的攻击方式对其产生影响的可能性。这种精简使网络管理员可以更简便地进行配置。此外,这次更新提高了协议的速度,也给用户带来更好的浏览体验。

提升速度

网页加载速度的提高对web服务的成功是至关重要的。亚马逊公司曾有一个著名的发现:网页加载时间每增加100毫秒,销售额就会下降1%。网页加载时间的一个主要组成部分就是浏览器和web服务器之间发送数据耗费的“延迟时间”。

“延迟时间”特别会显著影响到:

  1. 移动设备用户
  2. 服务器在地理上相距很远的用户

TLS handshake performance

一条消息从悉尼往返纽约会花费超过200毫秒,而在移动设备上浏览还会增加这一延迟时间。通过现代4G移动网络发送一条消息通常会额外增加100毫秒的延迟。在欧洲仍普遍使用的3G网络下,这一延迟则会增加200毫秒。就连家用 WiFi 和 ISP 也会再增加几十毫秒的延迟。这些额外的延迟会使人感觉到移动浏览速度很缓慢。不幸的是,数据加密会进一步降低连接的速度。而 TLS1.3 有助于改善这种状况。

要向加密网站发送一条消息,你必须首先建立共用密钥。这一过程叫做一次握手。它要求有专门的消息往来于浏览器和网站之间。只要你的浏览器连接到一个加密站点,TLS握手就会在后台发生。

对于TLS1.2来说,在请求发送出去之前,需要2次消息往来才能完成握手。通过移动网络访问一个站点时,加载时间会额外增加超过半秒钟。而对于TLS1.3来说,首次握手只需要1次消息往来。这就像把一辆0-60迈加速需10秒的旅行车升级成一辆只需5秒的特斯拉Model S。如果一次连接所需的消息往来耗时约100毫秒,那么TLS1.3的速度提升足以让那些反应迟缓(加载时间超过300毫秒)的站点变得足够快(加载时间低于300毫秒)。

不仅如此,而 TLS1.3 还有其他的优点。对于近期访问过的站点,你可以在第一次给服务器发消息时就发送有用的数据。这叫做“零消息往来”模式(0-RTT),会使网页加载变得更快!

它为所有浏览器而生

TLS1.3对网络安全和性能来说都是一大进步。尽管TLS1.3规范仍在进一步完善中,但IETF已非常接近完成这一协议的最终版本。主要浏览器Firefox和Chrome都已支持 TLS 1.3 的草拟版本。

[转帖]TLS1.3 正式版发布 — 特性与开启方式科普的更多相关文章

  1. Python 3.8.0 正式版发布,新特性初体验 全面介绍

    Python 3.8.0 正式版发布,新特性初体验 北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PE ...

  2. Angular2正式版发布,Wijmo抢先支持

    Angular2正式版发布 9月15日,Angular 2 的最终版正式发布了.作为 Angular 1 的全平台继任者 -- Angular 2 的最终版,意味着什么? 意味着稳定性已经得到了大范围 ...

  3. Redis 3.0正式版发布,正式支持Redis集群

    Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...

  4. WeX5 快速开发平台 V3.6 正式版发布

    WeX5 V3.6 正式版核心特性:一.打包特性增强: 1- 提供多WebView选择,引入腾讯X5引擎,可自动适配移动设备环境进行切换,使通过X5打包生成的App具备更高的兼容性及更小的文件尺寸: ...

  5. Java 开源博客——B3log Solo 0.6.1 正式版发布了!

    Java 开源博客 —— B3LOG Solo 0.6.1 正式版发布了!欢迎大家下载. 该版本主要是改善细节体验,并加入了一款 Metro 风格的皮肤. 特性 基于标签的文章分类 Ping Goog ...

  6. 最强 IDE Visual Studio 2017 正式版发布

    Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试.实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航.IntelliSense.重构.代码修复和调试等等 ...

  7. 终于等到你,最强 IDE Visual Studio 2017 正式版发布

    Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试.实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航.IntelliSense.重构.代码修复和调试等等 ...

  8. Java 开源博客 —— Solo 0.6.8 正式版发布了!

    Java 开源博客 -- Solo 0.6.8 正式版发布了,欢迎大家下载.另外,欢迎观摩我们的另一个产品,在线 Golang IDE--Wide! 特性 基于标签的文章分类 博客/标签 Atom/R ...

  9. Java 开源博客——B3log Solo 0.6.7 正式版发布了!

    Java 开源博客 -- B3log Solo 0.6.7 正式版发布了!欢迎大家下载. 另外,欢迎观摩 B3log 团队的新项目:Wide,也非常欢迎大家参与进来 :-) 特性 基于标签的文章分类 ...

  10. Java 开源博客——B3log Solo 0.6.6 正式版发布了!

    Java 开源博客 -- B3log Solo 0.6.6 正式版发布了!欢迎大家下载. 该版本引入了数据库连接池:Druid. 另外,欢迎观摩 B3log 团队的新项目:Noty,也非常欢迎大家参与 ...

随机推荐

  1. 终于肝完了!全网最全、最详细、最全面的 Hadoop大数据学习教程( 2023最新版 )

    大家好,我是民工哥! 前面给大家介绍了:关系型数据库 MySQL . NoSQL 数据库 Redis . MongoDB .搜索引擎 ElasticSearch 等知识体系学习的文章. 在当今这样的就 ...

  2. 谈谈muduo库的销毁连接对象——C++程序内存管理和线程安全的极致体现

    前言 网络编程的连接断开一向比连接建立复杂的多,这一点在陈硕写的muduo库中体现的淋漓尽致,同时也充分体现了C++程序在对象生命周期管理上的复杂性,稍有不慎,满盘皆输. 为了纪念自己啃下muduo库 ...

  3. 聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二)

    聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二) 前言 前文排版比较糟糕,这次我们使用vscode来写本文,,各位看客请见谅 ...

  4. NebulaGraph实战:2-NebulaGraph手工和Python操作

      图数据库是专门存储庞大的图形网络并从中检索信息的数据库.它可以将图中的数据高效存储为点(Vertex)和边(Edge),还可以将属性(Property)附加到点和边上.本文以示例数据集basket ...

  5. 实例解析丨一文搞定GaussDB CM服务异常

    摘要:本文主要为大家带来如何处理GaussDB CM服务异常问题. 本文分享自华为云社区<[实例状态]GaussDB CM服务异常>,作者:酷哥. 首先确认是否是虚拟机.网络故障,底层故障 ...

  6. GaussDB(for Redis)双活容灾支持4大应用场景,为业务安全保驾护航

    摘要:GaussDB(for Redis)的双活解决方案,支持同域主备.同域双主.异地主备.异地双主四大应用场景,提供了安全可靠的容灾能力. 一场火灾引发的思考 2021年3月10日,欧洲某云服务提供 ...

  7. 如何使用TCP/IP开发网络程序

    摘要:进行TCP协议网络程序的编写,关键在于ServerSocket套接字的熟练使用,TCP通信中所有的信息传输都是依托ServerSocket类的输入输出流进行的. 本文分享自华为云社区<Ja ...

  8. 火山引擎DataLeap如何解决SLA治理难题(二):申报签署流程与复盘详解

    申报签署流程详解 火山引擎DataLeap SLA保障的前提是先达成SLA协议.在SLA保障平台中,以申报单签署的形式达成SLA协议.平台核心特点是优化了SLA达成的流程,先通过"系统卡点计 ...

  9. 详解 SSL(一):网址栏的小绿锁有什么意义?

    随着互联网的飞速发展,用户信息泄漏.数据泄露等安全问题的事件频繁发生.这一切不一定是网站的问题,有时候可能是自己不经意间泄露了自己的信息.例如钓鱼网站就是日常生活中比较常见的,钓鱼网站和真实网站差别细 ...

  10. 一文聊透 IP 地址的那些事

    IP 地址,是一个大家都耳熟能详的名词.以生活举例,IP 在互联网中的作用就像是寄件时的收件人地址和寄件人地址,收件人地址让信件可以被正确送达,寄件人地址则让收到信的人可以回信. IP 地址作为每一个 ...