關於密碼管理

關於密碼管理

前言

在現代生活中,網路身份已經是我們不可或缺的一部分,帳號與密碼的組合保障我們網路上的身份以及使用服務的權限。許多人可能因為便利性,同一套密碼走天下,或是使用瀏覽器內建的密碼記憶功能。

使用同一套密碼的危險性不言而喻,當其中一個服務資訊外洩或是使用者被釣魚網站騙得密碼時,所有使用這套密碼的服務都會被一次攻破。有些人可能會使用固定的一組密碼加上網站變數,例如臉書用 pass6433facebook、推特用 pass6433twitter。但如果網站變數太明顯,駭客仍然可以猜出其他網站的密碼。除此之外,每個網站對密碼的要求不一(例如需要加大寫或特殊符號等),只要有例外這種記憶密碼的方式就不是那麼便利。

有些人會開一個 Excel 檔來記錄密碼或是放在其他備忘錄軟體裡,但任何用明文的方式紀錄密碼都不安全,即使只寫入部分密碼作為提示,在使用上也無法一氣呵成的填寫密碼遑論不同裝置間的同步了。

最理想的狀況就是可以在每隻帳號使用不同的密碼,而且這些密碼互相沒有關聯。密碼管理器就是為此而生,用一個主密碼來進入密碼庫,如此一來使用者只需記憶一組主密碼,剩下的工作則由密碼管理器取代。


為什麼不應該使用瀏覽器內建的密碼記憶功能?

在登入網路服務時,你可能看過瀏覽器跳出記住密碼的通知。瀏覽器內建的功能很直覺,但這種方式有幾個的問題:首先,在之後自動填寫密碼時並沒有提供再次驗證的機制,因此任何人只要使用到你的瀏覽器就能取用你所有的登入資訊。此外,這種方式把密碼限縮在該瀏覽器,如果你有額外使用純 App 服務可能不適用。而且相比於專門的密碼管理器,瀏覽器內建的密碼記憶功能過於陽春。


密碼管理器

密碼管理器需要由一個「主密碼」解鎖密碼庫來取得各項服務的帳密,因此使用者只需要負擔記憶一組密碼。

有人可能會對將所有密碼都放在同一個地方有疑慮,主流管理器的密碼庫都是經過加密,也就是說如果沒有主密碼,即使拿到密碼庫的資料也無法取得其中內容,這要比傳統明文記錄在某個 Excel 檔要安全得多。除此之外,現在密碼管理器都支援跨平台、自動填寫、密碼生成等實用功能,在實際使用上甚至比手動打密碼更便利。

如果沒有使用過任何密碼管理器的人,我推薦先試看看免費開源的 Bitwarden。它擁有密碼管理器必備的所有基礎功能,包含跨平台、自動填寫、密碼生成以及裝置間同步,如果體驗下來覺得很便利,也可以轉用其他付費的軟體,享受一些更進階的服務。

以下會用 Bitwarden 簡單示範密碼管理器:

首先你需要申請一個 Bitwarden 的帳號及主密碼,並在常用的瀏覽器以及裝置安裝 Bitwarden。接著開始手動加入現有的帳密組合,加入時記得要輸入該帳密的網址,Bitwarden 才能自動幫你輸入。

手動添加帳密

這裡可以看到 Bitwarden 已經內建密碼生成功能,如果想要進一步調整參數以符合網站的要求,可以到工具欄的密碼生成器,這裡可以調整密碼長度及組成,甚至可以調成由字串組成。

內建密碼生成器

更簡便的方式是直接重新登入你的網路服務,Bitwarden 會跳出提示窗詢問是否要幫你記帳密,這個方式的好處是系統會自動記錄網址。

套件自動記憶功能

往後只要到該網址,點擊擴充套件 Bitwarden 就會自動找出符合的帳密資訊。

自動填寫功能

在 iOS 下的 Bitwarden 也一樣提供自動填寫的功能。(Android 也是)

iOS 的自動填寫功能

進階保障:雙盲法

如果對於把所有密碼放在同一個服務還是不放心,可以使用終極的密碼設定:「雙盲法」。

跟最近吵得沸沸揚揚的疫苗測試概念很像,疫苗測試裡的雙盲是指受試者與研究員都不知道施打的是疫苗還是安慰劑。而密碼的雙盲則是密碼管理器跟使用者本人不知道實際的密碼。

雙盲的操作是當密碼管理器自動填入帳密後,你再手動的更改一下密碼,例如可以每次都在第四位加一個 S 、最後一位加一個 6。如此一來,即使密碼庫真的被盜取且成功被解密,裡頭紀錄的字串也無法登入你的帳號。於此同時,當密碼本身已經是亂碼,手動加進去的字元形同隱形,不會有前面改變數被猜出來的可能性。(當然是否要做到這個地步當然取決於個人,老實說把打開雙步驟驗證可能還比較實在XD)

雙盲法舉例說明

其他密碼管理器

Bitwarden 基本上滿足絕大多數關於密碼的需求,如果想要整合雙步驟驗證,可以選擇一年 USD$10 的 Premium 方案,其中還包含了一些密碼的健檢,總歸來說 Bitwarden 是比較簡單不花俏的選擇。

如果想要一些更炫酷的服務,知名的 1Password, Dashlane, LastPass, Keeper 都是不錯的選擇(這些服務雖然有提供免費方案,但多半閹割了跨裝置同步、數量上限等核心功能,體驗上手還是推薦 Bitwarden)

但如果使用付費等級,他們都有提供一些 Bitwarden 沒有的功能,例如 1Password 有成熟的體系(如果有使用 Alfred 可以進一步整合)、Dashlane 有一鍵換密碼、Keeper 有搭配加密的雲端空間等,詳細的方案與功能比較可以去參閱他們官網。

我自己目前使用的是較小眾的 Enpass,倒不是因為有什麼特別厲害的功能,主因是在一眾訂閱制的服務中,Enpass 是少數保有買斷制的密碼管理器,密碼庫本身也是備份在個人雲端,功能也算完整,供大家參考。


結語

客觀來說,資訊安全可能有最好的保護方式,但實務面上這些手段都需要顧及便利性,密碼管理器在這兩者中取得一個不錯的平衡。而且使用它還有一個額外的附加好處,自動填寫功能其實變相地在保護不被釣魚網站欺騙,因為系統只會識別相符的網域(前提是記錄的時候是對的),那些幾可亂真的釣魚網站只有網站長得很類似,網域是比較難偽裝的,因此假設開了某個連結卻發現沒有自動填入的資料,變相地在提醒網站的可信度。