WO1999064995A1 - Secure transaction system - Google Patents

Secure transaction system Download PDF

Info

Publication number
WO1999064995A1
WO1999064995A1 PCT/GB1998/002868 GB9802868W WO9964995A1 WO 1999064995 A1 WO1999064995 A1 WO 1999064995A1 GB 9802868 W GB9802868 W GB 9802868W WO 9964995 A1 WO9964995 A1 WO 9964995A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
transaction
data
authorisation
terminal
Prior art date
Application number
PCT/GB1998/002868
Other languages
French (fr)
Inventor
David Alexander Taylor
Mark Jonathan Stirland
Original Assignee
Barclays Bank Plc
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 Barclays Bank Plc filed Critical Barclays Bank Plc
Priority to DE29824106U priority Critical patent/DE29824106U1/en
Priority to AU91757/98A priority patent/AU9175798A/en
Priority to JP2000553924A priority patent/JP2002517869A/en
Priority to CA002299294A priority patent/CA2299294A1/en
Publication of WO1999064995A1 publication Critical patent/WO1999064995A1/en

Links

Classifications

    • 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

Definitions

  • the present invention relates to a secure transaction system, particularly for use over a public network.
  • the most common and well-known public data network is the Internet, which provides network access to members of the public at low cost.
  • Many types of commercial transaction which were previously conducted via telephone, mail or private network may now be conducted more easily over the Internet.
  • internet protocols such as TCP/IP were not designed for security, and it has therefore been necessary to provide additional protocols for secure transactions over the Internet, including transport-level protocols such as the Secure Sockets Layer (SSL), and application-level protocols such as the Secure Hypertext Transfer Protocol (SHTTP).
  • SSL Secure Sockets Layer
  • SHTTP Secure Hypertext Transfer Protocol
  • Such transactions involve three parties: a client which supplies credit card details, a service provider server operated by a supplier of goods or services, and an authorisation server which checks the credit card details and informs the service provider server whether payment is authorised by the operator of the credit card system.
  • an electronic transaction system in which a terminal combines transaction data which is unique to a current transaction with terminal data which is unique to that terminal to generate bound terminal/transaction information which is sent to the transaction server.
  • the transaction server sends the transaction data to an authorisation server which returns information which binds the transaction to the identity of the authorisation server.
  • the transaction server then has available information which binds together the transaction, the terminal and the authorisation server in a form which cannot be fraudulently created by the transaction server, and therefore cannot be repudiated.
  • an electronic transaction system in which an authorisation token is issued to a user.
  • Information confirming the identity of both the authorisation token and the user are presented to an authority which confirms the validity of this information and makes it available to an authorisation server.
  • the authorisation token is then used in an electronic transaction with a transaction server, in which user identification information and authorisation token information are supplied to the transaction server and passed to the authorisation server.
  • the authorisation server compares the user identification information and authorisation token information with information previously made available by the authority and indicates to the transaction server the result of the comparison. In this way. because the correspondence between the user and the token has been verified before the transaction, the use of the token by the user can be confirmed during the transaction.
  • an electronic transaction system in which a user terminal transmits to a transaction server transaction data and identification data.
  • the transaction data is passed from the transaction server to an authorisation server, which compares the identification data with stored identification data relating to authorised users of the system.
  • the authorisation server then transmits to the transaction server an authorisation message indicating how the identification data matches with the stored identification data.
  • the transaction server determines whether to accept the transaction data on the basis of the authorisation message and the transaction data.
  • Figure 1 is a diagram of the service functions of an authorisation system in an embodiment of the present invention
  • Figure 2 is a diagram of the architecture of the system:
  • Figure 3 is a diagram of the hardware components of a user terminal;
  • Figure 4 is a diagram of the hardware components of a smartcard;
  • Figure 5 is a diagram of the sub-systems within the authorisation server in the embodiment.
  • Figure 6 is a diagram of the certification architecture of the system
  • Figure 7 is a diagram illustrating a more specific embodiment in which the system is used to authorise an electronic form
  • FIG 8 shows the flow of data in the specific embodiment
  • Figure 9 shows the cryptographic processes applied by the user terminal
  • Figure 10 shows the digital signature validation process applied by the electronic form server
  • Figure 1 1 shows the transmission of an authorisation request message to the authorisation server
  • Figure 12 shows the authorisation process performed by the authorisation server
  • Figure 13 shows the authorisation response message process from the authorisation server to the electronic form server.
  • FIG. 1 shows the service functions which provide a digital signature generation and authentication service in an embodiment of the present invention.
  • a digital signature generator 10 generates digital signatures in the form of data which uniquely identifies a specific party and binds the signed data to that party.
  • Digital signatures are a known technique for protecting data from modification and for identifying the signing party.
  • the signing party is provided with a private/public key pair, which can be used to generate and verify digital signatures.
  • the ⁇ party' is usually assumed to be the user operating the computer which stores the private key and generates the digital signature.
  • the private key is stored on a smart card and therefore the digital signature binds the signed data to the smart card.
  • the 'party ' is the smart card.
  • a digital signature can be verified by performing the same hash algorithm on the received data as was used to generate the hash encoded in the digital signature.
  • the digital signature is then decrypted using the public key and the decrypted hash is then compared to the calculated hash. If the hashes match, the signature is valid.
  • Examples of digital signature algorithms are the RSA digital signature, in which the hash is encrypted together with an indication of the type of the hash algorithm using RSA encryption, and the digital signature algorithm (DSA), in which the hash algorithm is the SHA and the hash is encrypted together with a random number by a variant of the Diff ⁇ e- Helman algorithm.
  • the digital signature generator 10 exchanges information IE with a digital signature acceptor 20. and sends 'signed' information SI to the digital signature acceptor 20 which includes a first digital signature generated using a private key and a second digital signature using a symmetric key, both keys being held by the digital signature generator 10.
  • the digital signature acceptor 20 verifies the first signature and sends an authorisation request AREQ to a digital signature authoriser 30.
  • the authorisation request AREQ includes information derived from the signed information SI and the second signature.
  • the digital signature authoriser 30 checks the information derived from the signed information SI and the second signature, and sends to the digital signature acceptor an authorisation response ARES indicating whether the signature is to be accepted as genuine.
  • the authorisation response ARES is signed with a digital signature generated by a private key held by the digital signature authoriser 30.
  • the digital signature acceptor 20 accepts or rejects the signed information SI.
  • the digital signature acceptor 20 may further transmit a notarisation request NREQ to a signed message notariser 40, including information derived from the signed information SI and from the authorisation response ARES.
  • the signed message notariser 40 transmits to the digital signature acceptor 20 a notarisation confirmation NCF which includes information derived from the notarisation request
  • the digital signature acceptor 20 transmits archive deposit information ARDEP, which may for example comprise the signed information SI, the authorisation response ARES and the notarisation confirmation NCF. to a long-term archive 50. This information is later retrieved from the long-term archive 50 as archive retrieval information ARRET in the event of repudiation of the signed information SI.
  • archive deposit information ARDEP which may for example comprise the signed information SI, the authorisation response ARES and the notarisation confirmation NCF.
  • FIG. 1 A high-level system architecture of the digital signature authorisation service is shown in Figure 2. Like parts to those of Figure 1 carry the same reference numerals.
  • a user 12 wishing to subscribe to the digital signature service must first apply for a smart card 18 from which the user ' s digital signatures are derived.
  • the user 12 has a computer 14 connectable to the Internet 100 via a modem 16. using for example web browser software and TCP/IP protocols as is well-known in the art.
  • the components of the computer 14. which may be an IBM-compatible 'personal computer ' or Apple Macintosh computer, are shown in Figure 3.
  • a CPU 110 is connected through a bus 120 to main memory 130.
  • a disc controller 140 connected to a hard disc 145
  • a user interface controller 150 connected to a keyboard 152 and other input devices such as a mouse 154
  • a display controller 160 connected to a visual display 165.
  • an I/O controller 170 controls the modem 16 and a card reader 174 into which a smart card can be docked.
  • a biometric device 180 is connected to the I/O controller 170 or to the user interface controller 150.
  • the biometric device 180 may be a fingerprint scanner, an iris scanner, or another device which allows information derived uniquely from the user 12 to be input to the computer 14.
  • the fingerprint scanner may be integrated with the keyboard 152.
  • the user accesses a customer server 70 through the Internet 100 and requests subscription to the digital signature service.
  • the request is passed on to a card bureau 90 by a suitable form of secure communication.
  • the card bureau 90 sends a smart card 18 to the user 12.
  • An example of the components within the smart card 18 is shown in Figure 4.
  • the smart card 18 contains a processor 200 connected to a memory 210 and an external connector 220.
  • the card 18 may include a power source such as a cell integrated within the card 18. or power may be supplied through the connector 220 by the card reader 174.
  • At least part of the memory 210 is non- volatile so that a operating program and data are stored when the card 18 is removed from the reader 174.
  • a public/private key pair and a card identity code are recorded in the non-volatile memory of the card 18 during manufacture.
  • the private key is protected from being read from the card by an operating system running on the processor 200 and optionally by hardware protection measures which prevent the non-volatile memory from being physically examined to determine its content.
  • the user 12 then takes the card 18 to the public premises 80 of an organisation which supports the digital signature service, where the user ' s identity is checked against the identity of the user to whom the card 18 has been issued. Once the user ' s identity has been verified, a status message V is sent from the premises 80 to a card management server 38 connected to the authorisation server 30. the message identifying the card 18 and the user 12. The user 12 is also issued with the card reader 174 and application software for the digital signature service, if the user 12 does not already have these.
  • a PIN is recorded in the card 18 either before being issued to the user, or by the user the first time the card 18 is used in a transaction. In the former case, the user is notified of the PIN after the identity verification has taken place.
  • the user 12 inserts the card 18 into the card reader 174.
  • Application software running on the computer 14 then prompts the user 12 for a PIN.
  • the user enters a PIN which is compared to that stored on the card 18. and the application generates a card validation result (VR) which indicates whether a PIN has been requested and whether the entered PIN matched that stored on the card 18.
  • VR card validation result
  • the computer 14 obtains biometric data from the biometric device 180 if this is present.
  • the smartcard 18 generates a digital signature for the signed information SI transmitted by the computer 14 to the service provider 20.
  • the service provider 20 may comprise a general purpose computer running web server software and connected to the Internet 100.
  • the service provider 20 also runs authorisation software for communication with the authorisation server 30.
  • the authorisation server 30 comprises a general purpose computer running authorisation server software and connected to the Internet 100. As shown in Figures 2 and 5. the authorisation server 30 is also connected, for example over a local or private network, to a public key server 32. a card authentication server 34 and a customer verification server 36.
  • the public key server 32 and the card authentication server 34 comprise dedicated hardware modules including encryption /decryption acceleration hardware.
  • the customer verification server 36 stores a database containing the details of authorised users of the digital signature service.
  • the authorisation server 30 receives from the service provider 20 the authorisation request AREQ. which includes a hash H of the signed information SI. a public key certificate, identification information relating to the card 18 and the user 12. and card authentication information.
  • the authorisation server 30 sends the card authentication information CCHK to the card authentication server 34, which checks the authenticity of the card 18 and returns a response CRES indicating whether the card is authentic or not.
  • the authentication server 30 sends the user identification information ID to the customer verification server 36, which returns a response IDRES indicating whether, or to what extent, the customer identity details are correct.
  • the authorisation server 30 generates from the responses CRES and IDRES an authorisation message AM. which is sent to the public key server 32.
  • the public key server 32 signs the authorisation message AM to produce a signed authorisation response ARES which is transmitted to the service provider 20.
  • the digital signatures are generated, verified and authorised using public key cryptography, as explained above.
  • the public keys are distributed by means of public key certificates, so that users of public keys can trust that the public keys belong to the parties with which the users wish to communicate.
  • a public key certificate consists of a name identifying a party who holds a private key (in this case, the card 18), the corresponding public key. and a digital signature comprising a hash of the name and the public key, encrypted using the private key of a certification authority trusted by the user. If the user does not have the certification authority ' s public key. this can be obtained from the certification authority ' s public key certificate, which is signed by a root certification authority.
  • a hierarchy of public key certificates may be used, ultimately administered by a root certification authority which is always trusted. If a public/private key pair is changed, however, the public key certificate is no longer valid.
  • the old public key certificate may be revoked by placing a code identifying that certificate on a Certificate Revocation List CRL, which is circulated periodically to users of the public key. Before a public key certificate is used, it may first be checked against the CRL.
  • FIG. 6 shows the hierarchy of keys in the present embodiment.
  • the smartcard 18 performs the digital signature process using a private key SCK stored within the card 18.
  • the corresponding public key is contained within a smart card certificate SCC stored within the card and signed using a card certification private key CCK of a card certification authority 110.
  • the corresponding public key is contained within a card certification authority certificate CCC which is signed by a root certification authority private key RCK of a root certification authority 120.
  • the root certification authority private key RCK is also used to sign the public key certificate ASC of the authorisation server 30.
  • the corresponding public key is distributed in a root certification authority public key certificate RCC. which is self-signed using the corresponding private key RCK.
  • the authorisation server private key ASK is used to provide a digital signature on the authorisation response ARES.
  • the smart card 18 also performs a symmetric key card authentication function with the authentication server 30. using a separate private key stored on the card 18.
  • the process uses a two-key triple data encryption standard (DES. encrypt-decrypt-encrypt) algorithm in Cipher Block Chaining Mode to produce an eight byte message authentication code (MAC).
  • DES encrypt-decrypt-encrypt
  • MAC eight byte message authentication code
  • the symmetric key authentication function is used for secure communications between the smartcard 18 and the authentication server 30, which the service provider 20 passes transparently but is unable to decrypt.
  • the MAC is calculated from a combination of: data stored internally in the card 18.
  • variable application transaction counter value ATC which is incremented for each transaction, and a card identity number N which is included in the public key certificate SCC
  • data supplied by the service provider 20. including the time, date and the identity of the service provider, so as to bind the MAC to the specific transaction
  • a hash H of the signed information SI. so as to bind the MAC to the data supplied and to the digital signature
  • the validation result VR or information derived from the biometric data and the second unpredictable number UN2.
  • Figures 7 to 13 show the topological connection between the computer 14 and the service provider 20. and between the service provider 20 and the authorisation server 30. as being through separate networks but in this example the connections are both through the Internet.
  • Figure 8 shows the data transmission which takes place during a transaction.
  • the computer 14 has already established an Internet connection to the service provider 20. and is running web browser software.
  • the service provider 20 sends data D comprising HTML pages representing a blank form (such as a form for registering a new business).
  • the user 12 completes the form by entering data within the browser software and requesting submission of the completed form to the service provider 20.
  • the browser software supports the digital signature service, for example by means of a "plug-in " which modifies standard browser software, so that the user 12 is prompted to enter a PIN when requesting submission of the completed form. If the smartcard 18 is not located in the card reader 174. the software prompts the user 12 to do this.
  • the smartcard 18 At a data processing stage DP. the smartcard 18 generates a digital signature from the form data F of the completed form and the smart card private key SCK.
  • the signed data SD is then sent to the service provider 20. which verifies the signature by recovering the card public key from the smart card certificate SCC using the card certification public key recovered from the card certification authority certificate CCC. recalculating the hash function for the form data and comparing the recalculated hash function with the one signed with the smart card key SCK and included in the signed data SD.
  • Signature verification data SVD derived from the signed data SD is sent by the service provider 20 to the authorisation server 30.
  • Card authentication data CAD. which comprises the MAC and the input data used to generate the MAC. and the user identification data ID are transmitted to the service provider 20 and passed to the authentication server 30.
  • the user identification data ID comprises for example the name, address and date of birth of the user, entered by the user 12 and transmitted by the browser software in a separate field from the signed data SD.
  • biometric data from the biometric device 180 is included in the user identification information.
  • the signature verification data SVD. the card authentication data CAD and the user identification data ID comprise the authorisation request AREQ submitted to the authorisation server 30.
  • the authorisation server 30 checks the authorisation request AREQ for counterfeit or replayed cryptograms, checks whether the smartcard public key certificate SCC matches the card identity and checks the user identification data ID against an entry in a database of details of known cardholders.
  • the authentication server also verifies the MAC against the input data used to generate the MAC, using the appropriate symmetric key. The results of these checks are digitally signed using the authorisation server private key ASK and sent as the authorisation response ARES to the service provider 20.
  • Figure 9 shows how the data sent from the user ' s computer 14 to the service provider 20 is generated.
  • the data D sent from the service provider 20 includes two random or otherwise unpredictable 32-bit numbers UNI and UN2. the date and time of the transaction and a server identifier SID.
  • the first unpredictable number is embedded in the HTML form as a readable serial number and is returned in the form data F.
  • the application software calculates a hash of the completed form data F using a secure hash algorithm SHA and sends the hash to the card 18. together with the second unpredictable number UN2. validation result VR, the date and time and the server identifier SID. for use in the DES encryption process to generate the MAC.
  • the card generates an application transaction counter value ATC which is also input to the DES process.
  • the hash is also supplied as an input to an RSA public key encryption process.
  • the card public key certificate SCC is stored in the card 18 and is retrieved by the application software together with the MAC and signature data SD. for transmission to the service provider 20.
  • the process performed by the service provider 20 to validate the signature of the signed data SD is shown in Figure 10.
  • the service provider 20 receives the form data F and checks (S10) that the serial number UNI matches that of the blank form previously sent.
  • a hash is calculated from the form data F using the same SHA as performed by the card 18.
  • the card public key is retrieved from the card public key certificate SCC and is used to decrypt (S20) the signature data SD to extract the hash calculated by the user ' s computer 14.
  • the two hashes are compared (S30) and the signature is validated if they match.
  • this process only establishes that the form was digitally signed using the card 18.
  • the service provider 20 must further check that the card 18 is valid and is being used by the authorised cardholder, as will be described below.
  • the service provider 20 sends the following information to the authorisation server 30 in the authorisation request message ARES, as illustrated in Figure 1 1 : the user identification data ID. including any biometric data, the second unpredictable number UN2. the hash H calculated from the received form data F, the card public key certificate SCC. the validation result VR. the application transaction counter ATC and the message authentication code MAC.
  • the form of the authorisation request message is shown in detail in Table 1 below:
  • the Card Data described in Table 1 comprises the fields shown below in Table 2: Table 2 - Card Data Structure
  • the authorisation server 30 determines the authorisation response ARES as illustrated in Figure 12.
  • the user identity information ID is sent to the customer verification server 36, which checks whether this information matches stored user identity information related to the card number, and returns a response IDRES indicating whether these details are correct and the status of the card.
  • the card authentication data CAD are sent to the card authentication server 34 where the MAC is verified using the card number N, extracted from the card public key certificate, the second unpredictable number UN2 and the date, time and server identity originally provided by the service provider 20.
  • the card authentication server 34 also checks the validation result VR. determines whether the cryptogram has been replayed or the card counterfeited, and whether the card public key certificate SCC is valid and corresponds to the MAC.
  • the customer verification server 36 stores a database of biometric information for each authorised user, and the response IDRES includes information on the confidence level with which biometric data contained within the user identity information ID matches the stored profile for that user.
  • the authorisation server 30 formats the authorisation response message ARES and transmits it to the service provider 20 by means of a process illustrated in Figure 13.
  • an authorisation message AM is generated including the following information: the hash value H and the user identification information ID copied from the authorisation request AREQ. and a response code indicating the card authentication and user verification server responses.
  • This message AM is sent to the public key server 32 which generates a digital signature for the message using the authorisation server private key ASK and returns this signature AS together with the authorisation server public key certificate ASC.
  • the authorisation server then sends the authorisation message AM. the signature AS and the authorisation server certificate ASC to the service provider 20. together with a reference code indicating the agreement under which the authorisation is made to the service provider 20.
  • the Authorisation Response Data is coded as individual bits, as shown in Table 4: Table 4 - Authorisation Response Data Bit Meaning
  • the authorisation response data may include an indication of the confidence level with which the biometric data included in the customer identification information matches that stored in the customer verification server 36; for example. pattern matching algorithms used in iris and fingerprint scans will return a suitable value based on the correlation between an input and a reference pattern.
  • the service provider 20 determines how the form data F is to be processed. For example, if the signature is verified and the transaction authorised by the authorisation server, the service provider may update a record corresponding to the user 12 to add the information included in the form data F. If either the signature is not verified, or the transaction not authorised, the form data F may be discarded and/or a message transmitted to the user ' s computer indicating that the form has not been accepted.
  • the service provider may allow certain types of transaction to proceed even if some of the authorization checks are indicated as unsuccessful. For example, if the title did not match, the service provider judges this as insignificant, since the user is unambiguously identified by other data, and the transaction is processed as acceptable by the service provider 20.
  • the service provider 20 sets a minimum confidence level for the current transaction and allows the transaction to proceed if this confidence level is exceeded. Preferably, this minimum confidence level is determined according to the monetary value of the transaction, or if the transaction does not have a specified monetary value, the consequences of fraud in that transaction.
  • the authorisation response ARES is used to determine the liability between the operator of the service provider 20 and the operator of the authorisation server 30. For example, if any of the bits with index 0 are set. the authorisation server operator will not accept any liability if the service provider accepts the transaction, but if only one of the bits with index 1 is set. the authorisation server operator will accept liability only to a prearranged limit, and if none of the bits is set. the authorisation server operator will accept liability to the maximum value prearranged for the user 12.
  • the present invention is not limited to the use of the Internet but may also be applied to transactions over other networks which are not inherently secure.
  • the network used to connect the user's computer 14 to the service provider 20 may be separate from that used to connect the service provider 20 to the authorisation server 30.
  • the present invention is not limited to any specific type of transaction such as the authentication of forms or the authorisation of payment.
  • the smart card 18 may sign the form data using the symmetric encryption key under the DES process and may dispense with the RSA encryption process.
  • the service provider 20 will not then be able to verify the signature, but instead recalculates the hash and transmits this to the authorisation server 30 for verification.
  • the smart card 18 uses the private key SCK both to produce the MAC and to sign the form data F and does not use any symmetric encryption key.
  • the service provider 20 checks the card application data CAD using the public key contained in the smartcard key certificate SCC to ensure that the MAC was generated from the input data using the private key SCK.
  • the service provider 20 is unable to check whether card specific data such as the application transaction counter ATC and the card number N are correct and correspond to a valid card, so that this card specific data is still sent to the authorization server 30. which checks the consistency of the card specific data and the validity of the card 18.
  • the user identification data ID is still sent to the authorization server 30 for comparison with the cardholder details accessible by the authorization server.

Abstract

In a system for authentification of transactions over a public network (100), a terminal (14) sends digitally signed transaction data (SD) to a service provider (20) over the public network (100), together with card application data (CAD) generated by a smart card (18). The card application data (CAD) is sent to an authorization server (30) which checks that the smart card (18) is valid and that the card application data (CAD) must have been generated by that smart card (18) in the current transaction. User identification information (ID) is also sent from the terminal (14) to the service provider (20) and thence to the authorisation server (30), where this information (ID) is checked against the correct user details for the smart card (18). The results of these checks are indicated in a digitally signed authorisation response (ARES) from the authorization server (30) to the service provided (20), which then determines whether to proceed with the transaction by setting acceptance criteria for the current transaction and determining from the authorisation response (ARES) whether these criteria are met.

Description

SECURE TRANSACTION SYSTEM Technical Field
The present invention relates to a secure transaction system, particularly for use over a public network. Background Art
The most common and well-known public data network is the Internet, which provides network access to members of the public at low cost. Many types of commercial transaction which were previously conducted via telephone, mail or private network may now be conducted more easily over the Internet. However, internet protocols such as TCP/IP were not designed for security, and it has therefore been necessary to provide additional protocols for secure transactions over the Internet, including transport-level protocols such as the Secure Sockets Layer (SSL), and application-level protocols such as the Secure Hypertext Transfer Protocol (SHTTP). Such protocols aim to prevent interception, decryption and forgery of transactions between a client and a server over the Internet, but they do not verify the identity of the user of the client terminal. For example, in a credit card transaction, only the user's name and address, and the card number and expiry date need be supplied to order goods or services over the Internet. It is comparatively easy to obtain the necessary information to carry out fraudulent transactions over the Internet. Some verification of the user's identity is usually implemented at the application level, such as the use of passwords, but these too can be obtained or guessed. Nevertheless, various protocols have been proposed for allowing secure transactions, and particularly secure payment, over the Internet; one example is Secure Electronic Transaction (SET), a protocol for credit card transactions over the Internet, a modification of which is described in WO 97/41539. Typically, such transactions involve three parties: a client which supplies credit card details, a service provider server operated by a supplier of goods or services, and an authorisation server which checks the credit card details and informs the service provider server whether payment is authorised by the operator of the credit card system.
However, conventional electronic transaction systems do not support non- repudiation: in other words, they do not provide sufficient evidence to confirm that a specific transaction was authorised. Moreover, conventional electronic transactions do not bind a specific user to the use of an authorisation card.
Furthermore, conventional electronic transaction systems are limited in their application, because the authorising server is designed merely to give an authorise or decline message on the basis of the details supplied.
Statement of the Invention
According to one aspect of the present invention, there is provided an electronic transaction system in which a terminal combines transaction data which is unique to a current transaction with terminal data which is unique to that terminal to generate bound terminal/transaction information which is sent to the transaction server. The transaction server sends the transaction data to an authorisation server which returns information which binds the transaction to the identity of the authorisation server. The transaction server then has available information which binds together the transaction, the terminal and the authorisation server in a form which cannot be fraudulently created by the transaction server, and therefore cannot be repudiated.
According to another aspect of the present invention, there is provided an electronic transaction system in which an authorisation token is issued to a user. Information confirming the identity of both the authorisation token and the user are presented to an authority which confirms the validity of this information and makes it available to an authorisation server. The authorisation token is then used in an electronic transaction with a transaction server, in which user identification information and authorisation token information are supplied to the transaction server and passed to the authorisation server. The authorisation server compares the user identification information and authorisation token information with information previously made available by the authority and indicates to the transaction server the result of the comparison. In this way. because the correspondence between the user and the token has been verified before the transaction, the use of the token by the user can be confirmed during the transaction.
According to a further aspect of the present invention, there is provided an electronic transaction system in which a user terminal transmits to a transaction server transaction data and identification data. The transaction data is passed from the transaction server to an authorisation server, which compares the identification data with stored identification data relating to authorised users of the system. The authorisation server then transmits to the transaction server an authorisation message indicating how the identification data matches with the stored identification data. The transaction server determines whether to accept the transaction data on the basis of the authorisation message and the transaction data.
Brief Description of the Drawings
Specific embodiments of the present invention will now be described with reference to the accompanying drawings, in which:
Figure 1 is a diagram of the service functions of an authorisation system in an embodiment of the present invention;
Figure 2 is a diagram of the architecture of the system:
Figure 3 is a diagram of the hardware components of a user terminal; Figure 4 is a diagram of the hardware components of a smartcard;
Figure 5 is a diagram of the sub-systems within the authorisation server in the embodiment;
Figure 6 is a diagram of the certification architecture of the system;
Figure 7 is a diagram illustrating a more specific embodiment in which the system is used to authorise an electronic form;
Figure 8 shows the flow of data in the specific embodiment;
Figure 9 shows the cryptographic processes applied by the user terminal;
Figure 10 shows the digital signature validation process applied by the electronic form server; Figure 1 1 shows the transmission of an authorisation request message to the authorisation server;
Figure 12 shows the authorisation process performed by the authorisation server; and
Figure 13 shows the authorisation response message process from the authorisation server to the electronic form server. Modes for Carrying Out the Invention
Authorisation Service
Figure 1 shows the service functions which provide a digital signature generation and authentication service in an embodiment of the present invention. A digital signature generator 10 generates digital signatures in the form of data which uniquely identifies a specific party and binds the signed data to that party. Digital signatures are a known technique for protecting data from modification and for identifying the signing party. The signing party is provided with a private/public key pair, which can be used to generate and verify digital signatures. The party' is usually assumed to be the user operating the computer which stores the private key and generates the digital signature. However, in the present embodiment, the private key is stored on a smart card and therefore the digital signature binds the signed data to the smart card. Hence, the 'party' is the smart card. As is well-known, data encrypted with a private key can be decrypted with the corresponding public key. and vice versa. Suitable cryptographic algorithms include the RSA algorithm, described for example in US 4.405,829. In a typical digital signature process, the data to be "signed' is subjected to a hash algorithm, such as the Secure Hash Algorithm (SHA). The result is a type of checksum, known as a 'hash", which depends both on the values of the bits making up the data and the positions of those bits. It is therefore very difficult to modify the data while giving the same hash. The hash is then encrypted using the private key, to produce a digital signature.
A digital signature can be verified by performing the same hash algorithm on the received data as was used to generate the hash encoded in the digital signature. The digital signature is then decrypted using the public key and the decrypted hash is then compared to the calculated hash. If the hashes match, the signature is valid.
Examples of digital signature algorithms are the RSA digital signature, in which the hash is encrypted together with an indication of the type of the hash algorithm using RSA encryption, and the digital signature algorithm (DSA), in which the hash algorithm is the SHA and the hash is encrypted together with a random number by a variant of the Diffϊe- Helman algorithm. The digital signature generator 10 exchanges information IE with a digital signature acceptor 20. and sends 'signed' information SI to the digital signature acceptor 20 which includes a first digital signature generated using a private key and a second digital signature using a symmetric key, both keys being held by the digital signature generator 10. On receipt of the signed information, the digital signature acceptor 20 verifies the first signature and sends an authorisation request AREQ to a digital signature authoriser 30. The authorisation request AREQ includes information derived from the signed information SI and the second signature. The digital signature authoriser 30 checks the information derived from the signed information SI and the second signature, and sends to the digital signature acceptor an authorisation response ARES indicating whether the signature is to be accepted as genuine. The authorisation response ARES is signed with a digital signature generated by a private key held by the digital signature authoriser 30. Dependent on the authorisation response, the digital signature acceptor 20 then accepts or rejects the signed information SI. In order to provide evidence of the provision and acceptance or rejection of the signed information, the digital signature acceptor 20 may further transmit a notarisation request NREQ to a signed message notariser 40, including information derived from the signed information SI and from the authorisation response ARES. In response, the signed message notariser 40 transmits to the digital signature acceptor 20 a notarisation confirmation NCF which includes information derived from the notarisation request
NREQ. digitally signed by the signed message notariser 40. The digital signature acceptor 20 transmits archive deposit information ARDEP, which may for example comprise the signed information SI, the authorisation response ARES and the notarisation confirmation NCF. to a long-term archive 50. This information is later retrieved from the long-term archive 50 as archive retrieval information ARRET in the event of repudiation of the signed information SI.
Optionally, where an independent time reference is needed, for example to confirm the exact time of a transaction such as the sending and receipt of the signed information SI, information from a standard time signal source 60 is made available to each of the functions described above and is incorporated in each digitally signed message. Svstem Architecture
A high-level system architecture of the digital signature authorisation service is shown in Figure 2. Like parts to those of Figure 1 carry the same reference numerals.
A user 12 wishing to subscribe to the digital signature service must first apply for a smart card 18 from which the user's digital signatures are derived. The user 12 has a computer 14 connectable to the Internet 100 via a modem 16. using for example web browser software and TCP/IP protocols as is well-known in the art.
The components of the computer 14. which may be an IBM-compatible 'personal computer' or Apple Macintosh computer, are shown in Figure 3. A CPU 110 is connected through a bus 120 to main memory 130. a disc controller 140 connected to a hard disc 145, a user interface controller 150 connected to a keyboard 152 and other input devices such as a mouse 154, a display controller 160 connected to a visual display 165. and an I/O controller 170. The I/O controller 170 controls the modem 16 and a card reader 174 into which a smart card can be docked. Optionally, a biometric device 180 is connected to the I/O controller 170 or to the user interface controller 150. The biometric device 180 may be a fingerprint scanner, an iris scanner, or another device which allows information derived uniquely from the user 12 to be input to the computer 14. The fingerprint scanner may be integrated with the keyboard 152.
The user accesses a customer server 70 through the Internet 100 and requests subscription to the digital signature service. The request is passed on to a card bureau 90 by a suitable form of secure communication. The card bureau 90 sends a smart card 18 to the user 12. An example of the components within the smart card 18 is shown in Figure 4. The smart card 18 contains a processor 200 connected to a memory 210 and an external connector 220. The card 18 may include a power source such as a cell integrated within the card 18. or power may be supplied through the connector 220 by the card reader 174. At least part of the memory 210 is non- volatile so that a operating program and data are stored when the card 18 is removed from the reader 174.
A public/private key pair and a card identity code are recorded in the non-volatile memory of the card 18 during manufacture. The private key is protected from being read from the card by an operating system running on the processor 200 and optionally by hardware protection measures which prevent the non-volatile memory from being physically examined to determine its content.
When a request is received from the customer server 70. the name of the user 12 is printed on the card 18, which is then sent to the user 12. A status message is sent to the authorisation server to indicate that the card 18 is issued but inactive.
The user 12 then takes the card 18 to the public premises 80 of an organisation which supports the digital signature service, where the user's identity is checked against the identity of the user to whom the card 18 has been issued. Once the user's identity has been verified, a status message V is sent from the premises 80 to a card management server 38 connected to the authorisation server 30. the message identifying the card 18 and the user 12. The user 12 is also issued with the card reader 174 and application software for the digital signature service, if the user 12 does not already have these.
A PIN is recorded in the card 18 either before being issued to the user, or by the user the first time the card 18 is used in a transaction. In the former case, the user is notified of the PIN after the identity verification has taken place.
To use the digital signature service, the user 12 inserts the card 18 into the card reader 174. Application software running on the computer 14 then prompts the user 12 for a PIN. The user enters a PIN which is compared to that stored on the card 18. and the application generates a card validation result (VR) which indicates whether a PIN has been requested and whether the entered PIN matched that stored on the card 18.
Additionally or alternatively, the computer 14 obtains biometric data from the biometric device 180 if this is present. The smartcard 18 generates a digital signature for the signed information SI transmitted by the computer 14 to the service provider 20. as will be described in a specific example below. The service provider 20 may comprise a general purpose computer running web server software and connected to the Internet 100. The service provider 20 also runs authorisation software for communication with the authorisation server 30.
The authorisation server 30 comprises a general purpose computer running authorisation server software and connected to the Internet 100. As shown in Figures 2 and 5. the authorisation server 30 is also connected, for example over a local or private network, to a public key server 32. a card authentication server 34 and a customer verification server 36. The public key server 32 and the card authentication server 34 comprise dedicated hardware modules including encryption /decryption acceleration hardware. The customer verification server 36 stores a database containing the details of authorised users of the digital signature service. The authorisation server 30 receives from the service provider 20 the authorisation request AREQ. which includes a hash H of the signed information SI. a public key certificate, identification information relating to the card 18 and the user 12. and card authentication information. The authorisation server 30 sends the card authentication information CCHK to the card authentication server 34, which checks the authenticity of the card 18 and returns a response CRES indicating whether the card is authentic or not. The authentication server 30 sends the user identification information ID to the customer verification server 36, which returns a response IDRES indicating whether, or to what extent, the customer identity details are correct.
The authorisation server 30 generates from the responses CRES and IDRES an authorisation message AM. which is sent to the public key server 32. The public key server 32 signs the authorisation message AM to produce a signed authorisation response ARES which is transmitted to the service provider 20.
Public Kev Hierarchy The digital signatures are generated, verified and authorised using public key cryptography, as explained above. The public keys are distributed by means of public key certificates, so that users of public keys can trust that the public keys belong to the parties with which the users wish to communicate. As is well known, a public key certificate consists of a name identifying a party who holds a private key (in this case, the card 18), the corresponding public key. and a digital signature comprising a hash of the name and the public key, encrypted using the private key of a certification authority trusted by the user. If the user does not have the certification authority's public key. this can be obtained from the certification authority's public key certificate, which is signed by a root certification authority. Thus, a hierarchy of public key certificates may be used, ultimately administered by a root certification authority which is always trusted. If a public/private key pair is changed, however, the public key certificate is no longer valid. The old public key certificate may be revoked by placing a code identifying that certificate on a Certificate Revocation List CRL, which is circulated periodically to users of the public key. Before a public key certificate is used, it may first be checked against the CRL.
Figure 6 shows the hierarchy of keys in the present embodiment. The smartcard 18 performs the digital signature process using a private key SCK stored within the card 18. The corresponding public key is contained within a smart card certificate SCC stored within the card and signed using a card certification private key CCK of a card certification authority 110. The corresponding public key is contained within a card certification authority certificate CCC which is signed by a root certification authority private key RCK of a root certification authority 120. The root certification authority private key RCK is also used to sign the public key certificate ASC of the authorisation server 30. The corresponding public key is distributed in a root certification authority public key certificate RCC. which is self-signed using the corresponding private key RCK. The authorisation server private key ASK is used to provide a digital signature on the authorisation response ARES.
Card Authentication In addition to the public key transactions described above, the smart card 18 also performs a symmetric key card authentication function with the authentication server 30. using a separate private key stored on the card 18. The process uses a two-key triple data encryption standard (DES. encrypt-decrypt-encrypt) algorithm in Cipher Block Chaining Mode to produce an eight byte message authentication code (MAC). The symmetric key authentication function is used for secure communications between the smartcard 18 and the authentication server 30, which the service provider 20 passes transparently but is unable to decrypt. For each card authentication transaction, the MAC is calculated from a combination of: data stored internally in the card 18. including a variable application transaction counter value ATC which is incremented for each transaction, and a card identity number N which is included in the public key certificate SCC; data supplied by the service provider 20. including the time, date and the identity of the service provider, so as to bind the MAC to the specific transaction; a hash H of the signed information SI. so as to bind the MAC to the data supplied and to the digital signature; the validation result VR or information derived from the biometric data, and the second unpredictable number UN2.
Electronic Forms Implementation
A more specific embodiment will now be described with reference to Figures 7 to 13. in which the digital signature system is used to authenticate a completed form supplied electronically by the user 12 to the service provider 20. which is in this case operated by a government department. For convenience. Figures 7 to 13 show the topological connection between the computer 14 and the service provider 20. and between the service provider 20 and the authorisation server 30. as being through separate networks but in this example the connections are both through the Internet.
Figure 8 shows the data transmission which takes place during a transaction. The computer 14 has already established an Internet connection to the service provider 20. and is running web browser software. In response to a request initiated by the user 12. the service provider 20 sends data D comprising HTML pages representing a blank form (such as a form for registering a new business). The user 12 completes the form by entering data within the browser software and requesting submission of the completed form to the service provider 20. The browser software supports the digital signature service, for example by means of a "plug-in" which modifies standard browser software, so that the user 12 is prompted to enter a PIN when requesting submission of the completed form. If the smartcard 18 is not located in the card reader 174. the software prompts the user 12 to do this. At a data processing stage DP. the smartcard 18 generates a digital signature from the form data F of the completed form and the smart card private key SCK. The signed data SD is then sent to the service provider 20. which verifies the signature by recovering the card public key from the smart card certificate SCC using the card certification public key recovered from the card certification authority certificate CCC. recalculating the hash function for the form data and comparing the recalculated hash function with the one signed with the smart card key SCK and included in the signed data SD. Signature verification data SVD derived from the signed data SD is sent by the service provider 20 to the authorisation server 30.
Card authentication data CAD. which comprises the MAC and the input data used to generate the MAC. and the user identification data ID are transmitted to the service provider 20 and passed to the authentication server 30. The user identification data ID comprises for example the name, address and date of birth of the user, entered by the user 12 and transmitted by the browser software in a separate field from the signed data SD. Optionally, biometric data from the biometric device 180 is included in the user identification information. Collectively, the signature verification data SVD. the card authentication data CAD and the user identification data ID comprise the authorisation request AREQ submitted to the authorisation server 30.
The authorisation server 30 checks the authorisation request AREQ for counterfeit or replayed cryptograms, checks whether the smartcard public key certificate SCC matches the card identity and checks the user identification data ID against an entry in a database of details of known cardholders. The authentication server also verifies the MAC against the input data used to generate the MAC, using the appropriate symmetric key. The results of these checks are digitally signed using the authorisation server private key ASK and sent as the authorisation response ARES to the service provider 20.
Some of the above processes will now be explained in greater detail.
User to Service Provider
Figure 9 shows how the data sent from the user's computer 14 to the service provider 20 is generated. The data D sent from the service provider 20 includes two random or otherwise unpredictable 32-bit numbers UNI and UN2. the date and time of the transaction and a server identifier SID. The first unpredictable number is embedded in the HTML form as a readable serial number and is returned in the form data F.
The application software calculates a hash of the completed form data F using a secure hash algorithm SHA and sends the hash to the card 18. together with the second unpredictable number UN2. validation result VR, the date and time and the server identifier SID. for use in the DES encryption process to generate the MAC. The card generates an application transaction counter value ATC which is also input to the DES process. The hash is also supplied as an input to an RSA public key encryption process. The card public key certificate SCC is stored in the card 18 and is retrieved by the application software together with the MAC and signature data SD. for transmission to the service provider 20.
Signature Validation
The process performed by the service provider 20 to validate the signature of the signed data SD is shown in Figure 10. The service provider 20 receives the form data F and checks (S10) that the serial number UNI matches that of the blank form previously sent. A hash is calculated from the form data F using the same SHA as performed by the card 18. The card public key is retrieved from the card public key certificate SCC and is used to decrypt (S20) the signature data SD to extract the hash calculated by the user's computer 14. The two hashes are compared (S30) and the signature is validated if they match. However, this process only establishes that the form was digitally signed using the card 18. The service provider 20 must further check that the card 18 is valid and is being used by the authorised cardholder, as will be described below.
Authorisation Request
The service provider 20 sends the following information to the authorisation server 30 in the authorisation request message ARES, as illustrated in Figure 1 1 : the user identification data ID. including any biometric data, the second unpredictable number UN2. the hash H calculated from the received form data F, the card public key certificate SCC. the validation result VR. the application transaction counter ATC and the message authentication code MAC. The form of the authorisation request message is shown in detail in Table 1 below:
Table 1 - Authorisation Request Message
Figure imgf000014_0001
Figure imgf000015_0001
The Card Data described in Table 1 comprises the fields shown below in Table 2: Table 2 - Card Data Structure
Figure imgf000015_0002
Figure imgf000016_0001
Authorisation Request Process
The authorisation server 30 determines the authorisation response ARES as illustrated in Figure 12. The user identity information ID is sent to the customer verification server 36, which checks whether this information matches stored user identity information related to the card number, and returns a response IDRES indicating whether these details are correct and the status of the card. The card authentication data CAD are sent to the card authentication server 34 where the MAC is verified using the card number N, extracted from the card public key certificate, the second unpredictable number UN2 and the date, time and server identity originally provided by the service provider 20. The card authentication server 34 also checks the validation result VR. determines whether the cryptogram has been replayed or the card counterfeited, and whether the card public key certificate SCC is valid and corresponds to the MAC. Optionally, the customer verification server 36 stores a database of biometric information for each authorised user, and the response IDRES includes information on the confidence level with which biometric data contained within the user identity information ID matches the stored profile for that user.
Authorisation Response
The authorisation server 30 formats the authorisation response message ARES and transmits it to the service provider 20 by means of a process illustrated in Figure 13. First, an authorisation message AM is generated including the following information: the hash value H and the user identification information ID copied from the authorisation request AREQ. and a response code indicating the card authentication and user verification server responses. This message AM is sent to the public key server 32 which generates a digital signature for the message using the authorisation server private key ASK and returns this signature AS together with the authorisation server public key certificate ASC. The authorisation server then sends the authorisation message AM. the signature AS and the authorisation server certificate ASC to the service provider 20. together with a reference code indicating the agreement under which the authorisation is made to the service provider 20.
The data content of the authorisation message is summarised below in Table 3: Table 3 - Authorisation Message Contents
Figure imgf000017_0001
The Authorisation Response Data is coded as individual bits, as shown in Table 4: Table 4 - Authorisation Response Data Bit Meaning
Figure imgf000017_0002
Figure imgf000018_0001
Optionally, the authorisation response data may include an indication of the confidence level with which the biometric data included in the customer identification information matches that stored in the customer verification server 36; for example. pattern matching algorithms used in iris and fingerprint scans will return a suitable value based on the correlation between an input and a reference pattern.
On the basis of the authorisation response ARES, and the result of the signature verification process, the service provider 20 determines how the form data F is to be processed. For example, if the signature is verified and the transaction authorised by the authorisation server, the service provider may update a record corresponding to the user 12 to add the information included in the form data F. If either the signature is not verified, or the transaction not authorised, the form data F may be discarded and/or a message transmitted to the user's computer indicating that the form has not been accepted.
Since the authorisation response ARES contains detailed information about the results of the various authorization checks, the service provider may allow certain types of transaction to proceed even if some of the authorization checks are indicated as unsuccessful. For example, if the title did not match, the service provider judges this as insignificant, since the user is unambiguously identified by other data, and the transaction is processed as acceptable by the service provider 20. In the option where the authorisation response ARES includes an indication of the confidence level with which the supplied user identification information ID matches the stored user identification information, the service provider 20 sets a minimum confidence level for the current transaction and allows the transaction to proceed if this confidence level is exceeded. Preferably, this minimum confidence level is determined according to the monetary value of the transaction, or if the transaction does not have a specified monetary value, the consequences of fraud in that transaction.
Preferably, in the case of fraud, the authorisation response ARES is used to determine the liability between the operator of the service provider 20 and the operator of the authorisation server 30. For example, if any of the bits with index 0 are set. the authorisation server operator will not accept any liability if the service provider accepts the transaction, but if only one of the bits with index 1 is set. the authorisation server operator will accept liability only to a prearranged limit, and if none of the bits is set. the authorisation server operator will accept liability to the maximum value prearranged for the user 12. The present invention is not limited to the use of the Internet but may also be applied to transactions over other networks which are not inherently secure. The network used to connect the user's computer 14 to the service provider 20 may be separate from that used to connect the service provider 20 to the authorisation server 30.
Although the above embodiment is described with reference to one specific user, it is evident that similar procedures are carried out for different users so that the system can perform transactions initiated by any one of a large number of users.
The present invention is not limited to any specific type of transaction such as the authentication of forms or the authorisation of payment.
In an alternative embodiment, the smart card 18 may sign the form data using the symmetric encryption key under the DES process and may dispense with the RSA encryption process. The service provider 20 will not then be able to verify the signature, but instead recalculates the hash and transmits this to the authorisation server 30 for verification.
In an alternative embodiment, the smart card 18 uses the private key SCK both to produce the MAC and to sign the form data F and does not use any symmetric encryption key. In that case, the service provider 20 checks the card application data CAD using the public key contained in the smartcard key certificate SCC to ensure that the MAC was generated from the input data using the private key SCK. However, the service provider 20 is unable to check whether card specific data such as the application transaction counter ATC and the card number N are correct and correspond to a valid card, so that this card specific data is still sent to the authorization server 30. which checks the consistency of the card specific data and the validity of the card 18. Likewise, the user identification data ID is still sent to the authorization server 30 for comparison with the cardholder details accessible by the authorization server.
The above embodiments are described by way of example and are not to be construed as limiting the scope of the invention. Instead, the invention extends to all variants which fall within the scope of the following claims.

Claims

1. A method of processing a data transaction between a terminal (14) and a first server (20) over a public network (100) and between the first server (20) and a second server (30), comprising: transmitting transaction message data (F) and identification data (ID) from said terminal (14) to said first server (20); transmitting said identification data (ID) from said first server (20) to said second server (30); comparing said received identification data (ID) at said second server (30) with previously stored identification data and generating an authorisation message (ARES) indicating the degree of matching between said received identification data (ID) and said previously stored identification data; transmitting said authorisation message (ARES) from said second server (30) to said first server (20); and processing said transaction message data (F) at said first server (20) according to the received authorisation message (ARES).
2. A method as claimed in claim 1, wherein said transaction data (F) is processed at said first server (20) further according to the content of the transaction data (F).
3. A method as claimed in claim 2. wherein the processing step comprises: determining acceptance criteria from the authorisation message (ARES): determining one or more acceptance parameters from the transaction message data
(F); and processing the transaction message data (F) as valid if the one or more acceptance parameters meet the acceptance criteria.
4. A method as claimed in any preceding claim, wherein the identification data (ID) is sent to the second server together with transaction identification information (ATC. UN2, H) specific to the current transaction, said authorisation response (ARES) also indicating whether the transaction identification information (ATC. UN2, H) has been verified.
5. A method as claimed in claim 4. wherein said transaction identification information (ATC. UN2, H) is generated by said terminal (14) together with a digital signature (MAC) which is also sent to the second server (30), and the second server (30) verifies the digital signature (MAC) against the transaction identification information (ATC, UN2. H).
6. A method as claimed in any preceding claim, wherein the authorisation message (ARES) is signed by the second server (30), and the signed authorisation message (ARES) is verified by the first server (20), the processing of the transaction message data (F) being dependent on said verification by the first server (20).
7. A method of processing a data transaction between a terminal (14) and a first server (20) over a public network (100) and between the first server (20) and a second server (30), comprising: generating transaction message data (F) at said terminal (14); generating at the terminal (14) variable terminal identification information (MAC) which identifies the terminal (14) and varies for each said data transaction; digitally signing said transaction message data (F); transmitting said signed transaction message data (SD) and said terminal identification information (MAC) from said terminal (14) to said first server (20) over said public network ( 100); verifying said transaction message data (F) at said first server (20); transmitting said terminal identification information (MAC) from said first server (20) to said second server (30); verifying said terminal identification information (MAC) at said second server (30) and generating a transaction authorisation message (ARES) dependent on the result: digitally signing said transaction authorisation message (ARES) at said second server (30); and transmitting said signed transaction authorisation message (ARES) from said second server (30) to said first server (20).
8. A method as claimed in claim 7, wherein said step of verifying said transaction message data (F) includes verifying the consistency of the transaction message data (F).
9. A method as claimed in claim 7 or claim 8, wherein said step of verifying said transaction message data (F) includes verifying the digital signature of the transaction message data at the first server (20).
10. A method as claimed in claim 7 or claim 8, further comprising transmitting said signed transaction message data (SD) to said second server (30) and verifying the digital signature of said transaction message data (F) at said second server (30).
1 1. A method as claimed in any one of claims 7 to 10, wherein said terminal identification information (MAC) is digitally signed at the terminal (14).
12. A method as claimed in claim 1 1, further comprising verifying the digital signature of said terminal identification information (MAC) at said second server (30).
13. A method as claimed in claim 1 1, further comprising verifying the digital signature of said terminal identification information (MAC) at said first server (20).
14. A method as claimed in claim 12 or 13. wherein the terminal identification information (MAC) is signed and verified using a symmetric key pair.
15. A method as claimed in any one of claims 7 to 14. including inputting user identification information (ID) from a user (12) at said terminal (14), wherein the user identification information (ID) is transmitted to said first server (20) and from said first server (20) to said second server (30), the method further comprising: comparing the received user identification information (ID) at said second server (30) with previously stored user identification information, the content of the authorisation message (ARES) being dependent on said comparison of said user identification information (ID).
16. A method as claimed in any one of claims 7 to 15, including supplying information (ARDEP) derived from said authorisation message (ARES) and said transaction identification information (SI) from said first server (20) to data storage means (50).
17. A method as claimed in any one of claims 7 to 16. wherein said terminal (14) includes a removable authentication token (18) from which the terminal identification information (MAC) is derived, the terminal identification information (MAC) identifying the removable authentication token (18).
18. A method as claimed in any one of claims 7 to 16, wherein said terminal (14) includes a removable authentication token (18) from which the digital signature of the transaction message data (F) is derived.
19. A method as claimed in claim 17 or claim 18. both when dependent on claim 15, further comprising, prior to said data transaction: verifying the identity of the user (12) and of the token (18) and transmitting a verification message (V) to the second server (30); and storing status information at said second server (30) in response to said verification message (V); wherein said authorisation message (ARES) is dependent on said status information.
20. A method as claimed in any one of claims 7 to 19. further comprising processing said transaction message data (F) at said first server (20) according to the received authorisation message (ARES).
21. A method as claimed in claim 20, wherein the processing step comprises: determining acceptance criteria from the authorisation message (ARES): determining one or more acceptance parameters from the transaction message data
(F); and processing the transaction message data (F) as valid if the one or more acceptance parameters meet the acceptance criteria.
->
22. A method as claimed in any preceding claim, wherein said transmissions between the first server (20) and the second server (30) are performed over said public network (100).
0 23. A method as claimed in any preceding claim, wherein said public network (100) is a packet-switched network.
24. A method as performed by the first server (20) in a method as claimed in any preceding claim. 5
25. A method as performed by the second server (30) in a method as claimed in any one of claims 1 to 23.
26. Apparatus arranged to perform the method as claimed in claim 24. 0
27. Apparatus arranged to perform the method as claimed in claim 25.
PCT/GB1998/002868 1998-06-10 1998-09-23 Secure transaction system WO1999064995A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE29824106U DE29824106U1 (en) 1998-06-10 1998-09-23 Secure transaction system
AU91757/98A AU9175798A (en) 1998-06-10 1998-09-23 Secure transaction system
JP2000553924A JP2002517869A (en) 1998-06-10 1998-09-23 Secure transaction system
CA002299294A CA2299294A1 (en) 1998-06-10 1998-09-23 Secure transaction system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9812520.6 1998-06-10
GB9812520A GB2338381A (en) 1998-06-10 1998-06-10 Cryptographic authentication for internet using two servers

Publications (1)

Publication Number Publication Date
WO1999064995A1 true WO1999064995A1 (en) 1999-12-16

Family

ID=10833527

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1998/002868 WO1999064995A1 (en) 1998-06-10 1998-09-23 Secure transaction system

Country Status (7)

Country Link
JP (1) JP2002517869A (en)
CN (1) CN1266520A (en)
AU (1) AU9175798A (en)
CA (1) CA2299294A1 (en)
DE (1) DE29824106U1 (en)
GB (1) GB2338381A (en)
WO (1) WO1999064995A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001055979A1 (en) * 2000-01-24 2001-08-02 Smarttrust Systems Oy Payment device and method for secure payment
WO2001082148A1 (en) * 2000-04-27 2001-11-01 Deutsche Post Ag Method, according to which a customer accesses monetary-value data from a charging point
DE10057536A1 (en) * 2000-10-20 2002-04-25 Klaus Roth Sale of digital data of any type, such as film, books, music, etc., where the data is encoded using a person specific access code to prevent fraudulent copying
EP1326368A2 (en) * 2001-12-19 2003-07-09 Trw Inc. Revocation and updating of tokens in a public key infrastructure system
JP2003536181A (en) * 2000-06-22 2003-12-02 マスターカード インターナシヨナル インコーポレーテツド Improved method and system for processing secure payments across computer networks without pseudo or proxy account numbers
EP2278538A1 (en) * 2000-04-24 2011-01-26 Visa International Service Association Online payer authentication service
CN104156681A (en) * 2014-07-28 2014-11-19 上海辰锐信息科技公司 Identity recognition system
CN104517086A (en) * 2014-12-31 2015-04-15 山东信通电子股份有限公司 Identity card information reading method
CN104700057A (en) * 2015-04-02 2015-06-10 山东信通电子股份有限公司 Sharable resources type resident identification card reading achievement method and resident identification card reader
CN104899533A (en) * 2015-05-20 2015-09-09 李明 Method, apparatus and system for acquiring identify card information
CN104966035A (en) * 2015-05-20 2015-10-07 李明 Identity card information acquiring method, device, and system
US9560046B2 (en) 2014-11-07 2017-01-31 Kaiser Foundation Hospitals Device notarization
US9560030B2 (en) 2014-11-07 2017-01-31 Kaiser Foundation Hospitals Nodal random authentication
US20190172064A1 (en) * 2016-07-01 2019-06-06 American Express Travel Related Services Company, Inc. Systems and methods for validating transmissions over communication channels

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005203599B2 (en) * 2000-02-14 2007-03-08 Yong Kin Ong (Michael) Electronic funds transfer
AUPQ556600A0 (en) * 2000-02-14 2000-03-02 Ong, Yong Kin (Michael) Electronic funds transfers-zipfund
US8322606B2 (en) 2000-02-16 2012-12-04 Ong Yong Kin Michael Electronic credit card—ECC
AUPQ564400A0 (en) 2000-02-16 2000-03-09 Ong, Yong Kin (Michael) Electronic credit card-ecc
NL1015564C2 (en) * 2000-05-30 2001-12-03 Beleggings En Exploitatie Mij Payment system via internet or other telecommunications network has multiple devices to identify and locate user and to prevent fraud
EP1193658A1 (en) * 2000-09-29 2002-04-03 Siemens Aktiengesellschaft Method and system for transmitting an amount of electronic money from a credit memory
FR2835636A1 (en) * 2002-02-07 2003-08-08 Carmel Giacopino Business computer system for transactions includes card reader authentication system and link to network for secure data exchange
AU2004225193B2 (en) * 2003-04-01 2009-07-30 Entropic Technologies Pty Ltd A system for secure communication
JP2006522507A (en) 2003-04-01 2006-09-28 エントロピック・テクノロジーズ・プロプライエタリー・リミテッド Secure communication system and secure communication method
US7694330B2 (en) * 2003-05-23 2010-04-06 Industrial Technology Research Institute Personal authentication device and system and method thereof
WO2004111751A2 (en) * 2003-06-13 2004-12-23 Orbid Limited Method and system for performing a transaction and for performing a verification of legitimate use of digital data
US11063766B2 (en) 2003-06-13 2021-07-13 Ward Participations B.V. Method and system for performing a transaction and for performing a verification of legitimate access to, or use of digital data
CN100388726C (en) * 2003-11-14 2008-05-14 国际商业机器公司 System and method for deferring the delivery of an e-mail
CN100388298C (en) * 2005-01-21 2008-05-14 高晶 System and method of implementing online reading of second generation of identity cards by means of shared SAM_V
WO2006121322A1 (en) * 2005-05-10 2006-11-16 Dts Ltd. Transaction method and verification method
JP4857657B2 (en) * 2005-08-23 2012-01-18 大日本印刷株式会社 Access management system and access management method
KR20070050712A (en) 2005-11-11 2007-05-16 엘지전자 주식회사 Method and system for obtaining digital rights of portable memory card
US7877784B2 (en) * 2007-06-07 2011-01-25 Alcatel Lucent Verifying authenticity of webpages
CN102236770B (en) * 2010-04-20 2015-05-20 公安部第一研究所 Novel machine-readable travel document access control method
GB2529982A (en) * 2013-05-24 2016-03-09 Prashant Govind Paima A process for authenticating an identity of a user
TW201712591A (en) * 2015-09-30 2017-04-01 Chunghwa Telecom Co Ltd Data authorization management and verification method for smart card can respectively perform protection for data items on smart card to restrict the application service end to merely obtain authorized data items
CN113221797B (en) * 2021-05-24 2024-01-19 厦门科路德科技有限公司 Anti-counterfeiting identification method, device and equipment for printed document

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US5280527A (en) * 1992-04-14 1994-01-18 Kamahira Safe Co., Inc. Biometric token for authorizing access to a host system
WO1996029667A1 (en) * 1995-03-20 1996-09-26 Sandberg Diment Erik Providing verification information for a transaction
US5613012A (en) * 1994-11-28 1997-03-18 Smarttouch, Llc. Tokenless identification system for authorization of electronic transactions and electronic transmissions
EP0779587A2 (en) * 1995-12-15 1997-06-18 Kabushiki Kaisha N.K Kikaku On-line shopping system and the method of payment settlement
WO1997041539A1 (en) 1996-04-26 1997-11-06 Verifone, Inc. A system and method for secure network electronic payment and credit collection
WO1998013797A2 (en) * 1996-09-26 1998-04-02 Verifone, Inc. A system, method and article of manufacture for a gateway payment architecture utilizing a multichannel, extensible, flexible architecture

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615268A (en) * 1995-01-17 1997-03-25 Document Authentication Systems, Inc. System and method for electronic transmission storage and retrieval of authenticated documents
US5590197A (en) * 1995-04-04 1996-12-31 V-One Corporation Electronic payment system and method
US5774552A (en) * 1995-12-13 1998-06-30 Ncr Corporation Method and apparatus for retrieving X.509 certificates from an X.500 directory
US5602918A (en) * 1995-12-22 1997-02-11 Virtual Open Network Environment Corp. Application level security system and method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US5280527A (en) * 1992-04-14 1994-01-18 Kamahira Safe Co., Inc. Biometric token for authorizing access to a host system
US5613012A (en) * 1994-11-28 1997-03-18 Smarttouch, Llc. Tokenless identification system for authorization of electronic transactions and electronic transmissions
WO1996029667A1 (en) * 1995-03-20 1996-09-26 Sandberg Diment Erik Providing verification information for a transaction
EP0779587A2 (en) * 1995-12-15 1997-06-18 Kabushiki Kaisha N.K Kikaku On-line shopping system and the method of payment settlement
WO1997041539A1 (en) 1996-04-26 1997-11-06 Verifone, Inc. A system and method for secure network electronic payment and credit collection
WO1998013797A2 (en) * 1996-09-26 1998-04-02 Verifone, Inc. A system, method and article of manufacture for a gateway payment architecture utilizing a multichannel, extensible, flexible architecture

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001055979A1 (en) * 2000-01-24 2001-08-02 Smarttrust Systems Oy Payment device and method for secure payment
EP2278538A1 (en) * 2000-04-24 2011-01-26 Visa International Service Association Online payer authentication service
WO2001082148A1 (en) * 2000-04-27 2001-11-01 Deutsche Post Ag Method, according to which a customer accesses monetary-value data from a charging point
JP2003536181A (en) * 2000-06-22 2003-12-02 マスターカード インターナシヨナル インコーポレーテツド Improved method and system for processing secure payments across computer networks without pseudo or proxy account numbers
JP4903346B2 (en) * 2000-06-22 2012-03-28 マスターカード インターナシヨナル インコーポレーテツド Improved method and system for processing secure payments across computer networks without pseudo or proxy account numbers
DE10057536A1 (en) * 2000-10-20 2002-04-25 Klaus Roth Sale of digital data of any type, such as film, books, music, etc., where the data is encoded using a person specific access code to prevent fraudulent copying
EP1326368A2 (en) * 2001-12-19 2003-07-09 Trw Inc. Revocation and updating of tokens in a public key infrastructure system
EP1326368A3 (en) * 2001-12-19 2003-12-03 Northrop Grumman Corporation Revocation and updating of tokens in a public key infrastructure system
CN104156681A (en) * 2014-07-28 2014-11-19 上海辰锐信息科技公司 Identity recognition system
US9560046B2 (en) 2014-11-07 2017-01-31 Kaiser Foundation Hospitals Device notarization
US9560030B2 (en) 2014-11-07 2017-01-31 Kaiser Foundation Hospitals Nodal random authentication
CN104517086A (en) * 2014-12-31 2015-04-15 山东信通电子股份有限公司 Identity card information reading method
CN104700057A (en) * 2015-04-02 2015-06-10 山东信通电子股份有限公司 Sharable resources type resident identification card reading achievement method and resident identification card reader
CN104899533A (en) * 2015-05-20 2015-09-09 李明 Method, apparatus and system for acquiring identify card information
CN104966035A (en) * 2015-05-20 2015-10-07 李明 Identity card information acquiring method, device, and system
CN104966035B (en) * 2015-05-20 2018-09-25 李明 ID card information acquisition methods, apparatus and system
US20190172064A1 (en) * 2016-07-01 2019-06-06 American Express Travel Related Services Company, Inc. Systems and methods for validating transmissions over communication channels
US11151561B2 (en) * 2016-07-01 2021-10-19 American Express Travel Related Services Company, Inc. Systems and methods for validating transmissions over communication channels

