2016-08-16 37 views
1

我想了解fb的身份驗證如何發生在移動設備上(ios/android)?移動設備上的Facebook身份驗證如何工作?

僅當我第一次安裝fb應用程序時,我輸入了用戶名/密碼。而已。從下一次開始,它會自動驗證自己。

1)fb手機應用程序是否將用戶名/密碼存儲在設備中的任何文件中? 2)它會使用oauth還是類似的令牌機制?如果是這樣,設備上存儲的令牌在哪裏。

我想,我的問題是,它存儲在哪個內存/路徑/文件名,以便它是安全的,不能被其他應用程序/ root用戶訪問。

非常感謝

回答

0

這是一個很好的問題。

將用戶的密碼存儲在設備上的標準本地目錄中是很危險的,原因很明顯,如果電話遭到入侵,黑客可能有權訪問可能在帳戶之間共享的密碼(你有沒有每個服務使用不同的密碼?)。

但是,將用戶名存儲到設備的默認存儲區並不是那麼有問題,而且這通常是選擇的方法。對於iOS,這將是NSUserDefaults。現在

,在密碼和令牌(這是肯定必要和FB不會削減在具有基於令牌的身份驗證角落),無論是安全的內容是應該被保護,它們通常存儲在某些情況下,各種加密鑰匙串。在iOS的情況下,憑藉鑰匙串服務進行256位加密。

因此,當您使用自動登錄構建應用程序時,您會在加載時從鑰匙串中檢索密碼和令牌。但是,如果設備丟失並最終落入壞人手中,則所有這些數據都將被加密並且無法訪問。

當然,我們不要假裝這種方法是不錯的:http://arstechnica.com/security/2015/06/serious-os-x-and-ios-flaws-let-hackers-steal-keychain-1password-contents/

編輯:雖然我的背景是iOS,但我知道Android使用Keystore作爲他們的替代品。

https://developer.android.com/training/articles/keystore.html

+0

我想,在iOS鑰匙扣服務是安全的,但看到你的鏈接後,我給它第二個想法。如何在Android應用程序,確切的密碼/令牌的細節可以存儲保護(相當於鑰匙串)。 –

+0

@SrinivasKK我同意,這是關於。查看我的Android版編輯。 –

+0

我剛剛在我妻子的android設備上做了一個測試。我去設置 - >應用程序管理器 - > Facebook的 - >清除數據。現在我打開了fb應用程序,並獲得了用戶標識預填充的登錄屏幕。我認爲,密碼被存儲在某個被清除的文件或密鑰庫中。我不知道如何清除我iPhone上的數據。任何想法/投入?感謝您的答案,並在android –