CN107395312B - 一种安全网络时间同步方法及装置 - Google Patents
一种安全网络时间同步方法及装置 Download PDFInfo
- Publication number
- CN107395312B CN107395312B CN201710844063.9A CN201710844063A CN107395312B CN 107395312 B CN107395312 B CN 107395312B CN 201710844063 A CN201710844063 A CN 201710844063A CN 107395312 B CN107395312 B CN 107395312B
- Authority
- CN
- China
- Prior art keywords
- server
- client
- time
- frame
- data frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0602—Systems characterised by the synchronising information used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0641—Change of the master or reference, e.g. take-over or failure of the master
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络安全领域。具体为一种安全网络时间同步方法及装置。本方法包括密钥协商步骤是客户端通过会话密钥请求和消息认证码请求获取会话密钥、消息认证码,与服务器建立互信;以及时间同步步骤通过时间同步数据帧交互实现安全时间同步。其中客户端向服务器端发送客户端密钥请求数据帧;服务器收到后,向客户端回复服务器会话密钥响应帧;客户端收到服务器会话密钥响应帧后,检查帧格式及内容,获取会话密钥。客户端向服务器发送客户端消息认证码请求帧;服务器收到客户端的客户端消息认证码请求帧后,根据会话密钥、消息内容计算消息认证码,向客户端回复服务器消息认证码响应帧;客户端收到服务器消息认证码响应帧后,检查帧格式及内容,获取消息认证码。
Description
技术领域
本发明涉及网络安全领域,尤其是一种安全网络时间同步方法及装置。
背景技术
NTP(Network Time Protocol)即网络时间协议,是用于互联网中时间同步的标准网络协议,其作用是把网络内的计算机时间同步到协调世界时(UTC)。NTP的设计充分考虑了互联网上时间同步的复杂性,采用时间滤波、时间选择、时钟调节等算法,不仅可校正当前时间,而且可持续跟踪时间的变化,能够自动进行调节,即使网络发生故障,也能维持时间的稳定。NTP采用客户端/服务器架构,支持多种工作模式,操作简单、灵活,提供的机制严格、实用、有效,可以适应各种规模、速度和连接通路情况的互联网环境。NTP目前已成为一种公认的时间同步协议,广泛应用于计算机网络时间同步服务,当前主要版本为NTPv3、NTPv4。在局域网环境下,NTP提供的时间精度为毫秒级,如果采用专用的NTP时间服务器,同步精度则更高。
NTP具有完善的算法体系,时间同步精度可以保证,但由于NTP采用无连接的UDP协议进行时间传输,数据包容易被篡改,因此安全性、可靠性相对较弱。另外,NTP协议本身也存在一定的安全漏洞,容易被用来进行NTP时间攻击。NTP支持MD5摘要等保护数据完整性的措施,一定程度上可以提高其可靠性,但MD5采用对称密钥且容易被破解。因此,NTP常常用于为对安全性要求不高的网络设备、应用服务器及终端等提供时间同步服务。
NTP时间同步机制的缺点:
1、安全性、可靠性不高。
NTP采用无连接的UDP协议进行时间同步数据包传输,端口号固定为123。由于采用无连接的UDP协议,数据包容易被捕获和截取(监听123端口),数据包中的时钟等级、时间精度、时间戳信息等时间同步参数容易被篡改,因此,时间同步的安全性、可靠性方面相对较弱,主要用于对可靠性要求不高的网络时间同步服务中,例如企业局域网、校园局域网等。
2、NTP本身具有安全漏洞,容易被利用进行NTP攻击。
正常情况下客户端发送请求包到服务器,服务器返回响应包到客户端,但是UDP协议是面向无连接的,所以客户端发送请求包的源IP地址很容易进行伪造,当把源IP地址修改为受害者的IP地址后,最终服务器返回的响应包就会返回到受害者的IP,这就形成了一次NTP反射攻击。另外,由于NTP应用广泛,且采用UDP协议、客户端/服务器工作模式,因此也常常被利用进行分布式拒绝服务(DDOS)攻击。DDoS通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的。
发明内容
本发明所要解决的技术问题是:针对现有技术存在的问题,提供一种安全网络时间同步方法及装置。
本发明采用的技术方案如下:
一种安全网络时间同步方法包括:
密钥协商步骤:客户端通过会话密钥请求和消息认证码请求获取会话密钥、消息认证码,与服务器建立互信;
安全时间同步步骤:客户端与服务器建立互信后,通过时间同步数据帧交互实现安全时间同步。
进一步的,所述会话密钥请求包括:
客户端与服务器端建立连接,然后向服务器端发送密钥请求数据帧;
服务器收到客户端的会话密钥请求帧后,向客户端回复会话密钥响应帧;
客户端收到服务器的会话密钥响应帧后,检查帧格式及内容,获取会话密钥。
进一步的,所述消息认证码请求实现过程是:
客户端向服务器发送消息认证码请求帧;
服务器收到客户端的消息认证码请求帧后,根据会话密钥、消息内容计算消息认证码,向客户端回复消息认证码响应帧;
客户端收到服务器的消息认证码响应帧后,检查帧格式及内容,获取消息认证码。
进一步的,所述安全时间同步步骤包括:
客户端向服务器发送时间同步请求数据帧;
服务器接收客户端的时间同步请求数据帧,进行服务器MAC验证,向客户端回复时间同步响应帧;
客户端接收服务器的时间同步响应数据帧,进行客户端MAC验证;
客户端计算与服务器之间的时间偏差,调整本地系统时间。
进一步的,所述服务器MAC验证是指服务器端收到时间同步请求数据帧后,获取时间同步请求数据帧中携带的会话密钥,重新计算时间同步请求数据帧的MAC值,并与时间同步请求数据帧中携带的MAC值进行比对。如果MAC值相同,则MAC验证通过;如果MAC值不相同,则服务器MAC验证失败;
所述服务器时间同步数据帧采用NTPS帧格式,包括NTP帧头和消息认证两部分;其中,NTP帧头采用标准NTP格式,帧头中携带时间同步请求数据帧发送时间戳T1、时间同步请求数据帧接收时间戳T2、时间同步响应数据帧发送时间戳T3;消息认证部分包括会话密钥和消息认证码,会话密钥来自于时间同步请求数据帧,消息认证码为服务器根据会话密钥计算的MAC值。
进一步的,所述客户端MAC验证过程指客户端收到服务器的时间同步响应数据帧后,调用消息认证码请求接口重新计算时间同步响应数据帧的MAC值,并与时间同步响应数据帧中携带的MAC值进行比对。如果MAC值相同,则客户端MAC验证通过;如果MAC值不相同,则客户端MAC验证失败;
所述客户端时间同步请求数据帧采用NTPS帧格式,包括:NTP帧头和消息认证两部分;其中,NTP帧头采用标准NTP格式,符合国际标准RFC1305规定,帧头中携带时间同步请求数据帧的发送时间戳T1;消息认证部分包括会话密钥(Session Key)和消息认证码(MAC),会话密钥和消息认证码通过密钥协商过程获取。
进一步的,所述调整本地系统时间指的是:
时间同步过程中,客户端接收服务器的时间同步响应数据帧,记录时间同步响应数据帧接收时间戳T4,从时间同步响应数据帧中获取T1、T2、T3,根据T1、T2、T3、T4时间戳值计算与服务器之间的时间偏差。所述的时间同步过程中,客户端采用标准NTP算法调整本地系统时间。
基于所述安全网络时间同步方法的同步装置,包括:
密钥协商模块:客户端通过会话密钥请求和消息认证码请求获取会话密钥、消息认证码,与服务器建立互信;
安全时间同步模块:客户端与服务器建立互信后,通过时间同步数据帧交互实现安全时间同步。
进一步的,所述密钥协商模块采用TCP/IP协议,通信端口号自定义,密钥协商通信端口号通过配置文件进行控制。
进一步的,所述时间同步模块采用UDP/IP协议,通信端口号自定义,时间同步通信端口号通过配置文件进行控制。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、NTP时间同步数据包容易被截取、数据包内容易被篡改,时间同步的安全性和可靠性不高。
2、NTP存在安全漏洞,常被利用进行NTP反射攻击、DDOS(分布式拒绝服务)攻击、中间人攻击等,给网络安全带来隐患。
本发明所述方法在标准NTP基础上,扩展、增加安全认证机制,建立互信后再进行时间同步,可提高NTP时间同步的可靠性及安全性。
本发明所述方法不改变原NTP完善的算法体系,时间同步精度可保证,同时可弥补现有NTP在安全方面的缺陷和不足,降低网络安全风险。
本发明所述的一种安全网络时间同步方法,基于安全网络时间协议(以下简称NTPS)
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是NTP时间同步机制;
图2是NTP/NTPS数据帧格式;
图3是NTPS时间同步机制;
图4是会话密钥产生机制;
图5是NTPS时间同步数据帧产生机制;
图6是MAC验证机制;
图7是客户端发送处理流程图;
图8是服务器端处理流程;
图9是客户端接收处理流程。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
本发明提出一种安全网络时间同步方法,该方法基于密钥协商、MAC(消息认证码)校验、双向身份认证等机制,在标准NTP基础上,扩展、增加安全认证协议,建立互信后再进行时间同步,提高了时间同步的可靠性及安全性。本方法不改变原NTP完善的算法体系,同时弥补现有NTP在安全认证方面的缺陷和不足,可为网络中的重要安全设备、应用服务器及终端提供安全、可靠、精度保证的时间同步服务。
NTP时间同步机制如上图1所示。NTP采用无连接的UDP/IP协议,端口号为123,通常采用客户端/服务器(C/S)工作模式。客户端向服务器发起时间同步请求,服务器回复时间同步响应数据包(包含T1、T2、T3时间戳)。客户端接收到服务器的时间同步响应数据包后,记录接收时间戳T4,从数据包中获取T1~T3。客户端依据T1~T4时间戳值计算客户端和服务器之间的时间偏差,根据NTP算法同步系统时间。
如图1所示,T1表示客户端发出NTP申请数据包的时间戳;T2表示服务器收到NTP申请数据包的时间戳;T3表示服务器发送NTP响应数据包的时间戳;T4表示客户端收到NTP响应数据包的时间戳。其中,T1~T3都在NTP响应数据包中携带,T4由客户端在本地产生。假设往返线路时延对称,则平均线路时延及时间偏差可用以下公式表示:
平均线路时延:D/2=((T2-T1)+(T4-T3))/2。
时间偏差:offset=((T2-T1)+(T3-T4))/2。
具体实现过程说明:
一、NTPS数据帧格式
NTP和NTPS数据帧格式如图2所示。
NTP数据帧包括NTP帧头、扩展域、Key ID(密钥标识)、Message Digest(信息摘要)几部分。其中,NTP帧头部分长度固定为48字节,包括时钟等级、时间精度、时间戳参数等;扩展域为NTPV4版本特有,长度可变,扩展域为可选项;Key ID、Message Digest域为信息摘要算法参数,Key ID长度固定为32位,Message Digest长度为64位或128位,该域为可选项。NTP通常采用MD5信息摘要算法,MD5算法Key ID长度固定为32位,摘要值长度固定为128位。
NTPS数据帧在NTP数据帧基础上扩展定义了Session Key(会话密钥)、MessageAuthenticator Code(消息认证码,以下简称MAC)。其中,会话密钥为NTPS所采用的HASH算法的输入密钥值;消息认证码为NTPS数据帧头与会话密钥经过HASH算法后得到的信息摘要值。会话密钥、消息认证码的长度和具体采用的HASH算法有关,对于同一种算法而言,会话密钥及消息认证码的长度为固定值,方便数据帧的解析和处理。
本发明所述的NTPS数据帧格式,相对于标准NTP帧格式,保留了NTP帧头部分,增加了会话密钥和消息认证码两个字段。NTP帧头部分包含了时间同步所需的参数,包括闰秒指示标识(LI)、工作模式(mode)、时钟层级(Strat)、时间精度(Prec)、参考标识(ReferenceIdentifier)、参考时间戳(Reference Timestamp)、原始时间戳(Originate Timestamp)、接收时间戳(Receive Timestamp)、发送时间戳(Transmit Timestamp)字段,各字段定义及含义符合RFC1305(NTPv3)。会话密钥字段长度固定,会话密钥由服务器端产生,客户端通过密钥协商机制获取会话密钥值。消息认证码字段长度固定,消息认证码由服务器端计算,客户端通过调用接口获取消息认证码。
本发明所述的NTPS数据帧中定义的会话密钥和消息认证码字段,不同于标准NTP数据帧中的Key ID和Message Digest字段,主要有两个方面的不同:一是采用的HASH算法(散列算法)不同,NTPS采用可靠性更高的散列算法(例如:SHA-1),标准NTP采用MD5摘要算法;二是密钥产生机制及获取方式不同,NTPS会话密钥统一由服务器端产生,客户端通过密钥协商机制获取当前会话密钥。标准NTP中的MD5算法,客户端和服务器各自维护相同的Key列表,双方通过Key ID的传递来获取Key值,且客户端、服务器均需要计算MD5摘要。
二、NTPS时间同步机制
本发明所述的安全时间同步机制如图3所示。
NTPS时间同步机制采用客户端/服务器模式,点对点单播通信,客户端是时间同步的请求方,服务器是时间同步的响应方。
NTPS时间同步机制分为两个主要过程,一是密钥协商过程,二是时间同步过程。客户端首先通过密钥协商过程获取会话密钥、消息认证码,与服务器建立互信后再进行下一步时间同步过程。如果密钥协商失败,则直接返回,不进行下一步时间同步过程。
(一)密钥协商过程
所述的密钥协商过程包括会话密钥请求和消息认证码请求两个阶段。两个阶段顺序执行,会话密钥请求成功后,才能进行消息认证码请求,任何一个阶段请求失败则本次密钥协商过程失败。
所述的密钥协商过程采用TCP/IP协议,通信端口号自定义,密钥协商通信端口号通过配置文件进行控制,灵活配置。
所述的密钥协商过程客户端是通信的发起方,服务器是通信的响应方。
1)客户端首先与服务器端建立TCP/IP连接,然后向服务器端发送客户端会话密钥请求数据帧。
所述的会话密钥请求数据帧包含:帧类型编码、帧长度、序列号、客户端IP地址、服务器端IP地址、通信端口号。其中,帧类型编码表示数据帧的类型,包括会话密钥请求帧、会话密钥响应帧、消息认证码请求帧、消息认证码响应帧;帧长度表示数据帧的字节长度;序列号为数据帧的流水号,请求帧和响应帧的序列号要对应;客户端IP地址、服务器端IP地址用于服务器产生会话密钥;通信端口号为配置文件定义的TCP/IP端口号。
2)服务器收到客户端的会话密钥请求帧后,向客户端回复会话密钥响应帧。
所述的会话密钥响应帧包含:帧类型编码、帧长度、序列号、客户端IP地址、服务器端IP地址、通信端口号、响应编码、会话密钥长度、会话密钥值。其中,响应编码表示此次会话密钥请求成功或失败;会话密钥长度表示服务器返回的会话密钥值长度,固定值;会话密钥值为服务器返回的会话密钥,用于计算消息认证码。
所述的会话密钥由服务器产生,会话密钥产生机制如图4所示。会话密钥由客户端IP地址、服务器IP地址、Key ID、Cookie,经过HASH算法后产生,其中,Key ID为密钥流水号,Cookie为随机值。
3)客户端收到服务器的会话密钥响应帧后,检查帧格式及内容,获取会话密钥。
所述的会话密钥响应帧检查包括:检查序列号是否匹配,检查会话密钥请求是否成功。如果检查发现会话密钥响应帧序列号与请求帧不匹配或服务器返回的会话密钥请求失败,则丢弃该帧,此次密钥协商过程及时间同步过程终止;如果检查通过,则从会话密钥响应帧相应字段获取会话密钥值。
4)客户端向服务器发送消息认证码请求帧。
所述的消息认证码请求帧包括:帧类型编码、帧长度、序列号、客户端IP地址、服务器端IP地址、通信端口号、会话密钥长度、会话密钥、消息长度、消息内容。其中,会话密钥长度、会话密钥值与服务器返回的会话密钥响应帧中的字段相同;消息长度表示待计算消息认证码的原文消息内容的字节长度值,固定为48字节;消息内容为待计算消息认证码的原文消息内容,特指NTP帧头部分。
5)服务器收到客户端消息认证码请求帧后,根据会话密钥、消息内容计算消息认证码,向客户端回复消息认证码响应帧。
所述的消息认证码响应帧包括:帧类型编码、帧长度、序列号、客户端IP地址、服务器端IP地址、通信端口号、响应编码、消息认证码长度、消息认证码。其中,响应编码表示此次消息认证码请求成功或失败;消息认证码长度表示服务器返回的消息认证码长度;消息认证码为服务器返回的此次计算的消息认证码。
6)客户端收到服务器消息认证码响应帧后,检查帧格式及内容,获取消息认证码。
所述的消息认证码响应帧检查包括:检查序列号是否匹配,检查消息认证码请求是否成功。如果检查发现消息认证码响应帧序列号与请求帧不匹配或服务器返回的消息认证码请求失败,则丢弃该帧,此次密钥协商过程及时间同步过程终止;如果检查通过,则从消息认证码响应帧相应字段获取消息认证码。
(二)安全时间同步过程
所述的安全时间同步过程采用UDP/IP协议,通信端口号自定义,时间同步通信端口号通过配置文件进行控制,灵活配置。
所述的安全时间同步过程通过时间同步数据帧交互实现时间同步,其中客户端是同步的发起方,服务器是同步的响应方。
所述的时间同步数据帧包括时间同步请求数据帧、时间同步响应数据帧。NTPS时间同步数据帧产生机制如图5所示。
安全时间同步过程如下:
1)客户端向服务器发送时间同步请求数据帧。
所述的时间同步请求数据帧采用NTPS帧格式,包括:NTP帧头和消息认证两部分。其中,NTP帧头采用标准NTP格式,符合国际标准RFC1305规定,帧头中携带时间同步请求数据帧的发送时间戳T1;消息认证部分包括会话密钥(Session Key)和消息认证码(MAC),会话密钥和消息认证码通过密钥协商过程获取。
2)服务器接收客户端的时间同步请求数据帧,进行服务器MAC验证,向客户端回复时间同步响应帧。
MAC验证过程参考图6。
所述的时间同步过程中,服务端需要对时间同步请求数据帧中的MAC值进行验证,如果MAC验证失败,则丢弃该帧。
所述的服务器MAC验证是指服务器端收到客户端时间同步请求数据帧后,获取数据帧中携带的会话密钥,重新计算时间同步请求数据帧的MAC值,并与时间同步请求数据帧中携带的MAC值进行比对。如果MAC值相同,则MAC验证通过;如果MAC值不相同,则MAC验证失败。
所述的时间同步响应帧采用NTPS帧格式,包括NTP帧头和消息认证两部分。其中,NTP帧头采用标准NTP格式,帧头中携带时间同步请求数据帧发送时间戳T1、时间同步请求数据帧接收时间戳T2、时间同步响应数据帧发送时间戳T3;消息认证部分包括会话密钥和消息认证码,会话密钥来自于时间同步请求数据帧,消息认证码为服务器根据会话密钥计算的MAC值。
3)客户端接收服务器时间同步响应数据帧,进行客户端MAC验证。
所述的时间同步过程中,客户端需要对时间同步响应数据帧中的MAC值进行验证,如果MAC验证失败,则丢弃该帧。
所述的客户端MAC验证是指客户端收到服务器时间同步响应数据帧后,调用消息认证码请求接口重新计算时间同步响应数据帧的MAC值,并与时间同步响应数据帧中携带的MAC值进行比对。如果MAC值相同,则客户端MAC验证通过;如果MAC值不相同,则客户端MAC验证失败。
4)客户端计算与服务器之间的时间偏差,调整本地系统时间。
所述的时间同步过程中,客户端接收服务器的时间同步响应数据帧,记录时间同步响应数据帧接收时间戳T4,从时间同步响应数据帧中获取T1、T2、T3,根据T1、T2、T3、T4时间戳值计算与服务器之间的时间偏差。
所述的时间同步过程中,客户端采用标准NTP算法、安全策略(符合RFC 1305)调整本地系统时间。
三、NTPS时间同步数据帧处理流程
本发明所述的安全时间同步方法中,包括客户端发送处理流程、服务器端处理流程及客户端接收处理流程。
(一)客户端发送处理流程
所述的安全时间同步过程中,客户端是时间同步的发起者,服务器是时间同步的响应者,客户端发送处理流程参考图7。
1)客户端产生NTPS申请数据帧。
所述的NTPS申请数据帧包括NTP帧头和消息认证两部分,NTP帧头采用标准NTP协议,消息认证部分采用自定义的格式。
2)客户端获取会话密钥。
客户端向服务器发送会话密钥请求数据帧,服务器回复会话密钥响应数据帧。
会话密钥响应数据帧中携带会话密钥值。客户端首先进行密钥协商参数初始化,然后向服务器发送会话密钥请求,如果请求失败,则本次时间同步过程结束,待下次同步周期到来后,重新进行密钥协商;如果会话密钥请求成功,则可获取会话密钥。
3)客户端计算NTPS申请数据帧MAC值。
客户端向服务器发送消息认证码请求数据帧,服务器回复消息认证码响应数据帧。
消息认证码请求数据帧中携带会话密钥、原文消息内容等信息,消息认证码响应数据帧中携带申请数据帧MAC值。如果请求失败,则本次时间同步过程结束;如果请求成功,则可获取NTPS申请数据帧MAC值。
4)客户端发送NTPS申请数据帧。
客户端通过密钥协商过程,从服务器获取会话密钥及NTPS申请数据帧MAC值,填充NTPS申请数据帧中的Session Key和MAC字段,向服务器发送NTPS申请数据帧。所述NTPS申请数据帧中携带发送时间戳T1。
(二)服务器收发处理流程
服务器处理流程参考图8。
1)服务器接收客户端NTPS申请数据帧。
服务器监听NTPS时间同步端口,接收客户端NTPS申请数据帧,记录客户端NTPS申请数据帧接收时间戳T2。所述的时间同步端口为UDP/IP通信端口,端口号自定义,通过配置文件进行控制,灵活配置。
2)服务器解析NTPS申请数据帧,获取会话密钥。
客户端NTPS申请数据帧中携带会话密钥、消息认证码,服务器解析NTPS申请数据帧,从数据帧中获取会话密钥。
3)服务器对NTPS申请数据帧进行MAC验证。
服务器采用获取的会话密钥值重新计算客户端NTPS申请数据帧的MAC值,并与数据帧中携带的MAC值进行比对。如果MAC值相同,则MAC验证成功;如果MAC值不相同,则MAC验证失败。MAC验证失败,则丢弃该帧。
4)服务器产生NTPS响应数据帧。
服务器MAC验证成功后,产生NTPS响应数据帧。NTPS响应帧中携带时间戳信息、会话密钥、消息认证码。所述的会话密钥是指从客户端NTPS申请数据帧中获取的会话密钥,消息认证码是指利用会话密钥重新计算的NTPS响应数据帧MAC值。
5)服务器发送NTPS响应数据帧。
服务器记录NTPS响应数据帧发送时间戳T3,并向客户端发送NTPS响应数据帧。所述NTPS响应数据帧携带T1、T2、T3时间戳。
(三)客户端接收处理流程
客户端处理流程参考图9。
1)客户端接收服务器NTPS响应数据帧。
客户端监听NTPS时间同步端口,接收服务器NTPS响应数据帧,记录NTPS响应数据帧接收时间戳T4。所述的时间同步端口为UDP/IP通信端口,端口号自定义,通过配置文件进行控制,灵活配置。
2)客户端解析NTPS响应数据帧,获取会话密钥、时间戳。
服务器NTPS响应数据帧中携带时间戳、会话密钥、消息认证码,客户端解析NTPS响应数据帧,从数据帧中获T1、T2、T3时间戳及会话密钥。
3)客户端对NTPS响应数据帧进行MAC验证。
客户端采用获取的会话密钥重新计算服务器NTPS响应数据帧的MAC值,并与数据帧中携带的MAC值进行比对。如果MAC值相同,则MAC验证成功;如果MAC值不相同,则MAC验证失败。MAC验证失败,则丢弃该帧。
4)客户端计算与服务器时间偏差。
客户端MAC验证成功后,利用T1、T2、T3、T4时间戳计算与服务器的时间偏差。所述的时间偏差计算方法符合RFC1305(NTPV3)定义。
5)客户端根据安全策略同步系统时间。
客户端利用服务器NTPS响应数据帧获取时间同步参数,采用NTP算法、安全策略同步本系统时间。所述的NTP算法、安全策略符合RFC1305定义。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (7)
1.一种安全网络时间同步方法,其特征在于包括:
密钥协商步骤:客户端通过会话密钥请求和消息认证码请求获取会话密钥、消息认证码,与服务器建立互信;
安全时间同步步骤:客户端与服务器建立互信后,通过时间同步数据帧交互实现安全时间同步;具体包括:
客户端向服务器发送时间同步请求数据帧;
服务器接收客户端的时间同步请求数据帧,进行服务器MAC验证,向客户端回复时间同步响应帧;
客户端接收服务器的时间同步响应数据帧,进行客户端MAC验证;
客户端计算与服务器之间的时间偏差,调整本地系统时间;
所述服务器时间同步数据帧采用NTPS帧格式,包括NTP帧头和消息认证两部分;其中,NTP帧头采用标准NTP格式,帧头中携带时间同步请求数据帧发送时间戳T1、时间同步请求数据帧接收时间戳T2、时间同步响应数据帧发送时间戳T3;消息认证部分包括会话密钥和消息认证码,会话密钥来自于时间同步请求数据帧,消息认证码为服务器根据会话密钥计算的MAC值;
其中,所述服务器MAC验证是指服务器端收到时间同步请求数据帧后,获取时间同步请求数据帧中携带的会话密钥,重新计算时间同步请求数据帧的MAC值,并与时间同步请求数据帧中携带的MAC值进行比对;如果MAC值相同,则MAC验证通过;如果MAC值不相同,则服务器MAC验证失败;
所述调整本地系统时间指的是: 时间同步过程中,客户端接收服务器的时间同步响应数据帧,记录时间同步响应数据帧接收时间戳T4,从时间同步响应数据帧中获取T1、T2、T3,根据T1、T2、T3、T4时间戳值计算与服务器之间的时间偏差;所述的时间同步过程中,客户端采用标准NTP算法调整本地系统时间。
2.根据权利要求1所述的一种安全网络时间同步方法,其特征在于所述会话密钥请求包括:
客户端与服务器端建立连接,然后向服务器端发送密钥请求数据帧;
服务器收到客户端的会话密钥请求帧后,向客户端回复会话密钥响应帧;
客户端收到服务器的会话密钥响应帧后,检查帧格式及内容,获取会话密钥。
3.根据权利要求1所述的一种安全网络时间同步方法,其特征在于所述消息认证码请求实现过程是:
客户端向服务器发送消息认证码请求帧;
服务器收到客户端的消息认证码请求帧后,根据会话密钥、消息内容计算消息认证码,向客户端回复消息认证码响应帧;
客户端收到服务器的消息认证码响应帧后,检查帧格式及内容,获取消息认证码。
4.根据权利要求1所述的一种安全网络时间同步方法,其特征在于所述客户端MAC验证过程指客户端收到服务器的时间同步响应数据帧后,调用消息认证码请求接口重新计算时间同步响应数据帧的MAC值,并与时间同步响应数据帧中携带的MAC值进行比对;如果MAC值相同,则客户端MAC验证通过;如果MAC值不相同,则客户端MAC验证失败;
所述客户端时间同步请求数据帧采用NTPS帧格式,包括:NTP帧头和消息认证两部分;其中,NTP帧头采用标准NTP格式,符合国际标准RFC1305规定,帧头中携带时间同步请求数据帧的发送时间戳T1;消息认证部分包括会话密钥和消息认证码,会话密钥和消息认证码通过密钥协商过程获取。
5.基于权利要求1至4之一所述安全网络时间同步方法的同步装置,其特征在于包括:
密钥协商模块:客户端通过会话密钥请求和消息认证码请求获取会话密钥、消息认证码,与服务器建立互信;
安全时间同步模块:客户端与服务器建立互信后,通过时间同步数据帧交互实现安全时间同步;具体包括:客户端向服务器发送时间同步请求数据帧;
服务器接收客户端的时间同步请求数据帧,进行服务器MAC验证,向客户端回复时间同步响应帧;
客户端接收服务器的时间同步响应数据帧,进行客户端MAC验证;
客户端计算与服务器之间的时间偏差,调整本地系统时间;
其中,所述服务器MAC验证是指服务器端收到时间同步请求数据帧后,获取时间同步请求数据帧中携带的会话密钥,重新计算时间同步请求数据帧的MAC值,并与时间同步请求数据帧中携带的MAC值进行比对;如果MAC值相同,则MAC验证通过;如果MAC值不相同,则服务器MAC验证失败。
6.根据权利要求5所述的安全网络时间同步方法的同步装置,其特征在于所述密钥协商模块采用TCP/IP协议,通信端口号自定义,密钥协商通信端口号通过配置文件进行控制。
7.根据权利要求6所述的安全网络时间同步方法的同步装置,其特征在于所述时间同步模块采用UDP/IP协议,通信端口号自定义,时间同步通信端口号通过配置文件进行控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710844063.9A CN107395312B (zh) | 2017-09-19 | 2017-09-19 | 一种安全网络时间同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710844063.9A CN107395312B (zh) | 2017-09-19 | 2017-09-19 | 一种安全网络时间同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107395312A CN107395312A (zh) | 2017-11-24 |
CN107395312B true CN107395312B (zh) | 2019-03-19 |
Family
ID=60350190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710844063.9A Active CN107395312B (zh) | 2017-09-19 | 2017-09-19 | 一种安全网络时间同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107395312B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110034913A (zh) * | 2018-01-12 | 2019-07-19 | 南京计然信息技术有限公司 | 一种客流计数终端自动对时方法 |
CN108600350B (zh) * | 2018-04-11 | 2021-01-15 | 上海进馨网络科技有限公司 | 多场景模式的在线课程同步控制系统及方法 |
CN109255939B (zh) * | 2018-09-13 | 2020-04-10 | 泉州市华祥工业设计有限公司 | 水污染智能无线监测方法及系统 |
FR3086830B1 (fr) * | 2018-09-27 | 2023-01-06 | Gorgy Timing | Synchronisation temporelle securisee |
CN109152091B (zh) * | 2018-10-12 | 2022-02-15 | 广州雷迅创新科技有限公司 | 一种可用于无人机集群控制的通信系统 |
CN109474667B (zh) * | 2018-10-12 | 2021-05-25 | 广州雷迅创新科技股份有限公司 | 一种基于tcp和udp的无人机通信方法 |
CN109639383A (zh) * | 2018-12-24 | 2019-04-16 | 苏州蜗牛数字科技股份有限公司 | 一种实现分布式帧同步服务器群的方法和系统 |
CN110445848B (zh) * | 2019-07-22 | 2023-02-24 | 创新先进技术有限公司 | 用于事务处理的方法和装置 |
CN110784218B (zh) * | 2019-11-11 | 2023-03-21 | 电信科学技术第五研究所有限公司 | 一种快速识别铷钟类型的方法 |
CN110943832B (zh) * | 2019-11-19 | 2023-06-06 | 江苏恒宝智能系统技术有限公司 | 一种数据加密传输方法 |
CN111324545B (zh) * | 2020-03-13 | 2023-09-22 | 中国工商银行股份有限公司 | 应用服务器中间件性能测试方法、测试终端、应用服务器 |
CN111525972B (zh) * | 2020-03-16 | 2022-12-30 | 徐州市口腔医院 | 一种基于二次多项式的时间同步方法 |
CN112019289B (zh) * | 2020-08-28 | 2023-05-16 | 帷幄匠心科技(杭州)有限公司 | 一种分时系统时间同步方法 |
CN112202525B (zh) * | 2020-10-29 | 2022-11-01 | 电信科学技术第五研究所有限公司 | 一种多板卡设备的pps延迟自动测量及补偿方法 |
CN113014349B (zh) * | 2021-03-01 | 2022-12-16 | 北京嘀嘀无限科技发展有限公司 | 时间校准方法、装置、电子设备、存储介质和程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877693A (zh) * | 2009-04-29 | 2010-11-03 | 华为技术有限公司 | 获取公钥的方法、装置和系统 |
CN103259768A (zh) * | 2012-02-17 | 2013-08-21 | 中兴通讯股份有限公司 | 一种消息认证方法、系统和装置 |
CN106603182A (zh) * | 2015-10-16 | 2017-04-26 | 北京邮电大学 | 一种面向空间环境的安全的时间同步方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2405621B1 (en) * | 2010-07-07 | 2013-08-28 | Siemens Aktiengesellschaft | A method of time synchronization communication |
-
2017
- 2017-09-19 CN CN201710844063.9A patent/CN107395312B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877693A (zh) * | 2009-04-29 | 2010-11-03 | 华为技术有限公司 | 获取公钥的方法、装置和系统 |
CN103259768A (zh) * | 2012-02-17 | 2013-08-21 | 中兴通讯股份有限公司 | 一种消息认证方法、系统和装置 |
CN106603182A (zh) * | 2015-10-16 | 2017-04-26 | 北京邮电大学 | 一种面向空间环境的安全的时间同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107395312A (zh) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107395312B (zh) | 一种安全网络时间同步方法及装置 | |
CN102739659B (zh) | 一种防重放攻击的认证方法 | |
CN103338215B (zh) | 基于国密算法建立tls通道的方法 | |
CN103152182B (zh) | 一种电子数据认证验证方法 | |
WO2019036019A1 (en) | SYSTEMS AND METHODS FOR IMPLEMENTING DATA COMMUNICATIONS USING SECURITY TOKENS | |
US20080320152A1 (en) | Method and system for detecting a communication problem in a computer network | |
CN105681470B (zh) | 基于超文本传输协议的通信方法、服务器、终端 | |
CN111447276B (zh) | 一种具有密钥协商功能的加密续传方法 | |
JP2011501582A (ja) | 信頼できる第三者に基づいたエンティティの相互認証の方法、及びシステム | |
CN106230587B (zh) | 一种长连接防重放攻击的方法 | |
CN101442411A (zh) | 一种p2p网络中对等用户结点间的身份认证方法 | |
CN108040065A (zh) | 网页跳转后的免登录方法、装置、计算机设备和存储介质 | |
RU2530691C1 (ru) | Способ защищенного удаленного доступа к информационным ресурсам | |
CN103259768A (zh) | 一种消息认证方法、系统和装置 | |
CN105577618A (zh) | 认证方法及装置 | |
Annessi et al. | SecureTime: Secure multicast time synchronization | |
CN111510302B (zh) | 一种提高安全通信协议中证书验证效率的方法和系统 | |
CN107104919A (zh) | 防火墙设备、流控制传输协议sctp报文的处理方法 | |
CN104135358B (zh) | 基于非对称数字签名的配电终端sntp对时方法 | |
CN114928503B (zh) | 一种安全通道的实现方法及数据传输方法 | |
US11677741B2 (en) | Method and system for secure time synchronization | |
CN104753945B (zh) | 一种网络时间同步系统及方法 | |
CN109412811A (zh) | 下发认证证书及获取认证证书的方法 | |
Callas et al. | ZRTP: Media path key agreement for unicast secure RTP | |
Zimmermann et al. | RFC 6189: ZRTP: Media Path Key Agreement for Unicast Secure RTP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |