IPsecの仕組みを図解で説明
〜AHとESP、トンネルモードの違い〜

「IPsec」知っていますか?「SSL/TLS」との違いを説明できますか?

VPNで使う暗号化の技術、くらいの理解の人も多いと思います。

AHやESP、トンネルモードなど、言葉が多いので難しく見えるところです。

IPsecの仕組みについて、図を使って説明していきます。

IPsecとは?

IPsec(Internet Protocol Security)は、IPパケットを暗号化して安全に通信するための技術です。

インターネットを使って、拠点と拠点を安全につなぐ時によく使われています。

IPsecの全体図。拠点Aと拠点BのVPN装置の間で、インターネットを通る通信を暗号化する

図のように、拠点の出入り口にある装置の間で暗号化します。

パソコンのアプリから見ると、普通に通信しているだけです。アプリの側で暗号化を意識する必要はありません。

VPN全体の説明は、VPNの仕組みを図解で説明の記事を読んでみてください。

IPsecの通信の流れ

IPsecは、いきなり暗号化した通信を始めるわけではありません。

まず暗号化に使う鍵を決めてから、データを送ります。

IPsecの通信の流れの図。IKEで相手を確認し、鍵を決めてSAを作り、片方向のSAを1組使ってESPで暗号化したデータを送る

流れは次のようになります。

① IKEを使って、相手を確認し、暗号の種類や鍵を決めて、SAを作る

② ESPでデータを暗号化して送る

IKE(Internet Key Exchange)は、鍵を交換してSAを作るためのプロトコルです。

SA(Security Association)は、使う暗号の種類や鍵などの約束事を決めた通り道だと考えてください。

SAは片方向なので、送信用と受信用の1組を作ります。

AHとESPの違い

IPsecで通信を守るプロトコルには、AHとESPの2つがあります。

試験でも区別が問われやすいところです。

AHとESPの比較の図。AHは送信元の認証と改ざんの検知を行うが中身が見え、ESPは暗号化もするので中身が読めない

AH(Authentication Header)は、送信元の認証と改ざんの検知を行います。暗号化はしません。

ESP(Encapsulating Security Payload)は、暗号化に加えて、送信元の認証と改ざんの検知も行います。

通信の内容を隠したい時は、ESPを使います。

実際のVPNでも、ESPが使われることがほとんどです。

また、AHはIPアドレスも含めて改ざんを検知するので、途中でIPアドレスが変換されると通信できません。

ESPでも、NATを越えるにはNATトラバーサルという仕組みを使います。

アドレスの変換については、NATの仕組みを図解で説明の記事で説明しています。

トランスポートモードとトンネルモード

IPsecには、パケットのどこまでを守るかで2つのモードがあります。

パケットの構造の図。トランスポートモードはデータ部分を暗号化し、トンネルモードは元のIPヘッダを含めて暗号化して新しいIPヘッダを付ける

トランスポートモードは、データの部分だけを暗号化します。

元のIPヘッダはそのまま残るので、端末同士の通信で使います。

トンネルモードは、元のパケット全体を暗号化して、新しいIPヘッダを付けます。

パケットごと包んで運ぶので、「トンネル」と呼ばれます。

宛先のパソコンのIPアドレスも隠すことができるので、拠点間のVPNではこちらを使います。

SSL/TLSとの違い

SSL/TLSも通信を暗号化する技術ですが、守る場所が違います。

守る層の図。SSL/TLSはアプリケーションとトランスポートの間でアプリの通信を守り、IPsecはネットワーク層でIP通信をまとめて守る

SSL/TLSは、Webブラウザなど、特定のアプリの通信を守ります。

IPsecは、ネットワーク層で暗号化するので、アプリの種類に関係なくIPの通信をまとめて守ることができます。

SSL/TLSについては、SSL/TLS通信の仕組みを図解で説明の記事で説明しています。

まとめ

今回はIPsecの仕組みについて説明しました。

IPsecは、まずIKEで鍵を決めてから、ESPで暗号化して通信します。

基本情報技術者試験では、AHは暗号化をしないこと、ESPは暗号化をすること、ネットワーク層で動くことを押さえておきましょう。

VPNの設定画面でも同じ言葉が出てくるので、一度仕組みを理解しておくと役に立つと思います。