(57)【要約】      （修正有）【課題】過渡的ノードを用いた高速鍵交換の方法及びシステムを提供する。【解決手段】１つのレベルの過渡的ノードのみが存在する場合で、初期ノード・デバイスが複数の候補ノード・デバイスを初期ノード・データベースから検索できるようにするステップであって、それぞれの候補ノード・デバイスは初期ノード・デバイスとの安全な通信を行なうための個々の第１の安全なトンネルをすでに有するステップと、候補ノード・データベースを検索してターゲット・ノード・デバイスとの安全な通信を行なうための個々の第２の安全なトンネルをすでに有する候補ノード・デバイスを見つけるステップと、候補ノード・デバイスから過渡的ノード・デバイスを選択するステップと、安全なキー交換を第１の安全なトンネルおよび第２の安全なトンネルを通して行い、初期ノード・デバイスおよびターゲット・ノード・デバイス間のその後の安全な通信を可能にするステップと、を含む。【選択図】図２
2006157185.tif 000002
【特許請求の範囲】
【請求項１】
過渡的ノードを用いる高速鍵交換のための方法であって、
ａ）初期ノード・デバイスが、複数の候補ノード・デバイスを初期ノード・データベースから検索できるようにするステップであって、それぞれの候補ノード・デバイスは、初期ノード・デバイスとの安全な通信を行なうための個々の第１の安全なトンネルをすでに有するステップと、
ｂ）候補ノード・データベースを検索して、ターゲット・ノード・デバイスとの安全な通信を行なうための個々の第２の安全なトンネルをすでに有する候補ノード・デバイスを見つけるステップと、
ｃ）ターゲット・ノード・デバイスとの個々の第２の安全なトンネルをすでに有する候補ノード・デバイスから過渡的ノード・デバイスを選択するステップと、
ｄ）続けて安全な鍵交換を、初期ノード・デバイスおよび過渡的ノード・デバイス間の第１の安全なトンネルを通して、ならびに過渡的ノード・デバイスおよびターゲット・ノード・デバイス間の第２の安全なトンネルを通して行い、初期ノード・デバイスおよびターゲット・ノード・デバイス間のその後の安全な通信を可能にするステップと、を含む方法。
【請求項２】
初期ノード・データベースおよび候補ノード・データベースがセキュリティ・アソシエーション（ＳＡ）データベースである請求項１に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項３】
ステップａ）の前に、初期ノード・デバイスが安全なトンネル確立リクエストを受け取れるようにするステップをさらに含む請求項１に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項４】
ステップａ）およびｂ）の間に、初期ノード・デバイスが、過渡的ノード判定リクエストを候補ノード・デバイスに送れるようにするステップをさらに含む請求項１に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項５】
過渡的ノード判定リクエストがターゲット・ノード・デバイスの情報を含む請求項４に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項６】
第１の安全なトンネルおよび第２の安全なトンネルが、ネットワーク・セキュリティ・プロトコルに基づいて確立された請求項１に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項７】
ネットワーク・セキュリティ・プロトコルがインターネット・プロトコル・セキュリティ（ＩＰＳｅｃ）である請求項６に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項８】
ネットワーク・セキュリティ・プロトコルがインターネット・セキュリティ・アソシエーションおよび鍵管理プロトコル（ＩＳＡＫＭＰ）である請求項６に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項９】
ネットワーク・セキュリティ・プロトコルがトランスポート層セキュリティ（ＴＬＳ）である請求項６に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項１０】
安全な鍵交換がインターネット鍵交換（ＩＫＥ）プロトコルのフェーズ２に基づいて進む請求項１に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項１１】
安全な鍵交換を進めることが、
ｄ１）初期ノード・デバイスがクィック・モード開始の第１のメッセージを過渡的ノード・デバイスに送れるようにするステップと、
ｄ２）過渡的ノード・デバイスがクィック・モード開始の第１のメッセージをターゲット・ノード・デバイスに転送できるようにするステップと、
ｄ３）ターゲット・ノード・デバイスがクィック・モード応答メッセージを過渡的ノード・デバイスに送れるようにするステップと
ｄ４）過渡的ノード・デバイスがクィック・モード応答メッセージを初期ノード・デバイスに転送できるようにするステップと、
ｄ５）初期ノード・デバイスがクィック・モード開始の第２のメッセージを過渡的ノード・デバイスに送れるようにするステップと、
ｄ６）過渡的ノード・デバイスがクィック・モード開始の第２のメッセージをターゲット・ノード・デバイスに転送できるようにするステップと、を含む請求項１０に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項１２】
ＩＫＥプロトコルのパーフェクト・フォワード・シークレシー（Ｐｅｒｆｅｃｔ  Ｆｏｒｗａｒｄ  Ｓｅｃｒｅｃｙ）パラメータをＯＮにして、過渡的ノード・デバイスが、初期ノード・デバイスおよびターゲット・ノード・デバイス間の通信内容を知ることがないようにブロックする請求項１０に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項１３】
ＩＫＥプロトコルのパーフェクト・フォワード・シークレシー（ＰＦＳ）パラメータをＯＦＦにして、過渡的ノード・デバイスが、初期ノード・デバイスおよびターゲット・ノード・デバイス間の通信内容を知ることができるようにする請求項１０に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項１４】
過渡的ノードを用いる高速鍵交換のためのシステムであって、
初期ノード・データベースと、
候補ノード・データベースと、
初期ノード・デバイスと、
ターゲット・ノード・デバイスと、
前記初期ノード・データベースを前記初期ノード・デバイスが検索すると得られる複数の候補ノード・デバイスであって、それぞれの前記候補ノード・デバイスは、前記初期ノード・デバイスとの安全な通信を行なうための個々の第１の安全なトンネルをすでに有し、前記候補ノード・デバイスの一部は、前記ターゲット・ノード・デバイスとの安全な通信を行なうための個々の第２の安全なトンネルをさらに有し、前記候補ノード・デバイスの前記一部は前記候補ノード・データベースから選択される、複数の候補ノード・デバイスと、を含み、
前記初期ノード・デバイスは、過渡的ノード・デバイスを、前記ターゲット・ノード・デバイスとの個々の第２の安全なトンネルをすでに有する前記候補ノード・デバイスから選択することができ、安全な鍵交換が、前記初期ノード・デバイスおよび前記過渡的ノード・デバイス間の前記第１の安全なトンネルを通って、ならびに前記過渡的ノード・デバイスおよび前記ターゲット・ノード・デバイス間の前記第２の安全なトンネルを通って進んで、前記初期ノード・デバイスおよび前記ターゲット・ノード・デバイス間のその後の安全な通信を可能にすることができるシステム。
【請求項１５】
前記初期ノード・データベースおよび前記候補ノード・データベースがセキュリティ・アソシエーション（ＳＡ）データベースである請求項１４に記載の過渡的ノードを用いる高速鍵交換のためのシステム。
【請求項１６】
前記第１の安全なトンネルおよび前記第２の安全なトンネルが、ネットワーク・セキュリティ・プロトコルに基づいて確立された請求項１４に記載の過渡的ノードを用いる高速鍵交換のためのシステム。
【請求項１７】
ネットワーク・セキュリティ・プロトコルがインターネット・プロトコル・セキュリティ（ＩＰＳｅｃ）である請求項１６に記載の過渡的ノードを用いる高速鍵交換のためのシステム。
【請求項１８】
ネットワーク・セキュリティ・プロトコルがインターネット・セキュリティ・アソシエーションおよび鍵管理プロトコル（ＩＳＡＫＭＰ）である請求項１６に記載の過渡的ノードを用いる高速鍵交換のためのシステム。
【請求項１９】
ネットワーク・セキュリティ・プロトコルがトランスポート層セキュリティ（ＴＬＳ）である請求項１６に記載の過渡的ノードを用いる高速鍵交換のためのシステム。
【請求項２０】
安全な鍵交換がインターネット鍵交換（ＩＫＥ）プロトコルのフェーズ２に基づいて進む請求項１４に記載の過渡的ノードを用いる高速鍵交換のためのシステム。
【請求項２１】
ＩＫＥプロトコルのパーフェクト・フォワード・シークレシー（ＰＦＳ）パラメータをＯＮにして、前記過渡的ノード・デバイスが、前記初期ノード・デバイスおよび前記ターゲット・ノード・デバイス間の通信内容を知ることがないようにブロックする請求項２０に記載の過渡的ノードを用いる高速鍵交換のためのシステム。
【請求項２２】
ＩＫＥプロトコルのパーフェクト・フォワード・シークレシー（ＰＦＳ）パラメータをＯＦＦにして、前記過渡的ノード・デバイスが、前記初期ノード・デバイスおよび前記ターゲット・ノード・デバイス間の通信内容を知ることができるようにする請求項２０に記載の過渡的ノードを用いる高速鍵交換のためのシステム。
【請求項２３】
前記初期ノード・デバイスが、
前記初期ノード・データベースを検索して、前記初期ノード・デバイスとの前記第１の安全なトンネルをすでに有する前記候補ノード・デバイスを見つけるための初期ノード・トンネル判定ユニットと、
前記過渡的ノード・デバイスを、前記ターゲット・ノード・デバイスとの前記第２の安全なトンネルをすでに有する前記候補ノード・デバイスから選択するための初期ノード・トンネル選択ユニットと、
前記過渡的ノード・デバイスとの安全な鍵交換を前記第１の安全なトンネルを通して進めるための初期ノード鍵交換処理ユニットと、を含む請求項１４に記載の過渡的ノードを用いる高速鍵交換のためのシステム。
【請求項２４】
それぞれの前記候補ノード・デバイスが、
前記候補ノード・データベースを検索して、前記ターゲット・ノード・デバイスとの前記第２の安全なトンネルをさらに有する前記候補ノード・デバイスの前記一部を見つけるための候補ノード・トンネル選択ユニットと、
前記候補ノード・デバイスの１つが前記過渡的ノード・デバイスになったときに、前記第１の安全なトンネルおよび前記第２の安全なトンネルをそれぞれ通して、前記初期ノード・デバイスおよび前記ターゲット・ノード・デバイス間の安全な鍵交換を進めるための候補ノード鍵交換処理ユニットと、を含む請求項１４に記載の過渡的ノードを用いる高速鍵交換のためのシステム。
【請求項２５】
前記ターゲット・ノード・デバイスが、前記過渡的ノード・デバイスとの安全な鍵交換を前記第２の安全なトンネルを通して進めるためのターゲット・ノード鍵交換処理ユニットを含む請求項１４に記載の過渡的ノードを用いる高速鍵交換のためのシステム。
【請求項２６】
過渡的ノードを用いる高速鍵交換のための方法であって、
ｅ）初期ノード・デバイスが、初期ノード・データベースを検索して、複数のレベル１の候補ノード・デバイスを検索できるようにするステップであって、レベル１の候補ノード・デバイスは、初期ノード・デバイスとの安全な通信を行なうための第１の安全なトンネルをすでに有する、ステップと、
ｆ）レベルｎの候補ノード・デバイスが、レベルｎの候補ノード・データベースを検索して、複数のレベル（ｎ＋１）の候補ノード・デバイスを見つけられるようにするステップであって、レベル（ｎ＋１）の候補ノード・デバイスは、レベルｎのノード・デバイスとの安全な通信を行なうためのレベル（ｎ＋１）の安全なトンネルをすでに有し、およびｎは任意の自然数であるステップと、
ｇ）レベルＮの候補ノード・データベースを検索して、ターゲット・ノード・デバイスとの安全な通信を行なうためのレベル（Ｎ＋１）の安全なトンネルをすでに有するレベルＮの候補ノード・デバイスを見つけるステップと、
ｈ）レベルｎの過渡的ノード・デバイスを、レベル（ｎ＋１）の候補ノード・デバイスとのレベル（ｎ＋１）の安全なトンネルをすでに有するレベルｎの候補ノード・デバイスから選択し、レベルＮの過渡的ノード・デバイスを、ターゲット・ノード・デバイスとのレベル（Ｎ＋１）の安全なトンネルをすでに有するレベルＮの候補ノード・デバイスから選択するステップと、
ｉ）続けて安全な鍵交換を順次、初期ノード・デバイスおよびレベル１の過渡的ノード・デバイス間のレベル１の安全なトンネルと、レベルｎの過渡的ノード・デバイスおよびレベル（ｎ＋１）の過渡的ノード・デバイス間のレベル（ｎ＋１）の安全なトンネルと、レベルＮの過渡的ノード・デバイスおよびターゲット・ノード・デバイス間のレベル（Ｎ＋１）の安全なトンネルとを通して行い、初期ノード・デバイスおよびターゲット・ノード・デバイス間のその後の安全な通信を可能にするステップと、を含む方法。
【請求項２７】
初期ノード・データベース、レベルｎの候補ノード・データベース、およびレベルＮの候補ノード・データベースがセキュリティ・アソシエーション（ＳＡ）データベースである請求項２６に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項２８】
レベルｎの安全なトンネルがネットワーク・セキュリティ・プロトコルに基づいて確立された請求項２６に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項２９】
ネットワーク・セキュリティ・プロトコルがインターネット・プロトコル・セキュリティ（ＩＰＳｅｃ）である請求項２８に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項３０】
ネットワーク・セキュリティ・プロトコルがインターネット・セキュリティ・アソシエーションおよび鍵管理プロトコル（ＩＳＡＫＭＰ）である請求項２８に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項３１】
ネットワーク・セキュリティ・プロトコルがトランスポート層セキュリティ（ＴＬＳ）である請求項２８に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項３２】
安全な鍵交換が、インターネット鍵交換（ＩＫＥ）プロトコルのフェーズ２に基づいて進む請求項２６に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項３３】
安全な鍵交換を進めることが、
ｉ１）初期ノード・デバイスがクィック・モード開始の第１のメッセージをレベル１の過渡的ノード・デバイスに送れるようにするステップと、
ｉ２）レベルｎの過渡的ノード・デバイスがクィック・モード開始の第１のメッセージをレベル（ｎ＋１）の過渡的ノード・デバイスに転送できるようにするステップと、
ｉ３）レベルＮの過渡的ノード・デバイスがクィック・モード開始の第１のメッセージをターゲット・ノード・デバイスに転送できるようにするステップと、
ｉ４）ターゲット・ノード・デバイスがクィック・モード応答メッセージをレベルＮの過渡的ノード・デバイスに送れるようにするステップと、
ｉ５）レベル（ｎ＋１）の過渡的ノード・デバイスがクィック・モード応答メッセージをレベルｎの過渡的ノード・デバイスに転送できるようにするステップと、
ｉ６）レベル１の過渡的ノード・デバイスが、クィック・モード応答メッセージを初期ノード・デバイスに転送できるようにするステップと、
ｉ７）初期ノード・デバイスがクィック・モード開始の第２のメッセージをレベル１の過渡的ノード・デバイスに送れるようにするステップと、
ｉ８）レベルｎの過渡的ノード・デバイスがクィック・モード開始の第２のメッセージをレベル（ｎ＋１）の過渡的ノード・デバイスに送れるようにするステップと、
ｉ９）レベルＮの過渡的ノード・デバイスがクィック・モード開始の第２のメッセージをターゲット・ノード・デバイスに転送できるようにするステップと、を含む請求項３２に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項３４】
ＩＫＥプロトコルのパーフェクト・フォワード・シークレシー（ＰＦＳ）パラメータをＯＮにして、過渡的ノード・デバイスが、初期ノード・デバイスおよびターゲット・ノード・デバイス間の通信内容を知ることがないようにブロックする請求項３２に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項３５】
ＩＫＥプロトコルのパーフェクト・フォワード・シークレシー（ＰＦＳ）パラメータをＯＦＦにして、過渡的ノード・デバイスが、初期ノード・デバイスおよびターゲット・ノード・デバイス間の通信内容を知ることができるようにする請求項３２に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項３６】
初期ノード・デバイスが、
初期ノード・データベースを検索して、初期ノード・デバイスとのレベル１の安全なトンネルをすでに有するレベル１の候補ノード・デバイスを見つけるための初期ノード・トンネル判定ユニットと、
レベル１の過渡的ノード・デバイスを、レベル２の候補ノード・デバイスとのレベル２の安全なトンネルをすでに有するレベル１の候補ノード・デバイスから選択するための初期ノード・トンネル選択ユニットと、
レベル１の過渡的ノード・デバイスとの安全な鍵交換をレベル１の安全なトンネルを通して進めるための初期ノード鍵交換処理ユニットと、を含む請求項２６に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項３７】
それぞれのレベルｎの候補ノード・デバイスが、
レベルｎの候補ノード・データベースを検索して、レベルｎの候補ノード・デバイスとのレベル（ｎ＋１）の安全なトンネルをすでに有するレベル（ｎ＋１）の候補ノード・デバイスを見つけるための候補ノード・トンネル判定ユニットと、
レベル（ｎ＋１）の過渡的ノード・デバイスを、レベル（ｎ＋２）のノード・デバイスとのレベル（ｎ＋２）の安全なトンネルをすでに有するレベル（ｎ＋１）の候補ノード・デバイスから選択するための第１の候補ノード・トンネル選択ユニットと、
レベルｎの候補ノード・データベースを検索して、レベル（ｎ＋１）の候補ノード・デバイスとのレベル（ｎ＋１）の安全なトンネルをさらに有するレベルｎの候補ノード・デバイスの一部を見つけるための第２の候補ノード・トンネル選択ユニットと、
レベル（Ｎ−１）の過渡的ノード・デバイスおよびレベル（ｎ＋１）の過渡的ノード・デバイス間の安全な鍵交換を、レベルｎの安全なトンネルおよびレベル（ｎ＋１）の安全なトンネルをそれぞれ通して進めるための候補ノード鍵交換処理ユニットと、を含む請求項２６に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項３８】
ターゲット・ノード・デバイスとのレベル（Ｎ＋１）の安全なトンネルをすでに有するレベルＮの候補ノード・デバイスが、
レベルＮの候補ノード・データベースを検索して、レベル（Ｎ＋１）のターゲット・ノード・デバイスとの安全なトンネルをさらに有するレベルＮの候補ノード・デバイスの一部を見つけるための候補ノード・トンネル選択ユニットと、
レベル（Ｎ−１）の過渡的ノード・デバイスおよびターゲット・ノード・デバイス間の安全な鍵交換を、レベルＮの安全なトンネルおよびレベル（Ｎ＋１）の安全なトンネルをそれぞれ通して進めるための候補ノード鍵交換処理ユニットと、を含む請求項２６に記載の過渡的ノードを用いる高速鍵交換のための方法。
【請求項３９】
ターゲット・ノード・デバイスが、レベルＮの過渡的ノード・デバイスとの安全な鍵交換をレベル（Ｎ＋１）の安全なトンネルを通して進めるためのターゲット・ノード鍵交換処理ユニットを含む請求項２６に記載の過渡的ノードを用いる高速鍵交換のための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵交換のための方法およびシステム、より詳細には、過渡的ノードを用いた高速鍵交換（ＱＫＥ）のための方法およびシステムに関する。
【背景技術】
【０００２】
インターネット鍵交換（ＩＫＥ）は、安全な通信プロトコル、すなわちインターネット・プロトコル・セキュリティ（ＩＰＳｅｃ）のためのセキュリティ・アソシエーション（ＳＡ）を、ピア・ノードが安全にネゴシエーション（折衝）するように、広く採用されているキー交換プロトコルである。ＩＫＥには、２つのフェーズのネゴシエーションが含まれている。すなわちフェーズ１およびフェーズ２である。フェーズ１では、ディフィ・ヘルマン・プロセスを用いてＩＫＥ  ＳＡのネゴシエーションを実行する必要がある。このプロセスには、大量かつ複雑な計算が含まれる。ＩＫＥ  ＳＡによって、その後のフェーズ２のための安全な通信を保証することができる。フェーズ２には、ＩＰＳｅｃＳＡのネゴシエーションを実行することが含まれる。ＩＫＥのフェーズ２のネゴシエーションが完了したときに、ピア・ノード間のＩＰＳｅｃのための安全な通信を保証することができる。
【０００３】
２つのノード間のピア・ツー・ピア通信に対しては、必然的に複雑かつ時間のかかるディフィ・ヘルマン・プロセスをＩＫＥのフェーズ１で採用することは、かなり適した解決方法である。しかし、複数のノードからなるグループ構成間での安全な通信に対しては、特に、グループ構成のプロセスの間に大量かつ複雑な計算を必要とする家庭用電化製品の場合には、グループ・サイズが大きくなったときに、ＩＫＥのフェーズ１のネゴシエーションに起因するネゴシエーション時間およびコンピューティング費用に関連する問題が発生する。たとえば、グループ内の任意の２つのノード間で安全な通信が必要な場合には、それぞれのノードは、グループ内の他のすべてのノードとの２つのＩＫＥフェーズのネゴシエーションを完了させなければならない。言い換えれば、グループが（ｍ）個のノードからなる場合には、初期の時間においてグループに必要なＩＫＥフェーズ１のネゴシエーションの総数は、ｍ（ｍ−１）／２となる。
【０００４】
一般的に、他の従来技術（以下を参照）では、グループ鍵および作業キーのメカニズムを、グループ構成の安全な通信に対して用いている。特許文献１「安全なメッセージをノードのグループ間で送るための分散化システムの方法およびコンピュータ・プログラム製品」。
【０００５】
場合によっては、この引用文献の技術によって、グループ規模でのセキュリティ・アソシエーション（ＳＡ）ネゴシエーションの負担を軽減することができる。しかし複数のノード間で秘密を共有することは、重大なセキュリティ脅威、すなわちなりすましを被る。さらに、いったんグループ鍵が危うくなると、安全なグループ構成の全体も危うくなる。このような状況の下では、グループ規模でのグループ・メンバ間の強いセキュリティを保証するために、より効果的なＩＫＥベースのキー交換が必要である。
【０００６】
他の従来技術（以下を参照）では、中間ノード鍵分配メカニズムを２つのエンド・ポイントに対して用いている。特許文献２「プロキシ暗号通信システム及び方法並びにその上にプログラムを記録した記録媒体」、及び特許文献３「鍵情報管理方法及び機器管理装置」。
【０００７】
中間ノードは、２つのピア・エンド・ポイント間のゲートウェイまたはプロキシ・サーバとして機能し、２つの安全なトンネルをピア・エンド・ポイントのそれぞれに対して確立する。そして中間ノードは、２つのエンド・ポイントのセッション鍵を決定し、セッション鍵をそれぞれのエンド・ポイントに、中間のノードおよび対応するエンド・ポイント間の安全なトンネルを通して送信する。こうして、安全なトンネルが２つのエンド・ポイント間に確立される。しかし、２つの重要なセキュリティ脅威がこのメカニズムにはまだ存在する。（１）中間ノードは、２つのエンド・ポイントのみに知られていると考えられるセキュリティ秘密を知ることができる。（２）中間ノードが、いくつかのネットワーク攻撃、たとえばサービス停止（ＤＯＳ）または分散型サービス停止（ＤＤＯＳ）などに起因して正常に動作できない場合に、２つのエンド・ポイント間に安全なトンネルを確立するリクエストが行なわれない。
【特許文献１】米国特許第６，３６３，１５４Ｂ１号明細書
【特許文献２】特開２００１−２３７８１８号公報
【特許文献３】特開２００２−２７１３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、本発明の目的は、過渡的ノードを用いる高速鍵交換のための方法であって、ＩＫＥフェーズ１のネゴシエーション、特にディフィ・ヘルマン・プロセスを回避することができ、またグループ内のどのノード・デバイスもＩＰＳｅｃトンネルを確立するために他のノード・デバイスとのＩＫＥフェーズ２のネゴシエーションを完了できるようにする方法を提供することである。
【０００９】
本発明の他の目的は、過渡的ノードを用いる高速鍵交換のためのシステムであって、ＩＫＥフェーズ１のネゴシエーション、特にディフィ・ヘルマン・プロセスを回避することができ、またグループ内のどのノード・デバイスもＩＰＳｅｃトンネルを確立するために他のノード・デバイスとのＩＫＥフェーズ２のネゴシエーションを完了できるようにするシステムを提供することである。
【００１０】
本発明のさらなる目的は、過渡的ノードを用いる高速鍵交換のための他の方法であって、ＩＫＥフェーズ１のネゴシエーション、特にディフィ・ヘルマン・プロセスを回避することができ、またグループ内のどのノード・デバイスもＩＰＳｅｃトンネルを確立するために他のノード・デバイスとのＩＫＥフェーズ２のネゴシエーションを完了できるようにする方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明の一態様によれば、過渡的ノードを用いる高速鍵交換のための方法であって、（ａ）初期ノード・デバイスが、複数の候補ノード・デバイスを初期ノード・データベースから検索できるようにするステップであって、それぞれの候補ノード・デバイスは、初期ノード・デバイスとの安全な通信を行なうための個々の第１の安全なトンネルをすでに有するステップと、（ｂ）候補ノード・データベースを検索して、ターゲット・ノード・デバイスとの安全な通信を行なうための個々の第２の安全なトンネルをすでに有する候補ノード・デバイスを見つけるステップと、（ｃ）ターゲット・ノード・デバイスとの個々の第２の安全なトンネルをすでに有する候補ノード・デバイスから過渡的ノード・デバイスを選択するステップと、（ｄ）続けて安全なキー交換を、初期ノード・デバイスおよび過渡的ノード・デバイス間の第１の安全なトンネルを通して、ならびに過渡的ノード・デバイスおよびターゲット・ノード・デバイス間の第２の安全なトンネルを通して行い、初期ノード・デバイスおよびターゲット・ノード・デバイス間のその後の安全な通信を可能にするステップと、を含む方法が提供される。
【００１２】
本発明の他の態様によれば、過渡的ノードを用いる高速鍵交換のためのシステムが提供される。システムは、初期ノード・データベース、候補ノード・データベース、初期ノード・デバイス、ターゲット・ノード・デバイス、および複数の候補ノード・デバイスを含んでいる。候補ノード・デバイスは、初期ノード・データベースを前記初期ノード・デバイスが検索すると得られる。それぞれの候補ノード・デバイスは、初期ノード・デバイスとの安全な通信を行なうための個々の第１の安全なトンネルをすでに有する。候補ノード・デバイスの一部は、ターゲット・ノード・デバイスとの安全な通信を行なうための個々の第２の安全なトンネルをさらに有する。初期ノード・デバイスは、過渡的ノード・デバイスを、ターゲット・ノード・デバイスとの個々の第２の安全なトンネルをすでに有する候補ノード・デバイスから選択することができる。したがって安全なキー交換が、初期ノード・デバイスおよび過渡的ノード・デバイス間の第１の安全なトンネルを通って、ならびに過渡的ノード・デバイスおよびターゲット・ノード・デバイス間の第２の安全なトンネルを通って進んで、初期ノード・デバイスおよびターゲット・ノード・デバイス間のその後の安全な通信を可能にすることができる。
【００１３】
本発明のさらに他の態様によれば、過渡的ノードを用いる高速鍵交換のための方法であって、（ｅ）初期ノード・デバイスが、初期ノード・データベースを検索して、複数のレベル１の候補ノード・デバイスを検索できるようにするステップであって、レベル１の候補ノード・デバイスは、初期ノード・デバイスとの安全な通信を行なうための第１の安全なトンネルをすでに有する、ステップと、（ｆ）レベルｎの候補ノード・デバイスが、レベルｎの候補ノード・データベースを検索して、複数のレベル（ｎ＋１）の候補ノード・デバイスを見つけられるようにするステップであって、レベル（ｎ＋１）の候補ノード・デバイスは、レベルｎのノード・デバイスとの安全な通信を行なうためのレベル（ｎ＋１）の安全なトンネルをすでに有し、およびｎは任意の自然数であるステップと、（ｇ）レベルＮの候補ノード・データベースを検索して、ターゲット・ノード・デバイスとの安全な通信を行なうためのレベル（Ｎ＋１）の安全なトンネルをすでに有するレベルＮの候補ノード・デバイスを見つけるステップと、（ｈ）レベルｎの過渡的ノード・デバイスを、レベル（ｎ＋１）の候補ノード・デバイスとのレベル（ｎ＋１）の安全なトンネルをすでに有するレベルｎの候補ノード・デバイスから選択し、レベルＮの過渡的ノード・デバイスを、ターゲット・ノード・デバイスとのレベル（Ｎ＋１）の安全なトンネルをすでに有するレベルＮの候補ノード・デバイスから選択するステップと、（ｉ）続けて安全なキー交換を順次、初期ノード・デバイスおよびレベル１の過渡的ノード・デバイス間のレベル１の安全なトンネルと、レベルｎの過渡的ノード・デバイスおよびレベル（ｎ＋１）の過渡的ノード・デバイス間のレベル（ｎ＋１）の安全なトンネルと、レベルＮの過渡的ノード・デバイスおよびターゲット・ノード・デバイス間のレベル（Ｎ＋１）の安全なトンネルとを通して行い、初期ノード・デバイスおよびターゲット・ノード・デバイス間のその後の安全な通信を可能にするステップと、を含む方法が提供される。
【発明の効果】
【００１４】
本発明の過渡的ノードを用いる高速鍵交換のための方法およびシステムを用いて、相互に接続された２つの安全なトンネルをノード・デバイス間に確立することができ、またこの方法およびシステムによって、ＩＫＥフェーズ１ネゴシエーション、特にディフィ・ヘルマン・プロセスを回避することができる。加えて、グループ内の任意のノード・デバイスが、ＩＰＳｅｃトンネルを確立するために他のノード・デバイスとのＩＫＥフェーズ２ネゴシエーションを完了させることができる。
本発明の他の特徴および利点は、好ましい実施形態の以下の詳細な説明の中で、添付の図面を参照することにより明らかになる。
【発明を実施するための最良の形態】
【００１５】
本発明を、添付の好ましい実施形態を参照して詳細に説明する前に、ここで、開示全体に渡って同様の要素は同じ参照数字によって示されることに注意されたい。
【００１６】
図１は、本発明における過渡的ノードを用いる高速な鍵交換の方法が適用されるネットワーク構成の一例を示したものである。図１に示すように、ノード・デバイス２１、ノード・デバイス２０、ノード・デバイス２４、およびノード・デバイス２３は通信ネットワークに接続されており、ノード・デバイス間でネットワークを介して通信が行える。ノード・デバイス２１〜２４が、他のノード・デバイスとセキュア通信を行う場合には、各ノード・デバイス対の間に安全な通信が必要である。ここでは、３つの安全なトンネルが確立済み、とする。すなわち、ノード・デバイス２１とノード・デバイス２０との間の通信を保護するＩＰＳｅｃトンネル１１０と、ノード・デバイス２１とノード・デバイス２４との間の通信を保護するＩＰＳｅｃトンネル１２０と、ノード・デバイス２４とノード・デバイス２３との間の通信を保護するＩＰＳｅｃトンネル１３０である。この３つの安全なトンネルが確立済みの状態から、ノード・デバイス２１が、ノード・デバイス２１とノード・デバイス２３との間の安全な通信を確立するために、ＩＰＳｅｃトンネル確立リクエスト１４０をトリガする状況を想定する。以下の段落では、本発明の鍵交換の技術によって、確立済みの安全なトンネルを利用することにより、ノード・デバイス２１とノード・デバイス２３との間の安全なトンネルを高速に確立する方法を説明する。なお、ＩＰＳｅｃトンネル確立リクエスト１４０の確立プロセスで、安全なトンネルの確立をトリガしたノード・デバイス２１を初期ノード・デバイスと呼び、対応するピア・ノード・デバイス２３をターゲット・ノード・デバイスと呼ぶことにする。また、確立済みの安全なトンネルを使って、初期ノード・デバイスとターゲット・ノード・デバイスとの間の鍵交換のメッセージを仲介するノード・デバイスを、過渡的ノード・デバイスと呼ぶ。また、過渡的ノード・デバイスとなり得るノード・デバイスを、候補ノード・デバイスと呼ぶことにする。図１においては、初期ノード・デバイス２１とターゲット・ノード・デバイス２３の両方と安全なトンネルを確立しているノード・デバイス２４が、過渡的ノード・デバイスとして選ばれる。また、過渡的ノード・デバイスを用いた本発明の鍵交換方法を、高速鍵交換（略して、QKE）と呼ぶことにする。
【００１７】
図２を参照して、本発明による過渡的ノードを用いる高速鍵交換のための方法は、２つの主要な手順からなる。すなわち過渡的ノード選択手順１８０、および高速鍵交換手順１９０である。過渡的ノード選択手順１８０を、安全なトンネル確立リクエストに基づいて実行して、過渡的ノード・デバイスを候補ノード・デバイスの組から選択する。過渡的ノード・デバイス選択ポリシを適用して、候補の過渡的ノード・デバイスのどれが、その後の高速鍵交換手順１９０のための過渡的ノードとして使用できるかを決定する。「最初に応答する」、すなわち、すべての候補ノード・デバイスのうち初期ノード・デバイスに最早に応答したものを過渡的ノード・デバイスとして選択することが、過渡的ノード・デバイス選択ポリシを説明するための例とすることができる。過渡的ノード・デバイスがいったん選択されると、初期ノード・デバイスおよびターゲット・ノード・デバイス間の安全な通信が保証され、この安全な通信が、初期および過渡的ノード・デバイス間の保証される安全な通信、および過渡的およびターゲット・ノード・デバイス間の保証される安全な通信の両方を通して、行なわれる。初期およびターゲット・ノード・デバイス間の安全な通信が保証されて、この安全な通信が、過渡的ノード選択手順１８０によって行なわれた後に、高速鍵交換手順１９０を実行することで、初期およびターゲット・ノード・デバイス間のセキュリティ・アソシエーション（ＳＡ）ネゴシエーションを、初期ノード・デバイスから始まり過渡的ノード・デバイスを通りそしてターゲット・ノード・デバイスで終わる安全な通信を介して、進める。セキュリティ・アソシエーション（ＳＡ）ネゴシエーションは、２つのピア・ノード・デバイス間の安全な通信を確立する際に用いられるセキュリティ・プロトコルのための初期およびターゲット・ノード・デバイスのためのセキュリティ・アソシエーションを生成する手順であるが、２つのピア・ノード・デバイス間の安全な通信において適用されるセキュリティ・プロトコルの特徴のネゴシエーションと、およびこのセキュリティ・プロトコルのためのキーの生成とを含む。インターネット鍵交換（ＩＫＥ）のクィック・モード交換は、高速鍵交換手順１９０用のセキュリティ・アソシエーション（ＳＡ）ネゴシエーションを行なうための説明用の例である。
【００１８】
図３を参照して、本発明による過渡的ノードを用いる高速鍵交換のためのシステムの第１の好ましい実施形態が示されており、初期ノード・データベース２１９、候補ノード・データベース２２９、初期ノード・デバイス２１、複数の候補ノード・デバイス２２、およびターゲット・ノード・デバイス２３が含まれている。候補ノード・デバイス２２は、初期ノード・デバイス２１が初期ノード・データベース２１９を検索したら得られる。それぞれの候補ノード・デバイス２２は、初期ノード・デバイス２１との安全な通信を行なうための個々の第１の安全なトンネル１２０をすでに有している。候補ノード・デバイス２２の一部は、ターゲット・ノード・デバイス２３との安全な通信を行なうための個々の第２の安全なトンネル１３０をさらに有している。図３の例では、候補ノード・デバイス２２のうちの２つのみが、ターゲット・ノード・デバイス２３との第２の安全なトンネル１３０を有している。こうして初期ノード・デバイス２１は、過渡的ノード・デバイスを、ターゲット・ノード・デバイス２３との個々の第２の安全なトンネル１３０をすでに有している候補ノード・デバイス２２から、選択することができる。したがって安全なキー交換は、初期ノード・デバイス２１および過渡的ノード・デバイス２２間の第１の安全なトンネル１２０を通って、ならびに過渡的ノード・デバイス２２およびターゲット・ノード・デバイス２３間の第２の安全なトンネル１３０を通って進むことで、初期ノード・デバイス２１およびターゲット・ノード・デバイス２３間のその後の安全な通信を可能にすることができる。
【００１９】
図３の初期ノード・デバイス２１、候補ノード・デバイス２２、およびターゲット・ノード・デバイス２３を、図４〜６をそれぞれ参照しながら、詳細に示す。図４に示すように、初期ノード・デバイス２１には、初期ノード・トンネル判定ユニット２１１、初期ノード・トンネル選択ユニット２１２、および初期ノード鍵交換処理ユニット２１３が含まれている。初期ノード・トンネル判定ユニット２１１は、初期ノード・データベース２１９を検索して、初期ノード・デバイス２１との第１の安全なトンネル１２０をすでに有する候補ノード・デバイス２２を見つけるためのものである。初期ノード・トンネル選択ユニット２１２は、過渡的ノード・デバイスを、ターゲット・ノード・デバイス２３との第２の安全なトンネル１３０をすでに有する候補ノード・デバイス２２から、選択するためのものである。初期ノード鍵交換処理ユニット２１３は、過渡的ノード・デバイスとの安全なキー交換を、第１の安全なトンネル１２０を通して進めるためのものである。
【００２０】
図５に示すように、それぞれの候補ノード・デバイス２２には、候補ノード・トンネル選択ユニット２２２、および候補ノード鍵交換処理ユニット２２３が含まれる。候補ノード・トンネル選択ユニット２２２は、候補ノード・データベース２２９を検索して、ターゲット・ノード・デバイス２３との第２の安全なトンネル１３０を有する候補ノード・デバイス２２の一部を見つけるためのものである。候補ノード鍵交換処理ユニット２２３は、候補ノード・デバイス２２の１つが過渡的ノード・デバイスになったときに、初期ノード・デバイス２１およびターゲット・ノード・デバイス２３間の安全なキー交換を、第１の安全なトンネル１２０および第２の安全なトンネル１３０をそれぞれ通して進めるためのものである。
【００２１】
候補ノード・データベース２２９が、すべての候補ノード・デバイス２２の外部に配置される単一の独立したデータベースの形態とすることができるということは、注意するに値する。あるいは、候補ノード・データベース２２９は、候補ノード・デバイス２２内にそれぞれ配置される複数のデータベースの形態とすることができる。すなわち、それぞれの候補ノード・デバイス２２には、独立したデータベースが含まれ、それぞれのデータベースによって、個々の候補ノード・デバイス２２の安全なトンネルが記録される。
【００２２】
図６に示すように、ターゲット・ノード・デバイス２３には、過渡的ノード・デバイスとの安全なキー交換を第２の安全なトンネル１３０を通して進めるためのターゲット・ノード鍵交換処理ユニット２３３が含まれている。
【００２３】
初期ノード・デバイス２１の初期ノード・トンネル判定ユニット２１１および初期ノード・トンネル選択ユニット２１２は、過渡的ノード選択手順１８０の間に、始動される。対応する候補ノード・デバイス２２の候補ノード・トンネル選択ユニット２２２も、過渡的ノード選択手順１８０の間に始動される。初期ノード・デバイス２１の初期ノード鍵交換処理ユニット２１３、選択される候補ノード・デバイス２２の候補ノード鍵交換処理ユニット２２３、およびターゲット・ノード・デバイス２３のターゲット・ノード鍵交換処理ユニット２３３は、高速鍵交換手順１９０の間に始動される。ランタイムでは、初期ノード・トンネル選択ユニット２１２および候補ノード・トンネル選択ユニット２２２は、過渡的ノード判定リクエストを送るためおよび応答を受け取るために用いられる個々のソケット、ならびにユーザ定義の通信プロトコル、たとえば伝送制御プロトコル（ＴＣＰ）またはユーザ・データグラム・プロトコル（ＵＤＰ）、およびユーザ定義のポート番号によって識別される個々のソケットを有する。加えて、ランタイムでは、初期ノード鍵交換処理ユニット２１３、候補ノード鍵交換処理ユニット２２３、およびターゲット・ノード鍵交換処理ユニット２３３は、高速鍵交換メッセージを送り受け取るために用いられるソケット、ならびにユーザ定義の通信プロトコル、たとえばＴＣＰまたはＵＤＰ、およびユーザ定義のポート番号によって識別されるソケットも有する。
【００２４】
本発明による過渡的ノードを用いる高速鍵交換のための前述のシステムによって行なわれる方法には、以下のステップが含まれる。最初に、初期ノード・デバイス２１が、候補ノード・デバイス２２を初期ノード・データベース２１９から検索する。それぞれの候補ノード・デバイス２２は、初期ノード・デバイス２１との安全な通信を行なうための個々の第１の安全なトンネル１２０をすでに有している。次に、候補ノード・データベース２２９を検索して、ターゲット・ノード・デバイス２３との安全な通信を行なうための個々の第２の安全なトンネル１３０をすでに有している候補ノード・デバイス２２を見つける。そして、過渡的ノード・デバイスを、ターゲット・ノード・デバイス２３との個々の第２の安全なトンネル１３０をすでに有する候補ノード・デバイス２２から選択する。その後、続けて安全なキー交換を、初期ノード・デバイス２１および過渡的ノード・デバイス間の第１の安全なトンネル１２０を通して、ならびに過渡的ノード・デバイスおよびターゲット・ノード・デバイス２３間の第２の安全なトンネル１３０を通して行い、初期ノード・デバイス２１およびターゲット・ノード・デバイス２３間のその後の安全な通信を可能にする。
【００２５】
図２、３、４、５、７、および９を参照して、初期ノード・デバイス２１の過渡的ノード選択手順１８０には、図７に示すステップが含まれている。最初に、ステップ３１０では、初期ノード・デバイス２１が、ターゲット・ノード・デバイス２３用の安全なトンネル確立リクエストを、初期ノード・トンネル判定ユニット２１１を通して受け取り、そしてリクエストを処理してターゲット・ノード・デバイス２３のアドレスを知る。次に、ステップ３２０では、初期ノード・トンネル判定ユニット２１１が、初期ノード・データベース（ＳＡＤＢ）２１９を検索して、初期ノード・デバイス２１との第１の安全なトンネル１２０をすでに確立した候補ノード・デバイス２２を見つける。本実施形態においては、ＳＡＤＢ２１９を、ＩＰＳｅｃプロトコル、インターネット・セキュリティ・アソシエーションおよびキー・マネージメント・プロトコル（ＩＳＡＫＭＰ）、トランスポート層セキュリティ（ＴＬＳ）プロトコル、または他のセキュリティ・プロトコルのためのセキュリティ・アソシエーション（ＳＡ）データベースとすることができる。確立された安全なトンネル１２０がステップ３２０で見つからない場合には、フローはステップ３３０に進んで、初期ノード・デバイス２１が、従来のキー交換プロセスたとえばＩＫＥを開始する。その他の場合には、候補ノード・デバイス２２が存在しているため、フローはステップ３４０に進んで、初期ノード・デバイス２１の初期ノード・トンネル選択ユニット２１２が、ターゲット・ノード・デバイス２３の情報が含まれる過渡的ノード判定リクエスト５１０（図９参照）を、それぞれの候補ノード・デバイス２２へ送る。加えて、高速鍵交換が成功する確率を高めるために、さらなる判断アルゴリズムを、ステップ３２０において以下のように加えても良い。すなわち候補ノード・デバイス２２の数が、ユーザ定義の閾値数よりも大きくなくてはならない。詳細には、ステップ３２０において、確立された安全なトンネル１２０が見つからない場合には、または見つけられた候補ノード・デバイスの数が２２ユーザ定義の閾値数よりも小さい場合には、フローはステップ３３０へ進んで、初期ノード・デバイス２１が、従来のキー交換プロセスたとえばＩＫＥを開始する。その他の場合には、見つけられた候補ノード・デバイス２２の数がユーザ定義の閾値数よりも大きいため、フロー・ステップ３４０へ進んで、初期ノード・デバイス２１の初期ノード・トンネル選択ユニット２１２が、ターゲット・ノード・デバイス２３の情報を含む過渡的ノード判定リクエスト５１０を、それぞれの候補ノード・デバイス２２へ送る。過渡的ノード判定リクエスト５１０のメッセージをすべて送った後に、フロー・ステップ３５０へ進んで、初期ノード・デバイス２１が、それぞれの候補ノード・デバイス２２からの応答を待つ。そして、ステップ３６０では、初期ノード・トンネル選択ユニット２１２が、応答５２０または５３０（図９に示す）をいずれかの候補ノード・デバイス２２から受け取ったときに、初期ノード・デバイス２１が、（ＯＫ）または（ＮＧ）を示す応答ペイロードを解釈することによって、候補ノード・デバイス２２が適格であるかまたは不適格であるかを判断する。候補ノード・デバイス２２がすべて不適格である場合には、次にフローはステップ３３０に進んで、初期ノード・デバイス２１が従来のキー交換プロセスたとえばＩＫＥを開始する。その他の場合には、フローはステップ３７０へ進んで、初期ノード・デバイス２１が過渡的ノード・デバイスを、適格な候補ノード・デバイス２２から、過渡的ノード選択ポリシに基づいて選択する。「最初に応答する」、すなわち、すべての候補ノード・デバイスのうち初期ノード・デバイスに最早に応答したものを過渡的ノード・デバイスとして選択することが、過渡的ノード選択ポリシを説明するための例とすることができる。
【００２６】
図２、３、４、５、８、および９を参照して、候補ノード・デバイス２２の過渡的ノード選択手順１８０には、図８および９に示すステップが含まれる。最初に、ステップ４１０において、候補ノード・トンネル選択ユニット２２２が、過渡的ノード判定リクエスト５１０を初期ノード・デバイス２１から受け取ったときに、候補ノード・デバイス２２がリクエスト５１０を解釈して、ターゲット・ノード・デバイス２３のアドレスを知る。次に、ステップ４２０では、ターゲット・ノード・デバイス２３のアドレスを検索基準として適用することによって、候補ノード・トンネル選択ユニット２２２が、候補ノード・データベース（ＳＡＤＢ）２２９を検索して、第２の安全なトンネル１３０が、候補ノード・デバイス２２およびターゲット・ノード・デバイス２３間ですでに確立されたかどうかを判定する。本実施形態においては、ＳＡＤＢ２２９は、ＩＰＳｅｃプロトコル、ＩＳＡＫＭＰ、プロトコル、または他のセキュリティ・プロトコルのためのＳＡデータベースとすることができる。確立された安全なトンネル１３０が見つからない場合には、フローはステップ４４０へ進み、そこで候補ノード・デバイス２２が、（ＮＧ）を示すペイロード５３０によって初期ノード・デバイス２１に応答する。その他の場合には、フローはステップ４３０へ進み、そこで候補ノード・デバイス２２が、（ＯＫ）を示すペイロード５２０によって初期ノード・デバイス２１に応答する。好ましくは、過渡的ノード判定リクエスト５１０ならびに応答５２０および５３０を送りおよび受け取ることを、初期ノード・トンネル選択ユニット２１２および候補ノード・トンネル選択ユニット２２２によって、別個のソケット（ユーザ定義のプロトコル、たとえばＴＣＰまたはＵＤＰ、およびユーザ定義のポート番号に基づく）を通して行なう。
【００２７】
図２、３、４、５、６、および１０を参照して、高速鍵交換手順１９０の間に、高速鍵交換メッセージ６１０、６２０、６３０、６４０、６５０および６６０を送信および受信することを、初期ノード・デバイス２１の初期ノード鍵交換処理ユニット２１３、過渡的ノード・デバイス２４として選択される候補ノード・デバイス２２の候補ノード鍵交換処理ユニット２２３、およびターゲット・ノード・デバイス２３のターゲット・ノード鍵交換処理ユニット２３３によって、別個のソケット（ユーザ定義のプロトコル、たとえばＴＣＰまたはＵＤＰ、およびユーザ定義のポート番号に基づく）を通して行なう。
【００２８】
最初に、そのセキュリティ・ポリシに基づいて初期ノード・デバイス２１が、ＩＫＥクィック・モード開始の第１の（Ｉ１）メッセージ６１０におけるセキュリティ・アソシエーション（ＳＡ）プロポーザル内のそれぞれのパラメータ、たとえばセキュリティ・プロトコル、暗号化アルゴリズム、認証アルゴリズム、パーフェクト・フォワード・シークレシー（ＰＦＳ）パラメータ、等を決定する。詳細には、ＰＦＳパラメータがＯＮの場合には、過渡的ノード・デバイス２４が、初期ノード・デバイス２１およびターゲット・ノード・デバイス２３間の通信内容を知ることがないようにブロックする。一方、ＰＦＳパラメータがＯＦＦの場合には、過渡的ノード・デバイス２４が、初期ノード・デバイス２１およびターゲット・ノード・デバイス２３間の通信内容を知ることができるようにする。そして初期ノード・デバイス２１は、ターゲット・ノード・デバイス２３用のＩＫＥクィック・モード開始の第１の（Ｉ１）メッセージ６１０を形成して、過渡的ノード・デバイス２４に送ることを、初期ノード・デバイス２１および過渡的ノード・デバイス２４間の安全な通信の保護の下で行なう。クィック・モード開始の第１の（Ｉ１）メッセージ６１０を受け取ったら、過渡的ノード・デバイス２４は、クィック・モード開始の第１の（Ｉ１）メッセージ６２０をターゲット・ノード・デバイス２３に転送することを、過渡的ノード・デバイス２４およびターゲット・ノード・デバイス２３間の安全な通信の保護の下で行なう。この時点で、第１のクィック・モード開始の段階が、初期ノード・デバイス２１からターゲット・ノード・デバイス２３へと安全に行なわれる。その後のクィック・モード応答（Ｒ１）メッセージおよびクィック・モード開始の第２の（Ｉ２）メッセージを、クィック・モード開始の第１の（Ｉ１）メッセージのそれと同様の処理シーケンスで、送付してネゴシエーションする。第１のクィック・モード開始の段階が完了したら、ターゲット・ノード・デバイス２３は、初期ノード・デバイス２１用のＩＫＥクィック・モード応答（Ｒ１）メッセージ６３０を用意して、過渡的ノード・デバイス２４に送ることを、ターゲット・ノード・デバイス２３および過渡的ノード・デバイス２４間の安全な通信の保護の下で行なう。クィック・モード応答（Ｒ１）メッセージ６３０を受け取ったら、過渡的ノード・デバイス２４は、受け取ったクィック・モード応答（Ｒ１）メッセージ６４０を初期ノード・デバイス２１に転送することを、過渡的ノード・デバイス２４および初期ノード・デバイス２１間の安全な通信の保護の下で行なう。この時点で、クィック・モード応答段階が、安全にターゲット・ノード・デバイス２３から初期ノード・デバイス２１へと安全に行なわれる。クィック・モード応答段階が完了したら、初期ノード・デバイス２１は、ターゲット・ノード・デバイス２３用のＩＫＥクィック・モード開始の第２の（Ｉ２）メッセージ６５０を用意して、過渡的ノード・デバイス２４に送ることを、初期ノード・デバイス２１および過渡的ノード・デバイス２４間の安全な通信の保護の下で行なう。クィック・モード開始の第２の（Ｉ２）メッセージ６５０を受け取ったら、過渡的ノード・デバイス２４は、受け取ったクィック・モード開始の第２の（Ｉ２）メッセージ６６０を、ターゲット・ノード・デバイス２３に転送することを、過渡的ノード・デバイス２４およびターゲット・ノード・デバイス２３間の安全な通信の保護の下で行なう。この時点で、第２のクィック・モード開始の段階が、初期ノード・デバイスから２１ターゲット・ノード・デバイス２３へと安全に行なわれる。第２のクィック・モード開始の段階が完了したら、初期ノード・デバイス２１およびターゲット・ノード・デバイス２３間の高速鍵交換の実行が成功し、初期ノード・デバイス２１およびターゲット・ノード・デバイス２３間の安全な通信が確立されて保証される。
【００２９】
高速鍵交換の後の確立された安全なトンネルのための鍵素材生成に関しては、リクエスト・フォー・コメント（ＲＦＣ）２４０９に記載されているように、ＳＫＥＹＩＤ＿ｄ（非ＩＳＡＫＭＰセキュリティ・アソシエーションに対する鍵を得るために用いられる鍵素材）が、初期ノード・デバイス２１およびターゲット・ノード・デバイス２３の両方に対して要求される。さらに、ＳＫＥＹＩＤ＿ｄは、ＳＫＥＹＩＤ（ＩＫＥフェーズ１における交換に参加している者にのみ知られる秘密素材から得られる文字列）が主な入力パラメータである擬似ランダム関数（ＰＲＦ）から得られる。高速鍵交換に含まれる初期ノード・デバイス２１およびターゲット・ノード・デバイス２３の両方とも、ＩＫＥフェーズ１がないためにＳＫＥＹＩＤを得ることができないので、ＳＫＥＹＩＤ＿ｄ生成に対する説明のための２つの実施形態を、高速鍵交換に含まれる初期ノード・デバイス２１およびターゲット・ノード・デバイス２３の両方に対して、ここで提案する。一実施形態においては、ＳＫＥＹＩＤ＿ｄが、両端のノードによって合意されたユーザ定義の擬似ランダム関数によって、初期ノード・デバイス２１およびターゲット・ノード・デバイス２３の両方に知られている所定のパラメータを用いて得られる。所定のパラメータを説明するための１つの例は、ネゴシエーションされるＳＡペイロード、ならびに過渡的ノードを介した高速鍵交換に適した初期ノード・デバイス２１およびターゲット・ノード・デバイス２３のための識別ペイロードの識別である。図１１を参照して、他の実施形態においては、ＳＫＥＹＩＤ＿ｄは、過渡的ノード・デバイス２４によって、両端のノードによって合意されたユーザ定義の擬似ランダム関数を用いる手順８０５を通して、初期ノード・デバイス２１および過渡的ノード・デバイス２４間で、ならびに過渡的ノード・デバイス２４およびターゲット・ノード・デバイス２３間でのみ、それぞれ知られている所定のパラメータを用いて得られる。所定のパラメータを説明するための１つの例は、ネゴシエーションされるＳＡペイロード、および初期ノード・デバイス２１および過渡的ノード・デバイス２４のＳＫＥＹＩＤ、ならびに過渡的ノード・デバイス２４およびターゲット・ノード・デバイス２３のＳＫＥＹＩＤの連結である。初期ノード・デバイス２１およびターゲット・ノード・デバイス２３のＳＫＥＹＩＤ＿ｄが過渡的ノード・デバイス２４によって生成された後、初期ノード・デバイス２１からのリクエスト８３０またはターゲット・ノード・デバイス２３からのリクエスト８１０を受け取ったら、過渡的ノード・デバイス２４が、対応するＳＫＥＹＩＤ＿ｄ応答８４０または８２０を、初期およびターゲット・ノード・デバイス２１、２３のリクエストしている一方に、既存の安全なトンネルを介して送信する。リクエストおよび応答メッセージは、（８１０、８２０）または（８３０、８４０）として対になっている。しかし、ＳＫＥＹＩＤ＿ｄリクエスト８１０および８３０のシーケンスは、図１１に示した順番に従う必要は必ずしもなく、またＳＫＥＹＩＤ＿ｄ応答８２０および８４０のシーケンスも、図１１に示す順番に従う必要は必ずしもない。
【００３０】
図１および２を参照して、以下は、本発明による過渡的ノードを用いる高速鍵交換のための方法およびシステムの好ましい実施形態における再打鍵方式の説明である。再打鍵は、セキュリティ・アソシエーションのハードライフタイムの満了によって既存の安全なトンネルが無効となったときの、新しい安全なトンネルを確立するためのトリガである。実際には、ソフトライフタイム（通常は、ハードライフタイムの前のユーザ定義の時間である）が、再打鍵のための時点インジケータである。ソフトライフタイムの後かつハードライフタイムの前の時間の間に、再打鍵の実現を成功させて、既存の安全なトンネルのハードライフタイムが満了した後に２つのエンド・ポイントの安全なトンネルの一貫性を維持しなければならない。ノード・デバイスが再打鍵トリガを受け取った後に、前述の過渡的ノード選択手順１８０を用いて、過渡的ノード・デバイス２４を選択する。その後、前述の高速鍵交換手順１９０を行なって、再打鍵トリガリングを実現する。高速鍵交換の完了が成功した後に、再打鍵をトリガしたノード・デバイスとターゲット・ノード・デバイス２３との間の新しい安全なトンネルが確立されて、再打鍵操作が完了する。
【００３１】
図１、２、および８を参照して、以下は、本発明による過渡的ノードを用いる高速鍵交換のための方法およびシステムの好ましい実施形態における、削除ペイロードを送ることの説明である。削除ペイロードをピア・ノードへ送ることは、ハードライフタイムの満了によりまたは送っているノード・デバイスを通してユーザが介入することによりトンネルのセキュリティ・アソシエーション（ＳＡ）が無効となったときの、２つのエンド・ポイントの安全なトンネルの一貫性を維持する通知である。２つのエンド・ポイントの安全なトンネルのセキュリティ・アソシエーション（ＳＡ）に一貫性がない場合には、２つのピア・ノード・デバイスの安全なトンネルにおいて破壊が起こる。ノード・デバイスが削除ペイロードを受け取ったら、受け取ったノード・デバイスは、既存の安全なトンネルの対応するセキュリティ・アソシエーション（ＳＡ）を無効にして削除して、安全なトンネルの一貫性を維持しなければならない。セキュリティ上の理由から、削除ペイロードを安全なトンネルを通して送信しなければならない。本発明では、初期ノード・デバイス２１が削除ペイロードを送った場合には、削除ペイロードの送信は、初期ノード・デバイス２１および過渡的ノード・デバイス２４間の第１の安全なトンネル１２０を通して、および過渡的ノード・デバイス２４およびターゲット・ノード・デバイス２３間の第２の安全なトンネル１３０を通して、行なわれる。一方で、ターゲット・ノード・デバイス２３が削除ペイロードを送った場合には、削除ペイロードの送信は反対の経路を通って行なわれる。２つのピア・ノード・デバイスを接続する本来の安全なトンネルの１つ（すなわち、本来の過渡的ノード・デバイス２４を介して）が、いくつかの要因たとえばハードライフタイムの満了またはユーザ介入によって存続を中断した場合に、削除ペイロードを送りおよび受け取る間の潜在的な問題が生じる場合がある。この問題の発生を緩和する解決方法の１つは、過渡的ノード選択手順１８０における既存の安全なトンネルを選択するための前述のステップ４２０において、ハードライフタイムを検索基準内に導入することである。その際、過渡的ノード・デバイス２４を通る２つの安全なトンネルのハードライフタイムが、初期ノード・デバイス２１およびターゲット・ノード・デバイス２３のネゴシエーションするべきセキュリティ・アソシエーション（ＳＡ）のそれよりも長くなることを保証することができる。他の解決方法では、高速鍵交換が初期ノード・デバイス２１およびターゲット・ノード・デバイス２３によって完了が成功した後で、管理目的のために、２つのノード・デバイスが合意して、他の高速鍵交換を通して付加的な別個の安全な制御トンネルを設定する。安全な制御トンネルのハードライフタイムは、確立された安全なトンネルのそれよりも長い。制御トンネルを用いることで、削除ペイロードを２つのエンド・ポイントによって送って受け取ることを、保証することができる。
【００３２】
次に、本発明による過渡的ノードを用いる高速鍵交換のための方法およびシステムの第3の実施形態について説明する。第１の実施形態では、ただ１つの過渡的ノード・デバイスが、初期ノード・デバイスとターゲット・ノード・デバイスの間の鍵交換のメッセージを仲介する構成を説明した。しかしながら、過渡的ノードの数は１つに限定されるわけではなく、複数の過渡的ノードが連なって、初期ノード・デバイスからターゲット・ノード・デバイスの区間の仲介を行っても良い。図２、および図１２〜１６を参照して、本発明による過渡的ノードを用いる高速鍵交換のための方法およびシステムの第２の好ましい実施形態には、マルチ・レベルの過渡的ノード・デバイスが含まれる。ここで「マルチ・レベル」のレベルとは、初期ノード・デバイスからの鍵交換メッセージを直接仲介する過渡的ノード・デバイスをレベル１として、ターゲット・ノード・デバイスに向かって過渡的ノードが１つ仲介するたびに、過渡的ノードのレベルが１つずつ増えていくものとする。図２および１２に示すように、第２の好ましい実施形態がいったん過渡的ノード選択手順１８０を完了したら、マルチ・レベルの高速鍵交換のシステムには、初期ノード・デバイス２１、ターゲット・ノード・デバイス２３、および多数（Ｎ）の選択された過渡的ノード・デバイスが含まれる。選択された過渡的ノード・デバイスには、レベル１の過渡的ノード・デバイス７１０、レベル２〜レベル（Ｎ−１）の過渡的ノード・デバイス７２０、およびレベルＮの過渡的ノード・デバイス７３０が含まれる。それぞれのレベルにおける選択される過渡的ノード・デバイスは、少なくとも１つの候補ノード・デバイスから選択される。
【００３３】
初期ノード・デバイス２１には、初期ノード・トンネル判定ユニット２１１、初期ノード・トンネル選択ユニット２１２、および初期ノード鍵交換処理ユニット２１３が含まれる。初期ノード・トンネル判定ユニット２１１は、初期ノード・データベース（たとえば図３の初期ノード・データベース２１９、ＳＡデータベースであっても良い）を検索して、初期ノード・デバイス２１とのレベル１の安全なトンネルをすでに有するレベル１の候補ノード・デバイス７１を見つけるためのものである。初期ノード・トンネル選択ユニット２１２は、レベル１の過渡的ノード・デバイス７１０を、レベル２の候補ノード・デバイスとのレベル２の安全なトンネルをすでに有するレベル１の候補ノード・デバイス７１から選択するためのものである。初期ノード鍵交換処理ユニット２１３は、レベル１の過渡的ノード・デバイス７１０との安全なキー交換を、レベル１の安全なトンネルを通して進めるためのものである。
【００３４】
レベルｎの（ここでｎは自然数であり、Ｎよりも小さい）候補ノード・デバイス７１および７２にはそれぞれ、候補ノード・トンネル判定ユニット７２４、第１の候補ノード・トンネル選択ユニット７２１、第２の候補ノード・トンネル選択ユニット７２２、および候補ノード鍵交換処理ユニット７２３が含まれる。候補ノード・トンネル判定ユニット７２４は、レベルｎの候補ノード・データベース７２９を検索して、レベルｎの候補ノード・デバイスとのレベル（ｎ＋１）の安全なトンネルをすでに有するレベル（ｎ＋１）の候補ノード・デバイスを見つけるためのものである。第１の候補ノード・トンネル選択ユニット７２１は、レベル（ｎ＋１）の過渡的ノード・デバイスを、レベル（ｎ＋２）のノード・デバイスとのレベル（ｎ＋２）の安全なトンネルをすでに有するレベル（ｎ＋１）の候補ノード・デバイスから選択するためのものである。第２の候補ノード・トンネル選択ユニット７２２は、レベルｎの候補ノード・データベース７２９を検索して、レベル（ｎ＋１）の候補ノード・デバイスとのレベル（ｎ＋１）の安全なトンネルをさらに有するレベルｎの候補ノード・デバイスの一部を見つけるためのものである。候補ノード鍵交換処理ユニット７２３は、レベル（Ｎ−１）の過渡的ノード・デバイスおよびレベル（ｎ＋１）の過渡的ノード・デバイス間の安全なキー交換を、レベルｎの安全なトンネルおよびレベル（ｎ＋１）の安全なトンネルをそれぞれ通して、進めるためのものである。
【００３５】
レベルｎの候補ノード・データベース７２９は、すべてのレベルｎの候補ノード・デバイスの外部に配置される単一の独立したデータベースの形態であっても良いということは、注意するに値する。あるいは、レベルｎの候補ノード・データベース７２９は、レベルｎの候補ノード・デバイスの内部にそれぞれ配置される複数のデータベースの形態であっても良い。すなわち、レベルｎの候補ノード・デバイスのそれぞれには、独立したデータベースが含まれ、それぞれのデータベースによって個々のレベルｎの候補ノード・デバイスの安全なトンネルが記録される。
【００３６】
レベルＮの候補ノード・デバイス７３は、ターゲット・ノード・デバイス２３とのレベル（Ｎ＋１）の安全なトンネルをすでに有しており、候補ノード・トンネル選択ユニット７３２および候補ノード鍵交換処理ユニット７３３を含んでいる。候補ノード・トンネル選択ユニット７３２は、レベルＮの候補ノード・データベース７３９を検索して、ターゲット・ノード・デバイス２３とのレベル（Ｎ＋１）の安全なトンネルをさらに有するレベルＮの候補ノード・デバイス７３の一部を見つける。候補ノード鍵交換処理ユニット７３３は、レベル（Ｎ−１）の過渡的ノード・デバイス７２０およびターゲット・ノード・デバイス２３間の安全なキー交換を、レベルＮの安全なトンネルおよびレベル（Ｎ＋１）の安全なトンネルをそれぞれ通して進めるためのものである。
【００３７】
レベルＮの候補ノード・データベース７３９は、すべてのレベルｎの候補ノード・デバイス７３の外部に配置される単一の独立したデータベースの形態であっても良いということは、注意するに値する。あるいは、レベルＮの候補ノード・データベース７３９は、レベルＮの候補ノード・デバイス７３の内部にそれぞれ配置される複数のデータベースの形態であっても良い。すなわち、レベルＮの候補ノード・デバイス７３のそれぞれには、独立したデータベースが含まれ、それぞれのデータベースによって個々のレベルＮの候補ノード・デバイス７３の安全なトンネルが記録される。
【００３８】
ターゲット・ノード・デバイス２３には、レベルＮの過渡的ノード・デバイス７３０との安全なキー交換を、レベル（Ｎ＋１）の安全なトンネルを通して進めるためのターゲット・ノード鍵交換処理ユニット２３３が含まれる。
【００３９】
第２の好ましい実施形態の前述のシステムによって行なわれる本発明の方法には、以下のステップが含まれる。すなわち最初に、初期ノード・デバイス２１が、初期ノード・データベース２１９を検索して、レベル１の候補ノード・デバイス７１を見つける。レベル１の候補ノード・デバイス７１は、初期ノード・デバイス２１との安全な通信を行なうためのレベル１の安全なトンネルをすでに有している。次に、レベルｎの候補ノード・デバイスが、レベルｎの候補ノード・データベース７２９を検索して、複数のレベル（ｎ＋１）の候補ノード・デバイスを見つける。レベル（ｎ＋１）の候補ノード・デバイスは、レベルｎのノード・デバイスとの安全な通信を行なうためのレベル（ｎ＋１）の安全なトンネルをすでに有している。次に、レベルＮの候補ノード・データベース７３９を検索して、ターゲット・ノード・デバイス２３との安全な通信を行なうためのレベル（Ｎ＋１）の安全なトンネルをすでに有するレベルＮの候補ノード・デバイス７３を見つける。その後、レベルｎの過渡的ノード・デバイスを、レベル（ｎ＋１）の候補ノード・デバイスとのレベル（ｎ＋１）の安全なトンネルをすでに有するレベルｎの候補ノード・デバイスから選択し、レベルＮの過渡的ノード・デバイス７３０を、ターゲット・ノード・デバイス２３とのレベル（Ｎ＋１）の安全なトンネルをすでに有するレベルＮの候補ノード・デバイス７３から、選択する。次に、安全なキー交換を、初期ノード・デバイス２１およびレベル１の過渡的ノード・デバイス７１０間のレベル１の安全なトンネル、レベルｎの過渡的ノード・デバイスおよびレベル（ｎ＋１）の過渡的ノード・デバイス間のレベル（ｎ＋１）の安全なトンネル、ならびにレベルＮの過渡的ノード・デバイス７３０およびターゲット・ノード・デバイス２３間のレベル（Ｎ＋１）の安全なトンネルを通して順次行い、初期ノード・デバイス２１およびターゲット・ノード・デバイス２３間のその後の安全な通信を可能にする。
【００４０】
図１０および１２に示すように、連続するマルチ・レベルの過渡的ノード・デバイスの安全なトンネルを通してメッセージが順次リレーされるということを除いて、第２の好ましい実施形態のマルチ・レベルの高速鍵交換手順１９０は、図１０に示したそれと同様である。高速鍵交換メッセージ７１１、７１５、７２５、７３１、７３５、７４０、７５０、７５５、および７６０は、初期ノード・デバイス２１、過渡的ノード・デバイス７１０、７２０、７３０、およびターゲット・ノード・デバイス２３のキー交換処理ユニットの別個のソケット（ユーザ定義のプロトコル、たとえばＴＣＰまたはＵＤＰ、およびユーザ定義のポート番号に基づく）によって送られて受け取られる。
【００４１】
ＩＫＥクィック・モード開始の第１の（Ｉ１）メッセージ６１０と同様に、ＩＫＥクィック・モード開始の第１の（Ｉ１）メッセージ７１１が、初期ノード・デバイス２１によって、レベル１の過渡的ノード・デバイス７１０に、初期ノード・デバイス２１およびレベル１の過渡的ノード・デバイス７１０間の安全なトンネルを介して送られる。次に、ＩＫＥクィック・モード開始の第１の（Ｉ１）メッセージ７１５を次の過渡的ノード・デバイスに転送することが、レベル１、レベル２、…、からレベル（Ｎ−１）への過渡的ノード・デバイスの順序で、それぞれの対応する過渡的ノード・デバイス対の安全なプロトコル保護の下で行なわれる。ＩＫＥクィック・モード開始の第１の（Ｉ１）メッセージ６２０と同様に、ＩＫＥクィック・モード開始の第１の（Ｉ１）メッセージ７２５が、レベルＮの過渡的ノード・デバイス７３０から、ターゲット・ノード・デバイス２３によって、レベルＮの過渡的ノード・デバイス７３０およびターゲット・ノード・デバイス２３間の安全なトンネルを介して受け取られる。ＩＫＥクィック・モード応答（Ｒ１）メッセージ６３０と同様に、ＩＫＥクィック・モード応答（Ｒ１）メッセージ７３１が、レベルＮの過渡的ノード・デバイス７３０に、ターゲット・ノード・デバイス２３によって、レベルＮの過渡的ノード・デバイス７３０およびターゲット・ノード・デバイス２３間の安全なトンネルを介して送られる。次に、クィック・モード応答（Ｒ１）メッセージ７３５を次の過渡的ノード・デバイスに転送することが、レベルＮ、レベル（Ｎ−１）、…、からレベル２の過渡的ノード・デバイスへの順序で、それぞれの対応する過渡的ノード・デバイス対の安全なプロトコル保護の下で行なわれる。ＩＫＥクィック・モード応答（Ｒ１）メッセージ６４０と同様に、ＩＫＥクィック・モード応答（Ｒ１）メッセージ７４０が、レベル１の過渡的ノード・デバイス７１０から、初期ノード・デバイス２１によって、レベル１の過渡的ノード・デバイス７１０および初期ノード・デバイス２１間の安全なトンネルを介して受け取られる。
【００４２】
ＩＫＥクィック・モード開始の第２の（Ｉ２）メッセージ６５０と同様に、ＩＫＥクィック・モード開始の第２の（Ｉ２）メッセージ７５０が、初期ノード・デバイス２１によって、レベル１の過渡的ノード・デバイス７１０に、初期ノード・デバイス２１およびレベル１の過渡的ノード・デバイス７１０間の安全なトンネルを介して送られる。次に、ＩＫＥクィック・モード開始の第２の（Ｉ２）メッセージ７５５を次の過渡的ノード・デバイスに転送することが、レベル１、レベル２、…、からレベル（Ｎ−１）の過渡的ノード・デバイスへの順序で、それぞれの対応する過渡的ノード・デバイス対の安全なプロトコル保護の下で行なわれる。ＩＫＥクィック・モード開始の第２の（Ｉ２）メッセージ６６０と同様に、ＩＫＥクィック・モード開始の第２の（Ｉ２）メッセージ７６０が、レベルＮの過渡的ノード・デバイス７３０から、ターゲット・ノード・デバイス２３によって、レベルＮの過渡的ノード・デバイス７３０およびターゲット・ノード・デバイス２３間の安全なトンネルを介して受け取られる。
【００４３】
本発明の前述の第１および第２の好ましい実施形態においては、ＱＫＥモジュールを伴うノード・デバイスは、２つのタイプのキー交換メッセージを送って受け取ることによって、ＱＫＥモジュールを伴う他のノード・デバイスとネゴシエーションすることができる。メッセージとはすなわち、一方がＱＫＥメッセージであり、他方が従来のキー交換メッセージ、たとえばＩＳＡＫＭＰメッセージである。従来のキー交換メッセージ、たとえばＩＳＡＫＭＰメッセージのみが、ＱＫＥ互換性のノード・デバイスと非ＱＫＥ互換性のノード・デバイスとの間で、ネゴシエーションすることができる。ピア・ノード・デバイスとの高速鍵交換を開始する前に、以下の事はＱＫＥノード・デバイスにとって重要である。すなわち初期ノード・デバイス２１は、ターゲット・ノード・デバイス２３が高速鍵交換可能であることを確認しなければならない。解決方法の１つは、特定の「ベンダーＩＤ」を導入して、ノード・デバイスが高速鍵交換可能であるかどうかを区別することである。ターゲット・ノード・デバイス２３の「ベンダーＩＤ」を認識することによって、初期ノード・デバイス２１は、ターゲット・ノード・デバイス２３と高速鍵交換を開始するのかまたは従来のキー交換を開始するのかを、判断することができる。
【００４４】
以下の説明では、本発明の第１の好ましい実施形態を、安全な分散型遠隔教育システムにどのように適用するのかを例示する。ネットワーキング教室では、分散ネットワーク内の異なるホストから来ている生徒達を複数のグループに分けて、いくつかの競争活動または試験に参加させる。それぞれのグループはチームワークを形成し、グループ的な通信のためのセキュリティ・プロトコルおよびそのセキュリティ・パラメータが、要求されて、また他のグループに対するそれぞれのグループ内での安全な通信を保証するために同じグループ内の他のすべてのメンバに対して一貫していなければならない。要求されるセキュリティ・プロトコルおよびそのセキュリティ・パラメータが与えられた後で、特定の生徒に所属するそれぞれのノード・デバイスが、同じグループ内の他の生徒に所属する他のすべてのノード・デバイスとの高速鍵交換を開始する。それぞれのキー交換に対する過渡的ノード・デバイス２４は、同じグループのメンバのうちの一人であり、行なう高速鍵交換が異なるときには、過渡的ノード・デバイス２４は異なることができ、また固定されていない。さらに、通信教育ネットワークは、無線ＬＡＮ（ＷＬＡＮ）を含むことができ、いくつかのグループ・メンバがインフラストラクチャ・モードを伴う同じＷＬＡＮに所属しても良い。ここでは、アクセス・ポイント（ＡＰ）は、同じＷＬＡＮ受信可能範囲内のすべてのモバイル・ノード・デバイス間のすべての通信のＷＬＡＮ無線信号の中心の送信器および受信器として機能する特別に構成されたノード・デバイスである。このＷＬＡＮネットワーキング環境に合わせて調整するために、同じＷＬＡＮ受信可能範囲内のそれぞれの高速鍵交換に対する過渡的ノード・デバイス２４は、過渡的ノード・デバイスとしてのアクセス・ポイントとのすべての高速鍵交換の完了が成功できるようなアクセス・ポイントとなる。同じグループ内のそれぞれのノード・デバイスの要求される高速鍵交換がすべて完了したときに、他のグループに対するすべてのグループ生徒間の安全な通信が実現される。
【００４５】
以下の説明では、本発明の第２の好ましい実施形態を、仮想プライベート・ネットワーク（ＶＰＮ）によって複数のキャンパスに渡る安全な分散型遠隔教育システムにどのように適用するのかを例示する。仮想プライベート・ネットワーク（ＶＰＮ）（一般にＩＰＳｅｃとして知られるセキュリティ・プロトコルによって実行され、ＩＥＴＦＲＦＣ２４０１で規定される）により複数のキャンパスに渡るネットワーキング教室では、すべてのキャンパス間の通信が、所定のセキュリティ・プロトコル、たとえばＩＰＳｅｃによって保護され、また安全であることが保証されている。ＶＰＮ内の任意の２つのキャンパスの安全なトンネルは、キャンパスの２つのルータまたはゲートウェイによって確立される。このようなネットワーキング環境では、異なるホストおよび異なるキャンパスから来ている生徒を複数のグループに分けて、いくつかの競争活動または試験に参加させる。それぞれのグループ・チームワークを形成し、グループ的な通信のためのセキュリティ・プロトコルおよびそのセキュリティ・パラメータがが、要求されて、また他のグループに対するそれぞれのグループ内での安全な通信を保証するために、同じグループ内の他のすべてのメンバに対して一貫していなければならない。要求されるセキュリティ・プロトコルおよびそのセキュリティ・パラメータが与えられた後で、特定の生徒に所属するそれぞれのノード・デバイスが、同じグループ内の他の生徒に所属する他のすべてのノード・デバイスとの高速鍵交換を開始する。このＶＰＮネットワーキング環境に合わせて調整するために、マルチ・レベルの過渡的ノード・デバイスをそれぞれの高速鍵交換に対して適用することができる。説明のためのシナリオの１つは以下の通りである。すなわちレベル１の過渡的ノード・デバイスを、あるキャンパス内の信頼されるルータまたはゲートウェイとすることができ、またレベル２の過渡的ノード・デバイスを、他のキャンパス内の信頼されるルータまたはゲートウェイとすることができる。２つのレベルの過渡的ノード・デバイスによって、ＶＰＮを介して接続される２つのキャンパスに渡るそれぞれの高速鍵交換を実現することができる。
【００４６】
本発明の過渡的ノードを用いる高速鍵交換のための方法およびシステムを用いて、相互に接続された２つの安全なトンネルをノード・デバイス間に確立することができ、またこの方法およびシステムによって、ＩＫＥフェーズ１ネゴシエーション、特にディフィ・ヘルマン・プロセスを回避することができる。加えて、グループ内の任意のノード・デバイスが、ＩＰＳｅｃトンネルを確立するために他のノード・デバイスとのＩＫＥフェーズ２ネゴシエーションを完了させることができる。
【００４７】
本発明を、最も実際的で好ましい実施形態と考えられるものに関して説明してきたが、本発明は、開示した実施形態に限定されるものではなく、最も広い解釈の趣旨および範囲に含まれる種々の配置を網羅し、このような変更および均等な配置をすべて包含することが意図されている。
【図面の簡単な説明】
【００４８】
【図１】本発明による過渡的ノードを用いる高速鍵交換のためのシステムの第１の好ましい実施形態が適用される、グループの安全なネットワークを示す概略的なダイアグラムである。
【図２】本発明による過渡的ノードを用いる高速鍵交換のための方法のシステム・フローを例示するフロー・ダイアグラムである。
【図３】本発明による過渡的ノードを用いる高速鍵交換のためのシステムの第１の好ましい実施形態を例示するブロック・ダイアグラムである。
【図４】本発明のシステムの第１の好ましい実施形態の初期ノード・デバイスの内部コンポーネントを例示するブロック・ダイアグラムである。
【図５】本発明のシステムの第１の好ましい実施形態の候補ノード・デバイスおよび候補ノード・データベースの内部コンポーネントを例示するブロック・ダイアグラムである。
【図６】本発明のシステムの第１の好ましい実施形態のターゲット・ノード・デバイスの内部コンポーネントを例示するブロック・ダイアグラムである。
【図７】本発明の方法の第１の好ましい実施形態の初期ノード・デバイスの過渡的ノード選択手順を例示するフローチャートである。
【図８】本発明の方法の第１の好ましい実施形態の候補ノード・デバイスの過渡的ノード選択手順を例示するフローチャートである。
【図９】本発明の方法の第１の好ましい実施形態における過渡的ノード選択手順のリクエストおよび応答メッセージ・フローを例示するシーケンス・フローである。
【図１０】本発明の方法の第１の好ましい実施形態における高速鍵交換メッセージ・フローを例示するシーケンス・フローである。
【図１１】本発明の方法の第１の好ましい実施形態におけるＳＫＥＹＩＤ＿ｄ生成およびリクエスト／応答シーケンス・フローを例示するシーケンス・フローである。
【図１２】本発明の方法のマルチ・レベルの過渡的ノード・デバイスを有する第２の好ましい実施形態における高速鍵交換メッセージ・フローを例示するシーケンス・フローである。
【図１３】本発明のシステムのマルチ・レベルの過渡的ノード・デバイスを有する第２の好ましい実施形態の初期ノード・デバイスの内部コンポーネントを例示するブロック・ダイアグラムである。
【図１４】本発明のシステムの第２の好ましい実施形態のレベルｎの候補ノード・デバイスおよびレベルｎの候補ノード・データベースの内部コンポーネントを例示するブロック・ダイアグラムである。
【図１５】本発明のシステムの第２の好ましい実施形態の、ターゲット・ノード・デバイスとのレベル（Ｎ＋１）の安全なトンネルをすでに有するレベルＮの候補ノード・デバイスの内部コンポーネントと、レベルＮの候補ノード・データベースとを例示するブロック・ダイアグラムである。
【図１６】本発明のシステムの第２の好ましい実施形態のターゲット・ノード・デバイスの内部コンポーネントを例示するブロック・ダイアグラムである。
【符号の説明】
【００４９】
２０、２１、２３、２４  ノード・デバイス
７１、７３  候補ノード・デバイス
１１０、１２０、１３０  トンネル
１４０  トンネル確立リクエスト
１８０  過渡的ノード選択手順
１９０  高速鍵交換手順
２１１  初期ノード・トンネル判定ユニット
２１２  初期ノード・トンネル選択ユニット
２１３  初期ノード鍵交換処理ユニット
２１９  初期ノード・データベース
２１９、２２９  ＳＡＤＢ
２２２、７３２  候補ノード・トンネル選択ユニット
２２３、７２３、７３３  候補ノード鍵交換処理ユニット
２２９、７２９、７３９  候補ノード・データベース
２３３  ターゲット・ノード鍵交換処理ユニット
５１０  過渡的ノード判定リクエスト
５１０、８１０、８３０  リクエスト
５２０、８２０、８４０  応答
５２０、５３０  ペイロード
６１０、６２０、６３０、６４０、６５０、６６０  高速鍵交換メッセージ
６３０、６４０  クィック・モード応答メッセージ
６５０、６６０  第２のメッセージ
７１０、７２０  過渡的ノード・デバイス
７１１、７１５、７２５、７３１、７３５、７４０、７５０、７５５、７６０  高速鍵交換メッセージ
７１０、７２０、７３０  過渡的ノード・デバイス
７２１  第１の候補ノード・トンネル選択ユニット
７２２  第２の候補ノード・トンネル選択ユニット
７２４  候補ノード・トンネル判定ユニット
７２５  第１のメッセージ
７３１、７３５、７４０  クィック・モード応答メッセージ
７５０、７５５、７６０  第２のメッセージ
【図１】
2006157185.tif 000003
【図２】
2006157185.tif 000004
【図３】
2006157185.tif 000005
【図４】
2006157185.tif 000006
【図５】
2006157185.tif 000007
【図６】
2006157185.tif 000008
【図７】
2006157185.tif 000009
【図８】
2006157185.tif 000010
【図９】
2006157185.tif 000011
【図１０】
2006157185.tif 000012
【図１１】
2006157185.tif 000013
【図１２】
2006157185.tif 000014
【図１３】
2006157185.tif 000015
【図１４】
2006157185.tif 000016
【図１５】
2006157185.tif 000017
【図１６】
2006157185.tif 000018
【外国語明細書】
METHOD AND SYSTEM FOR QUICK KEY EXCHANGE USING TRANSITIVE NODES
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to a method and system for key exchange, more particularly to a method and system for quick key exchange (QKE) using transitive nodes.
2. Description of the Related Art
Internet Key Exchange (IKE) is a widely adopted key exchange protocol for peer nodes to securely negotiate security associations (SAs) for the secure communications protocol, i.e., Internet Protocol Security (IPSec). IKE includes two phases of negotiations: Phase 1 and Phase 2. Phase 1 entails execution of the negotiation of an IKE SA using a Diffie-Hellman process, which involves voluminous and complex calculations. IKE SA can guarantee secure communication for the subsequent Phase 2. Phase 2 involves execution of the negotiation of an IPsec SA. When the negotiation of Phase 2 of IKE is completed, the secure communication for IPSec between the peer nodes can be guaranteed.
For a peer-to-peer communication between two nodes, the adoption of the inevitably complex and time-consuming Diffie-Hellman process in Phase 1 of IKE is a rather feasible solution. However, for secure communications among a group configuration of a plurality of nodes, in particular, home appliances that require voluminous and complex calculations during the process of group configuration, issues related to negotiation time and computing expense attributed to Phase 1 negotiation of IKE arise when the group size increases. For instance, if secure communication is required between any two nodes in a group, each node must complete the two IKE phases of negotiations with all other nodes in the group. In other words, if the group consists of (m) nodes, the total number of required IKE Phase 1 negotiations for the group at the initial time will be m(m-1)/2. 
In general, other prior art (see below) deploy group key and working key mechanism for group configuration secure communications:
-Decentralized systems methods and computer program products for sending secure messages among a group of nodes (US6,363,154 B1)
In some cases, the technique of this reference can alleviate the burden of Security Association (SA) negotiations in a group scale. However, sharing secrets among a plurality of nodes incurs a critical security threat, i.e., impersonation. Moreover, once a group key is compromised, the entire secure group configuration is compromised as well. Under these circumstances, a more effective IKE-based key exchange is needed so as to ensure strong security among group members in a group scale.
Other prior art (see below) deploy intermediate node key distribution mechanism for two end points.
- Proxy encryption communication system and method, and recording medium having program recorded thereon (JP2001-237818); and
- Key-information managing method, and device managing equipment (JP 2002-271309)
The intermediate node acts as a gateway or proxy server between two peer end points, and establishes two secure tunnels for the peer end points, respectively. The intermediate node then determines a session key of the two end points, and transmits the session key to each of the end points through the secure tunnel between the intermediate node and the corresponding end point. In this way, a secure tunnel is established between the two end points. However, there still exist two major security threats in this mechanism: (1) The intermediate node is able to know the security secret which is supposed to be known only by the two end points; and (2) If the intermediate node is unable to be operate normally due to some network attacks, such as Denial of Service (DOS) or Distributed Denial of Service (DDOS), the request for establishing a secure tunnel between the two end points will not be fulfilled.
SUMMARY OF THE INVENTION
Therefore, the object of the present invention is to provide a method for quick key exchange using a transitive node, which can avoid the IKE Phase 1 negotiation, particularly the Diffie-Hellman process, and which enables any node device in a group to complete the IKE Phase 2 negotiation with other node devices for establishing IPSec tunnels.
According to one aspect of the present invention, there is provided a method for quick key exchange using a transitive node, comprising the steps of:
a) enabling an initial node device to search for a plurality of candidate node devices from an initial node database, wherein each of the candidate node devices already has a respective first secure tunnel for conducting secure communication with the initial node device;
b) searching from a candidate node database the candidate node devices that already have a respective second secure tunnel for conducting secure communication with a target node device;
c) selecting a transitive node device from the candidate node devices that already have the respective second secure tunnel with the target node device; and
d) proceeding with secure key exchange through the first secure tunnel between the initial node device and the transitive node device and through the second secure tunnel between the transitive node device and the target node device so as to enable subsequent secure communication between the initial node device and the target node device.
Another object of the present invention is to provide a system for quick key exchange using a transitive node, which can avoid the IKE Phase 1 negotiation, particularly the Diffie-Hellman process, and which enables any node device in a group to complete the IKE Phase 2 negotiation with other node devices for establishing IPSec tunnels.
According to another aspect of the present invention, there is provided a system for quick key exchange using a transitive node. The system comprises an initial node database, a candidate node database, an initial node device, a target node device, and a plurality of candidate node devices. The candidate node devices are obtained upon searching of the initial node database by the initial node device. Each of the candidate node devices already has a respective first secure tunnel for conducting secure communication with the initial node device. A portion of the candidate node devices further have a respective second secure tunnel for conducting secure communication with the target node device. The initial node device is capable of selecting a transitive node device from the candidate node devices that already have the respective second secure tunnel with the target node device. Therefore, a secure key exchange is capable of proceeding through the first secure tunnel between the initial node device and the transitive node device and through the second secure tunnel between the transitive node device and the target node device so as to enable subsequent secure communication between the initial node device and the target node device.
A further object of the present invention is to provide another method for quick key exchange using transitive nodes, which can avoid the IKE Phase 1 negotiation, particularly the Diffie-Hellman process, and which enables any node device in a group to complete the IKE Phase 2 negotiation with other node devices for establishing IPSec tunnels.
According to yet another aspect of the present invention, there is provided a method for quick key exchange using transitive nodes, comprising the steps of:
e) enabling an initial node device to search an initial node database to find a plurality of level-1 candidate node devices, wherein the level-1 candidate node devices already have a first secure tunnel for conducting secure communication with the initial node device;
f) enabling a level-n candidate node device to search a level-n candidate node database to find a plurality of level-(n+1) candidate node devices, wherein the level-(n+1) candidate node devices already have a level-(n+1) secure tunnel for conducting secure communication with a level-n node device, and wherein n is any natural number;
g) searching a level-N candidate node database to find level-N candidate node devices, which already have a level-(N+1) secure tunnel for conducting secure communication with a target node device;
h) selecting a level-n transitive node device from the level-n candidate node devices that already have the level-(n+1) secure tunnel with the level-(n+1) candidate node device, and selecting a level-N transitive node device from the level-N candidate node devices that already have the level-(N+1) secure tunnel with the target node device; and
i) proceeding with secure key exchange in sequence through the level-1 secure tunnel between the initial node device and the level-1 transitive node device, the level-(n+1) secure tunnel between the level-n transitive node device and the level-(n+1) transitive node device, and the level-(N+1) secure tunnel between the level-N transitive node device and the target node device so as to enable subsequent secure communication between the initial node device and the target node device.
BRIEF DESCRIPTION OF THE DRAWINGS
Other features and advantages of the present invention will become apparent in the following detailed description of the preferred embodiments with reference to the accompanying drawings, of which:
Figure 1 is a schematic diagram of a group secure network that is applied with the first preferred embodiment of a system for quick key exchange using a transitive node according to the present invention;
Figure 2 is a flow diagram to illustrate system flow of the method for quick key exchange using a transitive node according to the present invention;
Figure 3 is a block diagram to illustrate the first preferred embodiment of a system for quick key exchange using a transitive node according to the present invention;
Figure 4 is a block diagram to illustrate internal components of an initial node device of the first preferred embodiment of the system of the present invention;
Figure 5 is a block diagram to illustrate internal components of a candidate node device and a candidate node database of the first preferred embodiment of the system of the present invention;
Figure 6 is a block diagram to illustrate an internal component of a target node device of the first preferred embodiment of the system of the present invention;
Figure 7 is a flowchart to illustrate a transitive node selection procedure of the initial node device of the first preferred embodiment of the method of the present invention;
Figure 8 is a flowchart to illustrate a transitive node selection procedure of the candidate node device of the first preferred embodiment of the method of the present invention;
Figure 9 is a sequence flow to illustrate request and response message flows of the transitive node selection procedure in the first preferred embodiment of the method of the present invention;
Figure 10 is a sequence flow to illustrate quick key exchange message flow in the first preferred embodiment of the method of the present invention;
Figure 11 is a sequence flow to illustrate SKEYID_d generation and request/response sequence flow in the first preferred embodiment of the method of the present invention;
Figure 12 is a sequence flow to illustrate quick key exchange message flow in the second preferred embodiment having multi-level transitive node devices of the method of the present invention;
Figure 13 is a block diagram to illustrate internal components of an initial node device of the second preferred embodiment having multi-level transitive node devices of the system of the present invention;
Figure 14 is a block diagram to illustrate internal components of a level-n candidate node device and a level-n candidate node database of the second preferred embodiment of the system of the present invention;
Figure 15 is a block diagram to illustrate internal components of a level-N candidate node device, which already has a level-(N+1) secure tunnel with a target node device, and a level N candidate node database of the second preferred embodiment of the system of the present invention; and
Figure 16 is a block diagram to illustrate an internal component of the target node device of the second preferred embodiment of the system of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Before the present invention is described in greater detail with reference to the accompanying preferred embodiments, it should be noted herein that like elements are denoted by the same reference numerals throughout the disclosure.
Figure 1 shows an example of a network which is applied with a system for quick key exchange using a transitive node according to the present invention.  As shown in Figure 1, node device 21, node device 20, node device 24 and node device 23 are connected to a communications network so as to enable communications between the node devices through the network.  When each of node devices 21 to 24 communicates with other node device, it is necessary to form a complete secure communication network between a pair of node devices. In the example shown in Figure 1, three secure tunnels are so far established: an IPSec tunnel 110 which protects communication between node device 21 and node device 20; an IPSec tunnel 120 which protects communication between node device 21 and node device 24; and an IPSec tunnel 130 which protects communication between node device 24 and node device 23. After the condition with three secure tunnels being established,  node device 21 triggers an IPSec tunnel establishment request 140 to establish secure communication between node device 21 and node device 23.  In the description below, a quick establishment of a secure tunnel between node devices 21 and 23 by the use of secure tunnels that have already been established, will be explained, in accordance with the key exchange technology of the present invention. 
In the establishment process of the IPSec tunnel establishment request 140, node device 21 that triggered establishment of the secure tunnel is referred to as an initial node device, and the corresponding peer node device 23 is referred to as a target node device.  A node device which will be used for sending messages, such as key exchange messages, between the initial node device and the target node device through the secure tunnels that have been already established, is referred to as a transitive node device.  Also a node device that can be selected as a transitive node device is referred to as a candidate node device.  In the example shown in Figure 1, the node device 24 which is connected to both the initial node device and the target node device through the secure tunnels is selected as the transitive node device.  The quick key exchange method, according to the present invention, using the transitive node device is referred to as a quick key exchange (QKE).
Referring to Figure 2, the method for quick key exchange using a transitive node according to the present invention consists of two major procedures: transitive node selection procedure 180 and quick key exchange procedure 190. The transitive node selection procedure 180 is executed in accordance with a secure tunnel establishment request to select a transitive node device from a set of candidate node devices. A transitive node device selection policy is applied to decide which one of the candidate transitive node devices could be used as a transitive node for the subsequent quick key exchange procedure 190. "Response First", i.e., selecting the one that responded earliest to the initial node device among all candidate node devices as the transitive node device, could be an illustrative example of the transitive node device selection policy. Once the transitive node device has been selected, secure communications between the initial node device and the target node device are guaranteed and are accomplished through both guaranteed secure communications between the initial and transitive node devices, and between the transitive and target node devices. After secure communications between the initial and target node devices are guaranteed and are accomplished by the transitive node selection procedure 180, the quick key exchange procedure 190 is executed to proceed with Security Association (SA) negotiation between the initial and target node devices via the secure communications starting from the initial node device, through the transitive node device, and ending at the target node device. Security Association (SA) negotiation, which is a procedure to generate security association for the initial and target node devices for security protocol used in establishing secure communication between the two peer node devices, comprises negotiation of the characteristics of, and generation of keys for, the security protocol applied in the secure communication between the two peer node devices. Internet Key Exchange (IKE) quick mode exchange is an illustrative example to accomplish Security Association (SA) negotiation for the quick key exchange procedure 190.
Referring to Figure 3, the first preferred embodiment of a system for quick key exchange using a transitive node according to the present invention is shown to comprise an initial node database 219, a candidate node database 229, an initial node device 21, a plurality of candidate node devices 22, and a target node device 23. The candidate node devices 22 are obtained upon searching of the initial node database 219 by the initial node device 21. Each of the candidate node devices 22 already has a respective first secure tunnel 120 for conducting secure communication with the initial node device 21. A portion of the candidate node devices 22 further have a respective second secure tunnel 130 for conducting secure communication with the target node device 23. In the example of Figure 3, only two of the candidate node devices 22 have the second secure tunnel 130 with the target node device 23. As such, the initial node device 21 is capable of selecting a transitive node device from the candidate node devices 22 that already have the respective second secure tunnel 130 with the target node device 23. Therefore, secure key exchange is capable of proceeding through the first secure tunnel 120 between the initial node device 21 and the transitive node device 22, and through the second secure tunnel 130 between the transitive node device 22 and the target node device 23 so as to enable subsequent secure communication between the initial node device 21 and the target node device 23.
The initial node device 21, the candidate node device 22, and the target node device 23 of Figure 3 are shown in greater detail with reference to Figures 4 to 6, respectively. As shown in Figure 4, the initial node device 21 includes an initial node tunnel decision unit 211, an initial node tunnel selection unit 212, and an initial node key exchange processing unit 213. The initial node tunnel decision unit 211 is for searching the initial node database 219 to find the candidate node devices 22 that already have the first secure tunnel 120 with the initial node device 21. The initial node tunnel selection unit 212 is for selecting the transitive node device from the candidate node devices 22 that already have the second secure tunnel 130 with the target node device 23. The initial node key exchange processing unit 213 is for proceeding with the secure key exchange with the transitive node device through the first secure tunnel 120.
As shown in Figure 5, each candidate node device 22 includes a candidate node tunnel selection unit 222 and a candidate node key exchange processing unit 223. The candidate node tunnel selection unit 222 is for searching the candidate node database 229 to find the portion of the candidate node devices 22 that have the second secure tunnel 130 with the target node device 23. The candidate node key exchange processing unit 223 is for proceeding with the secure key exchange between the initial node device 21 and the target node device 23 through the first secure tunnel 120 and the second secure tunnel 130 respectively when one of the candidate node devices 22 becomes the transitive node device.
It is worth noting that the candidate node database 229 can be in the form of a single independent database disposed externally of all the candidate node devices 22.  Alternatively, the candidate node database 229 can be in the form of a plurality of databases that are respectively disposed within the candidate node devices 22.  That is, each of the candidate node devices 22 includes an independent database, and each database records the secure tunnel(s) of the respective candidate node device 22. 
As shown in Figure 6, the target node device 23 includes a target node key exchange processing unit 233 for proceeding with the secure key exchange with the transitive node device through the second secure tunnel 130.
The initial node tunnel decision unit 211 and the initial node tunnel selection unit 212 of the initial node device 21 are activated during the transitive node selection procedure 180. The candidate node tunnel selection unit 222 of the corresponding candidate node device 22 is also activated during the transitive node selection procedure 180. The initial node key exchange processing unit 213 of the initial node device 21, the candidate node key exchange processing unit 223 of the selected candidate node device 22, and the target node key exchange processing unit 233 of the target node device 23 are activated during the quick key exchange procedure 190. In runtime, the initial node tunnel selection unit 212 and the candidate node tunnel selection units 222 have a respective socket that is used for sending transitive node decision requests and for receiving responses, and that is identified by user-defined communication protocol, such as Transmission Control Protocol (TCP) or User Datagram Protocol (UDP), and a user-defined port number. In addition, in runtime, the initial node key exchange processing unit 213, the candidate node key exchange processing unit 223, and the target node key exchange processing unit 233 also have sockets that are used for sending and receiving quick key exchange messages, and that are identified by user-defined communication protocol, such as TCP or UDP, and user-defined port numbers.
The method performed by the aforesaid system for quick key exchange using a transitive node according to the present invention comprises the following steps: First, the initial node device 21 searches for the candidate node devices 22 from the initial node database 219, wherein each of the candidate node devices 22 already has the respective first secure tunnel 120 for conducting secure communication with the initial node device 21. Next, the candidate node database 229 is searched to find the candidate node devices 22 that already have the respective second secure tunnel 130 for conducting secure communication with the target node device 23. Then, the transitive node device is selected from the candidate node devices 22 that already have the respective second secure tunnel 130 with the target node device 23. Thereafter, secure key exchange proceeds through the first secure tunnel 120 between the initial node device 21 and the transitive node device, and through the second secure tunnel 130 between the transitive node device and the target node device 23 so as to enable subsequent secure communication between the initial node device 21 and the target node device 23.
Referring to Figures 2, 3, 4, 5, 7 and 9, the transitive node selection procedure 180 of the initial node device 21 includes the steps shown in Figure 7. First, in step 310, the initial node device 21 receives a secure tunnel establishment request destined for the target node device 23 through the initial node tunnel decision unit 211, and processes the request to know the address of the target node device 23. Next, in step 320, the initial node tunnel decision unit 211 searches the initial node database (SADB) 219 to find the candidate node devices 22 that already established the first secure tunnel 120 with the initial node device 21. In this embodiment, the SADB 219 could be a security association (SA) database for IPSec protocol, Internet Security Association and Key Management Protocol (ISAKMP), Transport Layer Security (TLS) protocol, or other security protocols. If established secure tunnels 120 are not found in step 320, the flow proceeds to step 330, where the initial node device 21 starts a conventional key exchange process, such as IKE. Otherwise, since candidate node devices 22 exist, the flow proceeds to step 340, where the initial node tunnel selection unit 212 of the initial node device 21 sends a transitive node decision request 510 (see Figure 9), which contains the information of the target node device 23, to each of the candidate node devices 22. In addition, in order to increase the probability of successful quick key exchange, an additional judgment algorithm may be added at step 320 as follows: the number of candidate node devices 22 must be greater than a user-defined threshold number. In particular, in step 320, if established secure tunnels 120 are not found, or if the number of found candidate node devices 22 is less than the user-defined threshold number, the flow proceeds to step 330, where the initial node device 21 starts a conventional key exchange process, such as IKE. Otherwise, since the number of found candidate node devices 22 is greater than the user-defined threshold number, the flow proceeds to step 340, where the initial node tunnel selection unit 212 of the initial node device 21 sends the transitive node decision request 510, which contains the information of the target node device 23, to each of the candidate node devices 22. After sending out all messages of the transitive node decision request 510, the flow proceeds to step 350, where the initial node device 21 waits for the response from each of the candidate node devices 22. Then, in step 360, when the initial node tunnel selection unit 212 receives a response 520 or 530 (shown in Figure 9) from any of the candidate node devices 22, the initial node device 21 judges whether the candidate node device 22 is qualified or unqualified by interpreting the response payload that indicates (OK) or (NG). If all of the candidate node devices 22 are unqualified, the flow then goes to step 330, where the initial node device 21 starts a conventional key exchange process, such as IKE. Otherwise, the flow goes to step 370, where the initial node device 21 selects a transitive node device from the qualified candidate node devices 22 in accordance with a transitive node selection policy. "Response First", i.e., selecting the one that responded earliest to the initial node device among all candidate node devices as the transitive node device, could be an illustrative example of the transitive node selection policy.
Referring to Figures 2, 3, 4, 5, 8 and 9, the transitive node selection procedure 180 of the candidate node device 22 includes the steps shown in Figures 8 and 9: First, in step 410, when the candidate node tunnel selection unit 222 receives the transitive node decision request 510 from the initial node device 21, the candidate node device 22 interprets the request 510 to know the address of the target node device 23. Next, in step 420, by applying the address of the target node device 23 as a search criteria, the candidate node tunnel selection unit 222 searches the candidate node database (SADB) 229 to determine if the second secure tunnel 130 was already established between the candidate node device 22 and the target node device 23. In this embodiment, the SADB 229 could be a SA database for IPSec protocol, ISAKMP, TLS protocol, or other security protocols. If the established secure tunnel 130 is not found, the flow goes to step 440, where the candidate node device 22 responds to the initial node device 21 with a payload 530 indicating (NG). Otherwise, the flow goes to step 430, where the candidate node device 22 responds to the initial node device 21 with a payload 520 indicating (OK). Preferably, the transitive node decision request 510 and responses 520 and 530 are sent and received by the initial node tunnel selection unit 212 and the candidate node tunnel selection unit 222 through separate sockets (based on a user-defined protocol, such as TCP or UDP, and user-defined port numbers).
Referring to Figures 2, 3, 4, 5, 6 and 10, during the quick key exchange procedure 190, the quick key exchange messages 610, 620, 630, 640, 650 and 660 are transmitted and received by the initial node key exchange processing unit 213 of the initial node device 21, the candidate node key exchange processing unit 223 of the candidate node device 22 chosen as the transitive node device 24, and the target node key exchange processing unit 233 of the target node device 23 through separate sockets (based on a user-defined protocol, such as TCP or UDP, and user-defined port numbers).
At first, according to its security policy, the initial node device 21 determines each parameter, such as security protocol, encryption algorithm, authentication algorithm, perfect forward secrecy (PFS) parameter, etc., in the security association (SA) proposal in an IKE quick mode initiating first (I1) message 610. In particular, if the PFS parameter is ON, the transitive node device 24 will be blocked from knowing the communication content between the initial node device 21 and the target node device 23. On the other hand, if the PFS parameter is OFF, the transitive node device 24 will be permitted to know the communication content between the initial node device 21 and the target node device 23. The initial node device 21 then builds and sends the IKE quick mode initiating first (I1) message 610 destined for the target node device 23 to the transitive node device 24 under the protection of the secure communication between the initial node device 21 and the transitive node device 24. Upon receiving the quick mode initiating first (I1) message 610, the transitive node device 24 forwards the quick mode initiating first (I1) message 620 to the target node device 23 under the protection of the secure communication between the transitive node device 24 and the target node device 23. At this moment, the first quick mode initiating stage is accomplished securely from the initial node device 21 to the target node device 23. The subsequent quick mode response (R1) message and quick mode initiating second (I2) message are delivered and negotiated in a processing sequence similar to that of the quick mode initiating first (I1) message. Upon completion of the first quick mode initiating stage, the target node device 23 prepares and sends an IKE quick mode response (R1) message 630 destined for the initial node device 21 to the transitive node device 24 under the protection of the secure communication between the target node device 23 and the transitive node device 24. Upon receiving the quick mode response (R1) message 630, the transitive node device 24 forwards the received quick mode response (R1) message 640 to the initial node device 21 under the protection of the secure communication between the transitive node device 24 and the initial node device 21. At this moment, the quick mode response stage is accomplished securely from the target node device 23 to the initial node device 21. Upon completion of the quick mode response stage, the initial node device 21 prepares and sends an IKE quick mode initiating second (I2) message 650 destined for the target node device 23 to the transitive node device 24 under the protection of the secure communication between the initial node device 21 and the transitive node device 24. Upon receiving the quick mode initiating second (I2) message 650, the transitive node device 24 forwards the received quick mode initiating second (I2) message 660 to the target node device 23 under the protection of the secure communication between the transitive node device 24 and the target node device 23. At this moment, the second quick mode initiating stage is accomplished securely from the initial node device 21 to the target node device 23. Upon the completion of the second quick mode initiating stage, the quick key exchange between the initial node device 21 and the target node device 23 is accomplished successfully, and secure communications between the initial node device 21 and the target node device 23 are established and guaranteed.
As for keying material generation for established secure tunnels after quick key exchange, as described in Request for Comments (RFC) 2409, SKEYID_d (which is the keying material used to derive keys for non-ISAKMP security associations) is required for both the initial node device 21 and the target node device 23. Furthermore, the SKEYID_d is derived from a pseudo-random function (PRF) in which SKEYID, which is a string derived from secret material known only to active players in the IKE Phase 1, is a major input parameter. Since both the initial node device 21 and the target node device 23 involved in the quick key exchange cannot derive SKEYID due to the lack of the IKE Phase 1, two illustrative embodiments for SKEYID_d generation for both the initial node device 21 and the target node device 23 involved in the quick key exchange are proposed herein. In one embodiment, the SKEYID_d is derived by a user-defined pseudo-random function agreed upon by both parties, with given parameters known to both the initial node device 21 and the target node device 23. One illustrative example of the given parameters is: negotiated SA payload and concatenation of identification payload for the initial node device 21 and the target node device 23 suited for quick key exchange via a transitive node. Referring to Figure 11, in another embodiment, the SKEYID_d is derived by the transitive node device 24 through a procedure 805 using the user-defined pseudo-random function agreed upon by both parties, with given parameters known only to between the initial node device 21 and the transitive node device 24, and between the transitive node device 24 and the target node device 23, respectively. One illustrative example of the given parameters is: the negotiated SA payload and concatenation of the SKEYID of the initial node device 21 and the transitive node device 24 and the SKEYID of the transitive node device 24 and the target node device 23. After the SKEYID_d of the initial node device 21 and the target node device 23 is generated by the transitive node device 24, upon receiving either the request 830 from the initial node device 21 or the request 810 from the target node device 23, the transitive node device 24 transmits a corresponding SKEYID_d response 840 or 820 to the requesting one of the initial and target node devices 21, 23 via the existing secure tunnel. The request and response messages are paired as (810, 820) or (830, 840). However, the sequence of the SKEYID_d requests 810 and 830 need not necessarily follow the order shown in Figure 11, and the sequence of the SKEYID_d responses 820 and 840 also need not necessarily follow the order shown in Figure 11.
Referring to Figures 1 and 2, the following is a description of a re-keying scheme in the preferred embodiment of the method and system for quick key exchange using a transitive node according to this invention. Re-keying is a trigger for establishing a new secure tunnel when the existing secure tunnel becomes invalid due to expiration of the hard lifetime of the security association. In practice, the soft lifetime, which is usually a user-defined time before the hard lifetime, is the time point indicator for re-keying. During the time period after the soft lifetime and before the hard lifetime, re-keying must be fulfilled successfully in order to maintain the consistency of the secure tunnel of two end points after the expiration of the hard lifetime of the existing secure tunnel. When a node device receives a re-keying trigger, the aforementioned transitive node selection procedure 180 is employed to select a transitive node device 24. Thereafter, the aforementioned quick key exchange procedure 190 is executed to fulfill the re-keying triggering. After the quick key exchange has been successfully completed, a new secure tunnel between the node device that triggered re-keying and the target node device 23 is established, and the re-keying operation is completed. 
Referring to Figures 1, 2 and 8, the following is a description of sending a delete payload in the preferred embodiment of the method and system for quick key exchange using a transitive node according to this invention. Sending the delete payload to a peer node is a notification to maintain the consistency of a secure tunnel of two end points when the security association (SA) of the tunnel becomes invalid due to the expiration of hard lifetime or user-intervention through the sending node device. If the security association (SA) of the secure tunnel of two end points is not consistent, a break in the secure tunnel of the two peer node devices occurs. When a node device receives a delete payload, the recipient node device must invalidate and delete the corresponding security association (SA) of the existing secure tunnel to maintain consistency of the secure tunnel. The delete payload must be transmitted through the secure tunnels for security reasons. In this invention, under the case that the initial node device 21 sent the delete payload, the delete payload will be transmitted through the first secure tunnel 120 between the initial node device 21 and the transitive node device 24, and through the second secure tunnel 130 between the transitive node device 24 and the target node device 23. On the other hand, under the case that the target node device 23 sent the delete payload, the delete payload will be transmitted in a reverse route. A potential problem during sending and receiving the delete payload may arise when one of the original secure tunnels connecting two peer node devices (i.e., via the original transitive node device 24) ceases to exist due to some factors, such as expiration of hard lifetime or user intervention. One solution for reducing the occurrence of this problem is to introduce hard lifetime into the search criteria at the aforesaid step 420 for selecting the existing secure tunnels in the transitive node selection procedure 180. In so doing, it can be ensured that the hard lifetimes of the two secure tunnels through the transitive node device 24 will be longer than that of the to-be-negotiated security association (SA) of the initial node device 21 and the target node device 23. In another solution, after quick key exchange has been successfully completed by the initial node device 21 and the target node device 23, for management purposes, the two node devices will agree and set up an extra and separate secure control tunnel through another quick key exchange, in which the secure control tunnel has a hard lifetime longer than those of the established secure tunnels. Through the use of the control tunnel, sending and receiving of the delete payload by the two end points can be ensured.
Next, a method and a system for the quick key exchange using the transitive node device according to the third preferred embodiment of the invention is described.  In the first preferred embodiment, only one transitive node device is used for sending messages between the initial node device and the target node device.  The number of the transitive node device is not limited to one, but a plurality of transitive node devices in series can be used for sending the messages between the initial node device to the target node device.  Referring to Figure 2 and Figures 12 to 16, the second preferred embodiment of a method and system for quick key exchange using transitive nodes according to the present invention involves multi-level transitive node devices. Here, the term "level" used in "multi-level" means a number of intervening transitive node devices that appear between the initial node device and the target node device, and the level increases one by one as the number of intervening transitive node devices increases before reaching the target node device.  As shown in Figures 2 and 12, once the second preferred embodiment completes the transitive node selection procedure 180, the system of multi-level quick key exchange comprises an initial node device 21, a target node device 23, and a number (N) of selected transitive node devices, which includes a level-1 transitive node device 710, level-2 to level-(N-1) transitive node devices 720, and a level-N transitive node device 730.  The selected transitive node device in each level is chosen from at least one candidate node device.
The initial node device 21 includes an initial node tunnel decision unit 211, an initial node tunnel selection unit 212, and an initial node key exchange processing unit 213. The initial node tunnel decision unit 211 is for searching an initial node database (such as the initial node database 219 in Figure 3, which may be a SA database) to find level-1 candidate node devices 71 that already have a level-1 secure tunnel with the initial node device 21. The initial node tunnel selection unit 212 is for selecting the level-1 transitive node device 710 from the level-1 candidate node devices 71 that already have a level-2 secure tunnel with a level-2 candidate node device. The initial node key exchange processing unit 213 is for proceeding with the secure key exchange with the level-1 transitive node device 710 through the level-1 secure tunnel.
Each of the level-n (where n is a natural number and is smaller than N) candidate node devices 71 and 72 includes a candidate node tunnel decision unit 724, a first candidate node tunnel selection unit 721, a second candidate node tunnel selection unit 722, and a candidate node key exchange processing unit 723. The candidate node tunnel decision unit 724 is for searching a level-n candidate node database 729 to find level-(n+1) candidate node devices that already have a level-(n+1) secure tunnel with the level-n candidate node device. The first candidate node tunnel selection unit 721 is for selecting the level-(n+1) transitive node device from the level-(n+1) candidate node devices that already have a level-(n+2) secure tunnel with a level-(n+2) node device. The second candidate node tunnel selection unit 722 is for searching the level-n candidate node database 729 to find a portion of the level-n candidate node devices that further have a level-(n+1) secure tunnel with the level-(n+1) candidate node device. The candidate node key exchange processing unit 723 is for proceeding with the secure key exchange between the level-(n-1) transitive node device and the level-(n+1) transitive node device through the level-n secure tunnel and the level-(n+1) secure tunnel, respectively.
It is worth noting that the level-n candidate node database 729 may be in the form of a single independent database disposed externally of all the level-n candidate node devices.  Alternatively, the level-n candidate node database 729 may be in the form of a plurality of databases that are respectively disposed within the level-n candidate node devices.  That is, each of the level-n candidate node devices includes an independent database, and each database records the secure tunnel(s) of the respective level-n candidate node device.
The level-N candidate node device 73, which already has a level-(N+1) secure tunnel with the target node device 23, includes a candidate node tunnel selection unit 732 and a candidate node key exchange processing unit 733. The candidate node tunnel selection unit 732 is searching a level-N candidate node database 739 to find a portion of the level-N candidate node devices 73 that further have the level-(N+1) secure tunnel with the target node device 23. The candidate node key exchange processing unit 733 is for proceeding with the secure key exchange between the level-(N-1) transitive node device 720 and the target node device 23 through the level-N secure tunnel and the level-(N+1) secure tunnel, respectively.
It is worth noting that the level-N candidate node database 739 may be in the form of a single independent database disposed externally of all the level-N candidate node devices 73.  Alternatively, the level-N candidate node database 739 may be in the form of a plurality of databases that are respectively disposed within the level-N candidate node devices 73.  That is, each of the level-N candidate node devices 73 includes an independent database, and each database records the secure tunnel(s) of the respective level-N candidate node device 73.
The target node device 23 includes a target node key exchange processing unit 233 for proceeding with the secure key exchange with the level-N transitive node device 730 through the level-(N+1) secure tunnel.
The method of the present invention performed by the aforesaid system of the second preferred embodiment comprises the following steps: First, the initial node device 21 searches the initial node database 219 to find the level-1 candidate node devices 71, wherein the level-1 candidate node devices 71 already have a level-1 secure tunnel for conducting secure communication with the initial node device 21. Next, the level-n candidate node device searches the level-n candidate node database 729 to find a plurality of the level-(n+1) candidate node devices, wherein the level-(n+1) candidate node devices already have a level-(n+1) secure tunnel for conducting secure communication with a level-n node device. Then, the level-N candidate node database 739 is searched to find the level-N candidate node devices 73 that already have the level-(N+1) secure tunnel for conducting secure communication with the target node device 23. Subsequently, a level-n transitive node device is selected from the level-n candidate node devices that already have the level-(n+1) secure tunnel with the level-(n+1) candidate node device, and a level-N transitive node device 730 is selected from the level-N candidate node devices 73 that already have the level-(N+1) secure tunnel with the target node device 23. Then, secure key exchange proceeds in sequence through the level-1 secure tunnel between the initial node device 21 and the level-1 transitive node device 710, the level-(n+1) secure tunnels between the level-n transitive node devices and the level-(n+1) transitive node devices, and the level-(N+1) secure tunnel between the level-N transitive node device 730 and the target node device 23 so as to enable subsequent secure communication between the initial node device 21 and the target node device 23.
As shown in Figures 10 and 12, except for the fact that messages are relayed in sequence through secure tunnels of consecutive multi-level transitive node devices, the multi-level quick key exchange procedure 190 of the second preferred embodiment is similar to that depicted in Figure 10. The quick key exchange messages 711, 715, 725, 731, 735, 740, 750, 755 and 760 are sent and received by separate sockets (based on user-defined protocol, such as TCP or UDP, and user-defined port numbers) of the key exchange processing units of the initial node device 21, the transitive node devices 710, 720, 730, and the target node device 23.
Like the IKE quick mode initiating first (I1) message 610, the IKE quick mode initiating first (I1) message 711 is sent by the initial node device 21 to the level-1 transitive node device 710 via the secure tunnel between the initial node device 21 and the level-1 transitive node device 710. Then, the IKE quick mode initiating first (I1) message 715 is forwarded to the next transitive node device in a sequence from the level-1, level-2, ..., to the level-(N-1) transitive node device under the secure protocol protection of each corresponding pair of the transitive node devices. Like the IKE quick mode initiating first (I1) message 620, the IKE quick mode initiating first (I1) message 725 from the level-N transitive node device 730 is received by the target node device 23 via the secure tunnel between the level-N transitive node device 730 and the target node device 23. Like the IKE quick mode response (R1) message 630, the IKE quick mode response (R1) message 731 is sent to the level-N transitive node device 730 by the target node device 23 via the secure tunnel between the level-N transitive node device 730 and the target node device 23. Then, the quick mode response (R1) message 735 is forwarded to the next transitive node device in a sequence from the level-N, level-(N-1), ..., to the level-2 transitive node device under the secure protocol protection of each corresponding pair of the transitive node devices. Like the IKE quick mode response (R1) message 640, the IKE quick mode response (R1) message 740 from the level-1 transitive node device 710 is received by the initial node device 21 via the secure tunnel between the level-1 transitive node device 710 and the initial node device 21.
Like the IKE quick mode initiating second (I2) message 650, the IKE quick mode initiating second (I2) message 750 is sent by the initial node device 21 to the level-1 transitive node device 710 via the secure tunnel between the initial node device 21 and the level-1 transitive node device 710. Then, the IKE quick mode initiating second (I2) message 755 is forwarded to the next transitive node device in a sequence from the level-1, level-2, ..., to the level-(N-1) transitive node device under the secure protocol protection of each corresponding pair of the transitive node devices. Like the IKE quick mode initiating second (I2) message 660, the IKE quick mode initiating second (I2) message 760 from the level-N transitive node device 730 is received by the target node device 23 via the secure tunnel between the level-N transitive node device 730 and the target node device 23.
In the aforesaid first and second preferred embodiments of this invention, a node device with a QKE module can negotiate with another node device with a QKE module by sending and receiving two types of key exchange messages: one is the QKE message, and the other is a conventional key exchange message, such as ISAKMP messages. Only conventional key exchange messages, such as ISAKMP messages, can be negotiated between a QKE-compatible node device and a non-QKE-compatible node device. Before starting quick key exchange with a peer node device, the following is important to a QKE node device: the initial node device 21 must make sure that the target node device 23 is capable of quick key exchange. One solution is to introduce a specific "Vendor ID" to distinguish whether or not the node device is capable of quick key exchange. By acknowledging the "Vendor ID" of the target node device 23, the initial node device 21 is able to judge whether to initiate quick key exchange or conventional key exchange with the target node device 23.
The following description illustrates how the first preferred embodiment of this invention is applied to a Secure Distributed Distance-Learning System. In a networking classroom, students originating from different hosts in a distributed network are divided into several groups to participate in some competition activities or exams. Each group forms a teamwork, and a security protocol and security parameters thereof for group-wise communications are required and must be consistent for all other members in the same group in order to guarantee secure communications within each group with respect to other groups. After the required security protocol and the security parameters thereof are given, each node device belonging to a specific student starts quick key exchange with all other node devices belonging to other students in the same group. The transitive node device 24 for each key exchange is one of the members of the same group, and when conducting different quick key exchanges, the transitive node devices 24 can differ and are not fixed. Furthermore, the distance-learning network can comprise wireless LAN (WLAN), and some group members may belong to the same WLAN with infrastructure mode, in which an access point (AP) is a specially configured node device that acts as a central transmitter and receiver of WLAN wireless signals of all communications among all mobile node devices within the same WLAN coverage. In order to adjust for this WLAN networking environment, the transitive node device 24 for each quick key exchange within the same WLAN coverage will be the access point such that all quick key exchanges with the access point as the transitive node device could be completed successfully. When all the required quick key exchanges of each node device in the same group are completed, secure communications among all group students with respect to the other groups are achieved. 
The following description illustrates how the second preferred embodiment of this invention is applied to a Secure Distributed Distance-Learning System Spanning Several Campuses by Virtual Private Network (VPN). In a networking classroom spanning several campuses by virtual private network (VPN), which is commonly implemented by a security protocol known as IPSec and defined in IETF RFC 2401, communications among all campuses are protected by predefined security protocol, such as IPSec, and are guaranteed to be secure. The secure tunnel of any two campuses in the VPN is established by two routers or gateways of the campuses. In such a networking environment, students originating from different hosts and different campuses are divided into several groups to participate in some competition activities or exams. Each group forms a teamwork, and a security protocol and security parameters thereof for group-wise communications are required and must be consistent for all other members in the same group in order to guarantee secure communications within each group with respect to other groups. After the required security protocol and the security parameters thereof are given, each node device belonging to a specific student starts quick key exchange with all other node devices belonging to other students in the same group. In order to adjust for this VPN networking environment, multi-level transitive node devices could be applied for each quick key exchange. One illustrative scenario is as follows: the level-1 transitive node device could be a trusted router or gateway in one campus, and the level-2 transitive node device could be a trusted router or gateway in another campus. By virtue of the two-level transitive node devices, each quick key exchange spanning the two campuses connected via the VPN could be realized.
In sum, the method and system for quick key exchange using a transitive node of the present invention can be used to establish two mutually connected secure tunnels between node devices, and can avoid the IKE Phase 1 negotiation, particularly the Diffie-Hellman process. In addition, any node device in a group is able to complete the IKE Phase 2 negotiation with other node devices for establishing IPSec tunnels.
While the present invention has been described in connection with what are considered the most practical and preferred embodiments, it is understood that this invention is not limited to the disclosed embodiments but is intended to cover various arrangements included within the spirit and scope of the broadest interpretation so as to encompass all such modifications and equivalent arrangements.
WE CLAIM:
1. A method for quick key exchange using a transitive node, comprising the steps of:
a) enabling an initial node device to search for a plurality of candidate node devices from an initial node database, wherein each of the candidate node devices already has a respective first secure tunnel for conducting secure communication with the initial node device;
b) searching a candidate node database to find the candidate node devices that already have a respective second secure tunnel for conducting secure communication with a target node device;
c) selecting a transitive node device from the candidate node devices that already have the respective second secure tunnel with the target node device; and
d) proceeding with secure key exchange through the first secure tunnel between the initial node device and the transitive node device and through the second secure tunnel between the transitive node device and the target node device so as to enable subsequent secure communication between the initial node device and the target node device.
2. The method for quick key exchange using a transitive node as claimed in Claim 1, wherein the initial node database and the candidate node database are Security Association (SA) databases.
3. The method for quick key exchange using a transitive node as claimed in Claim 1, further comprising, prior to step a), enabling the initial node device to receive a secure tunnel establishment request.
4. The method for quick key exchange using a transitive node as claimed in Claim 1, further comprising, between steps a) and b), enabling the initial node device to send a transitive node decision request to the candidate node devices.
5. The method for quick key exchange using a transitive node as claimed in Claim 4, wherein the transitive node decision request includes information of the target node device.
6. The method for quick key exchange using a transitive node as claimed in Claim 1, wherein the first secure tunnel and the second secure tunnel were established according to a network security protocol.
7. The method for quick key exchange using a transitive node as claimed in Claim 6, wherein the network security protocol is the Internet Protocol Security (IPSec).
8. The method for quick key exchange using a transitive node as claimed in Claim 6, wherein the network security protocol is the Internet Security Association and Key Management Protocol (ISAKMP).
9. The method for quick key exchange using a transitive node as claimed in Claim 6, wherein the network security protocol is the Transport Layer Security (TLS).
10. The method for quick key exchange using a transitive node as claimed in Claim 1, wherein the secure key exchange proceeds according to Phase 2 of the Internet Key Exchange (IKE) protocol.
11. The method for quick key exchange using a transitive node as claimed in Claim 10, wherein proceeding with the secure key exchange includes the steps of:
d1) enabling the initial node device to send a quick mode initiating first message to the transitive node device;
d2) enabling the transitive node device to forward the quick mode initiating first message to the target node device;
d3) enabling the target node device to send a quick mode response message to the transitive node device;
d4) enabling the transitive node device to forward the quick mode response message to the initial node device;
d5) enabling the initial node device to send a quick mode initiating second message to the transitive node device; and
d6) enabling the transitive node device to forward the quick mode initiating second message to the target node device.
12. The method for quick key exchange using a transitive node as claimed in Claim 10, wherein a perfect forward secrecy (PFS) parameter of the IKE protocol is ON so as to block the transitive node device from knowing the communication content between the initial node device and the target node device.
13. The method for quick key exchange using a transitive node as claimed in Claim 10, wherein a perfect forward secrecy (PFS) parameter of the IKE protocol is OFF so as to permit the transitive node device to know the communication content between the initial node device and the target node device.
14. A system for quick key exchange using a transitive node, comprising:
an initial node database;
a candidate node database;
an initial node device;
a target node device; and
a plurality of candidate node devices obtained upon searching of said initial node database by said initial node device, each of said candidate node devices already having a respective first secure tunnel for conducting secure communication with said initial node device, wherein a portion of said candidate node devices further have a respective second secure tunnel for conducting secure communication with said target node device, said portion of said candidate node devices being selected from said candidate node database;
said initial node device being capable of selecting a transitive node device from said candidate node devices that already have the respective second secure tunnel with said target node device, a secure key exchange being capable of proceeding through said first secure tunnel between said initial node device and said transitive node device and through said second secure tunnel between said transitive node device and said target node device so as to enable subsequent secure communication between said initial node device and said target node device.
15. The system for quick key exchange using a transitive node as claimed in Claim 14, wherein said initial node database and said candidate node database are Security Association (SA) databases.
16. The system for quick key exchange using a transitive node as claimed in Claim 14, wherein said first secure tunnel and said second secure tunnel were established according to a network security protocol.
17. The system for quick key exchange using a transitive node as claimed in Claim 16, wherein the network security protocol is the Internet Protocol Security (IPSec).
18. The system for quick key exchange using a transitive node as claimed in Claim 16, wherein the network security protocol is the Internet Security Association and Key Management Protocol (ISAKMP).
19. The system for quick key exchange using a transitive node as claimed in Claim 16, wherein the network security protocol is the Transport Layer Security (TLS).
20. The system for quick key exchange using a transitive node as claimed in Claim 14, wherein the secure key exchange proceeds according to Phase 2 of the Internet Key Exchange (IKE) protocol.
21. The system for quick key exchange using a transitive node as claimed in Claim 20, wherein a perfect forward secrecy (PFS) parameter of the IKE protocol is ON so as to block said transitive node device from knowing the communication content between said initial node device and said target node device.
22. The system for quick key exchange using a transitive node as claimed in Claim 20, wherein a perfect forward secrecy (PFS) parameter of the IKE protocol is OFF so as to permit said transitive node device to know the communication content between said initial node device and said target node device.
23. The system for quick key exchange using a transitive node as claimed in Claim 14, wherein said initial node device includes:
an initial node tunnel decision unit for searching said initial node database to find said candidate node devices that already have said first secure tunnel with said initial node device;
an initial node tunnel selection unit for selecting said transitive node device from said candidate node devices that already have said second secure tunnel with said target node device; and
an initial node key exchange processing unit for proceeding with the secure key exchange with said transitive node device through said first secure tunnel.
24. The system for quick key exchange using a transitive node as claimed in Claim 14, wherein each of said candidate node devices includes:
a candidate node tunnel selection unit for searching said candidate node database to find said portion of said candidate node devices that further have said second secure tunnel with said target node device; and
a candidate node key exchange processing unit for proceeding with the secure key exchange between said initial node device and said target node device through said first secure tunnel and said second secure tunnel respectively when one of said candidate node devices becomes said transitive node device.
25. The system for quick key exchange using a transitive node as claimed in Claim 14, wherein said target node device includes a target node key exchange processing unit for proceeding with the secure key exchange with said transitive node device through said second secure tunnel.
26. A method for quick key exchange using transitive nodes, comprising the steps of:
e) enabling an initial node device to search an initial node database to find a plurality of level-1 candidate node devices, wherein the level-1 candidate node devices already have a first secure tunnel for conducting secure communication with the initial node device;
f) enabling a level-n candidate node device to search a level-n candidate node database to find a plurality of level-(n+1) candidate node devices, wherein the level-(n+1) candidate node devices already have a level-(n+1) secure tunnel for conducting secure communication with a level-n node device, and wherein n is any natural number;
g) searching a level-N candidate node database to find level-N candidate node devices, which already have a level-(N+1) secure tunnel for conducting secure communication with a target node device;
h) selecting a level-n transitive node device from the level-n candidate node devices that already have the level-(n+1) secure tunnel with the level-(n+1) candidate node device, and selecting a level-N transitive node device from the level-N candidate node devices that already have the level-(N+1) secure tunnel with the target node device; and
i) proceeding with secure key exchange in sequence through the level-1 secure tunnel between the initial node device and the level-1 transitive node device, the level-(n+1) secure tunnels between the level-n transitive node devices and the level-(n+1) transitive node devices, and the level-(N+1) secure tunnel between the level-N transitive node device and the target node device so as to enable subsequent secure communication between the initial node device and the target node device.
27. The method for quick key exchange using transitive nodes as claimed in Claim 26, wherein the initial node database, the level-n candidate node database, and the level-N candidate node database are Security Association (SA) databases.
28. The method for quick key exchange using transitive nodes as claimed in Claim 26, wherein the level-n secure tunnels were established according to a network security protocol.
29. The method for quick key exchange using transitive nodes as claimed in Claim 28, wherein the network security protocol is the Internet Protocol Security (IPSec).
30. The method for quick key exchange using transitive nodes as claimed in Claim 28, wherein the network security protocol is the Internet Security Association and Key Management Protocol (ISAKMP).
31. The method for quick key exchange using transitive nodes as claimed in Claim 28, wherein the network security protocol is the Transport Layer Security (TLS).
32. The method for quick key exchange using transitive nodes as claimed in Claim 26, wherein the secure key exchange proceeds according to Phase 2 of the Internet Key Exchange (IKE) protocol.
33. The method for quick key exchange using transitive nodes as claimed in Claim 32, wherein proceeding with the secure key exchange includes the steps of:
i1) enabling the initial node device to send a quick mode initiating first message to the level-1 transitive node device;
i2) enabling the level-n transitive node device to forward the quick mode initiating first message to the level-(n+1) transitive node device;
i3) enabling the level-N transitive node device to forward the quick mode initiating first message to the target node device;
i4) enabling the target node device to send a quick mode response message to the level-N transitive node device;
i5)enabling the level-(n+1) transitive node device to forward the quick mode response message to the level-n transitive node device;
i6) enabling the level-1 transitive node device to forward the quick mode response message to the initial node device;
i7) enabling the initial node device to send a quick mode initiating second message to the level-1 transitive node device;
i8) enabling the level-n transitive node device to forward the quick mode initiating second message to the level-(n+1) transitive node device; and
i9) enabling the level-N transitive node device to forward the quick mode initiating second message to the target node device.
34. The method for quick key exchange using transitive nodes as claimed in Claim 32, wherein a perfect forward secrecy (PFS) parameter of the IKE protocol is ON so as to block the transitive node device from knowing the communication content between the initial node device and the target node device.
35. The method for quick key exchange using transitive nodes as claimed in Claim 32, wherein a perfect forward secrecy (PFS) parameter of the IKE protocol is OFF so as to permit the transitive node device to know the communication content between the initial node device and the target node device.
36. The method for quick key exchange using transitive nodes as claimed in Claim 26, wherein the initial node device includes:
an initial node tunnel decision unit for searching the initial node database to find the level-1 candidate node devices that already have the level-1 secure tunnel with the initial node device;
an initial node tunnel selection unit for selecting the level-1 transitive node device from the level-1 candidate node devices that already have the level-2 secure tunnel with the level-2 candidate node device; and
an initial node key exchange processing unit for proceeding with the secure key exchange with the level-1 transitive node device through the level-1 secure tunnel.
37. The method for quick key exchange using transitive nodes as claimed in Claim 26, wherein each of the level-n candidate node devices includes:
a candidate node tunnel decision unit for searching the level-n candidate node database to find the level-(n+1) candidate node devices that already have the level-(n+1) secure tunnel with the level-n candidate node device;
a first candidate node tunnel selection unit for selecting the level-(n+1) transitive node device from the level-(n+1) candidate node devices that already have the level-(n+2) secure tunnel with a level-(n+2) node device; 
a second candidate node tunnel selection unit for searching the level-n candidate node database to find a portion of the level-n candidate node devices that further have the level-(n+1) secure tunnel with the level-(n+1) candidate node device; and
a candidate node key exchange processing unit for proceeding with the secure key exchange between the level-(n-1) transitive node device and the level-(n+1) transitive node device through the level-n secure tunnel and the level-(n+1) secure tunnel, respectively.
38. The method for quick key exchange using transitive nodes as claimed in Claim 26, wherein the level-N candidate node device that already has the level-(N+1) secure tunnel with the target node device includes:
a candidate node tunnel selection unit for searching the level-N candidate node database to find a portion of the level-N candidate node devices that further have the level-(N+1) secure tunnel with the target node device; and
a candidate node key exchange processing unit for proceeding with the secure key exchange between the level-(N-1) transitive node device and the target node device through the level-N secure tunnel and the level-(N+1) secure tunnel, respectively.
39. The method for quick key exchange using transitive nodes as claimed in Claim 26, wherein the target node device includes a target node key exchange processing unit for proceeding with the secure key exchange with the level-N transitive node device through the level-(N+1) secure tunnel.
ABSTRACT OF THE DISCLOSURE
A method and system provides quick key exchange using transitive nodes. When there is only a one-level transitive node, the method includes: enabling an initial node device to search for a plurality of candidate node devices from an initial node database, each of the candidate node devices already having a respective first secure tunnel for conducting secure communication with the initial node device; searching a candidate node database to find the candidate node devices that already have a respective second secure tunnel for conducting secure communication with a target node device; selecting a transitive node device from the candidate node devices that already have the respective second secure tunnel with the target node device; and proceeding with secure key exchange through the first secure tunnel and the second secure tunnel so as to enable subsequent secure communication between the initial node device and the target node device.
2006157185.tif 000019
2006157185.tif 000020
2006157185.tif 000021
2006157185.tif 000022
2006157185.tif 000023
2006157185.tif 000024
2006157185.tif 000025
2006157185.tif 000026
2006157185.tif 000027
2006157185.tif 000028
2006157185.tif 000029
2006157185.tif 000030
2006157185.tif 000031
2006157185.tif 000032
2006157185.tif 000033
2006157185.tif 000034