【文献】
瀬下 正樹,竹内 元規,渡邊 晃,Mobile PPCにおける移動端末の認証,マルチメディア,分散,協調とモバイル(DICOMO 2005)シンポジウム論文集,日本,社団法人情報処理学会,2005年 7月 6日,第2005巻,第6号,pp.129−132
(58)【調査した分野】(Int.Cl.,DB名)
モビリティセッションにおいてネットワークにわたりコレスポンデントノードCNに接続されたモビリティノードMNでセキュリティプロトコルを動作させる方法であって、
MNにおいてランダムナンスRiを引き継がれた暗号ハッシュを生成し、及び、ランダムナンスRiをキャッシュに入れることと、
モビリティセッション中に、一連のメッセージのうちの、第i番目のMNメッセージをCNに送信することを含み、第i番目のMNメッセージは、ランダムナンスRiの暗号ハッシュ、ランダムナンスRi−1及び、キャッシュされたランダム鍵Ai−1に基づくハッシュベースのメッセージ認証コード(HMAC(Ai−1|MSG))を含み、さらに、
ランダム鍵dAとHMAC(Ai−1|MSG)を含む第i番目のCNメッセージを、CNから受信することと、
MNにおいて、ランダム鍵dAをキャッシュされたランダム鍵Ai−1に加えることにより、ランダム鍵Aiを生成し、ランダム鍵Aiをキャッシュに入れることと、
新しいランダムナンスRi+1を生成することと、
第i+1番目のMNメッセージをMNからCNに送信することを含み、第i+1番目のMNメッセージが、新しいランダムナンスRi+1の暗号ハッシュ、ランダムナンスRiと、ランダム鍵Aiに基づくHMAC(Ai|MSG)を含む、方法。
モビリティセッションにおいてネットワークにわたりモビリティノードMNに接続されたコレスポンデントノードCNでセキュリティプロトコルを動作させる方法であって、
モビリティセッション中に、ランダムナンスRiの暗号ハッシュ、ランダムナンスRi−1及び、キャッシュされたランダム鍵Ai−1に基づくハッシュベースのメッセージ認証コード(HMAC(Ai−1|MSG))を含む第i番目のMNメッセージを受信することと、
受信したランダムナンスRi−1から計算した暗号ハッシュが、キャッシュに入れられたランダムナンスRi−1の暗号ハッシュと同一であることを確認することと、
ランダムナンスRiの暗号ハッシュをキャッシュに入れることと、
ランダム鍵dAを生成しおよび、AiがAi−1とランダム鍵dAの和と等しくなるようにランダム鍵Aiを計算し、CNでランダム鍵Aiをキャッシュに入れることと、
ランダム鍵dAとHMAC(Ai−1|MSG)を含む応答メッセージをMNへ送信することと、
MNから第i+1番目のMNメッセージを受信することを有し、第i+1番目のMNメッセージは、新しいランダムナンスRi+1の暗号ハッシュ、ランダムナンスRi及び、HMAC(Ai|MSG)を含む、方法。
トランスポート接続がCNからMNに形成され、CNがトランスポート接続を介してモビリティセッション中にCNの接続ポイントへの変更でMNを更新する、請求項7に記載の方法。
【背景技術】
【0002】
モバイルインターネットトラフィックは、近年飛躍的に増大しており、スマートフォンの最新世代の登場以来その増加は顕著である。電話技術の進歩はインターネットトラフィックを飛躍的に増大させ、研究団体では、IPモビリティおよびマルチホーミングの既存概念を考え直すことを余儀なくされている。IPモビリティの1つの基本的なテナントは、ホストがL3接続ポイント、すなわちIPアドレスを進行中のトランスポートセッション中に変更できることである。進行中のセッションを、たとえば3G無線ネットワークからWiFiのような異なるインターフェイスに選択的に切り替え可能であることが必要とされるマルチホーミングホストはまた、IP接続ポイントを変更できる必要もある。
【0003】
公共インフラストラクチャを介する通信デバイス向けのプロトコルを設計することは本質的に、たとえばインターネットの公共性に起因するセキュリティの問題を真剣に考慮することを伴う。公共フォーラムにおいて、敵対者は、情報を悪用して、悪意の目的でトランスポートセッションをリダイレクトすることができる。そのようなリダイレクト攻撃により、敵対者は、たとえば通信セッションをハイジャックして、セッションのエンドポイントの1つに成り代わってセッションを続行することができるようになる。
【0004】
敵対者はまた、サービス妨害(DoS:Denial−of−Service)攻撃を行なうためにセッションへのアクセスを使用することもでき、そこで敵対者は被害者ホストに大量のトラフィックを振り向ける。DoS攻撃はまた、フラッディング(flooding)としても知られる。
【0005】
リダイレクトおよびフラッディングはそれぞれ、多くの場合極めて異なる解決策を備えるさまざまなセキュリティの問題をもたらす。
【0006】
たとえば、リダイレクト攻撃を防御するために使用可能なメカニズムは、モビリティ技術に依存する。W−CDMA、LTE、WiMAXのような、現在のモビリティ規格は、ネットワークベースのモビリティを使用する。それらの技術は、モバイルノード(MN:Mobile Node)とそのピアとの間のすべてのトラフィックを中継するためにネットワーク側アンカーを採用する。すべてのモビリティ関連の信号伝達は、MNとネットワーク(側アンカー?)との間で交換され、加入者とそのサービスプロバイダ間に存在する信頼関係を活用することによって保護されうる。
【0007】
あるいは、ホストベースのモビリティにより、MNがそのIPアドレスを変更した場合にはMNがコレスポンデントノード(CN:Correspondent Node)を更新することができる。対応して、CNは、データパケットをNMの新しいアドレスに直接送信することができる。その結果、ホストベースのモビリティプロトコルは、ネットワーク側アンカーの必要性を解消するので、より一層費用対効果が高く、多用途であり、拡張性を備えている。ホストベースのモビリティシステムの利点は、適切な低コストのホストベースのモビリティプロトコルを確立しようと試みる多数の研究活動を活性化させた。そのようなプロトコルの例は、今日までさらによく知られるプロトコルのほんの一例をあげると、Host−Identifier Protocol(HIP)、経路最適化Mobile IPv6(MIPv6 R/O)、TCP−RおよびEMIPv6を含むことができる。
【0008】
知られているホストベースプロトコルの一部は、マルチホーミングのシナリオをサポートする。具体的には、マルチホーミングのシナリオにおいて、ホストは、複数のIPアドレスを代替ルーティングパスとしてCNに通知することができる。そのようなプロトコルの例は、SCTP、HIP、マルチホーミングTCP(MH TCP)、およびSHIM6を含む。モビリティおよびマルチホーミングアドレスはいずれも密接に関わる問題であるため、両方の現象に対処する場合、通常はモビリティに言及する。
【0009】
ホストベースのモビリティプロトコルにおけるセキュリティに関する限り、ホストベースのモビリティは、トラフィック接続を維持するエンドノードに限定される。その結果、信頼関係は通常、モビリティ関連の信号伝達メッセージを保護するためには使用することができない。たとえば、HIPのフレームワーク内において、PKIを使用して、グローバルレベルで、すなわちインターネット上のすべてのホストに対して、信頼関係を作成することが提案された。その結果、信頼関係の構築に関わる作業、ならびに拡張性および取り消しの問題は、ホストベースのモビリティの主要な利点を大幅に損なってしまう。したがって、一部の提案では、接続のために以前準備された信頼関係を必要とする、IPsecのようなメカニズムを採用する。
【0010】
その結果、ホストベースのモビリティプロトコルは、ランダムナンスのオープンな交換、Diffie−Hellman交換による鍵配列、およびルーティング可能性検査のような、弱い認証の方法に依存してきた。そのような解決策は、不十分な保護をもたらすか、またはエンドノードに不必要な処理負荷を課す。
【発明を実施するための形態】
【0013】
リダイレクトおよびフラッディング攻撃からホストベースのモビリティプロトコルを保護するための軽量セキュリティソリューションが示される。本明細書において称されるホストモビリティとは、1つのIPアドレスから別のIPアドレスへのトランスポート接続エンドポイントの移行であり、モビリティイベントおよびマルチホーミングのシナリオに適用される。本明細書におけるソリューションは、弱い認証の方法と、セッション所有権証明機能を結合する。ソリューションにより、敵対者は、攻撃を首尾よく開始するために、インターネット上の既存の信号伝達プロトコルに対する同等の攻撃よりも、追加の、および場合によっては実質的に多大な作業が必要となる。有利なことに、ソリューションは、経路最適化を備えるMobile IPv6を改良するために使用されてもよい。
【0014】
本明細書の原理によれば、ネットワーク側アンカーのような、相互信頼関係および/またはネットワークベースのインフラストラクチャの要件は除外される。ソリューションは、接続のいずれの端部でも保持されるべき処理および状態情報を最小限しか必要としないという点において、軽量である。セキュリティレベルは、既存のインターネットセキュリティソリューションと比較して十分である。ソリューションは少なくとも、リダイレクト攻撃を防御するための知られているプロトコルと同等に安全である。ソリューションは、フラッディング攻撃を回避するための知られているセキュリティプロトコルよりも優れている。
【0015】
本明細書の原理によれば、各モビリティセッションは、2つのホスト間のモビリティ関連の信号伝達およびセキュリティをサポートする。トラフィック接続は、モビリティセッションと並行して実行する。各モビリティセッションは、少なくとも1つのモビリティアソシエーション(MA)を定義する。MAは、モビリティノード(MN)とコレスポンデントノード(CN)との間に単信モビリティセッションを確立する。CNがIPアドレス更新を送信せず、MNのみが送信するので、単信MAはまた、リダイレクト攻撃の危険を低減する。単信特性のホストベースのモビリティセッションは、セキュリティ関連の信号伝達および処理作業、ならびに接続の各々の端部で保持される必要のある状態の量を軽減する。
【0016】
各MAは、2つのホストのうちの1つによって所有され、所有者ホストにモビリティサポートを提供する。MNは、MAの所有権証明をCNに提供し、CNは単一の分岐RRTを通じてMNへのルーティング可能性を確認する。MNは、対称認証鍵を保持および使用することによりMAの所有権を証明することができる。MNは、CNのメッセージに基づいて鍵を定期的に更新することができる。MNは、受動的攻撃者から保護するため、前のメッセージに関連する秘密を関連付けて同一送信者の証明のチェーンを作成することにより、要求をさらに認証することができる。所有権の証明は、セッションハイジャックおよびセッション中断を防御する。
【0017】
両方のホストがモバイルである場合、本明細書におけるシステムは、二重モビリティセッションを確立するように構成されてもよく、各ホストは同一モビリティセッション内の各自のMAをサポートする必要がある。言い換えれば、セッションは2つの重ね合わされた単信モビリティセッションを含み、その結果外見上は二重であるが処理要件が低減されたセッションをもたらす。各ホストは、所有するMAを介して、進行中のトランスポート接続を切断することなくIPアドレスを変更することができ、無線ネットワークならびに無線マルチホーミングのシナリオに適用されてもよい。MAは、攻撃者がMAを既存のトラフィック接続にオーバーレイすること、またはセットアップ後にセッションをハイジャックすることを禁じるために、関連するトラフィック接続セットアップ前、またはセットアップ中に確立される必要がある。さらに、システムは、もしくはDHベースの鍵交換または相互信頼関係のネットワークサポートまたは処理オーバーヘッドを必要とすることなく、セッションハイジャックに対してMIPv6よりも確実なセキュリティをもたらす。MNはまた、ピアがホストベースのモビリティをサポートするかどうかを決定するためにMAを使用することもできる。
【0018】
図1に示されるように、1つのMAのみをポートするモビリティセッションを含むシステムは、必要とする状態情報および各ホスト上の処理がより少なくてすむ。そのようなシステムは、セッションハイジャックが定常ホストに成り代わって実行されることがないので、知られているシステムよりも強化されたセキュリティをもたらす。モバイルインターネットトラフィックの大きな割合が定常サーバを占めているので、これらの利点は重要である。
【0019】
モビリティについて概ね100で示され、マルチホーミングについて110で示されるMAは、一般にINITとして知られる任意の適切な初期ハンドシェークを介して確立され、INITはたとえば、INIT要求112、114、およびINIT応答116、118を含むことができる。初期ハンドシェークは、すべてのホストベースモビリティ、およびマルチホーミングプロトコルによってサポートされる。初期ハンドシェークはまた、モビリティセッション自体を定義する。
【0020】
初期ハンドシェーク後、すべてのさらなるハンドシェークは、1つのMAに代行して発生する、すなわちハンドシェークは、モビリティイベントを通知した所有者ホストに関連するセキュリティパラメータにしか影響を与えない。これにより、モビリティセッションの両方のエンドポイントは、一時的な重複によりモビリティ関連の信号伝達ハンドシェークを実行することができる。
【0021】
モビリティ関連の信号伝達を保護するため、すべてのモビリティ関連のイベントは、要求120、122メッセージおよび応答124、126メッセージで構成される両方向ハンドシェークを要求すると仮定し、この両方向ハンドシェークをバインディング更新(BU:Binding Update)交換と称する。要求120、122は、IPアドレスの追加、削除、または変更を通知するためにMA所有者によって送信される。要求120、122は、応答128、130でピアによって確認される。そのようなハンドシェークは、一般に、ホストベースモビリティプロトコルに従う。
【0022】
DoSまたはフラッディング攻撃、およびセッションハイジャックを防御するため、BU要求120、122の送信者は、MAの所有権、すなわちモビリティセッションのエンドポイントであることを表明する必要がある。これは、ホスト所有者が以前のMA関連のすべての要求を生成して送信し、初期INIT交換メッセージ112、114を含む以前のMA関連のすべての応答を受信したことを認めさせることに相当する。
【0023】
ホスト所有者は、以前の要求に関連する秘密を明らかにすることによって、要求を認証する。これは、ホスト所有者が実際に同一の送信者であることの「証明のチェーン」を作成することになる。秘密は、要求ごとに生成される乱数Rにわたる暗号Hashであってもよい。
【0024】
ホスト所有者は、対称認証鍵で要求に署名し、この対称認証鍵は応答メッセージごとにピア(すなわちCN)によって更新される。このことは、ホストが以前のすべての応答を受信したことを証明する。このようにして、メッセージは連結され、システムのセキュリティをもたらす。メッセージを連結することで、i番目のメッセージの送信者がセッションの第1のメッセージの送信者と同一であることが証明される。
【0025】
図2は、概ね200で示される、1つのMAをサポートするモビリティセッションのINITハンドシェークを示す。MA所有者、またはホスト所有者は、たとえば、ピアCN220を持つMN210である。
【0026】
230において、MN210は、MA識別子MIDを生成して、キャッシュに入れる。MID230は、乱数であってもよい。240において、MN210はまた、乱数、またはナンスR
0を生成して、キャッシュに入れる。次いで、MN210は、要求MID、Hash(R
0)、250でCN220に送信する。260において、CNは、R
0をキャッシュに入れる。次いで、270において、CNは、ランダム鍵A
0を生成して、キャッシュに入れる。次いで、CNは、MIDおよびランダム鍵A
0を、オープンにMN210に送信する。次いで、MN210は、A
0をキャッシュに入れる。
【0027】
R
0およびA
0はいずれも、乱数でなければならない。MNはHash(R
0)しか送信しないので、メッセージを盗聴している敵対者は、R
0自体を推測することができない。対応するハッシュ関数は、たとえば、SHA1、SHA256のような任意の適切なハッシュ関数、または任意の他の適切なハッシュ関数であってもよい。ピアが初期鍵A
0をオープンに返すことに留意されたい。このようにして、MNが以前のメッセージを送信したことを、MNはメッセージごとに証明する。
【0028】
MIDにより、ノードは、メッセージが異なるIPアドレスから着信する場合であっても、送信側ピアおよびモビリティセッションを認識することができる。現在のシナリオにおいて、MAごとに1つのMIDが導入される。また、単に、モビリティセッションあたり1つの共通MIDを使用することも可能である。モビリティおよびマルチホーミングプロトコルは通常、そのような特性を含む。
【0029】
図3に示されるように、システムはここで、i番目のバインディング更新(BU)ハンドシェークを実行することができる。
【0030】
インデックスi−1は、前のBUを示し、また、i=1に対してはINITを示す。BUハンドシェークはまた、たとえば
図4に関して後段に示される特定のプロトコル実施に依存する、MNの新しいIPアドレスのような、モビリティイベントに関連するパラメータも含む。
【0031】
図3を参照すると、HMAC(A|MSG)という用語は、鍵Aに基づき、メッセージ本文全体に適用されるハッシュベースの、または任意の他の種類のメッセージ認証コード(Message Authentication Code)を表す。HMACは、たとえば、SHAファミリーメンバーに基づいてもよい。+符号は、ビット単位のXOR演算を示す。たとえば、グループ内の追加など、入力のいずれか1つがランダムである場合に結果を完全にランダム化する任意の他の演算が、選択されてもよい。XOR演算は、その効率性で選択された。
【0032】
概ね300で示されるように、バインディング更新(BU)ハンドシェークは、
図2の初期ハンドシェークにより得られたパラメータを使用して、BUを生成する。312において、MN310は最初に、乱数Riを生成して、キャッシュに入れる。次いで、320において、MN310は、要求MID、R
i−1、Hash(Ri)、HMAC(A
i−1|MSG)をCN330に送信する。MNが前のメッセージを送信した同一のホストであることを確認することができるように、CN330は、340においてHash(R
i−1)のキャッシュを確認し、350においてHMAC(A
i−1|MSG)を確認する。
【0033】
次いで、360において、CN330は、新しいランダムナンスのHashRiをキャッシュに入れる。これにより、MNは、後続のKUハンドシェークで証明を繰り返すことができる。受動的な攻撃者はナンスRiを計算することができないので、ハッシュ保護チェーンに打ち勝つことができるのは能動的な攻撃者だけである。370において、CN330は、ランダム鍵dAを生成して、380においてAi=A
i−1+DAをキャッシュに入れる。CNは、MNが増分を受信するように、次の演算でdAのみを転送する。
【0034】
次いで、CN330は、390において示されるように、たとえばMID、dA、HMAC(A
i−1|MSG)のような応答をMN310に送信することができる。次いで、395において、MN310は、Ai=A
i−1+dAをキャッシュに入れることができる。CNがランダム鍵の増分しかMNに転送しないので、攻撃者は、すべてのメッセージを取得するためにセッション中ずっと居続けなくてはならないか、または鍵が何であるかを知る必要がある。インデックスi−1は、前の鍵更新、またはi=1の場合のMA確立を示す。Ri−1、HashRiシーケンスは、時間内に連結されたチェーンが確立されることを保証し、これはMNがすべての以前のメッセージの送信者であることを証明する。
【0035】
図3に示される、セキュリティメカニズムまたは連結チェーンの保護を破るために、攻撃者は、MNからCNへのリンクを盗聴し、MNのIPアドレスをスプーフィングしながら、MNから次のBUが着信するまで待ってこのメッセージの伝搬を止め、Hash(Ri)の新しい自選の値を持つこのメッセージのコピーを再度差し入れる必要があり、INIT以降にMNに宛てられたCNからのすべてのパケットをリッスンしてA
i−1の知識を得て偽造した要求に署名する必要がある。
【0036】
MNはまた、CNに送信された各鍵更新を鍵Ai−1で署名し、基本鍵A
0はMA確立中にCNによってMNに送信される。Ri−1、HashRiシーケンスと結合された鍵更新は、MNがMAを確立した証明をCNにもたらす。
【0037】
図4に示されるように、バインディング更新BUの実施形態は、たとえば、概ね400で示されるように、RRTを鍵更新と結合することを含むことができる。440において新しいIPアドレスを一時的にキャッシュに入れた後、460において、新しいIPアドレスをキャッシュに入れる前に送信者を確認するため、チャレンジ応答450がCN420によって生成されてもよい。
【0038】
攻撃者はセッション全体にわたり、またはINIT以降の時間フレームにわたって居続ける必要があり、さらに、MNにより発行された正当なBU要求を待つ必要があるので、BUハンドシェークのチェーンは、さらに高いレベルの保護をもたらす。
【0039】
CNの応答はさらに、更新された鍵A
i−1によって署名される。このHMACは、攻撃者が鍵Aを破ってHash(R
i)を書き換えた場合には、追加のセキュリティを提供しない。しかし、これは、MNがMA自体へのDoS攻撃を軽減できるようにする。つまり、HMACがなければ、一時的な攻撃者は、任意の鍵更新を送信することによりモビリティ接続を容易に破ることもできる。
【0040】
上記のBUメッセージのうちの1つが失敗する場合、BUハンドシェークは完全ではない。この場合、MNは、BUを再送信する必要がある。再送信されるメッセージは、以前のメッセージの正確なコピーでなければならない。CNは確かに以前のメッセージを受信したが応答が失われた場合、CNは、再送信されたメッセージに含まれるHash(R)値がすでに保持している値と同じであることを認識する。これにより、CNは、新しいBUメッセージと再送信されたBUメッセージを区別することができる。CNは、以前の応答で送信したものと同じdAで再送信に応答する必要がある。この目的のため、CNは、応答が送信された後の一定期間dAをキャッシュに入れる必要がある。
【0041】
すべてのBUが新しい秘密を含み、ソリューションは敵対者には知られていないので、上記のBU交換はまた、リプレイ攻撃に対しても保護される。CNが応答を再送信として受け入れるよう期待して敵対者がBU要求をリプレイする場合、CNはリプレイされたBU要求と元のBU要求との内容不一致を検出して、リプレイされたメッセージを廃棄することができる。
【0042】
HMACは単に、MNが鍵Ai−1のその知識を表明する証明としての役割を果たすだけなので、BU要求の内容全体をカバーする必要はない。これは、ネットワークアドレス変換機構(NAT:network address translator)の背後から送信されるBU要求にとっては重要であり、ここではパケットのソースアドレスがNATによって変更され、CNがパケットヘッダ自体からMNの新しいIPアドレスを取り出す必要がある。したがって、本発明のセキュリティソリューションは、NATに準拠する。
【0043】
モビリティセッションのいずれのホストもモバイルである場合、各ホストは各自のMAをサポートするように構成されてもよく、初期ハンドシェークは引き続き、たとえば
図5に示されるような両方向メッセージ交換に組み入れられてもよい。セッションは、二重モビリティセッションと称されてもよく、各ホストは各自のMAを所有する。MA確立および鍵更新は対称的に実行されてもよく、各MAに関連する対応するハンドシェークはメッセージに混ぜ入れられてもよいが、これは送信されるべきメッセージの数を減らすことになる。
【0044】
概ね500で示されるように、たとえばホスト1 510およびホスト2 520のような各ホストは、ランダムナンスおよびランダム鍵を生成して、キャッシュに入れることができる。ホスト1は、ランダムナンス530およびランダム鍵540を生成して、550において、ホスト2 520に送信する。次いで、ホスト2 520は、ホスト1からのナンスおよび鍵を、それぞれ560および570においてキャッシュに入れる。次いで、ホスト2は、第2のランダムナンス580および第2のランダム鍵590を生成して、595において、ホスト1に送信する。
【0045】
ホスト1のMAのR1
0およびA1
0のそれぞれのパラメータは、ホスト2のMAのR2
0およびA2
0である。ホスト1は、ホスト2がモバイルであると仮定して、事前対応的にINIT要求でA2
0を渡す。ホスト2がモバイルではない場合、ホスト1は単にこのパラメータを無視して、上記の以前のINIT交換に示されるように続行する。それ以外の場合、ホスト1は、すべての演算を実行して、
図5に示されるパラメータのようなパラメータを渡す。
【0046】
IPアドレスは対称的には生じることはないので、バインディング更新は、それぞれのMAに対して各ホストごとに個別に処理されるが、鍵交換は対称的に生じうる。さらに、シーケンス番号がBUに対して使用される場合、各MAはそのそれぞれのシーケンス番号をサポートする必要がある。加えて、2つのMAは、同じMIDを共有することができる。その結果のハンドシェークは、たとえば
図5の実施形態に示されるものであってもよい。
【0047】
敵対者がモビリティ信号伝達を使用してフラッディング攻撃を実施する場合、敵対者自身がモビリティセッションを確立するので、BUメッセージをセキュリティ保護することでは攻撃に対する防御を行なうことにならない。したがって、追加のセキュリティメカニズムが必要とされる。好ましくは、追加のシステムは、
図6に示されるバインディング検査(BT)のような、単純なルーティング可能性検査を使用する。
【0048】
MNがMAを保持するホストであると仮定して、BTハンドシェークは、MNが新しいIPアドレスを通知するとCNによって開始される。BTハンドシェークは、BU要求が古いアドレスから送信された場合であっても、MNの新しいアドレスを伴う必要がある。CNが複数のIPアドレスを維持する場合、MNが新しい場所で到達されうることを保証するので、ルーティング可能性検査に対してそれらのうちの1つだけを使用すれば十分である。すべてのCNのIPアドレスからMNの新しいアドレスへのルーティング可能性検査を実施する技術的な理由があってもよい。たとえば、そのような手順は特定のパスの可用性を決定することができる。
【0049】
ルーティング可能性検査は、600において概ね示される、CNによりMNに送信されるチャレンジを伴う。CN610は、MN620によって応答で回答される必要があるチャレンジを送信する。CN610は、より大量のトラフィックをMN620の新しいIPアドレスに送信する前に、BTハンドシェークの完了を保証する必要がある。
【0050】
ホスト1および2は、任意の適切なホストであってもよい。たとえば、ホスト1および2がモバイルである場合、ホストは、たとえばサーバ、ラップトップ、PC、スマートフォン、テレビジョン、PDA、ゲーム機、プッシュツートークデバイス、および周辺デバイスのような、適切なモバイルデバイスであってもよい。
【0051】
図6に示されるように、BTハンドシェークは、BUハンドシェークに組み入れられてもよい。630において、チャレンジメッセージは乱数Xを含む。640において、応答は、現行鍵A
i−1に基づくXの署名を含む。これは、MN620が新しく通知されたIPアドレスで到達可能であり、BT応答640が偽造されたものではないことをCN610に確認する。
【0052】
図7は、初期IPアドレスからBU要求を送信して新しいIPアドレスを通知するマルチホーミングMNのための700において概ね示されるメッセージフローを示す。BTハンドシェークはMNの新しいIPアドレスを使用するが、エンベロープBUハンドシェークはMNの初期IPアドレスを使用する。チャレンジメッセージ710は、ここでは単信モビリティセッションで応答するために鍵署名が必要とされないように、HMAC(B
i|MSG)によって保護される。
【0053】
図6および
図7は例示的な実施形態に過ぎず、同じ原理の保護をもたらすルーティング可能性検査を実施するその他の方法もあるので、ルーティング可能性検査が本明細書の原理に従って実行されうる方法を限定することを意図してはいない。
【0054】
加えて、MNは、MA鍵更新ハンドシェークをCNとのすべてのデータ交換に組み入れる必要がある。インデックス
iの鍵更新は、たとえば、
図8に示されるように、鍵更新をバインディング更新に組み入れることを含むことができる。RRTは1つのMAに対してしか実行されないが、鍵交換は対称的に実行されてもよい。乱数の長さ、すなわち秘密R、鍵A、およびチャレンジXは、力づくによる攻撃に注意を向けるのに十分な大きさで選択される必要がある。力づく方式を通じてこれらの数を解読する平均尤度は、2
(L−1)により与えられ、Lは対応する数のビット長である。L=50から60ビットの値は、現在および近い将来の計算能力を考慮すれば、十分過ぎるほどである。
【0055】
本明細書の原理によれば、MSは、MA確立中またはMA確立後に確立された接続のホストベースのモビリティセキュリティのみを提供する。その結果、MNおよびCNは、MAの下で移行されうる接続を指定するMAごとにテーブルを保持する必要がある。テーブルにおいて、接続は、{プロトコルタイプ、ソースIPアドレス、宛先アドレス、ソースポート番号、宛先ポート番号}を含む5タプルを介するような、適切な方法で指定されてもよい。MAを確立する前にMNとCN間で保持された接続は、テーブルに追加されることはなく、MAが確立された後の新しい接続だけが追加される。
【0056】
本明細書の原理によれば、トラフィック接続(複数可)とMAまたはMAペアとの間の1対1のマッピングを有することが可能である。この場合には、MAまたはMAペアに関連付けられているすべての情報は、トラフィック接続のプロトコル制御ブロックに保持されうるので、接続テーブルは必要ではなくなる。
【0057】
加えて、接続のサブセットに指定されたポリシーまたはIPアドレス、あるいはその他の関連情報のような、すべての非セキュリティ関連のメッセージングは、MA内のKUおよびBUハンドシェークに結合処理されてもよい。
【0058】
図9に示されるように、モビリティセッションは、MNとCN間の接続を攻撃者に占有されないように、トラフィック接続に適正に連結される必要がある。この脆弱性を回避するため、モビリティセッションは、トラフィック接続の形成と同時、またはそれに先だって開始される必要がある。さらに、トラフィック接続のIPアドレスとモビリティセッションのIPアドレスは同一でなければならない。加えて、モビリティセッションは、対応するトラフィック接続が終了したら直ちに終了する必要がある。そうすることで、MNとCN間の将来のトラフィック接続をハイジャックするために、敵対者が、MNのアドレスをスプーフィングしてCNとのモビリティセッションを先手を取って作成することを防止する。
【0059】
ホスト間の信号伝達は、たとえばUDPのような、適切な方法を介して実行されてもよい。たとえば、HIPに対して行なわれたように、新しいプロトコルタイプもまた、この目的のために導入されてもよい。さらに、メッセージは、たとえばTCP移行により、提案されたようにパケットヘッダを介してトラフィック接続に多重化されてもよい。
【0060】
本明細書の原理によれば、トランスポート接続システムは、
メッセージを送信および受信するように構成された第1のデバイスと、メッセージを送信および受信するように構成された第2のデバイスとを備え、第1のデバイスにより生成されたメッセージiは、前のメッセージi−1で第1のデバイスから第2のデバイスに送信されたHash(Ri−1)への秘密Ri−1を含み、メッセージiはランダム鍵Ai−1により署名され、ランダム鍵は鍵Ai−2の更新から導かれており、前のメッセージi−1は鍵Ai−2により署名される。第1のデバイスは、以前のネットワークロケーションにおいて維持された前のメッセージを通じて第2のデバイスとの関連を証明するために、異なるネットワークロケーションからメッセージを送信することができる。
【0061】
コレスポンデントノード(CN)に選択的に接続するように構成されたモバイルノードは、メッセージを生成するためにモビリティノード(MN)に動作可能に接続されたプロセッサを含むことができ、メッセージiは、MNによって生成されキャッシュに入れられた新しいランダムRiの暗号化ハッシュ、前のメッセージのランダムRi−1、およびCNから受信した鍵に基づくMACを含む。
【0062】
ネットワークにわたりトランスポート接続を維持する2つのホスト間のセキュリティプロトコルを操作する方法は、メッセージを生成および受信するために、モビリティノードMNを提供するステップと、MNからのメッセージを生成、認証、および受信するために、MNをコレスポンデントノードCNに選択的に接続するステップと、MNにおいてランダムナンスR
i−1を引き継がれた第1の暗号ハッシュを含む第1のMNメッセージを生成して、MNにおいてランダムナンスR
i−1をキャッシュに入れるステップと、セッション中に、ナンスR
i−1の第1の暗号ハッシュを含む第1のMNメッセージをCNに送信するステップと、CNによりランダムナンスR
i−1の第1の暗号ハッシュをキャッシュに入れるステップと、CNにおいてランダム鍵を含む第1のCNメッセージを生成して、CNにおいてランダム鍵をキャッシュに入れるステップと、ランダム鍵を含む第1のCNメッセージをMNに送信するステップと、MNにおいてランダム鍵をキャッシュに入れるステップと、MNにより新しいランダムナンスRiを生成するステップと、第2のMNメッセージをMNからCNに送信するステップであって、第2のMNメッセージは新しいランダムナンスRiの暗号ハッシュ、ランダムナンスR
i−1、およびCNによりMNに提供されるランダム鍵に基づくMACを含むステップとを含み、鍵の反復を含むMNとCN間の連結されたメッセージのチェーンは、MNがセッション所有者であることを認めさせる。
【0063】
方法はまた、CNにより第2のMNメッセージを受信するステップと、CNにおいてランダムナンスR
i−1のハッシュを確認するステップと、CNにおいてランダム鍵のHMACおよび関連するメッセージを確認するステップと、CNにおいて新しいランダムナンスRiの暗号ハッシュをキャッシュに入れるステップと、CNにおいてランダム鍵dAを作成してキャッシュに入れるステップと、CNにおいてランダム鍵にランダム鍵dAを加えたものと同等の新しい鍵をキャッシュに入れるステップと、ランダム鍵dAおよびランダム鍵に基づくMACをMNに転送するステップとを含むこともできる。
【0064】
方法はまた、MNから後続のメッセージを受信した後、ランダム鍵dAiの後続の増分をMNに送信するステップを含むこともできる。
【0065】
MNは、接続ポイントにおいてネットワークノードに動作可能に接続された周辺デバイスによってさらに定義されてもよく、周辺デバイスはIPアドレスを有する。
【0066】
ランダムナンスR
i−1は、初期ナンスであってもよい。
【0067】
CNからMNへの各メッセージは、前のナンスを含む戻りメッセージ本文の少なくとも一部にわたりMACを含むことができる。
【0068】
MACは、ハッシュベースのMACによってさらに定義されてもよい。
【0069】
戻りメッセージ本文は秘密を含むことができ、CNからMNへの各メッセージのMACは、前のナンスおよび秘密をカバーすることができる。
【0070】
セッションは、トランスポート接続の形成の前、または形成と同時に開始することができる。
【0071】
セッションは、MNとCN間で維持された複数のトランスポート接続のトランスポート接続の形成の前、または形成と同時に開始することができる。
【0072】
セッションは、MNとCN間のトランスポート接続の少なくとも1つ、および複数のトランスポート接続が終了した後に終了することができる。
【0073】
第2のトランスポート接続は、CNからMNに形成されてもよく、CNは、第2のトランスポート接続を介してセッション中にその接続ポイントへの変更でMNを更新することができる。
【0074】
方法は、CNにおいてネットワーク接続ポイント変更メッセージを受信するステップをさらに含むことができ、CNは、さらにメッセージを処理する前に、ランダムナンスR
i−1を引き継いだ第1の暗号ハッシュが、ネットワーク接続ポイント変更メッセージに含まれているランダムナンスR
i−1と同一であるかどうかを確認する。
【0075】
方法はまた、CNにおいてランダム鍵更新に含まれるMACを確認するステップを含むこともできる。
【0076】
ホストのうちの少なくとも1つは、サーバ、ラップトップ、PC、スマートフォン、テレビジョン、PDA、ゲーム機、プッシュツートークデバイス、および周辺デバイスのうちの少なくとも1つによりさらに定義されてもよい。
【0077】
方法は、MNとの複数の物理または論理L2インターフェイス接続を提供するステップをさらに含むことができ、複数のインターフェイスの各インターフェイスは個々のIPアドレスをサポートする。
【0078】
方法は、複数のIPアドレスをサポートするMNとの1つの物理または論理L2インターフェイス接続を提供するステップをさらに含むことができる。
【0079】
方法において、MNおよびCNはトランスポート接続のサブセットを維持することができ、更新をトランスポート接続のサブセットのうちの1つに適用するステップをさらに備える。
【0080】
方法において、複数のIPアドレスのうちの1つはアクティブなIPアドレスであり、MNは、アクティブなIPアドレスのアイデンティティが変化した場合、第2のメッセージでCNを更新する。
【0081】
本明細書の原理によるモビリティノード(NM)は、メッセージを生成および受信するために、モビリティノード(MN)に動作可能に接続されたプロセッサを含むことができ、プロセッサは、モビリティノードのIPアドレスが変化した場合、IPアドレス更新をコレスポンデントノード(CN)に送信するための信号伝達メッセージを生成することができ、信号伝達メッセージは、ランダム鍵のハッシュおよび秘密を含み、認証コード(MAC)は信号伝達メッセージの少なくとも一部に適用される。
【0082】
MNは、USBメモリストレージデバイスに動作可能に接続されたプロセッサを有することができ、USBメモリストレージデバイスは、プロセッサと共に信号伝達メッセージを生成、送信、受信、および格納するための自動実行アルゴリズムを含むことができる。
【0083】
モビリティノード(NM)とのモビリティアソシエーション(MA)を容易にするためにコレスポンデントノード(CN)は、モビリティノードから鍵および秘密を含むメッセージを受信、確認、および生成するためのCNに動作可能に接続されたプロセッサを含むことができ、認証コード(MAC)はメッセージの少なくとも一部に適用され、CNはMNからのすべての以前のメッセージを確認する。
【0084】
セキュリティプロトコルは、ネットワークにわたりトランスポート接続を維持する2つのモバイルホストに、動作可能な接続で提供され、2つのモバイルホスト間で交換されてもよい。セキュリティプロトコルは、コレスポンデントノード(CN)へのトランスポート接続を形成するモビリティノード(NM)を含むことができ、MNは第1のモバイルホスト(FMH)であり、CNは第2のモバイルホスト(SMH)であり、CNはMNへの第2のトランスポート接続を形成し、FMHおよびSMHはいずれも、セッション中または時間フレーム内に、信号伝達メッセージを介して、それぞれ第1および第2のトランスポート接続経由で接続ポイントの変更に関する更新を選択的に送信し、信号伝達メッセージは、秘密番号の暗号ハッシュを採用するナンス更新であって、秘密番号は、信号伝達メッセージがセッションに対して生成された最初のメッセージである場合を除いて、前のメッセージのナンスを生成するために使用されるナンス更新と、FMHおよびSMHによりセッション中に合意された鍵を含む信号伝達メッセージの少なくとも一部に適用される認証コード(MAC)とを含む。
【0085】
セキュリティプロトコルは、ネットワークにわたりトランスポート接続を維持する2つのモバイルホストに、動作可能な接続で提供され、2つのモバイルホスト間で交換されてもよく、FMHは第1のトランスポート接続のための第1の独立鍵(FIK)を生成し、SMHは第2のトランスポート接続のための第2の独立鍵(SIK)を生成する。
【0086】
本明細書において示されるすべての実施形態は、コンピュータ、携帯電話、PDA、テレビジョンなどのような、通信デバイス間の安全な通信を動作可能に容易にするように構成され構築されたシステムおよび方法を介して達成される原理を含む。そのようなものとして、本明細書における各々の例示的なシステムまたは方法は、暗号が通信デバイス間で伝送されうる通信、無線、またはその他のネットワークへの信号の動作可能な接続を考慮する。
【0087】
本明細書における実施形態は、例示の目的のために説明され示されたものに過ぎず、本発明の原理を限定するものとして解釈されるべきではない。変更は当業者には明らかであり、本明細書における原理の精神を逸脱することのないすべての変更は、添付の特許請求の範囲に含まれることが意図されている。当業者であれば、本開示が基にする概念が、本発明の原理の複数の目的を実行するためのその他の構造体、方法、およびシステムの設計ための基礎として容易に活用されうることを理解するであろう。
【0088】
したがって、前述の説明は、本明細書における原理の例示に過ぎないものと見なされる。さらに、多数の変形および変更が当業者には容易に考案されるので、示され説明される厳密な構造体および操作に本原理を限定することは望ましくなく、したがって、本明細書において説明される原理の範囲内に含まれるすべての適切な変更および等価物が用いられてもよい。