【发布时间】:2009-12-17 14:16:36
【问题描述】:
我正在.NET 中开发一个 Windows 桌面客户端/服务器应用程序,其中客户端应用程序通过 SQL 本机客户端和连接字符串连接到 SQL Server Express 2005。然后,客户端直接通过数据库上的连接执行 SQL(无存储过程)。
如何配置 SQL Server(或 Windows)安全性,使只有我签名的应用程序二进制文件可以连接到数据库,而客户端计算机上没有其他内容? (即不是 SQL Server Management Studio Express、我的二进制文件的黑客版本或其他恶意代码)我需要在我的应用程序中嵌入加密密钥吗?如果是这样,如何保护它们免受反汇编攻击?
客户端或服务器计算机可以放置在公司域中。使用 SQL Server 完整版而不是 SQL Server Express 也是一种选择。我还希望仍然能够在服务器计算机上本地运行 SSMSE 以进行升级和支持工作(服务器将具有物理门锁安全性以防止对其进行访问)。
我的应用程序需要从表中读取数据来计算摘要信息。摘要信息不需要保护,但详细的单个行需要保护。我认为这个要求不包括任何形式的基于表的权限与 windows 帐户或 sql server 用户名和密码相结合。
【问题讨论】:
标签: .net sql-server windows security desktop-application