-
Die vorliegende Erfindung betrifft ein Verfahren zur Erzeugung eines transaktionsspezifischen numerischen Codes.
-
Solche Verfahren und Vorrichtungen werden in sicherheitskritischen Anwendungen eingesetzt, beispielsweise dem Online-Banking. Dabei werden durch den Anbieter der Anwendung Daten erzeugt und über das Internet zu einem Computer des Anwenders übertragen. Die übertragenen Daten stellen einen sogenannten Flickercode dar, der auf dem Bildschirm des Anwenders dargestellt wird. Ein Flickercode ist ein visueller Code, der durch kurz aufeinanderfolgende weiße Balken auf schwarzem Hintergrund (oder umgekehrt) gebildet wird.
-
Die Anwendung umfasst anwenderseitig ein optisches Einlesegerät (Scanner). Das Einlesegerät wird von dem Anwender in der Nähe des Bildschirms in dem Bereich, in dem der Flickercode dargestellt wird, vorgehalten, so dass das Einlesegerät den dargestellten Flickercode einlesen und verarbeiten kann.
-
Das Einlesegerät ist gleichzeitig als Kartenlesegerät ausgebildet. Das Kartenlesegerät dient zum Einlesen von benutzerspezifischen Daten von einer sogenannten Smartcard eines Benutzers, z. B. einer EC- oder Kreditkarte.
-
Das Einlesegerät verarbeitet den eingelesenen Flickercode und die benutzerspezifischen Daten von der Smartcard und erzeugt auf Grundlage dieser Daten eine sogenannte TAN (Transaktionsnummer). Die TAN wird dem Benutzer auf einem Display des Einlesegerätes angezeigt. Der Benutzer kann die TAN anschließend in eine durch die Anwendung auf dem Bildschirm erzeugte Eingabemaske eingeben und dadurch eine Transaktion, z. B. eine Online-Überweisung, freigeben.
-
Es hat sich herausgestellt, dass für eine ordnungsgemäße Übertragung der Informationen von dem Bildschirm des Anwenders zu dem Einlesegerät klar definierte Umgebungsbedingungen herrschen müssen. So können Reflexionen an dem Bildschirm, Fremdlichteinflüsse oder mit unzureichender Leistungsfähigkeit ausgestattete Grafikkarten und weitere Einflüsse die optische Übertragung behindern, so dass Lesefehler auftreten.
-
Die vorliegende Erfindung möchte das Übertragungsverhalten verbessern und das Auftreten von Lesefehlern vermindern.
-
Zusammenfassung der Erfindung
-
Diese Aufgabe wird durch die in den unabhängigen Ansprüchen angegebene Erfindung gelöst. Vorteilhafte Ausgestaltungen sind den Unteransprüchen zu entnehmen.
-
Erfindungsgemäß ist ein Verfahren geschaffen zur Erzeugung eines transaktionsspezifischen numerischen Codes, umfassend: Erzeugen einer Anzeige auf einem Bildschirm, wobei die Anzeige einen visuellen Code enthält, der transaktionsspezifische Informationen wiedergibt; Verarbeiten von Bilddaten, die die Anzeige wiedergeben, durch einen Computer, zur Bestimmung der in dem visuellen Code enthaltenen transaktionsspezifischen Informationen mittels Mustererkennung; und Übertragen der transaktionsspezifischen Informationen von dem Computer zu einem Lesegerät zum Erzeugen eines transaktionsspezifischen numerischen Codes durch das Lesegerät.
-
Durch das erfindungsgemäße Verfahren wird die optische Erkennung des visuellen Codes ”simuliert”. Ein Vorhalten des Lesegerätes am Bildschirm und ein optisches Einlesen des visuellen Codes entfällt. Stattdessen erfolgt die Erkennung des visuellen Codes mittels Bildverarbeitung durch den Computer. Somit entfällt die optische Übertragungsstrecke. Mögliche Fehler, die durch äußere optische Einflüsse oder ein ungenaues Vorhalten des Lesegerätes verursacht werden können, werden vermieden. Außerdem vereinfacht sich die Handhabung durch einen Anwender, der nun nicht mehr gezwungen ist, das Lesegerät aufzunehmen, an den Bildschirm zu halten, und anschließend wieder abzustellen.
-
Die Bilddaten können durch Erstellung von ”Screenshots” des Bildinhaltes des Bildschirms erzeugt werden. Die Erstellung von Screenshots und die anschließende Verarbeitung bieten den Vorteil, dass die Ansteuerung der visuellen Codes gegenüber vorhandenen Systemen unverändert bleiben kann. Auf diese Weise können sämtliche vorhandene Anwendungen, die auf bekannte Art und Weise visuelle Codes generieren, beibehalten werden.
-
Eine Anpassung dieser Anwendungen ist nicht erforderlich, so dass in diesen Anwendungen keine neuen Sicherheitslücken entstehen können.
-
In einer Ausgestaltung der Erfindung handelt es sich bei dem dargestellten Code um einen Flicker-Code. Der Flicker-Code kann durch schwarz-weiße Flächen gebildet werden, die mehrere (z. B. fünf) zu- und abschaltbare weiße, rechteckige Schaltflächen aufweisen. Mit anderen Worten werden Flicker-Codes durch eine sich verändernde Balkengrafik gebildet. In alternativen Ausgestaltungen der Erfindung können aber auch andere Codes verwendet werden, z. B. QR-Codes oder Barcodes.
-
Der Flickercode enthält die transaktionsspezifischen Informationen. Beispielsweise wird der Flickercodes bei einer Online-Überweisung durch die Kontonnummer, die Bankleitzahl und den Betrag bestimmt. Der Flickercode gibt diese Informationen somit visuell wieder.
-
Um den Beginn eines Flicker-Codes zu erkennen, kann die Bildverarbeitung zur Erkennung eines dem Flicker-Code zugeordneten Startkennzeichens eingerichtet sein. Somit kann der Beginn eines Flicker-Codes in einer Folge von Screenshots automatisch erkannt werden. Ebenso kann eine Erkennung eines Endkennzeichens vorgesehen sein.
-
In einer Ausgestaltung der Erfindung werden durch die Screenshots vorbestimmte Bereiche des Bildschirms erfasst, z. B. ein Fenster, in dem der Flicker-Code dargestellt wird. Dadurch wird der Umfang der zu verarbeitenden Bilddaten verringert.
-
In einer alternativen Ausgestaltung erfasst die Aufnahme von Screenshots den gesamten Bildschirm. Dies hat den Vorteil, dass die Anwendung nicht auf ein bestimmtes Fenster begrenzt ist. Vielmehr können alle Programme, die in irgendeiner Weise Flicker-Codes anzeigen, verarbeitet werden, und zwar unabhängig davon, wo auf dem Bildschirm bzw. in welchem Fenster der Flicker-Code dargestellt wird.
-
In einer Ausgestaltung der Erfindung erfolgt die Identifikation eines Flicker-Codes durch Merkmalsanalyse im Rahmen von Verfahren der Mustererkennung. Bei einem solchen Verfahren der Mustererkennung werden in einem ersten Schritt dargestellte Pixel hinsichtlich der Farben schwarz und weiß untersucht. Alle dieser Vorgabe nicht entsprechenden Pixel werden nicht weiter betrachtet. Daraufhin wird in einer Folge von Screenshots nach einer Veränderung der selektierten Pixel von schwarz nach weiß oder umgekehrt gesucht. Anschließend wird das Umfeld dieser Pixel hinsichtlich der gleichen Wechselbedingung bewertet. Bei einem möglichen Vorhandensein eines Flicker-Codes ergibt sich daraus ein Feld, welches hinsichtlich der Proportionen Breite/Höhe und des Abstandes zu weiteren Feldern mit ähnlichen Eigenschaften bewertet wird. Damit sollte sich eine erwartete Anzahl von Flickerfeldern erkennen lassen. Trifft dies zu, gilt das Flickerfeld als erkannt und es kann mit der Aufnahme der Suche nach dem Startkennzeichen und der Aufnahme der Flickerinformationen begonnen werden, zur Extraktion der transaktionsspezifischen Informationen.
-
Gemäß einer Ausgestaltung der vorliegenden Erfindung ist ein Computerprogramm geschaffen, welches bei Ausführung durch ein geeignetes Computersystem die Durchführung des oben beschriebenen Verfahrens veranlasst. Dieses Programm läuft anschließend im Hintergrund ab, um in der beschriebenen Weise Flicker-Codes zu erkennen.
-
Figurenbeschreibung
-
Nachstehend ist anhand der Zeichnung ein Ausführungsbeispiel der Erfindung näher beschrieben. 1 zeigt in schematisierter Darstellung ein Lesegerät 1, welches über ein Kabel 2, z. B. ein USB-Kabel, mit einem Computer 3 verbunden ist. Alternativ kann das Lesegerät auch drahtlos, z. B. über eine Bluetooth-Verbindung, mit dem Computer 3 kommunizieren.
-
Auf einem Bildschirm 4 des Computers 3 kann beispielsweise im Rahmen einer Online-Banking-Anwendung ein Flickercode 5 angezeigt werden. Bei einer solchen Anwendung wird der Flickercode durch einen anbieterseitigen Server erzeugt und über das Internet zu dem Computer 3 übertragen.
-
Der Computer 3 ist dazu eingerichtet, Bildinhalte auf dem Bildschirm 4 zu erfassen und in einem Grafikspeicher zu speichern. Dazu erzeugt das Programm sogenannte Screenshots. Eine solche Funktion ist auf vielen Computern von Haus aus enthalten.
-
Gemäß einer Ausgestaltung der Erfindung geht der Anzeige des Flickercodes 5 ein Startsignal voraus, welches das Erzeugen von Screenshots auslöst. Alternativ kann das Programm ständig im Hintergrund aktiv sein und regelmäßig Screenshots erzeugen. In einer weiteren Ausgestaltung kann das Programm durch den Anwender aktiviert werden, z. B. über eine entsprechende Eingabe in den Computer 3.
-
Insbesondere wird die Erzeugung einer Serie von aufeinanderfolgenden Screenshots veranlasst. Die Anzahl von und der zeitliche Abstand zwischen den Screenshots ist dabei so eingestellt, dass der Flickercode 5 vollständig erfass- und erkennbar ist.
-
Anschließend werden die durch die Screenshots erzeugten Bilddaten mittels an sich bekannter Mustererkennungsverfahren bearbeitet. Dabei wird der Flickercode 5 in einen numerischen Code umgewandelt, der an das Lesegerät 1 übertragen wird.
-
In Reaktion auf den Erhalt des numerischen Codes von dem Computer 3 erzeugt das Lesegerät 1 eine TAN oder dgl. (z. B. ein „One Time Password”), die auf einem Display 6 des Lesegerätes 1 angezeigt werden kann. Der Anwender kann anschließend die TAN in den Computer 3 eingeben, woraufhin eine Transaktion innerhalb der Anwendung freigegeben und ausgeführt wird. Dazu übermittelt der Computer 3 die TAN an einen Server, der die freigegebene Transaktion durchführt.
-
Alternativ wird die TAN von dem Lesegerät 1 an den Computer 3 übertragen.
-
In der gezeigten Ausführung verfügt das Lesegerät 1 über einen Schacht 7, in den eine Smartcard 8, z. B. eine EC- oder Kreditkarte, in das Lesegerät eingeführt werden kann. Von der Smartcard 8 liest das Lesegerät 1 anwenderspezifische Daten ein, die bei der Erzeugung der TAN berücksichtigt werden, wodurch die Sicherheit bei der Ausführung der Transaktion weiter erhöht wird.
-
Wie beschrieben bildet das Lesegerät 1 ein „virtuelles” optisches Lesegerät, da das visuelle Einlesen des Flickercodes 5 ersetzt wird durch eine Umwandlung des Flickercodes 5 in einen numerischen Code und die anschließende (nicht-visuelle) Übertragung des numerischen Codes von dem Computer 3 auf des Lesegerät 1.
-
In einer Ausgestaltung kann der Anwender einen Anzeigebereich innerhalb des Bildschirms 5 markieren. In dieser Ausgestaltung erzeugt das Programm nur innerhalb des markierten Bereichs Screenshots, oder das Lesegerät 1 liest nur denjenigen Anteil der Bilddaten aus einem Grafikspeicher des Computers 3, der dem markierten Bereich entspricht. Auf diese Weise kann der Umfang der zu verarbeitenden Bilddaten begrenzt werden.
-
Die übertragenen Daten werden durch das Lesegerät 1 auf Konsistenz und Plausibilität geprüft. Nach der Prüfung werden auf die übertragenen Daten kryptografische Operationen ausgeführt. Dies geschieht vorzugsweise unter Zuhilfenahme einer Smartcard, welche über einen Smartcard-Leser mit dem Computer 1 verbunden ist. Wie beschrieben kann der Smartcard-Leser in dem Lesegerät 1 integriert sein.
-
Das Ergebnis der kryptografischen Operationen (z. B. eine TAN) wird dem Anwender in der Anwendung angezeigt und/oder in die Zwischenablage des Computers übertragen.
-
In einer Ausgestaltung verfügt das Verfahren über einen automatischen Erkennungsmodus. Hierzu wird mit Hilfe von Algorithmen der Mustererkennung kontinuierlich im Hintergrund der Grafikspeicher des Computers 3 überprüft. Wird eine unterstützte Anzeigekomponente gefunden, wird der Anwender hierüber informiert und der Lesevorgang (s. o.) gestartet. Ein manuelles Markieren des Anzeigebereichs (s. o.) entfällt bei dieser Ausgestaltung.
-
Das erfindungsgemäße Verfahren kann durch ein Computerprogramm implementiert werden, das auf dem Computer 3 ausgeführt wird.