【ほどほど効率化】『KeePass』を使って複数デバイスでID・パスワードを管理

ID・パスワードなどを暗号化して一元管理できるオープンソースのパスワードマネージャー『KeePass(キーパス)』の設定備忘録記事です。

各種サービスのユーザーID・パスワードの管理を「自分の目の届くところでやりつつ効率化する」ために、KeePassを使って各デバイス間での情報を同期しやすくしてみました。

スポンサーリンク
スポンサーリンク

KeePassについて

『KeePass』は、各種のID・パスワードを暗号化したデータベースにまとめて一元管理できるパスワードマネージャーソフト。

  • パスワード管理機能
    • ジャンルに応じた自由なグループ分け(サブグループも作成可)
    • 各エントリーの作成・変更・アクセス日時の記録
    • 添付ファイル・メモの入力
  • インポート・エクスポート機能
    • KeePass独自形式以外にも「text、html、xml、csv」の入出力可
    • プラグインによる拡張も可能
  • 入力支援機能
    • 一発で全部入力してくれる自動入力
    • ショートカットで簡単コピペ
    • KeePassのウィンドウからドラッグ&ドロップ
  • パスワード生成機能
    • 安全性の高いパスワードを生成してくれる機能を内蔵

フリーソフト&オープンソースで開発が進められていて、Windows・MacOS・Linux・Androidなど幅広いOSで利用できる。

KeePass2Androidでの自動入力

『KeePass2Android』での入力支援

暗号化したデータベースにまとめてID・パスワードを保存しておいて、あとはそのデータベース用のマスターパスワードさえ覚えておけばOKってやつです。

使い方の方向性

セキュリティ関連の設定は、突き詰めると底なし!ということで、今回の設定の着地点は以下のようなスタイルとなる。

  • 環境はWindowsPC、Androidのスマホ・タブレット
  • 個人利用
  • データベースの同期は自動化しない
  • データベースはクラウドストレージ・SDメモリなどで手動同期&バックアップ
  • データベースの暗号化はマスターパスワード&キーファイル
  • データベースとキーファイルはデバイスのローカルに保存(バックアップも別途保存)

「手動でめんどうな部分はあるけれど、なるべく自分の目の届く範囲でやる」がコンセプト。

Firefoxの同期機能『Fiefox Sync(ID・パスも同期できる)』や、Googleアカウント(Android/Chrome)を用いたオンラインでのパスワード自動保存/同期は使わない(ローカルでは保存して利用する)。

KeePassデータベースの自動同期は、通信回線や同期のタイミングによる不具合などがあると面倒くさいので使わない。

データベースとキーファイルは、デバイスのローカルに一緒に保存。デバイスへの侵入や盗難・紛失した場合のリスクは高まるけど妥協。キーファイル利用は、データベースを同期する際のリスク軽減がメイン。

各種設定

KeePassソフトの細かい部分の設定を網羅したものではありません。
設定の流れ
  • 1
    データベースのマスターキー作成
    キーファイルも同時に作成
  • 2
    データベースのセキュリティ設定
  • 3
    データベースにID・パスをインポート
  • 4
    各デバイスにデータベースとキーファイルをコピー
  • 5
    同期・バックアップ用のデーターベースを保存
    キーファイルもバックアップ用に別途保存
【準備/使用するもの】
  • Windows版のKeePassソフト
  • Android版のKeePassアプリ
    • 『KeePass2Android』を使用
  • バックアップ用のストレージ
    • microSDメモリ/USBメモリ/クラウドストレージなど
バージョン:2.4.5
【日本語化】上記リンクの公式サイトTranslationページから翻訳ファイルを入手可能。
【日本語化の適用方法】
1.KeePassの「Languages」フォルダにダウンロードした翻訳ファイルをコピペ。
2.メニューの「View」→「Change Languages」→「Japanese(日本語)」をクリック。

KeePass公式のダウンロードページ下部に、各種デバイス/OS用のソフト・アプリへのリンクがあります。

データベースの作成

まずはWindows版のKeePassを使ってデータベースを作成。復号マスターキーを設定する。

メニューの「ファイル」→「新規」→「ファイル名を設定」→「複合マスターキーを作成」へと進む。

KeePassの複合マスターキーの設定

「上級者向けオプションを表示」にチェックをいれることで「キーファイル/提供元」「Windowsユーザアカウント」のオプションが表示される。
  • マスターパスワード
    • 20文字以上あるといいかも
    • 大文字・小文字・数字・記号を含むのが望ましい
  • キーファイル
    • 作成ボタンから簡単に作れる(後述)

キーファイルの作成

KeePassのキーファイル作成

キーファイルの作成は、マウスカーソルを適当に動かすか、キーボードで適当に文字を入力して作成する。

マウスで作成する場合は、「生成されたビット」が緑色(256ビット)になるまで、マウスカーソルを動かしてセキュリティ強度を高めると良さそう。

