覚えておきたい!パケットに追加する3要素!IPsecのセキュリティプロトコル「ESP」
はい、こんにちは~。VPNプロトコル「IPsec」について、連続で投稿しております~。
前回は、セキュリティプロトコルのうち、AH(Authentication Header)について、紹介しました。暗号化を行わないため、ほぼ使用されていません。AHヘッダーのなかに、IPパケット全体を計算して得られれたハッシュ値を保持させて認証するのでした。
さて、今回は、もう一つのセキュリティプロトコル、「ESP」の登場です。AHと異なり、データを暗号化します。こちらの方が、本命ですから、「AH」を忘れても「ESP」は理解しておかないといけません。
ということで、さっそく行きましょう!
3つのセキュリティ要素をすべて満たす
前回記事でもお話ししたとおり、VPNは、専用線を使ったときのように公衆回線で安全にデータを送受信する仕組みです。
暗号化により機密性を確保し、改ざん検知により完全性を確保し、認証により真正性を確保します。これをすべて行うのが、「ESP」です。他方、「AH」では暗号化の部分の機能が欠落しています。
ESPのフレーム構成はこうだ
では、ESPのフレーム構成がどうなっているの確認していきましょう。
まずは、処理前のパケットです。
この処理前のIPパケットを、暗号化、認証、改ざん検知が検知ができるようパワーアップしなければなりません。AHでは、AHヘッダを加えましたね。ESPでは、どうなるでしょうか。こうなります。
う~ん、3つもヘッダなどを加えるのですね。AHのときは、AHヘッダだけでした。暗号化すると事情がかなり変わってくるのですね。
さらに、複雑なことにモードが2つあるのでした。上記の図はトランスポートモードのものですが、トンネルモードも含めて絵にすると次の通りになります。
トンネルモードは、元のIPアドレスを含めてAESや3DESで暗号化するので、IPsec専用に別のIPアドレスが追加されていることが分かります。
暗号化する範囲は、暗号化はESPトレーラも含めて行われることに注意しましょう。確か、IPAのネットワークスペシャリスト試験でも暗号化範囲が問われました。
各追加要素の役割
ヘッダだけでなく他にも追加される要素があるわけですから、それぞれ役割があるはずですね。よし、詳しく見てみましょう!
1)ESPヘッダ
構成:ESPヘッダには、SPI(Security Parameter Index)とシーケンス番号で構成されています。
役割:SPIは、受信側でどのセキュリティアソシエーション(SA)が適用されるかを識別するために使用されます。シーケンス番号は、リプレイ攻撃を防ぐために用いられます。
2)ESPトレーラ
構成:ESPトレーラには、パディング(データの長さを一定に保つために追加される無意味なデータ)、パディングの長さ、次のヘッダの種類を示すフィールドが含まれます。
役割:パディングは、暗号化されたデータが一定のブロックサイズを満たすようにするために使用されます。このESPトレーラが暗号化の対象に含まれるのも納得ですね~。次のヘッダのフィールドは、ESPトレーラの後に続くプロトコルの種類を識別します。
3)ESP認証データ
内容:この要素がパケットの完全性と認証を保証します。使われるアルゴリズムは、ハッシュベースのメッセージ認証コードで、HMAC-MD5、HMAC-SHA1、HMAC-SHA2などです。
役割:ESP認証データは、パケットが改ざんされていないことを確認し、送信元の認証を提供します。これにより、セキュリティの向上が図られます。AHでは、これが「AHヘッダ」に入っていましたね~。
注意したいことは、ハッシュ関数への入力データです。ESPでは、IPアドレスがハッシュ関数の入力値に含まれないため、NATでIPアドレスが変更変更になっても否認であれません。AHでは否認されてしまうのでした。覚えてきましょう!
はい、本日は、ここまで。今回は、IPsecセキュリティプロトコル「ESP」についてご紹介しました。これまでの記事で、IPsecの基本がだいぶ頭に入りましたよ!
次回は、別のVPNプロトコルPPTPを見ていきましょう。古いプロトコルですが、IPsecと対比させたら分かりやすいと思います。
では1
この記事が気に入ったらサポートをしてみませんか?