2015-12-03 20 views
1

場景:我想創建一個應用程序,其中用戶註冊帳戶,並且服務器向他們發送一次性引腳以通過SMS驗證其聯繫詳細信息。用戶輸入收到的代碼以驗證其詳細信息。2因素身份驗證的替代方法

但是,發送短信需要錢,但接收一個是免費的,我的短信網關可以讓我閱讀收到的短信。

因此,我可以在我的應用程序中創建一個屏幕,讓用戶通過網關號碼和消息預先填充(例如,「您好,請激活我的帳戶,代碼:34GKTT551T」),向我的網關發送短信。用戶只需按下發送。

而不是讓用戶鍵入他們收到的代碼並驗證服務器上的代碼,我的網關拿起用戶發送的代碼並將消息發送到我的服務器,然後驗證代碼並驗證用戶電話號碼是他們在註冊時輸入的電話號碼。

問:這種方法有什麼根本錯誤嗎?

這樣做的好處和壞處是什麼?是的,我知道短信可能是僞造的,但比僞造也可以使用的電子郵件更難。我不認爲這是一個正確的2因素認證的替代方案,但這種方法值得做一個低成本的替代方案,不需要用戶做其他任何特殊的事情。

PS。這是我的第一個關於堆棧溢出的問題,所以很好。

回答

1

沒有這個不安全,因爲短信的發送者很容易被僞造。 Take these instructions for how to achieve this on Kali OS

也有服務such as this one

它所提供的只是對具有用戶密碼但不知道上述信息或受害者手機號碼的人的一個非常薄的安全層。受害者的電話號碼可以通過社會工程等其他方式實現。如果單獨使用一部手機用於2FA的唯一目的,則可能會有效,但爲何不使用免費的Google Authenticator API(適用於iOS和Android的Google Authenticator應用程序)?

+0

歡呼聲,我很感謝你的見解! –