我们有一个 Windows 应用程序 (C# .net),我们将向客户提供安装程序。要求是一旦安装了应用程序,用户就不能编辑系统时间/日期。这是为了确保应用程序生成的日期/报告不被操纵。 我的目标操作系统是 Win-XP 最好的方法是什么?
操作系统是否提供任何工具来做到这一点?
客户端机器是一台独立的机器,不在任何网络上。
提前致谢
最佳答案
如前所述,您可以使用组策略,但它们很容易被规避。此外,如果您的应用这样做,您的客户可能会产生敌意(理所当然)。尽管如此,如果您的应用程序位于封闭网络中,请与系统管理员联系并将其作为策略推出。
如果您确实需要可信时间源,那么这样做:编写一个 Web 服务或使用您的应用程序联系的现有 NTP 服务,并使用该可信服务返回的时间。然后使用签名技术防止事后篡改报告。
缺点:您需要访问互联网。可能是让客户端在他们的网络中设置一个 NTP 服务器(AFAIK Windows 域 Controller 可以自动执行此操作?)并使用它,但客户端可以再次篡改它。
但底线是:联系网络服务以防止篡改或使用组策略使篡改变得容易。无论如何不可能使篡改成为不可能。
关于c# - 阻止用户更改系统日期/时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4553043/