保護密碼安全的兩難
在今日的社會中,幾乎所有人都有一堆的帳號密碼,即使是記憶力過人,也不可能記住全部的密碼,導致許多人「一個密碼打天下」。為了讓每個帳號都有不同密碼,密碼管理軟體就成了最佳解決方案,較知名的有1Password、KeePass、以及LassPass。
然而在2022年12月,知名密碼管理服務
LassPass向使用者公告,駭客利用同年8月攻擊時所取得的資訊進一步獲得雲端資料庫的憑證和金鑰,引起不少使用者恐慌。
使用密碼管理軟體的初衷是避免「一個密碼打天下」,結果現在恐淪為「一個密碼全被駭」,密碼的安全性究竟該如何保障?與使用便利性之間究竟該如何平衡?顯然是在真正進入無密碼登入時代前,必將持續困擾著你我的問題。
土法煉鋼的密碼管理
我先前並沒有使用密碼管理軟體的習慣,依賴著Chrome的記憶密碼苟活。但自從我購入iPhone和iPad之後,便開始碰上困難。由於iOS系統預設使用Safari瀏覽器以及「鑰匙圈」密碼儲存服務,我先前儲存在Chrome的密碼自然不能使用,導致我必須用一個表格整理密碼。且為了跨平台、跨裝置使用,我使用雲端版的Google Sheets進行整理。
但畢竟是雲端,我仍然不太敢將密碼明文直接寫在表格中,於是我在心中制定了一個密碼公式,參照表格中紀錄的部分資訊,計算出真正的密碼。
舉例而言,密碼公式可訂為「一個固定的大寫字母(如G)+一個固定的小寫字母(如b)+網站前三碼+(987+666+註冊日期)+一個固定的特殊符號(如@)」,表格中只需要紀錄各個網站的帳號和註冊日期即可。如Facebook是在2/29日註冊,經由運算即可得知密碼為:Gbfac1882@。
如此一來,即使表格流出,駭客仍然不知道我的密碼公式,也就無法算出密碼。但這樣做有個很大的缺點,就是每次打密碼前,都要先開表格,再打開計算機計算,非常緩慢且麻煩。
開源密碼管理軟體Bitwarden
在去年修習網路法時,我得知一款開源的密碼管理軟體Bitwarden。
由於Bitwarden為開源軟體,維護的社群非常龐大且活躍,因此大致上可以信賴其安全性。而Bitwarden有訂閱制和自架服務兩種模式,前者和一般的密碼管理服務類似,申請一組帳號密碼即可過網頁管理所有密碼;後者則是自行搭建密碼伺服器。
對一般使用者而言,二者的使用體驗差異不大,儲存的密碼組數、設備的數量也都沒有限制,
免費訂閱的Bitwarden已足敷一般人的需求。與LastPass不同的是,
由於Bitwarden為開源軟體,不存在原始碼被駭客盜取破解的問題,因此仍不失為LastPass使用者避難的好選擇。
我選擇自架Bitwarden
無論是訂閱制的Bitwarden,或近期正在風頭上的LastPass,使用者的密碼都是經過加密後儲存在第三方的雲端伺服器資料庫中,仍然有流出的風險(至於會不會被破解是電腦算力與時間問題),若希望由自己完全掌握密碼資料以及儲存地點,就必須自架Bitwarden伺服器。
自架Bitwarden伺服器的另一個好處是,無須付費就能獲得付費訂閱版本的功能(如整合兩步驟登入)。
再加上Bitwarden有非常方便部署的Docker Image,大幅降低部署困難度。抱著實驗的精神,我最終決定自架Bitwarden伺服器。
結語
歷經搬移與整合Chrome和Safari密碼的浩大工程後,目前我使用Bitwarden已有超過半年的時間,使用體驗良好,不但可以設定高強度的亂數密碼,還能在網頁或app登入頁面自動填入,算是在方便性與安全性上取得了平衡。
值得一提的是,iOS/iPad OS版本的Bitwarden,可以使用生物辨識(FaceID和TouchID);但在有臉部辨識功能的Android手機上,Android版本的Bitwarden卻無法啟用臉部辨識(僅能使用指紋辨識),不確定是否是各家手機廠牌的生物辨識功能不一致所導致(我使用的是Google Pixel 7),歡迎讀者補充相關資訊。
但整體而言,我認為仍然是瑕不掩瑜,Bitwarden確實是現階段值得推薦的一款密碼管理軟體。