DE19652294A1 - Elektronisches Übertragungssystem und Verfahren - Google Patents

Elektronisches Übertragungssystem und Verfahren

Info

Publication number
DE19652294A1
DE19652294A1 DE19652294A DE19652294A DE19652294A1 DE 19652294 A1 DE19652294 A1 DE 19652294A1 DE 19652294 A DE19652294 A DE 19652294A DE 19652294 A DE19652294 A DE 19652294A DE 19652294 A1 DE19652294 A1 DE 19652294A1
Authority
DE
Germany
Prior art keywords
label
customer
message
value
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19652294A
Other languages
English (en)
Other versions
DE19652294C2 (de
Inventor
Brian Paul Boesch
Stephen David Crocker
Donald Eggleston Eastlake
Alden Sherburne Hart
Robert A Lindenberg
Denise Marie Paredes
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 International Ltd
PayPal Inc
Original Assignee
CyberCash 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 CyberCash Inc filed Critical CyberCash Inc
Priority to DE19655042A priority Critical patent/DE19655042C2/de
Publication of DE19652294A1 publication Critical patent/DE19652294A1/de
Application granted granted Critical
Publication of DE19652294C2 publication Critical patent/DE19652294C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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

Description

HINTERGRUND DER ERFINDUNG 1. Erfindungsgebiet
Um akzeptablen Grad an Sicherheit für die Verarbeitung von Mitteilungen innerhalb eines unsicheren Netzwerks, wie dem Internet, zu erhalten, sind üblicherweise öffentliche Ver­ schlüsselung mit großen Schlüsselgrößen (z. B. RSA) erfor­ derlich. Die Erfindung betrifft ein System und ein Verfah­ ren, um die Effektivität der sicheren Verarbeitung von Nachrichten in einem solchen unsicheren Netzwerk zu erhö­ hen. Genauer gesagt betrifft die Erfindung ein System und ein Verfahren, um den Verschlüsselungsgrad zu verringern, der für den Mitteilungsaustausch innerhalb eines Netzwerks benötigt wird. Oder noch genauer, die Erfindung betrifft die Verarbeitung elektronischer Geldübertragungen in einer sicheren Art, wobei sie die zur Verschlüsselung benötigten Rechneranforderungen verringert.
2. Beschreibung des Standes der Technik
Verschiedene Verfahren zur Erhöhung der Sicherheit der Kom­ munikation über unsichere Netzwerke, wie dem Internet, wur­ den offenbart. Ein unsicheres Netzwerk schützt Mitteilungen nicht bezüglich Kenntnisnahme, Abfangen und Manipulation. Andererseits bieten sichere Netzwerke verschiedene Mittel, um die Möglichkeit der Kenntnisnahme, des Abfangens und/oder der Manipulation von Mitteilungen zu verringern.
Zum Beispiel zielen Kanalmitteilungs-Sicherheitsschemen (wie das Secure-HTTP ("S-HTTP") und das Secure-Socket- Layer-Protokoll (SSL)) auf die Herstellung des Vertrauens von zwei miteinander kommunizierenden Teilnehmern darauf, daß sie auch diejenigen sind, für die sie sich ausgeben, und daß ihre Kommunikation privat bleibt. SSL verwendet di­ gital gekennzeichnete Bestätigungen, um die Echtheit und Sicherheit bei starker Verschlüsselung jeder Nachricht zu gewährleisten. S-HTTP beruht auf digital gekennzeichneten Mitteilungen unter Verwendung eines Verschlüsselungssche­ mas, um Sicherheit und Echtheit zu gewährleisten.
Es wurden viele Mehrteilnehmerprotokolle für Zahlungstrans­ aktionen vorgeschlagen, wie z. B. Secure Transport Techno­ logy (STT), Internet Keyed Payments (IKP) und Secure Elec­ tronic Payment Protocol (SEPP). Alle diese Ansätze sind um eine kreditgebende Autorität aufgebaut und erfordern, daß die Echtheit sowohl der Händler als auch der Kunden durch die kreditgebende Autorität bestätigt wird, deren Echtheit seinerseits durch eine höhere Autorität festgestellt wurde. Beim STT haben Händler und Kunden zwei Sätze RSA-Schlüssel, von denen einer zur Kennzeichnung von Mitteilungen und ei­ ner zur Verschlüsselung und Entschlüsselung symmetrischer Schlüssel verwendet wird. Somit benötigt in diesem System jeder Teilnehmer zwei Bescheinigungen (eine für jeden Schlüssel). Ein Händler braucht ein Paar Beglaubigungs­ schreiben für jede von ihm akzeptierte Kreditkarte. SEPP und IKP verwenden die RSA-Verschlüsselung in verschiedener Art, aber wie beim STT verwenden sie mehrere öffentliche Schlüsselkennzeichnungen und Verschlüsselungen pro Transak­ tion.
Ein weiteres System wurde unter dem Namen "NetBill." be­ schrieben. Der NetBill-Ansatz beruht weniger auf der Ver­ schlüsselung mit öffentlichen Schlüsseln als die anderen Ansätze, aber er benötigt weiterhin öffentliche Schlüssel­ kennzeichnungen bei der Transaktion.
Ein anderer Ansatz ist jener von "DigiCash". Bei dem Digi- Cash-Modell erzeugt der Benutzer eine Zufallszahl, die wie eine Seriennummer für eine digitale Münze dient. Wie bei den anderen Systemen wird beim Digicash-System die primäre Aufgabe, nämlich ein sicheres, anonymes Geldzahlsystem, er­ reicht, indem großes Vertrauen auf modulare Exponentation gesetzt wird (dies ist die Basis für weitere öffentliche Schlüsseltechniken, wie etwa der RSA-Verschlüsselung). Auch wird eine Bank oder ein dritter Teilnehmer benötigt, um Geldersatz zu schaffen, der einen eigenen Wert hat. Es ist unklar, wie ein solches System unter Bank-, Steuer- und Zahlungsgesetzen in den Vereinigten Staaten und anderen Rechtssystemen behandelt wird.
Weitere Systeme, wie etwa Mondex, schaffen Sicherheit durch die Verwendung von Hardware, die mit dem Benutzercomputer verbunden ist. Zu Internet-Transaktionen muß ein dem Benut­ zer gehöriger Kartenleser dem Computer aller Kunden und Händler zugefügt werden, die eine bestimmte Karte verwenden wollen.
Das Vertrauen auf Entschlüsselung, insbesondere auf die Verschlüsselung mit öffentlichen Schlüsseln, beruhend ent­ weder auf Software oder Hardware, hat ihren Preis. Je größer die Verschlüsselung, desto größer wird der Rechner­ aufwand, der zum Entschlüsseln der Mitteilung benötigt wird. Wenn die Kosten für die Mitteilungsverarbeitung eine Rolle spielen, wie etwa bei kommerziellen Netzwerkzahlungs­ transaktionen, können die Kosten für den Prozessor und die Hardware ein beachtliches Hindernis bei der Verwendung des Netzwerks, wie etwa des Internets, für sichere Kommunika­ tionen werden.
Beim bekannten Stand der Technik kann eine akzeptable Si­ cherheit nur gleichzeitig mit hohen Kosten für die Rechner­ zeit, zusätzlicher Hardware oder beidem erreicht werden. Um die Entwicklung unsicherer Netzwerke, wie etwa dem Inter­ net, für kommerzielle Verwendung voranzutreiben, ist ein auf Software beruhendes System nötig, das verringerte Ver­ arbeitungskosten für verschlüsselte Mitteilungen bietet, während ein akzeptabler Sicherheitsgrad für die übertragen­ den Kommunikationen beibehalten wird.
ZUSAMMENFASSUNG DER ERFINDUNG
Die Erfindung zielt deshalb darauf ab, ein System und ein Verfahren zu schaffen, um sehr effizient, wirtschaftlich und sicher Transaktionen über das Internet oder andere un­ sichere Netzwerke durchzuführen. Dies schafft die Grundlage zur Durchführung sicherer Zahlungen relativ kleiner Beträge (einschließlich kleiner Geldzahlungen) für Produkte über das Internet oder andere unsichere Netzwerke.
Diese Aufgabe wird durch ein Verfahren zur sicheren Kommu­ nikation nach den Ansprüchen 1 oder 8 und durch ein elek­ tronisches Übertragungssystem in einem Kommunikationssystem nach Anspruch 17 gelöst. Die abhängigen Ansprüche betreffen weitere Ausgestaltungen der Erfindung.
Dementsprechend wird hier ein Verfahren zur sicheren Kommu­ nikation in einem Kommunikationssystem offenbart. Das Kom­ munikationssystem enthält eine erste Vorrichtung am Ort ei­ nes ersten Teilnehmers, eine zweite Vorrichtung am Ort ei­ nes zweiten Teilnehmers und einen mit diesem kommunizieren­ den Server. Das Verfahren sieht die Einrichtung eines er­ sten Gespräches - bzw. einer ersten Session - vor, das dem ersten Teilnehmer zugeordnet ist, wobei das erste Gespräch erste Benutzungsparameter zur Beschränkung der Benutzungs­ dauer des ersten Gespräches und einen ersten Datensatz hat.
Die ersten Benutzungsparameter und der erste Datensatz kön­ nen durch den Server identifiziert werden. Das Verfahren sieht auch das Einrichten eines zweiten, dem zweiten Teil­ nehmer zugeordneten Gesprächs - bzw. einer zweiten Session - vor. Das zweite Gespräch hat zweite Benutzungsparameter zur Beschränkung der Benutzungsdauer des zweiten Gesprächs und einen zweiten Datensatz. Die zweiten Benutzungsparame­ ter und der zweite Datensatz können durch den Server iden­ tifiziert werden. Des weiteren sieht das Verfahren das Ver­ binden eines Abschnitts des ersten Gesprächs mit einem Ab­ schnitt des zweiten Gesprächs in dem Kommunikationssystem vor. Der Abschnitt des ersten Gesprächs enthält den ersten Datensatz und die ersten Benutzungsparameter, und der Ab­ schnitt des zweiten Gesprächs enthält den zweiten Datensatz und die zweiten Benutzungsparameter. Das Verfahren sieht weiterhin vor, die ersten und zweiten Teilnehmer beruhend auf zumindest den Abschnitten des ersten und zweiten Daten­ satzes durch den Server zu verifizieren, und durch den Ser­ ver zu bestimmen, ob die ersten und zweiten Gespräche beru­ hend auf den ersten und zweiten Benutzungsparametern ver­ wendet werden können. Wenn der Server die ersten und zwei­ ten Teilnehmer verifiziert und bestimmt, daß die ersten und zweiten Gespräche verwendet werden können, sind die ersten und zweiten Teilnehmer sicher, in dem Kommunikationssystem sicher zu kommunizieren.
Ein weiterer Aspekt der Erfindung betrifft ein Verfahren zur sicheren Kommunikation in einem Kommunikationssystem. Das Kommunikationssystem hat eine Vorrichtung am Ort des Benutzers und einen damit kommunizieren Server, und das Verfahren sieht vor, eine Anfrage von der Vorrichtung zur Einrichtung eines Gesprächs mit zugehörigem Nutzungsparame­ ter an den Server zu übertragen, einen ersten Schlüssel mit einem zweiten Schlüssel durch den Server zu verschlüsseln und den verschlüsselten ersten Schlüssel und die dem ersten Gespräch zugeordneten Benutzungsparameter von dem Server an die Vorrichtung zu übertragen. Das Verfahren sieht auch vor, den verschlüsselten ersten Schlüssel und die Benut­ zungsparameter durch die Vorrichtung zu empfangen, und den ersten verschlüsselten Schlüssel zu entschlüsseln, so daß die Vorrichtung sicher in dem Kommunikationssystem unter Verwendung des entschlüsselten ersten Schlüssels entspre­ chend den Benutzungsparametern kommunizieren kann.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Die Erfindung darstellende Ausführungsformen werden unter Bezug auf die folgenden Zeichnungen beschrieben. Die Figuren zeigen:
Fig. 1 die allgemeine Architektur der Erfindung;
Fig. 2 die allgemeine Arbeitsweise der Erfindung;
Fig. 3A detaillierter die in Fig. 2 gezeigte Arbeits­ weise;
Fig. 3B den Mitteilungsfluß gemäß der Erfindung;
Fig. 4A die Struktur der Datenbank des Server-Computers 100;
Fig. 4B die Kunden-Person bzw. das Kunden-Profil 120.1 einer Server-Profildatenstruktur 120;
Fig. 4C die Felder von Geld-Containerdaten 120G in Fig. 4B;
Fig. 4D die Felder von Instrument-Bindungsdaten 120H in Fig. 4B;
Fig. 4E eine Händler-Person bzw. das Händler-Profil 120.2 der Server-Profildatenstruktur 120;
Fig. 4F die Felder der Geld-Containerdaten 120GG aus Fig. 4E;
Fig. 4G die Felder von Instrument-Bindungsdaten 120HH aus Fig. 4E;
Fig. 4H den Datensatz 130.1 des Kundengesprächs der Ser­ ver-Gesprächs-Datenstruktur 130;
Fig. 4I die Felder der Transaktionsdaten 130N aus Fig. 4H;
Fig. 4J den Datensatz 130.2 des Händlergesprächs der Ser­ ver-Gesprächs-Datenstruktur 130;
Fig. 4K die Felder der Transaktionsdaten 130NN aus Fig. 4J;
Fig. 4L den Datensatz 140.1 der Mitteilungs-Log-Daten­ struktur 140;
Fig. 5A die Struktur der Datenbank des Kunden-Computers 200;
Fig. 5B den Datensatz 215.1 der Kunden-Anwendungs-Daten­ struktur 215;
Fig. 5C den Datensatz 220.1 der Kunden-Profil-Datenstruk­ tur 220;
Fig. 5D den Datensatz 230.1 der Kunden-Instrument-Bin­ dungs-Datenstruktur 230;
Fig. 5E den Datensatz 240.1 der Kunden-Aktivgespräch-Da­ tenstruktur 240;
Fig. 5F die anhängige Kunden-Log-Datenstruktur 250;
Fig. 5G den anhängigen Registrations-Update-Personenin­ formations-Datensatz 251 der anhängigen Kunden- Transaktions-Datenstruktur 250;
Fig. 5H den anhängigen Bindungs-/Update-Instrument-Bin­ dungs-Datensatz 252 der anhängigen Kunden-Trans­ aktions-Datenstruktur 250;
Fig. 5I den anhängige Geldzahlungs-Datensatz 253 der an­ hängigen Kunden-Transaktions-Datenstruktur 250;
Fig. 5J den geladene/nicht geladene Zahlungsmittels-Da­ tensatz 254 der anhängigen Kunden-Transaktions- Datenstruktur 250;
Fig. 5K den anhängigen Gespräches-Öffnungs-Datensatz 255 der anhängigen Kunden-Transaktions-Datenstruktur 250;
Fig. 5L den anhängigen Gespräches-Schließungs-Datensatz 256 der anhängigen Kunden-Transaktions-Daten­ struktur 250;
Fig. 5M die Kunden-Log-Datenstruktur 260;
Fig. 5N den Datensatz der Personenregistration-/Update- Antwort 261 der Kunden-Log-Datenstruktur 260;
Fig. 5O den Datensatz 262 der Verbindungs-/Auffrisch-In­ strument-Antwort der Kunden-Log-Datenstruktur 260;
Fig. 5P den Datensatz der Geldzahlungs-Antwort 263 der Kunden-Log-Datenstruktur 260;
Fig. 5Q den Datensatz 264 der geladenen/nicht geladenen Zahlungsmittel-Antwort der Kunden-Log-Datenstruk­ tur 260;
Fig. 5R den Gesprächs-Öffnungsantwort-Datensatz 265 der Kunden-Log-Datenstruktur 260;
Fig. 5S den Zahlungsanfrage-Datensatz 266 der Kunden-Log- Datenstruktur 260;
Fig. 5T den Gesprächs-Schließungsantwort-Datensatz 267 der Kunden-Log-Datenstruktur 260;
Fig. 5U einen Datensatz 280.1 der Kunden-Geld-Container- Datenstruktur 280;
Fig. 6A die Struktur der Datenbank des Händler-Computers;
Fig. 6B einen Datensatz der Händler-Anwendungs-Daten­ struktur der Datenbank des Händler-Computers;
Fig. 6C einen Datensatz der Händler-Profil-Datenstruktur der Datenbank des Händler-Computers;
Fig. 6D einen Datensatz der Händler-Instrument-Bindung- Datenstruktur der Datenbank des Händler-Com­ puters;
Fig. 6E einen Datensatz der Händler-Gesprächs-Datenstruk­ tur der Datenbank des Händler-Computers;
Fig. 6F einen Datensatz der Händler-Geld-Container-Daten­ struktur der Datenbank des Händler-Computers;
Fig. 7A einen Datensatz der Händler-Betrag-Datenstruktur der Datenbank des Händler-Computers;
Fig. 7B einen Datensatz der Händler-Verkaufsgesprächs-Da­ tenstruktur der Datenbank des Händler-Computers;
Fig. 7C einen Datensatz der Händler-Geldlog-Datenstruktur der Datenbank des Händler-Computers;
Fig. 7D das Format einer Probemitteilung;
Fig. 8 ein Flußdiagramm, das das Registrationsverfahren 401 darstellt;
Fig. 9 ein Flußdiagramm, das die Mitteilungs-Zusammen­ setzungs-Prozedur 800 zeigt;
Fig. 10A und 10B das Format der Registrationsmitteilung R1;
Fig. 11A und 11B ein Flußdiagramm, das die Server-Mittei­ lungs-Entzifferungs-Prozedur 900 zeigt;
Fig. 12 in Flußdiagramm, das die Server-Mitteilungs-Zu­ sammensetzungs-Prozedur 1000 zeigt;
Fig. 13A und 13B das Format der Registrationsmitteilung R2;
Fig. 14 ein Flußdiagramm, das die Kunden-Mitteilungs-Ent­ zifferungs-Prozedur 1100 zeigt;
Fig. 15 ein Flußdiagramm, das das Instrument-Bindungsver­ fahren 403 zeigt;
Fig. 16A und 16B das Format der Bindungs-Mitteilung BI1;
Fig. 17A und 17B das Format der Bindungs-Mitteilung BI4;
Fig. 18 ein Flußdiagramm, das das Verfahren 405 zum La­ den/Entladen von Zahlungsmitteln zeigt;
Fig. 19A und 19B das Format der Lade-/Entlade-Mitteilung LU1;
Fig. 20A und 20B das Format der Lade-/Entlade-Mitteilung LU2;
Fig. 21 ein Flußdiagramm, das das Gesprächöffnungs-Ver­ fahren 407 zeigt;
Fig. 22A und 22B das Format der Gesprächsöffnungs-Mittei­ lung OS1;
Fig. 23A und 23B das Format der Gesprächsöffnung-Mittei­ lung OS2;
Fig. 24A, 24B und 24C ein Flußdiagramm, das das Transakti­ ons-/Zahlungs-Verfahren 409 zeigt;
Fig. 25 das Format der Zahlungsanfrage-Mitteilung PR1;
Fig. 26 ein Flußdiagramm, das die Mitteilungs-Entziffe­ rungs-Prozedur 3300 zeigt;
Fig. 27 ein Flußdiagramm, das die Mitteilungs-Zusammen­ setzungs-Prozedur CA12 zeigt;
Fig. 28 das Format der Geldzahlungs-Mitteilung CA1;
Fig. 29 ein Flußdiagramm, das das CA-DES-Schlüsselerzeu­ gungs-Verfahren 1600 zeigt;
Fig. 30 ein Flußdiagramm, das die Mitteilungs-Entziffe­ rungs-Prozedur CA1 zeigt;
Fig. 31A, 31B und 31C das Format der Mitteilung CA2;
Fig. 32A und 32B ein Flußdiagramm, das die Server-Mittei­ lungs-Entzifferungs-Prozedur 1660 zeigt;
Fig. 33 ein Flußdiagramm, das die Server-Mitteilungs-Zu­ sammensetzungs-Prozedur 3400 zeigt;
Fig. 34A, 34B und 34C das Format der Mitteilung CA3;
Fig. 35 ein Flußdiagramm, das die Mitteilungs-Entziffe­ rungs-Prozedur CA34 zeigt;
Fig. 36 ein Flußdiagramm, das die Mitteilungs-Zusammen­ setzungs-Prozedur 3100 zeigt;
Fig. 37A und 37B das Format der Mitteilung CA4;
Fig. 38 ein Flußdiagramm, das das Gesprächs-Schließungs- Verfahren 411 zeigt;
Fig. 39A und 39B das Format der Mitteilung CS1;
Fig. 40A und 40B das Format der Mitteilung CS2.
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
Nun wird für die detaillierte Beschreibung der bevorzugten Ausführungsformen der Erfindung auf die Fig. 1 bis 40 Bezug genommen. Die Figuren und die beiliegende detaillierte Be­ schreibung dienen nicht zur Beschränkung des Rahmens der Erfindung.
I. Information und Informationsfluß
Die Erfindung ist allgemein in Fig. 1 gezeigt. Fig. 1 zeigt drei Einheiten: den Server-Computer 100, den Kunden-Compu­ ter 200 und den Händler-Computer 300, die über das Internet 50 miteinander verbunden sind. Die Verbindungen sind durch Linien 105, 205 bzw. 305 gezeigt.
Mit Kundencomputer 200 wird dem Computer eines einzelnen Kundenbenutzers 203 bezeichnet, der ein Produkt über das Internet 50 kaufen möchte. (Mit "Produkt" sind Güter, Dienstleistungen, Informationen, Daten und ähnliches ge­ meint.) Der Kundencomputer 200 enthält die Kunden-Datenbank 202 und die Kunden-Anwendungssoftware 210. Mit Händlercom­ puter 300 wird der Computer eines einzelnen Händlerbenut­ zers 303 bezeichnet, der ein Produkt für den Kundenbenutzer 203 über das Internet 50 zur Verfügung stellt. Der Händler­ computer 300 enthält die Händler-Datenbank 302 und die Händler-Anwendungssoftware 310. Informationen bezüglich des Händlerbenutzers 303 ist innerhalb der Händler-Datenbank 302 gespeichert. Die Händler-Anwendungssoftware 310 führt die erfindungsgemäßen Verfahren durch.
Obwohl die folgende Beschreibung für einen einzelnen Kun­ denbenutzer 203 und einen einzelnen Händlerbenutzer 303 ge­ geben wird, sei angemerkt, daß die Erfindung Kommunikatio­ nen und Transaktionen zwischen sowohl einzelnen als auch mehreren Kundenbenutzern 203 und einzelnen und mehreren Händlerbenutzern 303 betrifft.
Der Servercomputer 100 kommuniziert sicher, wie detailliert beschreiben werden wird, mit dem Kundencomputer 200 und dem Händlercomputer 300 über das Internet 50, um Transaktionen zwischen dem Kundenbenutzer 203 und dem Händlerbenutzer 303 durchzuführen. Der Servercomputer 100 enthält die Server- Datenbank 102 und die Server-Software 110. Informationen bezüglich des Servercomputers 100, des Kundenbenutzers 203 und des Händlerbenutzers 303 sind innerhalb der Server-Da­ tenbank 102 gespeichert. Die Server-Software 110 führt die erfindungsgemäßen Verfahren durch.
Die Kommunikation zwischen dem Servercomputer 100, dem Kun­ dencomputer 200 und dem Händlercomputer 300 wird vorzugs­ weise mit dem Hypertext-Transportprotokoll ("HTTP") mit dem Service des World Wide Web ("WWW") durchgeführt, das vom Internet 50 zur Verfügung gestellt wird. Natürlich können andere Protokolle oder Netzwerke verwendet oder wünschens­ wert sein.
Fig. 2 zeigt die allgemeinen Verfahren, die erfindungsgemäß durchgeführt werden. Die Verfahren beginnen bei dem Schritt 0.
Preliminäre Setup-Verfahren werden im Schritt 1 durchge­ führt. Bei diesen Setup-Verfahren werden der Kundenbenutzer 203 und der Händlerbenutzer 303 (gemeinsam als "Klienten" bezeichnet) innerhalb der Datenbank 102 des Servercomputer 100 konfiguriert. Auf diese Art können die Klienten durch den Servercomputer 100 wieder erkannt werden und mit ihm kommunizieren. Die Kunden-Datenbank 202 und die Händler-Da­ tenbank 302 werden auch im Schritt 1 konfiguriert.
Ein Gesprächs-Öffnungs-Verfahren wird im Schritt 2 durchge­ führt. Allgemein gesagt, ist ein Gespräch eine Möglichkeit (oder Fenster), bei dem der Kundenbenutzer 203 ein Produkt vom Händlerbenutzer 303 über das Internet erwerben oder bei dem der Händlerbenutzer 303 ein Produkt an den Kundenbenut­ zer 203 über das Internet liefern kann. Der Kundenbenutzer 203 und der Händlerbenutzer 303 haben ihre eigenen unabhän­ gigen Gespräche. Gespräche sind bezüglich ihrer Dauer be­ schränkt. Diese Dauer wird durch Parameter geregelt. Diese Parameter werden vorzugsweise durch den Kundenbenutzer 203 und den Händlerbenutzer 303 gesetzt. Alternativ dazu kann der Servercomputer 100 solche Parameter setzen.
Das Bezahlungs-/Transaktions-Verfahren wird im Schritt 3 durchgeführt. In diesem Schritt einigen sich der Kundenbe­ nutzer 203 und der Händlerbenutzer 303 auf ein Produkt, das zu einem vereinbarten Preis geliefert werden soll. Der Kun­ denbenutzer 203 zahlt das Produkt mit elektronischem Geld. Elektronisches Geld ist eine Darstellung von Zahlungsmit­ teln (echtes Geld, Kredit usw.), das in der Erfindung ver­ wendet wird. Das elektronische Geld wird durch den Händler­ benutzer 203 empfangen, der das erworbene Produkt dem Kun­ denbenutzer 203 liefern kann. Der Kundenbenutzer 203 kann Geschäfte mit mehreren Händlerbenutzern 303 während eines Gesprächs durchführen. Der Kundenbenutzer 203 und der Händ­ lerbenutzer 303 sind nur in der Lage, während der Ge­ sprächsdauer, wie sie im Schritt 2 eingerichtet wurde, Ge­ schäftstransaktionen durchzuführen.
Ein Gesprächs-Schließungs-Verfahren kann erfindungsgemäß im Schritt 4 vorgesehen sein. Dieser Schritt beendet das in Schritt 2 eingerichtete Gespräch.
Die erfindungsgemäß durchgeführten Verfahren enden mit Schritt 5.
In Fig. 3A werden die in den Schritten 1 bis 4 aus Fig. 2 beschriebenen Verfahren detaillierter beschrieben. Zunächst enthalten die Setup-Verfahren, die im Schritt 1 durchge­ führt werden, ein Download- und Installations-Verfahren 400, ein Registrations-Verfahren 401, ein Instrument-Bin­ dungs-Verfahren 403 und ein Zahlungsmittel-Lade-/Entlade- Verfahren 405.
Während des Download- und Installations-Verfahrens 400 la­ den und installieren jeweils der Kundenbenutzer 203 und der Händlerbenutzer 303 eine Kopie der Kunden-Anwendungssoft­ ware 153 (Fig. 1), die vorzugsweise im Internet 50 vor­ liegt. Im Kundencomputer 200 bzw. dem Händlercomputer 300 liegt die Kopie der Kunden-Anwendungssoftware 153 als Kun­ den-Anwendungssoftware 210 bzw. Händler-Anwendungssoftware 310 vor. (Die Händler-Anwendungssoftware 310 enthält andere Software, um den Händlercomputer 300 in die Lage zu verset­ zen, die im Anschluß beschriebenen Funktionen durchzufüh­ ren.) Unter Verwendung bekannter Techniken werden die Kun­ den-Anwendungssoftware 210 und die Händler-Anwendungssoft­ ware 310 mit dem Web-Browser des Kundencomputers 200 bzw. des Händlercomputers 300 verbunden und der Zugriff erfolgt, wenn benötigt, über den Browser.
Als nächstes werden im Registrations-Verfahren 401 der Kun­ denbenutzer 203 und der Händlerbenutzer 303 beim Servercom­ puter 100 registriert. Das heißt, daß "Personen" oder "Pro­ file" für den Kundenbenutzer 203 und den Händlerbenutzer 303 innerhalb der Datenbank 102 des Servercomputers 100 er­ zeugt werden. Eine "Person" wird hierbei als eine Ansamm­ lung von Daten bezüglich eines bestimmten Klienten defi­ niert. Deshalb hat durch dieses Registrations-Verfahren je­ der Kundenbenutzer 203 und jeder Händlerbenutzer 303, der beim Servercomputer 100 registriert ist, seine eigene Per­ son im Servercomputer 100. (Die Details der Person werden später beschrieben.) Das Recht einer Person, bestimmte Ope­ rationen durchzuführen (z. B. Laden von Zahlungsmitteln, Entnehmen von Zahlungsmitteln, Versenden bestimmter Nach­ richten an den Servercomputer 100), können auf einer Mit­ teilung- oder einer Servicebasis freigeschaltet oder ge­ sperrt werden.
Während des Instrument-Verbindungs-Verfahrens 403 aus Fig. 3A übermittelt ein Klient (ein Kundenbenutzer 203 oder ein Händlerbenutzer 303) Informationen an den Servercomputer 100, die verwendet wird, um festzustellen, daß der Klient ein finanzielles Instrument verwenden kann. Finanzielle In­ strumente können Kreditkarten, Schuldkarten, Bankkonten (Demand-Deposit-Accounts; "DDAs") oder andere finanzielle Instrumente enthalten. Der Herausgeber des Instruments, das gebunden wird, oder einem Bürge als dritte Partei, setzen fest, was für Kriterien von ihm für nötig erachtet werden, um zu bestimmen, ob der Klient das Instrument verwenden kann. Zum Beispiel kann eine Bank, die eine Kreditkarte zur Verfügung stellt, es für ausreichend erachten, daß der Kli­ ent eine fünfstellige Postleitzahl und den Mädchennamen seiner Mutter liefert, um die Kreditkarte zu verwenden. Eine Liste dieser Kriterien kann z. B. dem Servercomputer 100 zugeführt worden sein, wobei dann der Servercomputer 100 mit dem Klient kommunizieren kann, um festzustellen, ob der Klient diese Kriterien erfüllt, so daß der Klient das finanzielle Instrument verwenden kann.
Wenn der Klient durch dieses Verfahren einmal festlegt, daß der Klient das Instrument verwenden kann, ist das Instru­ ment "gebunden" oder der Klientenperson, die während des Registrations-Verfahrens 401 erzeugt wurde, zugeordnet. Wenn das Instrument einmal gebunden ist, kann der Klient das Instrument für Transaktionen benutzen, wie es später beschrieben wird.
Als nächstes wird das Zahlungsmittel-Lade-/Entladeverfahren 405 beschrieben. Für den Kundenbenutzer 203 ist "Laden" ein Verfahren, mittels dessen Zahlungsmittel, die dem gebun­ denen Instrument zugeordnet sind, in die Person des Kunden­ benutzers 203 "geladen" (oder übertragen) werden. Bei der Person des Kundenbenutzers 203 werden die Zahlungsmittel als elektronisches Geld dargestellt. Beim Kundenbenutzer 203 ist "Entladen" das Verfahren, durch das elektronisches Geld von der Person des Kundenbenutzers 203 an das gebun­ dene Instrument "entladen" (oder übertragen) wird. Für den Händlerbenutzer 303 ist "Entladen" das Verfahren, durch das elektronisches Geld von der Person des Händlerbenutzers 303 auf das gebundene Instrument "entladen" wird. Für den Händ­ lerbenutzer 303 ist "Laden" ein Verfahren, durch das Zah­ lungsmittel, die dem gebundenen Instrument zugeordnet sind, in die Person des Händlerbenutzers 303 "geladen" werden. In der Person des Händlerbenutzers 303 werden die Zahlungsmit­ tel als elektronisches Geld dargestellt.
Das Gesprächs-Öffnungs-Verfahren, das im Schritt 2 in Fig. 2 erläutert wurde, wird weiter unter Bezug auf das Ge­ sprächs-Öffnungs-Verfahren 407 aus Fig. 3A erläutert. Wenn der Kundenbenutzer 203 ein Gespräch erzeugt, wird der Kun­ denbenutzer 203 in die Lage versetzt, Geschäfte über das Internet 50 mit einem oder mehreren Händlerbenutzern 303 abzuwickeln, die jeweils ihre eigenen unabhängigen Gesprä­ che eingerichtet haben. (Natürlich können Händlerbenutzer 303 auch als Kundenbenutzer 203 auftreten, wenn sie es wün­ schen.)
Das Bezahlungs-/Transaktions-Verfahren 409 wird als näch­ stes durchgeführt. Während dieses Verfahrens können der Kundenbenutzer 203 und der Händlerbenutzer 303 miteinander verhandeln und über die Elemente einer Transaktion (z. B. einem bestimmten Produkt und Preis) eine Einigung erzielen. Dann kann der Händlerbenutzer 303 anfordern, daß der Kun­ denbenutzer 203 den vereinbarten Preis für das Produkt be­ zahlt. Vorzugsweise veranlaßt der Händlerbenutzer 303, daß Informationen bezüglich der Transaktion an den Servercompu­ ter 100 für die Gültigkeitserklärung übertragen werden. Wenn der Servercomputer 100 die Transaktion gültig erklärt, wird das elektronische Geld von der Person des Kundenbenut­ zers 203 zur Person des Händlerbenutzers 303 übertragen. Nach dem er von der Gültigkeitserklärung in Kenntnis ge­ setzt wurde, kann der Händlerbenutzer 303 das Produkt an den Kundenbenutzer 203 liefern.
Beim Gesprächs-Schließungs-Verfahren 411 kann das während des Gesprächs-Öffnungs-Verfahrens 407 eingerichtete Ge­ spräch beendet werden. Wenn der Kundenbenutzer 203 (oder Händlerbenutzer 303) das Gespräch schließt, sperrt der Ser­ vercomputer 100 den Kundenbenutzer 203 (oder Händlerbenut­ zer 303) von der Durchführung von Geschäften über das In­ ternet 50 mit einem anderen Händlerbenutzer 303 (oder Kun­ denbenutzer 203), der ein offenes Gespräch hat, es sei denn, der Kundenbenutzer 203 hat weitere offene Gespräche.
In Fig. 3B, die den erfindungsgemäßen Mitteilungsfluß zeigt, wird das Registrations-Verfahren 401 durch den Kun­ dencomputer 200 durchgeführt, indem die Mitteilung R1 ("Re­ gistration 1") an den Servercomputer 100 gesendet wird. In Abhängigkeit der Mitteilung R1 sendet der Servercomputer 100 die Mitteilung R2 ("Registration 2") zurück an den Kun­ dencomputer 200. Die in den Registrations-Mitteilungen ent­ haltene Information wird später erläutert.
Während des Instrument-Bindungs-Verfahrens 403 sendet der Kundencomputer 200 die Mitteilung BI1 ("Bind Instrument 1") an den Servercomputer 100. Die Information in der Mittei­ lung BI1 wird vom Servercomputer 100 verwendet, um die Er­ mächtigung dessen, der das Instrument anbindet, mit dem Herausgeber des Instruments oder einem Bürgen als dritte Partei zu bestätigen. Das Bestätigungs-Verfahren kann durch den Austausch von Mitteilungen (im folgenden als Mitteilung BI2 und BI3 bezeichnet) zwischen dem Servercomputer 100 und dem Kundencomputer 200 ausgedehnt sein. Die Mitteilungen BI2 und BI3 hätten dabei ein Format, das jenen der anderen Mitteilungen ähnlich ist, die hier beschrieben sind. Der Inhalt der Mitteilung BI2 kann Anforderungen zusätzlicher Informationen (die vom Herausgeber des Instruments verlangt werden) oder Klarstellung von Information enthalten, wie es vom Herausgeber des Instruments oder dem Bürgen als dritter Partei verlangt wird. Die Mitteilung BI2 kann z. B. veran­ lassen, daß der Kundenbenutzer 203 nach dem Mädchennamen der Mutter des Kundenbenutzers 203 gefragt wird. Die Mit­ teilung BI3 kann die Antwort des Kundenbenutzers 203 ent­ halten.
In Abhängigkeit von der Mitteilung BI1 sendet der Server­ computer 100 die Mitteilung BI4 ("Bind Instrument 4") zu­ rück an den Kundencomputer 200. Die in dieser Verbindungs­ mitteilung enthaltene Information wird später beschrieben. In der folgenden Beschreibung sind die Mitteilungen BI1 und BI4 operative Mitteilungen für das Instrumenten-Binden.
Während des Zahlungsmittel-Lade-/Entlade-Verfahrens 405 sendet der Kundencomputer 200 die Mitteilung LU1 ("Load/Unload 1") an den Servercomputer 100. In Abhängig­ keit von der Mitteilung LU1 sendet der Servercomputer 100 die Mitteilung LU2 ("Lade/Entlade 2") zurück an den Kunden­ computer 200. Die in diesen Zahlungsmittel-Lade-/Entlade- Mitteilungen enthaltene Information wird später beschrie­ ben.
Während des Gesprächs-Öffnungs-Verfahrens 407 sendet der Kundencomputer 200 die Mitteilung OS1 ("Open Session 1") an den Servercomputer 100. In Abhängigkeit von der Mitteilung OS1 sendet der Servercomputer 100 die Mitteilung OS2 ("Open Session 2") zurück an den Kundencomputer 200. Die in diesen Gesprächs-Öffnungs-Mitteilungen enthaltene Information wird später beschrieben.
Während des Bezahlungs-/Transaktions-Verfahrens 409 sendet der Händlercomputer 300 die Mitteilung PR1 ("Payment Re­ quest 1") an den Kundencomputer 200. In Abhängigkeit von der Mitteilung PR1 sendet der Kundencomputer 200 die Mittei­ lung CA1 ("CAsh payment 1") zurück an den Händlercomputer 300. Nach dem Empfang der Mitteilung CA1 sendet der Händ­ lercomputer 300 die Mitteilung CA2 ("CAsh payment 2") an den Servercomputer 100. In Abhängigkeit von der Mitteilung CA2 sendet der Servercomputer 100 die Mitteilung CA3 ("CAsh payment 3") zurück an den Händlercomputer 300. In Abhängig­ keit von der Mitteilung CA3 sendet der Händlercomputer 300 die Mitteilung CA4 ("CAsh payment 4") an den Kundencomputer 200. Die in diesen Bezahlungs-/Transaktions-Mitteilungen enthaltene Information wird später beschrieben.
Während des freigestellten Gesprächs-Schließungs-Verfahrens 411 sendet der Kundencomputer 200 die Mitteilung CS1 ("Close Session 1") an den Servercomputer 100. In Abhängig­ keit von der Mitteilung CS1 sendet der Servercomputer 100 die Mitteilung CS2 ("Close Session 2") an den Kundencompu­ ter 200. Die in diesen Gesprächs-Schließungsmitteilungen enthaltene Information wird später beschrieben.
Es sei angemerkt, daß Fig. 3B die Mitteilungen R1/R2, BI1/BI4, LU1/LU2, OS1/OS2 und CS1/CS2, die zwischen dem Kundencomputer 200 und dem Servercomputer 100 ausgetauscht werden, zeigt. Der Händlerbenutzer 303 veranlast, daß die gleichen Mitteilungen zwischen dem Händlercomputer 300 und dem Servercomputer 100 fließen. Daraus folgt, daß der Händ­ lerbenutzer 303 das Registrations-Verfahren 401, das In­ strumenten-Bindungs-Verfahren 403, das Zahlungsmittel-Lade- /Entlade-Verfahren 405, das Gesprächs-Öffnungs-Verfahren 407 und das Gesprächs-Schließungs-Verfahren 411 in der gleichen Art wie der Kundenbenutzer 203 durchführt, es sei denn, es wurde anders angegeben. Im Fall des Händlerbenut­ zer 303 werden die diesem Verfahren zugeordneten Daten be­ züglich der Händler-Datenbank und der Händler-Datenstruktu­ ren, die in dem Servercomputer 100 enthalten sind, manipu­ liert.
Die Datenbanken und die Datenstrukturen, die in der bevor­ zugten erfindungsgemäßen Ausführungsform verwendet werden, werden als nächstes beschrieben.
II. Datenbänke
In Fig. 11 enthalten der Servercomputer 100, der Kundencom­ puter 200 und der Händlercomputer 300 die Datenbänke 102, 202 bzw. 302. Während der folgenden Beschreibung bezeichnen die Datenbänke 102, 202 und 302 spezielle Datenstrukturen und Formate, wobei der Fachmann leicht merkt, daß solche bestimmten Datenstrukturen und Formate für die Erfindung nicht entscheidend sind und auch nicht als Teil derselben betrachtet werden. Deshalb fallen alle Modifikationen der Datenstrukturen und Formate in den Rahmen der beiliegenden Ansprüche.
Es wird bevorzugt, daß die Werte in den Datenbänken 202 und 302 gespeichert werden, wenn eine Antwortmitteilung vom Kundencomputer 200 bzw. dem Händlercomputer 300 empfangen wird. Wo es jedoch die Klarheit verbessert, wird beschrie­ ben, daß Werte vor dem Empfang einer solchen Antwortmittei­ lung gespeichert werden.
A. Server-Datenbank 102
Die Server-Datenbank 102 speichert Daten, die den Server­ computer 100 in die Lage versetzen, mit dem Kundencomputer 200 und dem Händlercomputer 300 zu kommunizieren und Trans­ aktionen zwischen diesen zu verarbeiten. Fig. 4A zeigt all­ gemein die Struktur der Server-Datenbank 102.
Wie in Fig. 4A zu sehen ist, enthält die Server-Datenbank 102 die Profil- oder Personen-Datenstrukturen 120, die Ser­ ver-Gesprächs-Datenstruktur 130, die Mitteilungs-Log-Daten­ struktur 140 (Mitteilungs-Programmliste-Datenstruktur), die Mitteilungs-Datenstruktur 150 und die Datenstruktur 160 des öffentlichen Schlüssels und eine Anwendungs-Datenstruktur 170. Jede dieser Datenstrukturen wird nun detailliert be­ schrieben.
1. Server-Profil-Datenstruktur 120
Die Server-Personen-Datenstruktur 120 speichert Daten be­ züglich der Gesamtheit der Kundenbenutzer 203 und der Händ­ lerbenutzer 303, die bei dem Servercomputer 100 registriert sind. In Fig. 4B enthält die Personen-Datenstruktur 120 eine oder mehrere Kunden-Personen 120.1. Es ist bevorzugt, daß die Kunden-Personen 120.1 mit den Feldern 120A-120H aufgezeichnet werden. Die Server-Personen-Datenstruktur 120 enthält eine Kunden-Person 120.1 für jeden registrierten Kundenbenutzer 203. Die Felder der Kunden-Person 120.1 wer­ den nun beschrieben.
Das Feld 120A speichert eine Personen-ID (Kunden-Identifi­ kation) für den Kundenbenutzer 203. Die Personen-ID identi­ fiziert einen bestimmten Kundenbenutzer 203. Um die System­ sicherheit zu erhöhen, speichert die Server-Datenbank 102 keine wiedererkennbare Information über die Kundenbenutzer 203. Zum Beispiel werden der tatsächliche Name und die Adresse des Kundenbenutzers 203 nicht in der Server-Daten­ bank 102 gespeichert. Anstelle dessen wird eine Personen-ID zur Identifikation benutzt. Das Personen-ID-Feld ist inso­ weit freigestellt, als daß auch die in dem Feld 120C für den öffentlichen Schlüssel (später beschrieben) Information verwendet werden kann, um Datensätze bezüglich des Kunden­ benutzers 203 zu plazieren. Da eine Personen-ID kürzer als ein öffentlicher Schlüssel ist, ist es effizienter, und so­ mit wird bevorzugt, die Personen-ID für diesen Zweck zu verwenden.
Das Feld 120B enthält eine E-Mail-Adresse für den Kundenbe­ nutzer 203. Unter Verwendung der E-Mail-Adresse in dem Feld 120B ist der Servercomputer 100 in der Lage, eine E-Mail an den Kundenbenutzer 203 über das Internet 50 zu versenden.
Das Feld 120C speichert einen öffentlichen RSA-Schlüssel für die Kunden-Person 120.1. Wie weiter unten vollständig beschrieben wird, wird das Feld 120C des öffentlichen RSA- Schlüssels durch die Kunden-Anwendungssoftware 210 erzeugt. Das Feld 120C des öffentlichen RSA-Schlüssels ist die öf­ fentliche Komponente eines öffentlichen/privaten RSA- Schlüsselpaares. Sowohl der öffentliche als auch der pri­ vate RSA-Schlüssel für einen Kundencomputer 200 sind im Kundencomputer 200 gespeichert, wie es später beschrieben wird. Bei der bevorzugten Ausführungsform haben die RSA- Schlüssel eine Länge von 768 Bit. Diese Länge bildet ein Gleichgewicht zwischen der wachsenden Sicherheit (die unter Verwendung längerer Schlüssel erhalten wird) und den abneh­ menden Verarbeitungskosten (die unter Verwendung kürzerer Schlüssel erhalten werden) . Mit wachsender Prozessorlei­ stung in der Zukunft können längere RSA-Schlüssel zur Erhö­ hung der Sicherheit verwendet werden, ohne die Systemeigen­ schaften zu beeinträchtigen.
Wenn der öffentliche RSA-Schlüssel des Kunden in einer Gül­ tigkeitserklärung durch eine geeignete Gültigkeitserklä­ rungsautorität eingeschlossen ist, wird der Schlüssel von der Gültigkeitserklärung anstelle des öffentlichen Schlüs­ sels verwendet, und das Personen-ID-Feld 120A ist nicht länger wahlfrei, wie es vorangehend beschrieben wurde. Auf Gültigkeitserklärungen beruhende Systeme sind im Stand der Technik bekannt und werden nicht beschrieben.
Das Datum, das der Kundenbenutzer 203 beim Servercomputer 100 registrieren läßt, wird im Feld 120D gespeichert. Das Datum im Feld 120D erlauben das Durchführen von Fördermaß­ nahmen (z. B. wenn Sie sich vor diesem Datum registrieren, passiert folgendes) und helfen bei der Auflösung von Streitfragen.
Das Feld 120E enthält eine bevorzugte Kommunikationssprache für den Kundenbenutzer 203.
Das Feld 120F speichert einen Selbstschließungs-Paß-Satz (losung) für den Kundenbenutzer 203. Der Selbstschließungs- Paß-Satz ist ein Satz, der es dem Kundenbenutzer 203 er­ laubt, eine Kunden-Person 120.1 unter bestimmten Umständen zu schließen, wie es später beschrieben wird.
Die Daten 120G stellen eine Datenstruktur mit den Feldern 120G.1-120G.4 dar, die in Fig. 4C gezeigt ist. Die Felder 120G.1-120G.4 speichern Daten für jeden Geld-Container, der durch den Kundenbenutzer 203 eingerichtet wird. Die Server- Personen-Datenstruktur 120 enthält einen Feldersatz 120G.1-120G.4 für jeden Geld-Container, der vom Kundenbenutzer 203 eingerichtet wird. Der Geld-Container speichert elektroni­ sches Geld. Es können mehrere Geld-Container verwendet wer­ den, z. B. einen für jede Währung, in der der Kundenbenutzer 203 eine geschäftliche Transaktion beabsichtigt.
Die Felder 120G.1-120G.4 werden nun detailliert unter Bezug auf Fig. 4C beschrieben.
Das Feld 120G.1 speichert die Währung, die mit dem elektro­ nischen Zahlungsmittel-Beträgen, die in den Feldern 120G.2 und/oder 120G.3 gespeichert sind, verbunden ist.
Das Feld 120G.2 speichert die verfügbare Balance des Geld- Containers.
Das Feld 120G.3 speichert die Stopp-Balance des Geld-Containers.
Das in den Feldern 120G.2 und/oder 120G.3 gespeicherte elektronische Geld wird vorzugsweise auf einem Agenturkonto (einer Form von Bankinstrument, mittels dessen Zahlungsmit­ tel von einem Teilnehmer zugunsten eines anderen gehalten werden) deponiert. Die Kontonummer dieses Agenturkontos wird im Feld 120G.4 gespeichert.
Die Daten 120H stellen eine Datenstruktur mit den Feldern 120H.1-120H.28 dar, die in Fig. 4D gezeigt ist. Die Felder 120H.1-120H.28 speichern Daten für die Instrument-Bindung mit der Kunden-Person 120.1. Die Server-Personen-Daten­ struktur 120 enthält einen Feldersatz 120H.1-120H.28 für jedes Instrument, das mit einer Kunden-Person 120.1 verbun­ den ist. Die Felder 120H.1-120H.28 werden nun detailliert unter Bezug auf Fig. 4D beschrieben.
Das Feld 120H.1 speichert die Personen-ID aus dem Feld 120A (Fig. 4B). Die Personen-ID im Feld 120H.1 zeigt die Person 120.1 an, mit der das Instrument mit den im Feld 120H.1-120H.28 gespeicherten Daten verbunden ist.
Das Feld 120H.2 enthält einen Instrument-Typ für das ver­ bundene Instrument. Die Instrument-Typen enthalten vorzugs­ weise Bankkonten, Schuldkarten und Kreditkarten.
Das Feld 120H.3 speichert einen Instrument-Untertyp für das verbundene Instrument. Der Instrument-Untertyp ist eine Un­ terklassifikation für einen Instrument-Typ (z. B. "VISA" für den Instrument-Typ "Kreditkarte").
Der Kundenbenutzer 203 kann eine Auswahl treffen, um ein "Selbstschließungs"-Merkmal zu aktivieren, wenn seine Per­ son 120.1 registriert wird. Das Selbstschließungs-Merkmal erlaubt es dem Kundenbenutzer 203, einen Paß-Satz (später beschrieben) zu schaffen, um die Kunden-Person 120.1 zu schließen und um das gesamte elektronische Geld, das mit der Person eines Selbstschließungs-Instruments verbunden ist, zu entladen. Wenn das gebundene Instrument das Selbst­ schließungs-Instrument ist, enthält das Feld 120H.4 eine Instrument-Nummer für das gebundene Instrument. Die Instru­ ment-Nummer identifiziert das Instrument. Bevorzugt ist, daß die Instrument-Nummer verschlüsselt wird, bevor sie ge­ speichert wird. Alternativ dazu, kann die Instrument-Nummer in einer getrennten Speichervorrichtung gespeichert sein, die nicht mit dem Servercomputer 100 verbunden ist. Wenn das verbundene Instrument nicht das Selbstschließungs-In­ strument ist, wird die Instrument-Nummer benutzt, um das Feld 120H.9 zu berechnen (wie es später beschrieben wird), und die Instrument-Nummer wird nicht im Feld 120H.4 gespei­ chert.
Gebundene Instrumente können eine zweite Nummer haben, die darüber hinaus das gebundene Instrument, z. B. eine American Express CID oder eine US-DDA-Konto-R/T-Nummer, anzeigt. Eine solche zweite Nummer, die im folgenden als Instrumen­ ten-Unternummer bezeichnet wird, wird im Feld 120H.5 ge­ speichert.
Bankkonten werden in einer einzigen Währung eingerichtet. Die ursprüngliche Währung eines Bankkontoinstruments wird im Feld 120H.6 gespeichert.
Das Feld 120H.7 speichert einen oder mehrere Integer, die gesetzliche Übereinkünfte darstellen. Bei der bevorzugten Ausführungsform bestimmt der Betreiber des Servercomputers 100, welche gesetzlichen Übereinstimmungen mit dem Kunden­ benutzer 203 getroffen werden müssen, damit der Kundenbe­ nutzer 203 das gebundene Instrument zur Durchführung be­ stimmte Vorgänge benutzen kann.
Das Feld 120H.8 enthält einen Instrumenten-Prefix. Der In­ strumenten-Prefix aus 120H.8 ist ein Untersatz der Instru­ menten-Nummer, die unter Bezug auf Feld 120H.4 beschrieben wurde. Bei der bevorzugten Ausführungsform ist der Instru­ menten-Prefix im Feld 120H.8 (für Kreditkarten, Schuldkar­ ten und Bankkonten) die ersten zwei und letzten vier Digits der Instrument-Nummer aus Feld 120H.4.
Das Feld 120H.9 speichert einen Instrument-Hashwert, vor­ zugsweise ein MD5-Hash der Instrument-Nummer, die unter Be­ zug auf das Feld 120H.4 beschrieben wurde. (Der Begriff "Hash" oder "zerhacken", wie er in dieser Anmeldung verwen­ det wird, bezieht sich auf einen cryptographischen Hash im Gegensatz zu anderen mathematischen Hash-Funktionen, wie etwa dem algebraischen Hash.) Das Raten der durch den Hash dargestellten Instrument-Nummer wird durch Verketten der Instrument-Nummer mit einer Zufallszahl, die von dem Kun­ dencomputer 200 erzeugt und dem Servercomputer 100 vor dem Hash zugeführt wird (eine solche Zahl wird für gewöhnlich als "Salt" bezeichnet) erschwert. Das Instrument-Salt wird im Feld 230Q der Benutzerinstrument-Bindungs-Datenstruktur 230 gespeichert, wie es weiter unten dargelegt wird. Der Instrument-Hash im Feld 120H.9 wird zur Verifizierung der Instrument-Nummer verwendet, ohne daß es nötig wird, die Instrument-Nummer im Servercomputer 100 zu speichern. Dies verringert die Attraktivität des Servercomputers 100 als Ziel für Diebe und Schurken.
Das Feld 120H.10 enthält eine Identifikations-Nummer für den Herausgeber des gebundenen Instrumentes, die auch als "BIN" bekannt ist, oder eine Bank-ID-Nummer.
Wenn das gebundene Instrument als Selbstschließungsinstru­ ment verwendet werden soll, enthalten die Felder 120H.11 und 120H.12 den Namen und die Adresse eines Halters des ge­ bundenen Instrumentes. Vorzugsweise wird die Information verschlüsselt, bevor sie gespeichert wird. Alternativ dazu kann die Instrument-Nummer in einer getrennten Speichervor­ richtung gesichert sein, die nicht mit dem Servercomputer 100 verbunden ist.
Die Felder 120H.13 und 120H.14 speichern jeweils Daten be­ züglich der Bindung des gebundenen Instrumentes bzw. der ersten Benutzung.
Das Feld 120H.15 enthält einen Status eines gebundenen In­ strumentes. Der Inhalt des Bindungs-Statusfeldes 120H.15 hängt von dem gebundenen Instrument ab. Zum Beispiel kann es nötig sein, um ein Bankkonto (DDA) zu verbinden, daß der Kundenbenutzer 203 ein Formular unterschreibt und den Be­ treiber des Servercomputer 100s ermächtigt, ein Pre-Notifi­ kations-Verfahren ("pre-note") mit einem automatisierten Freigabe-Haus ("ACH") einzuleiten. Vor dem Empfang des un­ terschriebenen Formulars oder der Antwort auf das Pre-Note kann das Servercomputer 100 anzeigen, daß die Verbindung "eingerichtet" wurde. Bei Empfang des unterschriebenen Formulars kann das Statusfeld 120H.15 "Pre-Note ist anhängig" enthalten. Wenn die Pre-Note vor dem unterschriebenen For­ mular zugesandt wird, kann das Feld 120H.15 "Unterschrift ist anhängig" enthalten. Wenn beide empfangen wurden und akzeptabel sind, kann das Feld 120H.15 "Freigabe" enthal­ ten. Wenn ein Problem mit einem von beiden auftaucht oder wenn eine vorgegebene Zeit bis zum Empfang eines der beiden abläuft, kann das Feld 120M.15 "gesperrt" enthalten. Das Feld 120H.15 kann auch "gesperrt" enthalten, wenn das In­ strument, das anschließend bestimmt wird, nicht verwendbar ist (z. B. bei einem eingefrorenen Konto bei einer Bank) Der Status anderer gebundener Instrumente wird vom Instru­ ment-Typ und den Schritten abhängig sein, die zum Anbinden eines bestimmten Instrument-Typ nötig sind. Natürlich kann das Pre-Note-Verfahren Online durchgeführt werden.
Das Feld 120H.16 ist ein Flag, das anzeigt, ob das gebun­ dene Instrument für Kauf-Transaktionen freigegeben ist.
Eine Kauf-Transaktion ist eine solche, bei der eine Kunden- Person 120.1 benutzt wird, um etwas zu bezahlen, wobei ein gebundenes Instrument direkt, wie im Fall der Verwendung einer Schuldkarte, benutzt wird.
Wenn das Feld 120H.16 anzeigt, daß das gebundene Instrument für Kauf-Transaktionen freigegeben ist, wird eine Beschrän­ kung in der vom Kundenbenutzer 203 gewählten (ursprüngli­ chen) Währung im-Feld 120H.17 gespeichert. Wenn die ur­ sprüngliche Währung nicht existiert, wird die Kauf-Transak­ tion auf 120H.17 in US-Dollar beschränkt. Ein besonderer Wert kann verwendet werden, um anzuzeigen, daß keine Kauf- Transaktionsgrenze für das gebundene Instrument besteht. Der besondere Wert kann jeder Wert sein, der nicht inner­ halb eines Satzes akzeptabler Werte für das Feld liegt. Zum Beispiel kann, wenn die Grenze des Felds 120H.17 als eine positive Zahl ausgedrückt wird, der besondere Wert negativ sein.
Das Feld 120H.18 ist ein Flag, das anzeigt, ob das gebun­ dene Instrument für eine Kredit-/Rückgabetransaktion frei­ gegeben ist. Eine Kredit-/Rückgabetransaktion ist ein Vor­ gang, bei dem ein Händler einer Kunden-Person 120.1 Kredit gibt, anstatt das ursprünglich vereinbarte Produkt zu lie­ fern.
Wenn das Feld 120H.18 anzeigt, daß das gebundene Instrument für die Kredit-/Rückgabetransaktionen freigegeben ist, wird eine Begrenzung in der vom Kundenbenutzer 203 gewählten ur­ sprünglichen Währung pro Kredit-/Rückgabetransaktion im Feld 120H.19 gespeichert. Wenn eine ursprüngliche Währung nicht existiert, wird die Kredit- /Rückgabetransaktionsgrenze im Feld 120H.19 in US-Dollar festgesetzt. Ein besonderer Wert kann verwendet werden, um anzuzeigen, daß keine Kredit-/Rückgabetransaktionsgrenze für das gebundene Instrument besteht, wie es vorangehend beschrieben wurde.
Das Feld 120H.20 ist ein Flag, das anzeigt, ob ein gebun­ denes Instrument für einen Ladevorgang freigegeben ist, wie es vorangehend beschrieben wurde.
Wenn das Feld 120H.20 anzeigt, daß das gebundene Instrument für Ladevorgänge freigegeben ist, wird eine Grenze im Feld 120H.21 gespeichert. Die Lade-Geld-Transaktions-Grenze aus dem Feld 120H.21 stellt eine Grenze in der ursprünglichen Währung dar. Wenn eine ursprüngliche Währung nicht exi­ stiert, kann die Lade-Geld-Transaktions-Grenze im Feld 120H.21 auf US-Dollar festgesetzt sein. Ein besonderer Wert kann verwendet werden, um anzuzeigen, daß keine Lade-Geld- Transaktions-Grenze für das gebundene Instrument besteht, wie es vorangehend beschrieben wurde.
Das Feld 120H.22 ist ein Flag, das anzeigt, ob das gebun­ dene Instrument für Entladevorgänge freigegeben ist, wie es vorangehend beschrieben wurde.
Wenn das Feld 120H.22 anzeigt, daß das gebundene Instrument für Entlade-Geld-Transaktionen freigegeben ist, wird eine Grenze für die Geld-Transaktionen im Feld 120H.23 gespei­ chert. Die Entlade-Geld-Transaktions-Grenze aus Feld 120H.23 stellt eine Grenze in der ursprünglichen Währung dar. Wenn eine ursprüngliche Währung nicht existiert, wird die Ent­ lade-Geld-Transaktions-Grenze im Feld 120H.23 vorzugsweise in US-Dollar festgesetzt. Ein besonderer Wert kann verwen­ det werden, um anzuzeigen, daß keine Entlade-Geld-Transak­ tions-Grenze für das gebundene Instrument besteht, wie es vorangehend beschrieben wurde.
Das Feld 120H.24 ist ein Flag, der anzeigt, ob das gebun­ dene Instrument als Selbstschließungs-Verbindung für die Kunden-Person 120.1 entworfen ist. Eine Selbstschließungs- Bindung muß bezüglich ihrem Entlade-Geld-Transaktions-Flag (Feld 120H.22) freigegeben sein.
Das Feld 120H.25 speichert eine Stundenzahl, während derer die Kauf-Transkations-Grenze, die im Feld 120H.17 gespei­ chert ist, benutzt wird.
Das Feld 120H.26 speichert eine Stundenzahl, während derer die Kredit-Transaktions-Grenze, die im Feld 120H.19 gespei­ chert ist, benutzt wird.
Das Feld 120H.27 speichert eine Stundenzahl, während derer die Lade-/Geld-Transaktions-Grenze, die im Feld 120H.21 ge­ speichert ist, benutzt wird.
Das Feld 120H.28 speichert eine Stundenzahl, während derer die Entlade-/Geld-Transaktions-Grenze, die im Feld 120H.23 gespeichert ist, benutzt wird.
Das Feld 120I speichert gesetzliche Übereinkünfte, wie es vorangehend beschreiben wurde.
Während die vorangehende Beschreibung der Kunden-Person 120.1 bezüglich der Daten fortgesetzt wird, die mit dem Kundenbenutzer 203 zusammenhängen, sei angemerkt, daß der Händlerbenutzer 303 eine Händler-Person 120.2 hat, die in der Server-Personen-Datenstruktur 120 gespeichert ist. Die Händler-Person 120.2 ist in den Fig. 4E, 4F und 4G gezeigt, wobei die Felder 120AA-102HH, 120GG.1-120GG.4 und 120HH.1-120HH.28 den Feldern 120A-120H, 120G.1-120G.4 und 120H.1-120H.28 aus den Fig. 4B, 4C und 4D entsprechen.
2. Server-Gesprächs-Datenstruktur 130
Die Server-Gesprächs-Datenstruktur 130, die allgemein in Fig. 4A gezeigt ist, speichert die zu einem Gespräch gehö­ renden Daten. Die Server-Gesprächs-Datenstruktur 130 wird nun für einen Kundenbenutzer 203 beschrieben.
In Fig. 4H enthält die Server-Gesprächs-Datenstruktur 130 mindestens einen Kunden-Gesprächs-Datensatz 130.1. Die Ser­ ver-Gesprächs-Datenstruktur 130 enthält einen Datensatz 130.1 für jedes aktive Gespräch eines Kundenbenutzers 203.
Der Servercomputer 100 identifiziert ein Gespräch durch eine einzige Gesprächsidentifikationsnummer ("Session id"). Die Session-ID wird im Feld 130A gespeichert.
Die zwischen dem Servercomputer 100 und dem Kundencomputer 200 während eines Gesprächs ausgetauschten Mitteilungen enthalten verschlüsselte Daten. Das Feld 130B enthält einen Verschlüsselungs-Schlüssel (der als "Session Key" bezeich­ net wird). Der Session Key im Feld 130B wird vom Servercom­ puter 100 zur Berechnung eines Schlüssels zur Entschlüsse­ lung der vom Kundencomputer 200 empfangenen verschlüsselten Mitteilungen verwendet.
Das Feld 130C speichert eine Session-Salt, vorzugsweise mit 8 Bit Länge. Wie anschließend beschrieben wird, werden Mit­ teilungen, die innerhalb eines Gesprächs zwischen dem Ser­ vercomputer 100, dem Kundencomputer 200 und dem Händlercom­ puter 300 ausgetauscht werden, nicht unter Verwendung von digitalen Kennzeichnungen gültig erklärt. Statt dessen wer­ den innerhalb eines Gesprächs ausgetauschte Mitteilungen durch die Kenntnis des Session-Keys und des Session-Salt gültig erklärt, die vorangehend beschrieben wurden. Um sicherzustellen, daß der nicht verschlüsselte Teil einer Mitteilung nicht verändert wird, wird dieser zerhackt, und der Hashwert wird in dem verschlüsselten Teil der Mittei­ lung eingeschlossen. Die Verwendung des Session-Salt aus Feld 130C stellt sicher, daß der Hashwert besser gesichert wird.
Erfindungsgemäß kann der Kundenbenutzer 203 Geschäfte in einer oder mehreren Währungen durchführen. Das Feld 130D zeigt eine Bezeichnung der Währung (z. B. US-Dollar) an, die der Kundenbenutzer 203 während des Gesprächs verwenden will.
Das Feld 130E stellt den Maximalbetrag elektronischen Geldes (in der Währung aus Feld 130D) dar, der für den Kun­ denbenutzer 203 zu Beginn des Gesprächs zur Verfügung steht.
Das Feld 130F repräsentiert einen elektronische Geldbetrag (in der Währung aus Feld 130D), der für den Benutzer 203 zu einem bestimmten Zeitpunkt während des Gesprächs zur Verfü­ gung steht. Der ursprüngliche Wert im Feld 130F ist der Wert, der beim Öffnen im Betragfeld 130E gespeichert ist. Anschließend wird der laufende Wert im Feld 130F durch Sub­ trahieren jeder Ausgabe für Produkte während des Gesprächs von dem vorhergehenden Wert aus 130F bestimmt.
Das Feld 130G zeigt ein Datum und eine Uhrzeit an, zu der das Gespräch eingerichtet wurde. Das Feld 130H zeigt das Datum und den Zeitpunkt an, in dem das Gespräch tatsächlich geschlossen wurde.
Das Feld 130I zeigt an, wie oft maximal der Servercomputer 100 die Verwendung des Session Keys aus Feld 130 durch den Kundencomputer 200 wieder erkennen wird.
Das Feld 130J zeigt die Zeitdauer an, während derer der Session-Key aus Feld 130B gültig ist.
Das Feld 130K speichert die Personen-ID des Kundenbenutzers 203. Über die Personen-ID aus Feld 130K ist ein Gespräch mit einer Person 120I verknüpft.
Das Feld 130L speichert den Status eines mit der Gesprächs- ID aus Feld 130A verbundenen Gesprächs. Der Status ist ent­ weder "open" oder "closed".
Das Feld 130M speichert eine wahlfreie Zeichenfolge, die vom Kundenbenutzer 203 geliefert wird und die das mit der Session-ID im Feld 130A gebundene Gespräch beschreibt. Das Feld 130M kann eine Folge enthalten, die vom Kundenbenutzer 203 beim Öffnen des Gesprächs geliefert wurde, und eine Folge, die beim Schließen des Gesprächs geliefert wird.
Die Transaktionsdaten 130N umfassen die Felder 130N.1-130N.5. Die Felder 130N.1-130N.5, die in Fig. 4E gezeigt sind, werden für jede von dem Kundenbenutzer 203 während des Gesprächs begonnene Transaktion durch die Session-ID aus Feld 130A identifiziert. Die Maximalzahl solcher Trans­ aktionen ist gleich der im Feld 130I gespeicherten Schlüs­ sel-Benutzungsgrenze. Die Felder 130N.1-130N.5 werden nun detailliert unter Bezug auf Fig. 4I beschrieben.
Das Feld 130N.1 enthält die Menge, die für den Kundenbenut­ zer 203 für eine bestimmte Transaktion geladen wurde.
Das Feld 130N.2 speichert die Session-ID, die im Feld 130A gespeichert ist.
Das Feld 130N.3 speichert eine Auftragsidentifikationsnum­ mer ("Order-ID"), die von dem Händlercomputer 300 zur Iden­ tifizierung eines bestimmten Auftrags erzeugt wird.
Das Feld 130N.4 speichert die Session-ID des Händlers 303, von dem das zugehörige Produkt mit einer bestimmten Trans­ aktion erworben wurde.
Das Feld 130N.5 enthält den Indexwert, der dem Kundencompu­ ter 200 für eine bestimmte Transaktion zugewiesen wurde. Der Indexwert muß innerhalb der Schlüssel-Benutzungsgrenze liegen, die, wie ausgeführt, im Feld 130J festgelegt ist. Da die von der Kunden-Person 120I ausgeführte Transaktion möglicherweise nicht vom Servercomputer 100 in der Reihen­ folge, in der sie ausgeführt werden, empfangen werden, wird der Indexwert in der Art eines Bitmap erlaubter Indexwerte gespeichert, die es dem Servercomputer 100 erlauben, zu be­ stimmen, ob ein erlaubter Index verwendet wurde, und um die geeigneten Schritte zu unternehmen, wenn dies auftritt.
Während der vorangehenden Beschreibung der Server-Ge­ sprächs-Datenstruktur 130 wurde ein Kunden-Gesprächs-Daten­ satz 130.1 unter bezug auf Daten im Zusammenhang mit einem Kundenbenutzer 203 ausgeführt, wobei anzumerken ist, daß ein Händlerbenutzer 303 entsprechende in der Server-Ge­ sprächs-Datenstruktur gespeicherte Daten hat. Solch ein Händler-Gesprächs-Datensatz 130.2 ist in Fig. 4J und 4K ge­ zeigt, wobei die Felder 130AA-130NN den Feldern 130A-130N entsprechen und wobei die Felder 130NN.1-130NN.5 den Fel­ dern 130N.1-130N.5 entsprechen.
3. Mitteilungs-Log-Datenstruktur 140
Die Mitteilungs-Log-Datenstruktur 140 (Fig. 4A) spürt Mit­ teilungen auf, die von dem Servercomputer 100 empfangen und gesendet werden. Dies erlaubt dem Servercomputer 100, du­ plizierte Mitteilungen und Antworten entsprechend zu iden­ tifizieren. Duplizierte Mitteilungen werden verwendet, um den Zustimmungszustand zwischen einem Klienten und einem Servercomputer 100 angesichts der unvorhersehbaren Kommuni­ kation über das Internet 50 sicherzustellen. Zum Beispiel kann auf ein Duplikat einer gültigen Mitteilung mit der Originalantwort geantwortet werden. Der Servercomputer 100 sollte jedoch nicht die Verarbeitung der duplizierten Mit­ teilung duplizieren. Ein Datensatz 104.1 der Mitteilungs- Log-Datenstruktur 140 wird nun unter Bezug auf Fig. 4L be­ schrieben.
Das Feld 140A enthält die Personen-ID, die in der von dem Servercomputer 100 empfangenen Mitteilung enthalten ist.
Das Feld 140B enthält die Gesprächs-Nummer (Session-ID), die in der von dem Servercomputer 100 empfangenen Mittei­ lung CA2 (später beschrieben) enthalten ist. Für alle ande­ ren von dem Servercomputer 100 empfangenen Mitteilungen ist dieses Feld vorzugsweise Null.
Das Feld 140C enthält die Transaktion-Nummer, die in der Mitteilung R1, BI1, LU1, OS1 oder CS1 (später beschrieben) enthalten ist, die vom Servercomputer 100 empfangen werden. Für jede Mitteilung CA2, die vom Servercomputer 100 empfan­ gen wird, ist dieses Feld vorzugsweise gleich Null.
Das Feld 140D enthält den Index, der in der vom Servercom­ puter 100 empfangenen Mitteilung CA2 enthalten ist. Für alle anderen vom Servercomputer 100 empfangenen Mitteilun­ gen ist dieses Feld vorzugsweise gleich Null.
Das Feld 140E enthält einen Hash oder eine Kopie der von dem Servercomputer 100 im Zusammenhang mit den Feldern 140A-140D empfangenen Mitteilungen.
Das Feld 140F enthält eine Kopie einer vom Servercomputer 100 in Abhängigkeit von der im Feld 140E gesicherten Mit­ teilung abgesandten Mitteilung.
4. Mitteilungs-Datenstruktur 150
Die Mitteilungs-Datenstruktur 150 (Fig. 4A) enthält Scha­ blonen, die das Format und die Inhalte von Mitteilungen an­ zeigen, welche in Abhängigkeit vom Typ und der Version der Erfindung verwendet werden. Zum Beispiel kann eine be­ stimmte Mitteilung zwischen einer und mehreren unterstütz­ ten Versionen der Kunden-Anwendungssoftware 210 und der Händler-Anwendungssoftware 310 voneinander abweichen. Wenn eine Mitteilung vom Servercomputer 100 empfangen wird, wird sie mit einer Schablone für diese Mitteilung verglichen. Wie später beschrieben wird, wird, wenn die Mitteilung nicht mit der Schablone übereinstimmt, eine Fehlermittei­ lung an den Absender der Mitteilung zurückgeschickt.
5. Privat-Schlüssel-Datenstruktur 160
Die Privat-Schlüssel-Datenstruktur 160 unterhält eine Liste mit öffentlichen/privaten RSA-Schlüsselpaaren des Server­ computers 100, die in einer unterstützten Version der Kun­ den-Anwendungssoftware 210 oder der Händler-Anwendungssoft­ ware 310 verwendet werden. Wie später beschrieben wird, enthält eine verschlüsselte Mitteilung, die an den Server­ computer 100 gesendet wird, einen Zeiger, der den Server­ computer 100 darüber informiert, welcher öffentliche RSA- Schlüssel des Servercomputers 100 von der Kunden-Anwen­ dungssoftware 210 oder der Händler-Anwendungssoftware 310 zur Verschlüsselung der Mitteilung verwendet wird. Auf diese Art kann der Servercomputer 100 den entsprechenden privaten RSA-Schlüssel zur Entschlüsselung der verschlüs­ selten Mitteilung finden.
6. Anwendungs-Datenstruktur 170
Die Anwendungs-Datenstruktur 170 spürt die existierende Version (Versionen) der Kunden-Anwendungssoftware 210 und der Händler-Anwendungssoftware 310 auf. Die Anwendungs-Da­ tenstruktur 170 wird auch benutzt, um zu bestimmen, ob ein Update der Kunden-Anwendungssoftware 210 oder der Händler- Anwendungssoftware 310 verfügbar oder nötig ist. Zum Bei­ spiel kann der Servercomputer 100 einen Kundencomputer 200 anweisen, daß die Kunden-Anwendungssoftware 210 keine ge­ genwärtig benutzbare Software ist, oder daß die Software nicht länger benutzbar ist und ersetzt werden muß.
B. Kundendatenbank 202
Fig. 5A zeigt allgemein die Struktur einer Kundendatenbank 202. Die Kundendatenbank 202 enthält die Kunden-Anwendungs- Datenstruktur 215, die Kunden-Personen-Datenstruktur 220, die Kunden-Instrumenten-Bindungs-Datenstruktur 230, die Kunden-Gesprächs-Datenstruktur 240, die anhängige Kunden- Transaktions-Datenstruktur 250, die Kunden-Log-Datenstruk­ tur 260, die Mitteilungs-Schablonen-Datenstruktur 270 und die Kunden-Geld-Container-Datenstruktur 280. Jede dieser Datenstrukturen wird nun detailliert beschrieben.
1. Kundenanwendungs-Datenstruktur 215
Die Kunden-Anwendungs-Datenstruktur 215 speichert Daten be­ züglich des Servercomputers 100. In Fig. 5B enthält die Kunden-Anwendungs-Datenstruktur 215 einen Datensatz 215.1, der dort detailliert gezeigt ist.
Das Feld 215A enthält einen öffentlichen RSA-Schlüssel für den Servercomputer 100. Der öffentliche RSA-Schlüssel im Feld 215A wird vom Kundencomputer 200 zur Verschlüsselung von Daten in Mitteilungen verwendet, die vom Kundencomputer 200 an den Servercomputer 100 versendet werden.
Das Feld 215B speichert einen gleichbleibenden Resource Lo­ cator ("url") für den Servercomputer 100. Der URL im Feld 215B ist die Adresse des Servercomputers 100 im World Wide Web des Internets 50.
Während der vorangehenden Beschreibung der Kunden-Anwen­ dungs-Datenstruktur 215 und der Datensatz 215I vorher unter bezug auf die Daten bezüglich des Kundenbenutzers 203 er­ wähnt wurden, ist anzumerken, daß ein Händlerbenutzer 303 entsprechende in einer Händler-Anwendungs-Datenstruktur 315 gespeicherte Daten hat, die in Fig. 6B gezeigt sind. Der Händler-Datensatz 315.1 ist in Fig. 6B gezeigt, wobei die Felder 315A-315B den Feldern 215A-215B entsprechen.
2. Kunden-Personen-Datenstruktur 220
Die Kunden-Personen-Datenstruktur 220 speichert Daten be­ züglich des Kundenbenutzers 203. In Fig. 5C enthält die Kunden-Personen-Datenstruktur 220 den Datensatz 220.1, der hier detailliert gezeigt wird.
Die Felder 220A-220C entsprechen und enthalten die gleiche Information wie die Felder 120A-120C (Fig. 4B).
Das Feld 220D speichert einen Selbstschließungs-Paß-Satz für den Kundenbenutzer 203. Der Selbstschließungs-Paß-Satz ist ein Paß-Satz, der es dem Kundenbenutzer 203 erlaubt, eine Kunden-Person 120.1 unter bestimmten Umständen zu schließen, wie es später beschrieben wird.
Das Feld 220E enthält eine bevorzugte Sprache für die Kom­ munikation mit dem Kundenbenutzer 203.
Ein vorgegebener Name und eine Adresse des Kundenbenutzers 203 sind im Feld 220F gespeichert. Der vorgegebene Name und die Adresse im Feld 220F sind der Name und die Adresse ei­ nes Individuums, dessen Kunden-Person 120I durch die Perso­ nen-ID aus Feld 220A angegeben ist. Der vorgegebene Name und die Adresse im Feld 220F erleichtern das Zuführen sol­ cher Informationen, wenn dies angefordert wird.
Das Feld 220G enthält bevorzugte Einstellungen der Kunden- Anwendungs-Software 210, wie z. B. die Kommunikationsrefe­ renzen (z. B. den Auszeitbereich in Sekunden), die Warnprä­ ferenzen (z. B. das Anzeigen einer Warnung vor dem Absenden von Transaktion im Off-Line-Zustand und/oder beim Einlog­ gen) und Sicherheitspräferenzen (z. B. die Abfrage eines Paßwortes vor dem Zahlvorgang)
Das Feld 220H speichert den privaten RSA-Schlüssel der Kun­ den-Person 120.1. Der private RSA-Schlüssel im Feld 220H ist das Komplement zum öffentlichen RSA-Schlüssel im Feld 120C, der in der Server-Datenbank 102 gespeichert ist.
Die Geld-Container-Daten 220I sind durch die Felder 280A-280C, die in Fig. 5U gezeigt sind, dargestellt.
Die Instrument-Bindung 220J ist durch die Felder 230A-230S, die in Fig. 5D gezeigt sind, dargestellt.
Das Feld 220K enthält die Selbstschließungs-Kontonummer, die mit dem Selbstschließungs-Paß-Satz verbunden ist, der im Feld 220D gespeichert ist.
Das Feld 220L speichert einen oder mehrere Integer, die ge­ setzliche Übereinkommen repräsentieren. Bei der bevorzugten Ausführungsform bestimmt der Betreiber des Servercomputers 100, welche gesetzlichen Übereinkommen der Kundenbenutzer 203 zustimmen muß, damit der Kundenbenutzer 203 eine Person einrichten kann.
Die aktiven Gesprächs-Daten 220M sind in den Feldern 240A-240K repräsentiert.
Die anhängigen Log-Daten 220N sind durch den Datensatz 251-256 der anhängigen Log-Datenstruktur 250 dargestellt.
Die Transaktions-Log-Daten 220U sind durch den Datensatz 261-267 der Transaktion-Log-Datenstruktur 260 dargestellt.
Während sich die vorangehende Beschreibung der Kunden-Per­ sonen-Datenstruktur 220 und des Datensatzes 220.1 unter be­ zug auf Daten bezüglich eines Kundenbenutzers 203 ausge­ führt wurden, ist anzumerken, daß der Händlerbenutzer 303 entsprechende in der Händler-Personen-Datenstruktur 320 ge­ speicherte Daten hat, die in Fig. 6C gezeigt sind. Der Händler-Datensatz 320.1 ist in Fig. 6C gezeigt, wobei die Felder 320A-320Q den Feldern 220A-220Q entsprechen.
3. Kunden-Instrument-Bindungs-Datenstruktur 230
Die Kunden-Instrument-Bindungs-Datenstruktur 230 enthält Informationen eines Kundencomputer 200 bezüglich der gebun­ denen Instrumente. In Fig. 5D enthält die Kunden-Instru­ ment-Bindungs-Datenstruktur 230 einen oder mehrere Daten­ sätze 230.1. Die Kunden-Datenbank 202 enthält einen Daten­ satz 230.1 für jedes Instrument, das mit der Kunden-Person 220.1 verbunden ist. Ein detaillierter Datensatz 230.1 der Kunden-Instrument-Bindungs-Datenstruktur 230 ist in Fig. 5D gezeigt.
Das Feld 230A speichert die Instrument-Nummer.
Das Feld 230B enthält eine Beschreibung des gebundenen In­ struments.
Die Felder 230C-230J zeigen jeweils den Namen, die Adresse, die Stadt, das Land, die Postleitzahl, den Länder-Code, den Gebiets-Code und die Telefonnummer des Inhabers des gebun­ denen Instrumentes an.
Das Feld 230K speichert eine dem gebundenen Instrument zu­ geordnete vorgegebene Währung.
Die Felder 230L-230O sind Flags, die anzeigen, ob das ge­ bundene Instrument für Kauf-Transaktionen, Kredit-Rückführ- Transaktionen und Entlade- und Ladevorgänge freigegeben ist. Die Felder 230L-230O entsprechen den Feldern 120H.16, 120H.18, 120H.22 bzw. 120H.20 (Fig. 4D).
Das Feld 230P enthält einen Status des gebundenen Instru­ ments. Der Bindungs-Status des Felds 230P entspricht dem Bindungs-Status des Felds 120H.15 aus Fig. 4D.
Das Feld 230Q speichert ein "Salt" für das gebundene In­ strument. Das "Salt" des Felds 230Q stellt eine Zufallszahl dar, die von der Kunden-Anwendungssoftware 210 erzeugt wurde. Wie vorangehend beschrieben wurde, wird diese vom Server zur Verbesserung des Ergebnisses des Instrumenten- Hashwertes verwendet, der im Feld 120H.9 gespeichert ist.
Das Feld 230R speichert bestimmte Informationen, die einem gebundenen Instrument zugeordnet ist, und wird als "Instru­ ment-Rückgriff-Daten" bezeichnet. Die Rückgriffdaten sind eine Datenfolge, die von der Kunden-Anwendungssoftware 210 zur Wiederherstellung eines Satzes von Label-Werte-Paaren, die von dem Servercomputer 100 zum Zeitpunkt der Instrumen­ tenanbindung identifiziert werden. Die Felder werden durch den Kundencomputer 200 an den Servercomputer 100 während solcher Vorgänge zurückübertragen, die die Verwendung des mit den Rückgriff-Daten zusammenhängenden Instruments benö­ tigen. Auf diese Art kann der Servercomputer 100 Informa­ tionen bezüglich des Instruments empfangen, wenn dies nötig ist, ohne daß diese Information in seinen Datenstrukturen gespeichert ist. Die jeweiligen Label-Wertepaare, die in den Rückgriff-Daten enthalten sind, hängen vom Typ des ge­ bundenen Instruments und den Anforderungen des Herausgebers des Instrumentes ab. Eine Kreditkarte kann z. B. anfordern, daß die Karten-Nummer, der Karten-Ablauftag und der Name und die Adresse des Karten-Halters an den Server jedesmal zurückübertragen werden, wenn die Karte zum Laden von Zah­ lungsmitteln in die Person 120.1 verwendet wird. Die Rück­ griff-Daten können Daten enthalten, die es der Kunden-An­ wendungssoftware 210 erlauben, diese Information in einem geeigneten Label-Werte-Paarformat zurückzuübertragen.
Das Feld 230S entspricht dem Feld 120H.7 und speichert die gleiche Information bezüglich der gesetzlichen Übereinkom­ men (Fig. 4D).
Während der vorangehenden Beschreibung der Kunden-Instru­ ment-Bindungs-Datenstruktur 230 und des Datensatzes 230.1 unter bezug auf Daten bezüglich eines Kundenbenutzers aus­ geführt wurde, sei angemerkt, daß ein Händlerbenutzer 303 entsprechende in der Händler-Personen-Datenstruktur 330 ge­ speicherte Daten hat, die in Fig. 6D gezeigt sind. Ein Händler-Datensatz 330.1 ist in Fig. 6D gezeigt, wobei die Felder 330A-330S den Feldern 230A-230S entsprechen.
4. Kunden-Gesprächs-Datenstruktur 240
Die Kunden-Gesprächs-Datenstruktur 240 enthält Informatio­ nen im Kundencomputer 200 bezüglich eines Gesprächs. In Fig. 5I enthält die Kunden-Gesprächs-Datenstruktur 240 einen oder mehrere Datensätze 240.1. Die Kunden-Gesprächs- Datenstruktur 240 enthält einen Datensatz 240.1 für jedes aktive Gespräch des Kundenbenutzers 203. Ein detaillierter Datensatz 240.1 der Kunden-Gesprächs-Datenstruktur 240 ist in Fig. 5E gezeigt.
Die Felder 240A-240F entsprechen den Feldern 130A-130F (Fig. 4H) und enthalten dieselbe Information bezüglich ei­ nes Gesprächs. Das Feld 240G enthält den letzten Index, der vom Kundencomputer 200 während des Gesprächs verwendet wird. Das Feld 240H enthält die gleiche Information wie das Feld 130M. Die Felder 240J-240K enthalten jeweils die glei­ chen Daten wie die Felder 130I-130J.
Während die vorangehende Beschreibung sich auf die Kunden- Gesprächs-Datenstruktur 240 und den Datensatz 240.1 unter bezug auf Daten bezüglich eines Kundenbenutzers 203 bezo­ gen, ist anzumerken, daß ein Händlerbenutzer 303 entspre­ chende in einer Händler-Personen-Datenstruktur 340 gespei­ cherte Daten hat, die in Fig. 6E gezeigt ist. Ein 99999 00070 552 001000280000000200012000285919988800040 0002019652294 00004 99880Händler- Datensatz 340.1 ist in Fig. 6E gezeigt, wobei die Felder 340A-340K den Feldern 240A-240K (Fig. 5D) entsprechen.
5. anhängige Kunden-Transaktions-Datenstruktur 250
Die anhängige Kunden-Transaktions-Datenstruktur 250 spei­ chert (1) Daten, die zur Erzeugung von vom Kundencomputer 200 abgesandten Mitteilungen nötig sind, und (2) eine Kopie jeder vom Kundencomputer 200 abgesandten Mitteilung. In be­ zug auf Fig. 5F enthält die anhängige Kunden-Transaktions- Datenstruktur 250 die folgenden Datensätze: anhängige Per­ sonen-Registration-Update-Information 251, anhängige Ver­ bindungs-/Update-Instrument-Bindung 252, anhängige Geld-Zahlung 253, anhängige Lade-/Entlade-Zahlungsmittel 254, anhängigen Gesprächs-Öffnungs-Datensatz 255 und anhängigen Gesprächs-Schließungs-Datensatz 256. Je­ der Datensatz 251-256 wird nun detailliert unter Bezug auf die Fig. 5G-5L beschrieben. Vorzugsweise wird ein anhängi­ ger Datensatz 251-256 nach Empfang einer Antwort-Mitteilung durch den Kundencomputer 200 gelöscht, es sei denn, der Kundencomputer 200 wird anders angewiesen.
a) Anhängiger Personen-Registrations-Update-/Personen-Informations-Datensatz 251
Der anhängige Personen-Registrations-Update/Personen-In­ formations-Datensatz 251 speichert Daten bezüglich der Ver­ fahren, mittels derer der Kundenbenutzer 203 eine Kunden- Person 120.1 erzeugt. In Fig. 5G ist den Datensatz 251 de­ tailliert gezeigt.
Das Feld 251A zeigt einen Code an, der einen Typ der durch­ zuführenden Handlung (Transaktion) darstellt. Zum Beispiel kann das Feld 251A "Einrichten" enthalten, was anzeigen würde, daß der Benutzer 203 eine Person 120.1 einrichtet. Wenn eine Person 120.1 bereits existiert und die Handlung, die durchzuführen ist, eine Änderung bezüglich der Person ist, so wird das Feld 120A "Modifikation" enthalten.
Das Feld 251B speichert eine Transaktion-Nummer, das heißt eine einzelne Nummer, die die jeweilige Handlung anzeigt. Die Transaktion-Nummer des Feldes 251B wird von der Klien­ ten-Anwendungssoftware 210 erzeugt. Die Transaktion-Nummer im Feld 250B ermöglicht es dem Servercomputer 100, eine entsprechende Antwort-Mitteilung zu senden. Da die Transak­ tion-Nummern einmalig sind, erlaubt es die Transaktions- Nummer im Feld 251B dem Servercomputer 100, zu bestimmen, ob die Mitteilung R1 eine duplizierte Mitteilung ist.
Das Feld 251C repräsentiert das Datum und die Uhrzeit, zu der die Mitteilung R1 zusammengestellt und an den Server­ computer 100 abgesendet wurde.
Das Feld 251D sichert die Version der Anwendungssoftware 210, die zum Zusammenstellen der Mitteilung R1 verwendet wurde. Wie weiter unten beschrieben wird, wird die Soft­ ware-Versions-Nummer im Feld 251D dazu benutzt, zu bestim­ men, ob die Kunden-Anwendungssoftware 210 veraltert ist.
Das Feld 251E enthält eine bevorzugte Sprache für den Kun­ denbenutzer 203 entsprechend dem Feld 220E (Fig. 5B).
Das Feld 251F enthält eine vom Kundenbenutzer 203 bevor­ zugte Währung entsprechend dem Feld 240D (Fig. 5D).
Das Feld 251G speichert eine Personen-ID, die von dem Kun­ denbenutzer 203 angefordert wird. Es sei angemerkt, daß die angeforderte Personen-ID im Feld 251G nicht die gleiche sein muß wie die Personen-ID im Feld 120A, die letztendlich dem Kundenbenutzer 203 zugewiesen wird. Zum Beispiel kann der Servercomputer 100 die angefragte Personen-ID im Feld 251 zurückweisen, wenn sie bereits durch einen anderen Kun­ denbenutzer 203 verwendet wird.
Das Feld 251H enthält eine E-Mail-Adresse des Kundenbenut­ zers 203 entsprechend dem Feld 220B (Fig. 5B).
Das Feld 2511 enthält einen Selbstschließungs-Paß-Satz ent­ sprechend dem Feld 120F (Fig. 4A).
Das Feld 251I speichert eine ursprüngliche Transaktions- Kette, die eine Kopie einer ursprünglichen vom Kundencompu­ ter 200 an den Servercomputer 100 gesendeten Mitteilung R1 ist.
b) Anhängige Verbindungs-Update-Instrumenten-Datensatz 252
Der anhängige Verbindungs-Update-Datensatz 252 speichert Daten bezüglich der Verfahren, mittels derer der Kundenbe­ nutzer 203 ein Instrument an die Kunden-Person 120.1 anbin­ det, oder ein Update eines existierenden gebundenen Instru­ ments durchführt. In Fig. 5H ist ein Datensatz 252 detail­ liert gezeigt.
Das Feld 252A zeigt einen Code an, der einen Transaktions- Typ bzw. einen Typ der Handlung repräsentiert, die durch­ zuführen ist. Zum Beispiel kann das Feld 252A "Binde" ent­ halten, was anzeigen würde, daß der Benutzer 203 ein In­ strument an eine Kunden-Person 120.1 bindet. Wenn die durchzuführende Handlung eine Änderung bezüglich eines be­ reits mit der Person gebundenen Instruments darstellt, kann das Feld 252A "Update" enthalten.
Die Felder 252B-252D entsprechen den Feldern 251B-251D aus Fig. 5G und speichern die gleiche Information. Diese Felder beziehen sich auf die Transaktion-Nummer, das Transaktions- Datum und die Uhrzeit bzw. die Software-Version.
Das Feld 252E enthält eine Personen-ID des Kundenbenutzers 203 entsprechend dem Feld 220A (Fig. 5B).
Das Feld 252F speichert die Nummer des mit der Person 120.1 gebundenen Instruments.
Das Feld 252G speichert eine vom Kunden zusätzlich benö­ tigte Kunden-Identifikations-Information zur Verwendung beim Instrument-Binden, z. B. eine American-Express-Karten­ kunden-Identifikationsnummer.
Das Feld 252H speichert den Namen der Person, der das anzu­ bindende Instrument zugeordnet ist.
Das Feld 252I speichert den Ablauftag des anzubindenden In­ struments.
Die Felder 252J-252Q speichern jeweils die Straße, die Stadt, den Staat, die Postleitzahl, das Land, den Länder­ code, den Gebiets-Code und die Telefonnummer der Person, der das anzubindende Instrument zugeordnet ist.
Das Feld 252R enthält die vom Kundenbenutzer 203 ausge­ wählte Beschreibung des anzubindenden Instruments.
Das Instrument-Rückgriff-Datenfeld 252S speichert die im Feld 230R gespeicherte Informationen als auf die gebundenen Instrumente bezogen.
Das Feld 252T speichert die Art des Instrumentes, das ange­ bunden wird, z. B. VISA, American Express, usw.
Das Feld 252U enthält eine Zufallszahl - "Salt" - die vom Kundencomputer 200 erzeugt wird. Das "Salt" im Feld 252U wird zur Verstärkung der Instrument-Hashzahl verwendet, die im Server 100 erhalten wird.
Das Feld 252V speichert einen Flag, der im Fall, daß er ge­ setzt ist, anzeigt, daß das Instrument ein Selbst­ schließungs-Kontoinstrument ist.
Das Feld 252W speichert eine ursprüngliche Transaktions- Kette, die eine Kopie der ursprünglichen vom Kundencompu­ ter 200 und den Servercomputer 100 gesendeten Mitteilung B1 ist.
c) Anhängiger Geld-Zahlungs-Datensatz 253
Der anhängige Geld-Zahlungs-Datensatz 253 speichert Daten bezüglich Transaktionen, die Geldzahlungen enthalten. In Fig. 5I ist ein Datensatz 253 detailliert gezeigt.
Das Feld 253A zeigt einen Code an, der einen Transaktions- Typ bzw. einen Typ der Handlung darstellt, die durchgeführt werden soll. Zum Beispiel, wenn das Gespräch offen ist, kann das Feld 254A "Geld-Zahlung" anzeigen, wodurch ange­ zeigt wird, daß der Kundenbenutzer 203 eine Mitteilung CA1 (später beschrieben) absendet.
Die Felder 253B-253D entsprechen den Feldern 251B-251D (Fig. 5F) und speichern die gleiche Information. Diese Fel­ der beziehen sich auf die Transaktion-Nummer, das Transak­ tions-Datum und die Uhrzeit bzw. auf die Software-Version.
Das Feld 253E enthält die Personen-ID des Kundenbenutzers 203 entsprechend dem Feld 220A (Fig. 5B).
Das Feld 253F speichert eine Auftrags-Identifikations-Num­ mer ("Order-ID"). Die Order-ID des Felds 254F wird durch den Händlercomputer 300 zur Identifizierung eines bestimm­ ten Auftrags erzeugt.
Das Feld 253G enthält die Personen-ID 120AA des Händlerbe­ nutzers 303.
Das Feld 253H speichert einen elektronischen Geldbetrag, den ein Kundenbenutzer 203 für ein Produkt bezahlt, das Ge­ genstand der vorliegenden Transaktion ist.
Das Feld 2531I schafft Platz für eine wahlfreie, vom Kunden­ benutzer 203 erzeugte Notiz (Memo), die die jeweilige Transaktion beschreibt.
Das Feld 253J enthält das URL eines Händlercomputers 300, an den der Kunde die Geldzahlung zu richten wünscht. Die Kunden-Anwendungssoftware 210 verwendet das URL-Feld 253J für die direkte Geldzahlungsanforderung in Form einer Mit­ teilung CA1 an den Händlercomputer 300 zur Information des Servercomputers 100.
Das Feld 253K speichert die Session-ID des Gesprächs, wäh­ renddessen die vorliegende Transaktion eingeleitet wurde.
Das Feld 253L speichert den mit der vorliegenden Transak­ tion gebundenen Index.
Das Feld 253M speichert eine ursprüngliche Transaktions- Kette, die eine Kopie der vom Kundencomputer 200 über den Händlercomputer 300 zum Servercomputer 100 gesendeten Mit­ teilung CA1 ist.
d) Anhängiger Lade-/Entlade-Zahlungsmittel-Datensatz 254
Der anhängige Lade-/Entlade-Zahlungsmittel-Datensatz 254 speichert Daten bezüglich den Transaktionen, die ein Laden und Entladen von elektronischem Geld einschließen. In Fig. 5J ist ein Datensatz 254 detailliert gezeigt.
Das Feld 254A zeigt einen Code an, der einen Transaktions- Typ bzw. einen Handlungstyp repräsentiert, der durchgeführt wird. Das Feld 254A kann z. B. "Laden" enthalten, was anzei­ gen würde, daß der Kundenbenutzer 203 Zahlungsmittel in das Geld-Container-Feld 280B des Datensatzes 280.1 von dem im Feld 254F identifizierten Instrument "überträgt". Alterna­ tiv dazu kann das Feld 254A "Entlade" enthalten, was anzei­ gen würde, daß der Kundenbenutzer 203 elektronische Zah­ lungsmittel (Geld) vom Geld-Container-Feld 280B in das im Feld 254F identifizierte Instrument "überträgt".
Die Felder 254B-254D entsprechen den Feldern 251B-251D (Fig. 5F) und speichern die gleiche Information. Diese Fel­ der beziehen sich auf die Transaktion-Nummer, das Transak­ tion-Datum und die Uhrzeit bzw. die Software-Version.
Das Feld 254E enthält die Personen-ID des Kundenbenutzers 203 entsprechend dem Feld 220A (Fig. 5C).
Das Feld 254F speichert eine Kontonummer, die ein gebun­ denes Instrument, von dem bzw. auf das Zahlungsmittel gela­ den werden, identifiziert.
Das Feld 254G speichert den Zahlungsmittel-Betrag, der von bzw. auf ein gebundenes Instrument geladen wird.
Das Feld 254H speichert den Konto-Typ, von dem bzw. auf den Zahlungsmittel geladen werden.
Das Feld 254I speichert eine ursprüngliche Transaktions- Kette, die eine Kopie der vom Kundencomputer 200 an den Servercomputer 100 gesendeten Mitteilung LU1 ist.
e) Anhängiger Gesprächs-Öffnungs-Datensatz 255
Der anhängige Gesprächs-Öffnungs-Datensatz 255 speichert Daten bezüglich der Verfahren, durch die der Kundenbenutzer 203 ein Gespräch einrichtet. In Fig. 5K ist ein Datensatz 255 detailliert gezeigt.
Das Feld 255A zeigt einen Code an, der einen Transaktions- Typ bzw. einen Handlungstyp darstellt, welcher durchgeführt wird. Zum Beispiel kann das Feld 255A "Gespräch öffnen" enthalten, was anzeigen würde, daß der Kundenbenutzer 203 ein Gespräch einrichtet.
Die Felder 255B-255D entsprechen den Feldern 251B-251D (Fig. 5F) und speichern die gleiche Information. Diese Fel­ der beziehen sich auf die Transaktion-Nummer, das Transak­ tion-Datum und die Uhrzeit bzw. die Software-Version.
Das Feld 255E enthält die Personen-ID des Kundenbenutzers 203 entsprechend dem Feld 220A (Fig. 5C).
Das Feld 255F speichert den elektronische Geldbetrag, der während eines Gesprächs zur Verfügung steht.
Das Feld 255G speichert einen Wert entsprechend der maxima­ len Transaktionsanzahl, die der Kundenbenutzer 203 während eines Gesprächs anfordern kann.
Das Feld 255H speichert einen Wert, der die maximal zur Verfügung stehende Zeitdauer anzeigt, während derer das Ge­ spräch offen bleibt.
Das Feld 255I speichert den Text einer wahlfreien durch den Kundenbenutzer 203 eingegebenen Beschreibung eines Gesprä­ ches.
Das Feld 255J speichert die dem im Feld 255F gespeicherten Betragswert zugeordnete Währung.
Das Feld 255K speichert eine ursprüngliche Transaktions- Kette, die eine Kopie der vom Kundencomputer 200 zum Ser­ vercomputer 100 gesendeten Mitteilung OS1 ist.
f) Anhängiger Gesprächs-Schließungs-Datensatz 256
Der anhängige Gesprächs-Schließung-Datensatz 256 speichert Daten bezüglich den Verfahren, durch die der Kundenbenutzer 203 ein Gespräch schließt. In Fig. 5L ist ein Datensatz 256 detailliert gezeigt.
Das Feld 256A zeigt eine Code an, der einen Transaktion-Typ bzw. einen Handlungstyp darstellt, der durchgeführt wird. Zum Beispiel kann das Feld 256A "Gespräch schließen" ent­ halten, was anzeigen würde, daß der Kundenbenutzer 203 ein Gespräch schließt.
Die Felder 256B-256D entsprechen den Felder 251B-251D (Fig. 5F) und speichern die gleiche Information. Diese Felder be­ ziehen sich auf die Transaktion-Nummer, das Transaktions-Datum und die Uhrzeit bzw. auf die Software-Version.
Das Feld 256E enthält die Personen-ID des Kundenbenutzers 203 entsprechend dem Feld 220A (Fig. 5C).
Das Feld 256F enthält entweder "Ja" oder "Nein". Der Wert des Feldes 257 bestimmt, ob der Kundenbenutzer 203 die Op­ tion gewählt hat, einen Log der vom Kundenbenutzer 203 wäh­ rend des zu schließenden Gespräches eingeleiteten Transak­ tion zu empfangen.
Das Feld 256G speichert die Session-ID des offenen, zu schleißenden Gesprächs. Alternativ dazu wird, wenn alle of­ fenen Gespräche geschlossen werden sollen, das Feld 256G gleich Null.
Das Feld 256H speichert den Text einer wahlfreien mit dem zu schließenden Gespräch verbunden Mitteilung, die vom Kun­ denbenutzer 203 angegeben wird.
Das Feld 256I speichert eine ursprüngliche Transaktions- Kette, die eine Kopie der vom Kundencomputer 200 an den Servercomputer 100 gesendeten Mitteilung CS1 ist.
6. Kunden-Log-Datenstruktur 260
In Fig. 5A hält die Kunden-Log-Datenstruktur 260 eine Kopie jeder Mitteilung, die vom Kundencomputer 200 empfangen wurde. Die Kunden-Log-Datenstruktur 260 speichert Daten, die der Kundencomputer 200 vom Servercomputer 100 empfängt. In Fig. 5M enthält die Kunden-Log-Datenstruktur 260 die folgenden Datensätze: Personen-Registration/Update-Informa­ tions-Antwort 261, Verbinde/Update-Instrumenten-Bindungs- Antwort 262, Geld-Zahlungs-Antwort 263, Laden-/Entladen- Zahlungsmittel-Antwort 264, Gesprächs-Öffnungs-Antwort 265, Zahlungs-Anforderung 266 und Gesprächs-Schließungs-Antwort 267. Jeder Datensatz 261-267 wird nun detailliert unter Be­ zug auf die Fig. 5N-5U beschrieben.
a) Personen-Registration/Update-Antwort Personen-Informations-Datensatz 261
Der Personen-Registration/Update-Informations-Datensatz 261 speichert Daten bezüglich der Antwort des Servercomputers 100 auf eine Anfrage zum Einrichten einer Kunden-Person 120.1 durch den Kundenbenutzer 203. In Fig. 5N ist ein Da­ tensatz 261 detailliert gezeigt.
Das Feld 261A zeigt einen Transaktion-Typ bzw. einen Hand­ lungstyp an, der angefordert wurde, und entspricht dem Wert des Feldes 251A des Datensatzes 251. Das Feld 261B spei­ chert eine Transaktion-Nummer, die gleich dem im Feld 251B gespeicherten Wert ist.
Das Feld 261C stellt das Datum und die Uhrzeit dar, zu der die Mitteilung R1 zusammengesetzt und an den Servercomputer 100 gesendet wurde.
Wie später beschrieben wird, übermitteln die Mitteilungen vom Kundencomputer 200 an den Servercomputer 100 einen Code, die die Versions-Nummer der zur Erzeugung der Mittei­ lung verwendeten Kunden-Anwendungssoftware 210 enthält. Im Servercomputer 100 ist jede Software-Version mit einem von drei "Status-Labeln", nämlich "Aktuell", "Warnung" oder "Fehler", verbunden. Der Servercomputer 100 überprüft die mit der Kunde-Mitteilung übermittelte Software-Version und fügt in eine Antwort-Mitteilung einen der drei möglichen Status-Label ein. Der in der Mitteilung R2 zurück übermit­ telte Status-Label wird im Software-Severity-Feld 261D ge­ speichert. Eine sich auf den Inhalt des Software-Severity- Feldes 261D beziehende Textmitteilung kann ebenfalls durch den Servercomputer 100 zurückgesendet werden und, wenn dies geschieht, wird sie im Feld 261E gespeichert.
Ein den Erfolg oder das Scheitern der Mitteilung R1 dar­ stellender Code wird vom Servercomputer 100 zurück übermit­ telt und im Antwortcodefeld 261F gespeichert. Eine Textmit­ teilung bezüglich des Inhalts des Antwort-Code-Feldes 261F wird, wenn sie vom Servercomputer 100 gesendet wird, im Feld 261G gespeichert.
Das Feld 261H speichert eine Personen-ID, die vom Kundenbe­ nutzer 203 abgefragt wird. Wie anschließend beschrieben wird, wird, wenn die angefragte Personen-ID zur Zeit be­ reits verwendet wird, der Servercomputer 100 dem Kundenbe­ nutzer 203 eine Personen-ID vorschlagen. Die vom Servercom­ puter 100 vorgeschlagene Personen-ID wird im Feld 261I ge­ speichert.
Das Feld 261J enthält eine E-Mail-Adresse des Kundenbenut­ zers 203 entsprechend dem Feld 220B (Fig. 5C).
Das Feld 261K enthält die vom Kundenbenutzer 203 bevorzugte Sprache entsprechend dem Feld 220E (Fig. 5D).
Das Feld 261L enthält eine vom Kundenbenutzer 203 bevor­ zugte Währung entsprechend dem Feld 240D (Fig. 5E).
b) Verbinde/-Update-Antwort-Instrument-Datensatz 262
Der Bindungs/Update-Instrument-Datensatz 262 speichert Da­ ten bezüglich der Antwort des Servercomputers 100 auf die Anfrage durch den Kundenbenutzer 203, um ein Instrument an die Kunden-Person 120.1 zu binden. In Fig. 50 ist ein Da­ tensatz 262 detailliert gezeigt.
Das Feld 262A zeigt einen Transaktion-Typ bzw. einen Hand­ lungstyp, der angefordert wurde, und entspricht dem Wert des Felds 252A des Datensatzes 252.
Die Felder 262B-262G entsprechen den Feldern 261B-261G aus Fig. 5N und speichern dieselbe Information. Diese Felder beziehen sich auf das Transaktion-Datum und die Uhrzeit, den Software-Severity-Code, die Software-Mitteilung, den Antwort-Code bzw. die Antwort-Mitteilung.
Das Feld 262H enthält die Personen-ID des Kundenbenutzers 203 entsprechend dem Feld 220A (Fig. 5C).
Das Feld 262I speichert die Nummer des mit der Kunden-Per­ son 120.1 zu verbindenden Instruments. Das Feld 262J spei­ chert den an die Kunden-Person 120.1 zu bindenden Instru­ ment-Typ, z. B. VISA, American Express, usw.
Das Feld 262K speichert den Namen der Person, auf die das zu bindende Instrument ausgestellt wurde.
Das Feld 262L speichert den Ablauftag des zu bindenden In­ struments.
Die Felder 262M-262U speichern jeweils die Straße, die Stadt, den Staat, die Postleitzahl, das Land, den Länder- Code, den Gebiets-Code und die Telefonnummer der Person, auf die das zu bindende Instrument ausgestellt ist.
Das Feld 262V speichert den Text einer Beschreibung des zu bindenden Instruments, wie sie vom Kundenbenutzer 203 ein­ gegeben wird.
Das Feld 262W speichert die Heimatwährung, wenn eine solche dem zu bindenden Instrument zugeordnet ist, die ihrerseits vom Servercomputer 100 zurückgesendet wird.
Das Feld 262X speichert den Namen des Ausstellers des In­ strumentes, der durch den Servercomputer 100 zurückgesendet wird.
Das Feld 262Y speichert das Land, in dem das Instrument ausgestellt wurde.
Das Feld 262Z speichert einen Flag, der, wenn er gesetzt ist, anzeigt, daß das Instrument ein Selbstschließungs-Kon­ teninstrument ist.
c) Geld-Zahlungs-Antwort-Datensatz 263
Der Geld-Zahlungs-Antwort-Datensatz 263 speichert Daten be­ züglich Transaktionen, die Geld-Zahlungen einschließen, und Gespräche. In Fig. 5P ist ein Datensatz 263 detailliert ge­ zeigt.
Das Feld 263A zeigt einen Transaktion-Typ bzw. einen Hand­ lungstyp an, der angefordert wurde, und entspricht dem Wert des Feldes 253A des Datensatzes 253.
Die Felder 263B-263E entsprechen den Feldern 251B-261C und 261F-261G der Fig. 5N und speichern die gleiche Informa­ tion. Diese Felder beziehen sich auf die Transaktion-Num­ mer, das Datum und die Uhrzeit, den Antwort-Code bzw. die Antwort-Mitteilung.
Das Feld 263F enthält die Personen-ID des Kundenbenutzers 203 entsprechend dem Feld 220A (Fig. 5C).
Das Feld 263G speichert eine Auftrags-Identifikations-Nummer ("Order-ID"). Die Order-ID des Feldes 263I wird durch den Händlercomputer 300 zur Identifizierung eines bestimmten Auftrags erzeugt.
Das Feld 263H enthält die Personen-ID 120AA eines Händler­ benutzers 303.
Das Feld 2631 schafft Raum zum Speichern einer Mitteilung vom Händlerbenutzer 303.
Das Feld 263J speichert einen elektronischen Geldbetrag, den der Kundenbenutzer 203 für ein Produkt bezahlt, das Ge­ genstand der vorliegenden Transaktion ist.
Das Feld 263K schafft Raum, um wahlfrei eine vom Kundenbe­ nutzer 203 erzeugte Notiz (Memo) zu speichern.
Das Feld 263L speichert die Session-ID des Gesprächs, wäh­ renddessen die gegenwärtige Transaktion initiiert wurde.
Das Feld 263M speichert den mit der gegenwärtigen Transak­ tion verbundenen Index.
d) Lade- /Entlade-Zahlungsmittel-Antwort-Datensatz 264
Der Lade-/Entlade-Zahlungsmittel-Antwort-Datensatz 264 speichert Daten bezüglich der Antwort des Servercomputers 100 auf eine Anfrage zum Laden oder Entladen von Zahlungs­ mitteln durch den Kundenbenutzer 203. In Fig. 5Q ist ein Datensatz 264 detailliert gezeigt.
Das Feld 264A zeigt einen Transaktions-Typ bzw. einen Hand­ lungstyp an, der angefordert wurde, und hat denselben Wert wie das Feld 254A der Aufzeichnung 254.
Die Felder 264B-264G entsprechen den Feldern 261B-261G der Fig. 5N und speichern die gleiche Information. Diese Felder beziehen sich auf das Transaktions-Datum und die Uhrzeit, den Software-Severity-Code, die Software-Mitteilung, den Antwort-Code bzw. die Antwort-Mitteilung.
Das Feld 264H enthält die Personen-ID des Kundenbenutzers 203 entsprechend dem Feld 220A (Fig. 5B).
Das Feld 264I speichert eine Kontonummer, die ein gebun­ denes Instrument identifiziert, von dem das elektronische Geld oder auf das das elektronische Geld geladen werden soll.
Das Feld 264J speichert einen elektronischen Geldbetrag, der von bzw. auf das gebundene Instrument geladen werden soll.
Das Feld 264K speichert den Betrag einer Gebühr, die durch den Betrieb des Servercomputers 100 verursacht wird, um Zahlungsmittel von den Kunden-Personen 120.1 zu laden bzw. gutzuschreiben.
Das Feld 264L speichert einen Betrag gleich der zur Verfü­ gung stehenden Balance der Zahlungsmittel, die von der Kun­ den-Person 120.1 gehalten werden, wie sie vom Servercompu­ ter 100 bestimmt wurde, und entspricht dem im Feld 120G.2 (Fig. 4C) gespeicherten Wert.
Das Feld 264M speichert einen Zahlungsmittel-Betrag, der geladen (oder entladen) wurde, aber dem Kundenbenutzer 203 nicht zur Verfügung steht. Diese Zahlungsmittel warten auf die Verarbeitung entsprechend dem im Feld 120G.3 (Fig. 4C) gespeicherten Wert.
e) Gesprächs-Öffnungs-Antwort-Datensatz 265
Der Gesprächs-Öffnungs-Antwort-Datensatz 265 speichert Da­ ten bezüglich der Antwort des Servercomputers 100 auf eine Anfrage zum Einrichten eines Gesprächs durch den Kundenbe­ nutzer 203. In Fig. 5R ist ein Datensatz 265 detailliert gezeigt.
Das Feld 265A zeigt einen Transaktion-Typ bzw. einen Hand­ lungstyp an, der angefordert wurde, und ist gleich dem Wert des Feldes 255A des Datensatzes 255.
Die Felder 265B-265G entsprechen den Feldern 261B-261G aus Fig. 5N und speichern die gleiche Information. Diese Felder beziehen sich auf das Transaktion-Datum und die Uhrzeit, den Software-Severity-Code, die Software-Mitteilung, den Antwort-Code bzw. die Antwort-Mitteilung.
Das Feld 265H enthält die Personen-ID des Kundenbenutzers 203 entsprechend dem Feld 220A der Fig. 5C.
Das Feld 265I speichert einen elektronischen Geldbetrag, der während des Gesprächs zur Verfügung steht.
Das Feld 265J speichert einen die Maximalzahl von Transak­ tionen darstellenden Wert, die der Kundenbenutzer 203 wäh­ rend eines Gesprächs anfordern kann.
Das Feld 265K speichert einen Wert, der die maximale Dauer anzeigt, während derer das Gespräch offen bleibt.
Das Feld 265L speichert eine Gesprächs-ID-Nummer.
Das Feld 265M speichert den Text einer wahlfreien Beschrei­ bung des zu öffnenden Gespräches, wie sie vom Kundenbenut­ zer 203 eingegeben wird.
Das Feld 265N speichert den Betrag einer Gebühr, die bei Betrieb des Servercomputers 100 zum Einrichten eines Ge­ spräches anfällt.
Das Feld 265O speichert die zur Verfügung stehende Balance, die im Geld-Container zurückbleibt (Feld 120G.2), nachdem der Wert des Betragsfeldes 2651 abgezogen wurde.
f) Zahlungs-Anforderungs-Datensatz 266
Der Zahlungs-Anforderungs-Datensatz 266 speichert die Daten bezüglich einer Anfrage vom Händlerbenutzer 303 zur Zahlung für das Produkt. Die Anfrage hat die Form einer Mitteilung PR1 (später beschrieben), die vom Händlercomputer 300 an den Kundencomputer 200 gesendet wird. In Fig. 5S ist ein Datensatz 266 detailliert gezeigt.
Das Feld 266A enthält die Personen-ID 120AA eines Händler­ benutzers 303.
Das Feld 266B speichert eine Auftrags-Identifikations-Num­ mer ("Order-ID"). Die Order-ID im Feld 266B wird vom Händ­ lercomputer 300 zur Identifizierung eines bestimmten Auf­ trags erzeugt.
Das Feld 266C speichert einen elektronischen Zahlungsmit­ telbetrag, den ein Kundenbenutzer 203 für das Produkt be­ zahlt, das Gegenstand der vorliegenden Transaktion ist.
Das Feld 266D speichert eine Liste der Kreditkarten, die vom Händler 203 für die Bezahlung akzeptiert werden.
Das Feld 266E schafft Raum, um eine Mitteilung vom Händler­ benutzer 303 zu speichern.
Das Feld 266F speichert Zahlung an URL". Der Wert des La­ bel-Wert-Paares 5013I ist ein einheitlicher Resource-Platz­ anzeiger des Internets 50. Der einheitliche Resource-Platz­ anzeiger des Internets 50 des Label-Wert-Paares 5013I ist die Adresse im Internet, an die der Kundencomputer 200 eine später beschriebene Mitteilung CA1 sendet.
g) Gesprächs-Schließungs-Antwort-Datensatz 267
Der Gesprächs-Schließungsantwort-Datensatz 267 speichert Daten bezüglich der Antwort des Servercomputers 100 auf die Anfrage zur Schließung eines Gesprächs durch den Kundencom­ puter 200203. In Fig. 5T ist ein Datensatz 267 detailliert gezeigt.
Das Feld 267A zeigt einen Transaktion-Typ bzw. einen Hand­ lungstyp an, der angefordert wird, und enthält den gleichen Wert wie das Feld 265A des Datensatzes 256.
Die Felder 267B-267G entsprechen den Feldern 261B-261G der Fig. 5N und speichern die gleiche Information. Diese Felder beziehen sich auf das Transaktion-Datum und die Uhrzeit, den Software-Severity-Code, die Software-Mitteilung, den Antwort-Code bzw. die Antwort-Mitteilung.
Das Feld 267H enthält die Personen-ID des Kundenbenutzers 203 entsprechend dem Feld 220A (Fig. 5C).
Das Feld 267I speichert einen elektronischen Geldbetrag, der in dem Gespräch verbleibt, nachdem ein Gespräch ge­ schlossen wurde und nachdem alle Zahlungen und Gebühren ab­ gezogen wurden.
Das Feld 267J speichert den Transaktion-Log, der vom Ser­ vercomputer 100 zurückgesendet wurde, wenn dies vom Kunden­ benutzer 203 in einer Mitteilung CS1 angefordert wurde. Hier würde auch angezeigt, ob ein Transaktion-Log zurückge­ sendet wurde oder nicht.
Das Feld 267K speichert den Betrag einer Gebühr, die durch den Betrieb des Servercomputers 100 zur Schließung des Ge­ sprächs anfällt.
7. Mitteilungs-Schablonen-Datenstruktur 270
In Fig. 5A spürt die Mitteilungs-Schablonen-Datenstruktur 270 das Format und den Inhalt der Mitteilungen auf, die der Kundenbenutzer 203 sendet und empfängt. Eine Mitteilung, die alle benötigten Labels mit gültigen Werten (z. B. Syntax usw.) enthält, wie es unter Bezug auf die Mitteilungs-Scha­ blonen-Datenstruktur 270 bestimmt ist, wird verarbeitet werden, auch wenn ungewöhnliche Label-Wert-Paare auftau­ chen. Eine Mitteilung, die nicht alle erforderlichen Label- Wert-Paare enthält oder die unter Bezug auf die Mittei­ lungs-Schablonen-Datenstruktur 270 bestimmt Label enthält, denen ungültigen Werten zugeordnet sind, wird aus der Form fallen.
Während die vorangehende Beschreibung der Mitteilungs-Scha­ blonen 270 unter Bezug auf Daten bezogen auf den Kundenbe­ nutzer 203 ausgeführt wurde, sei angemerkt, daß der Händ­ lerbenutzer 303 entsprechende in Mitteilungs-Schablonen 380 gespeicherte Daten hat, die in Fig. 6A gezeigt sind.
8. Geld-Container-Datenstruktur 280
Die Kunden-Geld-Container-Datenstruktur 280 enthält Infor­ mation im Kundencomputer 200 bezüglich der Geld-Container. In Fig. 5U enthält die Geld-Container-Datenstruktur 280 einen Datensatz 280.1 für jeden Geld-Container, der vom Kundenbenutzer 203 eingerichtet wurde. Ein detaillierter Datensatz 280. 1 einer Kunden-Geld-Container-Datenstruktur 280 ist Fig. 50 gezeigt.
Die Felder 280A-280C entsprechen den Feldern 120G.1-120G.3 (Fig. 4C) und enthalten die gleiche Information bezüglich eines Geld-Containers.
Während die vorangehende Beschreibung der Kunden-Geld-Con­ tainer-Datenstruktur 280 und des Datensatzes 280.1 in bezug auf die Daten bezogen auf einen Kundenbenutzer 203 ausge­ führt wurden, sei angemerkt, daß ein Händlerbenutzer 303 entsprechende in der Händler-Geld-Container-Datenstruktur 345 gespeicherte Daten hat, wie es in Fig. 6F gezeigt ist. Ein Händler-Datensatz 345.1 ist in Fig. 6F gezeigt, wobei die Felder 345A-345C den Feldern 280A-280C (Fig. 5U) ent­ sprechen.
C. Händlerdatenbank 305
Als nächstes wird die Datenbank 305 des Händlercomputers 300 beschrieben.
Fig. 6A zeigt die allgemeine Struktur der Händlerdatenbank 305 des Händlercomputers 300. Fig. 6A zeigt die Händler-An­ wendungs-Datenstruktur 315 (die vorangehend beschrieben wurde), die Händler-Personen-Datenstruktur 320 (vorangehend beschrieben), die Händler-Instrument-Bindungs-Datenstruktur 330 (vorangehend beschrieben), die Händler-Gesprächs-Daten­ struktur 340 (vorangehend beschrieben), die Händler-Betrag- Datenstruktur 350, die Händler-Verkaufs-Gesprächs-Daten­ struktur 360, die Händler-Geld-Log-Datenstruktur 370, die Mitteilungs-Schablonen-Datenstruktur 380 (vorangehend be­ schrieben) und die Händler-Geld-Container-Datenstruktur 345 (vorangehend beschrieben). Die Datenstrukturen 350, 360 und 370 werden nun beschrieben.
1. Händler-Betrags-Datenstruktur 350
Die Händler-Betrags-Datenstruktur 350 spürt den elektroni­ schen Geldbetrag auf, den der Händlerbenutzer 303 vom Kun­ denbenutzer 203 für einen Auftrag zu empfangen erwartet. In Fig. 7A ist ein Datensatz 350 detailliert gezeigt.
Das Feld 350A speichert eine Order-ID entsprechend dem Feld 253F aus Fig. 5I.
Das Feld 350B speichert einen elektronischen Geldbetrag entsprechend dem Feld 253H der Fig. 5I.
Das Feld 350C ist einen Flag, der anzeigt, ob ein Auftrag von dem Kundenbenutzer 203 bezahlt wurde.
2. Händler-Verkaufs-Gespräch-Datenstruktur 360
Die Händler-Verkaufs-Gespräch-Datenstruktur 360 spürt die Gespräche des Händlerbenutzers 303 auf. In Fig. 7B ist der Datensatz 360 detailliert gezeigt.
Die Felder 360A-360D entsprechen den Feldern 340A-340D (Fig. 6E). Das Feld 360E entspricht dem Feld 340H (Fig. 6E). Das Feld 360F entspricht dem Feld 340F (Fig. 6E). Die Felder 360J-360K entsprechen den Feldern 340J-340K (Fig. 6E). Das Feld 360G speichert das Datum, zu dem das durch das Session-ID-Feld 360A identifizierte Händler-Verkaufs- Gespräch geöffnet wurde. Das Feld 360H speichert das Datum, zu dem das Gespräch geschlossen wurde.
3. Händler-Geld-Log-Datenstruktur 370
Die Händler-Geld-Log-Datenstruktur 370 spürt elektronische Geldtransaktionen und Gesprächsdaten auf, die nicht in der Händler-Verkaufs-Gesprächs-Datenstruktur 360 gehalten wer­ den. Genauer gesagt, speichert die Händler-Geld-Log-Daten­ struktur 370 Daten bezogen auf Sammlungen und Gespräche, die von einem Händlerbenutzer 303 eingerichtet wurden. In Fig. 7C ist ein Datensatz 370 detailliert gezeigt.
Die Felder 370A-370M speichern Daten bezogen auf Sammel- Mitteilungen CA2, die von einem Händlercomputer 300 zum Servercomputer 100 übermittelt werden. Diese Felder werden nun detailliert beschrieben.
Das Feld 370A zeigt einen Transaktion-Typ bzw. einen Hand­ lungstyp an, der durchgeführt werden soll. In diesem Fall ist der im Feld 370A gespeicherte Typ gleich "Sammel".
Das Feld 370B speichert einen Status der gegenwärtigen Sam­ melanfrage. Der Status des Felds 370B kann enthalten "Ver­ such", "Erfolg" oder "Fehler". Der Label "Versuch" wird zu­ rückübertragen, wenn die Anfrage an den Servercomputer 100 gesendet wurde, aber keine Antwort empfangen wurde. Wenn mit der Anfrage vom Servercomputer 100 fortgefahren wird und die Sammelanfrage Erfolg hat, wird das Feld 370B den Label "Erfolg" erhalten. Wenn der Servercomputer 100 die Anfrage ablehnt, wird das Feld 370B den Label "Fehler" ent­ halten, und das Feld 370M wird einen Code enthalten, der den Grund für den Fehler angibt.
Das Feld 370C speichert eine Auftrags-Identifikations-Num­ mer ("Order-ID"). Die Order-ID im Feld 370A wird vom Händ­ lercomputer 300 zur Identifizierung eines bestimmten Auf­ trags erzeugt.
Das Feld 370D speichert die Session-ID des Felds 240A, die vom Kundencomputer 200 bei der gegenwärtigen Sammelanfrage verwendet wird.
Das Feld 370E speichert den Index des Feldes 240G, der vom Kundencomputer 200 bei der gegenwärtigen Sammelanfrage ver­ wendet wird.
Das Feld 370F speichert die Währung aus dem Feld 240D, die vom Kundencomputer 200 bei der vorliegenden Sammelanmeldung verwendet wird.
Das Feld 370G speichert die Session-ID aus dem Feld 340A, die vom Händlercomputer 300 bei der gegenwärtigen Sammelan­ frage verwendet wird.
Das Feld 370H speichert den Index von dem Label-Wert-Paar 5213D, der vom Händlercomputer 300 bei der gegenwärtigen Sammelanfrage verwendet wird.
Das Feld 370I speichert die Währung aus dem Feld 340D, die vom Händlercomputer 300 bei der gegenwärtigen Sammelanfrage verwendet wird.
Das Feld 370J speichert einen elektronischen Geldzahlungs­ mittel-Betrag, der für die Bezahlung des Händlerbenutzers 303 bei der gegenwärtigen Sammelanfrage gefordert wird.
Das Feld 370K speichert einen elektronischen Geldbetrag, der vom Händler-Geld-Container-Feld 345 für die gegenwär­ tige Sammlung zur Verfügung gestellt wird. Der zur Verfü­ gung gestellte elektronische Geldbetrag ist Null, wenn der Status des Feldes 370 gleich Null ist.
Das Feld 370L speichert einen elektronischen Geld-Zahlungs­ mittel-Betrag, der an den Betreiber des Servercomputers 100 zur Verarbeitung der vorliegenden Sammelanfrage bezahlt wird.
Wenn der Inhalt des Statusfelds 370B gleich "Fehler" ist, so speichert das Feld 370M einen Ergebnis-Code. Der Ergeb­ nis-Code wird von der Händler-Anwendungssoftware 310 ver­ wendet, um dem im Statusfeld 370 berichteten Fehler eine Mitteilung zuzuordnen. Somit kann der in das Feld 370M zu­ rückgesendete Code die Händler-Anwendungssoftware zur An­ zeige einer Mitteilung, wie etwa "Sammelfehler aufgrund un­ geeigneter Zahlungsmittel" veranlassen.
Die Felder 370N-370T speichern Daten bezogen auf die vom Händlercomputer 300 (Mitteilung OS1) eingeleiteten Gesprä­ che. Diese Felder werden nun detailliert beschrieben.
Das Feld 370N zeigt einen Transaktion-Typ bzw. Handlungstyp an, der durchgeführt wird. In diesem Fall ist der im Feld 370N gespeicherte Handlungstyp gleich "OS".
Das Feld 370O speichert einen Status der gegenwärtigen Sam­ melanfrage. Der Status im Feld 370O kann enthalten "Ver­ such", "Erfolg" oder "Fehler". Der Label "Versuch" wird zu­ rückgesendet, wenn die Anfrage an den Servercomputer 100 gesendet wurde, aber keine Antwort empfangen wurde. Wenn mit der Anfrage vom Servercomputer 100 weiter verarbeitet wird und die Sammelanfrage Erfolg hat, wird das Feld 370O den Label "Erfolg" enthalten. Wenn der Servercomputer 100 die Anfrage ablehnt, wird das Feld 370O den Label "Fehler" enthalten, und das Feld 370T wird einen Code enthalten, der den Grund für den Fehler angibt.
Das Feld 370P speichert eine Transaktion-Nummer, d. h. eine einmalige Nummer, die ein bestimmtes vom Händlercomputer 300 eingerichtetes Gespräch identifiziert.
Das Feld 370Q speichert eine Zeitdauer, die vom Händlerbe­ nutzer 303 angefordert wurde und über die das gegenwärtige Gespräch andauert.
Das Feld 370R speichert eine Zahl, wie oft der Gesprächs- Schlüssel aus Feld 340J verwendet werden kann, die vom Händlerbenutzer 303 angefordert wird.
Wenn der Status des Feldes 370O gleich "Erfolg" ist, so speichert das Feld 3705 eine Session-ID für den Händlercom­ puter 300 für das gegenwärtige Gespräch.
Wenn der Inhalt des Statusfelds 370O gleich "Fehler" ist, so speichert das Feld 370T einen Ergebnis-Code. Der Ergeb­ nis-Code wird von der Händler-Anwendungssoftware 310 ver­ wendet, um dem im Statusfeld 370T berichteten Fehler eine Mitteilung zuzuordnen.
III. Allgemeine Information
Das bevorzugte erfindungsgemäß verwendete Mitteilungsformat wird nun beschrieben.
Aufgrund der Eigenart des Internets 50 verwendet die Erfin­ dung einen unabhängigen Mitteilungs-Übertragungsmechanis­ mus, so daß Mitteilungen unter Verwendung verschiedener Protokolle übertragen werden können. Diese Protokolle kön­ nen E-Mail (einfaches Posttransportprotokoll) und World Wide Web (Hypertext-Transportprotokoll oder andere Proto­ kolle, wie Remote Procedure Protocol (RPC)) Protokolle ent­ halten. Deshalb haben die erfindungsgemäß verwendeten Mit­ teilungen ein bestimmtes und bevorzugtes Format, das nicht im Transportprotokoll spezifiziert ist. Das spezielle und bevorzugte Format beruht auf RFC 822, das im Stand der Technik bekannt ist und deshalb nur kurz beschrieben wird.
Fig. 7D zeigt das Format einer Probemitteilung 4000. Die Probemitteilung 4000 enthält eine Kopfzeile 4005, einen Körper 4010 und einen Trailer 4050. Der Körper 4010 enthält transparente (nicht verschlüsselte) Label-Wert-Paare 4013A, 4013B usw. und kann dem undurchsichtigen (verschlüsselten) Label-Wert-Paar 4017 enthalten. (Label-Wert-Paare bestehen aus einem Label und Daten, die sich auf den Label beziehen und die durch ein Label-Endzeichen getrennt sind, wie z. B.: "Name: Brian".)
Die Kopfzeile 4005 bestimmt den Start der Probemitteilung 4000. Die Kopfzeile 4005 kann einen Systemidentifizierer, z. B. "CyberCash" (der Inhaber der Erfindung) und eine Num­ mer des Mitteilungsprotokolls ("Protokollnummer") enthal­ ten, in dem die Probemitteilung 4000 zusammengesetzt ist.
Das transparente Label-Wert-Paar 4013A, 4013B usw. enthält jeden klaren (nicht verschlüsselten) Text, der mit der Pro­ bemitteilung 4000 verbunden ist. Verschlüsselung und Ent­ schlüsselung werden anschließend beschrieben.
Das undurchsichtige Label-Wert-Paar 4017 enthält den Label "undurchsichtig". Der Wert des undurchsichtigen Label-Wert- Paares 4017 ist ein Block verschlüsselter Daten. Der Wert des undurchsichtigen Label-Wert-Paares 4017 enthält einen vorgegebenen Satz mit einem DES-Schlüssel verschlüsselter Label-Wert-Paare. Nach der Verschlüsselung wird der Wert vorzugsweise auf Basis 64 codiert. Der vorgegebene Satz der Label-Wert-Paare wird im folgenden als "undurchsichtiger Abschnitt" der Probemitteilung 4000 bezeichnet. Zur Anfrage von Mitteilungen, die außerhalb eines Gesprächs abgesendet werden (R1, BI1, LU1 und CS1), beginnt das undurchsichtige Label-Wert-Paar 4017 mit dem DES-Schlüssel, der mit einem öffentlichen RSA-Schlüssel vom Servercomputer 100 mit RSA- Technik verschlüsselt wurde. Die RSA-Verschlüsselung ist rechentechnisch teuer. Für Antwort-Mitteilungen (R2, BI4, LU2, OS2 und CS2) und für Mitteilungen innerhalb eines Ge­ sprächs (CA1, CA2, CA3 und CA4) wird keine zusätzliche In­ formation, außer dem undurchsichtigen Abschnitt in dem Wert des undurchsichtigen Label-Wert-Paares 4017 enthaltenen, benötigt, wodurch die Kosten der RSA-Verschlüsselung ver­ mieden werden. Die undurchsichtigen Abschnitte variieren bezüglich der Länge und repräsentieren Daten, die mit dem verwendeten DES-Schlüssel verschlüsselt wurden.
Der Trailer 4050 schließt die Probemitteilung 4000. Der Trailer 4050 enthält vorzugsweise eine Übertragungs-Prüf­ summe, wobei bevorzugt wird, daß die Übertragungs-Prüfsumme im Feld 4050D ein MD5-Hash ist, der auf alle druckbaren Charakter in der Kopfzeile 4005 und jenen, die im Körper 4010 auftauchen, angewendet wurde. Auf diese Art werden alle Leer-Räume, einschließlich neuer Zeilen, Abstände, Ta­ bulatoren, Zeilenenden aus dem Prüfsummen-Hash, weggelas­ sen. Auf diese Art kann die Richtigkeit von der Mittei­ lungsübertragung überprüft werden, während eine Abhängig­ keit von Einleitungen oder Verarbeitungen, die z. B. Ände­ rungen der Zeilenendsequenz oder Tabulatoren in Leerräume verwandeln, vermieden werden.
Nun werden die erfindungsgemäß verwendeten Verschlüsse­ lungs- und Entschlüsselungstechniken beschrieben.
Die Erfindung verwendet bevorzugt sowohl RSA- als auch DES- Verfahren für die Datenverschlüsselung und Entschlüsselung. Solche Verfahren sind im Stand der Technik bekannt. RSA ist vollständig in US-A-4,405,829 beschrieben. Die Erfindung beruht bevorzugt auf 768-Bit-RSA-Schlüsseln, die ein Gleichgewicht zwischen Sicherheitsgesichtspunkten, Ausfüh­ rungszeit und Ausfuhrsteuerung widerspiegeln. Die Größe des RSA-Schlüssels kann geändert werden, wenn Hochleistungscom­ puter mit hoher Verarbeitungsgeschwindigkeit bei den Kun­ den-Installationen von größerer Bedeutung werden und die Exportanforderungen gemildert werden. Wie dem Fachmann be­ kannt ist, können andere symmetrische öffentliche/private Schlüsselsysteme (wie etwa Rabin und ElGamal) erfindungsge­ mäß für das Gültigkeitserklärungs-Verfahren verwendet wer­ den.
In der Erfindung werden digitale Kennzeichen (Signaturen) für die Gültigkeitserklärungs-Information verwendet. Die Details digitaler Kennzeichnungen sind ausführlich in der Computer-Sicherheitsliteratur diskutiert. Die Erfindung verwendet zwei Verfahren für die Gültigkeitserklärung: RSA/MD5, nämlich digitale Kennzeichen und Kenntnis der ge­ teilten Information (z. B. ein Salt-Wert und/oder ein Schlüssel-Wert).
Wie vorangehend erwähnt wurde, beruht die Erfindung auch auf dem Hash von Daten. Ein Hash wird vorzugsweise unter Verwendung bekannter MD5-Algorithmen berechnet, die in der Internet-Veröffentlichung RFC 1321 beschrieben werden, und auf eine "künstliche Mitteilung" angewendet wird.
Wenn ein Label-Wert-Paar in einer Hash-Eingabe spezifiziert wird, aber in einer Mitteilung nicht vorhanden ist, werden der Label und das Label-Endzeichen vorzugsweise aus dem Hash weggelassen.
IV. Erfindungsgemäße Verfahren A. Lade- und Installations-Verfahren 400
Während des Lade- und Installations-Verfahrens 400 wird, wie vorangehend unter Bezug auf Fig. 3A beschrieben wurde, ein öffentlicher RSA-Schlüssel vom Servercomputer 100 im Feld 215A der Kunden-Anwendungs-Datenstruktur 215 gespei­ chert. Der Händlercomputer 300 erhält eine Kopie der Benut­ zer-Anwendungssoftware 153 in der gleichen Art wie der Kun­ denbenutzer 203 während des Lade- und Installations-Verfah­ rens 400. In diesem Fall verbleibt die Benutzer-Anwendungs­ software 153 im Händlercomputer 300 als eine Komponente der Händler-Anwendungssoftware 310 und ein öffentlicher RSA- Schlüssel des Servercomputers 100 wird im Feld 315A der Händler-Anwendungs-Datenstruktur 315 gespeichert.
B. Registrations-Verfahren 401
Fig. 8 zeigt ein Flußdiagramm, das das Registrations-Ver­ fahren 401 zeigt, welches beim Schritt 1201 beginnt.
Im Schritt 1202 veranlaßt die Kunden-Anwendungssoftware 210 den Kundenbenutzer 203 zur Eingabe von Information bezüg­ lich des Kundenbenutzers 203. Diese Information wird in der Mitteilung R1 enthalten sein, die an den Servercomputer 100 gesendet wird, und wird Teil der Kunden-Person 120.1. Bei der bevorzugten Ausführungsform gibt der Kundenbenutzer 203 eine bevorzugte Sprache für die Kommunikation, eine Wäh­ rung, in der die Transaktion verarbeitet wird, eine an­ geforderte Personen-ID, eine E-Mail-Adresse und einen Selbstschließungs-Paß-Satz ein.
Im Schritt 1202A erzeugt die Kunden-Anwendungssoftware 210 ein öffentliches/privates RSA-Schlüsselpaar für den Kunden­ computer 200. Der öffentliche RSA-Schlüssel wird im Feld 220C der Kunden-Personen-Datenstruktur 220 (Fig. 5C) ge­ speichert. Der private RSA-Schlüssel wird im Feld 220H der Kunden-Personen-Datenstruktur 220 (Fig. 5C) gespeichert.
Im Schritt 1203 wird eine Mitteilung R1 in Übereinstimmung mit dem Mitteilungs-Zusammensetzungs-Verfahren 800, das in Fig. 9 erläutert ist, zusammengesetzt. Die Mitteilung R1 wird vom Kundencomputer 200 an den Servercomputer 100 ge­ sendet und enthält die vom Kundenbenutzer 204 im Schritt 1202 eingegebene Information. Das Mitteilungs-Zusammenset­ zungs-Verfahren 800 wird nun unter Bezug auf Fig. 9 be­ schrieben.
Das Mitteilungs-Zusammensetzungs-Verfahren 800 beginnt beim Schritt 801. Die Schritte 802A-802B erzeugen transparente Label-Wert-Paare 4213A-4213D der in Fig. 10A gezeigten Mit­ teilung R1. Die Schritte 802C-813 erzeugen das in undurch­ sichtige Label-Wert-Paar 4217 der Mitteilung R1 beruhend auf dem Fig. 10B gezeigten undurchsichtigen Abschnitt in der Mitteilung R1. Die Schritte 814-817 setzen die Kopf­ zeile 4205, die durchsichtigen Label-Wert-Paare 4213A-4213D, das undurchsichtige Label-Wert-Paar 4217 und den Trailer 4250 der Mitteilung R1 zusammen.
Im Schritt 802A greift die Kunden-Anwendungssoftware 210 auf die Mitteilungs-Schablonen-Datenstruktur 270 (Fig. 5A) zu, um eine Liste der Labels zu erhalten, die, wenn sie mit zugehörigen Werten zusammentreffen, die durchsichtigen La­ bel-Wert-Paare 4313A-4313C der Mitteilung R1 bilden. Im Schritt 802B werden die Werte jedem Label wie folgt zuge­ ordnet:
Das Label-Wert-Paar 4213A hat den Label "Transaktion". Der Wert des Feldes 4213A ist eine Transaktion-Nummer, die von der Klientensoftware 210 erzeugt wird, die nur die Mittei­ lung R1 identifiziert. Der Wert des Label-Wert-Paares 4313A erlaubt es dem Servercomputer 100 beim Empfang der Mittei­ lung R1, (1) eine zugehörige Antwort-Mitteilung R2 zu sen­ den, die später beschrieben wird, und (2) zu bestimmen, ob die Mitteilung R1 eine duplizierte Mitteilung ist (nämlich, ob sie bereits vom Servercomputer 100 empfangen wurde) . Der zu dem Label-Wert-Paar 4213A gehörende Wert wird im Feld 251B des anhängigen Personen-Registrations/Update-Informa­ tions-Datensatzes 251 (Fig. 5G) gespeichert.
Das Label-Wert-Paar 4213B hat den Label "Datum". Der Wert des Label-Wert-Paares 4213B zeigt das Datum und die Uhrzeit entsprechend der Uhr des Kundencomputers 200 an, zu der die Mitteilung R1 zusammengesetzt und an den Servercomputer 100 gesendet wurde. Der mit dem Label-Wert-Paar 4213B gebundene Wert wird im Feld 251C gespeichert.
Das Label-Wert-Paar 4213C hat den Label "Server-Schlüssel". Wie unten beschrieben wird, wird ein Schlüssel/IV-Paar, das vom Kundencomputer 200 zur Verschlüsselung des undurchsich­ tigen Label-Wert-Paares 4217 der Mitteilung R1 verwendet wurde, unter Verwendung eines öffentlichen RSA-Schlüssels des Servercomputers 100 verschlüsselt. Der Wert des Label- Wert-Paares 4213 zeigt auf den entsprechenden privaten RSA- Schlüssel, der in der Server-Privatschlüssel-Datenstruktur 160 (Fig. 4A) gespeichert ist.
Das Label-Wert-Paar 4213D hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paares 4213 ist ein Wert, der zur Lenkung einer Mitteilung R1 zu einem Prozessor inner­ halb des Servercomputers 100 verwendet werden kann, der die Mitteilung einer bestimmten Service-Kategorie bearbeitet. Diese Option erlaubt es, daß die Aufgaben des Servercom­ puters 100 unter einer Mehrzahl Prozessoren verteilt wer­ den, wodurch die Kapazität des Systems verbessert wird.
Im Schritt 802C verwendet die Kunden-Anwendungssoftware 210 bekannte Techniken zur Erzeugung einer 12 8-Bit-Zufalls­ menge. Vorzugsweise werden die ersten 64 Bit der so erzeug­ ten Menge als ein 56-Bit-DES-Schlüssel und die zweiten 64 Bit als ein 64-Bit-Initialisations-Vektor ("IV") behandelt. Der 56-Bit-DES-Schlüssel wird als eine 64-Bit-Menge darge­ stellt, wobei das am wenigsten signifikante Bit jedes Bytes mit acht Bit ignoriert wird. Diese 128-Bit-Menge kann als ein DES-Schlüssel/IV-Paar betrachtet werden. Das DES- Schlüssel/IV-Paar wird in einem temporären Register gespei­ chert.
Als nächstes stellt im Schritt 804 die Kunden-Anwendungs­ software 210 den öffentlichen RSA-Schlüssel für den Server­ computer 100 aus dem Feld 215A der Klienten-Anwendungs-Da­ tenstruktur 215 (Fig. 5B) wieder her. Wie vorangehend er­ wähnt wurde, hat der öffentliche RSA-Schlüssel für den Ser­ vercomputer 100 vorzugsweise eine Länge von 768 Bit. Natür­ lich können RSA-Schlüssel mit anderen Längen verwendet wer­ den. Im Schritt 806 wird der im Schritt 804 ersetzte öf­ fentliche RSA-Schlüssel zur Verschlüsselung des DES-Schlüs­ sel/IV-Paares verwendet, das im Schritt 802 erzeugt wurde.
Im Schritt 807 greift die Kunden-Anwendungssoftware 210 auf die Mitteilungs-Schablonen-Datenstruktur 270 (Fig. 2B) zu, um eine Label-Liste zu erhalten, die, wenn sie mit zugehö­ rigen Werten zusammentreffen, den undurchsichtigen in Fig. 10B gezeigten Abschnitt der Mitteilung R2 bilden. Im Schritt 808 werden die Werte jedem Label wie folgt zugeord­ net:
Das Label-Wert-Paar 4217A hat den Label "Typ". Der Wert des Label-Wert-Paares 4217A bezieht sich auf einen Datensatz in der Mitteilungs-Datenstruktur 270 (Fig. 2B), der die Labels der Mitteilung R1 festsetzt. Der Wert des Label-Wert-Paares 4217A wird von der Kunden-Anwendungssoftware 210 erhalten, die einen Label erzeugt, wenn der Kundenbenutzer 203 das Registrations-Verfahren einleitet.
Das Label-Wert-Paar 4217B hat den Label "Server-Datum". Der Wert des Label-Wert-Paares 4217B zeigt das Datum und die Uhrzeit an, zu der die Mitteilung R1 zusammengesetzt wurde, die durch die Uhr des Kundencomputer 200 unter Anleitung Datums des Servercomputers 100 gemessen wird.
Das Label-Wert-Paar 4217C hat den Label "SW-Version" (Soft­ ware-Version). Der Wert des Label-Wert-Paares 4217C zeigt die Version der Kunden-Anwendungssoftware 210 an, die mit dem Servercomputer 100 kommuniziert. Der Wert des Label- Wert-Paares 4217C wird aus den Daten erhalten, die in der Kunden-Anwendungssoftware 210 enthalten sind. Der dem La­ beI-Wert-Paar 4217 zugehörige Wert wird im Feld 251D ge­ speichert.
Das Label-Wert-Paar 4217D hat den Label "Inhalt-Sprache". Der Wert des Label-Wert-Paares 4217D zeigt eine bevorzugte Sprache für die Kommunikation des Kundenbenutzers 203 an. Der Wert des Label-Wert-Paares 4217 wird vom Kundenbenutzer 203 während des Registrations-Verfahrens 401 im Schritt 1202 erhalten. Der mit dem Label-Wert-Paar 4217D verbundene Wert wird im Feld 251E gespeichert.
Das Label-Wert-Paar 4217E hat den Label "vorgegebene Wäh­ rung". Der Wert des Label-Wert-Paares 4217E zeigt die vor­ gegebene Währung an, in der die Transaktion des Kundenbe­ nutzers 203 bis zu einer Änderung durch den Kundenbenutzer 203 ausgeführt werden soll. Der Wert des Label-Wert-Paar 4217E wird vom Kundenbenutzer 203 während des Registrati­ ons-Verfahrens 401 im Schritt 1202 in Fig. 8 erhalten. Der mit dem Label-Wert-Paar 4217E verbundene Wert wird im Feld 251F gespeichert.
Das Label-Wert-Paar 4217E hat den Label "angeforderte ID". Der Wert des Label-Wert-Paares 4217F zeigt die Personen-ID an, die vom Kundenbenutzer 203 angefordert wird. Der Wert des Label-Wert-Paares 4217E wird vom Kundenbenutzer 203 während des Registrations-Verfahrens 401 im Schritt 1202 in Fig. 8 erhalten. Der Wert des zugehörigen Label-Wert-Paares 4217F wird im Feld 251B gespeichert.
Das Label-Wert-Paar 4217G hat den Label "E-Mail". Der Wert des Label-Wert-Paares 4217G zeigt eine E-Mail-Adresse des Kundenbenutzers 203 an. Der Wert des Label-Wert-Paares 4217G wird vom Kundenbenutzer 203 während des Registrati­ ons-Verfahrens 401 im Schritt 1202 in Fig. 8 erhalten. Der mit dem Label-Wert-Paar 4217G verbundene Wert wird im Feld 251H gespeichert.
Das Label-Wert-Paar 4217H hat den Label "Übereinkommen". Der Wert des Label-Wert-Paares 4217H zeigt die gesetzlichen Übereinkommen an, die der Kundenbenutzer 203 akzeptiert hat und die erfindungsgemäß angewendet werden. Gesetzliche Übereinkommen werden dem Kundenbenutzer 203 im Schritt 1202 in Fig. 8 vorgestellt. Der Wert des Label-Wert-Paares 4217H wird erzeugt, wenn ein Übereinkommen vom Kundenbenutzer 203 akzeptiert wurde, und wird im Feld 220L der Kunden-Perso­ nen-Datenstruktur 220 (Fig. 5C) gespeichert.
Das Label-Wert-Paar 4217I hat den Label "Selbstschließungs- Paß-Satz". Der Wert des Label-Wert-Paares 4217I zeigt einen Selbstschließungs-Paß-Satz für den Kundenbenutzer 203 an. Der Wert des Label-Wert-Paares 4217 wird vom Kundenbenutzer 203 während des Registrations-Verfahrens 401 im Schritt 1202 in Fig. 8 geliefert. Der mit dem Label-Wert-Paar 4217I verbundene Wert wird im Feld 220T der Kunden-Personen-Da­ tenstruktur 220 und im Feld 251I der anhängigen Kunden-Da­ tenstruktur 250 gespeichert.
Das Label-Wert-Paar 4217J hat den Label "öffentlicher Schlüssel". Der Wert des Label-Wert-Paares 4217J stellt einen öffentlichen RSA-Schlüssel für die Kunden-Person 120.1 dar, die von der Kunden-Anwendungssoftware 210 wäh­ rend des Registrations-Verfahrens 401 im Schritt 1202 in Fig. 8 erzeugt wird.
In Fig. 9 wird im Schritt 810 die digitale Kennzeichnung der Mitteilung R1, die durch das Label-Wert-Paar 4217K aus Fig. 10B dargestellt wird, erzeugt. Das Label-Wert-Paar 4217K hat den Label "Kennzeichnung". Der Wert des Label- Wert-Paares 4217K stellt die digitale Kennzeichnung der Kunden-Person 120.1 dar. Für die Mitteilung R1 ist der Wert des Label-Wert-Paares 4217K ein Hash der druckbaren US- ASCII-Charakter in den Label-Wert-Paaren 4213A-4213C und den Label-Wert-Paaren 4217H-4217J in alphabetischer Reihen­ folge, die mit den privaten RSA-Schlüssel der Kunden-Person 120.1 verschlüsselt werden. Der private RSA-Schlüssel der Kunden-Person 120.1 wird im Feld 220H (Fig. 5C) erhalten.
Im Schritt 812A wird das Label-Wert-Paar 4217K, das im Schritt 810 erzeugt wurde, an die Label-Wert-Paare 4217A-4217J angehängt. Die Label-Wert-Paare 4217A-4217K werden mit dem in dem temporären Register im Schritt 802 gespei­ cherten DES-Schlüssel/IV-Paar verschlüsselt. Im Schritt 812B wird das Ergebnis des Schritts 812A an das mittels RSA-Verschlüsselung im Schritt 802 erzeugte DES-Schlüs­ sel/IV-Paar angehängt.
Im Schritt 813 werden die im Schritt 812B zusammengesetzten Daten unter Verwendung bekannter Techniken (vorzugsweise auf Basis 64) kodiert, womit die Zusammensetzung der un­ durchsichtigen Abschnitte der Mitteilung R1 vervollständigt ist.
Die Mitteilung R1 wird in den Schritten 814-818 zusammenge­ setzt. Im Schritt 814 wird die Kopfzeile 4205 unter Verwen­ dung der in der Kunden-Mitteilungs-Schablonen-Datenstruktur 270 (Fig. 5A) gefundenen Mitteilungs-Schablone erzeugt, und eine Protokollnummer wird in der Kunden-Anwendungssoftware 210 eingefügt.
Als nächstes werden im Schritt 814 die durchsichtigen La­ bel-Wert-Paare 4213A-4213C, wie sie beschrieben wurden, hinzugefügt.
Im Schritt 816 wird das undurchsichtige Label-Wert-Paar 4217 hinzugefügt. Das Label-Wert-Paar 4217 hat den Label "undurchsichtig", was bedeutet, daß der folgende Wert ver­ schlüsselte Daten sind. Der Wert des in Fig. 10A gezeigten Label-Wert-Paares 4217 stellt Daten dar, die im Schritt 813 codiert wurden.
Der Trailer 4250 wird im Schritt 817 zusammengesetzt. Die Prüfsumme des Trailers 4250 wird, wie vorangehend unter Be­ zug auf die Probemitteilung 4000 beschrieben wurde, berech­ net. Der Trailer 4250 wird der Mitteilung R1 hinzugefügt. Im Schritt 818 wird eine Kopie der Mitteilung R1 im Feld 251J gesichert.
Das Zusammensetzen der Mitteilung R1 ist nun vervollstän­ digt. Das Mitteilungs-Zusammensetzungs-Verfahren 800 endet im Schritt 819.
In Fig. 8 geht das Registrations-Verfahren 401 beim Schritt 1204 weiter. Hier überträgt der Kundencomputer 200 die Mit­ teilung R1 an den Servercomputer 100. Der Kundencomputer 200 wartet auf eine Antwort-Mitteilung R2 vom Servercompu­ ter 100.
Im Schritt 1205 empfängt der Servercomputer 100 die Mittei­ lung R1 vom Kundencomputer 200 und entziffert die Mittei­ lung R1, indem er die Server-Mitteilungs-Entzifferungs-Pro­ zedur 900 durchführt. Die Server-Mitteilungs-Entzifferungs- Prozedur 900 wird nun unter Bezug auf die Fig. 11A und 11B beschrieben, wo es mit dem Schritt 901 beginnt.
Im Schritt 901A wird eine Kopie der Mitteilung R1 im Feld 140E (Fig. 4L) gespeichert.
Im Schritt 902 entnimmt die Server-Software 110 die Proto­ koll-Nummer aus dem Feld 4205C der Kopfzeile 4205 der Mit­ teilung R1. Als nächstes wird beruhend auf der Protokoll- Nummer, die im Schritt 902 entnommen wurde, auf die Server- Mitteilungs-Datenstruktur 150 (Fig. 4A) zugegriffen, um das erwartete Format der Mitteilung R1 zu bestimmen. Das erwar­ tete Format kann die Mitteilungssyntax (z. B. einen vorgege­ benen Endzeilen-Charakter) und eine Mitteilungscodierung (z. B. ASCII oder hexadezimal) enthalten. In Übereinstimmung mit dem erwarteten Datenformat wird im Folgenden die Syntax der Mitteilung R1 analysiert.
Im Schritt 903 berechnet der Servercomputer 100 die Prüf­ summe unter Verwendung derselben Daten, die vom Kundencom­ puter 200 im Schritt 817 des Mitteilungs-Zusammensetzungs- Verfahrens 800 verwendet wurden. Im Schritt 904 wird die im Schritt 903 berechnete Prüfsumme mit der Prüfsumme 4250D des Trailers 4250 der Mitteilung R1 verglichen. Wenn die Prüfsummen nicht gleich sind, wird im Schritt 904A die Mit­ teilung R1 verworfen, wobei die Server-Mitteilungs-Entziffe­ rungs-Prozedur 900 ebenfalls beendet wird.
Wenn die Prüfsummen im Schritt 904 einander gleich sind, fährt das Verfahren im Schritt 906A fort, wobei die Mittei­ lung überprüft wird, um zu bestimmen, ob es eine für die Entzifferungs-Prozedur 900 geeignete Mitteilung ist. Wenn eine Mitteilung das Label "Server-Schlüssel" enthält, ist die Server-Entschlüsselungs-Prozedur 900 geeignet. Die vom Servercomputer 100 empfangenen Mitteilungen, für die die Entzifferungs-Prozedur 900 nicht geeignet ist, enthalten kein "Server-Schlüssel"-Label, aber enthalten anstelle des­ sen das Label "Typ" in dem durchsichtigen Teil der Mittei­ lung. Solche Mitteilungen werden unter Verwendung anderer später beschriebener Prozeduren entziffert. Wenn eine Mit­ teilung ungeeignet ist, fährt das Verfahren mit dem Schritt 906B fort, wobei die Mitteilung an eine andere Entziffe­ rungs-Prozedur weitergeleitet wird. Wenn die Mitteilung R1 geeignet ist, wird deshalb die Prozedur im Schritt 906C fortgesetzt, wo der Wert des undurchsichtigen Label-Wert- Paares 4217 decodiert wird.
Im Schritt 907 wird der öffentliche RSA-Schlüssel, der vom Kundencomputer 200 zur Verschlüsselung des DES-Schlüs­ sel/IV-Paares im Schritt 906 des Mitteilungs-Zusammenset­ zungs-Verfahrens 800 verwendet wurde, bestimmt. Aus diesem Grund erhält die Server-Software 110 den Wert des Label- Wert-Paares 4213C, der mit dem Label "Server-Schlüssel" verbunden ist. Der Wert des Label-Wert-Paares 4213C ist ein Zeiger auf einem Feld in der privaten Schlüsseldatenstruk­ tur 160, die die privaten RSA-Schlüssel speichert, welche den öffentlichen RSA-Schlüsseln entsprechen und vom Kun­ dencomputer 200 im Schritt 806 verwendet wurde.
Im Schritt 909 wird der im Schritt 907 bestimmte private RSA-Schlüssel zur Entschlüsselung des Abschnitts des un­ durchsichtigen Label-Wert-Paares 4217 entsprechend dem mit RSA verschlüsselten DES-Schlüssel/IV-Paares verwendet. Auf diese Art wird das DES-Schlüssel/IV-Paar erhalten, das zur Verschlüsselung des verbleibenden undurchsichtigen Label- Wert-Paares 4217 verwendet wurde. Im Schritt 909A wird be­ stimmt, ob die Entschlüsselung des DES-Schlüssel/IV-Paares Erfolg hatte oder gescheitert ist. Wenn die Entschlüsselung aus irgendeinem Grund fehlgeschlagen ist, setzt das Verfah­ ren beim Schritt 905 fort, wo vorzugsweise ein geeignetes Fehler-Flag gesetzt wird und die Server-Entschlüsselungs- Prozedur 900 im Schritt 917 beendet wird. Wenn die Ent­ schlüsselung des DES-Schlüssel/IV-Paares Erfolg hat, setzt die Prozedur beim Schritt 910 fort.
Im Schritt 910 wird das im Schritt 909 erhaltene DES- Schlüssel/IV-Paar in einem temporären Register gespeichert.
Im Schritt 911 wird das im Schritt 909 erhaltene DES- Schlüssel/IV-Paar zur Entschlüsselung des Abschnitts des undurchsichtigen Label-Wert-Paares 4217 verwendet, das die Label-Wert-Paare 4217A-4217K aus Fig. 10B wiedergibt. Im Schritt 912 wird bestimmt, ob die Entschlüsselung des un­ durchsichtigen Label-Wert-Paares 4217 Erfolg hatte oder fehlgeschlagen ist. Wenn die Entschlüsselung aus irgendei­ nem Grund fehlgeschlagen ist, geht die Prozedur mit dem Schritt 905 weiter, wo vorzugsweise ein geeigneter Fehler- Flag gesetzt wird und wo die Server-Entschlüsselungs-Proze­ dur 900 mit dem Schritt 917 endet. Wenn die Entschlüsselung des undurchsichtigen Label-Wert-Paares 4217 Erfolg hat, geht die Prozedur mit dem Schritt 913 weiter.
Im Schritt 913 wird der Mitteilungstyp unter Bezug auf das Label-Wert-Paar 4217H bestimmt. Der Wert des Label-Wert- Paares 4217A der Mitteilung R1 kann z. B. "Registration" sein.
Vorzugsweise werden drei Überprüfungen der Mitteilung R1 in den Schritten 914, 915 und 916 wie folgt durchgeführt.
Die Form der Überprüfung durch den Server im Schritt 914 ist abhängig vom Mitteilungstyp und der Software-Version. Das heißt, die erwartete Mitteilungsform und die Kriterien, um zu bestimmen, ob sie akzeptiert werden kann, hängen von der Mitteilung und den Variationen der Mitteilungen ab, die zu einem gegebenen Zeitpunkt gültig sind, der unter Bezug auf den Mitteilungstyp und die Version-Datenstruktur 150, die vorangehend beschrieben wurde, bestimmt wird. Zumindest wird das Paßform-Überprüfungs-Verfahren bestätigen, ob eine ankommende Mitteilung alle Labels enthält, die für die Mitteilung vorgeschrieben sind, ob Werte für jeden Label, der einen Wert benötigt, vorhanden sind, und ob die Werte von dem Typ, der Syntax und dem Wertebereich sind, der an­ gefordert wird. Wenn die Syntax einer Mitteilung verarbei­ tet werden kann, aber sie ein Formkriterium nicht erfüllt, wird der Servercomputer 100 einen Fehler-Flag im Schritt 905 setzen und einen Fehler-Code in der Mitteilung R2 (spä­ ter beschrieben) zurücksenden. Eine Mitteilung, die auf diese Art fehlerhaft ist, daß ihre Syntax vom Servercompu­ ter 100 nicht verarbeitet werden kann, wird verworfen. Wenn die Formüberprüfung im Schritt 914 erfolgreich verläuft, setzt das Verfahren mit dem Schritt 915 fort.
Im Schritt 915 wird die digitale Kennzeichnung, die durch den Wert des Label-Wert-Paares 4217K wiedergegeben wird, überprüft. Zunächst erhält die Server-Software 110 den öf­ fentlichen RSA-Schlüssel der Kunden-Person 120.1 von dem Wert des Label-Wert-Paares 4217J. Der erhaltene öffentliche RSA-Schlüssel aus dem Label-Wert-Paar 4217J wird zur Ent­ schlüsselung des Label-Wert-Paares 4217K verwendet. Als nächstes greift die Server-Software 110 auf die Mittei­ lungs-Datenstruktur 150 zu, um zu bestimmen, welche Label- Wert-Paare im Schritt 810 des Mitteilungs-Zusammensetzungs- Verfahrens 800 zerhackt wurden, um den Wert des Label-Wert- Paares 4217K zu berechnen. Die Server-Software 110 zerhackt dann die gleichen Label-Wert-Paare, die im Schritt 810 zer­ hackt wurden. Die zwei Hashwerte werden verglichen. Wenn die Hashwerte voneinander differieren, wird ein geeigneter Fehler-Flag im Schritt 905 gesetzt. In diesem Fall endet die Mitteilung-Entzifferungs-Prozedur 900 im Schritt 917. Wenn die Hashwerte zueinander passen, geht die Prozedur im Schritt 916 weiter.
Im Schritt 916 wird überprüft, ob die Kunden-Anwendungs­ software 210 aktuell ist, was wie folgt geschieht. Die Ser­ ver-Software 110 erhält die Versions-Nummer der Kunden-An­ wendungssoftware 210, die zum Zusammensetzen der Mitteilung R1 verwendet wurde, aus dem Wert des Label-Wert-Paares 4217C. Der erhaltene Wert wird mit der letzten unterstütz­ ten Versions-Nummer der Kunden-Anwendungssoftware 210 verg­ lichen.
Jede Version hat drei zugehörige "Status"-Labels. Wenn die Softwareüberprüfung "aktuell" zurücksendet, dann hat die Kunden-Anwendungssoftware 210 die Mitteilung R1 mit der letzten zur Verfügung stehenden Software-Version zusammen­ gesetzt. Keine Flags werden gesetzt, und die Mitteilungs- Entzifferungs-Prozedur 900 endet mit dem Schritt 917. Wenn die Softwareüberprüfung "Warnung" zurücksendet, ist die Version der Kunden-Anwendungssoftware 210 nicht die letzte, aber wird noch für brauchbar erachtet. Im Schritt 905 wird ein Flag gesetzt, der veranlaßt, daß eine Warnmitteilung an den Kundenbenutzer 203 in der Mitteilung R2 (später be­ schrieben) gesendet wird, und die Mitteilungs-Entzifferungs- Prozedur 900 endet im Schritt 917. Wenn der mit der Kunden- Anwendungssoftware 210 verbundene Label "Fehler" ist, ist die Anwendungssoftware nicht brauchbar und ein Fehler-Flag wird im Schritt 905 gesetzt, der veranlaßt, daß eine Feh­ lermitteilung an den Kundenbenutzer 203 in der Mitteilung R2 (später beschrieben) gesendet wird. Die Mitteilung-Ent­ zifferungs-Prozedur 900 endet im Schritt 917.
In Fig. 8 geht das Verfahren mit dem Schritt 1206 weiter. Wenn irgendeiner der Tests die Schritte 909A, 912, 914, 915 oder 916 veranlaßt hat, daß ein Fehler-Flag im Schritt 905 gesetzt wird, werden Fehlerverarbeitungs-Prozeduren vom Servercomputer 100 im Schritt 1215 durchgeführt. Während der Pegel der Fehlerverarbeitung im Schritt 1215 im wesent­ lichen eine administrative Entscheidung ist, wird bevor­ zugt, daß zumindest Fehler in der Prüfsumme, der Kennzeich­ nung und der Form in einer "Fehler"-Rückmeldung des Soft­ ware-Prüfverfahrens in einer Antwort-Mitteilung, die einen Code enthält, der von der Kunden-Anwendungssoftware 210 verarbeitet werden kann, und eine Mitteilung, die vom Kun­ denbenutzer 203 gelesen werden kann, resultieren. Das Feh­ lerverarbeitungs-Verfahren im Schritt 1215 hat zur Folge, daß ein Flag mit einem bestimmten Fehler-Code (später im Zusammenhang mit der Antwort-Mitteilung R2 beschrieben) angehängt wird und daß eine Textmitteilung (entweder aus ei­ ner Datenstruktur für Mitteilungen oder eine Mitteilung, die vom Systemadministrator gesendet wird) erzeugt wird. Der Servercomputer 100 erzeugt dann eine Mitteilung R2 ähn­ lich jener, die später beschrieben wird, an den Kundencom­ puter 200, die den Fehler-Code und jede darauf bezogene Mitteilung übermittelt.
Wenn die Tests der Schritte 909A, 912, 914, 916 nicht dazu geführt haben, daß ein Fehler-Flag im Schritt 905 gesetzt wird, geht das Verfahren zum Schritt 1207 weiter, in dem der Wert des Label-Wert-Paares 4217F mit den Personen-IDs im Feld 120A der Kunden-Personen 120.1 und im Feld 120AA der Händler-Personen 120.2, die in der Server-Personen-Da­ tenstruktur 120 enthalten sind, verglichen wird.
Wenn der Wert einmalig ist, erzeugt im Schritt 1209 die Server-Software 110 eine neue Person 120.1 in der Server- Personen-Datenstruktur 120. Die in der Mitteilung R1 ent­ haltene Information wird dann in die neue Person 120.1 wie folgt übertragen: Der Wert des Label-Wert-Paares 4217F und der Zwei-Digit-Prüfcode werden der Personen-ID im Feld 120A zugewiesen. Der Wert des Label-Wert-Paares 4217G wird in dem E-Mail-Adressenfeld 120B gespeichert. Der öffentliche RSA-Schlüssel aus dem Feld 120C empfängt den Wert des La­ bel-Wert-Paares 4217J. Der Wert des Label-Wert-Paares 4217B wird dem Feld 120D zugewiesen. Der Wert des Label-Wert-Paa­ res 4217D wird im Feld 120E gespeichert. Der Wert des La­ bel-Wert-Paar 4217H wird im Feld 120I gespeichert. Der Wert des Label-Wert-Paares 4217I wird im Feld 120F gespeichert. In diesem Fall setzt das Verfahren mit dem Schritt 1217 fort.
Wenn der Wert des Label-Wert-Paares 4217F in der Server- Personen-Datenstruktur 120 nicht einmalig ist, wie im Schritt 1207, so geht das Verfahren mit dem Schritt 1216 weiter.
Im Schritt 1216 wird eine vorgeschlagene Personen-ID be­ stimmt, indem eine Zufallszahl berechnet und der angefor­ derten ID ohne Trennzeichen angehängt wird. Aus "Brian" wird so "Brian15". In diesem Fall setzt das Verfahren mit dem Schritt 1217 fort.
Im Schritt 1217 setzt die Server-Software 110 eine in Fig. 13 gezeigte Antwort-Mitteilung R2 entsprechend dem Flußdia­ gramm aus Fig. 12 zusammen. Fig. 12 zeigt die Server-Mit­ teilungs-Zusammensetzungs-Prozedur 1000.
Die Server-Mitteilungs-Zusammensetzungs-Prozedur 1000 be­ ginnt mit dem Schritt 1001. Die Schritte 1002A-1002B erzeu­ gen das transparente Label-Wert-Paar 4313 der Mitteilung R2. Die Schritte 1002-1009 erzeugen das undurchsichtige La­ bel-Wert-Paar 4317 der Mitteilung R2. Die Schritte 1010-1014 setzen die Kopfzeile 4305, die transparenten Label- Wert-Paare 4313A-4313C, das undurchsichtige Label-Wert-Paar 4317 und den Trailer 4350 der Mitteilung R2 zusammen.
Im Schritt 1002 greift die Server-Software 110 auf die Mit­ teilungs-Datenstruktur 150 (Fig. 4A) zu, um eine Label-Li­ ste zu erhalten, die, wenn sie mit zugehörigen Werten zu­ sammenkommen, die transparenten Label-Wert-Paare 4313A-4313B der Mitteilung R2 bilden. Im Schritt 1002B werden die Werte jedem Label wie folgt zugeordnet:
Das Label-Wert-Paar 4313A hat den Label "Transaktion". Der Wert des Label-Wert-Paares 4313A ist eine Transaktion-Num­ mer. Der Wert des Label-Wert-Paares 4313A ist der gleiche wie jener, der mit dem Label-Wert-Paar 4213A der Mitteilung R1 empfangen wurde.
Das Feld 4313B hat den Label "Datum". Der Wert des Label- Wert-Paares 4313B ist der gleiche wie jener, der mit dem Label-Wert-Paar 4313B in der Mitteilung R1 empfangen wurde.
Das Label-Wert-Paar 4313C hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paares 4313C ist der gleiche wie jener, der mit dem Label-Wert-Paar 4313D der Mitteilung R1 empfangen wurde.
Beim Schritt 1002 greift die Server-Software 110 auf die Mitteilungs-Schablonen-Datenstruktur 150 zu, um eine Label- Liste zu erhalten, die, wenn sie mit zugehörigen Werten zu­ sammenkommen, den in Fig. 13B gezeigten undurchsichtigen Abschnitt der Mitteilung R2 bilden.
Die Verarbeitung geht mit dem Schritt 1005 weiter. Hier werden die Werte mit den Labeln zusammengefügt, um die La­ bel-Wert-Paare 4317A-4317K aus Fig. 13b zu bilden.
Der undurchsichtige Abschnitt der Mitteilung R2 ist in Fig. 13B gezeigt, wo das Label-Wert-Paar 4317A den Label "Typ" hat. Das Label-Wert-Paar 4317A bezieht sich auf einen Da­ tensatz in der Mitteilungs-Datenstruktur 150, der den Label des undurchsichtigen Abschnitts der Mitteilung R2 festlegt. Der Wert des Label-Wert-Paares 4317A wird von der Server- Software 110 erhalten.
Das Label-Wert-Paar 4317B hat den Label "Server-Datum". Der Wert des Label-Wert-Paares 4317B zeigt das Datum und die Uhrzeit an, zu der nach der Uhr des Servercomputers 100 die Mitteilung R2 zusammengesetzt wurde.
Das Label-Wert-Paar 4317C hat den Label "angeforderte ID". Der Wert des Label-Wert-Paares 4317C zeigt die Personen-ID an, die vom Kunden-Benutzer 203 angefordert wird. Der Wert des Label-Wert-Paares 4317C wird vom Label-Wert-Paar 4217F in Mitteilung R1 empfangen.
Das Label-Wert-Paar 4317D hat den Label "Antwort-ID". Der Wert des Label-Wert-Paares 4317D zeigt die Personen-ID des Kunden-Benutzers 203 an oder, wenn die im Label-Wert-Paar 4317C angeforderte ID doppelt vorkommt, zeigt er eine vor­ geschlagene Personen-ID an.
Das Label-Wert-Paar 4317E hat den Label "E-Mail". Der Wert des Label-Wert-Paares 4317E zeigt eine E-Mail-Adresse des Kunden-Benutzers 203 an. Der Wert des Label-Wert-Paares 4317E wird vom Label-Wert-Paar 4217G der Mitteilung R1 emp­ fangen.
Das Label-Wert-Paar 4317F hat den Label "Antwort-Code". Der Wert des Label-Wert-Paares 4317F zeigt an, ob das Registra­ tions-Verfahren erfolgreich oder fehlerhaft war.
Das Label-Wert-Paar 4317G hat den Label "Warte auf Zah­ lungsmittel". Der Wert des Label-Wert-Paares 4317G zeigt an, ob irgendwelche Mitteilungen für den Inhaber der E- Mail-Adresse im Label-Wert-Paar 4317E Zahlungsmittel be­ reithalten. Alternativ dazu kann das Label-Wert-Paar die Nummer solcher E-Mail-Mitteilungen anzeigen. Ein anderer Ansatz liefert ein Mittel, durch das der zu Registrierende alle solche Zahlungsmittel erhält, wobei vorzugsweise der zu Registrierende eine Mitteilung an den Servercomputer 100 sendet, die ein Paßwort enthält, das von dem Absender der Zahlungsmittel geliefert wurde.
Das Label-Wert-Paar 4317H hat den Label "Selbstschließungs- Paß-Satz". Der Wert des Label-Wert-Paares 4317H zeigt einen Selbstschließungs-Paß-Satz für den Kunden-Benutzer 203 an. Der Wert des Label-Wert-Paar 4317H wurde mit dem Label- Wert-Paar 4217I der Mitteilung R1 empfangen.
Das Label-Wert-Paar 4317I hat den Label "öffentlicher Schlüssel". Der Wert des Label-Wert-Paares 4317I, das in Fig. 13B gezeigt ist, stellt den öffentlichen RSA-Schlüssel der Kunden-Person 120.1 dar, der mit dem Label-Wert-Paar 4217J der Mitteilung K1 empfangen wurde.
Das Label-Wert-Paar 4317J hat den Label "SW-Severity" (Software-Severity). Der Wert des Label-Wert-Paares 4317J zeigt an, ob die Kunden-Anwendungssoftware 210 ein Update benötigt aber immer noch verwendbar ist ("Warnung"), oder ob sie nicht mehr verwendbar ist ("Fehler"). Der Wert des Label-Wert-Paares 4317J ist Null, wenn die Kunden-Anwen­ dungssoftware 210 aktuell ist.
Das Label-Wert-Paar 4317K hat den Label "SW-Mitteilung" (Software-Mitteilung). Der Wert des Label-Wert-Paares 4317K zeigt Befehle an bezüglich dessen, was der Kunden-Benutzer 203 in dem Fall von "Fehler" oder "Warnung" bei der Soft­ ware-Severity tun muß. Der Wert des Label-Wert-Paares 4317K liegt nur vor, wenn der Wert des Label-Wert-Paares 4317J nicht gleich Null ist.
Das Label-Wert-Paar 4317L hat den Label "Mitteilung". Der Wert des Label-Wert-Paares 4317L ist eine freie Textmittei­ lung, die mit einer Fehler- oder Erfolgsbedingung zusammen­ hängt, die mit dem Label-Wert-Paar 4317F zurückgesendet wird und dem Kunden-Benutzer 203 angezeigt wird.
In Fig. 12 geht die Prozedur mit dem Schritt 1007 weiter. Hier werden die Label-Wert-Paare 4317A-4317L der Fig. 13B zusammengesetzt und mit dem im Schritt 909 entschlüsselten DES-Schlüssel/IV-Paar verschlüsselt.
Im Schritt 1009 werden die Label-Wert-Paare 4317A-4317L, die im Schritt 1007 verschlüsselt wurden, mit bekannten Techniken codiert (vorzugsweise auf Basis 64).
Die Mitteilung R2 wird in den Schritten 1010-1014 zusammen­ gesetzt. Im Schritt 1010 wird die Kopfzeile 4305 unter Ver­ wendung der Mitteilungs- und Typ-Datenstruktur 150 und der Protokoll-Nummer der eingehenden Mitteilung R1 zusammenge­ setzt.
Als nächstes werden im Schritt 1011 die vorher beschriebe­ nen transparenten Label-Wert-Paare 4313A und 4313B hinzuge­ fügt.
Im Schritt 1012 wird das undurchsichtige Label-Wert-Paar 4317 hinzugefügt. Das Label-Wert-Paar 4317 hat den Label "undurchsichtig", was bedeutet, daß der folgende Wert ver­ schlüsselte Daten sind. Der Wert des Label-Wert-Paares 4317 stellt die im Schritt 1009 codierten Daten dar.
Der Trailer 4350 wird im Schritt 1013 zusammengesetzt. Die Prüfsumme im Trailer 4350 wird, wie vorangehend unter Bezug auf die Probemitteilung 4000 beschrieben wurde, berechnet. Der Trailer 4350 wird der Mitteilung R2 hinzugefügt. Im Schritt 1014 wird eine Kopie der vollständigen Mitteilung R2 im Feld 140F der Server-Mitteilungs-Log-Datenstruktur 140 gesichert.
Die Zusammensetzung der Mitteilung R2 ist nun vervollstän­ digt. Die Mitteilungs-Zusammensetzungs-Prozedur 1000 endet mit dem Schritt 1015.
In Fig. 8 wird im Schritt 1218 die Mitteilung R2 vom Ser­ vercomputer 100 an den Kundencomputer 200 gesendet.
Im Schritt 1219 empfängt der Kundencomputer 200 die Mittei­ lung R2 vom Servercomputer 100 und entziffert die Mittei­ lung R2, indem er die Mitteilung-Entzifferungs-Prozedur 1100 durchführt. Die Mitteilung-Entzifferungs-Prozedur 1100 wird nun unter Bezug auf Fig. 14 beschrieben, wo es mit dem Schritt 1101 beginnt.
Im Schritt 1102 entnimmt die Kunden-Anwendungssoftware 210 die Protokoll-Nummer aus der Kopfzeile 4305 der Mitteilung R2. Als nächstes wird beruhend auf der entnommenen Proto­ koll-Nummer im Schritt 1102 auf die Mitteilungs-Schablonen- Datenstruktur 270 (Fig. 5A) zugegriffen, um das erwartete Format der Mitteilung R2 zu bestimmen. Das erwartete Format kann die Mitteilungssyntax (z. B. erlaubte Endzeilen-Charak­ ter) und Mitteilungscodierung (z. B. ASCII oder hexadezimal) enthalten. Die Syntax der Mitteilung R2 wird in Überein­ stimmung mit dem erwarteten Format wie folgt analysiert.
Im Schritt 1103 berechnet der Kundencomputer 200 eine Prüf­ summe unter Verwendung der gleichen Daten, die der Server­ computer 100 im Schritt 1013 der Server-Mitteilungs-Zusam­ mensetzungs-Prozedur 1000 verwendet hat. Im Schritt 1104 wird die im Schritt 1103 berechnete Prüfsumme mit der Prüf­ summe im Trailer 4350 der Mitteilung R2 verglichen. Wenn die Prüfsummen nicht gleich sind, wird im Schritt 1104A die Mitteilung R2 verworfen, wobei die Mitteilung-Entziffe­ rungs-Prozedur 1100 beendet ist.
Wenn aber im Schritt 1104 die Prüfsummen einander gleich sind, setzt das Verfahren mit dem Schritt 1105A fort, wo die Mitteilung geprüft wird, um zu bestimmen, ob sie für die Mitteilung-Entzifferungs-Prozedur 1100 geeignet ist. Wenn eine Mitteilung nicht das Label "Typ" in dem transpa­ renten Teil der Mitteilung enthält, ist die Mitteilung-Ent­ zifferungs-Prozedur 1100 geeignet. Mitteilungen, die vom Kundencomputer 200 empfangen werden und das Label "Typ" im transparenten Teil der Mitteilung enthalten, werden unter Verwendung anderer Prozeduren (anderswo beschrieben) im Schritt 1105B entziffert. Hier ist die Mitteilung R2 ge­ eignet, weshalb die Prozedur mit dem Schritt 1106C weiter­ fährt, wo der Wert des undurchsichtigen Label-Wert-Paares 4317 decodiert wird.
Im Schritt 1107 wird das DES-Schlüssel/IV-Paar, das in dem temporären Register im Schritt 802 der Mitteilungs-Zusam­ mensetzungs-Prozedur gespeichert wurde, ersetzt.
Im Schritt 1108 wird das im Schritt 1107 ersetzte DES- Schlüssel/IV-Paar zur Entschlüsselung des Wertes des un­ durchsichtigen Label-Wert-Paares 4317 verwendet. Wenn aus irgendeinem Grund die Entschlüsselung des undurchsichtigen Label-Wert-Paares 4317 keinen Erfolg hat, lenkt der Schritt 1109 die Verarbeitung der Mitteilung R2 auf den Schritt 1105, wo ein Fehler-Flag gesetzt wird. In diesem Fall stoppt die Verarbeitung des Mitteilung-Entzifferungs-Ver­ fahrens 1100 beim Schritt 1121. Wenn die Entschlüsselung des Label-Wert-Paares 4317 Erfolg hat, geht das Verfahren mit dem Schritt 1110 weiter.
Im Schritt 1110 wird der Mitteilungs-Typ unter Bezugnahme auf das Label-Wert-Paar 4317A bestimmt. Der Wert des Label- Wert-Paares 4317A der Mitteilung R2 kann z. B. "Registrati­ ons-Antwort" sein.
Eine Überprüfung der Mitteilung R2 wird dann im Schritt 1111 wie folgt durchgeführt. Die Mitteilungs-Schablonen-Da­ tenstruktur 270 (Fig. 5A) enthält Daten bezüglich der Form der ankommenden Mitteilung. Zumindest wird das Paßformüberprüfungs-Verfahren überprüfen, ob eine ankommende Mit­ teilung alle Labels, die für die Mitteilung vorgeschrieben sind, enthält, ob es Werte für jedes Label, der einen Wert benötigt, gibt und ob die Werte von dem Typ (z. B. Text, Kennzeichen-Nummern), der Syntax (z. B. in der Form einer gültigen E-Mail-Adresse) und innerhalb aller festgelegten Grenzen liegen, wie es gefordert wird. Wenn zusätzliche La­ bels auftreten, wird der Kundencomputer 200 diese ignorie­ ren. Wenn die Syntax einer Mitteilung nicht analysiert wer­ den kann oder wenn die Syntax analysiert werden kann, aber nicht mit den Formkriterien übereinstimmt, wird ein Fehler- Flag im Schritt 1105 gesetzt.
Wenn ein Mitteilung durch die Form-Überprüfung in den Schritt 1111 passiert, endet die Mitteilungs-Entzifferungs- Prozedur 1100 mit dem Schritt 1121.
In Fig. 8 geht das Verfahren weiter mit dem Schritt 1220. Hier ist es vorteilhaft, daß Fehlermeldungen wie folgt be­ arbeitet werden.
  • (1) Wenn ein Fehler-Flag im Schritt 1105 gesetzt wurde, wird dieser Flag im Schritt 1220 detektiert, und die Verar­ beitung der Mitteilung R2 wird im Schritt 1221 enden. Aus der Sicht des Kunden-Benutzers 203 wird keine weitere Hand­ lung in bezug auf die Mitteilung R2 unternommen. Bei der bevorzugten Ausführungsform der Erfindung ist vorgesehen, einen Mechanismus in die Kunden-Anwendungssoftware 210 ein­ zubauen, um eine Mitteilung zu erzeugen und an den Server­ computer 100 zu senden. Die Mitteilung enthält die Mittei­ lung R2, wie sie vom Kundencomputer 200 empfangen wurde, und alle Diagnosen bezüglich des Grundes, warum die Mittei­ lung fehlerhaft war. Auf diese Mitteilung wird vom Server­ computer 100 keine Antwort zu dem Kundencomputer 200 gesen­ det. Statt dessen wird die Information verwendet, um zu überprüfen, ob ein Problem innerhalb des Systems vorliegt und ob geeignete Korrekturmaßnahmen getroffen werden müs­ sen.
  • (2) Wenn kein Fehler-Flag im Schritt 1105 gesetzt wurde, aber ein Fehler in der Mitteilung R1 im Schritt 905 oder im Schritt 1216 detektiert wurde, wird die Verarbei­ tung mit dem Schritt 1222 fortfahren, wo der Inhalt des La­ bel-Wertes 4317F geprüft wird. Wenn der Wert des Label-Wer­ tes 4317F ein anderer als "Erfolg" ist, werden Fehler-Ver­ arbeitungs-Prozeduren im Schritt 1123 durchgeführt, wodurch die Kunden-Anwendungssoftware 210 veranlaßt wird, eine Mit­ teilung anzuzeigen, die in dem Label-Wert 4317K enthalten und mit dem Inhalt des Label-Wertes 4317F verbunden ist, den Wert des Label-Wertes 4317 zu interpretieren und jede mit dem Wert gebundene Handlung vorzunehmen. Insbesondere wird, wenn der einzige Fehler-Flag im Schritt 1216 gesetzt wurde, der anzeigt, daß die angeforderte ID nicht einmalig ist, die vom Servercomputer 100 vorgeschlagene und in das Label-Wert-Paar 4317D zurückgesendete ID angezeigt, und das Registrations-Verfahren wird beim Schritt 1201 erneut ge­ startet; oder
  • (3) wenn die Mitteilung R1 durch den Prüfschritt 905 gelangt, kein Flag im Schritt 1105 gesetzt wird und die vom Kunden-Benutzer 203 angeforderte ID vom Servercomputer 100 akzeptiert wird, fährt das Verfahren mit dem Schritt 1224 fort, wo die Kunden-Anwendungssoftware 210 ein Update der Kundendatenbank 202 wie folgt durchführt. Der Wert des La­ bel-Wertes 4317D und der Zwei-Digit-Prüfcode werden der Kunden-Personen-ID im Feld 220A zugeordnet. Der Wert des Label-Wert-Paares 4317E wird in der E-Mail-Adresse des Fel­ des 220B gespeichert. Der öffentliche RSA-Schlüssel im Feld 220C empfängt den Wert, der von der Kunden-Anwendungssoft­ ware 210 erzeugt wurde und in dem Label-Wert-Paar 4317I wiederholt wird. Zusätzlich wird der Datensatz 261 der Kun­ den-Log-Datenstruktur 260 wie folgt erzeugt. Die Transak­ tion-Nummer des Label-Wert-Paares 4313A wird im Feld 261B gespeichert. Das Datum von dem Label-Wert-Paar 4317B wird im Feld 261C gespeichert. Die angeforderte ID des Label- Wert-Paares 4317C wird im Feld 261H gespeichert. Die Ant­ wort-ID aus dem Label-Wert-Paar 4317D wird im Feld 261I ge­ speichert. Die E-Mail-Adresse aus dem Label-Wert-Paar 4317E wird im Feld 261J gespeichert. Der Antwort-Code aus dem La­ bel-Wert-Paar 4317F wird im Feld 261F gespeichert. Der Software-Severity-Code aus dem Label-Wert-Paar 4317J wird im Feld 261D gespeichert. Die Software-Mitteilung aus dem Label-Wert-Paar 4317K wird im Feld 261E gespeichert. Die Antwort-Mitteilung, die mit dem Antwort-Code aus dem Feld 4317L verbunden ist, wird im Feld 261G gespeichert.
Die Verarbeitung fährt mit dem Schritt 1225 fort, wo das Registrations-Verfahren 401 endet.
C. Instrument-Bindungs-Verfahren 403
Das Instrumentbindungs-Verfahren 403 ist ein Verfahren, bei dem ein Kunden-Benutzer 203 ein Instrument an die Kunden- Person 120.1 bindet. Fig. 15 zeigt ein Flußdiagramm, das das Instrumentbindungs-Verfahren darstellt, welches mit dem Schritt 1301 beginnt.
Im Schritt 1302 fordert die Kunden-Anwendungssoftware 210 den Kunden-Benutzer 203 auf, Information bezüglich des an die Kunden-Person 120.1 anzubindenden Instruments ein 99999 00070 552 001000280000000200012000285919988800040 0002019652294 00004 99880zuge­ ben. Diese Information wird in der Mitteilung BI1 enthalten sein, die an den Servercomputer 100 gesendet wird, und wird Teil der Instrumentbindungsdaten 120H (Felder 120H.1-120H.28) für das zu bindende Instrument. Bei der bevorzug­ ten Ausführungsform gibt der Kunden-Benutzer 203 die In­ strument-Nummer, das Instrument-Ablaufdatum, die Instru­ ment-Kunden-Identifikation-Nummer und den Namen, die Straße, die Stadt, den Staat, die Postleitzahl, das Land, den Länder-Code und die Telefonnummer (einschließlich Vor­ wahl) des Instrument-Halters ein. Der Kunden-Benutzer 203 wird auch aufgefordert, anzugeben, ob das zu bindende In­ strument ein Selbstschließungs-Instrument ist, wie es vor­ angehend beschrieben wurde. Zusätzlich erzeugt die Kunden- Anwendungssoftware 210 eine Zufallszahl (vorzugsweise als "Instrument-Salt"). Der Kunden-Benutzer 203 wird auch nach einer Beschreibung des zu bindenden Instrumentes gefragt. Diese Beschreibung kann in Form von "Firmenkreditkarte" oder "John′s Bankkonto" sein. Für das Anbinden von Kredit­ karten wird die Information im Feld 252R in der anhängigen Kunden-Transaktion-Datenstruktur 250 gespeichert. Der In­ strument-Typ, die Instrument-Kategorie und die Instrument- Funktionen werden von der Kunden-Anwendungssoftware 210 aus den vom Kunden-Benutzer 203 eingegebenen Daten abgeleitet.
Während die im Schritt 1302 erhaltenen Daten bezogen auf ein Kreditkarten-Instrument beschrieben wurden, liegt es im Wissen des Fachmanns, die Kreditkarten-Daten zur Aufnahme von Schuldkarten, Konten (DDAs) und anderen Finanzinstrumen­ ten zu modifizieren.
Die Mitteilung BI1 wird von dem Kundencomputer 200 zusam­ mengesetzt und an den Servercomputer 100 zur Durchführung des Instrumentbindungs-Verfahrens 403 übermittelt. Die In­ halte der Mitteilung BI1 werden in bezug auf die Fig. 16A und 16B beschrieben.
Das Label-Wert-Paar 4413A hat den Label "ID". Der Wert des Label-Wert-Paares 4413A zeigt die Personen-ID des Kunden- Benutzers 203 an. Der Wert des Label-Wert-Paares 4413A wird aus dem Feld 220A der Kunden-Personen-Datenstruktur 220 (Fig. 5B) erhalten.
Das Label-Wert-Paar 4413B hat den Label "Transaktion". Der Wert des Label-Wert-Paares 4413B ist eine Transaktion-Num­ mer, die von der Kunden-Anwendungssoftware 210 erzeugt wird und einmalig zur Identifizierung der Mitteilung BI1 ist. Der Wert des zugehörigen Label-Wert-Paares 4413B wird im Feld 252B (Fig. 5H) gespeichert.
Das Label-Wert-Paar 4413C hat den Label "Datum". Der Wert des Label-Wert-Paares 4413B zeigt das Datum und die Uhrzeit an, zu der die Mitteilung BI1 zusammengesetzt und an den Servercomputer 100 gesendet wurde, wobei dies nach der Uhr des Kundencomputers 200 erfolgt. Der Wert des zugehörigen Label-Wert-Paares 4413C wird im Feld 252C der anhängigen Kunden-Datenstruktur 250 gespeichert.
Das Label-Wert-Paar 4413D hat den Label "Server-Schlüssel". Wie später beschrieben wird, wird das DES-Schlüssel/IV- Paar, das vom Kundencomputer 200 zur Verschlüsselung des undurchsichtigen Label-Wert-Paares 4417 der Mitteilung BI1 verwendet wird, unter Verwendung eines öffentlichen RSA- Schlüssels des Servercomputers 100 verschlüsselt. Der Wert des Label-Wert-Paares 4413D zeigt auf den entsprechenden privaten RSA-Schlüssel, der in der Server-Privatschlüssel- Datenstruktur 160 gespeichert ist.
Das Label-Wert-Paar 4413E hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paares 4413E ist ein Label, das verwendet werden kann, um die Mitteilung BI1 zu einem Prozessor innerhalb des Servercomputers 100 zu leiten, der die Mitteilung einer bestimmten Service-Kategorie bearbei­ tet.
Das Label-Wert-Paar 4417 hat den Label "undurchsichtig", was bedeutet, daß die folgenden Daten den verschlüsselten undurchsichtigen Abschnitt der Mitteilung BI1 enthalten.
Der undurchsichtige Abschnitt der Mitteilung BI1, der in Fig. 16B gezeigt ist, wird nun beschrieben.
Das Label-Wert-Paar 4417A hat den Label "Typ". Der Wert des Label-Wert-Paares 4417A bezieht sich auf Datensätze in der Mitteilungs-Datenstruktur 270 (Fig. 5A), die die Labels der undurchsichtigen Abschnitte der Mitteilung BI1 bestimmen. Der Wert des Label-Wert-Paares 4417A wird aus der Kunden- Anwendungssoftware 210 erhalten, die den Wert erzeugt, wenn der Kunden-Benutzer 203 das Instrument-Bindungs-Verfahren 403 einleitet.
Das Label-Wert-Paar 4417B hat den Label "Server-Datum". Der Wert des Label-Wert-Paares 4417B zeigt das Datum und die Uhrzeit an, zu der die Mitteilung BI1 zusammengesetzt wurde, wobei die Messung durch die Uhr des Kundencomputers 200 unter Anleitung des Servercomputers 100 erfolgt.
Das Label-Wert-Paar 4417C hat den Label "SW-Version" (Soft­ ware-Version). Der Wert des Label-Wert-Paares 4417C zeigt die Version der Kunden-Anwendungssoftware 210 an, die mit dem Servercomputer 100 kommuniziert. Der Wert des Label- Wert-Paares 4417C wird von den Daten erhalten, die in der Kunden-Anwendungssoftware 210 enthalten sind. Der Wert des zugehörigen Label-Wert-Paares 4417C wird im Feld 252D (Fig. 5H) gespeichert.
Das Label-Wert-Paar 4417D hat den Label "Instrument-Num­ mer". Aus Sicherheitsgründen wird die tatsächliche Instru­ ment-Nummer nicht in der Datenbank 120 des Servercomputers 100 gespeichert. Anstatt dessen wird die Instrument-Nummer in der Datenbank 102 als Hashwert gespeichert. Der Hash des dem Label-Wert-Paar 4417D zugehörigen Wertes wird im Feld 252F gespeichert.
Das Label-Wert-Paar 4417E hat den Label "Instrument-Typ". Das Label-Wert-Paar 4417E zeigt einen Instrument-Typ an, z. B. VISA, Master Card, American Express, usw. Der Wert des Label-Wert-Paares 4417E wird von dem Kunden-Benutzer 203 während des Instrument-Rindungs-Verfahrens 403 im Schritt 1302 erhalten, oder kann von der Kunden-Anwendungssoftware 210 aus der Instrument-Nummer abgeleitet werden. Der mit dem Label-Wert-Paar 4417E verbundene Wert wird im Feld 252T gespeichert.
Das Label-Wert-Paar 4417F hat den Label "Instrument-Katego­ rie". Der Wert des Label-Wert-Paares 4417F zeigt die Kate­ gorie des Instrumentes an, das angebunden wird. Die Katego­ rien können z. B. sein: Kreditkarte, Schuldkarte, Konto (DDAs) usw. Der Wert des Label-Wert-Paares 4417F wird von der Kunden-Anwendungssoftware 210 während des Instrument- Bindungs-Verfahrens 403 im Schritt 1302 abgeleitet.
Das Label-Wert-Paar 4417I hat den Label "Instrument-Funk­ tionen" und hat vorzugsweise eine Kombination der folgenden Werte: "Belastet", "Kredit", "Lade" oder "Entlade". Der Wert des Label-Wert-Paares 4417I zeigt eine oder mehrere Funktionen an, die vom Kunden-Benutzer 203 mit dem anzubin­ denden Instrument ausgeführt werden können. Eine Bela­ stungs-Transaktion tritt auf, wenn eine Person 120.1 ein gebundenes Instrument als Kreditkarte zur Bezahlung eines Produkts benutzt. Eine Kredit-Transaktion ist ein Vorgang, bei dem ein Händler der Kunden-Person 120 anstelle der Lie­ ferung des ursprünglich vereinbarten Produkts eine Gut­ schrift gibt. Die Lade- und Entlade-Transaktionen sind die gleichen, die vorangehend beschrieben wurden. Die Funk­ tion/Funktionen des Label-Wert-Paares 4417I werden von der Kunden-Anwendungssoftware 210 während des Instrument-Bin­ dungs-Verfahrens 403 im Schritt 1302 abgeleitet.
Das Label-Wert-Paar 4417J hat den Label "Instrument-Salt". Der Wert des Label-Wert-Paares 4417J zeigt ein kryptogra­ phisches Salt an, das verwendet wird, um die Bestimmung des Wertes des Label-Wert-Paares 4417T (bezüglich der Instru­ ment-Nummer) zu erschweren. Der Wert des Label-Wert-Paares 4417J wird von der Kunden-Anwendungssoftware 210 während des Instrumentbindungs-Verfahrens 403 im Schritt 1302 er­ zeugt. Der Wert des zugehörigen Label-Wert-Paares 4417J wird im Feld 252U (Fig. 5H) gespeichert.
Das Label-Wert-Paar 4417K hat den Label "Instrument-Aus­ lauf-Datum". Der Wert des Label-Wert-Paares 4417J zeigt den Ablauftag des zu bindenden Instrumentes an. Der Wert des Label-Wert-Paares 4417K wird vom Kunden-Benutzer 203 wäh­ rend des Instrument-Bindungs-Verfahrens 403 im Schritt 1302 erhalten. Der Wert des zugehörigen Label-Wert-Paares 4417K wird im Feld 252I gespeichert.
Das Label-Wert-Paar 4417L hat den Label "Instrument-Name". Der Wert des Label-Wert-Paares 4417L zeigt den Namen des Halters des zu bindenden Instrumentes an. Der Wert des La­ bel-Wert-Paares 4417L wird von dem Kunden-Benutzer 203 wäh­ rend des Instrument-Bindungs-Verfahrens 403 im Schritt 1302 erhalten. Der zu dem Label-Wert-Paar 4417L gehörende Wert wird im Feld 252H gespeichert.
Das Label-Wert-Paar 4417M hat den Label "Instrument- Straße". Der Wert des Label-Wert-Paares 4417M zeigt die Straße an, in der der Halter des zu bindenden Instruments wohnt. Der Wert des Label-Wert-Paares 4417M wird vom Kun­ den-Benutzer 203 während des Instrument-Bindungs-Verfahrens 403 im Schritt 1302 erhalten.
Das Label-Wert-Paar 4417N hat den Label "Instrument-Stadt". Der Wert des Label-Wert-Paares 4417N zeigt die Stadt an, in der der Halter des zu bindenden Instrumentes wohnt. Der Wert des Label-Wert-Paares 4417N wird vom Kunden-Benutzer 203 während des Instrument-Bindungs-Verfahrens 403 im Schritt 1302 erhalten.
Das Label-Wert-Paar 44170 hat den Label "Instrument-Staat". Der Wert des Label-Wert-Paares 44170 zeigt den Staat an, in dem der Halter des zu bindenden Instrumentes wohnt. Der Wert des Label-Wert-Paares 44170 wird vom Kunden-Benutzer 203 während des Instrument-Bindungs-Verfahrens 403 im Schritt 1302 erhalten.
Das Label-Wert-Paar 4417P hat den Label "Instrument-Post­ leitzahl". Der Wert des Label-Wert-Paares 4417P zeigt die Postleitzahl des Halters des zu bindenden Instrumentes an. Der Wert des Label-Wert-Paares 4417P wird vom Kunden-Benut­ zer 203 während des Instrument-Bindungs-Verfahrens 403 im Schritt 1302 erhalten.
Das Label-Wert-Paar 4417Q hat den Label "Instrument-Land". Der Wert des Label-Wert-Paares 4417Q zeigt das Land des Halters des zu bindenden Instrumentes an. Der Wert des La­ bel-Wert-Paares 4417Q wird vom Kunden-Benutzer 203 während des Instrument-Bindungs-Verfahrens 403 im Schritt 1302 er­ halten.
Die mit dem Label-Wert-Paar 4417M-4417Q gebundenen Werte werden in den Feldern 252I-252N (Fig. 5H) gespeichert.
Das Label-Wert-Paar 4417R hat den Label "Übereinkommen". Das Label-Wert-Paar 4417R zeigt an, welche gesetzlichen Übereinkommen der Kunden-Benutzer 203 bei der Verwendung der Erfindung akzeptiert hat. Der Wert des Label-Wert-Paa­ res 4417R wird entsprechend Übereinkommen erzeugt, die der Kunden-Benutzer 203 akzeptiert hat, und wird im Feld 230S (Fig. 5D) gespeichert.
Das Label-Wert-Paar 4417S hat den Label "Selbstschließung" und kann den Wert "Ja" oder "Nein" haben. Der Wert des La­ bel-Wert-Paares 4417S zeigt an, ob das zu bindende Instru­ ment ein Selbstschließungs-Instrument für den Kunden-Benut­ zer 203 ist. Der Wert des Label-Wert-Paares 4417S wird vom Kunden-Benutzer 203 während des Instrument-Bindungs-Verfah­ rens 403 im Schritt 1302 erhalten.
Das Label-Wert-Paar 4417T hat den Label "Selbstschließungs- Paß-Satz". Der Wert des Label-Wert-Paares 4417C zeigt den Paß-Satz (vorzugsweise 6 bis 15 Charakter) an, die, wenn sie verwendet werden, die Kunden-Person 120.1 schließen. Das Label-Wert-Paar 4417T liegt nur vor, wenn der Wert des Label-Wert-Paares 4417T "Ja" ist. Der Wert des Label-Wert- Paares 4417T wird vom Kunden-Benutzer 203 während des Regi­ strations-Verfahrens 401 geliefert.
Das Label-Wert-Paar 4417U hat den Label "Schlüssel". Der Wert des Label-Wert-Paares 4417U repräsentiert einen Hash des modalen Teils des öffentlichen/privaten RSA-Schlüssel­ paares der Kunden-Person 120.1. Der Wert des Label-Wert- Paares 4417U erlaubt es dem Servercomputer 100 zu bestäti­ gen, daß der öffentliche RSA-Schlüssel, der im Feld 120B (Fig. 4B) gehalten wird, der gleiche Schlüssel ist, der zur Kennzeichnung der Mitteilung BI1 verwendet wurde (Label- Wert-Paar 4417V).
Die digitale Kennzeichnung der Mitteilung BI1, die durch das Label-Wert-Paar 4417V dargestellt wird, hat den Label "Kennzeichnung". Der Wert des Label-Wert-Paares 4417V stellt die digitale Kennzeichnung der Kunden-Personen 120.1 dar. Für die Mitteilung BI1 ist der Wert des Label-Wert- Paares 4417V vorzugsweise ein Hash der Label-Wert-Paare 4413A-4413D und der Label-Wert-Paare 4417A-4417U in alpha­ betischer Reihenfolge, die mit dem privaten RSA-Schlüssel der Kunden-Personen 120.1 verschlüsselt werden. Der private RSA-Schlüssel der Kunden-Person 120.1 wird aus dem Feld 220H (Fig. 5C) erhalten.
In Fig. 15 wird im Schritt 1303 die Mitteilung BI1 in Über­ einstimmung mit der Mitteilungs-Zusammensetzungs-Prozedur 800, die in Fig. 9 gezeigt ist, zusammengesetzt. Die Mit­ teilungs-Zusammensetzungs-Prozedur wurde vorher für die Zu­ sammensetzung der Registrations-Mitteilung R1 beschrieben, wobei für die Mitteilung BI1 folgende Modifikation anzumer­ ken ist. Eine Kopie der Mitteilung BI1 wird vorzugsweise im Feld 252W (Fig. 5H) gespeichert, wobei das Instrument-Bin­ dungs-Verfahren 403 mit dem Schritt 1204 fortfährt. Dort übermittelt der Kundencomputer 200 die Mitteilung BI1 an den Servercomputer 100. Der Kundencomputer 200 wartet auf die Antwort-Mitteilung BI4 vom Servercomputer 100.
Im Schritt 1305 empfängt der Servercomputer 100 die Mittei­ lung BI1 vom Kundencomputer 200 und entziffert die Mittei­ lung BI1, indem er die Server-Mitteilungs-Entzifferungs- Prozedur 900 (Schritte 901-917) ausführt. Die Server-Mit­ teilungs-Entzifferungs-Prozedur 900 (Schritte 901-917) wurde vorangehend unter Bezug auf die Fig. 11 für die Mit­ teilung R1 beschrieben.
Im Schritt 1306 werden, wenn irgendeiner der Tests der Schritte 909A, 912, 914, 915 oder 916 zum Setzen eines Feh­ ler-Flags im Schritt 905 geführt hat, die Fehler-Verarbei­ tungs-Prozeduren vom Servercomputer 100 im Schritt 1313 durchgeführt.
Während der Pegel der Fehler-Verarbeitung im Schritt 1313 im wesentlichen eine administrative Entscheidung ist, ist es bevorzugt, daß zumindest Fehler der Prüfsumme, der Kenn­ zeichnung und Form und eine "Fehler"-Antwort der Software- Prüfprozedur zu einer Antwort-Mitteilung führen, die einen Code, der von den Kunden-Anwendungssoftware 210 verarbeitet werden kann, und eine Mitteilung, die vom Kunden-Benutzer 203 gelesen werden kann, enthält. Die Fehler-Verarbeitungs- Prozedur aus dem Schritt 1313 hat ein zugehöriges Flag mit einem bestimmten Fehler-Code (im Anschluß beschrieben im Zusammenhang mit der Antwort-Mitteilung BI4) und die Erzeu­ gung einer Textmitteilung (entweder von einer Datenstruktur der Mitteilungen oder einer Mitteilung, die von dem Syste­ madministrator gesendet wurde) zur Folge. Der Servercompu­ ter 100 sendet dann eine Mitteilung BI4 an den Servercompu­ ter 100, die später beschrieben wird und den Fehler-Code und jede darauf bezogene Mitteilung übermittelt.
Wenn die Tests der Schritte 909A, 912, 914, 915 und 916 nicht das Setzen eines Fehler-Flags im Schritt 905 verur­ sacht haben, setzt die Verarbeitung mit dem Schritt 1307 fort. Hier wird die in der Mitteilung BI1 enthaltene Infor­ mation in die Instrument-Bindungs-Daten 120H (Felder 120H.1-120H.28) (Fig. 4D) wie folgt übertragen: Der Wert des Label-Wert-Paares 4413A wird in der Personen-ID des Feldes 120H.1 gespeichert. Der Wert des Label-Wert-Paares 4417A wird in den Instrument-Typ des Feldes 120H.2 gespei­ chert. Der Wert des Label-Wert-Paares 4417B wird in die In­ strument-Bindungs-Daten des Feldes 120H.13 gespeichert. Wenn das zu bindende Instrument vom Kunden-Benutzer 203 als Selbstschließungs-Instrument ausgewählt wurde, ist der Wert des Label-Wert-Paares 4417D in der Instrument-Nummer des Feldes 120H.4 gespeichert. Vorzugsweise wird der Wert unter Verwendung eines RSA-Schlüssels codiert, der nur dem Syste­ moperator bekannt ist. Wenn das zu bindende Instrument kein Selbstschließungs-Instrument der Person ist, ist der Wert des Label-Wert-Paar 4417D nicht in der Server-Datenstruktur 120 gespeichert, sondern zusammen mit dem Wert des Label- Wert-Paar 4417J zerhackt und in dem Instrumenten-Hash des Feldes 120H.9 gespeichert. Der Wert des Label-Wert-Paares 4417E wird in dem Instrument-Subtyp des Feldes 120H.3 ge­ speichert. Der Wert des Label-Wert-Paares 4417F wird in dem Instrument-Typ des Feldes 120H.2 gespeichert. Der Wert des Label-Wert-Paares 4417R wird in dem "gesetzlichen Überein­ kommen" des Feldes 120H.7 gespeichert. Der Wert des Label- Wert-Paares 4417S wird in der Selbstschließungs-Bindung des Feldes 120F gespeichert.
Im Schritt 1307 wird die Mitteilung B14 vom Servercomputer 100 zusammengesetzt und an den Kundencomputer 200 übermit­ telt, um das Instrument-Bindungs-Verfahren 403 zu vervoll­ ständigen. Der Inhalt der Mitteilung BI4 wird nun unter Be­ zug auf die Fig. 17A und 17B beschrieben.
Das Label-Wert-Paar 44.113A hat den Label "ID". Der Wert des Label-Wert-Paares 44.113A zeigt die Personen-ID des Kunden-Benutzers 203 an. Der Wert des Label-Wert-Paares 44.113A ist der gleiche, der in der Mitteilung BI1 im La­ bel-Wert-Paar 4413A empfangen wurde.
Das Label-Wert-Paar 44.113B hat den Label "Transaktion". Der Wert des Label-Wert-Paares 44.113B ist eine Transak­ tion-Nummer. Der Wert des Label-Wert-Paares 44.113B ist der gleiche, der mit der Mitteilung BI1 im Label-Wert-Paar 4413B empfangen wurde.
Das Feld 44.113C hat den Label "Datum". Der Wert des Label- Wert-Paares 44.113C ist der gleiche, der mit der Mitteilung BII im Label-Wert-Paar 4413C empfangen wurde.
Der Wert des Label-Wert-Paares 44.113D hat den Label "Ser­ vice-Kategorie". Der Wert des Label-Wert-Paares 44.113D ist der gleiche, der mit der Mitteilung BI1 im Label-Wert-Paar 4413E empfangen wurde.
Der undurchsichtige Abschnitt der Mitteilung BI4, der in Fig. 17B gezeigt ist, wird nun beschrieben.
Das Label-Wert-Paar 44.117A hat den Label "Typ". Der Wert des Label-Wert-Paares 44.117A bezieht sich auf einen Daten­ satz in der Mitteilungs-Datenstruktur 270 (Fig. 5A), der die Labels der undurchsichtigen Abschnitte der Mitteilung BI4 festsetzt. Der Wert des Label-Wert-Paares 44.117A wird von der Server-Software 110 erhalten.
Das Label-Wert-Paar 44.117B hat den Label "Server-Datum". Der Wert des Label-Wert-Paares 44.117B zeigt das Datum und die Uhrzeit an, in der die Mitteilung BI4 nach der Uhr des Servercomputers 100 zusammengesetzt wurde.
Das Label-Wert-Paar 44.117C hat den Label "Antwort-Code" und vorzugsweise die Werte "Erfolg" oder "Fehler". Der Wert des Label-Wert-Paares 44.117C zeigt an, ob das Instrument- Bindungs-Verfahren 403 Erfolg hatte oder fehlgeschlagen ist.
Das Label-Wert-Paar 44.117D hat den Label "SW-Severity" (Software-Severity) und vorzugsweise den Wert "Fehler" oder "Warnung". Der Wert des Label-Wert-Paares 44.117D zeigt an, ob die Kunden-Anwendungssoftware 210 einen Update benötigt aber immer noch verwendbar ist ("Warnung"), oder nicht mehr verwendbar ist ("Fehler"). Der Wert des Label-Wert-Paares 44.117D ist gleich Null, wenn die Kunden-Anwendungssoftware 210 aktuell ist.
Das Label-Wert-Paar 44.117E hat den Label "SW-Mitteilung" (Software-Mitteilung). Der Wert des Label-Wert-Paares 44.117E erzeugt Befehle bezüglich dessen, was der Kunden- Benutzer 203 im Fall von "Fehler" oder "Warnung" bei Soft­ ware-Severity tun muß. Der Wert des Label-Wert-Paares 44.117E ist nur vorhanden, wenn der Wert des Label-Wert- Paares 44.117D nicht gleich Null ist.
Das Label-Wert-Paar 44.117F hat den Label "Instrument-Num­ mer". Der Wert des Label-Wert-Paares 44.117F zeigt die Num­ mer des Instrumentes an, das, wie voranstehend beschrieben wurde, gebunden wird. Der Wert des Label-Wert-Paares 44.117F wird vom Label-Wert-Paar 4417D der Mitteilung BI1 erhalten.
Das Label-Wert-Paar 44.117G hat den Label "Instrument-Typ". Der Wert des Label-Wert-Paares 44.117G zeigt einen Instru­ ment-Typ an. Der Wert des Label-Wert-Paares 44.117G wird vom Label-Wert-Paar 4417E der Mitteilung BI1 erhalten.
Das Label-Wert-Paar 44.117H hat den Label "Instrument- Salt". Der Wert des Label-Wert-Paares 44.117H wird vom La­ bel-Wert-Paar 4417J der Mitteilung BI1 erhalten.
Das Label-Wert-Paar 44.117I hat den Label "Instrument-Funk­ tionen" und kann jede Kombination der folgenden Werte "Ver­ kauf", "Kredit", "Lade" oder "Entlade" haben, die vorange­ hend beschrieben wurden. Das Label-Wert-Paar 44.117I zeigt eine oder mehrere Funktionen an, die vom Kunden-Benutzer 203 mit dem zu bindenden Instrument ausgeführt werden kön­ nen. Der Wert des Label-Wert-Paares 44.117I wird vom Label- Wert-Paar 4417I der Mitteilung BI1 erhalten.
Das Label-Wert-Paar 44.117J hat den Label "Instrument*"und stellt jede Zahl der Instrumentenwertpaare dar, deren Labeln mit "Instrument" beginnen, die vom Kunden-Benutzer 203 in der Mitteilung BI4 (vorangehend beschrieben) beliefert wurden und in der Mitteilung LU1 an den Servercomputer 100 zurückübermittelt werden, wenn das Instrument verwendet wird, um Zahlungsmittel zu laden oder zu entladen. Auf diese Art kann der Servercomputer 100 Informationen bezüg­ lich des Instrumentes empfangen, wenn dies nötig ist, ohne diese Information in seinen Datenstrukturen zu speichern. Die jeweiligen Datenwertpaare, die in dem Label-Wert-Paar 44.117J enthalten sind, hängen vom Typ des gebundenen In­ strumentes und den Anforderungen des Ausstellers des In­ strumentes ab. Zum Beispiel kann eine Kreditkarte, die Karten-Nummer, das Kartenablaufdatum und den Namen und die Adresse des Kartenhalters verlangen, die an den Server zu­ rückzusenden sind, jedesmal, wenn die Karte zum Laden von Zahlungsmitteln an die Person 120.1 verwendet wird.
Das Label-Wert-Paar 44.117K hat den Label "Mitteilung". Der Wert des Label-Wert-Paares 44.117K ist eine freie Textmit­ teilung, die mit einer Fehler- oder Erfolgsbedingung zusam­ menhängt, die in dem Label-Wert-Paar 44.117C zurückgesendet wird, und wird dem Kunden-Benutzer 203 angezeigt. Der Wert des Label-Wert-Paares 44.117K kann eine Mitteilung enthal­ ten, die eine fehlerhafte digitale Kennzeichnung oder einer fehlerhaft gebildete Registrations-Mitteilung BI1 und Be­ fehle enthält, wie der Kunden-Benutzer 203 vorgehen soll (z. B. "Anruf bei Systemadministrator").
In Fig. 15 wird im Schritt 1308 die Mitteilung BI4 in Über­ einstimmung mit der Server-Mitteilungs-Zusammensetzungs- Prozedur 1000, die in Fig. 12 gezeigt ist, zusammengesetzt.
Die Server-Mitteilungs-Zusammensetzungs-Prozedur 1000 wurde vorangehend für die Zusammensetzung der Registrations-Mit­ teilung R2 beschrieben.
Im Schritt 1309 empfängt der Kundencomputer 200 die Mittei­ lung BI4 vom Servercomputer 100 und entziffert die Mittei­ lung BI4, indem die Mitteilungs-Entzifferungs-Prozedur 1100 (Schritte 1101-1121) ausgeführt wird. Die Mitteilungs-Ent­ zifferungs-Prozedur 1100 wurde vorangehend unter Bezug auf Fig. 14 für die Mitteilung R2 beschrieben.
Im Schritt 1310 wird:
  • (1) wenn ein Fehler-Flag im Schritt 1105 gesetzt wurde, das Flag im Schritt 1310 detektiert und die Verarbeitung der Mitteilung BI4 wird mit dem Schritt 1311 beendet. Aus der Perspektive des Kunden-Benutzers 203 wird bezüglich der Mitteilung BI4 keine weitere Handlung unternommen. Erfin­ dungsgemäß ist ein Mechanismus innerhalb der Kunden-Anwen­ dungssoftware 210 vorgesehen, um eine Mitteilung zu erzeu­ gen und an den Servercomputer 100 zu senden. Die Mitteilung enthält die Mitteilung BI4, wie sie vom Kundencomputer 200 empfangen wurde, und jede Diagnose bezüglich dessen, warum die Mitteilung fehlgeschlagen ist. Vom Servercomputer wird keine Antwort auf diese Mitteilung 100 an den Kundencompu­ ter 200 gesendet. Anstelle dessen wird die Information ver­ wendet, um zu überprüfen, ob ein Problem innerhalb des Systems vorliegt und ob geeignete Korrekturmaßnahmen ausge­ führt werden müssen.
  • (2) wenn kein Fehler-Flag im Schritt 1105 gesetzt wurde, aber im Schritt 905 ein Fehler in der Mitteilung BI1 detektiert wurde, das Verfahren mit dem Schritt 1312 fort­ gesetzt, wo der Inhalt des Label-Wert-Paares 44.117C über­ prüft wird. Wenn der Wert des Label-Wert-Paares 44.117C ein anderer als "Erfolg" ist, werden Fehler-Verarbeitungs-Pro­ zeduren im Schritt 1314 durchgeführt, wodurch die Kunden- Anwendungssoftware 210 veranlaßt wird, die Mitteilung anzu­ zeigen, die im Label-Wert 44.117 enthalten ist, der dem In­ halt des Label-Wertes 44.117C zugeordnet ist, und den Wert des Label-Wert-Paares 44.117C zu interpretieren und alle zu dem Wert gehörende Handlungen vorzunehmen; oder
  • (3) wenn die Mitteilung BI1 die Prüfung im Schritt 905 durchläuft und keine Fehler-Flags im Schritt 1105 gesetzt werden, das Verfahren mit dem Schritt 1315 weiter gehen, wo die Kunden-Anwendungssoftware 210 ein Update der Kundenda­ tenbank 202 wie folgt durchführt. Die Instrument-Nummer des Label-Wert-Paares 44.117F wird im Feld 230A (Fig. 5D) ge­ speichert. Der Inhalt des Label-Wert-Paares 44.117J wird zum Setzen der Flags in den Feldern 230L-230O verwendet. Der Ergebnis-Code, der im Label-Wert-Paar 44.117C enthalten ist, wird im Feld 230B gespeichert. Der Inhalt des Label- Wert-Paares 44.117K wird im Feld 230R gespeichert. Zusätz­ lich wird ein neuer Datensatz 262 (Fig. 50) der Kunden-Log- Datenstruktur 260 wie folgt erzeugt. Die Transaktion-Nummer des Label-Wert-Paares 44.113B wird im Feld 262B gespei­ chert. Das Datum des Label-Wert-Paares 44.117B wird im Feld 262C gespeichert. Der Antwort-Code vom Label-Wert-Paar 44.117C wird im Feld 262F gespeichert. Der Software-Seve­ rity-Code vom Label-Wert-Paar 44.117D wird im Feld 262D ge­ speichert. Die Software-Mitteilung des Label-Wert-Paares 44.117E wird im Feld 262E gespeichert. Die Instrument-Num­ mer des Label-Wert-Paares 44.117F wird im Feld 262E gespei­ chert. Der Instrument-Typ vom Label-Wert-Paar 44.117B wird im Feld 262J gespeichert. Die Antwort-Mitteilung, die dem Antwort-Code aus dem Feld 44.117L zugeordnet ist, wird im Feld 262G gespeichert.
Das Verfahren fährt mit dem Schritt 1315 fort, wo das In­ strument-Bindungs-Verfahren 403 endet.
D. Zahlungsmittel-Lade-/Entlade-Verfahren 405
Fig. 18 zeigt ein Flußdiagramm, das das Lade-/Entlade-Ver­ fahren 405 darstellt, welches mit dem Schritt 4001 beginnt.
Beim Schritt 4001A wählt ein Kunden-Benutzer 203, ob der Kunden-Benutzer 203 wünscht, Zahlungsmittel zu laden oder zu entladen. Für die Beschreibung sei angenommen, daß der Kunden-Benutzer 203 auswählt, Zahlungsmittel zu laden. Das Entladen von Zahlungsmitteln folgt demselben Verfahren mit der Ausnahme, daß die Zahlungsmittel, die entladen werden, als ein negativer Betrag bestimmt werden.
Im Schritt 1402 greift die Kunden-Anwendungssoftware 210 auf das Feld 2300 des Datensatzes 230.1 für alle mit der Person 120.1 gebundene Instrumente zu und zeigt eine Liste aller Instrumente auf, die für Ladevorgänge freigegeben sind. Im Schritt 1403 wird der Kunden-Benutzer 203 auf­ gefordert, ein Instrument aus der angezeigten Liste auszu­ lesen, von dem Zahlungsmittel in den Geld-Container geladen werden sollen, welcher durch die Geld-Container-Datenfelder 190G und 220I dargestellt ist.
Im Schritt 1406 wird der Kunden-Benutzer 203 aufgefordert, einen Zahlungsmittel-Betrag in einer bestimmten Währung einzugeben, der von dem im Schritt 1402 ausgewählten In­ strument in den Geld-Container 120G zu laden ist.
Die Mitteilung LU1 wird vom Kundencomputer 200 zusammenge­ setzt und an den Servercomputer 100 übermittelt, um das Zahlungsmittel-Lade-/Entlade-Verfahren 405 durchzuführen. Die Inhalte der Mitteilung LU1 werden nun unter Bezug auf die Fig. 19A und 19B beschrieben.
Das Label-Wert-Paar 4513A hat den Label "ID". Der Wert des Label-Wert-Paares 4513A zeigt die Personen-ID des Kunden- Benutzers 203 an. Der Wert des Label-Wert-Paares 4513A wird aus dem Feld 220A (Fig. 5C) erhalten. Der dem Label-Wert- Paar 4513A zugeordnete Wert wird im Feld 255E (Fig. 5A) ge­ speichert.
Das Label-Wert-Paar 4513B hat den Label "Transaktion". Der Wert des Label-Wert-Paares 4513B ist eine Transaktion-Num­ mer, die von der Kunden-Anwendungssoftware 210 erzeugt wird und einzig die Mitteilung LU1 identifiziert. Der Wert des Label-Wert-Paares 4513B erlaubt es dem Servercomputer 100 bei Empfang der Mitteilung LU1, (1) eine zugehörige Ant­ wort-Mitteilung LU2, die später beschrieben wird, zu senden und (2) zu bestimmen, ob die Mitteilung LU1 eine dupli­ zierte Mitteilung (nämlich eine vom Servercomputer 100 be­ reits empfangene Mitteilung) ist. Der dem Label-Wert-Paar 4513B zugeordnete Wert wird im Feld 255B gespeichert.
Das Label-Wert-Paar 4513C hat den Label "Datum". Der Wert des Label-Wert-Paares 4513C zeigt das Datum und die Uhrzeit an, in der die Mitteilung LU1 an den Servercomputer 100 ge­ sendet wurde, und zwar entsprechend der Uhrzeit des Kunden­ computers 200. Der dem Label-Wert-Paar 4513C zugeordnet Wert wird im Feld 255I gespeichert.
Das Label-Wert-Paar 4513D hat den Label "Server-Schlüssel". Wie weiter unten beschrieben wird, wird das DES-Schlüs­ sel/IV-Paar, das vom Kundencomputer 200 zur Verschlüsselung des undurchsichtigen Label-Wert-Paares 4517 der Mitteilung LU1 verwendet wird, unter Verwendung eines öffentlichen RSA-Schlüssels des Servercomputers 100 verschlüsselt. Der Wert des Label-Wert-Paares 4513D zeigt auf den entsprechen­ den privaten RSA-Schlüssel, der in der Server-Privat- Schlüssel-Datenstruktur 160 gespeichert ist.
Das Label-Wert-Paar 4513E hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paares 4513E ist ein Label, der verwendet werden kann, um die Mitteilung LU1 zu einem Prozessor innerhalb des Servercomputer 100s zu lenken, der die Mitteilung einer bestimmten Service-Kategorie bearbei­ tet.
Das Label-Wert-Paar 4519 hat den Label "undurchsichtig", was bedeutet, daß die darauffolgenden Daten den verschlüs­ selten undurchsichtigen Abschnitt der Mitteilung LU1 ent­ halten. Der undurchsichtige Abschnitt der Mitteilung LU1, der in Fig. 19B gezeigt ist, wird nun beschrieben.
Das Label-Wert-Paar 4517A hat den Label "Typ". Der Wert des Label-Wert-Paares 4517A bezieht sich auf einen Datensatz in der Mitteilungs-Datenstruktur 150 (Fig. 4A), der die Labels des undurchsichtigen Abschnitts der Mitteilung LU1 be­ stimmt. Der Wert des Label-Wert-Paares 4517A wird aus der Kunden-Anwendungssoftware 210 erhalten, die den Label er­ zeugt, wenn der Kunden-Benutzer 203 das Lade-/Entlade-Ver­ fahren 403 einleitet.
Das Label-Wert-Paar 4517B hat den Label "Server-Datum". Der Wert des Label-Wert-Paares 4517B zeigt das Datum und die Uhrzeit an, zu der die Mitteilung LU1 zusammengesetzt wurde, gemessen vom der Uhr des Kundencomputer 200 unter Anleitung des Servercomputers 100.
Das Label-Wert-Paar 4517C hat den Label "SW-Version" (Soft­ ware-Version). Der Wert des Label-Wert-Paares 4517C zeigt die Version der Kunden-Anwendungssoftware 210 an, die mit dem Servercomputer 100 kommuniziert. Der Wert des Label- Wert-Paares 4517C wird aus den Daten erhalten, die in der Kunden-Anwendungssoftware 210 enthalten sind. Der dem La­ bel-Wert-Paar 4517C zugehörige Wert wird im Feld 255D (Fig. 5K) gespeichert.
Das Label-Wert-Paar 4517D hat den Label "Betrag". Der Wert des Label-Wert-Paares 4517D stellt den Währungstyp und den Zahlungsmittel-Betrag dar, die von dem gebundenen Instru­ ment, das im Schritt 1402 ausgewählt wurde, an den Geld- Container 1206 für den Kunden-Benutzer 203 geladen werden soll. Für die Entladevorgänge ist der Zahlungsmittel-Betrag eine negativer Betrag. Somit stellen für das Entladen der Wert des Label-Wert-Paares 4517D den Währungstyp und den Zahlungsmittel-Betrag dar, die von dem Geld-Container 120G an das im Schritt 1402 ausgewählte gebundene Instrument übertragen werden. Der dem Label-Wert-Paar 4517D zugeord­ nete Wert wird im Feld 255G gespeichert.
Das Label-Wert-Paar 4517E hat den Label "Instrument*" und stellt alle Label-Wert-Paare dar, die vom Servercomputer 100 in der Mitteilung BI4 in dem Label-Wert-Paar 44.117K (Fig. 17A) zurückübertragen werden, deren Labels mit "In­ strument" beginnen. Der Wert des Label-Wert-Paares 4517E ist einmalig für das Instrument, von dem der Ladevorgang ausgeführt werden soll, und identifiziert das Instrument für den Servercomputer 100.
Das Label-Wert-Paar 4517F hat den Label "Schlüssel". Der Wert des Label-Wert-Paares 4517K stellt einen Hash des mo­ dularen Teiles des öffentlichen/privaten RSA-Schlüsselpaa­ res dar, das von der Kunden-Person 120.1 verwendet wird. Der Wert des Label-Wert-Paares 4517F erlaubt es dem Server­ computer 100, zu bestätigen, daß der öffentliche RSA- Schlüssel, der im Feld 120B (Fig. 4B) gehalten wird, der gleiche Schlüssel ist, der zur Kennzeichnung der Mitteilung LU1 (Label-Wert-Paar 4517F) verwendet wurde.
In Fig. 18 wird im Schritt 1417 die Mitteilung LU1 in Über­ einstimmung mit der Mitteilungs-Zusammensetzungs-Prozedur 800 (Fig. 9) zusammengesetzt. Die Mitteilungs-Zusammenset­ zungs-Prozedur 800 wurde vorangehend für die Zusammenset­ zung der Registrations-Mitteilung R1 beschrieben, wobei die folgenden Modifikation für die Mitteilung LU1 anzumerken ist. Eine Kopie der Mitteilung LU1 wird vorzugsweise im Feld 140E (Fig. 4L) gespeichert.
Das Lade-/Entlade-Verfahren 405 setzt mit dem Schritt 1408 fort. Hier überträgt der Kundencomputer 200 die Mitteilung LU1 an den Servercomputer 100. Der Kundencomputer 200 war­ tet auf eine Antwort-Mitteilung LU2 vom Servercomputer 100.
Im Schritt 1409 empfängt der Servercomputer 100 die Mittei­ lung LU1 vom Kundencomputer 200 und entziffert die Mittei­ lung LU1 durch Ausführen der Server-Mitteilungs-Entziffe­ rungs-Prozedur 900 (Schritte 901-917). Die Server-Mittei­ lungs-Entzifferungs-Prozedur 900 wurde vorangehend unter Bezug auf die Fig. 11 für die Mitteilung R1 beschrieben.
In Fig. 14 setzt das Verfahren mit dem Schritt 1410 fort, wenn einer der Tests der Schritte 909A, 912, 914, 915 oder 916 verursacht hat, daß ein Fehler-Flag im Schritt 905 ge­ setzt wurde, wobei Fehler-Verarbeitungs-Prozeduren vom Ser­ vercomputer 100 im Schritt 1417 durchgeführt werden. Wäh­ rend der Pegel der Fehler-Verarbeitung im Schritt 1417 im wesentlichen eine administrative Entscheidung ist, werden vorzugsweise zumindest Fehler der Prüfsumme, der Kennzeich­ nung und der Form und eine "Fehler"-Antwort der Software- Prüfprozedur zu einer Antwort-Mitteilung führen, die einen Code, der von der Kunden-Anwendungssoftware 210 verarbeitet werden kann, und eine Mitteilung, die vom Kunden-Benutzer 203 gelesen werden kann, enthält. Die Fehler-Verarbeitungs- Prozedur im Schritt 1417 hat zur Folge, daß ein Flag mit einem bestimmten Fehler-Code (beschrieben im Zusammenhang mit der Antwort-Mitteilung LU2 im Anschluß) zugeordnet wird, und daß eine Text-Mitteilung (entweder von einer Da­ tenstruktur für Mitteilungen oder eine Mitteilung, die vom Systemadministrator gesendet wird) erzeugt wird. Der Ser­ vercomputer 100 erzeugt dann eine Mitteilung LU2, ähnlich der unten beschriebenen, für den Kundencomputer 200, die den Fehler-Code und die darauf bezogene Mitteilung übermit­ telt.
Wenn die Tests der Schritte 909A, 912, 914, 915 und 916 nicht das Setzen eines Fehler-Flags im Schritt 905 verur­ sacht haben, geht das Verfahren mit dem Schritt 1411 wei­ ter. Hier wird Information, die in der Mitteilung LU1 ent­ halten ist, d. h. der durch das Label-Wert-Paar 4517D darge­ stellte Betrag, dem Betrag in dem Geld-Container-Feld 120G.2 der Person 120.1 des Kunden-Benutzer 203 in der Ser­ ver-Personen-Datenstruktur 120 hinzugefügt. An dieser Stelle wird der Servercomputer 100 veranlassen, daß Zah­ lungsmittel von dem in der Mitteilung LU1 erwähnten Instru­ ment auf das im Geld-Container-Feld 120G.4 identifizierte Agenturkonto übertragen werden. Die in der Mitteilung LU1 angeforderten Zahlungsmittel können "On-Hold" plaziert wer­ den, in einer solchen Art, daß auf sie nicht zugegriffen werden kann, bevor bestimmte zusätzliche Bedingungen er füllt wurden, wie etwa der Ablauf von 24 Stunden.
Nach dem Schritt 1411 wird die Mitteilung LU2 vom Server­ computer 100 zusammengesetzt und an den Kundencomputer 200 übermittelt, um das Zahlungsmittel-Lade-/Entlade-Verfahren 405 zu vervollständigen. Die Inhalte der Mitteilung LU2 werden nun unter Bezug auf die Fig. 20A und 20B beschrie­ ben.
Das Label-Wert-Paar 45.113A hat den Label "ID". Der Wert des Label-Wert-Paares 45.113A zeigt die Personen-ID des Kunden-Benutzers 203 an. Der dem Label-Wert-Paar 45.113A zugehörige Wert ist der gleiche, der mit der Mitteilung LU1 im Label-Wert-Paar 45.113A empfangen wurde.
Das Label-Wert-Paar 45.113B hat den Label "Transaktion". Der Wert des Label-Wert-Paares 45.113B ist eine Transak­ tion-Nummer. Der dem Label-Wert-Paar 45.113B zugeordnet Wert ist der gleiche, der mit der Mitteilung LU1 im Label- Wert-Paar 4513B empfangen wurde.
Das Label-Wert-Paar 45.113C hat den Label "Datum". Der Wert des Label-Wert-Paares 45.113C ist der gleiche, der mit der Mitteilung LU1 im Label-Wert-Paar 4513C empfangen wurde.
Das Label-Wert-Paar 45.113D hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paar 45.113D ist der gleiche, der mit der Mitteilung LU1 im Label-Wert-Paar 4513E empfan­ gen wurde.
Der undurchsichtige Abschnitt der Antwort-Mitteilung LU2, der in Fig. 20B gezeigt ist, wird nun beschreiben:
Das Label-Wert-Paar 45.117A hat den Label "Typ". Der Label- Wert des Label-Wert-Paares 45.117A bezeichnet einen Daten­ satz in der Mitteilungs-Datenstruktur 270 (Fig. 5A), der die Labels der undurchsichtigen Abschnitte der Mitteilung LU2 festsetzt. Der Wert des Label-Wert-Paares 45.117A wird von der Server-Software 110 erhalten.
Das Label-Wert-Paar 45.117B hat den Label "Server-Datum". Der Wert des Label-Wert-Paares 45.117B zeigt das Datum und die Uhrzeit an, zu der die Mitteilung LU2 nach der Uhr des Servercomputers 100 zusammengesetzt wurde.
Das Label-Wert-Paar 45.117C hat den Label "Betrag". Der Wert des Label-Wert-Paares 45.117C ist der Betrag, der von dem durch das Label-Wert-Paar 4517B identifizierte gebun­ denen Instrument an das Geld-Container-Feld 120E.2 für den Kunden-Benutzer 203 übertragen wird.
Das Label-Wert-Paar 45.117D hat den Label "Antwort-Code" und den Wert "Erfolg" oder "Fehler", wie vorangehend be­ schrieben wurde. Das Label-Wert-Paar 45.117D zeigt an, ob das Lade-/Entlade-Verfahren 405 Erfolg hatte oder fehlge­ schlagen ist.
Das Label-Wert-Paar 45.117E hat den Label "Mitteilung". Der Wert des Label-Wert-Paares 45.117E ist eine freie Textmit­ teilung, die den "Antwort-Code"-Wert des Label-Wert-Paares 45.117D erläutert.
Das Label-Wert-Paar 45.117F hat den Label "SW-Severity" (Software-Severity) und den Wert "Fehler" oder "Warnung". Der Wert des Label-Wert-Paares 45.117F zeigt an, ob die Kunden-Anwendungssoftware 210 ein Update benötigt aber wei­ terhin verwendbar ist ("Warnung"), oder ob sie nicht länger benutzbar ist ("Fehler"). Der Wert des Label-Wert-Paares 45.117F wird Null, wenn die Kunden-Anwendungssoftware 210 aktuell ist.
Das Label-Wert-Paar 45.117G hat den Label "SW-Mitteilung" (Software-Mitteilung). Der Wert des Label-Wert-Paares 45.117G zeigt Befehle an, bezüglich dessen, was der Kunden- Benutzer 203 im Fall von "Fehler" oder "Warnung" bei Soft­ ware-Severity zu tun hat. Der Wert des Label-Wert-Paares 45.117G liegt nur vor, wenn der Wert des Label-Wert-Paares 45.117D nicht gleich Null ist.
Das Label-Wert-Paar 45.117H hat den Label "Gebühr". Der Wert des Label-Wert-Paares 45.117H zeigt eine Gebühr an, die dem Kunden-Benutzer 203 belastet wird, wenn eine solche vorhanden ist, die mit der Verarbeitung der Mitteilung LU1 durch den Servercomputer 100 verbunden ist. Die Gebühr, wenn sie vorhanden ist, wird aus dem Geld-Container-Feld 120G.2 abgezogen.
Das Label-Wert-Paar 45.117I hat den Label "Balance". Der Wert des Label-Wert-Paares 45.117I zeigt die verfügbare Ba­ lance im Geld-Container-Feld 120G.2 für den Kunden-Benutzer 203 an. Diese Balance zeigt die vorhergehende Balance des Geld-Containers, die durch den Betragswert des Label-Wert­ feldes 45.117C, geladen über die Mitteilung LU1, und den Gebührenwert des Label-Wert-Paares 45.117H eingestellt wurde.
Das Label-Wert-Paar 45.117J hat den Label "Gesprächs-Zah­ lungsmittel". Der Wert des Label-Wert-Paares 45.117J zeigt den Betrag an, der vom Geld-Container-Feld 120G.2 in das offene Betragsfeld 130E der Server-Gesprächs-Datenstruktur 130 für alle offenen Gespräche übertragen wurde.
Das Label-Wert-Paar 45.117K hat den Label "On-Hold". Der Wert des Label-Wert-Paares 45.117K wird vom Geld-Container- Feld 120G.3 erhalten und zeigt den Zahlungsmittel-Betrag an, der von dem durch das Label-Wert-Paar 4517E der Mittei­ lung LU1 identifizierte Instrument zum Übertragen in das Geld-Container-Feld 120G.2 des Kunden-Benutzers 203 anhän­ gig ist. Der Wert repräsentiert Zahlungsmittel, die auf die Zustimmung oder die Verarbeitung durch den Herausgeber des Instrumentes, von dem die Zahlungsmittel entladen bzw. auf das die Zahlungsmittel geladen werden, warten.
Im Schritt 1412 der Fig. 18 setzt die Server-Software 110 die Mitteilung LU2 entsprechend dem Flußdiagramm aus Fig. 12 zusammen. Die Server-Mitteilungs-Zusammensetzungs-Proze­ dur 1000 wurde vorangehend für die Zusammensetzung der Re­ gistrations-Mitteilung R2 beschrieben.
In Fig. 14 wird die Mitteilung LU2 vom Servercomputer 100 an den Kundencomputer 200 im Schritt 1412A gesendet.
Im Schritt 1413 empfängt der Kundencomputer 200 die Mittei­ lung LU2 vom Servercomputer 100 und entziffert die Mittei­ lung LU2, indem die Mitteilungs-Entzifferungs-Prozedur 1100 (Schritte 1101-1121) ausgeführt werden. Die Mitteilungs- Entzifferungs-Prozedur 1100 wurde vorangehend unter Bezug auf Fig. 14 für die Mitteilung R2 beschrieben.
Im Schritt 1414 wird:
  • (1) wenn ein Fehler-Flag im Schritt 1105 gesetzt wird, der Flag im Schritt 1414 detektiert, und die Verarbeitung der Mitteilung LU2 wird im Schritt 1415 beendet. Aus Sicht des Kunden-Benutzers 203 wird in bezug auf die Mitteilung LU2 keine weitere Handlung unternommen. Erfindungsgemäß ist ein Mechanismus in der Kunden-Anwendungssoftware 210 vorge­ sehen, um eine Mitteilung zu erzeugen und an den Servercom­ puter 100 zu senden. Diese Mitteilung enthält die Mittei­ lung LU2, wie sie vom Kundencomputer 200 empfangen wurde, und eine Diagnose bezüglich der Ursache, warum die Mittei­ lung fehlging. Auf diese Mitteilung wird vom Servercomputer 100 keine Antwort an den Kundencomputer 200 gesendet. Statt dessen wird die Information verwendet, um zu bestim­ men, ob ein Problem innerhalb des Systems vorliegt und ob geeignete Korrekturmaßnahmen unternommen werden müssen.
  • (2) wenn kein Fehler-Flag im Schritt 1105 gesetzt wurde, aber ein Fehler in der Mitteilung LU1 im Schritt 905 detektiert wird, das Verfahren mit dem Schritt 1416 fortge­ setzt, wo der Inhalt des Label-Wertes 45.117D überprüft wird. Wenn der Wert des Label-Wertes 45.117D nicht "Erfolg" ist, werden die Fehler-Verarbeitungs-Prozeduren im Schritt 1418 durchgeführt, wodurch die Kunden-Anwendungssoftware 210 zur Anzeige der Mitteilung veranlaßt wird, die in dem Label-Wert 45.117E enthalten und mit dem Inhalt des Label- Werts 45.117D verbunden ist und um den Wert des Label-Wer­ tes 45.117D zu interpretieren und jegliche mit dem Wert verbundene Handlung vorzunehmen; oder
  • (3) wenn die Mitteilung LU1 die Überprüfung im Schritt 905 durchläuft und keine Flags im Schritt 1105 gesetzt wer­ den, das Verfahren mit dem Schritt 1419 fortgesetzt, wobei die Kunden-Anwendungssoftware 210 ein Update der Kundenda­ tenbank 202 durchführt, indem der Inhalt des Geld-Contai­ ner-Feldes 220J der Kunden-Personen-Datenstruktur 220 ge­ speichert wird.
Zusätzlich wird ein neuer Datensatz 264 für die Kunden-Log- Datenstruktur 260 wie folgt erzeugt. Die Personen-ID aus dem Label-Wert-Paar 45.113A wird im Feld 264H gespeichert. Die Transaktion-Nummer des Label-Wert-Paares 45.113B wird im Feld 264B gespeichert. Das Datum des Label-Wert-Paar 45.117B wird im Feld 264C gespeichert. Der Betrag des La­ bel-Wert-Paares 45.117C wird im Feld 264J gespeichert. Der Antwort-Code von dem Label-Wert-Paar 45.117D wird im Feld 264F gespeichert. Die Antwort-Mitteilung, die mit dem Ant­ wort-Code aus dem Feld 45.117E verbunden ist, wird im Feld 264G gespeichert. Der Software-Severity-Code von dem Label- Wert-Paar 45.117F wird im Feld 264D gespeichert. Die Soft­ ware-Mitteilung von dem Label-Wert-Paar 45.117G wird im Feld 264E gespeichert. Die Gebühr von dem Label-Wert-Paar 45.117H wird im Feld 264K gespeichert. Die Balance vom La­ bel-Wert-Paar 45.117I wird im Feld 264L gespeichert.
Die Verarbeitung geht mit dem Schritt 1420 weiter, wo das Lade-/Entlade-Verfahren 405 endet.
Fig. 21 zeigt ein Flußdiagramm, das ein Gesprächs-Öffnungs- Verfahren 407 zeigt, das mit dem Schritt 1501 beginnt.
Beim Schritt 1502 fordert die Kunden-Anwendungssoftware 210 den Kunden-Benutzer 203 zur Informationseingabe bezüglich des einzurichtenden Gespräches auf. Die Information wird in der Mitteilung OS1 enthalten sein, die vom Servercomputer 100 gesendet wird, und wird Teil der Gesprächs-Datenstruk­ tur 130 (Fig. 4H). Bei der bevorzugten Ausführungsform gibt der Kunden-Benutzer 203 die maximale Zeitdauer, die das Ge­ spräch dauern soll, die maximale Zahl der Transaktionen, die während des Gesprächs erfolgen können, und den Betrag und die Währung des für den Kunden-Benutzer 203 während des Gesprächs zur Verfügung stehenden elektronischen Geldes ein. Der Kunden-Benutzer 203 kann auch eine wahlfreie Be­ schreibung dieses Gesprächs eingeben.
Die Mitteilung OS1 wird vom Kundencomputer 200 zusammenge­ setzt und an den Servercomputer 100 übermittelt, um das Ge­ sprächs-Öffnungs-Verfahren 407 auszuführen. Der Inhalt der Mitteilung OS1 wird nun unter Bezug auf die Fig. 22A und 22B beschrieben.
Das Label-Wert-Paar 4613A hat den Label "ID". Der Wert des Label-Wert-Paares 4613A zeigt die Personen-ID des Kunden- Benutzers 203 an. Der Wert des Label-Wert-Paares 4613A wird aus dem Feld 220A (Fig. 5C) erhalten.
Das Label-Wert-Paar 4613B hat den Label "Transaktion". Der Wert des Label-Wert-Paar 4613B ist eine Transaktion-Nummer, die von der Kunden-Anwendungssoftware 210 erzeugt wird und die einzig und allein diese Mitteilung OS1 identifiziert. Der Wert des Label-Wert-Paares 4613B erlaubt dem Servercom­ puter 100 bei Empfang der Mitteilung OS1, (1) eine entspre­ chende Antwort-Mitteilung OS2, die später beschrieben wird, zu senden, und (2) zu bestimmen, ob die Mitteilung OS1 eine duplizierte Mitteilung (nämlich eine bereits vom Servercom­ puter 100 empfangene Mitteilung) ist. Der mit dem Label- Wert-Paar 4613B verbundene Wert wird im Feld 256B (Fig. 5L) gespeichert.
Das Label-Wert-Paar 4613C hat den Label "Datum". Der Wert des Label-Wert-Paares 4613C zeigt das Datum und die Uhrzeit an, zu der die Mitteilung OS2 zusammengesetzt und an den Servercomputer 100 gesendet wurde, nach der Uhr des Kunden­ computers 200. Der mit dem Label-Wert-Paar 4613C verbundene Wert wird im Feld 256C gespeichert.
Das Label-Wert-Paar 4613D hat den Label "Server-Schlüssel". Wie unten beschrieben wird, wird das DES-Schlüssel/IV-Paar, das vom Kundencomputer 200 zur Verschlüsselung des undurch­ sichtigen Label-Wert-Paares 4617 der Mitteilung OS1 verwen­ det wurde, unter Verwendung eines öffentlichen RSA-Schlüs­ sels des Servercomputers 100 verschlüsselt. Das Label-Wert- Paar 4613D zeigt auf den entsprechenden privaten RSA- Schlüssel, der in der Server-Privat-Schlüssel-Datenstruktur 160 gespeichert ist.
Das Label-Wert-Paar 4613E hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paares 4613E ist ein Label, das verwendet werden kann, um die Mitteilung OS1 zu einem Prozessor innerhalb des Servercomputers 100 zu lenken, der die Mitteilung einer bestimmten Kategorie bearbeitet.
Das Label-Wert-Paar 4617 hat den Label "undurchsichtig". Der Wert des Label-Wert-Paares 4617 enthält den undurch­ sichtigen Abschnitt (in verschlüsselter Form) der Mittei­ lung OS1. Nun wird der undurchsichtige Abschnitt der Mit­ teilung OS1 beschrieben, der in Fig. 22B gezeigt ist.
Das Label-Wert-Paar 4617A hat den Label "Typ". Der Wert des Label-Wert-Paares 4617A bezieht sich auf einen Datensatz in der Mitteilungs-Datenstruktur 150, die die Pegel des un­ durchsichtigen Abschnitts der Mitteilung OS1 festlegt. Der Wert des Label-Wert-Paares 4617 wird von der Kunden-Anwen­ dungssoftware 210 erhalten, die einen Label erzeugt, wenn der Kunden-Benutzer 203 ein Gesprächs-Öffnungs-Verfahren 407 einleitet.
Das Label-Wert-Paar 4617B hat den Label "Server-Datum". Der Wert des Label-Wert-Paares 4617B zeigt das Datum und die Uhrzeit an, zu der die Mitteilung OS1 zusammengesetzt wurde, wobei die Messung durch die Uhr des Kundencomputers 200 unter Anleitung des Servercomputers 100 erfolgt.
Das Label-Wert-Paar 4617C hat den Label "SW-Version" (Soft­ ware-Version). Der Wert des Label-Wert-Paares 4617C zeigt die Version der Kunden-Anwendungssoftware 210 an, die mit dem Servercomputer 100 kommuniziert. Der Wert des Label- Wert-Paares 4617C wird aus Daten erhalten, die in der Kun­ den-Anwendungssoftware 210 eingebaut sind. Der mit dem La­ bel-Wert-Paar 4617C verbundene Wert wird im Feld 256D ge­ speichert.
Das Label-Wert-Paar 4617D hat den Label "Datensatz-Note". Der Wert des Label-Wert-Paares 4617D ist eine wahlfreie kurze Textnotiz, die im Feld 130M (Fig. 4H) gespeichert wird. Die Note kann z. B. aussagen "Weihnachtseinkauf" oder "Skiausrüstung". Der Wert des Label-Wert-Paares 4617D wird aus der Antwort des Kunden-Benutzer 203 erhalten, die auf eine Anfrage von der Kunden-Anwendungssoftware 210 erfolgt, und ist vorzugsweise auf 16 Charakter beschränkt, um die von der Kunden-Anwendungssoftware 210 erzeugte Anzeige zu vereinfachen.
Das Label-Wert-Paar 4617E hat den Label "Betrag" und den Wert, der im Schritt 1502 eingegeben wurde und den maxima­ len Betrag des elektronischen Geldes anzeigt, der dem Kun­ den-Benutzer 203 während des Gespräches zur Verfügung steht. Der mit dem Label-Wert-Paar 4617E verbundene Wert wird im Feld 256F gespeichert.
Das Label-Wert-Paar 4617F hat den Label "Schlüssel-Lebens­ dauer" und den Wert, der im Schritt 502 eingegeben wurde, und die maximale Zeitdauer anzeigt, die das Gespräch dauern wird, wie es vom Kunden-Benutzer 203 angefordert wurde. Der mit dem Label-Wert-Paar 4617F verbundene Wert wird im Feld 256H gespeichert.
Das Label-Wert-Paar 4617G hat den Label "Schlüssel-Benut­ zungs-Grenze" und den Wert, der im Schritt 1502 eingegeben wurde und die maximale Anzahl von Transaktionen anzeigt, die während des Gesprächs durchgeführt werden können, wie es vom Kunden-Benutzer 203 gefordert wurde. Der mit dem La­ bel-Wert-Paar 4617G verbundene Wert wird im Feld 256G ge­ speichert.
Das Label-Wert-Paar 4617H hat den Label "Schlüssel". Der Wert des Label-Wert-Paares 4617H stellt einen Hash des Mo­ dulus des öffentlichen/privaten RSA-Schlüsselpaares der Kunden-Person 120.1 dar. Der Wert des Label-Wert-Paares 4617H erlaubt es dem Servercomputer 100, zu bestätigen, daß der öffentliche RSA-Schlüssel im Feld 120B (Fig. 4B) erhal­ ten wird, der Schlüssel ist, der für die Kennzeichnung der Mitteilung OS1 (Label-Wert-Paar 4617I) verwendet wurde.
Das Label-Wert-Paar 4617I hat den Label "Kennzeichnung". Der Wert des Label-Wert-Paares 4617I stellt die digitale Kennzeichnung der Kunden-Person 120.1 dar. Für die Mittei­ lung OS1 ist der Wert des Label-Wert-Paares 4617I ein Hash der Label-Wert-Paare 4613A-4613D und der Label-Wert-Paare 4617A-4617H in alphabetischer Reihenfolge, der mit dem pri­ vaten RSA-Schlüssel der Kunden-Person 120.1 verschlüsselt wurde. Der private RSA-Schlüssel der Kunden-Person 120.1 wird aus dem Feld 220H (Fig. 5C) erhalten.
Die Mitteilung OS1 wird unter Verwendung der Mitteilungs- Zusammensetzungs-Prozedur 800 (Fig. 9), die vorher für die Zusammensetzung der Registrations-Mitteilung R1 beschrieben wurde, zusammengesetzt. Die folgende Modifikation sei für die Mitteilung OS1 angemerkt: Eine Kopie der Mitteilung OS1 wird vorzugsweise im Feld 256I gesichert.
Im Fall der Zusammensetzung der Mitteilung OS1 durch den Händlercomputer 300 wird ein neuer Datensatz 370.1 (Fig. 7C) wie folgt geschaffen.
Der Wert des Label-Wert-Paares 4613B wird im Feld 370P ge­ speichert. Der Wert des Label-Wert-Paares 4617F wird im Feld 370Q gespeichert. Der Wert des Label-Wert-Paares wird im Feld 370R gespeichert. Der Wert des Statusfeldes 3700 wird auf "Versuch" durch die Händler-Anwendungssoftware 310 gesetzt.
In Fig. 15 geht das Gesprächs-Öffnungs-Verfahren mit dem Schritt 1504 weiter. Hier übermittelt der Kundencomputer 200 eine Mitteilung OS1 an den Servercomputer 100. Der Ser­ vercomputer 100 200 wartet auf eine Antwort-Mitteilung OS2 vom Servercomputer 100.
Im Schritt 1505 erkennt der Servercomputer 100 die Mittei­ lung OS1 vom Kundencomputer 200 und entziffert die Mittei­ lung OS1 durch Ausführen der Server-Mitteilungs-Entziffe­ rungs-Prozedur 900. Die Server-Mitteilungs-Entzifferungs- Prozedur (Schritte 901-917) wurde vorangehend für die Mit­ teilung R1 unter Bezug auf Fig. 11 beschrieben. Die fol­ gende Modifikation sei angemerkt: Eine Kopie der Mitteilung OS1 wird im Feld 140E (Fig. 4L) gespeichert.
Im Schritt 1506 werden, wenn irgendeiner der Tests der Schritte 909A, 912, 914, 915 oder 916 das Setzen eines Feh­ ler-Flags im Schritt 905 veranlaßt hat, die Fehler-Verar­ beitungs-Prozeduren durch den Servercomputer 100 im Schritt 1514 ausgeführt. Während der Pegel der Fehler-Verarbeitung im Schritt 1514 im wesentlichen eine administrative Ent­ scheidung ist, führen bevorzugt zumindest Fehler in der Prüfsumme, der Kennzeichnung und der Form und eine "Fehler"-Antwort in der Software-Prüfprozedur zu einer Antwort- Mitteilung, die einen Code, welcher von der Kunden-Anwen­ dungssoftware 210 verarbeitet werden kann, und eine Mittei­ lung, die von dem Kunden-Benutzer 203 gelesen werden kann, enthält. Die Fehler-Verarbeitungs-Prozedur im Schritt 1514 hat einen Flag mit einem bestimmten Fehler-Code (beschrie­ ben im Zusammenhang mit der Antwort-Mitteilung OS2 im An­ schluß) zur Folge und erzeugt eine Textmitteilung (entweder aus einer Datenstruktur für Mitteilungen oder eine Mittei­ lung, die vom Systemadministrator gesendet wird). Der Ser­ vercomputer 100 erzeugt dann eine Mitteilung OS2, ähnlich jener, die für den Kundencomputer 200 beschrieben wurde und den Fehler-Code und eine zugehörige Mitteilung weiterlei­ tet.
Wenn die Tests der Schritte 909A, 912, 914, 915 und 916 nicht das Setzen eines Fehler-Flags im Schritt 905 verur­ sacht haben, geht das Verfahren mit dem Schritt 1507 wei­ ter. Dort berechnet der Servercomputer 100 eine Gesprächs- Identifikation-Nummer ("Session-ID"), einen Gesprächs-Ver­ schlüsselungs-/-Entschlüsselungs-Schlüssel ("Gesprächs- Schlüssel") und eine Session-Salt und erklärt die Ge­ sprächsgrenzen, die vom Kunden-Benutzer 203 angefordert sind, so wie sie in der Mitteilung OS1 wiedergegeben wer­ den, für gültig.
Die Session-ID ist eine 64-Bit-Menge, die nur das Gespräch, das eingerichtet wird, identifiziert. Die Einmaligkeit wird sichergestellt, indem die Gesprächs-ID′s sequentiell vom Servercomputer 100 erzeugt werden.
Der Gesprächs-Schlüssel ist eine 128-Bit-Größe, die einen 56-Bit-DES-Schlüssel (64 Bit, wobei die wenigsten signifi­ kanten Bits von jedem Byte mit 8 Bit ignoriert werden) und ein 64-Bit-Initialisationsvektor enthält.
Das Session-Salt ist ein 8-Bit-kryptographisches Salt, das zur Stärkung der Gültigkeitserklärung der Mitteilung CA1-CA4 verwendet wird, welche während eines Gesprächs ausge­ tauscht werden. Die Mitteilung CA1-CA4 werden später be­ schrieben.
Die Gesprächsgrenzen, die von dem Kunden-Benutzer 203 an­ gefordert wurden, sind der Betrag-Wert des Label-Wert-Paa­ res 4617E, der Schlüssel-Lebensdauer-Wert des Label-Wert- Paares 4617F und der Schlüssel-Benutzungs-Grenzwert des La­ bel-Wert-Paares 4617B. In bezug auf die Schlüssel-Lebens­ dauer und die Schlüssel-Benutzungs-Grenze wird bevorzugt, daß diese Werte innerhalb eines festgelegten Rahmens lie­ gen, der vom Servercomputer 100 vorgegeben wird, um die Systemeffizienz sicherzustellen und um die Sicherheit der während eines Gesprächs durchgeführten Transaktionen zu ma­ ximieren. Der Servercomputer 100 überprüft, daß die an­ geforderten Werte innerhalb aller dieser Grenzen liegen. Jede geforderte Grenze, die einen der vorgegebenen Werte überschreitet, wird ignoriert, und der maximal erlaubte Wert wird vom Servercomputer 100 aufgezwungen.
Der Wert des Label-Wert-Paares 4617E stellt den Betrag der elektronischen Zahlungsmittel dar, die der Kunden-Benutzer 203 während eines Gesprächs auszugeben wünscht. Der tatsächlich Betrag solcher Zahlungsmittel, der für den Kun­ den 203 während eines Gesprächs zur Verfügung steht, kann kleiner oder gleich dem vom Kunden-Benutzer 203 im Schritt 1502 angeforderten Betrag sein. Der Kunden-Benutzer kann z. B. mehr elektronisches Geld anfordern als im Geld-Contai­ ner-Feld 120G.2 für den Kunden-Benutzer 203 zur Verfügung steht. In diesem Fall wird der erteilte Betrag, wie es durch das Label-Wert-Paar 4717I angegeben wird, das weiter unten beschrieben wird, auf den Betrag begrenzt, der im Geld-Container-Feld 120G.2 für den Kunden-Benutzer 203 ge­ speichert ist.
Im Schritt 1508 wird ein Update der Server-Datenstruktur 130 (Fig. 4H) durchgeführt. Die Session-ID wird in dem Ses­ sion-ID-Feld 130A gespeichert. Der elektronische Geldbe­ trag, der dem Kunden-Benutzer 203 während des Gesprächs zur Verfügung steht, wird in dem offenen Betragsfeld 130I ge­ speichert und der mit dem im Feld 130E gespeicherten Wert verbundene Währungs-Bestimmer wird im Feld 130D gespei­ chert. Ursprünglich spiegelt das Feld 130F den Wert des Öffnungs-Betrages im Feld 130G wider. Wenn elektronisches Geld ausgegeben wird, spiegelt der Wert im Feld 130F die Differenz zwischen dem Öffnungs-Betrag und dem ausgegebenen Betrag wider. Die Schlüssel-Lebensdauer, die vom Servercom­ puter 100 tatsächlich erteilt wird, wird im Schlüssel-Le­ bensdauer-Feld 130J gespeichert. Die Schlüssel-Benutzungs- Grenze, die tatsächlich vom Servercomputer 100 erteilt wird, wird im Schlüssel-Benutzungs-Grenzfeld 130I gespei­ chert. Der Wert des Label-Wert-Paares 4613A wird im Perso­ nen-ID-Feld 130K gespeichert. Das Datum, zu dem das Ge­ spräch eingerichtet wird, wird von der Server-Anwendungs­ software 110 erhalten und in dem Öffnungs-Datumsfeld 130G gespeichert. Der Wert des Label-Wert-Paares 4617D wird in dem Datensatz-Note-Feld 130M gespeichert. Die verbleibenden Felder der Server-Gesprächs-Datenstruktur 130 werden im Zu­ sammenhang mit den Mitteilungen vom CA-Typ weiter unten diskutiert.
Nach dem Schritt 1509 wird die Mitteilung OS2 vom Server­ computer 100 zusammengesetzt und an den Kundencomputer 200 verschickt, um das Gesprächs-Öffnungs-Verfahren 407 zu ver­ vollständigen. Die Inhalte der Mitteilung OS2 wird nun un­ ter Bezug auf Fig. 23A und 23B beschrieben.
Das Label-Wert-Paar 4713A hat den Label "ID". Der Wert des Label-Wert-Paares 4713A zeigt die Personen-ID des Kunden- Benutzers 203 an. Der Wert des Label-Wert-Paares 4713A ist der gleiche, der mit dem Label-Wert-Paar 4613A der Mittei­ lung OS1 empfangen wurde.
Das Label-Wert-Paar 4713B hat den Label "Transaktion". Der Wert des Label-Wert-Paares 4713B ist eine Transaktion-Num­ mer. Der Wert des Label-Wert-Paares 4713B ist der gleiche, der mit dem Label-Wert-Paar 4613B der Mitteilung OS1 emp­ fangen wurde.
Das Label-Wert-Paar 4713C hat den Label "Datum". Der Wert des Label-Wert-Paares 4713C ist der gleiche, der mit dem Label-Wert-Paar 4613C der Mitteilung OS1 empfangen wurde.
Das Label-Wert-Paar 4713D hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paares 4713D ist der gleiche, der mit dem Label-Wert-Paar 4613E der Mitteilung OS1 emp­ fangen wurde.
Das Label-Wert-Paar 4717 hat den Label "undurchsichtig". Der Wert des Label-Wert-Paares 4717 enthält den undurch­ sichtigen Abschnitt (in verschlüsselter Form) der Mittei­ lung OS2. Nun wird der undurchsichtige Abschnitt der Mit­ teilung OS2 beschrieben, der in Fig. 23B gezeigt ist.
Das Label-Wert-Paar 4717A hat den Label "Typ". Der Wert des Label-Wert-Paares 4717A bezieht sich auf einen Datensatz in der Mitteilungs-Datenstruktur 270 (Fig. 5A), der die Labels des undurchsichtigen Abschnitts der Mitteilung OS2 fest­ legt. Der Wert des Label-Wert-Paares 4717A wird von der Server-Software 110 erhalten.
Das Label-Wert-Paar 4717B hat den Label "Server-Datum". Der Wert des Label-Wert-Paares 4717B zeigt das Datum und die Uhrzeit an, zu der die Mitteilung OS2 nach der Uhr des Ser­ vercomputers 100 zusammengesetzt wurde.
Das Label-Wert-Paar 4717C hat den Label "Antwort-Code" und den Wert "Erfolg" oder "Fehler", wie vorangehend beschrie­ ben wurde. Der Wert des Label-Wert-Paares 4717C zeigt an, ob das Gesprächs-Öffnungs-Verfahren 407 Erfolg hatte oder fehlgeschlagen ist.
Das Label-Wert-Paar 4717D hat den Label "SW-Severity" (Software-Severity) und den Wert "Fehler" oder "Warnung". Der Wert des Label-Wert-Paares 4717D zeigt an, ob die Kun­ den-Anwendungssoftware 210 ein Update benötigt aber noch immer verwendbar ist ("Warnung"), oder ob sie nicht mehr verwendbar ist ("Fehler"). Der Wert des Label-Wert-Paares 4717D ist Null, wenn die Kunden-Anwendungssoftware 210 ak­ tuell ist.
Das Label-Wert-Paar 4717E hat den Label "SW-Mitteilung" (Software-Mitteilung). Der Wert des Label-Wert-Paares 4717E zeigt Befehle an, bezüglich dessen, was der Kunden-Benutzer 203 in dem Fall von "Fehler" oder "Warnung" bei Software- Severity tun soll. Der Wert des Label-Wert-Paares 4717E ist nur vorhanden, wenn der Wert des Label-Wert-Paares 4717D nicht Null ist.
Das Label-Wert-Paar 4717F hat den Label "Mitteilung". Der Wert des Label-Wert-Paares 4717F ist ein frei wählbare Textmitteilung, die mit einer Fehler- oder Erfolgsbedingung zusammenhängt, die von dem Label-Wert-Paar 4717C zurückge­ sendet wird und dem Kunden-Benutzer 203 angezeigt wird. Der Wert des Label-Wert-Paares 4717F kann eine Mitteilung, die eine duplizierte Personen-ID-Anforderung, eine fehlerhafte digitale Kennzeichnung oder eine falsch gebildete Mitteilung OS1 anzeigt, und Befehle, wie der Kunden-Benutzer 203 weiter verfahren soll (z. B. "Anruf beim Systemadministra­ tor"), enthalten.
Das Label-Wert-Paar 4717G hat den Label "Schlüssel-Lebens­ dauer" und den Wert, der von dem Feld 130K (Fig. 4L) "Schlüssel-Lebensdauer" erhalten wurde, der die maximale Zeitdauer anzeigt, die das Gespräch dauern kann.
Das Label-Wert-Paar 4717H hat den Label "Schlüssel-Benut­ zungs-Grenze" und den Wert, der von dem Feld 130J "Schlüs­ sel-Benutzungsgrenze" erhalten wurde, der die maximale An­ zahl der Transaktionen anzeigt, die während eines Gesprächs auftreten können.
Das Label-Wert-Paar 47171 hat den Label "Betrag" und zeigt den maximalen elektronischen Geldbetrag an, der dem Kunden- Benutzer 203 während des Gesprächs zur Verfügung steht. Der Betragswert des Label-Wert-Paares 47171 kann kleiner oder gleich dem Betrag sein, der vom Kunden-Benutzer 203 im Schritt 1502 angefordert wurde.
Das Label-Wert-Paar 4717J hat den Label "Wechselkurse" und einen Wert, der eine Umtauschrate zwischen der Währung ei­ ner im Wert des Label-Wertfeldes 42171 enthaltenen Bezeich­ nung in einer anderen Währung anzeigt, z. B. von US-Dollar in kanadische Dollar. Vorzugsweise ist die Umwandlungsrate eine Zahl kleinerer Einheiten (oder größerer Einheiten, wenn keine kleineren Einheiten vorliegen) der Bestimmungs­ währung für 100 Haupteinheiten der Zielwährung.
Das Label-Wert-Paar 4717K hat den Label "Gesprächs-Zahlungsmittel". Der Wert des Label-Wert-Paares 4717K zeigt einen elektronischen Geldbetrag an, der an alle offenen Ge­ spräche gesendet wurde, einschließlich des Betragswertes des Label-Wert-Paares 44171. Eine Kunden-Person 120.1 kann jede beliebige Zahl an Gesprächen offen haben. Das Label- Wert-Paar 4717K liefert dem Kunden-Benutzer 203 Information bezüglich des Zahlungsmittel-Betrages, der für alle offenen Gespräche zur Verfügung steht, einschließlich des gerade eröffneten Gesprächspunkts.
Das Label-Wert-Paar 4717L hat den Label "Balance". Der Wert des Label-Wert-Paares 4717L zeigt den elektronischen Geld­ betrag an, der im Geld-Container-Feld 120G.2 der Server- Personen-Datenstruktur 120 für den Kunden-Benutzer 203 nach dem Übertragen der elektronischen Geld-Zahlungsmittel zum offenen Betragsfeld 130E der Server-Gesprächs-Datenstruktur 130 gespeichert ist.
Das Label-Wert-Paar 4717M hat den Label "On-Hold". Der Wert des Label-Wert-Paares 4717M wird vom Geld-Container-Feld 120G.3 erhalten und zeigt den Betrag nicht eingesammelten elektronischen Geldes an, das in der Person 120.1 für den Kunden-Benutzer noch nicht geklärt ist. Dieser Wert stellt das elektronische Geld dar, das auf eine Zustimmung oder Verarbeitung durch den Herausgeber des Instrumentes wartet, von dem die Zahlungsmittel geladen werden oder auf das die Zahlungsmittel geladen werden.
Das Label-Wert-Paar 4717N hat den Pegel "Gebühr". Der Wert des Label-Wert-Paares 4717N zeigt eine Gebühr an, die dem Kunden-Benutzer 203 belastet wird, wenn eine solche exi­ stiert, die mit der Verarbeitung der Mitteilung OS1 verbun­ den ist.
Das Label-Wert-Paar 4717O hat den Label "Session-ID". Der Wert des Label-Wert-Paares 4717O wird von der Session-ID aus dem Feld 130A erhalten.
Das Label-Wert-Paar 4717P hat den Label "Gesprächs-Schlüs­ sel". Der Wert des Label-Wert-Paares 4717P wird von dem Ge­ sprächs-Schlüssel aus Feld 130B erhalten.
Das Label-Wert-Paar 4717Q hat den Label "Session-Salt". Der Wert des Label-Wert-Paares 4717Q wird aus dem Session-Salt des Feldes 130C erhalten.
Beim Schritt 1509 in Fig. 21 setzt der Servercomputer 100 die Mitteilung OS2 entsprechend dem Flußdiagramm aus Fig. 12 zusammen. Die Server-Mitteilungs-Zusammensetzungs-Proze­ dur 1000 wurde voranstehend für die Zusammensetzung der Mitteilung R2 beschrieben.
Im Schritt 1509A wird die Mitteilung OS2 vom Servercomputer 100 an den Kundencomputer 200 gesendet.
Im Schritt 1510 empfängt der Kundencomputer 200 die Mittei­ lung OS2 vom Servercomputer 100 und entziffert die Mittei­ lung OS2, indem die Mitteilungs-Entzifferungs-Prozedur 1100 für die Mitteilung OS2 ausgeführt wird. Die Mitteilungs- Entzifferungs-Prozedur 1100 (Schritte 1101-1121) wurde vor­ angehend für die Mitteilung R2 unter Bezug auf Fig. 14 be­ schrieben.
Im Schritt 1511 wird:
  • (1) wenn ein Fehler-Flag im Schritt 1105 gesetzt wurde, das Flag im Schritt 1511 detektiert, und die Bearbeitung der Mitteilung OS2 endet beim Schritt 1512. Aus Sicht des Kunden-Benutzers 203 wird keine weitere Handlung in bezug auf die Mitteilung OS2 unternommen. Erfindungsgemäß ist ein Mechanismus innerhalb der Kunden-Anwendungssoftware 210 vorgesehen, um eine Mitteilung zu erzeugen und an den Ser­ vercomputer 100 zu senden. Die Mitteilung enthält die OS2- Mitteilung, wie sei vom Kundencomputer 200 empfangen wurde, und eine Diagnose bezüglich der Ursache, warum die Mittei­ lung fehlging. Eine Antwort auf diese Mitteilung wird vom Servercomputer 100 an den Kundencomputer 200 nicht gesen­ det. Statt dessen wird die Information dazu benutzt, um festzustellen, ob ein Problem innerhalb des Systems exi­ stiert und ob geeignete Korrekturmaßnahmen vorgenommen wer­ den müssen.
  • (2) Wenn kein Fehler-Flag im Schritt 1105 gesetzt wurde, aber ein Fehler in der Mitteilung OS1 im Schritt 905 detektiert wurde, das Verfahren mit dem Schritt 1513 fort­ fahren, wo der Inhalt des Label-Wert-Paares 4717C geprüft wird. Wenn der Wert des Label-Wert-Paares 4717 ein anderer als "Erfolg" ist, werden die Fehler-Verarbeitungs-Prozedu­ ren im Schritt 1515 durchgeführt, wodurch die Kunden-Anwen­ dungssoftware veranlaßt wird, die in dem Label-Wert-Paar 4717F, das dem Label-Wert 4717C zugeordnet ist, enthaltene Mitteilung anzuzeigen, den Wert des Label-Wertes 4717C zu interpretieren und jede auch immer benötigte Handlung, die dem Wert zugeordnet ist, zu unternehmen, oder
  • (3) wenn die Mitteilung OS1 die Prüfung im Schritt 905 durchläuft und keine Flags im Schritt 1105 gesetzt werden, das Verfahren mit dem Schritt 1516 fortgesetzt, wo die Kun­ den-Anwendungssoftware 210 die Kundendatenbank 202 updated.
Die Kunden-Gesprächs-Datenstruktur 240 wird wie folgt ak­ tualisiert:
Die Session-ID wird in dem Session-ID-Feld 240A gespei­ chert. Der Gesprächs-Schlüssel wird in dem Gesprächs- Schlüssel-Feld 240B gespeichert. Das Session-Salt wird in dem Session-Salt-Feld 240C gespeichert. Der Wert des Label- Wert-Paares 47171 enthält einen Währungs-Bezeichner und einen Betrag. Der Betrag-Wert wird im offenen Betragsfeld 130E und der mit dem im Feld 130E gespeicherten Wert ver­ bundene Währungs-Bezeichner wird im Feld 130D gespeichert. Der Wert des Label-Wert-Paares 4717G wird in dem Schlüssel- Lebensdauer-Feld 240K gespeichert. Der Wert des Label-Wert- Paares 4717G wird im Schlüssel-Benutzungs-Grenze-Feld 240J gespeichert.
Es sei angemerkt, daß das Feld 240F ursprünglich den Wert des offenen Betrages im Feld 240E wiedergibt. Wenn elektro­ nisches Geld ausgegeben wird, wird der Wert im Feld 240F die Differenz zwischen dem Öffnungsbetrag und dem ausgege­ benen Betrag widerspiegeln. Die verbleibenden Felder der Kunden-Gesprächs-Datenstruktur 240 werden im Zusammenhang mit den Mitteilung vom CA-Typ weiter unten diskutiert.
Zusätzlich zu den in der Kunden-Gesprächs-Datenstruktur 240 aufgezeichneten Werten wird der Datensatz 263 der Kunden- Log-Datenstruktur 260 wie folgt aktualisiert. Die Personen- ID des Label-Wert-Paares 4713A wird im Feld 265H gespei­ chert. Die Transaktion-Nummer des Label-Wert-Paares 4713B wird im Feld 265B gespeichert. Das Datum aus dem Label- Wert-Paar 4717B wird im Feld 265C gespeichert. Der Antwort- Code vom Label-Wert-Paar 4717C wird im Feld 265F gespei­ chert. Der Software-Severity-Code des Label-Wert-Paares 4717D wird im Feld 265D gespeichert. Die Software-Mittei­ lung des Label-Wert-Paares 4717E wird im Feld 265E gespei­ chert. Die dem Antwort-Code des Feldes 4717F zugeordnete Antwort-Mitteilung wird im Feld 265G gespeichert. Die Schlüssel-Lebensdauer vom Label-Wert-Feld 4717G wird im Feld 265K gespeichert. Die Schlüssel-Benutzungs-Grenze des Label-Wert-Feldes 4717H wird im Feld 265J gespeichert. Der Betrag des Label-Wert-Paares 4717E wird im Feld 2651 ge­ speichert. Die Balance vom Label-Wert-Paar 4717L wird im Feld 265P gespeichert. Die Gebühr des Label-Wert-Paares 4717N wird im Feld 265O gespeichert. Die Session-ID des La­ bel-Wert-Paares 4717O wird im Feld 265L gespeichert.
Wenn das Gesprächs-Öffnungs-Verfahren von dem Händler-Be­ nutzer 303 eingeleitet wird, wird der Datensatz 370.1 der Händler-Geld-Log-Datenstruktur 370 wie folgt aktualisiert.
Der Antwort-Codes des Label-Wert-Paares 4717C wird im Feld 370O gespeichert. Die dem Antwort-Code des Label-Wert-Paa­ res 4717C zugeordnete Mitteilung vom Label-Wert-Paar 4717F wird im Feld 370T gesichert. Die Session-ID des Label-Wert- Paares 4717O wird im Feld 370S gespeichert.
Das Verfahren geht mit dem Schritt 1517 weiter, in dem das Gesprächs-Öffnungs-Verfahren 407 endet.
F. Transaktions-/Zahlungs-Verfahren 409
Wenn der Kunden-Benutzer 203 und der Händler-Benutzer 303 offene Gespräche haben, können sichere Geldtransaktionen über das Internet 50 erfolgen. Sicherheit in diesem Zusam­ menhang bedeutet, daß der Kunden-Benutzer 203 und der Händ­ ler-Benutzer 303 jeweils sicher sein können, daß bezüglich der elektronischen Zahlungsmittel nicht die Gefahr besteht, daß auf diese von einer nicht autorisierten dritten Partei zugegriffen wird, und daß kein elektronisches Geld übertra­ gen wird, bevor nicht beide Parteien einer Transaktion zu­ gestimmt haben, die von dem Servercomputer 100 für gültig erklärt wurde.
Die Transaktion enthält einen Kunden-Benutzer 203, der bei den Händler-Benutzern 303, die Händler-Personen 120.2 ha­ ben, über das Internet einkauft. Unter Verwendung bekannter Techniken einigen sich der Kunden-Benutzer 203 und der Händler-Benutzer 303 auf einen Preis, die der Kunden-Benut­ zer 203 bereit ist, für ein Produkt zu bezahlen, das vom Händler-Benutzer 303 geliefert wird. Wenn der Händler-Be­ nutzer 303 die Zahlung anfordert, wählt der Kunden-Benutzer 203 die Bezahlung mit elektronischem Geld. Dies Wahl be­ treibt einen Austausch von Mitteilungen, der in der letz­ tendlichen Zahlung an den Händler-Benutzer 303 für das ver­ äußerte Produkt resultiert.
Die Fig. 24A-24C zeigen ein Flußdiagramm, das das Transak­ tions-/Bezahlungs-Verfahren 409 zeigt, welches mit dem Schritt 1701 beginnt.
Im Schritt 1702 setzt der Händlercomputer 300 die Mittei­ lung PR1 zusammen. Die Mitteilung PR1 enthält vorzugsweise keine verschlüsselten Daten. Somit werden nur die Schritte 814-817 der Mitteilungs-Zusammensetzungs-Prozedur 800 (Fig. 9) zum Zusammensetzen der Mitteilung PR1 benötigt. Der In­ halt der Mitteilung PR1 wird nun unter Bezug auf Fig. 25 beschrieben.
Das Label-Wert-Paar 5013A hat den Label "Typ". Der Wert des Label-Wert-Paares 5013A bezieht sich auf einen Datensatz in der Mitteilungs-Datenstruktur 270 (Fig. 5A), der die Labels festsetzt, welche PR1 enthält. Der Wert des Label-Wert-Paa­ res 5013A wird von der Händler-Anwendungssoftware 310 er­ halten.
Das Label-Wert-Paar 5013B hat den Label "Händler-ID". Der Wert des Label-Wert-Paares 5013B zeigt die Personen-ID des Händler-Benutzers 303 an. Der Wert des Label-Wert-Paares 5013B wird vom Feld 320A (Fig. 6C) erhalten.
Das Label-Wert-Paar 5013C hat den Label "Händler-Order-ID". Der Wert des Label-Wert-Paares 5013C zeigt eine Auf­ tragsidentifikations-Nummer ("Order-ID") an, die vom Händ­ lercomputer 300 zur Identifizierung eines bestimmten Auf­ trags erzeugt wird. Der Wert des Label-Wert-Paares 5013C wird im Feld 370C (Fig. 7C) gespeichert.
Das Label-Wert-Paar 5013D hat den Label "Händler-Datum". Der Wert des Label-Wert-Paares 5013D zeigt das Datum und die Uhrzeit an, zu der die Mitteilung PR1 entsprechend der Uhr des Händlercomputer 300s 200 zusammengesetzt wurde.
Das Label-Wert-Paar 5013 hat den Label "Händler-SW-Ver­ sion" (Händler-Software-Version). Der Wert des Label-Wert- Paares 5013E zeigt die Version der Händler-Anwendungssoft­ ware 210 an, die mit dem Kundencomputer 200 kommuniziert. Der Wert des Label-Wert-Paares 5013E wird von der Händler- Anwendungssoftware 310 erhalten.
Das Label-Wert-Paar 5013F hat den Label "Note". Der Wert des Label-Wert-Paares 5013F beschreibt das Produkt, das vom Händler-Benutzer 303 an den Kunden-Benutzer 203 geliefert wird. Der Wert des Label-Wert-Paares 5013F wird von der Händler-Anwendungssoftware 310 durch eine Software, die vom Händler 303 oder einer dritten Partei geliefert wird, er­ halten.
Das Label-Wert-Paar 5013G hat den Label "Händler-Betrag". Der Wert des Label-Wert-Paares 5013G beschreibt die Währung und den Preis für das Produkt, das in dem Label-Wert-Paar 5013F beschrieben wurde.
Das Label-Wert-Paar 5013H hat den Label "Annahme". Der Wert des Label-Wert-Paares 5013H bezeichnet Kreditkarten, die vom Händler-Benutzer 303 angenommen werden (wenn vorhan­ den). Der Wert des Label-Wert-Paares 5013H wird vom Händ­ ler-Benutzer 303 erhalten.
Das Label-Wert-Paar 50131 hat den Label "URL-Zahlung-An". Der Wert des Label-Wert-Paares 50131 ist ein gleichmäßiger Resourcen-Platzanzeiger im Internet 50. Der gleichmäßige Resourcen-Platzanzeiger im Internet 50 des Label-Wert-Paa­ res 5013I ist eine Adresse im Internet 50, an die der Kun­ dencomputer 200 die Mitteilung CA1 senden soll, die später beschrieben wird.
Das Label-Wert-Paar 5013J hat den Label "URL-Löschen". Der Wert des Label-Wert-Paares 5013J ist ein gleichmäßiger Re­ sourcen-Platzanzeiger im Internet 50. Der gleichmäßige Re­ sourcen-Platzanzeiger im Internet 50 des Label-Wert-Paares 5013J wird vom Kundencomputer 200 benutzt, sollte der Kun­ den-Benutzer 203 sich entscheiden, die Transaktion zu lö­ schen.
Das Label-Wert-Paar 5013K hat den Label "URL-Erfolg". Der Wert des Label-Wert-Paares 5013K ist ein gleichmäßiger Re­ sourcen-Platzanzeiger im Internet 50, der den Kundencompu­ ter 200 an eine Adresse im World Wide Web lenkt, wenn die Transaktion erfolgreich ist. Der Erfolg einer Transaktion wird mit der Mitteilung CA4, die später beschrieben wird, berichtet. Wenn z. B. die Transaktion vom Servercomputer 100 gültig erklärt wird, kann der Wert des Label-Wert-Paares 5013K den Kundencomputer 200 zu einer Web-Page lenken, die den Kunden-Benutzer 203 für ihren oder seinen Erwerb be­ glückwünscht.
Das Label-Wert-Paar 5013L hat den Label "URL-Fehler". Der Wert des Label-Wert-Paares 5013L ist ein gleichmäßiger Re­ sourcen-Platzanzeiger im Internet 50, der den Kundencompu­ ter 200 an eine Adresse im World Wide Web lenkt, wenn die Transaktion nicht erfolgreich war. Der Fehler einer Trans­ aktion wird in einer Mitteilung CR4, die später beschrieben wird, berichtet. Wenn z. B. die Transaktion nicht von dem Servercomputer 100 gültig erklärt wird, kann der Wert des Label-Wert-Paares 5013L an den Kundencomputer 200 zu einer Web-Page lenken, die den Kunden-Benutzer 203 auffordert, ihren oder seinen Erwerb erneut zu versuchen.
Das Label-Wert-Paar 5013M hat den Label "Händler-Kennzei­ chen-Hash-Schlüssel". Der Wert des Label-Wert-Paares 5013M stellt einen Hash des modularen Teils des öffentli­ chen/privaten RSA-Schlüsselpaares dar, der vom Händlercom­ puter 300 zur Kennzeichnung des Hashs des Händler-Kennzei­ chungs-Hash-Label-Wert-Paares 5013N benutzt wird, das spä­ ter beschrieben wird. Der Wert des Label-Wert-Paares 5013M erlaubt es dem Servercomputer 100, zu bestätigen, das der öffentliche RSA-Schlüssel, der im Feld 120CC (Fig. 4E) für die Händler-Personen 120.2 gehalten wird, der gleiche Schlüssel ist, der zur Kennzeichnung des Label-Wert-Paares 5013N des Händler-Kennzeichnungs-Hashs verwendet wurde oder, wenn die Entschlüsselung des Label-Wert-Paares 5013N fehlgeschlagen ist, den Grund für diesen Fehler berichtet.
Das Label-Wert-Paar 5013N hat den Label "Händler-Kennzei­ chens-Hash". Für die Mitteilung PR1 ist der Wert des Label- Wert-Paares 5013N ein Hash der Label-Wert-Paare 5013A-5013M in dieser Reihenfolge. Dieser Hash wird dahin gehend ge­ kennzeichnet, daß der Hash erneut zerhackt wird, dann mit dem privaten RSA-Schlüssel der Händler-Person 120.2 ver­ schlüsselt wird. Der private RSA-Schlüssel der Händler-Per­ son 120.2 wird vom Feld 320H (Fig. 6C) erhalten.
Das Label-Wert-Paar 5013O hat den Label "Händler-Betrag2". Der Wert des Label-Wert-Paares 5013O beschreibt den Preis in anderen Währungen als jener, die mit dem in dem Label- Wert-Paar 5013G spezifizierten Preis verbunden ist.
Der Kunden-Benutzer 203 kann nicht die Echtheit des Kenn­ zeichens des Label-Wert-Paares 5013N überprüfen, da er nicht den öffentlichen Schlüssel der Händler-Person 120.2 hat. Der Wert des Label-Wert-Paares 5013N kann von der Kun­ den-Anwendungssoftware gespeichert werden, für den Fall, daß ein Streit über die Transaktion ausbricht. In diesem Fall kann der Servercomputer 100 den Wert des Label-Wert- Paares 5013N benutzen, um zu bestimmen, ob die Mitteilung PR1 tatsächlich vom Händlercomputer 300 gesendet wurde.
In Fig. 24A wird im Schritt 1705A ein neuer Datensatz 350.1 (Fig. 7A) wie folgt hinzugefügt.
Der Wert des Label-Wert-Paares 5013C (auf die Händler-Or­ der-ID bezogen) wird in dem Order-ID-Feld 350A gespeichert.
Der Wert des Label-Wert-Paares 5013G (bezogen auf den Be­ trag, den der Händler-Benutzer 303 im Austausch für die Produkte zu empfangen beabsichtigt, wird im Betrags-Feld 350B gespeichert.
Das Transaktions-/Bezahlungs-Verfahren 409 fährt mit dem Schritt 1702C fort. Hier übermittelt der Händlercomputer 300 die Mitteilung PR1 an den Kundencomputer 200. Der Händ­ lercomputer 300 wartet auf die Mitteilung CA1 vom Kunden­ computer 200.
Im Schritt 1702D empfängt der Kundencomputer 200 die Mit­ teilung PR1 vom Händlercomputer 300 und entziffert die Mit­ teilung PR1, indem die Mitteilungs-Entzifferungs-Prozedur 3300 ausgeführt wird. Die Mitteilungs-Entzifferungs-Proze­ dur 3300 wird nun unter Bezug auf Fig. 26 beschrieben, wo sie mit dem Schritt 3301 beginnt.
Im Schritt 3302 entnimmt die Kunden-Anwendungssoftware 210 die Protokoll-Nummer aus der Kopfzeile 5005 der Mitteilung PR1. Als nächstes wird, beruhend auf der entnommenen Proto­ koll-Nummer, auf die Mitteilungs-Schablonen-Datenstruktur 270 (Fig. 5A) zugegriffen, um das erwartete Format der Mit­ teilung PR1 zu bestimmen. Das erwartete Format kann die Mitteilungssyntax (z. B. erlaubte Zeilen-Ende-Charakter) und die Mitteilungscodierung (z. B. ASCII oder hexadezimal) ent­ halten. Die Syntax der Mitteilung PR1 wird in Übereinstim­ mung mit dem erwarteten Format wie folgt überprüft.
Im Schritt 3303 berechnet der Kundencomputer 200 eine Prüf­ summe unter Verwendung der gleichen Daten, die vom Händler­ computer 300 verwendet wurden. Im Schritt 3304A wird die im Schritt 3303 errechnete Prüfsumme mit der Pulssumme im Trailer 5050 der Mitteilung PR1 verglichen. Wenn die Prüf­ summen zueinander nicht gleich sind, wird die Mitteilung PR1 im Schritt 3304B verworfen, wo auch die Mitteilungs- Entzifferungs-Prozedur 3300 endet.
Wenn die Prüfsummen im Schritt 3304A einander gleich sind, setzt das Verfahren mit Schritt 3304C fort, wo die Mittei­ lung überprüft wird, um zu bestimmen, ob sie für die Mit­ teilungs-Entzifferungs-Prozedur 3300 geeignet ist. Wenn die Mitteilung des Pegel "Typ" in dem transparenten Teil der Mitteilung und den Wert PR1 enthält, ist sie geeignet. Wenn eine Mitteilung dieses Label-Wert-Paar nicht hat, ist es nicht für die Mitteilungs-Entzifferungs-Prozedur 3300 ge­ eignet, wobei dann das Verfahren mit dem Schritt 3304D fortsetzt, wo die Mitteilung zu anderen Entzifferungs-Pro­ zeduren, die woanders beschrieben werden, umgelenkt wird. Ist die Mitteilung PR1 geeignet, dann fährt das Verfahren mit dem Schritt 3304E fort, wo der Mitteilungs-Typ unter Bezug auf den Wert des Label-Wert-Paares 5013A bestimmt wird. In diesem Fall ist der Wert des Label-Wert-Paares "Zahlungs-Anforderung".
Im Schritt 3305 wird eine Paßform-Überprüfung der Mittei­ lung PR1 durchgeführt. Die Paßform-Überprüfungs-Prozedur im Schritt 3305 hängt von der Software ab. Das heißt, die er­ wartete Form der Mitteilung und die Kriterien, die bestim­ men, ob diese akzeptabel ist, hängen von der Mitteilung und allen Variationen der Mitteilungen ab, die zur gegebenen Zeit gültig sind. Zumindest wird die Paßform-Überprüfungs- Prozedur überprüfen, ob eine einkommende Mitteilung alle Pegel enthält, die für die Mitteilung vorgeschrieben sind, ob alle Werte für jeden Pegel, der einen Wert erfordert, vorhanden sind und ob die Werte von dem Typ (z. B. Text, ge­ kennzeichnete Nummer), der Syntax und innerhalb der vorge­ gebenen Grenzen liegen, wie es gefordert ist. Wenn zusätz­ liche Labels vorkommen, wird der Kundencomputer 200 diese ignorieren. Wenn die Syntax der Mitteilung nicht geprüft werden kann, oder wenn sie geprüft werden kann, aber nicht mit den Formkriterien übereinstimmt, wird ein Fehler-Flag im Schritt 3306 gesetzt. In diesem Fall endet die Mittei­ lungs-Entzifferungs-Prozedur 3300 mit dem Schritt 3309.
Wenn die Mitteilung PR1 die geeignete Form hat, geht das Verfahren mit dem Schritt 3307 weiter. Hier wird die Kun­ den-Anwendungssoftware 210 einen neuen Datensatz wie folgt hinzufügen.
Der Händler-ID-Wert des Label-Wert-Paares 5013B wird im Feld 266A gespeichert. Der Händler-Order-ID-Wert des Label- Wert-Paares 5013C wird im Feld 266B gespeichert. Der Be­ tragswert des Label-Wert-Paares 5013G wird im Feld 266C ge­ speichert. Der Wert der Händler-Note des Label-Wert-Paares 5013F wird im Feld 266D gespeichert. Der Zahlen-an-URL wird im Feld 266F gespeichert.
Die Mitteilungs-Entzifferungs-Prozedur 3300 endet mit dem Schritt 3309.
In Fig. 24 zeigt im Schritt 1703 ein Kundencomputer 200 das Angebot des Händler-Benutzers 303 an den Kunden-Benutzer 203. Die Werte der Label-Wert-Paare 5213F und 5213G (welche das an den Kunden-Benutzer 203 zu verkaufende Produkte und den Angebotspreis beschreiben) werden angezeigt.
Im Schritt 1704 nimmt der Kunden-Benutzer 203 das Angebot des Händler-Benutzers 303 an. Es ist voraussehbar, daß diese Verbindung dem Kunden-Benutzer 203 auch eine Vielzahl an Zahlungsoptionen einräumt (z. B. Kreditkarte oder elek­ tronisches Geld). Wenn der Kunden-Benutzer 203 Kredit aus­ wählt, werden andere Verfahren greifen, die hier nicht be­ schrieben sind. Wenn der Kunden-Benutzer 203 einen Wunsch zur Zahlung für das Produkt mit elektronischem Geld an­ zeigt, setze das Verfahren mit dem Schritt 1705 fort.
Im Schritt 1705 bestimmt die Kunden-Anwendungssoftware 210, ob der Kunden-Benutzer 203 ein offenes Gespräch hat, wobei nach dem Datensätzen 240 gesucht wird (Fig. 5E).
Wenn der Kunden-Benutzer 203 kein offenes Gespräch hat, geht das Verfahren mit dem Schritt 1706 weiter. Dort geht ein Gespräch unter Verwendung des Gesprächs-Öffnungs-Ver­ fahrens 405, das oben beschrieben wurde, weiter.
Wenn der Kunden-Benutzer 203 ein offenes Gespräch hat oder nachdem das Gespräch 99999 00070 552 001000280000000200012000285919988800040 0002019652294 00004 99880s-Öffnungs-Verfahren 405 ausgeführt wurde, fährt das Verfahren mit dem Schritt 1707A fort. Hier setzt der Kundencomputer 200 die Mitteilung CA1 wie folgt zusammen.
In Fig. 27 ist die Mitteilungs-Zusammensetzungs-Prozedur CA12 gezeigt ("CA12" besagt, daß diese Mitteilungs-Zusam­ mensetzungs-Prozedur zur Zusammensetzung der Mitteilungen CA1 und CA2 ausgeführt wird).
Die Mitteilungs-Zusammensetzungs-Prozedur CA12 der Mittei­ lung CA1 beginnt mit dem Schritt 1621. Die Mitteilung CA1 ist in den Fig. 28A und 28B gezeigt.
Im Schritt 1622 greift die Kunden-Anwendungssoftware 210 auf die Mitteilungs-Schablonen-Datenstruktur 270 (Fig. 5A) zu, um eine Label-Liste zu erhalten, die, wenn sie mit zu­ gehörigen Werten zusammentreffen, die transparenten Label- Wert-Paare 5113A-5113E der Mitteilung CA1 bilden. Im Schritt 1623 werden die Werte jedem Pegel zugeordnet. Diese Label-Wert-Paare werden nun detailliert beschrieben.
Das Label-Wert-Paar 5113A hat den Label "Typ". Der Wert des Label-Wert-Paares 5113A bezieht sich auf einen Datensatz in der Mitteilungs-Datenstruktur 350 (Fig. 4A), der die Labels festsetzt, die die Mitteilung CA1 enthalten. Der Wert des Label-Wert-Paares 5113A wird von der Kunden-Anwendungssoft­ ware 210 erhalten.
Das Label-Wert-Paar 5113B hat den Label "Version". Der Wert des Label-Wert-Paares 5113B ist ein Code, der in der Mit­ teilungs-Datenstruktur 270 (Fig. 5A) gehalten wird und einen Datensatz innerhalb der Datensatz-Typen bezeichnet, der durch das Label-Wert-Paar 5113A ausgewählt sind. Der Wert des Label-Wert-Paares 5113B wird von der Kunden-Anwen­ dungssoftware 210 aus der Mitteilungs-Datenstruktur 270 er­ setzt.
Das Label-Wert-Paar 5113C hat den Label "Session-ID". Der Wert des Label-Wert-Paares 5113C wird aus dem Session-ID im Feld 240A (Fig. 5E) erhalten.
Das Label-Wert-Paar 5113D hat den Label "Index". Der Wert des Label-Wert-Paares 5113D ist eine ganze Zahl, die von der Kunden-Anwendungssoftware 210 einer Transaktion inner­ halb eines Gesprächs zugewiesen ist, und stellt die Benut­ zung des Gesprächs-Schlüssels, der im Feld 240B gespeichert ist, dar. Der Bereich der Werte liegt zwischen 1 und der im Feld 240 gespeicherten Schlüssel-Benutzungs-Grenze.
Das Label-Wert-Paar 5113E hat den Label "Zahlungempfänger- Währung" ,und der Wert wird durch den Währungsteil des La­ bel-Wert-Paares 5013G der Mitteilung PR1 angezeigt. Der Wert des Label-Wert-Paares 5113E beschreibt die Währung, mit der der Händler-Benutzer 303 für die Transaktion be­ zahlt werden will.
Das Label-Wert-Paar 5113F hat den Label "Note-Hash". Der Wert des Label-Wert-Paares 5113F ist ein Hash des Label- Wert-Paares 5013F der Mitteilung PR1.
Das Label-Wert-Paar 5113G hat den Label "Zahlungsempfänger- ID". Der Wert des Label-Wert-Paares 5113G ist ein Händler- Personen-ID, die aus dem Wert des Label-Wert-Paares 5113B der Mitteilung PR1 erhalten wird.
Das Label-Wert-Paar 5113H hat den Label "Order-ID". Der Wert des Label-Wert-Paares 5113H ist eine Order-ID, die von dem Wert des Label-Wert-Paares 5113C der Mitteilung PR1 er­ halten wird.
Das Label-Wert-Paar 5113I hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paares 5113I ist ein Label, das von dem Händlercomputer 300 benutzt werden kann, um die Mitteilung CA1 zu einem Prozessor innerhalb des Händlercom­ puters 300 zu lenken, der Mitteilungen einer bestimmten Service-Kategorie bearbeitet.
Im Schritt 1624 erzeugt die Kunden-Anwendungssoftware 210 einen 56-Bit-DES-Schlüssel DES-CA1 entsprechend dem CA-DES- Schlüsselerzeugungs-Verfahren 1600, das in dem Flußdiagramm aus Fig. 29 gezeigt ist.
Die Erzeugung des DES-Schlüssels DES-CA1 beginnt mit dem Schritt 1610.
Im Schritt 1611 bildet die Kunden-Anwendungssoftware 210 eine Größe Q, nämlich eine 8-Byte-Größe. Die Größe Q ist eine Verkettung der Werte der Label-Wert-Paare 5113A, 5113B und 5113D der Mitteilung CA1. Vorzugsweise ändert sich der resultierende DES-Schlüssel mit jeder Mitteilung, so daß eine erhöhte Wahrscheinlichkeit besteht, daß der durch das CA-DES-Schlüssel-Erzeugungs-Verfahren 1600 erzeugte DES- Schlüssel einmalig ist. Erfindungsgemäß werden normaler­ weise der Wert des Gesprächs-Schlüssel-Feldes 240B und des Label-Wert-Paares 5113D ("Index"), wenn sie zusammengenom­ men werden, für jede Anfrage-Mitteilung (das heißt für die Mitteilung CA1 und die Mitteilung CA2) und jede Antwort- Mitteilung (das heißt die Mitteilung CA3 und die Mitteilung CA4) unterschiedlich sein. Zusätzlich wird der Wert eines Label-Wert-Paares 5113A ("Typ") die Anfrage von der Antwort unterscheiden, was zu einer geringen Wahrscheinlichkeit führt, daß irgendwelche zwei Mitteilungen mit dem gleichen DES-Schlüssel verschlüsselt werden. Eine zusätzliche Varia­ bilität wird durch Verwendung des Label-Wert-Paares 5113B ("Version") erhalten.
Erfindungsgemäß führt die Verkettung der Werte der Label- Wert-Paare 5113A, 5113B und 5113D der Mitteilung CA1 zu ei­ ner 4-Byte-Größe. Um den gewünschten 8-Byte-Wert zu erhal­ ten, wird die sich ergebende Verkettung auf der linken Seite mit vier Bytes aus Nullen ergänzt.
Im Schritt 1612 wird ein 64-Bit-Initialisations-Vektor er­ halten. Der Initialisations-Vektor sind die unteren 64 Bit des Gesprächs-Schlüssels aus Feld 240B (Fig. 5E). Dieser Initialisations-Vektor wurde während des Gesprächs-Öff­ nungs-Verfahrens 407 erzeugt.
Im Schritt 1613 wird eine logische "Exklusiv-Oder"-Verknüp­ fung auf die im Schritt 1611 berechnete Größe Q und den im Schritt 1612 erhaltenen Initialisations-Vektor angewendet.
Im Schritt 1614 wird das Ergebnis der XOR-Verknüpfung aus dem Schritt 1613 (ein 64-Bit-Wert) unter Verwendung des 56- Bit-DES-Schlüssels, der in den oberen 64 Bit des Gesprächs- Schlüssels des Felds 240B gespeichert ist, verschlüsselt. Der 56-Bit-DES-Schlüssel wurde während des Gesprächs-Öff­ nungs-Verfahrens 407 erzeugt.
Im Schritt 1615 werden die Paritäts-Bits des verschlüssel­ ten XOR-Ergebnisses aus Schritt 1614 abgezogen. Auf diese Art wird der 56-Bit-DES-Schlüssel DES-CA1 erzeugt.
Das Verfahren 1600 zur Erzeugung des CA-DES-Schlüssels für die Mitteilung CA1 endet mit dem Schritt 1617.
In Fig. 27 fährt die Mitteilungs-Zusammensetzungs-Prozedur CA12 für die Mitteilung CA1 in dem Schritt 1625 fort. Hier wird der DES-Schlüssel DES-CA1 in einem temporären Register gespeichert.
Im Schritt 1626 greift die Kunden-Anwendungssoftware 210 auf die Mitteilungs-Schablonen-Datenstruktur 270 (Fig. 5A) zu, um eine erste Label-Liste zu erhalten, die, wenn sie mit zugehörigen Werten zusammentreffen, den undurchsichti­ gen Abschnitt der Mitteilung CA1 bilden.
Der undurchsichtige Abschnitt der Mitteilung CA1 ist in Fig. 24B gezeigt, wo das Label-Wert-Paar 5117A den Label "Betrag" hat. Der Wert des Label-Wert-Paares 5117A be­ schreibt die Währung und den Betrag, die der Kunden-Benut­ zer 203 für das Produkt zu zahlen beabsichtigt.
Das Label-Wert-Paar 5117B hat den Label "Gültigkeits-Code" und wird im Schritt 1628 erzeugt. Für die Mitteilung CA1 ist der Wert des Label-Wert-Paares 5117B ein Hash der fol­ genden Verkettung: das 8-Byte-Salt aus Feld 240C, die Werte der Label-Wert-Paare 5113A, 5113C-5113H und 5117A und das 8-Byte-Salt aus Feld 240C. Vor dem Hash werden alle in den Werten der Label-Wert-Paare 5113A, 5113C-5113H und 5117A enthaltenen Leerräume entfernt, und ein vertikaler Balken- Trenncharakter zwischen benachbarte Wertpaare eingefügt.
Dieser Gültigkeits-Code ist keine digitale Signatur. Wäh­ rend eine digitale Signatur anstelle des Gültigkeits-Codes, der sich in dem Label-Wert-Paar 5117B widerspiegelt, ver­ wendet werden kann, sind hierbei die Kosten für die Verwen­ dung - in bezug auf die Verarbeitungszeit im Vergleich mit der Verarbeitung eines Hashs- beachtlich. Mit der Vor­ sichtsmaßnahme, die durch die Verwendung unabhängiger Ge­ spräche mit begrenzter Dauer für die Kunden-Benutzer 203 und einen Händlercomputer 300 303 gegeben ist, sind die Vorteile der Verschlüsselung beruhend auf der Nichtanerken­ nung nicht hinreichend durch die Kosten der Rechnerzeit ausgewogen.
Im Schritt 1629 wird das Label-Wert-Paar 5117B, das im Schritt 1628 erzeugt wurde, an das Label-Wert-Paar 5117A angehängt. Die Label-Wert-Paare 5117A und 5117B werden un­ ter Verwendung des DES-Schlüssels DES-CA1 verschlüsselt, der in dem temporären Register im Schritt 1625 gespeichert wurde.
Im Schritt 1630 werden die im Schritt 1629 verschlüsselten Daten unter Verwendung bekannter Techniken codiert.
Die Mitteilung CA1 wird in den Schritten 1631-1634 zusam­ mengesetzt. Im Schritt 1631 wird eine Kopfzeile 5105 unter Verwendung der Mitteilungs-Schablone, die in der Kunden- Mitteilungs-Schablonen-Datenstruktur 270 gefunden wurde (Fig. 5A), und der Protokoll-Nummer gebildet, wie sie in der Kunden-Anwendungssoftware 210 eingebaut ist.
Im Schritt 1632 werden die Label-Wert-Paare 5113A-5113H an­ gefügt.
Im Schritt 1633 wird das undurchsichtige Label-Wert-Paar 5117 angefügt. Das Label-Wert-Paar 5117 hat den Label "un­ durchsichtigt", was bedeutet, daß der folgende Wert ver­ schlüsselte Daten sind. Der Wert des Label-Wert-Paares 5117 stellt die Daten dar, die im Schritt 1630 codiert wurden.
Der Trailer 5150 wird im Schritt 1634 zusammengesetzt. Die Prüfsumme im Trailer 5150 wird berechnet, wie es oben in bezug auf die Probemitteilung 4000 beschrieben wurde. Der Trailer 5150 wird dem Rest der Mitteilung CA1 hinzugefügt.
Die Zusammensetzung der Mitteilung CA1 ist nun vollständig. Die Mitteilungs-Zusammensetzungs-Prozedur CA12 für die Mit­ teilung CA1 endet mit dem Schritt 1635.
In Fig. 24 setzt sich das Verfahren mit dem Schritt 1707A fort. Hier addiert der Kundencomputer 200 einen neuen Da­ tensatz 253 (Fig. 51) wie folgt.
Die Kunden-Anwendungssoftware 210 erzeugt einen Wert, vor­ zugsweise "Geld-Zahlung", und speichert diesen im Feld 253A.
Die Kunden-Anwendungssoftware erzeugt auch eine Transak­ tion-Nummer und ein Datum und speichert diese in dem Trans­ aktion-Nummern-Feld 253B und dem Datum/Zeit-Feld 253C.
Die Software-Version der Kunden-Anwendungssoftware 210, die zur Erzeugung der Mitteilung CA1 verwendet wird, wird von der Kunden-Anwendungssoftware 210 erhalten und in dem Soft­ ware-Versionsfeld 253D gespeichert.
Die Personen-ID der Kunden-Person 120.1 wird von dem Feld 220A erhalten und im Feld 253E gespeichert.
Der Wert des Label-Wert-Paares 5013C der Mitteilung PR1 wird in dem Order-ID-Feld 253F gesichert.
Der Wert des Label-Wert-Paares 5113B wird in dem Händler- ID-Feld 253G gesichert.
Der dem Label-Wert-Paar 5117A zugeordnete Wert wird in dem Betrags-Feld 253H gesichert und aus dem laufenden Wert des Feldes 240F der Kunden-Gesprächs-Datenstruktur 240 abgelei­ tet.
Das Benutzer-Memo-Feld 2531 speichert eine wahlfreie Notiz des Kunden, um die Transaktion zu beschreiben. Der Wert des Feldes 2531 wird vom Kunden-Benutzer 203 in Abhängigkeit einer Anfrage durch die Kunden-Anwendungssoftware 210 zu dem Zeitpunkt erhalten, in dem der Kunden-Benutzer 203 der Ausführung der Zahlung zustimmt.
Der Wert des Label-Wert-Paares 50131 der Mitteilung PR1 wird im Feld 253J gesichert.
Eine Kopie der Mitteilung CA1 wird vorzugsweise im Feld 253K gesichert.
In Fig. 24 fährt das Verfahren mit dem Schritt 1708 fort. Hier überträgt der Kundencomputer 200 die Mitteilung CA1 an den Händlercomputer 300. Der Kundencomputer 200 wartet auf die Antwort-Mitteilung CA4 vom Händlercomputer 300.
Im Schritt 1709 empfängt der Händlercomputer 300 die Mit­ teilung CA1 vom Kundencomputer 200 und entziffert die Mit­ teilung CA1, indem die Mitteilungs-Entzifferungs-Prozedur CA1 ausgeführt wird. Die Mitteilungs-Entzifferungs-Prozedur CA1 für die Mitteilung CA1 wird nun unter Bezug auf Fig. 30 beschrieben, wo sie mit dem Schritt 1641 beginnt.
Im Schritt 1642 entnimmt die Händler-Software 310 die Pro­ tokoll-Nummer aus der Kopfzeile 5105 der Mitteilung CA1. Als nächstes wird beruhend auf der entnommenen Protokoll- Nummer des Feldes 5105C auf die Mitteilungs-Datenstruktur 380 zugegriffen, um das erwartete Format der Mitteilung CA1 zu bestimmen. Das erwartete Format kann die Mitteilungssyn­ tax (z. B. Zeilen-Ende-Charakter) und die Mitteilungscodie­ rung (z. B. ASCII oder hexadezimal) enthalten. Die Syntax der Mitteilung CA1 wird in Übereinstimmung mit dem erwarte­ ten Format wie folgt überprüft.
Im Schritt 1643 berechnet der Händlercomputer 300 eine Prüfsumme unter Verwendung der gleichen Daten, die vom Kun­ dencomputer 200 im Schritt 1633 der Mitteilungs-Zusammen­ setzungs-Prozedur CA12 (Fig. 27) für die Mitteilung CA1 verwendet wurden. Im Schritt 1644 wird die im Schritt 1643 berechnet Prüfsumme mit der Prüfsumme im Trailer 5150 der Mitteilung CA1 verglichen. Wenn die Prüfsummen einander nicht gleich sind, wird die Mitteilung CA1 im Schritt 1644D verworfen, wobei die Mitteilungs-Entzifferungs-Prozedur CA1 endet.
Sind die Prüfsummen im Schritt 1644 einander gleich, fährt das Verfahren mit dem Schritt 1644B fort, wo die Mitteilung geprüft wird, um zu bestimmen, ob sie für die Mitteilungs- Entzifferungs-Prozedur CA1 geeignet ist. Eine Mitteilung ist geeignet, wenn sie das Label "Typ" im transparenten Teil der Mitteilung und den Wert, der die Mitteilung CA1 anzeigt, enthält. Wenn die Mitteilung nicht das Label-Wert- Paar enthält, ist sie nicht geeignet. Ist die Mitteilung CA1 geeignet, setzt das Verfahren mit dem Schritt 1645 fort, wo eine Paßform-Überprüfung der Mitteilung CA1 durchgeführt wird.
Die Paßform-Überprüfungs-Prozedur im Schritt 1645 hängt von der Software-Version ab. Das heißt, die erwartete Form der Mitteilung und die Kriterien, um zu bestimmen, ob sie akzeptabel ist, hängen von der Mitteilung und allen Varia­ tionen der Mitteilungen ab, die zu einem bestimmten Zeit­ punkt, bestimmt durch Bezug auf den Mitteilungs-Typ und die Informations-Version, die von der Mitteilung CA1 geliefert wird, gültig sind, und der vorher beschriebenen Mittei­ lungs-Datenstruktur 380 ab. Zumindest wird die Paßform- Überprüfungs-Prozedur überprüfen, ob die ankommende Mittei­ lung alle Labels, die für diese Mitteilung vorgeschrieben sind, enthält, ob Werte für jedes Label, der einen Wert benötigt, vorhanden sind und ob die Werte von dem Typ (z. B. Text, Kennzeichn-Nummern), der Syntax und innerhalb der vorgegebenen Grenzen, wie benötigt, sind. Wenn die Syntax einer Mitteilung nicht geprüft werden kann oder wenn sie geprüft werden kann, aber nicht mit den Formkriterien über­ einstimmt, wird ein Fehler-Flag im Schritt 1647 gesetzt. In diesem Fall endet die Mitteilungs-Entzifferungs-Prozedur CA1 in dem Schritt 1648. Wenn die Mitteilung CA1 die Form­ überprüfung im Schritt 1645 durchläuft, setzt das Verfahren mit dem Schritt 1646 fort, wo der Wert des Label-Wert-Paa­ res 5117 in einem temporären Register gesichert wird. Die Mitteilungs-Entzifferungs-Prozedur CA1 wird im Schritt 1648 vervollständigt.
In Fig. 24 wird das Verfahren im Schritt 1710 wieder aufge­ nommen. Wenn Fehler-Flags in dem Schritt 1647 gesetzt wur­ den, geht das Verfahren mit dem Schritt 1710B weiter, wo die Händler-Fehler-Verarbeitungs-Prozeduren aufgerufen wer­ den.
Wenn keine Flags im Schritt 1647 gesetzt werden, geht das Verfahren mit dem Schritt 1711A weiter. Hier setzt der Händlercomputer 300 die Mitteilung CA2 (Fig. 31) entspre­ chend der in Fig. 27 gezeigten Mitteilungs-Zusammenset­ zungs-Prozedur CA12, zusammen. Die Mitteilungs-Zusammenset­ zungs-Prozedur CA12 wurde vorangehend für die Mitteilung CA1 beschrieben, wobei die folgende Ausnahme anzumerken ist. Der DES-Schlüssel DES-CA2 wird (anstelle des DES- Schlüssels DES-CA1) unter Verwendung der CA-DES-Schlüssel- Erzeugungs-Prozedur 1600 erzeugt. Der Inhalt der Mitteilung CA2 ist wie folgt.
Das Label-Wert-Paar 5213A hat den Label "Typ". Der Wert des Label-Wert-Paares 5213A bezieht sich auf einen Datensatz in der Server-Mitteilungs-Datenstruktur 150, der die Labels festsetzt, die die Mitteilung CA2 enthält. Der Wert des La­ bel-Wert-Paares 5213A wird von der Händler-Anwendungssoft­ ware 310 erhalten.
Das Label-Wert-Paar 5213B hat den Label "Version" und be­ zieht sich auf einen Datensatz, der auf den Datensatz-Typ, der vorangehend beschrieben wurde, bezogen ist. Der Wert des Label-Wert-Paares 5213B enthält Informationen bezüglich der Form und des Inhalts der Label-Wert-Paare 5213A, 5213C, 5213D und 5213E und Informationen zur Beschreibung der Syn­ tax-Überprüfungs-Label-Wert-Paare 5217.1 und 5217.2. Wie später diskutiert wird, wird zusätzliche Information bezüg­ lich der Form und dem Inhalt der Label-Wert-Paare 5217.1 und 5217.2 und dem Label-Wert-Paar 5217.1B geliefert. Der Wert des Label-Wert-Paares 5213B wird durch die Händler-An­ wendungssoftware 310 aus der Mitteilungs-Datenstruktur 380 (Fig. 6A) ersetzt.
Das Label-Wert-Paar 5213C hat den Label "Session-ID". Der Wert des Label-Wert-Paares 5213C wird von der Session-ID aus dem Feld 340A (Fig. 6E) erhalten.
Das Label-Wert-Paar 5213D hat den Label "Index". Der Wert des Label-Wert-Paares 5213D ist eine ganze Zahl, die von der Händler-Anwendungssoftware 310 einer Transaktion inner­ halb eines Gesprächs zugeordnet ist, und stellt die Verwen­ dung des im Feld 240B gespeicherten Gesprächs-Schlüssels dar.
Das Label-Wert-Paar 5213E hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paares 5213E ist ein Label, der verwendet werden kann, um die Mitteilung CA2 zu einem Prozessor innerhalb des Servercomputers 100 zu lenken, der die Mitteilung einer bestimmten Service-Kategorie bearbei­ tet.
Die Mitteilung CA2 enthält das undurchsichtige Händler-La­ bel-Wert-Paar 5217.1 und das undurchsichtige Kunden-Label- Wert-Paar 5217.2. Die Label-Wert-Paare 5217.1 und 5217.2 haben die Labels "Händler/undurchsichtig" und "Kun­ den/undurchsichtig", was bedeutet, daß die folgenden Werte verschlüsselte Daten sind. Der Wert des Label-Wert-Paares 5217.1 stellt die Daten dar, die im Schritt 1630 auf Basis 64 codiert wurden. Der Wert des Label-Wert-Paares 5217.2 ist der Wert des Label-Wert-Paares 5117 (das vom Kundencom­ puter 200 in der Mitteilung CA1 geliefert wurde) und in dem temporären Register im Schritt 1646 gesichert wurde.
Die undurchsichtigen Abschnitte der Mitteilung CA2 sind in Fig. 31B gezeigt, wo das Label-Wert-Paar 5217.1A den Label "Typ" hat. Der Wert des Label-Wert-Paares 5217.1A bezieht sich auf einen Datensatz in der Mitteilungs-Datenstruktur 150, der die Labels der undurchsichtigen Abschnitte der Mitteilung CA2 festlegt. Der Wert des Label-Wert-Paares 5217.1A wird von der Händler-Anwendungssoftware 310 erhal­ ten.
Das Label-Wert-Paar 5217.1B hat den Label "Version" und be­ zieht sich auf einen Datensatz innerhalb der Datensatz-Ty­ pen, die durch das Label-Wert-Paar 5217.1A bezeichnet sind.
Wie vorangehend diskutiert wurde, erlaubt das Label-Wert- Paar 5217.1B dem Sender einer Mitteilung, den Empfänger der Mitteilung anzuweisen, welche Version der Mitteilung abge­ sendet wurde, und den Empfänger anzuweisen, wie die Syntax überprüft und die Version verarbeitet werden kann. Das La­ bel-Wert-Paar 5217.1B weist den Servercomputer 100 über die Form und den Inhalt des undurchsichtigen Label-Wert-Paares 5217.1 an. Der Wert des Label-Wert-Paares 5217.1B wird von der Händler-Anwendungssoftware 310 erhalten.
Vorzugsweise ermöglicht es die Erfindung, daß der Händler­ computer 300 "n"-CA1-Mitteilungen an den Servercomputer 100 in einer einzelnen Mitteilung CA2 absendet, die von einem oder mehreren Kundencomputern 200 empfangen wurden. Bei der Erfindung ist die Variable "n" eine ganze Zahl, die zwi­ schen 1 und 255 liegt. Ein anderer Bereich kann in Abhän­ gigkeit von der Systemkapazität und anderer Faktoren be­ stimmt werden. Die Mitteilung CA2 ist so aufgebaut, daß die transparenten Label-Wert-Paare 5113A-5113D und 5113F-5113H einer empfangene Mitteilung CA1 in dem undurchsichtigen La­ bel-Wert-Paar 5217.1 enthalten sind. Für jede von dem Händ­ lercomputer 300 an den Servercomputer 100 abgesendete Mit­ teilung CA2 sind die Label-Wert-Paare 5217.1C-5217.1I (ent­ sprechend den Label-Wert-Paaren 5113A-5113D und 5113F-5113H) und 5217.1J in der Mitteilung CA2 enthalten. Genauer gesagt:
Das Label-Wert-Paar 5217.1C hat den Label "Typ-n" und den Wert des Label-Wert-Paares 5117A.
Das Label-Wert-Paar 5217.1D hat den Label "Unterversion-n" und den Wert des Label-Wert-Paares 5117B.
Das Label-Wert-Paar 5217.1E hat den Label "Zahler-Session- ID-n" und den Wert des Label-Wert-Paares 5117C.
Das Label-Wert-Paar 5217.1F hat den Label "Zahler-Index-n" und den Wert des Label-Wert-Paares 5117D.
Das Label-Wert-Paar 5217.1G hat den Label "Note-Hash-n" und den Wert des Label-Wert-Paares 5117F.
Das Label-Wert-Paar 5217.1H hat den Label "Zahlung-ID-n" und den Wert des Label-Wert-Paares 5117G.
Das Label-Wert-Paar 5217.11 hat den Label "Order-ID-n" und den Wert des Label-Wert-Paares 5117H.
Das Label-Wert-Paar 5217.1J hat den Label "Händler-Betrag­ n". Der Wert des Label-Wert-Paares 5217.1J wird von Händ­ ler-Anwendungssoftware 310 zugeführt und beschreibt die Währung und den Betrag, den der Händler-Benutzer 303 für das Produkt zu erhalten beabsichtigt.
In Fig. 24 geht das Verfahren mit dem Schritt 1711B weiter, wo der Händlercomputer 300 die lokale Datenstruktur wie folgt auffrischt.
Ein neuer Datensatz 350.1 wird von der Händler-Betrags-Da­ tenstruktur 350 für die "n"te-CA1-Mitteilungen, die in der Mitteilung CA2 enthalten sind, erzeugt. Die Order-ID des Label-Wert-Paares "Order-ID-n" wird im Feld 350A gespei­ chert. Der Händler-Betrag von dem Label-Wert-Paar "Händler- Betrag-n" wird im Feld 350B gespeichert.
Das Update des Datensatzes 370.1 (Fig. 7C) wird wie folgt durchgeführt.
Das Statusfeld 370B wird durch die Händler-Anwendungssoft­ ware 310 auf "Versuch" gesetzt. Die Session-ID des Händler- Benutzers 303 aus dem Label-Wert-Paar 5213C wird im Feld 370G gespeichert. Der Index des Händler-Benutzers 303 aus dem Label-Wert-Paar 5213D wird im Feld 370H gespeichert. Die Session-ID des Kunden-Benutzers 203 aus dem Label-Wert- Paar 5217E wird im Feld 370D gespeichert. Der Index des Kunden-Benutzers 203 aus dem Label-Wert-Paar 5217F wird im Feld 370E gespeichert. Die Händler-Währung wird aus dem Währungs-Bestimmungs-Wert im Label-Wert-Paar 5217J entnom­ men und im Feld 3701 gesichert. Der vom Händler als Zahlung erwartete Betrag wird aus dem Betragswert im Label-Wert- Paar 5217K entnommen und im Feld 370J gespeichert.
In Fig. 24 fährt das Verfahren mit dem Schritt 1712 fort. Hier übermittelt der Händlercomputer 300 die Mitteilung CA2 an den Servercomputer 100. Der Händlercomputer 300 wartet auf eine Antwort-Mitteilung CA3 vom Servercomputer 100.
Im Schritt 1713A empfängt der Servercomputer 100 die Mit­ teilung CA2 vom Händlercomputer 300 und sichert eine Kopie des Wertes des Label-Wert-Paares 5213D der Mitteilung CA2 im Indexfeld 130LL.1 (Fig. 4J) und eine Kopie der Mittei­ lung CA2 im Feld 130LL.2. Im Schritt 1713B entziffert der Server die Mitteilung CA2, indem er die Mitteilungs-Entzif­ ferungs-Prozedur 1660 ausführt. Die Server-Mitteilungs-Ent­ zifferungs-Prozedur 1660 für die Mitteilung CA2 wird nun unter Bezug auf die Fig. 32A und 32B beschrieben, in denen sie mit dem Schritt 1661 beginnt.
Im Schritt 1662 entnimmt die Server-Software die Protokoll- Nummer aus dem Feld 5205C der Kopfzeile 5205 der Mitteilung CA2. Als nächstes wird beruhend auf der entnommenen Proto­ koll-Nummer auf die Mitteilungs-Datenstruktur 150 zugegrif­ fen, um das erwartete Format der Mitteilung CA2 zu bestim­ men. Das erwartete Format kann die Mitteilungssyntax (z. B. die erlaubten Zeilen-Ende-Charakter) und die Mitteilungsco­ dierung (z. B. ASCII oder hexadezimal) enthalten. Die Syntax der Mitteilung CA2 wird in Übereinstimmung mit dem erwarte­ ten Format wie folgt überprüft.
Im Schritt 1663 berechnet der Servercomputer 100 eine Prüf­ summe unter Verwendung der gleichen Daten, die der Händler­ computer 300 im Schritt 1663 der Mitteilungs-Zusammenset­ zungs-Prozedur CA12 für die Mitteilung CA2 verwendet hat. Im Schritt 1664 wird die im Schritt 1663 berechnete Prüf­ summe mit der Prüfsumme im Trailer 5250 der Mitteilung CA2 verglichen. Wenn die Prüfsummen nicht gleich zueinander sind, wird die Mitteilung CA2 im Schritt 1664A verworfen, mit dem die Server-Mitteilungs-Entzifferungs-Prozedur 1660 endet.
Wenn die Prüfsummen im Schritt 1664 einander gleich sind, fährt das Verfahren mit dem Schritt 1665A fort, wo die Mit­ teilung überprüft wird, um zu bestimmen, ob sie für die Mitteilungs-Entzifferungs-Prozedur 1600 geeignet ist. Eine Mitteilung ist geeignet, wenn sie den Label "Typ" in dem transparenten Teil der Mitteilung und den Wert, der eine Mitteilung CA2 anzeigt, enthält. Wenn die Mitteilung nicht dieses Label-Wert-Paar enthält, ist sie nicht geeignet, und das Verfahren geht mit dem Schritt 1665C weiter, wo die Mitteilung für einen andere Entzifferungs-Prozedur umgelei­ tet wird, die woanders beschrieben wird. Ist die Mitteilung CA2 geeignet, dann geht das Verfahren mit dem Schritt 1665C weiter. Hier wird der Wert des undurchsichtigen Händler-La­ bel-Wert-Paares 5217.1 decodiert.
Im Schritt 1666 erzeugt die Server-Software 110 unabhängig von dem Händlercomputer 300 den DES-Schlüssel DES-CA2 ent­ sprechend dem CA-DES-Schlüssel-Erzeugungs-Verfahren 1600, das vorangehend beschrieben wurde.
Im Schritt 1667 wird der vom Servercomputer 100 erzeugte 56-Bit-DES-Schlüssel DES-CA2 in einem temporären Register gespeichert.
Das Verfahren geht mit dem Schritt 1668 weiter. Hier wird das undurchsichtige Händler-Label-Wert-Paar 5217.1 unter Verwendung des DES-Schlüssels DES-CA2 entschlüsselt.
Im Schritt 1668A wird der Erfolg oder Fehlschlag der Ent­ schlüsselung des Label-Wert-Paares 5217.1 bestimmt. Wenn die Entschlüsselung aus irgendeinem Grund fehlgeschlagen ist, wird ein Fehler-Flag im Schritt 1683 gesetzt, und die Server-Mitteilungs-Entzifferungs-Prozedur 1660 endet mit dem Schritt 1682.
Wenn die Entschlüsselung erfolgreich war, geht das Verfah­ ren mit dem Schritt 1668B weiter. Der Servercomputer 100 bestimmt, ob der Händler-Benutzer 303 ein gültiges Gespräch geöffnet hat. Der Servercomputer 100 erhält die Session-ID- Nummer des Händlers aus dem Label-Wert-Paar 5213C. Die Ses­ sion-ID wird verwendet, um den Händler-Datensatz 130.2 für das in dem Label-Wert-Paar 5213C identifizierte Gespräch zu erhalten. Das im Feld 130GG gespeicherte Öffnungs-Datum wird dann mit dem Datum verglichen, das unter Bezug auf die Uhr des Servercomputers 100 bestimmt wurde, und die Zeit, die abgelaufen ist, seitdem das Gespräch eröffnet wurde, wird berechnet. Wenn der Zeitbetrag, der seit der Einrich­ tung des Gespräches abgelaufen ist, den Wert des Schlüssel- Lebensdauer-Feldes 130JJ überschreitet, ist das Gespräch ungültig. Zusätzlich ist, wenn der Wert dem Index-Label- Wert-Paar 5213D den Wert der im Feld 13011 gespeicherten Schlüssel-Benutzungsgrenze übersteigt, das Gespräch ungül­ tig. Wenn das Gespräch ungültig ist, wird ein Gesprächs- Schließungsflag im Schritt 1681 gesetzt, die CA2-Entziffe­ rungs-Prozedur endet mit dem Schritt 1682, und das Zah­ lungs-Verfahren 1700 geht beim Schritt 1714 weiter.
Wenn das Gespräch im Schritt 1668C gültig ist, wird der Mitteilungs-Typ unter Bezug auf das Label-Wert-Paar 5217.1A bestimmt. Zum Beispiel kann der Wert des Label-Wert-Paares 5217.1A der Mitteilung CA2 "Geld-Sammlung" sein.
Die Verarbeitung geht mit dem Schritt 1669 weiter. Hier führt der Servercomputer 100 eine Überprüfung der Mittei­ lung CA2 durch. Die Paßform-Überprüfungs-Prozedur des Schritts 1669 ist von der Software abhängig. Das heißt, die erwartete Form der Mitteilung und die Kriterien, die be­ stimmen, ob sie akzeptabel ist, hängen von der Mitteilung und jeder Variation der Mitteilung ab, die zu einem be­ stimmten Zeitpunkt gültig ist, der unter Bezug auf den Mit­ teilungs-Typ und die Version-Datenstruktur 150 bestimmt wird, wie es vorangehend beschrieben wurde. Zumindest wird die Paßform-Überprüfungs-Prozedur überprüfen, ob eine an­ kommende Mitteilung alle Labels, die für die Mitteilung vorgeschrieben sind, enthält, ob Werte für jeden Label, der einen Wert benötigt, vorhanden sind, und ob die Werte von dem Typ (z. B. Text, Kennzeichnungsnummern), der Syntax und innerhalb aller vorgegebenen Grenzen sind, wie es benötigt wird. Wenn die Syntax der Mitteilung verarbeitet werden kann, aber nicht mit den Formkriterien übereinstimmt, wird der Servercomputer 100 einen Fehler-Flag im Schritt 1681 setzen und einen Fehler-Code in der Mitteilung CA3 (im An­ schluß beschrieben) zurücksenden. In diesem Fall endet die Server-Mitteilungs-Entzifferungs-Prozedur 1660 für die Mit­ teilung CA2 mit dem Schritt 1682.
Wenn die Mitteilung CA2, die den Paßform-Überprüfungsschritt 1669 durchläuft, geht das Verfahren mit dem Schritt 1670 weiter.
Im Schritt 1670 wird der Gültigkeits-Erklärungs-Code des Händler-Benutzers 303, der durch das Label-Wert-Paar 5217.1K dargestellt wird, wie folgt verifiziert. Die Ser­ ver-Software 110 erhält das 8-Byte-Salt des Feldes 130CC. Die Server-Software 110 greift dann auf die Mitteilungs-Da­ tenstruktur 150 zu, um zu bestimmen, welche Label-Wert- Paare im Schritt 1627 der Mitteilungs-Zusammensetzungs-Pro­ zedur CA12 für die Mitteilung CA2 zerhackt wurden, um den Wert des Label-Wert-Paares 5217.1K zu berechnen. Die Ser­ ver-Software 110 zerhackt dann diese gleichen Label-Wert- Paare. Das 8-Byte-Salt des Feldes 130CC wird sowohl als Prefix als auch als Suffix zu den Label-Wert-Paaren ad­ diert, bevor der Hash berechnet wird. Dieser Hashwert wird mit dem Wert des Label-Wert-Paares 5217.1K verglichen. Wenn die Werte voneinander abweichen, wird ein Fehler-Flag im Schritt 1681 gesetzt. In diesem Fall endet die Server-Mit­ teilungs-Entzifferungs-Prozedur 1660 für die Mitteilung CA2 mit dem Schritt 1682. Wenn die Werte zueinander passen, geht die Verarbeitung mit dem Schritt 1671 weiter.
Im Schritt 1671 wird die Variable "n" auf den Startwert 1 gesetzt. Der Wert der Variablen "n", wie oben beschrieben, stellt die n′te CA1 Mitteilung dar, die in der Mitteilung CA2 enthalten ist.
Im Schritt 1672 erzeugt die Server-Software 1110 den DES- Schlüssel DES-CA2 entsprechend dem CA-DES-Schlüssel-Erzeu­ gungs-Verfahren 1600. Der DES-Schlüssel DES-CA2, der vom Servercomputer 100 erzeugt wurde, wird in dem temporären Register gespeichert.
Im Schritt 1673 wird das undurchsichtige Kunden-Label-Wert- Paar 5217.2 unter Verwendung des DES-Schlüssels DES-CA1 entschlüsselt.
Im Schritt 1674 wird der Erfolg oder der Fehler der Ent­ schlüsselung des Label-Wert-Paares 5217.2 bestimmt. Wenn die Entschlüsselung aus irgendein Grund fehlschlägt, wird ein Fehler-Flag im Schritt 1678 gesetzt, und das Verfahren geht mit dem Schritt 1679 weiter. Dort wird bestimmt, ob noch weitere CA1-Mitteilungen zu verarbeiten sind. Wenn dies der Fall ist, geht das Verfahren mit dem Schritt 1680 weiter. Wenn nicht, endet die Mitteilungs-Entzifferungs- Prozedur 1680 mit dem Schritt 1682.
Wenn die Entschlüsselung des Label-Wert-Paares 5217.2 er­ folgreich war, geht das Verfahren mit dem Schritt 1675 wei­ ter.
Im Schritt 1675 wird der Gültigkeitserklärungs-Code des Kunden-Benutzers 203, der durch das Label-Wert-Paar 5117B der Mitteilung CA1 dargestellt ist, wie folgt verifiziert. Die Server-Software 110 erhält das 8-Byte-Salt des Feldes 130C. Die Server-Software 110 greift dann auf die Mittei­ lungs-Datenstruktur 150 zu, um zu bestimmen, welche Label- Wert-Paare im Schritt 1627 der Mitteilungs-Zusammenset­ zungs-Prozedur CA12 für die Mitteilung CA1 zerhackt wurden, um den Wert des Label-Wert-Paares 5117B zu berechnen. Die Server-Software 110 zerhackt dann diese gleichen Label- Wert-Paare. Das 8-Byte-Salt des Feldes 130C wird sowohl als Prefix als auch als Suffix zu den Label-Wert-Paaren hin­ zugefügt, bevor der Hash berechnet wird. Dieser Hashwert wird mit dem Wert des Label-Wert-Paares 5117B verglichen. Wenn die Werte voneinander abweichen, wird ein geeigneter Fehler-Flag im Schritt 1678 gesetzt, und das Verfahren geht mit dem Schritt 1679 weiter. Hier wird bestimmt, ob mehr als eine CA1-Mitteilung zu verarbeiten ist. Wenn nicht, en­ det die Server-Mitteilungs-Entzifferungs-Prozedur 1660 mit dem Schritt 1682. Wenn ja, geht das Verfahren mit dem Schritt 1680 weiter. Wenn die Werte im Schritt 1675 zuein­ ander passen, geht das Verfahren mit dem Schritt 1676 wei­ ter.
Im Schritt 1676 bestimmt, wenn der Händler 303 ein gültiges offenes Gespräch hat, der Servercomputer 100, ob der Kun­ den-Benutzer 203, der der n′ten Zahlungsanforderung zuge­ ordnet ist, die in der Mitteilung CA2 enthalten ist, ein gültiges offenes Gespräch hat. Der Servercomputer 100 er­ hält die Session-ID-Nummer des Kunden-Benutzers 203 aus dem Label-Wert-Paar 5217.1E. Die Session-ID wird verwendet, um den Kunden-Gesprächs-Datensatz 130.1 für das mit dem Label- Wert-Paar 5217.1E identifizierte Gespräch zu erhalten. Das Öffnungs-Datum, das im Feld 130G gespeichert ist, wird dann mit dem Datum verglichen, wie es durch Bezug zur Uhr des Servercomputers 100 und der Zeit, die seit der Einrichtung des Gesprächs abgelaufen ist, berechnet wird. Das Gespräch ist ungültig, wenn die Zeitdauer, die seit der Einrichtung des Gesprächs abgelaufen ist, den Wert des Schlüssel-Le­ bensdauerfeldes 130J übersteigt. Die Transaktion ist ungül­ tig, wenn der Wert im Index-Label-Wert-Paar 5217.1F den Wert der im Feld 130E gespeicherten Schlüssel-Benutzungs- Grenze übersteigt. Wenn das Gespräch ungültig ist, wird ein Gesprächs-Schließungs-Flag im Schritt 1678 gesetzt, und das Verfahren geht mit dem Schritt 1679 weiter. Dort wird be­ stimmt, ob weitere CA1-Mitteilungen zu verarbeiten sind. Wenn dies der Fall ist, geht das Verfahren mit dem Schritt 1680 weiter. Wenn nicht, endet die Server-Mitteilungs-Ent­ zifferungs-Prozedur 1660 mit dem Schritt 1682.
Wenn das Gespräch des Kunden-Benutzers 203 gültig ist, geht das Verfahren mit dem Schritt 1667 weiter.
Im Schritt 1667 wird die Zahlung an den Händler-Benutzer 303 ausgeführt. Für den Kunden-Benutzer 203 bedeutet dies, daß der in dem Betrags-Label-Wert-Paar 5217.2A wiedergege­ bene Betrag von dem laufenden Betrag im Feld 130F abgezogen wird, und die Transaktion-Daten 130N des Datensatzes 130.1 festgehalten werden. Die Transaktion-Daten 130N sind in Fig. 4I gezeigt, wobei die folgenden Daten festgehalten werden. Der Betrag des Label-Wert-Paares 5217.2A wird im Feld 130N.1 gespeichert; die Kunden-Session-ID aus dem La­ bel-Wert-Paar 5217.1E wird im Feld 130N.2 gespeichert; die Order-ID aus dem Label-Wert-Paar 5217.1I wird im Feld 130N.3 gespeichert; die Händler-Session-ID aus dem Label- Wert-Paar 5213C wird im Feld 130N.4 gespeichert und der Kundenindex aus dem Label-Wert-Paar 5217.1F wird im Feld 130N.5 gespeichert.
Für den Händler-Benutzer 303 bedeutet die Zahlung, daß der in dem Betrags-Feld 5117A wiedergegebene Betrag, der auf den laufenden Betrag entfällt, zu 130FF addiert wird, und daß die Transaktion-Daten 130NN des Datensatzes 130.2 ge­ speichert werden. Die Transaktion-Daten 103NN sind in Fig. 4K gezeigt, wobei die folgenden Daten festgehalten werden. Der Betrag des Label-Wert-Paares 4217.2A wird im Feld 130NN.1 gespeichert; die Kunden-Session-ID aus dem Label- Wert-Paar 4217.1E wird im Feld 130NN.2 gespeichert; die Or­ der-ID aus dem Label-Wert-Paar 5217.11 wird im Feld 130NN.3 gespeichert; die Händler-Session-ID aus dem Label-Wert-Paar 5213C wird im Feld 130NN.4 gespeichert und der Händlerindex aus dem Label-Wert-Paar 5213D wird im Feld 130NN.5 gespei­ chert.
Im Schritt 1679 bestimmt die Server-Software 110, ob die Mitteilung CA2 zusätzliche Mitteilungen CA1 enthält, die zu verarbeiten sind. Wenn zusätzliche CA1-Mitteilungen zu ver­ arbeiten sind, wird die Variable "n" im Schritt 1680 er­ höht, und das Verfahren geht mit dem Schritt 1672 weiter, wie es vorangehend beschrieben wurde. Wenn keine zusätzli­ che CA1-Mitteilungen zu verarbeiten sind, endet die Server- Mitteilungs-Entzifferungs-Prozedur 1660 für die Mitteilung CA2 beim Schritt 1682.
Die Verarbeitung geht mit dem Schritt 1714 aus Fig. 24 wei­ ter. Wenn hier Fehler-Flags im Schritt 1681 als Ergebnis der Überprüfung der Schritte 1664, 1668A, 1668B, 1669 oder 1670 gesetzt wurden, geht die Verarbeitung mit dem Schritt 1681 weiter. Wie dort wird der Fehlertyp einen geeigneten Code, der mit dem Antwort-Code-Label-Wert-Paar 5317.1C ver­ bunden ist, und eine Mitteilung, die mit dem Label-Wert- Paar 5317.1E verbunden ist, verursachen. Details bezüglich des Pegels, der durch die Errorflags detektiert und in dem Antwort-Code-Label-Wert-Paar berichtet wird, liegt in der Entscheidung des Systemadministrators. Zum Beispiel kann ein "Fehler" ein "Hart-Fehler" sein, das heißt ein Fehler unter einer Untergruppe von Fehlern, für die eine erneute Zusendung der Mitteilung nicht zu einer Verarbeitung der Mitteilung führen würde (z. B. ungültiges Format oder Ge­ spräch geschlossen). "Fehler" kann auch einen Fehler bein­ halten, der geheilt werden kann (eine Auszeit, da der Ser­ vercomputer 100 vorübergehend außer Betrieb war). In der folgenden Beschreibung wird der Begriff Fehler in seinem breitesten Kontext verwendet.
Wenn keine Flags im Schritt 1681 gesetzt werden, geht das Verfahren mit dem Schritt 1716 weiter, wo der Servercompu­ ter 100 bestimmt, ob die Überprüfungen der Schritte 1674, 1675 und 1676 der Zahlungs-Anforderungs-Mitteilungen verur­ sacht haben, daß ein Fehler-Flag im Schritt 1678 gesetzt wurde. Wenn die n′te CA1-Mitteilung verursacht hat, daß ein Flag gesetzt wird, wird im Schritt 1717 der Wert des Label- Wert-Paares 5317.1K (Antwort-Code-n) und des Label-Wert- Paares 5317.2A (Antwort-Code) auf "Fehler" gesetzt, und das Label-Wert-Paar 5317.1N (Problem-n) und das Label-Wert-Paar 5317.2E (Problem) werden einen Wert aus einem Code bezeich­ nen, der mit dem Wert des Label-Wert-Paares 5317.1K verbun­ den ist. Wenn der Betreiber des Servercomputers 100 es für wünschenswert erachtet, kann eine freie Mitteilungsform be­ züglich des Fehlers in dem Label-Wert-Paar 5317.1L (Anmer­ kung-n) und dem Label-Wert-Paar 5317.5A (Anmerkung) enthal­ ten sein.
Im Schritt 1718A setzt der Servercomputer 100 die Mittei­ lung CA3 entsprechend der Server-Mitteilungs-Zusammenset­ zungs-Prozedur 3400, die in Fig. 33 gezeigt ist, zusammen.
Die Server-Mitteilungs-Entzifferungs-Prozedur 3400 für die Mitteilung CA3 beginnt mit dem Schritt 3401.
Im Schritt 3402A greift die Server-Software 110 auf den Mitteilungs-Typ- und Versions-Datenstruktur 150 zu, um eine Label-Liste zu erhalten, die, wenn sie mit entsprechenden Werten zusammentreffen, die transparenten Label-Wert-Paar 5313A-5313E der Mitteilung CA3 bilden, die in den Fig. 34A und 34B gezeigt ist. Im Schritt 3405A werden die Werte je­ dem Label wie folgt zugeordnet.
Das Label-Wert-Paar 5313A hat den Label "Typ". Der Wert des Label-Wert-Paares 5313A bezeichnet einen Datensatz in der Mitteilungs-Datenstruktur 380, der die Labels der Mittei­ lung CA3 festlegt. Der Wert des Label-Wert-Paares 5313A wird aus der Server-Software 110 erhalten.
Das Label-Wert-Paar 5313B hat den Label "Version" und be­ zeichnet einen Datensatz, der sich auf den Datensatz be­ zieht, der durch das Label-Wert-Paar 5313A bezeichnet ist. Wie vorangehend diskutiert wurde, erlaubt das Label-Wert- Paar 5313B dem Sender einer Mitteilung, den Empfänger be­ züglich der Version der Mitteilung und bezüglich der Synta­ xanalyse und dem Verfahren der Version anzuweisen. Da die Mitteilung CA3 in Antwort auf die Mitteilung CA2 vom Ser­ vercomputer 100 300 gesendet wird, wird die Version der Mitteilung CA3 von der Server-Software 110 ausgewählt, um sicherzustellen, daß sie von der Händler-Anwendungssoftware 310 verarbeitet werden kann. Das Label-Wert-Paar 5313B weist die Händler-Anwendungssoftware 310 bezüglich der Form und dem Inhalt der transparenten Label-Wert-Paare 5313A, 5313C, 5313D und 5313E an. Der Wert des Label-Wert-Paares 5313B wird aus der Händler-Anwendungssoftware 310 erhalten.
Das Label-Wert-Paar 5313C hat den Label "Session-ID". Der Wert des Label-Wert-Paares 5313C wird von der Session-ID auf dem Feld 130AA der Händler-Gesprächs-Datenstruktur 130 erhalten.
Das Label-Wert-Paar 5313D hat den Label "Index". Der Wert des Label-Wert-Paares 5313D wird von dem Index aus dem Feld 130LL der Händler-Gesprächs-Datenstruktur 130.2 erhalten.
Das Label-Wert-Paar 5313E hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paares 5313E ist ein Label, das von dem Händlercomputer 300 verwendet werden kann, um die Mitteilung CA3 zu einem Prozessor innerhalb des Händ­ lercomputers 300 zu lenken, der die Mitteilungen einer be­ stimmten Service-Kategorie bearbeitet.
Im Schritte 3402C erzeugt die Server-Software 110 die 56- Bit-DES-Schlüssel DES-CA3-C-n und DES-CA3-M. Die DES- Schlüssel DES-CA3-C-n und DES-CA3-M werden zur Verschlüsse­ lung der Daten verwendet, die vom Kundencomputer 200 bzw. vom Händlercomputer 300 empfangen werden. Die DES-Schlüssel DES-CA3-C und DES-CA3-M werden entsprechend dem CA-DES- Schlüssel-Erzeugungs-Verfahren 1600, das vorangehend be­ schrieben wurde, erzeugt.
In Fig. 33 geht die Mitteilungs-Zusammensetzungs-Prozedur CA3 mit dem Schritt 3402D weiter. Hier werden die DES- Schlüssel DES-CA3-C-n und DES-CA3-M in temporären Registern gespeichert.
Im Schritt 3403 greift die Server-Software 110 auf die Mit­ teilungs-Schablonen-Datenstruktur zu, um eine Label-Liste zu erhalten, die, wenn sie mit zugehörigen Werten zusammen­ treffen, den undurchsichtigen Händler-Abschnitt der Mittei­ lung CA3 (Fig. 34B) ausmachen. Die Werte werden mit jedem Label wie folgt zugeordnet.
Der undurchsichtige Händler-Abschnitt der Mitteilung CA3 ist in Fig. 34B gezeigt, wo das Label-Wert-Paar 5317.1A den Label "Subtyp" hat. Der Wert des Label-Wert-Paares 5317.1A ist ein Label, das einen Datensatz in der Mitteilungs-Da­ tenstruktur 380 bezeichnet, welcher die Labels der undurch­ sichtigen Händler-Abschnitte der Mitteilung CA3 enthält. Der Wert des Label-Wert-Paares 5317.1A wird von der Server- Software 110 erhalten.
Das Label-Wert-Paar 5317.1B hat den Label "Unter-Version". Der Wert des Label-Wert-Paares 5317.1B ist ein Code, der eine Mitteilungs-Datenstruktur 150 hält, die die Verarbei­ tung von Variationen des Mitteilungs-Typs, die zu einem ge­ gebenen Zeitpunkt gültig sind, erlaubt.
Das Label-Wert-Paar 5317.1C hat den Label "Antwort-Code" und den Wert "Erfolg" oder "Fehler", wie es vorangehend be­ schrieben wurde. Das Label-Wert-Paar 5317.1C zeigt an, ob die dem Servercomputer 100 durch die Mitteilung CA2 reprä­ sentierte Transaktion ein Erfolg, ein Fehler usw. war. Der Wert des Label-Wert-Paares 5317.1C wird im oben beschriebe­ nen Schritt 1715 von der Server-Anwendungssoftware 110 er­ halten.
Das Label-Wert-Paar 5317.1D hat den Label "Gebühr". Der Wert des Label-Wert-Paares 5317.1D zeigt eine dem Händler- Benutzer 303 belastete Gebühr an, wenn eine solche vorhan­ den ist, die mit der Verarbeitung der Mitteilung CA2 ver­ bunden ist. Der Wert des Label-Wert-Paares 5317.1D wird von der Server-Software 110 erhalten.
Das Label-Wert-Paar 5317.1E hat den Label "Problem". Wenn der Antwort-Code-Wert des Label-Wert-Paares 5317.1C einen anderen Wert als "Erfolg" hat, ist der Wert des Label-Wert- Paares 5317.1E ein Code, der den Händler-Benutzer 303 be­ züglich des Mißerfolgs anweist. Der Wert des Label-Wert- Paares 5317.1E wird im Schritt 1715 von der Server-Software 110 erhalten, der vorangehend beschrieben wurde.
Das Label-Wert-Paar 5317.1F hat den Label "Anmerkung". Wenn ein Antwort-Code-Wert des Label-Wert-Paares 5317.1C einen anderen Wert als "Erfolg" hat, ist der Wert des Label-Wert- Paares 5317.1F eine Textmitteilung mit freier Form, die eine detaillierte Erläuterung des Grundes für den Nichter­ folg liefert. Der Wert des Label-Wert-Paares 5317.1F wird im Schritt 1715 von der Server-Software 110 erhalten, wie es oben beschrieben wurde.
Die Mitteilung CA3 enthält für jede der "n"-CA1-Mitteilun­ gen, die mit der Mitteilung CA2 übermittelt wurden, die folgenden Label-Wert-Paare 5317.1G-5317.1P:
Das Label-Wert-Paar 5317.1G hat den Label "Unter-Typ-n" und den Wert des Label-Wert-Paares 5217.1C der Mitteilung CA2.
Das Label-Wert-Paar 5317.1H hat den Label "Unter-Version-n" und den Wert des Label-Wert-Paares 5217.1D der Mitteilung CA2.
Das Label-Wert-Paar 5317.1I hat den Label "Zahler-Session- ID-n" und den Wert des Label-Wert-Paares 5217.1E der Mit­ teilung CA2.
Das Label-Wert-Paar 5317.1J hat den Label "Zahler-Index-n" und den Wert des Label-Wert-Paares 5217.1F der Mitteilung CA2.
Das Label-Wert-Paar 5317.1K hat den Label "Antwort-Code-n" und den Wert "Erfolg" oder "Fehler", wie es vorangehend be­ schrieben wurde. Der Wert des Label-Wert-Paares 5317.1A wird im Schritt 1717, der oben beschrieben wurde, von der Server-Software 110 erhalten.
Das Label-Wert-Paar 5317.1L hat den Label "Anmerkung-n". Wenn der Antwort-Code-Wert des Label-Wert-Paares 5317.1K einen anderen Wert als "Erfolg" hat, ist der Wert des La­ bel-Wert-Paares 5317.1L eine Textmitteilung mit freier Form, die eine detaillierte Erläuterung des Grundes für den Mißerfolg liefert. Der Wert des Label-Wert-Paares 5317.1L wird im oben beschriebenen Schritt 1717 von der Server- Software 110 erhalten.
Das Label-Wert-Paar 5317.1M hat den Label "Gesammelter-Be­ trag-n" und den Wert, der den vom Händler-Benutzer 303 für die Transaktion gesammelten elektronischen Geld-Betrag an­ zeigt (im Schritt 1677 der Server-Mitteilungs-Entziffe­ rungs-Prozedur 1660 für die Mitteilung CA2).
Das Label-Wert-Paar 5317.1N hat den Label "Problem-n". Wenn der Wert des Label-Wert-Paares 5317.1K einen anderen Wert als "Erfolg" hat, ist der Wert des Label-Wert-Paares 5317.1N ein Code, der den Kunden-Benutzer 203 bezüglich des Grundes des Nichterfolges anweist. Der Wert des Label-Wert- Paares 5317.1N wird im oben beschriebenen Schritt 1717 von der Server-Software 110 erhalten.
Das Label-Wert-Paar 5317.1O hat den Label "Order-ID-n". Der Wert des Label-Wert-Paares 5317.1O wird von dem Label-Wert- Paar 5217.11 der Mitteilung CA2 erhalten.
Das Label-Wert-Paar 5317.1B hat den Label "Anfrage-Ver­ sion". Der Wert des Label-Wert-Paares 5317.1B stellt die Version der Mitteilung CA2 dar, die gegenwärtig vom Server­ computer 100 verarbeitet wird.
In Fig. 33 wird im Schritt 3405 ein Gültigkeits-Code für den durch das Label-Wert-Paar 5317.1Q in Fig. 34B darge­ stellten undurchsichtigen Händlerabschnitt der Mitteilung CA3 erzeugt. Das Label-Wert-Paar 5317.1Q hat den Label "Gültigkeits-Code". Der Wert des Label-Wert-Paares 5317.1Q stellt den Gültigkeits-Code des Servercomputers 100 dar. Für den undurchsichtigen Händlerabschnitt der Mitteilung CA3 ist der Wert des Label-Wert-Paares 5317.1Q ein MD5-Hash der folgenden Verkettung: 8-Byte-Salt des Feldes 130CC, La­ bel-Wert-Paare 5313A-5313E und 5317.1A-5317.1P und der 8- Byte-Salt des Feldes 130CC. Vor dem Hash werden alle in den Label-Wert-Paaren 5313A-5313E und 5317.1A-5317.1P enthalte­ nen Leerstellen entfernt.
Im Schritt 3406 wird das im Schritt 3405 erzeugte Label- Wert-Paar 5317.1Q an die Label-Wert-Paare 5317.1A-5317.1P angehängt. Die Label-Wert-Paare 5317.1A-5317.1Q werden un­ ter Verwendung des 56-Bit-DES-Schlüssels DES-CA3-M ver­ schlüsselt.
Im Schritt 3407 werden die im Schritt 3406 verschlüsselten Daten unter Verwendung bekannter Techniken codiert.
Im Schritt 3408 greift die Server-Software 110 auf die Mit­ teilungs-Schablonen-Datenstruktur 150 zu, um eine Liste der Labels zu erhalten, die, wenn sie mit entsprechenden gebun­ denen Werten zusammentreffen, den undurchsichtigen Kunden- Abschnitt der Mitteilung CA3 bilden. Die Werte werden mit jedem Label wie folgt verbunden.
Der undurchsichtige Kunden-Abschnitt der Mitteilung CA3 ist in Fig. 34 gezeigt, wo das Label-Wert-Paar 5317.2A den La­ bel "Antwort-Code" und den Wert "Erfolg" oder "Fehler" hat. Das Label-Wert-Paar 5317.2A zeigt an, ob die dem Servercom­ puter 100 in der Mitteilung CA2 vorgenommene Transaktion ein Erfolg, ein Fehler usw. war. Der Wert des Label-Wert- Paares 5317.2A wird im vorher beschriebenen Schritt 1717 von der Server-Software 110 erhalten.
Das Label-Wert-Paar 5317.2B hat den Label "Anmerkung". Wenn der Antwort-Code-Wert des Label-Wert-Paares 5317.2A ein an­ derer Wert als "Erfolg" ist, ist der Wert des Label-Wert- Paares 5317.2B eine Mitteilung mit freier Form, die eine detaillierte Erläuterung für den Grund des Nichterfolges liefert. Der Wert des Label-Wert-Paares 5317.2B wird im Schritt 1717 von der Server-Software 110 erhalten, der vor­ angehend erläutert wurde.
Das Label-Wert-Paar 5317.2C hat den Label "Wechselkurs". Der Wert des Label-Wert-Paares 5317.2C liefert Update-In­ formationen bezüglich der Umtauschrate für die in dem La­ bel-Wert-Paar 5117A enthaltene Währungsbenennung in andere Währungen. Der Wert des Label-Wert-Paares 5317.2C wird von der Server-Software 110 erhalten.
Das Label-Wert-Paar 5317.2D hat den Label "Betrag" und einen Wert, der den Betrag der Zahlungsmittel anzeigt, der dem Kunden-Benutzer 203 für die Transaktion belastet wird. Der Wert des Label-Wert-Paares 5317.2D wird von der Server- Software 110 erhalten.
Das Label-Wert-Paar 5317.2E hat den Label "Problem". Wenn der Antwort-Code-Wert des Label-Wert-Paares 5316.2A einen anderen Wert als "Erfolg" hat, weist der Wert des Label- Wert-Paares 5317.2E den Kunden-Benutzer 203 bezüglich der Ursache des Mißerfolges an. Der Wert des Label-Wert-Paares 5317.2E wird im vorher beschriebenen Schritt 1717 von der Server-Software 110 erhalten.
Das Label-Wert-Paar 5317.2F hat den Label "Order-ID". Der Wert des Label-Wert-Paares 5317.2F wird von dem Label-Wert- Paar 5217.1E der Mitteilung CA2 erhalten.
Das Label-Wert-Paar 5317.2G hat den Label "Anfrage-Ver­ sion". Der Wert des Label-Wert-Paares 5317.2G stellt die Version der Mitteilung CA1 dar, die tatsächlich vom Server­ computer 100 verarbeitet wird.
In Fig. 33 wird im Schritt 3410 ein Gültigkeits-Code des undurchsichtigen Kundenabschnitts der Mitteilung CA3, der durch das Label-Wert-Paar 5317.2H der Fig. 34C dargestellt wird, erzeugt. Das Label-Wert-Paar 5317.2H hat den Label "Gültigkeits-Code". Der Wert des in Fig. 34C gezeigten La­ bel-Wert-Paares 5317.2H stellt den Gültigkeits-Code des Servercomputers 100 dar. Für den undurchsichtigen Kunden- Abschnitt der Mitteilung CA3 ist der Wert des Label-Wert- Paares 5317.2H ein Hash der folgenden Verkettung: 8-Byte- Salt des Feldes 130C, die Werte der Label-Wert-Paare 5313A-5313D und 5317.2A-5317.2G und des 8-Byte-Salt des Feldes 130C. Vor dem Hasch werden alle in den Werten der Label- Wert-Paare 5313A-5313D und 5317.2A-5317.2G enthaltenen Leerstellen entfernt und ein vertikaler Balken-Trenncharak­ ter zwischen jedes benachbarte Wertepaare eingefügt.
Im Schritt 3411 wird das Label-Wert-Paar 5317.2H, das im Schritt 3410 erzeugt wurde, an die Label-Wert-Paare 5317.2A-5317.2G angehängt. Die Label-Wert-Paare 5317.2A-5317.2H werden unter Verwendung des DES-Schlüssels DES-CA3- C-n verschlüsselt.
Im Schritt 3412 werden die im Schritt 3411 verschlüsselten Daten unter Verwendung bekannter Techniken codiert.
Die Mitteilung CA3 wird in den Schritten 3413-3417 zusam­ mengesetzt. Im Schritt 3413 wird die Kopfzeile unter Ver­ wendung der bei dem Typ und der Version der Datenstruktur 150 gefundenen Mitteilungs-Schablone und der in der Server- Software 110 eingebetteten Protokoll-Nummer gebildet.
Als nächstes werden im Schritt 3414 die transparenten La­ bel-Wert-Paare 5313A-5313E hinzugefügt. Die Label-Wert- Paare 5313A-5313E wurden vorangehend beschrieben.
Als nächstes wird in den Schritten 3415 und 3416 das un­ durchsichtige Händler-Label-Wert-Paar 5317.1 und das un­ durchsichtige Kunden-Label-Wert-Paar 5317.2 hinzugefügt. Die Label-Wert-Paare 5317.1 und 5317.2 mit den Labels "Händler/undurchsichtig" bzw. "Kunden/undurchsichtig" be­ deutet, daß die folgenden Werte verschlüsselte Daten sind. Der Wert des Label-Wert-Paares 5317.1 stellt die im Schritt 3407 codierten Daten dar. Der Wert des Label-Wert-Paares 5317.2 stellt die im Schritt 3412 codierten Daten dar (die an den Kundencomputer 200 mit der Mitteilung CA4 übermit­ telt werden).
Der Trailer 5350 wird im Schritt 3417 zusammengesetzt. Die Prüfsumme des Trailers 5350 wird, wie oben unter Bezug auf die Probemitteilung 4000 beschrieben wurde, berechnet. Der Trailer 5350 wird dem Rest der Mitteilung CA3 hinzugefügt.
Das Zusammensetzen der Mitteilung CA3 ist vervollständigt. Die Mitteilungs-Zusammensetzungs-Prozedur 3400 für die Mittei­ lung CA3 endet mit dem Schritt 3419.
Im Schritt 1719 empfängt der Händlercomputer 300 die Mit­ teilung CA3 vom Servercomputer 100 und entziffert die Mit­ teilung CA3, indem die Mitteilungs-Entzifferungs-Prozedur CA34 ausgeführt wird. Die Mitteilungs-Entzifferungs-Proze­ dur CA34 für die Mitteilung CA3 wird nun unter Bezug auf die Fig. 35 beschrieben, wo sie mit dem Schritt 2072 be­ ginnt.
Im Schritt 2072 nimmt die Händler-Software 310 die Proto­ koll-Nummer aus der Kopfzeile 5305 der Mitteilung CA3. Als nächstes wird beruhend auf der entnommenen Protokoll-Nummer auf die Mitteilungs-Datenstruktur 380 zugegriffen, um das erwartete Format der Mitteilung CA3 zu bestimmen. Das er­ wartete Format kann die Mitteilungssyntax (z. B. die erlaub­ ten Zeilen-Ende-Charakter) und die Mitteilungscodierung (z. B. ASCII oder hexadezimal) enthalten. Die Syntax der Mitteilung CA3 wird in Übereinstimmung mit dem erwarteten Format wie folgt geprüft.
Im Schritt 2073 berechnet der Händlercomputer 300 eine Prüfsumme unter Verwendung der Daten, die vom Servercompu­ ter 100 im Schritt 3417 der Mitteilungs-Zusammensetzungs- Prozedur 3400 für die Mitteilung CA3 verwendet wurden. Im Schritt 2074 wird die im Schritt 2073 berechnete Prüfsumme mit der Prüfsumme im Trailer 5350 der Mitteilung CA3 verg­ lichen. Wenn die Prüfsummen einander nicht gleich sind, wird die Mitteilung CA3 vom Schritt 2074A verworfen, wobei die Mitteilungs-Entzifferungs-Prozedur CA34 endet.
Wenn die Prüfsummen im Schritt 2074 einander gleich sind, geht das Verfahren mit dem Schritt 1075A weiter, wo die Mitteilung geprüft wird, um zu bestimmen, ob sie für die Mitteilungs-Entzifferungs-Prozedur CA34 geeignet ist. Eine Mitteilung ist geeignet, wenn sie den Label "Typ" im trans­ parenten Teil der Mitteilung und den Wert, der eine Mittei­ lung CA3 oder CA4 anzeigt, enthält. Wenn die Mitteilung nicht dieses Label-Wert-Paar enthält, ist es ungeeignet. Die Verarbeitung von einer ungeeigneten Mitteilung erfolgt im Schritt 2075B, wobei die Mitteilung an eine andere Ent­ zifferungs-Prozedur geleitet wird, die anderswo beschrieben ist. Ist die Mitteilung CA3 geeignet, so geht das Verfahren mit dem Schritt 2076 weiter, wobei der Wert des undurch­ sichtigen Händler-Label-Wert-Paares 5317.1 decodiert wird.
Im Schritt 2077 erzeugt die Händler-Anwendungssoftware 310 entsprechend dem CA-DES-Schlüssel-Erzeugungs-Verfahren 1600 den gleichen DES-Schlüssel DES-CA3-M, der von der Server- Software 110 erzeugt wurde.
Im Schritt 2078 wird der DES-Schlüssel DES-CA3-M in einem temporären Register gespeichert.
Im Schritt 2079 wird der DES-Schlüssel DES-CA3-M zur Ent­ schlüsselung des Wertes des undurchsichtigen Händler-Label- Wert-Paares 5317.1 verwendet.
Eine Prüfung der Mitteilung CA3 wird dann im Schritt 2080 wie folgt durchgeführt.
Im Schritt 2080 wird der Erfolg oder das Fehlschlagen der Entschlüsselung des Label-Wert-Paares 5317.1 bestimmt. Wenn die Entschlüsselung aus irgendeinem Grund fehlgeschlagen ist, wird ein Fehler-Flag im Schritt 2084 gesetzt und die Mitteilungs-Entzifferungs-Prozedur CA34 endet mit dem Schritt 2085.
Wenn die Entschlüsselung Erfolg hatte, wird im Schritt 2080A der Mitteilungs-Typ unter Bezug auf das Label-Wert- Paar 5317.1A bestimmt. Der Wert des Label-Wert-Paares 5317.1A kann z. B. "Geld-Batch-Empfang" sein.
Die Verarbeitung geht mit dem Schritt 2081 weiter. Dort führt der Händlercomputer 300 eine Überprüfung der Form der Mitteilung CA3 durch. Die Paßform-Überprüfungs-Prozedur im Schritt 2081 ist von der Software-Version abhängig. Das heißt, die erwartete Form der Mitteilung und die Kriterien, die bestimmen, ob sie akzeptabel ist, hängen von der Mit­ teilung und allen Variationen der Mitteilung, die zu einem gegebenen Zeitpunkt, wie er unter Bezug auf den Mittei­ lungs-Typ und die Versionsinformation bestimmt wird, welche in der Mitteilung CA3 und der Mitteilungs-Schablonen-Daten­ struktur 380 gültig sind, ab, wie es vorangehend beschrie­ ben wurde. Zumindest wird die Passform-Überprüfungs-Proze­ dur überprüfen, ob die ankommende Mitteilung alle für die Mitteilung vorgeschriebenen Labels enthält, ob es Werte für jedes Label, das einen Wert benötigt, gibt, und ob die Werte von dem Typ (z. B. Text, Kennzeichennummern), der Syn­ tax und innerhalb aller vorgegebener Grenzen sind, wie es gefordert wird. Wenn die Syntax in der Mitteilung nicht ge­ prüft werden kann, oder wenn die Syntax geprüft werden kann, aber nicht mit einem Formkriterium übereinstimmt, wird der Händlercomputer 300 einen Fehler-Flag im Schritt 2084 setzen, und die Mitteilungs-Entzifferungs-Prozedur CA34 endet mit dem Schritt 2085.
Wenn die Mitteilung CA3 durch die Paßform-Überprüfung im Schritt 2081 gelangt, fährt die Verarbeitung mit dem Schritt 2082 fort. Dort wird der Gültigkeits-Code, der durch das Label-Wert-Paar 5317.1P dargestellt wird, wie folgt verifiziert. Die Händler-Software 310 enthält das 8- Byte-Salt des Feldes 340C (Fig. 6E). Beruhend auf dem Wert des Unter-Typ-Label-Wert-Paares 5317.1A und des Unter-Ver­ sion-Label-Wert-Paares 5317.1B greift die Händler-Anwen­ dungssoftware 310 auf die Mitteilungs-Datenstruktur 380 zu, um zu bestimmen, welche Label-Wert-Paare im Schritt 3405 der Mitteilungs-Zusammensetzungs-Prozedur CA3 zerhackt wur­ den, um den Wert des Label-Wert-Paares 5317.1P zu berech­ nen. Die Händler-Anwendungssoftware 310 addiert dann das 8- Byte-Salt des Feldes 340C sowohl als Präfix als auch als Suffix an die Werte der gleichen Label-Wert-Paare und be­ rechnet den Hash des Ergebnisses. Dieser Hashwert wird dann mit dem Wert des Label-Wert-Paares 5317.1Q verglichen. Wenn die Werte voneinander abweichen, wird ein geeigneter Fehler-Flag im Schritt 2084 gesetzt. Die Mitteilungs-Entziffe­ rungs-Prozedur CA34 endet mit dem Schritt 2085.
In Fig. 24 geht das Verfahren mit dem Schritt 1720 weiter. Hier wird:
  • (1) wenn ein Fehler-Flag im Schritt 2084 gesetzt wurde, der Flag im Schritt 1720 detektiert und, die Verarbeitung der Mitteilung CA3 wird mit dem Schritt 1721 enden.
  • (2) wenn kein Fehler-Flag im Schritt 2084 gesetzt wurde, aber ein Fehler in der Mitteilung CA2 im Schritt 1681 detektiert wurde, die Verarbeitung mit dem Schritt 1720B fortfahren, wo der Inhalt des Label-Wert-Paares 5317.1C überprüft wird. Wenn der Wert des Label-Wert-Paares 5317.1C ein anderer als "Erfolg" ist, werden Fehler-Verar­ beitungs-Prozeduren im Schritt 1723 durchgeführt, wodurch die Händler-Anwendungssoftware 310 veranlaßt wird, die in dem mit dem Inhalt des Label-Wertes 5317.1C verbundenen La­ bel-Wert 5317.1F enthaltene Mitteilung anzuzeigen. Die Händler-Anwendungssoftware 310 wird auch den Wert des La­ bel-Wertes 5317.1E interpretieren und alle mit dem Wert verbundenen Handlungen durchführen, und die CA3-Mittei­ lungsverarbeitung endet mit dem Schritt 1733; oder
  • (3) wenn die Mitteilung CA3 die Prüfschritte 1720 und 1722 durchläuft, wird das Verfahren mit dem Schritt 1724 fortgesetzt, wobei der Händlercomputer 300 ein Update der lokale Datenstruktur wie folgt durchführt.
Das Update des Datensatzes 350.1 (Fig. 3A) wird durchge­ führt, um wiederzugeben, ob eine Bezahlungs-Anforderung be­ zahlt wurde. Das Feld 350C enthält einen Flag, der in Ab­ hängigkeit davon, ob der Antwort-Code aus dem Label-Wert- Paar 5317.1C "Erfolg" oder "Fehler" ist, entweder auf "be­ zahlt" oder "nicht bezahlt" gesetzt wird. In ähnlicher Weise wird das Update des Datensatzes 270.1 (Fig. 7C) durchgeführt, um den Status einer bestimmten Zahlungsanfor­ derung wiederzugeben. Das zu dem Zeitpunkt auf "Versuch" gesetzte Feld 370B, zu dem eine bestimmte Zahlungsanforde­ rung an den Servercomputer 100 in der Mitteilung CA2 gesen­ det wird, wird auf "Erfolg" oder "Fehler" in Abhängigkeit davon gesetzt, ob der Antwort-Code des Label-Wert-Paares 5317.1C "Erfolg" oder "Fehler" ist. Der Ergebnis-Code vom Label-Wert-Paar 5317.1E wird im Feld 370M gespeichert. Die vom Händler-Benutzer 303 für die Verarbeitung der Zahlungs- Anforderung aus dem Label-Wert-Paar 5317.1D bezahlte Gebühr wird im Feld 370L gespeichert. Der Betrag, der vom Händler- Benutzer 303 für eine bestimmte Zahlungs-Anforderung aus dem Label-Wert-Paar 5317.1M gesammelt wurde, wird im Feld 370K gespeichert und dem Feld 360F des Datensatzes 360.1 der Verkaufs-Gesprächs-Datenstruktur 360 hinzugefügt.
Im Schritt 1725 setzt der Händlercomputer 300 die Mittei­ lung CA4 entsprechend der in Fig. 36 gezeigten Mittei­ lungs-Zusammensetzungs-Prozedur 3100 zusammen. Die Mittei­ lung CA4 ist in den Fig. 37A und 37B gezeigt.
Die Mitteilungs-Zusammensetzungs-Prozedur 3100 der Mittei­ lung CA4 beginnt mit dem Schritt 3101. Im Schritt 3102 wird die Kopfzeile 5405 unter Verwendung der Mitteilungs-Scha­ blone, die in der Mitteilungs-Datenstruktur 380 gefunden wurde, und der Protokoll-Nummer, wie sie in der Händler-An­ wendungssoftware 310 eingebaut ist, zusammengesetzt.
Als nächstes werden im Schritt 3103 die transparenten La­ bel-Wert-Paare 5413A-5413G hinzugefügt.
Das Label-Wert-Paar 5413A hat den Label "Typ". Der Wert des Label-Wert-Paares 5413A bezieht sich auf einen Datensatz in der Mitteilungs-Datenstruktur 270 (Fig. 5A), der die Labels der Mitteilung CA4 festsetzt. Der Wert des Label-Wert-Paa­ res 5413A wird von der Händler-Anwendungssoftware 310 er­ halten.
Das Label-Wert-Paar 5413B hat den Label "Version" und be­ zieht sich auf einen Datensatz, der im Zusammenhang mit dem Datensatz steht, der durch das Label-Wert-Paar 5413A be­ zeichnet ist. Wie vorangehend diskutiert wurde, erlaubt es das Label-Wert-Paar 5413B dem Sender einer Mitteilung, den Empfänger bezüglich der Version der Mitteilung, der Syntax­ prüfung und der Verfahren anzuweisen. Da die Mitteilung CA4 in Antwort auf die Mitteilung CA1 vom Kunden-Benutzer 203 erfolgt, wird die Version, die von der Händler-Anwendungs­ software 310 zur Bildung der Mitteilung CA4 verwendet wird, von der Händler-Anwendungssoftware 310 ausgesucht, um sicherzustellen, daß sie von der Kunden-Anwendungssoftware 210 verarbeitet werden kann. Das Label-Wert-Paar 5313B weist die Kunden-Anwendungssoftware 210 bezüglich der Form und dem Inhalt sowohl der transparenten Label-Wert-Paare 5413A, 5413C und 5413D als auch des undurchsichtigen Label- Wert-Paares 5417 an. Der Wert des Label-Wert-Paares 5413B wird von der Händler-Anwendungssoftware 310 erhalten.
Das Label-Wert-Paar 5413C hat den Label "Session-ID" und einen Wert, der die gegenwärtige Session-ID des Kunden-Be­ nutzer 203 anzeigt. Der Händlercomputer 300 erhält den Wert des Label-Wert-Paares 5413C aus dem Session-ID-Wert des La­ bel-Wert-Paares 5113C der Mitteilung CA1.
Das Label-Wert-Paar 5413D hat den Label "Index". Der Wert des Label-Wert-Paares 5413D ist eine ganze Zahl, die aus einem Bereich ungenutzter Werte ausgewählt wird, die jedes­ mal Transaktionen anzeigen, wenn ein Gespräch versucht wird. Der Händler-Benutzer 303 erhält den Wert des Label- Wert-Paares 5413D aus dem Indexwert des Label-Wert-Paares 5113D der Mitteilung CA1.
Das Label-Wert-Paar 5413F hat den Label "Order-ID". Der Wert des Label-Wert-Paares 5413F zeigt die Auftrags-Identi­ fikation-Nummer an, die vom Händlercomputer 300 zur Identi­ fizierung des Auftrags erzeugt wurde. Der Wert des Label- Wert-Paares 5413F ist der gleiche, der von dem Label-Wert- Paar 5013C der Mitteilung PR1 geliefert wurde.
Das Label-Wert-Paar 5413G hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paares 5413G ist ein Label, das vom Kundencomputer 200 verwendet werden kann, um die Mitteilung CA4 zu einem Prozessor innerhalb des Kundencom­ puters 200 zu lenken, der die Mitteilungen einer bestimmten Kategorie bearbeitet.
Im Schritt 3104 wird das undurchsichtige Label-Wert-Paar 5417 angefügt. Das Label-Wert-Paar 5417 hat den Label "un­ durchsichtig", was bedeutet, daß der folgende Wert ver­ schlüsselte Daten sind. Der Wert des Label-Wert-Paares 5417 stellt den Wert des Label-Wert-Paares 5317.2 dar, der vom Servercomputer 100 an den Händlercomputer 300 geliefert wurde.
Der Trailer 5450 wird im Schritt 3105 zusammengesetzt. Die Prüfsumme des Trailers wird berechnet, wie es oben in bezug auf die Probemitteilung 4000 beschrieben wurde. Der Trailer 5450 wird zum Rest der Mitteilung CA4 hinzugefügt.
Die Zusammensetzung der Mitteilung CA4 ist nun vervollstän­ digt. Die Mitteilungs-Zusammensetzungs-Prozedur 3100 endet mit dem Schritt 3106.
In Fig. 24 geht das Verfahren mit dem Schritt 1726 weiter. Dort übermittelt der Händlercomputer 300 die Mitteilung CA4 an den Kundencomputer 200.
Im Schritt 1727 empfängt der Kundencomputer 200 die Mittei­ lung CA4 vom Händlercomputer 300 und entziffert die Mittei­ lung CA4, indem die Mitteilungs-Entzifferungs-Prozedur CA34 ausgeführt wird. Die Mitteilungs-Entzifferungs-Prozedur CA34 der Mitteilung CA4 wurde vorher für die Mitteilung CA3 unter Bezug auf Fig. 35 beschrieben.
In Fig. 24 geht das Verfahren mit dem Schritt 1728 weiter. Hierbei wird
  • (1) wenn ein Fehler-Flag im Schritt 2084 gesetzt wurde, der Flag im Schritt 1728 detektiert, und die Verarbeitung der Mitteilung CA4 wird mit dem Schritt 1729 enden; oder
  • (2) wenn kein Fehler-Flag im Schritt 2084 gesetzt wurde, aber ein Fehler in der Mitteilung CA1 im Schritt 1678 detektiert wurde, das Verfahren mit dem Schritt 1730 fortgesetzt, wobei der Inhalt des Label-Wert-Paares 5417A geprüft wird. Wenn der Wert des Label-Wert-Paares 5417A ein anderer als "Erfolg" ist, werden Fehler-Verarbeitungs-Pro­ zeduren im Schritt 1731 durchgeführt, wodurch die Kunden- Anwendungssoftware 210 veranlaßt wird, die dem Inhalt des Label-Wertes 5317.1C zugeordnete Mitteilung anzuzeigen, die in dem Label-Wert 5417B enthalten ist. Die Kunden-Anwen­ dungssoftware 210 wird auch den Wert des Label-Wertes 5417E interpretieren und alle mit dem Wert gebundenen Handlungen unternehmen, und die Bearbeitung der Mitteilung CA4 wird mit dem Schritt 1733 enden; oder
  • (3) wenn die Mitteilung CA4 den Prüfschritt 1728 und den Schritt 1730 durchläuft, das Verfahren mit dem Schritt 1732 fortgesetzt, wo der Kundencomputer 200 das Update der Datenstruktur wie folgt durchführt. Der Kundencomputer 200 vergleicht den in dem Label-Wert-Paar 5417D enthaltenen Wert mit dem Wert des Label-Wert-Paares 5117A. Wenn die Werte verschieden sind, stellt der Kundencomputer 200 das laufende Betrags-Feld 240D ein, um den tatsächlich von dem laufenden Betrags-Feld 130F abgezogenen Betrag wiederzuge­ ben, wie er vom Servercomputer 100 gehalten wird. Zusätz­ lich zu den in der Kunden-Gesprächs-Datenstruktur 240 auf­ gezeichneten Werten wird ein neuer Datensatz 263 der Kun­ den-Log-Datenstruktur 260 wie folgt erzeugt. Das Datum aus dem Label-Wert-Paar 5413E wird im Feld 263C gespeichert. Der Antwort-Code aus dem Label-Wert-Paar 5417A wird im Feld 263D gespeichert. Der "Anmerkung" vom Label-Wert-Paar 5417B, der dem Antwort-Code aus dem Label-Wert-Paar 5417A zugeordnet ist, wird im Feld 263E gespeichert. Der Betrag aus dem Label-Wert-Paar 5417D wird im Feld 263J gespei­ chert. Die Order-ID aus dem Label-Wert-Paar 5417F wird im Feld 263G gespeichert. Die Session-ID aus dem Label-Wert- Paar 5413C wird im Feld 263L gespeichert. Der Indes aus dem Label-Wert-Paar 5413D wird im Feld 263M gespeichert.
G. Gesprächs-Schließungs-Verfahren 411
Das Gesprächs-Schließungs-Verfahren 411 kann vom Kunden-Be­ nutzer 203 zum Schließen eines Gesprächs verwendet werden.
Fig. 38 zeigt ein Flußdiagramm, das das Gesprächs- Schließungs-Verfahren 411 darstellt, welches mit dem Schritt 1801 beginnt.
Beim Schritt 1802 fordert die Kunden-Anwendungssoftware 210 den Kunden-Benutzer 203 zur Eingabe der Identifikation-Num­ mer des zu schließenden Gespräches, jeglicher Datensatz-No­ ten, die dem Gespräch hinzugefügt werden sollen, und ob der Kunden-Benutzer 203 einen Log der Transaktionen, die an den Servercomputer 100 vom Händler 3033 für den Kunden 203 wäh­ rend des zu schließenden Gespräches übermittelt wurden,
auf. Wenn der Kunden-Benutzer 203 mehr als ein offenes Ge­ spräch hat, wird die Aufforderung eine Liste aller offenen Gespräche enthalten und den Kunden-Benutzer 203 zur Auswahl des zu schließenden Gespräches abfragen.
Der Inhalt der Mitteilung CS1 wird nun unter Bezug auf die Fig. 39A und 39B beschrieben.
Das Label-Wert-Paar 4813A hat den Label "ID". Der Wert des Label-Wert-Paares 4813A zeigt die Personen-ID des Kunden- Benutzers 203. Der Wert des Label-Wert-Paares 4813 wird aus dem Feld 220A (Fig. 5C) erhalten.
Das Label-Wert-Paar 4813B hat den Label "Transaktion". Der Wert des Label-Wert-Paares 4813B ist eine Transaktion-Num­ mer, die von der Kunden-Anwendungssoftware 210 erzeugt wurde, welche allein die Mitteilung CS1 identifiziert. Der Wert des Label-Wert-Paares 4813B erlaubt es dem Servercom­ puter 100, bei Empfang der Mitteilung CS1 (1) eine zugehö­ rige Antwort-Mitteilung CS2, die weiter unten beschrieben wird, zu senden, und (2) zu bestimmen, ob die Mitteilung CS1 eine duplizierte Mitteilung (das heißt eine bereits vom Servercomputer 100 empfangene Mitteilung) ist. Der mit dem Label-Wert-Paar 4813B verbundene Wert wird im Feld 256B ge­ speichert.
Das Label-Wert-Paar 4813C hat den Label "Datum". Der Wert des Label-Wert-Paares 4813C zeigt das Datum und die Uhrzeit an, zu der die Mitteilung CS1 zusammengesetzt und an den Servercomputer 100 gesendet wurde, entsprechend der Uhr des Kundencomputers 200. Der mit dem Label-Wert-Paar 4813C ver­ bundene Wert wird im Feld 256C gespeichert.
Das Label-Wert-Paar 4813D hat den Label "Server-Schlüssel". Wie vorangehend beschrieben wurde, wird das DES-Schlüs­ sel/IV-Paar, das vom Kundencomputer 200 zur Verschlüsselung des undurchsichtigen Label-Wert-Paares 4817 der Mitteilung CS verwendet wird, unter Verwendung eines öffentlichen RSA- Schlüssels des Servercomputers 100 verschlüsselt. Das La­ bel-Wert-Paar 4813D zeigt auf den entsprechenden privaten RSA-Schlüssel, wie er in der Server-Privatschlüssel-Daten­ struktur 160 gespeichert ist.
Das Label-Wert-Paar 4813E hat den Label "Service-Katego­ rie". Der Wert des Label-Wert-Paares 4813E ist ein Label, das vom Servercomputer 100 verwendet werden kann, um die Mitteilung CS1 zu einem Prozessor innerhalb des Servercom­ puters 100 zu lenken, der die Mitteilung einer bestimmten Service-Kategorie bearbeitet.
Das Label-Wert-Paar 4817 wird als nächstes beschrieben. Das Label-Wert-Paar 4817 hat den Label "undurchsichtig", was bedeutet, daß der folgende Wert verschlüsselte Daten sind. Der Wert des Label-Wert-Paares 4817 stellt die Daten dar, die im Schritt 813 codiert wurden. Der undurchsichtige Ab­ schnitt der Mitteilung CS1 (Fig. 39B) ist die folgenden:
Das Label-Wert-Paar 4817A hat den Label "Typ". Das Label- Wert-Paar 4817A bezeichnet einen Datensatz in der Mittei­ lungs-Datenstruktur 150, der die Labels des undurchsichti­ gen Abschnitts der Mitteilung CS1 bestimmt. Der Wert des Label-Wert-Paares 4817A wird von der Kunden-Anwendungssoft­ ware 210 erhalten, die den Label erzeugt, wenn der Kunden- Benutzer 203 das Gesprächs-Schließungs-Verfahren 411 ein­ leitet.
Das Label-Wert-Paar 4817B hat den Label "Server-Datum". Der Wert des Label-Wert-Paares 4817B zeigt das Datum und die Uhrzeit an, zu der Mitteilung CS1 zusammengesetzt wurde. Dieses Datum und die Uhrzeit beziehen sich auf die Uhr des Servercomputers 100 unter Anleitung des Kundencomputers 200.
Das Label-Wert-Paar 4817C hat den Label "SW-Version" (Soft­ ware-Version). Der Wert des Label-Wert-Paares 4817C zeigt die Version der Kunden-Anwendungssoftware 210 an, die mit dem Servercomputer 100 kommuniziert, und wird von den in der Kunden-Anwendungssoftware 210 enthaltenen Daten erhal­ ten. Der mit dem Label-Wert-Paar 4817C verbundene Wert wird auch im Feld 256D gespeichert.
Das Label-Wert-Paar 4817D hat den Label "Datensatz-Note". Der Wert des Label-Wert-Paares 4817D ist eine frei wählbare kurze Textnotiz, die im Feld 130M der Server-Gesprächs-Da­ tenstruktur 130 in bezug auf das gegenwärtige Gesprächs- Schließungs-Verfahren 411 gespeichert wird. Der Wert des Label-Wert-Paares 4817D wird von der Antwort des Kunden-Be­ nutzers 203 auf eine Eingabeaufforderung von der Kunden-An­ wendungssoftware 210 erhalten und ist vorzugsweise auf 17 Charakter beschränkt, um ihn geeignet anzeigen zu können. Wenn eine Datensatz-Note vom Kunden-Benutzer 203 während es Gesprächs-Öffnungs-Verfahrens 407 erzeugt wurde, ist der Wert des Label-Wert-Paares 4817D dem vorher im Feld 130 ge­ speicherten Wert hinzugefügt.
Das Label-Wert-Paar 4817E hat den Label "Session-ID". Der mit dem Label-Wert-Paar 4817E verbundene Wert wird aus dem Feld 240A der Kunden-Gesprächs-Datenstruktur 240 erhalten und im Feld 256F gespeichert.
Das Label-Wert-Paar 4817F hat den Label "Anfrage-Log". Der mit dem Label-Wert-Paar 4817F verbundene Wert ist entweder "Ja" oder "Nein". Der Wert des Label-Wert-Paares 4817F spiegelt wider, ob der Kunden-Benutzer 203 den Empfang ei­ nes Log der Transaktion im Schritt 1802 ausgewählt hat. Der Wert des Label-Wert-Paares 4817F wird im Feld 256G der kun­ denanhängigen Datenstruktur 250 gespeichert.
Das Label-Wert-Paar 4817G hat den Label "Schlüssel". Der Wert des Label-Wert-Paares 4817H stellt einen Hash des mo­ dularen Teils des RSA-öffentlichen/privaten Schlüsselpaares der Kunden-Person 120.1 dar. Der Wert des Label-Wert-Paares 4817G erlaubt es dem Servercomputer 100 zu bestätigen, daß der öffentliche RSA-Schlüssel, der im Feld 120B (Fig. 4B) gehalten wird, der gleiche Schlüssel ist, der zur Kenn­ zeichnung der Mitteilung CS1 verwendet wurde (Label-Wert- Paar 4817H).
Das Label-Wert-Paar 4817H hat den Label "Kennzeichen". Der Wert des Label-Wert-Paares 4817E stellt die digitale Kenn­ zeichnung der Kunden-Person 120.1 dar. Für die Mitteilung CS1 ist der Wert des Label-Wert-Paar 4817H ein Hash der La­ bel-Wert-Paare 4813A-4813E und der Label-Wert-Paare 4817A-4817G in alphabetischer Reihenfolge, der mit dem privaten RSA-Schlüssel der Kunden-Person 120.1 verschlüsselt wurde. Der private RSA-Schlüssel der Kunden-Person 120.1 wird aus dem Feld 220H erhalten.
Im Schritt 1803 wird die Mitteilung CS1 in Übereinstimmung mit der Mitteilungs-Zusammensetzungs-Prozedur 800 zusammen­ gesetzt. Die Mitteilungs-Zusammensetzungs-Prozedur wurde vorher für die Mitteilung R1 unter Bezug auf Fig. 9 be­ schrieben. Eine anzumerkende Ausnahme ist, daß eine Kopie der Mitteilung 051 im Feld 256H gesichert wird.
In Fig. 38 geht das Gesprächs-Schließungs-Verfahren 411 mit dem Schritt 1804 weiter. Dort übermittelt der Kundencompu­ ter 200 die Mitteilung CS1 an den Servercomputer 100. Der Kundencomputer 200 wartet auf eine Antwort-Mitteilung CS2 vom Servercomputer 100.
Im Schritt 1805 empfängt der Servercomputer 100 die Mittei­ lung CS1 vom Kundencomputer 200 und entziffert die Mittei­ lung CS1, indem die Server-Mitteilungs-Entzifferungs-Proze­ dur 900 für die Mitteilung CS1 ausgeführt wird. Die Server- Mitteilungs-Entzifferungs-Prozedur wurde vorher für die Mitteilung R1 unter Bezug auf Fig. 11 beschrieben. Eine an­ zumerkende Ausnahme ist, daß eine Kopie der Mitteilung CS1 im Feld 140E gesichert wird.
Im Schritt 1806 werden, wenn irgendeiner der Testschritte 904, 909A, 912, 914, 915 oder 916 das Setzen eines Fehler- Flags im Schritt 905 verursacht hat, die Fehler-Verarbei­ tungs-Prozeduren vom Servercomputer 100 im Schritt 1814 durchgeführt. Während der Pegel der Fehler-Verarbeitung im Schritt 1814 im wesentlichen eine administrative Entschei­ dung ist, ist es bevorzugt, daß zumindest die Fehler der Kennzeichnung und der Form und eine "Fehler"-Antwort auf die Software-Passform-Überprüfungs-Prozedur zu einer Antwort- Mitteilung führt, die einen Code, der von der Kunden-Anwen­ dungssoftware 210 verarbeitet werden kann, und eine Mittei­ lung, die von dem Kunden-Benutzer 203 gelesen werden kann, enthält. Die Fehler-Verarbeitungs-Prozedur im Schritt 1814 zieht das Zuordnen eines Flags mit einem bestimmten Fehler- Code (beschrieben im Zusammenhang mit der Antwort-Mittei­ lung CS2 im Anschluß) und das Erzeugen einer Textmitteilung (entweder von einer Datenstruktur für Mitteilungen oder ei­ ner Mitteilung, die vom Systemadministrator gesendet wird) nach sich. Der Servercomputer 100 erzeugt eine Mitteilung CS2, ähnlich der unten beschriebenen, an den Kundencomputer 200, die den Fehler-Code und jede darauf bezogene Mittei­ lung übermittelt.
Wenn die Testschritte 904, 909A, 912, 914, 915 und 916 nicht das Setzen eines Fehler-Flags im Schritt 905 veran­ laßt haben, geht das Verfahren mit dem Schritt 1807 weiter. Dort erklärt der Servercomputer 100 das in dem Label-Wert- Paar 4817E identifizierte Gespräch für ungültig, indem er den Status-Flag im Feld 130L auf "geschlossen" setzt.
Im Schritt 1809 setzt die Server-Software 110 die Antwort- Mitteilung CS2 entsprechend der Server-Mitteilungs-Zusam­ mensetzungs-Prozedur 1000 zusammen. Die Server-Mitteilungs- Zusammensetzungs-Prozedur 1000 wurde vorher für die Mittei­ lung R2 unter Bezug auf Fig. 12 beschrieben. Der Inhalt der Mitteilung CS2 (Fig. 40A und 40B) wird nun beschrieben.
Das Label-Wert-Paar 4913A hat den Label "ID". Der Wert des Label-Wert-Paares 4913A zeigt die Personen-ID des Kunden- Benutzers 203 an. Der mit dem Label-Wert-Paar 4913A verbun­ dene Wert wird aus dem Label-Wert-Paar 4813A der Mitteilung CS1 erhalten.
Das Label-Wert-Paar 4913B hat den Label "Transaktion". Der Wert des Label-Wert-Paares 4913B ist eine Transaktion-Num­ mer. Der mit dem Label-Wert-Paar 4913B verbundene Wert ist der gleiche wie der, der in der Mitteilung CS1 in dem La­ bel-Wert-Paar 4813B empfangen wurde.
Das Label-Wert-Paar 4913C hat den Label "Datum". Der Wert des Label-Wert-Paares 4913C hat den gleichen Wert wie das Label-Wert-Paar 4813C der Mitteilung CS1.
Das Label-Wert-Paar 4913D hat den Label "Service-Katego­ rie". Das Label-Wert-Paar 4913D hat den gleichen Wert wie das Label-Wert-Paar 4813E der Mitteilung CS1.
Die undurchsichtigen Abschnitte der Mitteilung CS2 sind in Fig. 40B gezeigt, wo das Label-Wert-Paar 4917A den Label "Typ" hat. Der Wert des Label-Wert-Paares 4917A bezieht sich auf einen Datensatz in der Mitteilungs-Datenstruktur 270 (Fig. 5A), der die Labels der undurchsichtigen Ab­ schnitte der Mitteilung CS2 festlegt. Der Wert des Label- Wert-Paares 4917A wird von der Server-Software 110 erhal­ ten.
Das Label-Wert-Paar 4917B hat den Label "Server-Datum". Der Wert des Label-Wert-Paares 4917B zeigt das Datum und die Uhrzeit an, zu der die Mitteilung CS2 nach der Uhr des Ser­ vercomputers 100 zusammengesetzt wurde.
Das Label-Wert-Paar 4917C hat den Label "Antwort-Code". Der Wert des Label-Wert-Paares 4917C zeigt an, ob das Ge­ sprächs-Schließungs-Verfahren 411 erfolgreich war oder fehlgeschlagen ist.
Das Label-Wert-Paar 4917D hat den Label "SW-Severity" (Software-Severity). Der Wert des Label-Wert-Paares 4917D zeigt an, ob die Kunden-Anwendungssoftware 210 einen Update benötigt aber noch verwendbar ist ("Warnung"), oder ob sie nicht mehr verwendbar ist ("Fehler") . Der Wert des Label- Wert-Paares 4917D wird Null, wenn die Kunden-Anwendungs­ software 210 aktuell ist.
Das Label-Wert-Paar 4917E hat den Label "SW-Mitteilung" (Software-Mitteilung). Der Wert des Label-Wert-Paares 4917E zeigt Befehle bezüglich dessen an, was der Kunden-Benutzer 203 in dem Fall von "Fehler" oder "Warnung" bei Software­ severity tun sollte. Der Wert des Label-Wert-Paares 4917E liegt nur vor, wenn der Wert des Label-Wert-Paares 4917D nicht Null ist.
Das Label-Wert-Paar 4917F hat den Label "Mitteilung". Der Wert des Label-Wert-Paares 4917F ist eine freie Textmittei­ lung, die mit einer in dem Label-Wert-Paar 4917C zurückge­ sendet er Fehler- oder Erfolgsbedingung zusammenhängt und die vom Kunden-Benutzer 203 angezeigt wird.
Das Label-Wert-Paar 4917G hat den Label "Gebühr". Der Wert des Label-Wert-Paares 4917G zeigt eine Gebühr an, wenn diese vorhanden ist, die dem Kunden-Benutzer 203 für die Verarbeitung der Mitteilung CS1 belastet wird.
Das Label-Wert-Paar 4917H hat den Label "Betrag" und zeigt den elektronischen Zahlungsmittel-Betrag an, der von dem für das Gespräch während des Gesprächs-Öffnungs-Verfahrens 407 zugewiesenen Betrag nach Abzug aller Zahlungen und Ge­ bühren übrigbleibt. Wenn das Verfahren der Mitteilung CS1 Erfolg hat, wird der durch das Label-Wert-Paar 4917H darge­ stellte Betrag dem Geld-Container-Feld 120G.2 (Fig. 4C) hinzugefügt.
Die Zusammensetzung der Mitteilung CS2 ist nun vervollstän­ digt.
In Fig. 38 wird mit dem Schritt 1809A die Mitteilung CS2 vom Servercomputer 100 an den Kundencomputer 200 gesendet.
Im Schritt 1810 empfängt der Kundencomputer 200 die Mittei­ lung CS2 vom Servercomputer 100 und entziffert die Mittei­ lung CS2, indem die Mitteilungs-Entzifferungs-Prozedur 1100 durchgeführt wird. Die Mitteilungs-Entzifferungs-Prozedur 1100 für die Mitteilung CS2 wurde vorher für die Mitteilung R2 unter Bezug auf Fig. 14 beschrieben.
Im Schritt 1811 wird
  • (1) wenn ein Fehler-Flag im Schritt 1105 gesetzt wurde, der Flag im Schritt 1811 detektiert, und die Verarbeitung der Mitteilung CS2 wird mit dem Schritt 1812 enden. Aus Sicht des Kunden-Benutzers 203 muß keine weitere Handlung in bezug auf die Mitteilung CS2 unternommen werden. Erfin­ dungsgemäß ist ein Mechanismus innerhalb der Kunden-Anwen­ dungssoftware 210 zur Erzeugung und zum Absenden einer Mit­ teilung an den Servercomputer 100 vorgesehen. Diese Mittei­ lung enthält die CS2-Mitteilung, wie sie vom Kundencomputer 200 empfangen wurde, und jede Diagnose bezüglich der Ursa­ che des Scheiterns der Mitteilung. Auf diese Mitteilung wird keine Antwort vom Servercomputer 100 an den Kundencom­ puter 200 gesendet. Die Information wird statt dessen ver­ wendet, um zu überprüfen, ob ein Problem innerhalb des Sy­ stems vorliegt und ob geeignete Korrekturmaßnahmen unter­ nommen werden müssen.
  • (2) wenn kein Fehler-Flag im Schritt 1105 gesetzt wurde, aber ein Fehler in der Mitteilung CS1 im Schritt 905 detektiert wurde, das Verfahren mit dem Schritt 1813 fort­ gesetzt, wo der Inhalt des Label-Wert-Paares 4717C über­ prüft wird. Wenn der Wert des Label-Wert-Paares 4917C ein anderer als "Erfolg" ist, werden Fehler-Verarbeitungs-Pro­ zeduren im Schritt 1815 durchgeführt, wodurch die Kunden- Anwendungssoftware 210 zur Anzeige der Mitteilung veranlaßt wird, die in dem Inhalt des mit dem Label-Wert-Paares 4917C verbundenen Label-Wert-Paar 4917F enthalten ist, und zur Interpretation des Wertes des Label-Wert-Paares 4917C und zur Vornahme von mit dem Wert gebundener Handlungen veran­ laßt; oder
  • (3) wenn die Mitteilung CS1 die Prüfung im Schritt 905 durchläuft und wenn kein Flag im Schritt 1105 gesetzt wird, das Verfahren mit dem Schritt 1816 weitergehen, wo die Kun­ den-Anwendungssoftware 210 das Update der Kundendatenstruk­ tur 202 wie folgt durchführt.
Der Betrag des Label-Wert-Paares 4917H wird dem Feld 220J zugefügt.
Das Update des Datensatzes 267 der Kunden-Log-Datenstruktur 260 wird wie folgt durchgeführt. Die Personen-ID aus dem Label-Wert-Paar 4913A wird im Feld 267H gespeichert. Die Transaktion-Nummer des Label-Wert-Paares 4913B wird im Feld 267B gespeichert. Das Datum des Label-Wert-Paares 4917B wird im Feld 267C gespeichert. Der Antwort-Code des Label- Wert-Paares 4917C wird im Feld 267F gespeichert. Der Soft­ ware-Severity-Code des Label-Wert-Paares 4917D wird im Feld 267D gespeichert. Die Software-Mitteilung des Label-Wert- Paares 4917E wird im Feld 267E gespeichert. Die Antwort- Mitteilung, die mit dem Antwort-Code des Label-Wert-Paares 4917F verbunden ist, wird im Feld 267G gespeichert. Die Ge­ bühr des Label-Wert-Paares 4917G wird im Feld 2670 gespei­ chert. Der Betrag des Label-Wert-Paares 4917H wird im Feld 2671 gespeichert.
Wenn der Wert des Anfrage-Log-Label-Wert-Paares 4817F in der Mitteilung CS1 auf "Ja" gesetzt ist, wird ein Bericht an den Kundencomputer 200 über alle Transaktionen gelie­ fert, die vom Kunden-Benutzer 203 während des gerade ge­ schlossenen Gespräches eingeleitet wurden.
Das Verfahren geht mit dem Schritt 1817 weiter, wobei das Gesprächs-Schließungs-Verfahren 411 endet.
V. Probe-Transaktion
Im Anschluß wird eine Probe-Transaktion beschrieben. Bei der Probe-Transaktion führen sowohl der Kunden-Benutzer 203 als auch der Händler-Benutzer 303 jeweils das Registrati­ ons-Verfahren 401, das Instrument-Bindungs-Verfahren 403, das Lade-/Entlade-Verfahren 405, das Gesprächs-Öffnungs- Verfahren 407, das Transaktions-Bezahlungs-Verfahren 409 und das Gesprächs-Schließungs-Verfahren 411 durch. Durch das Durchführen dieser Verfahren ist der Kunden-Benutzer 203 in der Lage, ein Paar "Rocket Shoes" der Acme Products zu erwerben.
Es sei angemerkt, daß erfindungsgemäß Mitteilungs-Label- Wert-Paare, denen kein Wert zugewiesen wurde, vorzugsweise in einer übermittelten Nachricht nicht enthalten sind. Diese Eigenschaft der Erfindung spiegelt sich in den unten gezeigten Probenmitteilungen.
A. Registrations-Verfahren 401
Das Registrations-Verfahren 401 ist identisch für den Kun­ den und den Händler. Nur die Registration des Kunden-Benut­ zers 203 wird unten beschrieben.
Der Kunden-Benutzer 203 läßt die Anwendungssoftware 2102945 00070 552 001000280000000200012000285912283400040 0002019652294 00004 22826L< laufen, die den Kunden-Benutzer 203 zur Zustimmung zu einem oder mehreren gesetzlichen Übereinkommen auffordert. In Ab­ hängigkeit einer Anfrage zur Zustimmung durch den Kunden- Benutzer 203 zu einem gesetzlichen Übereinkommen wählt der Kunden-Benutzer 203 "einverstanden". Die Kunden-Anwendungs­ software 210 fordert den Kunden-Benutzer 203 dann zur Ein­ gabe der folgenden Information auf: eine gewünschte Perso­ nen-ID, die E-Mail-Adresse des Kunden-Benutzers 203, die gewünschte Sprache, in der alle Fehlermeldungen angezeigt werden, den Selbstschließungs-Paß-Satz, der mit der Person verbunden ist, und die von der Person ausgewählte Währung.
Als Antwort auf die Aufforderung für die gewünschte Perso­ nen-ID wählt der Kunden-Benutzer 203 "Brianb" aus. In Ant­ wort auf die Anforderung für die E-Mail-Adresse gibt der Kunden-Benutzer 203 "Brianb@reality.com" ein. In Antwort auf die Anforderung zur Eingabe der gewünschten Sprache für Fehlermeldungen wählt der Kunden-Benutzer 203 "Englisch". In Antwort auf die Aufforderung zur Eingabe des Selbst­ schließungs-Paß-Satzes, der mit der Person verbunden ist, gibt der Kunden-Benutzer 203 "badnews" ein. In Antwort auf die Aufforderung zur Eingabe der bevorzugten Währung für die Person, gibt der Kunde "U.S. dollars" ein.
Der Kunden-Benutzer 203 wird zur Eingabe eines Paßworts aufgefordert. Der Kunden-Benutzer 203 entert "enterprise". Der Kunden-Benutzer 203 wird zur erneuten Eingabe des Paßwortes aufgefordert und kommt dieser Aufforderung nach. Die Kunden-Anwendungssoftware 210 erzeugt dann ein öffent­ liches/privates RSA-Schlüsselpaar und leitet die Erzeugung der Mitteilung R1 ein, die vorher beschrieben wurde, wobei die Mitteilung folgendes enthält:
Der Servercomputer 100 erzeugt einen neuen Datensatz 140.1 in der Server-Mitteilungslog 140 und sichert eine Kopie der Mitteilung R1 im Feld 140E. Der Servercomputer 100 entzif­ fert dann die Mitteilung R1 und verarbeitet sie, wie es vorher beschrieben wurde, und frischt den Datensatz 140.1 der Server-Mitteilungslog 140 wie folgt auf:
Der Servercomputer 100 vergleicht dann die vom Kunden-Be­ nutzer 203 angeforderte ID mit der Liste der existierenden Person. Wenn die angeforderte Personen-ID einmalig ist, er­ zeugt er den Personen-Datensatz 120.1 für den Kunden-Benut­ zer 203 wie folgt:
Der Servercomputer 100 setzt dann die Mitteilung R2 zusam­ men, sichert eine Kopie hiervon im Feld 140F des Daten­ satzes 140.1 der Server-Mitteilungslog-Datenstruktur 140 und überträgt die Mitteilung R2 an den Kundencomputer 200. Die Mitteilung R2 enthält das folgende:
Der Kundencomputer 200 entziffert und verarbeitet die Mit­ teilung R2, wie vorangehend beschrieben wurde. Die Kunden- Anwendungssoftware 210 erzeugt einen Datensatz der Person "brianb-23" in der Kunden-Personen-Datenstruktur 220 wie folgt:
B. Instrument-Bindungs-Verfahren 403
Das Instrument-Bindungs-Verfahren 403 ist das gleiche für Kunden und Händler. Nur das Anbinden des Instruments für den Kundenbenutzer 203 wird beschrieben.
Das Instrument-Bindungs-Verfahren 403 beginnt, wenn der Kunden-Benutzer 203 den Instrument-Bindungsvorgang aus der Konsumentenanwendung auswählt. Die Kunden-Anwendungssoft­ ware 210 fragt den Kunden-Benutzer 203 nach einem Standard­ namen und Adresse. Der Kunden-Benutzer 203 gibt dann "Brian Brian, 100 Elm Street, Nice Place, VA 00000 USA" ein.
Der Kunden-Benutzer 203 wählt "Bankkonto" und wird nach der folgenden Information gefragt: Bank-Kontonummer; ob das Bank-Konto ein Selbstschließungs-Konto für die Person ist, eine Beschreibung des Kontos und die Zustimmung des Kunden- Benutzers 203 zu einem weiteren gesetzlichen Übereinkommen. Der Kunden-Benutzer 203 wird aufgefordert, jede nötige In­ formation zu ändern, um den Namen, die Adresse und die Te­ lefonnummer des Halters des Instrumentes zu beschreiben.
In Antwort auf eine Anfrage nach der Bankkontonummer gibt der Kunden-Benutzer 203 "059013218175654" ein. In Antwort auf die Anfrage nach der Antwort, ob das Konto ein Selbst­ schließungskonto für die Person ist, gibt der Kunden-Benut­ zer "Yes" ein. Als Antwort auf die Anfrage, den gezeigten Namen, Adresse und Telefonnummer zu ändern, lehnt der Kun­ den-Benutzer 203 ab.
In Antwort auf die Anfrage zur Beschreibung des Kontos gibt der Kunden-Benutzer 203 "My fun account" ein. In Antwort auf die Anfrage an den Kunden-Benutzer 203 zur Zustimmung zu einem gesetzlichen Übereinkommen wählt der Kunde "agreed". Der Kunden-Benutzer 203 wird zur Anbindung des Instrumentes "bind instrument" mit dem Servercomputer 100 aufgefordert. Diese Handlung veranlaßt die Kunden-Anwen­ dungssoftware 210, eine Mitteilung BI1 zu erzeugen, die vorangehend beschrieben wurde, wobei die Mitteilung das folgende enthält:
Der Servercomputer 100 erzeugt einen neuen Datensatz 140.2 in der Server-Mitteilungslog 140 und sichert eine Kopie der Mitteilung BI1 im Feld 140E. Der Servercomputer 100 ent­ schlüsselt dann die Mitteilung BI1 und verarbeitet sie, wie es vorangehend beschrieben wurde, und frischt den Datensatz 140.2 der Server-Mitteilungslog 140 wie folgt auf:
Der Servercomputer 100 frischt dann die Server-Personen-Da­ tenstruktur 120.1 der Person "brianb-23" auf, indem "bad­ news" in das Selbstschließungs-Paß-Satz-Feld 120F eingege­ ben wird und indem die Instrument-Bindungsdaten dem Feld 120H wie folgt hinzugefügt werden:
Der Servercomputer 100 setzt dann die Mitteilung BI4 zusam­ men, sichert eine Kopie davon im Feld 140F des Datensatzes 140.2 der Server-Mitteilungslog 140 und sendet die Mittei­ lung BI4 an den Kunden-Benutzer 203. Die Mitteilung BI4 enthält das folgende:
Der Kundencomputer 200 entschlüsselt die Mitteilung BI4 und verarbeitet sie, wie vorangehend beschrieben wurde, wobei dann der Datensatz 220.1 in der Kunden-Personen-Datenstruk­ tur 220 für die Person "brianb-23" durch Hinzufügen der In­ strument-Bindungs-Daten zu dem Feld 220J wie folgt aufge­ frischt wird:
C. Lade-/Entlade-Verfahren 405
Das Lade-/Entlade-Verfahren 405 beginnt, wenn der Kunden- Benutzer 203 den Ladevorgang aus der Kunden-Anwendungssoft­ ware 210 auswählt. Die Kunden-Anwendungssoftware 210 for­ dert dann den Kunden-Benutzer 203 zur Eingabe bezüglich des Instrumentes auf, von dem die Zahlungsmittel zur Person brianb-23 geladen werden sollen. Der Kunden-Benutzer 203 wählt "my fun account" und wird nach dem zu übertragenden Betrag gefragt. In Antwort auf die Anfrage nach dem Betrag gibt der Kunden-Benutzer $ 100,00 ein. Die Kunden-Anwen­ dungssoftware setzt dann die Mitteilung LU1 zusammen, wie sie vorangehend beschrieben wurde, und sendet sie an den Servercomputer 100. Die Mitteilung LU1 enthält die folgende Information:
Der Servercomputer 100 erzeugt einen neuen Datensatz 140.3 in der Server-Mitteilungslog 140 und sichert eine Kopie der Mitteilung LU1 im Feld 140E. Der Servercomputer 100 entzif­ fert eine Mitteilung LU1 und verarbeitet sie, wie es voran­ gehend beschrieben wurde, und frischt den Datensatz 140.3 der Server-Mitteilungslog 140 wie folgt auf:
Der Servercomputer 100 macht dann ein Update des Kunden- Personen-Datensatzes 120.1, indem die Geld-Container-Daten in das Feld 140G wie folgt hinzugefügt werden:
Der Servercomputer 100 setzt die Mitteilung LU2 zusammen, sichert eine Kopie hiervon im Feld 140E des Datensatzes 140.3 der Server-Mitteilungs-Log 140 und übermittelt die Mitteilung LU2 an den Kundencomputer 200. Die Mitteilung LU2 enthält die folgende Information:
Der Kundencomputer 200 entziffert die Mitteilung LU2 und verarbeitet sie, wie es vorangehend beschrieben wurde, dann macht er einen Update des Datensatzes 220.1 in der Kunden- Personen-Datenstruktur 220 für die Person "brianb-23", in­ dem "usd 100" in das Geld-Container-Feld 220J eingegeben wird. D. Gesprächs-Öffnungs-Verfahren 407
Das Gesprächs-Öffnungs-Verfahren 407 beginnt, wenn der Kun­ den-Benutzer 203 den Gesprächs-Öffnungsvorgang aus der Kun­ den-Anwendungssoftware 210 auswählt. Die Kunden-Anwendungs­ software 210 fordert den Kunden-Benutzer 203 zur Eingabe der folgenden Informationen auf: gewünschte Gesprächsle­ bens-Dauer in Minuten; maximale Transaktions-Anzahl, die während des Gesprächs durchgeführt werden können; der Be­ trag der während des Gesprächs zur Verfügung stehenden Zah­ lungsmittel und eine Note, die das Gespräch beschreibt.
In Antwort auf die Abfrage nach der gewünschten Lebensdauer des Gesprächs in Minuten gibt der Kunden-Benutzer 203 "120" ein. In Antwort auf die Anfrage nach der maximalen Transak­ tionszahl, die während des Gesprächs durchgeführt werden können, gibt der Kunden-Benutzer 203 "25" ein. In Antwort auf die Abfrage nach dem Betrag an Zahlungsmitteln, die während des Gesprächs zur Verfügung stehen, gibt der Kunde "70,00" ein. In Antwort auf die Abfrage nach der Note, die das Gespräch beschreibt, gibt der Kunden-Benutzer 203 "Christmas shopping spree" ein.
Der Kundencomputer 200 setzt dann die Mitteilung OS1 zusam­ men und sendet sie an den Servercomputer 100. Die Mittei­ lung OS1 enthält die folgende Information:
Der Servercomputer 100 erzeugt einen neuen Datensatz 140.4 in der Server-Mitteilungs-Log 140 und sichert eine Kopie der Mitteilung OS1 im Feld 140E. Der Servercomputer 100 entziffert dann die Mitteilung OS1 und verarbeitet diese, wie es vorher beschrieben wurde, und macht einen Update des Datensatzes 140.4 der Server-Mitteilungs-Log 140 wie folgt:
Der Servercomputer 100 erzeugt dann einen Datensatz 130.1 der Server-Gesprächs-Datenstruktur 130, der mit der Perso­ nen-ID "brianb-23" verbunden ist. Der Datensatz 130.1 ent­ hält die folgende Information:
Der Servercomputer 100 macht ebenfalls ein Update des Da­ tensatzes 120.1 in der Server-Personen-Datenstruktur 120, die mit der Person "brianb-23" verbunden ist, indem der Be­ trag "70,00" vom Betrag "100,00" aus dem zur Verfügung ste­ henden Balancefeld 127G.2 des Geld-Containers, der vorange­ hend beschrieben wurde, abgezogen wird. Der Servercomputer 100 setzt eine Mitteilung OS2 zusammen, sichert eine Kopie hiervon im Feld 140F des Datensatzes 140.4 und überträgt die Mitteilung OS2 an den Kundencomputer 200. Die Mittei­ lung OS2 enthält die folgende Information:
Der Kundencomputer 200 entziffert die Mitteilung OS2 und verarbeitet sie, wie vorangehend beschrieben, wobei er dann einen neuen Datensatz 240.1 in der Kunden-Gesprächs-Daten­ struktur 240 erzeugt, die mit der Person "brianb-23" ver­ bunden ist.
Das Verfahren, durch das der Händler-Benutzer 303 ein Ge­ spräch öffnet, ist das gleiche, mit der Ausnahme, daß der Händler keine Zahlungsmittel von dem Personengeld-Container in das Gesprächsregister überträgt. Dies liegt daran, daß ein Händler erwartet, Zahlungsmittel zu empfangen, und daß er während eines Verkaufsgesprächs keine Zahlungsmittel zur Verfügung braucht. Der Servercomputer 100 erzeugt einen Da­ tensatz 130.2 in der Server-Gesprächs-Datenstruktur 130, die mit der Person "acme-12" des Händler-Benutzers 303 ver­ bunden ist.
Beim Öffnen eines Gespräches erzeugt der Händler-Benutzer 313 einen neuen Datensatz 370.1 in der Händler-Geld-Log-Da­ tenstruktur 370 wie folgt:
E. Transaktionsbezahlungs-Verfahren 409
Das Transaktionsbezahlungs-Verfahren 409 beginnt, wenn der Kunden-Benutzer 203 auf das Angebot des Händlers 203 zum Verkauf von "rocket shoes" unter bestimmten Umständen durch Auswahl von "Geld-Zahlung" als Mechanismus der Zahlung ant­ wortet. Diese Handlung veranlaßt den Händlercomputer 300 dazu, die Mitteilung PR1 zusammenzusetzen und an den Kun­ dencomputer 200 zu übermitteln, wie es vorher beschrieben wurde. Die Mitteilung PR1 enthält die folgende Informa­ tion:
Der Händlercomputer 300 200 erzeugt einen neuen Datensatz 350.1 der Händler-Betrags-Datenstruktur 350 wie folgt:
Der Kundencomputer 200 verarbeitet die Mitteilung PR1 wie vorher beschrieben. In Antwort auf die Aufforderung von der Kunden-Anwendungssoftware 210 zeigt der Kunden-Benutzer 203 sein Einverständnis mit dem Angebot des Händler-Benutzers 303 an, indem er "bezahle Geld" auswählt. Diese Handlung veranlaßt den Kunden-Benutzer 200 die Mitteilung CA1 zusam­ menzustellen und an den Händlercomputer 300 zu übermitteln. Die Mitteilung CA1 enthält die folgende Information:
Der Händlercomputer 300 verarbeitet die Mitteilung CA1 wie vorhergehend beschrieben. Der Kundencomputer 200 setzt die Mitteilung CA2 wie vorher beschrieben zusammen und über­ trägt sie an den Servercomputer 100. Die Mitteilung CA2 enthält die folgende Information:
Der Händlercomputer 300 macht einen Update des Datensatzes 370.1 der Händler-Geld-Log-Datenstruktur 370, in dem die folgenden zusätzlichen Daten zu dem existierenden Datensatz hinzugefügt werden (der gesamte Datensatz 370.1 wird der Klarheit wegen gezeigt):
Der Servercomputer 100 erzeugt einen neuen Datensatz 140.5 in der Server-Mitteilungs-Log 140 und er sichert eine Kopie der Mitteilung CA2 im Feld 140E. Der Servercomputer 100 entziffert dann die Mitteilung CA2 und verarbeitet diese, wie es vorher beschrieben wurde. Der Servercomputer 100 überprüft die Datensätze 130.1 und 130.2 der Server-Ge­ sprächs-Datenstruktur 130, um zu bestimmen, ob sowohl die Person brianb-23 als auch die Person acme-12 offene Gesprä­ che haben. Wenn ein Gespräch ungültig ist, beendet der Ser­ vercomputer 100 das Transaktion-Zahlungs-Verfahren 409. Hier schreitet der Servercomputer 100 fort und macht einen Update des Datensatzes 140.5 der Server-Mitteilungs-Log 140 wie folgt:
Der Servercomputer 100 macht ebenfalls einen Update des Da­ tensatzes 130.1 der Server-Gesprächs-Datenstruktur 130, in dem die folgende Information mit dem Transaktion-Datenfeld 130N verbunden wird:
Der Servercomputer 100 macht ebenfalls einen Update des Da­ tensatzes 130.2 der Server-Gesprächs-Datenstruktur 130, in­ dem die folgende Information mit dem Transaktion-Datenfeld 130NN verbunden wird:
Der Servercomputer 100 setzt dann die Mitteilung CA3 zusam­ men und überträgt sie an den Händlercomputer 300, wie es vorhergehend beschrieben wurde. Die Mitteilung CA3 enthält die folgende Information:
Der Händlercomputer 300 entziffert die Mitteilung CA3 und verarbeitet sie, wie es vorstehend beschrieben wurde. Der Händlercomputer 300 macht einen Update des Datensatzes 350.1 der Händler-Betrags-Datenstruktur 350, indem das Flagfeld 350C auf "bezahlt" gesetzt wird.
Der Händlercomputer 300 macht einen Update des Datensatzes 370.1 der Händler-Geld-Log-Datenstruktur 370 wie folgt:
Das Status-Feld 370B wird auf "Erfolg" gesetzt. Das Laufen­ der-Betrag-Feld 370F wird auf "usd 42,50" gesetzt.
Der Händlercomputer 300 setzt die Mitteilung CA4 zusammen und überträgt sie an den Kundencomputer 200. Die Mitteilung CA4 enthält die folgende Information:
Der Kundencomputer 200 entziffert und verarbeitet die Mit­ teilung CA4, wie es vorhergehend beschrieben wurde. Der Kundencomputer 200 macht einen Update des Datensatzes 240.1 der Kunden-Gesprächs-Datenstruktur 240, indem er "$42,50" von dem Laufender-Betrag-Feld 240F abzieht, wobei eine Ba­ lance von $27,50 verbleibt. E. Gesprächs-Schließungs-Verfahren 411
Das Gesprächs-Schließungs-Verfahren 411 beginnt, wenn der Kunden-Benutzer 203 die Abfrage "Gespräch schließen" aus der Anzeige des Kundencomputers 200 auswählt. Diese Hand­ lung verursacht, daß der Kundencomputer 200 die Mitteilung CS1 zusammensetzt und diese an den Servercomputer 100 über­ mittelt, wie es vorhergehend beschrieben wurde. Die Mittei­ lung CS1 enthält die folgende Information:
Der Servercomputer 100 erzeugt einen neuen Datensatz 140.6 in der Server-Mitteilungs-Log 140 und sichert eine Kopie der Mitteilung CS1 im Feld 140E. Der Servercomputer 100 entziffert dann die Mitteilung CS1, verarbeitet diese, wie es vorher beschrieben wurde, und macht einen Update des Da­ tensatzes 140.6 wie folgt
Der Servercomputer 100 macht dann einen Update des Daten­ satzes 130.1 in der Server-Gesprächs-Datenstruktur 130, die mit der Personen-ID "brianb-23" verbunden ist, indem der Wert des laufenden Betrags-Feldes 130F ($27,50) zu dem Be­ trag des verfügbaren Balancefeldes 120G.2 des Geld-Contai­ ners, der vorher beschrieben wurde, und indem der Wert "19951105110301999" in das Schließungs-Datums-Feld 130H eingetragen wird und indem das Status-Feld 130L von "offen" auf "geschlossen" geändert wird.
Der Servercomputer 100 setzt eine Mitteilung CS2 zusammen, sichert eine Kopie hiervon im Feld 140F des Datensatzes 140.6 und überträgt die Mitteilung CS2 an den Kundencompu­ ter 200. Die Mitteilung CS2 enthält die folgende Informa­ tion:
Der Kundencomputer 200 entziffert die Mitteilung CS2, wie es vorhergehend beschrieben wurde. Der Kundencomputer 200 macht einen Update des Feldes 2201 des Datensatzes 220.1 der Kunden-Personen-Datenstruktur 220, indem $27,50 zu dem laufenden Wert des Feldes 2201 ($30,00) für eine Balance von $57,50 addiert werden. Der Kundencomputer 200 löscht den Datensatz 240.1 der Kunden-Gesprächs-Datenstruktur 240.
Die vorhergehende Beschreibung der Erfindung wurde als Bei­ spiel gegeben und wird vom Fachmann derart verstanden, daß verschiedene Modifikationen, alternative Konfigurationen und Äquivalente verwendet werden können, ohne vom Rahmen der Erfindung abzuweichen.

Claims (27)

1. Verfahren zur sicheren Kommunikation innerhalb eines Kommunikationssystems, wobei das Kommunikationssystem zu­ mindest eine erste Vorrichtung am Ort eines ersten Teilneh­ mers, eine zweite Vorrichtung am Ort eines zweiten Teilneh­ mers und einen Server aufweist, der mit diesem kommuni­ ziert, wobei das Verfahren umfaßt:
  • (a) Einrichten eines dem ersten Teilnehmer zugeordneten ersten Gesprächs, das erste der Nutzungsparameter zum Begrenzen der Nutzungsdauer des ersten Gespräches und einen ersten Datensatz hat, wobei die ersten Benut­ zungsparameter und der erste Datensatz von dem Server identifizierbar sind,
  • (b) Einrichten eines dem zweiten Teilnehmer zugeordneten zweiten Gespräches, das zweite Benutzungsparameter zur Begrenzung der Nutzungsdauer des zweiten Gespräches und einen zweiten Datensatz hat, wobei die zweiten Be­ nutzungsparameter und der zweite Datensatz durch den Server identifizierbar sind,
  • (c) Verbinden eines Abschnitts des ersten Gespräches mit einem Abschnitt des zweiten Gespräches innerhalb des Kommunikationssystems, wobei der Abschnitt des ersten Gespräches den ersten Datensatz und die ersten Benut­ zungsparameter enthält, und wobei der Abschnitt des zweiten Gespräches den zweiten Datensatz und die zwei­ ten Benutzungsparameter enthält,
  • (d) Verifizieren des ersten und zweiten Teilnehmers auf Basis von zumindest Teilen des ersten und zweiten Da­ tensatzes durch den Server, und
  • (e) Feststellen mittels des Servers auf der Grundlage der ersten und zweiten Benutzungsparameter, ob das erste und zweite Gespräch benutzt werden können, so daß, wenn der Server den ersten und zweiten Teilnehmer ve­ rifiziert und feststellt, daß das erste und zweite Ge­ spräch benutzt werden kann, für den ersten und zweiten Teilnehmer ein sicheres Kommunizieren innerhalb des Kommunikationssystems sichergestellt ist.
2. Verfahren nach Anspruch 1, bei dem bestimmte erste Da­ tensätze nicht zwischen der ersten Vorrichtung und dem Ser­ ver übermittelt werden, nachdem das erste Gespräch einge­ richtet wurde, und bei dem bestimmte zweite Datensätze nicht zwischen der zweiten Vorrichtung und dem Server über­ mittelt werden, nachdem das zweite Gespräch eingerichtet wurde.
3. Verfahren nach Anspruch 2, bei dem der erste und zweite Datensatz einen ersten bzw. zweiten Schlüssel ent­ halten, und wobei der Server den ersten und zweiten Teil­ nehmer unter Verwendung des ersten und zweiten Schlüssel verifiziert.
4. Verfahren nach Anspruch 1, bei dem die ersten Benut­ zungsparameter durch den ersten Teilnehmer und die zweiten Benutzungsparameter durch den zweiten Teilnehmer bestimmt werden.
5. Verfahren nach Anspruch 1, bei dem die ersten und zweiten Benutzungsparameter durch den Server bestimmt wer­ den.
6. Verfahren nach Anspruch 1, bei dem die ersten Benut­ zerparameter enthalten:
  • (a) einen elektronischen Zahlungsmittelbetrag, der während der Dauer des ersten Gesprächs für den ersten Teilneh­ mer verfügbar ist,
  • (b) eine Zeitdauer, während der das erste Gespräch andau­ ern wird, und
  • (c) eine Anzahl von Transaktionen, die der erste Teilneh­ mer während des ersten Gespräches durchführen kann.
7. Verfahren nach Anspruch 1, bei dem die zweiten Benut­ zerparameter enthalten:
  • (b) eine Zeitdauer, während der das zweite Gespräch andau­ ern wird, und
  • (b) eine Anzahl von Transaktionen, die der zweite Teilneh­ mer während des zweiten Gesprächs durchführen kann.
8. Verfahren zur sicheren Kommunikation innerhalb eines Kommunikationssystems, wobei das Kommunikationssystem eine Vorrichtung am Ort des einen Benutzers und einen damit kom­ munizierenden Server hat, wobei das Verfahren umfaßt:
  • (a) Übertragen einer Anfrage von der Vorrichtung an den Server zur Einrichtung eines Gesprächs mit zugehörigen Benutzungsparametern;
  • (b) Verschlüsseln eines ersten Schlüssels mit einem zwei­ ten Schlüssel durch den Server;
  • (c) Übertragen des verschlüsselten ersten Schlüssel und der dem Gespräch zugeordneten Benutzungsparameter von dem Server an die Vorrichtung;
  • (d) Empfangen des verschlüsselten ersten Schlüssels und der Benutzungsparameter durch die Vorrichtung und Ent­ schlüsseln des verschlüsselten ersten Schlüssels, so daß die Vorrichtung sicher innerhalb des Kommunikati­ onssystems unter Verwendung des entschlüsselten ersten Schlüssels entsprechend den Benutzungsparametern kom­ munizieren kann.
9. Verfahren nach Anspruch 8, bei dem der erste Schlüssel ein DES-Schlüssel ist.
10. Verfahren nach Anspruch 9, bei dem der zweite Schlüs­ sel ein DES-Schlüssel ist.
11. Verfahren nach Anspruch 8, bei dem die sichere Kommu­ nikation auf einem Sicherheitspegel oberhalb von DES statt­ findet.
12. Verfahren nach Anspruch 8, das außerdem eine zweite Vorrichtung am Ort eines zweiten Benutzers umfaßt, wobei die zweite Vorrichtung ebenfalls mit der Benutzervorrich­ tung und dem Server kommuniziert und wobei das Verfahren weiterhin umfaßt:
  • (a) Übertragen einer zweiten Anfrage von der zweiten Vor­ richtung an den Server zur Einrichtung eines zweiten Gespräches mit zweiten zugehörigen Benutzungsparame­ tern;
  • (b) Verschlüsseln eines dritten Schlüssels mit einem vier­ ten Schlüssel durch den Server;
  • (c) Übertragen des verschlüsselten dritten Schlüssels und der zweiten Benutzungsparameter von dem Server an die zweite Vorrichtung;
  • (d) Empfang des verschlüsselten dritten Schlüssels und der zweiten Benutzungsparameter durch die zweite Vorrich­ tung und Entschlüsseln des dritten Schlüssels, so daß die zweite Vorrichtung sicher innerhalb des Kommunika­ tionssystems unter Verwendung des entschlüsselten dritten Schlüssels in Übereinstimmung mit den zweiten Benutzungsparametern kommunizieren kann.
13. Verfahren nach Anspruch 12, bei dem der dritte Schlüs­ sel ein DES-Schlüssel ist.
14. Verfahren nach Anspruch 12, bei dem der vierte Schlüs­ sel ein DES-Schlüssel ist.
15. Verfahren nach Anspruch 12, bei dem die sichere Kommu­ nikation auf einem Sicherheitspegel oberhalb des DES statt­ findet.
16. Verfahren nach Anspruch 12, das außerdem enthält:
  • (a) Übertragen eines ersten Datensatzes von der Benutzer­ vorrichtung an die zweite Vorrichtung, wobei der erste Datensatz einen verschlüsselten Abschnitt und einen unverschlüsselten Abschnitt enthält, wobei der ver­ schlüsselte Abschnitt unter Verwendung des entschlüs­ selten ersten Schlüssels und zumindest eines Teils des unverschlüsselten Abschnitts des ersten Datensatzes verschlüsselt ist;
  • (b) Empfang des ersten Datensatzes durch die zweite Vor­ richtung und Übertragen eines zweiten Datensatzes zu­ sammen mit dem verschlüsselten Abschnitt des ersten Datensatzes von der zweiten Vorrichtung an den Server, wobei der zweite Datensatz einen verschlüsselten Ab­ schnitt und einen unverschlüsselten Abschnitt enthält, wobei der verschlüsselte Abschnitt des ersten Daten­ satzes zumindest einen Teil des unverschlüsselten Ab­ schnitts des ersten Datensatzes enthält, und wobei der verschlüsselte Abschnitt des zweiten Datensatzes unter Verwendung des entschlüsselten dritten Schlüssels und zumindest eines Teils des unverschlüsselten Abschnitts des zweiten Datensatzes verschlüsselt wird; und
  • (c) Empfang des von der zweiten Vorrichtung übermittelten zweiten Datensatzes durch den Server, und Entschlüs­ seln des verschlüsselten Abschnitts des zweiten Daten­ satzes unter Verwendung des dritten Schlüssels und des Teils des unverschlüsselten Abschnitts des zweiten Da­ tensatzes, so daß der Teil des ersten Datensatzes, der in dem verschlüsselten Abschnitt des zweiten Daten­ satzes enthalten ist, entschlüsselt wird, und Ent­ schlüsseln des verschlüsselten Abschnitts des ersten Datensatzes unter Verwendung des ersten Schlüssels und des Teils des entschlüsselten Teils des ersten Daten­ satzes,
so daß der Benutzer durch den Server unter Verwendung des ersten Schlüssels und der zweite Benutzer unter Verwendung des dritten Schlüssels durch den Server überprüft werden können.
17. Elektronisches Übertragungssystem in einem Kommunika­ tionsnetzwerk zur Verarbeitung einer Transaktion zwischen einem Kunden mit einer Kundenvorrichtung, einem Händler mit einer Händlervorrichtung und einem mit diesen verbundenen Server, wobei die Transaktion zugehörige Bedingungen hat, und wobei der Server elektronische Zahlungsmittel von dem Kunden an den Händler überträgt, so daß der Händler ein Produkt an den Kunden liefern kann, wobei das elektronische Übertragungssystem umfaßt:
  • (a) die Händlervorrichtung zum
  • (1) Erhalten eines ersten Gesprächs von dem Server;
  • (2) Übertragen einer Warenrechnung an die Kundenvor­ richtung, die zumindest einen Abschnitt der Bedingun­ gen der Transaktion enthält;
  • (3) Empfang einer Kundenantwort auf die Warenrechnung von der Kundenvorrichtung und Übertragen eines ersten Datensatzes an den Server, der die Transaktion dar­ stellt, wobei der erste Datensatz zumindest einen Ab­ schnitt der Kundenantwort enthält;
  • (4) Empfang eines zweiten Datensatzes von dem Server, die anzeigt, ob die Transaktion von dem Server geneh­ migt wurde, wobei der zweite Datensatz einen Händler­ teil und einen Kundenteil enthält, wobei der Händler­ teil und der Kundenteil des zweiten Datensatzes zumin­ dest einen Abschnitt des ersten Datensatzes enthalten; und
  • (5) Übertragen des Kundenteils des zweiten Datensatzes an die Kundenvorrichtung;
  • (b) die Kundenvorrichtung zum
  • (1) Erhalten eines zweiten Gespräches von dem Server;
  • (2) Empfang der Warenrechnung von der Händlervorrich­ tung, die den Teil mit den Bedingungen für die Trans­ aktion enthält, und Übertragen des Abschnitts der Kun­ denantwort an die Händlervorrichtung; und
  • (3) Empfang des Kundenteils des zweiten Datensatzes von der Händlervorrichtung;
  • (c) wobei im Server ein Händler-Profil und eine Kunden- Profil gespeicherte sind, wobei das Händler-Profil den Händler und das Kunden-Profil den Kunden darstellt, wobei das Händler-Profil eine zugehörige elektronische Händler-Zahlungsmittel-Speicherstruktur zum Speichern elektronischer Zahlungsmittel, die von dem Händler empfangen werden, hat, und wobei das Kunden-Profil eine zugehörige elektronische Kunden-Zahlungsmittel- Speicherstruktur zum Speichern elektronischer Zah­ lungsmittel des Kunden hat, wobei der Server vorgese­ hen ist, um:
  • (1) das erste Gespräch an die Händlervorrichtung und das zweite Gespräch an die Kundenvorrichtung zu lie­ fern,
  • (2) den ersten Datensatz, der die Transaktion dar­ stellt, von der Händlervorrichtung zu empfangen, und den ersten Datensatz zu verarbeiten, um zu bestimmen, ob die Transaktion genehmigt wurde,
  • (3) elektronische Zahlungsmittel von der elektroni­ schen Kunden-Zahlungsmittel-Speicherstruktur zu der elektronischen Händler-Zahlungsmittel-Speicherstruktur zu übertragen, wenn die Transaktion genehmigt wurde, und
  • (4) den zweiten Datensatz an die Händlervorrichtung zu übertragen, der anzeigt, ob die Transaktion genehmigt wurde,
so daß, wenn die Transaktion genehmigt wurde, der Händler das Produkt an den Kunden liefern kann.
18. Elektronisches Übertragungssystem nach Anspruch 17, wobei die Händlervorrichtung des weiteren die Kommunikation mit dem Server vorsieht, um ein erstes Finanzinstrument mit dem Händler-Profil zu verbinden; und
wobei die Kundenvorrichtung des weiteren die Kommuni­ kation mit dem Server vorsieht, um ein zweites Finanz­ instrument mit dem Kunden-Profil zu verbinden.
19. Elektronisches Übertragungssystem nach Anspruch 18, wobei die Kundenvorrichtung des weiteren das Übertragen ei­ ner Anfrage an den Server vorsieht, um Zahlungsmittel von dem zweiten Finanzinstrument zu der kundenelektronischen Zahlungsmittel-Speicherstruktur zu übertragen;
wobei der Server des weiteren den Empfang und die Ver­ arbeitung der Anfrage zur Übertragung von Zahlungsmitteln und das Übertragen der Zahlungsmittel von dem zweiten Fi­ nanzinstrument zu der elektronischen Kunden-Zahlungsmittel- Speicherstruktur vorsieht.
20. Elektronisches Übertragungssystem nach Anspruch 19, bei dem die Kundenvorrichtung einen Kunden-Gesprächs-Con­ tainer zum Speichern elektronischer Zahlungsmittel des Kun­ den während des zweiten Gespräches enthält, und des weite­ ren das Übertragen einer zweiten Anfrage an den Server vor­ sieht, um elektronische Zahlungsmittel von der elektroni­ schen Kunden-Zahlungsmittel-Speicherstruktur an den Kunden- Gesprächs-Container vorsieht; und
wobei der Server des weiteren die Verarbeitung der zweiten Anfrage und das Übertragen der elektronischen Zah­ lungsmittel von der elektronischen Kunden-Zahlungsmittel- Speicherstruktur an den Kunden-Gesprächs-Container vor­ sieht.
21. Elektronisches Übertragungssystem nach Anspruch 20, bei dem die Benutzung des ersten Gespräches durch erste Nutzungsparameter beschränkt ist, die enthalten:
  • (a) eine Zeitdauer, während der das erste Gespräch andau­ ern kann, und
  • (b) eine Anzahl von Transaktionen, die der Händler während des ersten Gesprächs durchführen kann; und wobei die Nutzung des zweiten Gespräches durch zweite Benutzungsparameter beschränkt ist, die enthalten:
  • (a) einen elektronische Geldbetrag, der dem Kunden während des zweiten Gespräches zur Verfügung steht,
  • (b) eine Zeitdauer, während der das zweite Gespräch andau­ ern kann, und
  • (c) eine Anzahl von Transaktionen, die der Kunde während des zweiten Gesprächs durchführen kann.
22. Elektronisches Übertragungssystem nach Anspruch 21, bei dem die Händlervorrichtung des weiteren die Übertragung einer dritten Anfrage vorsieht, um elektronische Zahlungs­ mittel von dem Händler-Gesprächs-Container an die elektro­ nische Händler-Zahlungsmittel-Speicherstruktur zu übertra­ gen; und
wobei die Kundenvorrichtung des weiteren die Übertra­ gung einer vierten Anfrage vorsieht, um elektronische Zah­ lungsmittel von dem Kunden-Gesprächs-Container an die elek­ tronischen Händler-Zahlungsmittel-Speicherstruktur zu über­ tragen; und
wobei der Server des weiteren die Verarbeitung der dritten Anfrage und die Übertragung elektronischer Zah­ lungsmittel von dem Händler-Gesprächs-Container zu der elektronischen Händler-Zahlungsmittel-Speicherstruktur und die Verarbeitung der vierten Anfrage und die Übertragung elektronischer Zahlungsmittel von dem Kunden-Gesprächs-Con­ tainer zu der elektronischen Kunden-Zahlungsmittel-Spei­ cherstruktur vorsieht.
23. Elektronisches Übertragungssystem nach Anspruch 21, bei dem der Server des weiteren vorsieht:
Übertragung elektronischer Zahlungsmittel von dem Händler-Gesprächs-Container zu der elektronischen Händler- Zahlungsmittel-Speicherstruktur, wenn zumindest einer der ersten Benutzungsparameter erfüllt ist; und
Übertragung elektronischer Zahlungsmittel von dem Kun­ den Gesprächs-Container zu der elektronischen Kunden-Zah­ lungsmittel-Speicherstruktur, wenn zumindest einer der zweiten Benutzungsparameter erfüllt ist.
24. Elektronisches Übertragungssystem nach Anspruch 22, bei dem der Server des weiteren die Beendigung der ersten und zweiten Gespräche vorsieht, wenn zumindest einer der ersten und zweiten Benutzungsparameter erfüllt wurden.
25. Elektronisches Übertragungssystem nach Anspruch 23, bei dem die Händlervorrichtung des weiteren die Übertragung einer fünften Anfrage an den Server vorsieht, um elektroni­ sche Zahlungsmittel von der elektronischen Händler-Zahlungs­ mittel-Speicherstruktur zu dem ersten Finanzinstrument zu übertragen, und
wobei der Server die Verarbeitung der fünften Anfrage und die Übertragung elektronischer Zahlungsmittel von der elektronischen Händler-Zahlungsmittel-Speicherstruktur an das erste Finanzinstrument vorsieht.
DE19652294A 1995-12-14 1996-12-16 Elektronisches Übertragungssystem und Verfahren Expired - Lifetime DE19652294C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19655042A DE19655042C2 (de) 1995-12-14 1996-12-16 Elektronisches Übertragungssystem und Verfahren

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
DE19652294A1 true DE19652294A1 (de) 1997-06-19
DE19652294C2 DE19652294C2 (de) 1999-03-04

Family

ID=24287756

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19652294A Expired - Lifetime DE19652294C2 (de) 1995-12-14 1996-12-16 Elektronisches Übertragungssystem und Verfahren
DE19655042A Expired - Lifetime DE19655042C2 (de) 1995-12-14 1996-12-16 Elektronisches Übertragungssystem und Verfahren

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE19655042A Expired - Lifetime DE19655042C2 (de) 1995-12-14 1996-12-16 Elektronisches Übertragungssystem und Verfahren

Country Status (10)

Country Link
US (1) US5870473A (de)
EP (1) EP0809903B1 (de)
JP (3) JP4582825B2 (de)
AT (1) ATE289719T1 (de)
CA (1) CA2192252C (de)
DE (2) DE19652294C2 (de)
FR (1) FR2742615B1 (de)
GB (3) GB2308280B (de)
HK (2) HK1004248A1 (de)
WO (1) WO1997022191A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19745994A1 (de) * 1997-10-20 1999-04-22 Cit Alcatel Verfahren zum Austausch von Daten zwischen Applikationsprozessen in einem sicheren Mehrrechnersystem

Families Citing this family (228)

* 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
US8271339B2 (en) * 1995-11-13 2012-09-18 Lakshmi Arunachalam Method and apparatus for enabling real-time bi-directional transactions on a network
US7930340B2 (en) * 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
US8037158B2 (en) * 1995-11-13 2011-10-11 Lakshmi Arunachalam Multimedia transactional services
US6212556B1 (en) * 1995-11-13 2001-04-03 Webxchange, Inc. Configurable value-added network (VAN) switching
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
US20030195847A1 (en) 1996-06-05 2003-10-16 David Felger 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
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
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
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
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
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
EP1062560A1 (de) * 1998-03-11 2000-12-27 Cha! Technologies, Inc. Automatisch aufgerufener zwischenhandlungsverfahren für netzwerkkäufe
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
US7606355B2 (en) 1998-04-22 2009-10-20 Echarge Corporation Method and apparatus for ordering goods, services and content over an internetwork
EP1073982A1 (de) * 1998-04-22 2001-02-07 Echarge Corporation Verfahren und system zum bestellen von gütern, dienstleistungen und dateninhalten über ein internet
PT1080415T (pt) 1998-05-21 2017-05-02 Equifax Inc Sistema e método para autenticação de utilizadores da rede
US6345278B1 (en) 1998-06-04 2002-02-05 Collegenet, Inc. Universal forms engine
IL142004A0 (en) 1998-09-15 2002-03-10 In Touch Technologies Ltd Enhanced communication platform and related communication method using the platform
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
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
EP1203332A4 (de) 1999-02-12 2002-09-25 Mack Hicks System und verfahren für die bereitstellung von zertifizierungsbezogenen und anderen diensten
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
JP2001060235A (ja) * 1999-04-29 2001-03-06 Citibank Na ウェブトレーディング用システムおよび方法
CA2369081C (en) 1999-04-30 2012-02-07 X.Com Corporation 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
AU4839300A (en) * 1999-05-11 2000-11-21 Webvan Group, Inc. Electronic commerce enabled delivery system and method
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
US6533168B1 (en) * 1999-05-27 2003-03-18 Peter N. Ching Method and apparatus for computer-readable purchase receipts using multi-dimensional bar codes
JP2004500615A (ja) * 1999-05-28 2004-01-08 ザ・コカ−コーラ・カンパニー ネットワークベースに於ける電子的取引の代行制御の方法と装置
KR100805341B1 (ko) 1999-06-18 2008-02-20 이촤지 코포레이션 가상 지불 계정을 이용하여 인터네트워크상에서 상품,서비스 및 콘텐츠를 주문하는 방법 및 장치
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
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
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
US7644037B1 (en) 1999-08-16 2010-01-05 Vladimir Ostrovsky Method and system for transferring electronic funds
US8032457B2 (en) * 1999-08-13 2011-10-04 Vladimir Ostrovsky Method and system for transferring electronic funds
WO2001015100A1 (en) * 1999-08-26 2001-03-01 Eluv Holdings 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
JP2003521763A (ja) * 1999-09-24 2003-07-15 メアリー マッケンニー 電子商取引における決済サービスを提供するためのシステム及び方法
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
US7216104B2 (en) * 2000-03-14 2007-05-08 Verizon Business Global Llc Disallow payment for E-billing system
US7881962B2 (en) * 2000-03-14 2011-02-01 Verizon Business Global Llc Early-payment discount 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
KR20030019356A (ko) * 2000-04-17 2003-03-06 에어비퀴티 인코포레이티드. 이동 데이터 통신용 보안 동적 링크 할당 시스템
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 認証方法及びシステム並びに決済方法及びシステム
KR100912613B1 (ko) * 2000-05-25 2009-08-17 이촤지 코포레이션 보안 트랜잭션 프로토콜
DE60137564D1 (de) * 2000-06-14 2009-03-19 Sap Ag N über http, verfahren, computerprogrammprodukt und system
GB0014759D0 (en) * 2000-06-17 2000-08-09 Hewlett Packard Co Service delivery method and system
US7024386B1 (en) 2000-06-23 2006-04-04 Ebs Group Limited Credit handling in an anonymous trading system
US6983259B1 (en) 2000-06-23 2006-01-03 Ebs Group Limited Anonymous trading system
US7184982B1 (en) 2000-06-23 2007-02-27 Ebs Group Limited Architecture for anonymous trading system
US7366690B1 (en) 2000-06-23 2008-04-29 Ebs Group Limited Architecture for anonymous trading system
US7333952B1 (en) 2000-06-23 2008-02-19 Ebs Group Limited Compound order handling in an anonymous trading system
US7827085B1 (en) 2000-06-23 2010-11-02 Ebs Group Limited Conversational dealing in an anonymous trading system
GB2364586B (en) 2000-06-23 2004-06-16 Ebs Nominees Ltd Deal matching in an 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
US7000105B2 (en) * 2000-09-08 2006-02-14 Identrus, Llc System and method for transparently providing certificate validation and other services within an electronic transaction
US7072870B2 (en) * 2000-09-08 2006-07-04 Identrus, Llc System and method for providing authorization and other services
US7590558B2 (en) * 2000-09-26 2009-09-15 I2 Technologies Us, Inc. System and method for facilitating electronic commerce transactions
US7299255B2 (en) * 2000-09-26 2007-11-20 I2 Technologies Us, Inc. System and method for migrating data in an electronic commerce system
WO2002027624A1 (en) * 2000-09-29 2002-04-04 R G Tecq Inc 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
US20040044619A1 (en) * 2000-12-30 2004-03-04 Jung-Yong Chung Method and apparatus for credit card inquiry using cable network
US20110029584A1 (en) * 2001-02-08 2011-02-03 The Boeing Company Apparatus, method and computer program product for transferring an electronic file
US7308423B1 (en) 2001-03-19 2007-12-11 Franklin Goodhue Woodward Technique for handling sales of regulated items implemented over a data network
WO2002075632A1 (en) * 2001-03-19 2002-09-26 Agora Development Corporation Networked international system for organizational electronic commerce
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
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
US8099364B2 (en) * 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US20020184507A1 (en) * 2001-05-31 2002-12-05 Proact Technologies Corp. Centralized single sign-on method and system for a client-server environment
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
US8275709B2 (en) * 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
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
AU2003261898A1 (en) * 2003-02-20 2004-09-09 Source Japan Co., Ltd. Mobile net commerce settlement system
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
GB0410861D0 (en) * 2004-05-14 2004-06-16 Ecebs Ltd Improved ticketing system
US7814024B2 (en) 2004-05-14 2010-10-12 Ching Peter N Multi-way transactions related data exchange apparatus and methods
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
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
EP1935152A4 (de) 2005-06-28 2010-08-04 Oracle Int Corp Umsatz-verwaltungssystem und -verfahren
CN101233497B (zh) * 2005-07-28 2013-01-30 甲骨文国际公司 收益管理系统和方法
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 (de) * 2006-02-13 2008-05-28 Research In Motion Limited Sicheres Verfahren zur Benachrichtigung einer Dienstbeendigung
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
US8443424B2 (en) * 2007-02-08 2013-05-14 Scipioo Holding B.V. Method and system for reducing the proliferation of electronic messages
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
WO2009042305A1 (en) * 2007-09-25 2009-04-02 Goldspot Media Apparatus and method 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
WO2009088487A1 (en) * 2008-01-04 2009-07-16 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
US8606662B2 (en) * 2008-04-04 2013-12-10 Mastercard International Incorporated Methods and systems for managing co-brand proprietary financial transaction processing
US8271392B2 (en) * 2008-04-04 2012-09-18 Mastercard International Incorporated Methods and systems for managing merchant screening
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
US8768852B2 (en) * 2009-01-13 2014-07-01 Amazon Technologies, Inc. Determining phrases related to other phrases
US8423349B1 (en) 2009-01-13 2013-04-16 Amazon Technologies, Inc. Filtering phrases for an identifier
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
US9569770B1 (en) 2009-01-13 2017-02-14 Amazon Technologies, Inc. Generating constructed phrases
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
US10606989B2 (en) 2011-09-07 2020-03-31 Elwha Llc Computational systems and methods for verifying personal information during transactions
US10074113B2 (en) 2011-09-07 2018-09-11 Elwha Llc Computational systems and methods for disambiguating search terms corresponding to network members
US9167099B2 (en) 2011-09-07 2015-10-20 Elwha Llc Computational systems and methods for identifying a communications partner
US10546295B2 (en) 2011-09-07 2020-01-28 Elwha Llc Computational systems and methods for regulating information flow during interactions
US9928485B2 (en) * 2011-09-07 2018-03-27 Elwha Llc Computational systems and methods for regulating information flow during interactions
US10546306B2 (en) * 2011-09-07 2020-01-28 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
US9747561B2 (en) 2011-09-07 2017-08-29 Elwha Llc Computational systems and methods for linking users of devices
US9491146B2 (en) 2011-09-07 2016-11-08 Elwha Llc Computational systems and methods for encrypting data for anonymous storage
US9690853B2 (en) 2011-09-07 2017-06-27 Elwha Llc Computational systems and methods for regulating information flow during interactions
US10263936B2 (en) 2011-09-07 2019-04-16 Elwha Llc Computational systems and methods for identifying a communications partner
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
US9626664B2 (en) 2012-03-07 2017-04-18 Clearxchange, Llc System and method for transferring funds
US10970688B2 (en) 2012-03-07 2021-04-06 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
US10395223B2 (en) 2012-03-07 2019-08-27 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
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
US20130282565A1 (en) 2012-04-18 2013-10-24 Mastercard International Incorporated Systems and methods for managing transactions for a merchant
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
US10832246B2 (en) 2015-03-23 2020-11-10 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
US10878387B2 (en) 2015-03-23 2020-12-29 Early Warning Services, Llc Real-time determination of funds availability for checks and ACH items
US10769606B2 (en) 2015-03-23 2020-09-08 Early Warning Services, Llc Payment real-time funds availability
US10748127B2 (en) 2015-03-23 2020-08-18 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
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
US11037121B2 (en) 2015-07-21 2021-06-15 Early Warning Services, Llc Secure real-time transactions
US10963856B2 (en) 2015-07-21 2021-03-30 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
US11037122B2 (en) 2015-07-21 2021-06-15 Early Warning Services, Llc Secure real-time transactions
US11157884B2 (en) 2015-07-21 2021-10-26 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
US10970695B2 (en) 2015-07-21 2021-04-06 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
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
US10938781B2 (en) * 2016-04-22 2021-03-02 Sophos Limited Secure labeling of network flows
US10986109B2 (en) 2016-04-22 2021-04-20 Sophos Limited Local proxy detection
US11102238B2 (en) 2016-04-22 2021-08-24 Sophos Limited Detecting triggering events for distributed denial of service attacks
US11277416B2 (en) 2016-04-22 2022-03-15 Sophos Limited Labeling network flows according to source applications
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
US11144928B2 (en) 2016-09-19 2021-10-12 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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0048903A1 (de) * 1980-09-30 1982-04-07 Licentia Patent-Verwaltungs-GmbH Sicherheitssystem zur Verhinderung unerlaubter Manipulationen bei der elektronischen Textübertragung in Nachrichtennetzen
US5349642A (en) * 1992-11-03 1994-09-20 Novell, Inc. Method and apparatus for authentication of client server communication
US5428745A (en) * 1992-06-12 1995-06-27 Dow Benelux N.V. Secure communication system for re-establishing time limited communication between first and second computers before communication time period expiration using new random number
EP0687087A2 (de) * 1994-06-07 1995-12-13 AT&T Corp. Sicheres Datenübertragungsverfahren

Family Cites Families (33)

* 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
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
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
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 暗号化通信システム
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0048903A1 (de) * 1980-09-30 1982-04-07 Licentia Patent-Verwaltungs-GmbH Sicherheitssystem zur Verhinderung unerlaubter Manipulationen bei der elektronischen Textübertragung in Nachrichtennetzen
US5428745A (en) * 1992-06-12 1995-06-27 Dow Benelux N.V. Secure communication system for re-establishing time limited communication between first and second computers before communication time period expiration using new random number
US5349642A (en) * 1992-11-03 1994-09-20 Novell, Inc. Method and apparatus for authentication of client server communication
EP0687087A2 (de) * 1994-06-07 1995-12-13 AT&T Corp. Sicheres Datenübertragungsverfahren

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
US-Z.: AKL, S. G. Digital Signatures: A Tutorial Survey. In: Computer, Feb. 1983, S. 15-24 *
US-Z.: WOO, T. et al.: Authentication for Distri- buted Systems. In: Computer, Jan. 1992, S. 39-52 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19745994A1 (de) * 1997-10-20 1999-04-22 Cit Alcatel Verfahren zum Austausch von Daten zwischen Applikationsprozessen in einem sicheren Mehrrechnersystem

Also Published As

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

Similar Documents

Publication Publication Date Title
DE19652294C2 (de) Elektronisches Übertragungssystem und Verfahren
DE69534982T2 (de) Computer-zahlungssystem zum kaufen von informationsprodukten mittels elektronischem transfer auf dem internet
DE60029455T2 (de) Elektronisches geld, zugehörige elektronische börse und diese anwendende elektronische bezahlungssysteme
DE60124893T2 (de) Sicherheitsmodul für ein Kontenverwaltungssystem
DE69829684T2 (de) Chipkarten verwendendes system zum bezahlen und laden im internet
DE69628022T2 (de) Verfahren zur faktorierung über das internet
DE19539801C2 (de) Überwachung von Transaktionen mit Chipkarten
WO2003042938A2 (de) Bezahlungsprotokoll sowie datenübertragungsverfahren und -anordnung für bezahlvorgänge
EP1309957B1 (de) Verfahren und anordnung zur übertragung eines elektronischen geldbetrages aus einem guthabenspeicher
DE212010000059U1 (de) Veränderbarer Sicherheitswert
EP1178444A1 (de) Elektronischer Zahlungsverkehr mit SMS
DE602004007254T2 (de) System und verfahren zum authentifizieren von dokumenten
CN1309791A (zh) 入场券重新分发系统
EP0993664A1 (de) Transaktionsverfahren mit einem mobilgerät
EP1180750A1 (de) Verfahren und Anordnung zur Übertragung eines elektronischen Geldbetrages aus einem Guthabenspeicher
DE20221741U1 (de) System zum Ausführen einer geschäftlichen Transaktion zwischen einem Käufer und einem Verkäufer
EP1180751A1 (de) Verfahren und Anordnung zur Übertragung eines elektronischen Geldbetrages aus einem Guthabenspeicher
DE69926070T2 (de) Vorrichtung zur steuerung und zertifizierung von warenlieferungen des elektronischen handels und zur gleichzeitigen steuerung und zertifizierung der damit verbundenen zahlungsausführung
WO2004006198A1 (de) Verfahren zur elektronischen bezahlung einer ware oder dienstleistung unter nutzung eines mobilfunknetzes und anordnung zu dessen durchführung
EP1213689B1 (de) Verfahren zur automatischen Abwicklung von Zahlungsvorgängen im Electronic Commerce sowie zugehörige Vorrichtung
DE69636612T2 (de) Zahlungsverfahren in einer Datenübertragungsanordnung und Anordnung zu dessen Implementierung
EP0907134A1 (de) Verfahren zur rechnergestützten Zahlungsabwicklung über Zahlungssysteme
DE102006017911B4 (de) Elektronisches Bezahlsystem und Verfahren zum Ausführen eines Bezahlvorgangs
DE202019106383U1 (de) Elektronische Zahlungsvorrichtung
DE10136414A1 (de) Verfahren zum Bezug einer über ein Datennetz angebotenen Leistung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8172 Supplementary division/partition in:

Ref document number: 19655042

Country of ref document: DE

Q171 Divided out to:

Ref document number: 19655042

Country of ref document: DE

AH Division in

Ref document number: 19655042

Country of ref document: DE

D2 Grant after examination
8364 No opposition during term of opposition
AH Division in

Ref document number: 19655042

Country of ref document: DE

8327 Change in the person/name/address of the patent owner

Owner name: VERISIGN, INC. (N.D.GES.D. STAATES DELAWARE), HERN

8328 Change in the person/name/address of the agent

Free format text: FREISCHEM UND KOLLEGEN, 50667 KOELN

8327 Change in the person/name/address of the patent owner

Owner name: PAYPAL,INC. (N. D. GES. D. STAATES DELAWARE), , US

Owner name: PAYPAL INTERNATIONAL LTD., DUBLIN, IE

R071 Expiry of right