優勢
Android有許多飼養端口。其中大多數是開源的,可以打開並操縱常規的keepass文件。我使用k2a是因為:
- 它的Android集成比其他Keepass端口要好得多。或者,實際上,比我們審查的大多數廣告產品。
- 它不依賴Android的不安全剪貼板功能來工作。這兩個優點都與K2A的自定義鍵盤功能有關(見下文)。
缺點
K2A的主要缺點是它僅通過Google Play商店提供,因此可以通過Google Play Services進行更新。這意味著,從理論上講,Google可以隨時將惡意代碼滑入更新。
我們對這種風險與上述優勢之間的權衡感到滿意。對於任何對Google保持警惕的人,我建議使用Keepass DX或Keepass Droid。
這兩個應用都可以從F-Droid獲得,並通過剪貼板超時來減輕剪貼板問題。這不像K2A鍵盤解決方案那樣安全,但確實可以最大程度地減少問題。
K2A鍵盤
大多數Android密碼管理器(包括大多數Keepass端口)使用Android的內置剪貼板功能來工作。這使您可以從打開的keepass數據庫中將用戶名和密碼複製到需要的應用程序或網頁。
“許多[密碼]應用程序完全忽略了剪貼板嗅探的問題,這意味著在憑證被複製到其中沒有清理剪貼板。[...]我們發現,例如,可以濫用應用程序的自動填充功能來使用“隱藏的網絡釣魚”的攻擊竊取密碼管理器的應用程序,以竊取密碼管理器的秘密。”
K2A通過提供自己的鍵盤來解決此問題。這可以直接訪問keepass數據庫,並將用戶名和密碼輸入表單中,而無需將數據存儲在Android的剪貼板上。
鍵盤也適用於Android集成,因為它可以與所有應用程序一起使用。無需任何形式的自定義集成或瀏覽器附加組件。它可以與其他鍵盤一起安裝,可以輕鬆地與其他鍵盤交換。
我們發現K2A鍵盤有點基礎,可以用作Android鍵盤。它沒有文本預測,例如,沒有個性化的自動校正或精美的滑動輸入。

但這不一定是一件壞事。這些功能可能是嚴重的隱私風險。另一方面,K2A鍵盤是完全獨立的,沒有向任何人發送任何信息。
但是,為了方便起見,我們願意犧牲一些隱私,因此僅使用K2A鍵盤輸入密碼。抱歉,我只是懶惰!但是,對於認真的隱私意識而言,K2A鍵盤將成為一個很棒的日常駕駛員。
云同步keepass文件
使用任何云服務可以輕鬆地在設備上安全同步密碼。這包括Dropbox和Google Drive之類的產品。在您反對之前,我很清楚諸如此類的服務是一場噩夢。但是,事實並不重要。
每個.kbdx文件都是使用岩石固定加密來自行加密的。默認情況下,K2A使用AES-256帶有SHA-256哈希身份驗證的密碼。這是非常安全的,但是可以使用更強大的選擇。
這僅有的訪問文件的方法是使用主密碼,該密碼僅應為您自己知道。所以選擇一個好!還有一個選項可以通過要求在打開.kbdx文件時需要一個密鑰文件(由您自己創建)來進一步提高安全性。
換句話說,沒有人無論它多麼公開存儲,都將打開適當安全的.kbdx文件。
但是,真正的偏執型可以將.KBDX文件本地存儲在其Android設備上,並使用USB電纜或類似的樣品手動將其與存儲在其他設備上的.KDBX文件同步。如果您不打算使用K2A的在線同步功能,則可以使用離線keepass2android脫機。
每當您將更改保存到數據庫時,密碼將在線同步。這是因為您在所有設備上的所有KeeTass程序都可以訪問.KBDX文件。
使用K2A
設置並打開K2A數據庫
請注意,K2A的安全策略不再允許對開放數據庫進行屏幕截圖。為了說明keepass2android的工作原理,我使用了Google Play商店中的一些屏幕截圖。
安裝來自Google Play商店。唯一需要的特權是:
- SD卡訪問
- 互聯網訪問(如果您不想授予此特權,請安裝K2A)
- 顫動
首次打開K2A時,您可以選擇打開現有的Keepass數據庫(.kbdx文件)或創建新的數據庫。

如果打開現有的.KBDX文件,則keepass2android支持多種流行的雲服務,以及各種自託管解決方案(包括本地存儲)。如有必要,只需登錄您選擇的服務/個人解決方案,然後瀏覽您存儲的.kbdx文件即可。

