2014-01-17 92 views
5

我正計劃在我的iPad應用程序中引入雙因素身份驗證。目前用戶使用用戶名和密碼登錄到我的應用程序。該用戶名和密碼由使用.Net開發的後端Web服務器進行驗證。如果用戶授權登錄,則他可以訪問iPad應用程序。在iPad應用程序中實施雙因素身份驗證

現在我想介紹兩個因素認證來驗證用戶。我想知道我們在這裏有什麼選擇。由於我們有用戶的電話號碼,所以每次他嘗試登錄iPad應用程序時都會考慮向他的電話發送密碼。但iPad不支持通過GSM/CDMA網絡發送消息。有沒有辦法做到這一點? (想想從本地ISP獲取短信網關並將短信寫入服務器,但費用更高)第三方模塊可以。

+0

我已經看到dropbox支持2FA。他們提供了兩種選擇,SMS或使用Duo Mobile,Google Authenticator等TOTP應用程序。任何人都知道他們是如何實現它的? – nath

+0

從ipad發送短信將是一個潛在的安全漏洞 - OTP需要由服務器生成併發送,否則服務器無法驗證它。替代品是用於生成OTP的系統 - 可以是基於像google身份驗證程序的軟件,也可以是其他硬件,如rsa令牌 – rist

回答

0

您可以通過代碼向用戶的手機發送短信。

之後,用戶將代碼和APP驗證向服務器發出請求的代碼。

用戶成功引入用戶名/密碼後發送短信。

其他選項(少擴展)是通過電子郵件發送該代碼。

0

我不能完全表達我多少由Twitter最近TFA實現印象深刻,這是非常方便(假設他們沒有把事情弄糟協議)更安全比許多其他形式的TFA。

Here's a description written by Wired

但總而言之,您需要激活一個TFA設備,並生成一個私鑰(設備)/公共(服務器)密鑰對。當您在接收到正確的用戶名/密碼憑證後嘗試登錄時,服務器會將推送通知發送給使用公鑰加密的任何授權設備上的應用程序,並且該應用程序會解密該隨機數並將該隨機數發送回服務器並給予會話。

當然,正如其他人所提到的那樣,您可以使用諸如Google Authenticator之類的預建服務,但它們往往比較笨拙,並且存在SMS和TOTP安全問題。

0

雙因素認證意味着確認用戶知道的東西(他們的密碼)和他們擁有的東西(如物理鑰匙,徽章或RSA密鑰卡; 重要的部分是它是一個物理對象,而不是你正在給他們進入)。向他們用來登錄應用程序的iPad發送任何形式的推送都會導致失敗,並且不會比單一因素(僅限密碼)更好。您的唯一選擇是:

  • 分配RSA密鑰卡(或類似)。可能不是一個選項,因爲成本&管理開銷相關聯。
  • 創建一個驗證器應用程序只有可以在iPad上使用您的應用程序(與Google Authenticator應用程序相同)在單獨的設備上運行。通過爲受保護的應用程序註冊一個URI方案,並在每次打開身份驗證器時嘗試從身份驗證器中打開身份驗證器應用程序,您都可以阻止身份驗證器應用程序在iPad上運行。如果受保護的應用程序打開,則意味着用戶正試圖在同一設備上運行這兩個應用程序,並且驗證者不應驗證它們。
  • 使用驗證碼向他們的註冊手機發送短信。通過在這裏使用SMS,你迫使用戶使兩臺設備都能夠登錄,這是TFA的關鍵。請注意,廣告素材用戶可以在其iPad上註冊Google Voice號碼(或帶有短信應用的類似VOIP),從而繞過TFA的實體方面。
相關問題