Virtual Shuffling of Keypad for Electronic Gadgets 1.INTRODUCTION The purpose of this project is to implement the novel idea which can be used to design the keypad access system whose key arrangements will get change every time when we use the keypad. Nowadays, in ATM there are more chances of password being recognized by the people standing behind us or sometimes they intentionally note our password and try to guess it. In ATM whenever we want to withdraw the money we have to enter the pin code and get access to our account. But people behind us intentionally observe our finger movements and try to guess the password, only thing they have to do is pick pocketing and snatch the ATM card. Already they have guessed the finger movements and they will try with this pin code and get the money. Here we need a novel security access system which provides better security for the ATM access systems. Our idea is to implement the shuffling keypad whose keypad arrangements will get change every time when we use it. Every time we use the keypad next time we get the different layout. In today’s world all keypad based access authentication system there are chances of password being overseen by any third persons who are standing near us. Low lying persons can Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.1
111
Embed
Shuffling of keypad for securing electronic gadgets
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Virtual Shuffling of Keypad for Electronic Gadgets
1. INTRODUCTION
The purpose of this project is to implement the novel idea which can be used to
design the keypad access system whose key arrangements will get change every time when
we use the keypad. Nowadays, in ATM there are more chances of password being recognized
by the people standing behind us or sometimes they intentionally note our password and try
to guess it. In ATM whenever we want to withdraw the money we have to enter the pin code
and get access to our account. But people behind us intentionally observe our finger
movements and try to guess the password, only thing they have to do is pick pocketing and
snatch the ATM card. Already they have guessed the finger movements and they will try
with this pin code and get the money.
Here we need a novel security access system which provides better security for the
ATM access systems. Our idea is to implement the shuffling keypad whose keypad
arrangements will get change every time when we use it. Every time we use the keypad next
time we get the different layout.
In today’s world all keypad based access authentication system there are chances of
password being overseen by any third persons who are standing near us. Low lying persons
can purposely note our finger movements on the keypad and try to guess the password.
Especially in ATM counter whenever we want to withdraw money we have to enter pin and
then get access to our account. But if someone sees how we are entering the password they
can make out our pin then only thing is they have to get our ATM card for that they can do
pick pocketing or they can assault us and snatch the ATM card now as already they have
finger movements of ours in the mind they can enter our pin and withdraw the money. This
problem was also described in Bangalore mirror news paper of 5th September 2011. Even by
using various chemical agents, such as phenolphthalein and fluorescent light theft is easily
possible.
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.1
Virtual Shuffling of Keypad for Electronic Gadgets
Not only in ATM, we are using keypads at many places and our own finger
movements are putting our security at risk, for this problem we have come up with an
innovative solution of shuffling keypad which will confuse the culprits and they would not be
able to detect the password from our finger movements on the keypad. Our idea is to
implement a shuffling keypad whose key arrangement will change after every use, even if in
last use the password was not accepted. Every time we use the keypad next time we will get
different layout.
Figure 1.1: Shuffling keypad layout
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.2
Virtual Shuffling of Keypad for Electronic Gadgets
1.1 Objective:
Security playing an important role in present world and everybody want to be safe in
life. Here the main objective of our project is to design a novel keypad access system whose
keypad arrangement will change after every use. Every time when we make the use of the
keypad next time the keypad arrangement will get shuffle and we will get different layout of
keypad.
1.2 Motivation:
In present world we are using keypads at many places and our own finger movements
are putting our security at risk, for this problem we have come up with an innovative solution
of shuffling keypad which will confuse the culprits and they would not be able to detect the
password from our finger movements on the keypad.
Our idea is to implement a shuffling keypad whose key arrangement will change after
every use, even if in last use the password was not accepted. Every time we use the keypad
next time we will get different layout.
1.3 Problem Statement:
In ATM there are more chances of password being recognized by the people standing
behind us or sometimes they intentionally note our password and try to guess it. This leads to
theft of money. What method can be used to prevent from it?
1.4 Solution to the Problem:
By using virtual shuffling keypad we can secure the password used in ATM or any
other electronic gadgets. After every transaction the keypad gets shuffled and this leads to
more secure authentication.
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.3
Virtual Shuffling of Keypad for Electronic Gadgets
1.5 Methodology:
The waterfall model is a sequential design process, often used in software
development process, in which progress is seen as flowing steadily downwards. The design
and development of our project work is done with the help of following procedures:
1. Requirements
2. Design
3. Construction
4. Coding & Testing
5. Implementation
Figure1.2: Waterfall model
The virtual shuffling of keypad is mainly designed either on resistive touch screen or
mechanical key pad. A graphical LCD is provided to the user which uses in order to enter the
password for their required purposes. After the user enters the password, the keypad
available to it changes automatically and a new modified keypad is now available to the
second user. The user enters the password with the help of keypad on the touch screen; the
main system recognizes it and then changes the whole matrix of the keypad with the help of
micro-controllers which will be now active for the next user.
The purpose of using waterfall development is that it allows for departmentalization
and managerial control. Development moves from concept through design, implementation,
testing, installation, troubleshooting, and ends up at operation and maintenance.
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.4
Virtual Shuffling of Keypad for Electronic Gadgets
2. LITERATURE SURVEY
A touch screen is an electronic visual display that can detect the presence and location
of a touch within the display area. Thus this technology is widely used all over the world in
many areas such as ATM’s, Bank lockers etc for security purposes. But this touch screen
technology used for security also has some loop holes. So in order to overcome this
drawback, we will use the shuffling of the keypad after every use by the user. Here are some
of the technologies which are helpful for the security.
Resistive Touch Screen Technology
Here we describe a new interface system for a fast resistive X-Y 4-wire touch screen.
The system enables the determination of both X-Y position and the touch-point resistance.
The interface uses advanced measurement techniques, including three-signal auto-calibration,
synchronous detection and two-port measurement. The interface electronics has been
designed to interface between the touch-screen sensor and a PC, using the Universal Serial
Bus (USB) protocol. The X-Y position interface uses a very linear relaxation oscillator,
which converts X-Y position and touch-point resistance signals to a period-modulated signal.
A microcontroller is used to read out the modulated signal, to control the switches
and to send the information to the USB interface device. The USB interface device is used to
communicate between the microcontrollers with any device with USB protocol, such as a
PC. A phase-locked-loop is included in the USB interface to multiply from 6 MHz to 48
MHz, for the USB communication.[1]
Capacitive Touch Screen Technology
This is a highly area-efficient controller for capacitive touch screen panels (TSPs)
being proposed. The proposed controller uses a 10-bit successive approximation register
analog-to-digital converter (SAR ADC) with an adder to compensate for the capacitance
variation in the TSP and for the offset voltage variation in the charge amplifier of the sensing
circuit. By using the proposed compensation method, the area of the controller can be
These are serial chips on our PC motherboard (or on an internal modem card). The
USART function may also be done on a chip that does other things as well. On older
computers like many 486's, the chips were on the disk IO controller card. Still older
computers have dedicated serial boards. The USARTs purpose is to convert bytes from the
PC's parallel bus to a serial bit-stream. The cable going out of the serial port is serial and has
only one wire for each direction of flow. The serial port sends out a stream of bits, one bit at
a time. Conversely, the bit stream that enters the serial port via the external cable is converted
to parallel bytes that the computer can understand. USARTs deal with data in byte-sized
pieces, which is conveniently also the size of ASCII character.[3]
“BANGALORE MIRROR” paper showing ATM hacking
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.6
Virtual Shuffling of Keypad for Electronic Gadgets
3. SYSTEM DESIGN
Shuffling Keypad Design 1 using Graphics LCD and Matrix keypad:
To implement our idea, we have designed the shuffling keypad using Graphics LCD
which is the heart of the project.
Figure 3.1: Implementation of Shuffling keypad using switch Matrix and Graphics LCD
DESCRIPTION
Graphic LCD is 128X64 pixel, each pixel is programmable so we can make image of layout
of keys as discussed earlier in introduction.
MICROCONTROLLER: We are using P89V51RD2 as our core microcontroller which
controls all the other components including keypad and graphics LCD this microcontroller is
based on 8051 but with extended memory and peripherals
Mechanism: To demonstrate the security feature we have implemented relay control system to give demo of lock/door open and close to show whether the password is correct or not.
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.7
Activation Mechanism
(Magnetic locks (ATM), Stepper
Motor, Solenoid)
Graphics LCD
to
Display Keypad
Switch based Key Matrix
NXP P89V51RD2 MCU
Virtual Shuffling of Keypad for Electronic Gadgets
Matrix Keypad: This is 4X4 matrix switch based keypad with 16 keys, we have
implemented row column scan routine to detect which key is pressed
As in above implementation it’s seen that switches are kept separately and virtual
keypad is realized on Graphics LCD. Sometimes this can be little inconvenient, as key
correlation has to be done and corresponding switch has to be pressed after seeing the
display.
Shuffling Keypad Design 2 using touch screen instead of switches
Instead of putting switches separately, we have also designed a touch screen based
system. This touch screen output will be used as switch press action. For this we have
implemented a separate touch screen controller which can give UART output of touch
position.
Figure 3.2: Implementation of shuffling keypad using Touch screen and Graphic LCD
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.8
NXP P89V51RD2 MCU
Activation Mechanism
(Magnetic locks (ATM), Stepper
Motor, Solenoid)
Graphics LCD
to
Display Keypad
Touch screen overlaid on LCD Graphics LCD
to
Display Keypad
Touch Screen Controller
General Purpose MCU
Resistive Touch ScreenSwitch/
Multiplexer
ADC
Virtual Shuffling of Keypad for Electronic Gadgets
As touch screen is passive device it cannot give position of touch, for this we have
build a touch screen controller which will interface with touch screen and provide us UART
output of the touch data, that provides us the position of the touch.
The design of touch screen controller is given in below figure which can be realized
by discrete components or single but equipped microcontroller.
Details of Touch screen Controller for shuffling Keypad
Figure 3.3: Touch Screen Controller Design
If MCU is having port switching capability and inbuilt ADC then two blocks in above
figure 3.3 will be inside the MCU and can be controlled via software.
We can even use I2C based ADC so that we can use low pin count MCU to save
space and cost.
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.9
Virtual Shuffling of Keypad for Electronic Gadgets
4. HARDWARE REQUIREMENT
4.1 MICROCONTROLLER (P89V51RD2)
Computer in its simplest form needs at least 3 basic blocks: CPU, I/O and the
RAM/ROM. The integrated form of CPU is the microprocessor. As the use of
microprocessors in control applications increased, development of microcontroller unit or
MCU took shape, wherein CPU, I/O and some limited memory on a single chip was
fabricated. Intention was to reduce the chip count as much as possible. We decided to use
P89V51RD2 microcontroller.
The P89V51RD2 are 80C51 microcontrollers with 64 KB flash and 1024 B of data
RAM. A key feature of the P89V51RD2 is its X2 mode option. The design engineer can
choose to run the application with the conventional 80C51 clock rate (12 clocks per machine
cycle) or select the X2 mode (six clocks per machine cycle) to achieve twice the throughput
at the same clock frequency. Another way to benefit from this feature is to keep the same
performance by reducing the clock frequency by half, thus dramatically reducing the EMI.
The flash program memory supports both parallel programming and in serial ISP.
Parallel programming mode offers gang-programming at high speed, reducing programming
costs and time to market. ISP allows a device to be reprogrammed in the end product under
software control. The capability to field/update the application firmware makes a wide range
of applications possible. The P89V51RD2 is also capable of IAP, allowing the flash program
memory to be reconfigured even while the application is running.
Figure 4.1: Microcontroller P89V51RD2
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.10
Virtual Shuffling of Keypad for Electronic Gadgets
4.1.1 Features:
1. 80C51 Central Processing Unit
2. 5 V Operating voltage from 0 to 40 MHz
3. 64 KB of on-chip Flash program memory with ISP (In-System Programming) and
IAPb (In-Application Programming)
4. SPI (Serial Peripheral Interface) and enhanced UART
5. Supports 12-clock (default) or 6-clock mode selection via software or ISP
6. Four 8-bit I/O ports with three high-current Port 1 pins
7. Three 16-bit timers/counters
8. Programmable Watchdog timer (WDT)
9. Eight interrupt sources with four priority levels
10. TTL- and CMOS-compatible logic levels
11. Brown-out detection
12. Low power mode
13. PDIP40, PLCC44 and TQFP44 packages
14. Low EMI mode (ALE inhibit)
15. Second DPTR register
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.11
Virtual Shuffling of Keypad for Electronic Gadgets
4.1.2 Block Diagram:
Figure 4.2: Block Diagram of P89V51RD2 Microcontroller
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.12
Virtual Shuffling of Keypad for Electronic Gadgets
4.1.3 Pin Diagram:
Figure 4.3: Pin Diagram of P89V51RD2 Microcontroller
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.13
Virtual Shuffling of Keypad for Electronic Gadgets
4.1.4 Pin description of P89CV51RXX:
Port-0: Port-0 is an 8-bit open drain bidirectional I/O port. Port-0 pins that have ‘1’s written
to them float, and in this state can be used as high-impedance inputs. Port-0 is also the
multiplexed low-order address and data bus during accesses to external code and data
memory. In this application, it uses strong internal pull-ups when transitioning to ‘1’s. Port-0
also receives the code bytes during the external host mode programming, and outputs the
code bytes during the external host mode verification. External pull-ups are required during
program verification or as a general purpose I/O port.
Port-1: Port-1 is an 8-bit bidirectional I/O port with internal pull-ups. The Port-1 pins are
pulled high by the internal pull-ups when ‘1’s are written to them and can be used as inputs
in this state. As inputs, Port-1 pins that are externally pulled LOW will source current (IIL)
because of the internal pull-ups. P1.5, P1.6, P1.7 have high current drive of 16 mA. Port-1
also receives the low-order address bytes during the external host mode programming and
verification.
Port-2: Port-2 is an 8-bit bidirectional I/O port with internal pull-ups. Port-2 pins are pulled
HIGH by the internal pull-ups when ‘1’s are written to them and can be used as inputs in this
state. As inputs, Port-2 pins that are externally pulled LOW will source current (IIL) because
of the internal pull-ups. Port-2 sends the high-order address byte during fetches from external
program memory and during accesses to external Data Memory that use 16-bit address
(MOVX@DPTR). In this application, it uses strong internal pull-ups when transitioning to
‘1’s. Port-2 also receives some control signals and a partial of high-order address bits during
the external host mode programming and verification.
Port-3: Port-3 is an 8-bit bidirectional I/O port with internal pull-ups. Port-3 pins are pulled
HIGH by the internal pull-ups when ‘1’s are written to them and can be used as inputs in this
state. As inputs, Port-3 pins that are externally pulled LOW will source current (IIL) because
of the internal pull-ups. Port-3 also receives some control signals and a partial of high-order
address bits during the external host mode programming and verification.
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.14
Virtual Shuffling of Keypad for Electronic Gadgets
PSEN: Program Store Enable is the read strobe for external program memory.
Reset: While the oscillator is running, a HIGH logic state on this pin for two machine cycles
will reset the device.
External Access Enable: EA must be connected to VSS in order to enable the device to
fetch code from the external program memory. EA must be strapped to VDD for internal
program execution.
Address Latch Enable: ALE is the output signal for latching the low byte of the address
during an access to external memory. This pin is also the programming pulse input (PROG)
for flash programming.
Crystal 1: Input to the inverting oscillator amplifier and input to the internal clock generator
circuits.
Crystal 2: Output from the inverting oscillator amplifier.
VCC: Supply voltage.
GND: Ground.
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.15
Virtual Shuffling of Keypad for Electronic Gadgets
The additional feature of Port3
Table 4.1: Additional feature of Port3
4.2 Graphic LCD
4.2.1 Introduction
JHD12864J is a light weight, low power consumption liquid crystal graphic display.
The module measures 54.0x50.0mm only. Supply voltage is 5V matching the voltage for
most microcontrollers. The LCD controller is Samsung KS0108B.
Figure 4.4: Graphic LCD
Unlike most character-based LCDs which use 4-bit data bus, JHD12864J module uses
8-bit data bus (DB0 – DB7). Nevertheless, it is a straight forward module comparing to other
LCD series like T6963C1. JHD12864J is split logically in half with controller #1 (CS1)
driving the left half of the display, and controller #2 (CS2) driving the right half. Each
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.16
Virtual Shuffling of Keypad for Electronic Gadgets
controller must be addressed independently. The page addresses, 0-7, specify one of the 8
horizontal pages which are 8 bits (1 byte) high. A drawing of the display and how it is
mapped to the refresh memory is shown below.
Figure 4.5: Map of LCD pixel
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.17
Virtual Shuffling of Keypad for Electronic Gadgets
4.2.2 Block Diagram:
Figure 4.6: Block Diagram of Graphic LCD
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.18
Virtual Shuffling of Keypad for Electronic Gadgets
4.2.3 Pin Description:
This LCD has 20 lines interfacing which are described below:
Table 4.2: Pin description of Graphic LCD
Dept. of E&C, S.S.I.T, TUMKUR 2011-2012 Page No.19
Pin
No.
Symbol Level Function
1 VSS 0V Ground
2 VDD +5V Power supply for logic
3 VO - Operating voltage for LCD (contrast adjusting)
4 RS H/L Register selection
H:Display data L:Instruction code
5 R/W H/L Read/Write selection
H:Read operation L:Write Operation
6 E H,
H->L
Enable Signal. Read data when E is high,
Write data at the falling Edge of E
7 DB0 H/L Data bit 0
8 DB1 H/L Data bit 1
9 DB2 H/L Data bit 2
10 DB3 H/L Data bit 3
11 DB4 H/L Data bit 4
12 DB5 H/L Data bit 5
13 DB6 H/L Data bit 6
14 DB7 H/L Data bit 7
15 CS1 H Select the right half of display the CS1 bit is set
16 CS2 H Select the left half of display the CS2 bit is set
17 /RST L Reset signal, active low
18 VOUT -10V Output voltage for LCD driving
19 LEDA +5V Power supply for LED back light
20 LEDK 0V Power supply for LED back light
Virtual Shuffling of Keypad for Electronic Gadgets
4.2.4 Display Control Instruction:
The display control instructions control the internal state of KS0108B. The instruction is received from MPU to KS0108B for display control. The following table shows various instructions: