2

在一个项目中,我们将为每个客户端创建配置文件(也可以在每个客户端中使用 sqlite 而不是配置文件)。该文件将包括政策等关键信息。因此最终用户不得添加、删除、更改该配置文件或文件中的某些内容。

我正在考虑使用活动目录来防止用户打开包含我的配置文件的文件夹。

是否有使用安全配置文件的标准方法?

编辑:当然,读取文件的速度很重要,因为安全性

EDIT2:我不能用数据库服务器做到这一点,因为我的策略必须在没有互联网连接的情况下也可以访问。服务器将在某些时期更新该文件或 sqlite 表。我正在使用c++。

4

2 回答 2

0

安全是一个相当广泛的问题。如果您的系统遭到入侵,会发生什么?有人亏钱吗?有人在游戏中获得加分吗?有人可以访问核导弹发射代码吗?某人的医疗数据是否会向公众公开?

所有这些或多或少都是重要的安全问题,但正如你可以想象的那样,核导弹发射对完全安全的要求比某些游戏中有人可以提高分数的要求更高,而金钱和健康显然最终处于中间的某个位置。这个范围,还有很多其他我们可以添加到列表中的东西。

您要保护的“用户”类型也很重要。是国家级安全专家(例如 FBI、CIA、KGB 等)、爱好黑客,还是普通计算机用户?加密文件将阻止普通用户,也许还有业余黑客,但国家安全专家肯定不会因此而受挫。

最终,如果保存数据的机器也知道如何读取数据,那么您就不可能拥有一个完全安全的系统。系统可以通过读取代码中的密钥来绕过,并重新实现作为“安全”一部分的任何解密/加密等。一旦数据为纯文本,就可以对其进行修改,然后重新加密并存储回来。

你当然可以让它变得更复杂,这意味着某人必须有更强烈的动机才能通过你复杂的方法来工作,但最终归结为“如果机器知道如何解密某些东西,那么某人访问机器可以解密内容”。

这取决于您(显然还有您正在关注其数据的“客户”和/或“合作伙伴”),您是否认为这是您可以冒险的事情。

于 2013-04-25T12:34:07.003 回答
0

很抱歉粉碎了您的希望和梦想,但是如果您的安全性基于客户端上的配置文件,那么您就完蛋了。

配置文件由您的应用程序加载和解密,这意味着可以在应用程序运行时使用特殊工具更改值。

如果安全性很重要,请在服务器而不是客户端上进行这些检查。

于 2013-04-25T11:33:40.227 回答