IKEv2

$Date: 2017/10/11 12:06:56 $

  1. 概要
  2. 注意事項
  3. 対応する機種とファームウェアリビジョン
  4. 詳細
  5. コマンド仕様
  6. 設定例
  7. SYSLOG一覧
  8. 関連文書

概要

ヤマハルーターに搭載されているIKEv2の機能について説明します。
本機能は以下のRFCを基にして実装されています。

・RFC4306 : Internet Key Exchange (IKEv2) Protocol
・RFC4718 : IKEv2 Clarifications and Implementation Guidelines
・RFC5996 : Internet Key Exchange Protocol Version 2 (IKEv2)
・RFC3748 : Extensible Authentication Protocol (EAP)
・RFC3280 : Internet X.509 Public Key Infrastructure
Certificate and Certificate Revocation List (CRL) Profile

なお、IKEv2では鍵交換時の認証方式として、新たにデジタル署名方式とEAP-MD5認証方式が追加されます。これらの詳細については以下のドキュメントをご覧ください。


注意事項


対応する機種とファームウェアリビジョン

機種 ファームウェア
RTX830 Rev.15.02.01以降
NVR700W Rev.15.00.02以降
RTX1210 Rev.14.01.05以降
RTX5000 Rev.14.00.08以降
RTX3500 Rev.14.00.08以降
FWX120 Rev.11.03.02以降
RTX810 Rev.11.01.04以降
RTX1200 Rev.10.01.22以降
RTX3000 Rev.9.00.50以降

詳細


コマンド仕様

IPsec動作の設定
IKEバージョンの設定
事前共有鍵の登録
IKEの鍵交換を始動するか否かの設定
設定が異なる場合に鍵交換を拒否するか否かの設定
IKEの鍵交換に失敗したときに鍵交換を休止せずに継続するか否かの設定
鍵交換の再送回数と間隔の設定
相手側のセキュリティ・ゲートウェイの名前の設定
相手側セキュリティ・ゲートウェイのIPアドレスの設定
相手側のIDの設定
自分側のセキュリティ・ゲートウェイの名前の設定
自分側セキュリティ・ゲートウェイのIPアドレスの設定
自分側のIDの設定
IKEキープアライブ機能の設定
IKEキープアライブに関するSYSLOGを出力するか否かの設定
IKEが用いる暗号アルゴリズムの設定
受信したIKEパケットを蓄積するキューの長さの設定
IKEが用いるグループの設定
IKEが用いるハッシュアルゴリズムの設定
折衝パラメーターを制限するか否かの設定
IKEのメッセージID管理の設定
CHILD SA作成方法の設定
受信したパケットのSPI値が無効な値の場合にログに出力するか否かの設定
IKEペイロードタイプの設定
IKEの情報ペイロードを送信するか否かの設定
PFSを用いるか否かの設定
IKEのログの種類の設定
ESPをUDPでカプセル化して送受信するか否かの設定
SAの寿命の設定
SAのポリシーの定義
SAの手動更新
ダングリングSAの動作の設定
IPsec NATトラバーサルを利用するための設定
SAの削除


設定例


SYSLOG一覧

本機能において出力されるSYSLOGメッセージを以下に示します。なお、実際に出力される各メッセージの先頭には"[IKE2]"というプレフィックスが付与されます。また、ログの内容に応じて更に以下のサブプレフィックスのいずれかが付与されることがあります。

サブプレフィックス 説明
SA:xx/IKE IKE SAに関するログ
SA:xx/CHLD_SEND CHILD SA(送信側)に関するログ
SA:xx/CHLD_RECV CHILD SA(受信側)に関するログ
GW:xx/SA:xx/INIT IKE_SA_INIT交換に関するログ。
同時に、このメッセージ交換に関連付けられているゲートウェイ設定、SA番号も示される。
なお、関連付けるべきゲートウェイIDがまだ未定の場合は「GW:*/SA:xx/INIT」のように表示される
GW:xx/SA:xx/AUTH IKE_AUTH交換に関するログ
GW:xx/SA:xx/CHLD CREATE_CHILD_SA交換に関するログ
GW:xx/SA:xx/INFO INFORMATIONAL交換に関するログ
GW:xx ゲートウェイ設定に関するログ
TN:xx/PY:xx ポリシー設定(トンネルモード)に関するログ

主に出力されるSYSLOGメッセージについては以下の通りです。

