安全网络授时服务技术研究

2018-05-05 05:51彭栋郭伟
时间频率学报 2018年1期
关键词:数据包链路客户端

彭栋,郭伟

(1.中国科学院 国家授时中心,西安 710600;

2.中国科学院 精密导航定位与定时技术重点实验室,西安 710600;3.中国科学院大学,北京 100049)

0 引言

时间频率是一个非常重要的基本物理量,它在国防、金融、通信等领域起着至关重要的作用[1]。伴随着现代社会的进步与发展,原始的对时方法已经不能满足科技对于时间的需求,尤其是电子信息技术等行业对时间同步提出了更高的要求[2]。在这些新兴行业中,计算机对信息的处理和传送起着不可替代的作用,而计算机的时钟精度很低,1 d内就有几秒钟的时间漂移,已经无法满足一些高新企业对于高精度时间服务的要求。因此,基于NTP的网络授时技术开始被广泛应用。它采用网络时间协议(NTP,network time protocol),可以将客户端的时间通过互联网同步到另一个服务器或参考时钟源上[3]。

网络时间协议虽然可以快速地为用户提供网络授时服务,但是由于网络时间协议数据包是公开传输的,在没有足够防护的情况下存在一定的安全隐患,比如:入侵者可以窃听、修改和重放NTP数据包,用伪造的数据包欺骗客户端和堵塞网络,这可能导致系统的崩溃或者操作的失败[4]。NTP协议自身含有一定的防护机制应对可能发生的入侵,但是NTPv4安全模型存在一定的问题,例如:其使用的MD5算法已经被破解,不再被广泛使用,需要采用更加安全的加密算法构建NTP安全模型;目前国内使用的网络时间服务系统没有加入NTP安全模型,无法评估NTP安全模型对系统授时精度的影响。NTP在提供授时服务时多采用SNTP(simple network time protocol)模式,SNTP是网络时间协议的简化版本,网络授时精度最高为百毫秒级。在实际应用中基于SNTP和NTP的网络时间服务器与客户端是可以相互通用的。SNTP在通信过程中不具有安全机制,无法应对安全威胁,因此构建适用于NTP和SNTP的安全模型十分重要。

针对网络授时服务现状,在研究网络时间协议的基础上根据其工作机制设计高效、可靠的安全模型;在保证服务性能的前提下提高授时服务的安全性,对于提高网络授时服务的可靠性,保障互联网用户的应用安全具有重要的意义和应用价值。

1 NTP基本工作原理

NTP协议的精确对时主要是在主从工作方式下实现的。NTP算法首先要根据服务器和客户端的往返报文来确定两地时钟的差值和报文在网络中传输的延迟[5]。在下面的公式中,客户端和网络时间服务器之间的时间偏差(offset)用希腊字母θ表示;对时过程中的网络路径延迟(delay)用希腊字母δ表示。传输模型如图1所示。

图1 NTP传输模型

在图1中,T1和 T4是客户端时钟记录的发送NTP报文和接收NTP报文的时间,T2和T3是服务器端时钟记录的接收和发送NTP报文的时间。这里可以设定服务器的时钟是准确的,服务器和客户端时钟的时间偏差是θ,从客户端发送报文到服务器端的路径延迟是d1,从服务器到客户端的路径延迟是d2,路径延迟总和是δ[6]。那么可以列出以下3个方程式:

如果假设从客户端到服务器的路径延迟和从服务器到客户端的路径延迟相等,如式(4)所示

则以上式(1)至式(3)3个方程式变成:

我们可以求出:

服务器和客户端的时钟偏差,如式(7)所示

客户端与服务器端的网络路径延迟,如式(8)所示

2 网络时间服务系统软件设计

网络时间服务系统采用C/S架构,包含客户端软件和服务器软件。作为客户端的计算机,要求能产生符合协议标准的NTP数据包,并且发送给服务器,最后对服务器返回的数据包进行校验分析,对计算机本地时钟进行调整实现同步。客户端软件设计流程如图2所示。作为服务器的计算机,要求能接收客户端发送的NTP数据包,按NTP协议规范,根据服务器接收和发送数据的时间产生NTP数据包并发回给客户端[7]。服务器端软件设计流程如图3所示。

图2 客户端软件流程图

在软件设计的过程中不仅要对客户端和服务器进行详细的设计,还要对输出的结果进行分析,从而对软件进行优化处理,使服务器和客户端的性能达到最佳状态。通过对时钟偏差和网络延迟的结果进行分析,得到优化后的客户端和服务器软件。设计完成的NTP客户端软件界面如图4所示。

