我有一个Winforms(C#,. NET 4.0)应用程序,我想连接到远程SQL Server 2012 Express。另外,我想以加密方式从SQL Server向我的应用程序发送和接收数据,这样潜在的黑客就不会知道哪些数据正在发送,也无法篡改数据。
例1:
my app: select * from .." --> ENCRYPTED via network --> "select * from .." SQL Server
是否有一些简单的方法可以做到这一点,或者我是否也应该拥有自己的服务器应用程序,我将通过SSL进行通信,然后在SQL Server和我的服务器应用程序之间进行本地通信。
例2:
my app: "select * from .." --> ENCRYPTED via network
--> "select * from .." my server app
--> plaintext to local SQL Server --> "select * from .."
我想保护(加密和防篡改)所有(双向)网络上的通信。
感谢您的时间和帮助。
答案 0 :(得分:1)
SQL Server支持SSL,请参阅Encrypting Connections to SQL Server。可以明确要求加密两条路径(从SQL到APP以及从应用程序到SQL),只需在连接字符串中请求ENCRYPT=yes
即可。当然,您需要设置适当的证书信任链(即购买由Thawte,GlobalSign或VeriSign等受信任机构签署的证书。