Computer system for carrying out an electronic transaction process

DE102013022437B4Active Publication Date: 2025-03-20BUNDESDRUCKEREI GMBH
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
DE102013022437
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2013-06-28
Publication Date
2025-03-20
Estimated Expiration
2033-06-28

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Computer system comprising a terminal (186), a service computer system (150), a user computer system (100), an ID provider computer system (136), and an ID token (106) assigned to a user (102), wherein the ID token has an electronic memory (118) with a protected memory area (124) in which one or more attributes are stored, wherein access to the protected memory area is possible only via a processor (128) of the ID token, and wherein the ID token has a communication interface (108) for communication with a reader of a user computer system (100), wherein the terminal, the service computer system, the user computer system, the ID provider computer system, and the ID token are configured to perform the following steps: - Display of an optically readable pattern on a screen (188) of a terminal (186), wherein the optically readable pattern contains encoded information which includes at least a logical address of a service computer system (150) and transaction data, - Detection of the pattern using an optical sensor (190) of the user computer system and decoding of the pattern by the user computer system, - Transmission of a transaction request (158) from the user computer system to the logical address of the service computer system over the network, wherein the transaction request includes the transaction data, - Transmission of a request (166) from the service computer system via the user computer system (100) to an ID provider computer system (136), wherein the transmission takes place over the network, wherein the request includes an attribute specification of the attributes to be read from the ID token for the execution of the transaction, - User authentication against the ID token, - Authentication of the ID provider computer system to the ID token over the network, - provided that the user and the ID provider computer system are successfully authenticated to the ID token, the ID provider computer system reads the attribute(s) from the ID token according to the attribute specification over the network with end-to-end encryption, - Transmission of a response (174) from the ID provider computer system via the user computer system to the service computer system, wherein the transmission of the response takes place over the network, wherein the response includes the read attribute(s), and wherein the response is signed by the ID provider computer system, - Execution of the transaction using the transaction data and the attribute(s) by the service computer system, wherein the terminal is a machine, wherein the transaction data includes a payment amount, and wherein the transaction is initiated by the service computer system to carry out a financial transaction in the amount of the payment.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This patent application is a divisional application of parent application 10 2013 212 646.8. Description

[0002] The invention relates to a computer system for carrying out an electronic transaction process.

[0003] Various transaction methods are known for electronic commerce, also known as eCommerce. These include common payment methods such as paper-based transfers or cash on delivery, as well as electronic payment methods such as credit card payments, online banking payments, collection / billing systems, factory systems, electronic direct debits, prepaid methods, payment by telephone bill, and mobile payment systems. Some of these payment methods are also used for e-government applications.

[0004] The invention is based on the object of creating an improved electronic transaction method and a corresponding computer system.

[0005] The object underlying the invention is achieved by the features of the independent patent claims. Embodiments of the invention are specified in the dependent patent claims.

[0006] Known from the state of the art are an information processing device with an optical data reader, server, and a method for electronic commerce (US 2003 / 0120555 A1), a technical guideline on a server to simplify electronic proof of identity in web applications (BSI TR-03130, Technical Guideline eID Server, Federal Office for Information Security, Ver. 1.6, 20.04.2012) and a technical guideline on an API framework to provide an interface that enables standardized use of chip cards (Technical Guideline TR-03112-7 eCard-API-Framework - Protocols, Federal Office for Information Security, Ver. 1.1.2, 28.02.2012).

[0007] The technical guideline TR-03110, Version 2.05, of the Federal Office for Information Security describes enhanced security mechanisms for machine-readable travel documents. Publication US 2012 / 0290415 A1 discloses a payment system for mobile devices in which merchant data is encoded in scannable images.

[0008] A "transaction" is understood here to mean a financial transaction, such as the payment of an amount by making a transfer, a direct debit or charging a credit card, an order process for the ordering and delivery of a physical good or data as well as other logistical, commercial and / or financial transactions and / or a database transaction, e.g. for storing a value, such as a consumption value, a credit balance or a payment amount.

[0009] A "terminal" is defined here as a device that has a display, i.e., a screen, for displaying an optical pattern. The terminal can simply capture information and output it via the display, or it can have a user interface for entering a user's selection.

[0010] For example, the terminal can be configured as an ATM or vending machine. The user can enter a request into the terminal, such as to withdraw cash, top up a debit card, or purchase a specific product, such as a beverage. In response to this user request, the machine displays a visually detectable pattern, such as a QR code, on its screen. The pattern contains information to initiate the transaction. This could be the desired withdrawal amount or the purchase price of the product.

[0011] According to a further embodiment of the invention, the terminal is designed as a telecommunications device, as a so-called smart meter, for the recording of fees, e.g. electricity or gas consumption, taximeter or smartphone with a fee recording function.

[0012] A "pattern" here refers to a static optical pattern displayed on the terminal's screen, into which information is encoded, for example, a barcode, in particular a one-dimensional, two-dimensional, high-capacity color barcode, MaxiCode, QR code, or DataMatrix code, or a chronological sequence of several patterns, whereby information is encoded through the patterns and their chronological sequence, as is the case, for example, with a flicker code. The "flicker code" is known for the so-called chipTAN-comfort or Smart-TAN-optic online banking system of the savings banks and cooperative banks.

[0013] A "session" is understood here as a temporary communication connection, i.e., a so-called communication session, which, according to the OSI layer model, can refer to the transport layer or the application layer. In particular, a session can be an http session or an https session, with the transport layer being protected by symmetric encryption.

[0014] An "ID token" is understood here, in particular, to be a portable electronic device that has at least one data memory for storing at least one attribute and a communication interface for reading the attribute. The ID token preferably has a secure memory area for storing the at least one attribute to prevent the attribute stored in the memory area from being modified in an unauthorized manner or read without the necessary authorization.

[0015] In particular, the ID token can be a USB stick or a document, especially a valuable or security document. According to the invention, a "document" refers to paper-based and / or plastic-based documents, in particular electronic sovereign documents, such as electronic identification documents, in particular passports, identity cards, visas, driver's licenses, vehicle registration documents, vehicle registration documents, company ID cards, health cards, or other ID documents, as well as chip cards, means of payment, in particular banknotes, bank cards, and credit cards, waybills, or other proof of authorization, such as an admission ticket, into which a data storage device for storing the at least one attribute is integrated.

[0016] The ID token can be a hardware token or a soft token if it is cryptographically bound to a hardware token, for example to a so-called secure element.

[0017] In particular, such a soft token cryptographically bound to a secure element can be generated according to DE 10 2011 082 101.

[0018] An "ID provider computer system" is understood here to be a computer system designed to read at least one attribute from a user's ID token. The ID provider computer system is preferably operated in a so-called trust center to ensure the highest possible level of security.

[0019] A "service computer system" is defined here as a computer system that has a network interface for connecting to the network, allowing access to Internet pages stored or generated by the service computer system using an Internet browser or other application program. In particular, the service computer system can be an Internet server providing an e-commerce or e-government application, especially an online shop or a government server.

[0020] A "user computer system" is defined here as a computer system to which the user has access. This can be, for example, a personal computer (PC), a tablet PC, or a mobile device, in particular a smartphone, with a standard internet browser such as Microsoft® Internet Explorer®, Safari®, Google Chrome®, Firefox®, or another application program for accessing the service computer system. The user computer system has an interface for connecting to the network, which can be a private or public network, in particular the internet.

[0021] According to one embodiment of the invention, the request of the service computer system is a SAML request and the response of the ID provider computer system is a SAML response (cf. Security Assertion Markup Language (SAML) V2.0 Technical Overview, OASIS, Committee Draft 02, March 25, 2008).

[0022] According to one embodiment of the invention, the ID provider computer system has a certificate in which the read rights for performing the read access are specified.

[0023] A "certificate" here refers to a digital certificate, also known as a public-key certificate. A certificate is structured data used to assign a public key of an asymmetric cryptosystem to an identity, such as a person or device. For example, the certificate can conform to the X.509 standard or another standard. Preferably, the certificate is a Card Verifiable Certificate (CVC).

[0024] The certificate can specify which attribute(s) of the user stored in the protected memory area of ​​the ID token the ID provider computer system is authorized to perform read access to. These attributes can be personal attributes of the user, such as their name, place of residence, and age. These attributes can be used in combination as user identification to access the registered user's payment information. Alternatively or additionally, a pseudonym of the user, which is at least temporarily stored by the ID token, can also be used as user identification.

[0025] Embodiments of the invention are particularly advantageous because they create a universal, computer-implemented payment method suitable for e-commerce and e-government applications, which is simultaneously flexible, convenient to use, and secure. This is made possible in particular by the fact that the payment method is based on an ID token, whereby the prerequisite for carrying out a payment transaction is both the user's authentication with the ID token and the ID provider's computer system's authentication with the ID token.

[0026] According to embodiments of the invention, the terminal is a device, for example for dispensing cash, for topping up a cash card for the sale of a product, such as a travel ticket, an admission ticket or a food or beverage.

[0027] For example, the terminal may be an ATM. In this case, the user enters a desired withdrawal amount via a user interface on the ATM. This withdrawal amount is then displayed as an optically readable pattern by the ATM on its screen, and this pattern is captured by the user using an optical sensor, such as the camera of the user's computer system, which may be a smartphone. The pattern displayed on the screen may further contain a logical address of the service computer system, such as a URL of the service computer system. In addition, the pattern may contain further information, such as account information of the ATM operator.

[0028] The user computer system decodes the pattern captured on the terminal screen using the optical sensor and then generates a transaction request specifying the withdrawal amount and, if applicable, any other transaction data contained in the pattern. This transaction request is then transmitted from the user computer system to the service computer system over the network.

[0029] The service computer system then generates a request containing an attribute specification, i.e., an indication of at least one attribute to be read from the ID token, which is required to execute the transaction and / or which must meet a predefined verification criterion for the transaction to be carried out. For example, the attribute can be the user's account details stored in the ID token or a user pseudonym, which serves as an access key for the service computer system to access account information of registered users stored pseudonymously in a database. Alternatively or additionally, the attribute can be an age specification to verify whether the user has the legal capacity required to execute the transaction.

[0030] The service computer system then sends the request to the ID provider computer system. After the user has been authenticated against their ID token and the ID provider computer system has been authenticated against the ID token over the network, the ID provider computer system then reads at least one attribute from the ID token over the network using end-to-end encryption.

[0031] The ID provider computer system then generates a response containing at least one attribute read from the ID token. The attributes and / or the response are signed by the ID provider computer system and sent to the service computer system.

[0032] The service computer system then uses the attributes to carry out the transaction, for example, debiting the user's account with the payout amount, and optionally to check whether a predefined criterion, such as legal capacity, is met.

[0033] After the account has been debited, the service computer system generates a confirmation signal, which is transmitted to the bank terminal. For example, the terminal, in this case the ATM, is connected to the network, so that the confirmation signal is transmitted from the service computer system to the terminal via the network. The confirmation signal is preferably signed by the service computer system to prevent tampering. Upon receipt of a valid confirmation signal, cash is then dispensed in the desired withdrawal amount, or alternatively, the user's debit card is topped up.

[0034] In another example, the terminal is designed as a vending machine. The user can select a desired product via a user interface on the vending machine. The vending machine then displays an optical pattern encoded with the purchase price of the product selected by the user, as well as account information for the account to which payment of this purchase price is to be made. Furthermore, the optical pattern contains a logical address, in particular a URL, of the service computer system.

[0035] The user captures this optical pattern with an optical sensor on their computer system, for example, using their smartphone's camera. The optical pattern is then decoded, and a transaction request is generated containing the purchase price and the payee's account information. This transaction request is transmitted from the user computer system to the service computer system using the service computer system's logical address.

[0036] The service computer system then generates a request with the attribute specification of the attributes required for dispensing the product selected by the user. For example, the product is a product that is only available to adults, such as alcohol or cigarettes. In this case, the attribute specification includes the attribute "age." Based on this request, the service computer system receives a response from the ID provider computer system containing this age information. The service computer system then checks whether the age information meets a predefined criterion, such as adulthood, and if so, the service computer system executes the transaction, for example, by transferring the purchase price from the user's account to the payee's account.The service computer system then sends a confirmation signal to the vending machine, which then dispenses the product previously selected by the user.

[0037] It is particularly advantageous if the terminal has a network interface for communication over the network. In this case, the confirmation signal can be transmitted from the service computer system to the machine via the network. Another possibility is for the confirmation signal to be sent from the service computer system to the user computer system. The user computer system can then display an optical pattern encoded with this confirmation on a display of the user computer system. This optical pattern can then be detected by the terminal, which also has an optical sensor. This embodiment has the advantage that the terminal does not need to be connected to the network, which has security advantages.

[0038] According to a further embodiment of the invention, the service computer system is connected to the terminal via a communication channel different from the network, such as an internal company network or a virtual private network, via which the confirmation signal is transmitted from the service computer system to the terminal.

[0039] According to embodiments of the invention, a first session is initially established between the internet browser of the user computer system and the service computer system via the internet, whereby the first session can be an http session or an https session. The user can enter a transaction request into the internet browser, for example, to initiate a payment process. For example, the user has previously ordered a product via the service computer system and wishes to pay for this ordered product. To do so, the user enters the corresponding transaction request into the internet browser, which is transmitted to the service computer system via the first session.

[0040] The service computer system then generates a request, i.e. a request of a request-response protocol. The request can have a predefined or standardized structure. For example, the request can be text-based, have an XML, ASN.1 or binary structure, or be in the form of a SAML request. The request, for example the SAML request, contains an attribute specification that specifies the attributes to be read from the ID token to carry out the transaction. These can be attributes that identify the user assigned to the ID token and / or that specify payment information, such as bank account details or credit card information, and / or attributes that relate to the ID token itself, such as its validity period, date of issue, and / or the issuing organization or authority.

[0041] According to embodiments of the invention, the request is transmitted from the service computer system via the user computer system to the ID provider computer system. Upon receipt of the request by the user computer system, the further process for generating the response, including the authentication of the user and the ID provider computer system, is triggered.

[0042] In particular, the attribute specification can include the user's date of birth, for example if the user's age of majority is to be verified by the service computer system as a prerequisite for carrying out the transaction. The request also contains transaction data for specifying the transaction, i.e., for example, a payment amount and, for example, account information, in particular the account details of the service computer system to which the payment is to be made. Furthermore, the request contains a Uniform Resource Locator (URL) of the ID provider computer system, which is to read the attributes from the ID token, as well as a URL of the service computer system for specifying a recipient for the response that is to be generated by the ID provider computer system based on the request.

[0043] The service computer system generates an identifier for the request that uniquely identifies the request, such as a globally unique identifier (GUID). The request contains this identifier.

[0044] The request is signed by the service computer system using a private key of a cryptographic key pair associated with the service computer system.

[0045] Based on the transaction request, a web page is transmitted from the service computer system to the user computer system during the first session and displayed by the internet browser or application program, in particular a so-called app. The request is transmitted along with the web page, but is not displayed.

[0046] The website has at least one input field for entering additional information required to complete the transaction. This additional information can be, for example, the user's bank account details or credit card information and / or authentication information to authenticate the user to the service computer system. For example, the authentication information can be a one-time password (OTP). Preferably, the additional information is encrypted by the user computer system using the service computer system's public key, so that only the encrypted additional information is subsequently forwarded from the internet browser or application program to the ID provider computer system via the network via a second session.

[0047] The request is also forwarded via this second session. The second session is established by calling the URL of the ID provider's computer system, which is included in the request. The second session is established as a protected communication connection using an encrypted transport layer, i.e., Transport Layer Security (TLS), also known as Secure Sockets Layer (SSL), specifically an https session.

[0048] According to embodiments of the invention, the ID provider computer system, upon receipt of the request via the second session, generates an identifier for a third session yet to be established, i.e., a so-called session ID. The ID provider computer system stores the request, as well as the additional information received along with the request via the second session, with the session ID for the third session.

[0049] The ID provider computer system then sends a message via the second session, which contains a logical address of the ID provider computer system and, for example, the session ID of the third session. From this logical address, the Internet browser or application program can later retrieve the response to the previously forwarded request. The logical address can be a uniform resource locator (URL) through which the response can be retrieved.

[0050] The third session is then established on the application layer between a program on the user's computer system and the ID provider's computer system, via the secure transport layer of the second session. This program can be, for example, a browser plug-in for the Internet browser or an application program other than the Internet browser.

[0051] The ID provider computer system then transmits the information required for reading the attribute(s) from the ID token to the program via the third session. This information includes at least a certificate from the ID provider computer system, which specifies the ID provider computer system's read permissions for reading one or more attributes.

[0052] The user computer system's program then checks whether the read permissions specified in the certificate are sufficient to allow the ID provider computer system to read the attribute(s) specified in the request's attribute specification. If the ID provider computer system's read permissions are sufficient, the following additional steps are performed: a) A local connection is established between the reader of the user's computer system and the ID token. For an ID token with a contact interface, such as a chip card interface, this can be done by inserting the ID token into the reader. For an ID token with a contactless interface, such as an RFID or NFC interface, this can be done by placing the ID token on the reader. Tokens with USB, Bluetooth, or microSD cards are also possible, as are virtual smart cards. b) The user authenticates themselves against the ID token, for example, by entering their Personal Identification Number (PIN) or by entering other information, such as the capture of a biometric characteristic of the user. When authenticating the user against the ID token, a session key is agreed upon. In particular, the agreement of a session key can be achieved using a Diffie-Hellman protocol. c) Subsequently, a fourth session is established on the application layer between a program of the ID token and the ID provider computer system, whereby this fourth session runs via the local connection and the third session and an additional end-to-end encryption is carried out on the application layer using the session key agreed in step b. d) The fourth session then provides mutual authentication of the ID token and the ID provider computer system, for example using a challenge-response protocol. e) The attribute(s) according to the attribute specification received by the ID provider computer system with the request are now read from the ID token by the ID provider computer system via the fourth session. This requires successful authentication of the user in step b as well as successful mutual authentication of the ID token and the ID provider computer system in step d). This is done encrypted via the fourth session, ensuring maximum security and trustworthiness with regard to the read attribute(s).

