我正在开发一个Android和iOS应用程序,它将使用我在单独的服务器上开发的RESTful API。应用程序将简单地戳到端点以更新数据库中的数据并在需要时检索信息。我的问题是没有这样做,API的架构已经设置,我只需要考虑最安全的方式来实现它。RESTful API身份验证和安全
我有一个API密钥系统,要求将API的任何用途与请求配对,以防止没有密钥的人访问API。这很好,但我担心那些更有决心要突破系统的人。特别是在Android方面,可以反编译应用程序,并且可以查看(某些)代码。我很确定可以查看字符串,所以我担心如果有人反编译应用程序,他们将获得API密钥的位置并能够访问该API。
我在寻找使API更安全的建议。我已经考虑在更新信息时将另一个独特的值与API Key配对,但我不确定这是否也能很好地工作。
任何建议都非常感谢它。
如何跟踪,如果你使用的所有应用程序的用户相同的密钥,其用户发出请求?如果你为每个用户发布一个唯一的密钥,看起来你遇到的问题应该不是真正的问题。如果他们以某种方式对你的api进行逆向工程并使用他们的密钥,他们仍然只能被允许执行他们被允许的执行行为。 – JimL
每个用户将有一个唯一的标识号码,通过其他第三方服务接收。因为这个号码可以在一个单独的应用程序中再次找到,所以我想创建另一个唯一的识别号码,通过数据库自动生成。我想这样会很安全。嗯。 – Jmrapp
我更喜欢一些散列值。如果恶意用户看到他们的api密钥是1000135,那么他们肯定会尝试1000136等等。 – JimL