応用情報技術者試験 合格教科書|2026年度(令和8年度)対応
第 11 章|科目 A 直近 10 年 19 回で 190 問(1 回平均 10.0 問、全 23 中分類で最多。第 12 章と分担)/科目 B 問 1 必須(19 回すべて出題) 科目 B: 情報セキュリティ

情報セキュリティ 基礎 ― 脅威・攻撃手法・暗号・認証

攻撃の手口と暗号・認証の仕組みを図で理解する。科目 A 最多出題分野かつ科目 B 必須問 1 の基盤

この章で学ぶこと

セキュリティは科目 A の全 23 中分類で出題数が最大です。直近 10 年 19 回で 190 問、1 回あたり平均 10.0 問(最少 9 問・最多 11 問)が出ており、第 12 章と合わせて 10 問前後を取り切ることが目標になります。科目 B は 19 回すべてで問 1 に配置された必須解答問題で、本章の用語が事例文の中の「どの機器の、誰の行動か」として現れます。

情報セキュリティの 7 つの特性とリスクの構造

情報セキュリティとは、情報資産を機密性(Confidentiality)・完全性(Integrity)・可用性(Availability)の 3 点で守ることです。頭文字を取って CIA と呼びます。JIS Q 27000 はこの 3 つに加え、真正性・責任追跡性・否認防止・信頼性の 4 つを挙げています。試験ではこの 7 つの定義文がそのまま選択肢になるので、隣り合う特性との差を自分の言葉で言えるようにしておきます。

特性定義(何を確実にするか)失われた状態の例
機密性認可された者だけが情報にアクセスできる顧客名簿が外部に流出する
完全性情報が正確・完全で、改ざんされていないWeb ページの内容を書き換えられる
可用性認可された者が必要なときに利用できるDDoS 攻撃でサイトが応答しなくなる
真正性主体や情報が「本人・本物」であることが確実である他人になりすまして発注される
責任追跡性ある行為を、行った主体まで一意に追跡できる共用アカウント運用で誰の操作か特定できない
否認防止行為や事象が後から否定されないことを証明できる「その注文はしていない」と言われて反証できない
信頼性意図した動作と結果が一貫している同じ入力でも処理結果がばらつく
出題実績 JIS Q 27000 の特性は直近 10 年 19 回で 5 回出題されています(否認防止 2 回、可用性・機密性・「真正性と信頼性」の組合せが各 1 回)。誤答肢は隣接する特性の定義文で作られます。特に責任追跡性(誰がやったか追える)と否認防止(やっていないと言わせない)の入替えが定番です。

リスクは単独では存在しません。守るべき情報資産があり、そこに損害を与えうる脅威が働き、つけ込まれる弱点である脆弱性がそろってはじめて顕在化します。セキュリティ対策とは、この 3 つのどれかを小さくする行為だと考えると、対策の分類がそのまま頭に入ります。脅威は次の 3 つに分けて整理します。

脆弱性の側にもソフトウェアのバグやセキュリティホールだけでなく、規程や職務分掌が未整備であること、教育が徹底されていないこと(人的脆弱性)、内部統制の不備、情報システム部門が把握していない機器やクラウドを業務に使うシャドー IT が含まれます。1 つの対策に頼らず、入口・内部・出口に複数の防御を重ねる考え方を多層防御、企画・設計の段階からセキュリティやプライバシー保護を組み込む考え方をセキュリティバイデザイン・プライバシーバイデザインと呼びます。

脅威 ― マルウェアと攻撃者

マルウェアは「増殖するか」「宿主が要るか」「何を目的とするか」の 3 点で切り分けると、定義選択問題で迷いません。特にウイルス・ワーム・トロイの木馬の区別は繰り返し問われます。

種類振る舞い見分けるポイント
コンピュータウイルス他のプログラムやファイルに寄生して自分の複製を作る宿主が要る。単体では動かない
マクロウイルス文書ファイルのマクロ機能を悪用して感染する実行ファイルでなく文書経由
ワーム単体で自己増殖し、ネットワーク越しに広がる宿主が不要。感染拡大が速い
トロイの木馬正規のソフトを装って導入され、裏で不正動作をする自己増殖しない
ランサムウェアファイルを暗号化し、復号と引換えに金銭を要求する盗んだデータの公開も脅す手口を二重脅迫という
スパイウェア利用者の情報を収集して外部へ送信する目的は情報収集
キーロガーキーボード入力を記録して盗むパスワードやカード番号が狙い
ボット(RAT)C&C サーバからの指令で遠隔操作される多数を束ねたものがボットネット
ルートキット侵入の痕跡や自身の存在を隠蔽するツール群「隠す」ことが役目
バックドア正規の認証を迂回して侵入できる裏口再侵入のために作られる
ファイルレスマルウェアディスクにファイルを置かず、OS 標準機能とメモリ上だけで動くパターンマッチングで検出しにくい
ポリモーフィック型・メタモーフィック型感染のたびに自身のコードを変化させる定義ファイルによる検出をかわすステルス技術
エクスプロイトコード・エクスプロイトキット脆弱性を突く実証コードと、その悪用を自動化する道具攻撃の「弾」であってマルウェア本体ではない

ボットは 1 台でも厄介ですが、脅威の本体は多数のボットを束ねたボットネットです。攻撃者(ボットハーダー)は感染端末に直接命令せず、C&C サーバ(Command and Control サーバ)を経由して指令を配ります。図 11-1 の破線が指令と攻撃の流れです。感染側の通信は「外向きの見慣れない宛先への定期的な接続」として現れるので、ファイアウォールや URL フィルタリングで C&C 通信を遮断できれば、感染しても被害の進行を止められます。

攻撃者 指令 C&C サーバ (指令サーバ) ボットネット ボット PC ボット PC ボット PC 大量の要求 標的サーバ (DDoS)
図 11-1 ボットネットによる DDoS 攻撃。攻撃者は C&C サーバ越しに指令を出すので、標的から見える送信元は無関係な第三者の端末(踏み台)です。防御側は「感染端末から C&C への外向き通信」を止められるかが分かれ目になります。

攻撃者は一枚岩ではありません。既製のツールを使うだけのスクリプトキディ、ボットネットを操るボットハーダー、政治的主張のために攻撃するハクティビズム、社会機能の破壊を狙うサイバーテロリズム、そして権限を持つ内部犯がいます。動機の側から分けると、腕試しや目立ちたさで行う愉快犯、金銭をだまし取る詐欺犯、違法と分かったうえで行う故意犯になります。設計の段階で「どこがどう狙われるか」を洗い出し、対策の優先順位を決める作業を脅威モデリングと呼びます。金銭目的の攻撃はサービス化が進み、ランサムウェアを道具として貸し出す RaaS(Ransomware as a Service)や、盗んだデータを公開するリークサイト、匿名で売買が行われるダークウェブが背景にあります。

内部不正は、不正のトライアングル(機会・動機・正当化)の 3 条件がそろったときに起きるとされます。技術的対策で「機会」を減らすだけでなく、ログを取得していることの周知や処遇の改善で「動機」「正当化」を断つ発想が、科目 B の理由記述で問われます。「機会」を環境の側から取り除く考え方には、犯行が成立しにくい状況をあらかじめ作る状況的犯罪予防、小さな乱れを放置すると重大な不正を招くとする割れ窓理論、建物や設備の設計段階から犯罪を起こしにくくする防犯環境設計があります。

攻撃手法(1)パスワードと Web アプリケーション

シラバスの「攻撃手法」は科目 A で直近 10 年 33 問と、中分類 11 の中で最も厚い小分類です。攻撃名を丸暗記するのではなく、手口 → 直接起きること → 効く対策の 3 点セットで覚えると、定義選択でも対策選択でも同じ知識が使えます。まずパスワードを狙う攻撃から見ます。

攻撃手口効く対策/効かない対策
辞書攻撃よく使われる単語のリストを 1 つの ID に順に試す試行回数制限が効く。単語をそのまま使わせない
総当たり(ブルートフォース)攻撃文字の全組合せを 1 つの ID に順に試す試行回数制限と桁数・文字種の拡大が効く
リバースブルートフォース攻撃パスワードを 1 つ固定し、ID の側を次々に変えて試す試行回数制限(アカウントロック)が効かない。1 つの ID には 1 回しか試さないため
パスワードリスト攻撃(クレデンシャルスタッフィング)他サイトから漏えいした ID とパスワードの組をそのまま試すパスワードの使い回しをやめる、多要素認証。桁数を増やしても効かない
レインボーテーブル攻撃平文とハッシュ値をつないだチェーンの表を用意し、盗んだハッシュ値から元のパスワードを逆引きするソルト(利用者ごとに異なる値を混ぜてハッシュ化)で表が使えなくなる

図 11-2 は、横軸にパスワード候補・縦軸に利用者 ID を取った「組合せの平面」の上で、3 つの攻撃がどの向きに探索するかを示したものです。アカウントロックは「同じ ID への連続失敗」を数える仕組みなので、横に走る攻撃には効き、縦に走る攻撃には効かない、と平面で見ると一目で分かります。

パスワード候補 → 利用者 ID ↓ ① ② ③ ① 総当たり・辞書 → ロックアウトが有効 ② リバースブルート → ロックアウトは無効 ③ パスワードリスト → 使い回しを突く
図 11-2 パスワード攻撃の探索の向き。①は 1 つの ID に多数のパスワードを試す横方向、②は 1 つのパスワードで多数の ID を試す縦方向、③は他所で漏えいした実在の組合せ(□)だけを狙い撃ちします。

計算の型: パスワードの総組合せ数

総組合せ数 = Mn(M: 使用できる文字の種類数、n: パスワードの桁数)

例題 英小文字 26 種と数字 10 種を使える 6 桁のパスワードは何通りか。また 8 桁にすると何倍になるか。

  1. 文字種を数える: 26 + 10 = 36 種。桁数は 6 なので M = 36、n = 6
  2. 総数を求める: 366 = 2,176,782,336(約 2.2 × 109)通り
  3. 桁を 2 桁増やしたときの比を取る: 368 ÷ 366 = 362 = 1,296 倍

答え 約 2.2 × 109 通り。8 桁にすると 1,296 倍になる。桁数は指数、文字種は底に効くので、1 桁増やす効果のほうが文字種を少し増やすより大きいのがこの型の要点です。科目 B でも「文字種桁数」の形で 1 度だけ計算が出ています(指数のまま答えてよい形式)。

次に Web アプリケーションへの攻撃です。入力値が「データ」ではなく「命令」として解釈されてしまうのがインジェクション系、ブラウザに他人の意図した動作をさせるのがクロスサイト系、と大きく 2 つに分けて覚えます。

攻撃直接起きること代表的な対策
クロスサイトスクリプティング(XSS)罠から送り込まれた文字列がページに出力され、閲覧者のブラウザでスクリプトが実行される出力時のエスケープ処理
クロスサイトリクエストフォージェリ(CSRF)ログイン済みの利用者に、本人の意図しない更新要求を送信させる推測不能なトークンを画面に埋め込み照合する、重要操作の再認証
クリックジャッキング透明にした別サイトの画面を重ね、意図しないボタンを押させる他サイトのフレーム内への表示を禁止する
SQL インジェクション入力値が SQL 文の一部として解釈され、データベースを不正に読み書きされるプレースホルダ(バインド機構)を使う
OS コマンドインジェクション入力値が OS のコマンドとして実行されるシェル呼出しを避け、入力値を検証する
ディレクトリトラバーサル相対パス表記でファイル名を細工され、公開範囲外のファイルを読み出されるファイル名を外部から直接受け取らない、パス名を正規化する
バッファオーバーフロー想定を超える長さの入力でメモリ領域を溢れさせ、任意のコードを実行される境界チェック、安全な関数の使用
オープンリダイレクトの悪用遷移先 URL を外部から指定でき、正規サイト経由で偽サイトへ飛ばされる遷移先を許可リストで限定する
セッションハイジャックセッション ID を推測・盗聴・固定化され、他人になりすまされる乱数性の高い ID、通信の暗号化、ログイン後の ID 再発行
ドライブバイダウンロードサイトを閲覧しただけでマルウェアが自動的にダウンロード・実行されるOS・ブラウザ・プラグインの更新、URL フィルタリング
覚え方 XSS と CSRF は名前が似ていますが、被害の出る場所が違います。XSS は「閲覧者のブラウザ上でスクリプトが動く」、CSRF は「Web サーバ側で本人名義の処理が実行される」。攻撃の結果どちらが書き換わるかで判別できます。

攻撃手法(2)ネットワークと人を狙う攻撃

ネットワーク層の攻撃は「詐称するもの」で整理できます。IP アドレスを詐称するのが IP スプーフィング、MAC アドレスを詐称するのが ARP スプーフィング、名前解決の結果を詐称するのが DNS キャッシュポイズニングです。

攻撃直接起きること要点
DoS 攻撃大量の要求や不正なパケットでサービスが応答できなくなる可用性への攻撃
DDoS 攻撃多数の踏み台から一斉に DoS を仕掛けられる送信元が分散するため遮断が難しい
リフレクション(反射)攻撃送信元 IP を標的に詐称して公開サーバへ問い合わせ、その応答が標的に集中する応答が問合せより大きいと増幅される。オープンリゾルバの悪用が典型
DNS キャッシュポイズニングキャッシュ DNS サーバが偽の名前解決情報を覚え、利用者が偽の Web サーバへ誘導される直接起きるのは誘導であって、情報の詐取や改ざんは二次被害
ARP スプーフィング偽の ARP 応答で MAC アドレスを詐称し、同一 LAN 内の通信を横取りされるルータを越えない、LAN 内限定の攻撃
中間者(Man-in-the-middle)攻撃通信経路に割り込まれ、盗聴・改ざんされる相手の正当性を証明書で確認して防ぐ
MITB(Man-in-the-browser)攻撃ブラウザに潜んだマルウェアが送信直前の内容を書き換える経路を暗号化しても防げない(暗号化の内側で書き換わる)
IP スプーフィング送信元 IP アドレスを詐称され、送信元による識別が破られるリフレクション攻撃の前提技術
リプレイ攻撃盗み取った認証データをそのまま再送されて認証を通される使い捨ての乱数(チャレンジ)で防ぐ
第三者中継(オープンリレー)設定不備のメールサーバが迷惑メールの中継に使われる自組織が加害者側になる
クリプトジャッキング他人の機器の計算資源を無断で暗号資産の採掘に使われる資源の枯渇として現れる

DNS キャッシュポイズニングは中分類 11 の中で最多クラスの 6 回出題(攻撃そのものが 4 回、対策が 2 回)です。図 11-3 のように、キャッシュ DNS サーバが本物の権威 DNS サーバの応答を待っている隙に、攻撃者が正規の応答より早く偽の応答を届けるのが手口です。キャッシュは偽の IP アドレスを一定期間覚えてしまうので、その間に問い合わせた利用者全員が偽サイトへ誘導されます。

利用者 PC キャッシュ DNS サーバ 攻撃者 権威 DNS サーバ ① 攻撃対象の名前を問い合わせる ② 権威サーバへ問合せ ③ 偽の応答を先に返す (正規の応答より速く) ④ 利用者の問合せに偽 IP を返す 偽サイトへ誘導
図 11-3 DNS キャッシュポイズニング。①〜③は攻撃者とキャッシュサーバの間で完結し、④で被害が一般の利用者に及びます。対策は「再帰的な問合せを内部からだけに限定する」「問合せ ID と送信元ポート番号をランダム化する」「DNSSEC で応答に付いた署名を検証する」の 3 段階です。

人をだます攻撃も出題されます。標的の組織向けに文面を作り込んだメールを送る標的型攻撃、その中でも長期間潜伏して継続的に侵害する APT(Advanced Persistent Threat)、標的がよく見るサイトを改ざんして待ち伏せる水飲み場型攻撃、業務のやり取りを装って複数回メールを交わしてから添付ファイルを送るやり取り型攻撃、取引先や経営者になりすまして送金させるビジネスメール詐欺(BEC)、偽サイトへ誘導して認証情報を入力させるフィッシング(SMS を使うものはスミッシング)が代表格です。検索結果の上位に悪意のあるサイトを表示させる SEO ポイズニング、取引先や委託先、ソフトウェアの配布経路を踏み台にするサプライチェーン攻撃も近年の題材になっています。技術を使わず、電話や訪問で情報を聞き出したり、肩越しに画面をのぞき見たり(ショルダーハッキング)、廃棄書類をあさったりする手口を総称してソーシャルエンジニアリングと呼びます。

出題実績 サイドチャネル攻撃は直近 10 年で 4 回(令和 4 年秋・令和 5 年秋・令和 7 年春・令和 7 年秋)出題され、近年も増えています。暗号アルゴリズムそのものを解くのではなく、機器の処理時間・消費電力・電磁波・音といった物理量を外から観測して鍵を推定する攻撃です。タイミング攻撃、電力解析攻撃、電磁波を測るテンペスト攻撃、機器に探針を当てるプローブ攻撃が含まれます。防ぐ側の用語は耐タンパ性(解析されると回路や情報が壊れる作り込み)で、こちらも 6 回出題されています(第 12 章)。

修正プログラムが提供される前の脆弱性を突く攻撃をゼロデイ攻撃といいます。定義ファイルの更新やパッチ適用では防げないため、振る舞い検知や、機能の一時停止・回避策といった暫定対応が問われます。また、AI を悪用した攻撃も用語例に加わりました。実在の人物の映像や音声を偽造するディープフェイク、AI モデルが誤認識するよう細工した入力を与える敵対的サンプル、生成 AI に不正な指示を紛れ込ませて本来の制約を外させるプロンプトインジェクションを押さえておきます。

攻撃の段階と脆弱性情報

標的型攻撃は 1 回のメールで完結しません。攻撃者の行動を時系列で 7 段階に分けたモデルがサイバーキルチェーンで、科目 A では「偵察の段階に当たるのはどれか」「エクスプロイトの段階はどれか」という形で問われます。図 11-4 の並びと、各段階で攻撃者が何をするかをセットで覚えます。

攻撃者の 7 段階(サイバーキルチェーン) ① 偵察 公開情報の収集 ② 武器化 不正なファイルを用意 ③ 配送 メールや Web で送付 ④ 攻撃 脆弱性の悪用 ⑤ インストール マルウェアの常駐 ⑥ 遠隔操作 C&C サーバと通信 ⑦ 目的の実行 持出し・破壊・暗号化 前段で断つほど 被害は小さくなる
図 11-4 サイバーキルチェーン。①〜③は組織の外での準備、④以降が実際の侵害です。侵入前提の対策(EDR・SIEM)は⑤〜⑦を、入口対策(メールフィルタ・URL フィルタリング)は③を止めるもので、どの段階に効く対策かを問う出題があります。

①の偵察で使われるのが、公開情報から組織の構成を調べるフットプリンティングと、稼働中のサービスを探るポートスキャンです。こうした探索は、到達可能でありながら使われていない IP アドレス空間であるダークネットを観測することで、攻撃の傾向として外側から把握できます(直近 10 年で 2 回出題)。⑤〜⑦の段階では、侵入した 1 台を足がかりに社内の他の端末やサーバへ横方向に侵害を広げるラテラルムーブメントが行われます。攻撃者の戦術(何を狙うか)と技術(どうやるか)を体系化した知識ベースが MITRE ATT&CK で、キルチェーンより細かい粒度で攻撃の振る舞いを分類し、検知ルールの設計に使われます。

攻撃の材料になる脆弱性の情報は、共通の識別子と評価尺度で流通しています。名前が似ているので混同しないよう、「番号(CVE)・点数(CVSS)・種類(CWE)・国内ポータル(JVN)」と対応づけて覚えます。

略語正式名称役割
CVECommon Vulnerabilities and Exposures個別の脆弱性に一意の識別番号を付け、どの脆弱性の話かを共通の名前で指せるようにする
CVSSCommon Vulnerability Scoring System脆弱性の深刻度を数値で評価する。基本評価基準・現状評価基準・環境評価基準の 3 つで構成される
CWECommon Weakness Enumeration脆弱性の「種類」を分類する(バッファオーバーフロー、不適切な入力検証などの型)
JVNJapan Vulnerability Notes国内向けの脆弱性対策情報ポータル。JPCERT コーディネーションセンターと IPA が共同で運営する

暗号技術 ― 共通鍵・公開鍵・ハイブリッド

暗号方式は科目 A で直近 10 年 12 問(うち共通鍵暗号方式が 5 問、楕円曲線暗号が 2 問)と、暗号分野の中で最も出る小分類です。共通鍵暗号は暗号化と復号に同じ鍵を使い、公開鍵暗号は対になった 2 つの鍵を使います。この 1 行の差から、速度・鍵の数・課題のすべてが導けます。

観点共通鍵暗号方式公開鍵暗号方式
鍵暗号化と復号に同じ鍵を使う(秘密にする)公開鍵と秘密鍵の対を使う。片方で処理したものは他方でしか戻せない
代表的な方式AES、DES、3DES(DES は鍵長 56 ビットで危殆化)RSA、楕円曲線暗号(ECC)
安全性の根拠換字と転置を多段に繰り返す構造素因数分解(RSA)や離散対数問題(ECC)の計算量的な困難さ
処理速度速い。大量データの暗号化に向く遅い。本文の暗号化には使わないのが普通
n 人が相互に通信するときの鍵の総数n(n − 1) ÷ 2 個2n 個(1 人につき公開鍵と秘密鍵を 1 個ずつ)
主な課題鍵配送問題。相手に鍵を安全に渡す手段が別に要る受け取った公開鍵が本人のものかを保証する仕組み(PKI)が要る

鍵の総数は図 11-5 のように 4 人で描くと違いが見えます。共通鍵は「線の本数」、公開鍵は「人数 × 2」です。人数が増えたときの伸び方が二次関数と一次関数で違う点が、この計算問題の狙いどころです。

共通鍵暗号(n = 4) A B C D 全員が互いに 1 個ずつ共有 鍵は 4 × 3 ÷ 2 = 6 個 公開鍵暗号(n = 4) A B C D 公+秘 公+秘 公+秘 公+秘 各自が公開鍵と秘密鍵を 1 組 鍵は 4 × 2 = 8 個
図 11-5 鍵の数の比較。共通鍵は「全員をつなぐ線の本数」なので人数の 2 乗に近い勢いで増えますが、公開鍵は人数に比例するだけです。公開鍵暗号が鍵配送問題を解決したといわれる理由がここにあります。

