MFA 結合兩種或更多不同類別的認證因素。2FA 是其中使用兩類因素的情況;兩步驟驗證描述檢查次數,並不自動等於 MFA。
本站的視角:判斷 MFA 要看方式,而不是有沒有開
重要帳戶應檢查實際方式、使用者驗證與復原管道,而不只是記錄 MFA 已開啟。抗釣魚登入仍可能與薄弱的復原路徑並存。這是本站的防禦建議,不是對多數帳戶被盜原因的統計斷言。
為什麼需要 MFA
密碼單獨來看,應當以「遲早會洩漏」為前提。重複使用、外洩資料、被猜中、被釣魚,都是密碼被攻破的途徑。MFA 加上第二個因素,讓被攻破的密碼單獨無法用來登入。
最重要的是信箱帳戶。許多服務都用郵件來處理「忘記密碼」,所以 信箱一旦被盜,其他帳戶也會接連被重設。因此信箱正是應當用最強 MFA 守護的帳戶(→ 最低限度清單的 Tier 0)。
不同方式的強度差異
同樣叫「雙因素認證」,方式不同強度截然不同。越靠左越弱,越靠右越強。分水嶺在於 「能不能對假站點出示」。
✗ SMS / 郵件
驗證碼可能遭釣魚;SMS 也面臨手機號碼劫持
△ 驗證器 App(TOTP)
比 SMS 強,但驗證碼可能被中繼到假站點
○ passkey
簽章綁定網域;要求使用者驗證時使用 PIN 或生物辨識
◎ 實體安全金鑰
FIDO2 硬體金鑰。最強,建議準備備用
SMS / 郵件的驗證碼
- 驗證碼 只是一串數字,在假站點上也能照貼
- SIM 卡交換針對手機號碼上的 SMS 或語音接收。郵件驗證碼依賴信箱及其復原機制的保護;兩種手動輸入的驗證碼都可能遭釣魚。
- 中繼釣魚把驗證碼轉發給真站點時,它無法阻止
- 比沒有強,但 對重要帳戶來說單靠它並不足夠
passkey / 實體安全金鑰(FIDO2)
- 金鑰 綁定到所存取的網域,在假站點上不會產生簽章
- 在設計上就 抗釣魚(不依賴人的判斷)
- 單獨以通行金鑰或安全金鑰實作 MFA 時,服務必須要求並驗證 PIN、生物辨識等使用者驗證。安全金鑰也能與密碼搭配;僅觸碰以確認人在場不等於第二種因素。
- 信箱、網域、支付帳戶就用它
「抗釣魚」到底是什麼意思
這是最關鍵的概念。SMS 或驗證器 App 的驗證碼,最後都要靠人用眼睛判斷「是不是輸入到正確的站點」,但以假亂真的網域,人是分辨不出來的。passkey 或實體安全金鑰(FIDO2)則知道自己是給哪個網域用的,因此不會對假站點回傳簽章。也就是說,即使人被騙了,金鑰也不會替假站點簽章。這就是「抗釣魚」,也是弱方式與強方式的決定性差別。
比較表(含推播通知)
此比較依據 CISA 2022 年 10 月的資料,不是對所有服務的完整安全評估。 除了 SMS、驗證器 App 和 passkey,設定畫面上常常還有另一種方式:在手機收到的通知上按「是」(推播通知)。美國網路安全暨基礎設施安全局(CISA)把 MFA 由強到弱排列如下:
| 方式 | 在假站點上輸入時 | 反覆請求直到你按下 | SIM 卡交換 | 定位(CISA) |
|---|---|---|---|---|
| passkey/實體安全金鑰(FIDO2) | 不會產生簽章 | 不適用 | 不適用 | 最強(抗釣魚) |
| 驗證器 App 驗證碼(TOTP) | 可能被中繼 | 不適用 | 不適用 | 第二級 |
| 附數字比對的推播通知 | 可能被中繼 | 不易發生 | 不適用 | 第二級 |
| 推播通知(只有核准按鈕) | 可能被中繼 | 可能發生 | 不適用 | 第三級 |
| SMS 或語音驗證碼 | 可能被中繼 | 不適用 | 可能發生 | 最後手段 |
推播通知的弱點在於:攻擊者一旦拿到密碼,就會一次又一次發送核准請求,直到使用者誤按「核准」或為了讓它停下來而按下。CISA 稱之為「推播轟炸」(MFA 疲勞)。對策是數字比對:必須把登入畫面上顯示的數字輸入 App,才能核准。對於 Microsoft 的公司與學校帳戶(Microsoft Entra ID),自 2023 年 5 月 8 日起,所有 Microsoft Authenticator 推播通知都強制使用數字比對。
表中的手動驗證碼與一般推播不具抗釣魚能力。抗釣魚技術不限於 FIDO,NIST 也描述用戶端認證 TLS。本文聚焦個人服務常見的通行金鑰與 FIDO2 金鑰;CISA 將驗證器代碼或數字比對推播列為過渡選擇。
依情況選擇方式
不需要每個帳戶都用同一種方式。依照「被盜時損害有多大」來分類。
| 帳戶或情況 | 建議方式 | 要準備的備用手段 |
|---|---|---|
| 個人信箱(Gmail、Outlook.com 等) | passkey | 第二台裝置上的 passkey,或備用碼 |
| 密碼管理器 | passkey 或實體安全金鑰 | 第二把實體安全金鑰,加上寫在紙上的復原資訊 |
| 網域、伺服器或雲端的管理帳戶 | 實體安全金鑰(兩把) | 另地保管的第二把金鑰、復原碼 |
| 銀行與證券 | 該機構提供的 passkey 或其他方式 | 該機構自己的重設程序 |
| 社群網站、網路購物 | passkey,不支援時用驗證器 App | 備用碼 |
| 沒有智慧型手機的家人 | 實體安全金鑰(兩把),無法使用時用 SMS | 由家人保管的備用碼 |
拿不定主意時,問自己:「這個帳戶會被用來復原其他帳戶嗎?」信箱和密碼管理器是通往其他一切的入口,所以這兩個要用最強的方式。
如何設定(順序很重要)
先從信箱、網域、支付開始
密碼管理器本身也要 MFA
不支援時用驗證器 App(TOTP)
妥善保管復原碼
準備一個備用手段
即使開了 MFA,也別再重複使用密碼
MFA 是保險,不是弱密碼的藉口。在只能使用不具抗釣魚能力的 MFA(如 SMS)的服務上,密碼的強度與唯一性仍然是主要的保護。強度可以用 密碼強度檢測器 確認。
主要服務的設定位置
以下是設定的入口(依 2026 年 10 月各官方說明頁面;畫面名稱可能變更)。介面名稱保留英文,括號內附中文說明。
| 服務 | 設定位置 | 可用方式與注意事項 |
|---|---|---|
| Google 帳戶 | Google 帳戶 →「Security & sign-in」(安全性與登入)→「2-Step Verification」(兩步驟驗證) | passkey、實體安全金鑰、Google 提示、驗證器 App、SMS 或語音、備用碼 |
| Microsoft 帳戶(個人) | account.microsoft.com/security →「Manage how I sign in」(管理登入方式)→「Additional security」(其他安全性)→「Two-step verification」(兩步驟驗證) | 也可以移除密碼,改成不用密碼登入 |
| Apple 帳號 | 設定 → [你的名字] →「Sign-In & Security」(登入與安全性)→「Two-Factor Authentication」(雙重認證)→「Security Keys」(安全金鑰) | 必須至少新增兩把 FIDO Certified 金鑰(iOS 16.3 以上);新增後,金鑰會取代六位數驗證碼 |
| GitHub | Settings →「Password and authentication」(密碼與驗證) | 步驟見 如何設定 GitHub 雙重驗證 |
無論哪個服務,註冊第一種方式後,請在同一天設定好備用方式並保存備用碼。拖延的話,等到裝置遺失時就來不及了。
驗證器 App 與實體安全金鑰的選擇重點
驗證器 App 要確認的事
- 換手機時能否把驗證碼移轉到新手機
- Google Authenticator 自 2023 年 4 月起提供可選的 Google 帳戶同步
- 把驗證碼放在密碼管理器裡很方便,但一旦被攻破,兩個因素會從同一個地方外洩
- 重要帳戶的驗證碼,請放在與密碼分開的 App 裡
實體安全金鑰要確認的事
- 選擇支援 FIDO2 的產品(FIDO Certified)
- 確認符合裝置的連接埠(USB-A、USB-C),或手機用的 NFC
- 一開始就買兩把,兩把都註冊到同一個帳戶
- 一把隨身攜帶,另一把放在家裡等其他地方
如何檢查自己的設定
執行 Google 的安全性檢查
檢查 Microsoft 帳戶的登入方式
在 iPhone 上確認受信任的號碼與金鑰
列出每個帳戶的方式
實際用備用手段登入一次
常見錯誤與修正方式
- 新增了 passkey,卻仍讓 SMS 可以登入或重設帳戶:服務允許的話就移除 SMS;不允許的話,確認註冊的號碼仍是你自己的。
- 按下了意料之外的核准請求:不是自己在登入時收到的請求一律拒絕,然後更改該帳戶的密碼。
- 把備用碼以照片或截圖存在手機裡:手機遺失時備用碼也會一起不見。請存在密碼管理器裡,或寫在紙上放在其他地方。
- 可能需要備用金鑰或其他受支援的復原方式.
- 換手機時先清除舊手機:先確認驗證器 App 和 passkey 在新手機上能用,再清除舊手機。
- 有人透過電話或訊息要求時把驗證碼唸出來:即使對方自稱是該服務或自家公司的服務台,也絕對不要把驗證碼告訴任何人。
實際案例:驗證碼被交出去
在美國經營牙科與視力福利業務的 DentaQuest,於 2026 年 5 月就未經授權存取事件向各州檢察長提交了通報。根據通報內容,入侵起點是一名員工因社交工程遭到欺騙,提供了登入憑證和多因素認證驗證碼。在 8 月 3 日的更新通報中,該公司表示已在全美確認超過 2,740 萬人受影響。通報中並未說明當時使用的是哪一種 MFA。
這個案例說明的是:人可以唸出或輸入的驗證碼,在人被騙時就可能被交出去。對管理帳戶的人來說,對策分兩部分:
- 把重要帳戶改用無法交出去的方式,例如 passkey 和實體安全金鑰
- 服務台在重設任何人的驗證方式之前,先確認來電者的身分
完整經過以及會員該做的事,請見 DentaQuest 資料外洩事件(英文)。
本站是怎麼做的
本站把重要帳戶(尤其是信箱、網域、伺服器管理、支付)盡可能用 具備抗釣魚能力的 MFA 牢牢守住。理由很簡單:只要其中一個被盜,其他帳戶也可能跟著被盜。日常登入用密碼管理器管理,並給這個管理器本身也配上 MFA。
而且不止步於「開了 MFA」,還會定期檢查用的是哪種方式。一旦發現某個重要帳戶只有 SMS,就把它當作弱點,優先升級為 passkey/實體安全金鑰。不按有無來管理,而按強度來管理,這就是本站的方針。
參考資料
-
NIST SP 800-63-4 / SP 800-63B-4 — NIST: authentication factors / NIST: phishing resistance
-
FIDO Alliance — Passkeys FAQ: user verification
-
CISA, "Implementing Phishing-Resistant MFA"(2022 年 10 月)— cisa.gov (PDF)(MFA 方式由強到弱的排列、推播轟炸、SIM 卡交換)
-
CISA, "Implementing Number Matching in MFA Applications"(2022 年 10 月)— cisa.gov (PDF)
-
Microsoft Learn, "How number matching works in MFA push notifications for Authenticator" — learn.microsoft.com
-
Google 帳戶說明, "Turn on 2-Step Verification" — support.google.com
-
Microsoft Support, "How to use two-step verification with your Microsoft account" — support.microsoft.com
-
Apple Support, "About Security Keys for Apple Account" — support.apple.com
-
Google Security Blog, "Google Authenticator now supports Google Account synchronization"(2023 年 4 月 24 日)— security.googleblog.com
-
DentaQuest 向華盛頓州檢察長提交的通報(2026 年 7 月 16 日,8 月 3 日更新)— atg.wa.gov
接下來閱讀
- GitHub 設定:如何設定 GitHub 雙重驗證
- 確認是否被盜:如何確認帳號是否遭人未經授權登入(登入紀錄、登入中的裝置)
- 實際案例:DentaQuest:員工被騙交出 MFA 驗證碼(英文)
- 基礎:安全最低限度清單(最優先守護信箱、網域與支付)
- 保管:密碼的安全保管方法
- 術語:SPF/DKIM/DMARC(防偽造郵件)
- 術語:什麼是釣魚(抗釣魚 MFA 對付的對象)
- 術語:什麼是雙因素驗證 / 什麼是一次性密碼(方式相關用語的整理)
- 無密碼:通行金鑰是什麼:公開金鑰登入、抗釣魚與同步
- 工具:密碼強度檢測器