強力なパスワードとは?本当に安全なパスワードの作り方
パスワードの強さは、複雑そうな見た目ではなく、長さとランダム性で決まります。このガイドでは、覚える必要がなく、事実上推測不可能なパスワードの作り方を紹介します。
私たちの多くは、覚えやすいパスワードを選びます。名前、生年月日、電話番号、あるいはいつものパスワードに数字を1つ足したものです。問題は、パスワードを覚えやすくしている要素が、そのまま推測しやすさにもつながることです。このガイドでは、強力なパスワードとは実際にどういうものか、パスワードが現実にどう破られるのか、どんな習慣がパスワードを弱くするのかを説明し、パスワード生成ツール、パスワードマネージャー、二要素認証を使ってメールなどの重要なアカウントを守る方法を紹介します。
強力なパスワードとは
強力なパスワードとは、1秒間に何十億回も推測するコンピューターでさえ、現実的な時間内には見つけられないパスワードのことです。その強さを生む性質は、長さとランダム性の2つです。複雑に見えるだけでは足りません。P@ssw0rd!には記号も数字も大文字も含まれていますが、解析ツールが真っ先に試すパスワードの1つです。
その理由は、攻撃の仕組みを見るとよくわかります。攻撃者がWebサイトのログイン画面でパスワードを試すことはめったにありません。数回失敗すればサイトにブロックされるからです。本当に危険なのは、サイトのデータベースが漏えいしたときです。攻撃者はパスワードをハッシュ化したものを手に入れ、自分のコンピューター上で制限なく推測を続けられます。最初はよく使われるパスワードや過去に漏えいしたパスワードのリスト、次にそれらに「先頭を大文字にする」「aを@にする」「末尾に年を付ける」といった予測しやすいルールを適用したもの、そして最後にあらゆる組み合わせを試します。
エントロピー:パスワードの強さをわかりやすく
本当にランダムに生成されたパスワードの強さは、「エントロピー」としてビット単位で測ります。エントロピーが1ビット増えるごとに、攻撃者が試さなければならない候補の数は2倍になります。N種類の文字の集合から1文字ずつランダムに選ぶ場合、パスワードのエントロピーは「長さ×Nの2を底とする対数」に等しくなります。
標準的な英語キーボードには、印字可能な文字が94種類あります。小文字26、大文字26、数字10、記号32です。この集合からランダムに選んだ1文字は6.5ビット強のエントロピーを持つので、ここから選んだランダムな16文字のパスワードは約105ビットになります。
| ランダムなパスワード | おおよそのエントロピー |
|---|---|
| 94種類から8文字 | 52ビット |
| 94種類から12文字 | 79ビット |
| 94種類から16文字 | 105ビット |
| 94種類から20文字 | 131ビット |
| 英字と数字のみ(62種類)で16文字 | 95ビット |
| 英字と数字のみ(62種類)で20文字 | 119ビット |
この数字を具体的にイメージするために、高速なハッシュに対して1秒間に1兆回推測する攻撃者を考えてみましょう。ランダムな8文字のパスワードなら、ありうるすべての組み合わせを2時間足らずで試し終えます。しかし16文字のパスワードなら1兆年以上かかります。実際の速度はハッシュの種類やハードウェアによって変わりますが、傾向は変わりません。ランダムな文字が1文字増えるごとに、攻撃者の手間は数十倍になります。
ただし重要な条件があります。この計算が成り立つのは、本当にランダムに生成したパスワードだけです。Ali@1991!のようなパスワードは9文字ありますが、よくあるパターンの組み合わせなので、攻撃のごく初期の段階で破られてしまいます。
パスワードを弱くするよくある間違い
- 複数のアカウントで同じパスワードを使う:最も危険な間違いです。重要でないサイトから情報が漏えいすると、攻撃者は同じメールアドレスとパスワードを、メールサービス、SNS、ネットショップで自動的に試します。
- 個人情報:自分や子どもの名前、生年月日、電話番号、ID番号、車のナンバー、好きなチーム名など。SNSで簡単に見つかることが多い情報です。
- 単純な置き換え:passwordの代わりに
p@ssw0rd、sの代わりに$を使っても、安全性は上がりません。こうしたルールは何年も前から解析ツールに組み込まれています。 - 末尾に年や記号を付ける:単語のあとに付けた
2026、123、!は最初に試されるバリエーションの1つで、パスワードの更新時に2025を2026に変えるのも同じです。 - キーボードの並び:
qwerty、1qaz2wsx、123456は、漏えいしたパスワードの頻出リストに載っています。 - 安全でない保管:メッセージアプリでパスワードを送ること、クラウドストレージに同期されるスマートフォンのメモやスクリーンショットに残しておくことです。
パスフレーズ:覚えられるパスワード
パスワードマネージャーのマスターパスワードやノートパソコンのログインパスワードのように、どうしても暗記しなければならない少数のパスワードには、パスフレーズが適しています。互いに関係のないランダムな単語をいくつか並べたものです。パスフレーズの強さも、ランダム性から生まれます。サイコロを振って単語を選ぶDiceware方式のように、7,776語のリストから1語ずつランダムに選ぶと、1語あたり約13ビットのエントロピーが加わり、6語で77ビットを超えます。
単語を自分で「選ぶ」のはやめましょう。有名な詩の一節、ことわざ、意味のある文は、どれほど長くてもランダムではありません。また、パスワードに使う文字によっては扱いに問題が出るシステムもあるため、パスフレーズは日本語やアクセント付きの文字を避け、アクセントのない半角英字で組み立てるほうが無難です。それ以外のアカウントでは、パスワードマネージャーが入力を代行してくれるので、ランダムな文字列のほうが短く実用的です。このサイトのパスワード生成ツールはどちらも作れます。モードメニューで、ランダムな文字列と、同じ7,776語のリストから作るパスフレーズを切り替えられます。パスフレーズ生成のページを開くと、最初からそのモードになっています。
パスワード生成ツールで強力なパスワードを作る
パスワード生成ツールは、ブラウザーがセキュリティ用途に提供している暗号学的に安全な乱数源crypto.getRandomValuesを使い、ブラウザー内でパスワードを作ります。生成したパスワードがサーバーに送られることも、どこかに保存されることもありません。手順は次のとおりです。
- ランダムな文字列が欲しいときは、モードメニューをパスワードのままにします。同じメニューにはパスフレーズとPINもあり、上で説明したパスフレーズや3~12桁のPINも同じツールで作れます。
- 長さのスライダーで4~128文字の長さを選びます。既定は16文字です。メールや重要なアカウントには20文字以上を選んでください。
- 文字の種類を選びます。大文字、小文字、数字は既定でオンです。記号にチェックを入れると、
!@#$%などの26種類の記号が加わります。 - 紙に書いたパスワードを読んだり、手で入力したりする場合は、紛らわしい文字を除外をオンにして、
0、O、1、l、Iのような似た文字を除きます。ゲスト用Wi-Fiのパスワードなら、読み上げる代わりにWi-Fi用のQRコードを作る方法もあります。 - 各種類から1文字以上は既定でオンです。長さに余裕があるかぎり、選んだ種類から必ず1文字ずつ入ります。数字や記号を必須とするサイトのために、オンのままにしておきましょう。
- 生成をクリックします。10件生成では10件のパスワードがまとめて作られます。各種類から1文字以上がオンなので、どれも選んだ種類の文字をすべて含んでいます。先頭のものをそのまま使ってかまいません。リストは、読みやすいものを選びたいときのためのものです。
- コピーでパスワードをコピーし、そのままパスワードマネージャーとサイトの入力欄に貼り付けます。
既定の設定(英字と数字の62種類から16文字)ではエントロピーは約95ビットで、記号をオンにする(88種類)と約103ビットに上がります。記号を受け付けないサイトなら、記号のチェックを外して長さを20文字に増やしましょう。約119ビットとなり、記号入りの16文字のパスワードよりさらに強くなります。この数値を自分で計算する必要はありません。結果の下の行に表示され、既定の設定ではエントロピーは約95ビットと出ます。パスワードの下に表示される強度のラベルは、長さと文字の種類に基づく簡易的な目安にすぎません。本当の尺度は、あくまで長さとランダム性です。
パスワードマネージャー:すべて別々のパスワードを使う唯一の現実的な方法
何十ものアカウントのために、ランダムでそれぞれ異なるパスワードを暗記できる人はいませんし、その必要もありません。パスワードマネージャーはすべてのパスワードを暗号化された保管庫に保存し、あなたに求めるのは強力なパスフレーズ1つだけです。ほとんどのパスワードマネージャーはログインフォームに自動入力でき、サイトのアドレスと照合するため、本物そっくりの偽ページでは通常パスワードを入力しません。フィッシング対策として実際に役立ちます。
- ブラウザーやOSに組み込まれたパスワードマネージャーは最も手軽に始められ、同じアカウントで同期しているデバイスで使えます。
- 独立したパスワードマネージャー、たとえばBitwarden(オープンソース、無料プランあり)やKeePassXC(オープンソース、完全オフライン)は、異なるブラウザーやOSをまたいで使えます。
- パスワードマネージャー自体にも二要素認証を設定し、そのリカバリーコードはスマートフォン以外の安全な場所に保管してください。
二要素認証:もう1つの防御層
どれほど強力なパスワードでも、フィッシングページに入力してしまったり、マルウェアに盗まれたりすることがあります。二要素認証(2FA)とは、ログインの際にパスワードに加えて、自分が持っているデバイスからの何かを求める仕組みです。その方式の安全性は同じではありません。
| 方式 | 仕組み | 安全性 |
|---|---|---|
| テキストメッセージ(SMS) | ワンタイムコードが携帯電話番号に送られる | ないよりはましだが、SIMカードの悪用やユーザーをだます手口で突破されうる |
| 認証アプリ | Google AuthenticatorやMicrosoft Authenticatorなどのアプリが30秒ごとに新しいコードを生成する | 携帯電話網に依存しないため、SMSより安全 |
| セキュリティキーまたはパスキー | コードを入力する代わりに、ハードウェアキーやデバイスの画面ロックで確認する | 最も強力で、フィッシングにも強い |
設定時に表示されるバックアップコードは書き留めて安全な場所に保管し、スマートフォンをなくしてもアカウントにアクセスできるようにしておきましょう。また、確認コードは決して誰にも送らないでください。「今お送りしたコードを教えてください」といったメッセージは、最もよくある詐欺の1つです。
メールアカウントに強力なパスワードを
メールアカウントは最も重要なアカウントです。ほとんどのサービスがパスワード再設定用のリンクをメールに送るため、メールを乗っ取られると、他のアカウントの大半のパスワードも変更されてしまいます。メインのメールアドレスでは、次のことを実行してください。
- 他のどこでも使っていない、20文字以上のランダムなパスワードを作る。
- 認証アプリかパスキーで二要素認証をオンにする。
- 再設定用の電話番号と再設定用のメールアドレスを最新に保つ。もう使っていない番号は侵入口になりえます。
- アカウントにログインしているデバイスとセッションの一覧をときどき確認し、見覚えのないものはログアウトさせる。
- haveibeenpwned.comで自分のメールアドレスを検索し、既知のデータ漏えいに含まれていないか確認する。
- メールのパスワードは、自分でアドレスを開いたページにだけ入力し、メッセージで届いたリンクからは決して入力しない。
パスワードはいつ変更すべきか
3か月ごとなど、定期的なパスワード変更を強制することは、もはや推奨されていません。米国の標準化機関NISTのガイドラインも、サービスがこれを要求すべきではないとしています。定期変更を強いると、パスワードの最後の数字だけを変えるような予測しやすい変更に人を向かわせるからです。良いパスワードは使い続けてかまいません。ただし、サービスがデータ漏えいを発表したり、自分のメールアドレスが漏えいリストに載ったりしたとき、パスワードを誰かに送ったり公共のデバイスで入力したりしたとき、アカウントに見覚えのない操作があったとき、同じパスワードを他でも使っていたときは、すぐに変更してください。