計算の型: 必要な鍵の数

共通鍵暗号 … n(n − 1) ÷ 2 個 / 公開鍵暗号 … 2n 個(n は利用者の人数)

例題 100 人が互いに暗号通信をするとき、共通鍵暗号方式と公開鍵暗号方式で必要な鍵はそれぞれ何個か。

  1. 共通鍵は「相手ごとに 1 個」なので、組合せの数を数える: 100 × 99 ÷ 2 = 4,950 個
  2. 公開鍵は「人ごとに 2 個」なので、人数を 2 倍する: 100 × 2 = 200 個
  3. 単位に注意する。公開鍵側を「鍵ペアの数(100 組)」と答えさせる出題もあるため、問題文が個数を聞いているか組数を聞いているかを確認する

答え 共通鍵 4,950 個、公開鍵 200 個。公開鍵の鍵数(2n)は令和 6 年春の科目 A で計算問題として出題されており、この 10 年でセキュリティ分野に出た計算問題は本問とパスワード総数の 2 問だけです。

公開鍵暗号はどちらの鍵で処理し、どちらの鍵で戻すかで用途が変わります。ここを取り違えさせるのが定番の誤答肢です。

目的処理に使う鍵戻す(検証する)鍵
機密性を守る(暗号化)受信者の公開鍵受信者の秘密鍵
本人性を示す(デジタル署名)送信者の秘密鍵送信者の公開鍵
覚え方 秘密鍵は本人しか使えないという 1 点から両方が導けます。本人だけが読めるようにしたい(暗号化)なら受信者の秘密鍵で開く形にする=受信者の公開鍵で閉じる。本人しか作れないものを示したい(署名)なら送信者の秘密鍵で作る。

実際の通信では、この 2 方式を組み合わせたハイブリッド暗号を使います。本文は速い共通鍵暗号で暗号化し、その共通鍵(セッション鍵)だけを受信者の公開鍵で暗号化して一緒に送る、という組立てです(図 11-6)。TLS も S/MIME もこの構造です。ただし TLS 1.3 では鍵交換に (EC)DHE を用いており、共通鍵を公開鍵でそのまま暗号化する方式ではありません。

送信者 受信者 平文 共通鍵 ① 共通鍵で暗号化 ② 受信者の公開鍵で暗号化 暗号文 暗号化した 共通鍵 送信 ③ 秘密鍵で復号 暗号文 共通鍵 鍵を使う ④ 共通鍵で復号 平文 本文は高速な共通鍵で、鍵だけを公開鍵で運ぶ
図 11-6 ハイブリッド暗号。公開鍵暗号で暗号化するのは「共通鍵」だけで、本文は共通鍵暗号で処理します。「本文を公開鍵暗号で暗号化する」という選択肢は、処理負荷の点で誤りです。

ブロック暗号は平文を固定長のブロックに区切って処理します。区切ったブロックをどうつなぐかを決めるのが暗号利用モードです。

モード仕組み特徴
ECBブロックごとに独立して暗号化する同じ平文ブロックが同じ暗号文になり、パターンが見える。実用では使わない
CBC直前の暗号文ブロックと排他的論理和を取ってから暗号化する。先頭は初期化ベクトル(IV)を使う同じ平文でも異なる暗号文になる。暗号化は逐次処理
CTRカウンタ値を暗号化した列を作り、平文と排他的論理和を取るブロック間に依存がなく並列処理・ランダムアクセスができる
GCMCTR による暗号化に認証タグの生成を組み合わせる機密性と完全性を同時に得られる認証付き暗号。TLS で広く使われる

暗号の安全性は永続しません。計算機の性能向上や解読手法の進歩で、かつて安全だった方式や鍵長が実用的な時間で破られるようになることを危殆化といいます。DES(鍵長 56 ビット)はすでに危殆化し、AES への移行が済んでいます。国内では CRYPTREC が電子政府における調達で利用可能な暗号技術のリスト(CRYPTREC 暗号リスト)を公開しており、方式選定の根拠になります。暗号の強度は鍵長だけでなく乱数の質にも依存し、予測可能な擬似乱数で鍵や初期化ベクトルを作ると総当たり以前に破られます。

保存データの保護では、ディスク全体を暗号化するストレージ暗号化と、個々の文書を暗号化するファイル暗号化を使い分けます。機器を廃棄する際に、暗号化された媒体の鍵だけを破棄して復号不能にする手法を暗号化消去(CE)といい、物理破壊より短時間で確実に無害化できます。将来の脅威としては、量子計算機が現在の公開鍵暗号を破る可能性が指摘されており、量子計算機でも解けないとされる耐量子計算機暗号への移行と、量子力学の性質で盗聴を検知する量子鍵配送の研究が進んでいます。鍵を安全に共有する方式としては Diffie-Hellman 鍵共有があり、通信路上に鍵そのものを流さずに共通鍵を作れます。

残りの用語は、名前と役割を 1 行で結び付けておけば十分です。

用語役割
ストリーム暗号平文をビットまたはバイト単位で逐次暗号化する方式。固定長のまとまりで処理するブロック暗号と対になる分類
鍵管理・鍵の世代管理鍵の生成・配布・保管・更新・廃棄を統制すること。鍵を更新しても過去のデータを復号できるよう、世代を分けて保管する
秘密計算データを暗号化したまま計算し、中身を相手に明かさずに計算結果だけを得る技術
ゼロ知識証明秘密の値そのものを渡さずに、「その値を知っている」ことだけを相手に納得させる証明方法
ブロックチェーン取引記録のかたまりをハッシュ値で数珠つなぎにし、1 か所を改ざんすると以降すべての整合が崩れる構造。分散台帳として単一の管理者を置かずに運用する

ハッシュ関数・メッセージ認証・デジタル署名

ハッシュ関数は、任意の長さのデータから固定長の値(メッセージダイジェスト、ハッシュ値)を計算する関数です。暗号化と違って元に戻す操作が用意されていません。この「戻せない」性質を逆に利用して、改ざんの検知・パスワードの保存・デジタル署名の 3 つを実現します。試験で定義文が問われる性質は次の 3 つです。

代表的な方式は SHA-256 を含む SHA-2 系と SHA-3 です。MD5 と SHA-1 は衝突を現実的な計算量で作れることが示されて危殆化しており、改ざん検知や署名に使ってはいけません。ハッシュ値の長さは入力の長さに関係なく一定で、SHA-256 なら 1 文字のファイルでも 1 G バイトのファイルでも 256 ビットになります。ファイル配布時に公開されたハッシュ値と手元で計算した値を比べる、改ざん検知型の監視で正常時のハッシュ値と比較する、といった使い方はここから来ています。

ハッシュ関数だけでは「そのダイジェストを誰が作ったか」が分かりません。そこで共通鍵を混ぜてハッシュ値を計算し、鍵を持つ者だけが同じ値を再現できるようにしたものがメッセージ認証コード(MAC: Message Authentication Code)で、ハッシュ関数を用いる代表的な構成が HMAC です。MAC は完全性と送信元の真正性を同時に確認できますが、鍵を送信者と受信者が共有しているので受信者側でも同じ MAC を作れます。そのため「送信者が確かに送った」と第三者に対して示す否認防止には使えません。ここを埋めるのがデジタル署名です。

デジタル署名は、本文のダイジェストを送信者の秘密鍵(署名鍵)で変換した値です。受信者は送信者の公開鍵(検証鍵)で署名を戻し、自分で計算したダイジェストと一致するかを確かめます(図 11-7)。本文全体ではなくダイジェストに対して処理するのは、公開鍵暗号の処理が遅く、長い本文をそのまま扱うと実用にならないからです。

送信者が署名を作り、受信者が同じハッシュ値で検証する 文書 ① ハッシュ化 ダイジェスト ② 秘密鍵で暗号化 デジタル署名 ③ 文書と署名を送信 受信した文書 受信した署名 ④ ハッシュ化 ダイジェスト A ⑤ 公開鍵で復号 ダイジェスト B 比較 一致すれば 改ざんなし 署名が示すのは完全性・真正性・否認防止
図 11-7 デジタル署名の作成と検証。②で使うのは送信者の秘密鍵、⑤で使うのは送信者の公開鍵です。①と④で同じハッシュ関数を使うので、本文が 1 ビットでも変わればダイジェスト A と B は一致しません。

署名で分かるのは「本文が途中で変わっていないこと(完全性)」と「秘密鍵の持ち主が作ったこと(真正性・否認防止)」です。本文は暗号化されていないので、機密性は別に確保しなければなりません。3 つの技術の役割分担を整理します。

技術使う鍵保証できること
ハッシュ値の比較鍵を使わない完全性。ただしハッシュ値そのものが正しく届く前提が要る
MAC(HMAC)送信者と受信者が共有する共通鍵完全性 + 真正性。受信者も同じ値を作れるので否認防止は不可
デジタル署名作成は送信者の秘密鍵、検証は送信者の公開鍵完全性 + 真正性 + 否認防止。機密性は無い

署名を応用した技術も用語例に挙がっています。文書が「いつ」存在したかを第三者(時刻認証局)が保証するタイムスタンプ(時刻認証)、XML 文書の一部分だけに署名できる XML デジタル署名、配布するソフトウェアに開発元が署名して改ざんとなりすましを防ぐコードサイニングです。コードサイニングは令和 7 年秋の科目 A で証明書の側から出題されています。

出題実績 デジタル署名は認証技術の小分類(直近 10 年で 9 問)のうち 3 回出題されています。誤答肢の作り方は決まっていて、鍵の主体の取り違えです。令和 5 年春の科目 A では「署名の検証に使う鍵」が問われました(正解は送信者の公開鍵)。科目 B でも令和 5 年秋に S/MIME の 4 つの鍵(送信者の秘密鍵・公開鍵、受信者の秘密鍵・公開鍵)をどの手順で使うかが穴埋めで出ています。図 11-7 の①〜⑤を鍵の名前まで言えるようにしておきます。

PKI ― デジタル証明書と失効確認

公開鍵暗号もデジタル署名も、「その公開鍵が本当に相手のものである」という前提が崩れると成立しません。攻撃者が自分の公開鍵を相手の名前で配れば、中間者攻撃がそのまま通ります。この前提を社会的な仕組みで支えるのが PKI(Public Key Infrastructure: 公開鍵基盤)です。中心にいるのが認証局(CA: Certification Authority)で、申請者の実在を確認したうえで「この公開鍵はこの人のものです」という内容に CA 自身の秘密鍵で署名します。この署名付きのデータがデジタル証明書(公開鍵証明書)で、書式は X.509 が標準です。

証明書に入っている主な項目意味検証で使われ方
所有者(サブジェクト)証明書の持ち主。サーバ証明書ならサーバのドメイン名接続先のドメイン名と一致するかを照合する
所有者の公開鍵証明したい対象そのものこの鍵で以後の暗号化や署名検証を行う
シリアル番号発行元 CA の中で証明書を一意に指す番号失効リストに載るのはこの番号
有効期間いつからいつまで有効か期限切れは失効とは別の概念として扱う
発行者(CA 名)と CA の署名誰が保証したか発行者の公開鍵で署名を検証する

1 つの CA が世界中の証明書を直接発行しているわけではありません。最上位のルート CA が中間 CA の証明書に署名し、中間 CA が利用者の証明書に署名する、という連鎖(証明書チェーン)になっています。ルート CA の証明書は通常、自分自身の秘密鍵で署名した自己署名証明書で、これを検証する上位はありません。代わりに OS やブラウザにあらかじめ組み込まれたルート証明書を無条件に信頼する、という約束で連鎖を打ち止めにします。この起点をトラストアンカー(信頼の基点)と呼びます。

証明書チェーン。署名は左から右、検証は右から左 ルート CA 証明書 自己署名 中間 CA 証明書 ルート CA が署名 サーバ証明書 中間 CA が署名 ① 署名 ② 署名 ③ 中間 CA の公開鍵で検証 ④ ルート CA の公開鍵で検証 ルート証明書は OS やブラウザに事前に組み込まれている
図 11-8 証明書チェーン。ブラウザはサーバ証明書だけを見て信用するのではなく、③④のように上位へさかのぼり、あらかじめ信頼しているルート証明書に到達できて初めて有効と判断します。中間 CA 証明書がサーバから送られてこないと、この連鎖が切れて警告になります。

証明書は用途で名前が変わります。Web サーバの身元を示すサーバ証明書、利用者の端末や個人を示すクライアント証明書、配布するソフトウェアに開発元が署名するためのコードサイニング証明書です。サーバ証明書はさらに審査の深さで分かれ、ドメインの管理権だけを確認する DV、組織の実在を確認する OV、より厳格な審査で運営組織を確認する EV があります。DV と EV の違いは科目 B(令和 3 年春)で正答率が低かった論点で、「暗号の強度は変わらず、確認される組織の実在性の深さが違う」と押さえます。政府機関の認証基盤である GPKI(政府認証基盤)や、異なる PKI 同士を相互に信頼させるブリッジ認証局(BCA)も用語例に含まれます。

証明書は有効期間内でも無効にしなければならないことがあります。秘密鍵が漏えいした、記載内容が変わった、組織がなくなった、といった場合です。これが失効で、期間が過ぎただけの有効期限切れとは別物です。失効した証明書を検証側が知る手段は 2 つあります(図 11-9)。

CRL(証明書失効リスト) OCSP(オンライン失効確認) 認証局が失効リストを発行 定期的に配布 検証側が全件を取得 手元で照合 リスト内の番号と照合 更新間隔だけ情報が古い 検証側が 1 件だけ問合せ OCSP 要求 OCSP レスポンダが応答 good / revoked その時点の状態が分かる 常に最新だが可用性に依存
図 11-9 失効確認の 2 方式。CRL は「配られた名簿を手元で引く」、OCSP は「窓口に 1 件だけ電話で聞く」と考えると違いが整理できます。どちらも確認するのは有効期限内に失効させられた証明書かどうかで、期限切れの判定は証明書自体の有効期間を見れば済みます。
出題実績 PKI は直近 10 年で 10 問出ており、そのうち CRL が 3 回・OCSP が 3 回と、失効確認だけで 6 問を占めます。CRL は 3 回とも正解が「有効期限内に失効した証明書のシリアル番号のリスト」で、誤答肢は「有効期限が切れた証明書の一覧」「失効した証明書の秘密鍵の一覧」でした。OCSP は「失効しているかをリアルタイムに問い合わせるプロトコル」が正解で、誤答肢は CRL や CA そのものの説明です。

これらを実際に使っているのが TLS(Transport Layer Security)です。TLS は 1 つのプロトコルで、サーバ認証・鍵共有・暗号化・完全性の確認をまとめて行います。接続開始時のやり取り(ハンドシェイク)は次の順に進みます。

  1. クライアントが、対応できる暗号方式の一覧(暗号スイート)と乱数を送る
  2. サーバが、使う暗号方式を 1 つ選んで返し、あわせてサーバ証明書を送る
  3. クライアントが証明書を検証する。CA の公開鍵で署名を確かめ、有効期間・失効の有無・接続先ドメイン名との一致を見る
  4. 両者で鍵の材料を交換し、同じ共通鍵(セッション鍵)を作る
  5. 以降の通信は共通鍵暗号で暗号化し、MAC または認証付き暗号で完全性も守る

③でサーバの身元を確かめてから④で鍵を作るので、中間者攻撃を防げます。逆にいえば、証明書の警告を利用者が無視して先に進むと、この防御は成立しません。TLS 1.3 ではハンドシェイクの往復が短縮され、危殆化した暗号方式が仕様から削除されました。なお、旧称の SSL は既に使われていませんが、実務では「SSL/TLS」と併記されることがあります。

認証と認可 ― 利用者を確かめ、権限を与える

まず 2 つの言葉を分けます。認証は「相手が名乗っているとおりの本人か」を確かめることで、認可は「その相手に何をしてよいと認めるか」を与えることです。認証が済んでも認可の範囲は別に決まります。科目 B では、認証を強化する施策と権限を絞る施策を取り違えた解答が誤答例として挙がるので、この区別が土台になります。

認証の 3 要素とパスワードの保護

認証に使える材料は 3 種類しかありません。この 3 つのうち異なる種類を 2 つ以上組み合わせるのが多要素認証です。パスワードを 2 回入力させるように同じ種類を重ねても、段階が増えるだけの多段階認証であって多要素にはなりません。

要素例弱点
知識(記憶)パスワード、PIN コード、秘密の質問漏えい・推測・使い回しに弱い
所持(所有)IC カード、スマートフォン、セキュリティトークン紛失・盗難で第三者に渡る
生体指紋、静脈、虹彩、顔、声紋変更できない。誤りの確率がゼロにならない

知識による認証の中心はパスワードです。サーバ側にパスワードをそのまま保存すると、データベースが漏えいした時点で全員分が使われてしまいます。そこで次の 4 段階で守ります。

手法何をするか何を防ぐか
ハッシュ化パスワードそのものではなくハッシュ値を保存する漏えいしても平文がそのままは分からない
ソルト利用者ごとに異なる値を連結してからハッシュ化するレインボーテーブルの使い回し。同じパスワードの利用者が同じハッシュ値になること
ペッパーデータベースとは別の場所に置いた共通の秘密値を混ぜるデータベースだけが漏えいした場合の解析(秘密値が手に入らない)
ストレッチングハッシュ計算を数千〜数万回繰り返す1 件あたりの試行時間を延ばし、総当たり・辞書攻撃を割に合わなくする

運用側の対策が試行回数制限(アカウントロック)です。ただし図 11-2 で見たとおり、同じ ID に何度も試さないリバースブルートフォース攻撃やパスワードリスト攻撃には効きません。効く攻撃と効かない攻撃を対にして覚えます。

ワンタイムパスワードとリスクベース認証

盗聴されても再利用できないようにする発想がワンタイムパスワード(OTP)です。方式は 2 つあります。1 つは時刻同期方式で、トークンとサーバが同じ時刻と共有情報から一定間隔で同じ値を生成します。もう 1 つがチャレンジレスポンス認証で、手順は次のとおりです。

  1. 利用者が ID をサーバへ送る
  2. サーバが毎回異なる乱数(チャレンジ)を返す
  3. 利用者側でチャレンジとパスワード(のハッシュ値)から計算した値(レスポンス)を返す
  4. サーバも同じ計算をして、一致すれば本人と判断する

この方式ではパスワードそのものがネットワークを流れません。しかもチャレンジが毎回変わるので、通信を丸ごと記録して再送するリプレイ攻撃も通りません。「盗聴とリプレイの両方に効く」がこの方式の答え方です。

出題実績 認証技術の小分類(10 年で 9 問)の内訳はチャレンジレスポンス認証 3 回・リスクベース認証 3 回・デジタル署名 3 回で、この 3 つに集中しています。利用者認証の小分類(6 問)では SAML と EMV 3-D セキュアが各 2 回。一方、シラバスの用語例にある Kerberos 方式・FIDO・OAuth は、この 10 年の科目 A では出題が確認できていません。名前と役割を 1 行で押さえれば十分です。

リスクベース認証は、普段と違う場所・端末・時間帯からのアクセスを検知したときだけ追加の認証を求める方式です。通常時の利便性を落とさずに、なりすましの成功率を下げます。クレジットカードの本人認証である EMV 3-D セキュア(3D セキュア 2.0)も、取引の内容から危険度を判定して必要なときだけ追加認証を求める仕組みで、同じ考え方です。人ではなく機械による自動入力をふるい落とす仕掛けが CAPTCHA で、こちらは本人確認ではなく「人間かどうか」の判定である点に注意します。

所持による認証では、耐タンパ性を持つ IC カードと、それを本人が使っていることを示す PIN コードを組み合わせるのが基本形です。パスワードそのものをなくす方向の技術が FIDO で、端末側で生体認証を行う FIDO UAF、既存のパスワードに鍵を足す FIDO U2F、そして FIDO2 と WebAuthn の組合せがあります。パスワードレス認証(パスキー)では、秘密鍵を利用者の端末内に置き、サーバへは公開鍵だけを登録します。サーバ側にパスワードが存在しないので、漏えいしても使い回し被害が起きません。

生体認証と 2 つの誤り率

生体認証は、指紋・静脈・虹彩・顔・網膜といった身体的特徴と、声紋・署名(筆跡や筆圧)といった行動的特徴に分かれます。指紋認証で隆線の分岐点や端点の位置関係を特徴量として使う方式をマニューシャ方式といいます。生体認証は「合っている/いない」を割り切れないため、必ず 2 種類の誤りが残ります。

この 2 つは判定のしきい値を通じて一方を下げるともう一方が上がる関係にあります(図 11-10)。どちらを優先するかは用途で決まり、入退室管理のように安全性を優先する場面ではしきい値を厳しく(FAR を下げる)、大量の利用者をさばく場面では利便性側に寄せます。

誤り率 しきい値を緩める FRR(本人拒否率) FAR(他人受入率) 等誤り率(EER)
図 11-10 生体認証の 2 つの誤り率。しきい値を厳しくする(図の左へ動かす)と他人受入率は下がりますが、本人拒否率が上がります。両者が等しくなる交点が等誤り率で、装置の精度を 1 つの数値で比べるときに使われます。

シングルサインオンと認可の仕組み

利用するサービスが増えるほど、ID とパスワードの管理は破綻します。1 回の認証で複数のサービスを使えるようにする仕組みがシングルサインオン(SSO)で、認証を専門に担うサーバを IdP(Identity Provider)、それをクラウドサービスとして提供する形態を IDaaS と呼びます。関連する技術の役割は次のとおりです。

技術何をするものか混同しやすい点
SAMLXML 形式の認証情報(アサーション)を IdP からサービス側へ渡し、SSO を実現する企業向け SSO の標準。認証の連携が目的
OAuth 2.0認可の委譲。パスワードを渡さずに、アクセストークンで他のサービスへ限定した権限を与えるこれ自体は「誰であるか」を伝える仕組みではない
OpenID ConnectOAuth 2.0 を土台に ID トークンを加え、認証の結果も伝えられるようにしたものOAuth 2.0 との違いは認証を扱うかどうか
Kerberos 方式チケットを発行して認証を行う。共通鍵暗号を基礎とする社内ネットワークのドメイン認証で使われる

認証の先にある認可は、アクセス制御として実装します。誰が権限を決めるかで 3 つに分かれます。

方式権限を決める主体特徴
任意アクセス制御(DAC)情報の所有者所有者が自分の裁量で他人に許可を与えられる。柔軟だが統制しにくい
強制アクセス制御(MAC)システム(管理者が定めた規則)所有者でも規則を覆せない。機密区分を扱う用途に向く
ロールベースアクセス制御(RBAC)職務(ロール)の定義権限をロールに、ロールを人に割り当てる。異動時の付け替えが容易

どの方式でも指針は同じで、業務に必要な最小限の権限だけを与える最小権限の原則(need-to-know の原則)です。退職者のアカウントを残さない、共用アカウントを作らないといった運用が、責任追跡性の確保にもつながります。

ひっかけポイント

ここがひっかけ 「失効」と「有効期限切れ」は別物です。CRL に載るのは有効期限内なのに無効にされた証明書のシリアル番号(と失効日時)だけです。期限が過ぎた証明書は、証明書自体の有効期間を見れば分かるのでリストに載せる必要がありません。CRL は 3 回の出題すべてでこの点が正解の分かれ目になっており、誤答肢は「有効期限が切れた証明書の一覧」「失効した証明書の秘密鍵」で作られています。
ここがひっかけ 鍵の主体を必ず確認します。「暗号化は受信者の公開鍵」「署名は送信者の秘密鍵で作り、送信者の公開鍵で検証」「サーバ証明書の検証は発行元 CA の公開鍵」の 3 つは、選択肢が主体だけを入れ替えて作られます。問題文の「誰が」「何のために」を先に読み、機密性の話か本人性の話かを判定してから鍵を選びます。
ここがひっかけ 「直接起きる現象」と二次被害を分けます。DNS キャッシュポイズニングで直接起きるのは「利用者が偽の Web サーバへ誘導される」ことです。そこで入力した情報が盗まれるのは、誘導された後に起きる二次被害です。同じ形式の問いは他の攻撃でも出るので、「その攻撃が成立した瞬間に何が変わるのか」を 1 文で言えるようにしておきます。
ここがひっかけ 試行回数制限で防げない攻撃があります。アカウントロックは「同じ ID への連続失敗」を数える仕組みです。パスワードを固定して ID を変えるリバースブルートフォース攻撃や、漏えいした正しい組合せを 1 回だけ試すパスワードリスト攻撃では、1 つの ID あたりの失敗回数がしきい値に達しません。効く対策は前者が ID の推測を困難にすることと多要素認証、後者が使い回しの排除と多要素認証です。
ここがひっかけ 隣接する用語の入替えに注意します。番号を付ける CVE と点数を付ける CVSS、行為を追跡できる責任追跡性と否定させない否認防止、閲覧者側で動く XSS とサーバ側で処理される CSRF、本人を拒否する FRR と他人を受け入れる FAR。いずれも定義文が入れ替えられた形で誤答肢になります。またハッシュ化は暗号化ではありません。復号する手段がないので、「ハッシュ化して保存したパスワードを復号して照合する」という記述は誤りです。

理解度チェック(科目 A 形式)

Q1. JIS Q 27000 が定める特性のうち、ある操作を行った主体をその主体まで一意にたどれることを確実にするものはどれか。
  1. 可用性
  2. 責任追跡性
  3. 真正性
  4. 否認防止

正解: イ 責任追跡性は、ある行為を実行した主体まで一意に追跡できることを確実にする特性です。ア の可用性は認可された者が必要なときに利用できること、ウ の真正性は主体や情報が本物であることの確実さ、エ の否認防止は行為を後から否定されないことを証明できる特性で、追跡そのものを指すものではありません。責任追跡性と否認防止の入替えが最も多い誤答パターンです。

Q2. 共通鍵暗号方式に分類されるものはどれか。
  1. AES
  2. RSA
  3. SHA-256
  4. 楕円曲線暗号

正解: ア AES はブロック暗号で、暗号化と復号に同じ鍵を使う共通鍵暗号方式です。イ の RSA と エ の楕円曲線暗号は公開鍵と秘密鍵の対を使う公開鍵暗号方式です。ウ の SHA-256 はハッシュ関数で、そもそも復号する操作がないため暗号方式ではありません。

Q3. パスワードを 1 つ固定したまま、利用者 ID を次々に変えてログインを試みる攻撃はどれか。
  1. 辞書攻撃
  2. パスワードリスト攻撃
  3. リバースブルートフォース攻撃
  4. レインボーテーブル攻撃

正解: ウ 探索の向きが通常と逆で、1 つの ID には 1 回しか試さないため、ID ごとの失敗回数を数えるアカウントロックが働きません。ア の辞書攻撃は 1 つの ID に単語リストを順に試す攻撃、イ のパスワードリスト攻撃は他サイトから漏えいした ID とパスワードの組をそのまま試す攻撃、エ のレインボーテーブル攻撃は盗んだハッシュ値から元のパスワードを逆引きする手法で、ログイン試行を伴いません。

Q4. パスワードをハッシュ値で保存する際、利用者ごとに異なる値を連結してからハッシュ化する。この処理によって最も効果的に困難になる攻撃はどれか。
  1. SQL インジェクション
  2. セッションハイジャック
  3. パスワードリスト攻撃
  4. レインボーテーブル攻撃

正解: エ 利用者ごとに異なるソルトを混ぜると、あらかじめ用意したハッシュ値の表が使い回せなくなり、レインボーテーブル攻撃が成立しなくなります。ウ のパスワードリスト攻撃は正しい ID とパスワードの組をそのまま入力するため、保存側のソルトの有無に関係なく成立します。ア は入力値が SQL 文として解釈される問題、イ はセッション ID の管理の問題で、いずれもパスワードの保存方法とは別の対策が必要です。

Q5. ログイン済みの利用者のブラウザから、利用者が意図しない更新処理の要求を対象サイトへ送信させる攻撃はどれか。
  1. クリックジャッキング
  2. クロスサイトスクリプティング
  3. クロスサイトリクエストフォージェリ
  4. ディレクトリトラバーサル

正解: ウ 罠サイトを読み込ませるだけで、ログイン済みの資格情報が付いた更新要求が対象サイトへ送られ、サーバ側で本人名義の処理が実行されます。対策は推測不能なトークンの照合です。ア のクリックジャッキングは透明化した画面を重ねてクリックさせる手口、イ のクロスサイトスクリプティングは閲覧者のブラウザ上でスクリプトを実行させる攻撃、エ のディレクトリトラバーサルは公開範囲外のファイルを読み出させる攻撃です。

Q6. DNS キャッシュポイズニング攻撃が成功したときに、直接起こる現象はどれか。
  1. 権威 DNS サーバのゾーン情報が書き換えられる
  2. 利用者が意図したものとは異なる Web サーバへ誘導される
  3. 組織内部の利用者情報が攻撃者へ送信される
  4. DNS サーバが大量の問合せで応答できなくなる

正解: イ キャッシュ DNS サーバが偽の名前解決情報を保持するため、その名前を問い合わせた利用者が偽のサーバへ誘導されます。ウ の情報の詐取は誘導された先で起きる二次被害です。ア は権威サーバ自体への侵入やゾーン転送の悪用による別の事象、エ は DoS 攻撃の結果です。

Q7. 暗号処理中の機器の消費電力を測定し、その統計処理によって暗号鍵を推定する攻撃はどれか。
  1. 電力解析攻撃
  2. ゼロデイ攻撃
  3. バージョンロールバック攻撃
  4. リプレイ攻撃

