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. 14、Flutter Card卡片组件

    Card是卡片组件块,内容可以由大多数类型的Widget构成,Card具有圆角和阴影,这让它看起来有立 体感. Card实现一个通讯录的卡片 class MyApp2 extends Stateles ...

  2. GDAL使用PROJ坐标转换相关问题的总结

    目录 1. 概述 2. 详论 2.1. 数据 2.2. PROJ库 2.3. 参考 1. 概述 GDAL是使用PROJ进行坐标转换的,但是很容易出现转换不了的问题,这里总结一二,以供参考. 2. 详论 ...

  3. 从中心到边缘,IoT正变为互联网之上的一张大网

    摘要:当我们从Cloud Native走到Edge Native,需要面临哪些挑战,它们各自的特点又是什么,IoT行业会迎来变革吗? 云原生.边缘计算,都是这两年的技术热词. 那么,当我们从Cloud ...

  4. 带你认识Flink容错机制的两大方面:作业执行和守护进程

    摘要:Flink 容错机制主要有作业执行的容错以及守护进程的容错两方面,前者包括 Flink runtime 的 ExecutionGraph 和Execution的容错,后者则包括 JobManag ...

  5. CompletableFuture 打桌球的应用

    CompletableFuture 使用 @Test public void billiardTest() throws Exception { // 创建点外卖线程: CompletableFutu ...

  6. 思考:Https情况下前端密码是否需要加密

    例子: 不加密例子: image-20210719153550042 加密例子: image-20210719153812653 结论:前端账号密码需要加密. 论点一:https是否真的"安 ...

  7. Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option

    背景: 在kafka集群上使用topic相关的命令时,报错: Exception in thread "main" joptsimple.UnrecognizedOptionExc ...

  8. XShell、XFtp免费许可证增强:删除标签限制!

    大家好,我是DD! XShell相信大家都不陌生了,作为Windows平台下最强大的SSH工具,是大部分开发者的必备工具.但由于免费许可证的标签限制,有不少开发者会去找破解版使用.虽然功能是可以使用了 ...

  9. 牛客 | 小G的约数引起的对于 整数分块 学习

    整除分块是个啥:要求\(∑_{i = 1}^n{n/i}\) 的值,这时候暴力需要O(n)的时间.由于这个区间是连续的,且'/'是向下取整,当i不能整除k时,n/i会等于最小的i(也就是区间最左边的值 ...

  10. poi 4.11版本 word模板操作

    写代码之前先说说遇到的问题,之前word模板是使用poi 3.9的包实现的,之后又写了exlce上传下载的功能使用的是poi 4.11的版本,他们之间融合的时候发现包冲突,总有一个功能不能使用,之后发 ...