-
Technisches
Gebiet
-
Die
vorliegende Erfindung betrifft generell Verfahren und Vorrichtungen
zum Verschlüsseln
und Manipulieren von vertraulichen Daten und insbesondere Techniken
zum Übermitteln
von verschlüsselten
Daten von einem Fern-Personalcomputer an einen Host-Computer.
-
Stand der
Technik und technische Probleme
-
Systeme
zum Durchführen
von finanziellen Transaktionen von einer entfernten Stelle, z.B.
von zuhause, dem Büro
oder einer Einzelhandelseinrichtung aus finden immer größere Anwendung.
Der verbreitete Einsatz von Personalcomputern, insbesondere in Zusammenhang
mit Modems, ermöglicht
es einem Konsumenten, das Bezahlen von Rechnungen, das Einkaufen
im Einzelhandel, Bankgeschäfte
und andere kommerzielle Transaktionen von fern durchzuführen, wodurch
ihm Wege zum Durchführen
von routinemäßigen kommerziellen
Angelegenheiten erspart werden.
-
Derzeit
bekannte Systeme weisen typischerweise einen Host-Computer an einer
zentralen Datenverarbeitungsstelle auf, der zum Kommunizieren mit
einer großen
Anzahl von Fern-Personalcomputern (PC) vorgesehen ist. Wenn eine
Person eine finanzielle Transaktion durchführen möchte, zum Beispiel Waren bestellen und
die Waren oder Dienstleistungen über
ein Habenkonto, ein Sollkonto, mit digitalen "Münzen" oder dergleichen
bezahlen, erstellt der Benutzer über
das Modem des PC ein Datenlink zwischen seinem PC und dem Host-Computer.
Beim Bestellen der Waren kann der Benutzer eine Konto-(z.B. eine
Kreditkarten-)Nummer angeben, die dem Konto entspricht, das mit
den Kosten für
die Waren belastet werden soll. Die Einkaufsaufforderung wird dann
von dem PC an den Host-Computer übermittelt,
woraufhin die Transaktion von dem Host-Computer überprüft wird.
-
Derzeit
bekannte Systeme sind beispielsweise in ihrer Fähigkeit, Echtzeit-Geldtransfer
durchzuführen, aufgrund
unterschiedlicher mit der Übermittlung
von verschlüsselten
Daten in Zusammenhang stehender Problem eingeschränkt. Insbesondere
erfolgen Echtzeit-Geldtransfers typischerweise über Bankautomaten (ATM). Bei
einer typischen ATM-Transaktion gibt der Benutzer über eine
Tastatur eine Kontonummer ein oder führt alternativ eine Bankkarte
in den ATM ein, woraufhin die Kontoinformationen von dem Magnetstreifen
auf der Rückseite
der Bankkarte "gelesen" werden. Danach gibt
der Benutzer eine persönliche
Identifikationsnummer (PIN) über
die Tastatur ein, um die Transaktion zu ermöglichen. Durch korrektes Eingeben
der der Bankkarte zugeordneten PIN ist eine betrügerische Benutzung solcher
Karten stark reduziert. Die Erweiterung des oben beschriebenen ATM-Paradigmas
auf Anwendung zuhause ist jedoch dahingehend problematisch, dass derzeit
bekannte Systeme zum Übermitteln
von verschlüsselten
Daten (z.B. PINs) nicht zufriedenstellend sind.
-
Insbesondere
sind zwar Techniken zum Verschlüsseln
von PINs und anderen vertraulichen Daten und Informationen generell
bekannt, die geltenden Vorschriften für Banken und andere Finanzindustriezweige
sind jedoch dazu vorgesehen, das Ausmaß zu begrenzen, bis zu dem
vertrauliche Daten in nichtverschlüsselter Form übermittelt
werden können.
Im Zusammenhang mit einem zum Ferndurchführen einer kommerziellen Transaktion
vorgesehenen PC ist es möglich,
die vertraulichen Daten am PC zu verschlüsseln und danach die verschlüsselten
Daten an den Host-Computer zu übermitteln.
Derzeit bekannte Systeme erfordern jedoch generell, dass die vertraulichen
Daten (z.B. PIN) über
die dem PC zugeordnete Tastatur in den Computer eingegeben werden,
woraufhin der Prozessor des PC den Verschlüsselungsprozess steuert. Somit
werden die Daten im Wesentlichen von der Tastatur über physische
Lei tungen, die die Tastatur mit dem PC-Kasten verbinden, zu dem
PC-Motherboard übermittelt.
Danach befinden sich die unverschlüsselten, d.h. vor dem Beenden des
Verschlüsselungsprozesses
vorliegenden, Daten beispielsweise vor und während des Verschlüsselungsprozesses
notwendigerweise auf dem Motherboard. Es wird davon ausgegangen,
dass ausgeklügelte
elektronische "Abhör"-Vorrichtungen zum
Detektieren der vertraulichen Daten zwischen dem Zeitpunkt der Eingabe über die
Tastatur durch den Benutzer und dem Zeitpunkt der Beendigung der
Verschlüsselung
verwendet werden können.
-
Eine
Technik zum Verschlüsseln
von Daten ist in der veröffentlichten
Internationalen Patentanmeldung Nr. WO 94/01821 mit dem Titel "Trusted Path Subsystem
for Workstations" beschrieben.
Diese Veröffentlichung
beschreibt ein sicheres Benutzer-Interface, das durch Einsetzen
eines Subsystems mit gesichertem Pfad zwischen Eingangs-/Ausgangsvorrichtungen
einer Arbeitsstation und der Arbeitsstation selbst hergestellt wird.
Datentransfers von den Eingangs-/Ausgangsvorrichtungen werden abgefangen,
verschlüsselt
und in Paketen an einen Host-Computer übermittelt.
-
Eine
weitere Technik zum Verschlüsseln
von Daten ist in der veröffentlichten
Internationalen Patentanmeldung WO 95/26085 beschrieben. Dieses
Dokument beschreibt ein in Reihe zwischen einem Personalcomputer
und einer diesem zugeordneten Tastatur angeordnetes Verschlüsselungsmodul.
Ein zum Laufen auf dem Personalcomputer ausgelegtes Anwenderprogramm
fordert den Benutzer auf, eine PIN oder andere vertrauliche Daten
in das Verschlüsselungsmodul
einzugeben. Folglich brauchen die vertraulichen Daten nicht in unverschlüsselter
Form übermittelt
zu werden und brauchen sich nicht in unverschlüsselter Form auf der Festplatte
des Personalcomputers zu befinden.
-
Somit
besteht Bedarf an einem System, mit dem die beim Stand der Technik
auftretenden Mängel
eliminiert werden.
-
Zusammenfassender Überblick über die
Erfindung
-
Die
vorliegende Erfindung schafft eine Vorrichtung zum Übermitteln
von verschlüsselten
Daten gemäß den beiliegenden
Patentansprüchen,
mit der die beim Stand der Technik auftretenden Mängel eliminiert
werden.
-
Gemäß einem
Aspekt der vorliegenden Erfindung weist ein System zum Übermitteln
von verschlüsselten
Daten einen mit einer Fern-Datenverarbeitungsvorrichtung (z.B. einem
Desktop-PC, einem Laptop-Computer oder dergleichen) verbundenen
Host-Computer auf, wobei die Datenverarbeitungsvorrichtung eine
Tastatur oder einen anderen geeigneten Mechanismus zum Eingeben
von vertraulichen Daten in die Fern-Vorrichtung aufweist. Gemäß einer
ersten Ausführungsform
der Erfindung weist die Fern-Datenverarbeitungsvorrichtung einen
Laptop-PC mit einer in dem PC eingebauten alphanumerischen Tastatur
auf, wobei ein Verschlüsselungsmodul
mit dem PS/2-Port des Laptop verbunden ist. Gemäß dieser ersten Ausführungsform weist
das Verschlüsselungsmodul
eine Tastatur oder eine andere Datenerfassungsvorrichtung auf, die
es dem Benutzer ermöglicht,
vertrauliche Daten (z.B. PIN) direkt in das Verschlüsselungsmodul
einzugeben. Das Verschlüsselungsmodul
verschlüsselt
danach die vertraulichen Daten und übermittelt die verschlüsselten
Daten an den Laptop-PC, woraufhin die verschlüsselten Daten über Modem
an den Host-Computer übermittelt
werden können.
Auf diese Weise brauchen sich die Daten nicht in unverschlüsselter
Form in dem PC zu befinden; ferner werden die Daten in verschlüsselter
Form von dem Verschlüsselungsmodul
an den Laptop übermittelt, wodurch
das Risiko, dass elektronische "Abhör"-Vorrichtungen die
unverschlüsselten
Daten abfangen, reduziert ist.
-
Gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung ist die Verschlüsselungsschaltung in einer
Tastatur, einer Maus oder einer anderen einem Desktop-, Laptop-
oder anderen PC zugeordneten Peripherievorrichtung integriert, so
dass vertrauliche Daten in der Peripherievorrichtung selbst verschlüsselt werden
können,
woraufhin die vertraulichen Daten an den PC übermittelt und von dem PC in
verschlüsselter
Form verarbeitet werden.
-
Gemäß einer
dritten Ausführungsform
der vorliegenden Erfindung weist ein unabhängiges freistehendes Transaktionsmodul
einen Prozessor mit einem eingebauten, diesem zugeordneten Datenerfassungsmodul
(z.B. einer Tastatur) auf, so dass vertrauliche Daten in die Tastatur
eingegeben und in einer einzelnen eingebauten Einheit verschlüsselt werden
können,
wodurch keine Übermittlungsleitungen
zwischen einer Fern-Tastatur und der Verschlüsselungs-Verarbeitungsschaltung
erforderlich sind.
-
Gemäß einem
weiteren Aspekt der Erfindung kann das Verschlüsselungsmodul zum Übermitteln und/oder
Empfangen von Daten zu und/oder von einem Fern-Computer zusätzlich zu
dem PC vorgesehen sein. Das Verschlüsselungsmodul kann ferner verschiedene
Peripherievorrichtungen zum Eingeben von Daten und Informationen
aufweisen, beispielsweise Magnetkopf-Kartenleser, "Smart-Card"- oder Chipkarten-(ICC-)Leser, Strichcodeleser,
Spracherkennungsvorrichtungen, Scanner und dergleichen. Auf diese
Weise können
vertrauliche Daten in praktisch allen Medien von dem Verschlüsselungsmodul
erfasst und vor der Übermittlung
an den PC und/oder vor der anschließenden Verarbeitung derart
verschlüsselt
werden, dass die Möglichkeit
einer unautorisierten Detektion der unverschlüsselten Daten minimiert ist.
-
Kurzbeschreibung der Figuren
in den Zeichnungen
-
Die
vorliegende Erfindung wird nachstehend anhand der 25 beiliegenden
Zeichnungsfiguren beschrieben, wobei gleiche Bezugszeichen die gleichen
Elemente bezeichnen. Es zeigen:
-
1 ein
schematisches Blockschaltbild eines erfindungsgemäßen Transaktions-Autorisierungssystems;
-
2 eine
Vorderansicht eines PC mit einem darin integrierten Verschlüsselungsmodul;
-
3 ein
schematisches Blockschaltbild eines eingebauten Verschlüsselungsmoduls;
-
4 und 6–10 Ablaufdiagramme
des Ablaufs eines von dem PC aus 2 ausgeführten exemplarischen
Anwendungsprogramms gemäß der vorliegenden
Erfindung;
-
5 eine
Anzeige unterschiedlicher Icons, die in Zusammenhang mit der Software
aus 4 sinnvoll sind;
-
11 eine
alternative Ausführungsform
des Verschlüsselungsmoduls
aus 2;
-
12 ein
schematisches Blockschaltbild der funktionalen Aspekte des Verschlüsselungsmoduls
aus 2;
-
13 ein
schematisches Schaltbild des Prozessors in dem Verschlüsselungsmodul
aus 2;
-
14 ein
schematisches Schaltbild der Tastatur aus 2;
-
15 ein
schematisches Schaltbild eines in dem erfindungsgemäßen Verschlüsselungsmodul
verwendeten Analogschalters;
-
16 und 17 schematische
Schaltbilder einer Magnetstreifenleseschaltung;
-
18–20 schematische
Speicherpläne
verschiedener dem Prozessor aus 13 zugeordneter Speichersektoren;
-
21–36 Ablaufdiagramme
für verschiedene
Funktionsmerkmale des erfindungsgemäßen Verschlüsselungsmoduls; und
-
37–39 Blockschaltbilder
verschiedener Ausführungsformen
der vorliegenden Erfindung.
-
Detaillierte
Beschreibung bevorzugter Ausführungsbeispiele
-
Gemäß 1 weist
ein Fern-Transaktionssystem 100 ein Host-Computersystem 102 auf,
das an ein oder mehrere Transaktions-Netzwerke, beispielsweise ein
Rechnungsbezahl-Netzwerk 104, ein Banksystem-Netzwerk 106 und
verschiedene andere Netzwerksysteme 108, beispielsweise
Staatslotterie-Abnahme-Netzwerke, Einzelhandels-Einkaufs-Netzwerke,
Postversand-Einkaufs-Netzwerke
und dergleichen, angeschlossen sein kann. Das Fern-Transaktionssystem 100 weist
ferner mehrere Fern-Datenverarbeitungsterminals 110a–110n auf,
beispielsweise einen PC des Typs, der typischerweise von einem Käufer zuhause
verwendet wird. Das Fern-Transaktionssystem 100 kann ferner
verschiedene Diagnose- und Wartungsvorrichtungen, beispielsweise
ein Netzwerkübermittlungs-Testsystem 112 und
ein Netzwerkübermittlungs-Empfangssystem 114,
die auf geeignete Weise zum periodischen Überprüfen der Leistung des Host-Computersystems 102 verwendet
werden, und ein Auditsystem 116 aufweisen, das es dem Betreiber
des Systems 100 ermöglicht, die
in dem Host-Computer 102 befindlichen Daten und Informationen
periodisch zu prüfen.
-
Wie
nachstehend genauer beschrieben ist, werden die unterschiedlichen
Netzwerke 104–108 auf
geeignete Weise von unabhängigen
juristische Personen betrieben, die Geschäfte und/oder andere Transaktionen
mit unterschiedlichen Käufern über den
Host-Computer 102 durchführen möchten, wobei beispielsweise jeder
der jeweiligen PCs 110A–110N bequemerweise
bei einem Käufer
zuhause, im Büro,
im Einzelhandelsladen und dergleichen angeordnet ist.
-
Gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung können
Daten, einschließlich vertraulicher
Daten, in einen der jeweiligen PCs 110 eingegeben und verschlüsselt werden,
wie nachstehend genauer beschrieben ist, wobei die verschlüsselten
Daten danach von dem PC über
ein geeignetes Datenlink 118 an den Host-Computer 102 übermittelt
werden. Gemäß einem
Aspekt der Erfindung kann das Datenlink 118 eine Übermittlungsleitung
(z.B. eine Telefonleitung, ein Faseroptikkabel oder dergleichen)
oder alternativ ein drahtloses Link, beispielsweise eine Mikrowelle,
eine Radiofrequenz (RF) oder ein anderes geeignetes Datenübermittlungsmedium,
aufweisen.
-
Gemäß 2 und
gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung weist ein exemplarischer PC 110 einen
Bildschirm 202, ein Kasten 204 zum Aufnehmen von
u.a. der dem PC 110 zugeordneten Rechnerschaltung, eine über einen
Connector 210 mit dem Kasten 204 verbundene Tastatur 206 und
eine Maus 208 zum Ausführen
von interaktiven Programmen auf. Bei einer ersten bevorzugten Ausführungsform
der vorliegenden Erfindung kann ein Verschlüsselungsmodul 214 auf
herkömmliche
Weise zwischen der Tastatur 206 und dem Kasten 204 beispielsweise
mit dem Connector 210 in Reihe angeordnet sein. Bei der
dargestellten Ausführungsform
weist das Modul 214 einen Modul-Connector 212 zum
Ermöglichen
eines einfachen Installierens des Moduls 214 auf. Insbesondere
ist bei Normalbetrieb des PC das distale Ende 216 der Verbindung 210 normalerweise
in einen passenden (nicht gezeigten) Connector an dem Kasten 204 eingesteckt.
Wenn das Modul 214 installiert werden soll, kann das Connector-Ende 216 einfach
von dem Kasten 204 gelöst
werden und das distale Ende 218 des Connector 212 an
derselben Stelle mit dem Kasten 204 verbunden werden; das
Connector-Ende 216 des Connector 210 ist auf geeignete
Weise mit dem Modul 214 verbunden, beispielsweise auf im
Wesentlichen die gleiche Weise wie das distale Ende 216 mit
dem Kasten 204 verbunden wäre. Auf diese Weise kann das
Modul 214 einfach zwischen der Tastatur 206 und
dem Kasten 204 angeordnet werden, ohne dass das Kasten 204 geöffnet werden
muss – ein
Vorgang, der für
die meisten Computernutzer nicht akzeptabel wäre.
-
Bei
einer alternativen Ausführungsform
der vorliegenden Erfindung können
die Verschlüsselungsschaltung
und verschiedene der Peripherievorrichtungen, die hier beschrieben
und dem Modul 214 zugeordnet sind, auf einfache Weise bei
Herstellung oder Nachrüstung
in die Tastatur 206 eingebaut werden, wodurch mindestens
der Tastatur-Teil des Moduls 214 wegfällt.
-
Gemäß 3 weist
eine weitere alternative Ausführungsform
ein unabhängiges
eingebautes Modul 300 mit einem Bildschirm 306,
einem Computer 304, einer Tastatur 302, einer
Modem-Verbindung 308 und einem Zusatz-Connector 310 zum Anschließen des
Moduls 300 an verschiedene bevorzugte Vorrichtungen, beispielsweise
Strichcodeleser, Smart-Card-Leser, Magnetstreifenleser und dergleichen,
auf. Gemäß der in 3 gezeigten
Ausführungsform
brauchen nur die zum Ausführen
der beschriebenen spezifischen Funktionen benötigten Komponenten in das Modul 300 eingebaut
zu werden, was zu einer wesentlichen Kosteneinsparung gegenüber der
in 2 gezeigten PC-Ausführungsform führt. Es
sei jedoch angemerkt, dass Käufer, die
bereits einen PC besitzen, die in 2 dargestellte
Ausführungsform
bevorzugen, da ein herkömmlicher PC
auf einfache Weise gemäß der vorliegenden
Erfindung durch Einbauen des Moduls 214 in den PC 110 angepasst
werden kann.
-
Anhand
von 4–10 wird
nun ein exemplarisches Fern-Transaktions-Anwendungsprogramm gemäß der vorliegenden
Erfindung beschrieben.
-
Gemäß 4 kann
ein geeignetes Anwendungsprogramm mittels eines (WINDOWS-) Formats
ausgeführt
werden, welches dem Benutzer eine umfangreiche Menüauswahl
bietet. Fachleute auf dem Sachgebiet wissen, dass der Benutzer unter
Verwendung der Tastatur 206 oder der Maus 208 (siehe 2)
verschiedene Optionen auswählen
kann, wie auf dem Sachgebiet bekannt ist. Das Anwendungsprogramm
ist hier zwar in Zusammenhang mit der WINDOWS-Ausführungsform
beschrieben, es sei jedoch angemerkt, dass die vorliegende Erfindung
in Zusammenhang mit jeder herkömmlichen
Anwendungsumgebung implemetierbar ist.
-
Gemäß 4 kann
der Benutzer bei Aktivierung der WINDOWS-Funktionen des PC 110 (Schritt 402) eine
von mehreren Menüoptionen 406–416 beispielsweise
durch einen Doppelklick mit der Maus 208 (Schritt 404)
auswählen.
Insbesondere kann gemäß 5 der
Benutzer einen Bankgeschäftsvorgang 406,
der einem Icon 506 entspricht, einen Rechnungsbezahlvorgang 408,
der von einem Icon 508 repräsentiert ist, einen Einkaufsvorgang
in der Nachbarschaft 410, der von einem Icon 510 repräsentiert
ist, einen Postversandvorgang 412, der von einem Icon 512 repräsentiert
ist, einen Staatslotterievorgang 414, der von einem Icon 514 repräsentiert
ist, einen Archivierungsvorgang 416, der 516 entspricht,
einen PC-Installierungsvorgang 418, der einem Icon 518 entspricht,
einen Hardware-Testvorgang 420, der einem Icon 520 entspricht,
einen Anzeigezeitvorgang 422, der einem Icon 522 entspricht
oder einen Anleitungsvorgang 424, der von einem Icon 524 repräsentiert
ist, auswählen.
Die in 5 gezeigten Icons sind zwar in Zusammenhang mit
der dargestellten Ausführungsform
sinnvoll, es sei jedoch angemerkt, dass jedes geeignete Icon und
jeder andere Mechanismus zum Auswählen verschiedener Programmoptionen
bei der vorliegenden Erfindung verwendet werden können. Ferner
sind die in 4 und 5 gezeigten
Menüoptionen
nur exemplarisch dargestellt; verschiedene Kombinationen der in
den Figuren gezeigten Optionen können
allein oder in Kombination mit anderen hier nicht dargestellten
Menüoptionen
bei der vorliegenden Erfindung verwendet werden.
-
Gemäß 4 umfasst
der Anleitungsvorgang 424 eine Erläuterung der verschiedenen Menüoptionen und
eine Erläuterung
der Anwendung dieser Optionen. Die Anzeigezeitoption 422 zeigt
auf geeignete Weise die Systemzeit in einem gewünschten Format an. Der Hardware-Testvorgang 420 ermöglicht es
dem Benutzer auf geeignete Weise, die Integrität der verschiedenen Hardware-Komponenten
und vorzugsweise Vorrichtungen, die für die vorliegende Erfindung
sinnvoll sind, zu überprüfen.
-
Der
Installierungsvorgang 418 ermöglicht es einem Benutzer auf
geeignete Weise, verschiedene dem Betrieb des Systems und den Verfahren,
die hier beschrieben sind, zugeordnete Parameter zu konfigurieren.
-
Der
Archivierungsvorgang 416 ermöglichtes dem Benutzer auf geeignete
Weise, verschiedene Datenstrukturen, die für die vorliegende Erfindung
sinnvoll sind, zu verarbeiten.
-
Der
Lotterievorgang 414 kann es dem Benutzer ermöglichen,
Lotteriescheine seines Landes oder eines anderen Landes oder einer
Gemeinde je nach den Vorschriften bezüglich des Verkaufs solcher
Scheine beispielsweise über
Modem zu kaufen.
-
Der
Postversandvorgang 412 umfasst Verfahren zum Bestellen
von Waren beispielsweise aus einem Versandhauskatalog über den
PC 110. Dabei kann das Modul 214 (siehe 2)
oder alternativ das Kasten 204 auf geeignete Weise mit
einem Strichcodeleser ausgestattet sein, so dass die Waren durch
Abtasten des den Waren zugeordneten Strichcodes automatisch ausgewählt werden.
Dieselbe Strichcodetechnik kann auch in Zusammenhang mit dem Einkaufsvorgang 410 angewendet
werden, der Verfahren umfasst, die es einem Benutzer ermöglichen,
verschiedene Produkte (z.B. Lebensmittelprodukte) durch Eingeben
der bestellten Positionen in den PC 110 zu bestellen.
-
Gemäß einem
weiteren Aspekt der Erfindung kann der Einkaufsvorgang in der Nachbarschaft 410 ferner
mittels des Strichcodelesers auf folgenden Weise implementiert werden.
-
Verschiedene
Konsumprodukte sind typischerweise mit einem UPC-Label, einem Strichcode oder anderen
Zeichen versehen, die das spezielle Produkt repräsentieren. Eine (nicht gezeigte)
Strichcodelesevorrichtung, beispielsweise ein in der Hand gehaltener
Lesestift, kann von dem Käufer
auf geeignete Weise verwendet werden, um Produkte, die der Käufer beispielsweise
in einem Lebensmittelladen kaufen möchte, in ein dem Strichcodeleser
zugeordnetes Speicherarray einzugeben. Nach dem Ansammeln von Produkten,
die der Käufer über einen
Zeitraum kaufen möchte,
kann die in dem Strichcodelese-Speicher gespeicherte Produktziffer
während
des Vorgangs, beispielsweise des Einkaufsvorgangs 410,
in einer entsprechenden Speicherstelle in dem PC 110 "abgelegt" werden. Auf diese
Weise kann der Käufer
die über
einen Zeitraum zu kaufenden Produkte auswählen, und zwar analog zu dem
Erstellen einer Einkaufsliste. Wenn die Positionen gekauft werden
sollen, können
die Zeichen der akkumulierten Liste über das Datenlink 118 (siehe 1)
an den Host-Computer 102 übermittelt werden, woraufhin
ein Lebensmittelladen-Netzwerk 108 die Daten abruft und die
Lebensmittel für
den Käufer
zusammenstellt. Falls gewünscht,
kann der das Lebensmittelladen-Netzwerk 108 benutzende
Lebensmittelladen die Lebensmittel dem Käufer ins Haus liefern, wobei
die Lebensmittel unter anderem entsprechend den in dem Rechnungsbezahlvorgang 408 oder
dem Bankgeschäftsvorgang 406 festgelegten
Prinzipien, die nachstehend genauer beschrieben sind, bezahlt werden.
-
Gemäß 4 und 6 ermöglicht es
der Bankgeschäftsvorgang 406 auf
geeignete Weise, dass der Benutzer eine oder mehrere Bankgeschäftsoptionen
auswählt,
beispielsweise einen Geldtransfervorgang 602 und einen
Kontoabfragevorgang 604 oder einen Smart-Card-Geldtransfer 606.
Ferner kann es der Bankgeschäftsvorgang 406 dem
Benutzer ermöglichen,
das Hauptmenü 400 zu
verlassen (Schritt 608).
-
Gemäß 6 und 7 umfasst
der Geldtransfervorgang 602 das Auswählen eines speziellen Bankkontos
(Schritt 610), beispielsweise eines Sparkontos, eines Girokontos,
eines Geldmarktkontos und dergleichen. Wenn das Konto, das der Benutzer
belasten möchte,
ausgewählt
ist, fordert das System den Benutzer auf geeignete Weise auf, einen
zu zahlenden oder zu transferierenden Betrag einzugeben (Schritt 702),
und zwar beispielsweise durch Eingeben eines Betrags über die
Tastatur 106 in den PC 110 (704). Wenn
nach einem vorbestimmten Zeitraum kein Betrag oder ein falscher
Betrag (z.B. "Null", ein negativer Betrag
oder ein Betrag, der die vorbestimmte Grenze übersteigt) eingegeben worden
ist, kann das System zu seinem vorhergehenden Verarbeitungspfad
zurückkehren
(Schritt 706). Wenn ein korrekter zu zahlender oder zu
transferierender Geldbetrag von dem Benutzer eingegeben worden ist,
kann der Benutzer auf geeignete Weise aufgefordert werden, das Zahlungsverfahren
auszuwählen
(Schritt 708), woraufhin eine Transaktionsaufforderung auf
geeignete Weise von dem PC 110 zu dem Modul 214 übermittelt
wird (Schritt 710), wie nachstehend genauer erläutert ist.
-
Gemäß einem
Aspekt der vorliegenden Erfindung kann es wünschenswert sein, spezielle
Transaktionen, z.B. Transaktionen, die den Geldtransfer umfassen,
nur dann zu ermöglichen,
wenn bestimmte Grenz-Bedingungen eingehalten werden. Beispielsweise
kann es wünschenswert
sein, einen Geldtransfer nur dann zu ermöglichen, wenn eine die Transaktion
nachweisende Quittung von einem nahe dem PC 110 angeordneten Drucker
ausgedruckt werden kann.
-
Insbesondere
kann gemäß 7 das
System auf geeignete Weise dazu vorgesehen sein zu bestätigen: (1)
ob der PC 110 einen lokalen Drucker aufweist oder anderweitig
Zugriff auf einen lokalen Drucker hat; und (2) dass der vorgenannte
Drucker mit Papier bestückt
ist, auf dem eine Quittung ausgedruckt werden kann (Schritt 712).
-
Wenn
der PC 110 keinen ihm zugeordneten Drucker aufweist oder
wenn er einen Drucker aufweist, dieser jedoch kein Papier mehr hat,
kann das System den Benutzer auffordern, einen geeigneten Drucker
zu installieren und/oder Papier einzulegen (Schritt 714),
woraufhin das System erneut eine Prüfung durchführt, um das Vorhandensein eines
funktionsbereiten Druckers zu bestätigen (Schritt 718).
Wenn immer noch kein funktionsbereiter Drucker detektiert wird,
wird eine entsprechende Fehlermeldung erzeugt.
-
Wenn
festgestellt wird, dass der PC 110 einen ihm zugeordneten
funktionsbereiten Drucker aufweist, ist der PC 110 auf
geeignete Weise dazu konfiguriert, einen Befehl an das Modul 214 zu übermitteln,
der das Modul 214 veranlasst, in einen "Durchzieh"-Betriebsmodus einzutreten (Schritt 716),
wie nachstehend anhand von 27 und 28 genauer
erläutert
ist. Der Benutzer kann danach die entsprechenden Kontodaten eingeben,
beispielsweise durch Ziehen einer Transaktionskarte durch einen
Magnetkartenleser, Einführen
einer Smart Card in einen dem PC 110 zugeordneten Smart-Card-Leser,
Eingeben von Kontodaten über
die Tastatur 206 oder ein anderes herkömmliches Verfahren zum Eingeben
von dem PC 110 oder dem Modem 214 zugeordneten
Kontodaten (Schritt 720).
-
Gemäß 8 kann
der PC 110 nach dem Eingeben der Kontodaten auf geeignete
Weise dazu konfiguriert sein, die Kontodaten auf dem Bildschirm 202 anzuzeigen
(Schritt 802). Die spezielle Transaktion, die gerade von
dem Benutzer durchgeführt
wird, ist eine Transaktion des Typs, bei dem keine Übermittlung
von vertraulichen Daten (z.B. PIN) erforderlich ist, die oben genannten
Kontodaten und die Geldtransfer-/Rechnungsbezahldaten können assembliert
und über
das Datenlink 118 zur Verarbeitung an den Host-Computer 102 übermittelt
werden (Schritt 812). Wenn andererseits bei der speziellen
Transaktion das Eingeben von vertraulichen Informationen erforderlich
ist, kann das System auf geeignete Weise dazu konfiguriert sein,
den Benutzer aufzufordern, diese vertraulichen Informationen einzugeben
(Schritt 804).
-
Insbesondere
kann der PC 110 zum Vereinfachen der Eingabe, der Verschlüsselung
und der Übermittlung
von verschlüsselten
vertraulichen Daten auf geeignete Weise dazu konfiguriert sein,
ein Befehlssignal an das Modul 214 zu senden, um das Modul 214 in
einen "Abtast"-Modus zu setzen
(Schritt 806), wie nachstehend anhand von 21 und 25 näher erläutert ist.
Gemäß der in 2 gezeigten
Ausführungsform
kann der Benutzer dann diese vertraulichen Informationen über die
dem Modul 214 zugeordnete Tastatur oder bei der in 3 gezeigten
Ausführungsform über die
Tastatur 302 eingeben. Bei der oben beschriebenen alternativen
Ausführungsform,
bei der die Verschlüsselungsschaltung
und/oder -Software in der Tastatur 106 integriert ist,
kann der Benutzer die vertraulichen Informationen direkt über die
Tastatur 206 eingeben. Auf jeden Fall wird die Art und
Weise, in der das Modul 214 (oder das Modul 300 bei
der in 3 gezeigten Ausführungsform) die verschlüsselten
Daten empfängt,
verschlüsselt
und die verschlüsselten
Daten übermittelt,
anhand von 21–29 näher erläutert.
-
Beim
Eingeben sämtlicher
Informationen, die zum Darstellen einer speziellen Transaktion erforderlich sind,
kann das System auf geeignete Weise den Benutzer auffordern, festzustellen,
ob der Benutzer eine weitere Transaktion einzugeben wünscht. Wenn
dies der Fall ist, kehrt das System zu Schritt 702 zurück; wenn keine
weiteren Transaktionen gewünscht
sind, fasst der PC 110 die Transaktionsdaten auf geeignete
Weise zu Paketen zusammen und übermittelt
diese über
das Datenlink 118 an den Host-Computer 102. Dabei
kann ein beliebiger für
die Datenübermittlung
geeigneter Mechanismus angewendet werden, beispielsweise ein mit dem
Kasten 204 verbundenes Modem oder alternativ ein direkt
mit dem Modul 214 verbundenes Modem, wie nachstehend genauer
erläutert
ist (Schritt 812).
-
Wenn
der Host 102 die Transaktion bestätigt hat (Schritt 814),
druckt der dem PC 110 zugeordnete und oben beschriebene
(nicht gezeigte) Drucker auf geeignete Weise einen Transaktionsbeleg
(Quittung) aus (Schritt 816), und das System kehrt wieder
zu dem Hauptmenü 400 zurück (Schritt 818).
-
Gemäß 6 kann,
wenn der Benutzer einen Kontostand und/oder Kontosaldo abfragen
möchte (Schritt 604),
das System auf geeignete Weise dazu konfiguriert sein, den Benutzer
aufzufordern, eine spezielles abzufragendes Konto auszuwählen (Schritt 612),
woraufhin das System auf geeignete Weise zu Schritt 712 zurückkehrt
(7).
-
Wenn
der Benutzer einen Smart-Card-Geldtransfervorgang 606 auswählt, kann
das System auf geeignete Weise dazu konfiguriert sein, den Benutzer
aufzufordern, eine Smart Card in ein entsprechendes (nicht gezeigtes)
Smart-Card-Lesemodul einzuführen
(Schritt 614).
-
Insbesondere
ist es für
Fachleute auf dem Sachgebiet anhand von 9 offensichtlich,
dass Chipkarten (ICC), die auch als Smart Cards bekannt sind, typischerweise
einen in der Karte eingebetteten Mikroprozessor sowie einen elektronischen
Mechanismus aufweisen, der einen Datentransfer auf die und von der
Karte ermöglicht.
Dabei können
durch eine entsprechende Modifikation an den auf der Karte befindlichen
Daten Kontoinformationen und Geld elektronisch der Karte "zuaddiert" oder von der Karte "subtrahiert" werden.
-
Gemäß 9 kann,
wenn der Benutzer Geld der Smart Card hinzuaddieren möchte (Schritt 902),
das System in geeigneter Weise dazu konfiguriert sein, einen Prozess
analog zu dem aus 7 zu bewirken, dass nämlich der
Benutzer ein Konto, von dem das Geld entnommen und der Smart Card
hinzugefügt
werden soll, sowie den hinzuzufügenden
Geldbetrag auswählen
kann. Der Benutzer kann dann dazu aufgefordert werden, die Smart
Card in ein entweder mit dem PC 110 oder dem Modul 214 verbundenes
(nicht gezeigtes) Smart-Card-Lese-/Schreibmodul einzugeben, um die
elektronische Aktualisierung der auf der Smart Card befindlichen
Daten zu bewirken. Ferner kann das System, falls gewünscht, dazu
vorgesehen sein, als Voraussetzung für das Durchführen der
vorgenannten Smart-Card-Aktualisierungsfunktion einen funktionierenden
Drucker zu verlangen.
-
Wenn
andererseits der Benutzer Geld von der Smart Card "abheben möchte (Schritt 904),
kann das System den Benutzer auffordern, den Zielort für das von
der Smart Card abgehobene Geld auszuwählen (Schritt 906)
und den Benutzer bitten, eine PIN oder andere vertrauliche Daten
einzugeben (Schritt 908). Dabei erfolgt die Eingabe solcher
vertraulicher Informationen auf geeignete Weise analog zu der nachstehend
anhand von 11, 14 und 25–28 beschriebenen
Weise. Bei Eingabe der PIN kann die Smart-Card-Transaktion auf geeignete
Weise über
die entweder dem PC 110 oder dem Modul 214 zugeordnete
(nicht gezeigte) Smart-Card-Lese-/Schreibschaltung erfolgen.
-
Gemäß 4 kann
das System bei Auswahl des Rechnungsbezahlvorgangs 408 den
Benutzer auffordern, eine neue Rechnung dem Rechungsbezahlvorgang
aus 10 hinzuzufügen
(Schritt 1002). Insbesondere umfasst die Rechnungsbezahlfunktion
des in Frage stehenden Systems ein Verfahren zum Verfolgen unterschiedlicher
Rechnungen, beispielsweise Kaufhausrechnungen, Kreditkartenrechnungen,
Stromrechungen und dergleichen, mittels des PC 110. Wenn
der Benutzer dem Abrechnungsvorgang eine neue Abrechnungsentität hinzufügen möchte, beispielsweise
ein neues Kaufhaus-Kundenkreditkonto, können die dem neuen Konto entsprechenden
Daten von dem Benutzer beispielsweise über die Tastatur 206 in
den PC 110 eingegeben werden (Schritt 1008).
-
Das
System kann ferner verschiedene Rechnungen des Abrechnungsvorgangs 408 aus 10 anzeigen
(Schritt 1004), wodurch es dem Benutzer ermöglicht wird,
entweder zu dem Hauptmenü zurückzukehren
(Schritt 1010) oder alternativ eine spezielle Rechnung
zum Bezahlen auszuwählen
(Schritt 1006). Wenn eine spezielle Rechnung zum Bezahlen
ausgewählt
worden ist, ist das System auf geeignete Weise dazu vorgesehen,
die Zahlung der Rechnung gemäß den in
Zusammenhang mit 7 beschriebenen Schritten durchzuführen.
-
Es
sei angemerkt, dass zu unterschiedlichen Zeitpunkten bei der Ausführung des
vorgenannten Anwendungsprogramms die Benutzer gebeten werden, unterschiedliche
Konto-, PIN- oder andere Informationen und/oder Daten beispielsweise über das
Modul 214 in das System einzugeben. Somit kann das Modul 214 gemäß einem
Aspekt der vorliegenden Erfindung auf geeignete Weise dazu vorgesehen
sein, je nach der gerade ausgeführten
speziellen Funktion in mehrere unterschiedlichen Moden einzutreten.
Die das Modul 214 aufweisende Schaltung, die es dem Modul 214 ermöglicht,
in diese verschiedenen Betriebszustände einzutreten, werden nun
beschrieben, und dieser Beschreibung folgt eine Funktionsbeschreibung
der verschiedenen dem Modul 214 zugeordneten Betriebsmoden.
-
Gemäß 11 kann
das Modul 214 eine gewünschte
Konfiguration aufweisen, beispielsweise die in 11 gezeigte
geneigte konturierte Ausführungsform.
Insbesondere weist das Modul 214 ein Gehäuse 1100 auf,
beispielsweise ein spritzgegossenes Kunststoffgehäuse, das
der herkömmlichen "Maus", die typischerweise
in Zusammenhang mit Personalcomputern verwendet wird, im Wesentlichen
gleich ist. Gemäß der in 11 gezeigten
Ausführungsform
weist das Modul 214 eine Tastatur 1102, beispielsweise
mit den Zahlen 0–9,
und ferner unter anderem verschiedenen Funktionen auf, beispielsweise
einen Eingabe-(E-) und Lösch-(C-)Knopf.
Das Modul 214 weist ferner einen Kartenleseschlitz 1104 zum
Aufnehmen von Transaktionskarten des Typs mit einem Magnetstreifen
und einen ICC-(Smart-Card-)Schlitz 1106 zum Aufnehmen einer Smart
Card zum Lesen und/oder Schreiben von Daten/Informationen von der/auf
die Smart Card auf.
-
Gemäß 12 weist
das Modul 214 eine der Tastatur 1102 zugeordnet
Tastatur-Schaltung 1204 (11), eine
dem Magnetstreifenleser 1104 zugeordnete Magnetstreifenleseschaltung 1206,
einen Mikrocontroller 1212, ein Modem 1202, eine
dem ICC-Schlitz 1106 zugeordnete Smart-Card-Leseschaltung 1208 und
eine Takt-/Datenbox 1218 zum Durchführen einer Kom munikation über den
Connector 212 zwischen dem Mikrocontroller 1212 und
den Kasten 204 sowie über
den Connector 210 zwischen dem Mikrocontroller und der
Tastatur 206. Ferner weist das Modul 214 ein Steuer-Gate
1222 zum selektiven Herstellen einer Kommunikation zwischen dem
Modul 214 und dem PC 110 auf.
-
Gemäß 12 und 13 weist
der Mikroprozessor 1212 einen Mikroprozessor des Modells MC68HC11E9
von Motorola, Inc. auf. Der Prozessor 1212 ist auf geeignete
Weise an einen Energiekreis 1302, der konfiguriert ist,
um Vdd mit 5 Volt zu versorgen, und eine
Oszillatorschaltung 1304 zum Anlegen eines vorbestimmten
Taktimpulses an einen Taktport 1308 beispielsweise mit
einer Frequenz im Bereich von 4 MHz bis 12 MHz und bei der am stärksten bevorzugten
Variante 8 MHz angeschlossen. Der Prozessor 1212 weist
ferner eine Rücksetzschaltung 1306 zum
selektiven Anlegen eines Rücksetzsignals
an einen Rücksetzport 1310 des
Prozessors 1212 auf.
-
Ferner
ist der Prozessor
1212 auf geeignete Weise mit folgenden
Eingangs-/Ausgangsports versehen, die bei der dargestellten Ausführungsform
wie folgt konfiguriert sind:
Port-Nr. | Funktion |
pa0 | Karten-Durchzieh-Eingang/Ausgang
(Kanal 1) |
pa1 | Karten-Durchzieh-Eingang/Ausgang
(Kanal 2) |
pa2 | Modem-Interrupt |
pa3 | Lesen/Schreiben |
pa4 | ale |
pa5 | cs |
pa6 | Ausgang
zu "Systemvalidierungs"-LED |
pa7 | (Smart-Card-)
Lese-/Schreibdaten |
pb0 | Tastatur-Reihe
1 |
pb1 | Tastatur-Reihe
2 |
pb2 | Tastatur-Reihe
3 |
pb3 | Tastatur-Reihe
4 |
pb4 | Pufferfreigabe |
pb5 | Smart-Card-Takt |
pb6 | Smart-Card-Steuerung |
pc0 | d0-Parallel-Daten-Interface
zu Modem |
pc1 | d1-Parallel-Daten-Interface
zu Modem |
pc2 | d2-Parallel-Daten-Interface
zu Modem |
pc3 | d3-Parallel-Daten-Interface
zu Modem |
pc4 | d4-Parallel-Daten-Interface
zu Modem |
pc5 | d5-Parallel-Daten-Interface
zu Modem |
pc6 | d6-Parallel-Daten-Interface
zu Modem |
pc7 | d7-Parallel-Daten-Interface
zu Modem |
pd0,pd1 | Interface
zu Pentec-Strichcodelesedaten-Ladeprogramm |
pd2 | PC-Takt |
pd3 | PC-Daten |
pd4 | Tastatur-Takt |
pd5 | Tastatur-Daten |
pe0 | Tastatur-Spalte
1 |
pe1 | Tastatur-Spalte
2 |
pe2 | Tastatur-Spalte
3 |
-
Gemäß 12–14 ist
die Tastatur 1102 auf geeignete Weise mit den verschiedenen
dem Prozessor 1212 zugeordneten Ports verbunden, wie in 14 dargestellt.
-
Gemäß 12–13 und 15 weist
das Steuer-Gate 1222 einen Analogschalter, beispielsweise ein
Modul Nr. 74HC4066 von Motorola, Inc. auf. Der Schalter 1222 weist
vier interne Schalter a–d
auf, die auf geeignete Weise gleichzeitig von dem Ausgang des Port
pb4 derart gesteuert werden, dass die internen Schalter a–d entsprechend
dem logischen Wert des Ausgangs des Port pb4 entweder alle offen
oder alle geschlossen sind. Generell bleiben bei im Wesentlichen
sämtlichen
Betriebszuständen
des Moduls 214 die internen Schalter a–d offen und isolieren auf
effektive Weise die Tastatur 206 gegen das Kasten 204.
Im (nachstehend beschriebenen) Transparentmodus bleiben die internen
Schalter typischerweise geschlossen und ermöglichen eine normale Kommunikation
zwischen der Tastatur und dem PC.
-
Gemäß 12–13 und 15 wird
das Pufferfreigabesignal von dem Port pb4 des Prozessors 1212 auf
geeignete Weise dem Steuer-Gate 1222 zugeführt. Ferner
werden die Tastatur-Takt- und Tastatur-Datensignale zwischen Ports
pd4 bzw. pd5 des Mikroprozessors 1212 und einem Datenbus 1219,
der von dem Schalter 1222 der Tastatur 206 verläuft, über den
Connector 210 übermittelt.
Auf im Wesentlichen gleiche Weise werden die PC-Takt- und PC-Datensignale zwischen
den Ports pd2 und pd3 des Mikrocontrollers 1212 und einem
Datenbus 1218, der zwischen dem Steuer-Gate 1222 und
dem Kasten 204 (1) verläuft, über den Connector 212 übermittelt.
-
Gemäß 12, 13 und 16 weist
eine erste Ausführungsform
der dem Magnetstreifenleser 1104 zugeordneten Magnetstreifenleseschaltung 1206 (11)
einen Magnetlesekopf 1602, beispielsweise eine 1,6-Mikrometer-Henry-Induktionsspule,
erste und zweite Verstärker 1604 bzw. 1606,
beispielsweise Operationsverstärker
Modell Nr. LM324a, Komparatoren 1608 bzw. 1610,
beispielsweise Modell Nr. LM393, und einen Invertier-Schmidt-Trigger 1612,
beispielsweise Teil Nr. 74HC14 auf.
-
Insbesondere
wird gemäß 16 eine
Transaktionskarte des Typs mit einem Magnetstreifen auf geeignete
Weise derart durch einen Magnetsteifenleser 1104 des Moduls 214 (11)
gezogen, dass der Magnetstreifen magnetisch an dem Lesekopf 1602 angreift.
Das Ausgangssignal der Spule 1602 wird auf geeignete Weise
an den invertierenden Eingang des Verstärkers 1606 angelegt,
welcher eine Verstärkung
in der Größenordnung
von 20 aufweist. Das Ausgangssignal des Verstärkers 1604 wird auf
geeignete Weise an den nichtinvertierenden Eingang des Verstärkers 1606 angelegt.
Das Ausgangs signal des Verstärkers 1606 wird auf
geeignete Weise an den nichtinvertierenden Eingang des Komparators 1608 und
den invertierenden Eingang des Komparators 1610 angelegt.
Durch Anlegen einer ermittelten Schwellenspannung an den invertierenden
Eingang des Verstärkers 1608 und
ferner durch Anlegen einer vorbestimmten Schwellenspannung an den
nichtinvertierenden Eingang des Verstärkers 1610 wird eine
Reihe von logischen H- und logischen L-Impulsen an den Eingang des
Schmidt-Triggers 1612 angelegt, wobei die Eingangssignale
von der Schmidt-Trigger/Komparator-Kombination auf effektive Weise
gleichgerichtet, quadriert und zu einer binären Rechteckwelle ausgebildet
werden. Das Ausgangssignal des Schmidt-Triggers 1612 ist
eine Funktion des Ausgangssignals der Spule 1602 und entspricht
den Daten, die magnetisch in den Magnetstreifen kodiert werden,
welcher durch den Magnetkartenleser 1104 gezogen wird.
Das Ausgangssignal des Schmidt-Triggers 1621 entspricht
den dem Port pa0 des Prozessors 1212 zugeführten Kanal-1-Durchziehdaten.
-
Die
in 16 gezeigte Magnetkopf-Leseschaltung ist besonders
in Zusammenhang mit Magnetstreifen aufweisenden Karten sinnvoll,
welche mit einer einzelnen "Spur" oder einer einzelnen
Spalte von magnetisch kodierten Informationen versehen sind. Alternativ
weisen zahlreiche Magnetstreifen des Typs, der typischerweise auf
Transaktionskarten vorgesehen ist, zwei oder mehr in dem Magnetstreifen
eingebettete separate Magnetspalten auf. In solchen Fällen ist
es wünschenswert,
Doppel-Magnetlesespulen in Zusammenhang mit den Kartenleseschlitz 1104 zu
verwenden.
-
Insbesondere
weist gemäß 17 eine
alternative Ausführungsform
der Schaltung 1206 erste und zweite Lesespulen 1603a bzw. 1603b auf,
die auf geeignete Weise zum Lesen der entsprechenden ersten und zweiten
(nicht gezeigten) Magnetschienen mit den einer Transaktionskarte
zugeordneten Doppelschienen-Magnetstreifen vorgesehen sind. Bei
der in 17 gezeigten alternativen Ausführungsform
weist die Schaltung im Wesentlichen zwei der in 16 gezeigten
Schaltungen zum Erzeugen der Ausgangssignale 1702 bzw. 1704 auf,
die auf geeignete Weise an die Ports pa0 bzw. pa1 des Prozessors 1212 angelegt
werden.
-
Gemäß 18–20 sowie 12 weist
der Mikrocontroller 1212 einen Direktzugriffsspeicher (RAM) 1802,
einen Festwertspeicher (ROM) 1902 und einen löschbaren
elektronisch programmierbaren Festwertspeicher (EEPROM) 2002 auf.
-
Insbesondere
weist der RAM 1802 unter anderem jeweils Speichersektoren 1804–1836 auf,
die unterschiedlichen Adressen in dem RAM 1802 entsprechen.
Wie nachstehend anhand der Betriebszustände des Moduls 214 beschrieben
ist, werden unterschiedliche vorbestimmte Daten bei Betrieb des
Moduls 214 auf geeignete Weise in den Datensektoren 1804–1836 gespeichert
und aus diesen abgerufen.
-
Gemäß 19 ist
der Operationscode (das Operationsprogramm), der die Operation des
Moduls 214 steuert, auf geeignete Weise in einem ersten
Sektor 1904 in dem ROM 1902 gespeichert. Ferner
sind verschiedene Interrupt-Sektoren, die für den Betrieb des Moduls 214 sinnvoll
sind, auf geeignete Weise in einem zweiten Sektor 1906 in
dem ROM 1902 gespeichert.
-
Gemäß 20 weist
der EEPROM-Speicherplan 2002 einen nichtflüchtigen
Speicher zur Verwendung bei der Speicherung der dem bei der vorliegenden
Erfindung verwendeten Verschlüsselungsalgorithmus zugeordneten
Verschlüsselungsschlüssel zum
Verschlüsseln
vertraulicher Daten auf. Insbesondere weist der EEPROM 2002 einen
ersten Sektor 2004, der einem Schlüssel für eine künftige Verschlüsselung
entspricht, einen zweiten Sektor 2006, der der laufenden
Nummer des Anfangs-Verschlüsselungsschlüssels entspricht, und
einen dritten Sektor 2008 auf, der einem Verschlüsselungszähler entspricht.
Gemäß einem
Aspekt der vorliegenden Erfindung kann von dem Modul 214,
dem Modul 300 oder dem PC 110 bei der vorliegenden
Erfindung ein beliebiger Verschlüsselungsalgorithmus
verwendet werden, der eine adä quate
Sicherheit gegen unautorisierte Detektion der zugrundeliegenden
vertraulichen Daten bietet.
-
Anhand
von 21–38 werden
nun der Betrieb des Systems 100 und insbesondere die Betriebszustände des
Moduls 214 beschrieben.
-
Wie
insbesondere in 21 gezeigt ist, wird beim Einschalten
des Moduls 214 ein Rücksetzsignal
an den Rücksetzport 1310 des
Prozessors 1212 angelegt (Schritt 2102).
-
Bei
Eintritt in den Rücksetzzustand
wird die Systeminitialisierung ausgeführt (Schritt 2104).
-
Insbesondere
gemäß 22 umfasst
der Systeminitialisier-Schritt 2104 verschiedene Initialisier-Schritte
(2104b), einschließlich
unter anderem:
- 1. Initialisieren des aktuellen
Modus beispielsweise in den Transparentmodus durch Setzen des Aktuell-Modus-Registers 1804 (siehe 18)
in den Transparentmoduszustand, wie nachstehend genauer beschrieben
ist;
- 2. Initialisieren des Vorherig-Modus-Registers 1806 auf "kein Modus";
- 3. Initialisieren der System-Interrupts auf geeignete Trigger-Charakteristiken;
- 4. Freigeben von Interrupts von dem PC-Interface-Bus (z.B. Connector 212);
und
- 5. Initialisieren des PC-Interface-Temporärpuffers 1808 auf "leer".
-
Die
Relevanz der vorhergehenden Initialisier-Schritte wird nachstehend
in Zusammenhang mit der Beschreibung des Betriebs des Moduls 214 genauer
dargestellt.
-
Bei
Beendigung der Systeminitialisierung tritt das System in einen Systemumleitzustand
ein (Schritt 2106), woraufhin das System in den entsprechenden
Betriebsmodus eintritt; beim Starten des Systems ist das System
in den Transparentmodus voreingestellt, wie oben in Zusammenhang
mit dem Systeminitialisier-Schritt 2104(b) erläutert ist.
-
Insbesondere
wird bei einer bevorzugten Ausführungsform
der vorliegenden Erfindung ein auf Interrupts basierendes Verarbeitungsschema
in dem Modul 214 verwendet. Somit empfängt das System beim Durchlaufen
der Hauptoperationsschleife, wie in 21 gezeigt,
von Zeit zu Zeit Interrupts von dem PC 110. Bei Empfang
eines "Modusänderungs-"Interrupt-Befehls
von dem PC 110 bewirkt der Prozessor 1212, dass das
Modul 214 den aktuellen Modus beendet und in die Systemumleitung
(Schritt 2106) eintritt, von wo aus es in den geeigneten
neuen Betriebsmodus eintreten kann.
-
Von
der gemäß 21 den
Betrieb des Moduls 214 regelnden Hauptsteuerschleife aus
kann das System infolge mehrerer Prädikat-Instruktionen in einen
von mehreren Betriebszuständen
eintreten. Insbesondere kann das System in bestimmte Betriebszustände eintreten,
die von dem ausführbaren
Code in dem Sektor 1904 des ROM 1902 gesteuert
werden. Ferner kann das System infolge von von dem PC 110 kommenden Befehlen
in bestimmte Betriebszustände
eintreten, wie anhand von 23 näher erläutert wird.
-
Gemäß 23 sendet
der PC 110 von Zeit zu Zeit Interrupt-Befehle über den
Connector 212 an das Modul 214 (Schritt 2302).
-
Bei
Empfang eines PC-Interrupt wird das von dem PC 110 kommende
Datenpaket auf geeignete Weise in dem Sektor 1808 des RAM 1802 gespeichert
(Schritt 2304). Das System stellt dann fest, ob die vollständige von
dem PC 110 kommende Mitteilung (Interrupt-Datenpaket) empfangen
worden ist; wenn dies nicht der Fall ist, kehrt das System zu der
Hauptschleife 2100 zurück.
Wenn eine vollständig
Mitteilung an dem Modul 214 empfangen wird, stellt das
System fest, ob die Daten einer Befehlsinstruktion entsprechen oder
die Mitteilung einer anderen als einer Befehlsinstruktion entspricht
(Schritt 2308).
-
Wenn
die Mitteilung anderen Daten als einer Befehlsinstruktion entspricht,
wird die Mitteilung zwecks anschließender Verarbeitung, z.B. Modem-Übermittlung zu dem Host-Computer 102,
auf geeignete Weise in einem Datenausgangspuffer 1810 des
RAM 1802 gespeichert (Schritt 2310). Danach wird
der Inhalt des PC-Interface-Temporärpuffers 1808 auf
Leer zurückgesetzt
(Schritt 2320), und dann kehrt das System wieder in seinen
Vor-Interrupt-Zustand zurück
(Schritt 2322).
-
Bei
Schritt 2308 aus 23 stellt
das System, wenn die empfangenen Daten eine Befehlsinstruktion darstellen,
fest, ob die Befehlsinstruktion einer Modusänderung entspricht (Schritt 2312).
Wenn dies nicht der Fall ist, werden die Daten in einem Befehlsregister 1812 des
RAM 1802 zur möglichen
anschließenden
Verwendung in dem dann aktuellen Modus gespeichert (Schritt 2316);
das System geht dann zu Schritt 2320 weiter, wie oben beschrieben.
Wenn die von dem PC 110 kommende Mitteilung einem Modusänderungsbefehl entspricht
("Ja"-Abzweigung in Schritt 2312),
wird der dann aktuelle Modus in das Vorherig-Modus-Register 1806 geschrieben
(Schritt 2314) und wird der neu empfangene Modus in das
Aktuell-Modus-Register 1804 des RAM 1802 geschrieben
(Schritt 2318). Das System geht dann zu Schritt 2320 über, wie
oben beschrieben.
-
Gemäß 21 fragt
bei Empfang einer Mitteilung von dem PC 110 der Prozessor 1212 das
Aktuell-Modus-Register 1804 ab und meldet entsprechend
dem Inhalt des Registers 1804 den entsprechenden Betriebsmodus
aus der Hauptschleife 2100. Beim Starten tritt das System
auf geeignete Weise in den Transparentmodus ein (Schritt 2110).
-
Gemäß 24 wird
in dem Transparentmodus 2110, wie auch in verschiedenen
anderen nachstehend beschriebenen Betriebsmoden, festgestellt, ob
eine anschließende
Modusänderung
seit dem Eintritt in den Transparentmodus 2110 empfangen
worden ist (Schritt 2402). Wenn eine Modusänderung
empfangen wird, tritt das System in den Systemumleitzustand ein
(Schritt 2106) (siehe auch 21) und
tritt in den neu ausgewählten
Modus ein. Wenn keine Modusänderung
aufgetreten ist, fragt der Prozessor 1212 das Vorherig-Modus-Register 1806 ab,
um festzustellen, ob der vorherige Modus dem Transparentmodus entspricht (Schritt 2404).
Wenn der vorherige Modus dem Transparentmodus entspricht, geht das
System zu Schritt 2410 weiter. Wenn der vorherige Modus
nicht der Transparentmodus war, befiehlt das System der Tastatur,
seine internen Puffer zu löschen
und das Vorherig-Modus-Register 1806 auf
Transparent zu setzen (Schritt 2408). Insbesondere wenn
der vorherige Modus nicht der Transparentmodus war, ist es möglich, dass
falsche Tastenanschläge
auf der Tastatur 206 ausgeführt worden sind, wobei die
Tastatur-Daten in in 2 nicht gezeigten Puffern innerhalb
der Tastatur 206 gespeichert worden sein können. Um
zu verhindern, dass diese falschen Tastenanschlägen entsprechende Daten an
den PC 110 übermittelt
werden, werden die internen Puffer der Tastatur gelöscht (Schritt 2408).
Danach gibt das System das Interface zwischen der Tastatur 206 und
dem PC 110 frei (Schritt 2410).
-
Insbesondere
gemäß 12, 13 und 15 umfasst
der Schritt 2410 aus 24 das
Erzeugen eines Pufferfreigabesignals am Port pb4 durch den Prozessor 1212 und
das Übermitteln
des Pufferfreigabesignals an das Steuer-Gate (Schalter) 1222. In Reaktion
darauf werden die internen Schalter a–d des Schalters 1222 geschlossen,
wodurch eine direkte Kommunikation zwischen dem PC 110 und
der Tastatur 206 über
den Connector 212, den Bus 1218, den Schalter 1222,
den Bus 1219 und den Connector 210 hergestellt
wird. Danach fährt
das System mit dem Durchlaufen des Transparentmodus 2110 fort,
wodurch ein Normalbetrieb der Tastatur 206 relativ zu dem
PC 110 ermöglicht
wird. Das System fährt
mit dem Durchlaufen des Transparentmodus 2110 fort, bis
eine nachfolgende Mitteilung von dem PC 110 kommt.
-
Gemäß 21 kann
das System auch einen Befehl zum Eintreten in einen Abtastmodus
empfangen (Schritt 2112), zum Beispiel in Reaktion auf
eine Abtastmodus-Aufforderung durch den PC 110 (siehe Schritt 806, 8),
woraufhin der Prozessor 1212 bewirkt, dass das Modul 214 in
den Abtast-Betriebsmodus eintritt (Schritt 2114).
-
Insbesondere
gemäß 25 umfasst
der Abtastmodus 2114 generell das "Abtasten" der der Tastatur 1102 zugeordneten
Schaltung (14), um von dem Benutzer in
die Tastatur 1102 eingegebene Daten (z.B. PIN) zu detektieren.
-
Gemäß 25 umfasst
der Abtastmodusbetrieb unter anderem das Initialisieren des PIN-Eingabe-Puffers 1814 des
RAM 1802 zu Leerungszwecken (Schritt 2502) und
das Vorbereiten des PIN-Puffers auf das Empfangen von Daten, die
gerade von dem Benutzer in die Tastatur 1102 eingegeben
werden.
-
Das
System detektiert, ob ein nachfolgender Modusänderungsbefehl empfangen worden
ist (Schritt 2504); wenn dies der Fall ist, kehrt das System
zu dem Systemumleit-Schritt 2104 zurück. Wenn keine Modusänderung
aufgetreten ist, wartet das Modul 214, bis ein Tastendruck
detektiert wird (Schritt 2506) oder alternativ bis eine
Modusänderung
detektiert wird (Schritt 2504).
-
Insbesondere
tastet der Prozessor 1212 die Ports pb0–pb3 und die Ports pe0–pe2 ab
(siehe 13), welche den Reihen 1–4 bzw.
den Spalten 1–3
der Tastatur 1102 entsprechen (siehe 14).
Wenn ein Tastendruck detektiert wird, stellt das System fest, ob
die gedrückte
Taste einer der Zahlen 0–9
entspricht (Schritt 2508); wenn dies der Fall ist, sendet
das Modul 214 auf geeignete Weise ein Signal an den PC 110,
um ein "Dummy"-Zeichen der gedrückten Tast
auf dem Bildschirm 202 zu erzeugen (2).
-
Insbesondere
weist das in dem Sektor 1904 des ROM 1902 gespeicherte
Betriebsprogramm (19) des Prozessors 1212 einen
Operationscode auf, der es dem Modul 214 ermöglicht,
derart mit dem PC 110 zu kommunizieren, dass die Art und
Weise, in der herkömmliche
Tastaturen (z.B. die Tastatur 206) typischerweise mit dem
Kasten 204 kommunizieren, emuliert wird. Bei einer bevorzugten
Ausführungsform
der vorliegenden Erfindung ist der den Betrieb des Moduls 214 regelnde
Operationscode auf geeignete Weise gemäß einem geeigneten Protokoll
konfiguriert, beispielsweise dem von IBM in seinen PCs verwendeten
Protokoll oder einer anderen geeigneten Ableitung oder Variante
dieses Protokolls, um es dem Modul 214 zu ermöglichen,
derart mit dem Kasten 204 zu kommunizieren, dass die herkömmliche
Kommunikation zwischen der Tastatur 206 und dem Kasten 204 emuliert
wird; die Datenübermittlung
und andere Kommunikationen zwischen dem Modul 214 und dem
Kasten 204 können
einfach und effizient auf eine Weise durchgeführt werden, die für den Kasten 204 im
Wesentlichen transparent ist, das heißt, wenn der Kasten 204 Daten
und/oder Informationen von dem Modul 214 empfängt, interpretiert
der Kasten 204 die Daten so, als ob der Kasten 204 diese
von der Tastatur 206 empfangen hätte. Auf im Wesentlichen gleiche
Weise konfiguriert der Kasten 204, wenn der Kasten 204 Daten und/oder
Informationen übermittelt,
die das Modul 214 empfangen hat, die Daten-/Informationspakete
auf die gleiche Weise, in der der Kasten 204 die Daten
normalerweise für
den Empfang durch die Tastatur 206 konfigurieren würde. Durch
wirksames Einsetzen zurzeit bekannter Datenübermittlungsprotokolle auf
diese Weise kann das Modul 214 auf einfache Weise zwischen
der Tastatur und dem Tastaturport auf dem PC in Reihe geschaltet
sein, und zwar im Wesentlichen bei sämtlichen PCs, die mit in der
Industrie anerkannten Protokollschemata übereinstimmen,.
-
Gemäß 25 wartet
das System, wenn ein Tastendruck 0 bis 9 entspricht, bis die Taste
losgelassen worden ist (Schritt 2518), bevor es die Daten
erfasst. Auf diese Weise wird bei dem System verhindert, dass Wiederholungsdaten
erfasst werden, die von zahlreichen Tastaturen häufig erzeugt werden, welche
insbesondere zum kontinuierlichen Erzeugen von sich wiederholenden
Tastenanschlagdaten bei Festhalten einer speziellen Taste durch
den Benutzer konfiguriert sind.
-
Bei
Schritt 2508 stellt das System, wenn der Tastendruck nicht
0 bis 9 entspricht, fest, ob der Tastendruck "Eingabe" entspricht (Schritt 2512);
wenn dies der Fall ist, wird eine einem "Eingabe"-Befehl entsprechende Mitteilung von
dem Modul 214 an den PC 110 übermittelt (Schritt 2514),
wodurch angezeigt wird, dass die Eingabe vertraulicher Daten (z.B.
PIN) beendet ist. Wenn andererseits der Tastendruck nicht "Eingabe" entspricht, stellt
das System die Identität
des Tastendrucks fest. Wenn bei der dargestellten Ausführungsform
der Tastendruck nicht 0 bis 9 und auch nicht "Eingabe" entspricht, schließt das System daraus, dass
der Tastendruck "Abbruch" entspricht (Schritt 2516).
Somit übermittelt
das Modul 214 eine Mitteilung an den PC 110, die anzeigt,
dass die Eingabe vertraulicher Daten von dem Benutzer abgebrochen
worden ist.
-
Bei
Loslassen der gedrückten
Taste durch den Benutzer (Schritt 2518) stellt das System
fest, ob der Tastendruck 0 bis 9 entspricht (Schritt 2520);
wenn dies der Fall ist, wird das Drücken der speziellen numerischen
Taste auf geeignete Weise in dem PIN-Eingabe-Puffer 1814 des
RAM 1802 gespeichert (Schritt 2524), und das System
kehrt zu Schritt 2504 zurück, um auf den nächsten Tastendruck
zu warten.
-
Wenn
der Tastendruck "Abbruch" entspricht (Schritt 2522),
setzt das System den PIN-Eingabe-Puffer 1814 auf Leer zurück (Schritt 2528)
und kehrt zu Schritt 2504 zurück, um entweder auf eine Modusänderung oder
einen nachfolgenden Tastendruck zu warten.
-
Wenn
der Tastendruck "Eingabe" entspricht ("Ja"-Abzweigung in Schritt 2522),
verschlüsselt
das Modul 214 die in dem PIN-Eingabe-Puffer 1814 gespeicherten
Daten auf geeignete Weise (Schritt 2526), wie nachstehend
anhand von 26 näher erläutert wird.
-
Die
dargestellte Ausführungsform
ist zwar anhand von numerischen PIN-Daten (d.h. "0" bis "9") beschrieben worden, es sei jedoch
angemerkt, dass die in das Modul 214 eingegebenen vertraulichen
Daten jede geeignete Form aufweisen können, z.B. numerische, alphabetische,
alphanumerische, ASCII, binäre
oder eine andere geeignete Modalität.
-
Gemäß 26 wird
der Verschlüsselungsvorgang 2526 auf
geeignete Weise wie folgt durchgeführt. Wenn die vertraulichen
Daten (z.B. PIN) von den Benutzer in die Tastatur 1102 eingegeben
worden sind, ruft der Prozessor 1212 die Daten aus einem
Personenkontonummern-Register 1818 des RAM 1802 und
die PIN aus dem Puffer 1814 ab (Schritt 2602).
Diese Daten werden allein oder zusammen mit anderen Daten auf geeignete
Weise kombiniert und verschlüsselt
(Schritt 2602). Bei einer bevorzugten Ausführungsform
können diese
Daten auf geeignete Weise gemäß der ANSI-Spezifikation
X9.24-1992 kombiniert werden. Die Daten werden auf geeignete Weise
gemäß dem ANSI-Standard X3.92-1981
oder einer anderen gewünschten
Verschlüsselungstechnik
verschlüsselt.
Insbesondere ist gewünscht,
dass sich die vorgenannten Kombinations- und Verschlüsselungsalgorithmen
in dem Betriebsprogrammsektor 1904 des ROM 1902 befinden
und zusammen mit auf geeignete Weise im EEPROM 2002 gespeicherten
Verschlüsselungs-Schlüsselinformationen
arbeiten (siehe 19 und 20). Durch
Speichern der Verschlüsselungs-Schlüs seldaten
in einem nichtflüchtigen
Speicher (d.h. EEPROM) werden die Systemintegrität und -sicherheit erhöht.
-
Gemäß 26 werden
beim Verschlüsseln
der Daten bei Schritt 2602 die verschlüsselten Daten auf geeignete
Weise in die nächstfolgende
Speicherstelle in dem Verschlüsselungs-PIN-Sektor 1816 des
RAM 1802 geschrieben (Schritt 2604). Danach wird
die der Speicherstelle in dem Sektor 1816, in die die verschlüsselten
Daten geschrieben sind, entsprechende Adresse an den PC 110 übermittelt
(Schritt 2606). Insbesondere wird gemäß 2, wenn
die Daten in dem Modul 214 verschlüsselt sind, die Speicherstelle
der verschlüsselten
Daten über
den Connector 212 derart an den PC 110 übermittelt,
dass unverschlüsselte
vertrauliche Daten zum Durchführen
einer Transaktion nicht von dem Modul 214 an den PC 110 übermittelt
zu werden brauchen.
-
Nach
dem Verschlüsseln
der Daten erstellt der Prozessor 1212 auf geeignete Weise
einen einzigartigen Schlüssel
zur Verwendung bei einem nachfolgenden Verschlüsselungsprozess und speichert
den neuen Schlüssel
in dem Künftig-Verschlüsselungsschlüssel-Sektor 2004 des
EEPROM 2002 (Schritt 2608). Gemäß einem
Aspekt der vorliegenden Erfindung kann der neue Verschlüsselungsschlüssel gemäß einem
geeigneten Schema erzeugt werden, das mit dem in Schritt 2602 ausgeführten Verschlüsselungsalgorithmus
kompatibel ist. Gemäß einer
bevorzugten Ausführungsform
kann ein neuer einzigartiger Verschlüsselungsschlüssel gemäß ANSI X9.24-1992
erzeugt werden.
-
Beim Übermitteln
von Zeichen der verschlüsselten
Daten von dem Modul 214 zu dem PC 110 fährt der PC 110 mit
der Ausführung
des in dem PC befindlichen Anwendungsprogramms fort, wie oben anhand
von 4–10 ausführlich beschrieben
ist.
-
Bei
der Hauptsteuerschleife 2100 des Moduls 214 (21)
kann das Modul 214 ferner das Eintreten in den Kartendurchziehmodus 2118 auswählen (Schritt 2116).
Insbesondere kann gemäß 7 der
PC 110 das Modul 214 auffordern, in den Kartendurchzieh-Betriebsmodus
einzutreten, beispielsweise an einer Stelle während der Ausführung der
in dem PC 110 befindlichen Anwendungs-Software, an der
diese Anwendungs-Software den Benutzer auffordert, seine Transaktionskarte
durch den Kartendurchziehschlitz 1104 des Moduls 214 durchzuziehen
(11), wie beispielsweise oben anhand von Schritt 716 beschrieben
ist.
-
Gemäß 27 initialisiert
(löscht)
der Prozessor 1212 bei Eintritt in den Durchzieh-Betriebsmodus
auf geeignete Weise jeweilige Durchziehdaten-Eingabepuffer 1820,1822 des
RAM 1802 (Schritt 2702). Das System sucht dann
eine Modusänderung
(Schritt 2704) und kehrt bei Detektion einer Modusänderung
in den Systemumleitzustand 2106 zurück. Andernfalls setzt das System
einen Durchzieh-Zeitüberschreitungszähler auf eine
vorbestimmte Maximalzeit, während
der die Transaktionskarte an dem Kartenleser angreifen muss (Schritt 2706).
Bei einer bevorzugten Ausführungsform
ist der vorbestimmte Wert dieser Maximalzeit, der in der Größenordnung
von 15 Sekunden liegt, auf geeignete Weise in einem Durchzieh-Zeitüberschreitungs-Register 1824 des
RAM 1802 gespeichert.
-
Der
Zeitüberschreitungszähler wird
sukzessive dekrementiert (Schritt 2708), bis der in dem
Sektor 1824 befindliche Software-Timer Null erreicht (Schritt 2710),
woraufhin die dann in den Puffern 1820,1822 befindlichen
Daten an den PC 110 übermittelt
werden (Schritt 2714). Alternativ können statt des Wartens, bis
der Maximalzeitzähler
bis Null gezählt
hat, die "durchgezogenen" Daten an den PC 110 übermittelt
werden, wenn der Prozessor 1212 feststellt, dass die jeweiligen
Eingabepuffer 1820,1822 voll sind (Schritt 2712).
-
Beim
ersten Auftreten der Zeitüberschreitung
dieses Durchzieh-Zeitüberschreitungszählers (Schritt 2710)
oder einer Detektion, dass die Durchzieh-Eingabepuffer voll sind
(Schritt 2712) werden die Daten in den Kartendurchziehpuffern 1820,1822 an
den PC 110 übermittelt
(Schritt 2714).
-
Mit
Bezug auf 12 und 16-17 sei
daran erinnert, dass die Magnetstreifenleseschaltung 1206 mittels
eines Magnetkopflesers 1602 (oder Magnetkopfleser 1603(a), 1603(b) in 17)
die Daten von dem Magnetstreifen auf einer Transaktionskarte "liest", woraufhin die Leseschaltung 1206 ein
Ausgangssignal (das der "ch1-Durchziehung" und/oder "ch2-Durchziehung" entspricht) an die
Ports pa0 bzw. pa1 des Prozessors 1212 anlegt, wie oben
genauer erläutert
ist.
-
Insbesondere
wird gemäß 16 und 28 eine
einen Magnetstreifen aufweisende Transaktionskarte durch den Kartenleseschlitz 1104 gezogen
(siehe 11) und gibt der Magnetlesekopf 1602 alternierend Hoch-
und Niederspannungspegel aus, die den auf dem Magnetstreifen kodierten
Daten entsprechen. Bei Detektion eines ersten Ausgangspegels von
dem Schmidt-Trigger 1612, beispielsweise eines logischen
H-Werts, wird ein in dem Prozessor 1212 befindlicher (nicht
gezeigter) Hardware-Timer gestoppt und wird die Zeit, zu der der
Timer gestoppt wird, auf geeignete Weise in einem Durchzieh-Timer-Register 1826 des
RAM 1802 gesichert (siehe 18) (Schritt 2802).
Der Kartendurchzieh-Timer wird wieder auf Null zurückgesetzt
und neu gestartet, wobei er auf das Detektieren eines nächsten vorbestimmten
Spannungspegels von dem Schmidt-Trigger 1612 wartet (Schritt 2802).
-
In
Zusammenhang mit den in Schritt 2802 abgerufenen Timerdaten
stellt der Prozessor 1212 fest, ob das Ausgangssignal des
Schmidt-Trigger 1612 einem vorbestimmten logischen Zustand
(z.B. Null oder Eins) entspricht (Schritt 2804). Diese
logischen Daten können
dann an sukzessiven Bitspeicherstellen in dem entsprechenden Durchzieh-Eingabepuffer
(z.B. Puffer 1820,1822) gespeichert werden (Schritt 2804).
Das System stellt dann fest, ob der (die) Durchzieh-Eingabepuffer
voll ist (sind) (Schritt 2806). Wenn der Durchzieh-Eingabepuffer
voll ist, wird auf geeignete Weise ein Puffer-Voll-Flag in dem Durchziehpuffer-Voll-Flag-Register 1828 des
RAM 1802 gesetzt (18) (Schritt 2808),
wodurch es dem Prozessor 1212 ermöglicht wird festzu stellen,
wann der (die) Durchzieh-Eingabepuffer voll ist (sind) (siehe Schritt 2712, 27).
-
Bei
Schritt 2806 aus 28 wird,
wenn der (die) Durchzieh-Eingabepuffer nicht voll ist (sind), der
oben genannte Software-Timer auf einen maximalen Bitintervallwert
zurückgesetzt
(Schritt 2810) und kehrt der Prozess (Schritt 2812)
an die Stelle zurück,
an der er den in 27 dargestellten Prozess verlassen
hat, woraufhin der Prozess aus 28 auf
einer Bit-für-Bit-Interrupt-Basis
wiederholt wird, bis sämtliche
entsprechenden Daten von dem Magnetstreifen der Transaktionskarte "gelesen" sind. Es sei jedoch
darauf hingewiesen, dass der gesamte Prozess des Akkumulierens der
Kartendurchziehdaten in einem sehr kurzen Zeitraum von beispielsweise
in zehn Millisekunden bis zu einer Sekunde durchgeführt wird,
wenn eine Karte durch den Kartenleseschlitz 1104 gezogen
wird (11).
-
Gemäß 21 ist
das Modul 214 ferner dazu vorgesehen, von der Hauptschleife 2100 aus
in einen Druckmodus 2122 einzutreten (Schritt 2120),
beispielsweise nach einer entsprechenden Aufforderung durch den
PC 110 (siehe Schritt 816, 8).
-
Gemäß 29 umfasst
der Druck-Betriebsmodus 2122 das Initialisieren des Druckers
(Schritt 2902), beispielsweise um verschiedene dem Druckprozess
zugeordnete Hardware- und Software-Parameter zu erstellen. Dabei
kann, wie oben kurz erläutert,
der Drucker mit dem PC 110 verbunden sein, beispielsweise
durch Verbinden eines Druckers direkt mit dem Kasten 204 oder
durch Verbinden des Druckers über
eine geeignete Netzwerkkonfiguration mit dem PC 110. Alternativ
kann der Drucker direkt an dem Verschlüsselungsmodul angeschlossen
sein, beispielsweise an dem Connector 310 des Moduls 300 (3 oder
alternativ an einem Peripherievorrichtungsmodul 1200 des
Moduls 214, wie in 12 gezeigt).
-
Gemäß 29 stellt
das System fest, ob eine Modusänderung
aufgetreten ist (Schritt 2904), und wenn dies der Fall
ist, kehrt es zu dem Systemumleit-Schritt 2906 zurück.
-
Das
System stellt dann fest, ob die auszudruckenden Daten aktuell zur
Verfügung
stehen, beispielsweise durch Abfragen des Datenausgangspuffers 1810 (18)
(Schritt 2908). Wenn die Daten nicht zur Verfügung stehen,
kehrt das System zu Schritt 2902 zurück, um auf die auszudruckenden
Daten zu warten. Wenn die Daten zur Verfügung stehen ("Ja"-Verzweigung in Schritt 2908),
stellt das System fest, ob der Drucker bereit ist (Schritt 2930).
Dabei ist der zu prüfende
Drucker wahrscheinlich mit dem Modul 214 verbunden, da
es nicht typischerweise erforderlich ist, den Druckvorgang 2122 auszuführen, wenn
der Drucker mit dem PC 110 verbunden ist. Anders ausgedrückt kann,
wenn der PC 110 mit einem Drucker ausgestattet ist, der
Druckvorgang direkt von dem PC 110 gesteuert werden, während der
Druckvorgang aus 29 auf geeignete Weise von dem
Modul 214 gesteuert wird, wenn der bei der vorliegenden
Erfindung verwendete Drucker an das Modul 214 angeschlossen
ist.
-
Gemäß 29 sendet,
wenn der Drucker nicht bereit ist, das Modul 214 auf geeignete
Weise einen Befehl an den PC, welcher anzeigt, dass der dem Modul 214 zugeordnete
Drucker nicht bereit ist. Dabei kann der PC 110 den Benutzer
auffordern, die Druckersituation zu korrigieren, beispielsweise
wie oben anhand von 7 beschrieben.
-
Wenn
der dem Modul 214 zugeordnete Drucker bereit ist, werden
die in dem Datenausgangspuffer 1810 befindlichen Daten
beispielsweise über
einen seriellen Bus 1211 an den Drucker übermittelt
(siehe 12). Gemäß der bevorzugten Ausführungsform
werden die auszudruckenden Daten seriell an den Drucker übermittelt;
somit ist gewünscht,
dass der in 29 dargestellte Prozess wiederholt
wird, bis die Daten aus dem Datenausgangspuffer 1810 sequentiell
an den Drucker übermittelt
worden sind.
-
Bei
der Hauptschleife 2100 (21) ist
gemäß 30 das
Modul 214 auf geeignete Weise zum Eintreten in einen Modem-Modus 2126 (Schritt 2124)
beispielsweise in Reaktion auf eine entsprechende Aufforderung durch
den PC 110 konfiguriert (siehe Schritt 710, 7).
-
Wie
oben kurz erläutert,
kann die vorliegende Erfindung zum Übermitteln von Daten und Informationen auf
geeignete Weise von dem PC 110 zu dem Host-Computer 102,
beispielsweise über
ein dem PC 110 zugeordnetes Modem oder alternativ ein dem
Modul 214 zugeordnetes Modem 1202 (oder den dem
Modul 300 zugeordneten Modem-Connector 308) konfiguriert
sein (3). Wenn Daten von dem PC 110 über ein
dem PC 110 zugeordnete Modem übermittelt werden, ist es generell
nicht erforderlich, dass das Modul 214 die Modem-Operation 2126 ausführt; die
Modem-Operation kann vielmehr auf effektive Weise von dem PC 110 ausgeführt werden.
Wenn andererseits die Modem-Operation über ein an das Modul 214 angeschlossenes
Modem auszuführen
ist, kann es besonders vorteilhaft sein, dass der Prozessor 1212 die
Modem-Operation steuert.
-
Gemäß 30 umfasst
die Modem-Operation 2126 eine Initialisierung des Modems 1202 (Schritt 3002),
das Modul 214 stellt dann fest, ob eine Modusänderung
aufgetreten ist (Schritt 3004), und wenn dies der Fall
ist, kehrt das System zu der Systemumleitung 2106 zurück. Wenn
keine Modusänderung
aufgetreten ist, stellt das System fest, ob der Datenausgangspuffer 1810 die über das
Modem zu übermittelnden
Daten enthält
(Schritt 3006). Wenn sich die Daten nicht in dem Puffer 1810 befinden,
kehrt das System zu Schritt 3004 zurück und fährt mit dem Durchlaufen der
Schritte 3004 bis 3006 fort, bis die Daten in
den Puffer 1810 geschrieben sind oder bis eine Modusänderung
auftritt.
-
Wenn
der Datenausgangspuffer 1810 die entsprechenden über das
Modem zu übermittelnden
Daten enthält,
ruft der Prozessor 1212 die Daten von dem Ausgang 1810 ab
und übermittelt
die Daten über
das Modem an den Host-Computer 102 (Schritt 3008).
Wenn gewünscht
ist, dass das Modul 214 Daten über das Modem beispielsweise
von dem Host-Computer 102 empfängt, kann der Prozessor 1212 auf
geeignete Weise zum Abrufen der Daten von dem Modem 1202 beispielsweise
an dem Modem-Interrupt-Port pa2 konfiguriert sein.
-
Gemäß 31 übermittelt
der PC 110 auf geeignete Weise eine Aufforderung an das
Modul 214 zum Übermitteln
von Daten über
das mit dem Modul 214 verbundene Modem. Insbesondere wird
eine Modem-Interrupt-Mitteilung von dem Modem 1202 dem
Port pa2 des Moduls 1212 zugeführt. Das Modul 214 stellt
dann fest, ob die Mitteilung einem "Datenempfangs"-Interrupt (Schritt 3102) oder
einem Modem-Übermittlungs-Interrupt
(Schritt 3104) entspricht. Wenn ein Datenempfangs-Interrupt
auftritt ("Ja"-Verzweigung bei
Schritt 3102), das anzeigt, dass Daten an dem Modem 1202 empfangen
worden sind, werden die an dem Modem 1202 empfangenen Daten
von dem Prozessor 1212 abgerufen und über den Connector 212 an
den PC übermittelt
(Schritt 3106).
-
Wenn
die Modem-Interrupt-Mitteilung einer Modem-Übermittlungs-Aufforderung entspricht
(Schritt 3104), ruft der Prozessor 1212 die zu übermittelnden
Daten von dem Puffer 1810 ab und legt die Daten beispielsweise
auf einer Byte-für-Byte-Basis
an das Modem 1202 an (Schritt 3108).
-
Wenn
das Modem-Interrupt weder einer Datenempfangs- noch einer Datenübermittlungsmitteilung entspricht,
wird auf geeignete Weise eine Fehlermeldung an den PC gesendet (Schritt 3110).
-
Wenn
die Daten an dem Modem 1202 empfangen worden sind, werden
diese abgerufen und an den PC 110 gesendet (Schritt 3106).
Und nach dem Senden der Daten durch den Prozessor 1212 von
dem Puffer 1810 an das Modem 1202 (Schritt 3108)
kehrt das System (Schritt 3112) zu dem Nie derpegelprozess
aus 30 zurück,
und der Prozess wird für
jedes von dem Modem 1202 erzeugte sukzessive Interrupt
wiederholt.
-
Gemäß 21 und 32 kann
das Modul 214 auf geeignete Weise zum Eintreten in einen
Strichcode-Betriebsmodus 2130 (Schritt 2128) beispielsweise
in Reaktion auf eine entsprechende Aufforderung durch den PC 110 konfiguriert
sein. Der Strichcodevorgang 2130 umfasst das Feststellen,
ob eine Modusänderung
aufgetreten ist (Schritt 3302), und wenn dies der Fall
ist, das Rückführen des
Systems zu dem Umleit-Schritt 2106. Wenn keine Modusänderung
aufgetreten ist, können
Daten von einem Universalmodul 1210, beispielsweise einem
Strichcodeleser, eingegeben werden (Schritt 3204). Wenn
das Modul 214 den Strichcode oder andere Daten empfangen
hat, können
diese auf geeignete Weise wie gewünscht an den PC 110 übermittelt
werden (Schritt 3206).
-
Gemäß 21 und 33 kann
das Modul 214 auf geeignete Weise zum Ausführen eines Smart-Card-Vorgangs 2134 (Schritt 2132)
beispielsweise in Reaktion auf eine entsprechende Aufforderung durch
den PC 110 konfiguriert sein. Dabei sei angemerkt, dass
gemäß der hier
beschriebenen Ausführungsform
zwar viele der verschiedenen dem Modul 214 zugeordneten
Funktionsmerkmale (z.B. Modem-Operation 2126, Druckvorgang 2122,
Durchziehvorgang 2118 und dergleichen) in Reaktion auf
eine Aufforderung durch den PC 110 initiiert werden, jedoch
verschiedene Betriebszustände
des Moduls 214 in geeigneter Weise auf eine beliebige gewünschte Weise
ausgeführt
werden können,
beispielsweise durch Eingeben entsprechender Befehle direkt in das
Modul 214.
-
Gemäß 33 umfasst
der Smart-Card-Modus 2134 das Feststellen, ob eine Modusänderung
aufgetreten ist (Schritt 3302), und wenn dies der Fall
ist, das Rückkehren
zu dem Systemumleit-Schritt 2106.
-
Wenn
keine Modusänderung
aufgetreten ist, stellt das System fest, ob Daten von einer Smart
Card zu lesen sind (Schritt 3304). Dabei kann, wie oben
kurz erläutert,
eine solche Aufforderung von dem PC 110 kommen oder anderweitig
von dem Benutzer bewirkt worden sein, beispielsweise durch Eingeben
eines speziellen Code oder Drücken
anderer (nicht gezeigter) Knöpfe
auf der Tastatur 1102 (11).
-
Wenn
Daten von einer Smart Card zu lesen sind ("Ja"-Abzweigung
in Schritt 3304), werden die Daten von dem Prozessor 1212 beispielsweise über den
Smart-Card-Leser 1208 (12) abgerufen.
Beim Abrufen der Daten von der Smart Card können die Daten an den PC 110 übermittelt
werden (Schritt 3306).
-
Wie
oben erläutert,
kann das Modul 214 ferner zum Schreiben von Daten in eine
Smart Card konfiguriert sein. In diesem Fall können die entsprechenden in
die Smart Card zu schreibenden Daten auf geeignete Weise von dem
Ausgangspuffer 1810 abgerufen und der Smart-Card-Schaltung 1208 zugeführt werden (Schritte 3308, 3310).
-
Gemäß 21 und 34 kann
das Modul 214 in der PC-Anwendungs-Software, die oben anhand von 4–10 beschrieben
worden ist, auf geeignete Weise derart konfiguriert sein, dass die
Anwendungs-Software in dem PC 110 zuerst das Modul 214 validieren
muss, bevor sie das Übermitteln
der verschlüsselten
Daten oder anderweitiges Ausführen
von hier beschriebenen Funktionen ermöglicht. Insbesondere kann es
angesichts der Bedeutung des Aufrechterhaltens der Sicherheit bei
der Echtzeit-Geldtransfer-Autorisierung wünschenswert sein, dass es dem
PC 110 ermöglicht
wird (z.B. über
die Software), vor der Durchführung
von Transaktionen zu bestätigen,
dass das Modul 214 zufriedenstellende Sicherheitsmerkmale
aufweist.
-
Gemäß 21 und 34 kann
das Modul 214 auf geeignete Weise zum Eintreten in einen
Systemvalidierungsmodus 2138 (Schritt 2136) beispiels weise
in Reaktion auf eine entsprechende Aufforderung durch den Benutzer
oder den PC 110 konfiguriert sein. Der Systemvalidierungsmodus 2138 umfasst
unter anderem das Feststellen, ob eine Modusänderung aufgetreten ist (Schritt 3402),
und wenn dies der Fall ist, kann das System zum Zurückkehren
zu dem Systemumleit-Schritt 2106 konfiguriert sein.
-
Das
Modul 214 kann dann zum Empfangen und/oder Abrufen von
Validierungsdaten von dem PC 110 konfiguriert sein, wobei
die Validierungsdaten bestätigen,
dass die auf dem PC 110 laufende Anwendungs-Software mit
dem Modul 214 kompatibel ist; alternativ können es
die Validierungsdaten dem Modul 214 ermöglichen, eine Selbstprüfung durchzuführen, um
festzustellen, ob angemessene Sicherheitsmechanismen vorhanden sind.
Das Modul 214 kann dann bestätigen, dass es mit der Software
in dem PC 110 kompatibel ist (Schritt 3406). Wenn
das System feststellt, dass entweder das Modul 214 oder
das auf dem PC 110 laufende Anwendungsprogramm gemäß vorbestimmten
Validierungskriterien nicht "gültig" ist, kann das Modul 214 entweder
zum Selbstdeaktivieren oder zum Deaktivieren der auf dem PC 110 laufenden
Software (Schritt 3408) konfiguriert sein.
-
Gemäß 21 und 35 kann
das Modul 214 auf geeignete Weise zum Ausführen einer
Bit-Operation 2142 (Schritt 2140) beispielsweise
in Reaktion auf eine Aufforderung durch den PC 110 oder
den Benutzer konfiguriert sein.
-
Bei
der Bit-Operation 2142 wird auf geeignete Weise festgestellt,
ob eine Modusänderung
aufgetreten ist (Schritt 3502), und wenn dies der Fall
ist, das System zu dem Systemumleit-Schritt 2106 zurückgeführt. Wenn
keine Modusänderung
aufgetreten ist, kann das Modul 214 eine beliebige Anzahl
von eingebauten Tests (Bits) ausführen (Schritt 3504),
beispielsweise das Testen verschiedener Datenübermittlungs- und -abrufprozesse,
das Testen des Vorhandenseins und/oder der Funktionalität verschiedener
Peripherievorrichtungen oder das Ausführen der verschiedenen zyklischen
und/oder Auditierungseinrichtungen aus 1.
-
Von
Zeit zu Zeit kann es bei Betrieb des PC 110 wünschenswert
sein, verschlüsselte
Daten von dem Modul 214 zu dem PC 110 zu übermitteln.
Gemäß 21 und 36 kann
das Modul 214 somit zum selektiven Eintreten in den Abrufmodus 2146 (Schritt 2144)
beispielsweise in Reaktion auf eine entsprechende Aufforderung durch
den Benutzer oder den PC 110 konfiguriert sein.
-
Der
Abrufmodus 2146 umfasst unter anderem das Feststellen,
ob eine Modusänderung
aufgetreten ist (Schritt 3602), und wenn dies der Fall
ist, das Rückführen des
Systems zu dem Systemumleit-Schritt 2106. Wenn keine Modusänderung
aufgetreten ist, wodurch anzeigt wird, dass das System im Abrufmodus
bleibt, wartet das Modul 214 auf eine Anforderung der verschlüsselten
Daten durch den PC 110, wobei die Anforderung die Adresse
in dem Sektor 1816 des RAM 1802 (18)
aufweisen kann, in dem die gewünschten
verschlüsselten
Daten gespeichert sind (Schritt 3604). Bei Empfang einer
Aufforderung von dem PC 110 zum Übermitteln verschlüsselter
Daten ruft das Modul 214 die verschlüsselten Daten von einer entsprechenden Stelle
im Speicher ab (z.B. Verschlüsselt-PIN-Haltebereich 1816)
und sendet die verschlüsselten
Daten an den PC 110 (Schritt 3606). Dabei kann
der Prozessor 1212 auf geeignete Weise den Verschlüsselt-PIN-Haltebereich 1816 auf
Leer zurücksetzen.
-
In 37–39 sind
verschiedene alternative Ausführungsformen
eines erfindungsgemäßen Verschlüsselungsmoduls
dargestellt. Bei den in 37–39 gezeigten
Ausführungsformen
ist das Konzept eines Verschlüsselungsmoduls
derart erweitert, dass es ein Verschlüsselungsmodul aufweist, welches
zwischen einem PC und praktisch jeder Modalität zum Eingeben zu verschlüsselnder
Daten angeordnet ist, beispielsweise eine Tastatur zum manuellen
Eingeben vertraulicher Daten, einen seriellen Port zum Empfangen
von vertraulichen Daten von praktisch jeder elektronischen Quelle,
einen Smart-Card-(oder
ICC-)Leser, einen Magnetstreifenleser, einen Strichcodeleser, eine Spracherkennungsschaltung,
einen IRIS-Scanner, einen Fingerabdruckleser, einen Daumenabdruckleser
oder einen Handflächenabdruckleser,
einen Text-Scanner
oder praktisch jeden anderen Eingabevorrichtungstyp. Dabei sei angemerkt,
dass die verschiedenen Eingabevorrichtungen oder die Hardware entweder
in das Verschlüsselungsmodul
eingebaut (d.h. als unitäre
Konstruktion mit dem Verschlüsselungsmodul
ausgebildet) sein können,
oder die Eingabevorrichtungen können über ein
sicheres Medium mit dem Verschlüsselungsmodul
verbunden sein. Beispielsweise kann die Dateneingabevorrichtung über ein
festverdrahtetes Kommunikationslink, eine Infrarot-(IR-)Verbindung,
eine Radiofrequenz-(RF-)gekoppelte Verbindung oder dergleichen mit
dem Verschlüsselungsmodul
verbunden sein.
-
Gemäß einer
bevorzugten Ausführungsform
ist es wünschenswert,
das Kommunikationslink (entweder ein festverdrahtetes Link oder
anderes), über
das die zu verschlüsselnden
Daten von der Datenerfassungsvorrichtung zu dem Verschlüsselungsmodul
laufen, einerseits gegen generell nicht proprietäre Datenübermittlungen (z.B. Universell-Seriell-Bus
(USB)) zu isolieren, die die Kommunikation unter anderem zwischen dem
Verschlüsselungsmodul
und dem PC vereinfachen können.
Auf diese Weise bleiben die unverschlüsselten Daten gegen den PC
isoliert, wodurch es nahezu unmöglich
ist, die unverschlüsselten
Daten von einem Modem oder einer anderen Vorrichtung zu erfassen,
das/die an den PC angeschlossen sein kann und das/die nicht autorisiert
ist, die unverschlüsselten
Daten zu erfassen. Bei der in 37–39 gezeigten
Ausführungsform
kann es ferner wünschenswert
sein, das Verschlüsselungsmodul
zum Empfangen von vertraulichen Daten von einer Fern-Quelle zu konfigurieren,
beispielsweise über
Telefon, Kabel oder RF-Link von einer Kreditkarte oder einem Finanztransaktipns-Autorisierungs-Host-Computer.
Gemäß einer
weiteren Ausführungsform
der Erfindung, die in 37–39 dargestellt
ist, kann es wünschenswert
sein, das Verschlüsselungsmodul
zum Kommunizieren mit einem oder mehreren Zielorten für das Übermitteln
von verschlüsselten
Daten zu konfigurieren, beispielsweise einem CRT-, LCD- oder LED-Monitor,
einer Kreditkarte oder einem Finanztransaktions-Autorisierungs-Host, einem Drucker
oder einem anderen PC.
-
Schließlich kann
es wünschenswert
sein, das Verschlüsselungsmodul
zum Erfassen von vertraulichen Daten oder Informationen und zum Übermitteln
von Daten über
ein proprietäres
oder anderweitig sicheres Kommunikationslink zu einem lokalen oder
entfernten Zielort zu konfigurieren; beispielsweise kann das Verschlüsselungsmodul
zum Erfassen von vertraulichen Daten beispielsweise von einer Smart
Card (ICC) und zum Übermitteln
dieser Daten an einen lokalen Drucker, Computer oder eine andere
Vorrichtung zum Drucken oder Anzeigen konfiguriert sein, d.h. durch
Konvertieren der unverschlüsselten
Daten von einer Smart Card, einer Tastatur etc. in verschlüsselte Zeichen,
beispielsweise einen zweidimensionalen Strichcode oder dergleichen.
Diese Anwendung kann insbesondere beim Drucken von Zeichen sinnvoll
sein, wobei es wünschenswert
ist, nichtverschlüsselte
Daten zu erfassen, diese Daten in verschlüsselte druckbare Daten zu transformieren,
(z.B. graphische Daten, Zeichen, Strichcode) und dann die verschlüsselten
druckbaren Zeichen an einen Drucker zu übermitteln, beispielsweise
um einen ablösbaren
Coupon, eine Eintrittskarte oder eine Briefmarke herzustellen.
-
Schließlich zeigen 37–39 ferner
Anwendungen des Verschlüsselungsmoduls,
wobei das Modul zum Online-Empfangen verschlüsselter E-Mail- oder anderer Textdaten
und zum anschließenden
Entschlüsseln
der Informationen, beispielsweise zum sicheren Offline-Anzeigen
von Informationen (z.B. auf dem zugehörigen PC), ausgestattet ist.
-
Dabei
schützt
das Verschlüsselungsmodul
die vertraulichen jedoch nichtverschlüsselten Daten gegen Abfangen
durch unautorisierte Personen, die möglicherweise den unsicheren
Kommunikationsbus (z.B. USB, IEEE1394 oder ADB) überwachen. Gemäß 37A–C
ist ein Verschlüsselungsmodul 3702 in
seiner Funktion generell analog zu dem anhand von 1–36 beschriebenen
ausgeführt.
Insbesondere enthält
das Verschlüsselungsmodul 3702 eine
Schaltung zum Verschlüsseln
(und/oder Entschlüsseln)
von vertraulichen Daten und Informationen, beispielsweise durch
Anwendung von Verschlüsselungsalgorithmen,
-techniken, -schlüsseln
und dergleichen, die sich in einem nichtflüchtigen ROM (d.h. EEPROM) oder
einer anderen sicheren Datenspeichervorrichtung, die das Modul 3702 aufweist,
befinden; alternativ kann das Verschlüsselungsmodul 3702 zum
Empfangen von Verschlüsselungsalgorithmen,
-techniken und dergleichen von einer Fern-Quelle konfiguriert sein,
wie nachstehen genauer erläutert
ist.
-
Gemäß 37A ist das Verschlüsselungsmodul 3702 auf
geeignete Weise mit einem Connector 3704 zum Anschließen des
Moduls 3702 an einen Desktop-PC, einen Laptop-PC oder praktisch
jeden anderen Computer- oder Kommunikationsvorrichtungstyp ausgeführt. Insbesondere
ist ein Kommunikationslink 3704, beispielsweise ein RS/232-kompatibles
Link, zum Anschließen
an den seriellen Port eines PC oder Laptop-Computers ausgeführt. Da
dieser Typ von seriellem Port typischerweise mit einem General-PC-Datenbus (z.B.
dem USB des PC) kommuniziert, ist es wünschenswert sicherzustellen,
dass die vertraulichen Daten zuerst von dem Modul 3702 verschlüsselt werden,
bevor sie über
das Link 3704 an den PC übermittelt werden. Ferner können, wie
oben kurz erläutert
und nachstehend genauer beschrieben ist, die zu verschlüsselnden Daten
auf praktisch jede gewünschte
Weise, zum Beispiel durch Verwendung einer Datenerfassungsvorrichtung,
die in dem Modul 3702 eingebaut ist, oder alternativ mittels
einer Datenerfassungsvorrichtung, die mit dem Modul 3702 verbunden
ist, von dem Modul 3702 erfasst werden. In beiden Fällen können die
zu verschlüsselnden
Daten auf praktisch jede Art und Weise erfasst werden, zum Beispiel
durch Verwendung eines PIN-Pad, einer Tastatur, einer Spracherkennungsschaltung,
eines Scanner, eines Magnetstreifenlesers, eines Smart-Card-Lesers,
eines externen seriellen Port (der derselbe wie oder ein anderer
als der Port sein kann, mit dem das Link 3704 verbunden
ist) oder dergleichen.
-
Die
vorliegende Erfindung umfasst ferner Ausführungsformen, bei denen das
Modul 3702 eine PC-Peripherievorrichtung aufweist, beispielsweise
eine Tastatur, eine Maus, einen Scanner, ein PIN-Pad oder eine andere
Hardware-Vorrichtung, die in der Lage ist, eine Verschlüsselung
durchzuführen.
-
Gemäß 37 kann das Modul 3702 (wie insbesondere
in 37A gezeigt) zum Verbinden mit einem Tastaturport
(z.B. einem PS/2-Port) eines herkömmlichen Laptop-Computers beispielsweise über das Kommunikationslink 3794 konfiguriert
sein.
-
Gemäß 37B kann das Modul 3702 auf geeignete
Weise mit einem oder mehreren PC-Connectors 3706 und/oder
einem oder mehreren Peripherievorrichtungs-Connectors 3708 ausgestattet
sein. Bei einer besonders bevorzugten Ausführungsform kann der Connector 3706 auf
geeignete Weise zum Verbinden des Verschlüsselungsmoduls 3702 mit
einem Tastaturport an einem herkömmlichen
Desktop- und/oder Laptop-Computer, beispielsweise einem PS/2-Port,
ADB-Port, Parallel-Port, USB-Port, IEEE 488-Port oder dergleichen, verwendet
werden. Dabei ist es, wenn das Verschlüsselungsmodul mit dem "Tastatur"-Port eines Laptop
verbunden ist, der bereits eine eingebaute Tastatur aufweist, möglicherweise
nicht erforderlich, das Kommunikationslink 3708 mit einer
anderen Vorrichtung zu verbinden; allerdings kann es wünschenswert
sein; den Connector 3708 ganz von der Vorrichtung wegfallen
zu lassen. Gemäß einer
weiteren Ausführungsform
kann es selbst in Fällen,
in denen das Verschlüsselungsmodul über den
Connector 3706 mit dem Tastaturport einer Laptop-Vorrichtung
verbunden ist, trotzdem wünschenswert
sein, das Verschlüsselungsmodul über den
Connector 3708 mit einer zusätzlichen Tastatur zu verbinden.
Gemäß einer
alternativen bevorzugten Ausführungsform
kann die in 37B gezeigte Ausführungsform
seriell zwischen einem Tastaturport (über den Connector 3706)
und einer Peripherievorrichtung (einschließlich, jedoch nicht beschränkt auf
eine Tastatur) über
den Connector 3708, beispielsweise bei einem herkömmlichen
Desktop-Computer, angeordnet sein. Gemäß 37B kann
der Connector 3708 sowohl bei einem Desk top-Computer als
auch bei einem Laptop-Computer die Interaktion zwischen dem Verschlüsselungsmodul 3702 und
praktisch jedem Typ von Vorrichtung zum Eingeben von vertraulichen
Daten erleichtern, wie oben beschrieben ist.
-
Gemäß 37C ist ein exemplarisches Verschlüsselungsmodul 3702 auf
geeignete Weise zum Anschließen über eine
Verbindung 3710 an einen USB-Bus, einen IEEE1394-Firewire-Bus
oder einen anderen Mehrzweck-Bus eines PC vorgesehen. Eine detailliertere
Erläuterung
der Mehrzweck-PC-Bus-Spezifikation findet
sich in Universal Serial Bus Specification von Compact, Digital
Equipment Corporation, IBM PC Company, Intel, Microsoft und Northern
Telecom, Ausgabe 9 vom 31. März
1995 und nachfolgenden Ausgaben; siehe auch Guide to the Macintosh
Family Hardware von Apple Computer Inc., 2. Ausgabe. Die gesamte
Beschreibung aus den vorstehenden Dokumenten ist hiermit zum Gegenstand
der vorliegenden Offenbarung gemacht.
-
Insbesondere
ist, obwohl das in 37C gezeigte Modul auch mit
einer "Tastatur" oder einem seriellen
Connector, wie in 37A und B dargestellt, ausgestattet
sein kann, in 37C ein Modul zum Verbinden mit
USB- oder IEEE1394-(Firewire-)Bussen
zum Hervorheben der Flexibilität
der verschiedenen Verbindungsmodalitäten, die für das Verschlüsselungsmodul 3702 zur
Verfügung
stehen, separat dargestellt. Gemäß 37C können
Eingangsverbindungen 3712, 3714 bzw. 3716 zum
Verbinden des Verschlüsselungsmoduls mit
einer oder mehreren externen Vorrichtungen, beispielsweise eingebauten
oder Fern-Datenertassungsvorrichtungen, RF- und IF-Kopplern zu Druckern,
Display-Vorrichtungen und dergleichen, verwendet werden. Selbstverständlich können eine
oder mehrere dieser Verbindungen auch in Zusammenhang mit den in 37A und B gezeigten Ausführungsformen verwendet werden.
Eine oder mehrere der Verbindungen 3712–3716 können auch
USB- oder Firewire-Protokolle
verwenden; es kann jedoch vorteilhaft sein, "geschützte" Protokolle für die nichtverschlüsselten
Eingaben zu verwenden.
-
Gemäß 38 weist
eine Peripherievorrichtung 3802 eine PC-Peripherieeinrichtung
auf, beispielsweise ein PIN-Pad, eine Tastatur, eine Maus oder eine ähnliche
Eingabevorrichtung, oder alternativ kann das Modul 3802 ein
unabhängiges
Verschlüsselungsmodul
mit einer oder mehreren darin integrierten und/oder damit verbindbaren
Dateneingabefunktionen aufweisen. Das in 38 schematisch
gezeigte Modul ist eine verallgemeinertere Version des in 37 gezeigten Moduls. Insbesondere weist
das Modul 3802 einen oder mehrere Connectors 3810, 3812, 3814 zum
Verbinden mit einem oder mehreren Hardware-Teilen, beispielsweise einem
PC oder dergleichen, auf. Ferner können eines oder mehrere der
Links 3810–3814 zum
Verbinden mit einem hochauflösenden
Videomonitor, beispielsweise unter Verwendung eines IEEE1394-Firewire-Busses, konfiguriert
sein, oder sie können
für eine
RF- oder IR-Kommunikation
mit anderen Systemen konfiguriert sein. Ferner kann das Modul 3802 einen
oder mehrere jeweilige Connectors 3816, 3818, 3820 (und
so weiter) zum Verbinden mit einem oder mehreren Eingabe-Peripherieeinrichtungen
(Maus, Tastatur, Scanner, Videoeingang etc.) vorgesehen sein. Bei
der vorliegenden Erfindung kann praktisch jedes Kommunikationslink
verwendet werden, einschließlich
eines der folgenden oder einer Kombination aus den folgenden: Standard-PC-
oder anderes Tastatur-Format; PS/2-Format; Apple-Desktop-Bus (ADB);
Kleincomputersystem-Interface (SCSI); RS/232; Parallel-Port; USB;
IEEE1394 (Firewire); Infrarot; RF; Faseroptik; PCMCIA; IDE; EIDE;
SCSI; IEEE488 und dergleichen.
-
Anhand
von 39 wird nun eine detailliertere schematische Darstellung
eines exemplarischen Verschlüsselungsmoduls
oder einer Peripherievorrichtung, das/die zu der anhand von 37 und 38 beschriebenen
analog ist, beschrieben.
-
Ein
exemplarisches Verschlüsselungsmodul 3902 weist
in seiner einfachsten Form einen Erfassungseingang 3904 und
einen PC-Connector 3926 auf. Wie oben beschrieben, kann
die Erfassungs-Eingangsschaltung 3904 eine oder mehrere
Dateneingabemodalitäten
(z.B. ICC, Tastatur, Magnetstreifen und dergleichen) aufweisen,
die in dem Modul 3902 eingebaut oder entweder von fern
oder lokal oder auf beide Arten mit dem Modul 3902 verbunden
sind. Das PC-Verbindungslink 3926 ist auf geeignete Weise
zum Aufrechterhalten der Kommunikation zwischen dem Modul 3902 und
einem Desktop-Computer, einem Laptop-Computer, einem Notebook-Computer
oder einem anderen Computer, einer Peripherieeinrichtung oder einer
anderen Vorrichtung, zu der die verschlüsselten Daten gesendet werden
sollen, konfiguriert. Somit kann der Connector 3926 einen
RS/232-Connector, einen PS/2-Connector, einen USB-Connector, einen
IEEE1394-(Firewire-)Connector und dergleichen aufweisen.
-
Verschiede
wesentliche Komponenten des Moduls 3902 sind aus Gründen der
Klarheit aus der Zeichnung weggelassen worden, wie z.B. ein Prozessor
oder Mikrocontroller, ein ROM zum Ausführen eines Operationscode,
ein EEPROM zum Speichern von Betriebsanweisungen, eine Verschlüsselungs-Software und dergleichen,
ein RAM, eine Energieversorgung und dergleichen.
-
Gemäß 39 weist
das Verschlüsselungsmodul 3902 ferner
eine Verschlüsselungsvorrichtung 3924 zum
Durchführen
eines oder mehrerer unterschiedlicher Verschlüsselungstypen auf (z.B. DES,
RSA, öffentliche/private
Ellipsenkurven-Schlüsselverwaltung)
unter Verwendung eines oder mehrerer Verschlüsselungsschlüssel 3922,
die sich entweder in dem Verschlüsselungsmodul 3902 befinden
und in diesem geschützt
sind (z.B. ROM, EEPROM) oder die von dem Verschlüsselungsmodul 3902 abgeleitet
oder abgerufen sein können, beispielsweise
durch Kommunizieren über
eines der dem Modul 3902 zugeordneten Kommunikationslinks, wobei
eine Fern- oder Lokalvorrichtung mit dem Modul verbunden ist. Wenn
sich die Schlüssel
in dem Modul 3902 befinden und in diesem geschützt sind,
weist das Modul eine Einrichtung zum Schützen der Schlüssel auf,
beispielsweise unter Verwendung von Verriegelungen, die bei Auslösung durch
Eingreifen in die oder Missbrauch der Vorrichtung den Inhalt des
flüchtigen
Speichers löschen
oder die Verschlüsselungsschlüssel 3922 oder
deren Ableitungen anderweitig zerstören.
-
Das
Verschlüsselungsmodul 3902 kann
ferner ein oder mehrere exemplarische Verbindungslinks 3914, 3916 und 3918 (und
so weiter) aufweisen, die mit Fern- (oder Lokal-) Vorrichtungen
zum Empfangen von Informationen verbunden sein können, von denen einige verschlüsselt sein
können.
Auf diese Weise kann das Modul 3902 vertrauliche Daten
erhalten und kann das Modul 3902 kann die vertraulichen
Daten in einer sicheren (z.B. proprietären) Umgebung verarbeiten,
speichern oder anderweitig verwenden. Ferner können einige oder sämtliche
von dem Modul 3902 empfangene vertrauliche Daten beispielsweise
von einer Verschlüsselungsvorrichtung 3924 verschlüsselt werden,
woraufhin die verschlüsselten
Daten über
das Kommunikationslink 3926 zu einem PC oder einer anderen
Vorrichtung übermittelt
werden können.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung können weitere Kommunikationslinks 3928, 3930 und 3932 vorgesehen
sein, damit verschlüsselte
Daten zu weiteren Zielorten übermittelt
werden können.
Beispielsweise kann es wünschenswert
sein, eines der Links 3928–3932 mit einem Lokal-
oder Fern-Drucker zu verbinden, um zum Beispiel das Drucken von
Dokumenten (z.B. Eintrittskarten für Sportveranstaltungen, Konzerte
und dergleichen) zu ermöglichen,
die einen verschlüsselten
Teil aufweisen können, beispielsweise
einen zweidimensionalen Strichcode oder andere Zeichen. Alternativ
können
ein oder mehrere Links 3928–3932 RF-gekoppelt
oder auf andere Weise mit einem Autorisierungs-Netzwerk oder anderen Bank-
oder damit verwandten Finanz-Netzwerken verbunden sein, um es beispielsweise
dem Modul 3902 zu ermöglichen,
eine Vor-Autorisierung oder eine Echtzeit-Autorisierung einer Transaktion zu erhalten,
während das
Modul 3902 gleichzeitig über das Kommunikationslink 3926 mit
dem PC verbunden ist.
-
Insbesondere
kann das Modul 3902 zum Kommunizieren über das Kommunikationslink 3926 mit
einem PC konfiguriert sein. Beispielsweise kann es, während der
Benutzer eines PC mit dem Internet verbunden ist und dabei verschiedene
mögliche
Finanz- oder andere Transaktionen prüft, das Modul 3902 ermöglichen, eine
Transaktions-Autorisierung zu erhalten, während es dem Benutzer des über den
Connector 3926 verbundenen PC ermöglicht, online zu bleiben.
Beispielsweise kann, wenn der Käufer
mit seinem PC im Internet "einkauft" und eine Finanztransaktion
durchzuführen
wünscht,
der Käufer
die Autorisierung für
die Transaktion über
einen der Connectors 3928–3932 von einem Fern-Host
erhalten. Bei diesem Beispiel kann der Fern-Host den Kunden auffordern,
eine PIN oder eine andere vertrauliche Information einzugeben, beispielsweise über einen
Zusatz-Lautsprecher 3906, ein Display 3908 oder
eine andere dem Modul 3902 zugeordnete Vorrichtung. Der
Benutzer kann dann die vertraulichen Daten über die Erfassungs-Eingangsschaltung 3904 oder
alternativ über
eine oder mehrere den Connectors 3914–3918 zugeordnete
Dateneingabevorrichtungen eingeben. Wenn die vertraulichen Daten
in das Modul 3902 eingegeben sind, kann die Autorisierung
für die
Transaktion erhalten werden, während
eine "Firewall" zwischen dem mit
dem Connector 3926 verbundenen PC und den von dem Modul 3902 verarbeiteten
unverschlüsselten
Daten aufrechterhalten wird. Wenn eine Autorisierung für die angeforderte
Transaktion erhalten worden ist, kann diese Autorisierungsnummer über den
Connector 3926 an den PC und danach an den "Händler", dem der Käufer ein Geschäft im Internet
oder in einer anderen "Einkaufs"-Umgebung vorgeschlagen hat, übermittelt
werden. Gemäß einem
weiteren Aspekt dieser Ausführungsform
kann die Autorisierungsnummer von dem Fern-Host vor dem Senden an
das Verschlüsselungsmodul
mit seinem privaten Verschlüsselungsschlüssel digital
abgezeichnet werden. Entsprechend kann, wenn der Händler die
Autorisierungsnummer über
das Verschlüsselungsmodul
von dem Benutzer empfängt, der
Händler
die Autorisierungsnummer durch Prüfen oder anderes Entschlüsseln der
digitalen Signatur authentifizieren.
-
Alternativ
kann ein Benutzer wünschen,
digitales Bargeld, digital unterschriebene Dokumente oder andere
Dokumente, Daten oder Information, die sich auf eine Transaktion
oder eine Anwendung beziehen, in die der Benutzer involviert ist
zu erhalten. Beispielsweise kann der Benutzer, während er seinen PC bedient,
der über
den Connector 3926 mit dem Modul 3902 verbunden
ist, wünschen,
ein Geldinstitut oder eine andere Entität über einen der Connectors 3928–3932 zu
kontaktieren und die "Verschlüsselungs"-Funktion durchzuführen. Beispielsweise
kann der Benutzer Daten bezüglich
eines Kreditkartenkontos, eines Bankkontos oder andere Daten in
die Erfassungseingangsschaltung 3904 eingeben und dadurch
digitale Münzen
oder andere verschlüsselte
Daten oder Informationen von einem Fern-Host abrufen und danach
diese verschlüsselten
Daten zum Durchführen
einer Online- oder Offline-Transaktion
durch Übermitteln
der verschlüsselten
Daten über
die Verschlüsselungsvorrichtung 3924 und
den Connector 3926 an den PC verwenden. Gemäß diesem
Aspekt der Erfindung können
die digitalen Münzen
oder andere verschlüsselte
Daten über
einen unspezifizierten Zeitraum vor dem Einlösen durch den Benutzer oder
anderweitigen Verwenden des digitalen Geldes oder anderer Daten
in dem Verschlüsselungsmodul
oder in einer Smart Card gespeichert werden. Es sei angemerkt, dass die
vorstehenden Ausführungsbeispiele über Standard-Telefonleitungen,
Modem-Hardware, RF-Koppler, IR-Kopplung,
Datenkanäle
oder eine andere geeignete Modalität implementiert werden können. Es
kann wünschenswert
sein, das Modul 3902 über
die Links 3926–3932 mit
zwei oder mehr PCs zu verbinden, wobei ein erster PC zum Durchführen der
Online-Transaktion verwendet werden kann und der andere PC zum Erhalten der
Autorisierung verwendet werden kann.
-
Ferner
können
die Autorisierung, das digitale Zahlungsmittel und andere Daten über eine
Lokal- oder Fern-Peripherievorrichtung oder ein Lokal- oder Fern-Peripheriesystem,
die/das mit dem Modul 3902 kommuniziert, auf der "unverschlüsselten" Seite des Software-Firewall,
d.h. über
eines der Kommunikationslinks 3914–3918 oder über die
Erfassungseingangsschaltung 3904 abgerufen werden.
-
Gemäß 39 kann
ein Schalter 3912 auf geeignete Weise zum Verbinden eines
oder mehrerer der Kommunikationslinks 3914–3918 und
der Erfassungseingangsschaltung 3904 über die Kommunikationslinks 3926–3932 mit
dem PC verwendet werden. Ein geeigneter Schalter kann ferner zum
Auswählen
eines oder mehrerer der Kommunikationslinks 3926–3932 verwendet
werden. Obwohl der "Schalter" schematisch als
mechanischer/elektrischer Schalter dargestellt ist, sei angemerkt,
dass praktisch jeder Typ oder jede Kombination von Hardware, Software,
Firmware oder Hybridschalt- und/oder -verbindungsmodalitäten verwendet
können.
-
Gemäß 39 kann
das Display 3908 verwendet werden, um es dem Benutzer zu
ermöglichen,
verschiedene Datenfelder im "Klartext"-Format anzuschauen,
um die Genauigkeit einer Transaktion zu bestätigen. Beispielsweise kann
vor der Durchführung
eines Kaufs der Dollarbetrag einer Transaktion auf der Display-Vorrichtung 3908 angezeigt
werden, um sicherzustellen, dass der korrekte Betrag der Transaktion
eingegeben worden ist. Es kann praktisch jede Art von Daten und
Informationen von dem Modul 3902 in einer geeigneten Modalität (d.h.
Display 3908, Lautsprecher 3906 oder dergleichen)
angezeigt werden, selbst wenn diese Informationen vertraulicher
Natur sind, solange die Daten vor dem Übermitteln über die Verbindungslinks 3926–3932 an
den PC oder eine andere Vorrichtung korrekt verschlüsselt worden
sind. Auf diese Weise wird die Sicherheit der vertraulichen Daten
vor der Verschlüsselung
aufrechterhalten, da ein Zugriff von dem PC über die Kommunikationslinks 3914–3918 auf
das Verschlüsselungsmodul 3902 bei
Anwendung bekannter Techniken recht schwierig, wenn nicht gar unmöglich ist.
-
Gemäß 39 weist
eine weitere Ausführungsform
des Moduls 3902 eine "Plug-and-Play"-Funktion auf. Insbesondere
weist die in dem Modul 3902 befindliche Software mehrere
Software-Treiber auf, die auf vorteilhafte Weise zum Identifizieren
und Aufnehmen praktisch jeder Dateneingabevorrichtung – unabhängig davon,
ob diese in dem Modul 3902 eingebaut oder mit dem Modul 3902 verbunden
ist –,
die mit dem Modul verwendet werden kann, konfiguriert ist. Auf diese
Weise können
serienmäßig produzierte
Datenerfassungsvorrichtungen (Sanner, Magnetstreifenleser, Smart-Card-Leser
und dergleichen) separat von dem Modul 3902 gekauft werden,
wobei dem Käufer
die von den verschiedenen Software-Treibern, die in dem Modul 3902 vorinstalliert
sind, bereitgestellte Plug-and-Play-Funktion zuteil wird.
-
Obwohl
die Anwendung anhand der Figuren aus den beiliegenden Zeichnungen
beschrieben worden ist, sei angemerkt, dass der Umfang der Erfindung
nicht darauf beschränkt
ist. Es können
verschiedene Modifikationen an der Ausführung und Implementierung der
verschiedenen Komponenten und an den Verfahrensschritten, die hier
beschrieben worden sind, durchgeführt werden, ohne dass dadurch
vom Geist und Umfang der Erfindung, wie in den beiliegenden Patentansprüchen dargelegt,
abgewichen wird.