一次性密碼
想要輸入一次性密碼,但手機不在身邊?或是更慘的情況——手機不見了,而所有的一次性密碼驗證都綁在那支手機上?
許多人不知道,其實一次性密碼是可以備份的,而且可以在多個裝置同步使用,也不必綁定像是 Google Authenticator 這類的專有 App。
在設定一次性密碼時,不是通常會掃一個 QR Code 嗎?但你有沒有想過,那個 QR Code 裡面寫了什麼?如果讀取 QR Code 裡的文字,你會看到裡面有類似這樣的文字:
otpauth://totp/網站名稱?secret=XXXXXXXX&issuer=發行者名稱
(掃掃看!裡面寫了什麼?)
看到那個 secret=XXXXXXXX
了嗎?這就是你的祕密鑰匙(Secret Key)。把這個字串備份下來就可以囉!
(更新:有讀者提醒,自行備份時一定要注意安全,不要用明文儲存,不然可能會造成密碼洩漏喔!用之前推薦過的 KeePassXC 是一個不錯的方法。)
一次性密碼的運作原理很簡單:App 會將「祕密鑰匙」和「目前時間」組合起來,丟到一個公定的演算法,得出六位數字的密碼,這就是為什麼密碼每 30 秒會改變一次。把同一個祕密鑰匙輸入到任何支援 TOTP 一次性密碼的 App 中,它們都可以算出完全相同的一次性密碼。
這樣一來,就算手機遺失了,只要還保有祕密鑰匙,就可以輕易地在其他裝置上重新設定,不用經過麻煩的帳號救援流程!
如果你用 Linux 的話,可以試試看極簡的解決方案 oathtool
,許多常見的 Linux 系統裡都有內建。只要在終端機輸入 oathtool -b --totp XXXXXXXX
(將「XXXXXXXX」替換成你的祕密鑰匙),就可以產生一次性密碼了,不用安裝肥大的 App!
如果你用 Android 手機,我推薦 Aegis 這個自由的一次性密碼程式,它介面簡潔、無廣告,而且支援匯出、匯入功能,讓你方便地保存所有的祕密鑰匙。