パスワードの付け方、二要素認証、フィッシングの見分け方のような、情報Iの範囲の基礎は情報セキュリティの基本にまとめています。この記事はその続きとして、仕組みの名前と働きを区別することに絞ります。

暗号化・ハッシュ・デジタル署名の役割分担

セキュリティ分野の用語の多くは、三つの仕組みの組み合わせで説明できます。三つは守るものが違います。情報セキュリティの3要素に当てはめると、暗号化は主に機密性を、ハッシュは完全性(改ざんされていないこと)を支えます。デジタル署名は完全性に加えて、誰が作ったかという真正性を確かめます。

暗号化・ハッシュ関数・デジタル署名の比較
仕組み何を確かめる・守るか元に戻せるか鍵
暗号化中身を、鍵を持たない人に読ませない戻せる(復号)共通鍵、または公開鍵と秘密鍵の組
ハッシュ関数2つのデータが同じかどうか、途中で変わっていないか戻せない使わない(鍵と組み合わせたものがMAC)
デジタル署名誰が作ったか、作られた後に改ざんされていないか中身を隠す仕組みではない送信者の秘密鍵で署名し、送信者の公開鍵で検証

「元に戻せるか」の列が、取り違えを防ぐ手掛かりになります。暗号化は、正しい鍵があれば元の文に戻せなければ役に立ちません。ハッシュ関数は逆に、元に戻せないことが前提です。「ハッシュ値を復号する」という表現が選択肢にあれば、その時点で誤りと判断できます。

ハッシュ関数とSHA-256の性質

ハッシュ関数は、任意の長さのデータから、決まった長さの値(ハッシュ値、メッセージダイジェスト)を作る関数です。同じ入力からは必ず同じ値ができます。SHA-256の出力は常に256ビットで、16進数の1桁は4ビットを表すので、16進数で書くと64桁になります。入力が1文字でも、長い文書でも、この長さは変わりません。

下の欄で確かめられます。初めに入っている「abc」と「abd」は最後の1文字が違うだけですが、ハッシュ値はほとんど別物になります。入力を書き換えると、その場で計算し直します。

SHA-256 を2つ並べて比べる計算は端末の中だけ・送信しません

SHA-256(16進64桁)

(計算中)

SHA-256(16進64桁)

(計算中)

(計算中)

入力2の欄で、16進の桁が入力1と違う所には下線と色を付けています。

入力をわずかに変えると出力のおよそ半分のビットが変わる、というのが設計上の目標です。256ビットなら128ビット前後の差が出ます。もし似た入力から似たハッシュ値が出るなら、ハッシュ値の近さから入力を推測する手掛かりを与えてしまいます。

暗号に使うハッシュ関数に求められる3つの性質

試験では、次の三つを名前と中身の組で問われます。違いは「何が与えられていて、何を見つけるのが難しいか」です。

ハッシュ関数に求められる3つの性質
性質与えられているもの見つけるのが難しいもの
原像計算困難性(一方向性)ハッシュ値だけそのハッシュ値になる入力
第二原像計算困難性ある入力(とそのハッシュ値)同じハッシュ値になる、別の入力
衝突発見困難性(衝突耐性)何も与えられていない同じハッシュ値になる入力の組(どんな組でもよい)

出力が256ビットに決まっている以上、同じハッシュ値になる別々の入力(衝突)は理論上必ず存在します。入力の種類は無限にあり、出力の種類は有限だからです。求められているのは「存在しないこと」ではなく、「現実的な計算量では見つけられないこと」です。

SHA-2・SHA-3と、使われなくなったMD5・SHA-1

SHA-256は、SHA-2と呼ばれる系統の一つです。SHA-2には出力の長さが違うSHA-224、SHA-256、SHA-384、SHA-512などがあり、名前の数字が出力のビット数を表します。SHA-3はSHA-2とは内部の構造が異なる方式として、後から標準化されました。SHA-2が破られたから置き換えるという位置づけではなく、別の設計の選択肢を用意したものです。

MD5(出力128ビット)とSHA-1(出力160ビット)は、衝突を現実的な計算量で作る方法が見つかっています。SHA-1については、2017年に内容の違う2つのPDFファイルで同じハッシュ値になる例が公表されました。衝突を作れると、署名した文書と同じハッシュ値の別の文書を用意できるおそれがあるので、デジタル署名や証明書のように衝突耐性が必要な用途では使われなくなりました。

