応用情報暗記無料で始める

パスワードの安全な保存(ソルト・ストレッチング)とは?ぱすわーどのあんぜんなほぞん

パスワードの安全な保存(ソルト・ストレッチング)とは、パスワードは元へ戻せない形にして保管する。利用者ごとに異なる乱数(ソルト)を付けてからハッシュ化し、さらにその計算を数千から数万回繰り返す(ストレッチング)ことで、1件を試すのに要する計算量を意図的に引き上げる。保存先ごと持ち出されても、総当たりが割に合わない状態にしておくのが狙いである。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では1回出題されています。

応用情報技術者試験の頻出用語/テクノロジ系

別名:パスワードのハッシュ化(ソルト・ストレッチング)、パスワードのハッシュ化、ソルト、ストレッチング、パスワードの安全な保存、ソルト・ストレッチング

この語が出る過去問を解く →

背景

かつてはパスワードを守る前提が「サーバへ侵入させない」ことだったが、実際には保存先ごと外部へ出る事故が繰り返し起きた。そこで前提を変え、漏れた後にどれだけ時間を稼げるかで設計するようになった。GPUによる試行速度は年々上がるので、対策も「解けない」ではなく「解くのに見合わないほど遅くする」という相対的な話になる。応用情報では可逆暗号や単純なハッシュとの違いを説明させる形で問われる。

具体例

bcryptやscrypt、2015年のPassword Hashing Competitionで選ばれたArgon2は、反復回数やメモリ使用量をパラメータとして持ち、計算機が速くなったら設定値を引き上げて追随できる。Argon2がメモリ量まで指定できるのは、演算器を並べるだけのGPUやASICに有利を取らせないためで、NIST SP 800-63Bもこの種の関数の使用を求めている。

試験での引っ掛け

ソルトは秘密情報ではなく、反復回数と一緒にハッシュ値の隣へそのまま保存してよい。ソルトが無効化するのは事前計算表(レインボーテーブル)の使い回しと、「同じパスワードなら同じ値になる」ことによる利用者間の露見であって、1件ずつの総当たりそのものは止まらない。そこを遅くするのがストレッチングの役割で、SHA-256を1回掛けるだけではソルトがあっても不十分とされる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:テクノロジ系
  • ソルトは秘密情報ではなく、反復回数と一緒にハッシュ値の隣へそのまま保存してよい。