説明

パーティ間の通信におけるプライバシーを確保する方法及び装置

【課題】ユーザ端末及びユーザの少なくとも一方が移動する通信システムにおいて、ユーザ及び機器の無認可の追跡を防止する。
【解決手段】x(i)をメッセージ処理のメタデータ記述、D(i)をペイロードデータとする。第1パーティと第2パーティとは、少なくともx(i)をy(i)にマッピングするマッピングFkである、共有キーkに依存する疑似ランダムマッピングに合意している。第1パーティは、各メッセージM[x(i),D(i)]内で、x(i)をy(i)に置換することによって、メッセージ群を変更する。第1パーティは、変更したメッセージ群をそれらの本来の順序を維持しながら送信し、メッセージM(y(m),D)の受信において、第2パーティは、マッピングGkを使用して、受信した値の位置mと本来の値x(m)を取得する。

【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本発明は、パーティ(party:加入者あるいは関係者)間の通信におけるプライバシーを確保する方法及び装置に関するものであり、特に、パーティの移動の追跡を防止する方法及び装置に関するものである。
【背景技術】
【0002】
発明の背景
ユーザ端末及びユーザの少なくとも一方が移動する通信システムにおいて、ユーザ及び機器の無認可の追跡を防止することは、プライバシー及びおそらくは法律上の理由から重要である。追跡を防止する際の主な試みは、長期間あるいは相関が容易な情報(例えば、識別子、データあるいはその他の値)の使用を防止することである。この情報とは、明示的に「識別子」を構成する、あるいはユーザを識別可能にするものであり、また、同一のエンティティがある場所(「場所」は、地理的なもの、即ち、物理的、あるいは論理的、例えば、ネットワークアドレスであり得る)から別の場所へ移動するそのエンティティを追跡可能にすることである。以下で使用される「識別子」という用語は、取り得るものすべてを含むものである。ここで、「場所」は、物理的(地理的)あるいは論理的(例えば、ネットワークアドレス)の両方であり得る。いくつかの電気通信メカニズムは、これを考慮することで、周期的に及び不規則に、あるいはそのいずれかで変更される識別子を使用することができる。GSM(登録商標)では、一時IMSI(国際移動体加入者識別子)いわゆるTIMSIを、実際のIMSIを隠蔽するために使用される。しかしながら、一般的には、このような技術は、それらがプロトコルスタック全体を通して実施されない限り有用ではない。例えば、無線LAN認証メカニズムは、「匿名」[EAP−SIM、IETF、draft-haverinen-pppext-eap-sim-14.txt、及びEAP−AKA、IETF、draft-arkko-pppext-eap-aka-14.txt]を採用することができる、あるいは他との認証交換を完全に隠蔽することができる[PEAP、IETF、draft-josefsson-pppext-eap-tls-eap-10.txt]。これは、固定リンクレイヤ識別子(例えば、MACアドレス)が下位レイヤで使用される限り、その値はあまり問題でない。
【0003】
この問題は、様々な形式で存在する。特に明確な例には、クリアテキストによる人間が読取可能なユーザ識別子、例えば、NAI[IETF RFC2486]の送信がある。同様の問題が、不変ではあるが「無意味な」識別子、例えば、IPアドレス[PRIVACYADDR;IETF RFC3041]の送信についても顕在する。あまり知られていない問題としては、実際の「識別子」とは完全に独立しているデータでさえ、ユーザを追跡するために使用できることである。例えば、IPsec SIP[IPSEC,IETF RFC2401]は、IPアドレスが同一にならないとしてもSPI値が変更されていない場合は、ある場所にあるノードが、その後、別の場所に存在するノードと同一ノードであることを示すことができる。この場合で、例えば、32ビットSPIを用いると、SPIが同一である場合で、同一ユーザとならない可能性は40億分の1である(IPアドレスは、NAT−TあるいはMOBIKEが使用される場合に変更できる)。これは、特に、IKE SPIに対し問題があり、つまりは、処理中に以前のSPIを明らかにすることなく、IKE SPIを効率的に再ネゴシエートする可能性はない。IPsec SPIに対しては、このことはあまり問題ではなく、部外者に対しては変更を隠蔽しながら、SPIはIKE SAの保護範囲で再ネゴシエートすることができる。それにもかかわらず、この問題は、プライバシー強化対策が時には予想外の要素によって無効化されることが残存している。
【0004】
同一の問題が、ある認証メカニズムで生じる。認証処理に対しては、2つの一般的な技術として、パブリックキー暗号化の使用と、いわゆるハッシュチェインの使用がある。パブリックキーに付随する問題は、キーがアイデンティティと結び付けられていないとしても、キーはユーザの「痕跡」を残してしまう。これは、だれもがパブリックキーを使用して信頼性を検証することができるからである。同様に、ハッシュチェインは、ハッシュを適用することによって順方向に容易にリンク可能である。
【0005】
パケット毎に変化するデータですら、ユーザを追跡するために使用することができる。例えば、TCPあるいはIPsecシーケンス番号は、他の適切な識別子が存在しない場合ですら、機器の識別に対して十分なことがいくつかの場合であり得る。シーケンス番号空間が十分に大きく、かつ十分な度合でノードに配信される限り、ある場所でシーケンス番号Nで存在し、その直後、別の場所でシーケンス番号N+1(あるいはそれに近いもの)で存在するノードは、同一ノードである可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
これらの問題を取り扱う既存の技術は、以下のものを含んでいる。:
例えば、TLSあるいはIPsecのような、保護化トンネルあるいはトンネル群内で、識別子と他の通信を隠蔽することである。このソリューションの欠点は、他の識別子が「トンネル」外でも依然として頻繁に可視状態にあることである。
【0007】
GSM(登録商標)及びいくつかのEAP方法で実行されるような、「匿名」を使用することである。この技術では、識別子は、サービスへのログインに対して使用され、そのサービスは、クライアントが解読でき、かつ次回のサービスへのログイン用の識別子として使用することができる暗号化トークンを返信する。このスキームの欠点は、必要なシグナリング量を増やすことになる、新規の匿名が返信されなければならないことである。どのような場合でも、このソリューションは、すべての状況で実現可能とはならない可能性がある。例えば、この方法におけるシーケンス番号の保護は、ACKが存在するTCPでは可能であるが、IPsecでは困難となる。それは、新規のパケットの送信が必要とされる前には、返信方向ではトラフィックは存在しないが可能性があるからである。どのような場合でも、次のパケットを送信できる前には、新規の匿名を待機することは効率的でない。
【0008】
シーケンス番号(及びそれによるリンク可用性)を削除することは、これらが過去にどこで使用されているかを考慮することができる。しかしながら、従来技術を用いると、このことは、普遍的な実行可能なオプションではなく、IPのような信頼性のないデータ転送メカニズムを少なくとも使用する場合は、送信機/受信機の同期問題が発生することになる。
【0009】
パブリックキーとハッシュチェインに対しては、プライバシーを改善するための利用可能な方法は、新規のパブリックキー/ハッシュチェインを頻繁に生成することである。しかしながら、これは、計算コストが極めて高くなる。
【0010】
この問題をまとめると、例えば、セキュリティ処理のような、データパケットの処理のメタデータの記述は、プライバシーを攻撃するために使用される可能性がある。
【課題を解決するための手段】
【0011】
発明の要約
本発明の目的は、上述の問題を解消するあるいは少なくとも軽減することである。この目的及び他の目的は、疑似ランダムシーケンスから選択される値を使用して、値を示すことによって達成される。この値とは、それ自体がユーザ識別子ではなく、そして、通信あるいは連続する通信において相対的に長く存在する、あるいはサードパーティによって予測できる方法で変化する。
【0012】
本発明の第1の構成に従えば、キーkを共有する第1パーティと少なくとも1つの第2パーティ間で通信される順序付けされたメッセージM[x(1),D(1)]、M[x(2),D(2)]等のシーケンスにおいて、メッセージ処理のメタデータx(i)記述を隠蔽することによってプライバシーを改善する方法が提供される。ここで、D(i)は、ペイロードデータを示している。この方法は、
前記第1パーティと前記第2パーティとは、少なくともx(i)をy(i)にマッピングするマッピングFkである、共有キーkに依存する疑似ランダムマッピングに合意し、
前記第1パーティは、各メッセージM[x(i),D(i)]内で、x(i)をy(i)に置換することによって、前記メッセージ群を変更し、
前記第1パーティは、前記変更したメッセージ群をそれらの本来の順序を維持しながら送信し、
メッセージM(y(m),D)の受信において、前記第2パーティは、マッピングGkを使用して、受信した値の位置mと本来の値x(m)を取得する。
【0013】
本発明の一実施形態では、本方法は、受け入れる値のウィンドウ[Ni,Ni+t]を利用する第2パーティを備える。ここで、前記ウィンドウのサイズtは予め定義されており、また、前記マッピングGkは、前記マッピングFkを、前記ウィンドウ内の少なくとも1つのNm値に適用し、その結果と前記y(m)を比較することによって計算される。
【0014】
好ましくは、前記Gkは、前記Fkの逆関数であり、前記本来の値x(m)を取得することは、Gk(y(i))を計算することによって実行される。
【0015】
シーケンス内での位置と本来の値x間には、i→x(r(i))となるような既知の関係rが存在しても良い。一実施形態では、前記r(i)=iである。
【0016】
各パーティは、カウンタあるいは合意された演算関数rを使用して、疑似ランダムシーケンスの値を生成することができる関数に対する入力値を生成し、カウンタ値あるいは関数r(i)は、Fk:{r(i),x(i)}→y(i)に従って前記疑似ランダムシーケンス内の対応する値を生成する。
【0017】
本発明の一実施形態では、前記メタデータx(i)は、単調増加シーケンスである。
【0018】
本発明の一実施形態では、前記メタデータx(i)は、メッセージM(i)のセキュリティ処理を記述する。
【0019】
本発明の第2の構成に従えば、通信ネットワークを介して、第1パーティと1つ以上の第2パーティ間の通信におけるプライバシーを確保する方法が提供される。この方法は、
前記第1パーティ及び前記第2パーティのそれぞれで利用可能な値の同一の疑似ランダムシーケンスを作成し、前記シーケンスあるいは前記値と、前記第1パーティによって送信されるメッセージを受信するパーティによって使用される値との間でのマッピングを保持して、前記メッセージあるいはその内容を処理し、
前記第1パーティと前記第2パーティとの間で送信されるメッセージにおいて、前記シーケンスにマッピングされる前記値の位置における、該シーケンスからの値を使用し、
受信側のパーティにおいて、代入値に基づいて置換される値を識別し、それに従って前記メッセージを処理し、
前記シーケンスから使用される値は、メッセージ単位あるいは定期的に変更される。
【0020】
本発明の一実施形態では、シーケンスにマッピングされる値は、データを識別するデータである「メタデータ」として見なされても良い。この値は相対的に長く存在する、あるいはサードパーティによって予測できる方法で変化しても良い。本発明の実施形態は、パーティ間で送信されるメッセージを「スヌープする(snooping)」可能性のあるサードパーティから、実際の値あるいは値群を隠蔽する。
【0021】
シーケンスにマッピングされる値は、パーティあるいは通信に動的に割り当てられる値であっても良い。この値は、パーティあるいは通信セッションに一時的に割り当てられても良い。
【0022】
マッピングされる値は、予測可能な方法、即ち、サードパーティが異なる値を同一パーティに関連付けることができる方法で、変化しても良い。
【0023】
シーケンスにマッピングされる値は、以下の内の1つであっても良い。
【0024】
IKEあるいはIPSec SPI
MAC(メディアアクセスコントロール)アドレス
IPアドレス
IPv6アドレスのインタフェース識別部分
ポート番号
暗号キー(例えば、同一キーを2回使用することは、場合によっては、利用可能な関係を生成することができる)
ハッシュチェイン(ハッシュチェイン内の連続値が強力にリンク可能であるが、new_value=PRF(h(old_value|P))を使用することは、外部へのそのようなリンクを削除することになる。このような場合と同一の結果をもたらす別の公式は、new_value=PRF(old_value|P)となる。
【0025】
シーケンス番号、ここで、識別子Niは、シーケンス番号iに対応し、ウィンドウ処理は、シーケンス番号がこれまでに処理される方法と同一の方法で実行されることになる。
【0026】
好ましくは、前記第1パーティ及び前記第2パーティのそれぞれで利用可能な値の同一の疑似ランダムシーケンスを作成することは、前記パーティへ、共有シークレットと、疑似ランダムシーケンスを生成することができる関数を提供する。各パーティは、関数への入力として、共有シークレットと、対応するシーケンスの値(例えば、等差数列あるいは既知の有限状態マシーンの連続出力、LFSRあるいはその類)を使用することによって、疑似ランダムシーケンスを生成する。疑似ランダムシーケンスの値は、1つずつ、即ち、必要とされるときに生成されても良いし、あるいは値のセットが将来使用するために生成されても良い。
【0027】
本発明の別の実施形態では、疑似ランダム値のシーケンスは、サードパーティによって生成されて良く、また、サードパーティによって第1及び第2パーティの少なくとも一方に提供されても良い。
【0028】
疑似ランダムシーケンスの値は、所定順序で送信側パーティによって使用されることが好ましい、あるいはシーケンスの制限された範囲から値が選択されることが好ましい。この範囲の1つ以上の値を使用した後にシフトすることができる。受信側パーティは、使用されるべき識別子の順序、及び識別子が選択されるウィンドウの少なくとも一方の知識を有している。
【0029】
各パーティは、カウンタあるいは合意された演算関数を使用して、疑似ランダムシーケンスの値を生成することができる関数に対する入力値を生成し、カウンタ値あるいは関数結果は、前記疑似ランダムシーケンス内の対応する値を生成する。カウンタ値あるいは結果は、疑似ランダム出力の生成の前に、予測可能な方法で変更される、例えば、関数によって乗算されるあるいは除算される。カウンタは、任意の適切な方法でカウントを行うことができる。
【0030】
好ましくは、前記関数は、疑似ランダム関数である。しかしながら、ブロック暗号関数を含む適切な疑似乱数シーケンスを生成することができる他の関数であっても良く、また、代替として使用されても良い。
【0031】
前記関数の出力は、第1パーティに対する識別子として直接使用されても良い。選択的には、この出力は、識別子を生成するために更に処理されても良い。
【0032】
このシーケンスの値は、第2パーティとの連続通信で自身を識別するために、第1パーティによって順番に使用されても良い。選択的には、この値は、例えば、ある所定範囲内では、順不同で使用されても良い。
【0033】
好ましくは、この方法は、第2パーティで、第1パーティの値を受け入れ可能なウィンドウを定義する。このウィンドウは、カウンタ値の範囲に対応する。ウィンドウの下端は、既に受信した値に基づいて定義されても良く、そうすることで、ウィンドウは、先行する全ての値の受信に続くシーケンスの次の値に移動する。
【0034】
第1パーティから第2パーティへの通信を行う直前に、また、第2パーティでの受信を完了する前に、値は、必要とされるときに、第1及び第2パーティで生成されても良い。(2つのパーティで、カウンタの同時のインクリメントは必要とされない。)選択的には、パーティ群の少なくとも一方は、将来使用するための識別子のセットを予め生成しても良い。
【0035】
本発明の実施形態では、この方法は、IPv6に従う暗号によって生成されるアドレス(CGA)を生成するために使用される。より詳しくは、CGAアドレスのインタフェース識別子部分は、カウンタ値を、インタフェース識別子生成処理への入力として使用することによって生成される。
【0036】
シーケンス内の値群の1つの値は、所定の要素に基づく使用を考慮する次の値とともに、例えば、送信側が新規の位置へ移動する場合あるいは送信側が次の値を使用するパケットを受信機から受信する場合には、1回限りではなく数回使用されても良い。
【0037】
この値は、受信側でパケットを逆多重化するために、例えば、パケットを一時的に順序付けること、及びパケットを正しい宛先に転送することの少なくとも一方を行うために使用することができる。
【0038】
本発明は、SPI番号及び、IPSecあるいはIKEにおける他の識別子を隠蔽/置換するために利用することができる。
【0039】
本発明は、WLAN、GSM(登録商標)のようなネットワークアクセスメカニズム、あるいはEAPのような認証方法で利用することができる。
【0040】
本発明のいくつかの実装では、NATのようなサードパーティには、値のシーケンスを生成するために必要な情報が提供されても良い。このサードパーティは、合法的に捕捉(傍受:intercept)するためのあるいは他の目的のための通信ノード以外のパーティと、そのシーケンスを共有することができる。
【0041】
本発明の第3の構成に従えば、移動端末あるいはネットワークノードを操作する方法が提供される。この方法は、
前記移動端末あるいはネットワークノードで利用可能な値の疑似ランダムシーケンスを作成し、前記シーケンスあるいは前記値と、前記移動端末あるいはネットワークノードによって送信されるメッセージを受信するパーティによって使用される値との間でのマッピングを保持して、前記メッセージあるいはその内容を処理し、
前記移動端末あるいはネットワークノードと第2パーティとの間で送信される、順序付けされたメッセージのシーケンスのメッセージそれぞれにおいて、前記疑似ランダムシーケンスにマッピングされる前記値の位置における、該疑似ランダムシーケンスからの値を使用する。
【0042】
本発明の第4の構成に従えば、移動端末あるいはネットワークノードを操作する方法が提供される。この方法は、
前記移動端末あるいはネットワークノードで利用可能な値の疑似ランダムシーケンスを作成し、前記シーケンスあるいは前記値と、前記移動端末あるいはネットワークノードによって送信されるメッセージを受信するパーティによって使用される値との間でのマッピングを保持して、前記メッセージあるいはその内容を処理し、
前記移動端末あるいはネットワークノードで受信される順序付けされたメッセージのシーケンスのメッセージそれぞれにおいて、前記メッセージに含まれるシーケンスの値を、前記マッピングされた値にマッピングし、かつ前記マッピングされた値を使用して、前記メッセージあるいはその内容を処理する。
【0043】
本発明の第5の構成に従えば、パーティ間の安全な通信時に使用するためのパブリックキーのシーケンスを生成する方法が提供される。この方法は、
第1パブリックキーを第1パーティと第2パーティへ提供し、
前記第1パーティと前記第2パーティ間での共有シークレットに合意し、
前記シーケンスの値が事実上疑似ランダムとなるように、前記第1パーティと前記第2パーティに、前記第1パブリックキーと前記共有シークレットを使用して更なるパブリックキーのシーケンスを生成する手段を提供し、
前記シーケンスのパブリックキーを使用して、前記パーティ間の通信を安全にする。
【0044】
このようなパブリックキーのシーケンスの例としては、「ベース」キーy=g^x(離散的対数に基づくスキーム)であるとすると、連続するキー群は、yに、疑似ランダムシーケンスから取得される値を累乗することによって取得される。
【図面の簡単な説明】
【0045】
【図1】安全な通信処理で介在する様々なパーティを示す図である。
【図2】安全な通信処理におけるステップ群を示すフロー図である。
【図3】サードパーティを含む安全な通信処理に介在する様々なパーティを示す図である。
【図4】合法的な捕捉が必要とされる安全な通信処理に介在する様々なパーティを示す図である。
【図5】IPSecを使用する安全な通信処理におけるステップ群を示すフロー図である。
【発明を実施するための形態】
【0046】
実施形態の詳細説明
本発明は、汎用通信システムを参照して示される。この汎用通信システムでは、2つのパーティが、通信ネットワークを介して他方と通信しようとしている。このパーティ群は、ユーザ端末あるいはネットワークベースのデバイス、あるいはそれらの組み合わせであっても良い。通信は、複数の多重通信を含んでいて、各通信では、通信が処理されるべき方法の「メタデータ」記述あるいは指示を含んでいる。このようなデータは、セキュリティ処理に関連していても良く、また、通信間の一時的な関係及び通信と物理あるいは論理エンティティ間の空間的な関係の少なくとも一方を導出するために使用することができる。例示の一時的な関係は、シーケンス番号から判定することができる。一方で、例示の空間的な関係は、ユーザを識別するアイデンティティ、通信を送信しているネットワークエンティティ、あるいは例えば、ポート番号のような論理エンティティから判定することができる。
【0047】
パーティ群(あるいは「ピア(peers:同位装置)」)は、使用される値の特定シーケンスについて合意する。これを行うための最も簡単な方法は、装置が次の値を導出するために使用することになる共通疑似ランダム関数に合意することである。これは、パケット単位でのシグナリングを必要としない。装置は、それらが受け入れる値のウィンドウを使用する。このようにして、パケットの損失が、同期を破壊することはない。
【0048】
より詳しくは、装置は、それらの接続セットアップの一部として、いくつかのシークレットパラメータPに合意する。例えば、IKEでは、Pは、IKE SAの確立から生成されるマスターキーに基づいて導出することができる。このことは、通信の両端の装置が、このスキームをサポートする限り、既存のプロトコルを越える通信を必ずしも必要としない。例えば、Pは、h(「プライバシー」|マスターキー)に設定することができる。図1及び図2を参照されたい。
【0049】
次のステップは、例えば、疑似ランダム関数(PRF)のようなシーケンス生成関数を使用して、いくつかの乱数的な値を導出する。この関数への入力は、シークレットパラメータPである。例えば、第1の値はPRF(「1」|P)とすることでき、第2の値はPRF(「2」|P)とすることができ、以降、同様にすることができる。ここで、「n」は、自然数nを値「n」=r(n)へマッピングすることを示している。P自身が変数パラメータ、例えば、シーケンス番号である場合、付加されるシーケンス番号「1」、「2」等は、必須にはならない。選択的には、次の関数
value_i=F(P,anchor_ID「j」)
を使用しても良い。ここで、Fは、可逆の1:1関数(ここで、PRFは通常そうではない)、例えば、ブロック暗号であり、jは、シーケンス番号である。anchor_IDは、例えば、実際のユーザ名のような「実際」のアイデンティティとすることができる。このような状況の配下にあるモチベーションは、正規の信用のあるユーザ(Pを共有)は単純かつ有効な方法を用いて、「過去(backwards)」に戻って、anchor_IDを検出することである。本実施形態では、受信機は、値_iからjを効果的に再構築することができる。このことは、受信機は、受信したメッセージの本来の順序(及びその他の内容)を容易に判定することができることを意味している。Fが1:1でない場合(おそらくは、より一般的な場合)、受信機は、依然として(より高い可能性で)、次で説明するように、本来の順序を再構築することができる。
【0050】
送信側の装置は、シーケンス内の各値を使用する。受信側の装置は、値のウィンドウを使用する。これは、Niまでのすべての値が存在する限り、値Ni+1,Ni+2,...,Ni+32を受け入れる。これらの値は、問題となっている用途が許容する場合あるいは必要とする場合でさえも、そのウィンドウ内では順不同で使用される可能性がある。例えば、IPsecでは、このことが必要とされる。別の用途では、すべての値がシーケンス内で使用され、かつスキップされる値がないことを下位レイヤ(例えば、TCP)が予め保証することができる。
【0051】
受け入れるシーケンス値のウィンドウは、受信する値のシーケンス内の位置を判定するために使用される。マッピング関数は、置き換えられている本来の値を取得するために使用される。このマッピング関数が選択されることが好ましく、そうすることで、ウィンドウ内の位置と本来の値の間に既知の関係が存在する場合には、1:1となる(つまり、一意的な可逆性となる)。この位置は、本来の値を直接判定する必要はない。しかしながら、位置が一旦判定されると、「位置」のマッピングは、逆マッピングを実行するよりも先に適用されても良い。例えば、v(PRF(j|P)の形式である)の受信では、最初は、受信機はjを知らない。しかしながら、上述のウィンドウ内のすべてのNiに対するPRF(Ni|P)を評価することによって、受信機は、以下の
PRF(Ni|P)=v
を満足するNiとしての、正しいjを検出する可能性が非常に高くなる。
【0052】
唯一の問題は、ウインドウ内で、同一の値をマッピングしている2つの異なるNi、Nkが存在する場合である。但し、PRFがtビットのサイズの出力を生成し、かつウィンドウはサイズwであると想定すると、このような衝突の可能性は、約W2-tであると予想される。w=t=32に対しては、この可能性は約10億分の1であると言える。更なる例としては、データセッションが1秒当たり50パケットで動作すると想定する。このようなデータセッションは、1回の衝突エラーを経験する前には約1月近く続けることが可能となる。
【0053】
ここで、このスキームは、デバイスあるいはユーザのアイデンティティに関連する情報を明らかにすることができる、任意のタイプの値あるいは他のメタデータに対して使用することができることに注意されたい。例えば、
MAC(メディアアクセス制御)アドレス
IPアドレス
IPv6アドレスのインタフェース識別子部分
ポート番号
IKEあるいはIPSec SPI
暗号キー(例えば、同一キーを2回使用することは、場合によっては、利用可能な関係を生成することができる)
ハッシュチェイン(ハッシュチェイン内の連続値が強力にリンク可能であるが、new_value=PRF(h(old_value|P))を使用することは、外部へのそのようなリンクを削除することになる。このような場合と同一の結果をもたらす別の公式は、new_value=PRF(old_value|P)となる。
【0054】
シーケンス番号、ここで、識別子Niは、シーケンス番号iに対応し、ウィンドウ処理は、シーケンス番号がこれまでに処理される方法と同一の方法で実行されることになる。
【0055】
本発明の実施形態では、値/メタデータは、受信側で受信パケットを逆多重化するために使用される。例えば、正しい受信処理にパケットを通すために、IPアドレスとTCP/UDPポート番号は受信機でパケットを逆多重化するために使用される。同様に、パケットを暗号処理用の正しいセキュリティアソシエーション(関係)に向けるために、IPSec SPIはパケットを逆多重化するために使用される。本実施形態を実現する提案の方法は、識別子を保持する変数を、事前に計算された、生成された値のショートリスト(a short pre-computed list of generated values)に置き換えることである。ハッシュテーブルが逆多重化のために使用される場合、その生成される値のすべてがハッシュテーブルに挿入される。
【0056】
本発明の別の実施形態では、値は、いくつかの暗号的な意味を有している。例えば、IPv6では、いわゆる暗号によって生成されるアドレス(CGA)は、パブリック暗号キーといくつかの他のパラメータのハッシュとして生成されている、インタフェース識別子部分を有している。シーケンスカウンタを他のパラメータに含ませ、かつ1つの安定したものに代えて、インタフェース識別子の生成されたシーケンスを使用することによって、本発明をCGAに適用することができる。
【0057】
本発明の別の実施形態では、生成されたシーケンスは、他の通信パーティと、それに加えて、最初の送信機と最後の受信機へ通信される。例えば、このシーケンスは、そのシーケンスを生成するために必要とされるパラメータを安全に他の通信パーティに送信することによって、IPネットワークアドレストランスレータ(NAT)群あるいは他の仲介装置に明らかにすることができる(図3参照)。
【0058】
本発明の別の実施形態では、シーケンスはサードパーティによって生成される、あるいはサードパーティに明らかにされる。そうすることで、このサードパーティは、後に、そのシーケンスを他のものに明らかにすることができる。このことは、例えば、合法的な捕捉を実行するために有用であり得る。例えば、オペレータによって制御されるノードは、値のシーケンスと、2つの通信ノードに対する共有シークレットを生成し、かつ自身の加入者が確立している場合に確立しているセキュリティアソシエーションを使用して、2つのノードへ安全にこの共有シークレットを通信することができる。合法的な捕捉が必要とされる場合、オペレータのノードは、パケットストリームをキャプチャすることができるノードへ、値のシーケンスを明らかにすることができ、かつ法的捕捉操作を実行したい政府機関へ、共有シークレットのシーケンスを明らかにすることができる(図4参照)。
【0059】
本発明は、極めてプライベートな通信を提供するために使用することができる。取り得る用途には、ホストアイデンティティプロトコル(HIP)におけるものがある、あるいは4Gリンクレイヤプロトコル及びWLANプロトコルに対するものがある。
【0060】
上述のように、本発明の特定用途には、IP及びそれの上位レイヤプロトコル(例えば、TCPあるいはUDP)へセキュリティを提供することが意図されているIPSecにおけるものがある。IPSecは、キー及びセキュリティサービスをトラフィックに関連付けるために、セキュリティアソシエーション(SA)データベースを使用する。セキュリティパラメータインデックス(SPI)と呼ばれるインデックスは、IPSecプロトコルヘッダに含められ、また、SAデータベース内の特定のSAを指示している。SPIは、通常は、長期間使用のために、特定ユーザあるいは端末に割り当てられることになる。SPIは、クリアテキストでIPSecヘッダに含まれなければならないので、このSPIは、ユーザの移動を追跡する悪意のあるサードパーティによって利用され得る脆弱性をもたらすことになる。SPIを疑似ランダム値のシーケンスにマッピングし、IPSecヘッダ内のSPIを変更シーケンス値に置換することによって、この脆弱性は解消される。
【0061】
典型的には、新規のシーケンス値は各メッセージに対して選択される。SAは、通信パーティ間の各方向で確立され、このメカニズムは、各SAに対して別々に適用されることが理解されるであろう。図5は、この処理を示すフロー図である。
【0062】
IPSecヘッダもシーケンス番号を含んでいて、これも、脆弱性をもたらす可能性があるので、このシーケンス番号も疑似ランダムシーケンスにマッピングしても良い。
【0063】
本発明の範囲から逸脱することなく、上述の実施形態を様々に変形することができることは当業者には明らかであろう。

【特許請求の範囲】
【請求項1】
キーkを共有する第1パーティと少なくとも1つの第2パーティ間で通信される、順序付けされたメッセージM[x(1),D(1)]、M[x(2),D(2)]等のシーケンスにおいて、メッセージ処理のメタデータx(i)記述を隠蔽することによってプライバシーを改善する方法であって、ここで、D(i)は、ペイロードデータを示している、方法であって、
前記第1パーティと前記第2パーティとは、少なくともx(i)をy(i)にマッピングするマッピングFkである、共有キーkに依存する疑似ランダムマッピングに合意し、
前記第1パーティは、各メッセージM[x(i),D(i)]内で、x(i)をy(i)に置換することによって、前記メッセージ群を変更し、
前記第1パーティは、前記変更したメッセージ群をそれらの本来の順序を維持しながら送信し、
メッセージM(y(m),D)の受信において、前記第2パーティは、マッピングGkを使用して、受信した値の位置mと本来の値x(m)を取得する
ことを特徴とする方法。
【請求項2】
前記第2パーティは、受け入れる値のウィンドウ[Ni,Ni+t]を利用し、ここで、前記ウィンドウのサイズtは予め定義されており、
前記マッピングGkは、前記マッピングFkを、前記ウィンドウ内の少なくとも1つのNm値に適用し、その結果と前記y(m)を比較することによって計算される
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記Gkは、前記Fkの逆関数であり、前記本来の値x(m)を取得することは、Gk(y(i))を計算することによって実行される
ことを特徴とする請求項1に記載の方法。
【請求項4】
シーケンス内での位置と本来の値x間には、i→x(r(i))となるような既知の関係rが存在する
ことを特徴とする請求項1乃至3のいずれか1項に記載の方法。
【請求項5】
前記r(i)=iである
ことを特徴とする請求項4に記載の方法。
【請求項6】
各パーティは、カウンタあるいは合意された演算関数rを使用して、疑似ランダムシーケンスの値を生成することができる関数に対する入力値を生成し、カウンタ値あるいは関数r(i)は、Fk:{r(i),x(i)}→y(i)に従って前記疑似ランダムシーケンス内の対応する値を生成する
ことを特徴とする請求項1乃至5のいずれか1項に記載の方法。
【請求項7】
前記x(i)は、メッセージの前記シーケンスを通して一定である
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記メタデータx(i)は、単調増加シーケンスである
ことを特徴とする請求項1乃至7のいずれか1項に記載の方法。
【請求項9】
前記メタデータx(i)は、メッセージM(i)のセキュリティ処理を記述する
ことを特徴とする請求項1乃至8のいずれか1項に記載の方法。
【請求項10】
通信ネットワークを介して、第1パーティと1つ以上の第2パーティ間の通信におけるプライバシーを確保する方法であって、
前記第1パーティ及び前記第2パーティのそれぞれで利用可能な値の同一の疑似ランダムシーケンスを作成し、前記シーケンスあるいは前記値と、前記第1パーティによって送信されるメッセージを受信するパーティによって使用される値との間でのマッピングを保持して、前記メッセージあるいはその内容を処理し、
前記第1パーティと前記第2パーティとの間で送信されるメッセージにおいて、前記シーケンスにマッピングされる前記値の位置における、該シーケンスからの値を使用し、
受信側のパーティにおいて、代入値に基づいて置換される値を識別し、それに従って前記メッセージを処理し、
前記シーケンスから使用される値は、メッセージ単位あるいは定期的に変更される
ことを特徴とする方法。
【請求項11】
前記第2パーティは、通信に含まれるシーケンスの値が、連続的な疑似ランダム値のウィンドウ内に存在するかを検証することによって、前記第1パーティを認証する
ことを特徴とする請求項10に記載の方法。
【請求項12】
前記第1パーティ及び前記第2パーティのそれぞれで利用可能な値の同一の疑似ランダムシーケンスを作成することは、前記パーティのそれぞれにおいて、疑似ランダムシーケンスを生成することができる関数への入力として共有シークレットを使用する
ことを特徴とする請求項10または11に記載の方法。
【請求項13】
前記シーケンスは、ハッシュチェイン内で連続する値のシーケンスである
ことを特徴とする請求項10乃至12のいずれか1項に記載の方法。
【請求項14】
前記置換される値は、パーティの永久アイデンティティではなく、パーティに動的及び一時的の少なくとも一方で割り当てられる
ことを特徴とする請求項10乃至13のいずれか1項に記載の方法。
【請求項15】
前記置換される値は、サードパーティによって予測可能な方法でメッセージ間で変化する値である
ことを特徴とする請求項10乃至14のいずれか1項に記載の方法。
【請求項16】
前記置換される値は、IKEあるいはIPSecセキュリティパラメータインデックスである
ことを特徴とする請求項10乃至15のいずれか1項に記載の方法。
【請求項17】
前記置換される値は、以下の
MAC(メディアアクセスコントロール)アドレス
IPアドレス
IPv6アドレスのインタフェース識別部分
ポート番号
暗号キー
ハッシュチェイン
シーケンス番号
の内の1つである
ことを特徴とする請求項10乃至15のいずれか1項に記載の方法。
【請求項18】
サードパーティで疑似ランダム値のシーケンスを生成し、かつ前記シーケンスを前記第1パーティ及び前記第2パーティの少なくとも一方に提供する
ことを特徴とする請求項10に記載の方法。
【請求項19】
各パーティは、カウンタあるいは合意された演算関数を使用して、疑似ランダムシーケンスの値を生成することができる関数に対する入力値を生成し、カウンタ値あるいは関数結果は、前記疑似ランダムシーケンス内の対応する値を生成する
ことを特徴とする請求項10乃至16のいずれか1項に記載の方法。
【請求項20】
前記第2パーティそれぞれにおいて、第1パーティで受け入れ可能な値のウィンドウを定義し、前記ウィンドウは、前記カウンタ値の範囲に対応する
ことを特徴とする請求項19に記載の方法。
【請求項21】
前記置換される値は、受信側で前記パケットを逆多重化するために使用される値である
ことを特徴とする請求項10乃至20のいずれか1項に記載の方法。
【請求項22】
移動端末あるいはネットワークノードを操作する方法であって、
前記移動端末あるいはネットワークノードで利用可能な値の疑似ランダムシーケンスを作成し、前記シーケンスあるいは前記値と、前記移動端末あるいはネットワークノードによって送信されるメッセージを受信するパーティによって使用される値との間でのマッピングを保持して、前記メッセージあるいはその内容を処理し、
前記移動端末あるいはネットワークノードと第2パーティとの間で送信される、順序付けされたメッセージのシーケンスのメッセージそれぞれにおいて、前記疑似ランダムシーケンスにマッピングされる前記値の位置における、該疑似ランダムシーケンスからの値を使用する
ことを特徴とする方法。
【請求項23】
移動端末あるいはネットワークノードを操作する方法であって、
前記移動端末あるいはネットワークノードで利用可能な値の疑似ランダムシーケンスを作成し、前記シーケンスあるいは前記値と、前記移動端末あるいはネットワークノードによって送信されるメッセージを受信するパーティによって使用される値との間でのマッピングを保持して、前記メッセージあるいはその内容を処理し、
前記移動端末あるいはネットワークノードで受信される順序付けされたメッセージのシーケンスのメッセージそれぞれに対し、前記メッセージに含まれるシーケンスの値を、前記マッピングされた値にマッピングし、かつ前記マッピングされた値を使用して、前記メッセージあるいはその内容を処理する
ことを特徴とする方法。
【請求項24】
パーティ間の安全な通信時に使用するためのパブリックキーのシーケンスを生成する方法であって、
第1パブリックキーを第1パーティと第2パーティへ提供し、
前記第1パーティと前記第2パーティ間での共有シークレットに合意し、
前記シーケンスの値が事実上疑似ランダムとなるように、前記第1パーティと前記第2パーティに、前記第1パブリックキーと前記共有シークレットを使用して更なるパブリックキーのシーケンスを生成する手段を提供し、
前記シーケンスのパブリックキーを使用して、前記パーティ間の通信を安全にする
ことを特徴とする方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−68650(P2012−68650A)
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−233245(P2011−233245)
【出願日】平成23年10月24日(2011.10.24)
【分割の表示】特願2007−554562(P2007−554562)の分割
【原出願日】平成18年2月10日(2006.2.10)
【出願人】(598036300)テレフオンアクチーボラゲット エル エム エリクソン(パブル) (2,266)
【Fターム(参考)】