互联网环境中的密钥的分发和管理

长久以来人们都把密码与军事、外交联系在一起,印象中使用密码的人物如果不是躲在阴暗角落的间谍特务就是捍卫国家安全的孤胆英雄。事实上,隨着互联网的普及,今天人人都离不开密码,密码技术已经“飞入寻常百姓家”。当你在网上购物,当你用手机通话或收发微信,所有信息都在开放共享的网络上传输,现代通讯技术使得信息的传输变得越来越方便、迅速和高效,但是也使得信息非常容易被黑客截获,没有密码技术保护在网上发送短信、用支付宝付款、在无线网上通话等等都是不可想象的。

大多数人认为密码系统是高大上的技术,与己无关。却不知密码系统就在每个人的手机、电脑和各种智能设备里,它们就是捍卫信息安全的无名英雄。

密码系统在互联网上是通过互联网传输层的安全协议(TLS)执行的。TLS为互联网上密钥的产生和分发、数据传输的加密和解密、用户的身份认证及电子签名等制定统一的标准和算法。商用密码开发商根据TLS的标准开发出相应的软件包和程序库,并预装在手机和电脑里。网页浏览、微信、电子邮件等应用程序在处理数据传输时都会自动调用这些具有统一标准的软件包和程序库,以确保互联网上数据在传输过程中的保密性、真实性、完整性、和可用性。

在今后相当长的时期,互联网数据传输的安全性都是有保障的。这里的安全性指的是数据从一点到另一点的传输过程中是安全的,即“信道安全”。互联网今天的许多安全问题都不在信道上而在信源上,信源安全不是密码系统能够解决的,而量子通信更无法解决这些问题。相比信源上的许多问题,传统密码系统是足够安全的,但是任何技术都要更新升级以面对不确定的未来,当然传统密码系统也不例外。事实上,加强互联网信息传输安全的工作正在有条不紊的进行之中。

2018年3月23日,国际互联网工程任务组(IETF)批准了TLS1.3的正式运行版本,为互联网安全筑起了新的长城。这是互联网发展道路上的一块重要里程碑。

TLS是有关互联网传输层的安全协议,TLS1.3是TLS的最新标准。TLS就是传统密码系统在互联网上的具体应用。

当你使用IE、火狐、UC等任何一款浏览器访问互联网上的网站,这些浏览器和网站服务器都会首先调用TLS软件包。由TLS制定的公钥密码算法为通信双方分别产生公钥和私钥;然后通过握手程序交换公钥和身份认证信息;接着根据TLS提供的算法验证对方身份并计算出共享的对称密钥;最后使用共享密钥对传输数据(这其中包括了用户的口令、信用卡号码和帐户余额等数据)作加密和解密,保证这些数据在公共网络传输过程中不被破解和篡改。

微信、电子邮件、智能手机的APP和互联网上各种其它应用程序也都在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等更为安全的算法。这意味着一系列潜在的漏洞将被永久关闭。

TLS1.3具有抵御降级攻击的功能,这是它最为突出的优点。这样就堵死了攻击者诱骗服务器降级使用较旧版本的可能,杜绝黑客利用旧版软件中漏洞的任何机会。

●提升处理速度

为了保护数据传输,用户访问网站时,双方必须依靠TLS先行取得共享的对称密钥,这个被称为握手过程。为完成握手过程,TLS1.2需要在用户和网站之间传递信息6次,而新版TLS1.3仅需4次。減短握手的过程就可更早地传递有效数据,也就加快了网页传输的速度。

不仅如此,对于近期访问过的站点,TLS1.3可以在第一次给服务器发消息时就发送有用的数据。这叫做“零消息往来”模式(0-RTT),这会使网页传输变得更快。 虽然新版TLS1.3为每次网页加载节省的时间有限(大约十分之一秒),但是积少成多,对于每天接受千万次以上访问的大型网站,这个提速影响不容小觑。不信到双十一节可以试试!

TLS安全协议的核心是通过公钥密码系统让通信双方协商取得共享的对称密钥,这个过程也被称为对称密钥分发。通信双方一旦拥有了共享的对称密钥以后,他们之间的通信安全是有充分保证的。但是互联网上通信双方远隔千山万水又从未见过面,他们如何取得彼此的信任并协商出共享的密钥,而又不被第三者偷窃,这是对密码学的严峻考验。

解决这个难题靠的就是公钥密码。公钥密码算法产生出一对密钥:公钥和私钥,通信双方通过交换公钥作身份验证和协商出共享的对称密钥。公钥密码巧妙地解决了互联网上非熟人之间从未有过“零距离接触”的尴尬,网上安全一日不可无此君。

我们前面已经指出对称密码的安全性是有充分保证的,未来的量子计算机对它不构成威胁。那么公钥密码的安全性又如何呢?到目前为止,公钥密码还是安全的,至少与网络上许多其它安全隐患相比,它的相对安全性是不容质疑的。但是面对未来的量子计算机和传统计算机的飞速发展,公钥密码的安全面临威胁。

解决公钥密码隐患的正确之路是研究开发更安全有效的新一代公钥密码算法。实现公钥密码已经有多种算法,TLS1.3就取消了用RSA这种公钥密码算法作密钥分发,而改用ECDH算法。更为先进安全的公钥密码新算法正在研究评估中,本系列的下一篇文章将着重讨论这个问题。

量子通信工程不可能是应对公钥密码隐患的方案,量子通信工程只能为通信双方协商获得一个密钥,它们与使用公钥、私钥的公钥密码毫无共同之处。而且目前QKD使用的是BB84这个“点到点”的通信协议,这种点到点的密钥分发技术要求在通信双方之间建立一条被他们独占的物理通路,这种通信方式只能使用电路交换协议,电路交换协议与分组交换协议从基础原理上水火不容,而分组交换协议是构建现代互联网的基础。这就从根本上断绝了QKD组成现代通信网络与互联网兼容的可能性,它为互联网通信安全提供有效的服务也就无从谈起。

TLS提供的网络安全服务不仅是密钥分发,还包括非常重要的身份验证和电子签名。量子通信工程只能作对称密码的密钥分发,它根本就没有资格替代TLS。即使将来有关量子通信的组网设备和协议都被研制开发出来了,还面临如何与变化中的互联网技术的兼容问题,还有额外的成本和运行效率问题。

传统密码系统通过TLS软件的升级换代,可以不间断地去适应互联网的发展以确保数据传输的安全。只有使用基于数学原理的软件才能保证系统升级换代可以最低的成本、稳步有序的推进。事实上今天互联网上的网民是被宠坏了的群体,他们习惯了在互联网上点击这里点击哪里,数据传输安全靠的是应用程序自动调用TLS,TLS调用相应密码算法,一切都是现成和透明的。亿万网民不会有兴趣也没有本事去弄懂量子通信的原理和使用方法的,如果还要他们在自己的设备上加添一个外设接口,再拖上一根光纤小辫子,并要共同负担另一个“量子互联网”上所有设备的开销,他们能够接受吗?请问谁愿意付出如此沉重的代价而又得不到什么好处,这样的网民你要去哪里找?

从现在开始,TLS1.3将会受到网络服务行业和用户的广泛支持,并将在未来十年中成为互联网的忠诚卫士,再下一代TLS的预案也已经启动,它们将为未来二十多年的互联网安全负责。任何新的密码技术包括所谓的量子通信如果真要为互联网的安全服务,它们都必须通过TLS协调管理,但是TLS1.3和它的下一代都没有为量子通信预留任何接口,从中可以再一次看出:互联网通信安全与量子通信真没一点关系。

全世界互联网通信安全专家们都把稳妥可靠、兼容可行作为技术发展的首要考量,他们将着力研发新一代公钥密码系统应对后量子时代的信息安全态势,为亿万网民筑起互联网上的新长城。本专栏的下一篇文章将介绍后量子时代密码学的研究现状和发展趋势,敬请关注跟读。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 注销 /  更改 )

Twitter picture

您正在使用您的 Twitter 账号评论。 注销 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 注销 /  更改 )

Connecting to %s