(57)【特許請求の範囲】
【請求項１】
コンテンツセントリックネットワークのクライアントとサーバの間でデータパケットのストリームを転送するためにセキュリティで保護されたセッションを確立する方法であって、
前記サーバと前記クライアントの間で第１のネームスペース部分指示を交換するステップと、
前記クライアントが前記第１のネームスペース部分指示から第１のネームスペース部分を導き出すステップと、
前記クライアントが前記第１のネームスペース部分を、前記サーバに対する前記クライアントからの、データパケットの前記ストリームの第１のデータパケットを求める第１の要求の第１のネームスペースに組み込むステップと、
前記サーバが前記第１のネームスペース部分指示から第１のネームスペース部分を導き出すステップと、
前記サーバが前記第１のネームスペース部分を、データパケットの前記ストリームの第１のデータパケットに関連付けられた第１のネームスペースに組み込むステップと、
前記クライアントが後続のネームスペース部分を導き出すステップであって、前記後続のネームスペース部分が、前記第１のデータパケットの転送に基づき、前記後続のネームスペース部分が、前記第１のネームスペース部分とは異なる、導き出すステップと、
前記クライアントが前記後続のネームスペース部分を、前記サーバに対する前記クライアントからの、データパケットの前記ストリームの後続のデータパケットを求める後続の要求の後続のネームスペースに組み込むステップと
前記サーバが後続のネームスペース部分を導き出すステップであって、前記後続のネームスペース部分が、前記第１のデータパケットの転送に基づき、前記後続のネームスペース部分が、前記第１のネームスペース部分とは異なる、導き出すステップと、
前記サーバが前記後続のネームスペース部分を、データパケットの前記ストリームの後続のデータパケットに関連付けられた後続のネームスペースに組み込むステップを備える、方法。
【請求項２】
前記第１のネームスペース部分指示が、前記クライアントと前記サーバによって共有される暗号化キーを備え、前記第１のネームスペース部分が、前記暗号化キーから導き出される、請求項１に記載の方法。
【請求項３】
前記第１のネームスペース部分指示が、前記クライアントと前記サーバによって共有される暗号化キーを備え、前記第１のネームスペース部分が、前記暗号化キーに適用される、前記クライアントと前記サーバによって共有されるハッシュ関数から導き出される、請求項１または２に記載の方法。
【請求項４】
前記第１のネームスペース部分指示が、前記クライアントと前記サーバによって共有される暗号化キーによって暗号化された前記第１のネームスペース部分を備え、前記第１のネームスペース部分が、前記暗号化キーを使用して前記第１のネームスペース部分指示を復号することによって導き出される、請求項１から３のいずれかに記載の方法。
【請求項５】
前記後続のネームスペース部分が、前記クライアントと前記サーバによって共有される暗号化キーによって暗号化された前記第１のデータパケットを備え、前記後続のネームスペース部分が、前記第１のデータパケットから導き出される、請求項１から４のいずれかに記載の方法。
【請求項６】
前記後続のネームスペース部分が、暗号化キーを使用して前記第１のデータパケットを復号することによって前記第１のデータパケットのうちの１つから、また前記第１のデータパケットに適用されたハッシュ関数から導き出される、請求項１から５のいずれかに記載の方法。
【請求項７】
前記後続のネームスペース部分が、前記第１のデータパケットおよび前記第１のネームスペース部分に適用されたハッシュ関数から導き出される、請求項１から６のいずれかに記載の方法。
【請求項８】
前記第１のネームスペース部分が、ランダム値、および疑似ランダム値のシーケンスの中の選択された値のうちの１つを備える、請求項１から７のいずれかに記載の方法。
【請求項９】
前記後続のネームスペース部分が、別のランダム値、および疑似ランダム値の前記シーケンスの中の別の選択された値のうちの１つを備える、請求項１から８のいずれかに記載の方法。
【請求項１０】
前記クライアントが、後続のネームスペース部分を導き出すステップであって、前記後続のネームスペース部分が、先行するネームスペース部分とは異なる、導き出すステップと、
前記クライアントが、前記後続のネームスペース部分を、前記サーバに対する前記クライアントからの、データパケットの前記ストリームの後続のデータパケットを求める後続の要求の後続のネームスペースに組み込むステップとを備える、請求項１から９のいずれかに記載の方法。
【請求項１１】
前記クライアントが、コンテンツ識別子が変わらないデータパケットの前記ストリームの後続のデータパケットを求める要求のネームスペースに関して、前記クライアントと前記サーバによって共有されるソルト関数を前記コンテンツ識別子に適用して、コンテンツ識別子の可変性を大きくするステップを備える、請求項１から１０のいずれかに記載の方法。
【請求項１２】
コンテンツセントリックネットワークのサーバとクライアントの間でデータパケットのストリームを転送するためにセキュリティで保護されたセッションを確立するように動作可能な前記クライアントであって、
前記サーバと前記クライアントの間で第１のネームスペース部分指示を交換するように動作可能な交換する手段と、
前記第１のネームスペース部分指示から第１のネームスペース部分を導き出し、前記第１のネームスペース部分を、データパケットの前記ストリームの第１のデータパケットを求める、前記サーバに対する第１の要求の第１のネームスペースに組み込むように動作可能な導き出す手段とを備え、前記導き出す手段が、前記第１のネームスペース部分とは異なる後続のネームスペース部分を導き出し、前記後続のネームスペース部分を、データパケットの前記ストリームの後続のデータパケットを求める、前記サーバに対する後続の要求の後続のネームスペースに組み込むようにさらに動作可能である、クライアント。
【請求項１３】
コンテンツセントリックネットワークのサーバとクライアントの間でデータパケットのストリームを転送するためにセキュリティで保護されたセッションを確立するように動作可能なサーバであって、
前記サーバと前記クライアントの間で第１のネームスペース部分指示を交換するように動作可能な交換する手段と、
前記第１のネームスペース部分指示から第１のネームスペース部分を導き出すように動作可能な導き出す手段と、
前記第１のネームスペース部分を、データパケットの前記ストリームの第１のデータパケットに関連付けられた第１のネームスペースに組み込むように動作可能な組み込む手段とを備え、
前記導き出す手段が、後続のネームスペース部分を導き出すように動作可能であり、前記後続のネームスペース部分が、前記第１のデータパケットの転送に基づき、前記後続のネームスペース部分が、前記第１のネームスペース部分とは異なり、
前記組み込む手段が、前記後続のネームスペース部分を、データパケットの前記ストリームの後続のデータパケットに関連付けられた後続のネームスペースに組み込むように動作可能である、サーバ。
【請求項１４】
コンピュータに、請求項１から１１のいずれか一項に記載の方法のサーバにより実行されるステップを実行させる、コンピュータプログラム。
【請求項１５】
コンピュータに、請求項１から１１のいずれか一項に記載の方法のクライアントにより実行されるステップを実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツセントリックネットワーキングの方法、クライアント、サーバ、およびコンピュータプログラム製品に関する。
【背景技術】
【０００２】
コンテンツセントリックネットワーキングが知られている。そのようなコンテンツセントリックネットワーキングにおいて、データネットワークにおけるコンテンツの配信に関するルーティングパラダイムが提供される。具体的には、コンテンツセントリックネットワーク内のネットワークノードに対してコンテンツを求める要求が行われ、その要求を受信するネットワークノードが、そのコンテンツのローカルコピーを有する場合には、そのローカルコピーが要求側ノードに戻されるようにルーティングされる。しかし、ネットワークノードが、そのコンテンツを有さない場合には、その要求は、そのコンテンツが戻されるまで、またはコンテンツが全く戻されず、誤りメッセージが要求側ノードに供給されるまで、ネットワークの中で伝播される。通常、そのコンテンツが要求側ノードに戻されると、そのコンテンツのコピーが、そのコンテンツを求める後の要求が行われることがあれば、ネットワークノードがそのコンテンツをアクセス可能にしておくために、ネットワークノードによってローカルで格納されることが可能である。
【０００３】
そのようなアプローチは、コンテンツが提供されることを可能にするものの、そのようなアプローチにそれ自身の欠点がないことはない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、コンテンツセントリックネットワーキングのための改良された技法をもたらすことが所望される。
【課題を解決するための手段】
【０００５】
第１の態様によれば、コンテンツセントリックネットワークのクライアントとサーバの間でデータパケットのストリームを転送するためにセキュリティで保護されたセッションを確立する方法が提供され、この方法が、サーバとクライアントの間で第１のネームスペース部分指示を交換するステップと、第１のネームスペース部分指示から第１のネームスペース部分を導き出すステップと、第１のネームスペース部分を、サーバに対するクライアントからの、データパケットのストリームの第１のデータパケットを求める第１の要求の第１のネームスペースに組み込むステップと、後続のネームスペース部分を導き出すステップであって、この後続のネームスペース部分が、第１のデータパケットの転送に基づき、この後続のネームスペース部分が、第１のネームスペース部分とは異なる、導き出すステップと、この後続のネームスペース部分を、サーバに対するクライアントからの、データパケットのストリームの後続のデータパケットを求める後続の要求の後続のネームスペースに組み込むステップとを備える。
【０００６】
第１の態様は、既存のコンテンツセントリックネットワーキングアプローチに関する問題が、それらのアプローチが通常、セキュリティに大きい重点を置くものであるが、このことにより、公開キーインフラストラクチャ暗号化システムを使用してすべてのネットワークパケットに署名が行われることが通常要求されるということである。このことは、ネットワークが、すべてのパケットの出所を検証することを可能にするが、このことは、非対称暗号化が非常に遅いのでパフォーマンスに影響を及ぼす。
【０００７】
このことを軽減するのに、第１の態様は、パフォーマンス向上が、コンテンツセントリックネットワークにおいてセキュリティで保護されたセッションを実施することによって実現され得ることであり、セキュリティで保護されたセッションは、そのセッションの始めに、認証が１回、実行され、このため、個々のデータパケットに署名が行われる必要がない、２つのネットワークノード間のデータパケットのストリームの転送である。
【０００８】
コンテンツセントリックネットワーク内でセキュリティで保護されたセッションを確立する際、通信する当事者は、通常、これらの当事者が情報を交換することができるネームスペースについて合意する必要がある。サーバ端で、このネームスペースは、着信するパケットを所与のセッションに属するものとして識別する役割をする。着信するパケットがいずれのセッションに属するかを知ることは、サーバが、そのデータパケットを復号するのに必要とされる暗号化キーを取り出すことを、通常、可能にする。
【０００９】
単一のクライアントとだけ共有されるキーを使用することによって、サーバは、送信側の識別子が、そのキーに対するアクセスを有する他の唯一のネットワークノードであると暗黙に検証することができる。したがって、セキュリティで保護されたセッションのそのような識別子の役割をすることの以外には、ネームスペースの特定のフォーマットは、交換されているデータと直接の相関関係を全く有さず、いくつもの異なる原理に基づいて選択されることが可能である。
【００１０】
後段で説明されるネームスペース選択技法を使用することによって、関係するセッショントラフィックの相関関係を解消すること、セッションによって確立された機構に対してリプレイアタックを実行する機会を完全に除去することを含む、他のネームスペース選択スキームに優るいくつかの利点が実現され得る。
【００１１】
したがって、クライアントとサーバの間でセキュリティで保護されたセッションを確立する方法が提供される。第１のネームスペース部分指示が、クライアントとサーバの間で交換されることが可能である。第１のネームスペース部分が、この指示から導き出されることが可能である。第１のネームスペース部分が、サーバからの第１のデータパケットを求めるクライアントからの要求に関連付けられた第１のネームスペースに組み込まれることが可能である。次に、第１のネームスペース部分とは異なる後続のネームスペース部分が導き出されることが可能である。次に、この後続のネームスペース部分が、サーバからの後続のデータパケットを求める後続の要求に組み込まれることが可能である。
【００１２】
したがって、第１のデータパケットに関連付けられたネームスペースが、クライアントとサーバの間で決定されることが可能である。次に、後続のデータパケットに関連付けられたネームスペースが、第１のデータパケットの転送の後に、クライアントとサーバによって導き出されることが可能である。このようにして、各データパケットのネームスペースは、変わり、後続のデータパケットを転送する際に、２つのノードの間で行われる必要があるさらなる認証を全く必要とせずに、ネームスペースが次々にデイジーチェーン接続するように、先行するデータパケットに関係付けられる。代わりに、後続の各データパケットに関するネームスペースは、先行するデータパケットに基づいて導き出され得る。クライアントとサーバの両方が、後続の各データパケットに関して正しいネームスペースを導き出す限り、クライアントとサーバの間のセッションは、セキュリティで保護されているものと想定されることが可能であり、このことが、まだなおセキュリティを維持しながら、パフォーマンスを大幅に向上させる。また、ネームスペースは、概ねランダムであるように見える様態でデータパケットごとに変わるため、このことが、コンテンツセントリックネットワークを介して転送されているデータパケットが関係していることを、傍受するノードが特定するのを困難にし、さらに後続の各データパケットに、先行するデータパケットの伝送の後でしかネームスペースが割り当てられないため、このことが、第三者がそのデータストリームにアクセスするのも、リプレイアタックを行うのも困難にする。
【００１３】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーを備え、第１のネームスペース部分は、この暗号化キーから導き出される。したがって、暗号化キーは、サーバとクライアントによって共有されることが可能であり、このことは、キーが「公になっている」（すなわち、開示されている、またはセキュリティで保護されていない通信から容易に導き出すことが可能である）ことなしに、知られている技法を使用して行うことができる。すると、第１のネームスペース部分は、このセキュリティで保護された暗号化キーからクライアントとサーバの両方によって導き出され得る。
【００１４】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーを備え、第１のネームスペース部分が、この暗号化キーに適用される、クライアントとサーバによって共有されるハッシュ関数から導き出される。したがって、暗号化キー自体からネームスペース部分を単に導き出すのではなく、ハッシュ関数が、暗号化キーにハッシュ関数を適用することによって導き出される、第１のネームスペース部分の導出をさらに複雑にするのに利用されることも可能である。ハッシュ関数の共有は、ハッシュ関数が公になっていることがないことを確実にするために、暗号化キーの共有と類似した様態で実現され得ることが理解されよう。
【００１５】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーによって暗号化された第１のネームスペース部分を備え、第１のネームスペース部分が、この暗号化キーを使用して第１のネームスペース部分指示を復号することによって導き出される。したがって、第１のネームスペース部分は、暗号化キーを使用する復号によってネームスペース部分をそれぞれが導き出すことができる、サーバとクライアントの間で暗号化された形態で伝送されることが可能である。
【００１６】
一実施形態において、後続のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーによって暗号化された第１のデータパケットを備え、後続のネームスペース部分が、第１のデータパケットから導き出される。したがって、後続のネームスペース部分は、第１のデータパケットを復号することによって導き出されることが可能である。
【００１７】
一実施形態において、後続のネームスペース部分が、暗号化キーを使用して第１のデータパケットを復号することによって第１のデータパケットから導き出される。したがって、後続のネームスペース部分は、第１のデータパケットによって符号化され、さらに暗号化されることが可能である。後続のネームスペース部分を導き出すのに、データパケットは、後続のネームスペース部分をあらわにするように復号され、解読される。このことは、後続のネームスペースの導出が、先行するデータパケットを正しく受信して、解読することに基づく必要があるので、セキュリティで保護されたセッション内で保証をもたらすのに役立つ。先行する各データパケットが正しく受信され、解読され、さらに復号される限り、後に続くデータパケットのネームスペースは、導き出すことが可能である。また、後続の各ネームスペースに対する要求が行われつづける間、セキュリティで保護されたセッションが損なわれていることも、中断されていることもないことを意味することも可能である。
【００１８】
一実施形態において、後続のネームスペース部分が、第１のデータパケットに適用されたハッシュ関数から導き出される。この場合も、ハッシュ関数を利用することによって、後続のネームスペース部分の完全性が高められる。
【００１９】
一実施形態において、後続のネームスペース部分が、第１のデータパケットおよび第１のネームスペース部分に適用されたハッシュ関数から導き出される。この場合も、ハッシュ関数を利用することによって、後続のネームスペース部分の完全性が高められる。
【００２０】
一実施形態において、第１のネームスペース部分が、ランダム値、および疑似ランダム値のシーケンスの中の選択された値のうちの１つを備える。サーバとクライアントの間で交換される指示から導き出されたランダム値に基づいて第１のネームスペース部分を導き出すことによって、第１のデータパケットに関連付けられたネームスペースが、予測するのが困難である。同様に、サーバとクライアントの間で交換される指示から導き出され得る疑似ランダムシーケンスの中の選択された値から第１のネームスペース部分を導き出して、やはり、初期ネームスペースが、クライアントとサーバだけによって導き出され得ることが可能であり、その結果、セキュリティで保護されたセッションが可能になる。一実施形態において、前もって交換された暗号化関数Ｅおよびキーｋを使用することによって、予測可能な疑似ランダム数ジェネレータをもたらすことが可能であることが理解されよう。開始点ｘが合意されて、さらに開始点ｘが繰り返し暗号化された場合、開始点ｘは、Ｅ＿ｋ（ｘ）からＥ＿ｋ（Ｅ＿ｋ（ｘ））に、Ｅ＿ｋ（Ｅ＿ｋ（ｘ））からＥ＿ｋ（Ｅ＿ｋ（Ｅ＿ｋ（Ｅ＿ｋ（ｘ））））に進展するといった具合であり、それは、Ｅ、ｋおよびｘが知られていないとき、完全にランダムに見える。同様に、Ｅ＿ｋ（）の代わりに、ハッシュ関数が使用されることも可能である。開始点ｘは、任意のもの、例えば、キーｋ自体であることも可能である。一実施形態において、後続のネームスペース部分が、別のランダム値、および疑似ランダム値のシーケンスの中の別の選択された値のうちの１つを備える。したがって、後続のネームスペース部分は、別のランダム値であり得る。このランダム値は、第１のデータパケットの転送に基づく、またはそのような転送から導き出されることが可能である。例えば、このランダム値が、第１のデータパケットに組み込まれることが可能であり、または、例えば、データパケット内のビットの特定のセットであることが可能である。したがって、後続のネームスペース部分は、その先行するデータパケットから導き出され得る。代替として、後続のネームスペース部分は、疑似ランダム値のシーケンスの中の別の選択された値であってもよい。やはり、この別の選択された値は、疑似ランダム値のシーケンスにおけるあらかじめ合意されたオフセットであることが可能であり、または先行するデータパケットによって示されることが可能である。やはり、このことが、セキュリティで保護されたセッションの確立を可能にし、さらに第三者が、そのセキュリティで保護されたセッションに関する次のネームスペースを予測するのを困難にする。
【００２１】
一実施形態において、この方法は、後続のネームスペース部分を導き出すステップであって、後続のネームスペース部分が、先行するネームスペース部分とは異なる、導き出すステップと、これらの後続のネームスペース部分を、サーバに対するクライアントからの、データパケットのストリームの後続のデータパケットを求める後続の要求の後続のネームスペースに組み込むステップとを備える。したがって、後続の各要求に関連するネームスペースは、先行するデータパケットに基づくことが可能であり、それらのネームスペース部分のそれぞれは、セキュリティで保護されたセッションの完全性を向上させるために、先行するネームスペース部分とは異なる。
【００２２】
一実施形態において、データパケットのストリームのデータパケットを求める要求の各ネームスペースが、コンテンツプロバイダ識別子、ネームスペース部分を備えるセキュリティで保護されたセッション識別子、およびコンテンツ識別子のうちの少なくとも１つを備える。したがって、ネームスペースは、コンテンツプロバイダ識別子、ネームスペース部分を備えるセキュリティで保護されたセッション識別子、またはコンテンツ識別子を備えることが可能である。
【００２３】
一実施形態において、この方法は、コンテンツ識別子が変わらないデータパケットのストリームの後続のデータパケットを求める要求のネームスペースに関して、クライアントとサーバによって共有されるソルト関数をそのコンテンツ識別子に適用して、コンテンツ識別子の可変性を大きくするステップを備える。したがって、ソルティング手順が、ネームスペースに組み込まれる値の可変性を高めるために、要求、または要求のいくつかの部分に適用されることが可能である。通常、ソルティング手順は、第三者が、異なる要求を、何らかのコンテンツと関係するデータパケットのシーケンスを転送するためのセッションに関連するものとして互いに関係付けることができ得る確率を低くするために、コンテンツ識別子に適用されることが可能である。
【００２４】
第２の態様によれば、コンテンツセントリックネットワークのサーバとクライアントの間でデータパケットのストリームを転送するためにセキュリティで保護されたセッションを確立するように動作可能なクライアントが提供され、このクライアントが、サーバとクライアントの間で第１のネームスペース部分指示を交換するように動作可能な交換するロジックと、第１のネームスペース部分指示から第１のネームスペース部分を導き出し、第１のネームスペース部分を、データパケットのストリームの第１のデータパケットを求める、サーバに対する第１の要求の第１のネームスペースに組み込むように動作可能な導き出すロジックとを備え、導き出すロジックが、後続のネームスペース部分を導き出すようにさらに動作可能であり、後続のネームスペース部分が、第１のデータパケットの転送に基づき、後続のネームスペース部分が、第１のネームスペース部分とは異なり、さらに導き出すロジックが、後続のネームスペース部分を、データパケットのストリームの後続のデータパケットを求める、サーバに対する後続の要求の後続のネームスペースに組み込むようにさらに動作可能である。
【００２５】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーを備え、導き出すロジックが、この暗号化キーから第１のネームスペース部分を導き出すように動作可能である。
【００２６】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーを備え、導き出すロジックが、この暗号化キーに適用される、クライアントとサーバによって共有されるハッシュ関数から第１のネームスペース部分を導き出すように動作可能である。
【００２７】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーによって暗号化された第１のネームスペース部分を備え、導き出すロジックが、この暗号化キーを使用して第１のネームスペース部分指示を復号することによって第１のネームスペース部分を導き出すように動作可能である。
【００２８】
一実施形態において、後続のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーによって暗号化された第１のデータパケットを備え、導き出すロジックが、第１のデータパケットから後続のネームスペース部分を導き出すように動作可能である。
【００２９】
一実施形態において、暗号化キーを使用して第１のデータパケットを復号することによって第１のデータパケットから後続のネームスペース部分を導き出すように動作可能な導き出すロジック。
【００３０】
一実施形態において、第１のデータパケットに適用されるハッシュ関数から後続のネームスペース部分を導き出すように動作可能な導き出すロジック。
【００３１】
一実施形態において、第１のデータパケットおよび第１のネームスペース部分に適用されるハッシュ関数から後続のネームスペース部分を導き出すように動作可能な導き出すロジック。
【００３２】
一実施形態において、第１のネームスペース部分が、ランダム値、および疑似ランダム値のシーケンスの中の選択された値のうちの１つを備える。
【００３３】
一実施形態において、後続のネームスペース部分が、別のランダム値、および疑似ランダム値のシーケンスの中の別の選択された値のうちの１つを備える。
【００３４】
一実施形態において、先行するネームスペース部分とは異なる後続のネームスペース部分を導き出し、後続のネームスペース部分を、サーバに対するクライアントからの、データパケットのストリームの後続のデータパケットを求める後続の要求の後続のネームスペースに組み込むように動作可能である導き出すロジック。
【００３５】
一実施形態において、データパケットのストリームのデータパケットを求める要求の各ネームスペースが、コンテンツプロバイダ識別子、ネームスペース部分を備えるセキュリティで保護されたセッション識別子、およびコンテンツ識別子のうちの少なくとも１つを備える。
【００３６】
一実施形態において、コンテンツ識別子が変わらないデータパケットのストリームの後続のデータパケットを求める要求のネームスペースに関して、クライアントとサーバによって共有されるソルト関数をそのコンテンツ識別子に適用して、コンテンツ識別子の可変性を大きくするように動作可能な導き出すロジック。
【００３７】
第３の態様によれば、コンテンツセントリックネットワークのクライアントとサーバの間でデータパケットのストリームを転送するためにセキュリティで保護されたセッションを確立する方法が提供され、この方法が、サーバとクライアントの間で第１のネームスペース部分指示を交換するステップと、第１のネームスペース部分指示から第１のネームスペース部分を導き出すステップと、第１のネームスペース部分を、データパケットのストリームの第１のデータパケットに関連付けられた第１のネームスペースに組み込むステップと、後続のネームスペース部分を導き出すステップであって、この後続のネームスペース部分が、第１のデータパケットの転送に基づき、この後続のネームスペース部分が、第１のネームスペース部分とは異なる、導き出すステップと、この後続のネームスペース部分を、データパケットのストリームの後続のデータパケットに関連付けられた後続のネームスペースに組み込むステップとを備える。
【００３８】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーを備え、第１のネームスペース部分が、この暗号化キーから導き出される。
【００３９】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーを備え、第１のネームスペース部分が、この暗号化キーに適用される、クライアントとサーバによって適用されるハッシュ関数から導き出される。
【００４０】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーによって暗号化された第１のネームスペース部分を備え、第１のネームスペース部分が、この暗号化キーを使用して第１のネームスペース部分指示を復号することによって導き出される。
【００４１】
一実施形態において、後続のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーによって暗号化された第１のデータパケットを備え、後続のネームスペース部分が、第１のデータパケットから導き出される。
【００４２】
一実施形態において、後続のネームスペース部分が、暗号化キーを使用して第１のデータパケットを復号することによって第１のデータパケットから導き出される。
【００４３】
一実施形態において、後続のネームスペース部分が、第１のデータパケットに適用されたハッシュ関数から導き出される。
【００４４】
一実施形態において、後続のネームスペース部分が、第１のデータパケットおよび第１のネームスペース部分に適用されたハッシュ関数から導き出される。
【００４５】
一実施形態において、第１のネームスペース部分が、ランダム値、および疑似ランダム値のシーケンスの中の選択された値のうちの１つを備える。
【００４６】
一実施形態において、後続のネームスペース部分が、別のランダム値、および疑似ランダム値のシーケンスの中の別の選択された値のうちの１つを備える。
【００４７】
一実施形態において、この方法は、後続のネームスペース部分を導き出すステップであって、後続のネームスペース部分が、先行するネームスペース部分とは異なる、導き出すステップと、後続のネームスペース部分を、データパケットのストリームの後続のデータパケットに関連付けられた後続のネームスペースに組み込むステップとを備える。
【００４８】
一実施形態において、データパケットのストリームのデータパケットを求める要求の各ネームスペースが、コンテンツプロバイダ識別子、ネームスペース部分を備えるセキュリティで保護されたセッション識別子、およびコンテンツ識別子のうちの少なくとも１つを備える。
【００４９】
一実施形態において、この方法は、クライアントと、データパケットのストリームのデータパケットを求める要求によって共有されるソルト関数を適用するステップを備える。
【００５０】
第４の態様によれば、コンテンツセントリックネットワークのサーバとクライアントの間でデータパケットのストリームを転送するためにセキュリティで保護されたセッションを確立するように動作可能なサーバが提供され、このサーバが、サーバとクライアントの間で第１のネームスペース部分指示を交換するように動作可能な交換するロジックと、第１のネームスペース部分指示から第１のネームスペース部分を導き出すように動作可能な導き出すロジックと、第１のネームスペース部分を、データパケットのストリームの第１のデータパケットに関連付けられた第１のネームスペースに組み込むように動作可能な組み込むロジックとを備え、導き出すロジックが、後続のネームスペース部分を導き出すように動作可能であり、この後続のネームスペース部分が、第１のデータパケットの転送に基づき、この後続のネームスペース部分が、第１のネームスペース部分とは異なり、組み込むロジックが、この後続のネームスペース部分を、データパケットのストリームの後続のデータパケットに関連付けられた後続のネームスペースに組み込むように動作可能である。
【００５１】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーを備え、導き出すロジックが、この暗号化キーから第１のネームスペース部分を導き出すように動作可能である。
【００５２】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーを備え、導き出すロジックが、この暗号化キーに適用される、クライアントとサーバによって共有されるハッシュ関数から第１のネームスペース部分を導き出すように動作可能である。
【００５３】
一実施形態において、第１のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーによって暗号化された第１のネームスペース部分を備え、さらに導き出すロジックが、この暗号化キーを使用して第１のネームスペース部分指示を復号することによって第１のネームスペース部分を導き出すように動作可能である。
【００５４】
一実施形態において、後続のネームスペース部分指示が、クライアントとサーバによって共有される暗号化キーによって暗号化された第１のデータパケットを備え、さらに導き出すロジックが、第１のデータパケットから後続のネームスペース部分を導き出すように動作可能である。
【００５５】
一実施形態において、暗号化キーを使用して第１のデータパケットを復号することによって第１のデータパケットから後続のネームスペース部分を導き出すように動作可能である導き出すロジック。
【００５６】
一実施形態において、第１のデータパケットに適用されたハッシュ関数から後続のネームスペース部分を導き出すように動作可能な導き出すロジック。
【００５７】
一実施形態において、第１のデータパケットおよび第１のネームスペース部分に適用されたハッシュ関数から後続のネームスペース部分を導き出すように動作可能な導き出すロジック。
【００５８】
一実施形態において、第１のネームスペース部分が、ランダム値、および疑似ランダム値のシーケンスの中の選択された値のうちの１つを備える。
【００５９】
一実施形態において、後続のネームスペース部分が、別のランダム値、および疑似ランダム値のシーケンスの中の別の選択された値のうちの１つを備える。
【００６０】
一実施形態において、導き出すロジックが、後続のネームスペース部分を導き出すように動作可能であり、後続のネームスペース部分が、先行するネームスペース部分とは異なり、組み込むロジックが、後続のネームスペース部分を、データパケットのストリームの後続のデータパケットに関連付けられた後続のネームスペースに組み込むように動作可能である。
【００６１】
一実施形態において、データパケットのストリームのデータパケットを求める要求の各ネームスペースが、コンテンツプロバイダ識別子、ネームスペース部分を備えるセキュリティで保護されたセッション識別子、およびコンテンツ識別子のうちの少なくとも１つを備える。
【００６２】
一実施形態において、サーバが、クライアントと、データパケットのストリームのデータパケットを求める要求によって共有されるソルト関数を適用するように動作可能なソルティングロジックを備える。
【００６３】
第５の態様によれば、コンピュータによって実行されると、第１の態様または第３の態様の方法ステップを実行するように動作可能なコンピュータプログラム製品が提供される。
【００６４】
さらなる特定の好ましい態様が、添付の独立請求項および従属請求項に記載される。従属請求項の特徴は、適宜、特許請求の範囲に明記される組み合わせ以外の組み合わせで、独立請求項の特徴と組み合わされてもよい。
【００６５】
装置の特徴が、機能をもたらすように動作可能であるものとして説明される場合、このことには、その機能をもたらす、またはその機能をもたらすように構成された、もしくは構成された装置の特徴が含まれることが理解されよう。
【００６６】
次に、本発明の実施形態を、添付の図面を参照してさらに説明する。
【図面の簡単な説明】
【００６７】
【図１Ａ】実施形態によるネームスペースを示す図である。
【図１Ｂ】実施形態によるネームスペースを示す図である。
【図２】一実施形態によるコンテンツセントリックネットワークを示す図である。
【図３】一実施形態によるコンテンツセントリックネットワークを介してセキュリティで保護されたセッションを確立し、このセッションにおいてコンテンツを転送する際の主要なメッセージングステップおよび処理ステップを示す図である。
【図４】一実施形態によるネームスペースデイジーチェーンを示す図である。
【発明を実施するための形態】
【００６８】
概要
実施形態をさらに詳細に説明する前にまず、概要を与える。コンテンツセントリックネットワークにおけるクライアントとコンテンツプロバイダの間でセキュリティで保護されたセッションを確立するための技法が提供される。
【００６９】
通常、コンテンツセントリックネットワークのクライアントは、図１Ａに示されるような「ネームスペース」へ、「インタレストパケット」の形態で要求を発行することによって、コンテンツに関するコンテンツにアクセスしようとする。ネームスペースの厳密なフォーマットは様々であり得るものの、一般に、ネームスペースは最初に、コンテンツセントリックネットワークプロトコルを識別するプロトコル部分１２を含む。コンテンツの送信元を通常、識別するコンテンツプロバイダ部分１４が与えられる。最後に、コンテンツ自体を一意に識別するコンテンツ識別子部分１６が与えられる。
【００７０】
インタレストパケットが受信されると、コンテンツセントリックネットワークにおける受信側ネットワークノードは、そのインタレストパケットに関連付けられたネームスペースを調べて、ネットワークノードがそのコンテンツのコピーをローカルで格納しているかどうかを判定する。ローカルで格納していない場合には、コンテンツセントリックネットワーク全体にそのインタレストパケットを伝播させるための様々な機構が存在する。
【００７１】
そのコンテンツを有するネットワークノードが、インタレストパケットを受信すると、そのコンテンツが、要求側クライアントにデータパケットとしてコンテンツセントリックネットワークを介して戻されるように供給され、さらにそのコンテンツを受信するネットワークノードが、そのコンテンツのコピーをネットワークノードのローカルキャッシュの中に格納することを所望するかどうかについて評価を行うことができる。
【００７２】
コンテンツセントリックネットワークにわたるデータ転送のセキュリティを向上させるため、図１Ｂに示されるとおり、強化されたネームスペース構成１０ａが利用される。この構成において、いくつかの部分を含むコンテンツ識別子１６ａが与えられる。第１の部分１８が、セキュリティで保護されたネームスペースまたは予約されたネームスペースにネームスペースが関連付けられていることを識別する。後段で説明されるとおり、転送される各データパケットとともに変わるセッション識別子部分２０が与えられる。要求されたコンテンツを一意に識別するさらなる部分２２が与えられる。
【００７３】
セッション識別子部分２０の値は、セッション内で送信される各インタレストパケットとともに変わる。各インタレストパケットのセッション識別子部分２０の値は、要求側クライアントおよびコンテンツプロバイダだけに知られている。さらに、セッション識別子部分２０の値は、同一のコンテンツが、異なる時点でクライアントによってサーバから要求される場合でさえ、異なる可能性が高い。このことは、そのコンテンツに関連付けられたネームスペースが、変わるとともに、コンテンツプロバイダおよび信頼される受信者にだけしか知られないので、コンテンツの配信のセキュリティを向上させる。さらに、コンテンツの後続の各部分のネームスペースは変化し、そのコンテンツを要求するインタレストパケットが作成されるにつれて、作成されるのみである。このことが、コンテンツに第三者がアクセスするのを極めて難しくするとともに、第三者がコンテンツの一部分にアクセスできる場合でさえ、第三者が、そのコンテンツの次の部分にアクセスするのが困難である。さらに、変化するネームスペースの性質のため、コンテンツが傍受された場合でさえ、ネームスペースにおいて、コンテンツの様々な部分の間の関係の明白な指示が、通常、存在しないので、コンテンツ部分が互いに関係するかどうかを識別するのが困難である。したがって、このことが、事実上、コンテンツセントリックネットワークにおけるコンテンツのポイントツーポイント転送のためのセキュリティ機構をもたらす。ネットワークノードによってネットワークノードのキャッシュ内にローカルで格納されたコンテンツは、再び要求されることがないと、最終的に破棄される。
【００７４】
コンテンツセントリックネットワーク
図２は、一実施形態によるコンテンツセントリックネットワークを示す。クライアント３０が、互いに接続された、いくつかのネットワークノード５０から成るコンテンツセントリックネットワーク４０に接続される。やはりまた、コンテンツセントリックネットワーク４０に接続されるのが、コンテンツセントリックネットワークにコンテンツを、そのコンテンツを求める受信されたインタレストパケットに応答して供給する、コンテンツプロバイダに関連付けられたサーバ６０である。
【００７５】
前述したとおり、クライアント３０が、コンテンツセントリックネットワーク４０からのコンテンツを要求する際、クライアント３０は、図１Ａおよび図１Ｂに示されるとおり、特定のネームスペースに関連付けられたコンテンツを求めるインタレストパケットを発行することによって、これを行う。ネットワークノード４０のうちのいずれかがローカルキャッシュの中に、そのネームスペースに関連付けられたコンテンツを有するような場合、そのコンテンツが、データパケットとしてクライアント３０に供給される。
【００７６】
ネットワークノード５０のいずれも、インタレストパケットの中のネームスペースに関連付けられたコンテンツを有さない場合、最終的に、このインタレストパケットは、ネームスペースのコンテンツプロバイダ部分１４に設定されたコンテンツプロバイダに関連付けられたサーバ６０に伝播される。
【００７７】
次に、サーバ６０が、サーバ５０のネームスペース７０を検査して、サーバ６０に、そのネームスペースに関連付けられたコンテンツが用意されているかどうかを判定する。サーバ６０が、コンテンツ識別子部分１６、１６ａが、サーバ６０のネームスペース７０におけるエントリと合致することを識別した場合、関連するコンテンツ９０が、データパケットとして供給される。部分１６、１６ａが、ネームスペース７０におけるいずれのエントリとも合致しない場合、コンテンツは、全く供給されず、誤りメッセージがオプションとして送信され得る。
【００７８】
予約されたネームスペース
クライアント３０とサーバ６０の間でセキュリティで保護されたセッションをサポートするのに利用されるネームスペース７０の予約された部分８０が、与えられる。具体的には、ネームスペース７０のこの予約された部分８０内のエントリが、セキュリティで保護されたセッション内のデータ転送をサポートするのに動的に利用される。具体的には、コンテンツを求めるインタレストパケットがクライアント３０によって発行されると、セキュリティで保護された部分８０内でエントリが作成され、さらにそのエントリが、要求されたコンテンツに関連付けられる。
【００７９】
しかし、ネームスペースエントリは、一意であり、セキュリティで保護されたセッション中に特定のコンテンツを求める要求に応答して利用されることに限られる。後段でより詳細に説明されるとおり、このネームスペースは、クライアント３０およびサーバ６０だけに知られなければならず、他のいずれのネットワークノードによっても導き出されることが可能であってはならない。さらに、このネームスペースは、コンテンツを求める要求が行われるたびに、その要求が同一のクライアントから来て、同一のコンテンツプロバイダからの同一のコンテンツと関係する場合でさえ、異ならなければならない。
【００８０】
コンテンツは、通常、インタレストパケットのシーケンスを使用して要求され、さらにセッション内で各インタレストパケットに関連付けられたネームスペースは、異なるとともに、クライアント３０およびサーバ６０だけに知られる。このため、外部の観察者には、供給されるコンテンツは、完全に異なるネームスペースと関係するように見え、したがって、互いに無関係に見える。伝送の順序からコンテンツの順序を推測することが可能であり得るものの、ネームスペースを変えることが、いずれのパケットが同一のセッションに属するかをカムフラージュするのに役立つ。このことが、コンテンツが正しい順序で再組み立てされるのを非常に困難にする。さらに、コンテンツは、通常、コンテンツが要求されるまでしかネームスペースに関連付けられないことから、別のネットワークノードが、インタレストパケットを再発行することによってサーバ６０に対するスプーフアタックにおいてその要求をリプレイしようと試みたとしても、同一のコンテンツが、そのネームスペースで利用可能である可能性は低い。さらに、コンテンツの後続の部分に割り当てられる、さらなる各ネームスペースは、先行するインタレストパケットに関連付けられた情報、および／または供給されるコンテンツから導き出され、このことが、事実上、後続のコンテンツ部分に関連するネームスペース間のデイジーチェーン関係をもた  らすことが通常である。
【００８１】
クライアント３０からの要求に応答してサーバ６０からのコンテンツの３つの部分、Ｃ３−１、Ｃ３−２、およびＣ３−３を転送するためにセキュリティで保護されたセッションが確立される以下の例を考慮されたい。
【００８２】
図２に示されるとおり、コンテンツの第１の部分、Ｃ３−１を求めるインタレストパケットが、Ａで示されるとおり、予約されたネームスペース８０にアドレス指定される。後段でより詳細に説明されるとおり、セッション識別子部分２０が、クライアント３０とサーバ６０の両方だけに知られることになるセッションＸの値を有する。セッションＸの値は、予約されたネームスペース８０内の任意の値であり得ることが理解されよう。
【００８３】
コンテンツＣ３−１、の受信後、次のネームスペース（具体的には、セッションＸ＋１の値）が、サーバ６０によって計算され、さらにこの次のネームスペースが、コンテンツＣ３−２に関連付けられる。
【００８４】
セッションＸ＋１の値がまた、クライアント３０によって決定され、Ｂに示されるように、コンテンツＣ３−２を求める次のインタレストパケットがネームスペースにアドレス指定される。
【００８５】
コンテンツＣ３−２を与えた後、次にサーバ６０は、コンテンツＣ３−３に関連付けられたネームスペース（具体的にはセッションＸ＋２の値）を決定し、コンテンツＣ３−３をそのネームスペースに関連付ける。
【００８６】
クライアント３０はまた、コンテンツＣ３−３に関するネームスペースを（セッションＸ＋２の値を決定することによって）決定し、そのネームスペースに対する要求を行う。したがって、セッション内のコンテンツの後続の部分が、サーバ６０からクライアント３０に提供されることが可能である。
【００８７】
セキュリティで保護されたセッション
図３は、例えば、コンテンツの３つの部分、Ｃ３−１、Ｃ３−２、およびＣ３−３を要求するようにコンテンツセントリックネットワーク４０を介してセキュリティで保護されたセッションを確立して、そのようなセッションにおいてコンテンツを転送する際に、クライアント３０およびサーバ６０によって実行される主要なメッセージングステップおよび処理ステップを示す。
【００８８】
ステップＳ１０で、サーバ６０からのコンテンツを求めるクライアント３０からの要求に応答して、キーＫ１が、例えば、ディフィ−ヘルマン鍵交換などの知られている技法により、クライアント３０とサーバ６０の間で交換される。
【００８９】
オプションとして、クライアント３０とサーバ６０は、暗号化キーＫ１を使用して暗号化された、またはオープン交換を介する他の情報を交換してもよい。例えば、後に使用され得る１つまたは複数のハッシュ関数の詳細が交換されてもよい。同様に、セッション部分２０の初期値、セッションＸの指示が交換されてもよい。セッション部分２０のこの初期値は、クライアント３０によって選択されてサーバ６０に供給されること、またはサーバ６０によって選択されてクライアント３０に供給されることが可能である。セッション部分２０のこの初期値は、公開で供給されても、キーＫ１を使用して暗号化されてもよい。代替として、セッション部分２０の初期値は、キーＫ１によって暗号化され、さらにハッシュ関数が適用されることも可能である。代替として、セッション部分２０の初期値は、キーＫ１にハッシュ関数を適用することによって算出されることも可能である。代替として、セッション部分２０の初期値は、クライアント３０とサーバ６０の両方に知られる疑似ランダムシーケンスの中の初期エントリに対するポインタを使用して決定されることも可能であり、公開で送信されてもよく、ハッシュ関数が適用されて、または適用されずに暗号化されてもよい。
【００９０】
ステップＳ２０で、クライアント３０とサーバ６０の両方が、セッション部分２０の初期値、セッションＸを決定し、したがって、初期ネームスペースを決定する同一の動作を実行する。代替として、サーバ６０は、クライアント３０が、ネームスペースのセッション部分２０の初期値を供給している場合、何も行わなくてもよい。例えば、ネームスペースのセッション部分２０の初期値は、クライアント３０とサーバ６０の間で転送されるオープンメッセージから抽出されることが可能である。代替として、ネームスペースのセッション部分２０の初期値は、クライアント３０とサーバ６０の間で交換される情報にキーＫ１を適用することによって決定されてもよい。代替として、ネームスペースのセッション部分２０の初期値は、クライアント３０とサーバ６０の間で交換される情報にハッシュ関数およびキーＫ１を適用することによって決定されてもよい。代替として、初期ネームスペースのセッション部分２０の初期値は、キーＫ１にハッシュ関数を適用することによって決定されてもよい。代替として、セッション部分２０の初期値は、疑似ランダムシーケンスの中の初期エントリから決定されてもよい。
【００９１】
サーバ６０が、初期ネームスペースを決定すると、次に、要求されたコンテンツが、ネームスペース７０の予約されたネームスペース８０内でそのネームスペースに関連付けられる。例えば、サーバ６０が、コンテンツＣ３−１を、図２にＡで示される初期ネームスペースに関連付けることが可能である。
【００９２】
ステップＳ３０で、クライアント３０が、コンテンツＣ３−１を求めるインタレストパケットを、図２にＡで示される同一の初期ネームスペースを使用してコンテンツセントリックネットワーク４０に送信する。
【００９３】
ステップＳ４０で、サーバ６０が、そのインタレストパケットを受信し、そのインタレストパケットのネームスペース内で、関連付けられたコンテンツを有するエントリを探す。そのようなエントリが存在しない場合、またはそのエントリにコンテンツが関連付けられていない場合、さらなるアクションは全く行われない、または誤りメッセージがもたらされる。しかし、初期ネームスペースが、ネームスペース８０の予約された部分７０におけるエントリと合致した場合、関連付けられたコンテンツＣ３−１が、サーバ６０によってデータパケットの中でクライアント３０に供給される。
【００９４】
ステップＳ５０で、クライアント３０とサーバ６０の両方が、コンテンツの次の部分Ｃ３−２に関する後続のネームスペースを決定する。具体的には、クライアント３０とサーバ６０の両方が、セッション部分２０の次の値、セッションＸ＋１を決定する同一の動作を実行する。この決定は、いくつかの様態で行われ得る。例えば、セッション部分２０の次の値が、シーケンスにおける先行する値からのあらかじめ合意されたオフセットであることが可能な、またはステップＳ４０で供給されたコンテンツから導き出されたオフセットに基づくことが可能な疑似ランダムシーケンスにおける別の値から導き出されることも可能である。同様に、セッション部分２０の次の値は、Ｓ４０で受信されたコンテンツにキーＫ１を適用することから導き出されてもよい。代替として、セッション部分２０の次の値は、ステップＳ４０で供給されたコンテンツにハッシュ関数を適用することによって導き出されてもよい。代替として、セッション部分２０の次の値は、ネームスペースの先行する部分にキーまたはハッシュ関数を適用することによって導き出されてもよい。
【００９５】
一方、サーバＳ６０が、ネームスペース７０の予約された部分８０にエントリを作成し、図２にＢで示されるとおり、データの次の部分、Ｃ３−２をそのエントリに関連付ける。
【００９６】
ステップＳ６０で、クライアント３０が、コンテンツＣ３−２を求めるインタレストパケットを、図２にＢで示される同一の初期ネームスペースを使用してコンテンツセントリックネットワーク４０に送信する。
【００９７】
ステップＳ７０で、サーバ６０が、そのインタレストパケットを受信し、そのインタレストパケットのネームスペース内で、関連付けられたコンテンツを有するエントリを探す。そのようなエントリが存在しない場合、またはそのエントリにコンテンツが関連付けられていない場合、さらなるアクションは全く行われない、または誤りメッセージがもたらされる。しかし、初期ネームスペースが、ネームスペース８０の予約された部分７０におけるエントリと合致した場合、関連付けられたコンテンツＣ３−２が、サーバ６０によってデータパケットの中でクライアント３０に供給される。
【００９８】
ステップＳ８０で、セッションが完了したかどうかの判定が行われる。完了した場合、処理は、終了する。完了していない場合、処理は、ステップＳ５０に戻り、次に、セッション部分２０の次の値の決定が、図２にＣで示されるとおり、先行するネームスペース、および／または受信されたコンテンツの先行する部分に基づいて行われる。
【００９９】
したがって、コンテンツセントリックネットワークにおいて使用するための技法が提供されることが理解され得る。そのようなコンテンツセントリックネットワークは、セキュリティに非常に重点を置いており、すべてのネットワークパケットに、公開キーインフラストラクチャ（ＰＫＩ）暗号化システムを使用して署名が行われることを、通常、要求する。このことは、ネットワークが、すべてのパケットの出所を検証することを可能にするが、非対称暗号化が非常に遅いので、パフォーマンスに大きな影響を及ぼす。このことを軽減するために、実施形態は、コンテンツセントリックネットワークにおいてセキュリティで保護されたセッションを提供し、セッションは、２つのネットワークノード間のデータのストリームであり、セッションの始めに認証が１回、実行され、このため、個々のパケットに署名が行われなくてもよい。
【０１００】
コンテンツセントリックネットワーク内でセキュリティで保護されたセッションを確立する際、通信する当事者は、これらの当事者が情報を交換することができるネームスペースについて合意する必要がある。サーバ端で、このネームスペースは、着信するデータを所与のセッションに属するものとして識別する役割をする。着信するパケットがいずれのセッションに属するかを知ることは、サーバが、そのパケットを復号するのに必要とされる暗号化キーを取り出すことを可能にする。単一のクライアントとだけ共有されるキーを使用することによって、サーバは、送信側の身元が、そのキーに対するアクセスを有する他の唯一のノードであると暗黙に検証することができる。セッションのそのような識別子の役割をすることの以外には、ネームスペースの特定の値は、このように交換されているデータと直接の相関関係を全く有さず、いくつもの異なる原理に基づいて選択されることが可能である。概要を述べたネームスペース選択原理を使用することによって、関係するセッショントラフィックの相関関係を解消すること、セッション確立機構に対してリプレイアタックを実行する機会を完全に除去することを含む、他のネームスペース選択スキームに優る多くの利点を実現することが可能である。
【０１０１】
対称暗号化キーなどの共有される秘密について合意することによって、コンテンツセントリックネットワークにおける２つのノードが、この２つのホストだけによって理解可能なデータのストリームであるセッションを確立することができる。セキュリティで保護されたハッシュ関数を使用する実施形態において、エンドポイントが通信するのに使用するネームスペースを絶えず変えることによってセッション内でさらなるセキュリティ層がもたらされる。
【０１０２】
図４に示されるとおり、このアプローチは、エンドポイントが交換している暗号化されたトラフィックをハッシュすることによってネームスペースデイジーチェーンを作成する。各ネームスペースは、一回使用されるだけであり、デイジーチェーンの進展は、参加するノードによってしか予測され得ない。通常、コンテンツセントリックネットワークにおけるエンドポイント間のセキュリティで保護されたセッションは、エンドポイント間で共有される秘密または暗号化キーをまず確立することによって確立される。次に、エンドポイントは、そのキーが有効であるネームスペースについて合意し、そのネームスペース内で行われる後続のすべての通信は、データの暗号化および復号を行うのにその共有されるキーを使用しなければならない。しかし、実施形態において、クライアントが、サーバにインタレストパケット、Ｉ０を発行することによってセキュリティで保護されたセッション確立を開始する。Ｉ０は、クライアントとサーバの間で共有される秘密（暗号キー）を確立するのに使用される古典的なディフィ−ヘルマンハンドシェークの１／２を含む。次に、サーバが、共有されるキー、ｋｓｙｍを計算し、ｋｓｙｍを導き出すのに必要な情報を有するデータパケットをクライアントに発行する。しかし、ｋｓｙｍ自体は、通信する当事者の間で決して伝送されることはなく、このことが、ディフィ−ヘルマン鍵交換アルゴリズムの中心的概念であることに留意されたい。ｋｓｙｍは、クライアントおよびサーバだけにしか知られないため、セッションにおける次のインタレストパケットに関するネームスペースターゲットを確立するのに使用され得る。このことは、知られているハッシュ関数ｈ（）をｋｓｙｍに適用することによって行われる。Ｈ（ｋｓｙｍ）が、ｋｓｙｍから導き出されるが、その値からｋｓｙｍを算出することはできない、知られている長さの値ｎ０をもたらす。次に、セキュリティで保護されたセッションに関するネームスペースターゲットが、／（サーバ名）／ｓｅｃ／ｎ０として確立される。この場合も、ｋｓｙｍの場合と同様に、ｎ０は、サーバおよびクライアントだけにしか知られない。しかし、ｎ０は、クライアントによって発行される次のインタレストパケットＩ１内で平文で伝送される。このことは、コンテンツセントリックネットワークのルーティングプロトコルが機能するために必要であり、攻撃者が、クライアントとサーバの間の通信に関する次の有効なネームスペースを予測することは可能にしない。
【０１０３】
サーバがＩ１を受信すると、サーバは、パケットの暗号化されたセグメントを、Ｉ１のターゲットネームスペースによって示されるキーで復号しようと試みる。Ｉ１が有効なインタレストパケットであった場合、サーバは、これに応答してデータパケットＤ１を生成し、データパケットＤ１をクライアントに送信する。Ｉ１の場合と同様に、Ｄ１は、暗号化された（ネームスペースおよびデータペイロードの部分）セグメントと暗号化されていない（ルーティング情報）セグメントの両方を有する。Ｄ１がサーバから発送される準備ができると、サーバは、進行中のセッションに関連付けられたネームスペースを更新する。ｎ０をｈ（）の種として使用し、さらにその後、Ｄ１の暗号化されたコンテンツをハッシュするのにｎ０を使用することによって、新たなハッシュ値ｎ１が生成される。次回、クライアントが、サーバにインタレストパケットを発行することを所望する際、クライアントは、／（サーバ名）／ｓｅｃ／ｎ０ではなく、／（サーバ名）／ｓｅｃ／ｎ１をターゲットにする必要がある。
【０１０４】
この原理を使用することによって、個別の各ネームスペースが単一のトランザクションに関してだけ有効であるネームスペースシーケンス、ｎ０、ｎ１、ｎ２．．．、ｎｋが生成される。このシーケンスの中のすべてのｎｉは、１回だけ平文で開示され、その後、さらなる使用には無効となる。さらに、盗聴者がｎｉにおける平文からｎｉ＋１を導き出すことを可能にするクライアントとサーバの間の情報交換は、存在しない。セッションキー、ｋｓｙｍを所有しており、クライアントとサーバの間で交換された先行するすべてのメッセージに関与しているノードだけが、適切なネームスペースシーケンスを導き出すことができる。
【０１０５】
クライアントとサーバが同一のキー、ｋｓｙｍを共有するという事実を利用することによって、この両方のエンドポイントが、この両方のエンドポイントの間の通信が乱されない限り、ネームスペースがどのように進展するかを予測することができる。このため、／（サーバ名）／ｓｅｃ／ｎｋ＋１にインタレストパケットを送信することができることにより、クライアントは、Ｄｋまでを含む、サーバがセッションにおいて送信したすべて（それだけに限って）クライアントが受信し、復号していることを暗黙に検証する。
【０１０６】
ハッシュ値をデイジーチェーン接続して、セキュリティで保護されたセッションネームスペースを進展させるそのようなアプローチは、多くの利益をもたらす。例えば、固定のセッション識別子、または予測可能なセッション識別子を用いたスキームとは異なり、セッション確立ハンドシェークの最終的な確認は、リプレイアタックを実行する侵入者によって実行され得ない。また、盗聴者が、いずれのデータが同一のセッションに属するかを互いに関係付けることもできない。これは、ｎｉ＋１は、ｋｓｙｍなしにｎｉから計算され得ないため、盗聴者が、セッションにおいてネームスペースがどのように進展するかを予測する方法が、存在しないからである。このため、連続する２つのインタレストパケットが同一のセッションの一部であるか、または異なるセッションの一部であるかを判定することは、可能でない。しかし、侵入者は、インタレストパケットが何らかのセッションの一部であるか否かを見分けることができる。さらに、セッション内のデータが何らかの様態で不正変更された（パケットが注入された、除去された、または変更された）場合、クライアントとサーバの間の通信には、即時に障害が生じ、サーバとクライアントは、通信を継続するのに新たなセキュリティで保護されたセッションを確立しなければならなくなる。このことは、いずれのインタレストパケットもが応答として単一のデータパケットを生じさせ、また障害により新たなインタレストパケットの送信がもたらされる、コンテンツセントリックネットワークのルーティング原理と合致している。しかし、このアプローチの１つの欠点は、このアプローチが、高いパケットロス、および／または高いパケット破損を伴う伝送チャネル上で使用するのにそれほど適さないことである。このことは、いずれの障害も、セッションが再確立されること（ハンドシェークのオーバヘッドを含め）を要求するとともに、伝送媒体上の高い障害率が、プロトコルのパフォーマンスを深刻に低下させるからである。
【０１０７】
したがって、このアプローチは、コンテンツセントリックネットワークにおけるホスト間の高スループットのセキュリティで保護されたセッションにおいて送信される、関係するネットワークパケット間の相関関係を解消することを実行することによって、知られている他のソリューションと比べて、さらなるデータセキュリティをもたらす。もたらされるセキュリティは、多くの商用アプリケーションを実現可能にする鍵である。このアプローチは、ネットワークセキュリティの他の部分を損なうことなしに、コンテンツセントリックネットワークセッションにさらなる層のセキュリティをもたらす。
【０１０８】
図４で見ることができるとおり、初期ネームスペース、ｎ０は、共有される秘密から生成される。着信する各インタレストパケットに関して、コンテンツプロバイダは、暗号化されていない（ルーティング情報）と暗号化された（秘密パスおよびペイロード部分）の両方を含むデータパケットを戻す。ｋ＞０であるネームスペースｎｋが、先行するネームスペース、ｎｋ−１、および応答パケットＤｋの暗号化された部分をハッシュすることによって生成される。各ネームスペースは、１回の使用に限って有効である。
【０１０９】
セキュリティをさらに向上させるのに、クライアントとサーバの間で公開で伝送されるデータ（コンテンツ識別子部分２２など）は、後続のコンテンツ識別子部分２２が関係していることを隠すのに役立つように、さらに相関関係の解消を強化するのに役立つように、当技術分野でよく知られた「ソルティング」技法の対象とされてもよいことが理解されよう。
【０１１０】
前述した様々な方法のステップは、プログラミングされたコンピュータによって実行され得ることが、当業者には容易に認識されよう。本明細書で、一部の実施形態は、マシン可読もしくはコンピュータ可読であるとともに、命令のマシン実行可能プログラムもしくはコンピュータ実行可能プログラムを符号化し、前記命令が、前記の前述した方法のステップのいくつか、もしくはすべてを実行するプログラムストレージデバイス、例えば、デジタルデータ記憶媒体を範囲に含むことも意図する。プログラムストレージデバイスは、例えば、デジタルメモリ、磁気ディスクおよび磁気テープなどの磁気記憶媒体、ハードドライブ、または光学的に読み取り可能なデジタルデータ記憶媒体であることが可能である。また、それらの実施形態は、前述した方法の前記ステップを実行するようにプログラミングされたコンピュータを範囲に含むことも意図する。
【０１１１】
「プロセッサ」または「ロジック」というラベルが付けられた機能ブロックを含め、図に示される様々な要素の機能は、専用のハードウェア、ならびに適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアの使用を介して提供され得る。プロセッサによって提供される場合、それらの機能は、単一の専用プロセッサによって提供されても、単一の共有されるプロセッサによって提供されても、いくつかが共有され得る複数の個別のプロセッサによって提供されてもよい。さらに、「プロセッサ」または「コントローラ」または「ロジック」という用語の明示的使用は、ソフトウェアを実行することができるハードウェアだけを指すものと解釈されるべきではなく、限定なしに、デジタルシグナルプロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ソフトウェアを格納するための読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、および不揮発性ストレージを暗黙に含み得る。また、従来の、さらに／またはカスタムの他のハードウェアが含められることも可能である。同様に、図に示されるスイッチは、概念的であるに過ぎない。そのようなスイッチの機能は、プログラムロジックの動作を介して実行されることも、専用ロジックを介して実行されることも、プログラムコントロールと専用ロジックの対話を介して実行されることも、手動で実行されることさえも可能であり、特定の技法は、コンテキストからより具体的に理解されるとおり、実施者によって選択可能である。
【０１１２】
本明細書のブロック図は、本発明の原理を実現する例示的な回路の概念図を表すことが、当業者には理解されよう。同様に、フローチャート、流れ図、状態遷移図、疑似コードなどは、コンピュータ可読媒体として実質的に表され、したがって、コンピュータまたはプロセッサによって、そのようなコンピュータまたはプロセッサが明示されるか否かにかかわらず、実行されることが可能である様々なプロセスを表すことが理解されよう。
【０１１３】
説明および図面は、本発明の原理を例示するに過ぎない。このため、当業者は、本明細書に明示的に説明されることも、図示されることもないものの、本発明の原理を実現するとともに、本発明の趣旨および範囲に含められる様々な構成を考案することができることが理解されよう。さらに、本明細書に記載されるすべての例は、主に、本発明の原理、ならびに当技術分野を進展させることに寄与する本発明者らによる概念を読者が理解するのを助ける教育的な目的だけを明確に意図しており、そのように特別に記載される例および条件に限定することなしに解釈されるべきである。さらに、本発明の原理、態様、および実施形態について述べる本明細書におけるすべての言明、ならびにそのような原理、態様、および実施形態の特定の実施例は、そのような原理、態様、実施形態、および実施例の均等物を包含することを意図する。
【図１Ａ】
0005893765.tif 000002
【図１Ｂ】
0005893765.tif 000003
【図２】
0005893765.tif 000004
【図３】
0005893765.tif 000005
【図４】
0005893765.tif 000006