基本情報技術者試験のセキュリティ入門|暗号化・認証・ハッシュ・攻撃手法を問題対策向けに解説

【PR】この記事には広告を含みます。
基本情報技術者試験のセキュリティ入門を初心者向けに解説

基本情報技術者試験のセキュリティでは、用語の意味を知っているだけでは足りません。

問題では、「これは何の攻撃か」「どの対策が合うか」「暗号化とハッシュのどちらを使う場面か」などを見分ける力が問われます。

セキュリティの基礎から確認したい方は、先にITパスポートのセキュリティ入門を読むと、脅威、ぜい弱性、リスク、対策の流れを整理しやすくなります。

科目B全体の進め方を確認したい方は、基本情報技術者試験の科目B対策も参考にしてください。

この記事では、基本情報技術者試験でよく出るセキュリティ用語を、問題で使える形で整理します。

ここだけ読めばOK

基本情報のセキュリティは、「攻撃名」と「対策」をセットで覚えることが大切です。さらに、暗号化とハッシュ、認証と認可、電子署名と電子証明書の違いを見分けられるようにしましょう。

目次

基本情報技術者試験のセキュリティでは何が問われる?

基本情報技術者試験のセキュリティでは、情報を守るための考え方、技術、攻撃手法、対策が問われます。

ITパスポートでは「なぜ必要か」を中心に理解しますが、基本情報技術者試験では「どの技術を、どの場面で使うか」まで考える必要があります。

科目Aでは用語と仕組みが問われる

科目Aでは、セキュリティ用語の意味や、仕組みを選ぶ問題が出ます。

たとえば、次のような内容です。

  • 暗号化の目的
  • ハッシュの特徴
  • 電子署名の役割
  • 電子証明書の役割
  • ファイアーウォールの働き
  • SQLインジェクションの対策
  • クロスサイトスクリプティングの対策

単語だけを覚えるのではなく、「何を守るためのものか」まで押さえることが大切です。

科目Aと科目Bで問われる力の違いは、基本情報技術者試験の科目Aと科目Bの違いで整理しています。

科目Bでも情報セキュリティが重要

科目Bでは、全20問のうち4問が情報セキュリティの分野から出題されます。

残りの16問は、アルゴリズムとプログラミングの分野です。そのため、科目Bではアルゴリズムが中心ですが、情報セキュリティも落とせない分野です。

科目Bのセキュリティでは、単語の意味をそのまま選ぶだけでなく、具体的な場面を読んで、どの対策が合うかを判断する力が問われます。

たとえば、社内システムの利用ルール、ネットワーク構成、アクセス権、クラウド利用時の注意点などを読み取り、適切な対策を選ぶような問題です。

つまり、科目Bでは「単語を知っているか」だけでなく、「具体的な場面で、どの技術やルールを使えば安全か」を考える力が大事になります。

攻撃と対策をセットで理解する必要がある

セキュリティ問題では、攻撃名だけを覚えても点につながりにくいです。

次のように、攻撃と対策をセットで覚えます。

攻撃ねらい主な対策
SQLインジェクション不正なSQLを入れるプレースホルダ、入力値チェック
クロスサイトスクリプティング悪意あるスクリプトを実行させる出力時のエスケープ、HttpOnly属性
フィッシング偽サイトで情報をだまし取るURL確認、多要素認証
DoS攻撃サービスを止める通信制限、監視、負荷分散

基本情報技術者試験で押さえるセキュリティの全体像

情報セキュリティの全体像を、守る情報、脅威、ぜい弱性、リスク、対策の流れで示した図

セキュリティは、ただ「危ないものを防ぐ」だけではありません。

何を守るのか、何が危ないのか、どこが弱いのかを考えたうえで、対策を選びます。

守る情報を決める

まず、守る対象を決めます。

たとえば、次のような情報です。

  • 顧客情報
  • パスワード
  • 売上データ
  • 設計書
  • 社内メール
  • システムの設定情報

守る情報が分からないと、どの対策が必要かも決められません。

脅威を知る

脅威とは、情報やシステムに悪い影響を与えるものです。

たとえば、マルウェア、不正アクセス、なりすまし、災害、操作ミスなどがあります。

マルウェアの意味を整理したい方は、マルウェアとは?も参考になります。

基本情報技術者試験では、脅威の名前だけでなく、「何を起こすものか」を問われます。

ぜい弱性を知る

ぜい弱性とは、システムや運用の弱いところです。

たとえば、次のようなものです。

  • 古いソフトを使っている
  • パスワードが弱い
  • 入力値のチェックがない
  • アクセス権が広すぎる
  • バックアップを取っていない

攻撃者は、このような弱点をねらいます。

リスクを下げる対策を考える

リスクとは、脅威がぜい弱性をついて、損害が起きる可能性のことです。

たとえば、「古いWebシステムにSQLインジェクションを受け、顧客情報が漏れるかもしれない」という状態がリスクです。

対策では、このリスクを小さくします。

技術的対策と管理的対策を分ける

セキュリティ対策には、技術で守るものと、ルールや運用で守るものがあります。

種類内容
技術的対策システムの仕組みで守る暗号化、認証、ファイアーウォール
管理的対策ルールや教育で守るパスワードルール、研修、権限管理
物理的対策物や場所を守る入退室管理、施錠、防犯カメラ

問題では、「システムの設定を変える話」なのか、「人やルールの話」なのかを読むと見分けやすくなります。

情報セキュリティの3要素

機密性、完全性、可用性の3要素を初心者向けに比較した図

情報セキュリティの基本は、機密性、完全性、可用性の3つです。

英語の頭文字を取って、CIAと呼ばれることがあります。

機密性とは

機密性とは、見てはいけない人に情報を見せないことです。

たとえば、社員だけが見られる資料を、外部の人が見られないようにすることです。

関係する対策には、アクセス制御、暗号化、認証などがあります。

完全性とは

完全性とは、情報が正しく、勝手に変えられていないことです。

たとえば、振込先の口座番号や注文金額が改ざんされていない状態です。

関係する対策には、ハッシュ、電子署名、ログ管理などがあります。

可用性とは

可用性とは、使いたいときに使えることです。

たとえば、Webサイトや業務システムが必要なときに止まらず使える状態です。

関係する対策には、バックアップ、冗長化、負荷分散、DoS攻撃対策などがあります。

CIAを問題で見分けるポイント

問題文の言葉考える要素
漏えい、盗み見、不正閲覧機密性
改ざん、正しさ、変更検知完全性
停止、障害、使えない可用性

「見られたくない」は機密性、「変えられたくない」は完全性、「止めたくない」は可用性と考えると、見分けやすくなります。

認証と認可の違い

認証と認可の違いを、本人確認と権限の確認として示した図

認証と認可は、基本情報技術者試験でとても間違えやすい用語です。

どちらもアクセス制御に関係しますが、意味は違います。

認証は本人確認

認証とは、「あなたは誰ですか」を確認することです。

たとえば、IDとパスワードでログインすることは認証です。

身近にたとえると、建物の入口で社員証を見せて、本人かどうかを確認するようなものです。

認可は使ってよい範囲を決めること

認可とは、「その人に何を使わせてよいか」を決めることです。

たとえば、ログインできた社員でも、経理データを見られる人と見られない人がいます。

このように、使える機能や見られる情報を決めるのが認可です。

アクセス制御との関係

アクセス制御とは、情報やシステムを使える人、使える範囲を管理することです。

流れとしては、次のようになります。

  1. 認証で本人を確認する
  2. 認可で使える範囲を決める
  3. アクセス制御で実際の利用を制限する

認証だけでは不十分です。本人確認ができても、その人にすべての情報を見せてよいとは限らないからです。

試験で間違えやすい選択肢

問題文に「本人であることを確認する」とあれば、認証です。

問題文に「利用できる機能や権限を決める」とあれば、認可です。

問題文の表現答え
IDとパスワードで本人を確認する認証
一般社員は閲覧だけ、管理者は編集もできる認可
利用者ごとに操作できる範囲を制限するアクセス制御

暗号化の基本

共通鍵暗号方式と公開鍵暗号方式の違いを比較した図

暗号化は、第三者に内容を読まれないようにするための技術です。

暗号化の意味を先に確認したい方は、暗号化とは?も参考になります。

セキュリティ問題では、共通鍵暗号方式と公開鍵暗号方式の違いがよく問われます。

暗号化と復号の意味

暗号化とは、読めるデータを、読みにくい形に変えることです。

復号とは、暗号化されたデータを、元の読める形に戻すことです。

たとえると、暗号化は手紙を鍵付きの箱に入れること、復号は鍵を使って箱を開けることです。

共通鍵暗号方式

共通鍵暗号方式は、暗号化と復号に同じ鍵を使う方式です。

処理が速いので、大量のデータを暗号化するのに向いています。

ただし、同じ鍵を相手に安全に渡す必要があります。ここが弱点です。

項目内容
使う鍵同じ鍵
長所処理が速い
短所鍵の受け渡しが難しい
向いていること大量データの暗号化

公開鍵暗号方式

公開鍵暗号方式は、公開鍵と秘密鍵の2つを使う方式です。

公開鍵は相手に渡してもよい鍵です。秘密鍵は自分だけが持つ鍵です。

公開鍵で暗号化したデータは、対応する秘密鍵で復号します。

鍵の受け渡しはしやすいですが、処理は共通鍵暗号方式より重くなりやすいです。

項目内容
使う鍵公開鍵と秘密鍵
長所鍵を配りやすい
短所処理が重くなりやすい
向いていること鍵の受け渡し、電子署名

共通鍵暗号と公開鍵暗号の使い分け

共通鍵暗号方式は速いですが、鍵を安全に渡すのが難しいです。

公開鍵暗号方式は鍵を渡しやすいですが、処理が重くなりやすいです。

そのため、実際の通信では、両方のよいところを組み合わせることがあります。

ハイブリッド暗号方式の考え方

ハイブリッド暗号方式の流れを、公開鍵で共通鍵を渡し、共通鍵でデータを暗号化する形で示した図

ハイブリッド暗号方式は、共通鍵暗号方式と公開鍵暗号方式を組み合わせる方法です。

大まかな流れは次のとおりです。

  1. 公開鍵暗号方式で、共通鍵を安全に渡す
  2. その共通鍵を使って、実際のデータを暗号化する
  3. 大量のデータは処理が速い共通鍵暗号方式でやり取りする

問題では、「大量データは共通鍵」「鍵の受け渡しは公開鍵」と考えると整理しやすいです。

ハッシュとは?

暗号化とハッシュの違いを、元に戻せるかどうかで比較した図

ハッシュとは、データを一定の長さの値に変換する仕組みです。

暗号化と似て見えますが、目的が違います。

ハッシュは元に戻せない変換

ハッシュの大きな特徴は、元に戻せないことです。

暗号化は復号すれば元に戻せます。しかし、ハッシュは元のデータに戻すことを目的にしていません。

たとえると、暗号化は鍵付きの箱です。鍵があれば中身を取り出せます。

一方、ハッシュは食材をミキサーにかけるようなものです。できあがったものから、元の食材をきれいに戻すことはできません。

暗号化との違い

項目暗号化ハッシュ
元に戻せるか復号すれば戻せる基本的に戻せない
主な目的中身を読まれないようにする同じデータか確認する
使う場面通信、保存データの保護改ざん検知、パスワード保存

改ざん検知で使われる理由

ハッシュは、データが少しでも変わると、出力される値が大きく変わります。

そのため、元データのハッシュ値と、受け取ったデータのハッシュ値を比べることで、改ざんの有無を確認できます。

  1. 送る前のデータからハッシュ値を作る
  2. 受け取ったデータからハッシュ値を作る
  3. 2つのハッシュ値を比べる
  4. 違っていれば、データが変わった可能性がある

パスワード保存との関係

パスワードは、そのまま保存すると危険です。

もしデータベースが漏えいした場合、パスワードがそのまま見られてしまうからです。

そのため、パスワードはハッシュ化して保存することがあります。

