CA2288192C - Two way authentication protocol - Google Patents

Two way authentication protocol Download PDF

Info

Publication number
CA2288192C
CA2288192C CA002288192A CA2288192A CA2288192C CA 2288192 C CA2288192 C CA 2288192C CA 002288192 A CA002288192 A CA 002288192A CA 2288192 A CA2288192 A CA 2288192A CA 2288192 C CA2288192 C CA 2288192C
Authority
CA
Canada
Prior art keywords
correspondent
value
key
private
correspondents
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA002288192A
Other languages
French (fr)
Other versions
CA2288192A1 (en
Inventor
Scott A. Vanstone
Donald Johnson
Robert J. Lambert
Ashok V. Vadekar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Certicom Corp
Original Assignee
Certicom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Certicom Corp filed Critical Certicom Corp
Publication of CA2288192A1 publication Critical patent/CA2288192A1/en
Application granted granted Critical
Publication of CA2288192C publication Critical patent/CA2288192C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Sub-Exchange Stations And Push- Button Telephones (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method of authenticating a pair of correspondents C, S to permit the exchange of information therebetween, each of the correspondents having a respective private key, e, d and a public key, Q u and Q s derived from a generator element of a group and a respective ones of the private keys, e, d, the method comprising the steps of: a first of the correspondents C generating a session value x; the first correspondent generating a private value t, a public value derived from the private value t and the generator and a shared secret value derived from the private value t and the public key Q s of the second correspondent; the second correspondent generating a challenge value y and transmitting the challenge value y to the first correspondent; the first correspondent in response thereto computing a value h by applying a function H to the challenge value y, the session value x, the public value an of the first correspondent; the first correspondent signing the value h utilizing the private key e; the first correspondent transmitting to the second correspondent the signature including the session value x, and the private value t; and the second correspondent verifying the signature utilizing the public key Q u of the first correspondent and whereby verification of the signature authenticates thefirst correspondent to the second correspondent.

Description

TWO WAY AUTHENTICATION PROTOCOL

This invention relates to a protocol for verifying parties in a transaction and, in particular, cryptographic protocols for providing secure personal ATM transactions between an electronic device and a server and in which the protocols are based on a public key algorithm.
BACKGROUND OF THE INVENTION
With the advent of electronic commerce, the use of cash in financial transactions is becoming less popular, in favour of electronic wallets. Typically, a financial institution will issue its customers with a personal ATM device (P-ATM) and an electronic cash card. The user then uses the electronic cash card, which stores a cash amount thereon, in various financial transactions. The cash card communicates with the financial institution's central server via the personal ATM. Because there is less control exercised by a financial institution on a P-ATM

than a regular ATM installed, for example at a bank site, it is necessary for the P-ATMs to be authenticated both by the issuing financial institution as well as by the cash card user in addition to the usual verification of the cash card used by the institution and sometimes vice versa.
In order to simplify the manufacturing process for personal ATMs, the mapping of a P-ATM's cryptographic parameters to a server is unknown until the customer purchases the P-ATM device. To perform P-ATM to server binding, it is necessary to issue the appropriate server public key to the P-ATM and to issue the P-ATM public key and ID to the appropriate server. Both of these actions must be done securely. The difficulty in the authentication presented by this type of application is that the cash card must trust the server and vice versa.
Thus, it is necessary that the server then verify the P-ATM and vice versa.
Once the server and the P-ATM trust each other, the user can then use the cash card with the ATM
with relative confidence. Furthermore, these verifications must be performed relatively quickly. Thus, there is a need for a verification and authentication protocol that meets the needs of this type of transaction.

SUMMARY OF THE INVENTION
This invention seeks to provide a verification and authentication protocol that enables at least one party in at least a three party transaction to be authenticated by the remaining parties.
Furthermore this invention seeks to provide an authentication protocol in a cash-card, personal ATM and server transaction.
This invention also seeks to provide a key distribution method for personal ATM's and the like.
In one aspect, there is provided a method of authenticating a pair of correspondents C, S
to permit the exchange of information therebetween, each of the correspondents having a respective private key, e, d and a public key, Qõ and QS derived from a generator element of a group and a respective ones of the private keys e, d, the method comprising the steps of:

i. a first of the correspondents C generating a session value x;
ii. the first correspondent generating a private value t,a public value derived from the private value and the generator and a shared secret value derived from the private value t and the public key QS of the second correspondent;
iii. the second correspondent generating a challenge value y and transmitting the challenge value y to the first correspondent;

iv. the first correspondent in response thereto computing a value h by applying a function H to the challenge value y, the session value x, the public value of the first correspondent;
v. the first correspondent signing the value h utilizing the private key e;
vi. the first correspondent transmitting to the second correspondent a signature including the session value x, and the private value t; and vii. the second correspondent verifying the signature utilizing the public key Qõ of the first correspondent and whereby verification of the signature authenticates the first correspondent to the second correspondent.

Also, this aspect of the invention provides for apparatus for carrying out the method.
Such an apparatus can comprise any computational apparatus such as a suitably programmed computer.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other features of the present invention will become more apparent from the following description of preferred embodiments of the invention, which are described by way of example, only, with reference to the accompanying drawings in which like elements have been assigned like numbers and wherein:
Figure 1 is a schematic diagram of P-ATM server configuration;
Figures 2 (a), (b), (c) and (d) are schematic diagrams of an authentication protocol between a server and a personal ATM;
Figures 3 (a), (b) and (c) are schematic diagrams of a two phase public key distribution system;
Figures 4 (a) and (b) are schematic diagrams of a single phase symmetric key distribution system;
Figures 5 (a), (b) and (c) are schematic diagrams showing a protocol for establishing a secure session without a sign only module;
Figure 6 is a further embodiment of a two phase public key distribution system; and Figure 7 is a further embodiment of a single phase symmetric key distribution system.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
Referring to figure 1, a personal ATM (P-ATM) 10 has sign only module (SAM) chip 12, such as a SC27 or SC46, embedded therein. The P-ATM also includes an 8058 8-bit processor chip 14 which is only capable of performing simple calculations due to its low processing power.
The SAM module generally has elliptic curve (EC) sign-only capabilities and is generally available in "smart-cards" and the like. The P-ATM 10 is connected via a suitable communication channel 17 to a service server 18. A cash card 16 may be used to access services provided by the server 18 via the P-ATM 10.
Message exchange between the P-ATM 10 and the server takes place using public key encryption. For the sake of clarity, the following terms which are used in the following description, are defined:

P - A generator point on an elliptic curve.
IDu - A string that uniquely identifies the P-ATM 10, this string is stored within the 8058 firmware.
e, Qu - A private (signature) and public keys of the SAM embedded within a P-ATM
device. The public key Qõ is obtained from the private key e.
d, QS - Private and public keys of the server 18.
x - A session random value generated by a P-ATM device.
y - A session random value generated by the server 18.

M- A plaintext message of arbitrary content in either direction between the P-ATM and server.
SHA(M) - The hash of a message Musing SHA-1.

DES K(M) - The ciphertext generated by encrypting plaintext M with DES using a key K.
DES (E)- The plaintext generated by decrypting ciphertext E with DES using a key K.
Se (M) - A signature generated by signing message M with private key e.

t - A Diffie-Hellman private value generated by the P-ATM used to generate a shared secret tQs. The value of t may be precomputed and/or reused over multiple sessions.
Referring now to figure 2 (a), it is assumed that the SAM, the P-ATM and the server have already been initialized with the appropriate parameters. This will be discussed later. A session is established by the P-ATM initiating a call to the server on the request of a user. For each session, the P-ATM generates a random session unique value x and computes tP
(the Diffie-Hellman shared secret) and tQ S. The value t is the Diffie-Hellman private value used to generate the eventual shared secret tQ s. The server, once it receives a call request from the P-ATM, will generate a random session value y and queries the identity of the P-ATM.
Generally, when the P-ATM establishes a call to the server, the server will generate a "who-are-you?" challenge to the P-ATM. The P-ATM's response to the server's "who-are-you?"
challenge will include the following information: its serial number and/or equivalent identification string (IDu) (this will be used for public key lookup at the server); the session unique number (x) (this must be a statistically unique number but not necessarily non-deterministic); the Diffie-Hellman public value (tP); and a signature SQ (h) of the hash h = SHA(yI~IItPII IDõ) signed by the private key e of the SAM. The P-ATM
will thus send (IDu, x, tP, Se (h)) to the server. The SHA is generally an SHA-1 hash function.
At whatever point tP is computed (just prior to the call, several sessions previous, or as a one time computation), it is also necessary to compute tQ S.

At the server, IDu will be used to look up Qu from a database of stored public keys of literally thousands of P-ATMs. The value x may be verified to be unique if possible (for example, if x is a transaction number, make sure it is larger than the last transaction number).
The values x, tP, and IDu, will be used to reconstruct the hashed message h = SHA( yI I x II tPIIIDu). The hash h will then be used to verify the signature using the public key Qu recovered from the database. Assuming all is successful, the server now knows that it is communicating with a legitimate P-ATM.

The server must now construct the Diffie-Hellman shared secret tQ s. This is done with its private key d to compute:
tQ s =d(tP).

From the shared secret d(tP) and both the server and P-ATM session-unique values y and x, respectively, a session key k is derived from a hash of (d(tP) I~I~ II
usage code) where the usage code may be a string specifying "MAC" or "ENC," or if only one, then it is set to null.
The user of the P-ATM would decide whether to use "MAC" or "ENC," e.g. for transactions over $1000 - use "ENC" or use "MAC," otherwise:

K = SHA(d(tP)IIxI ~II "MAC") or 11"ENC".
Set up by a user profile for example stored in the cash card when it is issued by the institution.
Transaction messages in either direction can now be made verifiable by appending a data encryption standard message authentication code (DES MAC) using the computed session key KMAc as shown in figure 2(b). Alternatively as shown in figure 2(c), messages can be made private by encrypting them with the key KENC instead of MACing. If only authentication is required, the message recipient must recompute the MAC from the message and accept it only if the MACs agree. If encryption is desired, the plaintext message must be decrypted from the ciphertext message received. If both encryption and verification is required, then both encryption and MACing may be employed as shown in figure 2(d). With the above protocol, it may be seen that service storage, computation and speed constraints of the P-ATM are overcome since it performs relatively simple operations. For example, the computation of a hash is relatively easy, whereas the dedicated SAM performs the signature function.
Similarly, the verification of the DES MAC is relatively easy for the P-ATM to perform. Thus, security is achieved by the P-ATM and server computing and using a shared secret that ensures the accuracy of each session.
Turning now to figure 3, as outlined earlier, in order to simplify the manufacturing process for P-ATMs, the mapping of P-ATMs to their servers is unknown until the customer purchases a device. It is anticipated that servers may service in the order of 100,000 P-ATMs.
To perform P-ATM to server binding it is necessary to issue the appropriate server public key Q S to the P-ATM and to issue the P-ATM public key Qu and identity information IDõ to the appropriate server. Both of these actions must be performed securely. This may be achieved by either a two phase method using public key cryptography which uses the previously defined secure protocol for P-ATM to server messaging or a one phase method using symmetric key cryptography.
A two phase public key distribution method is described with reference to figure 3. In this embodiment, a key distribution server (KDS) 20 exists, as shown in figure 1, which is used to bind P-ATMs 10 to their long-term servers 18. The SAM modules 12 within the P-ATMs 10 are pre-keyed with their private key e and public key Qu by the SAM
manufacturer. The private key e can only be accessed from within the SAM by a signature functions. The public key Qõ
can be read by the P-ATM. The P-ATMs are preloaded with a public key Q, of the KDS at manufacture time. A connection must be established once from each P-ATM to the KDS in order to bind that P-ATM to the appropriate server. A connection must be established from the KDS to the server for each P-ATM being bound to that server.
Consider the initial state of the three distinct entities: KDS 20, P-ATM 10, and server 18.
The KDS is installed and constructs its key pair (dk, Qk) prior to the manufacture of P-ATMs.
Each P-ATM is manufactured with a SAM containing the key pair (du, Qu), and with the KDS
public key Qk embedded within its ROM. At some time in the future, the server 18 is installed and constructs its private, public key pair (ds, Qs). When this occurs, the KDS is informed of the server's public key (QS) and any localization information about the server (service type, geographic coverage, etc.).

Once a P-ATM is delivered to the customer it must be bound to a server before it can be used for its intended purpose. This is accomplished by first establishing a connection from the P-ATM 10 to the KDS 20. This can be done using the same communications mechanisms, protocols, and cryptography as a P-ATM-to-server connection. Once this connection is established, the P-ATM can issue its public key Q, to the KDS 20 and the KDS
20 can issue the appropriate server's public key Qu to the P-ATM 10. The appropriate server is determined by the application in which the P- ATM 10 is to be used. For example, it could be a function of where the P-ATM was purchased. Specification of the intended function for the P-ATM
could be either inband or out of band.
Subsequent to this connection, the P-ATM now knows the server to which it will make a connection. The server must be informed of the new P-ATM that it must recognize. This can be done by the KDS making a secure connection with the server (again, using the same P-ATM-to-server protocol) as if it were a P-ATM. The new binding information may conveniently be stored in a database within the server and is then integrated into the server's world-view. This database update connection can occur either as a batch operation at the end of each week, in real-time on a per binding basis, or at some time in between these extremes.
In another embodiment, a single phase syinmetric key distribution method is described with reference to figure 4. In this embodiment as with the previous embodiment, the SAM
modules are pre-keyed by the SAM manufacturer. The private key du, can only be accessed by the signature function. The public key Qu, can be read by the P-ATM. The P-ATMs are preloaded with a unique (DES) server authentication key (SAK) at manufacture time. This key will authenticate the server public key Qs the first time a connection is established to the P-ATM.
A connection must be established to a server for each P-ATM being bound to that server. The KDS 20 maintains a solitary triple-DES key KV with which the P-ATM server authenticating keys (SAKs) are generated.
Consider the initial state of the P-ATM 10 and server 18. Each P-ATM is manufactured with a SAM containing the key pair (du, Qu), and with a unique identifier ID,,. During manufacture, each P-ATM's identity defined by its unique identifier IDu, and public key Q,s (ID,,, Qõ) is encrypted under the triple-DES key Kv to produce a SAK = T DES K(IDu, QS). Each P-ATM obtains a unique SAK because the P-ATM identities are all distinct. At some time in the future. a client server is installed and constructs its key pair (ds, QS).
When this occurs, the KDS
20 is informed of the server's public key (QS) and any localization information about the server (service type, geographic coverage, etc.).
Once a P-ATM is delivered to the customer it must be bound to the server before it can be used for its intended purpose. Registering the P-ATM device with the KDS
binds the P-ATM
to the appropriate server. In order to notify the server of the newly legitimized P-ATM, that server is sent the P-ATM's identity ID,,, and public key Q. In order for the P-ATM to accept the server as legitimate the first time a connection is established, the P-ATM's identity and server's public key QS are encrypted with the P-ATM's SAK (ESK = DES S ~K (IDu, QS)) and sent to the server as an update to its database. This transport can be easily used to protect server updates.
The server will issue the encrypted key to the P-ATM where it is verified using the SAK
as shown in figure 4(b). The SAK need not be securely stored at manufacture time for this purpose; it is possible to reconstruct the SAK using the ID and public key of the P-ATM and the triple-DES key which only the KDS has.
In another embodiment, the P-ATM may not have a SAM module embedded within it.
In this case, as shown in figure 5(a), the P-ATM's response to the server's "who-are-you?" challenge will include its identification string (IDu,) and its transaction-unique number (x) and the Diffie-Hellman public value (tP). In contrast to the embodiment shown in figure 2, where the response includes the signature component.
As previously shown, ID,, will be checked in the database. If it exists, the server now knows that it is communicating with a legitimate P-ATM. The transaction number x may be verified unique if possible (for example, if x is a transaction number, make sure it is larger than the last transaction number). The Diffie-Hellman shared secret tQS will be computed from the transmitted value tP using the server's private key d. From the shared secret and both the server and P-ATM session-unique values a session key is derived:
K= SHA(xjMjd(tP) jJID,jj"MAC") or 11"ENC" or both or null.
This completes the secure call establishment as is more clearly seen with reference to figure 5(a).
Once a secure call has been established between the P-ATM and the server, transaction messages in either direction can now be made verifiable by appending a DES MAC
using the computed session key shown in figure 5(b) and 5(c). Alternatively, messages can be made private by encrypting them with that key instead of MACing them. If only authentication is required, the message recipient must recompute the MAC from the message and accept it only if the MACs agree. If encryption is desired, the plaintext message must be decrypted from the ciphertext message received or both.
In the case of P-ATMs not manufactured with SAM modules it is still necessary to perform P-ATM to server binding to issue the appropriate server public key to the P- ATM and to issue the P-ATM ID to the appropriate server. Both of these actions must be done securely.
As with the SAM module P-ATM previously described, two methods of key distribution may be implemented. The two phase public key distribution method, as shown in figure 6, once again assumes that a key distribution server (KDS) exists which issues binding information to the appropriate server for each P-ATM. The P-ATMs are preloaded with a server authentication key (SAK) generated by the KDS at manufacture time. The KDS uses the same triple-DES key to generate unique SAKs for all P-ATMs.
Alternatively, a single phase symmetric key distribution method is illustrated in figure 7.
The P-ATMs are preloaded with a uriique (DES) server authentication key (SAK) at manufacture time. This key will authenticate the server public key the first time a connection is established.
A connection must be established from the KDS to a server for each P-ATM being bound to that server. The KDS maintains a solitary triple-DES key with which the P-ATM
server authenticating keys (SAKs) are generated. This key distribution then proceeds similarly to that described with reference to the embodiment shown in figure 4.
While the above protocols have been described with reference to specific embodiments thereof and in a specific use, various modifications thereof will occur to those skilled in the art without departing from the spirit of the invention. For example, other symmetric key schemes, instead of DES and triple DES, may be implemented, similarly equivalent hash functions, possibly derived from DES may be implemented instead of SHA1.
The protocols provide secure generation and loading of keying material at both the time of manufacture of the P-ATM and the initial communication with its assigned server. They also provide mutual authentication of the P-ATM and server on a per session basis.

Claims (17)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE PROPERTY
OF PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. A method of authenticating a pair of correspondents C,S to permit the exchange of information therebetween, each of said correspondents having a respective private key, e, d and a public key, Q u and Q s derived from a generator element of a group and a respective ones of said private keys e,d said method comprising the steps of:
i. a first of said correspondents C generating a session value x;
ii. said first correspondent generating a private value t,a public value derived from said private value and said generator and a shared secret value derived from said private value t and said public key Q s of said second correspondent;
iii. said second correspondent generating a challenge value y and transmitting said challenge value y to said first correspondent;
iv. said first correspondent in response thereto computing a value h by applying a function H to said challenge value y, said session value x, said public value of said first correspondent;

v. said first correspondent signing said value h utilizing said private key e;
vi. said first correspondent transmitting to said second correspondent a signature including said session value x, and said private value t; and vii. said second correspondent verifying said signature utilizing said public key Q u of said first correspondent and whereby verification of said signature authenticates said first correspondent to said second correspondent.
2. A method as defined in claim 1, including said second correspondent computing said shared secret value by utilizing its private key d and said public value and said first and second correspondents computing a session key k derived from said shared secret, said session value x and said challenge value y.
3. A method as defined in claim 1, said signature forwarded by said first correspondent including an identification ID u of said first correspondent.
4. A method as defined in claim 1, said first correspondent including a general purpose computer and a signature module for computing said signature.
5. A method as defined in claim 4, said private and public keys of said first correspondent being embedded within said signature module and said private key being accessible by a signature function.
6. A method as defined in claim 5, said identification ID u being stored within said general purpose processor.
7. A method as defined in claim 1, said public value being a Diffie-Hellman public value.
8. A method as defined in claim 1, said group being an elliptic curve group E(F a) and said generator element being a point P on said elliptic curve.
9. A method as defined in claim 1, said second correspondent utilizing said identification ID u for retrieving said public key Q u from a database.
10. A method as defined in claim 9, said session key k including a usage code value for specifying a transaction type in a given session.
11. A method as defined in claim 1, said function H being a hash function.
12. A method as defined in claim 2, including transmitting a verifiable message between said correspondents by appending thereto a data encryption standard authentication code using said session key k.
13. A method as defined in claim 1, said group being an elliptic curve group E(F2 m) and said generator being a point P on said elliptic curve.
14. A method as defined in claim 1, said second correspondent being a key distribution server.
15. A method as defined in claim 1, said first correspondent being a terminal and second correspondent being a server.
16. A method of authenticating a pair of correspondents C,S to permit the exchange of information therebetween, each of said correspondents having a respective private key, e, d and a public key, Q u and Q s derived from a generator element of a group and a respective ones of said private keys e,d, said method comprising the steps of:
i. a first of said correspondents C generating a session value x;
ii. said first correspondent generating a private value t, a said generator and a shared secret value derived from said private value t and said public key Q s of said second correspondent;
iii. said second correspondent generating a challenge value y and transmitting said challenge value y to said first correspondent;

iv. said first correspondent in response thereto transmitting said challenge value y, said session value x, and said public value of said first correspondent; and v. said second correspondent verifying a corresponding stored identity to thereby verify said first correspondent.
17. A method of authenticating a pair of correspondents C,S to permit exchange of information therebetween, each of said correspondents C,S having a respective private key e,d and a public key Q u and Q s derived from a generator P and a respective ones of said private keys e,d, a second of said correspondents including a memory for storing public keys of one or more of said first correspondents, said memory including a list of said first correspondents having a unique identification information ID u stored therein, said method comprising the steps of:

a) said second of said correspondents generating a random value y upon initiation of a transaction between said correspondents;

b) said second correspondent S forwarding to said first correspondent C said value y;
c) said first correspondent C generating a first random number x and computing a public session key tP from a private key t, d) said first correspondent C generating a message H by combining said first random number x, said value y, said public session key tP and said unique identification information ID u, and computing a signature S e of said message H;
e) said first correspondent C transmitting said signature S e said public session key tP, said value x and said identification ID u to said second correspondent;
f) said second correspondent upon receipt of said message from said previous step (Q) retrieving said public key Q u of said first correspondent from said memory using said received identification information ID u ; and g) said second correspondent verifying said received signature using said recovered public key Q u and verifying said message H and computing a shared secret key d(tP), whereby both said correspondents may calculate a shared secret key k by combining the computed secret tQ s =d(tP) with said first random number x and said random value y, said key k being utilized in subsequent transactions between said correspondents for a duration of said session.
CA002288192A 1997-05-02 1998-05-04 Two way authentication protocol Expired - Lifetime CA2288192C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB9709135.9A GB9709135D0 (en) 1997-05-02 1997-05-02 Two way authentication protocol
GB9709135.9 1997-05-02
PCT/CA1998/000418 WO1998051032A2 (en) 1997-05-02 1998-05-04 Two way authentication protocol

Publications (2)

Publication Number Publication Date
CA2288192A1 CA2288192A1 (en) 1998-11-12
CA2288192C true CA2288192C (en) 2008-09-23

Family

ID=10811856

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002288192A Expired - Lifetime CA2288192C (en) 1997-05-02 1998-05-04 Two way authentication protocol

Country Status (7)

Country Link
US (1) US6487660B1 (en)
EP (1) EP0979496B1 (en)
AU (1) AU7201898A (en)
CA (1) CA2288192C (en)
DE (1) DE69830902T2 (en)
GB (1) GB9709135D0 (en)
WO (1) WO1998051032A2 (en)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816968B1 (en) * 1998-07-10 2004-11-09 Silverbrook Research Pty Ltd Consumable authentication protocol and system
CA2255285C (en) 1998-12-04 2009-10-13 Certicom Corp. Enhanced subscriber authentication protocol
US7343351B1 (en) 1999-08-31 2008-03-11 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US7197642B2 (en) * 2000-02-15 2007-03-27 Silverbrook Research Pty Ltd Consumable authentication protocol and system
FR2810139B1 (en) * 2000-06-08 2002-08-23 Bull Cp8 METHOD FOR SECURING THE PRE-INITIALIZATION PHASE OF AN ON-BOARD ELECTRONIC CHIP SYSTEM, ESPECIALLY A CHIP CARD, AND ON-BOARD SYSTEM IMPLEMENTING THE METHOD
US7373507B2 (en) * 2000-08-10 2008-05-13 Plethora Technology, Inc. System and method for establishing secure communication
FR2827976B1 (en) * 2001-07-25 2004-01-23 Gemplus Card Int PROTECTION OF PERSONAL DATA READ IN A TERMINAL STATION BY A SERVER
US20040050929A1 (en) * 2002-09-16 2004-03-18 Fayfield Robert W. Extranet security system and method
US8494910B2 (en) * 2002-12-02 2013-07-23 International Business Machines Corporation Method, system and program product for supporting a transaction between electronic device users
US7480384B2 (en) * 2003-02-10 2009-01-20 International Business Machines Corporation Method for distributing and authenticating public keys using random numbers and Diffie-Hellman public keys
MY142175A (en) * 2003-08-01 2010-10-15 Multimedia Glory Sdn Bhd Process of storage of biometric features
US7937759B2 (en) * 2003-10-02 2011-05-03 Auburn University System and method for protecting communication devices from denial of service attacks
US7774841B2 (en) 2003-10-02 2010-08-10 Aubum University System and method for protecting network resources from denial of service attacks
KR100677152B1 (en) * 2004-11-17 2007-02-02 삼성전자주식회사 Method for transmitting content in home network using user-binding
CN101116284B (en) * 2004-12-17 2012-11-14 艾利森电话股份有限公司 Clone resistant mutual authentication method, identity module, server and system in a radio communication network
WO2008091768A2 (en) * 2007-01-22 2008-07-31 Global Crypto Systems Methods and systems for digital authentication using digitally signed images
US20080235513A1 (en) * 2007-03-19 2008-09-25 Microsoft Corporation Three Party Authentication
US20090025066A1 (en) * 2007-07-17 2009-01-22 Protectia Corporation Systems and methods for first and second party authentication
CN101179380A (en) * 2007-11-19 2008-05-14 上海交通大学 Bidirectional authentication method, system and network terminal
US8943551B2 (en) 2008-08-14 2015-01-27 Microsoft Corporation Cloud-based device information storage
US8099761B2 (en) * 2008-08-14 2012-01-17 Microsoft Corporation Protocol for device to station association
US8769612B2 (en) * 2008-08-14 2014-07-01 Microsoft Corporation Portable device association
EP2154814A1 (en) * 2008-08-14 2010-02-17 Koninklijke Philips Electronics N.V. Scalable key distribution
US8370920B2 (en) 2009-10-28 2013-02-05 Aunigma Network Security Corp. System and method for providing unified transport and security protocols
US9252941B2 (en) * 2009-11-06 2016-02-02 Nikolajs VOLKOVS Enhanced digital signatures algorithm method and system utilitzing a secret generator
US20120144197A1 (en) * 2010-12-02 2012-06-07 Jong-Moon Chung Point-to-point communication method in a wireless sensor network and methods of driving coordinators and communication devices in the wireless sensor network
US20120189122A1 (en) * 2011-01-20 2012-07-26 Yi-Li Huang Method with dynamic keys for mutual authentication in wireless communication environments without prior authentication connection
US9032106B2 (en) 2013-05-29 2015-05-12 Microsoft Technology Licensing, Llc Synchronizing device association data among computing devices
US9819488B2 (en) 2014-07-10 2017-11-14 Ohio State Innovation Foundation Generation of encryption keys based on location
US10021069B1 (en) 2015-04-02 2018-07-10 Aunigma Network Security Corp. Real time dynamic client access control
US11303632B1 (en) 2018-06-08 2022-04-12 Wells Fargo Bank, N.A. Two-way authentication system and method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8524020D0 (en) * 1985-09-30 1985-11-06 British Telecomm Electronic funds transfer
FR2663141B1 (en) * 1990-06-11 1992-08-21 France Etat METHOD FOR TRANSFERRING SECRECY, BY EXCHANGING TWO CERTIFICATES BETWEEN TWO RECIPROCALLY AUTHENTICATING MICROCULCATORS.
AU622915B2 (en) * 1988-05-19 1992-04-30 Ncr Corporation Method and device for authentication
US4949380A (en) * 1988-10-20 1990-08-14 David Chaum Returned-value blind signature systems
JP2731945B2 (en) * 1989-06-05 1998-03-25 エヌ・ティ・ティ・データ通信株式会社 IC card that can be authenticated by individual key
US5272755A (en) * 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
DE69331006D1 (en) * 1992-03-30 2001-11-29 Telstra Corp Ltd SECRET TRANSFER METHOD AND SYSTEM
WO1995024708A1 (en) * 1994-03-07 1995-09-14 Nippon Telegraph And Telephone Corporation Method and system for transmitting information utilizing zero-knowledge certifying protocol
US5504817A (en) * 1994-05-09 1996-04-02 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for memory efficient variants of public key encryption and identification schemes for smart card applications

