Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SECURE MOBILE PAYMENT ACCEPTABLE AS CONTACTLESS PAYMENT FOR ON-SHELF TRADE DEVICES, AND BACK OFFICE APPLICATION SOLUTION
Document Type and Number:
WIPO Patent Application WO/2021/230835
Kind Code:
A1
Abstract:
Invention particularly relates to a system and method providing use of related mobile devices as POS device by use of application running on mobile devices such as smart phone, tablet, etc. owned by user.

Inventors:
AKGÜN AHMET (TR)
YASSIBAŞ HASAN (TR)
Application Number:
PCT/TR2020/051104
Publication Date:
November 18, 2021
Filing Date:
November 13, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KARTEK KART VE BILISIM TEKNOLOJILERI TICARET ANONIM SIRKETI (TR)
International Classes:
G06Q20/00; G06Q20/20; G06Q20/32; H04W4/80
Foreign References:
GB2542151A2017-03-15
Other References:
ANONYMOUS: "Soft Pos: Mobile Phone Point of Sale Systems ", PAYCORE, 23 September 2018 (2018-09-23), XP055872030, Retrieved from the Internet [retrieved on 20211213]
ANONYMOUS: "POS (Point of Sale) & Cards quick steps", CYCLOS4 WIKI, 7 May 2020 (2020-05-07), XP055819206, Retrieved from the Internet [retrieved on 20210629]
See also references of EP 4035105A4
Attorney, Agent or Firm:
DESTEK PATENT, INC. (TR)
Download PDF:
Claims:
CLAIMS

1. A secure mobile payment and back office application system capable to accept contactless payment for commercial off the shelf devices, providing performance of functions of physical POS devices by mobile devices, characterized in comprising

• POS application (1) providing payment acceptance with mobile device (M) of user having close area communication feature and comprising o Ul / UX module (1.1) that providing user interface, o L3 SDK layer (1.2) managing user interface and workflows, o L2 kernel (1.4) where core applications of payment schemes work, o L2 management module (1.3) providing management of said L2 kernel

(1 -4), o Crypto engine module (1.5) providing generation of security, key and cryptographic algorithm operation ,

• Backend module (2) managing said POS application (1) and comprising, o A parameter management module (2.1) that providing management of EMV terminal parameters on mobile device (M), o Key management module (2.2) providing management of client keys on mobile device (M), o Transaction network gateway (2.3) providing secure transmission of contactless payment transaction initiated on mobile device (M) to acquirer in a secure way, o attestation and monitoring module (2.4) verifying mobile device (M) and conducting security and fraud checks, o ID&V component (2.5) providing integration of acquirer (3) bank with merchant, o Database (2.6) storing key details, o hardware security module (2.7) providing key management and communication security,

• user mobile device (M) running said POS application (1) and having near field communication feature.

2. The mobile POS system according to claim 1 , characterized in comprising NFC antenna (1.6) providing near field communication feature of said user mobile device (M).

3. The secure mobile payment and back office application method capable to accept contactless payment for commercial off the shelf devices, providing performance of functions of physical POS devices by mobile devices, characterized in comprising process steps of

• Installation (1001) of POS application (1) providing making payment, onto user mobile device (M) having near field communication feature,

• starting up of POS application (1) on user mobile device (M) and verification of initial attestation data (1002),

• verification of merchant (1003),

• generation of special keys unique for merchant (1004),

• Downloading configuration and POS application (1) parameters into user mobile device (M) and completion of installation and getting POS application (1) ready (1005),

• Performing sale transaction by POS application (1) as follows; o Starting of sale transaction by means of UI/UX module (1.1), L3 SDK layer (1.2) and L2 management module (1.3) in POS application (1) from POS application (1) (1006), o receipt of data from said L3 SDK layer (1.2) and L2 kernel (1.4) and preparation of EMV tags needed for authorization and encryption of sensitive data by crypto engine module (1.5) providing running of cryptographic algorithms (1007), o transmission of authorization request message to backend module (2) that managing POS application (1) via L2 management module (1.3) (1008), o re-encryption of data by hardware security module (2.7) providing key management and communication security in backend module (2) and submission of authorization request message to acquirer (3) bank by transaction network gateway (2.3) in backend module (2) (1009), o transmission of authorization request response to transaction network gateway (2.3) in backend module (2) by POS application (1) acquirer (3) bank (1010), o transmission of authorization request response from acquirer (3) bank to L3 SDK layer (1.2) in POS application (1) by transaction network gateway (2.3) in backend module (2) (1011), o display of response of sale transaction result transmitted to L3 SDK layer (1.2) in POS application (1 ) by UI/UX module (1.1 ) (1012),

- performing void/refund operation by POS application (1) as follows; o Starting of void/refund transaction by means of UI/UX module (1.1), L3 SDK layer (1.2) and L2 management module (1.3) in POS application (1) from POS application (1) (1013), o receipt of data from said L3 SDK layer (1.2) and L2 kernel (1.4) and preparation of EMV tags needed for void/refund and encryption of sensitive data by crypto engine module (1.5) providing running of cryptographic algorithms (1014), o transmission of void/refund request message to backend module (2) that managing POS application (1) via L2 management module (1.3) (1015), o re-encryption of data by hardware security module (2.7) and transmission of void/refund request message to transaction network gateway (2.3) in backend module (2) to acquirer (3) bank (1016), transmission of void/refund request response from acquirer (3) bank to L3 SDK layer (1.2) in POS application (1) by transaction network gateway (2.3) in backend module (2) (1017),

- performing reversal transaction by POS application (1) as follows; o Receiving an error (1018) from POS application (1) during transmission of authorization request response from acquirer (3) bank to L3 SDK layer (1.2) in POS application (1) by transaction network gateway (2.3) in backend module (2) (1011 ), o transmission of CheckPOS request and reversal request of POS application (1) to backend module (2) by L2 management module (1.3) (1019), o transmission of reversal request to acquirer (3) by backend module (2) via transaction network gateway (2.3) (1020), o transmission of reversal response from acquirer (3) bank to L3 SDK layer (1.2) in POS application (1) by transaction network gateway (2.3) in backend module (2) (1021),

- execution of reversal transaction by backend module (2) as follows, o Receiving error (1022) during process step of transmission of authorization request response to transaction network gateway (2.3) in backend module (2) by acquirer (3) bank (1010), o transmission of reversal request to acquirer (3) by backend module (2) via transaction network gateway (2.3) (1023), o transmission of reversal response from acquirer (3) bank to L3 SDK layer (1.2) in POS application (1) by transaction network gateway (2.3) in backend module (2) (1024).

4. The mobile POS method according to claim 3, characterized in that process of verification of merchant (1003) during initial opening of POS application (1) comprises process steps of

• entering Merchant ID, terminal ID and activation code sent to merchant by acquirer bank (3) for registration of merchant enterprise by means POS application (1) UI/UX module (1.1),

• Transmission of entered details to backend module (2) by L3 SDK layer (1.2) working on POS application (1) and recalling acquirer bank (3) Verification API by ID&V component (2.5) providing integration of backend module (2) and verification of registration details,

• Transmission of verification reply of acquirer bank (3) via ID&V component (2.5) in backend module (2) to POS application (1) and display of result by means of UI/UX module (1.1), o Proceeding flow if verification is successful, o Termination of flow if verification is incorrect.

5. The mobile POS method according to claim 3, characterized in that generation of keys specific to merchant (1004) process step comprises process steps of;

• Submission of request with ACQ. PRODUCT. PUB (C.EXCH.Key) data to backend module (2) by means of L3 SDK layer (1.2) by POS application (1) for configuration and key generation,

• Importing of C.EXCH.Key to hardware security module (2.7) in name of ACQ. PRODUCT. PUB key by backend module (2)

• Generation of generates H.EXCH.Key in hardware security module (2.7) under C.EXCH.PUB by Backend module (2), • Generation of Base Derivation Keys in hardware security module (2.7) for acquirer (3) by Backend module (2) ,

• Generation of IPEK.TAK, IPEK.TEK, IPEK.TATK, IPEK.TSK keys under H:EXCH.KEY from BDK in hardware security module (2.7) by Backend module (2)

• Transmission of IPEK.TATK, IPEK.TEK, IPEK.TAK, IPEK.TSK keys in registration response under Host Exchange Key by Backend module (2) ,

• Resolution of host exchange key by C EXCH Key by L3 SDK layer (1.2) ,

• Resolution of each IPEK key with H. EXCH. Key by L3 SDK layer (1.2) ,

• Conversion of each IPEK key into whitebox form by L3 SDK layer (1.2),

• Storing of each key (WBJPEK.TEK, WBJPEK.TAK, WBJPEK.TSK and WBJPEK.TATK) in whitebox form in crypto module (1.5) by L3 SDK layer (1 -2) ,

• Association of keys and parameters to related user mobile device (M) by means of parameter management module (2.1) and key management module (2.2) of backend module (2),

• Transmission of keys and configuration parameters specific to user mobile device (M) to user mobile device (M) by backend module (2) by means of parameter management module (2.1)

• Downloading keys and configuration parameters specific to user mobile device (M) into user mobile device (M) by means of L3 SDK layer (1.2) and crypto engine module (1.5).

6. The mobile POS method according to claim 3, characterized in that initiation of sale operation from POS application (1) step (1006) comprises process steps of;

• Entering amount to be paid from UI/UX module (1.1 ) of POS application (1 ), • Display of prompt stating that payment instrument where payment will be made is to be read to user mobile device (M) by means of UI/UX module (1.1) and L3 SDK layer (1.2) on POS application (1),

• Reading payment instrument to user mobile device (M) by consumer.

7. The mobile POS method according to claim 3, characterized in that initial attestation data verification step comprises process steps of

• Encryption of initial attestation data with WB.C.IATTEST.Key by means of L3 SDK layer (1.2) and crypto engine module (1.5) on POS application (1 ),

• Transmission of C.IATTEST.key under ACQ. PRODUCT. PUB key by POS application (1) together with initial attestation request to backend module (2),

• Importing of C.IATTEST.Key by backend module (2) by means of attestation and monitoring module (2.4) and hardware security module (2.7) and decryption of initial attestation data.

8. The mobile POS method according to claim 3, characterized in comprising process steps of

• Encryption of general attestation data with WB.IPEK.TATK Key by POS application (1) by means of L3 SDK layer (1.2) and crypto engine module (1.5),

• Transmission of encrypted attestation data to backend module (2) together with KSN value.

• Decryption of attestation data with BDK.TATKT and checking KSN by backend module (2) by means of attestation and monitoring module (2.4) and hardware security module (2.7).

9. The mobile POS method according to claim 3, characterized in that attestation data comprises fields and process steps of

• Acquirer id

• Application: appVersion • Application: packageName

• Application: permissions

• Application: sdkVersion

• Application: signature · Device: availablelnternalStorage

• Device: fingerprint

• Device: imei

• Device: manufacturer

• Device: model · Device: osName

• Device: osVersion

• Device: remainingBatteryPercentage

• Device: usingMemoryPercentage

• Device: Uniqueld · Security: appTamper

• Security: debugger

• Security: emulator

• Security: hooking

• Security: root · Timestamp -The mobile POS method according to claim 3 or claim 6, characterized in that communication of user mobile device (M) with payment instrument is provided by NFC antenna (1.6).

Description:
DESCRIPTION

SECURE MOBILE PAYMENT ACCEPTABLE AS CONTACTLESS PAYMENT FOR ON-SHELF TRADE DEVICES, AND BACK OFFICE APPLICATION SOLUTION

TECHNICAL FIELD Invention relates to a system and method meeting functions and requirements of physical POS devices by use of mobile devices.

Invention particularly relates to a system and method providing use of related mobile devices as POS device by use of application running on mobile devices such as smart phone, tablet, etc. owned by user. PRIOR ART

Pos devices in use in present art are hardware devices that running on fully close circuit network. Therefore, the required cryptographic keys are loaded at a certain location by the acquirer before sending it to the merchant. Installation of POS devices, updating software, in case of software defaults, since remote attempt is not possible in case of failure to function, field operation teams are needed. And it causes an operation cost.

In conclusion, it has been necessary to invent a novelty in the present art for the above-mentioned issues not having been solved in the light of the related art.

BRIEF DESCRIPTION OF THE INVENTION In order to eliminate above mentioned disadvantages and bring new advantages in the related technical field present invention relates to secure mobile payment and back office application solution capable to accept contactless payment for COTS (commercial off the shelf) devices.

Primary purpose of the invention is to develop a system and method to reduce risks that may be caused by hackers by means of providing performance of functions provided by conventional physical POS devices to user by mobile devices such as smart phone, tablet etc., and providing data security. Another purpose of the invention is to provide a system and method providing security measure application against security threats by RASP mechanism, White box cryptography, communication protection, backend system protection mechanism, random number generation, session management.

Another purpose of the invention is to disclose a system and method developed in multi-tenant logic (supporting more than one acquirer through same system).

Another purpose of the invention is to provide a system and method capable to offer service to more than one acquirer bank by locating at an operation centre while it can operate only for one single acquirer bank.

In order to achieve all purposes mentioned above and to be understood better with the details given below, the present invention is a secure mobile payment and back office application system capable to accept contactless payment for all commercial of the shelf devices providing performance of functions of physical POS devices through mobile devices. Accordingly, the system comprises;

