無料パスワード強度チェッカー
任意のパスワードを入力すると、その強度、解読にかかる時間、改善方法を確認できます。
文字種チェック
パスワード強度の計算方法
パスワードの強度とは、「攻撃者があなたのパスワードを見つけるのに何回の推測が必要か」という単純な問いに対する複雑な答えです。素朴な公式、エントロピーのビット数 = 長さ × log2(文字セットの大きさ)は、きれいな上限を与えますが、攻撃者がキー空間全体に対して純粋なブルートフォースを行うことを前提としています。実際の攻撃者はそうしません。彼らはまず、ありそうなパスワードの辞書(rockyou.txt コーパスや公開された漏洩からの上位百万個など)から始め、人間が実際に行う置き換えを模倣する変換ルール(リートスピーク、最初の文字を大文字にする、1 や ! や 4 桁の年を末尾に加える)を適用し、パターンに一致しない場合にのみブルートフォースに頼ります。文字クラスベースの計測器は P@$$w0rd99 を「4 つのクラスすべてを持つ」と見て高く評価します。本物のクラッカーは、そのパスワード内のすべてのパターンが上位ルールリストに載っているため、数秒で破ります。
本ツールは両方の数値を表示します。文字セットと長さからの素朴なエントロピーに加え、知識豊富な攻撃者が行うように、認識可能なパターン(辞書語、「zxcvbn」のキーボード下段のような並び、繰り返し、シーケンス、日付)を減点する別個の強度スコアです。この 2 つの数値は、あなたのパスワードに予測可能な構造が含まれているときに乖離し、それはまさに最も知る必要があるときです。
パスワードセキュリティの簡単な歴史
コンピュータには常にパスワードがあったわけではありません。1960 年代初頭にタイムシェアリングが登場する前は、「コンピュータ」は単一ユーザーのマシンで、セキュリティモデルは施錠された扉でした。コンピュータパスワードの主流の物語は MIT の Project MAC から始まります。そこでフェルナンド・コルバートの Compatible Time-Sharing System (CTSS) が、一台のマシンを多くの人が同時に使えるようにしました。複数ユーザーが一つのファイルシステムを共有すると、互いのファイルを読むことができてしまいました。コルバートは一般に、最も単純な解決策としてパスワードプロンプトを導入した人物とされています。ユーザーとマシンの間の共有秘密で、要求するファイルへの権利を証明するというものです。正確な日付は二次資料の間で議論があります(1960 年から 1963 年の間とされる)が、1960 年代半ばまでにパスワードはマルチユーザーシステムの標準機能となり、1965 年に運用開始した CTSS のより野心的な後継機である Multics は、コルバートの設計を継承し大幅に拡張しました。
次の基礎的な瞬間は 1979 年 11 月、ベル研究所のロバート・モリスとケン・トンプソンが Communications of the ACM 誌に 「Password Security: A Case History」 を発表したときです。論文は短く(5 ページ未満で)、ほとんど恥ずかしいほど実用的です。その中の 2 つのアイデアは、それ以降に構築されたあらゆる本格的なパスワードストアの基盤となりました。第一に、一方向ハッシング。パスワード自体を保存する代わりに、システムはパスワードから計算するのは簡単だが実際には逆算できない値を保存します。第二に、ソルト。各パスワードをハッシュ化する前にランダムな 12 ビット値を付加することで、同じパスワードを持つ 2 人のユーザーが異なる保存ハッシュを生成し、攻撃者が全員に対して使える単一のハッシュ辞書を事前計算できなくなります。モリスとトンプソンは、これが盗まれたパスワードファイルへの攻撃作業を 4,096 倍、つまり 212(ソルト空間の大きさ)倍にしたと指摘しました。それから 40 年間の bcrypt、scrypt、argon2id に関するあらゆる議論は、ある意味でモリスとトンプソンへの脚注です。
エントロピーの数値はどこから来るのか
測定単位は エントロピーのビット であり、これは 1948 年のクロード・シャノンの論文 「A Mathematical Theory of Communication」(Bell System Technical Journal に 2 回に分けて発表)に由来します。シャノンの論文は情報理論という分野を生み出し、「ビット」という用語を世界に与えました。シャノンはこの用語をジョン・テューキーに帰しました。パスワードの設定に翻訳すると、パスワードのエントロピーとは、同じ過程で生成され得る異なるパスワードの数の log2 です。ジェネレータが各文字を独立かつ均一に R 個の可能な文字の集合から選び、長さ L のパスワードを生成する場合、RL 個の等確率なパスワードが存在し、エントロピーは L × log2(R) ビットです。長さ 12 で 95 個の印字可能 ASCII 文字から均一に選ばれたパスワードは約 78.8 ビットを持ちます。各追加ビットは攻撃者がしなければならない作業を倍にし、関係は指数関数的です。これが、ランダムに選ばれたパスワードに 2 文字を追加することが、1 文字を置き換えることよりはるかに重要である理由です。問題は、そして大きな問題ですが、実際の パスワードがほぼ均一なランダムサンプリングで生成されることはないということです。人々は誕生日、パートナーの名前、辞書語、キーボードパターン、シーケンスを選びます。したがって素朴な公式は強度の上限であり、通常はかなり緩い上限です。
NIST と 2017 年のパラダイムシフト
数十年にわたり、米国でパスワード規則についての支配的な機関の声は NIST、米国国立標準技術研究所でした。以前の刊行物が私たちに与えたパスワードポリシーの民間伝承的な知恵、最低 8 文字、大文字と小文字の混在、数字を含む、記号を含む。このガイダンスは、セキュリティ研究コミュニティが「積極的に逆効果である」と結論付けてからずっと後まで、企業の IT ポリシーに広くコピーされました。2017 年、NIST Special Publication 800-63B で、当局は古いガイダンスの最も苦痛な部分を正式に逆転させました。主な変更点: 定期的なパスワード変更の強制は廃止(パスワードが侵害された証拠がある場合を除く)。研究により、90 日ごとの強制リセットによってユーザーがより弱く予測可能なパスワードを選ぶ(一文字を大文字にして 1 を加えるのが典型例)ことが示されました。これはローテーションの目的全体を台無しにします。必須の構成ルールは廃止。検証者は特定の文字クラスを要求すべきではありません。それは P@ssw0rd! のような予測可能な置き換えに向かわせ、より強いパスワードに向かわせないからです。長さが支配的な要因です。 既知の漏洩リストに対するパスワードのチェック、これは最も影響の大きい運用上の変更であり、Have I Been Pwned の Pwned Passwords コーパスが現在の形で存在する理由です。NIST は次の大幅改訂版 SP 800-63B-4 の最終版を 2025 年 7 月 31 日に発行し、2017 年の方向性を強化し、それをフィッシング耐性のある認証器(パスキーで使われるような同期可能な認証器を含む)にまで拡張しました。
zxcvbn、なぜ現代の計測器は似て見えるのか
本格的なパスワード強度計の多くが表面的に似ているのは、ほとんどが同じコードを実行しているか、それに着想を得ているからです。そのコードが zxcvbn で、Daniel Lowe Wheeler が 2012 年 4 月に Dropbox で公開し、後に 2016 年 8 月の第 25 回 USENIX セキュリティシンポジウムで査読付き論文として正式化した、オープンソースのパターン認識エスティメータです。名前自体が冗談で、QWERTY キーボードの一番下の段、つまりライブラリが認識して減点するように設計されているまさにそのタイプのパスワードです。zxcvbn は約 3 万件の一般的なパスワードに加え、米国国勢調査の名前と姓、人気の英単語、Wikipedia のトークン、米国の TV/映画タイトルに対する辞書一致を検出します。リートスピーク置換(p@ssw0rd は password として扱われる)、qwertyuiop や asdfghjkl のようなキーボードの並び、繰り返し(aaaa、abcabcabc)、シーケンス(abcdef、12345)、人間にもっともらしい範囲の日付も検出します。それから最小推測分解、つまりパスワード全体を説明する認識されたパターンの最も安価な組み合わせを計算し、パターンごとの推測数を掛け合わせて、情報を持つ攻撃者が必要とする推測総数を見積もります。このライブラリはブラウザにデプロイ可能ですが軽くはありません。バンドルされ minify された状態で、zxcvbn は gzip で約 400 KB で、そのほとんどが辞書そのものです。これはこのページのような単一目的のページには十分小さいですが、メンテナーが汎用 Web アプリケーションのすべてのページにバンドルすることを明示的に警告するほど重いです。
「クラック時間」が実際に意味するもの
本ツールを含め、すべての強度計は「クラックに要する時間」の推定値を表示します。正直な答えは、これは報告するのが最も簡単で、擁護するのが最も難しい数値の 1 つだということです。なぜなら、それはほぼ完全にユーザーが見ることのできない仮定に依存しているからです。基本的な仮定は、攻撃者の 秒あたりの推測数 です。その数値は 1 つの数値ではなく、攻撃者が何を盗んだか、また防御者がどのハッシュ方式を使用したかに応じて、約 10 桁の幅があります。ソルト無しの MD5 または SHA-1: 2022 年のコンシューマー向けグラフィックカードである 1 枚の NVIDIA RTX 4090 は、標準的なクラッキングツール hashcat を使用して、毎秒約 1,500~1,650 億の MD5 ハッシュを計算できます。そのような 8 枚のカードを単一のリグに入れると、数値は毎秒 1 兆を超えます。AWS や Google Cloud のクラウド経由でレンタルされるマルチ GPU インスタンスは、1 時間あたり数ドルから数十ドルです。高速なソルト無しハッシングを使用するパスワードストアの場合、ほどほどのパスワードは本質的に無防備です。適切なコストファクターでの bcrypt: bcrypt は並列ハードウェアで遅くなるよう、1999 年に特別に設計されました。コストファクター 12(おおよその業界既定値)では、1 つの GPU はコアあたり毎秒数百から数千の推測ができ、数百億ではありません。bcrypt に対するクラック時間は MD5 に対するものより数百万倍長くなります。scrypt と argon2id: これらはメモリ硬度を加え、推測ごとに CPU サイクルだけでなく相当な量の RAM を必要とし、適切なパラメータでは GPU や ASIC への並列化を法外に高価にします。Argon2id は現在の OWASP 推奨であり、2015 年の Password Hashing Competition の勝者です。
単一のクラック時間を引用する計測器は、最善でも、攻撃者が高速ハッシュデータベースを盗んだ最悪のシナリオに対する答えを伝えているだけです。それはまた、一般的な強度計が示せる唯一の誠実な既定値でもあります。ユーザーは次に侵害されるサービスが MD5 を使うのか argon2id を使うのか、事前には知り得ません。本ツールが仮定する毎秒 100 億回の推測は、最悪の高速ハッシュシナリオと同じ桁にあり、最高級リグの絶対的なピークより 1 桁低いものの、決意のある攻撃者が小さな予算で借りられるものを代表しています。
2009 年の RockYou 漏洩と、なぜ再利用が命取りなのか
RockYou は Facebook と MySpace のアドオンメーカーで、約 3,200 万のユーザーパスワードを平文で保存していました。2009 年 12 月、攻撃者が SQL インジェクションの脆弱性を悪用し、ユーザーデータベース全体を盗み出しました。平文のパスワードは公開されました。重複排除された単語リスト rockyou.txt(約 1,400 万のユニークパスワード)は、現在では世界中のほぼすべてのパスワードクラッキングツールの既定の開始辞書になっています。その漏洩に現れたすべてのパスワードは、実用上、その素朴なエントロピーがどれほど強そうに見えても、永遠に瞬時にクラック可能です。これはまた、パスワードの再利用が、ほとんどのユーザーのアカウントにとって最大の実用上のリスクである理由でもあります。50 のサイトで同じパスワードを使い回すユーザーは、そのうち 1 つだけ漏れれば十分です。サービスごとに一意のパスワードを使うユーザーは、50 すべてが漏れる必要があります。既知の侵害されたパスワードの参照データセットは Have I Been Pwned で、オーストラリアのセキュリティ研究者 Troy Hunt が 2013 年 12 月 4 日に開始しました。Pwned Passwords サブシステムは、侵害された一意の SHA-1 パスワードハッシュを 10 億をはるかに超えてインデックス化しており、2025 年 11 月の更新だけで約 13 億の新たに見られたパスワードが追加されました。
k 匿名性、パスワードを明かさずに確認する
Pwned Passwords の巧妙な部分は API の設計で、歴史的に深刻なプライバシー問題、つまり、パスワード自体を送らずに、第三者にあるパスワードが既知の漏洩リストに含まれているかをどのように確認させるかを解決しています。素朴なアプローチであるサービスへのパスワードの POST 送信は、ユーザーが回避しようとしていた問題そのものを再現します。Junade Ali が Cloudflare で 2018 年に設計した k 匿名性ソリューションは次のように動作します: クライアントはパスワードの SHA-1 ハッシュを計算する。クライアントはそのハッシュの最初の 5 つの 16 進文字(約 100 万の可能なバケットの 1 つを識別するプレフィックス)だけを送る。サーバーはそのプレフィックスで始まるすべての接尾辞(通常は数百件の一致)を返す。クライアントは完全なハッシュが返されたリストにあるかをローカルで確認する。サーバーはユーザーがどのパスワードを確認しているのか決して知りません。約 100 万のプレフィックスバケットの 1 つを知るだけで、それ自体で数百のもっともらしいパスワードを識別します。これは医療記録を匿名化するために使われるのと同じ統計的匿名性モデルで、各クエリは統計的に少なくとも他の k 件と区別できないものです。ブラウザのパスワードマネージャー、企業のアイデンティティシステム、本格的な強度計は、同じプレフィックスと接尾辞のプロトコルを使用しています。
パスワードマネージャーを使う
パスワードマネージャーの主張は、それらが侵害に対して免疫を持たせるというものではありません。実際そうではないし、いくつかは自身が侵害されています。むしろ、すべてのサービスで一意のパスワードを持てるようにすることで、利用するサービスの次の漏洩が銀行口座の侵害にもつながらないようにします。広く使用されているマネージャーの中で最も古い KeePass は、Dominik Reichl が 2003 年 11 月に初めてリリースしました。AgileBits の 1Password は 2006 年に初版を提供しました。クラウド同期型オープンソースの主流マネージャー Bitwarden は 2016 年 8 月にローンチしました。現代の推奨事項である、1 つの強力なマスターパスフレーズを覚え、残りはマネージャーに生成させる、というのは、NIST、OWASP、EFF、そして本質的にすべての真剣なセキュリティ組織で共有されています。単一のマスターパスフレーズはあなたがよく覚える必要のある唯一のパスワードになり、マネージャーが残りを処理し、サービスごとにランダムな 20 文字の文字列を生成し、それを入力してくれて、再利用すると警告してくれます。このページ全体から 1 つだけアドバイスを取るなら、それを取ってください。
覚える必要のあるもののためのパスフレーズ
本当に覚えなければならないパスワード、つまりパスワードマネージャーのマスターパスフレーズ、コンピュータのログイン、電話のロック解除には、パスフレーズがパスワードに勝ります。2011 年 8 月 10 日に公開された XKCD #936(「Password Strength」)は、これを広い読者に示しました。correct horse battery staple は 4 つのランダムな英単語で、Tr0ub4dor&3 よりも人間が覚えやすく、コンピュータが推測するには桁違いに難しいのです。数学は単純で、サイズ N のリストから単語を均一に引き出すと、各単語は log2(N) ビットのエントロピーを寄与します。1995 年に Arnold Reinhold が考案し、もともと Cypherpunks メーリングリストで配布された Diceware システムは、7,776 語のリストでこれを形式化しています(各単語は 6 面サイコロの 5 回のロールで選ばれる)。各 Diceware 単語は約 12.9 ビットのエントロピーを寄与し、6 単語のパスフレーズは約 77 ビットを持ちます。これは Reinhold が日常使用の最低基準として推奨してきた値です。Electronic Frontier Foundation は 2016 年 7 月に自分たちの改良版の長い単語リストを公開しました。記憶しやすさと長さ(Diceware の約 4.3 文字に対し平均 7 文字)を考慮して単語が選ばれています。EFF リストと元の Diceware リストのセキュリティは同じ単語数で同一です。EFF リストは単に扱いやすいだけです。重要な注意点は、単語が 本当にランダム でなければならない、サイコロや本物の RNG で選ばれたものでなければならないということです。歌の歌詞や映画の引用や有名な聖書の一節から取ったパスフレーズは、すべての辞書攻撃者のワードリストにあり、1 つの辞書単語より強くありません。
パスキー: 長期的な置き換え
長期的な進行方向は、価値の高いアカウントがパスワードの世界を完全に離れつつあるということです。2022 年 5 月 5 日、Apple、Google、Microsoft が共同で FIDO 標準のサポート拡張と、デバイスとプラットフォーム間で同期するパスキーベースのパスワードレスサインインフローを発表しました。パスキーはユーザーのデバイス上に保持される公開鍵資格情報です。秘密鍵はデバイスから出ることはなく、公開鍵は依存当事者に登録され、認証はパスワードでは原理的に不可能な方法でフィッシングに耐性のある暗号学的なチャレンジレスポンスです。FIDO Alliance は 2025 年初頭に、すでに 150 億を超えるオンラインアカウントがパスキーを使用できると報告し、採用は 2024 年だけで倍増したと報告しました。Google は 2024 年後半に、8 億を超える Google アカウントが少なくとも 1 つのパスキーを構成しており、サインイン成功率が約 30% 向上し、サインイン速度が平均約 20% 向上したと報告しました。主要プラットフォーム、Amazon、Apple iCloud Keychain、Google Password Manager、Microsoft Authenticator はすべて、今日同期されたパスキーをサポートしています。パスキーはまだ完全な代替ではありません(多くの小さなサイトはまだサポートしておらず、復旧の話はプラットフォームによって異なります)が、それらをサポートするあらゆるアカウント(メール、ソーシャルメディア、銀行、主要な SaaS プラットフォームなどがますます含まれる)について、パスキーは正しい答えであり、強力なパスワードは合理的な第二の選択です。
プライバシー: なぜブラウザだけのチェッカーが重要なのか
サーバーにパスワードを送るあらゆる「パスワードをテスト」するツールは、構造上、リスクです。それには、分析をサーバー側で実行していた歴史的なパスワード計測器のほとんどが含まれます。現代のツールに適したパターン、つまりこのページが従うパターンは、パスワードがあなたのブラウザを決して離れないというものです。強度推定器はローカルで実行し、エントロピー値はローカルで計算され、提案はローカルで生成されます。何も記録されず、何も保存されず、何もネットワークを横断しません。これは明確に述べる価値のあるプライバシーの主張です。それは、信頼できる実装と無頓着な実装を本当に区別するパスワードツールの唯一の主張です。強度計のソースコードを制御しないユーザーは、自分のパスワードが記録されていないかを確信することはできませんが、少なくともブラウザの開発者ツールでネットワーク活動を見ることはできます。ユーザーが入力するときにネットワークリクエストを行わないツールは数秒で検証可能です。それは「ブラウザだけで実行」が単なるマーケティング上の主張ではなく 反証可能な 主張になることを意味し、それははるかに優れた種類の主張です。その保証があっても、最も安全な実践は、今日使用するあらゆるパスワードに対して、実際のパスワードではなく 構造的に似た パスワードをテストすることです、同じ長さ、同じ文字混在、同じパターンです。
7 つの要点
- 長さが支配的です。 12 文字が実用上の最小値、16 文字以上が重要なアカウントの適切な下限です。各追加文字は概ねブルートフォース攻撃面を倍にします。
- 構成ルールは演出です。 長いパスフレーズは、誠実なあらゆる尺度で、大文字小文字 + 数字 + 記号の短い文字列に勝ります。
- 再利用が支配的な攻撃面です。 1 つの漏洩したパスワードは、それを共有するすべてのサービスへの鍵になります。
- パスワードマネージャーがほとんどの人にとっての答えです。 1 つの強力なパスフレーズを覚え、残りはマネージャーに処理させます。
- パスキーは、サポートされている場合、あらゆるパスワードよりも優れています。 設計上フィッシング耐性があり、ユーザーのデバイス間で同期します。
- 強度計は推定器であって保証ではありません。 それは特定の攻撃モデルを仮定します。実際の攻撃者は、計測器の数値が示唆するよりも、パターンを多く含むパスワードに対してより良い成果を上げるかもしれません。
- 計測器のプライバシー主張は、検証できる場合のみ信用してください。 ブラウザ内で完全に動作する計測器は、開発者ツールを開いたあらゆるユーザーが検証できます。サーバーに送信する計測器は検証できません。
よくある質問
パスワードはサーバーに送信されますか?
いいえ。すべての解析はブラウザ内で行われます。パスワードがデバイスから出ることはありません。
パスワードは何文字にすべきですか?
ほとんどのアカウントでは12文字以上、重要なもの (銀行、メール、パスワードマネージャー) では16文字以上を推奨します。長いほど安全です。
パスフレーズはランダムなパスワードより優れていますか?
パスフレーズ (例: "correct-horse-battery-staple") は、十分に長ければ (4語以上のランダムな単語) 非常に強力です。覚えやすい一方で、歌詞や引用ではなく、本当にランダムな単語を選ぶ必要があります。
なぜこのツールは別の計測器と異なるスコアを示すのですか?
異なる計測器は異なるモデルを使うからです。素朴な文字クラス計測器は P@$$w0rd99 が 4 つのクラスすべてを持つと見なし、それを高く評価します。パターン認識計測器(Dropbox のオープンソースの zxcvbn ライブラリをモデルにしている)は、辞書語、リートスピーク置換、末尾の数字パターンを認識し、それを「数秒で破られる」と評価します。本ツールは両方を報告します。長さと文字セットからの素朴なエントロピーに加え、認識可能な構造を減点するパターン認識スコアです。この 2 つは、パスワードに予測可能なパターンが含まれているときに乖離し、それは警告が最も有用なときです。
クラック時間の推定を信頼すべきですか?
最悪ケースの目安としては、はい。本ツールが想定する毎秒 100 億回の推測は、ソルト無しの MD5 または SHA-1 ハッシュをクラックする最新の単一の GPU を持つ決意のある攻撃者と同じ桁にあります(RTX 4090 は毎秒 1,500~1,650 億の MD5 ができ、小さなリグはそれを兆単位に押し上げます)。適切な現代的ハッシング(コストファクター 12 の bcrypt、scrypt、argon2id)を使うサービスでは、実際の攻撃は数百万倍遅くなりますが、次に侵害されるサービスがどのハッシング方式を使うかを事前に知る方法はないので、最悪ケースに備えるのが賢明です。
私のパスワードが漏洩したかを確認するのはどうですか?
それには Have I Been Pwned の Pwned Passwords サービス(haveibeenpwned.com/Passwords)を使ってください。これは Junade Ali が 2018 年に Cloudflare で設計した k 匿名性モデルを使用します。ブラウザがパスワードの SHA-1 を計算し、最初の 5 つの 16 進文字だけを送信し、サーバーは一致するすべての接尾辞を返します。完全なパスワードと完全なハッシュはネットワークを横断しません。コーパスには 10 億を超える既知の侵害された SHA-1 ハッシュが含まれています。ブラウザのパスワードマネージャー(1Password の Watchtower、Bitwarden のデータ侵害レポート、Chrome の Password Checkup)は同じ API を自動的に統合しています。