JPWO2009011120A1 - アドレス生成方法、アドレス生成システム、通信装置、通信方法、通信システム及び相手先通信装置 - Google Patents

アドレス生成方法、アドレス生成システム、通信装置、通信方法、通信システム及び相手先通信装置 Download PDF

Info

Publication number
JPWO2009011120A1
JPWO2009011120A1 JP2009523539A JP2009523539A JPWO2009011120A1 JP WO2009011120 A1 JPWO2009011120 A1 JP WO2009011120A1 JP 2009523539 A JP2009523539 A JP 2009523539A JP 2009523539 A JP2009523539 A JP 2009523539A JP WO2009011120 A1 JPWO2009011120 A1 JP WO2009011120A1
Authority
JP
Japan
Prior art keywords
address
communication device
message
response
generation 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
Application number
JP2009523539A
Other languages
English (en)
Inventor
森本 哲郎
哲郎 森本
荒牧 隆
隆 荒牧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2009011120A1 publication Critical patent/JPWO2009011120A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5084Providing for device mobility
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Small-Scale Networks (AREA)

Abstract

データやメッセージの送信側が受信側からの送信要求内の宛先アドレスを確認して、不正な第3者からの送信要求による攻撃を防止する技術が開示され、その技術によれば(1)MN1はHoTIメッセージをHA3経由でCN2に送信し、(2)CN2はHoTIメッセージに応答してHoTメッセージをHA3経由でMN1に送信し、(3)MN1はHoTメッセージ内のHome TokenからCoAを生成して、CoAを含むCoTIβメッセージをCN2に送信し、(4)CN2はCoTIβメッセージ内のCoAを、MN1に送信したHoTメッセージ内のHome Tokenから生成したCoAと比較して確認する。

Description

本発明は、不正な第3者からの送信要求による攻撃を防止するアドレス生成方法、アドレス生成システム、通信装置に関する。
本発明は特に、アドレステスト要求側通信装置が複数のアドレスを持ち、要求メッセージ内に応答メッセージの送信先を含めることができ、要求メッセージを送信する送信元アドレスと、その要求メッセージに対する応答メッセージの受信アドレスとが異なる場合に、不正な第3者からの送信要求による攻撃を防止する通信方法、通信システム、通信装置及び相手先通信装置に関する。
従来、IPネットワークを利用したプロトコルでは、メッセージやデータなどを要求する要求側通信装置から応答側通信装置に要求メッセージを送信し、応答側通信装置から要求側通信装置に応答メッセージを送信する場合、要求メッセージの送信元アドレスと応答メッセージの送信先アドレスとは同じアドレスであることが普通であった。しかしながら、一つの通信装置が複数の通信用インタフェースをもち、それぞれの通信インタフェースに別のアドレスを割り当てられることや、一つの通信用インタフェースであっても複数のアドレスを割り当てられるといった使用方法が用いられるようになっている。このような状況では、要求メッセージの送信元アドレスと、それに対する応答メッセージの送信先アドレスが異なるという通信方法も利用される機会が多くなると考えられる。
また、通信網と放送網の相互利用が進んだ場合、双方向通信の可能な通信網経路と、片方向通信のみ可能な放送網経路が混在する環境が考えられる。この場合、片方向通信のみ可能な経路を効果的に活用しようとしたとき、その片方向経路ではどちらか一方向にしかメッセージを流せないため、要求メッセージと応答メッセージの両方が同じ経路を流れることができず、要求メッセージと応答メッセージのどちらか一方だけが、この片方向経路を流れるという状況が発生し得る。つまり、要求メッセージの送信元アドレスと応答メッセージの送信先アドレスが異なる状況が発生し得る。
要求メッセージの送信元アドレスと応答メッセージの送信先アドレスが異なる場合に問題となることは、サービス妨害攻撃(Denial of Service Attack)に利用される可能性があることである。特に、要求メッセージ内に応答メッセージの送信先アドレスを含めるという方法をとった場合、攻撃者は、ターゲットのアドレスを要求メッセージの送信元アドレスにセットして、応答側通信装置に要求メッセージを送信すれば、応答側通信装置からターゲットに対して、ターゲットにとっては不要なメッセージを送りつけることが容易に可能となる。
本発明は、この課題を解決するための技術である。本明細書では、特にモバイルIPの経路最適化(下記の非特許文献1)を片方向経路で使用できるように拡張した場合を例にして、従来技術と従来技術では解決できなかった課題とを詳細に説明する。
<モバイルIPのバインディング更新処理とバインディング更新前処理>
従来、通信装置が移動しても移動前と同じIPアドレスを使い続けることができる技術としてモバイルIPが存在する。モバイルIPでは、ホームエージェント(home agent:以下、HAとも言う)が移動通信装置(mobile node:以下、MNとも言う)のホームアドレス(home address:以下、HoAとも言う)宛のパケットを受信し、移動通信装置の気付アドレス(care-of address:以下、CoAとも言う。また本明細書内では移動先アドレスとも呼ぶ)に転送する。このため、移動通信装置は移動に伴うアドレス変更によらず、ホームアドレスを用いた通信を継続できる。
また、パケットがホームエージェントを経由することによって移動通信装置と相手先通信装置(correspondent node:以下、CNとも言う)の通信経路が遠回りになることを改善するために、移動通信装置と相手先通信装置の通信経路を直接結ぶ経路最適化(Route Optimization)技術が存在する。この経路最適化技術は、相手先通信装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させることによって、気付アドレスを用いて通信することを特徴とする。この相手先通信装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させる処理は、バインディング更新処理(Binding Update:以下、BUとも言う)と呼ばれている。
相手先通信装置に対するバインディング更新処理では、ホームエージェントに対するバインディング更新処理とは異なり、バインディング更新前処理(Return Routability Procedure)を必要としている。ホームエージェントと移動通信装置との間では、信頼関係をあらかじめ築いておくことができるため、このバインディング更新前処理を必要としない。この理由は、ホームエージェントに対するバインディング更新処理においては、移動通信装置が、ホームアドレスに対する新しい気付アドレスをホームエージェントに通知したとき、ホームエージェントは事前に確立しておいた信頼関係(IPsec SA(Security Association)など)によって移動通信装置からのバインディング更新要求であることを確認することができるからである。
一方、相手先通信装置の場合、バインディング更新処理を行う前に、すべての接続可能性のある通信装置に対して信頼関係を確立しておくことは困難である。もし、信頼関係がない状態で相手先通信装置がバインディング更新の要求に従ってしまうならば、移動通信装置に成りすました攻撃が容易になる。これを防ぐ技術がバインディング更新前処理(Return Routability Procedure)である。バインディング更新前処理では、ホームアドレステスト処理(Home Test;以下、HoTともいう)と気付アドレステスト処理(Care-of Test;以下、CoTともいう)を行う。ホームアドレステストによってホームアドレスで送受信可能なこと、気付アドレステストを利用して気付アドレスで送受信可能なことを確認することによって、不正なバインディング更新処理を防いでいる。上記に従来技術として説明した、モバイルIP、経路最適化(Route Optimization)、バインディング更新前処理(Return Routability Procedure)については、RFC3775(下記の非特許文献1)に記載されている。また、バインディング更新前処理の設計思想については、RFC4225(下記の非特許文献2)に記載されている。
RFC3775 "Mobility Support in IPv6" RFC4225 "Mobile IP Version 6 Route Optimization Security Design Background"
<モバイルIPの経路最適化の片方向経路対応>
しかしながら、モバイルIPの経路最適化技術(Route Optimization)は、非対称ネットワークでは使えなかった。経路最適化(Route Optimization)を行うためには、双方向の経路到達性(Reachability)が必要であったため、衛星通信やデジタルテレビ放送などのような非対称な片方向だけデータが流れる経路では、バインディング更新処理が行えなかった。
例えば移動通信装置から相手先通信装置の方向にだけ通信可能な場合、BU(Binding Update)メッセージは相手先通信装置に届くが、BA(Binding Acknowledgement)メッセージは移動通信装置に届かない。そのため、移動通信装置は相手先通信装置に対してバインディング更新処理を行うことができない。また、気付アドレステスト処理を開始するためのCoTI(Care-of Test Init)メッセージは相手先通信装置に届くが、CoT(Care-of Test)メッセージは移動通信装置に届かないため、バインディング更新前処理を行うことができないといった問題があった。逆に、相手先通信装置から移動通信装置の方向にだけ通信可能な場合、BUメッセージが相手先通信装置に届かないため、バインディング更新処理を行うことができない。また、CoTIメッセージが相手先通信装置に届かないため、バインディング更新前処理を行うことができないといった問題があった。このように片方向だけ通信可能な経路の場合には、バインディング更新前処理、バインディング更新処理を行うことができなかった。そのために通信可能な片方向経路を利用して経路最適化(Route Optimization)を行うことができなかった。
ここで、移動通信装置から相手先通信装置の方向にのみ片方向通信可能な場合と、相手先通信装置から移動通信装置の方向にのみ片方向通信可能な場合について、それぞれ下記の解法(1)、(2)が考えられる。
(1)移動通信装置から相手先通信装置の方向にのみ片方向通信可能な場合では、ホームアドレステスト処理の結果から生成される鍵を用いて、気付アドレステスト処理の要求メッセージCoTI(以下CoTIαと呼ぶ)に認証コードを付加する。この要求メッセージCoTIαを受信した相手先通信装置は、認証コードを確認することによって、この要求メッセージCoTIαの送信者がホームアドレステスト処理を行ったことを確認する。ホームアドレステスト処理は、ホームアドレス(HoA)で送受信を行ったことを確認するためのテストである。相手先通信装置は、ホームアドレス宛に送信したメッセージを移動通信装置が正しく受信したことを、この認証コードによって確認できる。相手先通信装置は、気付アドレステスト処理の要求メッセージCoTIαを受信し、応答メッセージCoT(以下CoTαと呼ぶ)を返信する。要求メッセージCoTIαの送信元アドレスは、気付アドレスCoAであり、応答メッセージの送信先アドレスはホームアドレスHoAである。相手先通信装置は、要求メッセージの送信元アドレスCoAと応答メッセージの送信先アドレスHoAが異なるが、ホームアドレスHoAでの送受信を確認するホームアドレステスト処理の結果を示す認証コードが要求メッセージに付加されていることから、応答メッセージCoTαをホームアドレスHoAに送信しても安全であると判断することができる。
(2)次に、逆向きとなる相手先通信装置から移動通信装置の方向に片方向通信可能な場合には、上記の場合と同様、ホームアドレステスト処理の結果から生成される鍵を用いて、気付アドレステスト処理の要求メッセージCoTI(以下CoTIβと呼ぶ)に認証コードを付加し、さらに応答メッセージCoT(以下CoTβと呼ぶ)に要求メッセージの送信元アドレスを付加する。要求メッセージCoTIβの送信元アドレスはホームアドレスHoAであり、応答メッセージCoTβの送信先アドレスは気付アドレスCoAである。要求メッセージCoTIβを受信した相手先通信装置は、要求メッセージの送信元アドレスがホームアドレスHoAであることを確認し、さらに要求メッセージCoTIβに含まれる認証コードから、確かにホームアドレスHoAで送受信を行っている端末から送信された要求メッセージCoTIであることを確認する。この確認したホームアドレスHoAを応答メッセージCoTβに付加し、気付アドレスCoAに送信する。もし、他端末を攻撃しようと第三の端末(ターゲット)のアドレスを気付アドレスCoAとして指定して、気付アドレステスト処理の応答メッセージCoTβを第三の端末(ターゲット)に送信させたとしても、第三の端末(ターゲット)は即座に攻撃者のアドレスがHoAであることを知ることができる。攻撃者のアドレスHoAは、ホームアドレステスト処理により攻撃者が送受信したことが確認できているため、攻撃者を特定することが容易にでき、このためリフレクション攻撃に利用することを抑止する効果があると考えられる。
上記の解法(1)、(2)は、不正なバインディング・キャッシュの設定を防ぎ、片方向経路においても経路最適化を可能にする。しかしながら、解法(2)では、応答メッセージCoTβが攻撃に利用される可能性がある。2つの片方向経路のうち問題がないのは、片方向経路の向きが移動通信装置から相手先通信装置の向きの場合である。この場合には、応答側通信装置である相手先通信装置は、応答先アドレスを認証し確認してから応答メッセージを送信している。応答先アドレスはホームアドレステスト処理によって要求者に届くことが確認されている。
一方、片方向経路の向きが逆の相手先通信装置から移動通信装置の向きの場合には、応答先アドレスの確認が行えていない。解法(2)では、応答メッセージCoTβの中に要求メッセージCoTIβのアドレスを含むことによって、リフレクション攻撃に利用することを抑止しようと試みている。つまり、応答メッセージCoTβを送信する前に防止することができていない。
<モバイルIPの経路最適化の片方向経路対応以外の場合の課題>
上記ではモバイルIPの経路最適化の片方向経路対応の場合について説明したが、上述した課題はそれ以外の場合にも発生しうる。つまり、第1の通信装置が第2の通信装置に要求メッセージを送信し、その要求メッセージの中で応答メッセージの送信先を指示している場合である。第2の通信装置が指示された要求メッセージ内の応答メッセージ送信先に応答メッセージを送信したとき、その指示された応答メッセージの送信先に攻撃対象のターゲットが存在し、第2の通信装置は攻撃者(第1の通信装置)の指示に従ってターゲットに不要なメッセージを送信してしまう。ターゲットにされた端末は帯域を無駄に消費され、サービス妨害の被害を受ける。第2の通信装置はターゲットを攻撃するつもりはなかったにもかかわらず、攻撃者に利用されターゲットへの攻撃を助けてしまうという状況が発生しうる。
本発明は上記従来技術の問題点に鑑み、データやメッセージの送信側が受信側からの送信要求内の宛先アドレスを確認して、不正な第3者からの送信要求による攻撃を防止することができるアドレス生成方法、アドレス生成システム、通信装置を提供することを目的とする。
本発明はまた、上記従来技術の問題点に鑑みてなされたものであり、不正な第3者からの送信要求に対して従来技術と同等程度に安全性を保ちながら、経路最適化を可能とするバインディング更新前処理を行うことができる通信方法、通信システム、通信装置及び相手先通信装置を提供することを目的とする。
本発明はまた、アドレステスト要求側通信装置が複数のアドレスを持ち、要求メッセージ内に応答メッセージの送信先を含めることができ、要求メッセージを送信する送信元アドレスと、その要求メッセージに対する応答メッセージの受信アドレスとが異なる場合に、不正な第3者からの送信要求による攻撃を防止することができる通信方法、通信システム、通信装置及び相手先通信装置を提供することを目的とする。
本発明のアドレス生成方法は上記目的を達成するために、第2の通信装置が、第1の通信装置に対して前記第1の通信装置が新しいアドレスを生成するためのアドレス生成情報を送信するステップと、
前記第1の通信装置が前記第2の通信装置から受信した前記アドレス生成情報に基づいて前記第1の通信装置の前記アドレスを生成して前記第2の通信装置に送信するステップと、
前記第2の通信装置が前記第1の通信装置から受信した前記第1の通信装置の前記アドレスを、前記第1の通信装置に送信した前記アドレス生成情報に基づいて生成したアドレスと比較するステップとを、
備えた。
この構成により、データやメッセージの送信側が受信側からの送信要求内の宛先アドレスを確認して、不正な第3者からの送信要求による攻撃を防止することができる。
また、前記第1及び第2の通信装置はそれぞれ、移動通信装置とその相手先通信装置であり、
前記第1の通信装置の前記アドレスは、前記移動通信装置の移動先アドレスであって、前記移動通信装置の前記移動先アドレスと前記相手先通信装置の間で経路最適化を行うステップを更に有することを特徴とする。
この構成により、不正な第3者からの送信要求に対して従来技術と同等程度に安全性を保ちながら、経路最適化を可能とするバインディング更新前処理を行うことができる。また、アドレステスト要求側通信装置が複数のアドレスを持ち、要求メッセージを送信する送信元アドレスと、その要求メッセージに対する応答メッセージの受信アドレスとが異なり、要求メッセージ内に応答メッセージの送信先を含む場合に、不正な第3者からの送信要求による攻撃を防止することができる。
また、前記アドレス生成情報は、前記経路最適化ステップにおける前記相手先通信装置から前記移動通信装置に送信するホームアドレステスト応答メッセージ内に含まれるホームトークンであることを特徴とする。
この構成により、経路最適化を可能とするバインディング更新前処理を行う場合、特別なアドレス生成情報を付加することなく、移動通信装置の気付アドレスを生成することができる。
また、本発明のアドレス生成システムは上記目的を達成するために、第2の通信装置が、第1の通信装置に対して前記第1の通信装置が新しいアドレスを生成するためのアドレス生成情報を送信する手段と、
前記第1の通信装置が前記第2の通信装置から受信した前記アドレス生成情報に基づいて前記第1の通信装置の前記アドレスを生成して前記第2の通信装置に送信する手段と、
前記第2の通信装置が前記第1の通信装置から受信した前記第1の通信装置の前記アドレスを、前記第1の通信装置に送信した前記アドレス生成情報に基づいて生成したアドレスと比較する手段とを、
備えた構成とした。
また、本発明の通信装置は上記目的を達成するために、新しいアドレスを生成するためのアドレス生成情報を相手先通信装置から受信する手段と、
前記アドレス生成情報に基づいて前記アドレスを生成し、前記相手先通信装置に対して前記相手先通信装置が前記アドレス生成情報に基づいて生成したアドレスと比較するための情報を送信する手段とを備えた構成とした。
また、本発明の相手先通信装置は上記目的を達成するために、一方の通信装置に対して、前記一方の通信装置の新しいアドレスを生成するためのアドレス生成情報を送信する手段と、
前記一方の通信装置が前記アドレス生成情報に基づいて前記一方の通信装置のアドレスを生成して送信した場合、前記アドレスを受信して、前記一方の通信装置に送信した前記アドレス生成情報に基づいて生成したアドレスと比較する手段とを、
備えた構成とした。
本発明の通信方法は上記目的を達成するために、第2の通信装置が、第1の通信装置の第2のアドレスを生成するためのアドレス生成情報を作成し、前記アドレス生成情報を含むアドレス生成情報メッセージを前記第1の通信装置の第1のアドレスに送信するアドレス生成情報送信ステップと、
前記第1の通信装置が前記アドレス生成情報メッセージ内の前記アドレス生成情報に基づいて前記第2のアドレスを生成して、前記第2のアドレスを応答メッセージ送信先として指示する応答先指定要求メッセージを前記第1のアドレスから前記第2の通信装置に送信する応答先指定要求メッセージ送信ステップと、
前記第2の通信装置が前記応答先指定要求メッセージを受信して、前記応答先指定要求メッセージ内の前記第2のアドレスを、前記アドレス生成情報に基づいて生成されるアドレスと比較して、応答先指定応答メッセージを前記第1の通信装置の前記第2のアドレスに送信する応答先指定応答メッセージ送信ステップとを、
有することを特徴とする。
また、前記アドレス生成情報が前記第2の通信装置のみが保持している秘密情報と前記第2の通信装置が一定時間間隔で生成する乱数から生成されることを特徴とする。このため、第1の通信装置が第2のアドレスがどのようなアドレスになるか予測できない。これによってDoS攻撃を行うことがさらに不可能になる。
また、前記アドレス生成情報が、モバイルIPで経路最適化を行う際のバインディング処理に使用されるホームトークンであることを特徴とする。
また、前記第2のアドレスが前記第1の通信装置の受信専用の片方向経路のアドレスであることを特徴とする。
本発明の通信システムは上記目的を達成するために、第2の通信装置が、第1の通信装置の第2のアドレスを生成するためのアドレス生成情報を作成し、前記アドレス生成情報を含むアドレス生成情報メッセージを第1の通信装置の第1のアドレスに送信するアドレス生成情報送信手段と、
前記第1の通信装置が前記アドレス生成情報メッセージ内の前記アドレス生成情報に基づいて前記第2のアドレスを生成して、前記第2のアドレスを応答メッセージ送信先として指示する応答先指定要求メッセージを前記第1のアドレスから前記第2の通信装置に送信する応答先指定要求メッセージ送信手段と、
前記第2の通信装置が前記応答先指定要求メッセージを受信して、前記応答先指定要求メッセージ内の前記第2のアドレスを、前記アドレス生成情報に基づいて生成されるアドレスと比較して、応答先指定応答メッセージを前記第1の通信装置の前記第2のアドレスに送信する応答先指定応答メッセージ送信手段とを、
有することを特徴とする。
また、本発明の通信装置は上記目的を達成するために、第2のアドレスを生成するために相手先通信装置によって作成されたアドレス生成情報を含む第1のアドレス宛に送信されたアドレス生成情報メッセージを受信する手段と、
受信した前記アドレス生成情報メッセージの前記アドレス生成情報に基づいて前記第2のアドレスを生成して、前記第2のアドレスを応答先として指定する応答先指定要求メッセージを前記第1のアドレスから前記相手先通信装置に送信する手段と、
前記相手先通信装置が前記応答先指定要求メッセージ内の前記第2のアドレスを、前記アドレス生成情報に基づいて生成されるアドレスと比較して、前記相手先通信装置から前記第2のアドレスに送信された応答先指定応答メッセージを受信する手段とを備えた構成とした。
また、本発明の相手先通信装置は上記目的を達成するために、一方の通信装置の第2のアドレスを生成するためのアドレス生成情報を作成し、前記アドレス生成情報を含むアドレス生成情報メッセージを前記一方の通信装置の第1のアドレスに送信する手段と、
前記アドレス生成情報メッセージを受信した前記一方の通信装置が前記アドレス生成情報メッセージ内の前記アドレス生成情報に基づいて前記第2のアドレスを生成し、前記第2のアドレスを応答先として指定する前記一方の通信装置から送信された応答先指定要求メッセージを受信する手段と、
前記応答先指定要求メッセージを受信して、前記応答先指定要求メッセージ内の前記第2のアドレスを前記アドレス生成情報に基づいて生成されるアドレスと比較して、応答先指定応答メッセージを前記通信装置の前記第2のアドレスに送信する手段とを備えた構成とした。
本発明によれば、データやメッセージの送信側が受信側からの送信要求内の宛先アドレスを確認して、不正な第3者からの送信要求による攻撃を防止することができる。
また、不正な第3者からの送信要求に対して従来技術と同等程度に安全性を保ちながら、経路最適化を可能とするバインディング更新前処理を行うことができる。
また、アドレステスト要求側通信装置が複数のアドレスを持ち、要求メッセージを送信する送信元アドレスと、その要求メッセージに対する応答メッセージの受信アドレスとが異なり、要求メッセージ内に応答メッセージの送信先を含む場合に、不正な第3者からの送信要求による攻撃を防止することができる。
本発明の第1の実施の形態において相手先通信装置から移動通信装置への方向への片方向直接経路で通信を行う場合を示す説明図 本発明の第1の実施の形態において相手先通信装置から移動通信装置への方向への片方向の直接経路と迂回経路で通信を行う場合を示す説明図 不正なバインディング・キャッシュが攻撃に利用される例を示す説明図 モバイルIPのバインディング更新方法を示す説明図 本発明の第1の実施の形態におけるバインディング更新方法を示す説明図であって、HoTI及びHoTメッセージの経路を示す説明図 本発明の第1の実施の形態におけるバインディング更新方法を示す説明図であって、CoTIβ及びCoTβメッセージの経路を示す説明図 本発明の第1の実施の形態におけるバインディング更新方法を示す説明図であって、BUβ及びBAβメッセージの経路を示す説明図 気付アドレステスト処理がサービス攻撃に利用される例を示す説明図 本発明の一実施の形態におけるメッセージシーケンスを示す説明図 従来技術のモバイルIPのメッセージシーケンスを示す説明図 モバイルIPのメッセージフォーマットを示す説明図 本発明の第1の実施の形態におけるメッセージシーケンスを示す説明図 本発明の第1の実施の形態においてHome nonce idを格納するメッセージフォーマットを示す説明図 本発明の第1の実施の形態においてprefix lengthを格納するメッセージフォーマットを示す説明図 本発明の第1の実施の形態においてCare-of addressを格納するメッセージフォーマットを示す説明図 本発明の第1の実施の形態において相手先通信装置の構成を示すブロック図 本発明の第1の実施の形態において移動通信装置の構成を示すブロック図 本発明の他の実施の形態におけるメッセージシーケンスを示す説明図 本発明の第2の実施の形態を示す説明図であって、HoTI及びHoTメッセージの経路を示す説明図 本発明の第2の実施の形態を示す説明図であって、BUβ及びBAβメッセージの経路を示す説明図 本発明の第2の実施の形態におけるメッセージシーケンスを示す説明図
以下、図面を参照して本発明の実施の形態について説明する。
<第1の実施の形態>
本技術は、移動通信装置(MN)が移動先でもホームエージェント(HA)に対しては双方向の通信が可能であり、かつ通信相手(CN)に対してはCNからMNの方向の片方向のみの通信が可能である場合に、CNからMNの向きの片方向経路を有効に利用可能にする。図1に示すように、ホームエージェント3と相手先通信装置2の間と移動通信装置1とホームエージェント3の間の経路5、4は、双方向に通信可能な経路であるが、相手先通信装置1と移動通信装置2の間の経路は片方向だけ通信可能な経路6である。その方向は、相手先通信装置2から移動通信装置1の向きだけデータが流れることができる。移動通信装置1から相手先通信装置2にメッセージを送信する場合には、移動通信装置1はホームエージェント3を介してメッセージを送信する必要がある。
従来技術のモバイルIP(Mobile IPv6)では、MN1とCN2の間の経路が双方向に通信可能でなければ経路最適化を行うことができなかった。つまり、必ず遠回りとなるHA3経由でなければデータの通信ができなかった。本技術は、このようなCN3とMN1の間の経路が片方向の経路6の場合であっても、CN3からMN1にパケットを送信する場合に、CN3はHoA宛ではなくCoA宛にデータを送信するようにバインディング・キャッシュの設定を可能にする。
なお、以下ではMN1が移動ノードでHA3が存在する場合について説明するが、例えば図2に示すようにアドレス生成情報要求側の通信装置1aがマルチインタフェースを持つ通信装置で、双方向な通信経路4a(携帯電話網、WLAN、LANなど)に接続可能なインタフェースと、片方向な通信経路6a(放送網など)からデータを受信するインタフェースを持つ場合にも同様の技術を用いることが可能である。図2では、要求側の通信装置1aは、双方向に通信可能なアドレスAddr1(モバイルIPの場合のHoAに相当)と、受信のみ可能なアドレスAddr2(モバイルIPの場合のCoAに相当の両方を持っている。
モバイルIPの経路最適化を行うと、MN1はCN2から片方向経路6でデータを受信できる。モバイルIPの経路最適化では、MN1はCN2にバインディング・キャッシュを設定する。このバインディング・キャッシュには、HoAとCoAがともにMNのアドレスであることと、CN2にHoAではなくCoAにデータを送信するように記載されている。モバイルIPの経路最適化では、このバインディング・キャッシュを攻撃者に不正に設定されないように工夫を施している。しかし、その工夫はMN1とCN2の間が双方向通信可能な経路の場合にしか使うことができない方法である。モバイルIPが採用している「不正にバインディング・キャッシュを設定されないための方法」は図4で後述する。
まず、バインディング・キャッシュが不正に設定された場合にどうなるか、図3を用いて説明する。図3のアドレス生成情報応答側の通信装置2aを、映像データサーバのような大量のデータを送信するサーバと想定してみる。攻撃者7がネットワーク5aを介して通信装置2aに対して、自身のアドレス(HoA)宛のパケットをターゲット1bのアドレス(CoA)に送信するように、不正にバインディング・キャッシュを設定したとする。攻撃者7が通信装置2aにデータの送信を要求すれば、通信装置2aはバインディング・キャッシュの設定に従って、ターゲット1b(CoAあて)に大量のデータを送りつける。このように攻撃者7は、応答側通信装置2aを用いてターゲット7にサービス妨害攻撃(DoS攻撃)を容易に行うことが可能となる。
バインディング・キャッシュの不正な設定を防ぐ方法として、モバイルIPで採用している方法を図4に示す。モバイルIP(MIPv6)ではHoAとCoAが正しくMN1のアドレスであることをそれぞれ確認するホームアドレステスト処理と気付アドレステスト処理を行う。ホームアドレステスト処理では、
(1)移動通信装置(MN)1がHoAを送信元アドレスとしてHoTIメッセージを相手先通信装置(CN)2に送信し、
(2)相手先通信装置2からHoA宛にHoTメッセージを送信する。
ホームアドレステスト処理を行うことによって移動通信装置1がHoAを送信元としてメッセージを送信し、HoAで応答メッセージを受信したことが分かる。
気付アドレステスト処理では、
(3)移動通信装置(MN)1がCoAを送信元アドレスとしてCoTIメッセージを直接経路で相手先通信装置(CN)2に送信し、
(4)相手先通信装置2からCoA宛にCoTメッセージを直接経路で送信する。
気付アドレステスト処理を行うことによって移動通信装置がCoAを送信元としてメッセージを送信し、CoAで応答メッセージを受信したことが分かる。
(5)移動通信装置1は、ホームアドレステスト処理と気付アドレステスト処理の結果をBUメッセージに含めて相手先通信装置2に直接経路で送信する。BUメッセージはCoAを送信元アドレスとして送出される。
(6)通信相手装置2は、BUメッセージに含まれるホームアドレステスト処理と気付アドレステスト処理の結果を確認(認証)し、移動通信装置1がHoAとCoAの両方で通信可能であることを確認する。相手先通信装置2はBUメッセージの認証後、移動通信装置1のバインディング・キャッシュを設定し、BAメッセージを応答として直接経路で送信する。
以上がモバイルIPの経路最適化のためのバインディング・キャッシュ設定の処理である。
しかしながら、移動通信装置1と相手先通信装置2の間の直接の経路が、片方向のみ通信可能な経路である場合には、モバイルIPのバインディング更新方法は用いることができない。片方向の向きとして、相手先通信装置2から移動通信装置1の向きだけ通信可能な場合、CoTメッセージとBAメッセージは流れることができるが、CoTIメッセージとBUメッセージは流れることができない。そこで、図5B、図5Cに示すようにCoTIメッセージ及びBUメッセージを、HoAを送信元アドレスにしてホームエージェント3経由で送信する方法が考えられる。以下では、ホームエージェント3経由で送信するCoTIメッセージ、BUメッセージをそれぞれCoTIβメッセージ、BUβメッセージと呼ぶ。またこれらの要求メッセージの応答メッセージをそれぞれCoTβメッセージ、BAβメッセージと呼ぶ。
図5Aに示すホームアドレステスト処理では、モバイルIPと同様に
(1)移動通信装置(MN)がHoAを送信元アドレスとしてHoTIメッセージを相手先通信装置(CN)2に送信し、
(2)相手先通信装置2がHoA宛にHoTメッセージを送信する。
ホームアドレステスト処理を行うことによって移動通信装置1がHoAを送信元としてHoTIメッセージを送信し、HoAで応答メッセージを受信したことが分かる。
図5Bに示す気付アドレステスト処理(β)では、
(3)移動通信装置1がCoAを送信元アドレスとしてCoTIβメッセージをホームエージェント(HA)3経由で相手先通信装置(CN)2に送信し、
(4)相手先通信装置2がCoA宛にCoTβメッセージを送信する(直接経路)。
気付アドレステストを行うことによって移動通信装置1がHoAを送信元としてメッセージを送信し、CoAで応答メッセージを受信したことが分かる。
次いで図5Cに示すように、
(5)移動通信装置1はホームアドレステスト処理と気付アドレステスト処理(β)を行うと、その結果をBUβメッセージに含めて相手先通信装置2にHA3経由で送信する。(6)相手先通信装置2は、それぞれのテスト結果を確認し、CoAに送信しても移動通信装置が受信していることを確かめ、バインディング・キャッシュを設定する。そして相手先通信装置2は、応答としてBAβメッセージを直接経路で移動通信装置1に送信する。
この方法によって、相手先通信装置2に不正なバインディング・キャッシュが設定されることを防止することができる。また、BUβメッセージの送信元アドレスはHoAであるのに対して、その応答メッセージ(BAβメッセージ)の送信先アドレスはCoAであるが、気付アドレステスト処理(β)によってCoAに送信しても移動通信装置1に届くことが確認できているため問題はない。最後に残っている問題は、気付アドレステスト処理(β)である。移動通信装置1がCoTIβメッセージを送信する場合、そのCoTIβメッセージには応答の送信先アドレスとしてCoAが記載されている。相手先通信装置2は、CoTIβメッセージを受信し、移動通信装置1の指示どおりCoTβメッセージをCoA宛に送信する。
この気付アドレステスト処理(β)を攻撃者が利用するところを図6を用いて説明する。攻撃者7は、CoTIβメッセージに応答先としてターゲット1bのアドレス(CoA)を指定して、通信装置2aにCoTIβメッセージを送信する。通信装置2aは、CoTIβメッセージの指示に従って、CoAにCoTβメッセージを送信する。この応答先アドレスのCoAは、CoTIβメッセージを受信したとき通信装置2aが初めて知るアドレスであるため、CoAにターゲット7がいるのか正規の移動通信装置1が応答メッセージを待っているのか、通信装置2aには分からない。事前にCoAを通知しておくことも考えられるが、攻撃者7が事前に通知しておくことも考えられるため、防ぐ手立てとはなり得ない。通信装置2にとっては一度CoAに送信してみないと移動通信装置1に届くかどうか分からない。攻撃者7は、この「通信装置2が一度試しに送信してみる」という処理を攻撃に利用する可能性がある。特に、このようなサービス妨害攻撃(DoS攻撃)は、サービスを提供していてアドレスを公開しているサーバが攻撃の対象になりやすい。
本技術は、以上のような問題を解決する。図7を用いて概略を説明する。移動通信装置1は、モバイルIPのホームアドレステスト処理を行う。つまり、
(1)移動通信装置1は相手先通信装置2にHoTIメッセージを送信する。
(2)相手先通信装置は通常のモバイルIPのホームアドレステスト処理を行う。つまり、以下のようにHoTIメッセージの送信元アドレスであるHoAと、相手先通信装置2の秘密鍵(Secret Key)、それと相手先通信装置2が決めた乱数nonceを用いて、HMAC_SHA1によるHash計算を行い、Home Keygen Token(以下ではHome Tokenと記す。)を算出する。
Home Token = SHA1 (HoA, Secret Key, nonce)
相手先通信装置2は、算出したHome Tokenの値とnonceを呼び出すための識別情報nonce-idを応答メッセージのHoTメッセージに含めて送信する。ここまでは通常のモバイルIPと同じである。但し、Home Tokenが移動通信装置1のCoA生成情報として用いられる点が異なる。
<CoAの生成>
次に、移動通信装置1は、受信したHoTメッセージに含まれる情報を用いてCoAの設定を行う。従来の方法では移動通信装置1は、HoTIメッセージを送信する前にCoAを決定していた。本技術のポイントは、移動通信装置1がHoTメッセージを受信してから、HoTメッセージに含まれるHome Tokenを元にしてCoAを生成することである。移動通信装置1は、生成するCoAのネットワークプレフィックスの領域は、変更することができないため、それ以外のホスト識別情報の領域をHome Tokenを用いて生成する。また、生成したCoAと同じアドレスがすでに使用されている場合には、移動通信装置1はそのアドレスを使用することができないため、アドレスの重複が発生した場合に、そのアドレスの衝突を回避するための自由度を与えるデータαを用いてCoAを生成する。つまり、HoTメッセージに含まれていたHome Tokenと自由度を持たせるためのαを用いて、HMAC_SHA1によるHash計算を行い、以下のようにCoAを生成する。
CoA = SHA1 (Home Token, α)
次に移動通信装置1は気付アドレステスト処理(β)を行う。つまり、
(3)移動通信装置1は、生成したCoAと、CoAの生成に用いた情報αをCoTIβメッセージに含めて相手先通信装置2に送信する。また、このCoTIβメッセージには、(2)HoTメッセージで送信されたnonce-idも含まれる。
<CoAの確認>
相手先通信装置2はCoTIβメッセージを受信すると、まず以下のように、Home Tokenの計算を行う。CoTIβメッセージの送信元アドレスはHoAであるため、HoAと、CoTIβメッセージに含まれているnonce-idからnonceを呼び出す。また、相手先通信装置2の秘密鍵を用いる。
Home Token = SHA1 (HoA, Secret Key, nonce)
さらに、生成したHome TokenとCoTIβメッセージに含まれる情報αを用いて、CoAを生成する。
CoA = SHA1 (Home Token, α)
生成したCoAがCoTIβメッセージに含まれるCoAと等しい場合には、相手先通信装置2は、応答メッセージをCoAに送信してよいと判断する。
相手先通信装置2は、CoTIβメッセージの応答としてCoTβメッセージを送信する場合、Care-of keygen token(以下ではCare-of Tokenと記す。)の計算を行う。Care-of Tokenの計算には、CoAと、相手先通信装置2の秘密鍵と、相手先通信装置2が決めた乱数nonce'を用いて、HMAC_SHA1によるHash計算を行う。
Care-of Token = SHA1 (CoA, Secret Key, nonce')
(4)相手先通信装置は、算出したCare-of Tokenの値とnonce'を呼び出すための識別情報nonce'-idを応答メッセージであるCoTβメッセージに含めて送信する。
移動通信装置1は、ホームアドレステスト処理によってHome Tokenを取得する。また、気付アドレステスト処理(β)によってCare-of Tokenを取得する。移動通信装置1は、これらのTokenをもとに鍵データを生成する。
Key = SHA1 (Home Token, Care-of Token)
そして、この鍵データを用いて送信するBUβメッセージのメッセージ認証コード(MAC : Message Authentication Code)を生成する。
MAC = SHA1 (Key, Message Data)
(5)移動通信装置1は、BUβメッセージに応答メッセージの送信先のCoA、Tokenを生成するための情報としてnonce-id, nonce'-id、さらにメッセージ認証コード(MAC)を含めて、相手先通信装置2に送信する。
相手先通信装置2は、BUβメッセージを受信すると、メッセージが正しいかどうか確認処理を行う。まず、Home TokenとCare-of Tokenの計算を行う。BUβメッセージの送信元アドレスはHoAであり、Home Tokenの計算に用いる。また、CoAは応答送信先アドレスとしてBUβメッセージに含まれるため、Care-of Tokenの計算に用いる。
Home Token = SHA1 (HoA, Secret Key, nonce)
Care-of Token = SHA1 (CoA, Secret Key, nonce')
次にこれらのTokenから鍵データ(Key)を生成し、BUβメッセージのメッセージデータとKeyからメッセージ認証コード(MAC)を生成し、BUβメッセージに含まれるメッセージ認証コードと一致するかどうか確かめる。
Key = SHA1 (Home Token, Care-of Token)
MAC = SHA1 (Key, Message Data)
(6)相手先通信装置2は、BUβメッセージに含まれるメッセージ認証コードと、相手先通信装置2が計算した値とが一致した場合には、正しいBUβメッセージであると判断し、HoAとCoAの組であるバインディング・キャッシュを設定し、BUβメッセージの応答メッセージであるBAβメッセージを移動通信装置1に送信する。
以上がホームアドレステスト処理、気付アドレステスト処理(β)及び片方向経路・経路最適化処理の流れの説明である。
上記の応答先アドレス(CoA)の生成方法によって、攻撃者7が気付アドレステスト処理(CoTIβ・CoTβ)を用いて、サービス妨害攻撃を行うことを防ぐことができる。つまり、攻撃者7があるサーバを攻撃しようとして、応答先アドレスとしてサーバのアドレスを指定したとしても、応答側通信装置2aは、その応答先アドレスがHome Tokenから生成できるかどうか確認することによって、応答メッセージを送信する前に止めることができる。
また、攻撃者7は、応答側通信装置2aから返されるHome Tokenを予測することができないため、ターゲットのサーバのアドレスを意図的に生成することは不可能である。Home Tokenは応答側通信装置2aの秘密鍵をもとに生成されていることと、応答側通信装置2aが生成する乱数nonceを用いて生成されていることによって、要求側通信装置には予測不可能である。さらに、乱数nonceはLife Timeをもっており、定期的に異なる値に変更されるため、要求側通信装置にはターゲットのサーバのアドレスを応答先アドレスになるように意図的に操作することは不可能である。
以下では、さらに詳細に技術内容を説明する。最初に、比較のために従来技術であるモバイルIPの方法を図8を用いて簡単に説明する。
<HoTI/CoTI>
まず、図8(1)、(3)にそれぞれ示すように、移動通信装置1は相手先通信装置2にHoTI(Home Test Init)メッセージとCoTI(Care-of Test Init)を送信する。
<HoT/CoT>
相手先通信装置2はHoTIメッセージを受信すると、Home Tokenの計算を次のように行う。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
Kcnは相手先通信装置2のみが知っている鍵データである。Home addressは、HoTIメッセージの送信元アドレスである。Nonceは相手先通信装置2が独自に決めてよい値である。Nonceにどの値を用いたか分かるように、図8(2)に示すように、相手先通信装置2は、nonceの値を識別するための識別情報(home nonce-id)をHoTメッセージに含めて移動通信装置1に通知する。HoTメッセージには、さらにHome Tokenを含める。
同様に、相手先通信装置2はCoTIメッセージを受信すると、Care-of Tokenの計算を次のように行う。
Care-of Token :=
First(64, HMAC_SHA1 (Kcn, (care-of address | nonce | 1)))
相手先通信装置2は図8(4)に示すように、CoTメッセージにCare-of Token、care-of nonce-idを含めて移動通信装置1に送信する。
<BU>
移動通信装置1は、HoTメッセージとCoTメッセージを受信すると、Home TokenとCare-of Tokenを用いて次のように鍵(Kbm)を生成する。
Kbm = SHA1 (Home Token | Care-of Token)
移動通信装置1は、この生成した鍵Kbmを用いてBUメッセージのメッセージ認証コード(MAC)を生成してBUメッセージに付加し、図8(5)に示すように相手先通信装置2に送信する。メッセージ認証コードは次のように生成する。
Authenticator = First (96, HMAC_SHA1 (Kbm, Mobility Data))
Mobility Data = care-of address | correspondent | MH Data
Authenticatorがメッセージ認証コードである。Care-of addressはBUメッセージの送信元アドレスであり、correspondentは相手先通信装置2のアドレスであり、BUメッセージの送信先アドレスである。MH DataはBUメッセージの本体である。
<BUの認証/BA>
移動通信装置1はBUメッセージに、home nonce id、care-of nonce id、home addressを付加して送信する。BUメッセージを受信した相手先通信装置2は、BUメッセージの送信元アドレス(care-of address)と、home nonce idからhome nonceを呼び出し、Home Tokenを生成する。また相手先通信装置2は同様にしてCare-of Tokenを生成する。さらに相手先通信装置2は、これら2つのtokenから鍵(Kbm)を生成する。そしてBUメッセージと鍵(Kbm)を用いてメッセージ認証コードを生成し、移動通信装置1がBUメッセージに付加したメッセージ認証コードと一致するか確認する。メッセージ認証コードが一致することによって、相手先通信装置2はHome Test(HoTIメッセージを送信し、HoTメッセージを受信したこと)と、Care-of Test(CoTIメッセージを送信し、CoTメッセージを受信したこと)との両方を実行した通信装置からの適切なBUメッセージであるとみなし、図8(6)に示すようにバインディング確認(BA)メッセージを移動通信装置1に送信する。
この従来技術におけるモバイルIPのホームアドレステスト処理及び気付アドレステスト処理の設計思想は非特許文献2に記載されている。そのポイントとなるところは次の3点である。
(1)相手先通信装置にステート(State)を持たせないこと。
(2)応答メッセージを倍増させないこと(Amplificationの禁止)。
(3)メッセージの反射を行わないこと(Reflectionの禁止)。
上記(1)の相手先通信装置2にStateを持たせないことは、相手先通信装置2に対するDoS攻撃への防御策である。相手先通信装置2はHoTIメッセージを受信し、HoTメッセージを応答として返す処理では、単純にtokenを計算しているだけである。HoTメッセージを返したあと 、相手先通信装置2が記憶しておかなければならない情報はない。Kcnの値やnonceの値は、複数のHoTIメッセージに対して同じ値を用いることができるため、相手先通信装置2が複数の移動通信装置1から同時にHoTIメッセージを受信したとしても、そのために保持しておかなければならない情報が増えるわけではない。CoTIメッセージを受信し、CoTメッセージを送信する場合においても同様である。相手先通信装置2はBUメッセージを受信すると、BUメッセージに含まれる情報だけを用いてHome Token及びCare-of Tokenを生成し、これら2つのtokenから鍵(Kbm)を生成し、BUメッセージのメッセージ認証コードを生成し、さらにはBUメッセージに付加されているメッセージ認証コードと一致するか確認する。
上記(2)の応答メッセージを倍増させないこと(Amplificationの禁止)は、Home TestとCare-of Testに分けることによって実現している。例えば、移動通信装置1から相手先通信装置2へ1つの要求メッセージを送信して、相手先通信装置2からHoAとCoAに別々の応答メッセージを送信させる方法が思いつくが、この方法の場合、DoS攻撃を行おうとする攻撃者7に、攻撃メッセージを2倍にする装置を提供することになる可能性がある。そのため、モバイルIPでは1つの要求メッセージに1つの応答メッセージを返すように設計されている。
上記(3)のメッセージの反射を行わないこと(Reflectionの禁止)は、応答メッセージを要求メッセージの送信元アドレスに送信することによって実現している。すなわち、HoTメッセージはHoTIメッセージの送信元に返し、CoTメッセージはCoTIメッセージの送信元に返している。要求メッセージの送信元以外のアドレスに応答メッセージを送信することは、攻撃者7が他の通信装置を攻撃するために相手先通信装置2を利用することを可能にする。
本実施の形態は、従来技術のモバイルIPでは不可能だった片方向経路での経路最適化を実現する技術であると同時に、上記3点のセキュリティ対策の維持を目的とする。このうち、相手先通信装置2にStateを持たせないこと、Amplificationを行わないこと、の2点は維持している。また、Reflectionを攻撃に利用できないようにしている。
<メッセージシーケンス>
次に本実施の形態のバインディング・キャッシュ設定のメッセージシーケンスについて説明する。従来のモバイルIPと区別するために、新たにCoTIβメッセージ、CoTβメッセージ、BUβメッセージ、BAβメッセージを定義している。これらのメッセージは従来のモバイルIPのメッセージとは容易に区別できることが望ましい。従来のモバイルIPでは、CoTIメッセージ、CoTメッセージ、BUメッセージ、BAメッセージを図9に示すフォーマットのMH Type を用いて識別している。MH Typeは8bitの情報要素で、0から7までの値が既に次のように割り当てられている(非特許文献1参照)。
0 Binding Refresh Request
1 Home Test Init
2 Care-of Test Init
3 Home Test
4 Care-of Test
5 Binding Update
6 Binding Acknowledgement
7 Binding Error
このため、本技術のために新しく定義したメッセージにも、新しくMH Typeの値を割り当てることによって、それぞれのメッセージを識別できるようにする方法が適していると考えられる。もちろん新しくMH Typeの値を定義することなく、CoTIβメッセージにはCoTIメッセージ(MH Type = 2)、CoTβメッセージにはCoTメッセージ(MH Type = 4)、BUβメッセージにはBUメッセージ(MH Type = 5)、BAβメッセージにはBAメッセージ(MH Type = 6)を用い、宛先アドレスや送信元アドレスまたはメッセージ内の情報要素によって識別することも可能である。またメッセージのヘッダに識別するためのフラグを設けることも可能である。
次に、図10を参照して本発明の処理の流れを説明する。
<HoTI、HoT>
移動通信装置1は、図10(1)に示すようにHoTIメッセージを相手先通信装置2に送信する。
相手先通信装置2はHoTIメッセージを受信すると、Home Tokenの計算を次のように行う。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
相手先通信装置2は図10(2)に示すように、HoTメッセージに、Home Token、home nonce-idを含めて移動通信装置1に送信する。HoTI及びHoTメッセージを用いたホームアドレステストの処理は、モバイルIPと同様の処理である。但し、次のCoA生成処理でHome Tokenが用いられる点が異なる。
<CoA生成処理>
移動通信装置1は、HoTメッセージを受信すると、応答先アドレスとなる気付アドレス(CoA:Care-of Address)を次のように計算する。
Care-of Address :=
First(64, HMAC_SHA1 (Home Token | α))
上記はネットワークプレフィックスのサイズが64ビットの場合の式である。IPv6のアドレスサイズが128ビットであるため、ホスト識別領域は64ビットとなる。上記のCare-of Addressはホスト識別領域のデータである。
移動通信装置1は、CoAを生成したあと、ネットワーク上で同じアドレスを用いた端末がすでに存在しないか、アドレス重複確認処理を行う。このアドレス重複確認処理は、この生成したアドレス宛にメッセージを送信することによって、すでにこのアドレスを使用している端末がいる場合には、応答が返ってくることを利用して、アドレスがすでに他の端末によって使用されていないか確認する。もし、生成したCoAが別の端末によってすでに使用されている場合には、αの値を変更して、再度CoAを生成し、アドレス重複確認処理を行う。この処理は、他の端末によって使用されていないCoAを生成できるまで行う。
<CoTIβ>
図10(3)に示すようにCoTIβメッセージには、CoTメッセージと異なり、CoA、α、home nonce-idが新しく含まれる。CoAは、CoA生成処理によってHome Tokenから生成した応答先アドレスである。αは、CoAを生成するために用いた値である。home nonce-idは、移動通信装置が受信したHoTメッセージに含まれていた値である。
<CoTIβ受信及び応答先アドレスCoAの確認>
CoTIβメッセージを受信した相手先通信装置2は、CoTIβメッセージに含まれるhome nonce-idからhome nonceを呼び出し、CoTIβメッセージの送信元アドレスであるHoAと 併せてHome Tokenを生成する。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
さらに、Home TokenとCoTIβメッセージに含まれていたαを用いて応答先アドレス(care-of address)を生成する。
Care-of Address :=
First(64, HMAC_SHA1 (Home Token | α))
この生成したCare-of Addressが、CoTIβメッセージに含まれる応答先アドレスと一致しない場合には、相手先通信装置2は処理をここで終了し、CoTIβメッセージを破棄する。応答先アドレスと一致する場合には、応答メッセージであるCoTβメッセージの作成を行う。この応答先アドレスの確認処理によって、CoTIβメッセージを送信した端末がホームアドレステスト処理を行い、相手先通信装置2から送られたHome Tokenを用いて応答先アドレスを生成したことを確認する。これによって、相手先通信装置2が攻撃者7に利用されてターゲット1bにCoTβメッセージを送信することを未然に防ぐ。
<CoTβ>
相手先通信装置2は図10(4)に示すように、CoTβメッセージを移動通信装置1のCoAに送信する。CoTβメッセージには、Care-of Tokenとtoken生成に用いたnonceを呼び出すためのcare-of nonce-idが含まれる。Care-of Tokenの計算は次のように行う。
Care-of Token :=
First(64, HMAC_SHA1 (Kcn, (care-of address | nonce | 1)))
<BUβ>
移動通信装置1は、CoTβメッセージを受信し、CoTβメッセージに含まれているCare-of Tokenの値とHoTメッセージに含まれていたHome Tokenの値から鍵データ(Kbm)を生成する。
Kbm = SHA1 (Home Token | Care-of Token)
さらに、この鍵データKbmを用いて、BUβメッセージのメッセージ認証コードを生成し、 図10(5)に示すようにBUβメッセージに付加して相手先通信装置2に送信する。メッセージ認証コードは次のように計算する。
Authenticator = First (96, HMAC_SHA1 (Kbm, Mobility Data))
Mobility Data = care-of address | correspondent | MH Data
Authenticatorはメッセージ認証コードである。home addressはBUβメッセージの送信元アドレスであり、correspondentは送信先アドレスである。MH DataはBUβメッセージの本体である。BUβメッセージには、メッセージ認証コードのほかに、応答先アドレスであるCoA、HoTメッセージに含まれていたhome nonce id、CoTβメッセージに含まれていたcare-of nonce idが含まれる。
<BUβの認証及びBAβの送信>
相手先通信装置2は、BUβメッセージを受信し、home nonce-idと送信元アドレスのhome addressからHome Tokenを生成し、care-of nonce-idとBUβメッセージに含まれるcare-of addressを用いてCare-of Tokenを生成する。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
Care-of Token :=
First(64, HMAC_SHA1 (Kcn, (care-of address | nonce | 1)))
次に、2つのtokenを用いてKbmを生成し、BUβメッセージのメッセージ認証コードを生成し、付加されていたメッセージ認証コードと一致するか確認する。
Kbm = SHA1 (Home Token | Care-of Token)
Authenticator = First (96, HMAC_SHA1 (Kbm, Mobility Data))
Mobility Data = care-of address | correspondent | MH Data
メッセージ認証コードが一致したならば、相手先通信装置2はバインディング・キャッシュの設定を行い、移動通信装置1のCoAに向けて応答メッセージであるBAβメッセージを送信する。一致しない場合には、受信したBUβメッセージを破棄し、受信処理を終了する。以上が本発明の片方向経路での経路最適化を行うバインディング更新処理である。
<メッセージフォーマット>
次に、メッセージフォーマットについて説明する。本発明のCoTIβ、CoTβのメッセージは、従来技術のモバイルIPのCoTIやCoTのメッセージに新しく情報要素を追加している。追加している情報要素は、home nonce id, prefix length, care-of addressである 。これらを格納するためのフォーマットは、従来のモバイルIP(RFC3775)で定義されているメッセージフォーマットをそのまま、又は少し変更することによって利用することができる。
・Home nonce id:RFC3775ではHome Nonce Indexだけを運ぶMobility Optionが定義されていないため、図11に示すように新たにOption Typeを定義する必要がある。
・prefix lengthは、相手先通信装置が2Care-of Addressの比較を行うときに、Care-of Addressをネットワークプレフィックスの領域とホスト識別情報の領域と分離するために必要な情報である。ネットワークプレフィックスのサイズを運ぶ情報要素を図12に示す。
・Care-of address:RFC3775には、Care-of Address Optionが存在しないため、図13に示すように新たにOption Typeを定義する必要がある。Alternate CoA Optionを転用する方法も考えられる。
<バインディング・キャッシュ>
相手先通信装置2が設定するバインディング・キャッシュは、モバイルIPと同じものでかまわない。相手先通信装置2は、従来のモバイルIPと同様、HoA宛のパケットをCoA宛に変更するとともに、拡張ヘッダのルーティングヘッダ(Type 2)を付加する。相手先通信装置2が移動通信装置1から受信するパケットは、HoAを送信元アドレスとする通常のパケットである。一方、移動通信装置1が持つバインディング・キャッシュには、送信元アドレスをCoAに変換してはいけないことを示す情報が必要である。移動通信装置1はホームエージェント3経由でパケットを送信しなければ、相手先通信装置2にパケットが届かないからである。
<相手先通信装置(応答側通信装置)の構成>
図14は相手先通信装置(応答側通信装置)2のメッセージ処理部の構成を示すブロック図である。相手先通信装置2は、次のようなメッセージの送受信を行う。
(1)HoTIメッセージを受信し、CoA生成情報(Home Token)を含むHoTメッセージを送信する。
(2)CoTIメッセージを受信し、CoTメッセージを送信する。
(3)CoTIβメッセージを受信してメッセージ内のCoAを認証し、CoTβメッセージを送信する。
(4)BUメッセージを受信してメッセージ内のメッセージ認証コードを認証し、BAメッセージを送信する。
(5)BUβメッセージを受信してメッセージ内のメッセージ認証コードを認証し、BAβメッセージを送信する。
(1)、(2)、(4)のメッセージ送受信処理は、MIP BU/RR処理部13(及びメッセージ受信部11、メッセージ送信部12)において行う。(3)、(5)のメッセージ送受信処理は、片方向BU/RR拡張処理部13a(及びメッセージ受信部11、メッセージ送信部12)において行う。HoT、CoT、CoTβメッセージの送信処理においてtoken, nonce idをメッセージに付加する場合、Nonce管理部14及びToken生成部15よりデータを取得する。Token生成部15は、Nonce管理部14よりNonceの値を取得し、受信した要求メッセージから取得したアドレスと鍵データKcnよりTokenの値を計算する。Nonce管理部14は、Token管理部14に渡したNonceの値に対応するNonce IDの値をMIP BU/RR処理部13に渡す。Token生成部15は、要求側通信装置1からの応答先アドレス生成情報の要求に応えてHome tokenを生成しているため、応答先アドレス生成情報生成部として機能している。
CoTIβメッセージの受信処理において、応答先アドレスの確認処理を行う場合、CoTIβメッセージに含まれるhome nonce-idをNonce管理部14に渡し、Nonceの値を取得する。取得したNonceの値とCoTIβメッセージの送信元アドレスであるHoAをToken生成部15に渡し、Tokenの値を取得する。取得したTokenの値とCoTIβメッセージに含まれる情報αを応答先アドレス確認部20に渡し応答先アドレス(CoA)を生成し、その生成したアドレスとCoTIβメッセージに含まれる応答先アドレスと一致するか比較する。比較する領域は、応答先アドレスからネットワークプレフィックスの領域を除いたホスト識別子の領域である。
BU、BUβメッセージの受信処理においてメッセージ認証コードの作成と確認(認証)を行う場合、BU、BUβメッセージに含まれるhome nonce-idとcare-of nonce-idをNonce管理部14に渡し、home nonce, care-of nonceの値をそれぞれ取得する。取得したNonceの値とBU、BUβメッセージ内に含まれるHome Address及びCare-of AddressをToken生成部15にそれぞれ渡し、Home Token及びCare-of Tokenを生成する。取得した2つのtokenをKbm生成部16に渡し、Kbmを生成する。生成したKbm及び受信したメッセージをメッセージ認証コード(MAC)確認部18に渡し、MACの値を計算する。そしてBU、BUβメッセージ内に含まれているMACの値と比較し、一致するかどうかチェックする。MACのチェックに成功した場合には、Home AddressとCare-of Addressの対応関係をバインディング・キャッシュ(Binding Cache)19(及び片方向RO拡張部19a)に登録する。
<移動通信装置(要求側通信装置)の構成>
図15は移動通信装置(要求側通信装置)1のメッセージ処理部の構成を示すブロック図である。移動通信装置1は、次のようなメッセージの送受信を行う。
(1)HoTIメッセージを送信し、CoA生成情報(Home Token)を含むHoTメッセージを受信する。
(2)CoTIメッセージを送信し、CoTメッセージを受信する。
(3)CoA生成情報(Home Token)からCoAを生成して、CoAを含むCoTIβメッセージを送信し、CoTβメッセージを受信する。
(4) メッセージ認証コードを含むBUメッセージを送信し、BAメッセージを受信する。
(5)メッセージ認証コードを含むBUβメッセージを送信し、BAβメッセージを受信する。
(1)、(2)、(4)のメッセージ送受信処理は、MIP BU/RR処理部23(及びメッセージ受信部21、メッセージ送信部22)において行う。(3)、(5)のメッセージ送受信処理は、片方向BU/RR拡張処理部23aにおいて行う。HoTI、CoTI、CoTIβメッセージの送信処理では、Cookie生成部24により作成したCookieの値をHoTI、CoTI、CoTIβメッセージに入れる。メッセージに含めるCookieは、相手先通信装置2が応答メッセージに同じ値を含めて移動通信装置1に返すことになっている。これによって移動通信装置1は、要求メッセージと応答メッセージの対応づけを行うことができる。応答先アドレス生成情報要求部29は、(1)のHoTIメッセージ送信で要求し、また、応答先アドレス生成部30は、(3)においてCoA生成情報(Home Token)からCoAを生成する。
HoTIメッセージの送信処理では、Home Tokenを要求する処理が、応答先アドレス生成情報(Home Token)を応答側通信装置2に要求するための処理であり、応答先アドレス生成情報要求部29が存在していると見ることができる。HoTメッセージの受信処理では、移動通信装置1はHoTメッセージに含まれるHome Tokenを応答先アドレス生成部30に渡して、応答先アドレス(CoA)を生成する。CoTIβメッセージの送信処理では、応答先アドレス生成部30より作成した応答先アドレスと応答先アドレス生成に用いた情報αを取得し、CoTIβメッセージに付加して送信する。
BU、BUβメッセージ送信処理においては、受信したHoTメッセージ及びCoTβメッセージから取得したHome Token及びCare-of TokenをKbm生成部25に渡し、Kbmを生成する。さらに送信するBU、BUβメッセージと作成したKbmをメッセージ認証コード生成部26に渡し、メッセージ認証コードを作成する。作成したメッセージ認証コードはBU、BUβメッセージに付加し送信する。Binding Cache管理部27(及び片方向RO拡張部28)は、相手先通信装置2のBinding Cache19を管理する。
<その他の使用例1>
なお、本明細書では、移動通信装置1が最初から片方向経路最適化を行うことを想定して動作する場合について説明したが、移動通信装置1が片方向経路であるかどうか知らない場合についても利用可能である。移動通信装置1は、従来のモバイルIPの処理を行い、HoTIメッセージとCoTIメッセージを送信する。移動通信装置1は、HoTメッセージは受信するが、CoTメッセージを受信できない場合、再度CoTIメッセージを送信しなおすといった処理を行うことが考えられる。このとき移動通信装置1は、片方向経路(相手先通信装置2から移動通信装置1の向きに片方向だけ通信可能な経路の場合)であっても経路最適化を行うかどうか判定を行い、片方向経路最適化を行う場合には、CoTIβメッセージを送信する。この後の処理は、本明細書で説明した処理と同じである。
<その他の使用例2>
図2に示すように移動通信装置(MN)1が複数のインタフェースを持つ端末のときには、ホームエージェント3が存在しないときにでも片方向経路最適化を実行してもよい。移動通信装置1が2種類のインタフェースを持っているとする。2種類のインタフェースは例えば、携帯電話網に接続するインタフェースと地上波デジタルテレビ放送を受信するインタフェースとする。そして、携帯電話網側のインタフェースに割り当てられたアドレスをIP(携帯)とし、地上波デジタル放送側のインタフェースをIP(放送)とする。IP(携帯)は双方向通信可能なアドレスである。一方、IP(放送)はダウンリンクのみ通信可能なアドレスである。このとき、移動通信装置1である携帯電話は、IP(携帯)をHoAとして、IP(放送)をCoAとみなして片方向経路最適化手順を実行することができる。
なお、本明細書ではCoTIβメッセージに対して応答メッセージを送信するかどうかのチェックに応答先アドレスが正しく生成されているかどうか確認する方法について説明したが、これは応答側通信装置(相手先通信装置)2がHoAとCoAの組合せを知らない場合にも使える方法である。例えば、すでに相手先通信装置2が移動通信装置1のバインディング・キャッシュを設定されている場合には、相手先通信装置2はCoA宛に送信しても移動通信装置1にパケットが届くことがわかっている。このような場合には、相手先通信装置2は、応答先アドレスを確認するのではなく、すでに移動通信装置1のバインディング・キャッシュが設定されているかどうか確認し、その登録されているHoAとCoAの組と一致しているかどうか確認する方法も可能である。このようにバインディング・キャッシュが設定されているかどうかを確認する方法も併用する場合には、CoTIβメッセージにフラグを設けて、すでにバインディング・キャッシュに登録しているかどうか、相手先通信装置2が即座にバインディング・キャッシュをチェック開始できるようにしてもよい。
モバイルIPではバインディング・キャッシュにLife Timeを設けているため、移動通信装置1は一定間隔ごとにCoTIβメッセージを相手先通信装置2に送信しなければならない。このため、バインディング・キャッシュに登録されているかどうか確認する方法と、応答先アドレスが正しく生成されているかどうか確認する方法との併用は、CoTIβメッセージ受信時にCoTβメッセージを応答としてCoAに送信してよいかどうか判定する方法として利用効果がある。
また、本発明は、移動通信装置と相手先通信装置との間で移動通信装置のホームエージェントを介さない両方向の直接経路で通信を行う経路最適化を行う場合にも適用することができる。この場合の通信方法、通信システム、移動通信装置及び相手先通信装置の構成を以下に示す。
(1)通信方法:
移動通信装置と相手先通信装置との間で前記移動通信装置のホームエージェントを介さない直接経路で通信を行う経路最適化を行う通信方法において、
前記移動通信装置が前記ホームエージェントを介して、ホームアドレステスト要求(HoTI)メッセージを前記相手先通信装置に送信し、前記相手先通信装置が前記ホームアドレステスト要求メッセージに応答して、前記移動通信装置の気付アドレスを生成するためのアドレス生成情報を含むホームアドレステスト応答(HoT)メッセージを前記ホームエージェントを介して前記移動通信装置に送信するホームアドレステストステップと、
前記移動通信装置が前記ホームアドレステスト応答メッセージ内の前記アドレス生成情報に基づいて気付アドレスを生成して、前記気付アドレスを含む気付アドレステスト要求(CoTIβ)メッセージを前記直接経路で前記相手先通信装置に送信し、前記相手先通信装置が前記気付アドレステスト要求メッセージ内の前記気付アドレスを、前記ホームアドレステスト応答(CoTβ)メッセージで送信した前記アドレス生成情報に基づいて生成した気付アドレスと比較して、一致すると確認した場合に気付アドレステスト応答メッセージを前記直接経路で前記移動通信装置に送信する気付アドレステストステップとを、
有することを特徴とする通信方法。
(2)通信システム:
移動通信装置と相手先通信装置との間で前記移動通信装置のホームエージェントを介さない直接経路で通信を行う経路最適化を行う通信システムにおいて、
前記移動通信装置がホームアドレステスト要求メッセージを前記ホームエージェントを介して前記相手先通信装置に送信し、前記相手先通信装置が前記ホームアドレステスト要求メッセージに応答して、前記移動通信装置の気付アドレスを生成するためのアドレス生成情報を含むホームアドレステスト応答メッセージを前記ホームエージェントを介して前記移動通信装置に送信するホームアドレステスト手段と、
前記移動通信装置が前記ホームアドレステスト応答メッセージ内の前記アドレス生成情報に基づいて気付アドレスを生成して、前記気付アドレスを含む気付アドレステスト要求メッセージを前記直接経路で前記相手先通信装置に送信し、前記相手先通信装置が前記気付アドレステスト要求メッセージ内の前記気付アドレスを、前記ホームアドレステスト応答メッセージで送信した前記アドレス生成情報に基づいて生成した気付アドレスと比較して、一致すると確認した場合に気付アドレステスト応答メッセージを前記直接経路で前記移動通信装置に送信する気付アドレステスト手段とを、
有することを特徴とする通信システム。
(3)移動通信装置:
移動通信装置と相手先通信装置との間で前記移動通信装置のホームエージェントを介さない直接経路で通信を行う経路最適化を行う通信システムにおける前記移動通信装置であって、
ホームアドレステスト要求メッセージを前記ホームエージェントを介して前記相手先通信装置に送信する手段と、
前記相手先通信装置が前記ホームアドレステスト要求メッセージに応答して、前記移動通信装置の気付アドレスを生成するためのアドレス生成情報を含むホームアドレステスト応答メッセージを前記ホームエージェントを介して前記移動通信装置に送信した場合、前記ホームアドレステスト応答メッセージを受信する手段と、
前記受信した前記ホームアドレステスト応答メッセージ内の前記アドレス生成情報に基づいて気付アドレスを生成して、前記気付アドレスを含む気付アドレステスト要求メッセージを前記直接経路で前記相手先通信装置に送信する手段とを備え、
前記相手先通信装置が前記気付アドレステスト要求メッセージ内の前記気付アドレスを、前記ホームアドレステスト応答メッセージで送信した前記アドレス生成情報に基づいて生成した気付アドレスと比較して、一致すると確認した場合に気付アドレステスト応答メッセージを前記直接経路で前記移動通信装置に送信するようにした移動通信装置。
(4)相手先通信装置:
移動通信装置と相手先通信装置との間で前記移動通信装置のホームエージェントを介さない直接経路で通信を行う経路最適化を行う通信システムにおける前記相手先通信装置であって、
前記移動通信装置がホームアドレステスト要求メッセージを前記ホームエージェントを介して前記相手先通信装置に送信した場合、前記ホームアドレステスト要求メッセージを受信する手段と、
前記受信した前記ホームアドレステスト要求メッセージに応答して、前記移動通信装置の気付アドレスを生成するためのアドレス生成情報を含むホームアドレステスト応答メッセージを前記ホームエージェントを介して前記移動通信装置に送信する手段と、
前記移動通信装置が前記ホームアドレステスト応答メッセージ内の前記アドレス生成情報に基づいて気付アドレスを生成して、前記気付アドレスを含む気付アドレステスト要求メッセージを前記直接経路で前記相手先通信装置に送信した場合、前記気付アドレステスト要求メッセージを受信する手段と、
前記受信した前記気付アドレステスト要求メッセージ内の前記気付アドレスを、前記ホームアドレステスト応答メッセージで送信した前記アドレス生成情報に基づいて生成した気付アドレスと比較して、一致すると確認した場合に気付アドレステスト応答メッセージを前記直接経路で前記移動通信装置に送信する手段とを、
有する相手先通信装置。
なお、上記実施の形態の説明では移動通信装置を一つの装置として説明したが、複数の近距離通信可能な装置の集合であってもよい。例えば携帯テレビ受像機と携帯電話の組み合わせで、携帯テレビ受像機と携帯電話の間では相互通信を行い、あたかも一つの装置として動作し本発明の処理を行うといった実現方法も考えられる。
次に、上記ではモバイルIPの経路最適化の片方向経路対応の場合について説明したが、他の状況でも利用することができる。図16を用いて処理手順を説明する。要求側の通信装置(第1の通信装置)101と応答側の通信装置(第2の通信装置)102が通信しているとする。要求側通信装置101は、あるアドレス(第1のアドレス)を使って、メッセージを送受信し、応答側通信装置102と通信している。このように通信しているときに、要求側通信装置101が別の新しいアドレス(第2のアドレス)を使って受信したいと希望する。例えばデジタル放送網や衛星通信網などを用いて受信したいといった場合が想定される。モバイルIPの経路最適化を例とした場合にはバインディング・キャッシュを設定して、設定後に新しいアドレスを受信用のアドレスとして使用した。それ以外の使い方として、応答として返されるメッセージが大きく、別のインタフェースの別のアドレスで受信したほうが効率的に通信できるといった使い方が考えられる。要求メッセージの送信元と異なるアドレスに応答メッセージを返して欲しい場合に、要求メッセージに応答先を含めて送信し、応答先の通信装置102がその要求に従って応答メッセージを送信してしまうと、課題のところで述べたように攻撃に利用される危険性がある。
図16において、
(1)要求側通信装置101が新しいアドレスでの応答の受信を希望し、要求側通信装置101は応答側通信装置102にアドレス生成情報を要求するアドレス生成情報要求メッセージ(第1の要求メッセージ)を送信する。
(2)応答側通信装置102はアドレス生成情報の要求を受信し、アドレス生成情報を作成し、応答としてアドレス生成情報メッセージ(第1の応答メッセージ)を要求側送信装置101に送信する。
アドレス生成情報は、要求側送信装置101が予測できない情報であることが望ましい。つまり予測可能な値の場合、攻撃者(第1の通信装置101)がターゲットを決め、そのターゲットを攻撃可能なアドレスを生成できる応答側通信装置102を選び、アドレス生成情報を要求することが考えられるからである。アドレス生成情報を、応答側通信装置102の秘密鍵を用いて生成することは予測を困難にする効果がある。また、定期的に変更する乱数を利用して生成することも予測を困難にする効果がある。
応答側通信装置(第2の通信装置)102からのアドレス生成情報の送信は、要求メッセージの応答として送信するだけではなく、他の理由により送信する場合でもかまわない。例えば定期的にアドレス(第2のアドレス)を変更するような場合、その都度、要求側通信装置101が要求メッセージを送信するのではなく、定期的に応答側通信装置102がアドレス生成情報を送信したほうが効率的である。また、応答側通信装置102の都合によって新しく応答を受信するアドレス(第2のアドレス)を変更させることも考えられる。また、例えば他の第3の通信装置からの指示に従って新しく応答を受信するアドレス(第2のアドレス)を変更させることも考えられる。さらに言えば、ネットワーク環境の変化や通信装置以外からの入力情報によって、アドレス生成情報を送信することも考えられる。
(3)要求側通信装置(第1の通信装置)101は、アドレス生成情報を受信し、アドレス生成情報を用いて応答を受信するためのアドレスを生成する。必要ならば、つまりアドレスの重複が発生する可能性があるならば、生成したアドレスがすでに他の端末に使用されていないか確認する。アドレスの重複が発生する場合には、自由度を与える。例えばαという情報を追加して、次のように第2のアドレスを生成する。
応答先アドレス(第2のアドレス)=SHA1(アドレス生成情報、α)
応答先アドレスにネットワークプレフィックス部が必要ならば、ネットワークプレフィックス部を付加する。この場合にはホスト識別部を、アドレス生成情報を用いて生成する。
要求側通信装置101は、生成した応答を受信するアドレス(第2のアドレス)を応答側通信装置(第2の通信装置)102に応答先指定要求メッセージ(第2の要求メッセージ)に含めて送信する。この応答先指定要求メッセージには、応答側通信装置102が応答先アドレスをアドレス生成情報から生成できるように必要な情報を含める。例えば、第2のアドレス生成に重複を回避するために情報αを用いたのであれば、αを含める。ネットワークプレフィックスを付加したのであれば、ネットワークプレフィックスの長さ、及び/またはネットワークプレフィックスの値を含める。
(4)応答側通信装置(第2の通信装置)102は、応答先指定要求メッセージ(第2の要求メッセージ)を受信し、応答メッセージの送信先に新しいアドレス(第2のアドレス)が指示されている場合には、そのアドレスがアドレス生成情報から生成できるか確認する。必要ならば情報αやネットワークプレフィックスの情報を加えて、アドレスを生成し比較する。
アドレス生成情報は、応答側通信装置(第2の通信装置)102が記憶しておいてもよい。応答先指定要求メッセージ(第2の要求メッセージ)にアドレス生成情報が含まれていてもよい。ただし、応答側通信装置102は自装置が生成したアドレス生成情報であるか確認できる必要がある。そのためにアドレス生成情報を記憶しておいてもよい。また、要求側通信装置(第1の通信装置)101のアドレス(第1のアドレス)を用いて生成しておいてもよい。この場合には応答先指定メッセージ(第2の要求メッセージ)の送信元アドレス(第1のアドレス)からアドレス生成情報を生成することができる。また、アドレス生成情報を記憶するのではなく、その生成に用いた情報を記憶しておいてもよい。例えば、アドレス生成情報の生成に秘密鍵を用いた場合にはその秘密鍵を記憶しておく。また例えば、乱数を生成し、その乱数をアドレス生成情報の生成に用いた場合にはその乱数を記憶しておく。乱数の場合には、アドレス生成情報メッセージ(第1の応答メッセージ)に含めて第1の通信装置101に送信し、応答先指定要求メッセージ(第2の要求メッセージ)に含めて送信してもらうことも考えられる。この場合には、応答側通信装置102は乱数の値を記憶しておく必要はない。
応答先のアドレス(第2のアドレス)がアドレス生成情報から生成できることが確認できた場合には、応答側通信装置102は応答先指定応答メッセージ(第2の応答メッセージ)を指示されたアドレス(第2のアドレス)に送信する。つまり応答先アドレス(第2のアドレス)は、攻撃者(第1の通信装置101)がターゲットをねらって決めたアドレスではなく、応答側通信装置(第2の通信装置)102が生成したアドレス生成情報から作成したアドレスであるため、応答先指定応答メッセージ(第2の応答メッセージ)がターゲットの攻撃に利用される可能性がほとんどないからである。
応答先のアドレス(第2のアドレス)として指定されたアドレスが、アドレス生成情報から生成できなかった場合には、破棄する。または、要求側通信装置(第1の通信装置)101の送信元のアドレス(第1のアドレス)にエラーがあったことを通知してもよい。
以上、モバイルIPの経路最適化の片方向経路対応ではない場合について説明した。
なお上記とモバイルIPの経路最適化の片方向経路対応の場合において、アドレス生成情報要求メッセージ(第1の要求メッセージ)はモバイルIPのHoTIメッセージと、アドレス生成情報メッセージ(第1の応答メッセージ)はモバイルIPのHoTメッセージと、応答先指定要求メッセージ(第2の要求メッセージ)は本発明によるCoTIβメッセージと、応答先指定応答メッセージ(第2の応答メッセージ)は本発明によるCoTβメッセージ、それぞれ対応している。
<第2の実施の形態>
第1の実施の形態では図7(3)に示すように、生成したアドレスCoA(Care-of Address)をCoTIβメッセージによって通知しているが、第2の実施の形態では、CoTIβ/CoTβメッセージを省略し、生成したアドレスCoAをバインディング更新(BUβ)メッセージによって通知する。図17A、図17Bは、気付アドレステスト処理を省略した第2の実施の形態におけるホームアドレステスト処理、BU処理をそれぞれ示す。
図17Aに示すホームアドレステスト処理では、モバイルIPと同様に、
(1)移動通信装置(MN)がHoAを送信元アドレスとしてHoTIメッセージを相手先通信装置(CN)2に送信し、
(2)相手先通信装置2がHoA宛にHoTメッセージを送信する。
ホームアドレステスト処理を行うことによって、移動通信装置1がHoAを送信元としてHoTIメッセージを送信し、HoAで応答メッセージを受信したことがわかる。
図17Bに示すBU処理では、
(3)移動通信装置1がHoAを送信元アドレスとしてBUβメッセージをホームエージェント(HA)3経由で相手先通信装置(CN)2に送信し、
(4)相手先通信装置2がCoA宛にBAβメッセージを送信する(直接経路)。
次に、図18を用いて第2の実施の形態におけるメッセージ処理の概略を説明する。まず、移動通信装置1は、モバイルIPのホームアドレステスト処理を行う。具体的には、次のような処理を行う。
<ホームアドレステスト処理>
(1)移動通信装置1は相手先通信装置2にHoTIメッセージを送信する。
(2)相手先通信装置2は通常のモバイルIPのホームアドレステスト処理を行う。つまり、以下のようにHoTIメッセージの送信元アドレスであるHoA(home address)と、相手先通信装置2の秘密鍵(Kcn)と、相手先通信装置2が決めた乱数nonceを用いて、HMAC_SHA1によるHash計算を行い、Home Keygen Token(以下ではHome Tokenと記す。)を算出する。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
相手先通信装置2は、算出したHome Tokenの値とnonceを呼び出すための識別情報nonce-idを応答メッセージ(HoTメッセージ)に含めて送信する。
<CoAの生成>
次に、移動通信装置1は、受信したHoTメッセージに含まれる情報を用いてCoAの生成を行う。移動通信装置1は、生成するCoAのネットワークプレフィックスの領域は、変更することができないため、それ以外のホスト識別情報の領域をHome Tokenを用いて生成する。また、他のホストが既にアドレスを使用していて、アドレスの重複が発生した場合に、そのアドレスの衝突を回避するためにデータαを用いてCoA(Care-of Address)を生成する。
Care-of Address :=
First(64, HMAC_SHA1 (Home Token | α))
<バインディング更新処理>
(3)移動通信装置1は、生成したCoAと、CoAの生成に用いた情報αと、nonce-idとメッセージ認証コード(MAC: Message Authentication Code)をBUβメッセージに付加して、相手先通信装置2に送信する。MACの生成のために、バインディング管理キーKbmを次のように生成する。CoAの生成ではαを用いているため、KbmとCoAが同一の値になることはない。
Kbm = HMAC_SHA1 (Home Token)
メッセージ認証コードの生成では、BUβメッセージの送信元アドレス(home address)と、宛先アドレス(correspondent node's address)と、メッセージデータ(MH Data)と、生成した鍵データ(Kbm)を用いる。
MAC = First (96, HMAC_SHA1 (Kbm, Mobility Data))
Mobility Data = home address | correspondent | MH Data
<CoAの確認とバインディング・キャッシュの設定>
相手先通信装置2はBUβメッセージを受信すると、まず以下のように、Home Tokenの計算を行う。BUβメッセージに含まれているnonce-idからnonceを呼び出す。BUβメッセージの送信元アドレスHoAと、呼び出したnonceと、相手先通信装置2の秘密鍵(Kcn)を用いてHome Tokenを計算する。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
さらに、生成したHome TokenとBUβメッセージに含まれる情報αを用いて、CoA(Care-of Address)を生成する。
Care-of Address :=
First(64, HMAC_SHA1 (Home Token | α))
生成したCoAがBUβメッセージに含まれるCoAと等しい場合には、相手先通信装置2は、応答メッセージをCoAに送信してよいと判断する。
さらに、相手先通信装置2は、メッセージ認証コードを次のように確認する。まず、生成したHome Tokenを用いて鍵データ(Kbm)を生成する。そして生成した鍵データ(Kbm)とメッセージデータ(Mobility Data)からメッセージ認証コード(MAC)を生成し、BUβメッセージに含まれる認証コードと比較する。
Kbm = HMAC_SHA1 (Home Token)
MAC = First (96, HMAC_SHA1 (Kbm, Mobility Data))
Mobility Data = home address | correspondent | MH Data
ここで、相手先通信装置2は、移動通信装置1のHoAとCoAの組のバインディング・キャッシュを登録するが、CoA宛に送信して移動通信装置1に届くかどうかを確認していない。CoA宛に送信することが、第三の端末に対するリフレクション攻撃とはならないため、相手先通信装置2は攻撃の踏み台に利用されることがない。そのため移動通信装置1が正しくCoAを設定してBUβメッセージに設定すれば、CoAへの到達確認を省略することも可能といえる。また、悪意ある端末がHoTメッセージを盗聴し、BUβメッセージに不正なCoAを設定して相手先通信装置2に送信するという危険に対しては、BUβメッセージの送信元アドレスの改ざんを防ぐことや、盗聴を防ぐネットワーク環境を構築することなどで防ぐことが可能である。アドレスの改ざんを防ぐ方法としてはルータにおいて送信元アドレスをチェックするイングレス・フィルタリングといった技術がある。盗聴を防ぐネットワークとしては、リンクレイヤの暗号化や、ネットワークアクセス時に認証をとり、不特定の端末がネットワークに接続しないようにするなどの方法が考えられる。
(4)相手先通信装置2は、BUβメッセージに対する応答として、BAβメッセージを送信する。
以上が図18を用いたメッセージ処理の概略の説明である。次に、図14及び図15を用いて、第2の実施の形態における相手先通信装置(応答側通信装置)2及び移動通信装置(要求側通信装置)1の動作を説明する。
<相手先通信装置(応答側通信装置)の構成>
図14は相手先通信装置(応答側通信装置)2のメッセージ処理部の構成を示すブロック図である。相手先通信装置2は、次のようなメッセージの送受信を行う。
(1)HoTIメッセージを受信し、CoA生成情報(Home Token)を含むHoTメッセージを送信する。
(2)BUβメッセージを受信してメッセージ内のメッセージ認証コードを認証し、BAβメッセージを送信する。
(1)のメッセージ送受信処理は、MIP BU/RR処理部13(及びメッセージ受信部11、メッセージ 送信部12)において行う。(2)のメッセージ送受信処理は、片方向BU/RR拡張処理部13a(及びメッセージ受信部11、メッセージ送信部12)において行う。HoTメッセージの送信処理においてtoken, nonce idをメッセージに付加する場合、Nonce管理部14及びToken生成部15よりデータを取得する。Token生成部15は、Nonce管理部14よりNonceの値を取得し、受信した要求メッセージから取得したアドレスと鍵データKcnよりTokenの値を計算する。Nonce管理部14は、Token管理部14に渡したNonceの値に対応するNonce IDの値をMIP BU/RR処理部13に渡す。Token生成部15は、要求側通信装置1からの応答先アドレス生成情報の要求に応えてHome tokenを生成しているため、応答先アドレス生成情報生成部として機能している。
BUβメッセージの受信処理において、応答先アドレスの確認処理を行う場合、BUβメッセージに含まれるhome nonce-idをNonce管理部14に渡し、Nonceの値を取得する。取得したNonceの値とBUβメッセージの送信元アドレスであるHoAをToken生成部15に渡し、Tokenの値を取得する。取得したTokenの値とBUβメッセージに含まれる情報αを応答先アドレス確認部20に渡し応答先アドレス(CoA)を生成し、その生成したアドレスとBUβメッセージに含まれる応答先アドレスと一致するか比較する。比較する領域は、応答先アドレスからネットワークプレフィックスの領域を除いたホスト識別子の領域である。
さらに、BUβメッセージの受信処理においてメッセージ認証コードの作成と確認(認証)を行う場合、BUβメッセージに含まれるhome nonce-idをNonce管理部14に渡し、home nonceの値をそれぞれ取得する。取得したNonceの値とBUβメッセージ内に含まれるHome AddressをToken生成部15にそれぞれ渡し、Home Tokenを生成する。取得した2つのtokenをKbm生成部16に渡し、Kbmを生成する。生成したKbm及び受信したメッセージをメッセージ認証コード(MAC)確認部18に渡し、MACの値を計算する。そしてBUβメッセージ内に含まれているMACの値と比較し、一致するかどうかチェックする。MACのチェックに成功した場合には、Home AddressとCare-of Addressの対応関係をバインディング・キャッシュ(Binding Cache)19(及び片方向RO拡張部19a)に登録する。
<移動通信装置(要求側通信装置)の構成>
図15は移動通信装置(要求側通信装置)1のメッセージ処理部の構成を示すブロック図である。移動通信装置1は、次のようなメッセージの送受信を行う。
(1)HoTIメッセージを送信し、CoA生成情報(Home Token)を含むHoTメッセージを受信する。
(2)CoA生成情報(Home Token)からCoAを生成して、CoA及びメッセージ認証コードを含むBUβメッセージを送信し、BAβメッセージを受信する。
(1)のメッセージ送受信処理は、MIP BU/RR処理部23(及びメッセージ受信部21、メッセージ 送信部22)において行う。(2)のメッセージ送受信処理は、片方向BU/RR拡張処理部23aにおいて行う。HoTIメッセージの送信処理では、Cookie生成部24により作成したCookieの値をHoTIメッセージに入れる。メッセージに含めるCookieは、相手先通信装置2が応答メッセージに同じ値を含めて移動通信装置1に返すことになっている。これによって移動通信装置1は、要求メッセージと応答メッセージの対応づけを行うことができる。応答先アドレス生成情報要求部29は、(1)のHoTIメッセージ送信で要求し、また、応答先アドレス生成部30は、(2)においてCoA生成情報(Home Token)からCoAを生成する。
HoTIメッセージの送信処理では、Home Tokenを要求する処理が、応答先アドレス生成情報(Home Token)を応答側通信装置2に要求するための処理であり、応答先アドレス生成情報要求部29が存在していると見ることができる。HoTメッセージの受信処理では、移動通信装置1はHoTメッセージに含まれるHome Tokenを応答先アドレス生成部30に渡して、応答先アドレス(CoA)を生成する。
BUβメッセージの送信処理では、応答先アドレス生成部30より作成した応答先アドレスと応答先アドレス生成に用いた情報αを取得し、BUβメッセージに付加する。また、BUβメッセージ送信処理においては、受信したHoTメッセージから取得したHome TokenをKbm生成部25に渡し、Kbmを生成する。さらに送信するBUβメッセージと作成したKbmをメッセージ認証コード生成部26に渡し、メッセージ認証コードを作成する。作成したメッセージ認証コードはBUβメッセージに付加し送信する。Binding Cache管理部27(及び片方向RO拡張部28)は、相手先通信装置2のBinding Cache19を管理する。
なお、上記実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又はすべてを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブ ル・プロセッサーを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適用などが可能性としてあり得る。
本発明は、データやメッセージの送信側が受信側からの送信要求内の宛先アドレスを確認して、不正な第3者からの送信要求による攻撃を防止することに利用できる。また、片方向経路及び非対称経路においても従来技術と同等程度に安全性を保ちながら、経路最適化を実現可能とするためのバインディング更新前処理などに利用することができる。
本発明は、不正な第3者からの送信要求による攻撃を防止するアドレス生成方法、アドレス生成システム、通信装置に関する。
本発明は特に、アドレステスト要求側通信装置が複数のアドレスを持ち、要求メッセージ内に応答メッセージの送信先を含めることができ、要求メッセージを送信する送信元アドレスと、その要求メッセージに対する応答メッセージの受信アドレスとが異なる場合に、不正な第3者からの送信要求による攻撃を防止する通信方法、通信システム、通信装置及び相手先通信装置に関する。
従来、IPネットワークを利用したプロトコルでは、メッセージやデータなどを要求する要求側通信装置から応答側通信装置に要求メッセージを送信し、応答側通信装置から要求側通信装置に応答メッセージを送信する場合、要求メッセージの送信元アドレスと応答メッセージの送信先アドレスとは同じアドレスであることが普通であった。しかしながら、一つの通信装置が複数の通信用インタフェースをもち、それぞれの通信インタフェースに別のアドレスを割り当てられることや、一つの通信用インタフェースであっても複数のアドレスを割り当てられるといった使用方法が用いられるようになっている。このような状況では、要求メッセージの送信元アドレスと、それに対する応答メッセージの送信先アドレスが異なるという通信方法も利用される機会が多くなると考えられる。
また、通信網と放送網の相互利用が進んだ場合、双方向通信の可能な通信網経路と、片方向通信のみ可能な放送網経路が混在する環境が考えられる。この場合、片方向通信のみ可能な経路を効果的に活用しようとしたとき、その片方向経路ではどちらか一方向にしかメッセージを流せないため、要求メッセージと応答メッセージの両方が同じ経路を流れることができず、要求メッセージと応答メッセージのどちらか一方だけが、この片方向経路を流れるという状況が発生し得る。つまり、要求メッセージの送信元アドレスと応答メッセージの送信先アドレスが異なる状況が発生し得る。
要求メッセージの送信元アドレスと応答メッセージの送信先アドレスが異なる場合に問題となることは、サービス妨害攻撃(Denial of Service Attack)に利用される可能性があることである。特に、要求メッセージ内に応答メッセージの送信先アドレスを含めるという方法をとった場合、攻撃者は、ターゲットのアドレスを要求メッセージの送信元アドレスにセットして、応答側通信装置に要求メッセージを送信すれば、応答側通信装置からターゲットに対して、ターゲットにとっては不要なメッセージを送りつけることが容易に可能となる。
本発明は、この課題を解決するための技術である。本明細書では、特にモバイルIPの経路最適化(下記の非特許文献1)を片方向経路で使用できるように拡張した場合を例にして、従来技術と従来技術では解決できなかった課題とを詳細に説明する。
<モバイルIPのバインディング更新処理とバインディング更新前処理>
従来、通信装置が移動しても移動前と同じIPアドレスを使い続けることができる技術としてモバイルIPが存在する。モバイルIPでは、ホームエージェント(home agent:以下、HAとも言う)が移動通信装置(mobile node:以下、MNとも言う)のホームアドレス(home address:以下、HoAとも言う)宛のパケットを受信し、移動通信装置の気付アドレス(care-of address:以下、CoAとも言う。また本明細書内では移動先アドレスとも呼ぶ)に転送する。このため、移動通信装置は移動に伴うアドレス変更によらず、ホームアドレスを用いた通信を継続できる。
また、パケットがホームエージェントを経由することによって移動通信装置と相手先通信装置(correspondent node:以下、CNとも言う)の通信経路が遠回りになることを改善するために、移動通信装置と相手先通信装置の通信経路を直接結ぶ経路最適化(Route Optimization)技術が存在する。この経路最適化技術は、相手先通信装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させることによって、気付アドレスを用いて通信することを特徴とする。この相手先通信装置に移動通信装置のホームアドレスと気付アドレスの対応関係を記憶させる処理は、バインディング更新処理(Binding Update:以下、BUとも言う)と呼ばれている。
相手先通信装置に対するバインディング更新処理では、ホームエージェントに対するバインディング更新処理とは異なり、バインディング更新前処理(Return Routability Procedure)を必要としている。ホームエージェントと移動通信装置との間では、信頼関係をあらかじめ築いておくことができるため、このバインディング更新前処理を必要としない。この理由は、ホームエージェントに対するバインディング更新処理においては、移動通信装置が、ホームアドレスに対する新しい気付アドレスをホームエージェントに通知したとき、ホームエージェントは事前に確立しておいた信頼関係(IPsec SA(Security Association)など)によって移動通信装置からのバインディング更新要求であることを確認することができるからである。
一方、相手先通信装置の場合、バインディング更新処理を行う前に、すべての接続可能性のある通信装置に対して信頼関係を確立しておくことは困難である。もし、信頼関係がない状態で相手先通信装置がバインディング更新の要求に従ってしまうならば、移動通信装置に成りすました攻撃が容易になる。これを防ぐ技術がバインディング更新前処理(Return Routability Procedure)である。バインディング更新前処理では、ホームアドレステスト処理(Home Test;以下、HoTともいう)と気付アドレステスト処理(Care-of Test;以下、CoTともいう)を行う。ホームアドレステストによってホームアドレスで送受信可能なこと、気付アドレステストを利用して気付アドレスで送受信可能なことを確認することによって、不正なバインディング更新処理を防いでいる。上記に従来技術として説明した、モバイルIP、経路最適化(Route Optimization)、バインディング更新前処理(Return Routability Procedure)については、RFC3775(下記の非特許文献1)に記載されている。また、バインディング更新前処理の設計思想については、RFC4225(下記の非特許文献2)に記載されている。
RFC3775 "Mobility Support in IPv6" RFC4225 "Mobile IP Version 6 Route Optimization Security Design Background"
<モバイルIPの経路最適化の片方向経路対応>
しかしながら、モバイルIPの経路最適化技術(Route Optimization)は、非対称ネットワークでは使えなかった。経路最適化(Route Optimization)を行うためには、双方向の経路到達性(Reachability)が必要であったため、衛星通信やデジタルテレビ放送などのような非対称な片方向だけデータが流れる経路では、バインディング更新処理が行えなかった。
例えば移動通信装置から相手先通信装置の方向にだけ通信可能な場合、BU(Binding Update)メッセージは相手先通信装置に届くが、BA(Binding Acknowledgement)メッセージは移動通信装置に届かない。そのため、移動通信装置は相手先通信装置に対してバインディング更新処理を行うことができない。また、気付アドレステスト処理を開始するためのCoTI(Care-of Test Init)メッセージは相手先通信装置に届くが、CoT(Care-of Test)メッセージは移動通信装置に届かないため、バインディング更新前処理を行うことができないといった問題があった。逆に、相手先通信装置から移動通信装置の方向にだけ通信可能な場合、BUメッセージが相手先通信装置に届かないため、バインディング更新処理を行うことができない。また、CoTIメッセージが相手先通信装置に届かないため、バインディング更新前処理を行うことができないといった問題があった。このように片方向だけ通信可能な経路の場合には、バインディング更新前処理、バインディング更新処理を行うことができなかった。そのために通信可能な片方向経路を利用して経路最適化(Route Optimization)を行うことができなかった。
ここで、移動通信装置から相手先通信装置の方向にのみ片方向通信可能な場合と、相手先通信装置から移動通信装置の方向にのみ片方向通信可能な場合について、それぞれ下記の解法(1)、(2)が考えられる。
(1)移動通信装置から相手先通信装置の方向にのみ片方向通信可能な場合では、ホームアドレステスト処理の結果から生成される鍵を用いて、気付アドレステスト処理の要求メッセージCoTI(以下CoTIαと呼ぶ)に認証コードを付加する。この要求メッセージCoTIαを受信した相手先通信装置は、認証コードを確認することによって、この要求メッセージCoTIαの送信者がホームアドレステスト処理を行ったことを確認する。ホームアドレステスト処理は、ホームアドレス(HoA)で送受信を行ったことを確認するためのテストである。相手先通信装置は、ホームアドレス宛に送信したメッセージを移動通信装置が正しく受信したことを、この認証コードによって確認できる。相手先通信装置は、気付アドレステスト処理の要求メッセージCoTIαを受信し、応答メッセージCoT(以下CoTαと呼ぶ)を返信する。要求メッセージCoTIαの送信元アドレスは、気付アドレスCoAであり、応答メッセージの送信先アドレスはホームアドレスHoAである。相手先通信装置は、要求メッセージの送信元アドレスCoAと応答メッセージの送信先アドレスHoAが異なるが、ホームアドレスHoAでの送受信を確認するホームアドレステスト処理の結果を示す認証コードが要求メッセージに付加されていることから、応答メッセージCoTαをホームアドレスHoAに送信しても安全であると判断することができる。
(2)次に、逆向きとなる相手先通信装置から移動通信装置の方向に片方向通信可能な場合には、上記の場合と同様、ホームアドレステスト処理の結果から生成される鍵を用いて、気付アドレステスト処理の要求メッセージCoTI(以下CoTIβと呼ぶ)に認証コードを付加し、さらに応答メッセージCoT(以下CoTβと呼ぶ)に要求メッセージの送信元アドレスを付加する。要求メッセージCoTIβの送信元アドレスはホームアドレスHoAであり、応答メッセージCoTβの送信先アドレスは気付アドレスCoAである。要求メッセージCoTIβを受信した相手先通信装置は、要求メッセージの送信元アドレスがホームアドレスHoAであることを確認し、さらに要求メッセージCoTIβに含まれる認証コードから、確かにホームアドレスHoAで送受信を行っている端末から送信された要求メッセージCoTIであることを確認する。この確認したホームアドレスHoAを応答メッセージCoTβに付加し、気付アドレスCoAに送信する。もし、他端末を攻撃しようと第三の端末(ターゲット)のアドレスを気付アドレスCoAとして指定して、気付アドレステスト処理の応答メッセージCoTβを第三の端末(ターゲット)に送信させたとしても、第三の端末(ターゲット)は即座に攻撃者のアドレスがHoAであることを知ることができる。攻撃者のアドレスHoAは、ホームアドレステスト処理により攻撃者が送受信したことが確認できているため、攻撃者を特定することが容易にでき、このためリフレクション攻撃に利用することを抑止する効果があると考えられる。
上記の解法(1)、(2)は、不正なバインディング・キャッシュの設定を防ぎ、片方向経路においても経路最適化を可能にする。しかしながら、解法(2)では、応答メッセージCoTβが攻撃に利用される可能性がある。2つの片方向経路のうち問題がないのは、片方向経路の向きが移動通信装置から相手先通信装置の向きの場合である。この場合には、応答側通信装置である相手先通信装置は、応答先アドレスを認証し確認してから応答メッセージを送信している。応答先アドレスはホームアドレステスト処理によって要求者に届くことが確認されている。
一方、片方向経路の向きが逆の相手先通信装置から移動通信装置の向きの場合には、応答先アドレスの確認が行えていない。解法(2)では、応答メッセージCoTβの中に要求メッセージCoTIβのアドレスを含むことによって、リフレクション攻撃に利用することを抑止しようと試みている。つまり、応答メッセージCoTβを送信する前に防止することができていない。
<モバイルIPの経路最適化の片方向経路対応以外の場合の課題>
上記ではモバイルIPの経路最適化の片方向経路対応の場合について説明したが、上述した課題はそれ以外の場合にも発生しうる。つまり、第1の通信装置が第2の通信装置に要求メッセージを送信し、その要求メッセージの中で応答メッセージの送信先を指示している場合である。第2の通信装置が指示された要求メッセージ内の応答メッセージ送信先に応答メッセージを送信したとき、その指示された応答メッセージの送信先に攻撃対象のターゲットが存在し、第2の通信装置は攻撃者(第1の通信装置)の指示に従ってターゲットに不要なメッセージを送信してしまう。ターゲットにされた端末は帯域を無駄に消費され、サービス妨害の被害を受ける。第2の通信装置はターゲットを攻撃するつもりはなかったにもかかわらず、攻撃者に利用されターゲットへの攻撃を助けてしまうという状況が発生しうる。
本発明は上記従来技術の問題点に鑑み、データやメッセージの送信側が受信側からの送信要求内の宛先アドレスを確認して、不正な第3者からの送信要求による攻撃を防止することができるアドレス生成方法、アドレス生成システム、通信装置を提供することを目的とする。
本発明はまた、上記従来技術の問題点に鑑みてなされたものであり、不正な第3者からの送信要求に対して従来技術と同等程度に安全性を保ちながら、経路最適化を可能とするバインディング更新前処理を行うことができる通信方法、通信システム、通信装置及び相手先通信装置を提供することを目的とする。
本発明はまた、アドレステスト要求側通信装置が複数のアドレスを持ち、要求メッセージ内に応答メッセージの送信先を含めることができ、要求メッセージを送信する送信元アドレスと、その要求メッセージに対する応答メッセージの受信アドレスとが異なる場合に、不正な第3者からの送信要求による攻撃を防止することができる通信方法、通信システム、通信装置及び相手先通信装置を提供することを目的とする。
本発明のアドレス生成方法は上記目的を達成するために、第2の通信装置が、第1の通信装置に対して前記第1の通信装置が新しいアドレスを生成するためのアドレス生成情報を送信するステップと、
前記第1の通信装置が前記第2の通信装置から受信した前記アドレス生成情報に基づいて前記第1の通信装置の前記アドレスを生成して前記第2の通信装置に送信するステップと、
前記第2の通信装置が前記第1の通信装置から受信した前記第1の通信装置の前記アドレスを、前記第1の通信装置に送信した前記アドレス生成情報に基づいて生成したアドレスと比較するステップとを、
備えた。
この構成により、データやメッセージの送信側が受信側からの送信要求内の宛先アドレスを確認して、不正な第3者からの送信要求による攻撃を防止することができる。
また、前記第1及び第2の通信装置はそれぞれ、移動通信装置とその相手先通信装置であり、
前記第1の通信装置の前記アドレスは、前記移動通信装置と前記相手先通信装置の間で経路最適化を行うステップを更に有することを特徴とする。
この構成により、不正な第3者からの送信要求に対して従来技術と同等程度に安全性を保ちながら、経路最適化を可能とするバインディング更新前処理を行うことができる。また、アドレステスト要求側通信装置が複数のアドレスを持ち、要求メッセージを送信する送信元アドレスと、その要求メッセージに対する応答メッセージの受信アドレスとが異なり、要求メッセージ内に応答メッセージの送信先を含む場合に、不正な第3者からの送信要求による攻撃を防止することができる。
また、前記アドレス生成情報は、前記経路最適化ステップにおける前記相手先通信装置から前記移動通信装置に送信するホームアドレステスト応答メッセージ内に含まれるホームトークンであることを特徴とする。
この構成により、経路最適化を可能とするバインディング更新前処理を行う場合、特別なアドレス生成情報を付加することなく、移動通信装置の気付アドレスを生成することができる。
また、本発明のアドレス生成システムは上記目的を達成するために、第2の通信装置が、第1の通信装置に対して前記第1の通信装置が新しいアドレスを生成するためのアドレス生成情報を送信するユニットと、
前記第1の通信装置が前記第2の通信装置から受信した前記アドレス生成情報に基づいて前記第1の通信装置の前記アドレスを生成して前記第2の通信装置に送信するユニットと、
前記第2の通信装置が前記第1の通信装置から受信した前記第1の通信装置の前記アドレスを、前記第1の通信装置に送信した前記アドレス生成情報に基づいて生成したアドレスと比較するユニットとを、
備えた構成とした。
また、本発明の通信装置は上記目的を達成するために、新しいアドレスを生成するためのアドレス生成情報を相手先通信装置から受信するユニットと、
前記アドレス生成情報に基づいて前記アドレスを生成し、前記相手先通信装置に対して前記相手先通信装置が前記アドレス生成情報に基づいて生成したアドレスと比較するための情報を送信するユニットとを備えた構成とした。
また、本発明の相手先通信装置は上記目的を達成するために、一方の通信装置に対して、前記一方の通信装置の新しいアドレスを生成するためのアドレス生成情報を送信するユニットと、
前記一方の通信装置が前記アドレス生成情報に基づいて前記一方の通信装置のアドレスを生成して送信した場合、前記アドレスを受信して、前記一方の通信装置に送信した前記アドレス生成情報に基づいて生成したアドレスと比較するユニットとを、
備えた構成とした。
本発明の通信方法は上記目的を達成するために、第2の通信装置が、第1の通信装置の第2のアドレスを生成するためのアドレス生成情報を作成し、前記アドレス生成情報を含むアドレス生成情報メッセージを前記第1の通信装置の第1のアドレスに送信するアドレス生成情報送信ステップと、
前記第1の通信装置が前記アドレス生成情報メッセージ内の前記アドレス生成情報に基づいて前記第2のアドレスを生成して、前記第2のアドレスを応答メッセージ送信先として指示する応答先指定要求メッセージを前記第1のアドレスから前記第2の通信装置に送信する応答先指定要求メッセージ送信ステップと、
前記第2の通信装置が前記応答先指定要求メッセージを受信して、前記応答先指定要求メッセージ内の前記第2のアドレスを、前記アドレス生成情報に基づいて生成されるアドレスと比較して、応答先指定応答メッセージを前記第1の通信装置の前記第2のアドレスに送信する応答先指定応答メッセージ送信ステップとを、
有することを特徴とする。
また、前記アドレス生成情報が前記第2の通信装置のみが保持している秘密情報と前記第2の通信装置が一定時間間隔で生成する乱数から生成されることを特徴とする。このため、第1の通信装置が第2のアドレスがどのようなアドレスになるか予測できない。これによってDoS攻撃を行うことがさらに不可能になる。
また、前記アドレス生成情報が、モバイルIPで経路最適化を行う際のバインディング処理に使用されるホームトークンであることを特徴とする。
また、前記第2のアドレスが前記第1の通信装置の受信専用の片方向経路のアドレスであることを特徴とする。
本発明の通信システムは上記目的を達成するために、第2の通信装置が、第1の通信装置の第2のアドレスを生成するためのアドレス生成情報を作成し、前記アドレス生成情報を含むアドレス生成情報メッセージを第1の通信装置の第1のアドレスに送信するアドレス生成情報送信ユニットと、
前記第1の通信装置が前記アドレス生成情報メッセージ内の前記アドレス生成情報に基づいて前記第2のアドレスを生成して、前記第2のアドレスを応答メッセージ送信先として指示する応答先指定要求メッセージを前記第1のアドレスから前記第2の通信装置に送信する応答先指定要求メッセージ送信ユニットと、
前記第2の通信装置が前記応答先指定要求メッセージを受信して、前記応答先指定要求メッセージ内の前記第2のアドレスを、前記アドレス生成情報に基づいて生成されるアドレスと比較して、応答先指定応答メッセージを前記第1の通信装置の前記第2のアドレスに送信する応答先指定応答メッセージ送信ユニットとを、
有することを特徴とする。
また、本発明の通信装置は上記目的を達成するために、第2のアドレスを生成するために相手先通信装置によって作成されたアドレス生成情報を含む第1のアドレス宛に送信されたアドレス生成情報メッセージを受信するユニットと、
受信した前記アドレス生成情報メッセージの前記アドレス生成情報に基づいて前記第2のアドレスを生成して、前記第2のアドレスを応答先として指定する応答先指定要求メッセージを前記第1のアドレスから前記相手先通信装置に送信するユニットと、
前記相手先通信装置が前記応答先指定要求メッセージ内の前記第2のアドレスを、前記アドレス生成情報に基づいて生成されるアドレスと比較して、前記相手先通信装置から前記第2のアドレスに送信された応答先指定応答メッセージを受信するユニットとを備えた構成とした。
また、本発明の相手先通信装置は上記目的を達成するために、一方の通信装置の第2のアドレスを生成するためのアドレス生成情報を作成し、前記アドレス生成情報を含むアドレス生成情報メッセージを前記一方の通信装置の第1のアドレスに送信するユニットと、
前記アドレス生成情報メッセージを受信した前記一方の通信装置が前記アドレス生成情報メッセージ内の前記アドレス生成情報に基づいて前記第2のアドレスを生成し、前記第2のアドレスを応答先として指定する前記一方の通信装置から送信された応答先指定要求メッセージを受信するユニットと、
前記応答先指定要求メッセージを受信して、前記応答先指定要求メッセージ内の前記第2のアドレスを前記アドレス生成情報に基づいて生成されるアドレスと比較して、応答先指定応答メッセージを前記通信装置の前記第2のアドレスに送信するユニットとを備えた構成とした。
本発明によれば、データやメッセージの送信側が受信側からの送信要求内の宛先アドレスを確認して、不正な第3者からの送信要求による攻撃を防止することができる。
また、不正な第3者からの送信要求に対して従来技術と同等程度に安全性を保ちながら、経路最適化を可能とするバインディング更新前処理を行うことができる。
また、アドレステスト要求側通信装置が複数のアドレスを持ち、要求メッセージを送信する送信元アドレスと、その要求メッセージに対する応答メッセージの受信アドレスとが異なり、要求メッセージ内に応答メッセージの送信先を含む場合に、不正な第3者からの送信要求による攻撃を防止することができる。
以下、図面を参照して本発明の実施の形態について説明する。
<第1の実施の形態>
本技術は、移動通信装置(MN)が移動先でもホームエージェント(HA)に対しては双方向の通信が可能であり、かつ通信相手(CN)に対してはCNからMNの方向の片方向のみの通信が可能である場合に、CNからMNの向きの片方向経路を有効に利用可能にする。図1に示すように、ホームエージェント3と相手先通信装置2の間と移動通信装置1とホームエージェント3の間の経路5、4は、双方向に通信可能な経路であるが、相手先通信装置1と移動通信装置2の間の経路は片方向だけ通信可能な経路6である。その方向は、相手先通信装置2から移動通信装置1の向きだけデータが流れることができる。移動通信装置1から相手先通信装置2にメッセージを送信する場合には、移動通信装置1はホームエージェント3を介してメッセージを送信する必要がある。
従来技術のモバイルIP(Mobile IPv6)では、MN1とCN2の間の経路が双方向に通信可能でなければ経路最適化を行うことができなかった。つまり、必ず遠回りとなるHA3経由でなければデータの通信ができなかった。本技術は、このようなCN3とMN1の間の経路が片方向の経路6の場合であっても、CN3からMN1にパケットを送信する場合に、CN3はHoA宛ではなくCoA宛にデータを送信するようにバインディング・キャッシュの設定を可能にする。
なお、以下ではMN1が移動ノードでHA3が存在する場合について説明するが、例えば図2に示すようにアドレス生成情報要求側の通信装置1aがマルチインタフェースを持つ通信装置で、双方向な通信経路4a(携帯電話網、WLAN、LANなど)に接続可能なインタフェースと、片方向な通信経路6a(放送網など)からデータを受信するインタフェースを持つ場合にも同様の技術を用いることが可能である。図2では、要求側の通信装置1aは、双方向に通信可能なアドレスAddr1(モバイルIPの場合のHoAに相当)と、受信のみ可能なアドレスAddr2(モバイルIPの場合のCoAに相当の両方を持っている。
モバイルIPの経路最適化を行うと、MN1はCN2から片方向経路6でデータを受信できる。モバイルIPの経路最適化では、MN1はCN2にバインディング・キャッシュを設定する。このバインディング・キャッシュには、HoAとCoAがともにMNのアドレスであることと、CN2にHoAではなくCoAにデータを送信するように記載されている。モバイルIPの経路最適化では、このバインディング・キャッシュを攻撃者に不正に設定されないように工夫を施している。しかし、その工夫はMN1とCN2の間が双方向通信可能な経路の場合にしか使うことができない方法である。モバイルIPが採用している「不正にバインディング・キャッシュを設定されないための方法」は図4で後述する。
まず、バインディング・キャッシュが不正に設定された場合にどうなるか、図3を用いて説明する。図3のアドレス生成情報応答側の通信装置2aを、映像データサーバのような大量のデータを送信するサーバと想定してみる。攻撃者7がネットワーク5aを介して通信装置2aに対して、自身のアドレス(HoA)宛のパケットをターゲット1bのアドレス(CoA)に送信するように、不正にバインディング・キャッシュを設定したとする。攻撃者7が通信装置2aにデータの送信を要求すれば、通信装置2aはバインディング・キャッシュの設定に従って、ターゲット1b(CoAあて)に大量のデータを送りつける。このように攻撃者7は、応答側通信装置2aを用いてターゲット1bにサービス妨害攻撃(DoS攻撃)を容易に行うことが可能となる。
バインディング・キャッシュの不正な設定を防ぐ方法として、モバイルIPで採用している方法を図4に示す。モバイルIP(MIPv6)ではHoAとCoAが正しくMN1のアドレスであることをそれぞれ確認するホームアドレステスト処理と気付アドレステスト処理を行う。ホームアドレステスト処理では、
(1)移動通信装置(MN)1がHoAを送信元アドレスとしてHoTIメッセージを相手先通信装置(CN)2に送信し、
(2)相手先通信装置2からHoA宛にHoTメッセージを送信する。
ホームアドレステスト処理を行うことによって移動通信装置1がHoAを送信元としてメッセージを送信し、HoAで応答メッセージを受信したことが分かる。
気付アドレステスト処理では、
(3)移動通信装置(MN)1がCoAを送信元アドレスとしてCoTIメッセージを直接経路で相手先通信装置(CN)2に送信し、
(4)相手先通信装置2からCoA宛にCoTメッセージを直接経路で送信する。
気付アドレステスト処理を行うことによって移動通信装置がCoAを送信元としてメッセージを送信し、CoAで応答メッセージを受信したことが分かる。
(5)移動通信装置1は、ホームアドレステスト処理と気付アドレステスト処理の結果をBUメッセージに含めて相手先通信装置2に直接経路で送信する。BUメッセージはCoAを送信元アドレスとして送出される。
(6)通信相手装置2は、BUメッセージに含まれるホームアドレステスト処理と気付アドレステスト処理の結果を確認(認証)し、移動通信装置1がHoAとCoAの両方で通信可能であることを確認する。相手先通信装置2はBUメッセージの認証後、移動通信装置1のバインディング・キャッシュを設定し、BAメッセージを応答として直接経路で送信する。
以上がモバイルIPの経路最適化のためのバインディング・キャッシュ設定の処理である。
しかしながら、移動通信装置1と相手先通信装置2の間の直接の経路が、片方向のみ通信可能な経路である場合には、モバイルIPのバインディング更新方法は用いることができない。片方向の向きとして、相手先通信装置2から移動通信装置1の向きだけ通信可能な場合、CoTメッセージとBAメッセージは流れることができるが、CoTIメッセージとBUメッセージは流れることができない。そこで、図5B、図5Cに示すようにCoTIメッセージ及びBUメッセージを、HoAを送信元アドレスにしてホームエージェント3経由で送信する方法が考えられる。以下では、ホームエージェント3経由で送信するCoTIメッセージ、BUメッセージをそれぞれCoTIβメッセージ、BUβメッセージと呼ぶ。またこれらの要求メッセージの応答メッセージをそれぞれCoTβメッセージ、BAβメッセージと呼ぶ。
図5Aに示すホームアドレステスト処理では、モバイルIPと同様に
(1)移動通信装置(MN)がHoAを送信元アドレスとしてHoTIメッセージを相手先通信装置(CN)2に送信し、
(2)相手先通信装置2がHoA宛にHoTメッセージを送信する。
ホームアドレステスト処理を行うことによって移動通信装置1がHoAを送信元としてHoTIメッセージを送信し、HoAで応答メッセージを受信したことが分かる。
図5Bに示す気付アドレステスト処理(β)では、
(3)移動通信装置1がCoAを送信元アドレスとしてCoTIβメッセージをホームエージェント(HA)3経由で相手先通信装置(CN)2に送信し、
(4)相手先通信装置2がCoA宛にCoTβメッセージを送信する(直接経路)。
気付アドレステストを行うことによって移動通信装置1がHoAを送信元としてメッセージを送信し、CoAで応答メッセージを受信したことが分かる。
次いで図5Cに示すように、
(5)移動通信装置1はホームアドレステスト処理と気付アドレステスト処理(β)を行うと、その結果をBUβメッセージに含めて相手先通信装置2にHA3経由で送信する。(6)相手先通信装置2は、それぞれのテスト結果を確認し、CoAに送信しても移動通信装置が受信していることを確かめ、バインディング・キャッシュを設定する。そして相手先通信装置2は、応答としてBAβメッセージを直接経路で移動通信装置1に送信する。
この方法によって、相手先通信装置2に不正なバインディング・キャッシュが設定されることを防止することができる。また、BUβメッセージの送信元アドレスはHoAであるのに対して、その応答メッセージ(BAβメッセージ)の送信先アドレスはCoAであるが、気付アドレステスト処理(β)によってCoAに送信しても移動通信装置1に届くことが確認できているため問題はない。最後に残っている問題は、気付アドレステスト処理(β)である。移動通信装置1がCoTIβメッセージを送信する場合、そのCoTIβメッセージには応答の送信先アドレスとしてCoAが記載されている。相手先通信装置2は、CoTIβメッセージを受信し、移動通信装置1の指示どおりCoTβメッセージをCoA宛に送信する。
この気付アドレステスト処理(β)を攻撃者が利用するところを図6を用いて説明する。攻撃者7は、CoTIβメッセージに応答先としてターゲット1bのアドレス(CoA)を指定して、通信装置2aにCoTIβメッセージを送信する。通信装置2aは、CoTIβメッセージの指示に従って、CoAにCoTβメッセージを送信する。この応答先アドレスのCoAは、CoTIβメッセージを受信したとき通信装置2aが初めて知るアドレスであるため、CoAにターゲット7がいるのか正規の移動通信装置1が応答メッセージを待っているのか、通信装置2aには分からない。事前にCoAを通知しておくことも考えられるが、攻撃者7が事前に通知しておくことも考えられるため、防ぐ手立てとはなり得ない。通信装置2にとっては一度CoAに送信してみないと移動通信装置1に届くかどうか分からない。攻撃者7は、この「通信装置2が一度試しに送信してみる」という処理を攻撃に利用する可能性がある。特に、このようなサービス妨害攻撃(DoS攻撃)は、サービスを提供していてアドレスを公開しているサーバが攻撃の対象になりやすい。
本技術は、以上のような問題を解決する。図7を用いて概略を説明する。移動通信装置1は、モバイルIPのホームアドレステスト処理を行う。つまり、
(1)移動通信装置1は相手先通信装置2にHoTIメッセージを送信する。
(2)相手先通信装置は通常のモバイルIPのホームアドレステスト処理を行う。つまり、以下のようにHoTIメッセージの送信元アドレスであるHoAと、相手先通信装置2の秘密鍵(Secret Key)、それと相手先通信装置2が決めた乱数nonceを用いて、HMAC_SHA1によるHash計算を行い、Home Keygen Token(以下ではHome Tokenと記す。)を算出する。
Home Token = SHA1 (HoA, Secret Key, nonce)
相手先通信装置2は、算出したHome Tokenの値とnonceを呼び出すための識別情報nonce-idを応答メッセージのHoTメッセージに含めて送信する。ここまでは通常のモバイルIPと同じである。但し、Home Tokenが移動通信装置1のCoA生成情報として用いられる点が異なる。
<CoAの生成>
次に、移動通信装置1は、受信したHoTメッセージに含まれる情報を用いてCoAの設定を行う。従来の方法では移動通信装置1は、HoTIメッセージを送信する前にCoAを決定していた。本技術のポイントは、移動通信装置1がHoTメッセージを受信してから、HoTメッセージに含まれるHome Tokenを元にしてCoAを生成することである。移動通信装置1は、生成するCoAのネットワークプレフィックスの領域は、変更することができないため、それ以外のホスト識別情報の領域をHome Tokenを用いて生成する。また、生成したCoAと同じアドレスがすでに使用されている場合には、移動通信装置1はそのアドレスを使用することができないため、アドレスの重複が発生した場合に、そのアドレスの衝突を回避するための自由度を与えるデータαを用いてCoAを生成する。つまり、HoTメッセージに含まれていたHome Tokenと自由度を持たせるためのαを用いて、HMAC_SHA1によるHash計算を行い、以下のようにCoAを生成する。
CoA = SHA1 (Home Token, α)
次に移動通信装置1は気付アドレステスト処理(β)を行う。つまり、
(3)移動通信装置1は、生成したCoAと、CoAの生成に用いた情報αをCoTIβメッセージに含めて相手先通信装置2に送信する。また、このCoTIβメッセージには、(2)HoTメッセージで送信されたnonce-idも含まれる。
<CoAの確認>
相手先通信装置2はCoTIβメッセージを受信すると、まず以下のように、Home Tokenの計算を行う。CoTIβメッセージの送信元アドレスはHoAであるため、HoAと、CoTIβメッセージに含まれているnonce-idからnonceを呼び出す。また、相手先通信装置2の秘密鍵を用いる。
Home Token = SHA1 (HoA, Secret Key, nonce)
さらに、生成したHome TokenとCoTIβメッセージに含まれる情報αを用いて、CoAを生成する。
CoA = SHA1 (Home Token, α)
生成したCoAがCoTIβメッセージに含まれるCoAと等しい場合には、相手先通信装置2は、応答メッセージをCoAに送信してよいと判断する。
相手先通信装置2は、CoTIβメッセージの応答としてCoTβメッセージを送信する場合、Care-of keygen token(以下ではCare-of Tokenと記す。)の計算を行う。Care-of Tokenの計算には、CoAと、相手先通信装置2の秘密鍵と、相手先通信装置2が決めた乱数nonce'を用いて、HMAC_SHA1によるHash計算を行う。
Care-of Token = SHA1 (CoA, Secret Key, nonce')
(4)相手先通信装置は、算出したCare-of Tokenの値とnonce'を呼び出すための識別情報nonce'-idを応答メッセージであるCoTβメッセージに含めて送信する。
移動通信装置1は、ホームアドレステスト処理によってHome Tokenを取得する。また、気付アドレステスト処理(β)によってCare-of Tokenを取得する。移動通信装置1は、これらのTokenをもとに鍵データを生成する。
Key = SHA1 (Home Token, Care-of Token)
そして、この鍵データを用いて送信するBUβメッセージのメッセージ認証コード(MAC : Message Authentication Code)を生成する。
MAC = SHA1 (Key, Message Data)
(5)移動通信装置1は、BUβメッセージに応答メッセージの送信先のCoA、Tokenを生成するための情報としてnonce-id, nonce'-id、さらにメッセージ認証コード(MAC)を含めて、相手先通信装置2に送信する。
相手先通信装置2は、BUβメッセージを受信すると、メッセージが正しいかどうか確認処理を行う。まず、Home TokenとCare-of Tokenの計算を行う。BUβメッセージの送信元アドレスはHoAであり、Home Tokenの計算に用いる。また、CoAは応答送信先アドレスとしてBUβメッセージに含まれるため、Care-of Tokenの計算に用いる。
Home Token = SHA1 (HoA, Secret Key, nonce)
Care-of Token = SHA1 (CoA, Secret Key, nonce')
次にこれらのTokenから鍵データ(Key)を生成し、BUβメッセージのメッセージデータとKeyからメッセージ認証コード(MAC)を生成し、BUβメッセージに含まれるメッセージ認証コードと一致するかどうか確かめる。
Key = SHA1 (Home Token, Care-of Token)
MAC = SHA1 (Key, Message Data)
(6)相手先通信装置2は、BUβメッセージに含まれるメッセージ認証コードと、相手先通信装置2が計算した値とが一致した場合には、正しいBUβメッセージであると判断し、HoAとCoAの組であるバインディング・キャッシュを設定し、BUβメッセージの応答メッセージであるBAβメッセージを移動通信装置1に送信する。
以上がホームアドレステスト処理、気付アドレステスト処理(β)及び片方向経路・経路最適化処理の流れの説明である。
上記の応答先アドレス(CoA)の生成方法によって、攻撃者7が気付アドレステスト処理(CoTIβ・CoTβ)を用いて、サービス妨害攻撃を行うことを防ぐことができる。つまり、攻撃者7があるサーバを攻撃しようとして、応答先アドレスとしてサーバのアドレスを指定したとしても、応答側通信装置2aは、その応答先アドレスがHome Tokenから生成できるかどうか確認することによって、応答メッセージを送信する前に止めることができる。
また、攻撃者7は、応答側通信装置2aから返されるHome Tokenを予測することができないため、ターゲットのサーバのアドレスを意図的に生成することは不可能である。Home Tokenは応答側通信装置2aの秘密鍵をもとに生成されていることと、応答側通信装置2aが生成する乱数nonceを用いて生成されていることによって、要求側通信装置には予測不可能である。さらに、乱数nonceはLife Timeをもっており、定期的に異なる値に変更されるため、要求側通信装置にはターゲットのサーバのアドレスを応答先アドレスになるように意図的に操作することは不可能である。
以下では、さらに詳細に技術内容を説明する。最初に、比較のために従来技術であるモバイルIPの方法を図8を用いて簡単に説明する。
<HoTI/CoTI>
まず、図8(1)、(3)にそれぞれ示すように、移動通信装置1は相手先通信装置2にHoTI(Home Test Init)メッセージとCoTI(Care-of Test Init)を送信する。
<HoT/CoT>
相手先通信装置2はHoTIメッセージを受信すると、Home Tokenの計算を次のように行う。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
Kcnは相手先通信装置2のみが知っている鍵データである。Home addressは、HoTIメッセージの送信元アドレスである。Nonceは相手先通信装置2が独自に決めてよい値である。Nonceにどの値を用いたか分かるように、図8(2)に示すように、相手先通信装置2は、nonceの値を識別するための識別情報(home nonce-id)をHoTメッセージに含めて移動通信装置1に通知する。HoTメッセージには、さらにHome Tokenを含める。
同様に、相手先通信装置2はCoTIメッセージを受信すると、Care-of Tokenの計算を次のように行う。
Care-of Token :=
First(64, HMAC_SHA1 (Kcn, (care-of address | nonce | 1)))
相手先通信装置2は図8(4)に示すように、CoTメッセージにCare-of Token、care-of nonce-idを含めて移動通信装置1に送信する。
<BU>
移動通信装置1は、HoTメッセージとCoTメッセージを受信すると、Home TokenとCare-of Tokenを用いて次のように鍵(Kbm)を生成する。
Kbm = SHA1 (Home Token | Care-of Token)
移動通信装置1は、この生成した鍵Kbmを用いてBUメッセージのメッセージ認証コード(MAC)を生成してBUメッセージに付加し、図8(5)に示すように相手先通信装置2に送信する。メッセージ認証コードは次のように生成する。
Authenticator = First (96, HMAC_SHA1 (Kbm, Mobility Data))
Mobility Data = care-of address | correspondent | MH Data
Authenticatorがメッセージ認証コードである。Care-of addressはBUメッセージの送信元アドレスであり、correspondentは相手先通信装置2のアドレスであり、BUメッセージの送信先アドレスである。MH DataはBUメッセージの本体である。
<BUの認証/BA>
移動通信装置1はBUメッセージに、home nonce id、care-of nonce id、home addressを付加して送信する。BUメッセージを受信した相手先通信装置2は、BUメッセージの送信元アドレス(care-of address)と、home nonce idからhome nonceを呼び出し、Home Tokenを生成する。また相手先通信装置2は同様にしてCare-of Tokenを生成する。さらに相手先通信装置2は、これら2つのtokenから鍵(Kbm)を生成する。そしてBUメッセージと鍵(Kbm)を用いてメッセージ認証コードを生成し、移動通信装置1がBUメッセージに付加したメッセージ認証コードと一致するか確認する。メッセージ認証コードが一致することによって、相手先通信装置2はHome Test(HoTIメッセージを送信し、HoTメッセージを受信したこと)と、Care-of Test(CoTIメッセージを送信し、CoTメッセージを受信したこと)との両方を実行した通信装置からの適切なBUメッセージであるとみなし、図8(6)に示すようにバインディング確認(BA)メッセージを移動通信装置1に送信する。
この従来技術におけるモバイルIPのホームアドレステスト処理及び気付アドレステスト処理の設計思想は非特許文献2に記載されている。そのポイントとなるところは次の3点である。
(1)相手先通信装置にステート(State)を持たせないこと。
(2)応答メッセージを倍増させないこと(Amplificationの禁止)。
(3)メッセージの反射を行わないこと(Reflectionの禁止)。
上記(1)の相手先通信装置2にStateを持たせないことは、相手先通信装置2に対するDoS攻撃への防御策である。相手先通信装置2はHoTIメッセージを受信し、HoTメッセージを応答として返す処理では、単純にtokenを計算しているだけである。HoTメッセージを返したあと 、相手先通信装置2が記憶しておかなければならない情報はない。Kcnの値やnonceの値は、複数のHoTIメッセージに対して同じ値を用いることができるため、相手先通信装置2が複数の移動通信装置1から同時にHoTIメッセージを受信したとしても、そのために保持しておかなければならない情報が増えるわけではない。CoTIメッセージを受信し、CoTメッセージを送信する場合においても同様である。相手先通信装置2はBUメッセージを受信すると、BUメッセージに含まれる情報だけを用いてHome Token及びCare-of Tokenを生成し、これら2つのtokenから鍵(Kbm)を生成し、BUメッセージのメッセージ認証コードを生成し、さらにはBUメッセージに付加されているメッセージ認証コードと一致するか確認する。
上記(2)の応答メッセージを倍増させないこと(Amplificationの禁止)は、Home TestとCare-of Testに分けることによって実現している。例えば、移動通信装置1から相手先通信装置2へ1つの要求メッセージを送信して、相手先通信装置2からHoAとCoAに別々の応答メッセージを送信させる方法が思いつくが、この方法の場合、DoS攻撃を行おうとする攻撃者7に、攻撃メッセージを2倍にする装置を提供することになる可能性がある。そのため、モバイルIPでは1つの要求メッセージに1つの応答メッセージを返すように設計されている。
上記(3)のメッセージの反射を行わないこと(Reflectionの禁止)は、応答メッセージを要求メッセージの送信元アドレスに送信することによって実現している。すなわち、HoTメッセージはHoTIメッセージの送信元に返し、CoTメッセージはCoTIメッセージの送信元に返している。要求メッセージの送信元以外のアドレスに応答メッセージを送信することは、攻撃者7が他の通信装置を攻撃するために相手先通信装置2を利用することを可能にする。
本実施の形態は、従来技術のモバイルIPでは不可能だった片方向経路での経路最適化を実現する技術であると同時に、上記3点のセキュリティ対策の維持を目的とする。このうち、相手先通信装置2にStateを持たせないこと、Amplificationを行わないこと、の2点は維持している。また、Reflectionを攻撃に利用できないようにしている。
<メッセージシーケンス>
次に本実施の形態のバインディング・キャッシュ設定のメッセージシーケンスについて説明する。従来のモバイルIPと区別するために、新たにCoTIβメッセージ、CoTβメッセージ、BUβメッセージ、BAβメッセージを定義している。これらのメッセージは従来のモバイルIPのメッセージとは容易に区別できることが望ましい。従来のモバイルIPでは、CoTIメッセージ、CoTメッセージ、BUメッセージ、BAメッセージを図9に示すフォーマットのMH Type を用いて識別している。MH Typeは8bitの情報要素で、0から7までの値が既に次のように割り当てられている(非特許文献1参照)。
0 Binding Refresh Request
1 Home Test Init
2 Care-of Test Init
3 Home Test
4 Care-of Test
5 Binding Update
6 Binding Acknowledgement
7 Binding Error
このため、本技術のために新しく定義したメッセージにも、新しくMH Typeの値を割り当てることによって、それぞれのメッセージを識別できるようにする方法が適していると考えられる。もちろん新しくMH Typeの値を定義することなく、CoTIβメッセージにはCoTIメッセージ(MH Type = 2)、CoTβメッセージにはCoTメッセージ(MH Type = 4)、BUβメッセージにはBUメッセージ(MH Type = 5)、BAβメッセージにはBAメッセージ(MH Type = 6)を用い、宛先アドレスや送信元アドレスまたはメッセージ内の情報要素によって識別することも可能である。またメッセージのヘッダに識別するためのフラグを設けることも可能である。
次に、図10を参照して本発明の処理の流れを説明する。
<HoTI、HoT>
移動通信装置1は、図10(1)に示すようにHoTIメッセージを相手先通信装置2に送信する。
相手先通信装置2はHoTIメッセージを受信すると、Home Tokenの計算を次のように行う。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
相手先通信装置2は図10(2)に示すように、HoTメッセージに、Home Token、home nonce-idを含めて移動通信装置1に送信する。HoTI及びHoTメッセージを用いたホームアドレステストの処理は、モバイルIPと同様の処理である。但し、次のCoA生成処理でHome Tokenが用いられる点が異なる。
<CoA生成処理>
移動通信装置1は、HoTメッセージを受信すると、応答先アドレスとなる気付アドレス(CoA:Care-of Address)を次のように計算する。
Care-of Address :=
First(64, HMAC_SHA1 (Home Token | α))
上記はネットワークプレフィックスのサイズが64ビットの場合の式である。IPv6のアドレスサイズが128ビットであるため、ホスト識別領域は64ビットとなる。上記のCare-of Addressはホスト識別領域のデータである。
移動通信装置1は、CoAを生成したあと、ネットワーク上で同じアドレスを用いた端末がすでに存在しないか、アドレス重複確認処理を行う。このアドレス重複確認処理は、この生成したアドレス宛にメッセージを送信することによって、すでにこのアドレスを使用している端末がいる場合には、応答が返ってくることを利用して、アドレスがすでに他の端末によって使用されていないか確認する。もし、生成したCoAが別の端末によってすでに使用されている場合には、αの値を変更して、再度CoAを生成し、アドレス重複確認処理を行う。この処理は、他の端末によって使用されていないCoAを生成できるまで行う。
<CoTIβ>
図10(3)に示すようにCoTIβメッセージには、CoTメッセージと異なり、CoA、α、home nonce-idが新しく含まれる。CoAは、CoA生成処理によってHome Tokenから生成した応答先アドレスである。αは、CoAを生成するために用いた値である。home nonce-idは、移動通信装置が受信したHoTメッセージに含まれていた値である。
<CoTIβ受信及び応答先アドレスCoAの確認>
CoTIβメッセージを受信した相手先通信装置2は、CoTIβメッセージに含まれるhome nonce-idからhome nonceを呼び出し、CoTIβメッセージの送信元アドレスであるHoAと 併せてHome Tokenを生成する。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
さらに、Home TokenとCoTIβメッセージに含まれていたαを用いて応答先アドレス(care-of address)を生成する。
Care-of Address :=
First(64, HMAC_SHA1 (Home Token | α))
この生成したCare-of Addressが、CoTIβメッセージに含まれる応答先アドレスと一致しない場合には、相手先通信装置2は処理をここで終了し、CoTIβメッセージを破棄する。応答先アドレスと一致する場合には、応答メッセージであるCoTβメッセージの作成を行う。この応答先アドレスの確認処理によって、CoTIβメッセージを送信した端末がホームアドレステスト処理を行い、相手先通信装置2から送られたHome Tokenを用いて応答先アドレスを生成したことを確認する。これによって、相手先通信装置2が攻撃者7に利用されてターゲット1bにCoTβメッセージを送信することを未然に防ぐ。
<CoTβ>
相手先通信装置2は図10(4)に示すように、CoTβメッセージを移動通信装置1のCoAに送信する。CoTβメッセージには、Care-of Tokenとtoken生成に用いたnonceを呼び出すためのcare-of nonce-idが含まれる。Care-of Tokenの計算は次のように行う。
Care-of Token :=
First(64, HMAC_SHA1 (Kcn, (care-of address | nonce | 1)))
<BUβ>
移動通信装置1は、CoTβメッセージを受信し、CoTβメッセージに含まれているCare-of Tokenの値とHoTメッセージに含まれていたHome Tokenの値から鍵データ(Kbm)を生成する。
Kbm = SHA1 (Home Token | Care-of Token)
さらに、この鍵データKbmを用いて、BUβメッセージのメッセージ認証コードを生成し、 図10(5)に示すようにBUβメッセージに付加して相手先通信装置2に送信する。メッセージ認証コードは次のように計算する。
Authenticator = First (96, HMAC_SHA1 (Kbm, Mobility Data))
Mobility Data = care-of address | correspondent | MH Data
Authenticatorはメッセージ認証コードである。home addressはBUβメッセージの送信元アドレスであり、correspondentは送信先アドレスである。MH DataはBUβメッセージの本体である。BUβメッセージには、メッセージ認証コードのほかに、応答先アドレスであるCoA、HoTメッセージに含まれていたhome nonce id、CoTβメッセージに含まれていたcare-of nonce idが含まれる。
<BUβの認証及びBAβの送信>
相手先通信装置2は、BUβメッセージを受信し、home nonce-idと送信元アドレスのhome addressからHome Tokenを生成し、care-of nonce-idとBUβメッセージに含まれるcare-of addressを用いてCare-of Tokenを生成する。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
Care-of Token :=
First(64, HMAC_SHA1 (Kcn, (care-of address | nonce | 1)))
次に、2つのtokenを用いてKbmを生成し、BUβメッセージのメッセージ認証コードを生成し、付加されていたメッセージ認証コードと一致するか確認する。
Kbm = SHA1 (Home Token | Care-of Token)
Authenticator = First (96, HMAC_SHA1 (Kbm, Mobility Data))
Mobility Data = care-of address | correspondent | MH Data
メッセージ認証コードが一致したならば、相手先通信装置2はバインディング・キャッシュの設定を行い、移動通信装置1のCoAに向けて応答メッセージであるBAβメッセージを送信する。一致しない場合には、受信したBUβメッセージを破棄し、受信処理を終了する。以上が本発明の片方向経路での経路最適化を行うバインディング更新処理である。
<メッセージフォーマット>
次に、メッセージフォーマットについて説明する。本発明のCoTIβ、CoTβのメッセージは、従来技術のモバイルIPのCoTIやCoTのメッセージに新しく情報要素を追加している。追加している情報要素は、home nonce id, prefix length, care-of addressである 。これらを格納するためのフォーマットは、従来のモバイルIP(RFC3775)で定義されているメッセージフォーマットをそのまま、又は少し変更することによって利用することができる。
・Home nonce id:RFC3775ではHome Nonce Indexだけを運ぶMobility Optionが定義されていないため、図11に示すように新たにOption Typeを定義する必要がある。
・prefix lengthは、相手先通信装置が2Care-of Addressの比較を行うときに、Care-of Addressをネットワークプレフィックスの領域とホスト識別情報の領域と分離するために必要な情報である。ネットワークプレフィックスのサイズを運ぶ情報要素を図12に示す。
・Care-of address:RFC3775には、Care-of Address Optionが存在しないため、図13に示すように新たにOption Typeを定義する必要がある。Alternate CoA Optionを転用する方法も考えられる。
<バインディング・キャッシュ>
相手先通信装置2が設定するバインディング・キャッシュは、モバイルIPと同じものでかまわない。相手先通信装置2は、従来のモバイルIPと同様、HoA宛のパケットをCoA宛に変更するとともに、拡張ヘッダのルーティングヘッダ(Type 2)を付加する。相手先通信装置2が移動通信装置1から受信するパケットは、HoAを送信元アドレスとする通常のパケットである。一方、移動通信装置1が持つバインディング・キャッシュには、送信元アドレスをCoAに変換してはいけないことを示す情報が必要である。移動通信装置1はホームエージェント3経由でパケットを送信しなければ、相手先通信装置2にパケットが届かないからである。
<相手先通信装置(応答側通信装置)の構成>
図14は相手先通信装置(応答側通信装置)2のメッセージ処理部の構成を示すブロック図である。相手先通信装置2は、次のようなメッセージの送受信を行う。
(1)HoTIメッセージを受信し、CoA生成情報(Home Token)を含むHoTメッセージを送信する。
(2)CoTIメッセージを受信し、CoTメッセージを送信する。
(3)CoTIβメッセージを受信してメッセージ内のCoAを認証し、CoTβメッセージを送信する。
(4)BUメッセージを受信してメッセージ内のメッセージ認証コードを認証し、BAメッセージを送信する。
(5)BUβメッセージを受信してメッセージ内のメッセージ認証コードを認証し、BAβメッセージを送信する。
(1)、(2)、(4)のメッセージ送受信処理は、MIP BU/RR処理部13(及びメッセージ受信部11、メッセージ送信部12)において行う。(3)、(5)のメッセージ送受信処理は、片方向BU/RR拡張処理部13a(及びメッセージ受信部11、メッセージ送信部12)において行う。HoT、CoT、CoTβメッセージの送信処理においてtoken, nonce idをメッセージに付加する場合、Nonce管理部14及びToken生成部15よりデータを取得する。Token生成部15は、Nonce管理部14よりNonceの値を取得し、受信した要求メッセージから取得したアドレスと鍵データKcnよりTokenの値を計算する。Nonce管理部14は、Token管理部14に渡したNonceの値に対応するNonce IDの値をMIP BU/RR処理部13に渡す。Token生成部15は、要求側通信装置1からの応答先アドレス生成情報の要求に応えてHome tokenを生成しているため、応答先アドレス生成情報生成部として機能している。
CoTIβメッセージの受信処理において、応答先アドレスの確認処理を行う場合、CoTIβメッセージに含まれるhome nonce-idをNonce管理部14に渡し、Nonceの値を取得する。取得したNonceの値とCoTIβメッセージの送信元アドレスであるHoAをToken生成部15に渡し、Tokenの値を取得する。取得したTokenの値とCoTIβメッセージに含まれる情報αを応答先アドレス確認部20に渡し応答先アドレス(CoA)を生成し、その生成したアドレスとCoTIβメッセージに含まれる応答先アドレスと一致するか比較する。比較する領域は、応答先アドレスからネットワークプレフィックスの領域を除いたホスト識別子の領域である。
BU、BUβメッセージの受信処理においてメッセージ認証コードの作成と確認(認証)を行う場合、BU、BUβメッセージに含まれるhome nonce-idとcare-of nonce-idをNonce管理部14に渡し、home nonce, care-of nonceの値をそれぞれ取得する。取得したNonceの値とBU、BUβメッセージ内に含まれるHome Address及びCare-of AddressをToken生成部15にそれぞれ渡し、Home Token及びCare-of Tokenを生成する。取得した2つのtokenをKbm生成部16に渡し、Kbmを生成する。生成したKbm及び受信したメッセージをメッセージ認証コード(MAC)確認部18に渡し、MACの値を計算する。そしてBU、BUβメッセージ内に含まれているMACの値と比較し、一致するかどうかチェックする。MACのチェックに成功した場合には、Home AddressとCare-of Addressの対応関係をバインディング・キャッシュ(Binding Cache)19(及び片方向RO拡張部19a)に登録する。
<移動通信装置(要求側通信装置)の構成>
図15は移動通信装置(要求側通信装置)1のメッセージ処理部の構成を示すブロック図である。移動通信装置1は、次のようなメッセージの送受信を行う。
(1)HoTIメッセージを送信し、CoA生成情報(Home Token)を含むHoTメッセージを受信する。
(2)CoTIメッセージを送信し、CoTメッセージを受信する。
(3)CoA生成情報(Home Token)からCoAを生成して、CoAを含むCoTIβメッセージを送信し、CoTβメッセージを受信する。
(4) メッセージ認証コードを含むBUメッセージを送信し、BAメッセージを受信する。
(5)メッセージ認証コードを含むBUβメッセージを送信し、BAβメッセージを受信する。
(1)、(2)、(4)のメッセージ送受信処理は、MIP BU/RR処理部23(及びメッセージ受信部21、メッセージ送信部22)において行う。(3)、(5)のメッセージ送受信処理は、片方向BU/RR拡張処理部23aにおいて行う。HoTI、CoTI、CoTIβメッセージの送信処理では、Cookie生成部24により作成したCookieの値をHoTI、CoTI、CoTIβメッセージに入れる。メッセージに含めるCookieは、相手先通信装置2が応答メッセージに同じ値を含めて移動通信装置1に返すことになっている。これによって移動通信装置1は、要求メッセージと応答メッセージの対応づけを行うことができる。応答先アドレス生成情報要求部29は、(1)のHoTIメッセージ送信で要求し、また、応答先アドレス生成部30は、(3)においてCoA生成情報(Home Token)からCoAを生成する。
HoTIメッセージの送信処理では、Home Tokenを要求する処理が、応答先アドレス生成情報(Home Token)を応答側通信装置2に要求するための処理であり、応答先アドレス生成情報要求部29が存在していると見ることができる。HoTメッセージの受信処理では、移動通信装置1はHoTメッセージに含まれるHome Tokenを応答先アドレス生成部30に渡して、応答先アドレス(CoA)を生成する。CoTIβメッセージの送信処理では、応答先アドレス生成部30より作成した応答先アドレスと応答先アドレス生成に用いた情報αを取得し、CoTIβメッセージに付加して送信する。
BU、BUβメッセージ送信処理においては、受信したHoTメッセージ及びCoTβメッセージから取得したHome Token及びCare-of TokenをKbm生成部25に渡し、Kbmを生成する。さらに送信するBU、BUβメッセージと作成したKbmをメッセージ認証コード生成部26に渡し、メッセージ認証コードを作成する。作成したメッセージ認証コードはBU、BUβメッセージに付加し送信する。Binding Cache管理部27(及び片方向RO拡張部28)は、相手先通信装置2のBinding Cache19を管理する。
<その他の使用例1>
なお、本明細書では、移動通信装置1が最初から片方向経路最適化を行うことを想定して動作する場合について説明したが、移動通信装置1が片方向経路であるかどうか知らない場合についても利用可能である。移動通信装置1は、従来のモバイルIPの処理を行い、HoTIメッセージとCoTIメッセージを送信する。移動通信装置1は、HoTメッセージは受信するが、CoTメッセージを受信できない場合、再度CoTIメッセージを送信しなおすといった処理を行うことが考えられる。このとき移動通信装置1は、片方向経路(相手先通信装置2から移動通信装置1の向きに片方向だけ通信可能な経路の場合)であっても経路最適化を行うかどうか判定を行い、片方向経路最適化を行う場合には、CoTIβメッセージを送信する。この後の処理は、本明細書で説明した処理と同じである。
<その他の使用例2>
図2に示すように移動通信装置(MN)1が複数のインタフェースを持つ端末のときには、ホームエージェント3が存在しないときにでも片方向経路最適化を実行してもよい。移動通信装置1が2種類のインタフェースを持っているとする。2種類のインタフェースは例えば、携帯電話網に接続するインタフェースと地上波デジタルテレビ放送を受信するインタフェースとする。そして、携帯電話網側のインタフェースに割り当てられたアドレスをIP(携帯)とし、地上波デジタル放送側のインタフェースをIP(放送)とする。IP(携帯)は双方向通信可能なアドレスである。一方、IP(放送)はダウンリンクのみ通信可能なアドレスである。このとき、移動通信装置1である携帯電話は、IP(携帯)をHoAとして、IP(放送)をCoAとみなして片方向経路最適化手順を実行することができる。
なお、本明細書ではCoTIβメッセージに対して応答メッセージを送信するかどうかのチェックに応答先アドレスが正しく生成されているかどうか確認する方法について説明したが、これは応答側通信装置(相手先通信装置)2がHoAとCoAの組合せを知らない場合にも使える方法である。例えば、すでに相手先通信装置2が移動通信装置1のバインディング・キャッシュを設定されている場合には、相手先通信装置2はCoA宛に送信しても移動通信装置1にパケットが届くことがわかっている。このような場合には、相手先通信装置2は、応答先アドレスを確認するのではなく、すでに移動通信装置1のバインディング・キャッシュが設定されているかどうか確認し、その登録されているHoAとCoAの組と一致しているかどうか確認する方法も可能である。このようにバインディング・キャッシュが設定されているかどうかを確認する方法も併用する場合には、CoTIβメッセージにフラグを設けて、すでにバインディング・キャッシュに登録しているかどうか、相手先通信装置2が即座にバインディング・キャッシュをチェック開始できるようにしてもよい。
モバイルIPではバインディング・キャッシュにLife Timeを設けているため、移動通信装置1は一定間隔ごとにCoTIβメッセージを相手先通信装置2に送信しなければならない。このため、バインディング・キャッシュに登録されているかどうか確認する方法と、応答先アドレスが正しく生成されているかどうか確認する方法との併用は、CoTIβメッセージ受信時にCoTβメッセージを応答としてCoAに送信してよいかどうか判定する方法として利用効果がある。
また、本発明は、移動通信装置と相手先通信装置との間で移動通信装置のホームエージェントを介さない両方向の直接経路で通信を行う経路最適化を行う場合にも適用することができる。この場合の通信方法、通信システム、移動通信装置及び相手先通信装置の構成を以下に示す。
(1)通信方法:
移動通信装置と相手先通信装置との間で前記移動通信装置のホームエージェントを介さない直接経路で通信を行う経路最適化を行う通信方法において、
前記移動通信装置が前記ホームエージェントを介して、ホームアドレステスト要求(HoTI)メッセージを前記相手先通信装置に送信し、前記相手先通信装置が前記ホームアドレステスト要求メッセージに応答して、前記移動通信装置の気付アドレスを生成するためのアドレス生成情報を含むホームアドレステスト応答(HoT)メッセージを前記ホームエージェントを介して前記移動通信装置に送信するホームアドレステストステップと、
前記移動通信装置が前記ホームアドレステスト応答メッセージ内の前記アドレス生成情報に基づいて気付アドレスを生成して、前記気付アドレスを含む気付アドレステスト要求(CoTIβ)メッセージを前記直接経路で前記相手先通信装置に送信し、前記相手先通信装置が前記気付アドレステスト要求メッセージ内の前記気付アドレスを、前記ホームアドレステスト応答(CoTβ)メッセージで送信した前記アドレス生成情報に基づいて生成した気付アドレスと比較して、一致すると確認した場合に気付アドレステスト応答メッセージを前記直接経路で前記移動通信装置に送信する気付アドレステストステップとを、
有することを特徴とする通信方法。
(2)通信システム:
移動通信装置と相手先通信装置との間で前記移動通信装置のホームエージェントを介さない直接経路で通信を行う経路最適化を行う通信システムにおいて、
前記移動通信装置がホームアドレステスト要求メッセージを前記ホームエージェントを介して前記相手先通信装置に送信し、前記相手先通信装置が前記ホームアドレステスト要求メッセージに応答して、前記移動通信装置の気付アドレスを生成するためのアドレス生成情報を含むホームアドレステスト応答メッセージを前記ホームエージェントを介して前記移動通信装置に送信するホームアドレステストユニットと、
前記移動通信装置が前記ホームアドレステスト応答メッセージ内の前記アドレス生成情報に基づいて気付アドレスを生成して、前記気付アドレスを含む気付アドレステスト要求メッセージを前記直接経路で前記相手先通信装置に送信し、前記相手先通信装置が前記気付アドレステスト要求メッセージ内の前記気付アドレスを、前記ホームアドレステスト応答メッセージで送信した前記アドレス生成情報に基づいて生成した気付アドレスと比較して、一致すると確認した場合に気付アドレステスト応答メッセージを前記直接経路で前記移動通信装置に送信する気付アドレステストユニットとを、
有することを特徴とする通信システム。
(3)移動通信装置:
移動通信装置と相手先通信装置との間で前記移動通信装置のホームエージェントを介さない直接経路で通信を行う経路最適化を行う通信システムにおける前記移動通信装置であって、
ホームアドレステスト要求メッセージを前記ホームエージェントを介して前記相手先通信装置に送信するユニットと、
前記相手先通信装置が前記ホームアドレステスト要求メッセージに応答して、前記移動通信装置の気付アドレスを生成するためのアドレス生成情報を含むホームアドレステスト応答メッセージを前記ホームエージェントを介して前記移動通信装置に送信した場合、前記ホームアドレステスト応答メッセージを受信するユニットと、
前記受信した前記ホームアドレステスト応答メッセージ内の前記アドレス生成情報に基づいて気付アドレスを生成して、前記気付アドレスを含む気付アドレステスト要求メッセージを前記直接経路で前記相手先通信装置に送信するユニットとを備え、
前記相手先通信装置が前記気付アドレステスト要求メッセージ内の前記気付アドレスを、前記ホームアドレステスト応答メッセージで送信した前記アドレス生成情報に基づいて生成した気付アドレスと比較して、一致すると確認した場合に気付アドレステスト応答メッセージを前記直接経路で前記移動通信装置に送信するようにした移動通信装置。
(4)相手先通信装置:
移動通信装置と相手先通信装置との間で前記移動通信装置のホームエージェントを介さない直接経路で通信を行う経路最適化を行う通信システムにおける前記相手先通信装置であって、
前記移動通信装置がホームアドレステスト要求メッセージを前記ホームエージェントを介して前記相手先通信装置に送信した場合、前記ホームアドレステスト要求メッセージを受信するユニットと、
前記受信した前記ホームアドレステスト要求メッセージに応答して、前記移動通信装置の気付アドレスを生成するためのアドレス生成情報を含むホームアドレステスト応答メッセージを前記ホームエージェントを介して前記移動通信装置に送信するユニットと、
前記移動通信装置が前記ホームアドレステスト応答メッセージ内の前記アドレス生成情報に基づいて気付アドレスを生成して、前記気付アドレスを含む気付アドレステスト要求メッセージを前記直接経路で前記相手先通信装置に送信した場合、前記気付アドレステスト要求メッセージを受信するユニットと、
前記受信した前記気付アドレステスト要求メッセージ内の前記気付アドレスを、前記ホームアドレステスト応答メッセージで送信した前記アドレス生成情報に基づいて生成した気付アドレスと比較して、一致すると確認した場合に気付アドレステスト応答メッセージを前記直接経路で前記移動通信装置に送信するユニットとを、
有する相手先通信装置。
なお、上記実施の形態の説明では移動通信装置を一つの装置として説明したが、複数の近距離通信可能な装置の集合であってもよい。例えば携帯テレビ受像機と携帯電話の組み合わせで、携帯テレビ受像機と携帯電話の間では相互通信を行い、あたかも一つの装置として動作し本発明の処理を行うといった実現方法も考えられる。
次に、上記ではモバイルIPの経路最適化の片方向経路対応の場合について説明したが、他の状況でも利用することができる。図16を用いて処理手順を説明する。要求側の通信装置(第1の通信装置)101と応答側の通信装置(第2の通信装置)102が通信しているとする。要求側通信装置101は、あるアドレス(第1のアドレス)を使って、メッセージを送受信し、応答側通信装置102と通信している。このように通信しているときに、要求側通信装置101が別の新しいアドレス(第2のアドレス)を使って受信したいと希望する。例えばデジタル放送網や衛星通信網などを用いて受信したいといった場合が想定される。モバイルIPの経路最適化を例とした場合にはバインディング・キャッシュを設定して、設定後に新しいアドレスを受信用のアドレスとして使用した。それ以外の使い方として、応答として返されるメッセージが大きく、別のインタフェースの別のアドレスで受信したほうが効率的に通信できるといった使い方が考えられる。要求メッセージの送信元と異なるアドレスに応答メッセージを返して欲しい場合に、要求メッセージに応答先を含めて送信し、応答先の通信装置102がその要求に従って応答メッセージを送信してしまうと、課題のところで述べたように攻撃に利用される危険性がある。
図16において、
(1)要求側通信装置101が新しいアドレスでの応答の受信を希望し、要求側通信装置101は応答側通信装置102にアドレス生成情報を要求するアドレス生成情報要求メッセージ(第1の要求メッセージ)を送信する。
(2)応答側通信装置102はアドレス生成情報の要求を受信し、アドレス生成情報を作成し、応答としてアドレス生成情報メッセージ(第1の応答メッセージ)を要求側送信装置101に送信する。
アドレス生成情報は、要求側送信装置101が予測できない情報であることが望ましい。つまり予測可能な値の場合、攻撃者(第1の通信装置101)がターゲットを決め、そのターゲットを攻撃可能なアドレスを生成できる応答側通信装置102を選び、アドレス生成情報を要求することが考えられるからである。アドレス生成情報を、応答側通信装置102の秘密鍵を用いて生成することは予測を困難にする効果がある。また、定期的に変更する乱数を利用して生成することも予測を困難にする効果がある。
応答側通信装置(第2の通信装置)102からのアドレス生成情報の送信は、要求メッセージの応答として送信するだけではなく、他の理由により送信する場合でもかまわない。例えば定期的にアドレス(第2のアドレス)を変更するような場合、その都度、要求側通信装置101が要求メッセージを送信するのではなく、定期的に応答側通信装置102がアドレス生成情報を送信したほうが効率的である。また、応答側通信装置102の都合によって新しく応答を受信するアドレス(第2のアドレス)を変更させることも考えられる。また、例えば他の第3の通信装置からの指示に従って新しく応答を受信するアドレス(第2のアドレス)を変更させることも考えられる。さらに言えば、ネットワーク環境の変化や通信装置以外からの入力情報によって、アドレス生成情報を送信することも考えられる。
(3)要求側通信装置(第1の通信装置)101は、アドレス生成情報を受信し、アドレス生成情報を用いて応答を受信するためのアドレスを生成する。必要ならば、つまりアドレスの重複が発生する可能性があるならば、生成したアドレスがすでに他の端末に使用されていないか確認する。アドレスの重複が発生する場合には、自由度を与える。例えばαという情報を追加して、次のように第2のアドレスを生成する。
応答先アドレス(第2のアドレス)=SHA1(アドレス生成情報、α)
応答先アドレスにネットワークプレフィックス部が必要ならば、ネットワークプレフィックス部を付加する。この場合にはホスト識別部を、アドレス生成情報を用いて生成する。
要求側通信装置101は、生成した応答を受信するアドレス(第2のアドレス)を応答側通信装置(第2の通信装置)102に応答先指定要求メッセージ(第2の要求メッセージ)に含めて送信する。この応答先指定要求メッセージには、応答側通信装置102が応答先アドレスをアドレス生成情報から生成できるように必要な情報を含める。例えば、第2のアドレス生成に重複を回避するために情報αを用いたのであれば、αを含める。ネットワークプレフィックスを付加したのであれば、ネットワークプレフィックスの長さ、及び/またはネットワークプレフィックスの値を含める。
(4)応答側通信装置(第2の通信装置)102は、応答先指定要求メッセージ(第2の要求メッセージ)を受信し、応答メッセージの送信先に新しいアドレス(第2のアドレス)が指示されている場合には、そのアドレスがアドレス生成情報から生成できるか確認する。必要ならば情報αやネットワークプレフィックスの情報を加えて、アドレスを生成し比較する。
アドレス生成情報は、応答側通信装置(第2の通信装置)102が記憶しておいてもよい。応答先指定要求メッセージ(第2の要求メッセージ)にアドレス生成情報が含まれていてもよい。ただし、応答側通信装置102は自装置が生成したアドレス生成情報であるか確認できる必要がある。そのためにアドレス生成情報を記憶しておいてもよい。また、要求側通信装置(第1の通信装置)101のアドレス(第1のアドレス)を用いて生成しておいてもよい。この場合には応答先指定メッセージ(第2の要求メッセージ)の送信元アドレス(第1のアドレス)からアドレス生成情報を生成することができる。また、アドレス生成情報を記憶するのではなく、その生成に用いた情報を記憶しておいてもよい。例えば、アドレス生成情報の生成に秘密鍵を用いた場合にはその秘密鍵を記憶しておく。また例えば、乱数を生成し、その乱数をアドレス生成情報の生成に用いた場合にはその乱数を記憶しておく。乱数の場合には、アドレス生成情報メッセージ(第1の応答メッセージ)に含めて第1の通信装置101に送信し、応答先指定要求メッセージ(第2の要求メッセージ)に含めて送信してもらうことも考えられる。この場合には、応答側通信装置102は乱数の値を記憶しておく必要はない。
応答先のアドレス(第2のアドレス)がアドレス生成情報から生成できることが確認できた場合には、応答側通信装置102は応答先指定応答メッセージ(第2の応答メッセージ)を指示されたアドレス(第2のアドレス)に送信する。つまり応答先アドレス(第2のアドレス)は、攻撃者(第1の通信装置101)がターゲットをねらって決めたアドレスではなく、応答側通信装置(第2の通信装置)102が生成したアドレス生成情報から作成したアドレスであるため、応答先指定応答メッセージ(第2の応答メッセージ)がターゲットの攻撃に利用される可能性がほとんどないからである。
応答先のアドレス(第2のアドレス)として指定されたアドレスが、アドレス生成情報から生成できなかった場合には、破棄する。または、要求側通信装置(第1の通信装置)101の送信元のアドレス(第1のアドレス)にエラーがあったことを通知してもよい。
以上、モバイルIPの経路最適化の片方向経路対応ではない場合について説明した。
なお上記とモバイルIPの経路最適化の片方向経路対応の場合において、アドレス生成情報要求メッセージ(第1の要求メッセージ)はモバイルIPのHoTIメッセージと、アドレス生成情報メッセージ(第1の応答メッセージ)はモバイルIPのHoTメッセージと、応答先指定要求メッセージ(第2の要求メッセージ)は本発明によるCoTIβメッセージと、応答先指定応答メッセージ(第2の応答メッセージ)は本発明によるCoTβメッセージ、それぞれ対応している。
<第2の実施の形態>
第1の実施の形態では図7(3)に示すように、生成したアドレスCoA(Care-of Address)をCoTIβメッセージによって通知しているが、第2の実施の形態では、CoTIβ/CoTβメッセージを省略し、生成したアドレスCoAをバインディング更新(BUβ)メッセージによって通知する。図17A、図17Bは、気付アドレステスト処理を省略した第2の実施の形態におけるホームアドレステスト処理、BU処理をそれぞれ示す。
図17Aに示すホームアドレステスト処理では、モバイルIPと同様に、
(1)移動通信装置(MN)がHoAを送信元アドレスとしてHoTIメッセージを相手先通信装置(CN)2に送信し、
(2)相手先通信装置2がHoA宛にHoTメッセージを送信する。
ホームアドレステスト処理を行うことによって、移動通信装置1がHoAを送信元としてHoTIメッセージを送信し、HoAで応答メッセージを受信したことがわかる。
図17Bに示すBU処理では、
(3)移動通信装置1がHoAを送信元アドレスとしてBUβメッセージをホームエージェント(HA)3経由で相手先通信装置(CN)2に送信し、
(4)相手先通信装置2がCoA宛にBAβメッセージを送信する(直接経路)。
次に、図18を用いて第2の実施の形態におけるメッセージ処理の概略を説明する。まず、移動通信装置1は、モバイルIPのホームアドレステスト処理を行う。具体的には、次のような処理を行う。
<ホームアドレステスト処理>
(1)移動通信装置1は相手先通信装置2にHoTIメッセージを送信する。
(2)相手先通信装置2は通常のモバイルIPのホームアドレステスト処理を行う。つまり、以下のようにHoTIメッセージの送信元アドレスであるHoA(home address)と、相手先通信装置2の秘密鍵(Kcn)と、相手先通信装置2が決めた乱数nonceを用いて、HMAC_SHA1によるHash計算を行い、Home Keygen Token(以下ではHome Tokenと記す。)を算出する。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
相手先通信装置2は、算出したHome Tokenの値とnonceを呼び出すための識別情報nonce-idを応答メッセージ(HoTメッセージ)に含めて送信する。
<CoAの生成>
次に、移動通信装置1は、受信したHoTメッセージに含まれる情報を用いてCoAの生成を行う。移動通信装置1は、生成するCoAのネットワークプレフィックスの領域は、変更することができないため、それ以外のホスト識別情報の領域をHome Tokenを用いて生成する。また、他のホストが既にアドレスを使用していて、アドレスの重複が発生した場合に、そのアドレスの衝突を回避するためにデータαを用いてCoA(Care-of Address)を生成する。
Care-of Address :=
First(64, HMAC_SHA1 (Home Token | α))
<バインディング更新処理>
(3)移動通信装置1は、生成したCoAと、CoAの生成に用いた情報αと、nonce-idとメッセージ認証コード(MAC: Message Authentication Code)をBUβメッセージに付加して、相手先通信装置2に送信する。MACの生成のために、バインディング管理キーKbmを次のように生成する。CoAの生成ではαを用いているため、KbmとCoAが同一の値になることはない。
Kbm = HMAC_SHA1 (Home Token)
メッセージ認証コードの生成では、BUβメッセージの送信元アドレス(home address)と、宛先アドレス(correspondent node's address)と、メッセージデータ(MH Data)と、生成した鍵データ(Kbm)を用いる。
MAC = First (96, HMAC_SHA1 (Kbm, Mobility Data))
Mobility Data = home address | correspondent | MH Data
<CoAの確認とバインディング・キャッシュの設定>
相手先通信装置2はBUβメッセージを受信すると、まず以下のように、Home Tokenの計算を行う。BUβメッセージに含まれているnonce-idからnonceを呼び出す。BUβメッセージの送信元アドレスHoAと、呼び出したnonceと、相手先通信装置2の秘密鍵(Kcn)を用いてHome Tokenを計算する。
Home Token :=
First(64, HMAC_SHA1 (Kcn, (home address | nonce | 0)))
さらに、生成したHome TokenとBUβメッセージに含まれる情報αを用いて、CoA(Care-of Address)を生成する。
Care-of Address :=
First(64, HMAC_SHA1 (Home Token | α))
生成したCoAがBUβメッセージに含まれるCoAと等しい場合には、相手先通信装置2は、応答メッセージをCoAに送信してよいと判断する。
さらに、相手先通信装置2は、メッセージ認証コードを次のように確認する。まず、生成したHome Tokenを用いて鍵データ(Kbm)を生成する。そして生成した鍵データ(Kbm)とメッセージデータ(Mobility Data)からメッセージ認証コード(MAC)を生成し、BUβメッセージに含まれる認証コードと比較する。
Kbm = HMAC_SHA1 (Home Token)
MAC = First (96, HMAC_SHA1 (Kbm, Mobility Data))
Mobility Data = home address | correspondent | MH Data
ここで、相手先通信装置2は、移動通信装置1のHoAとCoAの組のバインディング・キャッシュを登録するが、CoA宛に送信して移動通信装置1に届くかどうかを確認していない。CoA宛に送信することが、第三の端末に対するリフレクション攻撃とはならないため、相手先通信装置2は攻撃の踏み台に利用されることがない。そのため移動通信装置1が正しくCoAを設定してBUβメッセージに設定すれば、CoAへの到達確認を省略することも可能といえる。また、悪意ある端末がHoTメッセージを盗聴し、BUβメッセージに不正なCoAを設定して相手先通信装置2に送信するという危険に対しては、BUβメッセージの送信元アドレスの改ざんを防ぐことや、盗聴を防ぐネットワーク環境を構築することなどで防ぐことが可能である。アドレスの改ざんを防ぐ方法としてはルータにおいて送信元アドレスをチェックするイングレス・フィルタリングといった技術がある。盗聴を防ぐネットワークとしては、リンクレイヤの暗号化や、ネットワークアクセス時に認証をとり、不特定の端末がネットワークに接続しないようにするなどの方法が考えられる。
(4)相手先通信装置2は、BUβメッセージに対する応答として、BAβメッセージを送信する。
以上が図18を用いたメッセージ処理の概略の説明である。次に、図14及び図15を用いて、第2の実施の形態における相手先通信装置(応答側通信装置)2及び移動通信装置(要求側通信装置)1の動作を説明する。
<相手先通信装置(応答側通信装置)の構成>
図14は相手先通信装置(応答側通信装置)2のメッセージ処理部の構成を示すブロック図である。相手先通信装置2は、次のようなメッセージの送受信を行う。
(1)HoTIメッセージを受信し、CoA生成情報(Home Token)を含むHoTメッセージを送信する。
(2)BUβメッセージを受信してメッセージ内のメッセージ認証コードを認証し、BAβメッセージを送信する。
(1)のメッセージ送受信処理は、MIP BU/RR処理部13(及びメッセージ受信部11、メッセージ 送信部12)において行う。(2)のメッセージ送受信処理は、片方向BU/RR拡張処理部13a(及びメッセージ受信部11、メッセージ送信部12)において行う。HoTメッセージの送信処理においてtoken, nonce idをメッセージに付加する場合、Nonce管理部14及びToken生成部15よりデータを取得する。Token生成部15は、Nonce管理部14よりNonceの値を取得し、受信した要求メッセージから取得したアドレスと鍵データKcnよりTokenの値を計算する。Nonce管理部14は、Token管理部14に渡したNonceの値に対応するNonce IDの値をMIP BU/RR処理部13に渡す。Token生成部15は、要求側通信装置1からの応答先アドレス生成情報の要求に応えてHome tokenを生成しているため、応答先アドレス生成情報生成部として機能している。
BUβメッセージの受信処理において、応答先アドレスの確認処理を行う場合、BUβメッセージに含まれるhome nonce-idをNonce管理部14に渡し、Nonceの値を取得する。取得したNonceの値とBUβメッセージの送信元アドレスであるHoAをToken生成部15に渡し、Tokenの値を取得する。取得したTokenの値とBUβメッセージに含まれる情報αを応答先アドレス確認部20に渡し応答先アドレス(CoA)を生成し、その生成したアドレスとBUβメッセージに含まれる応答先アドレスと一致するか比較する。比較する領域は、応答先アドレスからネットワークプレフィックスの領域を除いたホスト識別子の領域である。
さらに、BUβメッセージの受信処理においてメッセージ認証コードの作成と確認(認証)を行う場合、BUβメッセージに含まれるhome nonce-idをNonce管理部14に渡し、home nonceの値をそれぞれ取得する。取得したNonceの値とBUβメッセージ内に含まれるHome AddressをToken生成部15にそれぞれ渡し、Home Tokenを生成する。取得した2つのtokenをKbm生成部16に渡し、Kbmを生成する。生成したKbm及び受信したメッセージをメッセージ認証コード(MAC)確認部18に渡し、MACの値を計算する。そしてBUβメッセージ内に含まれているMACの値と比較し、一致するかどうかチェックする。MACのチェックに成功した場合には、Home AddressとCare-of Addressの対応関係をバインディング・キャッシュ(Binding Cache)19(及び片方向RO拡張部19a)に登録する。
<移動通信装置(要求側通信装置)の構成>
図15は移動通信装置(要求側通信装置)1のメッセージ処理部の構成を示すブロック図である。移動通信装置1は、次のようなメッセージの送受信を行う。
(1)HoTIメッセージを送信し、CoA生成情報(Home Token)を含むHoTメッセージを受信する。
(2)CoA生成情報(Home Token)からCoAを生成して、CoA及びメッセージ認証コードを含むBUβメッセージを送信し、BAβメッセージを受信する。
(1)のメッセージ送受信処理は、MIP BU/RR処理部23(及びメッセージ受信部21、メッセージ 送信部22)において行う。(2)のメッセージ送受信処理は、片方向BU/RR拡張処理部23aにおいて行う。HoTIメッセージの送信処理では、Cookie生成部24により作成したCookieの値をHoTIメッセージに入れる。メッセージに含めるCookieは、相手先通信装置2が応答メッセージに同じ値を含めて移動通信装置1に返すことになっている。これによって移動通信装置1は、要求メッセージと応答メッセージの対応づけを行うことができる。応答先アドレス生成情報要求部29は、(1)のHoTIメッセージ送信で要求し、また、応答先アドレス生成部30は、(2)においてCoA生成情報(Home Token)からCoAを生成する。
HoTIメッセージの送信処理では、Home Tokenを要求する処理が、応答先アドレス生成情報(Home Token)を応答側通信装置2に要求するための処理であり、応答先アドレス生成情報要求部29が存在していると見ることができる。HoTメッセージの受信処理では、移動通信装置1はHoTメッセージに含まれるHome Tokenを応答先アドレス生成部30に渡して、応答先アドレス(CoA)を生成する。
BUβメッセージの送信処理では、応答先アドレス生成部30より作成した応答先アドレスと応答先アドレス生成に用いた情報αを取得し、BUβメッセージに付加する。また、BUβメッセージ送信処理においては、受信したHoTメッセージから取得したHome TokenをKbm生成部25に渡し、Kbmを生成する。さらに送信するBUβメッセージと作成したKbmをメッセージ認証コード生成部26に渡し、メッセージ認証コードを作成する。作成したメッセージ認証コードはBUβメッセージに付加し送信する。Binding Cache管理部27(及び片方向RO拡張部28)は、相手先通信装置2のBinding Cache19を管理する。
なお、上記実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又はすべてを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブ ル・プロセッサーを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適用などが可能性としてあり得る。
本発明は、データやメッセージの送信側が受信側からの送信要求内の宛先アドレスを確認して、不正な第3者からの送信要求による攻撃を防止することに利用できる。また、片方向経路及び非対称経路においても従来技術と同等程度に安全性を保ちながら、経路最適化を実現可能とするためのバインディング更新前処理などに利用することができる。
本発明の第1の実施の形態において相手先通信装置から移動通信装置への方向への片方向直接経路で通信を行う場合を示す説明図 本発明の第1の実施の形態において相手先通信装置から移動通信装置への方向への片方向の直接経路と迂回経路で通信を行う場合を示す説明図 不正なバインディング・キャッシュが攻撃に利用される例を示す説明図 モバイルIPのバインディング更新方法を示す説明図 本発明の第1の実施の形態におけるバインディング更新方法を示す説明図であって、HoTI及びHoTメッセージの経路を示す説明図 本発明の第1の実施の形態におけるバインディング更新方法を示す説明図であって、CoTIβ及びCoTβメッセージの経路を示す説明図 本発明の第1の実施の形態におけるバインディング更新方法を示す説明図であって、BUβ及びBAβメッセージの経路を示す説明図 気付アドレステスト処理がサービス攻撃に利用される例を示す説明図 本発明の一実施の形態におけるメッセージシーケンスを示す説明図 従来技術のモバイルIPのメッセージシーケンスを示す説明図 モバイルIPのメッセージフォーマットを示す説明図 本発明の第1の実施の形態におけるメッセージシーケンスを示す説明図 本発明の第1の実施の形態においてHome nonce idを格納するメッセージフォーマットを示す説明図 本発明の第1の実施の形態においてprefix lengthを格納するメッセージフォーマットを示す説明図 本発明の第1の実施の形態においてCare-of addressを格納するメッセージフォーマットを示す説明図 本発明の第1の実施の形態において相手先通信装置の構成を示すブロック図 本発明の第1の実施の形態において移動通信装置の構成を示すブロック図 本発明の他の実施の形態におけるメッセージシーケンスを示す説明図 本発明の第2の実施の形態を示す説明図であって、HoTI及びHoTメッセージの経路を示す説明図 本発明の第2の実施の形態を示す説明図であって、BUβ及びBAβメッセージの経路を示す説明図 本発明の第2の実施の形態におけるメッセージシーケンスを示す説明図

Claims (13)

  1. 第2の通信装置が、第1の通信装置に対して前記第1の通信装置が新しいアドレスを生成するためのアドレス生成情報を送信するステップと、
    前記第1の通信装置が前記第2の通信装置から受信した前記アドレス生成情報に基づいて前記第1の通信装置の前記アドレスを生成して前記第2の通信装置に送信するステップと、
    前記第2の通信装置が前記第1の通信装置から受信した前記第1の通信装置の前記アドレスを、前記第1の通信装置に送信した前記アドレス生成情報に基づいて生成したアドレスと比較するステップとを、
    備えたアドレス生成方法。
  2. 前記第1及び第2の通信装置はそれぞれ、移動通信装置とその相手先通信装置であり、
    前記第1の通信装置の前記アドレスは、前記移動通信装置の移動先アドレスであって、前記移動通信装置の前記移動先アドレスと前記相手先通信装置の間で経路最適化を行うステップを更に有することを特徴とする請求項1に記載のアドレス生成方法。
  3. 前記アドレス生成情報は、前記経路最適化ステップにおける前記相手先通信装置から前記移動通信装置に送信するホームアドレステスト応答メッセージ内に含まれるホームトークンであることを特徴とする請求項2に記載のアドレス生成方法。
  4. 第2の通信装置が、第1の通信装置に対して前記第1の通信装置が新しいアドレスを生成するためのアドレス生成情報を送信する手段と、
    前記第1の通信装置が前記第2の通信装置から受信した前記アドレス生成情報に基づいて前記第1の通信装置の前記アドレスを生成して前記第2の通信装置に送信する手段と、
    前記第2の通信装置が前記第1の通信装置から受信した前記第1の通信装置の前記アドレスを、前記第1の通信装置に送信した前記アドレス生成情報に基づいて生成したアドレスと比較する手段とを、
    備えたアドレス生成システム。
  5. 新しいアドレスを生成するためのアドレス生成情報を相手先通信装置から受信する手段と、
    前記アドレス生成情報に基づいて前記アドレスを生成し、前記相手先通信装置に対して前記相手先通信装置が前記アドレス生成情報に基づいて生成したアドレスと比較するための情報を送信する手段とを備えた通信装置。
  6. 一方の通信装置に対して、前記一方の通信装置の新しいアドレスを生成するためのアドレス生成情報を送信する手段と、
    前記一方の通信装置が前記アドレス生成情報に基づいて前記一方の通信装置のアドレスを生成して送信した場合、前記アドレスを受信して、前記一方の通信装置に送信した前記アドレス生成情報に基づいて生成したアドレスと比較する手段とを、
    備えた相手先通信装置。
  7. 第2の通信装置が、第1の通信装置の第2のアドレスを生成するためのアドレス生成情報を作成し、前記アドレス生成情報を含むアドレス生成情報メッセージを前記第1の通信装置の第1のアドレスに送信するアドレス生成情報送信ステップと、
    前記第1の通信装置が前記アドレス生成情報メッセージ内の前記アドレス生成情報に基づいて前記第2のアドレスを生成して、前記第2のアドレスを応答メッセージ送信先として指示する応答先指定要求メッセージを前記第1のアドレスから前記第2の通信装置に送信する応答先指定要求メッセージ送信ステップと、
    前記第2の通信装置が前記応答先指定要求メッセージを受信して、前記応答先指定要求メッセージ内の前記第2のアドレスを、前記アドレス生成情報に基づいて生成されるアドレスと比較して、応答先指定応答メッセージを前記第1の通信装置の前記第2のアドレスに送信する応答先指定応答メッセージ送信ステップとを、
    有することを特徴とする通信方法。
  8. 前記アドレス生成情報が前記第2の通信装置のみが保持している秘密情報と前記第2の通信装置が一定時間間隔で生成する乱数から生成されることを特徴とする請求項7に記載する通信方法。
  9. 前記アドレス生成情報が、モバイルIPで経路最適化を行う際のバインディング処理に使用されるホームトークンであることを特徴とする請求項8に記載する通信方法。
  10. 前記第2のアドレスが前記第1の通信装置の受信専用の片方向経路のアドレスであることを特徴とする請求項7に記載する通信方法。
  11. 第2の通信装置が、第1の通信装置の第2のアドレスを生成するためのアドレス生成情報を作成し、前記アドレス生成情報を含むアドレス生成情報メッセージを第1の通信装置の第1のアドレスに送信するアドレス生成情報送信手段と、
    前記第1の通信装置が前記アドレス生成情報メッセージ内の前記アドレス生成情報に基づいて前記第2のアドレスを生成して、前記第2のアドレスを応答メッセージ送信先として指示する応答先指定要求メッセージを前記第1のアドレスから前記第2の通信装置に送信する応答先指定要求メッセージ送信手段と、
    前記第2の通信装置が前記応答先指定要求メッセージを受信して、前記応答先指定要求メッセージ内の前記第2のアドレスを、前記アドレス生成情報に基づいて生成されるアドレスと比較して、応答先指定応答メッセージを前記第1の通信装置の前記第2のアドレスに送信する応答先指定応答メッセージ送信手段とを、
    有することを特徴とする通信システム。
  12. 第2のアドレスを生成するために相手先通信装置によって作成されたアドレス生成情報を含む第1のアドレス宛に送信されたアドレス生成情報メッセージを受信する手段と、
    受信した前記アドレス生成情報メッセージの前記アドレス生成情報に基づいて前記第2のアドレスを生成して、前記第2のアドレスを応答先として指定する応答先指定要求メッセージを前記第1のアドレスから前記相手先通信装置に送信する手段と、
    前記相手先通信装置が前記応答先指定要求メッセージ内の前記第2のアドレスを、前記アドレス生成情報に基づいて生成されるアドレスと比較して、前記相手先通信装置から前記第2のアドレスに送信された応答先指定応答メッセージを受信する手段とを備えた通信装置。
  13. 一方の通信装置の第2のアドレスを生成するためのアドレス生成情報を作成し、前記アドレス生成情報を含むアドレス生成情報メッセージを前記一方の通信装置の第1のアドレスに送信する手段と、
    前記アドレス生成情報メッセージを受信した前記一方の通信装置が前記アドレス生成情報メッセージ内の前記アドレス生成情報に基づいて前記第2のアドレスを生成し、前記第2のアドレスを応答先として指定する前記一方の通信装置から送信された応答先指定要求メッセージを受信する手段と、
    前記応答先指定要求メッセージを受信して、前記応答先指定要求メッセージ内の前記第2のアドレスを前記アドレス生成情報に基づいて生成されるアドレスと比較して、応答先指定応答メッセージを前記通信装置の前記第2のアドレスに送信する手段とを備えた相手先通信装置。
JP2009523539A 2007-07-18 2008-07-14 アドレス生成方法、アドレス生成システム、通信装置、通信方法、通信システム及び相手先通信装置 Withdrawn JPWO2009011120A1 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2007186982 2007-07-18
JP2007186982 2007-07-18
JP2007296863 2007-11-15
JP2007296863 2007-11-15
PCT/JP2008/001884 WO2009011120A1 (ja) 2007-07-18 2008-07-14 アドレス生成方法、アドレス生成システム、通信装置、通信方法、通信システム及び相手先通信装置

Publications (1)

Publication Number Publication Date
JPWO2009011120A1 true JPWO2009011120A1 (ja) 2010-09-16

Family

ID=40259466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009523539A Withdrawn JPWO2009011120A1 (ja) 2007-07-18 2008-07-14 アドレス生成方法、アドレス生成システム、通信装置、通信方法、通信システム及び相手先通信装置

Country Status (3)

Country Link
US (1) US20100211661A1 (ja)
JP (1) JPWO2009011120A1 (ja)
WO (1) WO2009011120A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8576785B2 (en) * 2008-12-19 2013-11-05 Robert Bosch Gmbh Method of wireless communication using authentication information
US9042549B2 (en) * 2009-03-30 2015-05-26 Qualcomm Incorporated Apparatus and method for address privacy protection in receiver oriented channels
CN101902474B (zh) * 2010-07-21 2012-11-14 清华大学 基于标签替换的自治域间IPv6真实源地址验证方法
US9712501B2 (en) 2015-10-21 2017-07-18 Massachusetts Institute Of Technology Packet header randomization
JP6770075B2 (ja) * 2016-09-12 2020-10-14 日本電信電話株式会社 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム
CN110062941B (zh) * 2016-12-20 2022-07-15 日本电信电话株式会社 消息发送系统及方法、通信终端、服务器装置、记录介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3808660B2 (ja) * 1999-03-31 2006-08-16 株式会社東芝 通信システム及び端末装置
EP1505780B1 (en) * 2003-08-06 2011-03-23 Motorola, Inc. A method of validated communication
JP4750045B2 (ja) * 2004-07-09 2011-08-17 パナソニック株式会社 ネットワーク管理方法及びネットワーク管理装置
US20100097991A1 (en) * 2007-01-19 2010-04-22 Panasonic Corporation Communication method, communication system, mobile communication device, and destination partner communication device
US7885274B2 (en) * 2007-02-27 2011-02-08 Cisco Technology, Inc. Route optimization between a mobile router and a correspondent node using reverse routability network prefix option

Also Published As

Publication number Publication date
WO2009011120A1 (ja) 2009-01-22
US20100211661A1 (en) 2010-08-19

Similar Documents

Publication Publication Date Title
Arkko et al. Enhanced route optimization for mobile IPv6
EP1875710B1 (en) System, associated methods and apparatus for securing prefix-scoped binding updates
JP4913909B2 (ja) モバイルipネットワークにおけるルート最適化
JP5745626B2 (ja) ホストベースのモビリティおよびマルチホーミングプロトコルに対する軽量セキュリティソリューションのための方法および装置
KR100759727B1 (ko) 승인된 통신 방법
US8413243B2 (en) Method and apparatus for use in a communications network
US8175037B2 (en) Method for updating a routing entry
US8447979B2 (en) Method and apparatus for binding update between mobile node and correspondent node
US20070025309A1 (en) Home agent apparatus and communication system
JP2005532012A (ja) ホームエージェントと共に移動ノードのホームアドレスを登録する方法
JPWO2009011120A1 (ja) アドレス生成方法、アドレス生成システム、通信装置、通信方法、通信システム及び相手先通信装置
JP2007006248A (ja) リモートアクセス方法、およびリモートアクセスシステム
JP4778565B2 (ja) 通信方法、通信システム、モバイルノード及び通信ノード
KR101062669B1 (ko) MIPv6의 바인딩 업데이트 방법
KR100922939B1 (ko) 모바일 아이피를 사용하는 네트워크 시스템에서 패킷필터링 장치 및 방법
JPWO2008087999A1 (ja) 通信方法、通信システム、移動通信装置及び相手先通信装置
Oryema et al. Secure mobility management using CoAP in the Internet of Things
Basak et al. Security in Network Mobility (NEMO): Issues, Solutions, Classification, Evaluation, and Future Research Directions.
Haddad Network Working Group J. Arkko Request for Comments: 4866 Ericsson Research NomadicLab Category: Standards Track C. Vogt Universitaet Karlsruhe (TH)
Georgiades et al. Distributed authentication protocol for the security of binding updates in mobile IPv6
Arkko IETF Mobile IP Working Group D. Johnson Internet-Draft Rice University Obsoletes: 3775 (if approved) C. Perkins (Ed.) Expires: January 14, 2010 WiChorus Inc.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110525

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120406