移动应用程序如何向服务器验证自身?

时间:2015-03-30 14:49:28

标签: web-services security authentication certificate mobile-application

我们有一个服务器,提供服务和客户端移动应用程序(Android,iOS)。用户使用用户名/密码进行身份验证,但应用本身呢?我想限制只对我的应用程序访问服务器,我不想让用户参与其中,我想将它与用户登录过程分开。

第一个想法是在应用程序中保留某种密钥,密码,证书等(并使用它来加密来自服务器的随机挑战),但因为它是硬编码的,所以可以从代码中取出并由其他应用程序使用。

如果手机有一些安全存储空间来保存证书,那么访问它的密码将保存在应用程序中,因此可以将其删除。

1 个答案:

答案 0 :(得分:1)

您可以拥有一个“受信任的”应用设备数据库,并将其链接到您的用户或设备数据库(例如谁使用谁)。您可以尝试使用一次性密码方法(使用应用程序代码进行幕后操作),并在每次用户与应用程序交互时进行身份验证。

我也同意可以获得设备中的所有内容(硬编码/存储),因此基于时间的解决方案可以有效地减少尝试进行未经授权的操作。