情報処理安全確保支援士 - SE娘の剣 -

左門至峰による情報処理安全確保支援士試験に合格するためのサイトです。 過去問を引用しながら、試験に出る基礎知識を体系的かつ詳細に整理します。

IPsec

1.インターネットVPNとIPsec

IPsecに関しては、情報処理安全確保支援士試験というよりはネットワークスペシャリスト試験で中心的に問われる内容です。

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

(2)VPNの目的
VPNの目的というか意義について、過去問(H19秋SU午後1問1)にて解説されている。

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

設問2 本文中の[ ア ],[ イ ]に入れる適切な字句を,それぞれ15字以内で答えよ。
ただし,[ ア ]には真正性について,[ イ ]にはデータの完全性について答えよ。






O君の指摘はナカナカ鋭い。こう思った人もいるだろうし、私も一瞬、「そういえばそうだな」と思ってしまった。
アは真正性なので、なりすましだ。イは安全性なので、改ざんである。
試験センターの解答例は15文字ということで、少し長めだ。
ア 意図しない相手との通信
イ データ破壊

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

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

(4)IPsecの概要
下図はIPsecでの通信の様子である。通常のルータによるルーティングとの違いを,パケットの変化に注意しながら見てほしい。以下はホストAからホストBへ,VPNルータでIPsecによる暗号化の通信である。
https://cdn-ak.f.st-hatena.com/images/fotolife/s/seeeko/20200818/20200818043816.jpg
ipsec
VPNルータAとVPNルータBの間でトンネルを作り,
その中をデータが流れるのですよね。
でもトンネルってどんなのですか?

 トンネルは作られない。私も最初は仮想のトンネルが作られると思っていた。
だから、混乱した。
実際の動きは,元のパケットを暗号化し,新しいヘッダを付けます。つまり,トンネルではなくカプセル化である。

2.IKEの実行モード(メインモードとアグレッシブモード)

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

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

(2)アグレッシブモード
IPsec接続先のIPアドレスは認証情報として利用しない。したがって,動的IPでも認証できる。固定IPアドレスは費用がかかるので,コスト面でアグレッシブモードを選ぶ企業も多いであろう。
ネットワークスペシャリスト試験では,動的IPを利用するときには,アグレッシブモードを利用しなければならないことが何度か出題されている。
Aggressive(アグレッシブ)モードでは,XAUTH(eXtended AUTHentication)というIKEの拡張機能で認証を強化する場合がある。リモートアクセスユーザが不正な第三者でないか判断するために,VPN装置がRADIUSサーバと連携して認証を行う。

過去問では以下のように述べられている。

過去問(H19SV午後Ⅱ-2より引用)
IKEのフェーズ1には、メインモードとアグレッシブモードがあり、リモートアクセスの利用形態に依存してどちらかを使います。メインモードでは、端末のIPアドレスをIDとし、それに事前共有鍵を割り当てます。一方、アグレッシブモードでは、利用者のIDなど運用者が独自に設定したIDに対して事前共有鍵を割り当てます。

d18680c9
この問題では、IPsecに関して技術的に詳細な情報が記載されています。
この文章もそうですが、読むのが結構つらかったです。
 
確かに難しい。でも、この文章も別の言い方をすると、考え方は同じだ。
メインモードは両端が固定IPアドレスが要件。一方のアグレッシブモードは、独自に設定したIDを利用できるということは、動的IPアドレスでも利用できるということが分かる。

3.IPsecのプロトコル

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

f:id:seeeko:20200818124115j:plain
AHの認証って何をするんですか?TCPの3wayハンドシェークでIPアドレスの偽装などは確認できると思いますが・・・
 
パケットの改ざんがされていないかの確認と考えればいいだろう。AHでは、元のパケットのIPヘッダ、TCP/UDPヘッダだけでなく、データ部分までを含めて認証データを計算する。それを受信側で確認する。この機能は素晴らしいが、今のインターネットの世界で通信するには、暗号化がされていないAHよりは、ESPの方が重宝されるのは明らか。

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

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

過去問(H20NW午前問26より)
図はIPsecのデータ形式を示している。ESPトンネルモードの電文中で,暗号化されているのはどの部分か。

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






・ESPヘッダ:SAを識別するためのSPIや,シーケンス番号
・ESPトレーラ:パケットの長さを調整するためのパディング(詰め物)等
・ESP認証データ:パケットが改ざんされていないかを確認するための情報
この問題の正解はウである。オリジナルIPヘッダからESPトレーラまでが暗号化されている。
なので、第三者が見ると、以下のような状態だ。

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

4.NAT traversalについて

IPsec通信では,VPNルータの間にNAT(NAPT)を行う装置があると,通信に失敗することがあります。理由は,IPsecのプロトコルであるESPは,ポート番号を持っていないので,IPsecのパケットはNAT(NAPT)機器を通過できないからです。
そこで,NATトラバーサルという技術を使いESPパケットに,UDPヘッダを付与します。UDPにはポート番号がある(※FortiGateではUDPの4500番を使います)ので,NAT機器を通過することができるのです。
NAT機器がある場合と無い場合の違いを,パケット構造で確認ください。上が従来のESPのパケット構造で,下がUDPヘッダが付与されたNATトラバーサルによるパケット構造です。
https://cdn-ak.f.st-hatena.com/images/fotolife/s/seeeko/20200818/20200818044453.png
情報セキュリティスペシャリスト試験を目指す女性SE

UDP4500というのは宛先、送信元のどちらですか?

 製品によるでしょう。
Fortigateの場合は、両方です。
そして、NAT装置を通過する際、送信元のポート番号が変換されますが、宛先ポートは4500のまま固定されます。

5.トランスポートモードとトンネルモードの2つの通信モード

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

では、以下の情報処理安全確保支援士試験の問題を見てみよう。

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






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

(1)トランスポートモード
トランスポートモードは、端末間でのIPsec通信です。元のパケットのデータ部分だけを暗号化し,IPヘッダは暗号化しません。

(2)トンネルモード
トンネルモードは、VPN装置間でのIPsec通信です。元のパケットのIPヘッダごと暗号化します。
https://cdn-ak.f.st-hatena.com/images/fotolife/s/seeeko/20200818/20200818043928.jpg

6.IPsec通信の通信手順

(1)IKEv1の場合

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

(1)IKEv1を使った鍵交換
インターネット上で安全に通信をするために,お互いを認証(例えば事前共有鍵(pre-shared-key))し,暗号方式(例えば3DESやAES )を決め,鍵を交換する。フェーズ1とフェーズ2の2つのフェーズからなる。
 ❶フェーズ1
 ISAKMP SAと呼ばれる制御用のSAを作る。このSAをフェーズ2が利用する。
 ※SA(Security Association)とは,セッションと考えればよい。
 ※過去問(H28年秋NW午後Ⅱ)では、ISAKMP SA又はIKE SAの「両方をISAKMP SAという」と記載されています。

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

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

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

(2)IKEv2の場合

IKEv2では、シーケンスが変わりました。IKEv1では、ISAKMP SAと、IPsecSAの2つのSAを作りました。一方、IKEv2では、IKE SAとChild SAの2つを作ります。また、IKEv2では、IKE_AUTHというのがありますが、送信元偽装など防ぐための認証機能です。あまり深入りせず、「ふーん、そうなんだ」くらいに考えてください。
かなり雑ですが、試験でRFCレベルの細かいレベルは問われません。
IKE SA=ISAKMP-SA、Child SA=IPsec SAと考えてしまっても、試験対策としては気楽かもしれません。
https://cdn-ak.f.st-hatena.com/images/fotolife/s/seeeko/20230401/20230401145127.png

7.フルメッシュとハブアンドスポーク

