[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5484823B2 - カードレス決済のための情報処理装置、カードレス決済システム、カードレス決済方法、キャッシュレス決済方法およびプログラム - Google Patents

カードレス決済のための情報処理装置、カードレス決済システム、カードレス決済方法、キャッシュレス決済方法およびプログラム Download PDF

Info

Publication number
JP5484823B2
JP5484823B2 JP2009191672A JP2009191672A JP5484823B2 JP 5484823 B2 JP5484823 B2 JP 5484823B2 JP 2009191672 A JP2009191672 A JP 2009191672A JP 2009191672 A JP2009191672 A JP 2009191672A JP 5484823 B2 JP5484823 B2 JP 5484823B2
Authority
JP
Japan
Prior art keywords
user
payment
settlement
partial information
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009191672A
Other languages
English (en)
Other versions
JP2011043983A (ja
Inventor
充広 小村
建 島崎
卓 小谷
智子 赤間
Original Assignee
株式会社ジャパンネット銀行
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ジャパンネット銀行 filed Critical 株式会社ジャパンネット銀行
Priority to JP2009191672A priority Critical patent/JP5484823B2/ja
Publication of JP2011043983A publication Critical patent/JP2011043983A/ja
Application granted granted Critical
Publication of JP5484823B2 publication Critical patent/JP5484823B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本発明は、ネットワークを介した電子決済技術に関し、より詳細には、ユーザビリティが高く、かつセキュリティ性を向上したカードレス決済のための情報処理装置、カードレス決済システム、カードレス決済方法、キャッシュレス決済方法およびプログラムに関する。
近年ネットワーク技術やコンピュータ技術に進歩により、ネットワークを介した商品購入を行うことが容易になっている。ネットワークを介して商品購入やサービス購入を行う電子商取引、いわゆるeコマースでは、商品・サービスの購入者は、商品・サービスの提供者に対して商品購入要求を送付し、クレジット・カードやデビット・カードなどのカード番号を提供者に送付する。
提供者は、ユーザからの商品購入要求を受領すると、提供者を管理するアクワイアラにユーザおよびカード番号を問合わせ、アクワイアラを経由してユーザに対する認証およびカード番号情報の確認に成功すると、提供者は、ユーザとの間で購入契約を締結し、商品の発送を行い、クレジット・カードやデビット・カードによる対価の支払を、アクワイアラに請求する。アクワイアラは、提供者の代わりにクレジット・カードやデビット・カードの発行元(以下、発行元ノードとして参照する。)などに請求を行う。発行元は、アクワイアラからの支払要求を受領すると、アクワイアラに対して精算を行い、さらにアクワイアラは、加盟店ノードに対して精算を行う。
一方、発行元は、ユーザが銀行口座を開設する銀行に請求を行って、ユーザの銀行口座からの支払を受領し、ネットワークを介したe−コマースのスキームが完結する。なお、デビット・サービスの場合、デビット・カードの発行権限は、銀行が保有し、デビット・サービスを要求するユーザが、当該銀行に預金口座を有する場合に、銀行がデビット・カードを当該ユーザに対して発行する。
現在上述したeコマースにおける代金決済の方法には、クレジット・カードやデビット・カードが利用されている。クレジット・カードは、ユーザの銀行口座からの代金決済が、eコマースによる商品・サービスに関する購入契約完了と、銀行口座からの代金引き落としが、購入契約完了後1月から2月後に行われるのが通常である。一方、デビット・カードは、銀行ノードが発行元ノードの機能を有する融合ノードとして機能しており、このため、商品・サービスに関する購入契約完了と、銀行口座からの代金引き落としとがほぼ同期して行われるキャッシュレス・サービスが可能とされる。
クレジット・カードは、銀行口座からの代金引き落としが購入契約完了後の一定期間内に行われるので、ユーザは現在の銀行預金残高を気にすることなく、一定期間後の預金残高を考えて商品・サービスの購入を行うことができる。一方、デビット・カードは、銀行口座からの引落が、購入契約完了とほぼ同時に行われる。このため、デビット・カードは、購買契約と、代金決済完了までの時間的サイクルが短いので、カード番号詐取などに対して迅速に対応できるという利点がある。
従来から、上述したデビット・カードを利用するキャッシュレス決済を行うシステムが種々提案されている。例えば、特開2008−305392号公報(特許文献1)では、金融機関に口座を有するユーザの端末装置(ユーザ端末)が通信ネットワークを介して接続され、このユーザに対して決済機能を備えたカードを発行する発行者が管理するサーバ装置によって、このユーザに対して有効期限付きのカード決済サービスを提供する方法が記載されている。
また、特開2001−357202号公報(特許文献2)では、インターネット上において、リアルタイムに決済を行うことができると共に、決済コストを低減するために、コンピュータである電子銀行は、利用者毎の金融取引情報を記憶する記憶手段と、利用者からインターネットにより送信されてきた決済情報を受信する決済情報受信手段と、決済情報受信手段で受信した決済情報に基づいて、利用者間の決済を実行する決済実行手段と、決済実行手段で実行した決済内容を反映させるため、記憶手段に記憶されたその利用者の金融取引情報を更新する更新手段とを備えるシステムが記載されている。
さらに、特表2003−507824号公報(特許文献3)では、要求者の状態を提供者により電子的に照合して商取引を行うためのシステムにおいて、 メモリに関連付けられたホストマイクロプロセッサと、 ホストコンピュータと通信するための通信装置とを備え、 上記メモリは、使用制限付取引識別番号と、上記使用制限付取引識別番号に対応付けられた個人識別情報とを含んでおり、 上記使用制限付取引識別番号は、ランダムに発生された番号と、時間発生スタンプとを備えていることを特徴とする商取引を行うためのシステムを記載する。特許文献3のシステムは、カード番号をランダムに発生させ、有効期限を与えるタイムスタンプをリアルタイムで発行することを可能とすることで、カード番号の迅速な発行を可能とし、効率的なキャッシュレス・サービスを提供する。
また、特表2004−524605号公報(特許文献4)では、リモート認証サービスプロバイダは、消費者名および固有の消費者コードに基づく消費者の高速認証を容易にするために、消費者データを管理し、固有の消費者コードは、消費者により保有されるハードウェアトークンによって生成されるワンタイムパスワード(OTP)である。リモート認証サービスプロバイダは、トークンにより生成されたパスワードが正当であることを確かめるシステムが開示されている。
さらに、特開2004−259152号公報(特許文献5)では、複数の決済手段の中から、決済金額に応じていずれか1つの決済手段を自動的に選択して決済を行えるようにするためPOS装置、携帯端末、クレジット会社コンピュータ、金融機関コンピュータを使用するシステムが記載されている。このシステムでは、携帯端末は、POS装置から決済金額が送られてくると、決済手段決定テーブルを参照して、その決済金額に対応した決済手段を決定し、決定された決済手段で決済するための決済情報および決済金額を含んだ決済要求信号がPOS装置へ送信される。POS装置は、この決済要求信号に基づいて決済手段を判別し、決済手段に対応する決済処理が行われる。
特開2008−305392号公報 特開2001−357202号公報 特表2003−507824号公報 特表2004−524605号公報 特開2004−259152号公報
上述した先行技術では、消費者や顧客の功利的管理を行う店、カード番号の効率的な発行およびワンタイム・パスワードの利用などによるセキュリティ向上などが可能とされている。しかしながら、上述したシステムおよび方法は、消費者の認証、決済処理の効率化などを目的とするものであり、物理的にデビット・カードを発行することなく、デビット・サービスを提供することを目的とするものではない。
また、物理的にカードを発行することなくキャッシュレス・サービスを提供する際に、カード番号詐取などの個人情報漏洩リスクを最低化させながら、ユーザに対して手軽にキャッシュレス・サービスを提供することを目的とするものではない。さらに、キャッシュレス・サービスの普及に伴ない、キャッシュレス・サービスにおけるカード番号管理および個人情報管理を効率化させることを課題とするものではない。
本発明は、上記従来技術の問題点に鑑みてなされたものであり、物理的なカードの発行を伴うことなく、高い利便性で、セキュリティの高いカードレス決済のための情報処理装置、カードレス決済システム、カードレス決済方法、キャッシュレス決済方法およびプログラムを提供することを目的とする。
本発明は、上記従来技術の問題点に鑑みてなされたものであり、本発明は、クレジット・カードとは異なり、デビット・サービスでは、デビット・サービス利用と、代金振り替えとを実質的に同期化できるので、購入契約完了と同時にデビット・カードを無効化しても、デビット・カードの利用と代金決済とを独立して管理することが可能であることに着目し、デビット・サービスによる決済を承認し、デビット・サービス利用の承認と同時に無効化される決済承認番号を、ワンタイムデビット番号として発行する。
すなわち、本発明によれば、ネットワークを介して電子商取引における代金決済を物理的カードを発行することなく実行する情報処理装置であって、前記情報処理装置は、
前記情報処理装置に対し前記ネットワークを介してアクセスするユーザのログイン認証を行うログイン認証部と、
前記ログイン認証が成功したユーザについてユーザ認証を実行するユーザ認証部と、
前記ユーザ認証に成功したユーザが前記電子商取引での代金決済を前記情報処理装置が行うために利用する決済承認番号を生成するための数字列からなる部分情報を部分情報データベースからランダムに採番する部分情報取得部と、
前記部分情報取得部が取得した前記部分情報と、代金決済のための制御情報を結合して前記ユーザ認証に成功したユーザに固有でありかつ前記代金決済の成功により無効化される前記決済承認番号を生成する決済承認番号生成部と、
前記ネットワークを介して決済の要求を受領して前記決済の要求が含む前記決済承認番号の有効性を判断し、前記決済承認番号が有効の場合に代金決済に指定された金額について、前記ユーザの口座番号から引落しを指令すると共に、決済の成功に応答して前記ユーザの前記決済承認番号を無効化する決済要求処理部と
を含む、情報処理装置が提供できる。
本発明では、前記部分情報取得部は、乱数発生部を含み、前記乱数発生部が生成した乱数列を、前記部分情報データベースから検索して既リースでない部分情報を前記部分情報データベースから取得することができる。本発明では、前記情報処理装置は、さらに前記口座番号を有するユーザを管理するユーザ・データベースを含み、前記ユーザ・データベースは、前記ユーザについて発行された前記決済承認番号を前記ユーザに対応付けて登録することができる。
本発明では、前記情報処理装置は、前記決済の要求に関連する代金決済の履歴を記録する決済ログ・データベースを含み、前記決済の成功に応答して、前記決済承認番号を、前記ユーザ・データベースから前記決済ログ・データベースに移動させることにより無効化することができる。
本発明では、前記情報処理装置は、銀行口座を管理する銀行が設置する銀行サービス・サーバであり、前記決済承認番号は、デビット・サービスについての代金決済の承認を与えることができる。
本発明では、ネットワークを介して電子商取引における代金決済を物理的カードを発行することなく実行するカードレス決済システムであって、情報処理装置であって、前記カードレス決済システムは、
前記ネットワークに接続されたユーザ・ノードと、
前記ネットワークに接続され、前記ユーザ・ノードとの間で相互通信可能な銀行サービス・サーバとを含み、前記銀行サービス・サーバは、
前記情報処理装置に対し前記ネットワークを介してアクセスする前記ユーザ・ノードから送付されるアクセス要求についてログイン認証を行うログイン認証部と、
前記ログイン認証が成功した場合、前記ユーザ・ノードから送付された前記アクセス要求についてユーザ認証を実行するユーザ認証部と、
前記ユーザ認証に成功した場合、前記ユーザ・ノードが前記電子商取引での代金決済を前記情報処理装置により行うために利用する決済承認番号を生成するための数字列からなる部分情報を、部分情報データベースからランダムに採番する部分情報取得部と、
前記部分情報と、代金決済のための制御情報を結合して前記カードレス決済システム上で固有であり、かつ前記代金決済の成功により無効化される前記決済承認番号を生成する決済承認番号を前記ユーザ・ノードについて生成する決済承認番号生成部と、
前記ネットワークを介して決済の要求を受領して前記決済の要求が含む前記決済承認番号の有効性を判断し、前記決済承認番号が有効の場合に代金決済に指定された金額について、前記ユーザ・ノードに対応付けられた口座番号から引落しを指令すると共に、決済の成功に応答して前記ユーザ・ノードの前記決済承認番号を無効化する決済要求処理部と
を含む、カードレス決済システムが提供できる。
本発明では、前記部分情報取得部は、乱数列発生部を含み、前記乱数発生部が生成した乱数列を、前記部分情報データベースから検索して既リースでない部分情報を前記部分情報データベースから取得することができる。
本発明では、前記情報処理装置は、前記決済の要求に関連する代金決済の履歴を記録する決済ログ・データベースを含み、前記決済の成功に応答して、前記決済承認番号を、前記ユーザ・データベースから前記決済ログ・データベースに移動させることにより無効化することができる。本発明では、前記銀行サービス・サーバは、銀行口座を提供する銀行が管理し、前記決済承認番号は、デビット・サービスについての代金決済の承認を与えることができる。
本発明では、ネットワークを介して電子商取引における代金決済を物理的カードを発行することなく実行する情報処理装置が実行するカードレス決済方法であって、前記情報処理装置が、
前記情報処理装置に対し前記ネットワークを介してアクセスするユーザのログイン認証を行うステップと、
前記ログイン認証が成功したユーザについてユーザ認証するステップと、
前記ユーザ認証に成功したユーザが前記電子商取引での代金決済を前記情報処理装置により行うために利用する決済承認番号を生成するための数字列からなる部分情報を部分情報データベースからランダムに採番するステップと、
前記部分情報取得部が取得した前記部分情報と、代金決済のための制御情報を結合して前記ユーザ認証に成功したユーザに固有でありかつ前記代金決済の成功により無効化される前記決済承認番号を生成するステップと、
前記ネットワークを介して決済の要求を受領して前記決済の要求が含む前記決済承認番号の有効性を判断し、前記決済承認番号が有効の場合に代金決済に指定された金額について、前記ユーザの口座番号から引落しを指令すると共に、決済の成功に応答して前記ユーザの前記決済承認番号を無効化するステップと
を実行するカードレス決済方法が提供できる。
本発明では、前記ランダムに採番するステップは、乱数列を生成し、生成した乱数列で前記部分情報データベースを照会して既リースでない部分情報を前記部分情報データベースから取得するステップを含むことができる。本発明では、前記決済承認番号を生成するステップは、前記口座番号を有するユーザを管理するユーザ・データベースに前記ユーザについて発行された前記決済承認番号を前記ユーザに対応付けて登録することができる。
本発明では、前記決済承認番号を無効化するステップは、前記決済の要求に関連する代金決済の履歴を記録する決済ログ・データベースに、前記決済の成功に応答して前記決済承認番号を、前記ユーザ・データベースから前記決済ログ・データベースに移動させるステップを含み、前記情報処理装置は、銀行口座を管理する銀行が設置する銀行サービス・サーバであり、前記決済承認番号は、デビット・サービスについての代金決済の承認を与えることができる。
本発明では、ネットワークを介したキャッシュレス決済方法であって、前記キャッシュレス決済方法は、銀行サービス・サーバが、
ネットワークに接続されたユーザ・ノードから電子商取引での代金決済を銀行サービス・サーバにより銀行口座から即時決済するためのワンタイムデビット番号を発行する要求を受領するステップと、
前記要求の受領に応答して、ログイン認証およびワンタイム・パスワードを利用したユーザ認証を実行するステップと、
前記ユーザ認証の成功後、前記ユーザ認証に成功したユーザが前記ワンタイムデビット番号を生成するための部分情報を部分情報データベースからランダムに採番し、代金決済のための制御情報を結合して前記ユーザに固有でありかつ前記代金決済の成功により無効化される前記ワンタイムデビット番号を生成するステップと、
前記ユーザ・ノードにより加盟店ノードがネットワーク上に開設するインターネット・ショッピングサイトに対して通知された前記ワンタイムデビット番号および決済金額を含む決済の要求を受領するステップと、
前記決済の要求が含む前記ワンタイムデビット番号について前記決済の要求を受領した時刻でのワンタイムデビット番号の利用状況および銀行口座の状況を検査し、当該検査の結果前記利用状況および前記銀行口座の状況が決済可能であると判断した場合、前記ワンタイムデビット番号を現在登録している銀行口座から前記決済金額の引落しを実行することにより代金決済を実行させるステップと、
前記決済の成功に応答してユーザ・データベースに登録された前記ワンタイムデビット番号を削除して無効化するステップと、
当該決済トランザクションを、前記加盟店ノードの識別値、削除した前記ワンタイムデビット番号、決済金額と共に決済情報として決済ログ・データベースに登録するステップと
を実行する、キャッシュレス決済方法が提供できる。
さらに、本発明によれば、情報処理装置を、上述したいずれかに記載の機能手段として機能させるためのコンピュータ実行可能なプログラムが提供される。
本発明では、決済承認番号が購買契約に関連する決済承認番号の利用についての承認がなされた時点で当該決済承認番号を無効化することができ、決済承認番号が不正取得された場合にでも銀行ノード、発行者ノード、アクワイアラ・ノード、加盟店ノードの損失を最小限に止めることができる。
また、本発明では、当該決済承認番号は、代金決済までの短期間、銀行ノードおよび発行者ノードが管理するだけで済むため、債権・債務を伴う情報の漏洩や累積的な不正利用の可能性を最小限に止めることができる。さらに、代金決済の完了後、リボークされた決済承認番号が含んでいた部分情報は、有効期間に関係なく再利用できるので、ユーザ数が増加しても例えばカード番号といった決済承認番号の有効な発行数を最小限化することができるので、物理的なデビット・カードを発行しないことに加え、さらにキャッシュレス・サービスのセキュリティを向上でき、eコマースに関連する各ノードにおける個人情報漏洩リスクを最小限とすることができる。
さらに本発明によれば、決済承認番号は、ユーザ間で共有されないようにして部分情報をランダムに採番して生成されるので、クレジットマスターなどによる番号取得を防止でき、よりセキュリティ性を向上させることができる。
本実施形態が適用されるeコマースのトランザクション・フロー100の実施形態を示した図。 本実施形態において、カードレス決済システム200の機能ブロック図を示した図。 本実施形態の銀行サービス・サーバ210が実行するワンタイムデビット・サービスの実施形態のフローチャート。 本実施形態の部分情報DB250に対するDBアクセス部244の処理を示したフローチャート。 本実施形態で使用する部分情報DB250のデータ構造500を示した図。 本実施形態の銀行サービス・サーバ210が実行する決済承認番号生成処理の第1の実施形態のフローチャート。 本実施形態の銀行サービス・サーバ210が実行する決済承認番号生成処理の第2の実施形態のフローチャート。 本実施形態の決済承認番号生成部234が実行する図6および図7の制御情報と部分情報との結合処理の概略図。 本実施形態のユーザDB260が管理するユーザ・データのデータ構造を示した図。 本実施形態の銀行サービス・サーバ210が実行する無効化処理の実施形態のフローチャート。 本実施形態の決済処理のフローチャート。 本実施形態で、決済要求処理部236が実行する決済承認番号のワンタイム化処理を、ユーザ・テーブル1220を使用して説明する図。 本実施形態の銀行サービス・サーバ210がユーザ通知部238を介してユーザ・ノード220のデスクトップ画面上に表示させるウェブ・ページ1200の実施形態を示した図。 ワンタイムデビット・サービスのユーザ登録ページ1400の実施形態を示した図。 決済承認番号が割当てられた後の条件設定をカスタマイズするGUI表示画面の実施形態を示した図。 本実施形態のワンタイムデビット番号を使用する際の実施形態において表示されるGUI表示1600を示した図。 本実施形態のワンタイムデビット・サービスにより発行されるワンタイムデビット番号、すなわち、決済承認番号の数を、時系列的にシミュレーションした結果を示した図。
図1は、本実施形態が適用されるeコマースにおけるキャッシュレス・サービスの各ネットワーク・ノード間のトランザクション・フロー100の実施形態を示す。図1に示すeコマースでは、リクエスト(1)で、ユーザ・ノードから銀行ノードにデビット・サービスを受けるための固有の識別値である決済承認番号の発行を要求する。本実施形態で、ユーザ・ノードとは、パーソナル・コンピュータ、ワークステーション、またはサーバ、携帯電話、PDA(Personal Data Assistant)などの情報処理装置として構成される情報処理装置であって、インターネットなどのネットワークに接続されて、ユーザにより操作されてネットワーク上で各種のトランザクションを実行可能な情報処理装置を意味する。
本実施形態で、銀行ノードとは、eコマース・トランザクション中で、代金の支払決済を行うため、銀行口座を開設し管理する銀行といったビジネス・エンティティが管理するサーバなどの情報処理装置であって、ネットワークに接続され、他のネットワーク・ノードからアクセスされる情報処理装置を意味する。銀行ノードは、ネットワーク上に所定のURL(Uniform Resource Locator)で指定されるウェブ・サイトを開設することにより、ネットワークを介して各種サービスを提供する。銀行ノードは、ユーザ・ノードからのアクセス要求を受領すると、当該ユーザ・ノードからのアクセス要求について、認証処理を実行し、認証処理に成功すると、レスポンスとして決済承認番号を発行する。
決済承認番号は、本実施形態では特に制限はないがキャッシュレス決済処理について従来からクレジットカード・サービスなどに対して利用されている数字列を使用することが、処理基盤の大きな修正を伴うことなく、本実施形態を適用することができるため、好ましい実施形態である。なお、決済承認番号は、本質的には数字列が有意情報として利用されるが、ユーザ識別性を向上させる点で、ハイフン「−」など、ASCIIコードなどを含んで構成されていてもよい。
ユーザ・ノードは、決済承認番号を取得すると、リクエスト(2)で、ネットワークを介してネットワーク上で商品/サービスを提供するためのウェブ・サイトを開設する加盟店ノードに対して、購入リクエストを発行し、購入/利用したいサービスを特定した後、決済承認番号などを送付する。なお、本実施形態において、加盟店ノードとは、商品やサービスをネットワークを介して提供するため、サーバなどを利用してURLなどで特定されるウェブ・サイトを提供し、ネットワーク上の固有ノードとして機能する情報処理装置を意味する。加盟店ノードは、ユーザ・ノードからの購入リクエストを受領すると、リクエスト(3)およびリクエスト(3−2)でアクワイアラ・ノードおよび発行者ノードに対して決済承認番号の認証を送付する。
なお、本実施形態でアクワイアラは、加盟店と契約締結し、管理するエンティティであり、アクライアラ・ノードとは、アクワイアラが、ネットワークを介して加盟店を管理するため、サーバなどを利用してネットワーク上に特定のURI(Uniform Resource Identifier)などによりネットワーク・ノードとして機能する情報処理装置を意味する。アクワイアラ・ノードは、加盟店ノードや発行者ノードとの間でトランザクションを行い、口座引落代行などの処理を実行する。また、本実施形態で発行者とは、キャッシュレス・サービスを提供するための固有番号など、キャッシュレス取引識別値を発行するビジネス・エンティティを意味し、発行者ノードは、当該発行者がネットワーク上でその機能を実行させる情報処理装置である。発行者ノードは、アクワイアラ・ノードに対する代金支払などを代行し、サーバなどの情報処理装置として実装されている。
アクワイアラ・ノードは、加盟店ノードからのリクエスト(3)を受領すると、リクエスト(3−2)を銀行ノードおよび発行者ノードへと送付する。銀行ノードは、当該リクエスト(3−2)を受領すると、リクエスト(3−2)が含む、決済承認番号、購買内容、およびタイムスタンプを取得し、当該決済承認番号の有効性を検査する。銀行ノードは、決済承認番号が有効であると判断した場合、リクエスト(3−2)のレスポンスとして該当する決済承認番号が有効である通知を、アクワイアラ・ノードに送付する。アクワイアラ・ノードは、リクエスト(3)のレスポンスとして決済承認番号が有効であるとの通知を加盟店ノードに送付する。この段階で、ユーザ・ノードおよび加盟店ノードの間で契約が締結され、商品発送手配やサービス提供開始が行われる。
図1のキャッシュレス・サービスのコンテキストを、デビット・サービスに適用する場合、銀行ノードは、発行者ノートの機能を含むことになり、キャッシュレス・サービスをデビット・サービスとする場合、銀行ノードは、図1中、破線で示すように発行者ノードの機能を有することになる。銀行ノードは、購買契約完了の通知をアクワイアラ・ノードといった適切なネットワーク・ノードから受領すると、当該決済承認番号を保有するユーザ・ノードの口座番号から、リクエスト(3−2)が含む決済承認番号に対応付けて登録された口座番号から購入金額の決済を行い、発行者ノードに対する代金決済を完了する。その後、銀行ノードは、直ちに、行使された決済承認番号を銀行ノードが管理するユーザ・データベース(以下、ユーザDBとして参照する。)から削除し、銀行ノードが管理する決済ログ・データベース(以下、決済ログDBとして参照する。)に移転して決済記録として保存する。
その後、銀行ノードは、代金決済完了のトランザクション(4)で、ユーザ・ノードに代金引き落とし完了を通知する。一方、発行者ノードは、アクワイアラ・ノードに対して決済を行い、トランザクション(5)で、決済完了を通知する。アクワイアラ・ノードは、加盟店に対する代金決済を完了すると、トランザクション(6)で、加盟店ノードに当該契約に関する代金決済が完了したことを通知する。
図2は、本実施形態におけるカードレス決済システム200の機能ブロック図を示す。なお、図2に示すカードレス決済システム200は、銀行サービス・サーバ210と、ユーザ・ノード220とを含んで構成されており、銀行サービス・サーバ210と、ユーザ・ノード220とは、ネットワーク290を介してアクセス要求およびレスポンスを返すことにより相互通信可能とされている。
ユーザ・ノード220は、例示する目的から1つのみ示しているが、銀行サービス・サーバ210は、パーソナル・コンピュータ、ワークステーション、携帯電話、PDAなどから構成される複数のユーザ・ノードからのリクエストをそれぞれ受領して処理を実行する。ユーザ・ノード220が、パーソナル・コンピュータやワークステーションなどから構成される場合、そのマイクロプロセッサ(MPU)は、これまで知られたいかなるシングルコア・プロセッサまたはマルチコア・プロセッサを使用することができる。
また、ユーザ・ノード220がパーソナル・コンピュータやワークステーションとして構成される場合、そのオペレーティング・システム(OS)は、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、MAC OSなど、これまで知られたいかなるOSでも利用することができる。さらに、ユーザ・ノード220は、携帯電話やPDAとして実装することができ、この場合、CPUとしては、専用のASICとして構成することもできるし、低消費電力型のCPUを使用し、WindowsCE(登録商標)や専用ブラウザを搭載して、銀行サービス・サーバにアクセスする構成として実装することができる。
さらに、ユーザ・ノード220は、銀行サービス・サーバ210や他のウェブ・サイトにアクセスするため、Internet Explorer(登録商標)、Mozilla(登録商標)、Opera(登録商標)、FireFox(登録商標)などのブラウザ・ソフトウェアを実装することができる。
銀行サービス・サーバ210は、サーバなどとして実装でき、そのマイクロプロセッサとしては、PENTIUM(登録商標)、XEON(登録商標)、PENTIUM(登録商標)互換チップなど、CISCアーキテクチャのマイクロプロセッサ、または、POWERPC(登録商標)などのRISCアーキテクチャのマイクロプロセッサを、シングルコアまたはマルチコアの形態で実装することができる。また、銀行サービス・サーバ210は、WINDOWS(登録商標)200X、UNIX(登録商標)、LINUX(登録商標)などのオペレーティング・システムにより制御され、C、C++、Java(登録商標)、JavaBEANS(登録商標)、PERL、RUBYなどのプログラミング言語を使用して実装される、CGI、サーブレット、APACHE、IIS(Internet Information Server)などのサーバ・プログラムを実行し、ユーザ・ノード220から送付される各種リクエストを処理し、ユーザ・ノード220にレスポンスを返す。
ユーザ・ノード220と、銀行サービス・サーバ210との間を接続するネットワーク290は、イーサネット(登録商標)、FDDI、トークンリング、IEEE.802.xなどワイヤレス通信を使用する物理層プロトコルの下で、TCP/IPといったトランザクション・プロトコルを使用するHTTP、HTTPSなどのファイル転送プロトコルでテータ送受信が行われる。なお、ユーザ・ノード220と銀行サービス・サーバの間のトランザクションには、SSL(Secure Socket Layer)などのセキュア通信を使用して通信セキュリティを向上させることができる。
以下、本実施形態の銀行サービス・サーバ210の機能構成について詳細に説明する。銀行サービス・サーバ210は、ゲートウェイ処理部230を含んで構成されている。ゲートウェイ処理部230は、ユーザ・ノード220から送付されたリクエストに応じて適切なサーバ・アプリケーションを呼び出してリクエストを処理させており、銀行サービス・サーバ210の内部モジュールとしてではなく、独立したゲートウェイ・サーバとして実装することもできる。なお、図2に示した機能ブロックは、銀行サービス・サーバ210が、各機能処理部として情報処理装置を機能させるための実行プログラムをRAMなどの実行空間に展開し、CPUまたはMPUがプログラムを実行することにより情報処理装置上に実現されている。
銀行サービス・サーバ210は、ログイン認証部232と、ユーザ認証部240とを含んで構成される。ログイン認証部232は、例えば、銀行サービス・サーバ210がユーザを最初に登録する際に発行する、ユーザID、パスワードなどを使用するTelnetプロトコルや公開鍵暗号法などを利用するSSH(Secure Shell)プロトコルなどを使用して実装することができる。銀行サービス・サーバ210がユーザ・ノード220についてログイン認証に成功すると、ユーザ認証部240は、ユーザ・ノード220から送付されるユーザID、パスワードとは異なるワンタイム・パスワードを使用するユーザ認証を実行する。ユーザ認証部240は、ワンタイム・パスワードを銀行サービス・サーバ210から取得し、ワンタイム・パスワードが、ユーザIDに固有のものであるか否かを検査することによってユーザ認証処理を実行する。
この目的のため、銀行側は、正規登録ユーザに対して時系列的にみてユーザに固有のワンタイム・パスワードを生成する認証デバイスをユーザに所持させている。このような認証デバイスは、リニアフィードバック・シフトレジスタ(LFSR)を使用して一定間隔毎に設定された桁数の乱数を発生させ、当該乱数の発生サイクルなどを、認証デバイス/ユーザID毎に固有となるように構成しておくことができる。ユーザ認証部240は、ワンタイム・パスワードの検証を行う際には、ユーザDB260にユーザIDに対応付けて登録するワンタイム・パスワード情報を使用してソフトウェア的に演算することで、ワンタイム・パスワードの一致不一致を検証することで、電子署名などユーザ・ノード220に局在化される認証プロトコル以外の方式で本人認証の精度を向上させている。
さらに、銀行サービス・サーバ210は、決済承認番号生成部234と、部分情報取得部242とを含んで構成されている。決済承認番号生成部234は、ユーザ・ノード220が、ワンタイムデビット・サービスのために実際に利用でき、発行者ノードによりオーソライズされた決済承認番号を生成する。また、決済承認番号生成部234は、決済承認番号を生成するに際して、部分情報取得部242を呼び出して、部分情報データベース250(以下、部分情報DB250として参照する。)に格納された部分情報をランダムに取得し、決済承認番号生成部234に渡し、決済承認番号の生成を可能とする。この目的のため、部分情報取得部242は、乱数発生部246を含んでいて、部分情報DB250から決済承認番号を生成する部分情報を取得する。
また、決済承認番号生成部234は、決済承認番号を生成する際には、ワンタイムデビット・サービスのオーソライズを証明すると共に、取引種別などを規定する制御情報を取得し、部分情報に結合させて、発行者ノードによってオーソライズされた決済承認番号を生成する。
銀行サービス・サーバ210は、決済承認番号の生成が完了すると、ユーザ通知部238を介して決済承認番号をユーザ・ノード220に通知する。ユーザ通知部238は、銀行サービス・サーバ210がユーザ・ノード220との間でデータ送受信を行うために必要がグラフィカル・ユーザ・インタフェース(GUI)を生成する他、メーラなどを含んで構成され、ユーザ・ノード220上に表示するウェブ・ページを表示させ、また通知の必要性に応じてメール送信を行う。必要となる通知としては、残高不足、決済承認番号の送付、その他営業通知などを挙げることができ、特定の目的に限定されない。
さらに、銀行サービス・サーバ210は、部分情報DB250、ユーザDB260、決済ログDB270を管理し、データテーブルの作成・更新・同期化および検索処理を実行するDBアクセス部244を含んで構成されている。DBアクセス部244は、生成された決済承認番号を、決済承認番号の取得を要求したユーザIDに対応付けて登録すると共に、決済承認番号の無効化を管理している。また、DBアクセス部244は、銀行サービス・サーバ210に対してアクセスするユーザのユーザID、ログイン・パスワード、銀行口座番号などユーザに関連して変更されるユーザ・データを管理するユーザDB260に対してアクセスし、認証およびアクセス権限の確認、ユーザアカウントの追加などを実行する。また、DBアクセス部244は、本実施形態においては、部分情報DB250の管理も担当し、決済承認番号生成部234から決済承認番号生成要求が発行されると、部分情報処理部242が発行する部分情報取得要求が含む乱数列を使用して部分情報DB250に対してSQL文などによる照会を発行し、部分情報の取得を可能とする。
また、DBアクセス部244は、部分情報DB250に格納する部分情報を登録する部分情報テーブルに対して部分情報を登録し、また部分情報がリースされると、該当する部分情報を部分情報DB250から削除する処理を行う。DBアクセス部244は、データベース・アプリケーションとして実装することができ、例えば、DB2(登録商標)、Oracle(登録商標)、ACCESS(登録商標)などのリレーショナル・データベースを使用することもできるし、XMLデータベース、オブジェクト指向データベース(OODB)を利用して実装することができる。
銀行サービス・サーバ210は、決済要求処理部236を含んで構成されている。決済要求処理部236は、アクワイアラ・ノードなどの適切なノードから購買契約成立に関連して送付される決済要求を含む権利確認要求、または決済要求と権利確認要求とを別々のパケットとして受領すると、DBアクセス部244を呼び出し、ユーザDB260に対してSQL(Structured Query Language)文を発行し、決済の要求が含む決済承認番号を検索させ、当該決済承認番号が有効か否か、すなわち、本実施形態でのコンテキストにおいては、機能的に表現すれば、決済承認番号が既に利用されているか否か、データ上での記述では、ユーザDB260内に当該決済承認番号が見出されるか否かを判断する。なお、本実施形態では、決済要求や権利確認要求の構成形式およびトランザクション形式に依存することなく、権利確認の検査にパスした決済を指令するためにネットワークを介して受領する要求を、用語「決済の要求」として総合的に参照する。
ユーザDB260内に該当する決済承認番号が見出された場合、決済要求処理部236は、決済サーバ280に対し、決済指令を発行し、対応するユーザIDの銀行口座から、決済の要求に含まれる金額を決済処理をトライするように指令する。決済サーバ280は、決済承認番号に関連するe−コマースおよびそれに対する代金決済を管理するために決済管理データベース(以下、決済管理DBとして参照する。)280aを管理し、決済承認番号の無効化と代金決済処理の、高いセキュリティレベルで、非同期化させている。なお、決済サーバ280が実装する振り替え処理についてはより詳細に後述する。なお、説明の便宜上、銀行サービス・サーバ210と、決済サーバ280とは別体として説明しているが、機能的に分離されている限り、同一のサーバ内のサーバ・アプリケーションとして実装されることについて問題はない。
そして、決済要求処理部236は、決済サーバ280から代金引落とし処理、すなわち決済処理が完了した通知を受領すると、ユーザDB260の対象となる決済承認番号を削除し、決済ログ・データベース(以下、決済ログDBとして参照する。)270の対応するレコードに、決済承認番号を利用する権利の承認要求に対応して発行される承認番号の他、当該権利承認要求が含む、購買内容、決済日時、振り替え金額、差額調整金額などの情報とともに記入する。
ユーザDB260は、当該ユーザIDについて割当てられた未行使の決済承認番号を登録しているので、決済要求処理部236は、ユーザDB260の照会により、決済承認番号にヒットしない場合、不正要求と判断し、決済を実行しない。すなわち、本実施形態では、未利用の決済承認番号のみをユーザDB260に登録しておき、決済要求処理部236は、ユーザDB260のみに照会を発行して決済条件を判定するので、決済承認番号のワンタイム利用が可能とされる。
なお、決済承認番号のワンタイム利用を可能とするためには、DBアクセス部244がユーザDB260の使用済み決済承認番号にフラグを設定する処理を行うことも可能である。しかしながら、決済承認番号をワンタイム利用させるコンテキストにあっては、既利用の決済承認番号は、以後の管理の目的から、決済DB270において管理するべきものであり、クレジット・カード番号などのように、ユーザDB260において常時ユーザIDに関連付けておく必要性はない。このため、ユーザDB260の記憶容量や検索のスケーラビリティおよび処理オーバーヘッドといった観点から見て、既使用の決済承認番号は、決済ログDB270に移動して決済ログと共に管理することが好ましい。また、決済承認番号の有効・無効について、本実施形態のように、ユーザDB260において有効な決済承認番号のみを登録させて管理することにより、ユーザDB260に対して例えばSQL攻撃などでアタックされた場合に、決済承認番号を無効化させるための無効化フラグの有効化などの悪意ある攻撃ができず、よりセキュリティ性を向上させることができる。
以上のトランザクションにより、ユーザと加盟店との間の商品/サービスの購入/決済サイクルが完結する。上述したキャッシュレスeコマース・サイクルは、発行者ノードによって代金決済についてオーソライズされた銀行ノードが、銀行ノードの認証により発行され、設定された有効期間生存し、生存期間中において1度商品購入またはサービス利用のために利用された後に効力を失う、決済承認番号を使用するワンタイムデビット・サービスとして提供される。ワンタイムデビット・サービスは、物理的なカードの発行を伴うことなく提供することができ、デビット・サービスの利用性を向上することができる。
図3は、本実施形態の銀行サービス・サーバ210が実行するワンタイムデビット・サービスの実施形態のフローチャートである。図3の処理は、ステップS300から開始する。なお、本実施形態の銀行サービス・サーバ210は、デーモンまたはサービスとして図3の処理を実行する。ステップS301では、ユーザ・ノード220からのアクセス要求を受領する。この際、Telnetプロトコルなどにしたがって、ユーザ・ノード220からは、ログイン・パスワードおよびユーザIDが送付されるので、銀行サービス・サーバ210は、ステップS302で、ログイン認証を実行する。なお、ユーザIDは、当該ユーザが保有する銀行口座番号とすることができる。
ステップS302でログイン認証に失敗した場合(no)処理を再度ステップS301に戻し、後続するアクセス要求を待機する。一方、ステップS302でログイン認証に成功した場合、ステップS303でユーザ・ノードから送付されるワンタイム・パスワードを取得し、ユーザ認証部240によるワンタイム・パスワードを使用するユーザ認証を実行する。ステップS303の認証は、ユーザに予め貸与または譲渡してある認証デバイスが生成するワンタイム・パスワードを、ユーザ認証部240が銀行サービス・サーバ210が管理するデータを利用してシミュレーションし、各値の一致不一致を用いて行うことができる。なお、ワンタイム・パスワードを使用するユーザ認証は、本実施形態の要旨ではないので、さらなる詳細な説明は行わない。
ステップS303で、ユーザ認証に失敗した場合(no)。処理をステップS301に戻し、後続するアクセス要求を待機する。また、ステップS303でユーザ認証に成功した場合(yes)ステップS304で、アクセス要求が決済承認番号取得要求であるか否かを判断する。ステップS304で決済承認番号取得要求でない場合には(no)処理をステップS311に分岐させて他サービスを呼び出す。一方、ステップS304で決済承認番号取得要求であると判断した場合(yes)、ステップS305で、当該ユーザIDについてユーザDB260を検索し、当該ユーザIDについて既に割当てられている決済承認番号が設定した上限値を超えているか否かを判断する。上限値は、決済承認番号の容量やデビット・サービスの利用期待度などに応じて適宜設定することができるが、説明する実施形態では、4つの異なる番号として設定することができる。
ステップS305で、既に上限値に達して登録されている場合(no)、処理をステップS312に分岐させ、ユーザにその旨を通知し、処理をステップS301に戻し、後続するアクセス要求を待機する。一方、ステップS305で、有効な決済承認番号が設定された上限値以下の場合(yes)、ステップS306で適切な桁数、例えば8桁の乱数列を発生し、部分情報DB250から対応する部分情報を採番する。
その後、ステップS307で、決済承認番号生成部234は、適切な記憶領域から取得した、発行者ノードまたは銀行ノード自身がオーソライズした銀行コードおよびサービス種類を示すサービス・コードやチェックディジット・コードなどと、取得した部分情報とを結合して決済承認番号を生成する。本実施形態では、決済承認番号は、数字、アルファベット、キャラクタなどASCIIコードを含んで構成することができるが、既存の決済システムへの適合性の点から、適切な桁数の数字列とすることが好ましい。本実施形態では、制御情報は、銀行コード、サービス・コード、チェックディジット・コードなどを含むことができる。また、セキュリティ性および最大ユーザ数の観点から、数字列の桁数はできるだけ大きい方が好ましく、特定の実施形態では、部分情報として利用する数字列は、8桁とすることができる。
ステップS308では、決済承認番号を生成した後、ユーザに宛てて決済承認番号を送付し、トランザクションが成功裏に終了した後、ユーザDB260の当該ユーザIDのフィールドに生成した決済承認番号を登録し、以後の決済のために利用可能とする。上述した部分情報は、部分情報DB250に登録されており、決済承認番号生成部234が決済承認番号を生成する際に生成する8桁の乱数列が部分情報として登録された数字列に一致することにより、当該部分情報がリース中であるか否かに応答して乱数列を採番するか否かを制御する。
図4は、本実施形態の銀行サービス・サーバ210のDBアクセス部244による部分情報DB250に対するデータベース処理のフローチャートである。図5の処理は、ステップS400で、銀行サービス・サーバ210がサービスを開始した時点で開始する。ステップS401で、ランダム作成プログラムを起動するか否かを判断し、ランダム作成プログラムを起動するべきと判断した場合(yes)、ランダム作成プログラムを呼び出して、ステップS402で所定の桁数の数字列、特定の実施形態では、8桁の数字列を発生させ、部分情報DB250が管理する部分情報テーブルに登録し、発生した数字列で全部(1憶個)のレコードを埋め尽くすまで継続する。
なお、本実施形態においてランダム発生プログラムとは、決済承認番号を生成するために利用する制御コード以外の部分情報として使用される数字列を生成し、銀行サービス・サーバ210が管理する部分情報DB250をリフレッシュするためのプログラムであり、rnd()関数などを使用して実装することができる。また、ステップS401の判断で、ランダム発生プログラムを起動しないと判断した場合(no)、処理をステップS403に分岐させて、部分情報取得要求の受領を待機する。
なお、ステップS401の判断は、前回起動時からの時間間隔、前回起動時からの決済承認番号発行数、サーバメンテナンス時などに基づいて定期的または不定期的に行うことができる。ステップS402で、説明する実施形態では、00000000〜999999999の1憶個の乱数が数字列としてランダムに登録された後、ステップS403で部分情報取得部242から部分情報取得要求が発行されたか否かを判断する。ステップS403で、部分情報取得要求が発行されたと判断した場合(yes)、ステップS404で、乱数発生部246を呼び出して乱数列(8桁)発生させ、発生した乱数列をSQL文にセットする。
この場合のSQL文は、例えば、”SELECT PARTIAL INFORMATION FROM PARTIAL TABLE WHERE PARTIAL INFORMATION = RANDOM NUMBER”として部分情報DB250に照会を発行する。なお、変数「PARTIAL TABLE」は、部分情報テーブルを参照する変数であり、変数「PARTIAL INFORMATION」は、部分情報を参照する変数であり、変数「RANDOM NUMBER」は、乱数発生部246が発生した8桁の乱数列を参照する変数である。一方、ステップS403で部分情報取得要求が発行されない場合(no)、処理を再度ステップS403に戻して、後続する部分情報取得要求の発行を待機する。
一方、ステップS405では、DBアクセス部244は、発行したSQL文の結果を検査し、SQL文の検索結果が有意な数字列を返したか否かを判断する。ステップS405でSQL文の照会結果が有意な場合(yes)ステップS406で検索された数字列を部分情報としてセットして部分情報取得部242からの部分情報取得要求のレスポンスとして返す。一方、ステップS405で、SQL文の検索結果が、値NULLを返すなど有意の値ではない場合(no)、処理をステップS404に戻しさらに他の乱数列を発生させ、SQL文に発生させた乱数列をセットして、ステップS405で有意な数字列が返されるまで照会処理を反復する。
その後、ステップS407で、例えばSQL文として“DELETE FROM PARTIAL TABLE WHERE PARTIAL INFORMATION = RANDOM NUMBER”を発行し、該当する部分情報を部分情報DB250が管理する部分情報テーブルから削除する。その後、処理をステップS401に戻し、ランダム作成プログラムを起動するか否かの判断を行い、当該判断に応じて、図4の処理を反復させる。
図5には、本実施形態で使用する部分情報DB250のデータ構造500を示す。部分情報DB250は、部分情報を部分情報テーブルとして登録することができる。図5には、第1実施形態の部分情報テーブル510および部分情報テーブルの第2実施形態の部分情報テーブル520を示す。部分情報テーブル510は、本実施形態の最も好ましい実施形態を示し、図2に示すDBアクセス部244の処理にしたがって生成され、部分情報テーブル510は、部分情報の本体を構成する数字列を登録するフィールドから構成されている。
図6の部分情報テーブル510は、部分情報がリースされると、当該リースされた部分情報が既リースとして削除され、リースされた部分情報増加するにしたがって部分情報テーブル510のエントリ行が減少するように構成されている。さらに、部分情報テーブル510には、発行者ノードから割当てられた銀行コードである数字列=123456が紐付けされていて、制御情報毎に発行する部分情報の管理を可能としている。本実施形態において、決済承認番号に余裕があり、決済承認番号を再利用しない場合、部分情報テーブル510ように、一度リースされた部分情報を部分情報テーブル510が再生成されるまで、再利用されないように設定することが、決済承認番号のセキュリティ担保という点では好ましい。
一方、部分情報テーブル520は、銀行コードとして数字列=123487が紐付けられていて、部分情報テーブル510とは異なり、特定の部分情報が現在リース中である、すなわち、既リースであることを示すリース中FLGを登録するフィールドと、部分情報を登録するフィールドとを含んで構成されている。さらに、部分情報テーブル520は、部分情報を与える数字列が、適切なハッシュ関数、例えば、SHA−1、SHA−3、MD−5などを使用してハッシュ化され、HASH値として登録されている。部分情報を、部分情報テーブル520の形式で登録することにより、仮に銀行サービス・サーバ210に対し悪意ある攻撃が行われた場合でも、現在リース中の部分情報の漏洩を防止することができ、よりセキュリティ性を向上させることができる。
さらに他の実施形態では、部分情報テーブル520において部分情報をHASH化せずに登録しておき、部分情報テーブル510のように一旦リースした部分情報が利用できないようにするため、リース中FLGを設定するのではなく、部分情報テーブル510の処理と同様に、当該部分情報を登録するレコードを部分情報テーブル520から削除する構成とすることができる。
この目的で、銀行サービス・サーバ210は、8桁の数字列に対して任意の制御コードを付してHASH値を生成し、乱数列の一致を判断する際に当該制御コードを生成された乱数列に追加してHASH値を計算し、相互比較を行うこともできる。また、部分情報テーブル520は、ワンタイムユースを認める本実施形態のコンテキストにおいて、決済承認番号のワンタイムユースが終了した後に部分情報を再リースする場合に好ましい実施形態である。部分情報を再リースして番号リサイクルを行う場合、発番済の部分情報を適切な期間、例えば5年保管しておき、当該期間経過後、これらの発番済の部分情報を再利用するタイミングで一斉に「リサイクル可」にステイタス変更を実行して、ランダム発生プログラムの起動、部分情報テーブル510、520のリフレッシュ、部分情報のリースの処理を再度新たな部分情報テーブル510、520を利用して再開させてもよい。
なお、部分情報テーブル510、520は、銀行サービス・サーバ210のサービス開始時にランダム作成プログラムを起動することにより生成され、以後サービスが提供される期間にわたって管理され、部分情報取得部242からのランダムなアクセスを受けて、部分情報のリース判断を行うために利用される。部分情報テーブル510、520の両方について、部分情報を構成する数字列やハッシュ値の配置は、部分情報テーブル510、520を生成する際に数字列をランダムに発生させ、発生させた数字列やハッシュ値を発生順に部分情報テーブル510、520に登録することができる。
図6は、本実施形態の銀行サービス・サーバ210が実行する決済承認番号生成処理の第1の実施形態のフローチャートである。図6の処理は、ステップS600から開始し、ステップS601では、部分情報取得部242が設定された桁数の乱数を発生させ、ステップS602では、部分情報取得部242は、部分情報DB250に対して照会を発行し、発生した乱数が登録されているレコードのリースFLGの値を検査する。なお、部分情報テーブル510、520が、銀行コードなど制御情報に紐付けされている場合には、ステップS602の処理に先立って、照会を発行するべき銀行コードの決定を行う。
ステップS602では、部分情報取得部242は、発生した乱数列に対応する部分情報が登録されているか否かを検査し、該当する部分情報を新規にリースして良いか否かを判断する。図6の実施形態では、ステップS602の判断は、生成した乱数列が部分情報テーブル510に登録されていないことに基づいて行われ、リース中の場合(yes)、処理をステップS601に戻し、ステップS602の判断でリース中でないとの判断がなされるまで再度別の乱数を生成させる。一方、ステップS602で、生成した乱数列がリース中ではないと判断した場合(no)、ステップS603で発生した乱数列に相当する値を部分情報として確定し、決済承認番号生成部234に送付する。本実施形態では、乱数列をそのまま部分情報として設定することもできるし、該当する部分情報を部分情報テーブル510から取得してもよい。ステップS604では、決済承認番号生成部234は、銀行コード、サービス・コードおよびチェックディジット・コードなどの制御情報と、部分情報とを適切な配置として結合し、決済承認番号を生成する。
ステップS605では、生成した決済承認番号をユーザ通知部238からユーザに宛てて送付する。この時の送付は、ウェブ・ページ上の決済承認番号を表示させるフィールドに値を表示させることによっても行うことができるし、登録されたメールアドレスに対してメール送信することによっても行うことができる。
ユーザ通知部238からの通知が成功裏に終了すると、処理はステップS606で処理をDBアクセス部244に制御を渡し処理を終了する。なお、この後、DBアクセス部244は、部分情報テーブル510から、リースした部分情報を削除して、次の部分情報取得要求を処理する。
図7は、本実施形態の銀行サービス・サーバ210が実行する決済承認番号生成処理の第2の実施形態のフローチャートである。図7に示した第2の実施形態は、部分情報がハッシュ値として登録されている場合の処理である、図7に示した処理は、ステップS700から開始し、ステップS701では、部分情報取得部242が設定された桁数の乱数を発生させ、生成した乱数列のHASH値を計算した後、HASH値が一致したレコードのリースFLGの値を検査する。なお、部分情報テーブル520が、銀行コードなど制御情報に紐付けされている場合には、ステップS702の処理に先立って、照会を発行するべき銀行コードの決定を行うことが必要である点は、図6と同一である。
ステップS703では、部分情報取得部242は、HASH値が一致したレコードのリースFLGを検査し、該当する部分情報を新規にリースして良いか否かを判断する。ステップS703の判断の結果、生成した乱数列がリース中の場合(yes)、処理をステップS701に戻し、ステップS703の判断でリース中でないとの判断再度別の乱数を生成させる。一方、ステップS703で、検索の結果生成した乱数列がリース中ではない場合(no)、ステップS704で発生した乱数列を部分情報として確定し、決済承認番号生成部234に送付する。その後、ステップS705、ステップS706を、図6のステップS605、S606と同様にして実行した後、処理はステップS708で処理をDBアクセス部244に制御を渡し処理を終了する。
図8は、本実施形態の決済承認番号生成部234が実行する図6および図7の制御情報と部分情報との結合処理の概略図である。図8に示すように、結合するべき制御情報860は、銀行コード810、サービス・コード830、およびチェックディジット・コード840を含む。一方、部分情報870は、部分情報取得部242が生成した乱数列820として提供される。なお、決済承認番号は、数字列のみで機能するが、ユーザの認識性を向上する目的で、ハイフンなどの非数字コードを組み合わせて表示することもできる。
決済承認番号生成部234は、部分情報DB250のデータ構成に依存して、制御情報を最初に取得しておく処理と、部分情報を取得した後、制御情報を適切な記憶領域から取得する処理のいずれかを使用して、制御情報860および部分情報870を取得する。決済承認番号生成部234は、取得した制御情報860と、部分情報870とを設定されたシーケンス順に読み出して行き、順次数字列を延長させて、制御情報860および部分情報870を結合する。なお、制御情報860を構成するサービス・コード830およびチェックディジット・コード840は、銀行コード810とは別々に結合処理において呼び出され、設定された位置に配置される。
決済承認番号生成部234が上述した処理を終了した後、決済承認番号850が作成され、バッファメモリなどに以後の処理のため格納される。図8に示した実施形態では、決済承認番号850は、16桁の数字列として生成されている。この理由は、既存のクレジットカード・システムの情報処理基盤を有効利用するために互換性のある数字列として構成するためであり、ワンタイムデビット・サービスのための処理ネットワークを含めて構築する場合には、図8に示した数字列、桁数でなくともよい。
図9は、本実施形態のユーザDB260が管理するユーザ・データのデータ構造を示す。図9に示すユーザDB260は、DBアクセス部244からのSQL文などを使用してアクセスされる、リレーショナル・データベース、XMLデータベースとして実装することができる。図9では、例示的にリレーショナル・データベースのフォーマットでテーブル構造としてユーザ・データを登録する実施形態である。ユーザ・データは、各ユーザに固有のユーザA〜ユーザDといったユーザIDを登録するレコード910と、ユーザIDに対応付けされる口座番号を登録するレコード920と、ログインPWD(パスワード)、ログインID、ワンタイム・パスワードをユーザ認証部240がシミュレーションするために利用するワンタイムPWD情報をそれぞれ登録するレコード930、940、950とを含んで構成されている。
なお、ログインPWD、ログインIDおよびワンタイムPWD情報は、ユーザDB260とは別にアクセス管理DBなどに分離して登録されていてもよい。
さらにユーザ・データ900は、ユーザID毎に現在有効な決済承認番号を、その有効期限情報と共に登録するレコード960を含んで構成されている。図9に示した実施形態では、銀行サービス・サーバ210は、特定のユーザIDに対して独立した4決済承認番号を同時に発行することができ、図9に示した実施形態では、ユーザAが、4決済承認番号を保有しており、その他のユーザBおよびユーザBは、1決済承認番号を保有していることが示されている。なお、ユーザDは、ワンタイムデビット・サービスのための決済承認番号を未だ取得していない状況にある。
有効期限は、一旦発行されたワンタイムデビット・サービスの決済承認番号が未使用時で有効な期間を示し、例えば、5年など、銀行ノードの状況およびサービスの利用度に応じて適宜設定される期間である。図9に示したユーザ・データは、リレーショナル・データベースのテーブル形式として説明しているが、特定の実装形式に応じて、XMLデータベースとして構成することもできるし、OODB(オブジェクト指向データベース)として構成することもできる。
図10は、本実施形態の銀行サービス・サーバ210が実行する決済承認番号の無効化処理の実施形態のフローチャートである。図10の処理は、図2の決済要求処理部236が実行する処理であり、処理は、ステップS1000からスタートし、図3と同様に、デーモンまたはサービスとして実行され、ステップS1001で、決済要求を発行する適切なノードから決済要求を受領したか否かを判断する。決済要求を受領しない場合(no)には、処理をステップS1001に戻し、決済要求の受領を継続して待機する。
ステップS1001で、決済要求を受領した場合(yes)ステップS1002で決済要求が含む決済承認番号、購買内容、タイムスタンプを取得し、ステップS1003で、ユーザDB260中の決済承認番号が有効であるかを、ユーザDB260中に受領した決済承認番号が登録されているか否かに基づいて判断する。ユーザDB260中の該当するユーザIDに関して決済承認番号が登録されていない場合(no)、処理をステップS1008に分岐させ、不正請求として決済サーバに通知し、決済サーバ280による不正請求処理モジュールを呼び出して、処理をステップS1001に戻し、後続する決済要求を待機する。
一方、ステップS1003で、ユーザDB260中に決済承認番号が見出された場合(yes)、ステップS1004で、該当するユーザの口座番号を取得し、決済指令を口座番号情報およびユーザIDの値と共に決済サーバ280に発行する。ステップS1005では、決済サーバ280からの応答を待機し、決済サーバ280から決済成功の通知を受領した場合(yes)、ステップS1006で、DBアクセス部244を呼び出してユーザDB260から決済処理を指令した決済承認番号を削除することによって無効化し、決済ログDB270の該当するユーザID、購買内容などに対応付けて登録する。なお、このときの決済成功の通知は、図4の決済が成功した段階で決済サーバ280が発行する。
なお、ステップS1003〜S1006の処理の詳細については、後述する図11で詳細に説明する。ステップS1007では、処理中の決済要求に未処理の決済承認番号が残っているかを判断し、残っていない場合、処理をステップS1001に分岐させ後続する決済要求を待機する。一方、未処理の決済承認番号が残っている場合(yes)処理をステップS1002に分岐させ、ステップS1007の判断で、未処理の決済承認番号がないと判断するまでステップS1002〜S1007の処理を反復させる。
一方、ステップS1005で、決済不成功の通知を受領した場合(no)、ステップS1009で、ユーザ通知部238からユーザに対して決済不能であったことおよびその原因を通知する。同時のステップS1009では、アクワイアラ・ノードなどに対しても決済未了の通知を行い、所定期間内に再度決済要求を送付するように依頼する。そして決済要求処理部236は、同一の加盟店ノードなどからの同一の決済承認番号の処理を可能とするため、決済成功または決済不成功にかかわらず、処理対象の決済承認番号について、一定期間、例えば10日間生存させ、決済不能の原因の解消に備える構成とすることができる。なお、この実施形態でも処理対象としている同一の決済承認番号についての異なる加盟店ノードからの決済要求を受領した場合には、当該決済承認番号の利用承認は行わないことで、ワンタイムデビット・サービスの実効性を担保しながら、加盟店ノード側の利用性も向上させることができる。
以上の決済要求処理部236の処理により、ユーザDB260から既使用の決済承認番号が削除されるので、決済承認番号は、ユーザDB260内での存在・不存在のみに基づいてその有効性が判断でき、ワンタイムデビット・サービスの利用に伴って、ユーザIDなどの銀行ノードがセキュアに管理する情報をネットワークを介して転送することなく、加盟店ノードと、ユーザ・ノードとの間で固有に取り決められたハンドルネームなどをネットワークを通じて送信するだけで決済の承認が可能とされる。
図11は、本実施形態のワンタイムデビット・サービスにおける決済処理のフローチャートを示す。なお、図11の処理は、本実施形態では、銀行サービス・サーバ210と、決済処理サーバ280とが機能的に共同して処理を遂行する。しかしながら、銀行サービス・サーバ210と、決済サーバ280とを統合して実装する場合、同一のサーバの銀行サービス・モジュールと、決済サービス・モジュールとがプロセス間通信などを利用して実行するプロセスとされる。以下、図2に説明したコンテキストに沿って、銀行サービス・サーバ210と、決済サーバ280とが図11の処理を連携して実行するものとして説明する。
図11の処理は、ステップS1100から開始し、ステップS1101で、加盟店ノードまたはアクワイアラ・ノードといった適切なノードから権利確認要求を受領する。説明する実施形態では、権利確認要求は、実質的な決済要求として構成することができ、権利確認要求パケット=AUTHORIZATION_REQUESTは、ワンタイムデビット・サービスを利用しようとするユーザが、加盟店ノードの提供するネットショップにアクセスしてカード情報およびユーザ情報を入力し、商品・サービスの購入を要求した段階で、加盟店ノードから、または加盟店ノードからアクワイアラ・ノードを介して銀行サービス・サーバ210に決済要求として送付される、決済要求処理部236は、決済要求を決済サーバ280に発行する前に、権利確認要求を検査し、権利確認要求の検査にパスすることによって、決済指令を決済サーバ280に発行して決済処理を開始させる。銀行サービス・サーバ210は、ステップS1101で権利確認要求を受領すると、権利確認要求パケットからカード情報、口座情報、代金情報を抽出する。この処理は説明する実施形態では、決済要求処理部236が実行するものとして説明するが、銀行サービス・サーバ210のいかなる機能部が実行してもよい。なお、カード情報には、銀行サービス・サーバ210が発行した決済承認番号であるカード番号が含まれている。
ステップS1102で、銀行サービス・サーバ210は、取得したカード情報から、カード種別、利用限度額および有効期限などを検査し、同時にカード情報が紐付けられたユーザの口座状態を検査し、両方の検査にパスした場合(yes)、ステップS1103で当該権利確認要求に対して承認番号を割り当て、承認番号、承認応答、および口座取引許可を権利確認要求の送付元に返す。この段階で、決済要求処理部236は、決済サーバに通知を発行し、決済サーバ280は、決済ログDB270に承認番号に対応するレコードを割り当てて追加レコードを生成させる。
一方、ステップS1102の検索をパスした権利確認要求について、決済要求処理部236は、決済指令を、プロセス間通信などを利用して権利確認要求に含まれるカード情報、口座情報および承認番号と共に決済サーバ280に送付し、決済管理DB280aに登録させる。さらにステップS1103で、決済管理DB280aは、決済管理DB280aに登録した現在処理中の権利確認要求に関連する口座から、権利確認要求の代金情報に該当する決済金額を引落し、決済管理DB280aの該当するレコードに決済済フラグなどを設定する。その後さらに、決済サーバ280は、銀行サービス・サーバ210に通知を発行し、ユーザDB260から該当する決済承認番号を削除し、当該追加レコードに移動させるように指令する。この処理によって、本実施形態の決済処理では、決済承認番号のワンタイム化を可能とする。
なお、ユーザDB260からの決済承認番号の移動は、決済処理が完了する前に、権利確認要求に対する承認を行った時点で決済サーバ280が、銀行サービス・サーバ210に指令することもでき、適宜アプリケーション・モジュールの実装形式および処理上の目的に応じて設定することができる。
一方、ステップS1102の検査にパスしない場合(no)、ステップS1109に処理を分岐させ、権利承認拒否通知パケットを権利確認要求の発行元に返し、後続する権利確認要求の処理に対応する。権利確認要求の発行元は、当該権利証人拒否通知を受領して、ウェブ・ページ上に権利確認が拒否されたことを表示し、ユーザとの間でさらなるトランザクションを生成する。
また、ステップS1103の処理が完了した後、決済サーバ280は、権利確認要求に対応した決済確定通知の受領を待機する。決済確定通知は、権利確認要求に関連するe−コマースについての契約が終了して、e−コマースの売上げが確定したことを銀行サービス・サーバ210に通知するトランザクションである。説明の明確化の観点で、ステップS1104では、ステップS1101で受領した権利確認要求に関連する決済確定通知の受領を待機しているものとし、決済確定通知を受領して当該決済確定通知が含む承認番号が、ステップS1101で受領した権利確認要求に該当しない場合(no)処理をステップS1104に戻す。一方、現在注目している承認番号に該当する決済確定通知が送付された場合(yes)、処理をステップS1105に進め、決済確定通知から承認番号および売上げ確定金額などの確認情報を抽出し、設定したパラメータ単位で、権利確認要求が含む各種情報と前方一致、後方一致、全部一致などの組合せ判断を行いマッチング検査を実行する。
なお、ステップS1104の決済確定通知は、システムまたはサービス上の設定に応答して、e−コマースにおける契約完了期間などを考慮して、通常、数日〜2ヶ月程度の期間で設定された期間内に送付される。
なお、マッチング検査のためのパラメータ設定は、セキュリティ保持上詳細な説明を省略するが、決済管理DB280aが管理する特定のレコードに登録された全データについて、パラメータ設定にしたがったプロトコルで多重検査を実行することにより権利確認要求と、決済確定通知との間のコインシデンスを保証している。ステップS1106では、パラメータ設定に関連した検査プロトコルにしたがってマッチング処理にパスした場合(yes)、ステップS1107で、さらにカード有効性および口座状態を検査し、両方とも現在時点で良好か否かを判断する。ステップS1107の検査において良好であると判断された場合(yes)、ステップS1108で、決済管理DB280aの該当するレコードについて、最終的な売り上げ金額と決済処理の金額との差額を自動決済し、処理をステップS1101に分岐させ後続する権利確認要求を処理する。最終的な売り上げ金額との調整は、例えば、ユーザが同一の決済承認番号を使用して設定した期間、例えば、10日内に複数回のe−コマースを行った場合や、条件修正、追加などの場合に行うことができる。なお、ステップS1108の処理が終了した後、決済内容は、決済管理DB280aから決済ログDB270に移動される。一方、ステップS1106で、マッチング処理にパスしない場合(no)、処理をステップS1110に進め、オフラインでのマッチング処理および決済処理を行い、処理をステップS1101に分岐させ、後続する権利確認要求の処理に対応する。また、ステップ1107で、カード有効性および口座状態が不良である場合(no)オフラインでの事故処理に処理を渡し、処理をステップS1101に戻しさらに後続する権利確認要求の処理を継続する。
図11に示した処理により、ワンタイムデビット・サービスが可能とされる。なお、ステップS1102の処理を実行した段階で、決済承認番号は、ユーザDB260から決済ログDB270に移転され、この段階で該当する決済承認番号が無効化されている。この場合でも、決済管理DB280aは、決済承認番号に対応するカード番号を依然として管理しているので、決済承認番号の無効化と、決済確定処理とを非同期かつ高いセキュリティ性で可能としている。
図12は、本実施形態で、決済要求処理部236が実行する決済承認番号のワンタイム化処理を、ユーザ・テーブルS1220を使用して説明する図である。図12で説明する実施形態では、ユーザAが2回、決済承認番号S1230、S1240を利用したワンタイムデビット・サービスを利用するものとして説明する。決済要求処理部236は、例えばアクワイアラ・ノードから、{決済承認番号,購買内容,タイムスタンプ}などを含む決済要求を受領する。ここで、ユーザAは、まず、決済承認番号S1230を利用して、加盟店ノードが開設するネットショップA店で、電気製品Bを購入する契約を行ったものとする。
アクワイアラ・ノードは、契約が締結された後、銀行サービス・サーバ210に決済要求を送付すると、決済要求処理部236は、当該決済要求から決済承認番号を抽出し、DBアクセス部244を呼び出して、抽出した決済承認番号をSQL文にセットさせ、ユーザDB260に対して照会を発行させる。DBアクセス部244は、SQL文の照会結果を、決済要求処理部236に返す。この際、当該検索結果は、当該決済承認番号が登録されている場合、登録しているユーザのユーザIDも含む。
決済承認番号は、ユーザ全体にわたり同時に有効な値が生成されないように部分情報取得部242が生成するので、ユーザDB260を検索するため、決済承認番号の他に値がなくとも検索が可能である。また、ユーザDB260が、XMLデータベースとして実装されている場合、DOMやSAXなどを利用して、木構造中における検索対象とする決済承認番号を検索することもできる。
決済要求処理部236は、決済要求から抽出した決済承認番号を見出すと、データ構造S1220の決済承認番号S1230の削除をDBアクセス部244に指令して削除させる。これを説明する目的で図12では、決済承認番号S1230がグレー表示されているが、この段階で、決済承認番号S1230は、ユーザDB260から既に削除されていることを示す。その後、決済要求処理部236は、決済要求が含む決済承認番号、購買内容、およびユーザDB260から当該決済承認番号を削除した日時をDBアクセス部244に渡す。DBアクセス部244は、決済要求処理部236からの指令を受領すると、削除した決済承認番号と、当該決済承認番号が行使された購買内容およびユーザDB260から当該決済承認番号を削除した日時を、決済ログDB270の決済承認番号を見出したユーザIDのフィールドに記入する。
決済ログテーブルS1210は、決済ログDB270に構成される決済ログテーブルのうち、ユーザAに対応するカラムを例示的に抽出して示したものである。決済ログテーブルS1210を説明すると、決済ログテーブルS1210は、既使用の決済承認番号S1230を登録するフィールドと、当該決済承認番号S1230により購入または利用されたサービスの内容および決済タイムスタンプを記録するフィールドとを含んでいる。
ユーザAが、以後にさらに決済承認番号S1240を行使すると、決済ログテーブルS1210のユーザAのカラムには、使用済みの決済承認番号と、その購買内容とが追加登録され、以後の決済ログの参照に利用される。なお、決済ログDB270についても、リレーショナル・データベースとして実装することもできるし、XMLデータベースとして実装することもできるし、またOODBとして実装することができる。
図13は、本実施形態の銀行サービス・サーバ210がユーザ通知部238を介してユーザ・ノード220のデスクトップ画面上に表示させるウェブ・ページ1300の実施形態を示す。ウェブ・ページ1300には、銀行サービス・サーバ210が提供することが可能な各種サービスについてのリンクやオンライン広告などが表示されている。ユーザが本実施形態の決済承認番号の取得を希望する際には、ログイン・ボタン1320をクリックし、登録ユーザ画面を開くことで、ワンタイムデビット・サービスの登録ページを開く。
図14は、ワンタイムデビット・サービスのユーザ登録ページ1400の実施形態を示す。ユーザ登録ページ1400には、表示ウィンドウ1410内に複数の入力フィールドを有するGUI表示1420が表示されており、ユーザに対してワンタイムデビット・サービスのための番号を発行するページであることを認識させている。ユーザは、図14に示したGUI表示1420から、自己の口座を有する店番−口座番号を入力フィールド1430に入力し、その後、ユーザ登録時に取得したログインIDやログイン・パスワードなどを入力フィールド1440、1450に記入する。その後、入力フィールド1460で利用限度額の設定を行う。
そして、ユーザは、認証デバイスがその時点で表示しているワンタイム・パスワードを入力フィールド1470に入力する。すべての値の記入が終了した後、ユーザは、「利用開始」ボタン1480をクリックすることにより、ワンタイムデビット・サービスのための決済承認番号が数字列として割当てられる。
図15は、決済承認番号が割当てられた後の条件設定をカスタマイズするワンタイムデビット番号確認画面1500の実施形態を示す。図15に示したワンタイムデビット番号確認画面1500には、GUI表示1510が表示されている。図15の実施形態中、「デビット番号をご確認下さい。」の下のフィールド1530に表示される数字列は本実施形態の決済承認番号である。そして、フィールド1540には、月/年およびセキュリティコードなどが表示されている。なお、セキュリティコードは、加盟店ノードによってはセキュリティコードの入力を要求する場合もあるので、そのようなネットショップにおいて、ユーザインタフェースを別途用意することなく、ワンタイムデビット・サービスの利用を可能とするために、銀行サービス・サーバ210が割当てる。
さらにフィールド1550には、デフォルト設定された限度金額である10万円をユーザが変更するための入力フィールド1550が表示され、ユーザが利用限度額をシステム上で許容できる限度内で、変更可能とされている。ユーザは、図15のGUI表示1510を介してワンタイムデビット番号の確認および利用限度額を修正して、本実施形態のワンタイムデビット・サービスを利用する準備が完了する。なお、図15に示した各種情報は、ユーザが保存することができるように、ユーザ通知部238から確認メールなどとしてユーザ・ノードに送付されてもよい。なお、ユーザ通知部238からの通知成功に対応して、決済認証番号、利用限度額などのカスタマイズされた情報を、ユーザDB260などに登録して以後の処理のために利用する。
図16は、本実施形態のワンタイムデビット番号を使用する際の実施形態において表示されるGUI表示1600を示す。ユーザは、ユーザ・ノード220からネットワークにアクセスし、加盟店ノードとして機能する「ネットショップネット」のウェブ・ページにアクセスしている。ユーザが各種商品・サービスの購入や利用を要求した後、決済要求を行うと、ユーザ・ノード220の表示ウィンドウ1610には、決済情報入力ウィザード1620が表示される。
ユーザは、決済種類として、デビット・サービスでの支払を希望する設定を入力しており、決済情報入力ウィザード1620では、デビット番号の入力フィールド1630が表示される。ユーザは、入力フィールド1630にワンタイムデビット番号を入力し、さらに有効期限、CVVの値の入力を行い、「OK」ボタンをクリックすることにより、決済要求がアクワイアラ・ノードを経由して銀行ノードに送付される。この決済要求は、特定の実施形態では、条件付の決済要求を含む権利確認要求として一体の形式で発行することもできるし、他の実施形態では、権利確認要求と決済要求とを別々のパケットとしてシーケンシャルに送付することもでき、決済要求の構成形式には特に限定されるものではない。銀行ノードに設置された銀行サービス・サーバ210は、当該決済要求を受領すると、図3、図4、図5、図7、図8、図11に示した処理を実行して決済処理を完了する。
以下、銀行サービス・サーバ210が実行する決済プロセスを、ユーザによる決済承認番号の利用ステップから説明する。ユーザは、銀行サービス・サーバ210にアクセスし、ログイン認証およびワンタイム・パスワードを利用したユーザ認証の後、ワンタイムデビット番号として与えられる決済承認番号を、銀行サービス・サーバ210が表示する画面上で事前に確認する。その後、ユーザは、特定のURI(Uniform Resource Identifier)で指定され、加盟店ノードがインターネット上に開設するインターネット・ショッピングサイトにアクセスする。
なお、インターネット・ショッピングサイトへのリダイレクトは、銀行サービス・サーバ210がユーザ・ノード220の画面上に表示するウェブ・ページのバナー広告やハイパーリンクとすることもできるし、ユーザが別のブラウジング画面を表示させ、当該ブラウジング画面からユーザが所望するインターネット・ショッピングサイトを表示させてアクセスすることもできる。
ユーザは、アクセスしたインターネット・ショッピングサイトの商品購入・決済申込み画面まで処理を進めた後、決済申込み画面でワンタイムデビット番号を、所定の入力フィールドにタイピングまたはコピーアンドペーストにより設定する。その後、決済申込み画面上に表示された「OKボタン」をクリックするなどしてsubmitアクションをインターネット・ショッピングサイトに送付する。加盟店ノードは、ウェブ・サーバとして実装されており、決済申込み画面から入力されたワンタイムデビット番号および決済金額を、決済要求通知に含ませ、例えば、VPN(Virtual
Private Network)などで構成された決済ネットワークを通じて銀行サービス・サーバ210に送付する。
銀行サービス・サーバ210は、当該ワンタイムデビット番号について決済申込がなされたことを通知する決済要求通知を受領すると、決済要求通知を受領した時刻でのワンタイムデビット番号の利用状況、具体的には、利用限度額超過していないか、カード利用停止になっていないかなど、および普通預金口座が引落し禁止や入金禁止になっていないかなどの状況の確認を行なう。銀行サービス・サーバ210は、ワンタイムデビット番号の利用状況や普通預金口座番号の状況に問題がないと判断すると、ワンタイムデビット番号を現在登録している普通預金口座から決済、具体的には、普通預金口座からの決済金額の引落し処理を実行する。引落処理が成功した後、銀行サービス・サーバ210は、当該ワンタイムデビット番号を図4および図11の処理によって無効化し、当該決済トランザクションを、加盟店ノードの識別値、ワンタイムデビット番号、決済金額、決済内容などの決済情報を、決済ログDB270に登録して一連のキャッシュレス・サービスを終了する。
上述したように、本実施形態のワンタイムデビット・サービスは、物理的にカードを発行することが不要で、かつほぼリアルタイムでの代金決済が可能となるので、銀行ノード、アクワイアラ・ノード、発行者ノードおよび加盟店ノードにおける個人情報の長期管理を不要とする。また、ユーザにおいても煩雑な物理的カードの取得が不要となり、また使いすぎが防止できるなど、利用性および個人情報漏洩リスクの増大を防止することができる。
図17は、本実施形態のワンタイムデビット・サービスにより発行されるワンタイムデビット番号、すなわち、決済承認番号の数を、時系列的にシミュレーションした結果を示す。シミュレーションにあたっては、下記の仮定を行った。
(1)ワンタイムデビット・サービスに加入するユーザ数は、1万人/月である。
(2)新規登録ユーザのうち、1月以内にワンタイムデビット・サービスを利用するユーザの期待値は、50%である。
(3)新規登録ユーザのうち、2月以内にワンタイムデビット・サービスを利用するユーザの期待値は、40%である。
(4)新規登録ユーザのうち、有効期間(5年)の間に利用しないユーザの期待値は、10%である。
(5)決済承認番号を複数発行する場合には、全ユーザに対して同一の4番号を発行するものとし対外は、上記(1)〜(4)の条件と同一とした。
上記仮定の下で、発行しなければならない決済承認番号、図17に示したシミュレーションでは、本実施形態のワンタイムデビット・サービスと、有効期間中生存する従来のサービスとに関し、デビット番号発行数を、サービス提供期間(月数)についてプロットして示す。図17中、ラインAが従来の有効期間中生存するサービスのデビット番号割当数の月次増加を示し、ラインBが、1ユーザあたり1番号を割当てる場合のデビット番号割当数の月次増加を示し、ラインCは、1ユーザあたり4番号を割当てる場合のデビット番号割当数の月次増加を示す。なお、1ユーザあたり4番号を割当てる場合、デビット番号の割当数は、利用期待値に影響を与えないものと仮定した。
図17に示されるように、従来のサービスでは、ラインAで示すように、ユーザ登録数が増加すればするだけ、ユーザ登録数に正比例してデビット番号割当数が増加しているのが示されている(10ヶ月で、10万デビット番号)。
一方、本実施形態のワンタイムデビット・サービスでは、デビット番号割当数は、総ユーザ数の増加に対してはるかに低く抑制され、サービス開始後60ヶ月経過した時点では、ユーザ数は、累積で60万人であるところ、専有されるワンタイムデビット・カード番号は、総登録ユーザ数の約1/6弱という結果が得られている。そして、ラインCに示すように1ユーザに対して4番号を割当てる場合、初期には、従来サービスよりも発行数は増えるものの、サービス期間およびユーザ数の増加に応じて従来のサービスよりもデビット番号割当総数は、低く抑制できることが示される。
すなわち、本発明によれば、同数の総ユーザ数であても管理しなければならないワンタイムデビット・サービスに利用する決済承認番号の総発行数が抑制でき、管理しなければならない決済承認番号の総数が削減できることから、不正使用などの可能性を低減でき、また銀行ノード、アクワイアラ・ノード、発行者ノードにおける既発行の決済承認番号の管理および情報処理装置に対する負荷も軽減できキャッシュレス・サービスの利用性をより効率化できる。
本実施形態の上記機能は、C++、Java(登録商標)、JavaBeans(登録商標)、JavaApplet(登録商標)、JavaScript(登録商標)、Perl、Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、プログラムは、ハードディスク装置、CD-ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
100…トランザクション・フロー
200…カードレス決済システム
210…銀行サービス・サーバ
220…ユーザ・ノード
230…ゲートウェイ処理部
232…ログイン認証部
240…ユーザ認証部
234…決済承認番号生成部
242…部分情報取得部
250…部分情報DB
238…ユーザ通知部
236…決済要求処理部
244…DBアクセス部
246…乱数発生部
260…ユーザDB
270…決済ログDB
280…決済サーバ
280a…決済管理DB
290…ネットワーク

Claims (15)

  1. ネットワークを介して電子商取引における代金決済を物理的カードを発行することなく実行する情報処理装置であって、前記情報処理装置は、
    前記情報処理装置に対し前記ネットワークを介してアクセスするユーザのログイン認証を行うログイン認証部と、
    前記ログイン認証が成功したユーザについてユーザ認証を実行するユーザ認証部と、
    前記ユーザ認証に成功したユーザが前記電子商取引での代金決済を前記情報処理装置が行うために利用する決済承認番号を生成するための数字列からなる部分情報を部分情報データベースからランダムに採番する部分情報取得部と、
    前記部分情報取得部が取得した前記部分情報と、代金決済のための制御情報を結合して前記ユーザ認証に成功したユーザに固有であり、ユーザの使用によっては無効化されずに一定期間生存し、前記ユーザの口座番号からの引落としの成功により無効化される前記決済承認番号を生成する決済承認番号生成部と、
    前記ネットワークを介して決済の要求を受領して前記決済の要求が含む前記決済承認番号の有効性を判断し、前記決済承認番号が有効の場合に前記決済の要求に指定された金額について、前記ユーザの口座番号から引落しを指令すると共に、引落としの成功に応答して前記ユーザの前記決済承認番号を無効化する決済要求処理部と
    を含む、情報処理装置。
  2. 前記部分情報取得部は、乱数発生部を含み、前記乱数発生部が生成した乱数列を、前記部分情報データベースから検索して既リースでない部分情報を前記部分情報データベースから取得する、請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、さらに前記口座番号を有するユーザを管理するユーザ・データベースを含み、前記ユーザ・データベースは、前記ユーザについて発行された前記決済承認番号を前記ユーザに対応付けて登録する、請求項1または2に記載の情報処理装置。
  4. 前記情報処理装置は、前記決済の要求に関連する代金決済の履歴を記録する決済ログ・データベースを含み、前記決済の成功に応答して、前記決済承認番号を、前記ユーザ・データベースから前記決済ログ・データベースに移動させることにより無効化する、請求項に記載の情報処理装置。
  5. 前記情報処理装置は、銀行口座を管理する銀行が設置する銀行サービス・サーバであり、前記決済承認番号は、デビット・サービスについての代金決済の承認を与える、請求項1〜4のいずれか1項に記載の情報処理装置。
  6. ネットワークを介して電子商取引における代金決済を物理的カードを発行することなく実行するカードレス決済システムであって、情報処理装置であって、前記カードレス決済システムは、
    前記ネットワークに接続されたユーザ・ノードと、
    前記ネットワークに接続され、前記ユーザ・ノードとの間で相互通信可能な銀行サービス・サーバとを含み、前記銀行サービス・サーバは、
    前記情報処理装置に対し前記ネットワークを介してアクセスする前記ユーザ・ノードから送付されるアクセス要求についてログイン認証を行うログイン認証部と、
    前記ログイン認証が成功した場合、前記ユーザ・ノードから送付された前記アクセス要求についてユーザ認証を実行するユーザ認証部と、
    前記ユーザ認証に成功した場合、前記ユーザ・ノードが前記電子商取引での代金決済を前記情報処理装置により行うために利用する決済承認番号を生成するための数字列からなる部分情報を、部分情報データベースからランダムに採番する部分情報取得部と、
    前記部分情報取得部が取得した前記部分情報と、代金決済のための制御情報を結合して前記カードレス決済システム上で固有であり、ユーザの使用によっては無効化されずに一定期間生存し、前記ユーザの口座番号からの引落としの成功により無効化される前記決済承認番号を生成する決済承認番号生成部と、
    前記ネットワークを介して決済の要求を受領して前記決済の要求が含む前記決済承認番号の有効性を判断し、前記決済承認番号が有効の場合に前記決済の要求に指定された金額について、前記ユーザの口座番号から引落しを指令すると共に、引落としの成功に応答して前記ユーザ・ノードの前記決済承認番号を無効化する決済要求処理部と
    を含む、カードレス決済システム。
  7. 前記部分情報取得部は、乱数発生部を含み、前記乱数発生部が生成した乱数列を、前記部分情報データベースから検索して既リースでない部分情報を前記部分情報データベースから取得する、請求項6に記載のカードレス決済システム。
  8. 前記情報処理装置は、
    前記口座番号を有するユーザを管理するユーザ・データベースを含み、前記ユーザ・データベースと、
    前記ユーザについて発行された前記決済承認番号を前記ユーザに対応付けて登録する、前記決済の要求に関連する代金決済の履歴を記録する決済ログ・データベース
    を含み、前記決済の成功に応答して、前記決済承認番号を、前記ユーザ・データベースから前記決済ログ・データベースに移動させることにより無効化する、請求項6または7に記載のカードレス決済システム。
  9. 前記銀行サービス・サーバは、銀行口座を提供する銀行が管理し、前記決済承認番号は、デビット・サービスについての代金決済の承認を与える、請求項6〜8のいずれか1項に記載のカードレス決済システム。
  10. ネットワークを介して電子商取引における代金決済を物理的カードを発行することなく実行する情報処理装置が実行するカードレス決済方法であって、前記情報処理装置が、
    前記情報処理装置に対し前記ネットワークを介してアクセスするユーザのログイン認証を行うステップと、
    前記ログイン認証が成功したユーザについてユーザ認証するステップと、
    前記ユーザ認証に成功したユーザが前記電子商取引での代金決済を前記情報処理装置により行うために利用する決済承認番号を生成するための数字列からなる部分情報を部分情報データベースからランダムに採番するステップと、
    前記部分情報と、代金決済のための制御情報を結合して前記ユーザ認証に成功したユーザに固有であり、ユーザの使用によっては無効化されずに一定期間生存し、前記ユーザの口座番号からの引落としの成功により無効化される前記決済承認番号を生成するステップと、
    前記ネットワークを介して決済の要求を受領して前記決済の要求が含む前記決済承認番号の有効性を判断し、前記決済承認番号が有効の場合に前記決済の要求に指定された金額について、前記ユーザの口座番号から引落しを指令すると共に、引落としの成功に応答して前記ユーザの前記決済承認番号を無効化するステップと
    を実行するカードレス決済方法。
  11. 前記ランダムに採番するステップは、乱数列を生成し、生成した乱数列で前記部分情報データベースを照会して既リースでない部分情報を前記部分情報データベースから取得するステップを含む、請求項10に記載のカードレス決済方法。
  12. 前記決済承認番号を生成するステップは、前記口座番号を有するユーザを管理するユーザ・データベースに前記ユーザについて発行された前記決済承認番号を前記ユーザに対応付けて登録する、請求項10または11に記載のカードレス決済方法。
  13. 前記決済承認番号を無効化するステップは、前記決済の要求に関連する代金決済の履歴を記録する決済ログ・データベースに、前記決済の成功に応答して前記決済承認番号を、前記ユーザ・データベースから前記決済ログ・データベースに移動させるステップを含み、前記情報処理装置は、銀行口座を管理する銀行が設置する銀行サービス・サーバであり、前記決済承認番号は、デビット・サービスについての代金決済の承認を与える、請求項12に記載のカードレス決済方法。
  14. ネットワークを介したキャッシュレス決済方法であって、前記キャッシュレス決済方法は、銀行サービス・サーバが、
    ネットワークに接続されたユーザ・ノードから電子商取引での代金決済を銀行サービス・サーバにより銀行口座から即時決済するためのワンタイムデビット番号を発行する要求を受領するステップと、
    前記要求の受領に応答して、ログイン認証およびワンタイム・パスワードを利用したユーザ認証を実行するステップと、
    前記ユーザ認証の成功後、前記ユーザ認証に成功したユーザが前記ワンタイムデビット番号を生成するための部分情報を部分情報データベースからランダムに採番し、代金決済のための制御情報を結合して前記ユーザに固有でありユーザの使用によっては無効化されずに一定期間生存し、前記ユーザの口座番号からの引落としの成功により無効化される前記ワンタイムデビット番号を生成するステップと、
    前記ユーザ・ノードにより加盟店ノードがネットワーク上に開設するインターネット・ショッピングサイトに対して通知された前記ワンタイムデビット番号および決済金額を含む決済の要求を受領するステップと、
    前記決済の要求が含む前記ワンタイムデビット番号について前記決済の要求を受領した時刻でのワンタイムデビット番号の利用状況および銀行口座の状況を検査し、当該検査の結果前記利用状況および前記銀行口座の状況が決済可能であると判断した場合、前記ワンタイムデビット番号を現在登録している銀行口座から前記決済金額の引落しを実行することにより代金決済を実行させるステップと、
    前記決済の成功に応答してユーザ・データベースに登録された前記ワンタイムデビット番号を削除して無効化するステップと、
    当該決済トランザクションを、前記加盟店ノードの識別値、削除した前記ワンタイムデビット番号、決済金額と共に決済情報として決済ログ・データベースに登録するステップと
    を実行する、キャッシュレス決済方法。
  15. 情報処理装置を、請求項1〜5のいずれか1項に記載の機能手段として機能させるためのコンピュータ実行可能なプログラム。
JP2009191672A 2009-08-21 2009-08-21 カードレス決済のための情報処理装置、カードレス決済システム、カードレス決済方法、キャッシュレス決済方法およびプログラム Active JP5484823B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009191672A JP5484823B2 (ja) 2009-08-21 2009-08-21 カードレス決済のための情報処理装置、カードレス決済システム、カードレス決済方法、キャッシュレス決済方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009191672A JP5484823B2 (ja) 2009-08-21 2009-08-21 カードレス決済のための情報処理装置、カードレス決済システム、カードレス決済方法、キャッシュレス決済方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2011043983A JP2011043983A (ja) 2011-03-03
JP5484823B2 true JP5484823B2 (ja) 2014-05-07

Family

ID=43831376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009191672A Active JP5484823B2 (ja) 2009-08-21 2009-08-21 カードレス決済のための情報処理装置、カードレス決済システム、カードレス決済方法、キャッシュレス決済方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5484823B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130100872A (ko) * 2012-02-22 2013-09-12 주식회사 엘지씨엔에스 일회용 응답코드를 통한 결제 방법, 이를 수행하는 결제 서버 및 사업자 단말
KR101451214B1 (ko) * 2012-09-14 2014-10-15 주식회사 엘지씨엔에스 결제 방법, 이를 실행하는 결제 서버, 이를 저장한 기록 매체 및 이를 실행하는 시스템
JPWO2016143127A1 (ja) * 2015-03-12 2017-06-15 陽一 松浦 カードレスシステム
JP6479126B1 (ja) * 2017-10-02 2019-03-06 株式会社ジェーシービー 決済システム
JP7419441B2 (ja) 2022-06-27 2024-01-22 楽天グループ株式会社 決済システム、決済方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636833B1 (en) * 1998-03-25 2003-10-21 Obis Patents Ltd. Credit card system and method
CA2381074A1 (en) * 1999-08-25 2001-03-01 Jeffrey Edward Friend Secure system for conducting electronic transactions and method for use thereof
JP2008250884A (ja) * 2007-03-30 2008-10-16 Cyber Coin Kk 認証システム、認証システムに用いられるサーバ、移動体通信端末、プログラム
JP2008305392A (ja) * 2007-05-09 2008-12-18 Japan Net Bank Ltd カード決済サービスの提供方法、カード決済サービスの提供システム、及びコンピュータシステムにカード決済サービスの提供処理を実行させるためのコンピュータプログラム

Also Published As

Publication number Publication date
JP2011043983A (ja) 2011-03-03

Similar Documents

Publication Publication Date Title
US11010751B2 (en) Performing transactions using virtual card values
CN112368730B (zh) 使用动态安全结账元件的安全远程交易框架
US5883810A (en) Electronic online commerce card with transactionproxy number for online transactions
JP5870442B2 (ja) 金融文書及び同様のものを通知するためのプロセス及び装置
US20180330342A1 (en) Digital asset account management
US8898082B2 (en) Network-based consumer transactions with credit accounts
AU2011207602B2 (en) Verification mechanism
US20100191622A1 (en) Distributed Transaction layer
CA3019849A1 (en) Digital asset account management
JP5484823B2 (ja) カードレス決済のための情報処理装置、カードレス決済システム、カードレス決済方法、キャッシュレス決済方法およびプログラム
KR100737830B1 (ko) 전자상거래 금융정보 처리시스템과 그 방법
JP2005521181A (ja) クレジットカード決済方法およびシステム
KR100822985B1 (ko) 닉네임을 이용한 지불결제 처리 시스템
US11907801B2 (en) System for encoding resource access credential in barcode
CN110619566A (zh) 通过链上数字货币结算的链上质押资产返还系统和方法
KR20110129735A (ko) 빠른 대출이 가능한 인터넷 대출 방법
KR100457399B1 (ko) 클라이언트 결제 애플리케이션을 이용한 인터넷 기반 전자 상거래의 결제 서비스 제공 방법
JP7109717B2 (ja) 送金支援サーバ、送金支援システム、送金支援方法、および送金支援方法を実行するためのプログラム
JP2010152735A (ja) 利用者端末の動作方法及びサーバ装置
JP2008511940A (ja) インターネットカフェにおける即時決済システム及びその方法
JP6424268B1 (ja) 入出金代行システム
KR100485243B1 (ko) 보안시스템을 이용하는 온라인 계좌 이체 거래를 통한 납부방법
JP2002092323A (ja) 支払方法及び金融機関センタ
JP2005025468A (ja) 銀行システム及びキャッシング取引の処理方法
JP2002109419A (ja) インターネット上の電子商取引の決済方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140219

R150 Certificate of patent or registration of utility model

Ref document number: 5484823

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250