採点されません。匿名です。 間違えることは学習の一部です。読むだけでもかまいません。

セキュリティ実装技術

テクノロジ系 / 技術要素

セキュリティ実装技術とは

情報セキュリティ対策(中項目4)が「人・技術・物理」という組織全体の枠組みを扱うのに対し、中項目5「セキュリティ実装技術」は、その技術的対策を具体的にどんなプロトコル・仕組みとして作り込むかを扱う。シラバスは (1) セキュアプロトコル、(2) 認証・認可技術、(3) ネットワークセキュリティ、(4) データベースセキュリティ、(5) アプリケーションセキュリティ、の5つの切り口を挙げており、通信経路の暗号化からアプリケーションのコードレベルの対策まで階層が広い。各技術が「何を」「どこで」守っているのかを対応づけて理解することが得点への近道になる。

(1) セキュアプロトコル ── 通信そのものを暗号化・認証する

セキュアプロトコルは、ネットワーク上を流れるデータを盗聴・改ざんから守るための通信規約である。

  • IPSec:IP レイヤで暗号化と認証を行う仕組みで、規格全体は RFC 4301 で定義される。完全性と送信元認証のみを提供し暗号化は行わない AH(認証ヘッダ) と、機密性(暗号化)・完全性・送信元認証をまとめて提供できる ESP の2種類のヘッダがあり、実装上は ESP のサポートが必須、AH は任意とされている。鍵交換を担う IKE は UDP 500番ポートを使うが、経路上に NAT 機器が検出されると NAT トラバーサル機能により UDP 4500番に切り替わる。
  • SSL/TLS:アプリケーション層とトランスポート層の間で暗号化を行う仕組み。最新の TLS 1.3 は RFC 8446(2018年)で規定され、脆弱性が指摘されていた RSA 鍵交換や CBC モード、SHA-1 を使う暗号スイートを廃止するなど安全性を大きく強化した。旧版の TLS 1.0・1.1 は RFC 8996(2021年)で正式に非推奨(Deprecated)とされている。
  • HTTPS(HTTP over TLS):HTTP 通信を TLS で保護する方式で RFC 2818 に規定され、既定のポート番号は 443番である。
  • SSH:リモートログインなどを暗号化する仕組みで、アーキテクチャ(RFC 4251)・認証(RFC 4252)・トランスポート層(RFC 4253)の3文書で規定され、既定の待受ポートは 22番である。
  • WPA2/WPA3:無線 LAN の暗号化規格。WPA2 は AES を用いた CCMP(128ビット鍵・128ビットブロック)を採用し、機密性を担う CTR モードと認証・完全性を担う CBC-MAC を組み合わせている。WPA3 はパスワード推測やオフライン辞書攻撃への耐性を高める鍵確立方式 SAE を採用し、管理フレームの保護(PMF)を必須化してデオーセンティケーション攻撃などへの耐性を強化した。企業向けの WPA3-Enterprise では、AES-256-GCMP を用いる192ビット相当のセキュリティモードも用意されている。

拠点間通信を守る IPSec-VPN、ブラウザ⇔サーバ間を守る TLS/HTTPS、PC からサーバへのログインを守る SSH というように、同じ「暗号化」でもどの区間を守っているかが異なる点を押さえておくとよい。