• POS application comprising, enabling user to accept payments with the NFC(near field communication) enabled mobile device(M) o Ul / UX module that providing user interface, o L3 SDK layer managing user interface and workflows, o L2 kernel where core applications of payment schemeswork, o L2 management module providing management of said L2 kernel, o Crypto engine module providing generation of security, key and cryptographic algorithm operation

Backend module comprising, managing said POS application and o A parameter management module that providing management of EMV terminal parameters on mobile device (M), o Key management module providing management of client keys on mobile device (M), o Transaction network gateway providing secure transmission of contactless payment transaction initiated on mobile device to acquirer bank in a secure way, o Attestation and monitoring module verifying mobile device (M) andfraud checks, o ID&V component providing integration of acquirer bank with merchant, o Database storing key details, o Hardware security module providing key management and communication security,

• user mobile device running said POS application and having near field communication feature.

Invention also covers secure mobile payment and back office application method capable to accept contactless payment for commercial off the shelf devices , providing performance of functions of physical POS devices by mobile devices. According to it, the method comprises process steps of;

• installation of POS application providing making payment, onto user mobile device having near field communication feature,

• starting up of POS application on user mobile device and verification of initial attestation data,

• verification of merchant,

• generation of unique keys for merchant,

• Downloading configuration and POS application parameters into user mobile device and completion of installation and getting POS application ready,

• Performing sale transaction by POS application as follows; o Starting of sale transaction by means of UI/UX module, L3 SDK layer and L2 management module in POS application from POS application, o receipt of data from said L3 SDK layer and L2 layer and preparation of EMV tags needed for authorization and encryption of sensitive data by crypto engine module providing running of cryptographic algorithms, o submission of authorization request message to backend module that managing POS application via L2 management module, o re-encryption of data by hardware security module providing key management and communication security in backend module and submission of authorization request message to acquirer bank by transaction network gateway in backend module, o delivery of authorization request reply to transaction network gateway in backend module by acquirer bank, o transmission of authorization request response from acquirer bank to L3 SDK layer in POS application by transaction network gateway in backend module, o display of response of sale transaction result transmitted to L3 SDK layer in POS application by UI/UX module,

• Performing void(cancellation)/refund transaction by POS application as follows; o Starting of void/refund transaction by means of UI/UX module, L3 SDK layer and L2 management module in POS application from POS application, o receipt of data from said L3 SDK layer and L2 layer and preparation of EMV tags needed for void/refund transaction and encryption of sensitive data by crypto engine module providing running of cryptographic algorithms, o submission of void/refund request message to backend module managing POS application via L2 management module, o re-encryption of data by hardware security module and transmission of void/refund request message to transaction network gateway in backend module to acquirer bank, o transmission of void/refund request response from acquirer bank to L3 SDK layer in POS application by transaction network gateway in backend module,

• Performing reversal transaction by POS application as follows; o Receipt of an error from POS application during step of transmission of authorization request response from acquirer bank to L3 SDK layer in POS application by transaction network gateway in backend module, o transmission of CheckPOS request and reversal request of POS application to backend module by L2 management module, o transmission of reversal request to acquirer by backend module via transaction network gateway, o transmission of reversal request response from acquirer bank to L3 SDK layer in POS application by transaction network gateway in backend module,

• execution of reversal transaction by backend module as follows, o receipt of error during step of delivery of authorization request response to transaction network gateway in backend module by acquirer bank, o transmission of reversal request to acquirer by backend module via transaction network gateway, o transmission of reversal request response from acquirer bank to L3 SDK layer in POS application via transaction network gateway in backend module. In order to make the embodiment and additional members being subject of the present invention as well as the advantages clearer for better understanding, it should be assessed with reference to the fallowing described figures.

BRIEF DESCRIPTION OF THE FIGURES Figure 1 is a schematic view of the system disclosed under the invention. Figure 2 is flow chart diagram of method disclosed under the invention. Figure 3 shows flow of key injection method.

REFERENCE NUMBERS

1. POS application

1.1. UI/UX module

1.2. L3 SDK layer

1.3. L2 management module

1.4. L2 Kernel

1.5. Crypto engine module

1.6. NFC antenna

2. Backend module

2.1. Parameter management module

2.2. Key management module

2.3. Transaction network gateway

2.4. Attestation and monitoring module

2.5. ID&V component

2.6. Database 2.7. Hardware security module

3. acquirer

