JP7276737B2 - Identity verification system and identity verification method - Google Patents
Identity verification system and identity verification method Download PDFInfo
- 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
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.
インターネット経由でのサービスの提供には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.
以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上の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
ユーザ端末150は、パーソナルコンピュータやスマートフォンのような情報処理端末である。ユーザ端末150は、IF装置(インターフェース装置)160、記憶装置180及びそれらに接続されたプロセッサ190を有する。また、ユーザ端末150は、IF装置160に接続されたUI(User Interface)装置170を有する。
A
IF装置160は、サーバシステム100の後述のIF装置110と通信したり、UI装置170と通信したりする。
The IF device 160 communicates with the later-described IF device 110 of the
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
プロセッサ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
サーバシステム100は、IF装置110、記憶装置120及びそれらに接続されたプロセッサ130といった計算資源を有する一つ以上の物理的な計算機で構成された物理的なシステムでもよいし、そのような物理的なシステムに基づく論理的なシステム(例えば、クラウドコンピューティングサービスとしてのシステム)でもよい。
The
IF装置110は、ユーザ端末150のIF装置160と通信する。
IF device 110 communicates with IF device 160 of
記憶装置120が、鍵S及び管理DB(データベース)121を記憶する。
A
鍵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
プロセッサ130が、トークン管理部131、WEB-IF部132、暗号化部133、OTP管理部134及び認証部135として機能する。これらの機能131~135は、サーバシステム100のOSを含む又は除く一つ以上のコンピュータプログラムの少なくとも一部をプロセッサ130が実行することにより実現される。また、これらの機能131~135の説明は、図2及び図3が表す認証処理の説明の中で行われる。
図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
S202:S201で送信されたHTTPリクエスト(又はリダイレクトにより送信されたHTTPリクエスト)をサーバシステム100が受信する。当該HTTPリクエストに応答して、サーバシステム100のトークン管理部131が、トークン(以下、トークンA)を生成し、例えば記憶装置120に一時保存する。トークンAは、例えば乱数としての文字列である。サーバシステム100のWEB-IF部132が、トークンAが関連付けられた(例えば埋め込まれた)ログインページのHTTPレスポンスを、ユーザ端末150に提供する。
S202: The
S203:ユーザ端末150のWEBブラウザ191が、サーバシステム100からのログインページを表示し、ユーザ端末150のトークン管理部192が、ログインページに関連付けられているトークンAを保存する。トークンAの保存先は、記憶装置180(つまりローカルストレージ)でよいが、それに代えて又は加えて、セッションストレージであってもよい。
S203: The
S204:ユーザ端末150のWEBブラウザ191が、ログインページに対するID及びPW(パスワード)の入力を受け付ける。
S204: The
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
S206:ユーザ端末150のWEBブラウザ191が、引数EU1を関連付けたHTTPリクエスト(例えば、本人認証のリクエスト)を送信する。
S206: The
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
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
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
S206~S209に係る多重暗号通信(ユーザ端末150のWEBブラウザ191とサーバシステム100のWEB-IF部132間の通信)は、HTTPで行われる。すなわち、引数EU1、引数EU1S1及び引数ES1の送受信は、HTTPで行われる。また、鍵及び暗号化用パスワードを用いた暗号化、及び、鍵及び復号用パスワードを用いた復号は、本実施形態では、バーナム暗号が利用される。暗号化及び復号には、バーナム暗号以外の手法が採用されてもよい。
Multiple encryption communication (communication between the
S210:サーバシステム100の認証部135が、引数Pから取得されたID及びパスワードに一致するID及びパスワードを含んだ情報が管理DB121にあるか否かを判定する。この判定の結果が偽の場合(S210:NO)、認証部135が、エラー処理(例えば、ID又はパスワードの入力のやり直しを表すメッセージをユーザ端末150に送信すること)を行う。この判定の結果が真の場合(S210:YES)、処理が図3のS211に進む。
S210: The authentication unit 135 of the
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
S212:ユーザ端末150のWEBブラウザ191が、サーバシステム100からのOTP入力ページを表示する。なお、この段階で、ユーザ端末150のトークン管理部192が、上記保存されたトークンAに一致するトークンがOTP入力ページに関連付けられているか否かを判定してよい。この判定の結果が偽の場合、ユーザ端末150(例えばWEBブラウザ191)が、エラー処理(例えば、不正なページであることの警告メッセージを表示すること)を行ってよい。
S<b>212 : The
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
S214:ユーザ端末150(例えば、図示しないメールアプリ又はSMSアプリ)が、サーバシステム100からのURL通知を表示し、当該通知に記述されているURLを指定するユーザ操作を受け付ける。
S214: User terminal 150 (e.g., mail application or SMS application (not shown)) displays the URL notification from
S215:ユーザ端末150の暗号化部193が、指定されたURLにおける文字列(引数EU1としての文字列)を、第1のユーザ鍵KU1と上記保存されたトークンAとを用いて復号する。
S215: The
S216:ユーザ端末150のトークン管理部192が、S215の復号により得られたトークンと、上記保存されたトークンAとが一致するか否かを判定する。この判定の結果が偽の場合、ユーザ端末150(例えばWEBブラウザ191)が、エラー処理(例えば、ID及びパスワードの入力からやり直すことのメッセージを表示すること)を行ってよい。この判定の結果が真の場合(S216:YES)、処理がS217に進む。
S216: The
S217:ユーザ端末150のWEBブラウザ191が、OTP-URLを指定したHTTPリクエスト(OTPを表示したWEBページであるOTP表示ページのリクエスト)を送信する。
S217: The
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
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
(X1) The
(X2) The user terminal 150 (for example, the WEB browser 191) receives the OTP-E S2 , and the
(X3) Server system 100 (for example, WEB-IF unit 132) receives OTP-E S2U2 , and
(X4) User terminal 150 (for example, WEB browser 191) receives OTP-E U2 , and
(X1)~(X4)に係る多重暗号通信(ユーザ端末150のWEBブラウザ191とサーバシステム100のWEB-IF部132間の通信)は、HTTPで行われる。すなわち、OTP-ES2、OTP-ES2U2及びOTP-EU2の送受信は、HTTPで行われる。
Multiple encryption communication (communication between the
S220:ユーザ端末150のWEBブラウザ191が、サーバシステム100からのOTP(例えば(X4)で復号されたOTP)を表示する。
S220: The
S221:ユーザ端末150のWEBブラウザ191が、OTP入力ページに対するOTPの入力を受け付ける。
S221: The
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
(Y1) The server system 100 (for example, the WEB-IF unit 132) receives (token/ID) U3 , and the
(Y2) The user terminal 150 (for example, the WEB browser 191) receives (token/ID) U3S3 , and the
(Y3) The server system 100 (for example, the WEB-IF unit 132) receives the (token/ID) S3 , and the
(Y1)~(Y3)に係る多重暗号通信(ユーザ端末150のWEBブラウザ191とサーバシステム100のWEB-IF部132間の通信)は、HTTPで行われる。すなわち、(トークン/ID)U3、(トークン/ID)U3S3及び(トークン/ID)S3の送受信は、HTTPで行われる。
Multiple encryption communication (communication between the
S223:サーバシステム100の認証部135が、管理DB121を参照し、トークン/IDがトークンA及びユーザ(S210でID及びパスワードの認証がされたユーザ)のIDと一致するか否かを判定する。この判定の結果が偽の場合(S223:NO)、認証部135が、エラー処理(例えば、ID又はパスワードの入力のやり直しを表すメッセージをユーザ端末150に送信すること)を行う。この判定の結果が真の場合(S223:YES)、処理がS224に進む。
S223: The authentication unit 135 of the
S224:サーバシステム100の認証部135が、ユーザのログインを許可する(本人認証の成功)。
S224: The authentication unit 135 of the
本実施形態を考察すると、例えば下記の通りの問題回避が期待できる。 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
(4-2) The input OTP is the target of multiple encrypted communication in the
以上の説明を、例えば、下記のように総括することができる。下記の総括は、上述の説明の補足や変形例を含んでよい。 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-
これにより、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
なお、上記において、「トークン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-
サーバシステム100が、暗号化部133とサーバ鍵とを有する。ユーザ端末150が、暗号化部193とユーザ鍵とを有する。サーバシステム100からユーザ端末150へ送信される情報(典型的には、サーバシステム100からユーザ端末150へのHTTPレスポンスに関連付けられる情報)と、ユーザ端末150からサーバシステム100へ送信される情報(典型的には、ユーザ端末150からサーバシステム100へのHTTPリクエストに関連付けられる情報)とのうちの少なくとも一方が、多重暗号対象とされる。このため、中間者攻撃の防止が可能である。例えば、下記の通りである。
A
<サーバシステム100からユーザ端末150へ送信される情報の多重暗号通信>
<Multiple Encrypted Communication of Information Transmitted from
サーバシステム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
<ユーザ端末150からサーバシステム100へ送信される情報の多重暗号通信>
<Multiple Encrypted Communication of Information Transmitted from
ユーザ端末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
ユーザ端末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
以上、本発明の一実施の形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施の形態に限定する趣旨ではない。本発明は、他の種々の形態でも実施する事が可能である。 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ブラウザを有するユーザ端末に備えられるトークン管理部と
を備え、
前記サーバシステムの前記トークン管理部が、トークンを生成し、
前記サーバシステムの前記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.
前記第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.
請求項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.
請求項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.
トークンを生成し、
当該生成され前記ユーザ端末により保存されるトークンを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.
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)
| 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)
| 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 |
-
2021
- 2021-06-10 JP JP2021097320A patent/JP7276737B2/en active Active
Patent Citations (4)
| 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 |