パスワードはなぜ破られる? 長さと使い回しが大事な理由

約12分 · 更新: 2026年10月23日

パスワードが破られる主な原因は3つです。よく使われるものを推測されること、漏れたものを使い回していること、偽のサイトで自分で入力してしまうことです。記号を混ぜることや定期的な変更より、長くすることと、サービスごとに別にすることが効きます。さらに多要素認証やパスキーを使えば、パスワードが漏れても守りやすくなります。

この記事でわかること

  • サービスはパスワードをどう保存しているか(ハッシュとソルト)
  • パスワードを破る主な手口と、それぞれに効く対策
  • 記号を混ぜるより、長くするほうが効く理由
  • 多要素認証とパスキーのしくみと、方式による強さの違い

前提知識: 特にありません。

身近なところでは

「8文字以上で、大文字・数字・記号を含めてください」という画面を見たことがあるでしょう。会社では「90日ごとに変更」と決められていることもあります。ある日、「情報が流出しました。パスワードを変更してください」というメールが届くこともあります。

ところが今の公式の指針は、この習慣のいくつかを勧めていません。何が効いて、何が効かないのでしょうか。まずは、パスワードがどう保存され、どう破られるのかから見ていきます。

サービスはパスワードをそのまま保存しない

ログインのとき、サービスが確かめたいのは「登録したものと同じか」だけです。そのため、きちんと作られたサービスは、パスワードそのものを保存しません。代わりに、パスワードから計算した値を保存します。

この計算に使うのがハッシュ関数です。どんな長さの入力からも、決まった長さの値を作ります。同じ入力からは必ず同じ値が出て、1文字違えばまったく別の値になります。値から元の入力を逆算することは、現実的にできないように作られています。できた値をハッシュ値と呼びます。

ログインのときは、入力されたパスワードを同じ計算にかけ、保存したハッシュ値と比べます。一致すれば本人とみなします。暗号化は、鍵があれば元に戻せるしくみです。ハッシュは、そもそも元に戻す手順を持ちません。ここが大きな違いです。

そこで保存する側は、2つの工夫を重ねます。1つ目はソルトです。利用者ごとに違うランダムな値を、パスワードに足してから計算します。ソルトがないと、同じパスワードの人は同じハッシュ値になります。攻撃者はよくあるパスワードのハッシュ値を一度計算するだけで、大勢をまとめて見破れます。ソルトがあれば、1人ずつ計算し直す必要があります。ソルトは秘密にしなくてかまいません。

2つ目は、わざと遅いハッシュ関数を使うことです。ふつうのハッシュ関数は、速く計算できるように作られています。パスワード用には、計算に時間やメモリがかかる方式を使います。代表は1999年に発表されたbcryptや、2015年のコンテストで選ばれたArgon2です。1回のログインで0.1秒かかっても、利用者は困りません。一方、何十億回も試したい攻撃者には大きな足かせになります。

パスワードにソルトを加えて遅いハッシュ関数にかけ、ソルトとハッシュ値だけを保存する。ログインでも同じ計算をして比べる パスワード ソルト ランダムな値 遅いハッシュ関数 ハッシュ値 保存するのはソルトとハッシュ値 ログインでも同じ計算をして比べる
サービスは、パスワードそのものではなく、計算した結果を保存します。省略していること: 遅さの度合いを決める設定値(これも一緒に保存します)。ソルトに加えて、別に保管した秘密の値を混ぜる方式もあります。

破る手口1: よくあるパスワードを推測する

いちばん簡単な手口は、よく使われるパスワードを試すことです。英国の政府機関NCSCは2019年、漏えいしたパスワードを分析しました。「123456」を使っていたアカウントは、世界で2,320万ありました。「qwerty」や「password」も上位に入っています。

単語や名前、よくあるパスワードを集めた一覧から順に試す方法を、辞書攻撃と呼びます。一覧には、末尾に「1」や「!」を足したものや、「a」を「@」に替えたものも自動で加えられます。人が思いつく工夫は、たいてい攻撃者も試しています。

試し方には2種類あります。ログイン画面で1つずつ試す方法は、回数制限やロックがあるので遅くなります。そこで、少数のよくあるパスワードを、大勢のアカウントに1回ずつ試す手口もあります。1つのアカウントへの失敗が少ないので、ロックがかかりにくいのです。これをパスワードスプレー攻撃と呼び、会社のアカウントがよく狙われます。

もう1つは、サービスから盗み出したハッシュ値を、攻撃者の手元で試す方法です。こちらには回数制限がありません。速いハッシュ関数なら、GPU(画像処理用の計算装置)1台で1秒に何十億回も試せます。保存のしかたが大事なのは、このためです。

破る手口2: 総当たり。記号より長さが効く理由

すべての組み合わせを順に試す方法を、総当たり攻撃(ブルートフォース攻撃)と呼びます。文字をでたらめに選んだ場合、この攻撃に強いかどうかは組み合わせの数で決まります。組み合わせの数は「使う文字の種類」を「文字数」の回数だけ掛けた数です。

英大文字・小文字と数字では62種類です。8文字なら、62を8回掛けて約218兆通りです。ここに記号を足して94種類にしても、約28倍にしかなりません。一方、英小文字だけでも12文字にすれば、62種類の8文字の約440倍になります。文字の種類を増やすより、1文字ずつ長くするほうが、数は大きく増えるのです。

長くても覚えやすいのが、単語を並べたパスフレーズです。ただし、単語はさいころなどでランダムに選ぶ必要があります。有名な言葉や歌詞は、辞書攻撃の一覧に入っています。7,776語の一覧から5語を選べば、約2,800京通りになります。京は兆の1万倍です(下の「数字で見る」)。

破る手口3: 使い回しを狙う「パスワードリスト攻撃」

今とくに大きな危険の1つが、使い回しです。どこかのサービスから、メールアドレスとパスワードの組が漏れたとします。攻撃者はその一覧を、ほかのサービスのログイン画面に自動で入力していきます。これをパスワードリスト攻撃と呼びます。

サイトAから漏れたIDとパスワードの一覧を、攻撃者がサイトBとサイトCで試す。同じパスワードを使っていたサイトBではログインされ、別のパスワードのサイトCでは失敗する サイトAで漏えい IDとパスワード の一覧 自動で試す サイトB 同じパスワード サイトC 別のパスワード ログインされる 失敗する
使い回していると、漏れたのが別のサービスでも被害が広がります。省略していること: 多要素認証を設定していれば、サイトBでもパスワードだけではログインできません。

使い回していれば、どれほど長いパスワードでも役に立ちません。漏れた文字列そのものを入力されるからです。防ぐ方法は、サービスごとに別のパスワードにすることと、次に説明する多要素認証です。総務省の「国民のためのサイバーセキュリティサイト」も、使い回さないことを強く勧めています。

破る手口4: 偽のサイトで入力させる

本物そっくりの偽のサイトに誘い、パスワードを入力させる詐欺をフィッシングと呼びます。本人が自分で入力するので、パスワードの強さは関係ありません。偽のサイトにも、鍵マークがついていることがよくあります。くわしくは「HTTPSとは? 鍵マークが守っているもの・守れないもの」で説明しています。

対策1: 長く、別々に。覚えるのは道具に任せる

サービスごとに別の長いパスワードを、何十個も覚えるのは無理です。そこで、パスワードマネージャーを使います。パスワードを作って暗号化して保管し、ログインの画面で自動で入力してくれる道具です。ブラウザやスマホに組み込まれたものもあります。

多くのパスワードマネージャーは、登録したサイトのアドレスと合うときだけ自動入力します。偽のサイトで入力が出てこなければ、気づくきっかけになります。ただし、まとめて保管する場所なので、それ自体が狙われます。開くためのパスワードは長く、ほかで使わないものにし、多要素認証もかけておきます。

対策2: 多要素認証とパスキー

本人を確かめる手がかりは、大きく3種類あります。本人が知っているもの(パスワードなど)、持っているもの(スマホなど)、体の特徴(指紋や顔)です。種類の違う2つ以上を組み合わせる方法を、多要素認証と呼びます。パスワードが漏れても、スマホがなければログインできません。

確認コードの届け方には差があります。SMS(電話番号あてのショートメッセージ)で届くコードは、パスワードだけよりずっと安全です。ただし、電話番号を乗っ取られると、コードも奪われます。米国の公的機関NISTの指針(後述)も、SMSなどの電話網を使う方法を「制限つき」に分類しています。スマホの認証アプリが表示するコードは電話番号に頼りません。それでも、偽のサイトに入力すれば同じように使われます。

この弱点をなくしたのがパスキーです。パスキーでは、スマホやパソコンが、サイトごとの秘密の鍵を持ちます。サイトには、対になる公開用の鍵だけを預けます。ログインのとき、端末は秘密の鍵で「署名」を作って送ります。署名は、その鍵を持つ端末にしか作れないしるしです。鍵は登録したサイトのアドレスに結びつくので、偽のサイトでは使えません。

指紋や顔は、端末の中で鍵を使えるようにするための確認に使います。サイトに送られるわけではありません。パスキーは、業界団体のFIDOアライアンスとW3Cが作った規格(FIDO2やWebAuthn)にもとづきます。2022年5月には、Apple・Google・Microsoftが対応を広げると共同で発表しました。ただし、まだ使えないサービスもあります。端末をなくしたときの復旧手段も確かめておきましょう。

公式の指針はどう変わったか

