Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7276737B2 - Identity verification system and identity verification method - Google Patents
[go: Go Back, main page]

JP7276737B2 - Identity verification system and identity verification method - Google Patents

Identity verification system and identity verification method Download PDF

Info

Publication number
JP7276737B2
JP7276737B2 JP2021097320A JP2021097320A JP7276737B2 JP 7276737 B2 JP7276737 B2 JP 7276737B2 JP 2021097320 A JP2021097320 A JP 2021097320A JP 2021097320 A JP2021097320 A JP 2021097320A JP 7276737 B2 JP7276737 B2 JP 7276737B2
Authority
JP
Japan
Prior art keywords
user terminal
user
token
server system
otp
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
JP2021097320A
Other languages
Japanese (ja)
Other versions
JP2022188998A (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.)
NO.1 SOLUTIONS INC.
NTI Inc
Original Assignee
NO.1 SOLUTIONS INC.
NTI Inc
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 NO.1 SOLUTIONS INC., NTI Inc filed Critical NO.1 SOLUTIONS INC.
Priority to JP2021097320A priority Critical patent/JP7276737B2/en
Publication of JP2022188998A publication Critical patent/JP2022188998A/en
Application granted granted Critical
Publication of JP7276737B2 publication Critical patent/JP7276737B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、概して、本人認証に関する。 The present invention relates generally to identity authentication.

ワンタイムパスワード(以下、OTP)を利用した本人認証技術が知られている。「OTP」とは、一回だけ利用可能な文字列(一般的には乱数)である。「文字列」は、複数(又は一つ)の文字で構成されており、各文字は、アルファベット、数字及びその他の符号のうちのいずれかでよい。また、典型的には、OTPは、使用可能な回数の上限が1である文字列であるが、本明細書で使用する「OTP」は、使用可能な回数の上限が2以上である拡張されたOTPであってもよいし、使用可能な回数に代えて又は加えて、使用可能な期間の上限が定められた拡張されたOTPであってもよい。 Personal authentication technology using a one-time password (hereinafter referred to as OTP) is known. "OTP" is a character string (generally a random number) that can be used only once. A "character string" is composed of multiple (or single) characters, and each character may be either alphabetic, numeric, or other code. Also, typically, an OTP is a character string whose upper limit of the number of times it can be used is 1, but as used herein, "OTP" is an extended character string whose upper limit of the number of times it can be used is 2 or more. It may be an extended OTP with an upper limit on the usable period instead of or in addition to the number of times it can be used.

OTPを利用した本人認証技術として、例えば特許文献1に開示の技術が知られている。 For example, the technology disclosed in Patent Document 1 is known as a person authentication technology using OTP.

特開2011-215940号公報Japanese Patent Application Laid-Open No. 2011-215940

インターネット経由でのサービスの提供にはWEB機能が利用される。WEB機能とは、一般に、ユーザ端末のWEBブラウザからURL(Uniform Resource Locator)を指定したリクエストをサーバシステムへ送り、そのURLに従うHTML(Hypertext Markup Language)ファイルをサーバシステムがユーザ端末のWEBブラウザに表示させる機能である。 A WEB function is used to provide services via the Internet. Generally, the WEB function is to send a request specifying a URL (Uniform Resource Locator) from the WEB browser of the user terminal to the server system, and the server system displays an HTML (Hypertext Markup Language) file according to the URL on the WEB browser of the user terminal. It is a function that allows

本人認証に必要なOTPも、WEB機能を利用して提供することができれば、ユーザの利便性が向上する。しかし、WEB機能を利用してユーザに安全にOTPを提供する方法は存在しない。ユーザと通信経路の両方を正しく確認することができないためである。 User convenience will be improved if the OTP required for personal authentication can be provided using the WEB function. However, there is no method for safely providing the OTP to the user using the WEB function. This is because both the user and the communication path cannot be correctly confirmed.

そこで、OTPを利用する本人認証方法として、一般に、二段階認証が採用されている。二段階認証では、OTPをユーザに伝える方法として、メール、SMS(Short Message Service)、ドングル(ハードウェアトークン)、電話音声、又は、アプリ(例えば、ブラウザ又はサービス用アプリとは別のアプリとしてのOTP発行用アプリ)が利用される。 Therefore, two-step authentication is generally adopted as a personal authentication method using OTP. In two-factor authentication, the OTP can be conveyed to the user by email, SMS (Short Message Service), dongle (hardware token), telephone voice, or application (for example, as an application separate from the browser or service application). OTP issuing application) is used.

しかし、二段階認証では、フィッシング詐欺を防ぐことができない。すなわち、悪意のある第三者に、偽のWEB画面を介してユーザが入力した認証情報(例えばID及びパスワード)が取得され、且つ、OTPも取得されてしまうと、その悪意のある第三者がユーザ本人に成り済ますことができてしまう。 However, two-factor authentication does not prevent phishing scams. That is, if a malicious third party acquires the authentication information (for example, ID and password) entered by the user through a fake WEB screen and also acquires the OTP, the malicious third party can impersonate the user.

WEBブラウザを有するユーザ端末と通信するサーバシステムが、トークンを生成し、当該生成されユーザ端末により保存されるトークンをHTTPで送信する。サーバシステムが、上記生成されたトークンにユーザを関連付け、発行されたOTPを、上記生成されユーザが関連付けられたトークンに関連付ける。サーバシステムが、上記生成されたトークンに基づく文字列を有するリンクであるOTPリンクが記述されたユーザ宛のリンク通知を送信する。発行されたリンク通知上の指定されたOTPリンクが有する文字列の基になっているトークンと、保存されたトークンとが一致する場合に、サーバシステムが、当該OTPリンクに従うHTTPリクエストをユーザ端末から受信し、OTPのHTTPレスポンスをユーザ端末に送信する。ユーザにより入力されたOTPが、ユーザが関連付けられているトークンに関連付けられているOTPに一致していることが、ユーザの本人認証成功の要件である。 A server system communicating with a user terminal having a WEB browser generates a token and sends the generated token stored by the user terminal via HTTP. A server system associates a user with the generated token and associates an issued OTP with the generated user-associated token. The server system transmits a link notification addressed to the user describing an OTP link, which is a link having a character string based on the generated token. When the token on which the character string of the OTP link specified in the issued link notification is based matches the stored token, the server system transmits an HTTP request following the OTP link from the user terminal. Receive and send an OTP HTTP response to the user terminal. It is a requirement for successful user authentication that the OTP entered by the user matches the OTP associated with the token with which the user is associated.

本発明によれば、OTPをWEB機能で安全に提供することができる。 According to the present invention, OTP can be safely provided by the WEB function.

本発明の一実施形態に係るシステム構成を示す図である。It is a figure which shows the system configuration|structure which concerns on one Embodiment of this invention. 本発明の一実施形態において行われる認証処理の一部である。It is part of the authentication process performed in one embodiment of the present invention. 本発明の一実施形態において行われる認証処理の残りである。It is the remainder of the authentication process performed in one embodiment of the present invention.

以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のI/O(Input/Output)インターフェースデバイス。I/O(Input/Output)インターフェースデバイスは、I/Oデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスである。表示用計算機に対するI/Oインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザインターフェースデバイス、例えば、キーボードおよびポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイス。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
In the following description, an "interface device" may be one or more interface devices. The one or more interface devices may be at least one of the following:
- One or more I/O (Input/Output) interface devices. An I/O (Input/Output) interface device is an interface device for at least one of an I/O device and a remote display computer. The I/O interface device to the display computer may be a communications interface device. The at least one I/O device may be any of a user interface device, eg, an input device such as a keyboard and pointing device, and an output device such as a display device.
- One or more communication interface devices. The one or more communication interface devices may be one or more of the same type of communication interface device (e.g., one or more NICs (Network Interface Cards)) or two or more different types of communication interface devices (e.g., NIC and It may be an HBA (Host Bus Adapter).

また、以下の説明では、「メモリ」は、一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。 Also, in the following description, "memory" may be one or more memory devices, typically a main memory device. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.

また、以下の説明では、「永続記憶装置」は、一つ以上の永続記憶デバイスである。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)であり、具体的には、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)である。 Also, in the following description, a "persistent storage device" is one or more persistent storage devices. A permanent storage device is typically a non-volatile storage device (for example, an auxiliary storage device), and specifically, for example, an HDD (Hard Disk Drive) or SSD (Solid State Drive).

また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。 Also, in the following description, "storage" may be at least memory of memory and persistent storage.

また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスである。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスであるが、GPU(Graphics Processing Unit)のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサデバイスは、プロセッサコアでもよい。少なくとも一つのプロセッサデバイスは、処理の一部または全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit))といった広義のプロセッサデバイスでもよい。 Also, in the following description, a "processor" is one or more processor devices. The at least one processor device is typically a microprocessor device such as a CPU (Central Processing Unit), but may be another type of processor device such as a GPU (Graphics Processing Unit). At least one processor device may be single-core or multi-core. At least one processor device may be a processor core. At least one processor device may be a broadly defined processor device such as a hardware circuit (for example, FPGA (Field-Programmable Gate Array) or ASIC (Application Specific Integrated Circuit)) that performs part or all of processing.

