Secure Payment Device using NFC
CAREER EPISODE – 3
Â
3.1 INTRODUCTION
In my last semester, i.e. 8th semester, I made a project called ‘Secure Payment Device using NFC’. My last career episode is about this project. I completed this project in six months’ duration from Jan 2013 to May 2013. I completed my Bachelor’s Degree in Electronics and Communication in June 2013. I pursued this program from Guru Nanak Dev University, Gurdaspur, India. The project ‘secure payment device using NFC’ was completed in a group and I was assigned the group leader. Also, it was performed under the supervision of Prof. Rana.
3.2 BACKGROUND
NFC – Near Field Communication, it is a wireless communication technology. NFC and mobile payments are the two fields which are gaining attention in the society lately. Mostly all mobile phone has this NFC technology, and more to come in near future. Using NFC, if the payments are made possible, it will attract more masses. The project concentrates on how this technology can be used for mobile payments. It stores the credit card or debit card number on the phone i.e. the digital money and uses NFC reader to detect the card number and send it to the server for authentication. For this purpose, I had prepared a dummy database bank system and uploaded it on the server side.
3.3 OBJECTIVES
The objective behind implementing this project was to overcome the problems related to payment. People tend to forget their wallet and debit/credit card, or there occurs a problem of security if the card is lost. So, to overcome this issue I designed a NFC based payment method, which replaces the regular money cards. The user’s mobile system become the mode of payment transaction. This solves the issue of security also and the person always has a mode of payment in his phone. Also, NFC is the new and useful technology, which got me interested in its various forms of application.
3.4
In this device, NFC for requesting on client end and sending card number, POS (Point of Sales) Terminal for client end for receiving data and processing the transaction, Website for registration, account details etc., Web service which is used for authentication and Database for loading and saving user’s details are required. Various new technology and software are used in designing of this device. The POS terminal is NFC reader interfaced with Arduino, from Arduino the program code is sent to APDU commands on phone to verify the AID of the application. Eclipse software is used to write application for NFC Enabled Phone to send card number and password that is stored in the phone. Computer languages like C#, ASP.NET are used to write the code for website and webserver. And SQL is used for database technology.
3.5
The idea behind this project is that the user just touches his phone to NFC reader when the payment is need to be made, and the phone will act as the credit card or debit card that the user previously used to use. A mobile payment enabled phone is associated with the bank or the credit card company, in a similar way the phone is associated to phone service provider. For my project a dummy system and bank with some random database is made to use which assigns a card number and authenticates the user the permission required at the time of payment.
3.6
The project was performed in a group, and being a group leader I had many responsibilities and duties that I had to perform perfectly and had to maintain professional rules of conduct. The duties are listed below:
- To start with, I had to understand the problem statement assigned to me and survey and research relevant and related topics for possible solutions.
- After having the solution, I mapped a work plan.
- Based on the work plan, I divided the whole project into small task and assigned each team member the task based on team member’s ability. Also, I gave a strict deadline.
- I involved myself in the design procedure of the block diagram for this device based on my research work.
- I studied and compared all the components and came up with a final set of components.
- Using my planned circuit diagram and the component list, I started to plot the hardware model.
- I learned new software’ for the implementation of the programming codes in my device.
- Testing and troubleshooting was performed.
- Regular reports on updates of my project was given to the project guide.
3.7 PERSONAL ENGINEERING ACTIVITY
Based on my literature survey, I made a block diagram for my device. For my project, I have used Roboduino with ATmega328, which is Arduino compatible board. I chose this microcontroller due to its simplicity in programming. To display a message at the POS terminal, I used LCD and interfaced it with Arduino. The NFC reader is interfaced with Arduino in SPI mode. I have made use of PN532 NFC IC which prepares NFC reader by matching 13.56MHz frequency with the antenna. The data that is scanned by NFC reader is passed to the computer and further sent to web server for authentication. The web server’s code that is written in visual studio will verify the data that is sent to the web service URL. The URL is already hosted. It will then send a notification stating the success or failure of the data and that will be displayed on the LCD.
3.8
To use this system, it involves three parties – buyer, bank, and the merchant. The process involves tapping the buyers phone on the reader at the point of sales (POS). Once the AID is selected from the android side, it will return the card number and PIN to the reader. As per the ISO 7816-4 standard, these values received are transferred in HEX code. On the PC terminal, this HEX code is converted into string by serial client. The bank receives the card no and PIN for verification purpose. On receiving the reply, the LCD will display true or false and it will notify the buyer about his or her transaction.
3.9
For the function of the system, I used the following components to suit my requirement.
- PN532 – it is a highly-integrated transmission module which is used for contactless communication at 13.56MHz and it also supports microcontroller functionality based on 80C51 core.
- Arduino Duemilanove, LCD 16×2, Resistors, Capacitors, LED, MOSFET, Inductor and Crystal
With the help of these components I prepared a circuit diagram using a software called Eclipse. The reader’s circuit diagram differs than others because it moves from one host interface to other and the SPI interface uses MOSI. PN532 supports three modes. The interfacing is done for the LCD and NFC shield with the Roboduino. The NFC shield operates as SPI modes while interfacing, so 4 pins – MOSI, MISO, SS and SCK are interfaced to the Arduino pins.
3.10
Once my hardware part was completed and the components were soldered to the PCB, I progressed my work with the development of the software part for my device. The software part was divided into two parts, one for the hardware functioning and the other part was designed to function the web application. To start with the implementation, I had to learn certain programming software, as they were new for me. The four software’ that are used in my device are – Arduino IDE used for programming Arduino Uno board with C++ language, Microsoft Visual Studio used for developing a serial client software, web application and web service with the use of C#, Eagle is used for PCB designing and schematic layout and Eclipse to develop android applications using Java code.
3.11
For receiving data on COM port and for the verification purpose of the user, a software i.e. serial client is developed with the help of C#.Net. A random website is developed for the registration and processing the NFC payment purpose, editing details of the user, adding money etc. A tap & pay app based on android is prepared for NFC shield to communicate and transfer the required card details to serial port. The serial client performs all further procedure. After the completion of the software designing, the project was run on the trial basis to check its working and for any faulty situation. Various troubleshooting and test kits were used to solve any issue in the device. All the connections were checked at the final stage to avoid short circuit situation of the PCB.
3.12
Working in teams is also a challenging situation. And as I was the group leader, I had to present the complete working model of my project on time. I coordinated with each group member. I took a fair, unbiased, and appropriate decision in the state of conflict. I took help from my seniors and project supervisor in the crises of any error or problem. There were two major issues during my project, first was working on software’ as coming from electronics and communication background, it was difficult and challenge to write such big codes. I took the challenge and learned all possible solutions and techniques to write the code. The second issue was I had to reconnect some of the components as while performing a trial run, the microcontroller got burnt. I took precaution while correcting the issue so that I don’t make the same mistake again.
3.13 SUMMARY
Therefore, after performing and developing such endless device, I have proposed a trusted and secure option for payment method which is based on NFC. It processes payment without the need of physical card, the mobile does all the work by just tapping it at the reader. Once the user’s details are verified, the payment is processed and executed successfully. I have kept the window open for expanding my project in future. The details can be encrypted before transferring it from the phone to the POS, thus keeping it more safe and secure. It can be used anywhere, from shopping at small shops to malls, as well as an access system for the door or for buying tickets at railway or bus stations.
3.14
The project was a big step in my bachelor’s degree. It involved serious knowledge and full dedication. I learned and developed new technologies and software’ that are related to my electronics and communication field. I used my engineering knowledge at various point during the execution and implementation of the project. I was grateful to my project guide for constantly helping me and training me to develop such device. I made a presentation and report describing the details of my project. I referenced various work of great researchers and scientist wherever needed.