Also Published As

Publication number Publication date
DE29824106U1 (en) 2000-07-13
CN1266520A (en) 2000-09-13
CA2299294A1 (en) 1999-12-16
JP2002517869A (en) 2002-06-18
AU9175798A (en) 1999-12-30
GB2338381A (en) 1999-12-15
GB9812520D0 (en) 1998-08-05

Similar Documents

Publication Publication Date Title
WO1999064995A1 (en) Secure transaction system
US6026166A (en) Digitally certifying a user identity and a computer system in combination
US6367013B1 (en) System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
US6959381B2 (en) Central key authority (CKA) database for user accounts in ABDS system
US6983368B2 (en) Linking public key of device to information during manufacture
US7552333B2 (en) Trusted authentication digital signature (tads) system
US6247129B1 (en) Secure electronic commerce employing integrated circuit cards
US20030101348A1 (en) Method and system for determining confidence in a digital transaction
US20020165830A1 (en) Process and device for electronic payment
US20040260928A1 (en) Wim manufacturer certificate
WO1998040982A9 (en) Secure electronic commerce employing integrated circuit cards
WO2000069113A1 (en) Secure distribution and protection of encryption key information
US20030221109A1 (en) Method of and apparatus for digital signatures
KR20040078693A (en) Method for storage and transport of an electronic certificate
KR20100006004A (en) Autentification processing method and system using card, card terminal for authentification processing using card
CN1379893A (en) Distribution of certifiers
JP2002519782A (en) Apparatus and method for end-to-end authentication using biometric data
EP1267516B1 (en) Method for securing data relating to users of a public-key infrastructure

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 98808020.6

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 91757/98

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2299294

Country of ref document: CA

Ref document number: 2299294

Country of ref document: CA

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 09485666

Country of ref document: US

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase