【问题标题】:Securing communication between mobile app and RESTful service WITHOUT a username and password无需用户名和密码即可保护移动应用程序和 RESTful 服务之间的通信
【发布时间】:2015-12-23 01:13:31
【问题描述】:

我一直在尝试确定是否可以授权移动应用程序和我的 ASP.NET Web api 服务之间的通信,而无需用户使用用户名和密码进行身份验证。这很重要,因为我的应用程序的用户根本不会登录,也永远不会登录。当然,所有流量都将通过 HTTPS 发送。

这意味着我不能使用 OAUTH 或 BASIC 身份验证来验证流量,因为它们需要凭据。

因此,我需要一些方法来安全地存储某种身份验证令牌,该令牌封装在应用程序中,只有在需要与服务器通信并且无法被确定的黑客“发现”时才能访问。

这当然不可能。

谢谢。

【问题讨论】:

  • 为什么是-1?这样做时,解释会很有帮助。

标签: asp.net rest security authentication mobile


【解决方案1】:

一般来说这是不可能的。您的服务器永远不应该信任它的客户端。黑客可以检查您的客户端应用程序并创建等效的应用程序。

但是,如果您:

  1. 为 HTTPS 使用自定义客户端证书,查看 here
  2. 在 http 请求中使用临时访问密钥。应用程序应该为您的服务器请求新的临时访问密钥。密钥服务器的一部分将作为响应发送,另一部分将通过Cloud Messaging 发送。以某种重要的方式组合部分密钥。
  3. 混淆您的应用程序。

【讨论】:

  • 谢谢。我的研究表明,这确实是不可能的。您也可以使用 SSL Pinning,但这需要您将证书与您的应用程序捆绑在一起,并且无论如何它最终都会过期,需要您更新您的应用程序。
猜你喜欢
  • 2013-06-25
  • 2020-11-12
  • 2018-03-21
  • 2018-01-08
  • 1970-01-01
  • 1970-01-01
  • 2020-07-17
  • 1970-01-01
  • 2014-05-23
相关资源
最近更新 更多