Next Article in Journal
Dynamic Modeling and Experiment Research on Twin Ball Screw Feed System Considering the Joint Stiffness
Next Article in Special Issue
FlexMonitor: A Flexible Monitoring Framework in SDN
Previous Article in Journal
Research on an Adaptive Variational Mode Decomposition with Double Thresholds for Feature Extraction
Previous Article in Special Issue
An Iterated Hybrid Local Search Algorithm for Pick-and-Place Sequence Optimization
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Untraceable and Anonymous Mobile Payment Scheme Based on Near Field Communication

Department of Computer Science, National Chengchi University, No. 64, Sec. 2, Zhi-nan Rd., Taipei 11605, Taiwan
Symmetry 2018, 10(12), 685; https://doi.org/10.3390/sym10120685
Submission received: 9 November 2018 / Revised: 22 November 2018 / Accepted: 23 November 2018 / Published: 1 December 2018
(This article belongs to the Special Issue Symmetry in Computing Theory and Application)

Abstract

:
With the developments of mobile communications, M-commerce has become increasingly popular in recent years. However, most M-commerce schemes ignore user anonymity during online transactions. As a result, user transactions may easily be traced by shops, banks or by Internet Service Providers (ISPs). To deal with this problem, we introduce a new anonymous mobile payment scheme in this paper. Our new scheme has the following features: (1) Password-based authentication: authentication of users is done by low-entropy password; (2) Convenience: the new scheme is designed based on near field communication (NFC)-enabled devices and is compatible with EuroPay, MasterCard and Visa (EMV-compatible); (3) Efficiency: users do not need to have their own public/private key pairs and confidentiality is achieved via symmetric-key cryptography; (4) Anonymity: users use virtual accounts in the online shopping processes, thereby preventing attackers from obtaining user information even if the transaction is eavesdropped; (5) Untraceablity: no one (even the bank, Trusted Service Manager (TSM), or the shop) can trace a transaction and link the real identity with the buyer of a transaction; (6) Confidentiality and authenticity: all the transaction is either encrypted or signed by the sender so our new scheme can provide confidentiality and authenticity. We also present the performance and the security comparison of our scheme with other schemes. The results show that our scheme is applicable and has the most remarkable features among the existing schemes.

1. Introduction

Mobile commerce (M-commerce) [1,2,3,4] has come into the limelight in recent years thanks to the universality of smartphones and the rapid developments of wireless and mobile communication technologies. By using M-commerce, a user can use an internet-enabled mobile device such as a smartphone or a tablet and then he/she can perform online activities. Possible online activities include online shopping, online auctions, online payments, etc.
M-commerce is convenient and attractive to both users and merchants. For users, M-commerce is convenient and simple compared to traditional transactions. Moreover, it brings possible customers from all over the world from a merchant’s viewpoint. Furthermore, merchants can collect customer behaviors via transactions and can make statistical analysis to speculate the consumption preferences of users. The analysis helps a merchant to send subsequent information that may be attractive to users in the future to push up sales.

1.1. Related Works

Due to the importance of M-commerce, many online payment schemes have been proposed [1,5,6,7,8,9,10]. Some of them are designed to increase the performance and some are designed to enhance the security or privacy of transactions. For example, Toorani et al. [11] proposed a secure short message service payment protocol. The scheme allows users to pay the bill by the short message service (SMS). However, some weaknesses have been found including replay-attack and SMS message forging attack. Molloy et al. [12] proposed a payment protocol using a virtual credit card instead of a real card. In addition, the virtual credit card can be generated as many times as a user wishes. On the other hands, to provide user anonymity and unlinkability, Martínez-Peláez et al. [13] proposed a micropayment protocol basing on the anonymous electronic cash. To increase the performance of online payment protocol, Kungpisdan et al. [9] proposed an account-based online payment protocol. The protocol adopted symmetric-key cryptography instead of public-key cryptography for achieving confidentiality. Compared to many schemes using public-key cryptographies, the scheme achieves low computation during tractions. Liao [14] proposed a cross-domain anonymous online payment scheme which allows users to consume in different merchants in mobile communication with user anonymity. On the other hand, near field communication (NFC) [15,16,17] has come into limelight in recent years and has become increasingly popular. For this reason, NFC-enabled mobile payment protocols are provided [18,19,20,21] in which credit card information is combined into NFC-enabled mobile devices. The NFC-chip embed into a smartphone will change itself to the card simulation mode to simulate a credit card when an online transaction is proceeded and the information inside the (simulated) card is requested. In this way the card information is transmitted securely via NFC standard protocol to the merchant or to the card issuer for authentication. In practice, Apple [22], Microsoft [23], and Google Inc. [24] have introduced their idea separately to replace the traditional credit card by a virtual credit card. In addition, the cards are stored in NFC-enabled smartphones. By using the smartphone, mobile payments, online transactions can be proceeded very efficiently and conveniently. For this reason, IT industries and many researches have continuously focusing on such a promising technology to continuously improve its security, performance and/or to add new features on it [25,26,27,28,29]. For example, Pasquet et al. [28] proposed an infrastructure to test the security of the simulated credit card in the NFC-enabled smartphone. Pailles et al. [27] focus on the protection of private data in user accounts. Mainetti et al. [26] proposed a protocol for message-exchange between the NFC-enabled smartphone and the Point of Sale (PoS) terminal using a peer to peer method. The advantage of the scheme in [26] is that the transaction confirmation message can be stored and customized by merchant. Finally, Urien and Piramuthu [29] assumes that a user’s NFC-enabled smartphone may be untrustworthy and, instead of using the built-in security element in NFC-enabled smartphones, they proposed the cloud security element to achieve the goal. Moreover, their scheme follows the EMV standard and can execute the EMV credit card protocol. Their concept is similar to the Host Card Emulation [25] technique.

1.2. Motivation

Anonymity is an important issue for mobile payment and online transactions from customers’ viewpoints. In general, speaking, the identity of a user is required to be presented to its counterparty who may be a card issuer, a merchant, or a Trusted Service Manager (TSM) during the process of an online payment. The identity presented here is used for authentication. However, this may leak the information on who the owner of the card holder is and/or by whom and where the goods or items have been bought, and from which merchant. Furthermore, with this information, an impersonation-attack may be launched to forge an invalid transaction. To deal with this problem, Luo et al. [30] in 2016 proposed an NFC-based mobile payment protocol with user anonymity. However, we found that their scheme has some security issues and may not be functional in practice. For example, they use the same private key for digital-signature signing and for ciphertext decryption. Unlinkability is also a problem. It is difficult to be achieved according to the definition of unlinkability. Furthermore, Lee et al. [31], also mentioned that Luo et al.’s idea suffers from the symmetric-key leakage problem. Although Lee et al. [31] introduced their remedy, the new scheme is designed for pre-paid system but not for credit card applications. In addition, the new scheme is not EMV-compatible.

1.3. Our Contributions

In this paper, we are going to introduce a new NFC-based mobile payment protocol. The new scheme has the following features:
  • Password-based authentication: Password-based authentication does not require expensive infrastructure compared to digital-signature and biometrics-based authentications. In addition, it is convenient for users since users can use low-entropy and easy-to-remember password to establish a high-entropy session key. Consequently, in our protocol, we assume that a user of our scheme possesses no high-entropy secret key and no public/private key pair in advance. What the user has in advance is only a low-entropy password ( p w ) shared with a bank (card issuer). The p w will then be used for user-authentication and for securing communication.
  • Convenience: The new NFC-based anonymous mobile payment scheme is compatible with EMV standard [32,33,34] which is set up by the largest three credit card magnate corporations named Europay, MasterCard and Visa in 1993, and it also can be operated on any NFC function-enabled smartphones.
  • Efficiency: Users of our scheme do not need to have their own public/private key pairs and confidentiality is achieved via symmetric-key cryptography.
  • Anonymity: A user’s virtual account is all set up and registered via the bank. Except the bank, no one else will know the actual identity of the user even when eavesdropping is occurred during the transactions.
  • Untraceablity: No one (even the bank, TSM or the shop) can trace a transaction and link the real identity with the buyer of a transaction.
  • Confidentiality and Authenticity: Every communication for transactions is either encrypted by a session key from Diffie-Hellman key exchange [35] or by a pre-shared key between a bank and TSM.

1.4. Paper Organization

The paper is organized as follows: Section 2 presents some preliminaries required for our construction as well as Luo et al.’s scheme. The model and our new NFC-based anonymous mobile payment protocol is provided in Section 3. We provide the security of our protocol in Section 4 and the conclusion is given in Section 5.

2. Preliminaries and Luo et al.’s Scheme Revisited

This section reviews some cryptographic primitives and definitions required for our construction. We will also review Lou et al.’s work and discuss the security flaws of their scheme.

2.1. Security Assumptions

Definition 1.
Discrete Logarithm (DL) Problem:G is a cyclic group with prime order p. g is a primitive root of G. The DL problem to the base g means the following problem:
Given g , h G , find an integer x such that h = g x mod p .
The DL problem is believed to be difficult and to be the hard direction of a one-way function. Based on the DL problem, Computational Diffie-Hellman Assumption can be defined as follows:
Definition 2.
Computational Diffie-Hellman (CDH) Problem:G is a cyclic group of prime order p and g is a primitive root of G, the CDH assumption says that given ( g , g a , g b ) for a , b Z p * picked randomly, there exists no polynomial-time algorithm to find an element C G such that C = g a b mod p with non-negligible probability.
CDH problem is also believed to be difficult and based on the problem, any two entities can generate C = g a b mod p as their session key which is called the Diffie-Hellman (key-exchange)-based key [35].

2.2. Luo et al.’s Scheme Revisited

We first review Luo et al.’s protocol (UAPS for short) in this subsection and discuss the security flaws of their scheme. There are four entities in UAPS: a secure element (SE) embedded in a smart phone, a user, a card issuer (i.e., the bank) and a virtual credit card issuer (i.e., the TSM). In addition, the protocol consists of four stages: registration stage, anonymous virtual bank account generation stage, anonymous transaction account generation and issuing of virtual credit card stages. Details are described as follows:

2.2.1. Registration Stage

In this phase, each entity must generate its own identity I D and an asymmetric key pair ( P K I D , S K I D ) with a certificate issued by a Certificate Authority (CA). At the beginning, a user with identity I D U must open a bank account and to register his NFC-enabled smartphone to the bank. The bank then generates a shared key K B , U between the bank and the user and returns it to the user.

2.2.2. Anonymous Virtual Bank Account Generation Stage

