有什麼好方法?
每個人對於密碼記憶都有自己的一套方法,寫在記事本、便條紙...等等。
不過別忘記,既然稱之為密碼,就代表這個鑰匙保護著重要資訊,寫在紙上不就增加外洩的機會了嗎?例如記事本遺忘在咖啡廳、便條紙貼在螢幕旁,呃... 這樣密碼已經不能稱之為密碼了。
因此,開始有「密碼管理軟體」的出現,利用軟體來分門別類保管你的帳號、密碼、網址、備註等資訊,方便查閱,並且把這些資訊再經過加密保存,未來如果忘記了某個網站的密碼,只要記住這套密碼管理軟體的密碼,登入後就可以找回遺忘的資訊。
過往這些軟體都是在電腦上執行,然而現在智慧型手機流行後,對於這類軟體還增加了「跨平台」、「同步」的需求。
因此,目前許多人推薦「1Password」這一套優秀的商業軟體方案。
有開源替代方案嗎?
嚴格來說,沒有。
目前沒有像 1Password 直接提供這麼完整的解決方案,不過開源的好處就是選擇夠多,而且可以靈活搭配、自由運用,採用各種組合來達成需求。
以下提供我個人的使用經驗,與各位分享。
各作業系統對應方案
開源世界中,有一套「KeePass」方案,以 C#/.NET 開發,採用了 AES 進行加密,還可以搭配 KeyFile 的方式來加強安全性。
正因為 KeePass 是開源方案,所以才能在各種平台上開枝散葉。
Windows 使用「KeePass」
MacOSX、Linux 使用「KeePassX」
Android 使用「KeePassDroid」
iOS 使用「MiniKeePass」
各裝置資料同步方案
上面提到各種作業系統的對應方案,但卻是各自為政,所有資料只在本機儲存,這樣根本沒有解決問題。
幸好,現在各種網路資料夾同步化方案非常齊全,不論採用雲端方案或者自建 NAS 系統都不是問題,例如我用過的方案如下:
- Dropbox (公有雲)
- Synology CloudStation (私有雲)
各裝置安裝並設定好相對應方案的同步程式,再將 KeePass 所用的資料庫檔案(.kdb)放到同步資料夾,只要一方有異動就會自動上載到雲端,其它裝置則會觸發同步機制保持最新版本,即可變相達到帳號密碼資料庫跨裝置同步的效果。
示意圖我繪製如下:
要特別注意的是,由於採用檔案等級的同步,因此要儘量避免兩個以上的裝置同時開啟 .kdb 編輯與存檔,以免同步後資料遺失。
當然,除了上述提到的兩個同步方案,還有 ownCloud 或 NextCloud 也是值得一試的開源網路同步解決方案。