2013-07-17 36 views
1

我想弄清楚什麼是Web應用程序的安全方面的最佳選擇,可能(將來)和專用Android應用。關於OAuth(1.0a和2.0)和Http Basic Auth

然而,我經歷的可能選擇是通過T​​LS的OAuth(雙腿)和基本Http身份驗證。

請注意,當我參考OAuth時,我正在考慮OAuth 1.0a和OAuth 2.0,當然這兩個選項都是不同的。

這裏是我的疑惑:

1)首先,它將使當今任何意義,建立基於OAuth的1.0A安全系統嗎?它應該被認爲是「太舊」,因此是一個完全錯誤的選擇?

2)我找不出一個真實世界的場景,其中雙腿OAuth清理更好的選擇,然後Http(S)身份驗證。我能從中獲得額外的獎勵嗎?

3)鑑於我不是經驗豐富的安全專家,OAuth會是一個合理的選擇嗎?

4)是否有支持框架或其他第三方輔助工具可用於在較短的時間內以較少的時間和/或較少的努力獲得安全可靠的推斷實現OAuth,而不僅僅是試圖弄清楚完全由他/她自己

回答

1
  1. 這絕對有道理。我個人認爲,除非您確定您需要OAuth 2,否則OAuth 1.0a仍應該是首選解決方案.OAuth1是嚴格定義的安全協議,OAuth2是用於創建協議的「框架」,部分這不太安全。

  2. 主要區別在於,使用OAuth時,您永遠不會通過電線發送密碼。另外,你的android應用程序不需要知道用戶的密碼。如果你不知道密碼,你不能因爲泄漏而被指責。

  3. 的OAuth 1.0a的是一個完全合理的選擇。只要確保使用長(我的意思是1K +長)的祕密。祕密不會傳輸請求,所以它不會佔用帶寬,但它被用於生成數字簽名。

  4. 有。但是,當你對android感興趣時,我不是一個android專家,我會把它留給別人。如果您另外提出這個問題,您將有更好的機會得到一個好的答案

+0

感謝您的幫助。關於第2點,因爲我的工作我自己的* *應用程序(無任何第三方),會真的重要,如果密碼代替令牌發送?因爲嚴格地說關於「私人」的情況下,我還是不相信的OAuth會使用任何超過將基本認證的。無論如何,惡意用戶A會竊取用戶B的令牌,他仍然可以使用我的Web應用程序(或移動應用程序)冒充B,能夠在基本身份驗證受保護的環境中完全(並且不會)執行他的操作,因爲用戶/通行證僅適用於此特定目的。對? – Seether

+0

@Seether不同的是,用戶可能會在其他地方使用相同的密碼。因此,如果密碼在一個地方受到危害,則有可能該用戶在其他服務的帳戶處於危險之中。 – JimiDini

+0

@Seether此外,它更容易阻斷的OAuth令牌不是用戶。您可以在網站上提供一個頁面,用戶可以在其中看到她上次使用的時間,IP地址和按鈕的oauth會話列表以殺死訪問令牌。這個頁面當然不應該通過oauth :) – JimiDini