我正在构建一个 Phonegap 移动应用程序,我希望用户能够在其中检查位置。我可以获取用户位置并将其发布到我的 API 并且所有这些都正常工作。我正在寻找某种方法来防止欺骗对 API 的调用。
我目前的想法是我可以在移动应用程序和服务器上拥有一个共享的私钥。然后,我将使用该密钥客户端对用户位置进行哈希(?),发布,然后使用相同的密钥服务器端恢复数据。
我正在构建一个 Phonegap 移动应用程序,我希望用户能够在其中检查位置。我可以获取用户位置并将其发布到我的 API 并且所有这些都正常工作。我正在寻找某种方法来防止欺骗对 API 的调用。
我目前的想法是我可以在移动应用程序和服务器上拥有一个共享的私钥。然后,我将使用该密钥客户端对用户位置进行哈希(?),发布,然后使用相同的密钥服务器端恢复数据。
如果最终用户可以完全访问设备,那么要完全保护必须在最终用户设备上运行的软件是非常困难的。
通常,安全的主要关注点是保护最终用户免受外部威胁。
确保您使用的是 SSL/HTTPS,这将减慢任一类型的攻击者。还要确保您的服务器不会在普通 http 上响应。
您可以通过保留证书的哈希值并制定更改时的策略来强化 HTTPS 实施。例如。如果有人试图在他们自己的网络上进行 MITM 以查看协议,或者更确切地说,如果您的证书即将到期并且您续订了它。
由于通信渠道“安全”,无法阻止攻击者完全访问您的源代码和加密密钥;剩下的唯一方法是混淆。
基本上,设置一层或两层保护(取决于它的重要性),然后在 API 端点中构建检测机制,以提醒您黑客攻击。