(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-25
(45)【発行日】2022-06-02
(54)【発明の名称】サービス提供システム及びサービス提供方法
(51)【国際特許分類】
G06F 21/31 20130101AFI20220526BHJP
【FI】
G06F21/31 330
(21)【出願番号】P 2020523865
(86)(22)【出願日】2018-06-04
(86)【国際出願番号】 JP2018021401
(87)【国際公開番号】W WO2019234801
(87)【国際公開日】2019-12-12
【審査請求日】2020-11-27
(73)【特許権者】
【識別番号】511272093
【氏名又は名称】株式会社あいびし
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100132883
【氏名又は名称】森川 泰司
(72)【発明者】
【氏名】菱沼 昇
【審査官】金木 陽一
(56)【参考文献】
【文献】特開2015-184716(JP,A)
【文献】特開平11-145948(JP,A)
【文献】特開平11-039262(JP,A)
【文献】特開2015-099470(JP,A)
【文献】特開2014-215620(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/31
(57)【特許請求の範囲】
【請求項1】
端末から、ユーザをサービスにログインさせることを要求するログイン要求を取得するログイン要求取得手段と、
前記ログイン要求を取得した際に、自システムに指定の電話番号で電話接続することを要求する電話要求情報を前記端末に送信する電話認証要求手段と、
前記電話要求情報を送信した後に、前記ユーザの携帯端末からの電話着信に基づいた認証を行う電話認証手段と、
ワンタイムパスワードを作成するOTP作成手段と、
前記電話認証手段による認証に成功した場合に、前記ワンタイムパスワードを含んだ自システムにアクセスするためのアドレス情報を、前記ユーザのパスワードを用いて暗号化する暗号化手段と、
前記暗号化手段で暗号化したアドレス情報を前記端末に送信するアドレス送信手段と、
前記アドレス情報を送信した後に端末から受信したワンタイムパスワードと前記OTP作成手段が作成したワンタイムパスワードとに基づいて、前記端末の認証を行うOTP認証手段と、
前記OTP認証手段による認証に成功した場合に、前記端末に対して前記サービスを提供するための処理を実行するサービス実行手段と、
を備えるサービス提供システム。
【請求項2】
前記サービス実行手段は、前記端末において保持される暗号鍵と同一の、前記端末との間で送受信されるデータを暗号化するための暗号鍵を保持する、
請求項
1に記載のサービス提供システム。
【請求項3】
認証情報をキーとしたレコードを記憶する認証情報記憶手段をさらに備え、
前記電話認証手段は、
前記ログイン要求を取得した際に、前記ユーザに関連付けられた電話番号に対して所定の加工を行った認証情報を含むレコードが既に前記認証情報記憶手段に登録されている場合は認証失敗と判断し、
登録されていない場合は、前記認証情報を含んだレコードを前記認証情報記憶手段に登録する、
請求項1
又は2に記載のサービス提供システム。
【請求項4】
前記電話認証手段は、
前記電話着信の着信電話番号に対して前記所定の加工を行った認証情報を含むレコードが前記認証情報記憶手段に登録されている場合に認証成功と判断し、
認証成功と判断した場合は当該レコードを削除又は無効にする、
請求項
3に記載のサービス提供システム。
【請求項5】
前記電話認証手段は、前記認証情報を含むレコードが前記認証情報記憶手段に登録されており、且つ、前記レコードの登録日時から所定の期間が経過していない場合に認証成功と判断する、
請求項
4に記載のサービス提供システム。
【請求項6】
前記OTP認証手段は、前記アドレス送信手段が前記暗号化したアドレス情報を送信した後に、端末から受信した当該暗号化したアドレス情報を復号するために前記端末が受け付けたパスワード入力のエラー回数に基づいた認証を行うパスワード認証手段をさらに備える、
請求項1
から5の何れか1項に記載のサービス提供システム。
【請求項7】
端末から、ユーザをサービスにログインさせることを要求するログイン要求を取得するログイン要求取得ステップと、
前記ログイン要求を取得した際に、自システムに指定の電話番号で電話接続することを要求する電話要求情報を前記端末に送信する電話認証要求ステップと、
前記電話要求情報を送信した後に、前記ユーザの携帯端末からの電話着信に基づいた認証を行う電話認証ステップと、
ワンタイムパスワードを作成するOTP作成ステップと、
前記電話認証ステップでの認証に成功した場合に、
前記ワンタイムパスワードを含んだ自システムにアクセスするためのアドレス情報を、前記ユーザのパスワードを用いて暗号化する暗号化ステップと、
前記暗号化したアドレス情報を前記端末に送信するアドレス送信ステップと、
前記アドレス情報を送信した後に端末から受信したワンタイムパスワードと前記
OTP作成ステップで作成したワンタイムパスワードとに基づいて、前記端末の認証を行うOTP認証ステップと、
前記OTP認証ステップで前記端末の認証に成功した場合に、前記端末に対して前記サービスを提供するための処理を実行す
るサービス実行ステップと、
を有するサービス提供方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービス提供システム及びサービス提供方法に関する。
【背景技術】
【0002】
インターネットを利用したネットバンキング、ネットショッピング、オンライントレード等のサービスが普及している。このようなサービスを利用するために、ユーザは、PC(Personal Computer)やスマートフォン等の端末装置を操作して専用のサイトにアクセスし、ID及びパスワードを入力してログインする必要がある。
【0003】
ID及びパスワードを用いたログインの場合、他人によるなりすましの問題がある。特許文献1には、サーバが、ID及びパスワードを用いてユーザ認証をした後、ユーザの登録通信端末(例えば、携帯電話やスマートフォン)に対して電話発信するよう案内し、登録通信端末からの電話着信があった場合にサービスの処理を開始することで、なりすましの問題に対処した発明について記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の発明の場合、サーバは、クライアント端末からの着信番号を確認することで、当該クライアント端末が正規のクライアント端末であることを認証できる。一方、クライアント端末側では、サーバが正規のサーバであることを認証することは困難である。即ち、特許文献1に記載の発明では、サーバとクライアント端末との間の相互認証については不十分な面がある。なお、サーバが電子証明書を取得してクライアント端末に送信すれば相互認証は可能であるが、電子証明書を取得するのは手間がかかり面倒である。
【0006】
本発明は上記実情に鑑みてなされたものであり、ユーザに負担をかけずにログインの際のセキュリティを向上させることができるサービス提供システム及びサービス提供方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明に係るサービス提供システムは、
端末から、ユーザをサービスにログインさせることを要求するログイン要求を取得するログイン要求取得手段と、
前記ログイン要求を取得した際に、自システムに指定の電話番号で電話接続することを要求する電話要求情報を前記端末に送信する電話認証要求手段と、
前記電話要求情報を送信した後に、前記ユーザの携帯端末からの電話着信に基づいた認証を行う電話認証手段と、
ワンタイムパスワードを作成するOTP作成手段と、
前記電話認証手段による認証に成功した場合に、前記ワンタイムパスワードを含んだ自システムにアクセスするためのアドレス情報を、前記ユーザのパスワードを用いて暗号化する暗号化手段と、
前記暗号化手段で暗号化したアドレス情報を前記端末に送信するアドレス送信手段と、
前記アドレス情報を送信した後に端末から受信したワンタイムパスワードと前記OTP作成手段が作成したワンタイムパスワードとに基づいて、前記端末の認証を行うOTP認証手段と、
前記OTP認証手段による認証に成功した場合に、前記端末に対して前記サービスを提供するための処理を実行するサービス実行手段と、
を備える。
【発明の効果】
【0008】
本発明によれば、ユーザに負担をかけずにログインの際のセキュリティを向上させることが可能となる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態1に係るサービス提供システムの構成例を示す図である。
【
図7】ユーザ端末の構成例を示すブロック図である。
【
図8】本発明の実施形態1に係るサービス提供システムの機能構成図である。
【
図9】実施形態1に係るログイン処理の一例を示すフローチャート(その1)である。
【
図10】実施形態1に係るログイン処理の一例を示すフローチャート(その2)である。
【
図11】実施形態1に係るログイン処理の一例を示すフローチャート(その3)である。
【
図12】実施形態1に係るログイン処理の一例を示すフローチャート(その4)である。
【
図13】パスワード認証処理の一例を示すフローチャートである。
【
図16】本発明の実施形態2に係るサービス提供システムの構成例を示す図である。
【
図17】本発明の実施形態2に係るサービス提供システムの機能構成図である。
【
図18】実施形態2に係るログイン処理の一例を示すフローチャート(その1)である。
【
図19】実施形態2に係るログイン処理の一例を示すフローチャート(その2)である。
【
図20】実施形態2に係るログイン処理の一例を示すフローチャート(その3)である。
【
図21】実施形態2における電話依頼画面の例を示す図である。
【発明を実施するための形態】
【0010】
<実施形態1>
以下、本発明の実施形態1について図面を参照しながら詳細に説明する。なお、図中、同一または同等の部分には同一の符号を付す。
【0011】
図1は、本発明の実施形態1に係るサービス提供システム1の全体構成を示す図である。サービス提供システム1は、サーバ10と認証装置20とを備える。サーバ10は、インターネットN1を介して、ユーザ端末30に接続される。認証装置20は、電話網N2を介して携帯端末40に接続されるとともに、インターネットN1を介してサーバ10に接続される。
【0012】
サーバ10は、インターネットN1を介してユーザ端末30に各種のサービスを提供するWebサーバである。なお、ここでいう「サービス」とは、例えば、インターネットN1を利用したネットバンキング、ネットショッピング、オンライントレード、電子チケットシステム等のサービスであり、利用時に正規のユーザであるかどうかの認証を受ける必要がある。サーバ10は、例えば、提供するサービスを運営する企業によって管理される。サーバ10は、
図2に示すように、通信部11と、記憶部12と、制御部13と、を備える。なお、サーバ10は、1台のコンピュータから構成されていてもよいし、複数台のコンピュータから構成されていてもよい。なお、
図1では1つのサーバ10しか示していないが、異なるサービスを提供する複数のサーバ10がそれぞれ認証装置20に接続されていてもよい。
【0013】
通信部11は、制御部13の制御の下、インターネットN1を介して、ユーザ端末30や認証装置20とデータ通信を行う。通信部11は、例えば、NIC(Network Interface Card)などの通信インタフェースを備える。例えば、通信部11は、インターネットN1を介して、ユーザ端末30からサービスのログイン要求を受信する。
【0014】
記憶部12は、ハードディスクドライブなどであり、サーバ10が動作するために必要な各種のデータを記憶する。例えば、記憶部12は、顧客DB121を記憶している。
【0015】
顧客DB121には、このサーバ10が提供するサービスを利用可能な各ユーザに関する情報が記憶される。具体的には、
図3に示すように、顧客DB121には、ユーザ毎に、ユーザID、パスワード、電話番号、パスワード有効/無効フラグ、当日エラー回数、累積エラー回数、第1暗号鍵、暗号化データ等が記憶される。
【0016】
顧客DB121に記憶されている電話番号は、ユーザの携帯端末40に設定されている電話番号であり、携帯端末40を一意に識別する情報である。顧客DB121に登録されているレコードにより、ユーザ(ユーザID)と該ユーザの携帯端末40(電話番号)とが関連付けられる。
【0017】
また、顧客DB121に記憶されているパスワード有効/無効フラグは、パスワードが現在有効であるか無効であるかを示す。顧客DB121に記憶されている当日エラー回数は、後述するログイン処理で、ユーザが入力したパスワードが一致しないでエラーとなった当日の回数を示す。当日エラー回数は、日付が変わったタイミングでリセットされる。当日エラー回数が、予め定めた当日限度回数を超えた場合、所定の停止期間、パスワード有効/無効フラグが「無効」に設定される。これにより、停止期間の間、そのユーザはサービスにログインできなくなる。
【0018】
また、顧客DB121に記憶されている累積エラー回数は、ユーザが入力したパスワードが一致しないでエラーとなったこれまでの累積の回数を示す。累積エラー回数が予め定めた累積限度回数を超えた場合、パスワード有効/無効フラグが「無効」に設定される。これにより、所定のリセット処理等がなされるまで、このユーザからのログインは停止される。
【0019】
また、顧客DB121に記憶されている第1暗号鍵は、認証装置20から受信したワンタイムパスワード(以下、OTP)とユーザのパスワードとから不可逆に作成され、ログイン後にサーバ10とユーザ端末30との間で送受信するデータを暗号化、復号するために利用される。例えば、第1暗号鍵は、OTPとパスワードとを連結した文字列をMD(Message Digest algorithm)5等のハッシュ関数でハッシュ化することにより作成される。
【0020】
また、顧客DB121に記憶されている暗号化データは、サーバ10がサービスを提供する際に必要なユーザに関するデータのうち秘匿性の高いデータを暗号化したものである。暗号化データは、例えば、ユーザのクレジット情報を暗号化したデータや、ユーザの口座情報を暗号化したデータである。どのようなデータを顧客DB121に暗号化データとして保持するかは、ユーザ毎に設定できるようにしてもよいし、サーバ10側で一律に設定してもよい。
【0021】
例えば、暗号化データは、ユーザ端末30からの初回ログイン後に、サーバ10が、ユーザ端末30から受信した登録用のデータ(クレジット情報等)を認証装置20から取得した暗号鍵を用いて暗号化することで作成され、顧客DB121に記憶される。例えば、認証装置20が着信管理DB222に記憶されているログインユーザの認証情報に所定の加工をしたものを暗号化データの暗号鍵として用いる。なお、他の暗号鍵を用いて暗号化データを暗号化してもよい。暗号化データの暗号化は共通鍵方式で行われており、暗号化に用いた暗号鍵で暗号化データを復号することが可能である。以下の説明では、暗号化データの暗号化に用いた暗号鍵を第2暗号鍵と表記する。
【0022】
図2に戻り、制御部13は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等(何れも図示せず)を備え、CPUが、RAMをワークメモリとして用い、ROMや記憶部12に記憶されている各種プログラムを適宜実行することにより、サーバ10全体を制御する。
【0023】
図1に戻り、続いて、認証装置20について説明する。認証装置20は、ユーザ端末30からサーバ10へのログイン要求があった際に、サーバ10からの依頼に基づいて認証用のOTPの作成を行う処理を行う。また、認証装置20は、ユーザの携帯端末40からの電話着信を受け付け、当該着信元の電話番号等に基づいて携帯端末40を認証(電話認証)する処理を行う。認証装置20は、
図4に示すように、通信部21と、記憶部22と、制御部23と、を備える。なお、認証装置20は、1台のコンピュータから構成されていてもよいし、複数台のコンピュータから構成されていてもよい。
【0024】
通信部21は、制御部23の制御の下、電話網N2を介して、携帯端末40と通信する。また、通信部21は、制御部23の制御の下、インターネットN1を介して、サーバ10と通信する。
【0025】
記憶部22は、例えば、ハードディスクドライブなどであり、認証装置20が動作するために必要な各種のデータを記憶する。また、記憶部22には、電話番号記憶DB221と、着信管理DB222と、が格納されている。
【0026】
電話番号記憶DB221には、認証装置20に設定されている複数の電話番号が記憶されている。携帯端末40は、電話番号記憶DB221に複数記憶されているうちの何れかの電話番号を指定して認証装置20に電話発信することができる。具体的には、
図5に示すように、電話番号記憶DB221には、電話番号と契約年月日とが対応付けられたレコードが複数記憶されている。契約年月日は、この電話番号が電話接続用に契約された日を示す。例えば、管理者は、契約日から一定期間(例えば、1年間)が経過した電話番号を電話番号記憶DB221から削除してもよい。なお、電話番号記憶DB221は、1つの電話番号のみを記憶してもよい。
【0027】
着信管理DB222には、携帯端末40からの電話着信に関する情報等が格納される。具体的には、
図6に示すように、着信管理DB222には、認証情報と、着信先電話番号と、OTPと、登録日時と、が対応付けられて記憶される。着信管理DB222は、本発明の認証情報記憶手段の一例である。
【0028】
着信管理DB222に記憶される認証情報は、携帯端末40からの着信電話番号を所定の手法(例えば、ハッシュ化)を用いて不可逆に変換した情報である。認証情報は、着信管理DB222に記憶されるレコードを識別するためのキーとして設定されている。そのため、同一の認証情報を有するレコードが重複して着信管理DB222に登録されることはない。
【0029】
着信管理DB222に記憶される着信先電話番号は、当該電話着信の宛先を示す電話番号である。着信先電話番号は、電話番号記憶DB221に記憶されている複数の有効な電話番号のうちの何れかである。着信管理DB222に記憶される登録日時は、当該着信のあった日時を示す。
【0030】
図4に戻り、制御部23は、CPU、ROM、RAM等(何れも図示せず)を備え、CPUが、RAMをワークメモリとして用い、ROMや記憶部22に記憶されている各種プログラムを適宜実行することにより、認証装置20の全体を制御する。
【0031】
図1に戻り、続いて、ユーザ端末30について説明する。ユーザ端末30は、例えば、ユーザによって操作されるPC(Personal Computer)であり、インターネットN1を介して、サーバ10に接続される。ユーザ端末30は、
図7に示すように、通信部31と、入力部32と、表示部33と、記憶部34と、制御部35と、を備える。
【0032】
通信部31は、通信インタフェースを備え、制御部35の制御の下、インターネットN1を介して、サーバ10とデータ通信を行う。
【0033】
入力部32は、キーボードやマウス等であり、ユーザ端末30に様々な情報を入力するために使用される。例えば、ユーザは、サービスにログインする際に、入力部32を操作して、自分のユーザIDを入力する。また、ユーザは、入力部32を操作して、サーバ10から受信したURL(Uniform Resource Locator)を復号するために必要なパスワードを入力する。なお、URLは、本発明のアドレス情報に対応する。
【0034】
表示部33は、例えば液晶ディスプレイ等であり、制御部35の制御の下、様々な情報を出力する。例えば、表示部33は、後述する入力画面や電話依頼画面を表示する。
【0035】
記憶部34は、例えば、ハードディスクトライブやフラッシュメモリであり、ユーザ端末30が動作するために必要な各種のデータやプログラムを記憶する。例えば、記憶部34には、ログイン画面の画面データが記憶されている。
【0036】
制御部35は、ユーザ端末30全体を制御する。制御部35は、例えば、CPU、ROM、RAMなどを備える。例えば、制御部35は、入力部32を介してユーザから入力されたパスワードを用いて、サーバから受信した暗号化されたURLを復号する処理等を行う。
【0037】
図1に戻り、携帯端末40は、例えば、スマートフォンや携帯電話であり、図示せぬタッチパネル、CPU、ROM、RAM、フラッシュメモリ等を備える。携帯端末40は、電話機能を有しており、電話網N2を介して、認証装置20と電話接続することが可能である。
【0038】
続いて、本発明の実施形態1に係るサービス提供システム1の機能的な構成について、
図8を参照して説明する。
【0039】
サーバ10は、機能的な構成として、ログイン要求取得部101と、暗号化部102と、URL送信部103と、パスワード認証部104と、電話認証要求部105と、サービス実行部106と、を備える。これらの各部101~106は、通信部11、記憶部12、及び、制御部13により実現される。認証装置20は、機能的な構成として、OTP作成部201と、OTP認証部202と、電話認証部203と、を備える。これらの各部201~203は、通信部21、記憶部22、及び、制御部23により実現される。
【0040】
ログイン要求取得部101は、インターネットN1を介して、ユーザ端末30からユーザをサービスにログインさせることを要求するログイン要求を取得する。なお、ログイン要求にはユーザIDのみが含まれており、パスワードは含まれていない。ログイン要求取得部101は、本発明のログイン要求取得手段の一例である。
【0041】
OTP作成部201は、乱数などのOTPを作成して、認証装置20の電話番号とともにサーバ10に送信する。OTP作成部201は、本発明のOTP作成手段の一例である。
【0042】
電話認証要求部105は、ユーザの携帯端末40から認証装置20に指定の電話番号で電話発信することを依頼するための電話依頼画面の画面データを、ログイン要求の送信元であるユーザ端末30に送信する。電話認証要求部105は、本発明の電話認証要求手段の一例である。
【0043】
電話認証部203は、携帯端末40からの指定の電話番号への電話着信に基づいて、当該携帯端末40が正規な端末であることを認証(端末認証)し、認証に成功した場合、電話認証完了通知を暗号化部102に送信する。電話認証部203は、本発明の電話認証手段の一例である。
【0044】
暗号化部102は、認証装置20から受信したOTPをパラメータに含んだサーバにアクセスするためのURLをログインユーザのパスワードを用いて暗号化する。暗号化部102は、本発明の暗号化手段の一例である。
【0045】
URL送信部103は、暗号化部102が暗号化したURLと、当該URLを復号するための情報を入力するための入力画面の画面データとをログイン要求の送信元であるユーザ端末30に送信する。URL送信部103は、本発明のアドレス送信手段の一例である。
【0046】
パスワード認証部104は、ユーザ端末30からURLによるアクセスがあった際に、このURLとともに受信したパスワード認証のエラー回数に基づいた認証(パスワード認証)を行い、パスワード認証に成功すると、OTP認証部202にOTP認証依頼を送信する。パスワード認証部104は、本発明のパスワード認証手段の一例である。
【0047】
OTP認証部202は、ユーザ端末30から受信したOTPが、OTP作成部201が作成したOTPと一致することを確認した後、認証完了通知をサービス実行部106に送信する。OTP認証部202は、本発明のOTP認証手段の一例である。
【0048】
サービス実行部106は、OTP認証部202から認証完了通知を受信した場合に、ログイン要求の送信元のユーザ端末30に対して所定のサービスを提供するための処理を実行する。また、サービス実行部106は、ログイン後にユーザ端末30との間で送受信されるデータを暗号化するための第2暗号鍵を作成して、顧客DB121内に記憶する。サービス実行部106は、本発明のサービス実行手段の一例である。
【0049】
続いて、上述したサービス提供システム1でユーザを所定のサービスにログインさせるログイン処理について、
図9~
図12のフローチャートを用いて説明する。
【0050】
サーバ10が提供するサービスを利用したいユーザ(以下、「ログインユーザ」ともいう)は、ユーザ端末30の入力部32を操作して、表示部33に表示されているログイン画面に自分のユーザIDを入力し、所定の操作を行う。この操作に応答して、ユーザ端末30の制御部35は、入力されたユーザIDを含んだログイン要求を、インターネットN1を介して、サーバ10に送信する(
図9のステップS101)。なお、以下の説明では、ログイン要求に含まれるユーザIDをログインユーザIDとも表記する。
【0051】
サーバ10のログイン要求取得部101は、ログイン要求を受信すると、ログインユーザIDを含んだレコードが顧客DB121に記憶されていること、及び、当該レコードのパスワードが有効(即ち、パスワード有効/無効フラグが「有効」)であることを確認する(ステップS102)。そのようなレコードが記憶されていない場合、ログイン処理はエラーとして終了する。
【0052】
続いて、ログイン要求取得部101は、ログインユーザの携帯端末40の電話番号を顧客DB121から取得し、当該電話番号から認証用の認証情報を作成する(ステップS103)。
【0053】
具体的には、ログイン要求取得部101は、取得した電話番号に対して、所定の規則(以下、番号加工規則という)に従った加工を行なってから、所定の規則(以下、番号変換規則)に従った不可逆な変換を行うことで認証情報を作成する。なお、番号加工規則は、どのような規則でも良く、例えば、電話番号の下4桁を先頭に移動させる規則や電話番号の各数字の間に特定の文字列や数字を挿入する規則であっても良い。また、番号変換規則は、不可逆であればどのような変換でも良く、例えば、MD5を用いたハッシュ変換を行う規則であっても良い。
【0054】
続いて、ログイン要求取得部101は、作成した認証情報を含んだOTP取得依頼を認証装置20に送信する(ステップS104)。
【0055】
認証装置20の電話認証部203は、受信したOTP取得依頼に含まれる認証情報を有するレコードが着信管理DB222に登録されていないことを確認する(ステップS105)。このようなレコードが登録されている場合は、エラーとして処理は終了する。
【0056】
続いて、OTP作成部201は、OTPを作成する(ステップS106)。そして、OTP作成部201は、電話番号記憶DB221に格納されている複数の有効な電話番号の中から1つを選択する(ステップS107)。
【0057】
続いて、OTP作成部201は、受信したOTP取得依頼に含まれる認証情報と、ステップS107で選択した電話番号(着信先電話番号)と、ステップS106で作成したOTPと、を含んだレコードを着信管理DB222に登録する(ステップS108)。そして、OTP作成部201は、選択した電話番号と作成したOTPとをサーバ10に送信する(ステップS109)。
【0058】
電話番号とOTPとを受信すると、サーバ10の電話認証要求部105は、ログイン後にユーザ端末30との間で送受信するデータを暗号化するための第1暗号鍵を、ログインユーザのパスワードと認証装置20から受信したOTPとから作成して、顧客DB121のログインユーザのレコードに登録する(
図10、ステップS110)。
【0059】
続いて、電話認証要求部105は、ステップS109で認証装置20から受信した電話番号宛に電話発信することを要求する電話依頼画面の画面データを、ログイン要求の送信元のユーザ端末30に送信(返信)する(ステップS111)。電話依頼画面の画面データは、本願発明の電話要求情報に対応する。なお、電話認証要求部105は、電話要求情報として、電話発信先の電話番号のみをユーザ端末30に送信してもよい。
【0060】
続いて、ユーザ端末30の制御部35は、受信した画面データに基づいて、
図14に示すような電話依頼画面を表示部33に表示させる(ステップS112)。なお、
図14に示す電話依頼画面に表示されている電話番号「03-1234-4444」は、ステップS107で選択した電話番号である。
【0061】
図10に戻り、ユーザは、電話認証依頼画面で指示された内容に従って自身の携帯端末40を操作し、当該操作に応答して、携帯端末40は、電話依頼画面で指示された電話番号で、認証装置20に電話発信する(ステップS113)。
【0062】
電話着信があると、認証装置20の電話認証部203は、ステップS103と同じ手法で着信電話番号を認証情報に変換する。そして、電話認証部203は、変換した認証情報と、電話着信の着信元の電話番号と、の組を有するレコードが着信管理DB222に登録されており、且つ、当該レコードの登録日時から所定時間(例えば、10分)が経過していないことを確認する電話認証を行う(ステップS114)。このようなレコードが無い場合は、エラーとして処理を終了する。
【0063】
なお、電話認証部203は、携帯端末40からの電話着信に応答せずに直ちに当該電話着信を切断する。これにより、ログインユーザ側に電話代が請求されることは無い。また、電話認証部203は、ステップS114でエラーとなった場合のみ電話着信に所定の音声で応答してもよい。この場合は不当な第三者からの電話着信である可能性が高いためである。
【0064】
電話認証に成功すると、電話認証部203は、電話認証完了通知をサーバ10に送信する(ステップS115)。
【0065】
電話認証完了通知を受信すると、サーバ10の暗号化部102は、認証装置20から受信したOTPをパラメータに含んだ、サーバ10にアクセスするためのURLを作成する(ステップS116)。このURLは、具体的には、サーバ10のドメイン名等を含んだURLに、クエリパラメータとしてOTPを付加したURLである。
【0066】
続いて、暗号化部102は、作成したURLをログインユーザのパスワードを暗号鍵にして暗号化する(
図11、ステップS117)。なお、この暗号化は、共通鍵暗号方式でなされており、暗号化したURLは、暗号化に用いた暗号鍵(即ち、ログインユーザのパスワード)で復号することができる。なお、ログインユーザのパスワードは、顧客DB121から取得すればよい。
【0067】
続いて、URL送信部103は、暗号化したURLと、ログインユーザにパスワードを入力させるための入力画面の画面データと、をユーザ端末30に送信する(ステップS118)。
【0068】
ユーザ端末30の制御部35は、受信した画面データに基づいて、
図15(A)に示すような入力画面を表示部33に表示させる(ステップS119)。ログインユーザは、ユーザ端末30の入力部32を介して、入力画面上に自分のパスワードを入力し、OKボタンを押下する。この操作に応答して、ユーザ端末30の制御部35は、入力されたパスワードを用いて、受信したURLを復号する(ステップS120)。
【0069】
なお、入力されたパスワードでURLを復号できなかった場合、制御部35は、
図15(B)に示すようなパスワードの再入力を促す入力画面を表示部33に表示させる。また、制御部35は、パスワードが再入力された回数(エラー回数)をカウントする。例えば、制御部35は、入力画面からOKボタンが押下された回数から1を減算した数をエラー回数としてもよい。
【0070】
図11に戻り、URLの復号が完了すると、ユーザ端末30の制御部35は、当該URLに含まれるOTPと入力画面から入力されたパスワードとから第1暗号鍵を作成し、記憶部34に記憶する(ステップS121)。この第1暗号鍵は、ログイン後にサーバ10と送受信するデータの暗号化に利用される。なお、既に第1暗号鍵が記憶されている場合は、今回作成した第1暗号鍵に更新する。ステップS121の処理と前述したステップS110の処理とにより、ユーザ端末30とサーバ10との双方で、同一の第1暗号鍵が保存されることになる。
【0071】
続いて、ユーザ端末30の制御部35は、復号したURLを用いてサーバ10にアクセスするとともに、エラー回数をサーバ10に通知する(ステップS122)。これにより、エラー回数とともに、URL内に含まれるOTPがサーバ10に送信される。
【0072】
サーバ10のパスワード認証部104は、ユーザ端末30からURLによるアクセスがあると、同時に受信したエラー回数に基づいて認証を行うパスワード認証処理を実行する(
図12、ステップS123)。パスワード認証処理の詳細について、
図13のフローチャートを用いて説明する。
【0073】
パスワード認証処理が開始されると、まず、パスワード認証部104は、受信したエラー回数が0であるか否かを判別する(ステップS123A)。エラー回数が0である場合は(ステップS123A;Yes)、ユーザは1回の入力で自分のパスワードを正し入力しているため、パスワード認証部104は認証成功と判断する(ステップS123B)。そして、パスワード認証部104は、顧客DB121に記憶されているログインユーザの累積エラー回数と当日エラー回数を0に更新し(ステップS123C)、パスワード認証処理は終了する。
【0074】
一方、エラー回数が1以上である場合(ステップS123A;No)、パスワード認証部104は、顧客DB121に記憶されているログインユーザの当日エラー回数と累積エラー回数を、受信したエラー回数分だけ加算する(ステップS123D)。
【0075】
続いて、パスワード認証部104は、累積エラー回数が予め定めた累積限度回数を超えているか否かを判別する(ステップS123E)。超えている場合(ステップS123E;Yes)、パスワード認証部104は、ログインユーザのパスワード有効/無効フラグを「無効」に設定し(ステップS123F)、パスワード認証処理およびログイン処理は、エラーとして終了する。
【0076】
一方、累積エラー回数が累積限度回数を超えていないものの(ステップS123E;No)、当日エラー回数が予め定めた当日限度回数を超えている場合は(ステップS123G;Yes)、パスワード認証部104は、予め定めた期間、ログインユーザのパスワード有効/無効フラグを「無効」に設定し(ステップS123H)、パスワード認証処理およびログイン処理は、エラーとして終了する。
【0077】
一方、累積エラー回数が累積限度回数を超えてなく(ステップS123E;No)、当日エラー回数が当日限度回数を超えていない場合は(ステップS123G;No)、パスワード認証部104は、認証成功と判断し(ステップS123B)、累積エラー回数と当日エラー回数を0に更新し(ステップS123C)、パスワード認証処理は終了する。
【0078】
図12に戻り、パスワード認証処理で認証成功と判断された後、サーバ10のパスワード認証部104は、認証装置20にOTP認証依頼を送信する(ステップS124)。このOTP認証依頼には、ユーザ端末30から受信したURLに付されているOTPと、ステップS103で作成したログインユーザの認証情報とを含める。
【0079】
認証装置20のOTP認証部202は、受信したOTP確認依頼に含まれる認証情報とOTPとの組を有するレコードが、着信管理DB222に登録されていることを確認する(ステップS125)。そのようなレコードが登録されていない場合、エラーとして処理は終了する。
【0080】
続いて、OTP認証部202は、ステップS125で確認した着信管理DB222のレコードに含まれる認証情報に所定の加工を行った第2暗号鍵を作成する(ステップS126)。第2暗号鍵は、サーバ10に記憶されているログインユーザの暗号化データを復号するために使用される。第2暗号鍵を作成した後、OTP認証部202は、当該レコードを削除する(ステップS127)。そして、OTP認証部202は、認証完了通知を作成した第2暗号鍵とともにサーバ10に送信する(ステップS128)。
【0081】
認証完了通知を受信すると、サーバ10のサービス実行部106は、同時に受信した第2暗号鍵を用いて、顧客DB121に格納されているログインユーザの暗号化データを復号する(ステップS129)。なお、ステップS129で復号されたデータは、例えば、クレジット情報や口座情報等であり、ログイン後の振り込み処理や支払い処理等で利用され、ログオフ時に消去される。
【0082】
続いて、サービス実行部106は、ログイン要求の送信元のユーザ端末30をサーバ10が提供するサービスにログインさせる(ステップS130)。これにより、ユーザ端末30は、サーバ10の提供するサービスを利用することが可能となる。以上でログイン処理は終了する。
【0083】
このように、本実施形態によれば、ログイン処理でユーザ端末30からサービス提供システムに送信されるログイン要求にはユーザIDのみが含まれ、パスワードは含まれない。そして、携帯端末40からの電話着信に基づいた認証(電話認証)を行った後、ユーザ端末30は、サーバ10から受信した暗号化されたURLをユーザが入力したパスワードで復号し、当該URLによりサーバ10にアクセスする。そして、認証装置20は、ユーザ端末30からサーバ10にアクセスがあった際に、URLに含まれるOTPを確認することで、パスワードが正しいことを確認できる。即ち、本実施形態では、サービス提供システム1は、ログイン処理の際にユーザ端末30からパスワードを取得しないにもかかわらず、パスワードが正しく入力されたことを確認することができる。そのため、本実施形態では、ログインの際に、パスワードが漏洩する虞が極めて低く、不正ログインを確実に防止することが可能となる。
【0084】
また、本実施形態によれば、ユーザ端末30は、サーバ10から受信したURLをパスワードで復号できたことにより、サーバ10にログインユーザのパスワードが正しく記憶されていることがわかる。そのため、ユーザ端末30は、正規のサーバ10であることを認証することができる。一方、サーバ10は、ユーザ端末30から受信したOTPが作成したOTPと一致することを確認することで、当該ユーザ端末30が正規の端末であることを認証することができる。よって、電子証明書等を発行すること無しに、ユーザ端末30とサーバ10との間で相互認証を行うことが可能となる。よって、ユーザに負担をかけずにログイン時のセキュリティを向上させることが可能となる。
【0085】
また、本実施形態によれば、ユーザ端末30から受信したパスワード入力のエラー回数が予め定めた限度回数以上である場合は、エラーと判断されてログインは許可されない。そのため、自動入力ソフト等を用いて、入力画面からのパスワード入力を複数回試行することでURLの復号に成功できたとしても、ログインは許可されないため、不正ログインをより確実に防止することができる。
【0086】
また、本実施形態によれば、電話認証部203による電話認証だけでなく、パスワード認証部104による認証とOTP認証部202とによる認証とに成功しないとユーザはサービスにログインできない。これにより、第三者が正規のユーザに対して携帯端末40から所定の電話番号宛に電話発信することを促し、正規のユーザがこれに応じて電話発信することで第三者が不正にログインできてしまうという、従来の電話認証で発生する可能性がある不正も確実に防止することが可能となる。
【0087】
また、本実施形態によれば、ログイン処理の過程で、サーバ10とユーザ端末30との両方に、同一の第1暗号鍵が保存される。そして、ログイン後は、サーバ10とユーザ端末30との間で送受信されるデータは、この第1暗号鍵を用いて暗号化及び復号される。そのため、ログイン後のセキュリティも向上させることが可能となる。
【0088】
また、本実施形態によれば、認証装置20の着信管理DB222にはユーザの電話番号は記憶されず、電話番号から不可逆に作成された認証情報が代わりに記憶される。そのため、不正アクセスなどによって着信管理DB222に記憶されているデータが万が一漏洩したとしても、認証情報は第三者には全く意味の無い情報であるため、漏洩による被害を最小限に抑えることが可能となる。
【0089】
なお、本実施形態では、パスワード認証部104が、ユーザ端末30から受信したエラー回数に基づいた認証処理(パスワード認証処理)を実行した。しかしながら、パスワード認証処理を必ず実行する必要はなく、実行しない場合はユーザ端末30からエラー回数を受信する必要もない。
【0090】
<実施形態2>
続いて、実施形態2に係るサービス提供システム2について説明する。サービス提供システム2の構成を
図16に示す。本実施形態では、ユーザ端末30は、例えばスマートフォンであり、電話接続機能を有する。実施形態1と異なり、ユーザ端末30は、電話網N2を介して、認証装置20とも接続される。また、顧客DB121に記憶されている電話番号は、ユーザのユーザ端末30に設定されている電話番号である。
【0091】
サービス提供システム2の機能構成図を
図17に示す。サービス提供システム2は、実施形態1に係るサービス提供システム1と比較して、サーバ10は、URL送信部103とパスワード認証部104とを備えない。また、認証装置20は、OTP認証部202を備えない。また、本実施形態の暗号化部102は、ユーザのパスワードを暗号鍵として、OTP及び電話依頼画面の画面データを暗号化する。
【0092】
続いて、サービス提供システム2で実行されるログイン処理いついて、
図18~
図20のフローチャートを用いて説明する。なお、実施形態1のログイン処理と共通する部分については、適宜説明を簡略化する。
【0093】
ユーザからの操作に応答して、ユーザ端末30の制御部35は、インターネットを介して、ログインユーザのユーザIDを含んだログイン要求をサーバ10に送信する(ステップS201)。
【0094】
サーバ10のログイン要求取得部101は、受信したログイン要求に含まれるログインユーザIDを含んだレコードが顧客DB121に記憶されていること、及び、当該レコードのパスワードが有効であることを確認する(ステップS202)。確認後、ログイン要求取得部101は、ログインユーザの電話番号から認証情報を作成し(ステップS203)、作成した認証情報を含んだOTP取得要求を認証装置20に送信する(ステップS204)。
【0095】
認証装置20の電話認証部203は、受信したOTP取得依頼に含まれる認証情報を有するレコードが着信管理DB222に登録されていないことを確認し(ステップS205)、確認後、OTPを作成する(ステップS206)。
【0096】
続いて、OTP作成部201は、電話番号記憶DB221に格納されている複数の有効な電話番号の中から1つを選択する(ステップS207)。そして、OTP作成部201は、OTP取得依頼に含まれる認証情報と、選択した電話番号(着信先電話番号)と、作成したOTPとを含んだレコードを着信管理DB222に登録する(ステップS208)。そして、OTP作成部201は、選択した電話番号とOTPとをサーバ10に送信する(ステップS209)。
【0097】
電話番号とOTPとを受信すると、サーバ10の電話認証要求部105は、ログインユーザのパスワードと認証装置20から受信したOTPとに基づいて第1暗号鍵を、作成して、顧客DB121のログインユーザのレコードに登録する(
図19、ステップS210)。
【0098】
続いて、暗号化部102は、受信したOTP及び受信した電話番号宛に電話発信することを要求する電話依頼画面の画面データをログインユーザのパスワードを暗号鍵にした共通鍵方式で暗号化する(ステップS211)。そして、電話認証要求部105は、ログインユーザにパスワードを入力させるための入力画面の画面データと暗号化したデータとを、ユーザ端末30に送信する(ステップS212)。
【0099】
ユーザ端末30の制御部35は、受信した画面データに基づいて入力画面を表示部33に表示させる(ステップS213)。そして、入力画面から受け付けたユーザからの操作に応答して、ユーザ端末30の制御部35は、入力されたパスワードを用いて、受信したデータを復号する(ステップS214)。この処理により、OTPと電話依頼画面の画面データが復号される。
【0100】
続いて、ユーザ端末30の制御部35は、復号したOTPと入力画面から入力されたパスワードとから第1暗号鍵を作成し、記憶部34に記憶する(ステップS215)。
【0101】
続いて、ユーザ端末30の制御部35は、復号した画面データに基づいて、
図21に示すような電話依頼画面を表示部33に表示させる(ステップS216)。ユーザは、電話依頼画面に表示されている電話番号をクリックする。当該操作に応答して、制御部35は、電話依頼画面で示された電話番号宛に電話発信する(
図20、ステップS217)。
【0102】
電話着信があると、認証装置20の電話認証部203は、着信電話番号を認証情報に変換する。そして、電話認証部203は、変換した認証情報と電話着信先の電話番号との組を有するレコードが着信管理DB222に登録されており、且つ、当該レコードの登録日時から所定時間(例えば、10分)が経過していないことを確認する(ステップS218)。
【0103】
そして、電話認証部203は、ステップS218で確認した着信管理DB222のレコードに含まれる認証情報に所定の加工を行った第2暗号鍵を作成し(ステップS219)、その後、当該レコードを削除する(ステップS220)。そして、電話認証部203は、作成した第2暗号鍵と、削除したレコードに含まれていたログインユーザの認証情報と、認証完了通知と、をサーバ10に送信する(ステップS221)。
【0104】
認証完了通知を受信すると、サーバ10のサービス実行部106は、同時に受信した第2暗号鍵を用いて、顧客DB121に格納されているログインユーザの暗号化データを復号する(ステップS222)。そして、サービス実行部106は、ログイン要求の送信元のユーザ端末30をサーバ10が提供するサービスにログインさせる(ステップS223)。
【0105】
このように、本実施形態に係るサービス提供システム2によれば、ユーザ端末30は、サーバ10から受信したURLをパスワードで復号できたことにより、正規のサーバ10であることを認証することができる。一方、サーバ10は、ユーザ端末30からの電話着信に基づいて、当該ユーザ端末30が正規の端末であることを認証することができる。即ち、ユーザ端末30とサーバ10との間で相互認証を行うことが可能となり、ユーザに負担をかけずにログイン時のセキュリティを向上させることが可能となる。
【0106】
また、本実施形態に係るサービス提供システム2では、実施形態1に係るサービス提供システム1と異なり、サーバ10側でOTPの一致を確認する認証処理(OTP認証)が実行されないため、実施形態1よりも、ログイン時の処理速度を向上させることができる。
【0107】
<変形例>
なお、上述した各実施形態は一例であり、種々の変更及び応用が可能である。例えば、OTPや第1暗号鍵や第2暗号鍵をどのような手法で作成するかは任意である。
【0108】
例えば、上述した各実施形態では、サービス提供システム1、2は、サーバ10と認証装置20との2つの装置から構成されているが、両者の機能を統合した1つの装置によって、サービス提供システム1、2を構成してもよい。
【0109】
各実施形態に係るサーバ10、認証装置20、又は上述したこれらを統合した1つの装置は、専用のシステムにより実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールして、上述の処理を実行することによって、サーバ10、認証装置20、又はこれらを統合した1つの装置を構成してもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ10、認証装置20、又はこれらを統合した1つの装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
【0110】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【0111】
本発明は、サービスを提供するサービス提供システムに適する。
【符号の説明】
【0112】
1,2 サービス提供システム、10 サーバ、11 通信部、12 記憶部、121 顧客DB、13 制御部、20 認証装置、21 通信部、22 記憶部、221 電話番号記憶DB、222 着信管理DB、23 制御部、30 ユーザ端末、31 通信部、32 入力部、33 表示部、34 記憶部、35 制御部、201 OTP作成部、202 OTP認証部、203 電話認証部、101 ログイン要求取得部、102 暗号化部、103 URL送信部、104 パスワード認証部、105 電話認証要求部、106 サービス実行部、40 携帯端末、N1 インターネット、N2 電話網