Untraceable and Anonymous Mobile Payment Scheme Based on Near Field Communication
Abstract
:1. Introduction
1.1. Related Works
1.2. Motivation
1.3. Our Contributions
- 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 () shared with a bank (card issuer). The will then be used for user-authentication and for securing communication.
- 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
2. Preliminaries and Luo et al.’s Scheme Revisited
2.1. Security Assumptions
2.2. Luo et al.’s Scheme Revisited
2.2.1. Registration Stage
2.2.2. Anonymous Virtual Bank Account Generation Stage
- The user sends to the bank. Here is a nonce, denotes the signature on message M signed by the signing key , and 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 and a nonce . The bank then sends back back to the user.
- The user receives and stores into the SE.
- The SE generates a key pair corresponding to . is stored in the SE and the SE returns to the user.
- The user sends to the bank.
- The bank decrypts the message and gets . It will then create a certificate corresponding to . The bank then returns to user. Here is the expiry time of and is the credit limit of .
- The user sends the ciphertext to the SE. SE retrieves the shared key and the certificate .
2.2.3. Anonymous Transaction Account Generation Stage
- The user generates virtual transaction account and a key pair . He/she then signs with and encrypts it with . Then the user sends the ciphertext to TSM.
- After decrypts the message, TSM establishes a session key and returns to the user.
- The user requests identifiers and nonce to the SE.
- The SE generates the payment message and send it with to user. Here .
- The user generates transaction message and encrypts and with . That is, user sends to TSM.
- After decrypted , TSM will generate the authentication message and sends 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 to TSM.
- After receiving the returned message, TSM verifies that is authorized to access the service and TSM will send to the user.
2.2.4. Issuing of Virtual Credit Card Stage
- The user sends a request to the SE with anonymous transaction identifier .
- The SE generates a new public/private key pair corresponding to and sends to user.
- The user sends the encrypted message by key to TSM.
- After receiving the request, TSM will issue a new virtual credit card and generate a new certification , and sends the encrypted message 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
3. Proposed Scheme
- 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.
3.1. Initialization
- The user U is assumed to have a physical bank account and a password shared with the bank (for authentication). The 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).
- TSM has its own public/private key pair . More precisely, where is a large prime, is a generator of a multiplicative group of order and . . In addition, TSM holds a high-entropy secret key shared with the bank.
- The same as TSM, the bank has its own public/private key pair . More precisely, where is a large prime, is a generator of a multiplicative group of order and . . In addition, the bank holds a high-entropy secret key shared with TSM.
3.2. Virtual Account Application
- 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 , use and bank’s public key to compute .
- Pick , use TSM’s public key and compute .
- Create a virtual account identifier , compute , and where is a nonce and is a time stamp.
- Compute .
- Send to the bank as request for virtual account registration.
- In this stage, the bank authenticates the user via , generates a virtual credit card and a ticket for . The ticket is generated for later communication between the user and the TSM. Detail steps of banks are described as follows:
- Check the identity from its member-list and find the corresponding password . Reject and terminate if is not in the list.
- Use to compute and .
- Decrypt C by key k and recover .
- Compute and check the time stamp . Accept the if and is valid.
- Records in its database, determine the expiry time (i.e., ) and the credit limit (i.e., of the credit card going to be issued to .
- Use the symmetric key corresponding to and generate . Here is the signature of the bank on the message M.
- Generate a ciphertext by the session key k and get .
- Return and to the user.
- U: After receiving the returned information from the bank, the user U does the following computations:
- Decrypt , check the time stamp and the correctness of .
- Store and securely.
3.3. Virtual Transaction Account Application and Virtual Credit Card Issuance
- The user does the following steps:
- Compute the session key where and is the random number picked at step of the previous stage.
- Generate a virtual transaction account and compute .
- Use and generate the ciphertext .
- Sends to TSM.Note: The VTA-request is the request of registering U’s virtual transaction account to TSM.
- TSM does the following steps after receiving the information from U.
- Decrypt the using the symmetric key shared with the bank in advance. Accept the ticket if the signature from the bank is correct and the ticket is valid by checking the time stamp and the lifetime. Do the following steps if is accepted.
- Compute where and then decrypt by the key .
- Accept the if in is the same as that in and is correct.
- TSM does the following steps:
- Generate a virtual credit card and the corresponding information for .
- Determine the corresponding expiry time, , and credit balance, , where and .
- Generate the ciphertext where M includes the whole message in the ciphertext excluding the signature.
- Return the ciphertext to the user U.
- .The user does the following steps:
- Decrypt and verify the signature and the time stamp . Accept if it passed the verification.
- Store the necessary security information including the expiry date of , (i.e., ), the credit balance of (i.e., ), the information of the virtual credit card (i.e., ) and session key into the SE.
3.4. Virtual Credit Card and/or Virtual Transaction Account Updating
- .The user does the following steps:
- Pick a new random number and compute .
- (Optional) Generate a new virtual transaction account in case of applying for update the virtual transaction account.
- Compute and the ciphertext where is the session key generated at the previous stage and stored in the SE.
- Send to TSM
Note: is optional in this step. - TSM does the following steps after receiving the request.
- Decrypt the ciphertext by the session key shared with .
- Accept the request if is valid. Continue the following step if accepted.
- Create a new virtual credit card and the corresponding information . Alternatively, if presented (i.e., user has also requested to change a new virtual transaction account ), change by .
- Compute the new session key .
- Sign and encrypt where if the virtual transaction account changed to . Otherwise, . The resulted ciphertext is .
- Return to the user.
- The user does the following steps:
- Compute the new session key and use it to decrypt .
- Accept if the signature is valid.
- Stores the necessary security parameters including new virtual credit card info, , new session key, , new expiry time, , and new credit balance, , to the SE.
4. Security Analysis
4.1. Confidentiality
4.2. Anonymity and Untraceability
4.3. Integrity and Unforgeability
5. Performance and Comparison of Security Features
- A request message (i.e., ) 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 has 112 bytes (i.e., ).
- A 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 cost 20 bytes each.
6. Conclusions
Funding
Conflicts of Interest
References
- 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).
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Liao, H. Cross-domain anonymous online payment protocol. J. Electron. Commer. 2007, 9, 779–799. (In Chinese) [Google Scholar]
- 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]
- 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).
- NFC Comparison Table. Available online: http://blog.mtkfan.com/?p=86 (accessed on 1 August 2016).
- 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]
- 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]
- 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]
- 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]
- Apple Inc. Apple Pay. Available online: https://www.apple.com/apple-pav/ (accessed on 12 December 2017).
- 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).
- Google Corp. Google Wallet. Available online: http://www.google.com/wallet/ (accessed on 12 March 2017).
- HCE. Available online: https://en.wikipedia.org/wiki/Host$_$card$_$emulation (accessed on 6 June 2017).
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- EMV. Available online: https://zh.wikipedia.org/wiki/EMV (accessed on 6 June 2017).
- EMVCo. Available online: https://www.emvco.com/ (accessed on 6 June 2017).
- EMVCo Tokenization. Available online: https://www.emvco.com/specifications.aspx?id=263 (accessed on 6 June 2017).
- 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]
- 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]
- Digital Signature Standard (DSS); National Institute of Standards and Technology: Gaithersburg, MA, USA, 2013.
Notations | Description |
---|---|
The identifier of entity a | |
Anonymous virtual account identifier for user i | |
Anonymous virtual transaction account identifier of i | |
The shared password between user and the bank | |
, | Public and private key pair of entity a |
A secure and pre-shared key between Bank and TSM | |
Virtual account registration request | |
Virtual transaction account registration request | |
Virtual credit card update request | |
Expiry time of x’s certificate | |
Credit limit of account X | |
Corresponding information of a virtual credit card | |
Payment information for TSM | |
j-th random number equals to | |
A ticket for accessing TSM generated by the bank | |
A cryptographic one-way hash function | |
Encryption of message m with key k | |
Signature of entity a on the message m | |
Concatenation of messages x and y | |
Time stamp |
Stage | Length in Byte |
---|---|
Virtual Account Application | |
Virtual Transaction Account Application | |
Virtual Credit Card and/or Updating | |
© 2018 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Tso, R. Untraceable and Anonymous Mobile Payment Scheme Based on Near Field Communication. Symmetry 2018, 10, 685. https://doi.org/10.3390/sym10120685
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 StyleTso, Raylin. 2018. "Untraceable and Anonymous Mobile Payment Scheme Based on Near Field Communication" Symmetry 10, no. 12: 685. https://doi.org/10.3390/sym10120685
APA StyleTso, R. (2018). Untraceable and Anonymous Mobile Payment Scheme Based on Near Field Communication. Symmetry, 10(12), 685. https://doi.org/10.3390/sym10120685