パスワードをどう保存するか

サービスがパスワードを平文のまま保存していると、データベースが漏れた時点で全員のパスワードがそのまま読まれます。そこで、パスワードのハッシュ値を保存し、ログインのときは入力されたパスワードのハッシュ値を計算して、保存した値と比べます。ハッシュ値が一致すれば、入力されたパスワードは正しいと判断できます。サービス側も元のパスワードを持たずに済みます。

ただし、ハッシュ値を保存するだけでは足りません。よく使われるパスワードとそのハッシュ値の対応を前もって計算しておけば、漏れたハッシュ値を表で引くだけで元のパスワードが分かるからです。この対応表を、少ない保存容量で引けるように工夫したものがレインボーテーブルです。また、同じパスワードを使っている利用者は同じハッシュ値になるので、一人の分が分かれば同じ値の人全員の分が分かります。

これを防ぐのがソルトです。利用者ごとに異なるランダムな値(ソルト)をパスワードに加えてからハッシュ値を計算し、ソルトと一緒に保存します。ソルトは秘密にする値ではありません。役割は、同じパスワードでも利用者ごとに違うハッシュ値にすることと、事前に計算した表を使えなくすることです。下の欄では、同じパスワードに別々のソルトを付けると、ハッシュ値が全く違うものになることを確かめられます(表示を短くするため、ソルトは16進8桁にしています)。

ソルトを付けて SHA-256 をとる計算は端末の中だけ・送信しません

練習用の文字列で試してください。実際に使っているパスワードは入れないでください。

ソルトなし:SHA-256(パスワード)
(計算中)利用者Aも利用者Bも、この同じ値になる
利用者A:ソルト
(計算中)
利用者B:ソルト
(計算中)

もう一つの対策がストレッチングです。ハッシュ値の計算を何千回、何万回と繰り返し、1回の照合にかかる時間を意図的に長くします。正規のログインで1回照合するだけなら気にならない程度の遅れでも、何億通りものパスワードを試す攻撃者にとっては大きな負担になります。実際のシステムでは、SHA-256を1回かけるだけでは計算が速すぎるため、ソルトとストレッチングを組み込んだパスワード保存専用の関数(bcrypt、PBKDF2、Argon2など)を使います。

改ざん検知と本人確認:MAC・デジタル署名・鍵の向き

ファイルを配布するとき、ハッシュ値を一緒に公開しておけば、受け取った人は自分で計算した値と比べて、途中で壊れたり書き換えられたりしていないかを確かめられます。ただし、攻撃者がファイルとハッシュ値の両方を差し替えられる状況では、この方法は役に立ちません。ハッシュ関数には鍵がなく、誰でも計算できるからです。そこで鍵を組み合わせます。

MAC・HMAC:共通鍵とハッシュを組み合わせる

MAC(メッセージ認証コード)は、送信者と受信者だけが知っている共通鍵とメッセージから作る値です。ハッシュ関数を使って作る方式をHMACといいます。鍵を知らない攻撃者は、メッセージを書き換えても正しいMACを作れません。受信者は同じ鍵で計算し直し、一致すれば「改ざんされていない」「鍵を知っている相手から届いた」と確かめられます。

一方で、MACは受信者にも作れます。鍵を両方が持っているからです。そのため、第三者に対して「このメッセージは送信者が作った」と証明すること(否認防止)はできません。これが、次のデジタル署名との違いです。

デジタル署名:送信者の秘密鍵で署名する

デジタル署名では、送信者がメッセージのハッシュ値を計算し、そのハッシュ値に対して自分の秘密鍵で署名を作ります。メッセージ全体ではなくハッシュ値に署名するのは、固定長の短い値に対して処理するほうが速いからです。受信者は、届いたメッセージから自分でハッシュ値を計算し、送信者の公開鍵で署名を検証します。検証が通れば、メッセージが改ざんされていないことと、その公開鍵に対応する秘密鍵の持ち主が署名したことが分かります。秘密鍵は送信者しか持っていないので、送信者は後から「送っていない」と言えません。

デジタル署名は中身を隠しません。署名付きのメッセージでも、内容は誰でも読めます。中身も隠したいときは、暗号化を別に組み合わせます。

鍵の向きは「その操作を誰にだけ許したいか」で決まる

公開鍵暗号方式では、一人が公開鍵と秘密鍵の組を持ちます。公開鍵は誰に渡してもよく、秘密鍵は本人だけが持ちます。暗号化と署名で使う鍵が逆になるのは、限定したい操作が違うからです。

公開鍵暗号方式による暗号化とデジタル署名で使う鍵
目的送信者が使う鍵受信者が使う鍵限定したい操作
暗号化(機密性)受信者の公開鍵で暗号化受信者の秘密鍵で復号読むこと(受信者だけ)
デジタル署名(真正性・完全性)送信者の秘密鍵で署名送信者の公開鍵で検証署名を作ること(送信者だけ)

問題を解くときは、「誰の」と「どちらの鍵か」を分けて確かめます。選択肢では「送信者の公開鍵で暗号化する」のように、片方だけを入れ替えた形がよく並びます。

鍵の数:共通鍵は n(n−1)/2、公開鍵は 2n

n人の誰と誰の組でも秘密の通信をしたいとき、共通鍵暗号方式では2人の組ごとに別の鍵が要ります。組の数はn人から2人を選ぶ組み合わせなので n(n−1)/2 個です。公開鍵暗号方式では、各人が公開鍵と秘密鍵を1組持てばよいので 2n 個です。100人なら、共通鍵は 100×99÷2=4,950個、公開鍵は 100×2=200個です。人数が増えるほど差が広がります。

ハイブリッド暗号:両方の長所を使う

公開鍵暗号方式は鍵を配りやすい反面、暗号化と復号の処理が共通鍵暗号方式より遅くなります。そこで、本文は処理の速い共通鍵暗号方式で暗号化し、その共通鍵だけを受信者の公開鍵で暗号化して送ります。受信者は自分の秘密鍵で共通鍵を取り出し、その共通鍵で本文を復号します。これをハイブリッド暗号方式といい、次に述べるTLSでも同じ考え方で共通鍵を共有します。

PKIとサーバ証明書

公開鍵暗号方式には、受け取った公開鍵が本当にその相手のものかという問題が残ります。攻撃者が自分の公開鍵を「銀行の公開鍵です」と言って渡せば、暗号化しても攻撃者に読まれます。PKI(公開鍵基盤)は、信頼できる第三者が公開鍵と持ち主の対応を保証する仕組みです。

保証する機関を認証局(CA)といいます。認証局は、申請者の公開鍵と持ち主の情報(Webサイトならドメイン名など)をまとめ、認証局自身の秘密鍵でデジタル署名を付けて、デジタル証明書として発行します。Webサーバ用のものがサーバ証明書です。ブラウザやOSは、信頼する認証局の証明書(ルート証明書)をあらかじめ持っており、サーバ証明書の署名を認証局の公開鍵で検証します。

有効期限の前でも、秘密鍵が漏れたなどの理由で証明書を無効にすることがあります。これを失効といいます。失効した証明書の一覧がCRL(証明書失効リスト)で、証明書の状態をその都度問い合わせる仕組みがOCSPです。

HTTPSで使うTLSでは、サーバ証明書でサーバを認証し、通信の暗号化(盗聴の防止)と改ざんの検知を行います。保証されるのは「そのドメイン名のサーバと、途中で読まれたり書き換えられたりせずに通信している」ことです。そのサイトの運営者が信頼できることまでは保証しません。偽サイトでも、自分のドメイン名の証明書を取得してHTTPSにすることはできます。

ファイアウォール・IDS/IPS・WAFの守備範囲

ネットワークの境界に置く防御は、通信のどこを見て判断するかで分かれます。見る場所が違えば、止められる攻撃も違います。

ファイアウォール・IDS・IPS・WAFの比較
仕組み主に見るもの見つけたときの動き
ファイアウォール(パケットフィルタリング)送信元・宛先のIPアドレス、ポート番号、プロトコル規則に合わないパケットを通さない
IDS(侵入検知システム)通信の中身や振る舞い検知して管理者に知らせる(遮断はしない)
IPS(侵入防止システム)通信の中身や振る舞い検知して、その通信を遮断する
WAF(Webアプリケーションファイアウォール)HTTPリクエストの中身(URL、パラメータ、フォームの入力値など)Webアプリケーションへの攻撃と判定したリクエストを遮断する

パケットフィルタリングは、宛先のポート番号でサービスを区別して「Web(443番)は通す、それ以外は通さない」のような規則を書きます。逆に言えば、許可した443番への通信なら、中身がSQLインジェクションでも通します。IDSとIPSの検知方式には、既知の攻撃パターン(シグネチャ)と照合するシグネチャ型と、普段の通信から外れた振る舞いを見つけるアノマリ型があります。シグネチャ型は登録されていない新しい攻撃を見つけられず、アノマリ型は未知の攻撃にも反応できる代わりに、正常な通信を異常と判定することが増えやすくなります。

WAFの判定方式には、攻撃に特徴的なパターンを登録して一致したら止めるブラックリスト方式と、許可する入力のパターンを決めてそれ以外を止めるホワイトリスト方式があります。どちらの方式でも、正常なリクエストを攻撃と判定して止めてしまう誤検知(フォールスポジティブ)と、攻撃を見逃す(フォールスネガティブ)が起こります。WAFはアプリケーションの脆弱性そのものを直すわけではありません。SQLインジェクションの根本対策はアプリケーション側でプレースホルダを使うこと、XSSの根本対策は出力時のエスケープで、WAFはそれを補う位置にあります。

DMZ(非武装地帯)は、インターネットと社内ネットワークの間に設ける区画です。WebサーバやメールサーバのようにインターネットからアクセスさせるサーバをDMZに置き、社内ネットワークとはファイアウォールで分けます。公開サーバが乗っ取られても、そこから社内ネットワークへ直接入られにくくするためです。

どれが止めるか振り分ける

次の通信の例を、主にどの仕組みが止めるかで選んでください。選ぶとすぐに正誤と理由が出ます。実際の製品には機能が重なるものもあるので、ここでは「判断に使う情報がどこにあるか」で考えます。

  1. 例1インターネットから、社内のパソコンのリモートデスクトップ用ポート(TCP 3389)へ接続しようとする通信

    答えと解説を見る

    答え:ファイアウォール。送信先のポート番号だけで判断できます。外から管理用ポートへの接続を許可しない規則をパケットフィルタリングで書けば、中身を見るまでもなく止められます。

  2. 例2公開しているWebサイトの検索欄に「' OR 1=1 --」を含むHTTPリクエストが届く

    答えと解説を見る

    答え:WAF。宛先は公開しているWebサーバの443番ポートなので、ファイアウォールは通します。HTTPリクエストの中身(入力値)にSQLインジェクションの典型パターンがあるかを見るのはWAFの役割です。

  3. 例3公開しているメールサーバ(受信用に許可しているポート25)宛てに、メールサーバソフトの脆弱性を突く既知の攻撃パターンを含む通信が届く

    答えと解説を見る

    答え:IPS。ポート25は許可しているのでファイアウォールは通します。HTTPではないのでWAFの守備範囲でもありません。通信の中身を攻撃パターン(シグネチャ)と照合して遮断するIPSが止めます。

  4. 例4掲示板の投稿欄に「<script>」で始まる文字列を含むHTTPリクエストが届く

    答えと解説を見る

    答え:WAF。クロスサイトスクリプティング(XSS)を狙ったHTTPリクエストの例です。リクエストの本文を見て止めるのはWAFです。根本対策は、アプリケーションが出力するときのエスケープです。

  5. 例5許可リストにない送信元IPアドレスから、DMZのサーバへの通信

    答えと解説を見る

    答え:ファイアウォール。送信元IPアドレスで通す・通さないを決める規則は、パケットフィルタリングの基本です。ファイアウォールが止めます。

  6. 例6URLのパラメータに「../../etc/passwd」を含むHTTPリクエストが届く

    答えと解説を見る

    答え:WAF。上位のディレクトリへさかのぼって公開していないファイルを読ませる、ディレクトリトラバーサルの典型的な文字列です。HTTPリクエストの中身を見るWAFが止めます。

  7. 例7社内ネットワークへ流れ込む通信量が普段の傾向から大きく外れ、通常とは違う振る舞いを示している

    答えと解説を見る

    答え:IPS。「普段と違う」ことを手掛かりに検知するのはアノマリ型の考え方で、IPS(またはIDS)の方式の一つです。IDSは検知して知らせるだけで、遮断まで行うのがIPSです。

Webの攻撃と対策の対応表

科目Aでも科目Bでも、攻撃の名前と、その攻撃を直接防ぐ対策の組を問われます。対策を選ぶときは、攻撃が「どこに何を入れる(何を盗む)のか」を先に確かめます。

