雙重驗證的保護,在某個情境下會變成一道鎖住自己的門

雙重驗證讓帳號安全性大幅提升,這一點毫無疑問。但它的設計邏輯,是要求你在登入時提供一個只有你能取得的驗證憑證,通常是手機上的驗證碼或驗證器 App 產生的動態碼。 這個設計有一個隱藏的脆弱點。 如果那個唯一的驗證管道出了問題,例如手機遺失、驗證器 App 在換機時沒有備份、SIM 卡被停用、或是手機本身損壞,你進入帳號的路就會同時消失。雙重驗證的安全設計,在這個情境下反而成為了把你鎖在帳號外面的機制。 備用碼就是為了這個情境而存在的,它是一組在帳號設定雙重驗證時產生的一次性代碼,可以在所有其他驗證方式都無法使用時,作為最後的登入憑證。

備用碼的運作方式

大多數平台在你開啟雙重驗證時,會提供一組備用碼,通常是八到十組一次性使用的代碼,每組代碼只能使用一次,用過之後就失效。 當你的主要驗證方式無法使用時,在登入頁面選擇其他驗證方式或使用備用碼的選項,輸入其中一組備用碼,就可以完成身份驗證並進入帳號。進入帳號之後,應該立即確認雙重驗證的設定,重新建立一個可用的主要驗證方式,並生成一組新的備用碼取代已使用的舊碼。

各平台的備用碼取得位置

Google 進入 myaccount.google.com,選擇安全性,找到兩步驟驗證的設定區塊,向下捲動可以找到備用碼的選項,點選顯示碼或建立碼。 Instagram 進入設定,選擇帳號,再選擇雙重驗證,找到備用碼的選項,Instagram 提供五組八位數的備用碼。 Facebook 進入設定,選擇安全性與登入,找到雙重驗證設定,在其中找到備用碼的選項。 Telegram Telegram 的兩步驟驗證設定中沒有提供傳統意義上的備用碼,但可以設定一個備用的電子郵件地址,在忘記兩步驟驗證密碼時用來重置。 Apple ID Apple ID 的帳號恢復金鑰功能類似備用碼的概念,但開啟之後 Apple 會停止提供其他恢復協助,使用前需要充分了解它的設計邏輯。

備用碼使用時機與三種安全保存方式說明資訊圖。

備用碼最重要的問題:儲存在哪裡

備用碼的保存方式,需要同時滿足兩個條件,在你需要它的時候可以取得,以及它不應該和你的帳號存放在同一個地方。 把備用碼截圖存在手機的相簿裡,是最常見的做法,但它有一個明顯的問題,就是當你手機遺失或損壞時,備用碼同樣無法取得,而那正是你最需要它的時候。 把備用碼儲存在你登入的帳號的雲端服務裡,例如把 Google 備用碼存在 Google Drive,在帳號無法登入的情況下同樣取不到。 比較可靠的保存方式:

  • 列印後放在實體的安全位置,例如家中固定的文件保存處
  • 儲存在密碼管理器中,密碼管理器獨立於受保護的帳號之外
  • 儲存在另一個你同樣有存取能力的可靠帳號中,例如另一個電子郵件信箱

沒有一個完美的保存方式,但任何一個比沒有保存都好。

關於備用碼,使用者最常有疑惑的幾個問題

備用碼被別人看到了會怎樣?需要立即重新產生嗎?

備用碼本質上是一組可以登入你帳號的憑證,如果有人取得了你的備用碼,加上知道你的帳號信箱和密碼,就可以完成登入,雙重驗證在這個情況下無法提供保護。 如果你認為備用碼可能被他人看到,最直接的處理方式是立即登入帳號,進入雙重驗證設定,撤銷現有的備用碼並重新產生一組新的,讓舊的備用碼全部失效。備用碼的安全性,和你對它保存位置的保護程度直接相關,它應該被當作和帳號密碼同等重要的憑證來對待。

如果備用碼也用完了,還有其他辦法進入帳號嗎?

備用碼用完之後,需要透過平台的正式帳號恢復流程進行,這個流程通常需要驗證帳號的所有權,透過備用信箱、信任裝置、或是提交身份驗證資料。 恢復流程的可行性,取決於你在設定帳號時填寫的恢復資訊是否仍然可以使用,以及你能夠提供多少能夠佐證帳號歸屬的資訊。這也是為什麼定期確認帳號的恢復資訊仍然有效,和保存備用碼一樣重要,兩者是互補的安全機制,不是替代關係。

密碼管理器可以儲存備用碼嗎?這樣安全嗎?

可以,而且這是目前被資安社群廣泛接受的做法之一。密碼管理器通常提供安全筆記或文件儲存的功能,可以用來保存備用碼的文字內容。這個方式的前提,是密碼管理器本身有足夠強的主密碼保護,以及帳號本身的安全狀態良好。 需要注意的一個邊界情況,是如果你的密碼管理器本身也使用同一個帳號的雙重驗證,而那個帳號的驗證方式同時失效,就可能陷入一個循環困境。建議密碼管理器使用獨立的主密碼,不依賴其他帳號的驗證方式,讓它可以作為其他帳號緊急情況下的獨立恢復資源。

One Key Takeaway: 備用碼是雙重驗證設計中最容易被忽略的一個環節,大多數人在開啟雙重驗證後從來沒有儲存過它,而它存在的意義,正是為了在其他所有方式都失效的那一刻發揮作用。