← 学習ガイド一覧STUDY GUIDE / 11

セキュリティ 守る対象と対策を対応させる

認証と認可、暗号と署名、主要なWeb脅威の対策を目的から選ぶ。

独自解説・独自図解公式重点分野

学習目標

「何を守るための仕組みか」を一言で説明してから選択肢を比べる。認証、認可、暗号化、改ざん検知、監査は相互に代替できない。セキュリティはSAの公式重点分野だが、個別技術の出題比率が固定されているわけではない。

認証と認可

認証は、主張する主体と認証情報の対応を確かめること。認可は、その主体に対象データや操作を許すか決めること。ログイン済みでも全レコードへのアクセスを認めてよいわけではない。各要求について主体・操作・対象をサーバ側で照合する。

多要素認証は知識、所持、生体など異なる種類の要素を組み合わせる。パスワードと暗証番号は両方とも知識要素なので、それだけでは多要素にならない。認証方式はフィッシング耐性なども別に評価する。NIST SP 800-63B-4

暗号・ハッシュ・署名の比較

仕組み主目的鍵・秘密注意点
共通鍵暗号データの秘匿共有する秘密鍵認証付き暗号など適切な方式・運用が必要
公開鍵暗号公開鍵で暗号化し対応する秘密鍵で復号など公開鍵と秘密鍵の組対応する公開鍵が誰のものか確認する
暗号学的ハッシュデータの要約・改変検出の部品通常は鍵なし値を単独で添付するだけでは攻撃者が両方交換できる
MAC共有秘密に基づく完全性・真正性確認共有秘密鍵検証できる側も生成できる
デジタル署名改変検知と署名鍵による生成の検証署名用秘密鍵と検証用公開鍵本文を秘密にする機能ではない
署名の生成と検証の独自概念図
署名の生成と検証の独自概念図(独自作成図)

署名は「秘密鍵で本文を暗号化すること」と一般化しない。署名アルゴリズムは方式固有で、RSA以外にもある。検証成功の意味は、対応する鍵でその内容の署名が作られたこと。鍵の所有者との結び付き、鍵の保護、失効状況なども重要である。NIST FIPS 186-5

脅威と対策の対応

脅威本質主な設計対策
SQLインジェクションデータがSQL構文として扱われるパラメータ化クエリ、必要箇所の許可リスト、最小権限
XSS信頼しない内容がブラウザでコードとして動く出力先文脈に応じたエンコード、安全なDOM操作、必要なHTMLの無害化
CSRF利用者の認証状態を悪用して意図しない要求を送るCSRFトークン、Origin等の確認、適切なSameSite設定を組み合わせる
オブジェクト単位の認可欠落IDを変更すると他人の対象を操作できるサーバ側で対象ごとのアクセス権を確認

OWASP SQLインジェクション対策、XSS対策、CSRF対策

判断例

「HTTPSにしたので注文SQLに入力文字列を連結してよい」は誤り。TLSは通信経路を保護するが、受け取った文字列の解釈を安全にはしない。値をSQL構造から分けるパラメータ化を使う。テーブル名等、値用パラメータでは扱えない動的構造は固定化や許可リストで制限する。

間違えやすい点と確認

  • パスワード保存には単なる高速ハッシュでなく、ソルトを用いる適切なパスワードハッシュ方式を使う。ソルトは秘密鍵ではない。
  • フロント画面でボタンを隠すだけでは認可にならない。APIへの直接要求を検証する。
  • デジタル署名を付ければ本文を読めなくなるか? → ならない。秘匿には別の暗号化が必要。
  • 監査ログがあれば不正を防止できるか? → ログは検知・追跡に役立つが、防止策の代替ではない。

出典と適用上の注意

全て独自説明・独自図。古い暗号方式や旧認証指針を問う過去問は、当時の正答根拠と現行運用の推奨を分ける。古い設問に登場したことを現在の採用理由にしない。