时间同步通信的方法

文档序号:7716902阅读:181来源:国知局
专利名称:时间同步通信的方法
技术领域
本发明涉及时间同步通信,特别涉及一种在时间同步通信中在客户端和时间服务器之间进行通信的方法。
背景技术
在分布式控制系统或网络中,可能的是,将主控制系统、部署配置和子部件安装在不同的位置,或甚至安装在不同的时区中。用户、例如人机接口(HMI)操作员或工程师应在具有精确的时间戳的设备中看到并访问运行时间过程数据和值、警报、诊断信息或任何类型的数据,从而可从任何装置监测、控制并存储出现在该设备中的事件的顺序,使得可采取适当的行动。在过程自动化环境中,时间同步可用于同步过程、控制复杂顺序、记录并证明顺序、确认过程、分析过程,以及分析事件的原因和效果。在时间同步通信中,一个系统部件为网络中的所有其它部件提供时间信息,从而使得网络中的所有部件同步并采用公共的时间信息。可由时间服务器(有时叫做时间主动装置)分配时间信息,或由客户端(有时叫做时间从动装置)请求时间信息。如果任何非预期的来源操纵网络中的时间戳,或者,如果其分配错误的时间戳,那么,其将导致设备中的错误时间,并且,其将危及设备操作。因此,在设备中需要安全的时间同步。这还意味着, 由于没有连续的连接,所以某人更易于通过对一个端口简单地发送消息来尝试未授权的通信,已知该端口等待对时间请求的回应或对任何在主机上运行的给定过程的回应。而且, 入侵者可能对时间服务器发送操纵请求。还可能限制某些网络协议(IP)地址,以识别发送器,并且,如果不是来自期望的发送器,那么放弃所接收的请求。然而,入侵者将能够操纵包括IP报头的包,从而利用实际的发送器和接收器从不同的机器将其发送。

发明内容
本发明的目的是,在客户端和时间服务器之间的时间同步通信的早期,检测未授权的访问。通过以下方法来实现所述目的,该方法用于从客户端向时间服务器发送公共密钥,以在时间同步通信的初始化开始之前,通过对客户端独立地提供时间服务器的公共密钥,而将对客户端的响应消息加密成时间同步通信的一部分,并且,对时间服务器进一步发送客户端的加密的公共密钥,其中,利用时间服务器的公共密钥加密客户端的公共密钥,以形成加密的公共密钥,并且,时间服务器进一步利用时间服务器的私人密钥解密客户端的加密的公共密钥。进一步通过用于客户端和时间服务器之间的时间同步通信的方法来实现所述目的。该方法包括,通过上述方法从客户端向时间服务器发送公共密钥,并且还由时间服务器向客户端发送具有会话密钥的会话密钥响应消息,其中,利用客户端的公共密钥加密会话密钥,并进一步利用时间服务器的私人密钥进行标记。在客户端一侧,该方法进一步包括, 利用时间服务器的公共密钥验证所标记的会话密钥,并利用客户端的私人密钥解密会话密钥。然后,客户端利用所接收的会话密钥对时间请求产生安全的散列值,并向时间服务器发送时间请求消息和安全的散列值。在时间服务器处,在安全的散列值和会话密钥的基础上验证时间请求消息,并在此验证的基础上从时间服务器向客户端发送时间响应,其中,时间响应包括和对于执行时间同步的时间有关的信息。潜在的想法是,不取决于时间同步通信并且在时间同步通信之前,一开始对客户端提供时间服务器的公共密钥。向客户端提供时间服务器的公共密钥的时间或顺序,与时间同步通信不绑定。例如,在网络连接的环境中,仅对授权的客户端提供时间服务器的公共密钥。这提供了安全性,确保仅有授权用户能够访问时间服务器的公共密钥。在同步通信的过程中,为了安全性而加密客户端的公共密钥,并将其发送至时间服务器。仅可由时间服务器利用时间服务器的私人密钥解密客户端的公共密钥,避免任何未授权的访问,产生额外的安全性。目前,在时间同步通信中,例如使用网络时间协议(NTP),对于由客户端所发出的正式请求消息,由时间服务器通过适当的响应消息对客户端提供时间服务器的公共密钥。而且,不用任何加密地向时间服务器发送客户端的公共密钥。因此,时间服务器的公共密钥和客户端的公共密钥对于第三方的攻击或未授权的访问来说是开放的。由于向客户端提供时间服务器的公共密钥和向时间服务器发送客户端的加密的公共密钥的步骤出现在时间同步通信的开始时,所以早期检测未授权的访问是可能的。根据本发明,由于仅对授权客户端提供时间服务器的公共密钥,所以,将在时间同步通信的过程中尝试访问时间服务器的第三方认为是入侵者或未授权用户。而且,由于仅可由时间服务器的私人密钥解密客户端的加密的公共密钥,所以,也可将时间服务器处的任何不成功的解密认为是检测到未授权的访问。在一个优选实施方式中,为客户端提供时间服务器的公共密钥的步骤包括,在时间同步通信之前在客户端中预安装公共密钥。如果在时间同步通信的初始化过程中每次交换公共密钥,那么,有很大的可能性将用于未授权的访问的所述公共密钥暴露于第三方。通过在客户端中预安装时间服务器的公共密钥,可避免上述危险。在一个替代实施方式中,为客户端提供时间服务器的公共密钥的步骤包括,在时间同步通信之前,从安全存储器为客户端提供公共密钥。安全存储器是网络中的可信存储器,其中,一开始可存储服务器的公共密钥,并且之后将其提供给客户端。由于此存储器是安全存储器,所以可将此存储器配置为仅对授权客户端提供公共密钥,或可将其配置为从未授权客户端拒绝请求,或可将其配置为进行这两个操作。在一个替代实施方式中,该方法还包括,向时间服务器发送客户端的标记的公共密钥,其中,利用客户端的私人密钥标记客户端的公共密钥,以形成标记的公共密钥,并且, 在时间服务器处,利用由时间服务器解密的、客户端的公共密钥,验证客户端的标记的公共密钥。这对时间同步通信提供额外的安全性。由于已经解密了客户端的公共密钥的无格式版本,并且,其可由时间服务器使用,所以,利用客户端的无格式的公共密钥成功地验证客户端的标记的公共密钥,可确保不操纵公共密钥,并且,该通信是授权的时间同步通信的一部分。由于成对地产生公共密钥和私人密钥,所以,利用客户端的私人密钥标记客户端的公共密钥,使得能够仅利用相应的相对的密钥对来验证标记的消息。对加密消息进行解密的方法也使用相应的相对的密钥对。如果客户端和时间服务器拥有相应的密钥,那么这仅允许客户端和时间服务器成功地执行所述相应的操作。在一个替代实施方式中,根据NTP标准,将客户端的加密的公共密钥发送至时间服务器,作为时间同步通信的一部分,其中,客户端的加密的公共密钥包括在与NTP报头的NTP扩域相关联的值域中。为了便于网络装置中的时间同步,已经建立了网络时间协议 (NTP)标准。其对于待同步的网络上的计算机中的所有时钟提供了一种方式。由于已经在 NTP协议栈中的NTP报头的扩域中提供了值域,所以,可用相同的域来存储并发送加密的公共密钥,避免产生任何新的域。在一个替代实施方式中,根据NTP标准,将客户端的标记的公共密钥发送至时间服务器,作为时间同步通信的一部分,其中,客户端的标记的公共密钥包括在与NTP报头的 NTP扩域相关联的标记域中。由于已经在NTP协议栈中的NTP报头的扩域中提供了标记域, 所以,可用相同的域来存储并发送标记的公共密钥,避免产生任何新的域。在一个替代实施方式中,根据NTP标准,由时间服务器将加密的会话密钥发送至客户端,作为时间同步通信的一部分,其中,加密的会话密钥包括在与NTP报头的NTP扩域相关联的值域中。在另一替代实施方式中,根据NTP标准,由时间服务器将标记的加密的会话密钥发送至客户端,作为时间同步通信的一部分,其中,标记的加密的会话密钥包括在与 NTP报头的NTP扩域相关联的标记域中。会话密钥基本上用于识别和联系一个通信对话的所有消息,从而确保数据完整性。会话密钥用来由客户端产生安全的散列值,在客户端和时间服务器之间通信的时间同步通信中,为了数据完整性而在时间服务器处对其进一步交叉校验。由于已经在NTP协议栈中的NTP报头的扩域中提供了值域和标记域,所以,可利用相同的域来分别存储并发送加密的公共密钥和标记的加密的公共密钥,避免产生任何新的域。在另一替代实施方式中,在时间同步通信的过程中,客户端适于多次向时间服务器发送时间请求消息,以进行时间同步。多个时间请求使得客户端能够查找可能对其操作非常重要的时间信息的恒定更新的时间。在另一替代实施方式中,为客户端提供时间服务器的公共密钥包括,在由客户端在时间同步通信中向时间服务器发送时间请求消息之前,由时间服务器向客户端发送一次公共密钥。由时间服务器发送公共密钥不需要出现在NTP通信或NTP包交换的过程中。提供一次公共密钥可确保,在时间同步通信的过程中不重复发送公共密钥,从而不将其暴露于第三方以进行任何连续操纵。例如,在时间服务器和客户端的维修时间或安装时间,可将时间服务器的公共密钥发送至客户端。一旦在客户端接收到公共密钥之后,便可将公共密钥永久地存储在客户端中,以进行进一步通信。由于在维修时间且不在时间同步通信的时间向客户端发送公共密钥,所以,第三方将不太可能注意到或听到公共密钥的转移。在一个替代实施方式中,由密钥生成器生成时间服务器和客户端的私人密钥和公共密钥。单独的密钥生成器可用于时间服务器和客户端的私人密钥和公共密钥的生成。其通常成对地生成,从而使得二者具有公共的相关参数,其可用于加密、解密、标记和验证。


在下文中,参考附图中所示的示出的实施方式,进一步描述本发明,其中图1示出了一个网络,在该网络中,通常用时钟完成时间同步。
图2示出了时间同步通信过程中的客户端和时间服务器之间的用于从客户端向时间服务器发送客户端的公共密钥的工艺流程图。图3示出了根据本发明的一个实施方式的时间同步通信过程中的客户端和时间服务器之间的用于额外确认客户端的真实性的工艺流程图。图4示出了表示根据本发明的一个实施方式的在客户端和时间服务器之间使用 NTP协议的时间同步的流程图。
具体实施例方式图1示出了域网络100,在该网络中,利用时钟102完成时间同步。将站通信总线 103配置为用于自动化系统104和服务器105中的通信。自动化系统104可以是可编程逻辑控制器(PLC)。将终端通信总线106配置为用于在客户端107和服务器105之间的通信。 使站通信总线103与时钟102同步。该时钟甚至可以是时间服务器。用时钟102直接使域控制器108同步,时钟进一步可使所有其它域成员同步,例如,客户端107和服务器105。图2示出了时间同步通信过程中的客户端201和时间服务器202之间的工艺流程图200。本发明提出了一种用于从客户端201向时间服务器202发送客户端201的公共密钥203的安全方法。将客户端201的公共密钥203基本上发送至时间服务器202,以将对客户端201的响应消息加密成时间同步通信的一部分。时间服务器202具有公共密钥204和私人密钥206。在时间同步通信开始之前, 时间服务器202的公共密钥204与客户端201共享。为了便于说明和理解,在虚线框中示出了时间服务器的共享的公共密钥204。将时间服务器202的公共密钥204与客户端201 共享,这包括在时间同步通信之前在客户端中预安装公共密钥。在另一实施方式中,将时间服务器202的公共密钥204与客户端201共享,这包括在时间同步通信之前由时间服务器 202向客户端201发送一次公共密钥204。在又一实施方式中,将时间服务器202的公共密钥204与客户端201共享,这包括在时间同步通信之前从安全存储器向客户端201提供公共密钥204。对客户端的公共密钥203进行加密,以形成加密的公共密钥205。利用时间服务器 202的公共密钥204对客户端的公共密钥203进行加密。时间服务器202利用时间服务器 202的私人密钥206解密客户端的加密的公共密钥205。现在,客户端201已将其公共密钥 203安全地发送至时间服务器202,并且,时间服务器202具有客户端201的公共密钥203,
以进行进一步通信。图3示出了时间同步通信过程中的客户端201和时间服务器202之间的用于额外确认客户端201的真实性的工艺流程图300。这是除了如图2中说明的由时间服务器202 安全地获得客户端201的公共密钥203以外的额外确认。可使此步骤成为可选的,但是,由于安全原因,其应该是非常优选的。利用客户端201的私人密钥302标记客户端201的公共密钥203,以形成标记的公共密钥303。然后,由客户端201将客户端的标记的公共密钥303(将其示出为虚线框)发送至时间服务器202。由于已经解密了客户端的公共密钥203(在虚线框中示出)并将其保持在时间服务器202中,所以,可利用由时间服务器202解密的客户端201的公共密钥203 来容易地验证客户端201的标记的公共密钥303。
图4示出了表示根据本发明的一个实施方式的在客户端和时间服务器之间使用 NTP协议的时间同步的流程图400。根据此实施方式,可在客户端和时间服务器之间的时间同步通信协议(例如,类似NTP协议的协议)中实现根据图2和图3讨论的安全通信。用于客户端和时间服务器之间的时间同步通信的此类型的方法包括,按照步骤402,通过根据图1和图2说明的方法,从客户端201向时间服务器202发送公共密钥203。在会话密钥请求的过程中,由客户端201向时间服务器202发送公共密钥203。根据NTP协议,在步骤 404,时间服务器202 (其可能是NTP服务器)向客户端201 (其可能是NTP客户端)发送具有会话密钥的会话密钥响应消息。利用客户端的公共密钥203加密会话密钥,并利用时间服务器202的私人密钥206进一步标记加密的会话密钥。NTP报头将具有由标记域和值域组成的扩域。为了简明的原因,说明书中不包括具有其整个相关域的NTP报头的详细说明。 将加密的会话密钥封装在与NTP协议的NTP扩域相关联的值域中。此外,在与NTP协议的 NTP扩域相关联的标记域中标记并封装加密的会话密钥。与上述内容相反,如果在会话密钥请求的过程中,如果客户端201发送没有任何加密的其公共密钥203信息,而只是作为无格式数据,那么,入侵者可能访问无格式数据并在会话密钥请求的过程中产生攻击。入侵者可操纵会话密钥请求包中的客户端的公共密钥 203。然后,入侵者可将被操纵的包发送至时间服务器202。时间服务器202将把会话密钥请求认为是有效请求,这是因为不影响数据完整性。时间服务器202将向客户端201发送会话密钥响应。然后,时间服务器202产生会话密钥,并利用客户端的公共密钥203 (其实际上是被操纵的公共密钥)对其加密。服务器将向客户端201发送会话密钥响应。实际的客户端201接收会话密钥响应,但是,客户端201无法解密会话密钥,因为时间服务器202 已利用客户端201的被操纵的公共密钥加密了会话密钥。没有会话密钥,客户端201无法继续对时间服务器202进行时间请求。因此,这导致通信的中断和明显的违背安全性。这只是产生安全威胁的入侵者的多个可能性中的一个。根据本发明描述的安全的公共密钥转移,使得入侵者无法操纵客户端201的公共密钥203,这是因为在转移过程中对其进行了加密。根据本发明的本实施方式,在步骤406, 客户端201利用时间服务器202的公共密钥204验证标记的会话密钥,并利用客户端201 的私人密钥302解密会话密钥。在步骤408,客户端201利用由客户端201接收的会话密钥产生安全的散列值。此散列值用于由客户端201向时间服务器202发出的用于时间同步的时间请求。在步骤410,客户端201向时间服务器202发送时间请求消息和安全的散列值。在步骤412,时间服务器202在安全的散列值和会话密钥的基础上验证时间请求消息。可用散列算法(例如,报文摘译(MD-5)算法)来获得安全的散列值。按照步骤414,当正确地完成验证时,时间服务器202从时间服务器202向客户端201发送时间,以进行时间同步。虽然已经参考具体实施方式
描述了本发明,但是,此描述并不意味着可将其解释为是限制性的。在参考本发明的描述的基础上,对于本领域的技术人员来说,所公开的实施方式以及本发明的替代实施方式的各种修改将是显而易见的。因此,可以设想,在不背离如所定义的本发明的实施方式的前提下,可进行这种修改。
8
权利要求
1.一种方法,用于从客户端O01)向时间服务器(202)发送公共密钥003),以将给所述客户端O01)的响应消息加密成时间同步通信的一部分,所述方法包括-不取决于所述时间同步通信的初始化的开始并且在所述时间同步通信的初始化的开始之前,为所述客户端(201)提供所述时间服务器O02)的公共密钥(204);-向所述时间服务器(202)发送所述客户端O01)的加密的公共密钥005),其中,利用所述时间服务器O02)的所述公共密钥(204)加密所述客户端O01)的所述公共密钥 003),以形成所述加密的公共密钥(205);并且-所述时间服务器(20 利用所述时间服务器O02)的私人密钥(206)解密所述客户端O01)的所述加密的公共密钥005)。
2.根据权利要求1所述的方法,其中,为所述客户端(201)提供所述时间服务器(202) 的所述公共密钥(204)的步骤包括,在所述时间同步通信之前在所述客户端O01)中预安装所述公共密钥(204)。
3.根据权利要求1或2所述的方法,其中,为所述客户端(201)提供所述时间服务器 (202)的所述公共密钥(204)的步骤包括,在所述时间同步通信之前,从安全存储器为所述客户端O01)提供所述公共密钥004)。
4.根据权利要求1至3中任一项所述的方法,所述方法还包括-向所述时间服务器(202)发送所述客户端O01)的标记的公共密钥(303),其中,利用所述客户端O01)的私人密钥(302)标记所述客户端O01)的所述公共密钥(203),以形成所述标记的公共密钥(303),并且-在所述时间服务器(202)处,利用由所述时间服务器(202)解密的、所述客户端 (201)的所述公共密钥003),验证所述客户端的所述标记的公共密钥(303)。
5.根据权利要求1至4中任一项所述的方法,其中,根据NTP标准,将所述客户端(201) 的加密的公共密钥发送至所述时间服务器002),作为所述时间同步通信的一部分,其中, 所述客户端O01)的所述加密的公共密钥(20 包括在与NTP报头的NTP扩域相关联的值域中。
6.根据权利要求1至5中任一项所述的方法,其中,根据所述NTP标准,将所述客户端 (201)的所述标记的公共密钥(303)发送至所述时间服务器002),作为所述时间同步通信的一部分,其中,所述客户端O01)的所述标记的公共密钥(30 包括在与所述NTP报头的所述NTP扩域相关联的标记域中。
7.一种用于在客户端(201)和时间服务器(20 之间进行时间同步通信的方法,所述方法包括-利用根据权利要求1至6中任一项所述的方法,从所述客户端O01)向所述时间服务器(202)发送公共密钥(203);-由所述时间服务器O02)向所述客户端(201)发送具有会话密钥的会话密钥响应消息,其中,利用所述客户端的所述公共密钥(203)加密所述会话密钥,并进一步利用所述时间服务器O02)的私人密钥(206)对所述会话密钥进行标记;-在所述客户端(201)处,利用所述时间服务器(202)的公共密钥(204)验证所述标记的会话密钥,并利用所述客户端O01)的私人密钥(302)解密所述会话密钥;-利用由所述客户端(201)接收的所述会话密钥对时间请求产生安全的散列值;并且-由所述客户端O01)向所述时间服务器(202)发送时间请求消息和所述安全的散列值;-在所述时间服务器(20 处,在所述安全的散列值和所述会话密钥的基础上验证所述时间请求消息;并且-从所述时间服务器O02)向所述客户端(201)发送时间响应,其中,所述时间响应包括和对于执行时间同步的时间有关的信息。
8.根据权利要求7所述的方法,其中,根据NTP标准,由所述时间服务器(20 将加密的会话密钥发送至所述客户端001),作为所述时间同步通信的一部分,其中,所述加密的会话密钥包括在与NTP报头的NTP扩域相关联的值域中。
9.根据权利要求7或8所述的方法,其中,根据NTP标准,由所述时间服务器(202)将标记的加密的会话密钥发送至所述客户端001),作为所述时间同步通信的一部分,其中, 所述标记的加密的会话密钥包括在与所述NTP报头的所述NTP扩域相关联的标记域中。
10.根据权利要求1至9中任一项所述的方法,其中,在所述时间同步通信期间,所述客户端O01)适于多次向所述时间服务器O02)发送所述时间请求消息,以进行时间同步。
11.根据权利要求1至10中任一项所述的方法,其中,为所述客户端(201)提供所述时间服务器O02)的所述公共密钥(204)的步骤包括,在由所述客户端(201)在所述时间同步通信中向所述时间服务器(20 发送所述时间请求消息之前,由所述时间服务器(202) 向所述客户端O01)单独发送一次所述公共密钥004)。
12.根据权利要求1至11中任一项所述的方法,其中,由密钥生成器生成所述时间服务器(202)和所述客户端O01)的所述私人密钥(206,302)和所述公共密钥Q04,203)。
全文摘要
本发明涉及一种时间同步通信的安全方法。该方法包括,从客户端(201)向时间服务器(202)发送公共密钥(203),以将给客户端(201)的响应消息加密成时间同步通信的一部分。该方法包括,在时间同步通信之前,将时间服务器(202)的公共密钥(204)和客户端(201)共享。该方法进一步包括,向时间服务器(202)发送客户端(201)的加密的公共密钥(205),并由时间服务器(202)利用时间服务器(202)的私人密钥(206)解密客户端(201)的加密的公共密钥(205)。
文档编号H04L9/12GK102316095SQ201110187170
公开日2012年1月11日 申请日期2011年7月5日 优先权日2010年7月7日
发明者拉梅什·马里穆图, 斯里拉姆·阿南塔苏布拉马尼安, 班加洛雷·阿南达劳·钱德拉莫汉, 古德尔 萨克蒂维尔·桑卡拉, 马休斯·埃马纽埃尔 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1