JP6518378B1 - 認証システム、認証方法、及び、認証プログラム - Google Patents

認証システム、認証方法、及び、認証プログラム Download PDF

Info

Publication number
JP6518378B1
JP6518378B1 JP2018238962A JP2018238962A JP6518378B1 JP 6518378 B1 JP6518378 B1 JP 6518378B1 JP 2018238962 A JP2018238962 A JP 2018238962A JP 2018238962 A JP2018238962 A JP 2018238962A JP 6518378 B1 JP6518378 B1 JP 6518378B1
Authority
JP
Japan
Prior art keywords
service
user
information
server
authentication
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.)
Expired - Fee Related
Application number
JP2018238962A
Other languages
English (en)
Other versions
JP2020102741A (ja
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2018238962A priority Critical patent/JP6518378B1/ja
Application granted granted Critical
Publication of JP6518378B1 publication Critical patent/JP6518378B1/ja
Publication of JP2020102741A publication Critical patent/JP2020102741A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】ユーザにとって利便性が高く、また安全性を向上させた認証システム等を提供すること。【解決手段】認証システムにおいて、リソースサーバは、ユーザ端末のユーザに関するユーザ情報、及び、サービスサーバのサービスに関するサービス情報を少なくとも記憶する第1記憶部、ユーザ端末から送信されたサービスサーバへのアクセス要求に応じて、ユーザ情報を暗号化する暗号化部、暗号化部によって暗号化された暗号化ユーザ情報を、ユーザ端末へ送信する送信部を備え、認証サーバは、サービス情報を記憶する第2記憶部、暗号化ユーザ情報をユーザ端末から受信したサービスサーバから、サービス情報を、暗号化ユーザ情報とともに受信する受信部、受信したサービス情報に対応する、第2記憶部に記憶されているサービス情報に基づき、サービス情報を送信したサービスサーバが真と判定される場合、暗号化ユーザ情報を復号するための認証側復号鍵を生成する復号鍵生成部、認証側復号鍵をサービスサーバへ送信する送信部を備える。【選択図】 図1

Description

本発明は、認証システム、認証方法、及び、認証プログラムに関し、特に、サービス提供側であるクライアントの提供するサービスを利用するユーザの認証を、よりセキュアにかつ簡易な手法で実現する認証システム等に関する。
近年、決済サービスや予約サービスといった様々なサービスが、通信ネットワークを介してオンラインで提供されている。このようなオンラインサービスシステムにおいては、登録済みユーザにのみサービスが提供されるよう、ユーザの認証処理が行われる。
ここで、サービスを利用するユーザは、サービス毎にアカウントを作成して、ユーザIDやパスワードといったユーザ情報を管理する必要があり、手間である。このユーザの手間を解消するために、いわゆるシングルサインオンという技術が知られている(例えば、特許文献1)。特許文献1に記載の技術は、ユーザ認証が必要な複数のWebサイトを、ユーザ端末から利用するシステムにおいて、Webサーバと、ユーザ端末との間にWebサイトにおけるユーザ認証を代行するプロキシを置き、このプロキシに、Webサイトにおけるユーザ認証を代行させることにより、Webサイトを利用する際に、ユーザがユーザ端末で実行しなければならないユーザ認証作業の操作回数を、大幅に削減するとされている。
特開2002−032340号公報
しかしながら、特許文献1に記載の技術では、ユーザ認証プロキシ装置に全てのユーザの認証情報を記憶させるので、ユーザ認証プロキシ装置に対しての信用の問題が生じる。また、ユーザ認証プロキシ装置が不正アクセスされた場合に、全てのユーザの認証情報が漏洩する可能性があった。
そこで、本発明は、上記の問題を解消し、ユーザにとって利便性が高く、また安全性を向上させた認証システム、認証方法、及び、認証プログラムを提供する。
本発明の一実施形態に係る、ユーザ端末によるサービスサーバへのアクセスを認証する認証システムは、認証サーバと、リソースサーバとを備え、リソースサーバは、ユーザ端末のユーザに関するユーザ情報、及び、サービスサーバのサービスに関するサービス情報を少なくとも記憶する第1記憶部と、ユーザ端末から送信されたサービスサーバへのアクセス要求に応じて、ユーザ端末のユーザに関するユーザ情報を暗号化する暗号化部と、暗号化部によって暗号化された暗号化ユーザ情報を、ユーザ端末へ送信する送信部と、を備え、認証サーバは、サービスサーバのサービスに関するサービス情報を記憶する第2記憶部と、暗号化ユーザ情報をユーザ端末から受信したサービスサーバから、当該サービスサーバのサービスに関するサービス情報を、暗号化ユーザ情報とともに受信する受信部と、受信部で受信したサービス情報に対応する、第2記憶部に記憶されているサービス情報に基づいて、サービス情報を送信したサービスサーバが真と判定される場合、暗号化ユーザ情報を復号するための認証側復号鍵を生成する復号鍵生成部と、認証側復号鍵をサービスサーバへ送信する送信部と、を備える。
本発明の一実施形態に係る認証システムにおいて、リソースサーバは、サービスサーバに固有の固有復号鍵を生成して当該サービスサーバに送信し、復号鍵生成部は、固有復号鍵と組み合わせて復号することにより暗号化ユーザ情報が復号されるように、認証側復号鍵を生成してもよい。
本発明の一実施形態に係る認証システムにおいて、リソースサーバにおける送信部は、ユーザ端末において、ユーザ情報として送信する項目を複数の項目から選択させる項目選択画面を表示させる表示情報を、ユーザ端末へ送信してもよい。
本発明の一実施形態に係る認証システムにおいて、リソースサーバにおける暗号化部は、ユーザ端末から送信されたサービスサーバへのアクセス要求に対し、ユーザ端末において項目選択画面へのアクセスがされている場合に、ユーザ情報を暗号化してもよい。
本発明の一実施形態に係る認証システムにおいて、第1記憶部、及び、第2記憶部に記憶されるサービス情報には、サービスサーバのIPアドレスが含まれ、認証サーバの復号鍵生成部は、受信部で受信したサービス情報に対応する第2記憶部に記憶されているサービス情報に含まれるIPアドレスが、受信部で受信したサービス情報の送信元のIPアドレスと一致する場合、サービス情報を送信したサービスサーバを真と判定してもよい。
本発明の一実施形態に係る認証システムにおいて、ユーザ情報として送信する項目が所定の条件を満たすユーザに対し、所定の報酬を関連付けてもよい。
本発明の一実施形態に係る認証システムは、複数のサービスサーバを含み、リソースサーバの第1記憶部は、ユーザ情報として、ユーザが利用するサービス毎に異なるユーザIDを関連付けてもよい。
本発明の一実施形態に係る、ユーザ端末によるサービスサーバへのアクセスを認証する、認証サーバと、リソースサーバとを備える認証システムの認証方法は、リソースサーバが、第1記憶部に、ユーザ端末のユーザに関するユーザ情報、及び、サービスサーバのサービスに関するサービス情報を少なくとも記憶するステップと、ユーザ端末から送信されたサービスサーバへのアクセス要求に応じて、ユーザ端末のユーザに関するユーザ情報を暗号化するステップと、暗号化するステップによって暗号化された暗号化ユーザ情報を、ユーザ端末へ送信するステップと、を実行し、認証サーバが、第2記憶部に、サービスサーバのサービスに関するサービス情報を記憶するステップと、暗号化ユーザ情報をユーザ端末から受信したサービスサーバから、当該サービスサーバのサービスに関するサービス情報を、暗号化ユーザ情報とともに受信するステップと、受信するステップで受信したサービス情報に対応する、第2記憶部に記憶されているサービス情報に基づき、サービス情報を送信したサービスサーバが真と判定される場合、暗号化ユーザ情報を復号するための認証側復号鍵を生成するステップと、認証側復号鍵をサービスサーバへ送信するステップと、を実行する。
本発明の一実施形態に係る、ユーザ端末によるサービスサーバへのアクセスを認証する、認証サーバと、リソースサーバとを備える認証システムの認証プログラムは、リソースサーバに、ユーザ端末のユーザに関するユーザ情報、及び、サービスサーバのサービスに関するサービス情報を少なくとも記憶させる第1記憶機能と、ユーザ端末から送信されたサービスサーバへのアクセス要求に応じて、ユーザ端末のユーザに関するユーザ情報を暗号化する暗号化機能と、暗号化機能によって暗号化された暗号化ユーザ情報を、ユーザ端末へ送信する送信機能と、を実現させ、認証サーバに、サービスサーバのサービスに関するサービス情報を記憶する第2記憶機能と、暗号化ユーザ情報をユーザ端末から受信したサービスサーバから、当該サービスサーバのサービスに関するサービス情報を、暗号化ユーザ情報とともに受信する受信機能と、受信機能で受信したサービス情報に対応する、第2記憶機能にて記憶されたサービス情報に基づき、サービス情報を送信したサービスサーバが真と判定される場合、暗号化ユーザ情報を復号するための認証側復号鍵を生成する復号鍵生成機能と、認証側復号鍵をサービスサーバへ送信する送信機能と、を実現させる。
本発明によれば、ユーザにとって利便性が高く、また安全性を向上させた認証システム、認証方法、及び、認証プログラムを提供することができる。
本発明の一実施形態に係る認証システム構成の概略図である。 (a)、(b)は、本発明の一実施形態に係る認証システムを説明する概略図である。 本発明の一実施形態に係る認証システムにおける情報処理装置(サーバ、端末)のハードウェア構成図である。 本発明の一実施形態に係る認証サーバ、及び、リソースサーバの機能ブロック図の一例である。 本発明の一実施形態に係るユーザ端末、及び、サービスサーバの機能ブロック図の一例である。 本発明の一実施形態に係る認証システムにおける、ユーザ端末、サービスサーバ、認証サーバ、及び、リソースサーバ間の、事前登録処理のシーケンス図である。 リソースサーバに記憶される情報の一例である。 認証サーバに記憶される情報の一例である。 サービスサーバに記憶される情報の一例である。 本発明の一実施形態に係る認証システムにおける、ユーザ端末の表示画面例である。 本発明の一実施形態に係る認証システムにおける、ユーザ端末、サービスサーバ、認証サーバ、及び、リソースサーバ間の認証処理のシーケンス図である。 本発明の一実施形態に係る認証システムにおける、ユーザ端末の表示画面例である。 本発明の一実施形態に係る認証システムにおける、ユーザ端末の表示画面例である。 本発明の一実施形態に係る認証システムにおける、ユーザ端末の表示画面例である。
以降、諸図面を参照しながら、本発明の一実施形態を詳細に説明する。
<認証システムの概要>
まず、図2を用いて、本発明の一実施形態に係る認証システムの概要を説明する。図2(a)は、従来のオンラインサービスにおける課題を説明する図、図2(b)は、本発明の一実施形態に係る認証システムの説明図である。
オンラインサービスでは、アカウントの共有、偽ユーザによる不正アクセス、一のユーザによる複数のアカウントの登録、ボットによるアカウントの登録が発生し得る。さらに、一のユーザが、一のサービスに対して複数のアカウントを保有し得るため、サービス提供側は、提供するサービスを利用するユーザの情報の真偽を確認できず、自身の提供するサービスに対する正確な情報の蓄積ができないという問題がある。また、ユーザは、複数のサービスを利用する場合、サービス毎にアカウントを登録する必要があり、手間がかかったり、ユーザ自身の信用をオンライン上で蓄積できないという問題がある。
これらの問題に対し、図2(b)に示すように、本発明の一実施形態に係る認証システムは、ユーザ及びサービス提供側がそれぞれ認証システムへ登録し、登録ユーザ(認証システムアカウント)のユーザ情報を、同じく登録ユーザである複数のサービス提供側における認証処理(証明処理)に用いる。詳細は後述するが、認証システムへの登録時に、ユーザ情報の真偽性は担保されるため、サービス提供側は、自身の提供するサービスの利用ユーザに関し、信頼性の高い情報を得ることができる。さらに、ユーザ側では、複数のサービスへ登録するためのユーザ情報は、認証システムへ登録されたユーザ情報が用いられる。従って、ユーザは、手間のかかる登録処理を複数回行う必要がない。さらに、ユーザは、複数のサービスにわたった利用履歴を、ユーザの信用度として蓄積できるという利点もある。以上が、本発明の概要である。
なお、本明細書において、「ユーザ情報」とは、所定のサービスにおけるユーザのアカウントに対応付けられたユーザの情報である。ユーザ情報は、例えば、ユーザにより入力される、又は、所定のサービスにより付与される、ユーザの名前、ユーザのアイコン画像、ユーザの年齢、ユーザの性別、ユーザの住所、ユーザの趣味趣向、電話番号やメールアドレスなどのユーザの連絡先、ユーザの識別子(ユーザID(IDentifier))、ユーザに対応付けられた決済情報、ユーザの国籍、ユーザ端末ID、認証サービスへの登録日、各サービスへの登録日などを含み、これらのいずれか一つ又は、組み合わせであってもよい。なお、ユーザ情報は、ユーザIDに対して、ユーザID以外のその他のユーザ情報が対応づけられて記憶されてもよい。
また、本明細書において、「サービス情報」とは、サービス提供側に関する情報と、認証システムにおいてサービス提供側を識別するための識別情報とを含んでよい。サービス提供側に関する情報とは、例えば、サービス提供側の名称、サービスの内容、サービス提供側の事業規模、資本金、事業形態(株式会社、有限会社等の種別)、従業員数、設立年、取引銀行等の情報、認証システムへの登録日などを含み、これらのいずれか一つ又は、組み合わせであってもよい。また、識別情報とは、認証システム500においてサービス提供側に付与されたサービス識別子(ID)、後述する固有秘密鍵、固有復号鍵などであってよい。
<システム構成>
図1を参照して、本発明の一実施形態に係る認証システムのシステム構成を説明する。図1に示すように、認証システム500は、ネットワークNETを介して互いに接続された、リソースサーバ100と、認証サーバ200と、複数のユーザ端末300(300A,300B)と、複数のサービスサーバ400(400A,400B)とを含む。なお、図においてサービスサーバ、ユーザ端末をそれぞれ2つのみ示してあるが、これ以上あってもよいことは言うまでもない。
サービスサーバ400A,400Bは、ネットワークNETを介して所定のサービスを提供するサービス提供側A,Bのサーバである。所定のサービスとは、例えば、予約サービス、決済サービス、SNS(Social Networking Service:ソーシャルネットワーキングサービス)、ショッピングサービス、配車サービス、出前サービス、オンラインゲームサービス等であってよい。なお、これ以降、特に区別する必要がない場合、サービスサーバ400A,400Bを、サービスサーバ400と総称する。なお、サービスサーバ400は、典型的にはクラウド上で実現されてもよい。
ユーザ端末300A,300Bは、それぞれ、ユーザA,Bに関連付けられた情報処理端末である。図において、ユーザ端末300A,300Bはスマートフォンを示してあるが、ユーザ端末としては、ネットワークNETを介してサービスサーバ400の提供する所定のサービスを利用可能とするものであれば、その種類は問わない。なおこれ以降、特に区別する必要がない場合、ユーザ端末300A,300Bを、ユーザ端末300と総称する。ユーザ端末300は、例えば、スマートフォン、携帯電話(フィーチャーフォン)、ハンドヘルドコンピュータデバイス(例えば、PDA(Personal Digital Assistant)等)、ウェアラブル端末(例えば、メガネ型デバイス、時計型デバイス、ヘッドマウントディスプレイ(HMD:Head-Mounted Display等)、他種のコンピュータ、又はコミュニケーションプラットホームを含む。
ネットワークNETは、無線ネットワークや有線ネットワークを含んでよい。具体的には、ネットワークNETは、ワイヤレスLAN(wireless LAN:WLAN)や広域ネットワーク(wide area network:WAN)、ISDNs(integrated service digital networks)、無線LANs、LTE(long term evolution)、LTE−Advanced、第4世代(4G)、第5世代(5G)、CDMA(code division multiple access)等である。なお、ネットワークNETは、これらの例に限られず、例えば、公衆交換電話網(Public Switched Telephone Network:PSTN)やブルートゥース(Bluetooth(登録商標))、光回線、ADSL(Asymmetric Digital Subscriber LINE)回線、衛星通信網等であってもよい。また、ネットワークNETは、これらの組み合わせであってもよい。
リソースサーバ100は、認証システム500のユーザ情報を暗号化し、ユーザ端末300を介してサービスサーバ400へ提供する。サービスサーバ400は、暗号化されたユーザ情報(以降、「暗号化ユーザ情報」と称する)を復号するための復号鍵を、認証サーバ200へ要求する。認証サーバ200は、要求が不正なアクセスであるか否かを判定し、不正アクセスでない場合に、暗号化ユーザ情報を復号するための復号鍵を生成し、サービスサーバ400へ提供する。サービスサーバ400は、認証サーバ200から受信した復号鍵と、あらかじめリソースサーバ100から取得したサービスサーバ400固有の固有復号鍵とを用いて、暗号化ユーザ情報を復号し、サービスを利用するユーザのユーザ情報を取得する(詳細は後述する)。
<ハードウェア構成>
ここで、図3を用いて、リソースサーバ100のハードウェア構成について説明する。なお、図3ではリソースサーバ100として示してあるが、基本的なハードウェア構成は、認証サーバ200、サービスサーバ400、及び、ユーザ端末300も同様であるため、情報処理装置として説明する。また、図3では、認証サーバ200に対応する符号を、括弧書きにて示してある。
情報処理装置100は、プロセッサ101と、メモリ102と、ストレージ103と、入出力インタフェース(I/F)104と、通信I/F105とを備え、これらの協働により、本実施形態に記載される機能や方法を実現する。例えば、本開示の機能又は方法は、メモリ102に読み込まれたプログラムに含まれる命令をプロセッサ101が実行することによって実現される。
プロセッサ101は、ストレージ103に記憶されるプログラムに含まれるコード又は命令によって実現する機能、及び/又は、方法を実行する。プロセッサ101は、例えば、中央処理装置(CPU)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を含み、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各実施形態に開示される各処理を実現してもよい。また、これらの回路は、1又は複数の集積回路により実現されてよく、各実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。
メモリ102は、ストレージ103からロードしたプログラムを一時的に記憶し、プロセッサ101に対して作業領域を提供する。メモリ102には、プロセッサ101がプログラムを実行している間に生成される各種データも一時的に格納される。メモリ102は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)等を含む。
ストレージ103は、プログラムを記憶する。ストレージ103は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等を含む。
通信I/F105は、ネットワークアダプタ等のハードウェアや通信用ソフトウェア、及びこれらの組み合わせとして実装され、ネットワークNETを介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F105は、ネットワークNETを介して、他の情報処理装置との通信を実行する。通信I/F105は、各種データをプロセッサ101からの指示に従って、他の情報処理装置に送信する。また、通信I/F105は、他の情報処理装置から送信された各種データを受信し、プロセッサ101に伝達する。
入出力I/F104は、情報処理装置100に対する各種操作を入力する入力装置、及び、情報処理装置100で処理された処理結果を出力する出力装置を含む。入出力I/F104は、入力装置と出力装置が一体化していてもよいし、入力装置と出力装置とに分離していてもよい。入力装置は、ユーザからの入力を受け付けて、当該入力に係る情報をプロセッサ101に伝達できる全ての種類の装置のいずれか、又は、その組み合わせにより実現される。入力装置は、例えば、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(画像を介した操作入力)、マイク(音声による操作入力)を含む。出力装置は、プロセッサ101で処理された処理結果を出力する。出力装置は、例えば、タッチパネル、スピーカ等を含む。
<機能構成>
詳細は後述するが、図4、図5を用いて、各装置の機能構成について簡単に説明する。なお、図4に記載の各機能部が必須ではなく、また、これ以外の機能部を備えてもよい。また、各機能部の機能又は処理は、実現可能な範囲において、機械学習又はAI(Artificial Intelligence)により実現されてもよい。
(1)リソースサーバ
図4に示すように、リソースサーバ100は、通信制御部110、入出力制御部120、判定部130、生成部140、暗号化部150、及び、記憶部160を備える。
通信制御部110は、通信I/F105を介した外部装置との間の通信を制御する。すなわち、通信制御部110は、ユーザ端末300やサービスサーバ400との間の通信で取得したデータを、判定部130や記憶部160へ伝達したり、それら機能部からのデータを、ユーザ端末300やサービスサーバ400へ送信したりする。従って、通信制御部110は、外部装置(ユーザ端末300、サービスサーバ400)との間でデータを送受信する送信部及び受信部として機能する。
例えば、通信制御部110は、ユーザ端末300のユーザに関するユーザ情報を、ユーザ端末300から受信する。また、通信制御部110は、サービスサーバ400のサービス提供側に関するサービス情報を、サービスサーバ400から受信する。なお、受信したユーザ情報やサービス情報は、それぞれ、記憶部160のユーザ情報データベース(DB)262、サービス情報DB261に格納(記憶)される。
さらに、通信制御部110は、ユーザ端末300から、サービスサーバ400へのアクセス要求を受信したり、暗号化部150によって暗号化された暗号化ユーザ情報を、ユーザ端末300へ送信したりする。
入出力制御部120は、入出力I/F104を介した外部装置との各種情報の伝達を制御する。例えば、入出力制御部120は、タッチパネル、キーボード、マイク等の図示しない入力装置からのサービス提供側の管理ユーザからの入力指示に応じて各機能部へ情報を伝達したり、タッチパネル、モニタ、スピーカ等の図示しない出力装置に対し、各機能部からの情報を伝達したりする。
判定部130は、各種判定処理を行う。なお、判定には、機械学習又はAIが用いられてもよい。暗号化部150は、ユーザ端末300から送信されたサービスサーバ400へのアクセス要求に応じて、ユーザ端末300のユーザに関するユーザ情報を暗号化する。
記憶部160は、ストレージ103等に、リソースサーバ100が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。また、上述のように、記憶部160は、認証システムを利用するサービス提供側に関するサービス情報、ユーザに関するユーザ情報を記憶する。また、記憶部160は、復号鍵生成規則163と、ハッシュキー生成規則164とを記憶する。なお、記憶部160は、第1記憶部に相当する。
(2)認証サーバの機能構成
認証サーバ200は、通信制御部210、入出力制御部220、判定部230、生成部240、及び、記憶部250を含む。通信制御部210は、通信I/F205を介したサービスサーバ400との間の通信を制御する。なお、本発明の一実施形態において、認証サーバ200は、サービスサーバ400との間でのみ通信を行い、ユーザ端末300や、リソースサーバ100との間での通信は行われない。
通信制御部210は、サービスサーバ400との間の通信で取得したデータを、判定部230や記憶部250へ伝達したり、それら機能部からのデータを、サービスサーバ400へ送信したりする。従って、通信制御部110は、サービスサーバ400との間でデータを送受信する送信部及び受信部として機能する。例えば、通信制御部110は、サービスサーバ400から、暗号化ユーザ情報とともに、当該サービスサーバ400のサービス提供側に関するサービス情報を受信する。さらに、通信制御部110は、サービスサーバ400へ、生成部240が生成した認証側復号鍵を送信する。
記憶部250は、ストレージ203等に、認証サーバ200が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。また、記憶部250は、サービス情報DB251に、認証システムを利用するサービス提供側のサービス情報を記憶する。ここで、認証サーバ200は、リソースサーバ100と異なり、ユーザ情報を記憶しない。また、認証サーバ200に記憶されるサービス情報は、リソースサーバ100に記憶されるサービス情報と同一のものであることが好ましい(詳細は後述する)。なお、認証サーバ200の記憶部250は、第2記憶部に相当する。さらに、記憶部250は、リソースサーバ100の記憶部160に記憶されている復号鍵生成規則163、ハッシュキー生成規則164と同一の復号鍵生成規則252、ハッシュキー生成規則253を記憶する。
判定部230は、各種判定処理を行う。なお、判定には、機械学習又はAIが用いられてもよい。例えば、判定部230は、通信制御部210で受信したサービス情報に対応するサービス情報が、記憶部250に記憶されているか否かを判定する。また、判定部230は、暗号化ユーザ情報が、例えば不正アクセスによって取得されたものであるか否かを、当該暗号化ユーザ情報を送信したサービスサーバ400の正否(真偽)を判定することで判定する(詳細は後述する)。
生成部240は、判定部230によって、暗号化ユーザ情報を送信したサービスサーバ400が真と判定される場合、暗号化ユーザ情報を復号するための認証側復号鍵を生成する。
(3)ユーザ端末の機能構成
図5に、ユーザ端末300及びサービスサーバ400の機能構成図を示す。ユーザ端末300は、通信制御部310、入出力制御部320、生成部330、撮像制御部340、及び、記憶部350を備える。なお、各機能部の機能又は処理は、実現可能な範囲において、機械学習又はAIにより実現されてもよい。
通信制御部310は、ネットワークNETを介した、ユーザ端末300と外部装置(リソースサーバ100、サービスサーバ400)との間の各種情報の送受信を実行させる。入出力制御部320は、入出力I/Fを介した外部装置との各種情報の伝達を制御する。例えば、入出力制御部320は、タッチパネル、マイク等の入力装置で受け付けられたユーザからの入力指示に応じて各機能部へ情報を伝達したり、タッチパネル、スピーカ等の出力装置に対し、各機能部からの情報を伝達したりする。
生成部330は、所定の規則に基づきハッシュを生成する。撮像制御部340は、ユーザ端末300のユーザからの指示に応じて、撮像部による撮像を制御する。
記憶部350は、ストレージ等に、ユーザ端末300が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。例えば、記憶部350は、ユーザ端末300において所定のサービスを実行するためのアプリケーションプログラムを記憶し、また、所定のサービスへのアクセストークンを記憶する。
(4)サービスサーバの機能構成
サービスサーバ400は、通信制御部410、入出力制御部420、生成部430、復号部440、及び、記憶部450を備える。
通信制御部410は、ネットワークNETを介した、サービスサーバ400と外部装置(認証サーバ200、ユーザ端末300)との間の各種情報の送受信を実行させる。入出力制御部420は、入出力I/Fを介した外部装置との各種情報の伝達を制御する。生成部430は、所定の規則に基づきハッシュを生成する。
復号部440は、記憶部450に記憶されたサービス情報451に基づき、暗号化ユーザ情報を復号する。なお、サービス情報451には、リソースサーバ100の生成部140によって生成された、サービス提供側に固有の固有復号鍵が含まれる。復号部440は、固有復号鍵と、認証サーバ200から送信された認証側復号鍵とを用いて、暗号化ユーザ情報を復号する。
<事前登録処理>
認証システム500の利用にあたり、サービス提供側及びユーザは、認証システムへの事前登録が必要である。以下に、事前登録処理について説明する。図6は、事前登録処理のシーケンス図である。
(1)サービス提供側の事前登録処理
事前登録にあたり、サービスサーバ400は、サービス情報をリソースサーバ100へ送信する(ステップS11)。サービス情報には、サービスサーバ400のIPアドレス、ユーザ情報の送信先URL、サービス提供側に関する情報が含まれる。ユーザ情報の送信先URLとは、サービスの利用登録を希望するユーザのユーザ端末から、登録に際し必要となるユーザ情報の送信先を示す情報である。なお、認証システム500の管理者は、サービス提供側に関する情報に基づいて、サービス提供側を審査し、信用するに足ると判断できるサービス提供側のみに、認証システム500への登録が許可されてもよい。なお、サービス提供側の審査は、Webページのクロールによりサービス提供側に関する情報を収集したり、AIや機械学習によってサービス提供側の事業を予測(例えば、株価予測や売り上げ予測等)したりすることでソフトウェアにより行われてもよい。
リソースサーバ100の生成部140は、サービスサーバ400に対し、サービスID(アカウント情報)、サービス提供側に固有の秘密鍵、固有の復号鍵を生成する(ステップS12)。生成部140は、認証システム500を利用するサービス毎に異なる秘密鍵及び復号鍵を生成する。リソースサーバ100の通信制御部110は、生成されたサービスID、秘密鍵、復号鍵を、サービスサーバ400へ送信する(ステップS13)。サービスサーバ400の記憶部450には、認証システム500のサービスID、固有秘密鍵、固有復号鍵が記憶される(ステップS14)。
図9に、サービスサーバ400の記憶部450に記憶される情報の一例を示す。テーブルTB40は、サービス情報451の一例である。テーブルTB40に示すように、サービスサーバ400には、認証システム500においてサービス提供側を一意に識別するサービスID、固有秘密鍵、固有復号鍵が記憶される。なお、サービスサーバ400には、認証システム500に関する情報(図の例では、登録日)がさらに記憶されてもよい。
また、サービス毎のサービスID、秘密鍵、IPアドレスは、リソースサーバ100から認証サーバ200へ送信される(ステップS15)。認証サーバ200の記憶部250には、サービス毎に、サービスID、IPアドレス、秘密鍵が少なくとも記憶される(ステップS16)。また、リソースサーバ100の記憶部160には、サービス毎に、サービス名、IPアドレス、送信先URLが少なくとも記憶される(ステップS17)。
図7(a)に、リソースサーバ100の記憶部160に記憶される情報の一例を示す。テーブルTB10は、サービス情報DB161の一例である。テーブルTB10に示すように、リソースサーバ100には、認証サービス500を利用するサービス毎に、サービス名、サービスID、IPアドレス、送信先URLが少なくとも記憶される。なお、リソースサーバ100には、サービス提供側に関する情報(図の例では、業種)がさらに記憶されてもよい。
また、図8に、認証サーバ200の記憶部250に記憶される情報の一例を示す。テーブルTB30は、サービス情報DB251の一例である。テーブルTB30に示すように、認証サーバ200には、サービス毎に、サービス名、サービスID、秘密鍵、IPアドレスが少なくとも記憶される。なお、認証サーバ200には、サービス提供側に関する情報(図の例では、業種)がさらに記憶されてもよい。
(2)ユーザの事前登録処理
事前登録にあたり、ユーザのユーザ情報が、ユーザ端末300からリソースサーバ100へ送信される(ステップS18)。ユーザ情報には、ユーザ名、生年月日、住所、電話番号等、ユーザが本人であることを確認可能な情報が少なくとも含まれることが好ましい。リソースサーバ100の生成部140は、ユーザのアカウントと、ユーザのアカウントへのアクセストークンを生成する(ステップS19)。アクセストークンは、例えば、Cookieであってよい。生成されたアクセストークンは、リソースサーバ100からユーザ端末300へ送信される(ステップS20)。ユーザ端末300の記憶部350には、アクセストークンが記憶される(ステップS21)。また、リソースサーバ100の記憶部160には、ユーザ情報が記憶される(ステップS22)。
図7(b)に、リソースサーバ100の記憶部160に記憶されるユーザ情報の一例を示す。テーブルTB20は、ユーザ情報DB162の一例である。テーブルTB20に示すように、リソースサーバ100には、認証サービス500を利用するユーザ毎に、ユーザ名、サービスID、IPアドレス、送信先URLが少なくとも記憶される。なお、リソースサーバ100には、サービス提供側に関する情報(図の例では、業種)がさらに記憶されてもよい。なお、テーブルTB20に示すように、一のユーザに対し、サービス毎に異なるユーザIDが付与される。また、プロフィール情報については後述する。
<認証を利用するサービスの選択>
認証システム500へ登録したユーザは、認証システムを利用してユーザ登録するサービスを選択することができる。このとき、本発明の一実施形態によれば、ユーザは、サービス毎に、自身のプロフィール情報(ユーザ情報)のうち登録に用いる項目を選択することができる。このことを、図を用いて説明する。
図10の画面10は、サービスXの利用登録において、認証サービスを利用するか否かを選択させる画面の一例である。ここで、ボタン11がユーザによって選択された場合、利用登録要求が、ユーザ端末300からサービスサーバ400へ送信され、サービスサーバ400は、サービスXへ送信する項目を選択させる項目選択画面を表示させる情報を、ユーザ端末300へ送信する。
図10の画面20は、サービスXの利用登録に用いる項目の選択画面の一例である。画面20では、項目のリスト12として、名前、プロフィール写真、銀行口座が表示されている。ここで、リスト12に表示される項目は、サービスによって異なる。サービス提供側は、認証システム500への事前登録時に、ユーザから取得したい項目をあらかじめリソースサーバ100へ登録しておく。ユーザ端末300において、リスト12から、サービスXへ送信する項目がユーザによって選択され、送信ボタン13が選択されると、ユーザ端末300の生成部330は、ユーザによって選択された項目を含む情報送信要求を生成する。ユーザ端末300の通信制御部310は、情報送信要求を、リソースサーバ100へ送信する。
図10の画面30は、認証システム500へログイン後に、認証システム500による認証サービスを利用するサービスを選択する画面の一例である。ここで、サービスXがユーザによって選択された場合、利用登録要求が、ユーザ端末300からサービスサーバ400へ送信され、サービスサーバ400は、項目選択画面(図10の画面20)を表示させる情報を、ユーザ端末300へ送信する。画面20については、上述と同様であるため説明を省略する。
上述のように、ユーザは、認証システム500を用いて登録するサービス毎に、自身のプロフィール情報のうち送信する項目を選択することができる。なお、リソースサーバ100の生成部140は、ユーザが項目選択画面20にアクセスしたことを証明する第1トークンを生成する。
<認証処理>
次に、ユーザの認証処理(ユーザ情報の証明処理)について、図11を用いて説明する。図11は、認証処理のシーケンス図である。なお、以下では、説明のため、ユーザが利用するサービスをサービスX、ユーザ端末300のユーザをユーザAとし、サービスXに関連するものは〇〇Xと示し、ユーザAに関連するものは〇〇Aと英字を付して説明する。
上述したように、ユーザ端末300Aの生成部330は、情報送信要求を生成する。情報送信要求には、送信先のサービスXを一意に示す文字列、項目選択画面20によって選択された、プロフィール情報のうち送信する項目(以降、「送信項目」と称する)に関する情報を示す文字列又はリスト、選択画面20にアクセスしたことを証明する第1トークン、サービスXにおけるユーザのユーザIDが含まれる。ユーザ端末300Aは、情報送信要求を、リソースサーバ100へ送信する。ここで、送信には、HTTP POSTメソッドが用いられてもよい。
リソースサーバ100は、情報送信要求を受信すると、第1トークンの有無に基づき、項目選択画面20にアクセスしたユーザからの情報送信要求であるか否かを判定する(ステップT12)。第1トークンが情報送信要求に含まれていない場合(ステップT12でNO)、項目選択画面へのリダイレクトを指示する応答を送信する(ステップT13)。第1トークンが情報送信要求に含まれている場合(ステップT12でYES)、リソースサーバ100の暗号化部150は、情報送信要求に含まれる送信項目を暗号化する(ステップT14)。具体的には、暗号化部150は、情報送信要求に含まれる全ての情報を辞書形式のJSON文字列として暗号化し、暗号化文字列(crypted_string)とする。なお、暗号化部150によって暗号化された暗号化文字列の復号には、送信項目の送信先のサービスXに付与された、サービスX固有の復号鍵Xと、リソースサーバ100の記憶部160に記憶されている復号鍵生成規則163に基づいて生成された復号鍵(復号鍵Pとする)を必要とする。なお、図7(b)のテーブルTB20に示すように、ユーザはサービス毎に異なるユーザIDを有する。従って、ユーザ情報がサービス提供側によって悪用されたり、流出したりするのを防ぐことができる。
また、リソースサーバ100の生成部140は、ハッシュキー生成規則164に従ってハッシュキー(ハッシュキーHとする)を生成し、上述した暗号化文字列、又は、それを復号した文字列を、ハッシュキーHを用いてハッシュ化し、ハッシュAとする。なお、上述した復号鍵生成規則163における復号鍵Pの生成や、ハッシュキー生成規則164におけるハッシュキーの生成には、タイムスタンプと、リソースサーバ100の記憶部160に記憶されているサービスXのサービス情報が利用される。また、復号鍵Pの生成規則とハッシュAの生成規則とは異なり、一方から他方の類推は不可能である。
ステップT14で生成された暗号化ユーザ情報は、リソースサーバ100からユーザ端末300へ送信され(ステップT15)、ユーザ端末300からサービスXのサービスサーバ400Xへ送信される(ステップT16)。ここで、送信には、HTTP POSTメソッドが用いられる。暗号化ユーザ情報には、サービスXへの送信先URL、タイムスタンプ、暗号化文字列、ハッシュAが含まれる。
暗号化ユーザ情報を受信したサービスサーバ400の生成部430は、暗号化ユーザ情報に、サービスXの認証システム500におけるサービスID(サービスX_ID)を付与し、事前登録処理においてリソースサーバ100から付与された秘密鍵Xを用いてハッシュ化する(ステップT17)。すなわち、生成部430は、暗号化ユーザ情報に含まれるタイムスタンプ、暗号化文字列、ハッシュA、サービスID(サービスX_ID)を連結し、秘密鍵Xでハッシュ化したハッシュBを生成する。サービスサーバ400の通信制御部410は、生成されたハッシュBと、暗号化ユーザ情報に含まれるタイムスタンプ、暗号化文字列、ハッシュA、サービスIDとを、認証サーバ200へ送信する(ステップT18)。
認証サーバ200では、ハッシュBに基づいた認証が行われる(ステップT19)。具体的には以下の手順である。
まず、タイムスタンプが有効期限内であるか否かが判定される。ここで、有効期限は任意に設定可能である。そして、サービスサーバ400から暗号化ユーザ情報に含まれるサービスID(サービスX_ID)と同一のサービスIDに関する情報が、認証サーバ200の記憶部250から読み出される。次に、サービスX_IDに関連付けて記憶部250に記憶されているIPアドレスと、暗号化ユーザ情報の送信元のIPアドレスとが一致するか否かが判定される。IPアドレスが一致した場合、データが不正に取得されたものでないことを意味する。タイムスタンプと、サービスX_IDに関連付けて記憶部250に記憶されているサービス情報とに基づいて、同じく記憶部250に記憶されている復号鍵生成規則252と、ハッシュキー生成規則253とに基づき、復号鍵及びハッシュを生成する。
ここで、リソースサーバ100に記憶されている復号鍵生成規則163及びハッシュキー生成規則164は、それぞれ、認証サーバ200に記憶されている復号鍵生成規則252及びハッシュキー生成規則253と同一である。従って、同一のパラメータを用いて復号鍵やハッシュキーが生成されれば、リソースサーバ100で生成されたものと、認証サーバ200で生成されたものは同一となる。従って、認証サーバ200で生成された復号鍵が復号鍵Pと一致し、さらに、認証サーバ200でハッシュがハッシュAと一致する場合、暗号化ユーザ情報を送信したサービスサーバ400のアクセスが正しいものであることが判定され、アクセスが認証される(ステップT19でYES)。
認証された場合、認証サーバ200で生成された復号鍵Pを、サービスサーバ400へ送信する(ステップT20,T21)。復号鍵Pを受信したサービスサーバ400の復号部440は、受信した復号鍵Pに、固有復号鍵Aを合わせて復号鍵とし、暗号化文字列を復号する(ステップT22)。復号されたJSON文字列から、ユーザによって選択された項目を取得し、サービスの利用ユーザとして登録する。
なお、認証サーバ200で生成された復号鍵が復号鍵Pと一致しない、又は、認証サーバ200で生成されたハッシュがハッシュAと一致しない場合(ステップT19でNO)、エラーであることをサービスサーバ400へ応答するか、処理を終了する。
上述のように、本発明の一実施形態による認証システムによれば、ユーザのプロフィール情報を、その正確性を担保された状態で、サービス提供側に提供することができる。また、ユーザ情報はリソースサーバ100にのみ記憶され、認証サーバ200に記憶されない。さらに、ユーザ情報が記憶されるリソースサーバ100へのアクセスは、ユーザ端末300のみが行う。さらに、サービス提供側に送信するユーザ情報も、ユーザがその項目を選択でき、サービスサーバ400には、ユーザが選択した項目のみ記憶される。従って、通信経路での情報の流出や、外部からの不正リクエストの可能性を低減することができる。また、HTTPプロトコルによるカジュアルな利用が可能であるため、簡易な手法での認証方法を実現することができる。
さらに、本発明の一実施形態によれば、サービスサーバ400に固有の復号鍵が付与され、暗号化ユーザ情報の復号には、認証サーバ200が生成する復号鍵に加え、当該固有の復号鍵を必要とする。従って、認証サーバ200とサービスサーバ400との間の通信に不正アクセスされて復号鍵が漏洩した場合でも、暗号化ユーザ情報の復号を阻止することができる。
一般に、正確性を担保し、より信頼度の高いセキュアな認証システムを実現するためには、ユーザに多くの情報を提供してもらい、不正ユーザの登録を防止することが求められる。本発明の一実施形態によれば、ユーザは、認証システムへの登録時に多くの情報を提供しても、各サービスへ提供する情報をユーザ自身で選択することができる。従って、個人情報を保護し、よりユーザビリティの高いシステムを提供することができる。
<ユーザ情報の提供>
ここで、認証システム500への事前登録に際し、ユーザ情報の提供処理の一例を、図12を用いて説明する。図12(a)は、ユーザ端末300に表示された身分証の撮影画面40の一例である。ユーザ情報の登録には、例えば、身分証を撮影した画像を画像認識技術により認識して、身分証に含まれる事項を文字情報として抽出することができる。このような構成によれば、ユーザ情報を簡易な方法で入力することができる。また、図12(b)は、ユーザの顔写真の撮影画面50の一例である。身分証の撮影と、ユーザの顔写真の撮影とを一連の処理でユーザに実行させることが好ましい。
なお、ユーザの顔は、動画によって撮影されてもよい。この際、画面50に示すように、所定のキーワード14(図12の例では、「11月28日、レモン」)を発話させてもよい。これにより、様々なユーザの表情を取得し、後述するAIによる判定に用いる機械学習のインプット情報として用いることができる。
上述の処理によって取得した動画情報に基づくAIによるユーザ確認について、簡単に説明する。
(1)顔写真について
提示したキーワードをユーザが喋っており、合成による動画でないことが、解析ライブラリやサービスによって判定される。動画から静止画が切り出され、切り出された静止画は、機械学習のインプットとして与えられる。
(2)身分証について
動画から切り出された各静止画について、所定の真贋判定サービスを利用した、書類の真偽判定や、OpenCV(Open Source Computer Vision Library)等のライブラリを利用した画像解析・機械学習によって、身分証の顔写真と、動画に含まれる顔とが同一人物であるかを判定する
なお、認証システム500における、一のユーザによる重複登録を防止するため、身分証や書類のID番号(免許証番号や旅券番号、製造番号など)がすでに登録されているか、また、名前や住所、生年月日の重複がある場合は、顔写真と合わせて、AIで同一人物か否かを判定してもよい。
なお、ユーザによる顔写真の撮影は複数回行われてもよい。顔写真は、全て機械学習のインプットとして用いられ、判定精度を向上させることができる。
<ユーザへの報酬>
本発明の一実施形態によれば、ユーザ情報のうちユーザによって選択されてサービスへ送信される項目に応じて、送信される項目が所定の条件を満たすユーザに、所定の報酬が関連付けられてもよい。所定の報酬は、サービス提供側によってあらかじめ設定され、リソースサーバ100に記憶される。例えば、図13に示す選択画面20において、リスト12の項目がすべて選択された場合、所定の報酬がユーザに関連付けられてよい。所定の報酬としては、サービスXにおいて利用可能なポイントであってもよいし、金銭であってもよい。また、選択画面20において送信ボタン13が選択された後に、所定のアンケート画面21が表示されてもよい。そして、アンケートへの回答数に応じて、ユーザに報酬が与えられてもよい。このような構成により、サービス提供側は、ユーザ情報をより多く取得して蓄積することが可能となる。
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各構成部、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成部やステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。また、上記実施の形態に示す構成を適宜組み合わせることとしてもよい。例えば、リソースサーバ100や認証サーバ200が備えるとして説明した各構成部は、複数のサーバによって分散されて実現されてもよいし、同一のサーバにて実現されてもよい。当業者であれば、同一のサーバであっても、実質的に上述した内容にて実装することができる。ただし、不測の事態に備える意味では、実際に分離させることが好ましい。なお、本明細書における「サーバ」とは、物理的なサーバ自体に限らず、仮想サーバや、サーバの機能を実現するプログラム自体を指すことに留意されたい。また、各構成部は、API(Application Programming Interface:アプリケーションプログラミングインターフェース)によって提供されてもよい。
例えば、秘密鍵や復号鍵はそのまま利用するのではなく、認証サーバ200とリソースサーバ100とで共有するハッシュキー生成規則の変数として利用し、生成されたハッシュ文字列を鍵として利用することにより、より安全性を高めることができる。
また、復号鍵PとハッシュキーHの生成に利用する変数は上述したものに限られるものではなく、他の変数を利用してもよい。例えば、タイムスタンプを用いて、ハッシュキーの発行から問い合わせまでの有効期限を設けてもよい。また、サービスサーバ400から認証サーバ200への問い合わせにSSH(Secure SHell)を利用し、より安全性を高めてもよい。また、情報送信要求を暗号化してもよい。その場合、暗号化キーはワンタイムパスワード的に、有効期限で区切って変えることが好ましい。さらに、不正アクセスへの対策として、認証サーバ200に保存するサービス提供側の登録情報を、ハッシュ化して記憶してもよい。この場合、リソースサーバ100で生成するハッシュには、同じ生成規則を用いる。なお、暗号化のアルゴリズムは任意のものを用いることができる。また、ユーザIDは文字列でなく、画像情報が用いられてもよい。
また、認証システム500における通信経路上で、サービスサーバ400から認証サーバ200への問い合わせに対する回答において、情報流出・改竄・不正アクセスが想定される。しかしながら、攻撃者は、タイムスタンプ、ハッシュキーとして利用するサービス固有の秘密鍵、暗号化文字列(crypted_string)、ハッシュA、接続元IPアドレス(サービスサーバのIPアドレスへの改竄)の全てにおいて、正しいものを用意する必要がある。暗号化文字列(crypted_string)とハッシュAについては、認証システム500におけるいずれかの通信経路から流出したものでない限り、一致させることは難しい。また、万一攻撃が成功し攻撃者が復号鍵Pを受け取っても、サービスごとに割り当てられている固有の復号鍵を入手しない限り、暗号化文字列(crypted_string)を復元できない。また、万一復号化できた場合でも、流出する情報は、一のユーザがその時送信した情報のみである。
<身分証としての利用>
さらに、本発明に係る認証システムは、身分証として利用することができる。認証システム500への事前登録処理において、リソースサーバ100には、ユーザ情報が記憶される。このユーザ情報を、上述した認証処理によって、身分証としてサービス側に提供することができる。図14(a)は、ユーザ端末300における、認証システム500に登録されたユーザ情報(身分証40)の表示画面例である。なお、図は一例であって、身分証40に含める項目はこれ以下でもこれ以上であってもよい。例えば、本発明による認証システムを用いて、ホテルにおけるチェックイン時、予約済みの店舗への入店時や病院等での受付時に、ユーザ情報(住所、名前、電話番号等)の記入を省略することができる。
ユーザが実店舗(認証システム500を利用するサービス提供側の店舗)に来店すると、ユーザ端末300に、図14(b)に示すようなチェックイン画面(送信項目選択画面)41が表示される。これは、認証システム500における実店舗の識別情報が、ユーザ端末300に入力されることによって表示されてもよい。例えば、実店舗に設置された店舗端末に表示されたパスコードをユーザ端末300に読み取らせる、またはユーザが入力する、実店舗に設置されたビーコン等から識別情報が送信される、ユーザ端末300においてあらかじめ実店舗を指定するといった方法が用いられてもよい。チェックイン画面41において、ユーザは、実店舗で身分証として提示する項目を選択する。すると、上述した認証処理によってユーザ情報が認証され、実店舗側へ送信される。このような構成により、ユーザは、簡易な方法でユーザ情報を入力することができる。また、実店舗側は、ユーザ情報の偽装の可能性が低い、信頼度の高いユーザ情報を得ることが可能となる。
本発明の利点を再度述べる。本発明によれば、通信経路に全てHTTPプロトコルが利用できるので、サービス提供側は容易に利用可能である。また、サービスサーバへのIPアドレスを登録してもよいので、サービスサーバから問い合わせ用のURLに、容易にファイアウォールを設定することができる。また、この部分にのみSSHを利用して、より安全にすることもできる。さらに、認証サーバ200にユーザ情報を記憶させる必要がなく、情報の流出や改竄、不正アクセスがユーザレベル以外では困難であり、複数ユーザの情報をまとめて流出させることは困難である。
また、ユーザが選択画面20において送信ボタン13を選択し、認証の完了までは、ユーザからみて1回のページ移動で終了する。また、サービス提供側からみても、ユーザに対し1回のセッションで認証を完了できる。
さらに、ユーザは、認証システムにより保証された情報を、ワンクリックでサービス提供側に送信でき、サービス提供側は、認証システムに登録されているため、悪意のある第三者に、ユーザ情報が送信されるリスクが低い。
サービス提供側は、ユーザごとに、認証システムにより保証された情報をワンクリックで入手できる。ユーザは、サービス毎に異なる識別子が付与されるため、少なくとも認証システムによって保証される範囲で、ユーザの同一性を判定でき、ユーザの重複登録などを回避できる。また、図10の画面30のように、ユーザが認証サービスへログインすると、当該認証サービスを利用できるサービスの一覧が表示される。従って、ユーザへサービスを紹介する広告として、ユーザへ、サービスへの登録を促すことができる。
本開示の各実施形態のプログラムは、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。プログラムは、例えば、ソフトウェアプログラムやコンピュータプログラムを含む。
記憶媒体は適切な場合、1つ又は複数の半導体ベースの、又は他の集積回路(IC)(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向けIC(ASIC)等)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切な記憶媒体、又はこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、又は揮発性と不揮発性の組合せでよい。
また、本開示のプログラムは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、情報処理装置に提供されてもよい。
また、本開示の各実施形態は、プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
なお、本開示のプログラムは、例えば、JavaScript(登録商標)、Python等のスクリプト言語、C言語、Go言語、Swift,Koltin、Java(登録商標)等を用いて実装される。
500 認証システム
100 リソースサーバ
110 通信制御部
120 入出力制御部
130 判定部
140 生成部
150 暗号化部
160 記憶部
163 復号鍵生成規則
164 ハッシュキー生成規則
200 認証サーバ
210 通信制御部
220 入出力制御部
230 判定部
240 生成部
250 記憶部
251 サービス情報DB
252 復号鍵生成規則
253 ハッシュキー生成規則
300(300A,300B) ユーザ端末
310 通信制御部
320 入出力制御部
330 生成部
340 撮像制御部
350 記憶部
400(400A,400B) サービスサーバ
410 通信制御部
420 入出力制御部
430 生成部
440 復号部
450 記憶部
451 サービス情報
100 情報処理装置
101 プロセッサ
102 メモリ
103 ストレージ

Claims (9)

  1. ユーザ端末によるサービスサーバへのアクセスを認証する認証システムであって、認証サーバと、リソースサーバとを備え、
    前記リソースサーバは、
    前記ユーザ端末のユーザに関するユーザ情報、及び、前記サービスサーバのサービスに関するサービス情報を少なくとも記憶する第1記憶部と、
    前記ユーザ端末から送信された前記サービスサーバへのアクセス要求に応じて、前記ユーザ端末のユーザに関するユーザ情報を暗号化する暗号化部と、
    前記暗号化部によって暗号化された暗号化ユーザ情報を、前記ユーザ端末へ送信する送信部と、
    を備え、
    前記認証サーバは、
    前記サービスサーバの前記サービスに関するサービス情報を記憶する第2記憶部と、
    前記暗号化ユーザ情報を前記ユーザ端末から受信した前記サービスサーバから、当該サービスサーバのサービスに関する前記サービス情報を、前記暗号化ユーザ情報とともに受信する受信部と、
    前記受信部で受信した前記サービス情報に対応する、前記第2記憶部に記憶されている前記サービス情報に基づき、前記サービス情報を送信したサービスサーバが真と判定される場合、前記暗号化ユーザ情報を復号するための認証側復号鍵を生成する復号鍵生成部と、
    前記認証側復号鍵を前記サービスサーバへ送信する送信部と、
    を備える、認証システム。
  2. 前記リソースサーバは、前記サービスサーバに固有の固有復号鍵を生成して当該サービスサーバに送信し、
    前記復号鍵生成部は、前記固有復号鍵と組み合わせて復号することにより前記暗号化ユーザ情報が復号されるように、前記認証側復号鍵を生成する、
    ことを特徴とする請求項1に記載の認証システム。
  3. 前記リソースサーバにおける前記送信部は、前記ユーザ端末において、前記ユーザ情報として送信する項目を複数の項目から選択させる項目選択画面を表示させる表示情報を、前記ユーザ端末へ送信する、
    ことを特徴とする請求項1又は2に記載の認証システム。
  4. 前記リソースサーバにおける前記暗号化部は、前記ユーザ端末から送信された前記サービスサーバへのアクセス要求に対し、前記ユーザ端末において前記項目選択画面へのアクセスがされている場合に、前記ユーザ情報を暗号化する、
    ことを特徴とする請求項3に記載の認証システム。
  5. 前記第1記憶部、及び、前記第2記憶部に記憶される前記サービス情報には、前記サービスサーバのIPアドレスが含まれ、
    前記認証サーバの前記復号鍵生成部は、前記受信部で受信した前記サービス情報に対応する前記第2記憶部に記憶されている前記サービス情報に含まれるIPアドレスが、前記受信部で受信した前記サービス情報の送信元のIPアドレスと一致する場合、前記サービス情報を送信したサービスサーバを真と判定する、
    ことを特徴とする請求項1〜4のいずれか1項に記載の認証システム。
  6. 前記認証システムにおいて、
    前記ユーザ情報として送信する項目が所定の条件を満たすユーザに対し、所定の報酬を関連付ける、
    ことを特徴とする請求項3に記載の認証システム。
  7. 前記認証システムは、複数のサービスサーバを含み、
    前記リソースサーバの第1記憶部は、前記ユーザ情報として、前記ユーザが利用するサービス毎に異なるユーザIDを関連付ける、
    ことを特徴とする請求項1〜6のいずれか一項に記載の認証システム。
  8. ユーザ端末によるサービスサーバへのアクセスを認証する、認証サーバと、リソースサーバとを備える認証システムの認証方法であって、
    前記リソースサーバが、
    第1記憶部に、前記ユーザ端末のユーザに関するユーザ情報、及び、前記サービスサーバのサービスに関するサービス情報を少なくとも記憶するステップと、
    前記ユーザ端末から送信された前記サービスサーバへのアクセス要求に応じて、前記ユーザ端末のユーザに関するユーザ情報を暗号化するステップと、
    前記暗号化するステップによって暗号化された暗号化ユーザ情報を、前記ユーザ端末へ送信するステップと、
    を実行し、
    前記認証サーバが、
    第2記憶部に、前記サービスサーバの前記サービスに関するサービス情報を記憶するステップと、
    前記暗号化ユーザ情報を前記ユーザ端末から受信した前記サービスサーバから、当該サービスサーバのサービスに関する前記サービス情報を、前記暗号化ユーザ情報とともに受信するステップと、
    前記受信するステップで受信した前記サービス情報に対応する、前記第2記憶部に記憶されている前記サービス情報に基づき、前記サービス情報を送信したサービスサーバが真と判定される場合、前記暗号化ユーザ情報を復号するための認証側復号鍵を生成するステップと、
    前記認証側復号鍵を前記サービスサーバへ送信するステップと、
    を実行する、認証方法。
  9. ユーザ端末によるサービスサーバへのアクセスを認証する、認証サーバと、リソースサーバとを備える認証システムの認証プログラムであって、
    前記リソースサーバに、
    前記ユーザ端末のユーザに関するユーザ情報、及び、前記サービスサーバのサービスに関するサービス情報を少なくとも記憶させる第1記憶機能と、
    前記ユーザ端末から送信された前記サービスサーバへのアクセス要求に応じて、前記ユーザ端末のユーザに関するユーザ情報を暗号化する暗号化機能と、
    前記暗号化機能によって暗号化された暗号化ユーザ情報を、前記ユーザ端末へ送信する送信機能と、
    を実現させ、
    前記認証サーバに、
    前記サービスサーバの前記サービスに関するサービス情報を記憶する第2記憶機能と、
    前記暗号化ユーザ情報を前記ユーザ端末から受信した前記サービスサーバから、当該サービスサーバのサービスに関する前記サービス情報を、前記暗号化ユーザ情報とともに受信する受信機能と、
    前記受信機能で受信した前記サービス情報に対応する、前記第2記憶機能にて記憶された前記サービス情報に基づき、前記サービス情報を送信したサービスサーバが真と判定される場合、前記暗号化ユーザ情報を復号するための認証側復号鍵を生成する復号鍵生成機能と、
    前記認証側復号鍵を前記サービスサーバへ送信する送信機能と、
    を実現させる、認証プログラム。

JP2018238962A 2018-12-21 2018-12-21 認証システム、認証方法、及び、認証プログラム Expired - Fee Related JP6518378B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018238962A JP6518378B1 (ja) 2018-12-21 2018-12-21 認証システム、認証方法、及び、認証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018238962A JP6518378B1 (ja) 2018-12-21 2018-12-21 認証システム、認証方法、及び、認証プログラム

Publications (2)

Publication Number Publication Date
JP6518378B1 true JP6518378B1 (ja) 2019-05-22
JP2020102741A JP2020102741A (ja) 2020-07-02

Family

ID=66625557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018238962A Expired - Fee Related JP6518378B1 (ja) 2018-12-21 2018-12-21 認証システム、認証方法、及び、認証プログラム

Country Status (1)

Country Link
JP (1) JP6518378B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021240234A1 (en) * 2020-05-27 2021-12-02 Coupang Corp. Computerized systems and methods for fraud detection and user account deduplication

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7507186B2 (ja) 2022-02-08 2024-06-27 エイチ・シー・ネットワークス株式会社 ネットワークシステムおよびシングルサインオンの処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100587100B1 (ko) * 2005-11-17 2006-06-08 주식회사 미래로테크놀러지 멀티모달 방식의 보안인증 방법, 보안인증 시스템 그리고암호화/복호화 방법
JP2008152737A (ja) * 2006-12-20 2008-07-03 Nippon Telegr & Teleph Corp <Ntt> サービス提供サーバ、認証サーバ、および認証システム
CN104137508B (zh) * 2012-02-21 2017-07-07 国际商业机器公司 具有网络附接的无状态安全卸载装置的网络节点
US9531714B2 (en) * 2014-06-27 2016-12-27 Citrix Systems, Inc. Enterprise authentication via third party authentication support

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021240234A1 (en) * 2020-05-27 2021-12-02 Coupang Corp. Computerized systems and methods for fraud detection and user account deduplication
US11361395B2 (en) 2020-05-27 2022-06-14 Coupang Corp. Computerized systems and methods for fraud detection and user account deduplication
US12039624B2 (en) 2020-05-27 2024-07-16 Coupang Corp. Computerized systems and methods for fraud detection and user account deduplication

Also Published As

Publication number Publication date
JP2020102741A (ja) 2020-07-02

Similar Documents

Publication Publication Date Title
US11799668B2 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US11658961B2 (en) Method and system for authenticated login using static or dynamic codes
US10594498B2 (en) Method and service-providing server for secure transmission of user-authenticating information
US11818265B2 (en) Methods and systems for creating and recovering accounts using dynamic passwords
EP3721578B1 (en) Methods and systems for recovering data using dynamic passwords
US9730065B1 (en) Credential management
US20230281607A1 (en) Method and system for mobile cryptocurrency wallet connectivity
WO2018145127A1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
RU2610419C2 (ru) Способ, сервер и система для идентификации человека
KR20180017734A (ko) 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버
KR101879758B1 (ko) 사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법
US11711350B2 (en) Systems and processes for vaultless tokenization and encryption
JP6518378B1 (ja) 認証システム、認証方法、及び、認証プログラム
CN117561508A (zh) 可验证凭证的跨会话颁发
US11070534B2 (en) Systems and processes for vaultless tokenization and encryption
JP7375918B2 (ja) 認証サーバ、認証システム、認証サーバの制御方法及びプログラム
US20230164142A1 (en) Authentication server, authentication system, control method of authentication server, and storage medium
JP2002341762A (ja) 電子署名代行方法、その装置、そのプログラム及びその記録媒体
JP2006277471A (ja) 擬似生体認証システム、擬似生体認証方法、及び擬似生体認証プログラム
JP2007065789A (ja) 認証システム及び方法
JP7522391B2 (ja) サーバ、システム、方法及びプログラム
USRE49968E1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
JP7375917B2 (ja) 認証サーバ、認証システム、認証サーバの制御方法及びプログラム
RU2805537C2 (ru) Способы и системы для аутентификации возможного пользователя первого и второго электронных сервисов
JP6906092B1 (ja) 情報処理システム及び個人情報管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181221

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181221

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190419

R150 Certificate of patent or registration of utility model

Ref document number: 6518378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees