JP5099771B2 - Two-factor authentication system - Google Patents

Two-factor authentication system Download PDF

Info

Publication number
JP5099771B2
JP5099771B2 JP2008118729A JP2008118729A JP5099771B2 JP 5099771 B2 JP5099771 B2 JP 5099771B2 JP 2008118729 A JP2008118729 A JP 2008118729A JP 2008118729 A JP2008118729 A JP 2008118729A JP 5099771 B2 JP5099771 B2 JP 5099771B2
Authority
JP
Japan
Prior art keywords
authentication
terminal device
server
value
user
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
JP2008118729A
Other languages
Japanese (ja)
Other versions
JP2009271581A (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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
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 National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2008118729A priority Critical patent/JP5099771B2/en
Priority to PCT/JP2009/058313 priority patent/WO2009133869A1/en
Publication of JP2009271581A publication Critical patent/JP2009271581A/en
Application granted granted Critical
Publication of JP5099771B2 publication Critical patent/JP5099771B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、パスワードなどの短い系列とユーザの端末装置およびサーバの認証装置に記録された記録情報を使って安全に認証を行う二要素認証システムに関するものである。   The present invention relates to a two-factor authentication system that performs secure authentication using a short series of passwords and the like and recorded information recorded in a user terminal device and a server authentication device.

従来から、ネットワークを介して様々なサービスを利用するシステムにおいては、正当な利用者を認証するための認証システムが組み込まれる。多くはパスワードを用いる認証システムであるが、パスワード認証だけでは、十分なセキュリティの確保が困難である場合には、別の認証システムの仕組みを併用または追加するようなシステムとされる。   Conventionally, an authentication system for authenticating an authorized user is incorporated in a system that uses various services via a network. Many are authentication systems that use passwords. However, if it is difficult to ensure sufficient security by password authentication alone, a system that uses another authentication system mechanism in combination or is added.

例えば、特許文献1に記載の認証システムでは、パスワードによる認証と、生態情報による認証システムを併用する。認証者はまずパスワードを入力し、入力されたパスワードが照合用パスワードと一致すれば、認証者は生体情報である指紋が入力できる。入力された指紋が照合用指紋データと一致すれば認証処理用の長い暗号パスワードが生成され、その暗号パスワードを用いて認証を行う。しかしながら、照合用パスワードと指紋データが漏洩すると、それを得た攻撃者は、暗号パスワードが生成でき、認証に成功する。   For example, in the authentication system described in Patent Document 1, authentication using a password and authentication system using ecological information are used in combination. The certifier first inputs the password, and if the entered password matches the verification password, the certifier can input the fingerprint which is biometric information. If the inputted fingerprint matches the fingerprint data for verification, a long encryption password for authentication processing is generated, and authentication is performed using the encryption password. However, if the verification password and fingerprint data are leaked, the attacker who obtained it can generate an encrypted password and succeed in authentication.

また、特許文献2に記載されている「二重要素認証されたキー交換方法」による認証システムにおいては、ユーザはパスワードを覚え、クライアントにトークンが保存され、認証サーバはユーザのパスワードとトークンと公開鍵のペアーになっている秘密鍵を保存している。ここでは、クライアントは認証サーバの公開鍵に安全にアクセスできると仮定しており、クライアントと認証サーバは、パスワードとトークンとサーバの公開鍵(サーバは秘密鍵)を使って相互認証し、セッション鍵を生成する。   In addition, in the authentication system based on the “double-factor authenticated key exchange method” described in Patent Document 2, the user remembers the password, the token is stored in the client, and the authentication server discloses the user's password and token. Stores the private key that is the key pair. Here, it is assumed that the client can securely access the public key of the authentication server, and the client and the authentication server mutually authenticate using the password, token, and server public key (the server is a private key), and the session key. Is generated.

しかし、サーバの情報が漏洩すると、攻撃者は以前クライアントと認証サーバの間に共有されたすべてのセッション鍵を求めることができ、後述するように、クライアントに保存されているRSA公開鍵を書き換える“Replacement”攻撃とサーバの記録情報を用いる“KCI(Key Compromise Impersonation)”攻撃に対して、脆弱性がある。   However, if the server information is leaked, the attacker can obtain all the session keys previously shared between the client and the authentication server, and rewrites the RSA public key stored in the client as described later. There are vulnerabilities to “Replacement” attacks and “KCI (Key Composition Implication)” attacks using recorded information of the server.

また、特許文献3に記載されているワールド・ワイド・ウェッブ用のコンピュータ・セキュリティの技術では、その認証システムは、ユーザがウェップサイトにウェップページを要求すると、ユーザに識別可能なcustomization情報が提供されて、ユーザはこのウェップサイトを認証し、クライアントに記録されたクッキーにより、ウェップサイトはユーザを認証するシステムとなっている。
特開2006−139471号公報 特表2007−520909号公報 特表2006−525563号公報
Further, in the computer security technology for World Wide Web described in Patent Document 3, when the user requests a web page from the website, the authentication system provides customization information that can be identified by the user. The user authenticates the website, and the website authenticates the user by the cookie recorded in the client.
JP 2006-139471 A Special table 2007-520909 JP-T-2006-525563

従来から、パスワードなどの短い系列と記録情報を使って認証を行う二要素認証システムの一つとして、「情報漏洩に強い認証付き鍵共有方式」による認証システムの提案がある。この方式の認証システムでは、ネットワーク上のあらゆる攻撃だけではなく、情報漏洩があったとしても安全性を保障することができる。   Conventionally, there is a proposal of an authentication system based on a “key sharing method with authentication that is strong against information leakage” as one of two-factor authentication systems that perform authentication using a short series of passwords and recorded information. In this type of authentication system, security can be ensured not only for all attacks on the network but also for information leakage.

しかし、RSA公開鍵暗号方式を使った認証システムは、次に説明するように、“Replacement”攻撃と“KCI(Key Compromise Impersonation)”攻撃に対して脆弱性があり、DH(Diffie Hellman)鍵共有方式を使った認証システムは、“KCI(Key Compromise Impersonation)”攻撃に対して脆弱性があるという問題がある。   However, the authentication system using the RSA public key cryptosystem is vulnerable to a “Replacement” attack and a “KCI (Key Composition Implication)” attack, and DH (Diffie Hellman) key sharing, as will be described below. An authentication system using the method has a problem that it is vulnerable to a “KCI (Key Compromise Impression)” attack.

“Replacement”攻撃は、攻撃者がクライアントに記録されているユーザの秘密情報を得て、かつ、それを任意の情報に書き換える形態の攻撃である。ユーザがその書き換えられた情報を使って通信を行うと、攻撃者はその通信を含むすべての通信を盗聴したり、サーバの成りすましをすることができ、そのユーザのパスワードやそのユーザのいずれかのセッション鍵を得ようとする攻撃が可能である。これに対して、従来の技術では、十分な安全性が保証されない。   The “Replacement” attack is an attack in which the attacker obtains the secret information of the user recorded in the client and rewrites it with arbitrary information. When a user communicates using the rewritten information, the attacker can eavesdrop on all communications including the communication or impersonate the server, and the user's password or any of the user's An attack that attempts to obtain a session key is possible. On the other hand, the conventional technology does not guarantee sufficient safety.

KCI(Key Compromise Impersonation)攻撃は、攻撃者がサーバに記録されているユーザの秘密情報を得て、かつ、それを使って攻撃者がクライアントの成りすましをすることにより、そのユーザのパスワードやそのユーザのいずれかのセッション鍵も得ようとする攻撃である。もちろん、攻撃者がサーバに記録されている秘密情報を得た後には、攻撃者はそのサーバになりすますことが可能ではあるが、その場合においても、ユーザが正しいサーバと最初に通信すれば(RSA公開鍵暗号方式を使った方式で、かつ、その通信が盗聴されなければ)、攻撃者は、それ以降サーバに成りすましてクライアントと相互認証を行うことはできなくなる。   KCI (Key Compromise Impersonation) attack is a method in which an attacker obtains the user's confidential information recorded on the server, and the attacker impersonates the client by using it to impersonate the client. It is an attack that tries to obtain any of the session keys. Of course, after the attacker obtains the secret information recorded on the server, the attacker can impersonate the server, but even in that case, if the user first communicates with the correct server (RSA) If the method uses public key cryptography and the communication is not eavesdropped), then the attacker cannot impersonate the server and perform mutual authentication with the client.

このような認証システムでは、通常は、秘密情報が見られたり、書き換えられたりしないように、耐タンパモジュールなどが用いられるが、そのような特殊なデバイスを利用せずに、ネットワーク上のあらゆる攻撃と“Replacement”攻撃や“KCI”攻撃を含む情報漏洩を用いる攻撃まで防ぐことができる認証システムが所望される。   In such an authentication system, a tamper-resistant module is usually used so that confidential information is not seen or rewritten, but any attack on the network can be performed without using such a special device. And an authentication system that can prevent attacks using information leakage including “Replacement” attacks and “KCI” attacks.

本発明は、このような従来における問題点を解決するためになされたものであり、本発明の目的は、パスワードの短い系列とユーザの端末装置およびサーバの認証装置に記録された記録情報を使って認証を行う二要素認証システムにおいて、“Replacement”攻撃と“KCI”攻撃に対して、安全性を十分に保証できる二要素認証システムを提供することにある。   The present invention has been made to solve such problems in the prior art, and an object of the present invention is to use a short series of passwords and recorded information recorded in a user terminal device and a server authentication device. It is an object of the present invention to provide a two-factor authentication system that can sufficiently guarantee security against a “Replacement” attack and a “KCI” attack.

上記のような目的を達成するため、本発明による二要素認証システムは、基本的な構成として、ユーザから入力された短い系列(パスワードなど)とユーザの端末装置およびサーバの認証装置の格納装置に記録されている記録情報の秘密情報を用いて、ユーザの端末装置とサーバの認証装置との間に相互認証しながらセッション鍵を確立する二要素認証システムにおいて、初期化処理により短い系列に基づいて記録情報を作成してユーザの端末装置およびサーバの認証装置の格納装置に記録し、ユーザの端末装置は短い系列と格納装置に記録した記録情報を用いて、サーバの認証装置は格納装置に記録した記録情報を用いて認証プロトコルを実行する。更に、セッション鍵を生成するたびに秘密値更新器により記録情報を変更する。   In order to achieve the above object, the two-factor authentication system according to the present invention has, as a basic configuration, a short sequence (such as a password) input from a user, a user terminal device, and a server authentication device storage device. In a two-factor authentication system that establishes a session key while performing mutual authentication between a user terminal device and a server authentication device using secret information of the recorded information recorded, based on a short sequence by initialization processing Record information is created and recorded in the storage device of the user terminal device and the server authentication device. The user terminal device uses the short sequence and the record information recorded in the storage device, and the server authentication device records in the storage device. The authentication protocol is executed using the recorded information. Furthermore, the record information is changed by the secret value updater every time a session key is generated.

具体的には、本発明の二要素認証システムは、入力された短い系列とユーザの端末装置およびサーバの認証装置にそれぞれ保存されている記録情報を用いて、ユーザの端末装置とサーバの認証装置との間で相互認証しながらセッション鍵を確立する二要素認証システムであって、ユーザの端末装置とサーバの認証装置においてそれぞれに前記短い系列に基づいて作成された記録情報を記録する格納装置と、ユーザの端末装置とサーバの認証装置においてそれぞれに前記格納装置に記録された記録情報を用いて認証プロトコルの実行を行い、ユーザの端末装置とサーバの認証装置との間で相互認証しながらセッション鍵を確立する処理を行う認証処理部と、前記セッション鍵を生成するたびに格納装置に記録されている記録情報を変更する秘密値更新器とを備えることを特徴とするシステムである。   Specifically, the two-factor authentication system of the present invention uses the input short sequence and recorded information stored in the user terminal device and the server authentication device, respectively, to authenticate the user terminal device and the server authentication device. A two-factor authentication system for establishing a session key while mutually authenticating with a storage device for recording record information created based on the short sequence in each of a user terminal device and a server authentication device; In the user terminal device and the server authentication device, the authentication protocol is executed using the recorded information recorded in the storage device, respectively, and a session is performed while mutual authentication is performed between the user terminal device and the server authentication device. An authentication processing unit that performs processing for establishing a key, and a secret that changes the recorded information recorded in the storage device each time the session key is generated It is a system characterized by comprising a updater.

本発明の二要素認証システムにおいては、前記格納装置に記録された記録情報には、乱数が含まれており、認証処理部は、乱数の値に基づいて認証プロトコルの実行を行うように構成される。   In the two-factor authentication system of the present invention, the recorded information recorded in the storage device includes a random number, and the authentication processing unit is configured to execute an authentication protocol based on the value of the random number. The

本発明の二要素認証システムにおいては、更に、ユーザの端末装置とサーバの認証装置においてそれぞれに前記短い系列に基づいて記録情報を作成する初期化処理部を備えており、前記格納装置は前記初期化処理部により作成された記録情報を初期値として記録するように構成される。   In the two-factor authentication system of the present invention, the user terminal device and the server authentication device each further include an initialization processing unit that creates recording information based on the short sequence, and the storage device includes the initial device. The recording information created by the conversion processing unit is recorded as an initial value.

本発明の二要素認証システムにおいては、前記格納装置に記録された記録情報には、カウント値が含まれており、秘密値更新器は、前記カウント値に基づいて格納装置に記録する記録情報の更新を管理するように構成される。   In the two-factor authentication system of the present invention, the record information recorded in the storage device includes a count value, and the secret value updater stores the record information to be recorded in the storage device based on the count value. Configured to manage updates.

本発明の二要素認証システムのひとつの態様として、認証処理部は、ユーザの端末装置とサーバの認証装置との間で相互認証し、セッション鍵を確立する処理を、RSA公開鍵に基づく認証プロトコルの処理により行うようにし、または、認証処理部は、ユーザの端末装置とサーバの認証装置との間で相互認証し、セッション鍵を確立する処理は、DH鍵共有プロトコルに基づく認証処理により行うように構成される。   As one aspect of the two-factor authentication system of the present invention, an authentication processing unit performs a process of establishing a session key by performing mutual authentication between a user terminal device and a server authentication device, based on an RSA public key. Or the authentication processing unit performs mutual authentication between the user terminal device and the server authentication device, and the processing for establishing the session key is performed by the authentication processing based on the DH key sharing protocol. Configured.

また、本発明の二要素認証システムは、別の態様として、入力された短い系列とユーザの端末装置およびサーバの認証装置にそれぞれ保存されている記録情報を用いて、ユーザの端末装置とサーバの認証装置との間で相互認証しながらセッション鍵を確立する二要素認証システムであって、ユーザの端末装置において記録情報を記録する第1格納装置と、サーバの認証装置において記録情報を記録する第2格納装置と、ユーザの端末装置において第1格納装置に記録された記録情報を用いて認証プロトコルの実行を行い、サーバの認証装置との間で相互認証しながらセッション鍵を確立する処理を行う第1認証処理部と、サーバの認証装置において前記第2格納装置に記録された記録情報を用いて認証プロトコルの実行を行い、ユーザの端末装置との間で相互認証しながらセッション鍵を確立する処理を行う第2認証処理部と、ユーザの端末装置において前記セッション鍵を生成するたびに第1格納装置に記録されている記録情報を変更する第1秘密値更新器と、サーバの認証装置において前記セッション鍵を生成するたびに第2格納装置に記録されている記録情報を変更する第2秘密値更新器とを備えるように構成されても良い。この場合に、ユーザの端末装置の第1格納装置に格納する記録情報は、乱数、カウント値、及び公開鍵であり、サーバの認証装置の第2格納装置に格納する記録情報は、カウント値、認証データ、及び秘密鍵である。   As another aspect, the two-factor authentication system of the present invention uses the input short sequence and the recorded information stored in the user terminal device and the server authentication device, respectively. A two-factor authentication system that establishes a session key while performing mutual authentication with an authentication device, wherein a first storage device that records recorded information in a user terminal device and a first storage device that records recorded information in a server authentication device 2 The authentication protocol is executed using the recording information recorded in the first storage device in the storage device and the user terminal device, and the session key is established while mutual authentication is performed with the authentication device of the server. The first authentication processing unit and the server authentication device execute the authentication protocol using the recorded information recorded in the second storage device, and the user terminal A second authentication processing unit that performs a process of establishing a session key while performing mutual authentication with a device, and changes recorded information recorded in the first storage device each time the session key is generated in a user terminal device And a second secret value updater that changes the recorded information recorded in the second storage device each time the session key is generated in the authentication device of the server. Also good. In this case, the record information stored in the first storage device of the user terminal device is a random number, a count value, and a public key, and the record information stored in the second storage device of the server authentication device is a count value, Authentication data and secret key.

また、本発明は、更に別の態様として、ユーザの端末装置に短い系列を入力して、ユーザの端末装置とサーバの認証装置の間において相互に認証子を生成して送信し、相互の認証子に基づく相互認証を行い、認証結果によりユーザの端末装置とサーバの認証装置の間でセッション鍵の確立を行い、セッション鍵が生成されるごとに秘密値更新器により、前記記録情報を更新する二要素認証方法として利用されても良い。   Further, according to another aspect of the present invention, a short sequence is input to the user terminal device, an authenticator is generated and transmitted between the user terminal device and the server authentication device, and mutual authentication is performed. Mutual authentication based on the child is performed, a session key is established between the user terminal device and the server authentication device based on the authentication result, and the record information is updated by the secret value updater each time a session key is generated It may be used as a two-factor authentication method.

このような特徴を有する本発明の二要素認証システムによれば、耐タンパモジュールのような特殊なデバイスを利用しなくても、ネットワーク上のあらゆる攻撃と“Replacement”攻撃や“KCI”攻撃を含む情報漏洩を用いる攻撃に対して安全性を保障することができる。   According to the two-factor authentication system of the present invention having such a feature, even if a special device such as a tamper-resistant module is not used, all attacks on the network and “Replacement” attacks and “KCI” attacks are included. Security against an attack using information leakage can be ensured.

以下、図面を参照しつつ、本発明の好適な実施例について説明する。ただし、本発明は以下の各実施例に限定されるものではなく、例えばこれら実施例の構成要素同士を適宜組み合わせてもよい。   Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. However, the present invention is not limited to the following embodiments, and for example, the constituent elements of these embodiments may be appropriately combined.

図1は、本発明の二要素認証システムの全体の構成を説明する図である。図2は、短い系列と記録情報を用いた二要素認証システムにおける初期化処理を説明する図であり、図3は、短い系列と記録情報を用いた二要素認証システムにおけるj番目プロトコル実行の構成を示す図である。   FIG. 1 is a diagram illustrating the overall configuration of the two-factor authentication system of the present invention. FIG. 2 is a diagram for explaining an initialization process in a two-factor authentication system using a short sequence and recorded information. FIG. 3 is a diagram illustrating a configuration of j-th protocol execution in a two-factor authentication system using a short sequence and recorded information. FIG.

図1において、100は二要素認証システム、101はインターネットなどの通信路、200はユーザの端末装置、201は記録情報の格納装置、202は認証処理部、203は秘密更新器、300はサーバの認証装置、301は記録情報の格納装置、302は認証処理部、303は秘密更新器である。   In FIG. 1, 100 is a two-factor authentication system, 101 is a communication channel such as the Internet, 200 is a user terminal device, 201 is a recording information storage device, 202 is an authentication processing unit, 203 is a secret updater, and 300 is a server. Reference numeral 301 denotes an authentication device, 301 denotes a recording information storage device, 302 denotes an authentication processing unit, and 303 denotes a secret updater.

二要素認証システム100は、ユーザの端末装置200とサーバの認証装置300との間をインターネットなどの通信路101により結合してデータ通信を行う場合に、その間で相互に認証処理を行う認証システムである。システム要素として、ユーザの端末装置200には、入力されたパスワードに基づいて初期化処理により作成された記録情報を記録する格納装置201と、サーバの認証装置300との間で認証処理を行う認証処理部202と、格納装置201に格納された記録情報CSjを所定の演算式により更新する秘密値更新器203が設けられる。また、サーバの認証装置300は、初期化処理により作成された記録情報を記録する格納装置301と、ユーザの端末装置200との間で認証処理を行う認証処理部302と、格納装置301に格納された記録情報SSjを所定の演算式により更新する秘密値更新器303が設けられる。   The two-factor authentication system 100 is an authentication system that performs mutual authentication processing between a user terminal device 200 and a server authentication device 300 via a communication path 101 such as the Internet when performing data communication. is there. As a system element, in the user terminal device 200, authentication is performed between the storage device 201 that records the recording information created by the initialization processing based on the input password and the authentication device 300 of the server. A processing unit 202 and a secret value updater 203 that updates the recording information CSj stored in the storage device 201 with a predetermined arithmetic expression are provided. Further, the server authentication device 300 stores the storage device 301 that records the recording information created by the initialization process, the authentication processing unit 302 that performs authentication processing with the user terminal device 200, and the storage device 301. A secret value updater 303 is provided for updating the recorded information SSj by a predetermined arithmetic expression.

図2に示すように、ユーザの端末装置200に入力されたパスワードに基づいて、安全な通信路110により初期化処理を行い、ユーザの端末装置200とサーバの認証装置300とにおいて、それぞれに記録情報CS1および記録情報SS1を生成する。次に、図3に示すように、初期化処理の後に、jをカウント値とすると、j番目の認証プロトコルを実行する。ユーザの端末装置200とサーバの認証装置300において、認証処理部202,302がそれぞれの格納装置201,301に記録されている記録情報(CSj,SSj)を用いて、認証プロトコルの実行を行い、ユーザの端末装置200とサーバの認証装置300との間で相互認証しながらセッション鍵120,130を確立する処理を行う。セッション鍵120、130が確立されると、秘密値更新器203,303は、次回の認証処理のために、格納装置201,301に記録されている記録情報(CSj,SSj)を変更する。   As shown in FIG. 2, initialization processing is performed by the secure communication path 110 based on the password input to the user terminal device 200, and is recorded in each of the user terminal device 200 and the server authentication device 300. Information CS1 and recording information SS1 are generated. Next, as shown in FIG. 3, if j is a count value after the initialization process, the j-th authentication protocol is executed. In the user terminal device 200 and the server authentication device 300, the authentication processing units 202 and 302 execute the authentication protocol using the recorded information (CSj, SSj) recorded in the storage devices 201 and 301, respectively. A process for establishing session keys 120 and 130 is performed while mutual authentication is performed between the user terminal device 200 and the server authentication device 300. When the session keys 120 and 130 are established, the secret value updaters 203 and 303 change the record information (CSj, SSj) recorded in the storage devices 201 and 301 for the next authentication process.

二要素認証システムにおいて、カウンタ値jはj≧1になるような整数である。二要素認証システム100におけるj番目プロトコル実行では、ユーザの端末装置200は入力された短い系列(例えば、パスワードなど)と、ユーザの端末装置200の格納装置201で保持された記録情報CSjに基づいて認証処理を実行し、また、サーバの認証装置300が、格納装置301に保持されている記録情報SSjにより認証処理を実行し、ユーザの端末装置200の認証処理部202と、サーバの認証装置300の認証処理部302との間で相互認証して、その相互認証が成功した時、同じセッション鍵120,130を確保する。セッション鍵を生成するたびに、ユーザの端末装置200およびサーバの認証装置300においては、それぞれの秘密値更新器202,302により格納装置201,301に保持された記録情報が変更される。   In the two-factor authentication system, the counter value j is an integer such that j ≧ 1. In the j-th protocol execution in the two-factor authentication system 100, the user terminal device 200 is based on the input short sequence (for example, password) and the record information CSj held in the storage device 201 of the user terminal device 200. The authentication apparatus 300 of the server executes the authentication process, and executes the authentication process using the record information SSj held in the storage device 301. The authentication processing unit 202 of the user terminal device 200 and the authentication apparatus 300 of the server When the mutual authentication is successful, the same session keys 120 and 130 are secured. Each time a session key is generated, in the user terminal device 200 and the server authentication device 300, the recorded information held in the storage devices 201 and 301 is changed by the secret value updaters 202 and 302, respectively.

<第1実施例>
次に、第1実施例として、RSA公開鍵暗号方式を使った二要素認証システムの実施例を説明するが、その前に、いくつかの背景知識、及び以下の説明において用いる記号について説明しておく。
<First embodiment>
Next, as a first embodiment, an embodiment of a two-factor authentication system using the RSA public key cryptosystem will be described. Before that, some background knowledge and symbols used in the following description will be described. deep.

公開鍵暗号方式では、公開鍵(PubK)および秘密鍵(PriK)の対(PubK,PriK)が設定されている。公開鍵は秘密ではなく、誰でも入手できるように公開される。それに対して、秘密鍵は所有者のみが有している秘密の状態とされる。暗号化は、公開鍵(PubK)を用いて、暗号化関数Encによりメッセージmを、C=EncPubK(m)となるような暗号文Cを生成することである。暗号文Cは、秘密鍵(PriK)を用いてのみ、復号化関数Decによって、m=DecPriK(C)の演算により、メッセージmが復号できる。暗号文Cは、公開鍵(PubK)を用いては復号できない。 In the public key cryptosystem, a pair (PubK, PriK) of a public key (PubK) and a secret key (PriK) is set. Public keys are not secret and are made public so that anyone can obtain them. On the other hand, the secret key is in a secret state that only the owner has. Encryption is to generate a ciphertext C such that C = Enc PubK (m) using the encryption function Enc, using a public key (PubK). In the ciphertext C, the message m can be decrypted only by using the secret key (PriK) by the operation of m = Dec PriK (C) by the decryption function Dec. The ciphertext C cannot be decrypted using the public key (PubK).

公開鍵署名方式では、検証鍵(VK)および署名鍵(SK)の対(VK,SK)が設定されている。公開鍵暗号方式の公開鍵と同じように、検証鍵は秘密ではなく、誰でも入手できるように公開される。それに対して、署名鍵は所有者(署名者)のみが有している秘密の状態とされる。署名化は、署名鍵(SK)を用いて署名化関数Signにより、メッセージmを、s=SignSK(m)となるようにして、署名文(m,s)を生成することである。署名文の検証は、検証鍵(VK)を用いて、検証化関数Verによって、VerVK(m,s)を求めることで検証できる。検証できた場合は、その署名文(m,s)が、正当な署名者により生成されたことを意味し、そうではない場合は、(m,s)が正しい署名文ではないことになる。 In the public key signature method, a verification key (VK) and signature key (SK) pair (VK, SK) is set. Like public key cryptography public keys, verification keys are not secret and are made public so that anyone can obtain them. On the other hand, the signing key is in a secret state owned only by the owner (signer). The signing is to generate a signature sentence (m, s) by using the signature key (SK) and the signing function Sign so that the message m becomes s = Sign SK (m). The verification of the signature sentence can be verified by obtaining Ver VK (m, s) using the verification function Ver using the verification key (VK). If the verification is successful, it means that the signature sentence (m, s) is generated by a valid signer. If not, (m, s) is not a correct signature sentence.

周知のRSA公開鍵方式においては、公開鍵および秘密鍵の生成には素数が用いられる。例えば、公開鍵は(e,N)であり、秘密鍵は(d,N)である。この場合のNは、2つのランダムに選択された大きな素数pと素数qの積であり(すなわち、N=p・q)、eは、eと(p−1)・(q−1)の最大公約数が1であるような任意の数(例えば、e=3あるいはe=216+1)である。また、dは、「e−1 mod ((p−1)・(q−1))」である。安全性を最大化するには、素数pと素数qを同じ長さにする。 In the well-known RSA public key system, prime numbers are used to generate a public key and a secret key. For example, the public key is (e, N) and the secret key is (d, N). N in this case is the product of two randomly selected large primes p and primes q (ie, N = p · q), and e is e and (p−1) · (q−1). Any number such that the greatest common divisor is 1 (for example, e = 3 or e = 2 16 +1). Further, d is “e −1 mod ((p−1) · (q−1))”. In order to maximize safety, the prime number p and the prime number q are made the same length.

一般に、暗号システムでは、その安全性のレベルを記述するセキュリティパラメータkが用いられる。セキュリティパラメータkに基づいて公開鍵などの数値が定められて、システムが設計される。RSA公開鍵暗号化方式において、例えば、セキュリティパラメータkをLにすると、2L−1<N<2の整数Nを用いる。メッセージm(m∈Z )に対して、暗号化関数Encは、「EncPubK(m)=m mod N」であり、復号化関数Decは、「DecPriK(C)=C mod N」である。この場合、暗号文Cと公開鍵(e,N)が与えられた時、メッセージmを求めることが計算量的に困難であることから安全性を確保している。つまり、RSA公開鍵暗号方式は、大きな数Nの素因数分解が難しいことから安全性を得ている。 Generally, in a cryptographic system, a security parameter k that describes the level of security is used. A numerical value such as a public key is determined based on the security parameter k, and the system is designed. In the RSA public key encryption method, for example, when the security parameter k is set to L, an integer N of 2 L−1 <N <2 L is used. For the message m (mεZ N * ), the encryption function Enc is “Enc PubK (m) = m e mod N”, and the decryption function Dec is “Dec PriK (C) = C d mod N ". In this case, when the ciphertext C and the public key (e, N) are given, it is difficult to obtain the message m because the amount of calculation is difficult. That is, the RSA public key cryptosystem obtains security because it is difficult to factorize a large number N.

次に説明する実施例の二要素認証システムでは、ハッシュ関数Hのセキュリティパラメータをkとする。1/2は無視できるほど小さいと仮定する。また、集合{0,1}は、有限の2進数のストリングの集合を示し、集合{0,1}は長さkの2進数のストリングの集合を示す。ハッシュ関数Hは集合{0,1}の入力から集合{0,1}の出力を得る安全な一方向関数であり、ハッシュ関数のFDH(Full−Domain Hash)関数Gは集合{0,1}の入力から、Z \{1}の出力を出す安全な一方向関数である。また、乱数発生器から発生される乱数は、乱数t(t∈Z )を無作為に生成する。‖は値を連結(concatenation)するという意味である。また、CとSはそれぞれユーザとサーバを表すIDである。 In the two-factor authentication system of the embodiment described below, the security parameter of the hash function H is k. Suppose that 1/2 k is negligibly small. The set {0, 1} * indicates a finite binary string set, and the set {0, 1} k indicates a binary string set of length k. The hash function H is a safe one-way function that obtains the output of the set {0, 1} k from the input of the set {0, 1} * , and the hash function FDH (Full-Domain Hash) function G is the set {0, 1} is a safe one-way function that produces an output of Z N * \ {1} from an input of * . The random number generated from the random number generator randomly generates a random number t (tεZ N * ). ‖ Means that the values are concatenated. C and Si are IDs representing the user and the server, respectively.

二要素認証システムの初期化の処理では、図2に示したように、ユーザの端末装置200はユーザから入力されたパスワードpwに基づいて、サーバの認証装置300と安全な通信路110を用いて(例えば、直接に登録したり、郵便で送付したり、あるいは電話で知らせるなどして)初期化処理を行い、ユーザの端末装置200は、内部にあるメモリまたは格納装置に第1番目の認証プロトコル実行のための記録情報「CS1」140を保存し、また、サーバの認証装置300は、内部にあるメモリあるいはデータベースの格納装置に第1番目の認証プロトコル実行のための記録情報「SS1」150を保存する。   In the initialization process of the two-factor authentication system, as shown in FIG. 2, the user terminal device 200 uses the server authentication device 300 and the secure communication path 110 based on the password pw input from the user. The user terminal device 200 performs the initialization process (for example, by directly registering, sending by mail, or notifying by telephone), and the user terminal device 200 stores the first authentication protocol in its internal memory or storage device. The record information “CS1” 140 for execution is stored, and the server authentication apparatus 300 stores the record information “SS1” 150 for execution of the first authentication protocol in an internal memory or database storage device. save.

二要素認証システムの認証処理では、図3に示すように、jをj≧1になるような整数として、パスワードなどの入力された短い系列とユーザの端末装置およびサーバの認証装置にそれぞれ保存されている記録情報「CSj」、記録情報「SSj」を用いて、第j番目の認証プロトコルの実行を行い、ユーザの端末装置とサーバの認証装置との間で相互認証しながらセッション鍵(120,130)を確立する。そして、セッション鍵が確立した場合において、更に、次の認証プロトコル実行のために、図1に示すように、秘密値更新器(203,303)により格納装置(201,301)に記録されている記録情報(CSj,SSj)を変更する。秘密値更新器(203,303)による記録情報(CSj,SSj)の更新は、セッション鍵(120,130)を生成するたびに格納装置(201,301)に記録されている記録情報(CSj,SSj)が変更される。これにより、十分な安全性が保証される。   In the authentication process of the two-factor authentication system, as shown in FIG. 3, j is an integer such that j ≧ 1, and a short series of input passwords and the like are stored in the user terminal device and the server authentication device, respectively. The recorded information “CSj” and the recorded information “SSj” are used to execute the j th authentication protocol, and the session key (120, 120, 120) is obtained while mutual authentication is performed between the user terminal device and the server authentication device. 130). When the session key is established, it is recorded in the storage device (201, 301) by the secret value updater (203, 303) as shown in FIG. 1 in order to execute the next authentication protocol. Record information (CSj, SSj) is changed. The update of the record information (CSj, SSj) by the secret value updater (203, 303) is performed every time the session key (120, 130) is generated, the record information (CSj, SSj) is changed. Thereby, sufficient safety is guaranteed.

