使 Keepass 資料庫接受但不要求兩種解鎖方法

使 Keepass 資料庫接受但不要求兩種解鎖方法

我使用 Keepass 來管理我的密碼,並使用 Dropbox 在家庭電腦 (Windows 7)、工作電腦 (Ubuntu) 和我的 Android 手機上進行同步。

目前,我只使用主密碼來保護它,但我更願意在家中使用我的 Windows 使用者帳戶,這樣我就不必每天輸入長密碼。另一方面,如果我改用 WUA 來保護它,那麼我將無法從我的手機或工作電腦存取它。

有什麼方法可以將我的 keepass 資料庫設定為接受但不要求這兩種解鎖方法?這樣我就可以在家裡使用我的 WUA,而其他地方則可以使用我的主密碼。

答案1

您可以將密碼放入家庭 PC 上的文字檔案中(確保您的文字編輯器不會添加換行符),然後將其作為密鑰檔案提供給 KeePass。 (您可以使用 Windows 的 EFS 加密金鑰檔案。)

現在您可以在家中使用金鑰文件,並在其他地方手動輸入密碼。

答案2

最簡單的方法(如果您不經常更改密碼,如果您使用 Keepass,則可能會這樣做)是使用 2.x 版本複製資料庫。

沒有太多其他方法。如果您實際查看加密過程中發生的情況,您會發現,如果它使用一個金鑰加密整個內容,則無法使用另一個金鑰對其進行解密,因為這就是加密的關鍵所在。

如果您嘗試以任何方式使用多個金鑰,那麼都會簡化為驗證金鑰,然後使用儲存的金鑰解鎖資料庫,這是相當不安全的。

即使程式在同一文件中儲存了具有兩個不同加密金鑰的兩個副本,這兩者都使暴力破解變得更容易,因為獲得一個金鑰可以輕鬆找到另一個金鑰,而且很笨拙,因為每次編輯密碼時,您都會獲得密碼。

Tl;dr:擁有多個金鑰是可能的,但只需要一個金鑰在數學上幾乎是不可能的。

您擁有的另一種解決方案是獲取更短的密碼。閱讀本文,關於 AES(Keepass 使用的),一個簡單的密碼fluffy is puffy可能需要 39 百萬年才能破解,即使這些單字非常簡單。

相比之下,Keepass 預設會對密碼進行 6,000 次哈希處理(如果你將其設定為 200 萬次,它仍然幾乎不費吹灰之力),這使得任何類型的數學技巧都毫無用處。您可以使用發音和下+上+數字設置密碼我產生易於學習和記住但難以暴力破解或猜測的密碼,例如tahter.3usandu.哎呀,你甚至可能最終會學習日語:-)。

答案3

從2.10版本開始,KeePass支援命令列參數-pw-enc。詳細資訊請參見KeePass 線上說明。它接受加密形式的 KeePass 資料庫主密碼。

使用 cmd 腳本,如下所示部落格使用-pw-enc參數自動開啟/解鎖您的資料庫,無需輸入密碼。將此腳本新增為 Windows 工作排程器中的任務。定義「登入時」的觸發器。

這樣,您的 KeePass 資料庫只需要一個主密碼。您只需輸入主密碼即可在其他電腦上開啟它。但是,在您自己的電腦上,您有一種安全的方法可以根據您的 Windows 使用者帳戶自動解鎖資料庫。

旁注

  • 若要建立加密表示,您必須使用佔位符 {PASSWORD_ENC}用於具有資料庫主密碼的 KeePass 條目。每次創建時,加密的表示形式都會有所不同。儘管如此,它會起作用。

    您可以將其用作自動輸入序列或用於條目 URL(如cmd://"cmd.exe" /k echo {PASSWORD_ENC}.

  • 為了避免彈出 cmd 窗口,您可以使用 VBS 腳本包裝 cmd 腳本,如下所示回答伺服器故障

  • 如果您將 KeePass 配置為自動鎖定資料庫,則可以為本機和遠端電腦新增「在工作站解鎖時」和「連接到使用者會話時」的附加觸發器。

  • 不要在任務計劃程式中為該任務勾選「無論使用者是否登入都會執行」。否則,任務無法調出 KeePass UI。

  • 加密依賴於Windows 資料保護 API (DPAPI)。只有同一電腦/網域上的目前使用者才能解密。

相關內容