NIST(米国の国立標準技術研究所)は、本人確認の指針SP 800-63Bを出しています。米国の政府機関向けですが、世界中で参考にされています。2025年7月に最終版になった第4版(SP 800-63B-4)の主な決まりは、次のとおりです。

  • パスワードだけでログインさせる場合は15文字以上、多要素認証の一部なら8文字以上を求める
  • 64文字以上まで使えるようにすることが望ましい
  • 「記号を必ず含める」などの文字の種類のルールを課してはならない
  • 定期的な変更を求めてはならない。ただし漏れた証拠があれば変更させる
  • よく使われるものや漏えいしたものの一覧と照らし、当てはまれば使わせない
  • パスワードマネージャーを使えるようにする(貼り付けも認めることが望ましい)

日本では、総務省の「国民のためのサイバーセキュリティサイト」(2024年5月に改訂)が案内しています。流出などがなければ、定期的に変える必要はないとしています。そのうえで、使い回さないことと、パスワード管理の道具を使うことを勧めています。長さは最低でも10文字で、ランダムな並びにするよう勧めています。

総務省は、数字や記号、大文字・小文字がまざっていることも「好ましい」としています。NISTが禁じているのは、まぜることを決まりとして強制することです。どちらも、長くて予想しにくいことを重視している点は同じです。

よくある誤解

誤解: 90日ごとに変えれば、パスワードは強くなる

実際は、変更を強制されると、人は「Haru2026!」を「Haru2027!」にするような小さな変え方をしがちです。攻撃者はこの変え方も試します。漏れていないパスワードを変えても、強さは増えません。NISTも総務省も、漏れたときにすぐ変えることを勧めています。

誤解: 「P@ssw0rd」のように文字を置き換えれば強くなる

実際は、「a→@」「o→0」のような置き換えは、辞書攻撃の道具が自動で試す定番です。見た目は複雑でも、元が辞書の単語なら、すぐに見つかります。強さを決めるのは、予想しにくさと長さです。

誤解: サイトがHTTPSで暗号化しているから、自分のパスワードは安全だ

実際は、HTTPSが守るのは、送っている途中だけです。サービスから保存データが盗まれれば、ハッシュ値は手元で試されます。弱いパスワードはそこで見破られます。偽のサイトに入力すれば、HTTPSでも相手にそのまま届きます。

数字で見る

総当たりで、すべての組み合わせを試すのにかかる時間を計算しました。文字や単語はランダムに選んだとします。平均すると、この半分の時間で当たります。試す速さは、次の2つの場合を仮定しました。

  • 速いハッシュ: 1秒に100億回(GPU1台で速い方式を試す場合の目安。2025年には、速い方式の1つのMD5を、GPU1台で1秒に1,600億回以上試せたという計測も公開されています)
  • 遅いハッシュ: 1秒に1万回(GPU1台で、bcryptなどを実用的な設定で使った場合のおおよその目安)
パスワード組み合わせ速いハッシュ遅いハッシュ
英小文字8文字約2,100億約21秒約240日
英大小・数字8文字約218兆約6時間約690年
記号も入れて8文字約6,100兆約7日約1.9万年
英小文字12文字約9.5京約110日約30万年
ランダムな4語約3,700兆約4日約1.2万年
ランダムな5語約2,800京約90年約9,000万年

単語は7,776語の一覧から選ぶとしました。記号を足すより、長くするほうが効くことがわかります。また、この仮定では、同じパスワードでも保存のしかたで時間が100万倍変わります。実際の速さは、ハッシュの方式と攻撃者の機材しだいです。この表は目安として見てください。そして、「123456」のようなよくあるものや使い回しは、この計算とは関係なく一瞬で破られます。

もっと詳しく学ぶ

次に読む

シリーズ「セキュリティと暮らしの IT」の記事

  1. パスワードはなぜ破られる? 長さと使い回しが大事な理由
  2. クラウドとは? データやアプリが「どこか」で動くしくみ
  3. 暗号とは? 共通鍵と公開鍵のしくみをやさしく
  4. 生成AIはどう動く? 大規模言語モデルのしくみ
  5. VPNとは? 通信を守るトンネルのしくみと、できないこと
  6. 機械学習とは? データから規則を見つけるしくみ
  7. データセンターとは? クラウドとAIを支える建物の中身
  8. ファイアウォールとは? 通信を通す・止めるしくみ
  9. QRコードとは? 汚れても読めるしくみ
  10. フィッシング詐欺とは? 偽メール・偽サイトの見分け方と対策
  11. 指紋認証・顔認証のしくみとは? スマホはどう本人を見分ける?
  12. マルウェアとは? ウイルス・ランサムウェアの違いと対策

この分野の問題: 情報セキュリティの基礎

参考にした資料

やさしい解説の一覧へ