(57)【特許請求の範囲】
【請求項１】
交換デバイス間の安全な接続の構築方法であって、
第一交換デバイスが、第二交換デバイスに交換キーネゴシエーションアクティブ化パケットを送信し、当該交換キーネゴシエーションアクティブ化パケットはＮＳＷ１フィールドとフラグフィールドとを含み、
上記ＮＳＷ１フィールドは交換キーネゴシエーションのフラグを示し、第一交換デバイスと第二交換デバイスの間の初回の交換キーネゴシエーション過程において、当該フィールドの値は第一交換デバイスが生成した乱数であり、更新の交換キーネゴシエーション過程において、当該フィールドの値は前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグの値であり、
第二交換デバイスが、第一交換デバイスによって送信された交換キーネゴシエーションアクティブ化パケットを受信した後に、交換キーネゴシエーション要求パケットを構成して第一交換デバイスに送信し、
第一交換デバイスが、第二交換デバイスによって送信された交換キーネゴシエーション要求パケットを受信した後に、交換キーネゴシエーション応答パケットを構成して第二交換デバイスに送信し、
第二交換デバイスが、第一交換デバイスによって送信された交換キーネゴシエーション応答パケットを受信した後に、第一交換デバイスが当該交換キーネゴシエーション応答パケットと一致する交換キーを既に取得したかを確認する、
ステップを含み、
上記第二交換デバイスが、交換キーネゴシエーション要求パケットを構成して第一交換デバイスに送信するステップにおいて、
今回の交換キーネゴシエーション過程が更新過程であれば、第二交換デバイスは、交換キーネゴシエーションアクティブ化パケットにおける交換キーネゴシエーションフラグＮＳＷ１フィールドの値と前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグの値とが一致するかどうかを検査し、
一致するか、或いは今回の交換ネゴシエーション過程が初回の交換キーネゴシエーション過程であれば、問い合わせＮＳＷ２を生成し、第一交換デバイスとの間の交換ベーシックキーＳＷ−ＢＫ１−２、交換キーネゴシエーションフラグＮＳＷ１及び第二交換デバイスの問い合わせＮＳＷ２を利用して、第一交換デバイスとの間の交換キー及び次回の交換キーネゴシエーション過程の交換キーネゴシエーションフラグＮＳＷ１を算出して保存し、上記第一交換デバイスとの間の交換キーは、プロトコルデータ交換キーＳＷ−ＰＤＫ１−２及びユーザーデータ交換キーＳＷ−ＵＤＫ１−２であり、
算出した交換キーにおけるプロトコルデータ交換キーＳＷ−ＰＤＫ１−２を利用して、ローカルでメッセージ識別コードＭＩＣ５を算出し、交換キーネゴシエーション要求パケットを構成して第一交換デバイスに送信し、当該交換キーネゴシエーション要求パケットは、ＮＳＷ２フィールドと、ＮＳＷ１フィールドと、ＭＩＣ５フィールドとを含み、
ＮＳＷ２フィールド：第二交換デバイスの問い合わせを示し、第二交換デバイスが生成した乱数であり、
ＮＳＷ１フィールド：交換キーネゴシエーションフラグを示し、第一交換デバイスと第二交換デバイスの間の初回の交換キーネゴシエーション過程であれば、当該フィールドの値は交換キーネゴシエーションアクティブ化パケットにおけるＮＳＷ１フィールドの値に直接に依存し、交換キーネゴシエーション更新過程であれば、当該フィールドの値は前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグ値であり、
ＭＩＣ５フィールド：メッセージ識別コードを示し、第二交換デバイスが、算出された交換キーにおけるプロトコルデータ交換キーＳＷ−ＰＤＫ１−２を利用して、交換キーネゴシエーション要求パケットにおける本フィールド以外の他のフィールドに対してハッシュ関数によって算出したハッシュ値であることを特徴とする交換デバイス間の安全な接続の構築方法。
【請求項２】
上記交換キーネゴシエーション応答パケットを第二交換デバイスに送信するステップにおいて、
今回の交換キーネゴシエーション過程が更新過程であれば、上記交換キーネゴシエーション要求パケットにおける交換キーネゴシエーションフラグＮＳＷ１フィールドと、前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグ値とが一致するかどうかを検査し、初回の交換キーネゴシエーション過程であれば、上記交換キーネゴシエーション要求パケットにおける交換キーネゴシエーションフラグＮＳＷ１フィールド値と交換キーネゴシエーションアクティブ化パケットにおける交換キーネゴシエーションフラグＮＳＷ１フィールド値とが一致するかどうかを検査し、
一致すると、第二交換デバイスとの間の交換ベーシックキーＳＷ−ＢＫ１−２、交換キーネゴシエーションフラグＮＳＷ１及び第二交換デバイスの問い合わせＮＳＷ２を利用して、第二交換デバイスとの間の交換キー及び次回の交換キーネゴシエーション過程の交換キーネゴシエーションフラグＮＳＷ１を算出して保存し、上記第二交換デバイスとの間の交換キーはプロトコルデータ交換キーＳＷ−ＰＤＫ１−２と、ユーザーデータ交換キーＳＷ−ＵＤＫ１−２とを含み、
算出した交換キーにおけるプロトコルデータ交換キーＳＷ−ＰＤＫ１−２を利用して、交換キーネゴシエーション要求パケットにおけるＭＩＣ５フィールドが正確であるかどうかを検証し、
正確であると、算出した交換キーにおけるプロトコルデータ交換キーＳＷ−ＰＤＫ１−２を利用してローカルでメッセージ識別コードＭＩＣ６を算出し、交換キーネゴシエーション応答パケットを構成して第二交換デバイスに送信し、
ＮＳＷ２フィールド：第二交換デバイスの問い合わせを示し、第二交換デバイスが生成した乱数であり、その値は交換キーネゴシエーション要求パケットにおけるＮＳＷ２フィールドの値と同じであり、
ＭＩＣ６フィールド：メッセージ識別コードを示し、第一交換デバイスが、算出された交換キーにおけるプロトコルデータ交換キーＳＷ−ＰＤＫ１−２を利用して、交換キーネゴシエーション応答パケットにおける本フィールド以外の他のフィールド或いは交換キーネゴシエーション応答パケットにおける本フィールド以外の他のフィールド及び算出した次回の交換キーネゴシエーション過程における交換キーネゴシエーションフラグＮＳＷ１
に対してハッシュ関数によって算出したハッシュ値であることを特徴とする請求項１に記載の交換デバイス間の安全な接続の構築方法。
【請求項３】
上記第二交換デバイスが、第一交換デバイスが当該交換キーネゴシエーション応答パケットと一致する交換キーを既に取得したかを確認するステップにおいて、
第二交換デバイスが、上記交換キーネゴシエーション応答パケットにおける第二交換デバイスの問い合わせＮＳＷ２フィールドと先に送信した交換キーネゴシエーション要求パケットにおける第二交換デバイスの問い合わせＮＳＷ２フィールドとが一致するかどうかを検査し、
一致すると、算出した交換キーにおけるプロトコルデータ交換キーＳＷ−ＰＤＫ１−２を利用して、交換キーネゴシエーション応答パケットにおける第二交換デバイスの問い合わせＭＩＣ６フィールドが正確であるかどうかを検証し、正確であると、第二交換デバイスが、第一交換デバイスが当該交換キーネゴシエーション応答パケットと一致する交換キーを取得したと確認することを特徴とする請求項２に記載の交換デバイス間の安全な接続の構築方法。
【請求項４】
上記方法は、
第二交換デバイスが、交換キーネゴシエーション確認パケットを構成する必要がある場合に、第二交換デバイスは算出した交換キーにおけるプロトコルデータ交換キーＳＷ−ＰＤＫ１−２を利用して、ローカルでメッセージ識別コードＭＩＣ７を算出し、交換キーネゴシエーション確認パケットを構成して第一交換デバイスに送信し、当該交換キーネゴシエーション確認パケットは、ＮＳＷ１フィールド及びＭＩＣ７フィールドを含み、
ＮＳＷ１フィールド：交換キーネゴシエーションフラグを示し、その値は交換キーネゴシエーション要求パケットにおけるＮＳＷ１フィールドの値と同じであり、
ＭＩＣ７フィールド：メッセージ識別コードを示し、第二交換デバイスが、算出された交換キーにおけるプロトコルデータ交換キーＳＷ−ＰＤＫ１−２を利用して、交換キーネゴシエーション確認パケットにおける本フィールド以外の他のフィールド或いは交換キーネゴシエーション確認パケットにおける本フィールド以外の他のフィールド及び算出した次回の交換キーネゴシエーション過程における交換キーネゴシエーションフラグＮＳＷ１に対してハッシュ関数によって算出したハッシュ値であり、
第一交換デバイスが第二交換デバイスによって送信された交換キーネゴシエーション確認パケットを受信した後に、第二交換デバイスが当該交換キーネゴシエーション確認パケットと一致する交換キーを既に取得したかを確認するステップをさらに含むことを特徴とする請求項３に記載の交換デバイス間の安全な接続の構築方法。
【請求項５】
上記第一交換デバイスが、第二交換デバイスが当該交換キーネゴシエーション確認パケットと一致する交換キーを既に取得したかを確認するステップにおいて、
第一交換デバイスが、上記交換キーネゴシエーション確認パケットにおける交換キーネゴシエーションフラグＮＳＷ１フィールド値と受信した交換キーネゴシエーション要求パケットにおける交換キーネゴシエーションフラグＮＳＷ２フィールド値とが一致するかどうかを検査し、
一致すると、算出した交換キーにおけるプロトコルデータ交換キーＳＷ−ＰＤＫ１−２を利用して、交換キーネゴシエーション確認パケットにおけるメッセージ識別コードＭＩＣ７フィールドの正確性を検証し、正確であると、第一交換デバイスが、第二交換デバイスが当該交換キーネゴシエーション確認パケットと一致する交換キーを取得したと確認することを特徴とする請求項４に記載の交換デバイス間の安全な接続の構築方法。
【請求項６】
第一交換デバイスは、第二交換デバイスとの間の交換キーを更新するか或は取り消しするかの必要がある場合に、第一交換デバイスは交換キーネゴシエーションアクティブ化パケットを構成して第二交換デバイスに送信し、第二交換デバイスに第一交換デバイスとの間の交換キーを更新するか或は取り消しするかを要求し、或は、
第二交換デバイスは、第一交換デバイスとの間の交換キーを更新するか或は取り消しするかの必要がある場合に、第二交換デバイスは交換キーネゴシエーションアクティブ化パケットを構成して第一交換デバイスに送信し、第一交換デバイスに第二交換デバイスとの間の交換キーを更新するか或は取り消しするかを要求することを特徴とする請求項５に記載の交換デバイス間の安全な接続の構築方法。
【請求項７】
第一交換デバイスが第三交換デバイスを介してネットワークへのアクセスが成功すると、第一交換デバイスと第三交換デバイスの間で、既に共有のユニキャストキーが構築され、そのまま当該キーを第一交換デバイスと第三交換デバイスの間の交換キーとし、第三交換デバイスと第二交換デバイスの間で既に交換キーを構築した後に、上記方法は、
第一交換デバイスが第二交換デバイスに交換キーネゴシエーションアクティブ化パケットを送信する前に、第三交換デバイスが交換ベーシックキー通知パケットを構成して第二交換デバイスに送信し、当該交換ベーシックキー通知パケットは、ＫＮ２フィールドと、Ｅ２フィールドと、ＭＩＣ１フィールドとを含み、
ＫＮ２フィールド：第二交換デバイスのキー通知フラグを示し、その値は整数であって、初期値は固定値であり、第二交換デバイスに対して交換ベーシックキー通知を行う度に、当該フィールド値に対してインクリメントするか或いは一つの固定値を加算して使用し、
Ｅ２フィールド：キー暗号化データを示し、第三交換デバイスが第二交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ２−Ｍを利用して、交換ベーシックキーＳＷ−ＢＫ１−２を暗号化した後のデータであり、
ＭＩＣ１フィールド：メッセージ識別コードを示し、第三交換デバイスが第二交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ２−Ｍを利用して、交換ベーシックキー通知パケットにおける本フィールド以外の他のフィールドに対してハッシュ関数によって算出したハッシュ値であり、
第二交換デバイスが、第三交換デバイスによって送信された交換ベーシックキー通知パケットを受信した後に、交換ベーシックキー通知応答パケットを構成して第三交換デバイスに送信し、
第三交換デバイスが、第二交換デバイスによって送信された交換ベーシックキー通知応答パケットを受信した後に、交換ベーシックキー通知パケットを構成して第一交換デバイスに送信し、
第一交換デバイスが、第三交換デバイスによって送信された交換ベーシックキー通知パケットを受信した後に、交換ベーシックキー通知応答パケットを構成して第三交換デバイスに送信し、
第三交換デバイスが、第一交換デバイスによって送信された交換ベーシックキー通知応答パケットを受信する、
ステップをさらに含むことを特徴とする請求項１〜６の何れか一項に記載の交換デバイス間の安全な接続の構築方法。
【請求項８】
上記第二交換デバイスが、交換ベーシックキー通知応答パケットを構成して第三交換デバイスに送信するステップにおいて、
第二交換デバイスは、上記交換ベーシックキー通知パケットにおけるキー通知フラグＫＮ２フィールドが単調増加するかどうかを検査し、
単調増加すると、第三交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ２−Ｍを利用してＭＩＣ１フィールドが正確であるかどうかを検証し、
正確であると、第三交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ２−Ｍを利用して、キー暗号化データＥ２フィールドを復号化して、第一交換デバイスとの間の交換ベーシックキーＳＷ−ＢＫ１−２を取得し、
今回のキー通知フラグＫＮ２フィールドの値を保存し、交換ベーシックキー通知応答パケットを構成して第三交換デバイスに送信し、当該交換ベーシックキー通知応答パケットは、ＫＮ２フィールド及びＭＩＣ２フィールドを含み、
ＫＮ２フィールド：第二交換デバイスのキー通知フラグを示し、その値は受信した交換ベーシックキー通知パケットにおけるキー通知フラグＫＮ２フィールドの値と同じであり、
ＭＩＣ２フィールド：メッセージ識別コードを示し、第二交換デバイスが第三交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ２−Ｍを利用して、交換ベーシックキー通知応答パケットにおける本フィールド以外の他のフィールドに対してハッシュ関数によって算出したハッシュ値であることを特徴とする請求項７に記載の交換デバイス間の安全な接続の構築方法。
【請求項９】
上記第三交換デバイスが、交換ベーシックキー通知パケットを構成して第一交換デバイスに送信するステップにおいて、
第三交換デバイスが、上記交換ベーシックキー通知応答パケットにおけるキー通知フラグＫＮ２フィールドと先に第二交換デバイスに送信した交換ベーシックキー通知パケットにおけるキー通知フラグＫＮ２フィールドとの値が一致するかどうかを比較し、
一致すると、第二交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ２−Ｍを利用してメッセージ識別コードＭＩＣ２フィールドの正確性を検証し、
正確であると、今回のキー通知フラグＫＮ２フィールドの値を保存し、第一交換デバイスと第二交換デバイスの間の交換ベーシックキーＳＷ−ＢＫ１−２を第二交換デバイスに対して通知する過程を完了し、
第三交換デバイスが、先に第二交換デバイスに通知した交換ベーシックキーＳＷ−ＢＫ１−２に基づいて、交換ベーシックキー通知パケットを構成して第一交換デバイスに送信し、当該交換ベーシックキー通知パケットは、ＫＮ１フィールドとＥ１フィールドとＭＩＣ３フィールドとを含み、
ＫＮ１フィールド：第一交換デバイスのキー通知フラグを示し、その値は整数であって、初期値は固定値であり、第一交換デバイスに対して交換ベーシックキー通知を行う度に、当該フィールド値に対してインクリメントするか或いは一つの固定値を加算して使用し、
Ｅ１フィールド：キー暗号化データを示し、第三交換デバイスが第一交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ１−Ｍを利用して交換ベーシックキーＳＷ−ＢＫ１−２を暗号化した後のデータであり、交換ベーシックキーＳＷ−ＢＫ１−２は第二交換デバイスに通知した交換ベーシックキーＳＷ−ＢＫ１−２と同じであり、
ＭＩＣ３フィールド：メッセージ識別コードを示し、第三交換デバイスが第一交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ１−Ｍを利用して、交換ベーシックキー通知パケットにおける本フィールド以外の他のフィールドに対してハッシュ関数によって算出したハッシュ値であることを特徴とする請求項８に記載の交換デバイス間の安全な接続の構築方法。
【請求項１０】
上記第一交換デバイスが、交換ベーシックキー通知応答パケットを構成して第三交換デバイスに送信するステップにおいて、
第一交換デバイスは上記交換ベーシックキー通知パケットにおけるキー通知フラグＫＮ１フィールドが単調増加するかどうかを検査し、
単調増加すると、第三交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ１−Ｍを利用してメッセージ識別コードＭＩＣ３フィールドが正確であるかどうかを検証し、
正確であると、第三交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ１−Ｍを利用して、キー暗号化データＥ１フィールドを復号化して、第二交換デバイスとの間の交換ベーシックキーＳＷ−ＢＫ１−２を取得し、
今回のキー通知フラグＫＮ１フィールドの値を保存し、交換ベーシックキー通知応答パケットを構成して第三交換デバイスに送信し、当該交換ベーシックキー通知応答パケットは、ＫＮ１フィールド及びＭＩＣ４フィールドを含み、
ＫＮ１フィールド：第一交換デバイスのキー通知フラグを示し、その値は受信した交換ベーシックキー通知パケットにおけるキー通知フラグＫＮ１フィールドの値と同じであり、
ＭＩＣ４フィールド：メッセージ識別コードを示し、第一交換デバイスが第三交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ１−Ｍを利用して、交換ベーシックキー通知応答パケットにおける本フィールド以外の他のフィールドに対してハッシュ関数によって算出したハッシュ値であることを特徴とする請求項９に記載の交換デバイス間の安全な接続の構築方法。
【請求項１１】
上記方法は、
第三交換デバイスが、第一交換デバイスによって送信された交換ベーシックキー通知応答パケットを受信した後に、上記交換ベーシックキー通知応答パケットにおけるキー通知フラグＫＮ１フィールドと先に第一交換デバイスに送信した交換ベーシックキー通知パケットにおけるキー通知フラグＫＮ１フィールドとの値が一致するかどうかを比較し、
一致すると、第一交換デバイスとの間のプロトコルデータ交換キーＳＷ−ＰＤＫ１−Ｍを利用してメッセージ識別コードＭＩＣ４フィールドの正確性を検証し、
正確であると、今回のキー通知フラグＫＮ１フィールドの値を保存し、第一交換デバイスと第二交換デバイスの間の交換ベーシックキーＳＷ−ＢＫ１−２を第一交換デバイスに対して通知する過程を完了するステップをさらに含むことを特徴とする請求項１０に記載の交換デバイス間の安全な接続の構築方法。
【請求項１２】
上記方法は、
第三交換デバイスは第一交換デバイスと第二交換デバイスの間の交換ベーシックキーを更新するか或いは取り消しするかの必要があると、第三交換デバイスは交換ベーシックキー通知パケットを構成して第一交換デバイス或いは第二交換デバイスに送信して、第一交換デバイス或いは第二交換デバイスに、第二交換デバイス或いは第一交換デバイスとの間の交換ベーシックキーを更新或いは取り消しすることを要求することを特徴とする請求項１１に記載の交換デバイス間の安全な接続の構築方法。
【請求項１３】
交換デバイスの安全な接続の構築システムであって、
第二交換デバイスに交換キーネゴシエーションアクティブ化パケットと交換キーネゴシエーション応答パケットを送信し、第二交換デバイスが送信した交換キーネゴシエーション要求パケットを受信する第一交換デバイスと、第一交換デバイスが送信した交換キーネゴシエーションアクティブ化パケットと交換キーネゴシエーション応答パケットとを受信し、第一交換デバイスに交換キーネゴシエーション要求パケットを送信する第二交換デバイスとを含み、
上記交換キーネゴシエーションアクティブ化パケットはＮＳＷ１フィールドとフラグフィールドとを含み、上記ＮＳＷ１フィールドは交換キーネゴシエーションのフラグを示し、第一交換デバイスと第二交換デバイスの間の初回の交換キーネゴシエーション過程において、当該フィールドの値は第一交換デバイスが生成した乱数であり、更新の交換キーネゴシエーション過程において、当該フィールドの値は前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグの値であり、
上記第二交換デバイスが、交換キーネゴシエーション要求パケットを構成して第一交換デバイスに送信する場合に、
今回の交換キーネゴシエーション過程が更新過程であれば、第二交換デバイスは、交換キーネゴシエーションアクティブ化パケットにおける交換キーネゴシエーションフラグＮＳＷ１フィールドの値と前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグの値とが一致するかどうかを検査し、
一致するか、或いは今回の交換ネゴシエーション過程が初回の交換キーネゴシエーション過程であれば、問い合わせＮＳＷ２を生成し、第一交換デバイスとの間の交換ベーシックキーＳＷ−ＢＫ１−２、交換キーネゴシエーションフラグＮＳＷ１及び第二交換デバイスの問い合わせＮＳＷ２を利用して、第一交換デバイスとの間の交換キー及び次回の交換キーネゴシエーション過程の交換キーネゴシエーションフラグＮＳＷ１を算出して保存し、上記第一交換デバイスとの間の交換キーは、プロトコルデータ交換キーＳＷ−ＰＤＫ１−２及びユーザーデータ交換キーＳＷ−ＵＤＫ１−２であり、
算出した交換キーにおけるプロトコルデータ交換キーＳＷ−ＰＤＫ１−２を利用して、ローカルでメッセージ識別コードＭＩＣ５を算出し、交換キーネゴシエーション要求パケットを構成して第一交換デバイスに送信し、当該交換キーネゴシエーション要求パケットは、ＮＳＷ２フィールドと、ＮＳＷ１フィールドと、ＭＩＣ５フィールドとを含み、
ＮＳＷ２フィールド：第二交換デバイスの問い合わせを示し、第二交換デバイスが生成した乱数であり、
ＮＳＷ１フィールド：交換キーネゴシエーションフラグを示し、第一交換デバイスと第二交換デバイスの間の初回の交換キーネゴシエーション過程であれば、当該フィールドの値は交換キーネゴシエーションアクティブ化パケットにおけるＮＳＷ１フィールドの値に直接に依存し、交換キーネゴシエーション更新過程であれば、当該フィールドの値は前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグ値であり、
ＭＩＣ５フィールド：メッセージ識別コードを示し、第二交換デバイスが、算出された交換キーにおけるプロトコルデータ交換キーＳＷ−ＰＤＫ１−２を利用して、交換キーネゴシエーション要求パケットにおける本フィールド以外の他のフィールドに対してハッシュ関数によって算出したハッシュ値であることを特徴とする交換デバイスの安全な接続の構築システム。
【請求項１４】
上記第二交換デバイスは、第一交換デバイスに交換キーネゴシエーション確認パケットを送信することにも用いられ、
上記第一交換デバイスは、第二交換デバイスが送信した交換キーネゴシエーション確認パケットを受信することにも用いられることを特徴とする請求項１３に記載の交換デバイスの安全な接続の構築システム。
【請求項１５】
第二交換デバイス或いは第一交換デバイスに交換ベーシックキー通知パケットを送信し、第二交換デバイス或いは第一交換デバイスが送信した交換ベーシックキー通知応答パケットを受信する第三交換デバイスをさらに含み、
上記第二交換デバイスは、第三交換デバイスが送信した交換ベーシックキー通知パケットを受信し、第三交換デバイスに交換ベーシックキー通知応答パケットを送信することにも用いられ、
上記第一交換デバイスは、第三交換デバイスが送信した交換ベーシックキー通知パケットを受信し、第三交換デバイスに交換ベーシックキー通知応答パケットを送信することにも用いられることを特徴とする請求項１３又は１４に記載の交換デバイスの安全な接続の構築システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、2009年12月18日に中国専利局に提出した、出願番号が200910219575.1であって、発明の名称が「交換デバイス間の安全な接続の構築方法及びシステム」である中国特許出願の優先権を主張し、本願で、その全ての内容を援用するものとする。
【０００２】
本発明は、ネットワーク通信技術分野に関し、具体的には交換デバイス間の安全な接続の構築方法及びシステムに関する。
【背景技術】
【０００３】
一般的には、有線ローカルエリアネットワークは放送型ネットワークであり、１つのノードが送信したデータは、その他のノードのいずれも受信できる。ネットワークにおける各ノードがチャネルを共有して、それはネットワークに極めて大きな隠れたセキュリティ危険をもたらした。攻撃者は、ネットワークにアクセスしてモニタリングすることにより、ネットワークにおける全てのパケットを捕捉でき、キーポイント情報を盗むことができる。
【０００４】
既存の国家標準による定義のローカルエリアネットワーク（LAN、Local Area Network）は、安全なアクセス及びデータ機密保護方法を提供しておらず、ユーザーは、ローカルエリアネットワーク制御デバイス、例えばローカルエリアネットワーク交換デバイスにアクセスできれば、ローカルエリアネットワークにおけるデバイス或いはリソースにアクセスできる。初期のイントラネット有線LAN応用環境において、明らかな隠れた危険が存在していなかったが、ネットワークの大規模開発、ユーザーの情報プライバシーに対する要求の高度化に伴い、データリンク層のデータ機密保護を実現する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
有線ローカルエリアネットワークにおいて、IEEEはIEEE802.3に対して安全強化を行うことでリンク層の安全を実現する。IEEE802.1AEは、イーサネット（登録商標）を保護するためにデータ暗号化プロトコルを提供し、ホップバイホップ暗号化の安全対策を採用してネットワークエンティティ間での情報の安全伝達を実現する。しかしながら、このような安全措置は、交換デバイスに巨大な演算負荷をもたらし、攻撃者による交換デバイスへの攻撃を引き起こしやすい。さらに、パケットが送信側から受信側まで伝送される遅延も大きくなって、ネットワーク伝送の効率が低減される。
【課題を解決するための手段】
【０００６】
上記背景技術に存在する技術問題を解決するために、本発明の実施形態は、交換デバイス間の安全な接続の構築方法及びシステムを提供しており、二つずつの交換デバイスの間に共有の交換キーを構築することで、交換デバイス間のデータ機密伝送に安全ポリシーを提供し、データリンク層交換デバイス間のデータ伝送過程の機密性を保証する。また、当該安全メカニズムにおいて、交換デバイスは転送する必要のあるパケットの全てに対して復号化してから暗号化する処理を行う必要がなく、多くの転送する必要のあるパケットはそのままで透明伝送することができるため、IEEE802.1AE技術に比べて、交換デバイスの演算負荷を軽減し、ネットワーク伝送効率を向上することができる。
【０００７】
本発明は、交換デバイス間の安全な接続の構築方法を提供し、当該方法は、以下のステップを有し、即ち、
第一交換デバイスが、第二交換デバイスに交換キーネゴシエーションアクティブ化パケットを送信し、当該交換キーネゴシエーションアクティブ化パケットはNSW1フィールドを含み、
上記NSW1フィールドは交換キーネゴシエーションのフラグを示し、第一交換デバイスと第二交換デバイスの間の初回の交換キーネゴシエーション過程において、当該フィールドの値は第一交換デバイスが生成した乱数であり、更新の交換キーネゴシエーション過程において、当該フィールドの値は前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグの値であり、
第二交換デバイスが、第一交換デバイスにより送信された交換キーネゴシエーションアクティブ化パケットを受信した後に、交換キーネゴシエーション要求パケットを構成して第一交換デバイスに送信し、
第一交換デバイスが、第二交換デバイスによって送信された交換キーネゴシエーション要求パケットを受信した後に、交換キーネゴシエーション応答パケットを構成して第二交換デバイスに送信し、
第二交換デバイスが、第一交換デバイスによって送信された交換キーネゴシエーション応答パケットを受信した後に、第一交換デバイスがそれと一致する交換キーを既に取得したことを確認する。
【０００８】
本発明の実施形態は、さらに交換デバイスの安全な接続の構築システムを提供し、当該システムは、第二交換デバイスに交換キーネゴシエーションアクティブ化パケット及び交換キーネゴシエーション応答パケットを送信し、第二交換デバイスが送信した交換キーネゴシエーション要求パケットを受信する第一交換デバイスと、第一交換デバイスが送信した交換キーネゴシエーションアクティブ化パケットと交換キーネゴシエーション応答パケットと第一交換デバイスに送信した交換キーネゴシエーション要求パケットとを受信する第二交換デバイスとを含む。
【０００９】
本発明の実施形態のメリットは、隣接する交換デバイスの間で事前配布やその他のセキュリティメカニズムよって、共有のユニキャストキーが既に構築された上で、二つずつの交換デバイスの間に交換キーを構築し、当該キーを交換デバイス間のデータの機密通信過程に用いることにより、交換デバイス間のデータ機密伝送に安全ポリシーを提供し、データリンク層交換デバイス間データ伝送過程の機密性を保証し、ネットワークの安全性を向上する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態における交換ベーシックキー通知過程の模式図である。
【図２】本発明の実施形態における交換キーネゴシエーション過程の模式図である。
【図３】本発明の実施形態における隣接しない交換デバイス間の交換キー構築過程の模式図である。
【発明を実施するための形態】
【００１１】
本発明の実施形態で定義したユニキャストキーは、プロトコルデータキー（PDK、Protocol Data Key）とユーザーデータキー（UDK、User Data Key）との二つの部分を含み、プロトコルデータキーPDKはデバイス間のプロトコルデータにおけるキーデータの機密性及びプロトコルデータの完全性を保護するためのものであり、ユーザーデータキーUDKはデバイス間のユーザーデータの機密性と完全性を保護するためのものである。交換キーは、プロトコルデータ交換キーSW-PDK(SWitch Protocol Data Key)とユーザーデータ交換キーSW-UDK(SWitch User Data Key)を含む。交換キーの二つの構成部分はユニキャストキーの二つの構成部分と一対一対応する。
【００１２】
実際に応用する時に、プロトコルデータキーPDKと、ユーザーデータキーUDK或いはプロトコルデータ交換キーSW-PDKと、ユーザーデータ交換キーSW-UDKの構成は、ブロック暗号モードによって変更することがあり、データの機密性と完全性を保護するためのキーは同じであってもよく、異なってもよい。
【００１３】
図1〜図3を参照し、本発明の実施形態は、交換デバイス間の安全な接続の構築方法及びシステムを提供し、当該方法及びシステムにより、ローカルエリアネットワークにおける全ての交換デバイスの二つずつの間に、共有の交換キーを構築することができる。
【００１４】
説明の便宜上、以下の説明で、第一交換デバイスを交換デバイスSW1に記載し、第二交換デバイスを交換デバイスSW2に記載し、第三交換デバイスを交換デバイスSW-Mに記載する。
【００１５】
本発明の実施形態の方法において、交換デバイスSW1と交換デバイスSW2が隣接すると、それらの間の交換キーはそれらの間のユニキャストキーである。交換デバイスSW1と交換デバイスSW2が隣接しないと、それらの間の交換キーの構築は二つの過程に分けられ、即ち、交換ベーシックキー通知過程と交換キーネゴシエーション過程である。隣接しない交換デバイスSW1と交換デバイスSW2にとって、それらの間で事前配布やその他のセキュリティメカニズム(本発明の実施形態ではこれに対して定義及び制限をしない)により、既に交換ベーシックキーSW-BK（Switch  Basic Key）が構築されていると、交換キーネゴシエーション過程を実行するだけで、交換キーの構築を完成することができる。それらの間に共有の交換ベーシックキーがないと、まず交換ベーシックキー通知過程を実行してから交換キーネゴシエーション過程を実行することで、交換キーの構築を完成させる必要がある。
【００１６】
隣接する交換デバイスの間のユニキャストキー自身はそれらの間の交換キーであるため、隣接する交換デバイスが事前配布やその他のセキュリティメカニズム（本発明の実施形態ではこれに対して定義及び制限をしない)により、既に共有のユニキャストキーが構築されていると、それらの間の交換キーが構築されていることに相当する。初期のネットワークに一つ或いは二つの交換デバイスがあり、その後に徐々に拡充することができる。したがって、交換デバイスSW1がカレントネットワークにおける交換デバイスSW-Mによりカレントネットワークにアクセスし、事前配布やその他のセキュリティメカニズムにより交換デバイスSW1と交換デバイスSW-M間のユニキャストキーが構築される同時に、それらの間の交換キーが構築され、且つカレントネットワークにおけるその他の隣接しない全ての交換デバイスの二つずつの間にも既に交換キーが構築されている。この時、交換デバイスSW-Mにより交換デバイスSW1とカレントネットワークにおける他の任意な交換デバイス(例えば交換デバイスSW2)の間の交換キーを構築することができる。交換デバイスSW1と交換デバイスSW2の間の交換キー構築過程は、本発明の実施形態で説明する交換ベーシックキー通知過程と交換キーネゴシエーション過程であり、具体的なステップは以下のようである。
【００１７】
1) 交換ベーシックキー通知過程：
【００１８】
交換ベーシックキー通知過程で、ネットワークにおける隣接しない交換デバイスSW1と交換デバイスSW2の間に交換ベーシックキーを構築し、このキーを交換キーネゴシエーション過程に利用して、交換デバイスSW1と交換デバイスSW2の間の共有の交換キーを構築する。
【００１９】
図1を参照し、交換ベーシックキー通知過程で、交換デバイスSW-Mにより乱数を生成して、交換デバイスSW2と交換デバイスSW1の間の交換ベーシックキーとし、この交換ベーシックキーを交換デバイスSW2と交換デバイスSW1に前後して通知する。当該過程は、交換デバイスSW-Mが交換デバイスSW2に対する交換ベーシックキー通知と、交換デバイスSW2の交換ベーシックキー通知応答と、交換デバイスSW-Mが交換デバイスSW1に対する交換ベーシックキー通知と、交換デバイスSW1の交換ベーシックキー通知応答と、の四つのステップを含む。なお、交換デバイスSW-Mが交換デバイスSW1に対する交換ベーシックキー通知及び交換デバイスSW1の交換ベーシックキー通知応答は、交換デバイスSW-Mが交換デバイスSW2に対する交換ベーシックキー通知及び交換デバイスSW2の交換ベーシックキー通知応答に類似し、ただ、通知における交換ベーシックキーによる使用のプロトコルデータ交換キーSW-PDKが異なるだけである。
【００２０】
1.1) 交換デバイスSW-Mが交換デバイスSW2に対する交換ベーシックキー通知
【００２１】
交換デバイスSW1がSW-Mによりネットワークへのアクセスが成功すると、交換デバイスSW1と交換デバイスSW-Mの間で、事前配布やその他のセキュリティメカニズム（本発明の実施形態でこれに対して定義と制限をしない）により、既に共有のユニキャストキー（プロトコルデータキーPDK1-M、ユーザーデータキーUDK1-M）が構築されており、このキーをそのまま、それらの間の交換キー（プロトコルデータ交換キーSW-PDK1-M、ユーザーデータ交換キーSW-UDK1-M）とする。上記前提説明により、交換デバイスSW-Mと交換デバイスSW2の間に既に交換キー（プロトコルデータキーPDK2-M、ユーザーデータキーUDK2-M）がある。交換デバイスSW-Mは、交換デバイスSW1と交換デバイスSW2の間で共有する交換ベーシックキーSW-BK 1-2を構築するために、まず、交換デバイスSW-Mが一つの乱数を生成し、交換デバイスSW1と交換デバイスSW2の間の交換ベーシックキーSW-BK 1-2とし、交換ベーシックキー通知パケットを構成して交換デバイスSW2に送信する。
【００２２】
交換ベーシックキー通知パケットの主な内容には、以下のものが含まれる。
【００２３】
【表１】
0005540111.tif 000002
【００２４】
KN2フィールド：交換デバイスSW2のキー通知フラグを示し、その値は整数であって、初期値は固定値であり、交換デバイスSW2に対して交換ベーシックキー通知を行う度に、当該フィールド値にインクリメントか或いは一つの固定値を加算して使用する。
【００２５】
E2フィールド：キー暗号化データを示し、交換デバイスSW-Mが交換デバイスSW2との間のプロトコルデータ交換キーSW-PDK 2-Mを利用して、交換ベーシックキーSW-BK 1-2に対して暗号化した後のデータである。
【００２６】
MIC1フィールド：メッセージ識別コードを示し、交換デバイスSW-Mが交換デバイスSW2との間のプロトコルデータ交換キーSW-PDK 2-Mを利用して、交換ベーシックキー通知パケットにおける本フィールド以外の他のフィールドに対してハッシュ関数によって算出したハッシュ値である。
【００２７】
1.2)交換デバイスSW2の交換ベーシックキー通知応答
【００２８】
交換デバイスSW2は、交換デバイスSW-Mが送信した交換ベーシックキー通知パケットを受信した後に、以下の処理を行う。
【００２９】
1.2.1）KN2フィールドが単調増加するかどうかを検査し、単調増加しないと、当該パケットを放棄し、さもなければ、ステップ1.2.2）を実行する。
【００３０】
1.2.2）交換デバイスSW-Mとの間のプロトコルデータ交換キーSW-PDK 2-Mを利用して、MIC1フィールドが正確であるかどうかを検証し、正確でないと、当該パケットを放棄し、正確であると、ステップ1.2.3）を実行する。
【００３１】
1.2.3）交換デバイスSW-Mとの間のプロトコルデータ交換キーSW-PDK 2-Mを利用して、E2フィールドを復号化すると、交換デバイスSW1との間の交換ベーシックキーSW-BK1-2が得られる。
【００３２】
1.2.4）今回のキー通知フラグKN2フィールドの値を保存し、交換ベーシックキー通知応答パケットを構成して、交換デバイスSW-Mに送信する。
【００３３】
交換ベーシックキー通知応答パケットの主な内容には、以下のものが含まれる。
【００３４】
【表２】
0005540111.tif 000003
【００３５】
KN2フィールド：キー通知フラグを示し、その値は受信した交換ベーシックキー通知パケットにおけるKN2フィールドの値と同じである。
【００３６】
MIC2フィールド：メッセージ識別コードを示し、交換デバイスSW2が交換デバイスSW-Mとの間のプロトコルデータ交換キーSW-PDK 2-Mを利用して、交換ベーシックキー通知応答パケットにおける本フィールド以外の他のフィールドに対してハッシュ関数によって算出したハッシュ値である。
【００３７】
1.3) 交換デバイスSW-Mが交換デバイスSW1に対する交換ベーシックキー通知
【００３８】
交換デバイスSW-Mは交換デバイスSW2が送信した交換ベーシックキー通知応答パケットを受信した後に、以下の処理を行う。
【００３９】
1.3.1) KN2フィールドと先に交換デバイスSW2に送信した交換ベーシックキー通知パケットにおけるKN2フィールドの値が一致するかどうかを比較し、一致しないと、当該パケットを放棄し、一致すると、ステップ1.3.2）を実行する。
【００４０】
1.3.2）交換デバイスSW2との間のプロトコルデータ交換キーSW-PDK 2-Mを利用して、MIC2フィールドの正確性を検証し、正確でないと、当該パケットを放棄し、正確であると、今回のキー通知フラグKN2フィールドの値を保存し、交換デバイスSW1と交換デバイスSW2の間の交換ベーシックキーSW-BK 1-2を交換デバイスSW2に対して通知する過程を完了し、ステップ1.3.3）を実行する。
【００４１】
1.3.3）交換デバイスSW-Mは先に交換デバイスSW2に通知した交換ベーシックキーSW-BK 1-2に基づいて、交換ベーシックキー通知パケットを構成して、交換デバイスSW1に送信する。
【００４２】
交換ベーシックキー通知パケットの主な内容には以下のものが含まれている。
【００４３】
【表３】
0005540111.tif 000004
【００４４】
KN1フィールド：交換デバイスSW1のキー通知フラグを示し、その値は整数であって、初期値は固定値であり、交換デバイスSW1に対して交換ベーシックキー通知を行う度に、当該フィールド値に対してインクリメントするか或いは一つの固定値を加算して使用する。
【００４５】
E1フィールド：キー暗号化データを示し、交換デバイスSW-Mが交換デバイスSW1との間のプロトコルデータ交換キーSW-PDK 1-Mを利用して、交換ベーシックキーSW-BK 1-2を暗号化した後のデータであり、交換ベーシックキーSW-BK 1-2は交換デバイスSW2に通知した交換ベーシックキーSW-BK 1-2と同じである。
【００４６】
MIC3フィールド：メッセージ識別コードを示し、交換デバイスSW-Mが交換デバイスSW1との間のプロトコルデータ交換キーSW-PDK 1-Mを利用して、交換ベーシックキー通知パケットにおける本フィールド以外の他のフィールドに対してハッシュ関数によって算出したハッシュ値である。
【００４７】
1.4) 交換デバイスSW1の交換ベーシックキー通知応答
【００４８】
交換デバイスSW1は、交換デバイスSW-Mが送信した交換ベーシックキー通知パケットを受信した後に、以下の処理を行う。
【００４９】
1.4.1) KN1フィールドが単調増加するかどうかを検査し、単調増加しないと、当該パケットを放棄し、さもなければ、ステップ1.4.2）を実行する。
【００５０】
1.4.2) 交換デバイスSW-Mとの間のプロトコルデータ交換キーSW-PDK 1-Mを利用してMIC3フィールドが正確であるかどうかを検証し、正確でないと、当該パケットを放棄し、正確であると、ステップ1.4.3）を実行する。
【００５１】
1.4.3) 交換デバイスSW-Mとの間のプロトコルデータ交換キーSW-PDK 1-Mを利用して、E1フィールドを復号化して、交換デバイスSW2との間の交換ベーシックキーSW-BK1-2が得られる。
【００５２】
1.4.4）今回のキー通知フラグKN1フィールドの値を保存し、交換ベーシックキー通知応答パケットを構成して交換デバイスSW-Mに送信する。
【００５３】
交換ベーシックキー通知応答パケットの主な内容には、以下のものが含まれる。
【００５４】
【表４】
0005540111.tif 000005
【００５５】
KN1フィールド：交換デバイスSW1のキー通知フラグを示し、その値は受信した交換ベーシックキー通知パケットにおけるKN1フィールドの値と同じである。
【００５６】
MIC4フィールド：メッセージ識別コードを示し、交換デバイスSW1が交換デバイスSW-Mとの間のプロトコルデータ交換キーSW-PDK 1-Mを利用して、交換ベーシックキー通知応答パケットにおける本フィールド以外の他のフィールドに対してハッシュ関数によって算出したハッシュ値である。
【００５７】
1.5) 交換デバイスSW-Mは交換デバイスSW1が送信した交換ベーシックキー通知応答パケットを受信した後に、以下の処理を行う。
【００５８】
1.5.1) KN1フィールドと先に交換デバイスSW1に送信した交換ベーシックキー通知パケットにおけるKN1フィールドの値が一致するかどうかを比較し、一致しないと、当該パケットを放棄し、一致すると、ステップ1.5.2）を実行する。
【００５９】
1.5.2）交換デバイスSW1との間のプロトコルデータ交換キーSW-PDK 1-Mを利用してMIC4フィールドの正確性を検証し、正確であると、今回のキー通知フラグKN1フィールドの値を保存し、交換デバイスSW1と交換デバイスSW2の間の交換ベーシックキーSW-BK 1-2を交換デバイスSW1に対して通知する過程を完了させ、つまり、交換デバイスSW1と交換デバイスSW2の間の交換ベーシックキーの構築を完成させる。正確でないと、当該パケットを放棄する。
【００６０】
具体的に実現する際に、交換デバイスSW2と交換デバイスSW1に対する通知が失敗すると、再通知メカニズムにより再通知を行うことができる。交換デバイスSW1が交換デバイスSW-Mによりネットワークにアクセスし、交換デバイスSW-Mが交換デバイスSW2に対する通知は設定された最大再通知回数に達しても成功していない場合に、交換デバイスSW1と交換デバイスSW2に対して一致した交換ベーシックキーを構築することができないと見なし、プロトコルを終止する。交換デバイスSW2に対する通知が成功したが、交換デバイスSW1に対する通知は、設定された最大再通知回数に達しても成功していない場合に、交換デバイスSW1と交換デバイスSW2に対して一致した交換ベーシックキーを構築することができないと見なし、この時に、交換デバイスSW2に、構築したばかりの、交換デバイスSW1との間の交換ベーシックキーを取り消すことを通知し、つまり、交換デバイスSW-Mは、交換ベーシックキー通知パケットを構成して交換デバイスSW2に送り、交換デバイスSW2に、既に構築した交換デバイスSW1との間の交換ベーシックキーを削除することを通知する。
【００６１】
交換デバイスSW-Mは、交換デバイスSW1と交換デバイスSW2の間の交換ベーシックキーを更新或いは取り消しする必要があると、交換ベーシックキー通知パケットを構成して、交換デバイスSW2或いは交換デバイスSW1に送信して、交換デバイスSW2或いは交換デバイスSW1に、交換デバイスSW1或いは交換デバイスSW2との間の交換ベーシックキーを更新或いは取り消しすることを要求することができる。交換ベーシックキーの更新或いは取り消しする過程は、交換ベーシックキーの構築過程と同じであり、具体的に実現する際に、上記交換ベーシックキー通知過程における各パケットに一つのフラグフィールドを増加することで区別を行うことができ、交換デバイスSWによって交換デバイスSW1と交換デバイスSW2間の交換ベーシックキーの構築、取り消し或は更新過程が完成されると標識するために用いる。
【００６２】
2)交換キーネゴシエーション過程：
【００６３】
交換キーネゴシエーション過程では、交換デバイスSW1と交換デバイスSW2とがそれらの間の交換ベーシックキーSW-BK 1-2を利用して、共有の交換キー（プロトコルデータ交換キーSW-PDK 1-2、ユーザーデータ交換キーSW-UDK 1-2）をネゴシエーションする。図2を参照し、交換キーネゴシエーション過程は、交換キーネゴシエーションアクティブ化パケットと、交換キーネゴシエーション要求パケットと、交換キーネゴシエーション応答パケットと、交換キーネゴシエーション確認パケットとの四つのパケットを含む。なお、交換キーネゴシエーション確認パケットは、選択可能なものであり、つまり、具体的な実現過程で、交換デバイスSW2は交換デバイスSW1に交換キーネゴシエーション確認パケットを送信してもよく、交換キーネゴシエーション確認パケットを送信しなくてもよい。本発明で具体的実現ポリシーは限定しない。交換キーネゴシエーション具体的過程は以下のようである。
【００６４】
2.1) 交換デバイスSW1が交換デバイスSW2に交換キーネゴシエーションアクティブ化パケットを送信する。
【００６５】
交換デバイスSW1と交換デバイスSW2とが、既に二つずつの間の交換ベーシックキーSW-BK 1-2の配置ができて、交換キー（プロトコルデータ交換キーSW-PDK 1-2、ユーザーデータ交換キーSW-UDK 1-2）を構築しようとする時、或いは交換ベーシックキー通知過程で交換ベーシックキーSW-BK 1-2を既に構築した時に、交換デバイスSW1が交換キーネゴシエーションアクティブ化パケットを交換デバイスSW2に送信して交換キーネゴシエーション過程を開始する。
【００６６】
交換キーネゴシエーションアクティブ化パケットの主な内容には以下のものが含まれる。
【００６７】
【表５】
0005540111.tif 000006
【００６８】
NSW1フィールド：交換キーネゴシエーションのフラグを示し、交換デバイスSW1と交換デバイスSW2の初回の交換キーネゴシエーション過程であれば、当該フィールドの値は交換デバイスSW1が生成した乱数であり、更新の交換キーネゴシエーション過程であれば、当該フィールドの値は前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグの値である。
【００６９】
2.2) 交換デバイスSW2が交換デバイスSW1に交換キーネゴシエーション要求パケットを送信する。
【００７０】
交換デバイスSW2は交換デバイスSW1が送信した交換キーネゴシエーションアクティブ化パケットを受信した後に、以下の処理を行う。
【００７１】
2.2.1)今回の交換キーネゴシエーション過程が更新過程であれば、交換デバイスSW2は、パケットにおける交換キーネゴシエーションフラグNSW1フィールドの値は、前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグの値と一致するかどうかを検査し、一致しないと、当該パケットを放棄し、一致すると、ステップ2.2.2)を実行する。初回の交換キーネゴシエーション過程であれば、直接にステップ2.2.2)を実行する。
【００７２】
2.2.2）問い合わせNSW2を生成し、交換デバイスSW1との交換ベーシックキーSW-BK 1-2、交換キーネゴシエーションフラグNSW1及び交換デバイスSW2が生成した問い合わせNSW2を利用して、交換デバイスSW1との間の交換キー（プロトコルデータ交換キーSW-PDK 1-2、ユーザーデータ交換キーSW-UDK 1-2）及び次回の交換キーネゴシエーション過程における交換キーネゴシエーションフラグNSW1を算出して保存する。
【００７３】
2.2.3)算出した交換キーにおけるプロトコルデータ交換キーSW-PDK 1-2を利用して、ローカルでメッセージ識別コードMIC5を算出し、交換キーネゴシエーション要求パケットを構成して交換デバイスSW1に送信する。
【００７４】
交換キーネゴシエーション要求パケットの主な内容には、以下のものが含まれる。
【００７５】
【表６】
0005540111.tif 000007
【００７６】
NSW2フィールド：交換デバイスSW2の問い合わせを示し、交換デバイスSW2が生成した乱数である。
【００７７】
NSW1フィールド：交換キーネゴシエーションフラグを示し、交換デバイスSW1と交換デバイスSW2の初回の交換キーネゴシエーション過程であれば、当該フィールドの値は、交換キーネゴシエーションアクティブ化パケットにおけるNSW1フィールドの値に依存し、交換キーネゴシエーション更新過程であれば、当該フィールドの値は前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグ値である。
【００７８】
MIC5フィールド：メッセージ識別コードを示し、交換デバイスSW2は、算出した交換キーにおけるプロトコルデータ交換キーSW-PDK 1-2を利用して、交換キーネゴシエーション要求パケットにおける本フィールド以外の他のフィールドに対してハッシュ関数によって算出したハッシュ値である。
【００７９】
2.3) 交換デバイスSW1が交換デバイスSW2に交換キーネゴシエーション応答パケットを送信する。
【００８０】
交換デバイスSW1は交換デバイスSW2が送信した交換キーネゴシエーション要求パケットを受信した後に、以下の処理を行う。
【００８１】
2.3.1)今回の交換キーネゴシエーション過程が更新過程であれば、パケットにおけるNSW1フィールドと前回の交換キーネゴシエーション過程で算出した交換キーネゴシエーションフラグ値とが一致するかどうかを検査し、一致しないと、当該パケットを放棄し、一致すると、ステップ2.3.2)を実行する。初回の交換キーネゴシエーション過程であれば、パケットにおけるNSW1フィールド値と交換キーネゴシエーションアクティブ化パケットにおけるNSW1フィールド値とが一致するかどうかを検査する必要があり、一致しないと、当該パケットを放棄し、一致すると、ステップ2.3.2)を実行する。
【００８２】
2.3.2)交換デバイスSW2との間の交換ベーシックキーSW-BK1-2、交換キーネゴシエーションフラグNSW1及び交換デバイスSW2の問い合わせNSW2を利用して、交換デバイスSW2との間の交換キー（プロトコルデータ交換キーSW-PDK 1-2、ユーザーデータ交換キーSW-UDK 1-2）及び次回の交換キーネゴシエーション過程の交換キーネゴシエーションフラグNSW1を算出して保存する。
【００８３】
2.3.3)算出した交換キーにおけるプロトコルデータ交換キーSW-PDK1-2を利用して、交換キーネゴシエーション要求パケットにおけるMIC5フィールドの正確性を検証し、正確でないと、当該パケットを放棄し、正確であると、ステップ2.3.4)を実行する。
【００８４】
2.3.4）算出した交換キーにおけるプロトコルデータ交換キーSW-PDK1-2を利用して、ローカルでメッセージ識別コードMIC6を算出し、交換キーネゴシエーション応答パケットを構成して交換デバイスSW2に送信する。
【００８５】
交換キーネゴシエーション応答パケットの主な内容には以下のものが含まれる。
【００８６】
【表７】
0005540111.tif 000008
【００８７】
NSW2フィールド：交換デバイスSW2の問い合わせを示し、交換デバイスSW2が生成した乱数であり、その値は交換キーネゴシエーション要求パケットにおけるNSW2フィールドの値と同じである。
【００８８】
MIC6フィールド：メッセージ識別コードを示し、交換デバイスSW1は、算出した交換キーにおけるプロトコルデータ交換キーSW-PDK 1-2を利用して、交換キーネゴシエーション応答パケットにおける本フィールド以外の他のフィールド或いは交換キーネゴシエーション応答パケットにおける本フィールド以外の他のフィールド及び算出した次回の交換キーネゴシエーション過程における交換キーネゴシエーションフラグNSW1に対してハッシュ関数によって算出したハッシュ値である。
【００８９】
2.4) 交換デバイスSW2は交換デバイスSW1の交換キーを確認する。
【００９０】
交換デバイスSW2は交換デバイスSW1が送信した交換キーネゴシエーション応答パケットを受信した後に、以下の処理を行う。
【００９１】
2.4.1) NSW2フィールドと先に送信した交換キーネゴシエーション要求パケットにおけるNSW2フィールドとが一致するかどうかを検査し、一致しないと、当該フィールドを放棄し、一致すると、ステップ2.4.2)を実行する。
【００９２】
2.4.2) 算出した交換キーにおけるプロトコルデータ交換キーSW-PDK 1-2を利用して、交換キーネゴシエーション応答パケットにおけるMIC6フィールドの正確性を検証し、正確でないと、当該パケットを放棄し、さもなければ、交換デバイスSW2は交換デバイスSW1がそれと一致する交換キーを取得したと確認する。
【００９３】
図2を参照し、本発明の実施形態フローは、ステップ2.4)の後にさらに以下のステップを含む。
【００９４】
2.5) 交換デバイスSW2は交換デバイスSW1に交換キーネゴシエーション確認パケットを送信する。
【００９５】
交換デバイスSW2が交換キーネゴシエーション確認パケットを構成する必要がある場合に、交換デバイスSW2は、算出した交換キーにおけるプロトコルデータ交換キーSW-PDK 1-2を利用して、ローカルでメッセージ識別コードMIC7を算出し、交換キーネゴシエーション確認パケットを構成して交換デバイスSW1に送信する。当該交換キーネゴシエーション確認パケットは選択可能なものであり、つまり、具体的な実現過程で、交換デバイスSW2が、交換デバイスSW1に交換キーネゴシエーション確認パケットを送信してもよく、交換キーネゴシエーション確認パケットを送信しなくてもよく、本発明で、具体的実現ポリシーを限定しない。
【００９６】
交換キーネゴシエーション確認パケットの主な内容には以下のものが含まれる。
【００９７】
【表８】
0005540111.tif 000009
【００９８】
NSW1フィールド：交換キーネゴシエーションフラグを示し、その値は交換キーネゴシエーション要求パケットにおけるNSW1フィールドの値と同じである。
【００９９】
MIC7フィールド：メッセージ識別コードを示し、交換デバイスSW2は、算出した交換キーにおけるプロトコルデータ交換キーSW-PDK 1-2を利用して、交換キーネゴシエーション確認パケットにおける本フィールド以外の他のフィールド或いは交換キーネゴシエーション確認パケットにおける本フィールド以外の他のフィールド及び算出した次回の交換キーネゴシエーション過程における交換キーネゴシエーションフラグNSW1に対してハッシュ関数によって算出したハッシュ値である。
【０１００】
2.6) 交換デバイスSW1は交換デバイスSW2の交換キーを確認する。
【０１０１】
交換デバイスSW1は交換デバイスSW2が送信した交換キーネゴシエーション確認パケットを受信した後に、以下の処理を行う。
【０１０２】
2.6.1) NSW1フィールド値と受信した交換キーネゴシエーション要求パケットにおけるNSW1フィールド値とが一致するかどうかを検査し、一致しないと、当該パケットを放棄し、一致すると、ステップ2.6.2)を実行する。
【０１０３】
2.6.2)算出した交換キーにおけるプロトコルデータ交換キーSW-PDK 1-2を利用して、交換キーネゴシエーション確認パケットにおけるMIC7フィールドの正確性を検証し、正確でないと、当該パケットを放棄し、正確であると、交換デバイスSW1は交換デバイスSW2がそれと一致する交換キーを取得したと確認する。
【０１０４】
上記交換デバイス間の安全な接続の構築方法には、さらに以下の特徴が含まれる。
【０１０５】
交換デバイスSW1或いは交換デバイスSW2は、交換デバイスSW2或いは交換デバイスSW1との間の交換キーを更新するか或は取り消しするかの必要がある場合に、交換デバイスSW1或いは交換デバイスSW2は交換キーネゴシエーションアクティブ化パケットを構成して交換デバイスSW2或いは交換デバイスSW1に送信し、交換デバイスSW2或いは交換デバイスSW1に交換デバイスSW1或いは交換デバイスSW2との間の交換キーを更新するか或は取り消しするかを要求する。交換キーの更新や取り消しの過程は、交換キーのネゴシエーション過程とが同じであり、具体的に実現する際に、上記の交換キーネゴシエーション過程における各パケットにフラグフィールドを加えることで区別し、交換デバイスSW1と交換デバイスSW2の間の交換キーのネゴシエーション、取り消し或いは更新を標識することに用いられる。
【０１０６】
図3に示すように、交換デバイスSW-Mはカレントネットワークにおける交換デバイスであり、交換デバイスSW1は交換デバイスSW-Mを介してネットワークにアクセスしようとする交換デバイスであり、交換デバイスSW2はカレントネットワークにおける交換デバイスSW-M以外の他の任意な交換デバイスである。
【０１０７】
上記の前提説明により、カレントネットワークにおける全ての交換デバイスの二つずつの間に交換キーがある。従って、交換デバイスSW-Mと交換デバイスSW2の間に交換キーがあり、即ち、図3に示す交換デバイスSW-Mと交換デバイスSW2の間の「（一）（SW-PDK 2-M,SW-UDK 2-M）」である。
【０１０８】
交換デバイスSW1が交換デバイスSW-Mを介してカレントネットワークにアクセスする際に、事前配布やその他のセキュリティメカニズムにより、交換デバイスSW1とSW-Mの間のユニキャストキーが既に構築されており、このユニキャストキー自身は、それらの間の交換キーであり、図3における交換デバイスSW-Mと交換デバイスSW1の間の「（SW-PDK 1-M,SW-UDK 1-M）＝（PDK 1-M,UDK 1-M）」に示すようである。
【０１０９】
その後、交換デバイスSW1はカレントネットワークにおける他の全ての交換デバイスと交換キーを構築しようとする。交換デバイスSW2を例とし、交換デバイスSW1と交換デバイスSW2の間に共有の交換ベーシックキーを配置していないと、図における八つのパケット交換過程によりそれらの間の交換キーを構築する必要があり、図3における過程「（二）」と「（三）」のようである。交換デバイスSW1と交換デバイスSW2の間に既に共有の交換ベーシックキーが配置されていると、直接に五つ目のパケットを発し、図3における過程「（三）」だけでそれらの間の交換キーを構築することができる。
【０１１０】
図における「（一）」は本発明の実施形態における前提説明であり、隣接する交換デバイスの間で事前配布やその他のセキュリティメカニズムにより、ユニキャストキーが既に構築されており、カレントネットワークにおいて交換デバイスの間で交換キーが既に構築される。図における「（二）」、「（三）」は本発明の実施形態で記述した交換ベーシックキー通知過程と交換キーネゴシエーション過程である。
【０１１１】
図3に示す過程により、交換デバイスSW1と交換デバイスSW2の間で交換キー（SW-PDK 1-2,SW-UDK 1-2）を構築し、交換デバイスSW1から交換デバイスSW2へのパケットはそれらの間のユーザーデータ交換キーSW-UDK 1-2を使用して暗号化処理とデータ完全性保護を行うことができる。交換デバイスSW1が交換デバイスSW2にデータを送信する必要がある場合に、交換デバイスSW1は交換デバイスSW2との間のユーザーデータ交換キーSW-UDK 1-2を利用してデータに対して暗号化して送信し、中間の交換デバイス、例えばSW-Mは復号化してから暗号化する処理を行う必要がなく、パケットをそのままで透明伝送して、パケットは、最終的に、交換デバイスSW2がSW1とのユーザーデータ交換キーSW-UDK 1-2を利用して復号化処理を行う。
【０１１２】
交換デバイスが共有の交換ベーシックキーを配置しているか否か等の情報は、交換デバイスSW-Mが交換ベーシックキー通知過程を発する必要があるかを判断するように、交換デバイスSW1が識別過程にアクセスする最中に交換デバイスSW-Mに通知し、具体的実現細部は本発明の実施形態で制限と定義をしない。
【０１１３】
複数回の交換ベーシックキー通知過程と交換キーネゴシエーション過程により、交換デバイスSW1はネットワークにおける全ての他の交換デバイスと交換キーを構築することができる。最終的に、ネットワークにおける全ての交換デバイスの二つずつの間に交換キーを有し、つまり、ネットワークにおける交換デバイス間の安全な接続を構築した。その後、交換デバイス間のユーザーデータの機密通信はそれらの間の交換キーにおけるユーザーデータキーUDKをそのまま使用して保護することができる。
【０１１４】
本発明の実施形態の交換デバイス間の安全な接続の構築システムは、交換デバイスSW2に交換キーネゴシエーションアクティブ化パケット及び交換キーネゴシエーション応答パケットを送信し、交換デバイスSW2が送信した交換キーネゴシエーション要求パケットを受信する交換デバイスSW1と、交換デバイスSW1が送信した交換キーネゴシエーションアクティブ化パケット及び交換キーネゴシエーション応答パケットを受信し、交換デバイスSW1に交換キーネゴシエーション要求パケットを送信する交換デバイスSW2とを含む。
【０１１５】
本発明の実施形態の交換デバイス間の安全な接続の構築システムにおいて、交換デバイスSW2は交換デバイスSW1に交換キーネゴシエーション確認パケットを送信することもでき、この時、交換デバイスSW1は交換デバイスSW2が送信した交換キーネゴシエーション確認パケットを受信する。
【０１１６】
本発明の実施形態の交換デバイス間の安全な接続の構築システムは、さらに、交換デバイスSW2或いは交換デバイスSW1に交換ベーシックキー通知パケットを送信し、交換デバイスSW2或いは交換デバイスSW1が送信した交換ベーシックキー通知応答パケットを受信する交換デバイスSW-Mを含む。この時、上記システムにおける交換デバイスSW2は交換デバイスSW-Mが送信した交換ベーシックキー通知パケットを受信し、交換デバイスSW-Mに交換ベーシックキー通知応答パケットを送信する。上記システムにおける交換デバイスSW1はSW-Mが送信した交換ベーシックキー通知パケットを受信し、交換デバイスSW-Mに交換ベーシックキー通知応答パケットを送信する。
【符号の説明】
【０１１７】
SW1、SW2、SW-M    交換デバイス
（一）               （SW-PDK 2-M,SW-UDK 2-M）
（二）、（三）       過程
【図１】
0005540111.tif 000010
【図２】
0005540111.tif 000011
【図３】
0005540111.tif 000012