(57)【要約】【課題】  装置認証の改良された方法を提供すること。【解決手段】  第３の装置と通信する２つの装置の認証は、各第１および第２の装置が共通の秘密値を有している場合に達成される。認証は、第３の装置を用いて、第１の装置から第２の装置への認証値の通信を含む。同様に、第３の装置を用いて、第２の装置から第１の装置への値の通信がある。第３の装置は通信された値を保持する。値は算出されて、第３の装置が共通の秘密値を受けることなしに、第１および第２の装置を認証することが可能になる。認証は、第１および第２の装置間の通信チャンネルを確証するために使用され得る。【選択図】  図１
2005323371.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２の装置はそれぞれ共通の秘密キー値ｈを有し、各装置は公開キー値Ｐの使用が可能で、製品ｈＰから秘密キー値ｈを引き出す操作が計算的に困難な操作になるように選択される、第３の装置による該第１および該第２の装置の認証のための方法であって、
該方法は、該第１の装置が製品ｈＰに等しい値を有する第１式を計算でき、該第２装置が製品ｈＰに等しい値を有する第２式を計算でき、該第３の装置が該第１および該第２の装置間で通信された第１および第２のセット値のコピーを保持できるように、該第１および該第２の装置が、該第３の装置を用いて第１のセット値および第２の別のセット値を相互に通信させるステップを備え、
該方法はさらに、該第３の装置が、該第１および該第２の装置の認証のための第１次式および第２次式の値を計算し比較するステップを備える方法。
【請求項２】
上記第１装置が無線携帯装置で、上記第２装置がエンタプライズサーバーで、上記第３装置がルータであり、該第３の装置が該第１および該第２の装置を認証するステップは、該第１および該第２の装置間の通信チャンネルを確立させるステップを包含する、請求項１に記載の方法。
【請求項３】
確立された通信チャンネルは、該チャンネルの一部とする前記第３の装置、および前記第１の装置および上記第２の装置間で通信された値を保持する該第３の装置を含み、
前記方法は、該第２の装置および該第３の装置間で通信チャンネルを閉じるステップをさらに含み、
このチャンネルを閉じるステップは、該第２の装置および該第３の装置がクロージング認証値の組を交換するステップを備え、保持された値および通信チャンネルを閉じる認証をするためのクロージング認証値に基づいて、該第３装置が式の計算を実行できるようにする請求項２に記載の方法。
【請求項４】
装置は、それぞれ、定義されたグループＥ（Ｆｑ）およびＺｐで数学的作動を実行するのに操作的であり、ここでＦｑはプライム次数ｑの有限分野であり、グループＥ（Ｆｑ）およびＺｐを参照することで定義されるスカラ乗法を含み、各装置で利用可能な公開キーＰは、次数ｐのグループＥ（Ｆｑ）のプライム亜群を発生させ、
該方法は以下のステップを包含する方法：
前記第１の装置は、１＜ｒＤ＜ｐ−１になるようにランダム値ｒＤを獲得し、値ＲＤ＝ｒＤＰを計算するステップと、
該第１の装置が該値ＲＤを前記第３の装置に通信させるステップと、
該第３の装置が該値ＲＤのコピーを保持し、該値ＲＤを前記第２の装置に転送させるステップと、
該第２の装置は、１＜ｒＢ＜ｐ−１となるようにランダム値ｒＢを獲得し、値ＲＢ＝ｒＢＰを計算しここで、ＲＤと等しくならないようにＲＢが決定される、該第２の装置は１＜ｒＤ＜ｐ−１となるようにランダム値ｒＤを獲得し、該第２の装置は該値ｒＤおよびＲＢを該第３の装置と通信させるステップと、
該第３装置は、該値ＲＢおよびｒＤのコピーを保持し、その該値を該第１の装置に転送するステップと、
該第１の装置は、値ｙＤ＝ｈ−ｅＤｒＤｍｏｄｐを計算し、該第１の装置は１＜ｅＢ＜ｐ−１となるようにランダム値ｅＢを獲得し、該第１の装置はｙＤおよびｅＢを該第３の装置と通信させるステップと、
該第３の装置は、該値ｙＤおよびｅＢのコピーを保持し、その該値を該第２の装置に転送させるステップと、
該第２の装置は、値ｙＢ＝ｈ−ｅＢｒＢｍｏｄｐを計算し、該第２の装置は該値ｙＢを該第３の装置と通信させるステップと、
条件ｙＢＰ＋ｅＢＲＢ＝ｙＤＰ＋ｅＤＲＤを満足しているとき、該第３の装置は、該第１および該第２の装置を認証するステップと、
を包む請求項１〜３のいずれか１項に記載の方法。
【請求項５】
条件ｙＢＰ＋ｅＢＲＢ＝ｈＰを満足しているとき、前記第１の装置は、前記第２装置を認証するステップをさらに包含する、請求項４に記載の方法。
【請求項６】
条件ｙＤＰ＋ｅＤＲＤ＝ｈＰを満足しているとき、前記第２の装置は、前記第１装置を認証するステップをさらに包含する、請求項４又は請求項５に記載の方法。
【請求項７】
前記第１の装置は非認証識別子によって識別され、前記第２の装置は該第１の装置の秘密キー値と共通のキー値を含む１組のキー値を保持し、
前記方法は、第１の装置が該非認証識別子を該第２装置と通信させることで、該第２装置が該キー値組から該第１装置の該秘密キー値と共通の該キー値を選択し得るステップを包含する、請求項４〜６のいずれか１つに記載の方法。
【請求項８】
前記共通の秘密値ｓから前記値ｈを引き出すステップをさらに備える、請求項４〜７のいずれか１つに記載の方法。
【請求項９】
値ｈを引き出すステップは、共通の秘密値ｓで一方向性のハッシュ機能を実行するステップを包含する、請求項８に記載の方法。
【請求項１０】
１つ以上の前記第１、前記第２、前記第３の装置は、前記値ｅＤがゼロではない、および／または前記値ｅＢがゼロではないことをチェックするステップをさらに備える、請求項４〜９のいずれか１つに記載の方法。
【請求項１１】
１つ以上の前記第１、前記第２、前記第３の装置は、前記値ＲＢが無限大値に等しくない、  および／または  前記値ＲＤは無限大値に等しくない、  および／または該値ＲＢが該値ＲＤに等しくないことをチェックするステップをさらに備える、請求項４〜１０のいずれか１つに記載の方法。
【請求項１２】
前記通信チャンネルが前記第１の装置へのインターネットプロトコルアドレスの割当によって定義される、請求項２〜１１のいずれか１つに記載の方法。
【請求項１３】
前記第３の装置が前記値ｙＤ、Ｐ、ｅＤ、ＲＤを保持し、前記方法が前記第２の装置および該第３の装置の間の通信チャンネルをさらに閉じ、該チャンネルを閉じる該ステップは、
該第２の装置は、１＜ｒＣ＜ｐ−１となるようにランダム値ｒＣを獲得して値ＲＣ＝ｒＣＰを計算し、それによってＲＣがＲＢ、ＲＤとは異なる値を有するように強制されるステップと、
該第２の装置が該値ＲＣを第３の装置と通信させるステップと、
該第３の装置は、１＜ｅＣ＜ｐ−１となるようにランダム値ｅＣを獲得し、該第３の装置が該値ｅＣを該第２の装置に通信させるステップと、
条件ｙＣＰ＋ｅＣＲＣ＝ｙＤＰ＋  ｅＤＲＤを満足しているとき、該第２の装置はクローズ操作を認証するステップと、
を包含する請求項３〜１２のいずれか１つに記載の方法。
【請求項１４】
前記第２の装置が前記値ｅＣがゼロでないことをチェックするステップをさらに備える、請求項１３に記載の方法。
【請求項１５】
前記第３の装置が前記値ＲＣが無限大値に等しくないことをチェックするステップをさらに含む、請求項１３または請求項１４に記載の方法。
【請求項１６】
前記第２および前記第３の装置の一方または双方が、前記値ＲＣが前記値ＲＢに等しくなく、前記値ＲＤに等しくなく、および／または前記値ｅＣは前記値ｅＤに等しくなく、前記値にｅＢに等しくないことをチェックするステップをさらに備える、請求項１３〜１５のいずれか１つに記載の方法。
【請求項１７】
媒体に組み入れられる実行可能なプログラム・コードを有する媒体と、第１の装置、第２の装置、第３の装置でさまざまに実行可能な該実行可能プログラム・コードと、請求項１〜１６のいずれかの前記方法を実行するように操作的である該実行可能プログラム・コードとを備えるプログラム製品。
【請求項１８】
第１の装置、第２の装置、および第３の装置を備えるシステムであって、
該第１および該第２の装置はそれぞれ共通の秘密キー値ｈを有し、各装置は公開キーＰが利用可能で、製品ｈＰから秘密キー値ｈを引き出す操作が計算的に困難な操作であるように選択され、該第１の装置、該第２の装置及び上記第３の装置はそれぞれプログラム・コードを格納し実行するための記憶ユニットおよび処理装置を備え、
該プログラム・コードは、該第３の装置を用いて該第１の装置および該第２の装置間で第１セット値および第２の別のセット値の通信をさせるのに操作的であり、
該プログラム・コードは、該第１の装置に該製品ｈＰに等しい値を有する第１式を計算させ、該第２の装置に該製品ｈＰに等しい値を有する第２式を計算させるのに操作的であり、
該プログラム・コードは、該第３の装置に該第１および該第２の装置間で通信される第１および第２セット値のコピーを保持させるのに操作的であり、
該プログラム・コードは該第３の装置に、該第１および第２の装置を認証するための該第１式および該第２式の値を計算させ比較させるのに操作的である、システム。
【請求項１９】
前記第１の装置が無線携帯装置であり、前記第２の装置がエンタプライズサーバーであり、前記第３の装置がルータであり、
該第３の装置に該第１および該第２の装置の認証をさせるように操作的な上記プログラム・コードは、該第１および該第２の装置間で通信チャンネルを確立するように操作的なプログラム・コードを備える、請求項１８に記載のシステム。
【請求項２０】
確立された通信チャンネルは、チャンネルの一部としての前記第３の装置を有し、該第３の装置は、前記第１の装置および前記第２の装置間で通信された値を保持するためのメモリを備え、
前記プログラム・コードは、該第２の装置および該第３の装置間での通信チャンネルを閉じるように操作的な前記プログラム・コードをさらに備え、
該コードは、第２の装置および第３の装置間でクロージング認証値のセットを交換するのに操作的なプログラム・コードを備え、保持された値および通信チャンネルを閉じる認証をするためのクロージング認証値に基づいて、該第３装置が式の計算を実行できるようにする請求項１９に記載のシステム。
【請求項２１】
装置は、それぞれ、定義されたグループＥ（Ｆｑ）およびＺｐで数学的作動を実行するのに操作的であり、ここでＦｑはプライム次数ｑの有限分野であり、グループＥ（Ｆｑ）およびＺｐを参照することで定義されるスカラ乗法を含み、各装置で利用可能な公開キーＰは、次数ｐのグループＥ（Ｆｑ）のプライム亜群を発生させ、
上記プログラム・コードは、上記第１の装置が１＜ｒＤ＜ｐ−１になるようにランダム値ｒＤを獲得させ、値ＲＤ＝ｒＤＰを計算するように操作的であり、
該プログラム・コードは、該第１の装置が値ＲＤを第３の装置と通信させるように操作的であり、
該プログラム・コードは、該第３の装置が値ＲＤのコピーを保持し、値ＲＤを上記第２の装置に転送させるように操作的であり、
該プログラム・コードは、該第２の装置に１＜ｒＢ＜ｐ−１となるようにランダム値ｒＢを獲得させ、値ＲＢ＝ｒＢＰを計算し、ここで、ＲＤと等しくならないようにＲＢが決定され、該第２の装置は１＜ｅＤ＜ｐ−１となるようにランダム値ｅＤを獲得させ、該値ｒＤおよびＲＢを該第３の装置と通信させるように操作的であり、
該プログラム・コードは、該第３の装置は該値ＲＢおよびｒＤのコピーを保持させ、該値を該第１の装置に転送させるように操作的であり、
該プログラム・コードは、該第１の装置に値ｙＤ＝ｈ−ｅＤｒＤｍｏｄｐを計算させ、該第１の装置が１＜ｅＢ＜ｐ−１となるようにランダム値ｅＢを獲得させ、該第１の装置は値ｙＤおよびｅＢを該第３の装置と通信させるように操作的であり、
該プログラム・コードは、該第３の装置に該値ｙＤおよびｅＢのコピーを保持させ、該値を該第２の装置に転送させるように操作的で、
該プログラム・コードは、該第２の装置に値ｙＢ＝ｈ−ｅＢｒＢｍｏｄｐを計算させ、該第２の装置に該値ｙＢを該第３の装置と通信させ、および
該プログラム・コードは、条件ｙＢＰ＋ｅＢＲＢ＝ｙＤＰ＋ｅＤＲＤが満足しているとき、該第３の装置に該第１および該第２の装置を認証させる、請求項１８〜２０のいずれか１つに記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に電子装置間の通信に関し、より特定すると第３の装置による認証を含む２つの電子装置の認証に関する。
【背景技術】
【０００２】
電子装置間の通信において、時々２つの装置が第３の装置を用いて相互に通信することは望ましい。典型的には、第１の装置が第３の装置に要求して第２の装置との通信を確立する。そのような状況において、第３の装置は門番役として作用し得て、２つの装置のために定義された許容に基づいてそのような通信を妨げるか、もしくは許可する。
【０００３】
装置間での通信のセキュリティーが問題である場合、２つの装置間に通信チャンネルが確立され得るかを決定するために使用され得る秘密値またはキーが２つの通信装置に提供され得る。第３の装置は、各通信装置によって保たれる共通の値を基に、装置間での通信を許可、または拒否する指示を実行し得る。
【０００４】
より一般的には、２つの装置を第３の装置に認証するための他の理由があり得る。２つの装置の各々が承認される場合では、各装置は同じ秘密値を有し、第３の装置は、各装置が比較のために第３の装置に秘密値のコピーを提供することで２つの装置を認証し得る。
【０００５】
しかし、もし第１または第２の装置および第３の装置間の通信が潜在的に保証されていないとすると、または、もし第３の装置自体が潜在的に保証されていないとすると、第３の装置への秘密値またはキーの直接通信は、共通値の機密がリスクにさらされるので、典型的に望ましくない。
【０００６】
Ｂｌｏｍ出願による米国特許出願第２００３／２３３５４６号は挑戦対応認証手順を教示している。この手順は遮蔽機能を用いて認証センターによって発生される予期反応遮蔽、および、予期反応自体の代わりに、実際のユーザーが認証を行う中間当事者に対応する予期遮蔽の伝送を含む。中間当事者はまた、ユーザーからユーザー反応を受けて、認証センターが行ったのと同じ遮蔽機能を用いて遮蔽ユーザー対応を発生する。ユーザーを認証するために、中間当事者は、遮蔽ユーザー反応が認証センターから受けた遮蔽予期反応に対応しているか検証する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
それゆえ、共通値の露出のリスクが減少する第３の装置によって、２つの装置の認証のためのメカニズムを有することは望ましい。
【課題を解決するための手段】
【０００８】
本発明の１つの局面によると、装置認証の改良された方法が提供される。
【０００９】
本発明の別の局面によると、２つの装置を認証する認証方法が提供される。各装置は共通の秘密値を有し、第３の装置は、各通信装置が直接的に共通秘密値を提供することなく、同じ共通秘密値を有しているかどうかを決定することが可能である。
【００１０】
本発明の別の局面によると、通信チャンネルが第３の装置を用いて２つの装置間に確立されるための方法が提供される。通信を模索している２つの装置は共通の秘密値を備えている。該通信装置は、各通信装置は同じ秘密値（およびこのように認証される）を有するということを第３の装置に証明することができる。この認証方法で、第３の装置は、第３の装置が共通秘密値を提供されることなく各通信装置が同じ共通秘密値を有しているかどうかを決定することができる。
【００１１】
本発明の別の局面によると、上記の認証を用いて確立された通信チャンネルを確実に閉じる方法が提供されている。
【００１２】
本発明の別の局面によると、第３の装置によって第１および第２の装置の認証のための方法が提供されている。各第１および第２の装置は共通の秘密キー値ｈを有し、各装置は公開キーＰが使用可能で、製品ｈＰからの秘密キー値ｈを引き出す操作が計算的に困難な操作であるように選択される。その方法は、第１および第２の装置が第３の装置を用いて、第１のセット値および第２の別のセット値を相互に通信させる、ステップを備える。第１の装置が製品ｈＰに等しい値を有する第１式を計算することができ、第２の装置は製品ｈＰに等しい値を有する第２式を計算することができ、第３の装置は第１および第２の装置間で通信された値のコピーを保持する。その方法は、第３の装置が第１および第２の装置を認証するための第１式および第２式の値を計算し比較するステップをさらに備える。
【００１３】
本発明の別の局面によると、第１の装置が無線携帯装置で、第２の装置がエンタプライズサーバーで、第３の装置がルータである上記の方法が提供されている。上記の方法はまた、第３の装置が第１および第２の装置を認証するステップは、第１および第２の装置間で通信チャンネルを確立するステップを備える。
【００１４】
本発明の別の局面によると、提供される上記の方法は、確立された通信チャンネルが、チャンネルの一部としての第３の装置、および、第１の装置および第２の装置間で通信された値を保持する第３の装置を含む。上記の方法は、第２の装置および第３の装置間の通信チャンネルを閉じるステップをさらに備える。そのチャンネルを閉じるステップは、第２の装置および第３の装置がクロージング認証値の組を交換するステップを備え、保持された値および通信チャンネルを閉じる認証をするためのクロージング認証値に基づいて、第３装置が式の計算を実行できるようにする。
【００１５】
本発明の別の局面によると、第３の装置による第１および第２の装置の認証のための方法が提供されている。第１および第２の装置はそれぞれ共通秘密キー値ｈを有する。装置は、それぞれ、定義されたグループＥ（Ｆｑ）およびＺｐで数学的作動を実行するのに操作的であり、ここでＦｑはプライム次数ｑの有限分野であり、グループＥ（Ｆｑ）およびＺｐを参照することで定義されるスカラ乗法を含み、各装置で利用可能な公開キーＰは、次数ｐのグループＥ（Ｆｑ）のプライム亜群を発生させ、
その方法は以下のステップを備える方法：
ａ）公開キーＰを獲得し、Ｐが次数ｐのグループＥ（Ｆｑ）のプライム亜群を発生させる、各装置が公開キーＰを利用可能にするステップ、
ｂ）第１の装置は、１＜ｒＤ＜ｐ−１になるようにランダム値ｒＤを獲得し、値ＲＤ＝ｒＤＰを計算するステップ、
ｃ）第１の装置が値ＲＤを第３の装置に通信させるステップ、
ｄ）第３の装置が値ＲＤのコピーを保持し、値ＲＤを第２の装置に転送させるステップ、
ｅ）第２の装置は、１＜ｒＢ＜ｐ−１となるようにランダム値ｒＢを獲得し、値ＲＢ＝ｒＢＰを計算し、ここでＲＤと等しくならないようにＲＢが決定され、第２の装置は１＜ｅＤ＜ｐ−１となるようにランダム値ｅＤを獲得し、第２の装置は値ｒＤおよびＲＢを第３の装置と通信させるステップ、
ｆ）第３の装置は値ＲＢおよびｒＤのコピーを保持し、その値を第１の装置に転送するステップ、
ｇ）第１の装置は値ｙＤ＝ｈ−ｅＤｒＤｍｏｄｐを計算し、第１の装置は１＜ｅＢ＜ｐ−１となるようにランダム値ｅＢを獲得し、第１の装置はｙＤおよびｅＢを第３の装置と通信させるステップ、
ｈ）第３の装置は値ｙＤおよびｅＢのコピーを保持し、その値を第２の装置に転送させるステップ、
ｉ）第２の装置は値ｙＢ＝ｈ−ｅＢｒＢｍｏｄｐを計算し、第２の装置は値ｙＢを第３の装置と通信させるステップ、
ｊ）第３の装置は第１および第２の装置を認証し、状態ｙＢＰ＋ｅＢＲＢ＝ｙＤＰのとき、ｅＤＲＤが満足しているステップ。
【００１６】
本発明の別の局面によると、提供される上記の方法は、条件ｙＢＰ＋  ｅＢＲＢ＝ｈＰを満足しているとき、第２の装置の認証をする第１の装置のステップをさらに備える。
【００１７】
本発明の別の局面によると、提供される上記の方法は、条件ｙＤＰ＋  ｅＤＲＤ＝ｈＰを満足しているとき、第１の装置の認証をする第２の装置のステップをさらに備える。
【００１８】
本発明の別の局面によると、提供される上記の方法は、第１の装置は非認証識別子によって識別され、第２の装置は第１の装置の秘密キー値と共通のキー値を含む一連のキー値を保持し、上記の方法は、第１の装置が非認証識別子を第２の装置と通信させることで、第２の装置が一連のキー値から第１の装置の秘密キー値と共通のキー値を選択し得るステップを備える。
【００１９】
本発明の別の局面によると、提供される上記の方法は、共通の秘密値ｓから値ｈを引き出すステップをさらに備える。
【００２０】
本発明の別の局面によると、提供される上記の方法は、値ｈを引き出すステップは共通秘密値ｓにおける一方向性ハッシュ機能を実行するステップを備える。
【００２１】
本発明の別の局面によると、提供される上記の方法は、１つ以上の第１、第２、第３の装置が値ｅＤがゼロではない、  および／または  値ｅＢがゼロではないことをチェックするステップをさらに備える。
【００２２】
本発明の別の局面によると、提供される上記の方法は、１つ以上の第１、第２、第３の装置が値ＲＢが無限大値に等しくない、  および／または  値ＲＤは無限大値に等しくないということをチェックするステップをさらに備える。
【００２３】
本発明の別の局面によると、提供される上記の方法は、１つ以上の第１、第２、第３の装置が値ＲＢが値ＲＤに等しくないことをチェックするステップをさらに備える。
【００２４】
本発明の別の局面によると、提供される上記の方法は、第１の装置が無線携帯装置で、第２の装置がエンタプライズサーバーで、第３の装置がルータであり、第１および第２の装置を認証する第３の装置のステップは、第１および第２の装置間で通信チャンネルを確立するステップを備える。
【００２５】
本発明の別の局面によると、提供される上記の方法は、通信チャンネルが第１の装置へのインターネットプロトコルアドレスの割当によって定義される。
【００２６】
本発明の別の局面によると、提供される上記の方法は、確立された通信チャンネルは、チャンネルの一部としての第３の装置および値ｙＤ、Ｐ、ｅＤ、ＲＤを保持する第３の装置を含み、この方法は、第２の装置および第３の装置の間の通信チャンネルを閉じるステップをさらに備える。チャンネルを閉じるステップは次のステップを備える：
ｋ）第２の装置は、１＜ｒＣ＜ｐ−１となるようにランダム値ｒＣを獲得して値ＲＣ＝ｒＣＰを計算し、それによってＲＣがＲＢ、ＲＤとは異なる値を有するように強制されるステップ、
ｌ）第２の装置が値ＲＣを第３の装置と通信させるステップ、
ｍ）第３の装置は、１＜ｅＣ＜ｐ−１となるようにランダム値ｅＣを獲得し、第３の装置が値ｅＣを第２の装置に通信させるステップ、
ｎ）第２の装置はクローズ操作を認証し、状態ｙＣＰ＋ｅＣＲＣ＝ｙＤＰのとき、ｅＤＲＤが満足しているステップ。
【００２７】
本発明の別の局面によると、提供される上記の方法は、第２の装置が、値ｅＣがゼロではないことをチェックするステップをさらに備える。
【００２８】
本発明の別の局面によると、提供される上記の方法は、第３の装置が、値ＲＣが無限大値に等しくないことをチェックするステップをさらに備える。
【００２９】
本発明の別の局面によると、提供される上記の方法は、第２および第３装置の一方または双方が、値ＲＣが値ＲＢに等しくなく、値ＲＤにも等しくないことをチェックするステップをさらに備える。
【００３０】
本発明の別の局面によると、提供される上記の方法は、第２および第３の装置の一方または双方が、値ｅＣは値ｅＤに等しくなく、値ｅＢにも等しくないことをチェックするステップをさらに備える。
【００３１】
本発明の別の局面によると、提供されるプログラム製品は、媒体を備え、その媒体はその中に組み入れられる実行可能なプログラム・コードを有する。その実行可能なプログラム・コードは第１の装置、第２の装置、第３の装置においてさまざまに実行可能であり、その実行可能なプログラム・コードは上記の方法を実行させるために操作的である。
【００３２】
本発明の別の局面によると、提供されるシステムは、第１の装置、第２の装置、第３の装置を備え、各第１および第２の装置は共通の秘密キー値ｈを有する。各装置は公開キーＰの利用が可能で、製品ｈＰから秘密キー値ｈを引き出す操作は計算的に困難な操作であるように選択される。各第１の装置、第２の装置、第３の装置はプログラム・コードを格納し実行するために記憶ユニットおよび処理装置を備える。
【００３３】
プログラム・コードは、第３の装置を用いて第１の装置および第２の装置間で第１セット値および第２の別のセット値の通信をさせるのに操作的である。プログラム・コードは、第１の装置に製品ｈＰに等しい値を有する第１式を計算させ、第２の装置に製品ｈＰに等しい値を有する第２式を計算させるのに操作的である。プログラム・コードは、第３の装置に第１および第２の装置間で通信される値のコピーを保持させるのに操作的である。プログラム・コードは第３の装置に、第１および第２の装置を認証するための第１式および第２式の値を計算させ比較させるのに操作的である。
【００３４】
本発明の別の局面によると、提供されるシステムは、第１の装置が無線携帯装置で、第２の装置がエンタプライズサーバーで、第３の装置がルータである。そのシステムでは、第３の装置に第１および第２の装置を認証させるのに操作的なプログラム・コードは、第１および第２の装置間で通信チャンネルを確立するのに操作的なプログラム・コードを備える。
【００３５】
本発明の別の局面によると、提供される上記のシステムは、確立された通信チャンネルがチャンネルの一部として第３の装置を含み、第３の装置は第１の装置および第２の装置間通信された値を保持するためのメモリを備える。プログラム・コードは第２の装置および第３の装置間の通信チャンネルを閉じるのに操作的なプログラム・コードをさらに備える。そのコードは、第２の装置および第３の装置間でクロージング認証値の組を交換するのに操作的であるプログラム・コードを備え、第３の装置が、そのコードが第２の装置および第３の装置間でクロージング認証値の組を交換するのに操作的であるプログラム・コードを備え、第３の装置が、保持された値および通信チャンネルを閉じる認証のためのクロージング認証値に基づいて式の計算が実行できるようにする。
【００３６】
本発明の別の局面によると、提供されるシステムは、第１の装置、第２の装置、第３の装置を備え、各第１および第２の装置は共通の秘密キー値ｈを有する。装置は、それぞれ、定義されたグループＥ（Ｆｑ）およびＺｐで数学的作動を実行するのに操作的であり、ここでＦｑはプライム次数ｑの有限分野であり、グループＥ（Ｆｑ）およびＺｐを参照することで定義されるスカラ乗法を含む。第１の装置、第２の装置、第３の装置はそれぞれプログラム・コードを格納し実行するためのメモリ・ユニットおよび処置装置を備える。
【００３７】
ｏ）そのプログラム・コードは、公開キーＰを獲得して、Ｐが次数ＰのグループＥ（Ｆｑ）のプライム亜群を発生させ、各装置が公開キーＰの使用を可能にするのに操作可能である。
【００３８】
ｐ）そのプログラム・コードは、１＜ｒＤ＜ｐ−１となるように第１装置にランダム値ｒＤを獲得させ、値ＲＤ＝ｒＤＰを計算するように操作的である。
【００３９】
ｑ）そのプログラム・コードは、第１の装置が値ＲＤを第３の装置に通信させるようにするように操作的である。
【００４０】
ｒ）そのプログラム・コードは、第３の装置が値ＲＤのコピーを保持させ、値ＲＤを第２の装置に転送させるように操作的である。
【００４１】
ｓ）そのプログラム・コードは、１＜ｒＢ＜ｐ−１となるように第２の装置にランダム値ｒＢを獲得させ、値ＲＢ＝ｒＢＰを計算させる。ここでＲＢは、ＲＤに等しくなく、１＜ｅＤ＜ｐ−１となるよう第２の装置にランダム値ｅＤを獲得させ、値ｒＤおよびＲＢを第３の装置と通信させるように決定される。
【００４２】
ｔ）そのプログラム・コードは、第３の装置に値ＲＢおよびｒＤのコピーを獲得させ、その値を第３の装置に転送させるように操作的である。
【００４３】
ｕ）そのプログラム・コードは、第１の装置に値ｙＤ＝ｈ−ｅＤｒＤｍｏｄｐを計算させ、１＜ｅＢ＜ｐ−１となるように第１の装置にランダム値ｅＢを獲得させ、第１の装置に値ｙＤおよびｅＢを第３の装置に通信させるように操作的である。
【００４４】
ｖ）そのプログラム・コードは、第３の装置に値ｙＤおよびｅＢのコピーを保持させ、その値を第２の装置に転送させるように操作的である。
【００４５】
ｗ）そのプログラム・コードは、第２の装置に値ｙＢ＝ｈ−ｅＢｒＢｍｏｄｐを計算させ、第２の装置に値ｙＢを第３の装置に通信させるように操作的である。
【００４６】
ｘ）そのプログラム・コードは、条件ｙＢＰ＋ｅＢＲＢ＝ｙＤＰ＋ｅＤＲＤを満たしているとき、第３の装置に第１および第２の装置を認証させるように操作的である。
【００４７】
本発明の別の局面によると、提供されるシステムは、第１の装置は無線携帯装置で、第２の装置はエンタプライズサーバーで、第３の装置はルータである。提供されるシステムは、第３の装置に第１および第２の装置の認証をさせるように操作的なプログラム・コードが、第１および第２の装置間で通信チャンネルを確立させるように操作的なプログラム・コードを備える。
【００４８】
本発明の利点は第３の装置への２つの装置の装置認証を含む。これには、第３の装置に通信されている必要がなく、また、２つの認証された装置によって保持される共通の秘密値に関する直接的な情報も必要ない。
【発明を実施するための最良の形態】
【００４９】
２つの異なる電子装置間で通信が確立されるさまざまなコンテクストがあり、第３の装置はそのような通信が行われるか否かを制御するために用いられる。図１は装置１０および装置１２の間で通信チャンネルが確立されることを示すブロック図である。図１の例では、装置１４が、そのような通信が行われ得るか否かを決定する。該決定は、装置１０、１２の認証を基に、各装置が共通の秘密値を有することを確立することで決められる。図１の例では、直接の通信チャンネルが装置１０、１２の間に示されている。装置１０，１２が装置１４を用いて通信を確立する場合、また、たとえば全ての通信が装置１４を介して送られるような場合に、他の配置も可能である。
【００５０】
好ましい実施態様の記述は通信装置に言及するが、好ましい実施態様のアプローチが、２つの装置の認証が第３の装置によって実行される他のコンテクストに導入され得ることが当業者によって理解されるだろう。各装置１０，１２は装置１４と通信されなければならないが、装置１０、１２の認証の究極の目的は装置１０，１２間での通信に必要なのではない。
【００５１】
この記述に参照されるような電子装置は、他の装置との通信を確証することができ、また、以下に記述されるような計算を実行できる、すべての形態の装置を含むことを当業者は理解するであろう。特に、装置は通信サーバーを含む。該通信サーバーとは、インターネット、無線携帯通信装置、典型的にコンピューティング環境または電話技術で用いられる装置を含む、他のサーバー、デスクトップ、携帯型装置のような、ネットワークに繋いで使用されるＥメールおよび他のメッセージサーバーである。
【００５２】
好ましい実施態様は、そのような電子装置に関して実行される方法として記述される。その実行は、この記述に参照される装置に送られる媒体のプログラムコードを含むコンピュータプログラム製品に実施され得る。そのようなプログラムコードは記述される方法を実行するために参照する装置で実行可能である。
【００５３】
好ましい実施態様の実行の１つの例は、図１の装置１４がルータで、ＩＰ（インターネットプロトコル）アドレスを無線携帯装置である装置１０に割り当てるために使用されるような構成を含む。装置１４のルータは、無線携帯装置１０と、図１の例では装置１２で表わされるエンタプライズサーバーの間での通信を設定する。この例では、装置１４ルータが、装置１２エンタプライズサーバーからの通信量を携帯装置１０に転送する。他の装置が装置１４ルータからのＩＰアドレスを不適切に取得することができないことを確実にするために、好ましい実施態様では、携帯装置１０および装置１２エンタプライズサーバー両方が秘密値ｓを有する。以下に示されるように、装置１４ルータは、装置１０（携帯）が信頼される装置で、装置１２（エンタプライズサーバー）との通信チャンネルが装置１４（ルータ）によって設定されるべきということを確証することができる。この例では、いったん装置１４ルータによって認立がされると、割り当てられたＩＰアドレスを用いて、装置１２のエンタプライズサーバーからの通信をインターネットを用いて転送することで、携帯装置１０に通信を転送する。
【００５４】
以下に示される好ましい実施態様の記述は、装置間に送られた値がチェックされるいくつかのステップを含む。この方法に１つだけ失敗があることを確実にすると、そのようなチェックがエラー状態があると決定するとき、好ましい実施態様のアプローチは１つの方法におけるいくつかの値のうち１つを再評価することが原因で、その方法は最終ステップで装置の認証に失敗するというものである。当業者に認識されるように、より早い点で決定される方法、または他の方法で特定化されるエラー状態という結果になるそのようなチェックを実行するために用いられる他のアプローチがあり得る。
【００５５】
好ましい実施態様は装置１０，１２，１４への参照が示されていて、各装置は暗号機能を実行する能力があり、また、この実施態様では、次の暗号システムパラメータを共有する。記述される数学的動作はグループＥ（Ｆｑ）およびＺｐで実行される。グループＥ（Ｆｑ）は、米国標準技術局（ＮＩＳＴ）がＦｑに５２１ビットランダム楕円形カーブを承認しているような、好ましい実施態様で定義される。このカーブはそれの補助因子を有する。フィールドＦｑはプライム次数ｑの有限フィールドとして定義される。Ｚｐは整数法ｐのグループである。以下の記述では、公開キーＰはＥ（Ｆｑ）のポイントとして定義され、Ｅ（Ｆｑ）は次数ｐのＥ（Ｆｑ）のプライム亜群を発生させる。表記ｘＲは楕円形カーブスカラー乗算を表し、ｘがスカラーでＲがＥ（Ｆｑ）の点である。この楕円形カーブポイントＲはときどきいくつかの計算の整数として表される必要がある。この表示は[数１］で、ここで［数２］が楕円形カーブポイントＲのｘ座標の整数表示で、ｆ＝ｌｏｇ２ｐ＋１がｐのビット長である。
【００５６】
【数１】
2005323371.tif 000003
【００５７】
【数２】
2005323371.tif 000004
認識されるように、この好ましい実施態様のさまざまな実行のために、好ましい実施態様の作動が実行されるグループの選択が変わることがあり得る。楕円形カーブは暗号法においてそのような作動の共通のグループである。数学的に定義されたいかなるグループも、この好ましい実施態様の実行のために使用されることが可能である。たとえば、整数法素数に定義されるグループは実行のために使用されることが可能である。
【００５８】
後に示される表１では、好ましい実施態様の計算および通信が示される。好ましい実施態様では、ｓが共通の値で、装置１０および装置１２両方には知られているが、装置１４には知られていない。好ましい実施態様では、装置１２は１つ以上の装置と通信し得て、それゆえに装置１０は、どの装置または装置のクラスが装置１２との通信を求めているのかを特定する識別子キーＩＤを備えている。同様に、他の実行で、装置１２は、装置１０がどの装置が認証されるのを求めているかを特定化できる識別子を備えられ得る。記述されるキーＩＤ自体が装置を認証するのに十分でないことが認められるであろう。また、もし装置１０の同一性がコンテクストから明らかであると、キーＩＤは必要でないことがあり得るということも認められる。たとえば、もし装置１２が単一装置１０と通信して、他のそのような装置と通信しない場合は、キーＩＤは必要でないことがあり得る。
【００５９】
【表１】
2005323371.tif 000005
【００６０】
【表２】
2005323371.tif 000006
【００６１】
【表３】
2005323371.tif 000007
上記の表は、第三者認証（装置１４）を含む２つの通信装置（装置１０，１２）の認証を実行するために、好ましい実施態様のプロセスでとられるステップを具体化している。特定のステップが異なる順序で取られ得て、下記されるように、特定のステップが省略され得るということが当業者によって理解されるだろう。
【００６２】
好ましい実施態様で、各装置１０，１２に実行される第１ステップは、共通の秘密値ｓに基づいてハッシュ関数を計算することである。好ましい実施態様では、このハッシュ関数はＦＩＰＳ（米国連邦政府情報処理基準）仕様書１８０−２に定義されているようにＳＨＡ−５１２ハッシュ関数である。他の同様のハッシュ関数も使用され得る。ハッシュ関数を応用することで到達される値ｈは両装置１０、１２で使用される。値ｓを直接使用する代わりにハッシュ関数値ｈを使用することで、共通の秘密値ｓが下記に設定される異なる計算で直接使用されないので、そのプロセスが安全になる。好ましい実施態様では、共通値ｓを両装置の初期化ステージで提供するため、値ｓは装置１０，１２のうち一方によってランダムに発生させられ得て、もう一方と確実な通信チャンネルを用いて通信される。たとえば、装置１０が無線携帯装置で、装置１２がエンタプライズサーバーである場合、共通の秘密値の値が、エンタプライズサーバーによって発せさせられ、無線携帯装置が確実なネットワーク接続によってエンタプライズサーバーに繋がれているクレードにある時に共通の秘密値の値は無線携帯装置に通信される。
【００６３】
値ｈを決定した後、好ましい実施態様の認証プロセスの次のステップは、装置１０が、公開キー値Ｐに連結されるランダムｒＤ値を発生することである。このランダム値は１より大きく、ｐ−１よりも小さいと定義される。この例において、ｐは、楕円形カーブＥ（Ｆｑ）の点Ｐによって発生させられるＥ（Ｆｑ）のプライム亜群の次数になるように定義される。一度ランダムｒＤ値が得られると、スカラ乗法ｒＤＰの結果を受けてＲＤ値は計算される。このランダム化した公開キー値（ＲＤ）はそれから、キーＩＤ値を持って装置１４へ送られる。装置１４では、ＲＤ値のエラーチェックが実行される。もしＲＤが無限大値に等しいとすると、公開キー値にエラーがある（Ｐが有効な公開キーであるとすると、スカラー積は無限大値と等しくない）。好ましい実施態様にしたがうと、ランダム値（表１のＲＤ＝ｒａｎｄ（）疑似コードにより具体化された）と等しいＲＤ値を設定することで、エラー処理が実行される。ＲＤ値およびキーＩＤ値はそれから装置１４によって装置１２に転送される。好ましい実施態様では、装置１４は、装置１４が受けて転送する値のいくらかをメモリに保持することが認められる。これらの保持された値は、下記されるように、最終認証ステップで使用される。
【００６４】
装置１２では、ＲＤ値（無限大点と比較して）にさらなるエラーチェックがあり、必要ならば同様のエラー処理ステップが実行される。装置１２はまた公開キーＰとの組合せのための装置１２のランダム値を発生させる。ランダム値ｒＢは１からｐ−１の範囲で定義され、スカラー積ｒＢＰはＲＢ値を定義する。装置１２でのエラーチェックはＲＢがＲＤと等しくないことを確認するために実行される。もしこれらの値が等しいとすると、新しいランダム値ｒＢが定義され、新しいＲＢ値が計算される。ＲＢがＲＤと等しいとき、アタッカーがｈの値を決定することは可能であるため、このステップがとられる。
【００６５】
また、装置１２のこのステップにおいて、ランダムに定義される挑戦値ｅＤが得られる。このｅＤ値は１より大きくｐ−１より小さくするために発生させられる。装置１２によって決定されるｅＤ値およびＲＢ値は両方、装置１２によって装置１４に送られる。装置１４は同時に、装置１０を含む一連の装置を用いて同様の多数の処理を実行し得る。装置１４が、装置１０を含む一連の装置のどれが値を送るのか決定できるようにするために、キーＩＤ値はまたｅＤ値およびＲＢ値とともに装置１２によって装置１４に戻される。
【００６６】
装置１４では、ＲＢ値で実行されるエラーチェックがある。ＲＢ値は無限大点と比較されエラー処理ステップが潜在的にとられる。ＲＢ値のための比較およびエラー処理の実行は、上記の早い段階のステップでＲＤが比較されエラー処理されたステップと同様である。同様に、ＲＤおよびＲＢ値はお互いに比較され、もしそれらが同等であると決定されると、エラー処理ステップとしてＲＢがランダム値となるように定義される。ＲＤおよびＲＢの同等性はエラー状態として認識される。なぜならＲＢはＲＤとは異なる値であることを確認する方法で装置１２はＲＢを発生させるからである。装置１４から受け取り、もし２つの値が同一であると、転送にエラーがあったにちがいないか、またはアタッカーが値を再定義したことになる。
【００６７】
この場合、ｅＤが０の値を有していないことを確実にするために装置１４でさらなるチェックが実行される。もし値が０であるとするとｅＤ値はランダム値に設定される。もしｅＤが０の値に設定されていたとすると（潜在的にアタッカーによって誤った認証を可能にする情報を得るために）ｈの値は知られるようになり得る。これを避けるために、ｅＤがランダム値に与えられている。ＲＤがＲＢに等しくないことを確実にするチェックおよびｅＤが０に等しくないことを確実にするためのチェックはエラーチェックと参照され得るが、これらのチェックはアタッカーがｈの値に関する情報を維持することができないということを確実にするために実行されることが認められる。
【００６８】
一担上記に言及されるチェックが完了すると、装置１４はキーＩＤ、ＲＢ、ｅＤを装置１０に送る。
【００６９】
好ましい実施態様では、キーＩＤ、ＲＢおよびｅＤ値を受けて、装置１０は、装置１０で実行されたチェックと同じチェックを実行し、同じエラー処理ステップ（必要に応じてＲＢまたはｅＤを０に設定する）を受ける。装置１２および装置１４間の値の通信の場合と同じく、装置１４および装置１０間の通信は、アタッカーが不適切な装置認証を介して通信チャンネルへのアクセスを獲得するために値を変えようとしている可能性のあるポテンシャル・ポイントである。
【００７０】
表１に示されるように、いったんＲＢおよびｅＤ値のチェックが装置１０で行われると、ｙＤ値の計算がされる。ｙＤ値の定義は：
ｙＤ＝ｈ−ｅＤｒＤｍｏｄｐである。
下記に詳細が示されるように、ｙＤ値は装置１０および１２を互いにおよび装置１４に対して認証する比較に使用される。
【００７１】
装置１０によって実行される別のステップは挑戦値を発生することである。この挑戦値はｅＢ値で、１より大きくｐ−１より小さい範囲からランダムに選ばれる。それからｙＤおよびｅＢ値は両方とも、装置１４に送られる。
【００７２】
装置１４では、ｅＢ値は０およびｅDと比較される。もしｅＢがこれらのどちらかと同等の値を有していれば、ｅＢはランダム値に設定される。
【００７３】
それからｅＢ値は、ｙＤ値と共に装置１４によって装置１２へ送られる。装置１２で、ｅＢ値は再びチェックされ（０およびｅＤに対して）、もしチェックが成功しないと、ｅＢはランダム値に送られる。それからｙＢ値が計算される：
ｙＢ＝ｈ−ｅＢｒＢ  ｍｏｄｐ
ｙＢ値はｙＤの定義と対称的な方法で定義されることが見られる。ｙＢ値は装置１２で計算されて装置１４に送られ、そこから装置１０に送られる。
【００７４】
この処理のこの段階では、ｙＤおよびＲＤ値は装置１０によって装置１２に送られ、ｙＢおよびＲＢ値は装置１２によって装置１０に送られる。さらに、装置１４に転送され、装置１４から送られた値のコピーもまた装置１４で保持される。したがって、表１の最後のステップで見られるように、認証ステップは装置１０および装置１２両方が同じ共通の秘密値ｓを有することを認証するために実行される。
【００７５】
特に、装置１４では、もしおよび次の場合に限り２つの装置の認証がされる。
ｙＢＰ＋ｅＢＲＢ＝ｙＤＰ＋  ｅＤＲＤ
装置１０では、もしおよび次の場合に限り装置１２の認証がされる。
ｙＢＰ＋  ｅＢＲＢ＝ｈＰ
装置１２では、もしおよび次の場合に限り装置１０の認証がされる。
ｙＤＰ＋  ｅＤＲＤ＝ｈＰ
上記される認証処理は特定の数学的作動およびＳｃｈｎｏｒｒ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｓｃｈｅｍｅ（Ａ．Ｍｅｎｅｚｅｓ，Ｐ．ｖａｎ  Ｏｏｒｓｃｈｏｔａｎｄ  Ｓ．Ｖａｎｓｔｏｎｅ．Ｈａｎｄｂｏｏｋ  ｏｆ  Ａｐｐｌｉｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ，ＣＲＣ  Ｐｒｅｓｓ，Ｎｅｗ  Ｙｏｒｋ，１９９７，Ｐ４１４〜４１５などを参照）に記述され用いられている同等の事柄を利用しているということが当業者にとって明らかになるだろう。しかし、好ましい実施態様は、２つの装置が互いに承認し合い、第３の装置が両装置を承認することを許容する。第３の装置は２つの装置１０、１２の間の共通の秘密値ｓを知らないにもかかわらず、第３の装置（本例では装置１４）が認証を実行する。これまでにとられた一連の重複ステップの結果、装置１０，１２間での相互認証が同時に実行されるということが認められるだろう。
【００７６】
好ましい実施態様の認証処理は、２つの装置間の通信チャンネルが定義され、第３の装置が情報を提供することでチャンネルの設定が可能になるような場合に使用されるのが適している。無線携帯が経路指定装置を用いてエンタプライズサーバーへのアクセスを獲得するような場合にこのようなことが起こり得る。この経路指定装置はサーバーおよび無線携帯装置の認証を必要とする第３の装置として作用する。上記の処理によってそのような認証が実行されることが可能になり、第３の装置（たとえばルータ）が秘密値の知識を有さず一連の減少した状態情報で認証されることが可能である。
【００７７】
上記の好ましい実施態様はＲ値に適用されたエラーチェックを含む。これは、Ｒが有効な公開キー値であるかを決定するために実行される。処理が正確に実行されているかを確実にするために通常このチェックが実行されることが好まれるが、ＲＤがＲＢと等しくないことが確実であるとされると、このエラーチェックは好ましい実施態様の方法から省かれる可能性があるということが認められるだろう。さらに、好ましい実施態様は装置１０および装置１２の秘密値のハッシュ値の計算を記述している。秘密値ｓを値ｈとコード化するためにハッシュ機能を用いることは、秘密値の直接の使用を最小にするための好ましいステップであるが、必要とされていない。この方法においてハッシュ機能が使用されないとすると、異なる認証値を計算するために秘密値が直接使われる。
【００７８】
上記に参照されるように、第１の装置から第２の装置に第３の装置を介して通信チャンネルを確立するために認証処理が使用され得る。この場合、第３の装置または他の２つの装置のうち１つのどちらかのチャンネルを閉じるために認証されたプロトコルを使用することは有利な点である。好ましい実施態様では、そのような認証されたクローズプロトコルは第３の装置が特定値を保持するということに基づいて設置され得る。特に、通信チャンネルを確立する前に認証が行われるのを受けて、第の３装置は（図１の例では装置１４）値ｙＤＰ＋ｅＤＲＤ、ＲＤ、ＲＢ、ｅＤ、ｅＢを保持する。装置１２は値ＲＤ、ＲＢ、ｅＤ、ｅＢ、ｈを保持する。表２では、上記に示されるように、また、装置１２が通信チャンネルを閉じようとしているように、装置１４が装置１２を認証する場合に認証処理が用いられるために示されている。
【００７９】
【表４】
2005323371.tif 000008
上記からわかるように、装置１４（第３の装置）が安全値ｓまたはハッシュ値ｈを直接的に保有していない、または使用していないとしても、クローズプロトコルの認証は可能である。この場合、認証は、上記に参照する装置（示された例では装置１２，１４）によって保持された値を基に、Ｓｃｈｎｏｒｒ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｓｃｈｅｍｅに従う。上記の認証処理を用いる結果、これらの値は第３の装置で使用可能である。
【００８０】
本発明のさまざまな実施態様がこのように例を通して詳細に記述されてきた。本発明から外れることなく変化、変更され得るということが当業者には明らかであろう。本発明は付属の請求項の範囲内においてそのような変化、変更をすべて含む。
【図面の簡単な説明】
【００８１】
【図１】２つの装置およびはじめの２つの装置の認証に使用される第３の装置を示すブロック図である。
【符号の説明】
【００８２】
１０  装置
１２  装置
１４  装置
【図１】
2005323371.tif 000009