7 min read

使用2FA及密碼管理器,必須預防失去所有裝置

準備應急方案,以免無法登入所有帳戶。
使用2FA及密碼管理器,必須預防失去所有裝置
電影《夏日大作戰》截圖

使用雙重認證(two-factor authentication/2FA,又譯作兩步驗認證)、密碼管理器(password manager)可謂當今保障資訊安全基本功,能大幅降低帳戶被盜的風險。

不過最近我發現也許使用這兩種工具的人未必知道要多做一件事,以避免失去所有帳戶,又見到有些簡介文章並無提及如此重要的安全措施,所以寫篇文章介紹一下。

我猜有些人還未使用雙重認證和密碼管理器,以下先簡單解釋一下使用這兩種工具的必要,已在使用的讀者可以跳過這部分。請記住︰資訊安全不僅是保障自己,也保護身邊人,不要因為怕麻煩、怕複雜而偷懶。

為何要用雙重認證?

開啟了雙重認證後,當你登入帳戶時,除了輸入密碼外,系統還要求多一種方法去認證身份,這樣即使密碼外洩也能降低帳戶被盜的風險。一般而言,第二種認證方式通常是輸入單次使用的驗證碼,需要來自你手上擁有的裝置,例如手機。

早期的雙重認證系統會透過電話短訊(SMS)傳送驗證碼,但因為SMS並無加密,本身有一定安全風險,現時並不建議使用。目前較安全的方法為使用手機上的驗證程式(authenticator app),安裝後只要連上帳戶(通常只需要掃瞄QR code),就會每隔一段時間自動產生新的驗證碼,登入時只需要打開程式輸入相應驗證碼,非常簡單方便。此外亦有實體安全金鑰,例如Yubikey,有興趣可自行搜尋使用方法。

如果使用驗證程式,必須同時保障手機安全,包括為手機設置一個足夠長的安全密碼。

為何要用密碼管理器?

安全的密碼一定要夠長、有大小楷數字符號、不容易猜中,也就不那麼容易記得。而且不應「一個密碼走天涯」,原因很簡單︰假如某個你有註冊帳戶的網站不慎把用戶密碼外洩,在其他網站重用密碼的話,那些帳戶便很容易被人盜用。

現時有那麼多帳戶需要密碼︰手機、電郵、各個社交媒體、電子銀行戶口等等,密碼管理器可以幫你記住大量複雜密碼,而你只需要記住密碼管理器的主密碼就能確保安全,不用每次都按「忘記密碼」。

有些人會懷疑把密碼在網上儲存不夠安全,良好的密碼管理器會以只有你知道的密碼去產生密鑰加密資訊,再傳回伺服器,這代表有關公司也不能知道你儲存的密碼。要是仍然不放心,你可以使用KeePass等密碼管理器,把密碼資料庫儲存在自己的電腦上。

如果使用雲端的密碼管理器,當然也需要使用雙重認證確保帳戶安全。

順帶一提,早前見到國際特赦組織香港分會的「6個保障個人資料小貼士」,其中竟然教人「用紙筆另行記錄信用卡號碼、帳號密碼等敏感資料」,差點吐血(有留言,一直未有回應)。

國際特赦組織香港分會Facebook圖片

設計安全密碼

密碼管理器如此重要,所以它的主密碼必須非常安全,與此同時,它必須是個你一定能記住的密碼(畢竟不能用密碼管理器記住它的密碼)。在設計密碼方面,可以參考以下John Oliver訪問Edward Snowden的影片︰

要設計一個易記又安全的密碼,你可以混合使用︰

  • 四個或以上英文單字(包括人名、地名等,不要使用自己或親友名字)
  • 只要你知道意義的數字組合(不要使用生日、電話號碼、身份證號碼等數字)
  • 看似無意義的英文字組合(如某句話每個字首字母、某詞語拼音簡寫)
  • 符號(如某些數字組合按Shift鍵、以符號表達的emoji,也可用特定符號把上述組合分隔)

當然如果你對自己的記憶有信心(其實多輸入幾次主密碼就容易記得),也可以加入一些隨機產生的字串,令密碼更難破解。

除了密碼管理器的主密碼外,手機密碼、系統密碼、硬碟加密密碼等都可以用類似方式設計。

預防失去所有裝置的災難

雙重認證的好處在於大幅降低帳戶被盜的風險,但它也有可能令你被鎖在帳戶之外。假如失去了認證裝置(手機或實驗金鑰),但仍然有在其他裝置(如電腦)登入,通常可以更改雙重認證的裝置,未必有太大問題。

另外有些驗證程式可以把產生驗證碼所須的資料備份上雲端,例如Authy,但需要設置一個不能忘記的密碼(用作加密資料,忘記了密碼沒有人可以復原)。當然你可以用密碼管理器記住這個密碼(不建議用大腦去記,因為這組密碼極少用到,很難記住),不過要是用雲端的密碼管理器,在新裝置登入時還是應該要雙重認證。

然而,萬一你失去了所有手頭上的裝置(手機、電腦以及Yubikey等),基本上就無法登入任何帳戶,也幾乎不可能復原(撇除網上銀行帳戶等尚有其他方法驗證身份,或者如Facebook可以設定「帳戶被鎖住時能夠聯絡的朋友」之類的系統)——除非你事先做好準備

當開啟雙重驗證的時候,系統通常會提供數個備用驗證碼,可以用作雙重認證的驗證碼,而且沒有時間限制,但只可以用一次,避免用戶的雙重認證裝置意外失效時無法登入。假如系統沒有提供備用驗證碼,你也可以把設定雙重驗證時的QR code截圖存起來。

這些驗證碼或QR codes都非常重要,必須以加密的方法儲存(當然裝置本身也要加密),例如可以使用Veracrypt,然後再把加密檔案放進USB drive,交給你信任而且並非同住的人保管。萬一不幸發生家居意外,失去家中所有裝置,你仍然可以取回那些檔案和備用驗證碼,重新登入帳戶及設定雙重認證。

其他對登入帳戶重要的檔案,都應該以相同方式處理,例如上文提及有驗證程式可以備份,你可以把取回備份的密碼儲存成文字檔再加密。假如使用KeePass等密碼管理器,亦可以把密碼資料庫加密交給別人保管。

當然,加密檔案(或整個USB drive)仍然需要安全易記的密碼,可以參考上文「設計安全密碼」的部分。注意這個密碼不會太常使用(除非你經常失去全部裝置),必須間中打開檔案,確保自己記得密碼,也不要向任何人透露這個密碼。

(原刊於Medium