こんにちは、デジタルペンテスト部のねいちゃーどです。 普段は チート対策ペネトレーションテスト の診断員として、主にゲームに関わるサービスの脆弱性診断を担当しています。
さて、6月末は 高難易度で知られるアクション RPG の DLC が配信開始 されたり 登録アカウント数が3000万人を超えた MMORPG の新たな拡張パッケージが公開 されたりゲーマーにとっては忙しい月末でした。
某 MMORPG のプロデューサー兼ディレクターは DLC を 1週間で終わらせて!と言っていたそうですが...
さて、私も普段、後者の MMORPG を遊んでいるのですが、オンラインゲームを遊ぶために必要なものって何でしょうか ?
PC/ゲーム機 ? はたまたカセット (ソフト) ? それも必要ですが ... ズバリ、「ID」と「パスワード」です。
昨今では通販を始めとした、様々なサービスがオンライン上で提供されるようになっていますが、どのオンラインサービスを利用するにしても、ほとんどの場合個人を識別するための ID (identification) が必要になっています。 その ID を入力した人物は本当に同一人物か ? 異なる人物がその人物を詐称していないか ? を判断するために、多くの場合 ID とセットで、その人しか覚えていない「パスワード」も要求されます。 このパスワードについて、異なるサービス間で使い回すことはやめよう!と言われてはいますが*1*2 、異なるサービスにおいても同一のパスワードを使用している人は多いように思います。 *3
そこで、本日は「パスワードマネージャー」について紹介をし、異なるサービス間で異なるパスワードを使うことを推進したいと思います。
パスワードマネージャーとは
パスワードマネージャー(英語: Password Manager)またはパスワード管理ツール・サービスは、アプリケーションやサービスのIDやパスワードを記憶・管理するソフトウェアやサービスである。
パスワードマネージャー - Wikipedia
上記は Wikipedia からの引用ですが、ヒトの代わりに ID およびパスワードを覚えてくれるソフトウェアのことです。 様々なサイトで異なるパスワードを設定し、それを全て完璧に覚えるのは非常につらい (ランダム生成ベースのパスワードの場合は不可能) ですが、ヒトの代わりに機械 (ソフトウェア) が覚えることによって、全てのサイトで完全に異なるパスワードを設定することが可能です。
本日は私が普段使用しているパスワードマネージャー Bitwarden について紹介をし、異なるサービス間で異なるパスワードを使うことを推進したいと思います。 筆者は今までに使ったことあるパスワードマネージャーが Bitwarden しか無いため、他のものと比較を行わない点についてはご容赦ください。
主な機能の紹介
URL 別にログインID / パスワード / カスタムフィールドの値を設定できる
URL 別にログイン ID / パスワード はパスワードマネージャーというソフトウェア上それはそうだろ、という感じではあるのですが、 任意のテキストフィールドに入力する値も設定できるため、ID / パスワードに追加して何か入力を要する場合に楽をすることができます。 (例: ログインに口座番号を要求してくるオンラインバンキングサービスなど)
また、ログインID / パスワード だけでなく、クレジットカード / 連絡帳 / その他メモ なども保存可能です。 (しかし、普通のパスワードマネージャーとして使うなら前者 2つくらいで事足りると思います。)
ランダムな ID / パスワード生成機能
これもパスワードマネージャーというソフトウェア上それはそうだろ、という感じではあるのですが、ランダムなパスワードと ID の生成ができます。
- パスワード長
- 英大文字, 英小文字, 数字, 記号 の有無を選択可能 (= 様々なパスワード設定の要件を満たすことができる)
- 数字や記号の最低使用文字数も選択可能
ブラウザ拡張機能、および iOS (/Android) のパスワード入力補助として利用可能
Google Chrome および FireFox の拡張機能として利用できます。
この拡張を入れていると、ログイン画面で Ctrl + Shift + L
を押すだけで設定したログインID / パスワードを自動で入力してくれます。
また、iOS 等のスマートフォンでも利用でき、グレーの部分をタップ → 生体認証 (Touch ID / Face ID) を行うことで自動的にログイン ID / パスワードの入力を行ってくれます。
筆者は Android スマートフォンを持っていないため詳細は不明ですが、おそらく Android でも iOS と同様に利用できるはずです。
オンプレミスでパスワード保存用サーバを構築できる
保存先に公開サービス用サーバ vault.bitwarden.com
だけではなく、自身が構築したサーバをパスワード保存先サーバに選ぶことができます。
実装としては 公式が用意したもの がありますが、これとは別に サードパーティ製の実装 (dani-garcia/vaultwarden
) も使用することができます。
個人的には、企業が管理するよりも個人で管理した際にインシデントが発生するのが怖いので、やろうと思いませんが ...
他にも 暗号化したテキストやファイルを送信できる「send」という機能 や 他のパスワードマネージャーからのインポート / エクスポート機能 等もあります。 公式ドキュメントを読み、興味が出たらぜひ使用してみてください。
パスワードマネージャーのメリット、デメリット
使用するメリットは、上記に記載したように、
- 強度の高い (文字列長が長い) パスワードの自動生成、および記憶
- パスワードを使い回さないことによる、1つのサービスが攻撃された場合のリスク低減
- 拡張機能等による快適性向上
などが上げられます。しかし、一方でデメリットとして
- マスターパスワードを紛失すると、全てのパスワードにアクセスできなくなる
- そのため、ここだけはどうしても覚えられる長いパスワードに設定しておく必要がある
- サービスのセキュリティリスク
- 「サービスが攻撃されたため、情報が流出しました」など
- 自身でホストする場合は、(仮想) マシンへの攻撃 / サービスに対する攻撃 etc ...
が上げられます。
読者の皆様が使用するかどうかは、上記を加味して判断してください。
最後に
最後まで読んでいただき、ありがとうございました。 パスワードマネージャーを導入することで、異なるサービス間でパスワードを使いまわしている場合はパスワードについて見つめ直すきっかけになっていただければ幸いです。
*1:不正ログイン被害の原因となるパスワードの使い回しはNG | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構
*2:STOP! パスワード使い回し! (JPCERT/CC)
*3:もっとも、このブログを読んでいる方は情報セキュリティに造詣が深いと思いますので、その心配は必要なさそうですが ...