一种网络时间同步系统及方法

文档序号:8433833阅读:368来源:国知局
一种网络时间同步系统及方法
【技术领域】
[0001]本发明涉及一种计算机网络技术,特别是涉及一种网络时间同步系统及方法。
【背景技术】
[0002]NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和NTP客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的m)P端口号为123。使用NTP的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用。对于运行NTP的本地系统,既可以接收来自其他时钟源的同步,又可以作为时钟源同步其他的时钟,并且可以和其他设备互相同步。因为NTP是基于UDP的,而且信息的传输都是明文的,这样其实很不安全,因为不合法的机器可以伪装成时间服务器,发送NTP报文给客户端,造成客户端同步错误的时间。
[0003]鉴于此,如何保证NTP服务端与NTP客户端网络时间同步的安全性成为了本领域技术人员亟待解决的问题。

【发明内容】

[0004]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种网络时间同步系统及方法,用于解决现有技术中NTP服务端与NTP客户端网络时间同步的存在安全隐患的问题。
[0005]为实现上述目的及其他相关目的,本发明提供一种网络时间同步系统,应用于包括NTP服务端与NTP客户端的网络中,所述NTP服务端包括:初始回应单元,用于对NTP客户端的请求进行回应,并请求NTP客户端的ID信息;ID信息验证单元,用于接收NTP客户端的ID信息并验证所述ID信息,对通过ID信息验证的所述NTP客户端发送一个随机产生的无符号整数;第一数据验证单元,用于接收所述NTP客户端返回的第一数据,并通过预设第一算法验证所述第一数据;当所述第一数据验证正确时,通过预设的第二算法得到的第二数据,并将所述第二数据发送给所述NTP客户端;时间信息发送单元,用于接收所述NTP客户端的时间信息请求,并回复相应的时间信息。
[0006]可选地,所述NTP客户端与NTP服务端之间采用TCP协议传输数据。
[0007]可选地,所述无符号整数产生的方式包括:随机函数产生一个随机数,以所述随机数的1000倍得到的值作为所述无符号整数。
[0008]可选地,所述第一算法包括:对所述NTP客户端的ID信息与所述无符号整数之和进行Hash函数运算。
[0009]可选地,所述第二算法包括MD5算法。
[0010]本发明提供一种网络时间同步系统,应用于包括NTP服务端与NTP客户端的网络中,所述NTP客户端包括:初始请求单元,用于对NTP服务端发出请求;ID信息发送单元,用于根据NTP服务端的回应发送所述NTP客户端的ID信息;第一数据生成单元,用于接收NTP服务端的无符号整数,并通过预设的第一算法得到第一数据,将所述第一数据发送给所述NTP服务端;第二数据验证单元,用于接收NTP服务端的第二数据,通过预设的第二算法验证所述第二数据;当所述第二数据的验证结果正确时,向所述NTP服务端发送时间信息请求;时间信息设置单元,用于接收所述NTP服务端发送的相应的时间信息,根据所述时间信息设置时间。
[0011]可选地,所述NTP客户端与NTP服务端之间采用TCP协议传输数据。
[0012]可选地,所述第一算法包括:对所述NTP客户端的ID信息与所述无符号整数之和进行Hash函数运算。
[0013]可选地,所述第二算法包括MD5算法。
[0014]本发明提供一种网络时间同步系统,应用于包括NTP服务端与NTP客户端的网络中,所述NTP服务端为如上所述的任一 NTP服务端,所述NTP客户端为如上所述的任一 NTP
客户端。
[0015]本发明提供一种网络时间同步方法,应用于包括NTP服务端与NTP客户端的网络中,所述网络时间同步方法包括:NTP客户端对NTP服务端发出请求;所述NTP服务端对NTP客户端的请求进行回应,并请求NTP客户端的ID信息;所述NTP客户端根据NTP服务端的回应发送所述NTP客户端的ID信息;所述NTP服务端接收NTP客户端的ID信息并验证所述ID信息,对通过ID信息验证的所述NTP客户端发送一个随机产生的无符号整数;所述NTP客户端接收NTP服务端的无符号整数,并通过预设的第一算法得到第一数据,将所述第一数据发送给所述NTP服务端;所述NTP服务端接收所述NTP客户端返回的第一数据,并通过所述第一算法验证所述第一数据;所述NTP服务端通过预设的第二算法得到的第二数据,将所述第二数据发送给通过验证的NTP客户端;所述NTP客户端接收NTP服务端的第二数据,通过所述第二算法验证所述第二数据;当所述第二数据的验证结果正确时,向所述NTP服务端发送时间信息请求;所述NTP服务端接收所述NTP客户端的时间信息请求,并回复相应的时间信息;所述NTP客户端接收所述NTP服务端发送的相应的时间信息,根据所述时间信息设置时间。
[0016]可选地,所述NTP客户端与NTP服务端之间采用TCP协议传输数据。
[0017]可选地,所述无符号整数产生的方式包括:随机函数产生一个随机数,以所述随机数的1000倍得到的值作为所述无符号整数。
[0018]可选地,所述第一算法包括:对所述NTP客户端的ID信息与所述无符号整数之和进行Hash函数运算。
[0019]可选地,所述第二算法包括MD5算法。
[0020]如上所述,本发明的一种网络时间同步系统及方法,具有以下有益效果:服务端会验证客户端的身份,只为合法的客户端提供服务;客户端会验证服务端的身份,不容易被攻击,同步错误的时间。本发明的技术方案能够对服务器和客户端的身份加以保护,并且对报文的内容加以保护,这样可以大大提高信息的安全度。
【附图说明】
[0021]图1显示为本发明的一种网络时间同步系统的一实施例的模块示意图。
[0022]图2显示为本发明的一种网络时间同步方法的一实施例的流程示意图。
[0023]图3显示为本发明的一种网络时间同步系统的一实施例的流程示意图。
[0024]元件标号说明
[0025]I网络时间同步系统
[0026]11NTP 服务端
[0027]111初始回应单元
[0028]112ID信息验证单元
[0029]113第一数据验证单元
[0030]114时间信息发送单元
[0031]12NTP 客户端
[0032]121初始请求单元
[0033]122ID信息发送单元
[0034]123第一数据生成单元
[0035]124第二数据验证单元
[0036]125时间信息设置单元
[0037]SI ?S9步骤
【具体实施方式】
[0038]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0039]需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0040]本发明提供一种网络时间同步系统,应用于包括NTP服务端与NTP客户端的网络中。在一个实施例中,如图1所示,网络时间同步系统I的NTP服务端11包括初始回应单元111、ID信息验证单元112、第一数据验证单元113以及时间信息发送单元114。其中:
[0041]初始回应单元111用于对NTP客户端的请求进行回应,并请求NTP客户端12的ID信息。
[0042]ID信息验证单元112用于接收NTP客户端12的ID信息并验证所述ID信息,对通过ID信息验证的所述NTP客户端12发送一个随机产生的无符号整数。在一个实施例中,所述ID信息验证的具体实现包括:NTP服务端11接收到ID号后将会到数据库中检查是否存在该ID号,如果存在则说明ID信息验证成功,NTP服务端11为该NTP客户端12提供服务,如果不存在。则说明ID信息验证失败,NTP客户端12的身份存在合法性问题,NTP服务端11将不为该NTP客户端12提供服务。在一个实施例中,所述无符号整数产生的方式包括:随机函数产生一个随机数,以所述随机数的1000倍得到的值作为所述无符号整数。具体地,由随机函数rand O产生一个随机数,以所述随机数的1000倍得到的值作为所述无符号整数,随机函数randO是一个生产随机数的函数。所述无符号整数包括一个32位的无符号整型数据,其的产生算法包括如下公式:(UINT32) (rand O *1000)。
[0043]第一数
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1