DE102016006748A1 - Method for authorizing a transaction via a mobile data input and output device - Google Patents

Method for authorizing a transaction via a mobile data input and output device Download PDF

Info

Publication number
DE102016006748A1
DE102016006748A1 DE102016006748.9A DE102016006748A DE102016006748A1 DE 102016006748 A1 DE102016006748 A1 DE 102016006748A1 DE 102016006748 A DE102016006748 A DE 102016006748A DE 102016006748 A1 DE102016006748 A1 DE 102016006748A1
Authority
DE
Germany
Prior art keywords
server
transaction
output device
der
data input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102016006748.9A
Other languages
German (de)
Inventor
Anmelder Gleich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE102016006748.9A priority Critical patent/DE102016006748A1/en
Publication of DE102016006748A1 publication Critical patent/DE102016006748A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3223Realising banking transactions through M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4012Verifying personal identification numbers [PIN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Abstract

Die vorliegende Erfindung betrifft ein Verfahren zur Autorisierung einer Transaktion über ein Dateneingabe- und -ausgabegerät, bei dem von einem Server eine Eingabeaufforderung erzeugt und verschlüsselt und zu dem Dateneingabe- und -ausgabegerät übermittelt wird, die Eingabeaufforderung entschlüsselt und auf dem Dateneingabe- und -ausgabegerät angezeigt wird und vom Dateneingabe- und ausgabegerät Antwortdaten an den Server zurückübermittelt werdenThe present invention relates to a method for authorizing a transaction via a data input and output device, wherein a server generates a prompt and is encrypted and transmitted to the data input and output device, decrypts the prompt and on the data input and output device is displayed and data is returned from the data input and output device to the server

Description

Aufgabe der Erfindung ist die Bereitstellung eines sicheren Verfahrens zur Autorisierung einer Finanztransaktion über ein mobiles Dateneingabe- und Ausgabegerät, z. B. ein Smartphone, über eine auf diesem Gerät ausgeführte Applikation (z. B. eine Smartphone-App) mittels einer statischen, d. h. für mehrere unterschiedliche Transaktionen für denselben Nutzer gleichbleibenden PIN (persönliche Identifikationsnummer).The object of the invention is to provide a secure method for authorizing a financial transaction via a mobile data input and output device, e.g. As a smartphone, via an executed on this device application (eg., A smartphone app) by means of a static, d. H. for several different transactions for the same user consistent PIN (personal identification number).

Zur Absicherung von Finanztransaktionen im web-browser-basierten Online-Banking über das Internet werden üblicherweise Authentifizierungsmechanismen verwendet, bei der ein Nutzer neben einer statischen Zugangskennung (PIN, Passwort) eine für jede Transaktion individuelle Transaktionsnummer bzw. ein Einmalpasswort (TAN) eingeben muss. Diese werden üblicherweise z. B. über eine in Papierform zur Verfügung gestellte Liste (TAN-Liste), einen separaten Übermittlungs-Kanal wie z. B. eine SMS an ein Mobiltelefon mit dem Nutzer zugeordneter SIM-Karte (sogenanntes mTAN-Verfahren), oder über ein separates Hardware-Gerät zur dynamischen Erzeugung einer TAN (TAN-Generatoren) bereitgestellt. Da in diesen Szenarien neben der Kenntnis der statischen PIN auch der Besitz der TAN-Liste, des Mobiltelefons mit zugehöriger SIM-Karte oder des TAN-Generators notwendig ist, stellt dies eine sogenannte Zwei-Faktor-Authentifizierung dar.To secure financial transactions in the web browser-based online banking over the Internet usually authentication mechanisms are used, in which a user must enter in addition to a static access code (PIN, password) for each transaction individual transaction number or a one-time password (TAN). These are usually z. B. on a list provided in paper form (TAN list), a separate transmission channel such. As an SMS to a mobile phone with the user associated SIM card (so-called mTAN method), or provided via a separate hardware device for the dynamic generation of a TAN (TAN generators). Since in these scenarios in addition to the knowledge of the static PIN and the possession of the TAN list, the mobile phone with associated SIM card or the TAN generator is necessary, this is a so-called two-factor authentication.

In mobilen Einsatz-Szenarien z. B. beim Ausführen von Überweisungen über ein Mobiltelefon sind die vorgenannten Zwei-Faktor-Authentifizierungs-Lösungen nur eingeschränkt zweckmäßig, denn das Mitführen und Anwenden einer TAN-Liste in Papierform oder eines TAN-Generators ist unbequem und im Verlustfall riskant bzw. auch nur eingeschränkt nutzbar (wie z. B. im Fall von TAN-Generatoren, die große Computerbildschirme voraussetzen, um Überweisungsdaten optisch vom Bildschirm erfassen zu können). Bei der Ausführung von Überweisungen über ein Mobiltelefon entfällt bei Nutzung des mTAN-Verfahrens der Zwei-Faktor-Schutz teilweise bzw. es entstehen neue Bedrohungsszenarien, da z. B. eine auf einem Smartphone verdeckt laufende Trojaner-Applikation die eingehende SMS abfangen und zur Ausführung unautorisierter oder manipulierter Transaktionen verwenden kann (z. B. innerhalb einer auf dem betroffenen Smartphone selbst aktiven und manipulierten Online-Banking-Session oder durch Weiterübermittlung an eine auf einem Angreifer-Rechner laufende parallel aktive Online-Banking-Session, welche den Versand der mTAN für eine unautorisierte parallele Transaktion ausgelöst haben kann).In mobile deployment scenarios z. As when executing transfers via a mobile phone, the aforementioned two-factor authentication solutions have limited useful, because the entrainment and application of a TAN list in paper form or a TAN generator is inconvenient and risky in the case of loss or even limited usable (such as in the case of TAN generators, which require large computer screens to visually capture transfer data from the screen). When executing transfers via a mobile phone, when using the mTAN method, the two-factor protection is partially eliminated or new threat scenarios arise because, for For example, a Trojan application concealed on a smartphone can intercept the incoming SMS and use it to execute unauthorized or manipulated transactions (eg, within an online banking session that is active and manipulated on the affected smartphone itself or by forwarding to an on an attacker's computer running concurrently active online banking session, which may have triggered the sending of the mTAN for an unauthorized parallel transaction).

Moderne Smartphones bieten die Möglichkeit, z. B. durch kryptographische Mechanismen unter Nutzung z. B. von sogenannten Secure Elements eine relativ sichere Bindung einer Applikation (App) an ein bestimmtes Gerät für ein bestimmtes Nutzerkonto zu ermöglichen (Device-Binding). Hierbei kann z. B. die Erzeugung eines Public/Private-Key-Schlüssel-Paares innerhalb eines manipulationssicheren Hardware-Elements (oder Software-Subsystems) erfolgen und der Private-Key auch unzugänglich für das Betriebssystem des Smartphones innerhalb des Secure Elements gespeichert werden. Hierdurch wird eine teilweise Zwei-Faktor-Sicherheit bereitgestellt, da z. B. bei einer Online-Banking-Anwendung der Bank-Server als Bestandteil der Authentifizierung neben der Eingabe des Nutzer-Passwortes (Wissen) auch das Vorhandensein des Private Keys im Secure Element des betreffenden Smartphones überprüfen kann (z. B. durch einen Challenge-Response-Mechanismus bzw. durch Überprüfung einer Nachrichtensignatur gemäß bekannter Public/Private-Key Verfahren – die korrekte Response/Signatur kann hierbei von der App nur erstellt werden kann, wenn eine kryptographische Funktion durch das Secure Element unter Nutzung des darin gespeicherten nicht-auslesbaren Private Key durchgeführt wurde).Modern smartphones offer the opportunity z. B. by cryptographic mechanisms using z. B. of so-called secure elements to allow a relatively secure binding of an application (app) to a particular device for a particular user account (device binding). This z. As the generation of a public / private key-key pair within a tamper-resistant hardware element (or software subsystem) done and the private key are also stored inaccessible to the operating system of the smartphone within the secure element. As a result, a partial two-factor security is provided because z. For example, in the case of an online banking application, the bank server, as part of the authentication, can also check the presence of the private key in the secure element of the relevant smartphone in addition to the input of the user password (knowledge) (for example by means of a challenge). Response mechanism or by checking a message signature according to known public / private key method - the correct response / signature can be created by the app only if a cryptographic function by the secure element using the stored non-readable private Key was performed).

Hierdurch wird sichergestellt, dass für einen bestimmten Nutzer die Anmeldung am Bank-Server nur unter Nutzung eines bestimmten Gerätes möglich ist, welches den passenden Private Key in seinem Secure Element gespeichert hat.This ensures that for a particular user, the login to the bank server is possible only using a specific device, which has stored the appropriate private key in his secure element.

Die Anmeldung am Bank-Server für den betreffenden Nutzer über ein anderes Gerät, auf der derselbe oder ein manipulierter Applikations-Code ausgeführt wird, kann hierdurch relativ sicher verhindert werden.The registration at the bank server for the relevant user via another device, on which the same or a manipulated application code is executed, can thereby be relatively reliably prevented.

Dennoch verbleiben Angriffs-Möglichkeiten durch sogenannte „Man-in-the-App”-Attacken, d. h. Schadcode, der z. B. durch Schwachstellen in der Sicherheit des Smartphones-Betriebssystems für den Nutzer unbemerkt ausgeführt werden kann. Solche „Smartphone-Trojaner” ermöglichen es z. B., angezeigte Bildschirminhalte und Tastatureingaben oder Touchscreen-Eingaben sowohl aufzuzeichnen als auch zu manipulieren. Hierdurch könnte ein solcher „Smartphone-Trojaner” das Verhalten einer Banking-App so beeinflussen, dass innerhalb einer an sich korrekt authentifizierten Session eine missbräuchliche Überweisung von z. B. 1000 EUR an Empfänger B mit der Kontonummer 47114711 ausgeführt wird, obwohl der Nutzer glaubt, die eigentlich beabsichtigte Überweisung von z. B. 100 EUR an Empfänger A mit der Kontonummer 08150815 auszuführen. Hierfür muss der Trojaner nur die Tastatureinaben so abändern, dass statt des beabsichtigten Betrages 100 EUR ein tatsächlicher Betrag von 1000 EUR und statt der beabsichtigten Empfänger-Kontonummer 08150815 die tatsächliche Kontonummer 47114711 an den Bank-Server übermittelt werden, während gleichzeitig die Bildschirmanzeige so manipuliert wird, dass dort als vermeintliche, beabsichtigte Eingaben 100 EUR und Kontonummer 08150815 erscheinen.Nevertheless, attack options remain through so-called "man-in-the-app" attacks, ie malicious code, the z. B. can be performed unnoticed by vulnerabilities in the security of the smartphone operating system for the user. Such "smartphone Trojan" allow z. For example, you can both record and manipulate displayed screen content and keystrokes or touchscreen inputs. In this way, such a "smartphone Trojan" could influence the behavior of a banking app so that within a correctly authenticated session itself an abusive transfer of z. B. 1000 EUR is carried out to recipient B with the account number 47114711, although the user believes the intended transfer of z. B. 100 EUR to receiver A with the account number 08150815 execute. For this purpose, the Trojan must only change the keypad entries so that instead of the intended amount of 100 EUR an actual amount of 1000 EUR and instead of the intended recipient account number 08150815 the actual account number 47114711 are transmitted to the bank server, while the screen display is manipulated that appear there as alleged, intended inputs 100 EUR and account number 08150815.

Gegen diese Art von Angriffen, die generell als „Man-in-the-Middle”-Attacken bekannt sind und speziell nach Anwendungsszenario z. B. „Man-in-the-Browser” oder „Man-in-the-App” genannt werden, schützen die vorgenannten mTAN- und TAN-Generator-Verfahren. Beim mTAN-Verfahren werden die Transaktionsdaten, so wie sie beim Bank-Server ankommen, nochmal zusammen mit dem mTAN-Code an den Nutzer übermittelt. Bei TAN-Generator-Verfahren werden die Transaktionsdaten entweder direkt vom Nutzer in den Generator eingegeben oder per optischer Übertragung vom Computer-Bildschirm übermittelt und im Generator-Gerät nochmal angezeigt. Das Generator-Gerät erzeugt daraus eine nur für diese Transaktionsdaten gültige TAN, die beim Bank-Server auf Übereinstimmung mit den Transaktionsdaten überprüft werden kann. Aus den oben genannten Gründen sind die mTAN und TAN-Generator-Verfahren jedoch nicht für Smartphone-Apps geeignet.Against these types of attacks, which are generally known as "man-in-the-middle" attacks, and specifically according to the application scenario, for example: "Man-in-the-browser" or "man-in-the-app", protect the aforementioned mTAN and TAN generator methods. In the mTAN process, the transaction data, as it arrives at the bank server, is again transmitted to the user together with the mTAN code. With TAN generator methods, the transaction data is either entered directly by the user into the generator or transmitted by optical transmission from the computer screen and displayed again in the generator device. The generator device generates therefrom a TAN which is valid only for this transaction data and which can be checked by the bank server for compliance with the transaction data. However, for the reasons mentioned above, the mTAN and TAN generator methods are not suitable for smartphone apps.

Lösung:Solution:

Ziel der Erfindung ist daher, ein Verfahren bereitzustellen, das Man-in-the-App-Attacken bei Banking-Apps auf Smartphones verhindert und die sicherere benutzerfreundliche Autorisierung von Transaktionen ermöglicht.The aim of the invention is therefore to provide a method which prevents man-in-the-app attacks on banking apps on smartphones and enables the secure user-friendly authorization of transactions.

Zur Lösung der Aufgabe wird ein an sich bekanntes Verfahren, wie es z. B. in der US-Patentschrift US5949348 oder der US-Patentanmeldung US2011/0288965A1 beschrieben ist, abgewandelt und erweitert.To solve the problem, a per se known method, as z. In the US patent US5949348 or U.S. Patent Application US2011 / 0288965A1, modified and expanded.

In der US2011/0288965A1 ist die Erzeugung einer für jede Transaktion dynamisch veränderlichen Eingabetastatur über ein „Graphical User Interface” beschrieben, bei der von der Nutzerseite aus nur Klickpositionen an den Server übertragen werden, so dass dieser daraus eine z. B. eingegebene PIN berechnen kann. Zusätzlich wird auch ein „Authentication Window” (Bezeichnung 26 in den Figuren) mit ebenfalls dynamisch veränderlicher Position beschrieben, in welchem Instruktionen und andere Informationen für den User angezeigt werden.In the US2011 / 0288965A1 is the generation of a dynamically variable for each transaction input keyboard via a "Graphical User Interface" described in the user page from only click positions are transmitted to the server, so that this from a z. B. can calculate entered PIN. In addition, an "Authentication Window" (designation 26 in the figures) is also described with a dynamically variable position in which instructions and other information for the user are displayed.

Dieses Verfahren wird zur Lösung der Aufgabe wie folgt abgewandelt:

  • 1. Es wird auf dem Bank-Server eine Bild-Datei (z. B. im JPEG-Format) erzeugt, die eine (z. B. numerische) Eingabetastatur mit zufällig angeordneten Tastenpositionen repräsentiert, wobei die zufällige Anordnung für jede Transaktion erneut vorgenommen wird somit von Transaktion zu Transaktion variiert.
  • 2. Hierbei wird auf dem Bank-Server gespeichert, welche Bildbereiche in Form von X-Y-Koordinaten mit welcher Eingabetaste assoziiert sind.
  • 3. Zusätzlich wird eine optische Wiedergabe der wesentlichen Transaktionsdaten an einer ebenfalls zufällig angeordneten Position in die vorgenannte Bild-Datei eingebettet. Auch hier wird die zufällige Anordnung für jede Transaktion erneut vorgenommen und variiert somit von Transaktion zu Transaktion. Die Einbettung kann auch in Form einer teilweisen Überlagerung unter Nutzung von Transparenz analog zu einem Wasserzeichen geschehen.
  • 4. Die Darstellung der Beschriftung der Tastenpositionen (d. h. z. B. die Darstellung der Ziffern einer numerischen Tastatur) erfolgt in optisch zufällig verzerrter Form analog zu einem sogenannten „CAPTCHA”, um die Maschinenlesbarkeit zu erschweren. D. h. erschwert wird die Interpretation des Bildinhaltes durch algorithmische Analyse, so dass mit automatisierten Verfahren nur unter großem Rechen- und Zeitaufwand Rückschlüsse darauf gewonnen werden können, an welcher Position sich welche Tasten gemäß Punkt 1 befinden bzw. an welcher Position und in welcher Darstellungsform die Transaktionsdaten gemäß Punkt 3 eingebettet sind. Auch hier wird die Darstellungsform für jede Ziffer und für jede Transaktion erneut zufällig variiert.
  • 5. Dieses vom Server erzeugte Bild wird vom Server an die App übertragen und dort angezeigt.
  • 6. Der Nutzer ist nun in der Lage, das Bild wahrzunehmen, die in das Bild eingebetteten Transaktionsdaten zu überprüfen und zur Freigabe der Transaktion seine PIN einzugeben, die gemäß dem Verfahren statisch sein kann, d. h. für alle Transaktionen eines Nutzers gleichbleibend.
  • 7. Die App nimmt nun eine der Länge des Passwortes bzw. der PIN entsprechende Anzahl von Touch-Events entgegen (d. h. Berührungen des Touchscreen durch den Nutzer) und sendet die X-Y-Koordinaten der einzelnen Touch-Events (mit Angaben zur Relativposition in Bezug auf Größe und Lage des in Punkt 5 angezeigten Bildes) zum Server.
  • 8. Der Server vergleicht die empfangenen Koordinaten der einzelnen Touch-Events mit den gemäß Punkt 2 gespeicherten Eingabetasten-Koordinaten-Bereichen, um die korrekte Eingabe des Passwortes bzw. der PIN zu überprüfen, und gibt im Erfolgsfall die Transaktion frei.
  • 9. Es wird sichergestellt, dass zwischen den Punkten 5, 7 und 8 ein definiertes Timeout-Intervall eingehalten wird, d. h. die Übermittlung der Koordinaten der Touch-Events von der App an den Server muss innerhalb einer bestimmt kurzen Zeit nach Übertragung des Bildes vom Server an die App erfolgen. Zweckmäßigerweise wird dies – zum Ausschluss von Manipulationen des App-Codes – vom Server sichergestellt.
  • 10. Es wird der Umstand ausgenutzt, dass in Mobilfunknetzen (und in der Regel auch in privaten Festnetzanschlüssen in der Kombination DSL + WLAN) die Datenübertragungsgeschwindigkeit beim Download (vom Bank-Server zum Nutzer-Smartphone) in der Regel deutlich höher ist als beim Upload (vom Nutzer-Smartphone zum Bank-Server oder jedem anderen internetbasierten Server).
  • 11. Die Größe (Auflösung) der Bilddatei gemäß Punkt 1 und das Timeout-Intervall gemäß Punkt 9 werden so angepasst, dass die für einen Upload der Bilddatei benötigte Zeit größer wäre als das Timeout-Intervall. Hierbei wird zweckmäßigerweise gleichzeitig berücksichtigt, dass das Timeout-Intervall einerseits lang genug ist, um eine bequeme Eingabe der PIN zu ermöglichen, andererseits aber der Download der Bilddatei schnell genug erfolgt, um ein zügiges Abwickeln der Transaktion zu ermöglichen. Hierbei können die Datenübertragungszeiten in beide Richtungen (Download/Upload) z. B. kurz vorher dynamisch gemessen/ermittelt werden. Zur Absicherung gegen temporäre Verfälschung dieser Messung durch künstliche Drosselung der Datenübertragungs-Geschwindigkeiten durch ein Schadcode-Programm (Smartphone-Trojaner) kann durch Anpassung der Größe der Bilddatei und des Timeout-Intervalls sichergestellt werden, dass Transaktionen z. B. nur dann akzeptiert werden, wenn die Download-Geschwindigkeit nahe an der in dem betreffenden Datennetz maximal möglichen Datenübertragungsgeschwindigkeit liegt.
This method is modified to solve the problem as follows:
  • 1. An image file (eg, in JPEG format) is created on the bank server that represents a (eg, numeric) input keyboard with randomly-arranged key positions, with the randomization being done again for each transaction is thus varied from transaction to transaction.
  • 2. This stores on the bank server which image areas in the form of XY coordinates are associated with which input key.
  • 3. In addition, an optical reproduction of the essential transaction data is embedded in a likewise randomly arranged position in the aforementioned image file. Again, the random ordering is re-done for each transaction and thus varies from transaction to transaction. The embedding can also be done in the form of a partial overlay using transparency analogous to a watermark.
  • 4. The representation of the label of the key positions (ie, for example, the representation of the numerals of a numeric keypad) takes place in optically randomly distorted form analogous to a so-called "CAPTCHA" to complicate the machine readability. Ie. The interpretation of the image content is made more difficult by algorithmic analysis, so that conclusions can be drawn with automated methods only at great computation time and time, at which position which keys are located according to point 1 or at which position and in which representation the transaction data according to Point 3 are embedded. Again, the display format for each digit and for each transaction is again randomly varied.
  • 5. This image generated by the server is transmitted from the server to the app and displayed there.
  • 6. The user is now able to perceive the image, review the transaction data embedded in the image, and enter his PIN to release the transaction, which may be static according to the process, ie, consistent for all transactions of a user.
  • 7. The app now accepts a number of touch events corresponding to the length of the password or the PIN (ie touches of the touch screen by the user) and sends the XY coordinates of the individual touch events (with relative position information) Size and location of the image displayed in item 5) to the server.
  • 8. The server compares the received coordinates of the individual touch events with the input key coordinate ranges stored according to point 2 to check the correct entry of the password or the PIN, and releases the transaction if successful.
  • 9. It is ensured that a defined timeout interval is observed between points 5, 7 and 8, ie the transmission of the coordinates of the touch events from the app to the server must be within a certain short time after transmission of the image from the server to the app. Conveniently, this is - to exclude tampering with the app code - ensured by the server.
  • 10. It is exploited the fact that in mobile networks (and usually in private landline connections in the combination DSL + WLAN), the data transfer speed when downloading (from the bank server to the user's smartphone) is usually much higher than the upload (from the user's smartphone to the bank server or any other Internet-based server).
  • 11. The size (resolution) of the image file according to point 1 and the timeout interval according to point 9 are adjusted so that the time required to upload the image file would be greater than the timeout interval. This is expediently taken into account at the same time that the timeout interval on the one hand long enough to allow easy entry of the PIN, but on the other hand, the download of the image file is done quickly enough to allow a speedy transaction of the transaction. Here, the data transfer times in both directions (download / upload) z. B. dynamically measured / determined shortly before. To protect against temporary falsification of this measurement by artificially throttling the data transmission speeds by a malicious code program (smartphone Trojan) can be ensured by adjusting the size of the image file and the timeout interval that transactions z. B. only be accepted if the download speed is close to the maximum possible data transmission speed in the relevant data network.