レベル SYSLOG 説明
[INFO] temporarily assigned SAが新しく生成(仮登録)された
established SAが確立された
dead peer detection IKEキープアライブにより、相手側ゲートウェイのダウンを検出した
deleted SAが削除された
[DEBUG] not configured COMMAND COMMANDの設定が不足している、もしくは不適切なため、鍵交換の準備に失敗した
invalid xxxxx ipsec ike local/remote nameコマンドで設定した文字列がTYPEパラメータに対して不適切である
bound on SA:xx/IKE
bound on SA:xx/IKE (changed)
CHILD SAがIKE SA(SA番号xx)に関連付けられた
assigned gateway GW:xx IKE SAとゲートウェイ設定が関連付けられた
assigned policy TN:xx/PY:xx CHILD SAとポリシー設定が関連付けられた
exchange started メッセージ交換を開始した
exchange terminated メッセージ交換を終了した
inhibited rekey (newer SA exists) より新しいSAがすでに存在するので、このSAによるリキーを抑制した
[no] NAT box detected at local side
[no] NAT box detected at remote side
ローカル側ゲートウェイでNAT処理を検出した(しなかった)
リモート側ゲートウェイでNAT処理を検出した(しなかった)
iWindow retransmit request[msgID:xx cnt:xx]
rWindow retransmit request[msgID:xx cnt:xx]
リクエストメッセージを再送した
iWindow retransmission timed out[msgID:xx]
rWindow retransmission timed out[msgID:xx]
リクエストメッセージの再送を終了した
iWindow retransmit response[msgID:xx]
rWindow retransmit response[msgID:xx]
同じメッセージIDのリクエストを受信したのでレスポンスを再送した
iWindow dropped message[msgID:xx]
rWindow dropped message[msgID:xx]
レスポンスを受信/受理していない古いメッセージを破棄した
cannot find or create IKE SA 受信したIKEメッセージに対応するIKE SAが見つからなかった、もしくは新たに作成できなかった
not exists SKEYs IKE SAの共通鍵がまだ作成されていないため、受信した暗号ペイロードの認証チェック、復号化ができない
authentication is wrong 受信した暗号ペイロードに付与された認証データが正しくない
cannot find or create exchange 受信したメッセージに対応する交換セッションが見つからなかった、もしくは新たに作成できなかった
cannot process xxxxx payload 受信メッセージのペイロードデータフィールドのフォーマットが不正
xxxxx payload is not contained 受信メッセージに必須のペイロードが含まれていない
cannot accept xxxxx payload 受信メッセージの折衝内容が受理できなかった
too few payload length 共通ペイロードヘッダが示すペイロード長より実際のデータ長が短い
too match payload length, ignores extra data 共通ペイロードヘッダが示すペイロード長より実際のデータ長が長い
encrypted payload already exists 暗号ペイロードが複数存在している
IKE header size is not enough xx/xx 解析中の実データ長がヘッダ/ペイロード/フィールドの固定ヘッダ長より短い
payload header size is not enough xx/xx
field header size is not enough xx/xx
message size is not enough xx/xx 解析中の実データ長がヘッダ/ペイロード/フィールド長より短い
payload size is not enough xx/xx
field size is not enough xx/xx
message size unmatched xx/xx 解析中の実データ長がヘッダ/ペイロード/フィールド長と一致していない
payload size unmatched xx/xx
field size unmatched xx/xx
not contained xxx payload 解析したIKEメッセージ内に必須のペイロードが含まれていない
unmatched auth method Authペイロードの認証方式が一致しなかった
unmatched auth data Authペイロードの認証データが再計算した結果と一致しなかった
not found CHILD SA, ignored(SPI:xxxxxxxx) 受信したDeleteペイロードで指定されたSPIと合致するCHILD SAが見つからなかった
[DEBUG]
×
message-info
send message:
   ・・・
送信するIKEメッセージ
receive message:
    ・・・
受信したIKEメッセージ
encrypting message: (pad size:xx):
   ・・・
暗号ペイロードとして暗号化する平文データ(パディング領域含む)
decrypted message: (pad size:xx):
   ・・・
暗号ペイロードから復号化した平文データ(パディング領域含む)
[DEBUG]
×
payload-info
initiator x
responder x
現在処理している交換セッションがイニシエータ/レスポンダであることを示す
generate IKE header[msgID:xx]
generate xxx payload
IKEヘッダ、および各種ペイロードを生成していることを示す。種類に応じてペイロードデータの内容も出力される。
process IKE header[msgID:xx]
process xxx payload
IKEヘッダ、および各種ペイロードを解析していることを示す。種類に応じてペイロードデータの内容も出力される。
[DEBUG]
×
key-info
Diffie-Hellman value:
   ・・・
Diffie-Hellman共有値
Ni:
   ・・・
Nr:
   ・・・
SKEYSEED:
   ・・・
イニシエータ/レスポンダのNonceデータ、およびSKEYSEEDの計算結果
SPIi:
   ・・・
SPIr:
   ・・・
IKE SAのKey Material生成に使用するイニシエータ/レスポンダのSPI
SK_d:
   ・・・
SK_ai:
   ・・・
SK_ar:
   ・・・
SK_ei:
   ・・・
SK_er:
   ・・・
SK_pi:
   ・・・
SK_pr:
   ・・・
IKE SAの共有鍵
calculate xAuth data
msg-octets:
   ・・・
prf(secret, key-pad):
   ・・・
prf(prf(secret, key-pad), msg-octets):
   ・・・
Authペイロードのデータフィールドの計算結果
calculate KEYMAT
SPI(send):
   ・・・
encryption key(send):
   ・・・
authentication key(send):
   ・・・
SPI(recv):
   ・・・
encryption key(recv):
   ・・・
authentication key(recv):
   ・・・
CHILD SAのKEYMATの計算結果
[DEBUG]
×
keepalive log
send keepalive IKEキープアライブの要求メッセージを送信
received keepalive IKEキープアライブの応答メッセージを受信した

その他、鍵交換に失敗した場合等に、そのエラー内容に応じたSYSLOGが出力されることがあります。


関連文書