JPWO2009090722A1 - バインディング更新方法及びその方法で用いられる移動端末 - Google Patents
バインディング更新方法及びその方法で用いられる移動端末 Download PDFInfo
- Publication number
- JPWO2009090722A1 JPWO2009090722A1 JP2009549913A JP2009549913A JPWO2009090722A1 JP WO2009090722 A1 JPWO2009090722 A1 JP WO2009090722A1 JP 2009549913 A JP2009549913 A JP 2009549913A JP 2009549913 A JP2009549913 A JP 2009549913A JP WO2009090722 A1 JPWO2009090722 A1 JP WO2009090722A1
- Authority
- JP
- Japan
- Prior art keywords
- message
- mobile terminal
- terminal
- token
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/08—Mobility data transfer
- H04W8/082—Mobility data transfer for traffic bypassing of mobility servers, e.g. location registers, home PLMNs or home agents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0212—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
- H04W52/0216—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/04—Network layer protocols, e.g. mobile IP [Internet Protocol]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
必要なメッセージ数を減少させることにより、端末の消費電力を削減でき、両端末のバインディングアップデートにかかる処理時間を短縮できるバインディング更新方法などを提供する技術が開示され、その技術によれば第1の移動端末が所定の第1移動端末情報を含めた、所定の第2移動端末情報の取得のための第1の1組のメッセージを第2の移動端末へ送信し、第2の移動端末が所定の第2移動端末情報を含めた第2の1組のメッセージを送信し、第1の移動端末が、所定の第2移動端末情報に基づき生成した認証情報を付加した第3のメッセージを送信し、第2の移動端末が第3のメッセージへの応答情報を含めた、所定の第1移動端末情報に基づき生成した認証情報を付加した第4のメッセージを送信し、第1の移動端末からの認証情報が正当である場合にバインディング情報を更新し、第1の移動端末が第2の移動端末からの認証情報が正当である場合にバインディング情報を更新する。
Description
本発明は、バインディングアップデートにより経路の最適化がなされた通信端末間のバインディングを更新するバインディング更新方法及びその方法で用いられる移動端末に関する。
従来から、通信装置が移動しても移動前と同じIPアドレスを使い続けることができる技術としてモバイルIPが存在する。モバイルIPでは、ホームエージェント(home agent)が移動通信装置(mobile node)のホームアドレス(home address)あてのパケットを受信し、移動通信装置の気付アドレス(CoA:Care-of Address)に転送する。このため、移動通信装置は移動に伴うアドレス変更によらず、ホームアドレスを用いた通信を継続できる。
また、パケットがホームエージェントを経由することによって移動通信装置と通信相手装置(CN:correspondent node)の通信経路が遠回りになることを改善するために、移動通信装置と通信相手装置の通信経路を直接結ぶ経路最適化(Route Optimization)技術が存在する。この経路最適化技術は、通信相手装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させることによって、気付アドレスを用いて通信することを特徴とする。この通信相手装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させる処理は、バインディング更新処理(BU:Binding Update)と呼ばれている。
通信相手装置に対するバインディング更新処理では、ホームエージェントに対するバインディング更新処理とは異なり、バインディング更新前処理(RR:Return Routability Procedure)を必要としている。ホームエージェントと移動通信装置との間では、信頼関係をあらかじめ築いておくことができるため、このバインディング更新前処理を必要としない。ホームエージェントに対するバインディング更新処理においては、移動通信装置がホームエージェントにホームアドレスに対する新しい気付アドレスを通知したとき、ホームエージェントは、事前に確立しておいた信頼関係(IPsec SAなど)によって移動通信装置からのバインディング更新要求であることを確認することができる。
一方、通信相手装置の場合、すべての通信相手となる可能性のある通信装置に対して、バインディング更新処理を行う前に、移動通信装置と通信相手装置との間にあらかじめ信頼関係を確立しておくことは困難である。もし、信頼関係がない状態で通信相手装置がバインディング更新の要求に従ってしまうならば、移動通信装置に成りすました攻撃が容易になる。そして、攻撃者が通信相手装置にバインディング更新処理を行うと、移動通信装置へのパケットを不正な気付アドレスに転送させることが可能になる。これを防ぐ技術がバインディング更新前処理である。
具体的には、バインディング更新前処理では、ホームアドレステスト処理(Home Test)、気付アドレステスト処理(Care-of Test)を行う。これらの処理の結果をバインディング更新処理に反映させることによって、不正なバインディング更新処理を防いでいる。なお、従来技術として説明した、モバイルIP、経路最適化、バインディング更新前処理については、後述する非特許文献1に記載されている。また、バインディング更新前処理の設計思想については、後述する非特許文献2に記載されている。
バインディング更新前処理についてもう少し詳しく説明する。ホームアドレステスト処理では、移動通信装置はHoTI(Home Test Init)メッセージを通信相手装置に送信し、通信相手装置はHoT(Home Test)メッセージを返す。また、気付アドレステスト処理では、移動通信装置はCoTI(Care-of Test Init)メッセージを通信相手装置に送信し、通信相手装置はCoT(Care-of Test)メッセージを返す。
移動通信装置は、通信相手装置から応答として返されたHoTメッセージ及びCoTメッセージに含まれるHome keygen token(Home token)、Care-of keygen token(Care-of token)をもとに鍵を生成し、その鍵でバインディング更新(BU)メッセージのメッセージ認証コード(MAC:Message Authentication Code)を計算し、BUメッセージに付加して送信する。
BUメッセージを受信した通信相手装置は、メッセージ認証コードを確認することによって、移動通信装置から送信された正当なBUメッセージであると判断する。バインディング更新前処理の設計思想を説明している非特許文献2によると、このバインディング更新前処理は、通信相手装置がState(状態)を持つ必要がないように設計されている。つまり、HoTIメッセージを受信したことがあるかどうか、CoTIメッセージを受信したことがあるかどうかを、通信相手装置は記憶しておかなくてもBUメッセージの認証処理を行うことができる。
これは、攻撃者がHoTIメッセージやCoTIメッセージを用いて通信相手装置に対してDoS攻撃(Denial of Service Attack)を行った場合に、通信相手装置の被害を小さくするためである。また、HoTIメッセージに対してHoTメッセージを返す、CoTIメッセージに対してCoTメッセージを返す、というように1つの要求メッセージに対して1つの応答メッセージを返すようにしているのは、メッセージの増加(Amplification)を行わないようにするためである。これは、要求メッセージを1つ送ったときに、複数の応答メッセージを返す仕組みにした場合、攻撃者は1つのメッセージを送ることによって、複数のターゲットを攻撃することが可能になるためである。
"Mobility Support in IPv6",RFC3775 "Mobile IP Version 6 Route Optimization Security Design Background",RFC4225
"Mobility Support in IPv6",RFC3775 "Mobile IP Version 6 Route Optimization Security Design Background",RFC4225
しかしながら、上記従来技術のMIPv6では移動端末どうしがお互いにバインディングアップデートを行っているときに、その状況を効率的に利用できないという課題があった。つまり、従来の移動通信装置は、通信相手装置が自身に対してバインディングアップデートを行っている場合であっても、処理の効率化を目的としてバインディングアップデートの処理手順を変えることができなかった。
また、移動通信装置と通信相手装置が最適化経路を用いた通信を継続するためには、双方ともバインディングキャッシュを継続するために、定期的(7分ごと)にバインディングアップデートを行わなければならない。一方の装置(端末)のバインディングキャッシュを継続するだけでは不十分である。しかしながら、従来技術では、それぞれの装置が独立にバインディングアップデートを行うことしかできなかった。
具体的には、図19A、Bに示すように、端末A(MN_A)と端末B(MN_B)はそれぞれ独立に7分ごとにこのバインディングアップデートの処理を行い、相手端末に通知したバインディングキャッシュ(ホームアドレスと気付アドレスの情報)の寿命(Life Time)を更新していた。これにより、メッセージ数が多くなってしまう。
本発明は、上記の問題点に鑑み、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できるバインディング更新方法及びその方法で用いられる移動端末を提供することを目的とする。
上記目的を達成するために、本発明によれば、第1の移動端末と、前記第1の移動端末の通信相手である第2の移動端末との間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法であって、前記第1の移動端末が前記第2の移動端末のバインディング情報を保持している場合に、前記第1の移動端末が、所定の第1移動端末情報を含めたメッセージであって、前記第2の移動端末から所定の第2移動端末情報を取得するための第1の1組のメッセージを前記第2の移動端末へ送信するステップと、前記第2の移動端末が、前記所定の第2移動端末情報を含めた第2の1組のメッセージを前記第1の移動端末へ送信するステップと、前記第1の移動端末が、前記第2の1組のメッセージに含まれた前記所定の第2移動端末情報に基づいて生成された認証情報を付加した第3のメッセージを前記第2の移動端末へ送信するステップと、前記第2の移動端末が、前記第3のメッセージに対する応答情報を含めたメッセージであって、前記所定の第1移動端末情報に基づいて生成された認証情報を付加した第4のメッセージを前記第1の移動端末へ送信するとともに、前記第1の移動端末からの前記認証情報が正当である場合に前記バインディング情報を更新するステップと、前記第1の移動端末が、前記第4のメッセージに付加された前記第2の移動端末からの前記認証情報が正当である場合に前記バインディング情報を更新するステップとを、有するバインディング更新方法が提供される。この構成により、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できる。
また、本発明のバインディング更新方法において、前記第2の移動端末が、前記所定の第1移動端末情報を前記第2の1組のメッセージに含めて前記第1の移動端末へ送信し、
前記第1の移動端末は、前記第2の1組のメッセージに含まれる前記所定の第1移動端末情報を前記第3のメッセージに含めて前記第2の移動端末へ送信することは、本発明の好ましい態様である。この構成により、DoS攻撃を受けた際の被害を抑えることができる。
前記第1の移動端末は、前記第2の1組のメッセージに含まれる前記所定の第1移動端末情報を前記第3のメッセージに含めて前記第2の移動端末へ送信することは、本発明の好ましい態様である。この構成により、DoS攻撃を受けた際の被害を抑えることができる。
また、本発明のバインディング更新方法において、前記第2の移動端末が、前記所定の第1移動端末情報を前記第2の移動端末のみが復号できる形式で前記第2のメッセージに含めて送信することは、本発明の好ましい態様である。この構成により、他の端末に読み取られることを防ぐことができる。
また、本発明のバインディング更新方法において、前記所定の第1移動端末情報は、前記第2の移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記所定の第2移動端末情報は、前記第1の移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記第1の1組のメッセージは、前記第2の移動端末に対するホームアドレステスト(Home Test Init)及び気付けアドレステスト(Care−Of Test Init)の開始を要求するメッセージであり、前記第2の1組のメッセージは、前記第1の1組のメッセージに応答するHoTメッセージ及びCoTメッセージであり、前記第3のメッセージは、前記第2の移動端末へのバインディングアップデートメッセージであり、前記第4のメッセージは、前記第1の移動端末へのバインディングアップデートメッセージであることは、本発明の好ましい態様である。この構成により、適切な経路最適化を行うことができる。
また、本発明によれば、移動端末と、前記移動端末の通信相手である通信相手端末との間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる前記移動端末であって、前記移動端末が前記通信相手端末のバインディング情報を保持している場合に、所定の移動端末情報を含めたメッセージであって、前記通信相手端末から所定の通信相手端末情報を取得するための第1の1組のメッセージを生成するメッセージ生成手段と、生成された前記第1の1組のメッセージを前記通信相手端末へ送信する送信手段と、前記所定の通信相手端末情報を含めた第2の1組のメッセージを前記通信相手端末から受信する受信手段と、受信した前記所定の通信相手端末情報に基づいて認証情報を生成する認証情報生成手段と、前記バインディング情報を更新する更新手段とを備え、前記メッセージ生成手段が、前記認証情報生成手段によって生成された前記認証情報を付加した第3のメッセージを生成し、前記送信手段が、生成された前記第3のメッセージを前記通信相手端末へ送信し、前記更新手段が、前記受信手段を介して受信した情報であって、前記所定の移動端末情報に基づいて前記通信相手端末により生成された認証情報が正当であるか否かを判断し、正当である場合に前記バインディング情報を更新する移動端末が提供される。この構成により、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できる。
また、本発明によれば、移動端末と、前記移動端末の通信相手である通信相手端末との間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる前記移動端末であって、所定の通信相手端末情報を含めたメッセージであって、前記移動端末から所定の移動端末情報を取得するための第1の1組のメッセージを受信する受信手段と、前記所定の移動端末情報を含めた第2の1組のメッセージを生成するメッセージ生成手段と、生成された前記第2の1組のメッセージを前記通信相手端末へ送信する送信手段と、前記受信手段を介して受信した前記所定の通信相手端末情報に基づいて認証情報を生成する認証情報生成手段と、前記受信手段を介して受信した情報であって、前記所定の移動端末情報に基づいて前記通信相手端末により生成された認証情報が正当である場合に前記バインディング情報を更新する更新手段とを備え、前記メッセージ生成手段が、前記認証情報生成手段によって生成された前記認証情報を付加した第3のメッセージを生成し、前記送信手段が、生成された前記第3のメッセージを前記通信相手端末へ送信する移動端末が提供される。この構成により、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できる。
また、本発明の移動端末において、前記メッセージ生成手段が、前記第2の1組のメッセージに含まれる前記所定の移動端末情報を含めた前記第3のメッセージを生成することは、本発明の好ましい態様である。この構成により、DoS攻撃を受けた際の被害を抑えることができる。
また、本発明の移動端末において、前記メッセージ生成手段が、前記第1の1組のメッセージに含まれる前記所定の通信相手端末情報を含めた前記第2の1組のメッセージを生成することは、本発明の好ましい態様である。この構成により、DoS攻撃を受けた際の被害を抑えることができる。
また、本発明の移動端末において、前記メッセージ生成手段が、前記所定の通信相手端末情報を前記移動端末自身のみが復号できる形式で前記第3のメッセージに含めることは、本発明の好ましい態様である。この構成により、他の端末に読み取られることを防ぐことができる。
また、本発明の移動端末において、前記メッセージ生成手段が、前記所定の通信相手端末情報を前記移動端末自身のみが復号できる形式で前記第2の1組のメッセージに含めることは、本発明の好ましい態様である。この構成により、他の端末に読み取られることを防ぐことができる。
また、本発明の移動端末において、前記所定の移動端末情報が、前記通信相手端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記所定の通信相手端末情報が、前記移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記第1の1組のメッセージが、前記通信相手端末に対するホームアドレステスト(Home Test Init)及び気付けアドレステスト(Care−Of Test Init)の開始を要求するメッセージであり、前記第2の1組のメッセージが、前記第1の1組のメッセージに応答するHoTメッセージ及びCoTメッセージであり、前記第3のメッセージが、前記通信相手端末へのバインディングアップデートメッセージであることは、本発明の好ましい態様である。この構成により、適切な経路最適化を行うことができる。
また、本発明の移動端末において、前記所定の通信相手端末情報が、前記移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記所定の移動端末情報が、前記通信相手端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記第1の1組のメッセージが、前記移動端末に対するホームアドレステスト(Home Test Init)及び気付けアドレステスト(Care−Of Test Init)の開始を要求するメッセージであり、前記第2の1組のメッセージが、前記第1の1組のメッセージに応答するHoTメッセージ及びCoTメッセージであり、前記第3のメッセージが、前記通信相手端末へのバインディングアップデートメッセージであることは、本発明の好ましい態様である。この構成により、適切な経路最適化を行うことができる。
本発明のバインディング更新方法及びその方法で用いられる移動端末は、上記構成を有し、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できる。
<第1の実施の形態>
第1の実施の形態について説明する。図1Aに示すような多くのメッセージ数を減らすため、図1Bに示すように、両端末が行うバインディングアップデートを同期させ、受信側の端末がメッセージを重ねて送信するよう構成した。
第1の実施の形態について説明する。図1Aに示すような多くのメッセージ数を減らすため、図1Bに示すように、両端末が行うバインディングアップデートを同期させ、受信側の端末がメッセージを重ねて送信するよう構成した。
すなわち、図1Bに示すように、端末Aから開始したバインディングアップデートの手順に、端末Bが同期してバインディングアップデートを行う(以降、結合バインディングアップデートとよぶ)。端末Bは、端末AからのHoTIに対してHoTを応答として返すが、それと同時にHoTIを送信する。同様に、端末Bは端末AからのCoTIに対してCoTを応答として返すと同時にCoTIを送信する。そして、端末Bは端末AからのBUに対して、BAを応答として返すと同時にBUを送信する。このとき端末Bが送信するHoTとHoTIを1つのメッセージにし、同様にCoTとCoTI、BAとBUを1つのメッセージにすることによって、メッセージ数を削減することができる。
ここで、結合バインディングアップデートの開始側の移動端末(ここでは端末A)について図2を用いて説明する。メッセージ生成部201は、通信相手端末(端末B)から情報B1、B2それぞれを取得するためのHoTI、CoTIメッセージそれぞれを生成する。送信部202は、生成されたHoTI、CoTIメッセージを端末Bへ送信する。受信部203は、情報B1を含むメッセージであって、情報A1を取得するためのHoTメッセージ、及び情報B2を含むメッセージあって、情報A2を取得するためのCoTメッセージを受信する。
認証情報生成部204は、情報B1、B2に基づいて認証コードをそれぞれ生成し、生成された認証コードは、送信部202によって端末Bへ送信される。更新部205は、受信部203を介して受信したコード情報であって、情報A1、A2に基づいて端末Bによって生成された認証コードが正当であるか否かを判断し、正当である場合にバインディング情報を更新する。記憶部206は、バインディングキャッシュなどの情報を格納する。
次に、結合バインディングアップデートの応答側の移動端末(ここでは端末B)について図3を用いて説明する。受信部301は、情報B1、B2を取得するためのHoTI、CoTIメッセージを端末Aから受信する。メッセージ生成部302は、情報B1を含めたメッセージであって、端末Aから情報A1を取得するためのHoTメッセージ、及び情報B2を含めたメッセージであって、端末Aから情報A2を取得するためのCoTメッセージを生成する。
送信部303は、生成されたHoT、CoTメッセージを端末Aへ送信する。認証情報生成部304は、受信部301を介して受信した情報B1、B2に基づいて認証コードを生成し、生成された認証コードは送信部303によって端末Aに送信される。更新部305は、受信部301を介して受信した情報であって、情報B1、B2に基づいて端末Aによって生成されたそれぞれの認証コードが正当であるか否かを判断し、正当である場合にバインディング情報を更新する。記憶部306は、バインディングキャッシュなどの情報を格納する。
<第2の実施の形態>
第2の実施の形態について説明する。まず、MIPの基本原理について説明する。図4には端末Aからのバインディングアップデートの様子を示している。端末Aは端末Bに気付アドレス(CoA)が自身のアドレスであることを端末Bに証明しようとしている。そのため、端末Bに端末Aのホームアドレス(HoA)とCoAにそれぞれメッセージを送信してもらい、その両方を受信したことを端末Bに示す。
第2の実施の形態について説明する。まず、MIPの基本原理について説明する。図4には端末Aからのバインディングアップデートの様子を示している。端末Aは端末Bに気付アドレス(CoA)が自身のアドレスであることを端末Bに証明しようとしている。そのため、端末Bに端末Aのホームアドレス(HoA)とCoAにそれぞれメッセージを送信してもらい、その両方を受信したことを端末Bに示す。
簡単に説明すると、端末Bは端末AのHoAあてに情報B1を送信し、端末AのCoAあてに情報B2を送信する。端末AはB1とB2を用いて鍵データであるKey(B1、B2)を生成し、その鍵データを用いて認証コードを生成する。端末Bは端末Aからの認証コードを確認することによって、端末Aが鍵データを正しく生成できたことを確認し、端末Aが情報B1と情報B2を受信したと判定する。
より具体的に説明すると、端末AはHoTIを端末Bに送信し、情報B1をHoTに含めて端末AのHoAあてに送信させる。また、端末AはCoTIを端末Bに送信し、情報B2をCoTに含めて端末AのCoAあてに送信させる。そして、情報B1と情報B2を用いて鍵データであるKey(A1、A2)を生成し、その鍵を用いて送信するBUメッセージの認証コードを生成し、認証コードをBUメッセージに付加して端末Bに送信する。端末Bは、BUを受信するとB1とB2から鍵データを生成し、認証コードが正しいかどうか確認する。なお、図5は端末Bからのバインディングアップデートの様子を示している。
以上を踏まえて、上述した第1の実施の形態よりさらにメッセージ数を減らすことができる態様について図6を用いて説明する。この態様では、端末Aが端末Bからの要求を受ける前に、端末BのHoAに情報A1を、CoAに情報A2を送信する。これは、従来なら端末BからHoTI、CoTIメッセージを受信した後応答として返す情報である。しかし、端末Aが端末Bのバインディングキャッシュを持っている場合、端末Aは端末BのHoAとCoAを既に知っているため、図6に示すように、端末Bのバインディングアップデートの処理を端末Aから開始することができる。
さらに、端末Aは、端末Bに対するHoTIメッセージ601、CoTIメッセージ603を用いて情報A1と情報A2を送信することによって、端末Aのバインディングアップデートも同時に開始することができる。端末Aは、端末Bからの応答メッセージであるHoTメッセージ602、CoTメッセージ604を受信し、その応答メッセージに含まれる情報B1、B2を用いて鍵データ(Key(B1、B2))を作成し、BUメッセージ605を送信し、鍵データ(Key(B1、B2))を生成できたことを示す。
端末Bは、そのBUメッセージ605を確認し、端末Aのバインディングアップデートを承認するとともに、先に送られてきた情報A1と情報A2をもとに鍵データ(Key(A1、A2))を生成し、BUメッセージ605の応答としてBAメッセージ606を送る際に、端末Bが鍵データ(Key(A1、A2))を生成できたことを示す。端末Aは、そのBAメッセージ606を確認し、端末Bのバインディングアップデートを承認する。なお、端末Aは承認完了の旨のメッセージ607を端末Bに送信するようにしてもよい。以上のように、本実施の形態の方法を用いることによって、第1の実施の形態と比較して、バインディングアップデートに要するメッセージ数を更に削減することができる。
ここで、第2の実施の形態をより詳細に説明する。端末Aが端末Bからのバインディングアップデートを受け、端末BのホームアドレスB−HoAと気付アドレスB−CoAを知っている状態にあるとする。端末Aは、端末Bにバインディングアップデートを行うとき、端末Bのバインディングキャッシュ情報を保持しているかどうかを確認する。保持していない場合には、通常のMIPのバインディングアップデート処理を行う。一方、端末Aが、端末Bのバインディングキャッシュ情報を保持している場合、図7に示すように、端末Aと端末Bの両方のバインディングアップデートを同時に行うことを試みる。
端末Aは、端末BのHoAあてにHoTIを送信する。送信元アドレスは端末AのHoAであり、端末Bからの応答メッセージHoTは、この送信元アドレスである端末AのHoAあてに送信される。メッセージHoTIには情報A1が含まれる。端末Bは、HoTIを受信すると、応答メッセージHoTを端末Aに送信する。端末BのHoAで受信したメッセージの応答であるため、送信元アドレスは端末BのHoAであり、あて先アドレスは要求メッセージHoTIの送信元アドレスである端末AのHoAである。
同様に、端末Aは端末BのCoAあてにCoTIを送信する。送信元アドレスは端末AのCoAである。CoTIメッセージには情報A2が含まれる。端末Bは、CoTIを受信すると、応答メッセージCoTを端末Aに送信する。端末BのCoAで受信したメッセージの応答であるため、送信元アドレスは端末BのCoAであり、あて先アドレスは要求メッセージCoTIの送信元アドレスである端末AのCoAである。
端末Aは、応答メッセージのHoTとCoTに含まれる情報B1とB2を用いて鍵データを生成し、その鍵データを用いて認証コードを生成し、BUメッセージに認証コードを付加して、端末Bに送信する。端末Bは、BUメッセージを受信すると認証コードを確認し、端末Aのバインディングキャッシュが正しいと判定し、寿命(Life Time)を延長する。また、端末Bは、応答メッセージであるBAを送信する際に、HoTIとCoTIに含まれていた情報A1とA2を用いて鍵データを生成し、その鍵データを用いて認証コードを生成し、BAメッセージに認証コードを付加して、端末Aに送信する。端末Aは、BAメッセージを受信すると認証コードを確認し、端末Bのバインディングキャッシュが正しいと判定し、寿命を延長する。
上述した様子について図8を用いて更に詳しく説明する。端末Aは、HoTIにA-Token-hを付加して端末Bに送信する。A-Token-hの生成方法は、原理的には任意でよく特に定める必要はない。しかし、従来技術のMIPをできるだけ利用する方法として次のような生成方法が考えられる。
A-Token-h = HMAC SHA1 (B-HoA, A-Key, nonce)
なお、ここではトークン値の計算にハッシュ関数(HMAC SHA1)を用いる場合について述べるが、それ以外の関数あるいは生成式を用いるものであってもよい。
B-HoAとは端末Bのホームアドレスであり、A-Keyとは端末Aの秘密鍵である。nonceは端末AがHome Tokenを生成するときに使用する乱数である。端末Bは、端末AからのHoTIを受信しHoTを応答として返す。HoTには、B-Token-h、B-nonce-hを含める。B-Token-hの計算方法は従来のMIPとは異なる。従来のMIPでは次のようにB-Token-hを計算した。
B-Token-h = HMAC SHA1 (A-HoA, B-Key, B-nonce-h)
本発明の方法では、次のように計算する。
B-Token-h = HMAC SHA1 (A-HoA, B-HoA, B-Key, B-nonce-h)
つまり、端末BのホームアドレスB-HoAを加えてB-Token-hを計算する。B-Token-hの計算に用いるA-HoAは、HoTIメッセージの送信元アドレスであり、B-HoAはあて先アドレスである。また、HoTIメッセージに含まれていたA-Token-hは、端末Bが保持する。例えば、端末Aのバインディングキャッシュの中にHome Tokenを保持する領域を確保し、送信されてきた最新の値を保持するといった方法が考えられる。
端末Aは、HoTIの送信と並行してCoTIを送信してもよい。つまり、HoTを受信する前にCoTIを送信してよい。またHoTIの前にCoTIを送信してもよい。端末Aは、CoTIにA-Token-cを付加して端末Bに送信する。A-Token-cの生成方法は次のような方法が考えられる。
A-Token-c = HMAC SHA1 (B-CoA, A-Key, nonce)
B-CoAとは端末Bの気付アドレスであり、A-Keyとは端末Aの秘密鍵である。nonceは端末AがCare-of Tokenを生成するときに使用する乱数である。端末Bは、端末AからのCoTIを受信しCoTを応答として返す。CoTには、B-Token-c、B-nonce-cを含める。B-Token-cの計算方法は従来のMIPとは異なり、次のように計算する。
B-Token-c = HMAC SHA1 (A-CoA, B-CoA, B-Key, B-nonce-c)
つまり、端末Bの気付アドレスB-CoAを加えてB-Token-cを計算する。B-Token-cの計算にもちいるA-CoAは、CoTIメッセージの送信元アドレスであり、B-CoAはあて先アドレスである。また、端末BはA-Token-cをA-Token-hと同様に保持しておく。端末Aは、HoTIメッセージの応答としてHoTを受信し、CoTIメッセージの応答としてCoTを受信すると、それぞれのメッセージに含まれるB-Token-hとB-Token-cを用いて鍵データであるKey Bを生成する。
Key B = HMAC SHA1 (B-Token-h, B-Token-c)
端末Aはこの鍵データKey Bを用いてBUメッセージの認証コードB−MACを生成する。
B-MAC = HMAC SHA1 (Key B, BU message)
端末Aは、BUメッセージに次のデータのB-nonce-h、B-nonce-c、B-MAC、A-HoA、B-HoAを付加して端末Bに送信する。端末Bは、BUメッセージを受信し、B-nonce-h、B-HoA、A-HoAを用いてB-Token-hを生成する。また、BUメッセージの送信元アドレスA-CoA、あて先アドレスB-CoA、B-nonce-cを用いてB-Token-cを生成する。生成したB-Token-hとB-Token-cを用いてKey Bを生成し、BUメッセージに付加されているB-MACが正しいかどうか検査する。
B−MACの検査結果が正しい場合には、端末Bは端末Aのバインディングキャッシュの寿命の更新を行う。また新規の設定も可能である。一方、B−MACの検査結果が正しくなかった場合には、メッセージを破棄することやエラーメッセージを返すといった対応を取る。また、端末Bは保持していた情報A-Token-hとA-Token-cを用いて次のように鍵データKey Aを生成する。
Key A = HMAC SHA1 (A-Token-h, A-Token-c)
端末Bはこの鍵データKey Aを用いてBAメッセージの認証コードA−MACを生成する。
A-MAC = HMAC SHA1 (Key A, BA message)
端末Bは、BAメッセージに、通常のMIPと同様にKey Bで生成した認証コードB−MACを付加するとともに、新しいKey Aで生成した認証コードA−MACを付加する。端末Aは、BAメッセージを受信し、Key B及びKey Aを用いて認証コードを検証し、正しい場合には、端末Bのバインディングキャッシュの寿命の更新を行う。認証コードの検証結果が正しくなかった場合には、メッセージを破棄することやエラーメッセージを返すといった対応を取る。なお、上記ではKey AとKey Bを分ける場合で説明したが、合わせて一つの鍵データにしてもよい。例えば、次のように鍵データを生成してもよい。
Key AB = HMAC SHA1 (A-Token-h, A-Token-c, B-Token-h, B-Token-c)
次に、結合バインディングアップデートの開始側の移動端末について図9を用いて説明する。まず、HoTI/CoTIの送信について説明する。メッセージ作成部901は、結合バインディング判定部902に通常のバインディングアップデートか、結合バインディングアップデートかの判定を要求する。結合バインディング判定部902は、バインディングキャッシュ管理部903に、これからバインディングアップデートを行う相手端末からのバインディングキャッシュが登録されているかどうかを確認する。登録されていない場合には、通常のバインディングアップデートを行う。
結合バインディングアップデートを行う場合には、メッセージ作成部901はA−Token生成部904にHome Token及びCare-of Tokenを生成させ、そのTokenを付加してHoTIメッセージ及びCoTIメッセージを生成し、メッセージ送信部905より送信する。A−Token生成部904で作成したHome Token及びCare-of TokenはA−Token保存部906において保存しておく。
次に、HoT/CoTの受信について説明する。HoTI及びCoTIメッセージの応答メッセージであるHoT及びCoTメッセージは、メッセージ受信部907によって受信される。受信したHoT及びCoTに含まれる相手端末が生成したToken及びNonce-ID(応答側の移動端末がNonceの値を呼び出すための識別番号)はB−Token保存部908及びNonce保存部909に保存される。
次に、BUの送信について説明する。HoTメッセージとCoTメッセージの両方を受信したとき、B−Token保存部908にはHome TokenとCare-of Tokenの両方のTokenが揃っているため、それらのTokenを用いてB−Key生成部910において鍵データを生成する。メッセージ認証コード生成部911は、B−Key生成部910において生成された鍵データを用いてメッセージ認証コード(上述した認証コードに相当)を生成し、メッセージ作成部901に渡す。メッセージ作成部901では、生成されたメッセージ認証コードをBUメッセージに付加する。またNonce保存部909に保存しておいたNonce-IDもBUメッセージに付加する。そしてメッセージ送信部905よりBUメッセージを送信する。
次に、BAの受信について説明する。BAメッセージをメッセージ受信部907で受信し、メッセージ認証コード判定部912においてメッセージの判定を行う。メッセージの判定のために、A−Key生成部913は、A−Token保存部906に保存しておいたHome TokenとCare-of Tokenを取り出し、鍵データを生成する。メッセージ認証コード生成部911はA−Key生成部913により生成された鍵データを用いてメッセージ認証コードを生成する。メッセージ認証コード判定部912は、その生成されたメッセージ認証コードと、BUメッセージに付加されていたメッセージ認証コードを比較し、一致するかどうか判定する。
メッセージ認証コードが一致した場合に、バインディングキャッシュ管理部903にバインディングキャッシュを登録する。その後で、BAメッセージに対する応答をメッセージ作成部901において作成し、メッセージ送信部905より送信する。
次に、結合バインディングアップデートの応答側の移動端末について図10を用いて説明する。まず、HoTI/CoTIの受信について説明する。HoTI及びCoTIメッセージをメッセージ受信部1001で受信し、結合バインディングアップデートの場合には、メッセージに含まれるHome Token又はCare-of TokenをA−Token保存部1002に渡す。また、結合バインディングB−Token生成部1003はB-Token(Home Token又はCare-of Token)を生成する。B-Tokenを生成するときに必要なNonce(home nonce又はcare-of nonce)はNonce管理部1004より取得する。
B-Home Token = SHA1 (A-HoA, B-HoA, B-Key, B-home nonce)
B-Care-of Token = SHA1 (A-CoA, B-CoA, B-Key, B-care-of nonce)
B-Care-of Token = SHA1 (A-CoA, B-CoA, B-Key, B-care-of nonce)
次に、HoT/CoTの送信について説明する。結合バインディングB−Token生成部1003より生成したToken及び生成に用いたNonceを呼び出すためのNonce-IDを取得し、応答メッセージに付加する。応答メッセージは受信メッセージがHoTIの場合にはHoTメッセージであり、CoTIの場合にはCoTメッセージである。メッセージ作成部1005が作成した応答メッセージは、メッセージ送信部1006から送信される。
次に、BUの受信について説明する。BUメッセージをメッセージ受信部1001で受信し、結合バインディングアップデートの場合には、結合バインディングB−Token生成部1003においてHome Token及びCare-of Tokenを生成する。Token生成のときには、受信したBUメッセージに含まれるNonce-IDを用いてNonce管理部1004からNonceの値を取り出し、それを用いる。また、BUメッセージに含まれるメッセージ認証コードをメッセージ認証コード比較部1007に渡す。
結合バインディングB−Token生成部1003で生成したHome Token及びCare-of TokenをB−Key生成部1008に渡し、B−Key生成部1008において鍵データを生成する。そして、生成した鍵データを用いて、メッセージ認証コード生成部1009において、メッセージ認証コードを生成する。生成したメッセージ認証コードとBUメッセージに含まれていたメッセージ認証コードが一致するかどうかをメッセージ認証コード比較部1007で比較する。メッセージ認証コードが一致した場合は、バインディングキャッシュ管理部1011にバインディングキャッシュを設定又は更新する。
次に、BAの送信について説明する。A−Token保存部1002に保存しておいたTokenを用いてA−Key生成部1010において鍵データを生成し、メッセージ認証コード生成部1009でメッセージ認証コードを生成する。メッセージ作成部1005は、生成されたメッセージ認証コードをBAメッセージに付加し、メッセージ送信部1006よりBAメッセージを送信する。BAメッセージに対する応答メッセージは、メッセージ受信部1001で受信し、メッセージ認証コードを確認し、バインディングキャッシュ管理部1011においてバインディングキャッシュを更新する。
なお、上述したように、結合バインディングアップデートの開始側の移動端末と応答側の移動端末の構成が異なっているが、通常はすべての移動端末が開始側にも応答側にもなり得るため、移動端末は上述した開始側と応答側の機能それぞれを有することが好ましい。
次に、結合バインディングアップデートの開始側の移動端末の処理フローについて図11を用いて説明する。図11に示すように、移動端末は、バインディングアップデートを行おうとしている相手端末のバインディングキャッシュが存在しているかの確認処理を開始し(ステップS1101)、相手端末のバインディングキャッシュが存在しているか否かを判断する(ステップS1102)。バインディングキャッシュが存在する場合、移動端末は、相手端末のホームアドレスを用いたHome Token及び相手端末のCoAを用いたCare-of Tokenを生成する(ステップS1103)。
そして、移動端末は、Home Tokenを含んだ結合バインディングアップデートのHoTIメッセージ、Care-of Tokenを含んだ結合バインディングアップデートのCoTIメッセージをそれぞれ送信する(ステップS1104)。移動端末は、応答メッセージのHoTメッセージ、CoTメッセージを待つと同時にタイマーをスタートさせる(ステップS1105)。移動端末は、タイムアウト前に応答(メッセージ)を受信したか否かを判断する(ステップS1106)。
タイムアウト前に応答メッセージを受信した場合、移動端末はBUメッセージを生成する。すなわち、移動端末は、受信したHoT、CoTに含まれるTokenを用いて鍵データを生成し、メッセージ認証コードを生成し、生成されたメッセージ認証コードを付加したBUメッセージを生成し、送信する(ステップS1107)。移動端末は、応答メッセージのBAメッセージを待つと同時にタイマーをスタートさせる(ステップS1108)。移動端末は、タイムアウト前に応答(メッセージ)を受信したか否かを判断する(ステップS1109)。
タイムアウト前に応答メッセージを受信した場合、移動端末は最初に送信したHome Token、Care-of Tokenから鍵データを生成し、BAメッセージに含まれるメッセージ認証コードが正しいか否かの確認処理を開始する(ステップS1110)。メッセージ認証コードが正しいか否かを判断し(ステップS1111)、正しいと判断された場合、移動端末は、自身のバインディングキャッシュ及び相手端末のバインディングキャッシュの設定及び更新を行い、応答メッセージを送信する(ステップS1112)。
なお、ステップS1102において、バインディングキャッシュが存在しないと判断された場合には、従来のMIPのバインディングアップデートを開始する(ステップS1113)。また、ステップS1106、S1109において、タイムアウト前に応答メッセージを受信できなかった場合、再送回数が所定の数値Nよりも小さければ再送を行う(ステップS1114、S1115)。また、ステップS1111において、メッセージ認証コードが正しくないと判断された場合、バインディングキャッシュの更新を行わないことを確認する(ステップS1116)。
次に、結合バインディングアップデートの応答側の移動端末の処理フロー(結合バインディングアップデートのメッセージの受信からそれに対する応答メッセージを送信するまで)について図12Aを用いて説明する。図12Aに示すように、移動端末は、HoTI又はCoTIを受信し、結合バインディングアップデートのメッセージかどうかの判定処理を開始する(ステップS1201)。移動端末は、結合バインディングアップデートのメッセージか否かを判断し(ステップS1202)、結合バインディングアップデートのメッセージである場合、受信した開始側の移動端末のHome Token又はCore-of Tokenを保持する(ステップS1203)。
移動端末は、Home Tokenの場合には両端末のホームアドレスを含め、Care-of Tokenの場合には両端末のCoAを含めたTokenを生成する(ステップS1204)。生成されたTokenを付加して応答メッセージを生成し、応答メッセージを送信する(ステップS1205)。なお、ステップS1202において、結合バインディングアップデートのメッセージではないと判断された場合、移動端末は、従来のMIPのバインディングアップデート処理として応答を送信する(ステップS1206)。
次に、結合バインディングアップデートの応答側の移動端末の処理フロー(BUメッセージの受信からBAメッセージを送信するまで)について図12Bを用いて説明する。図12Bに示すように、移動端末は、BU(メッセージ)を受信し、結合バインディングアップデートのメッセージかどうかの判定処理を開始する(ステップS1210)。移動端末は、結合バインディングアップデートのメッセージか否かを判断し(ステップS1211)、結合バインディングアップデートのメッセージである場合、BUに含まれるアドレス、Nonceの情報を用いてTokenを生成し、Tokenを用いて鍵データを生成し、付加されているメッセージ認証コードの確認処理を開始する(ステップS1212)。
移動端末は、メッセージ認証コードが正しいか否かを判断し(ステップS1213)、正しい場合には、バインディングキャッシュの設定、更新を行い、保持していた開始側の移動端末のTokenを用いて鍵データを生成し、メッセージ認証コードを生成し、BAメッセージに含めて送信する(ステップS1214)。なお、ステップS1211において、結合バインディングアップデートのメッセージでない場合、移動端末は、従来のMIPのバインディングアップデートを開始する(ステップS1215)。また、ステップS1213において、メッセージ認証コードが正しくないと判断された場合、バインディングキャッシュの設定、更新を行わないことを確認する(ステップS1216)。
<第3の実施の形態>
第2の実施の形態と同様に、端末Aが端末Bからのバインディングアップデートを受け、端末BのホームアドレスB-HoAと気付アドレスB-CoAを知っている状態にあるとする。端末Aは、端末Bにバインディングアップデートを行うとき、端末Bのバインディングキャッシュ情報を保持しているかどうかを確認する。保持していない場合には、通常のMIPのバインディングアップデート処理を行う。端末Aが、端末Bのバインディングキャッシュ情報を保持している場合、端末Aと端末Bの両方のバインディングアップデートを同時に行うことを試みる。なお、第3の実施の形態の説明においても、第2の実施の形態の説明で用いた図7を用いて説明する。
第2の実施の形態と同様に、端末Aが端末Bからのバインディングアップデートを受け、端末BのホームアドレスB-HoAと気付アドレスB-CoAを知っている状態にあるとする。端末Aは、端末Bにバインディングアップデートを行うとき、端末Bのバインディングキャッシュ情報を保持しているかどうかを確認する。保持していない場合には、通常のMIPのバインディングアップデート処理を行う。端末Aが、端末Bのバインディングキャッシュ情報を保持している場合、端末Aと端末Bの両方のバインディングアップデートを同時に行うことを試みる。なお、第3の実施の形態の説明においても、第2の実施の形態の説明で用いた図7を用いて説明する。
端末Aは、端末BのHoAあてにHoTIを送信する。送信元アドレスは端末AのHoAであり、端末Bからの応答メッセージHoTは、この送信元アドレスである端末AのHoAあてに送信される。メッセージHoTIには情報A1が含まれる。端末Bは、HoTIを受信すると、応答メッセージHoTを端末Aに送信する。端末BのHoAで受信したメッセージの応答であるため、送信元アドレスは端末BのHoAであり、あて先アドレスは要求メッセージHoTIの送信元アドレスである端末AのHoAである。
同様に、端末Aは、端末BのCoAあてにCoTIを送信する。送信元アドレスは、端末AのCoAである。CoTIメッセージには情報A2が含まれる。端末Bは、CoTIを受信すると、応答メッセージCoTを端末Aに送信する。端末BのCoAで受信したメッセージの応答であるため、送信元アドレスは端末BのCoAであり、あて先アドレスは要求メッセージCoTIの送信元アドレスである端末AのCoAである。
端末Aは、応答メッセージのHoTとCoTに含まれる情報B1とB2を用いて鍵データを生成し、その鍵データを用いて認証コードを生成し、BUメッセージに認証コードを付加して、端末Bに送信する。端末Bは、BUメッセージを受信すると認証コードを確認し、端末Aのバインディングキャッシュが正しいと判定し、寿命(Life Time)を延長する。
そして、応答メッセージであるBAを送信する際に、HoTIとCoTIに含まれていた情報A1とA2を用いて鍵データを生成し、その鍵データを用いて認証コードを生成し、BAメッセージに認証コードを付加して、端末Aに送信する。端末Aは、BAメッセージを受信すると認証コードを確認し、端末Bのバインディングキャッシュが正しいと判定し、寿命を延長する。ここまでは第2の実施の形態で同様である。
次に第3の実施の形態におけるバインディング情報更新方式の特徴を説明する。端末Aから2つの端末のバインディングアップデートを開始する場合、端末Aから端末Bに情報A1とA2を送り、端末Bに記憶させている。そのためセキュリティの観点から考えたとき、攻撃者が端末Bに異なる情報からなるHoTI、CoTIを大量に送りつけ、情報を覚えさせてメモリーを浪費させるという攻撃(DoS攻撃)が想定される。これを防ぐために、端末BはHoTIメッセージ1301を受信し、情報A1を取得するとその情報をHoTメッセージ1302に含めて端末Aに送り返すことも可能である。
その様子を図13に示した。同様に、端末BはCoTIメッセージ1303を受信し、情報A2をCoTメッセージ1304に含めて端末Aに送り返す。端末Aは、送り返された情報A1とA2をBUメッセージ1305に含めて端末Bに送信する。端末Bは、BUメッセージ1305に含まれる情報A1とA2を用いて鍵データであるKey A(A1、A2)を生成し、認証コードを作成する。そして、端末Bは生成されたKey A(A1、A2)をBAメッセージ1306に含めて端末Aに送信する。なお、端末AはKey A(A1、A2)を確認し、端末Bのバインディングアップデートの承認をした場合、承認完了の旨のメッセージ1307を端末Bに送信するようにしてもよい。また、端末Bは、情報A1及びA2を端末Aに送り返すとき、署名、暗号化して送り返してもよい。署名を検証し、復号化してもとの情報に戻せるのは端末Bだけであるので、返送されるまでの間に改竄等される危険を防ぐことができるからである。
ここで、第3の実施の形態におけるメッセージシーケンスについて図14を用いて詳しく説明する。端末Aは、HoTIにA-Token-hを付加して端末Bに送信する。A-Token-hの生成方法は、原理的には任意でよく特に定める必要はない。しかし、従来技術のMIPをできるだけ利用する方法として、次のような生成方法が考えられる。
A-Token-h = HMAC SHA1 (B-HoA, A-Key, nonce)
B-HoAとは端末Bのホームアドレスであり、A-Keyとは端末Aの秘密鍵である。nonceは端末AがHome Tokenを生成するときに使用する乱数である。端末Bは、端末AからのHoTIを受信し、HoTを応答として返す。HoTにはB-Token-h、B-nonce-h、Sb(A-Token-h)を含める。B-Token-hの計算方法は従来のMIPとは異なる。従来のMIPでは次のようにB-Token-hを計算した。
B-Token-h = HMAC SHA1 (A-HoA, B-Key, B-nonce-h)
本発明の方法では、次のように計算する。
B-Token-h = HMAC SHA1 (A-HoA, B-HoA, B-Key, B-nonce-h)
つまり、端末BのホームアドレスB-HoAを加えてB-Token-hを計算する。B-Token-hの計算に用いるA-HoAは、HoTIメッセージの送信元アドレスであり、B-HoAはあて先アドレスである。また、HoTメッセージに含めるSb(A-Token-h)は、端末BがA-Token-hを記憶しておくことを回避するための手段である。A-Token-hを暗号化し、端末Aに送り返し、さらに端末AはBUに含めて端末Bへ送り返す。端末Bは、BUに付加されたSb(A-Token-h)を復号化し、A-Token-hを取得し、A-Token-hを用いて鍵データKey Aを生成する。
端末Aは、HoTIの送信と並行して、CoTIを送信してもよい。つまり、HoTを受信する前にCoTIを送信してもよい。またHoTIの前にCoTIを送信してもよい。端末Aは、CoTIにA-Token-cを付加して端末Bに送信する。A-Token-cの生成方法は次のような方法が考えられる。
A-Token-c = HMAC SHA1 (B-CoA, A-Key, nonce)
B-CoAとは端末Bの気付アドレスであり、A-Keyとは端末Aの秘密鍵である。nonceは端末AがCare-of Tokenを生成するときに使用する乱数である。端末Bは、端末AからのCoTIを受信し、CoTを応答として返す。CoTには、B-Token-c、B-nonce-c、Sb(A-Token-c)を含める。B-Token-cの計算方法は従来のMIPとは異なり、次のように計算する。
B-Token-c = HMAC SHA1 (A-CoA, B-CoA, B-Key, B-nonce-c)
つまり、端末Bの気付アドレスB-CoAを加えてB-Token-cを計算する。B-Token-cの計算に用いるA-CoAは、CoTIメッセージの送信元アドレスであり、B-CoAはあて先アドレスである。また、CoTメッセージに含めるSb(A-Token-c)は、HoTIの処理と同様で、端末BがA-Token-cを記憶しておくことを回避するための手段である。
端末Aは、HoTIメッセージの応答としてHoTを受信し、CoTIメッセージの応答としてCoTを受信すると、それぞれのメッセージに含まれるB-Token-hとB-Token-cを用いて鍵データKey Bを生成する。
Key B = HMAC SHA1 (B-Token-h, B-Token-c)
端末Aは、この鍵データを用いてBUメッセージの認証コードB−MACを生成する。
B-MAC = HMAC SHA1 (Key B, BU message)
端末Aは、BUメッセージに次のデータのB-nonce-h、B-nonce-c、B-MAC、Sb(A-Token-h)、Sb(A-Token-c)、A-HoA、B-HoAを付加して、端末Bに送信する。
端末Bは、BUメッセージを受信し、B-nonce-h、B-HoA、A-HoAを用いて、B-Token-hを生成する。また、BUメッセージの送信元アドレスA-CoA、あて先アドレスB-CoA、B-nonce-cを用いてB-Token-cを生成する。生成したB-Token-hとB-Token-cを用いて、Key Bを生成し、BUメッセージに付加されているB−MACが正しいかどうか検査する。B−MACの検査結果が正しい場合には、端末Bは端末Aのバインディングキャッシュの寿命の更新を行う。また新規の設定も可能である。一方、B−MACの検査結果が正しくなかった場合には、メッセージを破棄することやエラーメッセージを返すといった対応を取る。
また、端末BはBUメッセージに含まれる情報Sb(A-Token-h)とSb(A-Token-c)の復号処理を行い、A-Token-hとA-Token-cを取得する。そして次のようにKey Aを生成する。
Key A = HMAC SHA1 (A-Token-h, A-Token-c)
端末Bはこの鍵データを用いてBAメッセージの認証コードA−MACを生成する。
A-MAC = HMAC SHA1 (Key A, BA message)
端末Bは、BAメッセージに、通常のMIPと同様にKey Bで生成した認証コードB−MACを付加するとともに、新しいKey Aで生成した認証コードA−MACを付加する。端末Aは、BAメッセージを受信し、Key B及びKey Aを用いて認証コードを検証し、正しい場合には、端末Bのバインディングキャッシュの寿命の更新を行う。認証コードの検証結果が正しくなかった場合には、メッセージを破棄することやエラーメッセージを返すといった対応を取る。
なお、上記ではKey AとKey Bを分ける場合で説明したが、合わせて一つの鍵データにしてもよい。例えば、次のように鍵データを生成してもよい。
Key AB = HMAC SHA1 (A-Token-h, A-Token-c, B-Token-h, B-Token-c)
なお、端末AがA-Token-h、A-Token-cを記憶する場合について説明したが、BUメッセージにA-nonce-h、A-nonce-cを含め、端末BよりBAメッセージに含めて折り返してもよい。この場合、端末Aは、BAメッセージを受信してからA-Token-h、A-Token-cをそれぞれA-nonce-hとA-nonce-cから生成することができ、記憶しておく必要がない。
なお、本発明ではA-Token-h、A-Token-cをそれぞれHoTIメッセージ、CoTIメッセージに乗せたが、ほかの組み合わせであってもよい。例えば、A-Token-hをCoTIメッセージに乗せ、A-Token-cをHoTIメッセージに乗せてもよい。また、両方のTokenを同じメッセージに乗せてもよい。さらに、A-Token-h、A-Token-cを分割し、それぞれ分けてHoT、CoTメッセージに乗せてもよい。
なお、HoTIメッセージを省略することも可能である。例えば、CoTIの応答としてHoTとCoTを返すようにし、BUにA-Token-hを含めてもよい。また同様に、CoTIを省略することも可能である。この場合は、HoTIの応答としてHoTとCoTを返すようにし、BUにA-Token-cを含めてもよい。なお、端末AがHoTIを送信後、HoTを受信してからCoTIを送信してもよい。HoTに含まれる情報をAが保持するのではなく、CoTIに含めて送信し、CoTで折り返されるようにしてもよい。
なお、端末Bが従来MIPにしか対応していない端末の場合には、従来MIPは端末AからのHoTI及びCoTIに対して、従来MIPと同様のHoT及びCoTを返信する。端末Aは、それによって端末Bが本発明のバインディングアップデートに対応していないことがわかるため、従来のMIPのBUメッセージを送信する。
また、端末Aと端末Bが同時に本発明のバインディングアップデートを行った場合には、次のような対応が考えられる。両方のバインディングアップデートをそのまま行ってもよい。HoT、CoTを受信してからBUを送信するまでの待ち時間をランダムに設定することによって、一方のBUの送信を回避しやすくしてもよい。
また、両端末のバインディングアップデートを行った場合には、開始側と受信側のバインディングキャッシュの寿命の長さを変えてもよい。受信側の寿命をわずかに短くすることによって、次のバインディングアップデートの開始側が交代するようにしてもよい。なお、本発明の結合バインディングアップデート処理は、移動端末自ら行うのではなく、代理ノードが行ってもよい。
次に、結合バインディングアップデートの開始側の移動端末について図15を用いて説明する。まず、HoTI/CoTIの送信について説明する。メッセージ作成部1501は、結合バインディング判定部1502に通常のバインディングアップデートか、結合バインディングアップデートかの判定を要求する。結合バインディング判定部1502は、バインディングキャッシュ管理部1503に、これからバインディングアップデートを行う相手通信端末からのバインディングキャッシュが登録されているかどうかを確認する。登録されていない場合には、通常のバインディングアップデートを行う。
結合バインディングアップデートを行う場合には、メッセージ作成部1501はA−Token生成部1504によってHome Token(A-Token-h)及びCare-of Token(A-Token-c)を生成し、そのTokenを付加してHoTIメッセージ及びCoTIメッセージを生成し、メッセージ送信部1505より送信する。A−Token生成部1504で作成したHome Token及びCare-of TokenはA−Token保存部1506において保存しておく。
次に、HoT/CoTの受信について説明する。HoTI及びCoTIメッセージの応答メッセージであるHoT及びCoTメッセージは、メッセージ受信部1507によって受信される。受信したHoT及びCoTに含まれる相手端末が生成したToken(B-Token-h、B-Token-c)及びNonce-ID(応答側移動端末がNonceの値を呼び出すための識別番号)はB−Token保存部1508及びNonce保存部1509に保存される。また、相手端末によって付加されたSb(Home Token)及びSb(Care-of Token)は、Sb(Token)保存部1510に保存される。
次に、BUの送信について説明する。HoTメッセージとCoTメッセージの両方を受信したとき、B−Token保存部1508にはHome Token(B-Token-h)とCare-of Token(B-Token-c)の両方のTokenが揃っているため、それらのTokenを用いてB−Key生成部1511において鍵データを生成する。
メッセージ認証コード生成部1512は、B−Key生成部1511において生成された鍵データを用いてメッセージ認証コードを生成し、メッセージ作成部1501に渡す。メッセージ作成部1501では、生成されたメッセージ認証コードとSb(Token)保存部1510に保存しておいた2つのSb(Home Token)及びSb(Care-of Token)をBUメッセージに付加する。またNonce保存部1509に保存しておいたNonce-IDもBUメッセージに付加する。そして、メッセージ送信部1505よりBUメッセージを送信する。
次に、BAの受信について説明する。BAメッセージをメッセージ受信部1507で受信し、メッセージ認証コード判定部1515においてメッセージの判定を行う。メッセージの判定のために、A−Key生成部1514は、A−Token保存部1506に保存しておいたHome Token(A-Token-h)とCare-of Token(A-Token-c)を取り出し、鍵データを生成する。メッセージ認証コード生成部1512は、A−Key生成部1514により生成された鍵データを用いてメッセージ認証コードを生成する。メッセージ認証コード判定部1513は、その生成したメッセージ認証コードと、BUメッセージに付加されていたメッセージ認証コードとを比較し、一致するかどうか判定する。
メッセージ認証コードが一致した場合には、バインディングキャッシュ管理部1503にバインディングキャッシュを登録する。その後で、BAメッセージに対する応答をメッセージ作成部1501において作成し、メッセージ送信部1505より送信する。
次に、結合バインディングアップデートの応答側の移動端末について図16を用いて説明する。まず、HoTI/CoTIの受信について説明する。HoTI及びCoTIメッセージをメッセージ受信部1601で受信し、結合バインディングアップデートの場合には、メッセージに含まれるHome Token(A-Token-h)又はCare-of Token(A-Token-c)をA−Token暗号・復号処理部1602に渡す。また、結合バインディングB−Token生成部1603はB-Token(Home Token又はCare-of Token)を生成する。B-Tokenを生成するときに必要なNonce(home nonce又はcare-of nonce)はNonce管理部1604より取得する。
B-Home Token = SHA1 (A-HoA, B-HoA, B-Key, B-home nonce)
B-Care-of Token = SHA1 (A-CoA, B-CoA, B-Key, B-care-of nonce)
B-Care-of Token = SHA1 (A-CoA, B-CoA, B-Key, B-care-of nonce)
次に、HoT/CoTの送信について説明する。A−Token暗号・復号処理部1602は、暗号化したデータ(Sb(Home Token(A-Token-h))又はSb(Care-of Token(A-Token-c)))をメッセージ作成部1605に渡し、メッセージ作成部1605は応答メッセージに付加する。また、結合バインディングB−Token生成部1603より生成したToken(B-Token)及び生成に用いたNonceを呼び出すためのNonce-IDを取得し、応答メッセージに付加する。応答メッセージは受信メッセージがHoTIの場合にはHoTメッセージであり、CoTIの場合にはCoTメッセージである。メッセージ作成部1605が作成した応答メッセージは、メッセージ送信部1606から送信される。
次に、BUの受信について説明する。BUメッセージをメッセージ受信部1601で受信し、結合バインディングアップデートの場合には、結合バインディングB−Token生成部1603においてHome Token(B-Token-h)及びCare-of Token(B-Token-c)を生成する。Token生成のときには、受信したBUメッセージに含まれるNonce-IDを用いてNonce管理部1604からNonceの値を取り出し、それを用いる。また、BUメッセージに含まれるSb(Home Token)及びSb(Care-of Token)をA−Token暗号・復号処理部1602に渡し、復号化し、元のHome Token(A-Token-h)及びCare-of Token(A-Token-c)を取得する。
また、BUメッセージに含まれるメッセージ認証コードをメッセージ認証コード比較部1607に渡す。結合バインディングB−Token生成部1603で生成したHome Token(B-Token-h)及びCare-of Token(B-Token-c)をB−Key生成部1608に渡し、B−Key生成部1608において鍵データを生成する。
そして、生成した鍵データを用いて、メッセージ認証コード生成部1609において、メッセージ認証コードを生成する。生成したメッセージ認証コードとBUメッセージに含まれていたメッセージ認証コードが一致するかどうかをメッセージ認証コード比較部1607で比較する。メッセージ認証コードが一致した場合は、バインディングキャッシュ管理部1610にバインディングキャッシュを設定又は更新する。
次に、BAの送信について説明する。A−Token暗号・復号処理部1602によって復号化されたToken(A-Token-h、A-Token-c)を用いてA−Key生成部1611において鍵データを生成し、メッセージ認証コード生成部1609でメッセージ認証コードを生成する。メッセージ作成部1605は、生成したメッセージ認証コードをBAメッセージに付加し、メッセージ送信部1606よりBAメッセージを送信する。BAメッセージに対する応答メッセージは、メッセージ受信部1601で受信し、メッセージ認証コードを確認し、バインディングキャッシュ管理部1610においてバインディングキャッシュを更新する。
次に、結合バインディングアップデートの開始側の移動端末の処理フローについて図17を用いて説明する。図17に示すように、移動端末は、バインディングアップデートを行おうとしている相手端末のバインディングキャッシュが存在しているかの確認処理を開始し(ステップS1701)、相手端末のバインディングキャッシュが存在しているか否かを判断する(ステップS1702)。バインディングキャッシュが存在する場合、移動端末は、相手端末のホームアドレスを用いたHome Token(A-Token-h)及び相手端末のCoAを用いたCare-of Token(A-Token-c)を生成する(ステップS1703)。
そして、移動端末は、Home Tokenを含んだ結合バインディングアップデートのHoTIメッセージ、Care-of Tokenを含んだ結合バインディングアップデートのCoTIメッセージをそれぞれ送信する(ステップS1704)。移動端末は、応答メッセージのHoTメッセージ、CoTメッセージを待つと同時にタイマーをスタートさせる(ステップS1705)。移動端末は、タイムアウト前に応答(メッセージ)を受信したか否かを判断する(ステップS1706)。
タイムアウト前に応答メッセージを受信した場合、移動端末はBUメッセージを生成する。すなわち、移動端末は、受信したHoT、CoTに含まれるTokenを用いて鍵データを生成し、メッセージ認証コードを生成し、生成されたメッセージ認証コード、HoT、CoTに含まれていたSb(Home Token(A-Token-h))、Sb(Care-of Token(A-Token-c))を付加したBUメッセージを生成し、送信する(ステップS1707)。移動端末は、応答メッセージのBAメッセージを待つと同時にタイマーをスタートさせる(ステップS1708)。移動端末は、タイムアウト前に応答(メッセージ)を受信したか否かを判断する(ステップS1709)。
タイムアウト前に応答メッセージを受信した場合、移動端末は最初に送信したHome Token(A-Token-h)、Care-of Token(A-Token-c)から鍵データを生成し、BAメッセージに含まれるメッセージ認証コードが正しいか否かの確認処理を開始する(ステップS1710)。メッセージ認証コードが正しいか否かを判断し(ステップS1711)、正しいと判断された場合、移動端末は、自身のバインディングキャッシュ及び相手端末のバインディングキャッシュの設定及び更新を行い、応答メッセージを送信する(ステップS1712)。
なお、ステップS1702において、バインディングキャッシュが存在しないと判断された場合には、従来のMIPのバインディングアップデートを開始する(ステップS1713)。また、ステップS1706、S1709において、タイムアウト前に応答メッセージを受信できなかった場合、再送回数が所定の数値Nよりも小さければ再送を行う(ステップS1714、S1715)。また、ステップS1711において、メッセージ認証コードが正しくないと判断された場合、バインディングキャッシュの更新を行わないことを確認する(ステップS1716)。
次に、結合バインディングアップデートの応答側の移動端末の処理フロー(結合バインディングアップデートのメッセージの受信からそれに対する応答メッセージを送信するまで)について図18Aを用いて説明する。図18Aに示すように、移動端末は、HoTI又はCoTIを受信し、結合バインディングアップデートのメッセージかどうかの判定処理を開始する(ステップS1801)。移動端末は、結合バインディングアップデートのメッセージか否かを判断し(ステップS1802)、結合バインディングアップデートのメッセージである場合、Home Tokenの場合には両端末のホームアドレスを含めたTokenを生成し、Care-of Tokenの場合には両端末のCoAを含めたTokenを生成する(ステップS1803)。
移動端末は、HoTI、CoTIに付加されていたToken(A-Token-h、A-Token-c)を暗号化し、応答メッセージを生成し、送信する(ステップS1804)。なお、ステップS1802において、結合バインディングアップデートのメッセージではないと判断された場合、移動端末は、従来のMIPのバインディングアップデート処理として応答を送信する(ステップS1805)。
次に、結合バインディングアップデートの応答側の移動端末の処理フロー(BUメッセージの受信からBAメッセージを送信するまで)について図18Bを用いて説明する。図18Bに示すように、移動端末は、BU(メッセージ)を受信し、結合バインディングアップデートのメッセージかどうかの判定処理を開始する(ステップS1810)。移動端末は、結合バインディングアップデートのメッセージか否かを判断し(ステップS1811)、結合バインディングアップデートのメッセージである場合、BUに含まれるアドレス、Nonceの情報を用いてToken(B-Token-h、B-Token-c)を生成し、Tokenを用いて鍵データを生成し、付加されているメッセージ認証コードの確認処理を開始する(ステップS1812)。
移動端末は、メッセージ認証コードが正しいか否かを判断し(ステップS1813)、正しい場合には、バインディングキャッシュの設定、更新を行い、BUに含まれている暗号化されたToken(A-Token-h、A-Token-c)を復号化し、鍵データを生成し、メッセージ認証コードを生成し、BAメッセージに含めて送信する(ステップS1814)。なお、ステップS1811において、結合バインディングアップデートのメッセージでない場合、移動端末は、従来のMIPのバインディングアップデートを開始する(ステップS1815)。また、ステップS1813において、メッセージ認証コードが正しくないと判断された場合、バインディングキャッシュの設定、更新を行わないことを確認する(ステップS1816)。
なお、上記の本発明の各実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるLSI(Large Scale Integration)として実現される。これらは個別に1チップ化されてもよいし、一部又はすべてを含むように1チップ化されてもよい。なお、ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
本発明に係るバインディング更新方法及びその方法で用いられる移動端末は、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できるため、バインディングアップデートにより経路の最適化がなされた通信端末間のバインディングを更新するバインディング更新方法及びその方法で用いられる移動端末などに有用である。
本発明は、バインディングアップデートにより経路の最適化がなされた通信端末間のバインディングを更新するバインディング更新方法及びその方法で用いられる移動端末に関する。
従来から、通信装置が移動しても移動前と同じIPアドレスを使い続けることができる技術としてモバイルIPが存在する。モバイルIPでは、ホームエージェント(home agent)が移動通信装置(mobile node)のホームアドレス(home address)あてのパケットを受信し、移動通信装置の気付アドレス(CoA:Care-of Address)に転送する。このため、移動通信装置は移動に伴うアドレス変更によらず、ホームアドレスを用いた通信を継続できる。
また、パケットがホームエージェントを経由することによって移動通信装置と通信相手装置(CN:correspondent node)の通信経路が遠回りになることを改善するために、移動通信装置と通信相手装置の通信経路を直接結ぶ経路最適化(Route Optimization)技術が存在する。この経路最適化技術は、通信相手装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させることによって、気付アドレスを用いて通信することを特徴とする。この通信相手装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させる処理は、バインディング更新処理(BU:Binding Update)と呼ばれている。
通信相手装置に対するバインディング更新処理では、ホームエージェントに対するバインディング更新処理とは異なり、バインディング更新前処理(RR:Return Routability Procedure)を必要としている。ホームエージェントと移動通信装置との間では、信頼関係をあらかじめ築いておくことができるため、このバインディング更新前処理を必要としない。ホームエージェントに対するバインディング更新処理においては、移動通信装置がホームエージェントにホームアドレスに対する新しい気付アドレスを通知したとき、ホームエージェントは、事前に確立しておいた信頼関係(IPsec SAなど)によって移動通信装置からのバインディング更新要求であることを確認することができる。
一方、通信相手装置の場合、すべての通信相手となる可能性のある通信装置に対して、バインディング更新処理を行う前に、移動通信装置と通信相手装置との間にあらかじめ信頼関係を確立しておくことは困難である。もし、信頼関係がない状態で通信相手装置がバインディング更新の要求に従ってしまうならば、移動通信装置に成りすました攻撃が容易になる。そして、攻撃者が通信相手装置にバインディング更新処理を行うと、移動通信装置へのパケットを不正な気付アドレスに転送させることが可能になる。これを防ぐ技術がバインディング更新前処理である。
具体的には、バインディング更新前処理では、ホームアドレステスト処理(Home Test)、気付アドレステスト処理(Care-of Test)を行う。これらの処理の結果をバインディング更新処理に反映させることによって、不正なバインディング更新処理を防いでいる。なお、従来技術として説明した、モバイルIP、経路最適化、バインディング更新前処理については、後述する非特許文献1に記載されている。また、バインディング更新前処理の設計思想については、後述する非特許文献2に記載されている。
バインディング更新前処理についてもう少し詳しく説明する。ホームアドレステスト処理では、移動通信装置はHoTI(Home Test Init)メッセージを通信相手装置に送信し、通信相手装置はHoT(Home Test)メッセージを返す。また、気付アドレステスト処理では、移動通信装置はCoTI(Care-of Test Init)メッセージを通信相手装置に送信し、通信相手装置はCoT(Care-of Test)メッセージを返す。
移動通信装置は、通信相手装置から応答として返されたHoTメッセージ及びCoTメッセージに含まれるHome keygen token(Home token)、Care-of keygen token(Care-of token)をもとに鍵を生成し、その鍵でバインディング更新(BU)メッセージのメッセージ認証コード(MAC:Message Authentication Code)を計算し、BUメッセージに付加して送信する。
BUメッセージを受信した通信相手装置は、メッセージ認証コードを確認することによって、移動通信装置から送信された正当なBUメッセージであると判断する。バインディング更新前処理の設計思想を説明している非特許文献2によると、このバインディング更新前処理は、通信相手装置がState(状態)を持つ必要がないように設計されている。つまり、HoTIメッセージを受信したことがあるかどうか、CoTIメッセージを受信したことがあるかどうかを、通信相手装置は記憶しておかなくてもBUメッセージの認証処理を行うことができる。
これは、攻撃者がHoTIメッセージやCoTIメッセージを用いて通信相手装置に対してDoS攻撃(Denial of Service Attack)を行った場合に、通信相手装置の被害を小さくするためである。また、HoTIメッセージに対してHoTメッセージを返す、CoTIメッセージに対してCoTメッセージを返す、というように1つの要求メッセージに対して1つの応答メッセージを返すようにしているのは、メッセージの増加(Amplification)を行わないようにするためである。これは、要求メッセージを1つ送ったときに、複数の応答メッセージを返す仕組みにした場合、攻撃者は1つのメッセージを送ることによって、複数のターゲットを攻撃することが可能になるためである。
"Mobility Support in IPv6",RFC3775 "Mobile IP Version 6 Route Optimization Security Design Background",RFC4225
"Mobility Support in IPv6",RFC3775 "Mobile IP Version 6 Route Optimization Security Design Background",RFC4225
しかしながら、上記従来技術のMIPv6では移動端末どうしがお互いにバインディングアップデートを行っているときに、その状況を効率的に利用できないという課題があった。つまり、従来の移動通信装置は、通信相手装置が自身に対してバインディングアップデートを行っている場合であっても、処理の効率化を目的としてバインディングアップデートの処理手順を変えることができなかった。
また、移動通信装置と通信相手装置が最適化経路を用いた通信を継続するためには、双方ともバインディングキャッシュを継続するために、定期的(7分ごと)にバインディングアップデートを行わなければならない。一方の装置(端末)のバインディングキャッシュを継続するだけでは不十分である。しかしながら、従来技術では、それぞれの装置が独立にバインディングアップデートを行うことしかできなかった。
具体的には、図19A、Bに示すように、端末A(MN_A)と端末B(MN_B)はそれぞれ独立に7分ごとにこのバインディングアップデートの処理を行い、相手端末に通知したバインディングキャッシュ(ホームアドレスと気付アドレスの情報)の寿命(Life Time)を更新していた。これにより、メッセージ数が多くなってしまう。
本発明は、上記の問題点に鑑み、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できるバインディング更新方法及びその方法で用いられる移動端末を提供することを目的とする。
上記目的を達成するために、本発明によれば、第1の移動端末と、前記第1の移動端末の通信相手である第2の移動端末との間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法であって、前記第1の移動端末が前記第2の移動端末のバインディング情報を保持している場合に、前記第1の移動端末が、所定の第1移動端末情報を含めたメッセージであって、前記第2の移動端末から所定の第2移動端末情報を取得するための第1の1組のメッセージを前記第2の移動端末へ送信するステップと、前記第2の移動端末が、前記所定の第2移動端末情報を含めた第2の1組のメッセージを前記第1の移動端末へ送信するステップと、前記第1の移動端末が、前記第2の1組のメッセージに含まれた前記所定の第2移動端末情報に基づいて生成された認証情報を付加した第3のメッセージを前記第2の移動端末へ送信するステップと、前記第2の移動端末が、前記第3のメッセージに対する応答情報を含めたメッセージであって、前記所定の第1移動端末情報に基づいて生成された認証情報を付加した第4のメッセージを前記第1の移動端末へ送信するとともに、前記第1の移動端末からの前記認証情報が正当である場合に前記バインディング情報を更新するステップと、前記第1の移動端末が、前記第4のメッセージに付加された前記第2の移動端末からの前記認証情報が正当である場合に前記バインディング情報を更新するステップとを、有するバインディング更新方法が提供される。この構成により、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できる。
また、本発明のバインディング更新方法において、前記第2の移動端末が、前記所定の第1移動端末情報を前記第2の1組のメッセージに含めて前記第1の移動端末へ送信し、
前記第1の移動端末は、前記第2の1組のメッセージに含まれる前記所定の第1移動端末情報を前記第3のメッセージに含めて前記第2の移動端末へ送信することは、本発明の好ましい態様である。この構成により、DoS攻撃を受けた際の被害を抑えることができる。
前記第1の移動端末は、前記第2の1組のメッセージに含まれる前記所定の第1移動端末情報を前記第3のメッセージに含めて前記第2の移動端末へ送信することは、本発明の好ましい態様である。この構成により、DoS攻撃を受けた際の被害を抑えることができる。
また、本発明のバインディング更新方法において、前記第2の移動端末が、前記所定の第1移動端末情報を前記第2の移動端末のみが復号できる形式で前記第2のメッセージに含めて送信することは、本発明の好ましい態様である。この構成により、他の端末に読み取られることを防ぐことができる。
また、本発明のバインディング更新方法において、前記所定の第1移動端末情報は、前記第2の移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記所定の第2移動端末情報は、前記第1の移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記第1の1組のメッセージは、前記第2の移動端末に対するホームアドレステスト(Home Test Init)及び気付けアドレステスト(Care−Of Test Init)の開始を要求するメッセージであり、前記第2の1組のメッセージは、前記第1の1組のメッセージに応答するHoTメッセージ及びCoTメッセージであり、前記第3のメッセージは、前記第2の移動端末へのバインディングアップデートメッセージであり、前記第4のメッセージは、前記第1の移動端末へのバインディングアップデートメッセージであることは、本発明の好ましい態様である。この構成により、適切な経路最適化を行うことができる。
また、本発明によれば、移動端末と、前記移動端末の通信相手である通信相手端末との間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる前記移動端末であって、前記移動端末が前記通信相手端末のバインディング情報を保持している場合に、所定の移動端末情報を含めたメッセージであって、前記通信相手端末から所定の通信相手端末情報を取得するための第1の1組のメッセージを生成するメッセージ生成手段と、生成された前記第1の1組のメッセージを前記通信相手端末へ送信する送信手段と、前記所定の通信相手端末情報を含めた第2の1組のメッセージを前記通信相手端末から受信する受信手段と、受信した前記所定の通信相手端末情報に基づいて認証情報を生成する認証情報生成手段と、前記バインディング情報を更新する更新手段とを備え、前記メッセージ生成手段が、前記認証情報生成手段によって生成された前記認証情報を付加した第3のメッセージを生成し、前記送信手段が、生成された前記第3のメッセージを前記通信相手端末へ送信し、前記更新手段が、前記受信手段を介して受信した情報であって、前記所定の移動端末情報に基づいて前記通信相手端末により生成された認証情報が正当であるか否かを判断し、正当である場合に前記バインディング情報を更新する移動端末が提供される。この構成により、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できる。
また、本発明によれば、移動端末と、前記移動端末の通信相手である通信相手端末との間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる前記移動端末であって、所定の通信相手端末情報を含めたメッセージであって、前記移動端末から所定の移動端末情報を取得するための第1の1組のメッセージを受信する受信手段と、前記所定の移動端末情報を含めた第2の1組のメッセージを生成するメッセージ生成手段と、生成された前記第2の1組のメッセージを前記通信相手端末へ送信する送信手段と、前記受信手段を介して受信した前記所定の通信相手端末情報に基づいて認証情報を生成する認証情報生成手段と、前記受信手段を介して受信した情報であって、前記所定の移動端末情報に基づいて前記通信相手端末により生成された認証情報が正当である場合に前記バインディング情報を更新する更新手段とを備え、前記メッセージ生成手段が、前記認証情報生成手段によって生成された前記認証情報を付加した第3のメッセージを生成し、前記送信手段が、生成された前記第3のメッセージを前記通信相手端末へ送信する移動端末が提供される。この構成により、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できる。
また、本発明の移動端末において、前記メッセージ生成手段が、前記第2の1組のメッセージに含まれる前記所定の移動端末情報を含めた前記第3のメッセージを生成することは、本発明の好ましい態様である。この構成により、DoS攻撃を受けた際の被害を抑えることができる。
また、本発明の移動端末において、前記メッセージ生成手段が、前記第1の1組のメッセージに含まれる前記所定の通信相手端末情報を含めた前記第2の1組のメッセージを生成することは、本発明の好ましい態様である。この構成により、DoS攻撃を受けた際の被害を抑えることができる。
また、本発明の移動端末において、前記メッセージ生成手段が、前記所定の通信相手端末情報を前記移動端末自身のみが復号できる形式で前記第3のメッセージに含めることは、本発明の好ましい態様である。この構成により、他の端末に読み取られることを防ぐことができる。
また、本発明の移動端末において、前記メッセージ生成手段が、前記所定の通信相手端末情報を前記移動端末自身のみが復号できる形式で前記第2の1組のメッセージに含めることは、本発明の好ましい態様である。この構成により、他の端末に読み取られることを防ぐことができる。
また、本発明の移動端末において、前記所定の移動端末情報が、前記通信相手端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記所定の通信相手端末情報が、前記移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記第1の1組のメッセージが、前記通信相手端末に対するホームアドレステスト(Home Test Init)及び気付けアドレステスト(Care−Of Test Init)の開始を要求するメッセージであり、前記第2の1組のメッセージが、前記第1の1組のメッセージに応答するHoTメッセージ及びCoTメッセージであり、前記第3のメッセージが、前記通信相手端末へのバインディングアップデートメッセージであることは、本発明の好ましい態様である。この構成により、適切な経路最適化を行うことができる。
また、本発明の移動端末において、前記所定の通信相手端末情報が、前記移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記所定の移動端末情報が、前記通信相手端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、前記第1の1組のメッセージが、前記移動端末に対するホームアドレステスト(Home Test Init)及び気付けアドレステスト(Care−Of Test Init)の開始を要求するメッセージであり、前記第2の1組のメッセージが、前記第1の1組のメッセージに応答するHoTメッセージ及びCoTメッセージであり、前記第3のメッセージが、前記通信相手端末へのバインディングアップデートメッセージであることは、本発明の好ましい態様である。この構成により、適切な経路最適化を行うことができる。
本発明のバインディング更新方法及びその方法で用いられる移動端末は、上記構成を有し、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できる。
<第1の実施の形態>
第1の実施の形態について説明する。図1Aに示すような多くのメッセージ数を減らすため、図1Bに示すように、両端末が行うバインディングアップデートを同期させ、受信側の端末がメッセージを重ねて送信するよう構成した。
第1の実施の形態について説明する。図1Aに示すような多くのメッセージ数を減らすため、図1Bに示すように、両端末が行うバインディングアップデートを同期させ、受信側の端末がメッセージを重ねて送信するよう構成した。
すなわち、図1Bに示すように、端末Aから開始したバインディングアップデートの手順に、端末Bが同期してバインディングアップデートを行う(以降、結合バインディングアップデートとよぶ)。端末Bは、端末AからのHoTIに対してHoTを応答として返すが、それと同時にHoTIを送信する。同様に、端末Bは端末AからのCoTIに対してCoTを応答として返すと同時にCoTIを送信する。そして、端末Bは端末AからのBUに対して、BAを応答として返すと同時にBUを送信する。このとき端末Bが送信するHoTとHoTIを1つのメッセージにし、同様にCoTとCoTI、BAとBUを1つのメッセージにすることによって、メッセージ数を削減することができる。
ここで、結合バインディングアップデートの開始側の移動端末(ここでは端末A)について図2を用いて説明する。メッセージ生成部201は、通信相手端末(端末B)から情報B1、B2それぞれを取得するためのHoTI、CoTIメッセージそれぞれを生成する。送信部202は、生成されたHoTI、CoTIメッセージを端末Bへ送信する。受信部203は、情報B1を含むメッセージであって、情報A1を取得するためのHoTメッセージ、及び情報B2を含むメッセージあって、情報A2を取得するためのCoTメッセージを受信する。
認証情報生成部204は、情報B1、B2に基づいて認証コードをそれぞれ生成し、生成された認証コードは、送信部202によって端末Bへ送信される。更新部205は、受信部203を介して受信したコード情報であって、情報A1、A2に基づいて端末Bによって生成された認証コードが正当であるか否かを判断し、正当である場合にバインディング情報を更新する。記憶部206は、バインディングキャッシュなどの情報を格納する。
次に、結合バインディングアップデートの応答側の移動端末(ここでは端末B)について図3を用いて説明する。受信部301は、情報B1、B2を取得するためのHoTI、CoTIメッセージを端末Aから受信する。メッセージ生成部302は、情報B1を含めたメッセージであって、端末Aから情報A1を取得するためのHoTメッセージ、及び情報B2を含めたメッセージであって、端末Aから情報A2を取得するためのCoTメッセージを生成する。
送信部303は、生成されたHoT、CoTメッセージを端末Aへ送信する。認証情報生成部304は、受信部301を介して受信した情報B1、B2に基づいて認証コードを生成し、生成された認証コードは送信部303によって端末Aに送信される。更新部305は、受信部301を介して受信した情報であって、情報B1、B2に基づいて端末Aによって生成されたそれぞれの認証コードが正当であるか否かを判断し、正当である場合にバインディング情報を更新する。記憶部306は、バインディングキャッシュなどの情報を格納する。
<第2の実施の形態>
第2の実施の形態について説明する。まず、MIPの基本原理について説明する。図4には端末Aからのバインディングアップデートの様子を示している。端末Aは端末Bに気付アドレス(CoA)が自身のアドレスであることを端末Bに証明しようとしている。そのため、端末Bに端末Aのホームアドレス(HoA)とCoAにそれぞれメッセージを送信してもらい、その両方を受信したことを端末Bに示す。
第2の実施の形態について説明する。まず、MIPの基本原理について説明する。図4には端末Aからのバインディングアップデートの様子を示している。端末Aは端末Bに気付アドレス(CoA)が自身のアドレスであることを端末Bに証明しようとしている。そのため、端末Bに端末Aのホームアドレス(HoA)とCoAにそれぞれメッセージを送信してもらい、その両方を受信したことを端末Bに示す。
簡単に説明すると、端末Bは端末AのHoAあてに情報B1を送信し、端末AのCoAあてに情報B2を送信する。端末AはB1とB2を用いて鍵データであるKey(B1、B2)を生成し、その鍵データを用いて認証コードを生成する。端末Bは端末Aからの認証コードを確認することによって、端末Aが鍵データを正しく生成できたことを確認し、端末Aが情報B1と情報B2を受信したと判定する。
より具体的に説明すると、端末AはHoTIを端末Bに送信し、情報B1をHoTに含めて端末AのHoAあてに送信させる。また、端末AはCoTIを端末Bに送信し、情報B2をCoTに含めて端末AのCoAあてに送信させる。そして、情報B1と情報B2を用いて鍵データであるKey(A1、A2)を生成し、その鍵を用いて送信するBUメッセージの認証コードを生成し、認証コードをBUメッセージに付加して端末Bに送信する。端末Bは、BUを受信するとB1とB2から鍵データを生成し、認証コードが正しいかどうか確認する。なお、図5は端末Bからのバインディングアップデートの様子を示している。
以上を踏まえて、上述した第1の実施の形態よりさらにメッセージ数を減らすことができる態様について図6を用いて説明する。この態様では、端末Aが端末Bからの要求を受ける前に、端末BのHoAに情報A1を、CoAに情報A2を送信する。これは、従来なら端末BからHoTI、CoTIメッセージを受信した後応答として返す情報である。しかし、端末Aが端末Bのバインディングキャッシュを持っている場合、端末Aは端末BのHoAとCoAを既に知っているため、図6に示すように、端末Bのバインディングアップデートの処理を端末Aから開始することができる。
さらに、端末Aは、端末Bに対するHoTIメッセージ601、CoTIメッセージ603を用いて情報A1と情報A2を送信することによって、端末Aのバインディングアップデートも同時に開始することができる。端末Aは、端末Bからの応答メッセージであるHoTメッセージ602、CoTメッセージ604を受信し、その応答メッセージに含まれる情報B1、B2を用いて鍵データ(Key(B1、B2))を作成し、BUメッセージ605を送信し、鍵データ(Key(B1、B2))を生成できたことを示す。
端末Bは、そのBUメッセージ605を確認し、端末Aのバインディングアップデートを承認するとともに、先に送られてきた情報A1と情報A2をもとに鍵データ(Key(A1、A2))を生成し、BUメッセージ605の応答としてBAメッセージ606を送る際に、端末Bが鍵データ(Key(A1、A2))を生成できたことを示す。端末Aは、そのBAメッセージ606を確認し、端末Bのバインディングアップデートを承認する。なお、端末Aは承認完了の旨のメッセージ607を端末Bに送信するようにしてもよい。以上のように、本実施の形態の方法を用いることによって、第1の実施の形態と比較して、バインディングアップデートに要するメッセージ数を更に削減することができる。
ここで、第2の実施の形態をより詳細に説明する。端末Aが端末Bからのバインディングアップデートを受け、端末BのホームアドレスB−HoAと気付アドレスB−CoAを知っている状態にあるとする。端末Aは、端末Bにバインディングアップデートを行うとき、端末Bのバインディングキャッシュ情報を保持しているかどうかを確認する。保持していない場合には、通常のMIPのバインディングアップデート処理を行う。一方、端末Aが、端末Bのバインディングキャッシュ情報を保持している場合、図7に示すように、端末Aと端末Bの両方のバインディングアップデートを同時に行うことを試みる。
端末Aは、端末BのHoAあてにHoTIを送信する。送信元アドレスは端末AのHoAであり、端末Bからの応答メッセージHoTは、この送信元アドレスである端末AのHoAあてに送信される。メッセージHoTIには情報A1が含まれる。端末Bは、HoTIを受信すると、応答メッセージHoTを端末Aに送信する。端末BのHoAで受信したメッセージの応答であるため、送信元アドレスは端末BのHoAであり、あて先アドレスは要求メッセージHoTIの送信元アドレスである端末AのHoAである。
同様に、端末Aは端末BのCoAあてにCoTIを送信する。送信元アドレスは端末AのCoAである。CoTIメッセージには情報A2が含まれる。端末Bは、CoTIを受信すると、応答メッセージCoTを端末Aに送信する。端末BのCoAで受信したメッセージの応答であるため、送信元アドレスは端末BのCoAであり、あて先アドレスは要求メッセージCoTIの送信元アドレスである端末AのCoAである。
端末Aは、応答メッセージのHoTとCoTに含まれる情報B1とB2を用いて鍵データを生成し、その鍵データを用いて認証コードを生成し、BUメッセージに認証コードを付加して、端末Bに送信する。端末Bは、BUメッセージを受信すると認証コードを確認し、端末Aのバインディングキャッシュが正しいと判定し、寿命(Life Time)を延長する。また、端末Bは、応答メッセージであるBAを送信する際に、HoTIとCoTIに含まれていた情報A1とA2を用いて鍵データを生成し、その鍵データを用いて認証コードを生成し、BAメッセージに認証コードを付加して、端末Aに送信する。端末Aは、BAメッセージを受信すると認証コードを確認し、端末Bのバインディングキャッシュが正しいと判定し、寿命を延長する。
上述した様子について図8を用いて更に詳しく説明する。端末Aは、HoTIにA-Token-hを付加して端末Bに送信する。A-Token-hの生成方法は、原理的には任意でよく特に定める必要はない。しかし、従来技術のMIPをできるだけ利用する方法として次のような生成方法が考えられる。
A-Token-h = HMAC SHA1 (B-HoA, A-Key, nonce)
なお、ここではトークン値の計算にハッシュ関数(HMAC SHA1)を用いる場合について述べるが、それ以外の関数あるいは生成式を用いるものであってもよい。
B-HoAとは端末Bのホームアドレスであり、A-Keyとは端末Aの秘密鍵である。nonceは端末AがHome Tokenを生成するときに使用する乱数である。端末Bは、端末AからのHoTIを受信しHoTを応答として返す。HoTには、B-Token-h、B-nonce-hを含める。B-Token-hの計算方法は従来のMIPとは異なる。従来のMIPでは次のようにB-Token-hを計算した。
B-Token-h = HMAC SHA1 (A-HoA, B-Key, B-nonce-h)
本発明の方法では、次のように計算する。
B-Token-h = HMAC SHA1 (A-HoA, B-HoA, B-Key, B-nonce-h)
つまり、端末BのホームアドレスB-HoAを加えてB-Token-hを計算する。B-Token-hの計算に用いるA-HoAは、HoTIメッセージの送信元アドレスであり、B-HoAはあて先アドレスである。また、HoTIメッセージに含まれていたA-Token-hは、端末Bが保持する。例えば、端末Aのバインディングキャッシュの中にHome Tokenを保持する領域を確保し、送信されてきた最新の値を保持するといった方法が考えられる。
端末Aは、HoTIの送信と並行してCoTIを送信してもよい。つまり、HoTを受信する前にCoTIを送信してよい。またHoTIの前にCoTIを送信してもよい。端末Aは、CoTIにA-Token-cを付加して端末Bに送信する。A-Token-cの生成方法は次のような方法が考えられる。
A-Token-c = HMAC SHA1 (B-CoA, A-Key, nonce)
B-CoAとは端末Bの気付アドレスであり、A-Keyとは端末Aの秘密鍵である。nonceは端末AがCare-of Tokenを生成するときに使用する乱数である。端末Bは、端末AからのCoTIを受信しCoTを応答として返す。CoTには、B-Token-c、B-nonce-cを含める。B-Token-cの計算方法は従来のMIPとは異なり、次のように計算する。
B-Token-c = HMAC SHA1 (A-CoA, B-CoA, B-Key, B-nonce-c)
つまり、端末Bの気付アドレスB-CoAを加えてB-Token-cを計算する。B-Token-cの計算にもちいるA-CoAは、CoTIメッセージの送信元アドレスであり、B-CoAはあて先アドレスである。また、端末BはA-Token-cをA-Token-hと同様に保持しておく。端末Aは、HoTIメッセージの応答としてHoTを受信し、CoTIメッセージの応答としてCoTを受信すると、それぞれのメッセージに含まれるB-Token-hとB-Token-cを用いて鍵データであるKey Bを生成する。
Key B = HMAC SHA1 (B-Token-h, B-Token-c)
端末Aはこの鍵データKey Bを用いてBUメッセージの認証コードB−MACを生成する。
B-MAC = HMAC SHA1 (Key B, BU message)
端末Aは、BUメッセージに次のデータのB-nonce-h、B-nonce-c、B-MAC、A-HoA、B-HoAを付加して端末Bに送信する。端末Bは、BUメッセージを受信し、B-nonce-h、B-HoA、A-HoAを用いてB-Token-hを生成する。また、BUメッセージの送信元アドレスA-CoA、あて先アドレスB-CoA、B-nonce-cを用いてB-Token-cを生成する。生成したB-Token-hとB-Token-cを用いてKey Bを生成し、BUメッセージに付加されているB-MACが正しいかどうか検査する。
B−MACの検査結果が正しい場合には、端末Bは端末Aのバインディングキャッシュの寿命の更新を行う。また新規の設定も可能である。一方、B−MACの検査結果が正しくなかった場合には、メッセージを破棄することやエラーメッセージを返すといった対応を取る。また、端末Bは保持していた情報A-Token-hとA-Token-cを用いて次のように鍵データKey Aを生成する。
Key A = HMAC SHA1 (A-Token-h, A-Token-c)
端末Bはこの鍵データKey Aを用いてBAメッセージの認証コードA−MACを生成する。
A-MAC = HMAC SHA1 (Key A, BA message)
端末Bは、BAメッセージに、通常のMIPと同様にKey Bで生成した認証コードB−MACを付加するとともに、新しいKey Aで生成した認証コードA−MACを付加する。端末Aは、BAメッセージを受信し、Key B及びKey Aを用いて認証コードを検証し、正しい場合には、端末Bのバインディングキャッシュの寿命の更新を行う。認証コードの検証結果が正しくなかった場合には、メッセージを破棄することやエラーメッセージを返すといった対応を取る。なお、上記ではKey AとKey Bを分ける場合で説明したが、合わせて一つの鍵データにしてもよい。例えば、次のように鍵データを生成してもよい。
Key AB = HMAC SHA1 (A-Token-h, A-Token-c, B-Token-h, B-Token-c)
次に、結合バインディングアップデートの開始側の移動端末について図9を用いて説明する。まず、HoTI/CoTIの送信について説明する。メッセージ作成部901は、結合バインディング判定部902に通常のバインディングアップデートか、結合バインディングアップデートかの判定を要求する。結合バインディング判定部902は、バインディングキャッシュ管理部903に、これからバインディングアップデートを行う相手端末からのバインディングキャッシュが登録されているかどうかを確認する。登録されていない場合には、通常のバインディングアップデートを行う。
結合バインディングアップデートを行う場合には、メッセージ作成部901はA−Token生成部904にHome Token及びCare-of Tokenを生成させ、そのTokenを付加してHoTIメッセージ及びCoTIメッセージを生成し、メッセージ送信部905より送信する。A−Token生成部904で作成したHome Token及びCare-of TokenはA−Token保存部906において保存しておく。
次に、HoT/CoTの受信について説明する。HoTI及びCoTIメッセージの応答メッセージであるHoT及びCoTメッセージは、メッセージ受信部907によって受信される。受信したHoT及びCoTに含まれる相手端末が生成したToken及びNonce-ID(応答側の移動端末がNonceの値を呼び出すための識別番号)はB−Token保存部908及びNonce保存部909に保存される。
次に、BUの送信について説明する。HoTメッセージとCoTメッセージの両方を受信したとき、B−Token保存部908にはHome TokenとCare-of Tokenの両方のTokenが揃っているため、それらのTokenを用いてB−Key生成部910において鍵データを生成する。メッセージ認証コード生成部911は、B−Key生成部910において生成された鍵データを用いてメッセージ認証コード(上述した認証コードに相当)を生成し、メッセージ作成部901に渡す。メッセージ作成部901では、生成されたメッセージ認証コードをBUメッセージに付加する。またNonce保存部909に保存しておいたNonce-IDもBUメッセージに付加する。そしてメッセージ送信部905よりBUメッセージを送信する。
次に、BAの受信について説明する。BAメッセージをメッセージ受信部907で受信し、メッセージ認証コード判定部912においてメッセージの判定を行う。メッセージの判定のために、A−Key生成部913は、A−Token保存部906に保存しておいたHome TokenとCare-of Tokenを取り出し、鍵データを生成する。メッセージ認証コード生成部911はA−Key生成部913により生成された鍵データを用いてメッセージ認証コードを生成する。メッセージ認証コード判定部912は、その生成されたメッセージ認証コードと、BUメッセージに付加されていたメッセージ認証コードを比較し、一致するかどうか判定する。
メッセージ認証コードが一致した場合に、バインディングキャッシュ管理部903にバインディングキャッシュを登録する。その後で、BAメッセージに対する応答をメッセージ作成部901において作成し、メッセージ送信部905より送信する。
次に、結合バインディングアップデートの応答側の移動端末について図10を用いて説明する。まず、HoTI/CoTIの受信について説明する。HoTI及びCoTIメッセージをメッセージ受信部1001で受信し、結合バインディングアップデートの場合には、メッセージに含まれるHome Token又はCare-of TokenをA−Token保存部1002に渡す。また、結合バインディングB−Token生成部1003はB-Token(Home Token又はCare-of Token)を生成する。B-Tokenを生成するときに必要なNonce(home nonce又はcare-of nonce)はNonce管理部1004より取得する。
B-Home Token = SHA1 (A-HoA, B-HoA, B-Key, B-home nonce)
B-Care-of Token = SHA1 (A-CoA, B-CoA, B-Key, B-care-of nonce)
B-Care-of Token = SHA1 (A-CoA, B-CoA, B-Key, B-care-of nonce)
次に、HoT/CoTの送信について説明する。結合バインディングB−Token生成部1003より生成したToken及び生成に用いたNonceを呼び出すためのNonce-IDを取得し、応答メッセージに付加する。応答メッセージは受信メッセージがHoTIの場合にはHoTメッセージであり、CoTIの場合にはCoTメッセージである。メッセージ作成部1005が作成した応答メッセージは、メッセージ送信部1006から送信される。
次に、BUの受信について説明する。BUメッセージをメッセージ受信部1001で受信し、結合バインディングアップデートの場合には、結合バインディングB−Token生成部1003においてHome Token及びCare-of Tokenを生成する。Token生成のときには、受信したBUメッセージに含まれるNonce-IDを用いてNonce管理部1004からNonceの値を取り出し、それを用いる。また、BUメッセージに含まれるメッセージ認証コードをメッセージ認証コード比較部1007に渡す。
結合バインディングB−Token生成部1003で生成したHome Token及びCare-of TokenをB−Key生成部1008に渡し、B−Key生成部1008において鍵データを生成する。そして、生成した鍵データを用いて、メッセージ認証コード生成部1009において、メッセージ認証コードを生成する。生成したメッセージ認証コードとBUメッセージに含まれていたメッセージ認証コードが一致するかどうかをメッセージ認証コード比較部1007で比較する。メッセージ認証コードが一致した場合は、バインディングキャッシュ管理部1011にバインディングキャッシュを設定又は更新する。
次に、BAの送信について説明する。A−Token保存部1002に保存しておいたTokenを用いてA−Key生成部1010において鍵データを生成し、メッセージ認証コード生成部1009でメッセージ認証コードを生成する。メッセージ作成部1005は、生成されたメッセージ認証コードをBAメッセージに付加し、メッセージ送信部1006よりBAメッセージを送信する。BAメッセージに対する応答メッセージは、メッセージ受信部1001で受信し、メッセージ認証コードを確認し、バインディングキャッシュ管理部1011においてバインディングキャッシュを更新する。
なお、上述したように、結合バインディングアップデートの開始側の移動端末と応答側の移動端末の構成が異なっているが、通常はすべての移動端末が開始側にも応答側にもなり得るため、移動端末は上述した開始側と応答側の機能それぞれを有することが好ましい。
次に、結合バインディングアップデートの開始側の移動端末の処理フローについて図11を用いて説明する。図11に示すように、移動端末は、バインディングアップデートを行おうとしている相手端末のバインディングキャッシュが存在しているかの確認処理を開始し(ステップS1101)、相手端末のバインディングキャッシュが存在しているか否かを判断する(ステップS1102)。バインディングキャッシュが存在する場合、移動端末は、相手端末のホームアドレスを用いたHome Token及び相手端末のCoAを用いたCare-of Tokenを生成する(ステップS1103)。
そして、移動端末は、Home Tokenを含んだ結合バインディングアップデートのHoTIメッセージ、Care-of Tokenを含んだ結合バインディングアップデートのCoTIメッセージをそれぞれ送信する(ステップS1104)。移動端末は、応答メッセージのHoTメッセージ、CoTメッセージを待つと同時にタイマーをスタートさせる(ステップS1105)。移動端末は、タイムアウト前に応答(メッセージ)を受信したか否かを判断する(ステップS1106)。
タイムアウト前に応答メッセージを受信した場合、移動端末はBUメッセージを生成する。すなわち、移動端末は、受信したHoT、CoTに含まれるTokenを用いて鍵データを生成し、メッセージ認証コードを生成し、生成されたメッセージ認証コードを付加したBUメッセージを生成し、送信する(ステップS1107)。移動端末は、応答メッセージのBAメッセージを待つと同時にタイマーをスタートさせる(ステップS1108)。移動端末は、タイムアウト前に応答(メッセージ)を受信したか否かを判断する(ステップS1109)。
タイムアウト前に応答メッセージを受信した場合、移動端末は最初に送信したHome Token、Care-of Tokenから鍵データを生成し、BAメッセージに含まれるメッセージ認証コードが正しいか否かの確認処理を開始する(ステップS1110)。メッセージ認証コードが正しいか否かを判断し(ステップS1111)、正しいと判断された場合、移動端末は、自身のバインディングキャッシュ及び相手端末のバインディングキャッシュの設定及び更新を行い、応答メッセージを送信する(ステップS1112)。
なお、ステップS1102において、バインディングキャッシュが存在しないと判断された場合には、従来のMIPのバインディングアップデートを開始する(ステップS1113)。また、ステップS1106、S1109において、タイムアウト前に応答メッセージを受信できなかった場合、再送回数が所定の数値Nよりも小さければ再送を行う(ステップS1114、S1115)。また、ステップS1111において、メッセージ認証コードが正しくないと判断された場合、バインディングキャッシュの更新を行わないことを確認する(ステップS1116)。
次に、結合バインディングアップデートの応答側の移動端末の処理フロー(結合バインディングアップデートのメッセージの受信からそれに対する応答メッセージを送信するまで)について図12Aを用いて説明する。図12Aに示すように、移動端末は、HoTI又はCoTIを受信し、結合バインディングアップデートのメッセージかどうかの判定処理を開始する(ステップS1201)。移動端末は、結合バインディングアップデートのメッセージか否かを判断し(ステップS1202)、結合バインディングアップデートのメッセージである場合、受信した開始側の移動端末のHome Token又はCore-of Tokenを保持する(ステップS1203)。
移動端末は、Home Tokenの場合には両端末のホームアドレスを含め、Care-of Tokenの場合には両端末のCoAを含めたTokenを生成する(ステップS1204)。生成されたTokenを付加して応答メッセージを生成し、応答メッセージを送信する(ステップS1205)。なお、ステップS1202において、結合バインディングアップデートのメッセージではないと判断された場合、移動端末は、従来のMIPのバインディングアップデート処理として応答を送信する(ステップS1206)。
次に、結合バインディングアップデートの応答側の移動端末の処理フロー(BUメッセージの受信からBAメッセージを送信するまで)について図12Bを用いて説明する。図12Bに示すように、移動端末は、BU(メッセージ)を受信し、結合バインディングアップデートのメッセージかどうかの判定処理を開始する(ステップS1210)。移動端末は、結合バインディングアップデートのメッセージか否かを判断し(ステップS1211)、結合バインディングアップデートのメッセージである場合、BUに含まれるアドレス、Nonceの情報を用いてTokenを生成し、Tokenを用いて鍵データを生成し、付加されているメッセージ認証コードの確認処理を開始する(ステップS1212)。
移動端末は、メッセージ認証コードが正しいか否かを判断し(ステップS1213)、正しい場合には、バインディングキャッシュの設定、更新を行い、保持していた開始側の移動端末のTokenを用いて鍵データを生成し、メッセージ認証コードを生成し、BAメッセージに含めて送信する(ステップS1214)。なお、ステップS1211において、結合バインディングアップデートのメッセージでない場合、移動端末は、従来のMIPのバインディングアップデートを開始する(ステップS1215)。また、ステップS1213において、メッセージ認証コードが正しくないと判断された場合、バインディングキャッシュの設定、更新を行わないことを確認する(ステップS1216)。
<第3の実施の形態>
第2の実施の形態と同様に、端末Aが端末Bからのバインディングアップデートを受け、端末BのホームアドレスB-HoAと気付アドレスB-CoAを知っている状態にあるとする。端末Aは、端末Bにバインディングアップデートを行うとき、端末Bのバインディングキャッシュ情報を保持しているかどうかを確認する。保持していない場合には、通常のMIPのバインディングアップデート処理を行う。端末Aが、端末Bのバインディングキャッシュ情報を保持している場合、端末Aと端末Bの両方のバインディングアップデートを同時に行うことを試みる。なお、第3の実施の形態の説明においても、第2の実施の形態の説明で用いた図7を用いて説明する。
第2の実施の形態と同様に、端末Aが端末Bからのバインディングアップデートを受け、端末BのホームアドレスB-HoAと気付アドレスB-CoAを知っている状態にあるとする。端末Aは、端末Bにバインディングアップデートを行うとき、端末Bのバインディングキャッシュ情報を保持しているかどうかを確認する。保持していない場合には、通常のMIPのバインディングアップデート処理を行う。端末Aが、端末Bのバインディングキャッシュ情報を保持している場合、端末Aと端末Bの両方のバインディングアップデートを同時に行うことを試みる。なお、第3の実施の形態の説明においても、第2の実施の形態の説明で用いた図7を用いて説明する。
端末Aは、端末BのHoAあてにHoTIを送信する。送信元アドレスは端末AのHoAであり、端末Bからの応答メッセージHoTは、この送信元アドレスである端末AのHoAあてに送信される。メッセージHoTIには情報A1が含まれる。端末Bは、HoTIを受信すると、応答メッセージHoTを端末Aに送信する。端末BのHoAで受信したメッセージの応答であるため、送信元アドレスは端末BのHoAであり、あて先アドレスは要求メッセージHoTIの送信元アドレスである端末AのHoAである。
同様に、端末Aは、端末BのCoAあてにCoTIを送信する。送信元アドレスは、端末AのCoAである。CoTIメッセージには情報A2が含まれる。端末Bは、CoTIを受信すると、応答メッセージCoTを端末Aに送信する。端末BのCoAで受信したメッセージの応答であるため、送信元アドレスは端末BのCoAであり、あて先アドレスは要求メッセージCoTIの送信元アドレスである端末AのCoAである。
端末Aは、応答メッセージのHoTとCoTに含まれる情報B1とB2を用いて鍵データを生成し、その鍵データを用いて認証コードを生成し、BUメッセージに認証コードを付加して、端末Bに送信する。端末Bは、BUメッセージを受信すると認証コードを確認し、端末Aのバインディングキャッシュが正しいと判定し、寿命(Life Time)を延長する。
そして、応答メッセージであるBAを送信する際に、HoTIとCoTIに含まれていた情報A1とA2を用いて鍵データを生成し、その鍵データを用いて認証コードを生成し、BAメッセージに認証コードを付加して、端末Aに送信する。端末Aは、BAメッセージを受信すると認証コードを確認し、端末Bのバインディングキャッシュが正しいと判定し、寿命を延長する。ここまでは第2の実施の形態で同様である。
次に第3の実施の形態におけるバインディング情報更新方式の特徴を説明する。端末Aから2つの端末のバインディングアップデートを開始する場合、端末Aから端末Bに情報A1とA2を送り、端末Bに記憶させている。そのためセキュリティの観点から考えたとき、攻撃者が端末Bに異なる情報からなるHoTI、CoTIを大量に送りつけ、情報を覚えさせてメモリーを浪費させるという攻撃(DoS攻撃)が想定される。これを防ぐために、端末BはHoTIメッセージ1301を受信し、情報A1を取得するとその情報をHoTメッセージ1302に含めて端末Aに送り返すことも可能である。
その様子を図13に示した。同様に、端末BはCoTIメッセージ1303を受信し、情報A2をCoTメッセージ1304に含めて端末Aに送り返す。端末Aは、送り返された情報A1とA2をBUメッセージ1305に含めて端末Bに送信する。端末Bは、BUメッセージ1305に含まれる情報A1とA2を用いて鍵データであるKey A(A1、A2)を生成し、認証コードを作成する。そして、端末Bは生成されたKey A(A1、A2)をBAメッセージ1306に含めて端末Aに送信する。なお、端末AはKey A(A1、A2)を確認し、端末Bのバインディングアップデートの承認をした場合、承認完了の旨のメッセージ1307を端末Bに送信するようにしてもよい。また、端末Bは、情報A1及びA2を端末Aに送り返すとき、署名、暗号化して送り返してもよい。署名を検証し、復号化してもとの情報に戻せるのは端末Bだけであるので、返送されるまでの間に改竄等される危険を防ぐことができるからである。
ここで、第3の実施の形態におけるメッセージシーケンスについて図14を用いて詳しく説明する。端末Aは、HoTIにA-Token-hを付加して端末Bに送信する。A-Token-hの生成方法は、原理的には任意でよく特に定める必要はない。しかし、従来技術のMIPをできるだけ利用する方法として、次のような生成方法が考えられる。
A-Token-h = HMAC SHA1 (B-HoA, A-Key, nonce)
B-HoAとは端末Bのホームアドレスであり、A-Keyとは端末Aの秘密鍵である。nonceは端末AがHome Tokenを生成するときに使用する乱数である。端末Bは、端末AからのHoTIを受信し、HoTを応答として返す。HoTにはB-Token-h、B-nonce-h、Sb(A-Token-h)を含める。B-Token-hの計算方法は従来のMIPとは異なる。従来のMIPでは次のようにB-Token-hを計算した。
B-Token-h = HMAC SHA1 (A-HoA, B-Key, B-nonce-h)
本発明の方法では、次のように計算する。
B-Token-h = HMAC SHA1 (A-HoA, B-HoA, B-Key, B-nonce-h)
つまり、端末BのホームアドレスB-HoAを加えてB-Token-hを計算する。B-Token-hの計算に用いるA-HoAは、HoTIメッセージの送信元アドレスであり、B-HoAはあて先アドレスである。また、HoTメッセージに含めるSb(A-Token-h)は、端末BがA-Token-hを記憶しておくことを回避するための手段である。A-Token-hを暗号化し、端末Aに送り返し、さらに端末AはBUに含めて端末Bへ送り返す。端末Bは、BUに付加されたSb(A-Token-h)を復号化し、A-Token-hを取得し、A-Token-hを用いて鍵データKey Aを生成する。
端末Aは、HoTIの送信と並行して、CoTIを送信してもよい。つまり、HoTを受信する前にCoTIを送信してもよい。またHoTIの前にCoTIを送信してもよい。端末Aは、CoTIにA-Token-cを付加して端末Bに送信する。A-Token-cの生成方法は次のような方法が考えられる。
A-Token-c = HMAC SHA1 (B-CoA, A-Key, nonce)
B-CoAとは端末Bの気付アドレスであり、A-Keyとは端末Aの秘密鍵である。nonceは端末AがCare-of Tokenを生成するときに使用する乱数である。端末Bは、端末AからのCoTIを受信し、CoTを応答として返す。CoTには、B-Token-c、B-nonce-c、Sb(A-Token-c)を含める。B-Token-cの計算方法は従来のMIPとは異なり、次のように計算する。
B-Token-c = HMAC SHA1 (A-CoA, B-CoA, B-Key, B-nonce-c)
つまり、端末Bの気付アドレスB-CoAを加えてB-Token-cを計算する。B-Token-cの計算に用いるA-CoAは、CoTIメッセージの送信元アドレスであり、B-CoAはあて先アドレスである。また、CoTメッセージに含めるSb(A-Token-c)は、HoTIの処理と同様で、端末BがA-Token-cを記憶しておくことを回避するための手段である。
端末Aは、HoTIメッセージの応答としてHoTを受信し、CoTIメッセージの応答としてCoTを受信すると、それぞれのメッセージに含まれるB-Token-hとB-Token-cを用いて鍵データKey Bを生成する。
Key B = HMAC SHA1 (B-Token-h, B-Token-c)
端末Aは、この鍵データを用いてBUメッセージの認証コードB−MACを生成する。
B-MAC = HMAC SHA1 (Key B, BU message)
端末Aは、BUメッセージに次のデータのB-nonce-h、B-nonce-c、B-MAC、Sb(A-Token-h)、Sb(A-Token-c)、A-HoA、B-HoAを付加して、端末Bに送信する。
端末Bは、BUメッセージを受信し、B-nonce-h、B-HoA、A-HoAを用いて、B-Token-hを生成する。また、BUメッセージの送信元アドレスA-CoA、あて先アドレスB-CoA、B-nonce-cを用いてB-Token-cを生成する。生成したB-Token-hとB-Token-cを用いて、Key Bを生成し、BUメッセージに付加されているB−MACが正しいかどうか検査する。B−MACの検査結果が正しい場合には、端末Bは端末Aのバインディングキャッシュの寿命の更新を行う。また新規の設定も可能である。一方、B−MACの検査結果が正しくなかった場合には、メッセージを破棄することやエラーメッセージを返すといった対応を取る。
また、端末BはBUメッセージに含まれる情報Sb(A-Token-h)とSb(A-Token-c)の復号処理を行い、A-Token-hとA-Token-cを取得する。そして次のようにKey Aを生成する。
Key A = HMAC SHA1 (A-Token-h, A-Token-c)
端末Bはこの鍵データを用いてBAメッセージの認証コードA−MACを生成する。
A-MAC = HMAC SHA1 (Key A, BA message)
端末Bは、BAメッセージに、通常のMIPと同様にKey Bで生成した認証コードB−MACを付加するとともに、新しいKey Aで生成した認証コードA−MACを付加する。端末Aは、BAメッセージを受信し、Key B及びKey Aを用いて認証コードを検証し、正しい場合には、端末Bのバインディングキャッシュの寿命の更新を行う。認証コードの検証結果が正しくなかった場合には、メッセージを破棄することやエラーメッセージを返すといった対応を取る。
なお、上記ではKey AとKey Bを分ける場合で説明したが、合わせて一つの鍵データにしてもよい。例えば、次のように鍵データを生成してもよい。
Key AB = HMAC SHA1 (A-Token-h, A-Token-c, B-Token-h, B-Token-c)
なお、端末AがA-Token-h、A-Token-cを記憶する場合について説明したが、BUメッセージにA-nonce-h、A-nonce-cを含め、端末BよりBAメッセージに含めて折り返してもよい。この場合、端末Aは、BAメッセージを受信してからA-Token-h、A-Token-cをそれぞれA-nonce-hとA-nonce-cから生成することができ、記憶しておく必要がない。
なお、本発明ではA-Token-h、A-Token-cをそれぞれHoTIメッセージ、CoTIメッセージに乗せたが、ほかの組み合わせであってもよい。例えば、A-Token-hをCoTIメッセージに乗せ、A-Token-cをHoTIメッセージに乗せてもよい。また、両方のTokenを同じメッセージに乗せてもよい。さらに、A-Token-h、A-Token-cを分割し、それぞれ分けてHoT、CoTメッセージに乗せてもよい。
なお、HoTIメッセージを省略することも可能である。例えば、CoTIの応答としてHoTとCoTを返すようにし、BUにA-Token-hを含めてもよい。また同様に、CoTIを省略することも可能である。この場合は、HoTIの応答としてHoTとCoTを返すようにし、BUにA-Token-cを含めてもよい。なお、端末AがHoTIを送信後、HoTを受信してからCoTIを送信してもよい。HoTに含まれる情報をAが保持するのではなく、CoTIに含めて送信し、CoTで折り返されるようにしてもよい。
なお、端末Bが従来MIPにしか対応していない端末の場合には、従来MIPは端末AからのHoTI及びCoTIに対して、従来MIPと同様のHoT及びCoTを返信する。端末Aは、それによって端末Bが本発明のバインディングアップデートに対応していないことがわかるため、従来のMIPのBUメッセージを送信する。
また、端末Aと端末Bが同時に本発明のバインディングアップデートを行った場合には、次のような対応が考えられる。両方のバインディングアップデートをそのまま行ってもよい。HoT、CoTを受信してからBUを送信するまでの待ち時間をランダムに設定することによって、一方のBUの送信を回避しやすくしてもよい。
また、両端末のバインディングアップデートを行った場合には、開始側と受信側のバインディングキャッシュの寿命の長さを変えてもよい。受信側の寿命をわずかに短くすることによって、次のバインディングアップデートの開始側が交代するようにしてもよい。なお、本発明の結合バインディングアップデート処理は、移動端末自ら行うのではなく、代理ノードが行ってもよい。
次に、結合バインディングアップデートの開始側の移動端末について図15を用いて説明する。まず、HoTI/CoTIの送信について説明する。メッセージ作成部1501は、結合バインディング判定部1502に通常のバインディングアップデートか、結合バインディングアップデートかの判定を要求する。結合バインディング判定部1502は、バインディングキャッシュ管理部1503に、これからバインディングアップデートを行う相手通信端末からのバインディングキャッシュが登録されているかどうかを確認する。登録されていない場合には、通常のバインディングアップデートを行う。
結合バインディングアップデートを行う場合には、メッセージ作成部1501はA−Token生成部1504によってHome Token(A-Token-h)及びCare-of Token(A-Token-c)を生成し、そのTokenを付加してHoTIメッセージ及びCoTIメッセージを生成し、メッセージ送信部1505より送信する。A−Token生成部1504で作成したHome Token及びCare-of TokenはA−Token保存部1506において保存しておく。
次に、HoT/CoTの受信について説明する。HoTI及びCoTIメッセージの応答メッセージであるHoT及びCoTメッセージは、メッセージ受信部1507によって受信される。受信したHoT及びCoTに含まれる相手端末が生成したToken(B-Token-h、B-Token-c)及びNonce-ID(応答側移動端末がNonceの値を呼び出すための識別番号)はB−Token保存部1508及びNonce保存部1509に保存される。また、相手端末によって付加されたSb(Home Token)及びSb(Care-of Token)は、Sb(Token)保存部1510に保存される。
次に、BUの送信について説明する。HoTメッセージとCoTメッセージの両方を受信したとき、B−Token保存部1508にはHome Token(B-Token-h)とCare-of Token(B-Token-c)の両方のTokenが揃っているため、それらのTokenを用いてB−Key生成部1511において鍵データを生成する。
メッセージ認証コード生成部1512は、B−Key生成部1511において生成された鍵データを用いてメッセージ認証コードを生成し、メッセージ作成部1501に渡す。メッセージ作成部1501では、生成されたメッセージ認証コードとSb(Token)保存部1510に保存しておいた2つのSb(Home Token)及びSb(Care-of Token)をBUメッセージに付加する。またNonce保存部1509に保存しておいたNonce-IDもBUメッセージに付加する。そして、メッセージ送信部1505よりBUメッセージを送信する。
次に、BAの受信について説明する。BAメッセージをメッセージ受信部1507で受信し、メッセージ認証コード判定部1515においてメッセージの判定を行う。メッセージの判定のために、A−Key生成部1514は、A−Token保存部1506に保存しておいたHome Token(A-Token-h)とCare-of Token(A-Token-c)を取り出し、鍵データを生成する。メッセージ認証コード生成部1512は、A−Key生成部1514により生成された鍵データを用いてメッセージ認証コードを生成する。メッセージ認証コード判定部1513は、その生成したメッセージ認証コードと、BUメッセージに付加されていたメッセージ認証コードとを比較し、一致するかどうか判定する。
メッセージ認証コードが一致した場合には、バインディングキャッシュ管理部1503にバインディングキャッシュを登録する。その後で、BAメッセージに対する応答をメッセージ作成部1501において作成し、メッセージ送信部1505より送信する。
次に、結合バインディングアップデートの応答側の移動端末について図16を用いて説明する。まず、HoTI/CoTIの受信について説明する。HoTI及びCoTIメッセージをメッセージ受信部1601で受信し、結合バインディングアップデートの場合には、メッセージに含まれるHome Token(A-Token-h)又はCare-of Token(A-Token-c)をA−Token暗号・復号処理部1602に渡す。また、結合バインディングB−Token生成部1603はB-Token(Home Token又はCare-of Token)を生成する。B-Tokenを生成するときに必要なNonce(home nonce又はcare-of nonce)はNonce管理部1604より取得する。
B-Home Token = SHA1 (A-HoA, B-HoA, B-Key, B-home nonce)
B-Care-of Token = SHA1 (A-CoA, B-CoA, B-Key, B-care-of nonce)
B-Care-of Token = SHA1 (A-CoA, B-CoA, B-Key, B-care-of nonce)
次に、HoT/CoTの送信について説明する。A−Token暗号・復号処理部1602は、暗号化したデータ(Sb(Home Token(A-Token-h))又はSb(Care-of Token(A-Token-c)))をメッセージ作成部1605に渡し、メッセージ作成部1605は応答メッセージに付加する。また、結合バインディングB−Token生成部1603より生成したToken(B-Token)及び生成に用いたNonceを呼び出すためのNonce-IDを取得し、応答メッセージに付加する。応答メッセージは受信メッセージがHoTIの場合にはHoTメッセージであり、CoTIの場合にはCoTメッセージである。メッセージ作成部1605が作成した応答メッセージは、メッセージ送信部1606から送信される。
次に、BUの受信について説明する。BUメッセージをメッセージ受信部1601で受信し、結合バインディングアップデートの場合には、結合バインディングB−Token生成部1603においてHome Token(B-Token-h)及びCare-of Token(B-Token-c)を生成する。Token生成のときには、受信したBUメッセージに含まれるNonce-IDを用いてNonce管理部1604からNonceの値を取り出し、それを用いる。また、BUメッセージに含まれるSb(Home Token)及びSb(Care-of Token)をA−Token暗号・復号処理部1602に渡し、復号化し、元のHome Token(A-Token-h)及びCare-of Token(A-Token-c)を取得する。
また、BUメッセージに含まれるメッセージ認証コードをメッセージ認証コード比較部1607に渡す。結合バインディングB−Token生成部1603で生成したHome Token(B-Token-h)及びCare-of Token(B-Token-c)をB−Key生成部1608に渡し、B−Key生成部1608において鍵データを生成する。
そして、生成した鍵データを用いて、メッセージ認証コード生成部1609において、メッセージ認証コードを生成する。生成したメッセージ認証コードとBUメッセージに含まれていたメッセージ認証コードが一致するかどうかをメッセージ認証コード比較部1607で比較する。メッセージ認証コードが一致した場合は、バインディングキャッシュ管理部1610にバインディングキャッシュを設定又は更新する。
次に、BAの送信について説明する。A−Token暗号・復号処理部1602によって復号化されたToken(A-Token-h、A-Token-c)を用いてA−Key生成部1611において鍵データを生成し、メッセージ認証コード生成部1609でメッセージ認証コードを生成する。メッセージ作成部1605は、生成したメッセージ認証コードをBAメッセージに付加し、メッセージ送信部1606よりBAメッセージを送信する。BAメッセージに対する応答メッセージは、メッセージ受信部1601で受信し、メッセージ認証コードを確認し、バインディングキャッシュ管理部1610においてバインディングキャッシュを更新する。
次に、結合バインディングアップデートの開始側の移動端末の処理フローについて図17を用いて説明する。図17に示すように、移動端末は、バインディングアップデートを行おうとしている相手端末のバインディングキャッシュが存在しているかの確認処理を開始し(ステップS1701)、相手端末のバインディングキャッシュが存在しているか否かを判断する(ステップS1702)。バインディングキャッシュが存在する場合、移動端末は、相手端末のホームアドレスを用いたHome Token(A-Token-h)及び相手端末のCoAを用いたCare-of Token(A-Token-c)を生成する(ステップS1703)。
そして、移動端末は、Home Tokenを含んだ結合バインディングアップデートのHoTIメッセージ、Care-of Tokenを含んだ結合バインディングアップデートのCoTIメッセージをそれぞれ送信する(ステップS1704)。移動端末は、応答メッセージのHoTメッセージ、CoTメッセージを待つと同時にタイマーをスタートさせる(ステップS1705)。移動端末は、タイムアウト前に応答(メッセージ)を受信したか否かを判断する(ステップS1706)。
タイムアウト前に応答メッセージを受信した場合、移動端末はBUメッセージを生成する。すなわち、移動端末は、受信したHoT、CoTに含まれるTokenを用いて鍵データを生成し、メッセージ認証コードを生成し、生成されたメッセージ認証コード、HoT、CoTに含まれていたSb(Home Token(A-Token-h))、Sb(Care-of Token(A-Token-c))を付加したBUメッセージを生成し、送信する(ステップS1707)。移動端末は、応答メッセージのBAメッセージを待つと同時にタイマーをスタートさせる(ステップS1708)。移動端末は、タイムアウト前に応答(メッセージ)を受信したか否かを判断する(ステップS1709)。
タイムアウト前に応答メッセージを受信した場合、移動端末は最初に送信したHome Token(A-Token-h)、Care-of Token(A-Token-c)から鍵データを生成し、BAメッセージに含まれるメッセージ認証コードが正しいか否かの確認処理を開始する(ステップS1710)。メッセージ認証コードが正しいか否かを判断し(ステップS1711)、正しいと判断された場合、移動端末は、自身のバインディングキャッシュ及び相手端末のバインディングキャッシュの設定及び更新を行い、応答メッセージを送信する(ステップS1712)。
なお、ステップS1702において、バインディングキャッシュが存在しないと判断された場合には、従来のMIPのバインディングアップデートを開始する(ステップS1713)。また、ステップS1706、S1709において、タイムアウト前に応答メッセージを受信できなかった場合、再送回数が所定の数値Nよりも小さければ再送を行う(ステップS1714、S1715)。また、ステップS1711において、メッセージ認証コードが正しくないと判断された場合、バインディングキャッシュの更新を行わないことを確認する(ステップS1716)。
次に、結合バインディングアップデートの応答側の移動端末の処理フロー(結合バインディングアップデートのメッセージの受信からそれに対する応答メッセージを送信するまで)について図18Aを用いて説明する。図18Aに示すように、移動端末は、HoTI又はCoTIを受信し、結合バインディングアップデートのメッセージかどうかの判定処理を開始する(ステップS1801)。移動端末は、結合バインディングアップデートのメッセージか否かを判断し(ステップS1802)、結合バインディングアップデートのメッセージである場合、Home Tokenの場合には両端末のホームアドレスを含めたTokenを生成し、Care-of Tokenの場合には両端末のCoAを含めたTokenを生成する(ステップS1803)。
移動端末は、HoTI、CoTIに付加されていたToken(A-Token-h、A-Token-c)を暗号化し、応答メッセージを生成し、送信する(ステップS1804)。なお、ステップS1802において、結合バインディングアップデートのメッセージではないと判断された場合、移動端末は、従来のMIPのバインディングアップデート処理として応答を送信する(ステップS1805)。
次に、結合バインディングアップデートの応答側の移動端末の処理フロー(BUメッセージの受信からBAメッセージを送信するまで)について図18Bを用いて説明する。図18Bに示すように、移動端末は、BU(メッセージ)を受信し、結合バインディングアップデートのメッセージかどうかの判定処理を開始する(ステップS1810)。移動端末は、結合バインディングアップデートのメッセージか否かを判断し(ステップS1811)、結合バインディングアップデートのメッセージである場合、BUに含まれるアドレス、Nonceの情報を用いてToken(B-Token-h、B-Token-c)を生成し、Tokenを用いて鍵データを生成し、付加されているメッセージ認証コードの確認処理を開始する(ステップS1812)。
移動端末は、メッセージ認証コードが正しいか否かを判断し(ステップS1813)、正しい場合には、バインディングキャッシュの設定、更新を行い、BUに含まれている暗号化されたToken(A-Token-h、A-Token-c)を復号化し、鍵データを生成し、メッセージ認証コードを生成し、BAメッセージに含めて送信する(ステップS1814)。なお、ステップS1811において、結合バインディングアップデートのメッセージでない場合、移動端末は、従来のMIPのバインディングアップデートを開始する(ステップS1815)。また、ステップS1813において、メッセージ認証コードが正しくないと判断された場合、バインディングキャッシュの設定、更新を行わないことを確認する(ステップS1816)。
なお、上記の本発明の各実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるLSI(Large Scale Integration)として実現される。これらは個別に1チップ化されてもよいし、一部又はすべてを含むように1チップ化されてもよい。なお、ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
本発明に係るバインディング更新方法及びその方法で用いられる移動端末は、両端末が行うバインディングアップデートにおいて必要なメッセージ数を減少させることができ、メッセージ数の削減により端末の消費電力を削減でき、さらに両端末のバインディングアップデートにかかる処理時間を短縮できるため、バインディングアップデートにより経路の最適化がなされた通信端末間のバインディングを更新するバインディング更新方法及びその方法で用いられる移動端末などに有用である。
Claims (12)
- 第1の移動端末と、前記第1の移動端末の通信相手である第2の移動端末との間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法であって、
前記第1の移動端末が前記第2の移動端末のバインディング情報を保持している場合に、
前記第1の移動端末が、所定の第1移動端末情報を含めたメッセージであって、前記第2の移動端末から所定の第2移動端末情報を取得するための第1の1組のメッセージを前記第2の移動端末へ送信するステップと、
前記第2の移動端末が、前記所定の第2移動端末情報を含めた第2の1組のメッセージを前記第1の移動端末へ送信するステップと、
前記第1の移動端末が、前記第2の1組のメッセージに含まれた前記所定の第2移動端末情報に基づいて生成された認証情報を付加した第3のメッセージを前記第2の移動端末へ送信するステップと、
前記第2の移動端末が、前記第3のメッセージに対する応答情報を含めたメッセージであって、前記所定の第1移動端末情報に基づいて生成された認証情報を付加した第4のメッセージを前記第1の移動端末へ送信するとともに、前記第1の移動端末からの前記認証情報が正当である場合に前記バインディング情報を更新するステップと、
前記第1の移動端末が、前記第4のメッセージに付加された前記第2の移動端末からの前記認証情報が正当である場合に前記バインディング情報を更新するステップとを、
有するバインディング更新方法。 - 前記第2の移動端末は、前記所定の第1移動端末情報を前記第2の1組のメッセージに含めて前記第1の移動端末へ送信し、
前記第1の移動端末は、前記第2の1組のメッセージに含まれる前記所定の第1移動端末情報を前記第3のメッセージに含めて前記第2の移動端末へ送信する請求項1に記載のバインディング更新方法。 - 前記第2の移動端末は、前記所定の第1移動端末情報を前記第2の移動端末のみが復号できる形式で前記第2の1組のメッセージに含めて送信する請求項2に記載のバインディング更新方法。
- 前記所定の第1移動端末情報は、前記第2の移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、
前記所定の第2移動端末情報は、前記第1の移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、
前記第1の1組のメッセージは、前記第2の移動端末に対するホームアドレステスト(Home Test Init)及び気付けアドレステスト(Care−Of Test Init)の開始を要求するメッセージであり、
前記第2の1組のメッセージは、前記第1の1組のメッセージに応答するHoTメッセージ及びCoTメッセージであり、
前記第3のメッセージは、前記第2の移動端末へのバインディングアップデートメッセージであり、
前記第4のメッセージは、前記第1の移動端末へのバインディングアップデートメッセージである請求項1に記載のバインディング更新方法。 - 移動端末と、前記移動端末の通信相手である通信相手端末との間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる前記移動端末であって、
前記移動端末が前記通信相手端末のバインディング情報を保持している場合に、
所定の移動端末情報を含めたメッセージであって、前記通信相手端末から所定の通信相手端末情報を取得するための第1の1組のメッセージを生成するメッセージ生成手段と、
生成された前記第1の1組のメッセージを前記通信相手端末へ送信する送信手段と、
前記所定の通信相手端末情報を含めた第2の1組のメッセージを前記通信相手端末から受信する受信手段と、
受信した前記所定の通信相手端末情報に基づいて認証情報を生成する認証情報生成手段と、
前記バインディング情報を更新する更新手段とを備え、
前記メッセージ生成手段が、前記認証情報生成手段によって生成された前記認証情報を付加した第3のメッセージを生成し、
前記送信手段が、生成された前記第3のメッセージを前記通信相手端末へ送信し、
前記更新手段が、前記受信手段を介して受信した情報であって、前記所定の移動端末情報に基づいて前記通信相手端末により生成された認証情報が正当であるか否かを判断し、正当である場合に前記バインディング情報を更新する移動端末。 - 移動端末と、前記移動端末の通信相手である通信相手端末との間の経路最適化を実現可能とさせるバインディング情報を更新するバインディング更新方法で用いられる前記移動端末であって、
所定の通信相手端末情報を含めたメッセージであって、前記移動端末から所定の移動端末情報を取得するための第1の1組のメッセージを受信する受信手段と、
前記所定の移動端末情報を含めた第2の1組のメッセージを生成するメッセージ生成手段と、
生成された前記第2の1組のメッセージを前記通信相手端末へ送信する送信手段と、
前記受信手段を介して受信した前記所定の通信相手端末情報に基づいて認証情報を生成する認証情報生成手段と、
前記受信手段を介して受信した情報であって、前記所定の移動端末情報に基づいて前記通信相手端末により生成された認証情報が正当である場合に前記バインディング情報を更新する更新手段とを備え、
前記メッセージ生成手段が、前記認証情報生成手段によって生成された前記認証情報を付加した第3のメッセージを生成し、
前記送信手段が、生成された前記第3のメッセージを前記通信相手端末へ送信する移動端末。 - 前記メッセージ生成手段は、前記第2の1組のメッセージに含まれる前記所定の移動端末情報を含めた前記第3のメッセージを生成する請求項5に記載の移動端末。
- 前記メッセージ生成手段は、前記第1の1組のメッセージに含まれる前記所定の通信相手端末情報を含めた前記第2の1組のメッセージを生成する請求項6に記載の移動端末。
- 前記メッセージ生成手段は、前記所定の通信相手端末情報を前記移動端末自身のみが復号できる形式で前記第3のメッセージに含める請求項7に記載の移動端末。
- 前記メッセージ生成手段は、前記所定の通信相手端末情報を前記移動端末自身のみが復号できる形式で前記第2の1組のメッセージに含める請求項8に記載の移動端末。
- 前記所定の移動端末情報は、前記通信相手端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、
前記所定の通信相手端末情報は、前記移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、
前記第1の1組のメッセージは、前記通信相手端末に対するホームアドレステスト(Home Test Init)及び気付けアドレステスト(Care−Of Test Init)の開始を要求するメッセージであり、
前記第2の1組のメッセージは、前記第1の1組のメッセージに応答するHoTメッセージ及びCoTメッセージであり、
前記第3のメッセージは、前記通信相手端末へのバインディングアップデートメッセージである請求項5に記載の移動端末。 - 前記所定の通信相手端末情報は、前記移動端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、
前記所定の移動端末情報は、前記通信相手端末のホームアドレス及び気付けアドレス(CoA:Care Of Address)を基に生成されたトークン(Token)であり、
前記第1の1組のメッセージは、前記移動端末に対するホームアドレステスト(Home Test Init)及び気付けアドレステスト(Care−Of Test Init)の開始を要求するメッセージであり、
前記第2の1組のメッセージは、前記第1の1組のメッセージに応答するHoTメッセージ及びCoTメッセージであり、
前記第3のメッセージは、前記通信相手端末へのバインディングアップデートメッセージである請求項6に記載の移動端末。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008009457 | 2008-01-18 | ||
JP2008009457 | 2008-01-18 | ||
PCT/JP2008/004020 WO2009090722A1 (ja) | 2008-01-18 | 2008-12-26 | バインディング更新方法及びその方法で用いられる移動端末 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2009090722A1 true JPWO2009090722A1 (ja) | 2011-05-26 |
Family
ID=40885133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009549913A Withdrawn JPWO2009090722A1 (ja) | 2008-01-18 | 2008-12-26 | バインディング更新方法及びその方法で用いられる移動端末 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100278112A1 (ja) |
JP (1) | JPWO2009090722A1 (ja) |
WO (1) | WO2009090722A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009087738A1 (ja) * | 2008-01-09 | 2009-07-16 | Panasonic Corporation | バインディング更新方法及びその方法で用いられる移動端末 |
EP2509277A1 (en) | 2011-04-05 | 2012-10-10 | Research In Motion Limited | System and method for shared binding maintenance |
CN104660416B (zh) * | 2015-02-13 | 2018-08-28 | 飞天诚信科技股份有限公司 | 一种语音认证系统和设备的工作方法 |
CN110730063B (zh) * | 2018-07-16 | 2022-11-11 | 中国电信股份有限公司 | 安全验证方法、系统、物联网平台、终端和可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE503357T1 (de) * | 2003-08-06 | 2011-04-15 | Motorola Inc | Verfahren zur validierten kommunikation |
EP1933520A1 (en) * | 2006-12-15 | 2008-06-18 | Matsushita Electric Industrial Co., Ltd. | Local mobility anchor relocation and route optimization during handover of a mobile node to another network area |
-
2008
- 2008-12-26 US US12/812,302 patent/US20100278112A1/en not_active Abandoned
- 2008-12-26 WO PCT/JP2008/004020 patent/WO2009090722A1/ja active Application Filing
- 2008-12-26 JP JP2009549913A patent/JPWO2009090722A1/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20100278112A1 (en) | 2010-11-04 |
WO2009090722A1 (ja) | 2009-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4841842B2 (ja) | 移動無線通信装置におけるコンタクトの認証及び信頼できるコンタクトの更新 | |
JP6382241B2 (ja) | リンク設定および認証を実行するシステムおよび方法 | |
CN1714560B (zh) | 移动ip中的动态会话密钥产生及密钥重置的方法和装置 | |
US7881468B2 (en) | Secret authentication key setup in mobile IPv6 | |
CN101965722B (zh) | 安全性关联的重新建立 | |
ES2263811T3 (es) | Procedimiento para auntentificacion de usuario en un terminal, sistema de autentificacion, terminal y dispositivo de autorizacion. | |
CN101176328A (zh) | 用于保护前缀范围绑定更新的安全的系统、关联方法和设备 | |
JP2010532107A (ja) | ソフトsimクレデンシャルのセキュア転送 | |
JP2012110009A (ja) | エンティティの認証と暗号化キー生成の機密保護されたリンクのための方法と構成 | |
JP2007036641A (ja) | ホームエージェント装置、及び通信システム | |
JP4536934B2 (ja) | セルラー通信システム用認証方法 | |
KR20060052969A (ko) | 승인된 통신 방법 | |
WO2008040178A1 (fr) | Procédé et dispositif de mise à jour d'association entre un noeud mobile et un noeud correspondant | |
WO2009090722A1 (ja) | バインディング更新方法及びその方法で用いられる移動端末 | |
KR101767889B1 (ko) | 단말 식별 방법 및 이를 위한 장치 | |
KR100522600B1 (ko) | 모바일 노드와의 접속을 제공하는 라우터 및 그 라우팅 방법 | |
WO2009012676A1 (fr) | Procédé et équipement pour générer une adresse temporaire, procédé et système pour améliorer la sécurité d'optimisation de route | |
JP4462554B2 (ja) | 経路修復方法およびシステム | |
JPWO2009066439A1 (ja) | 通信方法、通信システム、モバイルノード及び通信ノード | |
US8145906B2 (en) | Binding update method in MIPv6 | |
JPWO2008087999A1 (ja) | 通信方法、通信システム、移動通信装置及び相手先通信装置 | |
CN102484659A (zh) | 用于生成移动ip网络中密码生成地址的方法和网络节点 | |
Yang et al. | A secure mobile IP registration protocol | |
JP2007281892A (ja) | 秘密鍵生成装置および秘密鍵生成方法 | |
WO2009087738A1 (ja) | バインディング更新方法及びその方法で用いられる移動端末 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111027 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20120405 |