我们开发了一个iPad应用程序,它使用来自WCF服务的数据。 iPad应用程序以JSON数据格式向WCF服务发送请求,并从WCF服务接收JSON数据格式的响应。 我们在渗透测试期间发现,用户可以操作请求JSON数据,例如更改登录用户的角色以获取应用程序中更高权限的用户数据。 JSON请求数据未加密。这是纯文本数据。响应的情况也是如此。
如何保护请求和响应JSON数据?
我们可以在iPad上加密请求并在WCF端解密并对响应JSON数据做类似的操作。这会增加开销。 另一种选择是在iPad上为请求JSON数据计算哈希值,并将其作为输入发送给WCF。在WCF端,再次为实际请求JSON数据计算哈希并进行比较。这有助于确定请求是否被操纵。
任何建议???
我们可以在Operation Contract ???上使用ProtectionLevel属性吗?
根据MSDN(http://msdn.microsoft.com/en-us/library/aa347692(v=vs.90).aspx)文章,我们可以加密和签署运营合同。在这种情况下,应该在iPad应用程序端进行哪些更改???