IPsecの仕組みを初心者にも分かり易く解説
インターネットで「IPsec」と調べると、ESP、AH、IKE、SA、トンネルモードなど、難しい言葉が沢山出てきます。
でも、IPsecの考え方その物はそこまで難しくありません。
ひとことで言うと、IPsecはインターネット上でデータを安全に送るための仕組みです。
例えるなら、普通の通信が「はがき」だとすると、IPsecを使った通信は「鍵つきの箱に入れて送る荷物」の様な物です。
中身を見られにくくし、途中で書き換えられていないかを確認し、相手が本物かどうかもチェックします。
IPsecの公式仕様では、IPsecはIP層、つまりインターネット通信の土台に近い部分で、暗号化、送信元の確認、改ざんチェック、再送攻撃への対策などを行う仕組みとして説明されています。

IPsecとは何か
IPsecは「通信を安全にするためのルール」
IPsecとは、Internet Protocol Securityの略です。
日本語にすると「インターネット通信を安全にするための仕組み」という意味になります。
ここで大切なのは、IPsecは1つの機能だけを指す言葉では無いという事です。
IPsecは、暗号化、認証、改ざんチェック、鍵の交換など、幾つかの技術を組み合わせた物です。
上位記事でも、IPsecはAH、ESP、IKEといった複数の仕組みが連携して成り立つものとして説明されています。
例えば、あなたが友達に大事な手紙を送るとします。
普通の葉書に書いて送ると、配達の途中で誰かに見られるかもしれません。
内容を書き換えられても、すぐには気付けないかもしれません。
更に、本当に友達から返事が来たのか、別の人がなりすましているのかも分かりにくいです。
そこで使うのが、IPsecの考え方です。
IPsecでは、まず通信相手が本物かどうかを確認します。
次に、データを暗号化して、外から中身を見られにくくします。
そして、届いたデータが途中で書き換えられていないかも確認します。
つまりIPsecは、インターネットという誰でも使える道路の上で、出来るだけ安全にデータを運ぶための仕組みです。
インターネットは便利ですが、会社の重要な情報や個人情報をそのまま流すには不安があります。
そこでIPsecを使い、安全な通信の通り道を作ります。
特に企業では、本社と支社をつなぐVPNや、外出先から社内ネットワークに入るための仕組みとしてIPsecが良く使われます。
IPsecを理解すると、「VPNはなぜ安全と言われるのか」「通信を守るとは具体的に何をしているのか」が見え易くなります。
なぜIPsecがVPNで使われるのか
インターネット上に「安全な専用道路」を作れるから
IPsecは、VPNで良く使われます。
VPNとは、Virtual Private Networkの略で、日本語では「仮想専用線」と呼ばれます。
名前だけ見ると難しいですが、イメージはとてもシンプルです。
VPNは、インターネットの中に自分達だけが安全に使える通り道を作る技術です。
例えば、東京本社と大阪支社がある会社を考えてみましょう。
社員は本社のサーバーにある資料を大阪支社から見たいかもしれません。
この時、普通のインターネット通信でそのまま資料を送ると、途中でのぞき見される心配があります。
そこで、本社と支社の間にVPNを作ります。
そして、そのVPNの通信を守る技術としてIPsecを使います。
すると、インターネット回線を使っていても、通信の中身は暗号化され、外から見られにくくなります。
例えるなら、普通のインターネットが「みんなが通る一般道路」だとすると、IPsec VPNはその道路の中に作る「鍵つきの専用トンネル」の様な物です。
道路その物はみんなが使っていますが、トンネルの中に入れるのは許可された人だけです。
そして、トンネルの中を通る荷物は外から見えません。
ただし、IPsecを使えば何でも完全に安全になる訳ではありません。
IPAは、VPN機器などネットワークの出入口にある機器の深刻な脆弱性が、実際の攻撃に悪用される事があると注意喚起しています。
VPN機器が古いままだったり、管理画面を外部に公開していたりすると、攻撃者に狙われる危険があります。
つまりIPsecは、通信を守るための強い仕組みですが、それを動かす機器の管理も大切です。
鍵つきのトンネルを作っても、入口の鍵が壊れていたら意味がありません。
IPsecの仕組みを理解すると同時に、機器のアップデートや設定の見直しも必要になります。
IPsecの仕組みを3ステップで理解する
IPsecは「確認する・鍵を決める・守って送る」の流れで動く
IPsecの仕組みは、細かく見ると沢山の処理があります。
しかし初心者は、まず次の3ステップで理解すれば大丈夫です。
1つ目は、通信相手を確認する事です。
2つ目は、暗号化に使う鍵やルールを決める事です。
3つ目は、実際のデータを暗号化して送る事です。
この流れを、学校のロッカーに例えてみましょう。
まず、ロッカーを使う前に「この人は本当に利用して良い人か」を確認します。
これが通信相手の確認です。
次に、「どの鍵を使うか」「いつまで使えるか」「どんなルールで開け閉めするか」を決めます。
これが鍵やルールの決定です。
そして最後に、荷物をロッカーに入れて鍵をかけます。
これが暗号化された通信です。
IPsecでは、この最初の話し合いを主にIKEという仕組みが担当します。
IKEv2の公式仕様では、IKEはIPsecの一部であり、通信相手同士の認証を行い、SAという安全な通信のための情報を作ったり保ったりするものと説明されています。
ここで出てくるSAとは、Security Associationの略です。
これは「この相手とは、この暗号方式で、この鍵を使って、このルールで通信しましょう」という約束の様な物です。
つまり、IPsecではいきなりデータを送るのではありません。
まず通信相手と安全に話し合い、鍵やルールを決めます。
その後で、決めたルールに従ってデータを守りながら送ります。
この考え方が分かると、IPsecの全体像がかなり見え易くなります。
IPsecは魔法の様に勝手に通信を安全にしているのではなく、通信前にきちんと準備をしてから、安全な通信を始めているのです。
IPsecを構成するESP・AH・IKE
ESP・AH・IKEはそれぞれ役割が違う
IPsecを学ぶと、ESP、AH、IKEという言葉が必ず出てきます。
この3つが混ざると一気に難しく感じますが、役割で分けると分かり易くなります。
まず、ESPはデータを守る中心的な仕組みです。
正式にはEncapsulating Security Payloadといいます。
ESPは、データの中身を暗号化して見られにくくしたり、途中で書き換えられていないかを確認したり出来ます。
公式仕様でも、ESPは暗号化、送信元の確認、改ざんチェック、再送攻撃への対策などを提供するものと説明されています。
次に、AHは主に「このデータは本当に正しい相手から来たのか」「途中で書き換えられていないか」を確認する仕組みです。
AHの公式仕様では、AHはIPデータの改ざんチェックや送信元の確認、再送攻撃への対策に使われると説明されています。
ただし、AHはデータの中身を隠す暗号化そのものは行いません。
そのため、現在のIPsecでは、暗号化も出来るESPが中心的に使われる事が多いです。
そして、IKEは鍵やルールを決めるための仕組みです。
IKEは、データ本体を運ぶというよりも、「これから安全に通信するために、どの鍵を使うか」「相手は本物か」「どの暗号方式を使うか」を話し合う役割を持っています。
たとえるなら、ESPは「鍵つきの箱」、AHは「封印シール」、IKEは「鍵の受け渡し係」です。
鍵つきの箱があれば、中身を見られにくくできます。封印シールがあれば、途中で開けられたかどうかに気づきやすくなります。そして鍵の受け渡し係がいなければ、そもそも安全に鍵を共有できません。
IPsecは、この3つの様な仕組みを組み合わせて、安全な通信を実現しています。
初心者はまず、「ESPはデータを守る」「AHは正しさを確認する」「IKEは鍵やルールを決める」と覚えると、かなり理解しやすくなります。
SAとは何か
SAは「安全に通信するための約束メモ」
SAとは、Security Associationの略です。
日本語にすると「セキュリティ上の関係」の様な意味になりますが、それだと分かりにくいですよね。
初心者は、SAを安全に通信するための約束メモだと考えてください。
例えば、友達と秘密のメッセージをやり取りするとします。
その時、次の様な約束をしたとしましょう。
「暗号のルールはこれにしよう」
「この鍵を使おう」
「この約束は今日の夜まで有効にしよう」
「相手はこの人だけにしよう」
この様な約束をまとめたものが、IPsecでいうSAに近いイメージです。
公式仕様では、SAはIPsecの基本となる考え方であり、AHやESPはSAを使い、IKEの大きな役割はSAを作って保つことだと説明されています。
また、SAは安全のために作られる一方向の論理的な接続であり、同じSAを通る通信には同じ安全処理が行われると説明されています。
ここで「一方向」という言葉が少し分かりにくいかもしれません。
簡単に言うと、AさんからBさんへ送る通信と、BさんからAさんへ返す通信は、別々に考えるという事です。
手紙で例えるなら、「AさんからBさんへ送る封筒のルール」と「BさんからAさんへ返す封筒のルール」は別に用意されるイメージです。
IPsecでは、このSAが正しく作られていないと、安全な通信は始められません。
暗号方式が片方だけ違っていたり、鍵が一致していなかったり、有効期限の考え方がズレていたりすると、通信がうまくつながらない事があります。
つまりSAは、IPsecの裏側でとても重要な役割を持っています。
目には見えにくいですが、IPsecが安全に通信出来るのは、SAという約束がきちんと作られているからです。
トンネルモードとトランスポートモード
初心者はまずトンネルモードを覚えればよい
IPsecには、主に2つの通信モードがあります。
それが、トンネルモードとトランスポートモードです。
この2つは、「どこまで通信を包み込んで守るか」が違います。
まず、トンネルモードから見ていきましょう。
トンネルモードは、元のIPパケットを丸ごと包み込み、その外側に新しいIP情報をつけて送る方式です。
例えるなら、手紙を封筒に入れ、その封筒を更に別の大きな封筒に入れて送る様な物です。
中の封筒には本当の送り先や内容が入っています。
でも外から見えるのは、外側の封筒の情報だけです。
そのため、中身を守りながら通信出来ます。
公式仕様でも、トンネルモードでは外側のIPヘッダと内側のIPヘッダがあり、内側の通信をトンネルの中に入れて扱うと説明されています。
また、セキュリティゲートウェイが関わる通信では、基本的にトンネルモードが使われるとされています。
会社の本社と支社をつなぐIPsec VPNでは、このトンネルモードが良く使われます。
本社のルーターと支社のルーターの間に安全なトンネルを作り、その中を社内データが通るイメージです。
一方、トランスポートモードは、元のIPヘッダは大きく包み直さず、主に中身のデータ部分を守る方式です。
公式仕様では、トランスポートモードは主にホスト同士の通信で使われ、ESPの場合はIPヘッダではなく、その次の層のデータ部分を守ると説明されています。
ざっくり言えば、トンネルモードは「荷物を箱ごとさらに大きな箱に入れる方式」、トランスポートモードは「荷物の中身を中心に守る方式」です。
会社の拠点同士をつなぐVPNでは、トンネルモードが良く使われる。
パソコン同士など、通信する本人同士を守るときは、トランスポートモードが使われる事がある。
IPsecの学習では、まずトンネルモードをしっかり押さえると理解し易くなります。
IPsec VPNとSSL VPNの違い
IPsec VPNは「ネットワーク全体」、SSL VPNは「使うサービス」を守るイメージ
IPsecを調べていると、SSL VPNという言葉も良く出てきます。
どちらもVPNの技術ですが、得意な事が少し違います。
IPsec VPNは、ネットワークの土台に近い部分で通信を守ります。
Cloudflareの解説でも、IPsecはOSI参照モデルのネットワーク層で動き、IPの上で直接働く仕組みとして説明されています。
一方、SSLはよりアプリケーションに近い層で動き、HTTPなどの通信を暗号化すると説明されています。
これも例えで考えると分かり易いです。
IPsec VPNは、会社のネットワークに丸ごと安全な通路を作るイメージです。
家から会社のネットワークにつなぐと、まるで社内にいるようにサーバーやシステムへアクセス出来る場合があります。
一方、SSL VPNは、特定のWebシステムやアプリに安全に入るための入口を作るイメージです。
例えば、ブラウザから社内の勤怠システムやメールにアクセスする様な使い方です。
Palo Alto Networksの解説でも、SSL VPNは個々のWebセッションを保護するのに対し、IPsecはネットワークトラフィック全体を暗号化する点が違いとして説明されています。
つまり、IPsec VPNとSSL VPNの違いは、「どこまでつなぐか」にあります。
本社と支社をつなぐように、ネットワーク同士をしっかり接続したいならIPsec VPNが向いています。
一方で、外出先から特定のWebサービスだけ使わせたい場合は、SSL VPNが向いていることがあります。
ただし、どちらが絶対に上という訳ではありません。
会社の規模、使うシステム、社員の働き方、セキュリティの考え方によって、向いている方法は変わります。
大事なのは、「何を守りたいのか」「誰にどこまで使わせたいのか」を考えて選ぶ事です。
IPsecでよくつまずくポイント
NAT、ポート、設定ミス、機器の古さに注意する
IPsecは便利な仕組みですが、実際に使う時にはつまずきやすいポイントもあります。
初心者が特に知っておきたいのは、NAT、ポート、設定ミス、VPN機器の管理です。
まず、NATについてです。
NATとは、家庭や会社のルーターで良く使われる仕組みで、プライベートIPアドレスとグローバルIPアドレスを変換します。
家庭のWi-Fiで複数のスマホやパソコンが同じインターネット回線を使えるのは、このような仕組みのおかげです。
しかし、IPsecの一部の通信は、このNATと相性が悪い事があります。
そこで使われるのがNATトラバーサル、よくNAT-Tと呼ばれる仕組みです。
RFC 3948では、ESPパケットをUDPの中に包む事で、NATを通過しやすくする方法が定められています。
次に、ポートやプロトコルの問題です。
IPsecでは、IKEの通信やESPの通信など、幾つかの通信が関係します。
例えば、IKEはUDP 500番を使って相手と話し合い、NATがある場合にはUDP 4500番が使われる事があります。
学習サイトでも、IKEがUDP 500番を使って相手ルーターと交渉する事が説明されています。
ファイアウォールで必要な通信が止められていると、IPsec VPNはうまくつながりません。
「IDもパスワードも合っているのに接続出来ない」という場合、実は必要なポートや通信方式が許可されていない事があります。
更に多いのが、設定ミスです。
IPsecでは、通信する両側の機器で設定を合わせる必要があります。
暗号方式、認証方式、鍵、モード、有効期限などが片方だけ違うと、通信が失敗する事があります。
例えるなら、片方が「青い鍵で開ける」と思っているのに、もう片方が「赤い鍵で開ける」と思っている状態です。
これでは扉は開きません。
そして最後に重要なのが、VPN機器の管理です。
IPsecの仕組みそのものが強くても、使っているVPN機器に古い脆弱性が残っていると危険です。
IPAは、VPN機器などネットワークの出入口にある機器の脆弱性が悪用され、組織内への侵入や攻撃の踏み台化につながる恐れがあると注意しています。
また対策として、パッチ適用、古い機器の更新、不要なサービスやポートの停止、監視の強化などを挙げています。
IPsecを安全に使うには、仕組みを知るだけでなく、設定と運用も大切です。
鍵つきのトンネルを作っても、入口のドアが壊れていたり、管理者だけが使う画面を誰でも見られる場所に置いていたりすれば、そこから攻撃されるかもしれません。
IPsecの仕組みを初心者向けにまとめる
IPsecは「相手確認・鍵交換・暗号化」で理解する
IPsecは、最初に見るとかなり難しく感じます。
ESP、AH、IKE、SA、トンネルモード、トランスポートモードなど、専門用語が一気に出てくるからです。
でも、全体の流れはとてもシンプルです。
まず、通信相手が本物かどうかを確認します。
次に、どの鍵やルールで通信するかを決めます。
そして、そのルールに従ってデータを暗号化し、安全に送ります。
この流れを担当するのが、IKE、SA、ESP、AHといった仕組みです。
IKEは、通信前の話し合いをする係です。相手を確認し、鍵やルールを決めます。
SAは、その話し合いで決まった約束メモです。
ESPは、実際のデータを暗号化したり、改ざんを確認したりする中心的な仕組みです。
AHは、データが正しい相手から来たか、途中で書き換えられていないかを確認する仕組みです。
そして、企業のVPNで良く使われるのがトンネルモードです。
トンネルモードでは、元の通信をまるごと包み込み、安全なトンネルの中を通すようにして送ります。
つまりIPsecは、インターネット上に安全な通り道を作るための技術です。
普通のインターネットは便利ですが、誰が途中で見ているか分かりません。
IPsecは、その通信を鍵つきの箱や安全なトンネルの様にして守ります。
ただし、IPsecを使っていれば何もしなくて良い訳ではありません。
設定を間違えればつながりませんし、VPN機器を古いまま放置すれば攻撃される危険もあります。
安全に使うには、仕組みの理解、正しい設定、機器のアップデート、不要な公開の停止が大切です。
IPsecは、IP通信を安全にする仕組み。
IKEは、相手確認と鍵の相談をする仕組み。
SAは、安全に通信するための約束メモ。
ESPは、データを暗号化して守る中心的な仕組み。
トンネルモードは、会社の拠点間VPNなどでよく使われる方式。
この5つが分かれば、IPsecの全体像はかなりつかめます。
細かい設定や専門用語は、その後で少しずつ理解していけば大丈夫です。
コメント