[0053] The ID provider's computer system then generates a response containing the retrieved attribute(s) and the request identifier and / or the additional information, according to the request-response protocol to which the request is subject. For a SAML request, a SAML response is generated accordingly. The request identifier, which is also included in the response, establishes the logical association between the request and response, i.e., the so-called binding.

[0054] The response is signed by the ID provider computer system and stored for retrieval from the logical address previously communicated to the user computer system via the message.

[0055] The user computer system then reads this response from the ID provider computer system using the logical address, for example, the URL, and forwards the response to the service computer system via the first session. Using the response identifier, it is assigned to the request and thus to the requested transaction. The transaction is then executed by the service computer system, for example, initiating a payment process and optionally delivering an ordered product, if the content of the response permits.

[0056] According to one embodiment of the invention, the program of the user's computer system is a browser plug-in of the Internet browser, whereby the Internet browser can be a standard browser program, such as Microsoft® Internet Explorer®, Safari®, Google Chrome®, or Firefox®. Alternatively, the program of the user's computer system can be an application program separate from the Internet browser.

[0057] According to one embodiment of the invention, the additional information entered by the user is payment information, such as an account number of the user from which the payment amount specified in the request is to be debited or collected.

[0058] The so-called clearing, i.e., the verification of the customer's creditworthiness, as well as the initiation of the payment transaction, can then be initiated by the ID provider's computer system, which confirms the payment with a response to the service computer system. This has the advantage that the service computer system does not need to obtain any knowledge of the user's payment information, in particular their bank account details.

[0059] Alternatively, the user can encrypt their payment information with the service computer system's public key, so that only the user's encrypted payment information is transmitted to the ID provider computer system. The ID provider computer system then forwards the encrypted payment information along with the response to the service computer system, which decrypts the payment information and then performs the clearing and deducts the payment amount from the user's account according to the payment information. This has the advantage that the ID provider computer system does not gain any knowledge of the user's payment information.

[0060] According to the invention, the computer system includes a terminal, such as an ATM or a vending machine. The user can enter a request into the machine, such as to withdraw cash or to purchase a specific product, such as a beverage. In response to this user request, the machine displays a visually detectable pattern, such as a QR code, on its screen, containing information to initiate the transaction.

[0061] Embodiments of the invention are explained in more detail below with reference to the drawings.

[0062] They show: Fig. 1 a block diagram of an ID token, Fig. 2 an arrangement of a computer system for carrying out a method according to the invention.

[0063] Elements of the following figures which are identical or correspond to one another are each identified by the same reference numerals.

[0064] The Fig. 1 shows an ID token 106, which may be, for example, an electronic identity card.

[0065] The protected memory area 120 of the ID token 106 serves to store a reference value required for authenticating a user 102 against the ID token 106. This reference value is, for example, an identifier, in particular a so-called Personal Identification Number (PIN), or reference data for a biometric feature of the user 102, which can be used to authenticate the user against the ID token 106.

[0066] The protected area 122 is used to store a private key and the protected storage area 124 is used to store attributes, for example of the user 102, such as his name, place of residence, date of birth, gender, and / or attributes relating to the ID token itself, such as the institution that created or issued the ID token, the validity period of the ID token, an identifier of the ID token, such as a passport number or a credit card number.

[0067] The electronic storage 118 may further include a storage area 126 for storing a certificate. The certificate contains a public key associated with the private key stored in the protected storage area 122. The certificate may have been created according to a Public Key Infrastructure (PKI) standard, for example, the X.509 standard.

[0068] The certificate does not necessarily have to be stored in the electronic memory 118 of the ID token 106. Alternatively or additionally, the certificate can also be stored in a public directory server.

[0069] The ID token 106 has a processor 128. The processor 128 is used to execute program instructions 130, 132 and 134. The program instructions 130 are used for user authentication, ie, for authenticating the user 102 to the ID token.

[0070] When using a PIN, user 102 enters their PIN into ID token 106 for authentication, for example, via user computer system 100. Execution of program instructions 130 then accesses protected memory area 120 to compare the entered PIN with the PIN reference value stored there. If the entered PIN matches the PIN reference value, user 102 is considered authenticated.

[0071] Alternatively, a biometric feature of the user 102 is captured. For example, the ID token 106 has a fingerprint sensor for this purpose, or a fingerprint sensor is connected to the user computer system 100. The biometric data captured from the user 102 is compared with the biometric reference data stored in the protected memory area 120 by executing the program instructions 130. If the biometric data captured from the user 102 sufficiently matches the biometric reference data, the user 102 is considered authenticated.

[0072] The program instructions 134 are used to execute the steps of a cryptographic protocol relating to the ID token 106 for authenticating an ID provider computer system 136 to the ID token 106. The cryptographic protocol can be a challenge-response protocol based on a symmetric key or an asymmetric key pair.

[0073] For example, the cryptographic protocol implements an Extended Access Control method, as specified for machine-readable travel documents (MRTDs) by the International Civil Aviation Organization (ICAO). Upon successful execution of the cryptographic protocol, the ID provider computer system 136 authenticates itself to the ID token and thereby proves its read authorization to read the attributes stored in the protected memory area 124. The authentication can also be mutual, meaning that the ID token 106 must then also authenticate itself to the ID provider computer system 136 using the same or a different cryptographic protocol.

[0074] The program instructions 132 are used for end-to-end encryption between the ID token 106 and an ID provider computer system 136 (cf. Fig. 2) transmitted data, or at least the attributes read by the ID provider computer system 136 from the protected memory area 124. For end-to-end encryption, a symmetric key can be used, which is agreed upon, for example, during the execution of the cryptographic protocol between the ID token 106 and the ID provider computer system 136.

[0075] The ID token 106 has an interface 108 for communication with a corresponding interface 104 of a user computer system 100 (see Fig. 2). The interface can be contactless or contact-based. In particular, it can be an RFID or NFC communication interface.

[0076] Access to the protected memory area 124 for reading one or more of the attributes can only be performed via the processor 128 of the ID token 106, since the protected memory area 124, as well as the additional protected memory areas 120, 122, are not directly connected to the interface 108, for example, via a bus system, but only to the processor 128. This means that direct access to the protected memory area 124 via the interface 108 is already excluded by the circuitry. Therefore, only the processor 128 can read the protected memory area 124 and then, if necessary, output the read attributes via the interface 108.

