1
1
1
This document serves as a guide to the eWallet project and includes a business vision, project requirements, platform choices and design. With this document we will be able to implement the items contained within. A business vision gives us the underlying idea behind the project. The requirements give detailed use cases for the main functions. The platform choice describes the program development environment. The design document will provide a map for our design. All information within is protected by copyright and any infringement will be persecuted to the fullest extent of the law. E-Wallet technical paper presentation explains about implementing a embedded system based smart card which can be used as card for shopping by transferring money from credit card to smart card and this card can also be used for storing other information like driving license, passport details..etc. For security purpose finger print technology is used.
The project can be thought of as an eWallet of sorts. It entails issuing a smart card with multiple java applets on it. These applets will each handle separate subsystems which include: Identification, Stored Value and Credit Card Transactions. The project also involves developing applications to interact with the applet such as adding/retrieving personal data off the card, or making a purchase. All the information on the card can only be obtained when a user has authenticated them to the card. We will do this with either a pin number or fingerprint verification. The identification applet will store the person's photograph, address, SSN, birthday, any other personal information, as well as a fingerprint. This applet can act as a driver's license, school id, or other need by which a person wants to identify them. Proof of authenticity can happen not only by comparing a photograph, but also a fingerprint. The stored value applet will work much the same as our current U student id cards work. Users will be able to put money on their card, and then spend that money at participating vendor locations. Not a credit card transaction, but a stored value transaction. A pin number or fingerprint can be used to authenticate. The credit card applet will hold information about various credit accounts, and rather than using a credit card, it will use the card number and account information stored on the smart
chip. In order to use the credit card account the card holder must authenticate to the system with either a fingerprint or a PIN number. 1
Along with these applets we will design the systems to interact with them. This includes a system to initialize the card with your personal data, credit accounts, etc, a system to allow a user to prove their identity, a system to allow users to put money on their cards and make purchases with that money, and a system that lets the card handle credit card transactions. This project also includes a card tracking system to handle cards that may have been lost or stolen. The card will be used by people who don't want to carry numerous cards in their wallet. If a regular wallet is lost several companies must be called to ensure your money and identity is protected. With the smart card only one call is necessary to deactivate the card. It will allow a convenient, one card wallet. Our motivation for this project is to learn about smart cards and use this for our senior lab. We have worked with the cards a little in the past and feel we have enough experience to get us started. It seems like it could be a fun and interesting project that would most likely be very different from other types of projects. It would provide a convenient and safe way to store and use information you carry on multiple cards in your wallet (ie: driver's license, school id, and credit cards) all on one single card that can only be accessed by authenticating yourself.
1. Introduction: eWallet
Many wallets today are cluttered with several cards, cash and more. Keeping track of all these items can be difficult. The electronic wallet (eWallet) will provide all of the functions of today's wallet on one convenient smart card eliminating the need for several cards. The eWallet will also provides numerous security features not available to regular wallet carriers. Identification is required for every credit card transaction and the card is equipped with a disabling device if the card should be tampered with. These increased security measures and the convenience make this a worthwhile project. The items proposed in this chapter will give detailed descriptions of how to design this eWallet system.
The credit card payment subsystem models how credit card transaction will occur between the Merchants and Cardholders. It also describes how the Cardholder will manage credit card accounts. Name Goal Merchant Accepts credit card purchases with eWallet. Cardholder Manages credit card accounts on eWallet. Makes credit card purchases. Credit Card Issuer POS Terminal Card Manager Issues credit card numbers and validates credit card transactions. Guides user through the process of making a purchase Guides user through the process of adding credit cards and deleting credit cards.
eWallet Credit Card Purchase Add Credit Card Account to eWallet Remove Credit Card Account from eWallet
2 3 4 5 6 7
8 Extensions Step 3a
5a 7a
5 6
Extensions
7 Step 2a
5a
Extensions
6 Step 2a
3a
2.2.1 Description
2.2.2 Actors
Stored Value acts just like carrying real cash in your wallet. It stores an integer value that represents a cash amount. This integer value can be transferred from a cardholder to a merchant like real cash. A cardholder can continually add to the integer value. Name Goal Accepts stored value purchases with Merchant eWallet. Deposits stored value into own bank account. Cardholder Manages stored value on eWallet. Makes stored value purchases. Bank POS Terminal Card Manager Transfers money onto eWallet. Guides user through the process of making a purchase. Guides user through the process of adding stored value money to eWallet.
eWallet Stored Value Purchase Add Stored Value to eWallet via Internet Add Stored Value to eWallet via Bank/Banking Station View eWallet Stored Value
2 3 4 5 6 7
8 9 Extensions Step 3a
5a 6a 7a
Preconditions Postconditions
Basic Flow
6 7 8 9 10 Step 2a
Extensions
5a 7a
10
Extensions
4a
11
Extensions
12
The identification subsystem stores any form of identification whether it be driver's license, school id or other identification card. It allows several people to view this information upon request. Name Goal Trusted Enroller Verifies Cardholders credential during initial issuing and enrollment. Cardholder Validates own identity. Authenticator Validates cardholder identity for some general purpose. Enrolls and verifies drivers license on DMV eWallet Validates driver's license. Policeman
Enroll Initial Cardholder Identification Enroll Cardholder's Driver's License Verify Driver's License Information Verify General Identity Information Modify Identity Information
13
6 7 8 9 10 11 Step 3a 7a
Extensions
8a
14
Step 1 2
Action Cardholder approaches DMV requesting to add their driver's license to eWallet. Cardholder presents eWallet to DMV and DMV inserts eWallet into DMV device and prompts Cardholder to authenticate by fingerprint. Cardholder authenticates with fingerprint on DMV device. If available Cardholder presents current driver's license and DMV looks up current license information. DMV installs Cardholder license information onto eWallet and returns eWallet to Cardholder. Cardholder license enrollment ends. Branch Action Cardholder fingerprint authentication fails. 2a1. Cardholder will be instructed to authenticate two more times. 2a2. Card will disable after 3 attempts. License information lookup fails. Cardholder has no current driver's license. 3a1: DMV declines Cardholder of license enrollment. 3a2: Cardholder goes to step 6. Installation of license information fails 4a1: DMV is presented with error.
3 4 5 6 Step 2a
Extensions
3a
4a
15
16
Extensions
17
3 4 5 6 7 Step 3a
Extensions
6a
18
19
Chapter 4 Design
1. Introduction
This chapter contains a UML design that addresses the needs of our use cases discussed in chapter 2. It contains class diagrams and documentation for each class and component diagrams as well. Each class has a section that describes the major responsibilities of that class.
2. Subsystem Diagram
Merchant eWallet Credit Card Purchase Credit Card Issuer Cardholder Add Credit Card Account to eWallet
Card Manager
20
3. Subsystem Documentation
1. Subsystem Overview
Security
Authentication
P.O.S
Card Management
Transaction
Card
21
CreditCard Transaction CreditCard Issuer + card : Card + creditCardIssuer + paymentoption = "eWallet Credit" + getCard ( ) + getApplet ( ) + verifyCreditCard ( )
the merchant has already setup communication w/a credit card issuer and pos already knows how to verify credit card information
1.2.3 Summary
The POS component can behave as a stand alone application or plugin. If no credit card accounts exist on the eWallet or if no eWallet is used, the POS will behave as normal: accepting regular cash, check, etc. There is simply an added feature/option of accepting credit card accounts stored on the eWallet. The merchant is still responsible for verifying the credit card account information with the credit card issuer and completing the credit card sale as normal.
+ getAppletID ( )
Login Screen + prompt : String = "Please scan finger" + fingerprint : Image + success : String = "Authentication Successful" + failure : String = "Authentication Failed" + failedAttempts : Integer = 0 + login ( ) + maxFailures ( )
23
1.3.3 Summary
The Card Manager is the component the user uses to interact with their card. It provides a simple GUI interface for the user to add/delete or otherwise modify data on their card. It is secure in the fact that it requires fingerprint authentication before allowing any access. Most of the classes are screens driven through by the user and menu options are determined by which applet is being accessed, or what kind of applet maintenance is being performed.
24
ID Applet + name : String + photo + fingerprint + address : String + phone : String + ssn : String + addDriversLicense ( ) + getDriversLicense ( )
applet for use or deleting applets off the card. Therefore all classes derived from Applet must have a unique AppletID and be able to retrieve this applet id when needed. 1.4.2.3 Credit Card Applet: The Credit Card Applet is the Applet subclass used to manage credit card accounts stored on eWallet. The credit card accounts themselves are represented by Credit Card objects, and the Credit Card Applet simply stores a List of these Credit Cards objects. The Credit Card Applet object interacts with a POS or Card Manager to provide those components with information about the card applet. The main responsibility of this class is to act as a container for CreditCard objects and provide an interface to retrieve information about those objects as well as add and remove them. For now the maximum number of credit card accounts the applet can have is 6. 1.4.2.4 Credit Card: This class is representative of a credit card account. It is what is stored in a list in the credit card applet. It provides a means of storing and accessing credit card account data (name, card number, card type, exp date, etc)
1.4.3 Summary
The card component is the basis for eWallet. It represents the eWallet itself and the applets and information stored on it. This component will interact with most every other component in the system, especially the security component because of requirements for authentication. Along with generic a generic applet class and card class it also contains classes that represent specific attributes of the applets that manager credit cards, stored value, etc.
26
+ compareFingerprints ( )
1.5.2 Summary
While simple and small, it seems necessary to separate out the security from the rest of the components because it is more of a stand alone piece of implementation that interacts with almost every other component in the system. Any kind of access to the card, whether it be for applet management or for manipulating / reading data stored in the actual applets, must be authenticated. By separating this out it makes the model of the system clearer as well as the role of security in the greater scheme of the system. 27
Summary
Next semester we plan to implement our eWallet project and hopefully someone will be so impressed that we will all get good jobs making big bucks. Smart cards can prove to be a tough sell because of the cost of change to infrastructure and the idea of new unfamiliar technology. While this project will begin as our Senior Project we also hope that we can familiarize people with the technology and end up with some business opportunities as well as a flashy project. We definitely feel we are much better off to actually start the senior project. Undoubtedly this level of design would've never happened had we not taken the Design class. It allowed us to make a lot of important design and even implementation decisions early enough in the project that it should save us a lot of time and rework when we finally being implementation. The business proposal assignment was good because you can't make big bucks if you can't propose something to a business. The use case assignment was very helpful. It's nice to bring programmers back up to the level of a user. Walking step-by-step as a user should be where the project begins. We didn't see how it was relevant that we have an assignment to discuss what platform we were using. We also think design is good but are a little unsure how useful it's going to be when it comes time to write code. We are not so sure we did the best job and still need practice in the area.
Glossary
-POS (point of sale): a business or place where a product or service can be purchased -Smart Card: a plastic card containing a microprocessor that enables the holder to perform operations requiring data that is stored in the microprocessor; typically used to perform financial transactions. -Stored Value: electronic cash stored on the smart card, having been transferred from the cardholder's bank account directly to the card. Stored Value can be redeemed by Merchants who accept it at their stores.
28