DE69022610T2 - Verfahren zum Chiffrieren von übertragenen Daten, das einen Einheitsschlüssel anwendet. - Google Patents
Verfahren zum Chiffrieren von übertragenen Daten, das einen Einheitsschlüssel anwendet.Info
- Publication number
- DE69022610T2 DE69022610T2 DE69022610T DE69022610T DE69022610T2 DE 69022610 T2 DE69022610 T2 DE 69022610T2 DE 69022610 T DE69022610 T DE 69022610T DE 69022610 T DE69022610 T DE 69022610T DE 69022610 T2 DE69022610 T2 DE 69022610T2
- Authority
- DE
- Germany
- Prior art keywords
- terminal
- dynamic key
- key
- host
- host computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 65
- 230000005540 biological transmission Effects 0.000 claims description 19
- 101100400776 Mus musculus Mdfic gene Proteins 0.000 claims description 18
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 23
- 238000009434 installation Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000002427 irreversible effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1016—Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Small-Scale Networks (AREA)
Description
- Die Erfindung betrifft das Gebiet der Verarbeitung von elektronischen Transaktionen und insbesondere ein Verfahren zum Codieren von Nachrichten auf einem herkömmlichen Computernetz- werk zwischen einer Vielzahl von entfernten Terminals und einem Hostrechner, welcher eine Verschlüsselungstechnik verwendet, wobei ein eindeutiger Schlüssel von dem Hostrechner für jedes Terminal oder für jede Transaktion oder eine ausgewählte Anzahl von Transaktionen durch dieses Terminal erzeugt wird.
- Mit dem Aufkommen der elektronischen Verarbeitung von finanziellen Transaktionen wurde eine nicht vorhersehbare Revolution der Art, auf welche geschäftliche Transaktionen durchgeführt werden, ausgelöst. Transaktionen, welche zuvor die physische Übergabe von Geld oder Handelspapieren, wie Bankschecks, erfordert haben, werden nun elektronisch unter Einsatz von Computern ausgeführt.
- Während der vergangenen Jahre ist die elektronische Verarbeitung von finanziellen Transaktionen immer üblicher geworden. Normale Verbraucher können nun Lebensmittel, Benzin und Flugzeugtickets unter Verwendung einer automatisierten Bankkarte oder einer Kreditkarte kaufen, welche an diese von ihren jeweiligen Banken ausgegeben wurde. Durch Einsatz der elektronischen Verarbeitung von Geldtransaktionen zum Kaufen solcher Waren und Dienstleistungen übertragen die Verbraucher elektronisch Guthaben von ihrer eigenen Bank oder ihrem Kreditkonto zu dem Konto des jeweiligen Verkäufers. Die elektronische Verarbeitung von Geldtransaktionen macht es also überflüssig, daß der Verbraucher Bargeld oder Scheck mit sich trägt. Die Verarbeitung von elektronischen Finanztransaktionen, so wie sie in Zusammenhang mit ihrem üblichen Einsatz für den Verbraucher realisiert ist, wird im allgemeinen auf eine von zwei Weisen umgesetzt.
- Die erste, üblichste Realisierung der Bearbeitung von elektronischen Finanztransaktionen ist der Geldautomat (Automated Teller Machine), der (in der englischen Sprache) allgemein als ATM bezeichnet wird. Während der vergangenen Jahre hat sich der Einsatz von Geldautomaten so stark ausgeweitet, daß er praktisch zu einer unverzichtbaren Einrichtung wurde, welche Bankkunden inzwischen als eine normale Bankdienstleistung erwarten. Geldautomaten sind normalerweise 24 Stunden am Tag zugänglich, und sie sind üblicherweise im Bankgebäude oder in Gegenden angeordnet, wo sich Verbraucher aufhalten, beispielsweise in Einkaufszentren oder an Flughäfen. Der Bankkunde kann den Geldautomaten verwenden, um die meisten routinemäßigen Banktransaktionen durchzuführen, wie Einzahlungen und Auszahlungen, Überprüfungen des aktuellen Kontostands, Zahlungen mit Kreditkarte und dergleichen.
- Der zweitüblichste Realisierung der Bearbeitung von elektronischen Finanztransaktionen ist der Verkaufsterminal (Point- of-Sale Terminal), der (in der englischen Sprache) allgemein als POS-Terminal bezeichnet wird. Zur Zeit werden Verkaufs- Terminals am häufigsten an Tankstellen und in Lebensmittelläden angetroffen. Anstatt für ihre Einkäufe mit einem Scheck oder mit Bargeld zu bezahlen, verwenden die Verbraucher ihre elektronische Scheckkarte oder Kreditkarte, um ihre Einkäufe zu "bezahlen", indem sie elektronisch Gelder von ihrem eigenen Konto auf das Konto des Verkäufers übertragen. Verbraucher können also einkaufen und reisen, ohne daß sie eine große Menge Bargeld mit sich tragen müssen, um ihre Einkäufe zu machen.
- Die Bearbeitung elektronischer Finanztransaktionen hat jedoch eine große Vielzahl von Sicherheitsproblemen geschaffen, welche auf diesem Gebiet einzigartig sind. Während die Bearbeitung von elektronischen Finanztransaktionen sehr wünschenswert ist, weil mit ihr nicht mehr notwendig ist, Bargeld für Einkäufe bei sich zu haben, und eine sehr effiziente Art zum Durchführen von Transaktionen ohne menschliche Zwischenschaltung ist, sind Sicherheitsbedenken von größter Wichtigkeit, da das Potential für einen Mißbrauch beträchtlich ist. Nicht autorisierte Personen, welche im Handel üblicherweise als "Widersacher" bezeichnet werden, könnten Zugang zu den Verarbeitungssystemen für die elektronischen Finanztransaktionen erhalten und eine große Vielzahl von schädlichen räuberischen Transaktionen durchführen. So, wie ein Tresor von großer Bedeutung für den Schutz von Währungen und Geschäftspapieren ist, ist also ein effektives Mittel zum Sichern der elektronischen Verarbeitungssysteme für Finanztransaktionen auf dem Gebiet der Bearbeitung von elektronischen Finanztransaktionen genauso wichtig.
- Bei den meisten vorhandenen Verarbeitungssystemen für elektronische Finanztransaktionen gibt die Bank oder eine andere Einrichtung, die Karten ausgibt, an den Kunden eine Karte aus, die magnetisch mit der Kontonummer des Benutzers codiert wurde. Ferner gibt die Bank an den Kunden eine persönliche Geheimnummer oder Geheimzahl (PIN) aus oder ermöglicht dem Kunden, diese Geheimnummer zu wählen, die nur dem Kunden bekannt ist und dazu verwendet wird, den Zugang des Kunden zu einem Verarbeitungssystem für elektronische Finanzübertragungen zum Zeitpunkt einer gegebenen Transaktion zu autorisieren. Normalerweise merkt sich der Kunde die Geheimnummer. Die Geheimnummer und die Karte ermöglichen dem Kunden den Zugang zu dem System und geben ihm, wenn sie von der Person richtig eingesetzt werden, den erwünschten Zugang zu dem System.
- Wenn ein Kunde eine elektronische Transaktion in einem derartigen System nach dem Stand der Technik durchführen will, gibt er seine Geheimnummer bei dem Geldautomaten oder dem Verkaufsterminal ein, bevor er mit der Transaktion fortfährt. Der Bankautomat oder der Verkaufsterminal liest ferner die Karte der Person, welche die Geheimnummer eingegeben hat. Normalerweise würde dann eine Überprüfung der Identität durch einen Vergleich der Geheimnummer oder einer anderen von der Geheimnummer abgeleiteten Zahl und der Kontonummer des Kunden mit den Unterlagen der Einrichtung, welche die Karte ausgegeben hat, durchgeführt. Daher muß die Geheimnummer, welche normalerweise die Grundlage für diesen Überprüfungsvorgang bildet, von dem Geldautomaten oder dem Verkaufsterminal zu einer entfernten Verarbeitungsstation für deren Verarbeitung übertragen werden.
- Obwohl das oben beschriebene Karten- und Geheimnummernsystem einen gewissen Schutz vorsieht, ist dieses System allein nicht ausreichend sicher, die Unversehrtheit des Verarbeitungssystem für die elektronische Finanztransaktion zuverlässig zu erhalten.
- Das System ist verletzbar, wenn beispielsweise die Geheimnummer selbst unverschlüsselt zu einer entfernten Verarbeitungsstation übertragen wird. Ein Widersacher, welcher die Übertragungsleitungen oder andere Verbindungskanäle überwacht, könnte die Geheimnummer auffangen und unter Verwendung dieser Information einen nicht autorisierten Zugang zu den Konten des Kunden erhalten. Es ist daher nachteilig, die Geheimnummer von dem Geldautomaten oder dem Verkaufsterminal zu der entfernten Verarbeitungsstation zu übertragen, zumindest nicht in unverschlüsselter Form.
- Demzufolge wird bei vielen vorhandenen Systemen die Geheimnummer von dem Geldautomaten oder dem Verkaufsterminal in verschlüsselter Form übertragen. Bei einem derartigen System wird die Geheimnummer unter Verwendung einer vorgegebenen Zahl verschlüsselt, die als ein "Schlüssel" bekannt ist, um eine verschlüsselte Geheimnummer zu erzeugen. Theoretisch ist damit die Geheimnummer sicher, wenn sie zu der entfernten Verarbeitungsstation übertragen wird, weil sie unter Verwendung eines Schlüssels verschlüsselt wurde, der nur der Einrichtung bekannt ist, welche die Karte ausgibt. Wenn jedoch ein Widersacher den Schlüssel herausfindet, ist das System nicht mehr sicher, weil die Geheimnummer ermittelt werden kann, wenn der Verschlüsselungsprozeß umgekehrt werden kann.
- Eine unauthorisierte Aneignung des Schlüssels ist ein spezielles Problem beim Einsatz von Verkaufsterminals. Bei Verkaufsterminals sitzt der Schlüssel normalerweise in dem Terminal selbst, um eine Verschlüsselung vor Ort zu ermöglichen, bevor die Geheimnummer übertragen wird. Da die Verkaufsterminaleinheiten normalerweise tragbar sind, besteht ein erhebliches Risiko, daß der Terminal gestohlen und/oder auseinandergenommen wird und der Schlüssel ermittelt wird. Unter diesen Bedingungen wird das System wiederum verletzbar, weil ein Widersacher den Schlüssel dazu verwenden könnte, andere übertragene verschlüsselte Geheimnummern zu entschlüsseln.
- Es sind auch verbesserte Datenübertragungs-Verschlüsselungssysteme nach dem Stand der Technik bekannt, bei denen ein eindeutiger Schlüssel für jede Transaktion zwischen einem Hostrechner und einem speziellen Terminal verwendet wird (siehe WO-A-81/02655). Bei einem derartigen System weist jedes Terminal 21 eindeutige Schlüsselregister auf, in denen die eindeutigen Schlüssel gespeichert sind. In diesem System stehen daher insgesamt 2²¹ eindeutige Schlüssel zur sequentiellen Verwendung durch das Terminal zur Verfügung, um die zwischen diesem und dem Hostrechner übertragenen Daten zu codieren. Ein solches System ist sehr speicheraufwendig, weil es einen sehr großen nicht-flüchtigen Speicher in jedem der Terminals benötigt, um die Vielzahl der verwendeten Schlüssel zu speichern. Das Hostsystem speichert einen eindeutigen Hostschlüssel, der zum Decodieren der Vielzahl von Übertragungen von den in diesem System eingesetzten Terminals verwendet wird. Die zum Codieren der Übertragung eingesetzte Folge von eindeutigen Schlüssein wird also vollständig von jedem einzelnen Terminal und nicht von dem Hostrechner gesteuert.
- Bei diesem System nach dem Stand der Technik, wird ein spezieller Schlüssel, nachdem er einmal von dem Terminal zum Codieren einer speziellen Datenübertragung verwendet wurde, abgeworfen, und der nächste Schlüssel in der Folge wird für die nächste Datenübertragung verwendet. Die Anzahl der Transaktionen ist also mit der Anzahl der in dem flüchtigen Speicher des Terminals gespeicherten Schlüssel verknüpft. Die Anzahl der Transaktionen ist auf 2N begrenzt, wobei N die maximale Anzahl der Schlüsselregister ist, welche in dem Speicher zur Verfügung stehen. Ferner macht in praktischer Hinsicht der erforderliche große nicht-flüchtige Speicher solche Systeme teurer in der Herstellung, weil die Kosten für nicht flüchtige Speicherchips, welche in den Terminals verwendet werden, hoch sind.
- Ein weiterer Nachteil solcher Systeme ist, daß dann, wenn einmal alle eindeutigen Schlüssel in den Terminal verbraucht sind, das Terminal von seiner entfernten Position abgerufen werden muß, um die Schlüssel auszuwechseln. Das Terminal muß also in regelmäßigen Abständen, abhängig von der Häufigkeit seines Einsatzes, aus der Umgebung abgeholt werden, um die eindeutigen Schlüssel austauschen zu können. Ferner müssen dann, wenn aus Sicherheitsgründen der Schlüssel des Hostsystems geändert werden soll, alle in den entfernten Terminals verwendeten Schlüssel geändert werden. Da dies wiederum das Abrufen aller Terminals aus ihren entfernten Postionen erfordern würde, ist eine solche Anderung des Schlüssels des Hostsystems nur schwer durchführbar.
- Die EP-A-0 272 230 offenbart den Austausch eines Anfangs-Mastercodes, der zuvor in einem Schlüsselbankspeicher gespeichert wurde, durch einen willkürlich gewählten neuen Mastercode, der in einer mit der Schlüsselbank verbundenen Sicherheitseinrichtung erzeugt wird.
- Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Datenverschlüsselungsystem vorzusehen, bei dem der Verschlüsselungsschlüssel nicht durch Überwachung der vergangenen Transaktionen entdeckt werden kann.
- Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein Datenverschlüsselungssystem vorzusehen, bei dem eine Vielzahl von Verschlüsselungsschlüsseln von dem Hostrechnersystem als ein Funktion eines einzelnen Masterschlüssels in dem Hostsystem erzeugt werden, wodurch diese in entfernten Terminals gespeicherten Verschlüsselungsschlüssel mit neuen eindeutigen Schlüssein nach jeder Transaktion oder periodisch, je nach Vorgabe des Hostrechners, von dem Hostsystem aktualisiert werden können.
- Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein Datenverschlüsselungssystem vorzusehen, welches für jede sichere Datenübertragung zwischen einem speziellen Terminal und einem Hostsystem einen anderen Verschlüsselungsschlüssel vorsieht.
- Es eine weitere Aufgabe der Erfindung, ein sicheres Verschlüsselungssystem vorzusehen, welches eine minimale Menge an nicht-flüchtigen Rechenspeicher benötigt.
- Es ist eine weitere Aufgabe der Erfindung, ein Verschlüsselungssystem vorzusehen, dessen Verschlüsselungsschlüssel gegen den nicht autorisierten körperlichen Zugriff auf ein entferntes Terminal gesichert sind.
- Es ist eine weitere Aufgabe der Erfindung, ein Verschlüsselungssystem vorzusehen, bei dem eine Vielzahl von Verschlüsselungsschlüsseln als eine Funktion eines einzelnen in dem Hostrechner gespeicherten Masterschlüssels erzeugt werden und bei dem diese Vielzahl von Verschlüsselungsschlüsseln durch Änderung des einzelnen in dem Hostrechner gespeicherten Masterschlüssels geändert werden können.
- Die Erfindung sieht ein Verfahren zum Verschlüsseln von Daten für eine Übertragung zwischen einem Hostrechner und jedem von mehreren entfernten Terminals in einem Netzwerk vor. Es wird ein Verfahren zum periodischen Erzeugen eines eindeutigen dynamischen Verschlüsselungsschlüssels für jeden der mehreren Terminals vorgesehen, wozu ein Systemkeimschlüssel verwendet wird, der nur in dem Hostrechner vorhanden ist. Der dynamische Verschlüsselungsschlüssel wird zur Verwendung durch das Terminal beim Verschlüsseln von Daten, welche zu dem Hostrechner übertragen werden, und zum Entschlüssein von Daten, welche von dem Hostrechner empfangen werden, erzeugt. Das Verfahren umfaßt das Speichern des zuvor von dem Hostrechner für dieses Terminal erzeugten dynamischen Schlüssels bei diesem Terminal.
- Das Verfahren gemäß eines ersten Aspekts der Erfindung umfaßt ferner die folgenden Verfahrensschritte:
- Empfangen einer Anforderung für einen neuen dynamischen Schlüssel von einem der Terminals durch den Hostrechner, wobei die Anforderung des neuen dynamischen Schlüssels einen vorgegebenen Terminalidentifikator für dieses Terminal aufweist,
- Bestimmen des zuvor für dieses Terminal von dem Host erzeugten dynamischen Schlüssels, wobei der zuvor von dem Host erzeugte dynamische Schlüssel momentan in dem Terminal gespeichert ist, Erzeugen eines neuen dynamischen Schlüssels für das Terminal als eine Funktion des Keimschlüssels und des vorgegebenen Terminalidentifikators für das Terminal in dem Hostrechner,
- Verschlüsseln des neuen dynamischen Schlüssels in dem Hostrechner unter Verwendung des zuvor von dem Hostrechner erzeugten dynamischen Schlüssels,
- Übertragen des verschlüsselten neuen dynamischen Schlüssels von dem Hostrechner zu dem Terminal,
- Entschlüsseln des neuen dynamischen Schlüssels in dem Terminal unter Verwendung des dynamischen Schlüssels, der zuvor von dem Hostrechner erzeugt wurde und momentan in dem Terminal gespeichert ist.
- Weitere Aspekte und Ausführungsformen der Erfindung sind in den nachfolgenden Ansprüchen 2 bis 21 definiert.
- In den Figuren zeigen:
- Fig. 1 ein Flußdiagramm des bevorzugten Verfahrens zum Erzeugen eines dynamischen Anfangsschlüssels in dem Hostrechner für ein gegebenes entferntes Terminal, das mit dem Hostrechner verbunden ist, und zum Bewirken der Installation des dynamischen Anfangsschlüssels in dem entfernten Terminal,
- Fig. 2 ein Flußdiagramm des bevorzugten Verfahrens zum Durchführen der ersten Benutzertransaktion zwischen einem der entfernten Terminals und dem Hostrechner,
- Fig. 3 ein Flußdiagramm des bevorzugten Verfahrens zum Durchführen der n-ten Benutzertransaktion zwischen einem der entfernten Terminals und dem Hostrechner,
- Fig. 4 eine schematische Darstellung des bevorzugten Verfahrens zum Erzeugen des dynamischen Schlüssels KDTn,
- Fig. 5 eine schematische Darstellung, welche zeigt wie verschiedene Verschlüsselungsschlüssel erzeugt werden, die bei dem bevorzugten Verfahren zum Verschlüsseln und Entschlüssein der verschiedenen Arten von Daten verwendet werden, welche zwischen dem Hostrechner und einem der entfernten Terminals übertragen werden.
- Mit Bezug auf die beigefügten Zeichnungen ist im folgenden das bevorzugte Verfahren gemäß dieser Erfindung beschrieben.
- Fig. 1 ist ein Flußdiagramm, welches die Schritte abbildet, die in einer Schlüsselinitialisierungseinheit (-Terminal) (KIU) 15, dem Hostrechner 20 und in jedem der mehreren entfernten Terminals 10, welche mit dem Hostrechner und der KIU verbunden sind, zum Initialisieren des Terminals 10 mit seinem ersten dynamischen Schlüssel vorgenommen werden.
- Bei der bevorzugten Ausführungsform hat die Schlüsselinitialisierungseinheit (KIU) die Funktion, den dynamischen Anfangsschlüssel KDT&sub0; zu erzeugen und in das Terminal zu laden. Die KIU-Einrichtung ist bei einer von dem Host und den Terminals getrennten, physisch sicheren Stelle angeordnet, um weitere Sicherheit für das Netzwerk zu schaffen. Der Fachmann auf diesem Gebiet wird erkennen, daß die durch die KIU gesicherte Funktion auch von dem Hostrechner durchgeführt werden könnte.
- Das Verfahren von Fig. 1 beginnt mit der Installationsfolge 11 des Terminals 10, die ausgeführt werden muß, bevor das Terminal 10 angeschlossen werden kann. Bei der Installationsfolge 11 muß eine minimale Anzahl von erforderlichen Datenelementen in dem Terminal installiert werden. Diese Installation kann während der Herstellung des Terminals oder durch einen Endverbraucher des Host/Terminal-Netzwerks durchgeführt werden. Im zweiten Fall kann der Netzwerk-Überwacher, wie eine Bank oder eine Sparkasse oder Kreditanstalt, seine eigene spezielle Gruppe von erforderlichen Daten installieren. Die minimalen Daten, welche bei der bevorzugten Ausführungsform in der Installationsfolge 11 in dem Terminal 10 gespeichert werden müssen, umfassen eine Terminalidentifikationsnummer (TIN) für das Terminal, eine Transaktionsnummer (XSN) für das Terminal und einen anfänglichen Kommunikationsschlüssel (initial communication key; ICK) für das Terminal, welcher für alle von dem Hostrechner bedienten Terminals gleich ist. Zusätzlich werden vorzugsweise auch eine Anzahl von variablen Nummern in dem Terminal 10 gespeichert, deren Funktion sich aus der Erläuterung der Fig. 2 ergibt.
- Ebenso werden auch die Anfangsinstallationsfolgen 21 und 22 in dem Hostrechner 20 und der KIU 15 benötigt. Wie die Anfangsinstallationsfolge 11 für das Terminal 10, können die Anfangsinstallationsfolge 21 für den Host 20 und die Folge 22 für die KIU 15 bei der Herstellung oder durch die Überwachungsperson des Host/Terminal-Netzwerksystems durchgeführt werden. Die Mindestdaten, welche bei der Installationsfolge 21 gemäß der bevorzugten Ausführungsform dieses Verfahrens in dem Hostrechner 20 gespeichert werden müssen, umfassen einen oder mehrere System-Keimschlüssel (SEED.l, SEED.r), welche bei der bevorzugten Ausführungsform von dem Hostrechner verwendet werden, um eine Reihe von dynamischen Schlüsseln für jedes Terminal, wie unten erläutert, zu erzeugen&sub1; wobei ein Schlüssel für jede Transaktion oder eine Gruppe von Transaktionen vorgesehen wird, wenn eine Anforderung nach einem neuen dynamischen Schlüssel von einem der Terminals in dem Netzwerk empfangen wird. Zusätzlich werden auch während der Installationsfolge 21 veränderliche Nummern in dem Hostrechner 20 gespeichert, die äquivalent zu den Eingaben in das Terminal 10 bei der Anfangsinstallationsfolge 11 sind. Auch bei der Installationsfolge 22 werden Keimschlüssel und äquivalente variable Nummern in die KIU 15 eingegeben. Zusätzlich wird der anfängliche Kommunikationsschlüssel (ICE), welcher bei der Folge 11 in das Terminal 10 eingegeben wird, bei der Folge 22 in die KIU 15 eingegeben.
- Wenn einmal die Anfangsinstallationsfolgen 11 und 22 in der KIU 15 und jedem Terminal 10 in dem Netzwerk abgeschlossen sind, kann das einzelne Terminal Ti bei 12 initialisiert und angeschlossen werden. Das in Fig. 1 abgebildete Verfahren zum Initialisieren der Terminals in dem Netzwerk wird für jedes Terminal Ti durchgeführt, wobei (i) eine ganze Zahl zwischen 1 und X ist und wobei X gleich der gesamten Anzahl der Terminals in dem Netzwerk entspricht. Während des Initialisierungsschrittes 12 sendet das Terminal 10 eine Schlüsselanforderung an die KIU 15. Der Initialisierungsschritt 12 wird im allgemeinen durchgeführt, sobald das Terminal bei seiner entfernten Position installiert ist.
- Der Initialisierungsschritt 12 umfaßt die Übertragung einer Schlüsselanforderung für Ti. Die Schlüsselanforderung umfaßt Daten, welche Ti gegenüber der KIU identifizieren. Bei Empfang der ersten Schlüsselanforderung von dem Terminal 10 erzeugt die KIU 15 sodann bei einem Schritt 24 gemäß dem in Fig. 4 beschriebenen Verfahren den KDT&sub0;, wobei Fig. 4 die Erzeugung eines dynamischen Schlüssels KDTN für ein spezielles Terminal beschreibt. Die Datenfolge bei dem bevorzugten Verfahren, welche von dem Terminal 10 bei Anforderung eines Schlüssels von der KIU 15 bei der Initialisierung 12 des Terminals gesendet wird, umfaßt die Terminalidentifikationsnummer (TIN), welche dem Terminal zugeordnet ist, und die Transaktionsfolgenummer (XSN) für das Terminal. Vorzugsweise beginnt die XSN für ein gegebenes Terminal bei 000 und wird bei jeder von dem Terminal durchgeführten Transaktion um eins inkrementiert. Der Fachmann auf diesem Gebiet erkennt jedoch, daß jede Art der Nummerierung aufeinanderfolgender Transaktionen wie eine Folge funktioniert. Zusätzlich umfaßt bei dem bevorzugten Verfahren dieser Erfindung die Datenkette (Data String) auch die Übertragung von 8 Bits mit dem Wert FF (hex) am Anfang der Datenkette, um eine Datenübertragung von insgesamt 64 Bit vorzusehen.
- Beim Empfang dieser Daten durch die KIU 15 erzeugt der Host den KDT&sub0; bei einem Schritt 24 gemäß dem mit Bezug auf Fig. 4 beschriebenen Verfahren. Wie mit Bezug auf Fig. 4 noch mit weiteren Einzelheiten beschrieben wird, werden die Eingangsdaten, welche die TIN und die XSN umfassen, über eine Anzahl von Verschlüsselungsschritten verarbeitet, um einen eindeutigen KDT&sub0; für das Terminal 10 zu erzeugen.
- Nachdem KDT&sub0; bei 24 erzeugt worden ist, wird er dann bei 26 von der KIU 15 unter Verwendung des ICK als dem Verschlüsselungsschlüssel verschlüsselt. Das Kryptogramm, welches diese Verschlüsselung ausdrückt, ist mit EICK[KDT&sub0;] bezeichnet. Nach der Verschlüsselung von KDT&sub0; durch die KIU 15 bei 26 wird der verschlüsselte KDT&sub0; zu dem Terminal 11 übertragen.
- Die Verschlüsselung von Daten kann unter Verwendnung eines Verschlüsselungsalgorithmus wie dem NBS-Algorithmus (NBS = National Bureau of Standards), durchgeführt werden, der eine von dem Handelsministerium der USA anerkannte staatliche Informationsverarbeitungsnorm ist. Derselbe normierte NBS-Algorithmus kann später dazu verwendet werden, die verschlüsselten Daten zu entschlüsseln, um die Daten in ihrer originalen Form wieder aufzufinden.
- Bei Verwendung des ICK, der während der Installationsfolge 11 eingegeben wurde, kann das Terminal 10 beim Schritt 16 den KDT&sub0; entschlüsseln, um den KDT&sub0; wiederherzustellen. Dieser erste dynamische Schlüssel wird dann zur Verwendung bei der Verschlüsselung und Entschlüsselung nachfolgender Übertragungsdaten mit dem Host 20 gespeichert.
- Fig. 2 zeigt das Flußdiagramm eines bevorzugten Verfahrens zur Realsierung der ersten Transaktion zwischen einem Terminal 10, das mit dem anfänglichen dynamischen Schlüssel KDT&sub0; initialisiert wurde, und dem Hostrechner 20.
- Die Kommunikation mit dem Hostrechner wird im allgemeinen von dem Terminal 10 ausgelöst, wenn ein Benutzer des entfernten Terminals eine Transaktion durchführen will. Der Benutzer wird üblicherweise seine oder ihre Kreditkarte in das Terminal einführen und gleichzeitig eine persönliche Identifikationsnummer (PIN) oder Geheimnummer eingeben, um die Transaktion zu beginnen. Die Kreditkarte weist üblicherweise einen Magnetstreifen auf, der an ihrer Rückseite befestigt ist und auf dem die Hauptkontonummer (PAN) des Benutzers gespeichert ist oder alternativ eine Benutzerseriennummer (USN) gespeichert ist, welche Informationen erhält, mit der das Hostterminal auf die Geheimnummer des Benutzers wirken kann, um die Transaktion zuzulassen, welche der Benutzer durchführen möchte.
- Nachdem die Daten bei 30 von einem Benutzer eingegeben worden sind, erzeugt das Terminal 10 einen PIN-Block 32 über eine vorbestimmte Folge von Schritten, welche üblicherweise die Geheimnummer (PIN) mit der PAN oder der USN kombiniert. Jede der üblichen Verfahren zum Erzeugen dieses PIN-Blocks, das im Stand der Technik anerkannt ist, kann hierfür verwendet werden. Zwei gut bekannte Verfahren sind beispielsweise die Verkettung und die Exklusiv-ODER-Verknüpfung der Geheimnummer und der PAN/USN, um den PIN-Block zu bilden. Das Terminal 10 erzeugt dann einen variablen Verschlüsselungsschlüssel, KPE&sub0;, bei 31. Bei dem bevorzugten Verfahren kann eine beliebige Anzahl von variablen Anfangsschlüsseln erzeugt werden, welche zum Codieren der Datenübertragung verwendet werden, die zum Durchführen spezieller Transaktionen eingesetzt werden. Solche variablen Schlüssel umfassen einen anfänglichen PIN-Verschlüsselungsschlüssel (KPE&sub0;) zur Verwendung bei der Verschlüsselung einer Geheimzahl (PIN) eines Benutzer des Terminals, einen Schlüssel-Verschlüsselungsschlüssel (KEK&sub0;), der zum Entschlüssein eines späteren von dem Host erzeugten dynamischen Schlüssel verwendet wird, und einen Nachrichtenschlüssel (KMSG&sub0;), der zum Verschlüsseln anderer Datenübertragungen zwischen dem Terminal und dem Host verwendet wird. Wie vollständiger mit Bezug auf Fig. 5 beschrieben sein wird, werden die variablen Nummern, welche bei der Anfangsinstallationsfolge 11 von Fig. 1 eingegeben werden, dazu verwendet, diese variablen Schlüssel zu erzeugen, und sie müssen lediglich zwischen dem Host und einem speziellen Terminal Ti äquivalent sein. Eine solche Konfiguration würde erfordern, daß einzelne Gruppen von variablen Nummern für jedes Terminal 10 in dem Netzwerk in dem Host 20 gespeichert werden, wodurch ein großer Speicher in dem Host erforderlich würde. Ein Vorteil dieser Konfiguration ist, daß sie eine größere Sicherheit bei der Datenübertragung schaffen würde. Alternativ wird bei einer zweiten Konfiguration in Betracht gezogen, eine gemeinsame Gruppe von variablen Nummern für alle Terminals 10 vorzusehen, wodurch nur eine Gruppe von variablen Nummern in dem Host 20 gespeichert werden muß.
- Der PIN-Block wird dann mit dem anfänglichen PIN-Verschlüsselungsschlüssel (KPE&sub0;) verschlüsselt, der wie oben erläutert erzeugt wurde. Der Fachmann auf diesem Gebiet wird dabei erkennen, daß jeder Schlüssel dazu verwendet werden kann, in diesem Stadium den PIN-Block zu verschlüsseln, einschließlich dem dynamischen Anfangsschlüssel KDT&sub0;. Bei dem bevorzugten Verfahren dieser Erfindung wird jedoch der variable KPE&sub0; dazu verwendet, zusätzliche Sicherheit für die Übertragung der Geheimnummer des Benutzers zu dem Host vorzusehen. Wenn einmal bei 34 die Verschlüsselung des PIN-Blocks abgeschlossen ist, werden die Daten, welche durch das Kryptogramm EKPE(0) [PB] dargestellt werden, bei 36 zu dem Host 20 übertragen.
- Der Host 20 befindet sich dann in einem Zustand, in dem er eine Transaktionsanforderung von dem anfordernden Terminal (RTi) bei 33 erwartet. Der Host 20 muß dann den speziellen KDT&sub0; ermitteln, der an das Terminal 10 ausgegeben werden soll.
- Zwei Alternativen zum Ermitteln von KPE&sub0; durch den Host 20 werden in dieser Erfindung betrachtet. Bei einer Alternative kann das Hostsystem den momentanen dynamischen Schlüssel für jedes Terminal Ti in dem Netzwerk in einem nicht-flüchtigen Speicher speichern. Bei Empfang des verschlüsselten PIN-Blocks bei 33 von dem Terminal 10 kann der Host den momentanen dynamischen Schlüssel für das Terminal 10, welches bei 35 eine Transaktion anfordert (RT), aus dem Speicher abrufen und zum Erzeugen von KPE&sub0; bei 37 oder anderer Variablen, je nach Bedarf, verwenden. Bei diesem Verfahren wäre für jeden speziellen dynamischen Schlüssel, der erzeugt und an jedes Terminal Ti in dem Netzwerk ausgegeben wird, eine eindeutige Speicherregisteradresse in dem Host erforderlich. Bei einer zweiten Alternative wird die Verwendung der momentanen Eingangsdaten (TIN//SEQ-Nummer) von dem Terminal Ti, welches eine Transaktion anfordert (RT), in Betracht gezogen, um erneut den speziellen KDT&sub0; bei 35 zu erzeugen, der zuvor an das Terminal 10 ausgegeben wurde. Wenn der Host 20 einmal den KDT&sub0; auf diese Weise ermittelt hat, kann er danach den KPE&sub0; bei 37 und andere variable Schlüssel nach Bedarf erzeugen. Der Host verwendet dann den KPE&sub0; zum Entschlüssein des PIN-Blocks beim Schritt 38.
- Wenn der PIN-Block einmal entschlüsselt wurde, verarbeitet der Host dann den PIN-Block bei 40, um zu ermitteln, ob die eingegebene Geheimnummer (PIN) und die PAN/USN übereinstimmen, wodurch angezeigt wird, daß die vom Kunden angeforderte Transaktion genehmigt werden sollte. Das Verfahren, mit dem das Hostsystem die jeweilige Transaktion überprüft, besteht üblicherweise aus einem Vergleich der eingegebenen Geheimnummer, oder einer Variation dieser in Form des PIN-Blocks, mit der PAN des Kunden oder mit einer PIN-Überprüfungsnummer, die entweder in dem Host 20 gespeichert oder als ein Teil des PIN- Block codiert und übertragen wird. Diese Überprüfungsverfahren sind im Stand der Technik allgemein bekannt. Wenn der Host 20 ermittelt, daß die Geheimnummer und die PAN/USN nicht übereinstimmen, kann der Host ein Signal übertragen, das dem Terminal anzeigt, die Transaktion abzulehnen, bei 42. Wenn der Host 20 ermittelt, daß die Geheimnummer und die PAN/USN übereinstimmen, kann der Host bei 54 seine Zustimmung an das Terminal 10 übermitteln (abhängig davon, ob ein neuer dynamischer Schlüssel gemäß der Ermittlung durch den Host bei dem Schritt 48 erforderlich ist), wodurch dem Terminal 10 erlaubt wird, die Transaktion zu verarbeiten, bei 46. Wenn das Zulassen der Transaktion übertragen wird, 44, kann ein variabler Schlüssel, wie der KMSG&sub0;, dazu verwendet werden, die zwischen dem Host 20 und dem Terminal 10 gesendeten Daten zu verschlüsseln.
- Nach Beendigung des Transaktionsvorgangs durch den Host 20 ermittelt der Host dann, ob ein neuer dynamischer Schlüssel erzeugt werden soll, bei 48. Gemäß dem bevorzugten Verfahren wird die Genehmigung der Transaktion zu dem Terminal gesendet, wenn der Host ermittelt, daß kein neuer KDT erforderlich ist. Der Fachmann auf diesem Gebiet wird erkennen, daß erfindungsgemäß vorgesehen sein kann, beim Schritt 48 einen neuen KDT zu erzeugen, wenn die Transaktion beim Schritt 40 von dem Host nicht zugelassen wird, obwohl Fig. 2 zeigt, daß der Host beim Schritt 40 eine spezielle Transaktion zuläßt, bevor er zum Schritt 48 weitergeht und einen neuen KDT erzeugt.
- Das Erzeugen eines neuen dynamischen Schlüssels durch den Host kann so programmiert werden, daß es wahlweise bei einer beliebigen Anzahl von regelmäßigen oder unregelmäßigen Intervallen vorgenommen wird. Der Host könnte beispielsweise so programmiert werden, daß er einen neuen dynamischen Schlüssel für jede Transaktion erzeugt und somit die Werte für alle Variablen KPE, KEK und KMSG bei jeder Transaktionsanforderung durch ein Terninal 10 verändert. Alternativ könnte die Erzeugung eines dynamischen Schlüssels bei jeder 10-ten Transaktion, bei jeder 100-ten Transaktion oder täglich oder monatlich vorgenomnen werden. Wenn der Host ermittelt, daß nach einer bestimmten Transaktion kein neuer dynamischer Schlüssel erzeugt werden muß, geht der Host bei 49 zum Schritt 33 zurück und wartet auf die nächste Übertragung einer Transaktionsanforderung von dem Terminal 10.
- Wenn der Host ermittelt, daß ein neuer dynamischer Schlüssel benötigt wird, erzeugt der Host 20 einen neuen dynamischen Schlüssel KDT&sub1; bei 50 unter Verwendung der Information, die von dem Terminal 10 zu dem Host übertragen wird, welches diese spezielle Transaktion des Benutzers angefragt hat. Wie mit Bezug auf Fig. 4 beschrieben, umfaßt das bevorzugte Verfahren zum Erzeugen eines neuen dynamischen Schlüssels die Verwendung der TIN und einer Folgenummer, welche von einem speziellen Terminal übertragen wurde, sowie einen irreversiblen Entschlüsselungs/Verschlüsselungs-Algorithmus, um einen eindeutigen dynamischen Schlüssel für das spezielle Terminal Ti zu erzeugen.
- Wenn der Host 20 einmal den KDT&sub1; erzeugt hat, ermittelt der Host dann den KEK&sub0; bei 51 unter Verwendung des KDT&sub0;. Der KEK&sub0; ist ein variabler Verschlüsselungsschlüssel, der zum Verschlüsseln von KDT&sub1; verwendet wird, bevor dieser zu dem Terminal 10 übertragen wird. Der KDT&sub0; kann von dem Hostrechner auf die oben beschriebene Weise ermittelt werden. Wenn er einmal verschlüsselt ist, wird der KDT&sub1; zum dem Terminal 10 bei 54 in der Form von EKEK(0) [KDT&sub1;] zusammen mit der Genehmigung der Transaktion übertragen.
- Wenn dieser verschlüsselte KDT&sub1; von dem Terminal 10 empfangen wurde, bei 53, ermittelt das Terminal zunächst, ob der Host 20 einen neuen dynamischen Schlüssel übertragen hat. Wenn kein neuer KDT übertragen wurde, kann das Terminal mit der Verarbeitung der Transaktion 46 weitermachen. Wenn ein neuer KDT übertragen wurde, muß das Terminal den KEK&sub0; unter Verwendung des gespeicherten Wertes von KDT&sub0; erzeugen, bei 55. Der KEK&sub0; wird dann zum Entschlüsseln des neuen dynamischen Schlüssels KDT&sub1; verwendet, bei 56. Der KDT&sub1; wird dann im Schritt 58 in dem Terminal 10 anstelle des KDT&sub0; gespeichert. Sobald der KDT&sub1; gespeichert ist, kann das Terminal 10 ihn für nachfolgende Transaktionen verwenden, um neue Variablen KED&sub1;, KPE&sub1; und KMSG&sub1; zu erzeugen. Nach dem Speichern des KDT fährt das Terminal bei der bevorzugten Ausführungsform mit der Verarbeitung der Transaktion fort, bei 46.
- Fig. 3 ist ein Flußdiagramm, welches eine nachfolgende Transaktion (n) darstellt, bei der ein neuer dynamischer Schlüssel unter Verwendung der Dateninformation erzeugt werden kann, welche von einem Terminal zu dem Host unter Verwendung des momentanen dynamischen Schlüssels KDTn übertragen wurde. In Fig. 3 ist der momentane dynamische Schlüssel als KDTn definiert, wobei n eine ganze Zahl ist, welche die Nummer des dynamischen Schlüssels definiert, der zuvor von dem Hostrechner für dieses spezielle Terminal 10 erzeugt wurde. n + 1 bezeichnet somit den nächsten dynamischen Schlüssel, der von dem Hostrechner erzeugt werden soll (z.B. für KDT&sub0;, KDTn + 1 = KDT&sub1;; für KDT&sub1;, KDTn + 1 = KDT&sub2;; ...). Zur besseren Übersichtlichkeit sind die Schritte, welche gleich denen von Fig. 2 sind, mit entsprechenden Bezugszeichen bezeichnet.
- Wie bei der mit Bezug auf Fig. 2 beschriebenen Anfangstransaktion gibt der Benutzer oder die Benutzerin seine oder ihre Kreditkarte und Geheimzahl ein, bei 30, um dem Terminal 10 die Information zu liefern, welche es zum Erzeugen des PIN-Blocks 32 benötigt. Das Terminal 10 erzeugt dann den KPEn aus dem gespeicherten dynamischen Schlüssel KDTn, wobei KDTn der letzte dynamische Schlüssel war, der von dem Hostrechner übertragen wurde. Der PIN-Block wird dann unter Verwendung des KPEn verschlüsselt, bei 64. Diese Information wird zu dem Host 20 übertragen, bei 66.
- Der Host 20 empfängt die Daten, bei 33, und ermittelt dann den KDTn, bei 65, auf eine der beiden alternativen Weisen, welche oben mit Bezug auf Fig. 2 beschrieben wurden. Der Host verwendet dann den KDTn zum Erzeugen des KPEn, bei 67, der zum Verschlüsseln der Daten, welche von dem Terminal 10 empfangen wurden, bei 68, verwendet wird. Sobald der Host den entschlüsselten PIN-Block hat, bei 68, führt der Host alle notwendigen Schritte durch, bei 40, um zu ermitteln, ob die Transaktion des Kunden zugelassen werden soll oder nicht, wie oben mit Bezug auf Fig. 2 beschrieben wurde. Wenn er die Transaktion nicht zuläßt, sendet der Host 20 ein Signal zum Terminal 10, mit dem er die Transaktion versagt, bei 42. Wenn der Host die Transaktion zuläßt, entscheidet der Host anschließend, bei 48, ob ein neuer dynamischer Schlüssel erforderlich ist. Wenn nicht, geht der Host, bei 49, zum Schritt 33 zurück und wartet auf die nächste Übertragung von Transaktionsdaten von einem Terminal 10 und sendet seine Zustimmung, bei 74, zu dem Terminal 10, wodurch dem Terminal 10 erlaubt wird, die Transaktion beim Schritt 46 abzuwickeln.
- Wie bei der Anfangstransaktion, welche oben mit Bezug auf Fig. 2 beschrieben wurde, kann ein neuer dynamischer Schlüssel KDTn beim Schritt 48 erzeugt werden, selbst wenn die Transaktion im Schritt 40 abgelehnt wurde. Ferner kann der Host seine Zustimmung 74 übertragen, so daß das Terminal 10 die Transaktion abwickeln kann, bevor er ermittelt, ob ein neuer dynamischer Schlüssel benötigt wird, beim Schritt 48. Wenn ein neuer dynamischer Schlüssel benötigt wird, erzeugt der Host den KDTn + 1 bei 70. Sobald KDTn + 1 erzeugt ist, erzeugt der Host KEKn, bei 71, unter Verwendung des KDTn auf die oben beschriebene Weise. Der Host verschlüsselt dann den KDTn + 1 mit dem KEKn bei 72. Sobald dieser verschlüsselt ist, überträgt der Host den verschlüsselten KDTn + 1, bei 74, zu dem Terminal 10 in der durch das Kryptogramm EKEKn[KDTn + 1] dargestellten Form.
- Bei Empfang durch das Terminal 10, ermittelt das Terminal dann, ob ein neuer KDT erzeugt worden ist, bei 53. Wenn ja, bei 75, erzeugt das Terminal den KEKn unter Verwendung des gespeicherten Wertes von KDTn. KEKn wird dann zum Entschlüsseln des KDTn + 1 verwendet, bei 76. Wenn KDTn + 1 von dem Terminal 10 entschlüsselt wurde, kann das Terminal den KDTn + 1 bei 78 speichern und danach neue variable Schlüssel KEKn + 1, KPEn + 1 und KMSGn + 1 erzeugen, welche je nach Bedarf von den nachfolgenden Transaktions-Übermittlungen von und zu dem Host 20 gebraucht werden. Schließlich wird die Transaktion bei 46 abgewickelt.
- Fig. 4 ist ein schematisches Diagramm, das zeigt, wie ein dynamischer Schlüssel KDTn aus der Information erzeugt wird, welche von einem Terminal 10 zu dem Host 20 übertragen wird. Fig. 4 zeigt eine binäre Datenkette von 64 Bit, bei 80, welche in Folge 8 Bit zur Darstellung von FF hex, 32 Bits zur Darstellung der Terminalidentifikationsnummer (TIN) und 24 Bit zur Darstellung der Folgenummer umfaßt. Die TIN gemäß der bevorzugten Ausführungsform besteht aus einer Kundennummer, welche den speziellen Besitzer oder die Bedienungsperson des Host/- Terminal-Netzwerkes identifiziert und einer speziellen Terminalklassifikationsnummer, welche für das Terminal in dem Netzwerk eindeutig ist. Der Fachmann auf diesem Gebiet wird erkennen, daß auch jede andere Zusammensetzung der TIN im Bereich dieser Erfindung liegt. Die Folgenummer aus 24 Bits der bevorzugten Ausführungsform besteht im allgemeinen aus der Transaktionsnummer XSN für das Terminal, es könnte jedoch auch eine andere Art der Identifikation aufeinander folgender Transaktionen anstelle der bei der bevorzugten Ausführungsform verwendeten XSN eingesetzt werden. Die 8 Bits für FF hex, welche am Anfang der Datenkette stehen, sind bei der bevorzugten Ausführungsform vorgesehen, damit die Datenkette insgesamt 64 Bit umfaßt. Der Fachmann auf diesem Gebiet erkennt jedoch, daß diese Zahl weggelassen werden kann, ohne den Bereich der Erfindung zu verändern. Ferner erkennt der Fachmann auf diesem Gebiet, daß eine Datenkette von 64 Bit kein wesentlicher Bestandteil der Lösung der Aufgabe der Erfindung ist.
- Die Daten, bei 80, werden zunächst bei 82 mit einem ersten Keimschlüssel, SEED.l verschlüsselt. Das Ergebnis aus dieser ersten Verschlüsselung wird dann, bei 84, mit den Anfangsdaten, bei 80, exklusiv-ODER-verknüpft. Das Ergebnis dieser Exklusiv-ODER-Verknüpfung wird dann, bei 86, unter Verwendung eines zweiten Keimschlüssels, SEED.r, entschlüsselt. Das Ergebnis dieser Entschlüsselung wird dann, bei 88, mit dem Ergebnis der Exklusiv-ODER-Verknüpfung bei 84 exklusiv-ODER-verknüpft. Das Produkt dieser Exklusiv-ODER-Verknüpfung bei 88 wird dann wiederum bei 90 mit dem ersten Keimschlüssel SEED.l verschlüsselt. Das Produkt der Verschlüsselung 90 wird dann wiederum bei 92 mit dem Ergebnis der Exklusiv-ODER-Verknüpfung bei 88 exklusiv-ODER-verknüpft. Das Produkt dieser Exklusiv- ODER-Verknüpfung 92 ist der dynamische Schlüssel.
- Der Fachmann auf diesem Gebiet wird erkennen, daß das spezielle mit Bezug auf Fig. 4 beschriebene Verfahren nur ein Weg zum Erzeugen des dynamischen Schlüssels KDTn ist. Der Bereich dieser Erfindung umfaßt dabei jeden irreversiblen Verschlüsselungsalgorithmus, der auf die Daten angewendet werden könnte, um einen eindeutigen dynamischen Schlüssel zur Verwendung in dem oben beschriebenen Verschlüsselungssystem zu erzeugen.
- Fig. 5 ist eine schematische Darstellung, welche die Erzeugung der variablen Schlüssel KPEn + 1, KEKn + 1 und KMSGn + 1 nach der Erzeugung eines neuen dynamischen Schlüssels KDTn + 1 zeigt. Bei der bevorzugten Ausführungsform dieser Erfindung werden vier der ersten 8 Bits der 64 Bit langen Datenkette, die den KDTn + 1 umfaßt, mit einer eindeutigen 4 Bit langen variablen Nummer exklusiv-ODER-verknüpft um eine der Variablen KPEn + 1, KEKn + 1 oder KMSGn + 1 zu erzeugen. Abweichend hiervon könnten die Variablen eine beliebige Anzahl von Bits umfassen, die alle mit dem 8-Bit-Abschnitt des KDTn + 1 verbunden werden können. Die 4 Bit langen variablen Nummern, die bei der bevorzugten Ausführungsform zum Erzeugen von jeweils KPE, KEK oder KMSG verwendet werden, können auch für alle KPE, KEK und KMSG, in allen Terminals, die gleichen sein, oder sie können für jedes Terminal in dem System unterschiedlich definiert sein, wie oben mit Bezug auf Fig. 2 erläutert wurde.
- In Fig. 5 ist der 64 Bit lange dynamische Schlüssel KDTn + 1 bei 90' gezeigt. Um den KPEn + 1, zu bilden, werden vier der ersten 8 Bits in dem 64 Bit langen Datenstring, der den KDTn + 1 umfaßt, bei 92' mit der 4 Bit langen variablen Nummer KPE bei 93 exklusiv-ODER-verknüpft. Das Ergebnis dieser Exklusiv-ODER- Verknüpfung bei 92' ist der KPEn + 1, der bei 100 gezeigt ist. Obwohl diese Figur das zweite bis fünfte Bit des KPEn + 1 als Bits darstellt, welche durch die Exklusiv-ODER-Verknüpfung im Schritt 92' verändert wurden, liegt es innerhalb dem Bereich dieser Erfindung, auch jede andere Kombination der ersten 8 Bits des KDTn + 1 oder eine Kombination aus 8-Bit-Abschnitten des Schlüssels bei 90' zu variieren, um einen variablen Schlüssel KPEn + 1 zu erzeugen.
- Ähnlich werden die variable Nummer KEK bei 95 und die variable Nummer KMSG bei 97 mit dem KDTn + 1 bei 94 bzw. 96 exklusiv- ODER-verknüpft, um KEKn + 1', der bei 101 gezeigt ist, und KMSGn + 1', der bei 102 gezeigt ist, zu erzeugen. Wiederum liegt es im Bereich der Erfindung, auch beliebige andere vier der ersten 8 Bits des KDTn + 1 oder eine Kombination aus 8-Bit-Abschnitten des Schlüssels bei 90 mit den 4 Bit langen variablen Nummern, bei 95 für KEK und bei 97 für KMSG, exklusiv-ODER-zu verknüpfen, um den KEKn + 1 und den KMSGn + 1 zu erzeugen.
- Obwohl hier bevorzugte Ausführungsformen des Verfahrens gemäß der vorliegenden Erfindung gezeigt und beschrieben wurden, können sich Alternativen und Äquivalente des Verfahrens für den Fachmann auf diesem Gebiet ergeben, und der Bereich der vorliegenden Erfindung soll nur durch die folgenden Ansprüche bestimmt werden.
Claims (21)
1. Verfahren zum Verschlüsseln von Daten für eine 0n-Line-
Datenübertragung zwischen einem Hostrechner (20) und
jedem von mehreren entfernten Terminals (10), wobei ein
eindeutiger dynamischer Schlüssel (KDT) periodisch für
jedes Terminal erzeugt wird, wozu ein
System-Keimschlüssei (SEED.L, SEED.R) verwendet wird, der nur in dem
Hostrechner vorhanden ist, wobei der dynamische Schlüssel für
das Terminal zum Verschlüsseln von Daten, welche zu dem
Hostrechner übertragen werden, und zum Entschlüsseln von
Daten, welche von dem Hostrechner empfangen werden,
nutzbar ist, wobei jedes Terminal ferner eine Vorrichtung zum
Speichern eines zuvor erzeugten dynamischen Schlüssels
für dieses Terminal aufweist, mit den folgenden
Verfahrensschritten:
a) Empfangen (33) einer Anforderung eines neuen
dynamischen Schlüssels von einem der Terminals bei dem
Hostrechner, wobei die Anforderung des neuen
dynamischen Schlüssels einen vorgegebenen
Terminalidentifikator (TIN) für dieses Terminal aufweist,
b) Bestimmen (35) des zuvor für dieses Terminal von dem
Host erzeugten dynamischen Schlüssels (KDT&sub0;) in dem
Hostrechner, wobei der zuvor von dem Host erzeugte
dynamische Schlüssel momentan in dem Terminal
gespeichert ist,
c) Erzeugen (50) eines neuen dynamischen Schlüssels
(KDT&sub1;) für das Terminal als eine Funktion des
Keimschlüssels und des vorgegebenen
Terminalidentifikators für das Terminal in dem Hostrechner,
d) Verschlüsseln (52) des neuen dynamischen Schlüssels
(KDT&sub1;) in dem Hostrechner unter Verwendung des zuvor
von dem Hostrechner erzeugten dynamischen
Schlüssels,
e) Übertragen (54) des verschlüsselten neuen
dynamischen Schlüssels von dem Hostrechner zu dem
Terminal,
f) Entschlüsseln (56) des neuen dynamischen Schlüssels
(KDT&sub1;) in dem Terminal unter Verwendung des
dynamischen Schlüssels (KDT&sub0;), der zuvor von dem Host
erzeugt wurde und momentan in dem Terminal gespeichert
ist.
2. Verfahren nach Anspruch 1, gekennzeichnet
durch die Verfahrensschritte:
g) Verschlüsseln (34) von Daten in dem Terminal unter
Verwendung des neuen dynamischen Schlüssels und
Übertragen der verschlüsselten Daten zu dem Host,
h) Entschlüsseln (38) der verschlüsselten Daten in dem
Host unter Verwendung des neuen dynamischen
Schlüssels und
i) Speichern (58) des neuen dynamischen Schlüssels in
dem Terminal anstelle des zuvor von dem Host
erzeugten dynamischen Schlüssels.
3. Verfahren nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß in dem Hostrechner und dem Terminal
eine Vielzahl von
Transaktionsdaten-Verschlüsselungsschlüsseln (KPE, KEK, KMSG) erzeugt wird, welche eine
Vielzahl von Varianten verwenden, daß die Vielzahl von
Varianten für das Hostsystem und das Terminal gleich ist,
und daß die Vielzahl von Varianten die Vielzahl von
Transaktionsdaten-Verschlüsselungsschlüsseln als eine
Funktion des neuen dynamischen Schlüssels (KDT&sub1;) erzeugt.
4. Verfahren nach Anspruch 2 oder 3, dadurch
gekennzeichnet, daß die Schritte a) bis i) für jede
Transaktion wiederholt werden.
5. Verfahren nach Anspruch 3 oder 4, dadurch
gekennzeichnet, daß die Schritte a) bis i) wahlweise in
vorgegebenen Intervalen wiederholt werden.
6. Verfahren nach einem der Ansprüche 3 bis 5, dadurch
gekennzeichnet, daß einer der mehreren
Transaktions-Verschlüsselungsschlüssel (KPE) zum
Verschlüsseln der Daten in dem Terminal verwendet wird.
7. Verfahren nach einem der vorangehenden Ansprüche, dadurch
gekennzeichnet, daß die Anforderung des
neuen dynamischen Schlüssels eine Transaktionsnummer
(XSN) für das Terminal umfaßt.
8. Verfahren nach Anspruch 7, dadurch
gekennzeichnet, daß der neue dynamische Schlüssel (KDT&sub1;)
von dem Host als eine Funktion des Keimschlüssels
(SEED.L, SEED.R) und des vorgegebenen
Terminalidentifikators (TIN) für das Terminal und der Transaktionsnummer
(XSN) für das Terminal erzeugt wird.
9. Verfahren nach einem der vorangehenden Ansprüche, dadurch
gekennzeichnet, daß der Hostrechner und die
mehreren Terminals ein Kartenaktivierungs- und
PIN-Auswahlsystem umfassen.
10. Verfahren nach einem der vorangehenden Ansprüche, dadurch
gekennzeichnet, daß der Hostrechner und die
mehreren Terminals ein System für die elektronische
Übertragung von Fonds umfassen, das
Verkaufspunkt-Terminals aufweist.
11. Verfahren nach einem der vorangehenden Ansprüche, dadurch
gekennzeichnet, daß der Hostrechner und die
mehreren Terminals ein automatisiertes
Bankterminal-Netzwerk umfassen.
12. Verfahren nach einem der vorangehenden Ansprüche, dadurch
gekennzeichnet, daß der dynamische
Schlüssel (KDT) aus einer Dateneingabe-Zeichenfolge von 64 Bit
besteht.
13. Verfahren nach einem der vorangehenden Ansprüche, dadurch
gekennzeichnet, daß ein oder mehrere
zusätzliche Keimschlüssel (SEED.L, SEED.R) zum Erzeugen des
neuen dynamischen Schlüssels vorgesehen werden.
14. Verfahren nach Anspruch 13, dadurch
gekennzeichnet, daß jeder der Keimschlüssel über eine
Eingabevorrichtung des Hostrechners wahlweise veränderbar
ist.
15. Verfahren nach Anspruch 3, dadurch
gekennzeichnet, daß die zwischen dem Hostrechner und
dem einen der mehreren Terminals übertragenen
Transaktionsdaten mit den
Transaktionsdaten-Verschlüsselungsschlüsseln (KPE, KEK, KMSG) verschlüsselt werden.
16. Verfahren nach Anspruch 15, dadurch
gekennzeichnet, daß die
Transaktionsdaten-Verschlüsselungsschlüssel mindestens einen
Schlüssel-Verschlüsselungsschlüssel (KEK) und einen
PIN-Verschlüsselungsschlüssel
(KPE) umfassen.
17. Verfahren nach Anspruch 16, dadurch
gekennzeichnet, daß die Mittel zum Erzeugen der
Varianten (90', 92', 93-97', 100-102) mehrere Variantennummern
(93, 95, 97) umfassen, wobei jede der mehreren
Variantennummern einem der mehreren
Transaktionsdaten-Verschlüsselungsschlüsseln (KPE, KEK, KMSG) entsprechen.
18. Verfahren nach Anspruch 17, dadurch
gekennzeichnet, daß die Mittel zum Erzeugen der
Varianten Mittel (92', 94, 96) zur exklusiven Oder-Verknüpfung
jeder der mehreren Variantennummern (93, 95, 97) mit dem
ersten dynamischen Schlüssel aufweisen, wodurch jeder der
entsprechenden Vielzahl von Transaktionsdaten-Schlüsseln
gebildet wird.
19. Verfahren nach Anspruch 18, dadurch
gekennzeichnet, daß die Variantennummern (93, 95, 97)
aus einer Dateneingabe von 4 Bit bestehen, und daß die
Mittel (92', 94, 96) zur exklusiven Oder-Verknüpfung der
Variantennummern mit dem ersten dynamischen Schlüssel
diese Eingabe von 4 Bit mit 4 Bit exklusiv
Oder-verknüpft, welche unter den ersten 8 Bit der
Eingabezeichenfoige des dynamischen Schlüssels auswählt
werden.
20. Verfahren zur Sicherstellung der On-Line-Übertragung von
Daten zwischen einem Hostrechner (20) und einem von
mehreren entfernten Terminals (10), insbesondere gemäß einem
der vorangehenden Ansprüche, wobei ein eindeutiger
Verschlüsselungsschlüssel (E) für jede Übertragung der Daten
zwischen dem Hostrechner und dem einen der mehreren
Terminals verwendet wird, der eindeutige
Verschlüsselungsschlüssel als eine Funktion eines eindeutigen dynamischen
Schlüssels (KDT) abgeleitet wird, der unter Verwendung
eines System-Keimschlüssels (SEED.L, SEED.R) erzeugt
wurdem welcher nur in dem Hostrechner vorhanden ist, wobei
mehrere eindeutige dynamische Schlüssel als eine Funktion
dieses Keimschlüssels erzeugt werden können, und wobei N
eine endliche ganze Zahl ist, die größer oder gleich 1
ist und die Anzahl der eindeutigen dynamischen Schlüssel
definiert, die als eine Funktion des Keimschlüssels
erzeugt werden, und wobei das Erzeugen dieses eindeutigen
dynamischen Schlüssels programmierbar ist, so daß es zu
vorausgewählten Intervalen auftritt, mit den folgenden
Verfahrensschritten:
a) Erzeugen (67) eines n-ten dynamischen Schlüssels
(KDTn) für einen der mehreren Terminals in dem
Hostrechner, wobei der n-te dynamische Schlüssel eine
Funktion des Keimschlüssels und eines vorgegebenen
Terminalidentifikators (TIN) für den einen der
mehreren Terminals ist,
b) Verschlüsseln (72) des n-ten dynamischen Schlüssels
in dem Hostrechner unter Verwendung des (n-1)ten
dynamischen Schlüssels (KDTn-1), wobei der (n-1)te
dynamische Schlüssel in dem einen der mehreren
Terminals gespeichert wird,
c) Übertragen (74) des verschlüsselten n-ten
dynamischen Schlüssels von dem Hostrechner zu dem
einen der mehreren Terminals,
d) Entschlüsseln (76) des n-ten dynamischen Schlüssels
in dem Terminal unter Verwendung des (n-1)ten
dynamischen Schlüssels, der in diesem einen der mehreren
Terminals gespeichert ist,
e) Verschlüsseln (64) von Daten in dem einen der
mehreren Terminals unter Verwendung des n-ten dynamischen
Schlüssels und Übertragen (66) der verschlüsselten
Daten zu dem Host,
f) Entschlüsseln (68) der verschlüsselten Daten in dem
Rost unter Verwendung des n-ten dynamischen
Schlüssels.
21. Verfahren zum Verschlüsseln von Daten für eine On-Line-
Datenübertragung zwischen einem Hostrechner (20) und
jedem von mehreren entfernten Terminals (10), wobei ein
eindeutiger dynamischer Schlüssel (KDT) periodisch für
jedes Terminal erzeugt wird, wozu ein
System-Keimschlüssel (SEED.L, SEED.R) verwendet wird, der nur in dem
Hostrechner vorhanden ist, wobei der dynamische Schlüssel für
das Terminal zum Verschlüsseln von Daten, welche zu dem
Hostrechner übertragen werden, und zum Entschlüsseln von
Daten, welche von dem Hostrechner empfangen werden,
nutzbar ist, wobei jedes Terminal ferner eine Vorrichtung zum
Speichern eines zuvor erzeugten dynamischen Schlüssels
für dieses Terminal aufweist, mit den folgenden
Verfahrensschritten:
a) Senden (36) einer Anforderung eines neuen
dynamischen Schlüssels zu dem Hostrechner, wobei die
Anforderung des neuen dynamischen Schlüssels
mindestens eine Terminal-Identifikationsnummer (TIN) für
dieses Terminal und eine Terminal-Transaktionsnummer
(XSN) für dieses Terminal umfaßt,
b) Empfangen (55) eines verschlüsselten neuen
dynamischen Schlüssels von dem Hostrechner, wobei der neue
dynamische Schlüssel (KDT&sub1;) als eine Funktion der
Anforderung des neuen dynamischen Schlüssels erzeugt
wird, und wobei der neue dynamische Schlüssel von
dem Host mit einem vorher erzeugten dynamischen
Schlüssel verschlüsselt wird,
c) Entschlüsseln (56) des neuen dynamischen Schlüssels
in dem Terminal unter Verwendung des zuvor von dem
Host erzeugten dynamischen schlüssels, der momentan
in dem Terminal gespeichert ist,
d) Verschlüsseln (34) von Daten in dem Terminal unter
Verwendung des neuen dynamischen Schlüssels und
Übertragen (34) der verschlüsselten Daten zu dem
Host,
e) Entschlüsseln (38) der verschlüsselten Daten in dem
Host unter Verwendung des neuen dynamischen
Schlüssels und
f) Speichern (58) des neuen dynamischen Schlüssels in
dem Terminal anstelle des zuvor von dem Host
erzeugten dynamischen Schlüssels.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/323,485 US4933971A (en) | 1989-03-14 | 1989-03-14 | Method for encrypting transmitted data using a unique key |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69022610D1 DE69022610D1 (de) | 1995-11-02 |
DE69022610T2 true DE69022610T2 (de) | 1996-05-02 |
Family
ID=23259404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69022610T Expired - Fee Related DE69022610T2 (de) | 1989-03-14 | 1990-02-27 | Verfahren zum Chiffrieren von übertragenen Daten, das einen Einheitsschlüssel anwendet. |
Country Status (6)
Country | Link |
---|---|
US (1) | US4933971A (de) |
EP (1) | EP0387599B1 (de) |
JP (1) | JPH0334641A (de) |
AU (1) | AU617598B2 (de) |
CA (1) | CA2010450C (de) |
DE (1) | DE69022610T2 (de) |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485370A (en) | 1988-05-05 | 1996-01-16 | Transaction Technology, Inc. | Home services delivery system with intelligent terminal emulator |
US5572572A (en) | 1988-05-05 | 1996-11-05 | Transaction Technology, Inc. | Computer and telephone apparatus with user friendly interface and enhanced integrity features |
CA2011396C (en) * | 1989-03-03 | 1995-01-03 | Kazue Tanaka | Cipher-key distribution system |
KR920701894A (ko) * | 1989-04-28 | 1992-08-12 | 브루스 마르쿠스 | 컴퓨터 소프트웨어의 원격 제어 장치 및 그 보호 방법 |
CA2053261A1 (en) * | 1989-04-28 | 1990-10-29 | Gary D. Hornbuckle | Method and apparatus for remotely controlling and monitoring the use of computer software |
US5870724A (en) | 1989-12-08 | 1999-02-09 | Online Resources & Communications Corporation | Targeting advertising in a home retail banking delivery service |
JP3114991B2 (ja) * | 1990-11-30 | 2000-12-04 | 株式会社東芝 | データ通信システム |
US5146498A (en) * | 1991-01-10 | 1992-09-08 | Motorola, Inc. | Remote key manipulations for over-the-air re-keying |
JP3310989B2 (ja) * | 1991-02-08 | 2002-08-05 | 株式会社東芝 | データ通信方式 |
JP2901767B2 (ja) * | 1991-02-08 | 1999-06-07 | 株式会社東芝 | 暗号通信システム及び携帯可能電子装置 |
US5228084A (en) * | 1991-02-28 | 1993-07-13 | Gilbarco, Inc. | Security apparatus and system for retail environments |
JP2881628B2 (ja) * | 1991-05-27 | 1999-04-12 | 富士通株式会社 | 排他制御システムおよび端末装置 |
NL9101796A (nl) * | 1991-10-25 | 1993-05-17 | Nederland Ptt | Werkwijze voor het authenticeren van communicatiedeelnemers, systeem voor toepassing van de werkwijze en eerste communicatiedeelnemer en tweede communicatiedeelnemer voor toepassing in het systeem. |
US5557518A (en) | 1994-04-28 | 1996-09-17 | Citibank, N.A. | Trusted agents for open electronic commerce |
US7028187B1 (en) | 1991-11-15 | 2006-04-11 | Citibank, N.A. | Electronic transaction apparatus for electronic commerce |
US5453601A (en) | 1991-11-15 | 1995-09-26 | Citibank, N.A. | Electronic-monetary system |
US5272752A (en) * | 1992-03-16 | 1993-12-21 | Scientific-Atlanta, Inc. | Authorization code lockout mechanism for preventing unauthorized reception of transmitted data |
FR2693334B1 (fr) * | 1992-07-01 | 1994-09-23 | Trt Telecom Radio Electr | Procédé de communication protégée entre trois protagonistes, et dispositifs impliqués par sa mise en Óoeuvre. |
US5297208A (en) * | 1992-08-05 | 1994-03-22 | Roger Schlafly | Secure file transfer system and method |
AUPM350794A0 (en) * | 1994-01-25 | 1994-02-17 | Dynamic Data Systems Pty Ltd | Funds transaction device |
US5799087A (en) | 1994-04-28 | 1998-08-25 | Citibank, N.A. | Electronic-monetary system |
US6088797A (en) * | 1994-04-28 | 2000-07-11 | Rosen; Sholom S. | Tamper-proof electronic processing device |
US5619572A (en) * | 1994-06-16 | 1997-04-08 | Motorola, Inc. | Method and apparatus for providing secure communications for a requested call |
US5517567A (en) * | 1994-08-23 | 1996-05-14 | Daq Electronics Inc. | Key distribution system |
US5864683A (en) * | 1994-10-12 | 1999-01-26 | Secure Computing Corporartion | System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights |
US5636280A (en) * | 1994-10-31 | 1997-06-03 | Kelly; Tadhg | Dual key reflexive encryption security system |
US6044154A (en) * | 1994-10-31 | 2000-03-28 | Communications Devices, Inc. | Remote generated, device identifier key for use with a dual-key reflexive encryption security system |
US5644710A (en) * | 1995-02-13 | 1997-07-01 | Eta Technologies Corporation | Personal access management system |
US5710889A (en) * | 1995-02-22 | 1998-01-20 | Citibank, N.A. | Interface device for electronically integrating global financial services |
US5548649A (en) * | 1995-03-28 | 1996-08-20 | Iowa State University Research Foundation | Network security bridge and associated method |
US5757924A (en) * | 1995-09-18 | 1998-05-26 | Digital Secured Networks Techolognies, Inc. | Network security device which performs MAC address translation without affecting the IP address |
GB2306860A (en) * | 1995-10-24 | 1997-05-07 | Motorola Inc | Encryption/decryption system encrypts data using encrypted key |
US5796832A (en) | 1995-11-13 | 1998-08-18 | Transaction Technology, Inc. | Wireless transaction and information system |
US5870473A (en) * | 1995-12-14 | 1999-02-09 | Cybercash, Inc. | Electronic transfer system and method |
US5745576A (en) * | 1996-05-17 | 1998-04-28 | Visa International Service Association | Method and apparatus for initialization of cryptographic terminal |
AU743258B2 (en) | 1997-01-03 | 2002-01-24 | Fortress Technologies, Inc. | Improved network security device |
RU2201036C2 (ru) * | 1997-02-07 | 2003-03-20 | Сэлбу Рисерч Энд Дивелопмент (Пропрайэтэри) Лимитед | Защищенная радиосеть для пакетной передачи данных |
JPH10229392A (ja) * | 1997-02-13 | 1998-08-25 | Rohm Co Ltd | 認証システムおよび認証方法 |
US6041411A (en) * | 1997-03-28 | 2000-03-21 | Wyatt; Stuart Alan | Method for defining and verifying user access rights to a computer information |
US6282522B1 (en) | 1997-04-30 | 2001-08-28 | Visa International Service Association | Internet payment system using smart card |
US6128387A (en) * | 1997-05-19 | 2000-10-03 | Industrial Technology Research Institute | Method and system for using a non-inversible transform and dynamic keys to protect firmware |
US6105008A (en) * | 1997-10-16 | 2000-08-15 | Visa International Service Association | Internet loading system using smart card |
US6021391A (en) * | 1998-03-03 | 2000-02-01 | Winbond Electronics Corp. | Method and system for dynamic data encryption |
US6848050B1 (en) | 1998-04-16 | 2005-01-25 | Citicorp Development Center, Inc. | System and method for alternative encryption techniques |
US6490353B1 (en) | 1998-11-23 | 2002-12-03 | Tan Daniel Tiong Hok | Data encrypting and decrypting apparatus and method |
US6397307B2 (en) | 1999-02-23 | 2002-05-28 | Legato Systems, Inc. | Method and system for mirroring and archiving mass storage |
US6668246B1 (en) * | 1999-03-24 | 2003-12-23 | Intel Corporation | Multimedia data delivery and playback system with multi-level content and privacy protection |
US7319759B1 (en) | 1999-03-27 | 2008-01-15 | Microsoft Corporation | Producing a new black box for a digital rights management (DRM) system |
US6829708B1 (en) | 1999-03-27 | 2004-12-07 | Microsoft Corporation | Specifying security for an element by assigning a scaled value representative of the relative security thereof |
US20020019814A1 (en) | 2001-03-01 | 2002-02-14 | Krishnamurthy Ganesan | Specifying rights in a digital rights license according to events |
US6985583B1 (en) * | 1999-05-04 | 2006-01-10 | Rsa Security Inc. | System and method for authentication seed distribution |
US7908216B1 (en) | 1999-07-22 | 2011-03-15 | Visa International Service Association | Internet payment, authentication and loading system using virtual smart card |
US7729986B1 (en) | 1999-07-30 | 2010-06-01 | Visa International Service Association | Smart card transactions using wireless telecommunications network |
US7669233B2 (en) * | 1999-09-10 | 2010-02-23 | Metavante Corporation | Methods and systems for secure transmission of identification information over public networks |
FR2799078A1 (fr) * | 1999-09-27 | 2001-03-30 | Jacky Montiel | Ensemble de protocoles permettant l'authentification rapide pour des systemes transactionnels de commerce d'informations et de services sur internet |
US6442696B1 (en) * | 1999-10-05 | 2002-08-27 | Authoriszor, Inc. | System and method for extensible positive client identification |
GB2355819A (en) * | 1999-10-26 | 2001-05-02 | Marconi Comm Ltd | Authentication of data and software |
US7353209B1 (en) | 2000-01-14 | 2008-04-01 | Microsoft Corporation | Releasing decrypted digital content to an authenticated path |
WO2001052471A1 (en) * | 2000-01-14 | 2001-07-19 | Microsoft Corporation | Producing a new black box for a digital rights management (drm) system |
AU2000269232A1 (en) | 2000-01-14 | 2001-07-24 | Microsoft Corporation | Specifying security for an element by assigning a scaled value representative ofthe relative security thereof |
US20020095344A1 (en) * | 2001-01-12 | 2002-07-18 | Mares John F. | Accounting and business transaction method and system |
US7415609B1 (en) * | 2001-04-23 | 2008-08-19 | Diebold, Incorporated | Automated banking machine system and method |
US7159114B1 (en) * | 2001-04-23 | 2007-01-02 | Diebold, Incorporated | System and method of securely installing a terminal master key on an automated banking machine |
US7110986B1 (en) | 2001-04-23 | 2006-09-19 | Diebold, Incorporated | Automated banking machine system and method |
US7280658B2 (en) * | 2001-06-01 | 2007-10-09 | International Business Machines Corporation | Systems, methods, and computer program products for accelerated dynamic protection of data |
US6948073B2 (en) | 2001-06-27 | 2005-09-20 | Microsoft Corporation | Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client |
US7239708B2 (en) | 2001-06-27 | 2007-07-03 | Microsoft Corporation | Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client |
US20030118188A1 (en) * | 2001-12-26 | 2003-06-26 | Collier David C. | Apparatus and method for accessing material using an entity locked secure registry |
JP2004186814A (ja) * | 2002-11-29 | 2004-07-02 | Fujitsu Ltd | 共通鍵暗号化通信システム |
US7370212B2 (en) | 2003-02-25 | 2008-05-06 | Microsoft Corporation | Issuing a publisher use license off-line in a digital rights management (DRM) system |
US7506161B2 (en) * | 2003-09-02 | 2009-03-17 | Authernative, Inc. | Communication session encryption and authentication system |
US20060242406A1 (en) | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Protected computing environment |
US7805611B1 (en) * | 2004-12-03 | 2010-09-28 | Oracle America, Inc. | Method for secure communication from chip card and system for performing the same |
EP1849119B1 (de) * | 2005-02-18 | 2019-07-10 | EMC Corporation | Derivative samen |
US8725646B2 (en) | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
US9363481B2 (en) | 2005-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Protected media pipeline |
US20060265758A1 (en) | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Extensible media rights |
US7627125B2 (en) * | 2005-06-23 | 2009-12-01 | Efunds Corporation | Key loading systems and methods |
US7894606B2 (en) * | 2005-11-28 | 2011-02-22 | Panasonic Electric Works Co., Ltd. | Systems and methods for facilitating secure key distribution to an embedded device |
US8108692B1 (en) | 2006-06-27 | 2012-01-31 | Siliconsystems, Inc. | Solid-state storage subsystem security solution |
US7765373B1 (en) * | 2006-06-27 | 2010-07-27 | Siliconsystems, Inc. | System for controlling use of a solid-state storage subsystem |
US10091648B2 (en) * | 2007-04-26 | 2018-10-02 | Qualcomm Incorporated | Method and apparatus for new key derivation upon handoff in wireless networks |
MX2010001748A (es) * | 2007-08-14 | 2010-12-15 | Triton Systems Of Delaware Llc | Metodo y sistema para la transferencia remota segura de claves maestras para cajeros automaticos de bancos. |
US8565436B2 (en) * | 2008-12-15 | 2013-10-22 | Ebay Inc. | Secure self managed data (SSMD) |
US8356184B1 (en) | 2009-06-25 | 2013-01-15 | Western Digital Technologies, Inc. | Data storage device comprising a secure processor for maintaining plaintext access to an LBA table |
DE102010034976A1 (de) * | 2010-08-20 | 2012-02-23 | Hella Kgaa Hueck & Co. | Anordnung zur Berechtigungskontrolle, insbesondere für Kraftfahrzeuge |
GB201105765D0 (en) | 2011-04-05 | 2011-05-18 | Visa Europe Ltd | Payment system |
KR101340770B1 (ko) * | 2011-04-18 | 2013-12-11 | 주식회사 팬택 | 전자 기기, 전자 기기의 사용자 입력 데이터의 보안 방법 및 장치 |
CN102170355A (zh) * | 2011-04-27 | 2011-08-31 | 北京深思洛克软件技术股份有限公司 | 信息安全设备中远程升级密钥管理方法 |
US9305142B1 (en) | 2011-12-19 | 2016-04-05 | Western Digital Technologies, Inc. | Buffer memory protection unit |
US11164176B2 (en) | 2013-12-19 | 2021-11-02 | Visa International Service Association | Limited-use keys and cryptograms |
US9922322B2 (en) | 2013-12-19 | 2018-03-20 | Visa International Service Association | Cloud-based transactions with magnetic secure transmission |
AU2015264124B2 (en) | 2014-05-21 | 2019-05-09 | Visa International Service Association | Offline authentication |
WO2016018298A1 (en) * | 2014-07-30 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Key search token for encrypted data |
US9775029B2 (en) | 2014-08-22 | 2017-09-26 | Visa International Service Association | Embedding cloud-based functionalities in a communication device |
SG10202110839VA (en) | 2016-07-11 | 2021-11-29 | Visa Int Service Ass | Encryption key exchange process using access device |
US11372964B2 (en) * | 2016-07-25 | 2022-06-28 | Apple Inc. | System for and method of authenticating a component of an electronic device |
US11386412B1 (en) | 2018-04-12 | 2022-07-12 | Wells Fargo Bank, N.A. | Authentication circle management |
US11481837B1 (en) | 2018-04-12 | 2022-10-25 | Wells Fargo Bank, N.A. | Authentication circle management |
US10943308B1 (en) | 2018-05-03 | 2021-03-09 | Wells Fargo Bank, N.A. | Systems and methods for pervasive advisor for major expenditures |
DE102018005861A1 (de) * | 2018-07-25 | 2020-03-12 | Giesecke+Devrient Mobile Security Gmbh | Verfahren zum Anonymisieren einer PAN eines Karteninhabers |
US11569979B2 (en) | 2019-06-05 | 2023-01-31 | Sameer KHANNA | Cryptographic systems with variable layout cryptography |
US11991400B2 (en) | 2022-07-15 | 2024-05-21 | Bank Of America Corporation | Device for executing audio cryptology in real-time for audio misappropriation prevention |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4182933A (en) * | 1969-02-14 | 1980-01-08 | The United States Of America As Represented By The Secretary Of The Army | Secure communication system with remote key setting |
US4203166A (en) * | 1977-12-05 | 1980-05-13 | International Business Machines Corporation | Cryptographic file security for multiple domain networks |
US4238853A (en) * | 1977-12-05 | 1980-12-09 | International Business Machines Corporation | Cryptographic communication security for single domain networks |
US4227253A (en) * | 1977-12-05 | 1980-10-07 | International Business Machines Corporation | Cryptographic communication security for multiple domain networks |
US4386234A (en) * | 1977-12-05 | 1983-05-31 | International Business Machines Corp. | Cryptographic communication and file security using terminals |
US4238854A (en) * | 1977-12-05 | 1980-12-09 | International Business Machines Corporation | Cryptographic file security for single domain networks |
US4193131A (en) * | 1977-12-05 | 1980-03-11 | International Business Machines Corporation | Cryptographic verification of operational keys used in communication networks |
US4259720A (en) * | 1978-01-09 | 1981-03-31 | Interbank Card Association | Security system for electronic funds transfer system |
US4408203A (en) * | 1978-01-09 | 1983-10-04 | Mastercard International, Inc. | Security system for electronic funds transfer system |
US4218738A (en) * | 1978-05-05 | 1980-08-19 | International Business Machines Corporation | Method for authenticating the identity of a user of an information system |
US4365110A (en) * | 1979-06-05 | 1982-12-21 | Communications Satellite Corporation | Multiple-destinational cryptosystem for broadcast networks |
US4369332A (en) * | 1979-09-26 | 1983-01-18 | Burroughs Corporation | Key variable generator for an encryption/decryption device |
US4317957A (en) * | 1980-03-10 | 1982-03-02 | Marvin Sendrow | System for authenticating users and devices in on-line transaction networks |
US4578530A (en) * | 1981-06-26 | 1986-03-25 | Visa U.S.A., Inc. | End-to-end encryption system and method of operation |
US4423287A (en) * | 1981-06-26 | 1983-12-27 | Visa U.S.A., Inc. | End-to-end encryption system and method of operation |
US4488001A (en) * | 1981-12-17 | 1984-12-11 | Ncr Corporation | Intellectual properties protection device |
US4605820A (en) * | 1983-11-10 | 1986-08-12 | Visa U.S.A. Inc. | Key management system for on-line communication |
US4885778A (en) * | 1984-11-30 | 1989-12-05 | Weiss Kenneth P | Method and apparatus for synchronizing generation of separate, free running, time dependent equipment |
FR2600189B1 (fr) * | 1986-06-16 | 1991-02-01 | Bull Cp8 | Procede pour faire authentifier par un milieu exterieur un objet portatif tel qu'une carte a memoire accouplee a ce milieu |
FR2601795B1 (fr) * | 1986-07-17 | 1988-10-07 | Bull Cp8 | Procede pour diversifier une cle de base et pour authentifier une cle ainsi diversifiee comme ayant ete elaboree a partir d'une cle de base predeterminee, et systeme pour la mise en oeuvre |
SE452082B (sv) * | 1986-12-15 | 1987-11-09 | Inter Innovation Ab | Manoverenhet for datakommunikation |
FR2612315A1 (fr) * | 1987-03-13 | 1988-09-16 | Trt Telecom Radio Electr | Procede pour simultanement lire a distance et certifier une information presente dans une memoire d'un support electronique |
US4850017A (en) * | 1987-05-29 | 1989-07-18 | International Business Machines Corp. | Controlled use of cryptographic keys via generating station established control values |
JP2698588B2 (ja) * | 1987-11-13 | 1998-01-19 | 株式会社東芝 | 携帯可能電子装置 |
-
1989
- 1989-03-14 US US07/323,485 patent/US4933971A/en not_active Expired - Lifetime
-
1990
- 1990-02-20 CA CA002010450A patent/CA2010450C/en not_active Expired - Fee Related
- 1990-02-27 DE DE69022610T patent/DE69022610T2/de not_active Expired - Fee Related
- 1990-02-27 EP EP90103806A patent/EP0387599B1/de not_active Expired - Lifetime
- 1990-03-09 JP JP9059771A patent/JPH0334641A/ja active Pending
- 1990-03-12 AU AU51249/90A patent/AU617598B2/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
CA2010450C (en) | 1998-08-18 |
EP0387599A2 (de) | 1990-09-19 |
JPH0334641A (ja) | 1991-02-14 |
DE69022610D1 (de) | 1995-11-02 |
AU5124990A (en) | 1990-09-20 |
US4933971A (en) | 1990-06-12 |
AU617598B2 (en) | 1991-11-28 |
EP0387599A3 (en) | 1993-12-22 |
EP0387599B1 (de) | 1995-09-27 |
CA2010450A1 (en) | 1990-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69022610T2 (de) | Verfahren zum Chiffrieren von übertragenen Daten, das einen Einheitsschlüssel anwendet. | |
DE69019037T2 (de) | Mehrebenen-Sicherheitsvorrichtung und -verfahren mit persönlichem Schlüssel. | |
DE69215501T2 (de) | Werttransfersystem | |
DE69829938T2 (de) | Verfahren zum Einführen von elektronischem Geld für einen Emittent mit elektronischen Saldo-Zählern, entsprechende Vorrichtung und Speicherelement mit gespeichertem Programm zur Durchführung des Verfahrens | |
DE69014817T2 (de) | System zum Bezahlen oder Transferieren von Informationen mit einer als Geldbörse dienenden elektronischen Speicherkarte. | |
DE69204696T2 (de) | Rechteaustausch-Verfahren zwischen Mikroprozessorkarten. | |
DE19539801C2 (de) | Überwachung von Transaktionen mit Chipkarten | |
DE2645564C2 (de) | Automatischer Geldausgeber | |
DE69607041T2 (de) | Verfahren zum geschützten elektronischen zahlungsmittels | |
DE69601787T2 (de) | Verfahren zum elektronischen bezahlen bei der durchführung von kauf-transaktionen in einem rechnernetzwerk | |
DE69913365T2 (de) | Überprüfbares elektronishes logbuch für ein verkaufsstellenendgerät und verfahren zu dessen verwendung | |
DE69814406T2 (de) | Tragbare elektronische vorrichtung für systeme zur gesicherten kommunikation und verfahren zur initialisierung der parameter | |
DE2527784C2 (de) | Datenübertragungseinrichtung für Bankentransaktionen | |
DE69521156T2 (de) | Verfahren zum Authentisieren eines Schalterterminals in einem System zur Durchführung von Überweisungen | |
DE69831769T2 (de) | System und Verfahren zur Kontrolle bzw. Überwachung | |
DE69011877T2 (de) | Transaktionszustimmungssystem. | |
DE69623893T2 (de) | Ein gesichertes Chiffrierprotokoll verwendendes Wertspeichersystem | |
DE69636457T2 (de) | Gesichertes kommunikationssystem mit vernetzten geheimcodes | |
DE69101257T2 (de) | Verfahren zur Erlangung einer geschätzten Klarbeglaubigung in verteilten Informationssystemen. | |
DE69531711T2 (de) | Sichere Geldübertragungstechniken mit Chipkarten | |
DE69531082T2 (de) | Verfahren und Vorrichtung mit einem Verschlüsselungskopfteil, die es ermöglicht, Software zu erproben | |
DE2901521C2 (de) | ||
DE112007002744T5 (de) | Gesicherte finanzielle Transaktionen | |
EP0030381B1 (de) | Verfahren und Vorrichtung zur Erzeugung und späteren Kontrolle von gegen Nachahmung, Verfälschung und Missbrauch abgesicherten Dokumenten und Dokument zu dessen Durchführung | |
DE3319919A1 (de) | Schutzsystem fuer intelligenz-karten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |