パスワード管理ソフトの中でも非常に有名なものの一つが KeePass シリーズだ。
複数の端末での同期や、多要素認証などのセキュリティ向上設定には少し知識が必要なものの、 LastPass や 1Password などのクラウド型のソリューションとは異なり、有料プランの課金やサービス提供企業側のヘマによるセキュリティ侵害などのリスクが低いのが特徴だ。
Andoroid 向けの古参 KeePass 互換のパスワード管理ソフトとして、 Keepass2Android が存在する。
この Keepass2Android には、同じ作者によって提供される以下の2つのバージョンがある。
一見すると、インストール数の多い Keepass2Android Password Safe (以下、 非オフライン版) の方が良さそうに見えるかもしれないが、実際には Keepass2Android Offline をオススメする。
Offline版 と 非オフライン版 の違い
そもそも、 Offline版 と 非オフライン版 の違いは、アプリが直接インターネットにアクセスしてデータベースファイルを取得する機能の有無だ。
しかし、 Offline版 ではデータベースファイルのクラウド同期ができない…かというとそんなことはない。
Android には、 "Storage Access Framework" (SAF) という機能が備わっており、アプリがクラウドストレージと直接通信する必要なく、システムのファイルピッカーを介して、 Google Drive や OneDrive のアプリを開き、クラウドストレージとの同期ができる。
このため、 FTP や WebDAV などの一部の特殊な場所を除いて、ほとんどのクラウドストレージを Offline版 でも問題なく利用できる。
開くだけでなく、データベースを編集して保存すれば、もちろんクラウド側にも変更が反映される。
すなわち、ほとんどの場合は Offline版 で十分なのだ。
非オフライン が、アプリ内部から直接 Google ドライブや OneDrive, Dropbox 等を開けるのは、 SAF が一般的ではなかった過去の名残という面が大きい。
なぜ Offline版 が良いのか
上記のような前提を踏まえ、そのなかで何故 Offline版 が良いのかというと、アプリが 「ネットワークへのフルアクセス」の権限を持っていない からだ。
パスワード管理ソフトのリスクのひとつに、開発者の PC がクラッキングされて、ソフト側にキーロガーや他の脆弱性が仕込まれる可能性がある。
(以前、 LastPass でやられたのがまさにそれ)
しかし、万が一にもそのような脆弱性を仕込まれても、そもそもネットワークアクセス権限がなければ、奪われた情報をどこかに送信されることもない。
すなわち、より安全になる…というワケだ。
そのほか
Keepass2Android 以外の Android 向け KeePass 互換ソフトで最近人気が出てきているのが KeePassDX だ。
元々は KeePassDroid のフォークだったものだが、 UI はだいぶモダナイズされている。
権限回りもだいぶ尖っていて、「バイブレーションの制御」しか存在しない。
個人的には、ロック解除後の UI は KeePassDX の方が好みだが、生体認証を用いたクイック解除まわりの挙動は Keepass2Android の方が使いやすいので、もっぱら後者を使っている。
利用者の多さだけでなく、 GitHub 上の OSS 開発者コミュニティの活発さからもアプリの安全性が推察できるので、ぜひ利便性と安全性のバランスが取れた、お好みの KeePass クライアントを探してみると良いだろう。