目次
IKE(Internet Key Exchange)とは
IKEは、IPSecの通信を行うIPSec SAの生成、管理を行うためのプロトコルです。IPSec SAを生成するには、利用する暗号化アルゴリズムやハッシュアルゴリズムを決定しなければいけません。また、SAを生成するデバイスが正しいデバイスであるかを認証(ピア認証)する必要があります。そして、暗号化を行うための暗号鍵を決めないといけません。IPSecの暗号化は秘密鍵暗号方式を利用します。秘密鍵をデータの送信側と受信側で共有しなければいけません。さらに、同じ暗号鍵をずっと使い続けると、暗号が解読される可能性が増大します。そのため、定期的に暗号鍵を変更することも必要です。
こうした作業を手作業で行うのはとても手間がかかります。人間の手がかかるほど、設定ミスの可能性も増えるし、暗号鍵が漏れてしまう危険性も増えてしまいます。IPSec SAの暗号化アルゴリズム、ハッシュアルゴリズム、ピア認証や暗号鍵の共有・更新などを自動的に行うことがIKEの目的です。
IKEの基本機能
IKEには3つの基本機能があり、これらの機能によってIPSec SAの生成、管理を行います。
- プロポーザル交換
生成するSAの暗号化アルゴリズムやハッシュアルゴリズムをネゴシエーションするための機能 - Diffie-Hellman交換
IPSec SAの暗号化を行うための秘密鍵を生成します。Diffie-Hellman交換では、公開鍵暗号方式によって秘密鍵を安全に自動生成することができます。 - ピア認証
SAを生成する対向のデバイスが正規のデバイスであるかを認証します。ピア認証として、次のものがあります。
→PSK(Pre Shared Key:事前共有鍵)
→公開鍵暗号認証
→デジタル証明書
ISAKMP SA
ここでもう1種類のSAが出てきます。ISAKMP SAは「アイサキャンプエスエー」もしくは「アイサカンプエスエー」と発音することが多いです。ISAKMP SAとは、IKEの制御を行うためのSAです。IKEの制御情報を安全にピア間でやりとりするためには、IKEの制御情報も暗号化し、整合性を確認するためにISAKMP SAを生成します。
ISAKMP SAを生成するためにピア間でプロポーザル交換をします。ISAKMP SAのためのパラメータは、次の通りです。
- 暗号化アルゴリズム
- ハッシュアルゴリズム
- ピア認証方式
- Diffie-Hellman交換のパラメータ
- SAのライフタイム
これらの一連のパラメータがISAKMP SA用のプロポーザルで、ピア間でまずISAKMP SAのプロポーザル交換を行います。ピア間で一致するプロポーザルのパラメータを用いて、ISAKMP SAを生成します。
こうしたISAKMP SAを生成するプロセスはIKEのフェーズ1と呼ばれています。
IKEフェーズ1
IKEフェーズ1では、実際にデータを暗号化して安全な通信を行うためのIPSec SAを作成するためのISAKMP SAを作成します。ISAKMP SAを作成するためには、IPSecを利用するデバイス(VPNゲートウェイ)間でProposal交換します。
IKEフェーズ1のProposal交換では、次のパラメータをネゴシエーションします。
- 暗号化アルゴリズム
ISAKMP SAを暗号化するための暗号化アルゴリズムです。DES-CBCや3DES-CBCなどがあります。 - ハッシュアルゴリズム
フェーズ1で利用するハッシュアルゴリズムです。SHA-1やMD5などがあります。 - 認証方式
VPNゲートウェイ間の認証方式です。事前共有鍵(PSK)認証、デジタル署名認証、公開鍵認証などがあります。 - Diffie-Hellman交換
IPSec SAで利用する秘密対象鍵を安全に生成するためのDiffie-Hellman交換のパラメータです。DHグループ1、DHグループ2、DHグループ5などがあります。 - SAのライフタイム
ISAKMP SAの有効期間です。時間で指定する場合と、データの転送量で指定する場合があります。
Proposal交換は、IPSecで暗号化するパケットがトリガーとなります。VPNゲートウェイがIPSec化対象のパケットを受信すると、IKEフェーズ1のProposal交換を開始します。Proposalは複数設定することもできます。VPNゲートウェイ間で一致したパラメータのProposalのうちから選択します。
IKEフェーズ2
IKEフェーズ2では、実際にデータを転送するためのIPSec SAを確立するためのさまざまなパラメータのネゴシエーションを行います。フェーズ2でネゴシエーションするパラメータには次のものがあります。
- セキュリティプロトコル(ESP or AH)
IPパケットをESPもしくはAHのどちらでカプセル化するかを決めます。1つのSAにはESPかAHどちらかのみ適用できます。 - ライフタイム
IPSec SAの有効期間です。ISAKMP SAと同様に時間で指定することもできればデータの転送量で指定することもできます。 - カプセル化モード
トンネルモード、トランスポートモードのどちらのモードでカプセル化するかを決めます。 - 暗号化アルゴリズム
セキュリティプロトコルとして、ESPを利用しているときの暗号化アルゴリズムを決めます。 - ハッシュアルゴリズム
IPSec化したパケットが改ざんされていないかをチェックするためのハッシュアルゴリズムを決定します。セキュリティプロトコルとしてAHを指定しているときは必須です。ESPの場合はオプションです。 - Diffie-Hellman交換
基本的にIPSec SAでは、フェーズ1のDiffie-Hellman交換で生成した値とフェーズ2で生成する値から秘密対象鍵を生成します。よりセキュリティを高めるためのオプションとして鍵のPFS(Perfect Forward Security)があり、フェーズ2でもDiffie-Hellman交換により、秘密対象鍵を生成することができます。
フェーズ2は、フェーズ1のネゴシエーションが完了して、ISAKMP SAが確立してから行われます。フェーズ2でも複数のProposal交換を行うことができます。
IkEフェーズ2のネゴシエーションでIPSec SAが確立すれば、IPパケットにESPもしくはAHのカプセル化を行いIPSec化します。そして、そのIPSec化したパケットを送信します。また、生成されたIPSec SAはライフタイムが経過するとターミネートされることになります。
インターネットVPN
- インターネットVPNの概要
- インターネットへの接続形態
- VPNサービスとは?
- NordVPN ~セキュアなVPNサービスを手軽に利用しよう~
- IPSecの概要
- IKE ~SAの生成と管理~
- IPSec サイト間VPNの動作
- IPSec サイト間VPNの設定 ~crypto mapによる設定~
- IPSec サイト間VPNの設定例
- [演習]サイトツーサイトIPSec-VPN(crypto map)
- [演習]サイトツーサイトIPSec-VPN(VTI)
- [演習]サイトツーサイトIPSec-VPN(VTI) トラブルシューティング
- IPSec 設定ミスの切り分けと修正 Part1
- IPSec 設定ミスの切り分けと修正 Part2
- IPSec 設定ミスの切り分けと修正 Part3
- DMVPNの設定例
- DMVPN設定演習[Cisco] NHRP Phase1
- DMVPN設定演習[Cisco] NHRP Phase2
- DMVPN設定演習[Cisco] NHRP Phase3
- SSL-VPNの実現方式
- SSL-VPN(クライアントレス)の設定例 (Cisco)