基本情報技術者試験 セキュリティ分野の頻出ポイント完全解説

情報セキュリティは近年の基本情報技術者試験で最も重視される分野の一つで、 科目A・科目Bの両方で多く出題されます。暗号技術や攻撃手法は一見難しそうですが、 「何を守るのか」「どんな仕組みか」をイメージで押さえれば確実に得点源にできます。 このページでは頻出テーマを整理して解説します。

1. 情報セキュリティの3要素(CIA)

情報セキュリティの基本は、次の3要素を守ることです。頭文字をとってCIAと呼ばれます。

近年はこれに真正性・責任追跡性・否認防止・信頼性を加えた「情報セキュリティの7要素」も問われます。

2. 共通鍵暗号と公開鍵暗号

暗号方式の2大分類は、試験で最頻出のテーマです。違いを表で整理します。

項目共通鍵暗号公開鍵暗号
暗号化と復号で同じ鍵公開鍵と秘密鍵のペア
速度高速低速
鍵配送課題あり(安全に渡しにくい)容易(公開鍵は配ってよい)
代表例AES, DESRSA, 楕円曲線暗号

実際のSSL/TLS通信では、両者の長所を組み合わせたハイブリッド方式が使われます。 まず公開鍵暗号で「共通鍵」を安全に共有し、その後の大量データのやり取りは高速な共通鍵暗号で行う、という流れです。

3. デジタル署名とハッシュ関数

デジタル署名は「誰が作ったか(真正性)」と「改ざんされていないか(完全性)」を保証する仕組みです。 送信者は自分の秘密鍵で署名し、受信者は送信者の公開鍵で検証します。 暗号化(受信者の公開鍵で暗号化)とは鍵の使い方が逆になる点に注意しましょう。

ハッシュ関数は、任意の長さのデータを固定長の値(ハッシュ値)に変換する一方向の関数です。 同じ入力からは必ず同じハッシュ値が得られ、わずかな変更でも全く異なる値になります。 元データに戻せない(不可逆)ため、パスワード保存や改ざん検知に使われます。代表例はSHA-256です。

4. 代表的な攻撃手法と対策

攻撃内容主な対策
SQLインジェクション不正なSQLを注入してDBを操作プレースホルダ(バインド機構)
クロスサイトスクリプティング(XSS)悪意あるスクリプトを埋め込む出力時のエスケープ処理
CSRF利用者になりすまし意図しない操作をさせるトークンによる正当性確認
ブルートフォース総当たりでパスワード解読アカウントロック、複雑なパスワード
フィッシング偽サイトで情報を盗むURL確認、多要素認証
DoS / DDoS大量アクセスでサービス停止トラフィック制限、WAF

特にSQLインジェクション対策=プレースホルダXSS対策=エスケープの対応は頻出です。 攻撃名と対策をセットで覚えるのが効率的です。

5. 例題で確認

問. デジタル署名において、送信者が署名に使用する鍵はどれか。
答え: 送信者の秘密鍵。受信者は送信者の公開鍵で検証します。「署名=秘密鍵、検証=公開鍵」と覚えましょう。
問. SQLインジェクションの最も有効な対策はどれか。
答え: プレースホルダ(バインド機構)を使用する。入力値をSQL文の構造と分離することで注入を防ぎます。
問. 一方向性を持ち、元データに復元できないため改ざん検知に使われる技術はどれか。
答え: ハッシュ関数。SHA-256などが代表例です。
🔒 セキュリティ要塞で実戦練習しよう!
⚔️ IT王国の勇者でセキュリティ問題に挑戦

よくある質問(FAQ)

Q. 暗号方式の違いが覚えられません。

A. 「共通鍵=速い・鍵配送が課題/公開鍵=遅い・鍵配送に強い」という対比で覚えると、応用問題にも対応できます。

Q. 攻撃手法が多すぎて混乱します。

A. 「攻撃名」と「対策」を必ずペアで覚えましょう。本サイトの「セキュリティ要塞」で繰り返し解くと自然に定着します。

Q. 暗号化と署名の鍵の使い分けが分かりません。

A. 暗号化は「受信者の公開鍵」、署名は「送信者の秘密鍵」を使います。目的(秘匿か証明か)で逆になると整理しましょう。