目次
はじめに
今回も、応用情報技術者試験の過去問を解いていきます。
今回のテーマは、IPv6通信とIPsecです。
ネットワークでは、通信を安全にするためにさまざまな技術が使われています。
今回の選択肢に登場する、
- IPsec
- PPP
- SSH
- TLS
も、それぞれネットワーク通信に関係する技術です。
ただし、役割や動作する位置は同じではありません。
今回の問題では、特に
「ネットワーク層で暗号化する」
という部分が正解を見つけるポイントになります。」という典型問題を解説します。
問題
PCからサーバに対し、IPv6を利用した通信を行う場合、ネットワーク層で暗号化を行うときに利用するものはどれか。
| 選択肢 | 内容 |
|---|---|
| ア | IPsec |
| イ | PPP |
| ウ | SSH |
| エ | TLS |
解答
ア IPsec
解説
今回の問題で注目したいのは、
「IPv6」
と
「ネットワーク層で暗号化」
という二つのキーワードです。
特に決め手となるのは、ネットワーク層です。
IPsec(Internet Protocol Security)は、IP通信にセキュリティ機能を提供する仕組みです。
RFC 4301では、IPsecはIPv4とIPv6の両方を対象とし、IP層でセキュリティサービスを提供するものとして規定されています。
したがって、
アプリケーション
↓
TCP/UDP
↓
┌─────────────┐
│ IP │
│ IPsec │ ← 今回はここ
└─────────────┘
↓
データリンク
↓
物理層
というイメージになります。
つまり、
IPのレベルで通信を保護する → IPsec
と覚えておくと判断しやすくなります。
IPsecは何をしているのか
IPsecは一つの暗号化方式の名前というより、IP通信を保護するためのセキュリティアーキテクチャです。
IPsecによって提供される代表的なセキュリティサービスには、
- 通信内容の機密性
- データの完全性
- データ送信元の認証
- リプレイ攻撃への対策
などがあります。
「IPsec=暗号化」と覚えても今回の問題には正解できますが、
IPsecは暗号化だけを行うものではない
というところまで理解しておくと、別の問題にも対応しやすくなります。
IPv6ならIPsecで自動的に暗号化される?
ここは誤解しやすいポイントです。
問題文に「IPv6」とあるため、
IPv6はIPsecで暗号化されている
と思ってしまうかもしれません。
しかし、IPv6を使用しただけで通信が自動的にIPsecで暗号化されるわけではありません。
IPsecはIPv4でもIPv6でも利用できます。
IPv6とIPsecには歴史的に深い関係がありますが、現在のIPv6ノード要件ではIPsecアーキテクチャのサポートは「MUST(必須)」ではなく「SHOULD(推奨)」とされています。
したがって、
IPv6
↓
必ず暗号化される
ではありません。
正しくは、
IPv6通信
│
├─ IPsecを使用しない → IPsecによる暗号化なし
│
└─ IPsecを使用する
↓
IP層で通信を保護
と理解しておきましょう。
各選択肢の解説
ア:IPsec【正解】
IPsecは、IP層で通信を保護するための仕組みです。
IPv4とIPv6の両方で利用でき、IPsec VPNなどにも利用されます。
今回の問題では、
「ネットワーク層で暗号化」
という条件に該当するため、これが正解です。
イ:PPP【誤り】
PPP(Point-to-Point Protocol)は、ポイントツーポイントのリンク上で通信するためのプロトコルです。
OSI参照モデルでは、主にデータリンク層に位置付けられます。
ダイヤルアップ接続や、PPPをEthernet上で利用するPPPoEなどで使われてきました。
PPPそのものは、今回問われているネットワーク層で暗号化するための技術ではありません。
ウ:SSH【誤り】
SSH(Secure Shell)は、安全なリモートログインなどに使用されるプロトコルです。
例えば、離れた場所にあるLinuxサーバを操作するときなどに利用されます。
試験対策上は、アプリケーション層の技術として整理すると分かりやすいでしょう。
したがって、ネットワーク層でIP通信を暗号化する今回の答えにはなりません。
エ:TLS【誤り】
TLS(Transport Layer Security)は、クライアントとサーバ間に安全な通信路を提供するためのプロトコルです。
代表例が、
HTTPS = HTTP + TLS
です。
TLSでは、盗聴や改ざん、なりすましなどへの対策となるセキュアな通信路を提供します。
ただし、名前に「Transport Layer」と入っているからといって、
「TLS=OSI参照モデルのトランスポート層そのもの」
と単純に覚えるのは避けた方がよいでしょう。
典型的なHTTPS通信なら、
HTTP
↓
TLS
↓
TCP
↓
IP
という関係になります。
TLSは上位プロトコルの通信を保護するものであり、今回求められているIP層での暗号化には該当しません。TLSは下位のトランスポートに信頼できる順序付きデータストリームを要求し、その上でアプリケーションの通信を保護します。
問題の用語解説
IPsec
Internet Protocol Securityの略です。
IPv4・IPv6のIP通信に対して、暗号化や完全性、データ送信元認証などのセキュリティサービスを提供します。
IPsecには代表的に、
- トランスポートモード
- トンネルモード
という二つの動作モードがあります。
特にトンネルモードは、IPsec VPNなどで利用されます。
IPv6
IPv6(Internet Protocol Version 6)は、IPv4に続くIPのバージョンです。
IPv4ではアドレス長が32ビットですが、IPv6では128ビットになっています。
IPv4のアドレス空間不足などの課題に対応するために策定されました。
IPsecはIPv6専用ではなく、IPv4とIPv6の両方で利用できます。
PPP
PPPはPoint-to-Point Protocolの略です。
2点間のリンクでデータをやり取りするために利用される、データリンク層のプロトコルです。
SSH
SSHはSecure Shellの略です。
ネットワーク経由で別のコンピュータに安全にログインしたり、コマンドを実行したりするときなどに使用します。
TLS
TLSはTransport Layer Securityの略です。
HTTPSなどで利用され、クライアントとサーバ間に安全な通信路を提供します。
TLS 1.3では、サーバ認証、必要に応じたクライアント認証、通信内容の保護などの仕組みが規定されています。
IPsec・TLS・SSH・PPPを整理する
今回の4つを簡単に整理すると、次のようになります。
| 技術 | 主な役割 | 試験対策上の位置付け |
| IPsec | IP通信の暗号化・認証など | ネットワーク層 |
| PPP | 2点間リンクでの通信 | データリンク層 |
| SSH | 安全なリモートログインなど | アプリケーション層 |
| TLS | HTTPSなど上位プロトコルの通信保護 | TCPなどの上で利用 |
特に、
IPそのものを守る
↓
IPsec
Webなどの通信を守る
↓
TLS
リモートログインを安全にする
↓
SSH
という「何を守るのか」で整理すると覚えやすくなります。
体系的位置づけ
今回の問題は、応用情報技術者試験のテクノロジ系に位置付けられる内容です。
大きく整理すると、
テクノロジ系
↓
技術要素
↓
ネットワーク
↓
ネットワークセキュリティ
↓
IPsec
という流れで理解できます。
ネットワークの問題では、プロトコル名だけを暗記するのではなく、
「どの層で、何をする技術なのか」
までセットで整理しておくことが重要です。
今回の問題の重要ポイント
今回、特に押さえておきたいポイントは次のとおりです。
| ポイント | 内容 |
| IPsec | IP層で通信を保護する |
| 対応IP | IPv4・IPv6の両方 |
| IPv6との関係 | IPv6だから自動的にIPsecで暗号化されるわけではない |
| TLS | HTTPSなどで利用されるが、IP層の暗号化ではない |
| SSH | 安全なリモートログインなどに利用 |
| PPP | データリンク層のプロトコル |
試験問題を解くだけなら、
「ネットワーク層」→「IP」→「IPsec」
という連想ができれば十分です。
さらに一歩進んで、
「IPv6=自動的にIPsecで暗号化」ではない
ところまで理解しておけば、知識としてもより正確です。
まとめ
今回の問題の正解は、
ア:IPsec
です。
IPsecはIPv4・IPv6のIP通信に対して、暗号化や完全性、データ送信元認証などのセキュリティサービスを提供します。
そして今回最大のポイントは、
IPsecがIP層、つまりネットワーク層で通信を保護する技術であること
です。
覚え方としては、
IPをSecureにするからIPsec
くらいシンプルに結び付けておくとよいでしょう。
一方で、IPv6を使えば自動的にIPsecで暗号化されるわけではありません。この点は混同しないようにしておきましょう。現在のIPv6ノード要件でも、IPsecアーキテクチャのサポートは必須ではなく推奨とされています。

コメント