ZDNET的消息,根据iYouPort,马里兰大学以及Great Firewall Report(长城防火墙报告)的联合报告,中国政府升级了长城防火墙(GFW - Great Firewall),最早在7月29日开始GFW就开始阻断所有TLS1.3+ESNI加密的HTTPS流量,目前旧版本的TLS的HTTPS流量还是可以通过长城防火墙。

至于为什么一刀切直接阻断所有的TLS1.3+ESNI加密的HTTPS流量,恐怕就是其强大的安全性让审查人员更加难以了解到人们到底访问了哪一些网站。TLS1.3是2018年时隔9年之后对TLS做出的重大升级,改动非常多,可以说是史上最安全也最复杂的TLS协议。此次的一刀切也可以理解为对新技术的拒绝,不但会降低用户的网络安全性,技术更新的速度也将会大大减缓。

iYouPort的报告中通过马里兰大学的Geneva算法目前发现了6种绕过长城防火墙审查的策略(参照下方的iYouPort报告链接),但不是一个长期的解决方案,随着长城防火墙的不断升级,墙高一尺梯子高一丈的游戏将会一直存在,直到彻底断成局域网。
iYouPort报告链接
科普:
什么是加密服务器名称指示(ESNI)? - by iYouPort
TLS是网络通讯的安全基础(HTTPS)。TLS提供的认证加密使得用户可以确定他们在与谁通讯, 并确保通讯信息不被中间人看到或篡改。 虽然TLS可以隐藏用户通讯的内容,但其并不能总是隐藏与用户通讯的对象。 比如TLS握手可以携带一个叫做加密服务器名称指示(SNI)的扩展, 这个扩展帮助客户端告诉服务器其想要访问的网站的域名。 包括中国在内的审查者利用这一扩展来检查并阻止用户访问特定的网站。
TLS1.3引入了加密SNI(ESNI)。 简而言之就是用加密了的SNI阻止中间人查看客户端要访问的特定网站。 (更多ESNI的益处请见Cloudflare的介绍文章)。 ESNI有让审查HTTPS流量变得更加困难的潜能; 因为不知道用户使用ESNI访问的网站,审查者要么不封锁任何ESNI连接,要么封锁所有的ESNI连接。 我们现在确认中国的审查者选择了后者。
什么是传输层安全性协定(TLS)? - by 维基百科
传输层安全性协定(英语:Transport Layer Security,缩写:TLS)及其前身安全套接层(英语:Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为网际网路通信提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版网页浏览器-网景领航员时,推出HTTPS协定,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布TLS 1.0标准文件(RFC 2246)。随后又公布TLS 1.1(RFC 4346,2006年)、TLS 1.2(RFC 5246,2008年)和TLS 1.3(RFC 8446,2018年)。在浏览器、电子邮件、即时通讯、VoIP、网路传真等应用程式中,广泛使用这个协定。许多网站,如Google、Facebook、Wikipedia等也以这个协定来建立安全连线,传送资料。目前已成为互联网上保密通信的工业标准。
SSL包含记录层(Record Layer)和传输层,记录层协议确定传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通讯方做身份认证,之后交换对称金钥作为会谈金钥(Session key)。这个会谈金钥是用来将通讯两方交换的资料做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。
TLS1.3与TLS1.2相比升级了什么? - by 维基百科
TLS 1.3在 RFC 8446 中定义,于2018年8月发表。
TLS 1.3与TLS 1.2的主要区别包括:
将密钥交换算法(如ECDHE)和认证算法(如RSA)从密码套件中分离出来。
移除MD5、SHA1密码杂凑函数的支持。
请求数字签名。
集成HKDF和半短暂DH提议。
替换使用PSK和票据的恢复。
支持1-RTT握手并初步支持0-RTT。
通过在密钥协商期间使用临时密钥来保证完善的前向安全性。
放弃许多不安全或过时特性的支持,包括数据压缩、重新协商、非AEAD加密算法、静态RSA和静态DH密钥交换、自定义DHE分组、点格式协商、更改密码本规范的协议、UNIX时间的Hello消息,以及长度字段AD输入到AEAD密码本。
较TLS 1.2速度更快,效能更好。
移除RC4加密演算法的支援。
集成会话散列的使用。
弃用记录层版本号和冻结数以改进向后兼容性。
将一些安全相关的算法细节从附录移动到标准,并将ClientKeyShare降级到附录。
支援Ed25519和Ed448数字签名算法。
支援X25519密钥交换。
支援带Poly1305讯息验证码的ChaCha20加密演算法。
支持加密服务器名称指示(Encrypted Server Name Indication, ESNI)。
TLS1.3 成长情况 - by 维基百科
网络安全服务(NSS)是由Mozilla开发并由其网络浏览器Firefox使用的加密库,自2017年2月起便默认启用TLS 1.3.随后TLS 1.3被添加到2017年3月发布的Firefox 52.0中,但它由于某些用户的兼容性问题,默认情况下禁用。直到Firefox 60.0才正式默认启用。
Google Chrome曾在2017年短时间将TLS 1.3设为默认,然而由于类似Blue Coat Systems等不兼容组件而被取消。
wolfSSL在2017年5月发布的3.11.1版本中启用了TLS 1.3。作为第一款支持TLS 1.3部署,wolfSSL 3.11.1 支持 TLS 1.3 Draft 18(现已支持到Draft 28),同时官方也发布了一系列关于TLS 1.2和TLS 1.3性能差距的博客。