BACKGROUND 1. Field of the Invention
The present invention relates to electronic commerce. More specifically, the present invention relates to a method and an apparatus to facilitate secure electronic commerce.
2. Related Art
Electronic commerce across the Internet is rapidly becoming a mainstay of the business world. A consumer wishing to make a purchase on the Internet can use a web browser to select the desired merchandise, and then to offer payment for the merchandise.
While shopping through a web browser is convenient, paying for the merchandise presents problems. Payment can be made using a credit card, a debit card, or an electronic check. Typically, when making payment with any of these methods, the consumer reveals the account number to the merchant so that the merchant can debit the account. Since the Internet is not secure and subject to eavesdropping, the account number is typically sent in encrypted form using a secure socket layer (SSL) system.
Even though SSL can protect the account number while it is in transit over the Internet, the merchant recovers the account number and completes the transaction. In many cases, the merchant also stores the account number in a database. The database then becomes a target for attack, and if the database is not secure, can lead to compromise of the account number to an unscrupulous person. Consequently, many consumers are uncomfortable with revealing their account numbers over the Internet for fear of having their account number stolen and used illegally.
The same problem exists to some degree at a point-of-sale (POS) terminal located at a cash register at the point of sale. The account number can be learned by the merchant and, if not adequately protected, compromised.
The financial institution holding the account typically accepts the transaction as valid if the account is not identified as being invalid. The account is identified as invalid if the account is known or suspected to have been compromised, perhaps by a report of a lost credit card. The financial institution rarely checks the signature on receipts and checks against the signature on file for the account. This leaves the financial institution open to fraud.
The merchant accepting electronic transactions over the Internet has little assurance that the owner of the account originated the transaction. If the consumer later denies making the transaction, it can be difficult for the merchant to prove otherwise.
What is needed is a method and an apparatus that facilitates secure electronic commerce while eliminating the problems identified above.
SUMMARY One embodiment of the present invention provides a system that facilitates secure electronic commerce. The system operates by first providing a consumer with a file of security data relating to an account maintained by a financial institution. The consumer then creates a financial transaction with a merchant using security data from the file to protect the financial transaction. This financial transaction is structured to prevent the merchant from knowing the account number for the account. Next, the merchant validates that the financial institution identified by the financial transaction is acceptable using security data from the file. The merchant then requests that the financial institution authorize the financial transaction. Upon receiving authorization to complete the financial transaction, the merchant completes the financial transaction. Finally, the merchant notifies the financial institution that the financial transaction is complete.
In one embodiment of the present invention, the file of security data includes a consumer identifier, a private key for encryption and authentication of data, a public key related to the private key for decryption and authentication of data, an identifier identifying the financial institution, a second public key belonging to the financial institution, an account number that has been encrypted with a key known only to the financial institution, a certificate signed by a recognized certificate authority that validates the financial institution, a certificate signed by the financial institution that validates the consumer, and computer algorithms for using the file of security data. This invention relies on the existing credit card payment processing mechanism with only minimal changes. The encrypted number is used whenever applicable.
In one embodiment of the present invention, the file of security data is provided to the consumer on a smart card.
In one embodiment of the present invention, the financial transaction is protected by first creating a hash of the financial transaction. Next, the hash, the certificate identifying the consumer, and the encrypted account number are encrypted using the financial institution's public key creating a secure envelope of transaction data. The encryption and hash are created at a secure site available only to the consumer, such as within the smart card.
In one embodiment of the present invention, the merchant requests that the financial institution authorize the financial transaction by validating the second hash of the financial transaction. The merchant generates the second hash which is a hash of the financial transaction and the same as the one generated by the consumer. The merchant sends the secure envelope and the second hash to the financial institution. The financial institution decrypts the secure envelope using the private key of the financial institution. Next, the financial institution compares the hash recovered from the secure envelope with the second hash. If the first hash is identical to the second hash, the financial institution decrypts the encrypted account number to recover the consumer's account number. After verifying that the financial transaction is valid for the account, the financial institution authorizes the financial transaction. The encryption or decryption algorithms need not be uniform and/or the same across all consumers or merchants.
In one embodiment of the present invention, the financial institution verifies that the financial transaction is valid for the account by verifying that the financial institution signed the consumer's certificate. Next, the financial institution determines that the account is a valid account and that a transaction amount is not greater than an authorized limit for the account.
In one embodiment of the present invention, the secure site available only to the consumer is within the smart card.
In one embodiment of the present invention, the merchant validates that the financial institution identified by the financial transaction is acceptable by receiving the certificate that validates the financial institution, and then validating that the recognized certificate authority signed the certificate.
BRIEF DESCRIPTION OF THE FIGURESFIG. 1 illustrates an electronic commerce system in accordance with an embodiment of the present invention.
FIG. 2 illustratessmart card114 in accordance with an embodiment of the present invention.
FIG. 3 is a flowchart illustrating the process of performing a financial transaction in accordance with an embodiment of the present invention.
FIG. 4 is a flowchart illustrating the process of initializing a smart card in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
The data structures and code described in this detailed description are typically stored on a computer readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. This includes, but is not limited to, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs) and DVDs (digital versatile discs or digital video discs), and computer instruction signals embodied in a transmission medium (with or without a carrier wave upon which the signals are modulated). For example, the transmission medium may include a communications network, such as the Internet.
Electronic Commerce System
FIG. 1 illustrates an electronic commerce system in accordance with an embodiment of the present invention. The system includessmart card reader102,display terminal104,merchant106,financial institution108, US Treasury109,smart card provider110,consumer112, andsmart card114.Smart card reader102 provides an interface tosmart card114 for transferring data to and fromsmart card114.
Smart card reader102 is coupled to display terminal104 to allowconsumer112 to view potential transactions, select an account to debit, authorize transactions, and the like.Display terminal104 can be any device, which allowsconsumer112 to display and enter data, including a personal computer with a web browser.
Smart card reader102 is also coupled tomerchant106. Typically, this coupling is a network coupling such as the Internet. In operation,merchant106 communicates withsmart card114 throughsmart card reader102.Merchant106 provides a transaction receipt for a financial transaction tosmart card114. In turn,smart card114 provides a secure digital envelope containing data, which can be used to authorize the financial transaction byfinancial institution108. Details of the authorization process are described below in conjunction withFIG. 3.
Merchant106 is also coupled tofinancial institution108.Merchant106 supplies details of a financial transaction tofinancial institution108 and receives authorization for the financial transaction fromfinancial institution108 as described below in conjunction withFIG. 3.
Financial institution108 is coupled to US Treasury109. US Treasury109 provides a certificate that is digitally signed using a private key belonging to US Treasury109. This root certificate can be used to verify thatfinancial institution108 is recognized by US Treasury109 as a valid financial institution. The creation and use of certificates, for example X.509 certificates, is well known in the art and will not be described further herein.
Financial institution108 also acts as a certificate authority and signs a certificate with its private key. This certificate can be used to verify thatconsumer112 is a valid customer offinancial institution108.Financial institution108 provides data tosmart card provider110 so thatsmart card provider110 can providesmart card114 toconsumer112. Details of the data provided tosmart card provider110 are discussed below in conjunction withFIG. 2.
Consumer112 receivessmart card114 and separately receives a one-time personal identification number (PIN) for activation ofsmart card114.Consumer112 then activatessmart card114 as described below in conjunction withFIG. 4. After activatingsmart card114,consumer112 can usesmart card114 to enter into financial transactions withmerchant106.
A practitioner with ordinary skill in the art can readily extend the above discussion to include a secure file for use on a computing device such as a personal computer, a personal digital assistant, or the like in place ofsmart card114. The operations using the secure file are the same as for usingsmart card114. The advantage of usingsmart card114 over a computing device with a secure file is thatsmart card114 is more portable.
Smart Card114
FIG. 2 illustratessmart card114 in accordance with an embodiment of the present invention.Financial institution108 provides data forsmart card114 tosmart card provider110. This data includes, but is not limited to,consumer identifier202,financial institution identifier204,private key206, relatedpublic key208, financial institution public key210 belonging tofinancial institution108,encrypted account number212 which has been encrypted using a key known only tofinancial institution108,financial institution certificate214 signed by US Treasury109, andconsumer certificate216 signed byfinancial institution108.Smart card provider110 stores the data received fromfinancial institution108 onsmart card114 along withcomputer algorithms218.
Consumer identifier202 is a unique identifier, which can identifyconsumer112 tofinancial institution108.Financial institution identifier204 is a unique identifier, which can identifyfinancial institution108.Private key206 is a cryptographic key associated withconsumer112.Public key208 is also a cryptographic key. In one implementation of the present invention,private key206 andpublic key208 are a key pair used with the well-known Rivest-Shamir-Adleman (RSA) encryption algorithm.
Financial institution public key210 is a cryptographic key that can be used to encrypt data intended forfinancial institution108. In one embodiment of the present invention, onlyfinancial institution108 has the related private key and, therefore, onlyfinancial institution108 can read data encrypted using financial institution public key210.Encrypted account number212 is the account number, which will be debited for the financial transaction.Encrypted account number212 is encrypted with a key known only tofinancial institution108 and can be decrypted only byfinancial institution108, thereby preventingmerchant106 or any other intermediate party from discovering the account number. Note thatsmart card114 can hold multiple encrypted account numbers. If so,consumer112 can select the encrypted account number to use for a financial transaction usingdisplay terminal104.
Financial institution certificate214 is signed by US Treasury109 and serves to identifyfinancial institution108 as a valid financial institution recognized by US Treasury109.Consumer certificate216 is signed by a certificate authority associated withfinancial institution108 and serves to identifyconsumer112 as a holder of an account offinancial institution108.
Computer algorithms218 are used bycomputer processor220 to perform operations such as encryption, decryption, authentication, and the like.Computer processor220 is embedded withinsmart card114, providing a secure site to perform operations related to a financial transaction.
Financial Transactions
FIG. 3 is a flowchart illustrating the process of performing a financial transaction in accordance with an embodiment of the present invention. The system starts whenconsumer112 selects merchandise or services to purchase from merchant106 (step 302). Next,consumer112 presentssmart card114 tomerchant106 throughsmart card reader102 for payment (step 304).
Merchant106 validates thatfinancial institution certificate214 was signed by US Treasury109 to ensure thatfinancial institution108, identified byfinancial institution identifier204 is a recognized financial institution (step 306). Next,merchant106 providesconsumer identifier202 andconsumer certificate216 tofinancial institution108 to validate thatconsumer112 has an account with financial institution108 (step 308).
Afterfinancial institution108 validates the existence of an account,merchant106 receives account validation from financial institution108 (step 310).Merchant106 then sends a receipt for the transaction to consumer112 (step 312). This receipt can be displayed toconsumer112 ondisplay terminal104.Consumer112 then verifies that the receipt is correct (step 314). Next, if there is more than one account onsmart card114,consumer112 selects an account from smart card114 (step 316).
Consumer112 then creates a hash of the data on the receipt usingcomputer algorithms218 on smart card114 (step 318). The hash algorithm can be any algorithm suitable for creating a non-reversible signature for the receipt such as secure hash algorithm-one (SHA-1). Next,consumer112 encrypts the receipt, the hash, andencrypted account number212 using financial institution public key210 (step 320). This encryption provides a secure digital envelope for transferring data tofinancial institution108 while preventingmerchant106 from learning the contents. Note that other data can be included in the secure digital envelope.Consumer112 then sends the secure digital envelope to merchant106 (step 322).
Merchant106 creates a hash of the data on the receipt using the same algorithm as consumer112 (step 324).Merchant106 then sends this hash and the secure digital envelope to financial institution108 (step 326).
Financial institution108 decrypts the secure digital envelope to recover the encrypted data (step 328).Financial institution108 then compares the hash received in the secure digital envelope with the hash received frommerchant106 to establish the financial transaction as valid (step 330). Next,financial institution108 verifies that the financial transaction does not violate any account restrictions and, if not, authorizes the financial transaction (step 332).Financial institution108 then notifiesmerchant106 that the financial transaction is valid (step 334).
Merchant106 then delivers the merchandise or service to consumer112 (step 336).Merchant106 notifiesfinancial institution108 that the financial transaction is complete ending the process (step 338).
Initializing a Smart Card
FIG. 4 is a flowchart illustrating the process of initializing a smart card in accordance with an embodiment of the present invention. The system starts whenfinancial institution108 registerspublic key208 belonging toconsumer112 with the certificate authority related to financial institution108 (step 402). Next,financial institution108 sendssmart card114 to consumer112 (step 404). Note,smart card114 is partially initialized with data as described above in conjunction withFIG. 2 except forconsumer certificate216. Under separate cover,financial institution108 sends a one-time personal identification number (PIN) to consumer112 (step 406).
Using the PIN,consumer112 requests activation of smart card114 (step 408). In response to this request,financial institution108requests consumer certificate216 from the certificate authority (step 410). Next, the certificate authority issues consumer certificate216 (step 412).
The certificate authority sendsconsumer certificate216 to smart card provider110 (step 414). Finally,smart card provider110 installsconsumer certificate216 onsmart card114 ending the process (step 416).
The foregoing descriptions of embodiments of the present invention have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention. The scope of the present invention is defined by the appended claims.