はじめに
貴方はどのくらいアカウントを持ち、そしてそれらを管理しきれているだろうか?
パソコンやスマホを使うあらゆる個人・組織に対して自分はパスワード管理アプリをおすすめしたい。
パスワード管理アプリを使うべき理由:リスク編
アカウントが多すぎるリスクを防ぐ
あなたはいくつのサイトに登録しているか把握しきれているだろうか?
パスワード管理アプリを使っていればサイトやアプリごとにデータを保存するため、どのくらいアカウントを持っているかというのがわかる。
一覧を見渡せば「登録したけど全然使ってないサイト」の登録情報があったりもする。
どこからパスワード流出するかわからない以上、使っていないアカウントは削除することを推薦する。
短いパスワードのリスクについて
少し考えればわかることだが、パスワードが短いと機械的に数字やアルファベットを入力していくだけで簡単に突破できてしまう。
これを「総当たり攻撃」と言う。
アルファベット大文字、小文字、数字、記号を順番に1〜8文字まで全パターンを試すのに今どきのパソコンだと10分とかからないらしい。
なお、サイトによっては未だに最大8文字までとか英数字のみしか対応していないところもあるが、そのようなサイトはできれば利用しないほうがいいだろう。
サイト側が脆弱だとしてもネットワークが短期間に異常な量の通信を行うと強制的に切断を行う場合もあるとは思うが、リスクを少しでも少なくするために長いパスワードにすべきだろう。
パスワード使いまわしのリスク
せっかく長いパスワードを用意して覚えたとしても、別サイトの登録の際に「面倒だから同じでいいか」となりがちな人は多いはず。
しかしその場合は1個のサイトからパスワードが流出した場合、攻撃者は他の様々なサービスに同様のID/パスワードでログインを試みる。
例えばYahooアカウントのパスワードがもし流出してしまった場合、同じアカウント情報でAmazonやGoogleにもログインを試みるだろう。
大きなサービスは単純に利用者も多いため、同じアカウント(メールアドレス)はそこそこの確率で登録されているだろう。
幸いにも被害が出る前にYahooアカウントを凍結させたとしても二次被害が何件も発生してしまうことになる。
パスワードを忘れるリスク
これはもはや言うまでもないかもしれないが、パスワードを忘れてしまうと目も当てられない。
場合によっては窓口に連絡すれば復旧させてくれるかもしれないが、他人へのなりすましのケースを防ぐためにそのような復旧は許可していない場合もある。
忘れたら結局のところ自己責任なのである。
パスワード管理アプリを使うべき理由:利便性編
複雑なパスワードを作ることができる
まず目玉といったらこの機能。
これでサイトが受け付ける文字数ギリギリでパスワードを作れば
サイトによっては記号が対応していなかったりもするが、アルファベット、数字、記号のどれを使うか、長さはどのくらいにするか指定できるオプションもある。
ログイン情報の自動入力ができる
長いパスワードを毎回キーボードで入力するのもおっくうになるだろう。
ログインするだけで数十秒の時間がかかってしまう。
パスワード入力アプリを使っていればこれを数回のクリック(タップ)や生体認証(指紋認証、顔認証、虹彩認証など)で自動的にID、パスワード、ワンタイムパスワード(二要素認証)などが自動入力される
アプリを切り替えてパスワードをコピーしてまたアプリを切り替えて・・・ということをやらずに済む。
複数のパソコン・スマホで使える
パソコンで登録したサイトをスマホでも使いたい(逆も可)という場合にもパスワードアプリの自動入力が役立つ。
これは新しいパソコン・スマホに買い替えた際も同様。
情報が漏洩した場合に通知が来る
一部のパスワード管理アプリ限定だが、情報が漏洩した場合にいち早く通知が来る。
情報が漏洩した時点で手遅れかもしれないが、いち早く手を打ってパスワードを変えれば被害を未然に防ぐことができるケースもあるだろう。
パスワードの共有(一時的、永続的)ができる
これまた一部のパスワード管理アプリ限定だが、パスワード保管庫の共有ができる。
期限付きで共有することもでき、ある人にちょっとだけ仕事を手伝ってほしいので期間限定で共有といったケースが考えられる。
パスワード管理アプリの選択肢
では実際にどれを使うべきか、自分が知っている範囲のアプリを記載していく。
1Password
個人的には一番このアプリを勧めたい。
マスターパスワードで1回ログインすると以降の認証は全て1Passwordの生体認証で行うことができる。
Windows、Mac、iPhone、iPad、Android、Linuxなど主要なOSには全て対応している。
これはエンジニア向けの話になるが、SSHエージェントが使えるというイチオシポイントがある。
GitHubのログイン、コミットの署名、AWS EC2に接続するためのキーなどが全てこの1Passwordに保存しておけばPCを買い替えたとしても移行作業がエージェント設定くらいで済む。
無料版はなく、トライアルはある。
有料版は年額払いだと月額約3ドル
BitWarden
1Passwordじゃなかったらこれを選んでいたと思う。
無料版でもパスワード生成や保管はできるため最低限の機能は整っているが、どうせ使うのであれば有料版にして2要素認証や生体認証を使うことをおすすめする。
有料版でも月額1ドル(個人プラン)で済むため、有料の中では最安クラス。
ただし1Passwordと比べた場合、SSHエージェント機能は存在しない。(セキュアノートにSSHの鍵ファイルを保存する事で似たようなことは可能)
LastPass
パスワード管理アプリを作っている組織として最も多くの顧客を抱えているらしい。
無料版でも複数のパスワードや二要素認証に対応するなど、かなりの範囲が使える。
しかし、有料版でないと複数デバイス間の同期はできない。
なお有料版は1Passwordとほぼ同じ約3ドル。
ここ最近開発者の1人がクラッキングを受けて技術情報等が漏洩したとして話題になった。
肝心のパスワードデータは暗号化されているためマスターパスワードが漏れない限りはユーザーの利用するパスワードまでは知られないらしい。
※この情報については別の記事で見た程度の情報なため、正確な情報を知りたい場合は各自で調べてほしい
iCloudキーチェーン
Appleが出してるパスワード管理ができる機能。
Appleがやってるだけあってアプリのロゴが無く、OSと統合されていてロゴとかが出るわけでもないので非常に動作は早い。
AppleなだけあってMac、iPhone、iPadで使用可能・・・と思いきや実はWindowsとブラウザ拡張機能でも動くようになった。
ただし同期機能に本腰は入れておらず、いつまで経っても同期が終わらない不具合などもあるらしい。
また、Androidで動かすことはできない点は注意。
iPhoneとAndroidを両方持ってる人とかが稀なので大抵の人は気にならないはず。
Googleパスワードマネージャー
Androidの標準で入っている他、Google Chromeにも標準で入っているパスワード管理機能。
ワンタイムパスワード用の機能は持っていないが、それはGoogle Authenticatorという別アプリがその機能を持つ。
なおGoogle Authenticatorのクラウド同期通信だけはまだ暗号化されていないため、同期せずに使うほうがいいらしい。(パスワードマネージャーの方は問題ないとか)
ブラウザのパスワード管理機能(Chrome、Firefoxなど)
1Password移行前はよく使っていた。
しかし、以下のような理由から1Passwordに乗り換えた。
- ブラウザでないアプリのパスワードが手間(特にスマホアプリ内のログインだと面倒)
- ページを開いた時点で自動入力されるためフィッシング攻撃でデータが持っていかれる可能性がある(パスワード管理アプリではログイン情報を選択するひと手間があるため引っかかりにくい)
- 普段使うブラウザを変えた場合にパスワードも移行しなければいけない(スマホ版のブラウザアプリが出ていないこともある)
その他、名前だけ紹介
- pCloud Pass
- Dropbox Password
アプリの選び方
基本的には
- 対応端末
- 機能
- 値段
この優先順位3つで考える。
機能についてはワンタイムパスワード、パスキー対応、OS統合したパスワード管理アプリ
とはいえ大半の人であれば
- Apple製品が中心→iCloudキーチェーン
- Android、Chrome Book、Windowsが中心→GoogleパスワードマネージャーかBitWardenの有料版
- エンジニア→SSHキーエージェントが使える1Password
この3パターンでほぼ足りると思っている。
余談:パスワード以外の認証方法
二要素認証について
パスワードの他にもう1つ別な認証要素が必要になるもの。
ざっくりいえば以下のいずれかが必要となる
- 電話がかかってきて自動音声で認証コードを聞き、それを入力
- SMSでコードを受信するのでそれを入力
- 30秒または60秒で6桁の数字が変わるワンタイムパスワードを入力(TOTPとも呼ばれる)
ただし、このうちSMSはやめておいた方がいいようだ。
iPhoneを使っている人ならばわかるかもしれないが、SMSはそのsimカードが入った端末以外でもメッセージの読み込みができる。
電話番号が漏洩したとすると、誰かがメッセージを見られるようになってしまうのかもしれない。
パスキーについて
最近出てきた新しい認証方法(といっても元になる技術は昔からあるもの)
端末の固有情報と生体認証(指紋、顔認証など)を使って本人認証を行う。
パスワードを入力する手間がないので楽だし、覚えておく必要もない。
Googleアカウントもパスキーによる認証に対応したので試してみるといい。
欠点としては端末を買い替える際に移行を忘れると復元が難しいこと。
しかしパスワード管理アプリがパスキー機能を持っている場合はこの限りではない。
例えば1PasswordとLastPassはパスキーに対応している。
最後に
そもそもな話ではあるが、パスワード管理アプリ以前に
- 怪しいサイトにアクセスしない
- 本当に使うもの以外登録しない
といった基本的なことを守りつつ、パスワード管理はアプリに任せてみるのはどうだろうか。