主な攻撃の手口と対策
攻撃手口主な対策
SQLインジェクション入力欄にSQLの一部を入れ、データベースへの命令を書き換えるプレースホルダ(バインド機構)でSQL文を組み立てる
クロスサイトスクリプティング(XSS)入力に紛れ込ませたスクリプトを、他の利用者のブラウザで実行させるHTMLに出力するときに特別な意味を持つ文字をエスケープする
クロスサイトリクエストフォージェリ(CSRF)ログイン中の利用者に罠のページを開かせ、意図しない操作のリクエストを送らせる推測できないトークンをフォームに埋め込み、サーバ側で照合する。重要な操作の前に再認証する
セッションハイジャックセッションIDを盗んだり推測したりして、本人になりすます推測しにくいセッションIDを使う、通信をTLSで暗号化する、ログインの後にセッションIDを新しくする
ディレクトリトラバーサルファイル名の指定に「../」を入れ、公開していないファイルを読ませる外部から受け取った値をファイル名にそのまま使わない。使う場合は許可した名前かどうかを確かめる
OSコマンドインジェクション入力にOSのコマンドを紛れ込ませ、サーバ上で実行させるシェルを呼び出す機能を使わない。使う場合は入力の内容を確かめ、特別な意味の文字をエスケープする
ブルートフォース攻撃1つのIDに対して、パスワードを総当たりで試す一定回数失敗したらアカウントをロックする、長いパスワードにする
リバースブルートフォース攻撃よく使われるパスワードを1つ決め、多数のIDに対して試すIDごとの失敗回数は少ないのでロックでは防ぎにくい。多要素認証、送信元ごとの試行の監視
パスワードリスト攻撃他のサービスから漏れたIDとパスワードの組を、そのまま試す利用者がパスワードを使い回さない、多要素認証
DNSキャッシュポイズニングDNSサーバのキャッシュに偽の対応情報を覚えさせ、偽のサーバへ誘導する問合せの送信元ポート番号をランダムにする、DNSSECで応答の正しさを検証する
DoS攻撃・DDoS攻撃大量の通信や処理要求を送り、サービスを使えなくする(DDoSは多数の機器から一斉に行う)送信元ごとの通信量の制限、大量の通信を吸収・分散できる設備やサービスの利用

DNSの仕組みはドメイン名とDNS、攻撃に使われる不正なプログラムの種類はサイバー犯罪とマルウェアで確認できます。表のうち、パスワードを狙う三つの攻撃は取り違えやすい組です。「IDを固定してパスワードを変える」「パスワードを固定してIDを変える」「漏れた組をそのまま使う」と、何を固定しているかで区別します。

科目Bのセキュリティ問題の読み方

2023年4月からの基本情報技術者試験では、科目Bは20問で、そのうち16問がアルゴリズムとプログラミング、4問が情報セキュリティです。問数で見ると情報セキュリティは2割で、残りの8割はアルゴリズムとプログラミングです(IPAの試験要綱による)。

IPAは、2027年度から新しい試験制度を始める予定を公表しており、基本情報技術者試験のシラバス案も2026年9月に掲載されました。この記事は2026年度時点の制度で書いています。受験する回の出題範囲と出題数は、IPAの基本情報技術者試験のページと新試験制度のシラバス案のページで確認してください。

科目Bの情報セキュリティの問題は、用語の定義を直接聞く形ではありません。ある組織で起きた出来事や、検討中の運用ルールが文章で示され、状況に合う対策や、記述の誤りを選びます。前の節の対応表は、次の順に使います。

  1. 事例の中で、何が起きたか(起きそうか)を一文で言い直し、表の「手口」の列のどれに当たるかを決めます。
  2. 守りたいものが機密性・完全性・可用性のどれかを確かめます。漏えいなのか、書き換えなのか、使えなくなるのかで、有効な対策が変わります。
  3. 選択肢の対策が、その手口を直接防ぐかを見ます。たとえば、アカウントロックではリバースブルートフォース攻撃を防ぎにくく、WAFだけではSQLインジェクションの根本対策になりません。「対策としては正しいが、この事例の問題は防げない」選択肢を外します。
  4. 事例の条件(誰が、どの端末で、どこから接続して)を、対策が前提にしている条件と照らし合わせます。社外から接続する話なのに社内LANの設定を変える選択肢は、条件に合いません。

科目Aで用語を覚えるときに、「何を防ぐか」と一緒に「何は防げないか」も一言添えておくと、科目Bの選択肢を外す根拠になります。

