2020年3月22日日曜日

KeePass系を10年くらい使ってきたけどEnpassに移行した

KeePassKeePassXKeePassXCと、10年くらいにわたってパスワード管理ツールにKeePass系列を使ってきましたが、最近は別のツールも物色しています。

KeePassの他に有名なパスワード管理ツールといえば1PasswordLastPass、最近ではBitwardenなどがありますが、独自の基準でパスワード管理ツールを選んでみました。

選ぶ基準

もったいつけましたが、独自の基準といっても別に大したことはありません。

絶対外せないもの

マルチデバイス対応

これまではLinux(Ubuntu / Gentoo)とiOSに対応していればよかったんですが、最近Macも使い始めたのでmacOSにも対応していてほしいです。

あと、たまにWindowsとかAndroidも使うので対応してるとうれしいですが、これは必須ではありません。

ブラウザ拡張対応

パスワード管理ツールの一番の用途はウェブサービスへのログインなので、やっぱりブラウザ拡張はほしいですね。
簡単にユーザー名とパスワードを入力したいです。

ブラウザ拡張があれば、どのブラウザでも同じようにログインできるのでブラウザ依存もなくなります。

TOTP対応

最近のサービスはセキュリティー面で2段階認証にも対応しているので、管理ツール側でも対応していてほしいです。
特によく使われている時間ベースのワンタイムパスワードは対応必須で。

クラウドストレージ連携

複数のデバイス間で共有できるように、DropboxとかOneDriveのようなクラウドストレージとの連携機能は必須です。

LastPassのように提供元のサービス内にしか保存できないのは個人的にはNG。

ファイル添付機能

パスワード管理ツールではログインパスワードだけではなく、SSHやPGPの鍵ファイルも一緒に管理したいのでファイル添付機能も必須です。

必須ではないけどあったら高ポイントなもの

複数のURLに同じパスワードでログイン可能

同じパスワードを複数のサイトで使いまわしたいというわけではなくて、同じ会社のドメインが違うサービスに同じパスワードでログインできる場合があります。例えばlogin.live.comlogin.microsoftonline.comonedrive.live.comとか。
なので、「1つのエントリー内でログイン対象のURLを複数指定できる機能」か「別のエントリーにあるユーザー名やパスワードを参照できる機能」があったらうれしいです。

他にも、企業で使う場合はActiveDirectoryで複数のサービスのログイン情報を一元管理していることもあります。

フォームカスタマイズ

ちょっと特殊なサイトだと、ログインにユーザー名とメールアドレスとパスワードの3つの情報が必要だったり、ユーザー名とパスワードと生年月日で認証することもあります。

なので、ユーザー名とパスワードだけじゃなくフォーム内の任意の数の項目をオートフィルしたり、どの入力要素にどの値をオートフィルするのかをカスタマイズできるととてもうれしい。

生体認証

マスターパスワードは英数記号を交えためっちゃ長いものを使うので、スマホから入力するときはPCに比べて毎回入力するのが面倒です。

なので、Touch IDのような生体認証に対応しているとわざわざ長いマスターパスワードを入力する必要がないので助かります。特にiOSアプリは。

用途別にパスワードデータベースを変えられる

データベースを複数指定できると、家用と仕事用のように使い分けられるので仕事とプライベートをきちんと分ける男にはうれしい。

それでいて全てのデータベースからパスワードを検索できるとさらにうれしい。

コマンドラインでマスターパスワードを渡せる

そもそもマスターパスワードの入力すら面倒なので、できることなら入力を省略したい。
というわけで、コマンドラインで起動してパスワードを標準入力から入力できると楽なんです。

ちなみにKeePassXCでのやり方は以前に投稿していますのでご参照あれ。

有料の場合は永久ライセンスつき

別にオプソ厨でもフリーソフトウェア原理主義者でもないので、ソースコードはオープンであるべきだ!とは思いません。
優れたソフトウェアには相応の対価を払うことにもやぶさかではありません。
(もちろんソースコードが開示されていたり無料であるに越したことはないですけど)

ただ、有料ソフトウェアの場合でもサブスクリプションでチマチマ取られるより、永久ライセンスを1回だけ払っておしまい!にできたほうがいいですね。

移行先は?

タイトルで出落ちしていますが、Enpassを使ってみました。

トップページの“You were not born to remember passwords. Enpass is.”というキャッチコピーも無駄にカッコいい

KeePassXCよりイケてるところ

ブラウザ拡張との連携が楽

KeePassXCではブラウザ拡張を導入するのに本体と拡張の両方に設定を入れる必要がありますが、Enpassでは拡張機能を入れるだけでOK。あとは何もしなくても普通に使えます。

さらに、KeePassXCにはSafari用の拡張機能がないのですが、Enpassにはあります。使ったことないけど。

PINを設定できる

一定時間経つと自動的にデータベースをロックする設定にしていると、アンロックするたびにマスターパスワードを入力しないといけません。