另外,您可以創建一個新的Keepass數據庫。默認情況下,它使用AES-265密碼,但是您可以將其更改為Chacha20或Twofish-256。默認情況下,使用的密鑰推導是具有500000加密回合的AES-KDF,但是如果您願意,可以更改為Argon2。
您還可以創建一個密鑰文件以提高安全性。必須存在此文件才能打開數據庫。該文件不應在線存儲。取而代之的是,您應該將本地的副本存儲在任何要打開.kbdx文件的設備上(或者為了真正的偏執量,請隨身攜帶一個副本,並在USB卡住或類似的情況下隨身攜帶)。
有關創建keetass數據庫的更多信息,請參閱我的完整Keepass評論。

一旦已找到或創建了.KBDX,您就可以以兩種或三種方式將其打開:
- 密碼解鎖 - 在設置數據庫時,只需輸入您創建的完整密碼或密碼。
- 快速解鎖(可選) - 如果已經使用其完整的密碼/密碼打開數據庫,則只需使用密碼/密碼的最後幾個字母即可快速重新打開它(默認情況下為三個)。當然,這不像每次使用完整密碼那樣安全。但這很方便。
- 指紋解鎖(可選)。如果您的設備具有指紋掃描儀,則可以使用它來解鎖.KBDX文件。這取代了輸入完整密碼或僅快速解鎖密碼的需求。
在所有情況下,如果.kbdx數據庫需要一個,則必須存在密鑰文件。
資料庫
密碼可以分組組織。

您可以創建新密碼,檢查和編輯密碼詳細信息。

Android集成
您可以從數據庫中剪切和使用用戶名和密碼,但是如前所述,這不是很安全。剪貼板超時會緩解問題(默認5分鐘,但可以更改),但也很麻煩。
然而,keepass2android在其競爭對手領先的地方是其Android集成。
Android Autofill服務
從Android 8.0 Oreo開始,K2A可以與新的Android Autofill服務集成。從理論上講,無論您在設備上遇到的何處,這都可以自動填寫用戶名和密碼 - 無論是在應用程序中打開的瀏覽器。

實際上,此時的支持仍然有些斑點。例如,Google Chrome提供了自己的密碼經理,頑固地拒絕玩遊戲。但是,該功能在許多應用程序中都無懈可擊,但是我發現使用Firefox for Android瀏覽器登錄帳戶時,這是天賜的。
當它起作用時(大部分時間是在Firefox中特別有用的)Android Autofill服務使使用K2A非常容易。
鍵盤輸入
對於舊設備的用戶以及應用程序不採用Android Autofill服務時,K2A與Android集成的主要方式是通過其鍵盤。這是與主應用一起安裝的,如果需要,可以用常規鍵盤加熱。這是輸入憑據的最安全方法,並且非常方便。它還可以與任何應用程序中的任何密碼字段一起使用。
在我的三星手機上,一旦安裝了鍵盤,就很容易在鍵盤之間切換。

要將用戶名和密碼輸入任何網頁或Android應用程序,請選擇鍵盤的特殊keepass圖標。這會提出從您的keepass數據庫中選擇條目的選項,或者讓K2A嘗試為您搜索正確的條目。
我必須承認,我發現搜索功能非常受歡迎,因此通常只選擇自己選擇一個條目。如果.KBDX數據庫尚未打開,則需要使用上面概述的一種方法將其打開。

找到或選擇了正確的條目後,K2A將進入自動填充模式。只需選擇正確的輸入字段,然後選擇用戶或密碼,鍵盤將輸入信息。簡單的!

您可以通過觸摸ABC按鈕切換回常規鍵盤。
瀏覽器集成
如前所述,K2A在支持Android Autofill服務的瀏覽器中非常易於使用。但是,即使沒有這個,它在任何瀏覽器中都可以很好地工作。
在具有登錄名的網頁上,只需使用瀏覽器的共享功能與K2A共享。

解鎖您的Keepass數據庫,K2A應該已經找到了正確的條目。我發現以這種方式搜索條目比使用鍵盤搜索功能更有效。
您仍然需要在自動填充模式下使用K2A鍵盤來輸入詳細信息,除非您已安裝了K2A插件的鍵盤SWAP並正確配置。
結論
由於其開源端到端性質,Keepass是我真正建議*的唯一一位密碼管理器。 keepass2android是其中的重要港口。它與常規keepass 2.x數據庫文件完全兼容,跨設備無縫同步,並且與Android的集成得比我疲倦的任何其他keepass端口要好得多。
它依賴Google Play服務是一個缺點,很高興看到該應用程序的F-Droid版本。但是,在我看來,該問題由專用鍵盤輸入方法提供的額外安全性彌補了此問題。
*自寫這篇評論以來,我還建議開源BITWARDEN密碼管理器。
