WO2019162082A1 - Verfahren zum sicheren zugriff auf hardware-komponenten innerhalb eines benutzer-terminals sowie derartiges benutzer-terminal - Google Patents

Verfahren zum sicheren zugriff auf hardware-komponenten innerhalb eines benutzer-terminals sowie derartiges benutzer-terminal Download PDF

Info

Publication number
WO2019162082A1
WO2019162082A1 PCT/EP2019/052784 EP2019052784W WO2019162082A1 WO 2019162082 A1 WO2019162082 A1 WO 2019162082A1 EP 2019052784 W EP2019052784 W EP 2019052784W WO 2019162082 A1 WO2019162082 A1 WO 2019162082A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
user
information
hardware components
processing
Prior art date
Application number
PCT/EP2019/052784
Other languages
English (en)
French (fr)
Inventor
Diana Filimon
Thilo Cestonaro
Jürgen Atzkern
Original Assignee
Fujitsu Client Computing Limited
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 Fujitsu Client Computing Limited filed Critical Fujitsu Client Computing Limited
Publication of WO2019162082A1 publication Critical patent/WO2019162082A1/de

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F19/00Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines
    • G07F19/20Automatic teller machines [ATMs]
    • G07F19/205Housing aspects of ATMs
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F19/00Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines
    • G07F19/20Automatic teller machines [ATMs]
    • G07F19/209Monitoring, auditing or diagnose of functioning of ATMs
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0873Details of the card reader

