1

我想将 SQL 2008 数据库分发给客户端并对其进行设置,以便访问其中数据的唯一方法是通过我的应用程序。我可以为此使用 Truecrypt 吗?你能想到任何其他的解决方案吗?

4

2 回答 2

3

不,不可能。这被反复询问,答案是相同的:保护数据以便只能从一个应用程序使用是 DRM 而SQL Server 不做 DRM。您无法设置任何加密/加密或授权/许可机制来防止合法管理员查看和使用它认为合适的数据,包括授予其他应用程序使用您的应用程序数据的权限。

在最坏的情况下,您可以加密客户端中的所有数据并仅存储加密的 blob,从而使其无法用于任何其他应用程序。这种方法失去了关系数据库提供的任何优势(无法搜索、查询、索引数据、无法强制执行外部关系和约束等),从而使 SQL Server 对您的应用程序完全无用。此外,即使在这种情况下,没有使用硬件模块,数据也没有得到真正的保护,因为应用程序无法以秘密方式嵌入任何加密密钥(任何嵌入应用程序的密钥,无论它多么模糊,都可以被检索到,总是)并且依靠用户提供秘密密码意味着用户可以简单地解密数据。

如果您想使用 DRM 方案(实际上是您要求的),请使用 DRM 产品。

于 2009-11-10T21:02:30.057 回答
1

我快速浏览了一下 Truecrypt,它看起来不像是你想要做的工具。

您应该查看 SQL Server 登录、用户和角色。您如何使用这些将取决于您如何设置数据库连接。如果您可以提供有关如何连接的更多信息,我可以尝试并提供进一步的帮助。

于 2009-11-10T20:30:24.957 回答