|
Description  |
|
|
TECHNICAL FIELD
The present invention relates to a smartcard validation device and method.
The validation device of this invention is particularly suited to
applications in which the smartcard is used as a cash substitute. Although
the invention will hereinafter be described with reference to this
application it is equally useful in a variety other applications including
for example security access systems.
BACKGROUND ART
Smartcards are essentially plastic cards with micro-electronic circuitry
embedded therein. They are also known as "integrated circuit cards" and
fail into three categories according to the degree of "intelligence" they
possess.
At one end of the scale, a smartcard provide only memory is analogous to a
card having a magnetic strip. Information may be stored within the memory
but the card has no processing capability, and no ability to restrict
access to that memory.
At the middle scale is a card that has memory controlled by a hard wired
logic which can restrict access to any or all of the memory until a valid
access code has been issued. The same scheme can be used to prevent
unauthorised erasing of card memory. The access code can take the form of
a personal identification number (PIN). Most sophisticated however is a
smartcard in which the processor is able to perform complex functions,
such as the performance of algorithms. It is those smartcards falling
within the middle scale referred to above to which the present invention
relates.
In practice information is transferred to and from the memory of the
smartcard when the card is interfaced with a suitable reader/writer
device. As such, the information provided on the smartcard may be
constantly updated. Preferably, the use of the card should not always
require communication with a control database. If the card provides
stand-alone operation it will be more flexible in use.
It will be apparent that, in providing a system in which a smartcard is
used as a cash substitute, a most important aspect is the provision of a
tight security system. Early smartcards utilised a user-key/PIN similar to
that used by credit cards or magnetic stripe cards. Access to the
smartcard often relies upon the submission of the correct user-key/PIN.
Furthermore, the data stored within the card may be encrypted. For a
reasonable level of security in the system, two numbers must be managed,
namely a user key and an encryption key. Management of these keys involves
keeping them secret from potential unauthorised users, and with regular
changes. The reason for regular changing of the keys is that, if the user
key is intercepted by or revealed to an unauthorised user and access to
the card is obtained, copying the card data becomes possible. Further, if
the card data is not encrypted, then fraudulent alteration of the data is
also possible. In the application of the smartcard as a cash substitute
such operations pose serious problems.
A second type of smartcard security method was subsequently developed,
using a "signature" or "certificate" to prove the integrity of the
contents of the card. However this requires manual input of a further key,
therefore this system also requires management of two keys. In this case,
however, alteration of the card data without correct calculation of the
new certificate may be detected when the card is next used. Moreover,
copying the card is prevented since the card memory location which
contains the certificate is erased upon access to the contents of the
card. Therefore, if the user key alone is intercepted and the card is
unlocked, a copy may be made onto a second card but without the encryption
key a fresh certificate can not be calculated and the card, or copies,
will be rejected when next used.
While an improvement over earlier approaches, these prior art systems still
possess the disadvantage that multiple user keys must be managed, with the
constant danger that the information will fall into the hands of
unauthorised users.
DISCLOSURE OF THE INVENTION
It is an object of the present invention to overcome, or at least
ameliorate, the disadvantage presented by the prior art.
Accordingly, there is provided a validation device for a smartcard of the
kind having unprotected data storage memory and protected data storage
memory selectively accessible by means of a user access code, said device
comprising:
encryption means to perform an encryption upon identification data to
produce said user access code;
means to read identification data from said unprotected memory to said
encryption means;
means to supply said user access code to the smartcard;
means to read selected data from said protected memory to said encryption
means for encryption to produce validating data;
comparator means to compare said identification data with said validating
data and reject the smartcard if the data do not agree; and
means responsive to said comparator means to establish access to said
protected memory if the data do agree.
Preferably, the validation device further comprises memory means for
storage of the identification data and the means to read identification
data from the unprotected memory erases the unprotected memory after
reading the identification data to the memory means.
Preferably, also, the encryption means performs the same encryption
algorithm to produce the user access code and the validating data.
Preferably, the encryption algorithm employs an encryption key stored in
memory.
Preferably, also, the validation device further comprises card locking
means responsive to an input indication of termination of use of the
smartcard for reading updated selected data from the protected memory to
the encryption means for encryption to produce updated validating data,
and means to write the updated validating data to unprotected memory to
form part of updated identification data.
Preferably, the card locking means generates a new user access code for the
smartcard by encryption of the updated identification data and transmits
the new user access code to the smartcard.
In a second aspect, the invention provides a method for validating access
to smartcards of the kind having unprotected data storage memory and
protected data storage memory selectively accessible by means of laser
access code, said method including the steps of:
reading identification data from said unprotected memory;
encrypting said identification data to produce a user access code;
supplying said user access code to said smartcard;
reading selected data from said protected memory:
encrypting said selected data to produce validating data;
comparing said identification data with said validating data; and
rejecting the smartcard if the data do not agree and establishing access to
the protected memory if the data do agree.
Preferably, the method of the invention further includes the step of
storing the identification data and erasing the unprotected memory.
Preferably also, the steps of encrypting the identification data and
encrypting selected data from the protected memory employ the same
encryption algorithm to produce the user access code and the validating
data respectively.
Preferably, the encryption steps employ an encryption key stored in read
only memory.
Preferably also, the method of the invention further includes the steps of:
responding to an indication of termination of use of the smartcard to read
updated selected data from the protected memory;
encrypting said selected data to produce updated validating data; and
writing the updated validating data to unprotected memory to form part of
updated identification data.
Preferably, the step of writing updated validating data to form part of
updated identification data further includes the step of encrypting the
updated identification data to produce a new user access code and
transmitting the new user access code to the smartcard.
BRIEF DESCRIPTION OF THE DRAWINGS
A preferred embodiment of the invention will now be described, by way of
example only, with reference to the accompanying drawings in which:
FIG. 1 is a block diagram showing a validation device in accordance with
the present invention;
FIG. 2 is a generalised flow chart of the operation of the validation
device of FIG. 1;
FIG. 3 shows a more detailed flow chart of the unlocking function of FIG.
2; and
FIG. 4 shows a more detailed flow chart of locking function of FIG. 2.
MODES FOR CARRYING OUT THE INVENTION
Referring now to FIG. 1, the validation device interfaces to a smartcard 1
by means of a card reader/writer 2. The latter in turn is part of a host
system 3, for example, a gaming machine.
The smartcard 1 consists of two types of EEPROM memory. A first portion is
accessible at any time and is termed the unprotected memory 4. The
remaining portion is accessible only after presentation of a "key" or PIN
to the card and is termed the protected memory 5. In addition, the card
contains input/output hardware 6, security logic 7 which controls access
to the EEPROM memories 4 and 5, and the interconnecting data and address
buses (not shown).
The smartcard reader/writer 2 consists of a microprocessor 8, a RAM 9, a
ROM 10, an input/output interface 11 to the card 1 and an input/output
interface 13 to the host machine 12, for example an RS232C serial
interface. Each of these units 8 to 13 are connected by appropriate data
and address buses.
FIG. 2 shows a generalised flow chart of a preferred system embodying the
present invention. In particular, FIG. 2 illustrates the procedure for
validation of the card whereby access to the data within may be obtained.
Initially, a certificate and card serial number are read from unprotected
memory. This information is then encrypted with the aid of a secret
encryption key stored in read only memory or read/write memory within the
validation device. The result of the encryption is transmitted to the
smartcard as a user key or PIN to unlock the card.
Thereafter, protected memory may be accessed and card data read. The
validation procedure continues by encrypting the card data obtained in the
previous step, again with the aid of the secret encryption key. In the
final step of validating card access, the certificate obtained from
unprotected memory is compared with the result of encrypting card data. If
the parameters are equal then access is validated and the card data may be
employed to perform transactions and the like according the function of
the card.
FIG. 2 also illustrates the procedure for locking the card. When it is
determined that card access must be terminated, for example after a
transaction is completed, the card data is updated. A fresh certificate is
generated by encrypting the new card data with the aid of the secret key
as before. The certificate is combined with a card serial number and
further encrypted, once more with the aid of the secret encryption key to
produce a new user key. The new user key is stored in write only memory.
The advantage of generating a new user key each time the card is used is
to increase the security of access to the card. In addition, the new
certificate provides protection against copying the card. A major
advantage of the invention however is that no information need be
memorized by the user of the card. This means of course that the
validation device when used with transaction card, requires the card to be
treated just as money is treated. It will be appreciated that the effect
of the invention is not to provide a system secure against unauthorised
use, but to prevent tampering with the data stored in the smartcard.
FIG. 3 illustrates in more detail and with particular reference to the
application of the invention to the management of gaming machines.
Initially a card user inserts the card into a host machine. A card
reader/writer as shown in FIG. 1 reads identification data from the
unprotected memory. This identification data takes the form of a
certificate, a card serial number, a service provider number and a
manufacturer's number. The identification data is taken and stored in RAM
9 within the card reader/writer 2.
These values form the input to an encryption algorithm, for example the
data encryption algorithm (DEA as specified in AUSTRALIAN STANDARD 2805.5
or similar). In addition a secret encryption key is held within the
reader/writer 2 by ROM 10 or RAM 9. From the output of the encryption
algorithm a 16 bit user key is extracted and transmitted to the smartcard
to unlock or enable protected memory 5.
If the card is successfully unlocked, the certificate area of unprotected
memory 4 is erased and the data within protected memory is read and stored
in RAM 9 of the reader/writer. This data typically consists of the cards
monetary value and other sensitive data according the particular
application.
The card data forms the input to an encryption algorithm once more
employing the encryption key stored in ROM to produce validating data for
comparison with the certificate stored earlier. If the certificate and
validating data are identical the transaction involving the smartcard may
proceed. Otherwise, the card has been tampered with and the transaction is
terminated.
If the card is validated by the reader/writer, the monetary value and any
other pertinent information is transferred to the host machine via the
interface with the reader. After the transaction is successfully completed
the card must be locked in accordance with the invention to ensure
security of the information it contains.
FIG. 4 illustrates a detailed procedure for locking the card.
Updated data is transferred from the host machine to the protected memory
of the smartcard. At the same time, this data is encrypted and a
certificate extracted and written to the unprotected memory of the
smartcard.
The certificate is combined also with the other parameters such as card
serial number, service provider number and manufacturer's number read
during opening of the card to form the input to a further encryption. From
the result of this second encryption a new user key is extracted and
transferred to the smartcard. It will be apparent that further security
may be provided by encrypting the card data representing monetary value
and the like. Even greater protection would be provided by employing
several different encryption algorithms or encryption keys. In practice
however the difficulty of breaking the standard data encryption algorithm
is such that each encryption performed by the invention may be achieved
with the same algorithm and key.
It will be appreciated also that the great advantage of the present
invention is that it relieves the user of the burden of remembering a PIN.
In systems where key information is provided by the user, the information
must be limited in complexity to that which the average user can remember.
Thus, the simplicity of user supplied pins renders these systems more
susceptible to interference.
Since a PIN is not required by the use of the present invention it is also
not necessary to provide a PIN pad on the apparatus to be operated. This
can be of considerable advantages in applications where there is
insufficient physical space for such a key pad or where the operating
environment renders otherwise undesirable to such a key pad. Additionally,
the avoidance of the use of a PIN renders the present system particularly
suited to short lived cards. In situations where cards have a short life
and a high turnover it is not feasable for a user to easily to remember a
PIN. The present invention allows the elimination of a PIN and thus is
especially suited to the short lived applications.
It will be apparent that a validation device of the present invention
allows a smartcard to be used as a substitute for cash. Accordingly,
unauthorised use of the card is possible. However it is possible and
indeed desirable, to incorporate unique markings such as service provider
identification, member number, personal signature etc. on the surface of
the smartcard in order to minimise this type of misuse. It will be
apparent that in a variety of applications the prevention of tampering is
often more important than the possibility of unauthorised use.
Although reference has been made to specific examples, it will be
appreciated by those skilled in the art that the invention may be embodied
in many other ways.
* * * * *
|
|
|
|
|
Description  |
|