JP2008508585A - 電子金融取引システム - Google Patents

電子金融取引システム Download PDF

Info

Publication number
JP2008508585A
JP2008508585A JP2007523156A JP2007523156A JP2008508585A JP 2008508585 A JP2008508585 A JP 2008508585A JP 2007523156 A JP2007523156 A JP 2007523156A JP 2007523156 A JP2007523156 A JP 2007523156A JP 2008508585 A JP2008508585 A JP 2008508585A
Authority
JP
Japan
Prior art keywords
terminal
http
financial transaction
host
electronic financial
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.)
Granted
Application number
JP2007523156A
Other languages
English (en)
Other versions
JP5122282B2 (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 インジェニコ (ユーケー) リミテッド
Publication of JP2008508585A publication Critical patent/JP2008508585A/ja
Application granted granted Critical
Publication of JP5122282B2 publication Critical patent/JP5122282B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/204Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification

Abstract

新しいEFT(electronic financial transaction)システムが提示され、このシステムでは、取引のビジネスロジックが、安全なPOS端末から離れた場所で定義され、したがって、ビジネスロジックを容易にカスタマイズしたり更新したりすることができるフレームワークを有する。
【選択図】 図1

Description

発明の詳細な説明
本発明は、電子金融取引に関し、詳細には、電子金融取引のシステムおよび方法ならびにそのようなシステムのコンポーネントに関する。
EFT(electronic financial transaction)システムを使用して、顧客が、さまざまなタイプのデビットカードおよびクレジットカードを用いて商品およびサービスに対する支払いを行うことができるようにすることがよく知られており、以降では、これらのカードを「取引カード」あるいは単に「カード」と呼び、これらの用語は、EFT取引において採用される同等のタイプのデータ記憶媒体などを含むものと理解され、たとえば前払いのモバイル取引のための電子バウチャーを含むことができる。このようなシステムにおいては、EFTPOS端末(EFT point of sale (POS) terminal)が、リモート「取得者」システムと通信し、このリモート「取得者」システムは、一般に銀行などの金融機関によって、またはそうした金融機関のために操作されて、取引を承認および処理する。
一般にEFTPOS端末は、(通常は磁気ストリップを読み取ること、またはカード上のチップを調べることによって)顧客のカードの詳細と、(通常はキーパッドの入力によって、または関連するキャッシュレジスタシステムなどから直接)少なくとも取引の数量を含むその他の情報とを取得し、次いで電気通信リンクを介して取得者システムとオンラインで通信して、取引を承認および/または処理する。EFT取引を承認および処理できる方法には、「小売信用限度額」を使用して、オンラインの承認が必要かどうかを判断すること、リアルタイムとバッチモードの取引処理、少しずつ進める取引処理などを含む多くのバリエーションがある。本発明は、そのようなすべてのモードのEFT処理に適用することができる。
従来のEFTのシステムおよび方法については、本明細書では詳細には説明しない。そのような詳細は、当業者によく知られているためである。ただし、下記の点については留意されたい。
EFTシステムは一般に、取引を承認および処理するための標準的なプロトコルに準拠している。英国においては、そのようなプロトコルとしては、APACS 30/50およびAPACS 40が含まれる。類似のプロトコルおよび/または同等のプロトコルが、その他の場所でも適用されている。本発明については、とりわけAPACSプロトコルを参照して説明するが、本発明は、それに限定されるものではなく、すべてのEFTプロトコルと共に使用できる、あるいはそうした使用に適合できることを意図しているものであるということを理解されたい。
EFTPOS端末は一般に、1つまたは複数のカードリーダデバイスあるいはその同等物と、ディスプレイと、キーパッドおよび/またはピンパッドあるいはその同等物と、プリンタとを含み、スタンドアロンのデバイスと、複数の無線ハンドセットを有するPOSシステムと、キャッシュレジスタならびに当技術分野でよく知られているその他の「ローカルな」デバイスおよびシステムなどに関連付けられている、または統合されているデバイスとを備えることができ、直接、またはやはりよく知られている1つまたは複数の中間システムを通じて、取得者システムと通信することができる。本発明は、そのようなすべてのタイプのEFTPOS端末および関連するシステムに適用できることを意図されているということが理解できるであろう。とりわけ、本発明のシステムの一部として本明細書に記載されているリモートホストシステムまたはそのようなシステムのコンポーネントが、取得者システムと通信するものとして記述されている場合、そのような通信は、さらなる中間システムを含むことができるということが理解できるであろう。
本発明はまた、署名およびPINの確認、および指紋、音声、網膜スキャン認識などの生体認証による確認技術を含むすべての公知のタイプおよび提示されているタイプの顧客ID確認と共に使用できることを意図している。
EFTPOS端末が、「安全な端末」であるということ、すなわち通信の傍受や盗み読みを防止するための、偽物の端末や偽物の取得者ホストの使用を防止するための、あるいは端末に対する物理的な不正を防止するための1つまたは複数のセキュリティーメカニズムを有する端末であるということは、暗黙の了解である。実装されるセキュリティーメカニズムは、実行されている取引の性質および規模を考慮して、適正なレベルのセキュリティーを提供するだけの十分に厳格なものである必要がある。EFTシステム内で採用されるすべての通信システムが安全でなければならないことも、暗黙の了解である。エンドユーザの端末および関連するローカルシステムを除いて、EFTシステムの一部を形成するデータ処理システムは一般に、コントロールされた安全な環境内に配置され、「安全」であるとみなすことができる。
上述のようなすべてのタイプの従来のEFTPOS端末においては、端末は、端末のプログラミングによって、そのユーザインターフェースを提供し、取引カードを読み取り、取引伝票を印刷し、特定の取引をどのように処理するかを決定し、取得者あるいはその他のローカルシステムまたはリモートシステムと通信する(これらの機能の一部またはすべてを端末の「ビジネスロジック」と呼ぶことができる)が、そうしたプログラミングは、CやC++などの低水準言語で書かれ、端末内に「ハードコード」されている。つまりプログラミングは、ハードウェアまたはファームウェア内の端末の中に「永久に」常駐する。すなわちプログラミングは、端末の通常の電源ON/OFFサイクル中には、あるいは通常の使用においては変わらない。
従来のハードコードされた端末に伴う重大な問題は、端末プログラミングの修正、アップグレードなどには、(a)専門のプログラミングスキルと、(b)インストールされている端末ユーザ基盤の現場での再構成とが必要になるという点である。つまり、新しいまたは改良されたビジネスロジックあるいはその他の端末機能の導入は、複雑であり、費用がかさみ、長い準備期間を必要とする。また、そのような修正および改良は必然的に、(個人のエンドユーザではなく、チェーンストアなどのユーザ組織という意味での)ユーザ、サービスプロバイダー、または取得者によってではなく、一般に元の機器製造業者またはその他の高度に専門化した供給業者によって、開発されインストールされなければならない。このことから生じる1つの結果としては、システムの開発および保守に含まれる諸経費が高くなるという点のほかに、EFTシステムのインフラストラクチャーが非常に柔軟性に欠けるという点がある。
本発明の目的は、新しいおよび改良されたビジネスロジックの開発および実装を含むシステムインフラストラクチャーの保守および開発を容易にする改良されたEFTのシステム、(端末を含む)システムコンポーネント、および方法を提供することである。
本発明の特定の特徴は、一般的なコンピューティング、ネットワーキング、および通信テクノロジーのさまざまな領域から公知であるということ、あるいはそうした領域において同等のものを有するということを示すことができるのは明らかであるが、セキュリティーが最優先事項であり、ユーザおよびサービスプロバイダーが必然的に保守的になるEFTシステムのコンテキストにおいて、そのような特徴を採用すること、または組み合わせることが、どこから見ても明らかであるとみなすのは正しくない。たとえば、特別にフォーマット設定されたインターネットコンテンツにユーザがアクセスできるようにする特別に修正されたブラウザを採用しているモバイルコンピューティング/通信デバイスが、知られているかもしれない。しかし、HSC(High Security Core)やその他のEMV対応機能など、何らかのセキュリティーの高い不正行為検出ハードウェア機能が欠けているため、そのような従来のモバイルデバイスを電子金融取引用の安全な端末として使用するために検討できる有効な方法はない。
本発明は、そのさまざまな態様および好ましい特徴において、本明細書に添付されている特許請求の範囲において定義される。本発明のさらなる態様および好ましい特徴は、その好ましい実施形態に関する以降の説明から明らかになるであろう。
以降の説明では、従来のEFTのシステム、機能、および用語の知識は、コンピューティング、コンピュータネットワーキング、および電気通信に関連して一般に受け入れられている用語の知識であると想定する。これには、国外および国内を問わず、IETF、WAP Forum、Unicode組織、W3C、ISO、ETSI、ITU、およびその他の組織によって作成された関連する規格およびその他の文書において定義されている用語が含まれる。
次いで本発明の実施形態について、例示のみを目的として、添付の図面を参照して説明する。
本発明は、EFT(支払い)システムのための新しい普遍的なアプローチを提供し、このアプローチによって、ビジネスロジックは、端末からリモートホストシステムへ完全に移行される。
本発明のコンテキストにおいては、端末は、リモートホストシステム内に配置されているウェブのようなアプリケーションを見るためのものとみなされる。ユーザによって入力されたデータは、すべてのアプリケーションに関して同じ方法で処理される。そうしたデータは、リモートホストシステムへ送信され、そこでアプリケーション固有の方法で処理される。
図1は、第1の実施形態によるシステムの論理図を示している。端末10が、システムのエンドユーザと対話するために提供されている。図示されている実施形態においては、この端末は、ディスプレイ、キーパッド、ピンパッド、プリンタ、磁気カードリーダ、およびICC(integrated circuit card)リーダを備える。
端末10は、「マイクロブラウザ」ソフトウェアアプリケーション(マイクロブラウザ)12を実行し、このマイクロブラウザ12は、指定されたTML(Terminal Mark−up Language)に従って記述されるページをレンダリングおよびナビゲートすることができ、これについては、以降でさらに詳しく説明する。
マイクロブラウザ12は、リモートホストシステムと通信し、このリモートホストシステムは、ゲートウェイホスト19、支払いアプリケーション22、および設定サービス26を備える。
ゲートウェイホスト19は、ゲートウェイ実行可能アプリケーション14を含む。ゲートウェイ実行可能アプリケーション14は、コンバータ16およびHTTPプロキシ18と共に機能する。ゲートウェイホスト19のオペレーションについては、以降で説明する。
HTTPプロキシ18は、1つまたは複数のHTTPサーバにサービスを提供し、この場合は、TML支払いアプリケーション22を実行する第1のHTTPサーバ20と、設定ウェブサービス26を実行する第2のHTTPサーバ24とにサービスを提供する。
第1のHTTPサーバ20は、静的なTMLページと取得者ホストのソフトウェアとの双方を含むTMLアプリケーション22を分配し、管理する。HTTPサーバ20はまた、TMLアプリケーションへの非公開の承認されたアクセスを提供することも担当する。端末の送信を処理している間、TMLアプリケーションのホスト部分は、その他のホストと対話することができる。任意の適切な電子取引プロトコルを使用することができる。プロトコルの選択は、使用されているハードウェアのタイプ、含まれている取引のタイプ、および端末が使用されている国の金融機関によってどのプロトコルが承認されているか、あるいは一般に使用されているかということに左右される。たとえば英国においては、APACS 30/50および/またはAPACS 40の規格を使用して、取得者のホストと通信することができる。TMLアプリケーションは、ウェブGUI 28を使用して、さらに更新および設定することができる。TMLアプリケーションはまた、データベース200を利用し、このデータベース200は、端末のリストおよび通信ログを整備するために使用することができる。取得者は、API 202と対話する。
設定ウェブサービス26は、RPC(remote procedure calling)フレームワークを介してアクセスされ、端末10を自動的に設定するために使用することができる。ウェブサービス26は、ウェブGUI 30を使用して更新および設定することができ、また設定サービスデータベース204を利用し、この設定サービスデータベース204は、端末のリストおよび通信ログを整備するために使用することができる。マイクロブラウザ12は、端末10内で作動する。マイクロブラウザ12は、取引を完了するために必要とされるビジネスロジックを実際に実施するのではなく、別々のTMLアプリケーションによって指定されるビジネスロジックのインタープリターとみなすことができる。マイクロブラウザ12は、指定されたTMLに対応するように特に設定されている端末アプリケーションである。
図2は、下記のようなマイクロブラウザ12のコンポーネントの詳細を示している。
端末マイクロブラウザアプリケーション32は、端末OS(Operating System)の要件に従って実装されるすべてのサブシステムのためのラッパーである。端末マイクロブラウザアプリケーション32は、マイクロブラウザ12のメイン処理ループを含み、OSのイベントを処理することができる。
デフォルト設定によって、マイクロブラウザ12は、OSがロードされた直後に起動する。マイクロブラウザ12は、インデックス、またはルート、URIを検索し、ページのブラウズを開始する。あるいは、電源オフのイベントの後には、電源オフの前の状態を回復することができる。「終了」のURIが選択されると、マイクロブラウザ12は、メインループを終了し、フローのコントロールをOSに渡す。
マイクロブラウザ12は、磁気カードを通すことや、スマートカードを挿入することなど、OSのイベントを処理する際には、イベント駆動型のアプリケーションモードで実行することができる。あらゆるイベントは、URIに関連付けることができる。そしてマイクロブラウザ12は、そのイベントのために指定されたURIを用いてメインループを始動させる。
端末マイクロブラウザアプリケーション32は、端末のバッテリー充電状況(当てはまる場合には、たとえば無線端末のハンドセット用として)、およびネットワークステータスインジケータをユーザに表示することも担当する。
マイクロブラウザ12は、設定メニューをまったく必要としない。TMLアプリケーションは、TML変数の値を変更すること、またはルーチンを呼び出すことによって、ブラウザ12の設定を変更することができる。しかしマイクロブラウザ12は、内蔵されたTMLページを含み、このTMLページは、ブラウザの設定を変更するために使用される。
TMLアプリケーションをダウンロードおよびブラウズすることとは別に、端末マイクロブラウザアプリケーション32はまた、送信するデータがまったくない場合でさえ、端末10のキャッシュおよび設定データを定期的にリフレッシュする。
設定メニューがまったくないため、またビジネスロジックが端末10から取り除かれているため、マイクロブラウザ12は、機能の面で非常にシンプルである。ユーザの観点からは、このことは、端末10のエンドユーザや、支払いを処理するために端末10を使用したいと希望する業者が、直観的かつシンプルな方法で端末を使用することができるということを意味する。しかし、おそらくはより重要なことに、システムインテグレータの観点からは、複雑なプログラミング言語の多大な知識を必要とすることなく、端末の機能を修正することができ、顧客サポートヘルプデスクを運営することができる。むしろ必要とされるのは、TMLの実用的な知識だけであり、これによって、ユーザフレンドリーな環境が提供される。
初期設定モジュール34は、一意の端末パスワードおよびルートセキュリティー証明書を入手することを含む端末の初期設定のために、ならびに端末のスイッチがオンにされた後のデータの整合性をチェックするために使用される。端末の初期設定プロセスのさらなる詳細は、以降で提示する。
設定モジュール36は、RPC(remote procedure calling)フレームワークを介した端末の自動設定を担当する。この設定は、時刻同期、端末の設定を更新すること(たとえば、イベント駆動型のマイクロブラウザモード用のイベントに対応するURIを定義すること)、あるいはカードパーサ用のパラメータをダウンロードすることを含むことができる。設定モジュール36は、HTTPクライアント38と連携して、RPCデータを用いてHTTP要求を作成し、応答を受け取り、そしてこの応答が、端末を設定するために解析される。
HTTPクライアント38は、リソースをロードして解析し、それらのリソースのそれぞれは、URIによって識別される。HTTPパーサ40は、バイナリーHTTP要求を構築および解析することを担当する。要求されているリソースから他のリソースが参照されている場合には、モジュール38は、それらの他のリソースも検索する。HTTPクライアント38はまた、端末10の永続的なメモリに配置されているリソースのキャッシュを保持する。HTTPクライアント38は、要求されているリソースが永続的なメモリ内に存在するかどうかを最初にチェックし、そのリソースが見つからない場合には、ゲートウェイホスト19から、またはゲートウェイホスト19を介して、そのリソースを検索する。
HTTPクライアント38はまた、オフラインまたはオンラインのいずれかで、HTTPサーバ(図1の20、24)へデータを送信する。HTTPクライアント38は、端末のメモリ内に保存されているすべての延期されている送信を印刷することができ、また送信をキャンセルすることができる。さらに、HTTPクライアント38は、ゲートウェイホスト19へ接続するたびに、端末10の自動設定を開始することができる。設定モジュールの要件を満たすように作成されたウェブサービスコンバータおよびスタブは、リモートプロシージャコーリングライブラリ(図示せず)内に含まれる。
HTTPクライアント38は、STP(secure terminal protocol)インターフェース42を通じて通信を行い、このSTPインターフェース42は、接続を開いたり閉じたりすること、いくつかのラップされたHTTPパケットと共に要求を送信すること、および応答を受け取ることができる。インターフェース42は、TLS、IPスタック、および暗号ライブラリ(図示せず)を利用することができる。
TMLパーサ44が、TMLページを解析するために提供されている。TMLパーサは、ページのフォーマットを確認し、そのページ内に導入される変数を宣言し、TMLを、レンダリングおよび処理に適したフォーマット(たとえば、C構造)へ変換する。
TMLパーサ44は(数あるマイクロブラウザ12のモジュールの中でも特に)変数ライブラリ46を利用し、この変数ライブラリ46は、新しい変数のためのスペースを別々の範囲内に割り当て、事前に定義された変数を生成し、スクリーンに関連付けられている〈setvar〉要素を処理し、指定された変数の名前および範囲を表す変数値を検索し、変数値を変更し、URIによって指定されたページ内に導入されているすべての変数を削除する。
変数ライブラリ46はまた、レンダリング/ナビゲーションモジュール48によって使用され、このレンダリング/ナビゲーションモジュール48は、スクロールアップおよびスクロールダウンとアクティブなリンクの強調表示とを含めてディスプレイスクリーンをレンダリングすること、リンクおよびフォーム要素を通じたナビゲーションを行うこと、プリントスクリーンを印刷すること、メッセージスクリーンおよびフォームプロンプトを(端末ディスプレイ上に)レンダリングすること、ならびにチェックされているチェックボックス要素およびチェックされていないチェックボックス要素とページアップおよびページダウンとを正しくレンダリングすることを含めて、〈input〉要素を有するフォームをレンダリングすることを担当する。
フォーム処理モジュール50が、フォームおよび送信スクリーンを処理するために提供されている。フォーム処理モジュール50は、ユーザの入力を受け取ってチェックし、その入力を変数に割り当て、TMLの送信を構築する。データは、ユーザによって意図的に消去されない限り、HTTPサーバ(20、24)へ送信されて確認応答が受け取られるまで、消去されない。データは、消去されるまで、端末の永続的なメモリ内に保存することができ、これによって、端末10のスイッチがオフにされた場合でも失われることはない。このことはまた、顧客のドメイン内のホストにアクセスできない場合でもフォームを処理することができるということを意味する。したがって、通信が失敗しても、端末10やゲートウェイホスト19がフリーズする結果にはならない。
マイクロブラウザ12のメモリ内に保持されているポストは、印刷すること、キャンセルすること、あるいは(マイクロブラウザ12がホストとの間に形成する次の接続において、またはエンドユーザの命令に応じて)脇にプールしておくことができる。これらの機能は、パスワードで保護されたマネージャーのメニューを介して、スーパーバイザーによって保護されている。これらのパスワードは、それぞれの端末ごとにランダムに作成され、(以降で説明するように)接続証明書と共にデータベース内のゲートウェイホスト19の中に保存される。
カードパーサモジュール52は、カードの磁気トラックを解析すること、およびICC(スマート)カードとの対話を解釈することを担当する。カードパーサモジュールは、端末の自動設定中に設定することができる。このモジュールのオペレーションについては、以降でさらに詳しく説明する。
ゲートウェイホスト19は、Javaホストアプリケーションであり、ゲートウェイ実行可能アプリケーション14、HTTPプロキシ18、およびコンバータ16を備える。ゲートウェイ実行可能アプリケーション14は、ネットワークに導入される新しい端末ごとに(さらなる端末の認証のために使用される)一意の端末パスワードを発行すること、それらの端末にルート証明書を提供すること、および(1つまたは複数の)端末および(1つまたは複数の)HTTPサーバのそれぞれを相互に認証することを含む機能を提供する。
ゲートウェイ実行可能アプリケーション14は、コンバータ16と共に、端末10からの、および逆方向の双方向の対話において1つの要求を処理するのに最大で100ミリ秒を要する。ゲートウェイホスト19は、時間の99.9%にわたって利用することができる十分に堅固なものであることを目標としており、つまり、年間のダウンタイムは約9時間のみとなるはずである。
HTTPプロキシ18は、端末10のために、TMLアプリケーションおよび設定サービスを実行するHTTPサーバ20、24へのHTTPS接続またはHTTP接続を確立することを含む機能を提供する。
コンバータ16は、接続可能なコンポーネントであり、HTTPおよびXMLデータをテキストからバイナリーフォーマットへ、およびその逆へ変換し、イメージを標準的なビットマップから、端末10によってレンダリングできるフォーマットへ変換する。
ゲートウェイホスト19はまた、端末要求の処理効率を高めるために、およびページを最新に維持するために、(データベース54内の)静的なTMLページおよび設定データをキャッシュに格納することを提供する。
図3は、ゲートウェイホストの構造のさらなる詳細を示している。ゲートウェイ実行可能アプリケーション14は、TCP/IPリスナーとして示されている。ゲートウェイ実行可能アプリケーション14は、それぞれの端末セッションを、着信するTCP/IP接続ごとに別々のスレッド(STPセッション)内で処理する。STP要求56は、コンバータ16へ転送され、HTTPプロキシ18を介してサーバ20、24のうちの一方へ回送される。
ゲートウェイ実行可能アプリケーション14は、STPパケット56へとラップされるHTTP要求58ごとにコンバータ16を呼び出す。上述のように、コンバータは、HTTPおよびXMLデータをテキストからバイナリーフォーマットへ、およびその逆へ変換する。しかしコンバータ16は、実際には複数の「サブコンバータ」を備え、これらのサブコンバータとしては、バイナリーHTTPコンバータ、(コードテーブルを用いてパラメータ化することができる)一般的なバイナリーXMLコンバータ、(特定のバージョンのTMLのための一般的なXMLコンバータのパラメータ化である)TMLコンバータ、イメージコンバータ、およびウェブサービスRPCコンバータが含まれる。
どのコンバータが呼び出されるかは、STP要求56からどのBHTTP要求58が抽出されるかによる。STP要求に関しては、コンバータは、それぞれの抽出されたBHTTP要求のコンテンツのタイプを判断しなければならない。端末10から要求が出された際には、すべての呼び出しに関してTMLコンバータを使用することができる。ただし、ウェブサービスの呼び出しであると識別されたものは除く。その場合には、ウェブサービスサブコンバータが使用される。しかしSTP応答に関しては、コンテンツのタイプは、多くの異なるフォーマットとすることができ、応答がパッケージされる前に、利用可能なサブコンバータのいずれかの中から適切なサブコンバータを決定しなければならない。STP要求56の場合とまったく同様に、STP応答は、複数のBHTTP応答を含むことができる。
ゲートウェイホスト19内で使用されるサブコンポーネントが、図4に示されており、この図4では、同様のコンポーネントは、図1に示されているのと同様の参照番号を用いて示されている。
ゲートウェイホスト19のコンポーネントは、安全なイントラネット内で展開される。しかしシステムのその他のコンポーネントは、イントラネットの外に配置することができ、したがって、ゲートウェイホスト19とこれらの部品との間におけるすべての通信チャネルは、注意深く保護されなければならない。この目的から、プロトコルスタックを使用することができ、その場合には、端末10は、要求56を送信するためにバイナリーHTTPを使用する。より低いレベルの要求は、STP内にパックされ、TLSトンネリングを用いてTCP/IPを介して転送される。初期設定中には、端末10は、BHTTPおよびISTPを伴わずに最も低い安全なトンネリングレベルのみを使用する。TLSセッションを確立する際には、ゲートウェイホスト19は、認証のために自分のセキュリティー証明書を端末10へ送信するという点に留意されたい。適切な保護手段のさらなる詳細については、以降で提示する。
次いでゲートウェイホスト19のオペレーションについて、さらに詳しく説明する。
ゲートウェイホスト19用の設定パラメータは、ゲートウェイ実行可能アプリケーション14自体に関連し、すべての接続されている端末10にとって共通である。設定パラメータは、ゲートウェイホスト19が起動した際にロードされる設定ファイルから、またはウェブGUI 60(図1を参照されたい)などのリモートインターフェースから得ることができ、そうしたリモートインターフェースからは、ゲートウェイホスト19は、初期設定のうちのいくつかを変更する命令を受け取ることができる。共通の設定が変更された場合には、それらの設定は、変更が行われた後に接続されている端末10に対してのみ有効となる。
新しい端末10の初期設定を求める要求は、初期設定ポート64を介して(別のスレッド内で)処理される。それぞれの端末は、関連付けられている一意のTID(terminal ID)を有し、このTIDは、たとえば8桁の文字列とすることができる。TIDは、初期設定の要求と共にゲートウェイ実行可能アプリケーション14へ送信される。次いでゲートウェイ実行可能アプリケーション14は、要求を行っている端末10の信用証明書を確認するために、提供された端末10のTIDを自分のレコードと照合する。確認された場合には、一意のパスワードが作成され、そのパスワードは、(以降で説明する)ルート証明書と共に端末10へ送信される。そしてデータベース66が更新されて、端末10が、起動しているものとして記録される。
ゲートウェイ実行可能アプリケーション14は、初期設定された端末10からの要求を、データ交換ポート62を介してリッスンする。端末セッションは、データ交換ポート62に対するあらゆる端末要求によって開始し、別個のスレッド内で実行される。それぞれのセッションは、端末を認証するステップと、端末の要求をHTTPサーバ20、24へ送信するステップと、HTTPサーバ20、24から端末へ応答を返信するステップとを含む。セッションアクティビティーを記録することもできる。
端末のTIDは、要求と共にゲートウェイ実行可能アプリケーション14へ送信される。次いでゲートウェイ実行可能アプリケーション14は、そのTIDに関連付けられているパスワード上で暗号化アルゴリズムの複数の反復を実行する。使用される暗号化アルゴリズムは、arcfourアルゴリズムであることが好ましく、4回の反復が使用されることが好ましい。しかし、その他のアルゴリズムおよび/または異なる回数の反復を採用することもできるということが理解できるであろう。結果として生じる答えは、対照の答えに相当する。そして端末10は、同じ暗号化アルゴリズムの同じ回数の反復を実行して、これをゲートウェイ実行可能アプリケーション14への応答として送信するように要求される。それらの応答が一致しない場合には、ゲートウェイ実行可能アプリケーション14は、接続を閉じ、それらの応答が一致する場合には、新しいセッション(「STPセッション」)が作成され、別個のスレッドに割り当てられる。
端末10の要求をHTTPサーバ20、24へ送信するいずれかの段階において、またはHTTPサーバ20、24から端末10へ応答を送信する際にエラーが発生した場合には、これらのエラーは、応答パケットに含めて報告され、またデータベース66内にも記録される。要求の時点であまりにも多くのスレッドがゲートウェイ実行可能アプリケーション14によって処理されている場合には、タイムアウトまたは通信障害が生じた場合には、またはコンバータ16が要求を処理することができない場合には、たとえば障害レポートを作成することができる。HTTPサーバ20、24とウェブサービスホストとの間における接続が首尾よく完了していない場合には、STP接続は、それでもやはり成功しているものとみなされるが、応答パッケージには警告メッセージが含まれる。
障害レポートおよび警告メッセージは、テキストまたはエラーコードを含み、このエラーコードは、障害が発生した場所および障害の原因に関する情報を提供する。
それぞれのセッションに関連する情報は、共通のロギングインターフェースを通じてデータベース66内に、および端末10のメモリ内に記録することができる。記録される情報は、たとえばSTPセッションおよびその他のセッションの開始時刻および終了時刻、端末の情報、使用されているポートの詳細、ならびにHTTP要求の詳細に関連するものとすることができる。必要に応じて、その他の任意の適切なロギング情報を収集して、診断の目的で使用することができるということは明らかであろう。
サーバのオペレーションは、「通常」の状況において、または「緊急」の状況において停止することができ、「通常」の状況では、ゲートウェイホスト19がシャットダウンする前に、システム全体におけるすべての要求が処理され、「緊急」の状況では、STP要求、すなわち端末10とゲートウェイ実行可能アプリケーション14との間における要求のみが完了される。
リモート管理は、RMI(remote method invocation)を介してリモートインターフェース60を通じて利用することができる。リモート管理を介して利用することができる機能としては、(使用されているポート、STPセッションのパラメータ(タイムアウト)、HTTPプロキシホスト、およびポートの情報を含む)ゲートウェイホスト19の設定パラメータを入手および変更すること、ゲートウェイホスト19のアクティビティーの統計データを入手すること、ならびにゲートウェイホスト19を停止することが含まれる。
図5は、上述のシステムコンポーネントの物理的な展開の一例を示しており、同様のコンポーネントは、これまでの図において見られたのと同様の参照番号を用いて識別される。これらのコンポーネントは、TCP/IPを介して相互に通信し、セキュリティーメカニズムを含む残りの機能は、プロトコルスタック内のTCP/IP層の上に構築されている。
ゲートウェイホスト19は、以降でさらに詳しく説明するように、ゲートウェイ実行可能アプリケーション14を介して認証当局70と通信する。第1のHTTPサーバ20およびTMLアプリケーション22は、双方ともTMLアプリケーションホスト72の一部であり、第2のサーバ24および設定サービス26は、双方ともウェブサービスホスト74の一部である。図5は、ウェブインターフェースホスト、データベースサーバなどのような補助的なコンポーネントを示していないという点に留意されたい。
図5に示されている実装形態は、特定の実装例のサブセクションにすぎないという点に留意されたい。このシステムのコンポーネントは、より多くの数のコンピュータまたはより少ない数のコンピュータに分散することができる。マイクロブラウザ12でさえ、実際に端末内で実行するのではなく、端末シミュレータを使用してエミュレートすることができる。
このフレームワークを展開する際に考慮に入れるべき最も重要な関心事は、セキュリティーである。保護されたネットワークプロトコルを使用していくつかのコンポーネントを接続することができない場合には(たとえば、ゲートウェイ実行可能アプリケーション14およびHTTPプロキシ18が、HTTPSではなくHTTPを使用して通信する場合には)、これらのコンポーネントを私的なネットワーク内に、および共通のファイアウォールの後ろに配置して、システムに対する外部の攻撃のリスクを少なくすべきである。
上述のように、カードパーサ52(マイクロブラウザ12のコンポーネント)は、磁気カードトラックを解析すること、およびスマートカードと対話することを担当する。次いで、このパーサ52のオペレーションについて、さらに詳しく説明する。
カードパーサ52は、端末10の一部であるカードリーダからのデータを解釈するためにマイクロブラウザ12上で実行されるTMLアプリケーション用のシンプルかつ一般的な手段を提供する。パーサ52は、ライブラリ80(図2を参照されたい)と、カードからデータを読み取って解析する機能と、カードおよびカード保有者を確認する機能と、リスクマネージメントポリシーを実施する機能とを利用する。パーサ52は、端末の自動設定中に設定することもできる。
カードパーサ52は、マイクロブラウザ上で実行されるTMLアプリケーション用に1つのインターフェース方法のみを提供し、これは、単一の文字列パラメータのみを有する。この文字列は通常、単なるコマンドであり、パーサ52によって実行されることになる。その他のすべての情報は、TMLで定義されている変数によってパーサ52に渡されたり、パーサ52から入手されたりする。
磁気カードの処理が、図6に示されている。実質的に、磁気カードを処理している間に実行されるステップは、標準的なものである。しかし、本発明の一実施形態に従って実装される電子金融取引システムがこの公知のタスクを実行する方法は、非標準的なものであり、次いでこれについて説明する。
マイクロブラウザ12上で実行されるTMLアプリケーションは、〈card〉要素を有する〈tform〉スクリーンを介してパーサの機能を利用することができる。呼び出されるパーサの名前は、これらの要素のparser属性内で指定され、パラメータは、parser_params属性内で指定される。
解析を完了することができない場合には、パーサ52は、baddata_reason変数を記入し、〈baddata〉要素内で指定されたメッセージがレンダリングされ、これによって、障害の原因に関するユーザへのフィードバックが提供される。
使用中には、TMLアプリケーションは、まずパーサ52を呼び出して、カードが挿入され、コンテキストが確立され、カードのデータが読み取られ、カードそのものが確認されるのを待つ。この後、TMLアプリケーションは、パーサによって記入された変数を分析し、必要に応じて、取引に対応する追加のデータをユーザに要求し、再びパーサ52を呼び出すことができる。さらなる呼び出し中に、パーサ52は、リスクマネージメントプロセスを実行し、カードとのさらなる対話を実行するなどして、その他のTML変数を記入することができる。さらに、たとえばICC(スマートカード)のPINを確認することなど、カードに対する何らかの特定のアクションを実行するようにパーサ52に要求することができる。
パーサ52は、処理中の取引に関連するコンテキストをサポートするように設定することができ、使用されるそれぞれの新しいカードごとにこのコンテキストを見直すことになる。
さらにパーサ52は、すべての取引に関する統計データ(たとえば、リスクマネージメントのためのオフライン取引の現時点での数量)をサポートすることができる。HTTPクライアント38は、延期されている送信がサーバの限度までプールされた場合には、すべてのパーサ(40、44、52)に知らせて、それらのパーサは、自分のカウンタをリセットすることができる。
カードパーサ52は、実際には、異なるタイプのカードを解析するための複数の「サブパーサ」を備える。これらのサブパーサとしては、磁気カードパーサ、ICC EMVパーサ、およびICC初期設定パーサが含まれる。
磁気カードパーサは、標準的なISOトラックを有するカードを取り扱う。磁気カードパーサは、カードからトラックを読み取り、それらを解析し、カードの番号およびカードの有効期限を確認することができる。さらに磁気カードパーサは、スキームごとの小売信用限度額(すなわち、どの取引を承認しなければならないかを判断するために使用される特定の限度値)に基づいてリスクマネージメントプロセスを実行する。この目的から、磁気カードパーサは、承認されたオフラインの支払い取引を追跡把握する。
磁気カードパーサは、磁気カードデータを解析するためによく知られている変数を読み取り、更新する。さらに、文字列変数card_parserが定義される。磁気カードが読み取られる際に、この変数は、パーサ52によって「mag」と記入される。また、整数変数card_input_modeを定義することができる。たとえば整数値1は、磁気カードを通すことを表すことができ、2は、ICCを使用することを表すことができ、3は、端末のキーボードを使用してカードの詳細を入力することを表すことができる。コマンド「read_data」を用いてパーサ52が呼び出される場合には、この変数は、1に設定されることになる。コマンド「risk_mgmt」を用いてパーサ52が呼び出される場合には、この変数がチェックされ、この変数が3であるならば、カードの番号および有効期限が確認され、レシート上に印刷されることになるカード番号の一部を表す変数が記入される。
これらの変数の機能を変更することなく、これらの変数に与えられる名前、ならびに可能な値の数および割り当てを変更することができるということが理解できるであろう。
パーサ52は、TMLアプリケーションから見える2つのコマンド、「read_data」コマンド90および「risk_mgmt」コマンド92をサポートする。「read_data」コマンド90の最中に、パーサは、カードからISOトラックを読み取り、それらを解析して、変数「card_」および「ISO」を記入し、これらの変数「card_」および「ISO」は、カードの詳細、およびカードのISOトラック上に保持されている情報を提供する。さらにパーサは、カードの番号および有効期限を確認し、必要な場合には、「不良データ」の条件を作成する。
読み取りコマンド90を発行した後、TMLアプリケーションは、取引の数量および取引のタイプについて業者に尋ねる。この情報は、オンライン処理、オフライン処理、あるいは取引の口頭確認に関する意思決定を行う上で必要となる。変数verdictが、取引の処理モードを、すなわちオフラインかオンラインかを割り当てるTMLアプリケーションによって記入されるか、または拒否される。
カードの詳細が、端末のキーボードを使用して手動で入力される場合には、「read_data」コマンド90は発行されず、TMLアプリケーションは、変数card_input_modeを3に設定する。
「risk_mgmt」コマンド92は、リスクマネージメントプロセスを実行するようパーサに要求するためにTMLアプリケーションによって使用される。このプロセス中に、パーサ52は、取引の数量およびタイプ、カードのスキームおよび発行者、ならびにその内部の統計データを分析し、TMLアプリケーションによって定義された推奨を考慮に入れて意思決定を行う。たとえば、手動で入力されたカードの詳細が正しくない場合には、取引を拒否することができる。拒否の決定および原因が、TMLアプリケーションに戻される。
「risk_mgmt」コマンド92は、オンラインでのポスティングを試みている最中にデータのポスティングが失敗した場合にも使用される。パーサ52は、HTTPクライアント38によって記入される「econn_reason」変数94を介して、この状況を見つけ出す。リスクマネージメントプロセスが再び実行され、設定されているポリシーを使用して、オフラインの処理が承認されるか、または取引がキャンセルされる。
ICC EMVパーサは、EMV支払いアプリケーションをサポートするICC(スマート)カードと対話することを意図している。ICC EMVパーサは、アプリケーションの選択と、静的および動的なオフラインでのデータ認証と、カード機能の発見と、オフラインでのPINの確認と、EMVリスクマネージメントと、TC、AAC、ARQC、および(APACSなどの)選択された電子金融取引プロトコルのもとで行われる取引に必要なその他のデータの作成と、発行者スクリプトの実行と、結果の検索とを担当する。
ICC EMVパーサは、ICCデータを解釈するためによく知られている変数を読み取り、更新する。さらに、磁気カードパーサによって使用されるのと同様の文字列変数card_parserおよび整数変数card_input_modeが、同様に使用される。上述の例に従うと、整数変数card_input_modeは2に設定され、文字列変数card_parserは、パーサによって「icc−emv」と記入される。
ICC EMVパーサのオペレーションが、図7に示されている。実質的に、ICC(スマートカード)を処理する際に実行されるステップは、標準的なものである。しかし、本発明の一実施形態に従って実装される電子金融取引システムがこの公知のタスクを実行する方法は、非標準的なものであり、次いでこれについて説明する。
TMLアプリケーションによってICC EMVカードパーサに発行される第1のコマンドは、ICCアプリケーションを初期設定するために使用される「init_app」コマンド100である。このコマンドの処理中に、パーサは、アプリケーションの選択を実行し、アプリケーションのデータを読み取り、静的なまたは動的なオフラインでのデータ認証を実行する。その結果、パーサは、カードおよびICCアプリケーションの詳細に関連する適切なTML変数を記入する。
さらなるコマンドもICCと対話するため、カードは、取引の処理中はカードリーダ内に挿入されたままとなる。
初期設定の後、TMLアプリケーションは、カード保有者を確認しなければならない。TMLアプリケーションは、取引のデータ(数量および取引のタイプ)について業者に尋ね、パーサにICCからカード保有者の確認方法のリストを検索させるコマンドを発行し、これらの方法を「cvm」変数内に保存する。たとえば、可能なカード確認方法としては、ホストによって実行されるオンラインでのPINの確認、ICCカードそのものによって実行されるPINの確認、業者による署名の確認を伴うICCによるPINの確認、あるいはカード保有者の確認がまったく必要とされない場合が含まれる。さらに、オフラインでのPINの確認がICCによってサポートされる場合には、PINの暗号化のために使用されるキーが、パーサによって検索され、専用の変数内に保存される。生体認証によるID確認方法をサポートすることもできる。
そしてTMLアプリケーションは、カードの確認結果の変数を記入し、この変数は、成功を確認するか、またはこの変数を、失敗のさまざまな原因を提供する複数の異なるオプションに設定することができる。
署名のチェックを含む方法が選択されると、TMLアプリケーションは、署名の要求を伴うレシートを印刷するための〈print〉スクリーンへと切り替わる。そして業者は、カード保有者の署名を確認するよう要求される。署名が不良である場合には、パーサは、次なるカード保有者確認方法について尋ねられる。
次いでリスクマネージメントプロセスが実行され、これは、磁気カードパーサのリスクマネージメントプロセスと同様の方法で、取引をオンラインで実行するか、またはオフラインで実行するか、あるいは取引を拒否するかを、設定パラメータに基づいて決定する。ICC EMVパーサの特定の例においては、ICCの取引の数および暗号化の詳細に関連する変数、ならびにICCおよび確認の結果に関するデータが、ゲートウェイホスト19にポストされる。
リスクマネージメントプロセスからの決定が、オンラインでのデータ送信を行うことである場合には、TMアプリケーションは、承認ステップを実行し、ICCからAAC(application authentication cryptograph)およびTC(transaction counter)を入手する。この承認の結果が成功として確認されると、カードは無効になる。
別個のパーサがまた、何の指定もない端末の初期設定中にICCと対話するために提供される。
このシステムは、端末シミュレータ110(図3を参照されたい)の使用に対応することができる。これは、双方のTMLアプリケーションの開発者およびシステムの開発者に、デモの作成およびTMLアプリケーションのデバッグのための有用なツールを提供する。TMLアプリケーションの開発者の視点からは、このシミュレータは、ロードされた端末マイクロブラウザアプリケーション32を有する端末10のように見える。このシミュレータは、実行可能なWindowsファイルとして実行して、通常の端末と同じ方法でゲートウェイホスト19と対話することができる。システムの開発者の視点からは、シミュレータ110をライブラリとして見ることができ、このライブラリをマイクロブラウザアプリケーションコードにリンクさせることができ、したがってPCプラットフォーム上でのマイクロブラウザのデバッグが可能となり、また実験をその後の開発に役立てることができる。
シミュレータ110は、端末10のアーキテクチャーやオペレーティングシステムをエミュレートしない。シミュレータ110は、(端末の周辺機器との対話、暗号化、イベントおよびメッセージの処理などを担当する)マイクロブラウザによって使用されるOSライブラリをエミュレートすること、ならびに端末マイクロブラウザアプリケーション用のランタイム環境(すなわちアプリケーションマネージャー)を実装することを求められるだけである。
TMLは、XMLベースの言語であり、いくつかの機能をXHTMLと、およびWAP WMLと共有する。TMLは、端末にロードされる静的および動的な双方のコンテンツ、ならびに端末によってHTTPサーバにポストされるデータを定義するために使用される。
TMLアプリケーションは、いくつかのページを備えることができる。通常は、ルートページが存在し、そのルートページから、その他のすべてのページが、標準なXHTMLの〈link〉要素を使用して参照される。静的なページを事前にロードすることができ、そしてこれによって、静的な情報を参照するURIが現れるたびに端末がホストへ接続する必要はなくなる。TMLページをレンダリングするために使用されるCSS(Cascading Style Sheets)の仕様が、あらゆるページから参照される。デフォルト設定によって、内蔵されたCSSが使用される。特定のページ上に現れるイメージもまた、〈link〉要素を使用して参照される。
スタイルの指示およびスタイルのグループ分けの〈span〉要素および〈div〉要素は、TMLにおいては認められないことが好ましい。要素に関するスタイルは、「class」属性および「id」属性を使用して指定することができる。スクリプトもまた、サポートされないことが好ましい。
それぞれのTMLページは、いくつかのスクリーンまたはブラウザ処理ユニットから構成される。あらゆるスクリーンはURIを有し、このURIは、TMLページのURIと、スクリーン識別子とから構築されている。複数のスクリーンを単一のTMLページへとラップすることができるため、スクリーンは、TMLアプリケーションを端末にダウンロードするのをスピードアップするために導入される。さらに、それぞれのページは、そのページ内で定義されるローカル変数の範囲を制限する。
複数の異なるスクリーンタイプを使用することができ、これらのスクリーンタイプとしては、ディスプレイスクリーン、プリントスクリーン、メッセージスクリーン、フォームスクリーン、および関数呼び出しスクリーンを含むことができる。
ディスプレイスクリーンは、通常のHTMLページとみなすことができる。ディスプレイスクリーンは、ハイパーリンクを含むことができ、スクロールアップおよびスクロールダウンを行うことができる。ディスプレイスクリーンは、端末ディスプレイ上に常にレンダリングされている。
プリントスクリーンのコンテンツは、やはりHTMLと同様であるが、内蔵された端末プリンタを使用して印刷される。印刷した後には、マイクロブラウザは、指定されたURIへと切り替わる。ハイパーリンクは無視される。
メッセージスクリーンは、エラーメッセージ、警告メッセージ、あるいは成功メッセージをレンダリングするために使用される。メッセージは、指定された秒数にわたって端末ディスプレイ上にレンダリングされる。その時間が経過すると、マイクロブラウザは、指定されたURIへと切り替わる。ユーザがキーを押すと、マイクロブラウザ12は、すぐに次のスクリーンへと切り替わる。
端末フォーム(または送信)スクリーンは、ユーザ入力を収集し、処理し、送信するために使用される。これらについては、以降でさらに詳しく説明する。
関数呼び出しスクリーンは、端末のC関数を名指しで呼び出すために使用される。このオプションは、端末やマイクロブラウザの設定のためのメニューを含むTMLページにとって必要である。
TMLは、多数のブロックレベルおよびテキストレベルの要素を特徴とし、これらの要素は、XHTMLの要素と類似している。これらの要素のほとんどは、XHTMLの場合と同じシンタックスおよびセマンティクスを有するが、いくつかの重要な制約および機能強化がある。
たとえば、HTML4のフレームは、TMLにおいてはサポートされないことが好ましい。また、〈input〉要素に関してHTML4において使用される属性(すなわちtext、password、checkbox、radio、submit、reset、button)に加えて、入力デバイス、すなわち通常の端末キーパッド、またはピンパッドを指定するために、さらなる属性が認められる。
TML変数は、(日付および時刻のように)事前に定義するか、またはユーザによって宣言することができる。変数の範囲は、単一のTMLページに制限するか、または全体にわたるものとして定義することができる。変数のタイプは、文字列、日付、整数、あいまいな値(バイナリーデータ)のうちの任意のものとして定義することができる。
TML変数は、マイクロブラウザが新しいスクリーンへと切り替わった際には、〈setvar〉要素を使用して自分の値を変更することができる。この要素はまた、ユーザ入力の情報を変数に割り当てるためにも使用される。端末ディスプレイ上でレンダリングを行うための、あるいは内蔵されたプリンタを使用して印刷を行うためのTMLスクリーンは、変数への参照を含むことができる。レンダリングまたは印刷中に、参照は、対応する変数の値に置き換えられる。
端末は、それらの変数の値をHTTPサーバへ送信することができ、HTTPサーバでは、それらの変数の値が、TMLアプリケーションによって処理される。
変数はまた、システムおよびマイクロブラウザの設定を保存するために使用される。TMLアプリケーションは、マイクロブラウザの設定を更新するために変数の値を変更することができる。
TML要素〈tform〉が、ユーザによって入力できるデータを記述するために導入されている。ユーザは、磁気カードを通すこと、スマート(ICC)カードを挿入すること、ピンパッドキーボードを使用すること、あるいは端末のキーボードを使用することによって、データを入力することができる。
ユーザによって入力されたテキストデータは、XHTMLの〈input〉要素および〈textarea〉要素を用いてマークアップされる。キーボードの入力をマークアップするために使用される要素は常に、簡略化されたXHTMLの〈form〉要素へとラップされる。これによって、いくつかの〈input〉要素、〈textarea〉要素、および〈number〉要素を単一のフォーム内で使用して、そのフォームをその他のXHTML要素(テーブル、リストなど)の内部に配置することができる。
入力されたデータは、事前に定義された(たとえば「pin」、「カード保有者」などの)変数、またはユーザによって定義された変数に割り当てられる。TMLは、入力されたデータの評価(これは、最大値/最小値または文字列の長さの照合を含むことができる)、ならびにまたカードの番号および/または有効期限を含むカードの詳細の確認を可能とする。
データが正しくない場合には、端末は、〈baddata〉要素によって指定されるエラーメッセージをレンダリングし、フォームスクリーンへと切り替わる。
フォームの処理中にユーザによって入力されたデータは、HTTPサーバへすぐに送信されるのではなく、送信スクリーンを使用してサーバへ送信される。送信スクリーンは、HTTPサーバへ送信される変数の値(これらは、複数の以前のスクリーン内で収集された可能性がある)を指定する。
送信は、オフラインまたはオンラインのいずれかで行うことができる。オンラインでの送信は、端末10がゲートウェイホスト19へすぐに接続してデータを送信することを前提としている。オフラインでの送信に関しては、端末10は、対応する〈tmlpost〉要素を構築し、それを端末の永続的なメモリ内に保存する。延期された送信は、次の端末/ゲートウェイ実行可能アプリケーションのセッション中にゲートウェイホスト19へ転送される。
すべての送信スクリーンは、送信用の宛先URIを指定する。端末10によって送信されたデータは、ゲートウェイホスト19によって処理されてから、HTTPサーバにポストされ、そこでTMLアプリケーションによって処理される。次いでTMLアプリケーションは、受け取ったデータを確認し、応答を作成する。
送信要素はまた、首尾よく送信できた際にマイクロブラウザの切り替わり先となるコード内の場所を指定するURIを含む。オンラインでの送信に関しては、送信が失敗した場合の切り替わり先のURIも指定される。さらにTMLアプリケーションは、マイクロブラウザが別の指定されたURIへ切り替わるようにする「他を参照されたい」旨の応答コードを有する応答を作成するか、または動的なTMLコンテンツを有する応答を作成することができる(オフラインでの送信の場合には、このような応答は無視される)。TMLフォームは、グラフィカルディスプレイ、キーパッド、内蔵されたプリンタ、ピンパッド、磁気カードリーダ、スマートカードリーダ、およびオフラインでの安全なPINの入力を含む端末デバイスの機能をサポートする。さまざまなフォーマットのスマートカードおよびさまざまなモードの解析磁気トラックをサポートするために、たとえば、さまざまなタイプのスマートカード上で見つかるさまざまなタイプのデータを考慮するためにさまざまな解析ルーチンの接続を可能にするTMLタグが存在する。
複数のTMLアプリケーションを永続的な端末メモリ内に動的に保存することが可能である。TMLアプリケーションは、そのバイナリーフォームで、リブート後も端末メモリ内に存続する。TMLアプリケーションはまた、TMLマイクロブラウザ内でキャッシュに格納される。マイクロブラウザは、キャッシュに格納されたTMLページがHTTPリソースコンテナ内で変更された場合には、またはそのTMLページの有効期限が切れた場合には、そのTMLページを自動的に再びロードする。TMLマイクロブラウザは、データを送信するために、または動的なTMLコンテンツを入手するためにゲートウェイホスト19に接続するたびに、キャッシュに格納された静的なコンテンツを再びロードする。
キャッシュに格納されない、または再び使用されないすべてのページには、属性「no−cache」を用いてマークが付けられる。そのようなページは、マイクロブラウザ12が次のページの処理を開始する直前の時点で、端末メモリから削除される。属性「no−cache」は、HTTPの「no−cache」指示に非常に類似している。
同様に、キャッシュに格納されるページには、ゲートウェイホスト19によって作成される「ETag」HTTPヘッダが添付される。
ゲートウェイホスト19は、TMLページをキャッシュに格納すること、および端末にロードされたすべてのリソース(作成されたE−tagを含む)のキャッシュを最新の状態に維持することを担当する。端末10は、ゲートウェイホスト19に接続するたびに、端末メモリ内に保存されていてキャッシュへ移すことができるリソースごとにETagを伴う条件付きのHTTP GET要求を送信する。ゲートウェイホスト19は、そのリソースが変更されていない旨を回答するか、またはそのリソースの新しいバージョンを送信することができる。
管理者権限を有するユーザは、端末内でキャッシュに格納されているすべてのリソースを削除することができる。
TMLソフトウェアのホスト部分は、URIによって識別されるJavaアプリケーションのセットに相当する。これらのURIは、送信要素にとっての宛先として指定される。HTTPサーバは、ゲートウェイホスト19を介して端末から受け取った指定されたポートへの要求を処理するためにJavaアプリケーションを呼び出す。これらのアプリケーションは、それらの要求を処理し、対応するHTTP応答を作成し、それらのHTTP応答は、端末10へ戻される。
それらの要求を処理している間、TMLアプリケーションは、その他のホストと(たとえば、APACS 30の規格などの適切な電子金融取引プロトコルを使用して、取得者のホストと)対話することができる。
基本的なTML支払いアプリケーション22は、独自仕様のTMLアプリケーションを開発するための基盤として使用することができるシステムのコンポーネントである。このアプリケーションは、いくつかの(2〜3の)TMLページと、取得者のホストと通信するJavaホストアプリケーションとを備える。このアプリケーションは、リモートモニタリングおよびコントロールのためのウェブインターフェースを有することが好ましい。
次いでシステムの使用および動作の側面について、さらに詳しく説明する。
端末10は、TMLアプリケーションの静的なページをHTTPサーバ20、24からダウンロードする。そしてこれらは、端末のキャッシュ内に保存され、それによって、アプリケーションが修正を必要とするまでは再びロードする必要がなくなる。
図8は、端末10がTMLアプリケーションをゲートウェイホスト19からどのようにダウンロードするかを示している。端末10は、STP(secure transmission protocol)を使用して、ゲートウェイホスト19に接続する。
マイクロブラウザ12は、(通常は最初のロードの後に、またはハイパーリンクを辿ったときに)要求されているリソースが見当たらないことを検知する。HTTPクライアント38は、要求されているリソースが端末10のキャッシュ内に存在するかどうか、および最新の状態であるかどうかをチェックする。そうである場合には、そのリソースは、端末10のキャッシュから検索され、マイクロブラウザ12に戻される。そうでない場合には、HTTPクライアント38は、指定されたURIを有するバイナリーHTTP GET(条件付きの、または無条件の)要求を構築し、その要求をゲートウェイ実行可能アプリケーション14へ送信する。次いでコンバータ16が、受け取った要求を変換し、HTTPプロキシ18を介してその要求をHTTPサーバ20、24へ返信する。プロキシ18は、要求されているリソースを、その要求内で識別されたURIを使用して自分のキャッシュ206(図3を参照されたい)から検索するか、または指定されたHTTPサーバ20、24への接続を確立して、その要求をサーバ20、24へ回送し、そしてサーバ20、24は、これに応答して、要求されているTMLページをテキストXMLフォーマットで送信する。次いでコンバータ16は、そのXMLページをバイナリーXMLフォーマットに変換して、端末10へ送信する。端末10は、TMLマークアップを解析し、(必要な場合には)リンクされたTMLページ、CSS、イメージなどをロードする。
TMLの解析が完了すると、端末10は、ダウンロードされたTMLページ内のURIによって指定されたスクリーンへと切り替わる。図9は、アプリケーションをブラウズするプロセスを示している。
1つのスクリーンから別のスクリーンへと切り替わる間、端末10は、宛先のスクリーンに関連付けられている変数の値が、テキストを作成するために必要とされる場合には、(〈setvar〉要素を使用して)これらの値を更新する。そして端末は、そのタイプのスクリーンに適したものとして、そのスクリーンを処理する。
ディスプレイスクリーン、メッセージスクリーン、およびフォームスクリーンに関しては、端末は、コンテンツを端末のディスプレイ上にレンダリングする。コンテンツは、ハイパーリンクを含むことができる。テキストは、スクロールアップおよびスクロールダウンすることができ、ハイパーリンクは、端末のキーボードを使用して選択することができる。フォームスクリーンに関しては、ユーザがフォーム要素を指し示すと、端末は、そのフォーム内で指定されている入力(キーボードによる入力、磁気カードを通すこと、pinの入力など)を受け入れるための、またはその入力をキャンセルするための用意が整う。ユーザによって入力されたデータは、変数へ格納される。
送信スクリーンを処理している間、端末は、指定された変数値を含むTMLドキュメントを(バイナリーフォーマットで)構築し、そのTMLドキュメントを、ゲートウェイホストを介してHTTPサーバへポストする。ゲートウェイホストのURIも、TMLページ上に規定されている。
スクリーンが処理されると、端末は、次のスクリーンへと切り替わる。ディスプレイスクリーンに関しては、これは、ユーザによって選択されたリンクを辿ることによって行われる。フォームスクリーン、メッセージスクリーン、およびプリントスクリーンに関しては、〈new〉要素内で指定されているURIが辿られる。送信スクリーンに関しては、〈new〉要素または〈econn〉要素内で指定されているURIが辿られる。HTTPサーバは、マイクロブラウザ12がその他の何らかの(静的なまたは動的な)TMI、スクリーン、またはページへと切り替わるようにさせることもできる。関数呼び出しスクリーンに関しては、〈new〉要素または〈error〉要素内で指定されているURIが辿られる。
スクリーンタイプのいずれに関しても、そのスクリーンに対して〈cancel〉要素が指定されている場合にユーザが「Cancel」を押すと、マイクロブラウザは、〈cancel〉内で指定されているURIによって識別されるスクリーンへと切り替わる。URIの代わりに「終了」という言葉が指定されると、端末は、マイクロブラウザを終了し、フローのコントロールを端末のオペレーティングシステムに渡す。
ディスプレイスクリーンまたはフォームを処理している間に「menu」キーが押されると、マイクロブラウザは、そのTMLページに関する「menu」属性内で指定されているURIへと切り替わる。
要素〈new〉、〈cancel〉、〈error〉、および〈econn〉によって、次に処理される、またはTML変数から入手されることになるスクリーンのためのURIを明確に識別することができる。さらに、上記の要素のために複数のURIを指定することが可能である。次のスクリーンのURIは、指定された論理式をTMLの変数および定数に照らして評価した後で選択される。
次いで、TMLのブラウジングの具体的な例を示す。アプリケーションが下記のスクリーンを備えていると仮定する。
プロンプト「SWIPE CARD」を伴う、磁気カードを処理するためのフォームスクリーン、
プロンプト「ENTER AMOUNT」を伴う、支払われる金額を入力するためのフォーム、
オンライン取引かオフライン取引かを選択するためのディスプレイスクリーン、
2つの送信スクリーン(オンライン取引およびオフライン取引のそれぞれに1つ)、
レシートを印刷するためのプリントスクリーン、
メッセージ「CALL AUTH CENTER」を伴う、拒否された支払い承認のためのメッセージスクリーン。
はじめにマイクロブラウザは、磁気カード用のフォームスクリーンを処理する。マイクロブラウザは、そのフォーム用に指定されたプロンプトをレンダリングし、カードが通されるのを待つ。カードが通されると、ブラウザは、読み取ったトラックを解析し、事前に定義されたグローバル変数(カードの番号、カードの保有者、有効期限など)に値を割り当て、金額を入力するためのフォームへと切り替わる。端末は、プロンプト「ENTER AMOUNT」をレンダリングし、端末のキーボード入力を待つ。入力された金額は、フォーム内で指定された名前と共に変数に保存される。次いでブラウザは、ディスプレイスクリーンへと切り替わる。
ディスプレイスクリーンは、「online」および「offline」という名前を有する2つのリンクを含む。ユーザは、マイクロブラウザ12を使用して、スクリーンをナビゲートすることができる。ユーザが、リンクのうちの1つに焦点を合わせて「Enter」を押すと、マイクロブラウザは、そのリンクを辿る。送信スクリーンを処理している間、マイクロブラウザは、HTTPサーバにポストされるデータ(フォームスクリーン上に割り当てられる値)を構築し、それを端末メモリに保存する。
送信がオンラインである場合には、HTTPクライアントは、すぐにデータをポストする。マイクロブラウザは、ページを切り替える前にHTTPサーバからのPOST応答を待つ。HTTPサーバは、承認が成功した場合にはプリントスクリーンへ、または承認が失敗した場合にはメッセージ「CALL AUTH CENTER」と共にメッセージスクリーンへ切り替わるよう端末に指示することができる。
送信がオフラインである場合には、データは、ゲートウェイホスト19との次のセッションまで端末メモリ内に留まる。マイクロブラウザは、プリントスクリーンへすぐに切り替わる。
プリントスクリーンを処理している間、端末は、レシートを印刷し(印刷の本文は、カードの番号、金額、有効期限などの変数への参照を含むことができる)、別のクライアントにサービスを提供するために、最初のスクリーン、すなわちフォーム「SWIPE CARD」へと切り替わる。
次いで、TMLアプリケーションを更新する方法について説明する。
端末がゲートウェイホストと対話するたびに、ゲートウェイホストは、端末の永続的なメモリ内に保存されていてキャッシュへ移すことができるTMLページごとに条件付きのHTTP GET要求を端末へ送信する。
端末のHTTPクライアントは、ゲートウェイホストのHTTPプロキシによって作成される対応するETag(すなわち、キャッシュへ移すことができるコンテンツの識別子)のHTTPヘッダを用いてGET要求に応答する。ゲートウェイ実行可能アプリケーションは、ETagを評価し、それらが一致する場合には、何のコンテンツも端末へ戻さない。そうでない場合には、TMLページが再びロードされ、再び解析される。
図10は、端末の自動設定プロセスのオペレーションを示している。端末の自動設定は、端末10がゲートウェイホスト19へ接続するたびに行うことができる。
端末によって送信されたデータ、ならびに設定サービス26の応答は、HTTPプロキシ18によってキャッシュに格納される。
自動設定は、RPCの呼び出しを利用する。端末のHTTPクライアント38は、バイナリー要求を構築するよう端末の設定モジュール36に要求し、そのバイナリー要求を1つのSTPパケットへとラップし、このSTPパケットが、ゲートウェイホスト19へ送信される。
次いでコンバータ16が、そのバイナリーHTTP要求をテキストフォームに変換して、HTTPプロキシ18へ回送する。HTTPプロキシ18は、応答をキャッシュ206から検索するか、またはその要求を処理のためにウェブサービスホスト26へさらに回送することができる。
次いでコンバータ16は、その応答をバイナリーフォームに変換して、端末のHTTPクライアント38へ送信し、HTTPクライアント38は、その応答を設定モジュール36へ戻し、そして設定モジュール36は、その応答を解析して端末10を設定する。
次いで、端末の自動設定の一例について考察する。
端末が小売信用限度額および時刻を更新する必要があると仮定する。HTTPクライアント38は、ゲートウェイホスト19とのセッションを確立するたびに、いくつかの要求をラップした1つのSTPパケットを構築する。たとえば、オフラインでの送信を伴う4つのPOST要求、オンラインでの送信を伴う1つのPOST要求、ならびにTMLアプリケーションおよびスタイルシートに関する2つの条件付きのGET要求である。そしてHTTPクライアントは、リモートプロシージャコールを伴う2つのHTTP POST要求(一方のRPCは、小売信用限度額を入手するためのものであり、別のRPCは、時刻を入手するためのもの)を構築するよう設定モジュールに要求する。
ラップされた要求を伴うSTPパケットは、処理のためにゲートウェイホスト19へ送信される。RPCを伴うHTTP POST要求および応答の双方をキャッシュに格納することができ、これによってHTTPプロキシ18は、HTTPサーバ20、24に対して要求を行うことなく応答することができる。しかし、要求されている応答がキャッシュ内に見当たらない場合には、テキストHTTP要求が、設定ウェブサービス26を実行しているHTTPサーバ24へ送信される。サービス26は、要求されているデータをデータベースから検索するリモートプロシージャコールを処理する。この場合には、時刻を入手するためのRPCは、キャッシュに格納することができず(かつ、これはHTTP要求内で指定されており)、したがって要求のうちの1つは、常にHTTPサーバ24へ送信される。
端末のHTTPクライアント38は、応答のSTPパケットを処理し、RPCを伴うPOST応答(これは、条件付きのGET応答の後ろに位置する)に出くわすと、そのPOST応答を処理するよう設定モジュール36に要求する。設定モジュール36は、その応答を処理し、端末10の設定を更新する。
次いで、このシステムのセキュリティーの側面に関するさらなる詳細について説明する。
このシステムが直面する可能性のあるセキュリティー上の脅威としては、偽物の端末や偽物のゲートウェイホストが使用されること、送信されているデータが傍受されること、セキュリティー証明書が偽造されること、機密情報の流れにアクセスするために敵意を持ったハードウェアデバイスが物理的に接続してくること、交換されるネットワークデータパケットがすり替えられること、あるいはスマートカードや端末が盗難されることが含まれる。以降では、これらおよびその他の脅威によってもたらされる潜在的なリスクがどのようにして許容可能なレベルまで軽減されるかについて説明する。
論理的なレベルでは、このシステムのセキュリティーメカニズムは、金融システムにおいて幅広く使用されているPKI(public key infrastructure)および対照の質問によるセキュリティーモデルに基づくことが好ましい。PKIは、サーバが、いわゆるルート証明書によって署名されたデジタル証明書を使用してクライアントに対して認証されることを前提としている。このシステムのセキュリティースキームにおいては、今度はクライアントが、サーバによって尋ねられる対照の質問に答えることによって、サーバによって認証される。正当なクライアントのみが、それらの質問に正しく答えることができる。偽物のクライアントは、本物のクライアントとサーバとの間における事前の合意について知らないため、正しい答えを提供することができない可能性が高い。
PKIベースのアプリケーションによって処理されるデータは、非対称キーのペアによって暗号化される。証明書には公開キーが含まれ、それらの公開キーは、Certification Authorityと呼ばれる特別なサービスによって発行され、終了される。
セキュリティーアーキテクチャーを実装する際に完了すべき最初の作業は、端末のセキュリティー環境をセットアップすることである。初期設定の前には、端末は、端末のパスワードもルート証明書も有していない。これらは、端末の初期設定中にロードされることになる。
端末の初期設定には、秘密の初期設定キーが内側に印刷されているクローズドエンベロープモード、またはスマートカードモードという2つの可能なモードが存在する。新しい端末には、クローズドエンベロープまたは初期設定スマートカードのいずれかが常に添付される。
クローズドエンベロープの初期設定モードが、図11に示されている。ユーザは、ITIDと、エンベロープから入手した初期キー(PINコードとも呼ばれる)とを入力する。次いで端末10は、端末の設定内で指定されている対象のゲートウェイホスト19とのSSLセッションを開き、ITIDを送信する。SSLのハンドシェイク中には、端末10は、ゲートウェイホスト19の証明書を確認しない。ゲートウェイホスト19は、データを受け取り、ITIDを抽出し、次いで端末の初期設定キーのコピーを探して(とりわけ初期設定されていない端末のテーブル内の)端末情報データベースを検索する。ITIDを使用して、検索が行われる。合致する端末レコードが見つからない場合には、ゲートウェイホスト19は、接続を閉じる。合致する端末レコードが見つかった場合には、ゲートウェイホストは、要求を行っている端末のためにランダムな一意のパスワードを発行する。
次いで、その一意のパスワードおよびルート証明書が、端末10へ送信される。端末10は、受け取った信用証明書を、その後の使用に備えて端末メモリに保存する。そして端末は、それまでに入力されていたセキュリティーデータを削除する。
ゲートウェイホスト19は、端末10から確認を受け取ると、古くなった端末レコードを端末情報データベースから削除することも行う。ゲートウェイホスト19は、新しい端末レコードを作成し、その端末レコードを、その端末が初期設定を要求した同じゲートウェイホスト19に関連付ける。新しいレコードは、ITIDと、その端末がアクティブであることを示す「サービス提供中」のフラグと、一意の端末パスワードとを含む。
スマートカードの初期設定モードでは、端末のオペレータは、スマートカードを端末内へ挿入して、そのスマートカードが初期設定プロセスを自動的に完了するに任せるだけでよい。スマートカードによる初期設定は、自動的または半自動的に行うことができる。自動的な初期設定では、スマートカードは、ルート証明書を一意のパスワードおよびITIDと共に保存することが必要である。したがって端末は、オフラインモードですぐに初期設定され、ゲートウェイホストへ接続する必要はない。半自動的な初期設定は、初期設定キーおよびITIDのみがカードに保存されることを前提としている。端末10は、ゲートウェイホスト19へ接続して、証明書および一意のパスワードを受け取らなければならない。
端末の初期設定を再び行うのは、端末やその信用証明書が盗まれた場合、または端末が故障した場合のみである。どちらの場合も、同じITIDと別のPINコードとを用いて端末を再び初期設定しなければならない。新しいクローズドエンベロープまたはスマートカードが提供される。
初期設定が済むと、端末10は、電子的な支払いを受け入れる用意が整う。支払いを開始するために、マイクロブラウザ12は、SSL端末ライブラリを呼び出して、ゲートウェイホスト19のデータ交換ポート62への保護されたチャネルを確立する。
ハンドシェイクが済むと、端末とゲートウェイホスト19とは、安全なチャネルを介して接続され、その端末からのいかなる要求も安全であるとみなされる。しかし、端末10の偽造を防止するために、STPプロトコルは、さらなる端末認証チェックを提供する。ゲートウェイホスト19は、端末情報データベースを検索して、要求を行っている端末10に対して「サービス提供中」のフラグが設定されているかどうかをチェックする。「サービス提供中」のフラグが設定されていない場合には、その端末はブロックされ、ゲートウェイホスト19は、セッションを終了し、接続を解除する。その端末がサービス提供中である場合には、ゲートウェイホストは、端末のパスワードを検索して、特別なコードを実行し、この特別なコードは、ループの中で数回にわたってARCFour暗号化アルゴリズムを実行する。ARCFour暗号化のすべてのループは、一定の数のパスから構成される。厳密な数は、ランダムに選択されるが、256を下回らないことが好ましい。結果として生じるバイトは、対照の答えに相当する。そしてゲートウェイホストは、厳密に同じプロシージャを実行して、結果として生じるバイトを戻すよう端末10に要求する。サーバおよび端末の双方の側が、同じ一意のパスワードを処理したならば、結果として生じるバイトが合致し、その端末は認証されたものとみなされる。
この瞬間から、ゲートウェイホスト19は、端末10を信頼し、その端末10から来る要求の処理を開始する。
ハンドシェイクの段階で証明書を確認することが、端末の認証中に最も重要な作業である。端末10は、ゲートウェイホスト19の証明書を受け取り、CAチェーンを確認することによって、その証明書をチェックする。
このシステムの一実施形態においては、証明書は、公に利用可能な無料のコマンドラインユーティリティーを用いて作成および署名することができる。必要とされる場合には、ユーザは、よく知られている認証当局によってルート証明書に署名することができる。
端末を別のゲートウェイホストへ切り替えること(端末の移行)も、容易かつ安全であり、システムのセキュリティーインフラストラクチャーが犠牲になることはない。これを実現するために、単一の全体にわたる端末情報データベースサーバのみが使用される。
図12は、セキュリティーインフラストラクチャーの一例を示している。内部の端末ライブラリ120は、SSL/TLSプロトコルのクライアント部分をサポートする。すべてのサーバを任意の場所に展開することができ、ユーザは、任意の数の端末を所有すること、およびゲートウェイホスト19サーバと端末情報データベースサーバ122とが、任意の方法で接続されることが想定される。このようなスキームにおいては、ネットワーク全体にわたるセキュリティーリポジトリのうちのいくつかを、別々のネットワークセグメントを介して分散させることができる。このセキュリティーアーキテクチャーによって、ゲートウェイホスト19および端末情報データベースサーバ122を同じコンピュータ上でホストすることができるという点に留意されたい。この展開スキームに適しているのは、単一のゲートウェイホスト19ノードを有していて、サーバの側で必要とされるハードウェアユニットの数を最小限に抑えたいと望むユーザである。2つのサーバを一つ屋根の下でホストすることのプラスの効果は、展開スキームが、1つのあまり物理的でない接続を有するという点である。ゲートウェイホスト19および端末情報データベースサーバ122は、リモートからのセキュリティー管理のためにウェブGUIを使用するという点にも留意されたい。
論理的なセキュリティーガイドラインに加えて、たとえば、従来のパケット交換式のハードウェアを使用することを避けて、パケットが嗅ぎつけられるリスクを少なくすること、サーバどうしを接続する回線を保護すること(すなわち、専用の光ファイバー回線およびロックされたネットワークラックを使用すること)、システム管理者以外は誰もネットワーキングインフラストラクチャーにアクセスできないようにすること、およびいかなる疑わしい端末の動作についても、あるいは端末や安全なキーの盗難についてもシステム管理者にすぐに知らせることによって、このシステムを物理的に保護することができる。
上述の実施形態およびそれらの修正は、公知の電子金融取引システムに勝る多くの利点を提供するということを当業者ならもう認識できるであろう。
業者やその他の端末ユーザは、自分の支払いシステムが、信頼性の高い、安全な、便利な、効率のよい方法で機能することを求めている。これらのユーザにとって、この新しいシステムが取引を処理する方法は、公知の支払いシステムと同じルックアンドフィールを有するかもしれないが、ユーザのニーズによりよく対応する方法で修正することができる。
管理者権限を与えられている端末ユーザには、端末を用いた高度なアクション、たとえば、パスワードで保護された状態で設定メニューへアクセスすることを実行するように許可することができる。これによって、システムの柔軟性が高まる。
1つまたは複数のTMLアプリケーションと、システムのソフトウェアが実行されているハードウェアとを所有するシステムインテグレータは、端末の展開および構成、ならびにヘルプデスクソフトウェアのサポートを担当する。システムインテグレータは、Cでプログラムできることなど、複雑なプログラミングスキルに習熟する必要はなく、TMLの実用的な知識を有するだけでよい。
TMLアプリケーションの開発者は、システムインテグレータ企業や、その他の何らかのサードパーティー企業(たとえば、端末の製造業者)によって採用することができる。上述のシステムは、便利なAPIを備えた強力なプログラミングライブラリを彼らに提供する。彼らは、端末シミュレータを用いて、端末アプリケーションをテストしてデバッグすることもできる。
本発明の範囲から逸脱することなく、上述の実施形態に対して、さまざまな修正および改良を行うことができる。
本発明の第1の実施形態による電子金融取引システムを示す論理図である。 図1に示されている実施形態で使用されているマイクロブラウザアプリケーションを示す論理図である。 図1の電子金融取引システムで使用されているリモートホストシステムの機能的な構造を示す図である。 図3に示されているリモートホストシステムのコンポーネントを示す図である。 図1に示されている電子金融取引システムのコンポーネントの物理的な展開の一例を示す図である。 図1の電子金融取引システムによって磁気カードがどのように処理されるかを示すプロセスの流れを示す図である。 図1の電子金融取引システムによってスマートカードがどのように処理されるかを示すプロセスの流れを示す図である。 図1の電子金融取引システムで使用されている端末によってコンテンツのページがどのようにダウンロードされるかを示すプロセスの流れを示す図である。 図1の電子金融取引システムで使用されている端末によって実施されるブラウズおよびデータ処理の流れを示す図である。 端末の自動設定のプロセスを示す図である。 端末の初期設定の第1のモードを示す図である。 図1の電子金融取引システムに適用できるセキュリティーインフラストラクチャーを示す図である。

Claims (56)

  1. 顧客の取引カードから情報を読み取るためのカードリーダと、取引に関連するユーザ入力を受け取るための入力手段と、情報を前記ユーザに表示するためのディスプレイと、電気通信ネットワークを介してリモートホストと通信するための通信手段とを含む安全な端末、ならびに、
    前記端末によって開始された電子取引を処理するために前記端末および取得者システムと安全に通信するように適合されているリモートホストシステム
    を備える電子金融取引システムであって、
    前記端末が、前記リモートホストシステムからコードオブジェクトをダウンロードして処理するように適合されている端末アプリケーションを含み、前記コードオブジェクトが、前記端末による電子取引の前記処理のために前記端末によって実行される機能を定義する電子金融取引システム。
  2. 前記コードオブジェクトが、変数をサポートするTML(terminal mark−up language)で表されているドキュメントを備える請求項1に記載の電子金融取引システム。
  3. 前記TMLが、文字列、整数、日付、およびあいまいな変数をサポートする請求項2に記載の電子金融取引システム。
  4. 前記TMLドキュメントが、十分に形作られているXMLドキュメントを備える請求項2または3に記載の電子金融取引システム。
  5. 前記端末アプリケーションが、マイクロブラウザアプリケーションを備える請求項2〜4のいずれか一項に記載の電子金融取引システム。
  6. 前記端末アプリケーションが、取引カードから読み取られたデータを解釈するように適合されているHTTPクライアント手段、ブラウザ手段、およびカードパーサ手段を含む請求項2〜5のいずれか一項に記載の電子金融取引システム。
  7. 前記リモートホストシステムが、前記端末と通信するゲートウェイホストを含み、前記ゲートウェイホストが、TCP/IPリスニング手段と、処理手段と、コンバータ手段と、HTTPプロキシとを備える請求項6に記載の電子金融取引システム。
  8. 前記端末と前記ゲートウェイホストとの間における通信のために使用されるプロトコルスタックをさらに含み、前記プロトコルスタックが、安全な伝送プロトコル層と、TCP/IP層と、BHTTP(binary HTTP)層とを備える請求項7に記載の電子金融取引システム。
  9. 前記安全な伝送プロトコル層が、SSLまたはTLSを備える請求項8に記載の電子金融取引システム。
  10. 前記リモートホストシステムが、前記ゲートウェイホストおよび前記取得者システムと通信するTMLアプリケーションホストと、前記ゲートウェイホストと通信するウェブサービスホストとをさらに含む請求項7〜9のいずれか一項に記載の電子金融取引システム。
  11. 前記ゲートウェイホストの前記HTTPプロキシが、支払いアプリケーションと共に機能するように構成されている前記アプリケーションホストの第1のHTTPサーバ手段と、設定サービスと共に機能するように構成されている前記ウェブサービスホストの第2のHTTPサーバ手段とにサービスを提供するように構成されている請求項10に記載の電子金融取引システム。
  12. TMLドキュメントをダウンロードしたいという前記端末による要求が、前記端末のHTTPクライアントから前記ゲートウェイホストへバイナリーHTTP要求として送信され、前記ゲートウェイホストによってテキストHTTPへ変換され、前記ゲートウェイホストのHTTPプロキシから前記第1または第2のHTTPサーバへテキストHTTP要求として送信される請求項11に記載の電子金融取引システム。
  13. TMLドキュメントをダウンロードしたいという前記端末による要求への応答が、前記第1または第2のHTTPサーバから前記ゲートウェイホストのHTTPプロキシへテキストHTTP要求として送信され、前記ゲートウェイホストによってテキストHTTPへ変換され、前記ゲートウェイホストから前記端末のHTTPクライアントへバイナリーHTTP要求として送信される請求項12に記載の電子金融取引システム。
  14. 前記端末およびリモートホストシステムが、お互いに対して認証可能である請求項1〜13のいずれか一項に記載の電子金融取引システム。
  15. 前記認証が、PKI(public key infrastructure)を使用する請求項14に記載の電子金融取引システム。
  16. 前記リモートホストシステムが、ルート証明書を用いて署名されたデジタル証明書によって前記端末に対して認証され、前記端末が、対照の質問に対して正しい答えを提供することによって、前記リモートホストシステムに対して認証される請求項14または15に記載の電子金融取引システム。
  17. 前記デジタル証明書がX.509証明書である請求項16に記載の電子金融取引システム。
  18. 前記コードオブジェクトが、磁気カードを通すこと、ICCカードを挿入すること、ピンパッドキーボードを使用すること、または端末のキーボードを使用することによるユーザ入力を受け取るのに適したフォームスクリーンを定義するコードオブジェクトを含む請求項1〜17のいずれか一項に記載の電子金融取引システム。
  19. 前記コードオブジェクトが、ディスプレイスクリーンと、プリントスクリーンと、エラーメッセージや通知メッセージを表示するためのスクリーンと、関数の呼び出しを送信するためのスクリーンとを含むスクリーンタイプをサポートするコードオブジェクトを含む請求項1〜18のいずれか一項に記載の電子金融取引システム。
  20. 端末が、
    キャッシュに格納できるリソースのIDと共に条件付きのHTTP要求を前記リモートホストシステムへ送信する前記端末と、
    キャッシュに格納できるそれぞれのリソースごとに、前記リソースを、キャッシュ内に保存されているレコードに照らしてチェックし、前記リソースの更新を前記端末へ戻すか、または前記リソースが変更されていないことを確認するための前記リモートホスト(19)とから構成される請求項1〜19のいずれか一項に記載の電子金融取引システム。
  21. 前記リモートホストシステムが、前記キャッシュから何の応答も受け取らない場合に、前記リモートホストシステムが、要求を設定サーバへ送信し、前記設定サーバが、キャッシュに格納できるそれぞれのリソースごとに、前記リソースを、キャッシュ内に保存されているレコードに照らしてチェックし、前記リソースの更新を前記リモートホストシステムへ戻すか、または前記リソースが変更されていないことを確認する請求項20に記載の電子金融取引システム。
  22. 前記設定サーバが、ウェブアプリケーションを使用してサービスプロバイダーによって修正されるように適合されており、それによって、前記修正された設定を用いて前記端末の設定を更新することができる請求項21に記載の電子金融取引システム。
  23. 前記条件付きのHTTP要求が、RPC(remote procedure call)を含む請求項20〜22のいずれか一項に記載の電子金融取引システム。
  24. 前記端末の設定可能なパラメータが、時刻同期、端末の設定、およびカードパーサ用のパラメータのうちの少なくとも1つを含む請求項20〜23のいずれか一項に記載の電子金融取引システム。
  25. 前記端末が前記リモートホストシステムへ接続するたびに、前記端末の構成をチェックして設定することができる請求項1〜24のいずれか一項に記載の電子金融取引システム。
  26. 請求項1〜25のいずれか一項に記載の電子金融取引システムにおいて使用するように適合されている安全な端末。
  27. 請求項1〜25のいずれか一項に記載の電子金融取引システムにおいて使用するように適合されているリモートホストシステム。
  28. 請求項7〜13のいずれか一項に記載の電子金融取引システムにおいて使用するように適合されているゲートウェイホスト。
  29. 請求項10〜13のいずれか一項に記載の電子金融取引システムにおいて使用するように適合されているTMLアプリケーションホスト。
  30. 請求項10〜13のいずれか一項に記載の電子金融取引システムにおいて使用するように適合されているウェブサービスホスト。
  31. 電子金融取引を運営する方法であって、
    安全な端末およびリモートホストシステムを提供するステップと、
    前記安全な端末を使用して、
    顧客の取引カードから情報を読み取り、
    取引に関連するユーザ入力を受け取り、
    情報を前記ユーザに表示し、
    電気通信ネットワークを介して前記リモートホストと通信するステップと、
    前記端末上で端末アプリケーションを実行するステップであって、前記端末アプリケーションが、前記リモートホストシステムからコードオブジェクトをダウンロードして処理するように適合されており、前記コードオブジェクトが、前記端末による電子取引の前記処理のために前記端末によって実行される機能を定義するステップとを含み、
    前記リモートホストシステムが、前記端末によって開始された取引を処理するために前記端末および取得者システムと安全に通信する方法。
  32. 前記コードオブジェクトが、変数をサポートするTML(terminal mark−up language)で表されているドキュメントを備える請求項31に記載の方法。
  33. 前記TMLが、文字列、整数、日付、およびあいまいな変数をサポートする請求項32に記載の方法。
  34. 前記TMLドキュメントが、十分に形作られているXMLドキュメントを備える請求項32または33に記載の方法。
  35. 前記端末アプリケーションが、マイクロブラウザアプリケーションを備える請求項32〜34のいずれか一項に記載の方法。
  36. 前記端末による電子取引の前記処理のために前記端末によって実行される前記機能が、取引カードから読み取られたデータの解釈を含み、前記解釈が、HTTPクライアント手段、ブラウザ手段、およびカードパーサ手段によって実行される請求項32〜35のいずれか一項に記載の方法。
  37. 前記端末と通信するゲートウェイホストを提供するステップをさらに含み、前記ゲートウェイホストが、TCP/IPリスニング手段と、処理手段と、コンバータ手段と、HTTPプロキシとを備える請求項36に記載の方法。
  38. 前記端末と前記ゲートウェイホストとの間における通信が、プロトコルスタックを使用し、前記プロトコルスタックが、安全な伝送プロトコル層と、TCP/IP層と、BHTTP(binary HTTP)層とを備える請求項37に記載の方法。
  39. 前記安全な伝送プロトコル層が、SSLまたはTLSを備える請求項38に記載の方法。
  40. 前記ゲートウェイホストおよび前記取得者システムと通信するTMLアプリケーションホストと、前記ゲートウェイホストと通信するウェブサービスホストとを提供するステップをさらに含む請求項37〜39のいずれか一項に記載の方法。
  41. 前記ゲートウェイホストの前記HTTPプロキシが、支払いアプリケーションと共に機能するように構成されている前記アプリケーションホストの第1のHTTPサーバ手段と、設定サービスと共に機能するように構成されている前記ウェブサービスホストの第2のHTTPサーバ手段とにサービスを提供する請求項40に記載の方法。
  42. 前記端末のHTTPクライアントが、TMLドキュメントをダウンロードしたいという要求を前記ゲートウェイホストへバイナリーHTTP要求として送信し、
    前記ゲートウェイホストが、前記要求をテキストHTTPへ変換し、前記ゲートウェイホストのHTTPプロキシが、前記要求を前記第1または第2のHTTPサーバへテキストHTTP要求として送信する請求項41に記載の方法。
  43. 前記第1または第2のHTTPサーバが、TMLドキュメントをダウンロードしたいという前記端末による要求への応答を前記ゲートウェイホストのHTTPプロキシへテキストHTTP要求として送信し、
    前記ゲートウェイホストが、前記応答をバイナリーHTTPへ変換し、
    前記ゲートウェイホストが、前記応答を前記端末のHTTPクライアントへバイナリーHTTP要求として送信する請求項42に記載の方法。
  44. 前記端末およびリモートホストシステムをお互いに対して認証するステップをさらに含む請求項30〜43のいずれか一項に記載の方法。
  45. 前記認証が、PKI(public key infrastructure)を使用する請求項44に記載の方法。
  46. 前記リモートホストシステムが、ルート証明書を用いて署名されたデジタル証明書によって前記端末に対して認証され、前記端末が、対照の質問に対して正しい答えを提供することによって、前記リモートホストシステムに対して認証される請求項44または45に記載の方法。
  47. 前記デジタル証明書がX.509証明書である請求項46に記載の方法。
  48. 前記コードオブジェクトが、磁気カードを通すこと、ICCカードを挿入すること、ピンパッドキーボードを使用すること、または端末のキーボードを使用することのうちのいずれかによるユーザ入力を受け取るフォームスクリーンを定義するコードオブジェクトを含む請求項30〜47のいずれか一項に記載の方法。
  49. 前記コードオブジェクトが、ディスプレイスクリーンと、プリントスクリーンと、エラーメッセージや通知メッセージを表示するためのスクリーンと、関数の呼び出しを送信するためのスクリーンとを含むスクリーンタイプをサポートするコードオブジェクトを含む請求項30〜48のいずれか一項に記載の方法。
  50. 前記端末が前記リモートホストシステムへ接続するたびに、前記端末の構成をチェックして設定することができる請求項30〜49のいずれか一項に記載の方法。
  51. 請求項30〜50のいずれか一項に記載の方法において使用するための端末を設定する方法であって、前記端末が、キャッシュに格納できるリソースのIDと共に条件付きのHTTP要求を前記リモートホストシステムへ送信し、
    前記リモートホストが、キャッシュに格納できるそれぞれのリソースごとに、前記リソースを、キャッシュ内に保存されているレコードに照らしてチェックし、前記リソースの更新を前記端末へ戻すか、または前記リソースが変更されていないことを確認する方法。
  52. 前記リモートホストシステムが、前記キャッシュから何の応答も受け取らない場合に、前記リモートホストシステムが、要求を設定サーバへ送信し、前記設定サーバが、キャッシュに格納できるそれぞれのリソースごとに、前記リソースを、キャッシュ内に保存されているレコードに照らしてチェックし、前記リソースの更新を前記リモートホストシステムへ戻すか、または前記リソースが変更されていないことを確認する請求項51に記載の方法。
  53. 前記設定サーバが、ウェブアプリケーションを使用してサービスプロバイダーによって修正されて、前記修正された設定を用いて前記端末の設定が更新される請求項52に記載の方法。
  54. 前記条件付きのHTTP要求が、RPC(remote procedure call)を含む請求項51〜53のいずれか一項に記載の方法。
  55. 前記端末の設定可能なパラメータが、時刻同期、端末の設定、およびカードパーサ用のパラメータのうちの少なくとも1つを含む請求項51〜54のいずれか一項に記載の方法。
  56. 前記端末が前記リモートホストシステムへ接続するたびに、前記端末の構成をチェックして設定することができる請求項51〜55のいずれか一項に記載の方法。
JP2007523156A 2004-07-29 2005-07-29 電子金融取引システム Expired - Fee Related JP5122282B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0416857.1 2004-07-29
GBGB0416857.1A GB0416857D0 (en) 2004-07-29 2004-07-29 Electronic financial transactions
PCT/GB2005/002994 WO2006010947A2 (en) 2004-07-29 2005-07-29 Electronic financial transactions

Publications (2)

Publication Number Publication Date
JP2008508585A true JP2008508585A (ja) 2008-03-21
JP5122282B2 JP5122282B2 (ja) 2013-01-16

Family

ID=32947595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007523156A Expired - Fee Related JP5122282B2 (ja) 2004-07-29 2005-07-29 電子金融取引システム

Country Status (6)

Country Link
US (1) US9785923B2 (ja)
EP (1) EP1771801B1 (ja)
JP (1) JP5122282B2 (ja)
ES (1) ES2955077T3 (ja)
GB (1) GB0416857D0 (ja)
WO (1) WO2006010947A2 (ja)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996012255A1 (fr) 1994-10-12 1996-04-25 Technical Maintenance Corporation Systeme de reproduction audio-visuelle numerique intelligent
US7188352B2 (en) 1995-07-11 2007-03-06 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US8661477B2 (en) 1994-10-12 2014-02-25 Touchtunes Music Corporation System for distributing and selecting audio and video information and method implemented by said system
US7171560B2 (en) 1998-06-22 2007-01-30 Semtek Solutions, Inc. Method and apparatus for securing and authenticating encoded data and documents containing such data
FR2753868A1 (fr) 1996-09-25 1998-03-27 Technical Maintenance Corp Procede de selection d'un enregistrement sur un systeme numerique de reproduction audiovisuel et systeme pour mise en oeuvre du procede
FR2769165B1 (fr) 1997-09-26 2002-11-29 Technical Maintenance Corp Systeme sans fil a transmission numerique pour haut-parleurs
FR2781580B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent
US8028318B2 (en) 1999-07-21 2011-09-27 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
FR2781591B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Systeme de reproduction audiovisuelle
US8726330B2 (en) 1999-02-22 2014-05-13 Touchtunes Music Corporation Intelligent digital audiovisual playback system
FR2796482B1 (fr) 1999-07-16 2002-09-06 Touchtunes Music Corp Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles
FR2805377B1 (fr) 2000-02-23 2003-09-12 Touchtunes Music Corp Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede
FR2805060B1 (fr) 2000-02-16 2005-04-08 Touchtunes Music Corp Procede de reception de fichiers lors d'un telechargement
FR2805072B1 (fr) 2000-02-16 2002-04-05 Touchtunes Music Corp Procede d'ajustement du volume sonore d'un enregistrement sonore numerique
FR2808906B1 (fr) 2000-05-10 2005-02-11 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
FR2811175B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles
FR2811114B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement
FR2814085B1 (fr) 2000-09-15 2005-02-11 Touchtunes Music Corp Procede de divertissement base sur les jeux concours a choix multiples
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US8332895B2 (en) 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US8584175B2 (en) 2002-09-16 2013-11-12 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
GB0419479D0 (en) * 2004-09-02 2004-10-06 Cryptomathic Ltd Data certification methods and apparatus
US7309012B2 (en) 2004-09-07 2007-12-18 Semtek Innovative Solutions, Inc. Secure magnetic stripe reader for handheld computing and method of using same
US7506812B2 (en) 2004-09-07 2009-03-24 Semtek Innovative Solutions Corporation Transparently securing data for transmission on financial networks
US9361617B2 (en) 2008-06-17 2016-06-07 Verifone, Inc. Variable-length cipher system and method
US9123042B2 (en) 2006-10-17 2015-09-01 Verifone, Inc. Pin block replacement
US8769275B2 (en) 2006-10-17 2014-07-01 Verifone, Inc. Batch settlement transactions system and method
US20080155016A1 (en) * 2006-12-22 2008-06-26 Tsai Wei K Content procurement architecture
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US9330529B2 (en) 2007-01-17 2016-05-03 Touchtunes Music Corporation Game terminal configured for interaction with jukebox device systems including same, and/or associated methods
US8355982B2 (en) 2007-08-16 2013-01-15 Verifone, Inc. Metrics systems and methods for token transactions
US8332887B2 (en) 2008-01-10 2012-12-11 Touchtunes Music Corporation System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US20090328184A1 (en) * 2008-06-26 2009-12-31 Utstarcom, Inc. System and Method for Enhanced Security of IP Transactions
US8144940B2 (en) 2008-08-07 2012-03-27 Clay Von Mueller System and method for authentication of data
JP4879259B2 (ja) * 2008-12-19 2012-02-22 株式会社エヌ・ティ・ティ・ドコモ 端末装置及びアプリケーション一覧表示方法
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
CN106056367A (zh) 2009-03-18 2016-10-26 踏途音乐公司 娱乐服务器及相关的社交网络系统
US8630907B2 (en) * 2009-09-30 2014-01-14 Ebay Inc. Secure transactions using a point of sale device
US9240005B2 (en) * 2009-11-06 2016-01-19 Mastercard International, Incorporated Methods for risk management in payment-enabled mobile device
CN105374380A (zh) 2010-01-26 2016-03-02 踏途音乐公司 具有改进的用户界面的数字点播设备和相关方法
US10147077B2 (en) * 2010-09-21 2018-12-04 Mastercard International Incorporated Financial transaction method and system having an update mechanism
US11514451B2 (en) 2011-03-15 2022-11-29 Capital One Services, Llc Systems and methods for performing financial transactions using active authentication
US10089612B2 (en) 2011-03-15 2018-10-02 Capital One Services, Llc Systems and methods for performing ATM fund transfer using active authentication
US9563904B2 (en) 2014-10-21 2017-02-07 Slice Technologies, Inc. Extracting product purchase information from electronic messages
US9846902B2 (en) 2011-07-19 2017-12-19 Slice Technologies, Inc. Augmented aggregation of emailed product order and shipping information
US9875486B2 (en) 2014-10-21 2018-01-23 Slice Technologies, Inc. Extracting product purchase information from electronic messages
US8844010B2 (en) 2011-07-19 2014-09-23 Project Slice Aggregation of emailed product order and shipping information
CA2971002A1 (en) 2011-09-18 2013-03-21 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
US9152957B2 (en) 2012-03-23 2015-10-06 The Toronto-Dominion Bank System and method for downloading an electronic product to a pin-pad terminal after validating an electronic shopping basket entry
US9760939B2 (en) 2012-03-23 2017-09-12 The Toronto-Dominion Bank System and method for downloading an electronic product to a pin-pad terminal using a directly-transmitted electronic shopping basket entry
US9842335B2 (en) 2012-03-23 2017-12-12 The Toronto-Dominion Bank System and method for authenticating a payment terminal
WO2015004528A2 (en) * 2013-07-08 2015-01-15 Assa Abloy Ab One-time-password generated on reader device using key read from personal security device
US10235839B2 (en) * 2013-09-24 2019-03-19 Jcm American Corporation Electronic voucher ticket system
CN105849785B (zh) * 2013-09-24 2018-11-16 Jcm美国公司 电子凭证票据系统
US9964994B2 (en) * 2013-10-31 2018-05-08 Ncr Corporation Mobile device conduit for a transaction device
KR102533342B1 (ko) 2014-03-25 2023-05-17 터치튠즈 뮤직 컴퍼니, 엘엘씨 향상된 사용자 인터페이스를 가지는 디지털 주크박스 장치 및 관련 방법
JP6327001B2 (ja) * 2014-06-19 2018-05-23 富士ゼロックス株式会社 画像処理装置及びプログラム
US10387908B2 (en) * 2014-07-16 2019-08-20 Zeta Global Corp. Management of an advertising exchange using email data
US10970967B2 (en) 2014-09-24 2021-04-06 Jcm American Corporation Electronic voucher ticket system
US9928697B2 (en) * 2015-03-31 2018-03-27 Toshiba Global Commerce Solutions Holdings Corporation Configuring point-of-sale (POS) applications based on a priority level in order to communicate with peripheral devices in a POS system
US10447635B2 (en) 2017-05-17 2019-10-15 Slice Technologies, Inc. Filtering electronic messages
US11803883B2 (en) 2018-01-29 2023-10-31 Nielsen Consumer Llc Quality assurance for labeled training data

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154110A (ja) * 1996-10-24 1998-06-09 Tumbleweed Software Corp 電子文書引渡しシステム
JP2002074517A (ja) * 2000-08-25 2002-03-15 Trinity Communication Inc Pos端末装置、posシステム用ストアコンピュータ、posシステム用ルータ、posシステム用ホストコンピュータ、posシステム、データ防護処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002251674A (ja) * 2001-02-23 2002-09-06 Sharp Corp Pos端末およびposデバイスの制御方法
JP2002279531A (ja) * 2001-03-19 2002-09-27 Toshiba Tec Corp 商品販売データ処理装置、商品販売データ処理方法およびコンピュータプログラム
WO2002084938A2 (en) * 2001-04-12 2002-10-24 International Business Machines Corporation Controlled distribution of application code and content data within a computer network
JP2003283565A (ja) * 2002-02-25 2003-10-03 Docomo Communications Laboratories Usa Inc 異種ネットワーク内におけるネットワークサービス状況を監視するエンドユーザのためのシステム
WO2003090027A2 (en) * 2002-04-17 2003-10-30 Visa International Service Association Mobile account authentication service
US20030217005A1 (en) * 1996-11-27 2003-11-20 Diebold Self Service Systems, Division Of Diebold, Incorporated Automated banking machine system and method
WO2004015566A1 (en) * 2002-08-02 2004-02-19 Sap Aktiengesellschaft Method and computer system for handling incremental data in client-server communication
JP2004180280A (ja) * 2002-10-14 2004-06-24 Toshiba Corp 適応性のある委任のための方法とシステム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX174467B (es) * 1986-01-23 1994-05-17 Squibb & Sons Inc 1,4,7-triscarboximetil-1,4,7,10-tetraazaciclodo decano substituido en 1 y compuestos analogos
US5475756A (en) * 1994-02-17 1995-12-12 At&T Corp. Method of authenticating a terminal in a transaction execution system
US5696909A (en) * 1995-01-27 1997-12-09 Hypercom, Inc. Virtual POS terminal
US5742845A (en) * 1995-06-22 1998-04-21 Datascape, Inc. System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network
US6705517B1 (en) * 1996-11-27 2004-03-16 Die Old, Incorporated Automated banking machine system and method
US6289320B1 (en) * 1998-07-07 2001-09-11 Diebold, Incorporated Automated banking machine apparatus and system
US6052730A (en) * 1997-01-10 2000-04-18 The Board Of Trustees Of The Leland Stanford Junior University Method for monitoring and/or modifying web browsing sessions
US5948066A (en) * 1997-03-13 1999-09-07 Motorola, Inc. System and method for delivery of information over narrow-band communications links
JP3514626B2 (ja) * 1998-04-14 2004-03-31 インクリメント・ピー株式会社 ルート情報提供システム及びそれに用いるwwwサーバ、並びに、ルート情報提供方法及びそれに用いるwwwサーバ
US20030141360A1 (en) * 1999-04-22 2003-07-31 De Leo Stephen L. System and method for providing information and services to and from an automated teller machine
US6721713B1 (en) * 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
AR029173A1 (es) * 1999-07-20 2003-06-18 Diebold Inc Metodo para el desarrollo de cajeros automaticos
BR0013748A (pt) * 1999-09-02 2002-05-21 Nokia Mobile Phones Ltd Terminal de comunicação sem fio para acessar informação de localização a partir de um servidor
US20010051876A1 (en) * 2000-04-03 2001-12-13 Seigel Ronald E. System and method for personalizing, customizing and distributing geographically distinctive products and travel information over the internet
US20030041110A1 (en) * 2000-07-28 2003-02-27 Storymail, Inc. System, Method and Structure for generating and using a compressed digital certificate
US6901381B2 (en) * 2001-01-26 2005-05-31 National Railroad Passenger Corporation Method for rolling salable inventory control and system therefor
EP1396805A4 (en) * 2001-06-11 2006-11-08 Sony Corp ELECTRONIC MONEY SYSTEM
US20030105977A1 (en) * 2001-12-05 2003-06-05 International Business Machines Corporation Offload processing for secure data transfer
US7231657B2 (en) * 2002-02-14 2007-06-12 American Management Systems, Inc. User authentication system and methods thereof
US7685287B2 (en) * 2002-05-30 2010-03-23 Microsoft Corporation Method and system for layering an infinite request/reply data stream on finite, unidirectional, time-limited transports
US7294056B2 (en) * 2002-12-23 2007-11-13 Gametech International, Inc. Enhanced gaming system
WO2004081756A2 (en) * 2003-03-12 2004-09-23 Nationwide Mutual Insurance Co Trust governance framework
WO2004084031A2 (en) * 2003-03-17 2004-09-30 Abanco International Llc System and method for sales and inventory reconciliation
US7394761B2 (en) * 2003-04-29 2008-07-01 Avocent Huntsville Corporation System and method for delivering messages using alternate modes of communication

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154110A (ja) * 1996-10-24 1998-06-09 Tumbleweed Software Corp 電子文書引渡しシステム
US20030217005A1 (en) * 1996-11-27 2003-11-20 Diebold Self Service Systems, Division Of Diebold, Incorporated Automated banking machine system and method
JP2002074517A (ja) * 2000-08-25 2002-03-15 Trinity Communication Inc Pos端末装置、posシステム用ストアコンピュータ、posシステム用ルータ、posシステム用ホストコンピュータ、posシステム、データ防護処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002251674A (ja) * 2001-02-23 2002-09-06 Sharp Corp Pos端末およびposデバイスの制御方法
JP2002279531A (ja) * 2001-03-19 2002-09-27 Toshiba Tec Corp 商品販売データ処理装置、商品販売データ処理方法およびコンピュータプログラム
JP2004529561A (ja) * 2001-04-12 2004-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・ネットワーク内のアプリケーション・コードおよびコンテンツ・データの制御された配布
WO2002084938A2 (en) * 2001-04-12 2002-10-24 International Business Machines Corporation Controlled distribution of application code and content data within a computer network
JP2003283565A (ja) * 2002-02-25 2003-10-03 Docomo Communications Laboratories Usa Inc 異種ネットワーク内におけるネットワークサービス状況を監視するエンドユーザのためのシステム
WO2003090027A2 (en) * 2002-04-17 2003-10-30 Visa International Service Association Mobile account authentication service
JP2005523505A (ja) * 2002-04-17 2005-08-04 ビザ・インターナショナル・サービス・アソシエーション モバイル口座認証サービス
WO2004015566A1 (en) * 2002-08-02 2004-02-19 Sap Aktiengesellschaft Method and computer system for handling incremental data in client-server communication
JP2005535042A (ja) * 2002-08-02 2005-11-17 エスアーペー アクチエンゲゼルシャフト クライアント・サーバ通信におけるインクリメントデータを処理する方法およびコンピュータシステム
JP2004180280A (ja) * 2002-10-14 2004-06-24 Toshiba Corp 適応性のある委任のための方法とシステム

Also Published As

Publication number Publication date
JP5122282B2 (ja) 2013-01-16
EP1771801A2 (en) 2007-04-11
US9785923B2 (en) 2017-10-10
GB0416857D0 (en) 2004-09-01
WO2006010947A2 (en) 2006-02-02
WO2006010947A3 (en) 2006-06-22
EP1771801B1 (en) 2023-07-05
WO2006010947A8 (en) 2007-01-25
US20090204545A1 (en) 2009-08-13
ES2955077T3 (es) 2023-11-28

Similar Documents

Publication Publication Date Title
JP5122282B2 (ja) 電子金融取引システム
US20240045746A1 (en) Application programming interface fingerprint data generation at a mobile device executing a native mobile application
US9514450B2 (en) System for accessing a POS terminal, method for downloading and updating applications and method for performing electronic operation using such a system
US7343351B1 (en) Methods and apparatus for conducting electronic transactions
RU2252451C2 (ru) Способ проведения трансакций, компьютеризованный способ защиты сетевого сервера, трансакционная система, сервер электронного бумажника, компьютеризованный способ выполнения онлайновых покупок (варианты) и компьютеризованный способ контроля доступа
KR20090095940A (ko) 거래단계 검증을 통한 비대면 금융거래 방법 및 시스템과이를 위한 기록매체
JP3823757B2 (ja) サーバ装置、画面データ送信方法、画面表示方法、画面表示プログラム、配信プログラム、及び記憶媒体
US20090132690A1 (en) On-Demand Download Network
Hamann et al. Securing e-business applications using smart cards
KR101004082B1 (ko) 금융시스템 자동 테스트 방법 및 시스템과 이를 위한프로그램 기록매체
Hutchinson et al. Report
KR100967929B1 (ko) 통신매체별 그래픽 사용자 인터페이스 동기화 처리 시스템
KR100963917B1 (ko) 그래픽 사용자 인터페이스를 이용한 계좌이체 처리시스템과 이를 위한 프로그램 기록매체
KR20070092391A (ko) 닉네임을 이용한 비대면 채널 유저인터페이스 제공방법 및시스템과 이를 위한 프로그램 기록매체
KR20160006651A (ko) 비대면 금융거래를 위한 정보 검증 방법
Axelsson Development of WAP-services
Trommler A Formally Verified Digital Signature Device for Smartphones
WO2004040884A1 (en) Implementing a service, particularly a financial service, in a network involving mobile terminals
AU2004231226B2 (en) Methods and apparatus for conducting electronic transactions
KR100999568B1 (ko) 공탁사건 이관처리 방법 및 시스템과 이를 위한 기록매체
KR20090018758A (ko) 복수개의 계좌정보 운용 프로그램 제공 시스템과 이를 위한프로그램 기록매체
Olaussen et al. eGovernment Services in a Mobile Environment
KR20090018755A (ko) 금융거래용 그래픽 사용자 인터페이스 제공 방법과 이를위한 프로그램 기록매체
KR20090018745A (ko) 인터넷뱅킹 유저 인터페이스 제공방법 및 시스템과 이를위한 기록매체
KR20090000785A (ko) 통신사 제휴를 통한 무선단말 간 금융거래 방법 및시스템과 이를 위한 기록매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110901

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120501

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120810

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: 20120925

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121024

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

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

LAPS Cancellation because of no payment of annual fees