4. issuer bank

M: User mobile device 1001. installation of POS application providing making payment, onto user mobile device having near field communication feature,

1002. starting up of POS application on user mobile device and verification of initial attestation data,

1003. verification of merchant, 1004. generation of special keys unique for merchant,

1005. Downloading configuration and POS application parameters into user mobile device and completion of installation and getting POS application ready,

1006. Starting of sale transaction by means of UI/UX module, L3 SDK layer and L2 management module in POS application from POS application, 1007. receipt of data from said L3 SDK layer and L2 layer and preparation of EMV tags needed for authorization and encryption of sensitive data by crypto engine module providing running of cryptographic algorithms,

1008. submission of authorization request message to backend module managing POS application via L2 management module, 1009. re-encryption of data by hardware security module providing key management and communication security in backend module and submission of authorization request message to acquirer by transaction network gateway in backend module,

1010. delivery of authorization request response to transaction network gateway in backend module by acquirer, 1011. transmission of authorization request response from acquirer bank to L3 SDK layer in POS application by transaction network gateway in backend module, 1012. display of response of sale transaction result transmitted to L3 SDK layer in POS application by UI/UX module,

1013. Starting of void/refund transaction by means of UI/UX module, L3 SDK layer and L2 management module in POS application from POS application, 1014. receipt of data from said L3 SDK layer and L2 layer and preparation of EMV tags needed for void/refund transaction and encryption of sensitive data by crypto engine module providing running of cryptographic algorithms,

1015. submission of void/refund request message to backend module managing POS application via L2 management module, 1016. re-encryption of data by hardware security module and transmission of void/refund request message to transaction network gateway in backend module to acquirer bank,

1017. transmission of void/refund request response from acquirer bank to L3 SDK layer in POS application by transaction network gateway in backend module, 1018. Receipt of an error from POS application during step of transmission of authorization request response from acquirer bank to L3 SDK layer in POS application by transaction network gateway in backend module,

1019. transmission of CheckPOS request and reversal request of POS application to backend module by L2 management module, 1020. transmission of reversal request to POS application acquirer by backend module via transaction network gateway,

1021. transmission of reversal request response from acquirer bank to L3 SDK layer in POS application by transaction network gateway in backend module,

1022. receipt of error during step of delivery of authorization request response to transaction network gateway in backend module by acquirer bank,

1023. transmission of reversal request to acquirer by backend module via transaction network gateway, 1024. transmission of reversal request response from acquirer bank to L3 SDK layer in POS application via transaction network gateway in backend module.

A1. Generation of ACQ. PRODUCT key pair in hardware security module (2.7)

A2. Storing ACQ. PRODUCT keys in database (2.6) A3. Placement of ACQ.PRODUCT.PUB key in L3 SDK layer (1.2) in whitebox form

A4. random generation of C.EXCH.Key by L3 SDK layer (1.2) and conversion of the key into whitebox form

A5. encryption of C.EXCH.Key by acquirer (3) public key

A6. transmission of C EXCH.Key encrypted by acquirer (3) public key by L3 SDK layer (1.2) with registration request during registration into POS application of user mobile device (M)

A7. Import of Client Exchange Key encrypted by Acquirer public key to hardware security module (2.7) by backend module (2)

A8. Generation of Host Exchange Key under Client Exchange Key in hardware security module (2.7) by backend module (2)

A9. Generation of Base Derivation Keys (BDK) in hardware security module (2.7) by backend module (2)

A10. Storing each BDK in database (2.6)

A11. Generation of IPEK.TATK (MAC), IPEK.TEK (Encryption), IPEK.TAK (Attestation), IPEK.TSK (session) keys under Host Exchange Key by backend module (2)

A12. Transmission of IPEK.TATK, IPEK.TEK, IPEK.TAK, IPEK.TSK keys in registration response under Host Exchange Key by backend module (2)

A13. Receipt of C.EXCH.Key (H. EXCH.Key), H. EXCH.Key (IPEK.TATK), H. EXCH.Key (IPEK.TEK), H. EXCH.Key (IPEK.TAK) and H, EXCH.Key (IPEK.TSK) at POS application (1) A14. Decryption of Host exchange key by L3 SDK layer (1.2) by use of C EXCH Key.

A15. Decryption of IPEK key by L3 SDK layer (1.2) by use of H EXCH Key.

A16. Conversion of each IPEK key into whitebox form by L3 SDK layer (1.2) A17. Storing of each key in crypto engine module (1.5) in whitebox form by L3 SDK layer (1.2),

DETAILED DESCRIPTION OF THE INVENTION

In this detailed description, novelty being subject of this invention has been disclosed solely for the purpose of better understanding of the subject and with samples described in a manner not causing any restrictive effect. Invention is a secure mobile payment and back office application method capable to accept contactless payment for commercial off the shelf devices, providing performance of functions of physical POS devices by mobile devices. A schematic view of the system disclosed under the invention is given in Figure -1. According to it, the system comprises a UI/UX module (1.1) providing payment acceptance from user’s mobile device (M) having near field communication feature and providing user interface, L3 SDK layer (1.2) managing user interface and work flows, L2 kernel (1.4) where core applications of payment schemes run, L2 management module (1.3) providing management of said L2 kernel (1.4), POS application (1) comprising crypto engine (1.5) providing security, key generation and running of cryptographic algorithms, parameter management module

(2.1) managing said POS application (1) and providing management of EMV terminal parameters on mobile device (M), key management module (2.2) providing management of client keys on the mobile device (M), transaction network gateway (2.3) providing transmission of contactless payment transaction initiated on mobile device (M) to acquirer(3) in a secure way, attestation and monitoring module (2.4) checking authenticity of mobile device (M), performing fraud and security checks, ID&V component (2.5) providing integration of acquirer (3) with merchant, database (2.6) where key information is kept, hardware security module (2.7) providing key management and communication security. In a preferred embodiment of our invention, said user mobile device (M) preferably comprises NFC antenna (1.6) for providing near field communication feature.

Main purpose of the system of the invention is to take place of physical POS devices. For that reason, the initial step for use of the invention is the establishment of relationship between merchant and acquirer (3). Merchant applies to acquirer (3) to use POS application (1). If application ends in affirmative consequence, acquirer (3) provides Merchant ID, Terminal ID and activation code to merchant for installation of POS application (1). Such details can be sent to merchant by e-mail or SMS. Preferably Google Play Store downloads merchant POS application (1) into user mobile device (M). When POS application (1) is opened by merchant, Merchant ID, Terminal ID and activation code are required for registration. When POS application

(1) is opened, initial attestation data verification is also made at the same time. Attestation verifications is executed by Attestation& Monitoring module (2.4) in backend module (2).

After merchant enters required information, registration request is sent to backend module (2) by POS application (1). Backend module (2) calls for Verification API of POS application (1) bank acquirer (3) and sends these details for verification of registration request acquirer (3) responds to verification request as per received information. Incoming reply is transmitted to POS application (1) by backend module

(2). If verification is successful in the incoming reply, flow continues, otherwise, flow is terminated.

After successful verification, POS application (1) sends request for generation of configuration and key to backend module (2). This request is sent together with ACQ. PRODUCT. PUB (C.EXCH.Key) by L3 SDK layer (1.2). All flow performed upon incoming request is executed in compliance with unique key pattern of POS application (1). C.EXCFI.Key is generated randomly by L3 SDK layer (1.2) and converted into whitebox form. C.EXCFI.Key is encoded with ACQ. PRODUCT. PUB key. Backend module (2) imports C.EXCFI.Key to hardware security module (2.7) in name of ACQ. PRODUCT. PUB key. Backend module (2) generates H.EXCH.Key in hardware security module (2.7) under C.EXCH.PUB. Backend module (2) generates Base Derivation Keys in hardware security module (2.7) for acquirer (3) (BDK.TEK, BDK.TAK, BDK.TSK, BDK.TATK). Backend module (2) generates IPEK.TAK, IPEK.TEK, IPEK.TATK, IPEK.TSK keys under H:EXCH.KEY from BDK in hardware security module (2.7). Backend module (2) sends IPEK.TATK, IPEK.TEK, IPEK.TAK, IPEK.TSK keys in registration response under Host Exchange Key. L3 SDK layer (1.2) solves host exchange key by C EXCH Key. L3 SDK layer (1.2) decryptseach IPEK key with H. EXCH. Key. L3 SDK layer (1.2) converts each IPEK key into whitebox form. L3 SDK layer (1.2) stores each key (WBJPEK.TEK, WBJPEK.TAK, WBJPEK.TSK and WBJPEK.TATK) in whitebox form in crypto module (1.5).

Backend module (2) also associated keys and parameters with user mobile device (M). Keys are generated specifically for each user mobile device (M). Keys and configuration parameters specific to user mobile device (M) are sent to user mobile device (M) by backend module (2). Management of keys and parameters is conducted by key management module (2.2) and parameter management module (2.1) in backend module (2). Merchant registration process is completed with transmission of keys and parameters to user mobile device (M), and user mobile device (M) of merchant becomes ready for receiving payment.

Sale transaction can be executed upon making user mobile device (M) ready for payment. Payment amount is entered from POS application (1). After amount is entered, a prompt stating that payment instrument (card) to make payment is to be read by user mobile device (M) in POS application (1). Consumer's card is read by user mobile device (M). After card is read, EMV contactless transaction is made in POS application (1) and EMV tags required for authorization are made ready. Transaction attestation request is prepared in JSON format and sent to backend module (2). Backend module (2) encodes authorization request message with key belonging to acquirer (3) and sends to acquirer (3) in ISO message format. Authorization request message received by acquirer (3) is transmitted to issuer bank (4). issuer bank (4) checks authorization message. Approval or decline response is transmitted to acquirer (3). Response message received by acquirer (3) is sent to backend module (2). The reply is transmitted to POS application (1) by backend module (2). Result of transaction is displayed on POS application (1) display. Consumer is requested to enter e-mail or phone number for invoice. Information on if invoice data are to send by e-mail or SMS is sent to backend module (2) together with invoice data. This information is transmitted to acquirer (3) by backend module (2).

In case it is desired to void(cancel) or refund sale transaction, Void/refund menu is selected in POS application (1). RRN or ARC information is entered. EMV tags required for cancel/return operation is prepared by POS application (1). Void/refund request is prepared in JSON format and sent to backend module (2). This request is transmitted to acquirer (3) by backend module (2). Backend module (2) prepares request according to acquirer (3) void/refund message format and sends it. Response message received by backend module (2) from acquirer (3) is sent to POS application (1) in JSON format.

When transaction performed in the system is not completed successfully, in other words, result of transaction is not transmitted to POS application (1) successfully, reversal process can be initiated.

Reversal mechanism works in two ways. In the first one, POS application (1) starts reversal process, and in the second one backend module (2) starts the process. In the first one, process is started from POS application (1) EMV tags are prepared and authorization request message is transmitted to backend module (2). The authorization request is transmitted to acquirer (3) by backend module (2). Response message received by acquirer (3) for request message is sent to backend module (2). In case of timeout or system error in POS application (1) somehow while transmitting response to POS application (1) by backend module (2), reversal request is sent by checkPOS request by POS application (1). The incoming request is transmitted to acquirer (3) by backend module (2) and reversal response from acquirer (3) is transmitted to POS application (1) by backend module (2) again. As long as response to reversal request is not received by POS application (1), a new sale operation is not started.

In case reversal request is started by backend module (2), backend module does not receive expected authorization response from acquirer (3) and start reversal process without returning to POS application (1).

Key list used in our invention is as follows: • ACQ. PRODUCT. PRI : Acquirer Product RSA Key -> stored in database (2.6) under Key Block LMK.

• ACQ. PRODUCT. PUB : Whitebox Acquirer Product RSA Public Key -> stored in POS application (1).

• C.EXCH.Key : Client Exchange Key -> generated randomly and sent to backend module (2) under ACQ_PRODUCT_PUB key. Imported into hardware security module (2.7) and used to encrypt H.EXCH.Key.

• H.EXCH.Key : Host Exchange Key -> is AES key generated by backend module (2). Encrypted by C.EXCH.Key and used for SDK based iKEYs encryption.

• WB.C.REG.Key : Client Registration Key -> is the key used for encrypting initial registration request data generated at random.

• WB.C.IATTEST.Key : Client Initial Attestation Key -> is the key used for encrypting initial attestation data generated at random.

• BDK.TEK : Base Derivation Key for TEK -> used to generate IPEK.TEK key.

• BDK.TAK: Base Derivation Key for TAK -> used to generate IPEK.TAK key.

• BDK. TSK : Base Derivation Key for TSK -> used to generate IPEK.TSK key.

• BDK:TATK : Base Derivation Key for TATK -> used to generate IPEK.TATK key.

• IPEK.TEK : Initial Terminal Encryption Key -> is the key used for encrypting sensitive card holder data by L3 SDK layer (1.2) generated by backend module (2) .

• IPEK.TAK : Initial Terminal Authentication Key -> is the key used for computing MAC value by L3 SDK layer (1.2) generated by backend module (2) . • IPEK.TSK : Initial Terminal Session Key - is the key used for generating session key by L3 SDK layer (1.2) generated by backend module (2) .