大元のセキュリティとして、データベースファイル(対応するキーファイルも)を一つに統一せず、複数に分けて作るのも手になりそうです。
手間とのトレードオフになるんでしょうなあ。

データベースのセキュリティ設定

データベースを新規作成して複合マスターキーを設定すると、データベースの各種設定に進む。

後から設定を変えたい場合は、メニューの「ファイル」→「データーベースの設定」から変更可。

KeePassデータベースのセキュリティ設定

暗号化アルゴリズム

データベースのセキュリティ項目では、「暗号化」と「変換鍵」を設定。

暗号化アルゴリズムは、「ChaCha20(256ビットの鍵, RFC 7539)」を選択。低スペックのデバイスではAESより処理が高速らしい。

Adiantum : 低廉な端末でも効率的に使える暗号化技術
Adiantum : 低廉な端末でも効率的に使える暗号化技術
CRYPTREC | 外部評価報告書

変換鍵

この「変換鍵」項目では、「データベースを開く(復号する)際に意図的に追加する負荷」を設定する。

これによって、データーベースの暗号を突破するための不正なアクセス(総当り・辞書・推測攻撃)にも大きな負荷を掛けることになるので、セキュリティ強度を高めることになるらしい。

「使用している1番スペックの低いデバイスでデータベースを保存したり開く時に掛かる時間」を目安に設定すると、普段の利用に支障が出にくいと思う。待ち時間が長すぎるとストレス溜まりそう。

負荷の大きさは、主に「反復回数」「メモリ」がポイントになる模様。

実際の待ち時間は、例えば『Amazon Fire7 2019年版(CPU:1.3GHz/4コア、RAM:1GB)』だと、ざっくり以下のようになった。

反復回数メモリ並列処理時間
108MB20.5秒
200.5秒
302秒
402.5秒
1016MB1秒
202.5秒
303秒
404秒

Fire7よりも高スペックなPCやスマホだと、体感上は分からないくらいに”パッ”と開くのでストレスは小さい。

最終的に「2.5秒くらいなら待ち時間あってもいいかな」ということで、[反復回数:40、メモリ:8MB、並列度:2]にしてみた(この設定は後からでも変更可能)。

ID・パスのインポート

ブラウザのエクスポート機能・その他パスワードマネージャーから出力したファイルからID・パスワードをインポートできる。

KeePassのインポート設定

メニューの「ファイル」→「インポート」から、書式とファイルを選択すればOK。

エントリー(各IDとパスワード)は、もちろん手動でも追加・編集できる。

複数のブザウザやパスワードマネージャーのファイルからインポートした場合はデータベースツールが役に立つ。

メニューの「ツール」→「データベースツール」で、「データベースの保守」「重複エントリー/空のグループの削除」などが可能。

各ファイルをデバイスに保存

データベース関連の設定が終わったら、あとは作成したデータベースファイルとキーファイルを各デバイスに保存する。

同期・バックアップ用

データベースの情報を更新した際の同期の効率化(あくまでも手動だけど)には、メインにOneDriveの「個人用 Vault」、サブにmicroSDカードを使用。

OneDriveの個人用Vault

「個人用 Vault」は、OneDriveで利用できる別途2段階認証が必要になるセキュリティ機能。他のフォルダと違い、通常の認証に加えて、追加で2段階認証を行わないとアクセスできないので安全性が高い。

無料版のOneDriveだと「個人用 Vault」フォルダに入れられるファイル数は「3つまで」です。

GoogleDriveやDropboxなど、他のクラウドストレージ(オンラインストレージ)も便利ですね。

バックアップ用

microSDカードやUSBメモリにバックアップしておくデータベースとキーファイルは、それぞれ別のメモリ(個体)に分けて保存しておく。

どちらか一方に侵入(紛失・盗難)されても、片方だけならそうそう突破されないはず。

新しいIDやパスを登録した際は、その最新データベースファイルをコピーして手動で同期・更新します。

まとめ

様々なサービスのIDやパスワードの管理は本当に面倒くさいです。

しかし、どこか(GoogleなりFirefox)に管理を丸投げしてしまうと、それはそれで怖いし、問題(漏洩)が発生した時にも後悔が大きいような気がします。

また、それらのサービスにアカウントを不意に停止させられたりする可能生も否定できない(Googleには過去に誤BANされた/復旧済み)というのもポイントです。信用は禁物!!

トラブルが発生した時になるべく被害が小さくなるように、後悔しないように工夫していきたいところです。

スポンサーリンク
スポンサーリンク
ソフト・アプリ
この記事をシェアする
どんぱっぱをフォローする
スポンサーリンク
となはざな
コメントの通知/購読設定
受け取る通知
guest
0 Comments
Inline Feedbacks
View all comments
タイトルとURLをコピーしました