EnpassならマシンごとにPINを設定できるので、一度開いたあとならPINで簡単にアンロックできます。
KeePassXCにもissueが出ていますが、3年前に投稿されてまだ解決していないようです。

Touch ID対応

MacやiPhoneならTouch IDも使えるので、PINすら使わずに簡単に起動できます。超便利。

KeePassXCのMac版にもTouch IDに対応しているようなインターフェースはあるのですが、使えませんでした。使いこなせていないだけかもしれませんが。

公式のスマホアプリがある

KeePassXCにもKeePass TouchとかStrongboxといったTouch IDに対応しているサードパーティー製のスマホアプリがありますが、やっぱり公式アプリは安心感が違います。

ログイン先のURLを複数登録できる

KeePassでは1つのエントリーに複数のURLを登録できませんが、Enpassではできます。これに関しては「イケてないところ」でも補足します。

様々なクラウドストレージと連携できる

OneDrive、Dropbox、Google Driveといったさまざまなクラウドストレージと連携できます。
「ローカルに保存できれば自動的にクラウドストレージと同期できるから一緒じゃないの?」と思うかもしれませんが、OneDriveやGoogle Driveは(公式の)Linux版クライアントがありません。

あと、Dropboxは無料版ではリンクできるデバイスが3台までという制限があるのでローカルに保存する方式では実質3台までしか使えませんが、クラウドストレージ連携方式ではその制限がありません。これは大きなアドバンテージです。

KeePassXCよりイケてないところ

ブラウザ拡張がちょっと使いにくい

KeePassXCの拡張機能は、入力フォームに表示されているアイコンをクリックするか↓キーを押すだけで候補が出てくるのですが、Enpassは拡張機能のアイコンをクリックたあとでエントリーをダブルクリックと手間が多いのがイケてません。

他のエントリーの参照を指定できない

1つのエントリーに複数URLを登録できる代わりに、別のエントリーから参照できません。

公式でもこの機能をロードマップに加えたようなので期待したいところです…

コマンドラインでパスワードを渡せない

KeePassXCはコマンドラインでパスワードを渡して起動できるのでマスターパスワードを入力する必要すらないのですが、Enpassでは渡す方法が見つかりませんでした。

日本語が所々おかしい

インターフェースは日本語化されていますが、機械翻訳を使っているのかいろいろおかしいです。
機能上は問題ありませんが、なんか気になります。

Gentoo Linux用のパッケージがない

EnpassはLinux版もありますが、debとrpmしか用意されていません。

まあなければ作ればいいだけなので作りましたが、パッケージの更新に追従していかないとアカンのがなんとも。

フリーミアム&クローズドソース

上で書いたとおりソース公開とか無料にこだわっているわけではないのですが、やっぱりKeePassと比較するとイケてない部分かなと思います。

PCから使う分には何も制限はない(と思う)のですが、スマホでは無料版だとデータベースを1つしか使えない25アイテムまでしか参照できないので、これはかなり不便です。

ちなみに一度購入すれば全ての端末で有料版の機能を使えるので、iPhoneとAndroidで別々に購入する必要はありません。

あとソースからビルドできないのを嫌がるGentoo教徒もいるかも。
オープンソースがどうのという理由ではなく、使ってるマシンに最適化されたバイナリを作りたい!といった理由で。

総合的にかなり気に入ったので、応援の意味でも永久ライセンスを購入しました

がんばれ。

2 件のコメント:

  1. KeePassXCのイケてないところに一点誤認があるのでコメント
    > ログイン先のURLを複数登録できる
    v2.5 からBrowser Integration -> Additional URLs として用意されています。

    あと補足。
    「PINを設定できる」で参照されているissueには最近動きがありました。次バージョンに向けて開発中のようです。
    また、Touch ID機能はやはりあるらしいですが、一方で有効化する方法がわかりにくいという声も多いですね。UIのオーバーホールを次バージョンで行うという話も。

    返信削除
    返信
    1. コメントありがとうございます!そして返答が遅れてゴメンナサイ・・・

      > v2.5 からBrowser Integration -> Additional URLs として用意されています。

      おお、そうなんですね。そんなことは露知らず、一生懸命参照用のエントリーを作っていました。もっと早く知っていれば・・・

      > 「PINを設定できる」で参照されているissueには最近動きがありました。次バージョンに向けて開発中のようです。

      あ、本当ですね!この記事を投稿したあたりから活発になっていたみたいで、最近の動向を見落としていました。

      > また、Touch ID機能はやはりあるらしいですが、一方で有効化する方法がわかりにくいという声も多いですね。UIのオーバーホールを次バージョンで行うという話も。

      有効化が必要なんですね!てっきりまだ実装されていないけどUIだけ用意しているのかと思ってました。

      Enpassを使って1年以上経過しますけど、EnpassになくてKeePassXCにある機能というのもまだありますし(というか、Enpassはこの1年で安定化に力を入れていたようで、機能面の改善はほぼないようです)、お互いがんばってほしいです!

      削除