(57)【要約】  メッセージ数を減少させ、端末の消費電力を削減でき、端末間のバインディングアップデートにかかる処理時間を短縮できるバインディング更新方法などを提供する技術が開示され、その技術によれば所定の移動端末が、他の移動端末に応じた所定の情報を含む第１、第２のメッセージを所定のメッセージ送信順序に基づき次の送信先の移動端末へ送信し、第１、第２のメッセージを受信した移動端末が、自身あての所定の情報を取得し、自身以外の移動端末に応じた所定の情報を第１、第２のメッセージに付加して所定のメッセージ送信順序に基づき次の送信先の移動端末へ送信し、自身あての所定の情報をすべて取得した移動端末が、所定の情報に基づき他の移動端末ごとの認証情報を生成し、認証情報を含む第３のメッセージを他の移動端末ごとに生成し送信し、それを受信した移動端末が第３のメッセージの認証情報が正当な場合にバインディング情報を更新するステップとを有する。
2009087738.tif 000002
【特許請求の範囲】
【請求項１】
複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法であって、
前記複数の移動端末のうちの所定の移動端末が、他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを、所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信するステップと、
前記第１、第２のメッセージを受信した移動端末が、前記第１、第２のメッセージに含まれる自身あての所定の情報を取得するとともに、前記自身以外の移動端末それぞれに応じた所定の情報を前記第１、第２のメッセージに付加し、前記所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信するステップと、
自身あての前記所定の情報をすべて取得した移動端末が、取得した前記所定の情報に基づいて他の移動端末ごとの認証情報を生成し、生成された前記認証情報を含む第３のメッセージを前記他の移動端末ごとに生成して送信するステップと、
前記第３のメッセージを受信した移動端末が、前記第３のメッセージに含まれる前記認証情報が正当である場合に前記バインディング情報を更新するステップとを、
有するバインディング更新方法。
【請求項２】
前記所定のメッセージ送信順序は、前記第１のメッセージが送信される送信順序と前記第２のメッセージが送信される送信順序が異なる請求項１に記載のバインディング更新方法。
【請求項３】
前記所定の移動端末は、前記所定の移動端末以外の移動端末における所定の情報に基づいて、メッセージの転送判定用認証情報を前記移動端末ごとに生成し、生成された前記転送判定用認証情報を前記第１、第２のメッセージに付加して送信する請求項２に記載のバインディング更新方法。
【請求項４】
前記第１、第２のメッセージを受信した移動端末は、次回のバインディング更新における前記第１、第２のメッセージの送信の際に用いられる所定の情報を、前記第１、第２のメッセージに付加する請求項３に記載のバインディング更新方法。
【請求項５】
複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる移動端末であって、
他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを生成するメッセージ生成手段と、
生成された前記第１、第２のメッセージを所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信する送信手段と、
前記複数の移動端末間を周回した前記第１、第２のメッセージを受信する受信手段と、
受信された前記第１、第２のメッセージに付加された前記自身あての所定の情報を取得する取得手段と、
取得された前記所定の情報に基づいて前記自身以外の移動端末ごとの認証情報を生成する認証情報生成手段と、
前記自身以外の移動端末から送信された認証情報を含むメッセージを前記受信手段を介して受信した場合に、受信された前記認証情報が正当か否かを判断する判断手段と、
正当であると判断された場合に前記バインディング情報を更新する更新手段とを備え、
前記メッセージ生成手段によって生成された前記認証情報を含むメッセージを前記自身以外の移動端末に前記送信手段を介して送信する移動端末。
【請求項６】
前記所定のメッセージ送信順序は、前記第１のメッセージが送信される送信順序と前記第２のメッセージが送信される送信順序が異なる請求項５に記載の移動端末。
【請求項７】
前記認証情報生成手段は、前記自身以外の移動端末における所定の情報に基づいて、メッセージの転送判定用認証情報を前記移動端末ごとに生成し、生成された前記転送判定用認証情報を前記第１、第２のメッセージに付加し、
前記送信手段は、前記転送判定用認証情報が付加された前記第１、第２のメッセージを送信する請求項６に記載の移動端末。
【請求項８】
複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる移動端末であって、
前記複数の移動端末のうちの所定の移動端末によって送信されたメッセージであって、前記所定の移動端末以外の他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを受信する受信手段と、
受信された前記第１、第２のメッセージに含まれる自身あての所定の情報を取得する取得手段と、
前記自身以外の移動端末それぞれに応じた所定の情報を前記第１、第２のメッセージに付加する付加手段と、
前記所定の情報が付加された前記第１、第２のメッセージを他の移動端末へ送信する送信手段と、
前記自身あての前記所定の情報をすべて取得した場合に、取得した前記所定の情報に基づいて他の移動端末ごとの認証情報を生成する認証情報生成手段と、
生成された前記認証情報を含むメッセージを前記他の移動端末ごとに生成するメッセージ生成手段と、
前記自身以外の移動端末から送信された認証情報を含むメッセージを前記受信手段を介して受信した場合に、受信された前記認証情報が正当か否かを判断する判断手段と、
正当であると判断された場合に前記バインディング情報を更新する更新手段とを備え、
前記メッセージ生成手段によって生成された前記メッセージを前記他の移動端末ごとに送信する移動端末。
【請求項９】
前記受信手段を介して前記第１、第２のメッセージを受信した場合、
前記付加手段は、次回のバインディング更新における前記第１、第２のメッセージの送信の際に用いられる所定の情報を、前記第１、第２のメッセージに付加する請求項８に記載の移動端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バインディングアップデートにより経路の最適化がなされた通信端末間のバインディングを更新するバインディング更新方法及びその方法で用いられる移動端末に関する。
【背景技術】
【０００２】
従来から、通信装置が移動しても移動前と同じＩＰアドレスを使い続けることができる技術としてモバイルＩＰが存在する。モバイルＩＰでは、ホームエージェント（home agent）が移動通信装置（mobile node）のホームアドレス（home address）あてのパケットを受信し、移動通信装置の気付アドレス（ＣｏＡ：Care-of Address）に転送する。このため、移動通信装置は移動に伴うアドレス変更によらず、ホームアドレスを用いた通信を継続できる。【０００３】
また、パケットがホームエージェントを経由することによって移動通信装置と通信相手装置（ＣＮ：Correspondent Node）の通信経路が遠回りになることを改善するために、移動通信装置と通信相手装置の通信経路を直接結ぶ経路最適化（Route Optimization）技術が存在する。この経路最適化技術は、通信相手装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させることによって、気付アドレスを用いて通信することを特徴とする。この通信相手装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させる処理は、バインディング更新処理（ＢＵ：Binding Update）と呼ばれている。【０００４】
通信相手装置に対するバインディング更新処理では、ホームエージェントに対するバインディング更新処理とは異なり、バインディング更新前処理（ＲＲ：Return Routability Procedure）を必要としている。ホームエージェントと移動通信装置との間では、信頼関係をあらかじめ築いておくことができるため、このバインディング更新前処理を必要としない。ホームエージェントに対するバインディング更新処理においては、移動通信装置がホームエージェントにホームアドレスに対する新しい気付アドレスを通知したとき、ホームエージェントは、事前に確立しておいた信頼関係（ＩＰｓｅｃ ＳＡなど）によって移動通信装置からのバインディング更新要求であることを確認することができる。【０００５】
一方、通信相手装置の場合、すべての通信相手となる可能性のある通信装置に対して、あらかじめバインディング更新処理を行う前に、移動通信装置と通信相手装置との間に信頼関係を確立しておくことは困難である。もし、信頼関係がない状態で通信相手装置がバインディング更新の要求に従ってしまうならば、移動通信装置に成りすました攻撃が容易になる。そして、攻撃者が通信相手装置にバインディング更新処理を行うと、移動通信装置へのパケットを不正な気付アドレスに転送させることが可能になる。これを防ぐ技術がバインディング更新前処理である。【０００６】
具体的には、バインディング更新前処理では、ホームアドレステスト処理（Home Test）、気付アドレステスト処理（Care-of Test）を行う。これらの処理の結果をバインディング更新処理に反映させることによって、不正なバインディング更新処理を防いでいる。なお、従来技術として説明した、モバイルＩＰ、経路最適化、バインディング更新前処理については、後述する非特許文献１に記載されている。また、バインディング更新前処理の設計思想については、後述する非特許文献２に記載されている。【０００７】
バインディング更新前処理についてもう少し詳しく説明する。ホームアドレステスト処理では、移動通信装置はＨｏＴＩ（Home Test Init）メッセージを通信相手装置に送信し、通信相手装置はＨｏＴ（Home Test）メッセージを返す。また、気付アドレステスト処理では、移動通信装置はＣｏＴＩ(Care-of Test Init)メッセージを通信相手装置に送信し、通信相手装置はＣｏＴ(Care-of Test)メッセージを返す。【０００８】
移動通信装置は、通信相手装置から応答として返されたＨｏＴメッセージ及びＣｏＴメッセージに含まれるHome Keygen token（Home token）、Care-of keygen token（Care-of token）をもとに鍵を生成し、その鍵でバインディング更新（ＢＵ）メッセージのメッセージ認証コード（ＭＡＣ：Message Authentication Code）を計算し、ＢＵメッセージに付加して送信する。【０００９】
ＢＵメッセージを受信した通信相手装置は、メッセージ認証コードを確認することによって、移動通信装置から送信された正当なＢＵメッセージであると判断する。バインディング更新前処理の設計思想を説明している非特許文献２によると、このバインディング更新前処理は、通信相手装置がState（状態）を持つ必要がないように設計されている。つまり、ＨｏＴＩメッセージを受信したことがあるかどうか、ＣｏＴＩメッセージを受信したことがあるかどうかを、通信相手装置は記憶しておかなくてもＢＵメッセージの認証処理を行うことができる。【００１０】
これは、攻撃者がＨｏＴＩメッセージやＣｏＴＩメッセージを用いて通信相手装置に対してＤｏＳ攻撃（Denial of Service Attack）を行った場合に、通信相手装置の被害を小さくするためである。また、ＨｏＴＩメッセージに対してＨｏＴメッセージを返す、ＣｏＴＩメッセージに対してＣｏＴメッセージを返す、というように１つの要求メッセージに対して１つの応答メッセージを返すようにしているのは、メッセージの増加（Amplification）を行わないようにするためである。これは、要求メッセージを１つ送ったときに、複数の応答メッセージを返す仕組みにした場合、攻撃者は１つのメッセージを送ることによって、複数のターゲットを攻撃することが可能になるためである。
【非特許文献１】“Mobility Support in IPv6”，RFC3775
【非特許文献２】“Mobile IP Version 6 Route Optimization Security Design Background”,RFC4225
【００１１】
しかしながら、上記従来技術のＭＩＰｖ６では多数の移動端末が相互にバインディングアップデートを行っている状況のときであっても、移動端末はそれぞれ独立にバインディングアップデートを行わなければならなかった。そのため、各移動端末はそれぞれが定期的（７分ごと）に多くのメッセージを送受信しなければならず、バッテリーを消費してしまうという問題があった。すなわち、図１９Ａ〜図１９Ｃに示すように、それぞれの移動端末が相互に定期的にバインディングアップデートを行うことにより、多数のメッセージの送受信をしなければならず、バッテリーを消費してしまう。
【発明の開示】
【００１２】
本発明は、上記の問題点に鑑み、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できるバインディング更新方法及びその方法で用いられる移動端末を提供することを目的とする。
【００１３】
上記目的を達成するために、本発明によれば、複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法であって、前記複数の移動端末のうちの所定の移動端末が、他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを、所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信するステップと、前記第１、第２のメッセージを受信した移動端末が、前記第１、第２のメッセージに含まれる自身あての所定の情報を取得するとともに、前記自身以外の移動端末それぞれに応じた所定の情報を前記第１、第２のメッセージに付加し、前記所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信するステップと、自身あての前記所定の情報をすべて取得した移動端末が、取得した前記所定の情報に基づいて他の移動端末ごとの認証情報を生成し、生成された前記認証情報を含む第３のメッセージを前記他の移動端末ごとに生成して送信するステップと、前記第３のメッセージを受信した移動端末が、前記第３のメッセージに含まれる前記認証情報が正当である場合に前記バインディング情報を更新するステップとを、有するバインディング更新方法が提供される。この構成により、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できる。なお、正当とは、後述するようにメッセージ認証コードを比較し、一致していることを言う。
【００１４】
また、本発明のバインディング更新方法において、前記所定のメッセージ送信順序が、前記第１のメッセージが送信される送信順序と前記第２のメッセージが送信される送信順序が異なることは、本発明の好ましい態様である。この構成により、ある移動端末あてのToken情報のすべてが他の移動端末に揃うことを防止することができる。
【００１５】
また、本発明のバインディング更新方法において、前記所定の移動端末が、前記所定の移動端末以外の移動端末における所定の情報に基づいて、メッセージの転送判定用認証情報を前記移動端末ごとに生成し、生成された前記転送判定用認証情報を前記第１、第２のメッセージに付加して送信することは、本発明の好ましい態様である。この構成により、確実に転送判定を行うことができる。
【００１６】
また、本発明のバインディング更新方法において、前記第１、第２のメッセージを受信した移動端末が、次回のバインディング更新における前記第１、第２のメッセージの送信の際に用いられる所定の情報を、前記第１、第２のメッセージに付加することは、本発明の好ましい態様である。この構成により、バインディング更新をするたびに情報を収集する必要がなく、メッセージ数を削減することができる。
【００１７】
また、本発明によれば、複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる移動端末であって、他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを生成するメッセージ生成手段と、生成された前記第１、第２のメッセージを所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信する送信手段と、前記複数の移動端末間を周回した前記第１、第２のメッセージを受信する受信手段と、受信された前記第１、第２のメッセージに付加された前記自身あての所定の情報を取得する取得手段と、取得された前記所定の情報に基づいて前記自身以外の移動端末ごとの認証情報を生成する認証情報生成手段と、前記自身以外の移動端末から送信された認証情報を含むメッセージを前記受信手段を介して受信した場合に、受信された前記認証情報が正当か否かを判断する判断手段と、正当であると判断された場合に前記バインディング情報を更新する更新手段とを備え、前記メッセージ生成手段によって生成された前記認証情報を含むメッセージを前記自身以外の移動端末に前記送信手段を介して送信する移動端末が提供される。この構成により、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できる。
【００１８】
また、本発明の移動端末において、前記所定のメッセージ送信順序が、前記第１のメッセージが送信される送信順序と前記第２のメッセージが送信される送信順序が異なることは、本発明の好ましい態様である。この構成により、ある移動端末あてのToken情報のすべてが他の移動端末に揃うことを防止することができる。
【００１９】
また、本発明の移動端末において、前記認証情報生成手段が、前記自身以外の移動端末における所定の情報に基づいて、メッセージの転送判定用認証情報を前記移動端末ごとに生成し、生成された前記転送判定用認証情報を前記第１、第２のメッセージに付加し、前記送信手段が、前記転送判定用認証情報が付加された前記第１、第２のメッセージを送信することは、本発明の好ましい態様である。この構成により、確実に転送判定を行うことができる。
【００２０】
また、本発明によれば、複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる移動端末であって、前記複数の移動端末のうちの所定の移動端末によって送信されたメッセージであって、前記所定の移動端末以外の他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを受信する受信手段と、受信された前記第１、第２のメッセージに含まれる自身あての所定の情報を取得する取得手段と、前記自身以外の移動端末それぞれに応じた所定の情報を前記第１、第２のメッセージに付加する付加手段と、前記所定の情報が付加された前記第１、第２のメッセージを他の移動端末へ送信する送信手段と、前記自身あての前記所定の情報をすべて取得した場合に、取得した前記所定の情報に基づいて他の移動端末ごとの認証情報を生成する認証情報生成手段と、生成された前記認証情報を含むメッセージを前記他の移動端末ごとに生成するメッセージ生成手段と、前記自身以外の移動端末から送信された認証情報を含むメッセージを前記受信手段を介して受信した場合に、受信された前記認証情報が正当か否かを判断する判断手段と、正当であると判断された場合に前記バインディング情報を更新する更新手段とを備え、前記メッセージ生成手段によって生成された前記メッセージを前記他の移動端末ごとに送信する移動端末が提供される。この構成により、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できる。
【００２１】
また、本発明の移動端末において、前記受信手段を介して前記第１、第２のメッセージを受信した場合、前記付加手段が、次回のバインディング更新における前記第１、第２のメッセージの送信の際に用いられる所定の情報を、前記第１、第２のメッセージに付加することは、本発明の好ましい態様である。この構成により、バインディング更新をするたびに情報を収集する必要がなく、メッセージ数の削減をすることができる。
【００２２】
本発明のバインディング更新方法及びその方法で用いられる移動端末は、上記構成を有し、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できる。
【図面の簡単な説明】
【００２３】
【図１Ａ】本発明の第１の実施の形態における３つの端末Ａ、Ｂ、ＣがそれぞれＢＵを行った場合を示す図
【図１Ｂ】図１Ａのメッセージを分割した場合を示す図
【図１Ｃ】図１Ｂの分割されたメッセージを並び替えた場合を示す図
【図１Ｄ】図１Ｃのメッセージをまとめた場合を示す図
【図２】本発明の第１〜３の実施の形態に係るリングバインディングアップデートを開始する側の移動端末の構成の一例を示す構成図
【図３】本発明の第１〜３の実施の形態に係るリングバインディングアップデートに参加する側の移動端末の構成の一例を示す構成図
【図４】本発明の第１、２の実施の形態におけるリングバインディングアップデートを開始する側の移動端末の処理フローの一例について説明するためのフローチャート
【図５】本発明の第１、２の実施の形態におけるリングバインディングアップデートに参加する側の移動端末の処理フローの一例について説明するためのフローチャート
【図６Ａ】本発明の第２の実施の形態における３つの端末Ａ、Ｂ、ＣがそれぞれＢＵを行った場合を示す図
【図６Ｂ】図６Ａのメッセージを分割した場合を示す図
【図６Ｃ】図６Ｂの分割されたメッセージを並び替えた場合を示す図
【図６Ｄ】図６Ｃのメッセージをまとめた場合を示す図
【図７Ａ】図６Ｄに示すメッセージの流れのうちの一つを表現した図
【図７Ｂ】図６Ｄに示すメッセージの流れのうちの一つを表現した図
【図７Ｃ】図６Ｄに示すメッセージの流れのうちの一つを表現した図
【図８】本発明の第２の実施の形態におけるメッセージ数を比較するための図
【図９Ａ】本発明の第３の実施の形態における転送判定における認証コードの生成について説明するための図
【図９Ｂ】本発明の第３の実施の形態における転送判定における認証コードの生成について説明するための他の図
【図１０Ａ】本発明の第３の実施の形態における転送判定における認証コードの生成について説明するための他の図
【図１０Ｂ】本発明の第３の実施の形態における転送判定における認証コードの生成について説明するための他の図
【図１１Ａ】本発明の第３の実施の形態における端末ＣでのＨｏＴリングメッセージの転送判定処理について説明するための図
【図１１Ｂ】本発明の第３の実施の形態における端末ＣでのＨｏＴリングメッセージの転送判定処理について説明するための他の図
【図１１Ｃ】本発明の第３の実施の形態における端末ＣでのＨｏＴリングメッセージの転送判定処理について説明するための他の図
【図１２Ａ】本発明の第３の実施の形態における端末ＢでのＣｏＴリングメッセージの転送判定処理について説明するための図
【図１２Ｂ】本発明の第３の実施の形態における端末ＢでのＣｏＴリングメッセージの転送判定処理について説明するための他の図
【図１２Ｃ】本発明の第３の実施の形態における端末ＢでのＣｏＴリングメッセージの転送判定処理について説明するための他の図
【図１３】本発明の第３の実施の形態におけるリングバインディングアップデートを開始する側の移動端末の処理フローの一例について説明するためのフローチャート
【図１４】本発明の第３の実施の形態におけるリングバインディングアップデートに参加する側の移動端末の処理フローの一例について説明するためのフローチャート
【図１５】本発明の第４の実施の形態に係るリングバインディングアップデートを開始する側の移動端末の構成の一例を示す構成図
【図１６】本発明の第４の実施の形態に係るリングバインディングアップデートに参加する側の移動端末の構成の一例を示す構成図
【図１７】本発明の第４の実施の形態におけるリングバインディングアップデートを開始する側の移動端末の処理フローの一例について説明するためのフローチャート
【図１８】本発明の第４の実施の形態におけるリングバインディングアップデートに参加する側の移動端末の処理フローの一例について説明するためのフローチャート
【図１９Ａ】従来のバインディングアップデートにおける問題を説明するための図
【図１９Ｂ】従来のバインディングアップデートにおける問題を説明するための他の図
【図１９Ｃ】従来のバインディングアップデートにおける問題を説明するための他の図
【発明を実施するための最良の形態】
【００２４】
＜第１の実施の形態＞
以下では、第１の実施の形態について説明する。ここでは、従来であれば直接通信相手に送信していたＨｏＴ及びＣｏＴを一度他の端末に中継させ、中継端末から目的地端末に送信させるよう構成した。なお、本実施の形態を説明する際、端末数が３つの場合について説明するがこれに限られるものではない。【００２５】
中継端末は、転送する際に自身が送信すべきＨｏＴメッセージ（単にＨｏＴとも言う）及びＣｏＴメッセージ（単にＣｏＴとも言う）も合わせて送信する。これにより、図１Ｄ（上段がＨｏＴ、中段がＣｏＴ、下段がＢＵを示す）に示すようにメッセージ数を削減することができる。なお、図１Ａは３つの端末Ａ、Ｂ、ＣがそれぞれＢＵを行った場合を示す図であり、図１Ｂは図１Ａのメッセージを分割した場合を示す図であり、図１Ｃは図１Ｂの分割されたメッセージを並び替えた場合を示す図である。【００２６】
端末Ａから送信されたＨｏＴには情報Ａｂ１とＡｃ１が含まれており、そのＨｏＴは端末Ｂに届く。その際、端末Ｂは情報Ａｂ１を受け取り、新たに情報Ｂｃ１とＢａ１をＨｏＴに付加して端末Ｃに送信する。端末Ｃは、ＨｏＴを受信すると、ＨｏＴから情報Ａｃ１とＢｃ１を受け取り、新たに情報Ｃａ１とＣｂ１をＨｏＴに付加して端末Ａに送信する。端末Ａは、ＨｏＴを受信すると、ＨｏＴから情報Ｂａ１とＣａ１を受け取り、端末Ｂに転送し、端末Ｂは情報Ｃｂ１を受け取る。このようにすることにより、従来ならば６個のＨｏＴが必要だったところを４個のメッセージに減らすことができる。【００２７】
同様に、端末Ａから送信されたＣｏＴには情報Ａｂ２とＡｃ２が含まれており、そのＣｏＴは端末Ｂに届く。その際、端末Ｂは情報Ａｂ２を受け取り、新たに情報Ｂｃ２とＢａ２をＣｏＴに付加して端末Ｃに送信する。端末Ｃは、ＣｏＴを受信すると、ＣｏＴから情報Ａｃ２とＢｃ２を受け取り、新たに情報Ｃａ２とＣｂ２をＣｏＴに付加して端末Ａに送信する。端末Ａは、周回してきたＣｏＴを受信すると、ＣｏＴから情報Ｂａ２とＣａ２を受け取り、ＣｏＴを端末Ｂに転送する。端末Ｂは、ＣｏＴから情報Ｃｂ２を受け取る。ＨｏＴとＣｏＴを受信したことにより、各端末は揃ったHome TokenとCare-of Tokenにより鍵データを生成し、ＢＵを送信することができる。以降、ある端末（ここでは端末Ａ）が送信し、他端末（ここでは端末Ｂ、端末Ｃ）を経由して必要なＨｏＴＩ／ＨｏＴ処理を順次実施する中継経路を転送するメッセージをＨｏＴリングまたはＨｏＴリングメッセージとよぶ。また、ある端末（ここでは端末Ａ）が送信し、他端末（ここでは端末Ｂ、端末Ｃ）を経由して必要なＣｏＴＩ／ＣｏＴ処理を順次実施する中継経路を転送するメッセージをＣｏＴリングまたはＣｏＴリングメッセージとよぶ。【００２８】
以上のような方法によって、ＨｏＴメッセージ、ＣｏＴメッセージの数を削減することが可能となる。ちなみに、ＨｏＴメッセージとＣｏＴメッセージを合わせて一つのメッセージにしない理由は、ＨｏＴメッセージは各端末のＨｏＡへの到達確認を行うメッセージであり、ＣｏＴメッセージは各端末のＣｏＡへの到達確認を行うメッセージであるためである。【００２９】
ここで、第１の実施の形態についてより詳細に説明する。すなわち、ＨｏＴリングメッセージとＣｏＴリングメッセージを同じ向きに回す場合について説明する。まず、端末ＡのＨｏＴリング及びＣｏＴリングの開始について説明する。端末Ａ、端末Ｂ、端末Ｃが存在し、端末Ａは端末Ｂに対してバインディングアップデートを行い、端末Ｂも端末Ａに対してバインディングアップデートを行う。同様に、端末Ａは端末Ｃに対してバインディングアップデートを行い、端末Ｃも端末Ａに対してバインディングアップデートを行う。【００３０】
このような状況のとき、端末Ａは気付アドレス（ＣｏＡ）を継続して使用するためには、端末Ｂ及び端末Ｃに対してバインディングアップデートを７分ごとに行わなければならない。そこで、端末Ａは、３端末間で送受信される総メッセージ数を削減するために、本発明によるバインディング更新処理（グループ間バインディングアップデート処理、リングバインディングアップデート処理などともよぶ）を開始する。端末Ａは、端末Ｂから端末Ｃの方向（端末Ａ→端末Ｂ→端末Ｃ）に周回させるＨｏＴリングメッセージ、および同じ方向に周回させるＣｏＴリングメッセージを送信することを決め、以下に示すRing Dataを作成する。このRing Dataはそれぞれのリングメッセージに付加され、受信した端末は次に送信する端末を知ることができる。また、リングメッセージに付加するTokenを決めることができる。【００３１】
HoT Ring Data = (B-Home Address, C-Home Address, A-Home Address)
CoT Ring Data = (B-Care-of Address, C-Care-of Address, A-Care-of Address)【００３２】
また、端末Ａは端末Ｂ及び端末Ｃに送信するTokenを生成する。これらのTokenをHoT Ring Token、CoT Ring Tokenと呼ぶことにする。なお、Token生成アルゴリズム（ここではSHA1とした）ならびに生成に必要な情報は、異なるアルゴリズムや異なる情報を用いるものであってもよい。【００３３】
AB-HoT Ring Token = SHA1 (B-Home Address, A's secret key, AB-HoT ring nonce)
AC-HoT Ring Token = SHA1 (C-Home Address, A's secret key, AC-HoT ring nonce)
AB-CoT Ring Token = SHA1 (B-Care-of Address, A's secret key, AB-CoT ring nonce)
AC-CoT Ring Token = SHA1 (C-Care-of Address, A's secret key, AC-CoT ring nonce)【００３４】
これらの情報を用いて端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを生成する。ＨｏＴリングメッセージには次の情報が付加される。すなわち、B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce、C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce、HoT Ring Dataが付加される。また同様に、ＣｏＴリングメッセージには次の情報が付加される。すなわち、B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce、C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce、CoT Ring Dataが付加される。端末Ａは、ＨｏＴリングメッセージを端末ＢのHome Addressあてに送信し、ＣｏＴリングメッセージを端末ＢのCare-of Addressあてに送信する。【００３５】
次に、端末ＢのＨｏＴリング処理について説明する。端末Ｂは、ＨｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを抽出して保持する。すなわち、B-Home Address、AB-HoT Ring Token、AB-HoT ring nonceを抽出して保持し、ＨｏＴリングメッセージから削除する。なお、ＨｏＴリングの処理を開始する前に、端末Ａとの間にバインディングキャッシュが存在するか確認してもよい。つづいて端末ＢはHoT Ring Tokenを生成する。すなわち、以下の情報を生成する。【００３６】
BC-HoT Ring Token = SHA1 (C-Home Address, B's secret key, BC-HoT ring nonce)
BA-HoT Ring Token = SHA1 (A-Home Address, B's secret key, BA-HoT ring nonce)【００３７】
そして、端末Ｂは端末Ｃと端末Ａに対する以下の情報をＨｏＴリングメッセージに追加する。【００３８】
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce【００３９】
以上の処理により端末Ｂが端末Ｃに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。【００４０】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce  （端末Ａからの情報）
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce  （端末Ｂが追加）
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂが追加）
HoT Ring Data【００４１】
次に、端末ＣのＨｏＴリング処理について説明する。端末Ｃは、ＨｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを抽出して保持する。すなわち、以下の情報を保持して、ＨｏＴリングメッセージから削除する。【００４２】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce【００４３】
端末Ｃは端末Ａと端末Ｂに対するHoT Ring Tokenを生成する。すなわち、以下の情報を生成する。【００４４】
CA-HoT Ring Token = SHA1 (A-Home Address, C's secret key, CA-HoT ring nonce)
CB-HoT Ring Token = SHA1 (B-Home Address, C's secret key, CB-HoT ring nonce)【００４５】
そして、端末Ｃは端末Ａと端末Ｂに対する以下の情報をＨｏＴリングメッセージに追加する。【００４６】
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce【００４７】
以上の処理により端末Ｃが端末Ａに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。【００４８】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂからの情報）
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce  （端末Ｃが追加）
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
HoT Ring Data【００４９】
次に、端末ＡのＨｏＴリング処理について説明する。端末Ａは、ＨｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを抽出して保持する。すなわち、以下の情報を保持してＨｏＴリングメッセージから削除する。【００５０】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce【００５１】
以上の処理により端末Ａが端末Ｂに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。【００５２】
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
HoT Ring Data【００５３】
最後に端末ＢのＨｏＴリング処理について説明する。端末Ｂは、ＨｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを抽出して保持する。すなわち、以下の情報を保持してＨｏＴリングメッセージから削除する。【００５４】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce【００５５】
ここでは端末Ｂが最後の受信者であるので、端末ＢはＨｏＴリングメッセージを端末Ｃに転送しない。【００５６】
次に、端末ＢのＣｏＴリング処理について説明する。ＨｏＴリング処理もほぼ同じ処理である。端末Ｂは、ＣｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを保持する。すなわち、B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonceを保持する。端末ＢはCoT Ring Tokenを生成する。すなわち、以下の情報を生成する。【００５７】
BC-CoT Ring Token = SHA1 (C-Care-of Address, B's secret key, BC-CoT ring nonce)
BA-CoT Ring Token = SHA1 (A-Care-of Address, B's secret key, BA-CoT ring nonce)【００５８】
そして、端末Ｂは以下の情報をＣｏＴリングメッセージに追加する。【００５９】
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce【００６０】
以上の処理により端末Ｂが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下の情報である。【００６１】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce  （端末Ａからの情報）
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce  （端末Ｂが追加）
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce  （端末Ｂが追加）
CoT Ring Data【００６２】
次に、端末ＣのＣｏＴリング処理について説明する。端末Ｃは、ＣｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、以下の情報を保持してＣｏＴリングメッセージから削除する。【００６３】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce【００６４】
端末ＣはCoT Ring Tokenを生成する。すなわち、以下の情報を生成する。【００６５】
CA-CoT Ring Token = SHA1 (A-Care-of Address, C's secret key, CA-CoT ring nonce)
CB-CoT Ring Token = SHA1 (B-Care-of Address, C's secret key, CB-CoT ring nonce)【００６６】
そして、端末Ｃは以下の情報をＣｏＴリングメッセージに追加する。【００６７】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce【００６８】
以上の処理により端末Ｃが端末Ａに送信するＣｏＴリングメッセージに含まれる情報は以下の情報である。【００６９】
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce  （端末Ｂからの情報）
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃが追加）
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce  （端末Ｃが追加）
CoT Ring Data【００７０】
次に、端末ＡのＣｏＴリング処理について説明する。端末Ａは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下の情報を保持してＣｏＴリングメッセージから削除する。【００７１】
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce【００７２】
以上の処理により端末Ａが端末Ｂに送信するＣｏＴリングメッセージに含まれる情報は以下の情報である。【００７３】
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce  （端末Ｃからの情報）
CoT Ring Data【００７４】
最後に端末ＢのＣｏＴリング処理について説明する。端末Ｂは、ＣｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを抽出して保持する。すなわち、以下の情報を保持してＣｏＴリングメッセージから削除する。【００７５】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce【００７６】
ここでは端末Ｂが最後の受信者であるので、端末ＢはＣｏＴリングメッセージを端末Ｃに転送しない。【００７７】
次に、ＨｏＴリングメッセージ、ＣｏＴリングメッセージの両方を受信した端末の動作について説明する。端末ＢはＨｏＴリングメッセージから以下の情報を取得する。【００７８】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce【００７９】
また、端末ＢはＣｏＴリングメッセージから以下の情報を取得する。【００８０】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce【００８１】
端末ＢはこれらのTokenを用いて以下の鍵データであるＫｅｙを生成する。【００８２】
AB-Key = SHA1 (AB-HoT Ring Token, AB-CoT Ring Token)
CB-Key = SHA1 (CB-HoT Ring Token, CB-CoT Ring Token)【００８３】
そして、端末ＢはこれらＫｅｙを用いて認証コードであるＭＡＣを生成する。【００８４】
AB-MAC = SHA1 (AB-Key, BU-Message Data)
CB-MAC = SHA1 (CB-Key, BU-Message Data)【００８５】
端末Ｂは、生成された認証コードなどとともにAB-HoT ring nonce、AB-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｂは、生成された認証コードなどとともにCB-HoT ring nonce、CB-CoT ring nonceを付加したＢＵメッセージを端末Ｃに送信する。【００８６】
一方、端末Ｃは、ＨｏＴリングメッセージから以下の情報を取得する。【００８７】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce【００８８】
また、端末ＣはＣｏＴリングメッセージから以下の情報を取得する。【００８９】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce【００９０】
端末ＣはこれらのTokenを用いて鍵データであるＫｅｙを生成する。【００９１】
AC-Key = SHA1 (AC-HoT Ring Token, AC-CoT Ring Token)
BC-Key = SHA1 (BC-HoT Ring Token, BC-CoT Ring Token)【００９２】
そして、端末ＣはこれらＫｅｙを用いて認証コードであるＭＡＣを生成する。【００９３】
AC-MAC = SHA1 (AC-Key, BU Message Data)
BC-MAC = SHA1 (BC-Key, BU Message Data)【００９４】
端末Ｃは、生成された認証コードなどとともにAC-HoT ring nonce、AC-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｃは、生成された認証コードなどとともにBC-HoT ring nonce、BC-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。【００９５】
一方、端末ＡはＨｏＴリングメッセージから以下の情報を取得する。【００９６】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce【００９７】
また、端末ＡはＣｏＴリングメッセージから以下の情報を取得する。【００９８】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce【００９９】
端末ＡはこれらのTokenを用いて鍵データであるＫｅｙを生成する。【０１００】
BA-Key = SHA1 (BA-HoT Ring Token, BA-CoT Ring Token)
CA-Key = SHA1 (CA-HoT Ring Token, CA-CoT Ring Token)【０１０１】
そして、端末ＡはこれらＫｅｙを用いて認証コードであるＭＡＣを生成する。【０１０２】
BA-MAC = SHA1 (BA-Key, BU Message Data)
CA-MAC = SHA1 (CA-Key, BU Message Data)【０１０３】
端末Ａは、生成された認証コードなどとともにBA-HoT ring nonce、BA-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。また、端末Ａは、生成された認証コードなどとともにCA-HoT ring nonce、CA-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。なお、端末数が４以上の場合も同様に処理することができる。例えば、端末数が４つの場合には、端末Ａは、端末Ｂ、端末Ｃ、端末Ｄの順番にＨｏＴリングメッセージ及びＣｏＴリングメッセージが届くようにRing Tokenを付加して送信する。【０１０４】
次に、上述したリングバインディングアップデートを開始する側の移動端末について図２を用いて説明する。ここでは、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合の端末Ａを例にとって説明する。まず、端末ＡがＨｏＴリングメッセージ、ＣｏＴリングメッセージを送信する際の処理について説明する。Ｔｏｋｅｎ生成部２０１においてRing Tokenを生成する。Token生成に使用したNonceはＮｏｎｃｅ管理部２０２において管理・保存される。【０１０５】
メッセージ作成部２０３は、Ring Dataと端末Ｂと端末Ｃに対するRing Tokenを付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージをそれぞれ作成し、メッセージ送信部２０４より送信する。Ring DataはＲｉｎｇ  Ｄａｔａ作成部２０５より取得する。【０１０６】
次に、周回したＨｏＴリングメッセージ、ＣｏＴリングメッセージを受信した時の処理について説明する。リングメッセージをメッセージ受信部２０６において受信し、自端末あてのRing TokenをＲｉｎｇ  Ｔｏｋｅｎ保存部２０７に保存する。リングメッセージの転送先が残っている場合には、メッセージ作成部２０３においてメッセージを作成し、メッセージ送信部２０４より転送する。Ｒｉｎｇ  Ｔｏｋｅｎ保存部２０７にHome TokenとCare-of Tokenの両方のTokenが揃った場合は、Ｋｅｙ生成部２０８において鍵データを作成し、メッセージ認証コード生成部２０９においてメッセージデータをもとにメッセージ認証コードを生成する。メッセージ作成部２０３において、生成されたメッセージ認証コードをＢＵメッセージに付加し、メッセージ送信部２０４より送信する。【０１０７】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部２０６において受信すると、Ｔｏｋｅｎ生成部２０１においてTokenを生成し、メッセージ作成部２０３で応答メッセージを作成し、メッセージ送信部２０４から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部２０２において保存・管理される。【０１０８】
また、ＢＵメッセージを受信した時の処理について説明する。ＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部２０１においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部２０８において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部２０９においてメッセージ認証コードを作成する。作成したメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部２１０において比較し、一致している場合には、バインディングキャッシュ管理部２１１にバインディングキャッシュを登録する。リングメッセージ転送判定部２１２は、メッセージ認証コード比較部２１０の結果に基づいて、リングメッセージを転送すべきか否かを判定する。なお、転送判定用Ｔｏｋｅｎ保存部２１３は、転送判定をする際に用いるTokenを保存する。【０１０９】
次に、リングバインディングアップデートに参加する側の移動端末について図３を用いて説明する。ここでは、端末Ａが端末Ｂ及び端末Ｃと、また端末Ｂが端末Ａと端末Ｃとリングバインディングアップデートを行う場合の端末Ｂについて説明する。まず、端末ＡからＨｏＴリングメッセージ又はＣｏＴリングメッセージの受信した時の処理について説明する。端末Ｂは、リングメッセージを受信すると、Ｒｉｎｇ  Ｔｏｋｅｎ保存部３０１においてリングメッセージに含まれていた自端末あてのRing Tokenを保管する。【０１１０】
メッセージ作成部３０２は、Ｔｏｋｅｎ生成部３０３で生成された転送先端末あて（ここでは端末Ｃと端末Ａあて）のRing Tokenを、転送するリングメッセージに付加する。そしてメッセージ送信部３０４より送信する。そして、リングメッセージを受信し、HoT Ring TokenとCoT Ring Tokenの両方を揃えた場合には、ＢＵメッセージを作成するために、Ｋｅｙ生成部３０５で鍵データを作成し、メッセージ認証コード生成部３０６においてメッセージ認証コードを作成し、作成されたメッセージ認証コードをメッセージ作成部３０２においてＢＵメッセージに付加し、メッセージ送信部３０４より送信する。【０１１１】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部３０７において受信すると、Ｔｏｋｅｎ生成部３０３においてTokenを生成し、メッセージ作成部３０２で応答メッセージを作成し、メッセージ送信部３０４から送信する。Ｔｏｋｅｎ生成時に使用したNonceはＮｏｎｃｅ管理部３０８において保存・管理する。【０１１２】
また、ＢＵメッセージを受信した時の処理について説明する。ＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部３０３においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部３０５において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部３０６においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部３０９において比較し、一致している場合には、バインディングキャッシュ管理部３１０にバインディングキャッシュを登録する。リングメッセージ転送判定部３１１は、メッセージ認証コード比較部３０９の結果に基づいて、リングメッセージを転送すべきか否かを判定する。【０１１３】
次に、リングバインディングアップデートを開始する側の移動端末の処理フローについて図４を用いて説明する。図４に示すように、端末Ａが、端末ＡからＨｏＴリングメッセージ及びＣｏＴリングメッセージを回す順番を示すHoT Ring Data及びCoT Ring Dataを作成する（ステップＳ４０１）。端末Ａは、端末Ｂと端末Ｃに対するRing Token（AB-HoT Ring Token、AC-HoT Ring Token、AB-CoT Ring Token、AC-CoT Ring Token）を生成する（ステップＳ４０２）。次に、端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成して送信し、ＨｏＴリングメッセージ、ＣｏＴリングメッセージが周回して戻ってくるのを待つ（ステップＳ４０３）。【０１１４】
端末Ａは、所定のタイムアウト前にメッセージを受信するか否かを判定する（ステップＳ４０４）。タイムアウト前に受信した場合、端末Ａは、端末Ｂと端末Ｃから送信されたRing Tokenを取得し、鍵データを生成し、メッセージ認証コードを作成し、端末Ｂと端末ＣにＢＵメッセージを送信する（ステップＳ４０５）。一方、ステップＳ４０４において、タイムアウト前にメッセージを受信しない場合には、端末Ａは、再送回数が所定の値Ｎより小さいのであれば再送する（ステップＳ４０６）。【０１１５】
次に、リングバインディングアップデートに参加する側の移動端末の処理フローについて図５を用いて説明する。図５に示すように、例えば、端末Ｂは、ＨｏＴリングメッセージ及びＣｏＴリングメッセージの両方を受信した場合には、Ring Token（HoA、CoA）が揃っているか確認し、揃っている場合には鍵データを作成し、メッセージ認証コードを作成し、ＢＵメッセージを送信する（ステップＳ５０１）。そして、端末Ｂはリングメッセージの転送先あてにRing Tokenを生成する（ステップＳ５０２）。端末Ｂはリングメッセージの転送先が残っている場合には、Ring Token及び次のリングメッセージ用のTokenを付加してリングメッセージを転送する（ステップＳ５０３）。【０１１６】
＜第２の実施の形態＞
第２の実施の形態について説明する。ここで、第１の実施の形態では、ＨｏＴリングメッセージとＣｏＴリングメッセージを同じ端末（同じ方向）に送信しているため、それらのメッセージを受信する他の端末も鍵データを生成するための情報を知ることができるという状況が発生している。例えば、端末Ａから端末Ｃに送信する情報Ａｃ１とＡｃ２は、端末Ｃだけでなく端末Ｂにも届いているため、端末Ｂは端末Ｃになりすまして鍵データ（Ｋｅｙ（Ａｃ１、Ａｃ２））を生成することができる。このような状況を回避してセキュリティを向上する方法を以下に説明する。【０１１７】
図６Ｄに示す方法では、端末Ａから端末ＣへのＨｏＴリングメッセージを端末Ｂに一旦送信し、端末Ｂから端末Ｃに送信させる。一方、ＣｏＴリングメッセージについては、端末Ｂへの転送を行っていない。このため、端末Ｃあてに生成したHome TokenとCare-of Tokenのうち、端末Ｂは一方（ここではＨｏＴリングメッセージ）を知ることはできるが両方とも知ることはできないため、端末Ｃになりすまして鍵データを生成することができない。【０１１８】
同様に端末Ａから端末ＢへのＨｏＴリングメッセージ／ＣｏＴリングメッセージの一方を端末Ｃを経由して送信する。ここで、端末Ａから端末ＣへのＨｏＴリングメッセージが端末Ｂ経由で転送されることを考慮し、端末Ａから端末ＢへのＨｏＴリングメッセージは端末Ｂに直接送信するものとし、ＣｏＴリングメッセージを端末Ｃ経由で端末Ｂに転送する。端末Ｂは、端末Ａから端末ＣへのＨｏＴリングメッセージを中継するので、そのＨｏＴリングメッセージの転送に合わせて、端末Ｂが生成した端末Ｃに対するＨｏＴリングメッセージを重畳して送信する。それに合わせて端末Ｂから端末ＣへのＣｏＴリングメッセージは、端末Ａを経由して転送される。【０１１９】
端末Ｂから端末ＡへのＨｏＴリングメッセージは、端末Ｂから端末ＣへのＨｏＴリングメッセージに合わせて端末Ｃ経由で送信する。図６Ｄのメッセージの流れは、図７Ａ〜図７Ｃのように表現することができる。つまり、ＨｏＴリングメッセージは端末Ａ→端末Ｂ→端末Ｃの方向に周回し、ＣｏＴリングメッセージは逆に端末Ａ→端末Ｃ→端末Ｂの方向に周回する。このように、ＨｏＴリングメッセージとＣｏＴリングメッセージが逆方向に周回することによって、端末ＡあてのHome TokenとCare-of Tokenの両方が端末Ｂ又は端末Ｃに揃うことがないという効果がある。【０１２０】
第１、第２の実施の形態、そして後述する実施の形態で説明するように、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを用いることによって、複数の端末がお互いにバインディングアップデートし合っているとき、それぞれが独立にバインディングアップデートを行うより、メッセージ数を削減できることを示した。そのメッセージ数の削減効果は、Return Routability処理に必要とするメッセージ数を比較すると、図８のように示すことができる。すなわち、Ｎ端末の場合にはＮ分の１にすることができる。【０１２１】
ここで、通常のＭＩＰの場合のＲＲ(Return Routability)処理に要するメッセージ数の計算について説明する。１つの端末は、相手端末１つに対してＨｏＴＩ、ＨｏＴ、ＣｏＴＩ、ＣｏＴの４つのメッセージを送信する。相手端末はＮ−１個存在するため（Ｎ−１）倍する。さらに、全体でＮ端末存在するためＮ倍する。また、Ring BUの場合のＲＲ(Return Routability)処理に要するメッセージ数の計算について説明する。ＨｏＴＩはリング状に回る。端末がＮ個あるとき最初の端末が付加したTokenが最後の端末まで届くのにＮ−１個のメッセージが必要である。最後の端末がTokenを付加し、そのTokenが届き終わるまでにさらにＮ−１個のメッセージが必要である。ＣｏＴＩの場合も同様に２×（Ｎ−１）個のメッセージが必要なため２倍する。【０１２２】
また、ＨｏＴリングメッセージ及びＣｏＴリングメッセージを用いることによってメッセージ数を削減できるだけでなく、第２の実施の形態などのように、ＨｏＴリングメッセージとＣｏＴリングメッセージが周回する方向を逆向きにすることによって、Home TokenとCare-of Tokenの両方を受信するのは、送信元の端末と送信先の端末だけにすることができ、鍵データをどの端末でも生成することができることを防ぎ、セキュリティの向上を図る。【０１２３】
ここで、第２の実施の形態についてより詳細に説明する。すなわち、ＨｏＴリングメッセージとＣｏＴリングメッセージを逆向きに回す場合について説明する。端末Ａは端末Ｂ、端末Ｃの順番（端末Ａ→端末Ｂ→端末Ｃ）にＨｏＴリングメッセージ又はＣｏＴリングメッセージを送信することを決め、以下に示すRing Dataを作成する。このRing Dataはリングメッセージに付加され、受信した端末は次に送信する端末を知ることができる。また、受信した端末は、リングメッセージに付加されるTokenを決めることができる。ＨｏＴリングメッセージとＣｏＴリングメッセージは、Home TokenとCare-of Tokenの両方が揃う端末を送信元の端末とあて先の端末だけにするために逆方向に送信される。【０１２４】
HoT Ring Data = (B-Home Address, C-Home Address, A-Home Address)
CoT Ring Data = (C-Care-of Address, B-Care-of Address, A-Care-of Address)【０１２５】
次に、端末Ａは端末Ｂ及び端末Ｃに送信するTokenを生成する。これらのTokenをHoT Ring Token、CoT Ring Tokenと呼ぶ。生成されるRing Tokenを以下に示す。【０１２６】
AB-HoT Ring Token = SHA1 (B-Home Address, A's secret key, AB-HoT ring nonce)
AC-HoT Ring Token = SHA1 (C-Home Address, A's secret key, AC-HoT ring nonce)
AB-CoT Ring Token = SHA1 (B-Care-of Address, A's secret key, AB-CoT ring nonce)
AC-CoT Ring Token = SHA1 (C-Care-of Address, A's secret key, AC-CoT ring nonce)【０１２７】
これらの情報を用いて端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを生成する。ＨｏＴリングメッセージには以下の情報が付加される。【０１２８】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
HoT Ring Data【０１２９】
また、ＣｏＴリングメッセージには以下の情報が付加される。【０１３０】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
CoT Ring Data【０１３１】
そして、端末ＡはＨｏＴリングメッセージを端末ＢのHome Addressあてに送信する。また、端末ＡはＣｏＴリングメッセージを端末ＣのCare-of Addressあてに送信する。【０１３２】
次に、端末ＢのＨｏＴリング処理について説明する。端末Ｂは、ＨｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを保持する。すなわち、B-Home Address、AB-HoT Ring Token、AB-HoT ring nonceを保持する。なお、ＨｏＴリングの処理を開始する前に、端末Ａとの間にバインディングキャッシュが存在するか確認してもよい。端末ＢはHoT Ring Tokenを生成する。すなわち、以下の情報を生成する。
BC-HoT Ring Token = SHA1 (C-Home Address, B's secret key, BC-HoT ring nonce)
BA-HoT Ring Token = SHA1 (A-Home Address, B's secret key, BA-HoT ring nonce)【０１３３】
そして、端末Ｂは以下の情報をＨｏＴリングメッセージに追加する。【０１３４】
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce【０１３５】
以上の処理により端末Ｂが端末Ｃに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。【０１３６】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce  （端末Ａからの情報）
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce  （端末Ｂが追加）
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂが追加）
HoT Ring Data【０１３７】
次に、端末ＣのＨｏＴリング処理について説明する。端末Ｃは、ＨｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、端末Ｃは以下の情報を保持する。【０１３８】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce【０１３９】
端末Ｃは以下に示すHoT Ring Tokenを生成する。【０１４０】
CA-HoT Ring Token = SHA1 (A-Home Address, C's secret key, CA-HoT ring nonce)
CB-HoT Ring Token = SHA1 (B-Home Address, C's secret key, CB-HoT ring nonce)【０１４１】
そして、端末Ｃは以下の情報をＨｏＴリングメッセージに追加する。【０１４２】
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce【０１４３】
以上の処理により端末Ｃが端末Ａに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。【０１４４】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂからの情報）
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce  （端末Ｃが追加）
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
HoT Ring Data【０１４５】
次に、端末ＡのＨｏＴリング処理について説明する。端末Ａは、ＨｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、端末Ａは以下の情報を保持する。【０１４６】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce【０１４７】
以上の処理により端末Ａが端末Ｂに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。【０１４８】
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）【０１４９】
次に、端末ＣのＣｏＴリング処理について説明する。ＨｏＴリング処理もほぼ同じ処理である。端末Ｃは、ＣｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、端末Ｃは以下の情報を保持する。【０１５０】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce【０１５１】
端末Ｃは以下に示すようなCoT Ring Tokenを生成する。【０１５２】
CB-CoT Ring Token = SHA1 (B-Care-of Address, C's secret key, CB-CoT ring nonce)
CA-CoT Ring Token = SHA1 (A-Care-of Address, C's secret key, CA-CoT ring nonce)【０１５３】
そして、端末Ｃは以下の情報をＣｏＴリングメッセージに追加する。【０１５４】
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce【０１５５】
以上の処理により端末Ｃが端末Ｂに送信するＣｏＴリングメッセージに含まれる情報は以下の情報である。【０１５６】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce  （端末Ａからの情報）
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce  （端末Ｃが追加）
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃが追加）
CoT Ring Data【０１５７】
次に、端末ＢのＣｏＴリング処理について説明する。端末Ｂは、ＣｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを保持する。すなわち、端末Ｂは以下の情報を保持する。【０１５８】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce【０１５９】
端末Ｂは以下に示すようなCoT Ring Tokenを生成する。【０１６０】
BA-CoT Ring Token = SHA1 (A-Care-of Address, B's secret key, BA-CoT ring nonce)
BC-CoT Ring Token = SHA1 (C-Care-of Address, B's secret key, BC-CoT ring nonce)【０１６１】
そして、端末Ｂは以下の情報をＣｏＴリングメッセージに追加する。【０１６２】
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce【０１６３】
以上の処理により端末Ｂが端末Ａに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。【０１６４】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃからの情報）
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce  （端末Ｂが追加）
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce  （端末Ｂが追加）
CoT Ring Data【０１６５】
次に、端末ＡのＣｏＴリング処理について説明する。端末Ａは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、端末Ａは以下の情報を保持する。【０１６６】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce【０１６７】
以上の処理により端末Ａが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。【０１６８】
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce  （端末Ｂからの情報）【０１６９】
次に、ＨｏＴリングメッセージ、ＣｏＴリングメッセージの両方を受信した端末の動作について説明する。端末ＢはＨｏＴリングメッセージから以下の情報を取得する。【０１７０】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce【０１７１】
また、端末ＢはＣｏＴリングメッセージから以下の情報を取得する。【０１７２】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce【０１７３】
端末ＢはこれらのTokenを用いて鍵データであるＫｅｙを生成する。【０１７４】
AB-Key = SHA1 (AB-HoT Ring Token, AB-CoT Ring Token)
CB-Key = SHA1 (CB-HoT Ring Token, CB-CoT Ring Token)【０１７５】
そして、端末ＢはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAB-HoT ring nonce、AB-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｂは生成された認証コードなどとともにCB-HoT ring nonce、CB-CoT ring nonceを付加したＢＵメッセージを端末Ｃに送信する。【０１７６】
一方、端末ＣはＨｏＴリングメッセージから以下の情報を取得する。【０１７７】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce【０１７８】
また、端末ＣはＣｏＴリングメッセージから以下の情報を取得する。【０１７９】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce【０１８０】
そして、端末ＣはこれらのTokenを用いて鍵データであるＫｅｙを生成する。【０１８１】
AC-Key = SHA1 (AC-HoT Ring Token, AC-CoT Ring Token)
BC-Key = SHA1 (BC-HoT Ring Token, BC-CoT Ring Token)【０１８２】
そして、端末ＣはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAC-HoT ring nonce、AC-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｃは生成された認証コードなどとともにBC-HoT ring nonce、BC-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。【０１８３】
一方、端末ＡはＨｏＴリングメッセージから以下の情報を取得する。【０１８４】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce【０１８５】
また、端末ＡはＣｏＴリングメッセージから以下の情報を取得する。【０１８６】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce【０１８７】
そして、端末ＡはこれらのTokenを用いて鍵データであるＫｅｙを生成する。【０１８８】
BA-Key = SHA1 (BA-HoT Ring Token, BA-CoT Ring Token)
CA-Key = SHA1 (CA-HoT Ring Token, CA-CoT Ring Token)【０１８９】
そして、端末ＡはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにBA-HoT ring nonce、BA-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。また、端末Ａは生成された認証コードなどとともにCA-HoT ring nonce、CA-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。なお、端末数が４以上の場合も同様に処理することができる。例えば、端末数が４つの場合には、端末Ａは、端末Ｂ、端末Ｃ、端末Ｄの順番にＨｏＴリングメッセージを、端末Ｄ、端末Ｃ、端末Ｂの順番にＣｏＴリングメッセージが届くようにRing Dataを設定し、リングメッセージを送信する。【０１９０】
次に、上述したリングバインディングアップデートを開始する側の移動端末について説明する。なお、ここでの移動端末の構成は上述した図２に示す構成と同様であるため図２を用いて説明する。また、ここでは端末Ａを例にとって説明する。すなわち、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合について説明する。まず、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを送信する処理について説明する。【０１９１】
Ｔｏｋｅｎ生成部２０１においてRing Tokenを生成する。Token生成に使用したNonceはＮｏｎｃｅ管理部２０２において管理・保存する。メッセージ作成部２０３は、Ｒｉｎｇ  Ｄａｔａ作成部２０５からRing Dataを取得し、Ｔｏｋｅｎ生成部２０１よりRing Tokenを取得し、これらの情報を付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成し、メッセージ送信部２０４より送信する。【０１９２】
次に、周回したＨｏＴリングメッセージ、ＣｏＴリングメッセージの受信後の処理について説明する。リングメッセージをメッセージ受信部２０６において受信し、自端末あてのRing TokenをＲｉｎｇ  Ｔｏｋｅｎ保存部２０７に保存する。また、転送先が残っている場合には、Ｔｏｋｅｎ生成部２０１においてRing Tokenを生成し、メッセージ作成部２０３において転送するリングメッセージを作成し、メッセージ送信部２０４より送信する。【０１９３】
Ｒｉｎｇ  Ｔｏｋｅｎ保存部２０７にHome TokenとCare-of Tokenの両方のTokenが揃った場合は、Ｋｅｙ生成部２０８において鍵データを作成し、メッセージ認証コード生成部２０９においてメッセージデータをもとにメッセージ認証コードを生成する。メッセージ作成部２０３において、生成されたメッセージ認証コードをＢＵメッセージに付加し、メッセージ送信部２０４より送信する。【０１９４】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部２０６において受信すると、Ｔｏｋｅｎ生成部２０１においてTokenを生成し、メッセージ作成部２０３で応答メッセージを作成し、メッセージ送信部２０４から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部２０２において保存・管理する。【０１９５】
また、ＢＵメッセージの受信後の処理について説明する。ＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部２０１においてHome TokenとCare-of Tokenを生成する。生成したTokenを用いてＫｅｙ生成部２０８において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部２０９においてメッセージ認証コードを作成する。作成したメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部２１０において比較し、一致している場合には、バインディングキャッシュ管理部２１１にバインディングキャッシュを登録する。リングメッセージ転送判定部２１２は、メッセージ認証コード比較部２１０の結果に基づいて、リングメッセージを転送すべきか否かを判定する。なお、転送判定用Ｔｏｋｅｎ保存部２１３は、転送判定をする際に用いるTokenを保存する。【０１９６】
次に、リングバインディングアップデートに参加する側の移動端末について説明する。なお、ここでの移動端末の構成は上述した図３に示す構成と同様であるため図３を用いて説明する。また、ここでは端末Ｂを例にとって説明する。すなわち、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合の端末Ｂについて説明する。まず、端末ＡからＨｏＴリングメッセージ又はＣｏＴリングメッセージの受信後の処理について説明する。【０１９７】
端末Ｂは、リングメッセージを受信すると、Ｒｉｎｇ  Ｔｏｋｅｎ保存部３０１においてリングメッセージに含まれていた自端末あてのRing Tokenを保管する。メッセージ作成部３０２は、Ｔｏｋｅｎ生成部３０３で再生された転送先端末あてのRing Tokenを、転送するリングメッセージに付加する。そしてメッセージ送信部３０４より送信する。リングメッセージを受信し、HoT Ring TokenとCoT Ring Tokenの両方が揃った場合には、ＢＵメッセージを生成するために、Ｋｅｙ生成部３０５で鍵データを作成し、メッセージ認証コード生成部３０６においてメッセージ認証コードを作成し、作成されたメッセージ認証コードをメッセージ作成部３０２においてＢＵメッセージに付加し、メッセージ送信部３０４より送信する。【０１９８】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部３０７において受信すると、Ｔｏｋｅｎ生成部３０３においてTokenを生成し、メッセージ作成部３０２で応答メッセージを作成し、メッセージ送信部３０４から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部３０８において保存・管理する。【０１９９】
次に、ＢＵメッセージの受信後の処理について説明する。ＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部３０３においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部３０５において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部３０６においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部３０９において比較し、一致している場合には、バインディングキャッシュ管理部３１０にバインディングキャッシュを登録する。リングメッセージ転送判定部３１１は、メッセージ認証コード比較部３０９の結果に基づいて、リングメッセージを転送すべきか否かを判定する。【０２００】
次に、リングバインディングアップデートを開始する側の移動端末の処理フローについて説明する。なお、ここでの移動端末の処理フローは上述した図４に示すフローと同様であるため図４を用いて説明する。図４に示すように、端末Ａが、端末ＡからＨｏＴリングメッセージ及びＣｏＴリングメッセージを回す順番を示すHoT Ring Data及びCoT Ring Dataを作成する（ステップＳ４０１）。端末Ａは、端末Ｂと端末Ｃに送信するためのRing Token（AB-HoT Ring Token、AC-HoT Ring Token、AB-CoT Ring Token、AC-CoT Ring Token）を生成する（ステップＳ４０２）。次に、端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成して送信し、ＨｏＴリングメッセージ、ＣｏＴリングメッセージが周回して戻ってくるのを待つ（ステップＳ４０３）。【０２０１】
端末Ａは、所定のタイムアウト前にメッセージを受信するか否かを判定する（ステップＳ４０４）。タイムアウト前に受信した場合、端末Ａは、端末Ｂと端末Ｃから送信されたRing Tokenを取得し、鍵データを生成し、メッセージ認証コードを作成し、端末Ｂと端末ＣにＢＵメッセージを送信する（ステップＳ４０５）。一方、ステップＳ４０４において、タイムアウト前にメッセージを受信しない場合には、端末Ａは、再送回数が所定の値Ｎより小さいのであれば再送する（ステップＳ４０６）。【０２０２】
次に、リングバインディングアップデートに参加する側の移動端末の処理フローについて説明する。なお、ここでの移動端末の処理フローは上述した図５に示すフローと同様であるため図５を用いて説明する。図５に示すように、例えば、端末Ｂは、ＨｏＴリングメッセージ及びＣｏＴリングメッセージの両方を受信した場合には、Ring Token（HoA、CoA）が揃っているか確認し、揃っている場合には鍵データを作成し、メッセージ認証コードを作成し、ＢＵメッセージを送信する（ステップＳ５０１）。そして、端末Ｂはリングメッセージの転送先あてにRing Tokenを生成する（ステップＳ５０２）。端末Ｂはリングメッセージの転送先が残っている場合には、転送先端末に対するRing Tokenを付加してリングメッセージを転送する（ステップＳ５０３）。【０２０３】
＜第３の実施の形態＞
第３の実施の形態について説明する。ここでは、ＨｏＴリングメッセージ及びＣｏＴリングメッセージの転送基準について説明する。端末Ａが送信したＨｏＴリングメッセージ又はＣｏＴリングメッセージを受信した端末Ｂ又は端末Ｃは、メッセージに記された次に転送する先の端末に向けてＨｏＴリングメッセージ、ＣｏＴリングメッセージを転送する。このため、転送先のアドレスが間違っていた場合などでも、誤ったアドレスに転送してしまうという場合が考えられる。【０２０４】
ＨｏＴリングメッセージ／ＣｏＴリングメッセージを転送する際に、端末Ｂは端末Ａと端末Ｃのバインディングキャッシュを持っているかどうかを転送するかどうかの判定基準にすることができる。これによって、端末Ｂが転送する範囲を大幅に限定することができる。さらに、確実に転送判定を行う方法を以下に説明する。【０２０５】
端末Ａは、端末Ｂと端末Ｃに対してバインディングアップデートを既に行っており、端末Ｂ及び端末Ｃも端末Ａに対してバインディングアップデートを行っているとする。端末Ａは、端末Ｂと端末Ｃがお互いにバインディングアップデートを行っていれば、３者間のバインディングアップデートが可能になると判断し、図９Ａに示すように、端末Ｃに対して端末Ｂにバインディングアップデートを行うように指示する。そして、端末Ｂから端末Ｃに送信されるHome Token及びCare-of Token（ＢＣ−Ｔｏｋｅｎ）を端末Ａに転送するように要求する。【０２０６】
端末Ｂから端末ＣにHome Token及びCare-of Tokenが送信されるときは、端末ＢはＨｏＡあて及びＣｏＡあてに分けて送信する。これは、第２の実施の形態のように、両方のTokenを持てるのは端末Ｃだけであることを利用している。同様に端末Ｃから端末ＡにTokenを送信する場合も、端末Ｃは端末ＡのＨｏＡあて及びＣｏＡあてに分けてHome Token及びCare-of Tokenを送信する。図９Ｂに示すように、端末Ａは、ＨｏＴリングメッセージを端末Ｂに送信する際に次の認証コードを付加する。認証コードは、端末Ｂが端末Ｃに送信したTokenから生成された鍵データ（ここでは、ＢＣ−Ｋｅｙ）を用いて生成した認証コードＭＡＣである。【０２０７】
BC-Key = SHA1 (BC-Home Token, BC-Care-of Token)
MAC = SHA1 (BC-Key, Data)【０２０８】
端末Ｂは、ＨｏＴリングメッセージに含まれるhome-nonce、care-of nonceと転送先の端末ＣのHome Address及びCare-of AddressからBC-Home Token、BC-Care-of Tokenをそれぞれ生成する。【０２０９】
BC-Home Token = SHA1 (C-HoA, B's secret key, home nonce)
BC-Care-of Token = SHA1 (C-CoA, B's secret key, care-of nonce)【０２１０】
さらに、端末ＢはこれらTokenからＢＣ−Ｋｅｙを生成し、ＭＡＣが正しいかどうかチェックする。ここで、両方のTokenは端末Ｃしか持ち得ないこと、及びTokenを渡した相手である端末Ｃからの要求であることから、端末Ｂから端末Ｃへの転送は端末Ｃによって許可されていると端末Ｂが判断する。同様に、ＣｏＴリングメッセージの場合には、図１０Ａ、図１０Ｂに示すように、端末Ａは端末Ｂに端末Ｃへバインディングアップデートするように指示し、端末Ｃから端末Ｂに送信されたToken（ＣＢ−Ｔｏｋｅｎ）を要求する。【０２１１】
次に、端末Ａが送信したＨｏＴリングメッセージが端末Ｂを経由して端末Ｃに達した場合に、端末Ａに転送するための、端末ＣでのＨｏＴリングメッセージの転送判定処理について図１１Ａから図１１Ｃを用いて説明する。図１１Ａ、１１Ｂに示すように、端末Ａは端末Ｃとバインディングアップデートを行って取得したHome Token及びCare-of Token（ＣＡ−Ｔｏｋｅｎ）からＫｅｙを生成し、そのＫｅｙに基づいて生成された認証コードをＨｏＴリングメッセージに付加して送信する。その認証コードは端末Ｂを経由して端末Ｃに届く。【０２１２】
端末Ｃは、ＨｏＴリングメッセージに含まれるhome nonce、care-of nonceを用いて、次のようにHome Token、Care-of tokenを生成する。【０２１３】
CA-Home Token = SHA1 (A-HoA, C's secret key, home nonce)
CA-Care-of Token = SHA1 (A-CoA, C's secret key, care-of nonce)【０２１４】
さらに、端末Ｃは以下のようなＫｅｙ及び認証コードＭＡＣを生成する。【０２１５】
Key = SHA1 (CA-Home Token, CA-Care-of Token)
MAC = SHA1 (Key, Data)【０２１６】
端末Ｃは認証コードが正しいことを確認してから、図１１Ｃに示すように端末ＡにＨｏＴリングメッセージを転送する。ＣｏＴリングメッセージの場合に端末Ｂが端末Ａへの転送を行うかどうか判定する場合も同様で図１２Ａから図１２Ｃに示す。なお、端末ＡにおいてＨｏＴリングメッセージ及びＣｏＴリングメッセージの転送判定処理を行うためには、端末Ａは端末Ｂ及び端末Ｃに送信するTokenを生成し、Ｋｅｙを生成し、生成されたＫｅｙに基づいて認証コードを生成してリングメッセージに付加する。【０２１７】
以上のように、転送の可否を判定する情報をＨｏＴリングメッセージ、ＣｏＴリングメッセージに付加して送信する。なお、認証コードの元になるDataも併せてＨｏＴリングメッセージ、ＣｏＴリングメッセージに付加して送信する。Dataとして、例えばリングリストなどの情報がある。リングリストとは、転送する順番を示すデータである。【０２１８】
ここで、第３の実施の形態についてより詳細に説明する。すなわち、転送判定情報をリングメッセージに追加する場合について説明する。上述した実施の形態と同様、端末Ａ、端末Ｂ、端末Ｃが存在する場合を考える。端末Ａは端末Ｂに対してバインディングアップデートを行い、端末Ｂも端末Ａに対してバインディングアップデートを行う。同様に、端末Ａは端末Ｃに対してバインディングアップデートを行い、端末Ｃも端末Ａに対してバインディングアップデートを行う。このような状況のとき、端末Ａは気付アドレス（ＣｏＡ）を継続して使用するためには、端末Ｂ及び端末Ｃに対してバインディングアップデートを７分ごとに行わなければならない。そこで、端末Ａは、３端末間で送受信される総メッセージ数を削減するために、グループ間バインディングアップデート処理を開始する。【０２１９】
端末Ａは、端末Ｃに対してバインディングアップデートを行うよう端末Ｂに指示する。端末Ｂは拒否することができる。拒否した場合には、グループ間バインディングアップデートは中止され、端末Ａ、端末Ｂ、端末Ｃの間では従来のＭＩＰによるバインディングアップデートが行われる。端末Ｂが既に端末Ｃとの間にバインディングアップデートを行っている場合には、端末Ｃから端末Ｂに送信された以下に示すCB-Home-Token及びCB-Care-of-Tokenを端末Ａに送信する。【０２２０】
CB-Home Token = SHA1 (B-Home Address, C's secret key, CB-home nonce)
CB-Care-of Token = SHA1 (B-Care-of Address, C's secret key, CB-care-of nonce)【０２２１】
端末Ｂは、CB-Home Token、CB-Care-of Tokenを保持している場合にはその値を端末Ａに送信する。もし、保持していない場合には、端末ＣにＨｏＴＩ及びＣｏＴＩを送信し、CB-Home Token及びCB-Care-of Tokenを取得する。この場合、ＢＵメッセージを送信しなくても構わない。端末Ｂが、新たに端末Ｃに対してＢＵする場合にはＨｏＴＩ及びＣｏＴＩメッセージの送信に引き続き、ＨｏＴ及びＣｏＴメッセージを受信し、ＢＵメッセージを送信する。【０２２２】
端末Ｂは、CB-Home Token及びCB-Care-of Tokenを端末Ａに送信する際、端末ＡのHome AddressあてにCB-Home Tokenを送信し、端末ＡのCare-of AddressあてにCB-Care-of Tokenを送信する。これは端末Ａ以外の端末が両方のTokenを手に入れる可能性をできるだけ排除するためである。また、端末ＢはTokenと併せてnonceも送信する。同様に、端末Ａは端末Ｃに対して端末Ｂにバインディングアップデートを行うように指示する。端末Ｃは、端末Ａに以下に示すBC-Home TokenとBC-Care-of Tokenを送信する。【０２２３】
BC-Home Token = SHA1 (C-Home Address, B's secret key, BC-home nonce)
BC-Care-of Token = SHA1 (C-Care-of Address, B's secret key, BC-care-of nonce)【０２２４】
端末Ａは、端末Ｂ及び端末Ｃに対するバインディングアップデートの指示とは別に、端末Ｂ及び端末Ｃから端末Ａあての以下に示すBA-Home Token、BA-Care-of Token、CA-Home Token、CA-Care-of Tokenを送信させる。既に端末Ａが保持している場合には、その値を用いてよい。もし保持していない場合には、端末Ｂ及び端末ＣにＨｏＴＩ及びＣｏＴＩを送信し、Tokenの値を取得する。この場合ＢＵメッセージの送信を省略してもよい。【０２２５】
BA-Home Token = SHA1 (A-Home Address, B's secret key, BA-home nonce)
BA-Care-of Token = SHA1 (A-Care-of Address, B's secret key, BA-care-of nonce)
CA-Home Token = SHA1 (A-Home Address, C's secret key, CA-home nonce)
CA-Care-of Token = SHA1 (A-Care-of Address, C's secret key, CA-care-of nonce)【０２２６】
また、先に説明した端末Ｂに対する端末Ｃへのバインディングアップデートの指示と併せてもよい。つまり、端末Ａは、端末ＢからCB-Home TokenとBA-Home Tokenの両方を一つのメッセージで端末ＡのHome Addressで受信する。また、端末ＢからCB-Care-of TokenとBA-Care-of Tokenの両方を一つのメッセージで端末ＡのCare-of Addressで受信する。端末ＣからはBC-Home Token、BC-Care-of Token、CA-Home Token、CA-Care-of Tokenを受信する。このときTokenと一緒にnonceも受信する。【０２２７】
さらに、端末Ａは、端末Ｂ及び端末Ｃのホームアドレス、気付アドレスを用いて以下のTokenを生成する。【０２２８】
AB-Home Token = SHA1 (B-Home Address, A's secret key, AB-home nonce)
AB-Care-of Token = SHA1 (B-Care-of Address, A's secret key, AB-care-of nonce)
AC-Home Token = SHA1 (C-Home Address, A's secret key, AC-home nonce)
AC-Care-of Token = SHA1 (C-Care-of Address, A's secret key, AC-care-of nonce)【０２２９】
次に、端末Ａは取得したTokenを用いて鍵データであるＫｅｙを生成する。すなわち、以下に示すＫｅｙを生成する。【０２３０】
CB-Key = SHA1 (CB-Home Token, CB-Care-of Token)
BC-Key = SHA1 (BC-Home Token, BC-Care-of Token)
BA-Key = SHA1 (BA-Home Token, BA-Care-of Token)
CA-Key = SHA1 (CA-Home Token, CA-Care-of Token)
AB-Key = SHA1 (AB-Home Token, AB-Care-of Token)
AC-Key = SHA1 (AC-Home Token, AC-Care-of Token)【０２３１】
そして、端末Ａは生成されたＫｅｙを用いて認証コードであるＭＡＣを生成する。認証コードはDataとＫｅｙより生成され、生成される認証コードを以下に示す。【０２３２】
CB-MAC = SHA1 (CB-Key, Data)
BC-MAC = SHA1 (BC-Key, Data)
BA-MAC = SHA1 (BA-Key, Data)
CA-MAC = SHA1 (CA-Key, Data)
AB-MAC = SHA1 (AB-Key, Data)
AC-MAC = SHA1 (AC-Key, Data)【０２３３】
認証コードの元となるDataは任意のデータでよいが、例えばＨｏＴリングの場合ならばＨｏＴリングメッセージ、ＣｏＴリングメッセージの送信順番を示すデータ（HoT Ring Data、CoT Ring Data）を使用することができる。具体的には以下に示すデータである。【０２３４】
HoＴ Ring Data = (B-Home Address, C-Home Address, A-Home Address)
CoT Ring Data = (Ｃ-Care-of Address, Ｂ-Care-of Address, A-Care-of Address)【０２３５】
以上の認証コード及びnonceは、送信するＨｏＴリングメッセージ、ＣｏＴリングメッセージに付加され、中継する端末がメッセージを転送してよいかどうかの判定を行う際に利用される。【０２３６】
次に、端末Ａは端末Ｂ及び端末Ｃに送信するTokenを生成する。これらのTokenを上述したTokenと区別するためにHoT Ring Token、CoT Ring Tokenと呼ぶ。HoT Ring Token、CoT Ring Tokenを以下に示す。【０２３７】
AB-HoT Ring Token = SHA1 (B-Home Address, A's secret key, AB-HoT ring nonce)
AC-HoT Ring Token = SHA1 (C-Home Address, A's secret key, AC-HoT ring nonce)
AB-CoT Ring Token = SHA1 (B-Care-of Address, A's secret key, AB-CoT ring nonce)
AC-CoT Ring Token = SHA1 (C-Care-of Address, A's secret key, AC-CoT ring nonce)【０２３８】
これらの情報を用いて端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを生成する。ＨｏＴリングメッセージにはRing Tokenに関連する情報のほかにHoT Ring Data、メッセージ認証コードが付加され、以下のような情報が含まれる。【０２３９】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
HoT Ring Data
BC-MAC、BC-home nonce、BC-care-of nonce、C-Care-of Address
CA-MAC、CA-home nonce、CA-care-of nonce、A-Care-of Address
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address【０２４０】
また同様に、ＣｏＴリングメッセージにはRing Tokenに関連する情報のほかに、CoT Ring Data、メッセージ認証コードが付加され、以下のような情報が含まれる。【０２４１】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
CoT Ring Data
CB-MAC、CB-home nonce、CB-care-of nonce、B-Home Address
BA-MAC、BA-home nonce、BA-care-of nonce、A-Home Address
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address【０２４２】
端末Ａは、ＨｏＴリングメッセージを端末ＢのHome Addressあてに送信する。また、ＣｏＴリングメッセージを端末ＣのCare-of Addressあてに送信する。【０２４３】
次に、端末ＢのＨｏＴリング処理について説明する。端末Ｂは、ＨｏＴリングメッセージを受信すると、端末Ｂあての以下に示すRing Tokenを保持する。なお、ＨｏＴリングの処理を開始する前に、端末Ａとの間にバインディングキャッシュが存在するか確認してもよい。【０２４４】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce【０２４５】
端末Ｂは、端末ＣにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末ＢはC-Home Address、C-Care-of Address、BC-home nonce、BC-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。【０２４６】
BC-Home Token = SHA1 (C-Home Address, B's secret key, BC-home nonce)
BC-Care-of Token = SHA1 (C-Care-of Address, B's secret key, BC-care-of nonce)【０２４７】
さらに、端末ＢはこれらのTokenから以下に示すＫｅｙを生成する。【０２４８】
BC-Key = SHA1 (BC-Home Token, BC-Care-of Token)【０２４９】
そして、端末Ｂは生成されＫｅｙと認証コードの元となるHoT Ring Dataを用いて以下に示す認証コードを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。【０２５０】
BC-MAC = SHA1 (BC-Key, HoT Ring Data)【０２５１】
認証コードが正しい場合には、端末Ｂは以下に示すHoT Ring Tokenを生成する。【０２５２】
BC-HoT Ring Token = SHA1 (C-Home Address, B's secret key, BC-HoT ring nonce)
BA-HoT Ring Token = SHA1 (A-Home Address, B's secret key, BA-HoT ring nonce)【０２５３】
そして、端末Ｂは以下の情報をＨｏＴリングメッセージに追加する。【０２５４】
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce【０２５５】
以上の処理により端末Ｂが端末Ｃに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。【０２５６】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce  （端末Ａからの情報）
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce  （端末Ｂが追加）
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂが追加）
HoT Ring Data
CA-MAC、CA-home nonce、CA-care-of nonce、A-Care-of Address  （端末Ａからの情報）
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address  （端末Ａからの情報）【０２５７】
次に、端末ＣのＨｏＴリング処理について説明する。端末Ｃは、ＨｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。【０２５８】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce【０２５９】
端末Ｃは、端末ＡにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末ＣはA-Home Address、A-Care-of Address、CA-home nonce、CA-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。【０２６０】
CA-Home Token = SHA1 (A-Home Address, C's secret key, CA-home nonce)
CA-Care-of Token = SHA1 (A-Care-of Address, C's secret key, CA-care-of nonce)【０２６１】
さらに、端末ＣはこれらのTokenからＫｅｙを生成する。【０２６２】
CA-Key = SHA1 (CA-Home Token, CA-Care-of Token)【０２６３】
そして、端末Ｃは、生成されたＫｅｙと認証コードの元となるHoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。【０２６４】
CA-MAC = SHA1 (CA-Key, HoT Ring Data)【０２６５】
認証コードが正しい場合には、端末Ｃは以下に示すHoT Ring Tokenを生成する。【０２６６】
CA-HoT Ring Token = SHA1 (A-Home Address, C's secret key, CA-HoT ring nonce)
CB-HoT Ring Token = SHA1 (B-Home Address, C's secret key, CB-HoT ring nonce)【０２６７】
そして、端末Ｃは以下の情報をＨｏＴリングメッセージに追加する。【０２６８】
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce【０２６９】
以上の処理により端末Ｃが端末Ａに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。【０２７０】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂからの情報）
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce  （端末Ｃが追加）
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
HoT Ring Data
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address  （端末Ａからの情報）【０２７１】
次に、端末ＡのＨｏＴリング処理について説明する。端末Ａは、ＨｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。【０２７２】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce【０２７３】
端末Ａは、端末ＢにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末ＡはB-Home Address、B-Care-of Address、AB-home nonce、AB-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。【０２７４】
AB-Home Token = SHA1 (B-Home Address, A's secret key, AB-home nonce)
AB-Care-of Token = SHA1 (B-Care-of Address, A's secret key, AB-care-of nonce)【０２７５】
さらに、端末ＡはこれらのTokenからＫｅｙを生成する。【０２７６】
AB-Key = SHA1 (AB-Home Token, AB-Care-of Token)【０２７７】
そして、端末Ａは生成されたＫｅｙと認証コードの元データHoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。【０２７８】
AB-MAC = SHA1 (CA-Key, Data)【０２７９】
以上の処理により端末Ａが端末Ｂに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。【０２８０】
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）【０２８１】
次に、端末ＣのＣｏＴリング処理について説明する。ＨｏＴリング処理をほぼ同じ処理である。端末Ｃは、ＣｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。【０２８２】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce【０２８３】
端末Ｃは、端末ＢにＣｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ｃは、B-Care-of Address、B-Home Address、CB-home nonce、CB-care-of nonceを用いて、以下に示すHome TokenとCare-of Tokenを生成する。【０２８４】
CB-Home Token = SHA1 (B-Home Address, C's secret key, CB-home nonce)
CB-Care-of Token = SHA1 (B-Care-of Address, C's secret key, CB-care-of nonce)【０２８５】
さらに、端末ＣはこれらのTokenからＫｅｙを生成する。【０２８６】
CB-Key = SHA1 (CB-Home Token, CB-Care-of Token)【０２８７】
そして、端末Ｃは、生成されたＫｅｙと認証コードの元となるCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。【０２８８】
CB-MAC = SHA1 (CB-Key, CoT Ring Data)【０２８９】
認証コードが正しい場合には、端末Ｃは以下に示すCoT Ring Tokenを生成する。【０２９０】
CB-CoT Ring Token = SHA1 (B-Care-of Address, C's secret key, CB-CoT ring nonce)
CA-CoT Ring Token = SHA1 (A-Care-of Address, C's secret key, CA-CoT ring nonce)【０２９１】
そして、端末Ｃは以下の情報をＣｏＴリングメッセージに追加する。【０２９２】
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce【０２９３】
以上の処理により端末Ｂが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。【０２９４】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce  （端末Ａからの情報）
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce  （端末Ｃが追加）
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃが追加）
CoT Ring Data
BA-MAC、BA-home nonce、BA-care-of nonce、A-Home Address  （端末Ａからの情報）
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address  （端末Ａからの情報）【０２９５】
次に、端末ＢのＣｏＴリング処理について説明する。端末Ｂは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下の情報を保持する。【０２９６】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce【０２９７】
端末Ｂは、端末ＡにＣｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ｂは、A-Home Address、A-Care-of Address、BA-home nonce、BA-care-of nonceを用いて、以下に示すHome TokenとCare-of Tokenを生成する。【０２９８】
BA-Home Token = SHA1 (A-Home Address, B's secret key, BA-home nonce)
BA-Care-of Token = SHA1 (A-Care-of Address, B's secret key, BA-care-of nonce)【０２９９】
さらに、端末ＢはこれらのTokenからＫｅｙを生成する。【０３００】
BA-Key = SHA1 (BA-Home Token, BA-Care-of Token)【０３０１】
そして、端末Ｂは生成されたＫｅｙと認証コードの元となるCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。【０３０２】
BA-MAC = SHA1 (BA-Key, CoT Ring Data)【０３０３】
認証コードが正しい場合には、端末Ｂは以下に示すCoT Ring Tokenを生成する。【０３０４】
BC-CoT Ring Token = SHA1 (C-Care-of Address, B's secret key, BC-CoT ring nonce)
BA-CoT Ring Token = SHA1 (A-Care-of Address, B's secret key, BA-CoT ring nonce)【０３０５】
そして、端末Ｂは以下の情報をＨｏＴリングメッセージに追加する。【０３０６】
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce【０３０７】
以上の処理により端末Ｂが端末Ａに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。【０３０８】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃからの情報）
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce  （端末Ｂが追加）
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce  （端末Ｂが追加）
CoT Ring Data
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address  （端末Ａからの情報）【０３０９】
次に、端末ＡのＣｏＴリング処理について説明する。端末Ａは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。【０３１０】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce【０３１１】
端末Ａは、端末ＣにＣｏＴリングメッセージを転送するかどうか判定するために、認証コードを確認する。まず、端末Ａは、C-Home Address、C-Care-of Address、AC-home nonce、AC-care-of nonceを用いて、以下に示すHome TokenとCare-of Tokenを生成する。【０３１２】
AC-Home Token = SHA1 (C-Home Address, A's secret key, AC-home nonce)
AC-Care-of Token = SHA1 (C-Care-of Address, A's secret key, AC-care-of nonce)【０３１３】
さらに、端末ＡはこれらのTokenからＫｅｙを生成する。【０３１４】
AC-Key = SHA1 (AC-Home Token, AC-Care-of Token)【０３１５】
そして、端末Ａは生成されたＫｅｙと認証コードの元データCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＣｏＴリングメッセージに付加されていた認証コードと比較する。【０３１６】
AC-MAC = SHA1 (AC-Key, CoT Ring Data)【０３１７】
以上の処理により端末Ａが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。【０３１８】
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce （端末Ｂからの情報）【０３１９】
次に、ＨｏＴリングメッセージ、ＣｏＴリングメッセージの両方を受信した端末の動作について説明する。端末ＢはＨｏＴリングメッセージから以下に示す情報を取得する。【０３２０】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce【０３２１】
また、端末ＢはＣｏＴリングメッセージから以下に示す情報を取得する。【０３２２】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce【０３２３】
端末ＢはこれらのTokenを用いてＫｅｙを生成する。【０３２４】
AB-Key = SHA1 (AB-HoT Ring Token, AB-CoT Ring Token)
CB-Key = SHA1 (CB-HoT Ring Token, CB-CoT Ring Token)【０３２５】
そして、端末ＢはこれらのＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAB-HoT ring nonce、AB-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｂは生成された認証コードなどとともにCB-HoT ring nonce、CB-CoT ring nonceを付加したＢＵメッセージを端末Ｃに送信する。【０３２６】
一方、端末ＣはＨｏＴリングメッセージから以下に示す情報を取得する。【０３２７】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce【０３２８】
また、端末ＣはＣｏＴリングメッセージから以下に示す情報を取得する。【０３２９】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce【０３３０】
端末ＣはこれらのTokenを用いてＫｅｙを生成する。【０３３１】
AC-Key = SHA1 (AC-HoT Ring Token, AC-CoT Ring Token)
BC-Key = SHA1 (BC-HoT Ring Token, BC-CoT Ring Token)【０３３２】
そして、端末ＣはこれらのＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAC-HoT ring nonce、AC-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｃは生成された認証コードなどとともにBC-HoT ring nonce、BC-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。【０３３３】
一方、端末ＡはＨｏＴリングメッセージから以下に示す情報を取得する。【０３３４】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce【０３３５】
また、端末ＡはＣｏＴリングメッセージから以下に示す情報を取得する。【０３３６】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce【０３３７】
端末ＡはこれらのTokenを用いてＫｅｙを生成する。【０３３８】
BA-Key = SHA1 (BA-HoT Ring Token, BA-CoT Ring Token)
CA-Key = SHA1 (CA-HoT Ring Token, CA-CoT Ring Token)【０３３９】
そして、端末ＡはこれらのＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにBA-HoT ring nonce、BA-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。また、端末Ａは生成された認証コードなどとともにCA-HoT ring nonce、CA-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。【０３４０】
なお、端末数が４以上の場合も同様に処理することができる。例えば、端末数が４つの場合には、端末Ａは、端末Ｄに対して、端末Ｂ及び端末Ｃにバインディングアップデートを行うように指示する。また、端末Ｂ及び端末Ｃに対して端末Ｄに対してバインディングアップデートを行うように指示する。そして端末ＡはTokenを収集する。端末Ａは、リングリストを生成し、各端末に送信するTokenを生成するとともに、メッセージ認証コードを生成し、これらの情報を付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージを送信する。【０３４１】
次に、上述したリングバインディングアップデートを開始する側の移動端末について説明する。なお、ここでの移動端末の構成は上述した図２に示す構成と同様であるため図２を用いて説明する。また、ここでは端末Ａを例にとって説明する。すなわち、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合について説明する。まず、端末Ａは、端末Ｂ及び端末Ｃに相互にＢＵをすることを要求するメッセージをメッセージ作成部２０３で作成し、メッセージ送信部２０４より送信する。送信されたメッセージに対する応答メッセージをメッセージ受信部２０６において受信し、応答メッセージに含まれるTokenを転送判定用Ｔｏｋｅｎ保存部２１３に保存する。【０３４２】
端末Ａは、収集したTokenを用いて転送判定用のメッセージ認証コードを生成する際、まず、転送判定用Ｔｏｋｅｎ保存部２１３よりTokenを取得し、Ｋｅｙ生成部２０８において鍵データを作成する。そして、メッセージ認証コード生成部２０９は、Ｒｉｎｇ  Ｄａｔａ作成部２０５よりRing Dataを取得し、Ｋｅｙ生成部２０８により生成された鍵データを用いてメッセージ認証コードを生成する。また、Ｔｏｋｅｎ生成部２０１においてRing Tokenを生成する。Token生成に使用したNonceはＮｏｎｃｅ管理部２０２において管理・保存される。メッセージ作成部２０３は、転送判定用のメッセージ認証コードとRing DataとRing Tokenを付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成し、メッセージ送信部２０４より送信する。【０３４３】
次に、周回したＨｏＴリングメッセージ、ＣｏＴリングメッセージの受信後の処理について説明する。リングメッセージをメッセージ受信部２０６において受信すると、自端末あてのRing TokenをＲｉｎｇ  Ｔｏｋｅｎ保存部２０７に保存する。転送先が残っている場合には、Ｔｏｋｅｎ生成部２０１においてTokenを生成し、Ｋｅｙ生成部２０８において鍵データを作成し、メッセージに付加されているRing Dataを用いてメッセージ認証コード生成部２０９においてメッセージ認証コードを生成する。生成されたメッセージ認証コードと、メッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部２１０において比較し、リングメッセージ転送判定部２１２において転送を行うかどうかを判定する。【０３４４】
ここで、Ｒｉｎｇ  Ｔｏｋｅｎ保存部２０７にHome TokenとCare-of Tokenの両方のTokenが揃った場合は、Ｋｅｙ生成部２０８において鍵データを作成し、メッセージ認証コード生成部２０９においてメッセージデータをもとにメッセージ認証コードを生成する。メッセージ作成部２０３において、生成されたメッセージ認証コードをＢＵメッセージに付加し、メッセージ送信部２０４より送信する。【０３４５】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部２０６において受信すると、Ｔｏｋｅｎ生成部２０１においてTokenを生成し、メッセージ作成部２０３で応答メッセージを作成し、メッセージ送信部２０４から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部２０２において保存・管理する。【０３４６】
また、ＢＵメッセージを受信すると、それに含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部２０１においてHome TokenとCare-of Tokenを生成する。生成したTokenを用いてＫｅｙ生成部２０８において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部２０９においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部２１０において比較し、一致している場合には、バインディングキャッシュ管理部２１１にバインディングキャッシュを登録する。【０３４７】
次に、リングバインディングアップデートに参加する側の移動端末について説明する。なお、ここでの移動端末の構成は上述した図３に示す構成と同様であるため図３を用いて説明する。また、ここでは端末Ｂを例にとって説明する。すなわち、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合の端末Ｂについて説明する。【０３４８】
まず、端末Ｂは端末Ａからの要求に応じて、端末ＣにＨｏＴＩ／ＣｏＴＩを送信し、ＨｏＴ／ＣｏＴを受信する。そして、ＨｏＴ／ＣｏＴに含まれるTokenをそれぞれ端末ＡのＨｏＡ及びＣｏＡあてに送信する。この処理において、端末Ｂは端末Ａからの要求をメッセージ受信部３０７において受信し、メッセージ作成部３０２においてＨｏＴＩ／ＣｏＴＩを作成し、メッセージ送信部３０４より送信する。【０３４９】
端末Ｂは、ＨｏＴ／ＣｏＴを受信すると、端末Ｃに対してはＫｅｙ生成部３０５において鍵データを生成し、メッセージ認証コード生成部３０６においてメッセージ認証コードを生成し、生成されたメッセージ認証コードをＢＵメッセージに付加して送信する。一方、端末Ａに対しては、メッセージ作成部３０２においてＨｏＡ及びＣｏＡあてのTokenを送信するメッセージを作成し、メッセージ送信部３０４より送信する。【０３５０】
その後、端末Ｂが端末ＡからＨｏＴリングメッセージ又はＣｏＴリングメッセージを受信すると、最初に、転送判定用のメッセージ認証コードを確認する。そのために、リングメッセージに含まれる転送先端末のアドレスと、メッセージに含まれるNonce-IDによりＮｏｎｃｅ管理部３０８から取得したNonceを用いてTokenを生成する。生成されたHome TokenとCare-of Tokenを用いて、Ｋｅｙ生成部３０５で鍵データを生成する。【０３５１】
生成された鍵データとメッセージに付加されていたRing Dataを用いて、メッセージ認証コード生成部３０６においてメッセージ認証コードを作成し、メッセージ認証コード比較部３０９においてリングメッセージに付加されていたメッセージ認証コードと作成されたメッセージ認証コードを比較する。メッセージ認証コードが一致した結果を受けて、リングメッセージ転送判定部３１１は転送することを決定する。【０３５２】
Ｒｉｎｇ  Ｔｏｋｅｎ保存部３０１においてリングメッセージに含まれていた自端末あてのRing Tokenを保管する。メッセージ作成部３０１は、Ｔｏｋｅｎ生成部３０３で生成された転送先端末あてのRing Tokenを、転送するリングメッセージに付加する。そしてメッセージ送信部３０４より送信する。【０３５３】
ここで、端末Ｂがリングメッセージを受信し、HoT Ring TokenとCoT Ring Tokenの両方が揃った場合には、ＢＵメッセージを作成するために、Ｋｅｙ生成部３０５で鍵データを作成し、メッセージ認証コード生成部３０６においてメッセージ認証コードを作成し、作成されたメッセージ認証コードをメッセージ作成部３０２においてＢＵメッセージに付加し、メッセージ送信部３０４より送信する。【０３５４】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部３０７において受信すると、Ｔｏｋｅｎ生成部３０３においてTokenを生成し、メッセージ作成部３０２で応答メッセージを作成し、メッセージ送信部３０４から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部３０８において保存・管理する。【０３５５】
また、端末ＢがＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部３０３においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部３０５において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部３０６においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部３０９において比較し、一致している場合には、バインディングキャッシュ管理部３１０にバインディングキャッシュを登録する。【０３５６】
次に、リングバインディングアップデートを開始する側の移動端末の処理フローについて図１３を用いて説明する。図１３に示すように、端末Ａが、端末Ａから端末Ｂと端末ＣにＢＵしていて、逆に端末Ｂと端末Ｃからも端末ＡにＢＵしている状態で、端末Ａは端末Ｂと端末Ｃの間でもお互いにＢＵするように要求し、応答にTokenの値を要求する（ステップＳ１３０１）。端末Ａは、応答があり、Tokenを取得したか否かを判定し（ステップＳ１３０２）、応答がありTokenを取得したと判断した場合、端末Ａは、転送判定用のメッセージ認証コードを生成するために、取得したToken（BC-Token及びCB-Token）を用いて鍵データ（BC-Key及びCB-Key）を生成する（ステップＳ１３０３）。【０３５７】
端末Ａは、端末Ａから端末Ｂ、Ｃに対するＢＵのときに取得したToken（BA-Token及びCA-Token）を用いて鍵データ（BA-Key及びCA-Key）を生成する（ステップＳ１３０４）。なお、Token(BA-TokenまたはCA-Token)がない場合にはＨｏＴＩ、ＣｏＴＩを送信して取得する。端末Ａは、端末Ｂ、Ｃから端末Ａに対するＢＵのときに生成したToken（AB-Token及びAC-Token）を用いて鍵データ（AB-Key及びAC-Key）を生成する（ステップＳ１３０５）。なお、Token(AB-TokenまたはAC-Token)がない場合には作成する。【０３５８】
端末Ａは、端末ＡからＨｏＴリングメッセージ及びＣｏＴリングメッセージを回す順番を示すHoT Ring Data及びCoT Ring Dataを作成する（ステップＳ１３０６）。端末Ａは、生成した鍵データ（BC-Key、CB-Key、BA-Key、CA-Key、AB-Key、AC-Key）、HoT Ring Data、CoT Ring Dataを用いてメッセージ認証コード（BC-MAC、CB-MAC、BA-MAC、CA-MAC、AB-MAC、AC-MAC）を作成する（ステップＳ１３０７）。また、端末Ａは、端末Ｂと端末Ｃに送信するためのRing Token（AB-HoT Ring Token、AC-HoT Ring Token、AB-CoT Ring Token、AC-CoT Ring Token）を生成する（ステップＳ１３０８）。【０３５９】
端末Ａは、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成し、送信し、ＨｏＴリングメッセージ、ＣｏＴリングメッセージが周回して戻ってくるのを待つ（ステップＳ１３０９）。端末Ａは、所定のタイムアウト前にメッセージを受信したか否かを判定する（ステップＳ１３１０）。メッセージを受信した場合、端末Ａは端末Ｂ、Ｃから送信されたRing Tokenを取得し、鍵データを生成し、メッセージ認証コードを作成し、端末Ｂ、ＣにＢＵメッセージを送信する（ステップＳ１３１１）。なお、ステップＳ１３１０において、メッセージを受信しなかった場合、端末Ａは再送回数が所定の値Ｎより小さいのであれば再送する（ステップＳ１３１２）。また、ステップＳ１３０２において、応答を受信せず、Tokenを取得しない場合、端末Ａはリングアップデートを取りやめる（ステップＳ１３１３）。【０３６０】
次に、リングバインディングアップデートに参加する側の移動端末の処理フローについて図１４を用いて説明する。図１４に示すように、例えば、端末Ｂは、ＨｏＴリングメッセージ又はＣｏＴリングメッセージを受信する（ステップＳ１４０１）。端末Ｂは、転送判定用のＭＡＣが正しいか否かを判断し（ステップＳ１４０２）、正しい場合、端末ＢはＨｏＴリングメッセージ及びＣｏＴリングメッセージの両方を受信した場合、Ring Token（HoA、CoA）が揃っているか確認し、揃っている場合に鍵データを作成し、メッセージ認証コードを作成し、ＢＵメッセージを送信する（ステップＳ１４０３）。【０３６１】
端末Ｂは、リングメッセージの転送先あてにRing Tokenを生成する（ステップＳ１４０４）。端末Ｂは、リングメッセージの転送先が残っている場合には、転送先端末に対するRing Tokenを付加してリングメッセージを転送する（ステップＳ１４０５）。なお、ステップＳ１４０２において、転送判定用のＭＡＣが正しくない場合、端末Ｂは転送しないことを決定する。このとき、エラー通知をリングバインディングアップデートの開始端末へ送信してもよい（ステップＳ１４０６）。【０３６２】
＜第４の実施の形態＞
第４の実施の形態について説明する。ここでは、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを継続的に送信する方法について説明する。上記に説明したように、転送の可否を判定する情報をＨｏＴリングメッセージ、ＣｏＴリングメッセージに付加するためには、事前にTokenを収集する処理が必要である。もし、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを送信するたびにToken収集処理を行うとしたら、メッセージ数の削減効果が小さくなってしまう。そのため、ＨｏＴリングメッセージ、ＣｏＴリングメッセージによって、次回の転送判定処理のためのTokenの収集を併せて行う。【０３６３】
端末Ａが送信するＨｏＴリングメッセージは、端末Ａ→端末Ｂ→端末Ｃ→端末Ａ→端末Ｂと流れるが、その際、端末Ｂは端末ＣあてのHome Token及び端末ＡあてのHome TokenをＨｏＴリングメッセージに付加して送信する。端末Ｃは端末ＡあてのHome Token及び端末ＢあてのHome TokenをＨｏＴリングメッセージに付加して送信する。これらのTokenは端末Ａによって回収され、次のＨｏＴリングメッセージの転送判定のための認証コードの生成に利用される。【０３６４】
BC-Home Token = SHA1 (C-HoA, B's secret key, nonce)
BA-Home Token = SHA1 (A-HoA, B's secret key, nonce)
CA-Home Token = SHA1 (A-HoA, C's secret key, nonce)
CB-Home Token = SHA1 (B-HoA, C's secret key, nonce)【０３６５】
一方、ＣｏＴリングメッセージの場合は、端末Ａ→端末Ｃ→端末Ｂ→端末Ａ→端末Ｃと流れる。端末Ｃは、端末ＢあてのCare-of Token及び端末ＡあてのCare-of TokenをＣｏＴに付加し、端末Ｂは、端末ＣあてのCare-of Token及び端末ＡあてのCare-of TokenをＣｏＴに付加する。端末ＡはこれらのTokenを回収する。【０３６６】
CB-Care-of Token = SHA1 (B-CoA, C's secret key, nonce)
CA-Care-of Token = SHA1 (A-CoA, C's secret key, nonce)
BC-Care-of Token = SHA1 (C-CoA, B's secret key, nonce)
BA-Care-of Token = SHA1 (A-CoA, B's secret key, nonce)【０３６７】
この場合もＨｏＴリングメッセージとＣｏＴリングメッセージが逆向きに流れることによって、Home TokenとCare-of Tokenは端末Ａだけが両方回収することが可能となる。このように端末ＡだけがＨｏＴリングメッセージ、ＣｏＴリングメッセージの送信を開始できるのは、最初にＨｏＴリングメッセージ、ＣｏＴリングメッセージを開始するためのTokenを回収した端末であるためである。つまり、端末Ｂ及び端末Ｃは、端末Ａに対してTokenを提供してもよいと判断を行っている。以上より、ＨｏＴリングメッセージ、ＣｏＴリングメッセージにより次回のＨｏＴリングメッセージ、ＣｏＴリングメッセージのためのTokenを回収することによってメッセージ数の削減を可能にする。【０３６８】
ここで、第４の実施の形態についてより詳細に説明する。すなわち、次回のリングメッセージ用の転送判定情報をリングメッセージに追加する場合について説明する。上述した実施の形態と同様、端末Ａ、端末Ｂ、端末Ｃが存在する場合を考える。端末Ａは端末Ｂに対してバインディングアップデートを行い、端末Ｂも端末Ａに対してバインディングアップデートを行う。同様に、端末Ａは端末Ｃに対してバインディングアップデートを行い、端末Ｃも端末Ａに対してバインディングアップデートを行う。このような状況のとき、端末Ａは気付アドレス（ＣｏＡ）を継続して使用するためには、端末Ｂ及び端末Ｃに対してバインディングアップデートを７分ごとに行わなければならない。そこで、端末Ａは、３端末間で送受信される総メッセージ数を削減するために、グループ間バインディングアップデート処理を開始する。【０３６９】
端末Ａは、端末Ｃに対してバインディングアップデートを行うよう、端末Ｂに指示する。端末Ｂは、拒否することができる。拒否した場合には、グループ間バインディングアップデートは中止され、端末Ａ、端末Ｂ、端末Ｃの間では従来のＭＩＰによるバインディングアップデートが行われる。端末Ｂが既に端末Ｃとの間にバインディングアップデートを行っている場合には、その結果として端末Ｃから端末Ｂに送信された以下に示すCB-Home-Token及びCB-Care-of-Tokenを端末Ａに送信する。【０３７０】
CB-Home Token = SHA1 (B-Home Address, C's secret key, CB-home nonce)
CB-Care-of Token = SHA1 (B-Care-of Address, C's secret key, CB-care-of nonce)【０３７１】
端末Ｂが、CB-Home Token、CB-Care-of Tokenを保持している場合は、その値を端末Ａに送信する。もし、保持していない場合は、端末ＣにＨｏＴＩ及びＣｏＴＩを送信し、CB-Home Token及びCB-Care-of Tokenを取得する。この場合、ＢＵメッセージを送信しなくても構わない。端末Ｂが、新たに端末Ｃに対してＢＵする場合には、ＨｏＴＩ及びＣｏＴＩの送信に引き続き、ＨｏＴ及びＣｏＴを受信し、ＢＵメッセージを送信する。【０３７２】
端末Ｂは、CB-Home Token及びCB-Care-of Tokenを端末Ａに送信する際、端末ＡのHome AddressあてにCB-Home Tokenを送信し、端末ＡのCare-of AddressあてにCB-Care-of Tokenを送信する。これは、端末Ａ以外の端末が両方のTokenを手に入れる可能性をできるだけ排除するためである。また、端末ＢはTokenと併せてnonceも送信する。同様に、端末Ａは端末Ｃに対して端末Ｂにバインディングアップデートを行うように指示する。端末Ｃは、端末Ａに以下に示すBC-Home TokenとBC-Care-of Tokenを送信する。【０３７３】
BC-Home Token = SHA1 (C-Home Address, B's secret key, BC-home nonce)
BC-Care-of Token = SHA1 (C-Care-of Address, B's secret key, BC-care-of nonce)【０３７４】
端末Ａは、端末Ｂ及び端末Ｃに対するバインディングアップデートの指示とは別に、端末Ｂ及び端末Ｃから端末Ａあての以下に示すBA-Home Token、BA-Care-of Token、CA-Home Token、CA-Care-of Tokenを送信させる。既に端末Ａが保持している場合には、その値を用いてよい。もし保持していない場合には、端末Ｂ及び端末ＣにＨｏＴＩ及びＣｏＴＩを送信し、Tokenの値を取得する。この場合ＢＵメッセージの送信を省略してもよい。【０３７５】
BA-Home Token = SHA1 (A-Home Address, B's secret key, BA-home nonce)
BA-Care-of Token = SHA1 (A-Care-of Address, B's secret key, BA-care-of nonce)
CA-Home Token = SHA1 (A-Home Address, C's secret key, CA-home nonce)
CA-Care-of Token = SHA1 (A-Care-of Address, C's secret key, CA-care-of nonce)【０３７６】
また、先に説明した端末Ｂに対する端末Ｃへのバインディングアップデートの指示と併せてもよい。つまり、端末Ａは、端末ＢからCB-Home TokenとBA-Home Tokenの両方を一つのメッセージで端末ＡのHome Addressで受信する。また、端末ＢからCB-Care-of TokenとBA-Care-of Tokenの両方を一つのメッセージで端末ＡのCare-of Addressで受信する。端末ＣからはBC-Home Token、BC-Care-of Token、CA-Home Token、CA-Care-of Tokenを受信する。このときTokenと一緒にnonceも受信する。【０３７７】
さらに、端末Ａは、端末Ｂ及び端末Ｃのホームアドレス（Home Address）、気付アドレス（Care-of Address）を用いて以下に示すTokenを生成する。【０３７８】
AB-Home Token = SHA1 (B-Home Address, A's secret key, AB-home nonce)
AB-Care-of Token = SHA1 (B-Care-of Address, A's secret key, AB-care-of nonce)
AC-Home Token = SHA1 (C-Home Address, A's secret key, AC-home nonce)
AC-Care-of Token = SHA1 (C-Care-of Address, A's secret key, AC-care-of nonce)【０３７９】
なお、端末Ａが端末Ｂと端末ＣからTokenを収集する方法として、バインディングアップデートを要求する方法を説明したが、既にTokenを収集している場合には、新たにバインディングアップデートを要求する必要はない。例えば、既にＨｏＴリングメッセージ及びＣｏＴリングメッセージを送信し、Tokenを収集している場合である。【０３８０】
端末Ａは取得したTokenを用いて以下に示すＫｅｙを生成する。【０３８１】
CB-Key = SHA1 (CB-Home Token, CB-Care-of Token)
BC-Key = SHA1 (BC-Home Token, BC-Care-of Token)
BA-Key = SHA1 (BA-Home Token, BA-Care-of Token)
CA-Key = SHA1 (CA-Home Token, CA-Care-of Token)
AB-Key = SHA1 (AB-Home Token, AB-Care-of Token)
AC-Key = SHA1 (AC-Home Token, AC-Care-of Token)【０３８２】
そして、生成されたＫｅｙを用いて認証コードＭＡＣを生成する。認証コードはDataとＫｅｙより生成され、生成される認証コードを以下に示す。【０３８３】
CB-MAC = SHA1 (CB-Key, Data)
BC-MAC = SHA1 (BC-Key, Data)
BA-MAC = SHA1 (BA-Key, Data)
CA-MAC = SHA1 (CA-Key, Data)
AB-MAC = SHA1 (AB-Key, Data)
AC-MAC = SHA1 (AC-Key, Data)【０３８４】
認証コードの元となるDataは任意のデータでよいが、例えばＨｏＴリングの場合ならば、ＨｏＴリングメッセージ、ＣｏＴリングメッセージの送信順番を示すデータ（例えば、以下に示す情報であるHoT Ring Data、CoT Ring Data）を使用することができる。【０３８５】
HoT Ring Data = (B-Home Address, C-Home Address, A-Home Address)
CoT Data = (C-Care-of Address, B-Care-of Address, A-Care-of Address)【０３８６】
以上の認証コード及びnonceは、送信するＨｏＴリングメッセージ、ＣｏＴリングメッセージに付加され、中継する端末がメッセージを転送してよいかどうかの判定を行う際に利用される。【０３８７】
次に、端末Ａは端末Ｂ及び端末Ｃに送信するTokenを生成する。これらのTokenを上述したTokenと区別するために、HoT Ring Token, CoT Ring Tokenと呼び、それらを以下に示す。これらの情報を用いて端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを生成する。【０３８８】
AB-HoT Ring Token = SHA1 (B-Home Address, A's secret key, AB-HoT ring nonce)
AC-HoT Ring Token = SHA1 (C-Home Address, A's secret key, AC-HoT ring nonce)
AB-CoT Ring Token = SHA1 (B-Care-of Address, A's secret key, AB-CoT ring nonce)
AC-CoT Ring Token = SHA1 (C-Care-of Address, A's secret key, AC-CoT ring nonce)【０３８９】
ＨｏＴリングメッセージにはRing Tokenに関連する情報のほかに、HoT Ring Dataやメッセージ認証コードが付加される。すなわち、以下に示すような情報が付加される。【０３９０】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
HoT Ring Data
BC-MAC、BC-home nonce、BC-care-of nonce、C-Care-of Address
CA-MAC、CA-home nonce、CA-care-of nonce、A-Care-of Address
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address【０３９１】
また、同様にＣｏＴリングメッセージにはRing Tokenに関連する情報のほかに、CoT Ring Dataやメッセージ認証コードが付加される。すなわち、以下に示すような情報が付加される。【０３９２】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
CoT Ring Data
CB-MAC、CB-home nonce、CB-care-of nonce、B-Home Address
BA-MAC、BA-home nonce、BA-care-of nonce、A-Home Address
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address【０３９３】
端末Ａは、ＨｏＴリングメッセージを端末ＢのHome Addressあてに送信する。また、ＣｏＴリングメッセージを端末ＣのCare-of Addressあてに送信する。【０３９４】
次に、端末ＢのＨｏＴリング処理について説明する。端末Ｂは、ＨｏＴリングメッセージを受信すると、端末Ｂあての以下に示すようなRing Tokenを保持する。なお、ＨｏＴリングの処理を開始する前に、端末Ａとの間にバインディングキャッシュが存在するか確認してもよい。【０３９５】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce【０３９６】
端末Ｂは、端末ＣにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、C-Home Address、C-Care-of Address、BC-home nonce、BC-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。【０３９７】
BC-Home Token = SHA1 (C-Home Address, B's secret key, BC-home nonce)
BC-Care-of Token = SHA1 (C-Care-of Address, B's secret key, BC-care-of nonce)【０３９８】
さらに、端末ＢはこれらのTokenからＫｅｙを生成する。【０３９９】
BC-Key = SHA1 (BC-Home Token, BC-Care-of Token)【０４００】
そして、端末Ｂは生成されたＫｅｙと認証コードの元となるHoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。【０４０１】
BC-MAC = SHA1 (BC-Key, HoT Ring Data)【０４０２】
認証コードが正しい場合には、端末Ｂは以下に示すHoT Ring Tokenを生成する。【０４０３】
BC-HoT Ring Token = SHA1 (C-Home Address, B's secret key, BC-HoT ring nonce)
BA-HoT Ring Token = SHA1 (A-Home Address, B's secret key, BA-HoT ring nonce)【０４０４】
そして、端末Ｂは以下の情報をＨｏＴリングメッセージに追加する。【０４０５】
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce【０４０６】
さらに、端末Ｂは端末Ａに次のリングメッセージのためのTokenを付加する。すなわち、以下に示すTokenを付加する。【０４０７】
BA-Home Token2 = SHA1 (A-Home Address, B's secret key, BA-home nonce2)
BC-Home Token2 = SHA1 (C-Home Address, B's secret key, BC-home nonce2)【０４０８】
以上の処理により端末Ｂが端末Ｃに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。【０４０９】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce  （端末Ａからの情報）
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce  （端末Ｂが追加）
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂが追加）
HoT Ring Data
CA-MAC、CA-home nonce、CA-care-of nonce、A-Care-of Address  （端末Ａからの情報）
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address  （端末Ａからの情報）
BA-Home Token2、BA-home nonce2、B-Home Address  （端末Ｂが追加）
BC-Home Token2、BC-home nonce2、C-Home Address  （端末Ｂが追加）【０４１０】
次に、端末ＣのＨｏＴリング処理について説明する。端末Ｃは、ＨｏＴリングメッセージを受信すると、端末Ｃあての以下に示すRing Tokenを保持する。【０４１１】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce【０４１２】
端末Ｃは、端末ＡにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ｃは、A-Home Address、A-Care-of Address、CA-home nonce、CA-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。【０４１３】
CA-Home Token = SHA1 (A-Home Address, C's secret key, CA-home nonce)
CA-Care-of Token = SHA1 (A-Care-of Address, C's secret key, CA-care-of nonce)【０４１４】
さらに、端末ＣはこれらのTokenからＫｅｙを生成する。【０４１５】
CA-Key = SHA1 (CA-Home Token, CA-Care-of Token)【０４１６】
そして、端末Ｃは生成されたＫｅｙと認証コードの元となるHoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。【０４１７】
CA-MAC = SHA1 (CA-Key, HoT Ring Data)【０４１８】
認証コードが正しい場合には、端末Ｃは以下に示すHoT Ring Tokenを生成する。【０４１９】
CA-HoT Ring Token = SHA1 (A-Home Address, C's secret key, CA-HoT ring nonce)
CB-HoT Ring Token = SHA1 (B-Home Address, C's secret key, CB-HoT ring nonce)【０４２０】
そして、端末Ｃは以下の情報をＨｏＴリングメッセージに追加する。【０４２１】
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce【０４２２】
さらに、端末Ｃは端末Ａに次のリングメッセージのためのTokenを付加する。すなわち、以下に示すTokenを付加する。【０４２３】
CA-Home Token2 = SHA1 (A-Home Address, C's secret key, CA-home nonce2)
CB-Home Token2 = SHA1 (B-Home Address, C's secret key, CB-home nonce2)【０４２４】
以上の処理により端末Ｃが端末Ａに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。【０４２５】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂからの情報）
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce  （端末Ｃが追加）
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
HoT Ring Data
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address  （端末Ａからの情報）
BA-Home Token2、BA-home nonce2、B-Home Address  （端末Ｂが追加）
BC-Home Token2、BC-home nonce2、C-Home Address  （端末Ｂが追加）
CA-Home Token2、CA-home nonce2、A-Home Address  （端末Ｃが追加）
CB-Home Token2、CB-home nonce2、B-Home Address  （端末Ｃが追加）【０４２６】
次に、端末ＡのＨｏＴリング処理について説明する。端末Ａは、ＨｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下の情報を保持する。【０４２７】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce【０４２８】
端末Ａは、端末ＢにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ａは、B-Home Address、B-Care-of Address、AB-home nonce、AB-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。【０４２９】
AB-Home Token = SHA1 (B-Home Address, A's secret key, AB-home nonce)
AB-Care-of Token = SHA1 (B-Care-of Address, A's secret key, AB-care-of nonce)【０４３０】
さらに、端末ＡはこれらのTokenからＫｅｙを生成する。【０４３１】
AB-Key = SHA1 (AB-Home Token, AB-Care-of Token)【０４３２】
そして、端末Ａは生成されたＫｅｙと認証コードの元データHoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。【０４３３】
AB-MAC = SHA1 (CA-Key, HoT Ring Data)【０４３４】
さらに、端末Ａは、次のリングメッセージのために付加されたTokenを回収する。すなわち、以下に示す情報を回収する。【０４３５】
BA-Home Token2、BA-home nonce2、B-Home Address
BC-Home Token2、BC-home nonce2、C-Home Address
CA-Home Token2、CA-home nonce2、A-Home Address
CB-Home Token2、CB-home nonce2、B-Home Address【０４３６】
なお、AB-Home Token2、AC-Home Token2は、ＨｏＴリングメッセージ、ＣｏＴリングメッセージ送信時に端末Ａが生成する。以上の処理により端末Ａが端末Ｂに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。【０４３７】
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）【０４３８】
次に、端末ＣのＣｏＴリング処理について説明する。ＨｏＴリング処理もほぼ同じ処理である。端末Ｃは、ＣｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。【０４３９】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce【０４４０】
端末Ｃは、端末ＢにＣｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ｃは、B-Care-of Address、B-Home Address、CB-home nonce、CB-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。【０４４１】
CB-Home Token = SHA1 (B-Home Address, C's secret key, CB-home nonce)
CB-Care-of Token = SHA1 (B-Care-of Address, C's secret key, CB-care-of nonce)【０４４２】
さらに、端末ＣはこれらのTokenからＫｅｙを生成する。【０４４３】
CB-Key = SHA1 (CB-Home Token, CB-Care-of Token)【０４４４】
そして、端末Ｃは生成されたＫｅｙと認証コードの元となるCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。【０４４５】
CB-MAC = SHA1 (CB-Key, CoT Ring Data)【０４４６】
認証コードが正しい場合には、端末Ｃは以下に示すCoT Ring Tokenを生成する。【０４４７】
CB-CoT Ring Token = SHA1 (B-Care-of Address, C's secret key, CB-CoT ring nonce)
CA-CoT Ring Token = SHA1 (A-Care-of Address, C's secret key, CA-CoT ring nonce)【０４４８】
そして、端末Ｃは以下の情報をＣｏＴリングメッセージに追加する。【０４４９】
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce【０４５０】
さらに、端末Ｃは端末Ａに次のリングメッセージのためのTokenを付加する。すなわち、以下に示す情報を付加する。【０４５１】
CA-Care-of Token2 = SHA1 (A-Care-of Address, C's secret key, CA-care-of nonce2)
CB-Care-of Token2 = SHA1 (B-Care-of Address, C's secret key, CB-care-of nonce2)【０４５２】
以上の処理により端末Ｂが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。【０４５３】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce  （端末Ａからの情報）
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce  （端末Ｃが追加）
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃが追加）
CoT Ring Data
BA-MAC、BA-home nonce、BA-care-of nonce、A-Home Address  （端末Ａからの情報）
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address  （端末Ａからの情報）
CA-Care-of Token2、CA-care-of nonce2、A-Care-of Address  （端末Ｃが追加）
CB-Care-of Token2、CB-care-of nonce2、B-Care-of Address  （端末Ｃが追加）【０４５４】
次に、端末ＢのＣｏＴリング処理について説明する。端末Ｂは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。【０４５５】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce【０４５６】
端末Ｂは、端末ＡにＣｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ｂは、A-Home Address、A-Care-of Address、BA-home nonce、BA-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。【０４５７】
BA-Home Token = SHA1 (A-Home Address, B's secret key, BA-home nonce)
BA-Care-of Token = SHA1 (A-Care-of Address, B's secret key, BA-care-of nonce)【０４５８】
端末ＢはこれらのTokenからＫｅｙを生成する。【０４５９】
BA-Key = SHA1 (BA-Home Token, BA-Care-of Token)【０４６０】
そして、端末Ｂは生成されたＫｅｙと認証コードの元となるCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。【０４６１】
BA-MAC = SHA1 (BA-Key, CoT Ring Data)【０４６２】
認証コードが正しい場合には、端末Ｂは以下に示すCoT Ring Tokenを生成する。【０４６３】
BC-CoT Ring Token = SHA1 (C-Care-of Address, B's secret key, BC-CoT ring nonce)
BA-CoT Ring Token = SHA1 (A-Care-of Address, B's secret key, BA-CoT ring nonce)【０４６４】
そして、端末Ｂは以下の情報をＨｏＴリングメッセージに追加する。【０４６５】
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce【０４６６】
さらに、端末Ｂは端末Ａに次のリングメッセージのためのTokenを付加する。すなわち、以下に示すTokenを付加する。【０４６７】
BA-Care-of Token2 = SHA1 (A-Care-of Address, B's secret key, BA-care-of nonce2)
BC-Care-of Token2 = SHA1 (C-Care-of Address, B's secret key, BC-care-of nonce2)【０４６８】
以上の処理により端末Ｂが端末Ａに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。【０４６９】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃからの情報）
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce  （端末Ｂが追加）
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce  （端末Ｂが追加）
CoT Ring Data
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address  （端末Ａからの情報）
CA-Care-of Token2、CA-care-of nonce2、A-Care-of Address  （端末Ｃからの情報）
CB-Care-of Token2、CB-care-of nonce2、B-Care-of Address  （端末Ｃからの情報）
BA-Care-of Token2、BA-care-of nonce2、A-Care-of Address  （端末Ｂが追加）
BC-Care-of Token2、BC-care-of nonce2、C-Care-of Address  （端末Ｂが追加）【０４７０】
次に、端末ＡのＣｏＴリング処理について説明する。端末Ａは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。【０４７１】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce【０４７２】
端末Ａは、端末ＣにＣｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ａは、C-Home Address、C-Care-of Address、AC-home nonce、AC-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。【０４７３】
AC-Home Token = SHA1 (C-Home Address, A's secret key, AC-home nonce)
AC-Care-of Token = SHA1 (C-Care-of Address, A's secret key, AC-care-of nonce)【０４７４】
さらに、端末ＡはこれらのTokenからＫｅｙを生成する。【０４７５】
AC-Key = SHA1 (AC-Home Token, AC-Care-of Token)【０４７６】
そして、端末Ａは生成されたＫｅｙと認証コードの元データCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＣｏＴリングメッセージに付加されていた認証コードと比較する。【０４７７】
AC-MAC = SHA1 (AC-Key, CoT Ring Data)【０４７８】
さらに、端末Ａは次のリングメッセージのために付加されたTokenを回収する。すなわち、以下に示すTokenを回収する。【０４７９】
CA-Care-of Token2、CA-care-of nonce2、A-Care-of Address
CB-Care-of Token2、CB-care-of nonce2、B-Care-of Address
BA-Care-of Token2、BA-care-of nonce2、A-Care-of Address
BC-Care-of Token2、BC-care-of nonce2、C-Care-of Address【０４８０】
AB-Care-of Token2、AC-Care-of Token2は、ＨｏＴリングメッセージ、ＣｏＴリングメッセージ送信時に端末Ａが生成する。以上の処理により端末Ａが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。【０４８１】
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce （端末Ｂからの情報）【０４８２】
次に、ＨｏＴリングメッセージ、ＣｏＴリングメッセージの両方を受信した端末の動作を説明する。端末Ｂは、ＨｏＴリングメッセージから以下に示す情報を取得する。【０４８３】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce【０４８４】
また、端末ＢはＣｏＴリングメッセージから以下に示す情報を取得する。【０４８５】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce【０４８６】
端末ＢはこれらのTokenを用いてＫｅｙを生成する。【０４８７】
AB-Key = SHA1 (AB-HoT Ring Token, AB-CoT Ring Token)
CB-Key = SHA1 (CB-HoT Ring Token, CB-CoT Ring Token)【０４８８】
そして、端末ＢはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAB-HoT ring nonce、AB-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｂは、生成された認証コードなどともにCB-HoT ring nonce、CB-CoT ring nonceを付加したＢＵメッセージを端末Ｃに送信する。【０４８９】
一方、端末ＣはＨｏＴリングメッセージから以下の情報を取得する。【０４９０】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce【０４９１】
また、端末ＣはＣｏＴリングメッセージから以下の情報を取得する。【０４９２】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce【０４９３】
端末ＣはこれらのTokenを用いてＫｅｙを生成する。【０４９４】
AC-Key = SHA1 (AC-HoT Ring Token, AC-CoT Ring Token)
BC-Key = SHA1 (BC-HoT Ring Token, BC-CoT Ring Token)【０４９５】
そして、端末ＣはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAC-HoT ring nonce、AC-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｃは、生成された認証コードなどとともにBC-HoT ring nonce、BC-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。【０４９６】
一方、端末ＡはＨｏＴリングメッセージから以下に示す情報を取得する。【０４９７】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce【０４９８】
また、端末ＡはＣｏＴリングメッセージから以下に示す情報を取得する。【０４９９】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce【０５００】
端末ＡはこれらのTokenを用いてＫｅｙを生成する。【０５０１】
BA-Key = SHA1 (BA-HoT Ring Token, BA-CoT Ring Token)
CA-Key = SHA1 (CA-HoT Ring Token, CA-CoT Ring Token)【０５０２】
そして、端末ＡはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにBA-HoT ring nonce、BA-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。また、端末Ａは、生成された認証コードなどとともにCA-HoT ring nonce、CA-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。【０５０３】
なお、端末数が４以上の場合も同様に処理することができる。例えば、端末数が４つの場合には、端末Ａは、端末Ｄに対して、端末Ｂ及び端末Ｃにバインディングアップデートを行うように指示する。また、端末Ｂ及び端末Ｃに対して、端末Ｄにバインディングアップデートを行うように指示する。そして端末ＡはTokenを収集する。端末Ａは、リングリストを生成し、各端末に送信するTokenを生成するとともに、認証コードを生成し、これらの情報を付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージを送信する。【０５０４】
次に、上述したリングバインディングアップデートを開始する側の移動端末について図１５を用いて説明する。ここでは、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合の端末Ａについて説明する。端末Ａでは、端末Ｂ及び端末Ｃに対して相互にＢＵすることを要求するメッセージをメッセージ作成部１５０１で作成し、メッセージ送信部１５０２より送信する。送信されたメッセージに対する応答メッセージをメッセージ受信部１５０３において受信し、応答メッセージに含まれるTokenを転送判定用Ｔｏｋｅｎ保存部１５０４に保存する。【０５０５】
また、端末Ａが収集したTokenを用いて転送判定用のメッセージ認証コードを生成する際、転送判定用Ｔｏｋｅｎ保存部１５０４よりTokenを取得し、Ｋｅｙ生成部１５０５において鍵データを生成する。メッセージ認証コード生成部１５０６は、Ｒｉｎｇ  Ｄａｔａ作成部１５０７よりRing Dataを取得し、Ｋｅｙ生成部１５０５により生成された鍵データを用いてメッセージ認証コードを生成する。【０５０６】
また、Ｔｏｋｅｎ生成部１５０８においてRing Tokenを生成する。Token生成に使用したNonceはＮｏｎｃｅ管理部１５０９において管理・保存される。メッセージ作成部１５０１は、転送判定用のメッセージ認証コードとRing DataとRing Tokenを付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成し、メッセージ送信部１５０２より送信する。【０５０７】
その後、周回したリングメッセージをメッセージ受信部１５０３において受信すると、自端末あてのRing TokenをＲｉｎｇ  Ｔｏｋｅｎ保存部１５１０に保存する。なお、転送先が残っている場合には、Ｔｏｋｅｎ生成部１５０８においてTokenを生成し、Ｋｅｙ生成部１５０５において鍵データを作成し、メッセージに付加されているRing Dataを用いてメッセージ認証コード生成部１５０６においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、メッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部１５１１において比較し、リングメッセージ転送判定部１５１２において転送を行うかどうか判定する。また、リングメッセージに含まれる次回のリングメッセージ用のTokenを転送判定用Ｔｏｋｅｎ保存部１５０４に保存する。【０５０８】
Ｒｉｎｇ  Ｔｏｋｅｎ保存部１５１０にHome TokenとCare-of Tokenの両方のTokenが揃った場合には、Ｋｅｙ生成部１５０５において鍵データを作成し、メッセージ認証コード生成部１５０６においてメッセージデータをもとにメッセージ認証コードを生成する。メッセージ作成部１５０１において、生成されたメッセージ認証コードをＢＵメッセージに付加し、メッセージ送信部１５０２より送信する。【０５０９】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩをメッセージ受信部１５０３において受信すると、Ｔｏｋｅｎ生成部１５０８においてTokenを生成し、メッセージ作成部１５０１で応答メッセージを作成し、メッセージ送信部１５０２から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部１５０９において保存・管理する。【０５１０】
そして、ＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部１５０８においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部１５０５において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部１５０６においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部１５１１において比較し、一致している場合には、バインディングキャッシュ管理部１５１３にバインディングキャッシュを登録する。【０５１１】
次に、リングバインディングアップデートに参加する側の移動端末について図１６を用いて説明する。ここでは、端末Ａが端末Ｂ及び端末Ｃに対してリングバインディングアップデートを行う場合の端末Ｂについて説明する。端末Ｂは、端末Ａからの要求に応じて、端末ＣにＨｏＴＩ／ＣｏＴＩを送信し、ＨｏＴ／ＣｏＴを受信する。そして、ＨｏＴ／ＣｏＴに含まれるTokenをそれぞれ端末ＡのＨｏＡ及びＣｏＡあてに送信する。この処理において、端末Ｂは端末Ａからの要求をメッセージ受信部１６０１において受信すると、メッセージ作成部１６０２においてＨｏＴＩ／ＣｏＴＩを作成し、メッセージ送信部１６０３より送信する。【０５１２】
端末ＢがＨｏＴ／ＣｏＴを受信すると、端末Ｂは、端末Ｃに対してはＫｅｙ生成部１６０４において鍵データを生成し、メッセージ認証コード生成部１６０５においてメッセージ認証コードを作成し、ＢＵメッセージに付加して送信する。一方、端末Ａに対しては、メッセージ作成部１６０２においてＨｏＡ及びＣｏＡあてのTokenを送信するメッセージを作成し、メッセージ送信部１６０３より送信する。【０５１３】
端末Ｂは、端末ＡからＨｏＴリングメッセージ又はＣｏＴリングメッセージを受信すると、最初に、転送判定用のメッセージ認証コードを確認する。そのために、リングメッセージに含まれる転送先端末のアドレスと、メッセージに含まれるNonce-IDを用いてＮｏｎｃｅ管理部１６０６から取得したNonceを用いてTokenを生成する。その生成されたHome TokenとCare-of Tokenを用いて、Ｋｅｙ生成部１６０４で鍵データを生成する。生成された鍵データとメッセージに付加されていたRing Dataを用いて、メッセージ認証コード生成部１６０５においてメッセージ認証コードを作成し、メッセージ認証コード比較部１６０７においてリングメッセージに付加されていたメッセージ認証コードと作成したメッセージ認証コードを比較する。メッセージ認証コードが一致した結果を受けて、リングメッセージ転送判定部１６０８は転送することを決定する。【０５１４】
Ｒｉｎｇ  Ｔｏｋｅｎ保存部１６０９においてリングメッセージに含まれていた自端末あてのRing Tokenを保管する。メッセージ作成部１６０２は、Ｔｏｋｅｎ生成部１６１０で作成された転送先端末あてのRing Tokenと次回のリングメッセージで用いるTokenを、転送するリングメッセージに付加する。そしてメッセージ送信部１６０３より送信する。そして、リングメッセージを受信し、HoT Ring TokenとCoT Ring Tokenの両方が揃った場合には、ＢＵメッセージを作成するために、Ｋｅｙ生成部１６０４で鍵データを作成し、メッセージ認証コード生成部１６０５においてメッセージ認証コードを作成し、作成されたメッセージ認証コードをメッセージ作成部１６０２においてＢＵメッセージに付加し、メッセージ送信部１６０３より送信する。【０５１５】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩをメッセージ受信部１６０１において受信すると、Ｔｏｋｅｎ生成部１６１０においてTokenを生成し、メッセージ作成部１６０２で応答メッセージを作成し、メッセージ送信部１６０３から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部１６０６において保存・管理する。【０５１６】
そして、端末ＢがＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部１６１０においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部１６０４において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部１６０５においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部１６０７において比較し、一致している場合には、バインディングキャッシュ管理部１６１１にバインディングキャッシュを登録する。【０５１７】
次に、リングバインディングアップデートを開始する側の移動端末の処理フローについて図１７を用いて説明する。図１７に示すように、端末Ａはリングメッセージなどにより既にTokenを取得しているか確認する（ステップＳ１７０１）。既に取得している場合、端末Ａは、転送判定用のメッセージ認証コードを生成するために、取得したToken（BC-Token及びCB-Token）を用いて鍵データ（BC-Key及びCB-Key）を生成する（ステップＳ１７０２）。【０５１８】
端末Ａは、端末Ａから端末Ｂ、Ｃに対するＢＵのときに取得したToken（BA-Token及びCA-Token）を用いて鍵データ（BA-Key及びCA-Key）を生成する（ステップＳ１７０３）。なお、Token(BA-TokenまたはCA-Token)がない場合にはＨｏＴＩ、ＣｏＴＩを送信して取得する。端末Ａは、端末Ｂ、Ｃから端末Ａに対するＢＵのときに生成したToken（AB-Token及びAC-Token）を用いて鍵データ（AB-Key及びAC-Key）を生成する（ステップＳ１７０４）。なお、Token(AB-TokenまたはAC-Token)がない場合には作成する。【０５１９】
端末Ａは、端末ＡからＨｏＴリングメッセージ及びＣｏＴリングメッセージを回す順番を示すHoT Ring Data及びCoT Ring Dataを作成する（ステップＳ１７０５）。端末Ａは、生成した鍵データ（BC-Key、CB-Key、BA-Key、CA-Key、AB-Key、AC-Key）、HoT Ring Data、CoT Ring Dataを用いてメッセージ認証コード（BC-MAC、CB-MAC、BA-MAC、CA-MAC、AB-MAC、AC-MAC）を作成する（ステップＳ１７０６）。また、端末Ａは、端末Ｂと端末Ｃに送信するためのRing Token（AB-HoT Ring Token、AC-HoT Ring Token、AB-CoT Ring Token、AC-CoT Ring Token）を生成する（ステップＳ１７０７）。【０５２０】
端末Ａは、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成し、送信し、ＨｏＴリングメッセージ、ＣｏＴリングメッセージが周回して戻ってくるのを待つ（ステップＳ１７０８）。端末Ａは、所定のタイムアウト前にメッセージを受信したか否かを判定する（ステップＳ１７０９）。メッセージを受信した場合、端末Ａは端末Ｂ、Ｃから送信されたRing Tokenを取得し、鍵データを生成し、メッセージ認証コードを作成し、端末Ｂ、ＣにＢＵメッセージを送信する（ステップＳ１７１０）。端末Ａは、次回のＨｏＴリングメッセージ、ＣｏＴリングメッセージの転送判定用情報作成のためのTokenを回収し、次の端末に転送する（ステップＳ１７１１）。なお、ステップＳ１７０９において、メッセージを受信しなかった場合、端末Ａは再送回数が所定の値Ｎより小さいのであれば再送する（ステップＳ１７１２）。【０５２１】
また、ステップＳ１７０１において、Tokenを取得しない場合、端末Ａから端末Ｂ、ＣにＢＵしていて、逆に端末Ｂ、Ｃからも端末ＡにＢＵしている状態で、端末Ａは端末Ｂと端末Ｃの間でもお互いにＢＵするよう要求し、応答にTokenの値を要求する（ステップＳ１７１３）。端末Ａは、応答があり、Tokenを取得したか否かを判定し（ステップＳ１７１４）、応答がありTokenを取得したと判断した場合、ステップＳ１７０２へ進み、Tokenを取得していないと判断した場合、リングアップデートを取りやめる（ステップＳ１７１５）。【０５２２】
次に、リングバインディングアップデートに参加する側の移動端末の処理フローについて図１８を用いて説明する。図１８に示すように、例えば、端末Ｂは、ＨｏＴリングメッセージ又はＣｏＴリングメッセージを受信する（ステップＳ１８０１）。端末Ｂは、転送判定用のＭＡＣが正しいか否かを判断し（ステップＳ１８０２）、正しい場合、端末ＢはＨｏＴリングメッセージ及びＣｏＴリングメッセージの両方を受信した場合、Ring Token（HoA、CoA）が揃っているか確認し、揃っている場合に鍵データを作成し、メッセージ認証コードを作成し、ＢＵメッセージを送信する（ステップＳ１８０３）。【０５２３】
端末Ｂは、リングメッセージの転送先あてにRing Tokenを生成する（ステップＳ１８０４）。端末Ｂは、次のリングメッセージのためのTokenをリングバインディングアップデートの開始端末あてに生成する（ステップＳ１８０５）。端末Ｂは、リングメッセージの転送先が残っている場合には、Ring Token及び次のリングメッセージ用のTokenを付加してリングメッセージを転送する（ステップＳ１８０６）。なお、ステップＳ１８０２において、転送判定用のＭＡＣが正しくない場合、端末Ｂは転送しないことを決定し、エラー通知をリングバインディングアップデートの開始端末へ送信する（ステップＳ１８０７）。【０５２４】
なお、ここでは、端末Ａがリングメッセージを送信する相手端末を決定する場合について説明したが、ネットワークの中に存在するサーバが決定してもよい。例えば、サーバがリングメッセージを周回させるメンバーを決め、所定の端末にリングメッセージを送信するように指示を出してもよい。また、端末上で動作するグループ通信用のアプリケーションが、リングメッセージを周回させる端末メンバーを決定し、リングバインディングアップデートを開始するように指示を出してもよい。【０５２５】
なお、上記の本発明の各実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるＬＳＩ（Large Scale Integration）として実現される。これらは個別に１チップ化されてもよいし、一部又はすべてを含むように１チップ化されてもよい。なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
【産業上の利用可能性】
【０５２６】
本発明に係るバインディング更新方法及びその方法で用いられる移動端末は、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できるため、バインディングアップデートにより経路の最適化がなされた通信端末間のバインディングを更新するバインディング更新方法及びその方法で用いられる移動端末などに有用である。
【図１Ａ】
2009087738.tif 000003
【図１Ｂ】
2009087738.tif 000004
【図１Ｃ】
2009087738.tif 000005
【図１Ｄ】
2009087738.tif 000006
【図２】
2009087738.tif 000007
【図３】
2009087738.tif 000008
【図４】
2009087738.tif 000009
【図５】
2009087738.tif 000010
【図６Ａ】
2009087738.tif 000011
【図６Ｂ】
2009087738.tif 000012
【図６Ｃ】
2009087738.tif 000013
【図６Ｄ】
2009087738.tif 000014
【図７Ａ】
2009087738.tif 000015
【図７Ｂ】
2009087738.tif 000016
【図７Ｃ】
2009087738.tif 000017
【図８】
2009087738.tif 000018
【図９Ａ】
2009087738.tif 000019
【図９Ｂ】
2009087738.tif 000020
【図１０Ａ】
2009087738.tif 000021
【図１０Ｂ】
2009087738.tif 000022
【図１１Ａ】
2009087738.tif 000023
【図１１Ｂ】
2009087738.tif 000024
【図１１Ｃ】
2009087738.tif 000025
【図１２Ａ】
2009087738.tif 000026
【図１２Ｂ】
2009087738.tif 000027
【図１２Ｃ】
2009087738.tif 000028
【図１３】
2009087738.tif 000029
【図１４】
2009087738.tif 000030
【図１５】
2009087738.tif 000031
【図１６】
2009087738.tif 000032
【図１７】
2009087738.tif 000033
【図１８】
2009087738.tif 000034
【図１９Ａ】
2009087738.tif 000035
【図１９Ｂ】
2009087738.tif 000036
【図１９Ｃ】
2009087738.tif 000037
【手続補正書】
【提出日】平成22年7月5日(2010.7.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法であって、
前記複数の移動端末のうちの所定の移動端末が、他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを、所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信するステップと、
前記第１、第２のメッセージを受信した移動端末が、前記第１、第２のメッセージに含まれる自身あての所定の情報を取得するとともに、前記自身以外の移動端末それぞれに応じた所定の情報を前記第１、第２のメッセージに付加し、前記所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信するステップと、
自身あての前記所定の情報をすべて取得した移動端末が、取得した前記所定の情報に基づいて他の移動端末ごとの認証情報を生成し、生成された前記認証情報を含む第３のメッセージを前記他の移動端末ごとに生成して送信するステップと、
前記第３のメッセージを受信した移動端末が、前記第３のメッセージに含まれる前記認証情報が正当である場合に前記バインディング情報を更新するステップとを、
有するバインディング更新方法。
【請求項２】
前記所定のメッセージ送信順序は、前記第１のメッセージが送信される送信順序と前記第２のメッセージが送信される送信順序が異なる請求項１に記載のバインディング更新方法。
【請求項３】
前記所定の移動端末は、前記所定の移動端末以外の移動端末における所定の情報に基づいて、メッセージの転送判定用認証情報を前記移動端末ごとに生成し、生成された前記転送判定用認証情報を前記第１、第２のメッセージに付加して送信する請求項２に記載のバインディング更新方法。
【請求項４】
前記第１、第２のメッセージを受信した移動端末は、次回のバインディング更新における前記第１、第２のメッセージの送信の際に用いられる所定の情報を、前記第１、第２のメッセージに付加する請求項３に記載のバインディング更新方法。
【請求項５】
複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる移動端末であって、
他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを生成するメッセージ生成手段と、
生成された前記第１、第２のメッセージを所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信する送信手段と、
前記複数の移動端末間を周回した前記第１、第２のメッセージを受信する受信手段と、
受信された前記第１、第２のメッセージに付加された前記自身あての所定の情報を取得する取得手段と、
取得された前記所定の情報に基づいて前記自身以外の移動端末ごとの認証情報を生成する認証情報生成手段と、
前記自身以外の移動端末から送信された認証情報を含むメッセージを前記受信手段を介して受信した場合に、受信された前記認証情報が正当か否かを判断する判断手段と、
正当であると判断された場合に前記バインディング情報を更新する更新手段とを備え、
前記メッセージ生成手段によって生成された前記認証情報を含むメッセージを前記自身以外の移動端末に前記送信手段を介して送信する移動端末。
【請求項６】
前記所定のメッセージ送信順序は、前記第１のメッセージが送信される送信順序と前記第２のメッセージが送信される送信順序が異なる請求項５に記載の移動端末。
【請求項７】
前記認証情報生成手段は、前記自身以外の移動端末における所定の情報に基づいて、メッセージの転送判定用認証情報を前記移動端末ごとに生成し、生成された前記転送判定用認証情報を前記第１、第２のメッセージに付加し、
前記送信手段は、前記転送判定用認証情報が付加された前記第１、第２のメッセージを送信する請求項６に記載の移動端末。
【請求項８】
複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる移動端末であって、
前記複数の移動端末のうちの所定の移動端末によって送信されたメッセージであって、前記所定の移動端末以外の他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを受信する受信手段と、
受信された前記第１、第２のメッセージに含まれる自身あての所定の情報を取得する取得手段と、
前記自身以外の移動端末それぞれに応じた所定の情報を前記第１、第２のメッセージに付加する付加手段と、
前記所定の情報が付加された前記第１、第２のメッセージを他の移動端末へ送信する送信手段と、
前記自身あての前記所定の情報をすべて取得した場合に、取得した前記所定の情報に基づいて他の移動端末ごとの認証情報を生成する認証情報生成手段と、
生成された前記認証情報を含むメッセージを前記他の移動端末ごとに生成するメッセージ生成手段と、
前記自身以外の移動端末から送信された認証情報を含むメッセージを前記受信手段を介して受信した場合に、受信された前記認証情報が正当か否かを判断する判断手段と、
正当であると判断された場合に前記バインディング情報を更新する更新手段とを備え、
前記メッセージ生成手段によって生成された前記メッセージを前記他の移動端末ごとに送信する移動端末。
【請求項９】
前記受信手段を介して前記第１、第２のメッセージを受信した場合、
前記付加手段は、次回のバインディング更新における前記第１、第２のメッセージの送信の際に用いられる所定の情報を、前記第１、第２のメッセージに付加する請求項８に記載の移動端末。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バインディングアップデートにより経路の最適化がなされた通信端末間のバインディングを更新するバインディング更新方法及びその方法で用いられる移動端末に関する。
【背景技術】
【０００２】
従来から、通信装置が移動しても移動前と同じＩＰアドレスを使い続けることができる技術としてモバイルＩＰが存在する。モバイルＩＰでは、ホームエージェント（home agent）が移動通信装置（mobile node）のホームアドレス（home address）あてのパケットを受信し、移動通信装置の気付アドレス（ＣｏＡ：Care-of Address）に転送する。このため、移動通信装置は移動に伴うアドレス変更によらず、ホームアドレスを用いた通信を継続できる。
【０００３】
また、パケットがホームエージェントを経由することによって移動通信装置と通信相手装置（ＣＮ：Correspondent Node）の通信経路が遠回りになることを改善するために、移動通信装置と通信相手装置の通信経路を直接結ぶ経路最適化（Route Optimization）技術が存在する。この経路最適化技術は、通信相手装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させることによって、気付アドレスを用いて通信することを特徴とする。この通信相手装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させる処理は、バインディング更新処理（ＢＵ：Binding Update）と呼ばれている。
【０００４】
通信相手装置に対するバインディング更新処理では、ホームエージェントに対するバインディング更新処理とは異なり、バインディング更新前処理（ＲＲ：Return Routability Procedure）を必要としている。ホームエージェントと移動通信装置との間では、信頼関係をあらかじめ築いておくことができるため、このバインディング更新前処理を必要としない。ホームエージェントに対するバインディング更新処理においては、移動通信装置がホームエージェントにホームアドレスに対する新しい気付アドレスを通知したとき、ホームエージェントは、事前に確立しておいた信頼関係（ＩＰｓｅｃ ＳＡなど）によって移動通信装置からのバインディング更新要求であることを確認することができる。
【０００５】
一方、通信相手装置の場合、すべての通信相手となる可能性のある通信装置に対して、あらかじめバインディング更新処理を行う前に、移動通信装置と通信相手装置との間に信頼関係を確立しておくことは困難である。もし、信頼関係がない状態で通信相手装置がバインディング更新の要求に従ってしまうならば、移動通信装置に成りすました攻撃が容易になる。そして、攻撃者が通信相手装置にバインディング更新処理を行うと、移動通信装置へのパケットを不正な気付アドレスに転送させることが可能になる。これを防ぐ技術がバインディング更新前処理である。
【０００６】
具体的には、バインディング更新前処理では、ホームアドレステスト処理（Home Test）、気付アドレステスト処理（Care-of Test）を行う。これらの処理の結果をバインディング更新処理に反映させることによって、不正なバインディング更新処理を防いでいる。なお、従来技術として説明した、モバイルＩＰ、経路最適化、バインディング更新前処理については、後述する非特許文献１に記載されている。また、バインディング更新前処理の設計思想については、後述する非特許文献２に記載されている。
【０００７】
バインディング更新前処理についてもう少し詳しく説明する。ホームアドレステスト処理では、移動通信装置はＨｏＴＩ（Home Test Init）メッセージを通信相手装置に送信し、通信相手装置はＨｏＴ（Home Test）メッセージを返す。また、気付アドレステスト処理では、移動通信装置はＣｏＴＩ(Care-of Test Init)メッセージを通信相手装置に送信し、通信相手装置はＣｏＴ(Care-of Test)メッセージを返す。
【０００８】
移動通信装置は、通信相手装置から応答として返されたＨｏＴメッセージ及びＣｏＴメッセージに含まれるHome Keygen token（Home token）、Care-of keygen token（Care-of token）をもとに鍵を生成し、その鍵でバインディング更新（ＢＵ）メッセージのメッセージ認証コード（ＭＡＣ：Message Authentication Code）を計算し、ＢＵメッセージに付加して送信する。
【０００９】
ＢＵメッセージを受信した通信相手装置は、メッセージ認証コードを確認することによって、移動通信装置から送信された正当なＢＵメッセージであると判断する。バインディング更新前処理の設計思想を説明している非特許文献２によると、このバインディング更新前処理は、通信相手装置がState（状態）を持つ必要がないように設計されている。つまり、ＨｏＴＩメッセージを受信したことがあるかどうか、ＣｏＴＩメッセージを受信したことがあるかどうかを、通信相手装置は記憶しておかなくてもＢＵメッセージの認証処理を行うことができる。
【００１０】
これは、攻撃者がＨｏＴＩメッセージやＣｏＴＩメッセージを用いて通信相手装置に対してＤｏＳ攻撃（Denial of Service Attack）を行った場合に、通信相手装置の被害を小さくするためである。また、ＨｏＴＩメッセージに対してＨｏＴメッセージを返す、ＣｏＴＩメッセージに対してＣｏＴメッセージを返す、というように１つの要求メッセージに対して１つの応答メッセージを返すようにしているのは、メッセージの増加（Amplification）を行わないようにするためである。これは、要求メッセージを１つ送ったときに、複数の応答メッセージを返す仕組みにした場合、攻撃者は１つのメッセージを送ることによって、複数のターゲットを攻撃することが可能になるためである。
【非特許文献１】“Mobility Support in IPv6”，RFC3775
【非特許文献２】“Mobile IP Version 6 Route Optimization Security Design Background”,RFC4225
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記従来技術のＭＩＰｖ６では多数の移動端末が相互にバインディングアップデートを行っている状況のときであっても、移動端末はそれぞれ独立にバインディングアップデートを行わなければならなかった。そのため、各移動端末はそれぞれが定期的（７分ごと）に多くのメッセージを送受信しなければならず、バッテリーを消費してしまうという問題があった。すなわち、図１９Ａ〜図１９Ｃに示すように、それぞれの移動端末が相互に定期的にバインディングアップデートを行うことにより、多数のメッセージの送受信をしなければならず、バッテリーを消費してしまう。
【００１２】
本発明は、上記の問題点に鑑み、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できるバインディング更新方法及びその方法で用いられる移動端末を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明によれば、複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法であって、前記複数の移動端末のうちの所定の移動端末が、他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを、所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信するステップと、前記第１、第２のメッセージを受信した移動端末が、前記第１、第２のメッセージに含まれる自身あての所定の情報を取得するとともに、前記自身以外の移動端末それぞれに応じた所定の情報を前記第１、第２のメッセージに付加し、前記所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信するステップと、自身あての前記所定の情報をすべて取得した移動端末が、取得した前記所定の情報に基づいて他の移動端末ごとの認証情報を生成し、生成された前記認証情報を含む第３のメッセージを前記他の移動端末ごとに生成して送信するステップと、前記第３のメッセージを受信した移動端末が、前記第３のメッセージに含まれる前記認証情報が正当である場合に前記バインディング情報を更新するステップとを、有するバインディング更新方法が提供される。この構成により、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できる。なお、正当とは、後述するようにメッセージ認証コードを比較し、一致していることを言う。
【００１４】
また、本発明のバインディング更新方法において、前記所定のメッセージ送信順序が、前記第１のメッセージが送信される送信順序と前記第２のメッセージが送信される送信順序が異なることは、本発明の好ましい態様である。この構成により、ある移動端末あてのToken情報のすべてが他の移動端末に揃うことを防止することができる。
【００１５】
また、本発明のバインディング更新方法において、前記所定の移動端末が、前記所定の移動端末以外の移動端末における所定の情報に基づいて、メッセージの転送判定用認証情報を前記移動端末ごとに生成し、生成された前記転送判定用認証情報を前記第１、第２のメッセージに付加して送信することは、本発明の好ましい態様である。この構成により、確実に転送判定を行うことができる。
【００１６】
また、本発明のバインディング更新方法において、前記第１、第２のメッセージを受信した移動端末が、次回のバインディング更新における前記第１、第２のメッセージの送信の際に用いられる所定の情報を、前記第１、第２のメッセージに付加することは、本発明の好ましい態様である。この構成により、バインディング更新をするたびに情報を収集する必要がなく、メッセージ数を削減することができる。
【００１７】
また、本発明によれば、複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる移動端末であって、他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを生成するメッセージ生成手段と、生成された前記第１、第２のメッセージを所定のメッセージ送信順序に基づいて次の送信先の移動端末へ送信する送信手段と、前記複数の移動端末間を周回した前記第１、第２のメッセージを受信する受信手段と、受信された前記第１、第２のメッセージに付加された前記自身あての所定の情報を取得する取得手段と、取得された前記所定の情報に基づいて前記自身以外の移動端末ごとの認証情報を生成する認証情報生成手段と、前記自身以外の移動端末から送信された認証情報を含むメッセージを前記受信手段を介して受信した場合に、受信された前記認証情報が正当か否かを判断する判断手段と、正当であると判断された場合に前記バインディング情報を更新する更新手段とを備え、前記メッセージ生成手段によって生成された前記認証情報を含むメッセージを前記自身以外の移動端末に前記送信手段を介して送信する移動端末が提供される。この構成により、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できる。
【００１８】
また、本発明の移動端末において、前記所定のメッセージ送信順序が、前記第１のメッセージが送信される送信順序と前記第２のメッセージが送信される送信順序が異なることは、本発明の好ましい態様である。この構成により、ある移動端末あてのToken情報のすべてが他の移動端末に揃うことを防止することができる。
【００１９】
また、本発明の移動端末において、前記認証情報生成手段が、前記自身以外の移動端末における所定の情報に基づいて、メッセージの転送判定用認証情報を前記移動端末ごとに生成し、生成された前記転送判定用認証情報を前記第１、第２のメッセージに付加し、前記送信手段が、前記転送判定用認証情報が付加された前記第１、第２のメッセージを送信することは、本発明の好ましい態様である。この構成により、確実に転送判定を行うことができる。
【００２０】
また、本発明によれば、複数の移動端末が用いられる通信網における前記複数の移動端末中の２つの移動端末間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる移動端末であって、前記複数の移動端末のうちの所定の移動端末によって送信されたメッセージであって、前記所定の移動端末以外の他の移動端末それぞれに応じた所定の情報を含む第１のメッセージ及び第２のメッセージを受信する受信手段と、受信された前記第１、第２のメッセージに含まれる自身あての所定の情報を取得する取得手段と、前記自身以外の移動端末それぞれに応じた所定の情報を前記第１、第２のメッセージに付加する付加手段と、前記所定の情報が付加された前記第１、第２のメッセージを他の移動端末へ送信する送信手段と、前記自身あての前記所定の情報をすべて取得した場合に、取得した前記所定の情報に基づいて他の移動端末ごとの認証情報を生成する認証情報生成手段と、生成された前記認証情報を含むメッセージを前記他の移動端末ごとに生成するメッセージ生成手段と、前記自身以外の移動端末から送信された認証情報を含むメッセージを前記受信手段を介して受信した場合に、受信された前記認証情報が正当か否かを判断する判断手段と、正当であると判断された場合に前記バインディング情報を更新する更新手段とを備え、前記メッセージ生成手段によって生成された前記メッセージを前記他の移動端末ごとに送信する移動端末が提供される。この構成により、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できる。
【００２１】
また、本発明の移動端末において、前記受信手段を介して前記第１、第２のメッセージを受信した場合、前記付加手段が、次回のバインディング更新における前記第１、第２のメッセージの送信の際に用いられる所定の情報を、前記第１、第２のメッセージに付加することは、本発明の好ましい態様である。この構成により、バインディング更新をするたびに情報を収集する必要がなく、メッセージ数の削減をすることができる。
【発明の効果】
【００２２】
本発明のバインディング更新方法及びその方法で用いられる移動端末は、上記構成を有し、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できる。
【発明を実施するための最良の形態】
【００２３】
＜第１の実施の形態＞
以下では、第１の実施の形態について説明する。ここでは、従来であれば直接通信相手に送信していたＨｏＴ及びＣｏＴを一度他の端末に中継させ、中継端末から目的地端末に送信させるよう構成した。なお、本実施の形態を説明する際、端末数が３つの場合について説明するがこれに限られるものではない。
【００２４】
中継端末は、転送する際に自身が送信すべきＨｏＴメッセージ（単にＨｏＴとも言う）及びＣｏＴメッセージ（単にＣｏＴとも言う）も合わせて送信する。これにより、図１Ｄ（上段がＨｏＴ、中段がＣｏＴ、下段がＢＵを示す）に示すようにメッセージ数を削減することができる。なお、図１Ａは３つの端末Ａ、Ｂ、ＣがそれぞれＢＵを行った場合を示す図であり、図１Ｂは図１Ａのメッセージを分割した場合を示す図であり、図１Ｃは図１Ｂの分割されたメッセージを並び替えた場合を示す図である。
【００２５】
端末Ａから送信されたＨｏＴには情報Ａｂ１とＡｃ１が含まれており、そのＨｏＴは端末Ｂに届く。その際、端末Ｂは情報Ａｂ１を受け取り、新たに情報Ｂｃ１とＢａ１をＨｏＴに付加して端末Ｃに送信する。端末Ｃは、ＨｏＴを受信すると、ＨｏＴから情報Ａｃ１とＢｃ１を受け取り、新たに情報Ｃａ１とＣｂ１をＨｏＴに付加して端末Ａに送信する。端末Ａは、ＨｏＴを受信すると、ＨｏＴから情報Ｂａ１とＣａ１を受け取り、端末Ｂに転送し、端末Ｂは情報Ｃｂ１を受け取る。このようにすることにより、従来ならば６個のＨｏＴが必要だったところを４個のメッセージに減らすことができる。
【００２６】
同様に、端末Ａから送信されたＣｏＴには情報Ａｂ２とＡｃ２が含まれており、そのＣｏＴは端末Ｂに届く。その際、端末Ｂは情報Ａｂ２を受け取り、新たに情報Ｂｃ２とＢａ２をＣｏＴに付加して端末Ｃに送信する。端末Ｃは、ＣｏＴを受信すると、ＣｏＴから情報Ａｃ２とＢｃ２を受け取り、新たに情報Ｃａ２とＣｂ２をＣｏＴに付加して端末Ａに送信する。端末Ａは、周回してきたＣｏＴを受信すると、ＣｏＴから情報Ｂａ２とＣａ２を受け取り、ＣｏＴを端末Ｂに転送する。端末Ｂは、ＣｏＴから情報Ｃｂ２を受け取る。ＨｏＴとＣｏＴを受信したことにより、各端末は揃ったHome TokenとCare-of Tokenにより鍵データを生成し、ＢＵを送信することができる。以降、ある端末（ここでは端末Ａ）が送信し、他端末（ここでは端末Ｂ、端末Ｃ）を経由して必要なＨｏＴＩ／ＨｏＴ処理を順次実施する中継経路を転送するメッセージをＨｏＴリングまたはＨｏＴリングメッセージとよぶ。また、ある端末（ここでは端末Ａ）が送信し、他端末（ここでは端末Ｂ、端末Ｃ）を経由して必要なＣｏＴＩ／ＣｏＴ処理を順次実施する中継経路を転送するメッセージをＣｏＴリングまたはＣｏＴリングメッセージとよぶ。
【００２７】
以上のような方法によって、ＨｏＴメッセージ、ＣｏＴメッセージの数を削減することが可能となる。ちなみに、ＨｏＴメッセージとＣｏＴメッセージを合わせて一つのメッセージにしない理由は、ＨｏＴメッセージは各端末のＨｏＡへの到達確認を行うメッセージであり、ＣｏＴメッセージは各端末のＣｏＡへの到達確認を行うメッセージであるためである。
【００２８】
ここで、第１の実施の形態についてより詳細に説明する。すなわち、ＨｏＴリングメッセージとＣｏＴリングメッセージを同じ向きに回す場合について説明する。まず、端末ＡのＨｏＴリング及びＣｏＴリングの開始について説明する。端末Ａ、端末Ｂ、端末Ｃが存在し、端末Ａは端末Ｂに対してバインディングアップデートを行い、端末Ｂも端末Ａに対してバインディングアップデートを行う。同様に、端末Ａは端末Ｃに対してバインディングアップデートを行い、端末Ｃも端末Ａに対してバインディングアップデートを行う。
【００２９】
このような状況のとき、端末Ａは気付アドレス（ＣｏＡ）を継続して使用するためには、端末Ｂ及び端末Ｃに対してバインディングアップデートを７分ごとに行わなければならない。そこで、端末Ａは、３端末間で送受信される総メッセージ数を削減するために、本発明によるバインディング更新処理（グループ間バインディングアップデート処理、リングバインディングアップデート処理などともよぶ）を開始する。端末Ａは、端末Ｂから端末Ｃの方向（端末Ａ→端末Ｂ→端末Ｃ）に周回させるＨｏＴリングメッセージ、および同じ方向に周回させるＣｏＴリングメッセージを送信することを決め、以下に示すRing Dataを作成する。このRing Dataはそれぞれのリングメッセージに付加され、受信した端末は次に送信する端末を知ることができる。また、リングメッセージに付加するTokenを決めることができる。
【００３０】
HoT Ring Data = (B-Home Address, C-Home Address, A-Home Address)
CoT Ring Data = (B-Care-of Address, C-Care-of Address, A-Care-of Address)
【００３１】
また、端末Ａは端末Ｂ及び端末Ｃに送信するTokenを生成する。これらのTokenをHoT Ring Token、CoT Ring Tokenと呼ぶことにする。なお、Token生成アルゴリズム（ここではSHA1とした）ならびに生成に必要な情報は、異なるアルゴリズムや異なる情報を用いるものであってもよい。
【００３２】
AB-HoT Ring Token = SHA1 (B-Home Address, A's secret key, AB-HoT ring nonce)
AC-HoT Ring Token = SHA1 (C-Home Address, A's secret key, AC-HoT ring nonce)
AB-CoT Ring Token = SHA1 (B-Care-of Address, A's secret key, AB-CoT ring nonce)
AC-CoT Ring Token = SHA1 (C-Care-of Address, A's secret key, AC-CoT ring nonce)
【００３３】
これらの情報を用いて端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを生成する。ＨｏＴリングメッセージには次の情報が付加される。すなわち、B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce、C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce、HoT Ring Dataが付加される。また同様に、ＣｏＴリングメッセージには次の情報が付加される。すなわち、B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce、C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce、CoT Ring Dataが付加される。端末Ａは、ＨｏＴリングメッセージを端末ＢのHome Addressあてに送信し、ＣｏＴリングメッセージを端末ＢのCare-of Addressあてに送信する。
【００３４】
次に、端末ＢのＨｏＴリング処理について説明する。端末Ｂは、ＨｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを抽出して保持する。すなわち、B-Home Address、AB-HoT Ring Token、AB-HoT ring nonceを抽出して保持し、ＨｏＴリングメッセージから削除する。なお、ＨｏＴリングの処理を開始する前に、端末Ａとの間にバインディングキャッシュが存在するか確認してもよい。つづいて端末ＢはHoT Ring Tokenを生成する。すなわち、以下の情報を生成する。
【００３５】
BC-HoT Ring Token = SHA1 (C-Home Address, B's secret key, BC-HoT ring nonce)
BA-HoT Ring Token = SHA1 (A-Home Address, B's secret key, BA-HoT ring nonce)
【００３６】
そして、端末Ｂは端末Ｃと端末Ａに対する以下の情報をＨｏＴリングメッセージに追加する。
【００３７】
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
【００３８】
以上の処理により端末Ｂが端末Ｃに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。
【００３９】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce  （端末Ａからの情報）
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce  （端末Ｂが追加）
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂが追加）
HoT Ring Data
【００４０】
次に、端末ＣのＨｏＴリング処理について説明する。端末Ｃは、ＨｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを抽出して保持する。すなわち、以下の情報を保持して、ＨｏＴリングメッセージから削除する。
【００４１】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
【００４２】
端末Ｃは端末Ａと端末Ｂに対するHoT Ring Tokenを生成する。すなわち、以下の情報を生成する。
【００４３】
CA-HoT Ring Token = SHA1 (A-Home Address, C's secret key, CA-HoT ring nonce)
CB-HoT Ring Token = SHA1 (B-Home Address, C's secret key, CB-HoT ring nonce)
【００４４】
そして、端末Ｃは端末Ａと端末Ｂに対する以下の情報をＨｏＴリングメッセージに追加する。
【００４５】
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce
【００４６】
以上の処理により端末Ｃが端末Ａに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。
【００４７】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂからの情報）
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce  （端末Ｃが追加）
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
HoT Ring Data
【００４８】
次に、端末ＡのＨｏＴリング処理について説明する。端末Ａは、ＨｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを抽出して保持する。すなわち、以下の情報を保持してＨｏＴリングメッセージから削除する。
【００４９】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
【００５０】
以上の処理により端末Ａが端末Ｂに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。
【００５１】
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
HoT Ring Data
【００５２】
最後に端末ＢのＨｏＴリング処理について説明する。端末Ｂは、ＨｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを抽出して保持する。すなわち、以下の情報を保持してＨｏＴリングメッセージから削除する。
【００５３】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce
【００５４】
ここでは端末Ｂが最後の受信者であるので、端末ＢはＨｏＴリングメッセージを端末Ｃに転送しない。
【００５５】
次に、端末ＢのＣｏＴリング処理について説明する。ＨｏＴリング処理もほぼ同じ処理である。端末Ｂは、ＣｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを保持する。すなわち、B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonceを保持する。端末ＢはCoT Ring Tokenを生成する。すなわち、以下の情報を生成する。
【００５６】
BC-CoT Ring Token = SHA1 (C-Care-of Address, B's secret key, BC-CoT ring nonce)
BA-CoT Ring Token = SHA1 (A-Care-of Address, B's secret key, BA-CoT ring nonce)
【００５７】
そして、端末Ｂは以下の情報をＣｏＴリングメッセージに追加する。
【００５８】
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
【００５９】
以上の処理により端末Ｂが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下の情報である。
【００６０】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce  （端末Ａからの情報）
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce  （端末Ｂが追加）
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce  （端末Ｂが追加）
CoT Ring Data
【００６１】
次に、端末ＣのＣｏＴリング処理について説明する。端末Ｃは、ＣｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、以下の情報を保持してＣｏＴリングメッセージから削除する。
【００６２】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce
【００６３】
端末ＣはCoT Ring Tokenを生成する。すなわち、以下の情報を生成する。
【００６４】
CA-CoT Ring Token = SHA1 (A-Care-of Address, C's secret key, CA-CoT ring nonce)
CB-CoT Ring Token = SHA1 (B-Care-of Address, C's secret key, CB-CoT ring nonce)
【００６５】
そして、端末Ｃは以下の情報をＣｏＴリングメッセージに追加する。
【００６６】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
【００６７】
以上の処理により端末Ｃが端末Ａに送信するＣｏＴリングメッセージに含まれる情報は以下の情報である。
【００６８】
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce  （端末Ｂからの情報）
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃが追加）
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce  （端末Ｃが追加）
CoT Ring Data
【００６９】
次に、端末ＡのＣｏＴリング処理について説明する。端末Ａは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下の情報を保持してＣｏＴリングメッセージから削除する。
【００７０】
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
【００７１】
以上の処理により端末Ａが端末Ｂに送信するＣｏＴリングメッセージに含まれる情報は以下の情報である。
【００７２】
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce  （端末Ｃからの情報）
CoT Ring Data
【００７３】
最後に端末ＢのＣｏＴリング処理について説明する。端末Ｂは、ＣｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを抽出して保持する。すなわち、以下の情報を保持してＣｏＴリングメッセージから削除する。
【００７４】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
【００７５】
ここでは端末Ｂが最後の受信者であるので、端末ＢはＣｏＴリングメッセージを端末Ｃに転送しない。
【００７６】
次に、ＨｏＴリングメッセージ、ＣｏＴリングメッセージの両方を受信した端末の動作について説明する。端末ＢはＨｏＴリングメッセージから以下の情報を取得する。
【００７７】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce
【００７８】
また、端末ＢはＣｏＴリングメッセージから以下の情報を取得する。
【００７９】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
【００８０】
端末ＢはこれらのTokenを用いて以下の鍵データであるＫｅｙを生成する。
【００８１】
AB-Key = SHA1 (AB-HoT Ring Token, AB-CoT Ring Token)
CB-Key = SHA1 (CB-HoT Ring Token, CB-CoT Ring Token)
【００８２】
そして、端末ＢはこれらＫｅｙを用いて認証コードであるＭＡＣを生成する。
【００８３】
AB-MAC = SHA1 (AB-Key, BU-Message Data)
CB-MAC = SHA1 (CB-Key, BU-Message Data)
【００８４】
端末Ｂは、生成された認証コードなどとともにAB-HoT ring nonce、AB-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｂは、生成された認証コードなどとともにCB-HoT ring nonce、CB-CoT ring nonceを付加したＢＵメッセージを端末Ｃに送信する。
【００８５】
一方、端末Ｃは、ＨｏＴリングメッセージから以下の情報を取得する。
【００８６】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
【００８７】
また、端末ＣはＣｏＴリングメッセージから以下の情報を取得する。
【００８８】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce
【００８９】
端末ＣはこれらのTokenを用いて鍵データであるＫｅｙを生成する。
【００９０】
AC-Key = SHA1 (AC-HoT Ring Token, AC-CoT Ring Token)
BC-Key = SHA1 (BC-HoT Ring Token, BC-CoT Ring Token)
【００９１】
そして、端末ＣはこれらＫｅｙを用いて認証コードであるＭＡＣを生成する。
【００９２】
AC-MAC = SHA1 (AC-Key, BU Message Data)
BC-MAC = SHA1 (BC-Key, BU Message Data)
【００９３】
端末Ｃは、生成された認証コードなどとともにAC-HoT ring nonce、AC-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｃは、生成された認証コードなどとともにBC-HoT ring nonce、BC-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。
【００９４】
一方、端末ＡはＨｏＴリングメッセージから以下の情報を取得する。
【００９５】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
【００９６】
また、端末ＡはＣｏＴリングメッセージから以下の情報を取得する。
【００９７】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
【００９８】
端末ＡはこれらのTokenを用いて鍵データであるＫｅｙを生成する。
【００９９】
BA-Key = SHA1 (BA-HoT Ring Token, BA-CoT Ring Token)
CA-Key = SHA1 (CA-HoT Ring Token, CA-CoT Ring Token)
【０１００】
そして、端末ＡはこれらＫｅｙを用いて認証コードであるＭＡＣを生成する。
【０１０１】
BA-MAC = SHA1 (BA-Key, BU Message Data)
CA-MAC = SHA1 (CA-Key, BU Message Data)
【０１０２】
端末Ａは、生成された認証コードなどとともにBA-HoT ring nonce、BA-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。また、端末Ａは、生成された認証コードなどとともにCA-HoT ring nonce、CA-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。なお、端末数が４以上の場合も同様に処理することができる。例えば、端末数が４つの場合には、端末Ａは、端末Ｂ、端末Ｃ、端末Ｄの順番にＨｏＴリングメッセージ及びＣｏＴリングメッセージが届くようにRing Tokenを付加して送信する。
【０１０３】
次に、上述したリングバインディングアップデートを開始する側の移動端末について図２を用いて説明する。ここでは、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合の端末Ａを例にとって説明する。まず、端末ＡがＨｏＴリングメッセージ、ＣｏＴリングメッセージを送信する際の処理について説明する。Ｔｏｋｅｎ生成部２０１においてRing Tokenを生成する。Token生成に使用したNonceはＮｏｎｃｅ管理部２０２において管理・保存される。
【０１０４】
メッセージ作成部２０３は、Ring Dataと端末Ｂと端末Ｃに対するRing Tokenを付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージをそれぞれ作成し、メッセージ送信部２０４より送信する。Ring DataはＲｉｎｇ  Ｄａｔａ作成部２０５より取得する。
【０１０５】
次に、周回したＨｏＴリングメッセージ、ＣｏＴリングメッセージを受信した時の処理について説明する。リングメッセージをメッセージ受信部２０６において受信し、自端末あてのRing TokenをＲｉｎｇ  Ｔｏｋｅｎ保存部２０７に保存する。リングメッセージの転送先が残っている場合には、メッセージ作成部２０３においてメッセージを作成し、メッセージ送信部２０４より転送する。Ｒｉｎｇ  Ｔｏｋｅｎ保存部２０７にHome TokenとCare-of Tokenの両方のTokenが揃った場合は、Ｋｅｙ生成部２０８において鍵データを作成し、メッセージ認証コード生成部２０９においてメッセージデータをもとにメッセージ認証コードを生成する。メッセージ作成部２０３において、生成されたメッセージ認証コードをＢＵメッセージに付加し、メッセージ送信部２０４より送信する。
【０１０６】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部２０６において受信すると、Ｔｏｋｅｎ生成部２０１においてTokenを生成し、メッセージ作成部２０３で応答メッセージを作成し、メッセージ送信部２０４から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部２０２において保存・管理される。
【０１０７】
また、ＢＵメッセージを受信した時の処理について説明する。ＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部２０１においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部２０８において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部２０９においてメッセージ認証コードを作成する。作成したメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部２１０において比較し、一致している場合には、バインディングキャッシュ管理部２１１にバインディングキャッシュを登録する。リングメッセージ転送判定部２１２は、メッセージ認証コード比較部２１０の結果に基づいて、リングメッセージを転送すべきか否かを判定する。なお、転送判定用Ｔｏｋｅｎ保存部２１３は、転送判定をする際に用いるTokenを保存する。
【０１０８】
次に、リングバインディングアップデートに参加する側の移動端末について図３を用いて説明する。ここでは、端末Ａが端末Ｂ及び端末Ｃと、また端末Ｂが端末Ａと端末Ｃとリングバインディングアップデートを行う場合の端末Ｂについて説明する。まず、端末ＡからＨｏＴリングメッセージ又はＣｏＴリングメッセージの受信した時の処理について説明する。端末Ｂは、リングメッセージを受信すると、Ｒｉｎｇ  Ｔｏｋｅｎ保存部３０１においてリングメッセージに含まれていた自端末あてのRing Tokenを保管する。
【０１０９】
メッセージ作成部３０２は、Ｔｏｋｅｎ生成部３０３で生成された転送先端末あて（ここでは端末Ｃと端末Ａあて）のRing Tokenを、転送するリングメッセージに付加する。そしてメッセージ送信部３０４より送信する。そして、リングメッセージを受信し、HoT Ring TokenとCoT Ring Tokenの両方を揃えた場合には、ＢＵメッセージを作成するために、Ｋｅｙ生成部３０５で鍵データを作成し、メッセージ認証コード生成部３０６においてメッセージ認証コードを作成し、作成されたメッセージ認証コードをメッセージ作成部３０２においてＢＵメッセージに付加し、メッセージ送信部３０４より送信する。
【０１１０】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部３０７において受信すると、Ｔｏｋｅｎ生成部３０３においてTokenを生成し、メッセージ作成部３０２で応答メッセージを作成し、メッセージ送信部３０４から送信する。Ｔｏｋｅｎ生成時に使用したNonceはＮｏｎｃｅ管理部３０８において保存・管理する。
【０１１１】
また、ＢＵメッセージを受信した時の処理について説明する。ＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部３０３においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部３０５において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部３０６においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部３０９において比較し、一致している場合には、バインディングキャッシュ管理部３１０にバインディングキャッシュを登録する。リングメッセージ転送判定部３１１は、メッセージ認証コード比較部３０９の結果に基づいて、リングメッセージを転送すべきか否かを判定する。
【０１１２】
次に、リングバインディングアップデートを開始する側の移動端末の処理フローについて図４を用いて説明する。図４に示すように、端末Ａが、端末ＡからＨｏＴリングメッセージ及びＣｏＴリングメッセージを回す順番を示すHoT Ring Data及びCoT Ring Dataを作成する（ステップＳ４０１）。端末Ａは、端末Ｂと端末Ｃに対するRing Token（AB-HoT Ring Token、AC-HoT Ring Token、AB-CoT Ring Token、AC-CoT Ring Token）を生成する（ステップＳ４０２）。次に、端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成して送信し、ＨｏＴリングメッセージ、ＣｏＴリングメッセージが周回して戻ってくるのを待つ（ステップＳ４０３）。
【０１１３】
端末Ａは、所定のタイムアウト前にメッセージを受信するか否かを判定する（ステップＳ４０４）。タイムアウト前に受信した場合、端末Ａは、端末Ｂと端末Ｃから送信されたRing Tokenを取得し、鍵データを生成し、メッセージ認証コードを作成し、端末Ｂと端末ＣにＢＵメッセージを送信する（ステップＳ４０５）。一方、ステップＳ４０４において、タイムアウト前にメッセージを受信しない場合には、端末Ａは、再送回数が所定の値Ｎより小さいのであれば再送する（ステップＳ４０６）。
【０１１４】
次に、リングバインディングアップデートに参加する側の移動端末の処理フローについて図５を用いて説明する。図５に示すように、例えば、端末Ｂは、ＨｏＴリングメッセージ及びＣｏＴリングメッセージの両方を受信した場合には、Ring Token（HoA、CoA）が揃っているか確認し、揃っている場合には鍵データを作成し、メッセージ認証コードを作成し、ＢＵメッセージを送信する（ステップＳ５０１）。そして、端末Ｂはリングメッセージの転送先あてにRing Tokenを生成する（ステップＳ５０２）。端末Ｂはリングメッセージの転送先が残っている場合には、Ring Token及び次のリングメッセージ用のTokenを付加してリングメッセージを転送する（ステップＳ５０３）。
【０１１５】
＜第２の実施の形態＞
第２の実施の形態について説明する。ここで、第１の実施の形態では、ＨｏＴリングメッセージとＣｏＴリングメッセージを同じ端末（同じ方向）に送信しているため、それらのメッセージを受信する他の端末も鍵データを生成するための情報を知ることができるという状況が発生している。例えば、端末Ａから端末Ｃに送信する情報Ａｃ１とＡｃ２は、端末Ｃだけでなく端末Ｂにも届いているため、端末Ｂは端末Ｃになりすまして鍵データ（Ｋｅｙ（Ａｃ１、Ａｃ２））を生成することができる。このような状況を回避してセキュリティを向上する方法を以下に説明する。
【０１１６】
図６Ｄに示す方法では、端末Ａから端末ＣへのＨｏＴリングメッセージを端末Ｂに一旦送信し、端末Ｂから端末Ｃに送信させる。一方、ＣｏＴリングメッセージについては、端末Ｂへの転送を行っていない。このため、端末Ｃあてに生成したHome TokenとCare-of Tokenのうち、端末Ｂは一方（ここではＨｏＴリングメッセージ）を知ることはできるが両方とも知ることはできないため、端末Ｃになりすまして鍵データを生成することができない。
【０１１７】
同様に端末Ａから端末ＢへのＨｏＴリングメッセージ／ＣｏＴリングメッセージの一方を端末Ｃを経由して送信する。ここで、端末Ａから端末ＣへのＨｏＴリングメッセージが端末Ｂ経由で転送されることを考慮し、端末Ａから端末ＢへのＨｏＴリングメッセージは端末Ｂに直接送信するものとし、ＣｏＴリングメッセージを端末Ｃ経由で端末Ｂに転送する。端末Ｂは、端末Ａから端末ＣへのＨｏＴリングメッセージを中継するので、そのＨｏＴリングメッセージの転送に合わせて、端末Ｂが生成した端末Ｃに対するＨｏＴリングメッセージを重畳して送信する。それに合わせて端末Ｂから端末ＣへのＣｏＴリングメッセージは、端末Ａを経由して転送される。
【０１１８】
端末Ｂから端末ＡへのＨｏＴリングメッセージは、端末Ｂから端末ＣへのＨｏＴリングメッセージに合わせて端末Ｃ経由で送信する。図６Ｄのメッセージの流れは、図７Ａ〜図７Ｃのように表現することができる。つまり、ＨｏＴリングメッセージは端末Ａ→端末Ｂ→端末Ｃの方向に周回し、ＣｏＴリングメッセージは逆に端末Ａ→端末Ｃ→端末Ｂの方向に周回する。このように、ＨｏＴリングメッセージとＣｏＴリングメッセージが逆方向に周回することによって、端末ＡあてのHome TokenとCare-of Tokenの両方が端末Ｂ又は端末Ｃに揃うことがないという効果がある。
【０１１９】
第１、第２の実施の形態、そして後述する実施の形態で説明するように、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを用いることによって、複数の端末がお互いにバインディングアップデートし合っているとき、それぞれが独立にバインディングアップデートを行うより、メッセージ数を削減できることを示した。そのメッセージ数の削減効果は、Return Routability処理に必要とするメッセージ数を比較すると、図８のように示すことができる。すなわち、Ｎ端末の場合にはＮ分の１にすることができる。
【０１２０】
ここで、通常のＭＩＰの場合のＲＲ(Return Routability)処理に要するメッセージ数の計算について説明する。１つの端末は、相手端末１つに対してＨｏＴＩ、ＨｏＴ、ＣｏＴＩ、ＣｏＴの４つのメッセージを送信する。相手端末はＮ−１個存在するため（Ｎ−１）倍する。さらに、全体でＮ端末存在するためＮ倍する。また、Ring BUの場合のＲＲ(Return Routability)処理に要するメッセージ数の計算について説明する。ＨｏＴＩはリング状に回る。端末がＮ個あるとき最初の端末が付加したTokenが最後の端末まで届くのにＮ−１個のメッセージが必要である。最後の端末がTokenを付加し、そのTokenが届き終わるまでにさらにＮ−１個のメッセージが必要である。ＣｏＴＩの場合も同様に２×（Ｎ−１）個のメッセージが必要なため２倍する。
【０１２１】
また、ＨｏＴリングメッセージ及びＣｏＴリングメッセージを用いることによってメッセージ数を削減できるだけでなく、第２の実施の形態などのように、ＨｏＴリングメッセージとＣｏＴリングメッセージが周回する方向を逆向きにすることによって、Home TokenとCare-of Tokenの両方を受信するのは、送信元の端末と送信先の端末だけにすることができ、鍵データをどの端末でも生成することができることを防ぎ、セキュリティの向上を図る。
【０１２２】
ここで、第２の実施の形態についてより詳細に説明する。すなわち、ＨｏＴリングメッセージとＣｏＴリングメッセージを逆向きに回す場合について説明する。端末Ａは端末Ｂ、端末Ｃの順番（端末Ａ→端末Ｂ→端末Ｃ）にＨｏＴリングメッセージ又はＣｏＴリングメッセージを送信することを決め、以下に示すRing Dataを作成する。このRing Dataはリングメッセージに付加され、受信した端末は次に送信する端末を知ることができる。また、受信した端末は、リングメッセージに付加されるTokenを決めることができる。ＨｏＴリングメッセージとＣｏＴリングメッセージは、Home TokenとCare-of Tokenの両方が揃う端末を送信元の端末とあて先の端末だけにするために逆方向に送信される。
【０１２３】
HoT Ring Data = (B-Home Address, C-Home Address, A-Home Address)
CoT Ring Data = (C-Care-of Address, B-Care-of Address, A-Care-of Address)
【０１２４】
次に、端末Ａは端末Ｂ及び端末Ｃに送信するTokenを生成する。これらのTokenをHoT Ring Token、CoT Ring Tokenと呼ぶ。生成されるRing Tokenを以下に示す。
【０１２５】
AB-HoT Ring Token = SHA1 (B-Home Address, A's secret key, AB-HoT ring nonce)
AC-HoT Ring Token = SHA1 (C-Home Address, A's secret key, AC-HoT ring nonce)
AB-CoT Ring Token = SHA1 (B-Care-of Address, A's secret key, AB-CoT ring nonce)
AC-CoT Ring Token = SHA1 (C-Care-of Address, A's secret key, AC-CoT ring nonce)
【０１２６】
これらの情報を用いて端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを生成する。ＨｏＴリングメッセージには以下の情報が付加される。
【０１２７】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
HoT Ring Data
【０１２８】
また、ＣｏＴリングメッセージには以下の情報が付加される。
【０１２９】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
CoT Ring Data
【０１３０】
そして、端末ＡはＨｏＴリングメッセージを端末ＢのHome Addressあてに送信する。また、端末ＡはＣｏＴリングメッセージを端末ＣのCare-of Addressあてに送信する。
【０１３１】
次に、端末ＢのＨｏＴリング処理について説明する。端末Ｂは、ＨｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを保持する。すなわち、B-Home Address、AB-HoT Ring Token、AB-HoT ring nonceを保持する。なお、ＨｏＴリングの処理を開始する前に、端末Ａとの間にバインディングキャッシュが存在するか確認してもよい。端末ＢはHoT Ring Tokenを生成する。すなわち、以下の情報を生成する。
BC-HoT Ring Token = SHA1 (C-Home Address, B's secret key, BC-HoT ring nonce)
BA-HoT Ring Token = SHA1 (A-Home Address, B's secret key, BA-HoT ring nonce)
【０１３２】
そして、端末Ｂは以下の情報をＨｏＴリングメッセージに追加する。
【０１３３】
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
【０１３４】
以上の処理により端末Ｂが端末Ｃに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。
【０１３５】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce  （端末Ａからの情報）
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce  （端末Ｂが追加）
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂが追加）
HoT Ring Data
【０１３６】
次に、端末ＣのＨｏＴリング処理について説明する。端末Ｃは、ＨｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、端末Ｃは以下の情報を保持する。
【０１３７】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
【０１３８】
端末Ｃは以下に示すHoT Ring Tokenを生成する。
【０１３９】
CA-HoT Ring Token = SHA1 (A-Home Address, C's secret key, CA-HoT ring nonce)
CB-HoT Ring Token = SHA1 (B-Home Address, C's secret key, CB-HoT ring nonce)
【０１４０】
そして、端末Ｃは以下の情報をＨｏＴリングメッセージに追加する。
【０１４１】
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce
【０１４２】
以上の処理により端末Ｃが端末Ａに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。
【０１４３】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂからの情報）
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce  （端末Ｃが追加）
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
HoT Ring Data
【０１４４】
次に、端末ＡのＨｏＴリング処理について説明する。端末Ａは、ＨｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、端末Ａは以下の情報を保持する。
【０１４５】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
【０１４６】
以上の処理により端末Ａが端末Ｂに送信するＨｏＴリングメッセージに含まれる情報は以下の情報である。
【０１４７】
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
【０１４８】
次に、端末ＣのＣｏＴリング処理について説明する。ＨｏＴリング処理もほぼ同じ処理である。端末Ｃは、ＣｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、端末Ｃは以下の情報を保持する。
【０１４９】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
【０１５０】
端末Ｃは以下に示すようなCoT Ring Tokenを生成する。
【０１５１】
CB-CoT Ring Token = SHA1 (B-Care-of Address, C's secret key, CB-CoT ring nonce)
CA-CoT Ring Token = SHA1 (A-Care-of Address, C's secret key, CA-CoT ring nonce)
【０１５２】
そして、端末Ｃは以下の情報をＣｏＴリングメッセージに追加する。
【０１５３】
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
【０１５４】
以上の処理により端末Ｃが端末Ｂに送信するＣｏＴリングメッセージに含まれる情報は以下の情報である。
【０１５５】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce  （端末Ａからの情報）
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce  （端末Ｃが追加）
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃが追加）
CoT Ring Data
【０１５６】
次に、端末ＢのＣｏＴリング処理について説明する。端末Ｂは、ＣｏＴリングメッセージを受信すると、端末ＢあてのRing Tokenを保持する。すなわち、端末Ｂは以下の情報を保持する。
【０１５７】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
【０１５８】
端末Ｂは以下に示すようなCoT Ring Tokenを生成する。
【０１５９】
BA-CoT Ring Token = SHA1 (A-Care-of Address, B's secret key, BA-CoT ring nonce)
BC-CoT Ring Token = SHA1 (C-Care-of Address, B's secret key, BC-CoT ring nonce)
【０１６０】
そして、端末Ｂは以下の情報をＣｏＴリングメッセージに追加する。
【０１６１】
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce
【０１６２】
以上の処理により端末Ｂが端末Ａに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０１６３】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃからの情報）
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce  （端末Ｂが追加）
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce  （端末Ｂが追加）
CoT Ring Data
【０１６４】
次に、端末ＡのＣｏＴリング処理について説明する。端末Ａは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、端末Ａは以下の情報を保持する。
【０１６５】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
【０１６６】
以上の処理により端末Ａが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０１６７】
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce  （端末Ｂからの情報）
【０１６８】
次に、ＨｏＴリングメッセージ、ＣｏＴリングメッセージの両方を受信した端末の動作について説明する。端末ＢはＨｏＴリングメッセージから以下の情報を取得する。
【０１６９】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce
【０１７０】
また、端末ＢはＣｏＴリングメッセージから以下の情報を取得する。
【０１７１】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
【０１７２】
端末ＢはこれらのTokenを用いて鍵データであるＫｅｙを生成する。
【０１７３】
AB-Key = SHA1 (AB-HoT Ring Token, AB-CoT Ring Token)
CB-Key = SHA1 (CB-HoT Ring Token, CB-CoT Ring Token)
【０１７４】
そして、端末ＢはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAB-HoT ring nonce、AB-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｂは生成された認証コードなどとともにCB-HoT ring nonce、CB-CoT ring nonceを付加したＢＵメッセージを端末Ｃに送信する。
【０１７５】
一方、端末ＣはＨｏＴリングメッセージから以下の情報を取得する。
【０１７６】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
【０１７７】
また、端末ＣはＣｏＴリングメッセージから以下の情報を取得する。
【０１７８】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce
【０１７９】
そして、端末ＣはこれらのTokenを用いて鍵データであるＫｅｙを生成する。
【０１８０】
AC-Key = SHA1 (AC-HoT Ring Token, AC-CoT Ring Token)
BC-Key = SHA1 (BC-HoT Ring Token, BC-CoT Ring Token)
【０１８１】
そして、端末ＣはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAC-HoT ring nonce、AC-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｃは生成された認証コードなどとともにBC-HoT ring nonce、BC-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。
【０１８２】
一方、端末ＡはＨｏＴリングメッセージから以下の情報を取得する。
【０１８３】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
【０１８４】
また、端末ＡはＣｏＴリングメッセージから以下の情報を取得する。
【０１８５】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
【０１８６】
そして、端末ＡはこれらのTokenを用いて鍵データであるＫｅｙを生成する。
【０１８７】
BA-Key = SHA1 (BA-HoT Ring Token, BA-CoT Ring Token)
CA-Key = SHA1 (CA-HoT Ring Token, CA-CoT Ring Token)
【０１８８】
そして、端末ＡはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにBA-HoT ring nonce、BA-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。また、端末Ａは生成された認証コードなどとともにCA-HoT ring nonce、CA-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。なお、端末数が４以上の場合も同様に処理することができる。例えば、端末数が４つの場合には、端末Ａは、端末Ｂ、端末Ｃ、端末Ｄの順番にＨｏＴリングメッセージを、端末Ｄ、端末Ｃ、端末Ｂの順番にＣｏＴリングメッセージが届くようにRing Dataを設定し、リングメッセージを送信する。
【０１８９】
次に、上述したリングバインディングアップデートを開始する側の移動端末について説明する。なお、ここでの移動端末の構成は上述した図２に示す構成と同様であるため図２を用いて説明する。また、ここでは端末Ａを例にとって説明する。すなわち、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合について説明する。まず、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを送信する処理について説明する。
【０１９０】
Ｔｏｋｅｎ生成部２０１においてRing Tokenを生成する。Token生成に使用したNonceはＮｏｎｃｅ管理部２０２において管理・保存する。メッセージ作成部２０３は、Ｒｉｎｇ  Ｄａｔａ作成部２０５からRing Dataを取得し、Ｔｏｋｅｎ生成部２０１よりRing Tokenを取得し、これらの情報を付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成し、メッセージ送信部２０４より送信する。
【０１９１】
次に、周回したＨｏＴリングメッセージ、ＣｏＴリングメッセージの受信後の処理について説明する。リングメッセージをメッセージ受信部２０６において受信し、自端末あてのRing TokenをＲｉｎｇ  Ｔｏｋｅｎ保存部２０７に保存する。また、転送先が残っている場合には、Ｔｏｋｅｎ生成部２０１においてRing Tokenを生成し、メッセージ作成部２０３において転送するリングメッセージを作成し、メッセージ送信部２０４より送信する。
【０１９２】
Ｒｉｎｇ  Ｔｏｋｅｎ保存部２０７にHome TokenとCare-of Tokenの両方のTokenが揃った場合は、Ｋｅｙ生成部２０８において鍵データを作成し、メッセージ認証コード生成部２０９においてメッセージデータをもとにメッセージ認証コードを生成する。メッセージ作成部２０３において、生成されたメッセージ認証コードをＢＵメッセージに付加し、メッセージ送信部２０４より送信する。
【０１９３】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部２０６において受信すると、Ｔｏｋｅｎ生成部２０１においてTokenを生成し、メッセージ作成部２０３で応答メッセージを作成し、メッセージ送信部２０４から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部２０２において保存・管理する。
【０１９４】
また、ＢＵメッセージの受信後の処理について説明する。ＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部２０１においてHome TokenとCare-of Tokenを生成する。生成したTokenを用いてＫｅｙ生成部２０８において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部２０９においてメッセージ認証コードを作成する。作成したメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部２１０において比較し、一致している場合には、バインディングキャッシュ管理部２１１にバインディングキャッシュを登録する。リングメッセージ転送判定部２１２は、メッセージ認証コード比較部２１０の結果に基づいて、リングメッセージを転送すべきか否かを判定する。なお、転送判定用Ｔｏｋｅｎ保存部２１３は、転送判定をする際に用いるTokenを保存する。
【０１９５】
次に、リングバインディングアップデートに参加する側の移動端末について説明する。なお、ここでの移動端末の構成は上述した図３に示す構成と同様であるため図３を用いて説明する。また、ここでは端末Ｂを例にとって説明する。すなわち、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合の端末Ｂについて説明する。まず、端末ＡからＨｏＴリングメッセージ又はＣｏＴリングメッセージの受信後の処理について説明する。
【０１９６】
端末Ｂは、リングメッセージを受信すると、Ｒｉｎｇ  Ｔｏｋｅｎ保存部３０１においてリングメッセージに含まれていた自端末あてのRing Tokenを保管する。メッセージ作成部３０２は、Ｔｏｋｅｎ生成部３０３で再生された転送先端末あてのRing Tokenを、転送するリングメッセージに付加する。そしてメッセージ送信部３０４より送信する。リングメッセージを受信し、HoT Ring TokenとCoT Ring Tokenの両方が揃った場合には、ＢＵメッセージを生成するために、Ｋｅｙ生成部３０５で鍵データを作成し、メッセージ認証コード生成部３０６においてメッセージ認証コードを作成し、作成されたメッセージ認証コードをメッセージ作成部３０２においてＢＵメッセージに付加し、メッセージ送信部３０４より送信する。
【０１９７】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部３０７において受信すると、Ｔｏｋｅｎ生成部３０３においてTokenを生成し、メッセージ作成部３０２で応答メッセージを作成し、メッセージ送信部３０４から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部３０８において保存・管理する。
【０１９８】
次に、ＢＵメッセージの受信後の処理について説明する。ＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部３０３においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部３０５において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部３０６においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部３０９において比較し、一致している場合には、バインディングキャッシュ管理部３１０にバインディングキャッシュを登録する。リングメッセージ転送判定部３１１は、メッセージ認証コード比較部３０９の結果に基づいて、リングメッセージを転送すべきか否かを判定する。
【０１９９】
次に、リングバインディングアップデートを開始する側の移動端末の処理フローについて説明する。なお、ここでの移動端末の処理フローは上述した図４に示すフローと同様であるため図４を用いて説明する。図４に示すように、端末Ａが、端末ＡからＨｏＴリングメッセージ及びＣｏＴリングメッセージを回す順番を示すHoT Ring Data及びCoT Ring Dataを作成する（ステップＳ４０１）。端末Ａは、端末Ｂと端末Ｃに送信するためのRing Token（AB-HoT Ring Token、AC-HoT Ring Token、AB-CoT Ring Token、AC-CoT Ring Token）を生成する（ステップＳ４０２）。次に、端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成して送信し、ＨｏＴリングメッセージ、ＣｏＴリングメッセージが周回して戻ってくるのを待つ（ステップＳ４０３）。
【０２００】
端末Ａは、所定のタイムアウト前にメッセージを受信するか否かを判定する（ステップＳ４０４）。タイムアウト前に受信した場合、端末Ａは、端末Ｂと端末Ｃから送信されたRing Tokenを取得し、鍵データを生成し、メッセージ認証コードを作成し、端末Ｂと端末ＣにＢＵメッセージを送信する（ステップＳ４０５）。一方、ステップＳ４０４において、タイムアウト前にメッセージを受信しない場合には、端末Ａは、再送回数が所定の値Ｎより小さいのであれば再送する（ステップＳ４０６）。
【０２０１】
次に、リングバインディングアップデートに参加する側の移動端末の処理フローについて説明する。なお、ここでの移動端末の処理フローは上述した図５に示すフローと同様であるため図５を用いて説明する。図５に示すように、例えば、端末Ｂは、ＨｏＴリングメッセージ及びＣｏＴリングメッセージの両方を受信した場合には、Ring Token（HoA、CoA）が揃っているか確認し、揃っている場合には鍵データを作成し、メッセージ認証コードを作成し、ＢＵメッセージを送信する（ステップＳ５０１）。そして、端末Ｂはリングメッセージの転送先あてにRing Tokenを生成する（ステップＳ５０２）。端末Ｂはリングメッセージの転送先が残っている場合には、転送先端末に対するRing Tokenを付加してリングメッセージを転送する（ステップＳ５０３）。
【０２０２】
＜第３の実施の形態＞
第３の実施の形態について説明する。ここでは、ＨｏＴリングメッセージ及びＣｏＴリングメッセージの転送基準について説明する。端末Ａが送信したＨｏＴリングメッセージ又はＣｏＴリングメッセージを受信した端末Ｂ又は端末Ｃは、メッセージに記された次に転送する先の端末に向けてＨｏＴリングメッセージ、ＣｏＴリングメッセージを転送する。このため、転送先のアドレスが間違っていた場合などでも、誤ったアドレスに転送してしまうという場合が考えられる。
【０２０３】
ＨｏＴリングメッセージ／ＣｏＴリングメッセージを転送する際に、端末Ｂは端末Ａと端末Ｃのバインディングキャッシュを持っているかどうかを転送するかどうかの判定基準にすることができる。これによって、端末Ｂが転送する範囲を大幅に限定することができる。さらに、確実に転送判定を行う方法を以下に説明する。
【０２０４】
端末Ａは、端末Ｂと端末Ｃに対してバインディングアップデートを既に行っており、端末Ｂ及び端末Ｃも端末Ａに対してバインディングアップデートを行っているとする。端末Ａは、端末Ｂと端末Ｃがお互いにバインディングアップデートを行っていれば、３者間のバインディングアップデートが可能になると判断し、図９Ａに示すように、端末Ｃに対して端末Ｂにバインディングアップデートを行うように指示する。そして、端末Ｂから端末Ｃに送信されるHome Token及びCare-of Token（ＢＣ−Ｔｏｋｅｎ）を端末Ａに転送するように要求する。
【０２０５】
端末Ｂから端末ＣにHome Token及びCare-of Tokenが送信されるときは、端末ＢはＨｏＡあて及びＣｏＡあてに分けて送信する。これは、第２の実施の形態のように、両方のTokenを持てるのは端末Ｃだけであることを利用している。同様に端末Ｃから端末ＡにTokenを送信する場合も、端末Ｃは端末ＡのＨｏＡあて及びＣｏＡあてに分けてHome Token及びCare-of Tokenを送信する。図９Ｂに示すように、端末Ａは、ＨｏＴリングメッセージを端末Ｂに送信する際に次の認証コードを付加する。認証コードは、端末Ｂが端末Ｃに送信したTokenから生成された鍵データ（ここでは、ＢＣ−Ｋｅｙ）を用いて生成した認証コードＭＡＣである。
【０２０６】
BC-Key = SHA1 (BC-Home Token, BC-Care-of Token)
MAC = SHA1 (BC-Key, Data)
【０２０７】
端末Ｂは、ＨｏＴリングメッセージに含まれるhome-nonce、care-of nonceと転送先の端末ＣのHome Address及びCare-of AddressからBC-Home Token、BC-Care-of Tokenをそれぞれ生成する。
【０２０８】
BC-Home Token = SHA1 (C-HoA, B's secret key, home nonce)
BC-Care-of Token = SHA1 (C-CoA, B's secret key, care-of nonce)
【０２０９】
さらに、端末ＢはこれらTokenからＢＣ−Ｋｅｙを生成し、ＭＡＣが正しいかどうかチェックする。ここで、両方のTokenは端末Ｃしか持ち得ないこと、及びTokenを渡した相手である端末Ｃからの要求であることから、端末Ｂから端末Ｃへの転送は端末Ｃによって許可されていると端末Ｂが判断する。同様に、ＣｏＴリングメッセージの場合には、図１０Ａ、図１０Ｂに示すように、端末Ａは端末Ｂに端末Ｃへバインディングアップデートするように指示し、端末Ｃから端末Ｂに送信されたToken（ＣＢ−Ｔｏｋｅｎ）を要求する。
【０２１０】
次に、端末Ａが送信したＨｏＴリングメッセージが端末Ｂを経由して端末Ｃに達した場合に、端末Ａに転送するための、端末ＣでのＨｏＴリングメッセージの転送判定処理について図１１Ａから図１１Ｃを用いて説明する。図１１Ａ、１１Ｂに示すように、端末Ａは端末Ｃとバインディングアップデートを行って取得したHome Token及びCare-of Token（ＣＡ−Ｔｏｋｅｎ）からＫｅｙを生成し、そのＫｅｙに基づいて生成された認証コードをＨｏＴリングメッセージに付加して送信する。その認証コードは端末Ｂを経由して端末Ｃに届く。
【０２１１】
端末Ｃは、ＨｏＴリングメッセージに含まれるhome nonce、care-of nonceを用いて、次のようにHome Token、Care-of tokenを生成する。
【０２１２】
CA-Home Token = SHA1 (A-HoA, C's secret key, home nonce)
CA-Care-of Token = SHA1 (A-CoA, C's secret key, care-of nonce)
【０２１３】
さらに、端末Ｃは以下のようなＫｅｙ及び認証コードＭＡＣを生成する。
【０２１４】
Key = SHA1 (CA-Home Token, CA-Care-of Token)
MAC = SHA1 (Key, Data)
【０２１５】
端末Ｃは認証コードが正しいことを確認してから、図１１Ｃに示すように端末ＡにＨｏＴリングメッセージを転送する。ＣｏＴリングメッセージの場合に端末Ｂが端末Ａへの転送を行うかどうか判定する場合も同様で図１２Ａから図１２Ｃに示す。なお、端末ＡにおいてＨｏＴリングメッセージ及びＣｏＴリングメッセージの転送判定処理を行うためには、端末Ａは端末Ｂ及び端末Ｃに送信するTokenを生成し、Ｋｅｙを生成し、生成されたＫｅｙに基づいて認証コードを生成してリングメッセージに付加する。
【０２１６】
以上のように、転送の可否を判定する情報をＨｏＴリングメッセージ、ＣｏＴリングメッセージに付加して送信する。なお、認証コードの元になるDataも併せてＨｏＴリングメッセージ、ＣｏＴリングメッセージに付加して送信する。Dataとして、例えばリングリストなどの情報がある。リングリストとは、転送する順番を示すデータである。
【０２１７】
ここで、第３の実施の形態についてより詳細に説明する。すなわち、転送判定情報をリングメッセージに追加する場合について説明する。上述した実施の形態と同様、端末Ａ、端末Ｂ、端末Ｃが存在する場合を考える。端末Ａは端末Ｂに対してバインディングアップデートを行い、端末Ｂも端末Ａに対してバインディングアップデートを行う。同様に、端末Ａは端末Ｃに対してバインディングアップデートを行い、端末Ｃも端末Ａに対してバインディングアップデートを行う。このような状況のとき、端末Ａは気付アドレス（ＣｏＡ）を継続して使用するためには、端末Ｂ及び端末Ｃに対してバインディングアップデートを７分ごとに行わなければならない。そこで、端末Ａは、３端末間で送受信される総メッセージ数を削減するために、グループ間バインディングアップデート処理を開始する。
【０２１８】
端末Ａは、端末Ｃに対してバインディングアップデートを行うよう端末Ｂに指示する。端末Ｂは拒否することができる。拒否した場合には、グループ間バインディングアップデートは中止され、端末Ａ、端末Ｂ、端末Ｃの間では従来のＭＩＰによるバインディングアップデートが行われる。端末Ｂが既に端末Ｃとの間にバインディングアップデートを行っている場合には、端末Ｃから端末Ｂに送信された以下に示すCB-Home-Token及びCB-Care-of-Tokenを端末Ａに送信する。
【０２１９】
CB-Home Token = SHA1 (B-Home Address, C's secret key, CB-home nonce)
CB-Care-of Token = SHA1 (B-Care-of Address, C's secret key, CB-care-of nonce)
【０２２０】
端末Ｂは、CB-Home Token、CB-Care-of Tokenを保持している場合にはその値を端末Ａに送信する。もし、保持していない場合には、端末ＣにＨｏＴＩ及びＣｏＴＩを送信し、CB-Home Token及びCB-Care-of Tokenを取得する。この場合、ＢＵメッセージを送信しなくても構わない。端末Ｂが、新たに端末Ｃに対してＢＵする場合にはＨｏＴＩ及びＣｏＴＩメッセージの送信に引き続き、ＨｏＴ及びＣｏＴメッセージを受信し、ＢＵメッセージを送信する。
【０２２１】
端末Ｂは、CB-Home Token及びCB-Care-of Tokenを端末Ａに送信する際、端末ＡのHome AddressあてにCB-Home Tokenを送信し、端末ＡのCare-of AddressあてにCB-Care-of Tokenを送信する。これは端末Ａ以外の端末が両方のTokenを手に入れる可能性をできるだけ排除するためである。また、端末ＢはTokenと併せてnonceも送信する。同様に、端末Ａは端末Ｃに対して端末Ｂにバインディングアップデートを行うように指示する。端末Ｃは、端末Ａに以下に示すBC-Home TokenとBC-Care-of Tokenを送信する。
【０２２２】
BC-Home Token = SHA1 (C-Home Address, B's secret key, BC-home nonce)
BC-Care-of Token = SHA1 (C-Care-of Address, B's secret key, BC-care-of nonce)
【０２２３】
端末Ａは、端末Ｂ及び端末Ｃに対するバインディングアップデートの指示とは別に、端末Ｂ及び端末Ｃから端末Ａあての以下に示すBA-Home Token、BA-Care-of Token、CA-Home Token、CA-Care-of Tokenを送信させる。既に端末Ａが保持している場合には、その値を用いてよい。もし保持していない場合には、端末Ｂ及び端末ＣにＨｏＴＩ及びＣｏＴＩを送信し、Tokenの値を取得する。この場合ＢＵメッセージの送信を省略してもよい。
【０２２４】
BA-Home Token = SHA1 (A-Home Address, B's secret key, BA-home nonce)
BA-Care-of Token = SHA1 (A-Care-of Address, B's secret key, BA-care-of nonce)
CA-Home Token = SHA1 (A-Home Address, C's secret key, CA-home nonce)
CA-Care-of Token = SHA1 (A-Care-of Address, C's secret key, CA-care-of nonce)
【０２２５】
また、先に説明した端末Ｂに対する端末Ｃへのバインディングアップデートの指示と併せてもよい。つまり、端末Ａは、端末ＢからCB-Home TokenとBA-Home Tokenの両方を一つのメッセージで端末ＡのHome Addressで受信する。また、端末ＢからCB-Care-of TokenとBA-Care-of Tokenの両方を一つのメッセージで端末ＡのCare-of Addressで受信する。端末ＣからはBC-Home Token、BC-Care-of Token、CA-Home Token、CA-Care-of Tokenを受信する。このときTokenと一緒にnonceも受信する。
【０２２６】
さらに、端末Ａは、端末Ｂ及び端末Ｃのホームアドレス、気付アドレスを用いて以下のTokenを生成する。
【０２２７】
AB-Home Token = SHA1 (B-Home Address, A's secret key, AB-home nonce)
AB-Care-of Token = SHA1 (B-Care-of Address, A's secret key, AB-care-of nonce)
AC-Home Token = SHA1 (C-Home Address, A's secret key, AC-home nonce)
AC-Care-of Token = SHA1 (C-Care-of Address, A's secret key, AC-care-of nonce)
【０２２８】
次に、端末Ａは取得したTokenを用いて鍵データであるＫｅｙを生成する。すなわち、以下に示すＫｅｙを生成する。
【０２２９】
CB-Key = SHA1 (CB-Home Token, CB-Care-of Token)
BC-Key = SHA1 (BC-Home Token, BC-Care-of Token)
BA-Key = SHA1 (BA-Home Token, BA-Care-of Token)
CA-Key = SHA1 (CA-Home Token, CA-Care-of Token)
AB-Key = SHA1 (AB-Home Token, AB-Care-of Token)
AC-Key = SHA1 (AC-Home Token, AC-Care-of Token)
【０２３０】
そして、端末Ａは生成されたＫｅｙを用いて認証コードであるＭＡＣを生成する。認証コードはDataとＫｅｙより生成され、生成される認証コードを以下に示す。
【０２３１】
CB-MAC = SHA1 (CB-Key, Data)
BC-MAC = SHA1 (BC-Key, Data)
BA-MAC = SHA1 (BA-Key, Data)
CA-MAC = SHA1 (CA-Key, Data)
AB-MAC = SHA1 (AB-Key, Data)
AC-MAC = SHA1 (AC-Key, Data)
【０２３２】
認証コードの元となるDataは任意のデータでよいが、例えばＨｏＴリングの場合ならばＨｏＴリングメッセージ、ＣｏＴリングメッセージの送信順番を示すデータ（HoT Ring Data、CoT Ring Data）を使用することができる。具体的には以下に示すデータである。
【０２３３】
HoＴ Ring Data = (B-Home Address, C-Home Address, A-Home Address)
CoT Ring Data = (Ｃ-Care-of Address, Ｂ-Care-of Address, A-Care-of Address)
【０２３４】
以上の認証コード及びnonceは、送信するＨｏＴリングメッセージ、ＣｏＴリングメッセージに付加され、中継する端末がメッセージを転送してよいかどうかの判定を行う際に利用される。
【０２３５】
次に、端末Ａは端末Ｂ及び端末Ｃに送信するTokenを生成する。これらのTokenを上述したTokenと区別するためにHoT Ring Token、CoT Ring Tokenと呼ぶ。HoT Ring Token、CoT Ring Tokenを以下に示す。
【０２３６】
AB-HoT Ring Token = SHA1 (B-Home Address, A's secret key, AB-HoT ring nonce)
AC-HoT Ring Token = SHA1 (C-Home Address, A's secret key, AC-HoT ring nonce)
AB-CoT Ring Token = SHA1 (B-Care-of Address, A's secret key, AB-CoT ring nonce)
AC-CoT Ring Token = SHA1 (C-Care-of Address, A's secret key, AC-CoT ring nonce)
【０２３７】
これらの情報を用いて端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを生成する。ＨｏＴリングメッセージにはRing Tokenに関連する情報のほかにHoT Ring Data、メッセージ認証コードが付加され、以下のような情報が含まれる。
【０２３８】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
HoT Ring Data
BC-MAC、BC-home nonce、BC-care-of nonce、C-Care-of Address
CA-MAC、CA-home nonce、CA-care-of nonce、A-Care-of Address
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address
【０２３９】
また同様に、ＣｏＴリングメッセージにはRing Tokenに関連する情報のほかに、CoT Ring Data、メッセージ認証コードが付加され、以下のような情報が含まれる。
【０２４０】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
CoT Ring Data
CB-MAC、CB-home nonce、CB-care-of nonce、B-Home Address
BA-MAC、BA-home nonce、BA-care-of nonce、A-Home Address
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address
【０２４１】
端末Ａは、ＨｏＴリングメッセージを端末ＢのHome Addressあてに送信する。また、ＣｏＴリングメッセージを端末ＣのCare-of Addressあてに送信する。
【０２４２】
次に、端末ＢのＨｏＴリング処理について説明する。端末Ｂは、ＨｏＴリングメッセージを受信すると、端末Ｂあての以下に示すRing Tokenを保持する。なお、ＨｏＴリングの処理を開始する前に、端末Ａとの間にバインディングキャッシュが存在するか確認してもよい。
【０２４３】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
【０２４４】
端末Ｂは、端末ＣにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末ＢはC-Home Address、C-Care-of Address、BC-home nonce、BC-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。
【０２４５】
BC-Home Token = SHA1 (C-Home Address, B's secret key, BC-home nonce)
BC-Care-of Token = SHA1 (C-Care-of Address, B's secret key, BC-care-of nonce)
【０２４６】
さらに、端末ＢはこれらのTokenから以下に示すＫｅｙを生成する。
【０２４７】
BC-Key = SHA1 (BC-Home Token, BC-Care-of Token)
【０２４８】
そして、端末Ｂは生成されＫｅｙと認証コードの元となるHoT Ring Dataを用いて以下に示す認証コードを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。
【０２４９】
BC-MAC = SHA1 (BC-Key, HoT Ring Data)
【０２５０】
認証コードが正しい場合には、端末Ｂは以下に示すHoT Ring Tokenを生成する。
【０２５１】
BC-HoT Ring Token = SHA1 (C-Home Address, B's secret key, BC-HoT ring nonce)
BA-HoT Ring Token = SHA1 (A-Home Address, B's secret key, BA-HoT ring nonce)
【０２５２】
そして、端末Ｂは以下の情報をＨｏＴリングメッセージに追加する。
【０２５３】
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
【０２５４】
以上の処理により端末Ｂが端末Ｃに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０２５５】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce  （端末Ａからの情報）
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce  （端末Ｂが追加）
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂが追加）
HoT Ring Data
CA-MAC、CA-home nonce、CA-care-of nonce、A-Care-of Address  （端末Ａからの情報）
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address  （端末Ａからの情報）
【０２５６】
次に、端末ＣのＨｏＴリング処理について説明する。端末Ｃは、ＨｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。
【０２５７】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
【０２５８】
端末Ｃは、端末ＡにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末ＣはA-Home Address、A-Care-of Address、CA-home nonce、CA-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。
【０２５９】
CA-Home Token = SHA1 (A-Home Address, C's secret key, CA-home nonce)
CA-Care-of Token = SHA1 (A-Care-of Address, C's secret key, CA-care-of nonce)
【０２６０】
さらに、端末ＣはこれらのTokenからＫｅｙを生成する。
【０２６１】
CA-Key = SHA1 (CA-Home Token, CA-Care-of Token)
【０２６２】
そして、端末Ｃは、生成されたＫｅｙと認証コードの元となるHoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。
【０２６３】
CA-MAC = SHA1 (CA-Key, HoT Ring Data)
【０２６４】
認証コードが正しい場合には、端末Ｃは以下に示すHoT Ring Tokenを生成する。
【０２６５】
CA-HoT Ring Token = SHA1 (A-Home Address, C's secret key, CA-HoT ring nonce)
CB-HoT Ring Token = SHA1 (B-Home Address, C's secret key, CB-HoT ring nonce)
【０２６６】
そして、端末Ｃは以下の情報をＨｏＴリングメッセージに追加する。
【０２６７】
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce
【０２６８】
以上の処理により端末Ｃが端末Ａに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０２６９】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂからの情報）
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce  （端末Ｃが追加）
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
HoT Ring Data
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address  （端末Ａからの情報）
【０２７０】
次に、端末ＡのＨｏＴリング処理について説明する。端末Ａは、ＨｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。
【０２７１】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
【０２７２】
端末Ａは、端末ＢにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末ＡはB-Home Address、B-Care-of Address、AB-home nonce、AB-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。
【０２７３】
AB-Home Token = SHA1 (B-Home Address, A's secret key, AB-home nonce)
AB-Care-of Token = SHA1 (B-Care-of Address, A's secret key, AB-care-of nonce)
【０２７４】
さらに、端末ＡはこれらのTokenからＫｅｙを生成する。
【０２７５】
AB-Key = SHA1 (AB-Home Token, AB-Care-of Token)
【０２７６】
そして、端末Ａは生成されたＫｅｙと認証コードの元データHoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。
【０２７７】
AB-MAC = SHA1 (CA-Key, Data)
【０２７８】
以上の処理により端末Ａが端末Ｂに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０２７９】
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
【０２８０】
次に、端末ＣのＣｏＴリング処理について説明する。ＨｏＴリング処理をほぼ同じ処理である。端末Ｃは、ＣｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。
【０２８１】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
【０２８２】
端末Ｃは、端末ＢにＣｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ｃは、B-Care-of Address、B-Home Address、CB-home nonce、CB-care-of nonceを用いて、以下に示すHome TokenとCare-of Tokenを生成する。
【０２８３】
CB-Home Token = SHA1 (B-Home Address, C's secret key, CB-home nonce)
CB-Care-of Token = SHA1 (B-Care-of Address, C's secret key, CB-care-of nonce)
【０２８４】
さらに、端末ＣはこれらのTokenからＫｅｙを生成する。
【０２８５】
CB-Key = SHA1 (CB-Home Token, CB-Care-of Token)
【０２８６】
そして、端末Ｃは、生成されたＫｅｙと認証コードの元となるCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。
【０２８７】
CB-MAC = SHA1 (CB-Key, CoT Ring Data)
【０２８８】
認証コードが正しい場合には、端末Ｃは以下に示すCoT Ring Tokenを生成する。
【０２８９】
CB-CoT Ring Token = SHA1 (B-Care-of Address, C's secret key, CB-CoT ring nonce)
CA-CoT Ring Token = SHA1 (A-Care-of Address, C's secret key, CA-CoT ring nonce)
【０２９０】
そして、端末Ｃは以下の情報をＣｏＴリングメッセージに追加する。
【０２９１】
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
【０２９２】
以上の処理により端末Ｂが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０２９３】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce  （端末Ａからの情報）
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce  （端末Ｃが追加）
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃが追加）
CoT Ring Data
BA-MAC、BA-home nonce、BA-care-of nonce、A-Home Address  （端末Ａからの情報）
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address  （端末Ａからの情報）
【０２９４】
次に、端末ＢのＣｏＴリング処理について説明する。端末Ｂは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下の情報を保持する。
【０２９５】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
【０２９６】
端末Ｂは、端末ＡにＣｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ｂは、A-Home Address、A-Care-of Address、BA-home nonce、BA-care-of nonceを用いて、以下に示すHome TokenとCare-of Tokenを生成する。
【０２９７】
BA-Home Token = SHA1 (A-Home Address, B's secret key, BA-home nonce)
BA-Care-of Token = SHA1 (A-Care-of Address, B's secret key, BA-care-of nonce)
【０２９８】
さらに、端末ＢはこれらのTokenからＫｅｙを生成する。
【０２９９】
BA-Key = SHA1 (BA-Home Token, BA-Care-of Token)
【０３００】
そして、端末Ｂは生成されたＫｅｙと認証コードの元となるCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。
【０３０１】
BA-MAC = SHA1 (BA-Key, CoT Ring Data)
【０３０２】
認証コードが正しい場合には、端末Ｂは以下に示すCoT Ring Tokenを生成する。
【０３０３】
BC-CoT Ring Token = SHA1 (C-Care-of Address, B's secret key, BC-CoT ring nonce)
BA-CoT Ring Token = SHA1 (A-Care-of Address, B's secret key, BA-CoT ring nonce)
【０３０４】
そして、端末Ｂは以下の情報をＨｏＴリングメッセージに追加する。
【０３０５】
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce
【０３０６】
以上の処理により端末Ｂが端末Ａに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０３０７】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃからの情報）
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce  （端末Ｂが追加）
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce  （端末Ｂが追加）
CoT Ring Data
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address  （端末Ａからの情報）
【０３０８】
次に、端末ＡのＣｏＴリング処理について説明する。端末Ａは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。
【０３０９】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
【０３１０】
端末Ａは、端末ＣにＣｏＴリングメッセージを転送するかどうか判定するために、認証コードを確認する。まず、端末Ａは、C-Home Address、C-Care-of Address、AC-home nonce、AC-care-of nonceを用いて、以下に示すHome TokenとCare-of Tokenを生成する。
【０３１１】
AC-Home Token = SHA1 (C-Home Address, A's secret key, AC-home nonce)
AC-Care-of Token = SHA1 (C-Care-of Address, A's secret key, AC-care-of nonce)
【０３１２】
さらに、端末ＡはこれらのTokenからＫｅｙを生成する。
【０３１３】
AC-Key = SHA1 (AC-Home Token, AC-Care-of Token)
【０３１４】
そして、端末Ａは生成されたＫｅｙと認証コードの元データCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＣｏＴリングメッセージに付加されていた認証コードと比較する。
【０３１５】
AC-MAC = SHA1 (AC-Key, CoT Ring Data)
【０３１６】
以上の処理により端末Ａが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０３１７】
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce （端末Ｂからの情報）
【０３１８】
次に、ＨｏＴリングメッセージ、ＣｏＴリングメッセージの両方を受信した端末の動作について説明する。端末ＢはＨｏＴリングメッセージから以下に示す情報を取得する。
【０３１９】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce
【０３２０】
また、端末ＢはＣｏＴリングメッセージから以下に示す情報を取得する。
【０３２１】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
【０３２２】
端末ＢはこれらのTokenを用いてＫｅｙを生成する。
【０３２３】
AB-Key = SHA1 (AB-HoT Ring Token, AB-CoT Ring Token)
CB-Key = SHA1 (CB-HoT Ring Token, CB-CoT Ring Token)
【０３２４】
そして、端末ＢはこれらのＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAB-HoT ring nonce、AB-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｂは生成された認証コードなどとともにCB-HoT ring nonce、CB-CoT ring nonceを付加したＢＵメッセージを端末Ｃに送信する。
【０３２５】
一方、端末ＣはＨｏＴリングメッセージから以下に示す情報を取得する。
【０３２６】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
【０３２７】
また、端末ＣはＣｏＴリングメッセージから以下に示す情報を取得する。
【０３２８】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce
【０３２９】
端末ＣはこれらのTokenを用いてＫｅｙを生成する。
【０３３０】
AC-Key = SHA1 (AC-HoT Ring Token, AC-CoT Ring Token)
BC-Key = SHA1 (BC-HoT Ring Token, BC-CoT Ring Token)
【０３３１】
そして、端末ＣはこれらのＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAC-HoT ring nonce、AC-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｃは生成された認証コードなどとともにBC-HoT ring nonce、BC-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。
【０３３２】
一方、端末ＡはＨｏＴリングメッセージから以下に示す情報を取得する。
【０３３３】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
【０３３４】
また、端末ＡはＣｏＴリングメッセージから以下に示す情報を取得する。
【０３３５】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
【０３３６】
端末ＡはこれらのTokenを用いてＫｅｙを生成する。
【０３３７】
BA-Key = SHA1 (BA-HoT Ring Token, BA-CoT Ring Token)
CA-Key = SHA1 (CA-HoT Ring Token, CA-CoT Ring Token)
【０３３８】
そして、端末ＡはこれらのＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにBA-HoT ring nonce、BA-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。また、端末Ａは生成された認証コードなどとともにCA-HoT ring nonce、CA-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。
【０３３９】
なお、端末数が４以上の場合も同様に処理することができる。例えば、端末数が４つの場合には、端末Ａは、端末Ｄに対して、端末Ｂ及び端末Ｃにバインディングアップデートを行うように指示する。また、端末Ｂ及び端末Ｃに対して端末Ｄに対してバインディングアップデートを行うように指示する。そして端末ＡはTokenを収集する。端末Ａは、リングリストを生成し、各端末に送信するTokenを生成するとともに、メッセージ認証コードを生成し、これらの情報を付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージを送信する。
【０３４０】
次に、上述したリングバインディングアップデートを開始する側の移動端末について説明する。なお、ここでの移動端末の構成は上述した図２に示す構成と同様であるため図２を用いて説明する。また、ここでは端末Ａを例にとって説明する。すなわち、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合について説明する。まず、端末Ａは、端末Ｂ及び端末Ｃに相互にＢＵをすることを要求するメッセージをメッセージ作成部２０３で作成し、メッセージ送信部２０４より送信する。送信されたメッセージに対する応答メッセージをメッセージ受信部２０６において受信し、応答メッセージに含まれるTokenを転送判定用Ｔｏｋｅｎ保存部２１３に保存する。
【０３４１】
端末Ａは、収集したTokenを用いて転送判定用のメッセージ認証コードを生成する際、まず、転送判定用Ｔｏｋｅｎ保存部２１３よりTokenを取得し、Ｋｅｙ生成部２０８において鍵データを作成する。そして、メッセージ認証コード生成部２０９は、Ｒｉｎｇ  Ｄａｔａ作成部２０５よりRing Dataを取得し、Ｋｅｙ生成部２０８により生成された鍵データを用いてメッセージ認証コードを生成する。また、Ｔｏｋｅｎ生成部２０１においてRing Tokenを生成する。Token生成に使用したNonceはＮｏｎｃｅ管理部２０２において管理・保存される。メッセージ作成部２０３は、転送判定用のメッセージ認証コードとRing DataとRing Tokenを付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成し、メッセージ送信部２０４より送信する。
【０３４２】
次に、周回したＨｏＴリングメッセージ、ＣｏＴリングメッセージの受信後の処理について説明する。リングメッセージをメッセージ受信部２０６において受信すると、自端末あてのRing TokenをＲｉｎｇ  Ｔｏｋｅｎ保存部２０７に保存する。転送先が残っている場合には、Ｔｏｋｅｎ生成部２０１においてTokenを生成し、Ｋｅｙ生成部２０８において鍵データを作成し、メッセージに付加されているRing Dataを用いてメッセージ認証コード生成部２０９においてメッセージ認証コードを生成する。生成されたメッセージ認証コードと、メッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部２１０において比較し、リングメッセージ転送判定部２１２において転送を行うかどうかを判定する。
【０３４３】
ここで、Ｒｉｎｇ  Ｔｏｋｅｎ保存部２０７にHome TokenとCare-of Tokenの両方のTokenが揃った場合は、Ｋｅｙ生成部２０８において鍵データを作成し、メッセージ認証コード生成部２０９においてメッセージデータをもとにメッセージ認証コードを生成する。メッセージ作成部２０３において、生成されたメッセージ認証コードをＢＵメッセージに付加し、メッセージ送信部２０４より送信する。
【０３４４】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部２０６において受信すると、Ｔｏｋｅｎ生成部２０１においてTokenを生成し、メッセージ作成部２０３で応答メッセージを作成し、メッセージ送信部２０４から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部２０２において保存・管理する。
【０３４５】
また、ＢＵメッセージを受信すると、それに含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部２０１においてHome TokenとCare-of Tokenを生成する。生成したTokenを用いてＫｅｙ生成部２０８において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部２０９においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部２１０において比較し、一致している場合には、バインディングキャッシュ管理部２１１にバインディングキャッシュを登録する。
【０３４６】
次に、リングバインディングアップデートに参加する側の移動端末について説明する。なお、ここでの移動端末の構成は上述した図３に示す構成と同様であるため図３を用いて説明する。また、ここでは端末Ｂを例にとって説明する。すなわち、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合の端末Ｂについて説明する。
【０３４７】
まず、端末Ｂは端末Ａからの要求に応じて、端末ＣにＨｏＴＩ／ＣｏＴＩを送信し、ＨｏＴ／ＣｏＴを受信する。そして、ＨｏＴ／ＣｏＴに含まれるTokenをそれぞれ端末ＡのＨｏＡ及びＣｏＡあてに送信する。この処理において、端末Ｂは端末Ａからの要求をメッセージ受信部３０７において受信し、メッセージ作成部３０２においてＨｏＴＩ／ＣｏＴＩを作成し、メッセージ送信部３０４より送信する。
【０３４８】
端末Ｂは、ＨｏＴ／ＣｏＴを受信すると、端末Ｃに対してはＫｅｙ生成部３０５において鍵データを生成し、メッセージ認証コード生成部３０６においてメッセージ認証コードを生成し、生成されたメッセージ認証コードをＢＵメッセージに付加して送信する。一方、端末Ａに対しては、メッセージ作成部３０２においてＨｏＡ及びＣｏＡあてのTokenを送信するメッセージを作成し、メッセージ送信部３０４より送信する。
【０３４９】
その後、端末Ｂが端末ＡからＨｏＴリングメッセージ又はＣｏＴリングメッセージを受信すると、最初に、転送判定用のメッセージ認証コードを確認する。そのために、リングメッセージに含まれる転送先端末のアドレスと、メッセージに含まれるNonce-IDによりＮｏｎｃｅ管理部３０８から取得したNonceを用いてTokenを生成する。生成されたHome TokenとCare-of Tokenを用いて、Ｋｅｙ生成部３０５で鍵データを生成する。
【０３５０】
生成された鍵データとメッセージに付加されていたRing Dataを用いて、メッセージ認証コード生成部３０６においてメッセージ認証コードを作成し、メッセージ認証コード比較部３０９においてリングメッセージに付加されていたメッセージ認証コードと作成されたメッセージ認証コードを比較する。メッセージ認証コードが一致した結果を受けて、リングメッセージ転送判定部３１１は転送することを決定する。
【０３５１】
Ｒｉｎｇ  Ｔｏｋｅｎ保存部３０１においてリングメッセージに含まれていた自端末あてのRing Tokenを保管する。メッセージ作成部３０１は、Ｔｏｋｅｎ生成部３０３で生成された転送先端末あてのRing Tokenを、転送するリングメッセージに付加する。そしてメッセージ送信部３０４より送信する。
【０３５２】
ここで、端末Ｂがリングメッセージを受信し、HoT Ring TokenとCoT Ring Tokenの両方が揃った場合には、ＢＵメッセージを作成するために、Ｋｅｙ生成部３０５で鍵データを作成し、メッセージ認証コード生成部３０６においてメッセージ認証コードを作成し、作成されたメッセージ認証コードをメッセージ作成部３０２においてＢＵメッセージに付加し、メッセージ送信部３０４より送信する。
【０３５３】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩメッセージをメッセージ受信部３０７において受信すると、Ｔｏｋｅｎ生成部３０３においてTokenを生成し、メッセージ作成部３０２で応答メッセージを作成し、メッセージ送信部３０４から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部３０８において保存・管理する。
【０３５４】
また、端末ＢがＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部３０３においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部３０５において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部３０６においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部３０９において比較し、一致している場合には、バインディングキャッシュ管理部３１０にバインディングキャッシュを登録する。
【０３５５】
次に、リングバインディングアップデートを開始する側の移動端末の処理フローについて図１３を用いて説明する。図１３に示すように、端末Ａが、端末Ａから端末Ｂと端末ＣにＢＵしていて、逆に端末Ｂと端末Ｃからも端末ＡにＢＵしている状態で、端末Ａは端末Ｂと端末Ｃの間でもお互いにＢＵするように要求し、応答にTokenの値を要求する（ステップＳ１３０１）。端末Ａは、応答があり、Tokenを取得したか否かを判定し（ステップＳ１３０２）、応答がありTokenを取得したと判断した場合、端末Ａは、転送判定用のメッセージ認証コードを生成するために、取得したToken（BC-Token及びCB-Token）を用いて鍵データ（BC-Key及びCB-Key）を生成する（ステップＳ１３０３）。
【０３５６】
端末Ａは、端末Ａから端末Ｂ、Ｃに対するＢＵのときに取得したToken（BA-Token及びCA-Token）を用いて鍵データ（BA-Key及びCA-Key）を生成する（ステップＳ１３０４）。なお、Token(BA-TokenまたはCA-Token)がない場合にはＨｏＴＩ、ＣｏＴＩを送信して取得する。端末Ａは、端末Ｂ、Ｃから端末Ａに対するＢＵのときに生成したToken（AB-Token及びAC-Token）を用いて鍵データ（AB-Key及びAC-Key）を生成する（ステップＳ１３０５）。なお、Token(AB-TokenまたはAC-Token)がない場合には作成する。
【０３５７】
端末Ａは、端末ＡからＨｏＴリングメッセージ及びＣｏＴリングメッセージを回す順番を示すHoT Ring Data及びCoT Ring Dataを作成する（ステップＳ１３０６）。端末Ａは、生成した鍵データ（BC-Key、CB-Key、BA-Key、CA-Key、AB-Key、AC-Key）、HoT Ring Data、CoT Ring Dataを用いてメッセージ認証コード（BC-MAC、CB-MAC、BA-MAC、CA-MAC、AB-MAC、AC-MAC）を作成する（ステップＳ１３０７）。また、端末Ａは、端末Ｂと端末Ｃに送信するためのRing Token（AB-HoT Ring Token、AC-HoT Ring Token、AB-CoT Ring Token、AC-CoT Ring Token）を生成する（ステップＳ１３０８）。
【０３５８】
端末Ａは、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成し、送信し、ＨｏＴリングメッセージ、ＣｏＴリングメッセージが周回して戻ってくるのを待つ（ステップＳ１３０９）。端末Ａは、所定のタイムアウト前にメッセージを受信したか否かを判定する（ステップＳ１３１０）。メッセージを受信した場合、端末Ａは端末Ｂ、Ｃから送信されたRing Tokenを取得し、鍵データを生成し、メッセージ認証コードを作成し、端末Ｂ、ＣにＢＵメッセージを送信する（ステップＳ１３１１）。なお、ステップＳ１３１０において、メッセージを受信しなかった場合、端末Ａは再送回数が所定の値Ｎより小さいのであれば再送する（ステップＳ１３１２）。また、ステップＳ１３０２において、応答を受信せず、Tokenを取得しない場合、端末Ａはリングアップデートを取りやめる（ステップＳ１３１３）。
【０３５９】
次に、リングバインディングアップデートに参加する側の移動端末の処理フローについて図１４を用いて説明する。図１４に示すように、例えば、端末Ｂは、ＨｏＴリングメッセージ又はＣｏＴリングメッセージを受信する（ステップＳ１４０１）。端末Ｂは、転送判定用のＭＡＣが正しいか否かを判断し（ステップＳ１４０２）、正しい場合、端末ＢはＨｏＴリングメッセージ及びＣｏＴリングメッセージの両方を受信した場合、Ring Token（HoA、CoA）が揃っているか確認し、揃っている場合に鍵データを作成し、メッセージ認証コードを作成し、ＢＵメッセージを送信する（ステップＳ１４０３）。
【０３６０】
端末Ｂは、リングメッセージの転送先あてにRing Tokenを生成する（ステップＳ１４０４）。端末Ｂは、リングメッセージの転送先が残っている場合には、転送先端末に対するRing Tokenを付加してリングメッセージを転送する（ステップＳ１４０５）。なお、ステップＳ１４０２において、転送判定用のＭＡＣが正しくない場合、端末Ｂは転送しないことを決定する。このとき、エラー通知をリングバインディングアップデートの開始端末へ送信してもよい（ステップＳ１４０６）。
【０３６１】
＜第４の実施の形態＞
第４の実施の形態について説明する。ここでは、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを継続的に送信する方法について説明する。上記に説明したように、転送の可否を判定する情報をＨｏＴリングメッセージ、ＣｏＴリングメッセージに付加するためには、事前にTokenを収集する処理が必要である。もし、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを送信するたびにToken収集処理を行うとしたら、メッセージ数の削減効果が小さくなってしまう。そのため、ＨｏＴリングメッセージ、ＣｏＴリングメッセージによって、次回の転送判定処理のためのTokenの収集を併せて行う。
【０３６２】
端末Ａが送信するＨｏＴリングメッセージは、端末Ａ→端末Ｂ→端末Ｃ→端末Ａ→端末Ｂと流れるが、その際、端末Ｂは端末ＣあてのHome Token及び端末ＡあてのHome TokenをＨｏＴリングメッセージに付加して送信する。端末Ｃは端末ＡあてのHome Token及び端末ＢあてのHome TokenをＨｏＴリングメッセージに付加して送信する。これらのTokenは端末Ａによって回収され、次のＨｏＴリングメッセージの転送判定のための認証コードの生成に利用される。
【０３６３】
BC-Home Token = SHA1 (C-HoA, B's secret key, nonce)
BA-Home Token = SHA1 (A-HoA, B's secret key, nonce)
CA-Home Token = SHA1 (A-HoA, C's secret key, nonce)
CB-Home Token = SHA1 (B-HoA, C's secret key, nonce)
【０３６４】
一方、ＣｏＴリングメッセージの場合は、端末Ａ→端末Ｃ→端末Ｂ→端末Ａ→端末Ｃと流れる。端末Ｃは、端末ＢあてのCare-of Token及び端末ＡあてのCare-of TokenをＣｏＴに付加し、端末Ｂは、端末ＣあてのCare-of Token及び端末ＡあてのCare-of TokenをＣｏＴに付加する。端末ＡはこれらのTokenを回収する。
【０３６５】
CB-Care-of Token = SHA1 (B-CoA, C's secret key, nonce)
CA-Care-of Token = SHA1 (A-CoA, C's secret key, nonce)
BC-Care-of Token = SHA1 (C-CoA, B's secret key, nonce)
BA-Care-of Token = SHA1 (A-CoA, B's secret key, nonce)
【０３６６】
この場合もＨｏＴリングメッセージとＣｏＴリングメッセージが逆向きに流れることによって、Home TokenとCare-of Tokenは端末Ａだけが両方回収することが可能となる。このように端末ＡだけがＨｏＴリングメッセージ、ＣｏＴリングメッセージの送信を開始できるのは、最初にＨｏＴリングメッセージ、ＣｏＴリングメッセージを開始するためのTokenを回収した端末であるためである。つまり、端末Ｂ及び端末Ｃは、端末Ａに対してTokenを提供してもよいと判断を行っている。以上より、ＨｏＴリングメッセージ、ＣｏＴリングメッセージにより次回のＨｏＴリングメッセージ、ＣｏＴリングメッセージのためのTokenを回収することによってメッセージ数の削減を可能にする。
【０３６７】
ここで、第４の実施の形態についてより詳細に説明する。すなわち、次回のリングメッセージ用の転送判定情報をリングメッセージに追加する場合について説明する。上述した実施の形態と同様、端末Ａ、端末Ｂ、端末Ｃが存在する場合を考える。端末Ａは端末Ｂに対してバインディングアップデートを行い、端末Ｂも端末Ａに対してバインディングアップデートを行う。同様に、端末Ａは端末Ｃに対してバインディングアップデートを行い、端末Ｃも端末Ａに対してバインディングアップデートを行う。このような状況のとき、端末Ａは気付アドレス（ＣｏＡ）を継続して使用するためには、端末Ｂ及び端末Ｃに対してバインディングアップデートを７分ごとに行わなければならない。そこで、端末Ａは、３端末間で送受信される総メッセージ数を削減するために、グループ間バインディングアップデート処理を開始する。
【０３６８】
端末Ａは、端末Ｃに対してバインディングアップデートを行うよう、端末Ｂに指示する。端末Ｂは、拒否することができる。拒否した場合には、グループ間バインディングアップデートは中止され、端末Ａ、端末Ｂ、端末Ｃの間では従来のＭＩＰによるバインディングアップデートが行われる。端末Ｂが既に端末Ｃとの間にバインディングアップデートを行っている場合には、その結果として端末Ｃから端末Ｂに送信された以下に示すCB-Home-Token及びCB-Care-of-Tokenを端末Ａに送信する。
【０３６９】
CB-Home Token = SHA1 (B-Home Address, C's secret key, CB-home nonce)
CB-Care-of Token = SHA1 (B-Care-of Address, C's secret key, CB-care-of nonce)
【０３７０】
端末Ｂが、CB-Home Token、CB-Care-of Tokenを保持している場合は、その値を端末Ａに送信する。もし、保持していない場合は、端末ＣにＨｏＴＩ及びＣｏＴＩを送信し、CB-Home Token及びCB-Care-of Tokenを取得する。この場合、ＢＵメッセージを送信しなくても構わない。端末Ｂが、新たに端末Ｃに対してＢＵする場合には、ＨｏＴＩ及びＣｏＴＩの送信に引き続き、ＨｏＴ及びＣｏＴを受信し、ＢＵメッセージを送信する。
【０３７１】
端末Ｂは、CB-Home Token及びCB-Care-of Tokenを端末Ａに送信する際、端末ＡのHome AddressあてにCB-Home Tokenを送信し、端末ＡのCare-of AddressあてにCB-Care-of Tokenを送信する。これは、端末Ａ以外の端末が両方のTokenを手に入れる可能性をできるだけ排除するためである。また、端末ＢはTokenと併せてnonceも送信する。同様に、端末Ａは端末Ｃに対して端末Ｂにバインディングアップデートを行うように指示する。端末Ｃは、端末Ａに以下に示すBC-Home TokenとBC-Care-of Tokenを送信する。
【０３７２】
BC-Home Token = SHA1 (C-Home Address, B's secret key, BC-home nonce)
BC-Care-of Token = SHA1 (C-Care-of Address, B's secret key, BC-care-of nonce)
【０３７３】
端末Ａは、端末Ｂ及び端末Ｃに対するバインディングアップデートの指示とは別に、端末Ｂ及び端末Ｃから端末Ａあての以下に示すBA-Home Token、BA-Care-of Token、CA-Home Token、CA-Care-of Tokenを送信させる。既に端末Ａが保持している場合には、その値を用いてよい。もし保持していない場合には、端末Ｂ及び端末ＣにＨｏＴＩ及びＣｏＴＩを送信し、Tokenの値を取得する。この場合ＢＵメッセージの送信を省略してもよい。
【０３７４】
BA-Home Token = SHA1 (A-Home Address, B's secret key, BA-home nonce)
BA-Care-of Token = SHA1 (A-Care-of Address, B's secret key, BA-care-of nonce)
CA-Home Token = SHA1 (A-Home Address, C's secret key, CA-home nonce)
CA-Care-of Token = SHA1 (A-Care-of Address, C's secret key, CA-care-of nonce)
【０３７５】
また、先に説明した端末Ｂに対する端末Ｃへのバインディングアップデートの指示と併せてもよい。つまり、端末Ａは、端末ＢからCB-Home TokenとBA-Home Tokenの両方を一つのメッセージで端末ＡのHome Addressで受信する。また、端末ＢからCB-Care-of TokenとBA-Care-of Tokenの両方を一つのメッセージで端末ＡのCare-of Addressで受信する。端末ＣからはBC-Home Token、BC-Care-of Token、CA-Home Token、CA-Care-of Tokenを受信する。このときTokenと一緒にnonceも受信する。
【０３７６】
さらに、端末Ａは、端末Ｂ及び端末Ｃのホームアドレス（Home Address）、気付アドレス（Care-of Address）を用いて以下に示すTokenを生成する。
【０３７７】
AB-Home Token = SHA1 (B-Home Address, A's secret key, AB-home nonce)
AB-Care-of Token = SHA1 (B-Care-of Address, A's secret key, AB-care-of nonce)
AC-Home Token = SHA1 (C-Home Address, A's secret key, AC-home nonce)
AC-Care-of Token = SHA1 (C-Care-of Address, A's secret key, AC-care-of nonce)
【０３７８】
なお、端末Ａが端末Ｂと端末ＣからTokenを収集する方法として、バインディングアップデートを要求する方法を説明したが、既にTokenを収集している場合には、新たにバインディングアップデートを要求する必要はない。例えば、既にＨｏＴリングメッセージ及びＣｏＴリングメッセージを送信し、Tokenを収集している場合である。
【０３７９】
端末Ａは取得したTokenを用いて以下に示すＫｅｙを生成する。
【０３８０】
CB-Key = SHA1 (CB-Home Token, CB-Care-of Token)
BC-Key = SHA1 (BC-Home Token, BC-Care-of Token)
BA-Key = SHA1 (BA-Home Token, BA-Care-of Token)
CA-Key = SHA1 (CA-Home Token, CA-Care-of Token)
AB-Key = SHA1 (AB-Home Token, AB-Care-of Token)
AC-Key = SHA1 (AC-Home Token, AC-Care-of Token)
【０３８１】
そして、生成されたＫｅｙを用いて認証コードＭＡＣを生成する。認証コードはDataとＫｅｙより生成され、生成される認証コードを以下に示す。
【０３８２】
CB-MAC = SHA1 (CB-Key, Data)
BC-MAC = SHA1 (BC-Key, Data)
BA-MAC = SHA1 (BA-Key, Data)
CA-MAC = SHA1 (CA-Key, Data)
AB-MAC = SHA1 (AB-Key, Data)
AC-MAC = SHA1 (AC-Key, Data)
【０３８３】
認証コードの元となるDataは任意のデータでよいが、例えばＨｏＴリングの場合ならば、ＨｏＴリングメッセージ、ＣｏＴリングメッセージの送信順番を示すデータ（例えば、以下に示す情報であるHoT Ring Data、CoT Ring Data）を使用することができる。
【０３８４】
HoT Ring Data = (B-Home Address, C-Home Address, A-Home Address)
CoT Data = (C-Care-of Address, B-Care-of Address, A-Care-of Address)
【０３８５】
以上の認証コード及びnonceは、送信するＨｏＴリングメッセージ、ＣｏＴリングメッセージに付加され、中継する端末がメッセージを転送してよいかどうかの判定を行う際に利用される。
【０３８６】
次に、端末Ａは端末Ｂ及び端末Ｃに送信するTokenを生成する。これらのTokenを上述したTokenと区別するために、HoT Ring Token, CoT Ring Tokenと呼び、それらを以下に示す。これらの情報を用いて端末ＡはＨｏＴリングメッセージ、ＣｏＴリングメッセージを生成する。
【０３８７】
AB-HoT Ring Token = SHA1 (B-Home Address, A's secret key, AB-HoT ring nonce)
AC-HoT Ring Token = SHA1 (C-Home Address, A's secret key, AC-HoT ring nonce)
AB-CoT Ring Token = SHA1 (B-Care-of Address, A's secret key, AB-CoT ring nonce)
AC-CoT Ring Token = SHA1 (C-Care-of Address, A's secret key, AC-CoT ring nonce)
【０３８８】
ＨｏＴリングメッセージにはRing Tokenに関連する情報のほかに、HoT Ring Dataやメッセージ認証コードが付加される。すなわち、以下に示すような情報が付加される。
【０３８９】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
HoT Ring Data
BC-MAC、BC-home nonce、BC-care-of nonce、C-Care-of Address
CA-MAC、CA-home nonce、CA-care-of nonce、A-Care-of Address
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address
【０３９０】
また、同様にＣｏＴリングメッセージにはRing Tokenに関連する情報のほかに、CoT Ring Dataやメッセージ認証コードが付加される。すなわち、以下に示すような情報が付加される。
【０３９１】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
CoT Ring Data
CB-MAC、CB-home nonce、CB-care-of nonce、B-Home Address
BA-MAC、BA-home nonce、BA-care-of nonce、A-Home Address
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address
【０３９２】
端末Ａは、ＨｏＴリングメッセージを端末ＢのHome Addressあてに送信する。また、ＣｏＴリングメッセージを端末ＣのCare-of Addressあてに送信する。
【０３９３】
次に、端末ＢのＨｏＴリング処理について説明する。端末Ｂは、ＨｏＴリングメッセージを受信すると、端末Ｂあての以下に示すようなRing Tokenを保持する。なお、ＨｏＴリングの処理を開始する前に、端末Ａとの間にバインディングキャッシュが存在するか確認してもよい。
【０３９４】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
【０３９５】
端末Ｂは、端末ＣにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、C-Home Address、C-Care-of Address、BC-home nonce、BC-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。
【０３９６】
BC-Home Token = SHA1 (C-Home Address, B's secret key, BC-home nonce)
BC-Care-of Token = SHA1 (C-Care-of Address, B's secret key, BC-care-of nonce)
【０３９７】
さらに、端末ＢはこれらのTokenからＫｅｙを生成する。
【０３９８】
BC-Key = SHA1 (BC-Home Token, BC-Care-of Token)
【０３９９】
そして、端末Ｂは生成されたＫｅｙと認証コードの元となるHoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。
【０４００】
BC-MAC = SHA1 (BC-Key, HoT Ring Data)
【０４０１】
認証コードが正しい場合には、端末Ｂは以下に示すHoT Ring Tokenを生成する。
【０４０２】
BC-HoT Ring Token = SHA1 (C-Home Address, B's secret key, BC-HoT ring nonce)
BA-HoT Ring Token = SHA1 (A-Home Address, B's secret key, BA-HoT ring nonce)
【０４０３】
そして、端末Ｂは以下の情報をＨｏＴリングメッセージに追加する。
【０４０４】
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
【０４０５】
さらに、端末Ｂは端末Ａに次のリングメッセージのためのTokenを付加する。すなわち、以下に示すTokenを付加する。
【０４０６】
BA-Home Token2 = SHA1 (A-Home Address, B's secret key, BA-home nonce2)
BC-Home Token2 = SHA1 (C-Home Address, B's secret key, BC-home nonce2)
【０４０７】
以上の処理により端末Ｂが端末Ｃに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０４０８】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce  （端末Ａからの情報）
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce  （端末Ｂが追加）
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂが追加）
HoT Ring Data
CA-MAC、CA-home nonce、CA-care-of nonce、A-Care-of Address  （端末Ａからの情報）
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address  （端末Ａからの情報）
BA-Home Token2、BA-home nonce2、B-Home Address  （端末Ｂが追加）
BC-Home Token2、BC-home nonce2、C-Home Address  （端末Ｂが追加）
【０４０９】
次に、端末ＣのＨｏＴリング処理について説明する。端末Ｃは、ＨｏＴリングメッセージを受信すると、端末Ｃあての以下に示すRing Tokenを保持する。
【０４１０】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
【０４１１】
端末Ｃは、端末ＡにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ｃは、A-Home Address、A-Care-of Address、CA-home nonce、CA-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。
【０４１２】
CA-Home Token = SHA1 (A-Home Address, C's secret key, CA-home nonce)
CA-Care-of Token = SHA1 (A-Care-of Address, C's secret key, CA-care-of nonce)
【０４１３】
さらに、端末ＣはこれらのTokenからＫｅｙを生成する。
【０４１４】
CA-Key = SHA1 (CA-Home Token, CA-Care-of Token)
【０４１５】
そして、端末Ｃは生成されたＫｅｙと認証コードの元となるHoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。
【０４１６】
CA-MAC = SHA1 (CA-Key, HoT Ring Data)
【０４１７】
認証コードが正しい場合には、端末Ｃは以下に示すHoT Ring Tokenを生成する。
【０４１８】
CA-HoT Ring Token = SHA1 (A-Home Address, C's secret key, CA-HoT ring nonce)
CB-HoT Ring Token = SHA1 (B-Home Address, C's secret key, CB-HoT ring nonce)
【０４１９】
そして、端末Ｃは以下の情報をＨｏＴリングメッセージに追加する。
【０４２０】
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce
【０４２１】
さらに、端末Ｃは端末Ａに次のリングメッセージのためのTokenを付加する。すなわち、以下に示すTokenを付加する。
【０４２２】
CA-Home Token2 = SHA1 (A-Home Address, C's secret key, CA-home nonce2)
CB-Home Token2 = SHA1 (B-Home Address, C's secret key, CB-home nonce2)
【０４２３】
以上の処理により端末Ｃが端末Ａに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０４２４】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce  （端末Ｂからの情報）
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce  （端末Ｃが追加）
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
HoT Ring Data
AB-MAC、AB-home nonce、AB-care-of nonce、B-Care-of Address  （端末Ａからの情報）
BA-Home Token2、BA-home nonce2、B-Home Address  （端末Ｂが追加）
BC-Home Token2、BC-home nonce2、C-Home Address  （端末Ｂが追加）
CA-Home Token2、CA-home nonce2、A-Home Address  （端末Ｃが追加）
CB-Home Token2、CB-home nonce2、B-Home Address  （端末Ｃが追加）
【０４２５】
次に、端末ＡのＨｏＴリング処理について説明する。端末Ａは、ＨｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下の情報を保持する。
【０４２６】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
【０４２７】
端末Ａは、端末ＢにＨｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ａは、B-Home Address、B-Care-of Address、AB-home nonce、AB-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。
【０４２８】
AB-Home Token = SHA1 (B-Home Address, A's secret key, AB-home nonce)
AB-Care-of Token = SHA1 (B-Care-of Address, A's secret key, AB-care-of nonce)
【０４２９】
さらに、端末ＡはこれらのTokenからＫｅｙを生成する。
【０４３０】
AB-Key = SHA1 (AB-Home Token, AB-Care-of Token)
【０４３１】
そして、端末Ａは生成されたＫｅｙと認証コードの元データHoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。
【０４３２】
AB-MAC = SHA1 (CA-Key, HoT Ring Data)
【０４３３】
さらに、端末Ａは、次のリングメッセージのために付加されたTokenを回収する。すなわち、以下に示す情報を回収する。
【０４３４】
BA-Home Token2、BA-home nonce2、B-Home Address
BC-Home Token2、BC-home nonce2、C-Home Address
CA-Home Token2、CA-home nonce2、A-Home Address
CB-Home Token2、CB-home nonce2、B-Home Address
【０４３５】
なお、AB-Home Token2、AC-Home Token2は、ＨｏＴリングメッセージ、ＣｏＴリングメッセージ送信時に端末Ａが生成する。以上の処理により端末Ａが端末Ｂに送信するＨｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０４３６】
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce  （端末Ｃが追加）
【０４３７】
次に、端末ＣのＣｏＴリング処理について説明する。ＨｏＴリング処理もほぼ同じ処理である。端末Ｃは、ＣｏＴリングメッセージを受信すると、端末ＣあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。
【０４３８】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
【０４３９】
端末Ｃは、端末ＢにＣｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ｃは、B-Care-of Address、B-Home Address、CB-home nonce、CB-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。
【０４４０】
CB-Home Token = SHA1 (B-Home Address, C's secret key, CB-home nonce)
CB-Care-of Token = SHA1 (B-Care-of Address, C's secret key, CB-care-of nonce)
【０４４１】
さらに、端末ＣはこれらのTokenからＫｅｙを生成する。
【０４４２】
CB-Key = SHA1 (CB-Home Token, CB-Care-of Token)
【０４４３】
そして、端末Ｃは生成されたＫｅｙと認証コードの元となるCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。
【０４４４】
CB-MAC = SHA1 (CB-Key, CoT Ring Data)
【０４４５】
認証コードが正しい場合には、端末Ｃは以下に示すCoT Ring Tokenを生成する。
【０４４６】
CB-CoT Ring Token = SHA1 (B-Care-of Address, C's secret key, CB-CoT ring nonce)
CA-CoT Ring Token = SHA1 (A-Care-of Address, C's secret key, CA-CoT ring nonce)
【０４４７】
そして、端末Ｃは以下の情報をＣｏＴリングメッセージに追加する。
【０４４８】
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
【０４４９】
さらに、端末Ｃは端末Ａに次のリングメッセージのためのTokenを付加する。すなわち、以下に示す情報を付加する。
【０４５０】
CA-Care-of Token2 = SHA1 (A-Care-of Address, C's secret key, CA-care-of nonce2)
CB-Care-of Token2 = SHA1 (B-Care-of Address, C's secret key, CB-care-of nonce2)
【０４５１】
以上の処理により端末Ｂが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０４５２】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce  （端末Ａからの情報）
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce  （端末Ｃが追加）
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃが追加）
CoT Ring Data
BA-MAC、BA-home nonce、BA-care-of nonce、A-Home Address  （端末Ａからの情報）
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address  （端末Ａからの情報）
CA-Care-of Token2、CA-care-of nonce2、A-Care-of Address  （端末Ｃが追加）
CB-Care-of Token2、CB-care-of nonce2、B-Care-of Address  （端末Ｃが追加）
【０４５３】
次に、端末ＢのＣｏＴリング処理について説明する。端末Ｂは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。
【０４５４】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
【０４５５】
端末Ｂは、端末ＡにＣｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ｂは、A-Home Address、A-Care-of Address、BA-home nonce、BA-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。
【０４５６】
BA-Home Token = SHA1 (A-Home Address, B's secret key, BA-home nonce)
BA-Care-of Token = SHA1 (A-Care-of Address, B's secret key, BA-care-of nonce)
【０４５７】
端末ＢはこれらのTokenからＫｅｙを生成する。
【０４５８】
BA-Key = SHA1 (BA-Home Token, BA-Care-of Token)
【０４５９】
そして、端末Ｂは生成されたＫｅｙと認証コードの元となるCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＨｏＴリングメッセージに付加されていた認証コードと比較する。
【０４６０】
BA-MAC = SHA1 (BA-Key, CoT Ring Data)
【０４６１】
認証コードが正しい場合には、端末Ｂは以下に示すCoT Ring Tokenを生成する。
【０４６２】
BC-CoT Ring Token = SHA1 (C-Care-of Address, B's secret key, BC-CoT ring nonce)
BA-CoT Ring Token = SHA1 (A-Care-of Address, B's secret key, BA-CoT ring nonce)
【０４６３】
そして、端末Ｂは以下の情報をＨｏＴリングメッセージに追加する。
【０４６４】
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce
【０４６５】
さらに、端末Ｂは端末Ａに次のリングメッセージのためのTokenを付加する。すなわち、以下に示すTokenを付加する。
【０４６６】
BA-Care-of Token2 = SHA1 (A-Care-of Address, B's secret key, BA-care-of nonce2)
BC-Care-of Token2 = SHA1 (C-Care-of Address, B's secret key, BC-care-of nonce2)
【０４６７】
以上の処理により端末Ｂが端末Ａに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０４６８】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce  （端末Ｃからの情報）
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce  （端末Ｂが追加）
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce  （端末Ｂが追加）
CoT Ring Data
AC-MAC、AC-home nonce、AC-care-of nonce、C-Home Address  （端末Ａからの情報）
CA-Care-of Token2、CA-care-of nonce2、A-Care-of Address  （端末Ｃからの情報）
CB-Care-of Token2、CB-care-of nonce2、B-Care-of Address  （端末Ｃからの情報）
BA-Care-of Token2、BA-care-of nonce2、A-Care-of Address  （端末Ｂが追加）
BC-Care-of Token2、BC-care-of nonce2、C-Care-of Address  （端末Ｂが追加）
【０４６９】
次に、端末ＡのＣｏＴリング処理について説明する。端末Ａは、ＣｏＴリングメッセージを受信すると、端末ＡあてのRing Tokenを保持する。すなわち、以下に示す情報を保持する。
【０４７０】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
【０４７１】
端末Ａは、端末ＣにＣｏＴリングメッセージを転送するかどうか判定するために認証コードを確認する。まず、端末Ａは、C-Home Address、C-Care-of Address、AC-home nonce、AC-care-of nonceを用いて以下に示すHome TokenとCare-of Tokenを生成する。
【０４７２】
AC-Home Token = SHA1 (C-Home Address, A's secret key, AC-home nonce)
AC-Care-of Token = SHA1 (C-Care-of Address, A's secret key, AC-care-of nonce)
【０４７３】
さらに、端末ＡはこれらのTokenからＫｅｙを生成する。
【０４７４】
AC-Key = SHA1 (AC-Home Token, AC-Care-of Token)
【０４７５】
そして、端末Ａは生成されたＫｅｙと認証コードの元データCoT Ring Dataを用いて以下に示す認証コードＭＡＣを生成し、ＣｏＴリングメッセージに付加されていた認証コードと比較する。
【０４７６】
AC-MAC = SHA1 (AC-Key, CoT Ring Data)
【０４７７】
さらに、端末Ａは次のリングメッセージのために付加されたTokenを回収する。すなわち、以下に示すTokenを回収する。
【０４７８】
CA-Care-of Token2、CA-care-of nonce2、A-Care-of Address
CB-Care-of Token2、CB-care-of nonce2、B-Care-of Address
BA-Care-of Token2、BA-care-of nonce2、A-Care-of Address
BC-Care-of Token2、BC-care-of nonce2、C-Care-of Address
【０４７９】
AB-Care-of Token2、AC-Care-of Token2は、ＨｏＴリングメッセージ、ＣｏＴリングメッセージ送信時に端末Ａが生成する。以上の処理により端末Ａが端末Ｃに送信するＣｏＴリングメッセージに含まれる情報は以下に示す情報である。
【０４８０】
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce （端末Ｂからの情報）
【０４８１】
次に、ＨｏＴリングメッセージ、ＣｏＴリングメッセージの両方を受信した端末の動作を説明する。端末Ｂは、ＨｏＴリングメッセージから以下に示す情報を取得する。
【０４８２】
B-Home Address、AB-HoT Ring Token、AB-HoT ring nonce
B-Home Address、CB-HoT Ring Token、CB-HoT ring nonce
【０４８３】
また、端末ＢはＣｏＴリングメッセージから以下に示す情報を取得する。
【０４８４】
B-Care-of Address、AB-CoT Ring Token、AB-CoT ring nonce
B-Care-of Address、CB-CoT Ring Token、CB-CoT ring nonce
【０４８５】
端末ＢはこれらのTokenを用いてＫｅｙを生成する。
【０４８６】
AB-Key = SHA1 (AB-HoT Ring Token, AB-CoT Ring Token)
CB-Key = SHA1 (CB-HoT Ring Token, CB-CoT Ring Token)
【０４８７】
そして、端末ＢはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAB-HoT ring nonce、AB-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｂは、生成された認証コードなどともにCB-HoT ring nonce、CB-CoT ring nonceを付加したＢＵメッセージを端末Ｃに送信する。
【０４８８】
一方、端末ＣはＨｏＴリングメッセージから以下の情報を取得する。
【０４８９】
C-Home Address、AC-HoT Ring Token、AC-HoT ring nonce
C-Home Address、BC-HoT Ring Token、BC-HoT ring nonce
【０４９０】
また、端末ＣはＣｏＴリングメッセージから以下の情報を取得する。
【０４９１】
C-Care-of Address、AC-CoT Ring Token、AC-CoT ring nonce
C-Care-of Address、BC-CoT Ring Token、BC-CoT ring nonce
【０４９２】
端末ＣはこれらのTokenを用いてＫｅｙを生成する。
【０４９３】
AC-Key = SHA1 (AC-HoT Ring Token, AC-CoT Ring Token)
BC-Key = SHA1 (BC-HoT Ring Token, BC-CoT Ring Token)
【０４９４】
そして、端末ＣはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにAC-HoT ring nonce、AC-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。また、端末Ｃは、生成された認証コードなどとともにBC-HoT ring nonce、BC-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。
【０４９５】
一方、端末ＡはＨｏＴリングメッセージから以下に示す情報を取得する。
【０４９６】
A-Home Address、BA-HoT Ring Token、BA-HoT ring nonce
A-Home Address、CA-HoT Ring Token、CA-HoT ring nonce
【０４９７】
また、端末ＡはＣｏＴリングメッセージから以下に示す情報を取得する。
【０４９８】
A-Care-of Address、CA-CoT Ring Token、CA-CoT ring nonce
A-Care-of Address、BA-CoT Ring Token、BA-CoT ring nonce
【０４９９】
端末ＡはこれらのTokenを用いてＫｅｙを生成する。
【０５００】
BA-Key = SHA1 (BA-HoT Ring Token, BA-CoT Ring Token)
CA-Key = SHA1 (CA-HoT Ring Token, CA-CoT Ring Token)
【０５０１】
そして、端末ＡはこれらＫｅｙを用いて認証コードを生成し、生成された認証コードなどとともにBA-HoT ring nonce、BA-CoT ring nonceを付加したＢＵメッセージを端末Ｂに送信する。また、端末Ａは、生成された認証コードなどとともにCA-HoT ring nonce、CA-CoT ring nonceを付加したＢＵメッセージを端末Ａに送信する。
【０５０２】
なお、端末数が４以上の場合も同様に処理することができる。例えば、端末数が４つの場合には、端末Ａは、端末Ｄに対して、端末Ｂ及び端末Ｃにバインディングアップデートを行うように指示する。また、端末Ｂ及び端末Ｃに対して、端末Ｄにバインディングアップデートを行うように指示する。そして端末ＡはTokenを収集する。端末Ａは、リングリストを生成し、各端末に送信するTokenを生成するとともに、認証コードを生成し、これらの情報を付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージを送信する。
【０５０３】
次に、上述したリングバインディングアップデートを開始する側の移動端末について図１５を用いて説明する。ここでは、端末Ａが端末Ｂ及び端末Ｃとリングバインディングアップデートを行う場合の端末Ａについて説明する。端末Ａでは、端末Ｂ及び端末Ｃに対して相互にＢＵすることを要求するメッセージをメッセージ作成部１５０１で作成し、メッセージ送信部１５０２より送信する。送信されたメッセージに対する応答メッセージをメッセージ受信部１５０３において受信し、応答メッセージに含まれるTokenを転送判定用Ｔｏｋｅｎ保存部１５０４に保存する。
【０５０４】
また、端末Ａが収集したTokenを用いて転送判定用のメッセージ認証コードを生成する際、転送判定用Ｔｏｋｅｎ保存部１５０４よりTokenを取得し、Ｋｅｙ生成部１５０５において鍵データを生成する。メッセージ認証コード生成部１５０６は、Ｒｉｎｇ  Ｄａｔａ作成部１５０７よりRing Dataを取得し、Ｋｅｙ生成部１５０５により生成された鍵データを用いてメッセージ認証コードを生成する。
【０５０５】
また、Ｔｏｋｅｎ生成部１５０８においてRing Tokenを生成する。Token生成に使用したNonceはＮｏｎｃｅ管理部１５０９において管理・保存される。メッセージ作成部１５０１は、転送判定用のメッセージ認証コードとRing DataとRing Tokenを付加したＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成し、メッセージ送信部１５０２より送信する。
【０５０６】
その後、周回したリングメッセージをメッセージ受信部１５０３において受信すると、自端末あてのRing TokenをＲｉｎｇ  Ｔｏｋｅｎ保存部１５１０に保存する。なお、転送先が残っている場合には、Ｔｏｋｅｎ生成部１５０８においてTokenを生成し、Ｋｅｙ生成部１５０５において鍵データを作成し、メッセージに付加されているRing Dataを用いてメッセージ認証コード生成部１５０６においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、メッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部１５１１において比較し、リングメッセージ転送判定部１５１２において転送を行うかどうか判定する。また、リングメッセージに含まれる次回のリングメッセージ用のTokenを転送判定用Ｔｏｋｅｎ保存部１５０４に保存する。
【０５０７】
Ｒｉｎｇ  Ｔｏｋｅｎ保存部１５１０にHome TokenとCare-of Tokenの両方のTokenが揃った場合には、Ｋｅｙ生成部１５０５において鍵データを作成し、メッセージ認証コード生成部１５０６においてメッセージデータをもとにメッセージ認証コードを生成する。メッセージ作成部１５０１において、生成されたメッセージ認証コードをＢＵメッセージに付加し、メッセージ送信部１５０２より送信する。
【０５０８】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩをメッセージ受信部１５０３において受信すると、Ｔｏｋｅｎ生成部１５０８においてTokenを生成し、メッセージ作成部１５０１で応答メッセージを作成し、メッセージ送信部１５０２から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部１５０９において保存・管理する。
【０５０９】
そして、ＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部１５０８においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部１５０５において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部１５０６においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部１５１１において比較し、一致している場合には、バインディングキャッシュ管理部１５１３にバインディングキャッシュを登録する。
【０５１０】
次に、リングバインディングアップデートに参加する側の移動端末について図１６を用いて説明する。ここでは、端末Ａが端末Ｂ及び端末Ｃに対してリングバインディングアップデートを行う場合の端末Ｂについて説明する。端末Ｂは、端末Ａからの要求に応じて、端末ＣにＨｏＴＩ／ＣｏＴＩを送信し、ＨｏＴ／ＣｏＴを受信する。そして、ＨｏＴ／ＣｏＴに含まれるTokenをそれぞれ端末ＡのＨｏＡ及びＣｏＡあてに送信する。この処理において、端末Ｂは端末Ａからの要求をメッセージ受信部１６０１において受信すると、メッセージ作成部１６０２においてＨｏＴＩ／ＣｏＴＩを作成し、メッセージ送信部１６０３より送信する。
【０５１１】
端末ＢがＨｏＴ／ＣｏＴを受信すると、端末Ｂは、端末Ｃに対してはＫｅｙ生成部１６０４において鍵データを生成し、メッセージ認証コード生成部１６０５においてメッセージ認証コードを作成し、ＢＵメッセージに付加して送信する。一方、端末Ａに対しては、メッセージ作成部１６０２においてＨｏＡ及びＣｏＡあてのTokenを送信するメッセージを作成し、メッセージ送信部１６０３より送信する。
【０５１２】
端末Ｂは、端末ＡからＨｏＴリングメッセージ又はＣｏＴリングメッセージを受信すると、最初に、転送判定用のメッセージ認証コードを確認する。そのために、リングメッセージに含まれる転送先端末のアドレスと、メッセージに含まれるNonce-IDを用いてＮｏｎｃｅ管理部１６０６から取得したNonceを用いてTokenを生成する。その生成されたHome TokenとCare-of Tokenを用いて、Ｋｅｙ生成部１６０４で鍵データを生成する。生成された鍵データとメッセージに付加されていたRing Dataを用いて、メッセージ認証コード生成部１６０５においてメッセージ認証コードを作成し、メッセージ認証コード比較部１６０７においてリングメッセージに付加されていたメッセージ認証コードと作成したメッセージ認証コードを比較する。メッセージ認証コードが一致した結果を受けて、リングメッセージ転送判定部１６０８は転送することを決定する。
【０５１３】
Ｒｉｎｇ  Ｔｏｋｅｎ保存部１６０９においてリングメッセージに含まれていた自端末あてのRing Tokenを保管する。メッセージ作成部１６０２は、Ｔｏｋｅｎ生成部１６１０で作成された転送先端末あてのRing Tokenと次回のリングメッセージで用いるTokenを、転送するリングメッセージに付加する。そしてメッセージ送信部１６０３より送信する。そして、リングメッセージを受信し、HoT Ring TokenとCoT Ring Tokenの両方が揃った場合には、ＢＵメッセージを作成するために、Ｋｅｙ生成部１６０４で鍵データを作成し、メッセージ認証コード生成部１６０５においてメッセージ認証コードを作成し、作成されたメッセージ認証コードをメッセージ作成部１６０２においてＢＵメッセージに付加し、メッセージ送信部１６０３より送信する。
【０５１４】
以下、通常のＭＩＰのバインディングアップデートの処理と同じであるので簡単に説明する。ＨｏＴＩ／ＣｏＴＩをメッセージ受信部１６０１において受信すると、Ｔｏｋｅｎ生成部１６１０においてTokenを生成し、メッセージ作成部１６０２で応答メッセージを作成し、メッセージ送信部１６０３から送信する。Token生成時に使用したNonceはＮｏｎｃｅ管理部１６０６において保存・管理する。
【０５１５】
そして、端末ＢがＢＵメッセージを受信すると、含まれるアドレス及びNonce-IDを用いて、Ｔｏｋｅｎ生成部１６１０においてHome TokenとCare-of Tokenを生成する。生成されたTokenを用いてＫｅｙ生成部１６０４において鍵データを生成し、鍵データとメッセージデータを用いてメッセージ認証コード生成部１６０５においてメッセージ認証コードを作成する。作成されたメッセージ認証コードと、ＢＵメッセージに付加されていたメッセージ認証コードをメッセージ認証コード比較部１６０７において比較し、一致している場合には、バインディングキャッシュ管理部１６１１にバインディングキャッシュを登録する。
【０５１６】
次に、リングバインディングアップデートを開始する側の移動端末の処理フローについて図１７を用いて説明する。図１７に示すように、端末Ａはリングメッセージなどにより既にTokenを取得しているか確認する（ステップＳ１７０１）。既に取得している場合、端末Ａは、転送判定用のメッセージ認証コードを生成するために、取得したToken（BC-Token及びCB-Token）を用いて鍵データ（BC-Key及びCB-Key）を生成する（ステップＳ１７０２）。
【０５１７】
端末Ａは、端末Ａから端末Ｂ、Ｃに対するＢＵのときに取得したToken（BA-Token及びCA-Token）を用いて鍵データ（BA-Key及びCA-Key）を生成する（ステップＳ１７０３）。なお、Token(BA-TokenまたはCA-Token)がない場合にはＨｏＴＩ、ＣｏＴＩを送信して取得する。端末Ａは、端末Ｂ、Ｃから端末Ａに対するＢＵのときに生成したToken（AB-Token及びAC-Token）を用いて鍵データ（AB-Key及びAC-Key）を生成する（ステップＳ１７０４）。なお、Token(AB-TokenまたはAC-Token)がない場合には作成する。
【０５１８】
端末Ａは、端末ＡからＨｏＴリングメッセージ及びＣｏＴリングメッセージを回す順番を示すHoT Ring Data及びCoT Ring Dataを作成する（ステップＳ１７０５）。端末Ａは、生成した鍵データ（BC-Key、CB-Key、BA-Key、CA-Key、AB-Key、AC-Key）、HoT Ring Data、CoT Ring Dataを用いてメッセージ認証コード（BC-MAC、CB-MAC、BA-MAC、CA-MAC、AB-MAC、AC-MAC）を作成する（ステップＳ１７０６）。また、端末Ａは、端末Ｂと端末Ｃに送信するためのRing Token（AB-HoT Ring Token、AC-HoT Ring Token、AB-CoT Ring Token、AC-CoT Ring Token）を生成する（ステップＳ１７０７）。
【０５１９】
端末Ａは、ＨｏＴリングメッセージ、ＣｏＴリングメッセージを作成し、送信し、ＨｏＴリングメッセージ、ＣｏＴリングメッセージが周回して戻ってくるのを待つ（ステップＳ１７０８）。端末Ａは、所定のタイムアウト前にメッセージを受信したか否かを判定する（ステップＳ１７０９）。メッセージを受信した場合、端末Ａは端末Ｂ、Ｃから送信されたRing Tokenを取得し、鍵データを生成し、メッセージ認証コードを作成し、端末Ｂ、ＣにＢＵメッセージを送信する（ステップＳ１７１０）。端末Ａは、次回のＨｏＴリングメッセージ、ＣｏＴリングメッセージの転送判定用情報作成のためのTokenを回収し、次の端末に転送する（ステップＳ１７１１）。なお、ステップＳ１７０９において、メッセージを受信しなかった場合、端末Ａは再送回数が所定の値Ｎより小さいのであれば再送する（ステップＳ１７１２）。
【０５２０】
また、ステップＳ１７０１において、Tokenを取得しない場合、端末Ａから端末Ｂ、ＣにＢＵしていて、逆に端末Ｂ、Ｃからも端末ＡにＢＵしている状態で、端末Ａは端末Ｂと端末Ｃの間でもお互いにＢＵするよう要求し、応答にTokenの値を要求する（ステップＳ１７１３）。端末Ａは、応答があり、Tokenを取得したか否かを判定し（ステップＳ１７１４）、応答がありTokenを取得したと判断した場合、ステップＳ１７０２へ進み、Tokenを取得していないと判断した場合、リングアップデートを取りやめる（ステップＳ１７１５）。
【０５２１】
次に、リングバインディングアップデートに参加する側の移動端末の処理フローについて図１８を用いて説明する。図１８に示すように、例えば、端末Ｂは、ＨｏＴリングメッセージ又はＣｏＴリングメッセージを受信する（ステップＳ１８０１）。端末Ｂは、転送判定用のＭＡＣが正しいか否かを判断し（ステップＳ１８０２）、正しい場合、端末ＢはＨｏＴリングメッセージ及びＣｏＴリングメッセージの両方を受信した場合、Ring Token（HoA、CoA）が揃っているか確認し、揃っている場合に鍵データを作成し、メッセージ認証コードを作成し、ＢＵメッセージを送信する（ステップＳ１８０３）。
【０５２２】
端末Ｂは、リングメッセージの転送先あてにRing Tokenを生成する（ステップＳ１８０４）。端末Ｂは、次のリングメッセージのためのTokenをリングバインディングアップデートの開始端末あてに生成する（ステップＳ１８０５）。端末Ｂは、リングメッセージの転送先が残っている場合には、Ring Token及び次のリングメッセージ用のTokenを付加してリングメッセージを転送する（ステップＳ１８０６）。なお、ステップＳ１８０２において、転送判定用のＭＡＣが正しくない場合、端末Ｂは転送しないことを決定し、エラー通知をリングバインディングアップデートの開始端末へ送信する（ステップＳ１８０７）。
【０５２３】
なお、ここでは、端末Ａがリングメッセージを送信する相手端末を決定する場合について説明したが、ネットワークの中に存在するサーバが決定してもよい。例えば、サーバがリングメッセージを周回させるメンバーを決め、所定の端末にリングメッセージを送信するように指示を出してもよい。また、端末上で動作するグループ通信用のアプリケーションが、リングメッセージを周回させる端末メンバーを決定し、リングバインディングアップデートを開始するように指示を出してもよい。
【０５２４】
なお、上記の本発明の各実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるＬＳＩ（Large Scale Integration）として実現される。これらは個別に１チップ化されてもよいし、一部又はすべてを含むように１チップ化されてもよい。なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
【産業上の利用可能性】
【０５２５】
本発明に係るバインディング更新方法及びその方法で用いられる移動端末は、端末間で行われるバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに端末間のバインディングアップデートにかかる処理時間を短縮できるため、バインディングアップデートにより経路の最適化がなされた通信端末間のバインディングを更新するバインディング更新方法及びその方法で用いられる移動端末などに有用である。
【図面の簡単な説明】
【０５２６】
【図１Ａ】本発明の第１の実施の形態における３つの端末Ａ、Ｂ、ＣがそれぞれＢＵを行った場合を示す図
【図１Ｂ】図１Ａのメッセージを分割した場合を示す図
【図１Ｃ】図１Ｂの分割されたメッセージを並び替えた場合を示す図
【図１Ｄ】図１Ｃのメッセージをまとめた場合を示す図
【図２】本発明の第１〜３の実施の形態に係るリングバインディングアップデートを開始する側の移動端末の構成の一例を示す構成図
【図３】本発明の第１〜３の実施の形態に係るリングバインディングアップデートに参加する側の移動端末の構成の一例を示す構成図
【図４】本発明の第１、２の実施の形態におけるリングバインディングアップデートを開始する側の移動端末の処理フローの一例について説明するためのフローチャート
【図５】本発明の第１、２の実施の形態におけるリングバインディングアップデートに参加する側の移動端末の処理フローの一例について説明するためのフローチャート
【図６Ａ】本発明の第２の実施の形態における３つの端末Ａ、Ｂ、ＣがそれぞれＢＵを行った場合を示す図
【図６Ｂ】図６Ａのメッセージを分割した場合を示す図
【図６Ｃ】図６Ｂの分割されたメッセージを並び替えた場合を示す図
【図６Ｄ】図６Ｃのメッセージをまとめた場合を示す図
【図７Ａ】図６Ｄに示すメッセージの流れのうちの一つを表現した図
【図７Ｂ】図６Ｄに示すメッセージの流れのうちの一つを表現した図
【図７Ｃ】図６Ｄに示すメッセージの流れのうちの一つを表現した図
【図８】本発明の第２の実施の形態におけるメッセージ数を比較するための図
【図９Ａ】本発明の第３の実施の形態における転送判定における認証コードの生成について説明するための図
【図９Ｂ】本発明の第３の実施の形態における転送判定における認証コードの生成について説明するための他の図
【図１０Ａ】本発明の第３の実施の形態における転送判定における認証コードの生成について説明するための他の図
【図１０Ｂ】本発明の第３の実施の形態における転送判定における認証コードの生成について説明するための他の図
【図１１Ａ】本発明の第３の実施の形態における端末ＣでのＨｏＴリングメッセージの転送判定処理について説明するための図
【図１１Ｂ】本発明の第３の実施の形態における端末ＣでのＨｏＴリングメッセージの転送判定処理について説明するための他の図
【図１１Ｃ】本発明の第３の実施の形態における端末ＣでのＨｏＴリングメッセージの転送判定処理について説明するための他の図
【図１２Ａ】本発明の第３の実施の形態における端末ＢでのＣｏＴリングメッセージの転送判定処理について説明するための図
【図１２Ｂ】本発明の第３の実施の形態における端末ＢでのＣｏＴリングメッセージの転送判定処理について説明するための他の図
【図１２Ｃ】本発明の第３の実施の形態における端末ＢでのＣｏＴリングメッセージの転送判定処理について説明するための他の図
【図１３】本発明の第３の実施の形態におけるリングバインディングアップデートを開始する側の移動端末の処理フローの一例について説明するためのフローチャート
【図１４】本発明の第３の実施の形態におけるリングバインディングアップデートに参加する側の移動端末の処理フローの一例について説明するためのフローチャート
【図１５】本発明の第４の実施の形態に係るリングバインディングアップデートを開始する側の移動端末の構成の一例を示す構成図
【図１６】本発明の第４の実施の形態に係るリングバインディングアップデートに参加する側の移動端末の構成の一例を示す構成図
【図１７】本発明の第４の実施の形態におけるリングバインディングアップデートを開始する側の移動端末の処理フローの一例について説明するためのフローチャート
【図１８】本発明の第４の実施の形態におけるリングバインディングアップデートに参加する側の移動端末の処理フローの一例について説明するためのフローチャート
【図１９Ａ】従来のバインディングアップデートにおける問題を説明するための図
【図１９Ｂ】従来のバインディングアップデートにおける問題を説明するための他の図
【図１９Ｃ】従来のバインディングアップデートにおける問題を説明するための他の図
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１Ａ】
2009087738.tif 000038
【図１Ｂ】
2009087738.tif 000039
【図１Ｃ】
2009087738.tif 000040
【図１Ｄ】
2009087738.tif 000041
【図２】
2009087738.tif 000042
【図３】
2009087738.tif 000043
【図４】
2009087738.tif 000044
【図５】
2009087738.tif 000045
【図６Ａ】
2009087738.tif 000046
【図６Ｂ】
2009087738.tif 000047
【図６Ｃ】
2009087738.tif 000048
【図６Ｄ】
2009087738.tif 000049
【図７Ａ】
2009087738.tif 000050
【図７Ｂ】
2009087738.tif 000051
【図７Ｃ】
2009087738.tif 000052
【図８】
2009087738.tif 000053
【図９Ａ】
2009087738.tif 000054
【図９Ｂ】
2009087738.tif 000055
【図１０Ａ】
2009087738.tif 000056
【図１０Ｂ】
2009087738.tif 000057
【図１１Ａ】
2009087738.tif 000058
【図１１Ｂ】
2009087738.tif 000059
【図１１Ｃ】
2009087738.tif 000060
【図１２Ａ】
2009087738.tif 000061
【図１２Ｂ】
2009087738.tif 000062
【図１２Ｃ】
2009087738.tif 000063
【図１３】
2009087738.tif 000064
【図１４】
2009087738.tif 000065
【図１５】
2009087738.tif 000066
【図１６】
2009087738.tif 000067
【図１７】
2009087738.tif 000068
【図１８】
2009087738.tif 000069
【図１９Ａ】
2009087738.tif 000070
【図１９Ｂ】
2009087738.tif 000071
【図１９Ｃ】
2009087738.tif 000072
【国際調査報告】
2009087738.tif 000073
2009087738.tif 000074
2009087738.tif 000075