また、以下の説明では、「yyy部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGAまたはASIC)によって実現されてもよいし、それらの組合せによって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置および/またはインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機または計算機が読み取り可能な記憶媒体(例えば非一時的な記憶媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。 In addition, in the following description, the function may be described using the expression “yyy part”, but the function may be realized by executing one or more computer programs by a processor, or may be realized by executing one or more computer programs. It may be realized by the above hardware circuits (for example, FPGA or ASIC), or may be realized by a combination thereof. When a function is realized by executing a program by a processor, the defined processing is performed while appropriately using a storage device and/or an interface device, etc., so the function may be at least part of the processor. good. A process described with a function as the subject may be a process performed by a processor or a device having the processor. Programs may be installed from program sources. The program source may be, for example, a program distribution computer or a computer-readable storage medium (eg, non-transitory storage medium). The description of each function is an example, and multiple functions may be combined into one function, or one function may be divided into multiple functions.

以下、図面を参照して、本発明の一実施形態を詳述する。なお、以下の実施形態では、本人認証の一例としてログイン認証が採用され、本人認証用の認証情報としてID及びパスワードといったログイン情報が採用され、本人認証用の認証情報の入力のためのWEBページとしてID及びパスワードが入力されるログインページが採用される。 An embodiment of the present invention will be described in detail below with reference to the drawings. In the following embodiments, login authentication is adopted as an example of personal authentication, login information such as an ID and password is adopted as authentication information for personal authentication, and a WEB page for inputting authentication information for personal authentication A login page is adopted in which an ID and password are entered.

図1は、本発明の一実施形態に係るシステム構成を示す図である。 FIG. 1 is a diagram showing a system configuration according to one embodiment of the present invention.

インターネットのような通信ネットワークを介してユーザ端末150とサーバシステム100間で通信が行われる。 Communication is performed between the user terminal 150 and the server system 100 via a communication network such as the Internet.

ユーザ端末150は、パーソナルコンピュータやスマートフォンのような情報処理端末である。ユーザ端末150は、IF装置(インターフェース装置)160、記憶装置180及びそれらに接続されたプロセッサ190を有する。また、ユーザ端末150は、IF装置160に接続されたUI(User Interface)装置170を有する。 A user terminal 150 is an information processing terminal such as a personal computer or a smart phone. The user terminal 150 has an IF device (interface device) 160, a storage device 180, and a processor 190 connected thereto. The user terminal 150 also has a UI (User Interface) device 170 connected to the IF device 160 .

IF装置160は、サーバシステム100の後述のIF装置110と通信したり、UI装置170と通信したりする。 The IF device 160 communicates with the later-described IF device 110 of the server system 100 and the UI device 170 .

UI装置170は、キーボードやマウスのような入力装置と、液晶ディスプレイのような表示装置とのうちの少なくとも一つである。UI装置170は、タッチパネルのように入力装置と表示装置とが一体の装置でもよい。 The UI device 170 is at least one of an input device such as a keyboard or mouse and a display device such as a liquid crystal display. The UI device 170 may be a device such as a touch panel in which an input device and a display device are integrated.

記憶装置180は、鍵Uを記憶する。鍵Uは、一つ又は複数のユーザ鍵である。ユーザ鍵は、情報の暗号化や復号に用いられる。以下、第nのユーザ鍵を「KUn」と表記する(nは自然数)。多重暗号通信対象(例えば情報の一例としての引数)毎に使用されるユーザ鍵が異なってもよいし、多重暗号通信対象に関わらずユーザ鍵が共通でもよい。 The storage device 180 stores the key U. Key U is one or more user keys. User keys are used to encrypt and decrypt information. Hereinafter, the n-th user key is expressed as "K Un " (n is a natural number). A different user key may be used for each object of multiple encrypted communication (for example, an argument as an example of information), or a common user key may be used regardless of the object of multiple encrypted communication.

プロセッサ190が、WEBブラウザ191、トークン管理部192及び暗号化部193として機能する。これらの機能191~193は、ユーザ端末150のOS(Operating System)を含む又は除く一つ以上のコンピュータプログラムの少なくとも一部をプロセッサ190が実行することにより実現される。例えば、トークン管理部192及び暗号化部193の少なくとも一つは、予めユーザ端末150に用意された機能(例えばWEBブラウザ191のプラグイン)でもよいし、サーバシステム100からのWEBページに対してJAVAスクリプト(「JAVA」は登録商標)のように埋め込まれた機能(WEBページから取得された機能)でもよい。これらの機能191~193の説明は、図2及び図3が表す認証処理の説明の中で行われる。 A processor 190 functions as a web browser 191 , a token management section 192 and an encryption section 193 . These functions 191 to 193 are realized by the processor 190 executing at least part of one or more computer programs including or excluding the OS (Operating System) of the user terminal 150 . For example, at least one of the token management unit 192 and the encryption unit 193 may be a function prepared in advance in the user terminal 150 (for example, a plug-in of the WEB browser 191), or a JAVA Embedded functions (functions obtained from web pages) such as scripts (“JAVA” is a registered trademark) may be used. A description of these functions 191-193 is provided in the description of the authentication process represented by FIGS.

サーバシステム100は、IF装置110、記憶装置120及びそれらに接続されたプロセッサ130といった計算資源を有する一つ以上の物理的な計算機で構成された物理的なシステムでもよいし、そのような物理的なシステムに基づく論理的なシステム(例えば、クラウドコンピューティングサービスとしてのシステム)でもよい。 The server system 100 may be a physical system composed of one or more physical computers having computational resources such as an IF device 110, a storage device 120, and a processor 130 connected thereto. It may be a logical system based on a system (for example, a system as a cloud computing service).

IF装置110は、ユーザ端末150のIF装置160と通信する。 IF device 110 communicates with IF device 160 of user terminal 150 .

記憶装置120が、鍵S及び管理DB(データベース)121を記憶する。 A storage device 120 stores a key S and a management DB (database) 121 .

鍵Sは、一つ又は複数のユーザ鍵にそれぞれ対応した一つ又は複数のサーバ鍵である。サーバ鍵は、情報の暗号化や復号に用いられる。多重暗号通信対象(例えば情報の一例としての引数)毎に使用されるサーバ鍵が異なってもよいし、多重暗号通信対象に関わらずサーバ鍵が共通でもよい。本実施形態では、ユーザ鍵とサーバ鍵は1:1で対応しているとする。以下、第nのユーザ鍵KUnに対応した第nのサーバ鍵を「KSn」と表記する。どの多重暗号通信でどのユーザ鍵及びどのサーバ鍵が使用されるかは予め決められていてもよいし、どの多重暗号通信であるかに関わらず使用されるユーザ鍵及びサーバ鍵はそれぞれ任意でもよい。 The key S is one or more server keys respectively corresponding to one or more user keys. Server keys are used to encrypt and decrypt information. A different server key may be used for each object of multiple encrypted communication (for example, an argument as an example of information), or a common server key may be used regardless of the object of multiple encrypted communication. In this embodiment, it is assumed that the user key and the server key have a one-to-one correspondence. Hereinafter, the n-th server key corresponding to the n-th user key K Un is denoted as "K Sn ". Which user key and which server key are used in which multiplex encrypted communication may be determined in advance, or the user key and server key used may be arbitrary regardless of which multiplexed encrypted communication. .

管理DB121は、管理情報の一例であり、ユーザ毎に情報を含む。例えば、各ユーザについて、当該ユーザの情報は、例えば、当該ユーザのID及びパスワードのような認証情報を含む。また、各ユーザについて、当該ユーザの情報には、適宜に、トークンとOTPが追加される。なお、ユーザの認証情報は、ID及びパスワードの少なくとも一つに代えて又は加えて、ユーザの生体情報のような他種の情報を含んでもよい。 The management DB 121 is an example of management information and includes information for each user. For example, for each user, the user's information includes authentication information, such as the user's ID and password. Also, for each user, the token and OTP are added to the user's information as appropriate. Note that the user's authentication information may include other types of information such as user's biometric information instead of or in addition to at least one of the ID and password.

プロセッサ130が、トークン管理部131、WEB-IF部132、暗号化部133、OTP管理部134及び認証部135として機能する。これらの機能131~135は、サーバシステム100のOSを含む又は除く一つ以上のコンピュータプログラムの少なくとも一部をプロセッサ130が実行することにより実現される。また、これらの機能131~135の説明は、図2及び図3が表す認証処理の説明の中で行われる。 Processor 130 functions as token manager 131 , WEB-IF section 132 , encryption section 133 , OTP manager 134 and authentication section 135 . These functions 131 to 135 are implemented by the processor 130 executing at least part of one or more computer programs including or excluding the OS of the server system 100 . Also, the description of these functions 131 to 135 will be made in the description of the authentication process represented by FIGS. 2 and 3. FIG.

図2及び図3は、本発明の一実施形態において行われる認証処理を示す。 2 and 3 illustrate the authentication process performed in one embodiment of the invention.

S201で、ユーザ端末150のWEBブラウザ191が、サーバシステム100にHTTPリクエストを送信する。ここで言う「HTTPリクエスト」は、ログインページのURLが指定されたリクエストであるが、そのようなリクエストに代えて、ログインページ以外のWEBページのURLが指定されたHTTPリクエストが採用されてもよい。このHTTPリクエストに応答してユーザのログイン認証が済んでいないことがサーバシステム100により特定された場合には、ログインページのHTTPレスポンスがユーザ端末150に提供されてよい。 At S<b>201 , the WEB browser 191 of the user terminal 150 transmits an HTTP request to the server system 100 . The "HTTP request" referred to here is a request specifying the URL of the login page, but instead of such a request, an HTTP request specifying the URL of a web page other than the login page may be employed. . If the server system 100 identifies in response to this HTTP request that the user's login authentication has not been completed, the HTTP response of the login page may be provided to the user terminal 150 .

S202:S201で送信されたHTTPリクエスト(又はリダイレクトにより送信されたHTTPリクエスト)をサーバシステム100が受信する。当該HTTPリクエストに応答して、サーバシステム100のトークン管理部131が、トークン(以下、トークンA)を生成し、例えば記憶装置120に一時保存する。トークンAは、例えば乱数としての文字列である。サーバシステム100のWEB-IF部132が、トークンAが関連付けられた(例えば埋め込まれた)ログインページのHTTPレスポンスを、ユーザ端末150に提供する。 S202: The server system 100 receives the HTTP request sent in S201 (or the HTTP request sent by redirection). In response to the HTTP request, the token management unit 131 of the server system 100 generates a token (hereinafter referred to as token A) and temporarily stores it in the storage device 120, for example. Token A is, for example, a character string as a random number. The WEB-IF unit 132 of the server system 100 provides the user terminal 150 with the HTTP response of the login page associated with (for example, embedded in) the token A.

S203:ユーザ端末150のWEBブラウザ191が、サーバシステム100からのログインページを表示し、ユーザ端末150のトークン管理部192が、ログインページに関連付けられているトークンAを保存する。トークンAの保存先は、記憶装置180(つまりローカルストレージ)でよいが、それに代えて又は加えて、セッションストレージであってもよい。 S203: The WEB browser 191 of the user terminal 150 displays the login page from the server system 100, and the token management section 192 of the user terminal 150 saves the token A associated with the login page. Token A may be stored in storage device 180 (ie, local storage), but may alternatively or additionally be in session storage.

S204:ユーザ端末150のWEBブラウザ191が、ログインページに対するID及びPW(パスワード)の入力を受け付ける。 S204: The WEB browser 191 of the user terminal 150 accepts the input of the ID and PW (password) for the login page.

S205:S204で例えばログインページ上のログインボタンが押された場合、ユーザ端末150のWEBブラウザ191が、当該入力されたID及びパスワードを含んだ情報である引数(以下、引数P)を暗号化部193に渡し、暗号化部193が、引数Pを、第1のユーザ鍵KU1と上記保存されたトークンA(暗号化用パスワード)とを用いて暗号化する。引数Pは、ID及びパスワード以外の情報(例えば、タイムスタンプ)を含んでもよい。第1のユーザ鍵KU1を用いて暗号化された引数を「引数EU1」と表記する。 S205: For example, when the login button on the login page is pressed in S204, the WEB browser 191 of the user terminal 150 encrypts an argument (hereinafter, argument P) that is information including the entered ID and password. 193, and the encryption unit 193 encrypts the argument P using the first user key KU1 and the stored token A (encryption password). Argument P may include information other than ID and password (for example, timestamp). An argument encrypted using the first user key K U1 is denoted as “argument E U1 ”.

S206:ユーザ端末150のWEBブラウザ191が、引数EU1を関連付けたHTTPリクエスト(例えば、本人認証のリクエスト)を送信する。 S206: The WEB browser 191 of the user terminal 150 transmits an HTTP request (for example, a personal authentication request) associated with the argument EU1 .

S207:引数EU1が関連付いたHTTPリクエストをサーバシステム100(例えばWEB-IF部132)が受信し、サーバシステム100の暗号化部133が、上記一時保存されたトークンA(暗号化用パスワード)と第1のサーバ鍵KS1とを用いて引数EU1を暗号化する。第1のユーザ鍵KU1と第1のサーバ鍵KS1とを用いて暗号化された引数、つまり多重暗号された引数を「引数EU1S1」と表記する。サーバシステム100(例えばWEB-IF部132)が、引数EU1S1をユーザ端末150に送信する。 S207: The server system 100 (for example, the WEB-IF unit 132) receives the HTTP request associated with the argument E U1 , and the encryption unit 133 of the server system 100 encrypts the temporarily stored token A (encryption password). and the first server key KS1 to encrypt the argument EU1 . An argument encrypted using the first user key K U1 and the first server key K S1 , that is, an argument multi-encrypted is denoted as "argument E U1S1 ". The server system 100 (for example, the WEB-IF unit 132) transmits the argument EU1S1 to the user terminal 150.

S208:引数EU1S1をユーザ端末150(例えばWEBブラウザ191)が受信し、ユーザ端末150の暗号化部193が、引数EU1S1を、上記保存されたトークンA(復号用パスワード)と第1のユーザ鍵KU1とを用いて復号する。これにより、引数Pが第1のサーバ鍵KS1で暗号化されている状態の引数ES1が取得される。ユーザ端末150(例えばWEBブラウザ191)が、引数ES1をサーバシステム100に送信する。 S208: The argument EU1S1 is received by the user terminal 150 (for example, the WEB browser 191), and the encryption unit 193 of the user terminal 150 converts the argument EU1S1 into the stored token A (decryption password) and the first user Decrypt using the key KU1 . As a result, the argument E S1 in which the argument P is encrypted with the first server key K S1 is obtained. The user terminal 150 (for example, the WEB browser 191) transmits the argument ES1 to the server system 100. FIG.

S209:引数ES1をサーバシステム100(例えばWEB-IF部132)が受信し、サーバシステム100の暗号化部133が、上記一時保存されたトークンA(復号用パスワード)と第1のサーバ鍵KS1とを用いて引数ES1を復号する。これにより、引数Pが取得され、故に、引数PからID及びパスワードの取得が可能である。 S209: The server system 100 (for example, the WEB-IF unit 132) receives the argument E S1 , and the encryption unit 133 of the server system 100 converts the temporarily stored token A (decryption password) and the first server key K Decode the argument E S1 using S1 . As a result, the argument P is obtained, and therefore the ID and password can be obtained from the argument P.

S206~S209に係る多重暗号通信(ユーザ端末150のWEBブラウザ191とサーバシステム100のWEB-IF部132間の通信)は、HTTPで行われる。すなわち、引数EU1、引数EU1S1及び引数ES1の送受信は、HTTPで行われる。また、鍵及び暗号化用パスワードを用いた暗号化、及び、鍵及び復号用パスワードを用いた復号は、本実施形態では、バーナム暗号が利用される。暗号化及び復号には、バーナム暗号以外の手法が採用されてもよい。 Multiple encryption communication (communication between the WEB browser 191 of the user terminal 150 and the WEB-IF unit 132 of the server system 100) in S206 to S209 is performed using HTTP. That is, the argument E U1 , the argument E U1S1 and the argument E S1 are transmitted and received by HTTP. Also, in this embodiment, Vernam cipher is used for encryption using a key and an encryption password, and for decryption using a key and a decryption password. Techniques other than the Vernam cipher may be employed for encryption and decryption.

S210:サーバシステム100の認証部135が、引数Pから取得されたID及びパスワードに一致するID及びパスワードを含んだ情報が管理DB121にあるか否かを判定する。この判定の結果が偽の場合(S210:NO)、認証部135が、エラー処理(例えば、ID又はパスワードの入力のやり直しを表すメッセージをユーザ端末150に送信すること)を行う。この判定の結果が真の場合(S210:YES)、処理が図3のS211に進む。 S210: The authentication unit 135 of the server system 100 determines whether information including an ID and password matching the ID and password obtained from the argument P exists in the management DB 121 . If the result of this determination is false (S210: NO), the authentication unit 135 performs error processing (for example, sending a message to the user terminal 150 indicating that the ID or password should be entered again). If the result of this determination is true (S210: YES), the process proceeds to S211 in FIG.

S211:サーバシステム100のトークン管理部192が、S210:YESのID及びパスワードに対応したユーザの情報(管理DB121内の情報)に、上記一時保存されたトークンAを含める。つまり、トークン管理部192が、トークンAに当該ユーザを関連付ける。サーバシステム100のWEB-IF部132が、トークンAが関連付けられた(例えば埋め込まれた)OTP入力用のWEBページであるOTP入力ページを、ユーザ端末150に提供する。OTP入力ページは、S206で送信されたHTTPリクエストのHTTPレスポンスとして提供されてよい。 S211: The token management unit 192 of the server system 100 includes the temporarily stored token A in the user information (information in the management DB 121) corresponding to the ID and password of S210: YES. That is, the token management unit 192 associates the token A with the user. The WEB-IF unit 132 of the server system 100 provides the user terminal 150 with an OTP input page, which is a WEB page for OTP input with which the token A is associated (eg embedded). The OTP input page may be provided as an HTTP response to the HTTP request sent at S206.

S212:ユーザ端末150のWEBブラウザ191が、サーバシステム100からのOTP入力ページを表示する。なお、この段階で、ユーザ端末150のトークン管理部192が、上記保存されたトークンAに一致するトークンがOTP入力ページに関連付けられているか否かを判定してよい。この判定の結果が偽の場合、ユーザ端末150(例えばWEBブラウザ191)が、エラー処理(例えば、不正なページであることの警告メッセージを表示すること)を行ってよい。 S<b>212 : The WEB browser 191 of the user terminal 150 displays the OTP input page from the server system 100 . At this stage, the token management unit 192 of the user terminal 150 may determine whether or not a token matching the stored token A is associated with the OTP input page. If the result of this determination is false, the user terminal 150 (for example, the WEB browser 191) may perform error processing (for example, display a warning message indicating that the page is invalid).

S213:S211に並行して、サーバシステム100のOTP管理部134が、URL通知を、S210でID及びパスワードの認証がされたユーザ宛に送信する。「URL通知」とは、トークンAに基づく文字列(本実施形態ではトークンAを含んだ文字列)を有するURL(リンクの一例)であるOTP-URLが記述された通知(例えば、電子メール、又は、SMSメッセージ)である。本実施形態では、OTP-URLは、第1のユーザ鍵KU1とトークンAとを用いて復号可能な引数(つまり引数EU1)としての文字列を含む。引数EU1は、S206でサーバシステム100に送信されたリクエストに関連付けられている引数である。 S213: In parallel with S211, the OTP management unit 134 of the server system 100 transmits a URL notification to the user whose ID and password have been authenticated in S210. "URL notification" means a notification (eg, e-mail, or SMS message). In this embodiment, the OTP-URL contains a string as an argument that can be decrypted using the first user key K U1 and the token A (ie argument E U1 ). Argument EU1 is an argument associated with the request sent to server system 100 at S206.

S214:ユーザ端末150(例えば、図示しないメールアプリ又はSMSアプリ)が、サーバシステム100からのURL通知を表示し、当該通知に記述されているURLを指定するユーザ操作を受け付ける。 S214: User terminal 150 (e.g., mail application or SMS application (not shown)) displays the URL notification from server system 100 and accepts a user operation to specify the URL described in the notification.

S215:ユーザ端末150の暗号化部193が、指定されたURLにおける文字列(引数EU1としての文字列)を、第1のユーザ鍵KU1と上記保存されたトークンAとを用いて復号する。 S215: The encryption unit 193 of the user terminal 150 decrypts the character string in the specified URL (the character string as the argument EU1 ) using the first user key KU1 and the saved token A. .

S216:ユーザ端末150のトークン管理部192が、S215の復号により得られたトークンと、上記保存されたトークンAとが一致するか否かを判定する。この判定の結果が偽の場合、ユーザ端末150(例えばWEBブラウザ191)が、エラー処理(例えば、ID及びパスワードの入力からやり直すことのメッセージを表示すること)を行ってよい。この判定の結果が真の場合(S216:YES)、処理がS217に進む。 S216: The token management unit 192 of the user terminal 150 determines whether or not the token obtained by the decryption in S215 matches the token A stored above. If the result of this determination is false, the user terminal 150 (for example, the WEB browser 191) may perform error processing (for example, displaying a message to start over from entering the ID and password). If the result of this determination is true (S216: YES), the process proceeds to S217.

S217:ユーザ端末150のWEBブラウザ191が、OTP-URLを指定したHTTPリクエスト(OTPを表示したWEBページであるOTP表示ページのリクエスト)を送信する。 S217: The WEB browser 191 of the user terminal 150 transmits an HTTP request specifying an OTP-URL (a request for an OTP display page, which is a WEB page displaying the OTP).

S218:OTP-URLを指定したリクエストをサーバシステム100(例えばWEB-IF部132)が受信し、サーバシステム100のOTP管理部134が、OTPを発行し、当該OTPを、S210でID及びパスワードの認証がされたユーザに対応した情報(管理DB121内の情報)に関連付ける。つまり、OTP管理部134が、当該ユーザが関連付けられたトークンに、発行されたOTPを関連付ける。なお、OTPの発行は、OTP-URLを指定したHTTPリクエストを受信したときに代えて、S210:YESの後の任意のタイミングで行われてもよい。また、OTPの発行は、サーバシステム100の外部のシステムにより行われてもよい。 S218: The server system 100 (for example, the WEB-IF unit 132) receives the request specifying the OTP-URL, the OTP management unit 134 of the server system 100 issues the OTP, and the OTP is sent to the ID and password in S210. Associate with information (information in the management DB 121) corresponding to the authenticated user. That is, the OTP management unit 134 associates the issued OTP with the token associated with the user. Note that the OTP may be issued at an arbitrary timing after S210: YES, instead of when an HTTP request specifying an OTP-URL is received. Also, the OTP may be issued by a system external to the server system 100 .

S219:下記の多重暗号通信が行われる。この多重暗号通信の対象は、OTPである。なお、OTPは多重暗号されることなくユーザ端末150に送信されてもよい。
(X1)サーバシステム100の暗号化部133が、発行されたOTPを、トークンA(暗号化用パスワード)と第2のサーバ鍵KS2とを用いて暗号化する。この暗号化されたOTPを「OTP-ES2」と表記する。また、例えば鍵Sにおけるサーバ鍵の1つだけの場合、第1のサーバ鍵KS1と第2のサーバ鍵KS2は同じ鍵でよい。サーバシステム100(例えばWEB-IF部132)が、OTP-ES2をユーザ端末150に送信する。
(X2)ユーザ端末150(例えばWEBブラウザ191)が、OTP-ES2を受信し、ユーザ端末150の暗号化部193が、上記保存されたトークンA(暗号化用パスワード)と第2のサーバ鍵KS2に対応する第2のユーザ鍵KU2とを用いてOTP-ES2を暗号化する。第2のサーバ鍵KS2と第2のユーザ鍵KU2とを用いて暗号化されたOTP、つまり多重暗号されたOTPを「OTP-ES2U2」と表記する。ユーザ端末150(例えばWEBブラウザ191)が、OTP-ES2U2をサーバシステム100に送信する。
(X3)サーバシステム100(例えばWEB-IF部132)が、OTP-ES2U2を受信し、サーバシステム100の暗号化部133が、OTP-ES2U2を、トークンA(復号用パスワード)と第2のサーバ鍵KS2とを用いて復号する。これにより、OTPが第2のユーザ鍵KU2で暗号化されている状態のOTP-EU2が取得される。サーバシステム100(例えばWEB-IF部132)が、OTP-EU2をユーザ端末150に送信する。
(X4)ユーザ端末150(例えばWEBブラウザ191)が、OTP-EU2を受信し、ユーザ端末150の暗号化部193が、上記保存されたトークンA(復号用パスワード)と第2のユーザ鍵KU2とを用いてOTP-EU2を復号する。これにより、OTPが取得される。
S219: The following multiple encryption communication is performed. The target of this multiple cryptographic communication is OTP. Note that the OTP may be transmitted to the user terminal 150 without multiple encryption.
(X1) The encryption unit 133 of the server system 100 encrypts the issued OTP using the token A (encryption password) and the second server key KS2 . This encrypted OTP is denoted as "OTP-E S2 ". Also, for example, if there is only one server key in the key S, the first server key KS1 and the second server key KS2 may be the same key. The server system 100 (for example, the WEB-IF unit 132) transmits the OTP-E S2 to the user terminal 150.
(X2) The user terminal 150 (for example, the WEB browser 191) receives the OTP-E S2 , and the encryption unit 193 of the user terminal 150 encrypts the stored token A (encryption password) and the second server key. Encrypt OTP-E S2 with a second user key K U2 corresponding to K S2 . The OTP encrypted using the second server key K S2 and the second user key K U2 , that is, the multiple encrypted OTP is denoted as "OTP-E S2U2 ". User terminal 150 (for example, WEB browser 191) transmits OTP-E S2U2 to server system 100. FIG.
(X3) Server system 100 (for example, WEB-IF unit 132) receives OTP-E S2U2 , and encryption unit 133 of server system 100 encrypts OTP-E S2U2 with token A (decryption password) and second is decrypted using the server key KS2 of . As a result, an OTP-E U2 in which the OTP is encrypted with the second user key K U2 is obtained. The server system 100 (for example, the WEB-IF unit 132) transmits the OTP- EU2 to the user terminal 150.
(X4) User terminal 150 (for example, WEB browser 191) receives OTP-E U2 , and encryption unit 193 of user terminal 150 encrypts token A (decryption password) stored above and second user key K Decode OTP-E U2 using U2 . The OTP is thus obtained.

(X1)~(X4)に係る多重暗号通信(ユーザ端末150のWEBブラウザ191とサーバシステム100のWEB-IF部132間の通信)は、HTTPで行われる。すなわち、OTP-ES2、OTP-ES2U2及びOTP-EU2の送受信は、HTTPで行われる。 Multiple encryption communication (communication between the WEB browser 191 of the user terminal 150 and the WEB-IF section 132 of the server system 100) relating to (X1) to (X4) is performed using HTTP. That is, transmission and reception of OTP-E S2 , OTP-E S2U2 and OTP-E U2 are performed by HTTP.

S220:ユーザ端末150のWEBブラウザ191が、サーバシステム100からのOTP(例えば(X4)で復号されたOTP)を表示する。 S220: The WEB browser 191 of the user terminal 150 displays the OTP from the server system 100 (for example, the OTP decrypted by (X4)).

S221:ユーザ端末150のWEBブラウザ191が、OTP入力ページに対するOTPの入力を受け付ける。 S221: The WEB browser 191 of the user terminal 150 accepts OTP input for the OTP input page.

S222:S221で例えばOTP入力ページ上のログインボタンが押された場合、ユーザ端末150のWEBブラウザ191が、HTTPリクエストを送信する。当該リクエストでは、(トークン/ID)U3が指定される。「(トークン/ID)U3」は、OTP(暗号化用パスワード)と第3のユーザ鍵KU3とを用いて暗号化されたトークンA及びID(ログインのために入力されたユーザのID)である。本実施形態では、トークンA及びIDが、多重暗号通信の対象である。具体的には、下記が行われる。なお、第3のユーザ鍵KU3は、第1のユーザ鍵KU1又は第2のユーザ鍵KU2と同じユーザ鍵でもよいし、それらのユーザ鍵とは異なるユーザ鍵でもよい。
(Y1)サーバシステム100(例えばWEB-IF部132)が、(トークン/ID)U3を受信し、サーバシステム100の暗号化部133が、(トークン/ID)U3を、上記発行されたOTP(復号用パスワード)と第3のサーバ鍵KS3(第3のユーザ鍵KU3に対応したサーバ鍵)とを用いて暗号化する。第3のユーザ鍵KU3と第3のサーバ鍵KS3とを用いて暗号化されたトークン/ID、つまり多重暗号されたトークン/IDを「(トークン/ID)U3S3」と表記する。サーバシステム100(例えばWEB-IF部132)が、(トークン/ID)U3S3をユーザ端末150に送信する。
(Y2)ユーザ端末150(例えばWEBブラウザ191)が、(トークン/ID)U3S3を受信し、ユーザ端末150の暗号化部193が、上記保存されたOTP(復号用パスワード)と第3のユーザ鍵KU3とを用いて(トークン/ID)U3S3を復号する。これにより、トークン/IDが第3のサーバ鍵KS3で暗号化されている状態の(トークン/ID)S3が取得される。ユーザ端末150(例えばWEBブラウザ191)が、(トークン/ID)S3をサーバシステム100に送信する。
(Y3)サーバシステム100(例えばWEB-IF部132)が、(トークン/ID)S3を受信し、サーバシステム100の暗号化部133が、上記発行されたOTP(復号用パスワード)と第3のサーバ鍵KS3とを用いてを(トークン/ID)S3を復号する。これにより、トークン/IDが取得される。
S222: For example, when the login button on the OTP input page is pressed in S221, the WEB browser 191 of the user terminal 150 transmits an HTTP request. The request specifies (token/ID) U3 . “(Token/ID) U3 ” is token A and ID (user ID entered for login) encrypted using OTP (encryption password) and third user key K U3 . be. In this embodiment, token A and ID are targets of multiple cryptographic communication. Specifically, the following are performed. The third user key KU3 may be the same user key as the first user key KU1 or the second user key KU2 , or may be a different user key.
(Y1) The server system 100 (for example, the WEB-IF unit 132) receives (token/ID) U3 , and the encryption unit 133 of the server system 100 converts (token/ID) U3 to the issued OTP ( decryption password) and the third server key K S3 (server key corresponding to the third user key K U3 ). A token/ID encrypted using the third user key K U3 and the third server key K S3 , that is, a multiple-encrypted token/ID is denoted as "(token/ID) U3S3 ". The server system 100 (for example, the WEB-IF unit 132 ) transmits (token/ID) U3S3 to the user terminal 150 .
(Y2) The user terminal 150 (for example, the WEB browser 191) receives (token/ID) U3S3 , and the encryption unit 193 of the user terminal 150 converts the saved OTP (decryption password) and the third user key Decrypt U3S3 using K U3 and (Token/ID) U3S3 . As a result, (token/ID) S3 in which the token/ID is encrypted with the third server key K S3 is obtained. User terminal 150 (for example, WEB browser 191 ) transmits (token/ID) S<b>3 to server system 100 .
(Y3) The server system 100 (for example, the WEB-IF unit 132) receives the (token/ID) S3 , and the encryption unit 133 of the server system 100 encrypts the issued OTP (decryption password) and the third Decrypt (token/ID) S3 using server key K S3 . This acquires the token/ID.

(Y1)~(Y3)に係る多重暗号通信(ユーザ端末150のWEBブラウザ191とサーバシステム100のWEB-IF部132間の通信)は、HTTPで行われる。すなわち、(トークン/ID)U3、(トークン/ID)U3S3及び(トークン/ID)S3の送受信は、HTTPで行われる。 Multiple encryption communication (communication between the WEB browser 191 of the user terminal 150 and the WEB-IF unit 132 of the server system 100) relating to (Y1) to (Y3) is performed using HTTP. That is, transmission and reception of (token/ID) U3 , (token/ID) U3S3 and (token/ID) S3 are performed by HTTP.

S223:サーバシステム100の認証部135が、管理DB121を参照し、トークン/IDがトークンA及びユーザ(S210でID及びパスワードの認証がされたユーザ)のIDと一致するか否かを判定する。この判定の結果が偽の場合(S223:NO)、認証部135が、エラー処理(例えば、ID又はパスワードの入力のやり直しを表すメッセージをユーザ端末150に送信すること)を行う。この判定の結果が真の場合(S223:YES)、処理がS224に進む。 S223: The authentication unit 135 of the server system 100 refers to the management DB 121 and determines whether the token/ID matches the token A and the ID of the user (the user whose ID and password were authenticated in S210). If the result of this determination is false (S223: NO), the authentication unit 135 performs error processing (for example, sending a message to the user terminal 150 indicating that the ID or password should be entered again). If the result of this determination is true (S223: YES), the process proceeds to S224.

S224:サーバシステム100の認証部135が、ユーザのログインを許可する(本人認証の成功)。 S224: The authentication unit 135 of the server system 100 permits the user's login (successful authentication).

本実施形態を考察すると、例えば下記の通りの問題回避が期待できる。 Considering this embodiment, for example, the following problems can be expected to be avoided.

第1に、ログインページが偽のページであり、第三者が、偽のページに入力されたID及びパスワードを使用してユーザになりすまそうとするケースが考えられる。しかし、URL通知におけるOTP-URLが第三者により指定されたときに、S216でトークンの不一致が検出される。トークンA(正しいトークン)が第三者のユーザ端末に存在しないためである。故に、S216:NO(エラー)となり、処理が先に進まない。結果として、このケースの問題は回避可能である。 First, there is a case where the login page is a fake page and a third party tries to impersonate the user by using the ID and password entered on the fake page. However, a token mismatch is detected at S216 when the OTP-URL in the URL notification is specified by a third party. This is because Token A (the correct token) does not exist in the third party's user terminal. Therefore, S216: NO (error), and the process does not proceed. As a result, the problem in this case can be avoided.

第2に、URL通知が偽の通知であるケースが考えられる。しかし、URL通知におけるOTP-URLがユーザにより指定されたときに、S216でトークンの不一致が検出される。OTP-URLの文字列がトークンAを基にした文字列ではないためである。故に、S216:NO(エラー)となり、処理が先に進まない。 Second, there may be cases where the URL notification is a bogus notification. However, a token mismatch is detected at S216 when the OTP-URL in the URL notification is specified by the user. This is because the character string of the OTP-URL is not based on the token A. Therefore, S216: NO (error), and the process does not proceed.

第3に、URL通知が第三者に盗られるケースが考えられる。しかし、下記(3-1)及び(3-2)のいずれかの方法により、このケースの問題は回避される。
(3-1)URL通知におけるOTP-URLが第三者により指定されたときに、S216でトークンの不一致が検出される。OTP-URLの文字列の基になっているトークンAと同じトークンAが、第三者のユーザ端末に保存されていないためである。故に、S216:NO(エラー)となり、処理が先に進まない。
(3-2)S219での送信対象のOTPは、トークンAを暗号化用パスワードとした多重暗号通信の対象である。トークンAは、第三者のユーザ端末に保存されていない。このため、多重暗号されたOTPの復号は失敗する。
Third, there is a possibility that the URL notification is stolen by a third party. However, the problem in this case can be avoided by one of the following methods (3-1) and (3-2).
(3-1) Token mismatch is detected in S216 when the OTP-URL in the URL notification is specified by a third party. This is because the same token A as the token A on which the character string of the OTP-URL is based is not saved in the third party's user terminal. Therefore, S216: NO (error), and the process does not proceed.
(3-2) The OTP to be transmitted in S219 is the object of multiple encrypted communication using the token A as the encryption password. Token A is not stored on the third party's user terminal. Therefore, decryption of the multiple-encrypted OTP fails.

第4に、OTP入力ページが偽のページであり、第三者が、偽のページに入力されたOTPを使用してユーザになりすまそうとするケースが考えられる。しかし、下記(4-1)及び(4-2)のいずれかの方法により、このケースの問題は回避される。
(4-1)その入力されたOTPは、サーバシステム100において第三者に関連付けられていない。このため、S223:NO(エラー)、つまり、本人認証が失敗する。
(4-2)その入力されたOTPは、サーバシステム100においてトークンAを復号用パスワードとした多重暗号通信の対象である。しかし、トークンAは第三者のユーザ端末に保存されていない。故に、サーバシステム100において復号が失敗する。
Fourth, the OTP input page may be a fake page, and a third party may use the OTP entered on the fake page to impersonate the user. However, the problem in this case can be avoided by one of the following methods (4-1) and (4-2).
(4-1) The entered OTP is not associated with a third party in the server system 100; Therefore, S223: NO (error), that is, personal authentication fails.
(4-2) The input OTP is the target of multiple encrypted communication in the server system 100 using the token A as the decryption password. However, token A is not stored in the third party's user terminal. Therefore, the decryption fails at the server system 100 .

以上の説明を、例えば、下記のように総括することができる。下記の総括は、上述の説明の補足や変形例を含んでよい。 The above description can be summarized, for example, as follows. The following summary may include supplements and variations of the above description.

本人認証システムは、サーバシステム100に備えられるトークン管理部131、WEB-IF部132、及びOTP管理部134を備える。また、本人認証システムは、WEBブラウザ191を有するユーザ端末150に備えられるトークン管理部192を備える。サーバシステム100のトークン管理部131が、トークンAを生成する。サーバシステム100のWEB-IF部132が、当該生成されたトークンAをHTTPでユーザ端末150に送信する。ユーザ端末150のトークン管理部192が、サーバシステム100からのトークンAを保存する。サーバシステム100のOTP管理部134が、ユーザの本人認証に必要な発行されたOTPを、サーバシステム100において生成されユーザが関連付けられたトークンAに関連付ける。サーバシステム100のOTP管理部134が、当該トークンAに基づく文字列を有するリンクであるOTPリンクが記述されたユーザ宛のリンク通知(例えば上述のURL通知)を送信する。発行されたリンク通知に記述されているOTPリンクが指定された場合、ユーザ端末150のトークン管理部192が、当該指定されたOTPリンクが有する文字列の基になっているトークンと、保存されたトークンAとが一致するか否かを判定する。当該判定の結果が肯定の場合にユーザ端末150(WEBブラウザ191)により当該OTPリンクに従うHTTPリクエストが送信される。OTPリンクに従うHTTPリクエストをサーバシステム100が受信した場合、サーバシステム100のWEB-IF部132が、OTPのHTTPレスポンスをユーザ端末150に送信し、ユーザ端末150のWEBブラウザ191が、当該OTPを表示する。ユーザの本人認証成功の要件が、ユーザにより入力されたOTPが、ユーザが関連付けられているトークンに関連付けられているOTPに一致していることである。 The personal authentication system includes a token management unit 131, a WEB-IF unit 132, and an OTP management unit 134 provided in the server system 100. FIG. The personal authentication system also includes a token management unit 192 provided in the user terminal 150 having the WEB browser 191 . The token management unit 131 of the server system 100 generates a token A. The WEB-IF unit 132 of the server system 100 transmits the generated token A to the user terminal 150 by HTTP. Token management unit 192 of user terminal 150 stores token A from server system 100 . The OTP management unit 134 of the server system 100 associates the issued OTP required for user authentication with the token A generated in the server system 100 and associated with the user. The OTP management unit 134 of the server system 100 transmits a user-addressed link notification (for example, the URL notification described above) describing an OTP link that is a link having a character string based on the token A. When the OTP link described in the issued link notification is specified, the token management unit 192 of the user terminal 150 stores the token on which the character string of the specified OTP link is based and the saved OTP link. It is determined whether or not the token A matches. When the determination result is affirmative, the user terminal 150 (WEB browser 191) transmits an HTTP request following the OTP link. When the server system 100 receives an HTTP request following the OTP link, the WEB-IF unit 132 of the server system 100 transmits an HTTP response of OTP to the user terminal 150, and the WEB browser 191 of the user terminal 150 displays the OTP. do. A requirement for successful user authentication is that the OTP entered by the user matches the OTP associated with the token with which the user is associated.

これにより、OTPをWEB機能で安全に提供することができ、OTPをWEB機能で通知しても、ユーザと通信経路の両方を正しく確認することができる。具体的には、サーバシステム100において生成されたトークンがHTTPでユーザ端末150に送信されてユーザ端末150に保存され、以降の通信では、トークンの不一致が検出された場合には処理が先に進まない。 As a result, the OTP can be safely provided by the WEB function, and even if the OTP is notified by the WEB function, both the user and the communication path can be correctly confirmed. Specifically, the token generated in the server system 100 is transmitted to the user terminal 150 via HTTP and stored in the user terminal 150, and in the subsequent communication, if a token mismatch is detected, the process proceeds. do not have.

なお、上記において、「トークンAに基づく文字列」とは、トークンAを含んだ文字列と、トークンAを暗号用パスワードとして用いて暗号化された情報としての文字列(この文字列はトークンAを含んでいてもいなくてもよい)とのいずれかでよい。 In the above, "character string based on token A" means a character string including token A and a character string as information encrypted using token A as an encryption password (this character string is token A may or may not contain ).

また、「当該指定されたOTPリンクが有する文字列の基になっているトークンと、保存されたトークンAとが一致するか否か」は、例えば下記のいずれでもよい。
・指定されたOTPリンクが有する文字列から取得されたトークンが、保存されたトークンAと一致するか否か。
・指定されたOTPリンクが有する文字列を、保存されたトークンAを復号用パスワードとして用いて復号すること(例えばバーナム暗号に従う復号)に成功するか否か。
Further, "whether or not the token on which the character string of the specified OTP link is based matches the stored token A" may be, for example, any of the following.
- Whether or not the token obtained from the character string possessed by the specified OTP link matches the stored token A.
• Whether or not the character string possessed by the specified OTP link can be successfully decrypted using the stored token A as the decryption password (for example, decryption according to the Vernam cipher).

また、トークンAの生成及び送信は、ユーザが不特定の状態において行われてもよいし、ユーザが特定されている状態(例えば、社内ネットワークに接続のユーザ端末のユーザであることが特定されている状態)において行われてもよい。また、「特定されたユーザ」とは、ID及びパスワードのような認証情報の認証は済んでいないが特定の範囲に属していることが特定されているユーザでもよいし、ID及びパスワードのような認証情報の認証が済んだユーザでもよい。 Token A may be generated and transmitted in a state in which the user is unspecified, or in a state in which the user is specified (for example, the user of the user terminal connected to the company network is specified). state). In addition, the “specified user” may be a user whose authentication information such as ID and password has not been authenticated but is specified as belonging to a specific range, or a user whose authentication information such as ID and password has not been authenticated. It may be a user whose authentication information has been authenticated.

サーバシステム100のWEB-IF部132が、本人認証用の情報の入力を受け付けるWEBページである第1のWEBページ(例えばログインページ)と、OTPの入力を受け付けるWEBページである第2のWEBページ(例えばOTP入力ページ)とを提供するようになっている。第1のWEBページと第2のWEBページとのうちの少なくとも一つのWEBページが、生成されたトークンAを有する。このように、トークンAが、WEBページと共に(例えばWEBページに埋め込まれた状態で)送信されるので、トークンAの送信のためだけの通信が不要である。なお、実施形態では最初のトークンAの送信は、トークンAが埋め込まれたログインページの送信であるが、それに代えて、S210:YESの後のトークンAが埋め込まれたOTP入力ページの送信でもよい。 The WEB-IF unit 132 of the server system 100 has a first WEB page (for example, a login page) that is a WEB page for accepting input of information for personal authentication, and a second WEB page that is a WEB page for accepting input of OTP. (eg OTP entry page). At least one web page of the first web page and the second web page has the token A generated. In this way, since the token A is transmitted together with the WEB page (for example, embedded in the WEB page), communication only for transmitting the token A is unnecessary. In the embodiment, the first transmission of token A is transmission of a login page in which token A is embedded, but instead of that, transmission of an OTP input page in which token A is embedded after S210: YES may be transmitted. .

サーバシステム100が、暗号化部133とサーバ鍵とを有する。ユーザ端末150が、暗号化部193とユーザ鍵とを有する。サーバシステム100からユーザ端末150へ送信される情報(典型的には、サーバシステム100からユーザ端末150へのHTTPレスポンスに関連付けられる情報)と、ユーザ端末150からサーバシステム100へ送信される情報(典型的には、ユーザ端末150からサーバシステム100へのHTTPリクエストに関連付けられる情報)とのうちの少なくとも一方が、多重暗号対象とされる。このため、中間者攻撃の防止が可能である。例えば、下記の通りである。 A server system 100 has an encryption unit 133 and a server key. A user terminal 150 has an encryption unit 193 and a user key. Information transmitted from the server system 100 to the user terminal 150 (typically information associated with an HTTP response from the server system 100 to the user terminal 150) and information transmitted from the user terminal 150 to the server system 100 (typically Specifically, at least one of (information associated with an HTTP request from the user terminal 150 to the server system 100) is subject to multiple encryption. Therefore, man-in-the-middle attacks can be prevented. For example:

<サーバシステム100からユーザ端末150へ送信される情報の多重暗号通信> <Multiple Encrypted Communication of Information Transmitted from Server System 100 to User Terminal 150>

サーバシステム100の暗号化部133が、ユーザ端末150にHTTPで送信される情報である対象情報を、サーバ鍵と、生成されたトークンAであるサーバ側暗号化用パスワードとを用いて暗号化する。サーバシステム100のWEB-IF部132が、当該暗号化された対象情報である第1の暗号化情報をユーザ端末150にHTTPで送信する。ユーザ端末150の暗号化部193が、サーバシステム100からの第1の暗号化情報を、ユーザ鍵と、保存されたトークンAであるユーザ側暗号化用パスワードとを用いて暗号化する。ユーザ端末150のWEBブラウザ191が、当該暗号化された第1の暗号化情報である第2の暗号化情報をサーバシステム100にHTTPで送信する。サーバシステム100の暗号化部133が、ユーザ端末150からの第2の暗号化情報を、サーバ鍵と、サーバ側暗号化用パスワードと同じパスワードとを用いて復号する。サーバシステム100のWEB-IF部132が、当該復号された第2の暗号化情報である第1の暗号化情報をユーザ端末150にHTTPで送信する。ユーザ端末150の暗号化部193が、サーバシステム100からの第1の暗号化情報を、ユーザ鍵と、ユーザ側暗号化用パスワードと同じパスワードとを用いて復号することで、対象情報を得る。このようにして、サーバシステム100からユーザ端末150へ送信される情報について中間者攻撃を防ぐことができる。なお、この段落で言う「対象情報」は、例えばOTPである。これにより、OTPの秘匿通信が実現される。 The encryption unit 133 of the server system 100 encrypts target information, which is information transmitted to the user terminal 150 via HTTP, using the server key and the server-side encryption password that is the generated token A. . The WEB-IF unit 132 of the server system 100 transmits the first encrypted information, which is the encrypted target information, to the user terminal 150 by HTTP. The encryption unit 193 of the user terminal 150 encrypts the first encrypted information from the server system 100 using the user key and the user side encryption password which is the stored token A. The WEB browser 191 of the user terminal 150 transmits the second encrypted information, which is the encrypted first encrypted information, to the server system 100 by HTTP. The encryption unit 133 of the server system 100 decrypts the second encrypted information from the user terminal 150 using the server key and the same password as the server-side encryption password. The WEB-IF unit 132 of the server system 100 transmits the first encrypted information, which is the decrypted second encrypted information, to the user terminal 150 by HTTP. The encryption unit 193 of the user terminal 150 decrypts the first encrypted information from the server system 100 using the user key and the same password as the user-side encryption password to obtain the target information. In this manner, man-in-the-middle attacks can be prevented for information transmitted from server system 100 to user terminal 150 . The "target information" referred to in this paragraph is, for example, OTP. As a result, OTP confidential communication is realized.

<ユーザ端末150からサーバシステム100へ送信される情報の多重暗号通信> <Multiple Encrypted Communication of Information Transmitted from User Terminal 150 to Server System 100>

ユーザ端末150の暗号化部193が、サーバシステム100にHTTPで送信される情報である対象情報を、ユーザ鍵と、ユーザ側暗号化用パスワード(保存されたトークンAとサーバシステム100からのOTPとのうちの少なくとも一つ)とを用いて暗号化する。ユーザ端末150のWEBブラウザ191が、当該暗号化された対象情報である第1の暗号化情報をサーバシステム100にHTTPで送信する。サーバシステム100の暗号化部133が、ユーザ端末150からの第1の暗号化情報を、サーバ鍵と、サーバ側暗号化用パスワード(生成されたトークンAと発行されたOTPとのうちの少なくとも一つ)とを用いて暗号化する。サーバシステム100のWEB-IF部132が、当該暗号化された第1の暗号化情報である第2の暗号化情報をユーザ端末150にHTTPで送信する。ユーザ端末150の暗号化部193が、サーバシステム100からの第2の暗号化情報を、ユーザ鍵と、ユーザ側暗号化用パスワードと同じパスワードとを用いて復号する。ユーザ端末150のWEBブラウザ191が、当該復号された第2の暗号化情報である第1の暗号化情報をサーバシステム100にHTTPで送信する。サーバシステム100の暗号化部133が、ユーザ端末150からの第1の暗号化情報を、サーバ鍵と、サーバ側暗号化用パスワードと同じパスワードとを用いて復号することで、対象情報を得る。このようにして、ユーザ端末150からサーバシステム100へ送信される情報について中間者攻撃を防ぐことができる。なお、この段落で言う「対象情報」は、例えば、ユーザ端末150のWEBブラウザ191により表示されたWEBページに対してユーザにより入力された情報である。これにより、ユーザにより入力された情報(例えば、認証情報又はOTP)の秘匿通信が実現される。 The encryption unit 193 of the user terminal 150 encrypts the target information, which is the information transmitted to the server system 100 by HTTP, with the user key, the user-side encryption password (saved token A and the OTP from the server system 100). and at least one of The WEB browser 191 of the user terminal 150 transmits the first encrypted information, which is the encrypted target information, to the server system 100 by HTTP. The encryption unit 133 of the server system 100 converts the first encrypted information from the user terminal 150 into a server key and a password for server-side encryption (at least one of the generated token A and the issued OTP). ) and The WEB-IF unit 132 of the server system 100 transmits the second encrypted information, which is the encrypted first encrypted information, to the user terminal 150 by HTTP. The encryption unit 193 of the user terminal 150 decrypts the second encrypted information from the server system 100 using the user key and the same password as the user side encryption password. The WEB browser 191 of the user terminal 150 transmits the first encrypted information, which is the decrypted second encrypted information, to the server system 100 by HTTP. The encryption unit 133 of the server system 100 obtains the target information by decrypting the first encrypted information from the user terminal 150 using the server key and the same password as the server-side encryption password. In this manner, man-in-the-middle attacks can be prevented for information transmitted from user terminal 150 to server system 100 . The “target information” referred to in this paragraph is, for example, information input by the user to the WEB page displayed by the WEB browser 191 of the user terminal 150 . This realizes confidential communication of information (for example, authentication information or OTP) input by the user.

