专业科普:网络协议技术研发为何如此之难?

斯诺登事件揭开了网络协议安全的冰山一角,让外界感受到了其特有的作用力。事实上,时至今日我们依然对此类基础技术知之甚少,对于它的技术研发更是一无所知。

"棱镜门"后续揭露的信息显示,美国政府用长达数十年的时间开发并完善可为其控制的网络安全协议技术和标准体系,来维护其国家网络安全利益。其中包括利用其在标准中蓄意制造的网络安全协议漏洞,进行大规模全球网络监控和网络攻击。由此,揭开了网络协议安全的冰山一角。

圈内有说一种法,无协议不网络,是说网络协议是构成网络的基础条件,而网络安全协议则是定义网络安全连接及数据安全传输的基本规则,可以说无网络安全协议,则无网络安全。

网络协议技术是全球基础技术的一种。基础技术从研发到应用,在技术转移中会牵涉大规模的产业协同问题。具体到网络协议技术,它联合了芯片、操作系统、元器件、设备、系统集成、网络运营等众多产业生态伙伴,才完成从技术研究到市场应用的闭环。

基础技术投资大、周期长、回报的不确定性,是它在商业上表现出来的特点,在这里不展开说。当然,基础技术的优势也很明显:它对产业影响深远,并有着很长的生命周期。尤其是,基础技术代表的是一种创新的技术思想,所以它能够像链式反应那样触发大面积的技术创新。

接下来,我们具体说一说网络安全协议技术的研发。我们先看看网络安全协议技术从无到有,需要经历哪些阶段?

网络安全协议技术的设计是一项非常复杂的偏理论性工作,一项网络安全协议技术的产生,从最初的需求分析、架构设计,到技术扩展和持续改进,并对协议设计的安全性、可用性进行反复论证,产生技术文本后,通过工程开发进行验证,整个过程呈现螺旋式互为递进的状态,每一步都有可能在验证中又重新回头改进。

特别是网络安全协议技术作为一种安全类的网络基础技术, 安全性是其最重要的指标,如果安全性不过关,带来的不仅是系统不可用、不好用的问题,甚至可能会导致用户隐私泄露乃至严重的经济损失。下面就来讲讲整个网络安全协议技术开发的过程。

技术团队就像航行在大海中的舵手,一旦需求分析出现偏差,结果就是跑错方向。

正如所有技术产品在设计之初都要做的,要研发一个适用的安全解决方案,第一步是做好需求分析。需求分析的目的是确定这项技术到底要解决什么问题,有哪些限制因素。需求分析必须基于对相关领域的深入研究和前瞻性认识,才能实现。

举个例子,中国唯一的无线局域网安全技术WAPI,早在无线局域网尚未普及的2000年前后,国内相关企业团队就开始就对这一领域的协议安全技术进行了研究分析(包括IEEE802.11系列标准中采用的WEP技术),特别是对无线局域网中基于弱密钥导致的安全问题及危害,以及各种安全攻击手段可能导致的严重后果进行了周密分析。为确保需求分析的准确性和可靠性,需要查阅了大量资料,包括分析无线接入技术的特点,了解产品应用场景,搭建试验环境,分析各项技术数据指标,了解产业发展情况,分析普通用户和行业用户的安全需求等。

注意,这是在2000年前后,当时的WLAN技术应用并未显山露水,所以,对这一领域的重金投入多少带有考验技术判断力的成分,好在他们押对了。在WLAN应用雨后春笋之后,其网络协议安全问题接踵而至,在2000年初期,WAPI的出现,赶上了全球技术演进的步点,从现在的眼光看,甚至是超前的。

这些都可以看作是需求分析的价值所在,也是考验技术眼光的关键阶段。形成详细完整的需求分析报告后,还需要根据后续技术的发展持续修正需求。这个环节中,技术团队就像航行在大海中的舵手,一旦分析不准确,跑错方向,结果可能是悲剧性的打击。

就像盖房子,架构设计决定了房屋的安全性、适用性、可靠性和经济性,网络安全协议技术的架构建设也是如此。

了解需求的基础上,技术团队开始着手设计安全解决方案,首先需要设计安全架构,安全架构决定解决方案最终是否能满足设计目标。

以无线局域网安全协议技术为例,设计安全架构前,先要分析网络接入的特点。在和WAPI研发团队沟通中了解到,他们在做架构前,就分析了无线局域网的网络模型特点:通常鉴别协议成功前,客户端不能单独使用互联网资源完成对网络的鉴别——提炼出这个安全模型十分关键,这相当于明确了WAPI后续的研发思路,因为当时传统的二元架构和公钥基础设施(Public Key Infrastructure,PKI)体系的应用前提是客户端必须及时联通互联网资源才能实现身份鉴别。所以,WAPI设计团队结合大量的理论分析提出了三元对等鉴别架构,通过引入在线可信第三方,在身份鉴别过程完成后,终端和接入点AP通过第三方鉴别服务器AS完成身份的鉴别。