Vorteile:Advantages:

Das erfindungsgemäße Verfahren schützt auf zweierlei Weise.The method according to the invention protects in two ways.

Zum einen erschwert es Angriffe nach dem im obigen Beispiel beschriebenen Man-in-the-App-Szenario, das in Echtzeit erfolgen muss. Um die Bestätigungsanzeige der Transaktionsdaten zu manipulieren, müsste ein Smartphone-Trojaner sehr ausgefeilte Bildanalyse- und Bildbearbeitungsfunktionen durchführen, denn er müsste zunächst ermitteln, an welcher Stelle im vom Server erzeugten Bild die (zur vom Angreifer abgefälschten Transaktion gehörenden) Transaktionsdaten eingebettet sind, und sodann die Bilddatei so manipulieren, dass genau an Stelle der serverseitig generierten Daten die dem Nutzer vorzugaukelnden Daten eingefügt werden. Dies wäre besonders bei entsprechend ausgefeilter grafischer Darstellung z. B. in Form von Wasserzeichen-Überlagerung außerordentlich schwierig. Nur wenn diese Abänderung der Bilddatei aber glaubhaft gelänge, würde der Nutzer die PIN zu den vorgegaukelten Transaktionsdaten eingeben.First, it makes it harder to attack after the man-in-the-app scenario described in the example above, which must be done in real time. In order to manipulate the confirmation display of the transaction data, a smartphone Trojan would have to perform very sophisticated image analysis and image processing functions, as it would first have to determine at which point in the image generated by the server the transactional data (associated with the attacker's spoofed transaction) embedded, and then Manipulate the image file in such a way that the data to be simulated to the user is inserted exactly in place of the data generated on the server side. This would be especially with appropriately sophisticated graphical representation z. B. in the form of watermark overlay extremely difficult. Only if this modification of the image file could be credible, the user would enter the PIN to the pretended transaction data.

Zum anderen erschwert das Verfahren auch Angriffe nach einem zeitverzögerten Man-in-the-App-Szenario. In diesem Szenario könnte ein Smartphone-Trojaner zunächst eine normale legitime Transaktion „mitschneiden”, d. h. das vom Server übertragene Bild und die zugehörigen vom Nutzer eingegebenen Touch-Events mit Klickpositionen speichern. Diese Daten könnte der Trojaner dann an einen vom Angreifer kontrollierten Server übertragen. Der Angreifer könnte hieraus dann zu einem späteren Zeitpunkt, d. h. ohne Timeout-Restriktion, ohne weiteres durch direktes menschliches Ablesen die PIN ermitteln.On the other hand, the process also makes it more difficult to attack after a time-delayed man-in-the-app scenario. In this scenario, a smartphone Trojan could first "clip" a normal legitimate transaction; H. Save the image transmitted by the server and the associated user-entered touch events with click positions. The Trojan could then transmit this data to an attacker-controlled server. The attacker could then at a later time, d. H. without timeout restriction, easily determine the PIN by direct human reading.

Mit Kenntnis der PIN könnte dann bei der Durchführung der nächsten Transaktion durch den Nutzer das folgende Angriffsszenario versucht werden. Der Trojaner würde die Eingabedaten der Transaktion so abfälschen wie im oben dargestellten Man-in-the-App-Szenario. Der Server würde dann das Bild mit den eingebetteten Transaktionsdaten erzeugen, die zur vom Nutzer nicht beabsichtigten, sondern gefälschten Transaktion gehören. Sobald dieses vom Server erzeugte Bild vollständig übertragen würde, könnte der Smartphone-Trojaner die Anzeige dieses Bildes durch die App unterdrücken und dem Nutzer stattdessen eine Fehler- oder Wartemeldung einblenden, während im Hintergrund versucht werden müsste, durch Anklicken der richtigen Positionen – innerhalb des Timeout-Intervalls – gemäß der dem Angreifer nun bekannten PIN (d. h. Senden der richtigen Touch-Events an den Bank-Server) die gefälschte Transaktion freizugeben. Dem nichtsahnenden Nutzer würde die Fehler- oder Wartemeldung während dieser Zeit weiterhin eingeblendet werden.Knowing the PIN, the user might then attempt the following attack scenario when performing the next transaction by the user. The Trojan would fake the transaction's input data as in the man-in-the-app scenario above. The server would then generate the image with the embedded transaction data belonging to the counterfeit transaction that the user intended. Once this server-generated image was fully transmitted, the smartphone Trojan could suppress the app's display of that image and instead display an error or wait message to the user while trying in the background, by clicking the correct locations - within the timeout Interval - according to the PIN now known to the attacker (ie send the correct touch events to the bank server) to release the fake transaction. The unsuspecting user would continue to see the error or wait message during this time.

Hierzu müsste der auf dem Smartphone ausgeführte Trojaner-Schadcode aber entsprechend der CAPTCHA-Analogie das vom Server erzeugte Bild analysieren können. Auch mit ausgefeilten Bilderkennungsalgorithmen würde hierfür die Rechengeschwindigkeit auf dem Smartphone nicht ausreichen, um dies innerhalb des Timeout-Intervalls zu bewerkstelligen.To do this, however, the Trojan malicious code running on the smartphone would have to be able to analyze the image generated by the server in accordance with the CAPTCHA analogy. Even with sophisticated image recognition algorithms, the computing speed on the smartphone would not be sufficient to accomplish this within the timeout interval.

Alternativ könnte der Trojaner-Schadcode versuchen, die Bilddatei zur Analyse auf einen vom Angreifer kontrollierten Server hochzuladen, um dort mit entsprechend wesentlich höherer Rechenleistung oder aber durch Hinzunahme menschlicher Helfer das Bild zu analysieren, um die zur dem Angreifer bekannten PIN gehörenden Klickpositionen/Koordinaten zu ermitteln. Diese müssten dann zum Trojaner-Schadcode zurückübermittelt werden, damit dieser die wegen der Device-Bindung notwendige Übermittlung der entsprechenden Touch-Events über die App an den Server bewerkstelligen könnte. Das Hochladen zu einem vom Angreifer kontrollierten Server würde aber wegen der entsprechend angepassten Größe der Bilddatei so lange dauern, dass das vom Bank-Server überprüfte Timeout-Intervall schon abgelaufen wäre, bevor der Angreifer das Bild vollständig auf dem von ihm kontrollierten Server empfangen und analysiert hätte.Alternatively, the Trojan malicious code could attempt to upload the image file to an attacker-controlled server for analysis, to analyze the image with correspondingly higher processing power or by adding human helpers to the click positions / coordinates associated with the attacker's PIN determine. These would then have to be returned to the Trojan malicious code, so that this could accomplish the necessary because of the device binding transmission of the corresponding touch events via the app to the server. Uploading to an attacker-controlled server would take so long because of the appropriately adjusted size of the image file, that of the Bank server checked timeout interval would have expired before the attacker would have received the image completely on the server he controlled and analyzed.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • US 5949348 [0010] US 5949348 [0010]
  • US 2011/0288965 A1 [0011] US 2011/0288965 A1 [0011]

Claims (2)

Verfahren zur Autorisierung einer Transaktion über ein Dateneingabe- und -ausgabegerät, bei dem von einem Server eine Eingabeaufforderung erzeugt und verschlüsselt und zu dem Dateneingabe- und -ausgabegerät übermittelt wird, die Eingabeaufforderung entschlüsselt und auf dem Dateneingabe- und -ausgabegerät angezeigt wird und vom Dateneingabe- und ausgabegerät Antwortdaten an den Server zurückübermittelt werdenA method of authorizing a transaction via a data input and output device, wherein a server generates a prompt and is encrypted and transmitted to the data input and output device, the command prompt is decrypted and displayed on the data input and output device, and data input and output device response data are returned to the server Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Transaktion nur ausgeführt wird, wenn die Rückübermittlung der Antwortdaten zum Server innerhalb eines ersten Zeitintervalls abgeschlossen ist, dessen Länge abhängt von einem zweiten Zeitintervall, welches für die Weiterübermittlung einer Darstellung der entschlüsselten Eingabeaufforderung von dem Dateneingabe- und -ausgabegerät notwendig ist.A method according to claim 1, characterized in that the transaction is executed only if the return transmission of the response data to the server is completed within a first time interval, the length of which depends on a second time interval which is sufficient for the further transmission of a representation of the decrypted input request from the data entry terminal. and -ausgabegerät is necessary.
DE102016006748.9A 2016-06-06 2016-06-06 Method for authorizing a transaction via a mobile data input and output device Pending DE102016006748A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016006748.9A DE102016006748A1 (en) 2016-06-06 2016-06-06 Method for authorizing a transaction via a mobile data input and output device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016006748.9A DE102016006748A1 (en) 2016-06-06 2016-06-06 Method for authorizing a transaction via a mobile data input and output device

Publications (1)

Publication Number Publication Date
DE102016006748A1 true DE102016006748A1 (en) 2017-12-07

Family

ID=60327441

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016006748.9A Pending DE102016006748A1 (en) 2016-06-06 2016-06-06 Method for authorizing a transaction via a mobile data input and output device

Country Status (1)

Country Link
DE (1) DE102016006748A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949348A (en) 1992-08-17 1999-09-07 Ncr Corporation Method and apparatus for variable keyboard display
US20110288965A1 (en) 2002-02-05 2011-11-24 Cardinalcommerce Corporation Dynamic pin pad for credit/debit/ other electronic transactions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949348A (en) 1992-08-17 1999-09-07 Ncr Corporation Method and apparatus for variable keyboard display
US20110288965A1 (en) 2002-02-05 2011-11-24 Cardinalcommerce Corporation Dynamic pin pad for credit/debit/ other electronic transactions

Similar Documents

Publication Publication Date Title
EP3574625B1 (en) Method for carrying out an authentication
CN107426181B (en) The hold-up interception method and device of malice web access request
EP2533172B1 (en) Secure access to data in a device
USRE46158E1 (en) Methods and systems to detect attacks on internet transactions
EP2611106A1 (en) System for automated prevention of fraud
DE102011089580B3 (en) Method for reading e.g. attribute stored in passport, for electronic-commerce application, involves examining whether attribute of security assertion markup language response fulfills criterion as premiss for contribution of service
US20080168546A1 (en) Randomized images collection method enabling a user means for entering data from an insecure client-computing device to a server-computing device
EP2962439B1 (en) Reading an attribute from an id token
US20110131635A1 (en) Client-side prevention of cross-site request forgeries
Mirheidari et al. Cached and confused: Web cache deception in the wild
US20190147451A1 (en) Collaborate Fraud Prevention
Rauti et al. Browser extension-based man-in-the-browser attacks against Ajax applications with countermeasures
Heiderich et al. The bug that made me president a browser-and web-security case study on helios voting
Aljawarneh et al. A web client authentication system using smart card for e-systems: initial testing and evaluation
DE102009057800A1 (en) Method for providing secure and convenient access to online accounts via remote forwarding
Wedman et al. An analytical study of web application session management mechanisms and HTTP session hijacking attacks
Lepofsky The manager's guide to web application security: a concise guide to the weaker side of the web
Okediran et al. A Survey of Remote Internet Voting Vulnerabilities
Greene et al. An investigation into a denial of service attack on an ethereum network
DE102017127280B4 (en) PROTECTION AGAINST REALTIME PHISHING AND OTHER ATTACKS DURING A LOGIN PROCESS ON A SERVER
CN110266727A (en) Recognition methods, server and the client of simulation browser behavior
Manjula et al. Pre-Authorization and post-authorization techniques for detecting and preventing the session hijacking
Wodo et al. Security Issues of Electronic and Mobile Banking.
DE102016006748A1 (en) Method for authorizing a transaction via a mobile data input and output device
CH715740A2 (en) Procedure for determining unauthorized access to data.

Legal Events

Date Code Title Description
R084 Declaration of willingness to licence
R012 Request for examination validly filed