以下、本件を実施するための形態について図面を参照して説明する。
図1は情報処理システムSTの一例である。情報処理システムSTは職員端末10Aと役員端末10Bと携帯端末100とを含んでいる。また、情報処理システムSTは予約サーバ200と認証サーバ250とを含んでいる。尚、予約サーバ200が情報処理装置の一例である。さらに、情報処理システムSTは勘定系ホスト300とDatabase(DB)サーバ310と取引処理機400とを含んでいる。
尚、本実施形態では、金融機関の一例として銀行を利用して説明するが、証券会社や生命保険会社といった銀行以外の金融機関であってもよい。本実施形態では法人企業の代表者として社長を利用して説明するが、銀行取引を承認できる権限を有する者であれば、会長や副社長といった社長以外の代表者であってもよい。本実施形態では、代表者と同じ法人企業の職員として経理担当者を利用して説明するが、銀行取引の承認を依頼する者であれば経理担当者に限らず、総務担当者など経理担当者以外の者であってもよい。
職員端末10Aと役員端末10Bは第1の通信ネットワークNW1によって接続されている。第1の通信ネットワークNW1としては、例えばLocal Area Network(LAN)などがある。携帯端末100は、携帯端末100が携帯基地局BSの通信可能領域AR内に含まれている場合には、無線通信WLにより携帯基地局BSに接続することができる。無線通信WLとしてはLong Term Evolution(LTE)といった広域無線通信がある。
予約サーバ200と認証サーバ250はデータセンターDC内に設置される。データセンターDCはクラウドサービスといった情報処理サービスを提供するコンピュータシステムである。したがって、予約サーバ200は取引の予約に関するクラウドサービスを提供する。認証サーバ250はオンライン認証といったクラウドサービスを提供する。尚、オンライン認証の詳細については後述する。一方、勘定系ホスト300とDBサーバ310は業務システムS1としてデータセンターDCと異なる拠点に設置される。予約サーバ200をデータセンターDCに設置せずに、勘定系ホスト300及びDBサーバ310と同じ拠点に業務システムS1として設置してもよい。業務システムS1は銀行の業務を支援するコンピュータシステムである。特に、勘定系ホスト300は銀行が管理する銀行口座の勘定に関する業務を支援する。DBサーバ310は取引処理機400で実施される手続きの明細を記録し、顧客の預かり金収支を管理する。尚、業務システムS1と銀行の店舗BRに設置された取引処理機400は専用回線によって接続されている。
第1の通信ネットワークNW1、携帯基地局BS、予約サーバ200、認証サーバ250、勘定系ホスト300、及びDBサーバ310は第2の通信ネットワークNW2によって接続されている。第2の通信ネットワークNW2としては、例えばインターネットがある。したがって、例えば職員端末10A及び役員端末10Bは予約サーバ200にアクセスすることができる。例えば携帯端末100は無線通信WLを利用して認証サーバ250にアクセスすることができる。予約サーバ200は認証サーバ250や業務システムS1を介して取引処理機400にアクセスすることができる。
職員端末10Aは法人企業の経理を担当する経理課などに設置される端末装置である。図1では、職員端末10Aの一例としてPersonal Computer(PC)が示されているが、タブレット端末といったスマートデバイスであってもよい。職員端末10Aは経理課の職員である経理担当者P1によって操作される。例えば、経理担当者P1によって銀行取引に必要な取引情報(例えば銀行の口座番号や出金額など)が職員端末10Aに入力される。取引情報が入力されると、職員端末10Aは取引情報を予約サーバ200に送信する。予約サーバ200は取引情報の入力を受け付けると、取引情報を含む予約情報を生成して記憶する。詳細は後述するが、経理担当者P1は予約情報に含まれる取引情報が社長P2に承認されるまで待機する。取引情報が承認されると、経理担当者P1は代理人用の法人キャッシュカードCRDを持参して銀行の店舗BRに向かい、取引処理機400を操作して取引情報に応じた取引を行う。
役員端末10Bは経理担当者P1が所属する法人企業の社長室などに設置される端末装置である。図1では、役員端末10Bの一例としてPCが示されているが、タブレット端末といったスマートデバイスであってもよい。一方、携帯端末100は法人企業の代表者である社長P2が携帯する端末装置である。図1では、携帯端末100の一例としてスマートフォンが示されているが、タブレット端末といったスマートデバイスやスマートウォッチといったウェアラブル端末であってもよい。役員端末10B及び携帯端末100はいずれも社長P2によって操作される。例えば、予約サーバ200へのログインを開始するログイン画面を表示する操作が役員端末10Bに対して行われると、役員端末10Bはログイン画面を表示する。携帯端末100は社長P2の操作に応じて役員端末10Bが表示するログイン画面の一部を撮像して、社長P2の生体情報を利用したオンライン認証を開始する。尚、オンライン認証は携帯端末100の生体認証機能とインターネットなどの通信回線を利用して社長P2などの利用者を認証する認証方式である。オンライン認証のプロトコルとしては、例えば生体認証と公開鍵暗号方式の両方を利用したFast IDentity Online(FIDO)認証などが知られている。オンライン認証が成功した場合、役員端末10Bは取引情報の承認を求める承認画面を表示する。携帯端末100は社長P2の操作に応じて役員端末10Bが表示する承認画面の一部を撮像し、社長P2の生体情報を利用したオンライン認証を開始する。オンライン認証が成功した場合、役員端末10Bは取引情報の承認が完了したことを提示する完了画面を表示する。これにより、経理担当者P1は銀行の店舗BRに向かうことができる。
尚、本実施形態では、ログイン時と承認時の両方にオンライン認証を利用しているが、ログイン時と承認時のいずれか一方にオンライン認証する実施形態であってもよい。また、詳細は後述するが、取引情報の承認時には生体認証を含まない認証方式(例えばパスワード認証など)が選択されて実行されてもよい。
以下、情報処理システムSTの詳細について説明する。
図2は携帯端末100のハードウェア構成の一例である。図2に示すように、携帯端末100は、ハードウェアプロセッサとしてのCentral Processing Unit(CPU)100A、Random Access Memory(RAM)100B、Read Only Memory(ROM)100C、Non-Volatile Memory(NVM)100D、及び広域通信回路100Eを含んでいる。広域通信回路100Eは広域無線通信を実現するハードウェア回路である。広域通信回路100Eにはアンテナ100E´が接続されている。
また、携帯端末100は、生体認証センサ100F、カメラ100G、タッチパネル100H、ディスプレイ100I、及びスピーカ100Jを含んでいる。特に、生体認証センサ100Fは社長P2を識別できる指紋の情報を事前に記憶している。したがって、社長P2が自身の指を生体認証センサ100Fにかざせば、生体認証センサ100Fは社長P2の指紋の情報を取得し、生体認証センサ100Fが記憶する指紋の情報と照合することにより、携帯端末100を操作する者が社長P2本人であるか否かを識別することができる。尚、本実施形態では、指紋の情報を生体情報一例として説明するが、生体情報は虹彩や静脈、手のひらなどの情報であってもよい。
一方、カメラ100Gは二次元コードリーダを含んでいる。二次元コードリーダはQRコード(登録商標)といった二次元コードを読み取って解析する機能である。したがって、カメラ100Gが二次元コードを撮像すると、携帯端末100は二次元コードが有する種々の情報(例えばアクセス先を示すUniform Resource Locator(URL)など)を取得することができる。CPU100Aからスピーカ100Jまでは、内部バス100Kによって互いに接続されている。尚、CPU100Aに代えてMicro Processing Unit(MPU)をハードウェアプロセッサとして利用してもよい。
上述したRAM100Bには、ROM100CやNVM100Dに記憶されたプログラムがCPU100Aによって一時的に格納される。格納されたプログラムをCPU100Aが実行することにより、CPU100Aは後述する各種の処理を実行する。尚、プログラムは後述する処理シーケンス図に応じたものとすればよい。
図3は予約サーバ200のハードウェア構成の一例である。尚、上述した職員端末10A、役員端末10B、認証サーバ250、勘定系ホスト300、DBサーバ310については基本的に予約サーバ200と同様のハードウェア構成であるため、説明を省略する。図3に示すように、予約サーバ200は、少なくともハードウェアプロセッサとしてのCPU200A、RAM200B、ROM200C及びネットワークI/F(インタフェース)200Dを含んでいる。CPU200Aに代えてMPUをハードウェアプロセッサとして利用してもよい。予約サーバ200は、必要に応じて、Hard Disk Drive(HDD)200E、入力I/F200F、出力I/F200G、入出力I/F200H、ドライブ装置200Iの少なくとも1つを含んでいてもよい。CPU200Aからドライブ装置200Iまでは、内部バス200Jによって互いに接続されている。すなわち、予約サーバ200はコンピュータによって実現することができる。
入力I/F200Fには、入力装置710が接続される。入力装置710としては、例えばキーボードやマウスなどがある。出力I/F200Gには、表示装置720が接続される。表示装置720としては、例えば液晶ディスプレイがある。入出力I/F200Hには、半導体メモリ730が接続される。半導体メモリ730としては、例えばUniversal Serial Bus(USB)メモリやフラッシュメモリなどがある。入出力I/F200Hは、半導体メモリ730に記憶されたプログラムやデータを読み取る。入力I/F200F及び入出力I/F200Hは、例えばUSBポートを備えている。出力I/F200Gは、例えばディスプレイポートを備えている。
ドライブ装置200Iには、可搬型記録媒体740が挿入される。可搬型記録媒体740としては、例えばCompact Disc(CD)-ROM、Digital Versatile Disc(DVD)といったリムーバブルディスクがある。ドライブ装置200Iは、可搬型記録媒体740に記録されたプログラムやデータを読み込む。ネットワークI/F200Dは、例えばLANポートを備えている。ネットワークI/F200Dは上述した第2の通信ネットワークNW2と接続される。
上述したRAM200Bには、ROM200CやHDD200Eに記憶されたプログラムがCPU200Aによって一時的に格納される。RAM200Bには、可搬型記録媒体740に記録されたプログラムがCPU200Aによって一時的に格納される。格納されたプログラムをCPU200Aが実行することにより、CPU200Aは後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述する処理シーケンス図に応じたものとすればよい。
図4は予約サーバ200のブロック図の一例である。図5(a)は法人情報記憶部211の一例である。図5(b)は個人情報記憶部212の一例である。図5(c)は予約情報記憶部213の一例である。尚、図4では予約サーバ200が実現する機能の要部が示されている。
予約サーバ200は記憶部210、通信部220、及び処理部230を含んでいる。特に、記憶部210は法人情報記憶部211、個人情報記憶部212、及び予約情報記憶部213を含んでいる。一方、処理部230は受付部231、判定部232、及び制御部233を含んでいる。尚、法人情報記憶部211、個人情報記憶部212、及び予約情報記憶部213は上述したHDD200Eによって実現することができる。通信部220は上述したネットワークI/F200Dによって実現することができる。受付部231、判定部232、及び制御部233は上述したCPU200Aが後述する処理シーケンス図に応じたプログラムを実行することにより実現することができる。
法人情報記憶部211は法人企業に関する法人情報を記憶する。法人情報は、図5(a)に示すように、第1管理テーブルT1により管理される。第1管理テーブルT1はユーザコードフィールド、ユーザ名フィールド、店番フィールド、科目フィールド、口座番号フィールド、及び暗証番号フィールドを構成要素として含んでいる。ユーザコードフィールドには法人企業を特定するユーザコードが登録される。ユーザ名フィールドには法人企業の企業名が登録される。店番フィールドには法人企業が取引する銀行の支店を特定する番号(以下、店番という)が登録される。科目フィールドには銀行口座の口座種別(例えば普通預金を表す普通や当座預金を表す当座など)が登録される。口座番号フィールドには銀行との預金取引の際に法人企業に割り当てられた銀行口座の口座番号が登録される。暗証番号フィールドには予約取引用又は予約取引専用(以下、単に予約取引用という)の暗証番号が登録される。この予約取引専用の暗証番号は一般的なキャッシュカードとして使用される暗証番号とは相違する。尚、店番、口座種別、及び口座番号の組み合わせによって法人企業を特定することができる。言い換えれば、店番、口座種別、及び口座番号の組み合わせは法人企業を識別する識別情報に相当する。
個人情報記憶部212は法人企業に所属する個人の個人情報を記憶する。個人情報は、図5(b)に示すように、第2管理テーブルT2により管理される。第2管理テーブルT2は個人IDフィールド、ユーザコードフィールド、氏名フィールド、属性フィールド、及びパスワードフィールドを構成要素として含んでいる。個人IDフィールドには法人企業に所属する個人を識別する識別子が登録される。ユーザコードフィールドには個人が所属する法人企業のユーザコードが登録される。氏名フィールドには個人の氏名が登録される。属性フィールドには個人の役職などの属性が登録される。パスワードフィールドには予約サーバ200へのログインが認められる対象であるか否かを認証するパスワードが登録される。
予約情報記憶部213は経理担当者P1が入力した取引情報を含む予約情報を記憶する。予約情報は、図5(c)に示すように、第3管理テーブルT3により管理される。第3管理テーブルT3は予約番号フィールド、取引種別フィールド、店番フィールド、科目フィールド、及び口座番号フィールドを構成要素として含んでいる。また、第3管理テーブルT3は金額フィールド、ステータスフィールド、認証方式フィールド、及び認証結果フィールドを構成要素として含んでいる。
予約番号フィールドには予約情報を識別する予約番号が登録される。予約番号は予約サーバ200によって生成される。取引種別フィールドには取引の種別が登録される。本実施形態では一例として出金を説明するが、取引の種別としては入金や税金の納付などであってもよい。店番フィールド、科目フィールド、及び口座番号フィールドには上述した店番、口座種別、及び口座番号がそれぞれ登録される。金額フィールドには取引種別に応じた金額が登録される。尚、経理担当者P1は取引の種別、店番、科目、口座番号、及び金額を取引情報として職員端末10Aに入力する。
ステータスフィールドは認証の状況(又は状態)及び予約取引の処理の状況(又は状態)が登録される。認証方式フィールドには認証の方式が登録される。例えば生体認証と公開鍵暗号方式を利用したオンライン認証が行われた場合には、認証方式フィールドには生体認証が登録される。パスワード認証が行われた場合には、認証方式フィールドにはPW認証が登録される。認証結果フィールドには認証結果が登録される。ステータスフィールドに認証前や認証中といった状況が登録されている場合には、認証結果フィールドには認証がまだ完了していないことを表す情報が登録される。
通信部220は予約サーバ200と職員端末10A、役員端末10B、携帯端末100、及び認証サーバ250との通信を制御する。また、通信部220は予約サーバ200と取引処理機400との通信を制御する。例えば、通信部220は職員端末10Aから送信された取引情報を受信すると、受信した取引情報を受付部231に出力する。通信部220は取引処理機400から送信された識別情報及び認証情報を受信すると、受信した識別情報及び認証情報を受付部231に出力する。尚、詳細は後述するが、識別情報は上述した店番、口座種別、及び口座番号を含んでいる。また、詳細は後述するが、識別情報には予約サーバ200の処理を制御する制御情報が対応付けられていることもある。通信部220は取引処理機400から送信された予約番号を受信すると、受信した予約番号を受付部231に出力する。その他、通信部220は各種の情報を受信して受付部231に出力する。また、通信部220は制御部233から出力された各種の情報を受け付けて、認証サーバ250などに送信する。
受付部231は通信部220から出力された識別情報及び認証情報の入力を受け付ける。すなわち、受付部231は取引処理機400から送信された識別情報及び認証情報の入力を、通信部220を介して受け付ける。受付部231は識別情報及び認証情報の入力を受け付けると、識別情報及び認証情報を判定部232に出力する。また、受付部231は通信部220から出力された予約番号の入力を受け付ける。すなわち、受付部231は取引処理機400から送信された予約番号の入力を、通信部220を介して受け付ける。受付部231は予約番号の入力を受け付けると、予約番号を判定部232に出力する。
判定部232は受付部231から出力された識別情報及び認証情報を受け付けると、法人情報記憶部211を参照して、認証成否の判定を行う。より詳しくは、判定部232は識別情報及び認証情報を受け付けると、法人情報記憶部211を参照して、識別情報に含まれる店番、口座種別、及び口座番号の組み合わせに応じた暗証番号を認証情報として特定する。判定部232は認証情報を特定すると、受け付けた認証情報と照合する。判定部232は照合した結果、受け付けた認証情報が特定した認証情報と一致した場合、認証成功と判定する。一方、判定部232は照合した結果、受け付けた認証情報が特定した認証情報と一致しなかった場合、認証失敗と判定する。
判定部232は認証成功と判定すると、識別情報に上述した制御情報が対応付けられているか否かに応じて、識別情報に対応する銀行口座での取引が予約済か否かの予約確認判定を行う処理を実行するか否かを決定する。例えば、識別情報に制御情報が対応付けられていない場合、判定部232は予約確認判定を行う処理を実行しないと決定する。一方、識別情報に制御情報が対応付けられている場合、判定部232は予約確認判定を行う処理を実行すると決定する。
判定部232は、予約確認判定を行う処理を実行すると決定すると、予約情報記憶部213を参照して、受け付けた予約番号を含む予約情報の有無を確認し、予約確認判定を行う。判定部232は予約番号を含む予約情報を確認できた場合、取引が予約済であると判定し、確認できた予約情報に含まれる認証方式を特定する。一方、判定部232は予約番号を含む予約情報を確認できなかった場合、取引が予約済でないと判定し、予約番号の再入力を求める情報を制御部233に出力する。
制御部233は取引が予約済である場合、予約済の取引を承認した際に利用された認証方式に応じて、予約済の取引の実行手順を制御する。より詳しくは、制御部233は判定部232が特定した認証方式が生体認証を含む場合、又は、生体認証と公開鍵暗号方式の両方を利用したオンライン認証である場合、社長P2の再承認を依頼せずに、予約済の取引を実行する。この場合、制御部233は通信部220に画面情報として後述する情報提示画面を出力する。これにより、通信部220は情報提示画面を取引処理機400に送信する。一方、制御部233は判定部232から出力された認証方式が生体認証を含まない場合、社長P2に再承認を依頼して、予約済の取引の実行を停止する。この場合、制御部233は通信部220に画面情報として後述する認証依頼画面を出力する。これにより、通信部220は認証依頼画面を取引処理機400に送信する。
続いて、図6から図12を参照して、情報処理システムSTの第1の動作について説明する。
図6は取引の予約が完了するまでの処理の一例を表す処理シーケンス図(その1)である。図7は取引の予約が完了するまでの処理の一例を表す処理シーケンス図(その2)である。図8は取引の予約が完了するまでの処理の一例を表す処理シーケンス図(その3)である。尚、図6及び図7並びに図7及び図8は対応する記号「A1」などによって連続している。
図9(a)は認証前の予約情報の一例である。図9(b)は認証中の予約情報の一例である。図9(c)は認証済の予約情報の一例である。図10(a)はログイン画面の一例である。図10(b)はログイン時の生体認証の一例を説明する図である。図11(a)は承認画面の一例である。図11(b)は承認時の生体認証の一例を説明する図である。図12(a)は完了画面の一例である。図12(b)は確認画面の一例である。
経理担当者P1が取引情報を職員端末10Aに入力する場合、まず、経理担当者P1は職員端末10Aに対してログイン画面の表示を要求する操作を行う。職員端末10Aは当該操作が行われると、予約サーバ200にアクセスし、予約サーバ200からログイン画面を取得する。尚、職員端末10Aからログイン画面が要求された場合、予約サーバ200では通信部220が個人IDとパスワードの入力を求めるログイン画面を送信する。
ここで、図6に示すように、経理担当者P1が個人IDとパスワード(図6においてID/PWと表記)を職員端末10Aに入力する操作を行うと、職員端末10Aは個人IDとパスワードを予約サーバ200に向けて送信する(ステップS101)。予約サーバ200では、通信部220が個人IDとパスワードを受信すると、判定部232が個人IDとパスワードの組み合わせに基づいて、認証成否の判定を行う。認証が成功した場合、通信部220は取引画面を職員端末10Aに向けて送信する(ステップS102)。
職員端末10Aは予約サーバ200から送信された取引画面を受信すると、取引画面を表示する(ステップS103)。取引画面は取引情報の入力を求める画面であり、取引種別、店番、口座種別、口座番号、及び金額の項目をそれぞれ入力する複数の入力欄を含んでいる。経理担当者P1はこれらの項目を入力する操作を行い終えると、職員端末10Aは取引情報を予約サーバ200に向けて送信する(ステップS104)。
予約サーバ200では、通信部220が取引情報を受信すると、判定部232が予約番号を生成し、予約番号と取引情報と認証の状況を示す情報とを含む予約情報を予約情報記憶部213に格納する。これにより、図9(a)に示すように、予約情報記憶部213は認証前の予約情報を記憶する。判定部232が予約情報を格納すると、通信部220は依頼画面を職員端末10Aに向けて送信する(ステップS105)。
職員端末10Aは予約サーバ200から送信された依頼画面を受信すると、依頼画面を表示する(ステップS106)。依頼画面は取引情報の承認を求める画面であり、入力された取引種別、店番、口座種別、口座番号、及び金額の項目をそれぞれ表示する複数の表示欄と承認の依頼を指示する操作ボタンなどを含んでいる。経理担当者P1はこれらの項目を確認し、操作ボタンを押下する操作を行うと、職員端末10Aは承認依頼を予約サーバ200に向けて送信する(ステップS107)。
予約サーバ200では、通信部220が承認依頼を受信すると、制御部233が認証サーバ250に対し処理を要求する(ステップS108)。より詳しくは、制御部233は認証サーバ250に対し予約番号を送信し、二次元コードを生成する処理を要求する。認証サーバ250は制御部233から処理が要求されると、二次元コードを生成し(ステップS109)、生成した二次元コードを予約サーバ200に向けて送信する(ステップS110)。二次元コードは予約サーバ200のURLと無作為な文字列(以下、ランダム文字列という)などを含んでいる。二次元コードに予約番号を含めてもよい。
予約サーバ200では、通信部220が二次元コードを受信すると、制御部233が二次元コードと操作ボタンを一部に含むログイン画面を生成する。ログイン画面に含まれる操作ボタンはオンライン認証をパスワード認証に切り替えるためのボタンである。制御部233がログイン画面を生成すると、通信部220は制御部233が生成したログイン画面を役員端末10Bに向けて送信する(ステップS111)。
役員端末10Bは予約サーバ200から送信されたログイン画面を受信すると、ログイン画面を表示する(ステップS112)。役員端末10Bが表示するログイン画面は、図10(a)に示すように、予約サーバ200へのログインを求める画面であり、二次元コード11と操作ボタンBT1とを含んでいる。操作ボタンBT1を押下する操作が役員端末10Bに対して行われた場合、役員端末10B又は予約サーバ200はオンライン認証を求めるログイン画面を、パスワード認証を求めるログイン画面に切り替える。
社長P2が操作ボタンBT1を押下する操作を行わずに、携帯端末100に対して二次元コード11の撮像を指示する操作を行うと、図10(a)に示すように、携帯端末100は二次元コード11を撮像する。携帯端末100が二次元コード11を撮像すると、図7に示すように、携帯端末100は二次元コード11を解析する(ステップS113)。携帯端末100が二次元コード11を解析し終えると、携帯端末100は秘密鍵と公開鍵のペアを生成し、ランダム文字列を秘密鍵で暗号化し、携帯端末100を識別する情報(以下、携帯IDという)と対応付けた第1メッセージを生成する。携帯端末100は第1メッセージを生成すると、二次元コード11に含まれるURLが示す予約サーバ200に向けて第1メッセージを送信する(ステップS114)。より詳しくは、携帯端末100は秘密鍵を保持し、第1メッセージと公開鍵とを予約サーバ200に向けて送信する。
予約サーバ200では、通信部220が第1メッセージを受信すると、制御部233が認証サーバ250に対し手続を要求する(ステップS115)。より詳しくは、制御部233は通信部220が第1メッセージと公開鍵とを受信すると、通信部220に対し第1メッセージと公開鍵を認証サーバ250に転送するよう指示する。これにより、通信部220は第1メッセージと公開鍵を認証サーバ250に転送する。
認証サーバ250は予約サーバ200から転送された第1メッセージと公開鍵を受信すると、初期手続を実行する(ステップS116)。より詳しくは、認証サーバ250は受信した公開鍵により第1メッセージを復号して、ランダム文字列を復元する。認証サーバ250は二次元コード11に含めたランダム文字列と、復元したランダム文字列とを照合して照合結果を検証する。認証サーバ250は照合結果を検証した結果、2つのランダム文字列が一致することを確認すると、第1メッセージに対応付けられた携帯IDと公開鍵とを対応付けて保持し、初期手続の完了を予約サーバ200に通知する。
初期手続の完了が通知されると、予約サーバ200では、制御部233が携帯端末100に対し生体照合を要求する(ステップS117)。携帯端末100は生体照合が要求されると、生体認証を要求する画面を表示する。図10(b)に示すように、社長P2が自身の手指FGを生体認証センサ100Fにかざすことにより、生体認証センサ100Fは指紋の情報を取得する。そして、携帯端末100は生体認証センサ100Fが記憶する指紋の情報と、生体認証センサ100Fが取得した指紋の情報とを照合する。携帯端末100は肯定的な照合結果(具体的には照合成功)である場合、照合結果を秘密鍵により暗号化して携帯IDと対応付けた第2メッセージを生成し、予約サーバ200に向けて送信する(ステップS118)。携帯端末100は第2メッセージを送信すると、図10(b)に示すように、生体認証を要求する画面を、オンライン認証中であることを提示する画面に切り替える。
予約サーバ200では、通信部220が第2メッセージを受信すると、制御部233が認証サーバ250に対し認証を要求する(ステップS119)。より詳しくは、制御部233は通信部220が第2メッセージを受信すると、通信部220に対し第2メッセージの認証サーバ250への転送を指示する。これにより、通信部220は第2メッセージを認証サーバ250に転送する。
認証サーバ250は予約サーバ200から転送された第2メッセージを受信すると、認証処理を実行する(ステップS120)。より詳しくは、認証サーバ250は自身が保持する公開鍵の中から第2メッセージに対応付けられた携帯IDと共通する携帯IDと対応付けられた公開鍵を特定し、特定した公開鍵により第2メッセージの復号を試行する。認証サーバ250は第2メッセージを復号できた場合、認証成功と判断して二次元コードを生成し(ステップS121)、生成した二次元コードを予約サーバ200に向けて送信する(ステップS122)。二次元コードは予約サーバ200のURLとランダム文字列などを含んでいる。認証サーバ250は二次元コードに予約番号を含めてもよい。
予約サーバ200では、通信部220が二次元コードを受信すると、制御部233が二次元コードと操作ボタンと取引情報とを含む承認画面を生成する。承認画面に含まれる操作ボタンはオンライン認証をパスワード認証に切り替えるためのボタンである。制御部233が承認画面を生成すると、図8に示すように、通信部220は制御部233が生成した承認画面を役員端末10Bに向けて送信する(ステップS123)。
役員端末10Bは予約サーバ200から送信された承認画面を受信すると、承認画面を表示する(ステップS124)。役員端末10Bが表示する承認画面は、図11(a)に示すように、取引情報の承認を求める画面であり、二次元コード12と操作ボタンBT2とを含んでいる。尚、図11(a)では店番、口座種別、及び口座番号などは省略されている。操作ボタンBT2を押下する操作が役員端末10Bに対して行われた場合、役員端末10B又は予約サーバ200はオンライン認証を求める承認画面を、パスワード認証を求める承認画面に切り替える。
社長P2が操作ボタンBT2を押下する操作を行わずに、携帯端末100に対して二次元コード12の撮像を指示する操作を行うと、図11(a)に示すように、携帯端末100は二次元コード12を撮像する。携帯端末100が二次元コード12を撮像すると、図8に示すように、携帯端末100は二次元コード11を解析する(ステップS125)。携帯端末100が二次元コード12を解析し終えると、携帯端末100は改めて秘密鍵と公開鍵のペアを生成し、ランダム文字列を秘密鍵で暗号化して携帯IDと対応付けた第3メッセージを生成する。携帯端末100は第3メッセージを生成すると、二次元コード12に含まれるURLが示す予約サーバ200に向けて第3メッセージを送信する(ステップS126)。より詳しくは、携帯端末100は秘密鍵を保持し、第3メッセージと公開鍵とを予約サーバ200に向けて送信する。
予約サーバ200では、通信部220が第3メッセージを受信すると、制御部233が認証サーバ250に対し手続を要求する(ステップS127)。より詳しくは、制御部233は通信部220が第3メッセージと公開鍵とを受信すると、通信部220に対し第3メッセージと公開鍵の認証サーバ250への転送を指示する。これにより、通信部220は第3メッセージと公開鍵を認証サーバ250に転送する。
認証サーバ250は予約サーバ200から転送された第3メッセージと公開鍵を受信すると、初期手続を実行する(ステップS128)。より詳しくは、認証サーバ250は受信した公開鍵により第3メッセージを復号して、ランダム文字列を復元する。認証サーバ250は二次元コード12に含めたランダム文字列と、復元したランダム文字列とを照合して照合結果を検証する。認証サーバ250は照合結果を検証した結果、2つのランダム文字列が一致することを確認すると、第3メッセージに対応付けられた携帯IDと公開鍵とを対応付けて保持し、初期手続の完了を予約サーバ200に通知する。
初期手続の完了が通知されると、予約サーバ200では、判定部232が予約情報を更新する。より詳しくは、図9(b)に示すように、判定部232は予約情報のステータスフィールドに登録された認証前を認証中に変更し、認証方式フィールドに生体認証を登録する。判定部232が予約情報を更新すると、制御部233が携帯端末100に対し生体照合を要求する(ステップS129)。携帯端末100は生体照合が要求されると、生体認証を要求する画面を表示する。図11(b)に示すように、社長P2は再び自身の手指FGを生体認証センサ100Fにかざすことにより、生体認証センサ100Fは指紋の情報を取得する。そして、携帯端末100は生体認証センサ100Fが記憶する指紋の情報と、生体認証センサ100Fが取得した指紋の情報とを照合する。携帯端末100は肯定的な照合結果(具体的には照合成功)である場合、照合結果を秘密鍵により暗号化して携帯IDと対応付けた第4メッセージを生成し、予約サーバ200に向けて送信する(ステップS130)。携帯端末100は第4メッセージを送信すると、図11(b)に示すように、生体認証を要求する画面を、オンライン認証中であることを提示する画面に切り替える。
予約サーバ200では、通信部220が第4メッセージを受信すると、制御部233が認証サーバ250に対し認証を要求する(ステップS131)。より詳しくは、制御部233は通信部220が第4メッセージを受信すると、通信部220に対し第4メッセージの認証サーバ250への転送を指示する。これにより、通信部220は第4メッセージを認証サーバ250に転送する。
認証サーバ250は予約サーバ200から転送された第4メッセージを受信すると、認証処理を実行する(ステップS132)。より詳しくは、認証サーバ250は自身が保持する公開鍵の中から第4メッセージに対応付けられた携帯IDと共通する携帯IDと対応付けられた公開鍵を特定し、特定した公開鍵により第4メッセージの復号を試行する。認証サーバ250は第4メッセージを復号できた場合、認証結果として認証成功を予約サーバ200に通知する。
認証成功が通知されると、予約サーバ200では、判定部232が認証結果を登録し、認証結果を職員端末10A及び役員端末10Bに通知する(ステップS133)。より詳しくは、図9(c)に示すように、判定部232は予約情報のステータスフィールドに登録された認証中を認証済に変更し、認証結果フィールドに認証結果として成功を登録する。判定部232が認証結果を登録すると、制御部233が認証結果を職員端末10A及び役員端末10Bに通知する。
社長P2は予約サーバ200からの通知に基づいて役員端末10Bに対して完了画面の表示を要求する操作を行うと、役員端末10Bは予約サーバ200にアクセスし、予約サーバ200から完了画面を取得する。完了画面は取引の承認完了を提示する画面である。これにより、図12(a)に示すように、役員端末10Bは完了画面を表示する(ステップS134)。尚、役員端末10Bから完了画面が要求された場合、予約サーバ200では通信部220が完了画面を送信する。
一方、経理担当者P1は予約サーバ200からの通知に基づいて職員端末10Aに対して確認画面の表示を要求する操作を行うと、職員端末10Aは予約サーバ200にアクセスし、予約サーバ200から確認画面を取得する。確認画面は予約番号を提示する画面である。これにより、図12(b)に示すように、職員端末10Aは確認画面を表示する(ステップS135)。尚、職員端末10Aから確認画面が要求された場合、予約サーバ200では通信部220が確認画面を送信する。
経理担当者P1は確認画面により取引情報が承認されたことを確認すると、予約番号を紙などに控えて、代理人用の法人キャッシュカードCRDを持参して銀行の店舗BRに向かう。そして、経理担当者P1は店舗BRで取引処理機400を操作して、取引情報に応じた取引の実行を開始する。
続いて、図13から図16を参照して、情報処理システムSTの第2の動作について説明する。
図13は取引の予約が完了した後の処理の一例を表す処理シーケンス図(その1)である。図14は取引の予約が完了した後の処理の一例を表す処理シーケンス図(その2)である。図15(a)は取引の予約が完了した後の処理の一例を表す処理シーケンス図(その3)である。図15(b)は取引の予約が完了した後の処理の一例を表す処理シーケンス図(その4)である。図16(a)~(h)は取引処理機400に表示される画面の一例である。尚、図13及び図14、図14並びに図15(a)及び図15(b)は対応する記号「A5」などによって連続している。
まず、図13に示すように、取引処理機400は法人キャッシュカードCRDを受け付ける(ステップS201)。より詳しくは、図16(a)に示すように、取引処理機400は予約取引を特定する操作ボタンBT3を含むメニュー画面を表示した状態で待機している。取引処理機400は予約取引を特定する操作ボタンBT3を押下する操作を検出すると、図16(b)に示すように、メニュー画面を、法人キャッシュカードCRDの挿入を促す受付画面を表示する。経理担当者P1が受付画面を確認して法人キャッシュカードCRDを取引処理機400の挿入口に挿入すると、取引処理機400は法人キャッシュカードCRDを受け付ける。取引処理機400は法人キャッシュカードCRDを受け付けると、予約サーバ200に対し、暗証入力画面の送信を要求する。
予約サーバ200では、通信部220が取引処理機400から暗証入力画面の送信が要求されると、暗証入力画面を取引処理機400に向けて送信する(ステップS202)。取引処理機400は暗証入力画面を受信すると、図16(c)に示すように、暗証入力画面を表示する(ステップS203)。経理担当者P1は暗証入力画面を操作して予約取引用の暗証番号を入力する。取引処理機400は予約取引用の暗証番号の入力完了を検出すると、図13に示すように、識別情報と認証情報とを予約サーバ200に向けて送信する(ステップS204)。より詳しくは、取引処理機400は、法人キャッシュカードCRDに記録された店番、口座種別、及び口座番号の組み合わせに対応する識別情報と予約取引用の暗証番号に対応する認証情報とを予約サーバ200に送信する。取引処理機400は、識別情報に上述した制御情報が対応付けられている場合、制御情報も予約サーバ200に向けて送信する。
予約サーバ200では、通信部220が識別情報と認証情報を受信すると、受付部231は識別情報と認証情報の入力を受け付ける(ステップS205)。通信部220が制御情報を受信した場合、受付部231は制御情報の入力も受け付ける。受付部231が識別情報と認証情報の入力を受け付けると、判定部232は認証成否の判定を行う(ステップS206)。より詳しくは、判定部232は法人情報記憶部211を参照して、識別情報に対応する暗証番号を認証情報として特定する。判定部232は認証情報を特定すると、特定した認証情報と受け付けた認証情報とを照合する。2つの認証情報を照合した結果、2つの認証情報が一致しなかった場合、制御部233は通信部220に後述する予約入力画面の送信を中止させる。この場合、通信部220は取引処理機400にメニュー画面を送信し、予約取引を特定する操作ボタンBT3以外の別の操作ボタンBT3の押下を促す。このように、予約サーバ200は一般的なキャッシュカードの暗証番号とは異なる予約取引用の暗証番号を認証情報として管理しており、認証が失敗した場合には、後続の処理を実行しない。したがって、社長P2は経理担当者P1に予約取引用の暗証番号を伝えても、通常のキャッシュカードで利用される暗証番号ではないため、経理担当者P1は取引処理機400を操作して予約された取引以外の取引を行うことができない。結果的に、経理担当者P1による不正な取引の実行を回避することができる。一方、2つの認証情報を照合した結果、2つの認証情報が一致した場合、制御部233は受付部231が制御情報の入力を受け付けたか否かに応じて、通信部220に予約入力画面を送信させるか否かを決定する。
制御部233は受付部231が制御情報の入力を受け付けたと判定した場合、通信部220に予約入力画面を送信させる。これにより、通信部220は取引処理機400に向けて予約入力画面を送信する(ステップS207)。取引処理機400は予約入力画面を受信すると、図16(d)に示すように、予約入力画面を表示する(ステップS208)。
尚、制御部233は受付部231が制御情報の入力を受け付けていないと判定した場合、通信部220に予約入力画面の送信を中止させる。この場合、通信部220は取引処理機400にメニュー画面を送信し、予約取引を特定する操作ボタンBT3以外の別の操作ボタンBT3の押下を促す。このように、経理担当者P1が取引処理機400に対して予約取引を求めても、法人キャッシュカードCRDに記録された識別情報に制御情報が対応付けられていない場合、経理担当者P1は予約取引に応じた取引を行うことができない。結果的に、経理担当者P1による不正な取引の実行を回避することができる。
ステップS208の処理において、取引処理機400が予約入力画面を表示すると、経理担当者P1は予約入力画面を操作して予約番号を入力する。取引処理機400は予約番号の入力完了を検出すると、予約番号を予約サーバ200に向けて送信する(ステップS209)。
予約サーバ200では、図14に示すように、通信部220が予約番号を受信すると、判定部232が予約済か否かの判定を行う(ステップS210)。より詳しくは、判定部232は予約情報記憶部213を参照し、通信部220が受信した予約番号を含む予約情報の有無を確認し、予約確認判定を行う。判定部232は予約番号を含む予約情報を確認できた場合、取引が予約済であると判定し(ステップS210:YES)、確認できた予約情報に含まれる認証方式を特定する(ステップS211)。認証方式は予約情報に含まれているため(図5(c)参照)、判定部232は確認できた予約情報に含まれる認証方式を特定することができる。
ステップS211の処理が完了すると、次いで、判定部232は特定した認証方式が生体認証であるか否かの判定を行う(ステップS212)。判定部232は認証方式が生体認証であると判定した場合(ステップS212:YES)、通信部220は情報提示画面を取引処理機400に向けて送信する(ステップS213)。取引処理機400は情報提示画面を受信すると、図16(e)に示すように、情報提示画面を表示する(ステップS214)。情報提示画面は取引情報としての提示情報の確認を来店者(すなわち、経理担当者P1)に促す画面である。
経理担当者P1は情報提示画面内の操作ボタンBT4を押下して取引情報の確認を入力する。取引処理機400は取引情報確認の入力完了を検出すると、提示情報を勘定系ホスト300に向けて送信する(ステップS215)。取引処理機400は提示情報を送信すると、図16(f)に示すように、所定の案内画面を表示する。案内画面は後述する取引選択画面が表示されるまで取引処理機400の来店者に取引処理機400の前での待機を求める画面である。
勘定系ホスト300は提示情報を受信すると、提示情報に含まれる店番、口座種別、及び口座番号によって特定される法人企業の銀行口座に記録された金銭情報を、提示情報に含まれる金額を減算した金銭情報に書き換えて、減額分に応じた出金情報を取引処理機400に通知する(ステップS216)。すなわち、勘定系ホスト300は法人企業の銀行口座に預金された預金額を提示情報に含まれる金額を減らした預金額に更新し、減額分を通知する。取引処理機400は出金情報が通知されると、DBサーバ310に出金情報を通知する。これにより、DBサーバ310は出金情報を保持して管理し(ステップS217)、予約取引の完了を取引処理機400に通知する。
一方、取引処理機400はDBサーバ310から予約取引の完了が通知されると、予約サーバ200に予約情報の更新を依頼する。予約サーバ200では、通信部220が予約情報の更新が依頼されると、判定部232が第3管理テーブルT3のステータスフィールドに認証済として登録した状況を処理済といった次の状況に変更し、取引選択画面を取引処理機400に向けて送信する(ステップS218)。取引処理機400は取引選択画面を受信すると、図16(g)に示すように、取引選択画面を表示する(ステップS219)。取引選択画面は取引処理機400の来店者に取引の選択を要求する画面である。
経理担当者P1は取引選択画面に含まれる複数の操作ボタンの中から、例えば現金の払い出しを取引処理機400に指示する操作ボタンBT5を押下する操作を行うと、図15(a)に示すように、取引処理機400は選択情報をDBサーバ310に向けて送信する(ステップS220)。したがって、経理担当者P1が操作ボタンBT5を押下する操作を行った場合、取引処理機400は現金の払い出しを選択したことを表す選択情報を送信する。
DBサーバ310は選択情報を受信すると、出金情報を削除し(ステップS221)、取引処理機400に出金を要求する(ステップS222)。取引処理機400はDBサーバ310から出金が要求されると、出金取引を実行する(ステップS223)。すなわち、取引処理機400は提示情報に含まれる金額の現金を払い出す。これにより、経理担当者P1は現金を受け取ることができる。出金取引を実行し終えると、メニュー画面を表示して(ステップS224)、次の来店者を待機する。このように、経理担当者P1が払い出すことができる金額は事前に社長P2の承認を得た金額に限定され、その金額を上回る金額の取引を行うことができない。尚、経理担当者P1が取引選択画面において操作ボタンBT5以外の操作ボタンを押下した場合、取引処理機400はDBサーバ310が管理する出金情報を利用して操作ボタン内に表示された文字列の内容に応じた取引を実行する。
ここで、上述したステップS210の処理において、判定部232は予約番号を含む予約情報を確認できなかった場合、取引が予約済でないと判定し(ステップS210:NO)、図15(a)に示すように、判定部232及び通信部220はステップS211,S212,S213,S218の処理をスキップする。この場合、図15(a)において図示しないが、判定部232は予約番号の再入力を求める情報を制御部233に出力する。これにより、制御部233は通信部220に予約番号の再入力を求める画面の送信を指示し、通信部220は予約入力画面を取引処理機400に向けて送信する。
また、上述したステップS212の処理において、判定部232は認証方式が生体認証でないと判定した場合(ステップS212:NO)、図15(b)に示すように、通信部220は認証依頼画面を取引処理機400に向けて送信する(ステップS225)。取引処理機400は認証依頼画面を受信すると、図16(h)に示すように、認証依頼画面を表示する(ステップS226)。認証依頼画面は取引処理機400の来店者(すなわち、経理担当者P1)に承認者の生体認証の依頼を要求する画面である。
経理担当者P1は認証依頼画面に含まれる複数の操作ボタンの中から、例えば認証の依頼を取引処理機400に指示する操作ボタンBT6を押下する操作を行うと、取引処理機400、勘定系ホスト300又は予約サーバ200の通信部220のいずれかが携帯端末100に向けて生体認証を求める通知を送信する。そして、社長P2が当該通知に基づいて、携帯端末100に対して自身の手指FGを生体認証センサ100Fにかざす操作を行い、オンライン認証が成功すると、取引処理機400は出金取引を実行する。これにより、経理担当者P1は現金を受け取ることができる。
以上、本実施形態によれば、予約サーバ200は処理部230を有し、処理部230は受付部231、判定部232、及び制御部233を含んでいる。受付部231は、ユーザである法人企業を識別する口座番号などを含む識別情報と、暗証番号といった認証情報の入力を受け付ける。判定部232は、識別情報と認証情報の組み合わせに応じた認証が成功した場合、識別情報に対応する銀行口座での取引が予約済であるか否かの判定を行う。制御部233は取引が予約済である場合、予約済の取引を承認した際に利用した認証方式に応じて、予約済の取引の実行手順を制御する。これにより、不正な取引の実行を抑制することができる。
特に、通帳と捺印済の取引伝票が店舗BRに持ち込まれた場合には、取引伝票で指定された取引の実行が承認され、かつ、同時に印鑑照合により承認者の本人確認も実施されるが、本実施形態では事前に取引の実行が承認され、本人確認は承認時より後に予約取引用の暗証番号といった認証情報の入力により行われる。すなわち、取引の実行の承認と本人確認の時期が分離している。これにより、承認者である社長P2は自身が指定した取引のみを代理人である経理担当者P1に実行させることができる。
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、上述した実施形態では、予約サーバ200が法人情報記憶部211及び個人情報記憶部212を備えていたが、予約サーバ200に代えて、又は予約サーバ200とともに、勘定系ホスト300が法人情報記憶部211及び個人情報記憶部212を備えていてもよい。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)ユーザを識別する識別情報と、認証情報の入力を受け付け、前記識別情報と前記認証情報の組み合わせに応じた認証が成功した場合、前記識別情報に対応する口座での取引が予約済であるか否かの判定を行い、前記取引が予約済である場合、予約済の取引を承認した際に利用された認証方式に応じて、前記予約済の取引の実行手順を制御する、処理をコンピュータに実行させることを特徴とする制御プログラム。
(付記2)前記認証方式が前記予約済の取引を承認した承認者の生体認証を含む方式である場合、前記承認者の再承認を要求せずに、前記予約済の取引を実行する、ことを特徴とする付記1に記載の制御プログラム。
(付記3)前記認証方式が前記予約済の取引を承認した承認者の生体認証と公開鍵暗号方式の両方を利用したオンライン認証である場合、前記承認者の再承認を要求せずに、前記予約済の取引を実行する、ことを特徴とする付記1に記載の制御プログラム。
(付記4)前記認証方式が前記予約済の取引を承認した承認者の生体認証を含まない方式である場合、前記承認者の再承認を要求し、前記予約済の取引の実行を停止する、ことを特徴とする付記1から3のいずれか1項に記載の制御プログラム。
(付記5)前記識別情報と前記認証情報の入力を受け付けた場合、前記識別情報に前記判定を制御する制御情報が対応付けられているか否かに応じて、前記判定を行う処理を実行するか否か決定する、ことを特徴とする付記1から4のいずれか1項に記載の制御プログラム。
(付記6)前記取引が予約済である場合、予約済の取引を承認した、前記入力を受け付けた受付時より前である予約時に利用された認証方式に応じて、前記予約済の取引の実行手順を制御する、ことを特徴とする付記1から5のいずれか1項に記載の制御プログラム。
(付記7)前記認証情報は前記予約済の取引を認証するための情報である、ことを特徴とする付記1から6のいずれか1項に記載の制御プログラム。
(付記8)ユーザを識別する識別情報と、認証情報の入力を受け付け、前記識別情報と前記認証情報の組み合わせに応じた認証が成功した場合、前記識別情報に対応する口座での取引が予約済であるか否かの判定を行い、前記取引が予約済である場合、予約済の取引を承認した際に利用された認証方式に応じて、前記予約済の取引の実行手順を制御する、処理をコンピュータが実行することを特徴とする制御方法。
(付記9)ユーザを識別する識別情報と、認証情報の入力を受け付け、前記識別情報と前記認証情報の組み合わせに応じた認証が成功した場合、前記識別情報に対応する口座での取引が予約済であるか否かの判定を行い、前記取引が予約済である場合、予約済の取引を承認した際に利用された認証方式に応じて、前記予約済の取引の実行手順を制御する、処理を実行する処理部を有する情報処理装置。
(付記10)前記処理部は、前記認証方式が前記予約済の取引を承認した承認者の生体認証を含む方式である場合、前記承認者の再承認を要求せずに、前記予約済の取引を実行する、ことを特徴とする付記9に記載の情報処理装置。
(付記11)前記処理部は、前記認証方式が前記予約済の取引を承認した承認者の生体認証と公開鍵暗号方式の両方を利用したオンライン認証である場合、前記承認者の再承認を要求せずに、前記予約済の取引を実行する、ことを特徴とする付記9に記載の情報処理装置。
(付記12)前記処理部は、前記認証方式が前記予約済の取引を承認した承認者の生体認証を含まない方式である場合、前記承認者の再承認を要求し、前記予約済の取引の実行を停止する、ことを特徴とする付記9から11のいずれか1項に記載の情報処理装置。
(付記13)前記処理部は、前記識別情報と前記認証情報の入力を受け付けた場合、前記識別情報に前記判定を制御する制御情報が対応付けられているか否かに応じて、前記判定を行う処理を実行するか否か決定する、ことを特徴とする付記9から12のいずれか1項に記載の情報処理装置。
(付記14)前記処理部は、前記取引が予約済である場合、予約済の取引を承認した、前記入力を受け付けた受付時より前である予約時に利用された認証方式に応じて、前記予約済の取引の実行手順を制御する、ことを特徴とする付記9から13のいずれか1項に記載の情報処理装置。
(付記15)前記認証情報は前記予約済の取引を認証するための情報である、ことを特徴とする付記9から14のいずれか1項に記載の情報処理装置。