保护来自WCF服务的JSON请求和响应

保护来自WCF服务的JSON请求和响应,json,wcf,security,Json,Wcf,Security,我们为iPad开发了一个应用程序,它使用WCF服务中的数据。 iPad应用程序向WCF服务发送JSON数据格式的请求,并从WCF服务接收JSON数据格式的响应。 我们在渗透测试期间发现,用户可以操纵请求JSON数据,比如更改登录用户的角色,以在应用程序中获得更高权限的用户数据。 JSON请求数据未加密。它是纯文本数据。回应也是如此 如何保护请求和响应JSON数据 我们可以在iPad上对请求进行加密,在WCF端进行解密,并对响应JSON数据进行类似的操作。这将增加开销。 另一种选择是在iPad上计

我们为iPad开发了一个应用程序,它使用WCF服务中的数据。 iPad应用程序向WCF服务发送JSON数据格式的请求,并从WCF服务接收JSON数据格式的响应。 我们在渗透测试期间发现,用户可以操纵请求JSON数据,比如更改登录用户的角色,以在应用程序中获得更高权限的用户数据。 JSON请求数据未加密。它是纯文本数据。回应也是如此

如何保护请求和响应JSON数据

我们可以在iPad上对请求进行加密,在WCF端进行解密,并对响应JSON数据进行类似的操作。这将增加开销。 另一种选择是在iPad上计算请求JSON数据的哈希值,并将其作为输入发送到WCF。在WCF端,再次计算实际请求JSON数据的哈希值并进行比较。这将有助于确定请求是否被操纵

有什么建议吗

我们可以在运营合同上使用ProtectionLevel属性吗


根据MSDN条款,我们可以加密并签署运营合同。在这种情况下,应该在iPad应用程序端进行哪些更改?

您无法保护来自客户端的任何内容。时期这就是服务器端验证的目的。您最关心的数据是什么?配置文件数据,如用户级别等?用户角色、级别、权限应仅存储在服务器上。当用户登录应用程序时,iPad生成请求以获取存储在服务器上的用户配置文件和角色数据。在渗透测试中,修改请求数据以获得登录用户以外的其他用户的用户配置文件。我们如何确保请求没有被修改?嗨,@Raghu。您无法控制来自客户端的任何内容,因为有人可以编写自己的应用程序或修改您的应用程序,以向您的服务器发送虚假信息。