US20140365373A1 - Unified identity verification - Google Patents
Unified identity verification Download PDFInfo
- Publication number
- US20140365373A1 US20140365373A1 US14/465,732 US201414465732A US2014365373A1 US 20140365373 A1 US20140365373 A1 US 20140365373A1 US 201414465732 A US201414465732 A US 201414465732A US 2014365373 A1 US2014365373 A1 US 2014365373A1
- Authority
- US
- United States
- Prior art keywords
- token
- account holder
- server
- merchant
- account
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/322—Aspects of commerce using mobile devices [M-devices]
- G06Q20/3223—Realising banking transactions through M-devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Definitions
- Online fraud may take the form of the unauthorized use of bank account, credit or debit card numbers to conduct purchases at an online merchant website.
- the information to conduct this online fraud may be obtained by fraudsters through hacking, the amassing of large quantities of private information and account numbers, or through the use of account number generators that can generate valid credit and debit card numbers.
- This online fraud is responsible for millions of dollars in losses for online merchants every year.
- FIG. 1 is a diagram of a system, according to an example embodiment, illustrating token generation and authentication.
- FIG. 2 is a diagram of a system, according to an example embodiment, used to complete an Electronic Funds Transfer (EFT) based transaction utilizing a depository financial institution server to verify the identity of a purchaser.
- EFT Electronic Funds Transfer
- FIG. 3 is a diagram of a system, according to an example embodiment, utilizing a back-channel communication between a merchant/merchant aggregator server and an financial network server o verify the identity of a participant n a transaction utilizing EFT.
- FIG. 4 is a diagram of a system, according to an example embodiment, wherein a bi-directional relationship between a depository financial institution server and a merchant/merchant aggregator server is used to complete an account holder purchase.
- FIG. 5 is a diagram of a system, according to an example embodiment, wherein a purchase is made by an account holder that involves the use of a financial network server.
- FIG. 6 is a diagram of a system, according to an example embodiment, illustrating an enrollment process for an account holder in a bi-directional relationship between a depository financial institution server and a merchant/merchant aggregator server.
- FIG. 7 is a diagram of a system, according to an example embodiment, that uses a Electronic Payment Financial Network (EPFN) to enroll a user and allow a user to participate in a transaction with a merchant/merchant aggregator server.
- EPFN Electronic Payment Financial Network
- FIG. 8 is a diagram of an system, according to an example embodiment, to facilitate account holder enrollment.
- FIG. 9 is a diagram of a system, according to an example embodiment, illustrating the receipt of an enrollment instructions with code that is received by merchant/merchant aggregator server.
- FIG. 10 is a diagram of a system, according to an example embodiment, that uses an enrollment mailer to solicit account holders to utilize or enroll in the system and method illustrated herein.
- FIG. 11 is a simplified diagram illustrating an Graphical User Interface (GUI), according to an example embodiment.
- GUI Graphical User Interface
- FIG. 12 is a block diagram illustrating another GUI, according to an example embodiments.
- FIG. 13 is a block diagram of the various hardware and software components, according to example embodiments, used in a computer system that determines the validity of a token.
- FIG. 14 is a flow chart illustrating a method, according to an example embodiment, implemented by a computer system used to determine the validity of a token.
- FIG. 15 is a block diagram of the various hardware and software components, according to example embodiments, used by a computer system to receive and store a token for use in an online transaction.
- FIG. 16 is a flow chart illustrating a method, according to an example embodiment, implemented by a computer system to receive and store a token for use in an online transaction.
- FIG. 17 is an illustration of a dual Time Based Rolling Encryption (TRBE) key fob, according to an example embodiment, used to generate a seed value that can be converted to a token.
- TRBE Time Based Rolling Encryption
- FIG. 18 is a block diagram of the various hardware and software components, according to example embodiments, that can be used to create a dual TRBE key fob.
- FIG. 19 is a block diagram of an apparatus and systems, according to various example embodiments, which utilizes a token in the transaction of online commerce.
- FIG. 20 is a block diagram of a computer system, according to an example embodiment, used to verify a depository financial institution account holder's identity in a transaction involving EFT.
- FIG. 21 is a block diagram of a computer system, according to an example embodiment, used to process a service request that includes using a depository financial institution account holder's verified identity to facilitate the use of EFT.
- FIG. 22 is a flow chart illustrating an method, according to an example embodiment, used to verify a depository financial institution account holder's identity in a transaction involving EFT.
- FIG. 23 is a flow chart illustrating an method, according to an example embodiment, used to process a service request that includes using a depository financial institution account holder's verified identity to facilitate the use of EFT.
- FIG. 24 is a flow diagram illustrating method, according to example embodiments, for authentication.
- FIG. 25 is a flow diagram illustrating additional methods, according to various example embodiments, for password verification.
- FIG. 26 is a tri-stream flow chart illustrating an method, according to an example embodiment, to verify an EFT account holder identity through the use of a financial entity server.
- FIG. 27 is a tri-stream flow chart illustrating an method, according to an example embodiment, to verify an EFT account holder identity through the use of a back-channel exchange between a merchant/merchant aggregation server and an financial network server.
- FIG. 28 is a tri-stream flow chart illustrating an method, according to an example embodiment, to verify a seed value generated by a dual TRBE key fob for the purpose of consummating a transaction between a merchant and an account holder.
- FIG. 29 is a block diagram illustrating a client-server architecture to facilitate authentication according to various example embodiments of the system and method illustrated herein.
- FIG. 30 is a Relational Data Schema (RDS), according to an example embodiment
- FIG. 31 is a block diagram, illustrating a diagrammatic representation of machine, in the example form of a computer system, within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.
- a system and method is shown for using a token to address online fraud in an EPFN.
- the number that appears on a physical credit, debit cards, or a bank account number is replaced with an identifier (e.g., a token) that is generated by a depository financial institution server.
- this token is associated by an account holder with a merchant.
- An account holder is a person having an account with a depository financial institution that controls a depository financial institution server.
- the merchant in one example embodiment, may use the token in facilitating an online commercial transactions engaged in by the account holder.
- An online commercial transaction includes a transaction in commerce conducted over a network.
- account holders instruct their depository financial institution, and the servers they control, to generate a token and send it to a merchant/merchant aggregator server.
- This token may be sent over a network.
- a depository financial institution includes, for example, a national, state of thrift chartered bank, a credit union, a savings and loan, or other suitable institution.
- Some example embodiments may include an enrollment program to facilitate the use of tokens by account holders in online commercial transactions.
- pre-enrollment is used by a depository financial institution to facilitate participation by account holders.
- account holder enrollment is facilitated by merchants who solicit account holders to utilize tokens in conducting online commercial transactions.
- an EPFN may include a bankcard or payment processor networks such as VISATM and MASTERCARDTM, EFT networks such as STARTM, PULSETM, or NYCETM, or even a file transfer networks such as the Automated Clearing House (ACH) network.
- the EPFN may also include a core bank process, or outsourced bank processing (e.g., as provided by Metavante Corporation, or Jack Henry Corporation).
- the token in some example embodiments, is generated through the use of a hash algorithm, digital signature, or symmetric or asymmetric key algorithm. In some example embodiments, the token is generated through the use of time based rolling encryption.
- the token may be a pseudo-number, alpha-numeric value, a 128-bit value, 256-bit value, a pointer to a location in physical or virtual memory, or some other suitable value.
- the token may be verified using a Public Key Infrastructure (PKI), or a Pretty Good Protection (PGP) web of trust.
- PKI Public Key Infrastructure
- PGP Pretty Good Protection
- FIG. 1 is a diagram of an example system 100 illustrating token generation and authentication.
- an account holder registers once with some authenticating entity, such as a depository financial institution server 112 , on that their identity can later be verified.
- This depository financial institution server 112 may be part of a PKI, or a PGP web of trust.
- the depository financial institution server 112 generates authentication tokens on behalf of the account holder.
- the depository financial institution server 112 may be controlled by a bank.
- An account holder may use a device 102 , perhaps taking the form of a cellular telephone in some embodiments, to inform the depository financial institution server 112 that authentication tokens have been requested.
- a token request 118 is generated and transmitted to the depository financial institution server 112 .
- the depository financial institution server 112 upon the entry of selected information (e.g., logging into a bank account controlled by the account holder with a username and password), the depository financial institution server 112 generates and issues one or more tokens to the account holder.
- tokens may take the form of a numeric value, one or more smart cards, a magnetic card, a Radio Frequency Identification (RFID) device, a bar code, or a printed piece of paper.
- Tokens may be physically generated, or electronically generated, perhaps in the form of an email message 120 to the device 102 .
- tokens Once the tokens have been generated, they may be presented at a number of locations for authentication. In this manner, the account holder need only register one time with an authenticating entity, and thereafter, authentication may be accomplished using tokens, so that little or no information is passed on to various other entities (e.g., an unknown vendor) for inspection prior to various transactions taking place.
- An example of an authenticating entity is a merchant or merchant aggregator and server controlled by the merchant or merchant aggregator.
- a system 100 for taken generation and authentication may receive a token 104 , and an authentication request 106 to authenticate the token 104 .
- This authentication request 106 may be received at an Internet Service Provider (ISP) server 110 representing a vendor or other party requesting authentication of the token 104 .
- the ISP server 110 may be controlled by a merchant or merchant aggregator.
- An example of a merchant aggregator is PAYPALTM.
- the request for authentication of the token 104 may be entered using a client terminal 116 with a GUI 117
- the device 102 is an example of a client terminal 116 .
- One example of such a request might be initiated by scanning a smart card having an embedded RFID device with the token recorded thereon.
- a further example of such a request may be the providing of a numeric value via an internet connection by the account holder.
- the ISP server 110 may forward the token 104 as part of a message 144 to the depository financial institution server 112 .
- the depository financial institution server 112 may represent the financial entity or other entity that has registered the identity of the account holder seeking authentication by the vendor (e.g., represented by the ISP server 110 ). If the token is matched by the depository financial institution server 112 , then a message 148 announcing that authentication was successful may be returned to the ISP server 110 from the depository financial institution server 112 , and thereafter, to the client terminal 116 .
- FIG. 2 is a diagram of an example system 200 used to complete an EFT based transaction utilizing a depository financial institution server to verily the identity of a purchaser.
- a device 102 in the form of a cell phone.
- This device 102 generates and transmits a purchase request 201 that is received by a merchant/merchant aggregator server 202 .
- the merchant/merchant aggregator server 202 may be controlled by a merchant aggregator such as PAYPALTM.
- This purchase request 201 may be in the firm of a request for a particular target resource that may reside upon or be accessible from the merchant/merchant aggregator server 202 .
- a target resource may include a good or service that can be purchased.
- a Single Sign On (SSO) verification 203 is transmitted by the merchant/merchant aggregator server 202 across a network to be received by the device 102 .
- the device 102 may utilize this SSO verification 203 to generate a SSO service request 204 .
- This SSO service request 204 includes an EFT account number associated with the user of the device 102 .
- the SSO service request 204 is received by a financial network server 205 .
- the financial network server 205 may be controlled by STARTM,
- the financial network server 205 transmits an account holder verification request 206 .
- This account holder verification request 206 is received by the depository financial institution server 112 .
- the account holder verification request 206 includes a key value.
- a key value may be a numeric value, hash value, digital signature, symmetric or asymmetric key value. This key value is compared to an existing key value on file with the depository financial institution server 112 . Where the key value corresponds to an account holder, conformation/denial 207 is generated confirming the identity of the party tendering a purchase request to the financial network server 205 . The depository financial institution server 112 generates an account holder confirmation/denial 207 . This account holder confirmation/denial 207 is received by the financial network server 205 . An account verification 208 is generated by financial network server 205 . This account verification may include a Security Assertion Markup Language (SAML) response. This account verification 208 is received by the device 102 .
- SAML Security Assertion Markup Language
- the device 102 may be utilized to complete or otherwise consummate the purchase of the good or service identified in the purchase request 201 . In some example embodiments, based upon the receipt of the account verification 208 , further purchases of good or services may be completed using the device 102 .
- FIG. 3 is a diagram of an example system 300 utilizing a back-channel communication between the merchant/merchant aggregator server 202 and the financial network server 205 to verify the identity of a purchaser in a transaction utilizing EFT.
- Shown is the device 102 that generates a purchase request 301 .
- This purchase request 301 is received by the merchant/merchant aggregator server 202 .
- the merchant/merchant aggregator server 202 generates a purchase verification request 302 and transmits this purchase verification request 302 to the financial network server 205 .
- Associated with this purchase verification request 302 may be an EFT account number and a device ID.
- the device ID may include a unique identifier for the device 102 .
- a Media Access Control (MAC) address, an International Mobile Equipment Identity (MEI) address or an Electronic Serial Numbers (ESNs) address are examples of device IDs.
- the financial network server 205 generates an account holder verification request 303 that is received by the depository financial institution server 112 .
- the depository financial institution server 112 generates a confirmation, where the device ID corresponds to the device ID on file for the financial network account holder seeking to engage in an EFT transaction.
- the depository financial institution server 112 generates an account holder confirmation/denial 304 that is received by the financial network. server 205 .
- an account verification 305 is provided to the merchant/merchant aggregator server 202 .
- This account verification 305 may include a token or may include a denial of the purchase request 301 .
- the merchant/merchant aggregator server 202 generates a confirmation 306 and provides this to the device 102 confirming the purchase requested in the purchase request 301 .
- FIG. 4 is a diagram of an example system 400 wherein a bi-directional relationship between a depository financial institution server and a merchant/merchant aggregator server is used to complete an account holder purchase.
- a GUI 401 who, using an GUI 407 associated with one or more devices 102 , generates a shopping selection 409 .
- the device 102 includes, for example, a cell phone 403 , computer system 404 , television 405 , or a Personal Digital Assistant (PDA) 406 .
- PDA Personal Digital Assistant
- the user 408 generates a shopping selection 410 using on the device 102
- the user 409 generates a shopping selection 412 using the device 102 .
- Users 401 , 408 , and 409 may be account holders.
- the shopping selections 409 , 410 and 412 are transmitted across the network 413 and received by the merchant/merchant aggregator server 202 .
- These shopping selections 409 , 410 , and 412 include account holder information, or other information used to uniquely identify the account holder to the merchant/merchant aggregator server 202 .
- the network 413 may use anyone of a number of protocols including an Internet Protocol (IP), an Asynchronous Transfer Mode (ATM) protocol, a Data Over Cable Service Interface Specification (DOCSIS) protocol, Secure Sockets Layer (SSL), Transport Layer Security (TLS), or some other suitable protocol.
- IP Internet Protocol
- ATM Asynchronous Transfer Mode
- DOCSIS Data Over Cable Service Interface Specification
- SSL Secure Sockets Layer
- TLS Transport Layer Security
- the network 413 may have an architecture including a Virtual Private Network (VPN) architecture, a Local Area Network (LAN), or Wide Area Network (WAN) architecture and associated topology.
- VPN Virtual Private Network
- LAN Local Area Network
- WAN Wide Area Network
- Operatively connected to the merchant/merchant aggregator server 202 is the depository financial institution server 112 .
- the depository financial institution server 112 receives a purchase request using customer unique ID 414 .
- the purchase request using customer unique ID 414 includes data relating to the purchase as reflected in the shopping selections 409 410 , and 412 . This data may include price information, quantity information, or other suitable information.
- the purchase request using customer unique ID 414 is received from the merchant/merchant aggregator server 202 by the depository financial institution server 112 .
- the purchase request using customer unique ID 414 may include a token that is compared by the depository financial institution server 112 against value tokens for the merchant/merchant aggregator server 202 . Where sufficient funds exist for the purchase, an authorization reply 415 is generated to signify an authorization of the purchase.
- the authorization reply 415 is received by the merchant/merchant aggregator server 202 .
- the authorization reply 415 may include a boolean value or flag.
- the authorization reply 415 is received by the merchant/merchant aggregator server 202 .
- a further embodiment of this method is through the use of an EPFN that is connected to one or more banks.
- FIG. 5 is a diagram of an example system 500 wherein a purchase is made by an account holder that involves the use of a financial network server.
- the purchase request using customer ID 504 is generated based upon the shopping selections 501 , 502 , and 503 . These shopping selections 501 through 503 include account holder information, or other information used to uniquely identify the account holder to the merchant/merchant aggregator server 202 .
- the purchase request using customer ID 504 is received by the financial network server 205 , and forwarded to the depository financial institution server 112 .
- the financial network server 205 may track which depository financial institution server 112 issued token and which merchant/merchant aggregator server 202 received the token.
- a mapping may exist on the financial network server 205 between a particular token and the merchant/merchant aggregator server 202 . This tracking is performed so as to validate that the merchant/merchant aggregator server 202 is entitled to use the token.
- the purchase request using customer unique ID 504 may include a token that is compared by the depository financial institution server 112 against tokens associated with the merchant/merchant aggregator server 202 .
- An authorization reply 501 is generated by the depository financial institution server 112 and transmitted to the financial network server 205 . Further, the authorization reply 501 is transmitted to the merchant/merchant aggregator server 202 .
- the financial network server 205 may ensure that the token is valid. Further, the financial network server 205 may ensure that the token comes from the merchant/merchant aggregator server 202 to whom the token was assigned. Validity may be determined based upon certain predefined parameters such as the size of the token, the confirmation of a symmetric or asymmetric key value, a digital signature, hash digest value, numeric range reflected in the token, or other suitable criteria. In some example embodiments, if the token is invalid or if it comes from any other merchant that is not the merchant to whom the token was sent, the network may decline the purchase authorization request. If the token is valid, the network may forward the purchase authorization request to the bank that, in turn, may perform additional checks to ensure the transaction can be approved.
- the network may forward the purchase authorization request to the bank that, in turn, may perform additional checks to ensure the transaction can be approved.
- FIG. 6 is a diagram of an example system 600 illustrating an enrollment process for an account holder in a bi-directional relationship between a depository financial institution server 112 and a merchant/merchant aggregator server 202 .
- enrollment instructions 610 , 611 , and 612 are generated by the user (e.g., account holders) 401 , 408 , and 409 and the device 102 utilized by these users.
- These enrollment instructions 610 , 611 , and 612 may include uniquely identifying account holder information. This uniquely identifying account holder information includes, for example, social security number information, physical address information, and answers to challenge questions, a unique numeric value known to the account holder.
- the depository financial institution server 112 operatively connected to the merchant/merchant aggregator server 202 .
- the depository financial institution server 112 generates a customer unique ID 615 .
- This customer unique ID 615 is a token.
- account holders initiate enrollment in response to an offer or solicitation to link their bank account, or any other financial account, to a merchant or merchant aggregator account.
- the linked account referenced herein is a funding account.
- the customer unique ID 615 may be mapped to a particular customer name, where the customer is an account holder of the depository financial institution that controls the depository financial institution server 112 .
- the depository financial institution server 112 Upon receiving these enrollment instructions 610 through 612 , the depository financial institution server 112 generates a token (e.g., the customer unique ID 615 ) that the banks can tater translate into funding account numbers (e.g., a number representing a financial account).
- the funding account for the account holder can be a deposit account, credit lines, or other suitable account.
- the token generated is sent to merchants using a secure channel (e.g., the network 413 ) along with other personal information that allows merchants, via the merchant/merchant aggregator server 202 or web server controlled by the merchant, to create an account associating the token with a particular account holder.
- the depository financial institution server 112 also stores the token along with specific information about the merchant that received the token.
- account holders log on at the selected merchant web site and instruct the merchant to use the pre-stored tokens to pay for a specific purchase.
- Merchants send the purchase information to banks using a proprietary link passing the token as the pointer to the financial account to be used to fund the purchase.
- banks may ensure that the token is valid and that it comes from the merchant to whom the token was assigned. If the token is invalid or if it comes from any other merchant that is not the merchant to whom the token was sent, the token originating bank may decline the purchase authorization request. If the token is valid and the request passes all other normal checks (e.g. enough money in the funding account), the bank may approve the purchase authorization request.
- FIG. 7 is a diagram of an example system 700 that uses a EPFN to enroll an account holder user and allow the account holder to participate in a transaction with a merchant/merchant aggregator server 202 .
- Enrollment instructions 610 through 612 are provided to the depository financial institution server 112 .
- These enrollment instructions 610 through 612 may be aggregated into the enrollment instructions 701 and provided to the financial network server 205 .
- Enrollment instructions 701 may be a numeric value(s) tracked by the depository financial institution server 112 , where each value corresponds to a particular account holder.
- a consumer unique ID 703 in the form of a token is provided to the merchant/merchant aggregator server 202 .
- the depository financial institution server 112 tracks which merchant/merchant aggregator server 202 received the token.
- account holders log on at the selected merchant web server, and instruct the merchant to use the pre-stored tokens to pay for a specific purchase.
- the merchant sends the purchase information across the network 413 to the depository financial institution server 112 to be used to verify the purchase.
- FIG. 8 is a diagram of an example system 800 to facilitate account holder enrollment, Shown are enrollment notifications 801 that are generated by the depository financial institution server 112 . Also shown is a consumer unique ID 802 (e.g., a token) that is also generated by the depository financial institution server 112 .
- the enrollment instructions 801 are provided to the devices 102 operated by the users 401 , 408 , and 409 .
- the enrollment instructions 801 are segregated into specific enrollment instructions 803 , 804 , and 805 for specific users (e.g., account holders).
- enrollment notification 803 are provided to user 401
- enrollment instructions 804 are provided to the user 408
- enrollment instructions 805 are provided to the user 409 .
- These enrollment notifications 801 , and 803 through 805 may be in the form of Uniform Resource Identifier (URI) formatted data that enables an account holder to enroll or otherwise utilize the system and method illustrated herein.
- URI Uniform Resource Identifier
- FIG. 9 is a diagram of an example system 900 illustrating the receipt of an enrollment instructions with code that is received by merchant/merchant aggregator server 202 .
- enrollment instructions with code 903 through 905 is generated by each of the devices 102 controlled by the users 401 , 408 , and 409 respectively. These various enrollment instructions with code 903 through 905 are aggregated into the enrollment instructions with code 901 .
- the enrollment instructions with code 901 is received by the merchant/merchant aggregator server 202 .
- the merchant/merchant aggregator server 202 generates an enrollment request with code 902 that is transmitted to the depository financial institution server 112 .
- the depository financial institution server 112 generates an enrollment reply consumer unique ID 906 (e.g., a token) that is transmitted to and received by the merchant/merchant aggregator server 202 .
- An example of the enrollment instructions with code 901 , and 903 through 905 is a messages that includes account holder information transmitted using Hypertext Transfer Protocol over Secure Socket Layer (HTTPS), the TLS protocol, or SSL protocol.
- HTTPS Hypertext Transfer Protocol over Secure Socket Layer
- TLS protocol Transmission Layer
- SSL protocol Secure Socket Layer
- FIG. 10 is a diagram of an example system 1000 that uses an enrollment mailer to solicit account holders to utilize or enroll in the system and method illustrated herein.
- the depository financial institution server 112 generates an enrollment mailer with a sign up code 1002 .
- This mailer may be an email received from a server controlled by their financial institutions asking them to enroll in the service.
- the mailer may include some form of unique code assigned to each account holder.
- the enrollment mailer with a sign up code 1002 may be transmitted across the network 413 as a enrollment mailer with a sign up code 1003 through 1005 .
- Each of these enrollment mailer with a sign up code 1003 through 1005 may be received by the devices 102 controlled by the users 401 , 408 , and 409 .
- These enrollment mailer with a sign up code 1002 , and 1003 through 1005 may be in the form of URI formatted data that enables an account holder to enroll or otherwise utilize the system and method illustrated herein.
- the merchant/merchant aggregator server 202 may forward the information to the depository financial institution server 112 that may validate the information provided against its own records and reply to the merchant with the unique token for further commercial transactions as shown in FIG. 1 above.
- FIG. 11 is a simplified diagram illustrating an example GUI 407 according to various embodiments of the system and method.
- This GUI 407 is one of many that are possible.
- a sample web page that might be seen by an account holder that has logged into his bank account on the Internet is shown, Here, the “TOKEN” option 1104 has been selected, calling up the TOKEN GENERATION PAGE 1108 .
- This selection permits the account holder account owner to select a particular account 1112 that can be used to generate tokens.
- several fields such as a time limit field 1116 , a number presented field 1120 , and a vendor list field 1140 may be populated with various information.
- a time limit for token validity may be set in field 1116 (e.g., 24 hours after generation, the token will no longer be valid for authentication purposes).
- the account holder may also select how many times the token may be presented (e.g., 10) using the field 1120 .
- a limited selection of entities that can request authentication may also be selected. In this way, the useful lifetime and other breadth of use characteristics for particular tokens may be limited, providing increased security.
- the account holder may also specify information to be shared with requesting parties by the authenticating entity upon successful authentication, perhaps using the sharing field 1136 .
- a generate widget button (not pictured) to generate a token.
- a message field 1128 in the GUI 407 may be used to inform the individual account holder when the last token was generated.
- Other fields in the GUI 407 may be used to provide additional selection alternatives.
- FIG. 12 is a block diagram illustrating another example of a GUI 407 according to various embodiments of the system and method.
- This GUI 407 is one of many that are possible.
- a sample web page that might be seen by a vendor that has logged into an authentication entity web page on the Internet is shown.
- the “VERIFY” option 1244 has been selected, calling up the AUTHENTICATION PAGE 1248 .
- This selection permits the vendor (e.g., the requesting party) to enter a token into an authentication system by a number of methods, including manually typing in a coded value into the token field 1252 .
- Other methods of entry include electrical (e.g., direct contact pads), electronic (e.g., RFID), and optical (e.g., bar code) scanning.
- the time and date may be entered into the time/date field 1216 , and the party making the request may identify themselves in the vendor field 1220 .
- the authentication entity may be selected using the verification field 1240 .
- any of the fields 1252 , 1216 , 1220 , and 1240 may be auto-generated by the authenticating entity (e.g., the depository financial institution server 112 ).
- the requesting party might simply click on an authentication widget (not pictured).
- the validity of the token (and therefore authentication of the identity of the account holder, such as a customer of the vendor) may be indicated by simple GO, NO-GO or GOOD/BAD indicators.
- certain information 1232 may be shared with the requesting party. Here, for example, the name, physical address, and the email address of the account holder are shared. Other information, obtained at the time of registration or thereafter by the authenticating entity, may also be shared, if requested by the requesting party and permitted by the account holder. Such information may be specified as part of the token generation activity (shown in FIG. 2 ).
- a message field 1228 in the GUI 407 may be used to inform the requesting party when the last authentication occurred, either with respect to the particular token being authenticated, or perhaps with respect to the vendor requesting authentication.
- a machine implemented method is used to generate tokens through TRBE.
- both depository financial institutions and merchants exchange a secret hash function, or encryption algorithm.
- this could be a bilateral algorithm shared between one bank and one merchant, a multi-lateral algorithm shared between one bank and multiple merchants, or a network based algorithm that is applicable to all participating banks and all participating merchants.
- banks pass along —instead of the token—a seed value that is unique by account holder.
- the merchant retrieves the seed value associated with the account holder and it feeds it to the algorithm creating a token which is then sent to the depository financial institution for authorization.
- This algorithm could also be time based, wherein the seed is a numeric value generated by a clock.
- FIG. 13 is a block diagram of the various example hardware and software components used in a computer system that determines the validity of a token.
- This computer system may be the financial network server 205 , or depository financial institution server 112 .
- these various components can all be hardware, whereas in other embodiments these components can all be software, or a combination of the two.
- Some example embodiments may include a Central Processing Unit (CPU) 1301 being used to perform various mathematical operations, Included within the CPU 1301 , for example, are various adders and multipliers, or only adders, or only multipliers.
- CPU Central Processing Unit
- the CPU 1301 is operatively connected to memory 1304 and an output (I/O) driver 1303 ,
- a receiver 1302 is operatively connected to an I/ 0 driver 1303 via buses 1314 to receive a purchase request through an EPFN, the purchase request including a token to identify a merchant server.
- a comparison engine 1305 is operatively connected to the CPU 1301 to compare the token against a merchant identifier value to determine that that token is assigned to the merchant server.
- a merchant identifier value is a numeric, or alpha-numeric value used to uniquely identify a merchant or merchant aggregator, and/or a server controlled by the merchant or merchant aggregator.
- a transmitter 1306 is operatively connected to the I/O driver 1303 to transmit a purchase request authorization to authorize an online transaction, where the token and merchant identifier values are equivalent.
- the purchase request includes at least one of account holder information, a purchase amount, or a seed value.
- a mapping engine 1307 is operatively connected to the CPU 1301 to map the token to the merchant identifier value,
- the token is generated from a time based seed value.
- a transmitter 1308 is operatively connected to the I/O driver 1303 to transmit an invalidity message where the token and merchant identifier values are not equivalent.
- online transaction includes a transaction in commerce that is conducted by two or more devices communicating over a network.
- FIG. 14 is a flow chart illustrating an example method 1400 implemented by a computer system used to determine the validity of a token.
- the computer system may be the financial network server 205 , or depository financial institution server 112 .
- An operation 1401 is executed by the receiver 1302 to receive a purchase request through an EPFN, the purchase request including a token to identify a merchant server.
- An operation 1402 is executed by the comparison engine 1305 to compare the token against a merchant identifier value to determine that that token is assigned to the merchant server.
- An operation 1403 is executed by the transmitter 1306 to transmit a purchase request authorization authorizing an online transaction, where the token and merchant identifier value are equivalent.
- the purchase request includes at least one of account holder information, a purchase amount, or a seed value.
- Operation 1404 is executed by the mapping engine 1307 to map the token to the merchant identifier value.
- the token is generated from a time based seed value.
- Operation 1405 is executed by the transmitter 1308 to transmit an invalidity message where the token and merchant identifier value are not equivalent.
- an online transaction includes a transaction in commerce that is conducted by two or more devices communicating over a network.
- FIG. 15 is a block diagram of the various example hardware and software components that can be used by a computer system to receive and store a token for use in an online transaction.
- the merchant/merchant aggregator server 202 is an example of a computer server.
- these various components can all be hardware, whereas in other embodiments these components can all be software, or, in some embodiments, these components can be a combination of the two.
- Some example embodiments may include a CPU 1501 being used to perform various mathematical operations. Included within the CPU 1501 , for example, are various adders and multipliers, or only adders, or only multipliers.
- a receiver 1504 is operatively coupled to the I/O driver 1503 to receive a token associated with an account holder of a depository financial institution, the token to authorize payment during an online transaction.
- An association engine 1505 is operatively coupled to the CPU 1501 via a bus 1514 to associate the token with the account holder to facilitate the online transaction.
- a data store 1506 is operatively coupled to the CPU 1501 to store the association between the token and the account holder.
- a further receiver 1517 is operatively coupled to the I/O driver 1503 via a bus 1514 to receive a shopping selection that includes information identifying the account holder.
- a retriever 1508 is operatively coupled to the CPU 1501 via a bus 1514 to retrieve the token based upon the information.
- a transmitter 1507 is operatively to the I/O driver 1503 via a bus 1514 to transmit the token as part of a purchase request.
- a depository financial institution includes a bank.
- a further receiver 1508 is operatively coupled to the I/O driver 1503 via a bus 1514 to receive a purchase request authorization.
- a transaction engine 1509 is operatively coupled to the CPU 1501 via a bus 1514 to complete the online transaction based upon the receipt of the a purchase request authorization.
- FIG. 16 is a flow chart illustrating an example method 1600 implemented by a computer system to receive and store a token for use in an online transaction.
- the method 1600 may be executed b the merchant/merchant aggregator server 202 .
- Operation 1601 is executed by the receiver 1504 to receive a token associated with an account holder of a depository financial institution, the token to authorize payment during an online transaction.
- Operation 1602 is executed by the association engine 1505 to associate the token with the account holder to facilitate the online transaction.
- Operation 1603 is executed by the data store 1506 to store the association between the token and the account holder.
- Operation 1604 is executed by the receiver 1517 to receive a shopping selection that includes information identifying the account holder.
- Operation 1605 is executed by a retriever 1510 to retrieve the token based upon the information.
- Operation 1606 is executed by the transmitter 1507 to transmit the token as part of a purchase request.
- a depository financial institution includes a bank.
- Operation 1607 is executed by the receiver 1517 to receive a purchase request authorization.
- Operation 1608 is executed by the transaction engine 1509 to complete the online transaction based upon the receipt of the a purchase request authorization.
- FIG. 17 is an example illustration of an example dual TRBE key fob 1700 used to generate a seed value that can be conversed to a token through the use of an algorithm.
- a screen 1701 displays a 1 st TRBE seed value.
- a second screen 1702 displays a 2 nd TRBE seed value.
- Some example embodiments may include a button 1703 allowing the value from screen 1701 to be displayed.
- a button 1704 allows a second value in second screen 1702 to be displayed.
- Some embodiments may include the color coding of the buttons 1703 & 1704 to denote a first button and a second button. For example, button 1703 could be black, while button 1704 could be white.
- a key ring 1705 allows the fob 1700 to be operatively coupled to a key chain or other convenient means of carrying the fob 1700 .
- Some embodiments may include a Universal Serial Bus (USB) plug 1706 .
- USB Universal Serial Bus
- FIG. 17 displayed in FIG. 17 is a side view showing button 1703 , key ring 1705 , and USB plug 1706 .
- Also described is a top-down view showing screens 1701 , 1702 , buttons 1703 , 1704 , key ring 1705 , and USB plug 1706 .
- one or more of the seed values generated by the dual TRBE key fob 1700 are compared to one or more seed values generated by a clock residing on the depository financial institution server 112 . Where these values are equivalent, a transaction may be consummated between the user of the TRBE key fob 1700 and the merchant/merchant aggregator server 202 .
- the screen 1710 displays a first seed value at a first point in time, while the second screen 1702 displays a second seed value at a second point in time.
- the first or second seed values may be provided to the merchant/merchant aggregator server 202 .
- the merchant/merchant aggregator server 202 uses oat least one of these seed values to an algorithm to generate a token this token is provided to the depository financial institution server 112 . Where the token is verified, the depository financial institution server 112 transmits an authorization signal to the merchant/merchant aggregator server 202 signifying that the transaction between the user of the dual TRBE key fob 1700 and the merchant/merchant aggregator server 202 may be consummated.
- the clock residing on the dual TRBE key fob 1700 may be resynchronized with the clock on the depository financial institution server 112 through the use of the USB plug 1706 .
- the dual TRBE key fob 1700 may be plugged into the device 102 .
- a session may be established between the devices 102 and the depository financial institution server 112 , the purpose of which is to retrieve the current time from the clock residing on the depository financial institution server 112 . This current time is uses to set the clock on the dual TRBE key fob 1700 .
- FIG. 18 is a block diagram of the various example hardware and software components that can be used to create a dual TRBE key fob 1700 .
- these various components can all be hardware, whereas in other embodiments these components can all be software, or, in some embodiments, these components can be a combination of the two.
- Some example embodiments may include a CPU 1801 being used to perform various mathematical operations. Included within the CPU 1801 , for example, are various adders and multipliers, or only adders, or only multipliers. In some example embodiments, the CPU 1801 is able to process a 20 bit, 21 bit or some other suitable size word. In some embodiments, the CPU 1801 is operatively coupled to a battery 1802 .
- Some example embodiments may include a battery 1802 as a rechargeable battery, whereas in other embodiments it is a disposable battery.
- the CPU 1801 and battery 1802 are connected via a bus 1814 .
- the CPU 1801 is operatively coupled via a bus 1814 to a piece of memory 1804 .
- the memory 1804 is used to store values derived from a clock 1803 , whereas in other embodiments this memory is used to store TRBE values (e.g., seed values). These values can be one or more sequential clock values (e.g., integers) or serial clock values, or these values can be serial clock values or sequential clock values.
- This memory 1804 can also include, in some embodiments, various input/output drivers 1805 or a synchronization function 1816 .
- This memory 1804 can be of some suitable size including, for example, a 64 kilobyte or megabyte memory, a 128 kilobyte or megabyte memory, or a 256 kilobyte or megabyte memory, or some other suitable memory size. In some embodiments, this memory size will be contingent upon whether additional memory is need to use e device to store data (e.g., data files, media files), in addition to, TRBE values.
- Some example embodiments may include various input/output drivers 1805 that are operatively coupled via a bus 1814 to a CPU 1801 . These input/output drivers 1805 are then operatively coupled to various input/output devices via various buses 1814 .
- an optional USB plug 1815 is connected to the input/output drivers 1805 .
- Some example embodiments may include the USB plug 1815 as a way to provide power to recharge the battery 1802 .
- clock synchronization takes place between a clock 1803 , and a clock located remotely as a part of, for example, the depository financial institution server 112 .
- Some example embodiments may include a first screen 1806 that is operatively coupled to the input/output drivers 1805 .
- a second screen 1807 is operatively coupled to the input/output drivers 1805 via a bus 1814 .
- only one screen e.g., 1806 or 1807
- Example embodiments may further include the screen 1806 and/or 1807 as having liquid crystal displays, whereas in other embodiments they are another type of suitable display including, but not limited to, a color screen, a monochrome screen or some other suitable screen.
- buttons 1808 and 1809 can be used in the dual TRBE key fob 1700 , whereas in other embodiments only one button (e.g., 1808 or 1809 ) is used in the device.
- the clock 1803 can be replaced with an encryption function using, for example, symmetric encryption such as the Advanced Encryption Standard (AES) or Data Encryption Standard (DES).
- the memory 1804 can be a flash memory.
- Some embodiments may include a memory 1804 that may be Electrically Erasable Programmable Read-Only Memory (EEPROM), Random-Access Memory (RAM), Flash memory or some other suitable memory type.
- EEPROM Electrically Erasable Programmable Read-Only Memory
- RAM Random-Access Memory
- Flash memory or some other suitable memory type.
- Some embodiments may include EEPROM where the dual TRBE key fob 1700 is completely powered down, whereas if the dual TRBE key fob 1700 is going to continue to use memory (e.g., to power the clock 1803 ), RAM may be preferable.
- Flash memory may be preferable.
- the battery 1802 may be a Lithium-ion battery, Lithium-ion polymer battery, Nickel-cadmium battery, Nickel metal hydride battery, or some other suitable rechargeable battery. Further, in some embodiments, the battery 1802 may be an alkaline battery, Lithium battery, Silver-oxide battery, or some other suitable battery type.
- the clock 1803 may be an application written in software and saved into the memory 1804 , whereas in other embodiments it may be completely implemented using hardware.
- the values generated by the clock 1803 are integer values.
- an additional software or hardware module may be needed to allow for the resynchronization of the clock with another clock contained on, for example, the depository financial institution server 112 .
- resynchronization will take the form of the software module, compensating for the difference between the clock signal and the clock value as reflected in the depository financial institution server 112 . In providing this compensation, the problem of token drift can be addressed.
- FIG. 19 is a block diagram of an example apparatus 1900 according to various embodiments of the system and method. Illustrated is an apparatus 1902 that can take many forms, such as an Automated Teller Machine, a cellular telephone, a desktop computer terminal with Internet access, a Point Of Sale (POS) terminal, etc.
- an apparatus 1902 that can take many forms, such as an Automated Teller Machine, a cellular telephone, a desktop computer terminal with Internet access, a Point Of Sale (POS) terminal, etc.
- POS Point Of Sale
- the apparatus 1902 may comprise one or more user input devices 1908 , such as a voice recognition processor 1916 , a keypad 1920 , a touch screen 1924 , a scanner 1926 , a thumbwheel, a button, etc.
- a POS terminal may be used to house the user input device 1908 .
- the apparatus 1902 may include a client module 1932 to communicatively couple to a server (e.g., server 1930 ) at a financial entity.
- the apparatus 1902 may also comprise an authentication request module 1928 to receive a token 1914 presented by a customer, to transmit a request 1948 to the financial entity (e.g., represented by the server 1930 ) to authenticate the customer purporting to be a particular account holder, and to receive notification 1958 , from the financial entity, that the customer is authenticated as the account holder based on matching the token 1914 to an identity that has been registered with the financial entity and is uniquely associated with the account holder.
- a server e.g., server 1930
- the apparatus 1902 may also comprise an authentication request module 1928 to receive a token 1914 presented by a customer, to transmit a request 1948 to the financial entity (e.g., represented by the server 1930 ) to authenticate the customer purporting to be a particular account holder, and to receive notification 1958 , from the financial entity, that the customer is authenticated as the
- a system 1910 may include one or more apparatus 1902 .
- the system 1910 may also include a server 1930 to communicatively couple to a global computer network 1918 (e.g., the Internet), and an authentication module 1938 to receive a request 1948 from a requesting party (e.g., represented by the client terminal 1902 ) to authenticate the customer purporting to be a particular account holder.
- the request 1948 may include the token 1914 .
- the authentication module 1938 may be used to send notification 1958 that the customer is authenticated as the account holder based on matching the token 1914 to an identity that has been registered with a financial entity and is uniquely associated with the account holder.
- the server 1930 may be located within a bank that has many individual account holders, each registered so that identity authentication tokens 1914 may be generated on their behalf.
- the terminal 1902 may comprise a POS terminal associated with the requesting party, wherein the POS terminal is to receive the token 1914 , and to be operatively coupled to the server 1930 .
- the system 1910 may comprise a storage device 1950 to couple to the server 1930 and to store a database 1954 having a plurality of registered identities, including the identity of the account holder whose identity is being authenticated.
- FIG. 20 is a block diagram of an example computer system 2000 used to verify a depository financial account holder's identity in a transaction involving EFT.
- the blocks shown herein may be implemented in software, firmware, or hardware. These blocks may be directly or indirectly operatively coupled via a physical or logical connection.
- the computer system 2000 may be the depository financial institution server 112 shown in FIG. 2 .
- Shown in FIG. 20 are blocks 2001 through 2007 , and 2014 . Illustrated is a CPU 2001 operatively coupled to a memory 2007 , a verification engine 2002 and updating engine 2003 via buses 2014 . Further, the CPU 2001 is operatively coupled to an I/O driver 2004 via buses 2014 .
- Operatively coupled to the I/O driver 2004 are a receiver 2005 and a transmitter 2006 .
- the receiver 2005 receives an account holder verification request to verify a financial entity account holder's identity in a commercial transaction that includes a use of an EFT.
- a verification engine 2002 is implemented to verify a key value associated with the financial entity account holder's identity in the commercial transaction that includes the use of EFT.
- a transmitter 2003 is implemented to transmit a confirmation of the financial entity account holder's identity to allow the account holder to consummate the commercial transaction that includes the use of the EFT,
- the updating engine 2003 is implemented to update a financial entity account associated with the account holder with at least one of an additional key value or a device identifier value.
- the key value is used as part of at least one of a PKI, or a PGP web of trust.
- the key value is at least one of an asymmetric key value or symmetric key value.
- the computer system is a financial entity server.
- the verifying of the key value associated with the financial entity account holder's identity includes a retriever to retrieve a key value entry from a data store, the key value entry provided by the account holder. Additionally, the verifying of the key value involves the use of a comparison engine to compare the key value entry to the key value.
- FIG. 21 is a block diagram of an example computer system 2100 used to process a service request that includes using an account holder's verified identity to facilitate the use of EFT.
- the blocks shown herein may be implemented in software, firmware, or hardware. These blocks may be directly or indirectly operatively coupled via a physical or logical connection.
- the computer system 2100 may be the financial network server 205 shown in FIG. 2 . Shown in FIG. 21 are blocks 2101 through 2108 , and buses 2114 . Illustrated is a CPU 2101 operatively coupled to a memory 2103 , a verification engine 2102 and I/O drivers 2104 via buses 2114 .
- the receiver 2105 receives a service request that identifies an EFT account holder in a commercial transaction that includes a use of an EFT.
- the verification engine 2102 to verify an EFT account number associated with the service request, the verification provided by a financial entity with which the EFT account holder has an account.
- the transmitter 2103 transmits an account holder verification request to verify that the account holder can participate in the commercial transaction that includes the use of EFT.
- the service request is an SSO service request.
- the receiver 2104 receives a confirmation of the EFT account holder's identity, the confirmation including a token verifying the EFT account holder's identity.
- the transmitter 2105 transmits a confirmation of the EFT account holder's identity, the confirmation including the token.
- the service request includes at least one of an EFT account number, or key value.
- FIG. 22 is a flow chart illustrating an example method 2200 used to verify an account holder's identity in a transaction involving EFT. Shown in FIG. 22 are various operations 2201 through 2204 that may be executed on the devices 112 shown in FIG. 1 .
- An operation 2201 is shown that is executed by the receiver 2005 in FIG. 20 to receive an account holder verification request to verify a financial entity account holder's identity in a commercial transaction that includes a use of an EFT.
- Operation 2202 is executed by the verification engine 2002 in FIG. 20 to verify a key value associated with the financial entity account holder's identity in the commercial transaction that includes the use of EFT.
- Operation 2203 is executed by the transmitter 2006 in FIG.
- Operation 2204 is executed by the updating engine 2003 in FIG. 20 to update a financial entity account associated with the account holder with at least one of an additional key value or a device identifier value.
- the key value is used as part of at least one of a PKI, or a PGP web of trust.
- the key value is at least one of an asymmetric key value or symmetric key value.
- the verifying of the key value associated with the financial entity account holder's identity includes retrieving a key value entry from a data store, the key value entry provided by the account holder. Further, this verifying includes comparing the key value entry to the key value.
- FIG. 23 is a flow chart illustrating an example method 2300 used to process a service request that includes using a financial entity account holder's verified identity to facilitate the use of EFT. Shown in FIG. 23 are various operations 2301 through 2305 that may be executed on the devices 102 . shown in FIG. 2 . An operation 2301 is shown that is executed by the receiver 2105 in FIG. 21 to receive a service request that identifies un EFT account holder in a commercial transaction that includes a use of EFT. Operation 2302 is executed by the verification engine 2102 in FIG. 21 to verify an EFT account number associated with the service request, the verification provided by a financial entity with which the EFT account holder has an account. Operation 2303 is execute by the transmitter 2106 in FIG.
- the service request is a SSO service request.
- Operation 2304 is executed by the receiver 2107 in FIG. 21 to receive a confirmation of the EFT account holder's identity, the confirmation including a token verifying the EFT account holder's identity.
- Operation 2305 is executed by the transmitter 2108 in FIG. 21 to transmit a confirmation of the EFT account holder's identity, the confirmation including the token.
- the service request includes at least one of an EFT account number, or key value.
- FIG. 24 is a flow diagram illustrating an example method 2400 according to various embodiments of the system and method.
- a computer-implemented method 2400 may begin at block 2413 with registering one time, at an authenticating entity, information comprising an identity uniquely associated with an account holder having a financial account held by the financial entity.
- Registering at block 2413 may include obtaining, verifying, and recording the information according to customer identification program (CIP) requirements, Know Your Customer (KYC) requirements, Know Your Business (KYB) requirements, and watch-list scanning requirements.
- CIP customer identification program
- KYC Know Your Customer
- KYB Know Your Business
- watch-list scanning requirements Such requirements are well-known to those of ordinary skill in the art.
- the information may comprise one or more of the name of the account holder, the birth date of the account holder, the physical address associated with the account holder, and/or an identification number associated with the account holder (e.g., social security number, hash-coded identification number).
- Registering may also comprise obtaining, verifying, and recording a prior verification associated with the customer by the financial entity against Customer Identification Program (CIP) requirements, Know Your Customer (KYC) requirements, Know Your Business (KYB) requirements and watch-list scanning requirements, for example.
- CIP Customer Identification Program
- KYC Know Your Customer
- KYB Know Your Business
- the method 2400 may continue on to block 2421 with receiving a request at the authenticating entity from a requesting party that has been presented with a token to authenticate a customer purporting to be a particular account holder,
- the requesting party may comprise a vendor, another financial entity, a brokerage, a lender, a car lot, an online auction provider, etc.
- Receiving the request may include receiving a message from the requesting party at the authenticating entity via a global computer network (e.g., the Internet).
- the method 2400 may include at block 2425 authenticating, by the authenticating entity, such as a bank or other financial entity, the customer as the account holder by matching a token presented by the customer to the identity uniquely associated with the account holder. If no match is determined at block 2425 , the method 2400 may include requesting, if the authenticating is not successful, additional information from the customer at block 2429 . One or more additional attempts, perhaps limited in number by the authenticating entity, may be made to authenticate the identity of the account holder by matching the token with the identity at 2425 .
- the authenticating entity such as a bank or other financial entity
- the method 2400 may include notifying the requesting party that the customer has been authenticated as the account holder by sending a message (e.g., an email message) to the requesting party, perhaps via a global computer network., at block 2433 .
- the method 2400 may include sending a message to a mobile device associated with the customer that the authenticating has been successful. This mobile device may also be used to present the token for authentication, perhaps by transmitting it electronically, or by displaying a bar code image on its display screen (e.g., a PDA or cellular phone display).
- the method 2400 may go to include, at block 2435 , storing the information in an authentication database.
- the authentication database may be linked to, but physically separate from, a database of accounts including a financial account associated with the account holder whose identity is being authenticated.
- the method 2400 may include providing to the requesting party a portion of a profile associated with the account holder, which the account holder previously authorized the financial entity to share (e.g., name, physical address, social security number, email address, telephone number, etc.).
- a profile associated with the account holder which the account holder previously authorized the financial entity to share (e.g., name, physical address, social security number, email address, telephone number, etc.).
- the method 2400 includes generating one or more tokens by a financial entity (or any other authentication entity) upon request by the account holder at block 2441 .
- Generating tokens at block 2441 may include generating tokens having: one or more of an expiration time period after which presentation of the token by the customer is ineffective; a selected number of requesting parties to which the token may be presented; a selected number of times the token may be presented; and named requesting parties to whom the token may be presented. Other limitations may be imposed.
- the method 2400 may go on to block 2445 with transmitting the token to the account holder. Transmitting may comprise sending an email message, perhaps including the token, to the account holder.
- the method 2400 may include receiving funds from a customer, such as, an amount associated with a transaction, or some other amount, at block 2449 .
- the method 2400 may include establishing a new account at a bank associated with an authenticated account holder to hold the funds without receiving any further information from the customer at block 2451 . That is, a new account may be opened at a financial entity that is not the authenticating entity, solely on the basis of authenticating the identity of an account holder using a token.
- Another example includes receiving an amount associated with a transaction associated with a vendor at block 2449 , and substantially simultaneously extending credit at block 2455 to the customer by the authenticating entity (e.g., a financial entity), on behalf of the vendor, based on authenticating the identity of a particular account holder, using the token.
- the authenticating entity e.g., a financial entity
- FIG. 25 is a flow diagram illustrating an additional example method 2500 according to various embodiments of the system and method.
- a computer-implemented method 2500 may begin at block 2513 with receiving a token presented by a customer, which may in turn comprise receiving a password entry at a terminal, for example.
- a token presented by a customer
- permission to share selected information from the profile associated with the customer may also be received.
- Such permission may be entered by the customer into the same terminal as that used to receive the token.
- receiving at block 2513 may include receiving the token in conjunction with permission to receive additional information associated with the account holder. In this way, the customer has the option, in some embodiments, of permitting additional information to be shared with the vendor, even after a token is generated.
- Such additional information might include one or more of the name of an authenticated account holder, the birth date of the account holder, the physical address associated with the account holder, and an identification number associated with the account holder (e.g., driver's license or other license number associated with the account holder).
- the method 2500 may go on to include transmitting a request to an authenticating entity, such as a financial entity, to authenticate the customer purporting to be a particular account holder at block 2517 . At this point, an attempt is made to match the token to the identity registered for the account holder at the authenticating entity.
- an authenticating entity such as a financial entity
- the method 2500 may terminate at block 2527 .
- repeated attempts to authenticate may also occur, as shown in FIG. 24 .
- the method 2500 may include receiving notification from the financial entity (or other authenticating entity) at block 2541 , that the customer is authenticated as the account holder based on matching the token to an identity that has been registered with the financial entity and is uniquely associated with the account holder.
- the method 2500 may include substantially simultaneously extending credit to the customer by the vendor, responsive to the authenticating, at block 2545 .
- the method 2500 may include automatically transferring an amount to be paid from an account associated with the account holder and held by the financial entity (e.g., credit card account at the authenticating entity) directly to an account associated with the requesting party. This is what might occur when purchases are made online or in a store, for example.
- the financial entity e.g., credit card account at the authenticating entity
- the methods 2400 , 2500 described herein do not have to be executed in the order described, or in any particular order. Moreover, various activities described with respect to the methods identified herein can be executed in repetitive, serial, or parallel fashion. Information, including parameters, commands, operands, and other data, can be sent and received in the form of one or more carrier waves.
- a software program can be launched from a computer-readable medium in a computer-based system to execute the functions defined in the software program.
- Various programming languages may be employed to create one or more software programs designed to implement and perform the methods disclosed herein.
- the programs may be structured in an object-orientated format using an object-oriented language such as Java or C++.
- the programs can be structured in a procedure-orientated format using a procedural language, such as assembly or C.
- the software components may communicate using a number of mechanisms well known to those skilled in the art, such as application program interfaces or interprocess communication techniques, including remote procedure calls.
- the teachings of various embodiments are not limited to any particular programming language or environment.
- a machine-readable medium e.g., the memories 1934 of FIG. 19
- instructions for directing a machine to perform operations comprising any of the methods described herein.
- some embodiments may include a machine-readable medium encoded with instructions for directing a client terminal or server to perform a variety of operations. Such operations may include any of the activities presented in conjunction with the methods 1111 , 2500 described above.
- FIG. 26 is a tri-stream flow chart illustrating an example method 2600 to verify an EFT account holder identity through the use of a financial entity server. Shown are operations 2601 and 2612 through 2614 that are executed by the depository financial institution server 112 . Further illustrated are operations 2608 through 2611 , and 2615 through 2617 that are executed by the financial network server 205 . Additionally shown are operations 2602 through 2607 , and 2618 through 2619 that are executed by the device 102 . Operation 2601 is executed to update a financial entity account with key values from an identity provider. A financial entity account is held by, for example, a user of the terminal 109 who also holds a EFT account on the financial network server 205 . This update is then stored into a database 2620 .
- An identity provider may include a PKI or a PGP web of trust, wherein either of these identity providers generate and provide a symmetric or asymmetric key value that is used to update the database 2620 .
- Operation 2602 is executed to receive input in the form of the purchase request 201 .
- An operation 2603 is executed to generate this purchase request 201 .
- Operation 2604 is executed to receive the SSO verification 203 in response to the purchase request 201 .
- An operation 2605 is executed to retrieve key information provided by the identity provider. This key information includes an asymmetric or symmetric key.
- Operation 2606 is executed to generate the SSO service request where this SSO service request may include the key information and EFT account information
- Operation 2607 is executed to transmit this SSO service request in the form of the SSO service request 204 that is then received through the execution of operation 2608 .
- Decisional operation 2609 is executed that determines whether an EFT account is verified or otherwise exists and further whether this EFT account is associated with the user utilizing the device 102 . In cases where decisional operation 2609 evaluates to “false,” an error condition 2610 is executed. In cases where decisional operation 2609 evaluates to “true,” an operation 2611 is executed. Operation 2611 is executed to generate an account holder request in the form of the account holder verification request 206 .
- This account holder verification request 206 is received through the execution of operation 2612 .
- a decisional operation 2613 is executed to determine whether the verified key value is associated with a particular user name or account holder name. In cases where decisional operation 2613 evaluates to “false,” an error condition 2620 is executed. in cases where decisional operation 2613 evaluates to “true,” an operation 2614 is executed. Operation 2614 is executed to generate an account holder confirmation or denial 207 . This account holder confirmation or denial 207 is received by the financial network server 205 , where a decisional operation 2615 is executed. Decisional operation 2615 determines whether the account holder has been verified as an account holder within the financial entity as verified by the depository financial institution server 112 .
- a termination condition 2621 is executed.
- an operation 2616 is executed.
- Operation 2616 generates an account verification token.
- An operation 2617 is executed that transmits the account verification 208 to be received through the execution of operation 2618 .
- the account verification 208 may be a SAML response with token.
- Operation 2618 when executed, receives the account verification.
- An operation 2619 is execute to allow the user utilizing the device 102 to continue with a purchase where their association with a particular EFT account and their association with a particular financial network account has been verified.
- the depository financial institution server 112 acts to vouch or otherwise confirm the identity of the party utilizing the device 102 for the purposes of consummating a transaction involving the user of EFT.
- FIG. 27 is a tri-stream flow chart illustrating an example method 2700 to verify an EFT account holder identity through the use of a back-channel exchange between a merchant server and an interbank network server. Shown is an operation 2701 , and 2708 through 2710 that are executed by the depository financial institution server 112 A. Also shown are operations 2705 through 2707 , and 2711 through 2712 that are executed by the depository financial institution server 112 . Additionally shown are operations 2702 through 2703 , and 2713 through 2714 that are executed by the merchant/merchant aggregator server 202 . Operation 2701 is executed to update a user financial network account with a device ID for a particular user device, This update is stored into the database 2731 .
- Operation 2702 is executed to receive a purchase request 301 .
- An operation 2703 is executed to generate a purchaser verification request that includes an EFT account number and a device ID associated with the device 102 .
- This purchaser verification request 302 is received through the execution of operation 2704 .
- a decisional operation 2705 is executed to determine whether or not the account number associated with the purchaser verification request 302 is valid. In cases where decisional operation 2705 evaluates to “false,” a termination condition 2720 is executed. In cases where decisional operation 2705 evaluates to “true,” an operation 2706 is executed.
- operation 2706 is executed to retrieve a user ID based upon the EFT account number.
- a user name may be a user ID.
- An operation 2707 is executed to generate and transmits an account holder verification request 303 .
- Operation 2708 is executed to receive the account holder verification request 303 .
- Decisional operation 2709 is executed to determine whether a device ID contained within the account holder verification request 303 is valid and associated with a particular user account that is further associated with the depository financial institution server 112 . In cases where decisional operation 2709 evaluates to “false,” a termination condition 2721 is executed. In cases where decisional operation 2709 evaluates to “true,” an operation 2710 is executed.
- Operation 2710 is executed to transmit an account holder confirmation or denial 304 that is received through the execution of operation 2711 .
- Operation 2712 is executed to transmit an account verification where this account verification includes a token that will allow the user utilizing the device 102 to continue with the transaction e.g., a purchase or sale of a good or service). Alternatively, the account verification includes a denial denying the user of the device 102 the ability to continue with the transaction.
- Operation 2713 is executed to allow for the receiving of the account verification with token or denial 305 .
- An operation 2714 is executed to store the token for the user utilizing the device 102 to allow that user to consummate an existing transaction or engage in future transactions. This token is stored into a data store 2715 where this data store 2715 may be a native or non native data store.
- FIG. 28 is a tri-stream flow chart illustrating an example method 2800 to verify a seed value generated by a dual TRBE key fob 1700 for the purpose of consummating a transaction between a merchant and an account holder. Illustrated are various operations 2810 through 2804 executed on one or more of the devices 102 . Further illustrated are various operations 2805 through 2812 executed on the merchant/merchant aggregator server 202 . Additionally, shown are various operations 2808 through 2810 executed on the depository financial server 112 . In some example embodiments, an operation 2801 is executed to set up a session with a host machine.
- a session may be a USB based session wherein the dual TRBE key fob 1700 interfaces with one of the devices 102 such that one of the devices 102 is prompted to set up a Transmission Control Protocol/Internet Protocol (TCP/IP) session with the merchant/merchant aggregator server 202 . Though this TCP/IP session seed values generated by the dual TREE key fob 1700 may be transmitted to the merchant/merchant aggregator server 202 by one of the devices 102 .
- Operation 2802 is executed to initialize the key fob 1700 .
- Operation 2803 is executed to generate two of more clock values. These clock values may be derived from the clock 1803 residing on the dual TRBE key fob 1700 .
- Operation 2804 is executed to initial the TCP/IP session and to transmit one or more of the seed values to the merchant/merchant aggregator server 202 .
- Operation 2805 is executed to receive the one or more seed values from the devices 102 .
- Operation 2806 is executed to provide the one or more seed values to an algorithm that generates a token. This algorithm may be supplied by a particular depository financial institution, and may be specific to such institution. The algorithm may be an encryption algorithm, hashing algorithm, or some other suitable algorithm.
- Operation 2807 is executed to transmit the token to a depository financial institution server 112 .
- Operation 2808 is executed to receive the token.
- Decisional operation 2809 is executed to determine whether the token is valid.
- Validity may be based upon the token valuing falling within a range of token values for a particular algorithm result using a time based seed value.
- decisional operation 2809 evaluates to “false” an error condition is generated.
- decisional operation 2809 evaluates to “true” an operation 2810 is executed.
- Operation 2810 when executed, transmits an authorization signal using a TCP/IP session established between the merchant/merchant aggregator server 202 and the depository financial institution server 112 .
- the signal may be a boolean value.
- Operation 2811 is executed to receive the authorization signal.
- Operation 2812 is executed to consummate the transaction between the device 102 and the merchant/merchant aggregator server 202 .
- FIG. 29 is a block diagram illustrating an example client-server architecture to facilitate authentication according to various embodiments of the system and method.
- the authentication system 2900 comprises a client-server architecture used for registration, token generation and/or authentication.
- a financial platform in the example form of a network-based financial system 2902 , provides server-side functionality, via a network 2980 (e.g., the Internet) to one or more clients.
- FIG. 29 illustrates, for example, a web client 2906 (e.g., a browser, such as the Internet Explorer browser developed by Microsoft Corporation of Redmond, Wash.), and a programmatic client 2908 executing on respective client machines 2910 and 2912 .
- a web client 2906 e.g., a browser, such as the Internet Explorer browser developed by Microsoft Corporation of Redmond, Wash.
- programmatic client 2908 may include a mobile device.
- an Application Program interface (API) server 2914 and a web server 2916 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 2918 .
- the application servers 2918 host one or more financial applications 2920 and authentication applications 2922 (e.g., similar to or identical to the authentication module 1938 of FIG. 19 ).
- the application servers 2918 are, in turn, shown to be coupled to one or more database servers 2924 that facilitate access to one or more databases 2926 , such as registries that include links between account holders, their identity information, and/or financial entity accounts.
- the financial applications 2920 provide a number of financial functions and services to users that access the network-based financial system 2902 .
- the authentication applications 2922 facilitate authenticating tokens presented by registered account holders.
- authentication system 2900 shown in FIG. 29 employs a client-server architecture
- present application is of course not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, architecture system.
- the various financial and authentication applications 2920 and 2922 may also be implemented as standalone software programs, which do not necessarily have networking capabilities.
- the web client 2906 may access the various financial and authentication applications 2920 and 2922 via the web interface supported by the web server 2916 , Similarly, the programmatic client 2908 accesses the various services and functions provided by the financial and authentication applications 2920 and 2922 via the programmatic interface provided by the API server 2914 .
- the programmatic client 2908 may, for example, comprise an authentication request module (e.g., similar to or identical to the authentication request module 1928 of FIG. 19 ) to enable a user to request authentication and to perform batch-mode communications between the programmatic client 2908 and the network-based financial system 2902 .
- Client applications 2932 and support applications 2934 may perform similar or identical functions.
- the authentication system 2900 may provide a number of registration, token generation, and authentication mechanisms whereby a user may receive tokens for authentication by any number of entities.
- the financial applications 2920 may include one or more account management applications which support and provide services related to various user accounts in a financial entity (e.g. a bank).
- the various account management applications may also provide a number of features such as supervising account transfers, holding account balances, and keeping tracking of and reporting transactions to relevant applications.
- the financial applications 2920 may also include dispute resolution applications to provide mechanisms whereby disputes arising between transacting parties may be resolved.
- the dispute resolution applications may provide guided procedures whereby the parties are guided through a number of steps in an attempt to settle a dispute. In the event that the dispute cannot be settled via the guided procedures, the dispute may be escalated to a customer service agent for the financial system 2902 , third party mediator, or arbitrator.
- Some embodiments may include the various databases (e.g., 2620 , and 2731 ) being relational databases, or, in some cases, On Line Analytic Processing (OLAP)-based databases.
- relational databases various tables of data are created and data is inserted into and/or selected from these tables using a Structured Query Language (SQL) or some other database-query language known in the art.
- SQL Structured Query Language
- OLAP databases one or more multi-dimensional cubes or hyper cubes, including multidimensional data from which data is selected from or inserted into using a Multidimensional Expression (MDX) language, may be implemented.
- MDX Multidimensional Expression
- a database application such as, for example, MYSQLTTM, MICROSOFT SQL SERVERTM, ORACLE 8ITM, 10GTM, or some other suitable database application may be used to manage the data.
- MOLAP Multidimensional On Line Analytic Processing
- ROIAP Relational On Line Analytic Processing
- HOLAP Hybrid Online Analytic Processing
- the tables or cubes made up of tables, in the case of, for example, ROLAP are organized into an RDS or Object Relational Data Schema (ORDS), as is known in the art.
- RDS Object Relational Data Schema
- These schemas may be normalized using certain normalization algorithms so as to avoid abnormalities such as non-additive joins and other problems. Additionally, these normalization algorithms may include Boyce-Codd Normal Form or some other normalization or optimization algorithm known in the art.
- FIG. 30 is an example RDS 3000 .
- a table 3001 that includes token IDs. These token IDs may be stored as an integer, string, or some other suitable data type.
- a table 3002 is illustrated that includes account holder data. This account holder data may be stored as a string, eXtensible Markup (XML) data type, or some other suitable data type.
- a table 3003 is shown that includes merchant IDs. These merchant IDs may be stored as an integer, string or XML data type.
- the token IDs of table 3001 may be mapped, joined, or otherwise reference the merchant IDs of table 3003 .
- a table 3004 is shown that includes encryption algorithms.
- encryption algorithms may include hashing algorithms, DES, AES, or other suitable algorithms stored as Binary Large Objects (BLOBs).
- BLOBs Binary Large Objects
- a table 3005 is shown that includes unique IDs values stored as integers. These unique IDs may be used to uniquely identify each of the entries in the tables 3001 through 3004 .
- FIG. 31 is a block diagram, illustrating a diagrammatic representation of machine 3100 in the example form of a computer system within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.
- the machine 3100 may also be similar to or identical to the client terminal 1002 or server 1030 of FIG. 10 .
- the machine 3100 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine 3100 may operate in the capacity of a server or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
- the machine 3100 may be a server computer, a client computer, a Personal Computer (PC), a Tablet PC, a Set-top Box (STB), a PDA, a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- PC Personal Computer
- Tablet PC Tablet PC
- Set-top Box STB
- PDA personal area network
- cellular telephone a web appliance
- web appliance a web appliance
- network router switch or bridge
- the example computer system 3100 may include a processor 3102 (e.g., a CPU, a Graphics Processing Unit (GPU) or both), a main memory 3104 and a static memory 3106 , all of which communicate with each other via a bus 3108 .
- the computer system 3100 may further include a video display unit 3110 (e.g., Liquid Crystal Displays (LCD) or Cathode Ray Tube (CRT)).
- the computer system 3100 also may include an alphanumeric input device 3112 (e.g., a keyboard), a cursor control device 3114 (e.g., a mouse), a disk drive unit 3116 , a signal generation device 3118 (e.g., a speaker) and a network interface device 3120 .
- the disk drive unit 3116 may include a machine-readable medium 3122 on which is stored one or more sets of instructions (e.g., software 3124 ) embodying any one or more of the methodologies or functions described herein.
- the software 3124 may also reside, completely or at least partially, within the main memory 3104 and/or within the processor 3102 during execution thereof by the computer system 3100 , the main memory 3104 and the processor 3102 also constituting machine-readable media.
- the software 3124 may further be transmitted or received over a network 3126 via the network interface device 3120 , which may comprise a wired and/or wireless interface device.
- machine-readable medium 3122 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
- the term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present system and method.
- the term “machine-readable medium” shall accordingly be taken to include tangible media that include, but are not limited to, solid-state memories and optical and magnetic media.
- the machine 3100 may use various hardware accelerators and security systems as part of the instructions 3124 for performing ciphering and cryptography, including the Rivest-Shamir-Adleman (RSA) security algorithm and cryptography by RSA Security, Inc. located at Bedford, Mass., as well as the El Gamal algorithm by Taher El Gamal.
- the RSA implementation is also to implement RSA BSAFE implementation, which is a form of hardware accelerator, to support the BSAFE library interface.
- Alternative solutions include operating system platforms (e.g., OpenBSD) that are securely built into an operating system.
- the operating system platforms can dedicate a processor in a multiple-way hardware platform and are also configured to use one or more processors in a multi-processor system for cryptographic operations.
- the machine 3100 may further use decryption and encryption in validating a token's sequence number to prevent other systems or sites from replaying or minting the token authentication module (see module 438 of FIG. 4 ).
- Using the apparatus, systems, and methods disclosed herein may reduce the effort required to verify the identity of account holders at a number of entities, including stores, banks, online auctions, and the like. Increased customer satisfaction may result.
- inventive subject matter may be referred to herein as an “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed.
- inventive subject matter may be referred to herein as an “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed.
- specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown.
- This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
- An algorithm is here, and generally, is considered to be a self-consistent sequence of operations or similar processing leading to a desired result.
- operations or processing involve physical manipulation of physical quantities.
- quantities may take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared or otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, data, values, elements, symbols, characters, terms, numbers, numerals or the like. It should be understood, however, that all of these and similar terms are to be associated with appropriate physical quantities and are merely convenient labels.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
In some example embodiments, a system and method is shown that includes receiving a purchase request through an Electronic Payment Financial Network (EPFN), the purchase request including a token to identify a merchant server. The system and method further includes comparing the token against a merchant identifier value to determine that that token is assigned to the merchant server. Additionally, the system and method includes transmitting a purchase request authorization authorizing an online transaction, where the token and merchant identifier value are equivalent.
Description
- This application is a continuation of U.S. patent application Ser. No. 12/347,907, filed Dec. 31, 2008, which claims priority to U.S. Provisional Patent Application Ser. No. 61/138,102, filed on Dec. 16, 2008 and to U.S. Provisional Patent Application Ser. No. 61/120,808, filed on Dec. 8, 2008, the benefit of priority of each of which is claimed hereby, and each are incorporated herein by reference in their entirety.
- Online fraud may take the form of the unauthorized use of bank account, credit or debit card numbers to conduct purchases at an online merchant website. The information to conduct this online fraud may be obtained by fraudsters through hacking, the amassing of large quantities of private information and account numbers, or through the use of account number generators that can generate valid credit and debit card numbers. This online fraud is responsible for millions of dollars in losses for online merchants every year.
- Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which:
-
FIG. 1 is a diagram of a system, according to an example embodiment, illustrating token generation and authentication. -
FIG. 2 is a diagram of a system, according to an example embodiment, used to complete an Electronic Funds Transfer (EFT) based transaction utilizing a depository financial institution server to verify the identity of a purchaser. -
FIG. 3 is a diagram of a system, according to an example embodiment, utilizing a back-channel communication between a merchant/merchant aggregator server and an financial network server o verify the identity of a participant n a transaction utilizing EFT. -
FIG. 4 is a diagram of a system, according to an example embodiment, wherein a bi-directional relationship between a depository financial institution server and a merchant/merchant aggregator server is used to complete an account holder purchase. -
FIG. 5 is a diagram of a system, according to an example embodiment, wherein a purchase is made by an account holder that involves the use of a financial network server. -
FIG. 6 is a diagram of a system, according to an example embodiment, illustrating an enrollment process for an account holder in a bi-directional relationship between a depository financial institution server and a merchant/merchant aggregator server. -
FIG. 7 is a diagram of a system, according to an example embodiment, that uses a Electronic Payment Financial Network (EPFN) to enroll a user and allow a user to participate in a transaction with a merchant/merchant aggregator server. -
FIG. 8 is a diagram of an system, according to an example embodiment, to facilitate account holder enrollment. -
FIG. 9 is a diagram of a system, according to an example embodiment, illustrating the receipt of an enrollment instructions with code that is received by merchant/merchant aggregator server. -
FIG. 10 is a diagram of a system, according to an example embodiment, that uses an enrollment mailer to solicit account holders to utilize or enroll in the system and method illustrated herein. -
FIG. 11 is a simplified diagram illustrating an Graphical User Interface (GUI), according to an example embodiment. -
FIG. 12 is a block diagram illustrating another GUI, according to an example embodiments. -
FIG. 13 is a block diagram of the various hardware and software components, according to example embodiments, used in a computer system that determines the validity of a token. -
FIG. 14 is a flow chart illustrating a method, according to an example embodiment, implemented by a computer system used to determine the validity of a token. -
FIG. 15 is a block diagram of the various hardware and software components, according to example embodiments, used by a computer system to receive and store a token for use in an online transaction. -
FIG. 16 is a flow chart illustrating a method, according to an example embodiment, implemented by a computer system to receive and store a token for use in an online transaction. -
FIG. 17 is an illustration of a dual Time Based Rolling Encryption (TRBE) key fob, according to an example embodiment, used to generate a seed value that can be converted to a token. -
FIG. 18 is a block diagram of the various hardware and software components, according to example embodiments, that can be used to create a dual TRBE key fob. -
FIG. 19 is a block diagram of an apparatus and systems, according to various example embodiments, which utilizes a token in the transaction of online commerce. -
FIG. 20 is a block diagram of a computer system, according to an example embodiment, used to verify a depository financial institution account holder's identity in a transaction involving EFT. -
FIG. 21 is a block diagram of a computer system, according to an example embodiment, used to process a service request that includes using a depository financial institution account holder's verified identity to facilitate the use of EFT. -
FIG. 22 is a flow chart illustrating an method, according to an example embodiment, used to verify a depository financial institution account holder's identity in a transaction involving EFT. -
FIG. 23 is a flow chart illustrating an method, according to an example embodiment, used to process a service request that includes using a depository financial institution account holder's verified identity to facilitate the use of EFT. -
FIG. 24 is a flow diagram illustrating method, according to example embodiments, for authentication. -
FIG. 25 is a flow diagram illustrating additional methods, according to various example embodiments, for password verification. -
FIG. 26 is a tri-stream flow chart illustrating an method, according to an example embodiment, to verify an EFT account holder identity through the use of a financial entity server. -
FIG. 27 is a tri-stream flow chart illustrating an method, according to an example embodiment, to verify an EFT account holder identity through the use of a back-channel exchange between a merchant/merchant aggregation server and an financial network server. -
FIG. 28 is a tri-stream flow chart illustrating an method, according to an example embodiment, to verify a seed value generated by a dual TRBE key fob for the purpose of consummating a transaction between a merchant and an account holder. -
FIG. 29 is a block diagram illustrating a client-server architecture to facilitate authentication according to various example embodiments of the system and method illustrated herein. -
FIG. 30 is a Relational Data Schema (RDS), according to an example embodiment -
FIG. 31 is a block diagram, illustrating a diagrammatic representation of machine, in the example form of a computer system, within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed. - In some example embodiments, a system and method is shown for using a token to address online fraud in an EPFN. In one example embodiment, the number that appears on a physical credit, debit cards, or a bank account number is replaced with an identifier (e.g., a token) that is generated by a depository financial institution server. In some example embodiments, this token is associated by an account holder with a merchant. An account holder is a person having an account with a depository financial institution that controls a depository financial institution server. The merchant, in one example embodiment, may use the token in facilitating an online commercial transactions engaged in by the account holder. An online commercial transaction includes a transaction in commerce conducted over a network.
- In some example embodiments, account holders instruct their depository financial institution, and the servers they control, to generate a token and send it to a merchant/merchant aggregator server. This token may be sent over a network. These instructions can be generated by the account holder through the depository financial institution server. A depository financial institution includes, for example, a national, state of thrift chartered bank, a credit union, a savings and loan, or other suitable institution.
- Some example embodiments may include an enrollment program to facilitate the use of tokens by account holders in online commercial transactions. In one example embodiment, pre-enrollment is used by a depository financial institution to facilitate participation by account holders. In another example embodiment, account holder enrollment is facilitated by merchants who solicit account holders to utilize tokens in conducting online commercial transactions.
- In some example embodiments, an EPFN may include a bankcard or payment processor networks such as VISA™ and MASTERCARD™, EFT networks such as STAR™, PULSE™, or NYCE™, or even a file transfer networks such as the Automated Clearing House (ACH) network. The EPFN may also include a core bank process, or outsourced bank processing (e.g., as provided by Metavante Corporation, or Jack Henry Corporation). The token, in some example embodiments, is generated through the use of a hash algorithm, digital signature, or symmetric or asymmetric key algorithm. In some example embodiments, the token is generated through the use of time based rolling encryption. Additionally, the token may be a pseudo-number, alpha-numeric value, a 128-bit value, 256-bit value, a pointer to a location in physical or virtual memory, or some other suitable value. The token may be verified using a Public Key Infrastructure (PKI), or a Pretty Good Protection (PGP) web of trust.
-
FIG. 1 is a diagram of anexample system 100 illustrating token generation and authentication. Prior to making a request for authentication, an account holder registers once with some authenticating entity, such as a depositoryfinancial institution server 112, on that their identity can later be verified. This depositoryfinancial institution server 112 may be part of a PKI, or a PGP web of trust. The depositoryfinancial institution server 112 generates authentication tokens on behalf of the account holder. The depositoryfinancial institution server 112 may be controlled by a bank. - An account holder may use a
device 102, perhaps taking the form of a cellular telephone in some embodiments, to inform the depositoryfinancial institution server 112 that authentication tokens have been requested. Atoken request 118 is generated and transmitted to the depositoryfinancial institution server 112. In one example embodiment, upon the entry of selected information (e.g., logging into a bank account controlled by the account holder with a username and password), the depositoryfinancial institution server 112 generates and issues one or more tokens to the account holder. Such tokens may take the form of a numeric value, one or more smart cards, a magnetic card, a Radio Frequency Identification (RFID) device, a bar code, or a printed piece of paper. Tokens may be physically generated, or electronically generated, perhaps in the form of anemail message 120 to thedevice 102. - Once the tokens have been generated, they may be presented at a number of locations for authentication. In this manner, the account holder need only register one time with an authenticating entity, and thereafter, authentication may be accomplished using tokens, so that little or no information is passed on to various other entities (e.g., an unknown vendor) for inspection prior to various transactions taking place. An example of an authenticating entity is a merchant or merchant aggregator and server controlled by the merchant or merchant aggregator.
- Here it can be seen that a
system 100 for taken generation and authentication may receive a token 104, and anauthentication request 106 to authenticate the token 104. Thisauthentication request 106 may be received at an Internet Service Provider (ISP)server 110 representing a vendor or other party requesting authentication of the token 104. In some example embodiments, theISP server 110 may be controlled by a merchant or merchant aggregator. An example of a merchant aggregator is PAYPAL™. The request for authentication of the token 104 may be entered using aclient terminal 116 with aGUI 117 Thedevice 102 is an example of aclient terminal 116. One example of such a request might be initiated by scanning a smart card having an embedded RFID device with the token recorded thereon. Another might be scanning a bar code, either as presented by a account holder on a printed piece of paper, or perhaps, as displayed on a cellular telephone. A further example of such a request may be the providing of a numeric value via an internet connection by the account holder. - Responsive to receiving the request, the
ISP server 110 may forward the token 104 as part of amessage 144 to the depositoryfinancial institution server 112. The depositoryfinancial institution server 112 may represent the financial entity or other entity that has registered the identity of the account holder seeking authentication by the vendor (e.g., represented by the ISP server 110). If the token is matched by the depositoryfinancial institution server 112, then amessage 148 announcing that authentication was successful may be returned to theISP server 110 from the depositoryfinancial institution server 112, and thereafter, to theclient terminal 116. -
FIG. 2 is a diagram of anexample system 200 used to complete an EFT based transaction utilizing a depository financial institution server to verily the identity of a purchaser. Shown is adevice 102 in the form of a cell phone. Thisdevice 102 generates and transmits apurchase request 201 that is received by a merchant/merchant aggregator server 202. The merchant/merchant aggregator server 202 may be controlled by a merchant aggregator such as PAYPAL™. Thispurchase request 201 may be in the firm of a request for a particular target resource that may reside upon or be accessible from the merchant/merchant aggregator server 202. A target resource may include a good or service that can be purchased. A Single Sign On (SSO)verification 203 is transmitted by the merchant/merchant aggregator server 202 across a network to be received by thedevice 102. Thedevice 102 may utilize thisSSO verification 203 to generate aSSO service request 204. ThisSSO service request 204 includes an EFT account number associated with the user of thedevice 102. TheSSO service request 204 is received by afinancial network server 205. Thefinancial network server 205 may be controlled by STAR™, Thefinancial network server 205 transmits an accountholder verification request 206. This accountholder verification request 206 is received by the depositoryfinancial institution server 112. The accountholder verification request 206 includes a key value. A key value may be a numeric value, hash value, digital signature, symmetric or asymmetric key value. This key value is compared to an existing key value on file with the depositoryfinancial institution server 112. Where the key value corresponds to an account holder, conformation/denial 207 is generated confirming the identity of the party tendering a purchase request to thefinancial network server 205. The depositoryfinancial institution server 112 generates an account holder confirmation/denial 207. This account holder confirmation/denial 207 is received by thefinancial network server 205. Anaccount verification 208 is generated byfinancial network server 205. This account verification may include a Security Assertion Markup Language (SAML) response. Thisaccount verification 208 is received by thedevice 102. Upon receiving theaccount verification 208, thedevice 102 may be utilized to complete or otherwise consummate the purchase of the good or service identified in thepurchase request 201. In some example embodiments, based upon the receipt of theaccount verification 208, further purchases of good or services may be completed using thedevice 102. -
FIG. 3 is a diagram of anexample system 300 utilizing a back-channel communication between the merchant/merchant aggregator server 202 and thefinancial network server 205 to verify the identity of a purchaser in a transaction utilizing EFT. Shown is thedevice 102 that generates apurchase request 301. Thispurchase request 301 is received by the merchant/merchant aggregator server 202. The merchant/merchant aggregator server 202 generates apurchase verification request 302 and transmits thispurchase verification request 302 to thefinancial network server 205. Associated with thispurchase verification request 302 may be an EFT account number and a device ID. The device ID may include a unique identifier for thedevice 102. A Media Access Control (MAC) address, an International Mobile Equipment Identity (MEI) address or an Electronic Serial Numbers (ESNs) address are examples of device IDs. Thefinancial network server 205 generates an accountholder verification request 303 that is received by the depositoryfinancial institution server 112. The depositoryfinancial institution server 112 generates a confirmation, where the device ID corresponds to the device ID on file for the financial network account holder seeking to engage in an EFT transaction. The depositoryfinancial institution server 112 generates an account holder confirmation/denial 304 that is received by the financial network.server 205. Based upon whether an account holder confirmation or denial is included in the account holder confirmation/denial 304, anaccount verification 305 is provided to the merchant/merchant aggregator server 202. Thisaccount verification 305 may include a token or may include a denial of thepurchase request 301. The merchant/merchant aggregator server 202 generates aconfirmation 306 and provides this to thedevice 102 confirming the purchase requested in thepurchase request 301. -
FIG. 4 is a diagram of anexample system 400 wherein a bi-directional relationship between a depository financial institution server and a merchant/merchant aggregator server is used to complete an account holder purchase. Shown is aGUI 401 who, using anGUI 407 associated with one ormore devices 102, generates ashopping selection 409. Thedevice 102 includes, for example, acell phone 403,computer system 404,television 405, or a Personal Digital Assistant (PDA) 406. Similarly, theuser 408 generates ashopping selection 410 using on thedevice 102, and theuser 409 generates ashopping selection 412 using thedevice 102.Users shopping selections network 413 and received by the merchant/merchant aggregator server 202. Theseshopping selections merchant aggregator server 202. Thenetwork 413 may use anyone of a number of protocols including an Internet Protocol (IP), an Asynchronous Transfer Mode (ATM) protocol, a Data Over Cable Service Interface Specification (DOCSIS) protocol, Secure Sockets Layer (SSL), Transport Layer Security (TLS), or some other suitable protocol. Further, thenetwork 413 may have an architecture including a Virtual Private Network (VPN) architecture, a Local Area Network (LAN), or Wide Area Network (WAN) architecture and associated topology. Operatively connected to the merchant/merchant aggregator server 202 is the depositoryfinancial institution server 112. The depositoryfinancial institution server 112 receives a purchase request using customerunique ID 414. The purchase request using customerunique ID 414 includes data relating to the purchase as reflected in theshopping selections 409 410, and 412. This data may include price information, quantity information, or other suitable information. The purchase request using customerunique ID 414 is received from the merchant/merchant aggregator server 202 by the depositoryfinancial institution server 112. The purchase request using customerunique ID 414 may include a token that is compared by the depositoryfinancial institution server 112 against value tokens for the merchant/merchant aggregator server 202. Where sufficient funds exist for the purchase, anauthorization reply 415 is generated to signify an authorization of the purchase. Theauthorization reply 415 is received by the merchant/merchant aggregator server 202. Theauthorization reply 415 may include a boolean value or flag. Theauthorization reply 415 is received by the merchant/merchant aggregator server 202. In some example embodiments, a further embodiment of this method is through the use of an EPFN that is connected to one or more banks. -
FIG. 5 is a diagram of anexample system 500 wherein a purchase is made by an account holder that involves the use of a financial network server. In some example embodiments, the purchase request usingcustomer ID 504 is generated based upon theshopping selections shopping selections 501 through 503 include account holder information, or other information used to uniquely identify the account holder to the merchant/merchant aggregator server 202. The purchase request usingcustomer ID 504 is received by thefinancial network server 205, and forwarded to the depositoryfinancial institution server 112. In some example embodiments, thefinancial network server 205 may track which depositoryfinancial institution server 112 issued token and which merchant/merchant aggregator server 202 received the token. A mapping may exist on thefinancial network server 205 between a particular token and the merchant/merchant aggregator server 202. This tracking is performed so as to validate that the merchant/merchant aggregator server 202 is entitled to use the token. The purchase request using customerunique ID 504 may include a token that is compared by the depositoryfinancial institution server 112 against tokens associated with the merchant/merchant aggregator server 202. Anauthorization reply 501 is generated by the depositoryfinancial institution server 112 and transmitted to thefinancial network server 205. Further, theauthorization reply 501 is transmitted to the merchant/merchant aggregator server 202. - in some example embodiments, upon receipt of the purchase authorization request (e.g., the purchase request using customer ID 504), the
financial network server 205 may ensure that the token is valid. Further, thefinancial network server 205 may ensure that the token comes from the merchant/merchant aggregator server 202 to whom the token was assigned. Validity may be determined based upon certain predefined parameters such as the size of the token, the confirmation of a symmetric or asymmetric key value, a digital signature, hash digest value, numeric range reflected in the token, or other suitable criteria. In some example embodiments, if the token is invalid or if it comes from any other merchant that is not the merchant to whom the token was sent, the network may decline the purchase authorization request. If the token is valid, the network may forward the purchase authorization request to the bank that, in turn, may perform additional checks to ensure the transaction can be approved. -
FIG. 6 is a diagram of anexample system 600 illustrating an enrollment process for an account holder in a bi-directional relationship between a depositoryfinancial institution server 112 and a merchant/merchant aggregator server 202. In some example embodiments,enrollment instructions device 102 utilized by these users. Theseenrollment instructions financial institution server 112 operatively connected to the merchant/merchant aggregator server 202. In some example embodiments, the depositoryfinancial institution server 112 generates a customerunique ID 615. This customerunique ID 615 is a token. - In some example embodiments, account holders initiate enrollment in response to an offer or solicitation to link their bank account, or any other financial account, to a merchant or merchant aggregator account. The linked account referenced herein is a funding account. The customer
unique ID 615 may be mapped to a particular customer name, where the customer is an account holder of the depository financial institution that controls the depositoryfinancial institution server 112. Upon receiving theseenrollment instructions 610 through 612, the depositoryfinancial institution server 112 generates a token (e.g., the customer unique ID 615) that the banks can tater translate into funding account numbers (e.g., a number representing a financial account). The funding account for the account holder can be a deposit account, credit lines, or other suitable account. Account holders and financial institutions have control over which accounts are to be used to fund purchases. The token generated is sent to merchants using a secure channel (e.g., the network 413) along with other personal information that allows merchants, via the merchant/merchant aggregator server 202 or web server controlled by the merchant, to create an account associating the token with a particular account holder. In some example embodiments, the depositoryfinancial institution server 112 also stores the token along with specific information about the merchant that received the token. - In some example embodiments, during the purchase process account holders log on at the selected merchant web site and instruct the merchant to use the pre-stored tokens to pay for a specific purchase. Merchants send the purchase information to banks using a proprietary link passing the token as the pointer to the financial account to be used to fund the purchase. Upon receipt of the purchase authorization request banks may ensure that the token is valid and that it comes from the merchant to whom the token was assigned. If the token is invalid or if it comes from any other merchant that is not the merchant to whom the token was sent, the token originating bank may decline the purchase authorization request. If the token is valid and the request passes all other normal checks (e.g. enough money in the funding account), the bank may approve the purchase authorization request.
-
FIG. 7 is a diagram of anexample system 700 that uses a EPFN to enroll an account holder user and allow the account holder to participate in a transaction with a merchant/merchant aggregator server 202. Shown areenrollment instructions financial server 112 across thenetwork 413.Enrollment instructions 610 through 612 are provided to the depositoryfinancial institution server 112. Theseenrollment instructions 610 through 612 may be aggregated into the enrollment instructions 701 and provided to thefinancial network server 205. Enrollment instructions 701 may be a numeric value(s) tracked by the depositoryfinancial institution server 112, where each value corresponds to a particular account holder. A consumerunique ID 703 in the form of a token is provided to the merchant/merchant aggregator server 202. The depositoryfinancial institution server 112 tracks which merchant/merchant aggregator server 202 received the token. During the purchase process, account holders log on at the selected merchant web server, and instruct the merchant to use the pre-stored tokens to pay for a specific purchase. The merchant sends the purchase information across thenetwork 413 to the depositoryfinancial institution server 112 to be used to verify the purchase. -
FIG. 8 is a diagram of anexample system 800 to facilitate account holder enrollment, Shown areenrollment notifications 801 that are generated by the depositoryfinancial institution server 112. Also shown is a consumer unique ID 802 (e.g., a token) that is also generated by the depositoryfinancial institution server 112. Theenrollment instructions 801 are provided to thedevices 102 operated by theusers enrollment instructions 801 are segregated intospecific enrollment instructions enrollment notification 803 are provided touser 401,enrollment instructions 804 are provided to theuser 408, andenrollment instructions 805 are provided to theuser 409. Theseenrollment notifications -
FIG. 9 is a diagram of anexample system 900 illustrating the receipt of an enrollment instructions with code that is received by merchant/merchant aggregator server 202. In some example embodiments, enrollment instructions withcode 903 through 905 is generated by each of thedevices 102 controlled by theusers code 903 through 905 are aggregated into the enrollment instructions withcode 901. The enrollment instructions withcode 901 is received by the merchant/merchant aggregator server 202. The merchant/merchant aggregator server 202 generates an enrollment request withcode 902 that is transmitted to the depositoryfinancial institution server 112. The depositoryfinancial institution server 112 generates an enrollment reply consumer unique ID 906 (e.g., a token) that is transmitted to and received by the merchant/merchant aggregator server 202. An example of the enrollment instructions withcode -
FIG. 10 is a diagram of anexample system 1000 that uses an enrollment mailer to solicit account holders to utilize or enroll in the system and method illustrated herein. In some example embodiments, the depositoryfinancial institution server 112 generates an enrollment mailer with a sign upcode 1002. This mailer may be an email received from a server controlled by their financial institutions asking them to enroll in the service. The mailer may include some form of unique code assigned to each account holder. The enrollment mailer with a sign upcode 1002 may be transmitted across thenetwork 413 as a enrollment mailer with a sign upcode 1003 through 1005. Each of these enrollment mailer with a sign upcode 1003 through 1005 may be received by thedevices 102 controlled by theusers code - In some example embodiments, when account holders tog on at a participating merchant web site, they provide their e-mail, the sign up code, and some other form of information known to them and their financial institution with which they have an account (e.g., the last four digits of their bank account number). The merchant/
merchant aggregator server 202 may forward the information to the depositoryfinancial institution server 112 that may validate the information provided against its own records and reply to the merchant with the unique token for further commercial transactions as shown inFIG. 1 above. -
FIG. 11 is a simplified diagram illustrating anexample GUI 407 according to various embodiments of the system and method. ThisGUI 407 is one of many that are possible. In the particular example ofFIG. 11 , a sample web page that might be seen by an account holder that has logged into his bank account on the Internet is shown, Here, the “TOKEN”option 1104 has been selected, calling up theTOKEN GENERATION PAGE 1108. This selection permits the account holder account owner to select aparticular account 1112 that can be used to generate tokens. Here it can be seen that several fields, such as atime limit field 1116, a number presentedfield 1120, and avendor list field 1140 may be populated with various information. - For example, after an account holder selects an
account 1112 to be used in conjunction with token generation, perhaps from a number of accounts in an account field, a time limit for token validity may be set in field 1116 (e.g., 24 hours after generation, the token will no longer be valid for authentication purposes). The account holder may also select how many times the token may be presented (e.g., 10) using thefield 1120. Finally, a limited selection of entities that can request authentication may also be selected. In this way, the useful lifetime and other breadth of use characteristics for particular tokens may be limited, providing increased security. The account holder may also specify information to be shared with requesting parties by the authenticating entity upon successful authentication, perhaps using thesharing field 1136. - Once the limiting selections have been made, the account holder account owner might simply click on a generate widget button (not pictured) to generate a token. In some embodiments, a
message field 1128 in theGUI 407 may be used to inform the individual account holder when the last token was generated. Other fields in theGUI 407 may be used to provide additional selection alternatives. -
FIG. 12 is a block diagram illustrating another example of aGUI 407 according to various embodiments of the system and method. ThisGUI 407 is one of many that are possible. In the particular example ofFIG. 12 , a sample web page that might be seen by a vendor that has logged into an authentication entity web page on the Internet is shown. Here, the “VERIFY”option 1244 has been selected, calling up theAUTHENTICATION PAGE 1248. This selection permits the vendor (e.g., the requesting party) to enter a token into an authentication system by a number of methods, including manually typing in a coded value into thetoken field 1252. Other methods of entry include electrical (e.g., direct contact pads), electronic (e.g., RFID), and optical (e.g., bar code) scanning. - The time and date may be entered into the time/
date field 1216, and the party making the request may identify themselves in thevendor field 1220. The authentication entity may be selected using theverification field 1240. For security purposes, any of thefields - To authenticate the token, the requesting party might simply click on an authentication widget (not pictured). The validity of the token (and therefore authentication of the identity of the account holder, such as a customer of the vendor) may be indicated by simple GO, NO-GO or GOOD/BAD indicators. Upon successful authentication,
certain information 1232 may be shared with the requesting party. Here, for example, the name, physical address, and the email address of the account holder are shared. Other information, obtained at the time of registration or thereafter by the authenticating entity, may also be shared, if requested by the requesting party and permitted by the account holder. Such information may be specified as part of the token generation activity (shown inFIG. 2 ). In some embodiments, amessage field 1228 in theGUI 407 may be used to inform the requesting party when the last authentication occurred, either with respect to the particular token being authenticated, or perhaps with respect to the vendor requesting authentication. - In some example embodiments, a machine implemented method is used to generate tokens through TRBE. In this scenario both depository financial institutions and merchants exchange a secret hash function, or encryption algorithm. For example, this could be a bilateral algorithm shared between one bank and one merchant, a multi-lateral algorithm shared between one bank and multiple merchants, or a network based algorithm that is applicable to all participating banks and all participating merchants. When the account holder enrolls, banks pass along —instead of the token—a seed value that is unique by account holder. When the account holder indicates he/she wants to purchase something from a participating merchant, the merchant retrieves the seed value associated with the account holder and it feeds it to the algorithm creating a token which is then sent to the depository financial institution for authorization. This algorithm could also be time based, wherein the seed is a numeric value generated by a clock.
-
FIG. 13 is a block diagram of the various example hardware and software components used in a computer system that determines the validity of a token. This computer system may be thefinancial network server 205, or depositoryfinancial institution server 112. In some example embodiments, these various components can all be hardware, whereas in other embodiments these components can all be software, or a combination of the two. Some example embodiments may include a Central Processing Unit (CPU) 1301 being used to perform various mathematical operations, Included within theCPU 1301, for example, are various adders and multipliers, or only adders, or only multipliers. TheCPU 1301 is operatively connected tomemory 1304 and an output (I/O)driver 1303, In some example embodiments, areceiver 1302 is operatively connected to an I/0driver 1303 viabuses 1314 to receive a purchase request through an EPFN, the purchase request including a token to identify a merchant server. Acomparison engine 1305 is operatively connected to theCPU 1301 to compare the token against a merchant identifier value to determine that that token is assigned to the merchant server. In some example embodiments, a merchant identifier value is a numeric, or alpha-numeric value used to uniquely identify a merchant or merchant aggregator, and/or a server controlled by the merchant or merchant aggregator. Atransmitter 1306 is operatively connected to the I/O driver 1303 to transmit a purchase request authorization to authorize an online transaction, where the token and merchant identifier values are equivalent. In some example embodiments, the purchase request includes at least one of account holder information, a purchase amount, or a seed value. In some example embodiments, amapping engine 1307 is operatively connected to theCPU 1301 to map the token to the merchant identifier value, In some example embodiments, the token is generated from a time based seed value. Atransmitter 1308 is operatively connected to the I/O driver 1303 to transmit an invalidity message where the token and merchant identifier values are not equivalent. In some example embodiments, online transaction includes a transaction in commerce that is conducted by two or more devices communicating over a network. -
FIG. 14 is a flow chart illustrating anexample method 1400 implemented by a computer system used to determine the validity of a token. The computer system may be thefinancial network server 205, or depositoryfinancial institution server 112. Anoperation 1401 is executed by thereceiver 1302 to receive a purchase request through an EPFN, the purchase request including a token to identify a merchant server. Anoperation 1402 is executed by thecomparison engine 1305 to compare the token against a merchant identifier value to determine that that token is assigned to the merchant server. Anoperation 1403 is executed by thetransmitter 1306 to transmit a purchase request authorization authorizing an online transaction, where the token and merchant identifier value are equivalent. some example embodiments, the purchase request includes at least one of account holder information, a purchase amount, or a seed value.Operation 1404 is executed by themapping engine 1307 to map the token to the merchant identifier value. In some example embodiments, the token is generated from a time based seed value.Operation 1405 is executed by thetransmitter 1308 to transmit an invalidity message where the token and merchant identifier value are not equivalent. In some example embodiments, an online transaction includes a transaction in commerce that is conducted by two or more devices communicating over a network. -
FIG. 15 is a block diagram of the various example hardware and software components that can be used by a computer system to receive and store a token for use in an online transaction. The merchant/merchant aggregator server 202 is an example of a computer server. In some embodiments, these various components can all be hardware, whereas in other embodiments these components can all be software, or, in some embodiments, these components can be a combination of the two. Some example embodiments may include aCPU 1501 being used to perform various mathematical operations. Included within theCPU 1501, for example, are various adders and multipliers, or only adders, or only multipliers. Operatively connected to theCPU 1501 via abus 1514 is amemory 1502, and I/O driver 1503, In some example embodiments, areceiver 1504 is operatively coupled to the I/O driver 1503 to receive a token associated with an account holder of a depository financial institution, the token to authorize payment during an online transaction. Anassociation engine 1505 is operatively coupled to theCPU 1501 via abus 1514 to associate the token with the account holder to facilitate the online transaction. Adata store 1506 is operatively coupled to theCPU 1501 to store the association between the token and the account holder. Afurther receiver 1517 is operatively coupled to the I/O driver 1503 via abus 1514 to receive a shopping selection that includes information identifying the account holder. A retriever 1508 is operatively coupled to theCPU 1501 via abus 1514 to retrieve the token based upon the information. Atransmitter 1507 is operatively to the I/O driver 1503 via abus 1514 to transmit the token as part of a purchase request. In some example embodiments, a depository financial institution includes a bank. A further receiver 1508 is operatively coupled to the I/O driver 1503 via abus 1514 to receive a purchase request authorization. Atransaction engine 1509 is operatively coupled to theCPU 1501 via abus 1514 to complete the online transaction based upon the receipt of the a purchase request authorization. -
FIG. 16 is a flow chart illustrating anexample method 1600 implemented by a computer system to receive and store a token for use in an online transaction. Themethod 1600 may be executed b the merchant/merchant aggregator server 202.Operation 1601 is executed by thereceiver 1504 to receive a token associated with an account holder of a depository financial institution, the token to authorize payment during an online transaction.Operation 1602 is executed by theassociation engine 1505 to associate the token with the account holder to facilitate the online transaction.Operation 1603 is executed by thedata store 1506 to store the association between the token and the account holder.Operation 1604 is executed by thereceiver 1517 to receive a shopping selection that includes information identifying the account holder.Operation 1605 is executed by aretriever 1510 to retrieve the token based upon the information.Operation 1606 is executed by thetransmitter 1507 to transmit the token as part of a purchase request. In some example embodiments, a depository financial institution includes a bank.Operation 1607 is executed by thereceiver 1517 to receive a purchase request authorization.Operation 1608 is executed by thetransaction engine 1509 to complete the online transaction based upon the receipt of the a purchase request authorization. -
FIG. 17 is an example illustration of an example dual TRBEkey fob 1700 used to generate a seed value that can be conversed to a token through the use of an algorithm. In some embodiments, ascreen 1701 displays a 1st TRBE seed value. In some embodiments, asecond screen 1702 displays a 2nd TRBE seed value. Some example embodiments may include abutton 1703 allowing the value fromscreen 1701 to be displayed. In some embodiments, abutton 1704 allows a second value insecond screen 1702 to be displayed. Some embodiments may include the color coding of thebuttons 1703 & 1704 to denote a first button and a second button. For example,button 1703 could be black, whilebutton 1704 could be white. In some embodiments, akey ring 1705 allows thefob 1700 to be operatively coupled to a key chain or other convenient means of carrying thefob 1700. Some embodiments may include a Universal Serial Bus (USB)plug 1706. Further, displayed inFIG. 17 is a sideview showing button 1703,key ring 1705, andUSB plug 1706. Also described is a top-downview showing screens buttons key ring 1705, andUSB plug 1706. - In some example embodiments, one or more of the seed values generated by the dual TRBE
key fob 1700 are compared to one or more seed values generated by a clock residing on the depositoryfinancial institution server 112. Where these values are equivalent, a transaction may be consummated between the user of the TRBEkey fob 1700 and the merchant/merchant aggregator server 202. In one example embodiment, the screen 1710 displays a first seed value at a first point in time, while thesecond screen 1702 displays a second seed value at a second point in time. The first or second seed values may be provided to the merchant/merchant aggregator server 202. The merchant/merchant aggregator server 202 uses oat least one of these seed values to an algorithm to generate a token this token is provided to the depositoryfinancial institution server 112. Where the token is verified, the depositoryfinancial institution server 112 transmits an authorization signal to the merchant/merchant aggregator server 202 signifying that the transaction between the user of the dual TRBEkey fob 1700 and the merchant/merchant aggregator server 202 may be consummated. - In cases where the first and second seed values do not synchronize with the clock residing on the depository
financial institution server 112, the clock residing on the dual TRBEkey fob 1700 may be resynchronized with the clock on the depositoryfinancial institution server 112 through the use of theUSB plug 1706. Specifically, using theUSB plug 1706, the dual TRBEkey fob 1700 may be plugged into thedevice 102. A session may be established between thedevices 102 and the depositoryfinancial institution server 112, the purpose of which is to retrieve the current time from the clock residing on the depositoryfinancial institution server 112. This current time is uses to set the clock on the dual TRBEkey fob 1700. -
FIG. 18 is a block diagram of the various example hardware and software components that can be used to create a dualTRBE key fob 1700. In some embodiments, these various components can all be hardware, whereas in other embodiments these components can all be software, or, in some embodiments, these components can be a combination of the two. Some example embodiments may include aCPU 1801 being used to perform various mathematical operations. Included within theCPU 1801, for example, are various adders and multipliers, or only adders, or only multipliers. In some example embodiments, theCPU 1801 is able to process a 20 bit, 21 bit or some other suitable size word. In some embodiments, theCPU 1801 is operatively coupled to abattery 1802. Some example embodiments may include abattery 1802 as a rechargeable battery, whereas in other embodiments it is a disposable battery. TheCPU 1801 andbattery 1802 are connected via abus 1814. In some embodiments, theCPU 1801 is operatively coupled via abus 1814 to a piece ofmemory 1804. In some example embodiments, thememory 1804 is used to store values derived from aclock 1803, whereas in other embodiments this memory is used to store TRBE values (e.g., seed values). These values can be one or more sequential clock values (e.g., integers) or serial clock values, or these values can be serial clock values or sequential clock values. Thismemory 1804 can also include, in some embodiments, various input/output drivers 1805 or asynchronization function 1816. Thismemory 1804 can be of some suitable size including, for example, a 64 kilobyte or megabyte memory, a 128 kilobyte or megabyte memory, or a 256 kilobyte or megabyte memory, or some other suitable memory size. In some embodiments, this memory size will be contingent upon whether additional memory is need to use e device to store data (e.g., data files, media files), in addition to, TRBE values. - Some example embodiments may include various input/
output drivers 1805 that are operatively coupled via abus 1814 to aCPU 1801. These input/output drivers 1805 are then operatively coupled to various input/output devices viavarious buses 1814. In some example embodiments, anoptional USB plug 1815 is connected to the input/output drivers 1805. Some example embodiments may include theUSB plug 1815 as a way to provide power to recharge thebattery 1802. Additionally, through thisUSB plug 1815, in some embodiments, clock synchronization takes place between aclock 1803, and a clock located remotely as a part of, for example, the depositoryfinancial institution server 112. In some example embodiments, other types of data transfer and synchronization can take place via theUSB plug 1815. Some example embodiments may include afirst screen 1806 that is operatively coupled to the input/output drivers 1805. In some embodiments, asecond screen 1807 is operatively coupled to the input/output drivers 1805 via abus 1814. some example embodiments, only one screen (e.g., 1806 or 1807), is operatively coupled to the input/output drivers 1805. Example embodiments may further include thescreen 1806 and/or 1807 as having liquid crystal displays, whereas in other embodiments they are another type of suitable display including, but not limited to, a color screen, a monochrome screen or some other suitable screen. Some example embodiments may include a button 1808 (e.g., a biased switch) that is operatively coupled to the input/output drivers 1805, whereas in other embodiments a button 1809 (e.g., a biased switch) is operatively coupled to the input/output driver 1805 via abus 1814. In some example embodiments, bothbuttons key fob 1700, whereas in other embodiments only one button (e.g., 1808 or 1809) is used in the device. In some embodiments, theclock 1803 can be replaced with an encryption function using, for example, symmetric encryption such as the Advanced Encryption Standard (AES) or Data Encryption Standard (DES). In some embodiments, thememory 1804 can be a flash memory. - Some embodiments may include a
memory 1804 that may be Electrically Erasable Programmable Read-Only Memory (EEPROM), Random-Access Memory (RAM), Flash memory or some other suitable memory type. Some embodiments may include EEPROM where the dual TRBEkey fob 1700 is completely powered down, whereas if the dual TRBEkey fob 1700 is going to continue to use memory (e.g., to power the clock 1803), RAM may be preferable. Moreover, if the device is going to be used for things in addition to the generation and storage of tokens, then Flash memory may be preferable. - In some embodiments, the
battery 1802 may be a Lithium-ion battery, Lithium-ion polymer battery, Nickel-cadmium battery, Nickel metal hydride battery, or some other suitable rechargeable battery. Further, in some embodiments, thebattery 1802 may be an alkaline battery, Lithium battery, Silver-oxide battery, or some other suitable battery type. - In some example embodiments, the
clock 1803 may be an application written in software and saved into thememory 1804, whereas in other embodiments it may be completely implemented using hardware. In some embodiments, the values generated by theclock 1803 are integer values. Where theclock 1803 is implemented in hardware, an additional software or hardware module may be needed to allow for the resynchronization of the clock with another clock contained on, for example, the depositoryfinancial institution server 112. In some embodiments, resynchronization will take the form of the software module, compensating for the difference between the clock signal and the clock value as reflected in the depositoryfinancial institution server 112. In providing this compensation, the problem of token drift can be addressed. -
FIG. 19 is a block diagram of anexample apparatus 1900 according to various embodiments of the system and method. Illustrated is anapparatus 1902 that can take many forms, such as an Automated Teller Machine, a cellular telephone, a desktop computer terminal with Internet access, a Point Of Sale (POS) terminal, etc. - In some embodiments, the
apparatus 1902 may comprise one or moreuser input devices 1908, such as avoice recognition processor 1916, akeypad 1920, atouch screen 1924, a scanner 1926, a thumbwheel, a button, etc. In some embodiments, a POS terminal may be used to house theuser input device 1908. - The
apparatus 1902 may include aclient module 1932 to communicatively couple to a server (e.g., server 1930) at a financial entity. Theapparatus 1902 may also comprise anauthentication request module 1928 to receive a token 1914 presented by a customer, to transmit a request 1948 to the financial entity (e.g., represented by the server 1930) to authenticate the customer purporting to be a particular account holder, and to receive notification 1958, from the financial entity, that the customer is authenticated as the account holder based on matching the token 1914 to an identity that has been registered with the financial entity and is uniquely associated with the account holder. - Other embodiments may be realized. For example, a system 1910 may include one or
more apparatus 1902. The system 1910 may also include aserver 1930 to communicatively couple to a global computer network 1918 (e.g., the Internet), and anauthentication module 1938 to receive a request 1948 from a requesting party (e.g., represented by the client terminal 1902) to authenticate the customer purporting to be a particular account holder. The request 1948 may include thetoken 1914. - The
authentication module 1938 may be used to send notification 1958 that the customer is authenticated as the account holder based on matching the token 1914 to an identity that has been registered with a financial entity and is uniquely associated with the account holder. For example, theserver 1930 may be located within a bank that has many individual account holders, each registered so thatidentity authentication tokens 1914 may be generated on their behalf. - As noted previously, the terminal 1902 may comprise a POS terminal associated with the requesting party, wherein the POS terminal is to receive the token 1914, and to be operatively coupled to the
server 1930. In some embodiments, the system 1910 may comprise astorage device 1950 to couple to theserver 1930 and to store adatabase 1954 having a plurality of registered identities, including the identity of the account holder whose identity is being authenticated. -
FIG. 20 is a block diagram of anexample computer system 2000 used to verify a depository financial account holder's identity in a transaction involving EFT. The blocks shown herein may be implemented in software, firmware, or hardware. These blocks may be directly or indirectly operatively coupled via a physical or logical connection. Thecomputer system 2000 may be the depositoryfinancial institution server 112 shown inFIG. 2 . Shown inFIG. 20 areblocks 2001 through 2007, and 2014. Illustrated is aCPU 2001 operatively coupled to amemory 2007, averification engine 2002 and updatingengine 2003 viabuses 2014. Further, theCPU 2001 is operatively coupled to an I/O driver 2004 viabuses 2014. Operatively coupled to the I/O driver 2004 are areceiver 2005 and atransmitter 2006. In some example embodiments, thereceiver 2005 receives an account holder verification request to verify a financial entity account holder's identity in a commercial transaction that includes a use of an EFT. Averification engine 2002 is implemented to verify a key value associated with the financial entity account holder's identity in the commercial transaction that includes the use of EFT. Atransmitter 2003 is implemented to transmit a confirmation of the financial entity account holder's identity to allow the account holder to consummate the commercial transaction that includes the use of the EFT, The updatingengine 2003 is implemented to update a financial entity account associated with the account holder with at least one of an additional key value or a device identifier value. In some example embodiments, the key value is used as part of at least one of a PKI, or a PGP web of trust. Additionally, in some example embodiments, the key value is at least one of an asymmetric key value or symmetric key value. Further, in some example embodiments, the computer system is a financial entity server. In some example embodiments, the verifying of the key value associated with the financial entity account holder's identity includes a retriever to retrieve a key value entry from a data store, the key value entry provided by the account holder. Additionally, the verifying of the key value involves the use of a comparison engine to compare the key value entry to the key value. -
FIG. 21 is a block diagram of anexample computer system 2100 used to process a service request that includes using an account holder's verified identity to facilitate the use of EFT. The blocks shown herein may be implemented in software, firmware, or hardware. These blocks may be directly or indirectly operatively coupled via a physical or logical connection. Thecomputer system 2100 may be thefinancial network server 205 shown inFIG. 2 . Shown inFIG. 21 areblocks 2101 through 2108, andbuses 2114. Illustrated is aCPU 2101 operatively coupled to amemory 2103, averification engine 2102 and I/O drivers 2104 viabuses 2114. Operatively coupled to the I/O drivers 2104, viabuses 2114, is areceiver 2105 and 2107, andtransmitter verification engine 2102 to verify an EFT account number associated with the service request, the verification provided by a financial entity with which the EFT account holder has an account. Thetransmitter 2103 transmits an account holder verification request to verify that the account holder can participate in the commercial transaction that includes the use of EFT. In some example embodiments, the service request is an SSO service request. Thereceiver 2104 receives a confirmation of the EFT account holder's identity, the confirmation including a token verifying the EFT account holder's identity. The transmitter 2105 transmits a confirmation of the EFT account holder's identity, the confirmation including the token. In some example embodiments, the service request includes at least one of an EFT account number, or key value. -
FIG. 22 is a flow chart illustrating anexample method 2200 used to verify an account holder's identity in a transaction involving EFT. Shown inFIG. 22 arevarious operations 2201 through 2204 that may be executed on thedevices 112 shown inFIG. 1 . Anoperation 2201 is shown that is executed by thereceiver 2005 inFIG. 20 to receive an account holder verification request to verify a financial entity account holder's identity in a commercial transaction that includes a use of an EFT.Operation 2202 is executed by theverification engine 2002 inFIG. 20 to verify a key value associated with the financial entity account holder's identity in the commercial transaction that includes the use of EFT.Operation 2203 is executed by thetransmitter 2006 inFIG. 20 to transmit a confirmation of the financial entity account holder's identity to allow the account holder to consummate the commercial transaction that includes the use of the EFT.Operation 2204 is executed by the updatingengine 2003 inFIG. 20 to update a financial entity account associated with the account holder with at least one of an additional key value or a device identifier value. In some example embodiments, the key value is used as part of at least one of a PKI, or a PGP web of trust. In some example embodiments, the key value is at least one of an asymmetric key value or symmetric key value. In some example embodiments, the verifying of the key value associated with the financial entity account holder's identity includes retrieving a key value entry from a data store, the key value entry provided by the account holder. Further, this verifying includes comparing the key value entry to the key value. -
FIG. 23 is a flow chart illustrating anexample method 2300 used to process a service request that includes using a financial entity account holder's verified identity to facilitate the use of EFT. Shown inFIG. 23 arevarious operations 2301 through 2305 that may be executed on thedevices 102. shown inFIG. 2 . Anoperation 2301 is shown that is executed by the receiver 2105 inFIG. 21 to receive a service request that identifies un EFT account holder in a commercial transaction that includes a use of EFT.Operation 2302 is executed by theverification engine 2102 inFIG. 21 to verify an EFT account number associated with the service request, the verification provided by a financial entity with which the EFT account holder has an account.Operation 2303 is execute by thetransmitter 2106 inFIG. 21 to transmit an account holder verification request to verify that the account holder can participate in the commercial transaction that includes the use of EFT. In some example embodiments, the service request is a SSO service request.Operation 2304 is executed by thereceiver 2107 inFIG. 21 to receive a confirmation of the EFT account holder's identity, the confirmation including a token verifying the EFT account holder's identity.Operation 2305 is executed by thetransmitter 2108 inFIG. 21 to transmit a confirmation of the EFT account holder's identity, the confirmation including the token. In some example embodiments, the service request includes at least one of an EFT account number, or key value. -
FIG. 24 is a flow diagram illustrating anexample method 2400 according to various embodiments of the system and method. For example, a computer-implementedmethod 2400 may begin atblock 2413 with registering one time, at an authenticating entity, information comprising an identity uniquely associated with an account holder having a financial account held by the financial entity. - Registering at
block 2413 may include obtaining, verifying, and recording the information according to customer identification program (CIP) requirements, Know Your Customer (KYC) requirements, Know Your Business (KYB) requirements, and watch-list scanning requirements. Such requirements are well-known to those of ordinary skill in the art. The information may comprise one or more of the name of the account holder, the birth date of the account holder, the physical address associated with the account holder, and/or an identification number associated with the account holder (e.g., social security number, hash-coded identification number). Registering may also comprise obtaining, verifying, and recording a prior verification associated with the customer by the financial entity against Customer Identification Program (CIP) requirements, Know Your Customer (KYC) requirements, Know Your Business (KYB) requirements and watch-list scanning requirements, for example. - The
method 2400 may continue on to block 2421 with receiving a request at the authenticating entity from a requesting party that has been presented with a token to authenticate a customer purporting to be a particular account holder, The requesting party may comprise a vendor, another financial entity, a brokerage, a lender, a car lot, an online auction provider, etc. Receiving the request may include receiving a message from the requesting party at the authenticating entity via a global computer network (e.g., the Internet). - At this point, an attempt is made to match the token presented to the identity of the account holder. Thus, the
method 2400 may include at block 2425 authenticating, by the authenticating entity, such as a bank or other financial entity, the customer as the account holder by matching a token presented by the customer to the identity uniquely associated with the account holder. If no match is determined at block 2425, themethod 2400 may include requesting, if the authenticating is not successful, additional information from the customer atblock 2429. One or more additional attempts, perhaps limited in number by the authenticating entity, may be made to authenticate the identity of the account holder by matching the token with the identity at 2425. - If authentication succeeds at block 2425, the
method 2400 may include notifying the requesting party that the customer has been authenticated as the account holder by sending a message (e.g., an email message) to the requesting party, perhaps via a global computer network., atblock 2433. For example, themethod 2400 may include sending a message to a mobile device associated with the customer that the authenticating has been successful. This mobile device may also be used to present the token for authentication, perhaps by transmitting it electronically, or by displaying a bar code image on its display screen (e.g., a PDA or cellular phone display). - The
method 2400 may go to include, atblock 2435, storing the information in an authentication database. For security reasons, the authentication database may be linked to, but physically separate from, a database of accounts including a financial account associated with the account holder whose identity is being authenticated. - At this point, the
method 2400 may include providing to the requesting party a portion of a profile associated with the account holder, which the account holder previously authorized the financial entity to share (e.g., name, physical address, social security number, email address, telephone number, etc.). - in some embodiments, the
method 2400 includes generating one or more tokens by a financial entity (or any other authentication entity) upon request by the account holder atblock 2441. Generating tokens atblock 2441 may include generating tokens having: one or more of an expiration time period after which presentation of the token by the customer is ineffective; a selected number of requesting parties to which the token may be presented; a selected number of times the token may be presented; and named requesting parties to whom the token may be presented. Other limitations may be imposed. - The
method 2400 may go on to block 2445 with transmitting the token to the account holder. Transmitting may comprise sending an email message, perhaps including the token, to the account holder. - In some embodiments, the
method 2400 may include receiving funds from a customer, such as, an amount associated with a transaction, or some other amount, atblock 2449. Thus, for example, themethod 2400 may include establishing a new account at a bank associated with an authenticated account holder to hold the funds without receiving any further information from the customer atblock 2451. That is, a new account may be opened at a financial entity that is not the authenticating entity, solely on the basis of authenticating the identity of an account holder using a token. Another example includes receiving an amount associated with a transaction associated with a vendor atblock 2449, and substantially simultaneously extending credit atblock 2455 to the customer by the authenticating entity (e.g., a financial entity), on behalf of the vendor, based on authenticating the identity of a particular account holder, using the token. -
FIG. 25 is a flow diagram illustrating anadditional example method 2500 according to various embodiments of the system and method. In some embodiments, a computer-implementedmethod 2500 may begin atblock 2513 with receiving a token presented by a customer, which may in turn comprise receiving a password entry at a terminal, for example. At substantially the same time the token is received, permission to share selected information from the profile associated with the customer may also be received. Such permission may be entered by the customer into the same terminal as that used to receive the token. Thus, receiving atblock 2513 may include receiving the token in conjunction with permission to receive additional information associated with the account holder. In this way, the customer has the option, in some embodiments, of permitting additional information to be shared with the vendor, even after a token is generated. Such additional information might include one or more of the name of an authenticated account holder, the birth date of the account holder, the physical address associated with the account holder, and an identification number associated with the account holder (e.g., driver's license or other license number associated with the account holder). - The
method 2500 may go on to include transmitting a request to an authenticating entity, such as a financial entity, to authenticate the customer purporting to be a particular account holder atblock 2517. At this point, an attempt is made to match the token to the identity registered for the account holder at the authenticating entity. - If a match between the token and the identity is not obtained at
block 2525, then themethod 2500 may terminate atblock 2527. Of course, repeated attempts to authenticate may also occur, as shown inFIG. 24 . - If the token is found to match the identity at
block 2525, then themethod 2500 may include receiving notification from the financial entity (or other authenticating entity) atblock 2541, that the customer is authenticated as the account holder based on matching the token to an identity that has been registered with the financial entity and is uniquely associated with the account holder. - In some embodiments, if the requesting party is a vendor, for example, the
method 2500 may include substantially simultaneously extending credit to the customer by the vendor, responsive to the authenticating, atblock 2545. In some embodiments, themethod 2500 may include automatically transferring an amount to be paid from an account associated with the account holder and held by the financial entity (e.g., credit card account at the authenticating entity) directly to an account associated with the requesting party. This is what might occur when purchases are made online or in a store, for example. - The
methods - One of ordinary skill in the art will understand the manner in which a software program can be launched from a computer-readable medium in a computer-based system to execute the functions defined in the software program. Various programming languages may be employed to create one or more software programs designed to implement and perform the methods disclosed herein. The programs may be structured in an object-orientated format using an object-oriented language such as Java or C++. Alternatively, the programs can be structured in a procedure-orientated format using a procedural language, such as assembly or C. The software components may communicate using a number of mechanisms well known to those skilled in the art, such as application program interfaces or interprocess communication techniques, including remote procedure calls. The teachings of various embodiments are not limited to any particular programming language or environment.
- Thus, other embodiments may be realized, including a machine-readable medium (e.g., the
memories 1934 ofFIG. 19 ) encoded with instructions for directing a machine to perform operations comprising any of the methods described herein. For example, some embodiments may include a machine-readable medium encoded with instructions for directing a client terminal or server to perform a variety of operations. Such operations may include any of the activities presented in conjunction with themethods 1111, 2500 described above. -
FIG. 26 is a tri-stream flow chart illustrating anexample method 2600 to verify an EFT account holder identity through the use of a financial entity server. Shown areoperations 2601 and 2612 through 2614 that are executed by the depositoryfinancial institution server 112. Further illustrated areoperations 2608 through 2611, and 2615 through 2617 that are executed by thefinancial network server 205. Additionally shown areoperations 2602 through 2607, and 2618 through 2619 that are executed by thedevice 102.Operation 2601 is executed to update a financial entity account with key values from an identity provider. A financial entity account is held by, for example, a user of the terminal 109 who also holds a EFT account on thefinancial network server 205. This update is then stored into adatabase 2620. An identity provider may include a PKI or a PGP web of trust, wherein either of these identity providers generate and provide a symmetric or asymmetric key value that is used to update thedatabase 2620.Operation 2602 is executed to receive input in the form of thepurchase request 201. Anoperation 2603 is executed to generate thispurchase request 201.Operation 2604 is executed to receive theSSO verification 203 in response to thepurchase request 201. Anoperation 2605 is executed to retrieve key information provided by the identity provider. This key information includes an asymmetric or symmetric key.Operation 2606 is executed to generate the SSO service request where this SSO service request may include the key information and EFT account information,Operation 2607 is executed to transmit this SSO service request in the form of theSSO service request 204 that is then received through the execution ofoperation 2608.Decisional operation 2609 is executed that determines whether an EFT account is verified or otherwise exists and further whether this EFT account is associated with the user utilizing thedevice 102. In cases wheredecisional operation 2609 evaluates to “false,” anerror condition 2610 is executed. In cases wheredecisional operation 2609 evaluates to “true,” anoperation 2611 is executed.Operation 2611 is executed to generate an account holder request in the form of the accountholder verification request 206. This accountholder verification request 206 is received through the execution of operation 2612. Adecisional operation 2613 is executed to determine whether the verified key value is associated with a particular user name or account holder name. In cases wheredecisional operation 2613 evaluates to “false,” anerror condition 2620 is executed. in cases wheredecisional operation 2613 evaluates to “true,” anoperation 2614 is executed.Operation 2614 is executed to generate an account holder confirmation or denial 207. This account holder confirmation or denial 207 is received by thefinancial network server 205, where adecisional operation 2615 is executed.Decisional operation 2615 determines whether the account holder has been verified as an account holder within the financial entity as verified by the depositoryfinancial institution server 112. In cases wheredecisional operation 2615 evaluates to “false,” atermination condition 2621 is executed. In cases wheredecisional operation 2615 evaluates to “true,” an operation 2616 is executed. Operation 2616 generates an account verification token. Anoperation 2617 is executed that transmits theaccount verification 208 to be received through the execution ofoperation 2618. Theaccount verification 208 may be a SAML response with token.Operation 2618, when executed, receives the account verification. Anoperation 2619 is execute to allow the user utilizing thedevice 102 to continue with a purchase where their association with a particular EFT account and their association with a particular financial network account has been verified. The depositoryfinancial institution server 112 acts to vouch or otherwise confirm the identity of the party utilizing thedevice 102 for the purposes of consummating a transaction involving the user of EFT. -
FIG. 27 is a tri-stream flow chart illustrating anexample method 2700 to verify an EFT account holder identity through the use of a back-channel exchange between a merchant server and an interbank network server. Shown is anoperation 2701, and 2708 through 2710 that are executed by the depository financial institution server 112A. Also shown areoperations 2705 through 2707, and 2711 through 2712 that are executed by the depositoryfinancial institution server 112. Additionally shown areoperations 2702 through 2703, and 2713 through 2714 that are executed by the merchant/merchant aggregator server 202.Operation 2701 is executed to update a user financial network account with a device ID for a particular user device, This update is stored into thedatabase 2731.Operation 2702 is executed to receive apurchase request 301. Anoperation 2703 is executed to generate a purchaser verification request that includes an EFT account number and a device ID associated with thedevice 102. Thispurchaser verification request 302 is received through the execution ofoperation 2704. Adecisional operation 2705 is executed to determine whether or not the account number associated with thepurchaser verification request 302 is valid. In cases wheredecisional operation 2705 evaluates to “false,” atermination condition 2720 is executed. In cases wheredecisional operation 2705 evaluates to “true,” anoperation 2706 is executed. - In some example embodiments,
operation 2706 is executed to retrieve a user ID based upon the EFT account number. A user name may be a user ID. Anoperation 2707 is executed to generate and transmits an accountholder verification request 303. Operation 2708 is executed to receive the accountholder verification request 303.Decisional operation 2709 is executed to determine whether a device ID contained within the accountholder verification request 303 is valid and associated with a particular user account that is further associated with the depositoryfinancial institution server 112. In cases wheredecisional operation 2709 evaluates to “false,” atermination condition 2721 is executed. In cases wheredecisional operation 2709 evaluates to “true,” an operation 2710 is executed. Operation 2710 is executed to transmit an account holder confirmation ordenial 304 that is received through the execution ofoperation 2711. Operation 2712 is executed to transmit an account verification where this account verification includes a token that will allow the user utilizing thedevice 102 to continue with the transaction e.g., a purchase or sale of a good or service). Alternatively, the account verification includes a denial denying the user of thedevice 102 the ability to continue with the transaction. Operation 2713 is executed to allow for the receiving of the account verification with token ordenial 305. Anoperation 2714 is executed to store the token for the user utilizing thedevice 102 to allow that user to consummate an existing transaction or engage in future transactions. This token is stored into adata store 2715 where thisdata store 2715 may be a native or non native data store. -
FIG. 28 is a tri-stream flow chart illustrating anexample method 2800 to verify a seed value generated by a dualTRBE key fob 1700 for the purpose of consummating a transaction between a merchant and an account holder. Illustrated arevarious operations 2810 through 2804 executed on one or more of thedevices 102. Further illustrated arevarious operations 2805 through 2812 executed on the merchant/merchant aggregator server 202. Additionally, shown arevarious operations 2808 through 2810 executed on the depositoryfinancial server 112. In some example embodiments, anoperation 2801 is executed to set up a session with a host machine. A session may be a USB based session wherein the dual TRBEkey fob 1700 interfaces with one of thedevices 102 such that one of thedevices 102 is prompted to set up a Transmission Control Protocol/Internet Protocol (TCP/IP) session with the merchant/merchant aggregator server 202. Though this TCP/IP session seed values generated by the dualTREE key fob 1700 may be transmitted to the merchant/merchant aggregator server 202 by one of thedevices 102.Operation 2802 is executed to initialize thekey fob 1700.Operation 2803 is executed to generate two of more clock values. These clock values may be derived from theclock 1803 residing on the dual TRBEkey fob 1700.Operation 2804 is executed to initial the TCP/IP session and to transmit one or more of the seed values to the merchant/merchant aggregator server 202.Operation 2805 is executed to receive the one or more seed values from thedevices 102.Operation 2806 is executed to provide the one or more seed values to an algorithm that generates a token. This algorithm may be supplied by a particular depository financial institution, and may be specific to such institution. The algorithm may be an encryption algorithm, hashing algorithm, or some other suitable algorithm.Operation 2807 is executed to transmit the token to a depositoryfinancial institution server 112.Operation 2808 is executed to receive the token.Decisional operation 2809 is executed to determine whether the token is valid. Validity may be based upon the token valuing falling within a range of token values for a particular algorithm result using a time based seed value. In cases where thedecisional operation 2809 evaluates to “false” an error condition is generated. In cases wheredecisional operation 2809 evaluates to “true” anoperation 2810 is executed.Operation 2810, when executed, transmits an authorization signal using a TCP/IP session established between the merchant/merchant aggregator server 202 and the depositoryfinancial institution server 112. The signal may be a boolean value.Operation 2811 is executed to receive the authorization signal.Operation 2812 is executed to consummate the transaction between thedevice 102 and the merchant/merchant aggregator server 202. -
FIG. 29 is a block diagram illustrating an example client-server architecture to facilitate authentication according to various embodiments of the system and method. Theauthentication system 2900 comprises a client-server architecture used for registration, token generation and/or authentication. A financial platform, in the example form of a network-basedfinancial system 2902, provides server-side functionality, via a network 2980 (e.g., the Internet) to one or more clients.FIG. 29 illustrates, for example, a web client 2906 (e.g., a browser, such as the Internet Explorer browser developed by Microsoft Corporation of Redmond, Wash.), and aprogrammatic client 2908 executing onrespective client machines web client 2906 andprogrammatic client 2908 may include a mobile device. - Turning specifically to the network-based
financial system 2902, an Application Program interface (API)server 2914 and aweb server 2916 are coupled to, and provide programmatic and web interfaces respectively to, one ormore application servers 2918. Theapplication servers 2918 host one or morefinancial applications 2920 and authentication applications 2922 (e.g., similar to or identical to theauthentication module 1938 ofFIG. 19 ). Theapplication servers 2918 are, in turn, shown to be coupled to one ormore database servers 2924 that facilitate access to one ormore databases 2926, such as registries that include links between account holders, their identity information, and/or financial entity accounts. - The
financial applications 2920 provide a number of financial functions and services to users that access the network-basedfinancial system 2902. Theauthentication applications 2922 facilitate authenticating tokens presented by registered account holders. - Further, while the
authentication system 2900 shown inFIG. 29 employs a client-server architecture, the present application is of course not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, architecture system. The various financial andauthentication applications - The
web client 2906, it will be appreciated, may access the various financial andauthentication applications web server 2916, Similarly, theprogrammatic client 2908 accesses the various services and functions provided by the financial andauthentication applications API server 2914. Theprogrammatic client 2908 may, for example, comprise an authentication request module (e.g., similar to or identical to theauthentication request module 1928 ofFIG. 19 ) to enable a user to request authentication and to perform batch-mode communications between theprogrammatic client 2908 and the network-basedfinancial system 2902. Client applications 2932 andsupport applications 2934 may perform similar or identical functions. - Thus, the
authentication system 2900 may provide a number of registration, token generation, and authentication mechanisms whereby a user may receive tokens for authentication by any number of entities. Thefinancial applications 2920 may include one or more account management applications which support and provide services related to various user accounts in a financial entity (e.g. a bank). The various account management applications may also provide a number of features such as supervising account transfers, holding account balances, and keeping tracking of and reporting transactions to relevant applications. - The
financial applications 2920 may also include dispute resolution applications to provide mechanisms whereby disputes arising between transacting parties may be resolved. For example, the dispute resolution applications may provide guided procedures whereby the parties are guided through a number of steps in an attempt to settle a dispute. In the event that the dispute cannot be settled via the guided procedures, the dispute may be escalated to a customer service agent for thefinancial system 2902, third party mediator, or arbitrator. - Some embodiments may include the various databases (e.g., 2620, and 2731) being relational databases, or, in some cases, On Line Analytic Processing (OLAP)-based databases. In the case of relational databases, various tables of data are created and data is inserted into and/or selected from these tables using a Structured Query Language (SQL) or some other database-query language known in the art. In the case of OLAP databases, one or more multi-dimensional cubes or hyper cubes, including multidimensional data from which data is selected from or inserted into using a Multidimensional Expression (MDX) language, may be implemented. In the case of a database using tables and SQL, a database application such as, for example, MYSQLT™, MICROSOFT SQL SERVER™, ORACLE 8I™, 10G™, or some other suitable database application may be used to manage the data. In this, the case of a database using cubes and MDX, a database using Multidimensional On Line Analytic Processing (MOLAP), Relational On Line Analytic Processing (ROLAP)), Hybrid Online Analytic Processing (HOLAP), or some other suitable database application may be used to manage the data. The tables or cubes made up of tables, in the case of, for example, ROLAP, are organized into an RDS or Object Relational Data Schema (ORDS), as is known in the art. These schemas may be normalized using certain normalization algorithms so as to avoid abnormalities such as non-additive joins and other problems. Additionally, these normalization algorithms may include Boyce-Codd Normal Form or some other normalization or optimization algorithm known in the art.
-
FIG. 30 is anexample RDS 3000. Shown is a table 3001 that includes token IDs. These token IDs may be stored as an integer, string, or some other suitable data type. A table 3002 is illustrated that includes account holder data. This account holder data may be stored as a string, eXtensible Markup (XML) data type, or some other suitable data type. A table 3003 is shown that includes merchant IDs. These merchant IDs may be stored as an integer, string or XML data type. In some example embodiments, the token IDs of table 3001 may be mapped, joined, or otherwise reference the merchant IDs of table 3003. A table 3004 is shown that includes encryption algorithms. These encryption algorithms may include hashing algorithms, DES, AES, or other suitable algorithms stored as Binary Large Objects (BLOBs). A table 3005 is shown that includes unique IDs values stored as integers. These unique IDs may be used to uniquely identify each of the entries in the tables 3001 through 3004. -
FIG. 31 is a block diagram, illustrating a diagrammatic representation ofmachine 3100 in the example form of a computer system within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed. Themachine 3100 may also be similar to or identical to theclient terminal 1002 or server 1030 ofFIG. 10 . - In alternative embodiments, the
machine 3100 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, themachine 3100 may operate in the capacity of a server or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. - The
machine 3100 may be a server computer, a client computer, a Personal Computer (PC), a Tablet PC, a Set-top Box (STB), a PDA, a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. - The
example computer system 3100 may include a processor 3102 (e.g., a CPU, a Graphics Processing Unit (GPU) or both), a main memory 3104 and astatic memory 3106, all of which communicate with each other via abus 3108. Thecomputer system 3100 may further include a video display unit 3110 (e.g., Liquid Crystal Displays (LCD) or Cathode Ray Tube (CRT)). Thecomputer system 3100 also may include an alphanumeric input device 3112 (e.g., a keyboard), a cursor control device 3114 (e.g., a mouse), adisk drive unit 3116, a signal generation device 3118 (e.g., a speaker) and anetwork interface device 3120. - The
disk drive unit 3116 may include a machine-readable medium 3122 on which is stored one or more sets of instructions (e.g., software 3124) embodying any one or more of the methodologies or functions described herein. The software 3124 may also reside, completely or at least partially, within the main memory 3104 and/or within theprocessor 3102 during execution thereof by thecomputer system 3100, the main memory 3104 and theprocessor 3102 also constituting machine-readable media. The software 3124 may further be transmitted or received over anetwork 3126 via thenetwork interface device 3120, which may comprise a wired and/or wireless interface device. - While the machine-
readable medium 3122 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present system and method. The term “machine-readable medium” shall accordingly be taken to include tangible media that include, but are not limited to, solid-state memories and optical and magnetic media. - The
machine 3100 may use various hardware accelerators and security systems as part of the instructions 3124 for performing ciphering and cryptography, including the Rivest-Shamir-Adleman (RSA) security algorithm and cryptography by RSA Security, Inc. located at Bedford, Mass., as well as the El Gamal algorithm by Taher El Gamal. The RSA implementation is also to implement RSA BSAFE implementation, which is a form of hardware accelerator, to support the BSAFE library interface. Alternative solutions include operating system platforms (e.g., OpenBSD) that are securely built into an operating system. The operating system platforms can dedicate a processor in a multiple-way hardware platform and are also configured to use one or more processors in a multi-processor system for cryptographic operations. Themachine 3100 may further use decryption and encryption in validating a token's sequence number to prevent other systems or sites from replaying or minting the token authentication module (see module 438 ofFIG. 4 ). - Using the apparatus, systems, and methods disclosed herein may reduce the effort required to verify the identity of account holders at a number of entities, including stores, banks, online auctions, and the like. Increased customer satisfaction may result.
- The accompanying drawings that form a part hereof show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
- Such embodiments of the inventive subject matter may be referred to herein as an “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
- In the preceding detailed description, numerous specific details are set forth to provide a thorough understanding of claimed subject matter. However, it may be understood by those skilled in the art that claimed subject matter may be practiced without these specific details. In other instances, methods, apparatuses or systems that would be known by one of ordinary skill have not been described in detail so as not to obscure claimed subject matter. Some portions of the detailed description which follow are presented in terms of algorithms or symbolic representations of operations on data bits or binary digital signals stored within a computing system memory, such as a computer memory. These algorithmic descriptions or representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. An algorithm is here, and generally, is considered to be a self-consistent sequence of operations or similar processing leading to a desired result. In this context, operations or processing involve physical manipulation of physical quantities. Typically, although not necessarily, such quantities may take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared or otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, data, values, elements, symbols, characters, terms, numbers, numerals or the like. It should be understood, however, that all of these and similar terms are to be associated with appropriate physical quantities and are merely convenient labels. Unless specifically stated otherwise, as apparent from the following discussion, it is appreciated that throughout this specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining” or the like refer to actions or processes of a computing platform, such as a computer or a similar electronic computing device, that manipulates or transforms data represented as physical electronic or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the computing platform.
Claims (20)
1. A method comprising:
receiving, at a server of a financial institution, an approval request for a transaction, the approval request having a pre-assigned identifier associated with a funding account number;
validating the pre-assigned identifier based on predetermined parameters
translating the validated pre-assigned identifier into the funding account number
determining sufficient funds for the transaction are available in the financial account corresponding to the funding account number; and
generating an purchase request authorization based on the determination.
2. The method of claim 1 , further comprising:
receiving an account holder verification request, the account holder verification request having a unique device identification;
verifying that the unique device identification corresponds to a pre-assigned device identification associated with the account holder; and
generating an account holder confirmation based on the verification, wherein the purchase request authorization is further based on the account holder confirmation.
3. The method of claim 2 , wherein the unique device identification is an International Mobile Equipment Identity (IMEI).
4. The method of claim 1 , wherein the approval request includes price information and quantity information for a purchase request.
5. The method of claim 1 , wherein the Raiding account number is a number that appears on a credit card or debit card.
6. The method of claim 1 , wherein the funding account number is a bank account number.
7. The method of claim 1 , wherein the identifier is generated by a machine at the financial institution, and wherein the financial institution is part of the electronic payment financial network.
8. The method of claim 1 , wherein the identifier is hash digest value generated using a hash algorithm, and wherein the predefined parameters include a confirmation of the hash digest value.
9. The method of claim 1 , wherein the identifier is generated using a digital signature, and wherein the predefined parameters include a confirmation of the digital signature.
10. The method of claim 1 , wherein the identifier is a symmetric key algorithm or an asymmetric key algorithm, and wherein the predefined parameters include a confirmation of the symmetric key algorithm or a confirmation of the asymmetric key algorithm.
11. The method of claim 1 , wherein the identifier is a pointer to a location in memory of a machine at the financial institution.
12. The method of claim 1 , wherein the predefined parameters include a size of the pre-assigned identifier and a numeric range reflected in the pre-assigned identifier.
13. The method of claim 1 , wherein the identifier is requested by an account holder of the financial institution using a mobile device.
14. The method of claim 1 , wherein the identifier is generated using a time based rolling encryption.
15. The method of claim 1 , wherein the identifier is stored in a smart card having an embedded Radio Frequency Identification (RFID) device.
16. The method of claim 1 , wherein the identifier is stored in a bar code.
17. The method of claim 1 , wherein the approval request is transmitted by a merchant server, and wherein the validating of the pre-assigned identifier further includes verifying that the merchant server is entitled to use the pre-assigned identifier based on a mapping between the pre-assigned identifier and the merchant server.
18. The method of claim 1 , wherein the predefined parameters include a predetermined amount of time that the pre-assigned identifier is valid and a pre-determined number of times that the pre-assigned identifier is valid.
19. A computer system comprising:
a receiver configured to receive an approval request for a transaction, the approval request having a pre-assigned identifier associated with a funding account number; and
a comparison engine, having one or more processors, configured to:
validate the pre-assigned identifier based on predefined parameters;
translate the validated pre-assigned identifier into the funding account number;
determine sufficient funds for the transaction are available in the financial account corresponding to the funding account number; and
generate an purchase request authorization based on the determination.
20. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:
receiving, at a server of an financial institution, an approval request for a transaction, the approval request having a pre-assigned identifier associated with a funding account number;
validating the pre-assigned identifier based on predefined parameters;
translating the validated pre-assigned identifier into the funding account number;
determining sufficient funds for the transaction are available in the financial account corresponding to the funding account number; and
generating an purchase request authorization based on the determination.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/465,732 US20140365373A1 (en) | 2008-12-08 | 2014-08-21 | Unified identity verification |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12080808P | 2008-12-08 | 2008-12-08 | |
US13810208P | 2008-12-16 | 2008-12-16 | |
US12/347,907 US8838503B2 (en) | 2008-12-08 | 2008-12-31 | Unified identity verification |
US14/465,732 US20140365373A1 (en) | 2008-12-08 | 2014-08-21 | Unified identity verification |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/347,907 Continuation US8838503B2 (en) | 2008-12-08 | 2008-12-31 | Unified identity verification |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140365373A1 true US20140365373A1 (en) | 2014-12-11 |
Family
ID=42232153
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/347,907 Active US8838503B2 (en) | 2008-12-08 | 2008-12-31 | Unified identity verification |
US14/465,732 Abandoned US20140365373A1 (en) | 2008-12-08 | 2014-08-21 | Unified identity verification |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/347,907 Active US8838503B2 (en) | 2008-12-08 | 2008-12-31 | Unified identity verification |
Country Status (6)
Country | Link |
---|---|
US (2) | US8838503B2 (en) |
EP (1) | EP2350945A4 (en) |
AU (1) | AU2009334494B2 (en) |
BR (1) | BRPI0923852A2 (en) |
CA (1) | CA2747831C (en) |
WO (1) | WO2010078522A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160224983A1 (en) * | 2015-02-03 | 2016-08-04 | Duane Cash | Validation identity tokens for transactions |
CN106845957A (en) * | 2015-12-04 | 2017-06-13 | 阿里巴巴集团控股有限公司 | A kind of method for processing resource and device |
US10230564B1 (en) * | 2011-04-29 | 2019-03-12 | Amazon Technologies, Inc. | Automatic account management and device registration |
US11017394B2 (en) * | 2016-04-25 | 2021-05-25 | Visa International Service Association | System for vision impaired users to execute electronic transactions |
US11323430B2 (en) * | 2018-03-21 | 2022-05-03 | Advanced New Technologies Co., Ltd. | Identity verification method and device and electronic device |
US11349847B2 (en) | 2007-10-19 | 2022-05-31 | Paypal, Inc. | Unified identity verification |
US11429971B1 (en) * | 2016-06-03 | 2022-08-30 | Jpmorgan Chase Bank, N.A. | Systems, methods, and devices for integrating a first party service into a second party computer application |
Families Citing this family (197)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160162874A1 (en) * | 2001-08-21 | 2016-06-09 | Bookit Oy Ajanvarauspalvelu | Using successive levels of authentication in online commerce |
US20140019352A1 (en) | 2011-02-22 | 2014-01-16 | Visa International Service Association | Multi-purpose virtual card transaction apparatuses, methods and systems |
US8762263B2 (en) | 2005-09-06 | 2014-06-24 | Visa U.S.A. Inc. | System and method for secured account numbers in proximity devices |
US20110264490A1 (en) | 2006-07-18 | 2011-10-27 | American Express Travel Related Services Company, Inc. | System and method for administering marketing programs |
US9613361B2 (en) | 2006-07-18 | 2017-04-04 | American Express Travel Related Services Company, Inc. | System and method for E-mail based rewards |
US9542690B2 (en) | 2006-07-18 | 2017-01-10 | American Express Travel Related Services Company, Inc. | System and method for providing international coupon-less discounts |
US9934537B2 (en) | 2006-07-18 | 2018-04-03 | American Express Travel Related Services Company, Inc. | System and method for providing offers through a social media channel |
US9489680B2 (en) | 2011-02-04 | 2016-11-08 | American Express Travel Related Services Company, Inc. | Systems and methods for providing location based coupon-less offers to registered card members |
US9767467B2 (en) | 2006-07-18 | 2017-09-19 | American Express Travel Related Services Company, Inc. | System and method for providing coupon-less discounts based on a user broadcasted message |
US9558505B2 (en) | 2006-07-18 | 2017-01-31 | American Express Travel Related Services Company, Inc. | System and method for prepaid rewards |
US9430773B2 (en) | 2006-07-18 | 2016-08-30 | American Express Travel Related Services Company, Inc. | Loyalty incentive program using transaction cards |
US7739169B2 (en) | 2007-06-25 | 2010-06-15 | Visa U.S.A. Inc. | Restricting access to compromised account information |
US8121942B2 (en) | 2007-06-25 | 2012-02-21 | Visa U.S.A. Inc. | Systems and methods for secure and transparent cardless transactions |
US7937324B2 (en) | 2007-09-13 | 2011-05-03 | Visa U.S.A. Inc. | Account permanence |
US8219489B2 (en) | 2008-07-29 | 2012-07-10 | Visa U.S.A. Inc. | Transaction processing using a global unique identifier |
CA2742963A1 (en) | 2008-11-06 | 2010-05-14 | Visa International Service Association | Online challenge-response |
US8838503B2 (en) | 2008-12-08 | 2014-09-16 | Ebay Inc. | Unified identity verification |
US8590022B2 (en) * | 2009-02-26 | 2013-11-19 | Blackberry Limited | Authentication using a wireless mobile communication device |
US9715681B2 (en) | 2009-04-28 | 2017-07-25 | Visa International Service Association | Verification of portable consumer devices |
US8893967B2 (en) | 2009-05-15 | 2014-11-25 | Visa International Service Association | Secure Communication of payment information to merchants using a verification token |
US7891560B2 (en) | 2009-05-15 | 2011-02-22 | Visa International Service Assocation | Verification of portable consumer devices |
US8534564B2 (en) | 2009-05-15 | 2013-09-17 | Ayman Hammad | Integration of verification tokens with mobile communication devices |
US9105027B2 (en) | 2009-05-15 | 2015-08-11 | Visa International Service Association | Verification of portable consumer device for secure services |
US9038886B2 (en) | 2009-05-15 | 2015-05-26 | Visa International Service Association | Verification of portable consumer devices |
US8602293B2 (en) | 2009-05-15 | 2013-12-10 | Visa International Service Association | Integration of verification tokens with portable computing devices |
US10846683B2 (en) | 2009-05-15 | 2020-11-24 | Visa International Service Association | Integration of verification tokens with mobile communication devices |
US10140598B2 (en) | 2009-05-20 | 2018-11-27 | Visa International Service Association | Device including encrypted data for expiration date and verification value creation |
US10255591B2 (en) | 2009-12-18 | 2019-04-09 | Visa International Service Association | Payment channel returning limited use proxy dynamic value |
AU2011205391B2 (en) | 2010-01-12 | 2014-11-20 | Visa International Service Association | Anytime validation for verification tokens |
US10255601B2 (en) | 2010-02-25 | 2019-04-09 | Visa International Service Association | Multifactor authentication using a directory server |
US9245267B2 (en) | 2010-03-03 | 2016-01-26 | Visa International Service Association | Portable account number for consumer payment account |
US8850196B2 (en) * | 2010-03-29 | 2014-09-30 | Motorola Solutions, Inc. | Methods for authentication using near-field |
US9342832B2 (en) | 2010-08-12 | 2016-05-17 | Visa International Service Association | Securing external systems with account token substitution |
US20120078765A1 (en) * | 2010-09-27 | 2012-03-29 | Ebay Inc. | Instant Financial Account Verification Using Direct Connect Data Communication Protocol And Open Financial Exchange Data-Stream Format |
US9652769B1 (en) | 2010-11-30 | 2017-05-16 | Carbonite, Inc. | Methods, apparatus and systems for securely storing and/or accessing payment information or other sensitive information based on tokens |
US9123040B2 (en) | 2011-01-21 | 2015-09-01 | Iii Holdings 1, Llc | Systems and methods for encoded alias based transactions |
CN106803175B (en) | 2011-02-16 | 2021-07-30 | 维萨国际服务协会 | Snap mobile payment device, method and system |
US10586227B2 (en) | 2011-02-16 | 2020-03-10 | Visa International Service Association | Snap mobile payment apparatuses, methods and systems |
US10223691B2 (en) | 2011-02-22 | 2019-03-05 | Visa International Service Association | Universal electronic payment apparatuses, methods and systems |
EP2681701A4 (en) | 2011-03-04 | 2014-08-20 | Visa Int Service Ass | Integration of payment capability into secure elements of computers |
WO2012142045A2 (en) | 2011-04-11 | 2012-10-18 | Visa International Service Association | Multiple tokenization for authentication |
US8943574B2 (en) * | 2011-05-27 | 2015-01-27 | Vantiv, Llc | Tokenizing sensitive data |
US10846789B2 (en) * | 2011-06-01 | 2020-11-24 | Paypal, Inc. | Instant bank account verification through debit card network |
US9582598B2 (en) | 2011-07-05 | 2017-02-28 | Visa International Service Association | Hybrid applications utilizing distributed models and views apparatuses, methods and systems |
US10121129B2 (en) | 2011-07-05 | 2018-11-06 | Visa International Service Association | Electronic wallet checkout platform apparatuses, methods and systems |
US9355393B2 (en) | 2011-08-18 | 2016-05-31 | Visa International Service Association | Multi-directional wallet connector apparatuses, methods and systems |
US9704155B2 (en) | 2011-07-29 | 2017-07-11 | Visa International Service Association | Passing payment tokens through an hop/sop |
US9710807B2 (en) | 2011-08-18 | 2017-07-18 | Visa International Service Association | Third-party value added wallet features and interfaces apparatuses, methods and systems |
US10825001B2 (en) | 2011-08-18 | 2020-11-03 | Visa International Service Association | Multi-directional wallet connector apparatuses, methods and systems |
US10242358B2 (en) | 2011-08-18 | 2019-03-26 | Visa International Service Association | Remote decoupled application persistent state apparatuses, methods and systems |
US9165294B2 (en) | 2011-08-24 | 2015-10-20 | Visa International Service Association | Method for using barcodes and mobile devices to conduct payment transactions |
US8838982B2 (en) | 2011-09-21 | 2014-09-16 | Visa International Service Association | Systems and methods to secure user identification |
US10223730B2 (en) | 2011-09-23 | 2019-03-05 | Visa International Service Association | E-wallet store injection search apparatuses, methods and systems |
US8849699B2 (en) | 2011-09-26 | 2014-09-30 | American Express Travel Related Services Company, Inc. | Systems and methods for targeting ad impressions |
US8880027B1 (en) * | 2011-12-29 | 2014-11-04 | Emc Corporation | Authenticating to a computing device with a near-field communications card |
US10147089B2 (en) | 2012-01-05 | 2018-12-04 | Visa International Service Association | Data protection with translation |
US10223710B2 (en) | 2013-01-04 | 2019-03-05 | Visa International Service Association | Wearable intelligent vision device apparatuses, methods and systems |
WO2013113004A1 (en) | 2012-01-26 | 2013-08-01 | Visa International Service Association | System and method of providing tokenization as a service |
US8595850B2 (en) * | 2012-01-30 | 2013-11-26 | Voltage Security, Inc. | System for protecting sensitive data with distributed tokenization |
AU2013214801B2 (en) | 2012-02-02 | 2018-06-21 | Visa International Service Association | Multi-source, multi-dimensional, cross-entity, multimedia database platform apparatuses, methods and systems |
US10282724B2 (en) | 2012-03-06 | 2019-05-07 | Visa International Service Association | Security system incorporating mobile device |
US9195988B2 (en) | 2012-03-13 | 2015-11-24 | American Express Travel Related Services Company, Inc. | Systems and methods for an analysis cycle to determine interest merchants |
US10181126B2 (en) | 2012-03-13 | 2019-01-15 | American Express Travel Related Services Company, Inc. | Systems and methods for tailoring marketing |
CA3145607C (en) | 2012-03-19 | 2023-08-22 | Fidelity Information Services, Llc | Systems and methods for real-time account access |
US10535064B2 (en) | 2012-03-19 | 2020-01-14 | Paynet Payments Network, Llc | Systems and methods for real-time account access |
US20130275305A1 (en) * | 2012-04-04 | 2013-10-17 | Clinkle Corporation | Wireless transaction communication |
US20130297501A1 (en) | 2012-05-04 | 2013-11-07 | Justin Monk | System and method for local data conversion |
US11424930B2 (en) * | 2012-05-22 | 2022-08-23 | Barclays Bank Delaware | Systems and methods for providing account information |
US9576279B2 (en) * | 2012-06-05 | 2017-02-21 | Autoscribe Corporation | System and method for registering financial accounts |
US9524501B2 (en) | 2012-06-06 | 2016-12-20 | Visa International Service Association | Method and system for correlating diverse transaction data |
WO2014008403A1 (en) | 2012-07-03 | 2014-01-09 | Visa International Service Association | Data protection hub |
US9846861B2 (en) | 2012-07-25 | 2017-12-19 | Visa International Service Association | Upstream and downstream data conversion |
US9256871B2 (en) | 2012-07-26 | 2016-02-09 | Visa U.S.A. Inc. | Configurable payment tokens |
US10339524B2 (en) | 2012-07-31 | 2019-07-02 | Worldpay, Llc | Systems and methods for multi-merchant tokenization |
US9665722B2 (en) | 2012-08-10 | 2017-05-30 | Visa International Service Association | Privacy firewall |
US9514483B2 (en) | 2012-09-07 | 2016-12-06 | American Express Travel Related Services Company, Inc. | Marketing campaign application for multiple electronic distribution channels |
AU2013315510B2 (en) | 2012-09-11 | 2019-08-22 | Visa International Service Association | Cloud-based Virtual Wallet NFC Apparatuses, methods and systems |
US10846734B2 (en) | 2012-09-16 | 2020-11-24 | American Express Travel Related Services Company, Inc. | System and method for purchasing in digital channels |
US10664883B2 (en) | 2012-09-16 | 2020-05-26 | American Express Travel Related Services Company, Inc. | System and method for monitoring activities in a digital channel |
CA3126471A1 (en) | 2012-10-17 | 2014-04-17 | Royal Bank Of Canada | Virtualization and secure processing of data |
US11210648B2 (en) | 2012-10-17 | 2021-12-28 | Royal Bank Of Canada | Systems, methods, and devices for secure generation and processing of data sets representing pre-funded payments |
US11961075B2 (en) | 2014-10-10 | 2024-04-16 | Royal Bank Of Canada | Systems for processing electronic transactions |
US11080701B2 (en) | 2015-07-02 | 2021-08-03 | Royal Bank Of Canada | Secure processing of electronic payments |
US10176478B2 (en) | 2012-10-23 | 2019-01-08 | Visa International Service Association | Transaction initiation determination system utilizing transaction data elements |
US9911118B2 (en) | 2012-11-21 | 2018-03-06 | Visa International Service Association | Device pairing via trusted intermediary |
US8976959B2 (en) | 2012-11-21 | 2015-03-10 | Clinkle Corporation | Echo delay encoding |
US10504132B2 (en) | 2012-11-27 | 2019-12-10 | American Express Travel Related Services Company, Inc. | Dynamic rewards program |
US10304047B2 (en) | 2012-12-07 | 2019-05-28 | Visa International Service Association | Token generating component |
US10592888B1 (en) | 2012-12-17 | 2020-03-17 | Wells Fargo Bank, N.A. | Merchant account transaction processing systems and methods |
US8955081B2 (en) | 2012-12-27 | 2015-02-10 | Motorola Solutions, Inc. | Method and apparatus for single sign-on collaboraton among mobile devices |
US8806205B2 (en) | 2012-12-27 | 2014-08-12 | Motorola Solutions, Inc. | Apparatus for and method of multi-factor authentication among collaborating communication devices |
US8782766B1 (en) | 2012-12-27 | 2014-07-15 | Motorola Solutions, Inc. | Method and apparatus for single sign-on collaboration among mobile devices |
US9332431B2 (en) | 2012-12-27 | 2016-05-03 | Motorola Solutions, Inc. | Method of and system for authenticating and operating personal communication devices over public safety networks |
US10740731B2 (en) | 2013-01-02 | 2020-08-11 | Visa International Service Association | Third party settlement |
US9741051B2 (en) | 2013-01-02 | 2017-08-22 | Visa International Service Association | Tokenization and third-party interaction |
US11055710B2 (en) | 2013-05-02 | 2021-07-06 | Visa International Service Association | Systems and methods for verifying and processing transactions using virtual currency |
BR112015028628A2 (en) | 2013-05-15 | 2017-07-25 | Visa Int Service Ass | method and system |
JP2014241025A (en) * | 2013-06-11 | 2014-12-25 | ソニー株式会社 | Information processing apparatus, information processing method, program, and information processing system |
US10878422B2 (en) | 2013-06-17 | 2020-12-29 | Visa International Service Association | System and method using merchant token |
US10192220B2 (en) * | 2013-06-25 | 2019-01-29 | Square, Inc. | Integrated online and offline inventory management |
US20150006384A1 (en) * | 2013-06-28 | 2015-01-01 | Zahid Nasiruddin Shaikh | Device fingerprinting |
CN105580038A (en) | 2013-07-24 | 2016-05-11 | 维萨国际服务协会 | Systems and methods for interoperable network token processing |
AP2016009010A0 (en) | 2013-07-26 | 2016-01-31 | Visa Int Service Ass | Provisioning payment credentials to a consumer |
US10510073B2 (en) | 2013-08-08 | 2019-12-17 | Visa International Service Association | Methods and systems for provisioning mobile devices with payment credentials |
US10496986B2 (en) | 2013-08-08 | 2019-12-03 | Visa International Service Association | Multi-network tokenization processing |
US10460322B2 (en) * | 2013-08-30 | 2019-10-29 | Mastercard International Incorporated | Methods and systems for verifying cardholder authenticity when provisioning a token |
US20170186037A1 (en) * | 2013-09-06 | 2017-06-29 | One Network Enterprises, Inc. | System and computer program product for providing targeted marketing and sales, and consumer firewall |
US9978094B2 (en) | 2013-10-11 | 2018-05-22 | Visa International Service Association | Tokenization revocation list |
RU2691843C2 (en) | 2013-10-11 | 2019-06-18 | Виза Интернэшнл Сервис Ассосиэйшн | Network token system |
US10515358B2 (en) | 2013-10-18 | 2019-12-24 | Visa International Service Association | Contextual transaction token methods and systems |
US10489779B2 (en) | 2013-10-21 | 2019-11-26 | Visa International Service Association | Multi-network token bin routing with defined verification parameters |
US10366387B2 (en) | 2013-10-29 | 2019-07-30 | Visa International Service Association | Digital wallet system and method |
SG10201900029SA (en) | 2013-11-19 | 2019-02-27 | Visa Int Service Ass | Automated account provisioning |
US9922322B2 (en) | 2013-12-19 | 2018-03-20 | Visa International Service Association | Cloud-based transactions with magnetic secure transmission |
JP6551850B2 (en) | 2013-12-19 | 2019-07-31 | ビザ インターナショナル サービス アソシエーション | Cloud-based transaction method and system |
US10433128B2 (en) | 2014-01-07 | 2019-10-01 | Visa International Service Association | Methods and systems for provisioning multiple devices |
US9846878B2 (en) | 2014-01-14 | 2017-12-19 | Visa International Service Association | Payment account identifier system |
US10026087B2 (en) | 2014-04-08 | 2018-07-17 | Visa International Service Association | Data passed in an interaction |
US9942043B2 (en) | 2014-04-23 | 2018-04-10 | Visa International Service Association | Token security on a communication device |
CN106233664B (en) | 2014-05-01 | 2020-03-13 | 维萨国际服务协会 | Data authentication using an access device |
SG11201609216YA (en) | 2014-05-05 | 2016-12-29 | Visa Int Service Ass | System and method for token domain control |
US10846694B2 (en) | 2014-05-21 | 2020-11-24 | Visa International Service Association | Offline authentication |
US10395237B2 (en) | 2014-05-22 | 2019-08-27 | American Express Travel Related Services Company, Inc. | Systems and methods for dynamic proximity based E-commerce transactions |
US11023890B2 (en) | 2014-06-05 | 2021-06-01 | Visa International Service Association | Identification and verification for provisioning mobile application |
US9780953B2 (en) | 2014-07-23 | 2017-10-03 | Visa International Service Association | Systems and methods for secure detokenization |
US10484345B2 (en) | 2014-07-31 | 2019-11-19 | Visa International Service Association | System and method for identity verification across mobile applications |
US9775029B2 (en) | 2014-08-22 | 2017-09-26 | Visa International Service Association | Embedding cloud-based functionalities in a communication device |
EP3186762A4 (en) * | 2014-08-29 | 2017-07-26 | Ruan & Riana Familie Trust | System and method for electronic payments |
US10140615B2 (en) | 2014-09-22 | 2018-11-27 | Visa International Service Association | Secure mobile device credential provisioning using risk decision non-overrides |
SG11201701653WA (en) | 2014-09-26 | 2017-04-27 | Visa Int Service Ass | Remote server encrypted data provisioning system and methods |
US11257074B2 (en) | 2014-09-29 | 2022-02-22 | Visa International Service Association | Transaction risk based token |
US11151634B2 (en) | 2014-09-30 | 2021-10-19 | Square, Inc. | Persistent virtual shopping cart |
US9697517B1 (en) * | 2014-10-03 | 2017-07-04 | State Farm Mutual Automobile Insurance Company | Token generation in providing a secure credit card payment service without storing credit card data on merchant servers |
US10671980B2 (en) * | 2014-10-20 | 2020-06-02 | Mastercard International Incorporated | Systems and methods for detecting potentially compromised payment cards |
US10015147B2 (en) | 2014-10-22 | 2018-07-03 | Visa International Service Association | Token enrollment system and method |
GB201419016D0 (en) | 2014-10-24 | 2014-12-10 | Visa Europe Ltd | Transaction Messaging |
US10325261B2 (en) | 2014-11-25 | 2019-06-18 | Visa International Service Association | Systems communications with non-sensitive identifiers |
CN107004192B (en) | 2014-11-26 | 2021-08-13 | 维萨国际服务协会 | Method and apparatus for tokenizing requests via an access device |
US11580519B2 (en) | 2014-12-12 | 2023-02-14 | Visa International Service Association | Provisioning platform for machine-to-machine devices |
US10257185B2 (en) | 2014-12-12 | 2019-04-09 | Visa International Service Association | Automated access data provisioning |
US10187363B2 (en) | 2014-12-31 | 2019-01-22 | Visa International Service Association | Hybrid integration of software development kit with secure execution environment |
US10990974B1 (en) | 2015-01-15 | 2021-04-27 | Wells Fargo Bank, N.A. | Identity verification services and user information provision via application programming interface |
US10621658B1 (en) | 2015-01-15 | 2020-04-14 | Wells Fargo Bank, N.A. | Identity verification services with identity score through external entities via application programming interface |
US10937025B1 (en) * | 2015-01-15 | 2021-03-02 | Wells Fargo Bank, N.A. | Payment services via application programming interface |
US11354651B2 (en) | 2015-01-19 | 2022-06-07 | Royal Bank Of Canada | System and method for location-based token transaction processing |
CA2974151C (en) | 2015-01-19 | 2023-11-21 | Royal Bank Of Canada | Secure processing of electronic payments |
US10096009B2 (en) | 2015-01-20 | 2018-10-09 | Visa International Service Association | Secure payment processing using authorization request |
US11250391B2 (en) | 2015-01-30 | 2022-02-15 | Visa International Service Association | Token check offline |
US10977657B2 (en) | 2015-02-09 | 2021-04-13 | Visa International Service Association | Token processing utilizing multiple authorizations |
US10164996B2 (en) | 2015-03-12 | 2018-12-25 | Visa International Service Association | Methods and systems for providing a low value token buffer |
SG10201908338TA (en) | 2015-04-10 | 2019-10-30 | Visa Int Service Ass | Browser integration with cryptogram |
US9998978B2 (en) | 2015-04-16 | 2018-06-12 | Visa International Service Association | Systems and methods for processing dormant virtual access devices |
US10552834B2 (en) | 2015-04-30 | 2020-02-04 | Visa International Service Association | Tokenization capable authentication framework |
US11599879B2 (en) | 2015-07-02 | 2023-03-07 | Royal Bank Of Canada | Processing of electronic transactions |
US10805291B2 (en) * | 2015-09-11 | 2020-10-13 | Comcast Cable Communications, Llc | Embedded authentication in a service provider network |
CN108701276B (en) * | 2015-10-14 | 2022-04-12 | 剑桥区块链有限责任公司 | System and method for managing digital identities |
JP2018530834A (en) | 2015-10-15 | 2018-10-18 | ビザ インターナショナル サービス アソシエーション | Token immediate issue system |
CN108370319B (en) | 2015-12-04 | 2021-08-17 | 维萨国际服务协会 | Method and computer for token verification |
EP3400696B1 (en) | 2016-01-07 | 2020-05-13 | Visa International Service Association | Systems and methods for device push provisioning |
WO2017136418A1 (en) | 2016-02-01 | 2017-08-10 | Visa International Service Association | Systems and methods for code display and use |
US11501288B2 (en) | 2016-02-09 | 2022-11-15 | Visa International Service Association | Resource provider account token provisioning and processing |
US10313321B2 (en) | 2016-04-07 | 2019-06-04 | Visa International Service Association | Tokenization of co-network accounts |
AU2016403734B2 (en) | 2016-04-19 | 2022-11-17 | Visa International Service Association | Systems and methods for performing push transactions |
US11250424B2 (en) | 2016-05-19 | 2022-02-15 | Visa International Service Association | Systems and methods for creating subtokens using primary tokens |
EP3466017B1 (en) | 2016-06-03 | 2021-05-19 | Visa International Service Association | Subtoken management system for connected devices |
US11068899B2 (en) | 2016-06-17 | 2021-07-20 | Visa International Service Association | Token aggregation for multi-party transactions |
US10361856B2 (en) | 2016-06-24 | 2019-07-23 | Visa International Service Association | Unique token authentication cryptogram |
EP3482337B1 (en) | 2016-07-11 | 2021-09-29 | Visa International Service Association | Encryption key exchange process using access device |
CN116739570A (en) | 2016-07-19 | 2023-09-12 | 维萨国际服务协会 | Method for distributing tokens and managing token relationships |
US10509779B2 (en) | 2016-09-14 | 2019-12-17 | Visa International Service Association | Self-cleaning token vault |
US11461783B2 (en) * | 2016-09-23 | 2022-10-04 | Raise Marketplace Inc. | Merchant verification in an exchange item marketplace network |
US10748126B2 (en) * | 2016-10-04 | 2020-08-18 | Pockit, Llc | System and methods for digital change transactions |
US11170365B2 (en) * | 2016-10-19 | 2021-11-09 | Visa International Service Association | Digital wallet merchant-specific virtual payment accounts |
CN110036386B (en) | 2016-11-28 | 2023-08-22 | 维萨国际服务协会 | Access identifier supplied to application program |
US10915899B2 (en) | 2017-03-17 | 2021-02-09 | Visa International Service Association | Replacing token on a multi-token user device |
US10454945B1 (en) * | 2017-04-24 | 2019-10-22 | EMC IP Holding Company LLC | Method, apparatus and computer program product for processing an electronic request to access a computerized resource |
US10902418B2 (en) | 2017-05-02 | 2021-01-26 | Visa International Service Association | System and method using interaction token |
US11494765B2 (en) | 2017-05-11 | 2022-11-08 | Visa International Service Association | Secure remote transaction system using mobile devices |
US10491389B2 (en) | 2017-07-14 | 2019-11-26 | Visa International Service Association | Token provisioning utilizing a secure authentication system |
US11676126B1 (en) | 2017-12-28 | 2023-06-13 | Wells Fargo Bank, N.A. | Account open interfaces |
US11995619B1 (en) | 2017-12-28 | 2024-05-28 | Wells Fargo Bank, N.A. | Account open interfaces |
SG11202008451RA (en) | 2018-03-07 | 2020-09-29 | Visa Int Service Ass | Secure remote token release with online authentication |
US11256789B2 (en) | 2018-06-18 | 2022-02-22 | Visa International Service Association | Recurring token transactions |
SG10201805337YA (en) * | 2018-06-21 | 2020-01-30 | Mastercard International Inc | Computer system and computer-implemented method for secure payment transaction |
US11651369B2 (en) * | 2018-07-12 | 2023-05-16 | American Express Travel Related Services Company, Inc. | Remote EMV payment applications |
SG11202101525PA (en) * | 2018-08-17 | 2021-03-30 | Visa Int Service Ass | Secure data transfer system and method |
WO2020041594A1 (en) | 2018-08-22 | 2020-02-27 | Visa International Service Association | Method and system for token provisioning and processing |
CN112805737A (en) | 2018-10-08 | 2021-05-14 | 维萨国际服务协会 | Techniques for token proximity transactions |
SG11202104782TA (en) | 2018-11-14 | 2021-06-29 | Visa Int Service Ass | Cloud token provisioning of multiple tokens |
US11093912B1 (en) | 2018-12-10 | 2021-08-17 | Wells Fargo Bank, N.A. | Third-party payment interfaces |
US11475446B2 (en) | 2018-12-28 | 2022-10-18 | Mastercard International Incorporated | System, methods and computer program products for identity authentication for electronic payment transactions |
US11494769B2 (en) | 2019-01-10 | 2022-11-08 | Mastercard International Incorporated | System, methods and computer program products for identity authentication for electronic payment transactions |
SG11201909861UA (en) * | 2019-04-08 | 2019-11-28 | Alibaba Group Holding Ltd | Transferring digital tickets based on blockchain networks |
US11849042B2 (en) | 2019-05-17 | 2023-12-19 | Visa International Service Association | Virtual access credential interaction system and method |
US11044246B1 (en) | 2019-06-21 | 2021-06-22 | Wells Fargo Bank, N.A. | Secure communications via third-party systems through frames |
CN110532256A (en) * | 2019-07-04 | 2019-12-03 | 平安科技(深圳)有限公司 | A kind of account method of calibration, device, computer equipment and storage medium |
US11328274B2 (en) | 2020-07-28 | 2022-05-10 | Bank Of America Corporation | Data processing system and method for managing electronic split transactions using user profiles |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060287004A1 (en) * | 2005-06-17 | 2006-12-21 | Fuqua Walter B | SIM card cash transactions |
US20100115591A1 (en) * | 2008-10-31 | 2010-05-06 | Lucent Technologies Inc. | Method and system for authenticating users with optical code tokens |
US7734527B2 (en) * | 2000-08-29 | 2010-06-08 | Uzo Chijioke Chukwuemeka | Method and apparatus for making secure electronic payments |
US8595490B2 (en) * | 2006-10-17 | 2013-11-26 | Verifone, Inc. | System and method for secure transaction |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5661803A (en) * | 1995-03-31 | 1997-08-26 | Pitney Bowes Inc. | Method of token verification in a key management system |
US5812666A (en) * | 1995-03-31 | 1998-09-22 | Pitney Bowes Inc. | Cryptographic key management and validation system |
US5943423A (en) * | 1995-12-15 | 1999-08-24 | Entegrity Solutions Corporation | Smart token system for secure electronic transactions and identification |
US6385596B1 (en) * | 1998-02-06 | 2002-05-07 | Liquid Audio, Inc. | Secure online music distribution system |
US7017188B1 (en) * | 1998-11-16 | 2006-03-21 | Softricity, Inc. | Method and apparatus for secure content delivery over broadband access networks |
US6970853B2 (en) * | 2000-06-06 | 2005-11-29 | Citibank, N.A. | Method and system for strong, convenient authentication of a web user |
US20040139028A1 (en) * | 2001-03-23 | 2004-07-15 | Fishman Jayme Matthew | System, process and article for conducting authenticated transactions |
US6659259B2 (en) * | 2001-06-01 | 2003-12-09 | Datawave Systems, Inc. | Multiple denomination currency receiving and prepaid card dispensing method and apparatus |
US6847964B2 (en) * | 2001-09-24 | 2005-01-25 | Edward A. Hayduk, Jr. | Method of using a computer to facilitate decision making |
GB0204620D0 (en) * | 2002-02-28 | 2002-04-10 | Europay Internat N V | Chip authentication programme |
WO2003083619A2 (en) * | 2002-03-29 | 2003-10-09 | Bank One, Delaware, N.A. | System and process for performing purchase transaction using tokens |
US20050044385A1 (en) * | 2002-09-09 | 2005-02-24 | John Holdsworth | Systems and methods for secure authentication of electronic transactions |
US7457778B2 (en) * | 2003-03-21 | 2008-11-25 | Ebay, Inc. | Method and architecture for facilitating payment to e-commerce merchants via a payment service |
US7801758B2 (en) * | 2003-12-12 | 2010-09-21 | The Pnc Financial Services Group, Inc. | System and method for conducting an optimized customer identification program |
US7369999B2 (en) * | 2004-06-23 | 2008-05-06 | Dun And Bradstreet, Inc. | Systems and methods for USA Patriot Act compliance |
US7383231B2 (en) * | 2004-07-19 | 2008-06-03 | Amazon Technologies, Inc. | Performing automatically authorized programmatic transactions |
US20060020542A1 (en) * | 2004-07-21 | 2006-01-26 | Litle Thomas J | Method and system for processing financial transactions |
US7917395B2 (en) * | 2004-09-28 | 2011-03-29 | The Western Union Company | Wireless network access prepayment systems and methods |
US7983979B2 (en) * | 2005-03-10 | 2011-07-19 | Debix One, Inc. | Method and system for managing account information |
US8315952B2 (en) * | 2006-03-14 | 2012-11-20 | First Data Corporation | Money transfers using digital cash |
US8631467B2 (en) * | 2006-09-01 | 2014-01-14 | Ebay Inc. | Contextual visual challenge image for user verification |
US9123042B2 (en) * | 2006-10-17 | 2015-09-01 | Verifone, Inc. | Pin block replacement |
US20080162295A1 (en) * | 2006-12-29 | 2008-07-03 | Ebay Inc. | Method and system for payment authentication |
US8355982B2 (en) * | 2007-08-16 | 2013-01-15 | Verifone, Inc. | Metrics systems and methods for token transactions |
US8214291B2 (en) * | 2007-10-19 | 2012-07-03 | Ebay Inc. | Unified identity verification |
US8838503B2 (en) | 2008-12-08 | 2014-09-16 | Ebay Inc. | Unified identity verification |
-
2008
- 2008-12-31 US US12/347,907 patent/US8838503B2/en active Active
-
2009
- 2009-12-31 BR BRPI0923852A patent/BRPI0923852A2/en not_active IP Right Cessation
- 2009-12-31 WO PCT/US2009/069963 patent/WO2010078522A1/en active Application Filing
- 2009-12-31 CA CA2747831A patent/CA2747831C/en active Active
- 2009-12-31 EP EP09837215A patent/EP2350945A4/en not_active Ceased
- 2009-12-31 AU AU2009334494A patent/AU2009334494B2/en active Active
-
2014
- 2014-08-21 US US14/465,732 patent/US20140365373A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7734527B2 (en) * | 2000-08-29 | 2010-06-08 | Uzo Chijioke Chukwuemeka | Method and apparatus for making secure electronic payments |
US20060287004A1 (en) * | 2005-06-17 | 2006-12-21 | Fuqua Walter B | SIM card cash transactions |
US8595490B2 (en) * | 2006-10-17 | 2013-11-26 | Verifone, Inc. | System and method for secure transaction |
US20100115591A1 (en) * | 2008-10-31 | 2010-05-06 | Lucent Technologies Inc. | Method and system for authenticating users with optical code tokens |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11349847B2 (en) | 2007-10-19 | 2022-05-31 | Paypal, Inc. | Unified identity verification |
US11956243B2 (en) | 2007-10-19 | 2024-04-09 | Paypal, Inc. | Unified identity verification |
US10230564B1 (en) * | 2011-04-29 | 2019-03-12 | Amazon Technologies, Inc. | Automatic account management and device registration |
US20160224983A1 (en) * | 2015-02-03 | 2016-08-04 | Duane Cash | Validation identity tokens for transactions |
US11176554B2 (en) * | 2015-02-03 | 2021-11-16 | Visa International Service Association | Validation identity tokens for transactions |
US11915243B2 (en) | 2015-02-03 | 2024-02-27 | Visa International Service Association | Validation identity tokens for transactions |
CN106845957A (en) * | 2015-12-04 | 2017-06-13 | 阿里巴巴集团控股有限公司 | A kind of method for processing resource and device |
US20180276629A1 (en) * | 2015-12-04 | 2018-09-27 | Alibaba Group Holding Limited | Resource processing method and device |
US11017394B2 (en) * | 2016-04-25 | 2021-05-25 | Visa International Service Association | System for vision impaired users to execute electronic transactions |
US11429971B1 (en) * | 2016-06-03 | 2022-08-30 | Jpmorgan Chase Bank, N.A. | Systems, methods, and devices for integrating a first party service into a second party computer application |
US11323430B2 (en) * | 2018-03-21 | 2022-05-03 | Advanced New Technologies Co., Ltd. | Identity verification method and device and electronic device |
Also Published As
Publication number | Publication date |
---|---|
WO2010078522A1 (en) | 2010-07-08 |
AU2009334494A1 (en) | 2010-07-08 |
BRPI0923852A2 (en) | 2019-09-24 |
EP2350945A1 (en) | 2011-08-03 |
CA2747831C (en) | 2018-03-06 |
US8838503B2 (en) | 2014-09-16 |
EP2350945A4 (en) | 2012-05-30 |
AU2009334494B2 (en) | 2013-01-24 |
US20100145860A1 (en) | 2010-06-10 |
CA2747831A1 (en) | 2010-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8838503B2 (en) | Unified identity verification | |
US11956243B2 (en) | Unified identity verification | |
US11928678B2 (en) | Variable authentication process and system | |
US20220318799A1 (en) | Systems And Methods For Using A Transaction Identifier To Protect Sensitive Credentials | |
CN106031207B (en) | method and system for secure delivery of remote notification service messages to mobile devices without secure elements | |
RU2663319C2 (en) | Method and system of safe authenticating user and mobile device without safety elements | |
CN111523884B (en) | Method and system for generating advanced storage keys in mobile devices without secure elements | |
US11176539B2 (en) | Card storage handler for tracking of card data storage across service provider platforms | |
US20240303635A1 (en) | Token-based off-chain interaction authorization | |
US12003640B2 (en) | Efficient token provisioning system and method | |
AU2016206396A1 (en) | Unified identity verification | |
AU2013205575A1 (en) | Unified identity verification | |
US12106288B2 (en) | Authentication system and method | |
WO2024171047A1 (en) | Performing cryptographic operations for digital activity security | |
WO2024025706A1 (en) | Method and system for payment processing using distributed digitized surrogates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: EBAY INC., UNITED STATES Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PELEGERO, RENE M.;REEL/FRAME:033586/0476 Effective date: 20090312 |
|
AS | Assignment |
Owner name: PAYPAL, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EBAY INC.;REEL/FRAME:036171/0221 Effective date: 20150717 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |