以下、実施例を図面を用いて説明する。
本実施例では,携帯端末を用いて本人認証および各種取引処理を行なう取引処理システムの例を説明する。なお,本実施例では表記を携帯端末に統一しているが,通信機能を持つ端末を全て含むとする。例えば,スマートフォンも含まれる。
図1は,本実施例の全体構成図である。ATM設置エリア102にあるATM114と,データセンタ103にある取引処理サーバ116,認証局117から構成される。また,ATMの近くには,携帯端末112あるいはスマートフォン113,および,それを操作するユーザ111がいて,携帯端末112あるいはスマートフォン113を使ってATM114を用いた取引処理を行なうものとする。
また,携帯端末112,スマートフォン113,ATM114はいずれも無線通信機能およびGPS受信機を備えており,お互いに無線通信できる。さらに,GPS受信機によって,GPS衛星101からの電波を受信して位置情報を取得できる。ここではGPSとしたが位置情報を特定できる情報ならよく、これに限定されるものではない。なお,ATM114を固定で設置する場合には位置情報が変わらないため,ATM114のディスク内に位置情報を事前に記録しておくことも可能であり,この場合はATM114にGPS受信機は不要である。
図2は,携帯端末112あるいはスマートフォン113の概略構成図である。本装置は,装置内の各ハードウェアを制御しプログラムを実行するCPU204,入出力を制御する端末入出力制御装置205,バス203,メモリ201,ディスク202,入出力画面を表示するディスプレイ206,入力情報を設定するためのキーおよびタッチパネル207,他機器と無線通信するための通信ハードウェア(無線)208,GPS衛星からの電波を受信するためのGPS受信部209から構成される。
ここで,メモリ201には,位置情報取得処理部211,位置判定処理部212,利用ATM選択処理部213,機器認証処理部214,通信暗号鍵交換処理部215,ユーザ認証方法選択処理部216,ユーザ認証処理部217,取引可否判定処理部218,取引実行処理部219が格納されている。
また,ディスク202は,公開鍵(携帯端末)を含む公開鍵証明書(携帯端末)221,前記の公開鍵(携帯端末)とペアになっている秘密鍵(携帯端末)222,公開鍵(ATM)223,本人認証のために事前に登録したユーザ認証情報224,リスクポイントデータテーブル225,ユーザ認証方法選択データテーブル226,条件判定設定データテーブル227,条件判定用データテーブル228,携帯端末実行プログラム229からなる。
図3は,ATM114の概略構成図である。本装置は,装置内の各ハードウェアを制御しプログラムを実行するCPU304,入出力を制御する端末入出力制御装置305,バス303,メモリ301,ディスク302,入出力画面を表示するディスプレイ306,入力情報を設定するためのキーおよびタッチパネル307,他機器と有線および無線通信するための通信ハードウェア(有線/無線)308,GPS衛星からの電波を受信するためのGPS受信部309,ATM内部に保管された現金を出金・入金するための出入金装置310から構成される。
ここで,メモリ301には,位置情報取得処理部311,ATM固有ID判定処理部312,機器認証処理部313,通信暗号鍵交換処理部314,環境情報取得処理部315,ユーザ認証情報送信処理部316,取引可否判定処理部317,取引実行処理部318が格納されている。
また,ディスク302は,公開鍵(ATM)を含む公開鍵証明書(ATM)321,前記の公開鍵(ATM)とペアになっている秘密鍵(ATM)322,公開鍵(携帯端末)323,ATM実行プログラム324からなる。条件判定設定データテーブル320は
ATM側でもってもよいし、携帯側でもってもよく限定されるものではない。
図4は,取引処理サーバ116の概略構成図である。本装置は,装置内の各ハードウェアを制御しプログラムを実行するCPU404,入出力を制御する端末入出力制御装置405,バス403,メモリ401,ディスク402,入出力画面を表示するディスプレイ406,入力情報を設定するためのキーボード407,他機器と通信するための通信ハードウェア408から構成される。
ここで,メモリ401には,ID関連情報抽出処理部411,ユーザ認証情報照合処理部412,取引実行処理部413が格納されている。
また,ディスク402は,口座情報データテーブル421,ユーザ認証情報データテーブル422,サーバ実行プログラム423からなる。
図5は,携帯端末112のディスク202にあるリスクポイントデータテーブル225のデータ構造例である。本データテーブルは,取引項目とリスクポイントとの対応関係を示している。列501はデータの識別子,列502は取引項目,列503はリスクポイントを示しており,同じ行のデータは対応関係があることを表現している。例えば,識別子が「1」のデータは,取引項目の「残高照会」と,リスクポイントの「1」が対応付くことを示している。以降の図6〜9も同様である。
図6は,図5と同様,リスクポイントデータテーブル225のデータ構造例である。本データテーブルは,ATM設置状況とリスクポイントとの対応関係を示している。列601はデータの識別子,列602はATM設置状況,列603はリスクポイントを示している。
図7は,携帯端末112のディスク202にあるユーザ認証情報データテーブル226のデータ構造例である。本データテーブルは,ユーザ認証情報とセキュリティポイントとの対応関係を示している。列701はデータの識別子,列702はユーザ認証情報,列703はセキュリティポイントを示している。
図8は,取引処理サーバ116のディスク402にある口座情報データテーブル421のデータ構造例である。本データテーブルは,IDと口座情報(口座番号,氏名,年齢,性別)との対応関係を示している。列801はID,列802は口座番号,列803は氏名,列804は年齢,列805は性別を示している。
図9は,取引処理サーバ116のディスク402にあるユーザ認証情報データテーブル422のデータ構造例である。本データテーブルは,IDとユーザ認証情報(パスワード,指紋情報,静脈情報)との対応関係を示している。列901はID,列902はパスワード,列903は指紋情報,列903は静脈情報を示している。
図25は,携帯端末112のディスク202にある条件判定設定データテーブル227のデータ構造例である。本データテーブルは,条件判定設定項目とその設定値との対応関係を示している。列2501は条件判定設定項目,列2502は設定値を示している。条件判定設定項目には,緯度の許容範囲:X0,経度の許容範囲:Y0,経過時間の許容範囲:T0,がある。なお,本実施例におけるT0の単位は秒である。
図26は,携帯端末112のディスク202にある条件判定用データテーブル228のデータ構造例である。本データテーブルは,条件判定用データ項目と,それらに対応する携帯端末およびATMでの入力データ,さらにこれらの入力データをもとに条件判定した結果を示している。列2601は項番,列2602は条件判定用データ項目,列2603は携帯端末の入力データ,列2604はATMの入力データ,列2605は判定結果を示している。条件判定用データ項目には,入力ボタンあるいは決定ボタンが押下されたかどうかを格納する「入力/決定ボタン押下状況」と,位置情報である緯度と経度を格納する「緯度」「経度」と,測定した経過時間を格納する「経過時間」,生成あるいは入力された認証用フレーズを格納する「認証用フレーズ」がある。
項番1の「入力/決定ボタン押下状況」には,ボタンが押されたか押されていないかを示す情報が記憶される。このボタンが押されたか押されていないかの情報を携帯端末、ATMそれぞれの装置毎に記憶される。例えば、ボタンが押されていない場合は0,入力ボタンが押下された場合は1,決定ボタンが押下された場合は2を格納する。ただし,1と2の格納の順番は,かならず1,2の順番とし,1が入力されていない状態では仮に決定ボタンが押下されても2を格納しない。
つまり、携帯端末とATMをみた場合、どちらか一方にボタンが押された情報である1が記憶されていないと、もう一方の決定ボタンを押してもボタンが押された情報は記憶されない。そして,項番1の列の2603と列2604に,1と2,あるいは,2と1の組合せが設定された場合に判定結果2605にOKを格納し,それ以外の場合ではNGを格納する。
項番2と3の「緯度」「経度」は,GPS衛星から取得した位置情報(緯度,経度)を携帯端末は列2603に,ATMは列2604にそれぞれ格納する。例えば10進法に変換した値を,携帯端末は列2603に,ATMは列2604にそれぞれ格納する。そして,緯度については,携帯端末とATMにおける緯度の差分の絶対値を計算し,それがX0(緯度の許容範囲)以内の場合に列2605にOKを格納し,それ以外ではNGを格納する。また,経度についても同様に差分の絶対値を計算し,それがY0(経度の許容範囲)以内の場合に列2605にOKを格納し,それ以外ではNGを格納する。なお,地下等の場所によってはGPS衛星から位置情報を取得できない場合がある。この場合は,判定不能という意味で,列2605に「−」を格納する。判定不能を表す情報であればよく「−」に限定されるものではない。
項番4の「経過時間」は,測定した経過時間を格納する。ただし,測定開始していない状態では「−」を格納する。携帯端末とATMの経過時間のいずれか一方でも「−」以外で,かつ,T0(経過時間の許容範囲)以内である場合は列2605にOKを格納し,それ以外ではNGを格納する。
項番5の「認証用フレーズ」は,携帯端末とATMでそれぞれ生成/入力された値を格納する。例えば,携帯端末で認証用フレーズを自動生成した場合,それを項番5の行の列2603に格納する。一方,ATMにユーザが認証用フレーズを入力した場合は,それを項番5の行の列2604に格納する。項番5の行の列2603と列2604の値を比較し,同一である場合は列2605にOKを格納し,それ以外ではNGを格納する。
なお,図2〜4の概略構成図では,図2にのみ,図25の条件判定設定データテーブルと,図26の条件判定用データテーブルを記載しているが,これらの2つのデータテーブルは取引実施可否の条件判定を行なう場所に格納すればよい。例えば,携帯端末で条件判定を行なう場合は,図2のように携帯端末のディスクに格納する。また,ATMで条件判定を行なう場合は,図3のATMのディスクに格納する。
以上が本実施例におけるシステム構成とデータ構造の概要である。
次に,本システムの動作と入力インタフェースについて説明する。
図10は本システム全体のフローチャート図である。本システムは,携帯端末実行プログラム229,ATM実行プログラム324,サーバ実行プログラム423がそれぞれ連携することで動作するものであり,図10はシステム全体のフロー概要を記載したものである。本フローチャートは,フェーズ1(携帯端末の操作インタフェース自動起動),フェーズ2(利用ATMの受付),フェーズ3(ATMおよび携帯端末の機器認証),フェーズ4(ユーザ認証),フェーズ5(取引の実行)から構成されており,上から順番に実行される。各フェーズの詳細は,図11〜16に記載しており,以降で詳しく説明する。なお,フェーズ5は処理方法によって2種類の例を記載している(図15,図16)。また,各図は,携帯端末等の要素における処理をボックス内に記載し,要素間のデータ送受信やユーザによる入力操作を矢印で表現している。
まずは,図11〜16を説明する前に,事前に行なう準備作業について説明する。
携帯電話には,携帯端末実行プログラムをインストールし,バックグラウンドで起動する。さらに,外部からの通信を受信できるように,携帯電話の無線通信機能をオンにする。また,フェーズ3の機器認証のために,秘密鍵(携帯端末)と公開鍵(携帯端末)の鍵ペアを生成する。そして,生成した公開鍵(携帯端末)を認証局に登録し,その公開鍵(携帯端末)に署名をつけた公開鍵証明書(携帯端末)を発行する。携帯端末には,秘密鍵(携帯端末)と公開鍵証明書(携帯端末)を保管する。さらに,処理実行可否の判定に利用する規定値(緯度の許容範囲:X0,経度の許容範囲:Y0,経過時間の許容範囲:T0)を設定して保管する。設定したデータは,図25の列2502に格納する。
次に,ATMにも,携帯端末と同様,ATMで生成した秘密鍵(ATM),認証局で発行した公開鍵証明書(ATM)を格納する。さらに,ATMでは,ATM固有のユニークなIDを設定して保管する。
また,携帯端末は,ATMから公開鍵証明書(ATM)を入手し,認証局にアクセスすることで公開鍵(ATM)を入手して内部に保管する。同様に,ATMでは,携帯端末から公開鍵証明書(携帯端末)を入手して,認証局にアクセスすることで公開鍵(携帯端末)を入手して内部に保管する。この処理は,事前に行なってもよいし,フェーズ1〜3 のいずれかで携帯端末とATM間で通信を行なう際に行ってもよい。
取引処理サーバでは,ユーザ認証を行なうために,ユーザ認証情報(パスワード,指紋パターン情報,静脈パターン情報,等)を事前に登録する。登録作業は銀行窓口で行なってもよいし,通信路を暗号化したインターネット経由で行なってもよい。
フェーズ1について図11を用いて説明する。本フェーズの要素は,ユーザ,携帯端末,ATMである。本フェーズは大きく位置情報取得と位置判定の2つで構成される。
まず,位置情報取得について説明する。ATMの位置情報取得処理部311がGPS衛星から位置情報(ATM)を取得する。この位置情報は緯度と経度で取得され,この後でATMの緯度および経度との差を算出するために,それぞれの値を10進法に変換する(ステップ1101)。その位置情報(ATM)と,ATMの固有IDおよびATM関連情報(営業時間,住所,等)を含むATM情報を,一定時間ごとに外部に対して発信する。携帯端末は,携帯端末実行プログラムをバックグラウンドで起動し,無線通信を受信状態にしておくことで,これらの情報を受信する(ステップ1102)。取得したATMの緯度は条件判定用データテーブル図26の項番2の列2604に格納し,経度は条件判定用データテーブル図26の項番3の列2604に格納する。その後,携帯端末の位置情報取得処理部211がGPS衛星から位置情報(携帯端末)を取得する。この値もATMの位置情報と同様,10進法に変換する(ステップ1103)。取得した携帯端末の緯度は図26の項番2の列2603に格納し,経度は条件判定用データテーブル図26の項番3の列2603に格納する。
次に位置判定について説明する。携帯端末の位置判定処理部212は,位置情報(携帯端末)と位置情報(ATM)の値を算出し,その差が,許容範囲内であるかどうかを確認する(ステップ1104)。具体的には,位置情報(携帯端末)の緯度を「Xa」,経度を「Ya」,位置情報(ATM)の緯度を「Xb」,経度を「Yb」とすると,その差分の絶対値を算出して,それぞれが規定値(緯度:X0,経度:Y0)以下であることが求められる。
つまり,|Xa−Xb|≦X0,|Ya−Yb|≦Y0,を満たすかどうかを判定する。データテーブルを用いて説明すると,図26の項番2の列2603と列2604の値について,差分の絶対値を算出する。その絶対値と図25の緯度の許容範囲X0の値とを比較し,X0以下である場合は図26の項番2の列2605にOKを格納する。
また,図26の項番3の列2603と列2604の値について,差分の絶対値を算出する。その絶対値と図25の経度の許容範囲Y0の値とを比較し,Y0以下である場合は図26の項番3の列2605にOKを格納する。図26のデータテーブルの項番2と3の列2605が両方ともOKの場合は,位置判定をOKと判断する。OKと判断した場合は,利用ATM選択処理部213が,図17のATM選択画面を表示する(ステップ1105)。ATM画面には,ステップ1102で受信したATM情報(ATMの固有IDおよびATM関連情報)を表示する。複数のATMからATM情報を受信した場合は,図17のATMリスト1702のように,複数のATMの固有IDを表示する。一方,位置判定がOKと判断されなかった場合は,これ以上先の処理は行なわない。
フェーズ2について図12を用いて説明する。本フェーズの要素は,ユーザ,携帯端末,ATMである。
図17のATM選択画面において,ユーザはATM候補リスト1702の中から,利用したいATMを選択し,選択ボタン1705を押下する(ステップ1201)。携帯端末がそれを受け付けて,選択されたATMの固有IDをATMへ送信する(ステップ1202)。ATMはそれを受信し,ATM固有ID判定処理部312は,そのATMの固有IDと,元々ATMが保有していた固有IDが一致するかどうかを確認する(ステップ1203)。もし一致していた場合は,以降の処理を行なう。
フェーズ3について図13を用いて説明する。本フェーズの要素は,ユーザ,携帯端末,ATMである。本フェーズは,機器認証(ATM),機器認証(携帯端末),暗号通信用鍵交換,の3つで構成される。
まず機器認証(ATM)について説明する。ATMの機器認証処理部313は,ATM情報をハッシュ値に変換して,秘密鍵(ATM)を用いて署名データを作成する(ステップ1301)。その署名データを携帯端末に送信する(ステップ1302)。携帯端末の機器認証処理部214は,受信した署名データを,公開鍵(ATM)を用いて復号する。また,既に受信済みのATM情報をハッシュ化し,前記の復号データと一致するかどうかを確認する(ステップ1303)。一致していた場合は,ATMが正規の機器であることが証明されるため,以降の処理を継続する。
次に機器認証(携帯端末)について説明する。携帯端末の機器認証処理部214は,携帯端末の関連情報(機種名,所有者名,等)をハッシュ値に変換して,秘密鍵(携帯端末)を用いて署名データを作成する(ステップ1304)。その署名データと,元の携帯端末の関連情報を携帯端末に送信する(ステップ1305)。ATMの機器認証処理部313は,受信した署名データを,公開鍵(携帯端末)を用いて復号する。また,携帯端末の関連情報をハッシュ化し,前記の復号データと一致するかどうかを確認する(ステップ1306)。一致していた場合は,携帯端末が正規の機器であることが証明されるため,以降の処理を継続する。
暗号通信用鍵交換について説明する。ATMの暗号通信用鍵交換処理部314は,暗号通信用の共通鍵を生成し,公開鍵(携帯端末)で暗号化する(ステップ1307)。暗号化した共通鍵を携帯端末に送信する(ステップ1308)。携帯端末の暗号通信用鍵交換処理部215は,受信したデータを秘密鍵(携帯端末)で復号し,暗号通信用の共通鍵を入手する(ステップ1309)。以降の処理はこの共通鍵を用いることで,携帯端末とATMの間の無線通信は全て暗号化して行なうことが出来る。
フェーズ4について図14を用いて説明する。本フェーズの要素は,ユーザ,携帯端末,ATM,取引処理サーバである。本フェーズは,ユーザ認証方法選択とユーザ認証の2つで構成される。
まずユーザ認証方法選択について説明する。携帯端末のユーザ認証方法選択処理部216は,図18の取引項目選択画面を表示する(ステップ1401)。取引項目一覧1802の中から,ユーザが1つの取引項目を選択し,選択ボタン1803を押下する(ステップ1402)。携帯端末はそれを受け付け,GPS受信部等の外部インタフェースから環境情報を取得する(ステップ1403)。
また,ステップ1402を行なった後,携帯端末はATMに対して環境情報の要求を行なう(ステップ1403)。それを受け,ATMの環境情報取得処理部315は,GPS受信部等の外部インタフェースから環境情報を取得する(ステップ1405)。ATMは,取得した環境情報を携帯端末へ送信する(ステップ1406)。本実施例では,ATMにおける環境情報として,「ATM設置状況」の例を示している。このATM設置状況とは,ATMの設置されている状況を示しており,「ATMコーナー(銀行窓口あり)」「駅構内のオープンスペース」などが選択肢として挙げられる。携帯端末では,取引項目と環境情報をもとに,リスクポイントデータテーブルを用いてそれぞれに対応するリスクポイントを導出し,それらの合計値を算出する。
そして,そのリスクポイントの合計値よりも大きなセキュリティポイントを持つものが,ユーザ認証方法選択の候補として選ばれる。例えば,取引項目が「引き出し」で,ATM設置状況が「ATMコーナー(ATM専用エリア)」の場合,図5から取引項目のリスクポイントが「5」,図6からATM設置状況のリスクポイントが「2」のため,合計が「7」になる。従って,7以上のセキュリティポイントを持つユーザ認証方法が選択候補となる。図7から,7以上のセキュリティポイントを持つユーザ認証方法は「指紋認証」「静脈認証」「パスワード+指紋認証」「パスワード+静脈認証」の4つであることが導出できる(ステップ1407)。その結果を踏まえ,図19のユーザ認証方法選択画面にこれらのユーザ認証方法選択候補を表示する(ステップ1408)。ユーザは,その画面のユーザ認証方法候補一覧1802から1つを選択し,選択ボタン1803を押下する(ステップ1409)。
次にユーザ認証について説明する。携帯端末のユーザ認証処理部217は,1409でユーザ認証方法が選択された後に,図20のユーザ認証画面を表示する(ステップ1410)。ユーザはユーザ認証画面においてIDとユーザ認証情報を入力する(ステップ1411)。この例では,パスワード認証と指紋認証を選択した場合の画面を表示している。入力後は,送信ボタン2005を押下されると,IDとユーザ認証情報をATMに送信する(ステップ1412)。ATMのユーザ認証情報送信処理部316は,IDとユーザ認証情報を受信したら,それを取引処理サーバに送信する(ステップ1413)。取引処理サーバのID関連情報抽出処理部411は,図8の口座情報データテーブルを用いて,IDに対応付く口座情報(口座番号,氏名,年齢,性別)を導出する。さらに,図9のユーザ認証情報データテーブルを用いて,IDに対応付くユーザ認証情報も導出する(ステップ1414)。次に,取引処理サーバのユーザ認証情報照合処理部413は,前記の導出したユーザ認証情報と,ATMから受信したユーザ認証情報とを照合し,一致するかどうかを確認する(ステップ1415)。一致する場合は処理を継続し,ATMへ認証結果を送信する(ステップ1416)。さらに,ATMは,受信した認証結果を携帯端末へ送信する(ステップ1417)。
フェーズ5について図15と図16を用いて説明する。本フェーズの要素は,ユーザ,携帯端末,ATM,取引処理サーバである。本フェーズは,取引可否判定と取引実行の2つで構成される。
なお,本フェーズの中で取引可否の判断を行なっており,本実施例では入力と決定の操作を携帯端末とATMで別々に行なわせていることが特徴である。2つの操作をどちらで行なうかによって処理フローが若干異なるため,図15と図16で別々に記載している。図15は入力を携帯端末で行ない,決定をATMで行なうパターンを示し,図16は入力をATMで行ない,決定を携帯端末で行なうパターンを示している。
フェーズ5のうち,図15のフローから先に説明する。
まず取引可否判定について説明する。携帯端末の取引可否判定処理部218は,図21の取引内容入力画面を表示する(ステップ1501)。一方,ATMでは,図22の取引確認画面を表示する(ステップ1502)。取引内容入力画面において,ユーザは取引内容を入力し,入力ボタンを押下する(ステップ1503)。入力ボタン押下のタイミングで,図26の項番1の列2603に「1」を格納する。携帯端末は入力ボタン押下を受け付けた後,認証用フレーズを自動発行する(ステップ1504)。この認証用フレーズはユーザにより任意に入力されるものでもよく、自動発行に限定されるものではない。認証用フレーズは,取引可否判定の条件の1つとして利用するものであり,事前に設定した条件(アルファベットや数字の組合せ,桁数,文字情報の組合わせ等)に合うフレーズを自動生成する。生成した認証用フレーズは,図26の条件判定用データテーブル228の項番5の列2603に格納する。
次に,認証用フレーズ生成時に経過時間Tのカウントを開始する(ステップ1505)。ちなみに,この認証用フレーズは入力ボタン押下前にユーザ自身が画面上で自由に記入して設定してもよい。経過時間Tのカウントの開始はこれに限定されるものではなく、入力ボタン受け付けのタイミング等任意に設定できる。この場合は,経過時間Tのカウントは入力ボタン押下時に開始する。一方,ATM側では,ステップ1502から,認証用フレーズを入力できる取引確認画面が表示されており,ユーザによる認証用フレーズの入力と,決定ボタンの押下を常時受け付けている(ステップ1506)。この決定ボタンが押下された場合,ATMはGPS衛星から位置情報(ATM)を取得し,それを10進法に変換する(ステップ1507)。
その後,ATMから,ATMで入力された認証用フレーズ,位置情報(ATM),決定ボタンが押下されたことの通知,を携帯端末に送信する(ステップ1508)。受信した認証用フレーズは,図26の条件判定用データテーブル228の項番5の列2604に格納する。また,受信した位置情報(ATM)のうち,緯度は図26の項番2の列2604に,経度は図26の項番3の列2604に格納する。また,決定ボタンが押下されたことの通知については,図26の項番1の列2604に「2」を格納する。携帯端末は,これらの情報を受信したタイミングで,経過時間Tのカウントを停止する(ステップ1509)。経過時間については,図26の項番4の列2603に格納する。さらに,携帯端末は,GPS衛星から位置情報(携帯端末)を取得し,それを10進法に変換する(ステップ1510)。位置情報(携帯端末)のうち,緯度は図26の項番2の列2603に,経度は図26の項番3の列2603に格納する。携帯端末側で,(条件1)携帯端末で入力ボタン押下後にATMで決定ボタンが押下されていること,(条件2)位置情報(携帯端末)と位置情報(ATM)が規定範囲内にあること,(条件3)経過時間Tが規定範囲内であること(Tが未測定の場合は条件を満たさないとする),(条件4)携帯端末で生成した認証用フレーズとATMから受信した認証用フレーズが一致すること,の全ての条件を満たしていることを確認し,全ての条件を満たしている場合に限って処理を継続する(ステップ1511)。
条件1〜4について,図26の条件判定用データテーブル228で説明する。まず,条件1は項番1に該当し,項番1の行の列2603に「1」,列2604に「2」が設定されている場合に列2605にOKを格納し,条件1を満たしていると判定する。
条件2は項番2と3に該当し,項番2の列2603と列2604の値の差分の絶対値が,X0(緯度の許容範囲)以内の場合に列2605にOKを格納する。また,項番3の列2603と列2604の値の差分の絶対値が,Y0(経度の許容範囲)以内の場合に列2605にOKを格納する。項番2と3の列2605が両方ともOKの場合に,条件2を満たしていると判定する。
条件3は項番4に該当し,項番4の列2603の値がT0(経過時間の許容範囲)以内である場合に列2605にOKを格納し,条件3を満たしていると判定する。計算式で説明すると,経過時間Tが「T≦T0」の場合に条件3を満たしていると判定する。
条件4は項番5に該当し,項番5の列2603と列2604の値を比較し,同一である場合に列2605にOKを格納し,条件4を満たしていると判定する。なお,本実施例では4つの条件を全て満たすことを要求しているが,条件2,3,4については必要に応じて条件から除外することも可能である。
上記では,ステップ1511において,条件1〜4を並列の条件として設定し,全ての条件を満たす場合,あるいは,特定の条件を満たす場合に,以降のステップを実施すると記載した。ただし,本発明では,これに限定せず,条件1〜4を連携させて処理することも想定している。その例を図27で示す。この例では,条件1と2だけで取引可否を判定するが,場所によってはGPS衛星からの位置情報を取得できない場合があるため,このような場合に条件3と4を用いて可否判定処理を補完している。
まず,条件1をチェックし,携帯端末で入力ボタンが押下され,さらにATMで決定ボタンが押下されたことを確認し,両者が押下されていた場合に処理を進める(ステップ2701)。このステップ2701は,図26で説明すると,項番1をチェックし,項番1の行の列2603に「1」,列2604に「2」が設定されている場合に列2605にOKを格納し,条件1を満たしていると判定する。
次に,条件2をチェックし,携帯端末とATMの位置情報の差の絶対値が規定範囲内であることを判定する(ステップ2702)。このステップ2701は,図26で説明すると,項番2の列2603と列2604の値の差分の絶対値が,X0(緯度の許容範囲)以内の場合に列2605にOKを格納する。また,項番3の列2603と列2604の値の差分の絶対値が,Y0(経度の許容範囲)以内の場合に列2605にOKを格納する。項番2と3の列2605が両方ともOKの場合に,条件2を満たしていると判定する。ただし,何らかの理由でGPS衛星から位置情報を取得できない場合もあり,この場合は列2605に「−」を格納する。
次に,条件2の判定結果を踏まえ,図26の項番2と3の列2605が共にOKなら,取引可否判定を「取引可」と判定し,ステップ1512以降を実行する(ステップ2706)。一方,いずれかがNGであれば(いずれか一方が「−」の場合を除く),「取引不可」と判定し,取引を中止する(ステップ2707)。さらに,いずれか一方が「−」の場合は,次のステップ2704を実行する。
ステップ2704では,条件3と条件4をチェックする。条件3は項番4に該当し,項番4の列2603の値がT0(経過時間の許容範囲)以内である場合に列2605にOKを格納する。また,条件4は項番5に該当し,項番5の列2603と列2604の値を比較し,同一である場合に列2605にOKを格納する。項番4と5の列2605が両方ともOKの場合に,「取引可」と判定する(ステップ2708)。一方,どちらか一方でもNGの場合は,「取引不可」と判定する(ステップ2709)。この条件判定の条件1か、条件2、条件3、条件4の判定の順序は限定されるものではなく、条件4や条件3が先に行われてもよく様々な組合せでされるものである。
また、この条件判定は、ATM側でしてもよいし、携帯端末側でもよいし、ATM、携帯電話と接続可能な外部装置でしてもよく、この実施例で処理される場所を限定するものではない。
次に取引実行について説明する。携帯端末の取引実行処理部219は,取引の実行を指示する取引実行通知をATMへ送信する。(ステップ1512)取引実行通知は取引内容を含むものであってもよい。さらに,ATMは,その取引実行通知を取引処理サーバへ送信する(ステップ1513)。取引処理サーバでは,受信した取引内容に従って取引を実行する(ステップ1514)。取引処理サーバは,取引処理終了後に,取引結果をATMへ送信する(ステップ1515)。さらに,ATMは,受信した取引結果を携帯端末に送信する(ステップ1516)。携帯端末では,取引結果を画面に表示し,取引結果を記録する(ステップ1517)。一方,ATMでも画面に取引結果を表示する(ステップ1518)。
次に,フェーズ5のもう1つの処理フロー(図16)について説明する。
まず取引可否判定について説明する。ATMの取引可否判定処理部317は,図23の取引内容入力画面を表示する(ステップ1601)。一方,携帯端末では,図24の取引確認画面を表示する(ステップ1602)。取引内容入力画面において,ユーザは取引内容を入力し,入力ボタンを押下する(ステップ1603)。ATMは入力ボタン押下時に経過時間Tのカウントを開始する(ステップ1604)。一方,携帯端末側では,ステップ1602から,取引確認画面が表示されており,ユーザによる決定ボタンの押下を常時受け付けている(ステップ1605)。この決定ボタンが押下された場合,携帯端末はGPS衛星から位置情報(携帯端末)を取得し,それを10進法に変換する(ステップ1606)。ここで、図16では表現されていないが、ATMは入力ボタン押下を受け付けた後,認証用フレーズを自動発行するものとしてもよい。またこの認証用フレーズはユーザにより任意に入力されるものでもよく、自動発行に限定されるものではない。認証用フレーズは,取引可否判定の条件の1つとして利用するものであり,事前に設定した条件(アルファベットや数字の組合せ,桁数,文字情報の組合わせ等)に合うフレーズを生成する。生成した認証用フレーズは,条件判定用データテーブル228の項番5の列2604に格納する。
その後,携帯端末から,位置情報(携帯端末),決定ボタンが押下されたことの通知,をATMに送信する(ステップ1607)。ATMは,これらの情報を受信したタイミングで,経過時間Tのカウントを停止する(ステップ1608)。さらに,ATMは,GPS衛星から位置情報(ATM)を取得し,それを10進法に変換する(ステップ1609)。携帯端末側で,(条件1)ATMで入力ボタン押下後に携帯端末で決定ボタンが押下されていること,(条件2)位置情報(携帯端末)と位置情報(ATM)が規定範囲内にあること,(条件3)経過時間Tが規定範囲内であること(Tが未測定の場合は条件を満たさないとする),の全ての条件を満たしていることを確認し,全ての条件を満たしている場合に限って処理を継続する(ステップ1610)。なお,図15のときに説明したときと同様,条件1〜3を並列の条件としてチェックする場合に限定せず,条件1〜3を連携させて処理することも想定している。処理フローの例は図27と同様である。ただし,図16では条件4は無いためこれは削除したものであるが、ATMが認証用フレーズを発行した場合は、更に携帯端末でユーザに認証用フレーズを入力させ、条件判定用データテーブル228の項番5の列2603に格納し、条件4として、条件判定用データテーブルの項番5の列2603と列2604の値を比較し,同一である場合に列2605にOKを表す情報を格納し,条件4を満たしていると判定する。
この例では,条件1と2だけで取引可否を判定するが,場所によってはGPS衛星からの位置情報を取得できない場合があるため,このような場合に条件3を用いて可否判定処理を補完している。また条件4がある場合は、条件4も用いて判定することでより精度を上げることが出来る。
次に取引実行について説明する。ATMの取引実行処理部219は,取引の実行を指示する取引実行通知を取引処理サーバへ送信する。(ステップ1611)取引実行通知は取引内容を含むものであってもよい。取引処理サーバでは,受信した取引内容に従って取引を実行する(ステップ1612)。取引処理サーバは,取引処理終了後に,取引結果をATMへ送信する(ステップ1613)。さらに,ATMは,受信した取引結果を携帯端末に送信する(ステップ1614)。携帯端末では,取引結果を画面に表示し,取引結果を記録する(ステップ1615)。一方,ATMでも画面に取引結果を表示する(ステップ1616)。