• IPEK.TATK : Initial Terminal Attestation Key - is the key used for encrypting attestation data by L3 SDK layer (1.2) generated by backend module (2) .

• WB.IPEK.TEK : Initial Terminal Encryption Key in Whitebox form

• WB.IPEK.TAK : Initial Terminal Authentication Key in Whitebox form

• WB. IPEK.TSK : Initial Terminal Session Key in Whitebox form

• WB. IPEK.TATK : Initial Terminal Attestation Key in Whitebox form

• WB.KEK. LOCAL : Local Key Encryption Key in Whitebox form - used for encryption and decryption operations in case of storage of WB IPEK key internally.

• WB.MSession.Key : Session based key in Whitebox form - key generated based on Session data.

Schematic view of Key Injection flow used in our invention is shown in Figure 3. The processes executed according to it are given below.

A1. ACQ. PRODUCT key pair is generated to hardware security module (2.7) A2. ACQ. PRODUCT keys are stored in database (2.6)

A3. ACQ. PRODUCT. PUB key is placed in L3 SDK layer (1.2) in whitebox form

A4. C.EXCH.Key is generated by L3 SDK layer (1.2) at random and the key is converted into whitebox form.

A5. C.EXCH.Key is encrypted by acquirer (3) public key.

A6. C EXCH.Key encrypted by acquirer (3) public key by L3 SDK layer (1.2) is sent with registration request during registration into POS application (1) of user mobile device (M). A7. Client Exchange Key encrypted by Acquirer public key is imported to hardware security module (2.7) by backend module (2).

A8. Backend module (2) generates host Exchange Key under Client Exchange Key in hardware security module (2.7). A9. Backend module (2) generates Base Derivation Keys (BDK) in hardware security module (2.7). The keys are BDK.TATK, BDK.TEK, BDK.TAK, BDK.TSK

A10. Each is stored BDK in database (2.6).

A11. Backend module (2) generates IPEK.TATK (MAC), IPEK.TEK (Encryption), IPEK.TAK (Attestation), IPEK.TSK (session) keys under Host

Exchange Key.

A12. Backend module (2) transmits IPEK.TATK, IPEK.TEK, IPEK.TAK, IPEK.TSK keys in registration response under Host Exchange Key.

A13. C.EXCH.Key (H.EXCH.Key), H.EXCH.Key (IPEK.TATK), H.EXCH.Key (IPEK.TEK), H.EXCH.Key (IPEK.TAK) and H,EXCH.Key (IPEK. TSK) is received at POS application.

A14. L3 SDK layer (1.2) decrypts Host exchange key by use of C EXCH Key.

A15. L3 SDK layer (1.2) decrypts IPEK key by use of H EXCH Key.

A16. L3 SDK layer (1.2) converts each IPEK key into whitebox form. A17. L3 SDK layer (1.2) stores each key in crypto engine module (1.5) in whitebox form. (WBJPEK.TATK, WBJPEK.TEK, WBJPEK.TAK and WBJPEK.TSK)

Attestation policy applied in our invention is as follows:

POS application (1) generates two data sets, mainly initial attestation and general attestation data. Initial attestation is sent when POS application (1) is started initially and before conduct of key injection. General attestation is sent when POS application (1) is opened, and key and injection is completed. In addition, general attestation is transmitted to backend module (2) in 1-5 minutes intervals at random. Initial attestation data is encrypted with WB.C.IATTEST.Key. POS application (1) transmits C.IATTEST.Key to backend module (2) under ACQ. PRODUCT. PUB key with initial attestation request, backend module (2) imports C.IATTEST.Key and uses for decryption of initial attestation data.

General attestation data is encrypted with WB.IPEK.TATK key. Encrypted attestation data is sent to backend module (2) together with KSN value. Backend module (2) decrypts attestation with BDK TATK and checks KSN.

Attestation Data comprises following fields.

• Acquirer id

• Application: appVersion

• Application: packageName

• Application: permissions

• Application: sdkVersion

• Application: signature

• Device: availablelnternalStorage

• Device: fingerprint

• Device: imei

• Device: manufacturer

• Device: model

• Device: osName

• Device: osVersion

• Device: remainingBatteryPercentage

• Device: usingMemoryPercentage

• Device: Uniqueld

• Security: appTamper

• Security: debugger

• Security: emulator

• Security: hooking

• Security: root

• Timestamp Backend module (2) conducts checks related to coming fields and in case of discovering any negativity, gives error message and takes various actions such as temporary blocking user mobile device (M), error return to API calls, crash of POS application (1).