KeePassでアカウントのIDとパスワードを管理

KeePass

少し前にWebサービスにログインする為のIDとパスワードを管理して自動ログインが行えるBitwardenについて記事を書きましたが、今回はかなり古くからある同種のID、パスワード管理ソフトであるKeePassについて記事を書いていきます。

KeePassはBitwarden同様パスワードマネージャと呼ばれる類のオープンソースソフトウェアで、筆者がざっと調べた所では初版から既に21年以上が経過し、現在も定期的にアップデートが行われています。特徴としては大量のアカウントデータを暗号化して保管出来る以外にグループによるカテゴリ分け、パスワード生成、ホットキーを使用したフォームへの自動入力機能を備えています。

オープンソースで開発されている事もあり無料で使用出来るのは勿論、様々な派生ソフトが存在します。動作環境は現在Windows 11/10/8/7の他、Linux用やAndroid用の派生アプリが存在します。

KeePassのダウンロードと準備

KeePassの公式サイトへ移動してダウンロードページからKeePassをダウンロードします。バージョンが1.x系と2.x系に分かれていますが1.x系を選ぶメリットが無いので最新版を選択。また、インストーラ版とポータブル版がそれぞれ用意されていますが、筆者はポータブル版をダウンロードしました。

KeePass ダウンロード

更にTranslationsのページから日本語の言語ファイルも一緒にダウンロードしておきます。

言語ファイルのダウンロード

KeePassと日本語化の圧縮ファイルを展開後、KeePassの実行ファイルと同じ階層にある「Languages」フォルダ内に「Japanese.Ingx」ファイルをコピーしておきます。

言語ファイルのコピー

KeePassを起動すると初回時のみ自動でアップデートのチェックを行うかの確認画面が表示されるので「Enable」で有効、「Disable」で無効を選択。

アップデートのチェックの有無

画面が英語になっているので日本語化します。メニューバーにある「View」から「Change Language」を選択します。

言語の変更

表示された言語の選択画面でJapanese(日本語)を選択。有効化するには再起動が必要と表示されるので、「はい」を選択するとKeePassが再起動して画面が日本化された状態で起動します。

KeePassの日本語化

データベースの作成

初期状態のままでは何も出来ないのでデータベースを作成します。ツールバーにある「新しいデータベース」ボタンかメニューの「ファイル」にある「新規」から新規データベースを作成していきます。最初に説明画面が表示されるので「OK」で進みます。

新しいデータベースの作成

データベースの保存先の画面が表示されるので名前を付けて任意の場所に保存します。筆者と同じポータブル版を使用しているならKeePass内のフォルダに保存しておきます。

データベースを暗号化する為のマスターキーの作成画面が表示されます。「品質の評価」を確認しながらマスターパスワードを設定。下部にある「上級者向けオプション」を有効化するとマスターキーの登録やWindowsのユーザーアカウントを含めた暗号化が可能です。「OK」で進みます。

マスターキーの作成

データベースの設定画面が表示されます。「一般」タブではデータベースの名前を登録しますが、説明欄は空白のままでも問題ありません。「セキュリティ」では暗号化アルゴリズムの設定、「圧縮」ではファイルの圧縮の有無、「ゴミ箱」ではゴミ箱の使用の有無、「高度」ではテンプレートの指定や履歴の保存件数、マスターキーの変更を勧める頻度といった設定があります。こだわりが無ければデータベース名の登録だけ行って標準設定のまま「OK」で進みます。

データベースの設定

最後に緊急用シートの画面が表示されます。表示されている説明だけでは良く分からないと思いますが、これはデータベースの場所や後からマスターパスワードを手書きで記入する為のテンプレート用紙の印刷です。マスターパスワードを忘れる不安がある方は印刷して、用紙に自身でマスターパスワードを記入して大事に保管しておいて下さい。不要な方は「スキップ」で終了します。

緊急用シートの印刷

KeePassの使い方

データベース作成後、初期状態でサンプルのエントリーが追加されている筈ですが、一通り確認したら使い道が無いので右クリックメニューから削除します。

エントリーの編集

また、左サイドに表示されているカテゴリはKeePassで言う所のグループで、登録したエントリーを分類するのに使用しますが、必要ない場合や変更したい場合は右クリックメニューから編集や削除を行います。グループを一切使用しない場合はメニューの「ツール」から「データベースツール」「空のグループを削除」で、一括で削除出来ます。

