Image by Capri23auto from Pixabay
パスワードの管理には現在様々な方法が存在する。本稿ではそれらの特徴とパスワード管理の注意点をご紹介。
パスワード管理の基本
- パスワードの使い回しをしない
パスワードを使いまわしてしまうと1つのサービスがパスワード漏洩を起こすと一気に被害が拡大してしまう可能性がある。 - パスワードをプレーンテキスト(平文)で保存しない
PC内に暗号化していないパスワードを保存しておくと、オフラインでパスワードを抜かれてしまう危険性があるだけでなくウィルスに感染したときもパスワードを盗まれてしまう可能性がある。 - パスワードを紙にメモしない
紙にメモするというのは他人に簡単に盗まれてしまうというのもあるが、なくしやすいという問題もある。 - 簡単に推測できるパスワードを使わない
ユーザ名や本名、誕生日、電話番号など、簡単に推測でき個人情報につながるパスワードは使用しない。また password や簡単な単語などはクラック以前の問題だ。 - キーボード配列を利用したパスワードを使わない
12345、QWERTY、QAZ なども最も使われているパスワードたちであり簡単に推測できてしまう。
この他にもパスワードの復元に使われる質問にも注意!覚えやすい全く関係ない答えを用意しよう。
ブラウザのパスワードマネージャのセキュリティは脆弱
Chrome のパスワードマネージャに保存されたパスワードは簡単に平文で確認できる。また暗号化されている状態でも Chrome は DPAPI (Data Protection API) を利用し Windows のログインパスワードに依存していることから簡単に復号が可能。
Firefox も通常の状態では丸裸も同然だ。IDとパスワードの一覧を簡単に入手するツールも出回っている。しかしマスターパスワードを設定することでこれらのデータは単純ではあるが暗号化され、覗くことができなくなる。このマスターパスワード自体もブルートフォースアタックで簡単に解けてしまうという問題もあるが、 Chrome よりは安全性は高いだろう。
利便性が高いクラウド型パスワード管理
一番お手軽にできるのはクラウド上で監理されているパスワードマネージャを使うことだ。強固な暗号化を施したクラウドサーバにすべてのパスワードを保管し、1つのマスターパスワードでサーバからパスワードを引き出し管理するというものだ。
一度サイトのIDとパスワードを登録しておくと自動入力してくれる機能やパスワードを自動生成する機能などもある。
注意点としてはクラウドで監理されているということでパスワードが保存されているサーバがクラックされたらパスワードが流出するということも覚悟する必要がある。また、フィッシングサイトのような中間者攻撃にあう可能性もあるということを知って置く必要がある。
しかし、パスワードを使いまわしている状態よりも遥かに安全だろう。流出した場合も迅速な対応で被害を防ぐしか無いが、今までこういったサービスで大きな被害が起きたというのは記憶にない。
LastPass、 DashLane、1Password といったサービスが有名。基本無料でどれも似通った使い勝手だが有料サービスでいろいろ違いがあるので興味がある人は調べてほしい。
LastPass
LastPassはオンラインパスワードマネージャーの最大手。ほとんどのプラットフォーム、iPhone Androidなどの携帯デバイスやブラウザに対応しているため非常に使いやすい。
実は3年前にLastPassのデータベースサーバはクラックされており、ユーザ名やハッシュ、パスワードのヒントなどが盗まれた。また、LastPassの公式サイトを装ったサイトをクラッカーが立ち上げ、そこでマスターキーが盗まれるという「LostPass 事件」などもあった(いわゆるマン・イン・ザ・ミドル・アタック)。
しかし、LastPassから流出したデータには強力な暗号化が施されてあったため、攻撃者は復号化できなかった。このため被害はゼロだった。逆にクラウド管理の安全性を証明する結果となった。
後者も、公式の拡張機能やアプリを使えば十分に防げた事件だろう。
2段階認証(2FA)のすゝめ
二段階認証とはパスワードだけでなく、ショートメールや短時間で更新される確認コードを使ってセキュリティを高める仕組み。Google アカウント、Yahoo、Facebook、Twitter だけでなく、前述したクラウド型パスワード管理サービスとも組み合わせることで更に強固なセキュリティを実現できる。
この仕組の裏をかいた更に巧妙なフィッシングサイトも存在したようだが、かなりの技術を要するので出くわすことはほとんどないだろう。
ハード型セキュリティキー(2要素認証)
(RSA トークン)ハードウェアトークンにあるボタンを押すだけでパスワードの生成と自動入力をしてくれるスグレモノだ。YubiKey、TrueKey (Intel)といったものがこれにあたる。主にオンラインサービスとセットで運用していく。
Google が全ての従業員に YubiKey を配ったところ、 フィッシングアタックなどに引っかかることがなくなったという。これをたいへん気に入った Google は自社で Titan Security Key という商品を開発し発売した。また Pixel 3 に Titan セキュリティチップというものも埋め込んだ。Google は本気でこれを普及させたいようだ。
このアナログのセキュリティキーを使った2要素認証は最も安全なアカウント管理方法だと言われているが、2年前の DEF CON に参加したハッカーによりこれを迂回できる可能性が指摘された。しかしあまり現実的方法ではないと思う。ハッキンググループが特定の機関を狙って仕掛ける工作かもしれないが一個人が標的にされることはあまり考えられない。
対応するソフトウェアやサービスがまだ少ないのと、使い方を覚えるのに少々勉強がいるという欠点はあるものの、一度覚えてしまえば2段認証よりも簡単になる。
オフライン型パスワード管理
有名なソフトではKeePass、RoboForm、Password Safeなどが挙げられる。パスワードの一元管理をオフラインで行うソフトウェアだ。
中間者攻撃に合うリスクがほぼなくなる代わりに、インストールされているデバイスのセキュリティを適切に設定していないとクラックされてしまう可能性がある。hashcatなどでブルートフォース攻撃する方法も出回っており、設定が甘いと簡単にマスターパスワードを看破されてしまう。
クラウド型と比べて登録とブラウザとの連携などにひと手間かかる上、対応していないプラットフォームがあるソフトが多いこともデメリット。
これらの欠点をうまくふさげばかなりセキュリティの高いパスワード管理法と言えるだろう。
使ってみた感想だが、プラグインを導入したりツールによっては互換性がないバージョンがあったり結構厄介だ。ブラウザとの連携もうまくいかず、一日もせずに挫折してしまった。
結論
ここまでいろいろと紹介してきたわけだが、 私は LastPass と 2段階認証を使っていくという形で落ち着いた。 パスワードを管理しているサーバがクラックされてしまえば漏洩する危険性はあるが、LastPass の運営自体が非常に優秀で対応が早く、またサーバ自体に強力な暗号化が施されているなど、安心材料が多かったからというのもある。量子コンピュータが普及しない限り復号されることはないと思う。なによりも便利すぎる。
仕事に関わるパスワードの管理ならばオフラインで管理するのもやりすぎではないが、使いやすさも重要なファクターだ。それにオンライン型のパスワード管理でも個人にしては上等な部類に入るのではないか。パスワードを使いまわしていた頃よりは遥かに安全であると言える。
ー 終 ー
コメント