科目Bの残りの16問は、擬似言語で書かれたプログラムを読む問題です。トレース表の書き方と頻出の型は基本情報 科目Bのアルゴリズムで練習できます。

確認問題

この記事の内容から作ったオリジナルの問題です。選択肢を選ぶと、その場で正誤と解説が出ます。最初に選んだ答えで採点し、最後に正答数を表示します。

  1. 問1SHA-256のハッシュ値を16進数で書くと、何桁になるか。

    答えと解説を見る

    答え:64桁。256ビットで、16進数の1桁は4ビットを表すので、256÷4=64桁です。

  2. 問2ハッシュ値だけが分かっているとき、そのハッシュ値になる入力を見つけるのが難しいという性質はどれか。

    答えと解説を見る

    答え:原像計算困難性。ハッシュ値から入力(原像)を求めにくい性質が原像計算困難性で、一方向性とも呼ばれます。第二原像計算困難性は「ある入力が与えられたとき、同じハッシュ値になる別の入力」を見つけにくい性質です。

  3. 問3AさんがBさんへ、内容をBさんだけが読めるように公開鍵暗号方式で暗号化して送る。Aさんが暗号化に使う鍵はどれか。

    答えと解説を見る

    答え:Bさんの公開鍵。復号できるのを、秘密鍵を持つBさんだけにしたいので、Bさんの公開鍵で暗号化します。Bさんの秘密鍵はBさんしか持っていないので、Aさんは使えません。

  4. 問4デジタル署名で、送信者が署名を作るのに使う鍵と、受信者が署名を検証するのに使う鍵の組み合わせはどれか。

    答えと解説を見る

    答え:作成:送信者の秘密鍵、検証:送信者の公開鍵。署名は本人にしかできない操作にしたいので、本人だけが持つ秘密鍵で作ります。検証は誰でもできるように、対応する公開鍵で行います。

  5. 問550人の間で、どの2人の組も他の人に読まれずに通信したい。共通鍵暗号方式で必要な鍵の数はいくつか。

    答えと解説を見る

    答え:1,225個。2人の組ごとに1個の鍵が必要なので、50×49÷2=1,225個です。公開鍵暗号方式なら1人につき公開鍵と秘密鍵の2個で、100個になります。

  6. 問6パスワードをハッシュ値で保存するとき、利用者ごとに異なるソルトを加える主な目的はどれか。

    答えと解説を見る

    答え:同じパスワードでも利用者ごとに異なるハッシュ値になり、事前に計算した表で一度に調べられないようにする。ソルトが違えば、同じパスワードからも違うハッシュ値ができます。そのため、よく使われるパスワードとハッシュ値の対応表(レインボーテーブルなど)を前もって作っておく攻撃が通用しにくくなります。

  7. 問7HMAC(ハッシュ関数と共通鍵を組み合わせたメッセージ認証コード)だけでは実現できないものはどれか。

    答えと解説を見る

    答え:送信者が「送っていない」と言い逃れできないようにすること。HMACの鍵は送信者と受信者の両方が持っているので、受信者にも同じ値が作れます。第三者に対して「送信者が作った」と証明できず、否認防止にはなりません。否認防止にはデジタル署名を使います。

  8. 問8WAFを導入したところ、正規の利用者の問合せがSQLインジェクションと判定されて遮断された。この状態を表す用語はどれか。

    答えと解説を見る

    答え:フォールスポジティブ。攻撃ではないものを攻撃と判定するのが誤検知(フォールスポジティブ)です。攻撃を見逃すのはフォールスネガティブです。

  9. 問9Webアプリケーションのフォームに、推測できないトークンを埋め込み、送信されたトークンをサーバ側で照合する。この対策が主に防ぐ攻撃はどれか。

    答えと解説を見る

    答え:CSRF。CSRFは、利用者がログインしたまま罠のページを開いたとき、利用者の意図しないリクエストを送らせる攻撃です。罠のページはトークンの値を知らないので、照合で正規の画面からの送信かを見分けられます。

  10. 問101つのよく使われるパスワードを、多数の利用者IDに対して1回ずつ試す攻撃について、正しい説明はどれか。

    答えと解説を見る

    答え:リバースブルートフォース攻撃と呼ばれ、一定回数の失敗でアカウントをロックする対策だけでは防ぎにくい。IDごとの失敗回数は1回なので、「同じIDで何回か失敗したらロック」という規則に引っかかりません。多要素認証や、送信元ごとの試行回数の監視などを組み合わせます。