ユーザ端末150のWEBブラウザ191とサーバシステム100のWEB-IF部132間の通信において、通信のプロトコルが、第1のHTTP(例えば、HTTP又はHTTPS)から第2のHTTP(便宜上「HTTPM」と呼ばれてよい)に遷移してよい。例えば、このプロトコル遷移は、WEB-IF部132により行われてよい。HTTPMに従う通信は、多重暗号通信である。多重暗号通信の対象は、ユーザ端末150のWEBブラウザ191からサーバシステム100のWEB-IF部132へ送信される情報(例えば、HTTPリクエストの引数)と、サーバシステム100のWEB-IF部132からユーザ端末150のWEBブラウザ191へ送信される情報(例えば、HTTPレスポンスの引数)とのうちの少なくとも一部である。多重暗号は、サーバシステム100の暗号化部133によるサーバ鍵とサーバ側の暗号化用パスワードとを用いた暗号化と、ユーザ端末150の暗号化部193によるユーザ鍵とユーザ側の暗号化用パスワードとを用いた暗号化とを含む。サーバ側の暗号化用パスワードとユーザ側の暗号化用パスワードとのいずれも、トークンAと、トークンAを暗号化用パスワードとして用いた多重暗号通信においてサーバシステム100とユーザ端末150間で送受信された情報(つまり、ユーザ端末150とサーバシステム100において共有されている情報)とのうちの少なくとも一つでよい。このようなプロトコル変換を経て多重暗号通信を維持することができる。 In communication between the WEB browser 191 of the user terminal 150 and the WEB-IF unit 132 of the server system 100, the communication protocol is changed from the first HTTP (for example, HTTP or HTTPS) to the second HTTP (referred to as "HTTPM" for convenience). may be changed). For example, this protocol transition may be performed by the WEB-IF unit 132 . Communication according to HTTP is multiple encryption communication. The targets of the multiplex encrypted communication are information sent from the WEB browser 191 of the user terminal 150 to the WEB-IF unit 132 of the server system 100 (for example, arguments of HTTP requests), and information sent from the WEB-IF unit 132 of the server system 100 to the user. It is at least part of the information (for example, the argument of the HTTP response) sent to the WEB browser 191 of the terminal 150 . The multiple encryption is encryption using the server key and the server-side encryption password by the encryption unit 133 of the server system 100, and the user key by the encryption unit 193 of the user terminal 150 and the user-side encryption password. and encryption using Both the server-side encryption password and the user-side encryption password are sent and received between the server system 100 and the user terminal 150 in multiple encryption communication using token A and token A as the encryption password. information (that is, information shared between the user terminal 150 and the server system 100). Multiple encryption communication can be maintained through such protocol conversion.

以上、本発明の一実施の形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施の形態に限定する趣旨ではない。本発明は、他の種々の形態でも実施する事が可能である。 Although one embodiment of the present invention has been described above, these are examples for explaining the present invention, and are not intended to limit the scope of the present invention to these embodiments. The present invention can also be implemented in various other forms.

例えば、上述の説明における本人認証システムは、本人認証以外のサービスを提供するサービスシステムの外部のシステムであり当該サービスシステムに代わって本人認証を行うシステムでもよいし、本人認証に成功した(つまり認証が済んだ)ユーザに対してサービスを提供するサービスシステムでもよい。 For example, the personal authentication system in the above description may be a system external to a service system that provides services other than personal authentication and perform personal authentication on behalf of the service system. It may also be a service system that provides a service to a user who has completed the above.

また、上述の説明では、URL通知におけるURLが指定されたときにHTTPで提供される情報はOTPであるが、OTPに代えて又は加えて、他種の情報が採用されてもよい。例えば、「本人認証」が、OTP無しに(例えばID及びパスワードのような認証情報のみで)行われてもよく、本人認証成功後の通信において、トークンの発行、トークンのユーザ端末への送信、URL通知のユーザ端末への送信、当該URL通知におけるURLが指定されたときにHTTPでのユーザ端末への情報提供等が行われてもよい。また、そのサービスシステムでの通信において、所定の段階から、常に上述のHTTPMでの通信が行われてよい。 Also, in the above description, the information provided by HTTP when the URL in the URL notification is specified is OTP, but other types of information may be employed instead of or in addition to OTP. For example, "personal authentication" may be performed without OTP (for example, only with authentication information such as an ID and password), and in communication after successful personal authentication, token issuance, token transmission to the user terminal, Transmission of the URL notification to the user terminal, provision of information to the user terminal by HTTP when the URL in the URL notification is specified, and the like may be performed. Further, in the communication in the service system, the above-described HTTP communication may be always performed from a predetermined stage.

100…サーバシステム、150…ユーザ端末 100... Server system, 150... User terminal

Claims (9)

サーバシステムに備えられるトークン管理部、WEB-IF(インターフェース)部、及びOTP(ワンタイムパスワード)管理部と、
WEBブラウザを有するユーザ端末に備えられるトークン管理部と
を備え、
前記サーバシステムの前記トークン管理部が、トークンを生成し、
前記サーバシステムの前記WEB-IF部が、当該生成されたトークンをHTTPで前記ユーザ端末に送信し、
前記ユーザ端末の前記トークン管理部が、前記サーバシステムからの前記トークンを保存し、
前記サーバシステムの前記OTP管理部が、ユーザの本人認証に必要な発行されたOTPを、前記生成され前記ユーザが関連付けられたトークンに関連付け、
前記サーバシステムの前記OTP管理部が、当該トークンに基づく文字列を有するリンクであるOTPリンクが記述されたユーザ宛のリンク通知を送信し、
前記発行されたリンク通知に記述されている前記OTPリンクが指定された場合、
前記ユーザ端末の前記トークン管理部が、当該指定されたOTPリンクが有する文字列の基になっているトークンと、前記保存されたトークンとが一致するか否かを判定し、
当該判定の結果が肯定の場合に前記ユーザ端末により当該OTPリンクに従うHTTPリクエストが送信され、
前記OTPリンクに従うHTTPリクエストを前記サーバシステムが受信した場合、前記サーバシステムの前記WEB-IF部が、前記OTPのHTTPレスポンスを前記ユーザ端末に送信し、前記ユーザ端末の前記WEBブラウザが、当該OTPを表示し、
前記ユーザの本人認証成功の要件が、前記ユーザにより入力されたOTPが、前記ユーザが関連付けられているトークンに関連付けられているOTPに一致していることである、
本人認証システム。
a token management unit, a WEB-IF (interface) unit, and an OTP (one-time password) management unit provided in the server system;
a token management unit provided in a user terminal having a WEB browser,
The token management unit of the server system generates a token,
the WEB-IF unit of the server system transmits the generated token to the user terminal via HTTP;
the token manager of the user terminal stores the token from the server system;
The OTP management unit of the server system associates the issued OTP required for user authentication with the generated token associated with the user,
The OTP management unit of the server system transmits a link notification addressed to the user describing an OTP link that is a link having a character string based on the token,
When the OTP link described in the issued link notification is specified,
determining whether the token management unit of the user terminal matches the token on which the character string of the specified OTP link is based and the stored token;
If the result of the determination is affirmative, the user terminal transmits an HTTP request according to the OTP link;
When the server system receives an HTTP request following the OTP link, the WEB-IF unit of the server system transmits an HTTP response of the OTP to the user terminal, and the WEB browser of the user terminal responds to the OTP to display
a requirement for successful authentication of the user is that the OTP entered by the user matches the OTP associated with the token with which the user is associated;
identity verification system.
前記サーバシステムの前記WEB-IF部が、本人認証用の情報の入力を受け付けるWEBページである第1のWEBページと、OTPの入力を受け付けるWEBページである第2のWEBページとを提供するようになっており、
前記第1のWEBページと前記第2のWEBページとのうちの少なくとも一つのWEBページが、前記生成されたトークンを有する、
請求項1に記載の本人認証システム。
The WEB-IF unit of the server system provides a first WEB page that is a WEB page for accepting input of information for personal authentication and a second WEB page that is a WEB page for accepting input of OTP. has become
at least one web page of the first web page and the second web page has the generated token;
The person authentication system according to claim 1.
前記サーバシステムが、暗号化部とサーバ鍵とを有し、
前記ユーザ端末が、暗号化部とユーザ鍵とを有し、
前記サーバシステムの前記暗号化部が、前記ユーザ端末にHTTPで送信される情報である対象情報を、前記サーバ鍵と、前記生成されたトークンであるサーバ側暗号化用パスワードとを用いて暗号化し、前記サーバシステムの前記WEB-IF部が、当該暗号化された対象情報である第1の暗号化情報を前記ユーザ端末にHTTPで送信し、
前記ユーザ端末の前記暗号化部が、前記サーバシステムからの前記第1の暗号化情報を、前記ユーザ鍵と、前記保存されたトークンであるユーザ側暗号化用パスワードとを用いて暗号化し、前記ユーザ端末の前記WEBブラウザが、当該暗号化された第1の暗号化情報である第2の暗号化情報を前記サーバシステムにHTTPで送信し、
前記サーバシステムの前記暗号化部が、前記ユーザ端末からの前記第2の暗号化情報を、前記サーバ鍵と、前記サーバ側暗号化用パスワードと同じパスワードとを用いて復号し、前記サーバシステムの前記WEB-IF部が、当該復号された第2の暗号化情報である第1の暗号化情報を前記ユーザ端末にHTTPで送信し、
前記ユーザ端末の前記暗号化部が、前記サーバシステムからの前記第1の暗号化情報を、前記ユーザ鍵と、前記ユーザ側暗号化用パスワードと同じパスワードとを用いて復号することで、前記対象情報を得る、
請求項1又は2に記載の本人認証システム。
the server system having an encryption unit and a server key;
The user terminal has an encryption unit and a user key,
The encryption unit of the server system encrypts target information, which is information transmitted to the user terminal via HTTP, using the server key and the server-side encryption password that is the generated token. , the WEB-IF unit of the server system transmits the first encrypted information, which is the encrypted target information, to the user terminal by HTTP;
The encryption unit of the user terminal encrypts the first encrypted information from the server system using the user key and the user-side encryption password that is the stored token, and the WEB browser of the user terminal transmits the second encrypted information, which is the encrypted first encrypted information, to the server system via HTTP;
The encryption unit of the server system decrypts the second encrypted information from the user terminal using the server key and the same password as the server-side encryption password, and decrypts the second encrypted information from the server system. the WEB-IF unit transmits the first encrypted information, which is the decrypted second encrypted information, to the user terminal via HTTP;
The encryption unit of the user terminal decrypts the first encrypted information from the server system using the user key and the same password as the user-side encryption password, so that the target get information,
The personal authentication system according to claim 1 or 2.
前記対象情報は、前記OTPである、
請求項3に記載の本人認証システム。
the target information is the OTP;
The personal authentication system according to claim 3.
前記サーバシステムが、暗号化部とサーバ鍵とを有し、
前記ユーザ端末が、暗号化部とユーザ鍵とを有し、
前記ユーザ端末の前記暗号化部が、前記サーバシステムにHTTPで送信される情報である対象情報を、前記ユーザ鍵と、前記保存されたトークンと前記サーバシステムからのOTPとのうちの少なくとも一つであるユーザ側暗号化用パスワードとを用いて暗号化し、前記ユーザ端末の前記WEBブラウザが、当該暗号化された対象情報である第1の暗号化情報を前記サーバシステムにHTTPで送信し、
前記サーバシステムの前記暗号化部が、前記ユーザ端末からの前記第1の暗号化情報を、前記サーバ鍵と、前記生成されたトークンと前記発行されたOTPとのうちの少なくとも一つであるサーバ側暗号化用パスワードとを用いて暗号化し、前記サーバシステムの前記WEB-IF部が、当該暗号化された第1の暗号化情報である第2の暗号化情報を前記ユーザ端末にHTTPで送信し、
前記ユーザ端末の前記暗号化部が、前記サーバシステムからの前記第2の暗号化情報を、前記ユーザ鍵と、前記ユーザ側暗号化用パスワードと同じパスワードとを用いて復号し、前記ユーザ端末の前記WEBブラウザが、当該復号された第2の暗号化情報である第1の暗号化情報を前記サーバシステムにHTTPで送信し、
前記サーバシステムの前記暗号化部が、前記ユーザ端末からの前記第1の暗号化情報を、前記サーバ鍵と、前記サーバ側暗号化用パスワードと同じパスワードとを用いて復号することで、前記対象情報を得る、
請求項1又は2に記載の本人認証システム。
the server system having an encryption unit and a server key;
The user terminal has an encryption unit and a user key,
The encryption unit of the user terminal encrypts target information, which is information transmitted to the server system by HTTP, with at least one of the user key, the stored token, and OTP from the server system. and the user side encryption password, and the WEB browser of the user terminal transmits the first encrypted information, which is the encrypted target information, to the server system by HTTP,
wherein the encryption unit of the server system converts the first encrypted information from the user terminal into at least one of the server key, the generated token, and the issued OTP. and a password for side encryption, and the WEB-IF unit of the server system transmits the second encrypted information, which is the encrypted first encrypted information, to the user terminal via HTTP. death,
The encryption unit of the user terminal decrypts the second encrypted information from the server system using the user key and the same password as the user-side encryption password, and decrypts the second encrypted information from the user terminal. the web browser transmits the first encrypted information, which is the decrypted second encrypted information, to the server system via HTTP;
The encryption unit of the server system decrypts the first encrypted information from the user terminal using the server key and the same password as the server-side encryption password, thereby enabling the target get information,
The personal authentication system according to claim 1 or 2.
前記対象情報は、前記ユーザ端末の前記WEBブラウザにより表示されたWEBページに対してユーザにより入力された情報である、
請求項5に記載の本人認証システム。
The target information is information input by a user to a WEB page displayed by the WEB browser of the user terminal.
The personal authentication system according to claim 5.
前記サーバシステムが、暗号化部とサーバ鍵とを有し、
前記ユーザ端末が、暗号化部とユーザ鍵とを有し、
前記ユーザ端末の前記WEBブラウザと前記サーバシステムの前記WEB-IF部間の通信のプロトコルが第1のHTTPから第2のHTTPに遷移し、
前記第2のHTTPに従う通信は、多重暗号通信であり、
前記多重暗号通信の対象は、前記ユーザ端末の前記WEBブラウザから前記サーバシステムの前記WEB-IF部へ送信される情報と、前記サーバシステムの前記WEB-IF部から前記ユーザ端末の前記WEBブラウザへ送信される情報との少なくとも一部であり、
前記多重暗号は、前記サーバシステムの前記暗号化部による前記サーバ鍵とサーバ側の暗号化用パスワードとを用いた暗号化と、前記ユーザ端末の前記暗号化部による前記ユーザ鍵とユーザ側の暗号化用パスワードとを用いた暗号化とを含み、
前記サーバ側の暗号化用パスワードと前記ユーザ側の暗号化用パスワードとのいずれも、前記トークンと、前記トークンを暗号化用パスワードとして用いた多重暗号通信において前記サーバシステムと前記ユーザ端末間で送受信された情報とのうちの少なくとも一つである、
請求項1乃至6のうちのいずれか1項に記載の本人認証システム。
the server system having an encryption unit and a server key;
The user terminal has an encryption unit and a user key,
a protocol for communication between the WEB browser of the user terminal and the WEB-IF unit of the server system transitions from the first HTTP to the second HTTP;
The communication according to the second HTTP is multiple encryption communication,
The targets of the multiple encrypted communication are information transmitted from the WEB browser of the user terminal to the WEB-IF section of the server system, and information transmitted from the WEB-IF section of the server system to the WEB browser of the user terminal. is at least part of the transmitted information;
The multiple encryption includes encryption using the server key and server-side encryption password by the encryption unit of the server system, and encryption of the user key and user-side encryption by the encryption unit of the user terminal. and encryption using an encryption password;
Both the server-side encryption password and the user-side encryption password are transmitted and received between the server system and the user terminal in multiple encryption communication using the token and the token as an encryption password. is at least one of the information provided and
The personal authentication system according to any one of claims 1 to 6.
WEBブラウザを有するユーザ端末と通信するサーバシステムにより行われる本人認証方法であって、
トークンを生成し、
当該生成され前記ユーザ端末により保存されるトークンをHTTPで前記ユーザ端末に送信し、
前記生成されたトークンにユーザを関連付け、
発行されたOTPを、前記生成され前記ユーザが関連付けられたトークンに関連付け、
前記生成されたトークンに基づく文字列を有するリンクであるOTPリンクが記述されたユーザ宛のリンク通知を送信し、
前記発行されたリンク通知上の指定されたOTPリンクが有する文字列の基になっているトークンと、前記保存されたトークンとが一致することが前記ユーザ端末により判定された場合に、当該OTPリンクに従うHTTPリクエストを受信し、前記OTPのHTTPレスポンスを前記ユーザ端末に送信し、
前記ユーザの本人認証成功の要件が、前記ユーザにより入力されたOTPが、前記ユーザが関連付けられているトークンに関連付けられているOTPに一致していることである、
本人認証方法。
A personal authentication method performed by a server system communicating with a user terminal having a web browser,
generate a token,
transmitting the generated token stored by the user terminal to the user terminal via HTTP;
associate a user with the generated token;
associate an issued OTP with the generated token with which the user is associated;
Sending a link notification addressed to the user in which an OTP link, which is a link having a character string based on the generated token, is described;
When the user terminal determines that the token on which the character string of the specified OTP link on the issued link notification is based matches the stored token, the OTP link receive an HTTP request according to and send an HTTP response of said OTP to said user terminal;
a requirement for successful authentication of the user is that the OTP entered by the user matches the OTP associated with the token with which the user is associated;
Identity verification method.
請求項1に記載のサーバシステムと通信しWEBブラウザを有するユーザ端末に請求項1に記載のトークン管理部の動作を実行させるためのコンピュータプログラム。 A computer program for causing a user terminal having a WEB browser and communicating with the server system according to claim 1 to execute the operation of the token management unit according to claim 1.
JP2021097320A 2021-06-10 2021-06-10 Identity verification system and identity verification method Active JP7276737B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021097320A JP7276737B2 (en) 2021-06-10 2021-06-10 Identity verification system and identity verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021097320A JP7276737B2 (en) 2021-06-10 2021-06-10 Identity verification system and identity verification method

Publications (2)

Publication Number Publication Date
JP2022188998A JP2022188998A (en) 2022-12-22
JP7276737B2 true JP7276737B2 (en) 2023-05-18

Family

ID=84532647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021097320A Active JP7276737B2 (en) 2021-06-10 2021-06-10 Identity verification system and identity verification method

Country Status (1)

Country Link
JP (1) JP7276737B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024122069A1 (en) * 2022-12-09 2024-06-13 株式会社 エヌティーアイ Self authentication system and self authentication method
CN118509277B (en) * 2024-05-08 2025-06-17 深圳伊莱克电子有限公司 Smart home remote control system and control method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003233591A (en) 2002-02-12 2003-08-22 Nippon Telegr & Teleph Corp <Ntt> User authentication method by e-mail of browser phone, user authentication server, user authentication method of authentication server, user authentication program of authentication server, and recording medium recording the program
JP2004153300A (en) 2002-10-28 2004-05-27 Osaka Gas Co Ltd Internet access management system
JP2004192193A (en) 2002-12-10 2004-07-08 Nippon Telegr & Teleph Corp <Ntt> User authentication method by mail of browser phone, user authentication server, user authentication method of authentication server, user authentication program of authentication server, and recording medium recording the program
JP2014501953A (en) 2010-11-02 2014-01-23 オーセンティファイ・インク A new method for secure user authentication and site authentication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003233591A (en) 2002-02-12 2003-08-22 Nippon Telegr & Teleph Corp <Ntt> User authentication method by e-mail of browser phone, user authentication server, user authentication method of authentication server, user authentication program of authentication server, and recording medium recording the program
JP2004153300A (en) 2002-10-28 2004-05-27 Osaka Gas Co Ltd Internet access management system
JP2004192193A (en) 2002-12-10 2004-07-08 Nippon Telegr & Teleph Corp <Ntt> User authentication method by mail of browser phone, user authentication server, user authentication method of authentication server, user authentication program of authentication server, and recording medium recording the program
JP2014501953A (en) 2010-11-02 2014-01-23 オーセンティファイ・インク A new method for secure user authentication and site authentication

Also Published As

Publication number Publication date
JP2022188998A (en) 2022-12-22

Similar Documents

Publication Publication Date Title
US12526272B2 (en) Method and system for verification of identify of a user
EP2520064B1 (en) Distributed authentication with data cloud
CN114614994B (en) Communication method, device, client and storage medium of API (application program interface) data
WO2022206349A1 (en) Information verification method, related apparatus, device, and storage medium
US9191394B2 (en) Protecting user credentials from a computing device
KR20180117715A (en) Method and system for user authentication with improved security
EP2936369A1 (en) Verification of password using a keyboard with a secure password entry mode
CN113630412B (en) Resource downloading method, resource downloading device, electronic equipment and storage medium
WO2009146655A1 (en) A method, equipment and system for password inputting
CN116112172B (en) Android client gRPC interface security verification method and device
JP2022528366A (en) Computer systems and methods including the HTML browser approval approach
US12107956B2 (en) Information processing device, information processing method, and non-transitory computer readable storage medium
JP7276737B2 (en) Identity verification system and identity verification method
CN114363088A (en) Method and device for requesting data
CN111249740A (en) Resource data access method and system
CN112073185B (en) Cloud game safety transmission method and device
US8271788B2 (en) Software registration system
Mannan et al. Mercury: Recovering forgotten passwords using personal devices
KR101651607B1 (en) One click log-in method using anonymous ID and system thereof
CN114070568A (en) Data processing method and device, electronic equipment and storage medium
CN112565156B (en) Information registration method, device and system
CN113591153B (en) A data processing method, device, equipment and storage medium
WO2024122069A1 (en) Self authentication system and self authentication method
AU2018255484B2 (en) Virtual machines - computer implemented security methods and systems
Xu et al. Qrtoken: Unifying authentication framework to protect user online identity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230324

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230324

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230421

R150 Certificate of patent or registration of utility model

Ref document number: 7276737

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150