Also Published As

Publication number Publication date
AU7201898A (en) 1998-11-27
WO1998051032A3 (en) 1999-02-04
EP0979496B1 (en) 2005-07-20
CA2288192A1 (en) 1998-11-12
US6487660B1 (en) 2002-11-26
DE69830902D1 (en) 2005-08-25
GB9709135D0 (en) 1997-06-25
DE69830902T2 (en) 2006-04-06
EP0979496A2 (en) 2000-02-16
WO1998051032A2 (en) 1998-11-12

Similar Documents

Publication Publication Date Title
CA2288192C (en) Two way authentication protocol
US10903991B1 (en) Systems and methods for generating signatures
US6085320A (en) Client/server protocol for proving authenticity
Park On certificate-based security protocols for wireless mobile communication systems
US5852665A (en) Internationally regulated system for one to one cryptographic communications with national sovereignty without key escrow
Das et al. A dynamic ID-based remote user authentication scheme
US7664259B2 (en) Encryption and verification using partial public key
US6119227A (en) Methods and apparatus for authenticating an originator of a message
US6446207B1 (en) Verification protocol
US8583928B2 (en) Portable security transaction protocol
US8160966B2 (en) Token based new digital cash protocols
US5664017A (en) Internationally regulated system for one to one cryptographic communications with national sovereignty without key escrow
EP1350356B1 (en) A method and system for authorizing generation of asymmetric crypto-keys
US20010056409A1 (en) Offline one time credit card numbers for secure e-commerce
US20090182673A1 (en) Token based new digital cash protocols with combined blind digital signature and pseudonym authentication
US20050105735A1 (en) Information processing system and method, information processing device and method, recording medium, and program
WO1998025375A1 (en) Token distribution and registration system and method
JPH037399A (en) Ic card which can be verified by individual key
EP0225010B1 (en) A terminal for a system requiring secure access
US20020018570A1 (en) System and method for secure comparison of a common secret of communicating devices
US20030037241A1 (en) Single algorithm cipher suite for messaging
Chanson et al. Design and implementation of a PKI-based end-to-end secure infrastructure for mobile e-commerce
CN115865520A (en) Authentication and access control method with privacy protection in mobile cloud service environment
NL1043779B1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
CN113688405A (en) Bidirectional authentication hybrid encryption method based on block chain

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20180504