ログイン時は、入力されたパスワードを同じ方法でハッシュ化し、保存されているハッシュ値と比べます。

問題では、「元に戻す必要がない」「同じかどうかを確認したい」とあれば、ハッシュを考えます。

電子署名と電子証明書

電子署名と電子証明書の違いを、役割の違いで整理した図

電子署名と電子証明書も、基本情報技術者試験で混同しやすい用語です。

電子署名は「本人が作ったこと」と「改ざんされていないこと」の確認に使います。

電子証明書は「公開鍵の持ち主が本当にその人や組織か」を確認するために使います。

電子証明書の基本を確認したい方は、電子証明書とは?も参考にしてください。

電子署名は本人性と改ざん確認に使う

電子署名は、データの作成者を確認し、データが改ざんされていないことを確認するための仕組みです。

大まかな考え方は、次のとおりです。

  1. 送信者がデータからハッシュ値を作る
  2. 送信者の秘密鍵で、そのハッシュ値に署名する
  3. 受信者は送信者の公開鍵で確認する
  4. ハッシュ値が合えば、改ざんされていないと判断できる

問題では、「否認防止」「改ざん検知」「送信者の確認」という言葉が出たら、電子署名を考えます。

電子証明書は公開鍵の持ち主を確認する

電子証明書は、公開鍵の持ち主を確認するためのものです。

公開鍵暗号方式では、公開鍵を使います。しかし、その公開鍵が本当に相手のものか分からないと危険です。

そこで、信頼できる第三者が「この公開鍵は、この人やこの組織のものです」と証明します。

この証明書が電子証明書です。

認証局の役割

認証局は、電子証明書を発行する機関です。

英語ではCAと呼ばれます。

認証局は、公開鍵の持ち主を確認し、電子証明書を発行します。

問題では、「公開鍵の正当性を証明する」「第三者機関が証明する」という言葉が出たら、認証局や電子証明書を考えます。

HTTPSとの関係

HTTPSでは、通信を暗号化し、Webサイトの正当性を確認するために電子証明書が使われます。

ブラウザでWebサイトを開いたとき、電子証明書によって、そのサイトが本物かどうかを確認します。

ただし、鍵マークがあるだけで、すべて安全とは限りません。

フィッシングサイトでもHTTPSを使うことがあるため、URLやサイト名も確認する必要があります。

基本情報技術者試験で出る攻撃手法

基本情報技術者試験で出る主な攻撃手法を、だます攻撃、Web攻撃、通信攻撃、端末に感染する攻撃に分けた図

ここからは、基本情報技術者試験で出やすい攻撃手法を整理します。

攻撃名は、特徴と対策をセットで覚えましょう。

マルウェア

マルウェアとは、悪意のあるソフトウェアのことです。

マルウェアの意味を整理したい方は、マルウェアとは?も参考になります。

ウイルス、ワーム、トロイの木馬、スパイウェア、ランサムウェアなどを含む広い言葉です。

問題では、「悪意のあるソフト全体」を指す場合はマルウェアを選びます。

ランサムウェア

ランサムウェアは、データを暗号化するなどして使えなくし、復旧のために金銭を要求するマルウェアです。

身代金を意味する英語の「ransom」が名前のもとです。

対策としては、バックアップ、OSやソフトの更新、不審な添付ファイルを開かないことが大切です。

フィッシング

フィッシングは、銀行や有名サービスを装った偽メールや偽サイトで、ID、パスワード、カード情報などをだまし取る攻撃です。

問題文に「偽サイト」「メールで誘導」「IDやパスワードを入力させる」とあれば、フィッシングを考えます。

SQLインジェクション

SQLインジェクションは、入力欄などに不正なSQLを入れて、データベースを不正に操作する攻撃です。

たとえば、ログイン画面や検索フォームがねらわれます。

対策は、プレースホルダを使うこと、入力値を適切に扱うことです。

問題文に「不正なSQL」「データベースを操作」「入力欄を悪用」とあれば、SQLインジェクションを考えます。

クロスサイトスクリプティング

