(57)【要約】【課題】サーバごとに異なるパスワードを管理しつつ、セッション鍵をユーザとサーバ間で共有する機能を有するようにした鍵交換システムを提供する。【解決手段】クライアント端末１は、パスワードを生成し、クライアント端末１とパスワードマネージャ２との間でパスワードを共有する。パスワードマネージャ２は、登録するサーバ３−ｉごとに乱数を生成し、上記のパスワードとその乱数とを用いて、パスワードマネージャ２とサーバ３−ｉとの間のパスワードを生成し、このパスワードを共有する。クライアント端末１とパスワードマネージャ２との間、及びパスワードマネージャ２とサーバ３−ｉとの間で、クライアント端末１が生成したパスワード及びパスワードマネージャ２が生成したパスワードをそれぞれ用いて認証が行われ、クライアント端末１とサーバ３−ｉとの間で、セッション鍵が交換される。【選択図】図２
2008177824.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末と、パスワードマネージャと、複数のサーバとからなり、
前記クライアント端末が、第１のパスワード生成手段を有し、前記クライアント端末と前記パスワードマネージャとの間で第１のパスワードを共有し、
前記パスワードマネージャが、第２のパスワード生成手段を有し、前記パスワードマネージャと前記各サーバとの間で、それぞれ、第２のパスワードを共有し、
前記クライアント端末と前記パスワードマネージャとの間であらかじめ共有しておいた第１のパスワードを用いて認証を行うと共に、前記パスワードマネージャと前記各サーバとの間であらかじめ共有しておいた第２のパスワードを用いて認証を行い、前記クライアント端末と前記それぞれのサーバとの間で、セッション鍵を交換することを特徴とする鍵交換システム。
【請求項２】
前記第１のパスワード生成手段が、１つのパスワードを前記第１のパスワードとして生成することを特徴とする請求項１に記載の鍵交換システム。
【請求項３】
前記第２のパスワード生成手段が、前記第１のパスワードと乱数とを用いて、前記サーバ毎の複数のパスワードを前記第２のパスワードとして生成することを特徴とする請求項１に記載の鍵交換システム。
【請求項４】
クライアント端末と、パスワードマネージャと、複数のサーバとからなる鍵交換システムにおける鍵交換方法であって、
前記クライアント端末が、第１のパスワードを生成し、前記クライアント端末と前記パスワードマネージャとの間で第１のパスワードを共有する第１のステップと、
前記パスワードマネージャが、サーバ毎に、第２のパスワードを生成し、前記パスワードマネージャと前記各サーバとの間で、第２のパスワードを共有する第２のステップと、
前記クライアント端末と前記パスワードマネージャとの間であらかじめ共有しておいた第１のパスワードを用いて認証を行うと共に、前記パスワードマネージャと前記各サーバとの間であらかじめ共有しておいた第２のパスワードを用いて認証を行い、前記クライアント端末と前記それぞれのサーバとの間において、セッション鍵を交換する第３のステップと、
を備えたことを特徴とする鍵交換方法。
【請求項５】
クライアント端末と、パスワードマネージャと、複数のサーバとからなる鍵交換システムにおける鍵交換方法をコンピュータに実行させるためのプログラムであって、
前記クライアント端末が、第１のパスワードを生成し、前記クライアント端末と前記パスワードマネージャとの間で第１のパスワードを共有する第１のステップと、
前記パスワードマネージャが、サーバ毎に、第２のパスワードを生成し、前記パスワードマネージャと前記各サーバとの間で、第２のパスワードを共有する第２のステップと、
前記クライアント端末と前記パスワードマネージャとの間であらかじめ共有しておいた第１のパスワードを用いて認証を行うと共に、前記パスワードマネージャと前記各サーバとの間であらかじめ共有しておいた第２のパスワードを用いて認証を行い、前記クライアント端末と前記それぞれのサーバとの間において、セッション鍵を交換する第３のステップと、
を備えたことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット上の複数のサイト毎にセッション鍵を交換するのに好適な鍵交換システム及び鍵交換方法に関する。
【背景技術】
【０００２】
近年、インターネットの急速な普及にともない、多くの人がウェブサイトを閲覧・利用している。インターネットはオープンな環境であり、匿名性も有するため、盗聴やなりすましなどの攻撃に対する安全性は保証されていない。特に、正当なユーザが個人情報の入力や決済を要するウェブサイトを安全に利用するためには、本人認証を行う必要がある。
【０００３】
本人認証を行う手段としては、パスワードが実用的であり、現在広く使用されている。しかし、複数のウェブサイトを利用する場合、パスワードを１つだけ用いるのは安全面から抵抗がある。その一方で、それぞれ異なるパスワードを設定すると、ユーザは多くのパスワードを覚えておかなくてはならない。
【０００４】
そのため、非特許文献１に示される技術では、ウェブサイトとＩＤとパスワードなどをセットで保存しておく「ログイン帳」と呼ばれる機能により、ウェブサイトごとに別のパスワードを設定することができ、１つのマスターパスワードだけで「ログイン帳」を管理することができる。また、特許文献１に示される技術も同様に、ウェブサイトごとにＩＤとパスワードを一元管理する「特定サイト用パスワード管理ツール」を用いることができる。さらに、特許文献１では、ツールに対する本人認証手段として、パスワードの代わりに指紋認証を使用している。
【非特許文献１】インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｒｏｂｏｆｏｒｍ．ｃｏｍ／ｊｐ／＞
【特許文献１】特開２００２−１６９７７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の従来技術は、１つのパスワードまたは指紋認証を用いることにより、ユーザはウェブサイトごとに異なるパスワードで本人認証される。しかしながら、上記の従来技術では、ユーザは本人であることを確認されたにすぎず、その後の通信の安全性までは保証していない。そのため、オープンな環境であるインターネットでは、盗聴されるおそれがあるという問題がある。
【０００６】
そこで、本発明は、上述の課題を鑑みてなされたものであり、ユーザは１つのパスワードだけで、サーバごとに異なるパスワードにより本人認証が実行され、その後の通信を保護するために使用する「セッション鍵」と呼ばれる暗号化鍵をユーザとサーバ間で共有する機能を有する鍵交換システム及び鍵交換方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するために、本発明は、以下の事項を提案している。
（１）本発明は、クライアント端末（例えば、図１のクライアント端末１に相当）と、パスワードマネージャ（例えば、図１のパスワードマネージャ２に相当）と、複数のサーバ（例えば、図１のサーバ３−１〜３−ｉに相当）とからなり、クライアント端末が、第１のパスワード生成手段（例えば、図２のパスワード生成部１１に相当）を有し、クライアント端末とパスワードマネージャとの間で第１のパスワードを共有し、パスワードマネージャが、第２のパスワード生成手段（例えば、図２のパスワード生成部１６に相当）を有し、パスワードマネージャと各サーバとの間で、それぞれ、第２のパスワードを共有し、クライアント端末とパスワードマネージャとの間であらかじめ共有しておいた第１のパスワードを用いて認証を行うと共に、パスワードマネージャと各サーバとの間であらかじめ共有しておいた第２のパスワードを用いて認証を行い、クライアント端末とそれぞれのサーバとの間で、セッション鍵を交換することを特徴とする鍵交換システムを提案している。
【０００８】
この発明によれば、クライアント端末と複数のサーバとの間にパスワードマネージャを介在させ、クライアント端末とパスワードマネージャとの間で第１のパスワードを共有し、パスワードマネージャと各サーバとの間で、第２のパスワードを共有し、クライアント端末とパスワードマネージャとの間であらかじめ共有しておいた第１のパスワードを用いて認証を行うと共に、パスワードマネージャと各サーバとの間であらかじめ共有しておいた第２のパスワードを用いて認証を行い、クライアント端末とそれぞれのサーバとの間において、セッション鍵を交換することにより、クライアント端末のユーザは、第１のパスワード生成手段が生成するパスワードを覚えておくだけで、サーバ毎に異なるパスワードにより本人認証が実行され、セッション鍵を共有することができる。
【０００９】
（２）本発明は、（１）の鍵交換システムについて、前記第１のパスワード生成手段が、１つのパスワードを前記第１のパスワードとして生成することを特徴とする鍵交換システムを提案している。
【００１０】
この発明によれば、第１のパスワード生成手段が、１つのパスワードを第１のパスワードとして生成する。したがって、クライアント端末のユーザは、１つのパスワードを覚えておくだけで、サーバ毎に異なるパスワードにより本人認証が実行され、セッション鍵を共有することができる。
【００１１】
（３）本発明は、（１）の鍵交換システムについて、前記第２のパスワード生成手段が、前記第１のパスワードと乱数とを用いて、前記サーバ毎の複数のパスワードを前記第２のパスワードとして生成することを特徴とする鍵交換システムを提案している。
【００１２】
この発明によれば、第２のパスワード生成手段が、第１のパスワードと乱数とを用いて、サーバ毎の複数のパスワードを第２のパスワードとして生成する。したがって、上記のように第２のパスワードを生成することにより、第１のパスワードと第２のパスワードとの間に関連性を持たせることができる。
【００１３】
（４）本発明は、クライアント端末と、パスワードマネージャと、複数のサーバとからなる鍵交換システムにおける鍵交換方法であって、前記クライアント端末が、第１のパスワードを生成し、前記クライアント端末と前記パスワードマネージャとの間で第１のパスワードを共有する第１のステップと、前記パスワードマネージャが、サーバ毎に、第２のパスワードを生成し、前記パスワードマネージャと前記各サーバとの間で、第２のパスワードを共有する第２のステップと、前記クライアント端末と前記パスワードマネージャとの間であらかじめ共有しておいた第１のパスワードを用いて認証を行うと共に、前記パスワードマネージャと前記各サーバとの間であらかじめ共有しておいた第２のパスワードを用いて認証を行い、前記クライアント端末と前記それぞれのサーバとの間において、セッション鍵を交換する第３のステップと、を備えたことを特徴とする鍵交換方法を提案している。
【００１４】
この発明によれば、クライアント端末と複数のサーバとの間にパスワードマネージャを介在させ、クライアント端末とパスワードマネージャとの間で第１のパスワードを共有し、パスワードマネージャと各サーバとの間で、第２のパスワードを共有し、クライアント端末とパスワードマネージャとの間であらかじめ共有しておいた第１のパスワードを用いて認証を行うと共に、パスワードマネージャと各サーバとの間であらかじめ共有しておいた第２のパスワードを用いて認証を行い、クライアント端末とそれぞれのサーバとの間において、セッション鍵を交換することにより、クライアント端末のユーザは、第１のパスワードを覚えておくだけで、サーバ毎に異なるパスワードにより本人認証が実行され、セッション鍵を共有することができる。
【００１５】
（５）本発明は、クライアント端末と、パスワードマネージャと、複数のサーバとからなる鍵交換システムにおける鍵交換方法をコンピュータに実行させるためのプログラムであって、前記クライアント端末が、第１のパスワードを生成し、前記クライアント端末と前記パスワードマネージャとの間で第１のパスワードを共有する第１のステップと、前記パスワードマネージャが、サーバ毎に、第２のパスワードを生成し、前記パスワードマネージャと前記各サーバとの間で、第２のパスワードを共有する第２のステップと、前記クライアント端末と前記パスワードマネージャとの間であらかじめ共有しておいた第１のパスワードを用いて認証を行うと共に、前記パスワードマネージャと前記各サーバとの間であらかじめ共有しておいた第２のパスワードを用いて認証を行い、前記クライアント端末と前記それぞれのサーバとの間において、セッション鍵を交換する第３のステップと、を備えたことを特徴とするプログラムを提案している。
【００１６】
この発明によれば、クライアント端末と複数のサーバとの間にパスワードマネージャを介在させ、クライアント端末とパスワードマネージャとの間で第１のパスワードを共有し、パスワードマネージャと各サーバとの間で、第２のパスワードを共有し、クライアント端末とパスワードマネージャとの間であらかじめ共有しておいた第１のパスワードを用いて認証を行うと共に、パスワードマネージャと各サーバとの間であらかじめ共有しておいた第２のパスワードを用いて認証を行い、クライアント端末とそれぞれのサーバとの間において、セッション鍵を交換することにより、クライアント端末のユーザは、第１のパスワードを覚えておくだけで、サーバ毎に異なるパスワードにより本人認証が実行され、セッション鍵を共有することができる。
【発明の効果】
【００１７】
本発明によれば、クライアント端末のユーザは、１つのパスワードを覚えておくだけで、サーバ毎に異なるパスワードにより本人認証が実行され、セッション鍵を共有することができる。このため、ユーザは、ウェブサイト上のサーバ毎に安全に通信することができるという効果がある。
【発明を実施するための最良の形態】
【００１８】
１．本発明の基本構成
先ず、本実施形態の説明に先立ち、本発明の基本構成について簡単に説明する。なお、この説明は、本実施形態の理解を容易とするためのものであり、本発明の内容を限定するものではない。
【００１９】
１−１．パスワードの生成の概要
図１は、本実施形態のシステムの概要を示すものである。図１において、１はクライアント端末、２はパスワードマネージャ、３−１、３−２、・・・、３−ｉ、・・・はサーバである。
【００２０】
クライアント端末１は、自ら記憶できるパスワードｐｗＣを生成し、クライアント端末１とパスワードマネージャ２との間でパスワードｐｗＣを共有している。また、パスワードマネージャ２は、登録するサーバ３−１〜３−ｉごとに乱数を生成し、上記のパスワードｐｗＣとその乱数とを用いて、パスワードマネージャ２とサーバ３−１〜３−ｉとの間のパスワードｐｗＣ，１〜ｐｗＣ，ｉを生成し、あらかじめパスワードｐｗＣ，１〜ｐｗＣ，ｉを共有している。そして、クライアント端末１とパスワードマネージャ２との間、及びパスワードマネージャ２とサーバ３−１〜３−ｉとの間において、あらかじめ共有しておいたパスワードｐｗＣ及びｐｗＣ，１〜ｐｗＣ，ｉをそれぞれ用いて認証を行い、クライアント端末１とサーバ３−１〜３−ｉとの間において、セッション鍵が交換される。
【００２１】
１−２．セッション鍵の交換の概要
次に、セッション鍵の交換の概要について説明する。ここでは、サーバ３−ｉとのセッション鍵の交換を例示する。セッション鍵の交換には、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎの鍵交換を応用したものが用いられる。なお、以下の説明において、ｇは生成元であり、ｇｘと表記されているとき、この演算は有限体上で行われる。
【００２２】
図１において、クライアント端末１では、乱数ｘを生成し、ｇｘを求める。このｇｘをパスワードマネージャ２に送る。なお、このとき、クライアント端末１とパスワードマネージャ２との間では、クライアント端末１とパスワードマネージャ２との間で共有しているパスワードｐｗＣを用いて、認証を行っている。
【００２３】
パスワードマネージャ２は、乱数ｙを生成し、ｇｙを求める。また、クライアント端末１から送られてきたｇｘと、生成したｙとから、ｇｘｙを求める。そして、ｇｙと、ｇｘｙとを、サーバ３−ｉに送る。なお、このとき、パスワードマネージャ２とサーバ３−ｉとの間では、パスワードマネージャ２とサーバ３−ｉとの間で共有しているパスワードｐｗＣ，ｉを用いて、認証を行っている。
【００２４】
サーバ３−ｉは、乱数ｚを生成し、パスワードマネージャ２から送られてきたｇｘｙと、自らが生成したｚとから、ｇｘｙｚを求め、このｇｘｙｚを鍵Ｋとする。また、サーバ３−ｉは、ｇｚを、パスワードマネージャ２に送る。なお、このとき、パスワードマネージャ２とサーバ３−ｉとの間では、認証を行っている。
【００２５】
パスワードマネージャ２は、ｙとｇｚとからｇｙｚを求め、このｇｙｚを、クライアント端末１に送る。なお、このとき、クライアント端末１とパスワードマネージャ２との間では、認証を行っている。
【００２６】
クライアント端末１は、パスワードマネージャ２から送られてきたｇｙｚと、自らが生成したｘとから、ｇｘｙｚを求め、このｇｘｙｚを鍵Ｋとする。
【００２７】
以上のようにして、クライアント端末１と、サーバ３−ｉとの双方で、セッション鍵Ｋ（Ｋ＝ｇｘｙｚ）が共有できる。サーバ３−ｉでは、パスワードマネージャ２から送られてきたｇｘｙと、自ら生成したｚとによりセッション鍵Ｋを発生している。また、クライアント端末１側では、パスワードマネージャ２から送られてきたｇｙｚと、自ら生成したｘとによりセッション鍵Ｋを発生している。パスワードマネージャ２では、乱数ｘ、ｚを知らない。このため、パスワードマネージャ２では、セッション鍵Ｋを生成できず、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎの鍵交換として知られているように、安全なセッション鍵の交換が行える。
【００２８】
２．実施形態の説明
次に、本発明の実施形態について詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００２９】
２−１．パスワードの生成
先ず、本発明の実施形態におけるパスワードの生成について、図２の機能ブロック図を参照しながら、詳細に説明する。
【００３０】
図２において、クライアント端末１のパスワード生成部１１により、パスワードｐｗＣが生成され、このパスワードｐｗＣがパスワードマネージャ２に安全に送られる。パスワードｐｗＣは、演算部１２によりハッシュ関数Ｈで計算され、パスワードのハッシュ値Ｈ（ｐｗＣ）がパスワード保存部１０に保管される。
【００３１】
クライアント端末１からのパスワードｐｗＣは、パスワードマネージャ２で受信される。パスワードマネージャ２で受信されたパスワードｐｗＣは、演算部１３によりハッシュ関数Ｈで計算され、パスワードのハッシュ値Ｈ（ｐｗＣ）がパスワード保存部１４に保管される。
【００３２】
乱数発生器１５では、乱数ｒｉが発生される。この乱数ｒｉと、パスワードのハッシュ値Ｈ（ｐｗＣ）と、クライアント端末１の識別子Ｃと、パスワードマネージャ２の識別子Ｐと、サーバ３−ｉの識別子Ｓｉとがパスワード生成部１６に送られる。パスワード生成部１６により、ｐｗＣ，ｉ＝Ｈ（Ｃ，Ｐ，Ｓｉ，ｒｉ，Ｈ（ｐｗＣ））の計算が行われ、サーバ毎のパスワードｐｗＣ，ｉが求められる。このパスワードｐｗＣ，ｉがサーバ３−ｉに送られる。また、このパスワードｐｗＣ，ｉは、演算部１７でハッシュ関数Ｈで計算され、パスワードのハッシュ値Ｈ（ｐｗＣ，ｉ）がパスワード保存部１８に保管される。
【００３３】
パスワードマネージャ２からのパスワードｐｗＣ，ｉは、サーバ３−ｉで受信される。サーバ３−ｉで受信されたパスワードｐｗＣ，ｉは、演算部１９によりハッシュ関数Ｈで計算され、パスワードのハッシュ値Ｈ（ｐｗＣ，ｉ）がパスワード保存部２０に保管される。
【００３４】
このように、本実施形態では、クライアント端末１とパスワードマネージャ２との間で共有するパスワードｐｗＣを生成し、パスワードのハッシュ値Ｈ（ｐｗＣ）と、乱数ｒｉと、クライアント端末１の識別子Ｃと、パスワードマネージャ２の識別子Ｐと、サーバ３−ｉの識別子Ｓｉとから、パスワードマネージャ２とサーバ３−ｉとの間で共有するパスワードｐｗＣ，ｉを生成するようにしている。これにより、クライアント端末１とパスワードマネージャ２との間で共有するパスワードｐｗＣと、パスワードマネージャ２とサーバ３−ｉとの間で共有するパスワードｐｗＣ，ｉとの間に、関連性を持たせることができる。
【００３５】
また、クライアント端末１とパスワードマネージャ２との間で共有するパスワードｐｗＣや、パスワードマネージャ２とサーバ３−ｉとの間で共有するパスワードｐｗＣ，ｉは、ハッシュ関数で計算されて保存されている。このため、パスワード自身が盗聴される可能性が殆ど無く、セキュリティが向上できる。
【００３６】
２−２．セッション鍵の交換
次に、本実施形態におけるセッション鍵の交換について、図３〜図５の機能ブロック図を参照しながら、詳細に説明する。
【００３７】
図３は、セッション鍵の交換を行う際のクライアント端末１側の処理を示す機能ブロック図であり、図４は、セッション鍵の交換を行う際のパスワードマネージャ２側の処理を示す機能ブロック図であり、図５は、セッション鍵の交換を行う際のサーバ３−ｉ側の処理を示す機能ブロック図である。
【００３８】
図３において、クライアント端末１の乱数発生器３１で、乱数ｘが生成される。演算部３２で、値Ｘ（Ｘ＝ｇｘ）が算出される。演算部３３で、算出した値Ｘに、パスワード保存部１０に保存されているパスワードのハッシュ値Ｈ（ｐｗＣ）が乗算され、値Ｘ＊（Ｘ＊＝Ｘ×Ｈ（ｐｗＣ））が計算される。この値Ｘ＊と、クライアント端末１の識別子Ｃと、サーバ３−ｉの識別子Ｓｉとがパスワードマネージャ２に送られる。
【００３９】
図４において、パスワードマネージャ２で値Ｘ＊が受信され、この値Ｘ＊が演算部３５に送られる。演算部３５で、受信した値Ｘ＊が、パスワード保存部１４のパスワードのハッシュ値Ｈ（ｐｗＣ）で割り算される（Ｘ＝Ｘ＊／Ｈ（ｐｗｃ））。これにより、値Ｘ（Ｘ＝ｇｘ）が求められる。この値Ｘが演算部３８に送られる。
【００４０】
また、乱数発生器３６で、乱数ｙが生成される。演算部３７で、Ｙ（Ｙ＝ｇｙ）が算出される。生成された値ｙが演算部３８に送られる。演算部３８で、値Ｘ（Ｘ＝ｇｘ）と値ｙとから、値Ｙ＆（Ｙ＆＝ｇｘｙ）が算出される。この値Ｙ＆が演算部３９に送られる。
【００４１】
演算部３９で、値（Ｙ＆＝ｇｘｙ）に、パスワードとしてパスワード保存部１８に保存されているパスワードのハッシュ値Ｈ（ｐｗＣ，ｉ）が乗算され、値Ｙ＊（Ｙ＊＝Ｙ＆×Ｈ（ｐｗＣ，ｉ））が計算される。この値Ｙ＊と、演算部３７からの値Ｙと、クライアント端末１の識別子Ｃと、パスワードマネージャ２の識別子Ｐとが、サーバ３−ｉに送信される。
【００４２】
図５において、サーバ３−ｉで、値Ｙと、値Ｙ＊とが受信される。値Ｙ＊が演算部５１に送られる。演算部５１で、受信した値Ｙ＊が、パスワード保存部２０のパスワードのハッシュ値Ｈ（ｐｗＣ，ｉ）で割り算される（Ｙ＆＝Ｙ＊／Ｈ（ｐｗＣ，ｉ））。これにより、値Ｙ＆（Ｙ＆＝ｇｘｙ）が求められる。この値Ｙ＆が演算部５４に送られる。
【００４３】
また、乱数発生器５２で、乱数ｚが生成される。演算部５３で、値Ｚ（Ｚ＝ｇｚ）が算出される。生成された値ｚが演算部５４に送られる。演算部５４で、値Ｙ＆（Ｙ＆＝ｇｘｙ）と値ｚとから、値Ｋ（Ｋ＝ｇｘｙｚ）が算出される。
【００４４】
キー生成部５５で、値Ｋと、クライアント端末の識別子Ｃと、パスワードマネージャの識別子Ｐと、サーバ３−ｉの識別子Ｓｉとから、セッション鍵ｓｋが（ｓｋ＝Ｈ’（Ｃ，Ｐ，Ｓｉ，Ｋ））として生成される。ただし、Ｈ’は別のハッシュ関数とする。
【００４５】
また、受信した値Ｙ（Ｙ＝ｇｙ）が演算部５６に送られる。また、乱数生成器５２からの値ｚが演算部５６に送られる。演算部５６で、値Ｚ＆（Ｚ＆＝ｇｙｚ）が算出される。
【００４６】
演算部５７において、演算部５１からの値Ｙ＆（Ｙ＆＝ｇｘｙ）と、演算部５６からの値Ｚ＆（Ｚ＆＝ｇｙｚ）と、入力された値Ｙ（Ｙ＝ｇｙ）とから、認証子Ａ１（Ａ１＝Ｈ（Ｙ，Ｙ＆，Ｚ＆））が算出される。
【００４７】
サーバ３−ｉからパスワードマネージャ２には、サーバ３−ｉの識別子Ｓｉと、算出した値Ｚ（Ｚ＝ｇｚ）と、認証子Ａ１とが送信される。
【００４８】
図４において、パスワードマネージャ２の演算部６１では、受信した値Ｚ（Ｚ＝ｇｚ）と、乱数生成器３６からの値ｙとから、値Ｚ’（Ｚ’＝ｇｙｚ）が求められる。算出した値Ｚ’（Ｚ’＝ｇｙｚ）と、演算部３７からの値Ｙ（Ｙ＝ｇｙ）と、演算部３８からの値Ｙ＆（Ｙ＆＝ｇｘｙ）とから、演算部６２において、認証子Ａ１’が算出される。この認証子Ａ１’が比較部６３に送られる。
【００４９】
また、比較部６３には、サーバ３−ｉで求められた認証子Ａ１が送られる。比較部６３で、サーバ３−ｉで求められた認証子Ａ１と、パスワードマネージャ２で求められた認証子Ａ１’とが一致しているかどうかが判断される。改竄等がおこなわれていなければ、サーバ３−ｉで求められた認証子Ａ１と、パスワードマネージャ２で求められた認証子Ａ１’とが一致しているはずである。
【００５０】
サーバ３−ｉで求められた認証子Ａ１と、パスワードマネージャ２で求められた認証子Ａ１’とが一致していなければ、処理終了部６６により、処理が終了される。
【００５１】
一致している場合には、演算部６１からの値Ｚ’（Ｚ’＝ｇｙｚ）と、演算部３８からの値Ｙ＆（Ｙ＆＝ｇｘｙ）と、演算部３５からの値Ｘとが、演算部６４に送られる。演算部６４で、認証子Ａ２（Ａ２＝Ｈ（Ｘ，Ｙ＆，Ｚ’））が算出される。
【００５２】
パスワードマネージャ２からクライアント端末１には、値Ｙと、値Ｚ’と、認証子Ａ２と、パスワードマネージャ２の識別子Ｐとが送られる。
【００５３】
図３において、クライアント端末１の演算部７１では、受信したＹ（Ｙ＝ｇｙ）と、乱数生成器３１からの値ｘとから、値Ｙ’（Ｙ’＝ｇｘｙ）が求められる。算出した値Ｙ’と、演算部３２からの値Ｘと、受信した値Ｚ’とから、演算部７２において、認証子Ａ２’が算出される。この認証子Ａ２’が比較部７３に送られる。
【００５４】
また、比較部７３には、パスワードマネージャ２で求められた認証子Ａ２が送られる。比較部７３で、パスワードマネージャ２で求められた認証子Ａ２と、クライアント端末１で求められた認証子Ａ２’とが一致しているかどうかが判断される。改竄等がおこなわれていなければ、パスワードマネージャ２で求められた認証子Ａ２と、クライアント端末１で求められた認証子Ａ２’とが一致しているはずである。
【００５５】
パスワードマネージャ２で求められた認証子Ａ２と、クライアント端末１で求められた認証子Ａ２’とが一致していなければ、処理終了部７４により、処理が終了される。
【００５６】
演算部７５により、パスワードマネージャ２から受信したＺ’（Ｚ’＝ｇｙｚ）の値と、乱数生成器３１からの値ｘとから、値Ｋ（Ｋ＝ｇｘｙｚ）が算出される。
【００５７】
キー生成部７６で、値Ｋと、クライアント端末の識別子Ｃと、パスワードマネージャの識別子Ｐと、サーバの識別子Ｓｉとから、セッション鍵ｓｋが（ｓｋ＝Ｈ’（Ｃ，Ｐ，Ｓｉ，Ｋ））として生成される。
【００５８】
以上説明したように、本実施形態では、パスワードマネージャ２を用いることにより、クライアント端末１のユーザは、１つのパスワードを覚えておくだけで、ウェブサイト上のサーバ３−１〜３−ｉ毎に異なるパスワードにより本人認証されつつ、セッション鍵を共有することができる。このため、ユーザは、ウェブサイト上のサーバ毎に安全に通信することができる。また、本実施形態では、クライアント端末１側の処理が重くならないという利点がある。
【００５９】
なお、鍵交換システムのそれぞれの処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを鍵交換システムに読み込ませ、実行することによって本発明の鍵交換システムを実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００６０】
また、「コンピュータシステム」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００６１】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００６２】
本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施形態のシステムの概要を示すブロック図である。
【図２】本発明の実施形態のシステムにおけるパスワードの生成の説明に用いるブロック図である。
【図３】本発明の実施形態のシステムにおけるセッション鍵の交換の説明に用いるブロック図である。
【図４】本発明の実施形態のシステムにおけるセッション鍵の交換の説明に用いるブロック図である。
【図５】本発明の実施形態のシステムにおけるセッション鍵の交換の説明に用いるブロック図である。
【符号の説明】
【００６４】
１：クライアント端末
２：パスワードマネージャ
３−１、３−２、…、３−ｉ、…：サーバ
【図１】
2008177824.tif 000003
【図２】
2008177824.tif 000004
【図３】
2008177824.tif 000005
【図４】
2008177824.tif 000006
【図５】
2008177824.tif 000007