JP4582825B2 - 電子転送システムの通信方法 - Google Patents

電子転送システムの通信方法 Download PDF

Info

Publication number
JP4582825B2
JP4582825B2 JP35309796A JP35309796A JP4582825B2 JP 4582825 B2 JP4582825 B2 JP 4582825B2 JP 35309796 A JP35309796 A JP 35309796A JP 35309796 A JP35309796 A JP 35309796A JP 4582825 B2 JP4582825 B2 JP 4582825B2
Authority
JP
Japan
Prior art keywords
label
message
value
value pair
customer
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.)
Expired - Lifetime
Application number
JP35309796A
Other languages
English (en)
Other versions
JPH09218903A (ja
Inventor
ポール ボエシュ ブライアン
ディビッド クロッカー スティーブン
エッグルストン イーストレイク ザ サード ドナルド
シャーバーン ハート ジュニア オールデン
エイ リンデンバーグ ロバート
マリー パレデス デニーズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PayPal Inc
Original Assignee
PayPal Inc
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 PayPal Inc filed Critical PayPal Inc
Publication of JPH09218903A publication Critical patent/JPH09218903A/ja
Application granted granted Critical
Publication of JP4582825B2 publication Critical patent/JP4582825B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • 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/085Payment architectures involving remote charge determination or related payment systems
    • G06Q20/0855Payment architectures involving remote charge determination or related payment systems involving a third party
    • 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/12Payment architectures specially adapted for electronic shopping 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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • G06Q20/4014Identity check for transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Electrotherapy Devices (AREA)
  • Apparatuses And Processes For Manufacturing Resistors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Hardware Redundancy (AREA)
  • Manipulator (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Telephonic Communication Services (AREA)
  • Burglar Alarm Systems (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の背景技術】
1.発明の属する技術分野
インターネットのような不安全なネットワークを通してのメッセージの処理のために受け入れることのできる安全のレベルを達成するために、大きなキーサイズを有するパブリックキーによる暗号化(例えばRSA)が一般的に要求される。本発明は、そのような不安全なネットワークを通して安定したメッセージ処理の効率を増大させるためのシステム及び方法に関するものである。特に、本発明は、メッセージ交換のためのネットワークにおいて必要とされる暗号化の階層を削減するためのシステム及び方法に関するものである。さらに、本発明は、暗号化のためのコンピュータの必要性を実質的に削減する一方、安全な方法で電子的な現金取引を行なうことに関するものである。
【0002】
2.従来の技術
インターネットのような不安全なネットワーク上におけるコミュニケーションの安全性を増大するための種々の方法が開示されている。不安全なネットワークは、監視、盗聴、改ざんからメッセージを保護しない。一方、安定なネットワークは、監視、盗聴および/または改ざんのための機会を減らす種々の手段を提供する。
【0003】
例えば、(シキュアーHTTP(S−HTTP)およびシキュアーソケットレイヤー(SSL)プロトコルのような)チャンネルメッセージ安全保護概念は、互いのコミュニケーションがプライベートなものであり1対1のコミュニケーションを望む二つの当事者間における信頼性を創造することを意図している。SSLは、各メッセージを複雑に暗号化することによってオーセンチケーション及び安全保護を提供するためにデジタル的にサインされた証明を利用する。S−HTTPは、安全保護とオーセンチケーションを保証するために複雑に暗号化されたキーを使用するデジタル的にサインされたメッセージを利用している。
【0004】
多数のマルチパーティプロトコルがクレジットカードの決裁のために提案されていて、そのうちの有名なものとしてシキュアートランスポートテクノロジー(STT)、インターネットキードペイメント(IKP)、シキュアーエレクトロニックペイメントプロトコル(SEPP)が知られている。これらのアプローチのすべては、資格発行許可に基づき構築されており、販売者と顧客との両者が資格発行許可によって識別され、次にこの資格発行許可がさらに高い許可によって識別されることを要求する。STTにおいては、販売者と顧客の各々はキーのRSAの二つのセットを有し、そのうちの一つはメッセージをサインするために使用され、他の一つは対称キーを暗号化または解読するために使用される。そのため、このシステムでは、各当事者は(各キーに一つの)二つの証明書を必要とする。販売者は、販売者が受け入れる各クレジットカードのための一対の資格認定書を有するであろう。SEPP及びIKPは、異なるRSA暗号化を使用するが、STTと似ており、取引毎に複数のパブリックキーの署名及び暗号化を利用している。
【0005】
他のシステムは「ネットビル」という名前で記載されている。ネットビルアプローチは、他のものよりもパブリックキーの暗号化を重要視しないが、それでも取引を通してパブリックキーの署名を必要とする。
【0006】
その他のアプローチは、デジキャッシュのアプローチである。デジキャッシュモデルでは、使用者はランダムナンバーを創り出し、このランダムナンバーがデジタルコインのためのシリアルナンバーのように動作する。他の提案されたシステムと同様に、デジキャッシュは、(RSA暗号化のように他のパブリックキーテクニックのための基礎である)モジュールの累乗法への強い依存を要求することによって、安全で、匿名のキャッシュ支払いシステムを構築するとの第1の目的を達成している。また、このシステムは、銀行及び第3者に、実際の価値を有するトークンを創造することを要求する。そのようなシステムが、アメリカ合衆国や他の裁判管轄権のある地域において、銀行業、税金及び通貨の法律として取り扱われるかどうかは不明瞭である。
【0007】
モンデックスのような他のシステムは、使用者のコンピュータに接続したハードウェアの使用を通じての安全性を達成している。インターネット取引のために、専用のカードリーダが特別なカードを使用するすべての顧客及び販売者のコンピュータに付加されなければならない。
【0008】
暗号化の信頼性、特にパブリックキーによる暗号化の信頼性は、ソフトウェアまたはハードウェアのいずれかに基づき相当の犠牲を払ったものでも、暗号化の使用が多くなればなるほど、メッセージを解読するのに必要な処理がそれだけ多くなる。商用ネットワークにおける支払処理のようにメッセージの処理コストが重要である場合は、プロセッサ及びハードウェアコストは、安全なコミュニケーションのためのインターネットのようなネットワークを使用することに対して、重要な妨害になりうる。
【0009】
現状の先行技術は、プロセッサの使用時間、付加ハードウェア、またはそれら両者の付随する高いコストにより、受け入れることのできる安全を達成しているにすぎない。商用インターネットのような不安全なネットワークの発展を促すために必要なことは、暗号化されたメッセージを少ない処理コストで提供できる一方、転送されるコミュニケーションのための受け入れ可能なレベルの安全を維持できるソフトウェアに依存したシステムである。
【0010】
【発明の要約】
そのため、本発明は、インターネットや他の不安全なネットワークを通して大変効率的で、経済的で、しかも安全な処理のためのシステム及び方法を提供することを目的とする。本発明は、インターネットまたは他の不安全なネットワークを通して、比較的小さい投資で、製品の安全な支払い(スモールキャッシュペイメンツを含む)を行なうための基礎を提供する。
【0011】
本発明によれば、コミュニケーションシステムにおいて安全に情報の伝達を行なうための方法を開示する。このコミュニケーションシステムは、第1のパーティーの存在する場所にある第1の装置と、第2のパーティーの存在する場所にある第2の装置と、これら両者の間の情報伝達を行なうサーバとを備えている。この方法は、第1のパーティーと関連する第1のセッションを行なう工程を備え、この第1のセッションは、この第1のセッションが使用可能な期間を制限する第1の使用パラメータと、第1のデータセットとを有している。第1の使用パラメータ及び第1のデータセットは、サーバによって確認することができる。また、この方法は、第2のパーティーと関連する第2のセッションを行なう工程を備えている。この第2のセッションは、この第2のセッションが使用可能な期間を制限する第2のパラメータと、第2のデータセットとを有している。第2の使用パラメータ及び第2のデータセットは、サーバによって確認することができる。さらに、この方法は、コミュニケーションシステムにおいて、第1のセッションのある部分と第2のセッションのある部分とをリンクする工程を備えている。第1のセッションのこの部分は、前記第1のデータセットと第1の使用パラメータとを含み、第2のセッションのこの部分は、前記第2のデータセットと第2の使用パラメータとを含んでいる。さらにまた、この方法は、少なくとも第1及び第2のデータセットの部分に基づきサーバによって第1及び第2のパーティーを確認する工程と、第1及び第2のセッションが第1及び第2の使用パラメータに基づき使用されたかどうかをサーバによって決定する工程とを備えている。サーバが第1及び第2のパーティーを確認し、第1及び第2のセッションが使用できると決定された場合は、第1及び第2のパーティーが、コミュニケーションシステムにおいて、安全に情報を伝達することができることを保証する。
【0012】
本発明の他の態様は、コミュニケーションシステムにおいて、安全に情報を伝達するための方法に関する。このコミュニケーションシステムは、使用の場所にある装置とそれとの情報伝達のためのサーバとを有し、この方法は、それと関連する使用パラメータを有するセッションを行なうため装置からの要求をサーバへ伝達する工程と、第1のキーを第2のキーでサーバにより暗号化する工程と、暗号化された第1のキー及びこのセッションと関連する使用パラメータをサーバから装置へと伝達する工程とを備えている。また、この方法は、暗号化された第1のキーと使用パラメータとを装置で受信する工程と、暗号化した第1のキーを解読する工程とを備え、これにより装置は、使用パラメータに従って解読された第1のキーを使用することにより、コミュニケーションシステムにおいて安全に情報の伝達を行なうことができる。
【0013】
本発明の代表的な実施例は、添付の図面を参照して記載される。
【0014】
【好ましい実施例の詳細な説明】
本発明の好ましい実施例を、図1〜図100を参照して詳細に説明する。図面及びそれに伴う詳細な説明は本発明の範囲を制限することを意図していない。
【0015】
I.情報及び情報のフロー
本発明の概念は図1に記載されている。図1は、3つの構成部材、すなわちインターネット50を介して互いに接続されているサーバコンピュータ100、顧客コンピュータ200及び販売者コンピュータ300を示している。接続はライン105、205及び305により各別に示されている。
【0016】
顧客コンピュータ200は、インターネット50を通じて製品を購入したい個人である顧客ユーザ203のコンピュータを現している(ここで、“製品”は物、サービス、情報、データ等を含んでいる)。顧客コンピュータ200は顧客データベース202及び顧客アプリケーションソフトウェア210を含む。販売者コンピュータ300は、インターネット50を通じて顧客ユーザ203に製品を提供する個人である販売者ユーザ303を現している。販売者コンピュータ300は販売者データベース302及び販売者アプリケーションソフトウェア310を含む。販売者ユーザ303に関する情報は、販売者データベース302中に蓄積される。販売者アプリケーションソフトウェア310は本発明の数々の処理を実行する。
【0017】
以下の詳細な説明は、単一の顧客ユーザ203と単一の販売者ユーザ303を対象として行われているが、本発明は、単一及び複数の顧客ユーザ203と単一及び複数の販売者ユーザ303との間の情報伝達及び取引も意図していることに注意すべきである。
【0018】
サーバコンピュータ100は、後述するように、インターネット50を通して安全に顧客コンピュータ200及び販売者コンピュータ300と情報の伝達ができ、顧客ユーザ203及び販売者ユーザ303の間の取引を行なうことができる。サーバコンピュータ100はサーバデータベース102及びサーバソフトウェア110を含む。サーバコンピュータ100、顧客ユーザ203及び販売者ユーザ303に関する情報は、サーバデータベース102中に蓄積される。サーバソフトウェア110は本発明の数々の処理を実行する。
【0019】
サーバコンピュータ100、顧客コンピュータ200及び販売者コンピュータ300の間の情報の伝達は、好ましくは、インターネット50上で供給されるワールドワイドウェブ(“WWW”)サービスを通じてのハイパーテキストトランスポートプロトコル(“HTTP”)によって行われる。もちろん、他のプロトコル及びネットワークをこの目的のために使用できる。
【0020】
図2は本発明によって行われる一般的な処理を示す。処理はステップ0から始まる。
【0021】
まず第1に、セットアップ処理がステップ1で行われる。このセットアップ処理において、顧客ユーザ203及び販売者ユーザ303(以下、まとめて“クライアント”とも呼ぶ)は、サーバコンピュータ100のデータベース102中にコンフィギュレーションされる。このようにして、クライアントは、サーバコンピュータ100によって認識され、サーバコンピュータ100と情報の伝達が可能となる。顧客データベース202及び販売者データベース302は、また、ステップ1においてコンフィギュレーションされる。
【0022】
オープンセッション処理はステップ2で行われる。一般的に、セッションは、顧客ユーザ203がインターネット50を通して販売者から製品を購入することができる、または、販売者ユーザ303がインターネット50を通して顧客ユーザ203に対して製品を提供することができる、機会(またはウィンドウ)である。顧客ユーザ203及び販売者ユーザ303は、各自が独立したセッションを有している。セッションは限られた期間となる。この期間はパラメータによって管理される。これらのパラメータは、好ましくは、顧客ユーザ203及び販売者ユーザ303によってセットされる。あるいは、サーバコンピュータ100もそのようなパラメータをセットできる。
【0023】
取引/支払処理はステップ3で行われる。このステップにおいて、顧客ユーザ203及び販売者ユーザ303は、価格の合意をみた提供された製品に同意する。顧客ユーザ203は電子キャッシュで製品に対しての支払をする。電子キャッシュは、本発明で使用されるファンド(現金、クレジット、その他)を一例として示すことができる。この電子キャッシュは、顧客ユーザ203によって購入された製品を提供できる販売者ユーザ303によって受け取られる。顧客ユーザ203は、セッションの間、複数の販売者ユーザ303とビジネスを行なうことができる。顧客ユーザ203及び販売者ユーザ303は、ただ単に、ステップ2で形成されたようなセッションの期間中、ビジネスの取引を行なうことができるだけである。
【0024】
クローズセッションはステップ4において本発明中に含まれるであろう。このステップは、ステップ2で形成されたセッションを終了する。
【0025】
本発明で行われた処理はステップ5で終了する。
【0026】
図3を参照して、上述した図2のステップ1から4で記載された処理を、さらに詳しく記載する。まず第1に、ステップ1で行われるセットアップ処理は、ダウンロード及びインストレーション処理400、登録処理401、手段結合処理402及びロード/アンロードファンド処理405を含む。
【0027】
ダウンロード及びインストレーション処理400中、顧客ユーザ203及び販売者ユーザ303の各々は、好ましくはインターネット50上に存在するクライアントアプリケーションソフトウェア153(図1)のコピーをダウンロードしインストールする。顧客コンピュータ200及び販売者コンピュータ300内において、クライアントアプリケーションソフトウェア153のコピーは、顧客アプリケーションソフトウェア210及び販売者アプリケーションソフトウェア310の各々として存在する(販売者アプリケーションソフトウェア310は、販売者コンピュータ300が以下に記載する機能を実行するようにする他のソフトウェアを含む)。周知の技術を使用することで、顧客アプリケーションソフトウェア210及び販売者アプリケーションソフトウェア310は、顧客コンピュータ200及び販売者コンピュータ300の各別のウェブブラウザにリンクされ、必要なブラウザを介してアクセスすることができる。
【0028】
次に、登録処理401で、顧客ユーザ203及び販売者ユーザ303はサーバコンピュータ100とともに登録される。すなわち、顧客ユーザ203及び販売者ユーザ303に対する“個人”がサーバコンピュータ100のデータベース内に構築される。ここに、“個人”は特定のクライアントに関するデータの集合として定義される。すなわち、この登録処理によって、サーバコンピュータ100と共に登録した顧客ユーザ203及び販売者ユーザ303の各々は、サーバコンピュータ100内に彼ら自身の個人を持つ(個人の詳細は後述する)。ある処理(例えば、ファンドのロード、ファンドのアンロード、サーバコンピュータ100に対するあるメッセージの提出)を実行する個人の権利は、メッセージまたはサービスの内容に基づいて可能または不可能となる。
【0029】
図3の手段結合処理403中、クライアント(顧客ユーザ203または販売者ユーザ303)は、クライアントが会計手段を使用できることを確立するための情報をサーバコンピュータ100に伝達する。会計手段はクレジットカード、デビットカード、デマンドデポジットアカウント(“DDAs”)または他の会計手段を含む。結合された手段の発行者または第3者保証人は、クライアントが手段を使用できるかどうかを決定する基準の必要充分な程度をセットすることができる。例えば、クレジットカードを発行する銀行は、クレジットカードを使用するために、クライアントが5桁の郵便番号と母親の旧姓を提出することで充分だと考えている。これらの基準のリストは、例えば、サーバコンピュータ100に供給され、サーバコンピュータ100はクライアントがこれらの基準を満たしていることを確立するためにクライアントとコミュニケーションすることができ、その結果クライアントは会計手段を使用することができる。
【0030】
この処理によってクライアントが手段を使用できることを一旦確立すれば、この手段は登録処理401中に形成されるクライアントの個人に“結合”あるいは関連付けられる。一旦手段が結合されれば、クライアントは以下に記載されるような取引のための手段を使用することができる。
【0031】
ファンドのロード/アンロード処理405が次に議論される。顧客ユーザ203にとって、“ロード”は結合された手段に関連するファンドがそれにより顧客ユーザ203の個人に対し“ロード”(取り込まれる)される処理である。顧客ユーザ203の個人において、ファンドは電子キャッシュとして現される。顧客ユーザ203にとって、“アンロード”は、それにより電子キャッシュが顧客ユーザ203の個人から結合された手段へ“アンロード”(転送)される処理である。販売者ユーザ303にとって、“アンロード”は、それにより電子キャッシュが販売者ユーザ303の個人から結合された手段へ“アンロード”(または伝送)される処理である。販売者ユーザ303にとって、“ロード”は、それにより結合された手段に関連するファンドが販売者ユーザ303の個人に“ロード”される処理である。販売者ユーザ303個人において、ファンドは電子キャッシュとして現される。
【0032】
図2中ステップ2として記載されるオープンセッション処理を、図3のオープンセッション処理407を参考にしてさらに説明する。顧客ユーザ203がセッションを形成すると、顧客ユーザ203は、かれら自身の独立したセッションを個々に形成した一つあるいはそれ以上の販売者ユーザ303とインターネット50を通してビジネスの取引を行なうことができる(もちろん、販売者ユーザ303は、そのように望めば、顧客ユーザ203としても行動することができる)。
【0033】
取引/支払処理409は次に行われる。この処理中、顧客ユーザ203及び販売者ユーザ303は、取引(例えば特別な製品および価格)の要素を交渉したり同意したりすることができる。その後、販売者ユーザ303は、顧客ユーザ203が製品の同意した価格を支払うよう要求することができる。販売者ユーザ303の要求に応じて、顧客ユーザ203は、販売者ユーザ303に、顧客ユーザ203が製品の同意した価格を受け取ることを知らせることができる。販売者ユーザ303が、有効性確認のためにサーバコンピュータ100に対して提出した取引に関する情報を作成することが好ましい。サーバコンピュータ100が取引の有効性を確認すれば、電子キャッシュは顧客ユーザ203の個人から販売者ユーザ303の個人へ転送される。一旦有効性が確認されれば、販売者ユーザ303は製品を顧客ユーザ203へ提供することができる。
【0034】
クローズセッション処理411で、オープンセッション処理407中で作成されたセッションは中断される。顧客ユーザ203(または販売者ユーザ303)がこのセッションを閉じると、サーバコンピュータ100は、顧客ユーザ203(または販売者ユーザ303)が、オープンセッションを持っているが顧客ユーザ203とは異なるオープンセッションである他の販売者ユーザ303(または顧客ユーザ203)とのインターネット50を通してのビジネスの取引をすることを不可能とする。
【0035】
本発明のメッセージのフローを示す図4を参照すると、登録処理401は、メッセージR1(“登録1”)をサーバコンピュータ100に送る顧客コンピュータ200によって実行される。メッセージR1に応じて、サーバコンピュータ100はメッセージR2(“登録2”)を顧客コンピュータ200に送り返す。これらの登録メッセージに含まれる情報は以下に記載される。
【0036】
手段結合処理403中、顧客コンピュータ200はメッセージBI1(“結合手段1”)をサーバコンピュータ100へ送る。メッセージBI1中の情報は、サーバコンピュータ100によって、その手段の発行者または第3者保証人と手段を結合する委任を受けたかを確認するのに使用される。この確認処理も、サーバコンピュータ100と顧客コンピュータ200との間のメッセージ(ここでは、メッセージBI2及びBI3)の交換によって増大する。この例示的メッセージBI2およびBI3は、ここで記述されるその他のメッセージと同様なフォーマットを有している。メッセージBI2の内容は、追加の情報(手段の発行者によって促される)の要求または手段の発行者または第3者保証人によって要求される情報の明瞭化の要求を含む。例えば、メッセージBI2は顧客ユーザ203に顧客ユーザ203の母親の旧姓を求めることができる。メッセージBI3は顧客ユーザ203の応答を含ませることができる。
【0037】
メッセージBI1に反応して、サーバコンピュータ100はメッセージBI4(“結合手段4”)を顧客コンピュータ200に送り返す。これらの結合メッセージに含まれている情報は以下に記載する。以下に続く記載において、メッセージBI1及びBI4は手段結合のための動作メッセージである。
【0038】
ロード/アンロードファンド処理405中、顧客コンピュータ200はメッセージLU1(“ロード/アンロード1”)をサーバコンピュータ100に送る。
メッセージLU1に応じて、サーバコンピュータ100はメッセージLU2(“ロード/アンロード2”)を顧客コンピュータ200へ送り返す。これらのロード/アンロードファンドメッセージに含まれる情報は、以下に説明する。
【0039】
オープンセッション処理407中、顧客コンピュータ200はメッセージOS1(“オープンセッション1”)をサーバコンピュータ100に送る。メッセージOS1に応じて、サーバコンピュータ100はメッセージOS2(“オープンセッション2”)を顧客コンピュータ200へ送り返す。これらのオープンセッションメッセージ中に含まれる情報は以下に説明される。
【0040】
取引/支払処理409中、販売者コンピュータ300はメッセージPR1(“支払要求1”)を顧客コンピュータ200へ送る。メッセージPR1に応じて、顧客コンピュータはメッセージCA1(“キャッシュ支払1”)を販売者コンピュータ300へ送り返す。メッセージCA1を受け取った後、販売者コンピュータはメッセージCA2(“キャッシュ支払2”)をサーバコンピュータ100へ送る。メッセージCA2に応じて、サーバコンピュータ100はメッセージCA3(“キャッシュ支払3”)を販売者コンピュータ300へ送り返す。メッセージCA3に応じて、販売者コンピュータ300はメッセージCA4(“キャッシュ支払4”)を顧客コンピュータ200へ送る。これらの取引/支払メッセージに含まれる情報は後に記述する。
【0041】
オプショナルクローズセッション処理411中、顧客コンピュータ200はメッセージCS1(“クローズセッション1”)をサーバコンピュータ100に送る。メッセージCS1に応じて、サーバコンピュータ100はメッセージCS2(“クローズセッション2”)を顧客コンピュータ200へ送る。これらのクローズセッションメッセージに含まれる情報は後に記述する。
【0042】
図4が、顧客コンピュータ200とサーバコンピュータ100との間に通過するメッセージR1/R2、BI1/BI4、LU1/LU2、OS1/OS2及びCS1/CS2を示していることに注意する必要がある。販売者ユーザ303は、これらの同じメッセージが販売者コンピュータ300とサーバコンピュータ100との間にも流れるようにする。その後、販売者ユーザ303は、それとは異なるとの記載がない限り、顧客ユーザ203と同じ方法で、登録処理401、手段結合処理403、ロード/アンロードファンド処理405、オープンセッション処理407及びクローズセッション処理411を実行する。販売者ユーザ303の場合は、これらの処理と関連するデータは、サーバコンピュータ100内に含まれる販売者データベース及び販売者データ構造に対応して操作される。
【0043】
本発明の好ましい実施例で使用されるデータベース及びデータ構造を次に記載する。
【0044】
II.データベース
図1に記載されているように、サーバコンピュータ100、顧客コンピュータ200及び販売者コンピュータ300は、各々データベース102、202及び302を含む。データベース102、202及び302の以下の説明は特定のデータ構造及びフォーマットに関するものであるが、当業者においてはそのような特定のデータ構造及びフォーマットは本発明において重要ではないとともに本発明の一要素ではないことが理解されよう。従って、データ構造及びフォーマットに対するいかなる変形も付加されたクレームの範囲内に含まれるものである。
【0045】
応答メッセージが各別の顧客コンピュータ200及び販売者コンピュータ300によって受け取られた時に、値がデータベース202及び302中に蓄積されることが好ましい。しかしながら、より厳密には、そのような応答メッセージの受領に先立ち値が蓄積されるように記載される。
【0046】
A.サーバデータベース102
サーバデータベース102は、サーバコンピュータ100が顧客コンピュータ102及び販売者コンピュータ300との間の取引を伝達し処理することを可能にするデータを蓄積する。図5はサーバデータベース102の一般的な構造を示す。
【0047】
図5に示すように、サーバデータベース102は、サーバ個人データ構造120、サーバセッションデータ構造130、メッセージログデータ構造140、メッセージデータ構造150、パブリックキーデータ構造160及びアプリケーションデータ構造170を含む。これらのデータ構造の各々をこれから詳細に記述する。
【0048】
1.サーバ個人データ構造120
サーバ個人データ構造120は、サーバコンピュータ100とともに登録された顧客ユーザ203及び販売者ユーザ303の領域に関するデータを蓄積する。
図6を参照すると、個人データ構造120は一つまたはそれ以上の顧客個人120.1を含む。顧客個人120.1はフィールド120A−120Hを有するように記録されることが好適である。サーバ個人データ構造120は各別に登録した顧客ユーザ203に対し顧客個人120.1を含んでいる。顧客個人120.1の領域について記載する。
【0049】
領域120Aは顧客ユーザ203に対する個人のIDを蓄積する。個人のIDは特定の顧客ユーザ203を識別するものである。システムの安全性を向上させるため、サーバデータベース102は顧客ユーザ203に対する認識可能な情報を蓄積しない。例えば、顧客ユーザ203の実際の名前及び住所はサーバデータ102中には蓄積しない。逆に、個人IDは識別のために使用される。この個人ID領域は、パブリックキー領域120C(後述)に蓄積された情報が顧客ユーザ203と関連するレコードを位置させるために使用することができる点で選択的なものである。個人IDはパブリックキーよりも短いため、この目的のために個人IDを使用することはより効率的であり好ましい。
【0050】
領域120Bは顧客ユーザ203のEメールアドレスを含んでいる。領域120BのEメールアドレスを使用することにより、サーバコンピュータ100はインターネット50を通じて顧客ユーザ203にEメールを送ることができる。
【0051】
領域120Cは顧客個人120.1に対するRSAパブリックキーを蓄積する。以下に詳細に記載するように、領域120CのRSAパブリックキーは顧客アプリケーションソフトウェア210によって生成される。領域120CのRSAパブリックキーはRSAパブリック/プライベートキーペアのパブリック要素である。顧客コンピュータ200に対するRSAパブリック及びプライベートキーの両者は、以下に記載されるように、顧客コンピュータ200に蓄積される。好ましい実施例において、RSAキーは768ビットの長さである。この長さは、(より長いキーを使用して達成される)安全性をより増大する目的と(より短いキーを使用して達成される)処理コストを減らす目的との間のバランスを反映している。プロセッサの能力は将来増大するため、より長いRSAキーをシステムの能力を妥協することなく安全性を高めるために使用することができるであろう。
【0052】
もしRSAパブリックキーが適切な証明機関によって証明中に含まれているのであれば、証明からのキーはパブリックキーの場所で使用され、個人ID領域120Aはもはや上述したように任意のものではなくなる。証明に基づくシステムは先行技術において良く知られており、ここでは記載しない。
【0053】
顧客ユーザ203がサーバコンピュータ100とともに登録した日付は、領域120Dに蓄積される。領域120Dの日付は、プロモーションの開始(例えば、もしあなたがこの日付よりも前に登録していれば、その後プロモーションを行なうように)を許可し、議論の解決に寄与する。
【0054】
領域120Eは顧客ユーザ203にとって好ましいコミュニケーション言語を含む。
【0055】
領域120Fは顧客ユーザ203に対しオートクローズパスフレーズを蓄積する。オートクローズパスフレーズは、顧客ユーザ203が以下に記載する特定の状況下において顧客個人120.1をクローズすることを許可するパスフレーズである。
【0056】
データ120Gは、図7に示した領域120G.1−120G.4を含むデータ構成を示している。領域120G.1−120G.4は、顧客ユーザ203によって確立される各キャッシュコンテナのデータを蓄積する。キャッシュコンテナは電子キャッシュを貯める。複数のキャッシュコンテナを、例えば顧客ユーザ203がビジネスの取引を行おうとする通貨毎に一つといったように、使用することを考えている。
【0057】
領域120G.1−120G.4を、ここで、図7を参照にして詳細に説明する。
【0058】
領域120G.1は、領域120G.2および/または120G.3に蓄積された電子ファンドの量に相関する通貨を蓄積する。
【0059】
領域120G.2はキャッシュコンテナの使用可能残高を蓄積する。
【0060】
領域120G.3はキャッシュコンテナの現在持っている残高を蓄積する。
【0061】
領域120G.2および/または120G.3に蓄積された電子キャッシュは、好ましくは代理人の銀行口座へ預金される(ファンドがある当事者によって他の当事者の利益のために保持される銀行預金の形)。この代理人の銀行口座の口座番号は、領域120G.4に蓄積される。
【0062】
データ120Hは、図8に示した領域120H.1−120H.28を含むデータ構造を示す。領域120H.1−120H.28は、顧客個人120.1と結合した手段のためのデータを蓄積する。サーバ個人データ構造120は、顧客個人120.1と結合した各手段のための領域120H.1−120H.28のセットを蓄積する。領域120H.1−120H.28を、ここで、図8を参照して詳細に説明する。
【0063】
領域120H.1は、領域120A(図6)の個人IDを蓄積する。領域120H.1の個人IDは、領域120H.1−120H.28に蓄積されたデータを有する手段が結合した個人120.1を示す。
【0064】
領域120H.2は、結合した手段の手段のタイプを含む。手段のタイプは、好ましくは、銀行口座、デビットカード及びクレジットカードを含む。
【0065】
領域120H.3は、結合した手段の手段サブタイプを蓄積する。手段のサブタイプは、手段タイプのサブ分類(例えば、手段タイプクレジットカードに対するVISAのような)を蓄積する。
【0066】
顧客ユーザ203は、その個人120.1を登録する際に、“オートクローズ”機能を使用するかどうか選択することができる。オートクローズ機能は、顧客ユーザ203が、顧客個人120.1をクローズするための(以下に記述する)パスフレーズを提供すること、および個人と関連するすべての電子キャッシュをオートクローズ手段にアンロードすることを可能にする。もし、結合された手段がオートクローズ手段であれば、領域120H.4は結合した手段のための手段番号を含む。手段番号は手段を識別するものである。手段番号は蓄積する前に暗号化されることが好ましい。あるいは、手段番号は、サーバコンピュータ100と接続していない別個の蓄積装置にセーブすることができる。もし、結合した手段がオートクローズ手段でなければ、手段番号は領域120H.9(以下に記載する)を計算するために使用され、手段番号は領域120H.4に蓄積されない。
【0067】
結合された手段は、結合した手段をさらに認識するための第2の番号、例えばアメリカンエキスプレスCIDまたはUS−DDAアカウントR/T番号のような番号を持つこともできる。ここで手段サブ番号と呼ぶそのような第2の番号は、領域120H.5に蓄積される。
【0068】
銀行口座は単一の通貨で作成される。銀行口座手段のその国の通貨は領域120H.6に蓄積される。
【0069】
領域120H.7は、法律上の同意を示す一つあるいはそれ以上の整数を蓄積する。好ましい実施例において、サーバコンピュータ100のオペレータは、顧客ユーザ203が結合した手段に特定の操作を行なうために、どのような法律上の同意が顧客ユーザ203によってなされているのかを確認する。
【0070】
領域120H.8は手段プリフィックスを含む。領域120H.8の手段プリフィックスは、領域120H.4を参照して記載した手段番号のサブセットである。好ましい実施例において(クレジットカード、デビットカード、銀行口座のための)、領域120H.8の手段プリフィックスは、領域120H.4の手段番号の最初の2桁と最後の4桁である。
【0071】
領域120H.9は、好ましくは領域120H.4を参照して記載した手段番号のMD5ハッシュからなる手段ハッシュ値を蓄積する(この出願において使用される“ハッシュ”という用語は、代数ハッシュのような他の数学的ハッシュ関数とは別の暗号化されたハッシュのことを意味する)。ハッシュによって表現された手段番号は、好ましくは、ハッシング前に顧客コンピュータ200によってサーバコンピュータ100に対して生成され供給されたランダム番号(そのような番号は“ソルト”として一般に参照される)とともに手段番号を連結することにより、推測することを大変難しくされている。手段ソルトは、以下に議論される手段結合データ構造230の領域230Qに蓄積される。領域120H.9の手段ハッシュは、サーバコンピュータ100に蓄積されるべき手段番号を必要とせずに、手段番号を確認するために使用される。この方法は、盗みや悪者の目標としてのサーバコンピュータ100の魅力を少なくする。
【0072】
領域120H.10は、“BIN”または銀行のID番号のような結合された手段の発行者の確認番号を含む。
【0073】
もし、結合された手段がオートクローズ手段として使用されたならば、領域120H.11及び120H.12は結合された手段の所有者の名前及び住所を含む。この情報は蓄積される前に暗号化されることが好ましい。あるいは、手段番号はサーバコンピュータ100と接続されていない別の蓄積装置中にセーブすることもできる。
【0074】
領域120H.13及び120H.14は、それぞれ、結合された手段が結合された日付及び最初に使用された日付を蓄積する。
【0075】
領域120H.15は結合された手段のステータスを蓄積する。ステータス領域120H.15の内容は、結合された手段に依存する。例えば、DDAを結合するために、顧客ユーザ203は、フォームにサインして、サーバコンピュータ100のオペレータが自動化された確認所(“ACH”)とともに予備通知(“プリノート”)処理を始めることを許可することを要求される場合もある。サインされたフォームまたはプリノートに対する応答を受け取る前に、サーバコンピュータ100は結合が“形成”されたことを示すこともできる。サインされたフォームを受け取ることによって、ステータス領域120H.15は“継続中のプリノート”を含むことができる。もしプリノートがサインされたフォームよりも前に送られてきたならば、領域150H.15は“継続中の署名”を含むことできる。もし両者を受け取ったか受け取ることが可能ならば、領域120H.15は“使用可能”を含むことができる。もしいずれかに問題があるか、あるいはもしいずれかの要求を受け取るための規定の時間が過ぎた場合は、領域120H.15は“使用不可能”を含むことができる。領域120H.15は、また、もし手段が実質的に使用不能だと判断したならば(例えば、銀行によって口座が止められている場合)、“使用不可能”を含むことができる。他の結合された手段のステータスは、手段のタイプと特別のタイプの手段を結合するのに必要なステップに依存する。もちろん、プリノート処理はオンラインで行われる。
【0076】
領域120H.16は、結合された手段が販売取引のために使用可能かどうかを示すフラグである。販売取引は、デビットカードの使用と同様に、顧客個人120.1が結合した手段を直接使用して何かのために支払いするのに使用される操作である。
【0077】
もし領域120H.16が結合した手段が販売取引のために使用可能であることを示していれば、顧客ユーザ203の選択した(その国の)通貨の限度が領域120H.17に蓄積される。もしその国の通貨が存在しなければ、120H.17の販売取引限度はUSドルで蓄積される。特別の値を、結合された手段のための販売取引の限度が無いことを示すために使用することができる。この特別の値は、この領域が受け入れることのできる値のセット以内でなければどのような値でもかまわない。例えば、もし領域120H.17の限界が正の数で表現されていれば、特別な値は負の数とすることができる。
【0078】
領域120H.18は、結合された手段がクレジット/リターン取引に使用可能かどうかを示すフラグである。クレジット/リターン取引は、販売者が、最初に同意した製品を提供する代わりに顧客個人を信用する操作である。
【0079】
もし領域120H.18が、結合された手段がクレジット/リターン取引のために使用可能であることを示していれば、クレジット/リターン取引毎の顧客ユーザ203の選択したその国の通貨の限度が、領域120H.19に蓄積される。もしその国の通貨が存在しなければ、領域120H.19のクレジット/リターン取引の限度はUSドルとなる。上述したように、特別の値を、結合された手段のためのクレジット/リターン取引の限度が無いことを示すために使用することができる。
【0080】
領域120H.20は、結合された手段が上述したロード操作のために使用可能かどうかを示すフラグである。
【0081】
もし領域120H.20が、結合した手段がロード操作のために使用可能であることを示していれば、限度が領域120H.21に蓄積される。領域120H.21のロードキャッシュ取引限度は、その国の通貨における限度を示す。もしその国の通貨が存在しなければ、領域120H.2のロードキャッシュ取引限度はUSドルで表示される。特別な値を、上述したように、結合された手段のためのロードキャッシュ取引限度が無いことを示すために使用することができる。
【0082】
領域120H.22は、結合された手段が上述したアンロード操作のために使用可能かどうかを示すフラグである。
【0083】
もし領域120H.22が、結合した手段がアンロード操作のために使用可能であることを示していれば、キャッシュ取引の限度が領域120H.23に蓄積される。領域120H.23のアンロードキャッシュ取引限度は、その国の通貨における限度を示す。もしその国の通貨が存在しなければ、領域120H.23のアンロードキャッシュ取引限度は、好ましくはUSドルで表示される。特別な値を、上述したように、結合された手段のためのアンロードキャッシュ取引限度が無いことを示すために使用することができる。
【0084】
領域120H.24は、結合した手段が顧客個人120.1のためのオートクローズ結合として指定されているかどうかを示すフラグである。オートクローズ結合は、アンロードキャッシュ取引フラグ(領域120H.22)を使用可能の状態にしなければならない。
【0085】
領域120H.25は、領域120H.17に蓄積された販売取引限度が適用される時間数を蓄積する。
【0086】
領域120H.26は、領域120H.19に蓄積されたクレジット取引限度が適用される時間数を蓄積する。
【0087】
領域120H.27は、領域120H.21に蓄積されたロードキャッシュ取引限度が適用される時間数を蓄積する。
【0088】
領域120H.28は、領域120H.23に蓄積されたアンロードキャッシュ取引限度が適用される時間数を蓄積する。
【0089】
領域120Iは上述した法律的合意を蓄積する。
【0090】
顧客個人120.1の上述した記載が顧客ユーザ203に関するデータに関して効力をもつ一方、販売者ユーザ303がサーバ個人データ構造120内に蓄積された販売者個人120.2を有することに注意する必要がある。販売者個人120.2は図9、10及び11に示されており、ここで領域120AA−120HH、120GG.1−120GG.4及び120HH.1−120HH.28は、図6、7及び8の領域120A−120H、120G.1−120G.4及び120H.1−120H.28に対応している。
【0091】
2.サーバセッションデータ構造130
概要を図5に示すサーバセッションデータ構造130は、セッションと関連するデータを蓄積する。まず顧客ユーザ203についてサーバセッションデータ構造130を説明する。
【0092】
図12を参照すると、サーバセッションデータ構造130は一つまたはそれ以上の顧客セッションレコード130.1を含む。サーバセッションデータ構造130は、顧客ユーザ203の各動作中のセッションに対し一つのレコード130.1を含む。
【0093】
サーバコンピュータ100は特別のセッション確認番号(“セッションID”)によってセッションを確認する。このセッションIDは領域130Aに蓄積される。
【0094】
セッションの間にサーバコンピュータ100と顧客コンピュータ200との間で交換されたメッセージは、暗号化されたデータを含む。領域130Bは、(“セッションキー”として知られている)暗号化のためのキーを含む。領域130Bのセッションキーは、サーバコンピュータ100によって、キーを計算して顧客コンピュータ200から受け取った暗号化されたメッセージを解読するために使用される。
【0095】
領域130Cは、好ましくは8バイト長のセッションソルトを蓄積する。以下に記述するように、セッション中、サーバコンピュータ100、顧客コンピュータ200及び販売者コンピュータ300の間で交換されたメッセージは、デジタル署名を使用して検証されてはいない。その代わりに、セッション中に交換されたメッセージは、上述したセッションキーとセッションソルトの知識により検証される。メッセージの暗号化されていない部分が変更されないことを確実にするため、メッセージはハッシュされ、ハッシュ値はメッセージの暗号化された部分に含まれる。領域130Cのセッションソルトの使用が、ハッシュ値がより安全になることを確実にする。
【0096】
本発明では、顧客ユーザ203は一つまたはそれ以上の通貨でビジネスの取引を行ない得る。領域130Dは、顧客ユーザ203がセッション中使用する通貨の単位(例えば、USドル)を示す。
【0097】
領域130Eは、セッションの開始にあたって顧客ユーザ203が使用可能な(領域130Dの通貨による)電子キャッシュの最大量を表している。
【0098】
領域130Fは、セッション中の特定の時に、ユーザ203が使用可能な(領域130Dの通貨による)電子キャッシュの量を示す。領域130Fの初期値は領域130Eの開設時に蓄積された値である。その後、領域130Fの現在値は、130Fの前回の値からセッション中製品のために使用した量を引くことによって決定される。
【0099】
領域130Gは、セッションが発生した日付と時間を示す。領域130Hは、セッションが実際に終了した日付と時間を示す。
【0100】
領域130Iは、サーバコンピュータ100が認識する顧客コンピュータ200による領域130Bのセッションキーの使用の最大回数(キー使用リミット)を示している。
【0101】
領域130Jは、領域130Bのセッションキーが有効な時間の長さ(キー寿命)を示している。
【0102】
領域130Kは、顧客ユーザ203の個人IDを蓄積する。セッションが個人120.1と関連するのは、領域130Kの個人IDを通してである。
【0103】
領域130Lは、領域130AのセッションIDと関連するセッションのステータスを蓄積する。このステータスは、“オープン”または“クローズド”のいずれかである。
【0104】
領域130Mは、領域130AのセッションIDと関連するセッションを記載するため顧客ユーザ203によって与えられるオプショナルな文字列(メモ)を蓄積する。領域130Mは、セッションの開始の時に顧客ユーザ203によって与えられる文字列と、セッションの終了時に与えられる文字列とを含むこともできる。
【0105】
取引データ130Nは、領域130N.1−130N.5を備えている。領域130AのセッションIDによって確認されたセッションの間に顧客ユーザ203によって行われる各取引に対して、図13に示す領域130N.1−130N.5が維持される。そのような取引の最大回数は、領域130Iに蓄積されたキー使用限度と同じである。領域130N.1−130N.5を、以下に図13を参照して詳細に記載する。
【0106】
領域130N.1は、特別の取引に対して顧客ユーザ203が支払った総金額を含む。
【0107】
領域130N.2は、領域130Aに蓄積されていたセッションIDを蓄積する。
【0108】
領域130N.3は、特定のオーダーを確認するため販売者コンピュータ300によって発生されるオーダー確認番号(“オーダーID”)を蓄積する。
【0109】
領域130N.4は、そこから特定の取引と関連して製品を購入した販売者303のセッションIDを蓄積する。
【0110】
領域130N.5は、特定の取引に対して顧客コンピュータ200が割り当てたインデックス値を蓄積する。このインデックス値は領域130Iで確立されたキー使用限度の範囲内でなければならない。顧客個人120.1によって実行される取引を、それらが実行された順にサーバコンピュータ100によって受け取ることができないため、インデックス値は、許可されたインデックス値のビットマップのような方法で蓄積され、これにより、サーバコンピュータ100が、許可されたインデックス値が使用されたのかどうかを決定し、適切な行動を次に起こすことができる。
【0111】
サーバセッションデータ構造130、顧客セッションレコード130.1の上述した記載は、顧客ユーザ203に関するデータに対して効力を有するのに対し、販売者ユーザ303はサーバセッションデータ構造130に蓄積された対応するデータを有することに注意する必要がある。そのような販売者セッションレコード130.2は図14及び15に示され、ここで領域130AAー130NNが領域130A−130Nに対応し、領域130NN.1−130NN.5が領域130N.1−130N.5に対応している。
【0112】
3.メッセージログデータ構造140
メッセージログデータ構造140(図5)は、サーバコンピュータ100によって受け取られ送られたメッセージを追跡する。これにより、サーバコンピュータ100は、重複したメッセージを認識し適切に対応することができる。重複したメッセージは、インターネット50を通しての予測できないコミュニケーションの下で、クライアントとサーバコンピュータ100との間の一致した状態を確実にするために使用される。例えば、有効なメッセージの重複に対しても、オリジナルの回答と同様の回答を行なう。しかしながら、サーバコンピュータ100は、重複したメッセージの処理を重複してすることはない。メッセージログデータ構造140のレコード140.1を、以下に図16を参照して記載する。
【0113】
領域140Aは、サーバコンピュータ100によって受け取られたメッセージ中に含まれる個人IDを含む。
【0114】
領域140Bは、サーバコンピュータ100によって受け取られたメッセージCA2(後に記載する)中に含まれるセッション番号を含む。サーバコンピュータ100によって受けたられた他のすべてのメッセージに対し、この領域は好ましくは零値である。
【0115】
領域140Cは、サーバコンピュータ100によって受け取られたメッセージR1、BI1、LU1、OS1またはCS1(後に記載する)中に含まれる取引番号を含む。サーバコンピュータ100によって受け取られるいずれのメッセージCA2に対しても、この領域は好ましくは零値である。
【0116】
領域140Dは、サーバコンピュータ100によって受け取られたメッセージCA2の中に含まれるインデックスを含む。サーバコンピュータ100によって受け取られた他のすべてのメッセージに対し、この領域は好ましくは零値である。
【0117】
領域140Eは、領域140A−140Dと関連するサーバコンピュータ100によって受け取られた(着信する)メッセージのハッシュまたはコピーを含む。
【0118】
領域140Fは、領域140Eにセーブされたメッセージに応答してサーバコンピュータ100によって送られたメッセージのコピーを含む。
【0119】
4.メッセージデータ構造150
メッセージデータ構造150(図5)は、本発明で使用されるメッセージのフォーマットや内容をタイプおよびバージョンによって示すテンプレートを含む。
例えば、特定のメッセージは、サポートされたバージョンの一つまたはそれ以上の顧客アプリケーションソフトウェア210または販売者アプリケーションソフトウェア310の間において異なるものとなり得る。メッセージがサーバコンピュータ100によって受け取られた時、そのメッセージはそのメッセージのためのテンプレートと比較される。後に記載するように、もしメッセージがテンプレートに合わないと、エラーメッセージがメッセージの送付者に返される。
【0120】
5.プライベートキーデータ構造160
プライベートキーデータ構造160は、サポートされたバージョンの顧客アプリケーションソフトウェア210または販売者アプリケーションソフトウェア310で使用される、サーバコンピュータ100のRSAパブリック/プライベートキーのペアのリストを保持する。後に記載するように、サーバコンピュータに送られた暗号化されたメッセージは、サーバコンピュータ100に、サーバコンピュータ100のどのRSAパブリックキーがメッセージを暗号化するために顧客アプリケーションソフトウェア210または販売者アプリケーションソフトウェア310によって使用されたのかを知らせるポインターを含む。このようにして、サーバコンピュータ100は、暗号化されたメッセージを解読するための対応するRSAプライベートキーを見つけることができる。
【0121】
6.アプリケーションデータ構造170
アプリケーションデータ構造170は、存在するバージョンの顧客アプリケーションソフトウェア210及び販売者アプリケーションソフトウェア310に追随する。アプリケーションデータ構造170は、また、顧客アプリケーションソフトウェア210または販売者アプリケーションソフトウェア310の更新が可能または必要かどうかを決定するために使用される。例えば、サーバコンピュータ100は、顧客コンピュータ200に、顧客アプリケーションソフトウェア210が現在のバージョンではないが使用できることを、またはこのソフトウェアがもはや使用できず交換しなければならないことをアドバイスすることができる。
【0122】
B.顧客データベース202
図17は顧客データベース202の一般的な構成を示す。顧客データベース202は、顧客アプリケーションデータ構造215、顧客個人データ構造220、顧客手段結合データ構造230、顧客セッションデータ構造240、顧客継続取引データ構造250、顧客ログデータ構造260、メッセージテンプレートデータ構造270及び顧客キャッシュデータ構造280を含む。これらのデータ構造の各々を以下に詳細に記載する。
【0123】
1.顧客アプリケーションデータ構造215
顧客アプリケーションデータ構造215は、サーバコンピュータ100に関するデータを蓄積する。図18を参照すると、顧客アプリケーションデータ構造215はそこに詳細に示されたレコード215.1を含む。
【0124】
領域215Aは、サーバコンピュータ100のためのRSAパブリックキーを含む。領域215AのRSAパブリックキーは、顧客コンピュータ200からサーバコンピュータ100へ送られるメッセージ中のデータを暗号化するために顧客コンピュータ200によって使用される。
【0125】
領域215Bは、サーバコンピュータ100に対するユニフォームリソースロケータ(“URL”)を蓄積する。領域215のURLは、インターネット50のワールドワイドウェブ上のサーバコンピュータ100のアドレスである。
【0126】
顧客アプリケーションデータ構造215及びレコード215.1の上述した記述は、顧客ユーザ203に関するデータに関して有効なものであるが、販売者ユーザ303は、図39に示す販売者アプリケーションデータ構造315に蓄積された対応するデータを有することに注意する必要がある。販売者レコード315.1は図39に示されており、ここで領域315A−315Bは領域215A−215Bに対応する。
【0127】
2.顧客個人データ構造220
顧客個人データ構造220は顧客ユーザ203に関するデータを蓄積する。図19を参照すると、顧客個人データ構造220は、そこに詳細に示されているようにレコード220.1を含む。
【0128】
領域220A−220Cは、領域120A−120C(図6)に対応し、これらと同様の情報を含む。
【0129】
領域220Dは、顧客ユーザ203に対するオートクローズパスフレーズを蓄積する。オートクローズパスフレーズは、顧客ユーザ203が後に記載するある事情で顧客個人120.1を終了させることのできるパスフレーズである。
【0130】
領域220Eは、顧客ユーザ203にとって好ましいコミュニケーションのための言語を含む。
【0131】
顧客ユーザ203のデフォルト状態の名前及び住所は、領域220Fに蓄積される。デフォルト状態の名前及び住所は、その顧客個人120.1が領域220Aの個人IDによって示される個人の名前及び住所である。領域220Fのデフォルト状態の名前及び住所は、要求された時にそのような情報を提供する機能を有する。
【0132】
領域220Gは、例えばコミュニケーションの選択(例えば、秒単位のタイムアウトレンジ)、警報の選択(例えば、取引のオフラインを送る際および/またはログオンする際に警報を示すこと)、および安全の選択(例えば、支払い操作の前にパスフレーズを求めること)等の好ましい顧客アプリケーションソフトウェア210のセッティング(オプション)を保有する。
【0133】
領域220Hは、顧客個人120.1に対するRSAプライベートキーを蓄積する。領域220HのRSAプライベートキーは、サーバデータベース102に蓄積された領域120CのRSAパブリックキーと対の関係になっている。
【0134】
キャッシュコンテナデータ220Iは、図37に示す領域280A−280Cを表す。
【0135】
手段結合220Jは、図20に示す領域230A−230Sを表す。
【0136】
領域220Kは、領域220Dに蓄積されたオートクローズパスワードと相関するオートクローズアカウント番号を保有する。
【0137】
領域220Lは、法律的合意を表す一つあるいはそれ以上の整数を蓄積する。
好ましい実施例において、サーバコンピュータ100のオペレータは、顧客ユーザ203が個人を創造するために、どのような法律的合意に顧客ユーザ203が同意しなければならないかを決定する。
【0138】
動作中のセッションデータ220Mは、領域240A−240Kを表す。
【0139】
継続ログデータ220Nは、継続ログデータ構造250のレコード251−256を表す。
【0140】
取引ログデータ220Oは、取引ログデータ構造260のレコード261−267を表す。
【0141】
顧客個人データ構造220及びレコード220.1の上述した記載は、顧客ユーザ203に関するデータに対して有効なものであるが、販売者ユーザ303は、図40に示す販売者個人データ構造320に蓄積された対応するデータを有することに注意する必要がある。販売者レコード320.1は図40に示され、ここで領域320A−320Oは領域220A−220Oに対応している。
【0142】
3.顧客手段結合データ構造230
顧客手段結合データ構造230は、結合された手段に関する顧客コンピュータ200における情報を保有する。図20を参照すると、顧客手段結合データ構造230は、一つまたはそれ以上のレコード230.1を含む。顧客データベース202は、顧客個人120.1に対し結合された各手段に対して一つのレコード230.1を有する。顧客手段結合データ構造230の詳細なレコード230.1は図20に示されている。ここで各領域は以下の通りである。
【0143】
領域230Aは、手段番号を蓄積する。
【0144】
領域230Bは、結合された手段の説明を含む。
【0145】
領域230C−230Jは、それぞれ、結合された手段の保有者の名前、国、郵便番号、国コード、地域コード、電話番号を表す。
【0146】
領域230Kは、結合された手段に関連付けられたデフォルト状態の通貨を蓄積する。
【0147】
領域230L−230Oは、結合された手段が、販売取引、クレジット返還取引、アンロード及びロード操作に対し使用可能かどうかを示すフラグである。領域230L−230Oは、それぞれ、領域120H.16、120H.18、120H.22及び120H.20に対応する(図8)。
【0148】
領域230Pは結合された手段のステータスを含んでいる。この領域230Pの結合ステータスは図8の領域120H.15の結合ステータスに相当する。
【0149】
領域230Qは、結合された手段に対するソルトを蓄積する。領域230Qのソルトは、顧客アプリケーションソフトウェア210によって発生するランダム番号を表す。上述したように、サーバによって、領域120H.9に蓄積される手段ハッシュ値の結果をより強力にするために使用される。
【0150】
領域230Rは、結合された手段と関連するある情報を蓄積し、“手段再起動データ”として参照される。この再起動データは、顧客アプリケーションソフトウェア210によって、手段が結合された時にサーバコンピュータ100により確認されたラベル値ペアのセットを再構成するために使用されるデータ文字列である。この領域は、再起動データと関連した手段の使用を要求する操作中において、顧客コンピュータ200によってサーバコンピュータ100に戻される。このようにして、サーバコンピュータ100は、そのデータ構造にその情報を蓄積すること無しに、必要に応じて手段に関する情報を受け取ることができる。再起動データ中に含まれる特定のラベル値ペアは、結合された手段のタイプ及び手段の発行者の要求に依存する。例えば、クレジットカードは、カードがファンドを個人120.1にロードするために使用されるたびにサーバへ戻すべき、カード番号、カード使用期限、カード所有者の名前及び住所を要求する。再起動データは、顧客アプリケーションソフトウェア210が正しいラベル値ペアフォーマットでこの情報を戻すことを許可するデータを有する。
【0151】
領域230Sは、領域120H.7(図8)に対応し、法律的合意に関する領域120H.7(図8)と同じ情報を蓄積する。
【0152】
顧客手段結合データ構造230及びレコード230.1の上述した記載は、顧客ユーザ203に関するデータに関して有効であるが、販売者ユーザ303は、図41に示す販売者個人データ構造330に蓄積された対応するデータを有することに注意する必要がある。販売者レコード330.1は図41に示され、ここで領域330A−330Sは領域230A−230Sに対応する。
【0153】
4.顧客セッションデータ構造240
顧客セッションデータ構造240は、セッションに関する顧客コンピュータ200における情報を維持する。図21を参照すると、顧客セッションデータ構造240は、一つまたはそれ以上のレコード240.1を含む。顧客セッションデータ構造240は、顧客ユーザ203の動作中のセッションの各々に対し一つのレコード240.1を含む。顧客セッションデータ構造240の詳細なレコード240.1を図21に示す。
【0154】
領域240A−240Fは、領域130A−130F(図12)に対応し、セッションに関して領域130A−130F(図12)と同様の情報を含む。領域240Gは、セッション中に顧客コンピュータ200によって使用された最後のインデックスを含む。領域240Hは、領域130Mと同様の情報を含む。領域240J−240Kは、それぞれ、領域130I−130Jと同様のデータを含む。
【0155】
顧客セッションデータ構造240及びレコード240.1の上述した記載は、顧客ユーザ203に関するデータに対して効力を有する一方、販売者ユーザ303は、図42に示す販売者個人データ構造340に蓄積された対応するデータを有することに注意する必要がある。販売者レコード340.1は図42に示され、ここで領域340A−340Kは領域240A−240K(図21)に対応する。
【0156】
5.顧客継続取引データ構造250
顧客継続取引データ構造250は、(1)顧客コンピュータ200から送られてきたメッセージを作成するために必要なデータ及び(2)顧客コンピュータ200から送られてきた各メッセージのコピーを蓄積する。図22を参照すると、顧客継続取引データ構造250は、以下のレコードを含む:継続中の個人登録/更新個人情報251、継続中のリンク/更新財務手段結合252、継続中のキャッシュ支払い253、継続中のロード/アンロードファンド254、継続中のオープンセッションレコード255及び継続中のクローズセッションレコード256。各レコード251−256を、以下に図23−28を参照にして詳細に記載する。継続中のレコード251−256は、顧客ユーザ203が反対しない限り、顧客コンピュータ200から回答メッセージを受領するとともに消去することが好ましい。
【0157】
a.継続中の個人登録/更新個人情報レコード251
継続中の個人登録/更新個人情報レコード251は、それによって個人ユーザ203が顧客個人120.1を創造する処理に関するデータを蓄積する。図23を参照して、レコード251を詳細に示す。
【0158】
領域251Aは、実行される動作のタイプ(取引タイプ)を表すコードを示す。例えば、領域251Aは、ユーザ203が個人120.1を作成したことを示すコード“創造”を含むことができる。もし、個人120.1がすでに存在しており、実行する動作をその個人と関連して何か変更したいならば、領域251はコード“変更”を含むことができる。
【0159】
領域251Bは、取引番号、すなわち、特別の行動を示す特別の番号を蓄積する。領域251Bの取引番号は、クライアントアプリケーションソフトウェア210によって発生する。領域251Bの取引番号は、サーバコンピュータ100が関連した返事のメッセージを送ることを許可する。取引番号は特別の番号で形成されているため、領域251Bの取引番号は、サーバコンピュータ100がメッセージR1が重複したメッセージかどうかを決定することを許可する。
【0160】
領域251Cは、メッセージR1が組み込まれてサーバコンピュータ100に送られた日付と時間を表している。
【0161】
領域251Dは、メッセージR1を組み込むために使用されたアプリケーションソフトウェア210のバージョンを蓄積する。後に記述するように、領域251Dのソフトウェアバージョン番号は、顧客アプリケーションソフトウェア210が時代遅れになったかどうかを決定するために使用される。
【0162】
領域251Eは、領域220E(図18)に対応する顧客ユーザ203のための好ましい言語を含む。
【0163】
領域251Fは、領域240D(図21)に対応する顧客ユーザ203のための好ましい通貨を含む。
【0164】
領域251Gは、顧客ユーザ203によって要求された個人IDを蓄積する。
領域251Gの要求された個人IDは、顧客ユーザ203に最終的に割り当てられた個人IDと同じでない場合があることに注意する必要がある。例えば、サーバコンピュータ100は、もしそれが他の顧客ユーザ203によってすでに使用中であれば、領域251Gの要求された個人IDを拒絶することができる。
【0165】
領域251Hは、領域220B(図19)に対応する顧客ユーザ203のEメールアドレスを含む。
【0166】
領域251Iは、領域120F(図6)に対応するオートクローズフレーズを含む。
【0167】
領域251Jは、顧客コンピュータ200からサーバコンピュータ100へ送られたオリジナルメッセージR1のコピーであるオリジナル取引文字列を蓄積する。
【0168】
b.継続中のリンク/更新手段レコード252
継続中のリンク/更新レコード252は、それにより顧客ユーザ203が、顧客個人120.1に手段を結合するか、あるいは存在する手段の結合を更新するかに関するデータを蓄積する。図24を参照して、レコード252を詳細に示す。
【0169】
領域252Aは、実行される動作のタイプ(取引タイプ)を表すコードを示す。例えば、領域252Aは、ユーザ203が手段を顧客個人120.1にリンクしていることを示すコード“リンク”を含むことができる。もし、実行された動作が、すでにその個人とリンクしている手段と連動する何かを変更すべきであるならば、領域252Aはコード“更新”を含むことができる。
【0170】
領域252B−252Dは、図23の領域251B−251Dに対応し、図23の領域251B−251Dと同様の情報を蓄積する。これらの領域は、それぞれ、取引番号、取引の日付及び時間、ソフトウェアのバージョンに関する。
【0171】
領域252Eは、領域220A(図18)に対応する顧客ユーザ203の個人IDを含む。
【0172】
領域252Fは、個人120.1と結合された手段の数を蓄積する。
【0173】
領域252Gは、例えばアメリカンエクスプレスカードの顧客確認番号のような、結合された手段を使用するために必要な追加的顧客確認情報を蓄積する。
【0174】
領域252Hは、結合された手段が発行される個人の名前を蓄積する。
【0175】
領域252Iは、結合された手段の満了日を蓄積する。
【0176】
領域252J−252Qは、それぞれ、結合された手段が発行される個人の、街区番号、市、州、郵便番号、国、国番号、エリア番号、電話番号を蓄積する。
【0177】
領域252Rは、結合された手段の顧客ユーザ203が選択した記載を含む。
【0178】
手段再起動データ領域252Sは、結合された手段に関する領域230Rに蓄積された情報を蓄積する。
【0179】
領域252Tは、例えばVISA、アメリカンエクスプレス等の結合された手段のタイプを蓄積する。
【0180】
領域252Uは、顧客コンピュータ200によって作成されたランダム番号のソルトを含む。領域252Uのソルトは、サーバ100で維持された手段番号ハッシュをさらに強力にするために使用される。
【0181】
領域252Vは、もしセットされれば、手段がオートクローズアカウントの手段であることを示すフラグを蓄積する。
【0182】
領域252Wは、顧客コンピュータ200からサーバコンピュータ100へ送られたオリジナルメッセージBI1のコピーであるオリジナル取引文字列を蓄積する。
【0183】
c.継続中のキャッシュ支払いレコード253
継続中のキャッシュ支払いレコード253は、キャッシュ支払いを含む取引に関するデータを蓄積する。図25を参照して、レコード253を詳細に示す。
【0184】
領域253Aは、実行される動作のタイプ(取引タイプ)を表すコードを示す。例えば、もしセッションが始まっていれば、領域254Aは、顧客ユーザ203がメッセージCA1(後に記載する)を送っていることを示すコード“キャッシュ支払い”を示すことができる。
【0185】
領域253B−253Dは、領域251B−251D(図23)に対応し、領域251B−251D(図23)と同じ情報を蓄積する。これらの領域は、それぞれ、取引番号、取引の日付及び時間、ソフトウェアのバージョンに関する。
【0186】
領域253Eは、領域220A(図19)に対応する顧客ユーザ203の個人IDを含む。
【0187】
領域253Fは、オーダー確認番号(“オーダーID”)を蓄積する。領域253FのオーダーIDは、特別のオーダーを確認するために販売者コンピュータ300によって作成される。
【0188】
領域253Gは、販売者ユーザ303の個人ID120AA(図9)を含む。
【0189】
領域253Hは、顧客ユーザ203がその取引の対象物である製品に対し支払う電子キャッシュの総額を蓄積する。
【0190】
領域253Iは、この特別の取引を記載するメモを作成したオプショナル顧客ユーザ203に対する位置を提供する。
【0191】
領域253Jは、顧客ユーザ203が直接のキャッシュ支払いを希望する際の販売者コンピュータ300のURLを含む。顧客アプリケーションソフトウェア210は、メッセージCA1の形式で直接のキャッシュ支払い要求を販売者コンピュータ300さらにはサーバコンピュータ100に伝えるために、URL領域253Jを使用する。
【0192】
領域253Kは、現在の取引が行われている間セッションのセッションIDを蓄積する。
【0193】
領域253Lは、現在の取引と連動するインデックスを蓄積する。
【0194】
領域253Mは、顧客コンピュータ200によって、販売者コンピュータ300を介して、サーバコンピュータ100に送られたメッセージCA1のコピーであるオリジナル取引文字列を蓄積する。
【0195】
領域253Nは、顧客ユーザ203が取引のキャンセルを希望する際の販売者コンピュータ300のURLを含んでいる。顧客アプリケーションソフトウェア210はメッセージCA1の形式で取引要求をキャンセルするためにURL領域253Nを使用する。
【0196】
領域253Oは、顧客ユーザ203による取引のキャンセルが成功したことを表示するための販売者コンピュータ300のURLを含んでいる。顧客アプリケーションソフトウェア210はメッセージCA4の形式でキャンセルの成功を表示するためにURL領域253Oを使用する。
【0197】
領域253Pは取引の失敗を表示するための販売者コンピュータ300のURLを蓄積する。顧客アプリケーションソフトウェア210はメッセージCA4の形式で取引の失敗を表示するためにURL領域253Pを使用する。
【0198】
d.継続中のロード/アンロードファンドレコード254
継続中のロード/アンロードファンドレコード254は、電子キャッシュのロード及びアンロードを含む取引に関するデータを蓄積する。図26を参照して、レコード254を詳細に示す。
【0199】
領域254Aは、実行される動作のタイプ(取引タイプ)を表すコードを示す。例えば、領域254Aは、顧客ユーザ203が、領域254Fで特定される手段からレコード280.1のキャッシュコンテナ領域280Bへファンドを“転送”することを示すコード“ロード”を含むことができる。あるいは、領域254Aは、顧客ユーザ203が、キャッシュコンテナ領域280Bから領域254Fで特定される手段へ電子キャッシュを転送することを示すコード“アンロード”を含むことができる。
【0200】
領域254B−254Dは、領域251B−251D(図23)に対応し、領域251B−251D(図23)と同様の情報を蓄積する。これらの領域は、それぞれ、取引番号、取引の日付及び時間、ソフトウェアのバージョンに関する。
【0201】
領域254Eは、領域220A(図19)に対応する顧客ユーザ203の個人IDを含む。
【0202】
領域254Fは、そこからファンドがロードされるか、またはそこへファンドがアンロードされる結合された手段を特定するアカウント番号を蓄積する。
【0203】
領域254Gは、手段からロードすべき、または手段へアンロードすべきファンドの総額を蓄積する。
【0204】
領域254Hは、そこからファンドがロードされるか、またはそこへファンドがアンロードされるアカウントのタイプを蓄積する。
【0205】
領域251Iは、顧客コンピュータ200によってサーバコンピュータ100へ送られたメッセージLU1のコピーであるオリジナル取引文字列を蓄積する。
【0206】
e.継続中のオープンセッションレコード255
継続中のセッションレコード255は、それにより顧客ユーザ203がセッションを作成する処理に関するデータを蓄積する。図27を参照して、レコード255を詳細に示す。
【0207】
領域255Aは、実行される動作のタイプ(取引タイプ)を表すコードを示す。例えば、領域255Aは、顧客ユーザ203がセッションを作成していることを示すコード“オープンセッション”を含むことができる。
【0208】
領域255B−255Dは、領域251B−251D(図23)と対応し、領域251B−251D(図23)と同様の情報を蓄積する。これらの領域は、それぞれ、取引番号、取引の日付及び時間、ソフトウェアのバージョンに関する。
【0209】
領域255Eは、領域220A(図19)に対応する顧客ユーザ203の個人IDを含む。
【0210】
領域255Fは、セッション中に使用可能な電子キャッシュの総額を蓄積する。
【0211】
領域255Gは、顧客ユーザ203がセッション中に要求することのできる最大の取引回数(キー使用リミット)を表す値を蓄積する。
【0212】
領域255Hは、セッションがオープン状態にある最大の時間数(キー寿命)を表す値を蓄積する。
【0213】
領域255Iは、顧客ユーザ203によってエンターされたセッションのオプショナル記載のテキストを蓄積する。
【0214】
領域255Jは、領域255Fに蓄積された総額と連動する通貨を蓄積する。
【0215】
領域255Kは、顧客コンピュータ200によってサーバコンピュータ100へ送られたメッセージOS1のコピーであるオリジナル取引文字列を蓄積する。
【0216】
f.継続中のクローズセッションレコード256
継続中のクローズセッションレコード256は、それにより顧客ユーザ203がセッションを終了する処理に関するデータを蓄積する。図28を参照して、レコード256を詳細に示す。
【0217】
領域256Aは、実行される動作のタイプを表すコードを示す。例えば、領域256Aは、顧客ユーザ203がセッションを終了することを示すコード“クローズセッション”を含むことができる。
【0218】
領域256B−256Dは、領域251B−251D(図23)に対応し、領域251B−251D(図23)と同様の情報を蓄積する。これらの領域は、それぞれ、取引番号、取引の日付及び時間、ソフトウェアのバージョンに関する。
【0219】
領域256Eは、領域220A(図19)に対応する顧客ユーザ203の個人IDを含む。
【0220】
領域256Fは、“イエス”または“ノー”のいずれかを含む。領域256Fの値は、顧客ユーザ203が、顧客ユーザ203が終了しようとしているセッション中に行った取引のログの受取を選択したがどうかを決定する。
【0221】
領域256Gは、終了しようとする現在動作中のセッションのセッションIDを蓄積する。あるいは、もしすべての現在動作中のセッションを終了したいならば、領域256Gは零値である。
【0222】
領域256Hは、顧客ユーザ203によってエンターされたセッションの終了に関するオプショナル説明のテキストを蓄積する。
【0223】
領域256Iは、顧客コンピュータ200によってサーバコンピュータ100に送られたメッセージCS1のコピーであるオリジナル取引文字列を蓄積する。
【0224】
6.顧客ログデータ構造260
図17を参照すると、顧客ログデータ構造260は、顧客コンピュータ200によって受け取られた各メッセージのコピーを維持する。顧客ログデータ構造260は、顧客コンピュータ200によってサーバコンピュータ100から受け取ったデータを蓄積する。図29を参照すると、顧客ログデータ構造260は、以下のレコードを含む:個人登録/更新個人情報の応答261、リンク/更新財務手段結合の応答262、キャッシュ支払いの応答263、ロード/アンロードファンドの応答264、オープンセッションの応答265、支払い要求266、クローズセッションの応答267。各レコード261−267を、以下に図30−37を参照して詳細に記載する。
【0225】
a.個人登録/更新応答の個人情報レコード261
個人登録/更新個人情報レコード261は、顧客ユーザ203による顧客個人120.1を創造するための要求に対するサーバコンピュータ100の応答に関するデータを蓄積する。図30を参照して、レコード261を詳細に示す。
【0226】
領域261Aは、要求された動作のタイプを示し、レコード251の領域251Aの値と同じである。領域261Bは、251Bに蓄積された値と同じ取引番号を蓄積する。
【0227】
領域261Cは、メッセージR1がサーバコンピュータ100に組み込まれ送られた日付及び時間を表す。
【0228】
後に議論するように、顧客コンピュータ200からサーバコンピュータ100へのメッセージは、メッセージを作成するのに使用した顧客アプリケーションソフトウェア210のバージョン番号を含むコードを運ぶ。サーバコンピュータ100において、各ソフトウェアのバージョンは、3つの“ステータス”ラベル:現在、注意、致命的のうちの一つと連動する。サーバコンピュータ100は、顧客のメッセージで報告されたソフトウェアのバージョンをチェックし、その応答メッセージの中に3つの可能性のあるステータスラベルのうちの一つを含ます。
メッセージR2で戻されたステータスラベルは、ソフトウェアセビリティ領域261Dに蓄積される。ソフトウェアセビリティ領域261Dの内容に関するテキストメッセージは、サーバコンピュータ100によって戻すこともでき、その場合は領域261Eに蓄積される。
【0229】
メッセージR1が成功したかあるいは失敗したかを示すコードがサーバコンピュータ100によって返信され応答コードフィールド261F内に蓄積される。
応答コードフィールド261Fの内容に関するテキストメッセージがサーバコンピュータ100によって伝送された場合、領域261Gに蓄積される。
【0230】
領域261Hは、顧客ユーザ203によって要求された個人IDを蓄積する。
後に記載するように、もし要求された個人IDが使用中であれば、サーバコンピュータ100は顧客ユーザ203に個人IDを提案する。サーバコンピュータ100によって提案された個人IDは、領域261Iに蓄積される。
【0231】
領域261Jは、領域220B(図19)に対応する顧客ユーザ203のEメールアドレスを含む。
【0232】
領域261Kは、領域220E(図19)に対応する顧客ユーザ203にとって好ましい言語を含む。
【0233】
領域261Lは、領域240D(図21)に対応する顧客ユーザ203にとって好ましい通貨を含む。
【0234】
b.リンク/更新応答手段レコード262
リンク/更新手段レコード262は、サーバコンピュータ100による、手段を顧客個人120.1に結合する要求に対する応答に関するデータを蓄積する。
図31を参照して、レコード262を詳細に示す。
【0235】
領域262Aは、要求された動作のタイプ(取引タイプ)を示し、レコード252の領域252Aの値と同じである。
【0236】
領域262B−262Gは、図30の領域261B−261Gに対応し、図30の領域261B−261Gと同様の情報を蓄積する。これらの領域は、それぞれ、取引の日付及び時間、ソフトウェアセビリティコード、ソフトウェアメッセージ、応答コード、応答メッセージに関連する。
【0237】
領域262Hは、領域220A(図19)に対応する顧客ユーザ203の個人IDを含む。
【0238】
領域262Iは、顧客個人120.1に結合された手段の数を蓄積する。領域262Jは、顧客個人120.1に結合された例えば、VISA、アメリカンエキスプレス等の手段のタイプを蓄積する。
【0239】
領域262Kは、例えばアメリカンエクスプレスカード顧客識別番号等の、結合された手段を使用するために必要な顧客識別情報を蓄積する。
【0240】
領域262Lは、結合された手段が発行された個人(顧客)の名前を蓄積する。
【0241】
領域262Mは、結合された手段の満了日を蓄積する。
【0242】
領域262N−262Uは、それぞれ、結合された手段が発行された個人の街区番号、市、州、郵便コード、国、国コード、エリアコード、電話番号を蓄積する。
【0243】
領域262Vは、顧客ユーザ203によって入力されたものとして結合された手段を説明するテキストを蓄積する。
【0244】
領域262Wは、もし何かがサーバコンピュータ100によって戻された手段と連動するならば、その国の通貨を蓄積する。
【0245】
領域262Xは、サーバコンピュータ100によって戻された手段の発行者の名前を蓄積する。
【0246】
領域262Yは、手段の発行の国を蓄積する。
【0247】
領域262Zは、もしセットされれば、手段がオートクローズアカウント手段であることを示すフラグを蓄積する。
【0248】
c.キャッシュ支払い応答レコード263
キャッシュ支払い応答レコード263は、キャッシュ支払い及びセッションを含む取引に関するデータを蓄積する。図32を参照して、レコード263を詳細に示す。
【0249】
領域263Aは、要求された動作のタイプ(取引タイプ)を示し、レコード253の領域253Aの値と同じである。
【0250】
領域263B−263Eは、図30の領域261B−261C及び261F−261Gと同様の情報を蓄積する。これらの領域は、それぞれ、取引番号、日付及び時間、応答コード、応答メッセージに関連する。
【0251】
領域263Fは、領域220A(図19)と対応する顧客ユーザ203の個人IDを含む。
【0252】
領域263Gは、オーダー確認番号(“オーダーID”)を蓄積する。領域263GのオーダーIDは、販売者コンピュータ300によって特別のオーダーを確認するために発生される。
【0253】
領域263Hは、販売者ユーザ303の個人ID120AAを含む。
【0254】
領域263Iは、販売者ユーザ303からのメッセージを蓄積する位置を提供する。
【0255】
領域263Jは、現在の取引の対象である製品に対し顧客ユーザ203が支払う電子キャッシュの総額を蓄積する。
【0256】
領域263Kは、メモを作成したオプショナル顧客ユーザ203に対する位置を提供する。
【0257】
領域263Lは、現在の取引が行われている間セッションのセッションIDを蓄積する。
【0258】
領域263Mは、現在の取引と連動するインデックスを蓄積する。
【0259】
d.ロード/アンロードファンド応答レコード264
ロード/アンロードファンド応答レコード264は、顧客ユーザ203によるファンドをロードするためのあるいはアンロードするための要求に対するサーバコンピュータ100の応答に関するデータを蓄積する。図33を参照して、レコード264を詳細に示す。
【0260】
領域264Aは、要求された動作のタイプ(取引タイプ)を示し、レコード254の領域254Aの値と同じである。
【0261】
領域264B−264Gは、図30の領域261B−261Gに対応し、図30の領域261B−261Gと同様の情報を蓄積する。これらの領域は、それぞれ、取引の日付及び時間、ソフトウェアセビリティコード、ソフトウェアメッセージ、応答コード、応答メッセージに関連する。
【0262】
領域264Hは、領域220A(図19)に対応する顧客ユーザ203の個人IDを含む。
【0263】
領域264Iは、そこから電子キャッシュがロードされるべき、あるいはそこへ電子キャッシュがアンロードされるべき結合された手段を確認するためのアカウント番号を蓄積する。
【0264】
領域264Jは、結合された手段へロードすべきあるいはそこからアンロードされるべき電子キャッシュの総額を蓄積する。
【0265】
領域264Kは、顧客個人120.1からロードまたはアンロードするためにサーバコンピュータ100の操作によって払われたいずれかの料金の総額を蓄積する。
【0266】
領域264Lは、領域120G.2(図7)に蓄積された値に対応する、サーバコンピュータ100によって決定された顧客個人120.1によって保持されるファンドの使用可能な残高と同じ額を蓄積する。
【0267】
領域264Mは、すでにロード(またはアンロード)されたが、顧客ユーザ203に対し使用可能となっていないファンドの総額を蓄積する。これらのファンドは、領域120G.3(図7)に蓄積された値に対応し、処理を待つ状態にある。
【0268】
e.オープンセッション応答レコード265
オープンセッション応答レコード265は、顧客ユーザ203によるセッションを作成するための要求に対するサーバコンピュータ100の応答に関するデータを蓄積する。図34を参照して、レコード265を詳細に示す。
【0269】
領域265Aは、要求された動作のタイプ(取引タイプ)を示し、レコード255の領域255Aの値と同じである。
【0270】
領域265B−265Gは、図30の領域261B−261Gに対応し、図30の領域261B−261Gと同様の情報を蓄積する。これらの領域は、それぞれ、取引の日付及び時間、ソフトウェアセビリティコード、ソフトウェアメッセージ、応答コード、応答メッセージと関連している。
【0271】
領域265Hは、図19の領域220Aに対応する顧客ユーザ203の個人IDを含む。
【0272】
領域265Iは、セッション中に使用可能な電子キャッシュの総額を蓄積する。
【0273】
領域265Jは、顧客ユーザ203がセッション中に要求できる取引の最大回数(キー使用リミット)を表す値を蓄積する。
【0274】
領域265Kは、セッションがオープン状態で続く最大の時間(キー寿命)を表す値を蓄積する。
【0275】
領域265Lは、セッションID番号を蓄積する。
【0276】
領域265Mは、顧客ユーザ203によってエンターされオープンされたセッションのオプショナル記述のテキストを蓄積する。
【0277】
領域265Nは、セッションを作成するためにサーバコンピュータ100の操作によって課金されたいずれかの料金の額を蓄積する。
【0278】
領域260Oは、総額領域265Iの値が引かれた後、キャッシュコンテナ(領域120G.2)に残る使用可能な残高を蓄積する。
【0279】
f.支払要求レコード266
支払い要求レコード266は、製品の支払いについての販売者ユーザ203からの要求に関連するデータを蓄積する。この要求は、販売者コンピュータ300から顧客コンピュータ200へ送られるメッセージPR1(後に記述する)の形式で行われる。図35を参照して、レコード266を詳細に示す。
【0280】
領域266Aは、販売者ユーザ303の個人ID120AAを含む。
【0281】
領域266Bは、オーダー確認番号(“オーダーID”)を蓄積する。領域266BのオーダーIDは、特別のオーダーを確認するために販売者コンピュータ300によって発生される。
【0282】
領域266Cは、現在の取引の対象である製品に対し顧客ユーザ203が支払う電子ファンドの総額を蓄積する。
【0283】
領域266Dは、支払いのために販売者203によって受け入れられるクレジットカードのリストを蓄積する。
【0284】
領域266Eは、販売者ユーザ303からのメッセージ(ノート)を記憶する位置を提供する。
【0285】
領域266Fは、URLに対する支払いを蓄積する。ラベル値ペア5013Iの値は、インターネット50上のユニフォームリソースロケータである。ラベル値ペア5013Iのインターネット50上のURLは、そこへ顧客コンピュータ200が後に記載するメッセージCA1を送るインターネット50上のアドレスである。
【0286】
g.クローズセッション応答レコード267
クローズセション応答レコード267は、顧客ユーザ203によるセッションを終了する要求に対するサーバコンピュータ100の応答に関するデータを蓄積する。図36を参照して、レコード267を詳細に示す。
【0287】
領域267Aは、要求された動作のタイプ(取引タイプ)を示し、レコード256の領域256Aの値と同じである。
【0288】
領域267B−267Gは、図30の領域261B−261Gに対応し、図30の領域261B−261Gと同様の情報を蓄積する。これらの領域は、それぞれ、取引の日付及び時間、ソフトウェアセビリティコード、ソフトウェアメッセージ、応答コード、応答メッセージに関連する。
【0289】
領域267Hは、領域220A(図19)に対応する顧客ユーザ203の個人IDを蓄積する。
【0290】
領域267Iは、すべての支払い及び料金を差し引いた後、セッションを終了した後にセッション中に残る電子キャッシュの額を蓄積する。
【0291】
領域267Jは、メッセージCS1で顧客ユーザ203により要求された場合に、サーバコンピュータ100によって戻される取引ログを蓄積する。これは、また、取引ログを戻すかどうかをも示す。
【0292】
領域267Kは、セッションを終了するためにサーバコンピュータ100によって支払われたいずれかの料金の額を蓄積する。
【0293】
7.メッセージテンプレートデータ構造270
図17を参照すると、メッセージテンプレートデータ構造270は、顧客ユーザ203が送ったり受け取ったメッセージのフォーマットや内容の跡を追う。メッセージテンプレートデータ構造270を参照して決定された(例えば、シンタックス等の)有効な値を持つすべての要求されたラベルを含むメッセージは、たとえ関係の無いラベル値ペアが存在していたとしても、処理される。すべての要求されたラベル値ペアを含まない、または、メッセージテンプレートデータ構造270を参照して決定された無効の値と連動するラベルを含むメッセージは、作成に失敗する。
【0294】
メッセージテンプレート270の上述した記述は、顧客ユーザ203に関するデータに対して効力を有する一方、販売者ユーザ303は、図38に示すメッセージテンプレート380に蓄積された対応するデータを有することに注意する必要がある。
【0295】
8.キャッシュコンテナデータ構造280
顧客キャッシュコンテナデータ構造280は、顧客コンピュータ200でキャッシュコンテナに関する情報を維持する。図37を参照すると、キャッシュコンテナデータ構造280は、顧客ユーザ203によって創設された各キャッシュコンテナに対し一つのレコード280.1を含む。顧客キャッシュコンテナデータ構造280の詳細なレコード280.1は、図37に示されている。
【0296】
領域280A−280Cは、領域120G.1−120G.3(図7)に対応し、領域120G.1−120G.3(図7)と同様のキャッシュコンテナに関する情報を含む。
【0297】
顧客キャッシュコンテナデータ構造280及びレコード280.1の上述した記載は、顧客ユーザ203に関するデータに対して効力を有する一方、販売者ユーザ303は、図43に示す販売者キャッシュコンテナデータ構造345に蓄積された対応するデータを有することに注意する必要がある。販売者レコード345.1は、図43に示され、ここで領域345A−345Cは領域280A−280C(図37)に対応する。
【0298】
C.販売者データベース305
販売者コンピュータ300のデータベース305を次に記載する。
【0299】
図38は、販売者コンピュータ300の販売者データベース302の一般的な構造を示す。図38は、販売者アプリケーションデータ構造315(すでに記載した)、販売者個人データ構造320(すてに記載した)、販売者手段結合データ構造330(すでに記載した)、販売者セッションデータ構造340(すでに記載した)、販売者総額データ構造350、販売者販売セッションデータ構造360、販売者キャッシュログ370、メッセージテンプレートデータ構造380(すでに記載した)、販売者キャッシュコンテナデータ構造345(すでに記載した)を示す。データ構造350、360及び370を以下に記載する。
【0300】
1.販売者総額データ構造350
販売者総額データ構造350は、販売者ユーザ303がオーダーに対し顧客ユーザ203から受け取ることを期待する電子キャッシュの総額の跡を追う。図44を参照して、レコード350を詳細に示す。
【0301】
領域350Aは、図25の領域253Fに対応したオーダーIDを蓄積する。
【0302】
領域350Bは、図25の領域253Hに対応した電子キャッシュの総額(取引総額)を蓄積する。
【0303】
領域350Cは、オーダーが顧客ユーザ203によって支払われたかどうかを示すフラグである。
【0304】
2.販売者販売セッションデータ構造360
販売者販売セッションデータ構造360は、販売者ユーザ303のセッションの跡を追う。図45を参照して、レコード360を詳細に示す。
【0305】
領域360A−360Hは、領域340A−340H(図42)に対応する。
領域360J−360Kは、領域340J−340K(図42)に対応する。領域360Gは、セッションID領域360Aで確認された販売者販売セッションがオープンした日付を蓄積する。領域360Hは、そのようなセッションが終了した日付を蓄積する。領域360Iは領域360A内のセッションIDに結合されたセッションのステータスを蓄積する。このステータスは“オープン”または“クローズド”のいずれかである。領域360Lは販売者ユーザ303の個人IDを蓄積する。
【0306】
3.販売者キャッシュログデータ構造370
販売者キャッシュログデータ構造370は、販売者販売セッションデータ構造360が保持していない電子キャッシュの取引及びセッションの跡を追う。特に、販売者キャッシュログデータ構造370は、販売者ユーザ303によって始まったコレクション及びセッションに関するデータを蓄積する。図46を参照して、レコード370を詳細に示す。
【0307】
領域370A−370Mは、販売者コンピュータ300からサーバコンピュータ100に送られたコレクションデータCA2に関するデータを蓄積する。これらの領域を以下に詳細に記載する。
【0308】
領域370Aは、実行された動作のタイプを示す。この場合、領域370Aに蓄積されたタイプは“コレクション”である。
【0309】
領域370Bは、現在のコレクション要求のステータスを蓄積する。領域370Bのステータスは、“試行”、“成功”または“失敗”を含むことができる。
ラベル“試行”は、要求がサーバコンピュータ100に送られたが何の応答も受け取ることができなかった時に、戻される。もし、要求がサーバコンピュータ100によって処理され、コレクション要求が履行されれば、領域370Bはラベル“成功”を含むであろう。もし、サーバコンピュータ100が要求を否定したら、領域370Bはラベル“失敗”を含むであろうし、領域370Mはそのような失敗の理由を確認するためのコードを含むであろう。
【0310】
領域370Cは、オーダー確認番号(“オーダーID”)を蓄積する。領域370CのオーダーIDは、特別なオーダーを確認するために販売者コンピュータ300によって発生される。
【0311】
領域370Dは、現在のコレクション要求中に顧客コンピュータ200によって使用された領域240AのセッションIDを蓄積する。
【0312】
領域370Eは、現在のコレクション要求中に顧客コンピュータ200によって使用された領域240Gのインデックスを蓄積する。
【0313】
領域370Fは、現在のコレクション要求中に顧客コンピュータ200によって使用された領域240Dの通貨を蓄積する。
【0314】
領域370Gは、現在のコレクション要求中に販売者コンピュータ300によって使用された領域340AのセションIDを蓄積する。
【0315】
領域370Hは、現在のコレクション要求中に販売者コンピュータ300によって使用されたラベル値ペア5213Dのインデックスを蓄積する。
【0316】
領域370Iは、現在のコレクション要求中に販売者コンピュータ100によって使用された領域340Dの通貨を蓄積する。
【0317】
領域370Jは、現在のコレクション要求中に販売者ユーザ303に支払われるよう要求された電子キャッシュファンドの総額を蓄積する。
【0318】
領域370Kは、現在のコレクションに対し販売者キャッシュコンテナ領域345Bにクレジットされた電子キャッシュの総額を蓄積する。クレジットされた電子キャッシュの総額は、もし領域370Bのステータスが零値であれば、零値である。
【0319】
領域370Lは、現在のコレクション要求(すなわち手数料)を処理するためにサーバコンピュータ100のオペレータに支払われた電子キャッシュファンドの総額を蓄積する。
【0320】
もしステータス領域370Bの内容が“失敗”であれば、領域370Mは結果コードを蓄積する。結果コードは、ステータス領域370Bにレポートされた失敗とメッセージが連動するように販売者アプリケーションソフトウェア310によって使用される。このようにして、領域370Mに戻されたコードは、販売者アプリケーションソフトウェアに、“不十分なファンドのためコレクションは失敗した”とのメッセージを表示させることができる。
【0321】
領域370N−370Tは、販売者コンピュータ300(メッセージOS1)によって始められたセッションに関するデータを蓄積する。これらの領域を以下に詳細に記載する。
【0322】
領域370Nは、実行された動作のタイプを示す。この場合、領域370Nに蓄積されたタイプは“OS”である。
【0323】
領域370Oは、現在のコレクション要求のステータスを蓄積する。領域370Oのステータスは、“試行”、“成功”または“失敗”を含むことができる。
ラベル“試行”は、要求がサーバコンピュータ100に送られたが何の応答も受け取ることができなかった時に、戻される。もし、要求がサーバコンピュータ100によって処理され、コレクション要求が履行されれば、領域370Oはラベル“成功”を含むであろう。もし、サーバコンピュータ100が要求を否定したら、領域370Oはラベル“失敗”を含むであろうし、領域370Tはそのような失敗の理由を確認するためのコードを含むであろう。
【0324】
領域370Pは、取引番号、すなわち、販売者コンピュータ300によって始められた特別なセッションを示す特別の番号を蓄積する。
【0325】
領域370Qは、販売者ユーザ303の要求した現在のセッションが続く総時間(すなわち要求されたセッション持続時間)を蓄積する。
【0326】
領域370Rは、販売者ユーザ303の要求した領域340Jのセッションキーを使用することができる回数(すなわち要求されたセッション数)を蓄積する。
【0327】
もし領域370Oが“成功”ならば、領域370Sは、現在のセッションに対する販売者コンピュータ300のためのセッションIDを蓄積する。
【0328】
もし領域370Oが“失敗”ならば、領域370Tは結果コードを蓄積する。
結果コードは、ステータス領域370Tでレポートされた失敗とメッセージを連動させるように販売者アプリケーションソフトウェア310によって使用される。
【0329】
III.一般的な情報
本発明において使用されるメッセージの好ましいフォーマットを以下に記載する。
【0330】
インターネット50の性質のため、本発明はメッセージ送信の独立したメカニズムを使用し、その結果メッセージはいくつかの異なるプロトコルを使用して送ることができる。これらのプロトコルは、Eメール(簡単なメール送信プロトコル)及びワールドワイドウェブ(ハイパーテキスト送信プロトコル、または、遠隔処理プロトコル(RPC)のような他のプロトコル)を含むことができる。そのため、本発明で使用されるメッセージは、送信プロトコルによらない特別で好ましいフォーマットを有する。特別で好ましいフォーマットは、RFC822に基づいており、このRFC822は先行技術で良く知られているため、ここでは簡単に記載する。
【0331】
図47は、サンプルメッセージ4000のフォーマットを示す。サンプルメッセージ4000は、ヘッダー4005、ボディ4010及びトレイラー4050を含む。ボディ4010は、透明な(暗号化されていない)ラベル値ペア4013A、4013B等を含み、不透明(暗号化された)ラベル値ペア4017を含むこともできる(ラベル値ペアは、ラベルと、ラベルターミネータによって例えば“名前:Brian(ブライアン)”のように分離されたラベルに関するデータとから構成される)。
【0332】
ヘッダー4005は、サンプルメッセージ4000のスタートを定義する。ヘッダー4005は、例えば“サイバーキャッシュ”(本発明の譲受人)のシステムIDや、その中にサンプルメッセージ4000が組み込まれるメッセージプロトコルの番号(“プロトコル番号”)を含むことができる。
【0333】
透明なラベル値ペア4013A、4013B等は、サンプルメッセージ4000と連動するいずれかのクリアな(暗号化されていない)テキストを含む。暗号化及び解読は以下に記載する。
【0334】
不透明なラベル値ペア4017は、ラベル“不透明”を含む。不透明なラベル値ペア4017の値は、暗号化されたデータのブロックである。不透明なラベル値ペア4017の値は、DESキーで暗号化されたラベル値ペアの予め決定されたセットを含む。暗号化後、値は好ましくはベース−64コードである。ラベル値ペアの予め決定されたセットは、ここで、サンプルメッセージの“不透明なセクションの内容”として参照される。セッションの外部から送られた要求メッセージ(R1、BI1、LU1及びCS1)に対し、不透明なラベル値ペア4017の値は、そのDESキーと、サーバコンピュータ100のパブリックRSAキーに基づいて暗号化されたRSAで始まる。RSA暗号化はコンピュータの処理が高価となる。応答メッセージ(R2、BI4、LU2、OS2及びCS2)及びセッション中のメッセージ(CA1、CA2、CA3及びCA4)に対し、不透明なセクションの内容を越えたいかなる付加的な情報をも不透明なラベル値ペア4017の値は必要としないため、RSA暗号化が高価になることを防ぐことができる。不透明なセクションの内容は、長さにおいて変化し、DESキーを使用して暗号化されたデータを表す。
【0335】
トレイラー4050は、サンプルメッセージ4000を終了する。トレイラー4050は、好ましくは、送信チェックサムを含む。領域4050Dのチェックサムが、ヘッダー4005においてすべてが印字可能な文字に対して行われたMD5ハッシュであり、ボディ4010で表すことができることが好ましい。そのため、新しいライン、スペース、タブ、キャリッジリターン等のすべての白いスペースは、チェックサムハッシュから除外される。このようにして、メッセージ送信の正確性を、ゲートウェーのセンシティビティを気にすることなく、また例えばラインターミネータの間隔の変更やタブのスペースへの変更などを気にすることなく、チェックすることができる。
【0336】
本発明で使用される暗号化及び解読技術を以下に記載する。
【0337】
本発明は、好ましくは、データの暗号化及び解読に対しRSA法及びDES法の両者を使用する。そのような方法は先行技術で良く知られている。RSAは、米国特許No.4,405,829に詳細に記載されている。本発明は、好ましくは、安全性、実行時間及び送出制御に関する事情の間のバランスを反映させて、768ビットのRSAキーを使用する。RSAキーのサイズは、高速処理速度を有するハイエンドのコンピュータでは変えることができ、その場合は、顧客のインストレーションがより一般的になり、また送出の要望も緩和される。当業者にとって良く知られているように、他のパブリック/シンメトリックキーシステム(ラビン及びEIガマルのような)を、検証の目的で本発明で使用することもできる。
【0338】
本発明では、デジタル的な署名を情報を検証するために使用する。デジタル的な署名の詳細は、コンピュータの安全性に関する文献で広く議論されている。本発明は、検証のために二つの方法を使用する:すなわちRSA/MD5デジタル署名及び情報を分割使用する知識(例えば、ソルト値および/またはキー値)である。
【0339】
上述したように、本発明はデータのハッシングにも依存している。ハッシュは、好ましくは、“メッセージの合成”に適用されるインターネット公開PFC1321において記載されている良く知られたMD5アルゴリズムを使用して計算される。
【0340】
もし、ラベル値ペアがハッシュ入力において特定されているが、メッセージ中に存在しないならば、ラベル及びラベルターミネータは、好ましくは、ハッシュから除外される。
【0341】
IV.本発明の処理
A.ダウンロード及びインストレーション処理400
図3を参照して先に記載したダウンロード及びインストレーション処理400の間、サーバコンピュータ100のRSAパブリックキーは、顧客アプリケーションデータ構造215の領域215Aに蓄積される。販売者コンピュータ300は、顧客ユーザ203がダウンロード及びインストレーション処理400を使用するのと同様の方法で、ユーザアプリケーションソフトウェア153のコピーを手に入れる。このような場合、ユーザアプリケーションソフトウェア153は、販売者アプリケーションソフトウェア310の要素として販売者コンピュータ300上に存在し、サーバコンピュータ100のRSAパブリックキーは、販売者アプリケーションデータ構造315の領域315Aに蓄積される。
【0342】
B.登録処理401
図48は、ステップ1201で始まる登録処理401を示すフロー図である。
【0343】
ステップ1202において、顧客アプリケーションソフトウェア210は、顧客ユーザ203が顧客ユーザ203に関する情報を入力するように促すまたは要求する。この情報は、サーバコンピュータ100に送られるメッセージR1に含まれ、顧客個人120.1の一部となる。好ましい実施例では、顧客ユーザ203は、コミュニケーションに好ましい言語、取引を行なう通貨、要求した個人ID、Eメールアドレス及びオートクローズパスフレーズを入力する。
【0344】
ステップ1202Aにおいて、顧客アプリケーションソフトウェア210は、顧客コンピュータ200に対しRSAパブリック/プライベートキーペアを発生する。RSAパブリックキーは、顧客個人データ構造220(図19)の領域220Cに蓄積される。RSAプライベートキーは、顧客個人データ構造220(図19)の領域220Hに蓄積される。
【0345】
ステップ1203において、メッセージR1は、図49に示すメッセージ組み込み手続き800に従って組み込まれる。メッセージR1は、顧客コンピュータ200からサーバコンピュータ100へ送られ、ステップ1202で顧客ユーザ203によって入力された情報を含む。メッセージ組み込み手続800を、図49を参照して以下に記載する。
【0346】
メッセージ組み込み手続800は、ステップ801で始まる。ステップ802A−802Bは、図50に示すメッセージR1の透明なラベル値ペア4213A−4213Dを作成する。ステップ802C−813は、図51に示すメッセージR1の不透明セクション内容に基づいて、メッセージR1の透明なラベル値ペア4213A−4213Dを作成する。ステップ814−817は、それぞれメッセージR1の、ヘッダー4205、透明ラベル値ペア4213A−4213D、不透明ラベル値ペア4217及びトレイラー4250を組み込む。
【0347】
ステップ802Aにおいて、顧客アプリケーションソフトウェア210は、メッセージテンプレートデータ構造270(図17)にアクセスし、ラベルのリストを手に入れる。ラベルのリストが連動する値と一致していれば、ラベルのリストがメッセージR1の透明なラベル値ペア4213A−4213Cを作成する。
ステップ802Bにおいて、値は以下に示すように各ラベルと連動する。
【0348】
ラベル値ペア4213Aは、ラベル“取引”を有する。領域4213Aの値は、メッセージR1を特別に確認するクライアントソフトウェア210によって発生された取引番号である。ラベル値ペア4213Aの値は、メッセージR1を受け取ることで、サーバコンピュータ100が、(1)後に記載する連動する応答メッセージR2を送り、(2)メッセージR1が重複したメッセージかどうかを決定(すなわち、サーバコンピュータ100によってすでに受け取られているかどうか)する、ことを許可する。ラベル値ペア4213Aと関連する値は、継続中の個人登録/更新個人情報レコード251(図23)の領域251Bに蓄積される。
【0349】
ラベル値ペア4213Bは、ラベル“日付”を有する。ラベル値ペア4213Bの値は、メッセージR1が、顧客コンピュータ200のクロックに従って、サーバコンピュータ100に組み込まれて送られた日付及び時間を示す。ラベル値ペア4213Bと関連する値は、領域251Cに蓄積される。
【0350】
ラベル値ペア4213Cは、ラベル“サーバキー”を有する。後に記載するように、メッセージR1の不透明なラベル値ペア4217を暗号化するために顧客コンピュータ200によって使用されたDESキー/IVペアは、サーバコンピュータ100のRSAパブリックキーを使用して暗号化される。ラベル値ペア4213Cの値は、サーバプライベートキーデータ構造160(図5)に蓄積された対応するRSAプライベートキーを指し示す。
【0351】
ラベル値ペア4213Dは、ラベル“サービスカテゴリ”を有する。ラベル値ペア4213Dの値は、特別なサービスカテゴリのメッセージを取り扱うサーバコンピュータ100内のプロセッサにメッセージR1を発送するために使用されるラベルである。このオプションは、サーバコンピュータ100の機能として多数のプロセッサ間で分配され、それによりシステムの能力を向上させる。
【0352】
ステップ802Cにおいて、顧客アプリケーションソフトウェア210は、ランダムな128ビット数を作成するために良く知られた技術を使用する。作成されたこの数の最初の64ビットは56ビットDESキーとして取り扱われ、次の64ビットは64ビットイニシャリゼーションベクトル(“IV”)として取り扱われることが好ましい。56ビットDESキーは、各8ビットバイトの無視された最下位のビットを有する64ビット数で表される。この128ビット数は、DESキー/IVペアとして見ることができる。DESキー/IVペアはテンポラリレジスタに蓄積される。
【0353】
次に、ステップ804において、顧客アプリケーションソフトウェア210は、クライアントアプリケーションデータ構造215(図18)の領域215Aから、サーバコンピュータ100のためのRSAパブリックキーを検索する。先に記述したように、サーバコンピュータ100のためのRSAパブリックキーは、好ましくは、長さ768ビットである。もちろん、他の長さのRSAキーを使用することができる。ステップ806において、ステップ804において検索されたRSAパブリックキーは、ステップ802で作成されたDESキー/IVペアを暗号化するために使用される。
【0354】
ステップ807において、顧客アプリケーションソフトウェア210は、ラベルのリストを得るために、メッセージテンプレートデータ構造270(図2B)にアクセスする。ラベルのリストは、関連する値と同じであれば、図51に示すメッセージR1の不透明セクション内容を作成する。ステップ808において、値は以下のように各ラベルと関連する。
【0355】
ラベル値ペア4217Aは、ラベル“タイプ”を有する。ラベル値ペア4217Aの値は、メッセージR1のラベルに効力を持たすメッセージデータ構造270中のレコードを参照する。ラベル値ペア4217Aは、顧客ユーザ203が登録処理を始める際ラベルを発生する顧客アプリケーションソフトウェア210から得ることができる。
【0356】
ラベル値ペア4217Bは、ラベル“サーバデート”を有する。ラベル値ペア4217Bの値は、サーバコンピュータ100のクロックの日付が顧客コンピュータ200の認知によって測定されるように、メッセージR1が組み込まれた時の日付及び時間を示す。
【0357】
ラベル値ペア4217Cは、ラベル“swバージョン”(ソフトウェアバージョン)を有する。ラベル値ペア4217Cの値は、サーバコンピュータ100とコミニュケーションする顧客アプリケーションソフトウェア210のバージョンを示す。ラベル値ペア4217Cは、顧客アプリケーションソフトウェア210に埋め込まれたデータから得られる。ラベル値ペア4217Cと関連する値は、領域251Dに蓄積される。
【0358】
ラベル値ペア4217Dは、ラベル“言語内容”を有する。ラベル値ペア4217Dの値は、顧客ユーザ203にとってコミニュケーションに好ましい言語を示す。ラベル値ペア4217Dの値は、ステップ1202における登録処理401中に顧客ユーザ203から得られる。ラベル値ペア4217Dに関連する値は、領域251Eに蓄積される。
【0359】
ラベル値ペア4217Eは、ラベル“デフォルト状態の通貨”を有する。ラベル値ペア4217Eの値は、顧客ユーザ203によって変えられない限り、顧客ユーザ203の取引が処理されるデフォルト状態の通貨を示す。ラベル値ペア4217Eの値は、図48のステップ1202における登録処理401中に顧客ユーザ203から得られる。ラベル値ペア4217Eに関連する値は、領域251Fに蓄積される。
【0360】
ラベル値ペア4217Fは、ラベル“要求されたID”を有する。ラベル値ペア4217Fの値は、顧客ユーザ203によって要求された個人IDを示す。ラベル値ペア4217Fの値は、図48のステップ1202における登録処理401中に顧客ユーザ203から得られる。ラベル値ペア4217Fに関連する値は、領域251Gに蓄積される。
【0361】
ラベル値ペア4217Gは、ラベル“Eメール”を有する。ラベル値ペア4217Gの値は、顧客ユーザ203に対するEメールアドレスを示す。ラベル値ペア4217Gの値は、図48のステップ1202における登録処理401中に顧客ユーザ203から得られる。ラベル値ペア4217Gと関連する値は、領域251Hに蓄積される。
【0362】
ラベル値ペア4217Hは、ラベル“同意”を有する。ラベル値ペア4217Hの値は、顧客ユーザ203が本発明を使用するために受け入れた法律的な同意を示す。法律的な同意は、図48のステップ1202における顧客ユーザ203に対して存在する。ラベル値ペア4217Hの値は、同意が顧客ユーザ203によって受け入れられ、顧客手段個人データ構造220(図19)の領域220Lに蓄積された時に、発生する。
【0363】
ラベル値ペア4217Iは、ラベル“オートクローズパスフレーズ”を有する。ラベル値ペア4217Iの値は、顧客ユーザ203に対するオートクローズパスフレーズを示す。ラベル値ペア4217Iの値は、図48のステップ1202における登録処理中に顧客ユーザ203によって供給される。ラベル値ペア2417Iに関連する値は、顧客データ構造220の領域220D及び顧客継続データ構造250の領域251Iに蓄積される。
【0364】
ラベル値ペア4217Jは、ラベル“パブキー”を有する。ラベル値ペア4217Jの値は、図48のステップ1202Aにおける登録処理401中に顧客アプリケーションソフトウェア210によって発生された顧客個人120.1に対するRSAパブリックキーを表す。
【0365】
再び図49を参照すると、ステップ810において、図51のラベル値ペア4217Kによって表されるメッセージR1のデジタル署名が発生される。ラベル値ペア4217Kは、ラベル“署名”を有する。ラベル値ペア4217Kの値は、顧客個人120.1のデジタル署名を表す。メッセージR1に対し、ラベル値ペア4217Kの値は、ラベル値ペア4213A−4213C中の印刷可能なUSアスキー文字のハッシュであり、また顧客個人120.1のRSAプライベートキーで暗号化されたアルファベット順に並んだラベル値ペア4217A−4217Jである。顧客個人120.1のRSAプライベートキーは、領域220H(図19)から得られる。
【0366】
ステップ812Aにおいて、ステップ810で発生したラベル値ペア4217Kは、ラベル値ペア4217A−4217Jに付加される。ラベル値ペア4217A−4217Kは、ステップ802Cのテンポラリレジスタに蓄積されたDESキー/IVペアとともに暗号化される。ステップ812Bにおいて、ステップ812Aの結果は、ステップ806で作成したRSAで暗号化したDESキー/IVペアに付加される。
【0367】
ステップ813において、ステップ812Bで組み込まれたデータは、良く知られた技術(好ましくはベース64)を使用して暗号化され、これによりメッセージR1の不透明セクション内容の組み込みを完了する。
【0368】
メッセージR1は、ステップ814−818で組み込まれる。ステップ814で、ヘッダー4205は、顧客メッセージテンプレートデータ構造270(図17)で見つかるメッセージテンプレート及び顧客アプリケーションソフトウェア210に埋め込まれたプロトコルを使用して作成される。
【0369】
次に、ステップ815において、上述した透明ラベル値ペア4213A−4213Cが添付される。
【0370】
ステップ816において、不透明ラベル値ペア4217が付加される。ラベル値ペア4217は、以下の値が暗号化されたデータであることを示すラベル“不透明”を有する。図50に示すラベル値ペア4217の値は、ステップ813で暗号化されたデータを表す。
【0371】
トレーラ4250は、ステップ817で組み込まれる。トレーラ4250のチェックサムは、上述したように、サンプルメッセージ4000に対して計算される。トレーラ4250はメッセージR1に加えられる。ステップ818において、メッセージR1のコピーは、領域251Jにセーブされる。
【0372】
メッセージR1の組み込みはこれで完了する。メッセージ組み込み処理800はステップ819で終了する。
【0373】
再び図48を参照すると、登録処理401はステップ1204において連続している。そこで、顧客コンピュータ200は、メッセージR1をサーバコンピュータ100に送信する。顧客コンピュータ200は、サーバコンピュータ100からの応答メッセージR2を待つ。
【0374】
ステップ1205において、サーバコンピュータ100は、顧客コンピュータ200からメッセージR1を受け取り、サーバメッセージアンラップ処理900を実行することによってメッセージR1をアンラップする。サーバメッセージアンラップ処理900は、以下に図52及び53を参照して記載する。ここでこの処理はステップ901において始まる。
【0375】
ステップ901Aにおいて、メッセージR1のコピーは領域140E(図16)に蓄積される。
【0376】
ステップ902において、サーバソフトウェア110は、メッセージR1のヘッダー4250の領域4205Cからプロトコル番号を抽出する。次に、ステップ902で抽出したプロトコル番号に基づいて、サーバメッセージデータ構造150(図5)にアクセスして、メッセージR1の望ましいフォーマットを決定する。望ましいフォーマットは、メッセージシンタックス(例えば、許可されたライン終了記号)及びメッセージコーディング(例えば、アスキーまたはヘックス)を含むことができる。メッセージR1は、望ましいフォーマットに従って以下のように構文の解析が行われる。
【0377】
ステップ903において、サーバコンピュータ100は、メッセージ組み込み処理800のステップ817で顧客コンピュータ200において使用したものと同じデータを使用してチェックサムを計算する。ステップ904において、ステップ903で計算されたチェックサムは、メッセージR1のトレイラー4250のチェックサム4250Dと比較される。もし、チェックサムが一致しなければ、メッセージR1はステップ904Aで処分され、サーバメッセージアンラップ処理900も中断する。
【0378】
もし、ステップ904においてチェックサムが一致していれば、処理はステップ906Aに続き、メッセージは、それがメッセージアンラップ処理900に対し適切であるかどうかを決定するためにチェックされる。メッセージがラベル“サーバキー”を含めば、メッセージアンラップ処理900は適切である。アンラップ処理900が不適切の場合にサーバコンピュータ100が受け取るメッセージは、ラベル“サーバキー”を含まず、その代わりに、メッセージの透明部分にラベル“タイプ”を含むであろう。そのようなメッセージは、後に記載する他の手段を用いてアンラップされる。メッセージが不適切な場合は、処理はステップ906Bに続き、メッセージは他のアンラップ処理に転換される。メッセージR1が適切である場合、処理はステップ906Cに続き、不透明なラベル値ペア4217の値は解読される。
【0379】
ステップ907において、メッセージ組み込み処理800のステップ806でDESキー/IVペアを暗号化するために顧客コンピュータ200によって使用されたRSAパブリックキーが決定される。これを行うために、サーバソフトウェア110は、ラベル“サーバキー”と関連するラベル値ペア4213Cの値を得る。ラベル値ペア4213Cの値は、ステップ806で顧客コンピュータ200によって使用されたRSAパブリックキーに対応するRSAプライベートキーの要素を蓄積するプライベートキーデータ構造160中の領域に対するポインターである。
【0380】
ステップ909において、ステップ907で決定されたRSAプライベートキーは、RSAで暗号化されたDESキー/IVペアに対応する不透明ラベル値ペア4217の部分を解読するために使用される。このようにして、残りの不透明ラベル値ペア4217を暗号化するために使用されたDESキー/IVペアを得ることができる。ステップ909Aにおいて、DESキー/IVの解読が成功したか失敗したかを決定する。いかなる理由かで解読に失敗した場合は、処理はステップ905に続き、ここで適当なエラーフラグをセットすることが好ましいことがわかり、サーバアンラップ処理900はステップ917で中断する。もし、DESキー/IVペアの解読に成功すれば、処理はステップ910に続く。
【0381】
ステップ910において、ステップ909で得たDESキー/IVペアは、テンポラリレジスタに蓄積される。
【0382】
ステップ911において、ステップ909で得たDESキー/IVペアは、図51のラベル値ペア4217A−4217Kとして表されている不透明なラベル値ペア4217の部分を解読するために使用される。ステップ912において、不透明値ペア4217の解読が成功したのか失敗したのかが決定される。いかなる理由かで解読に失敗した場合は、処理はステップ905に続き、ここで適当なエラーフラグをセットすることが好ましいことがわかり、サーバアンラップ処理900はステップ917で中断する。もし、不透明値ペア4217の解読に成功すれば、処理はステップ913に続く。
【0383】
ステップ913において、メッセージタイプが、ラベル値ペア4217Aを参照することで決定される。例えば、メッセージR1に対するラベル値ペア4217Aの値は、“登録”であろう。
【0384】
以下のステップ914、915及び916で行われるメッセージの3回のチェックを行なうことが好ましい。
【0385】
ステップ914のサーバフォームチェックは、メッセージタイプとソフトウェアバージョンに依存している。すなわち、メッセージの望ましいフォーム及びそれが受け入れられるかどうかのクライテリアは、上述したメッセージタイプ及びバージョンデータ構造150を参照して決定された所定の時間有効であるメッセージ及びメッセージの変更に依存している。最小の場合でも、フォームチェック手続は、受け取ったメッセージがメッセージに対して上述したすべてのラベルを含んでいるかどうか、値を要求する各ラベルに値があるかどうか、及びそれらの値が、タイプ、シンタックス及び要求された値の範囲であるかどうか、を確認することとなる。もしメッセージが解析されたがフォームクライテリアに適合しない場合は、サーバコンピュータ100は、ステップ905でエラーフラグをセットし、メッセージR2(後に記載する)としてエラーコードを戻す。それがサーバコンピュータ100によって解析できないほど変形されたメッセージは、処分されるであろう。もしステップ914のフォームチェックが成功であれば、処理はステップ915に続く。
【0386】
ステップ915において、ラベル値ペア4217Kの値によって表されたデジタル署名が正しいかどうか確認される(署名テストに合格したか?)。まず、第1に、サーバソフトウェア110は、ラベル値ペア4217Jから顧客個人120.1のためのRSAパブリックキーを得る。ラベル値ペア4217Jから得たRSAパブリックキーは、ラベル値ペア4217Kを解読するために使用される。次に、サーバソフトウェア110はメッセージデータ構造150にアクセスし、どのラベル値ペアがラベル値ペア4217Kの値を計算するためにメッセージ組み込み処理800のステップ810でハッシュされたのかを決定する。サーバソフトウェア110は、ステップ810でハッシュされたのと同じラベル値ペアをハッシュする。二つのハッシュ値は比較される。もしハッシュ値が異なれば、適当なエラーフラグがステップ905でセットされる。この場合、サーバメッセージアンラップ処理900はステップ917で中断する。もしハッシュ値が合致すれば、処理はステップ916に続く。
【0387】
ステップ916において、どの顧客アプリケーションソフトウェア210が現在のものかについてのチェックを以下のようにして実施する。サーバソフトウェア100は、ラベル値ペア4217Cの値からメッセージR1を組み込むために使用した顧客アプリケーションソフトウェア210のバージョン番号を得る。得られた値は、顧客アプリケーションソフトウェア210の最も最近にサポートしたバージョン番号と比較される。
【0388】
各バージョンは、3つの“ステータス”ラベルのうちの一つに関連する。もしソフトウェアチェックが“現在”を戻したならば、メッセージR1を構成した顧客アプリケーションソフトウェア210は、使用可能なソフトウェアの最新バージョンである。この場合は、いかなるフラグもセットされず、メッセージアンラップ手続900はステップ917で終了する。もしソフトウェアチェックが“注意”を戻したならば、顧客アプリケーションソフトウェア210のバージョンは、最新のものではないが使用可能と考えられる。この場合は、フラグがステップ905でセットされ、メッセージR2(後に記載する)として顧客ユーザ203に注意メッセージが送られ、メッセージアンラップ手続900はステップ917で終了する。もし顧客アプリケーションソフトウェア210に関するラベルが“致命的”であれば、アプリケーションソフトウェアは使用できず、エラーフラグがステップ905でセットされ、メッセージR2(後に記載する)として顧客ユーザ203にエラーメッセージが送られる。メッセージアンラップ手続900はステップ917で終了する。
【0389】
再び図48を参照すると、処理はステップ1206へ続く。もし、ステップ909A、912、914、915または916のテストのいずれかが、ステップ905でセットされるエラーフラグを起こす原因となっていたならば、エラー処理手続が、ステップ1215でサーバコンピュータ100によって実行される。
ステップ1215におけるエラー処理のレベルは、大抵の場合管理者の決定であるが、チェックサム、署名及びフォームが失敗し、ソフトウェアチェック手続において“致命的”の戻りがあれば、顧客アプリケーションソフトウェア210によって処理できるコードを含むメッセージ及び顧客ユーザ203によって読み取ることができるメッセージを発するようにすることが好ましい。ステップ1215におけるエラー処理手続は、特別のエラーコード(後に応答メッセージR2の背景で記述する)を伴うフラグに関連し、テキストメッセージ(メッセージのデータ構造かシステム管理者から送られたメッセージのいずれか)を作成する必要がある。その後、サーバコンピュータ100は、後に記載するように、エラーコード及びその他の関連するメッセージを送る顧客コンピュータ200に対してと同様に、メッセージR2を送信する。
【0390】
もし、ステップ909A、912、914、915および916のテストが、ステップ905でセットされるエラーフラグを起こす原因になっていなければ、処理はステップ1207に続く。ここで、ラベル値ペア4217Fは、サーバ個人データ構造120に含まれる、すべての販売者個人120.2に対する領域120AA及びすべての顧客個人120.1に対する領域120Aの個人IDと比較される。
【0391】
ステップ1209において、特別の場合には、サーバソフトウェア110は、サーバ個人データ構造120中の新しい個人120.1を作成する。次に、メッセージR1に含まれる情報は、以下のようにして新しい個人120.1に転送される。ラベル値ペア4217F及び2値のチェックコードは、領域120Aの個人IDに割り当てられる。ラベル値ペア4217Gは、Eメールアドレス領域120Bに蓄積される。領域120CのRSAパブリックキーは、ラベル値ペア4217Jの値を受け取る。ラベル値ペア4217Bの値は、領域120Dに割り当てられる。ラベル値ペア4217Dの値は、領域120Eに蓄積される。ラベル値ペア4217Hの値は、領域120Iに蓄積される。ラベル値ペア4217Iの値は、領域120Fに蓄積される。この場合、処理はステップ1217に続く。
【0392】
もし、ラベル値ペア4217Fの値が、ステップ1207においてサーバ個人データ構造120に対して特別のものでなければ、処理はステップ1216に続く。
【0393】
ステップ1216において、提案された個人IDは、ランダムな数をコンピュータで計算し、それを要求されたIDにハイホン無しで付け加えることによって決定される。そのため、“ブライアン”は、“ブライアン15”となる。この場合、処理はステップ1217に続く。
【0394】
ステップ1217において、サーバソフトウェア110は、図54のフロー図に従って、図55−56に示された応答メッセージR2を組み込む。図54は、サーバメッセージ組み込み手続1000を示す。
【0395】
サーバメッセージ組み込み手続1000は、ステップ1001で始まる。ステップ1001A−1001Bは、メッセージR2の透明なラベル値ペア4313を作成する。ステップ1002−1009は、メッセージR2の不透明なラベル値ペア4317を作成する。ステップ1010−1014は、メッセージR2の、ヘッダー4305、透明なラベル値ペア4313A−4313C、不透明なラベル値ペア4317及びトレーラ4350を組み込む。
【0396】
ステップ1001Aにおいて、サーバソフトウェア110は、メッセージデータ構造150(図5)にアクセスし、関連した値と合致した時に、メッセージR2の透明なラベル値ペア4313A−4313Bを作成するラベルのリストを手に入れる(図55)。ステップ1001Bにおいて、値は以下のように各ラベルに関連する。
【0397】
ラベル値ペア4313Aは、ラベル“取引”を有する。ラベル値ペア4313の値は、取引番号である。ラベル値ペア4313Aの値は、ラベル値ペア4213AにおいてメッセージR1として受けとられた値と同様である。
【0398】
ラベル値ペア4313Bは、ラベル“日付”を有する。ラベル値ペア4313Bの値は、ラベル値ペア4213BにおいてメッセージR1として受け取られた値と同様である。
【0399】
ラベル値ペア4313Cは、ラベル“サービスカテゴリ”を有する。ラベル値ペア4313Cの値は、ラベル値ペア4213DにおいてメッセージR1として受け取られた値と同様である。
【0400】
ステップ1002において、サーバソフトウェア110はメッセージテンプレートデータ構造150にアクセスし、関連した値と合致した時に、図56に示すメッセージR2の不透明なセクション内容を作成するラベルのリストを手に入れる。
【0401】
処理はステップ1005に続く。ここで、値はラベルと合致し、図56のラベル値ペア4317A−4317Kを形成する。
【0402】
メッセージR2の不透明なセクション内容は、ラベル値ペア4317Aがラベル“タイプ”を有する図56に示される。ラベル値ペア4317Aは、メッセージR2の不透明なセクション内容のラベルに効力を与えるメッセージデータ構造150中のレコードを参照する。ラベル値ペア4317Aの値は、サーバソフトウェア110から得られる。
【0403】
ラベル値ペア4317Bは、ラベル“サーバ日付”を有する。ラベル値ペア4317Bの値は、メッセージR2がサーバコンピュータ100のクロックに従って組み込まれた日付及び時間を示す。
【0404】
ラベル値ペア4317Cは、ラベル“要求されたID”を有する。ラベル値ペア4317Cの値は、顧客ユーザ203によって要求された個人IDを示す。ラベル値ペア4317Cの値は、メッセージR1においてラベル値ペア4217Fで受け取られる。
【0405】
ラベル値ペア4317Dは、ラベル“応答ID”を有する。ラベル値ペア4317Dの値は、顧客ユーザ203の個人IDを示すか、または、ラベル値ペア4317Cの要求されたIDが重複したならば、提案した個人IDを示す。
【0406】
ラベル値ペア4317Eは、ラベル“Eメール”を有する。ラベル値ペア4317Eの値は、顧客ユーザ203のEメールアドレスを示す。ラベル値ペア4317Eの値は、メッセージR1のラベル値ペア4217Gにおいて受け取られる。
【0407】
ラベル値ペア4317Fは、ラベル“応答コード”を有する。ラベル値ペア4317Fの値は、登録された処理401が成功したか失敗したかを示す。
【0408】
ラベル値ペア4317Gは、ラベル“ファンド待機”を有する。ラベル値ペア4317Gの値は、ラベル値ペア4317E中のEメールアドレスの所有者を待つファンドを保持するメッセージがあるかどうかを示す。あるいは、ラベル値ペアは、そのようなEメールメッセージの数を示すこともできる。いずれのアプローチも、好ましくは登録者がサーバコンピュータ100にファンドの送り手によって与えられるパスワードを含むメッセージを送ることで、登録者がそのようなファンドを手に入れる手段を必要とする。
【0409】
ラベル値ペア4317Hは、ラベル“オートクローズパスフレーズ”を有する。ラベル値ペア4317Hの値は、顧客ユーザ203に対しオートクローズパスフレーズを示す。ラベル値ペア4317Hの値は、メッセージR1のラベル値ペア4217Iにおいて受け取られる。
【0410】
ラベル値ペア4317Iは、ラベル“パブキー”を有する。図55−56に示すラベル値ペア4317Iの値は、メッセージR1のラベル値ペア4217Jにおいて受け取られた顧客個人120.1のRSAパブリックキーを表す。
【0411】
ラベル値ペア4317Jは、ラベル“swセビリティ”(ソフトウェアセビリティ)を有する。ラベル値ペア4317Jの値は、顧客アプリケーションソフトウェア210を更新することが必要かどうかを、まだ使用可能の場合(“警告”)またはもはや使用不能の場合(“致命的”)で示す。ラベル値ペア4317Jの値は、もし顧客アプリケーションソフトウェア210が現在のバージョンであれば、零値である。
【0412】
ラベル値ペア4317Kは、ラベル“swメッセージ”(ソフトウェアメッセージ)を有する。ラベル値ペア4317Kの値は、顧客ユーザ203が“致命的”または“警告”のソフトウェアセビリティの場合にすべきことの指示を示す。
ラベル値ペア4317Kの値は、ラベル値ペア4317Jの値が零値でないときのみ存在する。
【0413】
ラベル値ペア4317Lは、ラベル“メッセージ”を有する。ラベル値ペア4317Lの値は、ラベル値ペア4317Fで戻されたエラーまたは成功状態に関連し、顧客ユーザ203に対して表示される自由なテキストメッセージである。
【0414】
再び図54を参照すると、処理はステップ1007に続く。ここで、図56のラベル値ペア4317A−4317Lは、組み込まれて、ステップ910で解読されたDESキー/IVペアにより暗号化される。
【0415】
ステップ1009において、ステップ1007で暗号化されたラベル値ペア4317A−4317Lは、良く知られた技術(好ましくはベース64)を使用して暗号化される。
【0416】
メッセージR2はステップ1010−1014で組み込まれる。ステップ1010において、ヘッダー4305は、メッセージ及びタイプデータ構造150及び送られてくるメッセージR1からのプロトコル番号を使用して、組み込まれる。
【0417】
次に、ステップ1011において、前述した透明なラベル値ペア4313A及び4313Bが付加される。
【0418】
ステップ1012において、不透明なラベル値ペア4317が付加される。ラベル値ペア4317は、以下に続く値は暗号化されたデータであることを示すラベル“不透明”を有する。ラベル値ペア4317の値は、ステップ1009で暗号化されたデータを表す。
【0419】
トレーラー4350はステップ1013で組み込まれる(形成される)。トレーラー4350のチェックサムは、上述したように、サンプルメッセージ4000に対して計算される。トレーラー4350はメッセージR2に付加される。ステップ1014において、完全なメッセージR2のコピーは、サーバログデータ構造140の領域140Fにセーブされる。
【0420】
メッセージR2の組み込みが、次に行われる。メッセージ組み込み手続き1000は、ステップ1015で終了する。
【0421】
再び図48を参照して、ステップ1218において、メッセージR2はサーバコンピュータ100から顧客コンピュータ200へ送られる(伝送される)。
【0422】
ステップ1219において、顧客コンピュータ200は、サーバコンピュータ100からメッセージR2を受け取るとともに、メッセージアンラップ手続1100を実行することによりメッセージR2をアンラップする。ここで、メッセージアンラップ手続1100が図57を参照しながら説明され、これはステップ1101から開始するものである。
【0423】
ステップ1102において、顧客コンピュータソフトウェア210メッセージR2のヘッダ44305からプロトコル(バージョン)番号を抽出する。次に、ステップ1102で抽出したプロトコル番号に基づき、メッセージテンプレートデータ構造270(図5)にアクセスし、メッセージR2の望ましいフォーマットを決定する。望ましいプロトコルは、メッセージシンタックス(例えば、許可されたライン終了の文字)及びメッセージコーディング(例えば、アスキーまたはヘックス)を含むことができる。メッセージR2は、以下のようにして望ましいフォーマットに従って解析される。
【0424】
ステップ1103において、顧客コンピュータ200は、サーバメッセージ組み込み手続1000のステップ1013でサーバコンピュータ100によって使用されたものと同じデータを使用してチェックサムを計算する。ステップ1104において、ステップ1103で計算されたチェックサムは、メッセージR2のトレーラー4350のチェックサムと比較される。もし、チェックサムが同じでなければ、メッセージR2はステップ1104Aで処分され、ここでメッセージアンラップ手続1100が終了する。
【0425】
もし、チェックサムがステップ1104において同じであれば、処理はステップ1105Aに続き、ここでメッセージはチェックされ、それがメッセージアンラップ手続1100に対し適切かどうかを決定する。もし、メッセージがメッセージの透明な部分にラベル“タイプ”を含まなければ、メッセージアンラップ手続は適当である。メッセージの透明部分にラベル“タイプ”を含む顧客コンピュータ200によって受け取られたメッセージは、ステップ1105Bの他の手続(どこかに記載される)を使用してアンラップされるであろう。ここで、メッセージR2が適切であれば、処理はステップ1106に続き、ここで不透明なラベル値ペア4317の値は解読される。
【0426】
ステップ1107において、メッセージ組み込み手続800のステップ802でテンポラリレジスタに蓄積されたDESキー/IVペアは検索される。
【0427】
ステップ1108において、ステップ1107で検索されたDESキー/IVペアは、不透明なラベル値ペア4317を解読するために使用される。もし、いかなる理由かで、不透明なラベル値ペア4317の解読が成功しなければ、ステップ1109はステップ1105にメッセージR2の処理を送り、ここでエラーフラグがセットされる。この場合、メッセージアンラップ手続1100の処理はステップ1121で中止する。もし、ラベル値ペア4317の解読が成功すれば、処理はステップ1110に続く。
【0428】
ステップ1110において、メッセージタイプは、ラベル値ペア4317Aを参照して決定される。例えば、メッセージR2に対するラベル値ペア4317Aの値は、“登録応答”である。
【0429】
メッセージR2のチェックは、次に、以下のようにしてステップ1111で行われる。メッセージテンプレートデータ構造270(図17)は、送られてきたメッセージのフォームに関するデータを含む。少なくとも、フォームチェック手続きは、送られてきたメッセージがこのメッセージのために定められたすべてのラベルを含んでいるかどうか、値を必要とする各ラベルに値があるかどうか、及び、値は、どのようなタイプか(例えば、テキスト、署名された番号)、どのようなシンタックスか(例えば、有効なEメールアドレスのフォーム)、要求される特定の限定の中かどうかを、確認する。もし追加のラベルがあれば、顧客コンピュータ200はそれらを無視する。もしメッセージが解読出来なかったならば、または、もし解読できたがフォームクライテリアに合致しなかったならば、エラーフラグがステップ1105でセットされる。
【0430】
もし、メッセージがステップ1111でのチェックを通過すれば、メッセージアンラップ手続1100はステップ1121で中断する。
【0431】
再び図48を参照すると、処理はステップ1220へ続く。そこで、以下のようにしてエラーメッセージを取り扱うことが好ましい。
【0432】
(1)もしエラーフラグがステップ1105でセットされていれば、フラグはステップ1220で検出され、メッセージR2の処理はステップ1221で中断する。顧客ユーザ203の予想から、メッセージR2に対しその他のいかなる行動もとられない。本発明の好ましい実施例において、サーバコンピュータ100へメッセージを作成して送るための顧客アプリケーションソフトウェア210の範囲内におけるメカニズムを含むことが好ましい。このメッセージは、顧客コンピュータ200によって受け取られるように、メッセージR2及び何がメッセージR2を失敗させたかの診断を含む。このメッセージに対するいかなる応答も、サーバコンピュータ100によって顧客コンピュータ200に対して送られない。そして、情報はこのシステムの中に問題が存在するかどうかを確認するために使用され、もし必要であれば、訂正を行なう必要がある。
【0433】
(2)もし、ステップ1105で何のエラーフラグもセットされないが、メッセージR1中にステップ905またはステップ1216でエラーが検出されたならば、処理はステップ1222に続き、ここでラベル値4317Fの内容がチェックされる。もし、ラベル値4317Fの値が“成功”以外であれば、エラー処理ルーチンがステップ1223で実行され、顧客アプリケーションソフトウェア210が、ラベル値4317Fの内容に関連するラベル値4317Kに含まれるメッセージを表示し、ラベル値4317Fの値を解釈して、その値に関連するいかなる行動をもとる。特に、もし、エラーフラグセットのみが、要求されたIDが特別でないことを示すステップ1216で検出されれば、サーバコンピュータ100によって提案されてラベル値ペア4317D中に戻されたIDが表示され、登録処理はステップ1201で再び開始される。または、
(3)もし、メッセージR1がステップ905のチェックを通過し、何のフラグもステップ1105でセットされず、顧客ユーザ203によって要求されたIDがサーバコンピュータ100によって受け入れられたならば、処理はステップ1224に続き、ここで顧客アプリケーションソフトウェア210は、以下のように、顧客データベース202を更新する。ラベル値4317Dの値及び二つのディジットからなるチェックコードは、領域220Aの顧客個人IDに割り当てられる。ラベル値ペア4317Eの値は、領域220BのEメールアドレスに蓄積される。領域220CのRSAパブリックキーは、顧客アプリケーションソフトウェア210によって作成された値を受け取り、ラベル値ペア4317I中にエコーさせる。また、顧客ログデータ構造260のレコード261は、以下のようにして作成される。ラベル値ペア4313Aからの取引番号は、領域261Bに蓄積される。ラベル値ペア4317Bからの日付は、領域261Cに蓄積される。ラベル値ペア4317Cからの要求されたIDは、領域261Hに蓄積される。ラベル値ペア4317Dからの応答IDは、領域261Iに蓄積される。ラベル値ペア4317EからのEメールアドレスは、領域261Jに蓄積される。
ラベル値ペア4317Fからの応答コードは、領域261Fに蓄積される。ラベル値ペア4317Jからのソフトウェアセビリティコードは、領域261Dに蓄積される。ラベル値ペア4317Kからのソフトウェアメッセージは、領域261Eに蓄積される。領域4317Lからの応答コードに関連する応答メッセージは、領域261Gに蓄積される。
【0434】
処理はステップ1225に続き、ここで登録処理401は終了する。
【0435】
C.手段結合処理403
手段結合処理403は、それにより顧客ユーザ203が手段を顧客個人120.1に結合させる処理である。図58は、ステップ1301で始まる手段結合処理403を示すフロー図を示す。
【0436】
ステップ1302において、顧客アプリケーションソフトウェア210は、顧客ユーザ203が、顧客個人120.1に結合すべき手段に関する情報をエンターするよう促す(要求する)。この情報は、サーバコンピュータ100に送られたメッセージBI1に含まれ、結合される手段についての手段結合データ120H(領域120H.1−120H.28)の一部となる。好ましい実施例において、顧客ユーザ203は、手段番号、手段使用満了日、手段顧客確認番号、及び手段所有者の、名前、街区番号、市、州、郵便コード、国、国コード、電話番号(市街コードを含む)をエンターする。顧客ユーザ203は、また、結合された手段が前述したようにオートクローズ手段かどうかを示すことを求められる。また、顧客アプリケーションソフトウェア210は、ランダム数(“手段ソルト”と呼ばれる)を作成する。顧客ユーザ203は、また、結合された手段の記述を求められる。この記述は、“会社クレジットカード”や“ジョンの銀行通帳”のようなフォームとなる。クレジットカードの結合のため、この情報は、顧客継続取引データ構造250の領域252Rに蓄積される。手段タイプ、手段カテゴリ、手段機能は、顧客アプリケーションソフトウェア210によって顧客ユーザ203がエンターしたデータから引き出される。
【0437】
ステップ1302で必要とされるデータはクレジットカード手段を例にとって記載されているが、クレジットカードデータをデビットカード、DDAs、他の財政上の手段をも含むよう変更することは、当業者の知識の範囲内である。
【0438】
メッセージBI1は、手段結合処理403を実行するために、顧客コンピュータ200によってサーバコンピュータ100に組み込まれ、顧客コンピュータ200によってサーバコンピュータ100へ送信される。メッセージBI1の内容を、以下に図59及び60を参照して記載する。
【0439】
ラベル値ペア4413Aは、ラベル“ID”を有する。ラベル値ペア4413Aの値は、顧客ユーザ203に対する個人IDを示す。ラベル値ペア4413Aの値は、顧客個人データ構造220(図18)の領域220Aから得られる。
【0440】
ラベル値ペア4413Bは、ラベル“取引”を有する。ラベル値ペア4413Bの値は、特別にメッセージBI1を確認する、顧客アプリケーションソフトウェア210によって作成された取引番号である。ラベル値ペア4413Bに関連する値は、領域252B(図24)に蓄積される。
【0441】
ラベル値ペア4413Cは、ラベル“日付”を有する。ラベル値ペア4413Cの値は、メッセージBI1が顧客コンピュータ200のクロックに従ってサーバコンピュータ100に組み込まれて送られた日付及び時間を示す。ラベル値ペア4413Cに関連する値は、顧客継続データ構造250の領域252Cに蓄積される。
【0442】
ラベル値ペア4413Dは、ラベル“サーバキー”を有する。後に記載するように、メッセージBI1の不透明なラベル値ペア4417を暗号化するために顧客コンピュータ200によって使用されたDESキー/IVペアは、サーバコンピュータ100のRSAパブリックキーを使用して暗号化される。ラベル値ペア4413Dの値は、サーバプライベートキーデータ構造160に蓄積された対応するRSAプライベートキーの位置を指し示す。
【0443】
ラベル値ペア4413Eは、ラベル“サービスカテゴリ”を有する。ラベル値ペア4413Eの値は、特別のサービスカテゴリのメッセージを取り扱うサーバコンピュータ100内部のプロセッサに、メッセージBI1を送るために使用されるラベルである。
【0444】
ラベル値ペア4417は、それに続くデータがメッセージBI1の暗号化された不透明セクション内容を含むことを示すラベル“不透明”を有する。
【0445】
図60に示されたメッセージBI1の不透明セクション内容を、次に記載する。
【0446】
ラベル値ペア4417Aは、ラベル“タイプ”を有する。ラベル値ペア4417Aの値は、メッセージBI1の不透明セクション内容のラベルを記載したメッセージデータ構造270(図17)のレコードを参照する。ラベル値ペア4417Aの値は、顧客ユーザ203が手段結合処理403を開始した時に値を発生する顧客アプリケーションソフトウェア210から得られる。
【0447】
ラベル値ペア4417Bは、ラベル“サーバ日付”を有する。ラベル値ペア4417Bは、メッセージBI1が、サーバコンピュータ100のクロックの顧客コンピュータ200の認識によって測定するように組み込まれた日付及び時間を示す。
【0448】
ラベル値ペア4417Cは、ラベル“swバージョン”(ソフトウェアバージョン)を有する。ラベル値ペア4417Cの値は、サーバコンピュータ100とコミュニケーションを行なう顧客アプリケーションソフトウェア210のバージョンを示す。ラベル値4417Cの値は、顧客アプリケーションソフトウェア210に埋め込まれたデータから得られる。ラベル値ペア4417Cに関連する値は、領域252D(図24)に蓄積される。
【0449】
ラベル値ペア4417Dは、ラベル“手段番号”を有する。安全性確保のために、実際の手段番号は、サーバコンピュータ100のデータベース102に蓄積されない。手段番号はデータベース102にハッシュ値として蓄積される。ラベル値ペア4417Dに関連する値のハッシュは、領域252Fに蓄積される。
【0450】
ラベル値ペア4417Eは、ラベル“手段タイプ”を有する。ラベル値ペア4417Eは、例えば、VISA、マスターカード、アメリカンエキスプレスなどといった手段のタイプを示す。ラベル値ペア4417Eの値は、ステップ1302における手段結合処理403の間に顧客ユーザ203から得られ、または、手段番号から顧客アプリケーションソフトウェア210によって引き出すことができる。ラベル値ペア4417Eに関連する値は、領域252Tに蓄積される。
【0451】
ラベル値ペア4417Fは、ラベル“手段カテゴリ”を有する。ラベル値ペア4417Fの値は、結合された手段のカテゴリを示す。カテゴリは、例えば、クレジットカード、デビットカード、DDAsなどを含ませることができる。ラベル値ペア4417Fの値は、ステップ1302の手段結合処理403の間に顧客アプリケーションソフトウェアによって引き出せる。
【0452】
ラベル値ペア4417Iは、ラベル“手段機能”を有し、好ましくは、“費用”、“クレジット”、“ロード”、“アンロード”の値のいかなる組合せも有することができる。ラベル値ペア4417Iの値は、結合された手段とともに顧客ユーザ203によって実行される一つあるいはそれ以上の機能を示す。費用取引は、個人120.1が手段を製品に対して支払うためのクレジットカードとして使用する時に発生する。クレジット取引は、合意した製品を提供する代わりに、販売者が顧客個人120.1を信用する操作である。ロード及びアンロード取引は、さきに記載したものと同じである。ラベル値ペア4417Iの機能は、ステップ1302の手段結合処理403の間に顧客アプリケーションソフトウェア210によって引き出せる。
【0453】
ラベル値ペア4417Jは、ラベル“手段ソルト”を有する。ラベル値ペア4417Jの値は、それによりラベル値ペア4417D(手段番号に関する)の値が決定される容易さを減らすために使用される暗号化されたソルトを示す。ラベル値ペア4417Jの値は、ステップ1302の手段結合処理403の間に顧客アプリケーションソフトウェア210によって発生される。ラベル値ペア4417Jに関連する値は、領域252U(図24)に蓄積される。
【0454】
ラベル値ペア4417Kは、ラベル“手段使用満了日”を有する。ラベル値ペア4417Hの値は、結合された手段の使用満了日を示す。ラベル値ペア4417Kの値は、ステップ1302の手段結合処理403の間に顧客ユーザ203から得られる。ラベル値ペア4417Kに関連する値は、領域252Iに蓄積される。
【0455】
ラベル値ペア4417Lは、ラベル“手段名前”を有する。ラベル値ペア4417Lの値は、結合された手段の所有者の名前を示す。ラベル値ペア4417Lの値は、ステップ1302の手段結合処理403の間に顧客ユーザ203から得られる。ラベル値ペア4417Lに関する値は、領域252Hに蓄積される。
【0456】
ラベル値ペア4417Mは、ラベル“手段アドレス”を有する。ラベル値ペア4417Mの値は、結合された手段の所有者の街区を示す。ラベル値ペア4417Mの値は、ステップ1302の手段結合処理403の間に顧客ユーザ203から得られる。
【0457】
ラベル値ペア4417Nは、ラベル“手段の市”を有する。ラベル値ペア4417Nの値は、結合された手段の所有者の市名を示す。ラベル値ペア4417Nの値は、ステップ1302の手段結合処理403の間に顧客ユーザ203から得られる。
【0458】
ラベル値ペア4417Oは、ラベル“手段の州”を有する。ラベル値ペア4417Oの値は、結合された手段の所有者の州名を示す。ラベル値ペア4417Oの値は、ステップ1302の手段結合処理403の間に顧客ユーザ203から得られる。
【0459】
ラベル値ペア4417Pは、ラベル“手段の郵便コード”を有する。ラベル値ペア4417Pの値は、結合された手段の所有者の郵便コードを示す。ラベル値ペア4417Pの値は、ステップ1302の手段結合処理403の間に顧客ユーザ203から得られる。
【0460】
ラベル値ペア4417Qは、ラベル“手段の国”を有する。ラベル値ペア4417Qの値は、結合された手段の所有者の国名を示す。ラベル値ペア4417Qの値は、ステップ1302の手段結合処理403の間に顧客ユーザ203から得られる。
【0461】
ラベル値ペア4417K−4417Qに関連する値は、領域252H−252N(図24)に蓄積される。
【0462】
ラベル値ペア4417Rは、ラベル“同意”を有する。ラベル値ペア4417Rは、本発明を使用するために、顧客ユーザ203がどのような法律的同意を受け入れたのかを示す。ラベル値ペア4417Rの値は、顧客ユーザ203によって受け入れられた同意から発生し、領域230S(図20)に蓄積される。
【0463】
ラベル値ペア4417Sは、ラベル“オートクローズ”を有し、値“イエス”または“ノー”を有することができる。ラベル値ペア4417Sの値は、結合された手段が顧客ユーザ203に対してオートクローズ手段であるかどうかを示す。ラベル値ペア4417Sの値は、ステップ1302の手段結合処理403の間に顧客ユーザ203から得られる。
【0464】
ラベル値ペア4417Tは、ラベル“オートクローズパスフレーズ”を有する。ラベル値ペア4417Tの値は、使用された時に、顧客個人120.1を終了する(好ましくは6−15文字の)パスフレーズを示す。ラベル値ペア4417Tは、ラベル値ペア4417Tが“イエス”の場合にのみ存在する。ラベル値ペア4417Tの値は、登録処理401の間に顧客ユーザ203から供給される。
【0465】
ラベル値ペア4417Uは、ラベル“キー”を有する。ラベル値ペア4417Uの値は、顧客個人120.1に対するRSAパブリック/プライベートキーペアの係数部分のハッシュを表す。ラベル値ペア4417Uの値は、サーバコンピュータ100が、領域120B(図6)に維持されたRSAパブリックキーがメッセージBI1(ラベル値ペア4417V)をサインするのに使用されたキーと同じであることの確認を許可する。
【0466】
ラベル値ペア4417Vで表されたメッセージBI1のデジタル署名は、ラベル“署名”を有する。ラベル値ペア4417Vの値は、顧客個人120.1のデジタル署名を表す。メッセージBI1に対し、ラベル値ペア4417Vの値は、好ましくは、ラベル値ペア4413A−4413Dのハッシュ、及び、アルファベット順に、顧客個人120.1のRSAプライベートキーで暗号化されたラベル値ペア4417A−4417Uである。顧客個人120.1のRSAプライベートキーは、領域220H(図19)から得られる。
【0467】
再び図58を参照すると、ステップ1303において、メッセージBI1は、図49に示すメッセージ組み込み手続800に従って組み込まれる。メッセージ組み込み手続800は、先に、登録メッセージR1の組み込みに対して記載されており、メッセージBI1に特有の異変形を有する。メッセージBI1のコピーは、好ましくは、領域252W(図24)にセーブされ、手段結合処理403はステップ1304に続く。そこで、顧客コンピュータ200は、メッセージBI1をサーバコンピュータ100に送信する。顧客コンピュータ200は、サーバコンピュータ100からの応答メッセージBI4を待つ。
【0468】
ステップ1305において、サーバコンピュータ100は、顧客コンピュータ200からメッセージBI1を受け取り、サーバメッセージアンラップ手続900(ステップ901−917)を実行することによってメッセージBI1をアンラップする。サーバメッセージアンラップ手続900(ステップ901−917)は、メッセージR1に対し図52−53を参照して先に記載した。
【0469】
ステップ1306において、もし、ステップ909A、912、914、915または916のいくつかが、ステップ905でセットされるエラーフラグの原因となっていれば、エラー処理手続が、ステップ1313においてサーバコンピュータ100によって実行される。
【0470】
ステップ1313におけるエラー処理のレベルは、大部分が管理者の決定であるが、チェックサム、署名及びフォームが失敗し、ソフトウェアチェック手続において“致命的”の戻りがあれば、顧客アプリケーションソフトウェア210によって処理できるコードを含むメッセージ及び顧客ユーザ203によって読み取ることができるメッセージを発するようにすることが好ましい。ステップ1313におけるエラー処理手続は、特別のエラーコード(後に応答メッセージBI4の背景で記述する)を伴うフラグに関連し、テキストメッセージ(メッセージのデータ構造かシステム管理者から送られたメッセージのいずれか)を作成する必要がある。その後、サーバコンピュータ100は、後に記載するように、エラーコード及びその他の関連するメッセージを送る顧客コンピュータ200に対してと同様に、メッセージBI4を送信する。
【0471】
もし、ステップ909A、912、914、915および916のテストが、ステップ905でセットされるエラーフラグを起こす原因になっていなければ、処理はステップ1307に続く。ここで、メッセージBI1に含まれた情報は、以下のようにして、手段結合データ120H(領域120H.1−120H.28)(図8)に転送される。ラベル値ペア4413Aの値は、領域120H.1の個人IDに蓄積される。ラベル値ペア4417Aの値は、領域120H.2の手段タイプに蓄積される。ラベル値ペア4417Bの値は、領域120H.13の手段結合データに蓄積される。もし、結合された手段が、オートクローズ手段として顧客ユーザ2032によって選択されたならば、ラベル値ペア4417Dの値は、領域120H.4の手段番号に蓄積される。この値は、システムオペレータのみが知っているRSAキーを使用して暗号化されていることが望ましい。
もし、結合された手段が、個人のオートクローズ手段でなければ、ラベル値ペア4417Dの値はサーバデータ構造102で蓄積されず、ラベル値ペア4417Jの値に沿ってハッシュされ、領域120H.9の手段ハッシュに蓄積される。
ラベル値ペア4417Eの値は、領域120H.3の手段サブタイプに蓄積される。ラベル値ペア4417Fの値は、領域120H.2の手段タイプに蓄積される。ラベル値ペア4417Rの値は、領域120H.7の法律的同意に蓄積される。ラベル値ペア4417Sの値は、領域120Fのオートクローズ結合に蓄積される。
【0472】
ステップ1307の後に、メッセージBI4は、サーバコンピュータ100によって顧客コンピュータ200に組み込まれ、サーバコンピュータ100によって顧客コンピュータ200に転送され、手段結合処理403を完了する。メッセージBI4の内容は、以下に、図61及び62を参照して記載する。
【0473】
ラベル値ペア44.113Aは、ラベル“ID”を有する。ラベル値ペア44.113Aの値は、顧客ユーザ203に対する個人IDを示す。ラベル値ペア44.113Aの値は、ラベル値ペア4413AにおいてメッセージBI1で受け取られたものと同じである。
【0474】
ラベル値ペア44.113Bは、ラベル“取引”を有する。ラベル値ペア44.113Bの値は、取引番号である。ラベル値ペア44.113Bの値は、ラベル値ペア4413BにおいてメッセージBI1で受け取られたものと同じである。
【0475】
ラベル値ペア44.113Cは、ラベル“日付”を有する。ラベル値ペア44.113Cの値は、ラベル値ペア4413CにおいてメッセージBI1で受け取られたものと同じである。
【0476】
ラベル値ペア44.113Dは、ラベル“サービスカテゴリ”を有する。ラベル値ペア44.113Dの値は、ラベル値ペア4413EにおいてメッセージBI1で受け取ったものと同じである。
【0477】
図62に示すメッセージBI4の不透明セクション内容を以下に記載する。
【0478】
ラベル値ペア44.117Aは、ラベル“タイプ”を有する。ラベル値ペア44.117Aの値は、メッセージBI4の不透明セクション内容のラベルに効力を与えるメッセージデータ構造270(図17)のレコードを参照する。ラベル値ペア44.117Aの値は、サーバソフトウェア110から得られる。
【0479】
ラベル値ペア44.117Bは、ラベル“サーバ日付”を有する。ラベル値ペア44.117Bの値は、メッセージBI4がサーバコンピュータ100のクロックに従って組み込まれた日付及び時間を示す。
【0480】
ラベル値ペア44.117Cは、ラベル“応答コード”を有し、好ましくは“成功”または“失敗”を有する。ラベル値ペア44.117Cの値は、手段結合処理403が成功したのか失敗したのかを示す。
【0481】
ラベル値ペア44.117Dは、ラベル“swセビリティ”(ソフトウェアセビリティ)を有し、好ましくは、“致命的”または“警告”の値を有する。ラベル値ペア44.117Dの値は、顧客アプリケーションソフトウェア210が更新を必要とするかどうかを示し、(“警告”)はまだ使用可能であることを示し、(“致命的”)はもはや使用不可能であることを示す。ラベル値ペア44.117Dの値は、顧客アプリケーションソフトウェア210が現在のものであれば、零値である。
【0482】
ラベル値ペア44.117Eは、ラベル“swメッセージ”(ソフトウェアメッセージ)を有する。ラベル値ペア44.117Eの値は、ソフトウェアセビリティの状態が“致命的”または“警告”の場合に、顧客ユーザ203がすべきことについての指示を与える。ラベル値ペア44.117Eの値は、ラベル値ペア44.117Dが零値である場合にのみ存在する。
【0483】
ラベル値ペア44.117Fは、ラベル“手段番号”を有する。ラベル値ペア44.117Fの値は、前述したように、結合された手段の番号を示す。ラベル値ペア44.117Fの値は、メッセージBI1のラベル値ペア4417Dから得られる。
【0484】
ラベル値ペア44.117Gは、ラベル“手段タイプ”を有する。ラベル値ペア44.117Gの値は、手段のタイプを示す。ラベル値ペア44.117Gの値は、メッセージBI1のラベル値ペア4417Eから得られる。
【0485】
ラベル値ペア44.117Hは、ラベル“手段ソルト”を有する。ラベル値ペア44.117Hの値はメッセージBI1のラベル値ペア4417Jから得られる。
【0486】
ラベル値ペア44.117Jは、ラベル“手段機能”を有し、前述したように、“販売”、“クレジット”、“ロード”、“アンロード”の値のいずれかの組み合わせを有することでできる。ラベル値ペア44.117Jは、結合された手段とともに顧客ユーザ203によって実行される一つまたはそれ以上の機能を示す。ラベル値ペア44.117Jの値は、メッセージBI1のラベル値ペア4417Iから得られる。
【0487】
ラベル値ペア44.117Kは、ラベル“手段*”を有し、ラベルが“手段”で始まるラベル値ペアの数を表し、それらは顧客ユーザ203に対しメッセージBI4(前述した)で供給され、手段がファンドをロードするかアンロードするときにサーバコンピュータ100にメッセージLU1で戻される。このようにして、サーバコンピュータ100は、そのデータ構造に情報を蓄積しなくても、必要な時に、手段に関する情報を受け取ることができる。ラベル値ペア44.117Kに含まれた特別なデータ値ペアは、結合した手段のタイプおよび手段の発行者の要求に依存する。例えば、クレジットカードは、カード番号、カード満了日、カード所有者の名前及びアドレスを要求し、これらは、カードが個人120.1にファンドをロードするために使用される度に、サーバへ戻される。
【0488】
ラベル値ペア44.117Lは、ラベル“メッセージ”を有する。ラベル値ペア44.117Lの値は、ラベル値ペア44.117Cに戻されたエラーまたは成功状態に関連し、顧客ユーザ203に表示される自由テキストメッセージである。ラベル値ペア44.117Lの値は、状態の悪いデジタル署名または間違って形成された登録メッセージBI1及び顧客ユーザ203がどのように対応すべきかを示す指示(例えば、“システム管理者を呼びなさい”)を含むことができる。
【0489】
再び図58を参照すると、ステップ1308Aにおいて、メッセージBI4は、図54に示すサーバメッセージ組み込み手続1000に従って組み込まれる。
サーバメッセージ組み込み手続1000は、先に、登録メッセージR2の組み込みについて記載されている。ステップ1308Bにおいて、メッセージBI4がサーバコンピュータ100に送信される。
【0490】
ステップ1309において、顧客コンピュータ200は、メッセージBI4をサーバコンピュータ100から受け取り、メッセージアンラップ手続1100(ステップ1101−1121)を実行することにより、メッセージBI4をアンラップする。メッセージアンラップ手続1100は、先に、メッセージR2に対し図57を参照して記載されている。
【0491】
ステップ1310において、
(1)もしエラーフラグがステップ1105でセットされていれば、フラグはステップ1310で検出され、メッセージBI4の処理はステップ1311で中断する。顧客ユーザ203の予想から、メッセージBI4に対しその他のいかなる行動もとられない。本発明においては、サーバコンピュータ100へメッセージを作成して送るための顧客アプリケーションソフトウェア210の範囲内におけるメカニズムを供給する。このメッセージは、顧客コンピュータ200によって受け取られるように、メッセージBI4及び何がメッセージBI4を失敗させたかの診断を含む。このメッセージに対するいかなる応答も、サーバコンピュータ100によって顧客コンピュータ200に対して送られない。そして、情報はこのシステムの中に問題が存在するかどうかを確認するために使用され、もし必要であれば、訂正を行なう必要がある。
【0492】
(2)もし、ステップ1105で何のエラーフラグもセットされないが、メッセージBI1中にステップ905でエラーが検出されたならば、処理はステップ1312に続き、ここでラベル値44.117Cの内容がチェックされる。もし、ラベル値44.117Cの値が“成功”以外であれば、エラー処理ルーチンがステップ1314で実行され、顧客アプリケーションソフトウェア210が、ラベル値44.117Cの内容に関連するラベル値44.117Lに含まれるメッセージを表示し、ラベル値44.117Cの値を解釈して、その値に関連するいかなる行動をもとる。または、
(3)もし、メッセージBI1がステップ905のチェックを通過し、何のフラグもステップ1105でセットされなければ、処理はステップ1315に続き、ここで顧客アプリケーションソフトウェア210は、以下のように、顧客データベース202を更新する。ラベル値44.117Fは領域230A(図20)に蓄積される。ラベル値ペア44.117Jの内容は、領域230L−230Oにフラグをセットするために使用される。ラベル値ペア44.117Cに含まれる結果コードは、領域230Pにセーブされる。ラベル値ペア44.117Kの内容は、領域230Rに蓄積される。また、顧客ログデータ構造260の新しいレコード262(図31)は、以下のようにして作成される。ラベル値ペア44.113Bからの取引番号は、領域262Bに蓄積される。ラベル値ペア44.117Bからの日付は、領域262Cに蓄積される。ラベル値ペア44.117Cからの応答コードは、領域262Fに蓄積される。ラベル値ペア44.117Dからのソフトウェアセビリティコードは、領域262Dに蓄積される。ラベル値ペア44.117Eからのソフトウェアメッセージは、領域262Eに蓄積される。ラベル値ペア44.117Fからの手段番号は、領域262Iに蓄積される。ラベル値ペア44.117Gからの手段タイプは、領域262Jに蓄積される。領域44.117Lからの応答コードに関連する応答メッセージは、領域262Gに蓄積される。
【0493】
処理はステップ1316に続き、ここで手段結合処理403が終了する。
【0494】
D.ロード/アンロード ファンド処理405
図63は、ステップ1401から始まるロード/アンロード処理405を示すフロー図である。
【0495】
ステップ1401Aにおいて、顧客ユーザ203は顧客ユーザ203が(オペレーション)ファンドをロードまたはアンロードすることを所望するか否かを選択する。以下の記載においては、顧客ユーザ203がファンドをロードすることを選択することを仮定している。ファンドのアンロードはアンロードされるべきファンドが負の金額として特定されることを除いて同じ処理である。
【0496】
ステップ1042において、顧客アプリケーションソフトウエア210は、個人120.1に関連する全ての手段に対して、レコード230.1の領域230Oにアクセスし、ロード動作が可能な全ての手段のリストを表示する。ステップ1043において、顧客ユーザ203が表示されたリストから一つの手段を選択し、その手段からキャッシュコンテナデータ領域120Gおよび220Iに代表されるキャッシュコンテナにファンドをロードする。
【0497】
ステップ1406において、顧客ユーザ203は、ステップ1402において選択した手段からロードするために、キャッシュコンテナ120G内へ特定の通貨でファンドの金額を入力することを促される(要求される)。
【0498】
メッセージLU1が組み込まれ、顧客コンピュータ200からサーバコンピュータ100に転送されて、ロード/アンロードファンド処理405を実行する。
メッセージLU1の内容は、図64及び65に記載されている。
【0499】
ラベル値ペア4513Aはラベル“ID”を有する。ラベル値ペア4513Aは顧客ユーザ203用の個人IDと同じである。ラベル値ペア4513Aの値は、領域220A(図19)から得られる。ラベル値ペア4513Aに関連する値は、領域255E(図27)に蓄積されている。
【0500】
ラベル値ペア4513Bは“取引”のラベルを有する。ラベル値ペア4513Bの値は、顧客アプリケーションソフトウエア210で発生する取引番号であり、このソフトウエアは唯一のメッセージLU1を認識する。ラベル値ペア4513Bは、後に述べるように、メッセージLU1を受け取ると、(1)関連する応答メッセージLU2をサーバコンピュータ100が送れるようにし、また(2)メッセージLU1が2重メッセージである場合は(すなわち、サーバコンピュータ100がすでに受け取っているメッセージである場合)選択できるようにする。ラベル値ペア4513Bに関連する値は領域255Bに蓄積される。
【0501】
ラベル値ペア4513Cは“日付”ラベルを有する。ラベル値ペア4513Cの値は、メッセージLU1が組み込まれ、サーバコンピュータ100に送られた日付と時刻を顧客コンピュータ200のクロックに従って表示する。ラベル値ペア4513Cに関連する値は領域255Eに蓄積される。
【0502】
ラベル値ペア4513Dは“サーバキー”のラベルを有する。以下に述べるメッセージLU1の不透明ラベル値ペアを暗号化するために顧客コンピュータ200で使用されるDESキー/IVペアは、サーバコンピュータ100のRSAパブリックキーを使用して暗号化される。ラベル値ペア4513Dの値は対応するRSAプライベートキーをさせ、これはサーバプライベートキーデータ構造160に蓄積されている。
【0503】
ラベル値ペア4513Eは“サービス−カテゴリ”ラベルを有する。ラベル値ペア4513Eの値は、特別なサービスカテゴリーのメッセージを操作するサーバコンピュータ100内のプロセッサへメッセージLU1を送るのに使用されるラベルである。
【0504】
ラベル値ペア4517は、その後に続くデータがメッセージLU1の暗号化された不透明部の内容を含むことを示す“不透明”ラベルを有する。図65に示されるメッセージLU1の不透明部の内容がここに記載される。
【0505】
ラベル値ペア4517Aは“タイプ”のラベルを有する。ラベル値ペア4517Aは、メッセージLU1の不透明部の内容のラベルを設定するメッセージデータ構造150(図5)の記録を意味する。ラベル値ペア4517Aは、顧客ユーザ203がロード/アンロード処理405を初期化する際にラベルを発生する顧客アプリケーションソフトウエア210から得られる。
【0506】
ラベル値ペア4517Bは“サーバ日付”ラベルを有する。ラベル値ペア4517Bの値は、メッセージLU1が組立てられた日付と時刻を表示する。その日付と時刻は、サーバコンピュータ100のクロックを認識している顧客コンピュータ200によって測定される。
【0507】
ラベル値ペア4517Cは“swバージョン”(ソフトウエアバージョン)ラベルを有する。ラベル値ペア4517Cの値は、サーバコンピュータ100と通信している顧客アプリケーションソフトウエア210のバージョンを表示する。
ラベル値ペア4517Cの値は、顧客アプリケーションソフトウエア210に埋め込まれたデータから得られる。ラベル値ペア4517Cに関連する値は領域255D(図27)に蓄積される。
【0508】
ラベル値ペア4517Dは“金額”ラベルを有する。ラベル値ペア4517Dは、顧客ユーザ203のためにキャッシュコンテナ120Gからステップ1402で選択された関連する手段から、転送される通貨の種類及びファンドの金額を表す。アンロード操作用においては、ファンドの金額は負の金額である。従って、アンロードするためには、ラベル値ペア4517Dが、キャッシュコンテナ120Gからステップ1402で選択された関連する手段へ転送されるべき通貨の種類とファンドの金額を表示する。ラベル値ペア4517Dに関連する値は領域255Gに蓄積される。
【0509】
ラベル値ペア4517Eは“手段*”のラベルを有し、“手段”でラベルが始まるラベル値ペア44.117K(図61)のメッセージBI4においてサーバコンピュータ100によってリターンされるすべてのラベル値ペアを表示する。
ラベル値ペア4517Eの値は、それからロード操作が行われサーバコンピュータ100の手段を唯一のものと認識するものである。
【0510】
ラベル値ペア4517Fは“キー”ラベルを有する。ラベル値ペア4517Kの値は顧客個人120.1のRSAパブリック/プライベートキーペアのモジュール部のハッシュを表す。ラベル値ペア4517Fはサーバコンピュータ100に領域120B(図6)に維持されているRSAパブリックキーがメッセージLU1(ラベル値ペア4517F)をサインするのに使用されているのと同じものであることを確認させる。
【0511】
図63を再度参照すると、ステップ1407において、メッセージLU1はメッセージアッセンブリ処理800(図49)に従って組込まれる。メッセージアッセンブリ処理800は、メッセージLU1をノートする以下の変形例と共に、登録メッセージR1の組み込みとしてすでに述べた。メッセージLU1のコピーは好ましくは、領域140E(図16)に蓄積される。
【0512】
ロード/アンロード処理405はステップ1408で継続する。ここで、顧客コンピュータ200がメッセージLU1をサーバコンピュータ100へ転送する。顧客コンピュータ200はサーバコンピュータ100からの応答メッセージLU2を待つ。
【0513】
ステップ1409において、サーバコンピュータ100は顧客コンピュータ200からメッセージLU1を受取り、サーバメッセージアンラップ処理900(ステップ901−917)を実行することによって、メッセージLU1をアンラップする。サーバメッセージアンラップ処理900は、メッセージR1についての図52−53を参照してすでに述べた。
【0514】
図52および53を再度参照すると、ステップ1410において、処理が続けられ、テストステップ909A、912、914、915または916のいずれかがステップ905でセットされるべきエラーフラッグが生じても、エラー処理はステップ1417でサーバコンピュータによって実行される。ステップ1417におけるエラー処理レベルが管理者による決定である一方、チェックサムの欠如、サイン、形式、及び“致命的”等の最低限のものが、顧客アプリケーションソフトウエア210で処理され得るコードを含むリターンメッセージ、及び顧客ユーザ203で読み取り得るメッセージにおいて、ソフトウエアチェック処理に戻る。ステップ1417のエラー処理は、特定のエラーコード(下記にリターンメッセージLU2のコンテント中に述べた)とフラッグを関連させて、テキストメッセージ(メッセージのデータ構造と、システム管理者によって送られてくるメッセージのいずれか)を作る必要がある。次いで、サーバコンピュータ100は、下記のエラーコードとそれに関連するメッセージを運ぶ顧客コンピュータ200と同様のメッセージLU2を作る。
【0515】
ステップ909A、912、914、915及び916のテストでステップ905でセットされるべきエラーフラッグが生じなければ、ステップ1411で処理が続けられる。ここでは、メッセージLU1に含まれる情報、すなわち、ラベル値ペア4517Dによって表される金額は、サーバ個人データ構造120内の顧客ユーザー203用個人120.1の領域120G.2のキャッシュコンテナにおける金額に書き換えられる。この時点で、サーバコンピュータ100で、メッセージLU1に関する手段からキャッシュコンテナ領域120G.4において同定される代理人口座に転送されるべきファンドが生じる。メッセージLU1で要求されているファンドは、24時間が経過したといったような幾らかの追加条件が合致しない限り、入手できなくなるような方法で“オンホールド”におかれる。
【0516】
ステップ1411の後に、メッセージLU2が組込まれ、サーバコンピュータ100から顧客コンピュータ200に転送され、ロード/アンロードファンド処理405が終了する。メッセージLU2の内容は、図66及び67に関連して記載されている。
【0517】
ラベル値ペア45.113Aは“ID”ラベルを有する。ラベル値ペア45.113Aの値は顧客ユーザ203の個人IDを表示する。ラベル値ペア45.113Aの値はラベル値ペア4513AにおいてメッセージLU1で受け取る値と同じものである。
【0518】
ラベル値ペア45.113Bは、“取引”ラベルを有する。ラベル値ペア45.113Bの値は取引番号である。ラベル値ペア45.113Bの値は、ラベル値ペア4513BにおいてメッセージLU1で受け取られる値と同じものである。
【0519】
ラベル値ペア45.113Cは、“日付”ラベルを有する。ラベル値ペア45.113Cの値はラベル値ペア4513CにおいてメッセージLU1で受け取る値と同じものである。
【0520】
ラベル値ペア45.113Dは、“サービスカテゴリ”ラベルを有する。ラベル値ペア45.113Dの値はラベル値ペア4513EにおいてメッセージLU1で受け取る値と同じものである。
【0521】
図67に示されている応答メッセージLU2の不透明部の内容は以下の通りである。
【0522】
ラベル値ペア45.117Aは“タイプ”ラベルを有する。ラベル値ペア45.117Aのラベル値は、メッセージLU2の不透明部の内容のラベルを設定するメッセージデータ構造270(図17)の記録を引用している。ラベル値ペア45.117Aの値はサーバソフトウエア110から得られる。
【0523】
ラベル値ペア45.117Bは“サーバの日付”ラベルを有する。ラベル値ペア45.117Bのラベル値は、組立てられた日付及び時刻のメッセージLU2をサーバコンピュータ100のクロックによって表示する。
【0524】
ラベル値ペア45.117Cは“金額”ラベルを有する。ラベル値ペア45.117Cの値は、ラベル値ペア4517Eで認識された関連する手段から顧客ユーザ203用のキャッシュコンテナ領域120G.2へ転送された値である。
【0525】
ラベル値ペア45.117Dは、上述したとおり、“応答コード”ラベル及び“成功”または“失敗”ラベルを有する。ラベル値ペア45.117Dのラベル値は、ロード/アンロード処理405が成功したか失敗したかを表示する。
【0526】
ラベル値ペア45.117Eは、“メッセージ”ラベルを有する。ラベル値ペア45.117Eの値は、ラベル値ペア45.117Dの“応答コード”値を説明するフリーテキストメッセージである。
【0527】
ラベル値ペア45.117Fは、“swセベリティ”(ソフトウエアセベリティ)ラベル及び“致命的”または“警告”ラベルを有する。ラベル値ペア45.117Fの値は、顧客アプリケーションソフトウエア210が更新される必要があるか否かを表示するが、それはまだ更新できない(“警告”)かまたはもはや更新できない(“致命的”)かのいずれかである。ラベル値ペア45.117Fの値は、顧客アプリケーションソフトウエア210が使用されていれば零である。
【0528】
ラベル値ペア45.117Gは、“swメッセージ”(ソフトウエアメッセージ)ラベルを有する。ラベル値ペア45.117Gの値は、“致命的”または“警告”のソフトウエアセベリティが生じた場合、顧客ユーザ203が何をするべきかについての指示を表示する。ラベル値ペア45.117G値は、ラベル値ペア45.117Dが零でないか否かを表すのみである。
【0529】
ラベル値ペア45.117Hは、“料金”ラベルを有する。ラベル値ペア45.117Hの値は、もしあれば、サーバコンピュータ100の処理メッセージLU1に関連して、顧客ユーザ203にかかる料金を表示する。この料金は、もし存在すればキャッシュコンテナフィールド120G.2から引出される。
【0530】
ラベル値ペア45.117Iは、“バランス”ラベルを有する。ラベル値ペア45.117Iの値は、顧客ユーザ203に関するキャッシュコンテナ120G.2における入手可能なバランスを表示する。このバランスは、メッセージLU1を介してロードされるラベル値ペア45.117Cの金額値で調整されるキャッシュコンテナの前のバランスと、ラベル値ペア45.117Hの料金値を反映するものである。
【0531】
ラベル値ペア45.117Jは、“セッションファンド”ラベルを有する。ラベル値ペア45.117Jの値は、キャッシュコンテナ120G.2から全ての開設セッションに関するサーバセッションデータ構造130の開設金額領域130Eへ転送された金額を表示する。
【0532】
ラベル値ペア45.117Kは、“オン−ホールド”ラベルを有する。ラベル値ペア45.117Kの値は、キャッシュコンテナ120G.3から得られ、顧客ユーザ203に関するキャッシュコンテナ120G.2に、メッセージLU1のラベル値ペア45.117Eで認識される関連する手段からの転送が継続中になっているファンドの金額を表示する。この値は、その手段の発行人による同意もしくは処理を待っているファンドを表示する。その発行人からファンドがロードされるか、または発行人へファンドがアンロードされる。
【0533】
図63のステップ1412において、サーバソフトウエア110は図54に示すフロー図に従って応答メッセージLU2を組み込む。サーバメッセージ組立て処理1000は、登録メッセージR2の組み込みとしてすでに説明した。
【0534】
図57を再度参照すると、メッセージLU2はステップ1412Aで、サーバコンピュータ100から顧客コンピュータ200へ送られる。
【0535】
ステップ1413において、顧客コンピュータ200は、サーバコンピュータ100からメッセージLU2を受取り、メッセージアンラップ処理1100(ステップ1101−1121)を実行することによって、メッセージLU2をアンラップする。メッセージアンラップ処理1100はメッセージR2に関する図2に関連してすでに述べた。
【0536】
ステップ1414では、
(1)ステップ1105でエラーフラッグがセットされた場合、そのフラッグがステップ1414で検出され、ステップ1415でメッセージLU2の処理が終了する。顧客ユーザ203の予想により、メッセージLU2に関してさらなるアクションは取られない。本発明においては、メカニズムは顧客アプリケーションソフトウエア210内にあり、メッセージを作ってサーバコンピュータ100に送る。このメッセージは、顧客コンピュータ200で受け取ったメッセージLU2、及びメッセージに何が失われたのかの診断を含むものである。サーバコンピュータ100によっては、このメッセージに対してなんら応答が顧客コンピュータ200へ送られない。むしろ、その情報は、システム内に問題があるかどうか、及び適当な訂正手段が取られることが必要であるかどうかを確かめるために使用される。
【0537】
(2)ステップ1105にてエラーフラッグがセットされることなくステップ905にてメッセージLU1のエラーが検出された場合、ラベル値45.117Dの内容がチェックされ、ステップ1416で処理が続けられる。ラベル値45.117Dの値が“成功”以外のものであれば、ステップ1418でエラー処理ルーチンが行われ、顧客アプリケーションソフトウエア210がラベル値45.117Dの内容に関連するラベル値45.117Eに含まれているメッセージを表示するとともに、ラベル値45.117Dを解読し、その値に関連すると思われる動作であればなんでも行う;または
(3)メッセージLU1がステップ905におけるチェックをパスし、ステップ1104にてフラッグがセットされなければ、ステップ1419にて処理が続けられ、顧客アプリケーションソフトウエア210が顧客個人データ構造220のキャシュコンテナ領域220Jの内容を蓄積してカスタマデータベース202を更新する。
【0538】
これに加えて、顧客ログデータ構造260の新しい記録264は、以下の通り作成される:個人IDがラベル値ペア45.113Aから領域264Bに蓄積される。ラベル値ペア45.117Bからの日付は領域264Cに蓄積される。ラベル値ペア45.117Cからの金額は、領域253Jに蓄積される。ラベル値ペア45.117Dからの応答コードは領域264Fに蓄積される。領域45.117Eにからの応答コードに関連する応答メッセージは領域264Gに蓄積される。ラベル値45.117Eからのソフトウエアセベリティコードは領域264Dに蓄積される。ラベル値ペア45.117Gからのソフトウエアメッセージは領域264Eに蓄積される。ラベル値ペア45.117Iからのバランスは領域264Lに蓄積される。
【0539】
ステップ1420で処理が続けられ、ロード/アンロード処理405が終了する。
【0540】
E.開設セッション処理407
図68は、ステップ1501で始まる開設セッション処理407を示すフローチャートである。
【0541】
ステップ1502において、顧客アプリケーションソフトウエア210は顧客ユーザ203に、開始すべきセッション部に関する情報を入力するように促す(要求する)。この情報は、サーバコンピュータ100に送られるメッセージOS1に含まれることになり、セッションデータ構造130(図12)の一部になる。好適な実施の形態においては、顧客ユーザ203は、そのセッションが終了するまでの最長時間、そのセッションの間に生じるであろう取引の最大数、そのセッションの間に顧客ユーザ203が入手可能な電子キャッシュの金額及び通貨を入力する。顧客ユーザ203は、そのセッションの追加事項を入力してもよい。
【0542】
メッセージOS1が組み込まれ、顧客コンピュータ200からサーバコンピュータ100へ転送されて、セッション処理407が開始する。メッセージOS1の内容が、図69及び70に示されている。
【0543】
ラベル値ペア4613Aは“ID”ラベルを有する。ラベル値ペア4613Aは顧客ユーザ203用の個人IDを表示する。ラベル値ペア4613Aの値は領域220Aから得られる(図19)。
【0544】
ラベル値ペア4613Bは“取引”ラベルを有する。ラベル値ペア4613Bの値は、取引番号であり、その番号はメッセージOS1を唯一認識する顧客アプリケーションソフトウエア210によって生じる。ラベル値ペア4613Bは、メッセージOS1を受け取った時、(1)サーバコンピュータ100に、後述する応答メッセージOS2を送らせ、(2)メッセージOS1が2重メッセージであるかどうか(すなわち、サーバコンピュータ100がすでに受け取っているかどうか)を決定する。ラベル値ペア4613Bに関連する値は領域256B(図28)に蓄積される。
【0545】
ラベル値ペア4613Cは“日付”ラベルを有する。ラベル値ペア4613Bは、メッセージOS1が組立てられ、サーバコンピュタ100に送られた日付及び時刻を顧客コンピュータ200のクロックによって示す。ラベル値ペア4613Cに関連する値は領域256Cに蓄積される。
【0546】
ラベル値ペア4613Dは“サーバキー”ラベルを有する。後述するとおり、メッセージOS1の不透明ラベル値ペア4617を暗号化するための顧客コンピュータ200によって使用されるDESキー/IVペアが、サーバコンピュータ100のRSAパブリックキーを用いて暗号化される。ラベル値ペア4613Dはサーバプライベートキー構造160内に蓄積された対応するRSAプライベートキーをさす。
【0547】
ラベル値4613Eは、“サービスカテゴリ”ラベルを有する。ラベル値ペア4613Eの値は、メッセージOS1を、特別なサービスカテゴリのメッセージを取り扱うサーバコンピュータ100内のプロセッサに送るのに使用されるであろうラベルである。
【0548】
ラベル値ペア4617は“不透明”ラベルを有する。ラベル値ペア4617の値は、メッセージOS1の不透明部の内容(暗号化されたフォームで)を含む。
ここで、図70に示されたメッセージOS1の不透明部の内容を述べる。
【0549】
ラベル値ペア4617Aは“タイプ”ラベルを有する。ラベル値ペア4617Aの値は、メッセージOS1の不透明部の内容のラベルを設定するメッセージデータ構造150内の記録を示す。ラベル値ペア4617Aの値は、顧客ユーザ203が開設セッション処理407を開始する時に、ラベルを作る顧客アプリケーションソフトウエア210から得られる。
【0550】
ラベル値ペア4617Bは“サーバの日付”を有する。ラベル値ペア4617Bはサーバコンピュター100のクロックを認識する顧客コンピュータ200によって測定した、メッセージOS1が組立てられときの日付と時刻を表示する。
【0551】
ラベル値ペア4617Cは“swバージョン”(ソフトウエアバージョン)ラベルを有する。ラベル値ペア4617Cの値は、サーバコンピュータ100と連絡している顧客アプリケーションソフトウエア210のバージョンを表示する。
ラベル値ペア4617Cの値は、顧客アプリケーションソフトウエア210内のデータから得られる。ラベル値ペア4617Cに関連する値は領域256Dに蓄積される。
【0552】
ラベル値ペア4617Dは“レコードノート”ラベルを有する。ラベル値ペア4617Dの値は、領域130M(図12)に蓄積されるべき追加の短いテキストノートである。例えば、そのノートは、“クリスマスの買物”あるいは“スキー用具”などとすることができる。ラベル値ペア4617Dは顧客アプリケーションソフトウエア210からのプロンプトに対するカスタマユーザ203の応答から得ることができ、好ましくは、顧客アプリケーションソフトウエア210で作成される表示を簡単にするために60文字に限定されている。
【0553】
ラベル値ペア4617Eは“金額”のラベルを有し、ステップ1502において入力して、そのセッションの間に顧客ユーザ203が入手可能な電子キャッシュの最大金額を表示する。ラベル値ペア4617Eに関連する値は領域256Fに蓄積される。
【0554】
ラベル値ペア4617Fは、“キー寿命”ラベルを有し、顧客ユーザ203によって要求されるそのセッションが終了するまでの最大時間を表示するその値は、ステップ502で入力される。ラベル値ペア4617Fに関連する値は領域256Hに蓄積される。
【0555】
ラベル値ペア4617Gは“キーの使用制限”ラベルを有し、その値はステップ1502で入力して、顧客ユーザ203に要求される、セッションの間に生じるであろう取引の最大数を表示する。ラベル値ペア4617Gに関連する値は領域256Gに蓄積される。
【0556】
ラベル値ペア4617Hは“キー”ラベルを有する。ラベル値ペア4617Hの値は、顧客個人120.1のRSAパブリック/プライベートキーペアのモジュールのハッシュを表す。ラベル値ペア4617Hの値は、サーバコンピュータ100に、領域120B(図6)に維持されているRSAパブリックキーがメッセージOS1(ラベル値ペア4617I)をサインするのに必要とされるものと同じキーであることを確認させる。
【0557】
ラベル値ペア4617Iは“サイン”ラベルを有する。ラベル値ペア4617Iの値は、顧客個人120.1に関するデジタルサインを表す。メッセージOS1については、ラベル値ペア4617Iの値は、顧客個人120.1のRSAプライベートキーを用いて暗号化されたラベル値ペア3613A−4613D及びラベル値ペア4617A−4617Hのアルファベット順のハッシュである。顧客個人120.1のRSAプライベートキーは領域220H(図19)から得られる。
【0558】
メッセージOS1は、登録メッセージR1の組立ての時にすでに説明したメッセージアッセンブリ処理800(図49)を用いて組立てられる。以下に述べる変形例は、メッセージOS1について記されたものである。メッセージOS1のコピーは好ましくは、領域256Iに蓄積される。
【0559】
販売者コンピュータ300によるメッセージOS1を組立てる場合は、新規記録370.1(図46)が以下の用にして作られる。
【0560】
ラベル値ペア4613Bの値が、領域370Pに蓄積される。ラベル値ペア4617Fの値が領域370Qに蓄積される。ラベル値ペア4617Gの値が領域370Rに蓄積される。ステータス領域370Oの値が、販売者アプリケーションソフトウエア310によって、“試行”されるべくセットされる。
【0561】
図68を再び参照すると、ステップ1504で開設セッション処理407が続けられている。ここでは、顧客コンピュータ200がメッセージOS1をサーバコンピュータ100に転送する。顧客コンピュータ200は、サーバコンピュータ100からの応答メッセージOS2を待っている。
【0562】
ステップ1505では、サーバメッセージアンラップ処理900を実行することによってサーバコンピュータ100が顧客コンピュータ200からのアンラップメッセージOS1を受け取る。サーバメッセージアンラップ処理900(ステップ901−917)は、図52−53を用いて、メッセージR1のところですでに説明した。以下の変形例が考えられる。メッセージOS1のコピーが領域140E(図16)に蓄積される。
【0563】
ステップ1506において、ステップ909A、912、914、915または916のいずれかでステップ905において設定されるエラーフラッグが生じたら、ステップ1514においてエラー処理処理がサーバコンピュータ100によって実行される。ステップ1514におけるエラー処理のレベルが、管理者による決定である間は、顧客アプリケーションソフトウエア210によって処理され得るコード及び顧客ユーザ203によって読まれ得るメッセージを含む応答メッセージの結果、少なくとも、チェックサムの欠如、サイン、フォーム、及び致命的が、ソフトウエアチェック処理に戻ることが好ましい。ステップ1514におけるエラー処理処理は、特定のエラーコード(下記にリターンメッセージOS2のコンテキストにおいて述べる)とフラッグとを結び付け、テキストメッセージ(メッセージのデータ構造またはシステム管理者によって送られてくるメッセージのいずれかから)を製作する。次いで、サーバコンピュータ100は下記に述べるのと同様にしてメッセージOS2を作り、エラーコードと関連するメッセージを運ぶ顧客コンピュータ200に送る。
【0564】
ステップ909A、912、914、915及び916のテストでステップ905で設定されるエラーフラッグが生じないのであれば、ステップ1507で処理が続けられる。そこで、サーバコンピュータ100がセッションの認識番号(“セッションID”)、セッションの暗号化/復号化キー(“セッションキー”)及びセッションソルトを計算(演算)し、メッセージOS1に反映される顧客ユーザー203に要求されるセッションの限界を有効なものとする。
【0565】
セッションIDは、製作されるセッションを唯一認識する64ビット数である。唯一性は、セッションのIDがサーバコンピュータ100によって順次作成されるため、確実になる。
【0566】
セッションキーは、56ビットのDESキー(8ビットバイト毎に無視される最も少ない有効ビット)及び64ビットの初期化ベクトルを含む128ビット数である。
【0567】
セッションソルトは、セッションの間に交換されるメッセージCA1−CA4の鑑定を強化するために使用される8バイトの暗号ソルトである。メッセージCA1−CA4については後に述べる。
【0568】
顧客ユーザ203によって要求されるセッションの制限は、ラベル値ペア4617Eの金額、ラベル値4617Fのキーの寿命値、及びラベル値ペア4617Gのキーの使用制限値である。キーの寿命および使用制限については、これらの値が、システムの効率を改善し、セッションの間に実行される取引の安全性を最大にするために、サーバコンピュータ100で設定された固定値となることが好ましい。サーバコンピュータ100は、要求された値がこのような制限内になることを確かめる。許容値を越える要求された制限のいずれもが無視され、最大許容値はサーバコンピュータによって課せられる。
【0569】
ラベル値ペア4617Eの値は、顧客ユーザ203がそのセッションの間に使うことを希望する電子ファンドの金額である。セッションの間に顧客ユーザ203に入手可能となるこのようなファンドの実際の金額は、ステップ1502で顧客ユーザ203によって要求された金額より少ないか同じ金額である。例えば、顧客ユーザは顧客ユーザ203用のキャッシュコンテナ領域120G.2で入手可能な電子キャッシュより多い電子キャッシュを要求することができる。この場合、下記に述べるラベル値ペア4717Iに表示されているとおり、許される金額は、顧客ユーザ203用のキャッシュコンテナ領域120G.2に蓄積されている金額に制限される。
【0570】
ステップ1508で、サーバセッションデータ構造130(図12)が更新される。セッションIDはセッションID領域130Aに蓄積される。セッションキーはセッションキー領域130Bに蓄積される。セッションソルトはセッションソルト領域130CAに蓄積される。セッションの間顧客ユーザ203に入手可能な電子キャッシュの金額は、オープンニング金額領域130Eに蓄積され、領域130Eに蓄積されている値に関連する通貨指定者は領域130Dに蓄積される。最初は、領域130Fはオープンニング金額の値を反映している。電子キャッシュが使われると、領域130Fの値は、オープンニング金額と使用した金額との差を示す。実際にサーバコンピュータ100で許可されるキー寿命が、キー寿命領域130Jに蓄積される。実際にサーバコンピュータ100で許可されるキー使用制限がキー使用制限領域130Iに蓄積される。ラベル値ペア4613Aの値は個人ID領域130Kに蓄積される。セッションが作られる日付はサーバアプリケーションソフトウエア110から得られ、開設日付領域130Gに蓄積される。ラベル値ペア4617Dは記録ノート領域130Mに蓄積される。
サーバセッションデータ構造130の残りの領域は下記にCAタイプのメッセージの内容のところで述べる。
【0571】
ステップ1509の後、メッセージOS2が組み込まれ、サーバコンピュータ100から顧客コンピュータ200へ転送され、クレジットセッション処理407を完成させる。図71及び72を参照してメッセージOS2について述べる。
【0572】
ラベル値ペア4713Aは“ID”ラベルを有する。ラベル値ペア4713Aは顧客ユーザ203の個人IDを表示する。ラベル値ペア4713Aの値は、ラベル値ペア4613AでメッセージOS1で受け取った値と同じである。
【0573】
ラベル値ペア4713Bは“取引”ラベルを有する。ラベル値ペア4713Bの値はラベル値ペア4613BでメッセージOS1で受け取った値と同じである。
【0574】
ラベル値ペア4713Cは“日付”ラベルを有する。ラベル値ペア4713Cの値はラベル値ペア4613CでメッセージOS1で受け取った値と同じである。
【0575】
ラベル値ペア4713Dは“サービスカテゴリ”ラベルを有する。ラベル値ペア4713Dの値はメッセージOS1のラベル値ペア4613Eで受け取った値と同じである。
【0576】
ラベル値ペア4717は“不透明”ラベルを有する。ラベル値ペア4717の値は、メッセージOS2の不透明部の内容(暗号化されたフォームで)を含む。
ここに、図72に示すメッセージOS2の不透明部の内容を述べる。
【0577】
ラベル値ペア4717Aは“タイプ”ラベルを有する。ラベル値ペア4717Aの値は、メッセージOS2の不透明部の内容のラベルを設定するメッセージデータ構造270(図17)内の記録を示す。ラベル値ペア4717Aの値は、サーバソフトウエア110から得られる。
【0578】
ラベル値ペア4717Bは“サーバの日付”を有する。ラベル値ペア4717Bの値はサーバコンピュター100のクロックに応じてメッセージOS2が組立てられときの日付と時刻を表示する。
【0579】
ラベル値ペア4717Cは、上述したとおり“応答コード”ラベルと、“成功”または“失敗”値を有する。ラベル値ペア4717Cの値は、開設セッション処理407が成功か失敗かを表示する。
【0580】
ラベル値ペア4717Dは、“swセベリティ”(ソフトウエアセベリティ)ラベルと、“致命的”または“警告”の値を有する。ラベル値ペア4717Dの値は、顧客アプリケーションソフトウエア210を更新する必要があるか否かを表示するが、まで使用可能である(“警告”)かもはや使用できない(“致命的”)かを表示する。ラベル値ペア4717Dの値は、顧客アプリケーションソフトウエア210が存在すれば、零である。
【0581】
ラベル値ペア4717Eは“swメッセージ”(ソフトウエアメッセージ)のラベルを有する。ラベル値ペア4717Eは、ソフトウエアセベリティが“致命的”あるいは“警告”を表示している場合、顧客ユーザ203が何を行うべきかについての指示を表示する。ラベル値ペア4717Eの値は、ラベル値ペア4717Dの値がヌルでない場合にのみ存在する。
【0582】
ラベル値ペア4717Fは“メッセージ”ラベルを有する。ラベル値ペア4717Fの値は、ラベル値ペア4717Cに戻り、顧客ユーザ203に表示されるエラー状態またはサクセス状態に関連するフリーテキストメッセージである。ラベル値ペア4717Fの値は、二重に要求された個人IDを表示するメッセージ、不良デジタルサインまたは不良に形成されたメッセージOS1、及び顧客ユーザ203がどのように処理を進めるべきかに関する情報を含めることができる。
【0583】
ラベル値ペア4717Gは“キーの寿命”ラベルを有し、その値は、そのセッションが終了するまでの最長時間を表示するキーの寿命領域130J(図16)から得られる。
【0584】
ラベル値ペア4717Hは“キーの使用制限”ラベルを有し、その値は、そのセッションの間に生じるであろう取引の最大数を表示するキーの使用制限領域130Iから得られる。
【0585】
ラベル値ペア4717Iは“金額”ラベルを有し、そのセッションの間に顧客ユーザ203が入手可能な電子キャッシュの最大額を表示する。ラベル値ペア4717Iの額は、ステップ1502で顧客ユーザ203によって要求される額より少ないかあるいはその額と同じである。
【0586】
ラベル値ペア4717Jは“外貨交換”ラベルと、ラベル値ペア4217Iの値に含まれる通貨から他の通貨へ、例えば、US$からカナディアンドルへの交換レートを表示する値を有する。好ましくは、表示された交換レートは、元になる通貨の100多数単位に対する目的地の小数単位の数(小数単位の数がない場合多数単位)である。
【0587】
ラベル値ペア4717Kは“セッションファンド”ラベルを有する。ラベル値4717Kの値は、ラベル値ペア4417Iの金額を含むすべての開設セッションに送れられた電子キャッシュの額を表示する。顧客個人120.1は開いているセッションのどの番号をもっていてもよい。ラベル値ペア4717Kは顧客ユーザ203に丁度開いたセッションを含む全ての開設セッションに最初に割り当てられたファンドの額に関する情報を提供する。
【0588】
ラベル値ペア4717Lは“バランス”ラベルを有する。ラベル値ペア4717Lの値は、サーバセッションデータ構造130の開設金額領域130Eへの電子キャッシュファンドの転送の後、顧客ユーザ203用のサーバ個人データ構造120のキャッシュコンテナ120G.2に蓄積された電子キャッシュの額を表示する。
【0589】
ラベル値ペア4717Mは“オンホールド”ラベルを有する。ラベル値ペア4717Mの値は、キャッシュコンテナ120G.3から得られ、顧客ユーザ203用の個人120.1でクリアされている未回収の電子キャッシュの額を表示する。この値は、同意を待っているあるいは、それからファンドがロードされるまたはそれへファンドがアンロードされる手段の発行によって処理される電子キャッシュを表示する。
【0590】
ラベル値ペア4717Nは、“料金”ラベルを有する。ラベル値ペア4717Nの値は、もしあるのであれば、メッセージOS1を処理するのに関連する顧客ユーザー203にかかる料金を表示する。
【0591】
ラベル値ペア4717Oは“セッションのID”ラベルを有する。ラベル値ペア4717Oの値は、領域130AのセッションのIDから得る。
【0592】
ラベル値ペア4717Pは“セッションキー”ラベルを有する。ラベル値ペア4717Pの値は、領域130Bのセッションキーから得る。
【0593】
ラベル値ペア4717Qは“セッションソルト”ラベルを有する。ラベル値ペア4717Qの値は、領域130Cのセッションソルトから得る。
【0594】
図68に示すステップ1509では、サーバソフトウエア100が、図2に示すフロー図に基づいてメッセージOS2を組立てる。サーバメッセージ組立処理1000は、メッセージR2の組立てのところですでに述べた。
【0595】
ステップ1509Aでは、メッセージOS2がサーバコンピュータ100から顧客コンピュータ200へ送信(伝送)される。
【0596】
ステップ1510では、顧客コンピュータ200がサーバコンピュータ100からメッセージOS2を受取り、メッセージOS2用のメッセージアンラップ処理1100を実行してメッセージOS2をアンラップする。メッセージアンラップ処理1100(ステップ1101−1121)については、図57に基づいてメッセージR2のところですでに述べた。
【0597】
ステップ1511においては、
(1)ステップ1105でエラーフラッグがセットされていれば、そのフラッグがステップ1511で検出されて、ステップ1512でメッセージOS2の処理が終了する。顧客ユーザ203からは、メッセージOS2に関しては更なる動作はなんらとられない。本発明では、機構は顧客アプリケーションソフトウエア210の中に設けられており、メッセージを作り出してサーバコンピュータ100に送る。このメッセージは顧客コンピュータ200で受け取ったOS2メッセージと、そのメッセージがないときに何が生じるかについての診断を含んでいる。このメッセージに対してはなんらの応答もサーバコンピュータ100から顧客コンピュータ200へ送られない。むしろ、システム内に問題があるのか否か、及び適切な補正手段を取る必要があるのか否かを確かめるために情報が使用される。
【0598】
(2)ステップ1105でエラーフラッグはセットされていないが、ステップ905においてメッセージOS1にエラーが検出されたら、ステップ1513において処理が続けられ、ラベル値4717Cの内容がチェックされる。ラベル値4717Cの値が“成功”以外のものであれば、ステップ1515でエラー処理ルーチンが行われ、顧客アプリケーションソフトウエア210にラベル値4717Cの内容に関連するラベル値4717Fに含まれるメッセージを表示させ、ラベル値4717Cの値を解読して、その値に関連していると思われる動作が取られる;または
(3)メッセージOS1がステップ905におけるチェックを通過して、ステップ1105でなんらフラッグがセットされなければ、ステップ1516における処理が続けられ、顧客アプリケーションソフトウエア210が顧客データベース202を更新する。
【0599】
顧客セッションのデータ構造240は次のように更新される。
【0600】
セッションIDはセッションID領域240Cに蓄積されてる。セッションキーはセッションキー領域240Bに蓄積されてる。セッションソルトはセッションサルト領域240Cに蓄積される。ラベル値ペア4717Iは通貨指定と量を含む。ラベル値の量は開設金額領域130Eに蓄積され、領域130Eに蓄積されている値に関連する通貨指定波領域130Dに蓄積する。ラベル値ペア4717Gの値は、キー寿命領域240Kに蓄積される。ラベル値ペア4717Gの値は、キー使用制限領域2401Jに蓄積される。
【0601】
領域240Fは、当所、領域240Eにおける開始金額の値を反映する。電子キャッシュが使用されれば、領域240Fの値が開設金額と使用した金額との差を反映することになる。顧客セッションデータ構造240の残りの領域は、以下で、CAタイプのメッセージの内容においてのべる。
【0602】
顧客セッションデータ構造240に記録されている値に加えて、顧客ログデータ構造260の記録265が続いて更新される。ラベル値ペア4713Aの個人IDは領域265Hに蓄積される。ラベル値ペア4713Bからの取引数は領域265Bに記録される。ラベル値ペア4717Bからの日付は領域265Cに蓄積される。ラベル値ペア4717Cからの応答コードは、領域265Fに蓄積される。ラベル値ペア4717Dからのソフトウエアセベリティコードは領域265Dに蓄積される。ラベル値ペア4717Eからのソフトウエアメッセージは領域265Eに蓄積される。ラベル値ペア4717Fからの応答コードに関連する応答メッセージは、領域265Gに蓄積される。ラベル値ペア4717GKらのキー寿命は、領域265Kに蓄積される。ラベル値ペア4717Hからのキー使用制限は領域265Jに蓄積される。ラベル値ペア4717Iからの金額は領域265Iに蓄積される。ラベル値ペア4717Lからのバランスは、領域265Pに蓄積される。ラベル値ペア4717Nからの料金は領域265Oに蓄積される。ラベル値ペア4717OからのセッションIDは領域265Lに蓄積される。
【0603】
開設セッション処理が販売者ユーザ303によって開始されたら、販売者キャッシュログデータ構造370の記録370.1が次のようにして更新される。
【0604】
ラベル値ペア4717Cからの応答コードは領域370Oに蓄積される。ラベル値ペア4717Cからの応答コードに関連するラベル値ペア4717Fからのメッセージは、領域370Tにセーブされる。ラベル値ペア4717OからのセッションIDは領域370Sに蓄積される。
【0605】
処理がステップ1517に続き、ここで開設セッション処理が終了する。
【0606】
F.取引/支払処理409
顧客ユーザ203及び販売者ユーザ303がセッションを開設すると、安全なキャッシュ取引がインターネット50上に生じる。この内容の安全性とは、顧客ユーザ203と販売者ユーザ303とが互いに信頼でき、電子ファンドが委任されていない第三者にアクセスされるリスクがなく、かつ、両者が、サーバコンピュータ100によって有効とされた取引に同意するまで電子キャッシュが転送されないことを意味する。
【0607】
取引は、インターネット50上で購買をする顧客ユーザ203、販売者個人120.2を有する販売者ユーザ303を含む。公知の技術を用いて、顧客ユーザ203と販売者ユーザ303とは、顧客ユーザ203が販売者ユーザ303から提供される品物に対して支払うべく金額に同意する。販売者ユーザ303が支払を要求した時、顧客ユーザ203は電子キャッシュでの支払を決定する。この決定は、顧客ユーザ203によって購入された品物に対する販売者ユーザ303への支払総計の結果となるメッセージの交換を引出す。
【0608】
図73−75は、ステップ1701で始まる取引/支払処理409を示すフロー図である。
【0609】
ステップ1702Aにおいて、販売者コンピュータ300がメッセージPR1を組立てる。メッセージPR1は暗号化されたデータを含まないことが好ましい。従って、メッセージPR1を組立てるには、メッセージ組立て処理800(図49)のステップ814−817のみが必要である。メッセージPR1の内容を図76を参照して以下に述べる。
【0610】
ラベル値ペア5013Aは“タイプ”ラベルを有する。ラベル値ペア5013Aの値は、PR1を含むラベルをセットするメッセージデータ構造270(図17)の記録を引用する。ラベル値ペア5013Aの値は販売者アプリケーションソフトウエア310から得られる。
【0611】
ラベル値ペア5013Bは“販売者ID”を有する。ラベル値ペア5013Bの値は、販売者ユーザ303の個人IDを表す。ラベル値ペア5013Bは領域320A(図40)から得られる。
【0612】
ラベル値ペア5013Cは“販売者注文ID”ラベルを有する。ラベル値ペア5013Cの値は、販売者コンピュータ300で生じる注文ID番号(“注文ID”)を表示し、特別な注文を意味する。ラベル値ペア5013Cの値は領域370C(図46)に蓄積される。
【0613】
ラベル値ペア5013Dは“販売者日”ラベルを有する。ラベル値ペア5013Dの値は、メッセージPR1が組み込まれた日時を販売者コンピュータ300のクロックによって表わす。
【0614】
ラベル値ペア5013Eは“販売者ソフトウエアのバージョン”ラベルを有する。ラベル値ペア5013Eの値は、顧客コンピュータ200と繋がっている販売者アプリケーションソフトウエア310のバージョンを表す。ラベル値ペア5013Eの値は販売者アプリケーションソフトウエア310から得られる。
【0615】
ラベル値ペア5013Fは“ノート”ラベルを有する。ラベル値ペア5013Fは、販売者ユーザ303によって顧客ユーザ203に提供されている商品を表す。ラベル値ペア5013Fの値は、販売者303あるいは第三者によって提供されるソフトウエアから販売者アプリケーションソフトウエア310によって得られる。
【0616】
ラベル値ペア5013Gは“販売者の金額”ラベルを有する。ラベル値ペア5013Gの値は、ラベル値ペア5013Fで述べた商品の通貨と金額を表す。
【0617】
ラベル値ペア5013Hは“受領”ラベルを有する。ラベル値ペア5013Hの値は、販売者ユーザ303によって受入れられたクレジットカード(あれば)を表す。ラベル値ペア5013Hの値は、販売者ユーザ303から得られる。
【0618】
ラベル値ペア5013Iは“url−pay−to”ラベルを有する。ラベル値ペア5013Iの値は、インターネット50のユニフォームリソースロケータである。ラベル値5013Iのインターネット50のユニフォームリソースロケータは、顧客コンピュータ200が後述するメッセージCA1を送るべきインターネット50上の住所である。
【0619】
ラベル値ペア5013Jは“url−キャンセル”ラベルを有する。ラベル値ペア5013Jの値は、インターネット50のユニフォームリソースロケータである。ラベル値5013Jのインターネット50のユニフォームリソースロケータは、顧客ユーザ203が取引をキャンセルすることを決定したら、顧客コンピュータ200によって使用される。
【0620】
ラベル値ペア5013Kは“url−成功”ラベルを有する。ラベル値ペア5013Kの値は、インターネット50のユニフォームリソースロケータであり、これは、取り引きが成功すれば、顧客ユーザ200をワールドワイドウエブウエノアドレスに導く。取引の成功は、後述するとおり、メッセージCA4において報告される。例えば、取引がサーバコンピュータ100によって、有効になったら、ラベル値ペア5013Kの値は、顧客ユーザ200を顧客ユーザ203を購買のためのウエブページへ導く。
【0621】
ラベル値ペア5013Lは“url−失敗”ラベルを有する。ラベル値ペア5013Lの値は、インターネット50のユニフォームリソースロケータであり、これは、取引が成功しない場合に、顧客ユーザ200をワールドワイドウエブ上のアドレスに導く。取引の失敗は、後述するとおり、メッセージCA4において報告される。例えば、取引がサーバコンピュータ100によって、非有効になったら、ラベル値ペア5013Lの値は、顧客ユーザ203に再び購買させるためのウエブページへ顧客ユーザコンピュータ200を導く。
【0622】
ラベル値ペア5013Mは“販売者がサインしたハッシュキー”ラベルを有する。ラベル値ペア5013Mの値は、下記に述べるように、販売者のサインしたハッシュラベル値ペア5013Nのハッシュにサインするために、販売者コンピュータ300によって使用されているRSAパブリック/プライベートキーのペアの係数部のハッシュを表す。ラベル値ペア5013Mの値は、サーバコンピュータ100に、領域120CC(図9)に蓄積されている販売者個人120.2のRSAパブリックキーが、“販売者のサインしたハッシュ”ラベル値ペア5013Nをサインするのに使用されたのと同じキーであること、あるいはラベル値ペア5013Nの復号化が失敗した場合、その失敗の理由を確認させる。
【0623】
ラベル値ペア5013Nは“販売者がサインしたハッシュキー”ラベルを有する。メッセージPR1について、ラベル値ペア5013Nの値は、ラベル値ペア5013A−5013Mの順のハッシュである。このハッシュがサインされ、ハッシュが再度ハッシュされた、次いで、販売者個人120.2用のRSAプライベートキーで暗号化されたことを意味する。RSAプライベートキー販売者個人120.2は領域320H(図40)から得られる。
【0624】
ラベル値ペア5013Oは“販売者金額2”ラベルを有する。ラベル値ペア5013Oは、ラベル値ペア5013Gで特定された金額に関してのそれ以外の通貨における金額を表す。
【0625】
ラベル値ペア5013Nのサインは販売者個人120.2用のパブリックキーをもっていないため、顧客ユーザ203はそのサインが本物であるかどうかを証明することができない。ラベル値ペア5013Nは、取り引きに紛争が生じた場合には、顧客アプリケーションソフトウエアで蓄積するようにしてもよい。このような場合、サーバコンピュータ100は、メッセージPR1が実際に販売者コンピュータ300に送られたかどうかを決定するためにラベル値ペア5013Nを使用することができる。
【0626】
図73を再度参照すると、ステップ1702Bで、新規記録350.1(図44−47)が次の用に加えられている(組み立てられている)。
【0627】
ラベル値ペア5013C(販売者注文IDに関する)が注文ID領域350Aにて蓄積される。
【0628】
ラベル値ペア5013G(販売者ユーザ303が商品の対価として受け取る金額に関する)が金額領域350Bに蓄積される。
【0629】
取引/支払処理409はステップ1702Cに続く。ここでは、販売者コンピュータ300がメッセージPR1を顧客コンピュータ200に転送する。販売者コンピュータ300は顧客コンピュータ200からのメッセージCA1を待つ。
【0630】
ステップ1702Dでは、顧客コンピュータ200が販売者コンピュータ300からメッセージPR1を受取って、メッセージアンラップ処理3300を実行してアンラップする。ステップ3301で始まるメッセージアンラップ処理3300は図77を参照して、以下に述べる。
【0631】
ステップ3302で、顧客アプリケーションソフトウエア210がメッセージPR1のヘッダ5005のプロトコル(バージョン)番号を抽出する。次いで、抽出されたプロトコル番号に基づいて、メッセージテンプレートデータ構造270(図17)がアクセスされ、メッセージPR1の所定のフォーマットを決定する。この所定のフォーマットは、メッセージシンタックス(例えば、end−of−lineの文字を許可する)及びメッセージコーディング(例えば、ASCIIやhexなど)を含むことができる。メッセージPR1は所定のフォーマットに基づいて、以下の通り分析される。
【0632】
ステップ3303では、顧客コンピュータ200が販売者コンピュータ300で使用されているのと同じデータを用いてチェックサムを計算する。ステップ3304Aでは、ステップ3303で計算されたチェックサムがメッセージPR1のトレイラ5050のチェックサムと比較される。このチェックサムが等しくない場合は、メッセージPR1がステップ3304Bで破棄される、メッセージアンラップ処理3300もそこで終了する。
【0633】
このチェックサムがステップ3304Aで同じであれば、処理がステップ3304Cで続けられ、そのメッセージがチェックされて、メッセージアンラップ処理3300に適当であるか否かを決定する。メッセージが、その透明部分に“タイプ”ラベルを含み、値PR1を含んでいる場合は、そのメッセージは妥当である。メッセージが、ラベル値ペアを有していない場合は、そのメッセージは、メッセージアンラップ処理3300に対して不適当である。メッセージアンラップ処理では、他でも述べたように、そのメッセージを他のアンラップ処理に変更するステップ3304Dでケース処理が続けられる。メッセージPR1が適当であり、従って、メッセージのタイプがラベル値ペア5013Aの値を参照することにより決定されるステップ3304Eにて、処理が続けられる。この場合、ラベル値ペアの値は“支払−要求”である。
【0634】
ステップ3305では、メッセージPR1の形式のチェックが行われる。ステップ3305での形式チェック処理は、ソフトウエアのバージョンに依存する。
すなわち、所定のメッセージの形式、及び受入れ可能か否かを決定するクリテリアは、そのメッセージと所定の時刻において有効なメッセージの変形に依存する。少なくとも、形式チェック処理は、収入メッセージがそのメッセージについて規定された全てのラベルを含んでいるかどうか、値を要求する各ラベルにたいする値が存在するかどうか、及びその値がそのタイプ(例えば、テキスト、サインされた番号)、シンタックス、及び必要な特定の制限事項であるかどうかを確実なものにする。追加のラベルがあるばあいは、顧客コンピュータ200はそれを無視する。メッセージが分析できない場合、あるいは分析できるが形式クリテリアに合致しない場合は、ステップ3306でエラーフラッグがセットされる。この場合、メッセージアンラップ処理3300はステップ3309で終了する。
【0635】
メッセージPR1が正しい形式であれば、ステップ3307で処理が継続される。ここでは、顧客アプリケーションソフトウエア210が、以下のようにして新規記録266を加える(更新する)。
【0636】
ラベル値ペア5013Bの販売者−ID値が領域266Aに蓄積される。ラベル値ペア5013Cの販売者−注文−IDは領域266Bに蓄積される。ラベル値ペア5013Gの金額値は領域266Cに蓄積される。ラベル値ペア5013Fの販売者−ノート値は領域266Dに蓄積される。5013Iの支払いURL数値は領域266Fに蓄積される。
【0637】
メッセージアンラップ処理3300はステップ3309で終了する。
【0638】
図73−75を再び参照すると、ステップ1703で顧客コンピュータ200が販売者ユーザ303の顧客ユーザ203への申し入れを表示する。ラベル値ペア5013F及び5013Gの値(顧客ユーザ203に販売された商品及びその申し入れ価格を記述する)が表示される。
【0639】
ステップ1704Aでは、顧客ユーザ203が販売者ユーザ303の申し入れを受ける。それは、この時点において顧客ユーザ203が様々な支払方法(たとえば、クレジットカードや電子キャッシュ)を与えられることを見越したものである。顧客ユーザ203がクレジットを選択した場合は、他の処理は、ここで破棄されない場所におかれる。顧客ユーザ203がその商品の支払を電子キャッシュで行うことを希望する場合は、ステップ1705にて処理が続けられる。
【0640】
ステップ1705では、顧客アプリケーションソフトウエア210が顧客ユーザ203が開設セッションを有しているか否かを検索レコード240(図21)を用いて決定する。
【0641】
顧客ユーザ203が開設セッションを有していなければ、ステップ1706へ処理を進める。上述したとおり、ここで、開設セッション処理405を用いて、セッションが開設される。
【0642】
顧客ユーザ203が開設セッションを有してるか、あるいは開設セッション処理405を実行した後であれば、処理はステップ1701Aで継続される。顧客コンピュータ200は次のようにして、メッセージCA1を組立てる。
【0643】
図78に、メッセージ組立て処理CA12が示されている。(“CA12”はこのメッセージ組立て処理が実行されメッセージCA1とCA2とを組立てることを意味する。)
【0644】
メッセージCA1用のメッセージ組立て処理CA12はステップ1621で開始する。メッセージCA1は図79及び80に示されている。
【0645】
ステップ1622で、顧客アプリケーションソフトウエア210がメッセージテンプレートデータ構造270(図17)にアクセスして、ラベルのリストを得る。このリストは、関連する値に整合したときに、メッセージCA1の透明ラベル値ペア5113A−5113Iを決定する。ステップ1623においては、値は、各ラベルに関連している。これらのラベル値ペアについて以下に述べる。
【0646】
ラベル値ペア5113Aは“タイプ”ラベルを有する。ラベル値ペア5113Aの値は、メッセージCA1を含むラベルを設定するメッセージデータ構造150(図5)の中の記録を示す。ラベル値ペア5113Aの値は顧客アプリケーションソフトウエア210から得る。
【0647】
ラベル値ペア5113Bはラベルの“バージョン”を示す。ラベル値ペア5113Bの値は、ラベル値ペア5113Aによって表示されたタイプの記録の中の記録を示すメッセージデータ構造270(図17)に蓄積されているコードである。ラベル値ペア5113Bの値は、メッセージデータ構造270から顧客アプリケーションソフトウエア210によって回復される。
【0648】
ラベル値ペア5113Cは“セッション−ID”のラベルを有する。ラベル値ペア5113Cの値は領域240A(図21)のセッション−IDから得られる。
【0649】
ラベル値ペア5113Dは“インデックス”のラベルを有する。ラベル値ペア5113Dの値は、顧客アプリケーションソフトウエア210でそのセッション内で取り引きに割り当てられた整数であり、領域240Bに蓄積されているセッションキーを使用することを表示する。値のレンジは1と領域240Jで蓄積されたキー使用制限である。
【0650】
ラベル値ペア5113Eは、“受取人通貨”ラベルを有し、その値はメッセージPR1のラベル値ペア5013Gの通貨部分によって表示される。ラベル値ペア5113Eの値は、販売者ユーザ303が取り引きにおいて支払う意志のある通貨を示している。
【0651】
ラベル値ペア5113Fは“ノート−ハッシュ”ラベルを有する。ラベル値ペア5113Fの値は、メッセージPR1のラベル値ペア5013Fのハッシュを示す。
【0652】
ラベル値ペア5113Gは“受取人−ID”ラベルを有する。ラベル値ぺ5113Gの値は、メッセージPR1のラベル値ペア5113Bの値から得られる販売者個人IDである。
【0653】
ラベル値ペア5113Hは“注文−ID”ラベルを有する。ラベル値ペア6113Hの値は、メッセージPR1のラベル値ペア5113Cの値から得られる注文IDである。
【0654】
ラベル値ペア5113Iは“サービスカテゴリ”ラベルを有する。ラベル値ペア6113Iの値は、販売者コンピュータ300で、特別なサービスカテゴリのメッセージを操作する販売者コンピュータ300内のプロセッサへメッセージCA1を送るのに使用され得るラベルである。
【0655】
ステップ1624では、顧客アプリケーションソフトウエア210が、図81のフロー図に示すように、CA−DES−キー発生処理によって、56−ビットのDESキーDES−CA1を発生する。
【0656】
DESキーDES−CA1の発生はステップ1610で開始する。
【0657】
ステップ1611において、顧客アプリケーションソフトウエア210は数量Q、8バイト数を構築(計算)する。数量Qは、メッセージCA1のラベル値ペア5113A、5113B及び5113Dの値の連結体である。その結果としてのDESキーの各メッセージによる交換が、CA−DES−キー発生処理1600で生じる各DESキーが唯一のものとなる可能性を上げることが好ましい。本発明では、セッションキー領域240Bの値及びラベル値ペア5113D(“インデックス”)は、両方が取られる場合、通常各要求メッセージ(メッセージCA1及びCA2を意味する)、及び各応答メッセージ(メッセージCA3及びCA4を意味する)毎に異なる。更に、ラベル値ペア5113A(“タイプ”)の値は応答と要求を区別して、その結果二つのメッセージのいずれもが同じDESキーで暗号化される可能性を低いものとしている。追加的な変化しやすさがラベル値ペア5113B(“バーション”)によって得られる。
【0658】
本発明においては、メッセージCA1のラベル値ペア5113A、5113B、及び5113Dの結合体は、4バイトの量を意味する。所望の8バイトの値に到達するために、結果としての結合体が左側に4バイトのゼロをもって詰込まれることになる。
【0659】
ステップ1612では、64ビットの初期化ベクトルが得られる。この初期化ベクトル領域240Bの下側64ビットのセッション−キーである。この初期化ベクトルは開設セッション処理407の間に発生する。
【0660】
ステップ1613では、ステップ1611で計算された数量Qとステップ1612で得られる初期化ベクトルについての論理“エックスクルーシブOR”(XOR)の操作が行なわれる。
【0661】
ステップ1614では、ステップ1613(64ビットの値)でこのXOR操作が行われが結果が、セッションキー領域240Bの上側64ビットに蓄積された56ビットDESキーを用いて暗号化される。この56ビットDESキーは開設セッション処理407間に発生する。
【0662】
ステップ1615では、ステップ1614のXORの暗号化の結果のパリティビットが除去される。このようにして、56ビットDESキーDES−CA1が作られる。
【0663】
メッセージCA1のCA−DES−キー生成処理1600はステップ1617で終了する。
【0664】
図78を再度参照すると、メッセージCA1のメッセージ組立て処理CA12が、ステップ1625で継続される。ここでは、DESキーDES−CA1がテンポラリレジスタに蓄積(保存)される。
【0665】
ステップ1626では、顧客アプリケーションソフトウエア210がメッセージテンプレートデータ構造270(図17)にアクセスして、ラベルのリストを得る。このリストは、関連する値に合致すれば、メッセージCA1の不透明部の内容を作る。
【0666】
メッセージCA1の不透明部は図80に示されており、ここでは、ラベル値ペア5117Aは“金額”ラベルを有する。ラベル値ペア5117Aの値は通貨及び顧客ユーザ203が商品に支払う金額を示す。
【0667】
ラベル値ペア5117Bは“オース−コード”ラベルを有し、ステップ1628で作られる。メッセージCA1に対して、ラベル値ペア5117Bは、領域240Cの8バイトソルト、ラベル値ペア5113A、5113C−5113H及び5117Aの値、及び領域240Cの結合体のハッシュである。ハッシングを行う前に、ラベル値ペア5113A、5113C−5113H及び5117Aの全ての値の中の白紙スペースを移動させて、縦のバーセパレータ特性が隣接する各ペアの値の中に挿入する。
【0668】
真正を証明するコードはデジタルサインではない。デジタルサインはラベル値ペア5117Bで反映されたオースコードに代えて使用することができる一方、処理時間の期間内にこのような使用をするコストは、ハッシュを処理するのに比して相当なものである。顧客ユーザ203及び販売者ユーザー303に対して限定された期間を有する独立したセッションを使用することによって所定のセーブガードが与えられると、暗号化のベースとなる非拒絶の利益は処理時間にかかるコストに優るのに十分でない。
【0669】
ステップ1629では、ステップ1628で作られたラベル値ペア5117Bが、ラベル値ペア5117Aに追加されている。ラベル値ペア5117A及び5117Bは、DESキーDES−CA1を用いて暗号化され、ステップ1625でテンポラリレジスタに蓄積される。
【0670】
ステップ1630では、ステップ1629で暗号化されたデータが公知の技術を用いて符号化される。
【0671】
メッセージCA1はステップ1631−1634で組立てられる。ステップ1631では、顧客メッセージテンプレートデータ構造270(図17)のメッセージテンプレードファンドと、顧客アプリケーションソフトウエア210に埋まっているプロトコル番号を用いて、ヘッダ5105が作られる。
【0672】
ステップ1632では、透明ラベル値ペア5113A−5113Hが付加される。
【0673】
ステップ1633では、不透明ラベル値ペア5117が付加される。ラベル値ペア5117は続く値が暗号データ化されることを表す“不透明”ラベルを有する。ラベル値ペア5117の値はステップ1630で暗号化されたデータを表す。
【0674】
トレーラ5150はステップ1634で組立てられる。トレイラ5150のチェックサムは上述したように、サンプルメッセージ4000に関連して計算される。トレーラ5150はメッセージCA1の残りに加えられる。
【0675】
メッセージCA1の組立ては、これで終了する。メッセージCA1のメッセージの組立て処理CA12はステップ1635で終わる。
【0676】
図73−75を再度参照すると、ステップ1707Aで処理が継続している。
ここでは、顧客コンピュータ200が以下の通り、新規記録253(図25)を追加する。
【0677】
顧客アプリケーションソフトウエア210は、値、好ましくは“キャッシュ−支払”を作り、それをタイプ領域253Aに蓄積する。
【0678】
顧客アプリケーションソフトウエアは、取り引き番号及び日付を作り、取り引き番号領域253B及び日付/時刻領域253Cに蓄積する。
【0679】
メッセージCA1を作るのに使用される顧客アプリケーションソフトウエア210のソフトウエアバージョンは、顧客アプリケーションソフトウエア210から得られ、ソフトウエアバージョン領域253Dに蓄積される。
【0680】
顧客個人120.1の個人IDは、領域220Aから得られ、領域253Eに蓄積される。
【0681】
メッセージPR1のラベル値ペア5013Cの値は、注文ID領域253Fに蓄積される。
【0682】
ラベル値ペア5013Bの値は販売者ID領域253Gに蓄積される。
【0683】
ラベル値ペア5117Aに関連する値は、金額領域253Hに蓄積され、顧客セッションデータ構造240の通貨値領域240Fから差引かれる。
【0684】
ユーザメモ領域253Iは、取引を示す顧客からの選択的なノート(メモ)を蓄積する。ユーザメモ領域253Iは、顧客ユーザ203が支払に同意した時に顧客アプリケーションソフトウエア210からのプロンプトに応答して顧客ユーザ203から得られる。
【0685】
メッセージPR1からのラベル値ペア5013Iの値は領域253Jに蓄積される。
【0686】
メッセージCA1のコピーは好ましくは、領域253Kに蓄積される。
【0687】
図73を再度参照すると、処理がステップ1708へ続いている。ここでは、顧客コンピュータ200がメッセージCA1を販売者コンピュータ300へ転送する。顧客コンピュータ200は、販売者コンピュータ300から応答メッセージCA4を待つ。
【0688】
ステップ1709では、販売人コンピュータ300が顧客コンピュータ200からメッセージCA1を受取り、メッセージアンラップ処理CA1を実行して、メッセージCA1をアンラップする。メッセージアンラップ処理CA1は、ステップ1641で始まる図82を参照して述べることにする。
【0689】
ステップ1642では、販売者ソフトウエア310がメッセージCA1のヘッダ5105のプロトコル番号を抽出する。領域5105Cのこの抽出されたプロトコル番号に基づいてメッセージデータ構造380にアクセスされ、メッセージCA1の所定のフォーマットを決定する。この予期されたフォーマットは、メッセージシンタックス(例えば、end−of−lineの文字を許すなど)と、メッセージコーディング(例えば、ASCIIまたはhex)を含めてもよい。
メッセージCA1は、以下の通り、期待されたフォーマットによって分析される。
【0690】
ステップ1643では、販売者コンピュータ300が、メッセージCA1のメッセージ組立て処理CA12のステップ1633で顧客コンピュータ200によって使用される同じデータを用いたチェックサムを計算する。ステップ1644では、ステップ1643で計算したチェックサムがメッセージCA1のトレーラ5150のチェックサムと比較される。もし、そのチェックサムが等しくなければ、CA1メッセージアンラップ処理が終了するステップ1644Dで廃棄される。
【0691】
ステップ1644でチェックサムが等しければ、ステップ1644Bに処理が継続され、そこでメッセージをチェックして、メッセージアンラップ処理CA1に適当であるかどうかを決定する。メッセージが、メッセージの透明部分に“タイプ”ラベルを含むものであり、その値がメッセージCA1を表示するものであれば、それは適当である。メッセージがラベル値ペアを含んでいなければ、適当でない。メッセージが適正である場合、ステップ1664Cにおいて処理が継続され、メッセージは別の販売者アンラップ処理に転送される。メッセージCA1は適当であり、従って、処理はステップ1644Bで継続され、ここでラベル値ペア5113Aを基準にすることによってメッセージタイプが判定される。
【0692】
ステップ1645においてメッセージCA1のフォームチェックが実行される。ステップ1645のフォームチェック処理は、ソフトウエアバージョンに依存する。すなわち、メッセージの所定のフォーム、及び受入れ可能か否かを決定するクリテリアは、すでに述べたとおり、メッセージのタイプとメッセージCA1に与えられているバージョン情報、及びメッセージデータ380で決まる所定の時間に有効になるメッセージとメッセージの変形に依存する。少なくとも、フォームチェック処理は、入ってくるメッセージがそのメッセージに対して予め決められたラベルを全て含んでいるかどうか、値を要求する各ラベルに対して値があるか否か、及び、その値が、タイプ(例えば、テキスト、サインした番号)、シンタックスに関するものであり、要求されている特別な限定内にあるかどうかを確実にする。メッセージが分析できない場合、あるいは分析できてもフォームクリテリアが合致しなかった場合は、ステップ1647でエラーフラッグが設定される。この場合、メッセージアンラップ処理CA1はステップ1648で終了する。メッセージCA1がステップ1645のフォームチェックをパスした場合は、処理がステップ1646で継続され、ラベル値5117の値がテンポラリレジスタに蓄積される。メッセージアンラップ処理CA1はステップ1648で終了する。
【0693】
再度、図73−75を参照すると、ステップ1710Aで処理が再開する。ステップ1647でエラーフラッグが設定されたら、ステップ1710B処理が継続され、販売者エラー処理処理が呼出される。
【0694】
ステップ1647でフラッグが設定されない場合は、処理は、ステップ1711Aで継続される。ここで、販売者コンピュータ300は、図78に示すメッセージ組立て処理CA12に基づいて、メッセージCA2(図83)を組立てる。
メッセージ組立て処理CA12については、DES−キーDES−CA2が、CA−DES−キー処理1600を用いて発生する(むしろDESキーDES−CA1以外)ことを除いて、メッセージCA1のところですでに述べた。メッセージCA1の内容は、図83に示されているように、以下のものとなる:
【0695】
ラベル値ペア5213Aは“タイプ”ラベルを有する。ラベル値ペア5213Aの値は、メッセージCA2を含むラベルを設定するサーバメッセージデータ構造150内の記録を表す。ラベル値ペア5213Aの値は、販売者アプリケーションソフトウエア310から得られる。
【0696】
ラベル値ペア5213Bは、“バージョン”ラベルを有し、上述したとおり、タイプの記録に関する記録を表す。ラベル値ペア5213Bの値は、フォームに関する情報、ラベル値ペア5213A,5213C,5213D,および5213Eの内容、ならびにラベル値ペア5217.1と5217.2を解読および分析するための情報を含んでいる。以下に記すように、ラベル値ペア5217.1と5217.2の形式および内容に関する追加的な情報は、ラベル値ペア5217.1Bに提供される。ラベル値ペア5213Bは、メッセージデータ構造380(図38)から販売者アプリケーションソフトウエア310によって検索される。
【0697】
ラベル値ペア5213Cは“セッションID”ラベルを有する。ラベル値ペア5213Cの値はセッション−ID領域340A(図42)から得られる。
【0698】
ラベル値ペア5213Dは“インデックス”ラベルを有する。ラベル値ペア5213Dの値は販売者アプリケーションソフトウエア310で一セッション内での取り引きに割り当てられた整数であり、領域240Bに保管されたセッションキーの使用を表示する。
【0699】
ラベル値ペア5213Eは“サービス−カテゴリ”ラベルを有する。ラベル値ペア5213Eの値は、特別なサービス−カテゴリのメッセージを操作するサーバコンピュータ100内のプロセッサにメッセージCA2を送るのに使用されるラベルである。
【0700】
メッセージCA2は、販売者不透明ラベル値ペア5217.1と、顧客不透明ラベル値ペア5217.2を含む。ラベル値ペア5217.1とラベル値ペア5217.2とは、“販売者−不透明”ラベルと“顧客−不透明”ラベルとをそれぞれ有し、これに続く値は暗号化されたデータであることを意味する。ラベル値ペアの値5217.1はステップ1630で符号化されたベース−64であったデータを表す。ラベル値ペア5271.2の値は(メッセージCA1で顧客コンピュータ200によって送られてきた)ラベル値ペア5117の値であり、ステップ1646でテンポラリレジスタに蓄積される。
【0701】
メッセージCA2の不透明部分は図84に示されている。ここでは、ラベル値ペア5217.1Aが“タイプ”ラベルを有している。ラベル値ペア5217.1Aの値は、メッセージCA2の不透明部の内容のラベルを設定するメッセージデータ構造150内の記録を表す。ラベル値ペア5217.1Aの値は販売者アプリケーションソフトウエア310から得られる。
【0702】
ラベル値ペア5217.1Bは“バージョン”ラベルを有し、ラベル値ペア5217.1Aによって表されるそのタイプの記録内の記録を表す。先に述べたとおり、ラベル値ペア5217.1Bは、メッセージの送り人に、メッセージの受取人に、そのメッセージのどのバージョンが送られ、受取人にそのバージョンをどのように分析して処理するかを通知させる。ラベル値ペア5217.1Bはサーバコンピュータ100に、不透明ラベル値ペア5217.1のフォームと内容を通知する。ラベル値ペア5217.1Bの値は、販売者アプリケーションソフトウエア310から得られる。
【0703】
本発明は、好ましくは、販売人コンピュータ300に、一以上の顧客コンピュータから受け取った“n”個のCA1メッセージを、単一のメッセージCA2内で、サーバコンピュータへ提出させる。本発明では、変数“n”は1から255のレンジ内で整数である。システムのキャパシティと他のファクタによっては、異なるレンジを設けることも可能である。メッセージCA2は、受け取ったメッセージCA1の透明ラベル値ペア5113A−5113D及び5113F−5113Hが不透明ラベル値ペア5217.1に含まれるように構成されている。販売者コンピュータ300によってサーバコンピュータ100へ提出される各メッセージCA2のために、メッセージCA2は、ラベル値ペア5217.1C−5217.1I(ラベル値ペア5113A−5113と及びI5113F−5113Hに対応する)及び5217.Jを含んでいる。より詳しく述べると:
ラベル値ペア5217.1Cは“タイプ”ラベルとラベル値ペア5117Aの値を有する。
【0704】
ラベル値ペア5217.1Dは“サブバージョン”ラベルとラベル値ペア5117Bの値を有する。
【0705】
ラベル値ペア5217.1Eは“支払人−セッション−ID”ラベルとラベル値ペア5117Cの値を有する。
【0706】
ラベル値ペア5217.1Fは“支払人−インデックス”ラベルとラベル値ペア5117Dの値を有する。
【0707】
ラベル値ペア5217.1Gは“ノート−ハッシュ”ラベルとラベル値ペア5117Fの値を有する。
【0708】
ラベル値ペア5217.1Hは“受取人−ID”ラベルとラベル値ペア5117Gの値を有する。
【0709】
ラベル値ペア5217.1Iは“注文−ID”ラベルとラベル値ペア5117Hの値を有する。
【0710】
ラベル値ペア5217.1Jは“販売者−金額”ラベルを有する。ラベル値ペア5217.1Jの値は、販売人アプリケーションソフトウエア310で与えられ、販売人ユーザ303が商品に対して受け取る通貨と金額とを表す。
【0711】
図73−75を再度参照すると、処理はステップ1711Bにて継続され、ここで、販売者コンピュータ330がローカルデータ構造を以下の様にして更新する。
【0712】
新規レコード350.1は、メッセージCA1に含まれている“n”個のCA1メッセージ用の販売者金額データ構造350において作られる。ラベル値ペア注文−ID−nからの注文−IDは、領域350Aに蓄積される。ラベル値ぺア販売人−金額−nからの販売人−金額は領域350Bに蓄積される。
【0713】
レコード370.1(図46)は以下の通り更新される。
【0714】
ステータス領域370Bが販売人アプリケーションソフトウエア310で“試行”にセットされる。ラベル値ペア5213Cからの販売人ユーザ303のセッション−IDは領域370Gに蓄積される。ラベル値ペア5213Dからの販売人ユーザ303のインデックスは領域370Hに蓄積される。ラベル値ペア5217.1Eからの顧客ユーザ203のセッション−IDは領域370Dに蓄積される。ラベル値ペア5217.1Fからの顧客ユーザ203のインデックスは領域370Eに蓄積される。販売人の通貨は、ラベル値ペア5217.1Jの通貨シンボル値から取られ、領域370Iに蓄積される。販売人が支払われることを期待している金額はラベル値ペア5217.1Kの金額値から取られ、領域370Jに蓄積される。
【0715】
再度、図73−75を参照すると、処理はステップ1712で継続される。販売人コンピュータ300はメッセージCA2をサーバコンピュータ100に転送する。販売人コンピュータ300はサーバコンピュータ100からの応答メッセージCA3を待つ。
【0716】
ステップ1713Aで、サーバコンピュータ100は販売人コンピュータ300からメッセージCA2を受取り、メッセージCA2のラベル値ペア5213Dの値のコピーをインデックス領域130LL.1に(図14)、メッセージCA2のコピーを領域130LL.2に蓄積する。ステップ1713Bで、サーバはサーバメッセージアンラップ処理1660を実行して、メッセージCA2をアンラップする。ステップ161で始まるメッセージCA2のサーバメッセージアンラップ処理1660を、図86及び87を参照して、以下に述べる。
【0717】
ステップ1662において、サーバソフトウエア110は、メッセージCA2のヘッダ5205の領域5205Cからプロトコル番号を抽出する。次いで、この抽出したプロトコル番号をもとにして、メッセージデータ構造150にアクセスして、メッセージCA2の所定のフォーマットを決定する。この所定のフォーマットは、メッセージシンナックス(例えば許可されたend−of−lineの文字)及びメッセージコード(例えばASCIIまたはhex)を含んでいてもよい。メッセージCA2は所定のフォーマットによって以下の通り分析される。
【0718】
ステップ1663において、サーバコンピュータ100が、メッセージCA2用のメッセージ組立て処理CA12のステップ1633で販売者コンピュータ300で使用されているのと同じデータを用いてチェックサムを計算する。ステップ1664で、ステップ1663で計算したチェックサムと、メッセージCA2のトレーラ5250のチェックサムと比較される。これらのチェックサムが、同じでなければ、メッセージCA2は、サーバメッセージアンラップ処理1660が終了するステップ1664Aで破棄される。
【0719】
ステップ1664でこれらのチェックサムが同じであれば、ステップ1665Aで処理が継続され、メッセージがチェックされて、メッセージアンラップ処理1600へ送るのに適当であるかどうかが決定される。メッセージの透明部分及びメッセージCA2を表示する値に“タイプ”ラベルが含まれていれば、メッセージは適当である。メッセージがこのラベル値ペアを含んでいなければ、そのメッセージは適当でなく、ステップ1665Bで処理が継続され、そこでメッセージが他に記載されている他のアンラップ処理に送られる。メッセージCA2が適当であれば、ステップ1665Cで処理が継続される。ここでは、販売者の不透明ラベル値ペア5217.1が復号される。
【0720】
ステップ1666では、先に述べたとおり、サーバソフトウエア110が、CA−DES−キー生成処理1600によって、販売者コンピュータからDESキーDES−CA2を独自に作る。
【0721】
ステップ1667では、サーバコンピュータ100から生じる56−ビットのDESキーDES−CA2が、テンポラリレジスタに蓄積される。
【0722】
処理は1668で続けられる。ここでは、販売者不透明ラベル値ペア5217.1がDESキーDES−CA2を用いて解読される。
【0723】
ステップ1668Aで、ラベル値ペア5217.1の解読の成功か失敗かが決定される。何等かの理由で解読が失敗した場合は、ステップ1681でエラーフラッグが設定され、サーバメセージアンラップ処理1660はステップ1682で終了する。
【0724】
解読が成功したら、ステップ1668Bで処理が継続される。ここでは、サーバコンピュータ100が、販売者ユーザ303が有効なセッションを開設したかどうかを決定する。サーバコンピュータ100は、ラベル値ペア5213Cから販売者のセッションID番号を得る。このセッションIDは、ラベル値ペア5213Cで認識されたセッション用の販売者レコード130.2を得るのに使用される。領域130GGに蓄積されている開設データが、次いでサーバコンピュータ100のクロックを参照して決定したデータと、そのセッションが開始するまでに経過した時間と比較される。そのセッションが開始するまでに経過した時間がキー寿命領域130JJにおける値を越えている場合は、そのセッションが無効になる。これに加えて、インデックスラベル値ペア5213Dが、領域130IIに蓄積されているきー使用制限の値を越えている場合は、そのセッションの使用が無効になる。セッションが無効になった場合は、ステップ1681でセッション−閉鎖フラッグがセットされ、ステップ1682でCA2アンラップ処理が終了し、支払処理1700は領域1714で継続される。
【0725】
セッションが有効であれば、ステップ1668Cにおいて、ラベル値ペア5217.1Aに基づいてメッセージのタイプが決定される。例えば、メッセージCA2に関するラベル値ペア5217.1Aの値は“キャッシュ−コレクション”でよい。
【0726】
ステップ1669で処理が続けられる。ここでは、サーバコンピュータ100、メッセージCA2のフォームのチェックを行う。ステップ1669のフォームチェック処理は、ソフトウエアのバージョンに依存する。すなわち、メッセージの所定のフォームと、それが受入れ可能か否かを決定するクリテリアは、すでに述べたとおり、メッセージのタイプとバージョンデータ構造150に基づいて決定される所定の時間、有効であるメッセージとメッセージの変形によって決まる。最小限、フォームチェック処理は、入ってくるメッセージがそのメッセージに関して決められている全てのラベルを含んでいるかどうか、値を必要とする各ラベルについて値があるかどうか、及びその値が、そのタイプ(例えば、テキスト、サインをした番号)、シンタックスに関するものであり、要求される特定の制限内にあるかどうかを確かめる。メッセージが分析できるが、フォームクリテリアに合致しない場合は、サーバコンピュータ100がステップ1681でエラーフラッグを設定し、エラーコードをメッセージCA3(後述する)に戻す。この場合、メッセージCA2のサーバメッセージアンラップ処理1660がステップ1682で終了することになる。
【0727】
メッセージCA2が、ステップ1669でフォームチェックをパスしたら、ステップ1670へ処理を進める。
【0728】
ステップ1670では、ラベル値ペア5217.1Kによって表される販売者ユーザ303の検証コードが以下のようにして認証(チェック)される。サーバソフトウエア110は、領域130CCの8−バイトのソルトを得る。次いで、サーバソフトウエア110が、メッセージデータ構造150にアクセスして、メッセージCA2に関するメッセージ組立て処理CA12のステップ1627で、どのラベル値ペアがハッシュされたかを決めて、ラベル値ペア5217.1Kの値を計算する。ついで、サーバソフトウエア110でこれらの同じラベル値ペアをハッシュする。ハッシュが計算される前に、領域130CCの8バイトソルトが、ラベル値ペアのペリフィックスとサフィックスとして加えられる。このハッシュの値は、ラベル値ペア5217.1Kの値と比較される。これらの値が異なる場合は、ステップ1681で適当なエラーフラッグが設定される。この場合は、メッセージCA2に関するサーバメッセージアンラップ処理1660が、ステップ1682で終了する。これらの値が整合した場合は、ステップ1671で処理が継続される。
【0729】
ステップ1671では、変数“n”が1に初期化される。この変数“n”の値は、上述したとおり、メッセージCA2に含まれるn番目のCA1メッセージを意味する。
【0730】
ステップ1672では、サーバソフトウエア110が、CA−DES−キー製造処理1600に基づいて、DESキーDES−CA1を作る。サーバコンピュータ100で作られたDESキーDES−CA1は、テンポラリレジスタに蓄積される。
【0731】
ステップ1673では、顧客不透明ラベル値ペア5217.2がDESキーDES−CA1を用いて解読される。
【0732】
ステップ1674では、ラベル値ペア5217.2の解読の成功、失敗が決められる。何等かの理由で解読が失敗した場合、ステップ1678でエラーフラッグが設定され、ステップ1679に処理が進められる。ここで、処理すべきCA1メッセージがまだあるか道下が決定される。まだある場合は、ステップ1680で処理が継続される。処理すべきメッセージがない場合は、サーバメッセージアンラップ処理1660がステップ1682で終了する。
【0733】
ラベル値ペア5217.2の解読が成功であれば、ステップ1675に処理が進められる。
【0734】
ステップ1675において、販売者303が有効なオープンセッションを有している場合、サーバコンピュータ100はメッセージCA2に含まれているn番目の支払い要求に関係している顧客ユーザ203が有効なオープンセッションを有しているかどうか判断する。サーバコンピュータ100は、顧客ユーザ203のセッションID番号をラベル値ペア5217.1Eから受得する。このセッションは、ラベル値ペア5217.1E内で識別されたセッションに対する顧客セッション記録130.1Eを受得するために使用される。領域130Gに蓄積された開設日が、次いでサーバコンピュータ100のクロックで決定された日付と、ならびにセッションの新設が計数されてから経過した時間と比較される。セッションの新設から経過した時間がキー−寿命領域130Jの値を越えた場合は、そのセッションが無効になる。インデックスラベル値ペア5217.1Fの値が領域130Iに蓄積されているキー−使用制限の値を越えた場合は、取り引きが無効になる。セッションが無効であれば、ステップ1678でセッション−閉鎖フラッグが設定され、ステップ1679で処理が継続される。ここでは、処理すべきCA1メッセージがまだあるかどうかを決定する。もし、まだある場合は、ステップ1680で処理が継続される。メッセージがない場合は、サーバメッセージアンラップ1660が、ステップ1682で終了する。
【0735】
ステップ1676では、メッセージCA1のラベル値ペア5117Bで表される顧客ユーザ2203の検証コードが以下の用にして認証される。サーバソフトウエア110は、領域130の8−バイトソルトを得る。次いで、サーバソフトウエア110はメッセージデータ構造150にアクセスして、メッセージCA1に関するメッセージ組立て処理CA12のステップ1627で、どのラベル値ペアがハッシュされたかを決めて、ラベル値ペア5117.1Kの値を計算する。
ついで、サーバソフトウエア110でこれらの同じラベル値ペアをハッシュする。ハッシュが計算される前に、領域130Cの8バイトソルトが、ラベル値ペアのプリフィックスとサフィックスとして加えられる。このハッシュの値は、ラベル値ペア5117Bの値と比較される。これらの値が異なる場合は、ステップ1678で適当なエラーフラッグが設定され、ステップ1679で処理が継続される。この場合は、メッセージCA1に関するサーバメッセージアンラップ処理1660が、ステップ1682で終了する。終了した場合は、処理がステップ1680で続けられる。ステップ1675でこれらの値が整合した場合は、ステップ1676で処理が継続される。
【0736】
顧客ユーザ203のセッションが有効であれば、処理はステップ1676で続けられる。
【0737】
ステップ1677では、販売者ユーザ303に対して支払が行われる。顧客ユーザ203に関して言えば、この支払は金額のラベル値ペア5217.2A(図85)を反映した金額が、領域130Fの現在の金額から差引かれ、レコード130.1の取り引きデータ130Nを取入れる。取り引きデータ130Nは図13に示されており、次のデータが取入れられる。ラベル値ペア5217.2Aの金額は領域130N.1に蓄積され;ラベル値ペア5217.Eからの顧客セッションIDは領域130N.2に蓄積され;ラベル値ペア5217.1Iからの注文−IDは、領域130N.3に蓄積され、ラベル値ペア5213Cからの販売者セッションIDは領域130N.4に蓄積され;ラベル値ペア5217.1Fからの顧客インデックスは領域130N.5に蓄積される。
【0738】
販売者ユーザ303については、この支払は、金額領域5117Aに反映される金額を、領域130FFの現在の金額追加することを意味し、レコード130.2の取り引きデータ130NNを取入れる。取り引きデータ130NNは図15に示されており、次のデータが取入れられる。ラベル値ペア5217.2Aの金額は領域130NN.1に蓄積され;ラベル値ペア5217.Eからの顧客セッションIDは領域130NN.2に蓄積され;ラベル値ペア5217.1Iからの注文−IDは、領域130NN.3に蓄積され、ラベル値ペア5213Cからの販売者セッションIDは領域130NN.4に蓄積され;ラベル値ペア5217.1Dからの販売者インデックスは領域130NN.5に蓄積される。
【0739】
ステップ1679において、サーバソフトウエア110は、メッセージCA2が処理すべき追加のメッセージCA1を含んでいるかどうかを決定する。処理すべき追加のCA1メッセージがある場合、ステップ1680で変数“n”が増加し、先に述べたとおり、ステップ1672で処理が続けられる。処理術R器追加CA1メッセージがない場合、ステップ1682でメッセージCA2用のサーバメッセージアンラップ処理1660が終了する。
【0740】
図73−75のステップ1714にて処理が続けられる。ここで、ステップ1664、1668A、1668B、1669、1670、のチェックの結果ステップ1681でエラーフラッグが設定されていれば、ステップ1681で処理が続けられる。ここでは、エラーのタイプが、応答コードラベル値ペア53171.Cに関連すべき所定のコードと、ラベル値ペア5317.1Eに関連するべきメッセージとを引出す。エラーフラッグで検出され、応答コードラベル値ペアに報告されるる詳細のレベルは、システム管理者に対する決定である。例えば、“失敗”は、“大失敗”となる。すなわち、そのメッセージ(例えば、無効フォーマット、あるいはセッションの閉鎖)の再提出される失敗のサブセットの失敗は、メッセージの処理において生じない。“失敗”は、また、回復し得る失敗(例えば、サーバコンピュータ100のテンポラリ的な停電によるタイムアウト)を囲むこともできる。次に述べるところにおいて、期間の失敗は、よく使用される。
【0741】
ステップ1681でフラッグが設定されなければ、ステップ1716に処理がすすみ、ここで、サーバコンピュータ100が、ステップ1674、1675、及び1676における支払要求メッセージのチェックが、ステップ1678で設定されるべきエラーフラッグを起こしたのかどうかを決定する。n番目のCA1メッセージが設定されるべきフラッグを生じさせた場合、ステップ1717において、ラベル値ペア5317.1K(応答コード−n)とラベル値ペア5317.2A(応答コード)の値が、失敗として設定され、ラベル値ペア5317.1N(問題−n)及びラベル値ペア5317.2E(問題)が、ラベル値ペア5317.1Kの値に関するコードの値を割り当てる。サーバコンピュータ100のオペレータが所望するようであれば、メッセージと関係なく、失敗をラベル値ペア5317.1L(リマーク−n)及びラベル値ペア5317.5A(リマーク)に含めることができる。
【0742】
ステップ1718Aにおいて、サーバコンピュータ100は、図88に示すサーバメッセージ組立て処理3400に従って、メッセージCA3を組立てる。
【0743】
メッセージCA3用のサーバメッセージ組立て処理3400はステップ3401で始まる。
【0744】
ステップ3402Aにおいて、サーバソフトウエア110が、メッセージのタイプ及びバージョンデータ構造150にアクセスして、ラベルのリストを得る。
これは、関連する値に整合した時、図89及び90に示すメッセージCA3用の透明ラベル値ペア5313A−5313Eを作る。以下に述べるとおり、ステップ3402Bで、値が各ラベルに関連付けられる。
【0745】
ラベル値ペア5313Aは、“タイプ”ラベルを有する。ラベル値ペア5313Aの値は、メッセージCA3のラベルを設定するメッセージデータ構造380のレコードを示す。ラベル値ペア5313Aの値は、サーバソフトウエア110から得られる。
【0746】
ラベル値ペア5313Bは、“バージョン”ラベルを有し、ラベル値ペア5313Aで示されるレコードに関係するレコードを示す。上述したとおり、ラベル値ペア5313Bは、メッセージの送り主にそのメッセージのバージョンの受取、及びこのバージョンをどのように分析し処理するかについての通知を行わせる。メッセージCA3は、販売者コンピュータ300に送られるメッセージCA2の応答であるため、メッセージCA3は、サーバソフトウエア110によって選択され、販売者アプリケーションソフトウエア310で処理できることを確認する。ラベル値ペア5313Bは、販売者アプリケーションソフトウエア310に透明ラベル値ペア5313A、5313C、5313D、及び5313Eのフォームと内容を通知する。ラベル値ペア5313Bの値は、販売者ソフトウエア310から得られる。
【0747】
ラベル値ペア5313Cは、“セッションID”ラベルを有する。ラベル値ペア5313Cの値は、販売者セッションデータ構造130の領域130AAのセッションIDから得られる。
【0748】
ラベル値ペア5313Dは、“インデックス”ラベルを有する。ラベル値ペア5313Dの値は、販売者セッションデータ構造130.2の領域130LLのインデックスから得られる。
【0749】
ラベル値ペア5313Eは、“サービス−カテゴリ”ラベルを有する。ラベル値ペア5313Eの値は、販売者コンピュータ300で、メッセージCA3を特に、サービスカテゴリのメッセージを取り扱う販売者コンピュータ300内のプロセッサに送るために使用されるラベルである。
【0750】
ステップ3402Cでは、サーバソフトウエア110が、56−ビットのDESキーDES−CA3C−n及びDES−CA3−Mを作る。DESキーDES−CA3C−n及びDES−CA3−Mは、顧客コンピュータ200及び販売者コンピュータ300のそれぞれで受け取るデータを暗号化するのに使用される。
先に述べたとおり、DESキーDES−CA3C及びDES−CA3−Mは、CA−DES−キー製造処理1600に従って作られる。
【0751】
図88を再度参照すると、メッセージ組立て処理CA3が、ステップ3420Dで続けられる。ここで、DESキーDES−CA3C−n及びDES−CA3−Mがテンポラリレジスタに蓄積される。
【0752】
ステップ3403では、サーバソフトウエア110がメッセージテンプレートデータ構造150にアクセスして、ラベルのリストを得る。ラベルのリストは、関連する値に整合した時に、メッセージCA3の販売者不透明セクションの内容(図90)を決めるものである。値は各ラベルに以下のように関連している。
【0753】
メッセージCA3の販売者不透明セクションの内容は、図90に示されており、ラベル値ペア5317.1Aは“サブタイプ”のラベルを有する。ラベル値ペア5317.1Aは、メッセージCA3用の販売者不透明セクションの内容のラベルを含むメッセージデータ構造380内のレコードに関するラベルである。ラベル値ペア5317.1Aの値は、サーバソフトウエア110から得られる。
【0754】
ラベル値ペア5317.1Bは、“サブバージョン”ラベルを有する。ラベル値ペア5317.1Bは、所定の時間で有効になるメッセージのタイプの変形を処理するメッセージデータ構造150の保持されているコードである。
【0755】
ラベル値ペア5317.1Cは、“応答−コード”ラベルを有し、その値は上述したとおり、“成功”または“失敗”である。ラベル値ペア5317.1Cは、メッセージCA2によってサーバコンピュータ100に与えられた取り引きが成功か失敗かその他であるかを表示する。ラベル値ペア5317.1Cの値は、サーバソフトウエア110から上述したステップ1715で得られる。
【0756】
ラベル値ペア5317.1Dは、“手数料”ラベルを有する。ラベル値ペア5317.1Dの値は、もしあれば、メッセージCA2の処理に関連する販売者ユーザ303に係る手数料を表示する。ラベル値ペア5317.1Cの値はサーバソフトウエア110から得られる。
【0757】
ラベル値ペア5317.1Eは“問題点”ラベルを有する。ラベル値ペア5317.1Cの応答コードの値が、“成功”の値以外であれば、ラベル値ペア5317.1Eの値は販売者ユーザ303に、不成功の原因を通知するコードである。ラベル値ペア5317.1Eの値はサーバソフトウエア110から、上述したステップ1715で得られる。
【0758】
ラベル値ペア5317.1Fは“リマーク”ラベルを有する。ラベル値ペア5317.1Cの応答コードの値が“成功”の値以外であれば、ラベル値ペア5317.1Fの値は、不成功の理由の詳細な説明を提供するフリーフォームのテキストメッセージである。ラベル値ペア5317.1Fの値は、サーバソフトウエア110から上述のステップ1715で得られる。
【0759】
メッセージCA3は、メッセージCA2と共に与えられる“n”CA1メッセージのそれぞれに対して以下のラベル値ペア5317.1G−5317.1Pを含んでいる。
【0760】
ラベル値ペア5317.1Gは、“サブタイプ”ラベルを有し、メッセージCA2のラベル値ペア5217.1Cの値を有する。
【0761】
ラベル値ペア5317.1Hは、“サブバージョン”ラベルを有し、メッセージCA2のラベル値ペア5217.1Dの値を有する。
【0762】
ラベル値ペア5317.1Iは、“支払人−セッション−ID”ラベルを有し、メッセージCA2のラベル値ペア5217.1Eの値を有する。
【0763】
ラベル値ペア5317.1Jは、“支払人−インデックス”ラベルを有し、メッセージCA2のラベル値ペア5217.1Fの値を有する。
【0764】
ラベル値ペア5317.1Kは、“応答コード”ラベルを有し、その値は上述したとおり、“成功”か“失敗”である。ラベル値ペア5317.1Kの値は上述のステップ1717でサーバソフトウエア110から得られる。
【0765】
ラベル値ペア5317.1Lは、“リマーク”ラベルを有する。ラベル値ペア5317.1Kの応答−コードの値が、“成功”の値以外のものであれば、ラベル値ペア5317.1Lの値は、不成功の理由の詳細な説明を提供するフリーフォームのテキストメッセージである。ラベル値ペア5317.1Lの値は、サーバソフトウエア110から上述のステップ1717で得られる。
【0766】
ラベル値ペア5317.1Mは、“徴収金額”ラベルを有し、その値は、取り引きに関して販売者ユーザ303によって徴収された電子キャッシュの金額(メッセージCA2の販売者メッセージアンラップ処理1660のステップ1677)を表示するものである。
【0767】
ラベル値ペア5317.1Nは“問題点”ラベルを有する。ラベル値ペア5317.1Kの値が、“成功”の値以外であれば、ラベル値ペア5317.1Nの値は顧客ユーザ203に、不成功の原因を通知するコードである。ラベル値ペア5317.1Nの値はサーバソフトウエア110から、上述したステップ1717で得られる。
【0768】
ラベル値ペア5317.1Oは、“注文−ID”を有する。ラベル値ペア5317.1Oの値はメッセージCA2のラベル値ペア5217.1Iから得られる。
【0769】
ラベル値ペア5317.1Pは、“リクエスト−バージョン”を有する。ラベル値ペア5317.1Pの値は、サーバコンピュータ100で実際に処理されているメッセージCA2のバージョンを表す。
【0770】
図88を再度参照すると、ステップ3405では、図90のラベル値ペア5317.1Qで表されるメッセージCA3の販売者不透明セクションに関する検証コードが作られる。ラベル値ペア5317.1Qは“オース−コード”ラベルを有する。ラベル値ペア5317.1Qの値は、サーバコンピュータ100の検証コードを表すものである。メッセージCA3の販売者不透明セクションに関しては、ラベル値ペア5317.1Qの値は、領域130CCの8−バイトソルト、ラベル値ペア5313A−5313E及び5317.1A−5317.1P、及び領域130CCの8−バイトソルト、が連続したMD5ハッシュである。ハッシングを行う前に、ラベル値ペア5313A−5313E及び5317.1A−5317.1Pに埋まっているホワイトスペースが除去される。
【0771】
ステップ3406で、ステップ3405で作られたラベル値ペア5317.1Qがラベル値ペア5317.1A−5317.1Pに追加される。ラベル値ペア5317.1A−5317.1Qは、56ビットのDESキーDES−CA3−Mを用いて暗号化される。
【0772】
ステップ3407では、ステップ3406で暗号化されたデータが公知の技術を用いて符号化される。
【0773】
ステップ3408では、サーバソフトウエア110がメッセージテンプレートデータ構造150にアクセスして、ラベルのリストを得る。これは、関連する値に整合した場合、メッセージCA3の顧客不透明セクションの内容を作るものである。ステップ3409において顧客不透明セッションが組み立てられる。値は、次の通り、各ラベルに関連する。
【0774】
メッセージCA3の顧客不透明セクションの内容は、図89−92に示されており、ラベル値ペア5317.2Aは“応答コード”のラベルを有し、その値は上述したとおり、“成功”または“失敗”である。ラベル値ペア5317.2Aは、メッセージCA2によってサーバコンピュータ100に与えられた取り引きが成功か失敗かその他であるかを表示する。ラベル値ペア5317.2Aの値は、サーバソフトウエア110から上述したステップ1717で得られる。
【0775】
ラベル値ペア5317.2Bは、“リマーク”ラベルを有する。ラベル値ペア5317.2Aの応答コードの値が“成功”の値以外であれば、ラベル値ペア5317.2Bの値は、不成功の理由の詳細な説明を提供するフリーフォームのテキストメッセージである。ラベル値ペア5317.2Bの値は、サーバソフトウエア110から上述のステップ1717で得られる。
【0776】
ラベル値ペア5317.2Cは、“外貨−交換”ラベルを有する。ラベル値ペア5317.2Cがラベル値ペア5117Aに含まれる通貨の種類から他の通貨への変換レートに関する更新の情報を提供する。ラベル値ペア5317.2Cはソフトウエア110から得られる。
【0777】
ラベル値ペア5317.2Dは“金額”ラベルを有し、取り引きに関する顧客ユーザにかかるファンドの金額を表示する値である。ラベル値ペア5317.2Dの値はサーバソフトウエア110から得られる。
【0778】
ラベル値ペア5317.2Eは“問題点”ラベルを有する。ラベル値ペア5317.2Aの値が、“成功”の値以外であれば、ラベル値ペア5317.2Eの値は顧客ユーザ203に、不成功の原因を通知するコードである。ラベル値ペア5317.2Eの値はサーバソフトウエア110から、上述したステップ1717で得られる。
【0779】
ラベル値ペア5317.2Fは、“注文−ID”を有する。ラベル値ペア5317.2Fの値はメッセージCA2のラベル値ペア5217.1Iから得られる。
【0780】
ラベル値ペア5317.2Gは、“リクエスト−バージョン”を有する。ラベル値ペア5317.2Gの値は、サーバコンピュータ100で実際に処理されているメッセージCA1のバージョンを表す。
【0781】
図88を再度参照すると、ステップ3410では、図91のラベル値ペア5317.2Hで表されるメッセージCA3の顧客不透明セクションに関するオーセンティケーションコードが作られる。ラベル値ペア5317.2Hは“オース−コード”ラベルを有する。図91に示すラベル値ペア5317.2Hの値は、サーバコンピュータ100の検証コードを表すものである。メッセージCA3の顧客不透明セクションに関しては、ラベル値ペア5317.2Hの値は、領域130Cの8−バイトソルト、ラベル値ペア5313A−5313D及び5317.2A−5317.2G、及び領域130Cの8−バイトソルトが連続したハッシュである。ハッシングを行う前に、ラベル値ペア5313A−5313D及び5317.2A−5317.2Gに埋まっているホワイトスペースが除去され、隣り合う各ペアの値の間に、縦のバーセパレータ文字が挿入される。
【0782】
ステップ3411で、ステップ3410で作られたラベル値ペア5317.2Hがラベル値ペア5317.2A−5317.2Gに追加される。ラベル値ペア5317.2A−5317.2Hは、DESキーDES−CA3−C−nを用いて暗号化される。
【0783】
ステップ3412では、ステップ3411で暗号化されたデータが公知の技術(好適にはベース64)を用いて符号化される。
【0784】
メッセージCA3は、ステップ3413−3417で組立てられる。ステップ3413では、タイプ及びバージョンデータ構造150で得られるメッセージテンプレート及びサーバソフトウエア110に埋もれているプロトコル番号を用いて、ヘッダ5305が作られる。
【0785】
ステップ3414では、次いで、透明ラベル値ペア5313A−5313Dが追加(付加)される。ラベル値ペア5213A−5313Dについてはすでに述べた。
【0786】
ステップ3415及び3416では、販売者不透明ラベル値ペア5317.1及び顧客不透明ラベル値ペア5317.2が加えられる。ラベル値ペア5317.1及び5317.2は、それぞれ“販売者不透明”及び“顧客不透明”ラベルを有し、それに続く値は暗号化されたデータであることを意味する。ラベル値ペア5317.1の値は、ステップ3407で符号化されたデータを表す。ラベル値ペア5317.2の値はステップ3412で符号化されたデータ(メッセージCA4において顧客コンピュータ200に送られる)を表す。
【0787】
トレーラ5350はステップ3417で組立てられる。トレーラ5350のチェックサムは、サンプルメッセージ4000に関して上術したとおりに計算される。トレーラ5350はメッセージCA3の残りの部分に追加(付加)される。
【0788】
メッセージCA3の組立てが完了する。メッセージCA3のメッセージ組立て処理3400はステップ3419で終了する。
【0789】
ステップ1719では、販売者コンピュータ300がサーバコンピュータ100からメッセージCA3を受取り、メッセージアンラップ処理CA34を実行することによってメッセージCA3をアンラップする。メッセージCA3に関するメッセージアンラップ処理CA34を図92を参照して、以下に述べる。この処理はステップ2072から始まる。
【0790】
ステップ2072では、販売者ソフトウエア310がメッセージCA3のヘッダ5305からプロトコル番号を抽出する。次いで、抽出されたプロトコル番号に基づいて、メッセージデータ構造380がアクセスされて、メッセージCA3に適したフォーマットを決定する。このフォーマットは、メッセージシンナックス(例えばend−of−lineの文字)と、メッセージコーディング(ASCIIまたはhex)を含んでいてもよい。メッセージCA3は、このフォーマットに基づいて次のように解読される。
【0791】
ステップ2073では、販売者コンピュータ300がメッセージCA3用のメッセージ組立て処理3400のステップ3417でサーバコンピュータ100で使用されているのと同じデータを用いてチェックサムを計算する。ステップ2074で、ステップ2073で計算したチェックサムと、メッセージCA3のトレーラ5350のチェックサムと比較される。これらのチェックサムが、同じでなければ、メッセージCA3はステップ2074Aで破棄され、メッセージアンラップ処理CA34が終了する。
【0792】
ステップ2074でこれらのチェックサムが同じであれば、ステップ2075Aで処理が継続され、メッセージがチェックされて、メッセージアンラップ処理CA34へ送るのに適当であるかどうかが決定される。メッセージにメッセージの透明部分に含まれている“タイプ”及びメッセージCA3またはCA4を表示する値が含まれていれば、メッセージは適当である。メッセージがこのラベル値ペアを含んでいなければ、そのメッセージは適当でない。不適当なメッセージの処理がステップ2075Bで発生し、そこでそのメッセージが、他で述べた他のアンラップ処理に変更される。メッセージCA3が適当であれば、ステップ2076で処理が継続される。ここでは、販売者の不透明ラベル値ペア5317.1の値が復号される。
【0793】
ステップ2077で、販売者アプリケーションソフトウエア310は、CA−DES−キー発生処理1600に基づいて、サーバソフトウエア110で作られたのと同じDES−キーDES−CA3−Mを作る。
【0794】
ステップ2078で、DES−キーDES−CA3−Mはテンポラリレジスタに蓄積される。
【0795】
ステップ2079で、DES−キーDES−CA3−Mは販売者不透明ラベル値ペア5317.1の値を解読するのに使用される。
【0796】
次いで、ステップ2080にて、次のようにして、メッセージCA3のチェックが行われる。
【0797】
ステップ2080では、ラベル値ペア5317.1の解読の成功または失敗が決定される。解読が何等かの理由で失敗した場合、ステップ2084でエラーフラッグが設定され、メッセージアンラップ処理CA34は、ステップ2085で終了する。
【0798】
ステップ2080Aにて解読が成功した場合は、ラベル値5317.1A参照してメッセージのタイプが決定される。例えば、メッセージCA3のラベル値ペア5317.1Aの値は、”キャッシュ−バッチ−受領”となる。
【0799】
ステップ2081で処理が継続する。ここでは、販売者コンピュータ300が、メッセージCA3のフォームをチェックする。ステップ2081のフォームチェック処理はソフトウエアのバージョンに依存する。すなわち、メッセージの適当なフォーム、及びそれが受入れられるか否かを決定するクリテリアは、メッセージCA3及び上上述したメッセージテンプレート構造380内のメッセージのタイプ及びバージョンに関する情報を参照することによって決定される所定の時間に有効になるメッセージ及びメッセージの変形に依存する。少なくとも、フォームチェック処理は、入ってくるメッセージがそのメッセージに関して予め決められているすべてのラベルを含むかどうか、値を必要とする各ラベルに関して値があるかどうか、及びその値がタイプ(例えば、テキスト、サインした番号)、シンタックスであり、特に必要とされる特定の制限内にあるかどうかを確認する。メッセージが、分析できない場合、もしくは、分析できたとしてもフォームクリテリアに合致しない場合は、販売者コンピュータ300はステップ2084でエラーフラッグを設定し、メッセージアンラップ処理CA34がステップ2085で終了する。
【0800】
メッセージCA3がステップ2081のフォームチェックをパスしたら、処理はステップ2082で継続される。ここでは、ラベル値ペア5317.1Pで表される検証コードが次のようにして、確認される。販売者ソフトウエア310は、領域340Cの8−バイトソルト(図42)を得る。サブタイプラベル値ペア5317.1Aとサブセッションラベル値ペア5317.1Bの値に基づいて、販売者アプリケーションソフトウエア310は、メッセージテンプレートデータ構造380にアクセスし、メッセージ組立て処理CA3のステップ3405で、どのラベル値ペアがハッシュされたかを決めて、ラベル値ペア5317.1Pの値を計算する。ついで、販売者アプリケーションソフトウエア110で領域130Cの8バイトソルトを、同じラベル値ペアの値に対するラベル値ペアのプリフィックスとサフィックスとして加え、ハッシュとその結果を計算する。このハッシュの値は、ラベル値ペア5317.1Qの値と比較される。これらの値が異なる場合は、ステップ2084で適当なエラーフラッグが設定され、ステップ2085でメッセージアンラップ処理CA34が終了する。
【0801】
図73〜図75を再度参照すると、ステップ1720で処理が継続される。ここでは、
(1)ステップ2084でエラーフラッグが設定されたら、そのフラッグがステップ1720で検出され、メッセージCA3の処理はステップ1721の後に終了する;
(2)ステップ2084でエラーフラッグが設定されないにもかかわらずステップ1721でメッセージCA2にエラーが発生したら、ステップ1722で処理が継続され、そこで、ラベル値ペア5317.1Cの内容がチェックされる。
ラベル値5317.1Cの値が“成功”以外の値であれば、ステップ1723でエラー処理ルーチンが実行され、販売者アプリケーションソフトウエア310に、ラベル値5317.1Cの内容に関連するラベル値5317.1Fに含まれるメッセージを表示させる。販売者アプリケーションソフトウエア310は、また、ラベル値5317.1Eを中断して、その値に関連するなにかのアクションを取って、ステップ1733でCA3メッセージの処理を終了させる;または
(3)メッセージCA3がステップ1720及びステップ1722でチェックをパスすれば、ステップ1724で処理が継続し、そこでは、販売者コンピュータ300が以下の様にしてローカルデータ構造を更新する。
【0802】
レコード350.1(図44)が更新されて、支払い要求が支払われたかどうかを表示する。領域350Cは、ラベル値ペア5317.1Cからの応答コードが“成功”か“失敗”かに依存する“支払”あるいは“未払”のいずれかを設定するフラッグを含んでいる。同様に、レコード370.1(図46)が更新され、特別な支払い要求の状態を示す。領域370Bは、メッセージCA2において特別な支払要求がサーバコンピュータ100に送られた時に“試行”と設定し、ラベル値ペア5317.1Cからの応答コードが“成功”または“失敗”かどうかによって、“成功”または“失敗”を設定する。ラベル値ペア5317.1Eからの結果コードは領域370Mに蓄積される。ラベル値ペア5317.1Dからの支払要求の処理に対して販売者ユーザ303によって支払われる手数料は、領域370Lに蓄積される。ラベル値ペア5317.1Mからの特別な支払要求に対して販売者ユーザ303によって収集される金額は、領域370Kに蓄積され、販売セッションデータ構造360のレコード360.1の領域360Fに加えられる。
【0803】
ステップ1725において、販売者コンピュータ300は図36に示すメッセージ組立て処理3100に従って、メッセージCA4を組立てる。メッセージCA4は、図94及び95に示されている。
【0804】
メッセージCA4のメッセージ組立て処理3100は、ステップ3101で開始する。ステップ3102において、メッセージデータ構造380にあるメッセージテンプレートと、販売者アプリケーションソフトウエア310に埋め込まれているプロトコル番号を用いてヘッダ5405が作られる。
【0805】
次いで、ステップ3103で、透明ラベル値ペア5413A−5413Gが追加(付加)される。
【0806】
ラベル値ペア5413Aは、ラベルの“タイプ”を有する。ラベル値ペア5413Aの値は、メッセージCA4のラベルを設定するメッセージデータ構造270(図17)内のレコードを意味する。ラベル値ペア5413Aの値は販売者アプリケーションソフトウエア310から得られる。
【0807】
ラベル値ペア5413Bは、ラベルの“バージョン”を有し、ラベル値ペア5413Aで表されるレコードに関連するレコードを示す。上述したとおり、ラベル値ペア5413Bは、メッセージの送り主にそのメッセージのバージョンに関する受取人がそのバージョンをどのように解読して処理したかを通知させる。メッセージCA4は販売者ユーザ203からのメッセージCA1に応答するものであるので、メッセージCA4を構築するために販売者アプリケーションソフトウエア310で使用されるバージョンは、販売者アプリケーションソフトウエアによって選択され、顧客アプリケーションソフトウエア210で処理され得ることを確実にする。ラベル値ペア5413Bは、透明ラベル値ペア5413A、5413C、及び5413Dと、不透明ラベル値ペア5417のフォームと内容の顧客アプリケーションソフトウエアを通知する。ラベル値ペア5413Bの値は販売者アプリケーションソフトウエア310から得られる。
【0808】
ラベル値ペア5413Cは、ラベルの“セッション−ID”と、顧客203に関する現在のセッションIDを表示する値を有する。販売者コンピュータ300はメッセージCA1のラベル値ペア5113Cのセッション−IDの値からラベル値ペア5413Cの値を得る。
【0809】
ラベル値ペア5413Dはラベルの“インデックス”を有する。ラベル値ペア5413Dの値は、セッションにともなう時間の異なる取り引きが企画されていることを表示する未使用の値の範囲から選択された整数である。販売者ユーザ303は、メッセージCA1のラベル値ペア5113Dのインデックスの値からラベル値ペア5413Dの値を得る。
【0810】
ラベル値ペア5413Fはラベルの“注文−ID”を有する。ラベル値ペア5413Fの値は、その注文を認識するための販売者コンピュータ300で作られる注文認識番号を表示する。ラベル値ペア5413Fは、メッセージPR1のラベル値ペア5013Cで提供されているものと同じである。
【0811】
ラベル値ペア5413Gは、ラベルの“サービス−カテゴリ”を有する。ラベル値ペア5413Gの値は、顧客コンピュータ100で、メッセージCA4を、特別なサービスカテゴリのメッセージを取り扱う顧客コンピュータ200内のプロセッサに送るために使用されるラベルである。
【0812】
ステップ3104において、不透明ラベル値ペア5417が加えられる。ラベル値ペア5417は、次に続く値が暗号化データであることを意味するラベルの“不透明”を有する。ラベル値ペア5417の値は、サーバコンピュータ100から販売者コンピュータ300に送られるラベル値ペア5317.2の値を表す。
【0813】
トレーラ5450はステップ3105で組立てられる。トレーラ5450のチェックサムは、サンプルメッセージ4000に関して前述したとおりに計算される。トレーラ5450はメッセージCA4の残りの部分に追加(付加)される。
【0814】
メッセージCA4の組立てがここで完了する。メッセージ組立て処理3100はステップ3106で終了する。
【0815】
図73〜図75を再度参照すると、ステップ1726で処理が継続される。ここで、販売者コンピュータ300が顧客コンピュータ200へメッセージCA4を転送する。
【0816】
ステップ1727では、顧客コンピュータ200が、販売者コンピュータ300からメッセージCA4を受取、メッセージアンラップ処理CA34を実行することによってメッセージCA4をアンラップする。メッセージCA4に関するメッセージアンラップ処理CA34は、図92を参照してメッセージCA3のところですでに述べた。
【0817】
再び、図73〜図75を参照すると、ステップ1728で処理が継続される。
そこで、
(1)ステップ2084でエラーフラッグが設定されたら、そのフラッグがステップ1728で検出され、メッセージCA4の処理はステップ1729の後に終了する;
(2)ステップ2084でエラーフラッグが設定されないにもかかわらずステップ1678でメッセージCA1にエラーが発生したら、ステップ1730で処理が継続され、そこで、ラベル値ペア5417Aの内容がチェックされる。ラベル値5417Aの値が“成功”以外の値であれば、ステップ1731でエラー処理ルーチンが実行され、顧客アプリケーションソフトウエア210に、ラベル値5417.1Cの内容に関連するラベル値5417Bに含まれるメッセージを表示させる。顧客アプリケーションソフトウエア210は、また、ラベル値5417Eを中断して、その値に関連するなにかのアクションを取って、ステップ1733でCA4メッセージの処理を終了させる;または
(3)メッセージCA4がステップ1728及びステップ1730のチェックをパスすれば、ステップ1732で処理が継続し、そこでは、顧客コンピュータ200がラベル値ペア5417Dに含まれる値をラベル値ペア5117Aの値と比較する。これらの値が異なる場合は、顧客コンピュータ200が点在の金額領域240Dを調整して、サーバコンピュータ100で維持されている現在の金額領域130Fから実際に差引かれる金額を示す。顧客セッションデータ構造240に記録される値に加えて、顧客ログデータ構造260の新規レコードが以下の通り作られる。ラベル値ペア5413Eからの日付は領域263Cに蓄積される。ラベル値ペア5417Aからの応答コードは領域263Dに蓄積される。ラベル値ペア5417Aからの応答コードに関連するラベル値ペア5417Bからのリマークは領域263Eに蓄積される。ラベル値ペア5417Dからの金額は領域263Jに蓄積される。ラベル値ペア5417Fからの注文−IDは、領域263Gに蓄積される。ラベル値ペア5413Cからのセッション−IDは領域263Lに蓄積される。ラベル値ペア5413Dからのインデックスは領域263Mに蓄積される。
【0818】
G.閉鎖セッション処理411
閉鎖セッション処理411は顧客ユーザ203によって、セッションを閉鎖するのに使用される。
【0819】
図96は、ステップ1801から始まる閉鎖セッション処理411を示すフロー図である。
【0820】
ステップ1802で、顧客アプリケーションソフトウエア210は、顧客ユーザ203に対して、閉鎖するセッションの認識番号と、セッションに付けるレコードノートと、閉鎖しようとしているセッションの間に販売者303によってサーバコンピュータ100へ伝達される顧客ユーザ203のための取り引きのログをこの顧客ユーザ203が要求するかどうかを入力するよう催促(要求)する。
顧客ユーザ203が1以上のセッションを開いている場合は、プロンプトは開設したセッション全てのリストと、顧客ユーザのリクエストを含んでおり、閉鎖するセッションを選択する。
【0821】
メッセージCS1の内容を、図97及び図98に従ってここで述べる。
【0822】
ラベル値ペア4813Aは、ラベルの“ID”を有する。ラベル値ペア4813Aの値は、顧客ユーザの個人IDを表示する。ラベル値ペア4813Aの値は領域220Aから得られる(図19)。
【0823】
ラベル値ペア4813Bは、ラベルの“取り引き”を有する。ラベル値ペア4813Bの値は、顧客アプリケーションソフトウエア210で発生する、メッセージCS1を唯一のものとして認定する取り引き番号である。ラベル値ペア4813Bは、サーバコンピュータ100がメッセージCS1を受け取った時に、(1)下記に述べる関連する応答メッセージCS2、及び(2)メッセージCS1が2重メッセージであるかどうか、(すなわち、すでにサーバコンピュータで受け取っているかどうか)を決定させる。ラベル値ペア4813Bに関連する値は領域256Bに蓄積される。
【0824】
ラベル値ペア4813Cは、ラベルの“日付”を有する。ラベル値ペア4813Cの値は、顧客コンピュータ200のクロックに従って、メッセージCS1が組立てらて、サーバコンピュータ100に送られた日付と時間を表示する。ラベル値ペア4813Cに関連する値は領域256Cに蓄積される。
【0825】
ラベル値ペア4813Dはラベルの“サーバキー”を有する。先に述べたとおり、顧客コンピュータ200でメッセージCS1の不透明ラベル値ペア4817を暗号化するために使用されるDESキー/IVペアは、サーバコンピュータ100のRSAパブリックキーを使用して暗号化される。ラベル値ペア4813Dは、サーバプライベートキーデータ構造160に蓄積されている対応するRSAプライベートキーをさす。
【0826】
ラベル値ペア4813Eはラベルの“サービスカテゴリ”を有する。ラベル値ペア4813Eの値は、サーバコンピュータ100で、メッセージCS1を、特別なサービスカテゴリのメッセージを操作するサーバコンピュータ100内のプロセッサに送るのに使用されるラベルである。
【0827】
ラベル値ペア4817を以下に述べる。ラベル値ペア4817は、次に続く値が暗号化されたデータであることを意味するラベルの“不透明”を有する。ラベル値ペア4817の値は、ステップ813で符号化されたデータを表す。メッセージCS1の不透明部(図98)は次の通りである。
【0828】
ラベル値ペア4817Aは、ラベルの“タイプ”を有する。ラベル値ペア4817Aは、メッセージCS1の不透明部の内容のラベルを設定するメッセージデータ構造150のレコードを示す。ラベル値ペア4817Aの値は、顧客ユーザ203が閉鎖セッション処理411を表示する際のラベルを作る顧客アプリケーションソフトウエア210から得られる。
【0829】
ラベル値ペア4817Bはラベルの“サーバ日付”を有する。ラベル値ペア4817Bは、メッセージCS1が組立てられた日付と時間を表示する。この日付と時間は、サーバコンピュータ100のクロックに対する顧客コンピュータ200の認識である。
【0830】
ラベル値ペア4817Cはラベルの“ソフトウエアバージョン”を有する。ラベル値ペア4817Cの値は、サーバコンピュータ100と関連する顧客アプリケーションソフトウエア210のバージョンを表示し、顧客アプリケーションソフトウエア210に埋め込まれたデータから得られる。ラベル値ペア4817Cに関連す値も、領域256Dに蓄積される。
【0831】
ラベル値ペア4817Dは、ラベルの“レコードノート”を有する。ラベル値ペア4817Dの値は、現在の閉鎖セッション処理411に関連するサーバセッションデータ構造130に蓄積される追加のショートテキストノートである。ラベル値ペア4817Dの値は、顧客アプリケーションソフトウエア210からのプロンプトに対する顧客ユーザ203の応答から得られ、好ましくはディスプレイで表示しやすいように、60文字に制限されている。レコードノートが開設セッション処理407の間に顧客ユーザによって作られる場合は、ラベル値ペア4817Dの値は、領域130Mにすでに蓄積されている値に加えられる。
【0832】
ラベル値ペア4817Eはラベルの“セッションID”を有する。ラベル値ペア4817Eに関連する値は、顧客セッションデータ構造240の領域240Aから得られ、領域256Fに蓄積される。
【0833】
ラベル値ペア4817Fは、ラベルの“リクエスト−ログ”を有する。ラベル値ペア4817Fに関連する値は、“YES”または“NO”のいずれかである。ラベル値ペア4817Fは、顧客ユーザ203がステップ1802における取り引きのログを受領するために選ばれたか否かを反映している。ラベル値ペア4817Fの数値は顧客継続データ構造250の領域256G内に蓄積される。
【0834】
ラベル値ペア4817Gはラベル“キー”を有する。ラベル値ペア4817Hの値は、顧客個人120.1のRSAパブリック/プライベートキーペアの対数係数部のハッシュである。ラベル値ペア4817Gの値は、サーバコンピュータ100に、領域120B(図6)に維持されているRSAパブリックキーが、メッセージCS1(ラベル値ペア4817H)をサインするのに使用されているのと同じキーであることを確認させる。
【0835】
ラベル値ペア4817Hは、ラベルの“サイン”を有する。ラベル値ペア4817Iは、顧客個人120.1のデジタルサインを表す。メッセージCS1について、ラベル値ペア4817Hの値が、顧客個人120.1のRSAプライベートキーで暗号化されたラベル値ペア4813A−4813E及びラベル値ペア4817A−4817Gのアルファベト順のハッシュである。顧客個人120.1のRSAプライベートキーは領域220Hから得られる。
【0836】
ステップ1803において、メッセージCS1がメッセージ組立て処理800に従って組立てられる。メッセージ組立て処理800は、図49を参照して、メッセージR1として前述している。一つの例外は、メッセージCS1のコピーが領域265Hに蓄積されることである。
【0837】
図96を再度参照すると、閉鎖セッション処理411は、ステップ1804で継続される。ここで、顧客コンピュータ200は、メッセージCS1をサーバコンピュータ100に転送する。顧客コンピュータ200は、サーバコンピュータ100からの応答メッセージCS2を待つ。
【0838】
ステップ1805で、サーバコンピュータ100が、顧客コンピュータ200からメッセージCS1を受取り、メッセージCS1に関するサーバメッセージアンラップ処理900を実行することによってメッセージCS1をアンラップする。サーバメッセージアンラップ処理900は、図52−53に参照されるメッセージR1のところですでに述べた。一つの例外は、メッセージCS1のコピーが領域140Eに蓄積されることである。
【0839】
ステップ1806では、ステップ904、909A、912、914、915または916のテストのいずれかが、ステップ905で設定されたエラーフラッグを生じさせる場合、ステップ1814でサーバコンピュータ100によってエラー処理処理が実行される。ステップ1814でのエラー処理のレベルが管理者による決定である間、最小限、サイン、フォーム、“致命的”な欠落が、顧客アプリケーションソフトウエア210で処理され得るコードを含む返答メッセージ及び、顧客ユーザ203によって読み取り得るメッセージの結果としてのソフトウエアチェック処理に戻ることが好ましい。ステップ1814におけるエラー処理処理が、特定のエラーコード(下記の返答メッセージCS2の内容に関連して説明する)を有するフラッグの関連、及びテキストメッセージ(メッセージのデータ構造またはシステム管理者によって送られたメッセージのいずれか)の作成を必要とする。サーバコンピュータ100は、次いで、下記に述べるものと類似のメッセージCS2を作り、顧客コンピュータ200にエラーコード及び全ての関連するメッセージを運ばせる。
【0840】
ステップ904、909A、912、914、915及び916のテストがステップ905で設定されるエラーフラッグを生じなかった場合は、処理はステップ1807で継続される。ここでは、サーバコンピュータ100が、ラベル値ペア4817Eで認定されたセッションを、領域130L内のステータスフラッグを“閉鎖”に設定することで無効にする(サーバデータ構造を更新する)。
【0841】
ステップ1809で、サーバソフトウエア110がサーバメッセージ組立処理1000に基づいて応答メッセージCS2を組立てる。サーバメッセージ組立て処理1000似付いては、図54を参照してメッセージR2としてすでに述べた。メッセージCS2の内容(図99及び100)について以下に述べる。
【0842】
ラベル値ペア4913Aは、ラベルのIDを有する。ラベル値ペア4913Aの値は、顧客ユーザ203の個人IDを表示する。ラベル値ペア4913Aの値は、メッセージCS1のラベル値ペア4813Aの値から得られる。
【0843】
ラベル値ペア4913Bはラベルの“取り引き”を有する。ラベル値ペア4813Bの値は取り引き番号である。ラベル値ペア4913Bは、ラベル値ペア4813BにおけるメッセージCS1で受け取ったものと同じである。
【0844】
ラベル値ペア4913Cはラベルの“日付”を有する。ラベル値ペア4913CはメッセージCS1のラベル値ペア4813Cの値と同じ値である。
【0845】
ラベル値ペア4913Dはラベルの“サービス−カテゴリィ”を有する。ラベル値ペア4913DはメッセージCS1のラベル値ペア4813Eの値と同じ値である。
【0846】
メッセージCS2の不透明部の内容は図100に示されており、ラベル値ペア4917Aはラベルの“タイプ”を有する。ラベル値ペア4917Aの値は、メッセージデータ構造270(図17)のレコードを指し、メッセージCS2の不透明部の内容のラベルを設定する。ラベル値ペア4917Aはサーバソフトウエア110から得られる。
【0847】
ラベル値ペア4917Bはラベルの“サーバ日付”を有する。ラベル値ペア4917Bの値は、サーバコンピュータ100のクロックに基づいたメッセージCS2が組立てられた日付と時間である。
【0848】
ラベル値ペア4917Cは、ラベルの“応答コード”を有する。ラベル値ペア4917Cの値は、閉鎖セッション処理411が成功であったか失敗であったかを表示する。
【0849】
ラベル値ペア4917Dは、“swセベリティ”(ソフトウェアセベリティ)を有する。ラベル値ペア4917Dの値は、顧客アプリケーションソフトウエア210が更新される必要があるか否か、まだ更新できない(“警告”)またはもう更新できない(“致命的”)かを表示する。顧客アプリケーションソフトウエア210が現在使用されているものであれば、ラベル値ペア4917Dの値は零である。
【0850】
ラベル値ペア4917Eは、ラベルの“swメッセージ”(ソフトウェアメッセージ)を有する。ラベル値ペア4917Eは、“致命的”または“警告”ソフトウェアセベリティである場合に、顧客ユーザ203は何をすべきかについての指示を表示する。ラベル値ペア4917Eの値は、ラベル値ペア4917Dの値が0でない場合にのみ出現する。
【0851】
ラベル値ペア4917Fは、ラベルの“メッセージ”を有する。ラベル値ペア4917Fの数値は、ラベル値ペア4913C内で返信されたエラーまたは成功状態に関連付けられた自由なテキストメッセージであり、顧客ユーザ203に対して表示がなされる。
【0852】
ラベル値ペア4917Gは、ラベル“料金”を有する。ラベル値ペア4917Gの数値は、存在する場合、メッセージCS1を処理するために顧客ユーザ203にチャージされる。
【0853】
ラベル値ペア4917Hはラベルの“金額”を有し、開設セッション処理中のセッションに当てられた金額から全ての支払及び手数料が差引かれた残りの電子ファンドの金額を表示する。メッセージCS1の処理が成功すれば、ラベル値ペア4917Hで与えられる金額がコアッシュコンテナ領域120G.2に加えられる(図7)。
【0854】
メッセージCS2の組立てがこれで完了する。
【0855】
図96を再度参照すると、ステップ1809Aで、サーバコンピュータ100から顧客コンピュータ200へメッセージCS2が送信(伝送)される。
【0856】
ステップ1810において、顧客コンピュータ200がサーバコンピュータ100からメッセージCS2を受取、メッセージアンラップ処理1100を実行することによってメッセージCS2をアンラップする。メッセージCS2のメッセージアンラップ処理1100は、図57を参照してメッセージR2に関してすでに述べた。
【0857】
ステップ1811において、
(1)ステップ1105でエラーフラッグが生じたら、そのフラッグはステップ1811で検出され、メッセージCS2の処理がステップ1812で終了する。顧客ユーザ203は、メッセージCS2に関してなにも行われない。本発明では、顧客アプリケーションソフトウエア210内にメカニズムがあり、メッセージを作ってサーバコンピュータ100に送る。このメッセージは、顧客が受け取ったCS2メッセージと、そのメッセージを失敗させたものがなにかについての診断を含む。このメッセージに対する応答は、サーバコンピュータ100で顧客コンピュータ200に送られる。むしろ、問題がシステムにあるのかどうか、及び適当な訂正手段を取る必要があるかどうかを確実にするために、情報が使用される。
【0858】
(2)ステップ1105でエラーフラッグが設定されず、ステップ905でメッセージCS1にエラーが検出された場合、ステップ1813で処理が継続されて、ラベル値ペア4717Cの内容がチェックされる。ラベル値ペア4917Cの値が、“成功”以外のものである場合、エラー処理ルーチンがステップ1815で行われ、顧客アプリケーションソフトウエア210にラベル値ペア4917Cの内容に関連するラベル値ペア4917Fに含まれるメッセージを表示させ、ラベル値ペア4917Cの値を読み取るとともに、その値に関連して何らかの処置を実施し;または、
(3)メッセージCS1がステップ905でのチェックをパスし、ステップ1105でフラッグが設定されなかったたら、処理がステップ1816で継続して、顧客アプリケーションソフトウエア210が顧客データ構造202を次のように更新させる。
【0859】
ラベル値ペア4917からの金額が領域220Jに加えられる。
【0860】
顧客ログデータ構造260のレコード267は、次の用に更新される:ラベル値ペア4913Aからの個人IDが領域267Hに蓄積される。ラベル値ペア4913Bからの取り引き番号は領域267Bに蓄積される。ラベル値ペア4917Bからの日付は領域267Cに蓄積される。ラベル値ペア4917Cからの応答コードは領域267Fに蓄積される。ラベル値ペア4917Dからのソフトウエアセベリティコードは、領域267Dに蓄積される。ラベル値ペア4917Eからのソフトウエアメッセージは領域267Eに蓄積される。ラベル値ペア4917Fからの応答コードに関連する応答メッセージは領域267Gに蓄積される。ラベル値ペア4917Gからの料金は領域267Kに蓄積される。ラベル値ペア4917Hからの金額は領域267Iに蓄積される。
【0861】
メッセージCS1の中のリクエストログのラベル値ペア4817Fの値が“yes”に設定されたら、そのセッションが閉鎖するまでの間に顧客ユーザ203によって始められたすべての取り引きのレポートが顧客コンピュータ200に届けられる。
【0862】
処理は、ステップ1817に引き継がれ、閉鎖セッション処理411が終了する。
【0863】
V.サンプル取り引き
以下は、サンプル取り引きに関するものである。サンプル取り引きにおいては、顧客ユーザ203と販売者ユーザ303は、登録処理処理401、手段結合処理403、ロード/アンロード処理405、セッション開設処理407、取り引き支払処理409、セッション閉鎖処理411をそれぞれ行う。これらの処理を実行することによって、顧客ユーザ203は、アクメプロダクツから一組の“ロケットシューズ”を購入することができる。
【0864】
本発明においては、価値がないとされているメッセージラベル値ペアが、好ましくは、転送されたメッセージに含まれていない。本発明のこの特性は、下記のサンプルメッセージに反映されている。
【0865】
A.登録処理401
登録処理401は、顧客と販売者について同じである。顧客ユーザ203の登録についてのみ以下に述べる。
【0866】
顧客ユーザ203は、顧客アプリケーションソフトウエア210を走らせて、一又はそれ以上の法的な同意のために、顧客ユーザ203をプロンプトさせる。
法的な同意書に対する顧客ユーザ203の同意を求めるリクエストに応じて、顧客ユーザ203が“同意した”を選択する。顧客アプリケーションソフトウエア210が、次いで、所望の個人ID、顧客ユーザ203のEメールアドレス、どんなエラーメッセージも表示される所望の言語、その個人に関連する自動閉鎖パスフレーズ、その個人のデフォルト通貨についての情報のために顧客ユーザ203をプロンプトする。
【0867】
所定の個人IDのためのプロンプトに応じて、顧客ユーザ203は“brianb”を選択する。Eメールアドレスに関するプロンプトに答えて、顧客ユーザ203は“brianb@reality.com”と入力する。エラーメッセージ用の所望の言語に対するプロンプトに答えて、顧客ユーザ203は“English”と入力する。個人に関連するオートクローズパスフレーズに対するプロンプトに答えて、顧客ユーザ203は“badnews”と入力する。個人のディフォルト通貨に対するプロンプトに答えて、顧客は“U.S.dollars”と入力する。
【0868】
顧客ユーザ203は、パスワードを入力するべくプロンプトされる。顧客ユーザ203はついで、“enterprise”を入力する。顧客ユーザは、パスワードを再入力して、応じるためにプロンプトされる。顧客アプリケーションソフトウエア210は、次いで、RSAパブリック/プライベートキーペアを発生し、上述したメッセージR1の製作を開始する。このメッセージは次のものを含む。
【0869】
取り引き番号 2277052
日付 19951105100505456
サーバキー CC1001
タイプ 登録
サービスカテゴリ admin
不透明:
サーバ日付 19951105100506656
ソフトウエアバージョン 1.0win
内容言語 en−us
デフォルト通貨 usd
要求されるID BrianB
Eメール brianb@reality.com
同意 75
オートクローズパスフレーズ badnews
pubkey aslfflasdflasjylfdjslyafkjfjslakjfyldskajyflkajsyldfjlaskfaslfjflasdflasjykjfjslakjfjuyresdfutkpoiuqwasderfgthyujikolpkmn75cxzl
サイン sdjflsajflksjdlkfjlsakjflkdsajflksjfjslakjfyldskajyjfjslakjfyldskajydjlfasdloprytuazxcnmklokmnuhbvgytfcdxszaqwe3r5t6y7u8io109km+
【0870】
サーバコンピュータ100は、サーバメッセージログ140中に新規レコード140.1を作り、領域140EにメッセージR1のコピーを蓄積する。サーバコンピュータ100は、次いで、メッセージR1をアンラップし、上記に述べたとおりに処理して、以下の通り、サーバメッセージログ140のレコード140.1を更新する。
【0871】
個人ID brianb−23
セッションID
取り引き番号 2277052
インデックス
入ってくるメッセージ メッセージR1のコピー
応答メッセージ
【0872】
サーバコンピュータ100は、次いで、顧客ユーザ203に要求されたIDをいまある個人のリストと比較する。要求されている個人IDが単一の者であれば、顧客ユーザ203に関する個人レコード120.1を作る。
【0873】
個人ID brianb−23
Eメール brianb@reality.com
パブリックキー aslfjflasdflasjylfdjslyafkjfjslakjfyldskajyflkajsyldfjlaskfaslfjflasdflasjykjfjslakjfjuyresdfutkpoiuqwasderfgthyujikolpkmn75cxzl
日付登録 19951105100507556
内容言語 en−us
オートクローズパスフレーズ badnews
キャッシュコンテナデータ
同意
手段結合データ
【0874】
サーバコンピュータ100は、次いでメッセージR2を組み込み、サーバメッセージログデータ構造140の記録140.1の領域140Fにそのコピーを蓄積し、メッセージR2を顧客コンピュータ200に転送する。メッセージR2は次のものを含む。
【0875】
取り引き 2277052
日付 19951105100505456
タイプ registration−response
サービスカテゴリ admin
不透明
サーバデータ 19951105100507556
要求されるID brianb
応答ID brianb−23
Eメール brianb@reality.com
応答コード success
pubkey aslfjflasdflasjylfdjslyafkjfjslakjfyldskajyflkajsyldfjlaskfaslfjflasdflasjykjfjslakjfjuyresdfutkpoiuqwasderfgthyujikolpkmn75cxzl
swセビリティ warning
swメッセージ New software is available
【0876】
顧客コンピュータ200は、上述したとおり、メッセージR2をアンラップして処理する。顧客アプリケーションソフト210は、顧客個人データ構造220内に、以下の個人“brianb−23”のレコードを作成する。
【0877】
個人ID brianb−23
eメール brianb@reality.com
パブリックキー aslfjflasdflasjylfdjslyafkjfjslakjfyldskajyflkajsyldfjlaskfaslfjflasdflasjykjfjslakjfjuyresdfutkpoiuqwasderfgthyujikolpkmn75cxzl
登録日 19951105100507556
内容言語 en−us
オートクローズパスフレーズ badnews
キャッシュコンテナデータ
同意 75
手段結合データ
ソフトウエアオプション デフォルト
プライベートキー 8ikuhbrfvedc3erfg56yu87yg0okmsdfghjk3erfqwerty7yuh8ij7yfgdcsdfv6y89i0oolujmhncvzx2wdplkjhgffdsawe/9+45rf6tg7yhkjhgf2waaz4ed5tgfv
【0878】
B.手段結合処理403
手段結合処理403は、顧客及び販売者について同じものである。顧客ユーザ203による手段の結合に関してのみ述べる。
【0879】
手段結合処理403は、顧客ユーザ203がクライエントアプリケーションから手段結合操作を選択した時に開始する。顧客アプリケーションソフトウエア210は、ディフォルト状態のネーム及びアドレスについて顧客ユーザ203をプロンプトする。顧客ユーザ203はついで、“Brian Brian,100Elm Street, Nice Place, VA 00000 USA”と入力する。
【0880】
顧客ユーザ203は、“bank account”を選択し、銀行口座番号、銀行口座がその個人のオートクローズ口座であるかどうか、一つ以上の法的な契約に対する顧客ユーザ203の同意、の情報に関してプロンプトされる。顧客ユーザ203は、手段の所有者の名前、住所電話番号を帰するために必要な情報の変更を促される。
【0881】
銀行口座に関するプロンプトに応じて、顧客ユーザ203は“059013218175654”と入力する。その口座がその個人のオートクローズ口座であるかどうかに付いての応答に対するプロンプトに応じて、顧客ユーザ203は“yes”と入力する。表示された名前、アドレス、電話番号を変更するプロンプトに応じて、顧客ユーザ203は断る。
【0882】
口座の記載事項についてのプロンプトに応じて、顧客ユーザ203は“My fun account”と入力する。顧客ユーザ203の法的な契約に対する同意に関するプロンプトに応じて、顧客は“agreed”と入力する。顧客ユーザ203はサーバコンピュータの“bind instrument”にプロンプトされる。この動作は、上述したとおり、顧客アプリケーションソフトウエア210にメッセージBI1を作らせる。このメッセージは次の事項を含む。
【0883】
ID brianb−23
取り引き番号 2277053
日付 19951125100510589
サーバキー CC1001
サービスカテゴリ admin
不透明
タイプ bind−instrument
サーバ日付 19951125100512689
ソフトウエアバージョン 1.0win
手段番号 059013218175654
手段タイプ dda
手段カテゴリ dda
手段機能 load,unload
手段ソルト 4bnm8poetqv=
手段名 Brian Q. Brian
手段ストリート 100 elm Street
手段シティ Nice Place
手段州 VA
手段郵便コード 00000
手段国 USA
契約 75,123
オートクローズ yes
オートクローズパスフレーズ badnews
キー 4/Roos+2ac8=
サイン sjadlkaslzfzlksajzlffzlksajzlffzlksajzlffzlksajzlffzlksajzlffzlksajzlfjszlfjsldfjlskflsajfsa/9iu7hgfce/juy+poiuhnbvcdewqazxp
【0884】
サーバコンピュータは、新規レコード140.2をサーバメッセージログ140内に作り、メッセージBI1のコピーを領域140Eに蓄積する。サーバコンピュータ100は、次いで、メッセージBI1をアンラップして上述したとおり、それを処理し、サーバメッセージログ140のレコード140.2を次のように更新する。
【0885】
個人ID brianb−23
セッションID
取り引き番号 2277053
インデックス
入ってくるメッセージ copy of BI1
応答メッセージ
【0886】
サーバコンピュータ100は、次いで、オートクローズ領域120Fに“badnews”を入力し、手段結合データを領域120Hに加えることによって、個人“brianb−23”のサーバ個人データ構造120.1を次のように更新する。
【0887】
個人ID brianb−23
手段タイプ dda
手段番号 aswerfcvg[encrypted]
手段特有通貨 usd
手段プリフィックス 055654
法的契約 75,123
手段ハッシュ uou980y57rd98jnhgt54e3==
発行人認識番号 735980
手段ホルダ名 lkpipoipoi[encrypted]
手段ホルダアドレス oipipoipipo[encrypted]
手段結合日付 19951125100513583
手段を最初に使用した日
結合状態 created
売取引可 no
売取引制限
クレジット取引可 no
クレジット取引制限
ロードキャッシュ可 yes
ロードキャッシュ取引制限 usd1000.00
アンロードキャッシュ可 yes
アンロードキャッシュ取引制限 −1
オートクローズ結合 yes
【0888】
次いで、サーバコンピュータ100はメッセージBI4を組立て、そのコピーをサーバメッセージログ140のレコード領域140Fに蓄積し、メッセージBI4を顧客ユーザ203に送る。メッセージBI4は以下のものを含む。
【0889】
個人ID brianb−23
取り引き番号 2277053
日付 19951125100510589
サービスカテゴリ admin
不透明
タイプ bind−instrument−response
サーバ日付 19951125100513583
応答コード success
ソフトウェアセベリティ warning
ソフトウェアメッセージ New software is available
手段タイプ dda
手段発行人 East Bank of the Mississippi
手段発行人の国 us
手段機能 load,unload
手段番号 059013218175654
手段タイプ dda
手段発行人 East Bank of the Mississippi
手段発行人の国 us
手段機能 load,unload
手段ソルト 4bnm8poetqv=
【0890】
顧客コンピュータ200はメッセージBI4をアンラップし、上述したとおりそれを処理して、領域220Jへ手段結合データを加えることによって、個人“brianb−23”に関する顧客個人データ構造220内のレコード220.1を次のように更新する。
【0891】
個人ID brianb−23
手段番号 059013218175654
手段明細 my fun account
ホルダ名 Brian Brian
ホルダアドレス 100 Elm Street
ホルダシティ Nice Place, VA
ホルダ国 USA
ホルダ郵便コード 00000
ホルダ国コード 1
ホルダ地域コード 703
ホルダ電話番号 555−1212
通貨 usd
取り引き売フラッグ no
取り引きクレジットフラグ no
アンロードファンドフラグ yes
ロードファンドフラグ yes
ステータス approved
手段循環データ instrument−number:059013218175654 instrument−type:dda instrument−issuer:EastBankoftheMississippi instrument−issuer−country:us instrument−functions:load,unload instrument−salt:4bnm8poetqv=
契約 75,123
【0892】
C.ロード/アンロード処理405
ロード/アンロード処理405は、顧客ユーザ203が顧客アプリケーションソフトウエア210からロード操作を選択することによって開始する。顧客アプリケーションソフトウエア210は、個人brianb−23へファンドをロードする手段に関する顧客ユーザ203をプロンプトする。顧客ユーザ203は“my fun account”を選択し、転送すべき金額についてプロンプトされる。金額についてのプロンプトに応じて、顧客ユーザ203は$100.00を入力する。顧客アプリケーションソフトウエア210は、次いで、前述したとおりメッセージLU1を組込む、サーバコンピュータ100に送る。メッセージLU1は、次の情報を含む。
【0893】
ID brianb−23
取り引き番号 2277054
日付 19951105103517688
サーバキー CC1001
サービスカテゴリィ cash
不透明
タイプ load−unload−funds
サーバ日付 19951105103519788
金額 usd100.00
キー 4/Roos+2ac8=
サイン lljwlrjwlimceiwlcefjdwewleiciwlcefjdwewleiciwlcefjdwewleicjwlierqiqhodqhoiwehqxq23jioerpoiuklhgrqwer7y6tghjuiko09p+po9ijht5re3wx
【0894】
サーバコンピュータはサーバメッセージログ140に新規レコード140.3を作り、メッセージLU1のコピーを領域140Eに蓄積する。サーバコンピュータ100はついで、メッセージLU1をアンラップして上述したようにそれを処理し、サーバメセージログ140のレコード140.3を次のように更新する。
【0895】
個人ID brianb−23
セッションID
取り引き番号 2277054
インデックス
入ってくるメッセージ copy of LU1
応答メッセージ
【0896】
サーバコンピュータ100は、次いで、領域120Gに以下のようにキャッシュコンテナデータを加えることで顧客個人レコード120.1を更新する。
【0897】
通貨 usd
可能なバランス 100.0
オンホールドバランス 0.00
代理人口座番号 113317834
【0898】
サーバコンピュータ100は次いで、メッセージLU2を組立てて、そのコピーをサーバメッセージログ140のレコード140.3の領域140Eに蓄積し、顧客コンピュータ100へメッセージLU2を転送する。メッセージLU2は以下の情報を含んでいる。
【0899】
ID brianb−23
取り引き番号 2277054
日付 19951105103517688
サービスカテゴリ cash
不透明
タイプ load−unload−response
サーバ日付 19951105103607914
金額 usd100.00
応答コード success
メッセージ funds−loaded
ソフトウェアセベリティ warning
ソフトウェアメッセージ New software is available
料金 usd0.0
バランス usd100.00
セッションファンド usd0.00
オンホールド usd0.00
【0900】
顧客コンピュータ200はメッセージLU2をアンラップして、上述したとおりそれを処理し、“usd100”をキャッシュコンテナ領域220Jに入力することによって、個人“brianb−23”に関する顧客個人データ構造220のレコード220.1を更新する。
【0901】
D.セッション開設処理407
セッション製作処理407は、顧客ユーザ203が顧客アプリケーションソフトウエア210からセッション開設操作を選択した時に開始する。顧客アプリケーションソフトウエア210は、所望のセッション寿命を分で、セッション中に行われる取り引きの最大数、セッション中に入手可能なファンドの金額、及びそのセッションに関するメモの情報に関して顧客ユーザ203をプロンプトする。
【0902】
所望のセッションの寿命分に関するプロンプトに応じて、顧客ユーザ203は“120”を入力する。そのセッション中に行われる取り引きの最大数に関するプロンプトに応じて、顧客ユーザ203は“25”を入力する。そのセッション中に入手可能なファンドの金額に関するプロンプトに応じて、顧客は“70.00”を入力する。そのセッションのメモに関するプロンプトに応じて、顧客ユーザ203は“Christmas shopping spree”を入力する。
【0903】
顧客200は、次いで、メッセージOS1を組立てて、サーバコンピュータ100にそれを送る。メッセージOS1は次の情報を含む。
【0904】
ID brianb−23
取り引き番号 2277055
日付 19951105104131914
サーバキー CC1001
サービスカテゴリィ cash
不透明
タイプ open−session
サーバ日付 19951105104134014
ソフトウエアバージョン 1.0win
レコードノート Christmas shopping spree
金額 usd70.00
キー寿命 0120
キー使用制限 25
キー 4/Roos+2ac8=
サイン kasdjflasjdzlkfuoi579384ng09kdfgj09eurtndfbnb909nlktujwjsi86tjf9086ptjfgr6jir46edcloplaszxewqnym+09uhgtr432zxcvbhgrewq12rg8mko01
【0905】
サーバコンピュータは、サーバメッセージログ140内に新規レコード140.4を作り、領域140EにメッセージOS1のコピーを蓄積する。サーバコンピュータ100は、次いで、上述したとおりメッセージOS1をアンラップして、それを処理し、サーバメッセージログ140のレコード140.4を次の通り更新する。
【0906】
個人−ID brianb−23
セッション−ID
取り引き番号 2277055
インデックス
入ってくるメッセージ copy of OS1
応答メッセージ
【0907】
サーバコンピュータ100は、個人ID“brianb−23”に関連するサーバセッションデータ構造130内にレコード130.1を作る。レコード130.1は次の情報を含む。
【0908】
セッションID J/Pi+sqGtgH=
セッションキー 7ujm8iktgTRrfv3edc9olk==
セッションソルト aa5yh8fdkl+=
通貨 usd
開設金額 70.00
残高 70.00
開設日 19951105104137179
閉鎖日
キー使用制限 15
キー寿命 0060
個人ID brianb−23
ステータス open
メモ christmas shopping spree
取り引き日
【0909】
サーバコンピュータ100も、個人“brianb−23”に関連するサーバ個人データ構造120に、上述したキャッシュコンテナの取り引き可能なバランス領域120G.2から金額“100.00”から金額“70.00”を差引くことによってレコード120.1を更新する。サーバコンピュータはメッセージOS2を組立てて、レコード140.4の領域140Fそのコピーを蓄積し、顧客コンピュータ200へメッセージOS2を転送する。メッセージOS2は以下の情報を含む。
【0910】
ID brianb−23
取り引き 2277055
日付 19951105104131914
サービスカテゴリ cash
不透明
タイプ open−session−response
サーバ日 19951105104137179
応答コード success
ソフトウエアセベリティ warning
ソフトウエアメッセージ New software is available
キー寿命 0060
キー使用制限 15
金額 usd70.00
外貨交換 cad0.60 gbp 1.55
セッションファンド usd70.00
バランス usd30.00
オンホールド usd0.00
手数料 usd0.00
セッションID J/Pi+sqGtgH=
セッションキー 7ujm8iktgTRrfv3edc9olk==
セッションソルト aa5yh8fdkl+=
【0911】
顧客コンピュータ200は、上述したとおりメッセージOS2をアンラップして、それを処理し、ついで、個人“brianb−23”に関連する顧客セッションデータ構造に、以下の通り新規レコード240.1をつくる。
【0912】
セッションID J/Pi+sqGtgH=
セッションキー 7ujm8iktgTRrfv3edc9olk==
セッションソルト aa5yh8fdkl+=
通貨 usd
開設金額 70.00
通貨金額 70.00
開設日付 19951105104137179
キー使用制限 15
キー寿命 0060
メモ christmas shopping spree
【0913】
販売者ユーザ303がセッションを開設する処理は、販売者がその個人キャッシュコンテナからセションレジスタへファンドを転送しないことを除いて同じである。従って、販売者は、ファンドを受け取ることを期待し、販売セッションにおいて、それに対して受取可能なファンドは必要ない。サーバコンピュータ100は、販売者ユーザ303の個人“Acme−12”に関連するサーバセッションデータ構造130に、つぎのようにレコード130.2を作る。
【0914】
セッションID k/iL+tpPmHg=
セッションキー 3ejkPOM7T+poBQW9ipqwZ8==
セッションソルト qw89lk3vAZ==
通貨 usd
開設金額 0.00
残高 0.00
開設日 110595063012147
閉鎖日
キー使用制限 090
キー寿命 0960
個人ID Acme−12
ステータス open
メモ shoe department sales転送データ
【0915】
セッションを開設したら、販売者コンピュータ303は、販売者キャッシュログデータ構造370に、次の通り新規レコード370.1をつくる。
【0916】
タイプ open−session
ステータス open
取り引き番号 55443322
必要なセッション期間 0960
必要なセッションカウント 90
セッション−ID k/iL+tpPmHg=
結果コード success
【0917】
E.取り引き支払処理409
取り引き支払処理409は、支払のメカニズムとして“キャッシュによる支払”を選択することによって特定のタームのもとにロケットシューズを売る販売者ユーザ303からの申し入れに対して、顧客ユーザ203が応答した時に、開始する。この行動により、販売者コンピュータ300がメッセージPR1を組立てて、上述したとおり、顧客コンピュータ200にそれを転送する。メッセージPR1は次の情報を含む。
【0918】
タイプ payment−request
販売者−ccID Acme−12
販売者オーダーID 1231−3424−234242
販売者日付 19951105104536378
販売者ソフトウェアバージョン foo69
ノート ACME製品
Purchase of 1 pair”
Rocket Shoes” at $37.50 ea.
Shipping and handling $5.00
Total Price:$42.50
Ship to:
Brian Brian
100 Elm Street,
Nice Place, VA 00000, USA
販売者金額 usd42.50
販売者金額2 cad54.25
受領 visa;master;amex;JCPenny;macy
url−pay−to http://www.ACME.com/ServerPayment
url−cancel http://www.ACME.com/CyberPayment
Cancel
url−success http://www.ACME.com/ordersuccess
url−fail http://www.ACME.com/orderfail
販売者署名ハッシュキー ISLzs/vFQ0BXfU98LZNWhQ==
販売者署名ハッシュ klfjlkdfglkdfsutkdfjglds7503qwrtjtyuvnvidur09e58fdj9086jCS985kf9086kg9894j6g−r094543jvndmkzazqpl
【0919】
販売者コンピュータ300も、以下に述べる販売謝金額データ構造350の新規レコード350.1を作る。
【0920】
オーダーID 1231−3424−234242
取り引きの金額 usd42.50
フラグ pending
【0921】
顧客コンピュータ200は、上述したとおり、メッセージPR1を処理する。
顧客アプリケーションソフトウエア210からのプロンプトに答えて、顧客ユーザ203は、“pay cash”を選択して、販売者ユーザ203の申し入れを受ける。この行動によって、顧客コンピュータ200がメッセージCA1を組立て、販売者コンピュータ300に転送する。メッセージCA1は、次の情報を含む。
【0922】
タイプ cash−payment
バージョン 1
セッションID J/Pi+sqGtgH=
インデックス 1
支払者通貨 usd
ノートハッシュ tyriokljhgbvxczm7rfde4==
支払者ID Acme−12
オーダーID 1231−3424−234242
サービスカテゴリ cash
不透明
金額 usd42.50
オースコード iou234rfgvbmcxp+poliu7==
【0923】
販売者コンピュータ300は、上述したとおり、メッセージCA1を処理する。販売者コンピュータ300は、次いで上述したメッセージCA2を組立てて、サーバコンピュータ100に転送する。メッセージCA2は以下の情報を有する。
【0924】
バージョン 1
セッションID k/iL+tpPmHg=
インデックス 77
サービスカテゴリィ cash
顧客−不透明
タイプ cash−collection
バージョン 1
タイプn cash−payment
サブバージョンn 1
支払者セッションIDn J/Pi+sqGtgH=
支払者インデックスn 1
ノート−ハッシュn kchfiZ5WAUlpk1/vlogwuQ==
支払人IDn Acme−12
オーダーIDn 1231−3424−234242
販売者金額n usd42.50
オーススコード UjkHgtK/38uhzxs9io3+PL==
顧客−不透明 jksyfditdfkjgdfut029jf9q0875jCSjmgmbnfiur86fm9345kdkjrjghnvmfhazaplaksdijdfhjgutiroklop8trewqasz
【0925】
販売者コンピュータ300は、以下の追加データを現在のレコードに加えることによって、販売者キャッシュログデータ構造のレコード370.1を更新する(明確にするために、レコード370.1をすべて示す)。
【0926】
タイプ cash payment
ステータス pending
オーダーID 1231−3424−234242
顧客セッションID J/Pi+sqGtgH=
顧客インデックス番号 1
顧客通貨 usd
販売者セッションID k/iL+tpPmHg=
販売者インデックス番号 77
販売者通貨 usd
販売者要求金額 42.50
クレジット金額 42.50
支払い済み手数料 0.00
タイプ open−session
ステータス open
取り引き番号 78765437
必要なセッション期間 0960
必要なセッションカウント 90
セッションID k/iL+tpPmHg=
結果コード success
【0927】
サーバコンピュータは、サーバメッセージログ140に新規レコード140.5を作り、領域140EにメッセージCA2のコピーを蓄積する。サーバコンピュータ100はメッセージCA2をアンラップして、すでに述べたようにそれを処理する。サーバコンピュータ100は、サーバセッションデータ構造130のレコード130.1及び130.2をチェックして、個人brianb−23と個人acme−12とが開セッションであるかどうかを決定する。セッションが無効である場合、サーバコンピュータは取り引き支払処理409を終了する。ここでは、サーバコンピュータ100は、処理を続けて、サーバメッセージログ140のレコード140.5を以下の通り更新する。
【0928】
個人ID Acme−12
セッションID k/iL+tpPmHg=
取り引き番号
インデックス 77
入ってくるメッセージ copy of message CA2
応答メッセージ
【0929】
サーバコンピュータは、また、以下の情報を取り引きデータ領域130Nに関連づけることによって、サーバセッションデータ構造130のレコード130.1を更新する。
【0930】
金額 usd42.50
顧客セッションID J/Pi+sqGtgH=
販売者オーダーID 1231−3424−234242
販売者個人ID Acme−12
顧客インデックス 1
【0931】
サーバコンピュータは、また、以下の情報を取り引きデータ領域130NNに関連づけることによって、サーバセッションデータ構造130のレコード130.2を更新する。
【0932】
金額 usd42.50
顧客セッションID J/Pi+sqGtgH=
販売者オーダーID 1231−3424−234242
販売者個人ID Acme−12
販売者インデックス 77
【0933】
サーバコンピュータは、次いで、メッセージCA3を組立てて、既に述べたとおり、販売者コンピュータ300にそれを転送する。メッセージCA3は次の情報を含む。
【0934】
タイプ from server
バージョン 1
セッションID k/iL+tpPmHg=
インデックス 77
サービスカテゴリ cash
販売者−不透明
サブタイプ cash−batch−receipt
サブバージョン 1
要求バージョン 1
応答コード success
料金 usd0.00
サブタイプn cash−payment−receipt
サブバージョンn 1
支払者セッションIDn J/Pi+sqGtgH=
支払者インデックスn 1
応答コードn success
集められた金額n usd42.50
オーダーIDn 1231−3424−234242
オースコード p12P+/BNfr59dsXz+lmnTP==
顧客−不透明
サービスカテゴリィ cash
応答コード success
金額 usd42.50
オーダーID 1231−3424−234242
オースコード kjTUY7f7zr+pGB65RXE+hc==
【0935】
販売者コンピュータ300はメッセージCA3をアンラップして、上述したとおりそれを処理する。販売者コンピュータ300は、フラッグ領域350Cを“paid”に設定することによって、販売者金額データ構造350のレコード350.1を更新する。
【0936】
販売者コンピュータ300は、販売者キャッシュログデータ構造370のレコード370.1を次のように更新する。
【0937】
ステータス領域370Bは“success”にセットされている。クレジット金額領域370Kは“usd42,50”にセットされている。
【0938】
販売者コンピュータは、メッセージCA4を組立てて、それを顧客コンピュータ200に転送する。メッセージCA4は以下の情報を含む。
【0939】
タイプ cash−payer−receipt
バージョン 1
セッションID k/iL+tpPmHg=
サービスカテゴリ cash
インデックス 77
オーダーID 1231−3424−234242
不透明
応答コード success
金額 usd42.50
オーダーID 1231−3424−234242
オースコード mhgD4QaBPkj+vWkjHytR5J==
【0940】
顧客コンピュータ200は、上述したとおりのメッセージCA4をアンラップして処理する。顧客コンピュータ200は、現在の金額領域240Fから“$42.50”を差引いてバランス$270.50を残すことによって、顧客セッションデータ構造240のレコード240.1を更新する。
【0941】
F.閉鎖セッション処理411
閉鎖セッション処理411は、顧客ユーザ203が顧客コンピュータ200のディスプレイから閉鎖セッションプロンプトを選んだ時に開始する。この動作によって、顧客コンピュータ200は、上述したとおり、メッセージCS1を組立てて、サーバコンピュータ100に転送する。メッセージCS1は、以下の情報を含む。
【0942】
ID brianb−23
取り引き 2277056
日付 19951105110223666
サーバキー CC1001
サービスカテゴリ cash
不透明
タイプ close−session
サーバ日付 19951105110225766
ソフトウェアバージョン 1.0win
セッションID J/Pi+sqGtgH=
要求ログ No
キー 4/Roos+2ac8=
サイン kasdjfzlskadufsodpirulksdnzlskd803dipodsifdfsadybmipjg4eazqer98jfejoiudfji98ytrnmvcxzaqw23rgtyhpmklo1qazxsw34rfvgy+09okiju7yhnbg
【0943】
サーバコンピュータは、サーバメッセージログ140に新規レコード140.6を作って、領域140EにメッセージCS1のコピーを蓄積する。サーバコンピュータ100は、ついで、前述したとおり、メッセージCS1をアンラップして、処理し、以下のレコード140.6を更新する。
【0944】
個人ID brianb−23
セッションID
取り引き 2277057
インデックス
入ってくるメッセージ copy of CS1
応答メッセージ
【0945】
サーバコンピュータ100は、次いで現在の金額領域130F($27.50)の値を、バランス$57.50用の上述のキャッシュコンテナの入手可能なバランス領域120G.2の金額を加えること、閉鎖データ領域130Hに値”19951105110301999”と入力すること、“開設”から“閉鎖”ヘステータス領域130Lを変更することによって、個人ID”brianb−23”に関連するサーバセッションデータ構造130のレコード130.1を更新する。
【0946】
サーバコンピュータは、メッセージCS2を組み込んで、レコード140.6の領域140Fにそのコピーを蓄積し、メッセージCS2を顧客コンピュータ200に転送する。メッセージCS2は次の情報を含んでいる。
【0947】
ID brianb−23
取り引き 2277057
日付 19951105110223666
サービスカテゴリ cash
不透明
タイプ close−session−response
サーバ日付 19951105110301999
応答コード success
ソフトウェアセベリティ warning
ソフトウェアメッセージ New software is available
料金 usd0.00
金額 usd27.50
【0948】
顧客コンピュータ200は、上述したとおり、メッセージCS2をアンラップして処理する。顧客コンピュータ200は、現在の金額領域220I($30.00)の値を、バランス$57.50として$27.50に加えることによって顧客個人データ構造220のレコード220.1の領域220Iを更新する。顧客コンピュータ200は、顧客セッションデータ構造240のレコード240.1を削除する。
【0949】
一方、本発明のこれまでに述べた部分は、実施例として述べられたものであり、当業者によって様々な変更、応用を施したもの、ならびに同等のものを、本発明の範囲内において使用することができる。
【図面の簡単な説明】
【図1】本発明の一般的な構成を示す説明図である。
【図2】本発明の一般的な処理を示す説明図である。
【図3】図2に示した処理をより詳細に示す説明図である。
【図4】本発明におけるメッセージの流れを示す説明図である。
【図5】サーバコンピュータ100のデータベースの構成を示す説明図である。
【図6】サーバの個人データ構造120の顧客個人120.1を示す説明図である。
【図7】図6のキャッシュコンテナデータ120Gの領域を示す説明図である。
【図8】図6の手段結合データ120Hの領域を示す説明図である。
【図9】サーバの個人データ構造120の販売者個人120.2を示す説明図である。
【図10】図9のキャッシュコンテナデータ120GGの領域を示す説明図である。
【図11】図9の手段結合データ120HHの領域を示す説明図である。
【図12】サーバのセッションデータ構造130の顧客セッションレコード130.1を示す説明図である。
【図13】図12の取引データ130Nの領域を示す説明図である。
【図14】サーバのセッションデータ構造130の販売者セッションレコード130.2を示す説明図である。
【図15】図14の取引データ130NNの領域を示す説明図である。
【図16】メッセージログデータ構造140のレコード140.1を示す説明図である。
【図17】顧客コンピュータ200のデータベースの構造を示す説明図である。
【図18】顧客アプリケーションデータ構造215のレコード215.1を示す説明図である。
【図19】顧客個人データ構造220のレコード220.1を示す説明図である。
【図20】顧客機器結合データ構造230のレコード230.1を示す説明図である。
【図21】顧客アクティブセッションデータ構造240のレコード240.1を示す説明図である。
【図22】顧客未決裁ログデータ構造250を示す説明図である。
【図23】顧客未決裁取引データ構造250の未決裁の登録/更新情報レコード251を示す説明図である。
【図24】顧客未決裁取引データ構造250の未決裁のリンク/更新機器結合レコード252を示す。
【図25】顧客未決裁取引データ構造250の未決裁キャッシュ支払レコード253を示す説明図である。
【図26】顧客未決裁取引データ構造250の未決裁のロード/アンロードファンドレコード254を示す説明図である。
【図27】顧客未決裁取引データ構造250の未決裁のオープンセッションレコード255を示す説明図である。
【図28】顧客未決裁取引データ構造250の未決裁のクローズセッションレコード256を示す説明図である。
【図29】顧客ログデータ構造260を示す説明図である。
【図30】顧客ログデータ構造260の個人の登録/更新応答レコード261を示す説明図である。
【図31】顧客ログデータ構造260のリンク/更新機器応答レコード262を示す説明図である。
【図32】顧客ログデータ構造260のキャッシュ支払応答レコード263を示す説明図である。
【図33】顧客ログデータ構造260のロード/アンロードファンド応答レコード264を示す説明図である。
【図34】顧客ログデータ構造260のオープンセッション応答レコード265を示す説明図である。
【図35】顧客ログデータ構造260の支払要求レコード266を示す説明図である。
【図36】顧客ログデータ構造260のクローズセッション応答レコード267を示す説明図である。
【図37】顧客キャッシュコンテナデータ構造280のレコード280.1を示す説明図である。
【図38】販売者コンピュータのデータベースの構造を示す説明図である。
【図39】販売者コンピュータのデータベースの販売者アプリケーションデータ構造のレコードを示す説明図である。
【図40】販売者コンピュータのデータベースの販売者個人データ構造のレコードを示す説明図である。
【図41】販売者コンピュータのデータベースの販売者機器結合データ構造のレコードを示す説明図である。
【図42】販売者コンピュータのデータベースの販売者セッションデータ構造のレコードを示す説明図である。
【図43】販売者コンピュータのデータベースの販売者キャッシュコンテナデータ構造のレコードを示す説明図である。
【図44】販売者コンピュータのデータベースの販売者総額データ構造のレコードを示す説明図である。
【図45】販売者コンピュータのデータベースの販売者販売セッションデータ構造のレコードを示す説明図である。
【図46】販売者コンピュータのデータベースの販売者キャッシュログデータ構造のレコードを示す説明図である。
【図47】サンプルメッセージのフォーマットを示す説明図である。
【図48】登録処理401を示すフロー図である。
【図49】メッセージ組み込み手続800を示すフロー図である。
【図50】登録メッセージR1のフォーマットを示す説明図である。
【図51】登録メッセージR1のフォーマットを示す説明図である。
【図52】サーバメッセージアンラップ手続900を示すフロー図である。
【図53】サーバメッセージアンラップ手続900を示すフロー図である。
【図54】サーバメッセージ組み込み手続1000を示すフロー図である。
【図55】登録メッセージR2のフォーマットを示す説明図である。
【図56】登録メッセージR2のフォーマットを示す説明図である。
【図57】顧客メッセージアンラップ手続1100を示すフロー図である説明図である。
【図58】機器結合処理403を示すフロー図である。
【図59】結合メッセージBI1のフォーマットを示す説明図である。
【図60】結合メッセージBI1のフォーマットを示す説明図である。
【図61】結合メッセージBI4のフォーマットを示す説明図である。
【図62】結合メッセージBI4のフォーマットを示す説明図である。
【図63】ロード/アンロードファンド処理405を示すフロー図を示す。
【図64】ロード/アンロードメッセージLU1のフォーマットを示す説明図である。
【図65】ロード/アンロードメッセージLU1のフォーマットを示す説明図である。
【図66】ロード/アンロードメッセージLU2のフォーマットを示す説明図である。
【図67】ロード/アンロードメッセージLU2のフォーマットを示す説明図である。
【図68】オープンセッション処理407を示すフロー図である。
【図69】オープンセッションメッセージOS1のフォーマットを示す説明図である。
【図70】オープンセッションメッセージOS1のフォーマットを示す説明図である。
【図71】オープンセッションメッセージOS2のフォーマットを示す説明図である。
【図72】オープンセッションメッセージOS2のフォーマットを示す説明図である。
【図73】取引/支払処理409を示すフロー図である。
【図74】取引/支払処理409を示すフロー図である。
【図75】取引/支払処理409を示すフロー図である。
【図76】支払要求メッセージPR1のフォーマットを示す説明図である。
【図77】メッセージアンラップ手続3300を示すフロー図である。
【図78】メッセージ組み込み手続CA12を示すフロー図である。
【図79】キャッシュ支払メッセージCA1のフォーマットを示す説明図である。
【図80】キャッシュ支払メッセージCA1のフォーマットを示す説明図である。
【図81】CA−DESーキー発生処理1600を示すフロー図である。
【図82】メッセージアンラップ手続CA1を示すフロー図である。
【図83】メッセージCA2のフォーマットを示す説明図である。
【図84】メッセージCA2のフォーマットを示す説明図である。
【図85】メッセージCA2のフォーマットを示す説明図である。
【図86】サーバメッセージアンラップ手続1660を示すフロー図である。
【図87】サーバメッセージアンラップ手続1660を示すフロー図である。
【図88】サーバメッセージ組み込み手続3400を示すフロー図である。
【図89】メッセージCA3のフォーマットを示す説明図である。
【図90】メッセージCA3のフォーマットを示す説明図である。
【図91】メッセージCA3のフォーマットを示す説明図である。
【図92】メッセージアンラップ手続CA34を示すフロー図である。
【図93】メッセージ組み込み手続3100を示すフロー図である。
【図94】メッセージCA4のフォーマットを示す説明図である。
【図95】メッセージCA4のフォーマットを示す説明図である。
【図96】クローズセッション処理411を示すフロー図である。
【図97】メッセージCS1のフォーマットを示す説明図である。
【図98】メッセージCS1のフォーマットを示す説明図である。
【図99】メッセージCS2のフォーマットを示す説明図である。
【図100】メッセージCS2のフォーマットを示す説明図である。

Claims (6)

  1. 通信ネットワークを介して安全な取り引きを行う方法であって、前記通信ネットワークが第一パーティの位置にある第一のコンピュータと、第二パーティの位置にある第二のコンピュータと、前記通信ネットワークを介して第一と第二のコンピュータとに接続されるサーバとから構成される通信ネットワークを介して安全な取り引きを行う方法において、当該方法が、
    (a)第一のコンピュータから受信された第一のオープンセッション要求に応答して、前記サーバは前記第一コンピュータと共に第一セッションを構築し、ここで、前記第一セッションにおいて、当該第一セッションを使用し得る時間の長さからなる第一の使用パラメータと、第一のキーを含む第一のデータセットとを有し、;
    (b)前記第二のコンピュータから受信された第二のオープンセッション要求に応答して、前記サーバは第二のコンピュータと共に第二セッションを構築し、ここで、前記第二セッションにおいて、当該第二セッションを使用し得る時間の長さからなる第二の使用パラメータと、第二のキーを含む第二のデータセットとを有し、;及び
    (c)前記第一のコンピュータと前記第二のコンピュータとが安全な取り引きを行う要求を表示する第二のコンピュータからのメッセージに応答して、前記サーバは前記通信ネットワークにおいて前記第一セッションの一部を前記第二セッションの一部と関連付け、ここで、前記第一セッションの一部が前記第一のデータセットと前記第一の使用パラメータとを含んでおり、前記第二のセッションの一部が前記第二のデータセットと、前記第二の使用パラメータとを含んでいる;
    (d)前記第一及び第二のパーティの署名を、前記第一及び前記第二のキーを使用して、前記サーバによって照合する;及び、
    (e)前記第一及び第二のセッションが前記第一及び第二の使用パラメータに基づいて使用できるか否かを前記サーバにより決定する;ことにより、
    前記サーバが前記第一及び第二のパーティの署名を照合し、前記第一及び第二のセッションが使用することができることを決定すると、安全な取り引きは、前記第一と第二のコンピュータとの間および通信ネットワークを介して、前記サーバにより促進されることを特徴とする通信ネットワークを介して安全な取り引きを行う方法。
  2. 前記第一のセッションを発生した後は、前記第一のデータセットの一部は前記第一のコンピュータと前記サーバ間を転送されず、
    前記第二のセッションを発生した後は、前記第二のデータセットの一部は前記第二のコンピュータと前記サーバ間を転送されないことを特徴とする請求項1に記載の方法。
  3. 前記第一の使用パラメータが前記第一のパーティによって決定され、前記第二の使用パラメータが前記第二のパーティによって決定されることを特徴とする請求項1に記載の方法。
  4. 前記第一及び第二の使用パラメータが前記サーバによって決定されることを特徴とする請求項1に記載の方法。
  5. 前記第一の使用パラメータが、さらに(a)前記第一のセッションの間に前記第一のパーティによって入手可能な電子ファンドの金額と及び(b)前記第一のパーティが前記第一のセッションの間に実行するであろう取り引きの数とからなることを特徴とする請求項1に記載の方法。
  6. 前記第二の使用パラメータが、さらに前記第二のパーティが前記第二のセッションの間に実行するであろう取り引きの数とからなることを特徴とする請求項1に記載の方法。
JP35309796A 1995-12-14 1996-12-14 電子転送システムの通信方法 Expired - Lifetime JP4582825B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/572,425 US5870473A (en) 1995-12-14 1995-12-14 Electronic transfer system and method
US08/572425 1995-12-14

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2004247490A Division JP2004328802A (ja) 1995-12-14 2004-08-26 電子転送システムの通信方法
JP2004247491A Division JP4575085B2 (ja) 1995-12-14 2004-08-26 電子転送システム及び方法

Publications (2)

Publication Number Publication Date
JPH09218903A JPH09218903A (ja) 1997-08-19
JP4582825B2 true JP4582825B2 (ja) 2010-11-17

Family

ID=24287756

Family Applications (3)

Application Number Title Priority Date Filing Date
JP35309796A Expired - Lifetime JP4582825B2 (ja) 1995-12-14 1996-12-14 電子転送システムの通信方法
JP2004247490A Pending JP2004328802A (ja) 1995-12-14 2004-08-26 電子転送システムの通信方法
JP2004247491A Expired - Lifetime JP4575085B2 (ja) 1995-12-14 2004-08-26 電子転送システム及び方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2004247490A Pending JP2004328802A (ja) 1995-12-14 2004-08-26 電子転送システムの通信方法
JP2004247491A Expired - Lifetime JP4575085B2 (ja) 1995-12-14 2004-08-26 電子転送システム及び方法

Country Status (10)

Country Link
US (1) US5870473A (ja)
EP (1) EP0809903B1 (ja)
JP (3) JP4582825B2 (ja)
AT (1) ATE289719T1 (ja)
CA (1) CA2192252C (ja)
DE (2) DE19655042C2 (ja)
FR (1) FR2742615B1 (ja)
GB (3) GB2325130B (ja)
HK (2) HK1016376A1 (ja)
WO (1) WO1997022191A1 (ja)

Families Citing this family (230)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790677A (en) 1995-06-29 1998-08-04 Microsoft Corporation System and method for secure electronic commerce transactions
US8037158B2 (en) 1995-11-13 2011-10-11 Lakshmi Arunachalam Multimedia transactional services
US8271339B2 (en) * 1995-11-13 2012-09-18 Lakshmi Arunachalam Method and apparatus for enabling real-time bi-directional transactions on a network
US6212556B1 (en) * 1995-11-13 2001-04-03 Webxchange, Inc. Configurable value-added network (VAN) switching
US7930340B2 (en) * 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
JPH09233066A (ja) * 1996-02-23 1997-09-05 Sony Corp 暗号化/解読化方法および装置
US5987140A (en) * 1996-04-26 1999-11-16 Verifone, Inc. System, method and article of manufacture for secure network electronic payment and credit collection
US6945457B1 (en) 1996-05-10 2005-09-20 Transaction Holdings Ltd. L.L.C. Automated transaction machine
US5923848A (en) * 1996-05-31 1999-07-13 Microsoft Corporation System and method for resolving names in an electronic messaging environment
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US20030195848A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US6073236A (en) * 1996-06-28 2000-06-06 Sony Corporation Authentication method, communication method, and information processing apparatus
GB9624127D0 (en) * 1996-11-20 1997-01-08 British Telecomm Transaction system
US6460020B1 (en) 1996-12-30 2002-10-01 De Technologies, Inc. Universal shopping center for international operation
DE19718103A1 (de) * 1997-04-29 1998-06-04 Kim Schmitz Verfahren zur Autorisierung in Datenübertragungssystemen
US6047284A (en) 1997-05-14 2000-04-04 Portal Software, Inc. Method and apparatus for object oriented storage and retrieval of data from a relational database
US6092055A (en) * 1997-05-14 2000-07-18 Portal Software, Inc. Method and apparatus for providing a clean accounting close for a real time billing system
US6134591A (en) * 1997-06-18 2000-10-17 Client/Server Technologies, Inc. Network security and integration method and system
US6203427B1 (en) 1997-07-03 2001-03-20 Walker Digital, Llc Method and apparatus for securing a computer-based game of chance
US7403922B1 (en) * 1997-07-28 2008-07-22 Cybersource Corporation Method and apparatus for evaluating fraud risk in an electronic commerce transaction
US7096192B1 (en) * 1997-07-28 2006-08-22 Cybersource Corporation Method and system for detecting fraud in a credit card transaction over a computer network
US5988897A (en) * 1997-09-03 1999-11-23 Pitney Bowes Inc. Method for preventing fraudulent printing of a postage indicium displayed on a personal computer
DE19745994A1 (de) * 1997-10-20 1999-04-22 Cit Alcatel Verfahren zum Austausch von Daten zwischen Applikationsprozessen in einem sicheren Mehrrechnersystem
US6038552A (en) * 1997-12-10 2000-03-14 The Chase Manhattan Bank Method and apparatus to process combined credit and debit card transactions
US6226750B1 (en) 1998-01-20 2001-05-01 Proact Technologies Corp. Secure session tracking method and system for client-server environment
AU3183899A (en) * 1998-03-11 1999-09-27 Cha! Technologies Services, Inc. Automatically invoked intermediation process for network purchases
US6081790A (en) * 1998-03-20 2000-06-27 Citibank, N.A. System and method for secure presentment and payment over open networks
US7028312B1 (en) * 1998-03-23 2006-04-11 Webmethods XML remote procedure call (XML-RPC)
US8650320B1 (en) * 1998-03-23 2014-02-11 Software Ag Integration server supporting multiple receiving channels
AU773248B2 (en) * 1998-04-22 2004-05-20 Echarge Corporation Method and apparatus for ordering goods, services and content over an internetwork
US7606355B2 (en) * 1998-04-22 2009-10-20 Echarge Corporation Method and apparatus for ordering goods, services and content over an internetwork
WO1999060483A1 (en) 1998-05-21 1999-11-25 Equifax Inc. System and method for authentication of network users
US6345278B1 (en) 1998-06-04 2002-02-05 Collegenet, Inc. Universal forms engine
US9098958B2 (en) * 1998-09-15 2015-08-04 U-Paid Systems, Ltd. Convergent communications platform and method for mobile and electronic commerce in a heterogeneous network environment
US7248855B2 (en) 1998-09-15 2007-07-24 Upaid Systems, Ltd. Convergent communications system and method with a rule set for authorizing, debiting, settling and recharging a mobile commerce account
CA2354058C (en) 1998-09-15 2016-06-28 In Touch Technologies Limited Enhanced communication platform and related communication method using the platform
RU2153191C2 (ru) 1998-09-29 2000-07-20 Закрытое акционерное общество "Алкорсофт" Способ изготовления вслепую цифровой rsa-подписи и устройство для его реализации (варианты)
US6385642B1 (en) 1998-11-03 2002-05-07 Youdecide.Com, Inc. Internet web server cache storage and session management system
WO2000028452A1 (en) * 1998-11-05 2000-05-18 Secure Accounts Ltd. Secure architecture for exchange executes digitally signed contracts
AU2878800A (en) 1999-02-12 2000-08-29 Allen Freudenstein System and method for providing certification-related and other services
US7333942B1 (en) 1999-03-26 2008-02-19 D-Net Corporation Networked international system for organizational electronic commerce
US6970852B1 (en) 1999-04-28 2005-11-29 Imx Solutions, Inc. Methods and apparatus for conducting secure, online monetary transactions
US7716109B1 (en) 1999-04-29 2010-05-11 Citibank, N.A. System and method for web trading
EP1192572A2 (en) 1999-04-30 2002-04-03 PayPal, Inc. System and method for electronically exchanging value among distributed users
US7370005B1 (en) * 1999-05-11 2008-05-06 Peter Ham Inventory replication based upon order fulfillment rates
US7177825B1 (en) * 1999-05-11 2007-02-13 Borders Louis H Integrated system for ordering, fulfillment, and delivery of consumer products using a data network
WO2000068856A2 (en) 1999-05-11 2000-11-16 Webvan Group, Inc. Electronic commerce enabled delivery system and method
US6533168B1 (en) * 1999-05-27 2003-03-18 Peter N. Ching Method and apparatus for computer-readable purchase receipts using multi-dimensional bar codes
EP1222561A2 (en) * 1999-05-28 2002-07-17 The Coca-Cola Company Method and apparatus for surrogate control of network-based electronic transactions
US7249097B2 (en) * 1999-06-18 2007-07-24 Echarge Corporation Method for ordering goods, services, and content over an internetwork using a virtual payment account
BR0011768A (pt) 1999-06-18 2002-06-11 Echarge Corp Método e aparelho para encomendar mercadorias, serviços e conteúdo através de um trabalho de internet utilizando uma conta de pagamento virtual
US7606760B2 (en) * 1999-06-18 2009-10-20 Echarge Corporation Method and apparatus for ordering goods, services and content over an internetwork using a virtual payment account
US7188181B1 (en) * 1999-06-30 2007-03-06 Sun Microsystems, Inc. Universal session sharing
AU4937200A (en) * 1999-06-30 2001-01-22 Ncr International, Inc. Portable terminal
US6367010B1 (en) * 1999-07-02 2002-04-02 Postx Corporation Method for generating secure symmetric encryption and decryption
US7058817B1 (en) * 1999-07-02 2006-06-06 The Chase Manhattan Bank System and method for single sign on process for websites with multiple applications and services
IES990584A2 (en) * 1999-07-12 2000-07-12 Mainline Corporate Holdings Dynamic currency conversion for card payment systems
US6963857B1 (en) * 1999-07-12 2005-11-08 Jsa Technologies Network-accessible account system
US8381087B1 (en) 1999-07-26 2013-02-19 G&H Nevada-Tek Automated electronic document filing system, method, and article of manufacture
US8032457B2 (en) * 1999-08-13 2011-10-04 Vladimir Ostrovsky Method and system for transferring electronic funds
US7644037B1 (en) 1999-08-16 2010-01-05 Vladimir Ostrovsky Method and system for transferring electronic funds
EP1727102A1 (en) * 1999-08-26 2006-11-29 MONEYCAT Ltd. Electronic currency, electronic wallet therefor and electronic payment systems employing them
US20020029200A1 (en) 1999-09-10 2002-03-07 Charles Dulin System and method for providing certificate validation and other services
ATE415670T1 (de) * 1999-09-24 2008-12-15 Identrust Inc System und methode zur bereitstellung von zahlungsdienstleistungen im e-commerce
US6876991B1 (en) 1999-11-08 2005-04-05 Collaborative Decision Platforms, Llc. System, method and computer program product for a collaborative decision platform
US8571975B1 (en) * 1999-11-24 2013-10-29 Jpmorgan Chase Bank, N.A. System and method for sending money via E-mail over the internet
US7603311B1 (en) 1999-11-29 2009-10-13 Yadav-Ranjan Rani K Process and device for conducting electronic transactions
US7881962B2 (en) * 2000-03-14 2011-02-01 Verizon Business Global Llc Early-payment discount for E-billing system
US7216104B2 (en) * 2000-03-14 2007-05-08 Verizon Business Global Llc Disallow payment for E-billing system
US20030069844A1 (en) * 2000-03-23 2003-04-10 Codial Inc. Transaction handling methods and systems
WO2001075675A1 (en) * 2000-03-30 2001-10-11 Braverman David K Account management tool for e-billing system
CA2405783A1 (en) * 2000-04-17 2001-10-25 Mitch A. Benjamin Secure dynamic link allocation system for mobile data communication
US7240283B1 (en) 2000-11-10 2007-07-03 Narasimha Rao Paila Data transmission and rendering techniques implemented over a client-server system
JP2002042031A (ja) * 2000-05-18 2002-02-08 Hiro Create:Kk 認証方法及びシステム並びに決済方法及びシステム
BR0111119A (pt) * 2000-05-25 2004-06-22 Echarge Corp Protocolo de transação segura
WO2001097012A2 (en) * 2000-06-14 2001-12-20 Sap Aktiengesellschaft Communication between client and server computers via http, method, computer program product and system
GB0014759D0 (en) * 2000-06-17 2000-08-09 Hewlett Packard Co Service delivery method and system
US7827085B1 (en) 2000-06-23 2010-11-02 Ebs Group Limited Conversational dealing in an anonymous trading system
US6983259B1 (en) 2000-06-23 2006-01-03 Ebs Group Limited Anonymous trading system
US7333952B1 (en) 2000-06-23 2008-02-19 Ebs Group Limited Compound order handling in an anonymous trading system
US7366690B1 (en) 2000-06-23 2008-04-29 Ebs Group Limited Architecture for anonymous trading system
GB2364586B (en) 2000-06-23 2004-06-16 Ebs Nominees Ltd Deal matching in an anonymous trading system
US7024386B1 (en) 2000-06-23 2006-04-04 Ebs Group Limited Credit handling in an anonymous trading system
US7184982B1 (en) 2000-06-23 2007-02-27 Ebs Group Limited Architecture for anonymous trading system
US7275041B1 (en) * 2000-06-30 2007-09-25 Apple Inc. Stored order system for electronic commerce
DE10034734A1 (de) * 2000-07-17 2002-01-31 Accenture Gmbh Web-basierte, automatisierte Schnittstelle zwischen Informationsanbietern und einem Electronic Payment Provider
US7346577B1 (en) 2000-08-28 2008-03-18 Javien Digital Payment Solutions, Inc. Third-party billing system and method
IL138273A0 (en) * 2000-09-05 2001-10-31 Koren Lea System and method for secure e-commerce
AU2001290725A1 (en) * 2000-09-08 2002-04-22 Paul Donfried System and method for providing authorization and other services
AU2001290727A1 (en) * 2000-09-08 2002-03-22 Larry R. Miller System and method for transparently providing certificate validation and other services within an electronic transaction
US7299255B2 (en) * 2000-09-26 2007-11-20 I2 Technologies Us, Inc. System and method for migrating data in an electronic commerce system
US7590558B2 (en) * 2000-09-26 2009-09-15 I2 Technologies Us, Inc. System and method for facilitating electronic commerce transactions
AU2001294952A1 (en) * 2000-09-29 2002-04-08 Chapman, Greg System and method for processing a secure consumer transaction through a network
US20080201406A1 (en) * 2000-10-16 2008-08-21 Edward Balassanian Feature manager system for facilitating communication and shared functionality among components
US7233914B1 (en) 2000-12-27 2007-06-19 Joyo Wijaya Technique for implementing item substitution for unavailable items relating to a customer order
JP2004530961A (ja) * 2000-12-30 2004-10-07 ジュン−ヨン チュン ケーブル網を用いたクレジットカード照会装置及びその方法
US20110029584A1 (en) * 2001-02-08 2011-02-03 The Boeing Company Apparatus, method and computer program product for transferring an electronic file
WO2002075632A1 (en) * 2001-03-19 2002-09-26 Agora Development Corporation Networked international system for organizational electronic commerce
US7308423B1 (en) 2001-03-19 2007-12-11 Franklin Goodhue Woodward Technique for handling sales of regulated items implemented over a data network
US7349868B2 (en) * 2001-05-15 2008-03-25 I2 Technologies Us, Inc. Pre-qualifying sellers during the matching phase of an electronic commerce transaction
US6983276B2 (en) * 2001-05-15 2006-01-03 I2 Technologies Us, Inc. Facilitating electronic commerce transactions using buyer profiles
US7475030B1 (en) 2001-05-16 2009-01-06 I2 Technologies Us, Inc. Facilitating electronic commerce transactions using a shared product data repository
US20020174065A1 (en) * 2001-05-18 2002-11-21 Chalice Coward Multi-currency electronic payment system and terminal emulator
US7865427B2 (en) 2001-05-30 2011-01-04 Cybersource Corporation Method and apparatus for evaluating fraud risk in an electronic commerce transaction
US20020184507A1 (en) * 2001-05-31 2002-12-05 Proact Technologies Corp. Centralized single sign-on method and system for a client-server environment
US8275709B2 (en) * 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8099364B2 (en) * 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US6876984B2 (en) 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US7725401B2 (en) * 2001-05-31 2010-05-25 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US8275716B2 (en) * 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US7127416B1 (en) 2001-06-18 2006-10-24 I2 Technologies Us, Inc. Distributed processing of sorted search results in an electronic commerce system and method
US7263515B1 (en) 2001-06-18 2007-08-28 I2 Technologies Us, Inc. Content enhancement in an electronic marketplace
US7330829B1 (en) 2001-06-26 2008-02-12 I2 Technologies Us, Inc. Providing market feedback associated with electronic commerce transactions to sellers
US8086643B1 (en) 2001-06-28 2011-12-27 Jda Software Group, Inc. Translation between product classification schemas
US7809672B1 (en) 2001-06-28 2010-10-05 I2 Technologies Us, Inc. Association of data with a product classification schema
US7162453B1 (en) 2001-06-29 2007-01-09 I2 Technologies Us, Inc. Protecting content from unauthorized reproduction
US7346560B1 (en) 2001-06-29 2008-03-18 I2 Technologies Us, Inc. Protecting content from unauthorized reproduction
JP2009116894A (ja) * 2001-08-09 2009-05-28 Paybyclick Corp 電子商取引システム及び方法
GB2380368B (en) * 2001-09-27 2005-06-22 Ibm A method and system for communication via a computer network
US7069250B2 (en) * 2001-10-15 2006-06-27 Payformance Corporation Check based online payment and verification system and method
JP2004005425A (ja) * 2002-02-08 2004-01-08 Mobusutaazu:Kk 移動体通信の加入者端末機を利用した各種支払い手段による決済方法
US7412424B1 (en) * 2002-03-19 2008-08-12 I2 Technologies Us, Inc. Third party certification of content in electronic commerce transactions
US8099393B2 (en) 2002-03-22 2012-01-17 Oracle International Corporation Transaction in memory object store
US20030195963A1 (en) * 2002-04-10 2003-10-16 Yu Song Session preservation and migration among different browsers on different devices
SG145524A1 (en) * 2002-08-07 2008-09-29 Mobilastic Technologies Pte Lt Secure transfer of digital tokens
US7729984B1 (en) 2002-09-27 2010-06-01 Abas Enterprises Llc Effecting financial transactions
JP4274770B2 (ja) * 2002-10-01 2009-06-10 株式会社エヌ・ティ・ティ・ドコモ 認証決済方法、サービス提供装置及び認証決済システム
US20040078325A1 (en) * 2002-10-21 2004-04-22 International Business Machines Corporation Managing activation/deactivation of transaction accounts enabling temporary use of those accounts
WO2004075081A1 (ja) * 2003-02-20 2004-09-02 Source Japan Co., Ltd. モバイル・ネットコマース決済システム
US20050044040A1 (en) * 2003-08-20 2005-02-24 Frank Howard System and method of mediating business transactions
US20080228651A1 (en) * 2003-09-29 2008-09-18 Zan Tapsell Public Key Crytography Method and System
US20050165716A1 (en) * 2003-12-30 2005-07-28 Macronix International Co., Ltd. Method for automated connection of multiple processing machines
US11017097B2 (en) 2004-05-14 2021-05-25 Peter N. Ching Systems and methods for prevention of unauthorized access to resources of an information system
US7814024B2 (en) 2004-05-14 2010-10-12 Ching Peter N Multi-way transactions related data exchange apparatus and methods
GB0410861D0 (en) * 2004-05-14 2004-06-16 Ecebs Ltd Improved ticketing system
US7249708B2 (en) * 2005-02-04 2007-07-31 The Procter & Gamble Company Household management systems and methods
US8223935B2 (en) * 2005-04-30 2012-07-17 Oracle International Corporation Revenue management systems and methods
JP4664410B2 (ja) 2005-06-28 2011-04-06 オラクル・インターナショナル・コーポレイション 収益管理システムおよび方法
CA2616194C (en) * 2005-07-28 2015-02-17 Oracle International Corporation Revenue management system and method
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US20070174916A1 (en) * 2005-10-28 2007-07-26 Ching Peter N Method and apparatus for secure data transfer
US8223777B2 (en) 2005-11-15 2012-07-17 Oracle International Corporation Gateway for achieving low latency and high availability in a real time event processing system
EP1819123B1 (en) * 2006-02-13 2008-05-28 Research In Motion Limited Secure method of termination of service notification
US7817799B2 (en) * 2006-09-07 2010-10-19 International Business Machines Corporation Maintaining encryption key integrity
US8239677B2 (en) 2006-10-10 2012-08-07 Equifax Inc. Verification and authentication systems and methods
US20080196094A1 (en) * 2007-02-08 2008-08-14 Dlb Finance & Consultancy B.V. Method and system for restricting access to an electronic message system
US8640215B2 (en) * 2007-03-23 2014-01-28 Microsoft Corporation Secure isolation of application pools
US20090018934A1 (en) * 2007-05-15 2009-01-15 Chaorong Peng System and Method for defense ID theft attack security service system in marketing environment
US20090076904A1 (en) * 2007-09-17 2009-03-19 Frank David Serena Embedding digital values for digital exchange
US8214273B2 (en) * 2007-09-25 2012-07-03 Goldspot Media Apparatus and methods for enabling targeted insertion of advertisements using metadata as in-content descriptors
US8239921B2 (en) * 2008-01-03 2012-08-07 Dlb Finance & Consultancy B.V. System and method of retrieving a service contact identifier
AU2008347053B2 (en) * 2008-01-04 2013-12-12 Planet Payment, Inc. Merchant rate lookup
AU2009205675B2 (en) * 2008-01-18 2014-09-25 Identrust, Inc. Binding a digital certificate to multiple trust domains
US8191766B2 (en) 2008-03-04 2012-06-05 Mastercard International Incorporated Methods and systems for managing merchant identifiers
US8271392B2 (en) * 2008-04-04 2012-09-18 Mastercard International Incorporated Methods and systems for managing merchant screening
US8606662B2 (en) * 2008-04-04 2013-12-10 Mastercard International Incorporated Methods and systems for managing co-brand proprietary financial transaction processing
US7860772B2 (en) * 2008-09-30 2010-12-28 Ebay, Inc. Funding on-line accounts
US8438070B2 (en) * 2008-11-10 2013-05-07 Sears Brands, L.L.C. Exchanging value between a service buyer and a service provider
US9569770B1 (en) 2009-01-13 2017-02-14 Amazon Technologies, Inc. Generating constructed phrases
US8768852B2 (en) * 2009-01-13 2014-07-01 Amazon Technologies, Inc. Determining phrases related to other phrases
US8706643B1 (en) 2009-01-13 2014-04-22 Amazon Technologies, Inc. Generating and suggesting phrases
US8706644B1 (en) 2009-01-13 2014-04-22 Amazon Technologies, Inc. Mining phrases for association with a user
US8423349B1 (en) 2009-01-13 2013-04-16 Amazon Technologies, Inc. Filtering phrases for an identifier
US9298700B1 (en) 2009-07-28 2016-03-29 Amazon Technologies, Inc. Determining similar phrases
US10007712B1 (en) 2009-08-20 2018-06-26 Amazon Technologies, Inc. Enforcing user-specified rules
US8799658B1 (en) 2010-03-02 2014-08-05 Amazon Technologies, Inc. Sharing media items with pass phrases
US9928485B2 (en) * 2011-09-07 2018-03-27 Elwha Llc Computational systems and methods for regulating information flow during interactions
US10185814B2 (en) 2011-09-07 2019-01-22 Elwha Llc Computational systems and methods for verifying personal information during transactions
US9747561B2 (en) 2011-09-07 2017-08-29 Elwha Llc Computational systems and methods for linking users of devices
US10546306B2 (en) * 2011-09-07 2020-01-28 Elwha Llc Computational systems and methods for regulating information flow during interactions
US9141977B2 (en) 2011-09-07 2015-09-22 Elwha Llc Computational systems and methods for disambiguating search terms corresponding to network members
US9473647B2 (en) 2011-09-07 2016-10-18 Elwha Llc Computational systems and methods for identifying a communications partner
US9491146B2 (en) 2011-09-07 2016-11-08 Elwha Llc Computational systems and methods for encrypting data for anonymous storage
US10523618B2 (en) 2011-09-07 2019-12-31 Elwha Llc Computational systems and methods for identifying a communications partner
US10198729B2 (en) 2011-09-07 2019-02-05 Elwha Llc Computational systems and methods for regulating information flow during interactions
US9690853B2 (en) 2011-09-07 2017-06-27 Elwha Llc Computational systems and methods for regulating information flow during interactions
US9432190B2 (en) 2011-09-07 2016-08-30 Elwha Llc Computational systems and methods for double-encrypting data for subsequent anonymous storage
US9203613B2 (en) 2011-09-29 2015-12-01 Amazon Technologies, Inc. Techniques for client constructed sessions
US9792451B2 (en) 2011-12-09 2017-10-17 Echarge2 Corporation System and methods for using cipher objects to protect data
US10078821B2 (en) 2012-03-07 2018-09-18 Early Warning Services, Llc System and method for securely registering a recipient to a computer-implemented funds transfer payment network
US10395223B2 (en) 2012-03-07 2019-08-27 Early Warning Services, Llc System and method for transferring funds
US10318936B2 (en) 2012-03-07 2019-06-11 Early Warning Services, Llc System and method for transferring funds
US10395247B2 (en) 2012-03-07 2019-08-27 Early Warning Services, Llc Systems and methods for facilitating a secure transaction at a non-financial institution system
US10970688B2 (en) 2012-03-07 2021-04-06 Early Warning Services, Llc System and method for transferring funds
US11593800B2 (en) 2012-03-07 2023-02-28 Early Warning Services, Llc System and method for transferring funds
EP2845159A4 (en) 2012-04-18 2015-11-11 Mastercard International Inc SYSTEMS AND METHODS FOR MANAGING TRANSACTIONS FOR A TRADER
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture
US10296968B2 (en) 2012-12-07 2019-05-21 United Parcel Service Of America, Inc. Website augmentation including conversion of regional content
US20150006385A1 (en) * 2013-06-28 2015-01-01 Tejas Arvindbhai Shah Express transactions on a mobile device
US9516143B2 (en) * 2013-08-08 2016-12-06 Red Hat, Inc. System and method for assembly and use of integration applications
US20150242825A1 (en) * 2014-02-24 2015-08-27 Peter Burton Mills Generation, storage, and validation of encrypted electronic currency
CN103996246B (zh) * 2014-06-13 2016-06-08 张金木 一种开放式交易用小额电子钱包
US9264419B1 (en) 2014-06-26 2016-02-16 Amazon Technologies, Inc. Two factor authentication with authentication objects
US9965466B2 (en) 2014-07-16 2018-05-08 United Parcel Service Of America, Inc. Language content translation
US10748127B2 (en) 2015-03-23 2020-08-18 Early Warning Services, Llc Payment real-time funds availability
US10839359B2 (en) 2015-03-23 2020-11-17 Early Warning Services, Llc Payment real-time funds availability
US10769606B2 (en) 2015-03-23 2020-09-08 Early Warning Services, Llc Payment real-time funds availability
US10878387B2 (en) 2015-03-23 2020-12-29 Early Warning Services, Llc Real-time determination of funds availability for checks and ACH items
US10832246B2 (en) 2015-03-23 2020-11-10 Early Warning Services, Llc Payment real-time funds availability
US11232448B2 (en) * 2015-06-30 2022-01-25 Worldpay, Llc Configurable transaction management controller and method thereof
US11037121B2 (en) 2015-07-21 2021-06-15 Early Warning Services, Llc Secure real-time transactions
US11151522B2 (en) 2015-07-21 2021-10-19 Early Warning Services, Llc Secure transactions with offline device
US11157884B2 (en) 2015-07-21 2021-10-26 Early Warning Services, Llc Secure transactions with offline device
US10970695B2 (en) 2015-07-21 2021-04-06 Early Warning Services, Llc Secure real-time transactions
US10963856B2 (en) 2015-07-21 2021-03-30 Early Warning Services, Llc Secure real-time transactions
US11037122B2 (en) 2015-07-21 2021-06-15 Early Warning Services, Llc Secure real-time transactions
US10438175B2 (en) 2015-07-21 2019-10-08 Early Warning Services, Llc Secure real-time payment transactions
US11151523B2 (en) 2015-07-21 2021-10-19 Early Warning Services, Llc Secure transactions with offline device
US11386410B2 (en) 2015-07-21 2022-07-12 Early Warning Services, Llc Secure transactions with offline device
US11062290B2 (en) 2015-07-21 2021-07-13 Early Warning Services, Llc Secure real-time transactions
US10956888B2 (en) 2015-07-21 2021-03-23 Early Warning Services, Llc Secure real-time transactions
US9768953B2 (en) * 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
WO2017152037A1 (en) 2016-03-04 2017-09-08 1Usf, Inc. Systems and methods for media codecs and containers
US11165797B2 (en) 2016-04-22 2021-11-02 Sophos Limited Detecting endpoint compromise based on network usage history
US11102238B2 (en) 2016-04-22 2021-08-24 Sophos Limited Detecting triggering events for distributed denial of service attacks
US10986109B2 (en) 2016-04-22 2021-04-20 Sophos Limited Local proxy detection
US10938781B2 (en) * 2016-04-22 2021-03-02 Sophos Limited Secure labeling of network flows
US11277416B2 (en) 2016-04-22 2022-03-15 Sophos Limited Labeling network flows according to source applications
US20170359306A1 (en) 2016-06-10 2017-12-14 Sophos Limited Network security
JP6674099B2 (ja) * 2016-06-10 2020-04-01 富士通株式会社 情報管理プログラム、情報管理方法、及び情報管理装置
US10116440B1 (en) 2016-08-09 2018-10-30 Amazon Technologies, Inc. Cryptographic key management for imported cryptographic keys
US11151566B2 (en) 2016-09-19 2021-10-19 Early Warning Services, Llc Authentication and fraud prevention in provisioning a mobile wallet
US11315137B1 (en) 2016-12-29 2022-04-26 Wells Fargo Bank, N.A. Pay with points virtual card
US11423395B1 (en) * 2016-12-29 2022-08-23 Wells Fargo Bank, N.A. Pay with points virtual card
US11587073B1 (en) * 2017-12-15 2023-02-21 Worldpay, Llc Systems and methods for encryption and decryption service for electronic transaction monitoring and reporting
US10728361B2 (en) * 2018-05-29 2020-07-28 Cisco Technology, Inc. System for association of customer information across subscribers
DE102019108095A1 (de) * 2019-03-28 2020-10-01 Infineon Technologies Ag Ausführen einer kryptografischen Operation
JP7325396B2 (ja) * 2020-12-25 2023-08-14 株式会社日立製作所 データファイル暗号化送受信システム及びデータファイル暗号化送受信方法
US11695772B1 (en) * 2022-05-03 2023-07-04 Capital One Services, Llc System and method for enabling multiple auxiliary use of an access token of a user by another entity to facilitate an action of the user

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3956615A (en) * 1974-06-25 1976-05-11 Ibm Corporation Transaction execution system with secure data storage and communications
US4529870A (en) * 1980-03-10 1985-07-16 David Chaum Cryptographic identification, financial transaction, and credential device
DE3036804A1 (de) * 1980-09-30 1982-05-13 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Sicherheitssystem zur verhinderung unerlaubter manipulationen bei der elektronischen textuebertragung in nachrichtennetzen
US4906828A (en) * 1983-02-28 1990-03-06 Paperless Accounting, Inc. Electronic money purse and fund transfer system
JPS6256043A (ja) * 1985-09-04 1987-03-11 Hitachi Ltd 電子取引方式
US4771461A (en) * 1986-06-27 1988-09-13 International Business Machines Corporation Initialization of cryptographic variables in an EFT/POS network with a large number of terminals
US4799156A (en) * 1986-10-01 1989-01-17 Strategic Processing Corporation Interactive market management system
US4933971A (en) * 1989-03-14 1990-06-12 Tandem Computers Incorporated Method for encrypting transmitted data using a unique key
DE4114777A1 (de) * 1990-05-22 1992-02-06 Peter Elsner Verfahren und einrichtung zur nachrichtenumschluesselung
US5091942A (en) * 1990-07-23 1992-02-25 Ericsson Ge Mobile Communications Holding, Inc. Authentication system for digital cellular communications
US5453601A (en) * 1991-11-15 1995-09-26 Citibank, N.A. Electronic-monetary system
US5369705A (en) * 1992-06-03 1994-11-29 International Business Machines Corporation Multi-party secure session/conference
CA2137464C (en) * 1992-06-12 2001-07-03 Ronny P. De Bruijn Secure front end communications system and method for process control computers
GB9213169D0 (en) * 1992-06-22 1992-08-05 Ncr Int Inc Cryptographic key management apparatus and method
IL102394A (en) * 1992-07-02 1996-08-04 Lannet Data Communications Ltd Method and apparatus for secure data transmission
US5235642A (en) * 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
US5349642A (en) * 1992-11-03 1994-09-20 Novell, Inc. Method and apparatus for authentication of client server communication
US5357571A (en) * 1993-07-01 1994-10-18 Motorola, Inc. Method for point-to-point communications within secure communication systems
US5410602A (en) * 1993-09-27 1995-04-25 Motorola, Inc. Method for key management of point-to-point communications
US5465206B1 (en) * 1993-11-01 1998-04-21 Visa Int Service Ass Electronic bill pay system
US5434918A (en) * 1993-12-14 1995-07-18 Hughes Aircraft Company Method for providing mutual authentication of a user and a server on a network
US5491750A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for three-party entity authentication and key distribution using message authentication codes
US5420926A (en) * 1994-01-05 1995-05-30 At&T Corp. Anonymous credit card transactions
US5515441A (en) * 1994-05-12 1996-05-07 At&T Corp. Secure communication method and apparatus
JPH07327029A (ja) * 1994-05-31 1995-12-12 Fujitsu Ltd 暗号化通信システム
US5475757A (en) * 1994-06-07 1995-12-12 At&T Corp. Secure data transmission method
US5467398A (en) * 1994-07-05 1995-11-14 Motorola, Inc. Method of messaging in a communication system
US5557678A (en) * 1994-07-18 1996-09-17 Bell Atlantic Network Services, Inc. System and method for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5535276A (en) * 1994-11-09 1996-07-09 Bell Atlantic Network Services, Inc. Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography
US5715314A (en) * 1994-10-24 1998-02-03 Open Market, Inc. Network sales system
US5604801A (en) * 1995-02-03 1997-02-18 International Business Machines Corporation Public key data communications system under control of a portable security device
GB9507885D0 (en) * 1995-04-18 1995-05-31 Hewlett Packard Co Methods and apparatus for authenticating an originator of a message
US5627892A (en) * 1995-04-19 1997-05-06 General Instrument Corporation Of Delaware Data security scheme for point-to-point communication sessions
WO1996039765A1 (en) * 1995-06-05 1996-12-12 Certco Llc Multi-step digital signature method and system
US5794221A (en) * 1995-07-07 1998-08-11 Egendorf; Andrew Internet billing method
US5615266A (en) * 1995-07-13 1997-03-25 Motorola, Inc Secure communication setup method
US5602918A (en) * 1995-12-22 1997-02-11 Virtual Open Network Environment Corp. Application level security system and method

Also Published As

Publication number Publication date
DE19652294C2 (de) 1999-03-04
GB2325130B (en) 1999-10-13
GB9625440D0 (en) 1997-01-22
CA2192252A1 (en) 1997-06-15
WO1997022191A1 (en) 1997-06-19
JP2005011373A (ja) 2005-01-13
GB2308280A (en) 1997-06-18
GB2325383B (en) 1999-10-13
CA2192252C (en) 2000-05-23
GB2325130A (en) 1998-11-11
EP0809903B1 (en) 2005-02-23
JPH09218903A (ja) 1997-08-19
FR2742615B1 (fr) 2003-02-21
HK1016376A1 (en) 1999-10-29
GB9817260D0 (en) 1998-10-07
JP4575085B2 (ja) 2010-11-04
EP0809903A1 (en) 1997-12-03
DE19655042C2 (de) 2001-10-11
GB9818205D0 (en) 1998-10-14
US5870473A (en) 1999-02-09
JP2004328802A (ja) 2004-11-18
GB2325383A (en) 1998-11-18
HK1004248A1 (en) 1998-11-20
DE19652294A1 (de) 1997-06-19
ATE289719T1 (de) 2005-03-15
GB2308280B (en) 1999-10-13
FR2742615A1 (fr) 1997-06-20
EP0809903A4 (en) 2001-12-05

Similar Documents

Publication Publication Date Title
JP4582825B2 (ja) 電子転送システムの通信方法
US9928491B1 (en) Method and system for controlling certificate based open payment transactions
US6138107A (en) Method and apparatus for providing electronic accounts over a public network
JP6660062B2 (ja) 暗号化統合プラットフォーム
US20190392511A1 (en) Bid matching for blockchain-based goods/assets systems and methods
EP0734556B1 (en) Network based payment system and method for using such system
US6029150A (en) Payment and transactions in electronic commerce system
US6081790A (en) System and method for secure presentment and payment over open networks
AU2005201681B2 (en) Method and apparatus for conducting commerce between individuals
US7194437B1 (en) Computer-based funds transfer system
US6529885B1 (en) Methods and systems for carrying out directory-authenticated electronic transactions including contingency-dependent payments via secure electronic bank drafts
EP0969430A1 (en) Fair witness for electronic transactions
US6941282B1 (en) Methods and systems for carrying out directory-authenticated electronic transactions including contingency-dependent payments via secure electronic bank drafts
US6807635B1 (en) Using digital signatures to validate trading and streamline settlement of financial transaction workflow
US20020156689A1 (en) System and method for securing transactions between buyer and credit authorizer

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040525

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050112

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050411

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050502

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060123

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060309

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060331

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080222

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090924

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100413

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 3

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

EXPY Cancellation because of completion of term