图4 NTP客户端软件界面

3 网络时间服务系统的安全性分析

3.1 NTP安全模型

NTP安全模型需要建立可信联系并且防护潜在的入侵。可信联系指的是服务器的身份需要通过校验,校验后的联系就是可信的。在安全模型里,最基本的假设是网络上的包可能被期望的接收者以外的人截获;当网络时间服务系统客户端和服务器在进行时间同步服务时,我们传输的NTP数据包是暴露给外界的,使用Wireshark等抓包工具就可以很轻易地看到发送的具体内容。截获者可以植入错误的时间值,也可以用伪造的数据包来阻塞网络、服务器和客户。对于有可能出现的入侵,NTP本身也有应对机制,最基本的防护机制是时戳交换,它可以防止伪造和重播攻击。时钟选择、过滤和集群算法则可以抵抗拜占庭式的恶意攻击。但是当存在顽固入侵者时,这些算法和检测就不能起到相应的作用了。国外对于NTP安全机制的研究更多的考虑数据包的认证性,即进行源认证和保护数据包的完整性。通过对目前NTP安全机制的研究分析,仅仅对数据包和服务器认证是不够的,这会导致用户无法获取数据包,达不到通过网络时间协议实现时间同步的目的。

因此,笔者考虑在NTP服务器和客户端中加入RSA非对称密钥算法[8],RSA算法是麻省理工学院的3个教授提出的一种公钥加密算法(RSA是他们3人姓氏Rivest,Shamir和Adleman的首字母缩写),是目前应用最广泛的公钥加密算法之一[9]。利用RSA算法建立基于安全壳(secure shell)模型的NTP安全模型,通过在传输的过程中对NTP数据包进行加密/解密处理,使得信息传输更加安全可靠。加密后的网络时间服务系统使用RSA非对称密钥算法对NTP请求报文做加密/解密处理。加密后的报文可以有效阻止入侵者监听用户发出的网络授时请求,适用于对网络授时安全性要求特别高的用户。

加入安全算法后的网络时间服务系统安全性与使用的安全算法有关,文中使用的RSA非对称密钥算法能够抵抗目前为止绝大多数密码攻击,是目前最安全的公钥加密算法之一。在服务器和客户端的通信过程中无论是公钥还是加密数据泄露,只要没有私钥,入侵者就无法解密。私钥只保存在服务器本地的硬件设备中,不使用网络进行传输。

3.2 加密网络时间服务系统实现过程

在NTP服务器和客户端中加入RSA非对称密钥算法的步骤是:NTP服务器创建一对秘钥长度为1024 bits的公钥和私钥,然后将公钥传给客户端。客户端使用公钥对数据进行加密,然后将加密后的数据发送给服务器。服务器收到加密数据之后用私钥进行解密。

综上所述,为了实现数据的安全传输,论文对客户端和服务器进行重新设计,采用RSA非对称密钥算法对网络时间协议的传输进行加密。网络时间服务系统加密/解密模块流程如图5所示。

图5 加密/解密模块流程图

通过对网络时间协议服务器和客户端的重新设计,将RSA非对称密钥算法加入客户端和服务器中。服务器在原来版本的基础上增加自动生成密钥功能、NTP数据包解密功能;客户端增加接收密钥以及NTP请求加密功能。经过重新设计的客户端软件界面如图6所示。

图6 基于RSA算法的NTP客户端软件界面

4 加密网络时间服务系统性能分析

4.1 实验环境设计

本文所述的测试环境主要模拟网络时间服务系统客户端和服务器在相同测试条件下非加密传输与加密传输对系统性能造成的影响。测试环境的结构如图7所示。

图7 测试环境结构

网络拓扑结构如上图所示,NTP服务器通过一台交换机(FAST-FS05C)与多个装有网络时间协议客户端的PC机组成局域网,用于模拟实际情况下的网络时间服务。

本实验利用客户端接收的NTP响应报文的时间戳进行分析处理,计算不同网络时间服务系统的时间偏差和链路延迟,以此来分析加密后的网络时间服务器的性能指标和对网络授时结果的影响。

4.2 授时精度分析

首先对服务器和客户端进行时间同步处理,在相同的实验条件下分别采集未加密的网络时间服务系统和基于RSA算法的网络时间服务系统(密钥长度为1 024 bits)的时间戳数据,测试次数为1 000次,时长为3 600 s。服务器和客户端的时间偏差结果分析如图8所示。图中上方的连续曲线表示基于RSA算法的网络时间服务系统的时间偏差数值及变化,下方的连续曲线表示网络时间服务系统的时间偏差数值及变化。

