拡張でブラウザとも連携出来るパスワードマネージャ KeePassXC

KeePassXC

KeePassXCは名前からも分かる通りKeePassから派生したオープンソースのパスワードマネージャソフトです。本家KeePassとの違いとしてはUIがモダンになり各設定部が整理され分かりやすくなっている他、Webブラウザ用の拡張をインストールしておく事で拡張機能の操作からログインページでIDやパスワードの自動入力を行う事が出来ます。KeePassと同様にホットキーを使用した従来の自動入力も出来ますが、拡張との連携で格段に使いやすくなっています。また、これから主流になるであろうパスキーにも対応しています。

KeePassで作成したデータベースと互換があり、そのままコピーして使用出来る他に幾つかのパスワードマネージャからのデータのインポートにも対応。対応OSはWindows 11/10の他、macOS用やLinux用も開発されています。

KeePassXC ダウンロード

KeePassXCの公式サイトからダウンロードページへ移動します。通常のインストーラ以外にダウンロードページ下部にある「See more options」のプルダウンメニューからストアアプリ版やポータブル版をダウンロードする事も出来ます。筆者は今回、ポータブル版のPortable ZIPをダウンロードしました。他、GitHubからもダウンロードする事が出来ます。

KeePassXC ダウンロードページ

インストーラをダウンロードした場合は実行後にインストールウィザードに従ってインストールして下さい。ポータブル版をダウンロードした場合は展開後に任意の場所に配置して準備完了です。また、KeePassXCはKeePassのように別途言語ファイルを適用しなくても標準で日本語に対応しています。

初回起動とデータベースの作成

KeePassXCの初回起動時に「起動時に更新を確認しますか?」と表示されるので「はい」で起動時の更新確認を有効、「いいえ」で無効となります。

KeePassXC 初回起動時

ようこそ画面が表示されます。既にデータベースがある場合は「データベースを開く」から使用出来ますが、今回は「+ データベースを作成」で新たにデータベースを作成していきます。

KeePassXCのようこそ画面

最初にデータベースの全般情報から「データベース名」を設定します。任意の名前で問題ありません。KeePassXCでデータベースを複数開いている時にここで付けた名前がタブに表示されます。概要欄はデータベースの説明に当たる内容を記入しておくか空のままで「続き」で進みます。

データベースの全般情報画面

暗号化の設定でデータベースの形式や復号時間を設定します。形式は推奨となっている通り「KDBX 4」のまま、復号時間は説明にある通り大きくする事でセキュリティを高められますが筆者は標準のままで進めました。また、「詳細設定」では暗号化アルゴリズムの選択も行えます。「続き」で進みます。

暗号化の設定画面

データベースの資格情報でパスワードを設定します。大文字小文字、数字、記号を混ぜて複雑な物にしておきたい所ですが忘れしまっては意味が無いので覚えられる範囲で設定します。筆者は「脆弱なパスワード」と警告されましたが続行しました。また、この画面では「保護を追加」からキーファイルを作成して、そのファイルを登録する事も出来ます。「終了」で進みます。

データベースの資格情報画面

最後に作成したデータベースの保存先を選択して名前を付けて保存します。筆者はポータブル版を使用したのでKeePassXCと同じフォルダ内に保存しました。

データベースの保存

エントリーの追加とインポート

KeePassXCで言う所のエントリーとはIDやパスワードのアカウントの登録情報を指します。個別にエントリーを追加していく場合はツールバーにある+アイコンの「Add a new entry」ボタンから行います。タイトルに任意の名前を付け、ユーザー名とパスワード、ログインURLを入力して「OK」で登録完了。他、左メニューでは自動入力などの設定も行えますがKeePassと異なりKeePassXCではWebブラウザの拡張を使った自動入力が出来るので重要度は低いと思います。

エントリーの追加

別のパスワードマネージャやWebブラウザ付属のパスワードマネージャからデータをインポートする場合はメニューにある「データベース」の「インポート」から行います。