[0077] The Fig. 2 shows a user computer system 100 of the user 102. The user computer system 100 can be a personal computer (PC), a portable computer, such as a laptop, notebook or tablet computer, a mobile telecommunications device, in particular a smartphone.

[0078] The user computer system has at least one processor 110 for executing an application program 112. The application program 112 is configured to communicate via a network interface 114 of the user computer system 100 over a network 116. For example, the application program is an Internet browser or another specialized application program that can communicate via the network 116, in particular an HTML-capable application program.

[0079] The processor 110 is used to execute a further program 113, which may be, for example, a plug-in for the application program 112, for example a browser plug-in if the application program 112 is designed as an Internet browser, or a program separate from the application program.

[0080] The network may be a computer network, such as the Internet. In particular, network 116 may also include a mobile network.

[0081] The ID provider computer system 136 has a network interface 138 for communication via the network 116. The ID provider computer system 136 also has a memory 140 with a protected storage area 141 in which a private key 142 of the ID provider computer system 136 is stored, as well as the corresponding certificate 144. This certificate can also be, for example, a certificate according to a PKI standard, such as X.509.

[0082] The ID provider computer system 136 further has at least one processor 145 for executing program instructions 146 and 148. Executing the program instructions 146 executes the steps of the cryptographic protocol relating to the ID provider computer system 136. Overall, the cryptographic protocol is implemented by executing the program instructions 134 by the processor 128 of the ID token 106 and by executing the program instructions 146 by the processor 145 of the ID provider computer system 136.

[0083] The program instructions 148 serve to implement end-to-end encryption on the side of the ID provider computer system 136, for example, based on the symmetric key agreed upon during the execution of the cryptographic protocol between the ID token 106 and the ID provider computer system 136. In principle, any known method for agreeing on the symmetric key for end-to-end encryption can be used, such as a Diffie-Hellman key exchange.

[0084] The ID provider computer system 136 is preferably located in a particularly protected environment, in particular in a so-called trust center, so that the ID provider computer system 136, in combination with the need to authenticate the user 102 to the ID token 106, forms the trust anchor for the authenticity of the attributes read from the ID token 106.

[0085] A service computer system 150 can be configured to accept an order or a contract for a service or product, in particular an online service. For example, the user 102 can open a bank account online via the network 116 or use another financial or banking service. The service computer system 150 can also be configured as an online department store, allowing the user 102 to purchase a mobile phone or the like online, for example. Furthermore, the service computer system 150 can also be configured to deliver digital content, for example, for downloading music and / or video data.

[0086] For this purpose, the service computer system 150 has a network interface 152 for connecting to the network 116. Furthermore, the service computer system 150 has at least one processor 154 for executing program instructions 156. By executing the program instructions 156, for example, dynamic HTML pages are generated via which the user 102 can enter his order or purchase order, and transactions can be carried out.

[0087] Depending on the type of product or service requested or ordered, the service computer system 150 must verify one or more attributes of the user 102 and / or their ID token 106 based on one or more predefined criteria. Only if this check is passed will the order or request from the user 102 be accepted and / or executed.

[0088] To carry out an electronic transaction, you can proceed as follows: - The user 102 starts the application program 112 of the user computer system, which is assumed hereinafter, without limitation of generality, to be an Internet browser. The user 102 enters a URL of the service computer system 150 into the Internet browser, so that a first session 201 is then established between the Internet browser 112 and the service computer system 150 via the network 116. The user can then request a service offered by the service computer system 150 via the first session 201, such as ordering a product, requesting data for download, or requesting the execution of a financial transaction. For this purpose, the Internet browser 112 sends a corresponding transaction request 158 ​​to the service computer system 150, signaling this request. - The service computer system receives a transaction request 158 ​​from the user 102 from the Internet browser via the first session. - Upon receipt of the transaction request 158 ​​via the first session 201, the service computer system 150 generates a request 166. The request 166 includes (i) an attribute specification of the attributes to be read from the ID token for executing the transaction. These attributes can be personal information about the user 102 and / or data relating to the ID token 106 itself or a pseudonym of the user 102 available from the ID token 106. The request further includes (ii) the transaction data for specifying the transaction, such as, according to the invention, a payment amount to be paid to the service computer system 150 or a third party for the purchase of the ordered product or the performance of the ordered service, and optionally other transaction data that specify the transaction to be performed.The request further includes (iii) an identifier 180 of the request, for example, a GUID, which is required for the so-called binding of the request and a subsequently received response 174. The service computer system 150 may have a GUID generator to generate the identifier. The request further includes (iv) a URL of the ID provider computer system 136 and (v) a URL of the service computer system 150 itself. The request is signed by the service computer system 150, namely with the aid of a private key of the service computer system 150. The request 166 may be a SAML request or another request of a request-response protocol. - In response to the transaction request 158, the service computer system 150 then sends a web page 160 to the user computer system 100 via the first session 201. The web page 160 includes an input field 162 for the user 102 to enter additional information for the transaction, and also includes an input element 164 that the user 102 can select, for example, by clicking, when the web page 160 is displayed by the Internet browser 112 to allow the forwarding of the request 166. The request 166 is also transmitted along with the web page 160 to the Internet browser 112 via the first session 201. - Upon receipt of web page 160 and request 166, web page 160 is displayed by internet browser 112, allowing user 102 to enter the additional information into input field 162. For example, the additional information may be an account number of user 102, a credit card number of user 102, or other supplementary transaction data and / or authentication information to verify user 102's authorization to perform the transaction, for which user 102 enters, for example, a one-time password (OTP) into input field 162. Preferably, the additional information 168 entered by user 102 is encrypted by user computer system 100 with the public key of service computer system 150 to obtain a corresponding ciphertext. - Subsequently, a second session 202 is established between the internet browser 112 and the ID provider computer system 136 via the network 116, using the URL of the ID provider computer system 136, which the user computer system 100 received with the request 166. The second session 202 is established with a secure transport layer, for example, as an https session. - Via the second session 202, the request 166 and the additional information 168 or only the ciphertext of the additional information 168 obtained with the aid of the public key of the service computer system 150 are forwarded from the user computer system 100 to the ID provider computer system 136. - Upon receipt of the request 166 by the ID provider computer system 136, the latter generates a session ID for a third session 203 yet to be established by executing its program instructions 170. The request 166 and the additional information 168 are stored in the memory 140 of the ID provider computer system 136. The ID provider computer system 136 then generates a message 172 containing the session ID for establishing the third session 203 and a logical address. Using the logical address, the response 174 to be generated by the ID provider computer system 136 based on the request 166 can be retrieved. In particular, the logical address can be configured as a URL. The message 172 is sent from the ID provider computer system 136 to the Internet browser 112 via the second session 202. - Upon receipt of message 172, the third session 203 is established between program 113 of user computer system 100 and ID provider computer system 136 via the secure transport layer of the second session 202. For example, program 113 is a browser plug-in of internet browser 112. Alternatively, program 113 can also be another application program. It is also possible to implement the functionalities of internet browser 112 and program 113 in one program. - Via the third session 203, at least the certificate 144 is then transferred to the program 113. - The program 113 then checks whether the read rights specified in the certificate 144 are sufficient to allow read access of the ID provider computer system 136 to the attribute(s) to be read according to the attribute specification contained in the request 166.

[0089] Only if these read permissions are sufficient, the following steps are carried out: a) A local connection 176 is established between interfaces 104 and 108. For example, a prompt appears on the screen of user computer system 100 for user 102 to insert ID token 106 into a reader of user computer system 100, which has interface 104, or to place ID token 106 on a contactless interface 104. b) The user 102 then authenticates himself against the ID token, for example, by entering his PIN into the user computer system 100 or its reader. The user can be authenticated using a cryptographic protocol, for example, a challenge-response protocol or based on a Diffie-Helman key exchange, whereby a session key is agreed upon as part of the user authentication. c) Provided that the user is successfully authenticated, a fourth session 204 is established between the ID token 106 and the ID provider computer system 136, via the local connection 176 and the third session 203. The fourth session 204 is protected with end-to-end encryption using the session key that was agreed upon during the user authentication in step b). d) The fourth session then performs mutual authentication of the ID token 106 and the ID provider computer system 136 using the respective private keys, i.e. the private key of the ID token 106 stored in the protected memory area 122 and the private key 142 of the ID provider computer system 136. For this mutual authentication, the certificates of the ID token 106 from the memory area 126 (cf. Fig.1) and the certificate 144 of the ID provider computer system 136 are exchanged via the fourth session. e) Provided the user is successfully authenticated to the ID token and the ID token 106 and the ID provider computer system 136 are successfully authenticated, the ID provider computer system 136 then reads the attribute(s) from the ID token 106 according to the attribute specification, whereby the attributes are protected by end-to-end encryption during transmission from the ID token 106 to the ID provider computer system 136. To this end, the ID provider computer system sends a read command to the ID token 106 via the fourth session 204. The read command 182 contains the attribute specification, i.e., the selection of those attributes that are to be read from the protected memory area 124 of the ID token 106.

[0090] By executing the program instructions 178, the ID provider computer system 136 then generates the response 174, for example, a SAML response, for the request 166. The response 178 contains the attributes previously read from the ID token 106 via the fourth session 240, the additional information 168 or—alternatively—not the additional information 168, but only the ciphertext of the additional information 168, as well as the identifier 180 that the service computer system 150 initially assigned for the request 166. The response 174 is signed by the ID provider computer system 136 using the private key 142 and then stored in the memory 140 so that the request 166 can be retrieved from the logical address. - The user computer system 100, such as its Internet browser 112, then reads the response 174, for example, via the second session 202, from the memory 140 using the logical address. - The response 174 is then forwarded by the user computer system 100, for example, by the internet browser 112, to the service computer system 150 via the first session 201. It can be provided that the user 102 is prompted by the internet browser 112 to enter a confirmation before the response 174 is forwarded to the service computer system. It can also be provided that the internet browser displays the content of the response 174 in whole or in part, in particular the attributes read from the ID token and / or the additional information 168, so that the user 102 can verify the accuracy of this data before it is forwarded to the service computer system 150 for execution of the transaction. - The service computer system 150 assigns the received response 174 to the request 166 based on the matching identifiers 180 of the request 166 and the response 174. The service computer system 150 then checks the signature of the response 166 and reads the required attribute(s) from the response 174. Based on the attributes, it is then checked whether the requested transaction can be carried out by comparing the attribute(s) with one or more predefined criteria. These criteria can be, for example, the age or creditworthiness of the user 102. The attribute can also be a pseudonym of the user 102, which the service computer system 150 then uses to read an attribute of the user 102 stored in a database of the service computer system 150, such as a delivery address. The check criterion here is whether a user with the pseudonym contained in the response 174 is registered with the service computer system 150.

[0091] If the check by the service computer system 150 shows that the transaction is feasible, the transaction is carried out based on the transaction data and the additional information 168.

[0092] For example, program 113 is a browser plug-in registered in a registry of an operating system of the user's computer system with a plug-in identifier. The operating system may be, for example, a Windows operating system, Android, or iOS. In this case, message 172 from the ID provider computer system to internet browser 112 contains this plug-in identifier 184, so that plug-in 113 is launched upon receipt of the message.

[0093] In another example, program 113 is an application program separate from internet browser 112, such as a so-called citizen app or ID app. This application program 113 is launched by internet browser 112 by calling a local URL, wherein the local URL contains a fixed port number according to the TCP protocol. This local URL is transmitted together with the web page 160 from service computer system 150 to user computer system 100 via the first session 201 in order to initiate the launch of application program 113 by internet browser 112 using the local URL.

[0094] In the event that only the ciphertext of the additional information 168, but not the additional information 168 itself, is transmitted from the user computer system 100 to the ID provider computer system 136 via the second session 202, the response 174 also contains only this ciphertext, but not the additional information 168 itself. In this case, the service computer system 150 decrypts the ciphertext using the private key of the service computer system 150 in order to then carry out the requested transaction using the additional information 168. According to the invention, this involves carrying out a financial transaction, such as, for example, carrying out a transfer in the amount of the payment specified in the additional information 168.

[0095] Alternatively, it is also possible for the payment to be initiated by the ID provider computer system 136. This can be done by the ID provider computer system 136 receiving the required transaction data via the request 166 and the additional information 168 and then executing or initiating the payment. The response 174 then contains a confirmation from the ID provider computer system 136 that the payment has been made.

[0096] Transmission of the additional information 168 to the service computer system 150 can then be omitted, which is advantageous for protecting the confidentiality of this additional information 168, because this additional information 168 then only needs to be disclosed to the trusted ID provider computer system 136. The actual transaction, e.g., the delivery of the ordered product, is then initiated by the service computer system 150 after receipt of the payment confirmation contained in the response 174.

[0097] For example, the additional information 168 contains an OTP. The service computer system 150 then checks whether the OTP is valid as an additional prerequisite for executing the transaction. Preferably, the OTP is encrypted by the user computer system 100 using the public key of the service computer system 150 and then decrypted by the service computer system 150 after receiving the additional information using the encrypted OTP in order to then verify its validity.

[0098] The computer system includes a terminal 186, which can be, for example, a machine, in particular an ATM or vending machine. For example, the user 102 can enter an amount of money into the terminal 186 to withdraw cash from their account. A visually detectable pattern, such as a QR code, is then displayed on a display 188 of the machine. This pattern contains a URL of the service computer system 150 and the amount of money desired by the user 102.

[0099] This optical pattern is captured by the display 188 using a camera 190 of the user computer system 100. The user computer system 100 then generates the transaction request 158, which specifies this amount of money. The first session 201 is established using the URL of the service computer system 150 captured from the optical pattern, and the transaction request 158 ​​with the desired amount of money is transmitted to the service computer system 150 via this first session 201. The service computer system 150 then generates a corresponding request 166 to query the attributes and additional information 168 required for the payment of the desired amount of money.

[0100] Then, either the ID provider computer system 136 or the service computer system 150 initiates the debiting of an account belonging to the user 102, which the user has specified, for example, in the additional information 168. Upon receipt of the response 174 and the initiation of the payment, the terminal 186 then receives a signal to dispense the desired amount of money, for example, in the form of cash or to top up a cash card belonging to the user 102. This can be done by connecting the terminal 186 directly to the service computer system 150 or via the network 116.

[0101] Alternatively, the terminal 186 may also be a vending machine, in which case no cash but a desired product, such as a can of beverages or a pack of cigarettes, is dispensed from the vending machine after the execution of the payment has been signaled by the service computer system 150.

[0102] In another application, terminal 186 can be a mobile telecommunications device, in particular a smartphone. If user 102 wishes to purchase something from the owner of terminal 186, the owner of terminal 186 enters the corresponding purchase price into terminal 186, so that this purchase price is then displayed on display 188 in the form of an optically detectable pattern as the payment amount, along with the URL of service computer system 150. After the transaction is completed, terminal 186 receives a signal from service computer system 150 indicating that the payment process has been completed, and the owner of terminal 186 then hands the goods over to user 102. This can also be implemented in the cash register system of, for example, a supermarket.Another application is a taximeter, which records taxi fares, or another consumption meter, such as a consumption meter for a household's electricity or gas consumption, in particular a so-called smart meter. List of reference symbols 100-user computer system 102 users 104 Interface 106 ID tokens 108 Interface 110 processor 112 Application program / Internet browser 113 Program / Application program 114 Network interface 116 Network 118 electronic memory 120 protected storage area 122 protected memory area 124 protected memory area 126 memory area 128 processor 130 program instructions 132 program instructions 134 program instructions 136 ID provider computer system 138 Network interface 140 storage 141 protected memory area 142 private keys 144 Certificate 145 processor 146 program instructions 148 program instructions 150 service computer system 152 Network interface 154 processor 156 program instructions 158 Transaction request 160 website 162 input field 164 input element 166 Request 168 Additional information 170 program instructions 172 Message 174 Responses 176 local connection 178 program instructions 180 Identification 182 Read command 184 Identification 186 Terminal 188 Display 190 Camera

Claims

[1] A computer system comprising a terminal (186), a service computer system (150), a user computer system (100), an ID provider computer system (136), and an ID token (106) assigned to a user (102), wherein the ID token has an electronic memory (118) with a protected memory area (124) in which one or more attributes are stored, wherein access to the protected memory area is only possible via a processor (128) of the ID token, and wherein the ID token has a communication interface (108) for communication with a reader of a user computer system (100), wherein the terminal, the service computer system, the user computer system, the ID provider computer system, and the ID token are configured to carry out the following steps: - displaying an optically readable pattern on a screen (188) of a terminal (186), wherein the optically readable pattern encodes information which includes at least a logical address of a service computer system (150) and transaction data, - detecting the pattern using an optical sensor (190) of the user computer system and decoding the pattern by the user computer system, - transmitting a transaction request (158) from the user computer system to the logical address of the service computer system via the network, the transaction request containing the transaction data, - transmitting a request (166) from the service computer system via the user computer system (100) to an ID provider computer system (136), the transmission being carried out via the network, the request containing an attribute specification of the attributes to be read from the ID token for carrying out the transaction, - Authentication of the user against the ID token, - Authentication of the ID provider computer system to the ID token over the network, - provided that the user and the ID provider computer system have been successfully authenticated against the ID token, the ID provider computer system reads the attribute(s) according to the attribute specification from the ID token over the network with end-to-end encryption, - transmission of a response (174) from the ID provider computer system via the user computer system to the service computer system, wherein the transmission of the response takes place via the network, wherein the response contains the read-out attribute(s), and wherein the response is signed by the ID provider computer system, - execution of the transaction using the transaction data and the attribute(s) by the service computer system, wherein the terminal is a vending machine, wherein the transaction data includes a payment amount and wherein the transaction is initiated by the service computer system to carry out a financial transaction in the amount of the payment amount. [2] Computer system according to claim 1, designed for the further step of checking whether the attribute or attributes meet a predetermined criterion by the service computer system, wherein the transaction is only carried out if the criterion is met. [3] Computer system according to one of the preceding claims, wherein the terminal is a bank terminal for dispensing cash or for topping up a cash card, wherein the user selects the payment amount by entering it into the bank terminal, and a user account is debited in the amount of the payment amount due to the financial transaction, whereupon the service computer system sends a confirmation signal to the bank terminal, and the bank terminal pays out the cash in the amount of the payment amount or tops up the cash card in the amount of the payment amount due to the confirmation signal. [4] A computer system according to any one of the preceding claims, wherein the terminal is a vending machine, wherein the payment amount is a selling price for a product dispensable by the vending machine, wherein the service computer system initiates the financial transaction to debit an account of the user in the amount of the payment amount, whereupon the service computer system transmits a confirmation signal to the vending machine, and the vending machine dispenses the product upon receipt of the confirmation signal. [5] A computer system according to any one of the preceding claims 3 or 4, wherein the confirmation signal is sent over the network from the service computer system. [6] A computer system according to claim 5, wherein the confirmation signal is sent to the user computer system and output by the user computer system as an optical pattern, wherein the terminal is configured to detect the optical pattern from the user computer system. [7] Computer system according to one of the preceding claims, designed to carry out the following steps: - establishing a first session (201) between an application program (112) of the user computer system and the service computer system (150) via the network (116), - receipt of the transaction request (158) via the first session by the service computer system from the application program (112), - generation of a request (166) by the service computer system upon receipt of the transaction request, wherein the request is signed by the service computer system and the request includes an attribute specification of the attributes to be read from the ID token for executing the transaction, transaction data for specifying the transaction, an identifier (180) of the request, a URL of an ID provider computer system, and a URL of the service computer system, - transmission of a web page (160) and the request via the first session from the service computer system to the user computer system, wherein the web page has an input field (162) for entering additional information (168) for carrying out the transaction, - Display of the web page by the application program and input of additional information by the user in the input field, - establishing a second session (202) between the application program (112) and the ID provider computer system via the network using the URL of the ID provider computer system, wherein the second session is established with a secure transport layer, - Forwarding the request and the additional information from the application program to the ID provider computer system via the second session, - upon receipt of the request, generation of a session ID for a third session (203) by the ID provider computer system and storage of the request and the additional information by the ID provider computer system, - sending a message from the ID provider computer system to the application program (112) with the session ID of the third session and a logical address via the second session, - establishing the third session between a program (113) of the user computer system and the ID provider computer system via the secure transport layer of the second session, wherein the program may be different from the application program (112), - transmission of at least one certificate (144) of the ID provider computer system to the program (113), wherein the certificate contains an indication of read rights of the ID provider computer system for reading one or more of the attributes stored in the ID token, wherein the transmission of the certificate takes place via the third session, - checking by the program (113) whether the read rights specified in the certificate are sufficient to allow read access by the ID provider computer system to the attribute(s) to be read according to the attribute specification, and only if the read rights are sufficient: a) establishing a local connection (176) between the reader of the user computer system and the ID token, b) Authentication of the user against the ID token, whereby a session key is agreed upon, c) establishing a fourth session (204) between the ID token and the ID provider computer system via the local connection and the third session with end-to-end encryption using the session key, d) Mutual authentication of the ID token and the ID provider computer system via the fourth session, e) Reading the attribute(s) according to the attribute specification by the ID provider computer system via the fourth session from the ID token. - generating the response (174) which contains the read attribute(s) and at least the identifier (180) of the request, and which is signed by the ID provider computer system, - Storage of the response for retrieval using the logical address, - Reading the response from the ID provider computer system by the user computer system by retrieving the response using a read command from the logical address via the network, - Forwarding of the response by the user computer system via the first session to the service computer system, - Assignment of the response to the request using the identifier contained in the response by the service computer system, - Execution of the transaction using the response from the ID provider computer system. [8] Computer system according to claim 7, wherein the application program is an Internet browser, and the further program is a plug-in of the Internet browser, wherein the plug-in is registered in a registry of an operating system of the user computer system with a plug-in identifier (184), wherein the message from the ID provider computer system to the Internet browser includes the plug-in identifier, so that the plug-in is started upon receipt of the message. [9] Computer system according to claim 7 or 8, wherein the program is a further application program which can be started by the Internet browser by calling a local URL, wherein the local URL includes a fixed port number according to the TCP protocol, wherein the local URL is transmitted together with the web page from the service computer system to the user computer system in order to start the further application program using the local URL by the Internet browser. [10] Computer system according to claim 7, 8 or 9, wherein the additional information is payment information of the user. [11] Computer system according to claim 10, wherein the additional information is encrypted by the user computer system using the public key of the service computer system and only the encrypted additional information is forwarded to the ID provider computer system via the second session, wherein the encrypted additional information is included in the response and the encrypted additional information is decrypted after receipt of the response by the service computer system using the private key of the service computer system. [12] Computer system according to one of the preceding claims 7 to 11, wherein the request contains payment information of the service computer system and wherein the additional information contains payment information of the user, and wherein the transaction data of the request contains a payment amount, wherein the payment is initiated by the ID provider computer system, and the response does not contain the payment information of the user. [13] Computer system according to one of the preceding claims 7 to 12, wherein the request contains payment information of the service computer system and wherein the additional information contains payment information of the user, and wherein the transaction data of the request contains a payment amount, wherein the payment is initiated by the service computer system, and the response contains the payment information of the user encrypted with the public key of the service computer system. [14] Computer system according to one of the preceding claims, wherein the pattern is a one-dimensional, two-dimensional, high capacity color barcode, maxicode, QR code or data matrix code or a chronological sequence of several such codes. [15] Computer system according to one of the preceding claims, wherein the ID token is a value or security document. [16] Computer system according to one of the preceding claims, wherein the response also includes the additional information. [17] The computer system of claim 16, wherein the additional information includes an OTP and the service computer system (150) checks the validity of the OTP, the transaction being performed only if the OTP is valid.

Citation Information

Patent Citations

  • Electronic transaction process and computer system

    DE102013212646A1

  • Method for generating a soft token, computer program product and service computer system

    DE102011082101A1

  • Information processing apparatus with optical data reader, servers, and electronic commerce method

    US20030120555A1

  • Mobile image payment system

    US20120290415A1