如何在应用程序中获得可信时间,可能是NTP

how to get trusted time in an app, ntp maybe?

本文关键字:时间 NTP 应用程序      更新时间:2023-10-16

我的应用程序需要定期访问一个可信的时间源,所以不能依赖于系统时间,因为这个时间很容易被用户或电池故障等修改。我的第一个想法是静态链接到libntp(从ntp.org)并使用它的功能,这是一个好主意吗?

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

是否有其他替代ntp?

谢谢! !

编辑:只是为了增加一些信息…重要的是,trusted-time-server的值不能被修改(比如,攻击者修改了trusted-time-server响应,应用程序接受了假时间)。我开始看ntp,发现它解决了这个问题。现在的问题是,我应该使用ntp源从ntp.org作为起点,还是有一些简单的客户端实现?理想情况下,一些指针指向哪个模块/源文件从ntp.org源我应该用于客户端实现,哪个头文件显示我需要使用的API,例如调用getTrustedTime()…等。

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

如果你正在使用Boost,你可以使用