在Android中保护我的REST请求?

时间:2011-12-14 09:42:31

标签: android authentication rest

我有一个服务器端脚本,它可以获取我的应用程序使用的一些数据。当然,除了我的应用程序,我不希望任何其他人访问数据。我听说在使用某个软件时可以看到设备连接的网址。如何防止这些程序看到我正在呼叫的网址?或者有更好的方法来保护请求吗?

我唯一能想到的是在网址中使用密码密钥(并检查它是否与服务器端匹配):

http://example.com/getdata?key=897ihrduiuyqewudiew&get=something

但这可能不足以进行安全身份验证。嗅探器程序仍然可以获得该URL。这样做的安全性更简单吗?

3 个答案:

答案 0 :(得分:0)

最简单的方法是使用HTTPS。这样,嗅探器只能知道连接到的服务器。

还有其他方法使用复杂的挑战来使一个唯一的密钥仅在短时间内有效/单个请求,如WSSE(参见本文http://www.xml.com/pub/a/2003/12/17/dive.html

答案 1 :(得分:0)

为了保护服务器请求,您几乎无法做到。有人总是能够看到您的应用程序命中的URL,并且在查询字符串中使用密码将无济于事。为了保护您的应用程序,您需要使用HTTPS和某种形式的身份验证。用户需要提供用户名和密码才能连接。

答案 2 :(得分:0)

如果我理解正确,您应该实施相互身份验证。基本上,您在客户端和服务器上都有证书。当向服务器发出请求时,服务器会验证该请求是否已由已知客户端签名。

因此,即使嗅探器知道该网址并尝试向服务器发出相同的请求,也会被拒绝,因为未被已知客户端签名 。我对此也很陌生,但这是一般概念。这个博客有基本步骤。