JP4757591B2 - Password authentication key exchange apparatus, system, method, and computer program - Google Patents
Password authentication key exchange apparatus, system, method, and computer program Download PDFInfo
- Publication number
- JP4757591B2 JP4757591B2 JP2005283479A JP2005283479A JP4757591B2 JP 4757591 B2 JP4757591 B2 JP 4757591B2 JP 2005283479 A JP2005283479 A JP 2005283479A JP 2005283479 A JP2005283479 A JP 2005283479A JP 4757591 B2 JP4757591 B2 JP 4757591B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- server
- data
- key exchange
- client terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 65
- 238000004590 computer program Methods 0.000 title claims description 8
- 230000006870 function Effects 0.000 description 102
- 238000004891 communication Methods 0.000 description 52
- 238000004364 calculation method Methods 0.000 description 44
- 230000008569 process Effects 0.000 description 31
- 238000012790 confirmation Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 16
- 230000004044 response Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Description
本発明は、クライアント端末の処理の負荷を軽減したパスワード認証鍵交換装置、システム、方法、及びコンピュータプログラムに関する。 The present invention relates to a password authentication key exchange apparatus, system, method, and computer program that reduce the processing load on a client terminal.
人が容易に記憶することができる低グレードのパスワードを利用して電子文書のセキュリティを図るパスワード認証鍵交換プロトコル利用のセキュリティ手法が知られている。この手法は、クライアント端末とサーバとの間でパスワード又はパスワードのハッシュ値を共有することにより、クライアント端末にて秘密の鍵情報を保持することなく、鍵共有を行うものである。この手法は、クライアント端末とサーバとの間のネットワークに対する攻撃者が、パスワードの予測をオフラインで行うことができない状況を生み出すところに技術的特徴がある。この手法の応用例としては、例えばパスワードのハッシュ値から派生した情報とRSA方式やDiffie-Hellman型鍵交換方式とを組み合わせて利用するセキュリティ手法がある(特許文献1〜3参照)。
Diffie-Hellman型鍵交換方式とは、複数のノードの各々で乱数を生成し、この乱数をべき乗剰余した値を相手方に送信する一方、受信した値に対して自身で生成した乱数を用いて再度べき乗剰余することで、双方のみ知り得る鍵を共有する方式である。
There is known a security technique using a password authentication key exchange protocol for securing a digital document by using a low-grade password that can be easily stored by a person. In this method, a password or a hash value of a password is shared between the client terminal and the server, and key sharing is performed without holding secret key information in the client terminal. This technique has a technical feature in that an attacker to a network between a client terminal and a server creates a situation where password prediction cannot be performed offline. As an application example of this method, for example, there is a security method in which information derived from a hash value of a password is used in combination with an RSA method or a Diffie-Hellman key exchange method (see
The Diffie-Hellman type key exchange method generates a random number at each of a plurality of nodes, transmits a value obtained by power-modulating this random number to the other party, and again uses the random number generated by itself for the received value. This is a method of sharing a key that can be known only by both parties by taking a power residue.
しかしながら、上述した従来のセキュリティ手法は、パスワード認証鍵交換プロトコルで利用する「べき乗剰余演算」に長時間を要する。そのため、例えば携帯端末のような演算能力の低いクライアント端末がローカルな店舗端末を介してサーバと通信を行うようなサービスでは、べき剰余演算に伴う待ち時間が長くなり、利用に適さないという問題がある。
また、クライアント端末が、同じタイミングで複数のサーバとの間で鍵を共有したいときには、サーバ毎に異なる乱数をクライアント端末側で生成する必要があるため、その処理に時間がかかり、クライアント端末に負荷が集中するといった問題もある。
本発明は、かかる問題を解消し、クライアント端末がサーバと鍵交換を行う際のクライアント端末での乱数生成処理の負荷及び演算処理の負荷を軽減し、サーバとの鍵交換を効率良く行い、ひいては複数のサーバを利用したサービス連携をも実現する手法を提供することを主たる課題とする。
However, the above-described conventional security method requires a long time for the “power residue calculation” used in the password authentication key exchange protocol. Therefore, for example, in a service in which a client terminal having a low computing capacity such as a portable terminal communicates with a server via a local store terminal, there is a problem that the waiting time associated with the power residue calculation becomes long and is not suitable for use. is there.
In addition, when a client terminal wants to share a key with multiple servers at the same timing, it is necessary to generate a random number different for each server on the client terminal side, so that processing takes time and loads on the client terminal. There is also the problem of concentration.
The present invention solves this problem, reduces the load of random number generation processing and calculation processing at the client terminal when the client terminal performs key exchange with the server, efficiently performs key exchange with the server, and thus The main problem is to provide a method for realizing service cooperation using a plurality of servers.
本発明は、例えば、第1の乱数を生成するクライアント端末及びサーバデータを生成するサーバのそれぞれと通信可能なパスワード認証鍵交換装置であって、前記第1の乱数に比べてサイズの大きい第2の乱数を生成する乱数生成手段と、前記クライアント端末が前記第1の乱数及び所定のパスワードを使用して生成したクライアント一次データと前記乱数生成手段が生成した前記第2の乱数とに基づいてクライアント二次データを生成し前記クライアント二次データを前記サーバに送信することによって、前記クライアント二次データに基づいて前記クライアント端末と共有する共有鍵を生成することを前記サーバに促す二次データ生成手段と、前記サーバが生成した前記サーバデータと前記乱数生成手段が生成した前記第2の乱数とに基づいて鍵交換部分データを生成し前記鍵交換部分データを前記クライアント端末に送信することによって、前記鍵交換部分データに基づいて前記サーバと共有する共有鍵を生成することを前記クライアント端末に促す鍵交換部分データ生成手段と、を有する装置である。 The present invention is, for example, a password authentication key exchange apparatus capable of communicating with each of a client terminal that generates a first random number and a server that generates server data, and is a second that is larger in size than the first random number. Based on random number generation means for generating a random number of the client, client primary data generated by the client terminal using the first random number and a predetermined password, and the second random number generated by the random number generation means by transmitting the generated said client secondary data secondary data to the server, secondary data generating prompting generating a shared key shared with the previous SL client terminal based on the client secondary data to the server Means, the server data generated by the server, and the second random number generated by the random number generating means. By transmitting the generated the key exchange part data key exchange partial data to the client terminal have, key exchange prompting generating a shared key shared with the server on the basis of the key exchange part data to said client terminal And a partial data generating means.
このパスワード認証鍵変換装置において、前記クライアント端末が複数のサーバと通信を行う場合、前記乱数生成手段は、サーバ毎に異なる第2の乱数を生成するものとしても良い。また、前記複数のサーバに係る複数のサーバデータの差分情報を生成する差分情報生成手段を更に有し、この差分情報生成手段が前記鍵交換部分データに加えて前記差分情報を更に用いた前記共有鍵の生成を前記クライアント端末に促すようにしても良い。 In this password authentication key conversion apparatus, when the client terminal communicates with a plurality of servers, the random number generation means may generate a second random number different for each server. Further, the share information further includes difference information generation means for generating difference information of a plurality of server data relating to the plurality of servers, and the difference information generation means further uses the difference information in addition to the key exchange partial data. The client terminal may be prompted to generate a key.
本発明はまた、例えば、サーバと、第1の乱数を生成するクライアント端末及び前記サーバのそれぞれと通信可能なパスワード認証鍵交換装置とを有するシステムであって、前記サーバは、第3の乱数及びこの第3の乱数を使用してサーバデータを生成するともに、当該第3の乱数と前記クライアント端末が生成したクライアント二次データとに基づいて前記クライアント端末と共有する共有鍵を生成する鍵交換管理手段を有するものであり、前記パスワード認証鍵交換装置は、前記第1の乱数に比べてサイズの大きい第2の乱数を生成する乱数生成手段と、前記クライアント端末が前記第1の乱数及びパスワードを使用して生成したクライアント一次データと前記乱数生成手段が生成した前記第2の乱数とに基づいて前記クライアント二次データを生成し、前記クライアント二次データを前記サーバに送信する二次データ生成手段と、前記サーバが生成した前記サーバデータと前記乱数生成手段が生成した前記第2の乱数とに基づいて鍵交換部分データを生成し前記鍵交換部分データを前記クライアント端末に送信することによって、前記鍵交換部分データに基づいて前記サーバと共有する共有鍵を生成することを前記クライアント端末に促す鍵交換部分データ生成手段と、を有するものである。 The present invention is also a system including, for example, a server, a client terminal that generates a first random number, and a password authentication key exchange device that can communicate with each of the servers, the server including a third random number and Key exchange management for generating server data using the third random number and generating a shared key shared with the client terminal based on the third random number and the client secondary data generated by the client terminal The password authentication key exchange device includes: a random number generation unit that generates a second random number that is larger in size than the first random number; and the client terminal receives the first random number and the password. The client secondary data based on the client primary data generated using the second random number generated by the random number generation means. Generates over data, secondary data generating means for transmitting the client secondary data to the server, on the basis of the said second random number that the server is the server data and the random number generating means generates the generated key by generating a replacement partial data to transmit the key exchange part data to the client terminal, the key exchange part data prompting generating a shared key shared with the server on the basis of the key exchange part data to said client terminal Generating means.
このパスワード認証鍵交換システムにおいても、前記クライアント端末が複数のサーバと通信を行う場合には、前記乱数生成手段は異なるサーバ毎に異なる第2の乱数を生成するようにしても良い。また、前記パスワード認証鍵交換装置は、複数のサーバに係る複数のサーバデータの差分情報を生成する差分情報生成手段を更に有し、この差分情報生成手段が前記鍵交換部分データに加えて前記差分情報を更に用いた前記共有鍵の生成を前記クライアント端末に促すようにしても良い。 Also in this password authentication key exchange system, when the client terminal communicates with a plurality of servers, the random number generation means may generate different second random numbers for different servers. The password authentication key exchange apparatus further includes difference information generation means for generating difference information of a plurality of server data relating to a plurality of servers, and the difference information generation means adds the difference to the key exchange partial data. The client terminal may be prompted to generate the shared key further using information.
本発明は、パスワード認証鍵交換方法として具現化することができる。この方法は、サーバと、クライアント端末のそれぞれと通信可能なパスワード認証鍵交換装置とを有するシステムにより実行される方法であって、前記クライアント端末が、第1の乱数を生成するとともに、この第1の乱数と所定のパスワードとを使用してクライアント一次データを生成する段階と、前記パスワード認証鍵交換装置が、前記第1の乱数に比べてサイズの大きい第2の乱数を生成するとともに、前記生成されたクライアント一次データと前記第2の乱数とに基づいてクライアント二次データを生成し、前記クライアント二次データを前記サーバに送信する段階と、前記サーバが、第3の乱数を生成し、この第3の乱数に基づいてサーバデータを生成するとともに、当該第3の乱数と前記クライアント二次データとに基づいて前記クライアント端末と共有する共有鍵を生成する段階と、前記パスワード認証鍵交換装置が、前記サーバが生成した前記サーバデータと前記第2の乱数とに基づいて鍵交換部分データを生成し前記鍵交換部分データを前記クライアント端末に送信することによって、前記鍵交換部分データに基づいて前記サーバと共有する共有鍵を生成することを前記クライアント端末に促す段階とを有する。 The present invention can be embodied as a password authentication key exchange method. This method is executed by a system having a server and a password authentication key exchange apparatus that can communicate with each of the client terminals. The client terminal generates a first random number, and the first random number is generated. Generating client primary data using the random number and a predetermined password, and the password authentication key exchange apparatus generates a second random number having a size larger than the first random number, and the generation Generating client secondary data based on the client primary data and the second random number, and transmitting the client secondary data to the server; and the server generates a third random number, Server data is generated based on the third random number, and the previous data is generated based on the third random number and the client secondary data. Phase and the password authentication key exchange device, the key exchange section generates a key exchange partial data based on the server is the server data generated with the second random number to generate a shared key shared with the client terminal by sending data to the client terminal, and a step of prompting generating a shared key shared with the server on the basis of the key exchange part data to the client terminal.
本発明は、コンピュータを、第1の乱数を生成するクライアント端末及びサーバデータを生成するサーバのそれぞれと通信自在なパスワード認証鍵交換装置として動作させるためのコンピュータプログラムであって、前記コンピュータを、前記第1の乱数に比べてサイズの大きい第2の乱数を生成する乱数生成手段、前記クライアント端末が前記第1の乱数及び所定のパスワードを使用して生成したクライアント一次データと前記乱数生成手段が生成した前記第2の乱数とに基づいてクライアント二次データを生成し前記クライアント二次データを前記サーバに送信することによって、前記クライアント二次データに基づいて前記クライアント端末と共有する共有鍵を生成することを前記サーバに促す二次データ生成手段、前記サーバが生成した前記サーバデータと前記乱数生成手段が生成した前記第2の乱数とに基づいて鍵交換部分データを生成し前記鍵交換部分データを前記クライアント端末に送信することによって、前記鍵交換部分データに基づいて前記サーバと共有する共有鍵を生成することを前記クライアント端末に促す鍵交換部分データ生成手段、として機能させるためのコンピュータプログラムである。 The present invention is a computer program for causing a computer to operate as a password authentication key exchange apparatus that can communicate with each of a client terminal that generates a first random number and a server that generates server data. Random number generating means for generating a second random number larger in size than the first random number, client primary data generated by the client terminal using the first random number and a predetermined password, and the random number generating means by sending the client secondary data to the server to generate client secondary data based on the second random number, it generates a shared key shared with the previous SL client terminal based on the client secondary data secondary data generating means for prompting said server to said server generated Wherein by sending the key exchange portion data to generate a key exchange partial data on the basis of the second random number the server data and the random number generating means to generate the client terminal has, based on the key exchange part data A computer program for causing the client terminal to function as key exchange partial data generation means for urging the client terminal to generate a shared key shared with the server.
本発明によれば、クライアント端末がサーバと鍵交換を行う場合において、クライアント端末と協調して演算を行うことで、クライアント端末での乱数生成処理の負荷及び演算処理の負荷を軽減し、サーバとの鍵交換を効率良く行うことができる。 According to the present invention, when the client terminal performs key exchange with the server, by performing the calculation in cooperation with the client terminal, the load of the random number generation process and the calculation process on the client terminal are reduced. Key exchange can be performed efficiently.
<第1実施形態>
図1は、本発明の第1実施形態に係るパスワード認証鍵交換システムの概念図である。この実施形態のパスワード認証鍵変換システムは、パスワード認証鍵交換装置1を含んで構成される。パスワード認証鍵交換装置1は、店舗等に配設されるもので、ユーザが操作する携帯電話機やPDA等からなるクライアント端末2と無線通信路により随時通信することができ、さらに、複数のサーバ3a,3b…(以下、サーバを総称する場合には符号3を用いる)とも、インターネット等のネットワーク4を通じて随時通信できるように構成される。
<First Embodiment>
FIG. 1 is a conceptual diagram of a password authentication key exchange system according to the first embodiment of the present invention. The password authentication key conversion system according to this embodiment includes a password authentication
クライアント端末2は、第1の乱数を生成し、この第1の乱数をべき乗剰余演算した値をクライアント一次データとして店舗等に配設されたパスワード認証鍵交換装置1に送信する。パスワード認証鍵交換装置1は、第2の乱数を生成し、この第2の乱数を用いてべき乗剰余演算した値とクライアント一次データとによりクライアント二次データを生成する。そして、生成したクライアント二次データをサーバ3に送信する。サーバ3は、受信したクライアント二次データの値に対して自身で生成した第3の乱数を用いて再度べき乗剰余演算を行うことで、クライアント端末2とサーバ3の双方のみが知りえる鍵を共有する。この鍵を共有鍵と称する。
The
クライアント端末2が複数のサーバ3a,3b…と鍵交換を行うような場合、クライアント端末2が生成する第1の乱数のサイズを小さくし、その代わりに、店舗等に配設されるパスワード認証鍵交換装置1が、クライアント端末2で生成された第1の乱数よりも大きなサイズの第2の乱数を生成するようにしても良い。
When the
複数のサーバ3a,3b…との間でクライアント端末2が同じタイミングで鍵共有を行うような場合、店舗等に配設されたパスワード認証鍵交換装置1は、サーバ3a,3b…毎に異なる第2の乱数を生成することで、クライアント端末2で異なるサーバ3a,3b…毎の第1の乱数の生成を省略しても、サーバ3a,3b…に対して異なる乱数を利用しているように振舞えるようにすることもできる。
When the
さらに、例えば複数のサーバ3a,3b…に対して同じパスワードを設定しているような場合、店舗等に配設されるパスワード認証鍵交換装置1が、各サーバ3a,3b…から送られたサーバデータの差分情報を計算し、この差分情報をクライアント端末2に通知することで、クライアント端末2の演算負荷を更に低減するようにしても良い。
すなわち、パスワード認証鍵交換システムでは、クライアント端末2とパスワード認証鍵交換装置1とが協調して演算を行なうようにして、クライアント端末2での乱数生成に係る負荷及び乱数を利用したべき乗剰余演算の負荷を軽減している。
Further, for example, when the same password is set for a plurality of
In other words, in the password authentication key exchange system, the
なお、この実施形態では、クライアント端末2と店舗等に配設されたパスワード認証鍵交換装置1とは、例えば非接触ICや赤外線等を用いた近接通信等が可能な環境下にあることを想定しているので、前述したようにクライアント端末2で利用する第1の乱数のサイズが小さくても、両者間の通信路でのデータ盗聴の問題は起こらない。
In this embodiment, it is assumed that the
パスワード認証鍵交換システムの具体的なサービスイメージとしては、例えば、一のサーバ3aでコンテンツを管理し、他のサーバ3bではコンテンツの鍵等を管理している場合に、一のサーバ3aとの間でコンテンツのダウンロード時にセキュアな通信路を確立し、他のサーバ3bとの間でコンテンツの鍵の取得や課金等の処理を行うためのセキュアな通信路を確立する、という場合がある。
As a specific service image of the password authentication key exchange system, for example, when the content is managed by one server 3a and the key of the content is managed by the
上記のような機能を実現するためのパスワード認証鍵交換装置1の構成例は、図2に示される通りである。すなわち、パスワード認証鍵交換装置1は、コンピュータの一種である制御部11、クライアント端末2との無線通信やサーバ3とのネットワーク通信を実現するための通信部12、液晶ディスプレイ装置等からなる表示部13、マウスやキーボード等からなる操作入力部14、RAM、ROM、ハードディスク等のメモリデバイスからなる記憶部15を有する。
A configuration example of the password authentication
制御部11は、コンピュータプログラムの一例となる制御プログラム100に基づき、制御部11内に、乱数生成機能11a、二次データ生成機能11b、鍵交換部分データ生成機能11c、差分情報生成機能11dを形成する。
乱数生成機能11aは、クライアント端末2から提示されたサービス情報に基づきサーバ3a,3b…毎の第2の乱数を生成する機能である。二次データ生成機能11bは、クライアント端末2で作成されたクライアント一次データと乱数生成機能11aにより生成した第2の乱数とに基づいてクライアント二次データを生成しサーバ3に送信する機能である。鍵交換部分データ生成機能11cは、サーバ3a,3b…で作成されたサーバデータと先に乱数生成機能11aで生成した第2の乱数とに基づいて鍵交換部分データを生成し、これをクライアント端末2に送信する機能である。差分情報生成機能11dは、複数のサーバ3a,3b…と鍵交換し、且つ複数のサーバ3a,3b…に対するパスワードが同一である場合に、複数のサーバデータより差分情報を生成しクライアント端末2に送信する機能である。各機能の詳細については、後述する。
The
The random
記憶部15には、各サーバ3についての生成乱数と、ステータス(サーバデータ待ち、鍵共有済み等を表すデータ)が対応付けられて記憶される。記憶部15には、このほか、パスワード認証鍵交換で利用する各種のパラメータも一時的に記憶されることになる。
なお、制御部11は、各機能11a〜11dが形成されて実行される場合、それぞれ乱数生成手段、二次データ生成手段、鍵交換部分データ生成手段、差分情報生成手段として機能することになる。但し、各手段の実現形態は、機能11a〜11dに限定されるものではなく、適宜、ファームウエア、ハードウエアに置き換えることもできる。
The
When the
クライアント端末2は、例えば図3のように構成される。すなわち、クライアント端末2は、制御部21、通信部22、表示部23、操作入力部24、記憶部25を有する。制御部21はコンピュータの一種であり、所定のクライアント用制御プログラム200を読み込んで実行することにより、制御部21内に、サービス情報管理機能21a、鍵交換管理機能21bを形成する。
サービス情報管理機能21aは、クライアント端末2に登録したサービス情報を保持し、店舗側のパスワード認証鍵交換装置1にサービス情報(例えばサーバのURL等)を通知する機能である。鍵交換管理機能21bは、クライアント端末2で入力したパスワードと生成した第2の乱数とに基づいてサーバ3とパスワード認証鍵交換を行い、共有鍵を取得する機能である。各機能の詳細については、後述する。
The
The service
記憶部25には、サービス情報として、各サービス毎に対応するサーバ情報(例えばサーバURL、ポート番号等)、ユーザID等が対応付けられて記憶されており、更にパスワードが用いられるサービスを識別するための情報も記憶されている。また、パスワード認証鍵交換で利用する各種のパラメータも一時的に記憶されることになる。
なお、制御部21は、機能21a,21bに基づいて作用する場合、それぞれサービス情報管理手段、鍵交換管理手段として機能する。但し、各手段の実現形態は、機能21a,21bに限定されるものではなく、適宜、ファームウエア、ハードウエアに置き換えることもできる。
In the
In addition, the
サーバ3は、例えば図4のように構成される。すなわち、サーバ3は、制御部31、通信部32、記憶部33を有する。制御部31はコンピュータの一種であり、所定のサーバ用制御プログラム300を読み込んで実行することにより制御部31内に、ユーザ管理機能31a、鍵交換管理機能31bを実行する。ユーザ管理機能31aは、ユーザ毎のパスワード等を保持する機能である。鍵交換管理機能31bは、第3の乱数を生成し、この生成した第3の乱数とパスワード認証鍵交換装置1の二次データ生成機能11bにより生成されたクライアント二次データとに基づいてサーバデータを生成し、パスワード認証鍵交換を行い、共有鍵を取得する機能である。各機能の詳細については、後述する。
記憶部33にはユーザID、パスワード、有効期限、鍵共有済みフラグが対応付けられて記憶される。また、パスワード認証鍵交換で利用する各種のパラメータも一時的に記憶される。
なお、制御部31は、機能31a,31bに基づいて作用する場合、それぞれユーザ管理手段、鍵交換管理手段として機能する。但し、各手段の実現形態は、機能31a,31bに限定されるものではなく、適宜、ファームウエア、ハードウエアに置き換えることもできる。
The
The
In addition, the
[動作手順]
以下、この実施形態のパスワード認証鍵交換システムの動作例を図5及び図6を参照して説明する。
クライアント端末2の制御プログラム200その他のプログラムが起動した後、ユーザにより操作入力部24が操作されてユーザID及びパスワードが入力されると(ステップS1)、クライアント端末2の制御部22は、鍵交換管理機能21bに基づいて、パスワード認証鍵交換装置1側で生成する後述の乱数に比べてサイズの小さい乱数Sa1(第1の乱数)を生成する(ステップS2)。制御部22は、また、サービス情報管理機能21aに基づいて、利用を所望するサーバ3のサーバ情報とユーザIDを店舗側のパスワード認証鍵交換装置1へ通知する(ステップS3)。この段階では、クライアント端末2の記憶部25に、「サービス情報」として、サービス毎のサーバ情報(例えばサーバのURL、ポート番号等)、ユーザID、並びにパスワードが同一のサービスに関する情報、更にはパスワード認証鍵交換で利用するパラメータが記憶されている。制御部22は、記憶部25に記憶されている「サービス情報」を参照して、利用を所望するサーバ3に対応するサーバ情報とユーザIDを読み出し、通知する。
[Operation procedure]
Hereinafter, an operation example of the password authentication key exchange system of this embodiment will be described with reference to FIGS.
After the
店舗側のパスワード認証鍵交換装置1は、このサーバ情報とユーザIDを通信部12を介して受信すると(ステップS4)、その制御部11が、サービスを選択する(ステップS5)。サービスが複数ある場合は、パスワード認証鍵交換装置1側でサービスを指定しても良く、あるいは予めクライアント端末2がサービスを指定している場合はステップS4の処理を省略しても良い。
When the store side password authentication
制御部11は、また、乱数生成機能11aに基づいて先にステップS5で選択したサービスで利用するサーバ3毎に乱数Sa2-1,Sa2-2,・・・Sa2-n(第2の乱数)を生成する(ステップS6)。制御部11は、さらに、接続先のサーバ3に対してクライアント端末2から送られたユーザIDを通知するとともに、クライアント端末2にパスワード認証鍵交換で必要なクライアント端末2側のクライアント一次データの作成を依頼(鍵交換要求)する(ステップS7)。なお、複数のサーバ3を利用する際には、ユーザIDをそれぞれ通知することとする。
The
鍵交換要求を受けとったクライアント端末2は、制御部21が、鍵交換管理機能21bにより、先にステップS1において入力されたパスワードのハッシュ値とステップS2で生成した乱数Sa1とに基づいてべき乗剰余演算を行い、クライアント一次データを生成する(ステップS8)。例えば、ステップS1で入力されたパスワードをπ、そのハッシュ値をH(π)、離散対数のドメインパラメータをk,qとすると、クライアント一次データWa1は、以下のようなべき乗剰余演算により求めることができる。
g1=H(π)^k modq
Wa1=(g1^Sa1 modq)
In the
g1 = H (π) ^ k modq
Wa1 = (g1 ^ Sa1 modq)
クライアント端末2では、制御部21が、鍵交換管理機能21bにより、パスワード認証鍵交換で利用する公開パラメータとステップS8で生成したクライアント一次データWa1とを、通信部22を介して、店舗側のパスワード認証鍵交換装置1へ送信する(ステップS9)。
In the
パスワード認証鍵交換装置1は、通信部12を介して公開パラメータとクライアント一次データを受信すると(ステップS10)、制御部11が、このクライアント一次データWa1が所定範囲にあるか否か(例えば、べき乗剰余の剰余値以内か等)を確認する(ステップS11)。このステップS11において、制御部11は、クライアント一次データWa1が所定範囲にないと判断した場合は、クライアント端末2から店舗側のパスワード認証鍵交換装置1に通知されたサーバ情報や先に生成した乱数Sa2-1,Sa2-2,…Sa2-nをクリアし、クライアント端末2にエラー通知を行う(ステップS12)。
When the password authentication
サーバ3は、通信部32を介してクライアント端末2から送られたユーザIDを含む通知(鍵交換要求)を受けると、制御部31が、ユーザ管理機能31aに基づき、当該ユーザIDが登録されているか否かを確認する(ステップS13)。ステップS13においてユーザIDが登録されていないと制御部31が判断した場合には、クライアント端末2から店舗側のパスワード認証鍵交換装置1に通知されたサーバ情報や、該装置1で生成した乱数Sa2-1,Sa2-2,…Sa2-nを消去し、クライアント端末2にエラー通知を行なうように指示する(ステップS14)。制御部31が、ユーザIDが登録されているものであると判断した場合には、乱数Sb(第3の乱数)を生成する(ステップS15)。
When the
パスワード認証鍵交換装置1では、制御部11が二次データ生成機能11bに基づいて、先にステップS10において受信した公開パラメータ及びクライアント一次データWa1と前記ステップS6において生成した乱数Sa2-1,Sa2-2,…Sa2-nとに基づいてべき乗剰余演算を行ってクライアント二次データを生成し、このクライアント二次データを各サーバ3へ送信する(ステップS16)。例えば、サーバ3aに対する乱数がSa2-1であるとすると、当該サーバ3aに送信すべきクライアント2次データWaは、以下のようなべき乗剰余演算により求めることができる。
Wa2-1=g1^Sa2-1 modq
Wa=Wa1*Wa2-1
In the password authentication
Wa2-1 = g1 ^ Sa2-1 modq
Wa = Wa1 * Wa2-1
同様に、サーバ3bに対する乱数がSa2-2であるとすると、サーバ3bに送信すべきクライアント2次データWa’は、以下のようなべき乗剰余演算により求めることができる。
Wa2-2=g1^Sa2-2 modq
Wa’=Wa1*Wa2-2
Similarly, assuming that the random number for the
Wa2-2 = g1 ^ Sa2-2 modq
Wa '= Wa1 * Wa2-2
サーバ3は、通信部32を介して当該クライアント二次データWaを受信すると(ステップS17)、制御部31が当該クライアント二次データWaが所定範囲(例えば、べき乗剰余の剰余値以内か等)にあるか否かを確認する(ステップS18)。クライアント二次データWaが所定範囲にないと判断した場合には、ステップS14に移行し、エラー通知に係る前述した指示を行う。一方、制御部31が、クライアント二次データWaが所定範囲にあると判断した場合には、鍵交換管理機能31bにより、先にステップS13にて確認したユーザIDに基づいて記憶部35よりパスワードまたはパスワードの関連データを取得し、ステップS15で生成した乱数Sbを利用してサーバデータを作成し、パスワード認証鍵交換装置1に通知する(ステップS19)。
When the
例えば、サーバ3aで生成されるサーバデータは、乱数Sbを含む下記式で表される。
Wb=g1^Sb modq
同様の演算式により、サーバ3bで生成されるサーバデータWb’は、乱数Sb’を含む下記式で表される。
Wb’=g1^Sb’modq
For example, the server data generated by the server 3a is represented by the following expression including the random number Sb.
Wb = g1 ^ Sb modq
The server data Wb ′ generated by the
Wb '= g1 ^ Sb'modq
ステップS19の実行後、サーバ3は、制御部31がステップS17で受信したクライアント二次データWaとステップS15で生成した乱数Sbとに基づいて、クライアント端末2とサーバ3との間で共有する共有鍵を生成するための元となる鍵交換共有データZを生成する(ステップS20)。例えば、サーバ3aは、クライアント二次データWaと生成した乱数Sbより、鍵交換共有データZ1を、下記のべき乗剰余演算により求める。
Z1=Wa^Sb*k modq
この場合、共有鍵Kiは、鍵交換共有データZ1と公開パラメータPiより、以下のようになる。Hはハッシュ関数である。
Ki=H(z1‖Pi)
After execution of step S19, the
Z1 = Wa ^ Sb * k modq
In this case, the shared key Ki is as follows from the key exchange shared data Z1 and the public parameter Pi. H is a hash function.
Ki = H (z1‖Pi)
同様に、サーバ3bでは、クライアント二次データWa’と生成した乱数Sb’より鍵交換共有データZ2を下記のべき乗剰余演算により求める。
Z2=Wa^Sb’*k modq
この場合、共有鍵Kiは、鍵交換共有データZ1と公開パラメータPi’より、以下のようになる。
Ki=H(Z1‖Pi’)
Similarly, in the
Z2 = Wa ^ Sb '* k modq
In this case, the shared key Ki is as follows from the key exchange shared data Z1 and the public parameter Pi ′.
Ki = H (Z1‖Pi ′)
パスワード認証鍵交換装置1は、通信部12を介してサーバ3からのサーバデータWbを受信すると(ステップS21)、制御部11が、鍵交換部分データ生成機能11cに基づき、当該サーバデータに対して、ステップS10で受信した公開パラメータとステップS6で生成した乱数Sa2-1,Sa2-2,・・・を用いて、鍵交換共有データの鍵交換部分データを生成し、クライアント端末2に通知する(ステップS22)。
例えば、サーバ3aから通知された鍵交換共有データZ1の鍵交換部分データZ2-1は、サーバデータWbと乱数Ss2-1、離散対数のドメインパラメータqより、下記のべき乗剰余演算により求められる。
Z2-1=Wb^Ss2-1 modq
When the password authentication
For example, the key exchange partial data Z2-1 of the key exchange shared data Z1 notified from the server 3a is obtained from the server data Wb, the random number Ss2-1, and the discrete logarithm domain parameter q by the following power-residue calculation.
Z2-1 = Wb ^ Ss2-1 modq
同様に、サーバ3bから通知された鍵交換共有データZ2の鍵交換部分データZ2-2は、サーバデータWb’と乱数Ss2-2、離散対数のドメインパラメータqより、下記のべき乗剰余演算により求められる。
Z2-2=Wb’^Ss2-2 modq
Similarly, the key exchange partial data Z2-2 of the key exchange shared data Z2 notified from the
Z2-2 = Wb '^ Ss2-2 modq
つまり、複数のサーバからのサーバデータを受信した場合(ステップS23)、制御部11は、それら複数のサーバが同じパスワード設定であるか否かを判断する(ステップS24)。そして、同じパスワード設定でない場合には、前述したようにして鍵交換部分データを生成し、クライアント端末2に送信する(ステップS25)。これに対して、複数のサーバが同じパスワード設定である場合、制御部11は、鍵交換部分データ生成機能11cにより鍵交換部分データを生成するほか、差分情報生成機能11dにより差分情報を計算し、これらをクライアント端末2に送信する(ステップS26)。
例えば、サーバ3aからのサーバデータWbとサーバ3aからのサーバデータWb’との差分情報は、Wb’/Wbとなる。
That is, when server data is received from a plurality of servers (step S23), the
For example, the difference information between the server data Wb from the server 3a and the server data Wb ′ from the server 3a is Wb ′ / Wb.
クライアント端末2は、通信部22を介してパスワード認証鍵交換装置1からの鍵交換部分データを受信すると(ステップS27)、制御部21が鍵交換部分データを検証する(ステップS28)。ここでは、受信した鍵交換部分データが所定範囲(例えば、べき乗剰余の剰余値以内か等)にあるか否かを確認し、エラーの場合は店舗側のパスワード認証鍵交換装置1やサーバ3に、その旨を通知し、それぞれのノードで設定、生成された情報を消去する(ステップS29)。一方、受信した鍵交換部分データが所定範囲にある場合、制御部21は、差分情報が送られているか否かを判断する(ステップS30)。そして、送られていない場合には、ステップS2で生成した乱数Sa1を利用して鍵交換共有データZ1を生成する(ステップS31)。この場合、鍵交換共有データZ1は、下記のべき乗剰余演算により求めることができる。
Za=(Z2-1^k modq)
Zb=Wb^Sa1*k modq
Z1=Za*Zb
=(Wb^(Sa1*k+Sa2-1*k)modq
=(Wb^(Sa1+Sa2-1*k)modq
When the
Za = (Z2-1 ^ k modq)
Zb = Wb ^ Sa1 * k modq
Z1 = Za * Zb
= (Wb ^ (Sa1 * k + Sa2-1 * k) modq
= (Wb ^ (Sa1 + Sa2-1 * k) modq
共有鍵Kiは、鍵交換共有データZ1と公開パラメータPiより、以下のようになる。
Ki=H(Z1‖Pi)
The shared key Ki is as follows from the key exchange shared data Z1 and the public parameter Pi.
Ki = H (Z1‖Pi)
一方、ステップS30において、差分情報が送られている場合、クライアント端末2では、制御部21が、鍵交換共有データZ2を、ステップS2で生成された乱数Sa1と差分情報とに基づいて生成する(ステップS32)。例えば、サーバ3aからのサーバデータWbとサーバ3aからのサーバデータWb’との差分情報は、Wb’/Wbとなる。ステップS32では、この差分情報を用いて、鍵交換共有データZ2を下記のべき乗剰余演算により求める。
Zc=(Z2-2^k modq)
Zd=Zb*差分情報(=Wb’/Wb)
Z2=Zc*Zd
=(Wb’^((Sa1+Sa2-2)*k)modq
共有鍵Kiは、鍵交換共有データZ2と公開パラメータPi’より、以下のようになる。
Ki=H(Z1‖Pi’)
On the other hand, when difference information is sent in step S30, in the
Zc = (Z2-2 ^ k modq)
Zd = Zb * difference information (= Wb ′ / Wb)
Z2 = Zc * Zd
= (Wb '^ ((Sa1 + Sa2-2) * k) modq
The shared key Ki is as follows from the key exchange shared data Z2 and the public parameter Pi ′.
Ki = H (Z1‖Pi ′)
以上の説明から明らかなように、第1実施形態のパスワード認証鍵交換システムによれば、クライアント端末2で生成する第1の乱数のサイズを店舗側の装置1で生成する第2の乱数のサイズに比べて小さくすることで、当該クライアント端末2での第1の乱数に係るべき乗剰余演算の処理負担を軽減することが可能となる。また、離散対数のドメインパラメータk値を店舗側のパスワード認証鍵交換装置1では公開しないことにより、セキュリティを確保することができる。クライアント端末2が複数のサーバ3と同時に鍵交換を所望する場合であっても、一の第1の乱数を生成すれば良いので、この点でも処理負担を軽減することができる。さらに、複数のサーバ3について同じパスワードを使用する場合、差分情報を用いることで、クライアント端末2での処理負担を更に軽減することができる。このように、クライアント端末2とパスワード認証鍵交換装置1とが協調して演算を行なうことで、クライアント端末2での乱数生成に係る負荷及び乱数を利用したべき乗剰余処理等の負荷を軽減することを可能としている。
As is clear from the above description, according to the password authentication key exchange system of the first embodiment, the size of the first random number generated by the
また、演算能力の低い安価なクライアント端末2と複数のサーバ3a,3b…との間で安全な通信路を確立できるため、サーバ3a,3b…間での安全な通信路が確保できない環境においても、複数のサーバ3a,3b…を利用したサービス連携が可能となる。
In addition, since a safe communication path can be established between the
<第2実施形態>
次に、パスワード認証鍵交換システムの第2の実施形態を説明する。この実施形態のパスワード認証鍵交換システムは、第1実施形態に係るシステムの構成要素であるパスワード認証鍵交換装置1に、新たな機能を付加したものである。その概念図は図1と略同様であり、クライアント端末2の構成は図3と同様であり、サーバ3の構成は図4と同様であるので、重複した説明は省略する。
まず、図7を参照して、第2実施形態に係るパスワード認証鍵交換システムを構成するパスワード認証鍵交換装置5の構成例を説明する。
このパスワード認証鍵交換装置5は、コンピュータの一種となる制御部51、クライアント端末2との無線通信やサーバ3とのネットワーク通信を実現する通信部52、液晶ディスプレイ装置等からなる表示部53、マウスやキーボード等からなる操作入力部54、RAMやROM等のメモリデバイスからなる記憶部55を有する。
Second Embodiment
Next, a second embodiment of the password authentication key exchange system will be described. The password authentication key exchange system of this embodiment is obtained by adding a new function to the password authentication
First, with reference to FIG. 7, the structural example of the password authentication key exchange apparatus 5 which comprises the password authentication key exchange system which concerns on 2nd Embodiment is demonstrated.
The password authentication key exchange device 5 includes a
制御部51は、コンピュータプログラムの一例となる制御プログラム500に基づき、依頼演算管理機能51a、クライアント・サーバ接続管理機能51b、共有鍵確認機能51c、クライアント・サーバ通信機能51dを少なくとも形成する。
依頼演算管理機能51aは、前述した第1実施形態(図2)の乱数生成機能11a、二次データ生成機能11b、鍵交換部分データ生成機能11c、差分情報生成機能11dの機能のほか、更に、演算機能選択・追加、クライアント・サーバ毎に応じた乱数生成サイズ決定(クライアント演算能力、サーバとの間の通信セキュリティレベル等に基づく)に係る機能を含む。
The
The request
クライアント・サーバ接続管理機能51bは、セッション管理、すなわちクライアント端末2が店舗側のパスワード認証鍵交換装置1から一時的に離れ再度接続、複数サーバ同時アクセス時のセッション割り当て等の管理、複数のサーバ3へのアクセス時に当該サーバ3からの応答がくるまで他のサーバ3からの応答結果を保持する機能、サイト毎に生成する生成乱数のMACを生成し、利用時に検証する機能、サーバ接続エラー時に代理のサーバにアクセスする機能である。共有鍵データ確認機能51cは、パスワード入力誤り時などのリトライ・切断機能を含む。クライアント・サーバ通信管理機能51dは、クライアント・サーバの接続時間管理(課金も含む)やクライアント・サーバ接続管理で生成したセッションIDの消去(クライアント・サーバ接続が完了した場合や異常発生時等)に係る機能である。各機能の詳細は後述する。
The client / server
なお、制御部51は、機能51a乃至51dに基づいて作用する場合、それぞれ依頼演算管理手段、クライアント・サーバ接続管理手段、共有鍵確認手段、クライアント・サーバ通信管理手段として機能する。但し、但し、各手段の実現形態は、機能51a〜51dに限定されるものではなく、適宜、ファームウエア、ハードウエアに置き換えることもできる。
In the case of acting based on the
[動作手順]
次に、第2実施形態に係るパスワード認証鍵交換装置5の動作を図8〜図12の手順説明図を参照して説明する。
まず、図8の手順説明図を参照して、制御部51による依頼演算管理機能51aによる依頼演算管理処理の手順について説明する。
制御部51は、クライアント端末2から依頼演算要求、演算データを受信すると(ステップS51)、当該依頼演算に対応する機能が形成されているか否か、つまり当該機能を有しているか否かを判断する(ステップS52)。機能を有していない場合には、当該機能をダウンロードすることが可能であるか否かを判断する(ステップS53)。そして、ダウンロード可能である場合には演算機能をダウンロードし、ステップS56に移行する(ステップS54)。ダウンロード不可能な場合は、クライアント端末2にエラー通知を行なう(ステップS55)。
なお、依頼演算に対応する機能のダウンロードとは、対応するアプリケーションのダウンロード等による。サーバ3がASPとしての役割を担っている場合には、当該サーバ3にリクエストを出し、対応するアプリケーションの有無、ダウンロード可能であるか否かを確認し、ダウンロードを実行することで対応することになる。但し、この手法には限定されないことは勿論である。
[Operation procedure]
Next, the operation of the password authentication key exchange apparatus 5 according to the second embodiment will be described with reference to the procedure explanatory diagrams of FIGS.
First, the procedure of the requested calculation management process by the requested
When receiving a request calculation request and calculation data from the client terminal 2 (step S51), the
Note that the downloading of the function corresponding to the request calculation is based on the download of the corresponding application. When the
制御部51は、その後、依頼演算に対応する演算モジュールを選択し(ステップS56)、依頼先のサーバ3と店舗側のパスワード認証鍵交換装置5(自身)との間のセキュリティレベルが登録されているか否かを判断する(ステップS57)。「セキュリティレベル」とは、例えばセキュリティに対する安全レベルのようにセキュリティの度合いを定量化したものをいう。このセキュリティレベルが登録済みでない場合は、サーバ3までの経路情報を取得し、セキュリティレベルのレベル値を算出し、ステップS59に移行する(ステップS58)。セキュリティレベルが登録済みである場合は、ステップS59に移行する。
Thereafter, the
制御部51は、セキュリティレベルのレベル値に対応した乱数サイズを取得し(ステップS59)、クライアント端末2で演算可能な乱数サイズが通知されているか否かを判断する(ステップS60)。通知済みでない場合には、サーバ3のセキュリティレベルに対応した乱数サイズを店舗側のパスワード認証鍵交換装置5(自身)で生成する乱数とする(ステップS61)。一方、通知済みの場合は、サーバ3とクライアント端末2の乱数サイズの差分を店舗側のパスワード認証鍵交換装置5(自身)の乱数サイズとする(ステップS62)。このようにして乱数を生成し、ステップS51にて受信した演算データに関して演算を行い(ステップS63)、クライアント・サーバ接続管理機能51bの実行へと移行する(ステップS64)。
The
クライアント・サーバ接続管理機能51bによるクライアント・サーバ接続管理処理の手順は、図9に示される通りである。クライアント・サーバ接続管理処理の流れは、クライアント端末2から複数のサーバ3への接続要求があるか否かにより2種類に分かれる。すなわち、制御部51は、クライアント端末2から複数のサーバ3への接続要求があるか否かを判断し(ステップS71)、当該要求がない場合は、ステップS73以降のクライアント・サーバ接続管理の第1処理を実行し、他方、当該要求がある場合には、後述するクライアント・サーバ接続管理の第2処理へと移行する(ステップS72)。
The procedure of the client / server connection management process by the client / server
クライアント・サーバ接続管理の第1処理では、まず、サーバ向けセッションIDを生成し、生成した乱数とともに記憶部55に保持し(ステップS73)、演算結果をサーバ3に通知する(ステップS74)。その後、制御部51は、クライアント端末2向けセッションIDを生成しクライアント端末2に通知し(ステップS75)、且つ待ち時間を越えてサーバ3から応答がないか否かを監視する(ステップS76)。ステップS76にて、待ち時間を越えてサーバ3から応答がない場合、エラー時の代替サーバの指定があるか否かを確認する(ステップS77)。代替サーバの指定がある場合は、指定された代替サーバに再接続する(ステップS78)。他方、代替サーバの指定がない場合、制御部51は、乱数、セッションIDをクリアし、クライアント端末2にエラー通知することになる(ステップS79)。
In the first process of client / server connection management, first, a session ID for a server is generated, stored in the
ステップS76の監視中、サーバ3からのデータを受信すると(ステップS80)、制御部51は、受信したデータ内のセッションIDが記憶部55に保持しているセッションIDと同一であるか否かを判断する(ステップS81)。両者が同一でない場合には、乱数、セッションIDをクリアし、クライアント端末2にエラー通知する(ステップS79)。これに対して、両者が同一である場合には、セッションIDに対応する乱数とサーバ3からの受信データを用いた演算を行い(ステップS82)、その演算結果をクライアント端末2に通知する(ステップS83)。
When the data from the
その後、制御部51は、クライアント端末2とパスワード認証鍵交換装置5(自身)が通信可能な状態にあるかを判断する(ステップS84)。通信可能な状態でない場合にはセッションIDを店舗側の装置5(自身)の表示部53に表示し、クライアント端末2を待ち状態にするよう促す(ステップS85)。そして、この待ち時間を越えてクライアント端末2と通信できないかを監視し(ステップS86)、通信できない場合には、乱数、セッションIDをクリアし、クライアント端末2にエラー通知する(ステップS79)。一方、ステップS84にて両者が通信可能な状態にある場合、及びこのステップS86にて通信できるようになった場合には、クライアント端末2と通信を行い(ステップS87)、共有鍵データ確認処理へと移行する(ステップS88)。
Thereafter, the
図10は、制御部51によるクライアント・サーバ接続管理の第2処理の手順を示している。図9において第2のクライアント・サーバ接続管理処理(図9:ステップS72)に移行すると、制御部51は、図10に示されるように、各サーバ向けセッションIDについてグループIDを生成して付与し、このグループIDをサーバ3に通知する(ステップS101)。そして、待ち時間を越えてサーバ3から応答がないかを監視する(ステップS102)。サーバ3からの応答がない場合には、乱数、セッションIDをクリアし、クライアント端末2にエラー通知を行う(ステップS103)。他方、応答があった場合は、サーバ3からのデータを受信する(ステップS104)。そして、受信したデータ内のセッションIDが記憶部55に保持しているセッションIDと同一であるか否かを判断する(ステップS105)。両者が同一でない場合は、乱数、セッションIDをクリアし、クライアント端末2にエラー通知を行う(ステップS103)。
FIG. 10 shows the procedure of the second process of client / server connection management by the
ステップS105にて、両セッションIDが同一であると判断した場合、制御部51は、同一グループIDのサーバ向けセッションIDでサーバ3からデータを受信していないものがないかどうかを判断する(ステップS106)。受信していないものがある場合にはステップS104に戻り、上記の処理手順を繰り返す。他方、受信していないものはない場合、制御部51は、各サーバ向けセッションIDに付与したグループIDをクリアし(ステップS107)、それぞれのセッションIDに対応する記憶部55に保持している乱数とサーバ3からの受信データを用いて所定演算(積算、べき乗剰余演算等)を行う。また、必要に応じて、差分情報を演算する(ステップS108)。こうして、制御部51は、通信部52を介して演算結果をクライアント端末2に通知し(ステップS109)、共有鍵データ確認処理へと移行する(ステップS110)。なお、ステップS108の処理に代えて、図9のステップS84乃至S86と同様の処理を行なっても良いことは勿論である。
If it is determined in step S105 that both session IDs are the same, the
次に、図11の手順説明図を参照して、制御部51による共有鍵確認機能51cに基づく共有鍵確認処理の手順について説明する。
制御部51は、まず鍵交換共有データの確認データの要求がなされているか否かを判断する(ステップS121)。ここでは、クライアント端末2とサーバ3との間で鍵交換が終了した後にサーバ3から当該要求がなされることを想定している。当該要求がなされていない場合には、後述するクライアント・サーバ通信管理処理へと移行する(ステップS122)。一方、当該要求がなされている場合には、制御部51は、クライアント端末2に確認データの生成を要求する(ステップS123)。
クライアント端末2からの確認データを受信すると(ステップS124)、制御部51は、受信した確認データに付与されたセッションIDが記憶部55に保持しているセッションIDと同一であるか否かを判断する(ステップS125)。両者が同一でない場合には、クライアント端末2、サーバ3にエラー通知を行い、セッションIDや受信データをクリアする(ステップS126)。両者が同一である場合には、クライアント端末2から取得した確認データをサーバ3に通知する(ステップS127)。
Next, a procedure of shared key confirmation processing based on the shared
The
When the confirmation data from the
その後、サーバ3からのデータを受信すると(ステップS128)、受信したデータ内のセッションIDが記憶部55に保持しているセッションIDと同一であるか否かを判断する(ステップS129)。両者が同一でない場合には、クライアント端末2、サーバ3にエラー通知を行い、セッションIDや受信データをクリアする(ステップS126)。他方、両者が同一である場合には、制御部51は、サーバ3からの応答が確認データNGであるか否かを判断する(ステップS130)。サーバからの応答が確認データNGである場合、制御部51は、NG回数をインクリメントし(ステップS131)、当該NG回数が所定回数以上になっていないかどうかを監視する(ステップS132)。NG回数が所定回数以上になった場合、制御部51は、通信部52を介してクライアント端末2及びサーバ3にエラー通知を行い、セッションIDや受信データをクリアする(ステップS126)。他方、NG回数が所定回数未満である場合、制御部51は、クライアント端末2にパスワードの再入力を依頼し、再度演算をやり直す(ステップS133)。
Thereafter, when data from the
次に、図12を参照して、制御部51によるクライアント・サーバ通信管理機能51dに基づくクライアント・サーバ通信管理処理の手順について説明する。
制御部51は、クライアント端末2とサーバ2との間の通信を許可し(ステップS141)、クライアント端末2にサーバ送信でデータを要求する(ステップS142)。クライアント端末2よりデータを受信すると(ステップS143)、制御部51は、クライアント端末2からのクライアント・サーバ間の通信切断要求があるかどうかを判断する(ステップS144)。当該要求がある場合、制御部51は、クライアント端末2とサーバ3との間の通信を不許可とし、セッションIDをクリアする(ステップS145)。他方、当該要求がない場合、制御部51は、クライアント端末2からの受信データに付与されたセッションIDが記憶部55に保持されているセッションIDと同一か否かを判断する(ステップS146)。両者が同一でない場合、制御部51は、クライアント端末2とサーバ3にエラー通知を行い、セッションIDや受信したデータをクリアする(ステップS150)。他方、両者が同一である場合、クライアント端末2から受信したデータをサーバ3に通知する(ステップS148)。
Next, with reference to FIG. 12, the procedure of the client / server communication management process based on the client / server
The
制御部51は、サーバ3からのデータを通信部52を介して受信すると(ステップS149)、受信したデータ内のセッションIDが記憶部55に保持しているセッションIDと同一であるか否かを判断する(ステップS150)。両者が同一でない場合、制御部51はステップS147に移行し、上述した処理を行う。他方、両者が同一である場合、制御部51は、サーバ3から取得したデータを通信部52を介してクライアント端末2に通知する(ステップS151)。そして、制御部51は、クライアント端末2とサーバ3との間の通信時間が制限を超えたかどうかを判断する(ステップS152)。当該制限を越えた場合はステップS145に移行して上述した処理を行う。他方、当該制限を越えていない場合は、ステップS142に戻り、前述した一連の処理を繰り返す。
When the
このように、第2実施形態では、第1実施形態に係るパスワード認証鍵交換装置1の機能に加えて、依頼演算管理機能51aに基づきべき乗剰余演算のみならず、他の演算の依頼にも対応可能となることを示した。また、パスワード認証鍵交換装置5で生成する第2の乱数の乱数サイズの決定方式を具現化した。また、クライアント端末2が複数のサーバ3にアクセスする場合に、セッションIDのほか、グループIDによる管理処理もクライアント・サーバ接続管理機能51bにより実現されている。更に、パスワード認証鍵交換時の確認データを用いたチェックについても共有鍵データ確認機能51cとして実現されている。そして、クライアント・サーバ通信機能51dによりパスワード認証鍵交換後の通信管理も適正化されている。従って、パスワード認証鍵交換の更なる効率化、セキュアな通信環境の下での複数のサーバ3a,3b…を利用したサービス連携が可能となる。
As described above, in the second embodiment, in addition to the function of the password authentication
以上、本発明について、第1及び第2実施形態を示して説明したが、本発明は、これらの実施形態に限定されるものではなく、様々な改良や変更が可能である。第1実施形態としては、クライアント端末2が複数のサーバ3a,3b…とやり取りをする例を示したが、P2Pのように複数のクライアント端末間での鍵交換に適用することも可能である。また、クライアント端末2と店舗側のパスワード認証鍵交換装置1,5との間が近接通信である場合を例に挙げて説明したが、信頼できる別の通信路があれば、遠隔にある端末を経由して鍵交換を行うようにしても良いことは、勿論である。
また、本発明は、パスワードのような個人情報が店舗端末や通信路に漏洩しないため、個人情報を取得するキーロガーやフィッシングなどの脅威を低減して鍵交換を行うことができるというメリットがある。
Although the present invention has been described with reference to the first and second embodiments, the present invention is not limited to these embodiments, and various improvements and modifications can be made. As the first embodiment, an example in which the
Further, the present invention has an advantage that key information can be exchanged while reducing threats such as key loggers and phishing that acquire personal information since personal information such as passwords does not leak to store terminals and communication channels.
1…パスワード認証鍵交換装置、2…クライアント端末、3…サーバ、4…ネットワーク、5…パスワード認証鍵交換装置、11…制御部、12…通信部、13…表示部、14…操作入力部、15…記憶部、11a…乱数生成機能、11b…二次データ生成機能、11c…鍵交換部分データ生成機能、11d…差分情報生成機能、21…制御部、22…通信部、23…表示部、24…操作入力部、25…記憶部、21a…サービス情報管理機能、21b…鍵交換管理機能、31…制御部、32…通信部、33…記憶部、31a…ユーザ管理機能、31b…鍵交換管理機能。
DESCRIPTION OF
Claims (8)
前記第1の乱数に比べてサイズの大きい第2の乱数を生成する乱数生成手段と、
前記クライアント端末が前記第1の乱数及び所定のパスワードを使用して生成したクライアント一次データと前記乱数生成手段が生成した前記第2の乱数とに基づいてクライアント二次データを生成し前記クライアント二次データを前記サーバに送信することによって、前記クライアント二次データに基づいて前記クライアント端末と共有する共有鍵を生成することを前記サーバに促す二次データ生成手段と、
前記サーバが生成した前記サーバデータと前記乱数生成手段が生成した前記第2の乱数とに基づいて鍵交換部分データを生成し前記鍵交換部分データを前記クライアント端末に送信することによって、前記鍵交換部分データに基づいて前記サーバと共有する共有鍵を生成することを前記クライアント端末に促す鍵交換部分データ生成手段と、を有する、パスワード認証鍵交換装置。 A password authentication key exchange device capable of communicating with each of a client terminal that generates a first random number and a server that generates server data,
Random number generating means for generating a second random number larger in size than the first random number;
The client terminal generates client secondary data based on the client primary data generated by using the first random number and a predetermined password and the second random number generated by the random number generation means, and the client secondary data by sending data to the server, and the secondary data generating means for prompting generating a shared key shared with the previous SL client terminal based on the client secondary data to the server,
By sending the said key exchange partial data to generate a key exchange partial data on the basis of the second random number that the server is the server data and the random number generating means generates generated to the client terminal, the key exchange A password authentication key exchange device , comprising: key exchange partial data generation means for prompting the client terminal to generate a shared key shared with the server based on partial data.
前記乱数生成手段は、サーバ毎に異なる第2の乱数を生成可能なものである、
請求項1記載のパスワード認証鍵交換装置。 The client terminal is capable of communicating with a plurality of servers,
The random number generation means is capable of generating a second random number different for each server.
The password authentication key exchange apparatus according to claim 1.
請求項2記載のパスワード認証鍵交換装置。 And further comprising difference information generating means for generating difference information of the plurality of server data generated by the plurality of servers, wherein the difference information generating means uses the difference information in addition to the key exchange partial data. Prompt the client terminal to generate a key;
The password authentication key exchange apparatus according to claim 2.
前記サーバは、第3の乱数及びこの第3の乱数を使用してサーバデータを生成するともに、当該第3の乱数と前記クライアント端末が生成したクライアント二次データとに基づいて前記クライアント端末と共有する共有鍵を生成する鍵交換管理手段を有するものであり、
前記パスワード認証鍵交換装置は、
前記第1の乱数に比べてサイズの大きい第2の乱数を生成する乱数生成手段と、
前記クライアント端末が前記第1の乱数及びパスワードを使用して生成したクライアント一次データと前記乱数生成手段が生成した前記第2の乱数とに基づいて前記クライアント二次データを生成し、前記クライアント二次データを前記サーバに送信する二次データ生成手段と、
前記サーバが生成した前記サーバデータと前記乱数生成手段が生成した前記第2の乱数とに基づいて鍵交換部分データを生成し前記鍵交換部分データを前記クライアント端末に送信することによって、前記鍵交換部分データに基づいて前記サーバと共有する共有鍵を生成することを前記クライアント端末に促す鍵交換部分データ生成手段と、を有する、パスワード認証鍵交換システム。 A system having a server, a client terminal for generating a first random number, and a password authentication key exchange device capable of communicating with each of the servers,
The server generates server data using the third random number and the third random number, and shares the client terminal with the client terminal based on the third random number and the client secondary data generated by the client terminal. A key exchange management means for generating a shared key to be
The password authentication key exchange device is:
Random number generating means for generating a second random number larger in size than the first random number;
The client terminal generates the client secondary data on the basis of the second random number the first random number and client primary data and the random number generator generated using a password-generated, the client secondary Secondary data generation means for transmitting data to the server ;
By sending the said key exchange partial data to generate a key exchange partial data on the basis of the second random number that the server is the server data and the random number generating means generates generated to the client terminal, the key exchange A password authentication key exchange system , comprising: key exchange partial data generation means for prompting the client terminal to generate a shared key shared with the server based on partial data.
前記乱数生成手段は、サーバ毎に異なる第2の乱数を生成する、
請求項4記載のパスワード認証鍵交換システム。 The client terminal is capable of communicating with a plurality of servers,
The random number generation means generates a second random number different for each server;
The password authentication key exchange system according to claim 4.
この差分情報生成手段が、前記鍵交換部分データに加えて前記差分情報を更に用いた前記共有鍵の生成を前記クライアント端末に促す、
請求項5記載のパスワード認証鍵交換システム。 The password authentication key exchange apparatus further includes difference information generation means for generating difference information of a plurality of server data related to a plurality of servers,
The difference information generation means prompts the client terminal to generate the shared key further using the difference information in addition to the key exchange partial data.
The password authentication key exchange system according to claim 5.
前記クライアント端末が、第1の乱数を生成するとともに、この第1の乱数と所定のパスワードとを使用してクライアント一次データを生成する段階と、
前記パスワード認証鍵交換装置が、前記第1の乱数に比べてサイズの大きい第2の乱数を生成するとともに、前記生成されたクライアント一次データと前記第2の乱数とに基づいてクライアント二次データを生成し、前記クライアント二次データを前記サーバに送信する段階と、
前記サーバが、第3の乱数を生成し、この第3の乱数に基づいてサーバデータを生成するとともに、当該第3の乱数と前記クライアント二次データとに基づいて前記クライアント端末と共有する共有鍵を生成する段階と、
前記パスワード認証鍵交換装置が、前記サーバが生成した前記サーバデータと前記第2の乱数とに基づいて鍵交換部分データを生成し前記鍵交換部分データを前記クライアント端末に送信することによって、前記鍵交換部分データに基づいて前記サーバと共有する共有鍵を生成することを前記クライアント端末に促す段階とを有する、
パスワード認証鍵交換方法。 A method executed by a system having a server and a password authentication key exchange device capable of communicating with each of client terminals,
The client terminal generates a first random number and generates client primary data using the first random number and a predetermined password;
The password authentication key exchange device generates a second random number that is larger in size than the first random number, and generates client secondary data based on the generated client primary data and the second random number. Generating and sending the client secondary data to the server ;
The server generates a third random number, generates server data based on the third random number, and shares a shared key with the client terminal based on the third random number and the client secondary data Generating
By the password authentication key exchange unit transmits the key exchange portion data to generate a key exchange section data based on said server data which the server generates the second random number to said client terminal, the key Urging the client terminal to generate a shared key shared with the server based on exchange partial data,
Password authentication key exchange method.
前記コンピュータを、
前記第1の乱数に比べてサイズの大きい第2の乱数を生成する乱数生成手段、
前記クライアント端末が前記第1の乱数及び所定のパスワードを使用して生成したクライアント一次データと前記乱数生成手段が生成した前記第2の乱数とに基づいてクライアント二次データを生成し前記クライアント二次データを前記サーバに送信することによって、前記クライアント二次データに基づいて前記クライアント端末と共有する共有鍵を生成することを前記サーバに促す二次データ生成手段、
前記サーバが生成した前記サーバデータと前記乱数生成手段が生成した前記第2の乱数とに基づいて鍵交換部分データを生成し前記鍵交換部分データを前記クライアント端末に送信することによって、前記鍵交換部分データに基づいて前記サーバと共有する共有鍵を生成することを前記クライアント端末に促す鍵交換部分データ生成手段、として機能させるためのコンピュータプログラム。 A computer program for causing a computer to operate as a password authentication key exchange device that can communicate with each of a client terminal that generates a first random number and a server that generates server data,
The computer,
Random number generating means for generating a second random number having a size larger than that of the first random number;
The client terminal generates client secondary data based on the client primary data generated by using the first random number and a predetermined password and the second random number generated by the random number generation means, and the client secondary data by sending data to the server, secondary data generating means for prompting generating a shared key shared with the previous SL client terminal based on the client secondary data to the server,
By sending the said key exchange partial data to generate a key exchange partial data on the basis of the second random number that the server is the server data and the random number generating means generates generated to the client terminal, the key exchange A computer program for functioning as key exchange partial data generation means for urging the client terminal to generate a shared key shared with the server based on partial data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005283479A JP4757591B2 (en) | 2005-09-29 | 2005-09-29 | Password authentication key exchange apparatus, system, method, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005283479A JP4757591B2 (en) | 2005-09-29 | 2005-09-29 | Password authentication key exchange apparatus, system, method, and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007096751A JP2007096751A (en) | 2007-04-12 |
JP4757591B2 true JP4757591B2 (en) | 2011-08-24 |
Family
ID=37981914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005283479A Active JP4757591B2 (en) | 2005-09-29 | 2005-09-29 | Password authentication key exchange apparatus, system, method, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4757591B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2161872A1 (en) * | 2007-05-31 | 2010-03-10 | Panasonic Corporation | Network relay device, communication terminal, and encryption communication method |
JP4924943B2 (en) * | 2007-09-04 | 2012-04-25 | Kddi株式会社 | Authenticated key exchange system, authenticated key exchange method and program |
KR101599996B1 (en) * | 2014-12-08 | 2016-03-07 | 고려대학교 산학협력단 | Server and system for revocable identity based encryption |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002108210A (en) * | 2000-09-28 | 2002-04-10 | Hitachi Software Eng Co Ltd | Request calculation method |
JP2002158650A (en) * | 2000-11-21 | 2002-05-31 | Fujitsu Ltd | Proxy server for certification/ciphering processing, access card program recording medium and portable terminal |
JP2003179592A (en) * | 2001-12-12 | 2003-06-27 | Sony Corp | Network system, device and method for processing information, recording medium and program |
JP2005086330A (en) * | 2003-09-05 | 2005-03-31 | Canon Inc | Data sharing method, program and apparatus |
JP2006041726A (en) * | 2004-07-23 | 2006-02-09 | Matsushita Electric Ind Co Ltd | Shared key replacing system, shared key replacing method and method program |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11252067A (en) * | 1998-03-03 | 1999-09-17 | Nippon Telegr & Teleph Corp <Ntt> | Security operation control method and its recording medium |
-
2005
- 2005-09-29 JP JP2005283479A patent/JP4757591B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002108210A (en) * | 2000-09-28 | 2002-04-10 | Hitachi Software Eng Co Ltd | Request calculation method |
JP2002158650A (en) * | 2000-11-21 | 2002-05-31 | Fujitsu Ltd | Proxy server for certification/ciphering processing, access card program recording medium and portable terminal |
JP2003179592A (en) * | 2001-12-12 | 2003-06-27 | Sony Corp | Network system, device and method for processing information, recording medium and program |
JP2005086330A (en) * | 2003-09-05 | 2005-03-31 | Canon Inc | Data sharing method, program and apparatus |
JP2006041726A (en) * | 2004-07-23 | 2006-02-09 | Matsushita Electric Ind Co Ltd | Shared key replacing system, shared key replacing method and method program |
Also Published As
Publication number | Publication date |
---|---|
JP2007096751A (en) | 2007-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712261B (en) | Key generation method, device and medium based on block chain | |
CN107113319B (en) | Method, device and system for responding in virtual network computing authentication and proxy server | |
US9021552B2 (en) | User authentication for intermediate representational state transfer (REST) client via certificate authority | |
CN101043478B (en) | Service gateway and method for realizing message safe process | |
EP1858193B1 (en) | Context-aware based cryptography | |
KR101982237B1 (en) | Method and system for data sharing using attribute-based encryption in cloud computing | |
CN101904136B (en) | Security modes for a distributed routing table | |
JP2023500259A (en) | Communication protocol using blockchain transactions | |
NO20170492A1 (en) | Method, system and device for synchronization between server and mobile device | |
WO2018177905A1 (en) | Hybrid key exchange | |
Karati et al. | Provably secure and lightweight identity-based authenticated data sharing protocol for cyber-physical cloud environment | |
CN113411187B (en) | Identity authentication method and system, storage medium and processor | |
US11621949B2 (en) | Conducting secure interactions utilizing reliability information | |
CN114090510B (en) | Block chain-based digital medical information storage and sharing architecture construction method | |
JP2006018399A (en) | Information processor, information processing method and program | |
JP2005268903A (en) | Cryptographic key sharing device, cryptographic key sharing method, program, and communication equipment | |
CN111654481B (en) | Identity authentication method, identity authentication device and storage medium | |
CN116204914A (en) | Trusted privacy computing method, device, equipment and storage medium | |
US11695751B2 (en) | Peer-to-peer notification system | |
JP4757591B2 (en) | Password authentication key exchange apparatus, system, method, and computer program | |
JP4874007B2 (en) | Authentication system, server computer, program, and recording medium | |
CN110784318B (en) | Group key updating method, device, electronic equipment, storage medium and communication system | |
Kambou et al. | A strong authentication method for web/mobile services | |
US20150242501A1 (en) | Social network address book | |
Ramya et al. | LAPE2D: lightweight authentication protocol to secure end and edge devices in Iot framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080318 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100325 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110502 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110524 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110601 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4757591 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140610 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |