The Universal Smart Card

advertisement
The Universal Smart Card
A Project Proposed By James Brown
Supervised By Joe Finney
Abstract
This project will involve the design and implementation of a universal smart card framework
used to replace the growing number of cards each of us carry around. The smart card will
have three main features; to allow for easier transportation of secure data, allow authorization
to a number of different devices and finally to allow the positive identification of the owner.
Applications will also be created during this project to demonstrate the functions of the smart
card, such as the security system for a car or computer as well as applications to allow data to
be transported. A number of issues will be focused upon; the main will be security of any
personal information stored on the card, but another will be making the card flexible so it can
adapt with its changing environment.
1.
Introduction
The aim of the proposed project will be to design the framework for a universal smart card
and applications for its use. The smart card will have three primary uses; to allow and
simplify the secure transportation of data from one location to another, secondly to allow one
card to be used to gain access to a number of different devices such as computers, vehicles
and buildings and lastly to allow positive identification for a number of different uses such as
library cards, donor cards and store loyalty cards.
The remainder of this report is divided into five sections as follows; section two illustrates
background research into the problem domain, section three looks at the proposed project in
detail, listing aims, methodology and finally any testing which will be carried out, section 4
sets out the program of work summarising the necessary tasks and there allocated timing
constraints and finally section 5 outlines what recourses will be required.
2.
Background
The below section looks at any other relevant projects or systems within the problem domain,
which could be useful.
There are many different smart cards available from many different manufactures each come
in different memory sizes and formats, some are just memory cards where others have
EPROM’s which give them processing powers. [1] Microsoft have created there own smart
card standard which can be used to program cards, which quite a few manufactures are
adopting in there smart card programmers.
Smart Cards are know quite an old well thought through technology but only just know are
they hitting the consumer in different ways mostly for Transaction clearing via credit cards,
however there are many different other uses which people are only just thinking about.
[2] HP have a couple of projects which involves PC and file security where when a file on as
computer requires encrypting or decrypting the user inserts the smart card which contains
there private encryption key. PC authorisation projects have also been developed where a
James Brown {j.l.brown@lancaster.ac.uk}
Page 1
user inserts their card into the machine to logon to their PC or to remove the screen saver or
even to allow secure email.
The idea of a universal smart card has been thought off before but in a more specific way, i.e.
for one card to replace many other similar cards, say to have one card which represents all
store loyalty cards or one card which can be used as identification card for a number of
different applications
3
The Proposed Project
This sections shows the framework of the project in more detail, in particular it outlines the
aims of the project, the main methodology used in designing and implementing the system,
and finally any testing methods which will be utilised in debugging and evaluating the
produced system.
As described earlier the main aim of the project is to design a framework for a universal
smart card that can be used to securely transport data, act as a positive identification card and
finally allow authorisation to certain devices.
Once a viable framework has been designed and implemented the later stages of the project
will be to build various applications to demonstrate uses of the card.
3.1
Aims
There are a number of aims for this project dealing with the design and use of the smart card;
these have been divided into two categories,
3.1.1 Overall Aims




The card should allow for the secure transportation of data in an efficient manner.
The card should allow the positive identification of the user and store information for
third parties, such as loyalty points in a supermarket setting.
The card should allow for authorisation data to be stored and possibly executed on the
card to gain access to a number of devices.
Possible Applications of the card should be created to demonstrate its use.
3.1.2 Technical Aims




Information on the card should be updateable, so that it adapts to the changing world,
however only authorised parties should have access to change the data for
authorisation or identification purposes on the card.
Where code is executed on the card it must be executed in a protected form such that
access to other parts of the card with exceptions is restricted, thus it would not be
possible for a fraudulent person to add a segment of code which outputs information
contained in other sections of the card.
All Data on the card must be protected in such a fashion that data cannot be directly
accessible with out going though certain security mechanisms contained within the
card.
With most smart cards only having a small limited amount of memory, the storage of
information should be optimal.
James Brown {j.l.brown@lancaster.ac.uk}
Page 2
3.2
Methodology
The software on the smart card will have to be designed by scratch. The design of the smart
card would be modular, splitting it up into 4 object or sub-systems which include a card
management system to deal with the overall management of the card and then a sub-system
for each of the following, the identification feature, the authorization feature and the data
storage feature. Figure 1 shows a graphical model of the smart card.
Card Management
System
Authorization
System
Smart Card
Data Storage
System
Identification
System
Figure 1, The decomposition of the smart card
The main software engineering approach to be adopted in developing the smart card will
primarily be evolutionary development [3], where an initial version of the smart card and
applications will be implemented and then it will be improved upon
3.3
Testing and Demonstrating
To test and demonstrate the card, applications will have to be created for each feature.
Possible applications would be an application to mimic a car to test the authorisation features,
an application to allow a user to add a file to the card and then remove one to test the data
storage feature and lastly an application to test the positive identification features such as a
library application to bring up a photography of the cards owner and to update the number of
books removed from the library on the card.
4.
Program of Work
Below the tasks are outlined that need to be completed and shows there timing constraints
using figure 2.
The proposed project will be carried out over a 20-week period, during the Michaelmas and
Lent terms of the academic year 2001/2002.
James Brown {j.l.brown@lancaster.ac.uk}
Page 3
4.1
List of Tasks
Below lists the tasks in chronological order of there completion times which are required to
be accomplished.
Task 1 – Programming Language
Decide upon which programming language will be used to implement the smart card
and if a new programming language is needed, try to become familiar with the
language and programming smart cards with available hardware.
Task 2 – Research
Research into how smart cards are programmed and what smart cards are available,
also analyse their capabilities and look at similar projects in the problem domain.
Encryption methods and other areas may also require a little research.
Task 3 – Design of Smart Card
Design the smart card system and show how secure communications will be achieved
between the outside world and the smart card.
Task 4 – Implementation of Smart Card
Implement the design of the smart card and using evolutionary development expand
the system improving and documenting each version.
Task 5 – Testing and Debugging
Test the smart card framework and debug any bugs that arise through testing.
Task 6 – Application Development
Design implement and test small applications for the smart card framework that can
be used to demonstrate the features of the smart card.
Task 7 – Final Report
Write the final report for the project.
Figure 2 below shows the allocated time for each task. As can been seen summer will be used
to research into smart cards and learn any programming languages if necessary. The design
and implementation and testing of the smart card overlap since each are related and the next
task sometime helps the previous. The final Report will be written as the project progresses
mainly in note form and two weeks have been put a side at the end of the project to make sure
this is completed.
James Brown {j.l.brown@lancaster.ac.uk}
Page 4
W20
W19
W18
W17
W16
W15
W14
W13
W12
W11
W10
W9
W8
W7
W6
W5
W4
W3
W2
W1
Sum
Task Description
1
Programming
Language
2 Research
3
4
5
6
7
Design of
Smart Card
Implementation of
Smart Card
Testing and
Debugging
Application
Development
Write Final Report
Figure 2. Time Allocation for Each Task.
5
Resources Required
This sections looks at any necessary resources needed giving a justification of why they will
be required.
5.1
Software Required
The following software resources will be essential,


5.2
An advanced IDE for the programming language used, to allow easier and faster
programming and debugging of the system.
Any Library files associated with the smart card to be used to read or write the data to
the card.
Hardware Required
The following hardware resources will be required,



6
A Personal Computer with spare Serial Port used to implement the system and the
spare serial port will be required to connect to the programmer.
An Embedded Machine with Serial Port used for the applications to demonstrate the
smart card.
Smart Card Programmer used to program the smart card with the system.
References
[1] Microsoft Smart Card Standard http://www.microsoft.com/smartcard/
[2] HP Smart card Security
http://www.hp.com/notebooks/us/eng/solutions/security/smart_sup.htm
[3] Sommerville, I Software Engineering 6th Ed. (Addison-Wesley Publishing Company)
James Brown {j.l.brown@lancaster.ac.uk}
Page 5
Download