グループの一括削除

下準備が出来たらエントリーを追加してみましょう。ツールバーの「エントリーの追加」ボタンやメニューの「エントリー」にある「エントリーの追加」から下の画面が表示されます。「タイトル」の欄は本来自由に付けたい所ですがKeePassではかなり重要な項目で、理由は後述しますが可能な限りログインページのタイトルに含まれる文字列を使用するのがお勧めとなります。

エントリーの追加

後はユーザ名とパスワードを入力して「OK」で登録となります。因みに標準でパスワードが自動で入力された状態になっていますが、既にパスワードが決まっている場合は削除して入力し直します。また、登録後はツールバーにある「保存」ボタンで保存しておくのを忘れずに。

KeePassでは既存のパスワードマネージャからエクスポートしたファイルを使ってエントリーを一括で追加する事も出来ます。方法はメニューの「ファイル」から「インポート」を選択。

インポート

フォーマットの欄からファイルの形式を選択します。1PasswordやBitwarden、ロボフォームといった多くのパスワードマネージャのデータのインポートをサポートしていますが、WebブラウザではGoogle Chromeからエクスポートしたパスワードデータにも対応しています。形式選択後に下部でファイルを入力して「OK」でインポートが実行されます。

パスワードマネージャのデータのインポート

KeePassでログインフォームに自動入力

まずKeePassの自動ログイン機能についてですが、事前にメニューの「ツール」にある「オプション」を開いて「統合」のタブでホットキーを確認しておきます。自動入力は標準でCtrl+Alt+Aキーとなっていますが、3つのキーの同時押しは少々面倒なので2つのキーの組み合わせに変更しておいても良いかもしれません。

ホットキーの設定

また、自動入力の仕組みとして仮想的にキーボード操作が行われるようになっており、標準だと自動入力時の動作は以下のように設定されています。

{USERNAME}{TAB}{PASSWORD}{ENTER}

{USERNAME}がユーザ名の入力、{TAB}で次の入力フォームに移動、{PASSWORD}でパスワードを入力、{ENTER}でログインといった具合になります。ID、もしくはユーザ名とパスワードの入力欄が並んで表示される一般的なログインフォームの場合はこのままでも良いと思いますが、一部の特殊なログインフォームに対しては個別に動作の編集が必要になります。また、IMEの状態が日本語入力になっている場合は正常に入力出来ない問題が発生します。

一旦自動入力の標準動作を編集します。左サイドのグループで右クリックしてメニューの「グループを編集」で編集画面を表示。

グループの編集

グループの編集画面で「自動入力」タブに切り替えて「標準の手順を上書き」にします。

グループの自動入力設定

入力欄に以下のように入力して「OK」をクリック。変更後はツールバーにある保存ボタンをクリックしておく事もお忘れなく。

{VKEY 26}{USERNAME}{TAB}{PASSWORD}

{VKEY 26}はIMEをオフにする仮想キーコードで半角英数字の入力状態に切り替え、{USERNAME}でユーザ名を入力、{TAB}で次の入力フォームに移動、{PASSWORD}でパスワードを入力となります。入力後に自動でログインするのは筆者の好みの動作では無いので、あえて最後に{ENTER}は入れませんでした。

ではWebブラウザで入力フォームをアクティブにした状態で実際にホットキーを使用して自動入力を行ってみて下さい。幾つか試してみれば正常に入力出来た場合と全く入力出来ない場合がある筈です。全てで自動入力出来なかった場合はホットキーが別の機能と重複している可能性があります。

自動入力が行われない主な要因として考えられるのはKeePassのエントリーのタイトルがログインページのタイトルに一致しないからです。KeePassはWebブラウザで現在開いているページのURLを見る事は出来ません。これはセキュリティ上の制約があるからだと推測出来ますが、代わりにウィンドウのタイトルを見てエントリーのタイトルと一致した場合に該当するエントリーのデータを入力する仕組みとなっています。

Webブラウザのウィンドウのタイトルは現在開いているページのタブに表示されます。ログインページのタイトルが「ログイン < パソコン備忘録」の場合、エントリーのタイトルが「パソコン」や「備忘録」になっていた場合は一致するエントリーとして判定されますが、「pc-memorandum.com」など全くウィンドウタイトルに含まれない場合や「パソコン備忘録のログインページ」のようにウィンドウタイトルと異なる文字列が使われていれば一致しないという判定になり自動入力が行われません。

Webブラウザのタイトルの確認

KeePassのエントリーのタイトルをログインページのタイトルに合わせる事で自動入力出来るようになりますが、それだと都合が悪い場合もありますよね。例えば同じサービスで複数のアカウントがある場合は全部同じ名前には出来ませんし、ログインページのタイトルによっては何のサイトか判別し辛い事になります。

そこでメニューの「ツール」にある「オプション」を開いて「高度」タブにある「自動入力」欄の「どれか1つのタグが対象…」を有効化しておきます。

高度なオプション設定

エントリーを右クリックしてメニューの「エントリーを編集」から「プロパティ」タブを開いて「タグ」の欄にログインページのタイトルに含まれる文字列を入力しておきます。これでエントリーのタイトルを自由に付けた状態でKeePassに一致するエントリーとして認識させる事が出来ます。

エントリーにタグを追加

特殊なログインフォームで自動入力させる

筆者が時折利用させていただいているJoshin webの会員ログインページでは最初にIDの入力欄があり、その下にチェックボックス、更に下にパスワード入力欄とチェックボックスという構成になっています。このようなログインページではKeePassの自動入力が標準のままでは対応出来ないので、自動入力のシーケンスを個別に編集する必要があります。

特殊なログインフォーム

エントリーの編集画面を表示して「自動入力」タブに切り替えて「標準のシーケンスを上書き」にします。その状態で「編集」ボタンをクリック。

自動入力の編集

キー入力手順の設定画面で「カスタムキーストロークを使用」にします。直接自身で入力する事も出来ますが、下部にある「プレースホルダの挿入」をクリックすると入力欄に挿入されます。

キー入力手順の設定

Joshin webのログインフォームの例だと、IDを入力して次へ移動、チェックボックスにチェックを入れて次へ移動、パスワードを入力して次へ移動、チェックボックスにチェックを入れるまでの動作をカスタムキーストロークに登録する場合は下のようになります。

{VKEY 26}{USERNAME}{TAB}{SPACE}{TAB}{PASSWORD}{TAB}{SPACE}

{VKEY 26}でIMEをオフ、{USERNAME}でIDを入力、{TAB}で次へ移動、{SPACE}でチェックボックスにチェックを入れる、{TAB}で次へ移動、{PASSWORD}でパスワードを入力、{TAB}で次へ移動、{SPACE}でチェックボックスにチェックを入れるという動作になります。

Yahoo! JAPANのログインページのように最初にIDの入力欄の後、パスワードの入力欄が表示されるといった仕組みになっている場合は下のようにDELAYを使って指定時間待機させるといった事も出来ます。

{VKEY 26}{USERNAME}{ENTER}{DELAY 1000}{PASSWORD}

他、入力欄がIDやパスワードの他に3つ以上あるといった場合についても書いておきます。そのような場合は「エントリーを編集」から「高度」タブで文字列フィールドの欄に「追加」ボタンでカスタムフィールドを追加します。名前がカスタムフィールド名になり、値が入力欄に入力する文字列となります。

エントリーを編集の高度

キー入力手順の設定画面で「プレースホルダの挿入」から上で登録したカスタムフィールドが使用出来るようになっているので、それを使用してカスタムキーストロークを設定します。

カスタムフィールドの登録

KeePass 備考

かなり長々と書いてきましたが、まだまだ書ききれないほどKeePassは多機能なパスワードマネージャです。ただ筆者はKeePassはBitwardenのデータを定期的にエクスポートしてから取り込んで保管しておく為のソフトとしてしか使用していません。自動入力機能においては一つ一つ設定していくのがあまりに面倒ですし、何よりページのURLを確認せずに入力するのはフィッシングサイトを判別する事が出来ないのでセキュリティ上の問題もあります。それらを踏まえてやはりBitwardenがお勧めです。

ただKeePassにも利点があり完全にローカルだけで管理出来るといった点や、Bitwardenでは自動入力出来ないログインフォームでもKeePassの設定次第では殆どが対応出来る点は魅力だと言えます。また、AndroidでもBitwardenは使用出来ますが、Androidに限ればKeePassの派生アプリの方が使いやすかったりするので、興味のある方はそちらもお試し下さい。

コメント

タイトルとURLをコピーしました