我需要一个准确无误的时间来源。
如果没有设置自己的原子钟(除非这比听起来容易),我如何才能做到这一点?
这并不是说我不信任NTP池。我无法确定我在跟谁说话。
我需要一个准确无误的时间来源。
如果没有设置自己的原子钟(除非这比听起来容易),我如何才能做到这一点?
这并不是说我不信任NTP池。我无法确定我在跟谁说话。
Answers:
先前的答案之一提到了MD5身份验证,但没有提及NTP4中可用的pubkey身份验证。许多国家实验室提供md5 / autokey启用时间服务。
我不了解您的威胁模型是什么;如果某人有能力并且愿意欺骗您的GPS信号,那么您遇到的问题要比现在几点大。话虽如此,您可以使用GPS或CDMA组合本地时钟,然后使用一些提供认证时间服务的国家实验室的认证时间来增强此时间信号。这样,如果您的GPS信号被欺骗,您仍然可以依靠国家实验室的认证时间。
全球定位系统:
只需40美元和一些焊接,您就可以通过Sure Electronics GPS评估板设置本地GPS + PPS时间源。如果您无法在数据中心接收GPS信号,有时您可以在ebay上找到相当便宜的CDMA refclock。
经过身份验证的NTP服务:
NIST,NRC和INRIM(美国,加拿大和意大利的国家实验室)提供MD5认证的时间服务。与NIST和INRIM不同,CRC md5服务不是免费的。OBSPM和INRIM(法国和意大利国家实验室)可以提供Autokey认证的时间服务,他们免费提供此服务。当然,还有其他国家实验室具有经过验证的时间,但是您将需要Google对其进行搜索。
国家实验室的认证时间链接:
NIST:
http://www.nist.gov/pml/div688/grp40/auth-ntp.cfm
NRC:
http://www.nrc-cnrc.gc.ca/eng/services/inms/calibration-services/time-frequency.html#Authenticated
OBSPM:
http://syrte.obspm.fr/informatique/ntp_infos.php
https://syrte.obspm.fr/informatique/ntp_keys.php
INRIM:
我的建议是信任NTP-这绝对不是安全的,但是我不知道任何主要的攻击媒介,它与您选择的对等方一样安全(其有效性与DNS解析和路由一样安全)表)。
如果您需要考虑其他替代方法,请参考以下几种方法(括号中的准确性/安全性):
您自己的原子钟作为PPS源。(Überacurate。该死的几乎不可欺骗)
(在eBay上可用。这不是不可能的设置-有很多时间书呆子拥有它们,您的NTP守护程序可以将它们用作时间源。您将需要处理seconds秒)
GPS接收器。(超级准确。很难欺骗)。
(GPS信号CAN覆盖/欺骗,但是这是一个专门攻击将需要一些努力来进行。GPS系统的完全失效的可能性不大,因为是一个完整的关机)。
NTP (非常准确。可以通过某些努力进行欺骗)
(有人通过您的时间源攻击您的可能性很小,如果您针对多个池服务器配置NTP守护程序,则所有异常值或错误行情指示器都将被丢弃。
请注意这是假设您至少可以信任DNS才能信任它。)
稳定的石英振荡器作为PPS源。(不是很准确。该死的几乎无法欺骗)
(取决于振荡器,它可能不会比您的计算机时钟更准确。期望必须定期更正时间,并且您需要处理leap秒。)
您计算机的内部时钟。(比沙漏更精确。该死的几乎不可伪装。)
(对于任何关心时间的现代应用程序,这几乎是不可用的。)
NTP不是一个安全协议(嗯,有一个身份验证机制,但是它没有得到广泛使用,并且MD5身份验证也不是很安全)-不管您正在与哪个Internet时间服务器进行通信,您都不知道你在和他们说话。除了池的可信赖性(我不喜欢它们,因为它们的层次遍布各处,NIST有很好的Internet NTP 来源),Internet NTP无法满足您的要求。
局域网上的硬件时钟实际上是唯一可以确保您的连接不会被拦截的方法-即使如此,前提是局域网的安全性可以向您保证。
好吧,购买带有GPS同步功能的Meinberg。那些不太贵。您应该可以在某种程度上相信它。http://www.meinberg.de。或者只是购买GPS同步设备并将其连接到服务器。
Internet上有许多安全时间源。他们大多数人是这样工作的:
您会产生随机挑战。
您将质询发送到时间源。
时间源向您的挑战附加时间戳,并使用其众所周知的私钥对其进行签名,然后将其发送回给您。
您用他们的公钥确认签名。
现在您可以知道,假设您可以信任此来源,那么时间戳记中的时间将反映出您提出挑战和收到回复之间的时间。
威瑞信通过HTTPS运行此类服务。网址为http://timestamp.verisign.com/scripts/timstamp.dll
。Globalsign也运行一个,URL为http://timestamp.globalsign.com/scripts/timstamp.dll
。该协议在RFC 3161中指定,并且也在OpenSSL中实现。
reflects a time somewhere between when you generated the challenge and when you received the reply
-可能有20ms,200ms或2000ms(病理情况)的延迟时间。唯一的“准确”时间保证是,TSA的时间戳准确到TSA发出它的时间(而不是客户请求或接收的时间)