Definitions

  • the invention relates to a method for secure access to hardware components within a user terminal and such a user terminal with one or more
  • Such aspects are particularly relevant to user terminals that perform security-related tasks, for example, in so-called electronic payment terminals that enable electronic payment transactions and in which
  • Security-relevant information is processed and exchanged between the individual components.
  • This object is according to a first aspect by a
  • one or more hardware components to be protected of the user terminal are bound to a processing program by means of a first program interface.
  • the processing program performs processing of first information derived from the one or more far to be backed up hardware components and
  • a user program is connected to the processing program by means of a second program interface
  • the second program interface differs from the first program interface. A (direct) access of the user program by means of the first program interface to the one or more hardware components to be protected is thereby prevented.
  • the present method thus enables categorical prevention of immediate access of a user program to hardware components to be secured within the user terminal.
  • User terminal established user programs, has access only through the second program interface access to the processing program. Information to be exchanged between the hardware components to be protected and the user program according to a predetermined functionality of the user terminal
  • a corresponding exchange of information between all participating components within the user terminal can be controlled, for example, via a software protocol that controls a corresponding (limited) access to the respective program interfaces.
  • Program interfaces can advantageously be controlled via predetermined user rights, certificates or corresponding policies.
  • Hardware components are processed, for example
  • confidential information and so on, from unauthorized user programs.
  • Program interface from the first program interface.
  • the first program interface makes it possible
  • Program interface to be different from those that the second program interface
  • the first and second program interfaces may be, for example, predefined application program interfaces (APIs).
  • APIs application program interfaces
  • User program can perform any function call or other instructions by means of the first program interface. Alternatively, however, it is also conceivable that the user program is logically directly connected to the first program interface, the first one
  • User program is configured such that a
  • Program interface can be prevented. Again, various implementations are possible.
  • the second information may result from a processing of the first information (by means of the processing program or another component).
  • Method is the processing program for processing the first information in the second information or at least as a mediator of processing the first
  • Processing program sets the second information by means of the second program interface the
  • the user program performs further processing of the second information.
  • the first information is obtained by means of the processing program and a separation of the Information exchange about the first and second
  • the first information can be obtained by means of the
  • User program receives only the encrypted information. This prevents unauthorized user programs from gaining access to information that is not intended for these user programs.
  • an information flow can thus be applied to predetermined user programs
  • Program interface within a first user environment operated or controlled, while the second
  • User environment is operated or controlled.
  • the second user environment is hierarchically subordinate to the first user environment in such a way that user rights of the second user environment precede user rights of the first user environment
  • User environment may be, for example, a so-called root user environment (root context), while the second user environment is a standard user environment (user context). This is the functionality of the first
  • Program interface subject to certain user rights of the first user environment, while the functionality of the second program interface is subject to certain user rights of the second user environment, which are different from the user rights of the first user environment.
  • the method may be implemented such that the
  • User environment can only be used, but can not be changed or specially configured within the second user environment. This can be the
  • Processing program can be controlled, used or controlled with appropriate user rights.
  • the first program interface can only be controlled, used, or used by programs (for example, in the present case, the processing program and the hardware components)
  • processing program and the user program can also be separated
  • User environment are controlled and the user program is controlled within the second user environment, the second user environment compared to the first
  • the one or more hardware components of the user terminal to be protected and / or the processing program are connected to a presentation program by means of the first program interface.
  • the presentation program performs processing of third information for display on a display of the user terminal.
  • the third information is between the presentation program and the one or more to be backed up hardware components or the
  • the presentation program is like the
  • Processing program connected to the first program interface and is used to display third
  • the third information may correspond to the first and / or second information, include such information, or may be from the first or second information
  • the presentation program can, for example, display information dialogs, messages or user prompts on a display, if appropriate on a touch-sensitive display, which a user of the user terminal can use for the purpose of Use or functonality of the hardware components.
  • the presentation program may display a dialog box on the display requesting the user of the user terminal to make a particular input to one or more hardware components, or to generally perform a particular interaction with one or more hardware components.
  • the display can be part of the group of hardware components to be protected.
  • the presentation program can be, for example, a so-called Graphical User Interface (GUI).
  • GUI Graphical User Interface
  • the presentation program executes a fourth processing
  • Program interface in addition to the processing program, access the presentation program to certain
  • the user program may be specific to a user program
  • Program interface prevents an exchange of the fourth information between the presentation program and the user program by means of the second program interface. This means that meanwhile the user program does not have access to the presentation program by means of the second program interface. In this case, only an information transfer between the
  • this can prevent the
  • Viewer receives, when sensitive information between other components of the user terminal
  • Program interface can call while sensitive
  • the user terminal comprises a plurality of the hardware components to be protected, wherein the hardware components to be protected comprise an encryption module and a touch-sensitive display and / or a card reader.
  • the first information will be from an am
  • the touch-sensitive display registered user input or obtained from reading in map data of a user card on the card reader of the user terminal.
  • the first information obtained in this way is encrypted by means of the encryption module.
  • information including the encrypted first information is passed from the processing program to the user program as the second information.
  • a user password such as a PIN. It is, for example
  • User card can be read by the card reader, and then a user password, such as its user PIN, on the touch-sensitive display of
  • Encryption module which is part of the hardware components to be secured, encrypted.
  • the method may be implemented such that the encryption module is controlled by the processing program or the processing program passes certain data to the encryption module for processing.
  • the processing program may be the
  • Encryption module a specific key to
  • the method may be implemented such that a corresponding key within the
  • Encryption module is deposited and that
  • the encryption module may include, for example
  • the user program may be a dedicated third-party program for which the encrypted information is intended for further processing. In this way, this user program prevents other user programs from being manipulative immediate
  • the method is performed during an electronic payment operation of the user terminal.
  • the electronic payment process can be performed during an electronic payment operation of the user terminal.
  • the electronic payment process can be performed during an electronic payment operation of the user terminal.
  • Certain instructions, dialog boxes or the like can be displayed on a display.
  • a dialog box may be displayed on the display informing the user
  • Prompt for a user PIN The user can then enter a user PIN at the user terminal.
  • an input field separate from the display can be provided.
  • the display can be touch-sensitive, so that the user can make an input directly on the display.
  • the input data are registered via the display or the input field and transferred to the processing program. This is also done via the first program interface. In addition, this process may be indicated by notice, news or
  • Dialog boxes are controlled by the display program on the display. This is also done via an inter-process communication between the parties involved
  • Encryption module are encrypted.
  • processing program and the second program interface are passed to a dedicated user program of the user terminal, wherein the user program
  • Program interface decides certain information and can continue this within the user program
  • certain personal data of the user may be transferred from the user profile to a remote one Authentication server to be sent to a bank to authenticate the user and to release the payment process.
  • the user terminal has one or more hardware components to be secured, a processing program, and a user program.
  • the one or more hardware components to be protected are connected to the device by means of a first program interface
  • the user program is connected by means of a second program interface to the
  • Program interface is different from the first one
  • Program interface The user terminal is configured so that (immediate) access of the
  • the user terminal comprises a plurality of the hardware components to be protected, wherein the hardware components to be protected comprise an encryption module and a touch-sensitive display and / or a card reader.
  • the encryption module is
  • touch-sensitive display registered user input or be obtained from reading in map data of a user card on the card reader, too
  • the processing program is set up, information comprising the encrypted first information, by means of the second
  • the user terminal is advantageously an electronic payment terminal, the user program being set up to handle an electronic payment transaction. Again, the above explanations apply analogously.
  • the present invention is based on a
  • the figure shows a user terminal 1 in which a
  • User program 11 a processing program 9 and a Display program 13 are installed and run during operation of the user terminal 1.
  • one or more other user programs 12 are installed and run during operation of the user terminal 1.
  • the user programs 11 and 12 can be, for example, certain third-party programs or software applications that are used by (or for)
  • Third party (s) are installed on the user terminal 1 and provide predetermined functionalities for users. In this way, a multifunctional user terminal 1 can be realized.
  • the user program 11 is, for example, a payment program of a payment service provider, such as a bank, for processing an electronic payment transaction.
  • a payment service provider such as a bank
  • Payment program 11 includes certain functionalities
  • Function blocks 16 may include functions for electronic payment, e.g. a so-called EMVCo stack, and or a network framework, e.g. a so-called agnos framework.
  • the processing program 9 (for example, referred to as "gpiDBus") includes certain functional blocks 14 that are arranged to the functionality of the processing program 9.
  • the function blocks 14 may include certain program functions to call for processing data and information within the processing program 9. These can be, for example, PIN-related (PIN related), card-related or encryption-related (crypto-related) program functions.
  • the presentation program 13 includes specific function blocks 15 that can be processed via the presentation program 13.
  • the presentation program 13 is a GUI, wherein the function blocks 15 include certain dialog boxes, messages or other instructions for display on a display of the user terminal 1. These can be eg dialogues of the form "showButtonDlg", "showImageDlg", “showMessageDlg”, “showAmount”, "showListDlg", "EnterPINDlg” etc.
  • the user terminal 1 has predetermined hardware components 2 to 7.
  • Hardware components 2, 3, 4 and 5 represent hardware components to be specifically secured. These include
  • the hardware components 2, 3, 4 and 5 to be protected include a card reader 2, for example a smart card reader, a display 3, for example a
  • an encryption module 4 for example, a so-called crypto processor
  • another reader 5 for example as
  • Magnetic stripe reader is set up.
  • the other hardware components 6 and 7 can be any hardware components 6 and 7.
  • display elements controls or other detection elements, such as scanners and so on, include.
  • the scanners may include, for example, a hand vein scanner or a document scanner.
  • the processing program 9, the presentation program 13 and the hardware components 2, 3, 4 and 5 to be protected are via a first program interface 8 (eg as
  • These components can exchange information with one another via the first program interface 8.
  • An exchange can take place via a predetermined software protocol which controls the first program interface 8.
  • DBusSystem DBusSystem
  • Processing program 9 and connected to the presentation program 13.
  • the user program 11 receives access to the processing program 9 or the presentation program 13, but not immediate access to the hedged hardware components 2, 3, 4 and 5 by means of the first program interface 8.
  • the first program interface 8 is logically such from second program interface 10 separately, that a
  • the two program interfaces 8 and 10 are e.g. APIs.
  • the first user environment 17 is for example, a so-called root user environment
  • the second user environment 18 is a standard user environment.
  • Configuration of the second program interface 10 are set up within the second user environment 18, while the processing program 9 and the presentation program 13 or a use, control or configuration of the first program interface 8 or a
  • Access to the hedged hardware components 2 to 5 are set up within the first user environment 17.
  • the further hardware components 6 and 7 can be such
  • User environment 18 can be controlled.
  • the user terminal 1 is for example for a
  • the payment process is initiated or triggered by the user program 11 and a corresponding function call by means of the second program interface 10 in the
  • a specific Dialogue on the display program 13 on the display 3 of the user terminal 1 a user.
  • the processing program 9 controls by means of the first program interface 8, for example, the card reader 2 or 5 and triggers controlled by the presentation program 13 and the first program interface 8 a representation of a message dialog on the display 3, by which the user is prompted for a specific user input
  • This may include, for example, an entry of a user PIN.
  • the user can enter a user PIN on the display 3 via the touch-sensitive display 3, this information being forwarded to the processing program 9 via the first program interface 8.
  • the processing program 9 via the first program interface 8.
  • the information obtained from the card reader 2 or 5 or via the display 3 can be further processed by the processing program 9. This can be the
  • Processing program 9 pass the information to the encryption module 4, which encrypts the information about a given key.
  • the key can be stored in the encryption module 4 or handed over to the encryption module 4 by the processing program 9.
  • the acquired information can be transferred directly from the corresponding hardware components 2, 3 and 5 via the first program interface 8 to the encryption module 4 without first entering the processing program 9.
  • Processing program 9 can finally provide this information to the user program via the second program interface 10
  • a user PIN may be further processed to be passed in encrypted form to a remote authentication server.
  • Program interface 8 a call of functionalities by the user program 11 by means of the second
  • User programs 12 can be in a corresponding
  • Program interface 8 are exchanged.
  • the explained user terminal 1 allows in this way a hedge of the hardware components 2 to 5, are processed or detected by the sensitive information.
  • Program interface 8 so that the information collected via the hardware components 2 to 5 can not be retrieved directly from the user programs 11 and 12. Also, a manipulation of the hardware components 2 to 5 via the user programs 11 and 12 in this way
  • Processing program 9 by means of a
  • Program interface 8 and the second program interface 10. Such information exchange can be controlled for example via a software protocol.
  • Processing program 9 can process certain information detected by hardware components 2 to 5 before the processing program 9

Abstract

Die Erfindung betrifft ein Verfahren zum sicheren Zugriff auf Hardware-Komponenten (2, 3, 4, 5) innerhalb eines Benutzer-Terminals (1). Dabei sind eine oder mehrere abzusichernde Hardware-Komponenten (2, 3, 4, 5) vermittels einer ersten Programmschnittstelle (8) an ein Verarbeitungsprogramm (9) angebunden, wobei das Verarbeitungsprogramm (9) eine Verarbeitung von ersten Informationen durchführt, die von der oder den abzusichernden Hardware-Komponenten (2, 3, 4, 5) bereitgestellt werden. Ein Benutzerprogramm (11) ist vermittels einer zweiten Programmschnittstelle (10) an das Verarbeitungsprogramm (9) angebunden und tauscht mit dem Verarbeitungsprogramm (9) zweite Informationen aus. Die zweite Programmschnittstelle (10) unterscheidet sich von der ersten Programmschnittstelle (8). Ferner wird ein Zugriff des Benutzerprogramms (11) vermittels der ersten Programmschnittstelle (8) auf die eine oder die mehreren abzusichernden Hardware-Komponenten (2, 3, 4, 5) unterbunden.

Description

Beschreibung
Verfahren zum sicheren Zugriff auf Hardware-Komponenten innerhalb eines Benutzer-Terminals sowie derartiges Benutzer- Terminal
Die Erfindung betrifft ein Verfahren zum sicheren Zugriff auf Hardware-Komponenten innerhalb eines Benutzer-Terminals sowie ein solches Benutzer-Terminal mit einer oder mehreren
abzusichernden Hardware-Komponenten .
In Benutzer-Terminals muss aus Sicherheitsgründen ein Zugriff auf sicherheitsrelevante Hardware-Komponenten abgesichert beziehungsweise beschränkt werden. Ferner ist in Benutzer- Terminals, die zum Beispiel eine Benutzereingabe über ein berührungsempfindliches Display empfangen, während eines sicherheitsrelevanten Prozesses oder einer
sicherheitsrelevanten Anwendung sicherzustellen, dass
Informationen, die aus der Benutzereingabe resultieren, abgesichert bzw. ausschließlich einer vorbestimmten Anwendung beziehungsweise einem vorbestimmten Benutzerprogramm
übergeben werden, ohne dass andere Anwendungen oder andere Benutzerprogramme, die während des Betriebes des Benutzer- Terminals laufen, derartige Informationen erhalten können. Derartige Aspekte sind insbesondere bei Benutzer-Terminals relevant, die sicherheitsrelevante Aufgaben erfüllen, zum Beispiel bei sogenannten elektronischen Bezahl-Terminals , die elektronische Bezahlvorgänge ermöglichen und in denen
sicherheitsrelevante Informationen verarbeitet und zwischen den einzelnen Komponenten ausgetauscht werden.
Bisherige Lösungen von Benutzer-Terminals sehen vor, eine Authentifizierung von Benutzerprogrammen, die während des Betriebes des Benutzer-Terminals ablaufen, über Zertifikate abzusichern und zu prüfen. Eine solche Lösung ist zum
Beispiel aus der Druckschrift US 9,715,600 B2 bekannt. Solche Lösungen haben jedoch den Nachteil, dass Benutzerprogramme trotz gültiger Sicherheitszertifikate unmittelbar Zugriff auf sicherheitsrelevante Hardware-Komponenten innerhalb des
Benutzer-Terminals erlangen. Hierbei besteht die Gefahr, dass Benutzerprogramme die Hardware-Komponenten manipulieren oder ausnutzen, um an sicherheitsrelevante Informationen zu gelangen, die jedoch nicht für eine Verarbeitung innerhalb dieser Benutzerprogramme vorgesehen sind. Insbesondere bei multifunktionalen Benutzer-Terminals, auf denen
verschiedenste Drittanbieter-Programme und Applikationen installiert werden können, kann ein Schutz über
Sicherheitszertifikate unter Umständen unzureichend sein.
Es ist somit eine Aufgabe der vorliegenden Erfindung ein Verfahren sowie ein Benutzer-Terminal der eingangs genannten Art zu beschreiben, die einen verbesserten Zugriff auf abzusichernde Hardware-Komponenten innerhalb des Benutzer- Terminals erlauben.
Diese Aufgabe wird gemäß einem ersten Aspekt durch ein
Verfahren zum sicheren Zugriff auf Hardware-Komponenten innerhalb eines Benutzer-Terminals gemäß Patentanspruch 1 gelöst. Weitergehende Merkmale und Implementierungen sind in den zugehörigen Unteransprüchen offenbart.
Bei diesem Verfahren sind eine oder mehrere abzusichernde Hardware-Komponenten des Benutzer-Terminals vermittels einer ersten Programmschnittstelle an ein Verarbeitungsprogramm abgebunden. Das Verarbeitungsprogramm führt eine Verarbeitung von ersten Informationen durch, die von der oder den abzusichernden Hardware-Komponenten weit gestellt und
vermittels der ersten Programmschnittstelle an das
Verarbeitungsprogramm übergeben werden.
Ferner ist ein Benutzerprogramm vermittels einer zweiten Programmschnittstelle an das Verarbeitungsprogramm
angebunden. Das Benutzerprogramm tauscht mit dem
Verarbeitungsprogramm zweite Informationen aus.
Die zweite Programmschnittstelle unterscheidet sich von der ersten Programmschnittstelle. Ein (unmittelbarer) Zugriff des Benutzerprogramms vermittels der ersten Programmschnittstelle auf die eine oder die mehreren abzusichernden Hardware- Komponenten wird dabei unterbunden.
Das vorliegende Verfahren ermöglicht auf diese Weise eine kategorische Verhinderung eines unmittelbaren Zugriffs eines Benutzerprogramms auf abzusichernde Hardware-Komponenten innerhalb des Benutzer-Terminals. Die abzusichernden
Hardware-Komponenten sind diesbezüglich über die erste
Programmschnittstelle durch das Verarbeitungsprogramm, nicht aber durch das Benutzerprogramm zugänglich. Das
Benutzerprogramm, und vorteilhaft auch alle anderen im
Benutzer-Terminal eingerichteten Benutzerprogramme, hat ausschließlich vermittels der zweiten Programmschnittstelle Zugriff auf das Verarbeitungsprogramm. Informationen, die zwischen den abzusichernden Hardware-Komponenten und dem Benutzerprogramm gemäß einer vorbestimmten Funktionalität des Benutzer-Terminals ausgetauscht werden sollen, werden
zunächst über die erste Programmschnittstelle zwischen den abzusichernden Hardware-Komponenten und dem
Verarbeitungsprogramm ausgetauscht und anschließend weitere Informationen vermittels der zweiten Programmschnittstelle zwischen dem Verarbeitungsprogramm und dem Benutzerprogramm ausgetauscht. Die Verarbeitung derartiger Informationen durch das Benutzerprogramm ist somit auf die Verwendung der zweiten Programmschnittstelle beschränkt .
Ein entsprechender Informationsaustausch zwischen allen beteiligten Komponenten innerhalb des Benutzer-Terminals kann zum Beispiel über ein Software-Protokoll gesteuert werden, das einen entsprechenden (beschränkten) Zugriff auf die jeweiligen Programmschnittstellen steuert. Die Verwendung und ggf. Konfiguration der ersten beziehungsweise zweiten
Programmschnittstellen kann vorteilhaft über vorgegebene Benutzerrechte, Zertifikate oder entsprechende Policies gesteuert werden.
Auf diese Weise ist ein sicherer Zugriff auf Hardware- Komponenten innerhalb des Benutzer-Terminals eingerichtet, wobei die oben erläuterten Gefahren und Nachteile
herkömmlicher Lösungen weitestgehend unterbunden werden.
Aufgrund der Auftrennung einer Zugriffskette zwischen dem Benutzerprogramm und den abzusichernden Hardware-Komponenten über verschiedene Programmschnittstellen unter
Zwischenschaltung des Verarbeitungsprogramms, wird ein
(manipulativer) Zugriff eines Benutzerprogramms auf
abzusichernde Hardware-Komponenten unterbunden. Somit wird sichergestellt, dass gegebenenfalls unsichere
Benutzerprogramme, zum Beispiel Programme von Drittanbietern, die auf dem Benutzer-Terminal installiert sind, keinen
(manipulativen) Zugriff auf die abzusichernden Hardware- Komponenten erhalten. Damit kann verhindert werden, dass sicherheitsrelevante Informationen, die vermittels der
Hardware-Komponenten verarbeitet werden, zum Beispiel
personenbezogene Daten, PIN-Abfragen (PIN = Englisch: personal Identification number) , vertrauliche Informationen, und so weiter, von nicht berechtigten Benutzerprogrammen abgegriffen werden.
Wie oben erläutert, unterscheidet sich die zweite
Programmschnittstelle von der ersten Programmschnittstelle. Die erste Programmschnittstelle ermöglicht den daran
angebundenen Komponenten eine Interprozess-Kommunikation, die sich von einer Interprozess-Kommunikation unterscheidet, die die zweite Programmschnittstelle den daran angebunden
Komponenten bereitstellt . Das kann bedeuten, dass vermittels der ersten Programmschnittstelle bestimmte Funktionsaufrufe, Befehle oder Anweisungen zwischen den daran angebundenen Komponenten ausgetauscht werden können, die vermittels der zweiten Programmschnittstelle lediglich eingeschränkt oder unter Umständen gar nicht erlaubt sind. Es ist auch denkbar, dass sich alternativ oder ergänzend die Funktionsaufrufe, Befehle oder Anweisungen, die durch die erste
Programmschnittstelle bereitgestellt werden, von denjenigen unterscheiden, die die zweite Programmschnittstelle
bereitstellt . Hier sind vielerlei Ausführungen möglich. Die erste und zweite Programmschnittstelle können beispielsweise vordefinierte Anwendungsprogramm-Schnittstellen (Englisch: Application Programm Interfaces, APIs) sein.
Vorteilhaft wird ein Zugriff des Benutzerprogramms vermittels der ersten Programmschnittstelle auf die eine oder die mehreren abzusichernden Hardware-Komponenten dadurch
unterbunden, dass eine Anbindung des Benutzerprogramms an die erste Programmschnittstelle beziehungsweise ein Zugriff des Benutzerprogramms auf die erste Programmschnittstelle
vollständig unterbunden wird. In dieser Konstellation ist das Benutzerprogramm logisch unmittelbar getrennt von der ersten Programmschnittstelle. Das bedeutet, dass das
Benutzerprogramm keinerlei Funktionsaufruf oder sonstige Anweisungen vermittels der ersten Programmschnittstelle durchführen kann. Es ist alternativ jedoch auch denkbar, dass das Benutzerprogramm zwar an die erste Programmschnittstelle logisch unmittelbar angebunden ist, die erste
Programmschnittstelle jedoch in Bezug auf das
Benutzerprogramm derart konfiguriert ist, dass ein
Funktionsaufruf, ein Befehl oder eine Abfrage von
Informationen der abzusichernden Hardware-Komponenten durch das Benutzerprogramm vermittels der ersten
Programmschnittstelle unterbunden werden. Auch hier sind verschiedenste Implementierungen möglich.
In einer Implementierung des Verfahrens führt das
Benutzerprogramm eine Verarbeitung der zweiten Informationen durch, die vom Verarbeitungsprogramm bereitgestellt und vermittels der zweiten Programmschnittstelle an das
Benutzerprogramm übergeben werden. Die zweiten Informationen können dabei aus einer Verarbeitung der ersten Informationen (vermittels des Verarbeitungsprogramms oder einer anderen Komponente) resultieren. In dieser Implementierung des
Verfahrens dient das Verarbeitungsprogramm zur Verarbeitung der ersten Informationen in die zweiten Informationen oder zumindest als Vermittler einer Verarbeitung der ersten
Informationen in die zweiten Informationen. Das
Verarbeitungsprogramm stellt dabei die zweiten Informationen vermittels der zweiten Programmschnittstelle dem
Benutzerprogramm bereit. Das Benutzerprogramm führt eine weitere Verarbeitung der zweiten Informationen durch.
Auf diese Weise werden die ersten Informationen vermittels des Verarbeitungsprogramms und einer Auftrennung des Informationsaustausches über die ersten und zweiten
Programmschnittstelle logisch getrennt von den zweiten
Informationen, die an das Benutzerprogramm übergeben werden. Somit erhält das Benutzerprogramm ausschließlich
Informationen, die zunächst vom Verarbeitungsprogramm
verarbeitet oder zumindest kontrolliert worden sind. Dadurch wird verhindert, dass das Benutzerprogramm unmittelbar
Zugriff auf die ersten Informationen erhält.
Eine Anwendung dieser Implementierung ist beispielsweise dadurch gegeben, dass die ersten Informationen
personenbezogene oder ansonsten sicherheitsrelevante
Informationen sind, die derart unter Zuhilfenahme des
Verarbeitungsprogramms oder einer anderen durch das
Verarbeitungsprogramm kontrollierten Komponente verarbeitet werden, dass das Benutzerprogramm lediglich einen
vorbestimmten und gegebenenfalls dezidiert eingeschränkten Zugriff auf weitere Informationen erhält. Beispielsweise können die ersten Informationen vermittels des
Verarbeitungsprogramms oder einer vom Verarbeitungsprogramm gesteuerten Komponente verschlüsselt werden, wobei das
Benutzerprogramm lediglich die verschlüsselten Informationen erhält. Dadurch wird verhindert, dass nicht autorisierte Benutzerprogramme Zugriff auf Informationen erhalten, die nicht für diese Benutzerprogramme bestimmt sind. Durch eine Vorverarbeitung der ersten Informationen, gesteuert durch das Verarbeitungsprogramm, kann somit ein Informationsfluss hin zu vorbestimmten Benutzerprogrammen anwendungs- und
benutzerrechte-spezifisch kontrolliert werden. Ein
unmittelbares Erlagen der ersten Informationen durch jegliche Benutzerprogramme innerhalb des Benutzer-Terminals wird, wie oben erläutert, durch eine Trennung zwischen der ersten und zweiten Programmschnittstelle unterbunden. In einer Implementierung des Verfahrens wird die erste
Programmschnittstelle innerhalb einer ersten Benutzerumgebung betrieben bzw. kontrolliert, während die zweite
Programmschnittstelle innerhalb einer zweiten
Benutzerumgebung betrieben bzw. kontrolliert wird. Die zweite Benutzerumgebung ist der ersten Benutzerumgebung derart hierarchisch untergeordnet, dass Benutzerrechte der zweiten Benutzerumgebung gegenüber Benutzerrechten der ersten
Benutzerumgebung eingeschränkt sind. Die erste
Benutzerumgebung kann beispielsweise eine sogenannte Root- Benutzerumgebung (root context) sein, während die zweite Benutzerumgebung eine Standardnutzer-Umgebung (user context) ist. Dadurch ist die Funktionalität der ersten
Programmschnittstelle bestimmten Benutzerrechten der ersten Benutzerumgebung unterworfen, während die Funktionalität der zweiten Programmschnittstelle bestimmten Benutzerrechten der zweiten Benutzerumgebung unterworfen ist, die sich von den Benutzerrechten der ersten Benutzerumgebung unterscheiden.
Das Verfahren kann derart implementiert sein, dass die
Benutzerrechte der zweiten Benutzerumgebung derart
eingeschränkt sind, dass vorgegebene Funktionalitäten der zweiten Programmschnittstelle innerhalb der zweiten
Benutzerumgebung lediglich verwendet werden können, jedoch innerhalb der zweiten Benutzerumgebung nicht geändert oder speziell konfiguriert werden können. Hierbei kann das
Verfahren derart implementiert sein, dass die
Funktionalitäten der zweiten Programmschnittstelle innerhalb der ersten Benutzerumgebung festgelegt werden. Alternativ kann das Verfahren derart implementiert sein, dass die
Benutzerrechte der zweiten Benutzerumgebung eine Veränderung der Konfiguration der zweiten Programmschnittstelle erlauben. Ein Zugriff auf bzw. eine Verwendung oder Konfiguration der ersten Programmschnittstelle unterliegt jedoch bei sämtlichen dieser Implementierungen ausschließlich der ersten
Benutzerumgebung .
Es ist möglich, das Verfahren derart einzurichten, dass sowohl innerhalb der ersten Benutzerumgebung als auch
innerhalb der zweiten Benutzerumgebung ein Zugriff auf die zweite Programmschnittstelle zugelassen wird. Das bedeutet, dass die zweite Programmschnittstelle von sämtlichen
Programmen (hier konkret Benutzerprogramm und
Verarbeitungsprogramm) mit entsprechenden Benutzerrechten gesteuert, benutzt oder kontrolliert werden kann. Die erste Programmschnittstelle kann dagegen nur von Programmen (zum Beispiel im hier vorliegenden Fall das Verarbeitungsprogramm und die Hardware-Komponenten) gesteuert, benutzt oder
kontrolliert werden, die über entsprechende Benutzerrecht der ersten Benutzerumgebung verfügen.
Ergänzend können auch das Verarbeitungsprogramm sowie das Benutzerprogramm entsprechend durch getrennte
Benutzerumgebungen kontrolliert werden. Dabei kann zum
Beispiel das Verarbeitungsprogramm innerhalb der ersten
Benutzerumgebung kontrolliert werden und das Benutzerprogramm innerhalb der zweiten Benutzerumgebung kontrolliert werden, wobei die zweite Benutzerumgebung gegenüber der ersten
Benutzerumgebung in ihren Benutzerrechten eingeschränkt ist. Auf diese Weise sind Zugriff- und Steuerrechte des
Benutzerprogramms gegenüber Zugriff- und Steuerrechten des Verarbeitungsprogramms eingeschränkt. Vorteilhaft erhalten sämtliche Benutzerprogramme, die während eines Betriebes des Benutzer-Terminals laufen, ausschließlich Benutzerrechte der zweiten Benutzerumgebung, während das Verarbeitungsprogramm dem gegenüber erweiterte Benutzerrechte, zum Beispiel der ersten Benutzerumgebung, erhalten kann.
In einer Implementierung des Verfahrens sind die eine oder mehreren abzusichernden Hardware-Komponenten des Benutzer- Terminals und/oder das Verarbeitungsprogramm vermittels der ersten Programmschnittstelle an ein Darstellungsprogramm angebunden. Das Darstellungsprogramm führt eine Verarbeitung von dritten Informationen zur Darstellung auf einem Display des Benutzer-Terminals durch. Die dritten Informationen werden zwischen dem Darstellungsprogramm und der oder den abzusichernden Hardware-Komponenten beziehungsweise dem
Verarbeitungsprogramm vermittels der ersten
Programmschnittstelle ausgetauscht. Hinsichtlich einer
Konfiguration des Darstellungsprogramms bezüglich der ersten Programmschnittstelle beziehungsweise bezüglich
Benutzerrechten einer oben erläuterten ersten
Benutzerumgebung können die gleichen Vorkehrungen gelten, wie sie in Bezug auf das Verarbeitungsprogramm oben erläutert worden sind. Das Darstellungsprogramm ist, wie die
abzusichernden Hardware-Komponenten und das
Verarbeitungsprogramm, an die erste Programmschnittstelle angebunden und dient zur Darstellung von dritten
Informationen auf einem Display des Benutzer-Terminals. Die dritten Informationen können den ersten und/oder zweiten Informationen entsprechen, derartige Informationen enthalten oder sich von den ersten oder zweiten Informationen
unterscheiden .
Das Darstellungsprogramm kann beispielsweise Hinweisdialoge, Nachrichten oder Benutzeraufforderungen auf einem Display, gegebenenfalls auf einem berührungsempfindlichen Display, darstellen, die einen Benutzer des Benutzer-Terminals zur Verwendung oder Funktonalität der Hardware-Komponenten anleiten. Beispielsweise kann das Darstellungsprogramm ein Dialogfeld im Display anzeigen, wonach der Benutzer des Benutzer-Terminals aufgefordert wird, eine bestimmte Eingabe an einer oder mehreren Hardware-Komponenten durchzuführen oder allgemein eine bestimmte Interaktion mit einer oder mehreren Hardware-Komponenten zu vollführen. Das Display kann dabei Teil der Gruppe der abzusichernden Hardware-Komponenten sein. Das Darstellungsprogramm kann beispielsweise ein sogenanntes Graphical User Interface (GUI) sein.
In einer Implementierung des Verfahrens ist das
Benutzerprogramm vermittels der zweiten Programmschnittstelle an das Darstellungsprogramm angebunden. Dabei führt das Darstellungsprogramm eine Verarbeitung von vierten
Informationen zur Darstellung auf dem Display des Benutzer- Terminals durch, wobei die vierten Informationen zwischen dem Darstellungsprogramm und dem Benutzerprogramm vermittels der zweiten Programmschnittstelle ausgetauscht werden. Auf diese Weise kann das Benutzerprogramm vermittels der zweiten
Programmschnittstelle, neben dem Verarbeitungsprogramm, auf das Darstellungsprogramm zugreifen, um bestimmte
Informationen (vierte Informationen) mit dem
Darstellungsprogramm auszutauschen. Beispielsweise kann das Benutzerprogramm bestimmte benutzerprogramm-spezifische
Dialogfelder, Hinweise oder ähnliches des
Darstellungsprogramms auf dem Display des Benutzer-Terminals zur Anzeige bringen. Allerdings gilt auch hier, wie bezüglich des Verarbeitungsprogramms, dass das Benutzerprogramm
ausschließlich vermittels der zweiten Programmschnittstelle mit dem Darstellungsprogramm kommunizieren kann
(eingeschränkte Interprozesskommunikation vermittels der zweiten Programmschnittstelle) , ohne dass das Benutzerprogramm vermittels der ersten Programmschnittstelle Zugriff auf weitergehende Informationen oder Funktionalitäten hat, die das Darstellungsprogramm mit dem
Verarbeitungsprogramm und/oder den abzusichernden Hardware- Komponenten über die erste Programmschnittstelle austauscht.
In diversen Implementierungen des Verfahrens wird während eines Austausches der zweiten Informationen zwischen dem Verarbeitungsprogramm und dem Benutzerprogramm vermittels der zweiten Programmschnittstelle und/oder während eines
Austausches der dritten Informationen zwischen dem
Darstellungsprogramm und der oder dem abzusichernden
Hardware-Komponenten beziehungsweise dem
Verarbeitungsprogramm vermittels der ersten
Programmschnittstelle ein Austausch der vierten Informationen zwischen dem Darstellungsprogramm und dem Benutzerprogramm vermittels der zweiten Programmschnittstelle unterbunden. Das bedeutet, dass währenddessen das Benutzerprogramm keinen Zugriff auf das Darstellungsprogramm vermittels der zweiten Programmschnittstelle hat. In diesem Fall erfolgt lediglich eine Informationsübertragung zwischen dem
Darstellungsprogramm und den abzusichernden Hardware- Komponenten beziehungsweise dem Verarbeitungsprogramm
vermittels der ersten Programmschnittstelle oder ein
Austausch von Informationen zwischen dem
Verarbeitungsprogramm und dem Benutzerprogramm vermittels der zweiten Programmschnittstelle.
Beispielsweise kann dadurch verhindert werden, dass das
Benutzerprogramm einen manipulativen Zugriff auf das
Darstellungsprogramm erhält, wenn sensible Informationen zwischen sonstigen Komponenten des Benutzer-Terminals
ausgetauscht werden, die (in dieser Form) nicht für das Benutzerprogramm bestimmt sind. Weiterhin kann auf diese Weise verhindert werden, dass sonstige Benutzerprogramme manipulativen Zugriff auf das Darstellungsprogramm und/oder das Verarbeitungsprogramm erhalten, während entsprechende sensible Informationen zwischen sonstigen Komponenten des Benutzer-Terminals ausgetauscht werden, die nicht für die weiteren Benutzerprogramme bestimmt sind. Auf diese Weise kann zum Beispiel verhindert werden, dass Benutzerprogramme von Drittanbietern Funktionen oder Befehle der zweiten
Programmschnittstelle aufrufen können, während sensible
Informationen im Benutzer-Terminal verarbeitet werden, die nicht für diese Drittanbieter-Benutzerprogramme bestimmt sind .
In diversen Implementierungen des Verfahrens umfasst das Benutzer-Terminal mehrere der abzusichernden Hardware- Komponenten, wobei die abzusichernden Hardware-Komponenten ein Verschlüsselungsmodul und ein berührungsempfindliches Display und/oder ein Karten-Lesegeräte umfassen. Die ersten Informationen werden dabei aus einer am
berührungsempfindlichen Display registrierten Benutzereingabe beziehungsweise aus einem Einlesen von Kartendaten einer Benutzerkarte am Karten-Lesegerät des Benutzer-Terminals gewonnen. Die so gewonnenen ersten Informationen werden vermittels des Verschlüsselungsmoduls verschlüsselt.
Anschließend werden Informationen, die die verschlüsselten ersten Informationen umfassen, als die zweiten Informationen vom Verarbeitungsprogramm an das Benutzerprogramm übergeben.
Diese Implementierungen des Verfahrens können beispielsweise zur Verarbeitung eines Benutzerpasswortes, wie zum Beispiel einer PIN, verwendet werden. Dabei ist beispielsweise
möglich, dass ein Benutzer zunächst eine Benutzerkarte am Karten-Lesegerät Vorhalten muss, wobei Kartendaten der
Benutzerkarte durch das Karten-Lesegerät gelesen werden, und anschließend ein Benutzerpasswort, wie zum Beispiel seine Benutzer-PIN, am berührungsempfindlichen Display des
Benutzer-Terminals eingeben muss. Alternativ können auch Implementierungen vorgesehen sein, bei denen ausschließlich eine Benutzerkarte gelesen wird oder ausschließlich eine Benutzer-PIN-Eingabe erforderlich ist. Hier sind verschiedene Möglichkeiten denkbar.
Anschließend werden die so gewonnenen Informationen
(Benutzer-PIN und/oder Kartendaten) über das
Verschlüsselungsmodul, das Teil der abzusichernden Hardware- Komponenten ist, verschlüsselt. Das Verfahren kann derart implementiert sein, dass das Verschlüsselungsmodul durch das Verarbeitungsprogramm kontrolliert beziehungsweise gesteuert wird oder das Verarbeitungsprogramm bestimmte Daten an das Verschlüsselungsmodul zu deren Verarbeitung übergibt. Zum Beispiel kann das Verarbeitungsprogramm dem
Verschlüsselungsmodul einen bestimmten Schlüssel zum
Verschlüsseln der so gewonnenen Informationen übergeben.
Alternativ kann das Verfahren derart implementiert sein, dass ein entsprechender Schlüssel innerhalb des
Verschlüsselungsmoduls hinterlegt ist und das
Verschlüsselungsmodul lediglich die zu verschlüsselnden
Informationen vom Verarbeitungsprogramm mitgeteilt bekommt. Das Verschlüsselungsmodul kann beispielsweise ein
Kryptoprozessor sein. Nach Verschlüsselung der
verschlüsselnden Informationen werden die verschlüsselten Informationen vermittels der ersten Programmschnittstelle vom Verschlüsselungsmodul, vermittels des Verarbeitungsprogramms und über die zweite Programmschnittstelle an ein hierfür bestimmtes Benutzerprogramm des Benutzer-Terminals übergeben. Das Benutzerprogramm kann beispielsweise ein dezidiertes Drittanbieter-Programm sein, für das die verschlüsselten Informationen zur weiteren Verarbeitung bestimmt sind. Auf diese Weise wird verhindert, dass dieses Benutzerprogramm sonstige Benutzerprogramme manipulativen unmittelbaren
Zugriff auf die über die abzusichernden Hardware-Komponenten verarbeiteten Informationen erhalten. Ferner wird verhindert, dass Drittanbieter-Benutzerprogramme Zugriff auf verarbeitete Informationen erhalten, die nicht für diese Benutzerprogramme bestimmt sind. Auf diese Weise kann das Verarbeitungsprogramm steuern, welches Benutzerprogramm welche Informationen erhält. Bestimmte Applikationen können auf diese Weise durch das Verarbeitungsprogramm kontrolliert werden, wobei eine logische Trennung des Informationsflusses zwischen den abzusichernden Hardware-Komponenten und den jeweiligen
Anwendungsprogrammen vermittels der Trennung der ersten und zweiten Programmschnittstelle erfolgt.
In diversen Implementierungen wird das Verfahren während eines elektronischen Bezahlvorgangs des Benutzer-Terminals durchgeführt. Der elektronische Bezahlvorgang kann
beispielsweise dadurch ablaufen, dass ein Benutzer eine elektronische Bankkarte am Karten-Lesegeräte des Benutzer- Terminals einiesen lässt, wobei vermittels des
Darstellungsprogramms bestimmte Anweisungen, Dialogfelder oder Ähnliches an einem Display angezeigt werden.
Beispielsweise kann gesteuert durch das Verarbeitungsprogramm vermittels der ersten Programmschnittstelle und gesteuert durch das Darstellungsprogramm nach Einlesen und Verifizieren von Kartendaten der elektronischen Bankkarte ein Dialogfeld auf dem Display angezeigt werden, das den Benutzer zur
Eingabe einer Benutzer-PIN auffordert. Der Benutzer kann daraufhin eine Benutzer-PIN am Benutzer-Terminal eingeben. Hierfür kann ein vom Display separates Eingabefeld vorgesehen sein. Alternativ kann das Display berührungsempfindlich eingerichtet sein, sodass der Benutzer unmittelbar am Display eine Eingabe vornehmen kann. Die Eingabedaten werden über das Display beziehungsweise das Eingabefeld registriert und dem Verarbeitungsprogramm übergeben. Dies geschieht ebenfalls über die erste Programmschnittstelle. Zusätzlich kann dieser Prozess durch entsprechende Hinweise, Nachrichten oder
Dialogfelder gesteuert durch das Darstellungsprogramm auf dem Display unterstützt werden. Auch dies geschieht über eine Interprozess-Kommunikation zwischen den beteiligten
Komponenten vermittels der ersten Programmschnittstelle.
Die auf diese Weise gewonnenen Informationen können gesteuert durch das Verarbeitungsprogramm unter Zuhilfenahme des
Verschlüsselungsmoduls verschlüsselt werden. Ein
entsprechender Informationsaustausch zwischen den beteiligten Komponenten erfolgt ebenfalls vermittels der ersten
Programmschnittstelle. Nach Verschlüsselung der
entsprechenden Informationen werden diese über das
Verarbeitungsprogramm und die zweite Programmschnittstelle schließlich an ein dezidiertes Benutzerprogramm des Benutzer- Terminals übergeben, wobei das Benutzerprogramm
beispielsweise ein Bezahlprogramm eines
Zahlungsdienstleisters ist, dessen entsprechende Applikation auf dem Benutzer-Terminal installiert ist. Dieses
Benutzerprogramm erhält somit gesteuert durch das
Verarbeitungsprogramm vermittels der zweiten
Programmschnittstelle dezidiert bestimmte Informationen und kann diese innerhalb des Benutzerprogramms weiter
verarbeiten. Beispielsweise können bestimmte personenbezogene Daten des Benutzers vom Benutzerproramm an einen entfernten Authentifizierungs-Server einer Bank versendet werden, um den Benutzer zu authentifizieren und für den Bezahlvorgang freizugeben. Der Vorteil eines derartig gesteuerten
Bezahlvorgangs vermittels des hier erläuterten Verfahrens besteht darin, dass unsichere Benutzerprogramme keinen unmittelbaren Zugriff auf abzusichernde Hardware-Komponenten erhalten. Ferner wird verhindert, dass Informationen an
Benutzerprogramme weitergegeben werden, die nicht für diese Benutzerprogramme bestimmt sind. Auf diese Weise wird ein sicherer Zugriff auf abzusichernde Hardware-Komponenten des Benutzer-Terminals gewährleistet und ein manipulativer
Zugriff auf sensible Informationen durch nichtautorisierte Benutzerprogramme unterbunden.
Gemäß einem zweiten Aspekt wird die obige Aufgabe durch ein Benutzer-Terminal gemäß dem nebengeordneten Patentanspruch 10 gelöst. Vorteilhafte Ausführungsformen sind in den
zugehörigen Unteransprüchen offenbart. Das Benutzer-Terminal weist eine oder mehrere abzusichernde Hardware-Komponenten, ein Verarbeitungsprogramm und ein Benutzerprogramm auf. Die eine oder mehreren abzusichernden Hardware-Komponenten sind vermittels einer ersten Programmschnittstelle an das
Verarbeitungsprogramm angebunden. Das Benutzerprogramm ist vermittels einer zweiten Programmschnittstelle an das
Verarbeitungsprogramm angebunden. Die zweite
Programmschnittstelle unterscheidet sich von der ersten
Programmschnittstelle. Das Benutzer-Terminal ist derart konfiguriert, dass ein (unmittelbarer) Zugriff des
Benutzerprogramms vermittels der ersten Programmschnittstelle auf die eine oder die mehreren abzusichernden Hardware- Komponenten unterbunden ist. Auch in Bezug auf ein derartiges Benutzer-Terminal gelten die im Zusammenhang mit dem obigen Verfahren erläuterten Vorteile analog. In diversen Ausführungsformen umfasst das Benutzer-Terminal mehrere der abzusichernden Hardware-Komponenten, wobei die abzusichernden Hardware-Komponenten ein Verschlüsselungsmodul und ein berührungsempfindliches Display und/oder ein Karten- Lesegerät umfassen. Das Verschlüsselungsmodul ist
eingerichtet, erste Informationen, die aus einer am
berührungsempfindlichen Display registrierten Benutzereingabe beziehungsweise aus einem Einlesen von Kartendaten einer Benutzerkarte am Karten-Lesegerät gewonnen werden, zu
verschlüsseln und die verschlüsselten ersten Informationen vermittels der ersten Programmschnittstelle dem
Verarbeitungsprogramm zu übergeben. Das Verarbeitungsprogramm ist eingerichtet, Informationen, die die verschlüsselten ersten Informationen umfassen, vermittels der zweiten
Programmschnittstelle an das Benutzerprogramm zu übergeben.
Das Benutzer-Terminal ist vorteilhaft ein elektronisches Bezahl-Terminal , wobei das Benutzerprogramm zur Abwicklung eines elektronischen Bezahlvorgangs eingerichtet ist. Auch hier gelten die obigen Erläuterungen analog.
Sämtliche hier dargestellten Implementierungen, Merkmale und Aspekte des oben erläuterten Verfahrens finden in
strukturellen Merkmalen des Benutzer-Terminals Niederschlag und umgekehrt.
Die vorliegende Erfindung wird anhand eines
Ausführungsbeispiels unter Zuhilfenahme einer Zeichnung nachfolgend näher erläutert.
Die Figur zeigt ein Benutzer-Terminal 1, in dem ein
Benutzerprogramm 11, ein Verarbeitungsprogramm 9 und ein Darstellungsprogramm 13 installiert sind und bei Betrieb des Benutzer-Terminals 1 ablaufen. Neben dem Benutzerprogramm 11 können ein oder mehrere weitere Benutzerprogramme 12
installiert sein. Die Benutzerprogramme 11 beziehungsweise 12 können beispielsweise bestimmte Drittanbieter-Programme oder Softwareapplikationen sein, die von (oder für)
Drittanbieter (n) auf dem Benutzer-Terminal 1 installiert sind und vorbestimmte Funktionalitäten für Benutzer zur Verfügung stellen. Auf diese Weise kann ein multifunktionales Benutzer- Terminal 1 realisiert werden.
Das Benutzerprogramm 11 ist beispielsweise ein Bezahlprogramm eines Zahlungsdienstleisters , wie zum Beispiel einer Bank, zur Abwicklung eines elektronischen Bezahlvorgangs. Das
Bezahlprogramm 11 umfasst bestimmte Funktionalitäten
beziehungsweise Funktionen oder Funktionsblöcke 16, die die Funktionalität des Benutzerprogramms 11 vorgeben. Die
Funktionsblöcke 16 können Funktionen für den elektronischen Zahlungsverkehr, z.B. einen sogenannten EMVCo Stack, und oder ein Netzwerk-Framework, z.B. ein sogenanntes Agnos-Framework, umfassen .
Das Verarbeitungsprogramm 9 (z.B. als „gpiDBus" bezeichnet) umfasst bestimmte Funktionsblöcke 14, die zur Funktionalität des Verarbeitungsprogramms 9 eingerichtet sind.
Beispielsweise können die Funktionsblöcke 14 bestimmte aufzurufende Programmfunktionen zur Verarbeitung von Daten und Informationen innerhalb des Verarbeitungsprogramms 9 umfassen. Diese können z.B. auf PIN bezogene (PIN related), auf Karten bezogene (card related) oder auf Verschlüsselung bezogene (crypto related) Programmfunktionen sein. Das Darstellungsprogramm 13 umfasst bestimmte Funktionsblöcke 15, die über das Darstellungsprogramm 13 verarbeitet werden können. Beispielsweise ist das Darstellungsprogramm 13 ein GUI, wobei die Funktionsblöcke 15 bestimmte Dialogfelder, Nachrichten oder sonstige Anweisungen zur Darstellung auf einem Display des Benutzer-Terminals 1 umfassen. Diese können z.B. Dialoge der Form „showButtonDlg" , „showImageDlg" , „showMessageDlg" , „showAmount", „showListDlg" , „EnterPINDlg" usw. sein.
Neben den erläuterten Programmen weist das Benutzer-Terminal 1 vorbestimmte Hardware-Komponenten 2 bis 7 auf. Die
Hardware-Komponenten 2, 3, 4 und 5 stellen dabei speziell abzusichernde Hardware-Komponenten dar. Diese umfassen
Hardware-Komponenten zur Erfassung beziehungsweise
Verarbeitung von zu schützenden Informationen, wie zum
Beispiel personenbezogene Daten, Benutzerpasswörter, oder ähnliches. Die abzusichernden Hardware-Komponenten 2, 3, 4 und 5 umfassen einen Kartenleser 2, beispielsweise einen Smartcard-Leser, ein Display 3, beispielsweise ein
berührungsempfindliches Display, ein Verschlüsselungsmodul 4, beispielsweise einen sogenannten Kryptoprozessor, und ein weiteres Lesegerät 5, das beispielsweise als
Magnetstreifenleser eingerichtet ist.
Die weiteren Hardware-Komponenten 6 und 7 können
beispielsweise Anzeigeelemente, Bedienelemente oder weitere Erfassungselemente, wie zum Beispiel Scanner und so weiter, umfassen. Die Scanner können beispielsweise einen Handvenen- Scanner oder einen Dokumenten-Scanner umfassen.
Das Verarbeitungsprogramm 9, das Darstellungsprogramm 13 sowie die abzusichernden Hardware-Komponenten 2, 3, 4 und 5 sind über eine erste Programmschnittstelle 8 (z.B. als
„DBusSession" bezeichnet) miteinander gekoppelt. Über die erste Programmschnittstelle 8 können diese Komponenten untereinander Informationen austauschen. Ein Austausch kann über ein vorbestimmtes Software-Protokoll erfolgen, das die erste Programmschnittstelle 8 steuert.
Dagegen ist das Benutzerprogramm 11 und ggf. auch weitere Benutzerprogramme 12 über eine zweite Programmschnittstelle 10 (z.B. als „DBusSystem" bezeichnet) sowohl an das
Verarbeitungsprogramm 9 als auch an das Darstellungsprogramm 13 angebunden. Auf diese Weise erhält das Benutzerprogramm 11 Zugriff auf das Verarbeitungsprogramm 9 beziehungsweise das Darstellungsprogramm 13, nicht jedoch unmittelbaren Zugriff auf die abzusichernden Hardware-Komponenten 2, 3, 4 und 5 vermittels der ersten Programmschnittstelle 8. Vielmehr ist die erste Programmschnittstelle 8 logisch derart von der zweiten Programmschnittstelle 10 getrennt, dass ein
unmittelbarer Aufruf von Funktionen, Befehlen oder ein
Erhalten von Informationen durch das Benutzerprogramm 11 von den abzusichernden Hardware-Komponenten 2 bis 5 unterbunden wird. Die beiden Programmschnittstellen 8 und 10 sind z.B. APIs .
Im Benutzer-Terminal 1 sind unterschiedlicher
Benutzerumgebungen 17 und 18 eingerichtet. Diese
Benutzerumgebungen 17, 18 definieren unterschiedliche
Benutzerrechte hinsichtlich einer Konfiguration
beziehungsweise eines Zugriffs auf die erste beziehungsweise zweite Programmschnittstelle 8 und 10 beziehungsweise auf die einzelnen Programme, insbesondere das Verarbeitungsprogramm 9, das Darstellungsprogramm 13 und das Benutzerprogramm 11 beziehungsweise 12. Die erste Benutzerumgebung 17 ist beispielsweise eine sogenannte Root-Benutzerumgebung, während die zweite Benutzerumgebung 18 eine Standardnutzer-Umgebung ist. Eine entsprechende logische Zugriffstrennung bzw.
spezielle Absicherung ist in der Figur durch eine senkrechte gestrichelte Linie durch das Benutzer-Terminal 1 bzw. durch dunkle Balken an den Komponenten 2, 3, 4, 5 und 8 angedeutet. Dadurch soll symbolisiert werden, dass die Benutzerprogramme 11 und 12 beziehungsweise eine Nutzung, Kontrolle oder
Konfiguration der zweiten Programmschnittstelle 10 innerhalb der zweiten Benutzerumgebung 18 eingerichtet sind, während das Verarbeitungsprogramm 9 und das Darstellungsprogramm 13 beziehungsweise eine Nutzung, Kontrolle oder Konfiguration der ersten Programmschnittstelle 8 beziehungsweise ein
Zugriff auf die abzusichernden Hardware-Komponenten 2 bis 5 innerhalb der ersten Benutzerumgebung 17 eingerichtet sind. Die weiteren Hardware-Komponenten 6 und 7 können derart
"offen" eingerichtet sein, dass diese unmittelbar von den Benutzerprogrammen 11 und 12 innerhalb der zweiten
Benutzerumgebung 18 angesteuert werden können.
Aufgrund einer derartigen Implementierung des Benutzer- Terminals 1 ist ein sicherer Zugriff auf die abzusichernden Hardware-Komponenten 2 bis 5 während eines programmatischen Ablaufs einer bestimmten Funktionalität des Benutzer- Terminals 1 möglich.
Das Benutzer-Terminal 1 wird beispielsweise für einen
elektronischen Bezahlvorgang verwendet. Der Bezahlvorgang wird durch das Benutzerprogramm 11 initiiert beziehungsweise ausgelöst und ein entsprechender Funktionsaufruf vermittels der zweiten Programmschnittstelle 10 in das
Verarbeitungsprogramm 9 und/oder in das Darstellungsprogramm 13 durchgeführt. Hierbei kann beispielsweise ein bestimmtes Dialogfeld über das Darstellungsprogramm 13 auf dem Display 3 des Benutzer-Terminals 1 einen Benutzer dargestellt werden. Das Verarbeitungsprogramm 9 steuert vermittels der ersten Programmschnittstelle 8 beispielsweise den Kartenleser 2 oder 5 an und löst gesteuert durch das Darstellungsprogramm 13 und die erste Programmschnittstelle 8 eine Darstellung eines Hinweisdialoges auf dem Display 3 aus, durch den der Benutzer aufgefordert wird, eine bestimmte Benutzereingabe
durchzuführen. Dies kann beispielsweise eine Eingabe einer Benutzer-PIN umfassen. Der Benutzer kann zum Beispiel über das berührungsempfindliche Display 3 eine Benutzer-PIN am Display 3 eingeben, wobei diese Information über die erste Programmschnittstelle 8 an das Verarbeitungsprogramm 9 weitergegeben wird. Gegebenenfalls kann in diesem
Zusammenhang auch gesteuert über das Darstellungsprogramm 13 ein bestimmter Hinweisdialog oder eine bestimmte Nachricht am Display 3 ausgegeben werden.
Die vom Kartenleser 2 beziehungsweise 5 oder über das Display 3 gewonnenen Informationen (Kartendaten einer Benutzerkarte und/oder Benutzer-PIN) können vom Verarbeitungsprogramm 9 weiter verarbeitet werden. Hierzu kann das
Verarbeitungsprogramm 9 beispielsweise die Informationen dem Verschlüsselungsmodul 4 übergeben, das die Informationen über einen vorgegebenen Schlüssel verschlüsselt. Der Schlüssel kann im Verschlüsselungsmodul 4 vorhinterlegt sein oder dem Verschlüsselungsmodul 4 vom Verarbeitungsprogramm 9 übergeben werden. Alternativ können die erfassten Informationen direkt von den entsprechenden Hardware-Komponenten 2, 3 und 5 über die erste Programmschnittstelle 8 den Verschlüsselungsmodul 4 übergeben werden, ohne zuvor in das Verarbeitungsprogramm 9 zu gelangen. Hier sind verschiedene Implementierungen
möglich . Die über das Verschlüsselungsmodul 4 verschlüsselten
Informationen werden über die erste Programmschnittstelle 8 dem Verarbeitungsprogramm 9 übergeben. Das
Verarbeitungsproramm 9 kann diese Informationen schließlich über die zweite Programmschnittstelle 10 dem Benutzerprogramm
11 zur Verfügung stellen. Innerhalb des Benutzerprogramms 11 können die so übergebenen Informationen weiter verarbeitet werden. Beispielsweise kann eine Benutzer-PIN derart weiter verarbeitet werden, dass sie in verschlüsselter Form an einen entfernt liegenden Authentifizierungs-Server übergeben wird.
Vorteilhaft wird während des Austausches der erläuterten Informationen zwischen den Hardware-Komponenten 2 bis 5 und dem Verarbeitungsprogramm 9 beziehungsweise dem
Darstellungsprogramm 13 vermittels der ersten
Programmschnittstelle 8 ein Aufruf von Funktionalitäten durch das Benutzerprogramm 11 vermittels der zweiten
Programmschnittstelle 10 in Richtung des
Verarbeitungsprogramms 9 beziehungsweise in Richtung des Darstellungsprogramms 13 unterbunden. Auch die weiteren
Benutzerprogramme 12 können in einem entsprechenden
Funktionsaufruf in das Verarbeitungsprogramm 9
beziehungsweise in das Darstellungsprogramm 13 vermittels der zweiten Programmschnittstelle 10 gehemmt sein. Dies hat den Vorteil, dass kein manipulativer Zugriff auf das
Verarbeitungsprogramm 9 beziehungsweise das
Darstellungsprogramm 13 durch eines der Benutzerprogramme 11,
12 möglich ist, während sensible Informationen zwischen den abzusichernden Hardware-Komponenten 2 bis 5 und den
Programmen 9 und 13 vermittels der ersten
Programmschnittstelle 8 ausgetauscht werden. Das erläuterte Benutzer-Terminal 1 ermöglicht auf diese Weise eine Absicherung der Hardware-Komponenten 2 bis 5, durch die sensible Informationen verarbeitet oder erfasst werden.
Benutzerprogramme 11 und 12 innerhalb der Standardnutzer- Umgebung 18 haben auf diese Weise keinerlei
Zugriffsmöglichkeit auf die abzusichernden Hardware- Komponenten 2 bis 5 vermittels der ersten
Programmschnittstelle 8, sodass die über die Hardware- Komponenten 2 bis 5 erfassten Informationen nicht unmittelbar von den Benutzerprogrammen 11 und 12 abgerufen werden können. Auch wird eine Manipulation der Hardware-Komponenten 2 bis 5 über die Benutzerprogramme 11 und 12 auf diese Weise
verhindert. Ein Informationsaustausch zwischen den Hardware- Komponenten 2 bis 5 und den Benutzerprogrammen 11
beziehungsweise 12 erfolgt dennoch gesteuert über das
Verarbeitungsprogramm 9 vermittels einer
Informationsübertragung zwischen der ersten
Programmschnittstelle 8 und der zweiten Programmschnittstelle 10. Ein derartiger Informationsaustausch kann beispielsweise über ein Softwareprotokoll gesteuert werden. Das
Verarbeitungsprogramm 9 kann dabei bestimmte Informationen, die von den Hardware-Komponenten 2 bis 5 erfasst werden, weiter verarbeiten, bevor das Verarbeitungsprogramm 9
vermittels der zweiten Programmschnittstelle 10 die
verarbeiteten Informationen an die Benutzerprogramme 11 beziehungsweise 12 weitergibt. Auf diese Weise kann
sichergestellt werden, dass entsprechende Informationen lediglich an diejenigen Benutzerprogramme 11 beziehungsweise 12 weitergegeben werden, für die diese Informationen bestimmt sind .
Die dargestellte Ausführungsform ist lediglich beispielhaft gewählt . Bezugszeichenliste
1 Benutzer-Terminal
2 Kartenleser
3 Display
4 Verschlüsselungsmodul
5 Magnetstreifenleser
6 Anzeigeelement/Scanner/Bedienelement 7 Anzeigeelement/Scanner/Bedienelement 8 erste Programmschnittstelle
9 Verarbeitungsprogramm
10 zweite Programmschnittstelle
11 Benutzerprogramm
12 Benutzerprogramm
13 Darstellungsprogramm
14 Funktionsblöcke im Verarbeitungsprogramm
15 Funktionsblöcke im Darstellungsprogramm
16 Funktionsblöcke im Benutzerprogramm 17 erste Benutzerumgebung
18 zweite Benutzerumgebung

Claims

Patentansprüche
1. Verfahren zum sicheren Zugriff auf Hardware-Komponenten (2, 3, 4, 5) innerhalb eines Benutzer-Terminals (1),
- wobei eine oder mehrere abzusichernde Hardware-Komponenten (2, 3, 4, 5) des Benutzer-Terminals (1) vermittels einer ersten Programmschnittstelle (8) an ein Verarbeitungsprogramm (9) angebunden sind, wobei das Verarbeitungsprogramm (9) eine Verarbeitung von ersten Informationen durchführt, die von der oder den abzusichernden Hardware-Komponenten (2, 3, 4, 5) bereitgestellt und vermittels der ersten
Programmschnittstelle (8) an das Verarbeitungsprogramm (9) übergeben werden,
- wobei ein Benutzerprogramm (11) vermittels einer zweiten Programmschnittstelle (10) an das Verarbeitungsprogramm (9) angebunden ist und mit dem Verarbeitungsprogramm (9) zweite Informationen austauscht,
- wobei sich die zweite Programmschnittstelle (10) von der ersten Programmschnittstelle (8) unterscheidet, und
- wobei ein Zugriff des Benutzerprogramms (11) vermittels der ersten Programmschnittstelle (8) auf die eine oder die mehreren abzusichernden Hardware-Komponenten (2, 3, 4, 5) unterbunden wird.
2. Verfahren nach Anspruch 1, wobei eine Anbindung des Benutzerprogramms (11) an die erste Programmschnittstelle (8) oder ein Zugriff des Benutzerprogramms (11) auf die erste Programmschnittstelle (8) unterbunden werden.
3. Verfahren nach Anspruch 1 oder 2, wobei das
Benutzerprogramm (11) eine Verarbeitung der zweiten
Informationen durchführt, die vom Verarbeitungsprogramm (9) bereitgestellt und vermittels der zweiten Programmschnittstelle (10) an das Benutzerprogramm (11) übergeben werden, und wobei die zweiten Informationen aus einer Verarbeitung der ersten Informationen resultieren.
4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die erste Programmschnittstelle (8) innerhalb einer ersten
Benutzerumgebung (17) kontrolliert wird und die zweite
Programmschnittstelle (10) innerhalb einer zweiten
Benutzerumgebung (18) kontrolliert wird, und wobei die zweite Benutzerumgebung (18) der ersten Benutzerumgebung (17) derart hierarchisch untergeordnet ist, dass Benutzerrechte der zweiten Benutzerumgebung (18) gegenüber Benutzerrechten der ersten Benutzerumgebung (17) eingeschränkt sind.
5. Verfahren nach einem der Ansprüche 1 bis 4,
- wobei die eine oder mehreren abzusichernden Hardware- Komponenten (2, 3, 4, 5) des Benutzer-Terminals (1) und/oder das Verarbeitungsprogramm (9) vermittels der ersten
Programmschnittstelle (8) an ein Darstellungsprogramm (13) angebunden sind,
- wobei das Darstellungsprogramm (13) eine Verarbeitung von dritten Informationen zur Darstellung auf einem Display (3) des Benutzer-Terminals (1) durchführt und
- wobei die dritten Informationen zwischen dem
Darstellungsprogramm (13) und der oder den abzusichernden Hardware-Komponenten (2, 3, 4, 5) beziehungsweise dem
Verarbeitungsprogramm (9) vermittels der ersten
Programmschnittstelle (8) ausgetauscht werden.
6. Verfahren nach Anspruch 5,
- wobei das Benutzerprogramm (11) vermittels der zweiten Programmschnittstelle (10) an das Darstellungsprogramm (13) angebunden ist, - wobei das Darstellungsprogramm (13) eine Verarbeitung von vierten Informationen zur Darstellung auf dem Display (3) des Benutzer-Terminals (1) durchführt und
- wobei die vierten Informationen zwischen dem
Darstellungsprogramm (13) und dem Benutzerprogramm (11) vermittels der zweiten Programmschnittstelle (10)
ausgetauscht werden.
7. Verfahren nach Anspruch 6, wobei während eines
Austausches der zweiten Informationen zwischen dem
Verarbeitungsprogramm (9) und dem Benutzerprogramm (11) vermittels der zweiten Programmschnittstelle (10) und/oder während eines Austausches der dritten Informationen zwischen dem Darstellungsprogramm (13) und der oder den abzusichernden Hardware-Komponenten (2, 3, 4, 5) beziehungsweise dem
Verarbeitungsprogramm (9) vermittels der ersten
Programmschnittstelle (8) ein Austausch der vierten
Informationen zwischen dem Darstellungsprogramm (13) und dem Benutzerprogramm (11) vermittels der zweiten
Programmschnittstelle (10) unterbunden wird.
8. Verfahren nach einem der Ansprüche 1 bis 7,
- wobei das Benutzer-Terminal (1) mehrere der abzusichernden Hardware-Komponenten (2, 3, 4, 5) umfasst und die
abzusichernden Hardware-Komponenten (2, 3, 4, 5) ein
Verschlüsselungsmodul (4) und ein berührungsempfindliches Display (3) und/oder ein Karten-Lesegerät (2, 5) umfassen,
- wobei die ersten Informationen aus einer am
berührungsempfindlichen Display (3) registrierten
Benutzereingabe beziehungsweise aus einem Einlesen von
Kartendaten einer Benutzerkarte am Karten-Lesegerät (2, 5) gewonnen werden, - wobei die so gewonnenen ersten Informationen vermittels des Verschlüsselungsmoduls (4) verschlüsselt werden, und
- wobei Informationen, die die verschlüsselten ersten
Informationen umfassen, als die zweiten Informationen vom Verarbeitungsprogramm (9) an das Benutzerprogramm (11) übergeben werden.
9. Verfahren nach einem der Ansprüche 1 bis 8, wobei das Verfahren während eines elektronischen Bezahlvorgangs des Benutzer-Terminals (1) durchgeführt wird.
10. Benutzer-Terminal (1) mit einer oder mehreren
abzusichernden Hardware-Komponenten (2, 3, 4, 5), einem
Verarbeitungsprogramm (9) und einem Benutzerprogramm (11), wobei die eine oder mehreren abzusichernden Hardware- Komponenten (2, 3, 4, 5) vermittels einer ersten
Programmschnittstelle (8) an das Verarbeitungsprogramm (9) angebunden sind, und wobei das Benutzerprogramm (11)
vermittels einer zweiten Programmschnittstelle (10) an das Verarbeitungsprogramm (9) angebunden ist,
wobei sich die zweite Programmschnittstelle (10) von der ersten Programmschnittstelle (8) unterscheidet, und
- wobei das Benutzer-Terminal (1) derart konfiguriert ist, dass ein Zugriff des Benutzerprogramms (11) vermittels der ersten Programmschnittstelle (8) auf die eine oder die mehreren abzusichernden Hardware-Komponenten (2, 3, 4, 5) unterbunden ist.
11. Benutzer-Terminal (1) nach Anspruch 10, wobei das
Benutzer-Terminal (1) mehrere der abzusichernden Hardware- Komponenten (2, 3, 4, 5) umfasst und die abzusichernden
Hardware-Komponenten (2, 3, 4, 5) ein Verschlüsselungsmodul (4) und ein berührungsempfindliches Display (3) und/oder ein Karten-Lesegerät (2, 5) umfassen,
wobei das Verschlüsselungsmodul (4) eingerichtet ist, erste Informationen, die aus einer am berührungsempfindlichen
Display (3) registrierten Benutzereingabe beziehungsweise aus einem Einlesen von Kartendaten einer Benutzerkarte am Karten- Lesegerät (2, 5) gewonnen werden, zu verschlüsseln und die verschlüsselten ersten Informationen vermittels der ersten Programmschnittstelle (8) dem Verarbeitungsprogramm (9) zu übergeben,
wobei das Verarbeitungsprogramm (9) eingerichtet ist,
Informationen, die die verschlüsselten ersten Informationen umfassen, vermittels der zweiten Programmschnittstelle (10) an das Benutzerprogramm (11) zu übergeben.
12. Benutzer-Terminal (1) nach Anspruch 10 oder 11, wobei das Benutzer-Terminal (1) ein elektronisches Bezahl-Terminal ist und das Benutzerprogramm (11) zur Abwicklung eines elektronischen Bezahlvorgangs eingerichtet ist.
PCT/EP2019/052784 2018-02-23 2019-02-05 Verfahren zum sicheren zugriff auf hardware-komponenten innerhalb eines benutzer-terminals sowie derartiges benutzer-terminal WO2019162082A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018104178.0 2018-02-23
DE102018104178.0A DE102018104178A1 (de) 2018-02-23 2018-02-23 Verfahren zum sicheren Zugriff auf Hardware-Komponenten innerhalb eines Benutzer-Terminals sowie derartiges Benutzer-Terminal

Publications (1)

Publication Number Publication Date
WO2019162082A1 true WO2019162082A1 (de) 2019-08-29

Family

ID=65324369

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/052784 WO2019162082A1 (de) 2018-02-23 2019-02-05 Verfahren zum sicheren zugriff auf hardware-komponenten innerhalb eines benutzer-terminals sowie derartiges benutzer-terminal

Country Status (2)

Country Link
DE (1) DE102018104178A1 (de)
WO (1) WO2019162082A1 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100044444A1 (en) * 2007-09-12 2010-02-25 Devicefidelity, Inc. Amplifying radio frequency signals
US20150007265A1 (en) * 2013-06-27 2015-01-01 Selim Aissi Secure data transmission and verification with untrusted computing devices
US20150254677A1 (en) * 2012-09-21 2015-09-10 Visa International Service Association Dynamic object tag and systems and methods relating thereto
WO2016069775A1 (en) * 2014-10-29 2016-05-06 Clover Network, Inc. Secure extensible point of sale platform
US9715600B2 (en) 2012-11-29 2017-07-25 Gilbarco Inc. Fuel dispenser user interface system architecture

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19906134B8 (de) * 1999-02-13 2005-07-28 Bernd Prof. Brügge Ph.D. Anbindung eines ressourcenbeschränkten, prozessorbasierten Systems an einen Mechanismus zur Signalisierung von Nachrichten
US20030132293A1 (en) * 2002-01-11 2003-07-17 Hand Held Products, Inc. Transaction terminal including raised surface peripheral to touch screen
DE10249801B3 (de) * 2002-10-24 2004-05-06 Giesecke & Devrient Gmbh Verfahren zum Ausführen einer gesicherten elektronischen Transaktion unter Verwendung eines tragbaren Datenträgers
DE102011051461B4 (de) * 2011-06-30 2022-05-12 Wincor Nixdorf International Gmbh Verfahren und System zur sicheren Identifizierung für das Durchführen einer Transaktion an einem Selbstbedienungs-Terminal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100044444A1 (en) * 2007-09-12 2010-02-25 Devicefidelity, Inc. Amplifying radio frequency signals
US20150254677A1 (en) * 2012-09-21 2015-09-10 Visa International Service Association Dynamic object tag and systems and methods relating thereto
US9715600B2 (en) 2012-11-29 2017-07-25 Gilbarco Inc. Fuel dispenser user interface system architecture
US20150007265A1 (en) * 2013-06-27 2015-01-01 Selim Aissi Secure data transmission and verification with untrusted computing devices
WO2016069775A1 (en) * 2014-10-29 2016-05-06 Clover Network, Inc. Secure extensible point of sale platform

Also Published As

Publication number Publication date
DE102018104178A1 (de) 2019-08-29

Similar Documents

Publication Publication Date Title
DE69829642T2 (de) Authentifizierungssystem mit chipkarte
DE69435079T2 (de) Chipkarte für eine Vielzahl von Dienstleistungsanbietern und für entfernte Aufstellung derselben
EP2137664B1 (de) Verfahren zur erzeugung bestätigter transaktionsdaten und vorrichtung dazu
WO2011006791A1 (de) Verfahren zum lesen von attributen aus einem id-token
EP3748521B1 (de) Verfahren zum lesen von attributen aus einem id-token
DE102006048797A1 (de) Verfahren zum Ausführen einer Applikation mit Hilfe eines tragbaren Datenträgers
DE112011103580T5 (de) Verfahren, sichere Einheit, System und Computerprogrammprodukt für das sichere Verwalten des Benutzerzugriffs auf ein Dateisystem
DE60317024T2 (de) Methode zum Setzen der Konfigurationsinformationen eines Speichergerätes
EP1697820B1 (de) Verfahren zur freischaltung eines zugangs zu einem computersystem oder zu einem programm
EP1240569A2 (de) Verfahren und vorrichtung zur überprüfung einer datei
DE19703970B4 (de) Verfahren zur Erfassung von Daten und deren Übermittlung in authentischer Form
EP1222563A2 (de) System zur ausführung einer transaktion
EP2169579B1 (de) Verfahren und Vorrichtung zum Zugriff auf ein maschinenlesbares Dokument
WO2019162082A1 (de) Verfahren zum sicheren zugriff auf hardware-komponenten innerhalb eines benutzer-terminals sowie derartiges benutzer-terminal
WO2019162276A1 (de) Verfahren zur absicherung eines zugriffs auf informationen innerhalb eines benutzer-terminals sowie derartiges benutzer-terminal
DE102005053848B4 (de) Verfahren zur bildbasierten Authentifizierung von Online-Transaktionen
DE10006062C2 (de) Tastaturschlüssel
EP3283999B1 (de) Elektronisches system zur erzeugung eines zertifikats
EP2893483A1 (de) Verfahren zur personalisierung eines secure elements (se) und computersystem
EP3502971B1 (de) Prozessorchipkarte und ein verfahren zu deren betrieb
EP1460510B1 (de) Verfahren zur sicheren Kommunikation zwischen einer Datenverarbeitungsanlage und einer Sicherheitseinrichtung
EP1063862A2 (de) Verfahren und Einrichtung zum Aufbau einer Kommunikation zwischen einem Anwendergerät und einem Netz
DE10345468B4 (de) Verfahren zur sicheren Ausführung von Programmen
WO2005073826A1 (de) System mit wenigstens einem computer und wenigstens einem tragbaren datenträger
DE102017104916A1 (de) Verfahren zum Bereitstellen einer Passphrase sowie biometrisches Gerät

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19703693

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19703693

Country of ref document: EP

Kind code of ref document: A1