JP4757591B2 - Password authentication key exchange apparatus, system, method, and computer program - Google Patents

Password authentication key exchange apparatus, system, method, and computer program Download PDF

Info

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
Application number
JP2005283479A
Other languages
Japanese (ja)
Other versions
JP2007096751A (en
Inventor
徹 飯野
真一郎 松尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Corp
Original Assignee
NTT Data Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2005283479A priority Critical patent/JP4757591B2/en
Publication of JP2007096751A publication Critical patent/JP2007096751A/en
Application granted granted Critical
Publication of JP4757591B2 publication Critical patent/JP4757591B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 Patent Documents 1 to 3).
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.

特表2003−536320号公報Special table 2003-536320 gazette 特開2001−313634号公報JP 2001-313634 A 特開2002−335238号公報JP 2002-335238 A

しかしながら、上述した従来のセキュリティ手法は、パスワード認証鍵交換プロトコルで利用する「べき乗剰余演算」に長時間を要する。そのため、例えば携帯端末のような演算能力の低いクライアント端末がローカルな店舗端末を介してサーバと通信を行うようなサービスでは、べき剰余演算に伴う待ち時間が長くなり、利用に適さないという問題がある。
また、クライアント端末が、同じタイミングで複数のサーバとの間で鍵を共有したいときには、サーバ毎に異なる乱数をクライアント端末側で生成する必要があるため、その処理に時間がかかり、クライアント端末に負荷が集中するといった問題もある。
本発明は、かかる問題を解消し、クライアント端末がサーバと鍵交換を行う際のクライアント端末での乱数生成処理の負荷及び演算処理の負荷を軽減し、サーバとの鍵交換を効率良く行い、ひいては複数のサーバを利用したサービス連携をも実現する手法を提供することを主たる課題とする。
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 key exchange device 1. The password authentication key exchange device 1 is installed in a store or the like, and can communicate with a client terminal 2 such as a mobile phone or a PDA operated by a user at any time via a wireless communication path, and further includes a plurality of servers 3a. , 3b (hereinafter referred to as “3” when collectively referring to servers) are configured to be able to communicate through the network 4 such as the Internet at any time.

クライアント端末2は、第1の乱数を生成し、この第1の乱数をべき乗剰余演算した値をクライアント一次データとして店舗等に配設されたパスワード認証鍵交換装置1に送信する。パスワード認証鍵交換装置1は、第2の乱数を生成し、この第2の乱数を用いてべき乗剰余演算した値とクライアント一次データとによりクライアント二次データを生成する。そして、生成したクライアント二次データをサーバ3に送信する。サーバ3は、受信したクライアント二次データの値に対して自身で生成した第3の乱数を用いて再度べき乗剰余演算を行うことで、クライアント端末2とサーバ3の双方のみが知りえる鍵を共有する。この鍵を共有鍵と称する。   The client terminal 2 generates a first random number, and transmits a value obtained by performing a power-residue calculation of the first random number as client primary data to the password authentication key exchange apparatus 1 disposed in a store or the like. The password authentication key exchange apparatus 1 generates a second random number, and generates client secondary data from the value obtained by performing a power-residue calculation using the second random number and the client primary data. Then, the generated client secondary data is transmitted to the server 3. The server 3 shares a key that only the client terminal 2 and the server 3 can know by performing a power-residue operation again on the value of the received client secondary data using the third random number generated by itself. To do. This key is called a shared key.

クライアント端末2が複数のサーバ3a,3b…と鍵交換を行うような場合、クライアント端末2が生成する第1の乱数のサイズを小さくし、その代わりに、店舗等に配設されるパスワード認証鍵交換装置1が、クライアント端末2で生成された第1の乱数よりも大きなサイズの第2の乱数を生成するようにしても良い。   When the client terminal 2 performs key exchange with a plurality of servers 3a, 3b,..., The size of the first random number generated by the client terminal 2 is reduced, and instead, a password authentication key disposed in a store or the like. The exchange device 1 may generate a second random number having a size larger than the first random number generated by the client terminal 2.

複数のサーバ3a,3b…との間でクライアント端末2が同じタイミングで鍵共有を行うような場合、店舗等に配設されたパスワード認証鍵交換装置1は、サーバ3a,3b…毎に異なる第2の乱数を生成することで、クライアント端末2で異なるサーバ3a,3b…毎の第1の乱数の生成を省略しても、サーバ3a,3b…に対して異なる乱数を利用しているように振舞えるようにすることもできる。   When the client terminal 2 shares a key with a plurality of servers 3a, 3b,... At the same timing, the password authentication key exchange device 1 disposed in the store or the like is different for each server 3a, 3b,. By generating the random number of 2, even if the generation of the first random number for each of the different servers 3a, 3b,... Is omitted in the client terminal 2, the different random numbers are used for the servers 3a, 3b,. You can also behave.

さらに、例えば複数のサーバ3a,3b…に対して同じパスワードを設定しているような場合、店舗等に配設されるパスワード認証鍵交換装置1が、各サーバ3a,3b…から送られたサーバデータの差分情報を計算し、この差分情報をクライアント端末2に通知することで、クライアント端末2の演算負荷を更に低減するようにしても良い。
すなわち、パスワード認証鍵交換システムでは、クライアント端末2とパスワード認証鍵交換装置1とが協調して演算を行なうようにして、クライアント端末2での乱数生成に係る負荷及び乱数を利用したべき乗剰余演算の負荷を軽減している。
Further, for example, when the same password is set for a plurality of servers 3a, 3b,..., The password authentication key exchange device 1 disposed in the store or the like is sent from each server 3a, 3b. The calculation load of the client terminal 2 may be further reduced by calculating the difference information of the data and notifying the client terminal 2 of the difference information.
In other words, in the password authentication key exchange system, the client terminal 2 and the password authentication key exchange apparatus 1 perform the calculation in a coordinated manner, so that the load relating to the random number generation at the client terminal 2 and the power residue calculation using the random number are performed. The load is reduced.

