(実施形態1)
以下、図面を参照して本発明の第1の実施形態を詳細に説明する。図1には本実施形態に係るオンライン取引システム10が示されている。本実施形態のオンライン取引システム10は、特定金融機関に設置された銀行システム12を含んで構成されている。
上記特定金融機関は、当該特定金融機関に口座を開設しているユーザがオンラインで金融取引を行うことを可能とするサービスとして、オンライン金融取引用ウェブサイトを通じてユーザからのオンラインでの金融取引の実行指示を受け付けるオンライン金融取引受付サービスを、提供している。このオンライン金融取引受付サービスを利用した金融取引では、ユーザがユーザ端末18を介してオンライン金融取引用ウェブサイトのウェブページを閲覧し、該ウェブページ上で必要な情報を入力することで、ユーザが所望している金融取引の実行を指示するための情報(金融取引指示情報)がユーザ端末18から銀行システム12へ送信される。そして、この金融取引指示情報が銀行システム12からイントラネット26に接続された勘定系システム28等へ転送されることで、金融取引指示情報に基づいてユーザから指示された金融取引が勘定系システム28等によって実行されるようになっている。
かかる銀行システム12は、相互にバスBを通じて接続されたCPU12A、メモリ12B、ハードディスクドライブ(HDD)12C、及び、ネットワークインタフェース(I/F)部12Dを、備えている。
ネットワークI/F部12Dは、多数台のウェブサーバが通信回線を介して相互に接続されて成る公共のコンピュータ・ネットワーク(インターネット)16に直接接続されており、更に特定金融機関内に設置されたイントラネット(LAN)26にも接続されている。イントラネット26には勘定系システム28が接続されている。
上記インターネット16には、各々PC等から成る多数台のユーザ端末18が接続されている。個々のユーザ端末18にはブラウザがインストールされている。なお、個々のユーザ端末18は所謂スマートフォンやタブレット端末のようなインターネット接続機能を有しているものであることが前提となるので、上記ネットワークI/F部12Dは、インターネット16を介して各ユーザ端末18に接続される。
メモリ12Bは、RAM(ランダムアクセスメモリ)からなる記憶装置であり、CPU12Aによる作業領域が展開される。
CPU12Aは、メモリ12B上に読み出されたプログラムを実行して、銀行システム12を構成するハードウェア全体を制御する処理装置であり、記憶手段の一部,判定手段に、相当する。
HDD12Cは、各種データ及びプログラムを格納したコンピュータ読取可能な記憶媒体を内蔵した記憶装置である。HDD12Cが格納しているプログラムには、CPU12Aによってメモリ12B上に読み出されて実行されるユーザ認証サーバプログラム13及びデータベースサーバプログラム14が、含まれている。また、HDD12Cが格納している各種データには、データベースサーバプログラム14を実行しているCPU12Aによって登録されたデータや、ユーザデータベース15が、含まれている。
なお、データベースサーバプログラム14及びユーザデータベース15は、記憶手段の一部であり、ユーザ認証サーバプログラム13を実行するコンピュータとはイントラネット26を通じてデータ通信可能な別箇独立のコンピュータの記憶装置に格納されて当該コンピュータのCPU17によって、実行されても良い。以下、ユーザ認証サーバプログラム13を実行するCPU12Aを「ユーザ認証サーバ13」と略称し、データベースサーバプログラム14を実行するCPU12Aを「データベースサーバ14」と略称することがある。
また、ユーザデータベース15は、ユーザデータサーバ14によって、当該特定金融機関と口座開設契約を締結している全ての顧客について、その住所又は居所、氏名又は名称、ユーザID(契約番号)、パスワード、口座種類及び口座番号が記録されて管理されるデータベースである。さらに、本実施形態に固有な構成として、ユーザデータベース15には、図2に示すパスワードアプリ登録テーブルが、格納されている。このパスワードアプリ登録テーブルは、図2に示すように、他のテーブルとの紐付けのためのユーザID,及び、後述するユーザ認証用のアプリケーションプログラム(以下、「パスワードアプリ」という)を登録したか否かについてのフラグ(以下、「パスワードアプリ登録済みフラグ」という),及び、所定個数(図2の例では4個)のパスワードアプリの識別情報(以下、「アプリID」という)が、夫々登録されるテーブルである。なお、アプリIDは、対応するパスワードアプリの選択順に、登録される。即ち、最初に選択されるべきパスワードアプリのアプリIDが「パスワードアプリ1」欄に、2番目に選択されるべきパスワードアプリのアプリIDが「パスワードアプリ2」欄に、3番目に選択されるべきパスワードアプリのアプリIDが「パスワードアプリ3」欄に、4番目に選択されるべきパスワードアプリのアプリIDが「パスワードアプリ4」欄に、夫々登録される。なお、パスワードアプリ登録テーブルに登録可能なアプリIDの個数は、任意であっても良いし、予め固定されていても良い。本例では、当該パスワードアプリ登録テーブルには、各パスワードアプリの選択順序を特定する情報が、アプリIDが登録された欄の位置の形で記憶されているが、パスワードアプリの選択順序を特定する情報として、各パスワードアプリの選択時刻が登録されていても良い。後述する図8のマンマシンインタフェースによると、同時に複数のパスワードアプリを選択することはできないので、各パスワードアプリの選択時刻の前後を比較することによって、各パスワードアプリの選択順序を特定することが可能になるからである。
図1に戻り、ユーザ端末18は、バスBを通じて相互にデータ交換可能に接続されたCPU19、メモリ20、タッチパネル21、通信モジュール22、ディスプレイ23、スピーカー24、加速度センサ25及びホームボタン26を、有している。
CPU19は、プログラムを読み込んで実行することによって当該ユーザ端末18全体の制御を行う処理装置である。
メモリ20は、CPU19によって読み込まれて実行されるプログラムや、各種データを格納したROM(リードオンリーメモリー)及びフラッシュメモリ等の不揮発性書換可能メモリと、CPU19の作業領域としての一時記憶領域が展開されるRAMとから、構成されている。上記プログラムには、ユーザ端末18の基本動作を制御するための基本プログラムと、ユーザ端末18を使用するユーザが任意に使用する所望機能をCPU19に追加するためのアプリケーションプログラム(以下、「アプリ」と略称する)が、含まれる。
通信モジュール22は、当該ユーザ端末18を使用するユーザが利用可能な各種無線ネットワークのプロトコルを終端し、かかるプロトコルに従ったデータ形式にて、かかる無線ネットワークの基地局との間で無線通信を行う無線装置である。
ディスプレイ23は、CPU19によって各種画像,画面,メッセージ等の可視情報が表示される、液晶パネル,EL(エレクトロルミネッセンス)パネル等である。当該ディスプレイ23上に表示される可視情報には、ソフトウェアキーボードも含まれる。
タッチパネル21は、ディスプレイ23の全域にわたって重ね合わせて設置された透明部材であり、操作者の指又はタッチペンが接触した位置を検出し、当該位置を示す座標値をCPU19に入力するポインティングデバイスである。
スピーカー24は、CPU19(及び、図示せぬサウンドプロセッサ)によって再生された音声信号に基づいて音声を発する。当該ユーザ端末18がスマートフォンであれば、当該スピーカー24は、通話用を兼ねる。
加速度センサ25は、相互に直交する3方向の加速度を夫々検出してCPU19に入力する機械センサである。
ホームボタン26は、図3に示すように、ディスプレイ23と並べて設置された押しボタンである。
CPU19がメモリ20から読み込んで実行する基本プログラムには、タッチパネル21から入力された座標値が示す位置と重なってディスプレイ23上に表示されているアイテム(アイコン,文字,ボタン等)が入力されたものと認識する機能や、上述したソフトウェアキーボードが操作されたものと認識して入力された文字列を認識する機能をCPU19に付与するモジュールが、含まれている。また、上記基本プログラムには、CPU19がメモリ20から読み込んで実行するプログラムには、図3に示すように、メモリ20にインストールされているアプリを起動する機能に関連付けられたアイコン100,101を一覧表示した画面(以下、「ホーム画面」という)をディスプレイ23上に表示し、何れかのアイコン100,101が入力された場合には、当該アイコン100,101に関連付けられたアプリを起動する機能をCPU19に付与するモジュールが、含まれている。
本実施形態では、固有の構成として、図4及び図5のフローチャートにその処理内容の一部を示す「銀行アプリ」が、メモリ20にインストールされている。この銀行アプリは、ユーザがディスプレイ23上に表示されているアイコン(図3において「銀」と表示されているアイコン101)が入力されたことが、タッチパネル21からの座標データに基づいて検出されることをトリガとして、起動される。そして、銀行アプリを実行しているCPU19は、タッチパネル21を通じて入力される操作内容に従って銀行システム12にアクセスして、銀行システム12による各種サービスを受ける。そして、各種サービスを受けている途中で重要な取引(振込等)を実行する際に、銀行システム12からの要求に応じて、銀行アプリを実行しているCPU19は、図4の処理を実行する。
そして、最初のS001において、CPU19は、ディスプレイ23上に、図示せぬID入力欄及びOKボタンを表示した後に、次のS002において、ユーザが上述したソフトウェアキーボードを操作してID入力欄に所定フォーマットを満たす文字列を入力してOKボタンを入力するのを待つ。そして、ユーザが上述したソフトウェアキーボードを操作してID入力欄に所定フォーマットを満たす文字列を入力してOKボタンを入力すると、CPU19は、処理をS003へ進める。
S003では、CPU19は、銀行システム12にアクセスして、S001にて入力された文字列に関してパスワードアプリ登録問い合わせを行う。S003を完了すると、CPU19は、次のS004において、銀行システム12からの応答(S203,S210)を待つ。
このパスワードアプリ登録問い合わせを受信した銀行システム12では、ユーザ認証サーバ13が、図6に示す処理を割り込みスタートし、S201において、問い合わせに関する文字列を、ユーザIDとして受信して受け付ける(受信手段に相当)。
次のS202では、ユーザ認証サーバ13は、データベースサーバ14を通じて、S201にて受け付けたユーザIDについてパスワードアプリが登録済みであるかどうかを、当該ユーザIDに対応してユーザデータベース15のパスワードアプリ登録テーブル(図2)にパスワードアプリ登録済フラグがセットされているかどうかに基づいて、判定する。そして、当該ユーザIDに対応してユーザデータベース15のパスワードアプリ登録テーブル(図2)にパスワードアプリ登録済フラグがセットされている場合には、当該ユーザIDについてパスワードアプリが登録済みであると判断して、S203において、問い合わせ元ユーザ端末18に対して、登録済である旨を応答してから、処理をS204へ進める。これに対して、当該ユーザIDに対応してユーザデータベース15のパスワードアプリ登録テーブル(図2)にパスワードアプリ登録済フラグがセットされていない場合には、当該ユーザIDについてパスワードアプリが登録済みでないと判断して、S210において、問い合わせ元ユーザ端末18に対して、未登録である旨を応答してから、処理をS211へ進める。
図4に戻り、要求元ユーザ端末18のCPU19は、S004において、銀行システム1からの応答が「登録済」であれば処理をS005へ進め、「未登録」であれば処理をS021へ進める。
S005では、CPU19は、当該ユーザ端末18にインストールされているアプリケーションプログラムをメモリ20から探し出し、インストールされているアプリケーションプログラムを一覧する画面データを生成して、この画面データに基づいて、図8に示すような一覧画面をディスプレイ23上に表示する。この一覧画面には、当該ユーザ端末18にインストールされている全アプリケーションプログラムのアイコン及び名称が、夫々に対応したチェックボックスとともに一覧表示されている。なお、この一覧画面上において、各アプリケーションプログラムのアイコン及び名称の一方のみが、一覧されるのであっても良い。また、この一覧画面にアイコン又は/及び名称が表示されるアプリケーションプログラムの数は、当該ユーザ端末18にインストールされているアプリケーションプログラムの総数であっても良いが、操作性を向上するために、予め限定された個数のみであっても良い。但し、当該ユーザ端末18を操作しているユーザのユーザIDに対応付けて銀行システム12中のパスワードアプリ登録テーブルに登録されている全アプリケーションプログラムのアイコン又は/及び名称は、全て表示されなければならない。そのため、後者の場合においては、CPU19とデータベースサーバ14とが交信を行い、例えば、CPU19が当該ユーザ端末18にインストールされている全アプリケーションプログラムのアプリIDをデータベースサーバ14へ通知し、データベースサーバ14が通知されたアプリIDのうち当該ユーザ端末18を操作しているユーザのユーザIDに対応付けてパスワードアプリ登録テーブルに登録されている全アプリIDを含む上記個数のアプリIDを当該ユーザ端末18へ応答し、CPU19は、応答されたアプリIDに対応した上記個数のアプリケーションプログラムのアイコン又は/及び名称を、一覧画面上に表示すれば良い。このとき一覧画面上に表示される上記個数のアイコン又は/及び名称のうち、当該ユーザのユーザIDに対応付けてパスワードアプリ登録テーブルにアプリIDが登録されているアプリケーションプログラムに対応するもの以外を、以下、「Decoy(ダミーデータ)」と呼ぶ。
次のS006では、CPU19は、パスワードアプリの選択を受け付ける。即ち、図8に示す一覧画面上において、ユーザは、任意のチェックボックスに重なるタッチパネル21をタッチすることにより、当該チェックボックスにチェックマークを入力することができる。CPU19は、チェックマークが入力されると、当該チェックマークが入力されたチェックボックスに対応してアイコン及びタイトルが表示されているアプリケーションプログラムがパスワードアプリとして「選択」されたと認識し、選択されたアプリケーションプログラムのアプリIDを、その選択順に、メモリ20上の一時記憶領域に記憶する。
次のS007では、CPU19は、ユーザによるパスワードアプリの選択が完了したか否かを判定する。この判定は、例えば、ユーザデータベース15のパスワードアプリ登録テーブル(図2)に登録可能なパスワードアプリのアプリIDの個数が固定であるならば(図2の例では4個)、当該個数と同数のアイコンが入力されたか否か(若しくは、当該個数と同数のアプリが選択されたか否か)に基づいて、行われる。また、登録可能なアプリIDの個数が任意であるならば、一覧画面中に図示せぬ「入力完了」ボタンを表示しておき、当該「入力完了」ボタンへの入力を以て、パスワードアプリの選択が完了したと判定しても良い。
S007において、未だユーザによるパスワードアプリの選択が完了していないと判断した場合には、CPU19は、処理をS006へ戻す。これに対して、ユーザによるパスワードアプリの選択が完了したと判断した場合には、CPU19は、処理をS008へ進める。
S008では、CPU19は、メモリ20上の一時記憶領域に記憶されている各アプリIDに対応するアイコン又は名称をその選択順に一覧した図示せぬ確認ダイアログを、ディスプレイ23上に表示する。この確認ダイアログには、NGボタン及びOKボタンが含まれている。そして、NGボタンが入力されると、CPU19は、S010において、メモリ20上の一時記憶領域に記憶されているアプリIDをリセットした後に、処理S005へ戻す。これに対して、OKボタンが入力されると、CPU19は、処理をS011へ進める。
S011では、CPU19は、メモリ20の一時記憶領域に起動順に記録されているアプリIDに基づいて、これらのアプリIDを選択順に一覧するデータ(選択済アプリ一覧)を生成する。当該選択済アプリ一覧には、各パスワードアプリの選択順序を特定する情報が、例えばアプリIDの行列の順序又は順序に対応した電文中の所定位置の形で内包されている。即ち、選択順序と対応する、端末から認証サーバに対して送信される認証要求電文の所定位置に、選択されたパスワードアプリのアプリIDがセットされる。なお、上述したように、パスワードアプリ登録テーブルにパスワードアプリの選択時刻が記憶されている場合には、選択済アプリ一覧にも、各パスワードアプリの選択時刻が含まれていれば良い。
次のS012では、CPU19は、S011にて作成した選択済アプリ一覧を銀行システム12へ送信する。S012を完了すると、CPU19は、S013において、銀行システム12からの応答を待つ。
図6に戻り、S203にて「登録済」を応答した後に実行されるS204において、ユーザ認証サーバ13は、問合わせ元ユーザ端末18がS012にて送信した選択済アプリ一覧を受信する(受信手段に相当)。
次のS206では、CPU19は、パスワードアプリの選択順が正しいか否かを判定する。即ち、CPU19は、S201にて受け付けたユーザIDに対応してユーザデータベース15のパスワードアプリ登録テーブル(図2)に登録されているパスワードアプリのアプリIDの選択順序の特定情報が示す選択順序と、S204にて受信した選択済アプリ一覧中のアプリIDの選択順序の特定情報が示す選択順序とが、一致しているか否かを判定する。なお、選択順序の特定情報がパスワードアプリの選択時刻である場合には、CPU19は、パスワードアプリ登録テーブル(図2)に登録されている各パスワードアプリの選択時刻同士を比較して、各パスワードアプリの選択順序を認識する。同様に、選択済アプリ一覧中のアプリIDの選択時刻同士を比較して、各パスワードアプリの選択順序を認識する。その上で、CPU19は、認識した二組の選択順序が一致しているか否かを判定するのである。そして、前者の選択順序と後者の選択順序が異なる場合には、ユーザ認証サーバ13は、S208において、問合わせ元ユーザ端末18へ認証失敗を応答してから、当該割り込み処理を終了する。
これに対して、前者の選択順序と後者の選択順序とが一致する場合には、ユーザ認証サーバ13は、S207において、問合わせ元ユーザ端末18へ認証成功を応答し、処理をS209へ進める。S209では、ユーザ認証サーバ13は、問い合わせ元ユーザ端末18からのメッセージをS201にて受け付けたユーザIDに対応したユーザからのものであると認識して、当該メッセージの内容に応じた重大な取引等の処理を行う。
以上を別言すると、S206は、受信手段が前記ユーザ端末から受信した情報に、当該ユーザ端末を操作しているユーザに対応付けて記憶手段(ユーザデータベース15)に記憶されている複数の要素の選択順序を特定する情報が含まれるか否か判定する判定手段に相当する。さらに、S207は、受信手段が受信した情報に当該ユーザ端末を操作しているユーザに対応付けて記憶手段(ユーザデータベース15)に記憶されている複数の要素の選択順序を特定する情報が含まれると判定された場合に、認証が成功した旨を応答する応答手段に相当する。
図4に戻り、問合わせ元ユーザ端末18のCPU19は、S013において、銀行システム1からの応答が「認証失敗」であれば処理をS001へ戻し、認証処理をやり直すが、「認証成功」であれば、ユーザ認証を必要とする重大な取引のための処理へ進む。
以上に対して、銀行システム12から受信した応答が「未登録」であるとS004にて判定した場合に実行されるS021では、CPU19は、図示せぬパスワード入力欄およびOKボタンをディスプレイ23上に表示した後に、次のS022において、ユーザが上述したソフトウェアキーボードを操作してパスワード入力欄に所定フォーマットを満たす文字列を入力してOKボタンを入力するのを待つ。そして、ユーザが上述したソフトウェアキーボードを操作してパスワード入力欄に任意の文字列を入力してOKボタンを入力すると、CPU19は、処理をS023へ進める。
S023では、CPU19は、パスワード入力欄に入力された文字列を、パスワードとして、銀行システム12へ送信する。CPU19は、S023を完了すると、次のS024において、銀行システム12からの応答を待つ。
この時、銀行システム12では、ユーザ認証サーバ13が、図6のS211において、図7に示すパスワードアプリ登録処理を起動している。そして、ユーザ認証サーバ13は、最初のS301において問合わせ元ユーザ端末18からパスワードを受信すると、S302において、当該パスワードがS201にて受け付けたユーザiDに対応付けられてユーザデータベース15に登録されているか否かを、チェックする。そして、受信したパスワードがS201にて受け付けたユーザIDに対応付けられてユーザデータベース15に登録されていない場合には、ユーザ認証サーバ13は、S303において、問合わせ元ユーザ端末18に対して、登録不可の旨を応答して、当該パスワードアプリ登録処理を終了する。これに対して、受信したパスワードがS201にて受け付けたユーザIDに対応付けられてユーザデータベース15に登録されている場合には、ユーザ認証サーバ13は、S304において、問合わせ元ユーザ端末18に対して、登録可の旨を応答して、次のS305において、問合わせ元ユーザ端末18からの選択済アプリ一覧の受信を待つ。
図5に戻り、問合わせ元ユーザ端末18のCPU19は、S024において、銀行システム12からの応答が「登録不可」であると、当該銀行アプリによる処理を終了する。これに対して、銀行システム12からの応答が「登録可」であると、CPU19は、処理をS025へ進める。S025乃至S032の処理は、先に説明したS005乃至S012の処理と同じであるので、その説明を省略する。S028を完了すると、CPU19は、ユーザ認証を必要とする重大な取引のための処理へ進む。
図7に戻り、S304にて「登録済」を応答した後に実行されるS305において、ユーザ認証サーバ13は、問合わせ元ユーザ端末18がS032にて送信した選択済アプリ一覧を受信する。
次のS306では、ユーザ認証サーバ13は、S201にて受け付けたユーザIDに対応つけて、ユーザデータベース15のパスワードアプリ登録テーブル(図2)に、S305にて受信した選択済アプリ一覧中のアプリIDを、その選択順通りに登録する。別言すると、ユーザ認証サーバ13は、受信手段が前記ユーザ端末18から受信した情報に、相互に対応付けて前記記憶手段に記憶されている前記個人識別情報及び前記パスワードの何れか組み合わせが含まれている場合に、前記受信手段が受信した情報に含まれる複数のアプリケーションについての識別情報及びその選択順序を、S201にて受け付けた個人識別情報に対応付けて記憶手段(ユーザデータベース15)に記憶させる登録手段に相当する。
次のS307では、ユーザ認証サーバ13は、S201にて受け付けたユーザIDに対応つけて、ユーザデータベース15のパスワードアプリ登録テーブル(図2)に、パスワードアプリ登録済フラグをセットする。S307を完了すると、ユーザ認証サーバ13は、処理をS209へ進める。
次に、以上のように構成された本実施形態の各構成要素の動作を、図9のシーケンス図を参照して、説明する。
オンライン金融取引受付サービスを利用するユーザは、事前に前記サービスの利用を特定金融機関へ申請する。特定金融機関は、ユーザから前記サービスの利用が申請されると、前記ユーザへユーザIDを付与し、付与したユーザIDを、顧客が設定したパスワードや顧客の口座に関するその他の情報と共に、銀行システム12のHDD12Cに記憶されているユーザデータベース15に登録する。また、顧客が所望順序に従って選択した所定個数のアプリケーションプログラムのアプリIDを、ユーザ認証サーバ13が、パスワードアプリとしてユーザデータベース15のパスワードアプリ登録テーブル(図2)に登録する。
しかる後に、ユーザが、自己が保持及び使用するユーザ端末18を操作して、銀行アプリを使用して、銀行システム12が提供する各種サービスにアクセスする。そして、何れかのサービスにおいて重要な手続(例えば、振込や決済)をする際に、顧客が、銀行アプリによる指示に従って、自己のユーザIDを入力する(S001〜S002,S402)。すると、銀行アプリに従って、ユーザ端末のCPU19は、パスワードアプリの登録問い合わせを行う(S003,S402)。
すると、銀行システム12内において、データベースサーバ14が、ユーザデータベース15のパスワードアプリ登録テーブル(図2)から当該顧客についての情報を読み出して、ユーザ認証サーバ13に出力する(S421)。すると、ユーザ認証サーバ13が、データベースサーバ14から通知された情報に含まれるパスワードアプリ登録済フラグの値に基づいて、パスワードアプリが登録済であるかどうかをチェックする(S202,S4011)。この場合、ユーザ認証サーバ13は、パスワードアプリが登録済であると判断して、その旨をユーザ端末18へ応答する(S203)。
すると、ユーザ端末18は、アプリケーションプログラムの一覧画面をディスプレイ23上に表示して(S005,S403)、ユーザによる選択を受け付ける(S006,S404)。そして、選択順序に基づいて、確認ダイアログを表示し(S008,S405)、ユーザが確認をすると(S009,S406)、選択済アプリ一覧を作成し(S011)、作成した選択済アプリ一覧を銀行システム12へ送信する(S012,S407)。
すると、銀行システム12では、ユーザ認証サーバ13が、選択済アプリ一覧に示されたパスワードアプリのアプリID及びその順序とデータベースサーバ14から通知された情報に含まれる全アプリID及びその順序とが一致することを確認し(S206,S412)、認証成功をユーザ端末13へ通知する(S207,S413)。
すると、ユーザ端末13は、処理を継続し(S408)、銀行システム12との間で重大な取引を実行することができるようになる(S209)。
以上に説明したように、本実施形態によると、顧客は、パスワードの代わりに、予めパスワードアプリとして登録しておいたアプリを一覧画面上において登録順に選択することにより、認証を受けることができる。かかるパスワードアプリとして登録され得るアプリの個数は、数字や文字の数よりもはるかに多い。従って、顧客がパスワードアプリとして登録した所定個数のアプリの組み合わせと全く同一の組み合わせが、他者が保持及び使用する端末にインストールされている蓋然性は非常に低い。さらに、パスワードアプリを含む多数個のインストール済みアプリの中から、偶然によって、パスワードアプリを登録順に選択する蓋然性は、更に低くなる道理である。従って、通常のパスワードよりもセキュリティの強度は高く、その分だけ、なりすましの危険が通常のパスワードよりも低い。さらに、ユーザがユーザ端末18を使用してアプリケーションプログラムを追加していく毎に、Decoy(ダミーデータ)が増えていくので、セキュリティ強度は更に向上していることになる。それにも拘わらず、パスワードアプリとして登録可能なアプリは一般に流通しているものであるので、ユーザがユーザ端末18を変更した場合であっても、同じパスワードアプリをインストールすることによって、変更前のユーザ端末18の環境を、容易に復元することができる。また、ユーザにとって、アプリケーションプログラムのアイコンや名称は、基本的に表音文字からなる従来のパスワードと比較して、視覚的及び観念的に認識及び記憶し易く、自己の行動パターンに関連付けて記憶し易いという利点がある。
なお、本実施形態によるパスワードアプリの選択順を用いたユーザ認証は、従来のパスワードによるユーザ認証と併用されても良い。また、本実施形態では、パスワードアプリの選択順に基づいてユーザ認証を行っているが、選択順序特定情報をユーザ認証の要素とはせずに、選択されたパスワードアプリの組み合わせに拠ってユーザ認証を行っても良い。ただし、その場合には、ユーザ端末18とデータベースサーバ14とが交信を行い、CPU19が当該ユーザ端末18にインストールされている全アプリケーションプログラムのアプリIDをデータベースサーバ14へ通知し、データベースサーバ14が通知されたアプリIDのうち当該ユーザ端末18を操作しているユーザのユーザIDに対応付けてパスワードアプリ登録テーブルに登録されている全アプリIDを含む上記個数のアプリIDを当該ユーザ端末18へ応答し、CPU19は、応答されたアプリIDに対応した上記個数のアプリケーションプログラムのアイコン又は/及び名称を一覧画面上に表示する構成を採用することが、望ましい。
また、本実施形態では、ユーザ認証の要素として、アプリケーションプログラムを選択することとしているが、それ以外の要素を選択することとしても良い。例えば、アクセスポイントや、ログファイル中に記録されている地点等をユーザ認証の要素としても良い。
(実施形態2)
以下、本発明の第2の実施形態を詳細に説明する。第2実施形態は、所謂モスキート音と呼ばれる、人間の可聴音域の上限近傍に位置する高音を利用し、ユーザが聴くことのできる音域の上限を特定する特定情報を、個人識別情報に代用しようというものである。即ち、人間が聴くことができる音域には上限があり、この上限は、若い人ほど高く、年齢が進むにつれて低くなるという一般傾向があるものの、個人に依存している。よって、ユーザが聴くことのできる高音の上限を特定する情報は、個人識別情報として利用可能なのである。
第2実施形態のハードウェア構成は、上述した第1実施形態のものと同じであるのでその説明を省略する。第2実施形態は、ユーザデータベース15及び各プログラムの処理内容のみ、上述した第1実施形態と相違するので、以下では、かかる相違点についてのみ説明を行う。
図10は、図2に示すパスワードアプリ登録テーブルの代わりにユーザデータベース15に格納される可聴音域登録テーブルである。この可聴音域登録テーブルは、図10に示すように、他のテーブルとの紐付けのためのユーザID,及び、後述するユーザ認証用の可聴音域を登録したか否かについてのフラグ(以下、「可聴音域登録済みフラグ」という),及び、可聴音域が、夫々登録されるテーブルである。
上述した第1実施形態と同様に、各種サービスを受けている途中で重要な取引(振込等)を実行する際に、銀行システム12からの要求に応じて、銀行アプリを実行しているCPU19は、図11の処理を実行する。
そして、最初のS501において、CPU19は、ディスプレイ23上に、図示せぬID入力欄及びOKボタンを表示した後に、次のS502において、ユーザが上述したソフトウェアキーボードを操作してID入力欄に所定フォーマットを満たす文字列を入力してOKボタンを入力するのを待つ。そして、ユーザが上述したソフトウェアキーボードを操作してID入力欄に所定フォーマットを満たす文字列を入力してOKボタンを入力すると、CPU19は、処理をS503へ進める。
S503では、CPU19は、銀行システム12にアクセスして、S501にて入力された文字列に関して可聴音域特定情報の登録問合わせを行う。S503を完了すると、CPU19は、次のS504において、銀行システム12からの応答(S603,S610)を待つ。
この可聴音域特定情報の登録問合わせを受信した銀行システム12では、ユーザ認証サーバ13が、図13に示す処理を割り込みスタートし、S601において、問い合わせに関する文字列を、ユーザIDとして受信して受け付ける。
次のS602では、ユーザ認証サーバ13は、データベースサーバ14を通じて、S601にて受け付けたユーザIDについて可聴音域特定情報が登録済みであるかどうかを、当該ユーザIDに対応してユーザデータベース15の可聴音域登録テーブル(図10)に可聴音域登録済フラグがセットされているかどうかに基づいて、判定する。そして、当該ユーザIDに対応してユーザデータベース15の可聴音域登録テーブル(図10)に可聴音域登録済フラグがセットされている場合には、当該ユーザIDについて可聴音域が登録済みであると判断して、S603において、問い合わせ元ユーザ端末18に対して、登録済である旨を応答してから、処理をS604へ進める。これに対して、当該ユーザIDに対応してユーザデータベース15の可聴音域登録テーブル(図10)に可聴音域登録済フラグがセットされていない場合には、当該ユーザIDについて可聴音域が登録済みでないと判断して、S610において、問い合わせ元ユーザ端末18に対して、未登録である旨を応答してから、処理をS611へ進める。
図11に戻り、要求元ユーザ端末18のCPU19は、S504において、銀行システム1からの応答が「登録済」であれば処理をS505へ進め、「未登録」であれば処理をS511へ進める。
S505では、CPU19は、図15に示す「認証中」の旨の画面をディスプレイ23上に表示しつつ、超音波レベルの高音(即ち、幼年者であっても聞くことができない音域の高音)をスピーカー24から発生する。
次のS506では、CPU19は、ユーザによる高音が聴こえた旨の動作を検知したか否かをチェックする。ここで、高音が聴こえた旨の動作とは、タッチパネル21へのタッチや、ホームボタン26の押下などのうちから、予め選択されたものである。当該ユーザ端末18が加速度センサ25を内蔵しているのであれば、当該ユーザ端末18自体をシェイクする動作が、高音が聴こえた旨の動作として選択されても良い。そして、未だ高音が聴こえた旨の動作が検知されていないのであれば、CPU19は、S507において、スピーカー24から発している高音の周波数を、予め定められた若干量の幅だけ低くした後に、S506のチェックを再実行する。これに対して、高温が聴こえた旨の動作が検知されると、CPU19は、処理をS508へ進める。
S508では、CPU19は、S508にてユーザによる高音が聴こえた旨の動作を検知した時点においてスピーカー24から発していた高音の周波数を中心とした音域(上記若干量の幅を有する音域)を、可聴音域として特定する。
次のS509では、CPU19は、S508にて特定した可聴音域を特定する情報(可聴音域特定情報)を、銀行システム12へ送信する。S509を完了すると、CPU19は、S510において、銀行システム12からの応答を待つ。
図13に戻り、S603にて「登録済」を応答した後に実行されるS604において、ユーザ認証サーバ13は、問合わせ元ユーザ端末18がS509にて送信した可聴音域特定情報を受信する(受信手段に相当)。
次のS606では、CPU19は、可聴音域が合致しているか否かを判定する。即ち、CPU19は、S601にて受け付けたユーザIDに対応してユーザデータベース15の可聴音域登録テーブル(図10)に登録されている可聴音域と、S604にて受信した可聴音域特定情報が示す可聴音域とが、一致しているか否かを判定する。そして、両者が相違している場合には、ユーザ認証サーバ13は、S608において、問合わせ元ユーザ端末18へ認証失敗を応答してから、当該割り込み処理を終了する。
これに対して、前者の可聴音域と後者の可聴音域とが一致する場合には、ユーザ認証サーバ13は、S607において、問合わせ元ユーザ端末18へ認証成功を応答し、処理をS609へ進める。S609では、ユーザ認証サーバ13は、問い合わせ元ユーザ端末18からのメッセージをS601にて受け付けたユーザIDに対応したユーザからのものであると認識して、当該メッセージの内容に応じた重大な取引等の処理を行う。
以上を別言すると、S606は、受信手段が前記ユーザ端末から受信した情報に、相互に対応付けて記憶手段(ユーザデータベース15)に記憶されている個人識別情報と可聴音域との組み合わせが含まれるか否か判定する判定手段に相当し、S609は、受信手段が受信した情報に相互に対応付けて記憶手段(ユーザデータベース15)に記憶されている個人識別情報と可聴音域との組み合わせが含まれると判定された場合に、以後のユーザ端末18からの情報をS601にて受け付けた個人識別情報が示すユーザからの情報として処理する処理手段に相当する。さらに、S607は、受信手段が受信した情報に相互に対応付けて記憶手段(ユーザデータベース15)に記憶されている個人識別情報と可聴音域との組み合わせが含まれると判定された場合に、認証が成功した旨を応答する応答手段に相当する。
図11に戻り、問合わせ元ユーザ端末18のCPU19は、S510において、銀行システム1からの応答が「認証失敗」であれば処理をS501へ戻し、認証処理をやり直すが、「認証成功」であれば、ユーザ認証を必要とする重大な取引のための処理へ進む。
以上に対して、銀行システム12から受信した応答が「未登録」であるとS504にて判定した場合に実行されるS511では、CPU19は、図示せぬパスワード入力欄およびOKボタンをディスプレイ23上に表示した後に、次のS512において、ユーザが上述したソフトウェアキーボードを操作してパスワード入力欄に所定フォーマットを満たす文字列を入力してOKボタンを入力するのを待つ。そして、ユーザが上述したソフトウェアキーボードを操作してパスワード入力欄に任意の文字列を入力してOKボタンを入力すると、CPU19は、処理をS513へ進める。
S513では、CPU19は、契約番号入力欄に入力された文字列を、パスワードとして、銀行システム12へ送信する。CPU19は、S513を完了すると、次のS514において、銀行システム12からの応答を待つ。
この時、銀行システム12では、ユーザ認証サーバ13が、図13のS611において、図14に示す可聴音域-登録処理を起動している。そして、ユーザ認証サーバ13は、最初のS701において問合わせ元ユーザ端末18からパスワードを受信すると、S702において、当該パスワードがS601にて受け付けたユーザiDに対応付けられてユーザデータベース15に登録されているか否かを、チェックする。そして、受信したパスワードがS601にて受け付けたユーザIDに対応付けられてユーザデータベース15に登録されていない場合には、ユーザ認証サーバ13は、S703において、問合わせ元ユーザ端末18に対して、登録不可の旨を応答して、当該パスワードアプリ登録処理を終了する。これに対して、受信したパスワードがS601にて受け付けたユーザIDに対応付けられてユーザデータベース15に登録されている場合には、ユーザ認証サーバ13は、S704において、問合わせ元ユーザ端末18に対して、登録可の旨を応答して、次のS705において、問合わせ元ユーザ端末18からの可聴音域特定情報の受信を待つ。
図12に戻り、問合わせ元ユーザ端末18のCPU19は、S514において、銀行システム12からの応答が「登録不可」であると、当該銀行アプリによる処理を終了する。これに対して、銀行システム12からの応答が「登録可」であると、CPU19は、処理をS515へ進める。S515乃至S519の処理は、先に説明したS505乃至S509の処理と同じであるので、その説明を省略する。S519を完了すると、CPU19は、ユーザ認証を必要とする重大な取引のための処理へ進む。
図14に戻り、S704にて「登録済」を応答した後に実行されるS705において、ユーザ認証サーバ13は、問合わせ元ユーザ端末18がS519にて送信した可聴音域特定情報を受信する。
次のS706では、ユーザ認証サーバ13は、S601にて受け付けたユーザIDに対応つけて、ユーザデータベース15の可聴音域登録テーブル(図10)に、S705にて受信した可聴音域特定情報を登録する。別言すると、ユーザ認証サーバ13は、受信手段が前記ユーザ端末から受信した情報に、相互に対応付けて前記記憶手段に記憶されている前記個人識別情報及び前記パスワードの何れか組み合わせが含まれている場合に、前記受信手段が受信した情報に含まれる可聴音域特定情報を、S601にて受け付けた個人識別情報に対応付けて記憶手段(ユーザデータベース15)に記憶させる登録手段に相当する。
次のS707では、ユーザ認証サーバ13は、S601にて受け付けたユーザIDに対応つけて、ユーザデータベース15の可聴音域登録テーブル(図10)に、可聴音域登録済フラグをセットする。S707を完了すると、ユーザ認証サーバ13は、処理をS609へ進める。
以上に説明したように、本実施形態によると、顧客は、パスワードの代わりに、銀行アプリを起動してスピーカー24から高音が聴こえた時点で所定の動作をすることにより、認証を受けることができる。かかる可聴音域の上限は、個人に依存するので、偶然によって、同じ音域の音が発しているタイミングで他人が所定の動作をしてしまう蓋然性は低い。従って、通常のパスワードよりもセキュリティの強度は高く、その分だけ、なりすましの危険が通常のパスワードよりも低い。そして、可聴帯域の特定は機種には依存しないので、ユーザがユーザ端末18を変更した場合であっても、容易に認証を受けられることができる。