説明

情報処理システム、認証サーバ、サービス提供サーバ、認証方法、サービス提供方法、及び、プログラム

【課題】行うべき処理群の中に多くの時間を要する処理がある場合にも処理群全体を効率よく実行する。
【解決手段】情報処理システム100において、サービス提供サーバ120は、ユーザ端末110から要求された処理群の中に認証サーバ130による認証が必要な処理がある場合、認証サーバ130にユーザ認証を要求する。認証サーバ130は、要求されたユーザ認証をキューイングし、要求されたユーザ認証処理を完了するまでにかかる推定時間をサービス提供サーバ120に送信する。サービス提供サーバ120とユーザ端末110は、認証結果の受信前では、処理群に含まれる処理のうちユーザ認証処理を完了していなくても実行可能な処理を優先して実行する。サービス提供サーバ120とユーザ端末110は、認証サーバ130から認証結果を受信後、処理群に含まれる処理のうちユーザ認証処理を完了しなければ実行できない処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、行うべき処理群の中に多くの時間を要する処理がある場合にも処理群全体を効率よく実行するために好適な情報処理システム、認証サーバ、サービス提供サーバ、認証方法、サービス提供方法、及び、プログラムに関する。
【背景技術】
【0002】
近年、情報漏洩や不正利用を防止するために、ICチップを搭載したカードが普及している。特許文献1には、例えば銀行のATM(Automated Teller Machine)や窓口等で手続を行う際、ICチップを搭載した運転免許証などの外部の機関が発行する身分証明書を用いて認証者(サーバ)が認証し、本人であるかを確認しつつサービスを提供するシステムが開示されている。
例えば、サービス提供側のシステムは、ICカード等を用いたユーザ認証処理、入出金額の入力を受け付ける処理、振込先や振込元の入力を受け付ける処理、振り込みを実行する処理など、複数の処理のまとまり(以下「処理群」と呼ぶ。)を実行することによって、ユーザにサービスを提供する。
【特許文献1】特開2007−241647号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、ユーザを認証する処理など、サーバへの特定の処理の要求が集中すると、要求された処理の負荷が大きくなり、要求された処理ばかりか、処理群全体が完了するまでに多くの時間を要してしまうことがある。例えば、ユーザ認証処理を含む一連の処理群を実行する場合において、ユーザ認証処理に多くの時間を要すると、認証結果を受け取るまでの間、ユーザ認証処理が終わるまで処理群全体が待ち状態となり、結果的にシステムのレスポンスが悪くなったり、タイムアウトにより認証要求そのものが失敗したりしてしまう可能性がある。このように、行うべき処理群の中に多くの時間を要する処理があると、処理群全体のレスポンスが低下してしまう恐れがあるという問題があった。
【0004】
本発明はこのような課題を解決するものであり、行うべき処理群の中に多くの時間を要する処理がある場合にも処理群全体を効率よく実行するために好適な情報処理システム、認証サーバ、サービス提供サーバ、認証方法、サービス提供方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するため、本発明の第1の観点に係る情報処理システムは、
ユーザ端末と、ユーザにサービスを提供するための複数の処理を実行するサービス提供サーバと、当該ユーザを認証する認証サーバとを有する情報処理システムにおいて、
前記ユーザ端末は、
当該ユーザを認証するための認証用データを取得する取得部と、
当該ユーザからの指示に基づいて、前記サービス提供サーバに当該複数の処理を開始する旨の開始要求と、前記取得された認証用データと、を前記サービス提供サーバに送信する開始要求送信部と、
を備え、
前記サービス提供サーバは、
当該複数の処理のそれぞれについて、前記認証サーバによる当該ユーザの認証が必要か否かを示す情報を記憶する認証要否情報記憶部と、
前記ユーザ端末から当該開始要求と当該認証用データを受信する開始要求受信部と、
前記受信した開始要求が示す当該複数の処理の中に、前記認証サーバによる当該ユーザの認証が必要な処理が含まれている場合、前記認証サーバに当該ユーザの認証を要求する旨の認証要求と、前記受信した認証用データと、を前記認証サーバに送信する認証要求送信部と、
を備え、
前記認証サーバは、
当該ユーザを認証するためのユーザ情報を予め記憶するユーザ情報記憶部と、
前記サービス提供サーバから当該認証要求と当該認証用データとを受信する認証要求受信部と、
前記認証要求受信部が当該認証要求を受信した場合、当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる時間を推定する推定部と、
前記推定された推定時間を前記サービス提供サーバに送信する推定時間送信部と、
前記認証要求受信部が当該認証要求を受信した場合、当該認証用データと前記ユーザ情報記憶部に記憶されたユーザ情報とに基づいて、当該ユーザを認証する認証部と、
前記認証部による認証結果を前記サービス提供サーバに送信する認証結果送信部と、
を備え、
前記サービス提供サーバは、更に、
当該推定時間を前記認証サーバから受信する推定時間受信部と、
当該認証結果を前記認証サーバから受信する認証結果受信部と、
前記推定時間受信部が当該推定時間を受信した場合、
(a)当該開始要求を受信してから、当該認証結果を受信するまで、当該処理群に含まれる処理のうち前記認証サーバによる当該ユーザの認証が必要でない処理を優先して実行し、
(b)当該ユーザの認証に成功した旨の当該認証結果を受信した後、前記認証サーバによる当該ユーザの認証が必要な処理を実行する、
ことによって、当該ユーザに当該サービスを提供するサービス提供部と、
を備えることを特徴とする。
【0006】
前記取得部は、当該認証用データとして、IC(Integrated Circuit)カードに予め記憶された個人情報を取得してもよい。
そして、前記認証部は、前記ユーザ端末から前記サービス提供サーバを介して送信された当該認証用データを用いて認証してもよい。
【0007】
前記認証要求送信部は、前記ICカードの種類を示す情報を含む当該認証要求を前記認証サーバに送信してもよい。
また、前記認証サーバは、前記ICカードの種類に対応付けて、過去に当該認証要求を受信してから当該ユーザの認証を終了するまでにかかった時間を記憶する処理時間記憶部を更に備えることができる。
そして、前記推定部は、前記認証要求受信部が受信した認証要求が示す前記ICカードの種類に対応付けられた時間に基づいて、当該推定時間を推定してもよい。
【0008】
前記認証部は、当該ユーザを認証する処理を開始してから終了するまでにかかった時間を用いて、前記処理時間記憶部に記憶されている時間のうち前記ICカードの種類に対応する時間を更新してもよい。
【0009】
前記認証サーバは、前記認証部による認証結果を記憶する認証結果記憶部を更に備えることができる。
また、前記認証結果受信部は、当該推定時間が所定値以上の場合、前記推定時間受信部が当該推定時間を受信してから当該推定時間が経過した後、当該認証結果を送信するよう前記認証サーバに要求し、当該認証結果を前記認証サーバから受信してもよい。
【0010】
上記目的を達成するため、本発明の第2の観点に係る認証サーバは、
ユーザを認証するためのユーザ情報を予め記憶するユーザ情報記憶部と、
当該ユーザにサービスを提供するサービス提供サーバから、当該ユーザを認証する旨の認証要求と、当該ユーザを認証するための認証用データとを受信する認証要求受信部と、
前記認証要求受信部が当該認証要求を受信した場合、当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる時間を推定する推定部と、
前記推定された推定時間を前記サービス提供サーバに送信する推定時間送信部と、
前記認証要求受信部が当該認証要求を受信した場合、当該認証用データと前記ユーザ情報記憶部に記憶されたユーザ情報とに基づいて、当該ユーザを認証する認証部と、
前記認証部による認証結果を前記サービス提供サーバに送信する認証結果送信部と、
を備えることを特徴とする。
【0011】
上記目的を達成するため、本発明の第3の観点に係るサービス提供サーバは、
ユーザにサービスを提供するための複数の処理のそれぞれについて、当該ユーザを認証する認証サーバによる当該ユーザの認証が必要か否かを示す情報を記憶する認証要否情報記憶部と、
当該複数の処理を開始する旨の開始要求と、当該ユーザを認証するための認証用データとを、当該ユーザが使用するユーザ端末から受信する開始要求受信部と、
前記受信した開始要求が示す複数の処理の中に、前記認証サーバによる当該ユーザの認証が必要な処理が含まれている場合、前記認証サーバに当該ユーザの認証を要求する旨の認証要求と、前記受信した認証用データと、を前記認証サーバに送信する認証要求送信部と、
前記認証サーバが当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる推定時間を、前記認証サーバから受信する推定時間受信部と、
当該ユーザの認証結果を前記認証サーバから受信する認証結果受信部と、
前記推定時間受信部が当該推定時間を受信した場合、
(a)当該開始要求を受信してから当該認証結果を受信するまで、当該複数の処理のうち前記認証サーバによる当該ユーザの認証が必要でない処理を優先して実行し、
(b)当該ユーザの認証に成功した旨の当該認証結果を受信した後、前記認証サーバによる当該ユーザの認証が必要な処理を実行する、
ことによって、当該ユーザに当該サービスを提供するサービス提供部と、
を備えることを特徴とする。
【0012】
上記目的を達成するため、本発明の第4の観点に係る認証方法は、
ユーザにサービスを提供するサービス提供サーバから、当該ユーザを認証する旨の認証要求と、当該ユーザを認証するための認証用データとを受信する認証要求受信ステップと、
前記認証要求受信ステップが当該認証要求を受信した場合、当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる時間を推定する推定ステップと、
前記推定された推定時間を前記サービス提供サーバに送信する推定時間送信ステップと、
前記認証要求受信ステップが当該認証要求を受信した場合、当該認証用データと当該ユーザを認証するための予めメモリに記憶されたユーザ情報とに基づいて、当該ユーザを認証する認証ステップと、
前記認証ステップによる認証結果を前記サービス提供サーバに送信する認証結果送信ステップと、
を備えることを特徴とする。
【0013】
上記目的を達成するため、本発明の第5の観点に係るサービス提供方法は、
複数の処理を開始する旨の開始要求と、ユーザを認証するための認証用データとを、当該ユーザが使用するユーザ端末から受信する開始要求受信ステップと、
前記受信した開始要求が示す複数の処理の中に、認証サーバによる当該ユーザの認証が必要な処理が含まれている場合、前記認証サーバに当該ユーザの認証を要求する旨の認証要求と、前記受信した認証用データと、を前記認証サーバに送信する認証要求送信ステップと、
前記認証サーバが当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる推定時間を、前記認証サーバから受信する推定時間受信ステップと、
当該ユーザの認証結果を前記認証サーバから受信する認証結果受信ステップと、
前記推定時間受信部が当該推定時間を受信した場合、
(a)当該開始要求を受信してから当該認証結果を受信するまで、当該複数の処理のうち前記認証サーバによる当該ユーザの認証が必要でない処理を優先して実行し、
(b)当該ユーザの認証に成功した旨の当該認証結果を受信した後、前記認証サーバによる当該ユーザの認証が必要な処理を実行する、
ことによって、当該ユーザに当該サービスを提供するサービス提供ステップと、
を備えることを特徴とする。
【0014】
上記目的を達成するため、本発明の第6の観点に係るプログラムは、コンピュータを、
ユーザを認証するためのユーザ情報を予め記憶するユーザ情報記憶部、
当該ユーザにサービスを提供するサービス提供サーバから、当該ユーザを認証する旨の認証要求と、当該ユーザを認証するための認証用データとを受信する認証要求受信部、
前記認証要求受信部が当該認証要求を受信した場合、当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる時間を推定する推定部、
前記推定された推定時間を前記サービス提供サーバに送信する推定時間送信部、
前記認証要求受信部が当該認証要求を受信した場合、当該認証用データと前記ユーザ情報記憶部に記憶されたユーザ情報とに基づいて、当該ユーザを認証する認証部、
前記認証部による認証結果を前記サービス提供サーバに送信する認証結果送信部、
として機能させることを特徴とする。
【0015】
上記目的を達成するため、本発明の第7の観点に係るプログラムは、コンピュータを、
ユーザにサービスを提供するための複数の処理のそれぞれについて、当該ユーザを認証する認証サーバによる当該ユーザの認証が必要か否かを示す情報を記憶する認証要否情報記憶部、
当該複数の処理を開始する旨の開始要求と、当該ユーザを認証するための認証用データとを、当該ユーザが使用するユーザ端末から受信する開始要求受信部、
前記受信した開始要求が示す複数の処理の中に、前記認証サーバによる当該ユーザの認証が必要な処理が含まれている場合、前記認証サーバに当該ユーザの認証を要求する旨の認証要求と、前記受信した認証用データと、を前記認証サーバに送信する認証要求送信部、
前記認証サーバが当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる推定時間を、前記認証サーバから受信する推定時間受信部、
当該ユーザの認証結果を前記認証サーバから受信する認証結果受信部、
前記推定時間受信部が当該推定時間を受信した場合、
(a)当該開始要求を受信してから当該認証結果を受信するまで、当該複数の処理のうち前記認証サーバによる当該ユーザの認証が必要でない処理を優先して実行し、
(b)当該認証結果を受信した後、前記認証サーバによる当該ユーザの認証が必要な処理を実行する、
ことによって、当該ユーザに当該サービスを提供するサービス提供部、
として機能させることを特徴とする。
【発明の効果】
【0016】
本発明によれば、行うべき処理群の中に多くの時間を要する処理がある場合にも処理群全体を効率よく実行することができる。
【発明を実施するための最良の形態】
【0017】
(実施形態)
本発明の実施形態を説明する。本実施形態では、情報処理システム100として、インターネットを介した銀行のオンラインシステム(いわゆるインターネットバンキングシステム)を例にとって本発明を説明する。すなわち、サービス提供サーバ120は、インターネットバンキングサービスをユーザに提供する処理を実行するサーバである。ただし、本発明はインターネットバンキングサービスに限られず任意のサービスを提供するシステムに適用可能である。
【0018】
図1は、本実施形態に係る情報処理システム100の構成を示す図である。情報処理システム100は、ユーザが操作する1つ以上のユーザ端末110(本図では110−1、110−2、110−i等と記載)と、ユーザにサービスを提供する1つ以上のサービス提供サーバ120(本図では120−1、120−2、120−j等と記載)と、ユーザを認証する認証サーバ130と、を備える。
【0019】
サービス提供サーバ120は、ユーザに所定のサービスを提供する機関が設置したサーバである。例えばサービス提供サーバ120には、銀行が設置するインターネットバンキングサービス用のサーバ、行政機関が設置する行政サービス用のサーバ、病院など医療機関が設置する医療サービス用のサーバなど、様々なサーバがある。
【0020】
認証サーバ130は、各サービス提供サーバ120が提供するサービスにおいて、ユーザが確かに本人であることを確認する処理(以下「ユーザ認証処理」という。)が必要な処理がある場合に、ユーザ認証処理を各サービス提供サーバ120に代わって実行することが可能である。そのため、認証サーバ130は、本人確認代行サーバと呼ばれることもある。認証サーバ130は、サービス提供サーバ120から認証要求を受信し、ユーザ認証処理を行い、認証要求があったサービス提供サーバ120に認証結果を送信する。
【0021】
ユーザ端末110とサービス提供サーバ120は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等の通信ネットワーク140で接続される。サービス提供サーバ120と認証サーバ130は、専用回線等の通信ネットワーク150で接続される。通信ネットワーク150として通信ネットワーク140と同様にインターネット、LAN、WAN等を用いることも可能である。
【0022】
次に、ユーザ端末110、サービス提供サーバ120、認証サーバ130の各構成の詳細について、図2等を用いて説明する。
【0023】
まず、ユーザ端末110の構成について説明する。ユーザ端末110は、記憶部111、入力受付部112、通信部113、出力部114、インタフェイス115、制御部116を備える。
【0024】
記憶部111は、ROM(Read Only Memory)、RAM(Random Accsess Memory)、ハードディスク装置などから構成される。記憶部111には、インターネットバンキングシステムのユーザ端末110側の処理を実行するためのプログラムやオペレーティングシステム(OS)等が予め記憶される。また、各処理を実行する際の中間データや結果データ等も記憶する。
【0025】
入力受付部112は、キーボードやマウス等の入力装置から構成され、ユーザからの様々な指示入力を受け付ける。指示入力には、例えば、新規口座の開設を依頼する指示入力、振り込みを依頼する指示入力などがある。
【0026】
通信部113は、インターネットやLAN等の通信ネットワーク140に接続するためのNIC(Network Interface Card)やモデム等を備える。
【0027】
出力部114は、ディスプレイ等の表示装置や、スピーカ等の出力装置から構成される。ユーザは、表示装置に表示される画面を見ながらユーザ端末110を操作できる。
【0028】
インタフェイス115は、ICカードリーダー・ライター(以下「ICカードR/W」と呼ぶ)を備える。本実施形態では、ユーザ端末110は、ICチップを搭載した運転免許証、健康保険証、社会保障カード、住民基本台帳カード、キャッシュカード、クレジットカード等の各種ICカードに格納された情報を、ICカードR/Wで読み取ることが可能である。ユーザは、情報処理システム100のサービスを利用するために、ユーザとパスワードのチェックのほかに、ICカードを用いて本人確認を行なわなければならない場合がある。
【0029】
制御部116は、CPU(Central Processing Unit)等から構成される。制御部116は、ユーザ端末110全体を制御し、各構成要素と接続され、制御信号やデータをやりとりする。例えば制御部116は、インターネットバンキングシステムのユーザ端末110側の処理を実行するためのプログラムを実行する。
【0030】
ユーザ端末110として、公知のパーソナルコンピュータを用いることができる。
【0031】
ICカードには、CPUと、EEPROM(Electrically Erasable and Programmable ROM)あるいはフラッシュメモリ等の不揮発性メモリと、が内蔵されている。ICカードの不揮発性メモリには、例えば口座番号や秘密鍵などの個人情報が格納されている。ICカードのCPUは、不揮発性メモリに格納された口座番号等の情報からハッシュ値を計算し、この計算されたハッシュ値を秘密鍵で暗号化して得られた暗号文を外部に出力することができる。ICカードのCPUは、任意のハッシュ関数を用いることができる。
【0032】
次に、サービス提供サーバ120の構成について説明する。サービス提供サーバ120は、記憶部121、制御部122、通信部123を備える。
【0033】
記憶部121は、ROM、RAM、ハードディスク装置などから構成される。記憶部121には、インターネットバンキングシステムのサービス提供サーバ120側の処理を実行するためのプログラムやOS等が予め記憶される。
【0034】
記憶部121は、図3に示すサービス一覧情報125を格納する。サービス一覧情報125は、処理群ごとに、サービスコードと処理の内容と本人確認の要否とを対応付けた情報である。
【0035】
ここで、処理群とは、複数の異なる処理をグルーピングした、処理のまとまりのことである。例えば、あるユーザの銀行口座を新規に開設する場合、
・(処理1)ユーザの氏名、住所など、必要情報を記入する処理
・(処理2)口座番号を採番する処理
・(処理3)ユーザに許諾・契約内容を説明する処理
・(処理4)ユーザがカードデザインを選択する処理
・(処理5)申し込みを確定する処理
などといった複数の処理を実行する必要がある。つまり、処理1〜5をすべて実行することにより、「新規口座開設」というサービスが完了する。処理1〜5をまとめて処理群と呼ぶ。
【0036】
1つの処理群には少なくとも1つ以上の処理が含まれる。処理群の数、及び、各処理群に含まれる処理の数は任意である。
【0037】
サービスコードは、各処理に固有のコードであり、典型的には、文字、数字、記号等を用いて表現される。
【0038】
また、サービスコードは、処理群に含まれる各処理を実行するときの望ましい実行順を示す。例えばサービスコードの特定の桁に数字を用い、数字の小さい順に処理を実行することが望ましい旨の情報を格納することができる。
【0039】
望ましい実行順とは、処理群に含まれる各処理を実行する際の典型的な順番のことであり、必ずしもこの順に各処理を実行しなければならないというわけではない。
【0040】
例えば図3において、「新規口座開設」というサービスを提供するには、制御部122は、既定の順として、サービスコードA1,A2,A3,A4,A5の順に、処理を実行する。しかし、「口座番号の採番(サービスコードA2)」の処理に時間が長くかかってしまう場合、あるいは、時間が長くかかってしまうことが推測される場合、制御部122は、サービスコードA1の処理の終了後、サービスコードA2の処理をスキップしてサービスコードA3の処理を開始し、サービスコードA3の処理が完了した後にサービスコードA2の処理を開始してもよい。
【0041】
あるいは、制御部122は、サービスコードA1の処理の後、サービスコードA2の処理を開始し、サービスコードA2の処理が完了する前にサービスコードA3の処理を(例えばマルチタスクで)開始してもよい。
【0042】
本人確認の要否は、各々の処理が、ICカードを用いて本人であることを認証サーバ130によって認証する必要がある処理であるか否かを示す情報である。例えば図3の「口座番号の採番(サービスコードA2)」の処理を実行するためには、ICカードを用いて認証する必要がある。一方、「必要情報の記入(サービスコードA1)」の処理を実行するためには、ICカードを用いて認証していなくてもよい。
【0043】
つまり、本人確認が必要な処理を制御部122が実行する場合には、処理を開始する前、あるいは、処理の開始後であって完了する前に、認証サーバ130による認証を行い、正常に本人確認を完了する(ユーザが本人であると認証される)必要がある。
【0044】
本実施形態では、ユーザから要求されたサービスを提供する際、まず制御部122は、要求されたサービスを提供するための処理群の中に、認証サーバ130による認証が必要な処理が含まれているか否かを判別する。そして、認証サーバ130による認証が必要な処理が含まれている場合、制御部122は、ユーザにICカードの提示を要求し、ICカードから認証に必要な情報を読み出し、認証サーバ130に認証を要求する。図3のサービスコードA2,A5の2つの処理のように、1つの処理群の中に本人確認が必要な処理が複数存在する場合、ユーザが本人であると一度正常に認証されたセッション又はトランザクションにおいては、再び認証サーバ130に認証処理を要求しないようにしてもよい。
【0045】
また、記憶部121は、それぞれのユーザについて、ユーザ名とパスワードを対応付けて格納する、簡易認証データベース126を記憶する。制御部122は、例えば、ユーザによって入力されたパスワードと、予め登録されたパスワードとが一致するか否かを判断することによって、ICカードを用いない簡易的なユーザ認証処理を実行することができる。
【0046】
制御部122は、CPU等から構成される。制御部122は、サービス提供サーバ120全体を制御し、各構成要素と接続され、制御信号やデータをやりとりする。例えば、制御部122は、ユーザによって提示されたICカードから読み出した情報をユーザ端末110から受け取り、受け取った情報を認証サーバ130に送信して、ICカードを用いたより詳細なユーザ認証を要求する。また例えば、制御部122は、認証サーバ130から認証結果を受信し、ユーザ端末110に通知する。
【0047】
通信部123は、インターネット等の通信ネットワーク140に接続するためのNICと、専用回線等の通信ネットワーク150に接続するためのNICとを備える。制御部122は、通信部123により通信ネットワーク140を介してユーザ端末110とデータを送受信することができる。また、制御部122は、通信部123により通信ネットワーク150を介して認証サーバ130とデータを送受信することもできる。
【0048】
次に、認証サーバ130の構成について説明する。認証サーバ130は、記憶部131、制御部132、通信部133を備える。
【0049】
記憶部131は、ROM、RAM、ハードディスク装置などから構成される。記憶部131には、ユーザ認証処理を実行するためのプログラムやOS等が予め記憶される。
【0050】
記憶部131は、認証データベース135を予め格納する。図4に示すように、認証データベース135には、カード種別と認証強度とを対応付けた情報が格納される。
【0051】
カード種別とは、例えば、運転免許証、健康保険証、社会保障カード、住民基本台帳カード、キャッシュカードなどの種別のことである。
【0052】
認証強度は、いわゆるセキュリティレベルであり、ユーザ認証にあたり、具体的にどのような認証方式により認証するのかを規定する。
【0053】
本実施形態では、ユーザ認証方式として、「内部」と「外部」を採用している。制御部132は、ユーザによって提示されたICカードのカード種別と、要求されたサービス(又は処理群又は処理)に応じて予め決められた認証強度とに基づいて、ユーザ認証方式を選択する。
【0054】
ここで、「内部」とは、次に述べるステップA1〜A3の一連の処理によって認証する方式である。
(A1)認証サーバ130の制御部132は、乱数を生成し、サービス提供サーバ120を経由して、生成した乱数をICカードに送信する。ICカードのCPUは、サービス提供サーバ120を経由して、乱数を受信する。
(A2)ICカードのCPUは、受信した乱数を秘密鍵で暗号化し、サービス提供サーバ120を経由して、得られた暗号文を認証サーバ130に送信する。認証サーバ130の制御部132は、サービス提供サーバ120を経由して、暗号文を受信する。
(A3)認証サーバ130の制御部132は、受信した暗号文を公開鍵を用いて復号し、復号して得られたデータと、上記ステップA1で送信した乱数と、を照合する。制御部132は、照合の結果、一致すれば認証成功と判断し、一致しなければ認証失敗と判断する。
【0055】
あるいは、上記の「内部」の認証方式の変形例として、次のステップB1〜B4のように認証してもよい。
(B1)ICカードのCPUは、ICカード内の不揮発性メモリに格納された情報をハッシュ化し、得られたハッシュ値を、秘密鍵を用いて暗号化し、得られた暗号文を出力する。
(B2)ユーザ端末110の制御部116は、暗号文をICカードR/Wで読み取ってサービス提供サーバ120に送信する。
(B3)サービス提供サーバ120の制御部122は、暗号文を受信して認証サーバ130に送信する。認証サーバ130の制御部132は、暗号文を受信する。
(B4)認証サーバ130の制御部132は、予め記憶部131に記憶した公開鍵で、受信した暗号文を復号し、復号して得られるデータと、後述するユーザ情報データベース136に格納された情報をハッシュ化して得られたハッシュ値と、を照合する。制御部132は、照合の結果、一致すれば認証成功と判断し、一致しなければ認証失敗と判断する。
【0056】
また、「外部」とは、次に述べるステップX1〜X4の一連の処理によって認証する方式である。
(X1)認証サーバ130の制御部132は、サービス提供サーバ120を経由して、外部認証用の公開鍵をICカードに送信する。ICカードのCPUは、サービス提供サーバ120を経由して、公開鍵を受信する。
(X2)ICカードのCPUは、乱数を生成し、サービス提供サーバ120を経由して、生成した乱数を認証サーバ130に送信する。認証サーバ130の制御部132は、サービス提供サーバ120を経由して、乱数を受信する。
(X3)認証サーバ130の制御部132は、受信した乱数を、予め記憶部132に記憶した外部認証用の秘密鍵で暗号化し、サービス提供サーバ120を経由して、得られた暗号文をICカードに送信する。ICカードのCPUは、サービス提供サーバ120を経由して、暗号文を受信する。
(X4)ICカードのCPUは、ステップX3で受信した暗号文を、ステップX1で受信した公開鍵を用いて復号し、復号して得られたデータと、ステップX2で送信した乱数と、を照合する。ICカードのCPUは、照合の結果、一致すれば認証成功と判断し、一致しなければ認証失敗と判断する。
【0057】
あるいは、上記の「外部」の認証方式を応用して、次のステップY1〜Y4のように認証してもよい。
(Y1)認証サーバ130の制御部132は、ユーザ情報データベース136に格納された情報をハッシュ化し、得られたハッシュ値を記憶部131に予め記憶した公開鍵で暗号化し、暗号文をサービス提供サーバ120に送信する。
(Y2)サービス提供サーバ120の制御部122は、暗号文を受信してユーザ端末110に送信する。ユーザ端末110の制御部116は、暗号文を受信する。
(Y3)ユーザ端末110の制御部116は、暗号文をICカードに送信する。ICカードのCPUは、暗号文を受信する。
(Y4)ICカードのCPUは、予め不揮発性メモリに格納した秘密鍵で、受信した暗号文を復号し、復号して得られるデータと、不揮発性メモリに予め格納された情報をハッシュ化して得られたハッシュ値と、を照合する。照合の結果、一致すればICカードのCPUは認証成功と判断し、一致しなければ認証失敗と判断する。
【0058】
なお、上記以外の認証方式を採用することも可能である。また、カード種別と認証強度との対応付けを自由に変更することも可能である。
【0059】
記憶部131は、ユーザ情報データベース136を更に格納する。ユーザ情報データベース136は、図5に示すように、各ユーザについて、ユーザごとに固有のユーザID、登録済カードID、氏名、住所等の各項目の情報を対応付けて格納する。
【0060】
記憶部131は、処理時間テーブル137を格納する。処理時間テーブル137は、カード種別ごとに、1回のユーザ認証処理を開始してから終了するまでにかかる時間(実際にかかった時間)を示す情報である。例えば、制御部132は、1回のユーザ認証処理を開始してから終了するまでの経過時間の、所定時間内における平均時間あるいは所定回数分の平均時間を計算して、処理時間テーブル137に格納する。処理時間テーブル137に格納された時間は、新たにユーザ認証処理を開始する際に、ユーザ認証処理を完了するまでにかかる時間を推定するために用いられる。詳細は後述する。
【0061】
制御部132は、あるユーザUSR1の認証を要求され、認証方式として「内部」が指定されている場合、ICカードから送信された暗号文をユーザUSR1の公開鍵で復号して得られたデータと、ユーザ情報データベース136に格納された情報のうちICカードがハッシュ値を計算するために用いた項目のデータ(又はICカードに送信した乱数)をハッシュ化して得られたハッシュ値と、を照合して、認証結果をサービス提供サーバ120に送信する。なお、制御部132は、照合結果をユーザ情報データベース136にログとして格納するようにしてもよい。
【0062】
また、制御部132は、あるユーザUSR1の認証を要求され、認証方式として「外部」が指定されている場合、ユーザ情報データベース136に格納された情報のうち所定の項目の情報を公開鍵を用いて暗号文を生成して、サービス提供サーバ120に送信する。なお、ICカード側による認証結果をサービス提供サーバ120から受信し、照合結果をユーザ情報データベース136にログとして格納するようにしてもよい。
【0063】
制御部132は、CPU等から構成される。制御部132は、認証サーバ130全体を制御し、各構成要素と接続され、制御信号やデータをやりとりする。例えば、制御部132は、サービス提供サーバ120からユーザを認証する旨の要求を受信すると、認証データベース135を参照して認証方式を決定し、決定した認証方式でユーザを認証する。
【0064】
サービス提供サーバ120から送信される情報の内容は、例えば、ユーザ端末110のICカードR/Wにより読み取られたカード識別情報などのICカードの情報や、ユーザによりユーザ端末110に入力されたユーザ名、パスワード、暗証番号、等である。
【0065】
通信部133は、通信ネットワーク150に接続するためのNICを備える。制御部132は、通信部133により通信ネットワーク150を介してサービス提供サーバ120とデータを送受信することができる。
【0066】
次に、情報処理システム100にて実行されるサービス提供処理の流れについて、図6乃至図8を用いて説明する。以下の説明では、インターネットバンキングサービスにおいて、情報処理システム100が「口座新規開設」のサービスを実行する場合を例にとって説明する。サービス提供サーバ120はユーザにインターネットバンキングサービスを提供し、認証サーバ130はユーザの本人確認を行う処理(ユーザ認証処理)を代行する。
【0067】
まず、ユーザ端末110の制御部116は、サービスの提供を開始する指示入力が入力受付部112により受け付けられたか否かを判別する。サービスの提供を開始する指示入力を受け付けた場合、制御部116は、サービスを開始するようサービス提供サーバ120に要求する(ステップS601)。サービスの提供を開始する指示入力を受け付けていない場合、指示入力があるまで待機する。
【0068】
サービス提供サーバ120の制御部122は、要求されたサービスのための処理群に、ユーザ認証処理が必要な処理が含まれているか否か、すなわち要求されたサービスを提供するためにユーザ認証(本人確認)が必要か否かを判別する(ステップS602)。
【0069】
例えば、処理群と処理が図3に示す内容であり、「口座新規開設」のサービスが要求された場合、制御部122は、サービスコードA1乃至A6の処理に対応する本人確認要否を参照する。その結果、処理群にユーザ認証が必要とされている処理(サービスコードA2とA5の2つ)が含まれているため、ユーザ認証が必要であると判別する。
【0070】
ユーザ認証が必要でない場合(ステップS602;NO)、後述のステップS801に進む。一方、ユーザ認証が必要である場合(ステップS602;YES)、制御部122は、サービスの提供にあたりユーザ認証が必要である旨をユーザ端末110に通知する(ステップS603)。
【0071】
ユーザ端末110の制御部116は、ユーザ認証が必要である旨の通知を受け取ると、ユーザにICカードの提示と、PIN(Personal Identification Number)、ユーザ名、パスワード等の入力とを求める(ステップS604)。例えば、制御部116は、ユーザにICカードの提示とPIN等の入力とを求める画面を表示する。制御部116は、ICカードR/Wを読み取り可能状態に設定する。また、制御部116は、PIN等の入力を受け付けるユーザインタフェイスを備えた画面を出力部114に表示させ、PIN等の入力を受け付ける。
【0072】
制御部116は、ICカードR/WによりICカードからカード識別情報を読み取る。また、制御部116は、PIN等を取得する(ステップS605)。制御部116は、ユーザがICカードの所有者であるか否かをPINを用いて認証(PIN認証)する。
【0073】
ここで、カード識別情報とは、カードを一意に識別できる情報(例えば運転免許登録番号やクレジットカード番号など)である。ICカードは、サービス(処理群)が終了するまで、ICカードR/Wがデータを読み取れるように固定されたままであることが望ましい。
【0074】
制御部116は、取得したカード識別情報、ユーザ名、パスワード等をサービス提供サーバ120に送信する(ステップS606)。制御部116は、所定の暗号化アルゴリズムによって暗号化した上で送信することが望ましい。
【0075】
サービス提供サーバ120の制御部122は、カード識別情報とPIN等を受信する(ステップS607)。制御部122は、ステップS606で用いられた暗号化アルゴリズムに対応する復号アルゴリズムによって復号することができる。
【0076】
制御部122は、受信したユーザ名、パスワード等を用いて、簡易的なユーザ認証を実行する(ステップS608)。例えば、制御部122は、受信したPIN、ユーザ名、パスワードと、簡易認証データベース126に予め格納されているPIN、ユーザ名、パスワードと、を照合することにより、簡易的なユーザ認証を実行する。照合の結果、一致した場合、簡易認証成功と判断してサービス提供処理を続行する。一致しない場合、簡易認証失敗と判断してサービス提供処理を終了する。
【0077】
更に、制御部122は、ICカードを用いたユーザ認証を実行するよう認証サーバ130に要求する(ステップS609)。制御部122は、受信したカード識別情報を認証サーバ130に送信する。
【0078】
認証サーバ130の制御部132は、受信したカード識別情報が、ユーザ情報データベース136の登録済みカードIDに、登録済みとして記録されているか否かを確認する。登録済みでない場合、制御部132は、受信したカード識別情報を登録済みとしてユーザ情報データベース136に格納する。
【0079】
制御部132は、ユーザ認証にかかる時間を推定する(ステップS610)。
【0080】
具体的には、制御部133は、図9に示すような処理時間テーブル137を参照し、受信したカード識別情報に対応するカード種別の平均処理時間を取得する。制御部132は、取得した平均処理時間と、ユーザ認証処理を実行するための待ち行列(キュー)に現在登録されているジョブ数との積を、要求されたユーザ認証にかかる時間として推定する。つまり、計算される推定時間は、待ち行列に登録してから、要求されたユーザ認証処理の順番が回ってきてそのユーザ認証処理を終了するまで、にかかると推定される時間である。
【0081】
待ち行列には、例えば図10に示すようなデータが格納される。番号は、待ち行列に登録された順を表す。受付時刻は、待ち行列に登録された時刻である。
【0082】
図10では、待ち行列を1つだけにしているが、カード種別ごとに待ち行列を定義してもよい。例えば、運転免許証を用いたユーザ認証処理用の待ち行列と、住民基本台帳カードを用いたユーザ認証処理用の待ち行列と、を別々に用意し、運転免許証を用いたユーザ認証処理と、住民基本台帳カードを用いたユーザ認証処理とを平行して実行できるようにしてもよい。
【0083】
制御部132は、ユーザ認証処理にかかる推定時間をサービス提供サーバ120に送信する。また、制御部132は、要求されたユーザ認証を、ユーザ認証処理を実行するための待ち行列に登録する(ステップS611)。待ち行列は、FIFO( First In First Out)のリスト構造で保持される。
【0084】
待ち行列に登録された(キューイングされた)ユーザ認証要求は、処理順が回ってくると直ちに実行される。完了したユーザ認証に対応するジョブは待ち行列から削除される。したがって、待ち行列に登録されているデータ数が少なければ、要求されたユーザのユーザ認証処理はすぐに開始されるし、待ち行列に登録されているデータ数が多ければ、要求を受け取ってから実際に開始するまでに比較的長いタイムラグが発生することもある。
【0085】
サービス提供サーバ120の制御部122は、ユーザ認証処理にかかる推定時間を受信する。制御部122は、要求されたサービスに対応する処理群の中から、ユーザ認証処理を終了していなくても実行可能な処理を選択して優先的に実行する(ステップS612)。つまり、制御部122は、サービス一覧情報125を参照し、本人確認要否が必要ないとされている処理を選択する。例えば図3において、制御部122は、新規口座開設の処理群の中から、サービスコードA1,A3,A4の3つの処理を選択して実行する。
【0086】
このとき、制御部122は、選択した処理を、既定順になるべく近い順に実行することが望ましい。例えば、選択された処理が、サービスコードA1,A3,A4の3つの処理なのであれば、既定順(A1,A2,A3,A4,A5の順)に最も近い順である、A1,A3,A4の順に、各処理を実行する。ただし、制御部122は、任意の順番で各処理を実行してもよい。
【0087】
また、制御部122は、推定時間が所定値未満であれば、既定順通りに処理群を実行し、所定値以上であれば、ユーザ認証処理を終了していなくても実行可能な処理を選択して優先的に実行するようにしてもよい。
【0088】
また、制御部122は、推定時間が所定値以上である場合、所定の待機時間が経過してから再びユーザ認証処理を要求し直すようにサービス提供処理に通知するようにしてもよい。この通知を受けたサービス提供処理は、ユーザ認証処理用に認証サーバ130との間に開いたポートが占有され続けることなく、早期にポートを開放できるので、サービス提供サーバ120への負荷を低減することができる。
【0089】
後述するように、認証サーバ130による認証結果は、記憶部131の所定記憶領域に格納される。そこで、推定時間が所定値以上である場合、制御部122は、ユーザ認証処理を要求して認証結果を取得する第1のセッションを終了し、推定時間が経過した後、認証結果を認証サーバ130に問い合わせて取得する第2のセッションを開始し、認証結果を取得するようにしてもよい。なお、第1のセッションが終了した場合にも、認証サーバ130の制御部132は、当該ユーザ認証処理のジョブを待ち行列から削除せず、当該ユーザ認証処理を終了してから削除するものとする。
【0090】
ユーザ端末110の制御部116は、サービス提供サーバ120の制御部122が実行している(サービス提供サーバ120側の)処理に対応する、ユーザ端末110側の処理を実行する(ステップS613)。
【0091】
例えば図3では、「必要情報の記入(サービスコードA1)」は、本人確認が必要ない処理とされている。そこで、サービス提供サーバ120の制御部122は、サービスコードA1の処理を開始する。ユーザ端末110の制御部116は、ICカードから氏名、住所などの情報を読み取り、所定の暗号化アルゴリズムで暗号化した後、サービス提供サーバ120に送信する。サービス提供サーバ120の制御部122は、新規口座開設に必要な情報であってICカードから取得可能な情報を収集する。
【0092】
ところで、認証サーバ130ではユーザ認証処理がキューイングされており、処理順が回ってくると、ステップS612乃至S613と平行して、ユーザ認証処理が開始される。上述のように、認証方式には2種類あるが、ここでは認証方式として「内部」を選択した場合を例にとって説明する。
【0093】
制御部132は、ユーザ認証処理を開始し(図7;ステップS701)、サービス提供サーバ120に通知する。
【0094】
サービス提供サーバ120の制御部122は、カード情報の読み取りをユーザ端末110に要求する(ステップS702)。
【0095】
ユーザ端末110の制御部116は、ICカードR/Wを用いて、ICカードのCPUが生成した暗号文を読み取る(ステップS703)。
【0096】
制御部116は、読み取った暗号文をサービス提供サーバ120に送信する。サービス提供サーバ120は、受信した暗号文を認証サーバ130に送信する(ステップS704)。
【0097】
なお、認証サーバ130の制御部132は、ステップS703において、カード識別情報を合わせて取得するようにし、ステップS605で取得したカード識別情報と一致するか否かをチェックすることとする。一致すれば、ステップS705に進み、一致しなければ、新たにカード識別情報を登録済みカードIDに登録した後ステップS705に進む。
【0098】
制御部132は、受信した暗号文を所定の復号アルゴリズムで復号し、復号されて得られたデータと、ユーザ情報データベース136に格納された情報から生成したハッシュ値(又は送信した乱数)と、を照合する(ステップS705)。制御部132は、両者が一致する場合には認証成功と判断し、一致しない場合には認証失敗と判断する。
【0099】
制御部132は、認証結果を記憶部131の所定記憶領域(例えばユーザ情報データベース136等)に格納する。
【0100】
制御部132は、ステップS705における認証結果をサービス提供サーバ120に送信する。また、制御部132は、ユーザ認証処理にかかった時間を記憶部131にログ情報として記録する(ステップS706)。制御部132は、ユーザ認証処理にかかった時間を用いて、処理時間テーブル137を更新する。例えば、制御部132は、平均処理時間を再計算し、処理時間テーブル137に格納する。
【0101】
サービス提供サーバ120の制御部122は、認証サーバ130から認証結果を受信する(ステップS707)。
【0102】
なお、上述のように、サービス提供サーバ120の制御部122は、ステップS612で推定時間を受信した時刻から、推定時間が経過した後、認証結果を送信するよう認証サーバ130に要求してもよい。そして、認証サーバ130の制御部132は、当該要求を受信すると、記憶部131の所定記憶領域に格納した認証結果をサービス提供サーバ120に送信し、サービス提供サーバ120の制御部122は、認証サーバ130から認証結果を受信するようにしてもよい。
【0103】
認証失敗の場合(ステップS708;NO)、制御部122は、認証に失敗した旨をユーザ端末110に通知して、サービス提供処理を終了する。制御部122は、実行していた処理群をロールバックする。ユーザ端末110の制御部116は、サービスの提供を続行できない旨をユーザに通知する。
【0104】
あるいは、ステップS701に戻り、ユーザ認証処理を所定回数だけリトライする。待ち行列に登録し直してユーザ認証処理をリトライしてもよい。
【0105】
認証成功の場合(ステップS708;YES)、制御部122は、認証に成功した旨をユーザ端末110に通知する。また、制御部122は、ステップS612で選択しなかった処理、すなわち、ユーザ認証処理でユーザ認証に成功しなければ実行できないと定められている処理を実行する(ステップS709)。
【0106】
このとき、制御部122は、既定順になるべく近い順に処理を実行することが望ましい。例えば、ステップS612で選択された処理がサービスコードA1,A3,A4の3つであり、この順に処理群を進行中であり、認証に成功した旨が通知されたときサービスコードA3の処理を実行中であるならば、サービスコードA3の処理の終了後、サービスコードA4の処理ではなく、サービスコードA2の処理を先に実行する。すなわち、制御部122は、結果的に、A1,A3,A2,A4,A5の順に処理を実行する。ただし、制御部122は、任意の順番で各処理を実行してもよい。
【0107】
ユーザ端末110の制御部116は、サービス提供サーバ120の制御部122が実行している(サービス提供サーバ120側の)処理に対応する、ユーザ端末110側の処理を実行する(ステップS710)。
【0108】
サービス提供サーバ120の制御部122は、ユーザに要求されたサービスに対応する処理群に含まれるすべての処理を終了したか否かを判別する(ステップS711)。
【0109】
まだ終了していない処理が残っている場合(ステップS711;NO)、制御部122は処理を続行する。すべての処理を終了した場合(ステップS711;YES)、サービスの提供を終了する。
【0110】
以上のように、情報処理システム100は、ユーザ認証処理にかかる時間を推定し、ユーザ認証処理が終わっていなくても提供可能な処理を優先的に実行することにより、処理群全体を効率よく実行できるようになる。例えば、ユーザ認証処理に比較的長い時間を要してしまう時間帯(アクセスが集中して混み合っている時間帯)では、ユーザ認証処理が必要ない処理を先に進め、一方でユーザ認証処理をバックグラウンドで平行して行い、本人確認ができた後に残りの処理を行えるようにする。また、ユーザ認証処理をすぐに終えることができる時間帯(アクセスが少なく空いている時間帯)では、既定順通りに処理を進める。どちらにしても、ユーザは結果的に行うべき手続きを効率の良い順番で行うことができるので、ユーザーフレンドリーなシステム設計が可能になる。また、ユーザの立場から見れば、ユーザ認証処理に時間がかかっていることが容易には分からず粛々と手続きが進んでいるように見えるので、ストレスを感じさせないという効果がある。
【0111】
本実施形態では、情報処理システム100が提供するサービスとしてインターネットバンキングサービスを想定した。しかし、他のサービスを提供するシステムにも応用可能である。例えば、行政機関が行う行政サービスにおいて、住民票発行などの処理の際に本人確認を行うケースや、病院など医療機関が行う医療サービスにおいて、診療受付の際に本人確認を行うケースなど、様々な分野で本発明を利用できる。
【0112】
本実施形態では、インターネットバンキングサービスにおけるユーザ認証処理を、サービス提供サーバ120とは異なる認証サーバ130が実行するものとして説明した。すなわち、情報処理システム100全体のうち、多くの時間を要する可能性のある処理(ボトルネックとなる可能性のある処理)として、ユーザ認証処理を想定した。しかし、認証サーバ130を、他の任意の処理を実行する運用サーバに置き換えた実施形態を採用することもできる。
【0113】
例えば、獲得ポイントを決済に利用できるインターネット上のショッピングサイトにおいて、情報処理システム100は、ユーザが商品を購入できるサービスを提供する。ユーザの獲得ポイントや購買履歴等を取得してユーザ端末110のモニターに表示する処理が、比較的多くの時間を要する可能性のある処理であると仮定する。このとき、上述の説明において、認証サーバ130を、ユーザの獲得ポイントや購買履歴等を管理する運用サーバに置き換えた実施形態を採用して、本発明を適用することが可能である。
【0114】
つまり、アクセスが少なく空いている時間帯では、既定の処理順として、(処理A)現在の獲得ポイント数を取得して表示する処理、(処理B)商品を選択する処理、(処理C)発送方法を指定する処理、(処理D)決済方法を指定する処理、(処理E)注文の確定処理、を順に実行する。
【0115】
一方、アクセスが集中して混み合っている時間帯であって処理Aが重い場合、サービス提供サーバ120は、処理B,Cを優先的に実行し、処理Aのうち現在の獲得ポイント数を取得する処理部分を運用サーバがバックグラウンドで実行する。獲得ポイントの取得後、サービス提供サーバ120は、処理A,処理D,処理Eを実行する。
【0116】
このように、本発明は、行うべき処理群の中に多くの時間を要する可能性のある処理がある場合に、処理群全体を効率よく実行できるようにするために利用することができる。
【0117】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。
【0118】
以上説明したように、本発明によれば、行うべき処理群の中に多くの時間を要する処理がある場合にも処理群全体を効率よく実行するために好適な情報処理システム、認証サーバ、サービス提供サーバ、認証方法、サービス提供方法、及び、プログラムを提供することができる。
【図面の簡単な説明】
【0119】
【図1】情報処理システムの構成を説明するための図である。
【図2】ユーザ端末、サービス提供サーバ、認証サーバの各構成を説明するための図である。
【図3】サービス一覧情報に格納されるデータの構成例である。
【図4】認証データベースに格納されるデータの構成例である。
【図5】ユーザ情報データベースに格納されるデータの構成例である。
【図6】サービス提供処理の流れを説明するための図である。
【図7】サービス提供処理の流れを説明するための図(続き)である。
【図8】サービス提供処理の流れを説明するための図(続き)である。
【図9】処理時間テーブルに格納されるデータの構成例である。
【図10】待ち行列に格納されるデータの構成例である。
【符号の説明】
【0120】
100 情報処理システム
110 ユーザ端末
111 記憶部
112 入力受付部
113 通信部
114 出力部
115 インタフェイス
116 制御部
120 サービス提供サーバ
121 記憶部
122 制御部
123 通信部
125 サービス一覧情報
126 簡易認証データベース
130 認証サーバ
131 記憶部
132 制御部
133 通信部
135 認証データベース
136 ユーザ情報データベース
137 処理時間テーブル
140,150 通信ネットワーク

【特許請求の範囲】
【請求項1】
ユーザ端末と、ユーザにサービスを提供するための複数の処理を実行するサービス提供サーバと、当該ユーザを認証する認証サーバとを有する情報処理システムにおいて、
前記ユーザ端末は、
当該ユーザを認証するための認証用データを取得する取得部と、
当該ユーザからの指示に基づいて、前記サービス提供サーバに当該複数の処理を開始する旨の開始要求と、前記取得された認証用データと、を前記サービス提供サーバに送信する開始要求送信部と、
を備え、
前記サービス提供サーバは、
当該複数の処理のそれぞれについて、前記認証サーバによる当該ユーザの認証が必要か否かを示す情報を記憶する認証要否情報記憶部と、
前記ユーザ端末から当該開始要求と当該認証用データを受信する開始要求受信部と、
前記受信した開始要求が示す当該複数の処理の中に、前記認証サーバによる当該ユーザの認証が必要な処理が含まれている場合、前記認証サーバに当該ユーザの認証を要求する旨の認証要求と、前記受信した認証用データと、を前記認証サーバに送信する認証要求送信部と、
を備え、
前記認証サーバは、
当該ユーザを認証するためのユーザ情報を予め記憶するユーザ情報記憶部と、
前記サービス提供サーバから当該認証要求と当該認証用データとを受信する認証要求受信部と、
前記認証要求受信部が当該認証要求を受信した場合、当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる時間を推定する推定部と、
前記推定された推定時間を前記サービス提供サーバに送信する推定時間送信部と、
前記認証要求受信部が当該認証要求を受信した場合、当該認証用データと前記ユーザ情報記憶部に記憶されたユーザ情報とに基づいて、当該ユーザを認証する認証部と、
前記認証部による認証結果を前記サービス提供サーバに送信する認証結果送信部と、
を備え、
前記サービス提供サーバは、更に、
当該推定時間を前記認証サーバから受信する推定時間受信部と、
当該認証結果を前記認証サーバから受信する認証結果受信部と、
前記推定時間受信部が当該推定時間を受信した場合、
(a)当該開始要求を受信してから、当該認証結果を受信するまで、当該処理群に含まれる処理のうち前記認証サーバによる当該ユーザの認証が必要でない処理を優先して実行し、
(b)当該ユーザの認証に成功した旨の当該認証結果を受信した後、前記認証サーバによる当該ユーザの認証が必要な処理を実行する、
ことによって、当該ユーザに当該サービスを提供するサービス提供部と、
を備えることを特徴とする情報処理システム。
【請求項2】
前記取得部は、当該認証用データとして、IC(Integrated Circuit)カードに予め記憶された個人情報を取得し、
前記認証部は、前記ユーザ端末から前記サービス提供サーバを介して送信された当該認証用データを用いて認証する、
ことを特徴とする、請求項1に記載の情報処理システム。
【請求項3】
前記認証要求送信部は、前記ICカードの種類を示す情報を含む当該認証要求を前記認証サーバに送信し、
前記認証サーバは、前記ICカードの種類に対応付けて、過去に当該認証要求を受信してから当該ユーザの認証を終了するまでにかかった時間を記憶する処理時間記憶部を更に備え、
前記推定部は、前記認証要求受信部が受信した認証要求が示す前記ICカードの種類に対応付けられた時間に基づいて、当該推定時間を推定する、
ことを特徴とする、請求項2に記載の情報処理システム。
【請求項4】
前記認証部は、当該ユーザを認証する処理を開始してから終了するまでにかかった時間を用いて、前記処理時間記憶部に記憶されている時間のうち前記ICカードの種類に対応する時間を更新する、
ことを特徴とする、請求項3に記載の情報処理システム。
【請求項5】
前記認証サーバは、前記認証部による認証結果を記憶する認証結果記憶部を更に備え、
前記認証結果受信部は、当該推定時間が所定値以上の場合、前記推定時間受信部が当該推定時間を受信してから当該推定時間が経過した後、当該認証結果を送信するよう前記認証サーバに要求し、当該認証結果を前記認証サーバから受信する、
ことを特徴とする、請求項1乃至4のいずれか1項に記載の情報処理システム。
【請求項6】
ユーザを認証するためのユーザ情報を予め記憶するユーザ情報記憶部と、
当該ユーザにサービスを提供するサービス提供サーバから、当該ユーザを認証する旨の認証要求と、当該ユーザを認証するための認証用データとを受信する認証要求受信部と、
前記認証要求受信部が当該認証要求を受信した場合、当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる時間を推定する推定部と、
前記推定された推定時間を前記サービス提供サーバに送信する推定時間送信部と、
前記認証要求受信部が当該認証要求を受信した場合、当該認証用データと前記ユーザ情報記憶部に記憶されたユーザ情報とに基づいて、当該ユーザを認証する認証部と、
前記認証部による認証結果を前記サービス提供サーバに送信する認証結果送信部と、
を備えることを特徴とする認証サーバ。
【請求項7】
ユーザにサービスを提供するための複数の処理のそれぞれについて、当該ユーザを認証する認証サーバによる当該ユーザの認証が必要か否かを示す情報を記憶する認証要否情報記憶部と、
当該複数の処理を開始する旨の開始要求と、当該ユーザを認証するための認証用データとを、当該ユーザが使用するユーザ端末から受信する開始要求受信部と、
前記受信した開始要求が示す複数の処理の中に、前記認証サーバによる当該ユーザの認証が必要な処理が含まれている場合、前記認証サーバに当該ユーザの認証を要求する旨の認証要求と、前記受信した認証用データと、を前記認証サーバに送信する認証要求送信部と、
前記認証サーバが当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる推定時間を、前記認証サーバから受信する推定時間受信部と、
当該ユーザの認証結果を前記認証サーバから受信する認証結果受信部と、
前記推定時間受信部が当該推定時間を受信した場合、
(a)当該開始要求を受信してから当該認証結果を受信するまで、当該複数の処理のうち前記認証サーバによる当該ユーザの認証が必要でない処理を優先して実行し、
(b)当該ユーザの認証に成功した旨の当該認証結果を受信した後、前記認証サーバによる当該ユーザの認証が必要な処理を実行する、
ことによって、当該ユーザに当該サービスを提供するサービス提供部と、
を備えることを特徴とするサービス提供サーバ。
【請求項8】
ユーザにサービスを提供するサービス提供サーバから、当該ユーザを認証する旨の認証要求と、当該ユーザを認証するための認証用データとを受信する認証要求受信ステップと、
前記認証要求受信ステップが当該認証要求を受信した場合、当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる時間を推定する推定ステップと、
前記推定された推定時間を前記サービス提供サーバに送信する推定時間送信ステップと、
前記認証要求受信ステップが当該認証要求を受信した場合、当該認証用データと当該ユーザを認証するための予めメモリに記憶されたユーザ情報とに基づいて、当該ユーザを認証する認証ステップと、
前記認証ステップによる認証結果を前記サービス提供サーバに送信する認証結果送信ステップと、
を備えることを特徴とする認証方法。
【請求項9】
複数の処理を開始する旨の開始要求と、ユーザを認証するための認証用データとを、当該ユーザが使用するユーザ端末から受信する開始要求受信ステップと、
前記受信した開始要求が示す複数の処理の中に、認証サーバによる当該ユーザの認証が必要な処理が含まれている場合、前記認証サーバに当該ユーザの認証を要求する旨の認証要求と、前記受信した認証用データと、を前記認証サーバに送信する認証要求送信ステップと、
前記認証サーバが当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる推定時間を、前記認証サーバから受信する推定時間受信ステップと、
当該ユーザの認証結果を前記認証サーバから受信する認証結果受信ステップと、
前記推定時間受信部が当該推定時間を受信した場合、
(a)当該開始要求を受信してから当該認証結果を受信するまで、当該複数の処理のうち前記認証サーバによる当該ユーザの認証が必要でない処理を優先して実行し、
(b)当該ユーザの認証に成功した旨の当該認証結果を受信した後、前記認証サーバによる当該ユーザの認証が必要な処理を実行する、
ことによって、当該ユーザに当該サービスを提供するサービス提供ステップと、
を備えることを特徴とするサービス提供方法。
【請求項10】
コンピュータを、
ユーザを認証するためのユーザ情報を予め記憶するユーザ情報記憶部、
当該ユーザにサービスを提供するサービス提供サーバから、当該ユーザを認証する旨の認証要求と、当該ユーザを認証するための認証用データとを受信する認証要求受信部、
前記認証要求受信部が当該認証要求を受信した場合、当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる時間を推定する推定部、
前記推定された推定時間を前記サービス提供サーバに送信する推定時間送信部、
前記認証要求受信部が当該認証要求を受信した場合、当該認証用データと前記ユーザ情報記憶部に記憶されたユーザ情報とに基づいて、当該ユーザを認証する認証部、
前記認証部による認証結果を前記サービス提供サーバに送信する認証結果送信部、
として機能させることを特徴とするプログラム。
【請求項11】
コンピュータを、
ユーザにサービスを提供するための複数の処理のそれぞれについて、当該ユーザを認証する認証サーバによる当該ユーザの認証が必要か否かを示す情報を記憶する認証要否情報記憶部、
当該複数の処理を開始する旨の開始要求と、当該ユーザを認証するための認証用データとを、当該ユーザが使用するユーザ端末から受信する開始要求受信部、
前記受信した開始要求が示す複数の処理の中に、前記認証サーバによる当該ユーザの認証が必要な処理が含まれている場合、前記認証サーバに当該ユーザの認証を要求する旨の認証要求と、前記受信した認証用データと、を前記認証サーバに送信する認証要求送信部、
前記認証サーバが当該認証要求を受信してから当該ユーザの認証を終了するまでにかかる推定時間を、前記認証サーバから受信する推定時間受信部、
当該ユーザの認証結果を前記認証サーバから受信する認証結果受信部、
前記推定時間受信部が当該推定時間を受信した場合、
(a)当該開始要求を受信してから当該認証結果を受信するまで、当該複数の処理のうち前記認証サーバによる当該ユーザの認証が必要でない処理を優先して実行し、
(b)当該認証結果を受信した後、前記認証サーバによる当該ユーザの認証が必要な処理を実行する、
ことによって、当該ユーザに当該サービスを提供するサービス提供部、
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−245365(P2009−245365A)
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【出願番号】特願2008−93758(P2008−93758)
【出願日】平成20年3月31日(2008.3.31)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】