なお、この実施形態では、クライアント端末2と店舗等に配設されたパスワード認証鍵交換装置1とは、例えば非接触ICや赤外線等を用いた近接通信等が可能な環境下にあることを想定しているので、前述したようにクライアント端末2で利用する第1の乱数のサイズが小さくても、両者間の通信路でのデータ盗聴の問題は起こらない。   In this embodiment, it is assumed that the client terminal 2 and the password authentication key exchange apparatus 1 installed in a store or the like are in an environment in which, for example, proximity communication using a non-contact IC, infrared rays, or the like is possible. Therefore, as described above, even if the size of the first random number used in the client terminal 2 is small, the problem of wiretapping on the communication path between the two does not occur.

パスワード認証鍵交換システムの具体的なサービスイメージとしては、例えば、一のサーバ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 other server 3b, In some cases, a secure communication path is established when content is downloaded, and a secure communication path is established with another server 3b for content key acquisition, billing, and the like.

上記のような機能を実現するためのパスワード認証鍵交換装置1の構成例は、図2に示される通りである。すなわち、パスワード認証鍵交換装置1は、コンピュータの一種である制御部11、クライアント端末2との無線通信やサーバ3とのネットワーク通信を実現するための通信部12、液晶ディスプレイ装置等からなる表示部13、マウスやキーボード等からなる操作入力部14、RAM、ROM、ハードディスク等のメモリデバイスからなる記憶部15を有する。   A configuration example of the password authentication key exchange apparatus 1 for realizing the above-described function is as shown in FIG. That is, the password authentication key exchange apparatus 1 includes a control unit 11 which is a kind of computer, a communication unit 12 for realizing wireless communication with the client terminal 2 and network communication with the server 3, a display unit including a liquid crystal display device and the like. 13. An operation input unit 14 including a mouse and a keyboard, and a storage unit 15 including a memory device such as a RAM, a ROM, and a hard disk.

制御部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 control unit 11 forms a random number generation function 11a, a secondary data generation function 11b, a key exchange partial data generation function 11c, and a difference information generation function 11d in the control unit 11 based on a control program 100 as an example of a computer program. To do.
The random number generation function 11a is a function for generating a second random number for each of the servers 3a, 3b... Based on the service information presented from the client terminal 2. The secondary data generation function 11 b is a function that generates client secondary data based on the client primary data created by the client terminal 2 and the second random number generated by the random number generation function 11 a and transmits it to the server 3. The key exchange partial data generation function 11c generates key exchange partial data based on the server data created by the servers 3a, 3b... And the second random number previously generated by the random number generation function 11a. 2 is a function to transmit to 2. The difference information generation function 11d generates the difference information from the plurality of server data and exchanges the key with the plurality of servers 3a, 3b... And the same password for the plurality of servers 3a, 3b. It is a function to transmit. Details of each function will be described later.

記憶部15には、各サーバ3についての生成乱数と、ステータス(サーバデータ待ち、鍵共有済み等を表すデータ)が対応付けられて記憶される。記憶部15には、このほか、パスワード認証鍵交換で利用する各種のパラメータも一時的に記憶されることになる。
なお、制御部11は、各機能11a〜11dが形成されて実行される場合、それぞれ乱数生成手段、二次データ生成手段、鍵交換部分データ生成手段、差分情報生成手段として機能することになる。但し、各手段の実現形態は、機能11a〜11dに限定されるものではなく、適宜、ファームウエア、ハードウエアに置き換えることもできる。
The storage unit 15 stores the generated random number for each server 3 and the status (data indicating server data waiting, key sharing, etc.) in association with each other. In addition to the above, the storage unit 15 temporarily stores various parameters used for password authentication key exchange.
When the functions 11a to 11d are formed and executed, the control unit 11 functions as a random number generation unit, a secondary data generation unit, a key exchange partial data generation unit, and a difference information generation unit, respectively. However, the implementation form of each means is not limited to the functions 11a to 11d, and can be appropriately replaced with firmware and hardware.

クライアント端末2は、例えば図3のように構成される。すなわち、クライアント端末2は、制御部21、通信部22、表示部23、操作入力部24、記憶部25を有する。制御部21はコンピュータの一種であり、所定のクライアント用制御プログラム200を読み込んで実行することにより、制御部21内に、サービス情報管理機能21a、鍵交換管理機能21bを形成する。
サービス情報管理機能21aは、クライアント端末2に登録したサービス情報を保持し、店舗側のパスワード認証鍵交換装置1にサービス情報(例えばサーバのURL等)を通知する機能である。鍵交換管理機能21bは、クライアント端末2で入力したパスワードと生成した第2の乱数とに基づいてサーバ3とパスワード認証鍵交換を行い、共有鍵を取得する機能である。各機能の詳細については、後述する。
The client terminal 2 is configured as shown in FIG. 3, for example. That is, the client terminal 2 includes a control unit 21, a communication unit 22, a display unit 23, an operation input unit 24, and a storage unit 25. The control unit 21 is a type of computer, and by reading and executing a predetermined client control program 200, a service information management function 21a and a key exchange management function 21b are formed in the control unit 21.
The service information management function 21a is a function for holding service information registered in the client terminal 2 and notifying the store side password authentication key exchange device 1 of service information (for example, URL of the server). The key exchange management function 21b is a function for performing a password authentication key exchange with the server 3 based on the password input at the client terminal 2 and the generated second random number, and acquiring a shared key. Details of each function will be described later.

記憶部25には、サービス情報として、各サービス毎に対応するサーバ情報(例えばサーバURL、ポート番号等)、ユーザID等が対応付けられて記憶されており、更にパスワードが用いられるサービスを識別するための情報も記憶されている。また、パスワード認証鍵交換で利用する各種のパラメータも一時的に記憶されることになる。
なお、制御部21は、機能21a,21bに基づいて作用する場合、それぞれサービス情報管理手段、鍵交換管理手段として機能する。但し、各手段の実現形態は、機能21a,21bに限定されるものではなく、適宜、ファームウエア、ハードウエアに置き換えることもできる。
In the storage unit 25, server information corresponding to each service (for example, server URL, port number, etc.), a user ID, and the like are stored in association with each other as service information, and a service using a password is further identified. Is also stored. Also, various parameters used for password authentication key exchange are temporarily stored.
In addition, the control part 21 functions as a service information management means and a key exchange management means, respectively, when acting based on the functions 21a and 21b. However, the implementation form of each means is not limited to the functions 21a and 21b, and can be appropriately replaced with firmware and hardware.

サーバ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 server 3 is configured as shown in FIG. That is, the server 3 includes a control unit 31, a communication unit 32, and a storage unit 33. The control unit 31 is a kind of computer, and executes a user management function 31a and a key exchange management function 31b in the control unit 31 by reading and executing a predetermined server control program 300. The user management function 31a is a function for holding a password for each user. The key exchange management function 31b generates a third random number, and server data based on the generated third random number and the client secondary data generated by the secondary data generation function 11b of the password authentication key exchange device 1. This is a function for obtaining a shared key by exchanging password authentication keys. Details of each function will be described later.
The storage unit 33 stores a user ID, a password, an expiration date, and a key shared flag in association with each other. Various parameters used for password authentication key exchange are also temporarily stored.
In addition, the control part 31 functions as a user management means and a key exchange management means, respectively, when acting based on the functions 31a and 31b. However, the implementation form of each means is not limited to the functions 31a and 31b, and can be appropriately replaced with firmware and hardware.

[動作手順]
以下、この実施形態のパスワード認証鍵交換システムの動作例を図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 control program 200 of the client terminal 2 and other programs are activated, when the user inputs the user ID and password by operating the operation input unit 24 (step S1), the control unit 22 of the client terminal 2 exchanges keys. Based on the management function 21b, a random number Sa1 (first random number) smaller in size than a later-described random number generated on the password authentication key exchange apparatus 1 side is generated (step S2). Based on the service information management function 21a, the control unit 22 notifies the store-side password authentication key exchange apparatus 1 of the server information and the user ID of the server 3 desired to be used (step S3). At this stage, in the storage unit 25 of the client terminal 2, as “service information”, server information for each service (for example, server URL, port number, etc.), user ID, information related to a service with the same password, and password Parameters used for authentication key exchange are stored. The control unit 22 refers to the “service information” stored in the storage unit 25 and reads and notifies the server information and the user ID corresponding to the server 3 desired to be used.

店舗側のパスワード認証鍵交換装置1は、このサーバ情報とユーザIDを通信部12を介して受信すると(ステップS4)、その制御部11が、サービスを選択する(ステップS5)。サービスが複数ある場合は、パスワード認証鍵交換装置1側でサービスを指定しても良く、あるいは予めクライアント端末2がサービスを指定している場合はステップS4の処理を省略しても良い。   When the store side password authentication key exchange apparatus 1 receives the server information and the user ID via the communication unit 12 (step S4), the control unit 11 selects a service (step S5). When there are a plurality of services, the service may be designated on the password authentication key exchange apparatus 1 side, or when the client terminal 2 designates the service in advance, the process of step S4 may be omitted.

制御部11は、また、乱数生成機能11aに基づいて先にステップS5で選択したサービスで利用するサーバ3毎に乱数Sa2-1,Sa2-2,・・・Sa2-n(第2の乱数)を生成する(ステップS6)。制御部11は、さらに、接続先のサーバ3に対してクライアント端末2から送られたユーザIDを通知するとともに、クライアント端末2にパスワード認証鍵交換で必要なクライアント端末2側のクライアント一次データの作成を依頼(鍵交換要求)する(ステップS7)。なお、複数のサーバ3を利用する際には、ユーザIDをそれぞれ通知することとする。   The control unit 11 also generates a random number Sa2-1, Sa2-2,... Sa2-n (second random number) for each server 3 used in the service previously selected in step S5 based on the random number generation function 11a. Is generated (step S6). The control unit 11 further notifies the connection destination server 3 of the user ID sent from the client terminal 2 and creates the client primary data on the client terminal 2 side necessary for password authentication key exchange to the client terminal 2 Is requested (key exchange request) (step S7). When using a plurality of servers 3, user IDs are notified respectively.

鍵交換要求を受けとったクライアント端末2は、制御部21が、鍵交換管理機能21bにより、先にステップS1において入力されたパスワードのハッシュ値とステップS2で生成した乱数Sa1とに基づいてべき乗剰余演算を行い、クライアント一次データを生成する(ステップS8)。例えば、ステップS1で入力されたパスワードをπ、そのハッシュ値をH(π)、離散対数のドメインパラメータをk,qとすると、クライアント一次データWa1は、以下のようなべき乗剰余演算により求めることができる。
g1=H(π)^k modq
Wa1=(g1^Sa1 modq)
In the client terminal 2 that has received the key exchange request, the control unit 21 uses the key exchange management function 21b to calculate the exponentiation remainder based on the hash value of the password previously input in step S1 and the random number Sa1 generated in step S2. To generate client primary data (step S8). For example, if the password input in step S1 is π, its hash value is H (π), and discrete logarithm domain parameters are k and q, the client primary data Wa1 can be obtained by a power-residue calculation as follows. it can.
g1 = H (π) ^ k modq
Wa1 = (g1 ^ Sa1 modq)

クライアント端末2では、制御部21が、鍵交換管理機能21bにより、パスワード認証鍵交換で利用する公開パラメータとステップS8で生成したクライアント一次データWa1とを、通信部22を介して、店舗側のパスワード認証鍵交換装置1へ送信する(ステップS9)。   In the client terminal 2, the control unit 21 uses the key exchange management function 21 b to transmit the public parameters used for password authentication key exchange and the client primary data Wa 1 generated in step S 8 via the communication unit 22 to the store-side password. It transmits to the authentication key exchange apparatus 1 (step S9).

パスワード認証鍵交換装置1は、通信部12を介して公開パラメータとクライアント一次データを受信すると(ステップS10)、制御部11が、このクライアント一次データWa1が所定範囲にあるか否か(例えば、べき乗剰余の剰余値以内か等)を確認する(ステップS11)。このステップS11において、制御部11は、クライアント一次データWa1が所定範囲にないと判断した場合は、クライアント端末2から店舗側のパスワード認証鍵交換装置1に通知されたサーバ情報や先に生成した乱数Sa2-1,Sa2-2,…Sa2-nをクリアし、クライアント端末2にエラー通知を行う(ステップS12)。   When the password authentication key exchange apparatus 1 receives the public parameter and the client primary data via the communication unit 12 (step S10), the control unit 11 determines whether or not the client primary data Wa1 is within a predetermined range (for example, a power) Whether the remainder is within the remainder value, etc.) (step S11). In step S11, when the control unit 11 determines that the client primary data Wa1 is not within the predetermined range, the server information notified from the client terminal 2 to the password authentication key exchange device 1 on the store side or the previously generated random number Sa2-1, Sa2-2,... Sa2-n are cleared and an error notification is sent to the client terminal 2 (step S12).

サーバ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 server 3 receives the notification (key exchange request) including the user ID sent from the client terminal 2 via the communication unit 32, the control unit 31 registers the user ID based on the user management function 31a. It is confirmed whether or not (step S13). If the control unit 31 determines in step S13 that the user ID is not registered, the server information notified from the client terminal 2 to the password authentication key exchange device 1 on the store side, or the random number Sa2 generated by the device 1 -1, Sa2-2,... Sa2-n are erased, and an instruction is given to the client terminal 2 for error notification (step S14). If the control unit 31 determines that the user ID is registered, it generates a random number Sb (third random number) (step S15).

パスワード認証鍵交換装置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 key exchange apparatus 1, based on the secondary data generation function 11b, the controller 11 uses the public parameters and client primary data Wa1 received in step S10 and the random numbers Sa2-1 and Sa2-generated in step S6. 2,..., Sa2-n is performed based on the power-residue calculation to generate client secondary data, and this client secondary data is transmitted to each server 3 (step S16). For example, assuming that the random number for the server 3a is Sa2-1, the client secondary data Wa to be transmitted to the server 3a can be obtained by the following modular exponentiation.
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 server 3b is Sa2-2, the client secondary data Wa ′ to be transmitted to the server 3b can be obtained by the following modular exponentiation.
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 server 3 receives the client secondary data Wa via the communication unit 32 (step S17), the control unit 31 puts the client secondary data Wa within a predetermined range (for example, within a power residue remainder value, etc.). It is confirmed whether or not there is (step S18). If it is determined that the client secondary data Wa is not within the predetermined range, the process proceeds to step S14, and the above-described instruction relating to the error notification is performed. On the other hand, when the control unit 31 determines that the client secondary data Wa is within the predetermined range, the key exchange management function 31b uses the password or password from the storage unit 35 based on the user ID previously confirmed in step S13. The server acquires password related data, creates server data using the random number Sb generated in step S15, and notifies the password authentication key exchange apparatus 1 (step S19).

例えば、サーバ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 server 3b by the same arithmetic expression is represented by the following expression including the random number Sb ′.
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 server 3 shares sharing between the client terminal 2 and the server 3 based on the client secondary data Wa received by the control unit 31 in step S17 and the random number Sb generated in step S15. Key exchange shared data Z that is a source for generating a key is generated (step S20). For example, the server 3a obtains the key exchange shared data Z1 from the client secondary data Wa and the generated random number Sb by the following power residue calculation.
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 server 3b, the key exchange shared data Z2 is obtained from the client secondary data Wa ′ and the generated random number Sb ′ by the following power-residue calculation.
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 key exchange device 1 receives the server data Wb from the server 3 via the communication unit 12 (step S21), the control unit 11 applies the server data to the server data based on the key exchange partial data generation function 11c. Using the public parameters received in step S10 and the random numbers Sa2-1, Sa2-2,... Generated in step S6, key exchange partial data of the key exchange shared data is generated and notified to the client terminal 2 ( Step S22).
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 server 3b is obtained from the server data Wb ′, the random number Ss2-2, and the domain parameter q of the discrete logarithm by the following power residue calculation. .
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 control unit 11 determines whether or not the plurality of servers have the same password setting (step S24). If the same password is not set, key exchange partial data is generated as described above and transmitted to the client terminal 2 (step S25). On the other hand, when a plurality of servers have the same password setting, the control unit 11 generates key exchange partial data by the key exchange partial data generation function 11c and calculates difference information by the difference information generation function 11d. These are transmitted to the client terminal 2 (step S26).
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 client terminal 2 receives the key exchange partial data from the password authentication key exchange device 1 via the communication unit 22 (step S27), the control unit 21 verifies the key exchange partial data (step S28). Here, it is confirmed whether or not the received key exchange partial data is within a predetermined range (for example, whether it is within a remainder value of a power residue). In the case of an error, the password authentication key exchange device 1 or server 3 on the store side is checked. Then, this is notified, and the information set and generated in each node is deleted (step S29). On the other hand, when the received key exchange partial data is within the predetermined range, the control unit 21 determines whether or not difference information has been sent (step S30). If not sent, the key exchange shared data Z1 is generated using the random number Sa1 generated in step S2 (step S31). In this case, the key exchange shared data Z1 can be obtained by the following power-residue calculation.
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 client terminal 2, the control unit 21 generates key exchange shared data Z2 based on the random number Sa1 generated in step S2 and the difference information ( Step S32). 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. In step S32, using this difference information, the key exchange shared data Z2 is obtained by the following power-residue calculation.
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 client terminal 2 is the size of the second random number generated by the store-side device 1. By making it smaller than the above, it becomes possible to reduce the processing load of the modular exponentiation operation related to the first random number in the client terminal 2. Also, security can be ensured by not disclosing the discrete logarithm domain parameter k value in the store side password authentication key exchange apparatus 1. Even if the client terminal 2 wishes to exchange keys simultaneously with a plurality of servers 3, it is only necessary to generate one first random number, so that the processing burden can be reduced in this respect as well. Furthermore, when the same password is used for a plurality of servers 3, the processing load on the client terminal 2 can be further reduced by using the difference information. In this way, the client terminal 2 and the password authentication key exchange device 1 perform calculations in cooperation, thereby reducing the load related to random number generation at the client terminal 2 and the load such as exponentiation remainder processing using random numbers. Is possible.

また、演算能力の低い安価なクライアント端末2と複数のサーバ3a,3b…との間で安全な通信路を確立できるため、サーバ3a,3b…間での安全な通信路が確保できない環境においても、複数のサーバ3a,3b…を利用したサービス連携が可能となる。   In addition, since a safe communication path can be established between the inexpensive client terminal 2 having a low computing capacity and the plurality of servers 3a, 3b,..., Even in an environment where a safe communication path between the servers 3a, 3b,. Service cooperation using a plurality of servers 3a, 3b.

<第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 key exchange device 1 that is a component of the system according to the first embodiment. The conceptual diagram is substantially the same as FIG. 1, the configuration of the client terminal 2 is the same as that of FIG. 3, and the configuration of the server 3 is the same as that of FIG.
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 control unit 51 as a kind of computer, a communication unit 52 for realizing wireless communication with the client terminal 2 and network communication with the server 3, a display unit 53 including a liquid crystal display device, a mouse, and the like. And an operation input unit 54 including a keyboard and a storage unit 55 including a memory device such as a RAM and a ROM.

制御部51は、コンピュータプログラムの一例となる制御プログラム500に基づき、依頼演算管理機能51a、クライアント・サーバ接続管理機能51b、共有鍵確認機能51c、クライアント・サーバ通信機能51dを少なくとも形成する。
依頼演算管理機能51aは、前述した第1実施形態(図2)の乱数生成機能11a、二次データ生成機能11b、鍵交換部分データ生成機能11c、差分情報生成機能11dの機能のほか、更に、演算機能選択・追加、クライアント・サーバ毎に応じた乱数生成サイズ決定(クライアント演算能力、サーバとの間の通信セキュリティレベル等に基づく)に係る機能を含む。
The control unit 51 forms at least a request calculation management function 51a, a client / server connection management function 51b, a shared key confirmation function 51c, and a client / server communication function 51d based on a control program 500 as an example of a computer program.
The request calculation management function 51a includes the random number generation function 11a, the secondary data generation function 11b, the key exchange partial data generation function 11c, and the difference information generation function 11d of the first embodiment (FIG. 2) described above. This includes functions related to calculation function selection / addition and determination of random number generation size according to each client / server (based on client calculation capability, communication security level with server, etc.).

クライアント・サーバ接続管理機能51bは、セッション管理、すなわちクライアント端末2が店舗側のパスワード認証鍵交換装置1から一時的に離れ再度接続、複数サーバ同時アクセス時のセッション割り当て等の管理、複数のサーバ3へのアクセス時に当該サーバ3からの応答がくるまで他のサーバ3からの応答結果を保持する機能、サイト毎に生成する生成乱数のMACを生成し、利用時に検証する機能、サーバ接続エラー時に代理のサーバにアクセスする機能である。共有鍵データ確認機能51cは、パスワード入力誤り時などのリトライ・切断機能を含む。クライアント・サーバ通信管理機能51dは、クライアント・サーバの接続時間管理(課金も含む)やクライアント・サーバ接続管理で生成したセッションIDの消去(クライアント・サーバ接続が完了した場合や異常発生時等)に係る機能である。各機能の詳細は後述する。   The client / server connection management function 51b is used for session management, that is, management such as session allocation when the client terminal 2 is temporarily disconnected from the store side password authentication key exchange device 1 and accessed simultaneously at a plurality of servers, and the plurality of servers 3 A function to hold response results from other servers 3 until a response is received from the server 3 when accessing the server, a function to generate a generated random number MAC for each site, a function to verify when using it, and a proxy in the event of a server connection error It is a function to access the server. The shared key data confirmation function 51c includes a retry / disconnection function such as when a password is entered incorrectly. The client / server communication management function 51d is used for managing the connection time of the client / server (including accounting) and deleting the session ID generated by the client / server connection management (when the client / server connection is completed or when an abnormality occurs). This function. Details of each function will be described later.

なお、制御部51は、機能51a乃至51dに基づいて作用する場合、それぞれ依頼演算管理手段、クライアント・サーバ接続管理手段、共有鍵確認手段、クライアント・サーバ通信管理手段として機能する。但し、但し、各手段の実現形態は、機能51a〜51dに限定されるものではなく、適宜、ファームウエア、ハードウエアに置き換えることもできる。   In the case of acting based on the functions 51a to 51d, the control unit 51 functions as a request calculation management unit, a client / server connection management unit, a shared key confirmation unit, and a client / server communication management unit, respectively. However, the implementation form of each means is not limited to the functions 51a to 51d, and can be appropriately replaced with firmware or hardware.

[動作手順]
次に、第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 calculation management function 51a by the control unit 51 will be described with reference to the procedure explanatory diagram of FIG.
When receiving a request calculation request and calculation data from the client terminal 2 (step S51), the control unit 51 determines whether or not a function corresponding to the request calculation is formed, that is, whether or not the function is provided. (Step S52). If it does not have a function, it is determined whether or not the function can be downloaded (step S53). If it can be downloaded, the calculation function is downloaded, and the process proceeds to step S56 (step S54). If the download is impossible, an error notification is sent to the client terminal 2 (step S55).
Note that the downloading of the function corresponding to the request calculation is based on the download of the corresponding application. When the server 3 plays a role as an ASP, a request is sent to the server 3 to check whether or not the corresponding application exists and whether or not the download is possible. Become. However, it is needless to say that the method is not limited to this method.

制御部51は、その後、依頼演算に対応する演算モジュールを選択し(ステップS56)、依頼先のサーバ3と店舗側のパスワード認証鍵交換装置5(自身)との間のセキュリティレベルが登録されているか否かを判断する(ステップS57)。「セキュリティレベル」とは、例えばセキュリティに対する安全レベルのようにセキュリティの度合いを定量化したものをいう。このセキュリティレベルが登録済みでない場合は、サーバ3までの経路情報を取得し、セキュリティレベルのレベル値を算出し、ステップS59に移行する(ステップS58)。セキュリティレベルが登録済みである場合は、ステップS59に移行する。   Thereafter, the control unit 51 selects a computation module corresponding to the requested computation (step S56), and the security level between the requested server 3 and the store side password authentication key exchange device 5 (self) is registered. It is determined whether or not there is (step S57). “Security level” refers to a value obtained by quantifying the degree of security such as a safety level for security. If this security level is not registered, route information to the server 3 is acquired, a level value of the security level is calculated, and the process proceeds to step S59 (step S58). If the security level has already been registered, the process proceeds to step S59.

制御部51は、セキュリティレベルのレベル値に対応した乱数サイズを取得し(ステップS59)、クライアント端末2で演算可能な乱数サイズが通知されているか否かを判断する(ステップS60)。通知済みでない場合には、サーバ3のセキュリティレベルに対応した乱数サイズを店舗側のパスワード認証鍵交換装置5(自身)で生成する乱数とする(ステップS61)。一方、通知済みの場合は、サーバ3とクライアント端末2の乱数サイズの差分を店舗側のパスワード認証鍵交換装置5(自身)の乱数サイズとする(ステップS62)。このようにして乱数を生成し、ステップS51にて受信した演算データに関して演算を行い(ステップS63)、クライアント・サーバ接続管理機能51bの実行へと移行する(ステップS64)。   The control unit 51 acquires a random number size corresponding to the level value of the security level (step S59), and determines whether or not a random number size that can be calculated by the client terminal 2 is notified (step S60). If not notified, a random number size corresponding to the security level of the server 3 is set as a random number generated by the store side password authentication key exchange device 5 (self) (step S61). On the other hand, if notified, the difference between the random size sizes of the server 3 and the client terminal 2 is set as the random size of the password authentication key exchange device 5 (self) on the store side (step S62). In this way, a random number is generated, calculation is performed on the calculation data received in step S51 (step S63), and the process proceeds to execution of the client / server connection management function 51b (step S64).

クライアント・サーバ接続管理機能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 connection management function 51b is as shown in FIG. The flow of the client / server connection management process is divided into two types depending on whether or not there is a connection request from the client terminal 2 to the plurality of servers 3. That is, the control unit 51 determines whether or not there is a connection request from the client terminal 2 to the plurality of servers 3 (step S71). If there is no request, the control unit 51 performs the client / server connection management process after step S73. On the other hand, if there is such a request, the process proceeds to a second process of client / server connection management described later (step S72).

クライアント・サーバ接続管理の第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 storage unit 55 together with the generated random number (step S73), and the calculation result is notified to the server 3 (step S74). Thereafter, the control unit 51 generates a session ID for the client terminal 2 and notifies the client terminal 2 of the session ID (step S75), and monitors whether there is no response from the server 3 beyond the waiting time (step S76). In step S76, when there is no response from the server 3 beyond the waiting time, it is confirmed whether or not an alternative server is specified at the time of error (step S77). If there is an alternative server designation, reconnection is made to the designated alternative server (step S78). On the other hand, when the alternative server is not specified, the control unit 51 clears the random number and the session ID and notifies the client terminal 2 of an error (step S79).

ステップS76の監視中、サーバ3からのデータを受信すると(ステップS80)、制御部51は、受信したデータ内のセッションIDが記憶部55に保持しているセッションIDと同一であるか否かを判断する(ステップS81)。両者が同一でない場合には、乱数、セッションIDをクリアし、クライアント端末2にエラー通知する(ステップS79)。これに対して、両者が同一である場合には、セッションIDに対応する乱数とサーバ3からの受信データを用いた演算を行い(ステップS82)、その演算結果をクライアント端末2に通知する(ステップS83)。   When the data from the server 3 is received during the monitoring of step S76 (step S80), the control unit 51 determines whether or not the session ID in the received data is the same as the session ID held in the storage unit 55. Judgment is made (step S81). If they are not the same, the random number and the session ID are cleared, and an error notification is sent to the client terminal 2 (step S79). On the other hand, when both are the same, the calculation using the random number corresponding to the session ID and the data received from the server 3 is performed (step S82), and the calculation result is notified to the client terminal 2 (step S82). S83).

その後、制御部51は、クライアント端末2とパスワード認証鍵交換装置5(自身)が通信可能な状態にあるかを判断する(ステップS84)。通信可能な状態でない場合にはセッションIDを店舗側の装置5(自身)の表示部53に表示し、クライアント端末2を待ち状態にするよう促す(ステップS85)。そして、この待ち時間を越えてクライアント端末2と通信できないかを監視し(ステップS86)、通信できない場合には、乱数、セッションIDをクリアし、クライアント端末2にエラー通知する(ステップS79)。一方、ステップS84にて両者が通信可能な状態にある場合、及びこのステップS86にて通信できるようになった場合には、クライアント端末2と通信を行い(ステップS87)、共有鍵データ確認処理へと移行する(ステップS88)。   Thereafter, the control unit 51 determines whether the client terminal 2 and the password authentication key exchange device 5 (self) are in a communicable state (step S84). If it is not in a communicable state, the session ID is displayed on the display unit 53 of the store-side device 5 (self) to prompt the client terminal 2 to enter a waiting state (step S85). Then, it is monitored whether or not communication with the client terminal 2 is allowed beyond this waiting time (step S86). If communication is not possible, the random number and session ID are cleared, and an error is notified to the client terminal 2 (step S79). On the other hand, when both are in a communicable state at step S84 and when communication is possible at this step S86, communication is performed with the client terminal 2 (step S87), and the shared key data confirmation processing is performed. (Step S88).

図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 control unit 51. In FIG. 9, when the process proceeds to the second client / server connection management process (FIG. 9: step S72), the control unit 51 generates and assigns a group ID for each server session ID as shown in FIG. The group ID is notified to the server 3 (step S101). Then, it is monitored whether there is a response from the server 3 beyond the waiting time (step S102). If there is no response from the server 3, the random number and session ID are cleared and an error notification is sent to the client terminal 2 (step S103). On the other hand, when there is a response, data from the server 3 is received (step S104). Then, it is determined whether or not the session ID in the received data is the same as the session ID held in the storage unit 55 (step S105). If they are not the same, the random number and session ID are cleared and an error notification is sent to the client terminal 2 (step S103).

ステップ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 control unit 51 determines whether there is no server session ID having the same group ID that has not received data from the server 3 (step S105). S106). If there is something that has not been received, the process returns to step S104, and the above processing procedure is repeated. On the other hand, if there is nothing that has not been received, the control unit 51 clears the group ID assigned to the session ID for each server (step S107), and the random numbers held in the storage unit 55 corresponding to each session ID. Then, a predetermined calculation (integration, power residue calculation, etc.) is performed using the received data from the server 3. Moreover, difference information is calculated as needed (step S108). Thus, the control unit 51 notifies the client terminal 2 of the calculation result via the communication unit 52 (step S109), and proceeds to the shared key data confirmation process (step S110). Of course, instead of the processing in step S108, the same processing as in steps S84 to S86 in FIG. 9 may be performed.

次に、図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 key confirmation function 51c by the control unit 51 will be described with reference to the procedure explanatory diagram of FIG.
The control unit 51 first determines whether or not confirmation data for key exchange shared data has been requested (step S121). Here, it is assumed that the request is made from the server 3 after the key exchange is completed between the client terminal 2 and the server 3. If the request has not been made, the process proceeds to a client / server communication management process described later (step S122). On the other hand, when the request has been made, the control unit 51 requests the client terminal 2 to generate confirmation data (step S123).
When the confirmation data from the client terminal 2 is received (step S124), the control unit 51 determines whether or not the session ID given to the received confirmation data is the same as the session ID held in the storage unit 55. (Step S125). If both are not the same, an error notification is sent to the client terminal 2 and the server 3, and the session ID and received data are cleared (step S126). When both are the same, the confirmation data acquired from the client terminal 2 is notified to the server 3 (step S127).

その後、サーバ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 server 3 is received (step S128), it is determined whether or not the session ID in the received data is the same as the session ID held in the storage unit 55 (step S129). If both are not the same, an error notification is sent to the client terminal 2 and the server 3, and the session ID and received data are cleared (step S126). On the other hand, when both are the same, the control part 51 judges whether the response from the server 3 is the confirmation data NG (step S130). When the response from the server is the confirmation data NG, the control unit 51 increments the number of NG (step S131), and monitors whether the number of NG is equal to or greater than the predetermined number (step S132). When the number of NG times is equal to or greater than the predetermined number, the control unit 51 notifies the client terminal 2 and the server 3 of an error via the communication unit 52 and clears the session ID and received data (step S126). On the other hand, when the number of NG is less than the predetermined number, the control unit 51 requests the client terminal 2 to re-enter the password, and performs the calculation again (step S133).

次に、図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 communication management function 51d by the control unit 51 will be described.
The control unit 51 permits communication between the client terminal 2 and the server 2 (step S141), and requests data from the client terminal 2 by server transmission (step S142). When data is received from the client terminal 2 (step S143), the control unit 51 determines whether there is a request for disconnecting the communication between the client and the server from the client terminal 2 (step S144). If there is such a request, the control unit 51 disallows communication between the client terminal 2 and the server 3 and clears the session ID (step S145). On the other hand, when there is no such request, the control unit 51 determines whether or not the session ID given to the data received from the client terminal 2 is the same as the session ID held in the storage unit 55 (step S146). If they are not the same, the control unit 51 notifies the client terminal 2 and the server 3 of an error, and clears the session ID and received data (step S150). On the other hand, if both are the same, the data received from the client terminal 2 is notified to the server 3 (step S148).

制御部51は、サーバ3からのデータを通信部52を介して受信すると(ステップS149)、受信したデータ内のセッションIDが記憶部55に保持しているセッションIDと同一であるか否かを判断する(ステップS150)。両者が同一でない場合、制御部51はステップS147に移行し、上述した処理を行う。他方、両者が同一である場合、制御部51は、サーバ3から取得したデータを通信部52を介してクライアント端末2に通知する(ステップS151)。そして、制御部51は、クライアント端末2とサーバ3との間の通信時間が制限を超えたかどうかを判断する(ステップS152)。当該制限を越えた場合はステップS145に移行して上述した処理を行う。他方、当該制限を越えていない場合は、ステップS142に戻り、前述した一連の処理を繰り返す。   When the control unit 51 receives data from the server 3 via the communication unit 52 (step S149), the control unit 51 determines whether or not the session ID in the received data is the same as the session ID held in the storage unit 55. Judgment is made (step S150). If the two are not the same, the control unit 51 proceeds to step S147 and performs the above-described processing. On the other hand, when both are the same, the control part 51 notifies the client terminal 2 of the data acquired from the server 3 via the communication part 52 (step S151). Then, the control unit 51 determines whether or not the communication time between the client terminal 2 and the server 3 has exceeded the limit (step S152). If the limit is exceeded, the process proceeds to step S145 and the above-described processing is performed. On the other hand, if the limit is not exceeded, the process returns to step S142 to repeat the series of processes described above.

このように、第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 key exchange apparatus 1 according to the first embodiment, not only the power-residue calculation based on the request calculation management function 51a but also other requests for calculations are supported. It was shown that it would be possible. In addition, the determination method of the random number size of the second random number generated by the password authentication key exchange device 5 is embodied. Further, when the client terminal 2 accesses a plurality of servers 3, management processing based on the group ID in addition to the session ID is realized by the client / server connection management function 51b. Further, a check using confirmation data at the time of password authentication key exchange is also realized as a shared key data confirmation function 51c. Communication management after password authentication key exchange is also made appropriate by the client / server communication function 51d. Therefore, further efficiency of password authentication key exchange and service cooperation using a plurality of servers 3a, 3b... In a secure communication environment are possible.

以上、本発明について、第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 client terminal 2 exchanges with a plurality of servers 3a, 3b... Is shown, but the present invention can also be applied to key exchange between a plurality of client terminals as in P2P. Moreover, although the case where the communication between the client terminal 2 and the password authentication key exchange devices 1 and 5 on the store side is a proximity communication has been described as an example, if there is another reliable communication path, the remote terminal Of course, the key may be exchanged via the network.
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実施形態に係るパスワード認証鍵交換装置1を用いたパスワード認証鍵交換システムの概念図。The conceptual diagram of the password authentication key exchange system using the password authentication key exchange apparatus 1 which concerns on 1st Embodiment of this invention. パスワード認証鍵交換装置の構成例を示した図。The figure which showed the structural example of the password authentication key exchange apparatus. クライアント端末の構成例を示した図。The figure which showed the structural example of the client terminal. サーバの構成例を示した図。The figure which showed the structural example of the server. 第1実施形態に係るパスワード認証鍵交換システムの動作手順説明図。Explanatory drawing of the operation | movement procedure of the password authentication key exchange system which concerns on 1st Embodiment. 第1実施形態に係るパスワード認証鍵交換システムの動作手順説明図。Explanatory drawing of the operation | movement procedure of the password authentication key exchange system which concerns on 1st Embodiment. 第2実施形態に係るパスワード認証鍵交換システムを構成するパスワード認証鍵交換装置の構成例を示した図。The figure which showed the structural example of the password authentication key exchange apparatus which comprises the password authentication key exchange system which concerns on 2nd Embodiment. 依頼演算管理処理の手順説明図。Explanatory drawing of a request calculation management process. クライアント・サーバ接続管理の第1処理の手順説明図。Explanatory drawing of the 1st process of a client server connection management. クライアント・サーバ接続管理の第2処理の手順説明図。Explanatory drawing of the 2nd process of a client server connection management. 共有鍵確認処理の手順説明図。Explanatory drawing of a shared key confirmation process. クライアント・サーバ通信管理処理の手順説明図。Explanatory drawing of the procedure of a client server communication management process.

符号の説明Explanation of symbols

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 SYMBOLS 1 ... Password authentication key exchange apparatus, 2 ... Client terminal, 3 ... Server, 4 ... Network, 5 ... Password authentication key exchange apparatus, 11 ... Control part, 12 ... Communication part, 13 ... Display part, 14 ... Operation input part, DESCRIPTION OF SYMBOLS 15 ... Memory | storage part, 11a ... Random number generation function, 11b ... Secondary data generation function, 11c ... Key exchange partial data generation function, 11d ... Difference information generation function, 21 ... Control part, 22 ... Communication part, 23 ... Display part, 24 ... Operation input unit, 25 ... Storage unit, 21a ... Service information management function, 21b ... Key exchange management function, 31 ... Control unit, 32 ... Communication unit, 33 ... Storage unit, 31a ... User management function, 31b ... Key exchange Management function.

Claims (8)

第1の乱数を生成するクライアント端末及びサーバデータを生成するサーバのそれぞれと通信可能なパスワード認証鍵交換装置であって、
前記第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.
サーバと、第1の乱数を生成するクライアント端末及び前記サーバのそれぞれと通信可能なパスワード認証鍵交換装置とを有するシステムであって、
前記サーバは、第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の乱数を生成するクライアント端末及びサーバデータを生成するサーバのそれぞれと通信自在なパスワード認証鍵交換装置として動作させるためのコンピュータプログラムであって、
前記コンピュータを、
前記第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.
JP2005283479A 2005-09-29 2005-09-29 Password authentication key exchange apparatus, system, method, and computer program Active JP4757591B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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