正解: ア 電力解析攻撃はサイドチャネル攻撃の一種で、アルゴリズムを数学的に解くのではなく、処理に伴う物理量を外から観測して鍵を推定します。対策は耐タンパ性を持たせることです。イ は修正プログラム提供前の脆弱性を突く攻撃、ウ は古い脆弱な版の使用を強いる攻撃、エ は盗み取った認証データを再送する攻撃です。

Q8. サイバーキルチェーンの段階のうち、標的の脆弱性を突いて不正なコードを実行させる段階はどれか。
  1. 偵察
  2. 武器化
  3. 配送
  4. 攻撃(エクスプロイト)

正解: エ 脆弱性の悪用が起きるのは第 4 段階の攻撃(エクスプロイト)です。ア の偵察は公開情報などから標的を調べる段階、イ の武器化は不正なファイルを用意する段階、ウ の配送はメールや Web でそれを送り込む段階で、いずれも実行前の準備に当たります。段階の名前と、そこに効く対策(配送にはメールフィルタ、以降には EDR など)を対応させて覚えます。

Q9. 20 人が互いに暗号通信を行うとき、共通鍵暗号方式で必要な鍵の総数と、公開鍵暗号方式で必要な鍵の総数の組合せはどれか。
  1. 190 と 40
  2. 190 と 20
  3. 380 と 40
  4. 400 と 40

正解: ア 共通鍵は相手の組合せごとに 1 個必要なので 20 × 19 ÷ 2 = 190 個、公開鍵は 1 人につき公開鍵と秘密鍵を 1 個ずつなので 20 × 2 = 40 個です。イ は公開鍵を人数と同じ 20 個と数えた誤り、ウ は共通鍵を n(n − 1) のまま 2 で割らなかった誤り、エ は n2 と数えた誤りです。

Q10. A が B へ送る電子メールにデジタル署名を付けた。B が署名を検証するために使う鍵はどれか。
  1. A の公開鍵
  2. A の秘密鍵
  3. B の公開鍵
  4. B の秘密鍵

正解: ア 署名は送信者 A の秘密鍵で作られるので、対になる A の公開鍵でしか戻せません。戻した値が本文のハッシュ値と一致すれば、A が作ったことと改ざんがないことが分かります。イ の A の秘密鍵は A 本人しか持たないため検証には使えません。ウ・エ の B の鍵は、B に宛てて機密性を確保する(暗号化する)ときに使う鍵で、署名の検証には無関係です。

Q11. メッセージ認証コード(MAC)では実現できず、デジタル署名で実現できることはどれか。
  1. 通信内容の機密性の確保
  2. 通信途中での改ざんの検知
  3. 送信者が送信した事実の第三者に対する証明
  4. 大量データの高速な暗号化

正解: ウ MAC は送信者と受信者が同じ共通鍵を持つため、受信者も同じ値を作れます。したがって送信者が送ったことを第三者に示す否認防止には使えません。デジタル署名は送信者の秘密鍵でしか作れないので、これが可能です。イ の改ざん検知は MAC でも実現できます。ア の機密性は署名では得られず、エ は共通鍵暗号の役割です。

Q12. CRL(証明書失効リスト)に登録されるものはどれか。
  1. 有効期限が満了した証明書のシリアル番号
  2. 有効期限内に失効させられた証明書のシリアル番号
  3. 失効した証明書に対応する秘密鍵
  4. 認証局が発行したすべての証明書の公開鍵

正解: イ 秘密鍵の漏えいなどによって有効期限前に無効とされた証明書を、シリアル番号で列挙するのが CRL です。ア の期限満了は証明書自身の有効期間を見れば判定できるので載せません。ウ は秘密鍵を公開することになり成り立ちません。エ は失効リストではなくリポジトリの役割です。

Q13. OCSP を利用する目的はどれか。
  1. 認証局の秘密鍵を安全に保管する
  2. 証明書に記載された組織の実在性を審査する
  3. 電子文書がある時刻に存在したことを証明する
  4. 証明書が失効していないかをオンラインで問い合わせる

正解: エ OCSP は検証したい証明書について 1 件ずつレスポンダへ問い合わせ、その時点の失効状態を得るプロトコルです。ア は鍵管理や耐タンパ性のある装置の役割、イ は証明書発行時の審査(DV・OV・EV の違い)の話、ウ はタイムスタンプ(時刻認証)の役割です。

Q14. 生体認証装置で判定のしきい値を厳しく設定したときに起こることはどれか。
  1. 他人受入率と本人拒否率がともに下がる
  2. 他人受入率が下がり、本人拒否率が上がる
  3. 他人受入率が上がり、本人拒否率が下がる
  4. 他人受入率と本人拒否率がともに上がる

正解: イ しきい値を厳しくすると他人を受け入れにくくなる一方で、本人であっても条件を満たさず拒否される場合が増えます。両者は一方を下げると他方が上がる関係にあり、ア・エ のように同じ方向へ動くことはありません。ウ は緩めたときの動きで、向きが逆です。両者が等しくなる点を等誤り率(EER)と呼びます。

まとめ

この章の論点は、対比と主体で整理すると科目 A の選択肢がそのまま裁けます。

テーマ覚える形作られる誤答
JIS Q 27000 の 7 特性責任追跡性 = 誰がやったか追える/否認防止 = やっていないと言わせない隣接する特性の定義文を入れ替える
パスワード攻撃と対策ロックアウトは同じ ID への連続失敗に効く。ID を変える攻撃には効かない「試行回数制限で全部防げる」
ソルト・ペッパー・ストレッチングソルト = 表の使い回しを封じる/ストレッチング = 1 件の試行を遅くするソルトでパスワードリスト攻撃も防げるとする
Web 攻撃の被害の場所XSS = 閲覧者のブラウザ/CSRF = サーバ側で本人名義の処理2 つの名前と被害を入れ替える
DNS キャッシュポイズニング直接起きるのは偽サーバへの誘導情報の詐取(二次被害)を直接の現象とする
鍵の数共通鍵 n(n − 1) ÷ 2 個/公開鍵 2n 個公開鍵を n 個、共通鍵を n(n − 1) 個と数える
公開鍵の使い分け暗号化 = 受信者の公開鍵/署名 = 送信者の秘密鍵で作り公開鍵で検証鍵の持ち主(主体)を入れ替える
ハイブリッド暗号本文は共通鍵暗号、共通鍵だけを公開鍵暗号で運ぶ本文を公開鍵暗号で暗号化するとする
ハッシュ・MAC・署名署名だけが否認防止まで満たす。署名に機密性は無いMAC を署名と同一視する/ハッシュを暗号化と呼ぶ
証明書チェーンルート証明書は自己署名で、事前組込みが信頼の基点サーバ証明書 1 枚だけで信頼が決まるとする
CRL と OCSPどちらも有効期限内の失効を確認。CRL = 一覧を取得/OCSP = 都度問合せ有効期限切れの一覧とする
認証の要素と誤り率多要素 = 異なる種類を 2 つ以上/しきい値を厳しく = FAR 下がり FRR 上がるパスワード 2 回を多要素とする/両方の誤り率が下がるとする

ここまでが攻撃側の手口と、暗号・認証という守り方の部品です。第 12 章では、これらの部品を組織としてどう運用するか(ISMS とリスクマネジメント)と、ネットワーク上のどこに何を置くか(FW・IDS/IPS・WAF・VPN・ゼロトラスト)を扱い、セキュリティ分野の残り半分を埋めます。