没有SSL的Android rest post请求是否足够安全?

没有SSL的Android rest post请求是否足够安全?,android,security,rest,ssl,Android,Security,Rest,Ssl,我的目标是阅读并安全地发布Android游戏中REST的高分。我找到了一个很好的建议作为答案 我对公认的答案有一个问题。我会将密钥硬编码到应用程序中,并使用它对url进行md5加密。结果作为参数附加到url本身(请参阅链接发布的答案)。当我另外使用SSL时,我认为它对我的案例没有任何好处。我也需要使用私钥,当有人破解并反向设计我的应用程序时,他会得到私钥和私钥。我不发送密码或一些关键数据,只发送用户输入的姓名或带有分数的昵称,或许还有国家。有根手机的人可以看到URL,但用户不能用这种方法在服务器

我的目标是阅读并安全地发布Android游戏中REST的高分。我找到了一个很好的建议作为答案

我对公认的答案有一个问题。我会将密钥硬编码到应用程序中,并使用它对url进行md5加密。结果作为参数附加到url本身(请参阅链接发布的答案)。当我另外使用SSL时,我认为它对我的案例没有任何好处。我也需要使用私钥,当有人破解并反向设计我的应用程序时,他会得到私钥和私钥。我不发送密码或一些关键数据,只发送用户输入的姓名或带有分数的昵称,或许还有国家。有根手机的人可以看到URL,但用户不能用这种方法在服务器上伪造高分,不是吗?所以,如果我省略了SSL,只使用HTTP而不是HTTPS,对我来说不会有任何缺点,对吗?或者这种方法有什么我没有想到的问题吗? (如果可能的话,我想省略SSL,因为它更容易实现,而且在Google Play中使用加密应用时,美国出口法规的这个问题对我来说太麻烦了,因为我只需要向服务器发送高分)

当我另外使用SSL时,我认为它对我的案例没有任何好处

这将使人们更难嗅探流量并查看您的密钥

有根手机的人可以看到URL,但用户不能用这种方法在服务器上伪造高分,不是吗

他们当然可以使用您的密钥执行HTTP请求。他们不需要在手机根目录下查看密钥。我不能说他们是否需要在手机根目录下使用HTTP请求的结果

所以,如果我省略了SSL,只使用HTTP而不是HTTPS,对我来说不会有任何缺点,对吗

跳过SSL将使某人更容易使用代理服务器或其他形式的流量嗅探器查看您的密钥

使用加密应用程序时,此问题与美国政府津贴有关

我不知道你在说什么

当我另外使用SSL时,我认为它对我的案例没有任何好处

这将使人们更难嗅探流量并查看您的密钥

有根手机的人可以看到URL,但用户不能用这种方法在服务器上伪造高分,不是吗

他们当然可以使用您的密钥执行HTTP请求。他们不需要在手机根目录下查看密钥。我不能说他们是否需要在手机根目录下使用HTTP请求的结果

所以,如果我省略了SSL,只使用HTTP而不是HTTPS,对我来说不会有任何缺点,对吗

跳过SSL将使某人更容易使用代理服务器或其他形式的流量嗅探器查看您的密钥

使用加密应用程序时,此问题与美国政府津贴有关


我不知道你在说什么。

SSL只会阻止客户端和服务器之间的嗅探。如果您不打算在客户端和服务器之间发送任何机密信息,那么使用SSL就没有意义。发送应用程序中硬编码的“秘密”密钥是个坏主意:反编译应用程序将意味着密钥不再是秘密

有根手机的人可以看到URL,但用户不能用这种方法在服务器上伪造高分,不是吗


任何拥有“密钥”的人都可以发出HTTP(s)请求并设置他们想要的任何核心永远不要相信你的客户您应该在服务器本身上计算hiscore,然后将其返回给客户端。最好不要反过来。

SSL只能防止客户端和服务器之间的嗅探。如果您不打算在客户端和服务器之间发送任何机密信息,那么使用SSL就没有意义。发送应用程序中硬编码的“秘密”密钥是个坏主意:反编译应用程序将意味着密钥不再是秘密

有根手机的人可以看到URL,但用户不能用这种方法在服务器上伪造高分,不是吗


任何拥有“密钥”的人都可以发出HTTP(s)请求并设置他们想要的任何核心永远不要相信你的客户您应该在服务器本身上计算hiscore,然后将其返回给客户端。最好不是相反。

您正在散列URL的一部分,如下所示:

http://yourserver/?key=hashed_value&score=100
http://yourserver/?key=hashed_value&score=300
但这并不能保证安全性,客户端仍然可以看到URL并制作自己的帖子,如下所示:

http://yourserver/?key=hashed_value&score=100
http://yourserver/?key=hashed_value&score=300
黑客使用的哈希值与您的应用程序使用的哈希值相同

您必须使用HTTPS来达到所需的目的


请注意,我在示例中使用了“GET”,但POST是相同的,如果不是HTTPS,您可以看到整个HTTP请求,您正在对URL的一部分进行散列,如下所示:

http://yourserver/?key=hashed_value&score=100
http://yourserver/?key=hashed_value&score=300
但这并不能保证安全性,客户端仍然可以看到URL并制作自己的帖子,如下所示:

http://yourserver/?key=hashed_value&score=100
http://yourserver/?key=hashed_value&score=300
黑客使用的哈希值与您的应用程序使用的哈希值相同

您必须使用HTTPS来达到所需的目的


注意,我在示例中使用了一个“GET”,但一篇帖子是相同的,如果不是HTTPS,您可以看到整个HTTP请求

如果有人在url中看到加密的哈希值,他不能将其用于其他数据,只要他不知道密钥(链接帖子的答案)。他只有破解我的应用程序才能拿到钥匙。所以我仍然不知道在这种情况下使用ssl有什么好处,尽管它更安全。当你在Google Play上发布并使用加密时,你必须遵守出口规定。(抱歉,问题不清楚。我没有附加密钥,但我使用它对url进行md5加密。请参阅更新的问题)如果有人在