Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 仅保护特定应用程序使用的API_Android_Ios_Api_Security - Fatal编程技术网

Android 仅保护特定应用程序使用的API

Android 仅保护特定应用程序使用的API,android,ios,api,security,Android,Ios,Api,Security,正在寻找一种方法,以了解如何确保源自我的移动应用程序的请求仅由我的服务器API提供服务 这是为了让来宾用户能够查看应用程序,但不能将数据公开给机器人使用 是否有Android或iOS应用程序属性可帮助创建对此有帮助的请求?您可以在req中传递应用程序的包名(Android)/包标识符(iOS应用程序)。params仅用于验证来自应用程序的请求 通过这种方式,您可以检查服务器上的捆绑包标识符/包名称,并在此基础上限制用户允许/不允许使用api 另一种方法是api密钥/令牌的用户 您可以在服务器上创

正在寻找一种方法,以了解如何确保源自我的移动应用程序的请求仅由我的服务器API提供服务

这是为了让来宾用户能够查看应用程序,但不能将数据公开给机器人使用


是否有Android或iOS应用程序属性可帮助创建对此有帮助的请求?

您可以在req中传递应用程序的包名(Android)/包标识符(iOS应用程序)。params仅用于验证来自应用程序的请求

通过这种方式,您可以检查服务器上的捆绑包标识符/包名称,并在此基础上限制用户允许/不允许使用api

另一种方法是api密钥/令牌的用户

您可以在服务器上创建唯一的令牌/密钥,并将其提供给移动应用程序开发人员,然后在每个api请求中请求发送该令牌/密钥

所以,当您在服务器上收到请求时,可以在服务器上验证api密钥/令牌。如果密钥/令牌无效,则不允许用户访问您的api

正在寻找一种方法,以了解如何确保源自我的移动应用程序的请求仅由我的服务器API提供服务

正如我现在所说的,我读起来更像是想确保你的移动应用程序只发送和接收来自你的API服务器的请求,而不是来自假装是你的攻击者API服务器,或者来自MitM攻击。如果是这种情况,那么解决方案是将证书固定添加到您的移动应用程序中,但这应该始终添加到任何移动应用程序中

我认为您在这里的意思是,您希望确保您的API服务器只回复来自您的移动应用程序的真实实例的请求。如果是这样的话,那么你正在寻找将你的API服务器锁定到你的移动应用程序上,你在这里有一个巨大的挑战和几种方法要采取

证书固定 要在移动应用程序中实现证书固定,我建议您阅读以下文章:

为了演示如何使用证书固定来保护移动应用程序和API服务器之间的https流量,我们将使用我在上一篇文章中使用的同一个移动应用程序

在本文中,我们将了解什么是证书固定,何时使用它,如何在Android应用程序中实现它,以及它如何防止MitM攻击

因此,本文将指导您在示例应用程序中完成证书固定的实际实现,您可以在中找到

将API服务器锁定到移动应用程序 我建议您阅读我提出的关于如何为移动应用程序保护API REST的问题,特别是保护API服务器和可能更好的解决方案的章节

移动Aapp中的加密密钥生成 我在您对另一个答案的评论中看到了这一点(您也应该将其添加到您的问题中):

我正在寻找一种在应用程序中创建加密密钥的安全方法,该密钥只能在服务器上解密

在以下帮助下,您确实可以安全地创建一个:

安全库提供了与静态数据读写以及密钥创建和验证相关的安全最佳实践的实现

我将更详细地介绍Android中的问题存储客户端证书和密钥(.pem),其中包含一些代码示例

你想多跑一英里吗? 在对安全问题的任何回答中,我总是喜欢引用OWASP基金会的优秀作品。< /P> 用于API

OWASP API安全项目旨在通过强调不安全API中的潜在风险,并说明如何减轻这些风险,为软件开发人员和安全评估人员提供价值。为了实现这一目标,OWASP API安全项目将创建并维护一份前10位API安全风险文档,以及创建或评估API时最佳实践的文档门户

用于移动应用程序

OWASP移动安全项目是一个集中的资源,旨在为开发人员和安全团队提供构建和维护安全移动应用程序所需的资源。通过该项目,我们的目标是对移动安全风险进行分类,并提供开发控制,以减少其影响或被利用的可能性

:

《移动安全测试指南》(MSTG)是一本关于移动应用程序安全开发、测试和逆向工程的综合手册


谢谢你,马亨德拉!如果在发送的请求中可以看到包名称或包标识符,并且可以重复使用。我正在寻找一种在应用程序中创建加密密钥的安全方法,该密钥只能在服务器上解密。希望我清楚。。。