クロスサイトスクリプティングは、Webページに悪意のあるスクリプトを埋め込み、利用者のブラウザ上で実行させる攻撃です。

XSSと表記されることもあります。

この攻撃では、Cookieに含まれるセッションIDなどを盗まれたり、偽の画面を表示されたりするおそれがあります。

対策は、出力時のエスケープ、入力値のチェック、HTMLタグ入力の制限、CookieのHttpOnly属性、WAFの利用などです。

問題文に「利用者のブラウザでスクリプトが実行される」「CookieやセッションIDが盗まれる」とあれば、クロスサイトスクリプティングを考えます。

DoS攻撃・DDoS攻撃

DoS攻撃は、大量の通信や処理を送りつけて、サーバーやサービスを使えなくする攻撃です。

DDoS攻撃は、複数の端末から分散して行うDoS攻撃です。

問題文に「大量のアクセス」「サービス停止」「複数の端末から一斉に」とあれば、DoS攻撃やDDoS攻撃を考えます。

中間者攻撃

中間者攻撃は、通信している2者の間に攻撃者が入り、通信を盗み見たり、改ざんしたりする攻撃です。

問題文に「通信の途中に割り込む」「盗聴」「改ざん」とあれば、中間者攻撃を考えます。

対策として、HTTPS、証明書の確認、VPNなどがあります。

ブルートフォース攻撃

ブルートフォース攻撃は、考えられるパスワードを総当たりで試す攻撃です。

問題文に「全ての組み合わせを試す」「何度もログインを試す」とあれば、ブルートフォース攻撃を考えます。

対策は、強いパスワード、ログイン試行回数の制限、多要素認証などです。

攻撃手法と対策の組み合わせ

代表的なセキュリティ攻撃と、その対策の組み合わせを一覧で示した図

基本情報技術者試験では、攻撃名を選ぶ問題だけでなく、対策を選ぶ問題も出ます。

ここでは、よく出る組み合わせを整理します。

SQLインジェクションへの対策

SQLインジェクションでは、入力値がSQL文の一部として不正に使われることが問題です。

対策として重要なのは、プレースホルダを使うことです。

プレースホルダを使うと、入力された値をSQL文そのものではなく、値として扱いやすくなります。

  • プレースホルダを使う
  • 入力値を検証する
  • 不要に詳しいエラーメッセージを出さない
  • データベースの権限を必要最小限にする

問題で「SQLインジェクションの根本対策」を問われたら、まずプレースホルダを考えます。

クロスサイトスクリプティングへの対策

クロスサイトスクリプティングでは、利用者のブラウザで悪意あるスクリプトが動くことが問題です。

この攻撃では、偽の表示を出されたり、Cookieに含まれるセッションIDなどの重要な情報を盗まれたりするおそれがあります。

対策として特に重要なのは、出力時のエスケープです。

エスケープとは、HTMLで特別な意味を持つ文字を、ただの文字として表示されるように変換することです。

  • 出力時にエスケープする
  • 入力値の文字数や形式をチェックする
  • HTMLタグの入力を安易に許可しない
  • CookieにHttpOnly属性を付ける
  • WAFを使って攻撃を検知・遮断する

ただし、HttpOnly属性やWAFは補助的な対策です。まずは、Webアプリケーション側で、出力時のエスケープを正しく行うことが大切です。

問題文に「利用者のブラウザでスクリプトが実行される」「CookieやセッションIDが盗まれる」とあれば、クロスサイトスクリプティングを考えます。

フィッシングへの対策

フィッシングでは、利用者が偽サイトにだまされることが問題です。

技術的な対策だけでなく、利用者への注意喚起も大切です。

  • URLを確認する
  • メール内のリンクを安易に押さない
  • 多要素認証を使う
  • 不審なメールを報告する仕組みを作る
  • 送信ドメイン認証を使う

問題では、「偽サイトに誘導して入力させる」という流れを見つけることが大切です。

不正アクセスへの対策

不正アクセスでは、権限のない人がシステムに入ることが問題です。

  • 強いパスワードを使う
  • 多要素認証を使う
  • アクセス権を必要最小限にする
  • ログを確認する
  • 使っていないアカウントを停止する

問題文に「なりすまし」「権限のない利用」「ログイン試行」が出たら、認証やアクセス制御の対策を考えます。

マルウェアへの対策

マルウェア対策では、感染を防ぐことと、感染した場合の被害を小さくすることが大切です。

  • OSやソフトを更新する
  • 不審な添付ファイルを開かない
  • セキュリティソフトを使う
  • 重要データをバックアップする
  • 最小権限で利用する

ランサムウェアでは、特にバックアップが重要です。データを暗号化されても、バックアップがあれば復旧しやすくなります。

DoS攻撃への対策

DoS攻撃では、サービスが使えなくなることが問題です。

完全に防ぐのは難しい場合もありますが、被害を小さくする対策があります。

  • 通信量を監視する
  • 不正な通信を制限する
  • 負荷分散を行う
  • CDNを使う
  • サーバーを冗長化する

負荷分散や冗長化の考え方は、基本情報技術者試験のクラウド・システム構成入門も参考になります。

問題文に「サービスを止めない」「大量アクセスに耐える」とあれば、可用性の対策を考えます。

ネットワークセキュリティの基本

ネットワークセキュリティは、通信の入口や経路を守るための考え方です。

基本情報技術者試験では、ファイアーウォール、IDS、IPS、VPN、DMZなどの違いが問われます。

ネットワークの基本から確認したい方は、基本情報技術者試験のネットワーク入門も参考にしてください。

ファイアーウォール

ファイアーウォールは、通信を通すか止めるかを判断する仕組みです。

IPアドレス、ポート番号、通信の向きなどをもとに制御します。

問題文に「許可された通信だけ通す」「不要な通信を遮断する」とあれば、ファイアーウォールを考えます。

IDSとIPS

IDSは、不正な通信やあやしい動きを検知する仕組みです。

IPSは、不正な通信を検知し、さらに遮断する仕組みです。

用語役割ポイント
IDS検知する見つけて知らせる
IPS検知して防ぐ見つけて止める

「D」はDetection、つまり検知です。「P」はPrevention、つまり防止です。

VPN

VPNは、インターネットなどの公衆回線上に、安全な通信経路を作る技術です。

外出先や自宅から社内ネットワークへ安全に接続するときに使われます。

問題文に「暗号化された通信路」「遠隔地から社内へ接続」とあれば、VPNを考えます。

DMZ

DMZは、外部ネットワークと内部ネットワークの間に置く中間の領域です。

Webサーバーやメールサーバーなど、外部からアクセスされるサーバーを置くことがあります。

内部ネットワークを直接外部にさらさないための考え方です。

問題文に「外部公開サーバーを内部ネットワークから分ける」とあれば、DMZを考えます。

ゼロトラスト

ゼロトラストは、「社内だから安全」と決めつけず、毎回確認する考え方です。

利用者、端末、場所、通信内容などを確認し、必要な範囲だけ許可します。

問題では、「境界の内側を無条件に信用しない」「常に検証する」という表現が出たら、ゼロトラストを考えます。

セキュリティ問題の解き方

基本情報技術者試験のセキュリティ問題を解く手順を、攻撃の特徴確認から消去法まで示した図

セキュリティ問題は、暗記だけでなく、問題文の読み取りが大切です。

次の手順で読むと、答えを選びやすくなります。

問題文で攻撃の特徴を見つける

まず、問題文の中から攻撃の特徴を探します。

問題文の表現考える攻撃
偽サイトに誘導するフィッシング
SQL文を不正に実行させるSQLインジェクション
ブラウザでスクリプトを実行させるクロスサイトスクリプティング
大量の通信で止めるDoS攻撃、DDoS攻撃
通信の間に割り込む中間者攻撃

守りたいものを確認する

次に、何を守りたいのかを見ます。

  • 見られたくない情報を守るなら、機密性
  • 勝手に変えられたくないなら、完全性
  • 止めたくないなら、可用性

守りたいものが分かると、選ぶ対策も見えやすくなります。

