Revision history and IPFS entry, back to latest
CurtisChan
IPFS What is this

Content Hash

KeePass 密碼管理研究 2021

CurtisChan
·
·
帳號資訊電子保存及相關理念一探
Apple Keychain App icon

每當登記一個購物優惠會員、訂閱新的影片串流服務等等都需要地方去記錄帳戶資料。科技公司如Google與Apple都有提供其密碼管理器在其瀏覽器,甚至直接整合至系統中,方便使用者一按即填登入資料。之前一路都是用 1Password ,中間亦試過用 LassPass,不過因為前者即將轉成訂閱服務而非一次過買斷,所以因為這個機會也順便研究將自己的密碼庫搬家。

KeePass 是我目前使用的密碼管理工具。賣點除了是免費開源,我認為是它給予的自己選擇權。同一個加密密碼庫檔案,個人隨心選擇其他可信的開發者提供的 app來開啟與修訂,也可以自行選擇記錄所儲存的位置。

KeePass官方網站 看上去有點上個世紀的風格,不過無阻其優勝開源之特點 (GPL v2)。可以從官方建議的下載列表找出自己的設備的操作系統相應的應用程式來打開 密碼記錄檔案 ( *.kdbx )。

在 macOS 上可用(而又比較好看)的 app 至少有四款可選。任一應用程式建立密碼檔案後就可以開始建立一個 entry!以下以 KeeePassium 展示,其他軟件基本大同小異。

KeePassium 基本的建立「登入名稱」、「密碼」、「網域」都很直觀填入。圖示甚麼的就按個人喜歡再微調或忽略。要是個別網站或服務需要一些特別的欄位,例如某間大貓銀行若不開TouchID/Face ID下使用服務需要到兩個密碼,再加多個保安問題與答案才能認證,又或者是一些讀者需要另外記錄加密貨幣地址與12個位登入字元之類的情況,袛要加入「自定欄位」就可以解決!

密碼之外也能貯存證件號碼、信用卡CVV、中英地址、軟件授權/註冊碼、電話IMEI序號,不勝枚舉。網上亦有人另開一個數據庫來擺放電子版本的證件相片以及 機密PDF 之類。

在 KeePassium 右上角按「+」號就可以添加「欄位名稱」與「欄位內容」。而想要進app時先以「***」掩蓋機密資料,點一點才顯示則可選欄下按鈕來保護。個別app提供隨機密碼產生功能,一按就可以制造出較強度的密碼。下圖從左起展示 iOS 上的 KeePassium 與 StrongBox,兩者都有macOS與iOS版本。還有一些在tvOS提供app,方便您在電視以4K來整理個人密碼庫!?

▲ Mac 上 MacPassKeePassXC,界面比較簡潔,使用者可自行找出自己慣用的app

有人或會說所有密碼都擺在一齊會不會很危險?誰說您只能建立一個密碼記錄檔呢?

提升安全性的方法是透過建立幾個密碼庫,各有不同的保安級別。好像是一般會員資料,在腦中記下一個主密碼打開。

而一些關於錢銀的敏感內容就可配合上「主控密鑰檔」( key file ),你可以將檔案放上自選的雲端空間(WebDAV),我用Google Drive與OneDrive來同步,然後只有我的離線硬碟同電話本地存了該「密匙檔案」。即使知道我的密碼庫主密碼,沒有對應的「密匙」也無法打開內容。這個方法會降低便利性,但比起單純用密碼安全得多。

此外,若遇到緊急情況/去北韓旅遊時需要解鎖展示密碼給不可信的人或組織時,也可預先創建一個似真的密碼庫。

一個特別的個案是一家人用一個雲端共享資料庫,不過暫時我家人的密碼及資產都是我管理。

一切準備就緒就能在系統設定中啟用「自動填寫密碼」選擇允許來源自相應的密碼管理應用。下次在一些要登入的地方鍵盤會有提示可以自動填登入資料。不支援的地方仍可以跳去app 中一按複製再來回貼上,但要小心有些軟件會不經同意地記錄剪貼簿內容。


 ▲ 在 Nike香港 網頁上使用自動密碼填寫來登入網頁

▼ 某些電子錢包會檢視剪貼板的內容 (剪貼板透明度)


一些更為複雜功能,如雙重認證 ( 2FA )的一次性密碼功能 OTP (維基百科)、標籤分類、自動過期(用來取試用品的即棄帳戶)、加密方法、欄位參照引用、限制使用第三方鍵盤、外掛插件之類則是留待讀者前往 Google 自己了解。而KeePass密碼檔亦支援附加檔案:個別記錄可加上相片並一同存在資料庫上。

 ▲ KeePass iPhone版一按複製單次密碼

上述都是蘋果生態圈,當然 Linux 跟 Android 用戶都可以有KeePass應用。我在後備電話則KeePassDX,下列展示其界面(app 不允許截圖,所以直接用相機影下)。

唯一注意的地方,若在行動端作出修訂,最後短期內不要再是其他地方/設備再對密碼庫作任何改動,或者暫用「只讀」模式來檢視內容,否則或有衝突發生而要手動處理/合併重複記錄問題。修訂前確定密碼庫是最新/已同步就基本上使用沒有大礙~

盡量用軟件生成的隨機密碼,且每個帳戶都有無意義的用戶名來作帳戶,一切都交給app即可。密碼庫則多端線上線下備份,腦袋只需記底主控密碼 ( master password ) 即可,就像瑞士的高寶牌鎖匙,一條匙可以解開整座大樓所有的門。我自己定期每月將密碼庫放在一個離線手指放在家裏,每周則另在電腦再加雲端備分;知道會有大改動前亦會作一次完整備份。


隨機密碼產出的密碼也可用於用戶名稱其實。如果不是法律規定,或者只用來做簡單會員註冊(如齊開心餐廳、藍色最大圈、拼音速遞、各大商場等會員),整個帳戶大部分資料最好是虛構或者簡單大約概括即可。或者每個帳戶名字都不同,A網站我叫 Tom C,B網站我就變成 Peter C。

甚少使用的密碼我會用註解附注一些額外關鍵字眼 ( attributes ) 或創建原因。未來直接點按放大鏡圖示搜尋即可。有時過多的分類反而更麻煩跟浪費時間。習慣每次收到帳戶資料就好直接記錄下來,甚麼邀請碼、會員編號需要時要找出來會很麻煩。

最後有一個特別的方法是你記底你的密碼一部分,而另一部分只有你自己知道。當用自動填寫功能之後,再手動加上缺餘部分。舉例完整密碼為" abcdef ",在密碼庫記下 abc ,自動填寫後再自行加上 def 。還有更多關於密碼/私隱的點子可見以下關聯的文章。

自己的資料最好還是自己管理。如果用 Safari 或 Chrome 內置的密碼管理功能,有時若要借電腦或電話給人時,或許會不小心外洩個人習慣。而且這些工具只能記錄有明顯登入頁面的帳戶資訊。一些更指定的內容或許不能完整加密記錄。

CC BY-NC-ND 2.0