名詞解釋
什麼是雙因素驗證(2FA)— 與兩步驟驗證的差異與各方式的強弱
雙因素驗證(2FA)是在密碼之外,再組合『另一種類別的證明』來確認身分的機制。本文從防禦視角,講解常被混淆的兩步驟驗證的差異、簡訊・驗證器 App(TOTP)・通行金鑰各方式的強弱,以及『先導入、再往無法交給釣魚網站的方式靠攏』這一本站立場,並刻意不寫攻擊手法。
「就算密碼外洩,光憑那個也進不來」——為此而生的機制正是雙因素驗證(2FA)。本文整理它與常被混淆的兩步驟驗證的差異,以及各方式的強弱(不會寫出攻擊手法)。
「兩個因素」與「兩個步驟」——差在哪裡?
這兩個詞看起來很像,但只要抓住目的就很簡單。驗證的「因素」分為以下三個類別:
雙因素驗證(2FA)會混合兩種不同的類別(例如:密碼=知識+手機的驗證器 App=持有)。重點在於:如果其中一個被攻破,另一個不同類別仍然屹立,攻擊者就無法闖入。相對地,兩步驟驗證(2SV)只表示「確認兩次」,兩個步驟即使是同一類別也算成立(密碼+安全提示問題是兩個步驟,但不是兩個因素)。所以若真的想要更強,關鍵就是混合不同的類別。
方式的強弱:分水嶺在於「能不能交給釣魚網站」
即使開了 2FA,方式不同,強度也會大不相同。決定性的因素在於:你會不會不小心把那個「證明」交給假網站。
強 ── 通行金鑰 / 實體金鑰(FIDO2)
簽章繫結在網域上——從結構上就無法對假網站出示(抗釣魚)
中 ── 驗證器 App(TOTP)
比簡訊強,但驗證碼要由人來讀——所以能被交給假網站
弱 ── 簡訊 / 郵件的驗證碼
易受 SIM 交換與中繼攻擊;即便如此仍比只有密碼強
弱:簡訊 / 郵件的驗證碼
- 驗證碼要由人來讀取並輸入=可以直接交給假網站
- 暴露於 SIM 交換與中間人(AiTM)釣魚之下
- 即便如此,仍明顯比只有密碼強(遠比什麼都沒有好)
強:通行金鑰 / 實體金鑰(FIDO2)
- 簽章繫結在網站的網域上=不可能對假網站出示
- 連中間人釣魚也能抵抗(抗釣魚 MFA)
- 驗證器 App(TOTP)介於兩者之間——比簡訊強,但仍能對假網站出示
本站的觀點:先開起來,再往『交不出去』的方式移動
2FA 最常見的失敗,是想太多「哪個最強」而結果一個都沒開。優先順序很清楚——先在每個帳戶開啟某種 2FA,再從王國之鑰(電子郵件、網域、支付)開始,依序提升到無法交給釣魚網站的方式(通行金鑰)。本站不把「靠小心來識破假網站」算作一種防禦策略。與其依賴人的注意力,不如靠那些從結構上就無法把證明交給假網站的方式。
接下來閱讀
- 術語:什麼是一次性密碼(OTP)(驗證器 App 的驗證碼到底是什麼・TOTP/HOTP/簡訊)/ 什麼是通行金鑰(交不出去的最強等級)
- 術語:什麼是釣魚(理解瞄準 2FA 的中間人 AiTM)
- 入門:如何正確挑選多因素認證(MFA)(在實務中選定方式)
FAQ
Q雙因素驗證和兩步驟驗證是同一回事嗎?
嚴格來說並不是。雙因素驗證(2FA)是把『知識(密碼)』『持有(手機・金鑰)』『生物特徵(指紋・臉部)』這些不同的『因素』組合兩種。而兩步驟驗證(2SV)只是『確認兩次』的意思,兩個步驟未必是不同因素(例如:密碼+安全提示問題,兩者都屬於『知識』,是兩個步驟但不是兩個因素)。實務上兩者重疊之處很多,但目的都是『混合不同類別,讓其中一個被攻破也無法闖入』。
Q用簡訊收取的 2FA 還值得開嗎?
值得。它確實比只有密碼強得多,能擋下多數因密碼重複使用或外洩造成的帳號被盜。不過簡訊容易成為 SIM 交換與中間人(AiTM)釣魚的首要目標,作為一種方式屬於最弱的等級。正確的理解是『比什麼都沒有好得多,但不是終點』。可以的話,請往驗證器 App(TOTP)或通行金鑰遷移。
Q我該挑哪一種方式?
原則是『越難交給釣魚網站的方式越強』。由強到弱:通行金鑰/實體安全金鑰(FIDO2)>驗證器 App 的驗證碼(TOTP)>簡訊/郵件。特別是電子郵件、你的網域、支付這類會成為『王國之鑰』的帳戶,請優先選用通行金鑰等具抗釣魚能力的方式。實際的做法是:先在所有帳戶開啟某種 2FA,再從最重要的帳戶依序往最強的方式提升。