使うべき対策を選ぶ

攻撃の種類が分かったら、対策を選びます。

たとえば、SQLインジェクションならプレースホルダ、クロスサイトスクリプティングなら出力時のエスケープ、ブルートフォース攻撃なら試行回数制限や多要素認証です。

似た用語を選ばないようにする

基本情報技術者試験では、似た用語を選ばせる問題があります。

間違えやすい組み合わせ見分け方
暗号化とハッシュ元に戻すなら暗号化、戻さないならハッシュ
認証と認可本人確認なら認証、権限なら認可
電子署名と電子証明書署名は改ざん確認、証明書は公開鍵の持ち主確認
IDSとIPS検知だけならIDS、遮断までならIPS

選択肢を1つずつ消す

分からない問題では、いきなり正解を探すより、明らかに違う選択肢を消すと考えやすくなります。

たとえば、問題文が「Web画面に入力されたスクリプトが、他の利用者のブラウザで実行された」と書かれているなら、SQLインジェクションではなく、クロスサイトスクリプティングの可能性が高いです。

「どこで実行されているか」を見ると、選択肢を消しやすくなります。

基本情報技術者試験ではセキュリティがどう出る?

基本情報技術者試験のセキュリティでは、短い用語問題だけでなく、事例を読んで判断する問題も出ます。

用語の意味を選ぶ問題

科目Aでは、用語の意味を選ぶ問題が出ます。

たとえば、「ハッシュ関数の特徴として適切なものはどれか」といった形です。

この場合、「元に戻せない」「同じ入力なら同じ値になる」「改ざん検知に使える」といった特徴を押さえます。

攻撃手法を見分ける問題

攻撃の説明を読み、攻撃名を選ぶ問題もあります。

たとえば、「入力欄に不正なSQLを入れて、データベースを操作する攻撃」とあれば、SQLインジェクションです。

攻撃名だけでなく、どこをねらう攻撃かを覚えましょう。

対策を選ぶ問題

攻撃に対して、適切な対策を選ぶ問題もあります。

SQLインジェクションに対して出力時のエスケープだけを選ぶ、クロスサイトスクリプティングに対してプレースホルダだけを選ぶなど、組み合わせを間違えないようにします。

暗号や認証の仕組みを問う問題

暗号や認証では、仕組みの流れが問われることがあります。

共通鍵暗号方式、公開鍵暗号方式、電子署名、電子証明書は、役割を整理しておきましょう。

科目Bで事例を読んで判断する問題

科目Bでは、情報セキュリティの事例を読んで、状況に合う対策を判断する問題が出ます。

長い文章をじっくり読むというより、限られた時間の中で、問題文から「守る情報」「起きている問題」「必要な対策」を見つけることが大切です。

読むときは、次の点を確認します。

  • どの情報を守りたいのか
  • どの攻撃やミスが問題になっているのか
  • どこに弱点があるのか
  • どの対策がすでにあるのか
  • 追加すべき対策は何か

科目Bでは、用語の丸暗記だけではなく、場面に合わせて対策を選ぶ力が必要です。

セキュリティ問題で間違えやすいポイント

セキュリティ問題では、似た用語の混同がよく起きます。

ここでは、特に間違えやすい点をまとめます。

暗号化とハッシュ化を混同する

暗号化は、復号すれば元に戻せます。

ハッシュ化は、元に戻すことを目的にしていません。

「元に戻す必要があるか」を見ると、見分けやすくなります。

認証と認可を混同する

認証は、本人確認です。

認可は、使ってよい範囲を決めることです。

ログインは認証、ログイン後にどの画面を使えるかは認可です。

電子署名と電子証明書を混同する

電子署名は、送信者の確認と改ざん確認に使います。

電子証明書は、公開鍵の持ち主を確認するために使います。

「署名」はデータに付くもの、「証明書」は公開鍵の正しさを示すもの、と考えると整理しやすいです。

攻撃名だけ覚えて対策を覚えていない

攻撃名だけ覚えても、対策問題で迷います。

次のように、必ずセットで覚えましょう。

攻撃セットで覚える対策
SQLインジェクションプレースホルダ
クロスサイトスクリプティング出力時のエスケープ
ブルートフォース攻撃試行回数制限、多要素認証
ランサムウェアバックアップ、更新、不審ファイル対策
DoS攻撃監視、通信制限、負荷分散

確認問題

共通鍵暗号方式と公開鍵暗号方式の違いは何ですか?

問題:共通鍵暗号方式と公開鍵暗号方式の説明として、適切なものはどれですか。

  1. 共通鍵暗号方式は、暗号化と復号に別々の鍵を使う
  2. 共通鍵暗号方式は、暗号化と復号に同じ鍵を使う
  3. 公開鍵暗号方式は、必ず暗号化と復号に同じ鍵を使う
  4. 公開鍵暗号方式は、ハッシュ値を元のデータに戻す方式である

答え:2

解説:共通鍵暗号方式は、暗号化と復号に同じ鍵を使います。処理が速い一方で、鍵を安全に渡す必要があります。公開鍵暗号方式は、公開鍵と秘密鍵を使います。

ハッシュが改ざん検知に使われる理由は何ですか?

問題:ハッシュが改ざん検知に使われる理由として、適切なものはどれですか。

  1. ハッシュ値から元のデータを完全に復元できるから
  2. 同じデータなら同じハッシュ値になり、データが変わるとハッシュ値も変わるから
  3. ハッシュ化すると通信速度が必ず速くなるから
  4. ハッシュ化すると、誰でも秘密鍵を作れるから

答え:2

解説:ハッシュは、同じ入力なら同じ値になります。一方で、データが少しでも変わるとハッシュ値も変わります。そのため、改ざんされたかどうかを確認できます。

SQLインジェクションの対策として適切なものは何ですか?

問題:SQLインジェクションへの対策として、最も適切なものはどれですか。

  1. 利用者のブラウザで実行されるスクリプトを暗号化する
  2. プレースホルダを使い、入力値をSQL文として実行させないようにする
  3. 公開鍵を認証局に登録しないようにする
  4. 通信量を増やしてサーバーを強くする

答え:2

解説:SQLインジェクションは、入力値を悪用して不正なSQLを実行させる攻撃です。対策として、プレースホルダを使い、入力値をSQL文そのものとして扱わせないことが大切です。

クロスサイトスクリプティングの対策として適切なものは何ですか?

問題:クロスサイトスクリプティングへの対策として、最も適切なものはどれですか。

  1. 出力時にHTMLの特別な文字をエスケープする
  2. データベース接続のSQL文にプレースホルダを使う
  3. 公開鍵で共通鍵を暗号化する
  4. すべての通信を大量に送る

答え:1

解説:クロスサイトスクリプティングは、利用者のブラウザで悪意あるスクリプトが動く攻撃です。対策として、出力時のエスケープが重要です。CookieのHttpOnly属性やWAFも補助的な対策になります。

まとめ

基本情報技術者試験のセキュリティでは、用語の意味だけでなく、問題で見分ける力が大切です。

特に、次の違いはよく問われます。

  • 暗号化は元に戻せる、ハッシュは元に戻せない
  • 認証は本人確認、認可は使える範囲の決定
  • 電子署名は本人性と改ざん確認、電子証明書は公開鍵の持ち主確認
  • SQLインジェクションはプレースホルダ、クロスサイトスクリプティングは出力時のエスケープ
  • IDSは検知、IPSは検知して防止

セキュリティ問題を解くときは、まず問題文から攻撃の特徴を見つけます。

次に、何を守りたいのかを確認し、攻撃に合う対策を選びます。

科目Bでは、全20問のうち4問が情報セキュリティから出題されます。アルゴリズムが中心ではありますが、情報セキュリティも確実に得点したい分野です。

攻撃名と対策をセットで覚えることで、科目Aの用語問題にも、科目Bの事例問題にも対応しやすくなります。

セキュリティを含めた基本情報全体の進め方は、基本情報技術者試験の勉強方法も参考にしてください。

よかったらシェアしてね!
  • URLをコピーしました!
目次