TLS1.3将为互联网安全筑起新的长城
2018年3月23日,国际互联网工程任务组(IETF)批准了TLS1.3的正式运行版本,为互联网安全筑起了新的长城。这是互联网发展道路上的一块重要里程碑。
TLS是有关互联网传输层的安全协议,TLS1.3是TLS的最新标准。TLS为互联网上密钥的产生和分发、数据传输时加密解密、用户的身份认证及电子签名等制定统一的标准和算法,网络服务商和软件开发商将根据TLS1.3的标准开发出相应的软件包和程序库。网页浏览、微信、电子邮件等应用程序在处理数据传输时都会自动调用这些具有统一标准的软件包和程序库,以确保数据在互联网传输时的绝对安全。
当你使用IE、火狐、UC等任何一款浏览器访问互联网上的网站,这些浏览器和网站服务器都会首先调用TLS软件包。TLS制定的公钥密码算法为通信双方分别产生公钥和私钥;然后通过握手程序交换公钥和身份认证信息;接着根据TLS提供的算法验证对方身份并计算出共享的对称密钥;最后使用共享密钥对传输数据(这其中包括了用户的口令、信用卡号码和帐户余额等数据)作加密和解密,保证这些数据在公共网络传输过程中不被破解和篡改。
P1)微信通信双方协商取得共享对称密钥的握手进程的示意图。微信通信的安全保障是基于TLS1.3草案标准的微信安全通信协议mmtls,详见 https://www.qcloud.com/community/article/134506。
微信、电子邮件和互联网上各种其它应用程序也都是在TLS规约下按照上述相似流程来保证数据在公共网络上安全地传输。TLS就是互联网安全的基石,它是每个网民的护身符!
长久以来人们都把密码与军事、外交联系在一起,印象中使用密码的人物如果不是躲在阴暗角落的间谍特务就是捍卫国家安全的孤胆英雄。事实上,隨着互联网的普及,今天每个普通人都离不开密码,密码技术已经“飞入寻常百姓家”。当你在网上购物,当你用手机通话或收发微信,所有信息都在开放共享的网络上传输,现代通讯技术使得信息的传输变得越来越方便、迅速和高效,但是也使得信息非常容易被黑客截获,没有密码技术保护在网上发送短信、用支付宝付款、在无线网上通话等等都是难以想象的。
在我们每天使用的电脑、手机中都有执行TLS协议的整套软件,它们在后台默默无声、忠实无悔地守护着互联网用户的隐私和秘密,它们是新时代为网民服务的好战士。当我们享受着互联网种种福利时,又有多少人会感谢那些设计、运行和维护TLS的工程技术人员呢?“谁知网上游,步步皆辛苦!”没有了TLS,网上的日子一分钟也没法过。
TLS的前身是安全套接层协议SSL。SSL诞生于九十年代初期,它的2.0版本在1995年2月发布,但因为存在数个严重的安全漏洞一年后而被3.0版本替代。进入二十一世纪后,更为先进有效的TLS代替SSL扛起了互联网安全卫士的重任,互联网上数据传输的安全问题一直困扰着人们,SSL/TLS一次次的变迁和升级就是一部互联网抗击黑客的血泪史。
目前网上广泛使用的安全协议TLS1.2始于2008年,这些年来它为网民们遮风挡雨立下汗马功劳,但是在满世界黑客的明枪暗箭攻击下也是满目沧桑。为了修补漏洞,执行TLS1.2协议的软件打满了补丁,俗话说:“新三年旧三年,缝缝补补又三年。” 九年多了,TLS1.2也到了功成身退的时候了。
在众人瞩目中即将登台上任的TLS1.3究竟有些什么亮点呢?TLS1.3是一次全面升级,与此前版本相比,它具有两大优势:
●增强安全性
旧版TLS1.2为了向下兼容,接收了太多90年代遗留下来的落后的加密方式,背上了沉重的包袱。TLS1.2虽然具有很强的兼容性,但是它也成为了过去几年来受到攻击的主因。
TLS1.3实施“少而精”的原则,取消了对一些陈旧落后的加密和哈希算法的支持,诸如SHA—1、SHA-224 、RC4、MD5、DES、3DES等算法均被剔除,取而代之的是ChaCha20, Poly1305, Ed25519, x25519, and x448等更为安全的算法。这意味着一系列潜在的漏洞将被永久关闭。
TLS 1.3具有抵御降级攻击的功能,这是它最为突出的优点。这样就堵死了攻击者诱骗服务器降级使用较旧版本的可能,杜绝黑客利用旧版软件中漏洞的任何机会。
●提升处理速度
为了保护数据传输,用户访问网站时,双方必须依靠TLS先行取得共享的对称密钥,这个被称为握手过程。为完成握手过程,TLS1.2需要在用户和网站之间传递信息6次,而新版TLS1.3仅需4次。減短握手的过程就可更早地传递有效数据,也就加快了网页传输的速
不仅如此,对于近期访问过的站点,TLS1.3可以在第一次给服务器发消息时就发送有用的数据。这叫做“零消息往来”模式(0-RTT),这会会使网页传输变得更快。 虽然新版TLS1.3为每次网页加载节省的时间有限(大约十分之一秒),但是积少成多,对于每天接受千万次以上访问的大型网站,这个提速影响不容小觑。不信到双十一节可以试试!
P2)TLS1.2与TLS1.3握手进程效率比较。
TLS安全协议的核心是通过公钥密码系统让通信双方协商取得共享的对称密钥,这个过程也被称为对称密钥分发。通信双方一旦拥有了共享的对称密钥以后,他们之间的通信安全是有绝对保证的。但是互联网上通信双方远隔千山万水又从未见过面,他们如何取得彼此的信任并协商出共享的密钥,而又不被第三者偷窃,这是对密码学的严峻考验。
解决这个难题靠的就是公钥密码。公钥密码算法产生出一对密钥:公钥和私钥,通信双方通过交换公钥作身份验证和协商出共享的对称密钥。公钥密码巧妙地解决了网上通信双方的“第一次”的尴尬,网上安全一日不可无此君。
我们前面已经指出对称密码的安全性是有绝对保证的,这是有数学证明的,那么公钥密码的安全性又如何呢?到目前为止,公钥密码还是安全的,至少与网络上许多其它隐患相比,它的相对安全性是不容质疑的。但是面对未来的量子计算机和传统计算机的飞速发展,现在使用的公钥密码存在安全隐患。
解决公钥密码隐患的正确之路是研究开发更安全有效的新一代公钥密码算法。实现公钥密码已经有多种方法,TLS1.3就取消了用RSA这种公钥密码算法作密钥分发,而改用ECDH算法。更为先进安全的公钥密码新算法正在研究评估中,本文的姐妹篇将着重讨论这方面问题。
除此之外,似乎还没有其它更有效的方案,目前的量子密码通信在工程意义上不是切实可行的解决方案。京沪量子通信干线使用的BB84协议是一种端到端的密钥分发协议,它与分组交换协议构建起来的复杂拓扑结构的互联网格格不入。量子通信连最基本的路由器和交换器的协议草案都没有,目前组网的可能性几乎为零。
TLS提供的网络安全服务不仅是密钥分发,还包括非常重要的身份验证和电子签名。量子通信工程只能作密钥分发,它根本就没有资格替代TLS。即使将来有关量子通信的组网设备和协议都被研制开发出来了,还面临如何与现存互联网的融合问题,还有额外的成本和运行效率问题。
退一万步说,即使量子通信的所有工程问题明天一早都得到解决,工程的成本问题也不去考虑,反正就是不差钱,量子通信与互联网安全依旧是两条道上跑的车。这里有一个核心问题—“兼容”,量子通信技术如果不能与现存的密码系统兼容,不能成为TLS协议有机的组成部分,那么对亿万互联网的网民而言就是零存在。网民在互联网上点击这里点击哪里,数据传输安全靠的是应用程序自动调用TLS,TLS调用相应密码算法。没有人会有兴趣也没有本事去弄懂量子通信的原理和使用方法的,要让量子通信真正造福大众,它必须融入今日互联网安全系统中成为TLS的一部分,而不是推翻现存的互联网构架去另建所谓的“量子互联网”。“量子互联网”和“量子小镇”一样,实质上都是海市蜃楼,至少在可预见的未来就是如此。
从现在开始,TLS1.3将会受到网络服务行业和用户的广泛支持,并将在未来十年中成为互联网的忠诚卫士,再下一代TLS的预案也已经启动,它们将为未来一二十年的互联网安全负责。TLS1.3和它的下一代都没有为量子通信预留任何接口,互联网安全与量子通信没一点关系。全世界互联网通信安全专家们都把稳妥可靠、兼容可行作为技术发展的首要考量,他们将着力研发新一代公钥密码系统应对后量子时代的信息安全态势,为亿万网民筑起互联网上的新长城。本文续篇将着重介绍后量子时代密码学的研究现状和发展趋势,敬请关注跟读。
P3)十种常用浏览器支持TLS1.3的进展情况。绿色表示支持、红色不支持、灰色情况不明。由图可知谷歌的Chrome 和火狐浏览器已经支持使用TLS1.3协议草案,这两家企业重视网络安全的态度值得点赞。