MENU

パスワードとパスフレーズ

従来、多くのシステムでは 8文字の複雑なパスワード が推奨されてきました。
しかし近年のコンピューター能力の向上により、こうした短く複雑なパスワードは 総当たり攻撃(Brute-Force)で短時間に破られる可能性が高くなっています。
そのため、現在では 15文字以上のパスワード や、より記憶しやすい パスフレーズ が推奨されています。

パスワードの定義 NIST SP800-63B-4

世界で唯一の電子認証関連ガイドランである、米国国立標準技術研究所(NIST)が2025年に発表した SP800-63B (rev4) 3.1.1 Password Authenticators での定義とは、「パスワード(パスフレーズとも呼ばれ、数値の場合は個人識別番号[PIN]とも呼ばれる)は、加入者が選択し、暗記または記録することを意図した秘密の値です。パスワードは十分な効果と秘密性を持ち、攻撃者が正しい秘密値を推測したり発見したりすることが非現実的でなければなりません。パスワードとは「あなたが知っているもの」のことです。」とされています。

パスワードを検証する側の要件は以下の通りです。

項目内容備考
パスワードだけで認証する場合15文字以上を義務付けるべきSHALL
多要素認証と併用する場合最低でも8文字以上SHALL
最大長64文字以上SHALL
複雑さの強制大文字・小文字・数字・記号の混在を義務付ける構成ルールは 課してはいけないSHALL NOT
定期変更定期的なパスワードの強制変更は 要求してはいけない、但し、認証者が侵害された証拠があれば、検証者は必ず変更を強制SHALL NOT
ヒント/秘密の質問知識認証(KBA)の使用 (例:「最初のペットの名前は?」) やセキュリティ質問を促してはならないSHALL NOT

ポイントは、「桁数の長さ」を重視し、単純な複雑性ルールや定期変更を強制しない方針を取っていることです。なお、「SHALL」および「SHALL NOT」という用語は、ガイドラインに準拠するために厳格に遵守すべき要件を示し、逸脱は許されません。

15桁以上のパスワード、覚えられる?


一方で、15桁のパスワードを覚えられるのか?という疑問がわきます。
実際に、アメリカの心理学者であるジョージ・ミラー(George A. Miller)は、1956年に「マジカルナンバー7±2」という論文で、ランダムな数字や文字の列など、意味を持たない情報を一度に覚えられる限界は「7個(前後2個)」のチャンク(塊)までであると結論づけました。一方で、単なるランダムな文字列は覚えられませんが、それらを意味のあるグループ(例:FBICIAUSA → FBI / CIA / USA)にまとめる「チャンキング」を行えば、記憶効率が劇的に向上することも示しました。円周率も、3.141592653589 は覚えにくいですが、3.141 – 592 – 653 – 589 と短く区切ることで覚えやすくなります。
こうしたチャンキングのテクニックを活用したのが、パスフレーズ(Passphrase)です。パスフレーズは、3つ程度の単語を組み合わせた、長くて覚えやすいパスワードに代わるもので、従来のパスワードよりも長く、スペースや記号も使え、ランダムな単語を組み合わせることで、辞書攻撃や総当たり攻撃に強いセキュリティを実現しつつ、記憶しやすいという特徴を持ちます。

パスフレーズの例

2~3つの単語を組み合わせ、場合によっては、数字や記号を挟むとよいといわれています。

パスフレーズ桁数
sakura3gatsuhanafubuki#桜3月花吹雪#23桁
haha$tanjoubi60sai母$誕生日60歳18桁
sewohayami#sutokuin瀬をはやみ#崇徳院19桁
denshaKehaikoukasen&48電車気配高架線&4822桁
hikoukiotomonaku#99飛行機音もなく#9919桁

パスワード・パスフレーズの強度は組み合わせ数

一般的に日本語キーボードのキートップは94種といわれています。1桁のパスワードの総組み合わせ数は94、2桁のパスワードの総組み合わせ数は 94✕94 = 8,836 になります。つまり、パスワードの桁数が一つ増えれば、組み合わせ数は 94 倍になります。
下の表にあるように8桁と16桁の組み合わせ数を比べれば、圧倒的な違いとなります。16桁の場合、1秒間に1億回、総当たり攻撃を行っても天文学的な時間が必要になり、単純な文字列の並びでない限り、いかなるログオン試行も無効ということがいえます。

桁数組み合わせ数
194
28,836
3830,584
478,074,896
57,339,040,224
6689,869,781,056
764,847,759,419,264
86,095,689,385,410,820
9572,994,802,228,617,000
1053,861,511,409,490,000,000
12475,920,314,814,253,000,000,000
144,205,231,901,698,740,000,000,000,000
1637,157,429,083,410,100,000,000,000,000,000
18328,323,043,381,012,000,000,000,000,000,000,000
202,901,062,411,314,620,000,000,000,000,000,000,000,000

ロックアウトとの併用

長いパスワード、パスフレーズは総当たり攻撃に対して有効ですが、既存のシステム内には8桁、複雑なパスワードが残っている場合があります。米国のセキュリティ関連企業である Hive Systems は毎年、最新のコンピューターシステムによるパスワードの解析時間を発表しています。下の表は、パスワードの暗号化(正確にはハッシュ化)の標準的関数である bcrypt 1で10回繰り返し計算した結果を、RTX5090(GPU)を12台接続したコンピューター2で解析した場合の時間を示しています。この表では、800万円程度のシステムで、8桁で数字、大文字、小文字、記号で構成されたパスワードの解析に164年かかることが分かります。

出典:Hive Systems www.hivesystems.com/password

一方で、同社の試算では、コストを無視して最新の AI の学習環境を使用した場合、8桁複雑なパスワードは2か月で解析されるとしています。この解析時間は、コンピューターや GPU の能力向上によって短くなりつつあり、数年以内に 2か月が数日になる可能性を否定できません。
そのため、SP800-63-B (rev.4) では、「失敗できる認証試行回数を実質的に制限するレート制限メカニズムを実装すべき」(SHALL) としています。このレート制限メカニズムとは、いわゆるロックアウト機能であり、ログオン失敗が一定の回数続いた場合には、10分~1時間程度、ログオンを受け付けないことが推奨されています。同一アカウントで、1秒間に1回、ログオンを試行する攻撃があった場合でも、連続10回ログオン失敗で10分間、ロックアウトすれば1時間に60回程度の攻撃しかできず、総当たり攻撃を事実上、困難にすることができます。

  1. パスワードを安全に保存するためのハッシュ関数。ワークファクターを変えることで意図的に遅く計算させることが可能(1回の検証に数十〜数百ミリ秒)。コンピューターの能力が上がった場合は、アルゴリズムを変えずにワークファクターを上げるだけで、解析に係る時間を遅くでき対応できる。 ↩︎
  2. 2025年12月現在でRTX5090 は 1台 60万円程度。 ↩︎
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次