我想将SQL 2008数据库分发到客户端并进行设置,以便访问其中的数据的唯一方法是通过我的应用程序。我可以使用Truecrypt吗?你能想到其他任何解决方案吗?
答案 0 :(得分:3)
不,不可能。这是反复询问的,答案是相同的:保护数据只能在一个应用程序中使用DRM和SQL Server does not do DRM。您可以设置无加密/加密或授权/权限机制,以防止合法管理员按其认为合适的方式查看和使用数据,包括授予其他应用程序使用您的应用程序数据的权限。
最糟糕的是,您可以加密客户端中的所有数据并仅存储加密的blob,从而使其无法用于任何其他应用程序。这种方法失去了关系数据库提供的任何优势(数据无法搜索,查询,索引,外部关系和约束无法强制执行等),使SQL Server对您的应用程序绝对无用。此外,即使在这种情况下,如果没有使用硬件模块,数据也不会受到严格保护,因为应用程序无法以秘密方式嵌入任何加密密钥(应用程序中嵌入的任何密钥,无论多么模糊,都可以检索到,总是)并依靠用户提供密码密码意味着用户可以简单地解密数据。
如果您想使用DRM方案(实际上是您要求的),请使用DRM产品。
答案 1 :(得分:1)
我已经快速浏览了一下Truecrypt,它看起来不像是你想要做的工具。
您应该查看SQL Server登录,用户和角色。如何使用这些将取决于您如何设置数据库连接。如果您可以提供有关如何连接的更多信息,我可以尝试进一步提供帮助。