データのインポート

インポートするファイルの選択画面でファイルの種類を選び、ファイルを「参照」から入力、インポート先を選択して「続き」でインポートを実行。KeePassと比較するとKeePassXCではインポートに対応したファイルの種類が少ないように見えますが、Chromeのパスワードマネージャのデータなどは「カンマ区切りテキスト(.csv)」からインポート出来ます。他、ロボフォームといったCSVでエクスポート出来るファイルマネージャなら、ここからインポート出来る筈です。

インポートの設定画面

CSVファイルをインポートした場合はインポートウィザードで列の関連付けを行い、どの列がタイトルでどの列がユーザー名、パスワードなのかといった設定を手動で行う必要があります。

インポートウィザード画面

KeePassXCのエントリーのリストは初期状態ではパスワードが表示されません。逆に重要性の低いメモが表示されます。これらの表示はタイトルやユーザー名の表記のあるカラム上で右クリックして表示されるメニューから表示/非表示の対象を設定出来ます。

表示項目の設定

Webブラウザの拡張と連携

KeePassXCと連携して自動入力が出来るようになるWebブラウザ用の拡張をインストールします。筆者の愛用ブラウザはFirefoxなのでFirefox用をインストールしましたが、Google Chrome含むChromium系用も勿論用意されています。

KeePassXC-Browserのインストール

KeePassXCの設定画面から左メニューにある「ブラウザー統合」を開いて「ブラウザー統合を有効にする」にチェックを入れて有効化します。更に下にある対象のブラウザにもチェックを入れて「OK」で設定を保存しておきます。

ブラウザの統合

インストールした拡張を開いた際に「エラーが発生しました」と表示された場合は「再読み込み」ボタンをクリックします。

拡張機能のエラー

「再接続」ボタンでKeePassXCと接続します。

KeePassXCとの接続

初めて接続が行われた際にはKeePassXCのデータベースに接続する識別子を設定する画面が表示されます。この画面で任意の名前を入力して「アクセスを許可して保存」をクリック。

識別子の設定

拡張機能を使った自動入力

準備が出来た所でログインフォームを表示します。初めてKeePassXCのエントリーとマッチするページを表示した場合は「ブラウザーのアクセス要求」画面が表示され、対象のエントリーが画面のリストに表示されます。標準で全て選択された状態になっているので「記憶する」にチェックを入れて「選択したものを許可」で許可されたエントリーが自動入力出来るようになります。

ブラウザーのアクセス要求画面

上で許可されたエントリーは拡張ボタンから表示でき、クリックする事で自動入力を実行出来ます。それ以外に直接フォームをクリックするとリストが表示され、そこから自動入力させる事も出来ます。

自動入力画面

「ブラウザーのアクセス要求」画面で誤った操作を行ってしまった場合、例えば本来許可するべきエントリーを許可せずに記憶させてしまったといった時はKeePassXCで対象のエントリーのプロパティを開き、「プラグインデータ」の欄に登録されている「KeePassXC-Browser Settings」を削除します。削除した状態で該当のページを開くと再び「ブラウザーのアクセス要求」画面が表示されます。

エントリーのプロパティ画面

他、KeePassと同様にホットキーからの自動入力も行えますがKeePassXCは標準でホットキーが空の状態になっているので事前に設定しておく必要があります。それ以外ではフォーム上で右クリックしてメニューの「KeePassXC-Browser」から「グローバル自動入力を要求」を選択して自動入力画面を表示出来ます。

グローバル自動入力を要求

KeePassXCの自動入力画面からの入力では拡張からの自動入力と異なり、シーケンスを使用した入力が行えます。ここではシーケンスについては割愛しますが特殊な入力フォームに合わせた入力をさせる事が可能になります。詳しくはKeePassの記事のログインフォームに自動入力の箇所に掲載しています。

KeePassXCの自動入力画面

もし自動入力でユーザー名やパスワードが正常に入力されない場合は拡張画面にある黄色いボタンから「カスタムログインフィールド」画面を表示します。

カスタムログインフィールド

上部に「カスタムログインフィールドを選択」と表示されるので、ユーザー名やパスワードのボタンを選択後にそれに該当する入力欄をクリックして選択します。最後に「確認」から保存。

カスタムログインフィールドを選択

KeePassXCにパスキーを登録

パスキーについては少し前にログイン方法をパスワードからパスキーに変更するで記事にしましたが、簡単に説明すると従来のパスワード入力に代わり鍵となるデータを端末に保存して、その鍵を使ってWebサービスにログインする仕組みです。パスキーを使用するには各Webサービスで事前にパスキーを作成する必要があるのですが、上の記事ではGoogleで作成した例を掲載したので、今回はYahoo!JAPANでパスキーを作成してKeePassXCで使用する例を記載します。

まずKeePassXCの拡張のKeePassXC-Browserの設定画面で「パスキーを有効にする」にチェックを入れて有効化しておきます。

パスキーを有効化

事前にYahoo!JAPANでパスキーを使用するアカウントでログインしておき、登録情報ページからログインとセキュリティページへ移動します。このページにある生体認証(指紋・顔など)の欄の「設定する」からパスキーの作成に進みます。

Yahoo!のパスキーの登録

パスキーが登録出来る状態であれば「この端末を登録」のボタンが表示されている筈です。このボタンをクリックして作成を実行します。

Yahoo! パスキーの作成

KeePassXCの「パスキー認証情報」画面が表示されます。「キャンセル」以外に「既存のエントリーに追加」と「登録」の選択がありますが、筆者は既にこのアカウントのエントリーがあるので「既存のエントリーに追加」を選択して進めました。

パスキー認証情報画面

「既存のエントリーに追加」で進めた場合は自身で対象のエントリーを選択した状態にして「登録」を実行します。

既存のエントリーにパスキーを追加

パスキーの登録完了後、ログインの際に「パスキー認証情報」画面が表示されるので、この画面からパスキーを保存しているエントリーを選択して「認証」ボタンのクリックからログイン出来るようになります。

パスキー認証画面

また、既存のエントリーにパスキーを登録した場合はKeePassXCのエントリーの「詳細設定」にある「追加属性」の欄に登録されているのを確認出来ます。

KeePassXC 備考

正確な時期は覚えていませんが筆者は3、4年ほど前からBitwardenを愛用しており、クラウド上で同期される仕組みに利便性の高さを感じる反面、クラウドからデータが流出したらといった若干の不安も感じています。その点、KeePassXCは全てデータをローカルで管理出来るのが魅力で、拡張のKeePassXC-Browserを導入する事でBitwardenと同等以上の快適さを実感出来ました。また本家KeePassはウィンドウタイトルを基準にエントリーを選別する仕組みになっていますが、KeePassXCでは拡張によりURLを基準にエントリーを選別出来るので、フィッシングサイトへも対応でき高いセキュリティを保つ事が出来ます。

一つ気になったのがネットバンクなど3つ以上の入力欄があるログインフォームで、KeePassでもKeePassXCでもカスタムフィールドを使用して対応する事は出来ますが、拡張機能からの操作では自動入力が出来ませんでした。ホットキーを使用した自動入力でも良いのですが、この点だけは現状不便に感じています。

(追記)3つ以上の入力欄で拡張機能からの自動入力方法が分かりました。エントリーの詳細設定でKeePassでは「文字列フィールド」になっていた部分がKeePassXCでは「追加属性」になっていますが、「追加属性」の名前を「KPH: 1」や「KPH: 2」といった具合に登録。後は拡張の「カスタムログインフィールドを選択」画面で対象の入力欄を文字列フィールドに指定しておくだけ。

最初から名前に「KPH: 1」といったルールがあったとは…自力じゃ解決出来ない訳だ。この情報はキャズムを超えろ! Rev.2さんのブログを参考にさせていただきました。

コメント

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