At this stage, the user with identity I D U requests the bank to establish a virtual account A I D i for him/her. The SE in the user’s NFC-enabled smartphone will generate a public/private key pair ( P K A I D i , S K A I D i ) , and then uses the private key S K A I D i to sign the public key P K A I D i . Then it delivers the signature to the bank. After authenticating the identity of the user, the bank will issue the corresponding certification of A I D i to user. Figure 1 shows the communication flaws and the detailed descriptions are listed as follows:
  • The user sends I D U E K B , U ( I D U N 1 S i g n S K U ( I D U N 1 ) ) to the bank. Here N 1 is a nonce, S i g n S K U ( M ) denotes the signature on message M signed by the signing key S K U , and E K ( M ) denotes the ciphertext of message M encrypted by the key K.
  • The bank decrypts the message with the share key and verifies the signature. If it passed, then the bank generates a virtual account A I D i and a nonce N 2 . The bank then sends back I D B E K B , U ( I D U A I D i N 2 ) back to the user.
  • The user receives A I D i and stores I D U A I D i N 2 into the SE.
  • The SE generates a key pair ( P K A I D i , S K A I D i ) corresponding to A I D i . S K A I D i is stored in the SE and the SE returns P K A I D i S i g S K A I D i ( I D U A I D i P K A I D i N 2 ) to the user.
  • The user sends I D U E K B , U ( S i g S K U ( I D U A I D i N 2 S i g S K A I D i ( I D U A I D i P K A I D i N 2 ) to the bank.
  • The bank decrypts the message and gets P K A I D i . It will then create a certificate C E R T A I D i B corresponding to P K A I D i . The bank then returns I D B E P K A I D i ( A I D i A I D i _ E x p T i m e A I D i _ L i m i t C E R T A I D i B K A I D i , B ) E K A I D i , B ( A I D i C E R T A I D i B K A I D i , B ) to user. Here A I D i _ E x p T i m e is the expiry time of A I D i and A I D i _ L i m i t is the credit limit of A I D i .
  • The user sends the ciphertext to the SE. SE retrieves the shared key K A I D i , B and the certificate C E R T A I D i B .

2.2.3. Anonymous Transaction Account Generation Stage

After making registration to the bank, the user then needs to register its (virtual) identity to TSM to get the virtual credit card. The virtual credit card will be used in the actual transactions. The user will establish a pre-stored credit account in TSM and the credit limit for this account can be decided by the user itself. This account will be linked to the virtual account A I D i in the bank for consuming via mobile payment. On the other hand, for security of the payment, user generates B I N F O (i.e., payment information) which is composed of virtual account A I D i , account expiry date A I D i _ E x p T i m e , account limit A I D i _ L i m i t , and the session key K A I D i , B . The message is signed by the signing key S K A I D i , and then be sent to the bank via TSM. Besides, user will encrypt the payment message by session key K T I D i , T S M , and then signed the cipher text by S K T I D i . The signature as well as T S M I N F O are then sent to TSM. TSM decrypts it and then encrypts the content by using the bank’s public key P K B . TSM signs the cipher text to generate T S M B I N F O . TSM transmits the B I N F O and T S M B I N F O to the bank. The bank can retrieve B I N F O and T S M B I N F O . After comparing the information between the B I N F O and T S M B I N F O , the bank authenticates the identities and returns the credit information of the virtual account to T S M . Figure 2 shows the communication flaws and the details are described as follows:
  • The user generates virtual transaction account T I D i and a key pair ( P K T I D i , S K T I D i ) . He/she then signs P K T I D i with S K T I D i and encrypts it with P K T S M . Then the user sends the ciphertext E P K T S M ( S i g n S K T I D i ( T I D i P K T I D i T i m e s t a m p ) ) to TSM.
  • After decrypts the message, TSM establishes a session key K T I D i , T S M and returns T I D i E P K T I D i ( T I D i K T I D i , T S M ) to the user.
  • The user requests identifiers S I D , A I D i , I D B and nonce N 1 to the SE.
  • The SE generates the payment message B I N F O and send it with N 1 to user. Here B I N F O = S i g n S K A I D i ( E K A I D i , B ( S I D A I D i I D T S M I D B A I D i _ E x p T i m e A I D i _ L i m i t N 2 ) ) .
  • The user generates transaction message T S M I N F O = S i g n S K T I D i ( E K T I D i , T S M ( S I D A I D i I D T S M I D B N 2 A I D i _ E x p T i m e A I D i _ L i m i t ) ) and encrypts B I N F O , T S M I N F O and N 1 with P K T I D i . That is, user sends S i g n S K T I D i ( T I D i E P K T I D i ( T I D i T S M I N F O B I N F O N 2 ) to TSM.
  • After decrypted T S M I N F O , TSM will generate the authentication message T S M B I N F O = S i g n S K T S M ( E P K B ( S I D A I D i N 2 A I D i _ E x p T i m e A I D i _ L i m i t K T S M , B ) ) and sends E P K B ( I D B A I D i B I N F O S I D I D T S M T S M B I N F O ) to the bank for confirmation.
  • The bank uses its corresponding keys to decrypt the ciphertext. The bank then compares BINFO with TSMBINFO. The bank accepts the message if they are identical. In this case, the bank will send the credit information of A I D i to TSM.
  • After receiving the returned message, TSM verifies that T I D i is authorized to access the service and TSM will send T I D i E K T I D i , T S M ( S t a t u s T I D i _ E x p T i m e T I D i _ L i m i t ) to the user.

2.2.4. Issuing of Virtual Credit Card Stage

During this phase, user can apply to TSM for a virtual credit card. TSM will issue a virtual credit card with shorter expiry date and lower credit limit. Besides, the credit card is complied with be EMV standard and is stored in the SE. A user can repeat this stage to get new virtual credit card when the expiry date is coming or remained limit is exhausted. Figure 3 shows the communication flaws and detail steps are listed as below:
  • The user sends a request to the SE with anonymous transaction identifier T I D i .
  • The SE generates a new public/private key pair ( P K T I D i , S K T I D i ) corresponding to T I D i and sends S i g n S K T D I i ( A I D i T I D i N 1 N 2 ) N 1 to user.
  • The user sends the encrypted message E K T I D i , T S M ( S i g n S K T D I i ( A I D i T I D i N 1 N 2 ) N 1 ) ) by key K T I D i , T S M to TSM.
  • After receiving the request, TSM will issue a new virtual credit card T I D i - C r e d i t I N F O and generate a new certification C E R T T I D i T S M , and sends the encrypted message E K T I D i , T S M ( T I D i - C r e d i t I N F O C E R T T I D i T S M ) to the user.
  • After receiving the message, user decrypts ciphertext and stores the corresponding certification and the new credit card information into the SE.
  • The remaining process just follows the EMV standard.

2.3. Comments on Luo et al.’s Scheme

As mentioned at the beginning, this scheme focusses on the topic of user anonymity. However, it suffers from several problems. Lee et al. [31] pointed out that the scheme leaks the symmetric key shared between the SE and the bank. It means an adversary may attack the mobile device to find sensitive information in the SE. The adversary may also impersonate the mobile phone owner and do mobile payments on behalf of the real user.
Besides, in this protocol, it uses the same key pair for encryption/decryption and for (digital) signature signing/verification. This kind of mixing use of the same key is not recommended since it may cause some unexpected security flaws. For example, if using the same key for both RSA encryption scheme and for RSA digital-signature scheme, then an attacker may eavesdrop some ciphertexts sending from others to the user, then the attacker may cheat the sender to encrypt the ciphertexts (for any reason the user may believe). As a result, the attacker will get the plaintexts corresponding to the ciphertext. The reason this attack may happening is the same key pair used for signature and for encryption and this kind of mix-using should be avoided.

3. Proposed Scheme

In this section, we introduce a new untraceable NFC-based anonymous mobile payment protocol to overcome the security weaknesses of Luo et al.’s scheme. There are three types of entities in our new scheme: a user, a bank and a TSM.
  • A user is a customer who applies for a virtual account and a virtual transaction account for privacy protection reason. With the accounts he/she can pay using his NFC-enabled smartphone via our mobile payment protocol in an anonymous and untraceable manner.
  • A bank is a card issuer who generates a virtual account and issues the corresponding virtual card for users.
  • TSM is a very important entity in NFC payment ecosystem. TSM is assumed to be the trusted third party who sets up technical connections and business agreements with mobile network operators, or other entities controlling the SE on smartphones.
In addition, our scheme consists of four stages, (1) Initialization; (2) Virtual Account Application; (3) Virtual Transaction Account Application and Virtual Credit Card Issuance; (4) Virtual Credit Card and/or Virtual Transaction Account Updating. The details are described as follows and Table 1 lists the notations we will use in our protocol. Figure 4 shows the communication flaws of our new scheme.

3.1. Initialization

This is the stage for initial setting. At first, assume every single entity (i.e., user U, TSM, Bank) has their own identifiers (i.e., I D U , I D T S M , I D B ) at the beginning.
  • The user U is assumed to have a physical bank account and a password p w shared with the bank (for authentication). The p w is assumed to be low-entropy (i.e., not as secure as a high-entropy secret key) so it can be kept secretly very easily (e.g., store in the SE of a smart phone or just keep it in mind without memorizing it anywhere).
On the other hand, both TSM and the bank are the organizations possessing with high levels power of computation, it is reasonable to assume that they can have the public-key cryptosystem’s key pairs ( P K , S K ) . Furthermore, we assume that their keys are Discrete-Logarithm-based (DL-based) keys (ref. Definition 1). The public-key cryptosystems are mainly used for authentication and for Diffie-Hellman-based key-exchange (ref. Definition 2). There are many candidates of such (DL-based) public-key cryptosystems such as Digital-Signature Standard (DSS), Schnorr Signature and/or ElGamail signature. On the other hand, confidentiality is achieved via symmetric-key cryptography such as AES or RC4 et al.
  • TSM has its own public/private key pair ( P K T S M , S K T S M ) . More precisely, P K T S M = ( y T S M , g T S M , p T S M , q T S M ) where p T S M is a large prime, g T S M is a generator of a multiplicative group G = < g T S M > of order q T S M and y T S M = g T S M x T S M mod p T S M . S K T S M = x T S M Z q T S M * . In addition, TSM holds a high-entropy secret key P S K B , T S M shared with the bank.
  • The same as TSM, the bank has its own public/private key pair ( P K B , S K B ) . More precisely, P K B = ( y B , g B , p B , q B ) where p B is a large prime, g B is a generator of a multiplicative group G = < g B > of order q B and y B = g B x B mod p B . S K B = x B Z q B * . In addition, the bank holds a high-entropy secret key P S K B , T S M shared with TSM.
In short, at the end of the stage, a user with identity I D U has p w ; TSM with identity I D T S M has a symmetric key P S K B , T S M , a DL-based public/private key pair ( P K T S M , S K T S M ) ; the bank with identity I D B has a symmetric key P S K B , T S M , a DL-based public/private key pair ( P K B , S K B ) and a p w as the one shared with I D U . All those keys are generated in advance before the starting of our protocol.

3.2. Virtual Account Application

This stage is to authenticate the user via p w . It then aims to create a virtual account identifier A I D U and make it registered to the bank. The bank will record that together with user identity I D U . Some information for later communication between U and TSM such as a ticket T i c k e t B , T S M will be sent back to the user side. Description in detail is listed as follows:
  • U B a n k : ( I D U , V A - r e q u e s t , T , C )
    This step is to apply for registration and to inform the bank about which TSM the user will communicate with in the next stage. The user computes and does the following steps:
    • Pick x Z q B * , use p w and bank’s public key P K B = ( y B , g B , p B , q B ) to compute T = g B x y B p w mod p B .
    • Pick r Z q T S M * , use TSM’s public key P K T S M = ( y T S M , g T S M , p T S M , q T S M ) and compute R = g T S M r mod p T S M .
    • Create a virtual account identifier A I D U , compute k = y B x mod p B , k = H ( I D U I D B k T ) and h v a = H ( V A - r e q u e s t I D U I D T S M A I D U T R N 1 T S 1 ) where N 1 is a nonce and T S 1 is a time stamp.
    • Compute C = E k ( A I D U I D T S M R N 1 T S 1 h v a ) .
    • Send ( I D U , V A - r e q u e s t , T , C ) to the bank as request for virtual account registration.
  • B a n k U : ( I D B , C B )
    In this stage, the bank authenticates the user via p w , generates a virtual credit card and a ticket for A I D U . The ticket is generated for later communication between the user and the TSM. Detail steps of banks are described as follows:
    • Check the identity I D U from its member-list and find the corresponding password p w . Reject and terminate if I D U is not in the list.
    • Use p w to compute k = ( T × y B - p w ) s k B mod p B and k = H ( I D U I D B k T ) .
    • Decrypt C by key k and recover ( A I D U I D T S M R N 1 T S 1 h v a ) D k ( C ) .
    • Compute h v a = H ( V A - r e q u e s t I D U I D T S M A I D U T R N 1 T S 1 ) and check the time stamp T S 1 . Accept the V A - r e q u e s t if h v a = h v a and T S 1 is valid.
    • Records ( I D U , A I D U ) in its database, determine the expiry time (i.e., A I D U _ E x T i m e ) and the credit limit (i.e., A I D U _ L i m i t ) of the credit card going to be issued to A I D U .
    • Use the symmetric key K B , T S M corresponding to I D T S M and generate T i c k e t B , T S M = E K B , T S M ( I D B A I D U A I D U _ E x t i m e A I D U _ L i m i t R T S 2 L i f e t i m e S i g S K B ( I D B A I D U A I D U _ E x t i m e A I D U _ L i m i t R T S 2 L i f e t i m e ) ) . Here S i g S K B ( M ) is the signature of the bank on the message M.
    • Generate a ciphertext by the session key k and get C B = E K ( I D U A I D U A I D U _ E x t i m e A I D U _ L i m i t N 1 + 1 T i c k e t B , T S M T S 1 ) .
    • Return I D B and C B to the user.
  • U: After receiving the returned information from the bank, the user U does the following computations:
    • Decrypt C B , check the time stamp T S 1 and the correctness of N 1 + 1 .
    • Store A I D U , A I D U _ E x t i m e , A I D U _ L i m i t and T i c k e t B , T S M securely.

3.3. Virtual Transaction Account Application and Virtual Credit Card Issuance

This stage is to create a virtual transaction account T I D U of U and to make registration of T I D U to the TSM. Based on the account T I D U , TSM will issue a virtual credit card for U without knowing the real identity of U (i.e., TSM only knows A I D U alternatively). For the virtual credit card, TSM will generate the corresponding expiry time and limit of the card for T I D U , and then TSM will send the virtual credit card, the expiry time and account balance back to the user. Steps in detail are listed as follows:
  • I D U I D T S M : ( I D B , T i c k e t B , T S M , C T S M )
    The user does the following steps:
    • Compute the session key k U , T S M = H ( I D U I D T S M k T S M R ) where k T S M = y T S M r mod p T S M and r Z q T S M * is the random number picked at step ( 1 ) of the previous stage.
    • Generate a virtual transaction account T I D U and compute h v t a = H ( V T A - r e q u e s t A I D U T I D U I D B T i c k e t B , T S M ) .
    • Use k U , T S M and generate the ciphertext C T S M = E k U , T S M ( V T A - r e q u e s t A I D U T I D U h v t a ) .
    • Sends ( I D B , T i c k e t B , T S M , C T S M ) to TSM.
      Note: The VTA-request is the request of registering U’s virtual transaction account T I D U to TSM.
  • I D T S M : ( K U , T S M , I D B , A I D U , T I D U )
    TSM does the following steps after receiving the information from U.
    • Decrypt the T i c k e t B , T S M using the symmetric key K B , T S M shared with the bank in advance. Accept the ticket T i c k e t B , T S M if the signature from the bank is correct and the ticket is valid by checking the time stamp T S 2 and the lifetime. Do the following steps if T i c k e t B , T S M is accepted.
    • Compute k U , T S M = H ( I D U I D T S M k T S M R ) where k U . T S M = R S K T S M mod p T S M and then decrypt C T S M by the key k U , T S M .
    • Accept the V T A - r e q u e s t if A I D U in C T S M is the same as that in T i c k e t B , T S M and h v t a is correct.
  • I D T S M I D U : ( T S M _ I n f o )
    TSM does the following steps:
    • Generate a virtual credit card and the corresponding information C r e d i t _ I n f o for T I D U .
    • Determine the corresponding expiry time, T I D U _ E x t i m e , and credit balance, T I D U _ L i m i t , where T I D U _ E x t i m e A I D U _ E x t i m e and T I D U _ L i m i t A I D U _ L i m i t .
    • Generate the ciphertext T S M _ I n f o = E K U , T S M ( I D T S M A I D U T I D U T I D u _ E x t i m e T I D U _ L i m i t C r e d i t _ I n f o T S 3 S i g S K T S M ( M ) ) where M includes the whole message in the ciphertext T S M _ I n f o excluding the signature.
    • Return the ciphertext T S M _ I n f o to the user U.
  • I D U S E : ( T I D U _ E x t i m e , T I D U _ L i m i t , C r e d i t _ I n f o , k U , T S M ) .
    The user does the following steps:
    • Decrypt T S M _ I n f o and verify the signature and the time stamp T S 3 . Accept T S M _ I n f o if it passed the verification.
    • Store the necessary security information including the expiry date of T I D U , (i.e., T I D U _ E x t i m e ), the credit balance of T I D U (i.e., T I D U _ L i m i t ), the information of the virtual credit card (i.e., C r e d i t _ I n f o ) and session key k U , T S M into the SE.

3.4. Virtual Credit Card and/or Virtual Transaction Account Updating

The goal of this stage is to allow a user to ask for a new virtual credit card from TSM. It will be launched when the date is closing to the expiry time or the remained limit is going to running out. Furthermore, user can change the virtual transaction account T I D U at this stage if necessary. Description in detail is listed as follows:
  • I D U I D T S M : ( T I D U , C r e q ) .
    The user I D U does the following steps:
    • Pick a new random number r Z q T S M * and compute R = g T S M r mod p T S M .
    • (Optional) Generate a new virtual transaction account T I D U in case of applying for update the virtual transaction account.
    • Compute h r e q = H ( u p d a t e - r e q u e s t T I D U ( optional ) T I D U R T S r e q ) and the ciphertext C r e q = E k U , T S M ( u p d a t e - r e q u e s t T I D U ( optional ) T I D U R T S r e q h r e q ) where k U , T S M is the session key generated at the previous stage and stored in the SE.
    • Send ( T I D U , C r e q ) to TSM
    Note: T I D U is optional in this step.
  • I D T S M I D U : ( I D T S M , C r p y )
    TSM does the following steps after receiving the request.
    • Decrypt the ciphertext C r e q by the session key shared with T I D U .
    • Accept the request if h r e q is valid. Continue the following step if accepted.
    • Create a new virtual credit card and the corresponding information ( C r e d i t _ I n f o , T I D U _ E x t i m e , T I D U _ L i m i t ) . Alternatively, if T I D U presented (i.e., user has also requested to change a new virtual transaction account T I D U ), change ( T I D U _ E x t i m e , T I D U _ L i m i t ) by ( T I D U _ E x t i m e , T I D U _ L i m i t ) .
    • Compute the new session key k U , T S M = R S K T S M mod p T S M .
    • Sign and encrypt M r p y where M r p y = I D T S M T I D U T I D U T I D U _ E x t i m e , T I D U _ L i m i t C r e d i t _ I n f o ) if the virtual transaction account changed to T I D U . Otherwise, M r p y = I D T S M T I D U T I D U _ E x t i m e T I D U _ L i m i t C r e d i t _ I n f o . The resulted ciphertext is C r p y = E k U , T S M ( M r p y S i g S K T S M ( M r p y ) ) .
    • Return ( I D T S M , C r p y ) to the user.
  • I D U S E : ( C r e d i t _ I n f o , k U , T S M , T I D U _ E x t i m e T I D U _ E x t i m e , T I D U _ L i m i t T I D U _ L i m i t )
    The user does the following steps:
    • Compute the new session key k U , T S M = y T S M r mod p T S M and use it to decrypt C r p y .
    • Accept C r p y if the signature is valid.
    • Stores the necessary security parameters including new virtual credit card info, C r e d i t _ I n f o , new session key, k U , T S M , new expiry time, T I D U _ E x t i m e T I D U _ E x t i m e , and new credit balance, T I D U _ L i m i t T I D U _ L i m i t , to the SE.
Now, a new virtual credit card with lower credits, shorter expiry time and EMV-compatible has received by the user I D U . It is stored in the SE and can be updated in accordance with the virtual credit card and/or virtual transaction account updating stage. The other rest transaction processes follow EMV standards, use an NFC smartphone with card emulation mode, and then transactions can be done in an efficient and secure way.

4. Security Analysis

We will analysis the confidentiality, anonymity and untraceability, integrity and unforgeability in this section. The security analysis is based on the assumption the bank and TSM are semi-trusted third parties (or called the honest-but-curious adversaries). A semi-trusted third party means a party that will act following the rules of the protocol but may also try to find sensitive data that should not be leaked to him/her if there is any security flaw in the protocol.

4.1. Confidentiality

Confidentiality is considered in three parts; the confidentiality between the user U and the bank during the virtual account application phase, the confidentiality between TSM and the user, and between TSM and the bank during the virtual transaction account application and virtual credit card issuance phase, and the confidentiality between the use and TSM during the account update phase.
Firstly, at the first stage, all the sensitive information sent between the user and the bank are encrypted by the Diffie-Hellman key y B x mod p B = k = ( T × y B - p w ) s k B mod p B . Any passive attacker via eavesdropping is infeasible to compute the same key k according to the CDH hardness problem (Definition 2). On the other hand, for any active attacker who attempts to impersonate the user with identifier I D U or the bank, he/she must have the knowledge of the user’s password p w and/or the bank’s private key s k B . The security of this part is protected by the technique of password-based authenticated key exchange protocol (PAKE). Our PAKE protocol is constructed following the concept of Abdalla and Pointcheval’s simple password-based encrypted key exchange protocol [36] and can be proved secure following their security proofs. Consequently, no sensitive information is leaked during the virtual account application stage.
During the second phase (i.e., virtual transaction account application and virtual credit card issuance stage), TSM communicates with the user I D U and the bank separately. All information sent between TSM and the bank are encrypted using the pre-shared key K U , T S M . The information between user I D U and TSM are encrypted using the Diffie-Hellman key k U . T S M = R S K T S M mod p T S M = y T S M r mod p T S M . No one can compute the same key without S K T S M or r and r is chosen by the user I D U . To avoid man-in-the-middle attack, R = g T S M r mod p T S M is firstly authenticated by the bank (i.e., the semi-honest third party) in the first stage. Then, R is encapsulated into the ticket T i c k e t B , T S M so that only TSM can decrypt it and recover R. Consequently, the session keys in this stage are all secure and authenticated. The same security analysis is also applied to the key in the virtual credit card and/or virtual transaction account updating stage. Finally, all the sensitive information of the user is stored in the SE of the user’s smartphone. Therefore, we conclude that confidentiality is achieved in all stages of our protocol.

4.2. Anonymity and Untraceability

During the virtual account application stage, mutual authentications is achieved via password-based authentication. Only at this stage the user will reveal his real identity so only the bank knows a user’s real identity. After the stage, the bank issues a virtual bank account A I D i to the user. Furthermore, at the virtual transaction account application stage, the user uses the virtual bank account A I D i to communicate with the TSM. Therefore, TSM does not know a user’s real identity and TSM issues a temporary EMV-compatible virtual credit card to the virtual transaction account T I D i to the user. On the other hand, the communication between the user and TSM is encrypted using the Diffie-Hellman-based session key k U , T S M so even the bank has no ability to find the relationship between the virtual bank account A I D i and the virtual transaction account T I D i . Finally, a merchant will only know the T I D i and will not know the real identity of the user. Consequently, the anonymity of a user is achieved at all stages.
In short, the bank will only know the real identity I D i and the virtual bank account A I D i . On the other hand, TSM will only know A I D i and virtual transaction account T I D i . Finally, a merchant only knows T I D i of the corresponding credit card. Therefore, we conclude that no one can trace a transaction and link the real identity with the buyer of a transaction. The untraceability is consequently achieved.

4.3. Integrity and Unforgeability

Firstly, we assume a user of our scheme has no high-entropy secret key and no public/private key pair in advance. All the communication to or from the user is encrypted based on the Diffie-Hellman-based session key, so unforgeability is achieved by the secrecy of the generated session key. We also assumed TSM and the bank are semi-honest, so they will be considered as passive attackers who will not forge new messages. In addition, the hash values (i.e., h v a , h r e q ) provide information for the bank or TSM to verify the integrity of the received message. On the other hand, in our scheme, all transactions sent from the bank or from TSM are all signed by the sender and are recorded by the corresponding entities. Therefore, integrity and unforgeability can be achieved by the generated signatures from the viewpoints of the bank and TSM.

5. Performance and Comparison of Security Features

In this section, we show the performance of our proposed scheme from the viewpoint of communication costs. We consider only the cost that is required to be transmitted online during a transaction. That is, the transmission between user and bank, and the transmission between user and TSM. On the other hand, we will compare the features of our scheme with some other schemes.
To compute the online communication cost, we use the following assumptions.
  • A request message (i.e., { V A , V T A , U p d a t e } - r e q u e s t ) costs 20 bytes each.
  • A DL-based signature is 40 bytes (using DSA [37], for example).
  • A hash value is 32 bytes (using SHA-256, for example).
  • A personal ID is about 20 bytes (using Unicode standard, a number or alphabet is 2 bytes. We assume an ID has 10 numbers or alphabets on average).
  • A T i c k e t B , T S M has 112 bytes (i.e., 20 * 4 + 4 * 4 + 16 + 40 = 112 ).
  • A C r e d i t _ I n f o has 83 bytes according to [4].
  • The size of a ciphertext is the same as its corresponding plaintext.
  • All other information not defined here such as X L i m i t , X E x T i m e , T S cost 20 bytes each.
Table 2 shows the communication cost of our scheme.
Next, we show the comparison of security features of our scheme with other schemes in Table 3.

6. Conclusions

In this paper, we investigate the scheme introduced by Luo et al. at Computers and Electrical Engineering in 2016. We found some security flaws and weakness of the scheme. In addition, we introduce a new EMV-compatible NFC-based anonymous payment scheme. The important feature of the new scheme is the user needs only a low-entropy password shared with a bank in advance instead of a high-entropy secret key or a cumbersome public/private key pair. The new scheme provides many privacy preserving properties such as anonymity, untraceability and is suitable for mobile payments of users.

Funding

This research was supported by the Ministry of Science and Technology, Taiwan (ROC), under Project Numbers MOST 106-3114-E-004-002, MOST 105-2221-E-004-001-MY3 and MOST 106-3114-E-011-003.

Conflicts of Interest

The author declares no conflict of interest.

References

  1. Carr, M. Mobile Payment Systems and Services: An Introduction. 2007. Available online: http://www.mpf.org.in/docs/02/Mobile%20Payment%20Systems%20an%20Services.pdf (accessed on 8 August 2018).
  2. Chen, Y.; Chou, J.; Sun, H.; Cho, M. A novel electronic cash system with trustee-based anonymity revocation from pairing. Electron. Commer. Res. Appl. 2011, 10, 673–682. [Google Scholar] [CrossRef]
  3. Fan, C.; Huang, V. Provably secure integrated on/off-line electronic cash for flexible and efficient payment. IEEE Trans. Syst. Man. Cybern. Part C Appl. Rev. 2010, 40, 567–579. [Google Scholar] [CrossRef]
  4. Ruiter, J.D.; Poll, E. Formal analysis of the EMV protocol suite. In Proceedings of the Theory of Security and Applications (TOSCA 2011), Saarbrücken, Germany, 31 March–1 April 2011; pp. 113–129. [Google Scholar]
  5. Chen, W.; Hancke, G.; Mayes, K.; Lien, Y.; Chiu, J. NFC mobile transactions and authentication based on GSM network. In Proceedings of the 2010 Second International Workshop on Near Field Communication (NFC), Monaco, Monaco, 20–20 April 2010; pp. 83–89. [Google Scholar]
  6. Chen, W.; Hancke, G.; Mayes, K.; Lien, Y.; Chiu, J. Using 3G network components to enable NFC mobile transactions and authentication. In Proceedings of the IEEE International Conference on Progress in Informatics and Computing (PIC), Shanghai, China, 10–12 December 2010; pp. 441–448. [Google Scholar]
  7. Hassinen, M.; Hypponen, K.; Trichina, F. Utilizing national public-key infrastructure in mobile payment systems. Electron. Commer. Res. Appl. 2008, 7, 214–231. [Google Scholar] [CrossRef]
  8. Kabir, Z. User Centric Design of an NFC Mobile Wallet Framework. Master’s Thesis, The Royal Institute of Technology (KTH), Stockholm, Sweden, 2011. [Google Scholar]
  9. Kungpisdan, S.; Srinivasan, B.; Le, P. A secure account-based mobile payment protocol. In Proceedings of the International Conference on Information Technology: Coding and Computing, Las Vegas, NV, USA, 5–7 April 2004; pp. 35–39. [Google Scholar]
  10. Yang, J.H.; Lin, P.Y. A mobile payment mechanism with anonymity for cloud computing. J. Syst. Softw. 2016, 116, 69–74. [Google Scholar] [CrossRef]
  11. Toorani, M.; Beheshti, A. SSMS-a secure SMS messaging protocol for the m-payment systems. In Proceedings of the IEEE Symposium on Computers and Communications, ISCC, Marrakech, Morocco, 6–9 July 2008; pp. 700–705. [Google Scholar]
  12. Molloy, I.; Li, J.; Li, N. Dynamic Virtual Credit Card Numbers. In Proceedings of the 11th International Conference on Financial Cryptography and 1st International Conference on Usable Security, Scarborough, Trinidad and Tobago, 12–16 February 2007; Springer: Berlin, Germany, 2007; pp. 208–223. [Google Scholar]
  13. Martínez-Peláez, R.; Rico-Novella, F.; Satizábal, C. Mobile payment protocol for micropayments: Withdrawal and payment anonymous. In Proceedings of the New Technologies, Mobility and Security, NTMS’08, Tangier, Morocco, 5–7 November 2008; pp. 1–5. [Google Scholar]
  14. Liao, H. Cross-domain anonymous online payment protocol. J. Electron. Commer. 2007, 9, 779–799. (In Chinese) [Google Scholar]
  15. Haselsteiner, E.; Breitfuβ, K. Security in near field communication (NFC). In Proceedings of the RFIDSec’06 on RFID Security, Graz, Austria, 12–14 July 2006; pp. 12–14. [Google Scholar]
  16. NFC. Available online: https://zh.wikipedia.org/wiki/%E8%BF%91%E5%A0%B4%E9%80%9A%E8%A8%8A (accessed on 1 May 2016).
  17. NFC Comparison Table. Available online: http://blog.mtkfan.com/?p=86 (accessed on 1 August 2016).
  18. Cheng, H.C.; Chen, J.W.; Chi, T.Y.; Chen, P.H. A generic model for NFC-based mobile commerce. In Proceedings of the 11th International Conference on Advanced Communication Technology, Gangwon-Do, Korea, 15–18 February 2009; pp. 2009–2014. [Google Scholar]
  19. Noh, S.K.; Choi, D.Y.; Kim, H.G.; Seo, D.K.K.J.H.; Kim, J.W.; Cha, B.R. Proposed of micropayment and credit card model using NFC technology in mobile evironment. Int. J. Multimed. Ubiquitous Eng. 2013, 8, 295–305. [Google Scholar]
  20. Noh, S.K.; Lee, S.K.; Choi, D. Proposed m-payment system using near-field communication and based on WSN-enabled location-based services for m-commerce. Int. J. Distrib. Sens. Netw. 2014, 10, 856172. [Google Scholar] [CrossRef]
  21. Steffens, E.-J.; Nennker, A.; Ren, Z.; Yin, M.; Schneider, L. The SIM-based mobile wallet. In Proceedings of the 13th International Conference on Intelligence in Next Generation Networks (ICIN), Bordeaux, France, 26–29 October 2009; pp. 1–6. [Google Scholar]
  22. Apple Inc. Apple Pay. Available online: https://www.apple.com/apple-pav/ (accessed on 12 December 2017).
  23. Microsoft Corp. Trusted Platform Module (TPM) Virtual Smart Card Management Protocol Specification. Available online: http://msdn.microsoft.com/en-us/library/hh880895(prot.20).aspx (accessed on 24 December 2017).
  24. Google Corp. Google Wallet. Available online: http://www.google.com/wallet/ (accessed on 12 March 2017).
  25. HCE. Available online: https://en.wikipedia.org/wiki/Host$_$card$_$emulation (accessed on 6 June 2017).
  26. Mainetti, L.; Patrono, L.; Vergallo, R. IDA-Pay: An innovative micro-payment system based on NFC technology for android mobile devices. In Proceedings of the 20th International Conference on Software, Telecommunications and Computer Networks (SoftCOM), Split, Croatia, 11–13 September 2012; pp. 1–6. [Google Scholar]
  27. Paillés, J.C.; Gaber, C.; Alimi, V.; Pasquet, M. Payment and privacy: a key for the development of NFC mobile. In Proceedings of the 2010 International Symposium on Collaborative Technologies and Systems (CTS), Chicago, IL, USA, 17–21 May 2010; pp. 378–385. [Google Scholar]
  28. Pasquet, M.; Reynaud, J.; Rosenberger, C. Secure payment with NFC mobile phone in the smart touch project. In Proceedings of the International Symposium on Collaborative Technologies and Systems (CTS), Irvine, CA, USA, 19–23 May 2008; pp. 121–126. [Google Scholar]
  29. Urien, P.; Piramuthu, S. Securing NFC mobile services with cloud of secure elements (CoSE). In Proceedings of the 5th International Conference on Mobile Computing, Applications and Services (MobiCASE), Paris, France, 7–8 November 2013; pp. 322–331. [Google Scholar]
  30. Luo, J.N.; Yang, M.H.; Huang, S.Y. An unlinkable anonymous payment scheme based on near field communication. Comput. Electr. Eng. 2016, 49, 198–206. [Google Scholar] [CrossRef]
  31. Lee, H.; Kim, J.; Jung, J.; Lee, Y.; Won, D. An enhanced unlinkable anonymous payment scheme based on near field communication. In Proceedings of the 11th International Conference on Ubiquitous Information Management and Communication, Beppu, Japan, 5–7 January 2017; p. 38. [Google Scholar]
  32. EMV. Available online: https://zh.wikipedia.org/wiki/EMV (accessed on 6 June 2017).
  33. EMVCo. Available online: https://www.emvco.com/ (accessed on 6 June 2017).
  34. EMVCo Tokenization. Available online: https://www.emvco.com/specifications.aspx?id=263 (accessed on 6 June 2017).
  35. Diffie, W.; Hellman, M.E. New directions in cryptography. IEEE Trans. Inf. Theory 1976, 2, 644–654. Available online: https://en.wikipedia.org/wiki/Diffie-Hellman$_$key$_$exchange (accessed on 8 August 2018). [CrossRef]
  36. Abdalla, M.; Pointcheval, D. Simple password-based encrypted key exchange protocols. In Proceedings of the CT-RSA’05 2005 international conference on Topics in Cryptology, San Francisco, CA, USA, 14–18 February 2005; Volume 3376, pp. 191–208. [Google Scholar]
  37. Digital Signature Standard (DSS); National Institute of Standards and Technology: Gaithersburg, MA, USA, 2013.
Figure 1. Anonymous Virtual Bank Account Generation Phase.
Figure 1. Anonymous Virtual Bank Account Generation Phase.
Symmetry 10 00685 g001
Figure 2. Anonymous Transaction Account Generation Phase.
Figure 2. Anonymous Transaction Account Generation Phase.
Symmetry 10 00685 g002
Figure 3. Issuing of Virtual Credit Card Phase.
Figure 3. Issuing of Virtual Credit Card Phase.
Symmetry 10 00685 g003
Figure 4. Communication Flaw of the Proposed Scheme.
Figure 4. Communication Flaw of the Proposed Scheme.
Symmetry 10 00685 g004
Table 1. Notations.
Table 1. Notations.
NotationsDescription
I D a The identifier of entity a
A I D i Anonymous virtual account identifier for user i
T I D i Anonymous virtual transaction account identifier of i
P W The shared password between user and the bank
P K a , S K a Public and private key pair of entity a
P S K B , T S M A secure and pre-shared key between Bank and TSM
V A - r e q u e s t Virtual account registration request
V T A - r e q u e s t Virtual transaction account registration request
U p d a t e - r e q u e s t Virtual credit card update request
X _ E x T i m e Expiry time of x’s certificate
X _ L i m i t Credit limit of account X
C r e d i t _ I n f o Corresponding information of a virtual credit card
T S M _ I n f o Payment information for TSM
N j j-th random number equals to N j - 1 + 1
T i c k e t B , T S M A ticket for accessing TSM generated by the bank
H ( ) A cryptographic one-way hash function
E k ( m ) Encryption of message m with key k
S i g S K a Signature of entity a on the message m
x y Concatenation of messages x and y
T S Time stamp
Table 2. Communication Cost of the Proposed Scheme.
Table 2. Communication Cost of the Proposed Scheme.
StageLength in Byte
Virtual Account Application
U B a n k : ( I D U , V A - r e q u e s t , T , C ) 20 + 20 + 128 + 256 = 424
B a n k U : ( I D B , C B ) 20 + 132 = 152
Virtual Transaction Account Application
I D U I D T S M : ( I D B , T i c k e t B , T S M , C T S M ) 20 + 112 + 316 = 448
I D T S M I D U : ( T S M _ I n f o ) 20 * 5 + 83 + 20 + 40 = 243
Virtual Credit Card and/or Updating
I D U I D T S M : ( T I D U , C r e q ) 20 + 464 = 484
I D T S M I D U : ( I D T S M , C r p y ) 20 + 223 = 243
Table 3. Comparison of Features.
Table 3. Comparison of Features.
pw -BasedAnonymityUntraceabilityEMV-Compatible
[2]XXXX
[5]XXXX
[6]XXXX
[30]XOXO
[13]XOOX
[20]XXXX
[29]XXXO
Proposed SchemeOOOO

Share and Cite

MDPI and ACS Style

Tso, R. Untraceable and Anonymous Mobile Payment Scheme Based on Near Field Communication. Symmetry 2018, 10, 685. https://doi.org/10.3390/sym10120685

AMA Style

Tso R. Untraceable and Anonymous Mobile Payment Scheme Based on Near Field Communication. Symmetry. 2018; 10(12):685. https://doi.org/10.3390/sym10120685

Chicago/Turabian Style

Tso, Raylin. 2018. "Untraceable and Anonymous Mobile Payment Scheme Based on Near Field Communication" Symmetry 10, no. 12: 685. https://doi.org/10.3390/sym10120685

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop