-
Die
vorliegende Erfindung betrifft ein Verfahren zum Auslesen von Tasten
einer Tastatur, insbesondere einer Tastatur eines Geldautomaten,
wobei die Tasten in horizontalen und vertikalen Reihen einer Matrix
angeordnet sind, wobei ein erstes Abtastmuster zum Auslesen der
Tasten auf die Tastatur angewendet wird, wobei das Verfahren eine
erste Reihe von Schritten umfasst, die aus Folgendem bestehen:
- – Erzeugen
des ersten Abtastmusters nach dem Zufallsprinzip, das für jede der
horizontalen und vertikalen Reihen einen ersten Auslesewert umfasst,
der auf die horizontale bzw. die vertikale Reihe anzuwenden ist;
- – Anwenden
des ersten Abtastmusters auf die horizontalen und vertikalen Reihen
während
wenigstens eines ersten Mindestzeitraums;
- – Anwenden
einer Verifizierungsroutine, um zu bestimmen, ob die tatsächlichen
Werte jeder horizontalen und vertikalen Reihe jenen entsprechen, die
durch das erste Abtastmuster angewendet wurden, und um jene horizontalen
und vertikalen Reihen zu identifizieren, bei denen der tatsächliche
Wert nicht jenem entspricht, der durch das erste Muster angewendet
wurde;
- – nachdem
der erste Zeitraum verstrichen ist, Wiederholen der ersten Reihe
von Schritten, wenn keine horizontalen und vertikalen Reihen durch
die Verifizierungsroutine identifiziert wurden.
-
Die
Erfindung betrifft des Weiteren eine Vorrichtung zum Auslesen von
Tastaturtasten.
-
Ein
solches Verfahren und eine solche Vorrichtung sind aus
EP-A-0 368 520 bekannt. Das
bekannte Verfahren wird zum Beispiel in Geldautomaten oder Ladenkassen
verwendet. Die Tasten sind allgemein als horizontale und vertikale
Reihen einer Matrix angeordnet. Um eine konkrete Taste, die aktiviert
wird, zu detektieren, werden die horizontalen und die vertikalen
Reihen nach dem Anwenden eines nach dem Zufallsprinzip erzeugten
Abtastmusters abgetastet. Die Detektion einer Veränderung
in dem angewendeten Abtastmuster zeigt an, dass eine Taste aktiviert
wurde. Die Aktivierung einer Taste bewirkt genauer gesagt eine Querverbindung
zwischen der horizontalen Reihe und der vertikalen Reihe, auf der sich
die gewählte
Taste befindet. Durch ein zufälliges Erzeugen
des Abtastmusters ist es für
unbefugte Nutzer schwieriger, das Signal des angewendeten Abtastmusters
aufzunehmen und so Informationen über die betätigten Tasten zu erlangen.
-
Ein
Nachteil des bekannten Verfahrens oder der bekannten Vorrichtung
ist, dass die horizontalen und vertikalen Reihen sequenziell abgetastet
werden und dass es nicht möglich
ist, die Sequenz der horizontalen und vertikalen Reihen auf andere
Weise zu ändern
als entweder unter der Sequenz der vertikalen oder der Sequenz der
horizontalen Reihen selbst. Das schränkt die Möglichkeiten des Maskierens
der Dateneingabe mittels der Tastatur ein.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine
Vorrichtung zum Auslesen von Tasten einer Tastatur zu realisieren,
womit es für
einen unbefugten Nutzer noch schwieriger ist, Zugang zu den Daten
zu erhalten, die aus der Tastatur ausgelesen werden.
-
Für diesen
Zweck ist ein Verfahren zum Auslesen von Tasten einer Tastatur gemäß der vorliegenden
Erfindung dadurch gekennzeichnet, dass das Verfahren des Weiteren
umfasst:
- – zeitweiliges
Speichern eines Zeigers, der auf die horizontalen und vertikalen
Reihen zeigt, die während
der Verifizierungsroutine identifiziert wurden;
- – Anwenden
einer zweiten Reihe von Schritten, die nach dem Speichern des Zeigers
begonnen wird, wobei die zweite Reihe von Schritten Folgendes umfasst:
- – nachdem
der erste Zeitraum verstrichen ist, Erzeugen eines zweiten Abtastmusters
nach dem Zufallsprinzip (19, G2SP), das für mindestens jede
der horizontalen und vertikalen Reihen, auf die der Zeiger verweist,
einen zweiten Auslesewert umfasst, der auf die horizontalen und
vertikalen Reihen anzuwenden ist;
- – Anwenden
des zweiten Abtastmusters auf die horizontalen und vertikalen Reihen
während
wenigstens eines zweiten Mindestzeitraums;
- – Überwachen
der identifizierten horizontalen und vertikalen Reihen unter Verwendung
des zweiten Musters, um als aktivierte Tasten jene Tasten zu bestätigen, die
sich in den identifizierten horizontalen und vertikalen Reihen befinden.
-
Weil
das Abtastmuster nach dem Zufallsprinzip erzeugt wird und sich mit
der anschließenden
Leseoperation ändert,
ist es für
einen unbefugten Nutzer sehr schwierig und nahezu unmöglich, das
angewendete Abtastmuster zu erkennen. Da das Muster die horizontalen
wie auch die vertikalen Reihen für anschließende Leseoperationen ändern kann,
ist es notwendig, ein erstes und ein zweites Abtastmuster während eines
ersten und eines zweiten Zeitraums anzuwenden, um eine ausgewählte Taste
zu erkennen. Die Änderung
des Abtastmusters, das auf die horizontalen wie auch die vertikalen
Reihen angewendet wird, macht es sehr schwierig, horizontale und
vertikale Reihen einfach anhand aufgefangener Strahlung zu erkennen,
weil die Logik zwischen horizontalen und vertikalen Reihen in dieser
aufgefangenen Strahlung nicht mehr vorhanden ist.
-
Eine
erste bevorzugte Ausführungsform
eines Verfahrens gemäß der Erfindung
ist dadurch gekennzeichnet, dass der erste und der zweite Zeitraum
nach dem Zufallsprinzip festgelegt werden. Durch das zufällige Festlegen
des ersten und des zweiten Zeitraums ändert sich nicht nur das angewendete
Abtastmuster, sondern auch der Zeitraum, während dem das Muster angewendet
wird. Dadurch wird es für
einen unbefugten Nutzer noch schwieriger, Zugriff auf die Daten
der ausgewählten
Tasten zu erhalten, weil sich zu viele Parameter ändern.
-
Eine
zweite bevorzugte Ausführungsform des
Verfahren gemäß der vorliegenden
Erfindung ist dadurch gekennzeichnet, dass das Überwachen unterbrochen wird,
wenn festgestellt wird, dass die tatsächlichen Werte der überwachten
horizontalen und vertikalen Reihen jenen entsprechen, die durch
das zweite Abtastmuster angewendet werden, wobei auf diese Unterbrechung
eine Rückkehr
zu der ersten Reihe von Schritten folgt. Dies würde anzeigen, dass entweder
die Taste losgelassen wurde oder dass während des vorangegangenen Schrittes
ein Fehler auftrat. Auf jeden Fall besagt es, dass es nicht länger erforderlich
ist, den gegenwärtigen Überwachungsvorgang
fortzusetzen. Wenn die Taste losgelassen wird, braucht nicht mehr
verifiziert zu werden, ob die überwachte
Taste aktiviert wurde. Wenn die Taste versehentlich oder aufgrund
einer Störung
aktiviert wurde, so braucht diese Taste nicht mehr überwacht zu
werden.
-
Die
Erfindung betrifft auch eine Vorrichtung zum Implementieren des
Verfahrens.
-
Die
Erfindung wird nun in Bezug auf die Zeichnungen, die eine bevorzugte
Ausführungsform eines
Verfahrens und einer Vorrichtung gemäß der vorliegenden Erfindung
veranschaulichen, näher
besprochen. In diesen Zeichnungen ist Folgendes dargestellt:
-
1 veranschaulicht
schematisch eine Datenverarbeitungseinheit mit einer Vorrichtung
zum Auslesen von Tasten einer Tastatur.
-
2 veranschaulicht
einen Matrixaufbau für
eine Tastatur.
-
3 veranschaulicht
anhand eines Flussdiagramms eine bevorzugte Ausführungsform eines Verfahrens
gemäß der vorliegenden
Erfindung.
-
In
den Zeichnungen sind gleichen oder analogen Elementen die gleichen
Bezugszeichen zugewiesen.
-
Die
schematisch in 1 gezeigte Datenverarbeitungseinheit
umfasst einen Bus 1, an den eine Verarbeitungskomponente 2,
zum Beispiel ein Mikroprozessor, angeschlossen ist. Des Weiteren
ist ein Speicher 3 an den Bus angeschlossen. Der Speicher
dient dem Speichern von Verarbeitungsdaten und Programmen, die unter
der Steuerung der Verarbeitungskomponente 3 auszuführen sind.
Eine Schnittstelle 4 ist ebenfalls an den Bus 1 angeschlossen.
Eine Tastatur 5 ist an die Schnittstelle angeschlossen,
um Nutzerdaten einzugeben. Wenn die Datenverarbeitungseinheit zu
einem Geldautomaten oder zu einem Endgerät gehört, das sichere Daten zu verarbeiten
hat, so dient die Tastatur dem Einge ben sicherer Daten, wie zum
Beispiel eines PIN(Persönlichen
Identifikationsnummer)-Codes.
-
Wie
in 2 veranschaulicht, sind die Tasten 6r,c der Tastatur 5 gemäß einem
Matrixaufbau aus horizontalen und vertikalen Reihen angeordnet.
Die horizontalen Reihen sind jeweils mit einer Leitung der ersten
Gruppe von Leitungen 7 verbunden, während die vertikalen Reihen
jeweils mit einer Leitung der zweiten Gruppe von Leitungen 8 verbunden
sind. Die klassische Art des Auslesens der Tasten ist, ein erstes
Abtastmuster auf die vertikalen Reihen anzuwenden und die Leitungen
auszulesen. Wenn also eine Taste ausgewählt wird, sei es über einen
Druck auf die Taste oder über
einen Berührungsbildschirm,
so fungiert die Taste als ein Schalter, der die horizontale und
die vertikale Reihe, auf der sich die ausgewählte Taste befindet, miteinander
verbindet. Das letztere Ausleseverfahren eignet sich für Daten,
die nicht gesichert zu werden brauchen. Für sichere Daten hingegen ist
dieses Verfahren nicht mehr zweckmäßig, da es zu einfach ist,
das Abtastsignal von außerhalb aufzufangen
und sich auf diese Weise Zugang zu den sicheren Daten zu verschaffen.
Die durch und durch systematische Vorgehensweise, mit der die Tasten
jedes Mal abgetastet werden, kann praktisch ganz einfach detektiert
werden. Das anschließend angewendete
identische Abtastmuster fungiert als Antennensignal, das aufgefangen
werden kann.
-
Um
ein Ausleseverfahren, das mehr Sicherheit bietet, anzuwenden, schlägt die vorliegende
Erfindung vor, das Abtastmuster zu ändern, das auf die Tasten der
Tastatur angewendet wird. Diese Änderung
impliziert, dass nicht jedes Mal für jeden Auslesevorgangszyklus
ein identisches Muster, sondern ein anderes, zufällig erzeugtes Muster angewendet wird.
In der bevorzugten Ausführungsform
wird das angewendete Abtastmuster jedes Mal für jeden Auslesezyklus geändert, indem
jedes Mal das Muster nach dem Zufallsprinzip erzeugt wird. Jedoch
könnte das
gleiche zufällig
erzeugte Abtastmuster auch während
einer zuvor festgelegten Anzahl, oder sogar einer zufällig erzeugten
Anzahl, von anschließenden Abtastperioden
angewendet werden. Zum Beispiel könnte während zehn anschließender Perioden
das gleiche Abtastmuster angewendet werden. Da die Ausleseperioden
allgemein kurz sind, weniger als 3 Sekunden, ist es selbst dann,
wenn das gleiche Muster über
mehrere anschließende
Perioden hinweg angewendet wird, noch sehr schwierig, das Abtastmuster
ohne einen physischen Eingriff in die Tastatur oder die Verarbeitungseinheit
aufzufangen. Wenn der unbefugte Nutzer trotzdem versuchen sollte,
die Vorrichtung aufzubrechen, so würde dies zu einem Manipulationszustand
führen,
der eine Neutralisierung der Vorrichtung zur Folge hätte.
-
Das
nach dem Zufallsprinzip erzeugte Abtastmuster ermöglicht das Ändern einer
großen
Anzahl von Parametern. So können
die speziellen Auslesewerte, die auf die horizontalen oder vertikalen Reihen
angewendet werden, zum Beispiel zwischen den logischen Werten 0
oder 1, oder es könnten
sogar Werte höher
als eine logische 1 angewendet werden. Die Art und Weise, in der
die horizontalen und vertikalen Reihen ausgelöst werden, kann variieren. So
können
zum Beispiel während
eines Zyklus die horizontalen Reihen zur Eingabe verwendet werden und
die vertikalen Reihen zur Ausgabe verwendet werden, während in
einem anschließenden
Zyklus die vertikalen Reihen zur Eingabe und die horizontalen Reihen
zur Ausgabe verwendet werden. Alternativ könnten einige horizontale Reihen
und einige vertikale Reihen zur Eingabe verwendet werden, und die übrigen könnten zur
Ausgabe verwendet werden. Des Weiteren kann der Zeitraum, während dem
das Abtastmuster auf die Tasten angewendet wird, durch zufälliges Erzeugen
eines Zeitraums geändert
werden. Wie im Fall des Anwendens des Abtastmusters könnte auch
der Zeitraum für
eine zuvor festgelegte oder zufällig
bestimmte anschließende
Anzahl von Zyklen der gleiche sein.
-
Die
Tatsache, dass das angewendete Abtastmuster sich ändert, erfordert
besondere Maßnahmen
zum Auslesen der Tasten, wie im Weiteren mit Bezug auf 3 beschrieben
wird. Unter der Steuerung der Datenverarbeitungskomponente wird
die Tastatur in einen gesicherten Modus versetzt. Dies wird zum
Beispiel durch das Einführen
einer Bankkarte oder durch Berühren
einer der Tasten der Tastatur zum Einleiten eines Vorgangs ausgelöst. Das Umschalten
in einen gesicherten Modus wird zum Beispiel durch Unterbrechen
des normalen Auslesevorgangs und durch Starten des sicheren Verfahrens mittels
eines Unterbrechungssignals realisiert. Sobald der gesicherte Modus
gestartet wurde (10; STR), löst die Verarbeitungskomponente
den Abtastmustergenerator aus, der einen Zufallsgenerator umfasst,
um nach dem Zufallsprinzip ein erstes Abtastmuster und einen ersten
Mindestzeitraum zu erzeugen (11; RG1SP) und es während wenigstens
des ersten Mindestzeitraums auf die Tasten der Tastatur anzuwenden.
Es ist zu beachten, dass das zufällige Erzeugen
des ersten Zeitraums in einer bevorzugten Ausführungsform verwendet wird,
da es die Sicherheitsstufe erhöht.
Jedoch kann das hier behandelte Verfahren ebenfalls angewendet werden,
wenn ein zuvor festgelegter Zeitraum verwendet wird. Dieser Mindestzeitraum
beträgt
zum Beispiel 1 ms und kann bis 2 ms gehen. Das erste Abtastmuster
umfasst für jede
horizontale Reihe und jede vertikale Reihe einen ersten Auslesewert,
der auf die horizontalen Reihen bzw. die vertikalen Reihen anzuwenden
ist.
-
Nach
dem Anwenden des ersten Abtastmusters führt die Verarbeitungskomponente
eine Verifizierungsroutine mittels einer Verifikationskomponente
aus, die ein Teil der Datenverarbeitungseinheit ist. Die Verifizierungsroutine,
die eine erste Reihe von Schritten (11, 12, 13, 14, 15, 16)
umfasst, überprüft zuerst
die vertikalen Reihen (12, VMC), um zu verifizieren, ob
der tatsächliche
Wert, der durch das erste Abtasten auf die vertikalen Reihen angewendet
wurde, noch vorhanden ist. Genauer gesagt, wenn keine Taste auf
der abgetasteten vertikalen Reihe aktiviert wurde (12;
N), so entspricht der tatsächliche
Wert auf dieser vertikalen Reihe demjenigen, der durch das erste
Abtastmuster angewendet wurde. Wenn andererseits eine Taste auf
der abgetasteten vertikalen Reihe aktiviert wurde (12;
Y), so entspricht der tatsächliche
Wert nicht mehr demjenigen, der durch das erste Abtastmuster angewendet
wurde, da die Aktivierung der Taste ein Umschalten zwischen einer
vertikalen Reihe und einer horizontalen Reihe bewirkt hat, was zu
einer Änderung
des angewendeten Wertes führt.
-
Wenn
die Verifizierungsroutine detektiert hat, dass eine vertikale Reihe
ausgewählt
wurde (12; Y), so verifiziert sie (13; VVC), ob
es eine gültige
vertikale Reihe ist. Dies wird zum Beispiel dadurch realisiert, dass
verifiziert wird, ob der tatsächliche
Wert im Rahmen des angewendeten Auslesewertes akzeptabel ist, oder
indem verifiziert wird, ob auf der augenblicklichen Stufe des Ablaufs
die verifizierte vertikale Reihe aktiv sein sollte. So könnte zum
Beispiel versehentlich die OK-Taste
beim Eingeben eines PIN-Codes gedrückt worden sein. Wenn dann
die vertikale Reihe, die der OK-Taste entspricht, identifiziert
worden wäre,
so würde
sie auf dieser Stufe trotzdem nicht als eine gültige vertikale Reihe angesehen
werden, weil nur vertikale Reihen, die mit Zahlentasten verknüpft sind,
als gültig
angesehen werden.
-
Wenn
die ausgewählte
vertikale Reihe als gültig
angesehen wird, so wird ein Zähler
für die
identifizierte vertikale Reihe inkrementiert, und es wird geprüft, ob der
durch den Zähler
angezeigte Betrag eine zuvor festgelegte Anzahl erreicht hat. Diese
zuvor festgelegte Anzahl hängt
von dem Zeitraum ab, während
dem das erste Muster angewendet wird. Je kürzer der Zeitraum ist, desto
größer ist
die Anzahl. Wenn der Zähler
die zuvor festgelegte Anzahl (13, Y) erreicht hat, so wird
die betreffende vertikale Reihe als eine gültige vertikale Reihe identifiziert
(14; SVC), und diese Identifikationsdaten werden vorübergehend
im Speicher gespeichert. Wenn andererseits der Zähler nicht die zuvor festgelegte
Anzahl erreicht hat (13, N), so wird die vertikale Reihe
nicht als eine gültige
vertikale Reihe identifiziert. Die Verwendung eines Zählers erlaubt
das mehrmalige Wiederholen der Verifizierungsroutine, wodurch die
Verlässlichkeit der
Tastenidentifikation erhöht
wird. Die Verifizierungsroutine wird entweder einige Male unter
Verwendung des gleichen ersten Abtastmusters wiederholt, oder sie
wird wiederholt, wobei jedes Mal nach dem Zufallsprinzip ein neues
Abtastmuster und ein neuer Zeitraum erzeugt werden.
-
Ein
analoger Ablauf wird anschließend
für die
horizontalen Reihen der Tastatur (15; VMR), (16; VVR)
und (17; SVR) realisiert. Wenn eine gültige horizontale Reihe identifiziert
wird, so führt
das zur Identifikation (17; SVR) einer gültigen horizontalen Reihe.
Wenn keine gültigen
horizontalen und vertikalen Reihen identifiziert wurden, so wird
die erste Reihe von Schritten der Routine ab Schritt 11 wiederholt.
-
Nachdem
eine horizontale Reihe identifiziert wurde, wird durch die Verifizierungsroutine
(18; VRC) überprüft, ob sowohl
eine horizontale Reihe als auch eine vertikale Reihe identifiziert
wurden. Dies wird zum Beispiel realisiert, indem man den Speicher
liest, in dem die identifizierte horizontale Reihe und die identifizierte
vertikale Reihe gespeichert sind. Wenn dies der Fall ist, so wird
ein Zeiger zu der identifizierten horizontalen Reihe und der identifizierten
vertikalen Reihe und somit zu der identifizierten Taste gespeichert
(19, G2SP). Wenn keine gültige horizontale Reihe oder
vertikale Reihe identifiziert wurde, so wird die erste Reihe von
Schritten wiederholt.
-
Da
sich das Muster ändert,
benötigt
die Ausleseroutine, nachdem eine horizontale Reihe und eine vertikale
Reihe identifiziert wurden und ein Zeiger gespeichert wurde, eine
zweite Reihe von Schritten, um die aktivierte Taste unzweideutig
zu bestimmen. Wenn ein Zeiger gespeichert wurde, so wird ein zweites
Abtastmuster erzeugt und während
eines zweiten Mindestzeitraums auf die Tasten angewendet (20;
A2SP). In einer analogen Weise, wie für die erste Reihe von Schritten,
wird das zweite Abtastmuster nach dem Zufallsprinzip erzeugt, und
vorzugsweise auch der zweite Mindestzeitraum. Die Schritte 21 (VMC), 22 (WC), 23 (SVC), 24 (VMR), 25 (VVR), 26 (SVR)
und 27 (VRC) sind analog den Schritten 12, 13, 14, 15, 16, 17 und 18 der
ersten Reihe, jedoch mit dem Unterschied, dass nun das zweite Abtastmuster
und der zweite Zeitraum verwendet werden. Des Weiteren werden vorzugsweise
nur die horizontalen und vertikalen Reihen berücksichtigt, auf die gezeigt
wird. Es könnte
jedoch ebenso möglich
sein, die zweite Reihe auf alle horizontalen und vertikalen Reihen
anzuwenden.
-
Wie
zuvor mit Bezug auf das erste Abtastmuster beschrieben, wird verifiziert,
ob eine gültige vertikale
Reihe und horizontale Reihe identifiziert werden können. Das
geschieht, um zu überwachen, ob
die Taste, auf die durch die Zeiger gezeigt wird, noch aktiviert
ist. Wenn die Überwachungsroutine feststellt,
dass keine gültige
horizontale Reihe oder vertikale Reihe identifiziert werden kann
(21; N) und (25; N), so wird die Routine wieder
ab (11; RG1SP) begonnen. Wenn die Überwachungsroutine andererseits
feststellt, dass eine gültige
horizontale Reihe und vertikale Reihe identifiziert werden können, so wird
die Überwachungsroutine
erneut gestartet, und es wird ein weiteres Abtastmuster erzeugt
(29; RGFSP) und über
einen weiteren Mindestzeitraum hinweg auf die verwiesene Taste angewendet.
Dieser Neustart wird wiederholt, bis der Zähler seinen zuvor festgelegten
Wert erreicht hat.
-
Wenn
festgestellt wurde, dass die Taste, auf die gezeigt wird, mittels
der Überwachungsroutine
erneut identifiziert wurde, so wird die Taste als aktiviert (28;
SK) bestätigt,
und diese Information wird in die Verarbeitungskomponente zur Weiterverarbeitung eingespeist.
-
Unter
der Überwachungsroutine
würde es auch
möglich
sein, das Loslassen der verwiesenen Taste als eine Möglichkeit
zur Bestätigung
zu nutzen, dass die verwiesene Taste aktiviert wurde. Dies könnte dadurch
realisiert werden, dass man verifiziert, ob für die Taste, auf die gezeigt
wird, der tatsächliche
Wert dem angewendeten Wert entspricht. Genauer gesagt, wenn die
verwiesene Taste losgelassen wurde, so fungiert die Taste nicht
mehr als ein Schalter, und das angewendete Abtastmuster wird erkannt.
Somit ist das Vorhandensein des angewendeten Abtastmusters ein Hinweis
darauf, dass die verwiesene Taste losgelassen wurde.