Open7

パスワード管理を KeePassXC に移行した

nojimanojima

今まで自作のパスワード管理ツールを使っていたんだけど、スマホにおける利便性が悪すぎたのでちゃんとしたツールに移行することにした。世の中にはパスワードマネージャーが山のようにあるが、以下の理由から KeePassXC を選んだ。

  • ブラウザ拡張を備えていること
  • Android から利用可能であること (KeePassDX というアプリを利用)
  • OSS であること (GPLv3 の元で配布されている)
nojimanojima

データベースファイルの暗号化は以下のようにした。

  • 暗号化アルゴリズム: ChaCha20
  • 鍵導出関数: Argon2id
    • 変換ラウンド: 2
    • メモリ使用量: 1024 MiB
    • 並列処理: 8

Argon2id のパラメータは手持ちのスマートフォンにおいて1~2秒程度で解錠できるように調整したが、いまいちこれが正しいのかはよくわかっていない。

nojimanojima

RFC 9106 では変換ラウンド1、メモリ使用量 2GiB が推奨されているっぽい。
https://datatracker.ietf.org/doc/html/rfc9106#name-recommendations

The Argon2id variant with t=1 and 2 GiB memory is the FIRST RECOMMENDED option and is suggested as a default setting for all environments. This setting is secure against side-channel attacks and maximizes adversarial costs on dedicated brute-force hardware.

nojimanojima

設定

以下の設定をデフォルトから変更した。

  • 全般
    • 起動
      • 「システム起動時に KeePassXC を自動的に起動する」を on
      • 「ウィンドウを最小化して起動する」を on
    • ユーザーインターフェイス
      • 「終了せずに最小化する」を on
      • 「システムトレイアイコンを表示する」を on
      • 「最小化した際はシステムトレイに格納する」を on
  • セキュリティ
    • タイムアウト
      • 「未操作の時間が続いたらデータベースをロックする」を 300 秒に
nojimanojima

データベースの暗号化のパラメータを変更する方法

  1. データベース(D) → データベースの設定(D)...
  2. [セキュリティ] → [暗号化の設定] タブ
  3. ダイアログ左下の "詳細設定" にチェックをつける (わかりにくい!!!)
  4. パラメータを調整し、[OK] を押す