模型架构环节难在哪里?难在创新。在现有技术基础上,进行小范围的改进相对简单,但要回避现有技术缺陷,独辟蹊径完成创新设计,并且做到更具安全性、扩展性,那就是很难的事情了。一个好的技术架构,会以一种精确、前瞻的方式为用户提供远景的支持,它应该是有长久生命力的。

作为安全协议的根本属性,安全性是压在设计者们肩上最沉重的压力。

无线局域网在开放的网络中传输数据,安全威胁无处不在,攻击者的手段也是多种多样:一个消息中是否包含随机数,是否包含身份信息,这些信息是否要签名保护,在考虑安全目标和攻击手段的同时,还要考虑效率,每一个字段设计不合适都有可能带来非常严重的安全问题。所以,设计可用的安全协议必须考虑安全目标本身的复杂性、协议运行环境的复杂性和攻击模型的复杂性。而且,现实中并不存在理论或实际的证明模型能证明协议绝对安全,只能通过不断地分析-改进-再分析-再改进的过程去完善。

安全性是一种特殊的属性,理论上没有万无一失的方法可以保障绝对安全,所以安全协议的设计必须慎之又慎,考虑所有可能的攻击方法,每一个细节都要考虑周全,否则将会给整个技术和产业带来不可扭转的失败局面。

WiFi所带来的网络安全问题就是如此,在发现它的最高安全机制也遭到破解之后,全球业界竟然无可奈何,全在于它属于技术原理的问题,没法打补丁补漏洞。因此必须从一开始就要反复论证确保安全性。作为安全协议的根本属性,安全是压在设计者们肩上最沉重的压力。

协议技术研发,必须考虑到各种用户的需求特点、使用能力和习惯,做到面向现在与未来场景可用。

可用性也是一个网络安全协议技术产生过程中非常重要的方面,作为一项基础技术,必须考虑到不同应用场景用户的需求特点、使用能力和习惯。

举例:针对无线局域网安全,设计团队需要调研当前各种场景应用的产品软硬件处理能力,选择合适的算法以及身份标识。还需要考虑各种异常情况下协议的恢复能力,异常情况包括通信链路的异常和受到攻击等不同情况,需要考虑协议的稳定性和恢复的效率,保障协议的可用性。

一般技术产品则很少担心这一点,比如微信小程序产品,小程序的设计研究重点只需要考虑在微信界面上的易用性即可。但是对于无线局域网技术,不仅用于便携式电脑、手机等领域,甚至还能应用到智能家居、车联网、冰箱、洗衣机等家用电器,在网络安全协议设计中也是如此,需要考虑硬件处理能力以及不同等级的身份标识等问题。

检验技术的可用性,需要经过产品验证过程。这一过程要将技术搭载到不同的芯片、不同的操作系统版本上,会遇到芯片开发投入大、操作系统应用程序编程接口(Application Programming Interface,API)不开放等等诸多复杂的问题。产品验证阶段就如同试金石,最终检验设计团队研发的安全协议技术能否实现、是否具备被广泛应用的实力。

攻击和安全就像矛和盾,会在此消彼长中不断演进,网络安全协议技术研发没有终点。

无线局域网系列技术包括了切换、漫游、直连、管理帧、服务质量(Quality of Service,QOS)和身份管理等内容,这些系列标准均与安全协议密切相关,所以就需要网络安全协议技术团队实时跟踪相关底层通信技术的研究进展,并按照上述周期模型进行持续改进,其中对身份的管理是至关重要的,如果没有一个高效、简单易行的身份管理系统,整个技术方案就无法大规模应用起来,虽然设计的系统可以完美地解决需求中的问题,但无法大规模应用就像赛跑中前面一直领先,到冲刺时却泄气止步一样令人遗憾。

不止于此,随着网络基础理论的突破和攻击方式的变化,网络安全协议要为维护自身的安全性持续改进,因为世界上没有绝对的安全,攻击和安全就像矛和盾,会在此消彼长中不断演进,技术团队必须密切关注实时跟进。

基础技术研究是一项超越时代的事业,它不仅要做到与时代同行,它更大的担当是要为未来提供持续可用的技术平台,网络协议技术研发之难也正在于此。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181011A13ZY700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券