情報処理安全確保支援士(情報セキュリティスペシャリスト)試験に合格するためのサイトです。
過去問を多数引用しながら、基礎知識をしっかり学んでもらうように作ってあります。
また、情報処理安全確保支援士(情報セキュリティスペシャリスト)を楽しく学べるように工夫したいと思います。
カテゴリ:

7.通信の暗号化 > 7.2 IPsec

VPNとは
 VPN(Virtual Private Network)とは、仮想的なネットワークを構築することです。NTTなどの通信キャリアが提供するIP-VPNや、インターネット上に構築するインターネットVPNがその代表です。インターネットVPNを実現する技術がIPsec(Security Architecture for Internet Protocol)です。

VPNの目的
VPNの目的というか意義について、過去問(H19秋SU午後1問1)にて解説されている。
O君:基本的なことですが,これらのVPNを用いる意義は何ですか。例えば,AESといった共通鍵暗号化方式で暗号化したファイルを転送すれば,VPNは必要ないと思います。
S君:そうとは言い切れないよ。ファイル転送の際,暗号化によって盗聴は防げるが,暗号化だけでは,[ ア ]や[ イ ]の脅威を防ぐことはできない。VPNを適切に用いれば,それらの脅威に対処できる。また,暗号鍵は接続ごとに更新することが望ましいので,そのための仕組みもこれらのVPNでは利用できる。
O君:なるほど。 VPNで総合的なセキュリティを確保できるということですね。

設問2 本文中の[ ア ],[ イ ]に入れる適切な字句を,それぞれ15字以内で答えよ。ただし,[ ア ]には真正性について,[ イ ]にはデータの完全性について答えよ。
O君の指摘はナカナカ鋭い。こう思った人もいるだろうし、私も一瞬、「そういえばそうだな」と思ってしまった。
アは真正性なので、なりすましだ。イは安全性なので、改ざんである。
試験センターの解答例は15文字ということで、少し長めだ。
ア 意図しない相手との通信
イ データ破壊

加えて、後半の問題文にある「VPN導入後、利用者の手間がかからない」という記述もあり、これも利点であろう。個別に暗号化処理をするのは面倒である。しかし、ルータ等でVPNの経路を作ってしまえば、利用者は何も気にせずにセキュアな通信が行える。

IPsec
IPsec(Security Architecture for Internet Protocol)は難しいです。でも,一回理解してしまえば簡単です。このとき「トンネル」という概念で覚えるのではなく,パケットレベルでどうなるかを理解して下さい。本質を理解することが近道です。
また,最初から細部まで理解しようとするよりは,まず全体像を理解し,そこからブレークダウンすることをおすすめします。
過去問(H23SC春午前2問18)では、IPsecに関して、「インターネットVPNを実現するために用いられる技術であり、ESP(Encapsulating Security Payload)やAH(Authentication Header)などのプロトコルを含むもの」と述べられています。

IPsecの概要
下図はIPsecでの通信の様子である。通常のルータによるルーティングとの違いを,パケットの変化に注意しながら見てほしい。以下はホストAからホストBへ,VPNルータでIPsecによる暗号化の通信である。

ipsec
ipsec
VPNルータAとVPNルータBの間でトンネルを作り,
その中をデータが流れるのですよね。
でもトンネルってどんなのですか?
トンネルは作られない。私も最初は仮想のトンネルが作られると思っていた。
だから、混乱した。
実際の動きは,元のパケットを暗号化し,新しいヘッダを付けます。つまり,トンネルではなくカプセル化である。

IKEの実行モードは,試験でよく問われる。

メインモード
IPsec接続先のIPアドレスも認証情報として利用する。したがって,双方とも固定IPアドレスでなければ認証ができない。その分、下のアグレッシブモードに比べ、メインモードの方がセキュリティは強固だ。認証情報であるIPアドレスは偽装が難しいからである。

アグレッシブモード
IPsec接続先のIPアドレスは認証情報として利用しない。したがって,動的IPでも認証できる。固定IPアドレスは費用がかかるので,コスト面でアグレッシブモードを選ぶ企業も多いであろう。
ネットワークスペシャリスト試験では,動的IPを利用するときには,アグレッシブモードを利用しなければならないことが何度か出題されている。
Aggressive(アグレッシブ)モードでは,XAUTH(eXtended AUTHentication)というIKEの拡張機能で認証を強化する場合がある。リモートアクセスユーザが不正な第三者でないか判断するために,VPN装置がRADIUSサーバと連携して認証を行う。
過去問では以下のように述べられている。
IKEのフェーズ1には、メインモードとアグレッシブモードがあり、リモートアクセスの利用形態に依存してどちらかを使います。メインモードでは、端末のIPアドレスをIDとし、それに事前共有鍵を割り当てます。一方、アグレッシブモードでは、利用者のIDなど運用者が独自に設定したIDに対して事前共有鍵を割り当てます。(H19SV午後Ⅱ-2より引用)
d18680c9
この問題では、IPsecに関して技術的に詳細な情報が記載されています。
この文章もそうですが、読むのが結構つらかったです。




確かに難しい。でも、この文章も別の言い方をすると、考え方は同じだ。
メインモードは両端が固定IPアドレスが要件。一方のアグレッシブモードは、独自に設定したIDを利用できるということは、動的IPアドレスでも利用できるということが分かる。

ESPとAH
ESPとAHの2種類のセキュリティプロトコルがある。
ESP(Encapsulating Security Payload)が一般的で,暗号化と認証の両方の機能を持つ。
一方AH(Authentication Header)は,認証のみの機能を持ち,あまり利用されていない。

IKE(Internet Key Exchange)
鍵交換のプロトコル。IPsec通信のための鍵交換を安全に実施する仕組みであるが,IPsecに必須な機能ではない。。しかし,鍵交換を自動で行ってくれるため,IKEを利用することが多い。

ESPのパケット構造
以下の問題を参考にしながら、解説をする。

図はIPsecのデータ形式を示している。ESPトンネルモードの電文中で,暗号化されているのはどの部分か。

IP

ヘッダ

EPS

ヘッダ

オリジナル

IPヘッダ

TCP

ヘッダ

データ

ESP

トレーラ

ESP

認証データ


ア ESPヘッダからESPトレーラまで
イ TCPヘッダからESP認証データまで
ウ オリジナルIPヘッダからESPトレーラまで
エ 新IPヘッダからESP認証データまで

(H20NW午前問26より)
・ESPヘッダ:SAを識別するためのSPIや,シーケンス番号
・ESPトレーラ:パケットの長さを調整するためのパディング(詰め物)等
・ESP認証データ:パケットが改ざんされていないかを確認するための情報

この問題の正解はウである。オリジナルIPヘッダからESPトレーラまでが暗号化されている。
なので、第三者が見ると、以下のような状態だ。

IP

ヘッダ

EPS

ヘッダ

XXXXXXX

XXXX

XXX

XXX

ESP

認証データ

15863853
あれ?
TCPやUDPにあるようなポート番号がありませんね。




そう。ESPにはポート番号がない。
だからポート番号を使ったNATであるNAPTができないので,VPNパススルーやNATトラバーサルなどが活用される。

IPsecには、トランスポートモードとトンネルモードの2つの通信モードがある。
トランスポートモードは端末間でIPsec通信を行うのに対し,トンネルモードはVPN装置間でIPsec通信を行う。
主流はトンネルモード。なぜなら,LANとWANの境界にあるルータ(VPN装置)にIPsecの設定をすれば,LAN内のPCにIPsecの設定を個別にする必要がないからだ。

では、以下の問題を見てみよう。
「ゲートウェイ間の通信経路上だけではなく、送信ホストと受信ホストとの間の全経路上でメッセージが暗号化される(H23SC春午前問2)」IPsecの通信モードは何か?

今回の正解は「トランスポートモード」。
一方のトンネルモードに関して過去問では、「トンネルモードで暗号化すると、元のヘッダまで含めて暗号化される(H18SV 午前問題 問23より)」と述べられている。


IPsec通信の通信手順は以下である。
大きく3つと考えてよい。
IKEが2つ(フェーズ1とフェーズ2 )と,実際の暗号化通信一つの合計3つです。

IKEを使った鍵交換
インターネット上で安全に通信をするために,お互いを認証(例えば事前共有鍵(pre-shared-key))し,暗号方式(例えば3DESやAES )を決め,鍵を交換する。フェーズ1とフェーズ2の2つのフェーズからなる。

 フェーズ1
  ISAKMP SAと呼ばれる制御用のSAを作る。このSAをフェーズ2が利用する。
  ※SA(Security Association)とは,セッションと考えればよい。

 フェーズ2
  IPsec SAと呼ばれる通信用のSAを作る。
  このSAを次で説明するIPsec通信が使用する。

c2f058cb

なんか面倒ですね。フェーズ1をなしにして,フェーズ2だけでいいのでは?




フェーズは1つでもいいのですが,より高速にするためにあえて分ける。
(ややこしいので,解説はこのレベルで止めさせていただく)

ESPプロトコルを使ったIPsecの通信
鍵交換のフェーズ2で決めた暗号化(例えば3DESやAES)や認証の方式(例えばMD5やSHA-1)を用い,作成した鍵を使ってIPsecSAにてIPsecの通信をする。

このページのトップヘ