(57)【特許請求の範囲】
【請求項１】
第１の当事者のコンピュータシステム（第１のパーティ）と第２の当事者のコンピュータシステム（第２のパーティ）との間で、アイデンティティベースの認証鍵共有プロトコルを実行するための方法であって、方法が、第１のパーティにおいて、
暗号化された第１のランダム鍵コンポーネントを、第１のパーティから第２のパーティに送信するステップであって、第１のランダム鍵コンポーネントは、第１のパーティにおいて計算されており、アイデンティティベースの暗号化演算に従って第２のパーティの公開鍵を使用して暗号化されている、送信するステップと、
暗号化されたランダム鍵コンポーネントのペアを、第２のパーティから第１のパーティにおいて受信するステップであって、ランダム鍵コンポーネントのペアは、アイデンティティベースの暗号化演算に従って第１のパーティの公開鍵を使用して第２のパーティにおいて暗号化されており、ランダム鍵コンポーネントのペアは、第１のランダム鍵コンポーネントと、第２のパーティにおいて計算された第２のランダム鍵コンポーネントとから形成されている、受信するステップと、
アイデンティティベースの暗号化演算に従って第２のパーティの公開鍵を使用して暗号化されている第２のランダム鍵コンポーネントを、第１のパーティから第２のパーティに、暗号化形式で送信するステップと
を含み、
第１のパーティと第２のパーティとの間でその後の通信に使用するための鍵が、第２のランダム鍵コンポーネントに基づいて、第１のパーティにおいて計算可能である、方法。
【請求項２】
第１のランダム鍵コンポーネントｘＰが、第１のパーティによって選択された乱数ｘ、および有限体上の楕円曲線上の大きな素数位数の点Ｐから計算される、請求項１に記載の方法。
【請求項３】
第２のランダム鍵コンポーネントｙＰが、第２のパーティによって選択された乱数ｙ、および有限体上の楕円曲線上の大きな素数位数の点Ｐから計算される、請求項１に記載の方法。
【請求項４】
第１のパーティと第２のパーティとの間でその後の通信に使用するための鍵ｘｙＰが、第１のパーティによって選択された乱数ｘ、および第２のパーティによって選択された乱数ｙおよび有限体上の楕円曲線上の大きな素数位数の点Ｐから第２のパーティにおいて計算された第２の鍵コンポーネントｙＰから、第１のパーティにおいて計算される、請求項１に記載の方法。
【請求項５】
第１のランダム鍵コンポーネントおよび第２のランダム鍵コンポーネントを計算するために使用される楕円曲線が、アイデンティティベースの暗号化演算のために使用される楕円曲線から独立している、請求項１に記載の方法。
【請求項６】
第１のパーティによって実行されるアイデンティティベースの暗号化演算のために使用される楕円曲線が、第２のパーティによって実行されるアイデンティティベースの暗号化演算のために使用される楕円曲線と異なる、請求項１に記載の方法。
【請求項７】
第１のパーティと第２のパーティとの間でその後の通信に使用するための鍵が、セッション鍵を形成するのに使用される、請求項１に記載の方法。
【請求項８】
認証鍵共有プロトコルが、ネットワーク上のアプリケーション用のエンドツーエンドの鍵共有、およびセキュアプロキシベースの経路最適化プロトコルのうちの１つの一部として実行される、請求項１に記載の方法。
【請求項９】
第１の当事者のコンピュータシステム（第１のパーティ）と第２の当事者のコンピュータシステム（第２のパーティ）との間で、アイデンティティベースの認証鍵共有プロトコルを実行するための方法であって、方法が、第２のパーティにおいて、
暗号化された第１のランダム鍵コンポーネントを、第１のパーティから第２のパーティにおいて受信するステップであって、第１のランダム鍵コンポーネントは、第１のパーティにおいて計算されており、アイデンティティベースの暗号化演算に従って第２のパーティの公開鍵を使用して暗号化されている、受信するステップと、
暗号化されたランダム鍵コンポーネントのペアを、第２のパーティから第１のパーティに送信するステップであって、ランダム鍵コンポーネントのペアは、アイデンティティベースの暗号化演算に従って第１のパーティの公開鍵を使用して第２のパーティにおいて暗号化されており、ランダム鍵コンポーネントのペアは、第１のランダム鍵コンポーネントと、第２のパーティにおいて計算された第２のランダム鍵コンポーネントとから形成されている、送信するステップと、
アイデンティティベースの暗号化演算に従って第２のパーティの公開鍵を使用して暗号化されている第２のランダム鍵コンポーネントを、第１のパーティから第２のパーティにおいて、暗号化形式で受信するステップと
を含み、
第１のパーティと第２のパーティとの間でその後の通信に使用するための鍵が、第１のランダム鍵コンポーネントに基づいて、第２のパーティにおいて計算可能である、方法。
【請求項１０】
第１のパーティと第２のパーティとの間で、アイデンティティベースの認証鍵共有プロトコルを実行するための装置であって、メモリと、メモリに結合されたプロセッサとを含み、請求項１または９のステップを実行するように構成された、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、暗号化技術に関し、より詳細には、改善された、アイデンティティベースの認証鍵共有プロトコルに関する。
【背景技術】
【０００２】
暗号化技術は、２人以上の当事者間でのセキュアな通信を提供するためのよく知られた技術である。認証鍵共有は、２人以上の参加者が互いに認証し合い、今後の通信のために鍵に合意する暗号のプロトコルである。これらのプロトコルは、対称鍵プロトコルまたは非対称公開鍵プロトコルであり得る。対称鍵プロトコルは、秘密鍵をブートストラップするのに帯域外のセキュリティメカニズムを必要とし、一方、公開鍵プロトコルは、証明書および大規模な公開鍵インフラストラクチャ（ＰＫＩ）を必要とすることを思い出されたい。明らかに、公開鍵方法の方がいくぶん柔軟ではあるが、しかしながら、証明書および大規模な公開鍵インフラストラクチャの要件は、取り組むべき問題であることが証明されている。
【０００３】
近年、アイデンティティベースの暗号化（ＩＢＥ）プロトコルが、ＰＫＩ要件を単純化し、それを単純な鍵生成機能（ＫＧＦ）に替えることによって私有鍵を生成する、公開鍵方法の実行可能な代案として提案されている。しかしながら、既存のＩＢＥ方法の１つの重大な制限は、ＫＧＦが最終的に、望ましくない成り行きを伴う、事実上の鍵エスクローサーバになり得ることである。すなわち、既存のＩＢＥプロトコルにおけるＫＧＦが、プロトコルにおいて使用される各私有鍵を生成するので、ＫＧＦは、それゆえに、すべてのやり取りを解読することができる。これは、ＫＧＦが侵入者によって危険にさらされた場合に、プロトコルのもとで動作する２人の当事者間のやり取りもまた危険にさらされることになるために、望ましくない成り行きである。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｄａｎ  Ｂｏｎｅｈ、Ｍａｔｔｈｅｗ  Ｋ．Ｆｒａｎｋｌｉｎ、「Ｉｄｅｎｔｉｔｙ−Ｂａｓｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  ｆｒｏｍ  ｔｈｅ  Ｗｅｉｌ  Ｐａｉｒｉｎｇ」Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ−Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＣＲＹＰＴＯ  ２００１（２００１）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
改善された、アイデンティティベースの認証鍵共有プロトコルの必要性が存在する。
【課題を解決するための手段】
【０００６】
本発明の実施形態が、改善された、アイデンティティベースの認証鍵共有プロトコルを提供する。
【０００７】
たとえば、一実施形態において、第１の当事者のコンピュータシステム（第１のパーティ）と第２の当事者のコンピュータシステム（第２のパーティ）との間で、アイデンティティベースの認証鍵共有プロトコルを実行するための方法が、以下のステップを含む。暗号化された第１のランダム鍵コンポーネントが、第１のパーティから第２のパーティに送信され、第１のランダム鍵コンポーネントは、第１のパーティにおいて計算されており、アイデンティティベースの暗号化演算に従って第２のパーティの公開鍵を使用して暗号化されている。暗号化されたランダム鍵コンポーネントのペアが、第２のパーティから第１のパーティにおいて受信され、ランダム鍵コンポーネントのペアは、アイデンティティベースの暗号化演算に従って第１のパーティの公開鍵を使用して第２のパーティにおいて暗号化されており、ランダム鍵コンポーネントのペアは、第１のランダム鍵コンポーネントと、第２のパーティにおいて計算された第２のランダム鍵コンポーネントとから形成されている。アイデンティティベースの暗号化演算に従って第２のパーティの公開鍵を使用して暗号化されている第２のランダム鍵コンポーネントが、第１のパーティから第２のパーティに、暗号化形式で送信される。第１のパーティと第２のパーティとの間でその後の通信に使用するための鍵が、第１のランダム鍵コンポーネントおよび第２のランダム鍵コンポーネントから、第１のパーティおよび第２のパーティの両方において計算可能である。
【０００８】
有利なことに、本発明の実施形態は、鍵エスクロー問題に悩まされない、アイデンティティベースの認証鍵共有プロトコルを提供する。さらに、計算された鍵情報が、いかなる過去または未来の認証鍵共有セッションにも無関係であるために、プロトコルはまた、先にも後にも万全な秘密を提供する。その上、本発明の実施形態は、さまざまな鍵共有アプリケーションに適用されてもよく、例のみとして、有線／無線ネットワーク上のアプリケーション用のエンドツーエンドの鍵共有、およびセキュアプロキシベースの経路最適化プロトコルなどのネットワーキングプロトコルのための鍵共有に適用されてもよい。
【０００９】
本発明のこれらの、ならびに他の目的、特徴、および効果は、添付の図面と関連付けて読まれるべき、以下の本発明の例示的な実施形態の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に従った、アイデンティティベースの認証鍵共有プロトコルを示す流れ図である。
【図２】本発明の実施形態によるプロトコルのうちの１つまたは複数を実装するのに好適な、データネットワークおよびコンピュータシステムの一般化されたハードウェアアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【００１１】
参照しやすいように、詳細な説明は、以下のように分割される。アイデンティティベースの暗号化（ＩＢＥ）の概説が提供される（セクションＩ）。本来存在した鍵エスクロー問題を有する、関連する１つのＩＢＥを含んだ鍵共有プロトコルのいくつかの例の検討が提供される（セクションＩＩ）。次いで、本発明による、改善された、アイデンティティベースの認証鍵共有プロトコルの実施形態が詳細に説明され（セクションＩＩＩ）、いくつかの例示的なアプリケーションの説明がそれに続く（セクションＩＶ）。次いで、本発明による、改善された、アイデンティティベースの認証鍵共有プロトコルを実装するための、例示的なコンピューティングシステムが説明される（セクションＶ）。
【００１２】
Ｉ．アイデンティティベースの暗号化
アイデンティティベースの暗号化プロトコルは、ＢｏｎｅｈおよびＦｒａｎｋｌｉｎにより提示された。その開示が参照により本明細書に組み込まれる、Ｄａｎ  Ｂｏｎｅｈ、Ｍａｔｔｈｅｗ  Ｋ．Ｆｒａｎｋｌｉｎ、「Ｉｄｅｎｔｉｔｙ−Ｂａｓｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  ｆｒｏｍ  ｔｈｅ  Ｗｅｉｌ  Ｐａｉｒｉｎｇ」Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ−Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＣＲＹＰＴＯ  ２００１（２００１）を参照されたい。この非対称暗号の暗号化プロトコルは、参加者が、公開鍵として「アイデンティティ」（たとえば、電子メールｉｄ、またはドメイン名）を使用することを可能にし、ＲＳＡ（Ｒｉｖｅｓｔ、ＳｈａｍｉｒおよびＡｄｌｅｍａｎ）などの公開鍵暗号化方法にしばしば関係付けられている大規模な公開鍵インフラストラクチャの必要性を排除する。ＢｏｎｅｈおよびＦｒａｎｋｌｉｎの問題に対する手法は、有限体上の楕円曲線上の双線形マップを使用し、双線形判定Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ問題に依拠する。
【００１３】
プロトコルは、以下の数学的ツールおよびパラメータを伴う。
【００１４】
Ｅを、有限体Ｆ上の楕円曲線、およびＰを、大きな素数位数の点とする。
【００１５】
ｅ：Ｅ×Ｅ→Ｇを、Ｅ上の双線形マップとする。典型的な例は、Ｗｅｉｌペアリングであり、したがって、Ｇは１のｎ乗根の群となり、ここで、ｎは、Ｆ上のＥにおける点の数の関数である。
【００１６】
ｓを、非ゼロの正の整数、および鍵生成機能（ＫＧＦ）に記憶された秘密とする。これは、システム全体の秘密であり、ＫＧＦの外部には漏らされない。
【００１７】
Ｐｐｕｂ＝ｓＰを、すべての参加者に知られるシステムの公開鍵とする。Ｅは群であるので、ｓＰは、Ｅにおける点を表すことを思い出されたい。
【００１８】
Ｈ１を、文字列を取り、それを楕円曲線上の点に割り当てる既知のハッシュ関数とし、すなわち、Ｈ１（Ａ）＝Ｅ上のＱＡ（ここで、Ａは、通常アイデンティティである）であり、またＡの公開鍵でもある。
【００１９】
ｄＡ＝ｓＱＡを、ＫＧＦにより計算され、Ａにのみ引き渡される私有鍵とする。
【００２０】
Ｈ２を、Ｇの要素を取り、それを文字列に割り当てる既知のハッシュ関数とする。
【００２１】
ｍを、暗号化され、Ａに送信される必要があるメッセージとする。ＢｏｎｅｈおよびＦｒａｎｋｌｉｎにより説明される暗号化関数は、以下の通りである：
ｇＡ＝ｅ（ＱＡ，Ｐｐｕｂ）とし、ｒを、乱数とする。
【００２２】
暗号化Ａ（ｍ）＝（ｒＰ，ｍ  ｘｏｒ  Ｈ２（ｇＡｒ））、言い換えれば、ｍの暗号化の出力は、２つの座標ｕおよびｖを有し、ここで、ｕ＝ｒＰおよび、ｖ＝ｍ  ｘｏｒ  Ｈ２（ｇＡｒ）である。「ｘｏｒ」は、排他的論理和の論理関数を指すことに留意されたい。
【００２３】
（ｕ，ｖ）を解読するために、Ａは、以下の式を使用してｍを復元する：
ｍ＝ｖ  ｘｏｒ  Ｈ２（ｅ（ｄＡ，ｕ））．
【００２４】
式の証明は、双線形マップにおける直接的な実行であり、事実Ａは、秘密ｄＡ（Ａのみに知られ、他の参加者は知らない私有鍵）を有する。さらに、最初の段階でｄＡを計算したＫＧＦは、メッセージもまた解読することができ、結果として、ＫＧＦが、事実上の鍵エスクローサーバとなることに注意されたい。
【００２５】
ＩＩ．鍵共有プロトコル
主に２つの鍵共有プロトコルのカテゴリ、すなわち、対称および非対称が存在する。対称鍵共有プロトコルは、参加者間で共有されている秘密鍵に依拠し、非対称鍵共有プロトコルは、参加者がいかなる形式での事前の通信を有することも必要としない。最近まで、公開鍵ベースの鍵共有プロトコルは、非対称鍵共有プロトコルのみであったが、ＩＢＥベースのプロトコルの普及により、以来、状況は変化している。次に、鍵共有プロトコルの例が提供される。
【００２６】
対称鍵ベースの鍵共有プロトコルが非常に普及している。典型的な例は、３Ｇ無線システムに使用される、認証鍵共有（ＡＫＡ）プロトコルである。これは、移動電話加入者のＳＩＭ（加入者識別モジュール）カードとホーム加入者サーバとの間の対称ルート鍵に基づいた、相互認証、およびセッション鍵共有プロトコルの例である。上記で指摘したように、対称鍵ベースの鍵交換プロトコルは、参加エンティティ間での秘密鍵のプロビジョニングを必要とする。
【００２７】
公開鍵ベースの鍵共有プロトコルは、多くのネットワーク層およびトランスポート層のプロトコルで使用されており、認証局によって発行される公開鍵の証明書に基づいている。例としては、一般にＩＰｓｅｃと呼ばれるＩＰ（インターネットプロトコル）層のセキュリティプロトコル用のセッション鍵を引き出すために使用される、インターネット鍵交換（ＩＫＥ）プロトコルの公開鍵バージョンが含まれる。別の例には、Ｓｅｃｕｒｅ  Ｓｈｅｌｌで使用される鍵共有プロトコルがある。オープン設定において使用されるすべての公開鍵プロトコルは、証明書およびＰＫＩの使用を必要とする。
【００２８】
アイデンティティベースの鍵交換プロトコルは普及が高まっており、エンドツーエンドの暗号化のために提案される既存のアイデンティティベースのプロトコルの単純な例では、通信を発生するエンティティが、ランダム鍵を選択し、受信者の公開鍵を使用してそれを解読し、次いでそれを送信する。オープンネットワーク上のこの送信は、受信者のみが鍵を含むメッセージを解読することができるので、セキュアである。この既存のプロトコルは、十分に単純ではあるが、鍵交換に先立ってユーザを認証せず、既に説明した鍵エスクロー問題に悩まされる。
【００２９】
ＩＩＩ．アイデンティティベースの認証鍵共有
ここで説明される例示的な実施形態では、このプロトコルの基本的な設定が、セクションＩで議論された数学的構造およびパラメータを伴う。このプロトコルは、非対称であるが、いかなるＰＫＩのサポートも必要としないことを思い出されたい。代わりに、プロトコルは、鍵生成機能として働くオフラインサーバを用いる。プロトコルの詳細が、以下に概説される：
Ａ、Ｂが、認証を試みようとする２つのエンティティ（すなわちパーティであり、ここで、Ａは、第１の当事者のコンピュータシステムを表し、Ｂは、第２の当事者のコンピュータシステムを表す）であり、鍵に合意するものと仮定する。
【００３０】
ＡおよびＢを、それらの対応するアイデンティティを表すために使用することにし、アイデンティティは、定義によってそれらの公開鍵もまた表す。
【００３１】
Ｈ１（Ａ）＝ＱＡ、およびＨ１（Ｂ）＝ＱＢを、公開鍵に対応する楕円曲線上のそれぞれの点とする。実際には、ＱＡおよびＱＢを、公開鍵と呼ぶこともまたできる。というのは、アイデンティティと、Ｈ１を適用することによって取得される曲線上の点との間に、１対１の対応があるからである。
【００３２】
ｘを、Ａによって選択された乱数、ｙを、Ｂによって選択された乱数とする。
【００３３】
図１は、ＡとＢとの間のプロトコル交換を示す。プロトコル交換１００は、以下のステップからなる：
ステップ１０２で、Ａは、ｘＰ（すなわち、Ｅの加算則を使用して、Ｅ上の点としてそれ自身にｘ回加算されたＰ）を計算し、それをＢの公開鍵を使用して解読し、Ｂに送信する。このステップにおいて、暗号化は、上記のセクションＩで説明された、アイデンティティベースの暗号化を意味する。
【００３４】
暗号化されたメッセージを受信すると、Ｂは、メッセージを解読し、ｘＰを取得する。続いて、ステップ１０４で、Ｂは、ｙＰを計算し、Ａの公開鍵を使用して、ペア｛ｘＰ，ｙＰ｝を暗号化し、次いでそれをＡに送信する。
【００３５】
このメッセージを受信すると、Ａは、メッセージを解読し、ｙＰを取得する。続いて、ステップ１０６で、Ａは、Ｂの公開鍵を使用してｙＰを暗号化し、それをＢに送り返す。
【００３６】
これに続いて、ＡおよびＢの両方が、セッション鍵としてのｘｙＰを計算する。
【００３７】
Ａは、ｘをランダムに選択し、プロトコル交換の第２のステップでｙＰを受信したことに注意されたい。これにより、Ａは、ｙＰをそれ自身にｘ回加算することによって、ｘｙＰを計算することが可能になる。逆に、Ｂは、ｙをランダムに選択し、プロトコル交換の第１のステップでｘＰを受信した。これにより、Ｂは、ｘＰをそれ自身にｙ回加算することによって、ｘｙＰを計算することが可能になる。プロトコルのあらゆるアプリケーションが、アイデンティティを有するヘッダデータを利用して、プロトコルの適正な機能を保証することができることに留意されたい。これは、比較的標準であり、鍵共有のためのほとんどすべてのプロトコル交換に適用できる。
【００３８】
ｘはランダムであり、しかしｘＰは、ｘについて何の情報も提供しないことに留意されたい。したがって、ｘＰは、Ａによって選択されたランダムな秘密に基づいた鍵のコンポーネントである。同様に、ｙはランダムであり、しかしｙＰは、ｙについて何の情報も提供しない。それゆえに、ｙＰは、Ｂのみに知られるランダムな秘密に基づいた鍵のコンポーネントである。
【００３９】
ｘｙＰは、セッション鍵として働くことができることにさらに留意されたい。また、セッション鍵は、ｘｙＰの任意の既知の関数であり得る。すなわち、セッション鍵は、ｆ（ｘｙＰ）と等しくてもよく、ここで、ｆは、両方のパーティに知られており、秘密であることが必要とされない（すなわち、誰にでも知られる）。ｆについての１つの実際的な要件は、ｆがｘまたはｙの知識なしには計算が困難であるべきことであり、出力は、暗号の観点から十分な長さの、たとえばおよそ１２８ビット以上である。
【００４０】
いくつかのプロトコルの特性が、以下を含む：
鍵エスクローからの安全性：プロトコル交換におけるすべてのステップが、ＩＢＥを使用して暗号化されることに注意されたい。それゆえ、明らかに、ＫＧＦは、すべてのやり取りを解読することができる。しかしながら、ＫＧＦは、セッション鍵を計算することができない。これは、楕円曲線Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ問題の困難さのためである。言い換えれば、ｘＰおよびｙＰが与えられたとしても、ｘｙＰを計算することはコンピュータ的に困難である。
【００４１】
相互に認証された鍵共有：プロトコル交換におけるすべてのステップが、ＩＢＥを使用して暗号化されることに注意されたい。特に、ステップ１０２および１０６でＡによって送信されたメッセージの内容は、Ｂのみが解読することができ、同様に、ステップ１０４でＢによって送信されたメッセージの内容は、Ａのみが解読することができる。さらに、ｘＰは、ステップ１０２でＢによる内容の解読の後でのみ、ステップ１０４で送信されることが可能であったことから、ステップ１０４の最後で、Ａは、Ｂの信憑性を確認することができる。同様に、ｙＰは、ステップ１０４の内容を正しく解読した後にのみ、ステップ１０６で送り返されることが可能であったこと、かつこれはＡによってのみ可能であることから、ステップ１０６の最後で、Ｂは、Ａの信憑性を確認することができる。最後に、ＡおよびＢの両方が、同じセッション鍵に合意することができる。言い換えれば、プロトコルは、ＩＢＥに基づいた相互に認証された鍵共有プロトコルである。上記の説明が、プロトコルのセキュリティに対する動機付けを提供する一方で、暗号化によるセキュリティの証明が、容易に提供され得る。プロトコルの困難さは、楕円曲線Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ問題の困難さに依拠しており、これは、楕円曲線の選択によって左右される。
【００４２】
先にも後にも万全な秘密：ｘおよびｙはランダムであることから、ｘｙＰは常に新しく、ＡとＢとの間のいかなる過去または未来のセッションにも無関係である。
【００４３】
パスワード不要：明らかに、本発明のプロトコルは、ＡとＢとの間で、パスワードまたは秘密鍵のいかなるオフライン交換も必要としない。実際には、方法は、任意の通信ネットワークを介して初めて通信する任意の２つのパーティに明らかに適用できる。唯一の要件は、ＡおよびＢの両方が、たとえば、ディレクトリサービスを介して、互いの公開鍵を認識していることを確実にすることである。
【００４４】
ＩＶ．例示的なアプリケーション
図１の本発明のプロトコルが使用されてもよい２つの例示的なシナリオが、次に説明される。
【００４５】
Ａ．エンドツーエンドの鍵共有
既存の、ならびに新生のインターネットおよび無線アプリケーションは、ますます「オープンな」ネットワーク上でサポートされている。加えて、セキュリティ攻撃の爆発的な増加のために、ユーザは、エンドツーエンドのプライバシーへの要求に目覚めつつある。これは、クライアントツークライアントのアプリケーション（ボイスオーバＩＰ、インスタントメッセージング、その他など）、ならびにサーバツークライアントのアプリケーション（ウェブ上のｅコマースなど）に当てはまる。これらすべてのアプリケーションでは、参加者に、対称鍵ベースの鍵共有プロトコルを使用するために秘密鍵に合意させること、または、公開鍵ベースの鍵共有プロトコルに使用するための証明書を取得するのにＰＫＩに登録させることが、しばしば可能ではない。実際には、クライアントツークライアント通信（たとえば、音声呼）に関わるエンドユーザは、事前に互いを知らないことさえある。さらに、プライバシーおよびセキュリティを要求するエンドユーザは、道徳心のない人々にとってシステムを悪用する絶好の機会が存在することから、鍵エスクローを非常に嫌がることになる。これらの状況では、アイデンティティベースの認証鍵共有プロトコルは、極めて魅力的なオプションである。必要とされるのは、個人が、鍵生成サービスに彼らのアイデンティティで登録して、私有鍵を取得することだけである。実際には、鍵生成サービスが、一意であること、およびすべての参加者に適用できることは必要とされない。
【００４６】
（本発明のプロトコルを例示的に説明する）先のセクションで概説されたプロトコル交換において、暗号化ステップ１０２および１０６は、１つの曲線（Ｂに適用できる）に基づくことができ、ステップ１０４の暗号化は、全く異なる曲線（Ａに適用できる）に基づくことができることに注意されたい。これにより、鍵生成サービスは、互いに独立して作動することが可能になる。しかしながら、暗号化のために必要なすべてのパラメータが、ディレクトリサービスを介して、公にかつ容易に利用可能であることを保証することが重要である。さらに重要なことには、ｘＰおよびｙＰは、同じ楕円曲線に対応すべきであるが、暗号化のために使用される楕円曲線からは独立していることができる。
【００４７】
Ｂ．セキュアプロキシベースの経路最適化
移動無線ネットワークは目覚ましい進化を経験し、次世代のシステムは、完全にパケットおよびＩＰベースで経路制御される公有地移動無線データネットワークへの拡大を試みている。これは、音声などの従来のサービスが、ＩＰ（すなわち、移動ボイスオーバＩＰ）を通してサポートされることを必要とするようになる。この点において、無線ネットワークが目覚ましい改良を経験している一方で、コアネットワークにおける経路制御は、最適化される必要があることが認識されている。
【００４８】
訪問されたゲートウェイ間での認証鍵共有プロトコルは、パケットを互いの間でセキュアに転送するために、セキュリティアソシエーションを設定するのに使用されてもよい。特に、これらの訪問されたゲートウェイは、互いの予備知識を持たない２つの異なる事業者のネットワーク上にあることがあり、これらのネットワーク要素を所有する事業者は、いかなるサービス水準合意さえ持たないことがある。そのようなシナリオでは、アイデンティティベースの認証鍵共有プロトコルは、非常に魅力的な選択である。先の例でのように、鍵生成サービスが、一意であること、およびすべてのネットワーク要素に適用できることは必要とされない。実際には、各ネットワーク事業者は、単純なオフライン鍵生成サーバを所有し、動作させることができる。
【００４９】
（本発明のプロトコルを例示的に説明する）先のセクションで概説されたプロトコル交換において、暗号化ステップ１０２および１０６は、１つの曲線（Ｂに適用できる）に基づくことができ、ステップ１０４の暗号化は、全く異なる曲線（Ａに適用できる）に基づくことができることに注意されたい。これにより、鍵生成サービスは、互いに独立して作動することが可能になる。しかしながら、暗号化のために必要なすべてのパラメータが、ディレクトリサービスを介して、公にかつ容易に利用可能であることを保証することが重要である。さらに重要なことには、ｘＰおよびｙＰは、同じ楕円曲線に対応すべきであるが、暗号化のために使用される楕円曲線からは独立していることができる。
【００５０】
Ｖ．例示的なコンピューティングシステム
図２は、本発明による、２つのエンティティＡとＢとの間での、改善された、アイデンティティベースの認証鍵共有プロトコルを実装するのに好適な、データネットワークおよびコンピュータシステムの一般化されたハードウェアアーキテクチャを示す。示されるように、エンティティＡは、コンピュータシステム２０２を含み、一方エンティティＢは、コンピュータシステム２０４を含む。２つのコンピュータシステム２０２および２０４は、データネットワーク２０６を介して結合される。データネットワークは、ＡおよびＢが通信することを要求する任意のデータネットワーク、たとえばインターネットであってもよい。しかしながら、本発明は、特定のタイプのネットワークには限定されない。典型的には、Ａがクライアントマシンであり、Ｂがサーバマシンであってもよい。また、ＡおよびＢの両方がクライアントであっても、または両方がサーバであってもよい。したがって、本発明の通信プロトコルは、ＡおよびＢがクライアントおよびサーバである場合に限定されず、代わりに、ＡおよびＢを含む任意のコンピューティングデバイスに適用できることが理解されるべきである。
【００５１】
ネットワーク２０６を介してコンピュータシステム２０２および２０４に結合された、コンピュータシステム２１４もまた示される。コンピュータシステム２１４は、好ましくは、上記で説明されたような鍵生成機能または鍵生成サービスを実行するサーバである。
【００５２】
当業者には容易に明らかであるように、サーバおよびクライアントは、コンピュータプログラムコードの制御のもとに動作する、プログラムされたコンピュータとして実装されてもよい。コンピュータプログラムコードは、コンピュータ可読記憶媒体（たとえば、メモリ）に記憶され、コードは、コンピュータのプロセッサによって実行されることになる。本発明のこの開示が与えられれば、当業者は、本明細書において説明されたプロトコルを実装するために、適切なコンピュータプログラムコードを容易に作成することができる。
【００５３】
しかしながら、図２は、ネットワーク上で通信する各コンピュータシステムのための例示的なアーキテクチャを一般的に示している。示されるように、コンピュータシステムＡは、Ｉ／Ｏデバイス２０８−Ａと、プロセッサ２１０−Ａと、メモリ２１２−Ａとを含む。コンピュータシステムＢは、Ｉ／Ｏデバイス２０８−Ｂと、プロセッサ２１０−Ｂと、メモリ２１２−Ｂとを含む。コンピュータシステム２１４（鍵生成器）は、Ｉ／Ｏデバイス２０８−Ｋと、プロセッサ２１０−Ｋと、メモリ２１２−Ｋとを含む。本明細書において使用されるとき、用語「プロセッサ」は、中央処理装置（ＣＰＵ）または他の処理回路を含む、１つまたは複数の処理デバイスを含むように意図されていることが理解されるべきである。また、本明細書において使用されるとき、用語「メモリ」は、ＲＡＭ、ＲＯＭ、固定されたメモリデバイス（たとえば、ハードドライブ）、または着脱可能なメモリデバイス（たとえば、ディスケットまたはＣＤＲＯＭ）などの、プロセッサまたはＣＰＵに関連付けられたメモリを含むように意図されている。加えて、本明細書において使用されるとき、用語「Ｉ／Ｏデバイス」は、処理装置にデータを入力するための１つまたは複数の入力デバイス（たとえば、キーボード、マウス）、ならびに処理装置に関連付けられた結果を提供するための１つまたは複数の出力デバイス（たとえば、ＣＲＴ表示装置）を含むように意図されている。それに応じて、本明細書において説明された本発明の方法論を実行するためのソフトウェア命令またはソフトウェアコードが、関連付けられたメモリデバイスのうちの１つまたは複数、たとえば、ＲＯＭ、固定された、または着脱可能なメモリに記憶され、利用される準備ができたときに、ＲＡＭにロードされ、ＣＰＵによって実行されてもよい。
【００５４】
本発明の例示的な実施形態が、添付の図面を参照して、本明細書において説明されてきたが、本発明は、それらの厳密な実施形態には限定されず、さまざまな他の変更形態および修正形態が、本発明の範囲または趣旨から逸脱せずに、当業者によって行われてもよいことが理解されるべきである。
【図１】
0005349619.tif 000002
【図２】
0005349619.tif 000003