我已经设置了一个Windows Azure数据库,其中包含可通过oData访问的数据。我正在尝试解决如何保护WP7设备和数据库之间的连接。所谓安全,我的意思是,我只希望应用程序的用户能够从应用程序中访问数据。
我已经考虑过SSL,但它对我来说太贵了--有没有其他方法来保护这个连接?
谢谢!
发布于 2012-09-06 23:09:26
“安全”有多种定义。您将需要身份验证,因此Azure只允许正确的用户访问数据。这通常由WP7应用程序提供的用户名和密码来处理。
WP7应用程序需要确保它正在与正确的服务器通信。SSL使用数字证书来处理此问题。还有其他机制,但使用基于公钥/私钥对的机制是最好的,因为您可以验证连接到正确的服务器,而不能模拟该服务器。但是,大多数情况下使用的RSA算法的计算代价很高。
在WP7应用程序和Azure之间发送的数据也需要保密,包括用户的密码。这通常通过加密来处理。您可以选择计算成本较低的算法,或者只加密某些数据。
在WP7应用程序和Azure之间发送的数据也需要某种形式的篡改检测。否则,有人可能会破坏发送或接收的数据。也许这是你可以接受的应用程序,但它需要是一种攻击不容易重现的方式。正如Shanin's Maxim所说,攻击者知道系统。
问题是SSL为您提供了所有这些功能。是的,它可能很贵,但它是可用的最佳通用解决方案之一。您可以使用Group Policy, code或PowerShell更改Azure提供的密码套件。
如果你不想使用SSL,你需要知道你可以牺牲什么。一般来说,我不建议使用您自己的加密机制或协议,因为我们人类往往会把它搞砸。
https://stackoverflow.com/questions/12302664
复制相似问题