在OAuth(1.0a和2.0)和Http Basic Auth

时间:2013-07-17 07:16:55

标签: security http authentication ssl oauth

我正在努力弄清楚对于可能(将来)与专用Android应用程序一起使用的Web应用程序的安全性最佳选择。

然而,我所经历的可能选择是OAuth(双腿)和通过TLS的基本Http身份验证。

请注意,当我提到OAuth时,我正在考虑使用OAuth 1.0a和OAuth 2.0,当然这是不同的选择。

以下是我的疑惑:

1)首先,现在建立一个基于OAuth 1.0a的安全系统是否有意义?它应该被认为是“太旧”,因此是一个完全错误的选择吗?

2)我无法弄清楚一个现实世界的场景,其中两条腿OAuth是一个更好的选择,然后是Http(S)Auth。我可以获得多少额外奖金?

3)鉴于我不是资深安全专家,OAuth是否是一个合理的选择?

4)是否有人可以使用支持框架或其他第三方辅助工具,以便在更短的时间和/或更少的努力下获得OAuth的安全可靠 - 强制性实施,而不仅仅是试图完全弄清楚由他/她自己

1 个答案:

答案 0 :(得分:1)

  1. 这绝对有道理。我的个人意见是,OAuth 1.0a应该仍然是首选的解决方案,除非你绝对确定你需要OAuth 2. OAuth1是一个严格定义的安全协议,OAuth2是一个“框架”,用于创建协议,一些哪些不太安全。

  2. 主要区别在于,使用OAuth时,您永远不会通过网络发送密码。此外,您的Android应用程序不需要知道用户的密码。如果您不知道密码,则不能因泄露密码而受到指责。

  3. OAuth 1.0a是一个非常合理的选择。只要确保使用长(我的意思是1K +长)秘密。秘密不会随请求一起传输,因此它不会占用带宽,但会用于生成数字签名。

  4. 有。但是,由于你对Android感兴趣而且我不是机器人专家,我会留给别人。如果你单独提出这个问题,你将有更好的机会获得一个好的答案