【发布时间】:2015-06-03 15:41:58
【问题描述】:
我们有一个带有服务和客户端移动应用程序(Android、iOS)的服务器。用户使用用户名/密码进行身份验证,但应用程序本身呢?我想限制对服务器的访问仅限于我的应用程序,我不想让用户参与其中,我想让它与用户登录过程分开。
第一个想法是在应用程序中保留某种密钥、密码、证书等(并使用它来加密来自服务器的随机挑战),但由于它是硬编码的,因此可以从代码中取出并由其他应用程序使用。
如果手机有一些安全存储来保存证书,访问它的密码将保存在应用程序中,以便再次被挖掘出来。
【问题讨论】:
-
您能解释一下为什么需要这种级别的安全性吗?如果你告诉我们,你必须杀了我们吗?
-
选择类似于 OAuth / OAuth 2 的东西。如果它对 Google、Facebook、Twitter、DropBox 和其他许多公司来说足够好,那么对你来说应该足够好了吧?
-
我认为它的安全性并不高,我们只是不希望我们(或客户)的服务器被未经授权的应用程序访问。顺便说一句,我在信用卡交易协议和标准方面有一些背景,也许这让我问得太多了:)
-
如果我说谷歌、FB 等对第三方应用程序开放 API,由其他公司制作和发布,我说得对吗?这不是我们的情况
标签: web-services security authentication certificate mobile-application