具体的に第1実施例のRSA公開鍵暗号方式を使った二要素認証システムのシステム構成の一例について、(1)二要素認証システム1、(2)二要素認証システム2、および(3)二要素認証システム3の3つのシステム構成の例について説明する。   Specifically, regarding an example of the system configuration of the two-factor authentication system using the RSA public key cryptosystem of the first embodiment, (1) two-factor authentication system 1, (2) two-factor authentication system 2, and (3) two An example of three system configurations of the element authentication system 3 will be described.

(1)二要素認証システム1:
図4は、二要素認証システム1の初期化処理を説明する図である。図4には、二要素認証システム1において、初期化処理で用いられるユーザの端末装置200及びサーバの認証装置300におけるシステム要素が示されている。図4を参照して、ユーザの端末装置200とサーバの認証装置300との間の二要素認証システムの初期化動作を説明する。
(1) Two-factor authentication system 1:
FIG. 4 is a diagram for explaining the initialization process of the two-factor authentication system 1. FIG. 4 shows system elements in the user terminal device 200 and the server authentication device 300 used in the initialization process in the two-factor authentication system 1. The initialization operation of the two-factor authentication system between the user terminal device 200 and the server authentication device 300 will be described with reference to FIG.

ユーザの端末装置200における初期化処理では、認証データ生成器211が、乱数発生器210によって、ランダムに発生させた乱数si1(si1∈{0,1})と、ユーザから入力されたパスワードpwとを入力して、これに基づいて認証データvi1を計算して生成する。認証データの計算はハッシュ関数Hを用いて「vi1=si1+H(4‖C‖Si‖pw)」により計算する。計算により生成された認証データvi1は、サーバの認証装置300に送信する。このとき、ユーザの端末装置200では、カウンタ(カウント値)1と、乱数発生器210により発生させた乱数si1と、サーバの認証装置300から受信したRSA公開鍵(e,N)を出力し、格納装置201に記録情報「CS1」141として保存する。この場合に、ユーザの端末装置200の内部にあるメモリまたは格納装置201には、記録情報「CS1」141とするデータ「1,si1,(e,N)」が保存される。 In the initialization process in the user terminal device 200, the authentication data generator 211 receives a random number s i1 (s i1 ε {0,1} k ) randomly generated by the random number generator 210 and input from the user. The password pw is input, and the authentication data v i1 is calculated and generated based on the password pw. The authentication data is calculated by using the hash function H and “v i1 = s i1 + H (4‖C‖Si ハ ッ シ ュ pw)”. The authentication data v i1 generated by the calculation is transmitted to the authentication device 300 of the server. At this time, the user terminal device 200 outputs the counter (count value) 1, the random number s i1 generated by the random number generator 210, and the RSA public key (e, N) received from the server authentication device 300. The recorded information “CS1” 141 is stored in the storage device 201. In this case, data “1, s i1 , (e, N)” to be recorded information “CS1” 141 is stored in the memory or storage device 201 inside the user terminal device 200.

サーバの認証装置300においては、初期化の処理として、図4の右側に示されるように、RSA鍵生成器310が、セキュリティパラメータLに基づき、所定の演算式によって公開鍵(e,N)と秘密鍵(d,N)を生成して出力する。ここで生成された公開鍵(e,N)は、ユーザの端末装置200に送信される。公開鍵(e,N)のeは80ビット以上の素数である。サーバの認証装置300は、カウンタ(カウント値)1と、ユーザの端末装置200から受信した認証データvi1と、RSA鍵生成器310により生成された秘密鍵(d,N)とを共に、記録情報「SS1」151として保存する。すなわち、この場合には、サーバの認証装置300の内部にあるメモリあるいはデータベースの格納装置301に、記録情報「SS1」151として、データ「1,vi1,(d,N)」が保存される。 In the authentication apparatus 300 of the server, as shown in the right side of FIG. 4, the RSA key generator 310 performs the initialization process based on the security parameter L and the public key (e, N) using a predetermined arithmetic expression. A secret key (d, N) is generated and output. The public key (e, N) generated here is transmitted to the user terminal device 200. E of the public key (e, N) is a prime number of 80 bits or more. The server authentication device 300 records the counter (count value) 1, the authentication data v i1 received from the user terminal device 200, and the secret key (d, N) generated by the RSA key generator 310 together. Information “SS1” 151 is stored. That is, in this case, the data “1, v i1 , (d, N)” is stored as the record information “SS1” 151 in the memory or database storage device 301 inside the server authentication device 300. .

図5および図6は、二要素認証システム1の認証プロトコルの実行処理を説明する図である。図5には、二要素認証システム1のユーザの端末装置におけるj番目プロトコル実行のシステム要素が示されており、図6には、二要素認証システム1のサーバの認証装置におけるj番目プロトコル実行のシステム要素が示されている。図5および図6において、jはj≧1になるような整数である。二要素認証システム1のj番目プロトコル実行では、ユーザの端末装置200はユーザから入力されたパスワードpwと保持された記録情報CSjに基づいて、記録情報SSjを保持しているサーバの認証装置と安全ではない通信路(例えば、インタネットなど)を用いてお互いに相互認証し、その相互認証が成功した時、同じセッション鍵SKjを確保する。   5 and 6 are diagrams for explaining the authentication protocol execution process of the two-factor authentication system 1. FIG. 5 shows system elements for executing the j-th protocol in the terminal device of the user of the two-factor authentication system 1, and FIG. 6 shows execution of the j-th protocol in the authentication apparatus for the server of the two-factor authentication system 1. System elements are shown. 5 and 6, j is an integer such that j ≧ 1. In the execution of the j-th protocol of the two-factor authentication system 1, the user's terminal device 200 is based on the password pw input from the user and the recorded information CSj, and the authentication device of the server that holds the recorded information SSj. Are mutually authenticated using communication paths (for example, the Internet, etc.), and when the mutual authentication is successful, the same session key SKj is secured.

まず、図5を参照する。前述した初期化を行った後(j=1の時)あるいは二要素認証システムのj−1番目プロトコル実行を行った後(すなわち、CSj=(j,sij,(e,N),[SK])と、SSj=(j,vij,(d,N),[VK])の時)、ユーザの端末装置200とサーバの認証装置300との間で二要素認証システム1のj番目プロトコル実行を行う動作を説明する。 First, referring to FIG. After performing the above-described initialization (when j = 1) or after executing the j-1st protocol of the two-factor authentication system (that is, CSj = (j, s ij , (e, N), [SK ]) And SSj = (j, v ij , (d, N), [VK])), the j-th protocol of the two-factor authentication system 1 between the user terminal device 200 and the server authentication device 300 The operation to execute will be described.

図5は、二要素認証システム1のシステム例のユーザの端末装置200のシステム要素を示している。二要素認証システム1のj番目プロトコル実行の動作について説明する。初期化処理の後は、ユーザの端末装置200は記録情報「CSj」141として、データ「j,sij,(e,N)」を内部にあるメモリに保持している。 FIG. 5 shows system elements of the user terminal device 200 in the system example of the two-factor authentication system 1. An operation of executing the j-th protocol in the two-factor authentication system 1 will be described. After the initialization process, the user terminal device 200 holds data “j, s ij , (e, N)” in the internal memory as the record information “CSj” 141.

認証データ生成器211は、ユーザから入力されたパスワードpwと、メモリ212から読み出した乱数sijを入力として、認証データvijを計算して出力する。認証データvijの計算では、ハッシュ関数Hを用いて、計算式「vij=sij+H(4‖C‖S‖pw)」を計算して出力する。マスク生成器213は、認証データ生成器211から生成された認証データvijとメモリ212から読み出したカウンタ(カウント値)jを入力として、マスクW=G(j,vij)を計算して出力する。RSA暗号演算器215は、乱数発生器210によりランダムに発生させた乱数x,x(x,x∈Z )と、メモリ212から読み出した公開鍵(e,N)を入力として、暗号文「y=x mod N」と、暗号文「y=x mod N」を計算して出力する。結合器214は、マスク生成器213から生成されたマスクWと、乱数発生器210により発生させた乱数xと、RSA暗号演算器215から出力された暗号文「y」を入力として、マスクされた暗号文「z=y・x・W mod N」を計算して出力する。ユーザの端末装置200は、クライアントIDの情報であるCと、メモリから読み出したカウンタ(カウント値)jと、結合器214により出力されたマスク暗号文zと、RSA暗号演算器215により出力された暗号文「y」の各データ「C,j,z、y」をサーバの認証装置300へ送信する。 The authentication data generator 211 calculates and outputs the authentication data v ij with the password pw input from the user and the random number s ij read from the memory 212 as inputs. In the calculation of the authentication data v ij , the calculation formula “v ij = s ij + H (4‖C‖S i ‖pw)” is calculated and output using the hash function H. The mask generator 213 inputs the authentication data v ij generated from the authentication data generator 211 and the counter (count value) j read from the memory 212, calculates a mask W = G (j, v ij ), and outputs it. To do. The RSA cryptographic operation unit 215 receives the random numbers x 1 and x 2 (x 1 , x 2 εZ N * ) randomly generated by the random number generator 210 and the public key (e, N) read from the memory 212. The ciphertext “y 1 = x 1 e mod N” and the cipher text “y 2 = x 2 e mod N” are calculated and output. The combiner 214 receives the mask W generated from the mask generator 213, the random number x 2 generated by the random number generator 210, and the ciphertext “y 1 ” output from the RSA cipher operation unit 215 as an input. The ciphertext “z = y 1 · x 2 · W mod N” is calculated and output. The terminal device 200 of the user has the client ID information C, the counter (count value) j read from the memory, the mask ciphertext z output by the combiner 214, and the RSA encryption calculator 215 output Each data “C, j, z, y 2 ” of the ciphertext “y 2 ” is transmitted to the authentication device 300 of the server.

続いて、認証結果判断部216の判断のデータ処理により、サーバの認証装置300から受信したデータ「VSi」が正しく生成された値であるかどうかを確認する。認証結果判断部216は、メモリ212から読み出したカウンタ(カウント値)jと、結合器214により出力されたマスクされた暗号文zと、RSA暗号演算器215により出力された暗号文「y」と、認証データ生成器211から生成された認証データvijと、乱数発生器210により発生させた乱数x,xとを入力として、ハッシュ関数H(1‖C‖S‖j‖z‖y‖vij‖x‖x)を計算して、サーバの認証装置300から受信したデータ「VSi」と比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。認証結果判断部216の判断処理において、データ「VSi」と計算したハッシュ関数H(1‖C‖S‖j‖z‖y‖vij‖x‖x)が一致しないことを判断した場合には、認証結果判断部216は、エラーメッセージ発生器219に対して、一致しないことを通知する。 Subsequently, it is confirmed whether the data “V Si ” received from the authentication device 300 of the server is a correctly generated value by the data processing of the determination of the authentication result determination unit 216. The authentication result determination unit 216 reads the counter (count value) j read from the memory 212, the masked ciphertext z output from the combiner 214, and the ciphertext “y 2 ” output from the RSA cipher calculator 215. And the authentication data v ij generated from the authentication data generator 211 and the random numbers x 1 and x 2 generated by the random number generator 210 as inputs, the hash function H (1‖C‖S i ‖j‖z ‖Y 2 ‖v ij ‖x 1 ‖x 2 ) is calculated and compared with the data “V Si ” received from the server authentication device 300. Here, instead of the hash function H, a MAC (Message Authentication Code) may be used. In the determination process of the authentication result determination unit 216, it is confirmed that the data “V Si ” and the calculated hash function H (1‖C‖S i ‖j‖z‖y 2 ‖v ij ‖x 1 ‖x 2 ) do not match. If it is determined, the authentication result determination unit 216 notifies the error message generator 219 that they do not match.

これを受けて、エラーメッセージ発生器219はエラーメッセージを生成して処理を中断する。一方、認証結果判断部216において。データ「VSi」とハッシュ関数H(1‖C‖S‖j‖z‖y‖vij‖x‖x)が一致した場合は、サーバの認証装置300を正当な装置として認証して、認証結果判断部216から「InputMsg」を出力する。ここでの「InputMsg」のデータは、計算式「C‖S‖j‖z‖y‖vij‖x‖x」の出力データである。認証子生成器217は、認証結果判断部216から出力されて入力された「InputMsg」から、認証子Vを計算式「V=H(2‖InputMsg)」により計算して出力する。ユーザの端末装置200は、認証子生成器216により出力された認証子Vを、サーバの認証装置300へ送信する。セッション鍵生成器218は、認証結果判断部216から出力された「InputMsg」を入力として、セッション鍵SKijを計算式「SKij=H(3‖InputMsg)」の演算により計算して生成し、生成されたセッション鍵SKijを出力する。秘密値更新器203は、メモリ212から読み出した乱数sijと、認証結果判断部216から出力された「InputMsg」を入力として、j+1番目の乱数si(j+1)を、演算式「si(j+1)=sij+H(4‖InputMsg)」の計算により生成し、カウンタ(カウント値)j+1とともに出力する。ユーザの端末装置200においては、メモリ212に保持している記録情報の一部のデータの現在のカウンタ(カウント値)と乱数の組である「j,sij」を、秘密値更新器203により出力された次のカウンタ(カウント値)と乱数の組である「j+1,si(j+1)」に書き換えて、機密値である記録情報を更新する。 In response to this, the error message generator 219 generates an error message and interrupts the processing. On the other hand, in the authentication result determination unit 216. If the data “V Si ” matches the hash function H (1‖C‖S i ‖j‖z‖y 2 ‖v ij ‖x 1 ‖x 2 ), the server authentication device 300 is authenticated as a valid device. Then, “InputMsg” is output from the authentication result determination unit 216. The data of “InputMsg” here is output data of the calculation formula “C‖S i ‖j‖z‖y 2 ‖v ij ‖x 1 ‖x 2 ”. Authenticator generating unit 217, the authentication result from the "InputMsg" input is output from the determination unit 216, and outputs the calculated by the authenticator V C equation "V C = H (2‖InputMsg)". Terminal 200 of the user, the authenticator V C output by the authentication code generation unit 216, and transmits to the authentication device 300 of the server. The session key generator 218 receives the “InputMsg” output from the authentication result determination unit 216 as an input, generates a session key SK ij by calculating the calculation formula “SK ij = H (3‖InputMsg)”, The generated session key SK ij is output. The secret value updater 203 receives the random number s ij read from the memory 212 and “InputMsg” output from the authentication result determination unit 216 as input, and obtains the j + 1-th random number s i (j + 1) from the arithmetic expression “s i ( j + 1) = s ij + H (4‖InputMsg) ”and output together with the counter (count value) j + 1. In the terminal device 200 of the user, the secret value updater 203 sends “j, s ij ”, which is a set of a current counter (count value) of a part of the recorded information stored in the memory 212 and a random number. The information is rewritten to “j + 1, s i (j + 1) ” which is a set of the next counter (count value) and random number that is output, and the record information that is a confidential value is updated.

図6は、二要素認証システム1のシステム例のサーバの認証装置300のシステム要素を示している。二要素認証システム1のj番目プロトコル実行の動作について説明する。この時、サーバの認証装置300は、認証プロトコル実行のための記録情報SSjのデータ「j,vij,(d,N)」を格納装置301の内部にあるメモリあるいはデータベース313に保持している。 FIG. 6 shows system elements of the server authentication apparatus 300 in the system example of the two-factor authentication system 1. An operation of executing the j-th protocol in the two-factor authentication system 1 will be described. At this time, the server authentication apparatus 300 holds the data “j, v ij , (d, N)” of the record information SSj for executing the authentication protocol in the memory or the database 313 inside the storage device 301. .

サーバの認証装置300において、カウンタ正確性判断部311は、ユーザの端末装置200から受信したカウンタ(カウント値)jの正確性を確認する。カウンタ正確性判断部311は、データベース313から読み出したカウンタ(カウント値)jを、ユーザの端末装置200から受信したカウンタ(カウント値)jと比較して一致しない場合、エラーメッセージ発生器312に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器312はエラーメッセージを生成して処理を中断する。一方、カウンタ正確性判断部311の判断処理において、データベース313から読み出したカウンタ(カウント値)jをユーザの端末装置200から受信したカウンタ(カウント値)jと比較して一致した場合は、続けて次の処理を行う。   In the server authentication device 300, the counter accuracy determination unit 311 confirms the accuracy of the counter (count value) j received from the user terminal device 200. The counter accuracy determination unit 311 compares the counter (count value) j read from the database 313 with the counter (count value) j received from the user's terminal device 200, and does not match the error message generator 312. To notify that they do not match. In response, the error message generator 312 generates an error message and interrupts the processing. On the other hand, in the determination process of the counter accuracy determination unit 311, if the counter (count value) j read from the database 313 is compared with the counter (count value) j received from the user terminal device 200, Perform the following process.

マスク生成器315は、データベース313から読み出したカウンタ(カウント値)jと認証データvijを入力として、マスクW=G(j,vij)を計算して出力する。RSA復号演算器314は、ユーザの端末装置200から受信した暗号文yとデータベース313から読み出したRSA秘密鍵(d,N)を入力として、乱数xを、計算式「x=y mod N」により計算して出力する。分離器316は、ユーザの端末装置200から受信したマスクした暗号文zと、RSA復号演算器314により出力された乱数xと、マスク生成器315により生成されたマスクWを入力として、暗号文yを、計算式「y=z/(x・W) mod N」により計算して出力する。再び、RSA復号演算器314は、分離器316により出力された暗号文yと、データベース313から読み出したRSA秘密鍵(d,N)を入力として、乱数xを、計算式「x=y mod N」により計算して、乱数xと共に出力する。認証子生成器317は、ユーザの端末装置200から受信したデータ「j,z,y」とデータベース313から読み出した認証データvijと、RSA復号演算器314により出力された乱数x,xを入力として、認証子VSiを、計算式「VSi=H(1‖C‖S‖j‖z‖y‖vij‖x‖x)」により計算して、「InputMsg」と共に出力する。ここでの「InputMsg」は、計算式「C‖S‖j‖z‖y‖vij‖x‖x」により計算されたデータである。サーバの認証装置300は、認証子生成器317により計算して得られた認証データVSiとサーバのIDの情報である「S」をユーザの端末装置200へ送信する。 The mask generator 315 calculates and outputs a mask W = G (j, v ij ) with the counter (count value) j and the authentication data v ij read from the database 313 as inputs. The RSA decryption calculator 314 receives the ciphertext y 2 received from the user terminal device 200 and the RSA private key (d, N) read from the database 313 as input, and uses the random number x 2 as a calculation formula “x 2 = y 2 d mod N ”to calculate and output. Separator 316 as an input ciphertext z masked received from the terminal apparatus 200 of the user, the random number x 2 output by the RSA decryption calculation 314, a mask W generated by the mask generator 315, the ciphertext y 1 is calculated by the calculation formula “y 1 = z / (x 2 · W) mod N” and output. Again, the RSA decryption calculator 314 receives the ciphertext y 1 output from the separator 316 and the RSA private key (d, N) read from the database 313 as input, and uses the random number x 1 as the formula “x 1 = y 1 d mod N ”and output together with the random number x 2 . The authenticator generator 317 includes data “j, z, y 2 ” received from the user terminal device 200, authentication data v ij read from the database 313, and random numbers x 1 , x output from the RSA decryption calculator 314. 2 as an input, the authenticator V Si is calculated by the calculation formula “V Si = H (1‖C‖S i ‖j‖z‖y 2 ‖v ij ‖x 1 ‖x 2 )”, and “InputMsg "And output. Here, “InputMsg” is data calculated by a calculation formula “C‖S i ‖j‖z‖y 2 ‖v ij ‖x 1 ‖x 2 ”. The server authentication device 300 transmits the authentication data V Si obtained by the authentication code generator 317 and “S i ”, which is server ID information, to the user terminal device 200.

認証結果判断部318は、認証子生成器317から出力された「InputMsg」を入力として、ハッシュ関数H(2‖InputMsg)を計算して、ユーザの端末装置200から受信した認証子Vと比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。認証結果判断部318において認証子Vと、計算したハッシュ関数H(2‖InputMsg)とが一致しない場合、認証結果判断部318は、エラーメッセージ発生器320に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器320はエラーメッセージを生成して処理を中断する。 Comparison authentication result determination unit 318 is input with "InputMsg" outputted from the authenticator generating unit 317 calculates the hash function H (2‖InputMsg), and authenticator V C received from the terminal apparatus 200 of the user To do. Here, instead of the hash function H, a MAC (Message Authentication Code) may be used. If the authentication result and the authenticator V C in the determination unit 318, and the calculated hash function H (2‖InputMsg) do not match, the authentication result determination unit 318 notifies the error message generator 320 does not match . In response, the error message generator 320 generates an error message and stops processing.

一方、認証結果判断部318において、認証子Vと計算したハッシュ関数H(2‖InputMsg)が一致した場合は、ユーザの端末装置200を正当な装置として認証する。セッション鍵生成器319は、認証子生成器317から出力された「InputMsg」を入力として、セッション鍵SKijを、計算式「SKij=H(3‖InputMsg)」の計算により生成して出力する。秘密値更新器303は、データベース313から読み出した認証データvijと、認証子生成器317から入力された「InputMsg」を入力として、j+1番目の認証データvi(j+1)を、計算式「vi(j+1)=vij+H(4‖InputMsg)」により計算して、カウンタ(カウント値)j+1と共に出力する。サーバの認証装置300は、データベース313に保持している現在のカウンタ(カウント値)と認証データの組である「j,vij」を、秘密値更新器303により出力された次のカウンタ(カウント値)と認証データの組である「j+1,vi(j+1)」に書き換える。 On the other hand, the authentication at the result of the determination unit 318, if the hash function H and the calculated authenticator V C (2‖InputMsg) match, authenticates the terminal device 200 of the user as a legitimate device. The session key generator 319 receives “InputMsg” output from the authenticator generator 317 as an input, and generates and outputs a session key SK ij by calculation of the calculation formula “SK ij = H (3 計算 InputMsg)”. . The secret value updater 303 uses the authentication data v ij read from the database 313 and “InputMsg” input from the authenticator generator 317 as inputs, and the j + 1-th authentication data v i (j + 1) is calculated using the formula “v i (j + 1) = v ij + H (4‖InputMsg) ”and output together with the counter (count value) j + 1. The server authentication apparatus 300 uses the current counter (count value) stored in the database 313 and the authentication data “j, v ij ” as the next counter (count) output from the secret value updater 303. Value) and authentication data, “j + 1, vi (j + 1) ”.

(2)二要素認証システム2:
次に、二要素認証システム2のシステム例について説明する。図7および図8は、二要素認証システム2の初期化処理を説明する図である。図7に初期化処理で用いられるユーザの端末装置200のシステム要素が示されており、図8に初期化処理で用いられるサーバの認証装置300システム要素が示されている。図7および図8を参照して、ユーザの端末装置200とサーバの認証装置300との間の二要素認証システムの初期化動作を説明する。
(2) Two-factor authentication system 2:
Next, a system example of the two-factor authentication system 2 will be described. 7 and 8 are diagrams for explaining the initialization process of the two-factor authentication system 2. FIG. 7 shows system elements of the user terminal device 200 used in the initialization process, and FIG. 8 shows server authentication apparatus 300 system elements used in the initialization process. The initialization operation of the two-factor authentication system between the user terminal device 200 and the server authentication device 300 will be described with reference to FIGS.

二要素認証システム2におけるユーザの端末装置200の初期化の動作について説明する。図7に示すように、ユーザの端末装置200の認証データ生成器221は、乱数発生器220によりランダムに発生させた乱数si1(si1∈{0,1})と、ユーザから入力されたパスワードpwとを入力して、認証データvi1を計算して出力する。認証データvi1の計算は、ハッシュ関数を用いて計算式「vi1=si1+H(4‖C‖S‖pw)」により計算する。署名鍵生成器222は、セキュリティパラメータに基づいて、検証鍵VKと署名鍵SKの対(VK,SK)を生成して出力する。ユーザの端末装置200からサーバの認証装置300へは、認証データ生成器221から生成された認証データvi1と署名鍵生成器222から生成された検証鍵VKを、サーバの認証装置300における記録情報生成のために送信する。ユーザの端末装置200においては、カウンタ(カウント値)1と、乱数発生器220により発生させた乱数si1と、サーバの認証装置300から受信したRSA公開鍵(e,N)と、署名鍵生成器222から生成された署名鍵SKとを、記録情報「CS1」142として保存する。この場合に、ユーザの端末装置200の内部メモリの格納装置201には、記録情報「CS1」142としてデータ「1,si1,(e,N),SK」が保存される。 An operation of initializing the user terminal device 200 in the two-factor authentication system 2 will be described. As shown in FIG. 7, the authentication data generator 221 of the user terminal device 200 receives a random number s i1 (s i1 ε {0,1} k ) randomly generated by the random number generator 220 and input from the user. The password pw is input and the authentication data v i1 is calculated and output. The authentication data v i1 is calculated by a calculation formula “v i1 = s i1 + H (4‖C‖S i ‖pw)” using a hash function. The signature key generator 222 generates and outputs a pair (VK, SK) of the verification key VK and the signature key SK based on the security parameter. From the user terminal device 200 to the server authentication device 300, the authentication data v i1 generated from the authentication data generator 221 and the verification key VK generated from the signature key generator 222 are recorded in the server authentication device 300. Send for generation. In the user terminal device 200, the counter (count value) 1, the random number s i1 generated by the random number generator 220, the RSA public key (e, N) received from the server authentication device 300, and the signature key generation The signature key SK generated from the device 222 is stored as the record information “CS1” 142. In this case, the data “1, s i1 , (e, N), SK” is stored as the record information “CS1” 142 in the storage device 201 of the internal memory of the user terminal device 200.

次に、二要素認証システム2におけるサーバの認証装置300の初期化の動作について説明する。図8に示すように、サーバの認証装置300においては、RSA鍵生成器321が、セキュリティパラメータLに基づいて、公開鍵(e,N)と秘密鍵(d,N)を生成して出力する。公開鍵(e,N)はユーザの端末装置200へ送信する。サーバの認証装置300は、カウンタ(カウント値)1と、ユーザの端末装置200から受信した認証データvi1および検証鍵VKと、RSA鍵生成器321により生成された秘密鍵(d,N)とを、記録情報「SS1」152として保存する。この場合に、サーバの認証装置300の内部メモリあるいはデータベースの格納装置301には、記録情報「SS1」152として、データ「1,vi1,(d,N),VK」が保存される。 Next, the initialization operation of the server authentication device 300 in the two-factor authentication system 2 will be described. As shown in FIG. 8, in the server authentication apparatus 300, the RSA key generator 321 generates and outputs a public key (e, N) and a secret key (d, N) based on the security parameter L. . The public key (e, N) is transmitted to the user terminal device 200. The server authentication device 300 includes a counter (count value) 1, authentication data v i1 and verification key VK received from the user terminal device 200, and a secret key (d, N) generated by the RSA key generator 321. Is stored as record information “SS1” 152. In this case, data “1, v i1 , (d, N), VK” is stored as recorded information “SS1” 152 in the internal memory of the server authentication device 300 or the database storage device 301.

図9および図10は、二要素認証システム2の認証プロトコルの実行処理を説明する図である。図9には、二要素認証システム2のユーザの端末装置におけるj番目プロトコル実行のシステム要素が示されており、図10には、二要素認証システム2のサーバの認証装置におけるj番目プロトコル実行のシステム要素が示されている。図9および図10において、jはj≧1になるような整数である。二要素認証システムのj番目プロトコル実行では、ユーザの端末装置200はユーザから入力されたパスワードpwと保持された記録情報CSjに基づいて、記録情報SSjを保持しているサーバの認証装置と安全ではない通信路を用いてお互いに相互認証し、その相互認証が成功した時、同じセッション鍵SKを確保する。   FIG. 9 and FIG. 10 are diagrams for explaining an authentication protocol execution process of the two-factor authentication system 2. FIG. 9 shows system elements for executing the j-th protocol in the user terminal device of the two-factor authentication system 2, and FIG. 10 shows execution of the j-th protocol in the server authentication apparatus for the two-factor authentication system 2. System elements are shown. 9 and 10, j is an integer such that j ≧ 1. In the execution of the j-th protocol of the two-factor authentication system, the user terminal device 200 is not as secure as the server authentication device holding the record information SSj based on the password pw input from the user and the record information CSj held. Mutually authenticate using a non-communication channel, and when the mutual authentication is successful, the same session key SK is secured.

図9を参照して、二要素認証システム2のユーザの端末装置200のj番目プロトコル実行の動作について説明する。初期化処理の後は、ユーザの端末装置200は記録情報CSjとして、データ「j,sij,(e,N),SK」を内部にあるメモリに保持している。 With reference to FIG. 9, the operation of the j-th protocol execution of the terminal device 200 of the user of the two-factor authentication system 2 will be described. After the initialization process, the user terminal device 200 holds data “j, s ij , (e, N), SK” in the internal memory as the record information CSj.

認証データ生成器221は、ユーザから入力されたパスワードpwと、メモリ204から読み出した乱数sijを入力として、認証データvijを計算式「vij=sij+H(4‖C‖S‖pw)」により計算して出力する。マスク生成器223は、認証データ生成器221から生成された認証データvijと、メモリ204から読み出したカウンタ(カウント値)jを入力として、マスクW=G(j,vij)を計算して出力する。そして、RSA暗号演算器225は、乱数発生器220によって、ランダムに発生させた乱数x(x∈Z )と、メモリ204から読み出した公開鍵(e,N)を入力として、暗号文yを計算式「y=x mod N」により計算して出力する。結合器224は、マスク生成器223から生成されたマスクWと、RSA暗号演算器225から出力された暗号文yを入力として、マスクされた暗号文zを計算式「Z=y・W mod N」により計算して出力する。ユーザの端末装置200は、クライアントIDの情報であるCと、メモリ204から読み出したカウンタ(カウント値)jと、結合器224により出力されたマスクされた暗号文zをサーバの認証装置300へ送信する。 The authentication data generator 221 receives the password pw input from the user and the random number s ij read from the memory 204 as input, and calculates the authentication data v ij with the formula “v ij = s ij + H (4‖C‖S i ‖ pw) "and output. The mask generator 223 calculates the mask W = G (j, v ij ) using the authentication data v ij generated from the authentication data generator 221 and the counter (count value) j read from the memory 204 as inputs. Output. Then, the RSA encryption calculator 225 receives the random number x (xεZ N * ) randomly generated by the random number generator 220 and the public key (e, N) read from the memory 204 as input, and the ciphertext y Is calculated by the calculation formula “y = x e mod N” and output. The combiner 224 receives the mask W generated from the mask generator 223 and the ciphertext y output from the RSA cipher operation unit 225 as input, and calculates the masked ciphertext z using the formula “Z = y · W mod N ”To calculate and output. The user terminal device 200 transmits the client ID information C, the counter (count value) j read from the memory 204, and the masked ciphertext z output from the combiner 224 to the server authentication device 300. To do.

続いて、認証結果判断部226は、サーバの認証装置300から受信した認証子VSiが正しく生成された値であるかどうかを確認する。認証結果判断部226は、メモリ204から読み出したカウンタ(カウント値)jと、結合器224により出力されたマスクされた暗号文zと、認証データ生成器221から生成された認証データvijと、乱数発生器220により発生させた乱数xを入力して、ハッシュ関数H(1‖C‖S‖j‖z‖vij‖x)を計算して、サーバの認証装置300から受信した認証子VSiと比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。認証結果判断部226において、認証子VSiとハッシュ関数H(1‖C‖S‖j‖z‖vij‖x)が一致しない場合、認証結果判断部226は、エラーメッセージ発生器229に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器229はエラーメッセージを生成して、処理を中断する。 Subsequently, the authentication result determination unit 226 confirms whether or not the authenticator V Si received from the server authentication device 300 is a correctly generated value. The authentication result determination unit 226 includes a counter (count value) j read from the memory 204, the masked ciphertext z output from the combiner 224, the authentication data v ij generated from the authentication data generator 221, The random number x generated by the random number generator 220 is input, the hash function H (1‖C‖S i ‖j‖z‖v ij ‖x) is calculated, and the authenticator received from the authentication device 300 of the server. Compare with V Si . Here, instead of the hash function H, a MAC (Message Authentication Code) may be used. When the authentication result determination unit 226 does not match the authenticator V Si and the hash function H (1‖C‖S i ‖j‖z‖v ij ‖x), the authentication result determination unit 226 sends an error message generator 229 to the error message generator 229. In contrast, it notifies that they do not match. In response, the error message generator 229 generates an error message and interrupts the processing.

一方、認証結果判断部226の判断処理において、認証子VSiとハッシュ関数H(1‖C‖S‖j‖z‖vij‖x)が一致した場合は、サーバの認証装置300を正当な装置として認証して、「InputMsg」を出力する。ここでの「InputMsg」のデータは、計算式「1‖C‖S‖j‖z‖vij‖x」の出力データである。署名生成器227は、メモリ204から読み出した署名鍵SKと、認証結果判断部226から入力された「InputMsg」から署名文Vを、計算式「V=SignSK(m)」により計算して出力する。ここで、メッセージmはハッシュ関数H(2‖InputMsg)である。ユーザの端末装置200は、署名生成器227により出力された署名文Vをサーバの認証装置300へ送信する。セッション鍵生成器228は、認証結果判断部226から入力された「InputMsg」を入力として、セッション鍵SKijを計算式「SKij=H(3‖InputMsg)」の計算により生成して出力する。秘密値更新器203は、メモリ204から読み出した乱数sijと、認証結果判断部226から入力された「InputMsg」を入力として、j+1番目の乱数si(j+1)を、計算式「si(j+1)=sij+H(4‖InputMsg)」により計算し、カウンタ(カウント値)j+1とともに出力する。ユーザの端末装置200は、メモリ204に保持している現在のカウンタ(カウント値)と乱数の組である「j,sij」を、秘密値更新器203により出力された次のカウンタ(カウント値)と乱数の組である「j+1,si(j+1)」に書き換える。 On the other hand, if the authenticator V Si and the hash function H (1‖C‖S i ‖j‖z‖v ij ‖x) match in the determination process of the authentication result determination unit 226, the server authentication device 300 is validated. Authenticate as a secure device and output "InputMsg". The data of “InputMsg” here is output data of the calculation formula “1‖C‖S i ‖j‖z‖v ij ‖x”. Signature generator 227, a signature key SK read from the memory 204, the signature text V C is input from the authentication result determination unit 226 from the "InputMsg", calculated by the calculation equation "V C = Sign SK (m)" Output. Here, the message m is a hash function H (2‖InputMsg). Terminal 200 of the user transmits the signature text V C output by the signature generator 227 to the authentication device 300 of the server. The session key generator 228 receives “InputMsg” input from the authentication result determination unit 226 and generates and outputs a session key SK ij by calculation of a calculation formula “SK ij = H (3‖InputMsg)”. The secret value updater 203 receives the random number s ij read from the memory 204 and “InputMsg” input from the authentication result determination unit 226 as input, and obtains the j + 1-th random number s i (j + 1) from the formula “s i ( j + 1) = s ij + H (4‖InputMsg) ”and output together with the counter (count value) j + 1. The user terminal device 200 uses the current counter (count value) and random number “j, s ij ” stored in the memory 204 as the next counter (count value) output by the secret value updater 203. ) And a random number, “j + 1, s i (j + 1) ”.

図10は、二要素認証システム2のサーバの認証装置300のj番目プロトコル実行のシステム要素を示している。図10を参照して、二要素認証システム2のj番目プロトコル実行の動作について説明する。この時、サーバの認証装置300は、認証プロトコル実行のための記録情報SSjのデータ「j,vij,(d,N),VK」を格納装置301の内部にあるメモリあるいはデータベース323に保持している。 FIG. 10 shows system elements for executing the j-th protocol of the authentication apparatus 300 of the server of the two-factor authentication system 2. With reference to FIG. 10, the operation of the j-th protocol execution of the two-factor authentication system 2 will be described. At this time, the server authentication device 300 holds the data “j, v ij , (d, N), VK” of the record information SSj for executing the authentication protocol in the memory or database 323 inside the storage device 301. ing.

サーバの認証装置300において、カウンタ正確性判断部322は、ユーザの端末装置200から受信したカウンタ(カウント値)jの正確性を確認する。カウンタ正確性判断部322は、データベース323から読み出したカウンタ(カウント値)jを、ユーザの端末装置200から受信したカウンタ(カウント値)jと比較して一致しない場合、エラーメッセージ発生器330に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器330はエラーメッセージを生成して処理を中断する。   In the server authentication device 300, the counter accuracy determination unit 322 confirms the accuracy of the counter (count value) j received from the user terminal device 200. The counter accuracy determination unit 322 compares the counter (count value) j read from the database 323 with the counter (count value) j received from the user's terminal device 200, and does not match the error message generator 330. To notify that they do not match. In response to this, the error message generator 330 generates an error message and interrupts the processing.

一方、カウンタ正確性判断部322の判断処理において、データベース323から読み出したカウンタ(カウント値)jをユーザの端末装置から受信したカウンタ(カウント値)jと比較して、一致した場合は、続けて次の処理を行う。   On the other hand, in the determination process of the counter accuracy determination unit 322, the counter (count value) j read from the database 323 is compared with the counter (count value) j received from the user terminal device. Perform the following process.