(2) 認証・認可技術 ── 「誰か」「何をしてよいか」を確かめる

  • OAuth:現行の OAuth 2.0(RFC 6749)はパスワードそのものを渡さず、リソースオーナー・クライアント・認可サーバ・リソースサーバの4役割の間で「アクセス権限(トークン)」だけを受け渡す認可の仕組みである。「認証」ではない点が試験で問われやすい。
  • DNSSEC:DNS の応答に電子署名を付加し発信元認証と完全性を保証する拡張機能(RFC 4033〜4035、2005年)。DNS キャッシュポイズニングのような偽の応答への対策となる。
  • EAP 系認証:EAP(RFC 3748)は方式に依存しない汎用的な認証フレームワークで、電子証明書による相互認証を行う EAP-TLS(RFC 5216)などがその上に乗る。なお PEAP は正式な IETF RFC ではなく、ベンダー主導の Internet-Draft として提案された方式である。
  • RADIUS:認証・認可・アカウンティングを一元化する仕組みで、認証・認可は RFC 2865、アカウンティングは別文書の RFC 2866(いずれも2000年、UDP 使用)に規定される。IANA 割当ポートは認証用 1812番・アカウンティング用 1813番である(初期の非公式実装では 1645・1646番が使われていた)。
  • 送信ドメイン認証:SPF(RFC 7208)は送信元 IP の認可を DNS で確認し、DKIM(RFC 6376)は電子署名でメッセージの完全性を確認し、DMARC(RFC 7489)は両者の結果とドメインの一致状況をもとにポリシー適用・レポートを行う。3方式は役割が異なり組み合わせて使われる。
  • SMTP-AUTH と OP25B:SMTP-AUTH(RFC 4954)はメール送信時にクライアントが身元を証明する認証拡張で、送信側の「なりすまし」対策になる。OP25B は ISP が加入者網から外部への 25番ポート通信を遮断しスパム送信を防ぐ対策で、正規の送信手段として Submission ポート(587番)+ SMTP-AUTH が用いられる。
  • S/MIME・PGP:どちらもメール本文の署名・暗号化で完全性・機密性・否認防止を実現する規格で、S/MIME は RFC 8551、PGP(OpenPGP)は旧 RFC 4880 を経て、2024年公表の RFC 9580 で規定される。

(3) ネットワークセキュリティ ── 通信経路・境界を守る

ネットワークセキュリティは、通信の出入口や経路そのものに制御をかける対策群である。パケットフィルタリングはあらかじめ定めたルールに基づき通過させるパケットを取捨選択する仕組み、MAC アドレスフィルタリングは端末固有の物理アドレスで接続可否を判定する仕組みである。NATはプライベート IP アドレスとグローバル IP アドレスを1対1で変換する仕組みであるのに対し、NAPT(IP マスカレード)は IP アドレスに加えてポート番号(TCP/UDP ポートや ICMP のクエリ ID)の組み合わせまで変換するため、1つのグローバル IP アドレスを複数の端末で同時に共有できる(両方式は RFC 3022 にまとめて規定されている)。認証 VLAN は認証結果に応じて接続先の VLAN を動的に切り替える仕組み、VPN(仮想私設網) はインターネットのような公衆網の上にトンネルを作り暗号化して専用線のように使う仕組みである。ハニーポットは意図的に侵入しやすく見せかけたおとりの機器・システムで、攻撃者の手口やマルウェアの挙動を観測・分析する目的で設置される。リバースプロキシは外部からの通信をいったんサーバの手前で受け止め、内部構成を隠しながら負荷分散やキャッシュ、フィルタリングを行う。

(4) データベースセキュリティ ── 情報資産そのものを守る

ネットワークの防御をすり抜けられた場合の最後の砦として、データそのものを守るのがデータベースセキュリティである。保存データを暗号化しておくデータベース暗号化、利用者ごとに参照・更新できる範囲をロールや権限で制限するデータベースアクセス制御、障害やランサムウェア被害からの復旧手段としてのデータベースバックアップ、そして「誰がいつ何をしたか」を記録し不正操作の検知や事後の監査に用いるログの取得、の4点が挙げられている。アクセス制御が「そもそも触らせない」対策であるのに対し、ログの取得は「触った事実を後から追跡できるようにする」対策であり、両者は補完関係にある。

(5) アプリケーションセキュリティ ── ソフトウェアの作り方・検査で守る

最後の層は、アプリケーションのコードそのものに脆弱性を作り込まない・作り込んでしまった場合に発見する取り組みである。セキュアプログラミングは脆弱性を生みにくい実装作法を指し、脆弱性検査技術にはソースコードを実行せずに解析する静的検査、実際に動かして挙動を確認する動的検査、そして「問題を引き起こしそうな多様なデータを入力し、挙動を監視して脆弱性を見つけ出す」ファジング(IPA 科目Aサンプル問題 問34に対応するテーマ)がある。マルウェアの解析でも同様に、検体をサンドボックス上で実際に動かし通信内容などを観測する動的解析という手法があり(サンプル問題 問35に対応)、コードを読むだけの静的解析と対になる考え方である。

代表的な個別対策としては次のものがある。

  • SQL インジェクション対策:入力文字列がデータベースへの問合せの中で特別な意味を持つ文字として解釈されないようにするプレースホルダ(バインド機構)が根本的解決策とされる(サンプル問題 問36に対応するテーマ)。SQL 文をプレースホルダのまま用意しておき、後から値だけを安全に割り当てる方式である。
  • クロスサイトスクリプティング(XSS)対策:ページに出力するすべての要素に対して、< > & などの特殊記号を &lt; &gt; &amp; のような文字参照に置き換えるエスケープ処理が基本の対策となる。
  • パスワードクラック対策:同じパスワードでも保存するハッシュ値が利用者ごとに異なるようにするために、ランダムな値(ソルト)をパスワードに付加してからハッシュ化する方式が使われる。
  • バッファオーバーフロー対策:確保したメモリ領域を超えるデータが書き込まれないよう、入力データの長さを確認・制限する実装が求められる。
  • コンテナセキュリティ:Docker や Kubernetes に代表されるコンテナ環境では、コンテナイメージ・レジストリ・オーケストレータ・コンテナランタイム・ホスト OS といった層ごとにリスクが異なり、米国 NIST が公開する SP 800-190「Application Container Security Guide」が代表的な指針として参照される。

さらに、乗っ取ったコンピュータに外部から不正操作の命令を出し応答を受け取る役割を持つC&C サーバ(サンプル問題 問31)や、通信途中の改ざんを検知するメッセージ認証符号(MAC)(サンプル問題 問32)も押さえておきたい。MAC は送信者・受信者が共有する秘密鍵とメッセージ本体から固定長の値を計算する仕組みで、デジタル署名と異なり生成・検証に同じ鍵を使う。ハッシュ関数を用いた実装として HMAC(RFC 2104)が広く使われている。

まとめ

セキュリティ実装技術は「(1) 通信経路を暗号化・認証で守る」「(2) 通信の相手を認証・認可で確かめる」「(3) ネットワークの境界・経路を制御する」「(4) データそのものをデータベース層で守る」「(5) アプリケーションのコード・実装レベルで脆弱性を作り込まない/見つける」という、防御対象の階層が異なる5つの視点で構成されている。個々の用語を暗記するだけでなく、「その技術は通信区間・認証・境界・データ・コードのどの層を守るものか」を意識して整理すると、初見の用語が出題されても消去法で正答に近づきやすくなる。

---

本資料は IPA(独立行政法人 情報処理推進機構)が公表する「基本情報技術者試験シラバス(Ver.9.2)」中分類11「セキュリティ」中項目5「セキュリティ実装技術」(本文 p.44)に基づく自作の解説テキストである。

  • シラバスの目標文・用語例は要約・言い換えた上で解説に用いており、シラバス原文の逐語転載ではない
  • 著者:本資料著者(nomuraya-dojo)
  • シラバス原文の著作権は IPA に帰属する。原文は IPA 公式シラバス PDF を参照すること
  • 本文中で言及する科目Aサンプル問題(問31・32・34・35・36・37)は、問題番号と出典のみを参照し、問題文・選択肢本文は転記していない。正答は IPA 公式解答例 PDF を参照すること
  • 本資料の利用にあたっては、IPA の著作権・利用規約に従うこと

考えてみよう

既定では正解・不正解の判定はしません。自分のペースで「答えを見る」を。採点してほしい場合だけ「採点してほしい」を押してください。

問1

IPSec における AH(認証ヘッダ)と ESP の違いに関する説明として、最も適切なものはどれか。

ア AH は機密性・完全性・送信元認証のすべてを提供するのに対し、ESP は完全性と送信元認証のみを提供し暗号化は行わない。

イ AH は完全性と送信元認証を提供し暗号化は行わないのに対し、ESP は機密性(暗号化)・完全性・送信元認証を提供できる。

ウ AH と ESP はどちらも同一の機能を提供する冗長なヘッダであり、実装上はどちらか一方のみが定義されている。

エ AH は鍵交換プロトコルであり、ESP はデータそのものを運ぶヘッダである。

解答: イ

解説: IPSec の AH(認証ヘッダ)はデータの完全性と送信元認証を提供するが暗号化は行わない。一方 ESP は機密性(暗号化)・完全性・送信元認証をまとめて提供でき、IPSec 実装では ESP のサポートが必須とされている。アは説明が入れ替わっている誤り、ウ・エも実態と異なる。

問2

無線 LAN の暗号化規格 WPA3 で新たに採用された鍵確立方式 SAE の目的として、最も適切なものはどれか。

ア 通信の伝送速度を向上させるための圧縮方式である。

イ パスワードの推測やオフラインでの辞書攻撃に対する耐性を高めるための方式である。

ウ アクセスポイントの MAC アドレスを自動的に偽装するための方式である。

エ 複数のアクセスポイント間でローミングを高速化するための方式である。

解答: イ

解説: SAE(Simultaneous Authentication of Equals)は WPA3 で採用された鍵確立方式で、パスワード推測攻撃やオフラインでの辞書攻撃に対する耐性を高めることを目的としている。WPA3 ではあわせて管理フレームの保護(PMF)も必須化され、デオーセンティケーション攻撃などへの耐性も強化されている。ア・ウ・エはいずれも SAE の目的とは無関係である。

問3

NAT(Network Address Translation)と NAPT(IP マスカレード)の違いに関する説明として、最も適切なものはどれか。

ア NAT は IP アドレスとポート番号の組み合わせで変換するため複数端末が1つのグローバル IP アドレスを共有できるのに対し、NAPT は IP アドレスのみを1対1で変換する。

イ NAT は IP アドレスのみを1対1で変換するのに対し、NAPT は IP アドレスとポート番号の組み合わせで変換するため複数端末が1つのグローバル IP アドレスを共有できる。

ウ NAT と NAPT はどちらも暗号化を行う仕組みであり、変換対象に違いはない。

エ NAT はメールの送信ドメインを認証する仕組みであり、NAPT はネットワークアドレスを変換する仕組みである。

解答: イ

解説: NAT はプライベート IP アドレスとグローバル IP アドレスを1対1で変換する仕組みである。これに対し NAPT(Linux 環境では IP マスカレードとも呼ばれる)は、IP アドレスに加えて TCP/UDP のポート番号(や ICMP のクエリ ID)の組み合わせまで使って変換するため、1つのグローバル IP アドレスを複数の端末で同時に共有できる。アは説明が入れ替わっており誤り、ウ・エも実態と異なる。

問4

データベースセキュリティにおける「ログの取得」に関する説明として、最も適切なものはどれか。

ア 利用者ごとに参照・更新できるデータの範囲をあらかじめ制限し、不正な操作そのものを未然に防ぐための対策である。

イ 保存されているデータを暗号化し、万一データが持ち出されても内容を読み取れないようにするための対策である。

ウ 誰がいつ何を操作したかを記録し、不正な操作の検知や事後の監査・原因追跡を可能にするための対策である。

エ 障害やランサムウェア被害が発生した際に、データを元の状態に復旧するための対策である。

解答: ウ

解説: ログの取得は、データベースに対する操作の履歴(誰が・いつ・何を行ったか)を記録し、不正操作の検知や発生後の監査・原因追跡を可能にする対策である。アはアクセス制御の説明、イはデータベース暗号化の説明、エはデータベースバックアップの説明であり、いずれもログの取得とは異なる対策を指している。

問5

Web アプリケーションにおける SQL インジェクション対策としてのプレースホルダ(バインド機構)に関する説明として、最も適切なものはどれか。

ア 入力された文字列を暗号化してからデータベースに送信することで、通信経路上の盗聴を防ぐ仕組みである。

イ 入力された文字列が、データベースへの問合せにおいて特別な意味をもつ文字として解釈されないようにする仕組みである。

ウ データベースへのアクセスを特定の IP アドレスからの通信のみに制限する仕組みである。

エ データベースに格納するパスワードにランダムな値を付加してからハッシュ化する仕組みである。

解答: イ

解説: プレースホルダ(バインド機構)は、SQL 文の雛形をあらかじめプレースホルダのまま用意しておき、入力値は後から安全な方法で割り当てることで、入力文字列が SQL 文の一部として(特別な意味をもつ記号として)解釈されるのを防ぐ、SQL インジェクション対策の根本的解決策である。アは通信の暗号化(TLS 等)の説明、ウはネットワークアクセス制御の説明、エはパスワードクラック対策(ソルト)の説明であり、いずれもプレースホルダの説明ではない。

力試ししたい方は クイズ形式の演習(任意) もあります。読むだけでも十分です。