KeePass 評測:離線密碼管理器
對一般使用者來說,唯一需要記住的重點是:選擇 KeePass 2.x,並使用 KDBX 4 格式。這能確保你享有最新的加密保護,同時也確保與其他衍生版本的相容性。
衍生版本生態:KeePassXC、KeePassium、Strongbox 等
KeePass 官方版本以 Windows 為主要平台,透過 .NET 框架執行,在 Linux 與 macOS 上則需要依賴 Mono 環境,體驗並不理想。這個平台限制催生了豐富的第三方生態,其中最具代表性的就是 KeePassXC。
KeePassXC 是以 C++ 與 Qt 框架重新實作的跨平台版本,支援 Windows、macOS 與 Linux,原生介面、效能優異,並且內建瀏覽器擴充功能整合(KeePassXC-Browser),支援 Windows Hello、Touch ID 等生物辨識解鎖。對非 Windows 使用者而言,KeePassXC 往往比官方版本更值得推薦,因為它與官方 KDBX 格式完全相容,資料庫可以無痛互通。
行動裝置方面,Android 使用者可以選擇 KeePass2Android 或 KeepassDX;iOS 使用者則有 KeePassium 與 Strongbox 兩個成熟選項。這些 App 都能直接讀寫 KDBX 檔案,並支援透過雲端硬碟或 WebDAV 進行同步。換句話說,KeePass 的「離線」是指核心架構不依賴廠商伺服器,而不是指你完全不能用雲端硬碟來存放資料庫檔案——這個區別非常重要,我們在後面的同步章節會詳細說明。
KeePass 核心功能深度實測
以下的功能評測以 KeePass 2.x 官方版本與 KeePassXC 為主,兩者在核心功能上高度一致,差異主要在介面與平台支援。
資料庫加密機制與主密碼設計
KeePass 的資料庫是一個獨立的 .kdbx 檔案,所有條目、備註、附件、自訂欄位都被加密後存放在這個檔案中。加密流程分為兩個階段:首先使用金鑰衍生函式(KDF)將你的主密碼轉換成加密金鑰,這個步驟會加入隨機鹽值與大量迭代運算,目的是讓暴力破解的成本變得極高;接著使用 AES-256 或 ChaCha20 對整個資料庫進行加密。
KeePass 支援多種驗證方式的組合,這是它相對其他管理器的一大特色。你可以只用主密碼,也可以加上金鑰檔案(Key File)形成雙因素保護,或是搭配 Windows 使用者帳戶整合,讓攻擊者必須同時取得你的檔案、你的金鑰檔案與你的系統登入權限才能解密。這種「多重鎖」的設計彈性,讓 KeePass 可以依使用者的威脅模型調整安全等級。
實際使用上,主密碼的強度仍然是整個系統的根基。KeePass 內建密碼品質指示器,會即時估算密碼的熵值與破解時間。官方建議主密碼至少要有 128 位元以上的熵,換算成實際字串,大約是隨機六到七個單詞組成的密語(Passphrase),或是十幾位混合大小寫、數字與符號的隨機字串。需要注意的是,主密碼一旦遺失,KeePass 官方沒有任何救援機制,這也是離線架構的必然代價。
自動輸入(Auto-Type)與瀏覽器整合
Auto-Type 是 KeePass 最具代表性的功能之一。它不透過瀏覽器擴充功能,而是模擬鍵盤輸入,把你選定的帳號密碼直接「打」進任何應用程式的輸入框。這意味著即使某個網站的登入介面不支援擴充套件、或是你使用的是一套老舊的桌面軟體,Auto-Type 依然可以運作。這個設計的覆蓋率遠高於純瀏覽器型的密碼管理器。
Auto-Type 支援序列自訂,你可以設定成「輸入帳號 → 按 Tab → 輸入密碼 → 按 Enter」,也可以針對特殊網站調整順序或加入延遲。更進階的是雙通道自動輸入混淆(Two-Channel Auto-Type Obfuscation),它會把輸入內容拆成兩半,穿插無意義的亂碼,讓專門攔截鍵盤事件的側錄軟體難以還原真正的密碼。這個功能在面對惡意軟體時,提供了一層實質的防護。
不過,Auto-Type 的體驗確實不如現代密碼管理器的瀏覽器擴充功能流暢。你通常需要先切換到 KeePass 視窗、找到條目、按下快捷鍵,或使用全域熱鍵觸發。官方版本本身沒有瀏覽器擴充,必須仰賴 KeePassHttp 這類第三方外掛;KeePassXC 則內建了 KeePassXC-Browser,體驗較接近主流產品,但仍是透過本機通訊而非雲端 API。整體而言,Auto-Type 的通用性無可取代,但便利性明顯落後一個世代。
外掛生態系與擴充性
KeePass 官方版本的外掛系統是它的一大特色。透過外掛,你可以加入雲端同步(如 KeeAnywhere 支援 Dropbox、Google Drive、OneDrive)、增強搜尋、自動備份、密碼匯入匯出、甚至整合硬體安全金鑰。這些外掛由社群開發,品質參差不齊,但確實讓 KeePass 的擴充彈性遠超一般商業軟體。
然而,外掛也是雙面刃。每一個外掛都是潛在的攻擊面,特別是那些需要網路權限的外掛。如果你選擇安裝同步外掛,就等於自願在「完全離線」的架構上開了一個洞。資安社群的普遍建議是:能不用外掛就不用,若真的需要同步,改用把資料庫檔案放在已同步資料夾的方式會更單純、也更容易稽核。
跨裝置同步的實務做法
這是新手最常卡關的地方。KeePass 本身不提供同步機制,但你有多種實作方式:
關鍵原則是:加密始終發生在本機。即使你把檔案放上雲端,雲端廠商拿到的也只是加密後的密文。這就是 KeePass 架構的精妙之處——它把「同步」變成一個可以自由選擇的外部問題,而不是內建在你必須信任的黑盒子里。
優點與缺點總整理
五大優勢
第一,原始碼完全公開且可稽核。KeePass 的核心程式碼二十多年來接受全球資安研究者的檢視,任何後門或重大缺陷都很難長期隱藏。相較之下,商業軟體的加密實作只能靠廠商自己宣稱。
第二,零成本、無訂閱制。KeePass 完全免費,沒有進階版、沒有裝置數量限制、沒有功能分級。對預算有限的個人或需要大規模部署的企業來說,這個優勢非常實際。
第三,資料主權完全在自己手上。沒有帳號、沒有伺服器、沒有服務商。不會有「服務終止」或「條款變更」的問題,你的資料庫可以陪伴你二十年、三十年,甚至傳給下一代。
第四,格式開放且生態豐富。KDBX 是公開格式,衍生版本眾多,從 Windows、macOS、Linux 到 Android、iOS 都有成熟的用戶端。你不需要被綁在任何單一廠商的產品線上,隨時可以更換工具而不必重新建立資料庫。
第五,攻擊面極小。核心程式沒有網路功能,不會主動連線、不會回傳遙測資料、不會在背景執行同步。對高風險族群來說,這種「什麼都不做」的設計反而是最強的安全保證。
五項明顯劣勢
第一,同步要自己來。這對一般使用者是最大的門檻。你得自己決定用哪種同步方式、處理衝突、確保所有裝置都拿到最新版本。對不熟悉檔案管理的使用者,這一步足以讓人放棄。
第二,介面與體驗偏工程師取向。官方版本的介面風格停留在上一個世代,功能選項繁多且缺乏引導。KeePassXC 改善了介面,但整體體驗仍不如 1Password 那種精心設計的商業產品。
第三,沒有官方行動 App。所有行動版本都是第三方開發,功能與品質不一。免費版本通常有限制,付費版本則需要額外支出。
第四,主密碼遺失等於資料全毀。沒有密碼重設、沒有客服救援、沒有備援信箱。這在資安上是優點,在人性上是缺點。你必須自行建立可靠的備份與應變計畫。
第五,協作與分享功能薄弱。KeePass 本質上是單人工具。要在團隊中共享密碼,得靠共用資料庫檔案,但這會帶來同步衝突與權限管理的麻煩,遠不如 Bitwarden 的組織功能來得成熟。
安全性爭議與歷史漏洞回顧
沒有任何軟體是零漏洞的,KeePass 也不例外。誠實面對它的歷史安全事件,才能做出合理的採用判斷。
CVE-2023-32784 事件始末
2023 年 5 月,資安研究員公開了一個編號 CVE-2023-32784 的漏洞,影響 KeePass 2.x 在 2.54 版之前的所有版本。問題出在主密碼在記憶體中的處理方式:當使用者輸入主密碼時,程式會將其儲存在 .NET 的託管字串物件中,而這些物件在被垃圾回收前,內容可能殘留在記憶體裡。攻擊者如果能在本機執行惡意程式並取得記憶體轉儲(Memory Dump),就有可能從中復原出主密碼的大部分字元。
必須強調的是,這個漏洞的利用條件相當嚴苛:攻擊者必須已經在你的電腦上執行任意程式碼,也就是說你的系統已經被入侵了。在這種前提下,攻擊者其實有更多直接的手段。此外,漏洞洩漏的是「部分」主密碼而非完整字串,且無法從遠端觸發。儘管如此,這仍是一個實質的缺陷,開發者在 2.54 版本中改用 SecureString 處理主密碼,並在後續版本持續強化了記憶體保護機制。
這個事件給我們的啟示有兩點。其一,開源專案的好處就在這裡——漏洞被發現後能迅速修補,整個過程公開透明,社群可以驗證修補是否有效。其二,即使是最注重安全的離線工具,也無法防禦已經淪陷的作業系統環境。密碼管理器只是資安防線的一環,不是萬靈丹。
KeePass 與主流密碼管理器橫向比較
與 Bitwarden、1Password、NordPass 的定位差異
把 KeePass 與雲端服務放在一起比較,其實有點像拿手排車跟自排車比較——它們服務的是不同的需求。
簡單的判斷原則是:如果你把「不依賴任何廠商」放在第一位,選 KeePass;如果你把「無縫體驗」放在第一位,選 1Password;如果你想要兩者的平衡點,選 Bitwarden。
誰適合用 KeePass?使用情境分析
強烈建議採用的族群
建議再三考慮的族群
實戰教學:從零開始建立你的 KeePass 資料庫
下載、安裝與初次設定
首先決定你要用哪個版本。Windows 使用者可以下載官方 KeePass 2.x 的可攜版(Portable),解壓縮後直接執行,不需要安裝,也不會寫入登錄檔。跨平台使用者則建議下載 KeePassXC,從官方網站或各大套件庫取得。
第一次開啟程式後,選擇「新增資料庫」,系統會請你設定主密碼。這裡請務必使用高強度的密語,並且用密碼管理器以外的方式記錄下來——例如寫在紙上、鎖進保險箱,或是使用你絕對不會忘記的記憶法。接著選擇資料庫的儲存位置,建議放在你已經設定好同步的資料夾中。
建立完成後,可以先匯入既有的密碼。KeePass 支援從 CSV、1Password、Bitwarden 等多種格式匯入,匯入後建議立即刪除原始檔案,避免明碼外洩。
安全強化設定建議
結論與總評
KeePass 不是一套適合所有人的密碼管理器,但它在自己設定的目標上做到了近乎完美:讓使用者完全掌控自己的機密資料,不依賴任何第三方。它的加密架構經過二十年的實戰檢驗,衍生生態蓬勃發展,成本為零,透明度極高。如果你願意付出學習成本與設定時間,它能提供主流雲端服務無法比擬的資料主權與安全感。
反過來說,KeePass 的每一個優點幾乎都對應著一個缺點。離線意味著你得自己處理同步;開源意味著沒有專職客服;零成本意味著體驗不會被精心打磨;控制權在自己手上,也意味著責任在自己肩上。它更像是一套工具,而不是一個服務。
我的評分如下:
在雲端服務愈來愈便利、也愈來愈無所不在的今天,KeePass 的存在提醒我們一件事:便利與控制權往往是零和關係。你願意把多少掌控權交給別人,決定了你適合哪一種工具。而對於那些選擇把鑰匙牢牢握在自己手中的人來說,KeePass 依然是最值得信賴的老朋友。