マスク生成器325は、データベース323から読み出したカウンタ(カウント値)jと認証データvijを入力として、マスクW=G(j,vij)を計算して出力する。分離器326は、ユーザの端末装置200から受信したマスクした暗号文zと、マスク生成器325により生成されたマスクWを入力として、暗号文yを、計算式「y=z/W mod N」により計算して出力する。RSA復号演算器324は、分離器326により出力された暗号文yと、データベース323から読み出したRSA秘密鍵(d,N)を入力として、乱数xを、計算式「x=y mod N」により計算して出力する。認証子生成器327は、ユーザの端末装置200から受信した認証用のデータ「j,z」と、データベース323から読み出した認証データvijと、RSA復号演算器324により出力された乱数xを入力として、認証子VSiを、ハッシュ関数による計算式「VSi=H(1‖C‖S‖j‖z‖vij‖x)」により計算して「InputMsg」と共に出力する。ここで、「InputMsg」は、計算式「C‖S‖j‖z‖vij‖x」により計算されたデータである。サーバの認証装置300は、認証子生成器327により計算して得られた認証子VSiとサーバのIDの情報であるSを、ユーザの端末装置200へ送信する。 The mask generator 325 receives the counter (count value) j read from the database 323 and the authentication data v ij as inputs, calculates and outputs a mask W = G (j, v ij ). The separator 326 receives the masked ciphertext z received from the terminal device 200 of the user and the mask W generated by the mask generator 325 as input, and converts the ciphertext y into the formula “y = z / W mod N”. Calculate and output by The RSA decryption calculator 324 receives the ciphertext y output from the separator 326 and the RSA private key (d, N) read from the database 323 as input, and the random number x is calculated using the formula “x = y d mod N”. Calculate and output by The authenticator generator 327 receives the authentication data “j, z” received from the user terminal device 200, the authentication data v ij read from the database 323, and the random number x output from the RSA decryption calculator 324. Then, the authenticator V Si is calculated by a calculation function “V Si = H (1‖C‖S i ‖j‖z‖v ij ‖x)” based on the hash function and output together with “InputMsg”. Here, “InputMsg” is data calculated by the calculation formula “C‖S i ‖j‖z‖v ij ‖x”. Authentication device 300 of the server, the S i is information authenticator V Si and server ID obtained by calculating the authentication code generation unit 327, and transmits to the terminal device 200 of the user.

続いて、署名検証結果判断部328は、ユーザの端末装置200から受信した署名文Vと、認証子生成器327から出力された「InputMsg」と、データベース323から読み出した検証鍵VKを入力として、関数VerVK(m,V)を計算して、署名文Vの検証を行う。ここで、メッセージmはハッシュ関数H(2‖InputMsg)であり、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。署名検証結果判断部328において、署名文(m,V)が検証できない場合、署名検証結果判断部328は、エラーメッセージ発生器331に対して、検証できないことを通知する。これを受けて、エラーメッセージ発生器331はエラーメッセージを生成して処理を中断する。 Then, the signature verification result determining unit 328, a signature text V C received from the terminal apparatus 200 of the user, and output from the authenticator generating unit 327 "InputMsg", as the input verification key VK read from the database 323 , to calculate the function Ver VK (m, V C) , carry out the verification of the signature statement V C. Here, the message m is a hash function H (2‖InputMsg), and instead of the hash function H, a MAC (Message Authentication Code) may be used. If the signature verification result determination unit 328 cannot verify the signature text (m, V C ), the signature verification result determination unit 328 notifies the error message generator 331 that the verification cannot be performed. In response to this, the error message generator 331 generates an error message and interrupts the processing.

一方、署名検証結果判断部328の判断処理において、署名文(m,V)が検証できた場合には、ユーザの端末装置を正当な装置として認証する。セッション鍵生成器329は、認証子生成器327から出力された「InputMsg」を入力として、セッション鍵SKijを、計算式「SKij=H(3‖InputMsg)」の計算により、生成して出力する。秘密値更新器303は、データベース323から読み出した認証データvijと、認証子生成器327から入力された「InputMsg」を入力として、j+1番目の認証データvi(j+1)を、計算式「vi(j+1)=vij+H(4‖InputMsg)」により計算して、カウンタ(カウント値)j+1と共に出力する。サーバの認証装置300は、データベース323に保持している現在のカウンタ(カウント値)と認証データの組である「j,vij」を、秘密値更新器303により出力された次のカウンタ(カウント値)と認証データの組である「j+1,vi(j+1)」に書き換える。 On the other hand, when the signature sentence (m, V C ) is verified in the determination process of the signature verification result determination unit 328, the user terminal device is authenticated as a valid device. Session key generator 329 receives “InputMsg” output from authenticator generator 327 as input, and generates and outputs session key SK ij by calculation of calculation formula “SK ij = H (3‖InputMsg)”. To do. The secret value updater 303 uses the authentication data v ij read from the database 323 and “InputMsg” input from the authenticator generator 327 as inputs, and the j + 1-th authentication data v i (j + 1) is calculated using the formula “v i (j + 1) = v ij + H (4‖InputMsg) ”and output together with the counter (count value) j + 1. The server authentication apparatus 300 uses the current counter (count value) held in the database 323 and the authentication data “j, v ij ” as the next counter (count) output from the secret value updater 303. Value) and authentication data, “j + 1, vi (j + 1) ”.

(3)二要素認証システム3:
次に、二要素認証システム3のシステム例について説明する。図11および図12は、二要素認証システム3の初期化処理を説明する図である。図11に初期化処理で用いられるユーザの端末装置200のシステム要素が示されており、図12には、初期化処理で用いられるサーバの認証装置300システム要素が示されている。図11および図12を参照して、ユーザの端末装置200とサーバの認証装置300との間の二要素認証システムの初期化処理を説明する。
(3) Two-factor authentication system 3:
Next, a system example of the two-factor authentication system 3 will be described. 11 and 12 are diagrams for explaining the initialization process of the two-factor authentication system 3. FIG. 11 shows system elements of the user terminal device 200 used in the initialization process, and FIG. 12 shows server authentication apparatus 300 system elements used in the initialization process. The initialization process of the two-factor authentication system between the user terminal device 200 and the server authentication device 300 will be described with reference to FIGS. 11 and 12.

二要素認証システム3におけるユーザの端末装置200の初期化の動作について説明する。図11に示すように、ユーザの端末装置200の認証データ生成器231は、乱数発生器230によりランダムに発生させた乱数si1(si1∈{0,1})と、ユーザから入力されたパスワードpwとを入力して、認証データvi1を計算して出力する。認証データvi1の計算は、ハッシュ関数を用いて計算式「vi1=si1+H(4‖C‖S‖pw)」により計算する。署名鍵生成器254は、セキュリティパラメータに基づいて、検証鍵VKと署名鍵SKの対(VK,SK)を生成して出力する。ユーザの端末装置200からサーバの認証装置300へは、認証データ生成器231から生成された認証データvi1と署名鍵生成器254から生成された検証鍵VKを、サーバの認証装置300における記録情報生成のために送信する。ユーザの端末装置200においては、カウンタ(カウント値)1と、乱数発生器230により発生させた乱数si1と、サーバの認証装置300から受信したRSA公開鍵(e,N)と、署名鍵生成器254から生成された署名鍵SKとを、記録情報「CS1」143として保存する。この場合に、ユーザの端末装置200の内部メモリの格納装置201には、記録情報「CS1」143としてデータ「1,si1,(e,N),SK」が保存される。 An operation of initializing the user terminal device 200 in the two-factor authentication system 3 will be described. As shown in FIG. 11, the authentication data generator 231 of the user terminal device 200 receives a random number s i1 (s i1 ε {0,1} k ) randomly generated by the random number generator 230 and input from the user. The password pw is input and the authentication data v i1 is calculated and output. The authentication data v i1 is calculated by a calculation formula “v i1 = s i1 + H (4‖C‖S i ‖pw)” using a hash function. The signature key generator 254 generates and outputs a pair (VK, SK) of the verification key VK and the signature key SK based on the security parameter. From the user terminal device 200 to the server authentication device 300, the authentication data v i1 generated from the authentication data generator 231 and the verification key VK generated from the signature key generator 254 are recorded in the server authentication device 300. Send for generation. In the user terminal device 200, the counter (count value) 1, the random number s i1 generated by the random number generator 230, the RSA public key (e, N) received from the server authentication device 300, and the signature key generation The signature key SK generated from the device 254 is stored as record information “CS1” 143. In this case, the data “1, s i1 , (e, N), SK” is stored as the record information “CS1” 143 in the storage device 201 in the internal memory of the user terminal device 200.

サーバの認証装置300の初期化の動作については、図12に示すように、サーバの認証装置300のRSA鍵生成器333が、セキュリティパラメータに基づき、公開鍵(e,N)と秘密鍵(d,N)を生成して出力する。公開鍵(e,N)は、ユーザの端末装置200へ送信される。公開鍵(e,N)のeは80ビット以上の素数である。サーバの認証装置300は、カウンタ(カウント値)1と、ユーザの端末装置200から受信した認証データvi1および検証鍵VKと、RSA鍵生成器333により生成された秘密鍵(d,N)とを、記録情報「SS1」153として保存する。この場合、サーバの認証装置300の内部にあるメモリあるいはデータベースの格納装置301には、記録情報「SS1」153として、データ「1,vi1,(d,N),VK」が保存される。 As for the initialization operation of the server authentication device 300, as shown in FIG. 12, the RSA key generator 333 of the server authentication device 300 uses a public key (e, N) and a private key (d , N) is generated and output. The public key (e, N) is transmitted to the user terminal device 200. E of the public key (e, N) is a prime number of 80 bits or more. The server authentication device 300 includes a counter (count value) 1, authentication data v i1 and verification key VK received from the user terminal device 200, and a secret key (d, N) generated by the RSA key generator 333. Is stored as record information “SS1” 153. In this case, data “1, v i1 , (d, N), VK” is stored as the record information “SS1” 153 in the memory 301 or database storage device 301 inside the server authentication device 300.

図13および図14は、二要素認証システム3の認証プロトコルの実行処理を説明する図である。図13には、二要素認証システム3のユーザの端末装置におけるj番目プロトコル実行のシステム要素が示されており、図14には、二要素認証システム3のサーバの認証装置におけるj番目プロトコル実行のシステム要素が示されている。図13および図14において、jはj≧1になるような整数である。二要素認証システム3のj番目プロトコル実行では、ユーザの端末装置200はユーザから入力されたパスワードpwと保持された記録情報CSjに基づいて、記録情報SSjを保持しているサーバの認証装置と安全ではない通信路を用いてお互いに相互認証し、その相互認証が成功した時、同じセッション鍵SKを確保する。   FIGS. 13 and 14 are diagrams for explaining the authentication protocol execution process of the two-factor authentication system 3. FIG. 13 shows system elements for executing the j-th protocol in the user terminal device of the two-factor authentication system 3, and FIG. 14 shows execution of the j-th protocol in the server authentication apparatus for the two-factor authentication system 3. System elements are shown. 13 and 14, j is an integer such that j ≧ 1. In the execution of the j-th protocol of the two-factor authentication system 3, the user's terminal device 200 is based on the password pw input from the user and the stored record information CSj, and the server authentication apparatus that holds the record information SSj is secure. Are mutually authenticated using non-communication channels, and when the mutual authentication is successful, the same session key SK is secured.

図13を参照して、二要素認証システム3のユーザの端末装置200のj番目プロトコル実行の動作について説明する。初期化処理の後は、ユーザの端末装置200は記録情報CSjとして、データ「j,sij,(e,N),SK」を内部にあるメモリに保持している。 With reference to FIG. 13, the operation of the j-th protocol execution of the terminal device 200 of the user of the two-factor authentication system 3 will be described. After the initialization process, the user terminal device 200 holds data “j, s ij , (e, N), SK” in the internal memory as the record information CSj.

認証データ生成器231は、ユーザから入力されたパスワードpwと、メモリ232から読み出した乱数sijを入力として、認証データvijを計算式「vij=sij+H(4‖C‖S‖pw)」により計算して出力する。マスク生成器233は、認証データ生成器231から生成された認証データvijと、メモリ232から読み出したカウンタ(カウント値)jを入力として、マスクW=G(j,vij)を計算して出力する。RSA暗号演算器235は、乱数発生器230によって、ランダムに発生させた乱数x,x(x,x∈Z )と、メモリ232から読み出した公開鍵(e,N)を入力として、暗号文「y=x mod N」と、暗号文「y=x mod N」を計算して出力する。結合器234は、マスク生成器233から生成されたマスクWと、乱数発生器230により発生させた乱数xと、RSA暗号演算器235から出力された暗号文yを入力として、マスクされた暗号文zを計算式「z=y・x・W mod N」によりを計算して出力する。ユーザの端末装置200は、クライアントIDの情報であるCと、メモリ232から読み出したカウンタ(カウント値)jと、結合器234により出力されたマスクされた暗号文zと、RSA暗号演算器235により出力された暗号文yをサーバの認証装置300へ送信する。 The authentication data generator 231 receives the password pw input from the user and the random number s ij read from the memory 232 as input, and the authentication data v ij is calculated using the formula “v ij = s ij + H (4‖C‖S i ‖ pw) "and output. The mask generator 233 calculates the mask W = G (j, v ij ) using the authentication data v ij generated from the authentication data generator 231 and the counter (count value) j read from the memory 232 as inputs. Output. The RSA encryption calculator 235 uses the random number generator 230 to randomly generate random numbers x 1 and x 2 (x 1 , x 2 εZ N * ) and the public key (e, N) read from the memory 232. As input, the ciphertext “y 1 = x 1 e mod N” and the cipher text “y 2 = x 2 e mod N” are calculated and output. The combiner 234 is masked with the mask W generated from the mask generator 233, the random number x 2 generated by the random number generator 230, and the ciphertext y 1 output from the RSA encryption calculator 235 as inputs. The ciphertext z is calculated by the calculation formula “z = y 1 · x 2 · W mod N” and output. The user terminal device 200 uses the client ID information C, the counter (count value) j read from the memory 232, the masked ciphertext z output by the combiner 234, and the RSA cipher calculator 235. transmitting output ciphertext y 2 to the authentication device 300 of the server.

続いて、認証結果判断部236は、サーバの認証装置300から受信した認証子VSiが正しく生成された値であるかどうかを確認する。認証結果判断部236は、メモリ232から読み出したカウンタ(カウント値)jと、結合器234により出力されたマスクされた暗号文zと、RSA暗号演算器235により出力された暗号文yと、認証データ生成器231から生成された認証データvijと、乱数発生器230により発生させた乱数x,xを入力として、ハッシュ関数H(1‖C‖S‖j‖z‖y‖vij‖x‖x)を計算して、サーバの認証装置300から受信した認証子VSiと比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。認証結果判断部236において、認証子VSiとハッシュ関数H(1‖C‖S‖j‖z‖y‖vij‖x‖x)が一致しない場合には、認証結果判断部236は、エラーメッセージ発生器239に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器239はエラーメッセージを生成して処理を中断する。一方、認証結果判断部236の判断処理において、認証子VSiとハッシュ関数H(1‖C‖S‖j‖z‖y‖vij‖x‖x)が一致した場合は、サーバの認証装置300を正当な装置として認証して、「InputMsg」のデータを出力する。ここで、「InputMsg」のデータは、計算式「C‖S‖j‖z‖y‖vij‖x‖x」の出力データである。署名生成器237は、メモリ232から読み出した署名鍵SKと、認証結果判断部236から入力された「InputMsg」から署名文Vを、署名関数「V=SignSK(m)」により計算して出力する。ここで、メッセージmは、ハッシュ関数H(2‖InputMsg)である。ユーザの端末装置200は、署名生成器237により出力された署名文Vをサーバの認証装置300へ送信する。セッション鍵生成器238は、認証結果判断部236から入力された「InputMsg」のデータを入力として、セッション鍵SKijを、計算式「SKij=H(3‖InputMsg)」の計算により生成して出力する。秘密値更新器203は、メモリ232から読み出した乱数sijと、認証結果判断部236から入力された「InputMsg」を入力として、j+1番目の乱数si(j+1)を、計算式「si(j+1)=sij+H(4‖InputMsg)」により計算し、カウンタ(カウント値)j+1と共に出力する。ユーザの端末装置200は、メモリ232に保持している現在のカウンタ(カウント値)と乱数の組である「j,sij」を、秘密値更新器203により出力された次のカウンタ(カウント値)と乱数の組である「j+1,si(j+1)」に書き換える。 Subsequently, the authentication result determination unit 236 confirms whether or not the authenticator V Si received from the server authentication device 300 is a correctly generated value. Authentication result determination unit 236, a counter (count value) j read from the memory 232, and a ciphertext z masked output by combiner 234, and the ciphertext y 2 output by the RSA encryption operation 235, Using the authentication data v ij generated from the authentication data generator 231 and the random numbers x 1 and x 2 generated by the random number generator 230 as inputs, the hash function H (1‖C‖S i ‖j‖z‖y 2 (V ij ‖x 1 ‖x 2 ) is calculated and compared with the authenticator V Si received from the authentication device 300 of the server. Here, instead of the hash function H, a MAC (Message Authentication Code) may be used. When the authentication result determination unit 236 does not match the authenticator V Si and the hash function H (1‖C‖S i ‖j‖z‖y 2 ‖v ij ‖x 1 ‖x 2 ), the authentication result determination unit 236 notifies the error message generator 239 that there is no match. In response to this, the error message generator 239 generates an error message and interrupts the processing. On the other hand, in the determination process of the authentication result determination unit 236, when the authenticator V Si and the hash function H (1‖C‖S i ‖j‖z‖y 2 ‖v ij ‖x 1 ‖x 2 ) match, The server authentication apparatus 300 is authenticated as a legitimate apparatus, and data of “InputMsg” is output. Here, the data of “InputMsg” is output data of the calculation formula “C‖S i ‖j‖z‖y 2 ‖v ij ‖x 1 ‖x 2 ”. The signature generator 237 calculates a signature sentence V C from the signature key SK read from the memory 232 and “InputMsg” input from the authentication result determination unit 236 by the signature function “V C = Sign SK (m)”. Output. Here, the message m is a hash function H (2‖InputMsg). Terminal 200 of the user transmits the signature text V C output by the signature generator 237 to the authentication device 300 of the server. The session key generator 238 receives the data of “InputMsg” input from the authentication result determination unit 236 and generates a session key SK ij by calculation of the calculation formula “SK ij = H (3‖InputMsg)”. Output. The secret value updater 203 receives the random number s ij read from the memory 232 and “InputMsg” input from the authentication result determination unit 236 as input, and calculates the j + 1-th random number s i (j + 1) from the formula “s i ( j + 1) = s ij + H (4‖InputMsg) ”and output together with the counter (count value) j + 1. The user terminal device 200 uses the current counter (count value) and random number “j, s ij ” stored in the memory 232 as the next counter (count value) output by the secret value updater 203. ) And a random number, “j + 1, s i (j + 1) ”.

図14は、二要素認証システム3のサーバの認証装置300のj番目プロトコル実行を行うシステム要素を示している。図14を参照して、二要素認証システム3のj番目プロトコル実行の動作について説明する。この時、サーバの認証装置300は、認証プロトコル実行のための記録情報SSjのデータ「j,vij,(d,N),VK」を格納装置301の内部にあるメモリあるいはデータベース339に保持している。 FIG. 14 shows system elements that execute the j-th protocol of the server authentication apparatus 300 of the two-factor authentication system 3. With reference to FIG. 14, the j-th protocol execution operation of the two-factor authentication system 3 will be described. At this time, the server authentication device 300 holds the data “j, v ij , (d, N), VK” of the record information SSj for executing the authentication protocol in the memory or the database 339 inside the storage device 301. ing.

サーバの認証装置300において、カウンタ正確性判断部334は、ユーザの端末装置200から受信したカウンタ(カウント値)jの正確性を確認する。カウンタ正確性判断部334は、データベース339から読み出したカウンタ(カウント値)jを、ユーザの端末装置200から受信したカウンタ(カウント値)jと比較して一致しない場合、エラーメッセージ発生器342に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器342はエラーメッセージを生成して処理を中断する。   In the server authentication device 300, the counter accuracy determination unit 334 confirms the accuracy of the counter (count value) j received from the user terminal device 200. The counter accuracy judgment unit 334 compares the counter (count value) j read from the database 339 with the counter (count value) j received from the user terminal device 200, and if it does not match, To notify that they do not match. In response, the error message generator 342 generates an error message and interrupts the process.

一方、カウンタ正確性判断部334の判断処理において、データベース339から読み出したカウンタ(カウント値)jをユーザの端末装置から受信したカウンタ(カウント値)jと比較して、一致した場合は続けて次の処理を行う。   On the other hand, in the determination process of the counter accuracy determination unit 334, the counter (count value) j read from the database 339 is compared with the counter (count value) j received from the user terminal device. Perform the process.

マスク生成器340は、データベース339から読み出したカウンタ(カウント値)jと認証データvijを入力として、マスクW=G(j,vij)を計算して出力する。RSA復号演算器335は、ユーザの端末装置200から受信した暗号文yと、データベース339から読み出したRSA秘密鍵(d,N)を入力として、乱数xを計算式「x=y mod N」により計算して出力する。分離器336は、ユーザの端末装置200から受信したマスクされた暗号文zと、RSA復号演算器335により出力された乱数xと、マスク生成器340により生成されたマスクWを入力として、暗号文yを計算式「y=z/(x・W) mod N」により計算して出力する。再び、RSA復号演算器335は、分離器336により出力された暗号文yと、データベース339から読み出したRSA秘密鍵(d,N)を入力として、乱数xを計算式「x=y mod N」により計算して、先に計算した乱数xと共に出力する。認証子生成器337は、ユーザの端末装置200から受信した認証用のデータ「j,z,y」と、データベース339から読み出した認証データvijと、RSA復号演算器335により出力された乱数xおよび乱数xを入力として、認証子VSiを、計算式「VSi=H(1‖C‖S‖j‖z‖y‖vij‖x‖x)」により計算して、「InputMsg」のデータと共に出力する。ここで、「InputMsg」のデータは、計算式「C‖S‖j‖z‖y‖vij‖x‖x」の出力データである。サーバの認証装置300は、認証子生成器337により計算して得られた認証子VSiと、サーバのID情報であるSをユーザの端末装置200へ送信する。 The mask generator 340 calculates and outputs a mask W = G (j, v ij ) with the counter (count value) j and the authentication data v ij read from the database 339 as inputs. The RSA decryption calculator 335 receives the ciphertext y 2 received from the user terminal device 200 and the RSA private key (d, N) read from the database 339 as input, and calculates the random number x 2 using the formula “x 2 = y 2 d mod N ”to calculate and output. Separator 336, a ciphertext z masked received from the terminal apparatus 200 of the user, the random number x 2 output by the RSA decryption calculation 335, inputs the mask W generated by the mask generator 340, encryption The sentence y 1 is calculated by the calculation formula “y 1 = z / (x 2 · W) mod N” and output. Again, the RSA decryption operator 335 receives the ciphertext y 1 output from the separator 336 and the RSA private key (d, N) read from the database 339 as input, and the random number x 1 is calculated by the formula “x 1 = y 1 d mod N ”and output together with the previously calculated random number x 2 . The authenticator generator 337 includes authentication data “j, z, y 2 ” received from the user terminal device 200, authentication data v ij read from the database 339, and a random number output by the RSA decryption calculator 335. Using x 1 and random number x 2 as input, the authenticator V Si is calculated by the formula “V Si = H (1‖C‖S i ‖j‖z‖y 2 ‖v ij ‖x 1 ‖x 2 )”. And output together with the data of “InputMsg”. Here, the data of “InputMsg” is output data of the calculation formula “C‖S i ‖j‖z‖y 2 ‖v ij ‖x 1 ‖x 2 ”. The server authentication device 300 transmits the authentication code V Si obtained by the authentication code generator 337 and the server ID information S i to the user terminal device 200.

続いて、署名検証結果判断部338は、ユーザの端末装置200から受信した署名文Vと認証子生成器337から出力された「InputMsg」と、データベース339から読み出した検証鍵VKを入力として、関数VerVK(m,V)を計算して、署名文Vの検証を行う。ここで、メッセージmはハッシュ関数H(2‖InputMsg)であり、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。署名検証結果判断部338において、署名文(m,V)が検証できない場合、署名検証結果判断部338は、エラーメッセージ発生器343に対して、検証できないことを通知する。これを受けて、エラーメッセージ発生器343はエラーメッセージを生成して処理を中断する。 Then, the signature verification result determining unit 338, output from the signature message V C and authenticator generating unit 337 received from the terminal apparatus 200 of the user as "InputMsg", as the input verification key VK read from the database 339, The function Ver VK (m, V C ) is calculated, and the signature sentence V C is verified. Here, the message m is a hash function H (2‖InputMsg), and instead of the hash function H, a MAC (Message Authentication Code) may be used. When the signature verification result determination unit 338 cannot verify the signature text (m, V C ), the signature verification result determination unit 338 notifies the error message generator 343 that the verification cannot be performed. In response to this, the error message generator 343 generates an error message and interrupts the processing.

署名検証結果判断部338の判断処理において、署名文(m,V)が検証できた場合には、ユーザの端末装置を正当な装置として認証する。セッション鍵生成器341は、認証子生成器337から出力された「InputMsg」のデータを入力として、セッション鍵SKijを、計算式「SKij=H(3‖InputMsg)」により、生成して出力する。秘密値更新器303は、データベース339から読み出した認証データvijと、認証子生成器337から入力された「InputMsg」を入力として、j+1番目の認証データvi(j+1)を、計算式「vi(j+1)=vij+H(4‖InputMsg)」により計算して、カウンタ(カウント値)j+1と共に出力する。サーバの認証装置300は、データベース339に保持している現在のカウンタ(カウント値)と認証データの組である「j,vij」を、秘密値更新器303により出力された次のカウンタ(カウント値)と認証データの組である「j+1,vi(j+1)」に書き換える。 If the signature sentence (m, V C ) is verified in the determination process of the signature verification result determination unit 338, the user terminal device is authenticated as a valid device. The session key generator 341 receives the data of “InputMsg” output from the authenticator generator 337, generates a session key SK ij by the calculation formula “SK ij = H (3‖InputMsg)”, and outputs it. To do. The secret value updater 303 receives the authentication data v ij read from the database 339 and “InputMsg” input from the authenticator generator 337 as input, and obtains the j + 1-th authentication data v i (j + 1) from the formula “v i (j + 1) = v ij + H (4‖InputMsg) ”and output together with the counter (count value) j + 1. The server authentication apparatus 300 uses the current counter (count value) stored in the database 339 and the authentication data “j, v ij ” as the next counter (count) output from the secret value updater 303. Value) and authentication data, “j + 1, vi (j + 1) ”.

<第2実施例>
次に、第2実施例として、DH鍵共有プロトコルを使った二要素認証システムの実施例を、二要素認証システム4のシステム例として説明する。ここで、DH鍵共有プロトコルを使った実施例を説明する前に、以下の説明において用いる整数論と記号について説明しておく。
<Second embodiment>
Next, as a second example, an example of a two-factor authentication system using a DH key sharing protocol will be described as a system example of the two-factor authentication system 4. Here, before describing an embodiment using the DH key sharing protocol, the number theory and symbols used in the following description will be described.

p,qは素数であり、q|p−1という関係がある。q|p−1の表記は、qはp−1を割りきることのできる値であることを意味する。また、gは「mod p」上の位数qの有限体(群)G={g mod p: 0≦j<q}の生成元である(楕円曲線上の群でも同じように構成できる)。ここで、“g mod p”は、法指数演算であり、gをj乗した値をpで割った残り(Remainder)という意味である。また、gは(1<g<p−1,g=1 mod p,g≠1 mod p(0<j<q))である。つまり、p,qは演算体系(素体の標数)を示す。例えば、X=g mod p(0<x<q)で、xは秘密情報であり、Xが与えられた時、x=logXを求めるのは数学的に難しい問題(Xの生成元gに対する離散対数問題という)である。 p and q are prime numbers and have a relationship of q | p−1. The notation q | p-1 means that q is a value that can divide p-1. In addition, g is a generator of a finite field (group) G of order q on “mod p” G = {g j mod p: 0 ≦ j <q} (the group on the elliptic curve can be similarly configured. ). Here, “g j mod p” is a modulus operation, and means “remainer” obtained by dividing a value obtained by raising g to the power of j by p. Further, g is (1 <g <p−1, g q = 1 mod p, g j ≠ 1 mod p (0 <j <q)). That is, p and q indicate a calculation system (element characteristic). For example, X = g x mod p (0 <x <q), x is secret information, and when X is given, it is difficult to obtain x = log g X (generator of X a discrete logarithm problem for g).

ハッシュ関数Hのセキュリティパラメータをkとする。ただし、1/2は無視できるほど小さいと仮定する。また、{0,1}は有限の2進数のストリングの集合を、{0,1}は長さkの2進数のストリングの集合を示す。ハッシュ関数Hは{0,1}の入力から{0,1}の出力を出す安全な一方向関数であり、FDH(Full−Domain Hash)関数Gは{0,1}の入力から(Z/qZ)の出力を出す安全な一方向関数である。ここで、(Z/qZ)は{1,2,…,q}の集合を示す。また、乱数発生器から発生される乱数はR∈(Z/qZ)を無作為に生成する。また、‖は値を連結(concatenation)するという意味である。また、CとSはそれぞれユーザとサーバを表すIDである。 Assume that the security parameter of the hash function H is k. However, it is assumed that 1/2 k is small enough to be ignored. {0, 1} * indicates a set of finite binary strings, and {0, 1} k indicates a set of binary strings of length k. The hash function H is a safe one-way function that outputs {0,1} k from the input of {0,1} * , and the FDH (Full-Domain Hash) function G is from the input of {0,1} * . It is a safe one-way function that produces an output of (Z / qZ) * . Here, (Z / qZ) * indicates a set of {1, 2,..., Q}. The random number generated from the random number generator randomly generates Rε (Z / qZ) * . Also, ‖ means that the values are concatenated. C and Si are IDs representing the user and the server, respectively.

(4)二要素認証システム4:
図15および図16は、二要素認証システム4の初期化処理を説明する図である。図15に、二要素認証システムの初期化処理のシステム要素が示されている。二要素認証システム4の初期化処理では、ユーザの端末装置200は、ユーザから入力されたパスワードに基づいて、サーバの認証装置300と安全な通信路(例えば、直接に登録したり、郵便で送付したり、あるいは電話で知らせるなど)を用いて初期化処理を行い、ユーザの端末装置は200の内部にあるメモリへ記録情報としてCS1を保存し、サーバの認証装置300は内部にあるメモリあるいはデータベースへ記録情報としてSS1を保存する。
(4) Two-factor authentication system 4:
15 and 16 are diagrams for explaining the initialization process of the two-factor authentication system 4. FIG. 15 shows system elements of initialization processing of the two-factor authentication system. In the initialization process of the two-factor authentication system 4, the user terminal device 200, based on the password input by the user, is connected to the server authentication device 300 and a secure communication path (for example, directly registered or sent by mail). The terminal device of the user stores CS1 as recorded information in a memory inside 200, and the authentication device 300 of the server has a memory or database inside SS1 is stored as record information.

図15および図16を参照して、ユーザの端末装置とサーバの認証装置との間で二要素認証システム4の初期化を行う動作を説明する。   With reference to FIG. 15 and FIG. 16, the operation | movement which initializes the two-factor authentication system 4 between a user's terminal device and the authentication apparatus of a server is demonstrated.

図15に示すように、二要素認証システム4のユーザの端末装置200における初期化処理では、認証データ結合器242は、乱数発生器241によりランダムに発生させた乱数si1(si1∈(Z/qZ))と、ユーザから入力されたパスワードpwを入力として、結合値vi1を「vi1=si1+G(1‖C‖S‖pw) mod q」の計算式により計算して出力する。認証データ生成器243は、認証データ結合器242により出力された結合値vi1を入力として、認証データWi1を計算式「Wi1=hvi1 mod p」と「Zi1=gvi1 mod p」により計算して出力し、認証データ「Wi1,Zi1」をサーバの認証装置300へ送信する。ユーザの端末装置200は、カウンタ(カウント値)1と乱数発生器241により発生させた乱数si1を、ユーザの端末装置の内部にあるメモリへ記録情報「CS1」154として「1,si1」を保存する。 As shown in FIG. 15, in the initialization process in the user terminal device 200 of the two-factor authentication system 4, the authentication data combiner 242 generates a random number s i1 (s i1 ε (Z / QZ) * ) and the password pw input by the user as input, and the combined value v i1 is calculated by the formula “v i1 = s i1 + G ( 1 (C‖S i ‖pw) mod q”. Output. The authentication data generator 243 receives the combined value v i1 output from the authentication data combiner 242 as an input, and calculates the authentication data W i1 using the formulas “W i1 = h vi1 mod p” and “Z i1 = g vi1 mod p”. The authentication data “W i1 , Z i1 ” is transmitted to the authentication device 300 of the server. The user terminal device 200 records the random number s i1 generated by the counter (count value) 1 and the random number generator 241 as “1, s i1 ” as recorded information “CS1” 154 in the memory inside the user terminal device. Save.

二要素認証システム4のサーバの認証装置300における初期化処理では、図16に示すように、サーバの認証装置300は、カウンタ(カウント値)1と、ユーザの端末装置200から受信した認証データ「Wi1,Zi1」とを、サーバの認証装置300の内部にあるメモリあるいはデータベースへ記録情報「SS1」155として「1,Wi1,Zi1」を保存する。 In the initialization process in the server authentication apparatus 300 of the two-factor authentication system 4, as shown in FIG. 16, the server authentication apparatus 300 receives the counter (count value) 1 and the authentication data “ W i1, Z i1 "and stores the" 1, W i1, Z i1 "as recorded in the memory or database information" SS1 "155 that is internal to the server of the authentication device 300.

図17および図18は、二要素認証システム4の認証プロトコルの実行処理を説明する図である。図17には、二要素認証システム4のユーザの端末装置200におけるj番目プロトコル実行のシステム要素が示されており、図18には、二要素認証システム4のサーバの認証装置300におけるj番目プロトコル実行のシステム要素が示されている。図17および図18において、jはj≧1になるような整数である。二要素認証システム4のj番目プロトコル実行では、ユーザの端末装置200はユーザから入力されたパスワードpwと保持された記録情報CSjに基づいて、記録情報SSjを保持しているサーバの認証装置300と安全ではない通信路(例えば、インターネットなど)を用いてお互いに相互認証し、その相互認証が成功した時、同じセッション鍵を確保する。   FIGS. 17 and 18 are diagrams for explaining the execution process of the authentication protocol of the two-factor authentication system 4. FIG. 17 shows system elements for executing the j-th protocol in the terminal device 200 of the user of the two-factor authentication system 4, and FIG. 18 shows the j-th protocol in the authentication device 300 of the server of the two-factor authentication system 4. The system elements of execution are shown. 17 and 18, j is an integer such that j ≧ 1. In the execution of the j-th protocol of the two-factor authentication system 4, the user terminal device 200 is based on the password pw input by the user and the recorded information CSj, and the server authentication device 300 that holds the recorded information SSj. Mutually authenticate each other using an insecure communication path (for example, the Internet), and secure the same session key when the mutual authentication is successful.

前述した初期化を行った後(j=1の時)、あるいは二要素認証システム4のj−1番目プロトコル実行を行った後(すなわち、CSj=(j,sij)とSSj=(j,Wij,Zij)の時)、ユーザの端末装置200とサーバの認証装置300との間で二要素認証システム4においてのj番目プロトコル実行を行う。 After performing the above-described initialization (when j = 1), or after executing the j−1th protocol of the two-factor authentication system 4 (ie, CSj = (j, s ij ) and SSj = (j, When W ij , Z ij )), the j-th protocol is executed in the two-factor authentication system 4 between the user terminal device 200 and the server authentication device 300.

まず、図17を参照して、ユーザの端末装置200におけるj番目プロトコル実行の処理について説明する。初期化処理の後、j番目のプロトコル実行の前には、ユーザの端末装置200は、記録情報「CSj」として「j,sij」を内部にあるメモリ244に保持している。 First, the j-th protocol execution process in the user terminal device 200 will be described with reference to FIG. After the initialization process and before the j-th protocol is executed, the user terminal device 200 holds “j, s ij ” in the internal memory 244 as the record information “CSj”.

まず、認証データ結合器242は、ユーザから入力されたパスワードpwとメモリから読み出した乱数sijを入力として、結合値vijを計算式「vij=sij+G(1‖C‖S‖pw) mod q」により計算して出力する。認証データ生成器243は、認証データ結合器242により出力された結合値vijを入力として、認証データWijとZijを計算式「Wij=hvij mod p」と「Zij=gvij mod p」により計算して出力する。DH値演算器245は、乱数発生器241によりランダムに発生させた乱数x(x∈(Z/qZ))を入力として、DH値を計算式「g mod p」によりを計算して出力する。結合器246は、認証データ生成器243から生成された認証データWijとZijと、DH値演算器245により出力されたDH値gを入力として、マスクされたDH値Xを「X=g・Wij mod p」により計算して出力する。 First, the authentication data combiner 242 receives the password pw input from the user and the random number s ij read from the memory, and calculates the combined value v ij with the formula “v ij = s ij + G (1‖C‖S i ‖ pw) mod q ”and output. The authentication data generator 243 receives the combined value v ij output from the authentication data combiner 242 as input and calculates the authentication data W ij and Z ij with the formulas “W ij = h vij mod p” and “Z ij = g vij. Calculate and output by “mod p”. The DH value calculator 245 receives the random number x (x∈ (Z / qZ) * ) randomly generated by the random number generator 241 as an input, calculates the DH value by the calculation formula “g x mod p”, and outputs it. To do. The combiner 246 receives the authentication data W ij and Z ij generated from the authentication data generator 243 and the DH value g x output from the DH value calculator 245 as input, and uses the masked DH value X as “X = Calculate and output by “g x · W ij mod p”.

ユーザの端末装置200は、図示しない通信処理部を介して、サーバの認証装置300に対して、クライアントIDであるCと、メモリ244から読み出したカウンタ(カウント値)jと、結合器246により出力されたXを送信する。サーバの認証装置300からは、認証データ「S,Y,Vsi」が送られてくるので、DH鍵演算器247は、サーバの認証装置300から受信したDH値Yと、乱数発生器241によりランダムに発生させた乱数xと、DH値演算器245により出力されたDH値gと、認証データ結合器242により出力された結合値vijを入力として、DH鍵Kを、計算式「K=Y(x+r・vij) mod p」により計算して出力する。ここで、rはG(2‖g‖Y)である。 The user terminal device 200 outputs the client ID C, the counter (count value) j read from the memory 244, and the combiner 246 to the server authentication device 300 via a communication processing unit (not shown). Sent X. Since the authentication data “S i , Y, V si ” is sent from the server authentication device 300, the DH key calculator 247 receives the DH value Y received from the server authentication device 300 and the random number generator 241. The DH key K is calculated by the following equation using the random number x generated at random, the DH value g x output from the DH value calculator 245, and the combined value v ij output from the authentication data combiner 242. K = Y (x + r · vij) mod p ”and output. Here, r is G (2‖g x ‖Y).

続いて、認証結果判断部248は、サーバの認証装置300から受信した認証データのVSiが正しく生成された値であるかどうかを確認する。認証結果判断部248は、メモリ244から読み出したカウンタ(カウント値)jと、結合器246により出力されたマスクされたDH値Xと、サーバの認証装置300から受信したDH値Yと、認証データ生成器243から生成された認証データ「Wij,Zij」と、DH鍵演算器247により出力さらたDH鍵Kを入力として、ハッシュ関数H(1‖C‖S‖j‖X‖Y‖Wij‖Zij‖K)を計算して、サーバの認証装置300から受信した認証データ「VSi」と比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。認証結果判断部248の判断処理において、認証データ「VSi」とハッシュ関数H(1‖C‖S‖j‖X‖Y‖Wij‖Zij‖K)が一致しない場合、認証結果判断部248は、エラーメッセージ発生器249に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器249はエラーメッセージを生成して処理を中断する。 Subsequently, the authentication result determination unit 248 confirms whether or not V Si of the authentication data received from the server authentication device 300 is a correctly generated value. The authentication result determination unit 248 includes a counter (count value) j read from the memory 244, the masked DH value X output by the combiner 246, the DH value Y received from the server authentication device 300, and the authentication data. Using the authentication data “W ij , Z ij ” generated from the generator 243 and the DH key K output by the DH key calculator 247 as input, a hash function H (1‖C‖S i ‖j‖X‖Y (W ij ‖Z ij ‖K) is calculated and compared with the authentication data “V Si ” received from the authentication device 300 of the server. Here, instead of the hash function H, a MAC (Message Authentication Code) may be used. If the authentication data “V Si ” and the hash function H (1‖C‖S i ‖j‖X‖Y‖W ij ‖Z ij ‖K) do not match in the determination process of the authentication result determination unit 248 The unit 248 notifies the error message generator 249 that there is no match. In response to this, the error message generator 249 generates an error message and interrupts the processing.

一方、認証結果判断部248の判断処理において、認証データ「VSi」とハッシュ関数H(1‖C‖S‖j‖X‖Y‖Wij‖Zij‖K)が一致したことを判断した場合は、サーバの認証装置300が正当な装置として認証して、データ「InputMsg」を出力する。ここで、データ「InputMsg」は、「C‖S‖j‖X‖Y‖Wij‖Zij‖K」である。認証子生成器250は、認証結果判断部248から入力されたデータ「InputMsg」に基づいて、認証子Vを、計算式「V=H(2‖InputMsg)」により計算して出力する。ユーザの端末装置200は、認証子生成器250により出力された認証子Vをサーバの認証装置300へ送信する。セッション鍵生成器251は、認証結果判断部248から入力されたデータ「InputMsg」を入力として、セッション鍵SKijを、計算式「SKij=H(3‖InputMsg)」により計算して、計算結果からセッション鍵SKijを生成して出力する。秘密値更新器252は、メモリ244から読み出した乱数sijと、認証結果判断部248から出力されて入力された「InputMsg」とを入力として、j+1番目の乱数si(j+1)を、計算式「si(j+1)=sij+G(1‖InputMsg)」により計算して、カウンタ(カウント値)j+1とともに出力する。ユーザの端末装置200は、メモリ244に保持している現在のカウンタ(カウント値)と乱数との組である「j,sij」を、秘密値更新器252により出力された次のカウンタ(カウント値)と乱数の組である「j+1,si(j+1)」に書き換える。 On the other hand, in the determination process of the authentication result determination unit 248, it is determined that the authentication data “V Si ” and the hash function H (1‖C‖S i ‖j‖X‖Y‖W ij ‖Z ij ‖K) match. In this case, the server authentication device 300 authenticates as a valid device and outputs data “InputMsg”. Here, the data “InputMsg” is “C‖S i ‖j‖X‖Y‖W ij ‖Z ij ‖K”. Authenticator generating unit 250, the authentication result determination unit based on the data "InputMsg" input from 248, the authenticator V C, and outputs the calculated by the equation "V C = H (2‖InputMsg)". Terminal 200 of the user transmits the authenticator V C output by authenticator generating unit 250 to the authentication device 300 of the server. The session key generator 251 uses the data “InputMsg” input from the authentication result determination unit 248 as an input, calculates the session key SK ij by the calculation formula “SK ij = H (3‖InputMsg)”, and the calculation result Generates a session key SK ij from the output. The secret value updater 252 receives the random number s ij read from the memory 244 and “InputMsg” output from the authentication result determination unit 248 and inputs the j + 1-th random number s i (j + 1) as a calculation formula. It is calculated by “s i (j + 1) = s ij + G (1‖InputMsg)” and is output together with the counter (count value) j + 1. The terminal device 200 of the user uses “j, s ij ”, which is a set of the current counter (count value) and the random number held in the memory 244, for the next counter (count) output from the secret value updater 252. Value) and a random number, “j + 1, s i (j + 1) ”.

図18は、二要素認証システム4のサーバの認証装置300のj番目プロトコル実行を行うシステム要素を示している。図18を参照して、二要素認証システム4のj番目プロトコル実行の動作について説明する。この時、サーバの認証装置300は、認証プロトコル実行のための記録情報SSjのデータ「j,Wij,Zij」を格納装置の内部にあるメモリあるいはデータベース353に保持している。 FIG. 18 shows system elements that execute the j-th protocol of the authentication apparatus 300 of the server of the two-factor authentication system 4. With reference to FIG. 18, the j-th protocol execution operation of the two-factor authentication system 4 will be described. At this time, the server authentication device 300 holds the data “j, W ij , Z ij ” of the record information SSj for executing the authentication protocol in the memory or database 353 inside the storage device.

まず、カウンタ正確性判断部351は、ユーザの端末装置200から受信したカウンタ(カウント値)jの正確性を確認する。カウンタ正確性判断部351は、データベース353から読み出したカウンタ(カウント値)jを、ユーザの端末装置200から受信したカウンタ(カウント値)jと比較して一致しない場合、エラーメッセージ発生器352に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器352はエラーメッセージを生成して処理を中断する。   First, the counter accuracy determination unit 351 checks the accuracy of the counter (count value) j received from the user terminal device 200. The counter accuracy determination unit 351 compares the counter (count value) j read from the database 353 with the counter (count value) j received from the user's terminal device 200, and if it does not match, To notify that they do not match. In response to this, the error message generator 352 generates an error message and interrupts the processing.

一方、カウンタ正確性判断部351の判断処理において、データベースから読み出したカウンタ(カウント値)jをユーザの端末装置から受信したカウンタ(カウント値)jと比較して、一致した場合には、続けて次の処理を行う。DH値演算器357は、乱数発生器356によりランダムに発生させた乱数y(y∈(Z/qZ))を入力として、DH値Yを計算式「Y=g mod p」により計算して出力する。分離器354は、ユーザの端末装置200から受信したデータ「X」と、データベース353から読み出した認証データWijを入力として、DH値gを計算式「g=X/Wij mod p」により計算して出力する。DH鍵演算器358は、分離器354により出力されたDH値gと、データベース353から読み出した認証データZijと、DH値演算器357により出力されたDH値Yと、乱数発生器356によりランダムに発生させた乱数yを入力として、DH鍵Kを、計算式「K=(g・Zij mod p」により計算して出力する。ここで、rはG(2‖g‖Y)である。認証子生成器360は、ユーザの端末装置200から受信したデータ「j,X」と、DH値演算器357により出力されたDH値Yと、データベース353から読み出した認証データ「Wij,Zij」と、DH鍵演算器358により出力されたDH鍵Kを入力として、認証子VSiを、計算式「VSi=H(1‖C‖S‖j‖X‖Y‖Wij‖Zij‖K)」により計算して、データ「InputMsg」とともに出力する。ここでデータ「InputMsg」は、「C‖S‖j‖X‖Y‖Wij‖Zij‖K」である。サーバの認証装置300は、認証子生成器360により計算して得られたVSiと、DH値演算器により出力されたDH値Yと、サーバのIDである「S」をユーザの端末装置へ送信する。 On the other hand, in the determination process of the counter accuracy determination unit 351, the counter (count value) j read from the database is compared with the counter (count value) j received from the user terminal device. Perform the following process. The DH value calculator 357 receives the random number y (y∈ (Z / qZ) * ) randomly generated by the random number generator 356 and calculates the DH value Y by the calculation formula “Y = g y mod p”. Output. The separator 354 receives the data “X” received from the user terminal device 200 and the authentication data W ij read from the database 353 as input, and calculates the DH value g x using the formula “g x = X / W ij mod p”. Calculate and output by The DH key calculator 358 includes a DH value g x output from the separator 354, authentication data Z ij read from the database 353, a DH value Y output from the DH value calculator 357, and a random number generator 356. Using the randomly generated random number y as an input, the DH key K is calculated and output by the calculation formula “K = (g x · Z ij r ) y mod p”. Here, r is G (2‖g x ‖Y). The authenticator generator 360 receives the data “j, X” received from the user terminal device 200, the DH value Y output from the DH value calculator 357, and the authentication data “W ij , Z ij read from the database 353. ”And the DH key K output from the DH key calculator 358 as an input, the authenticator V Si is calculated using the formula“ V Si = H (1‖C‖S i ‖j‖X‖Y‖W ij ‖Z ij ‖K) ”and output together with the data“ InputMsg ”. Here, the data “InputMsg” is “C‖S i ‖j‖X‖Y‖W ij ‖Z ij ‖K”. The server authentication device 300 receives the V Si obtained by the authentication code generator 360, the DH value Y output by the DH value calculator, and the server ID “S i ” as the user terminal device. Send to.

続いて、認証結果判断部361は、認証子生成器360から出力されたデータ「InputMsg」を入力として、ハッシュ関数H(2‖InputMsg)を計算して、ユーザの端末装置200から受信した認証子Vと比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。認証結果判断部361の判断処理において、認証子Vとハッシュ関数H(2‖InputMsg)が一致しない場合、認証結果判断部361は、エラーメッセージ発生器363に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器363はエラーメッセージを生成して処理を中断する。 Subsequently, the authentication result determination unit 361 receives the data “InputMsg” output from the authenticator generator 360, calculates a hash function H (2‖InputMsg), and receives the authenticator received from the user terminal device 200. compared with the V C. Here, instead of the hash function H, a MAC (Message Authentication Code) may be used. In the determination processing result of the authentication determination unit 361, if the authenticator V C and the hash function H (2‖InputMsg) do not match, the authentication result determination unit 361 notifies the error message generator 363 does not match . In response to this, the error message generator 363 generates an error message and interrupts the processing.

一方、認証結果判断部361の判断処理において、認証子Vとハッシュ関数H(2‖InputMsg)が一致した場合は、ユーザの端末装置200が正当な装置として認証する。セッション鍵生成器362は、認証子生成器360から出力されたデータ「InputMsg」を入力として、セッション鍵SKijの生成のために、計算式「SKij=H(3‖InputMsg)」を計算して、セッション鍵SKijを生成して出力する。秘密値更新器359は、データベース353から読み出した認証データの「Wij,Zij」と、認証子生成器360から入力されたデータ「InputMsg」を入力として、j+1番目の認証データ「Wi(j+1),Zi(j+1)」を、計算式「Wi(j+1)=Wij・hG(1‖InputMsg) mod p」と「Zi(j+1)=Zij・gG(1‖InputMsg) mod p」により計算して、カウンタ(カウント値)j+1とともに出力する。サーバの認証装置300は、データベース353に保持している現在のカウンタ(カウント値)と認証データの組である「j,Wij,Zij」を、秘密値更新器359により出力された次のカウンタ(カウント値)と認証データの組である「j+1,Wi(j+1),Zi(j+1)」に書き換える。 On the other hand, in the determination processing result of the authentication determination unit 361, if the authenticator V C and the hash function H (2‖InputMsg) match, the terminal device 200 of the user is authenticated as legitimate devices. The session key generator 362 receives the data “InputMsg” output from the authenticator generator 360 and calculates a calculation formula “SK ij = H (3‖InputMsg)” for generating the session key SK ij. To generate and output a session key SKij . The secret value updater 359 uses the authentication data “W ij , Z ij ” read from the database 353 and the data “InputMsg” input from the authenticator generator 360 as inputs, and the j + 1-th authentication data “W i ( j + 1) , Z i (j + 1) ”is calculated from the formula“ W i (j + 1) = W ij · h G (1‖InputMsg) mod p ”and“ Z i (j + 1) = Z ij · g G (1‖InputMsg ) Mod p "and output together with the counter (count value) j + 1. The server authentication apparatus 300 uses the current counter (count value) stored in the database 353 and the authentication data “j, W ij , Z ij ” as the next output from the secret value updater 359. It is rewritten as “j + 1, Wi (j + 1) , Zi (j + 1) ” which is a set of a counter (count value) and authentication data.

本発明の二要素認証システムは、基本的にユーザやサーバ認証を必要とするサービスやアプリケーションで利用できる。現在、ユーザ認証やサーバ認証は、電子商取引、サーバやネットワークへのログイン、入退室管理、公的交通機関への搭乗など、リアル、サイバーを問わず至るところで必要とされており、その応用先は広い。また、本発明はユーザの端末に特殊なモジュールを必要としないため、ユビキタス環境での認証方式としても適している。もちろん、ユーザの端末に耐タンパモジュールを用いることで、本発明の安全性をますます高めることが可能になる。   The two-factor authentication system of the present invention can be used for services and applications that basically require user or server authentication. Currently, user authentication and server authentication are required everywhere, whether real or cyber, such as electronic commerce, login to servers and networks, entrance / exit management, boarding public transportation, etc. wide. In addition, since the present invention does not require a special module in the user terminal, it is also suitable as an authentication method in a ubiquitous environment. Of course, by using a tamper resistant module in the user terminal, the safety of the present invention can be further enhanced.

本発明の二要素認証システムの全体の構成を説明する図である。It is a figure explaining the whole structure of the two-factor authentication system of this invention. 短い系列と記録情報を用いた二要素認証システムにおける初期化処理を説明する図である。It is a figure explaining the initialization process in the two-factor authentication system using a short series and recorded information. 短い系列と記録情報を用いた二要素認証システムにおけるj番目プロトコル実行の構成を示す図である。It is a figure which shows the structure of the jth protocol execution in the two-factor authentication system using a short series and recorded information. 二要素認証システム1の初期化処理を説明する図である。It is a figure explaining the initialization process of the two-factor authentication system. 二要素認証システム1のユーザの端末装置におけるj番目プロトコル実行のシステム要素を示す図である。It is a figure which shows the system element of jth protocol execution in the terminal device of the user of the two-factor authentication system. 二要素認証システム1のサーバの認証装置におけるj番目プロトコル実行のシステム要素を示す図である。It is a figure which shows the system element of jth protocol execution in the authentication apparatus of the server of the two-factor authentication system. 二要素認証システム2の初期化処理で用いられるユーザの端末装置200のシステム要素を示す図である。It is a figure which shows the system element of the user's terminal device 200 used by the initialization process of the two-factor authentication system 2. FIG. 二要素認証システム2の初期化処理で用いられるサーバの認証装置300システム要素を示す図である。It is a figure which shows the authentication apparatus 300 system element of the server used by the initialization process of the two-factor authentication system 2. FIG. 二要素認証システム2のユーザの端末装置におけるj番目プロトコル実行のシステム要素を示す図である。It is a figure which shows the system element of jth protocol execution in the user's terminal device of the two-factor authentication system. 二要素認証システム2のサーバの認証装置におけるj番目プロトコル実行のシステム要素を示す図である。It is a figure which shows the system element of jth protocol execution in the authentication apparatus of the server of the two-factor authentication system. 二要素認証システム3の初期化処理で用いられるユーザの端末装置200のシステム要素を示す図である。It is a figure which shows the system element of the user's terminal device 200 used by the initialization process of the two-factor authentication system 3. FIG. 二要素認証システム3の初期化処理で用いられるサーバの認証装置300システム要素を示す図である。It is a figure which shows the authentication apparatus 300 system element of the server used by the initialization process of the two-factor authentication system 3. 二要素認証システム3のユーザの端末装置におけるj番目プロトコル実行のシステム要素を示す図である。It is a figure which shows the system element of jth protocol execution in the user's terminal device of the two-factor authentication system 3. FIG. 二要素認証システム3のサーバの認証装置におけるj番目プロトコル実行のシステム要素を示す図である。It is a figure which shows the system element of jth protocol execution in the authentication apparatus of the server of the two-factor authentication system 3. FIG. 二要素認証システム4の初期化処理で用いられるユーザの端末装置200のシステム要素を示す図である。It is a figure which shows the system element of the user's terminal device 200 used by the initialization process of the two-factor authentication system 4. 二要素認証システム4の初期化処理で用いられるサーバの認証装置300システム要素を示す図である。It is a figure which shows the authentication apparatus 300 system element of the server used by the initialization process of the two-factor authentication system 4. FIG. 二要素認証システム4のユーザの端末装置におけるj番目プロトコル実行のシステム要素を示す図である。It is a figure which shows the system element of jth protocol execution in the user's terminal device of the two-factor authentication system 4. FIG. 二要素認証システム4のサーバの認証装置におけるj番目プロトコル実行のシステム要素を示す図である。It is a figure which shows the system element of jth protocol execution in the authentication apparatus of the server of the two-factor authentication system 4. FIG.

符号の説明Explanation of symbols

100 二要素認証システム
101 通信路
200 ユーザの端末装置
201 記録情報の格納装置
202 認証処理部
203 秘密更新器
300 サーバの認証装置
301 記録情報の格納装置
302 認証処理部
303 秘密更新器
DESCRIPTION OF SYMBOLS 100 Two-factor authentication system 101 Communication path 200 User's terminal device 201 Recorded information storage device 202 Authentication processing unit 203 Secret updater 300 Server authentication device 301 Recorded information storage device 302 Authentication processing unit 303 Secret updater

Claims (6)

ユーザから入力されたパスワードとユーザの端末装置およびサーバの認証装置にそれぞれ保存されている記録情報を用いて、ユーザの端末装置とサーバの認証装置との間で相互認証しながらセッション鍵を確立する二要素認証システムであって、
ユーザの端末装置とサーバの認証装置においてそれぞれに前パスワードに基づいて作成された乱数を含む記録情報を記録する格納装置と、
ユーザの端末装置とサーバの認証装置においてそれぞれに前記格納装置に記録された記録情報を用い、(i)サーバの認証装置は、前記記録情報とユーザの端末装置から受信した二つの暗号文より計算して得られた二つの乱数、暗号文を含むデータのハッシュ値である第一の認証子(Vsi)を生成してユーザの端末装置へ送信し、ユーザの端末装置は、受信した認証子が正しく生成された値であるかを確認し、正しい値である場合には、前記記録情報と前記二つの乱数、前記暗号文を含む新たなハッシュ値である第二の認証子(Vc)を生成してサーバの認証装置へ送信し、サーバの認証装置で新たなハッシュ値を認証するか、(ii) サーバの認証装置は、前記記録情報とユーザの端末装置から受信した一つ又は二つの暗号文より計算して得られた一つ又は二つの乱数を含むデータのハッシュ値である認証子を生成してユーザの端末装置へ送信し、ユーザの端末装置は、受信した認証子が正しく生成された値であるかを確認し、正しい値である場合には、前記記録情報と前記一つ又は二つの乱数を有するデータを署名鍵で計算した署名文をサーバの認証装置へ送信し、サーバの認証装置で署名文を認証するか、(iii)サーバの認証装置は、前記記録情報とユーザの端末装置から受信した第一のDH値と乱数とその乱数に基づいて生成した第二のDH値から、DH鍵を生成し、DH鍵を含むデータのハッシュ値である第一の認証子を生成してユーザの端末装置へ送信し、ユーザの端末装置は、受信した第一の認証子が正しく生成された値であるかを確認し、正しい値である場合には、前記記録情報とサーバの認証装置から受信した第二のDH値と乱数とその乱数に基づいて生成した第一のDH値からDH鍵を生成し、前記DH鍵を含むデータから新たなハッシュ値である第二の認証子を生成してサーバの認証装置へ送信し、サーバの認証装置で新たなハッシュ値を認証することで認証プロトコルの実行を行い、ユーザの端末装置とサーバの認証装置との間で相互認証しながらセッション鍵を確立する処理を行う認証処理部と、
前記セッション鍵を生成するたびに格納装置に記録されている記録情報を変更する秘密値更新器と
を備えることを特徴とする二要素認証システム。
Using the recording information stored respectively in the terminal device and the server authentication unit of the password and the user input from the user, establishes a session key with mutual authentication with the user of the terminal device and the server of the authentication device A two-factor authentication system,
A storage device for recording the record information including a random number generated based on prior Symbol password, respectively, in the terminal device and the server authentication unit of the user,
Using the recorded information recorded in the storage device in each of the user terminal device and the server authentication device, (i) the server authentication device is calculated from the recorded information and two ciphertexts received from the user terminal device two random number obtained by, to generate a first authenticator is a hash value of data including the ciphertext (Vsi) transmits to the user of the terminal device, the terminal device of the user, is received authenticator Check whether the generated value is correct, and if it is correct, generate a second authenticator (Vc) that is a new hash value including the recorded information, the two random numbers, and the ciphertext. transmitted to the server of the authentication device to authenticate the new hash value in the authentication device of the server or by, (ii) the server authentication unit of the recording information and the user's one or two encrypted received from the terminal device One obtained by calculating from sentences Generates an authenticator that is a hash value of data containing two random numbers and sends it to the user's terminal device. The user's terminal device confirms whether the received authenticator is a correctly generated value and is correct. If it is a value, the signature information calculated by using the signature key for the recording information and the data having one or two random numbers is sent to the server authentication device, and the server authentication device authenticates the signature statement, (Iii) The server authentication device generates a DH key from the recorded information, the first DH value received from the user terminal device, a random number, and a second DH value generated based on the random number, and generates a DH key. A first authenticator that is a hash value of data including the message is generated and transmitted to the user's terminal device, and the user's terminal device confirms whether the received first authenticator is a correctly generated value. If the value is correct, the recorded information DH key is generated from the second DH value received from the authentication device of the server, the random number, and the first DH value generated based on the random number, and a new hash value is generated from the data including the DH key. Is generated and transmitted to the server authentication device, and the authentication protocol is executed by authenticating the new hash value with the server authentication device . The user terminal device and the server authentication device can interact with each other. An authentication processing unit that performs processing to establish a session key while authenticating;
A two-factor authentication system comprising: a secret value updater that changes recorded information recorded in a storage device each time the session key is generated.
前記請求項1に記載された二要素認証システムにおいて、更に、
ユーザの端末装置とサーバの認証装置においてそれぞれに前記パスワードに基づいて記録情報を作成する初期化処理部を備え、
前記格納装置は前記初期化処理部により作成された記録情報を初期値として記録する
ことを特徴とする二要素認証システム。
The two-factor authentication system of claim 1, further comprising:
An initialization processing unit for creating record information based on the password in each of the user terminal device and the server authentication device;
The two-factor authentication system, wherein the storage device records the recording information created by the initialization processing unit as an initial value.
前記請求項1に記載された二要素認証システムにおいて、
秘密値更新器は、前記カウント値に基づいて格納装置に記録する記録情報の更新を管理する
ことを特徴とする二要素認証システム。
The two-factor authentication system according to claim 1,
The secret value updater manages the update of the record information recorded in the storage device based on the count value.
前記請求項1に記載された二要素認証システムにおいて、
認証処理部は、ユーザの端末装置とサーバの認証装置との間で相互認証し、セッション鍵を確立する処理は、RSA公開鍵に基づく認証プロトコルの処理により行う
ことを特徴とする二要素認証システム。
The two-factor authentication system according to claim 1,
An authentication processing unit performs mutual authentication between a user terminal device and a server authentication device, and a process for establishing a session key is performed by an authentication protocol process based on an RSA public key. .
前記請求項1に記載された二要素認証システムにおいて、
認証処理部は、ユーザの端末装置が前記記録情報とDH鍵を含む認証子を送信する認証プロトコルの実行を行った場合は、ユーザの端末装置とサーバの認証装置との間で相互認証し、セッション鍵を確立する処理は、DH鍵共有プロトコルに基づく認証処理により行う
ことを特徴とする二要素認証システム。
The two-factor authentication system according to claim 1,
The authentication processing unit performs mutual authentication between the user terminal device and the server authentication device when the user terminal device executes the authentication protocol for transmitting the authentication information including the recording information and the DH key, A process for establishing a session key is performed by an authentication process based on a DH key sharing protocol.
ユーザの端末装置にパスワードを入力し、
ユーザの端末装置とサーバの認証装置においてそれぞれに前記パスワードに基づいて作成された乱数を含む記録情報を記録し、
(i)ユーザの端末装置とサーバの認証装置においてそれぞれに前記格納装置に記録された記録情報を用い、サーバの認証装置は、前記記録情報とユーザの端末装置から受信した二つの暗号文より計算して得られた二つの乱数、暗号文を含むデータのハッシュ値である第一の認証子(Vsi)を生成してユーザの端末装置へ送信し、ユーザの端末装置は、受信した認証子が正しく生成された値であるかを確認し、正しい値である場合には、前記記録情報と二つの乱数、暗号文を含む新たなハッシュ値である第二の認証子(Vc)を生成してサーバの認証装置へ送信し、サーバの認証装置で新たなハッシュ値を認証すること、
または、(ii)ユーザの端末装置とサーバの認証装置においてそれぞれに前記格納装置に記録された記録情報を用い、サーバの認証装置は、前記記録情報とユーザの端末装置から受信した一つ又は二つの暗号文より計算して得られた一つ又は二つの乱数を含むデータのハッシュ値である認証子を生成してユーザの端末装置へ送信し、ユーザの端末装置は、受信した認証子が正しく生成された値であるかを確認し、正しい値である場合には、前記記録情報と前記一つ又は二つの乱数を有するデータを署名鍵で計算した署名文をサーバの認証装置へ送信し、サーバの認証装置で署名文を認証すること、
または、(iii)ユーザの端末装置とサーバの認証装置においてそれぞれに前記格納装置に記録された記録情報を用い、サーバの認証装置は、前記記録情報とユーザの端末装置から受信した第一のDH値と乱数とその乱数に基づいて生成した第二のDH値から、DH鍵を生成し、DH鍵を含むデータのハッシュ値である第一の認証子を生成してユーザの端末装置へ送信し、ユーザの端末装置は、受信した第一の認証子が正しく生成された値であるかを確認し、正しい値である場合には、前記記録情報とサーバの認証装置から受信した第二のDH値と乱数とその乱数に基づいて生成した第一のDH値からDH鍵を生成し、前記DH鍵を含むデータから新たなハッシュ値である第二の認証子を生成してサーバの認証装置へ送信し、サーバの認証装置で新たなハッシュ値を認証することで認証プロトコルの実行を行い、
ユーザの端末装置とサーバの認証装置との間で相互認証しながらセッション鍵の確立を行い、セッション鍵が生成されるごとに秘密値更新器により、前記記録情報を更新することを特徴とする二要素認証方法。
Enter the password to the user of the terminal device,
The record information is recorded, including a random number generated based on prior Kipa Seward each the terminal device and the server authentication unit of the user,
(i) Using the recorded information recorded in the storage device in each of the user terminal device and the server authentication device, the server authentication device calculates from the recorded information and two ciphertexts received from the user terminal device. two random number obtained by, to generate a first authenticator is a hash value of data including the ciphertext (Vsi) transmits to the user of the terminal device, the terminal device of the user, is received authenticator Confirm that the value is correctly generated. If the value is correct , generate a second authenticator (Vc) that is a new hash value including the recorded information, two random numbers , and ciphertext. Sending to the server's authentication device and authenticating the new hash value with the server's authentication device;
Or (ii) using the record information recorded in the storage device in the user terminal device and the server authentication device, respectively, and the server authentication device receives the recorded information and one or two received from the user terminal device. An authenticator that is a hash value of data including one or two random numbers obtained from one ciphertext is generated and transmitted to the user's terminal device. Check whether it is a generated value, and if it is a correct value, send the signature information calculated with a signature key to the record information and the data having one or two random numbers to the server authentication device, Authenticating the signature with the server's authentication device;
Or (iii) using the record information recorded in the storage device in each of the user terminal device and the server authentication device, and the server authentication device receives the first DH received from the record information and the user terminal device. A DH key is generated from the value, a random number, and a second DH value generated based on the random number, and a first authenticator that is a hash value of data including the DH key is generated and transmitted to the user terminal device. The user terminal device checks whether the received first authenticator is a correctly generated value. If the received first authenticator is a correct value, the recorded information and the second DH received from the server authentication device. A DH key is generated from a value, a random number, and a first DH value generated based on the random number, a second authenticator that is a new hash value is generated from the data including the DH key, and is sent to the server authentication device. Sent by the server authentication device It performs the execution of the authentication protocol to authenticate the Tana hash value,
A session key is established while mutual authentication is performed between a user terminal device and a server authentication device, and the recorded information is updated by a secret value updater each time a session key is generated. Factor authentication method.
JP2008118729A 2008-04-30 2008-04-30 Two-factor authentication system Active JP5099771B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008118729A JP5099771B2 (en) 2008-04-30 2008-04-30 Two-factor authentication system
PCT/JP2009/058313 WO2009133869A1 (en) 2008-04-30 2009-04-28 Two-element authentication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008118729A JP5099771B2 (en) 2008-04-30 2008-04-30 Two-factor authentication system

Publications (2)

Publication Number Publication Date
JP2009271581A JP2009271581A (en) 2009-11-19
JP5099771B2 true JP5099771B2 (en) 2012-12-19

Family

ID=41255085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008118729A Active JP5099771B2 (en) 2008-04-30 2008-04-30 Two-factor authentication system

Country Status (2)

Country Link
JP (1) JP5099771B2 (en)
WO (1) WO2009133869A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8422670B2 (en) 2008-07-10 2013-04-16 National Institute Of Advanced Industrial Science And Technology Password authentication method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933112B (en) * 2016-06-01 2020-04-21 深圳市证通电子股份有限公司 Key updating method and device for unattended terminal

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8422670B2 (en) 2008-07-10 2013-04-16 National Institute Of Advanced Industrial Science And Technology Password authentication method
JP5224481B2 (en) * 2008-07-10 2013-07-03 独立行政法人産業技術総合研究所 Password authentication method

Also Published As

Publication number Publication date
JP2009271581A (en) 2009-11-19
WO2009133869A1 (en) 2009-11-05

Similar Documents

Publication Publication Date Title
Wazid et al. Design of secure key management and user authentication scheme for fog computing services
TWI233739B (en) Systems, methods and computer readable recording medium for remote password authentication using multiple servers
US9628273B2 (en) Cryptographic method and system for secure authentication and key exchange
US8437473B2 (en) Small public-key based digital signatures for authentication
US8589693B2 (en) Method for two step digital signature
JP5224481B2 (en) Password authentication method
US9660805B2 (en) Methods and devices for securing keys when key-management processes are subverted by an adversary
Odelu et al. A secure and efficient ECC‐based user anonymity preserving single sign‐on scheme for distributed computer networks
Tsai et al. An ECC‐based blind signcryption scheme for multiple digital documents
Shakiba Security analysis for chaotic maps-based mutual authentication and key agreement using smart cards for wireless networks
Huszti et al. A simple authentication scheme for clouds
Sengupta et al. Distritrust: Distributed and low-latency access validation in zero-trust architecture
Schwab et al. Entity authentication in a mobile-cloud environment
Chang et al. On making U2F protocol leakage-resilient via re-keying
JP5099771B2 (en) Two-factor authentication system
Eldefrawy et al. One-time password system with infinite nested hash chains
JP5004086B2 (en) Authentication system using short sequences
Sahoo et al. Design of An Authentication Scheme for Cloud-Based IoT Applications
Hölbl et al. Improvement of the Peyravian–Jeffries’s user authentication protocol and password change protocol
Islam et al. Improved remote login scheme based on ECC
Sadqi et al. A secure and efficient user authentication scheme for the web
JP5392741B2 (en) Password authentication method based on RSA and its application
Syed et al. On the Pivotal Role of Digital Signatures: A Review of Conception, Mensuration, and Applications
Téllez et al. Security in mobile payment systems
Shekhawat et al. Quantum-resistance blockchain-assisted certificateless data authentication and key exchange scheme for the smart grid metering infrastructure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120831

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: 20120918

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: 20120920

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5099771

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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