图8 时间偏差数据对比图

没有加密的网络时间协议服务器与客户端的时间偏差平均值为3.584 5 ms,标准差为1.322 7 ms;而基于RSA算法的网络时间协议服务器与客户端的时间偏差平均值为7.456 9 ms,标准差为3.092 5 ms。从图8中可以看出基于RSA算法的网络时间服务系统在减去加密时间后的时间偏差平均值比没有加密的网络时间服务系统增加了3.872 4 ms,具体原因可能是加密时间测算不准确,服务器性能不稳定等因素造成的。

4.3 链路延迟数据分析

图9显示的是同一测试环境下加密/未加密的服务器和客户端产生的链路延迟。横坐标表示实验采集点数,纵坐标表示测算后的链路延迟数据。图中上方的连续曲线表示基于RSA算法的网络时间服务系统链路延迟数值及变化,下方的连续曲线表示网络时间服务系统的链路延迟数值及变化。

图9 链路延迟数据对比图

未加密的网络时间协议服务器和客户端的链路延迟平均值是1.108 6 ms,标准差为0.583 0 ms;基于RSA算法的网络时间协议服务器和客户端的链路延迟平均值是8.298 1 ms,标准差为3.796 6 ms。基于RSA算法的服务器和客户端链路延迟平均值增加了7.189 5 ms。

4.4 实验结论

通过对比两组实验数据,基于RSA算法的网络时间服务系统性能相比较之前的版本有了一定程度的下降。具体可能是由于计算机对数据包加密/解密时间过长、加密时间测算不准确等原因导致的,影响了实验所得数据和分析结果。为了解决时间偏差量过大和链路延迟的问题,后续还要通过提高计算机性能和添加硬件设备加速加密/解密过程等措施提高系统性能,同时也要对加密时间进行准确计算,使得到的时间偏差和链路延迟数据更加准确。

5 结语

互联网技术的发展日新月异,在关注新技术的同时也不能忽视信息安全的重要性。网络时间协议凭借其快捷、方便的特点得到了很多领域的关注,但是它也存在很多安全漏洞,很容易被窃取,造成不可估量的损失。本文的主要工作是编写了网络时间服务系统软件,提出了一种加密传输网络时间协议的解决方案并进行实现。基于RSA算法的网络时间服务系统解决了网络时间协议在传输过程中安全性不高的问题。最后对基于RSA算法的网络时间服务系统进行性能分析,从最后对加密网络时间服务系统的统计分析结果来看,相比于未加密的网络时间服务系统,其时间偏差和链路延迟有了一定程度的增加,影响了系统的授时精度,下一步工作还需要通过提高计算机性能缩减加密/解密时间,改进时间偏差、链路延迟算法等方式,改善RSA非对称密钥算法对网络时间服务系统带来的影响,使加密后的网络时间服务系统达到使用要求。

参考文献:

[1] MILL D L.Network Time Protocol(version3)Specification,Implementation and Analysis[S].3rd ed.DARPA Network Working Group Report RFC-1305,Delaware:University of Delaware,1992.

[2] MILL D L.Simple Network Time Protocol(SNTP)Version 4 for IPv4,IPv6 and OSI[S].Network Working Group Report RFC-2030,Delaware:University of Delaware,1996.

[3] 李明国,宋海娜,胡卫东.Internet网络时间协议原理与实现[J].计算机工程,2002,28(2):275-277.

[4] 樊国丽,赵尚弘,朱蕊苹,等.基于NTP的网络中心战时间同步技术研究[J].光电与控制,2006,13(4):28-30.

[5] 王瑞清.嵌入式高精度NTP网络时间服务器研究与实现[D].武汉:华中科技大学,2011.

[6] 王建珍.计算机网络时间同步技术应用研究[J].山西电子技术,2005,4:7-8..

[7] 王礼.综合调度系统的时钟同步技术研究[D].成都:西安交通大学,2008.

[8] 胡云.RSA算法研究与实现[D].北京:北京邮电大学,2010.

[9] 孙淑玲.应用密码学[M].北京:清华大学出版社,2004.

猜你喜欢
数据包链路客户端
二维隐蔽时间信道构建的研究*
天空地一体化网络多中继链路自适应调度技术
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于星间链路的导航卫星时间自主恢复策略
如何看待传统媒体新闻客户端的“断舍离”?
SmartSniff
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
基于3G的VPDN技术在高速公路备份链路中的应用