|
Claims  |
|
|
I claim:
1. A method of operating a network/interchange transaction execution system
of the type comprising a plurality of transaction terminals, a plurality
of acquirer stations, each being associated with one or more separate
transaction terminals, a plurality of issuer stations, each of which
includes a data processor which stores account information for a plurality
of accounts, and a network switch which communicatively interconnects the
acquirer stations with the issuer stations, the method comprising the
steps of:
(a) generating, encrypting and storing at each said acquirer station, a
plurality of encrypted pairs of session keys for each terminal, each key
being encrypted once in a first master key and once in a second master
key, and, in addition, computing a session key authentication code (SKAC)
unique to each encrypted pair of session keys;
(b) receiving and identifying network/interchange transaction information
and a personal identification number, PINc, from a user at one of said
transaction terminals, encrypting the PINc with a first session key,
KS.sub.n, transmitting to the acquirer station associated with said
transaction terminal a network/interchange request message comprised of
the encrypted PINc and the transaction data;
(c) at the associated acquirer station, receiving the network/interchange
request message from said transaction terminal and retransmitting the
network/interchange request message to the network switch along with the
session key encrypted in a second master key, e[KM.sub.2 ](KS.sub.n);
(d) at the network switch, receiving the network/interchange request
message and the encrypted session key, reencrypting the session key in a
third master key, e[KM.sub.3 ](KS.sub.n), and retransmitting the
network/interchange request message along with the third master key
encrypted session key to a particular issuer station specified by data in
the network/interchange request message;
(e) at the issuer station, receiving the request message and the encrypted
session key, e[KM.sub.3 ](KS.sub.n), decrypting the session key,
decrypting the encrypted PINc, accessing the data base for the account
specified in the transaction data, comparing and verifying the PINc with a
corresponding PIN stored in the data base for that account, specifying an
authorization code, to the acquirer station through the network switch;
(f) at the acquirer station, appending a new first master key encrypted
session key e[KM.sub.1 ](KS.sub.n+1) along with the corresponding
SKAC.sub.n+1 to the reply message and relaying the reply message to said
transaction terminal; and
(g) at the terminal, recomputing and verifying the SKAC.sub.n+1 and acting
on the authorization code to respond to the transaction terminal user.
2. A method of operating a network/interchange transaction execution system
as recited in claim 1 wherein the computation of said SKAC at the acquirer
station is performed by concatenating a terminal identifier with the value
in a session key counter associated with that terminal and encrypting the
result.
3. A method of operating a network/interchange transaction execution system
as recited in claim 1 further comprising the step at said terminal of
storing the new encrypted session key KS.sub.n+1 and discarding the
previous session key at the conclusion of the then pending transaction.
4. A method of operating a network/interchange transaction as recited in
claim 1 further comprising the step of, at the terminal, requesting a new
session key from the acquirer station if the SKAC is not properly
verified.
5. A method of operating a network/interchange transaction execution system
as recited in claim 1 further comprising the steps of, at said acquirer
station, receiving the network/interchange request message from the
transaction terminal, locating in storage the second master key encrypted
session key, corresponding to the session key used by said transaction
terminal to encrypt the PINc, and transmitting said second master key
encrypted session key to the network switch.
6. A method of operating a network/interchange transaction execution system
as recited in claim 1 further comprising the steps of
(a) at said transaction terminal, concatenating the PINc and selected
elements of the transaction data, computing a first message authentication
code, MAC1, using the concatenated data and the session key KS.sub.n, and
transmitting the MAC1 as part of the network/interchange request message
to the acquirer station to be relayed through the network switch to the
issuer station;
(b) at said issuer station, recomputing and verifying the MAC1 using the
same PINc, the selected data elements, and the decrypted session key
KS.sub.n, then computing a second message authentication code, MAC2, for
the reply message using the session key, KS.sub.n, and transmitting the
MAC2 to said acquirer station and said transaction terminal through the
network switch; and
(c) at said transaction terminal, recomputing and verifying the MAC2 using
the session key KS.sub.n.
7. Improved network/interchange transaction execution apparatus of the type
comprising a plurality of issuer stations, each having a host data
processor which stores account information for a plurality of accounts, a
plurality of transaction terminals, a plurality of acquirer stations, each
being connected to at least one, separate transaction terminal, and a
network switch station communicatively interconnected between the acquirer
stations and the issuer stations, and further comprising:
(a) means at each transaction terminal for receiving the transaction data
and a personal identification number, PINc, from a user, for encrypting
the PINc with a first session key, KS.sub.n, and for transmitting to the
acquirer station connected to said transaction terminal, a
network/interchange request message comprised of the encrypted PINc and
the transaction data;
(b) means at said acquirer station for receiving the network/interchange
request message from said transaction terminal and for retransmitting the
network/interchange request message, including the session key encrypted
in a second master key, e[KM.sub.2 ](KS.sub.n), to the network switch;
(c) means at the network switch for retransmitting the network/interchange
request message to a particular issuer station as specified in transaction
data of the network/interchange request and for reencrypting the session
key from second master key encryption to encryption in a third master key,
e[KM.sub.3 ](KS.sub.n);
(d) means at said issuer station for receiving the network/interchange
request message, including the encrypted session key, e[KM.sub.3
](KS.sub.n), for decrypting the session key, for encrypting the encrypted
PINc, for accessing the data base for the account specified in the
transaction data, for comparing and verifying the PINc with the
corresponding PIN stored in the data base for that account for specifying
the authorization code in response to the transaction data, and for
transmitting the authorization code to the network switch for relay to
said acquirer station;
(e) means at said acquirer station for generating, encrypting and storing a
plurality of encrypted pairs of session keys for each terminal, each key
being encrypted once in a first master key and once in a second master key
and, in addition, computing a session key authentication code SKAC unique
to each encrypted pair of session keys, and means at said acquirer station
for appending a new first master key encrypted session key e[KM.sub.1
](KS.sub.n+1) along with the corresponding SKAC.sub.n+1 to the
authorization code and relaying the authorization code to the transaction
terminal; and
(f) means at said transaction terminal for recomputing and verifying the
SKAC.sub.n+1 and acting on the authorization code to respond to the
transaction terminal user.
8. Transaction execution apparatus as recited in claim 7 wherein said means
at said acquirer station for computing said SKAC includes a session key
counter and operates by concatenating the terminal identifier and the
value in said session key counter, and encrypting the result under the
session key.
9. Transaction execution apparatus as recited in claim 7 further comprising
means at said transaction terminal for replacing the new session key
received by the acquirer station and discarding the previously received
key at the conclusion of the then pending transaction if the SKAC has been
verified.
10. Transaction execution apparatus as recited in claim 7 wherein the
verification means at said will generate at least one request for a new
session key from the acquirer station if the SKAC is not properly
verified.
11. Transaction execution apparatus as recited in claim 7 further
comprising:
(a) means at said transaction terminal for concatenating the PIN and
selected elements of the transaction data, for computing a first message
authentication code, MAC1, using the concatenated data and the session key
KS.sub.n, and for transmitting the MAC1 as part of the network/interchange
request message to said acquirer station;
(b) means at said issuer station for recomputing and verifying the MAC1
using the same PINc and selected elements, for computing a second message
authentication code, MAC2, using the session key KS.sub.n, and for
transmitting a response message including the MAC2 to said transaction
terminal via the network switch and said acquirer station; and
(c) means at said transaction terminal, for recomputing and verifying the
MAC2 using the session key KS.sub.n.
12. Transaction execution apparatus as recited in claim 7 further
comprising means at said acquirer station for receiving the
network/interchange request message from said transaction terminal, for
locating in storage the corresponding second master key encrypted session
key which is the same session key used to encrypt the PINc at the
transaction terminal, and for transmitting the second master key encrypted
session key to the network switch. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND ART
This invention relates to encryption systems and more particularly to an
encryption system for use with transaction terminals such as automated
teller machines (ATM), cash dispensers (CD), and point of sale (POS)
devices. Such machines are typically accessed by means of a card issued by
the customer's bank. Within the past twelve years the number of teller
machines and cash dispensers has grown from a few scattered units to a
worldwide total of almost 50,000 units. In many areas, groups of
institutions have begun to cooperate in the establishment of local,
regional, and national shared ATM/CD networks in order to extend the
customer convenience represented by electronic fund transfer services
beyond the local area. In the near future, it is expected that many
everyday transactions will be carried out through point of sale devices.
In these systems, a holder of a card issued by one financial institution
(the "issuer") can transact business with the issuer through the
transaction terminal of a different financial institution (the
"acquirer"). This invention applies primarily to this type of transaction
where security of one or more message elements must be provided throughout
an interchange network communications system, as differentiated from
security in a more restricted system not involving many institutions. It
is also not limited to financial institutions.
Such networks typically rely on the use of some standardized identifying
token which is presented by the user of such services. Such a token would
be, for example, a user's plastic card with a magnetizable stripe on the
card which is encoded with a particular set of data. It is necessary,
however, to provide for the security and privacy of some of the data which
is sent by such a user from the transaction terminal through intermediate
stations, to the issuer's data processing center. These security
provisions must meet needs for economical data transmission, preclude
unauthorized access to critical customer related information, and provide
a level of privacy that conforms to governmental regulations as they may
be formulated. This level of protection must include the entry,
transmission, storage, and verification procedures which are used by the
various components of the interchange network.
Among the data elements of the transaction terminal message, the most
critical requiring some form of protection are:
(a) the cardholder's personal identification number (PIN);
(b) the cardholder's primary account number (PAN);
(c) the cash advance or disbursement amount;
(d) the date and time of the transaction; and
(e) a terminal identifier number (TID).
There are cryptographic techniques in existence which provide the means by
which data elements such as these can be protected. Such a technique will
be discussed in greater detail hereinafter. However, for the present
purpose, it is sufficient to know that in the case of the PIN, for
example, protection can be achieved by using a cryptographic process
called "encryption" by which a PIN of "9725" might, for example, "be
converted temporarily to a disguised value of "B*7@" for transmission from
an acquirer through an interchange network to the issuer. In this sense,
the word "acquirer" would be the financial institution operating the
transaction terminal, while the issuer would be, for example, the
destination financial institution providing financial services to the
user. At the destination of the message this disguised value would be
converted to the original "9725" value by a reverse cryptographic process
called "decryption" for further processing to verify the validity of the
PIN.
For other critical message elements, such as the amount of the cash advance
or disbursement, secrecy may not be required, only protection against
alteration. Therefore, instead of encryption, a well-known cryptographic
process called "message authentication" is used. This process uses each of
the critical data elements in a sequential encryption-like computation
that results in a "message authentication code, MAC" to be included, along
with the protected data elements, in a message which is transmitted to the
destination (intermediate or final).
At the destination, the MAC computation process is repeated on the same
data elements. If any one or a combination of these elements has been
modified while being transmitted through the interchange network, the
resulting MAC would not, with reasonable probability, be identical to the
MAC value received, and the message would be rejected because of probable
fraud.
For an interchange encryption-decryption process to work, a standard for
data protection must be used. In the United States, the American Bankers
Association (ABA) Bank Card Standards Committee and the American National
Standards Institute (ANSI) have adopted the standard published by the
National Bureau of Standards (NBS) of the U.S. Government as the basis for
this type of security. A brief description of the NBS concept is presented
here for reference. The elements of the concept include an algorithm
called the data encryption standard (DES) algorithm and a secret key. The
DES is a set of complex mathematical transformations that has been
published and is known to everyone, including potential adversaries. The
secret key consists of 64-bits of data, known only to the system
participants, that make the use of the published algorithm unique and
secure.
The DES has the property of "reversibility"; i.e. the DES and the secret
key can be used to "encrypt" the input data for protection. They can also
be used to "decrypt" or reverse the protected data back to its original
form with the same key that was used for the encryption process. A secret
64-bit key establishes security of the encryption system. The input can be
any desired 64-bit combination of data. On command, the DES system
subjects the input to sixteen complex transformations and presents the 64
resultant "ciphertext" bits at the output register. By ciphertext is meant
that the text would be enciphered and not intelligible when reading or
computer-based analysis were attempted.
As long as potential adversaries are prevented from learning the key, data
for the typical cash advance or disbursement can generally be assumed to
be secure. There are no known methods of attacking the system
analytically. For a known input/output pair, solving for the key through
"exhaustive" sequential testing of all possible (approximately)
72,000,000,000,000,000 values of the key does not appear to be practical
within the near future. Use of two or more sequential encryption processes
with corresponding different keys would require millions of years of
processing by the fastest computers for exhaustive testing, thereby making
any such attack completely infeasible.
As described above, a DES key consists of 64 bits which can be interpreted
as 16 hexadecimal characters (0-9, and A-F). The security of any system
based on DES processing is dependent upon the integrity of key generation
and distribution as well as upon the human-related management and
operational procedures established for the system. While there are a
number of such keys to be used in this type of system, the two types of
such keys which have relevance to the present discussion are a
data-encryption or session key, and a key-encryption or master key.
A session key is a one-time key only used for the life of one transaction.
In some manner, the session key must be sent from the sender to the
receiver and the sending of the transaction must convey to the receiver
the specific session key which was used for encrypting the transaction. No
matter what method for informing the receiver is used, the session key
must be protected during the transmittal process by encryption using a
master key. Because the session key is used for only one transaction, the
potential for compromise is reduced. The key-encryption key, or master
key, however, is used for encrypting a session key being transmitted over
normal data communication lines or stored in a host data processor. These
master keys must be generated, distributed, and loaded under greater
security control than that normally used for other types of keys. Because
of the high level of security under which these keys are handled, master
keys are typically used for longer periods of time that could extend into
many months.
In an extensive network, with a large plurality of acquirers and a large
plurality of issuers, a switch station ("network switch") is used to route
and coordinate the transaction requests and responses between the various
acquirers and issuers. In such systems, it is simply not economically
feasible to separately send session keys in special network messages.
Also, the time requirements would be prohibitive.
The problems facing the operation of such ATM/CD networks are, then, to
provide maximum-feasible security for the transaction data by encryption
and decryption processes, and to securely, efficiently, and economically
store, retrieve, and transmit the keys necessary to perform these
processes.
SUMMARY OF THE INVENTION
The foregoing problems of how to operate an interchange transaction
execution system of the type having multiplicities of transaction-source
terminals and destination (issuer) data processors which store account
information for a plurality of accounts, a plurality of acquirer stations
each connected to one or more transaction terminals, and at least one
network switch connected between the acquirer stations and the issuer
stations, are solved by carrying out the steps to be described
hereinafter. Transaction information and a personal identification number,
PINc, are received from the user at the transaction terminal. A first
session key encrypted with a first master key is retrieved from the
terminal's memory and is decrypted with the first master key that is also
stored in the memory. In the preferred embodiment, the PINc is encrypted
with the first session key KS1 and the encrypted PINc and selected
elements of the transaction data are concatenated. The concatenated data
are processed with the first session key, according to an
arbitrarily-specified procedure to form a first message authentication
code, MAC1. A network/interchange request message comprised of the
encrypted PINc, the MAC1 and other transaction data are transmitted from
the transaction terminal to the acquirer station connected to said
terminal.
The acquirer financial institution, retransmits the message along with the
same session key, but now encrypted in a second master key, to the network
switch. The second master key is known to the network switch as the
decoding element to use for that particular acquirer. The network switch,
after determining for which issuer the request is intended, retransmits
the message to that issuer along with the session key which it translates
from second master key encryption to a third master key encryption. The
third master key is known to the network switch as the coding element to
use for that particular issuer.
At the issuer, the session key is decrypted with the third master key, and
the PINc is decrypted with the session key. The MAC1 is recomputed and
verified with the received MAC1 using the encrypted PINc, the selected
data elements, and the session key. The data base within the issuer's data
processor is then accessed for the account specified in the transaction
data. The PINc is compared and verified with the corresponding PIN stored
in the data base for that account.
At the issuer's data processor, after the PINc and the MAC1 have been
verified, and the account balance for the user's PAN has been checked for
adequacy, an authorization code is generated to either authorize or deny
the requested transaction. A second message authentication code, MAC2,
using the session key is computed. The authorization code and the MAC2 are
then included in the response message transmitted back to the acquirer
through the network switch.
As will be explained further herein, at the acquirer, a new second encypted
session key is added to the response message to be relayed to the orginal
transaction terminal, i.e., the ATM/CD. In addition, a session key
authetication code (SKAC) may also be added to the repaly message. At the
terminal, the MAC2 is recomputed and verified using the first session key.
Assuming that the MAC2 is properly verified, the transaction terminal acts
on the authorization code to respond to the transaction terminal user. As
discussed below, if the system is operating with session key
authentication codes, the SKAC will also be computed and verified.
In the preferred embodiment of the invention the acquirer peiodically
generates and stores a plurality of session keys in encrypted pairs, the
key of each pair being encrypted in a first master key and also in a
second master key. With each return message from the host data processor,
a new, or second session key, encrypted in the first master key, is
appeneed to the return message. At the transaction terminal, the second
encrypted session key, at the conclusion of the transaction, replaces the
first session key and is stored for use with the next transaction. As
discussed below, if the session key is to be authenticated, a SKAC will be
generated for each encryption pair of a keys.
For each transaction request message received from the terminal, the
acquirer relays a modified message to the network switch. By keeping track
of the identifying number of the terminal, the acquirer is also able to
recover from storage the second master key encryption of the same session
key used to encrypt the PINc at the transaction terminal. It then
transmits this latter key, i.e., the session key which is encrypted in the
second master key to the network switch, as described above.
One of the significant advantages of an end-to-end encryption system, as
opposed to other types of encryption, is that the one time session keys
guarantee that all encrypted data and MACs will be different even for
identical transactions. Therefore, data-substitution, PIN substitution,
and message-replay types of adversary attacks are precluded. Also,
potentially more security is offered against statistical analysis types of
attack. A primary advantage of the present end-to-end encryption system is
the ease and economy with which these session keys are securely and
efficiently distributed. No special key-request or key-transmission
messages are required. Another significant advantage is that the system
also eliminates the requirements for encryption and re-encryption of
critical data, and recomputation of MACs at all intermediate nodes.
Therefore, the potential vulnerability to in-house sophisticated attacks
is lessened, the messageprocessing and computer-time requirements are
minimized, and the requirement for any on-line security processing at the
acquirer installation is eliminated, thereby precluding the need for a
special "Security-Module" peripheral at the acquirer.
In other, less desirable embodiments the MAC feature can be omitted,
however the level of security for the transaction diminishes accordingly.
In the areas of efficiency and growth, in the subject system, only one
security module access is required per transaction as opposed to five with
a link-encryption system. By security module access is meant access into a
secured, hardware/software unit in which encryption and/or decryption
processing can be securely executed. Any such access requires significant
amounts of processor and host to security module communication time. In
the subject end-to-end system, approximately only 15 real time encryption
and/or decryption cycles are required per transaction, as opposed to
approximately 56 for a link-encryption type of system. The relative
efficiency of end-to-end systems increases substantially for operations
requiring double-key encryption for maximum security.
As pointed out above, one of the advantages of the subject invention is
that no security module access is necessary at the acquirer when
retransmitting the message to the network switch. Rather, all
cryptographic security functions can be done in an off-line, batch manner
with most of the encrypted keys being stored on a disc. Groups of
encrypted keys can be accessed from the disks periodically, as needed.
The decision as to whether the issuer utilizes a security module is
typically left to the issuer. However, if the issuer does not use a
security module, there exists a remote possibility that the system could
be compromised. This method of attack relates to the replay of session
keys as discussed below. The present invention is intended to prevent this
mode of attack.
The message replay type of attack requires a passive tap hooked into the
processor located at the issuer. In addition, an active tap would have to
be installed between the automatic teller machine and the acquirer
station.
The attack sequence would then be carried out in the following manner. A
reply message from the acquirer to the ATM would be recorded in order to
obtain the encrypted session key which is appended to the message. The
following transaction initiated at the terminal will be encrypted using
the session key which had just been recorded. When the latter transaction
information reaches the issuer, the passive tap would then be utilized to
detect the session key while it was in clear text form in the processor.
This information would then be relayed to the active tap.
During a subsequent transmission of a reply from the acquirer to the
terminal, the active tap would strip off the new encrypted session key
which had been appended to the reply by the acquirer. The active tap will
replace the legitimate encrypted key with the stolen, known encrypted
session key. The criminal will then initiate a request for cash at the
ATM. This request will be encrypted under the known session key.
Accordingly, the active tap can intercept the response to this request and
construct a suitable approval reply message, utilizing the known session
key. This scenario could then be continuously replayed until the cash in
the teller machine was emptied with cash.
As can be appreciated, the above attack scenario is relatively complex,
requires a number of players and the timing must be accurately
coordinated. However, it would be desirable to eliminate any possible
modes of attack in an encryption system. One method of obviating this form
of attack is to require the issuer to utilize a security module. By this
arrangement, access to the session keys in clear text form is prevented.
However, as in most fund transfer systems, it is desirable to permit each
bank to have control over its own level of security. Furthermore, each
bank should not have to rely on remote banks to supply security.
Accordingly, it would be desirable to develop a system which would prevent
the above discussed mode of attack and yet not require issuer cooperation.
The latter object is solved in accordance with the new disclosure
contained in the subject application.
Briefly, this attack scenario is prevented by insuring that a session key
can never be used more than once. Session key uniqueness is guaranteed
utilizing a session key authentication code. A session key authentication
code SKAC is generated for each encryption pair of a session keys at the
acquirer station. The SKAC is generated in a manner similar to a MAC,
except that different inputs are used.
In use, when the acquirer station relays a message from the issuer, not
only is a new session key appended to the message but, in addition, the
SKAC is added. Prior to dispensing cash, the terminal will recompute and
verify the SKAC to determine if a new and unique session key has been
transmitted. If the SKAC is verified, the transaction will be completed
and the new key will be used to replace the old key. If the SKAC is not
verified, the terminal will request a new session key from the acquirer.
If a properly authorized new session key is not received, the terminal
will not complete the transaction.
Applicant's copending parent application can be referred to for a full
disclosure of the preferred implementation of an end-to-end encryption
system which does not utilize session key authentication codes. The
remainder of this specification will be limited to an embodiment where
session key authentication codes are utilized.
It is therefore the object of the present invention to provide a method of
operating a transaction execution system which allows for the efficient
and economical management of system keys and transmission of critical data
elements in encrypted form, from one of many transaction terminals to a
selected one of many destination data processors, which data are not, at
any intermediate station, decrypted to clear text.
It is still another object of the invention to provide a method and
apparatus for operating a transaction execution system which allows a
network to be easily formed and expanded.
It is a further object of the subject invention to provide a method and
apparatus for operating a transaction execution system which insures that
a unique session key is utilized for each transaction, thereby preventing
attack by message replay, substitution and the like.
The foregoing and other objectives, features and advantages of the present
invention will be more readily understood upon consideration of the
following detailed description of certain preferred embodiments of the
invention, taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram representation of a transaction execution network
in accordance with the invention;
FIG. 2 is a block diagram representation of a transaction terminal used in
the transaction execution network shown in FIG. 1;
FIG. 3 is an operational block diagram representation of the manner in
which a user initiated transaction request is initially processed by the
transaction terminal;
FIG. 4 is a block diagram of the acquirer station used in the transaction
execution network shown in FIG. 1;
FIG. 5 is an operational block diagram representation of the manner in
which a transaction request forwarded by the transaction terminal is
received by the acquirer station and is passed on to a network switch
station;
FIG. 6 is a block diagram of a network switch station used in the
transaction execution network shown in FIG. 1;
FIG. 7 is an operational block diagram representation of the manner in
which a transaction request is received by the network switch station from
the acquirer station and is forwarded to an issuer station;
FIG. 8 is a block diagram of the issuer station used in the transaction
execution network shown in FIG. 1;
FIG. 9 is an operational block diagram representation of the manner in
which a transaction request, forwarded by the network switch is received
by the issuer, is processed, and a reply message is generated;
FIG. 10 is an operational block diagram representation of the manner in
which the network switch relays the reply message to the acquirer station;
FIG. 11 is an operational block diagram representation of the manner in
which the issuer's reply message is processed by the acquirer station and
is relayed to the original transaction terminal;
FIG. 12 is an operational block diagram representation of the manner in
which a transaction reply message from the issuer; related by the network
switch and the acquirer, is processed by the original transaction
terminal;
FIG. 13 is an operational flow chart illustrating the computation of a
message authentication code, MAC; and
FIG. 14 is an operational block diagram illustrating how the acquirer
station depicted in FIG. 4 batch generates session key encryption pairs
for subsequent on-line use.
BEST MODE FOR CARRYING OUT THE INVENTION
Referring to FIG. 1, the transaction execution system of the invention
includes a plurality of acquirer stations 12, each of which has a
plurality of separate transaction terminals 10 associated with it. The
acquirer stations 12 can be placed in communication with a particular
issuer 20, e.g. the transaction terminal user's financial institution,
through a network switch station 16.
In operation, a transaction terminal 10, which may be an automatic teller
machine (ATM), cash dispensing (CD) machine or point of sale (POS)
terminal, receives transaction information from a user in the form of a
personal identification number PINc, an amount, a primary account number
PAN, a service code, etc. which can be input by means of a combination of
magnetic stripes on a plastic card and a keyboard. The transaction
terminal 10 identifies the PAN as having been issued by a potential
interchange-type issuer, then retrieves a session key from its electronic
memory, which key has been encrypted in a first master key. The session
key is decrypted using the first master key, and the personal
identification number PINc is encrypted using the session key and the data
encryption standard algorithm heretofore discussed. This
encryption/decryption process is described in further detail in "Data
Encryption Standard, Federal Information Processing Standards Publication,
January 15, 1977, FIPS PUB 46" which is incorporated herein by reference.
While this encryption/decryption algorithm is preferred, in other
embodiments other such algorithms having the same properties could be
used.
The transaction terminal 10 then computes a first message authentication
code MAC1 on critical data using the session key. Only certain data
elements, such as the PINc, need be kept secret by encryption during the
transmission of a message from the transaction terminal through the
interchange network to the issuer. Other elements, such as the transaction
amount, can generally be left in clear text form for possible processing
or logging at intermediate nodes of the network. These clear text message
elements may be protected through inclusion in a message authentication
code MAC.
A MAC, in the present invention, is computed at the point of message
origination by a process to be described in greater detail hereinafter in
reference to FIG. 13.
For the present purpose it is necessary only to note that the inputs to the
MAC computation are generated by concatenating all critical data elements
for which MAC protection is required. Using the DES with a session key,
the concatenated data is input, eight bytes (64-bits) at a time into a
sequence of MAC computation cycles. The final DES ciphertext output is
truncated to a standard length, in this example three bytes. This value
constitutes the MAC, the shortened length being used to minimize the
message length without undue sacrifice in security.
The MAC is included in the message for transmission to the destination
where it is recomputed with the same session key and input data elements.
If the two MAC values are equal, there is virtually no possibility that
any of these data elements could have been changed, thereby providing the
desired message authentication. In the event that the two values are not
equal, the integrity of the message is suspect and the message initiator
will be so notified to enable it to initiate prespecified procedures. Such
procedures would typically include regeneration and retransmission of the
message. Multiple MAC-check failures lead to some designated form of
action, such as refusing to accept any further transactions for that PIN
or PAN.
The transaction terminal 10 sends to an associated acquirer station 12 a
message comprised of the encrypted PINc, the MAC1 and other transaction
data. In some embodiments the transaction terminals are actually operated
under a controller tied to the acquirer 12, in which the data is relayed
by the controller to the acquirer host processor.
This transaction data would typically include the primary account number
PAN, the date, the time, the terminal identification number of the
transaction terminal 10, as well as other miscellaneous information.
The data are received at the acquirer station 12 connected to that
particular transaction terminal. The station 12 would typically be either
in the headquarters or branch of the financial institution which controls
the transaction terminal 10. A security module 14 may be associated with
the acquirer station 12. A security module would be a secured facility
within the station to which unauthorized physical and electronic accesses
are precluded as far as is feasible. Within the security module 14, a
plurality of encryption pairs of master key encrypted session keys are
batch-generated. The session key of each encryption pair is encrypted in a
first master key, and is also encrypted in a second master key. In the
present embodiment, a session key authentication code (SKAC) is computed
for each session key. The plurality of encrypted pairs of session keys,
i.e., e[KM.sub.1 ](KS.sub.1, KS.sub.2, KS.sub.3 . . . KS.sub.n),
e[KM.sub.2 ](KS.sub.2, KS.sub.2, KS.sub.3 . . . KS.sub.n) and the
associated SKAC's (SKAC.sub.1, SKAC.sub.2, SKAC.sub.3 . . . SKAC.sub.n)
are then output for storage in a memory within the acquirer host
processor.
In the preferred embodiment, the security module 14 is omitted and the
session keys and associated SKACs are simply generated, encrypted, and
stored by the host processor in off hours under special security
precautions.
When the acquirer 12 receives the transmission from the transaction
terminal 10, it identifies the transaction terminal that initiated the
inquiry which enables it to access from its host memory the second master
key encrypted session key, e[KM.sub.2 ](KS.sub.n) which is paired with the
first master key encrypted session key, e[KM.sub.1 ](KS.sub.n), used by
the transaction terminal 10 to encrypt the PINc and to compute the MAC1.
The message comprised of the encrypted PINc, the MAC1 and other
transaction data is relayed on to a network switch station 16 via data
communication lines 15. Appended to that transmission is the recovered,
second master key encrypted session key, e[KM.sub.2 ](KS.sub.n).
The network switch 16 processes transactions between a plurality of
acquirers and a plurality of issuers. In some systems, it may also provide
communications between two networks, in which case it would interface with
the network switch of the second system. Such network switches could be
located to be geographically convenient to the acquirers and issuers which
make up the network.
The network switch 16 has a security module 18 associated with it. The
network switch identifies the sending or acquirer financial institution
station 12, locates the security-module encrypted second master key for
that bank, determines which issuer 20 the message is intended for from the
primary account number, and locates the appropriate security-module
encrypted third master key for that issuer. The security module 18
decrypts the master keys, then decrypts the session key with the second
master key and reencrypts it in the third master key. The network switch
station 16 retransmits the message including the third master key
encrypted session key, e[KM.sub.3 ](KS.sub.n), to the designated issuer 20
via data communication lines 19.
The issuer 20 includes a host data processor and data base 22. It may also
have a security module 24. As discussed above, when utilizing session key
authentication codes, the acquirer station is protected even if the issuer
does not utilize a security module. However, the issuer may desire to use
a security module to protect its own accounts.
The issuer 20 receives the encrypted message from the network switch
station 16. The issuer then decrypts the session key using a third master
key and also decrypts the PINc using the now decrypted session key.
Furthermore, using the session key, the issuer recomputes the MAC1 and
verfies it. With the PAN, that is the primary account number, the issuer
retrieves the PIN associated with that PAN from the data base 22. This PIN
is typically encrypted in a data base key. The user-entered PINc is then
encrypted in the data base key also, and the two are compared for
verification of the user-entered PINc.
The issuer 20 then specifies an authorization code, such as "authorize" or
"deny" (the transaction), and generates a return message. A second message
authentication code MAC2 is computed using the session key. This return
message including the MAC2 travels back through the network switch 16 and
the acquirer 12 to the transaction terminal 10.
The network | | |