ネットワークスペシャリスト試験でもよく出題されるIPsec。
インターネット上で安全に通信を行う上では欠かせない技術だが、少々仕組みが難しい。
ネットワークスペシャリスト試験の過去問題でも頻出されることから、自分の理解のためにIPsecについてまとめてみる。
体系立てて書いてみたので参考にしてみて欲しい。
IPsecとは
インターネット上で安全にデータ通信を行うための技術だよ!
IPsec(Security Architecture for Internet Protocol)は、TCP/IPのネットワーク層のプロトコル。
IPパケット単位で暗号化、認証、データの改ざん検出機能を提供する。
IPsecは仮想的な通路であるSA(Security Association)を生成し、この通路で通信を行う。
IPsecで通信を行うための仮想的な通路であるSAには以下の3つのSAが必要となる。
①制御用のためのSA
②クライアント⇒サーバ向けのSA
③サーバ⇒クライアント向けのSA
イメージは以下のような感じである。
IPsec通信の暗号化や認証はどうやって行うの?
AHやESPで行うよ!
前述の通り、IPsec通信はIPパケット単位で暗号化や認証を行う。
これを実現するのが次の2つのプロトコルである。
1)AH(Authentication Header)
AHは認証機能のみもつを行うプロトコルである。
つまり、暗号化は行わないのである。
今時珍しいが、国によっては通信の暗号化を禁じている。
でもインターネット上で相手と認証して安全に通信したい場合にAHを使用する。
2)ESP(Encapsulating Security Payload)
ESPは暗号化と認証の両方の機能をもつプロトコルである。
AHとESPどちらも認証機能がダブっておるがどちらか一方で使用するということかのぉ~?
はい。どちらかを選択して使用する形になります!
AHとESPは一度に両方使うのではなく、どちらか一方を使用する。
ただし、どちらも認証を行うためには「鍵」が必要になる。
この鍵を安全に通信先と交換しないと成立しない。
そこで登場するのが「IKEプロトコル」である。
IPsec通信の前にお互いを認証するための鍵を生成して交換する
IPsecは自然と通信を行えるわけではなく、ちゃんと手順に従って可能になるんだね!
IPsec通信はIKE SA(ISAKMP SA)とIPsec SAの2つに大別される。
あれ?SAは3つ作成されると言っておったじゃないか
はい。仕組みが少々難しくしている要因の1つです。
まずは、IKE SA(ISAKMP SA)について確認してみる。
IKE(Internet Key Exchange)は、IPsec通信で使用する鍵を交換するためのプロトコルである。
前述の通り、IPsecは暗号化や認証を行う。
暗号化や認証を行うためには「鍵」が必要になる。
この鍵を安全に交換するために誕生したプロトコルだ。
IKEはその他にも秘密鍵暗号化方式(3DESやAESなど)や認証方式(事前共有鍵や証明書認証など)を決定するために用いられる。
これならIKEフェーズ1だけで良いのではないかのぉ~
IKEフェーズ1では鍵交換するための暗号化方式と暗号鍵の生成を行う。
そして、IKEフェーズ2でIPsec通信するための暗号化方式と暗号鍵の生成を行う。
この2つのフェーズでIPsec SAを生成するため準備を行うのである。
なるほど、IPsec通信をするために2段階踏んでいるということじゃな
そうなんです!
でも、IPsec SAで通信経路が作成された後鍵が盗聴されたら結局同じじゃないかのぉ?
IPsecはよく考えられた仕組みになっている。
確かに、IPsec SAが生成されるまでは厳重に鍵交換を行って経路を生成している。
しかし、その後なにも対策をしなければIPsec SAは作られっぱなしになり、鍵が盗まれてしまうと解読できてしまう。
そこで、リキーという仕組みがある。
SAは一定時間経過すると廃止する仕組みになっており、鍵を再作成しなおしてIPsec SAを再生成する。
この鍵を再作成することをリキーという。
IKEには2つのモードがある
IKEは鍵交換するためのプロトコルであるが、このプロトコルには2つのモードがある。
接続先のIPアドレスを認証情報として使用する場合、接続先のIPアドレスは常に同じものでないと認証できなくなる。
つまり、接続先が固定IPアドレスの場合にメインモードを使用する。
もう一つは接続先の認証情報としてIPアドレスを使わない場合である。
この場合はDHCPなどで自動的に割り振られる動的IPアドレスでも認証が可能であるが、この場合アグレッシブモードを使用する。
IPsec通信方法も2つのモードがある
なぜ、IKEには2つのモードがあるのじゃ?
勉強のみなので推測も入りますが、IPsecの通信方法が関係していると思います!
IPsecはSAを生成して安全な通信を可能にする技術である。
ただ、ここで着目して欲しいのが「安全な通信区間」である。
これがIKEの2つのモードを作った背景ではないかと思う。
まず、IPsecの通信モードにはトランスポートモードとトンネルモードの2つがある。
トランスポートモードは端末間でIPsec通信を行う。
トランスポートのイメージは下記のように端末同士で直接IPsec通信を行う方式である。
例えば、インターネット上のWebサーバと不特定多数のPCを想像してみよう。
この場合、IKEのモードがアクティブモードだとどうなるだろうか?
フリーWiFiを使ってカフェからインターネットのWebサーバに接続する際に、固定IPアドレスで通信できるだろうか?
フリーWiFiを使用する際に固定IPアドレスの設定なんかしないのぉ
まさにその通りなのだ。
だから、IPsec SAを生成する際のIKEもIPアドレスを認証情報として利用しないアグレッシブモードで行わないと、そもそも安全な通信経路を作成できないのだ。
そして、もう一つのIPsec通信の方法にトンネルモードがある。
トンネルモードのイメージは下記の通りVPN装置間でIPsec通信を行う。
トンネルモードを使用することで、端末側が固定IPアドレスであろうと動的IPアドレスであろうと関係がなくなる。
つまり、VPN装置がIPsec通信を肩代わりすることで端末依存がなくなるのだ。
ネットワークスペシャリストで出題される問題例
平成27年度 ネットワークスペシャリスト試験 午後Ⅱ試験 問2では以下のような問題が出題された。
平成27年度 秋期 ネットワークスペシャリスト試験 午後Ⅱ試験 問2では、NAT経由でのIPsecに関する出題が行われた。
この問題では、AHは認証のみ実施するがIPアドレスがNATによって変更されると認証できなくなる理由やESPはポートを保有していないためIPアドレスとポートを変換できないなどの知識が問われた。
このように、ネットワークスペシャリスト試験ではよくIPsecの問題が出題される。
これは、仕組みが複雑でトラブルが起きやすいからこそ現場でもよく起こるあるある話が問題になっているように思う。
逆に言うと、枯れた堅い仕組みは知識問題としては出題されても、問題解決型の午後試験のような事例解析問題には出題されにくい傾向にあると思われる。
まとめ
今回はIPsecについて自分の理解のためにブログにまとめてみた。
最後に本日のまとめをしてみたいと思う。
- IPsecは暗号化、認証、改ざん検知機能を提供する
- 暗号化、認証にはESPプロトコルを使用する
- 認証のみはAHプロトコルを使用する
- 暗号化や認証のためには鍵の交換が必要でIKEプロトコルを使用する
- IKEにはメインモードとアグレッシブモードがある
- メインモードはIPアドレスを認証情報として使用する
- アグレッシブモードはIPアドレスを認証情報として使用しない
- IPsecにはトランスポートモードとトンネルモードがある
- トランスポートモードは端末間でIPsec通信を行う場合の方法
- トンネルモードはVPN装置間でIPsec通信を行う場合の方法
こちらの書籍が非常にわかりやすく解説されているので、是非読んでみて欲しい。
コメント