2011-10-12 29 views
1

我的应用程序需要定期访问一个可信的时间源,所以不能依赖系统时间,因为这个可以很容易地被用户修改或者发生故障等。我的第一个想法是静态链接到libntp(来自ntp.org)并使用它的功能,这是一个好主意吗?如何在应用程序中获得值得信赖的时间,ntp也许?

Libntp看起来有点复杂的框架,是否有一些更简单的客户端实现(最好是ANSI C,因为应用程序需要用于不同的平台......但如果可以用gcc/MS VS编译,也可以是Cpp)?

是否有其他替代ntp?

谢谢!

编辑:添加一些更多的信息.​​..重要的是,可信时间服务器的值不能被修改(可以说,攻击者修改受信任的时间服务器的响应和应用程序接受假时间)。我开始查看ntp并看到它处理这个问题。现在的问题是我应该使用ntp.org的ntp源作为起点,还是有一些简单的客户端实现?理想情况下,我应该使用来自ntp.org源的哪些模块/源文件的指针用于仅客户端实现,以及哪个头文件显示我需要使用的API,例如调用getTrustedTime()...等。

+3

如果你不能信任操作系统...所有的赌注都关闭。 OS可以配置为保护系统时间。另外,网络连接可能并不总是存在。您是否尝试实施许可证保护?如果是这样,请在您的文章中澄清 – sehe

+0

它必须有多准确? 1或2秒关闭可以吗?或者它具有毫秒精度? –

+0

我的应用程序不信任操作系统时间,但需要(定期)网络连接(实际上与许可证保护相关)。至于准确性,最多几分钟就可以。 –

回答

0

如果您可以依赖于网络连接,则您的应用程序可能会询问远程服务器的时间,也可能通过签名或加密的连接。

相关问题