IPsecトンネルの接続方式には、2つあります。本社などをハブとして、支店をスポークとして接続する方法がハブアンドスポーク、すべての拠点でIPsecトンネルを張るのがフルメッシュです。

フルメッシュの利点は、拠点間の通信がハブを通らないので、遅延なくできることです。(でも、多くの場合は拠点間通信はあまりありません)。また、拠点が増えると、ハブ拠点の負荷(回線およびNW機器)が高くなります。(機器は高価なものを用意する必要がありますし、処理速度が多くなります。)
ハブアンドスポークの利点は、設定がシンプルで、拠点を追加するときの設定が最小限で済むことです。
また、拠点側は固定IPアドレスである必要がありません。(これは意外に大きなコストメリットです。)

過去問(H30NW午後Ⅰ問3)では、「フルメッシュのIPsecトンネルのネットワーク構成に、追加拠点向けIPsecトンネルを手動で追加設定するネットワーク拡張方式は望ましくない」として、望ましくない理由が問われました。
解答例は「新拠点追加のときに全拠点の設定変更が必要になるから」です。

整理すると、以下であろう。

 ❶ハブアンドスポーク構成のメリット
  ・コストが安くなる(拠点側が固定IPアドレスを準備しなくていいため)
  ・拠点追加時の設定がシンプル

 ❷フルメッシュ構成のメリット
  ・ハブスポのように、本社がボトルネックになる可能性(ルータの負荷、本社回線の負荷)が少ない
  ・耐障害性(ハブとなる本社ルータの障害が、全障害になる)
  ・拠点間通信が高速化(広帯域)

8.IPsecとNHRP

(1)NHRPの機能

 IPsec通信をするには拠点間のIPアドレスが必要。たとえば、本社(固定IP)と名古屋支店(動的IP)でアグレッシブモードで接続する場合でも、名古屋支店は本社のグローバルIPアドレスを知っているから、通信を開始できる。本社から名古屋支店へ通信を開始することはできない。なぜなら、名古屋支店のIPアドレスは動的に変化するからである。
では、名古屋支店(動的IP)と大阪支店(動的IP)でIPsecを接続するにはどうしたらいいか。お互いのIPアドレスがわかればいい。そのために、NHRPを使う。NHRPによって、名古屋支店や大阪支店は本社に対して、自分のIPアドレスを通知する。NHRPによって得られた各拠点のIPアドレスは、本社(のルータ)でデータベース化されて保持する。
名古屋支店は、本社のルータに対して、大阪支店のIPアドレスを問い合わせてIPsecの通信を行うことができるようになる。


(2)過去問をみてみよう

H30秋NW午後1問3にNHRPの説明があります。

NHRPの説明(H30秋NW午後1問3)
FWのIPsec方式のVPN機能のオプションである,IPsecトンネルを動的に確立する機能(以下,自動トンネル機能という)を活用した方式を提案された。そこで,Eさんは,その方式を前提として次の設計方針を立てた。
・本社をハブ拠点,支店の2拠点をスポーク拠点とするハブアンドスポーク構成とし,ハブ拠点とスポーク拠点間のIPsecトンネルを従来どおり固定的に設定する。
・スポーク拠点問IPsecトンネル(以下,S-Sトンネルという)については,拠点間のトラフィックの発生に応じてトンネルを動的に確立させる。
・S-Sトンネルは,一定時間トラフィックがなければ自動的に切断するようにする。
・動的にS-Sトンネルを確立するために,NHRP(Next Hop Resolution Protocol)を用いる。
NHRPは,IPsecトンネル確立に必要な対向側IPアドレス情報を,トンネル確立時に動的に得るのに利用される。IPsecトンネルの確立は,スポーク拠点間での通信の発生を契機にして行われる。例えば,名古屋支店内のPCから大阪支店内のサーバへの通信が行われる場合,⑦名古屋支店のFW3はNHRPによって得られた情報を利用してS-Sトンネルを確立する。このように,自動トンネル機能を利用すれば,フルメッシュ構成のトンネルを手動で設定する必要がない。
 Eさんは,それまでの設計方針をまとめ,ネットワーク機器ベンダの技術者に確認を依頼した。ネットワーク機器ベンダの技術者からは,OSPFと自動トンネル機能を組み合わせて利用する場合の留意点の指摘があった。その指摘の内容は,“スポークとなる機器がOSPFの代表ルータに選出されてしまうと,スポーク拠点間のIPsecトンネルが解放されなくなってしまうので,それを防ぐために,スポークとなる機器のOSPFに追加の設定が必要になる”というものであった。そこで,Eさんは,防止策として⑧追加すべき設定内容を定めた。
(3)実際の設定

では、以下の構成で、NHRPの設定を試してみます。
本社ルータの実IPアドレスは,203.0.113.1で,支店ルータの実IPアドレスは203.0.113.2です。支店ルータは本社ルータの実IPアドレスを知っていますが,本社ルータは支店の実IPアドレスを知りません(※支店では動的IPアドレスで設定されている前提です)。

抜粋になりますが、ポイントとなるConfigは以下です。
[本社ルータ]

interface Tunnel1  
 ip address 10.1.1.1 255.255.255.0  
 ip nhrp authentication passwd  
 ip nhrp map multicast dynamic  
 ip nhrp network-id 123  
 tunnel source GigabitEthernet0  
 tunnel mode gre multipoint  

interface GigabitEthernet0  
 ip address 203.0.113.1 255.255.255.0  

このConfigのポイントは、本社ルータは、支社ルータのIPアドレスを知らないということです。
[支社ルータ]

interface Tunnel1  
 ip address 10.1.1.2 255.255.255.0  
 ip nhrp authentication passwd  
 ip nhrp map 10.1.1.1 203.0.113.1  
 ip nhrp map multicast 203.0.113.1  
 ip nhrp network-id 123  
 ip nhrp nhs 10.1.1.1  
 tunnel source GigabitEthernet0  
 tunnel mode gre multipoint  

interface GigabitEthernet0  
 ip address 203.0.113.2 255.255.255.0  

支社ルータは、ハブとなるルータ(NHS)を指定します。
では、nhrpの状態確認をしてみましょう。

Honsya#sh ip nhrp  
Honsya#  

何も見えません。
では、支社からpingを打ってみましょう。

Shisya#ping 203.0.113.1
Type escape sequence to abort.  
Sending 5, 100-byte ICMP Echos to 203.0.113.1, timeout is 2 seconds:  
!!!!!  
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms  

あらためて、nhrpの状態を見ましょう。すると、以下のように、支社のIPアドレス情報が、本社側から見ることができます。

Honsya#sh ip nhrp  
10.1.1.2/32 via 10.1.1.2  
  Tunnel1 created 00:00:41, expire 01:59:18  
  Type: dynamic, Flags: unique registered   
 NBMA address: 203.0.113.2   
Router#  

9.IPsecに関する過去問(H28秋NW午後Ⅱ問2)

IPsecに関しては、過去問(H28秋NW午後Ⅱ問2)で、用語を含めて詳しい解説があるので紹介します。

〔インターネットVPNの構築技術の検討〕
J君はまず,インターネットVPNの構築に広く利用されているIPsecを調査し,その結果を次のとおり整理した。
(1)IPsecルータ
 ・ IPsecで使用される認証方式,暗号化方式,暗号鍵などは,IPsecルータ同士によるIKE (Internet Key Exchange)のネゴシエーションによって,IPsecルータ間で合意される。この合意は,SA(Security Association)と呼ばれる。
 ・ SAの内容が確定すると,SAに関連付けされたSPI (Security Parameters Index)が,[ ア:32 ]ビットの整数値で割り当てられる。SPIは,IPsec 通イ言の各パケツト中に挿入され,そのパケットに適用されたSAの識別キーとなる。
 ・IPsecルータは,通信相手のIPsecルータにパケットを送信するとき,IPsec通信を行うか否か, IPsec ji信を行うときはどのSAを使うかなど,当該パケットに施す処理を示したセキュリティポリシ(以下, SPという)を選択する。処理には,PROTECT(IPsecを適用して送信), BYPASS (IPsecを適用せずに送信),DISCARD(廃棄)の3種類がある。
 ・SPを選択するキーを[ イ:セレクタ ]と呼び,IPアドレス,プロトコル,ポート番号などが利用される。SPは,SPデータベースで管理される。 SPデータベースは経路表に似た構造をもっている。
・IPsecルータは,通信相手のIPsecルータからパケットを受信すると,パケット中のSPIでSAを識別し,当該SAに関連する情報を取り出す。その情報を基に,受信したパケットを処理する。

(2)IPsecの通信
 ・IPsecの通信手順は,図2のとおりである。
https://cdn-ak.f.st-hatena.com/images/fotolife/s/seeeko/20200818/20200818043427.jpg

  ・IKEフェーズ1では, IKEフェーズ2で使用するISAKMP (Internet SecurityAssociation and Key Management Protocol)SA又はIKE SA (以下,両方をISAKMP SA という)に必要なパラメータの交換,鍵交換及び認証が行われる。
IKEフェーズ1には,メインモードと[ ウ:アグレッシブ ]モードがある。メインモードでは3往復の通信が行われるが,[ ウ ]モードは1往復半の通信で完了する。IKEフェーズ1で決定されるパラメータを表1に示す

   表1 IKEフェーズ1で決定されるパラメータ(抜粋)

パラメータ 説明
暗号化方式 ISAKMPメッセージの暗号化アルゴリズム
ハッシュ方式 ISAKMPメッセージの完全性の検証と鍵計算に使用するハッシュアルゴリズム
ライフタイム ISAKMP SA の生存期間
認証方式 IPsec 通信相手機器の認証方式
鍵交換方式 鍵交換のためのアルゴリズム

 ・ IKEフェーズ2では, IPsec SA に必要なパラメータが決定される。IKEフェーズ2で決定されるパラメータを表2に示す。

   表2 IKEフェーズ2で決定されるパラメータ(抜粋)

パラメータ 説明
セキュリティプロトコル IPsec通信で使用するセキュリティプロトコル
暗号化方式 IPsec 通信で使用する暗号化アルゴリズム
認証方式 IPsec通信で使用する認証アルゴリズム
ライフタイム IPsec SA の生存期間
通信モード トンネルモード又はトランスポートモード

 ・IKEフェーズ2の通信は, IKEフェーズ1で確立したISAKMP SAを使って行われる。IKEフェーズ2では, 1往復半の通信でIPsec SAを確立する。IPsec 通イ言は,IKEフェーズ2で確立したIPsec SA を使って行われる。
 ・IPsecは,暗号化機能とトンネリング機能をもち,通信相手のIPsecルータの認証,安全な鍵生成,転送データの暗号化,転送データの完全性の認証などを行う。
  ・トンネリングは,インターネットのような共用ネットワーク上の2点間で,仮想の専用線を構築することである。トンネリングは,あるプロトコルのトラフィックを別のプロトコルでカプセル化することで実現する。
 ・IPsecでは,ユニキヤストのIPパケットをカプセル化して転送する。
調査の結果,Y社で検討中のIPsecルータは、OSPFの通常の設定では、リンクステート情報の交換パケットをカプセル化できないので. J君は, IPsecによってインターネットVPNを構築したとき, OSPFを稼働することができないと考えた。静的経路制御でも広域イーサ網との間で負荷分散を行うことができるが,運用管理を容易にするためにOSPFを稼働させたい。
そこで,J君は,調査結果を基にN主任に相談したところ,“他のトンネリング技術についても調査するように”という指示を受けた。