US20200336315A1 - Validation cryptogram for transaction - Google Patents
Validation cryptogram for transaction Download PDFInfo
- Publication number
- US20200336315A1 US20200336315A1 US16/920,251 US202016920251A US2020336315A1 US 20200336315 A1 US20200336315 A1 US 20200336315A1 US 202016920251 A US202016920251 A US 202016920251A US 2020336315 A1 US2020336315 A1 US 2020336315A1
- Authority
- US
- United States
- Prior art keywords
- cryptogram
- key
- receiver
- sender
- server computer
- 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
- 238000010200 validation analysis Methods 0.000 title description 11
- 230000003993 interaction Effects 0.000 claims abstract description 314
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000012546 transfer Methods 0.000 claims description 58
- 238000004422 calculation algorithm Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 description 113
- 238000012790 confirmation Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 14
- 238000012795 verification Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000004044 response Effects 0.000 description 12
- 230000000977 initiatory effect Effects 0.000 description 6
- 238000013475 authorization Methods 0.000 description 5
- 238000013478 data encryption standard Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/102—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
Definitions
- Peer-to-peer transactions allow individuals to directly exchange information and value. Peer-to-peer transactions can be enabled by intermediary applications, such as a digital wallet provider.
- Alice can activate a digital wallet application on her mobile device and activate a peer-to-peer transaction function.
- Alice inputs her account credentials, and indicates that she would like to send a payment to Bob by inputting Bob's phone number.
- Alice's mobile device sends her credentials to the digital wallet provider, along with the transaction amount and Bob's phone number.
- the digital wallet provider then contacts Bob at his mobile device, asking for his credentials.
- Bob inputs his credentials, and his mobile device sends his credentials back to the digital wallet provider. Having obtained both Alice's credentials and Bob's credentials, the digital wallet provider can cause the transaction to take place, such that the payment value is transferred from Alice's account to Bob's account.
- peer-to-peer transactions enable individuals to send value to one another
- peer-to-peer transactions create a number of security issues. For example, a fraudster can execute a man-in-the-middle attack by intercepting a transaction message, changing some of the information, and then forwarding along the change transaction message.
- the fraudster can intercept Alice's message to the digital wallet provider.
- the fraudster can change the message so that Bob is no longer indicated as the transaction recipient, and instead the fraudster is the recipient (e.g., by changing Bob's phone number to the fraudster's phone number).
- the digital wallet provider contacts the fraudster at his mobile device (instead of Bob), and the fraudster inputs his own account credentials. Then, the payment is sent to the fraudster instead of Bob.
- the fraudster can intercept Bob's message to the digital wallet provider.
- the fraudster can change the message so that Bob's credentials are no longer listed, and instead the fraudster's credentials are listed. Again, the payment is sent to the fraudster instead of Bob.
- Embodiments of the invention address these and other problems individually and collectively.
- Embodiments of the invention are directed to processing an interaction between a first party and a second party.
- the first party may provide account information as well as a cryptogram for verifying the first party is legitimately participating.
- the second party may agree to the interaction, and the second party may also provide account information and a cryptogram for verifying the second party is legitimately participating.
- a coordination computer may aggregate the first party and second party information, create a digital signature, and send the information to an interaction processing computer.
- the interaction processing computer can then verify the first party cryptogram, the second party cryptogram, and the digital signature, thereby validate that each entity agreed to the interaction and interaction details have not been altered.
- Embodiments of the invention further allow a cryptogram to be generated using information about both the first party and the second party. As a result, both the first party account and the second party account can be validated through a single cryptogram.
- One embodiment of the invention is directed to a method.
- the method comprises receiving, by a server computer, an interaction request including interaction details and a first cryptogram.
- the interaction details include receiver information, and the first cryptogram was generated using the receiver information.
- the method also includes verifying the first cryptogram.
- the method further comprises coordinating a transfer from a sender to a receiver.
- Another embodiment of the invention is directed to a server computer configured to perform the above-described method.
- the server computer can be an interaction processing computer.
- Another embodiment of the invention is directed to a method comprising receiving, by a first computer, interaction details and a first cryptogram.
- the interaction details include receiver information, and the first cryptogram was generated using the receiver information.
- the method also includes sending an interaction confirmation request to a receiver device associated with the receiver information, and receiving an interaction confirmation response from the receiver device.
- the method further comprises sending an interaction request including the interaction details and the first cryptogram to a second computer.
- the second computer verifies the first cryptogram and coordinates a transfer from a sender to a receiver.
- Another embodiment of the invention is directed to a first computer configured to perform the above-described method.
- the first computer can be a coordination computer.
- FIG. 1 shows a block diagram of a system according to an embodiment of the invention.
- FIG. 2 shows a block diagram of an exemplary mobile device according to an embodiment of the invention.
- FIG. 3 shows a block diagram of a coordination computer according to an embodiment of the invention.
- FIG. 4 shows a block diagram of an interaction processing computer according to an embodiment of the invention.
- FIG. 5 shows a flow diagram illustrating a method for processing an interaction, according to embodiments of the invention.
- Embodiments of the present invention are directed preventing man-in-the-middle attacks, replay attacks, and other fraudulent interactions. Embodiments can prevent these fraudulent interactions by validating the authenticity of an interaction and interaction parameters.
- a first party e.g., a “sender”
- a first device e.g., a “sender device”
- the sender can initiate an interaction by selecting a value to send, selecting an account from which to obtain the value, and by indicating a receiver for receiving the value.
- the sender device can then generate a cryptogram for the interaction.
- the cryptogram can be generated using a sender-associated cryptographic key, information identifying the sender, and information identifying the receiver.
- the interaction processing computer can verify that the cryptogram is authentic using a corresponding cryptographic key, sender-identifying information included in the interaction details, and receiver-identifying information included in the interaction details. If the cryptogram is successfully verified, the interaction processing computer validates that the sender legitimately requested the interaction, and that the information about the sender and receiver in the interaction details has not been altered (e.g., by a man-in-the-middle attack).
- the cryptogram goes beyond validating that the sender initiated the interaction (as can take place in some interactions).
- Embodiments allow the cryptogram to further validate that the sender-chosen receiver has not been changed.
- the sender-identifying information and/or receiver-identifying information can include account identifiers or account tokens.
- the interaction processing computer can validate that the accounts from which to withdraw and deposit the interaction value have not been changed.
- Embodiments of the invention also allow a receiver cryptogram to be created and verified.
- a receiver device can agree to an interaction by providing account information (e.g., a token), and by generating and providing a second cryptogram.
- the interaction processing computer can verify this cryptogram in addition to the first cryptogram from the sender device.
- the interaction processing computer can validate that the receiver agreed to the same interaction details as the sender.
- it can be validated that the same interaction parameters were agreed to by both the sender and receiver, and that the interaction details were not changed during messaging between the sender, receiver, and/or interaction processing computer.
- Embodiments of the invention apply to any suitable interaction for any suitable type of value.
- embodiments allow a sender to transfer property rights, access codes and passwords, event tickets, secure documents and data, monetary funds, and/or any other suitable value from a sender account to a receiver account.
- An “interaction” may include a communication, contact, or exchange between parties, devices, and/or entities.
- Example interactions include a transaction between two parties and a data exchange between two devices.
- An “interaction request” may be an attempt to initiate a communication, contact, or exchange.
- An interaction request can include a message sent to an interaction processing entity.
- An interaction request can include any suitable information for executing an interaction, such as interaction details, verification information (e.g., one or more cryptograms), and any other suitable information.
- An example of an interaction request can be a transaction request.
- Interaction details may include information associated with a communication, contact, or exchange. Interaction details can indicate different entities that are party to an interaction as well as value or information being exchanged. Interaction details can include a value, information associated with a sender (e.g., a token or account information, an alias, a device identifier, a contact address, etc.), information associated with a receiver (e.g., a token or account information, an alias, a device identifier, a contact address, etc.), one-time values (e.g., a random value, a nonce, a timestamp, a counter, etc.), and/or any other suitable information.
- An example of interaction details can be transaction details.
- a “cryptographic key” may refer to a piece of information that is used in a cryptographic algorithm to transform input data into another representation.
- Cryptographic keys may include symmetric and asymmetric keys.
- a cryptographic algorithm can be an encryption algorithm that transforms original data (e.g., plaintext) into an alternate representation (e.g., cipher text), or a decryption algorithm that transforms encrypted information (e.g., cipher text) back to the original data (e.g., plaintext).
- Examples of cryptographic algorithms may include triple data encryption standard (TDES), data encryption standard (DES), advanced encryption standard (AES), etc.
- a “cryptogram” may include encrypted information (e.g., cipher text).
- a cryptogram can be a value that is the result of data elements entered into a cryptographic algorithm and then encrypted.
- a cryptogram can be used to validate data integrity.
- a cryptogram generated using a symmetric key can be decrypted using the same symmetric key.
- a cryptogram generated using a public key can be verified using a corresponding private key.
- the term “public/private key pair” may include a pair of linked cryptographic keys generated by an entity.
- the public key may be used for public functions such as encrypting a message to send to the entity or for verifying a digital signature which was supposedly made by the entity.
- the private key on the other hand may be used for private functions such as decrypting a received message or applying a digital signature.
- a public key may be authorized by a body known as a Certification Authority (CA) which stores the public key in a database and distributes it to any other entity which requests it.
- a private key may typically be kept in a secure storage medium and may usually only be known to the entity.
- the cryptographic systems described herein may feature key recovery mechanisms for recovering lost keys and avoiding data loss.
- Public and private keys may be in any suitable format, including those based on RSA or elliptic curve cryptography (ECC).
- a “digital signature” or “signature” may refer to the result of applying an algorithm based on a public/private key pair.
- a digital signature can allow a signing party to manifest, and a verifying party to verify, the authenticity and integrity of a message, a document, or other information.
- the signing party acts by means of the private key and the verifying party acts by means of the public key. This process certifies the authenticity of the sender, the integrity of the signed message and the so-called principle of nonrepudiation, which does not allow disowning what has been signed.
- a message, document, certificate, or other data that includes a digital signature by a signing party is said to be “signed” by the signing party.
- Receiver information may include data associated with a recipient.
- Receiver information can identify a receiver, a receiver device, a receiver account, or anything else associated with a receiver.
- receiver information can include a phone number, an email address, a mobile device identifier, an account number, a token, a name, an alias, or any other suitable information.
- Sender information may include data associated with a provider.
- Sender information can identify a sender, a sender device, a sender account, or anything else associated with a sender.
- sender information can include a phone number, an email address, a mobile device identifier, an account number, a token, a name, an alias, or any other suitable information.
- an “alias” may include an identifier used to indicate a person or entity that is also known by a more familiar name.
- an alias can be a title, a name, a phrase, a code, a tag, or other indicator that identifies a person, organization, device, or account.
- An alias may be a secondary name that can be used in place of a primary name, or false name used to protect one's identity.
- an alias can be associated with a context or circumstance.
- an alias can be a name associated with an individual within a certain network.
- a “device identifier” may comprise any suitable information that serves to identify a device. Examples of a device identifier include a MSISDN, a phone number, an SMS text address, an IP address, or any other information that may be used to identify a mobile device. In some embodiments, a device identifier can include a unique device number, such as an international mobile station equipment identity (IMEI) number, a unique serial number (i.e., integrated circuit card identifier (ICCI)) of a subscriber identification module (SIM) card, or a unique international mobile subscriber identity (IMSI).
- IMEI international mobile station equipment identity
- ICCI integrated circuit card identifier
- SIM subscriber identification module
- IMSI international mobile subscriber identity
- An “interaction confirmation request” may include a message for asking for interaction acceptance.
- an interaction confirmation request can be sent to inquire whether an entity (e.g., a receiver) would like to proceed with an interaction.
- An interaction confirmation request can include interaction details, such as a value, information about a sender, information about a receiver, and/or any other suitable information.
- An example of an interaction confirmation request can be a transaction confirmation request.
- An “interaction confirmation response” may include a message indicating whether an interaction is accepted.
- an interaction confirmation request can be sent to respond to an interaction confirmation request, and the message can indicate whether an entity (e.g., a receiver) has agreed to proceed with an interaction.
- An interaction confirmation response can include interaction details, such as a value, information about a sender, information about a receiver, and/or any other suitable information.
- An example of an interaction confirmation response can be a transaction confirmation response.
- Payment credentials may include any suitable information associated with an account (e.g., a payment account and/or payment device associated with the account). Such information may be directly related to the account or may be derived from information related to the account. Examples of payment credentials may include a PAN (primary account number or “account number”), user name, expiration date, and verification values such as CW (card verification value), dCVV (dynamic card verification value), CVV2 (card verification value 2), CVC3 card verification values, etc.
- PAN primary account number or “account number”
- CW card verification value
- dCVV dynamic card verification value
- CVV2 card verification value 2
- CVC3 card verification values etc.
- An example of a PAN is a 16-digit number, such as “4147 0900 0000 1234.”
- a “digital wallet” can include an electronic device that allows an individual to conduct electronic commerce transactions.
- a digital wallet may store user profile information, payment credentials, bank account information, one or more digital wallet identifiers and/or the like and can be used in a variety of transactions, such as but not limited to eCommerce, social networks, money transfer/personal payments, mobile commerce, proximity payments, gaming, and/or the like for retail purchases, digital goods purchases, utility payments, purchasing games or gaming credits from gaming websites, transferring funds between users, and/or the like.
- a digital wallet may be designed to streamline the purchase and payment process.
- a digital wallet may allow the user to load one or more payment cards onto the digital wallet so as to make a payment without having to enter an account number or present a physical card.
- a “token” may be a substitute value for a credential.
- a token may be a string of numbers, letters, or any other suitable characters. Examples of tokens include payment tokens, access tokens, personal identification tokens, etc.
- a “payment token” may include an identifier for a payment account that is a substitute for an account identifier, such as a primary account number (PAN).
- PAN primary account number
- a token may include a series of alphanumeric characters that may be used as a substitute for an original account identifier.
- a token “4900 0000 0000 0001” may be used in place of a PAN “4147 0900 0000 1234.”
- a token may be “format preserving” and may have a numeric format that conforms to the account identifiers used in existing transaction processing networks (e.g., ISO 8583 financial transaction message format).
- a token may be used in place of a PAN to initiate, authorize, settle or resolve a payment transaction or represent the original credential in other systems where the original credential would typically be provided.
- a token value may be generated such that the recovery of the original PAN or other account identifier from the token value may not be computationally derived.
- the token format may be configured to allow the entity receiving the token to identify it as a token and recognize the entity that issued the token.
- a “server computer” may include a powerful computer or cluster of computers.
- the server computer can be a large mainframe, a minicomputer cluster, or a group of servers functioning as a unit.
- the server computer may be a database server coupled to a Web server.
- the server computer may be coupled to a database and may include any hardware, software, other logic, or combination of the preceding for servicing the requests from one or more client computers.
- FIG. 1 shows a system 100 comprising a number of components.
- the system 100 comprises a sender device 110 operated by a sender 111 , as well as a receiver device 120 operated by a receiver 121 .
- the system 100 further comprises a coordination computer 115 , an interaction processing computer 150 , a sending institution computer 160 , a receiving institution computer 130 , and a transport computer 140 , each of which may be embodied by one or more computers.
- the sender device 110 , the receiver device 120 , the coordination computer 115 , the interaction processing computer 150 , the sending institution computer 160 , the receiving institution computer 130 , and the transport computer 140 may all be in operative communication with each other through any suitable communication channel or communications network.
- Suitable communications networks may be any one and/or the combination of the following: a direct interconnection; the Internet; a Local Area Network (LAN); a Metropolitan Area Network (MAN); an Operating Missions as Nodes on the Internet (OMNI); a secured custom connection; a Wide Area Network (WAN); a wireless network (e.g., employing protocols such as, but not limited to a Wireless Application Protocol (WAP), I-mode, and/or the like); and/or the like.
- WAP Wireless Application Protocol
- I-mode I-mode
- Messages between the computers, networks, and devices may be transmitted using a secure communications protocols such as, but not limited to, File Transfer Protocol (FTP); HyperText Transfer Protocol (HTTP); Secure Hypertext Transfer Protocol (HTTPS), Secure Socket Layer (SSL), ISO (e.g., ISO 8583) and/or the like.
- FTP File Transfer Protocol
- HTTP HyperText Transfer Protocol
- HTTPS Secure Hypertext Transfer Protocol
- SSL Secure Socket Layer
- ISO e.g., ISO 8583
- the sender 111 and the receiver 121 can each be an individual, an organization, or any other suitable entity associated with an account.
- the sender 111 can initiate an interaction between the sender 111 and the receiver 121 , such that a value can be transferred from the sender's account at the sending institution computer 160 to the receiver's account at the receiving institution computer 130 .
- the sender 111 can transfer monetary funds to the receiver 121 (e.g., via a monetary transaction).
- the sender can transfer access credentials (e.g., passcodes and cryptographic keys), digital files, event tickets, etc.
- the sender 111 and receiver 121 may be individuals and friends, and the sender 111 may send monetary value as a gift, or may reimburse the receiver 121 for an expense.
- the sender 111 can be a consumer, and the receiver 121 can be a merchant that engages in transactions and sells goods or services, or provides access to goods or services. In this case, the sender 111 may send monetary value in exchange for goods or services provided by the receiver 121 .
- the sender 111 can use the sender device 110 to initiate an interaction.
- the sender device 110 can then provide interaction details to the coordination computer 115 , which can in turn obtain additional interaction data from the receiver device 120 .
- the sender device 110 and/or the receiver device 120 can also provide cryptograms for interaction validation.
- the coordination computer 115 can then send all of the interaction details to the interaction processing computer 150 , which can then facilitate a value transfer from the sender's account at the sending institution computer 160 to the receiver's account at the receiving institution computer 130 .
- the sender device 110 and receiver device 120 can each be a mobile device, a laptop or desktop computer, or any other suitable type of user device.
- the receiver device 120 can take a similar form.
- the sender device 110 may include circuitry that is used to enable certain device functions, such as telephony.
- the functional elements responsible for enabling those functions may include a processor 110 A that can execute instructions that implement the functions and operations of the device.
- Processor 110 A may access memory 110 E (or another suitable data storage region or element) to retrieve instructions or data used in executing the instructions, such as provisioning scripts and mobile applications.
- Data input/output elements 110 C such as a keyboard or touchscreen, may be used to enable a user to operate the sender device 110 and input data (e.g., user authentication data). Data input/output elements may also be configured to output data (via a speaker, for example). Display 1108 may also be used to output data to a user. Communications element 110 D may be used to enable data transfer between sender device 110 and a wired or wireless network (via antenna 110 H, for example) to assist in connectivity to the Internet or other network, and enabling data transfer functions.
- Sender device 110 may also include contactless element interface 110 F to enable data transfer between contactless element 110 G and other elements of the device, where contactless element 110 G may include a secure memory and a near field communications data transfer element (or another form of short range communications technology).
- contactless element 110 G may include a secure memory and a near field communications data transfer element (or another form of short range communications technology).
- a cellular phone or similar device is an example of a sender device 110 that may be used in accordance with embodiments of the present invention.
- the sender device 110 may alternatively be in the form of a payment card, a key fob, a tablet computer, a wearable device, a vehicle such as a car, etc.
- the memory 110 E may comprise a coordination application 110 J, a token 110 K, a cryptographic key 110 L, and any other suitable module or data. In some embodiments, one or more of these modules or data may be stored in a secure memory.
- the sender device 110 may have any number of mobile applications installed or stored on the memory 110 E and is not limited to that shown in FIG. 2 .
- the cryptographic key 110 L may be a symmetric key in some embodiments.
- the cryptographic key 110 L may have been provided by the coordination computer 115 , the interaction processing computer 150 , or any other suitable entity.
- the interaction processing computer 150 may have provided the cryptographic key 110 L and/or token 110 K during installation or personalization of the coordination application 110 L, or at any other suitable time.
- the cryptographic key 110 L may be unique to the sender device 110 . Accordingly, the sender device 110 can use the cryptographic key 110 L to send data such that only the coordination computer 115 or the interaction processing computer 150 can view the data.
- the receiver device 120 can also have a cryptographic key (which may be different from the sender device's key and unique to the receiver device 120 ).
- the sender device 110 may store information associated with the sender 111 and/or the sender's account.
- the memory 110 E may include the token 110 K.
- the token 110 K may be a surrogate account identifier that can be used in place of the normal account credentials.
- the memory 110 E can also include other account information or personal information, such as account credentials, a name, an address, an email address, a phone number, an alias, or any other suitable sender 111 identification information.
- the receiver device 120 can store information associated with the receiver 121 and/or the receiver's account, such as a receiver token associated with the receiver's account.
- the coordination application 110 J may, in conjunction with the processor 110 A, provide a user interface for the sender 111 to provide input and initiate, facilitate, and manage interactions using the sender device 110 .
- the sender 111 can select a value to transfer, select an account from which to draw the value, and indicate a receiver.
- the sender 111 may input a receiver contact address (e.g., a phone number or email address), input a receiver name or alias, select the receiver 121 from a list of known contacts, or otherwise identify the intended receiver 121 .
- the coordination application 110 J can then send an interaction request with the selected interaction details to the coordination computer 115 .
- the coordination application 110 J can, in conjunction with the processor 110 A, store and/or access the token 110 K, as well as other account credentials and sender information. Accordingly, the coordination application 110 J can send the token 110 K to the coordination computer 115 when initiating an interaction.
- the token 110 K may be stored at a secure element in the sender device 110 .
- the coordination application 110 J can also generate a cryptogram for an interaction.
- cryptogram generation can take place in a secure element or other secure memory of the sender device 110 .
- a secure element can be a tamper-resistant platform (e.g., a one chip secure microcontroller) capable of securely hosting applications, as well as their confidential and cryptographic data.
- the sender device 110 may prompt the sender 111 to provide authentication information before allowing access to the coordination application 110 J, before allowing an interaction to be initiated, before using the token 110 K, before generating a cryptogram, or at any other suitable time.
- user-authentication may be used to gain access to a secure element.
- User authentication can include a PIN, password, bio-authentication inputs (e.g., fingerprint, voice sample, or eye scan), or any other suitable information that can identity an individual.
- the sender cryptogram can be generated using a cryptographic key and any suitable cryptographic algorithm.
- the sender cryptogram can be generated using several pieces of information.
- inputs for generating the sender cryptogram can include transaction details, such as the information about the value being transferred (e.g., a payment amount) and sender account information (e.g., the token 110 K).
- Further inputs can include a nonce (which may be generated at the time of interaction initiation), a random number, a timestamp, counter, and/or any other suitable information.
- the sender cryptogram can be used to verifiably associate additional sender information with the interaction.
- additional inputs for the sender cryptogram can include information about the sender 111 , such as sender contact information (e.g., a phone number or email address), a sender alias, a sender device ID, and/or the sender's digital wallet identifier.
- additional receiver information can be verifiably associated with the interaction through the sender cryptogram.
- additional inputs for the sender cryptogram can include information about the receiver 121 , such as a receiver name or alias, a receiver contact address (e.g., an email address or a phone number), and/or receiver account information (e.g., a receiver token).
- receiver name or alias e.g., an email address or a phone number
- receiver account information e.g., a receiver token.
- Some or all of the sender-identifying information and receiver-identifying can be hashed before being included in the interaction request or being used as cryptogram inputs.
- the sender cryptogram can serve to tie together the different data fields in the interaction request.
- the sender cryptogram can prove that the sender 111 authorized the interaction, as the sender cryptogram may be generated using a cryptographic key and token 110 K in the secure element (which may only be accessed by user-authentication).
- the sender cryptogram can also prove that a certain sender account was chosen for the current interaction.
- the sender cryptogram can prove that the interaction value is intended for a specific receiver, as the sender cryptogram can be generated using the intended receiver's information (e.g., an alias, contact address, token, account number, device identifier, wallet identifier, etc.).
- the receiver device 120 can also take the form of the mobile device shown in FIG. 2 .
- the receiver device 120 can have similar functionality as described above for the sender device 110 .
- the receiver device 120 can also include a cryptographic key (e.g., a symmetric key uniquely for communications between the receiver device 120 and the interaction processing computer 150 ), a token, and a coordination application.
- the coordination application at the receiver device 120 may provide a user interface for receiving a notification about an initiated interaction and accepting the interaction.
- the receiver 121 may be able to select an option for acknowledging and agreeing to the interaction.
- the receiver 121 may also be able to indicate an account for receiving the transfer value.
- the coordination application at the receiver device 120 can also generate a cryptogram.
- This receiver cryptogram can be a second cryptogram for validating the interaction details in addition to the first cryptogram from the sender.
- the receiver cryptogram can be generated using one or more same or different values as the sender cryptogram.
- the receiver cryptogram can be generated using a receiver cryptographic key, the information about the value being transferred (e.g., a payment amount) and receiver account information (e.g., a receiver token).
- Further inputs can include a nonce (which may be generated at the time of interaction initiation), a random number, a timestamp, and/or any other suitable information.
- the receiver cryptogram can be used to verifiably associate additional receiver information with the interaction.
- additional inputs for the cryptogram can include information about the receiver 121 , such as receiver contact information (e.g., a phone number or email address), a receiver device ID, a receiver alias, and/or the receiver's digital wallet identifier.
- additional sender information can be verifiably associated with the interaction through the receiver cryptogram.
- additional inputs for the receiver cryptogram can include information about the sender 111 , such as sender information that was provided via the interaction notification.
- the sender information can include a sender alias, a sender contact address (e.g., an email address or a phone number), and/or sender account information (e.g., a sender token).
- sender-identifying information and receiver-identifying can be hashed before being included in the interaction request or being used as cryptogram inputs.
- the receiver cryptogram can serve to tie together the different data fields in the interaction request, as well as information associated with the receiver's interaction acceptance.
- the receiver cryptogram can prove that the receiver accepted the transfer, as the receiver cryptogram may be generated using a cryptographic key and token in the secure element (e.g., which may only be accessed by user-authentication).
- the receiver cryptogram can also prove that a certain receiving account was chosen for accepting the transfer value.
- the cryptogram can prove that the transfer value was sent by a specific sender, as the cryptogram can be generated using the sender's information (e.g., an alias, contact address, token, account number, device identifier, wallet identifier, etc.).
- the coordination computer 115 can coordinate the initiation of the interaction between the sender 111 and the receiver 121 .
- the coordination computer 115 may be able to obtain information for processing the interaction from both the sender 111 and receiver 121 , and then provide this interaction information to the interaction processing computer 150 for executing the interaction.
- the coordination computer 115 comprises a processor 115 A, a network interface 115 B, a user database 115 C, and a computer readable medium 115 D.
- the computer readable medium 115 D may comprise an interaction processing module 115 E, an information gathering module 115 F, a signing module 115 G, and any other suitable software module.
- the computer readable medium 115 D may also comprise code, executable by the processor 115 A for implementing a method comprising receiving interaction details and a first cryptogram, the interaction details including receiver information, wherein the first cryptogram was generated using the receiver information; sending an interaction confirmation request to a receiver device associated with the receiver information; receiving an interaction confirmation response from the receiver device; and sending, to a second computer, an interaction request including the interaction details and the first cryptogram, wherein the second computer verifies the first cryptogram and coordinates a transfer from a sender to a receiver.
- the interaction processing module 115 E may comprise code that causes the processor 115 A to process interactions.
- the interaction processing module 115 E may contain logic that causes the processor 115 A to identify interaction details received from a sender device 110 and/or a receiver device 120 for an interaction.
- the interaction processing module 115 E may also include instructions for creating an interaction request and sending the interaction request to the interaction processing computer 150 .
- the interaction request can include interaction details, such as information about a sender account and a receiver account, information about an interaction value, contact information for the sender and receiver, and any other suitable information.
- the interaction request can also include one or more cryptograms.
- the information gathering module 115 F may comprise code that causes the processor 115 A to obtain interaction details for an interaction.
- the information gathering module 115 F may contain logic that causes the processor 115 A to contact a receiver device 120 for receiver account information, a receiver cryptogram, and any other suitable information that may be used for interaction processing.
- the instructions may cause the processor 115 A to contact the receiver device 120 after a sender device 110 initiates an interaction and indicates a certain receiver 121 or receiver device 120 .
- the signing module 115 G may comprise code that causes the processor 115 A to create a digital signature for an interaction.
- the signing module 115 G may contain logic that causes the processor 115 A to use a cryptographic key 115 H (e.g., a private key), any suitable cryptographic algorithm, and some or all interaction details to generate a digital signature for the interaction.
- a cryptographic key 115 H e.g., a private key
- the coordination computer 115 may be able to verify cryptograms received from the sender device 110 and/or receiver device 120 . Instructions and additional keys for this verification can be included in the signing module 115 G, or in a separate validation module.
- the user database 115 C may store information about one or more senders and receivers.
- the user database 115 C may associate a user's alias with certain contact information.
- the receiver 121 may be associated with a certain alias (e.g., the title “Wally72”).
- the sender 111 can indicate a desire to send a value to this alias, and the coordination computer 115 can identify the alias in the user database 115 C. Then the coordination computer 115 can determine contact information (e.g., a phone number or email address) associated with this alias in the user database 115 C, such that the coordination computer 115 can contact the receiver device 120 to obtain additional interaction details.
- contact information e.g., a phone number or email address
- the user database 115 C may store account information about one or more senders and receivers.
- the user database 115 C may store a sender token and/or a receiver token.
- the coordination computer can identify their tokens in the user database 115 C (e.g., based on an alias, a device identifier, a wallet identifier, or other user-identifying information).
- the coordination computer 115 can be a digital wallet computer.
- a digital wallet computer can store information about user payment accounts, as well as coordinate monetary transfers.
- the coordination applications at the sender device 110 and receiver device 120 can be digital wallet applications through which senders and receivers can initiate payment transactions.
- the coordination applications at the sender device 110 and receiver device 120 can send interaction details directly to the interaction processing computer 150 .
- the interaction processing computer 150 or the sender device 110 can gather interaction details in place of the coordination computer 115 .
- the coordination computer 115 can be removed from the system 100 .
- the interaction processing computer 150 may be disposed between the sending institution computer 160 and the receiving institution computer 130 .
- the interaction processing computer 150 may include data processing subsystems, networks, and operations used to support and deliver authorization services, exception file services, and clearing and settlement services.
- the interaction processing computer 150 may comprise a server coupled to a network interface (e.g., by an external communication interface), and databases of information.
- the interaction processing computer 150 may be a transaction processing computer.
- a the transaction processing computer may be representative of a transaction processing network.
- An exemplary transaction processing network may include VisaNetTM.
- Transaction processing networks such as VisaNetTM are able to process credit card transactions, debit card transactions, and other types of commercial transactions.
- VisaNetTM in particular, includes a VIP system (Visa Integrated Payments system) which processes authorization requests and a Base II system which performs clearing and settlement services.
- the interaction processing computer 150 may use any suitable wired or wireless network, including the Internet.
- the interaction processing computer 150 comprises a processor 150 A, a network interface 150 B, a token database 150 C, a cryptographic key database 150 J, and a computer readable medium 150 D.
- the computer readable medium 150 D may comprise interaction processing module 150 E, a validation module 150 F, a risk processing module 150 G, a tokenization module 150 H, and any other suitable software module.
- the computer readable medium 150 D may also comprise code, executable by the processor 150 A for implementing a method comprising receiving an interaction request including interaction details and a first cryptogram, the interaction details including receiver information, wherein the first cryptogram was generated using the receiver information; verifying the first cryptogram; and coordinating a transfer from a sender to a receiver.
- the token database 150 C may include information about one or more tokens.
- the token database 150 C can have a token records that indicate how different tokens are associated with different sets of payment credentials or other account identifiers.
- a token record may include additional information about a user or account associated with a token.
- a token may be associated with a certain contact address (e.g., phone number or email address), alias, device identifier, institution, or any other suitable information. Some or all of this information may be hashed in the token record.
- token records can instead be stored at a third party token database, or at any other suitable location.
- the cryptographic key database 150 J may include information about one or more cryptographic keys.
- the cryptographic key database 150 J can include cryptographic keys associated one or more user devices, secure elements, digital wallets, coordination computers, and/or any other suitable entities.
- the cryptographic key database 150 J can include a first key 150 K associated with the sender device 110 .
- the first key 150 K can be a symmetric key that is only shared with the sender device 110 .
- the cryptographic key database 150 J can include a second key 150 L associated with the receiver device 120 .
- the second key 150 L can be a symmetric key that is only shared with the receiver device 110 .
- the cryptographic key database 150 J can include a third key 150 M associated with the coordination computer 115 .
- the third key 150 M can be a public key that corresponds to a private key at the coordination computer 115 .
- the cryptographic key database 150 J can include information associated with each key for identifying the key when appropriate.
- the cryptographic key database 150 J can store information about the sender device 110 and/or receiver device 120 , such as device identifiers, digital wallet identifiers, contact addresses, tokens, names, aliases, or any other suitable information for recognizing a user and/or device. Some or all of this information may be hashed in the key record.
- key records can instead be stored at a third party key database, or at any other suitable location.
- the interaction processing module 150 E may comprise code that causes the processor 150 A to process interactions.
- the interaction processing module 150 E may contain logic that causes the processor 150 A to receive an interaction request and orchestrate a transfer of value from a sender account to a receiver account based on the interaction request.
- the interaction processing module 150 E may include instructions for orchestrating a transaction by sending an AFT (“account funding transaction”) message to the sending institution computer 160 and an OCT (“original credit transaction”) message to the receiving institution computer 130 .
- the validation module 150 F may comprise code that causes the processor 150 A to validate an interaction request.
- the validation module 150 F may contain logic that causes the processor 150 A to verify one or more cryptograms associated with an interaction, such as a sender cryptogram and/or a receiver cryptogram.
- the validation module 150 F may also include instructions for verifying a digital signature from the coordination computer 115 .
- the validation module 150 F may include any suitable cryptographic algorithms in embodiments of the invention. Suitable data cryptographic algorithms may include DES, triple DES, AES, etc. It may also store or access (e.g., at the cryptographic key database 150 J) cryptographic keys that can be used with cryptographic algorithms. Symmetric and/or asymmetric encryption techniques can be used.
- a sender cryptogram can be verified by recreating the sender cryptogram using some or all of the interaction details (e.g., the same types of information used at the sender device 110 to create the sender cryptogram), a cryptographic key associated with the sender device 110 (e.g., the first key 150 K), and any suitable cryptographic algorithm (e.g., the same algorithm used at the sender device 110 to create the sender cryptogram). If the recreated cryptogram matches the received cryptogram, the sender cryptogram can be consider verified, and the interaction details thereby validated. In alternative embodiments, the sender cryptogram can be verified by decrypting the sender cryptogram using a cryptographic key associated with the sender device 110 (e.g., the first key 150 K).
- the decrypted information can then be compared with the received interaction details, and if there is a match, the sender cryptogram can be consider verified, and the interaction details thereby validated. Similar verification methods and a cryptographic key associated with the receiver device 120 (e.g., the second key 150 L) can be used to verify the receiver cryptogram.
- the digital signature from the coordination computer 115 can be verified using a cryptographic key associated with the coordination computer 115 (e.g., the third key 150 M) and any suitable verification algorithm.
- the sender cryptogram and/or receiver cryptogram can instead be digital signatures.
- the coordination computer's digital signature can instead be a cryptogram.
- appropriate types of cryptographic keys and verification methods can be used, as described above for cryptograms and digital signatures.
- the sender cryptogram and/or receiver cryptogram are instead digital signatures
- the sender device 110 and/or receiver device 120 can store private keys instead of symmetric keys
- the interaction processing computer 150 can store corresponding public keys.
- both a sender cryptogram and a receiver cryptogram can be generated based on both sender-identifying information and receiver-identifying information. Accordingly, both the cryptograms may indicate that the interaction is between a certain sender 111 and receiver 121 . If both cryptograms are verified as being associated with the same sender and receiver, the interaction processing computer 150 can be confident that both the sender 111 and receiver 121 agreed to the same interaction, and no details have been fraudulently changed during interaction-related messaging.
- the validation module 150 F may further include instructions that cause the processor 150 A to validate that the sender token and receiver token are being used appropriately.
- the instructions may include checking that an interaction request involving a certain token is also accompanied by a certain contact address (e.g., phone number or email address), alias, and/or device identifier associated with that token, as indicated by token records in the token database 150 C.
- the risk processing module 150 G may comprise code that causes the processor 150 A to analyze interaction risk.
- the risk processing module 150 G may contain logic that causes the processor 150 A to analyze interaction velocity, value or amount thresholds, and other possible risk indicators.
- a risk score can be created and used to evaluate whether or not to authorize a transaction.
- the tokenization module 150 H may comprise code that causes the processor 150 A to tokenize and de-tokenize account identifiers.
- the tokenization module 150 H may contain logic that causes the processor 150 A to receive a token, identify a matching stored token, determine an account identifier or other payment credentials associated with the matching stored token, and then provide or utilize the account identifier.
- the sending institution computer 160 may be associated with a sending institution, which may be an entity that sends a value.
- the sent value may be withdrawn from a sender's account.
- An example of a sending institution may be an issuer, which may typically refer to a business entity (e.g., a bank) that maintains an account for a user (e.g., the sender).
- An issuer may also issue and manage an account (e.g., a payment account) associated with the sender device 110 .
- the receiving institution computer 130 may be associated with a receiving institution, which may be an entity that can receive a value. The received value can be credited to a receiver's account.
- a receiving institution may be an acquirer, which may typically be a business entity (e.g., a commercial bank) that has a business relationship with a particular receiver (e.g., a merchant) or other entity.
- the receiving institution computer 130 can also be an issuer in some embodiments.
- the transport computer 140 may be an intermediary institution or account. In some embodiments, an interaction value transferred from the sending institution computer 160 may first go to the transport computer 140 . Then, the value can be transferred from the transport computer 140 to the receiving institution computer 130 . In some embodiments, the transport computer 140 can be an acquirer or acquirer processor.
- the interaction processing computer 150 , sending institution computer 160 , the receiving institution computer 130 , and the transport computer 140 may operate suitable routing tables to route authorization request messages and/or authorization response messages using payment credentials, merchant identifiers, or other account identifiers.
- a method 500 according to embodiments of the invention can be described with respect to FIG. 5 . Some elements in other Figures are also referred to. The steps shown in the method 500 may be performed sequentially or in any suitable order in embodiments of the invention. In some embodiments, one or more of the steps may be optional.
- a request or response may be in an electronic message format, such as an e-mail, a short messaging service (SMS) message, a multimedia messaging service (MMS) message, a hypertext transfer protocol (HTTP) request message, a transmission control protocol (TCP) packet, a web form submission.
- SMS short messaging service
- MMS multimedia messaging service
- HTTP hypertext transfer protocol
- TCP transmission control protocol
- the request or response may be directed to any suitable location, such as an e-mail address, a telephone number, an internet protocol (IP) address, or a uniform resource locator (URL).
- IP internet protocol
- URL uniform resource locator
- a request or response may comprise a mix of different message types, such as both email and SMS messages.
- the following method describes a transaction for transferring monetary funds from a first party to a second party.
- embodiments allow any suitable sort of interaction to take place, and embodiments allow a first party to transfer any suitable type of value to a second party during.
- secure data, access credentials, event tickets, login codes and passwords, monetary funds, and any other suitable data, value, or object can change possession by moving from a first account to a second account.
- one or more cryptographic keys may be distributed.
- the interaction processing computer 550 may provide a first key (e.g., a symmetric key) to the sender device 510 .
- the sender device 510 may store the first key (e.g., in a secure element), and the interaction processing computer 550 may also store a copy of the first key.
- this key may be provided along with a token during a token provisioning and/or application personalization process.
- the interaction processing computer 550 may provide a second key (e.g., a symmetric key) to the receiver device 520 .
- the receiver device 520 may store the second key (e.g., in a secure element), and the interaction processing computer 550 may also store a copy of the second key.
- this key may be provided along with a token during a token provisioning and/or application personalization process.
- the interaction processing computer 550 may receive a third key (e.g., a public key) from the coordination computer 515 .
- the third key may be a public key that corresponds to a private key at the coordination computer 515 .
- the interaction processing computer 550 may store the third key.
- a first party may desire to send a payment to a second party (referred to as a receiver).
- the sender may intend to pay the receiver for one or more goods or services, or to send a gift.
- the sender may activate a coordination application (which may be a digital wallet application) on the sender device 510 .
- a coordination application which may be a digital wallet application
- the sender may provide authentication information. For example, the sender may enter a PIN or password, or provide bio-authentication information such as a fingerprint or eye scan.
- the sender may select an option for sending a payment.
- the sender may also provide information about the payment, such as a payment amount and a sender account from which to draw the funds.
- the sender can select an account associated with the sender's digital wallet, or provide information for a new account.
- a default account can be automatically selected and used (e.g., based on the sender's digital wallet or device identifier).
- the sender may also provide information identifying the receiver and/or a receiver account. For example, the sender can input a receiver name or alias, receiver contact information (e.g., an email address or a phone number), or a receiver token.
- receiver name or alias e.g., an email address or a phone number
- receiver contact information e.g., an email address or a phone number
- the sender device 510 may obtain a payment token associated with the selected account for the transaction. For example, the sender device 510 may retrieve a payment token stored in a secure element of the sender device 510 (which may involve additional user-authentication). Alternatively, the sender device 510 may request (e.g., over-the-air) a payment token from a token provider computer.
- the sender device 510 may generate a cryptogram for the payment.
- the cryptogram can be generated using a cryptographic key (e.g., a symmetric key), any suitable cryptographic algorithm, and one or more transaction-related details.
- inputs for generating the cryptogram can include the payment amount, the sender payment token, a nonce (which may be generated at the time of transaction initiation), a random number, a timestamp, a counter, and/or any other suitable information.
- Further inputs for the cryptogram can include information about the sender, such as the sender's digital wallet identifier, a sender device ID, a sender name or alias, and/or sender contact information (e.g., a phone number or email address).
- the cryptogram can further be generated using information about the receiver, such as a receiver name or alias, a receiver contact address (e.g., an email address or a phone number), and/or a receiver account identifier (e.g., a receiver token). Some or all of the user-identifying information can be hashed before being used as cryptogram inputs or otherwise included in the payment request.
- the coordination application may cause the sender device 510 to send a payment instruction and associated cryptogram to the coordination computer 515 (which may be a computer that provides digital wallet services).
- the payment instruction can include the sender token, the amount, the receiver-identifying information (e.g., an alias, contact information, a token, a wallet identifier, or a device identifier), and/or any other suitable information. Some or all of this information may be included as plain text. In some embodiments, the payment instruction can include additional information for verifying the cryptogram.
- the payment instruction can include the timestamp, the nonce, the random number, as well as information about the sender such as the sender's digital wallet identifier, a sender device ID, and/or sender contact information (e.g., a phone number or email address), some or all of which can be hashed.
- the coordination computer 515 can notify the receiver that a payment was initiated.
- the coordination computer 515 may identify information indicated in the payment instruction for contacting the receiver, such as a receiver phone number, email address, or digital wallet identifier.
- the coordination computer 515 may then send a transaction confirmation request to the receiver device 520 (e.g., via SMS message, email, wallet notification, etc.).
- the request may indicate the amount being transferred and information about the sender (e.g., a name, alias, phone number, etc.).
- the request may prompt the receiver device 520 to acknowledge acceptance of the transaction and to provide account information for receiving the transfer value.
- the receiver may activate a coordination application on the receiver device 520 and review the payment notification.
- the receiver may affirm that the payment should be accepted (e.g., by selecting an “accept” option).
- the receiver may be prompted to self-authenticate.
- the receiver may then proceed to enter a PIN or password, or provide bio-authentication information such as a fingerprint or eye scan.
- the receiver may also provide information about an account that can be used for depositing the transfer value.
- the receiver may select an account that is already associated with the receiver device 520 or digital wallet. Alternatively, the receiver can input a new account information.
- the receiver device 520 may obtain a payment token associated with the selected account. For example, the receiver device 520 may retrieve a payment token stored in a secure element of the receiver device 520 . Alternatively, the receiver device 520 may request (e.g., over-the-air) a payment token from a token provider computer. In other embodiments, the real payment credential (e.g., which the payment token represents) can be obtained.
- the receiver device 520 may generate a cryptogram for the payment (e.g., at the secure element).
- the cryptogram can be generated using a cryptographic key (e.g., a symmetric key), any suitable cryptographic algorithm and one or more transaction-related details.
- inputs for generating the cryptogram can include the receiver's payment token (or other account information), the payment amount, a nonce, a random number, a timestamp, and/or any other suitable information.
- the cryptogram can further be generated using information about the receiver, such as a receiver alias, a receiver contact address (e.g., an email address or a phone number), a wallet identifier, or a device identifier.
- Additional inputs for the cryptogram can include information about the sender, such as any sender information that was sent to the receiver device 520 by the digital wallet computer 515 .
- This can include the sender's payment token, the sender's digital wallet identifier, a sender device ID, a sender alias, and/or sender contact information (e.g., a phone number or email address).
- the coordination application may cause the receiver device 520 to send a transaction confirmation response and the cryptogram to the coordination computer 515 .
- the transaction confirmation response can include the receiver token, the amount, information identifying the receiver (e.g., an alias, contact information, a token, a wallet identifier, or a device identifier), information identifying the sender, and/or any other suitable information. In some embodiments, some or all of this information may be included as plain text. In some embodiments, some or all of the sender-identifying information and receiver-identifying information can be hashed before being included in the payment instruction or being used as cryptogram inputs.
- the payment instruction can include additional information for verifying the cryptogram. For example, the payment instruction can include the timestamp, the nonce, and/or a random number.
- the coordination computer 515 may now have a sender payment token, a receiver payment token, and an amount.
- the coordination computer 515 may also have information for validating the transaction details, such as a sender cryptogram, a receiver cryptogram, various identification information, and other transaction-associated data. Accordingly, the coordination computer 515 may have the necessary information for instructing the transfer.
- the coordination computer 515 may create a digital signature based on some or all of the information (or a hash of the information) received from the sender device 510 and receiver device 520 .
- the digital signature may be generated using a coordination computer cryptographic key (e.g., a private key) and any suitable cryptographic algorithm.
- the coordination computer 515 may send the transfer instruction to the interaction processing computer 550 .
- the instruction can include some or all of the data received from the sender device 510 and receiver device 520 , as well as the digital signature.
- the transfer instruction can include transaction details in plain text, and the cryptograms and digital signature as cipher text.
- the interaction processing computer 550 may validate that the information received from the coordination computer 515 is legitimate and was not altered by verifying the digital signature.
- the interaction processing computer 550 may determine a cryptographic key associated with the coordination computer 515 (e.g., based on a coordination computer identifier). For example, the interaction processing computer 550 may identify a third key (e.g., a public key that is associated with the coordination computer 515 ). The interaction processing computer 550 may the use the third key and any suitable verification algorithm to verify the digital signature.
- the interaction processing computer 550 may also verify the sender cryptogram. For example, the interaction processing computer 550 may determine a cryptographic key associated with the sender device 510 (e.g., based on a sender information included in the transaction details). The interaction processing computer 550 may identify a first key (e.g., a symmetric key that is associated with the sender device 510 ), and may use this first key, some or all of the received transaction details, and any suitable cryptographic algorithm to verify the sender cryptogram. For example, the interaction processing computer 550 may use the first key and the received transaction details to recreate the cryptogram. If the second, recreated cryptogram matches the first, received cryptogram, the received cryptogram can be considered verified.
- a first key e.g., a symmetric key that is associated with the sender device 510
- the interaction processing computer 550 may use the first key and the received transaction details to recreate the cryptogram. If the second, recreated cryptogram matches the first, received cryptogram, the received cryptogram can be considered verified.
- the interaction processing computer 550 can decrypt the cryptogram (e.g., reverse the cryptographic algorithm used to generate the cryptogram) using the first key and determine whether transaction details from the decrypted cryptogram match the received transaction details. As a result, the interaction processing computer 550 can confirm that the sender legitimately requested the transaction, and that the received transaction details are the same transaction details specified by the sender.
- decrypt the cryptogram e.g., reverse the cryptographic algorithm used to generate the cryptogram
- the interaction processing computer 550 may verify the receiver cryptogram. For example, the interaction processing computer 550 may determine a cryptographic key associated with the receiver device 520 (e.g., based on a receiver information included in the transaction details). The interaction processing computer 550 may identify a second key (e.g., a symmetric key that is associated with the receiver device 520 ), and may use this second key, some or all of the received transaction details, and any suitable cryptographic algorithm to verify the receiver cryptogram. For example, the interaction processing computer 550 may use the second key and the received transaction details to recreate the cryptogram. If the second, recreated cryptogram matches the first, received cryptogram, the received cryptogram can be considered verified.
- a second key e.g., a symmetric key that is associated with the receiver device 520
- the interaction processing computer 550 can decrypt the cryptogram (e.g., reverse the cryptographic algorithm used to generate the cryptogram) using the second key and determine whether transaction details from the decrypted cryptogram match the received transaction details. As a result, the interaction processing computer 550 can confirm that the receiver legitimately agreed to the transaction, and that the received transaction details are the same transaction details seen by the receiver.
- decrypt the cryptogram e.g., reverse the cryptographic algorithm used to generate the cryptogram
- the interaction processing computer 550 may also perform screening and velocity checks, and any other suitable type of transaction risk analysis. For example, in some embodiments, the interaction processing computer 550 may validate that the transaction request includes other information associated with the sender token and/or receiver token, as indicated by records in a token database. For example, the interaction processing computer 550 may validate that transaction details include a contact address, device identifier, or other suitable information that matches a token database record.
- the interaction processing computer 550 may authorize the transaction, seek authorization from another entity, and/or otherwise proceed with transaction processing. In some embodiments, if one or more of the validations fail, the transaction may be rejected.
- the interaction processing computer 550 may de-tokenize the sender's payment token and/or the receiver's payment token.
- the interaction processing computer 550 can identify a set of sender payment credentials (e.g., a payment account number) associated with the sender's payment token.
- the interaction processing computer 550 can similarly obtain a set of receiver payment credentials associated with the receiver's payment token.
- the interaction processing computer 550 may coordinate the transfer of funds from the sender's account at the sending institution computer 560 to the receiver's account at the receiving instituting computer 530 .
- the interaction processing computer 550 can send a message to the sending institution computer 560 informing the sending institution computer 560 about the transfer.
- the interaction processing computer 550 may provide information about the transfer amount, the sender account, the receiver account and bank, and any other suitable information.
- the interaction processing computer 550 may use an AFT (“account funding transaction”) message to instruct the sending institution computer 560 to authorize the transfer, hold the funds, and/or transmit the funds.
- AFT account funding transaction
- the sending institution computer 560 may authorize the transaction, put a hold on the transfer funds, and/or transmit the transfer funds.
- the sending institution computer 560 may check that the sender's account has sufficient funds and perform other suitable risk processing activities. Then, the sender's account may be debited, and the transfer amount may be moved to a holding account or an intermediary bank such as a transport computer.
- the sending institution computer 560 may inform the interaction processing computer 550 that the transfer was authorized, and that the funds have been moved or otherwise reserved for the transfer.
- the interaction processing computer 550 can send a message to the receiving institution computer 530 informing the receiving institution computer 530 about the transfer.
- the interaction processing computer 550 may provide information about the transfer amount, the sender's bank, the receiver's account, and any other suitable information.
- the interaction processing computer 550 may also inform the receiving institution computer 530 that the transfer was already authorized at the sending institution computer 560 , such that the funds are guaranteed.
- the interaction processing computer 550 may use an OCT (“original credit transaction”) message to instruct the receiving institution computer 530 to credit the funds to the receiver's account.
- OCT original credit transaction
- the receiving institution computer 530 may credit the transfer value to the receiver's account. As a result, the transferred funds may become available to the receiver.
- the receiving institution computer 530 may also perform any suitable risk processing activities.
- the receiving institution computer 530 may inform the interaction processing computer 550 that the receiver's account was successfully credited.
- the interaction processing computer 550 may coordinate a settlement and clearing process between the sending institution computer 560 , the receiving institution computer 530 , and/or the transport computer.
- the interaction processing computer 550 can then proceed to inform the coordination computer 515 that the transfer was successfully executed. Then, at step S 538 , the coordination computer 515 can notify the sender that the transfer was completed (e.g., by sending a message to a coordination application on the sender device 510 ). Additionally, at step S 540 , the coordination computer 515 can notify the receiver that the transfer was completed (e.g., by sending a message to a coordination application on the receiver device 520 ). In other embodiments, the sender and receiver can be notified directly by the interaction processing computer 550 , the sending institution computer 560 , and/or the receiving institution computer 530 .
- the coordination computer 515 may locally store a sender payment token and/or a receiver payment token.
- the sender and/or receiver may have an account (e.g., a digital wallet account) at the coordination computer 515 , such that account information may not need be provided for each transaction.
- the coordination computer 515 can identify and utilize a payment token (or other account information) for each transaction based on sender and/or receiver identification information (e.g., an alias, phone number, device ID, wallet ID, etc.).
- the default receiver token can be automatically used, and the receiver device 520 may not be contacted for transaction acceptance.
- the coordination computer 515 can verify cryptograms generated at the sender device and/or receiver device. In this scenario, the coordination computer 515 may have access to one or more keys associated with one or more devices. Additionally, in some embodiments, the sender cryptogram and/or the receiver cryptogram can instead be generated by the coordination computer 115 . For example, the coordination computer may generate a sender cryptogram using a sender-associated cryptographic key, a sender token, and/or any other suitable information.
- the functions performed by the coordination computer 515 can instead be performed by the interaction processing computer 550 , and the coordination computer 515 can be removed from the system.
- the sender cryptogram can be generated using receiver-associated information, such as a receiver alias or contact address.
- the sender cryptogram can be generated using the receiver's account information, such as a token or payment account number.
- the sender may input (e.g., manually type) the receiver's token when initiating the transaction, and the sender device may then have access to the receiver's token for generating the cryptogram.
- different cryptograms may be generated for different transaction processing networks.
- a sender device may generate two cryptograms, a first cryptogram generated using a first key associated with a first transaction processing network, and a second cryptogram generated using a second key associated with a second transaction processing network.
- the cryptograms can be generated without network-specific inputs.
- sender and/or receiver associated information inputs can be an alias, contact address, or account identifier instead of a token.
- the transaction can be validated (e.g., using either the first or second cryptogram) regardless of whether the transaction is processed at the first or second network.
- a receiver can select a receiving account, an amount, and a sender (e.g., using an alias, contact address, etc.). Then the coordination computer 515 can send a transaction confirmation request to the sender device 510 . Accordingly, the sender can receive a request for a payment, and decide whether or not to approve of sending the payment. If approving, the sender can select a sending account. The method can proceed similarly as described above with respect to FIG. 5 , with the receiver instead providing the initial information, and the sender accepting or rejecting the proposed transaction.
- the interaction processing computer 550 can orchestrate the transfer of value from the sender's account at the sending institution computer 560 to the receiver's account at the receiving institution computer 530 .
- steps S 524 -S 528 can take place directly after step S 506 .
- the coordination computer 515 and/or interaction processing computer 550 can inform the sending institution computer 560 about the transfer (e.g., by sending an AFT). As a result, the funds can be held, transferred, or otherwise obtained and ready at an earlier time.
- the funds can be sent to the receiving institution computer 530 (e.g., steps S 530 -S 534 can take place).
- the receiver does not accept the transfer within a certain timeframe, the transaction can be cancelled and funds returned to the sender's account.
- the funds can initially be transferred from the sending institution computer 560 to an intermediary holding account at an intermediary bank (such as the transport computer in FIG. 1 ). Then, the funds can be transferred from the intermediary bank to the receiving institution computer 530 .
- an intermediary bank such as the transport computer in FIG. 1
- one or more holding accounts can be used at the sending institution computer 560 or the receiving institution computer 530 .
- the funds can be debited from the sender's account and then moved to a holding account at the sending institution computer 560 .
- the receiving institution computer 530 approves, the funds can be transferred to the receiving institution computer 530 .
- the funds can be credited directly to the receiver's account, or they can first be received at another holding account at the receiving institution computer 530 .
- Embodiments of the invention have a number of advantages.
- interaction security can be improved.
- One method for improving interaction security is generating a cryptogram that can validate a number of interaction details.
- a sender cryptogram can be generated using a first cryptographic key and interaction details such as a sender token and a receiver alias (or other identifying information).
- This cryptogram can be verified by an interaction processing computer (or other suitable entity) using a corresponding cryptographic key and received interaction details.
- Successful cryptogram verification can indicate that the sender legitimately requested the interaction, as a secure element is not accessible (e.g., for accessing a payment token and generating an authentic cryptogram) unless the sender is authenticated at the sender device.
- the verification can also validate that the received interaction details are the same as the interaction details originally specified by the sender, and thus they have not been changed in transit (e.g., by a man-in-the-middle attack).
- Any interaction details used to generate the original cryptogram can be validated. For example, information about the sender (e.g., an alias, a token, an account, etc.), information about the receiver (e.g., an alias, a token, an account, etc.), an interaction value, and/or any other suitable information can be validated.
- the sender cryptogram can also be generated using one-time values (e.g., a nonce, a timestamp, counter, etc.), and thereby be used to validate that the an interaction request is unique (e.g., it is a not a replay attack).
- one-time values e.g., a nonce, a timestamp, counter, etc.
- Embodiments of the invention can further improve interaction security by introducing a receiver cryptogram.
- a receiver cryptogram can be generated using similar interaction details as a sender cryptogram.
- a receiver cryptogram can have more specific receiver-associated information, such as a receiver token or account identifier.
- a receiver cryptogram can be generated using a receiver-associated cryptographic key. Accordingly, verifying a receiver cryptogram can indicate that the correct receiver legitimately accepted and approved of the interaction, as a secure element is not accessible (e.g., for accessing a payment token and generating an authentic cryptogram) unless the receiver is authenticated at the receiver device. The verification can also confirm that a receiver token (or other account information) in the interaction details has not been changed (e.g., by a man-in-the-middle attack).
- Embodiments of the invention can further advantageously utilize multiple cryptograms together.
- both a sender cryptogram and receiver cryptogram can be generated and verified for the same interaction. Both cryptograms can be generated and verified using the same or similar interaction details.
- an interaction processing computer can validate that both the sender and receiver agreed to the same interaction details, even though they conducted the interaction remotely via their respective devices.
- the sender and receiver have viewed the interaction details in different locations (e.g., physically separate regions) and at different times (e.g., the sender first initiates the interaction, and the receiver views and accepts the interaction at a later time).
- Cryptograms with agreeing interaction details can validate that the interaction details were not changed when transmitted between the sender device and the interaction processing computer, between the sender device and the receiver device, or between the receiver device and the interaction processing computer.
- Embodiments of the invention can also improve interaction security by digitally signing the interaction details.
- a coordination computer that assembles interaction details received from the sender device and receiver device can create a digital signature based on the interaction details and a cryptographic key.
- An interaction processing computer that receives the interaction details in an interaction request from the coordination computer can then verify the digital signature using a corresponding cryptographic key. Accordingly, the interaction processing computer can be further confident that the interaction has not been altered since transmission from the coordination computer.
- Embodiments of the invention advantageously allow interactions to take place without requiring that a coordination computer (e.g., a digital wallet computer) store and maintain tokens or other account information associated with the sender or receiver. This improves operational efficiency and reduces security risk at the coordination computer.
- Embodiments allow tokens to instead by managed at the sender device and receiver device. For example, a token can be retrieved from a secure memory at the sender device when an interaction is being conducted. The token can be sent along with an interaction request, but need not be stored by the coordination computer. Similarly, a receiver device can provide a token (or other account information) when prompted.
- Subsystems in the computer system are interconnected via a system bus. Additional subsystems include a printer, a keyboard, a fixed disk, and a monitor which can be coupled to a display adapter. Peripherals and input/output (I/O) devices, which can couple to an I/O controller, can be connected to the computer system by any number of means known in the art, such as a serial port. For example, a serial port or external interface can be used to connect the computer apparatus to a wide area network such as the Internet, a mouse input device, or a scanner.
- the interconnection via system bus allows the central processor to communicate with each subsystem and to control the execution of instructions from system memory or the fixed disk, as well as the exchange of information between subsystems.
- the system memory and/or the fixed disk may embody a computer-readable medium.
- the inventive service may involve implementing one or more functions, processes, operations or method steps.
- the functions, processes, operations or method steps may be implemented as a result of the execution of a set of instructions or software code by a suitably-programmed computing device, microprocessor, data processor, or the like.
- the set of instructions or software code may be stored in a memory or other form of data storage element which is accessed by the computing device, microprocessor, etc.
- the functions, processes, operations or method steps may be implemented by firmware or a dedicated processor, integrated circuit, etc.
- any of the software components or functions described in this application may be implemented as software code to be executed by a processor using any suitable computer language such as, for example, Java, C++ or Perl using, for example, conventional or object-oriented techniques.
- the software code may be stored as a series of instructions, or commands on a computer-readable medium, such as a random access memory (RAM), a read-only memory (ROM), a magnetic medium such as a hard-drive or a floppy disk, or an optical medium such as a CD-ROM.
- RAM random access memory
- ROM read-only memory
- magnetic medium such as a hard-drive or a floppy disk
- an optical medium such as a CD-ROM.
- Any such computer-readable medium may reside on or within a single computational apparatus, and may be present on or within different computational apparatuses within a system or network.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
- Treatment And Processing Of Natural Fur Or Leather (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
- This application is a non-provisional application of and claims the benefit of the filing date of U.S. Provisional Application No. 62/308,788, filed on Mar. 15, 2016, which is herein incorporated by reference in its entirety for all purposes.
- Peer-to-peer transactions allow individuals to directly exchange information and value. Peer-to-peer transactions can be enabled by intermediary applications, such as a digital wallet provider.
- For example, Alice can activate a digital wallet application on her mobile device and activate a peer-to-peer transaction function. Alice inputs her account credentials, and indicates that she would like to send a payment to Bob by inputting Bob's phone number. When Alice submits the transaction, Alice's mobile device sends her credentials to the digital wallet provider, along with the transaction amount and Bob's phone number. The digital wallet provider then contacts Bob at his mobile device, asking for his credentials. Bob inputs his credentials, and his mobile device sends his credentials back to the digital wallet provider. Having obtained both Alice's credentials and Bob's credentials, the digital wallet provider can cause the transaction to take place, such that the payment value is transferred from Alice's account to Bob's account.
- While peer-to-peer transactions enable individuals to send value to one another, peer-to-peer transactions create a number of security issues. For example, a fraudster can execute a man-in-the-middle attack by intercepting a transaction message, changing some of the information, and then forwarding along the change transaction message.
- As an example, the fraudster can intercept Alice's message to the digital wallet provider. The fraudster can change the message so that Bob is no longer indicated as the transaction recipient, and instead the fraudster is the recipient (e.g., by changing Bob's phone number to the fraudster's phone number). As a result, the digital wallet provider contacts the fraudster at his mobile device (instead of Bob), and the fraudster inputs his own account credentials. Then, the payment is sent to the fraudster instead of Bob.
- As another example, the fraudster can intercept Bob's message to the digital wallet provider. The fraudster can change the message so that Bob's credentials are no longer listed, and instead the fraudster's credentials are listed. Again, the payment is sent to the fraudster instead of Bob.
- Embodiments of the invention address these and other problems individually and collectively.
- Embodiments of the invention are directed to processing an interaction between a first party and a second party. The first party may provide account information as well as a cryptogram for verifying the first party is legitimately participating. The second party may agree to the interaction, and the second party may also provide account information and a cryptogram for verifying the second party is legitimately participating. A coordination computer may aggregate the first party and second party information, create a digital signature, and send the information to an interaction processing computer. The interaction processing computer can then verify the first party cryptogram, the second party cryptogram, and the digital signature, thereby validate that each entity agreed to the interaction and interaction details have not been altered.
- Embodiments of the invention further allow a cryptogram to be generated using information about both the first party and the second party. As a result, both the first party account and the second party account can be validated through a single cryptogram.
- One embodiment of the invention is directed to a method. The method comprises receiving, by a server computer, an interaction request including interaction details and a first cryptogram. The interaction details include receiver information, and the first cryptogram was generated using the receiver information. The method also includes verifying the first cryptogram. The method further comprises coordinating a transfer from a sender to a receiver.
- Another embodiment of the invention is directed to a server computer configured to perform the above-described method. In some embodiments, the server computer can be an interaction processing computer.
- Another embodiment of the invention is directed to a method comprising receiving, by a first computer, interaction details and a first cryptogram. The interaction details include receiver information, and the first cryptogram was generated using the receiver information. The method also includes sending an interaction confirmation request to a receiver device associated with the receiver information, and receiving an interaction confirmation response from the receiver device. The method further comprises sending an interaction request including the interaction details and the first cryptogram to a second computer. The second computer verifies the first cryptogram and coordinates a transfer from a sender to a receiver.
- Another embodiment of the invention is directed to a first computer configured to perform the above-described method. In some embodiments, the first computer can be a coordination computer.
- Further details regarding embodiments of the invention can be found in the Detailed Description and the Figures.
-
FIG. 1 shows a block diagram of a system according to an embodiment of the invention. -
FIG. 2 shows a block diagram of an exemplary mobile device according to an embodiment of the invention. -
FIG. 3 shows a block diagram of a coordination computer according to an embodiment of the invention. -
FIG. 4 shows a block diagram of an interaction processing computer according to an embodiment of the invention. -
FIG. 5 shows a flow diagram illustrating a method for processing an interaction, according to embodiments of the invention. - Embodiments of the present invention are directed preventing man-in-the-middle attacks, replay attacks, and other fraudulent interactions. Embodiments can prevent these fraudulent interactions by validating the authenticity of an interaction and interaction parameters. A first party (e.g., a “sender”) can initiate, via a first device (e.g., a “sender device”), an interaction for sending value to a second party (referred to as a “receiver”). The sender can initiate an interaction by selecting a value to send, selecting an account from which to obtain the value, and by indicating a receiver for receiving the value. The sender device can then generate a cryptogram for the interaction. The cryptogram can be generated using a sender-associated cryptographic key, information identifying the sender, and information identifying the receiver.
- When the interaction request is sent to an interaction processing computer, the interaction processing computer can verify that the cryptogram is authentic using a corresponding cryptographic key, sender-identifying information included in the interaction details, and receiver-identifying information included in the interaction details. If the cryptogram is successfully verified, the interaction processing computer validates that the sender legitimately requested the interaction, and that the information about the sender and receiver in the interaction details has not been altered (e.g., by a man-in-the-middle attack).
- Accordingly, the cryptogram goes beyond validating that the sender initiated the interaction (as can take place in some interactions). Embodiments allow the cryptogram to further validate that the sender-chosen receiver has not been changed.
- In some embodiments, the sender-identifying information and/or receiver-identifying information can include account identifiers or account tokens. Thus, the interaction processing computer can validate that the accounts from which to withdraw and deposit the interaction value have not been changed.
- Embodiments of the invention also allow a receiver cryptogram to be created and verified. A receiver device can agree to an interaction by providing account information (e.g., a token), and by generating and providing a second cryptogram. The interaction processing computer can verify this cryptogram in addition to the first cryptogram from the sender device. As a result, the interaction processing computer can validate that the receiver agreed to the same interaction details as the sender. Thus, it can be validated that the same interaction parameters were agreed to by both the sender and receiver, and that the interaction details were not changed during messaging between the sender, receiver, and/or interaction processing computer.
- Embodiments of the invention apply to any suitable interaction for any suitable type of value. For example, embodiments allow a sender to transfer property rights, access codes and passwords, event tickets, secure documents and data, monetary funds, and/or any other suitable value from a sender account to a receiver account.
- Prior to discussing specific embodiments of the invention, some terms may be described in detail.
- An “interaction” may include a communication, contact, or exchange between parties, devices, and/or entities. Example interactions include a transaction between two parties and a data exchange between two devices.
- An “interaction request” may be an attempt to initiate a communication, contact, or exchange. An interaction request can include a message sent to an interaction processing entity. An interaction request can include any suitable information for executing an interaction, such as interaction details, verification information (e.g., one or more cryptograms), and any other suitable information. An example of an interaction request can be a transaction request.
- “Interaction details” may include information associated with a communication, contact, or exchange. Interaction details can indicate different entities that are party to an interaction as well as value or information being exchanged. Interaction details can include a value, information associated with a sender (e.g., a token or account information, an alias, a device identifier, a contact address, etc.), information associated with a receiver (e.g., a token or account information, an alias, a device identifier, a contact address, etc.), one-time values (e.g., a random value, a nonce, a timestamp, a counter, etc.), and/or any other suitable information. An example of interaction details can be transaction details.
- A “cryptographic key” may refer to a piece of information that is used in a cryptographic algorithm to transform input data into another representation. Cryptographic keys may include symmetric and asymmetric keys. A cryptographic algorithm can be an encryption algorithm that transforms original data (e.g., plaintext) into an alternate representation (e.g., cipher text), or a decryption algorithm that transforms encrypted information (e.g., cipher text) back to the original data (e.g., plaintext). Examples of cryptographic algorithms may include triple data encryption standard (TDES), data encryption standard (DES), advanced encryption standard (AES), etc.
- A “cryptogram” may include encrypted information (e.g., cipher text). For example, a cryptogram can be a value that is the result of data elements entered into a cryptographic algorithm and then encrypted. A cryptogram can be used to validate data integrity. A cryptogram generated using a symmetric key can be decrypted using the same symmetric key. A cryptogram generated using a public key can be verified using a corresponding private key.
- The term “public/private key pair” may include a pair of linked cryptographic keys generated by an entity. The public key may be used for public functions such as encrypting a message to send to the entity or for verifying a digital signature which was supposedly made by the entity. The private key, on the other hand may be used for private functions such as decrypting a received message or applying a digital signature. A public key may be authorized by a body known as a Certification Authority (CA) which stores the public key in a database and distributes it to any other entity which requests it. A private key may typically be kept in a secure storage medium and may usually only be known to the entity. However, the cryptographic systems described herein may feature key recovery mechanisms for recovering lost keys and avoiding data loss. Public and private keys may be in any suitable format, including those based on RSA or elliptic curve cryptography (ECC).
- A “digital signature” or “signature” may refer to the result of applying an algorithm based on a public/private key pair. A digital signature can allow a signing party to manifest, and a verifying party to verify, the authenticity and integrity of a message, a document, or other information. The signing party acts by means of the private key and the verifying party acts by means of the public key. This process certifies the authenticity of the sender, the integrity of the signed message and the so-called principle of nonrepudiation, which does not allow disowning what has been signed. A message, document, certificate, or other data that includes a digital signature by a signing party is said to be “signed” by the signing party.
- “Receiver information” may include data associated with a recipient. Receiver information can identify a receiver, a receiver device, a receiver account, or anything else associated with a receiver. For example, receiver information can include a phone number, an email address, a mobile device identifier, an account number, a token, a name, an alias, or any other suitable information.
- “Sender information” may include data associated with a provider. Sender information can identify a sender, a sender device, a sender account, or anything else associated with a sender. For example, sender information can include a phone number, an email address, a mobile device identifier, an account number, a token, a name, an alias, or any other suitable information.
- An “alias” may include an identifier used to indicate a person or entity that is also known by a more familiar name. For example, an alias can be a title, a name, a phrase, a code, a tag, or other indicator that identifies a person, organization, device, or account. An alias may be a secondary name that can be used in place of a primary name, or false name used to protect one's identity. In some embodiments, an alias can be associated with a context or circumstance. For example, an alias can be a name associated with an individual within a certain network.
- A “device identifier” may comprise any suitable information that serves to identify a device. Examples of a device identifier include a MSISDN, a phone number, an SMS text address, an IP address, or any other information that may be used to identify a mobile device. In some embodiments, a device identifier can include a unique device number, such as an international mobile station equipment identity (IMEI) number, a unique serial number (i.e., integrated circuit card identifier (ICCI)) of a subscriber identification module (SIM) card, or a unique international mobile subscriber identity (IMSI).
- An “interaction confirmation request” may include a message for asking for interaction acceptance. For example, an interaction confirmation request can be sent to inquire whether an entity (e.g., a receiver) would like to proceed with an interaction. An interaction confirmation request can include interaction details, such as a value, information about a sender, information about a receiver, and/or any other suitable information. An example of an interaction confirmation request can be a transaction confirmation request.
- An “interaction confirmation response” may include a message indicating whether an interaction is accepted. For example, an interaction confirmation request can be sent to respond to an interaction confirmation request, and the message can indicate whether an entity (e.g., a receiver) has agreed to proceed with an interaction. An interaction confirmation response can include interaction details, such as a value, information about a sender, information about a receiver, and/or any other suitable information. An example of an interaction confirmation response can be a transaction confirmation response.
- “Payment credentials” may include any suitable information associated with an account (e.g., a payment account and/or payment device associated with the account). Such information may be directly related to the account or may be derived from information related to the account. Examples of payment credentials may include a PAN (primary account number or “account number”), user name, expiration date, and verification values such as CW (card verification value), dCVV (dynamic card verification value), CVV2 (card verification value 2), CVC3 card verification values, etc. An example of a PAN is a 16-digit number, such as “4147 0900 0000 1234.”
- A “digital wallet” can include an electronic device that allows an individual to conduct electronic commerce transactions. A digital wallet may store user profile information, payment credentials, bank account information, one or more digital wallet identifiers and/or the like and can be used in a variety of transactions, such as but not limited to eCommerce, social networks, money transfer/personal payments, mobile commerce, proximity payments, gaming, and/or the like for retail purchases, digital goods purchases, utility payments, purchasing games or gaming credits from gaming websites, transferring funds between users, and/or the like. A digital wallet may be designed to streamline the purchase and payment process. A digital wallet may allow the user to load one or more payment cards onto the digital wallet so as to make a payment without having to enter an account number or present a physical card.
- A “token” may be a substitute value for a credential. A token may be a string of numbers, letters, or any other suitable characters. Examples of tokens include payment tokens, access tokens, personal identification tokens, etc.
- A “payment token” may include an identifier for a payment account that is a substitute for an account identifier, such as a primary account number (PAN). For example, a token may include a series of alphanumeric characters that may be used as a substitute for an original account identifier. For example, a token “4900 0000 0000 0001” may be used in place of a PAN “4147 0900 0000 1234.” In some embodiments, a token may be “format preserving” and may have a numeric format that conforms to the account identifiers used in existing transaction processing networks (e.g., ISO 8583 financial transaction message format). In some embodiments, a token may be used in place of a PAN to initiate, authorize, settle or resolve a payment transaction or represent the original credential in other systems where the original credential would typically be provided. In some embodiments, a token value may be generated such that the recovery of the original PAN or other account identifier from the token value may not be computationally derived. Further, in some embodiments, the token format may be configured to allow the entity receiving the token to identify it as a token and recognize the entity that issued the token.
- A “server computer” may include a powerful computer or cluster of computers. For example, the server computer can be a large mainframe, a minicomputer cluster, or a group of servers functioning as a unit. In one example, the server computer may be a database server coupled to a Web server. The server computer may be coupled to a database and may include any hardware, software, other logic, or combination of the preceding for servicing the requests from one or more client computers.
-
FIG. 1 shows asystem 100 comprising a number of components. Thesystem 100 comprises asender device 110 operated by asender 111, as well as areceiver device 120 operated by areceiver 121. Thesystem 100 further comprises acoordination computer 115, aninteraction processing computer 150, a sendinginstitution computer 160, a receivinginstitution computer 130, and atransport computer 140, each of which may be embodied by one or more computers. Thesender device 110, thereceiver device 120, thecoordination computer 115, theinteraction processing computer 150, the sendinginstitution computer 160, the receivinginstitution computer 130, and thetransport computer 140 may all be in operative communication with each other through any suitable communication channel or communications network. Suitable communications networks may be any one and/or the combination of the following: a direct interconnection; the Internet; a Local Area Network (LAN); a Metropolitan Area Network (MAN); an Operating Missions as Nodes on the Internet (OMNI); a secured custom connection; a Wide Area Network (WAN); a wireless network (e.g., employing protocols such as, but not limited to a Wireless Application Protocol (WAP), I-mode, and/or the like); and/or the like. - Messages between the computers, networks, and devices may be transmitted using a secure communications protocols such as, but not limited to, File Transfer Protocol (FTP); HyperText Transfer Protocol (HTTP); Secure Hypertext Transfer Protocol (HTTPS), Secure Socket Layer (SSL), ISO (e.g., ISO 8583) and/or the like.
- In the
system 100, thesender 111 and thereceiver 121 can each be an individual, an organization, or any other suitable entity associated with an account. Thesender 111 can initiate an interaction between thesender 111 and thereceiver 121, such that a value can be transferred from the sender's account at the sendinginstitution computer 160 to the receiver's account at the receivinginstitution computer 130. - Any suitable type of interaction can take place for transferring any suitable type of value. For example, the
sender 111 can transfer monetary funds to the receiver 121 (e.g., via a monetary transaction). As other examples, the sender can transfer access credentials (e.g., passcodes and cryptographic keys), digital files, event tickets, etc. - In one embodiment, the
sender 111 andreceiver 121 may be individuals and friends, and thesender 111 may send monetary value as a gift, or may reimburse thereceiver 121 for an expense. In another scenario, thesender 111 can be a consumer, and thereceiver 121 can be a merchant that engages in transactions and sells goods or services, or provides access to goods or services. In this case, thesender 111 may send monetary value in exchange for goods or services provided by thereceiver 121. - The
sender 111 can use thesender device 110 to initiate an interaction. Thesender device 110 can then provide interaction details to thecoordination computer 115, which can in turn obtain additional interaction data from thereceiver device 120. In some embodiments, thesender device 110 and/or thereceiver device 120 can also provide cryptograms for interaction validation. Thecoordination computer 115 can then send all of the interaction details to theinteraction processing computer 150, which can then facilitate a value transfer from the sender's account at the sendinginstitution computer 160 to the receiver's account at the receivinginstitution computer 130. - The
sender device 110 andreceiver device 120 can each be a mobile device, a laptop or desktop computer, or any other suitable type of user device. An example of thesender device 110 in the form of a mobile device, according to some embodiments of the invention, is shown inFIG. 2 . In some embodiments, thereceiver device 120 can take a similar form. Thesender device 110 may include circuitry that is used to enable certain device functions, such as telephony. The functional elements responsible for enabling those functions may include aprocessor 110A that can execute instructions that implement the functions and operations of the device.Processor 110A may accessmemory 110E (or another suitable data storage region or element) to retrieve instructions or data used in executing the instructions, such as provisioning scripts and mobile applications. Data input/output elements 110C, such as a keyboard or touchscreen, may be used to enable a user to operate thesender device 110 and input data (e.g., user authentication data). Data input/output elements may also be configured to output data (via a speaker, for example). Display 1108 may also be used to output data to a user.Communications element 110D may be used to enable data transfer betweensender device 110 and a wired or wireless network (viaantenna 110H, for example) to assist in connectivity to the Internet or other network, and enabling data transfer functions.Sender device 110 may also includecontactless element interface 110F to enable data transfer between contactless element 110G and other elements of the device, where contactless element 110G may include a secure memory and a near field communications data transfer element (or another form of short range communications technology). As noted, a cellular phone or similar device is an example of asender device 110 that may be used in accordance with embodiments of the present invention. However, other forms or types of devices may be used without departing from the underlying concepts of the invention. For example, thesender device 110 may alternatively be in the form of a payment card, a key fob, a tablet computer, a wearable device, a vehicle such as a car, etc. - The
memory 110E may comprise acoordination application 110J, a token 110K, a cryptographic key 110L, and any other suitable module or data. In some embodiments, one or more of these modules or data may be stored in a secure memory. Thesender device 110 may have any number of mobile applications installed or stored on thememory 110E and is not limited to that shown inFIG. 2 . - The cryptographic key 110L may be a symmetric key in some embodiments. In some embodiments, the cryptographic key 110L may have been provided by the
coordination computer 115, theinteraction processing computer 150, or any other suitable entity. For example, theinteraction processing computer 150 may have provided thecryptographic key 110L and/or token 110K during installation or personalization of thecoordination application 110L, or at any other suitable time. The cryptographic key 110L may be unique to thesender device 110. Accordingly, thesender device 110 can use the cryptographic key 110L to send data such that only thecoordination computer 115 or theinteraction processing computer 150 can view the data. Similarly, thereceiver device 120 can also have a cryptographic key (which may be different from the sender device's key and unique to the receiver device 120). - In some embodiments, the
sender device 110 may store information associated with thesender 111 and/or the sender's account. For example, thememory 110E may include the token 110K. The token 110K may be a surrogate account identifier that can be used in place of the normal account credentials. Thememory 110E can also include other account information or personal information, such as account credentials, a name, an address, an email address, a phone number, an alias, or any othersuitable sender 111 identification information. Similarly, thereceiver device 120 can store information associated with thereceiver 121 and/or the receiver's account, such as a receiver token associated with the receiver's account. - The
coordination application 110J may, in conjunction with theprocessor 110A, provide a user interface for thesender 111 to provide input and initiate, facilitate, and manage interactions using thesender device 110. Through thecoordination application 110J, thesender 111 can select a value to transfer, select an account from which to draw the value, and indicate a receiver. Thesender 111 may input a receiver contact address (e.g., a phone number or email address), input a receiver name or alias, select thereceiver 121 from a list of known contacts, or otherwise identify the intendedreceiver 121. Thecoordination application 110J can then send an interaction request with the selected interaction details to thecoordination computer 115. - The
coordination application 110J can, in conjunction with theprocessor 110A, store and/or access the token 110K, as well as other account credentials and sender information. Accordingly, thecoordination application 110J can send the token 110K to thecoordination computer 115 when initiating an interaction. In some embodiments, the token 110K may be stored at a secure element in thesender device 110. - The
coordination application 110J can also generate a cryptogram for an interaction. In some embodiments, cryptogram generation can take place in a secure element or other secure memory of thesender device 110. A secure element can be a tamper-resistant platform (e.g., a one chip secure microcontroller) capable of securely hosting applications, as well as their confidential and cryptographic data. - In some embodiments, the
sender device 110 may prompt thesender 111 to provide authentication information before allowing access to thecoordination application 110J, before allowing an interaction to be initiated, before using the token 110K, before generating a cryptogram, or at any other suitable time. For example, user-authentication may be used to gain access to a secure element. User authentication can include a PIN, password, bio-authentication inputs (e.g., fingerprint, voice sample, or eye scan), or any other suitable information that can identity an individual. - The sender cryptogram can be generated using a cryptographic key and any suitable cryptographic algorithm. In addition to the cryptographic key, the sender cryptogram can be generated using several pieces of information. For example, inputs for generating the sender cryptogram can include transaction details, such as the information about the value being transferred (e.g., a payment amount) and sender account information (e.g., the token 110K). Further inputs can include a nonce (which may be generated at the time of interaction initiation), a random number, a timestamp, counter, and/or any other suitable information.
- In some embodiments, the sender cryptogram can be used to verifiably associate additional sender information with the interaction. For example, additional inputs for the sender cryptogram can include information about the
sender 111, such as sender contact information (e.g., a phone number or email address), a sender alias, a sender device ID, and/or the sender's digital wallet identifier. - Similarly, in some embodiments, additional receiver information can be verifiably associated with the interaction through the sender cryptogram. For example, additional inputs for the sender cryptogram can include information about the
receiver 121, such as a receiver name or alias, a receiver contact address (e.g., an email address or a phone number), and/or receiver account information (e.g., a receiver token). Some or all of the sender-identifying information and receiver-identifying can be hashed before being included in the interaction request or being used as cryptogram inputs. - As a result, the sender cryptogram can serve to tie together the different data fields in the interaction request. For example, in some embodiments, the sender cryptogram can prove that the
sender 111 authorized the interaction, as the sender cryptogram may be generated using a cryptographic key and token 110K in the secure element (which may only be accessed by user-authentication). The sender cryptogram can also prove that a certain sender account was chosen for the current interaction. In further embodiments, the sender cryptogram can prove that the interaction value is intended for a specific receiver, as the sender cryptogram can be generated using the intended receiver's information (e.g., an alias, contact address, token, account number, device identifier, wallet identifier, etc.). - As mentioned above, the
receiver device 120 can also take the form of the mobile device shown inFIG. 2 . Thereceiver device 120 can have similar functionality as described above for thesender device 110. Thereceiver device 120 can also include a cryptographic key (e.g., a symmetric key uniquely for communications between thereceiver device 120 and the interaction processing computer 150), a token, and a coordination application. - The coordination application at the
receiver device 120 may provide a user interface for receiving a notification about an initiated interaction and accepting the interaction. Thereceiver 121 may be able to select an option for acknowledging and agreeing to the interaction. Thereceiver 121 may also be able to indicate an account for receiving the transfer value. - The coordination application at the
receiver device 120 can also generate a cryptogram. This receiver cryptogram can be a second cryptogram for validating the interaction details in addition to the first cryptogram from the sender. The receiver cryptogram can be generated using one or more same or different values as the sender cryptogram. For example, the receiver cryptogram can be generated using a receiver cryptographic key, the information about the value being transferred (e.g., a payment amount) and receiver account information (e.g., a receiver token). Further inputs can include a nonce (which may be generated at the time of interaction initiation), a random number, a timestamp, and/or any other suitable information. - In some embodiments, the receiver cryptogram can be used to verifiably associate additional receiver information with the interaction. For example, additional inputs for the cryptogram can include information about the
receiver 121, such as receiver contact information (e.g., a phone number or email address), a receiver device ID, a receiver alias, and/or the receiver's digital wallet identifier. - Similarly, in some embodiments, additional sender information can be verifiably associated with the interaction through the receiver cryptogram. For example, additional inputs for the receiver cryptogram can include information about the
sender 111, such as sender information that was provided via the interaction notification. The sender information can include a sender alias, a sender contact address (e.g., an email address or a phone number), and/or sender account information (e.g., a sender token). Some or all of the sender-identifying information and receiver-identifying can be hashed before being included in the interaction request or being used as cryptogram inputs. - As a result, the receiver cryptogram can serve to tie together the different data fields in the interaction request, as well as information associated with the receiver's interaction acceptance. For example, in some embodiments, the receiver cryptogram can prove that the receiver accepted the transfer, as the receiver cryptogram may be generated using a cryptographic key and token in the secure element (e.g., which may only be accessed by user-authentication). The receiver cryptogram can also prove that a certain receiving account was chosen for accepting the transfer value. In further embodiments, the cryptogram can prove that the transfer value was sent by a specific sender, as the cryptogram can be generated using the sender's information (e.g., an alias, contact address, token, account number, device identifier, wallet identifier, etc.).
- Accordingly, two different cryptograms can be used to validate that the interaction taking place is one that was agreed upon. Both cryptograms can be generated using similar information, showing that both the sender and receiver agreed to the same interaction details.
- Referring back to
FIG. 1 , thecoordination computer 115 can coordinate the initiation of the interaction between thesender 111 and thereceiver 121. Thecoordination computer 115 may be able to obtain information for processing the interaction from both thesender 111 andreceiver 121, and then provide this interaction information to theinteraction processing computer 150 for executing the interaction. - An example of the
coordination computer 115, according to some embodiments of the invention, is shown inFIG. 3 . Thecoordination computer 115 comprises aprocessor 115A, anetwork interface 115B, auser database 115C, and a computerreadable medium 115D. - The computer
readable medium 115D may comprise aninteraction processing module 115E, aninformation gathering module 115F, asigning module 115G, and any other suitable software module. The computerreadable medium 115D may also comprise code, executable by theprocessor 115A for implementing a method comprising receiving interaction details and a first cryptogram, the interaction details including receiver information, wherein the first cryptogram was generated using the receiver information; sending an interaction confirmation request to a receiver device associated with the receiver information; receiving an interaction confirmation response from the receiver device; and sending, to a second computer, an interaction request including the interaction details and the first cryptogram, wherein the second computer verifies the first cryptogram and coordinates a transfer from a sender to a receiver. - The
interaction processing module 115E may comprise code that causes theprocessor 115A to process interactions. For example, theinteraction processing module 115E may contain logic that causes theprocessor 115A to identify interaction details received from asender device 110 and/or areceiver device 120 for an interaction. Theinteraction processing module 115E may also include instructions for creating an interaction request and sending the interaction request to theinteraction processing computer 150. The interaction request can include interaction details, such as information about a sender account and a receiver account, information about an interaction value, contact information for the sender and receiver, and any other suitable information. The interaction request can also include one or more cryptograms. - The
information gathering module 115F may comprise code that causes theprocessor 115A to obtain interaction details for an interaction. For example, theinformation gathering module 115F may contain logic that causes theprocessor 115A to contact areceiver device 120 for receiver account information, a receiver cryptogram, and any other suitable information that may be used for interaction processing. The instructions may cause theprocessor 115A to contact thereceiver device 120 after asender device 110 initiates an interaction and indicates acertain receiver 121 orreceiver device 120. - The
signing module 115G may comprise code that causes theprocessor 115A to create a digital signature for an interaction. For example, thesigning module 115G may contain logic that causes theprocessor 115A to use a cryptographic key 115H (e.g., a private key), any suitable cryptographic algorithm, and some or all interaction details to generate a digital signature for the interaction. - In some embodiments, the
coordination computer 115 may be able to verify cryptograms received from thesender device 110 and/orreceiver device 120. Instructions and additional keys for this verification can be included in thesigning module 115G, or in a separate validation module. - The
user database 115C may store information about one or more senders and receivers. In some embodiments, theuser database 115C may associate a user's alias with certain contact information. For example, thereceiver 121 may be associated with a certain alias (e.g., the title “Wally72”). Thesender 111 can indicate a desire to send a value to this alias, and thecoordination computer 115 can identify the alias in theuser database 115C. Then thecoordination computer 115 can determine contact information (e.g., a phone number or email address) associated with this alias in theuser database 115C, such that thecoordination computer 115 can contact thereceiver device 120 to obtain additional interaction details. - In some embodiments, the
user database 115C may store account information about one or more senders and receivers. For example, theuser database 115C may store a sender token and/or a receiver token. As a result, when an interaction is initiated, thesender device 110 and/orreceiver device 120 may not have to send account information to thecoordination computer 115. Instead, the coordination computer can identify their tokens in theuser database 115C (e.g., based on an alias, a device identifier, a wallet identifier, or other user-identifying information). - In some embodiments, the
coordination computer 115 can be a digital wallet computer. A digital wallet computer can store information about user payment accounts, as well as coordinate monetary transfers. In this scenario, the coordination applications at thesender device 110 andreceiver device 120 can be digital wallet applications through which senders and receivers can initiate payment transactions. - In further embodiments, the coordination applications at the
sender device 110 andreceiver device 120 can send interaction details directly to theinteraction processing computer 150. Theinteraction processing computer 150 or thesender device 110 can gather interaction details in place of thecoordination computer 115. As a result, thecoordination computer 115 can be removed from thesystem 100. - The
interaction processing computer 150 may be disposed between the sendinginstitution computer 160 and the receivinginstitution computer 130. Theinteraction processing computer 150 may include data processing subsystems, networks, and operations used to support and deliver authorization services, exception file services, and clearing and settlement services. For example, theinteraction processing computer 150 may comprise a server coupled to a network interface (e.g., by an external communication interface), and databases of information. In some embodiments, theinteraction processing computer 150 may be a transaction processing computer. Further, a the transaction processing computer may be representative of a transaction processing network. An exemplary transaction processing network may include VisaNet™. Transaction processing networks such as VisaNet™ are able to process credit card transactions, debit card transactions, and other types of commercial transactions. VisaNet™, in particular, includes a VIP system (Visa Integrated Payments system) which processes authorization requests and a Base II system which performs clearing and settlement services. Theinteraction processing computer 150 may use any suitable wired or wireless network, including the Internet. - An example of the
interaction processing computer 150, according to some embodiments of the invention, is shown inFIG. 4 . Theinteraction processing computer 150 comprises aprocessor 150A, anetwork interface 150B, a token database 150C, a cryptographickey database 150J, and a computerreadable medium 150D. - The computer
readable medium 150D may compriseinteraction processing module 150E, avalidation module 150F, arisk processing module 150G, atokenization module 150H, and any other suitable software module. The computerreadable medium 150D may also comprise code, executable by theprocessor 150A for implementing a method comprising receiving an interaction request including interaction details and a first cryptogram, the interaction details including receiver information, wherein the first cryptogram was generated using the receiver information; verifying the first cryptogram; and coordinating a transfer from a sender to a receiver. - The token database 150C may include information about one or more tokens. For example, the token database 150C can have a token records that indicate how different tokens are associated with different sets of payment credentials or other account identifiers. In some embodiments, a token record may include additional information about a user or account associated with a token. For example, a token may be associated with a certain contact address (e.g., phone number or email address), alias, device identifier, institution, or any other suitable information. Some or all of this information may be hashed in the token record. In some embodiments, token records can instead be stored at a third party token database, or at any other suitable location.
- The cryptographic
key database 150J may include information about one or more cryptographic keys. For example, the cryptographickey database 150J can include cryptographic keys associated one or more user devices, secure elements, digital wallets, coordination computers, and/or any other suitable entities. The cryptographickey database 150J can include a first key 150K associated with thesender device 110. The first key 150K can be a symmetric key that is only shared with thesender device 110. Additionally, the cryptographickey database 150J can include a second key 150L associated with thereceiver device 120. The second key 150L can be a symmetric key that is only shared with thereceiver device 110. Further, the cryptographickey database 150J can include a third key 150M associated with thecoordination computer 115. The third key 150M can be a public key that corresponds to a private key at thecoordination computer 115. In some embodiments, the cryptographickey database 150J can include information associated with each key for identifying the key when appropriate. For example, the cryptographickey database 150J can store information about thesender device 110 and/orreceiver device 120, such as device identifiers, digital wallet identifiers, contact addresses, tokens, names, aliases, or any other suitable information for recognizing a user and/or device. Some or all of this information may be hashed in the key record. In some embodiments, key records can instead be stored at a third party key database, or at any other suitable location. - The
interaction processing module 150E may comprise code that causes theprocessor 150A to process interactions. For example, theinteraction processing module 150E may contain logic that causes theprocessor 150A to receive an interaction request and orchestrate a transfer of value from a sender account to a receiver account based on the interaction request. In some embodiments, theinteraction processing module 150E may include instructions for orchestrating a transaction by sending an AFT (“account funding transaction”) message to the sendinginstitution computer 160 and an OCT (“original credit transaction”) message to the receivinginstitution computer 130. - The
validation module 150F may comprise code that causes theprocessor 150A to validate an interaction request. For example, thevalidation module 150F may contain logic that causes theprocessor 150A to verify one or more cryptograms associated with an interaction, such as a sender cryptogram and/or a receiver cryptogram. Thevalidation module 150F may also include instructions for verifying a digital signature from thecoordination computer 115. Thevalidation module 150F may include any suitable cryptographic algorithms in embodiments of the invention. Suitable data cryptographic algorithms may include DES, triple DES, AES, etc. It may also store or access (e.g., at the cryptographickey database 150J) cryptographic keys that can be used with cryptographic algorithms. Symmetric and/or asymmetric encryption techniques can be used. - In some embodiments, a sender cryptogram can be verified by recreating the sender cryptogram using some or all of the interaction details (e.g., the same types of information used at the
sender device 110 to create the sender cryptogram), a cryptographic key associated with the sender device 110 (e.g., the first key 150K), and any suitable cryptographic algorithm (e.g., the same algorithm used at thesender device 110 to create the sender cryptogram). If the recreated cryptogram matches the received cryptogram, the sender cryptogram can be consider verified, and the interaction details thereby validated. In alternative embodiments, the sender cryptogram can be verified by decrypting the sender cryptogram using a cryptographic key associated with the sender device 110 (e.g., the first key 150K). The decrypted information can then be compared with the received interaction details, and if there is a match, the sender cryptogram can be consider verified, and the interaction details thereby validated. Similar verification methods and a cryptographic key associated with the receiver device 120 (e.g., the second key 150L) can be used to verify the receiver cryptogram. - In some embodiments, the digital signature from the
coordination computer 115 can be verified using a cryptographic key associated with the coordination computer 115 (e.g., the third key 150M) and any suitable verification algorithm. - In other embodiments, the sender cryptogram and/or receiver cryptogram can instead be digital signatures. Also, the coordination computer's digital signature can instead be a cryptogram. In any of these scenarios, appropriate types of cryptographic keys and verification methods can be used, as described above for cryptograms and digital signatures. For example, if the sender cryptogram and/or receiver cryptogram are instead digital signatures, the
sender device 110 and/orreceiver device 120 can store private keys instead of symmetric keys, and theinteraction processing computer 150 can store corresponding public keys. - In some of the embodiments, both a sender cryptogram and a receiver cryptogram can be generated based on both sender-identifying information and receiver-identifying information. Accordingly, both the cryptograms may indicate that the interaction is between a
certain sender 111 andreceiver 121. If both cryptograms are verified as being associated with the same sender and receiver, theinteraction processing computer 150 can be confident that both thesender 111 andreceiver 121 agreed to the same interaction, and no details have been fraudulently changed during interaction-related messaging. - The
validation module 150F may further include instructions that cause theprocessor 150A to validate that the sender token and receiver token are being used appropriately. For example, the instructions may include checking that an interaction request involving a certain token is also accompanied by a certain contact address (e.g., phone number or email address), alias, and/or device identifier associated with that token, as indicated by token records in the token database 150C. - The
risk processing module 150G may comprise code that causes theprocessor 150A to analyze interaction risk. For example, therisk processing module 150G may contain logic that causes theprocessor 150A to analyze interaction velocity, value or amount thresholds, and other possible risk indicators. A risk score can be created and used to evaluate whether or not to authorize a transaction. - The
tokenization module 150H may comprise code that causes theprocessor 150A to tokenize and de-tokenize account identifiers. For example, thetokenization module 150H may contain logic that causes theprocessor 150A to receive a token, identify a matching stored token, determine an account identifier or other payment credentials associated with the matching stored token, and then provide or utilize the account identifier. - Referring back to
FIG. 1 , the sendinginstitution computer 160 may be associated with a sending institution, which may be an entity that sends a value. The sent value may be withdrawn from a sender's account. An example of a sending institution may be an issuer, which may typically refer to a business entity (e.g., a bank) that maintains an account for a user (e.g., the sender). An issuer may also issue and manage an account (e.g., a payment account) associated with thesender device 110. - The receiving
institution computer 130 may be associated with a receiving institution, which may be an entity that can receive a value. The received value can be credited to a receiver's account. An example of a receiving institution may be an acquirer, which may typically be a business entity (e.g., a commercial bank) that has a business relationship with a particular receiver (e.g., a merchant) or other entity. The receivinginstitution computer 130 can also be an issuer in some embodiments. - The
transport computer 140 may be an intermediary institution or account. In some embodiments, an interaction value transferred from the sendinginstitution computer 160 may first go to thetransport computer 140. Then, the value can be transferred from thetransport computer 140 to the receivinginstitution computer 130. In some embodiments, thetransport computer 140 can be an acquirer or acquirer processor. - The
interaction processing computer 150, sendinginstitution computer 160, the receivinginstitution computer 130, and thetransport computer 140 may operate suitable routing tables to route authorization request messages and/or authorization response messages using payment credentials, merchant identifiers, or other account identifiers. - A
method 500 according to embodiments of the invention can be described with respect toFIG. 5 . Some elements in other Figures are also referred to. The steps shown in themethod 500 may be performed sequentially or in any suitable order in embodiments of the invention. In some embodiments, one or more of the steps may be optional. - The various messages described below may use any suitable form of communication. In some embodiments, a request or response may be in an electronic message format, such as an e-mail, a short messaging service (SMS) message, a multimedia messaging service (MMS) message, a hypertext transfer protocol (HTTP) request message, a transmission control protocol (TCP) packet, a web form submission. The request or response may be directed to any suitable location, such as an e-mail address, a telephone number, an internet protocol (IP) address, or a uniform resource locator (URL). In some embodiments, a request or response may comprise a mix of different message types, such as both email and SMS messages.
- The following method describes a transaction for transferring monetary funds from a first party to a second party. However, as explained above, embodiments allow any suitable sort of interaction to take place, and embodiments allow a first party to transfer any suitable type of value to a second party during. For example, secure data, access credentials, event tickets, login codes and passwords, monetary funds, and any other suitable data, value, or object can change possession by moving from a first account to a second account.
- Before the transaction is initiated, one or more cryptographic keys may be distributed. For example, at step S501 a, the
interaction processing computer 550 may provide a first key (e.g., a symmetric key) to thesender device 510. Thesender device 510 may store the first key (e.g., in a secure element), and theinteraction processing computer 550 may also store a copy of the first key. In some embodiments, this key may be provided along with a token during a token provisioning and/or application personalization process. - At step S501 b, the
interaction processing computer 550 may provide a second key (e.g., a symmetric key) to thereceiver device 520. Thereceiver device 520 may store the second key (e.g., in a secure element), and theinteraction processing computer 550 may also store a copy of the second key. In some embodiments, this key may be provided along with a token during a token provisioning and/or application personalization process. - At step S501 c, the
interaction processing computer 550 may receive a third key (e.g., a public key) from thecoordination computer 515. The third key may be a public key that corresponds to a private key at thecoordination computer 515. Theinteraction processing computer 550 may store the third key. - At a later time, a first party (referred to as a sender) may desire to send a payment to a second party (referred to as a receiver). For example, the sender may intend to pay the receiver for one or more goods or services, or to send a gift.
- At step S502, the sender may activate a coordination application (which may be a digital wallet application) on the
sender device 510. To login to the coordination application and/or enable the payment functionality at thesender device 510, the sender may provide authentication information. For example, the sender may enter a PIN or password, or provide bio-authentication information such as a fingerprint or eye scan. - Having accessed the coordination application, the sender may select an option for sending a payment. The sender may also provide information about the payment, such as a payment amount and a sender account from which to draw the funds. For example, the sender can select an account associated with the sender's digital wallet, or provide information for a new account. In some embodiments, a default account can be automatically selected and used (e.g., based on the sender's digital wallet or device identifier).
- The sender may also provide information identifying the receiver and/or a receiver account. For example, the sender can input a receiver name or alias, receiver contact information (e.g., an email address or a phone number), or a receiver token.
- At step S504, the
sender device 510 may obtain a payment token associated with the selected account for the transaction. For example, thesender device 510 may retrieve a payment token stored in a secure element of the sender device 510 (which may involve additional user-authentication). Alternatively, thesender device 510 may request (e.g., over-the-air) a payment token from a token provider computer. - Additionally, the
sender device 510 may generate a cryptogram for the payment. The cryptogram can be generated using a cryptographic key (e.g., a symmetric key), any suitable cryptographic algorithm, and one or more transaction-related details. For example, inputs for generating the cryptogram can include the payment amount, the sender payment token, a nonce (which may be generated at the time of transaction initiation), a random number, a timestamp, a counter, and/or any other suitable information. Further inputs for the cryptogram can include information about the sender, such as the sender's digital wallet identifier, a sender device ID, a sender name or alias, and/or sender contact information (e.g., a phone number or email address). In some embodiments, the cryptogram can further be generated using information about the receiver, such as a receiver name or alias, a receiver contact address (e.g., an email address or a phone number), and/or a receiver account identifier (e.g., a receiver token). Some or all of the user-identifying information can be hashed before being used as cryptogram inputs or otherwise included in the payment request. - At step S506, the coordination application may cause the
sender device 510 to send a payment instruction and associated cryptogram to the coordination computer 515 (which may be a computer that provides digital wallet services). The payment instruction can include the sender token, the amount, the receiver-identifying information (e.g., an alias, contact information, a token, a wallet identifier, or a device identifier), and/or any other suitable information. Some or all of this information may be included as plain text. In some embodiments, the payment instruction can include additional information for verifying the cryptogram. For example, the payment instruction can include the timestamp, the nonce, the random number, as well as information about the sender such as the sender's digital wallet identifier, a sender device ID, and/or sender contact information (e.g., a phone number or email address), some or all of which can be hashed. - At step S508, having received the payment instruction, the
coordination computer 515 can notify the receiver that a payment was initiated. Thecoordination computer 515 may identify information indicated in the payment instruction for contacting the receiver, such as a receiver phone number, email address, or digital wallet identifier. Thecoordination computer 515 may then send a transaction confirmation request to the receiver device 520 (e.g., via SMS message, email, wallet notification, etc.). The request may indicate the amount being transferred and information about the sender (e.g., a name, alias, phone number, etc.). The request may prompt thereceiver device 520 to acknowledge acceptance of the transaction and to provide account information for receiving the transfer value. - At step S510, the receiver may activate a coordination application on the
receiver device 520 and review the payment notification. The receiver may affirm that the payment should be accepted (e.g., by selecting an “accept” option). In order to accept, the receiver may be prompted to self-authenticate. The receiver may then proceed to enter a PIN or password, or provide bio-authentication information such as a fingerprint or eye scan. - The receiver may also provide information about an account that can be used for depositing the transfer value. In some embodiments, the receiver may select an account that is already associated with the
receiver device 520 or digital wallet. Alternatively, the receiver can input a new account information. - At step S512, the
receiver device 520 may obtain a payment token associated with the selected account. For example, thereceiver device 520 may retrieve a payment token stored in a secure element of thereceiver device 520. Alternatively, thereceiver device 520 may request (e.g., over-the-air) a payment token from a token provider computer. In other embodiments, the real payment credential (e.g., which the payment token represents) can be obtained. - Additionally, the
receiver device 520 may generate a cryptogram for the payment (e.g., at the secure element). The cryptogram can be generated using a cryptographic key (e.g., a symmetric key), any suitable cryptographic algorithm and one or more transaction-related details. For example, inputs for generating the cryptogram can include the receiver's payment token (or other account information), the payment amount, a nonce, a random number, a timestamp, and/or any other suitable information. The cryptogram can further be generated using information about the receiver, such as a receiver alias, a receiver contact address (e.g., an email address or a phone number), a wallet identifier, or a device identifier. Additional inputs for the cryptogram can include information about the sender, such as any sender information that was sent to thereceiver device 520 by thedigital wallet computer 515. This can include the sender's payment token, the sender's digital wallet identifier, a sender device ID, a sender alias, and/or sender contact information (e.g., a phone number or email address). - At step S514, the coordination application may cause the
receiver device 520 to send a transaction confirmation response and the cryptogram to thecoordination computer 515. The transaction confirmation response can include the receiver token, the amount, information identifying the receiver (e.g., an alias, contact information, a token, a wallet identifier, or a device identifier), information identifying the sender, and/or any other suitable information. In some embodiments, some or all of this information may be included as plain text. In some embodiments, some or all of the sender-identifying information and receiver-identifying information can be hashed before being included in the payment instruction or being used as cryptogram inputs. In some embodiments, the payment instruction can include additional information for verifying the cryptogram. For example, the payment instruction can include the timestamp, the nonce, and/or a random number. - The
coordination computer 515 may now have a sender payment token, a receiver payment token, and an amount. Thecoordination computer 515 may also have information for validating the transaction details, such as a sender cryptogram, a receiver cryptogram, various identification information, and other transaction-associated data. Accordingly, thecoordination computer 515 may have the necessary information for instructing the transfer. - At step S516, the
coordination computer 515 may create a digital signature based on some or all of the information (or a hash of the information) received from thesender device 510 andreceiver device 520. The digital signature may be generated using a coordination computer cryptographic key (e.g., a private key) and any suitable cryptographic algorithm. - At step S518, the
coordination computer 515 may send the transfer instruction to theinteraction processing computer 550. The instruction can include some or all of the data received from thesender device 510 andreceiver device 520, as well as the digital signature. In some embodiments, the transfer instruction can include transaction details in plain text, and the cryptograms and digital signature as cipher text. - At step S520, the
interaction processing computer 550 may validate that the information received from thecoordination computer 515 is legitimate and was not altered by verifying the digital signature. Theinteraction processing computer 550 may determine a cryptographic key associated with the coordination computer 515 (e.g., based on a coordination computer identifier). For example, theinteraction processing computer 550 may identify a third key (e.g., a public key that is associated with the coordination computer 515). Theinteraction processing computer 550 may the use the third key and any suitable verification algorithm to verify the digital signature. - The
interaction processing computer 550 may also verify the sender cryptogram. For example, theinteraction processing computer 550 may determine a cryptographic key associated with the sender device 510 (e.g., based on a sender information included in the transaction details). Theinteraction processing computer 550 may identify a first key (e.g., a symmetric key that is associated with the sender device 510), and may use this first key, some or all of the received transaction details, and any suitable cryptographic algorithm to verify the sender cryptogram. For example, theinteraction processing computer 550 may use the first key and the received transaction details to recreate the cryptogram. If the second, recreated cryptogram matches the first, received cryptogram, the received cryptogram can be considered verified. Alternatively, theinteraction processing computer 550 can decrypt the cryptogram (e.g., reverse the cryptographic algorithm used to generate the cryptogram) using the first key and determine whether transaction details from the decrypted cryptogram match the received transaction details. As a result, theinteraction processing computer 550 can confirm that the sender legitimately requested the transaction, and that the received transaction details are the same transaction details specified by the sender. - Additionally, the
interaction processing computer 550 may verify the receiver cryptogram. For example, theinteraction processing computer 550 may determine a cryptographic key associated with the receiver device 520 (e.g., based on a receiver information included in the transaction details). Theinteraction processing computer 550 may identify a second key (e.g., a symmetric key that is associated with the receiver device 520), and may use this second key, some or all of the received transaction details, and any suitable cryptographic algorithm to verify the receiver cryptogram. For example, theinteraction processing computer 550 may use the second key and the received transaction details to recreate the cryptogram. If the second, recreated cryptogram matches the first, received cryptogram, the received cryptogram can be considered verified. Alternatively, theinteraction processing computer 550 can decrypt the cryptogram (e.g., reverse the cryptographic algorithm used to generate the cryptogram) using the second key and determine whether transaction details from the decrypted cryptogram match the received transaction details. As a result, theinteraction processing computer 550 can confirm that the receiver legitimately agreed to the transaction, and that the received transaction details are the same transaction details seen by the receiver. - The
interaction processing computer 550 may also perform screening and velocity checks, and any other suitable type of transaction risk analysis. For example, in some embodiments, theinteraction processing computer 550 may validate that the transaction request includes other information associated with the sender token and/or receiver token, as indicated by records in a token database. For example, theinteraction processing computer 550 may validate that transaction details include a contact address, device identifier, or other suitable information that matches a token database record. - If the validations of step S520 are successful, the
interaction processing computer 550 may authorize the transaction, seek authorization from another entity, and/or otherwise proceed with transaction processing. In some embodiments, if one or more of the validations fail, the transaction may be rejected. - At step S522, the
interaction processing computer 550 may de-tokenize the sender's payment token and/or the receiver's payment token. Theinteraction processing computer 550 can identify a set of sender payment credentials (e.g., a payment account number) associated with the sender's payment token. Theinteraction processing computer 550 can similarly obtain a set of receiver payment credentials associated with the receiver's payment token. - At steps S524-S534, the
interaction processing computer 550 may coordinate the transfer of funds from the sender's account at the sendinginstitution computer 560 to the receiver's account at thereceiving instituting computer 530. - For example, at step S524, the
interaction processing computer 550 can send a message to the sendinginstitution computer 560 informing the sendinginstitution computer 560 about the transfer. For example, theinteraction processing computer 550 may provide information about the transfer amount, the sender account, the receiver account and bank, and any other suitable information. In some embodiments, theinteraction processing computer 550 may use an AFT (“account funding transaction”) message to instruct the sendinginstitution computer 560 to authorize the transfer, hold the funds, and/or transmit the funds. - At step S526, the sending
institution computer 560 may authorize the transaction, put a hold on the transfer funds, and/or transmit the transfer funds. The sendinginstitution computer 560 may check that the sender's account has sufficient funds and perform other suitable risk processing activities. Then, the sender's account may be debited, and the transfer amount may be moved to a holding account or an intermediary bank such as a transport computer. - At step S528, the sending
institution computer 560 may inform theinteraction processing computer 550 that the transfer was authorized, and that the funds have been moved or otherwise reserved for the transfer. - At step S530, the
interaction processing computer 550 can send a message to the receivinginstitution computer 530 informing the receivinginstitution computer 530 about the transfer. For example, theinteraction processing computer 550 may provide information about the transfer amount, the sender's bank, the receiver's account, and any other suitable information. Theinteraction processing computer 550 may also inform the receivinginstitution computer 530 that the transfer was already authorized at the sendinginstitution computer 560, such that the funds are guaranteed. In some embodiments, theinteraction processing computer 550 may use an OCT (“original credit transaction”) message to instruct the receivinginstitution computer 530 to credit the funds to the receiver's account. - At step S532, the receiving
institution computer 530 may credit the transfer value to the receiver's account. As a result, the transferred funds may become available to the receiver. The receivinginstitution computer 530 may also perform any suitable risk processing activities. - At step S534, the receiving
institution computer 530 may inform theinteraction processing computer 550 that the receiver's account was successfully credited. In some embodiments, at a later time, theinteraction processing computer 550 may coordinate a settlement and clearing process between the sendinginstitution computer 560, the receivinginstitution computer 530, and/or the transport computer. - At step S536, the
interaction processing computer 550 can then proceed to inform thecoordination computer 515 that the transfer was successfully executed. Then, at step S538, thecoordination computer 515 can notify the sender that the transfer was completed (e.g., by sending a message to a coordination application on the sender device 510). Additionally, at step S540, thecoordination computer 515 can notify the receiver that the transfer was completed (e.g., by sending a message to a coordination application on the receiver device 520). In other embodiments, the sender and receiver can be notified directly by theinteraction processing computer 550, the sendinginstitution computer 560, and/or the receivinginstitution computer 530. - Embodiments of the invention include a number of alternatives for the above-described method. For example, in some embodiments, the
coordination computer 515 may locally store a sender payment token and/or a receiver payment token. The sender and/or receiver may have an account (e.g., a digital wallet account) at thecoordination computer 515, such that account information may not need be provided for each transaction. Instead, thecoordination computer 515 can identify and utilize a payment token (or other account information) for each transaction based on sender and/or receiver identification information (e.g., an alias, phone number, device ID, wallet ID, etc.). In some embodiments, the default receiver token can be automatically used, and thereceiver device 520 may not be contacted for transaction acceptance. - In some embodiments, the
coordination computer 515 can verify cryptograms generated at the sender device and/or receiver device. In this scenario, thecoordination computer 515 may have access to one or more keys associated with one or more devices. Additionally, in some embodiments, the sender cryptogram and/or the receiver cryptogram can instead be generated by thecoordination computer 115. For example, the coordination computer may generate a sender cryptogram using a sender-associated cryptographic key, a sender token, and/or any other suitable information. - In further embodiments, the functions performed by the
coordination computer 515 can instead be performed by theinteraction processing computer 550, and thecoordination computer 515 can be removed from the system. - As mentioned above, the sender cryptogram can be generated using receiver-associated information, such as a receiver alias or contact address. In further embodiments, the sender cryptogram can be generated using the receiver's account information, such as a token or payment account number. For example, the sender may input (e.g., manually type) the receiver's token when initiating the transaction, and the sender device may then have access to the receiver's token for generating the cryptogram.
- In some embodiments, different cryptograms may be generated for different transaction processing networks. For example, a sender device may generate two cryptograms, a first cryptogram generated using a first key associated with a first transaction processing network, and a second cryptogram generated using a second key associated with a second transaction processing network. Additionally, the cryptograms can be generated without network-specific inputs. For example, sender and/or receiver associated information inputs can be an alias, contact address, or account identifier instead of a token. As a result, the transaction can be validated (e.g., using either the first or second cryptogram) regardless of whether the transaction is processed at the first or second network.
- In addition to sender-initiated transactions, embodiments also allow for receiver-initiated transactions. For example, a receiver can select a receiving account, an amount, and a sender (e.g., using an alias, contact address, etc.). Then the
coordination computer 515 can send a transaction confirmation request to thesender device 510. Accordingly, the sender can receive a request for a payment, and decide whether or not to approve of sending the payment. If approving, the sender can select a sending account. The method can proceed similarly as described above with respect toFIG. 5 , with the receiver instead providing the initial information, and the sender accepting or rejecting the proposed transaction. - As described above for steps S524-S534, the
interaction processing computer 550 can orchestrate the transfer of value from the sender's account at the sendinginstitution computer 560 to the receiver's account at the receivinginstitution computer 530. A number of alternatives related to this transferring process can take place. For example, in some embodiments, steps S524-S528 can take place directly after step S506. In other words, as soon as the sender initiates the transaction, thecoordination computer 515 and/orinteraction processing computer 550 can inform the sendinginstitution computer 560 about the transfer (e.g., by sending an AFT). As a result, the funds can be held, transferred, or otherwise obtained and ready at an earlier time. Then, once the receiver has accepted the transfer and provided account information, the funds can be sent to the receiving institution computer 530 (e.g., steps S530-S534 can take place). In some embodiments, if the receiver does not accept the transfer within a certain timeframe, the transaction can be cancelled and funds returned to the sender's account. - As explained above, in some embodiments the funds can initially be transferred from the sending
institution computer 560 to an intermediary holding account at an intermediary bank (such as the transport computer inFIG. 1 ). Then, the funds can be transferred from the intermediary bank to the receivinginstitution computer 530. In other embodiments, instead of using an intermediary bank, one or more holding accounts can be used at the sendinginstitution computer 560 or the receivinginstitution computer 530. For example, the funds can be debited from the sender's account and then moved to a holding account at the sendinginstitution computer 560. Once the receivinginstitution computer 530 approves, the funds can be transferred to the receivinginstitution computer 530. The funds can be credited directly to the receiver's account, or they can first be received at another holding account at the receivinginstitution computer 530. - Embodiments of the invention have a number of advantages. For example, in embodiments of the invention, interaction security can be improved. One method for improving interaction security is generating a cryptogram that can validate a number of interaction details. For example, a sender cryptogram can be generated using a first cryptographic key and interaction details such as a sender token and a receiver alias (or other identifying information). This cryptogram can be verified by an interaction processing computer (or other suitable entity) using a corresponding cryptographic key and received interaction details. Successful cryptogram verification can indicate that the sender legitimately requested the interaction, as a secure element is not accessible (e.g., for accessing a payment token and generating an authentic cryptogram) unless the sender is authenticated at the sender device. The verification can also validate that the received interaction details are the same as the interaction details originally specified by the sender, and thus they have not been changed in transit (e.g., by a man-in-the-middle attack). Any interaction details used to generate the original cryptogram can be validated. For example, information about the sender (e.g., an alias, a token, an account, etc.), information about the receiver (e.g., an alias, a token, an account, etc.), an interaction value, and/or any other suitable information can be validated. The sender cryptogram can also be generated using one-time values (e.g., a nonce, a timestamp, counter, etc.), and thereby be used to validate that the an interaction request is unique (e.g., it is a not a replay attack).
- Embodiments of the invention can further improve interaction security by introducing a receiver cryptogram. A receiver cryptogram can be generated using similar interaction details as a sender cryptogram. However, a receiver cryptogram can have more specific receiver-associated information, such as a receiver token or account identifier. Also, a receiver cryptogram can be generated using a receiver-associated cryptographic key. Accordingly, verifying a receiver cryptogram can indicate that the correct receiver legitimately accepted and approved of the interaction, as a secure element is not accessible (e.g., for accessing a payment token and generating an authentic cryptogram) unless the receiver is authenticated at the receiver device. The verification can also confirm that a receiver token (or other account information) in the interaction details has not been changed (e.g., by a man-in-the-middle attack).
- Embodiments of the invention can further advantageously utilize multiple cryptograms together. For example, both a sender cryptogram and receiver cryptogram can be generated and verified for the same interaction. Both cryptograms can be generated and verified using the same or similar interaction details. As a result, an interaction processing computer can validate that both the sender and receiver agreed to the same interaction details, even though they conducted the interaction remotely via their respective devices. In other words, the sender and receiver have viewed the interaction details in different locations (e.g., physically separate regions) and at different times (e.g., the sender first initiates the interaction, and the receiver views and accepts the interaction at a later time). Cryptograms with agreeing interaction details can validate that the interaction details were not changed when transmitted between the sender device and the interaction processing computer, between the sender device and the receiver device, or between the receiver device and the interaction processing computer.
- Embodiments of the invention can also improve interaction security by digitally signing the interaction details. A coordination computer that assembles interaction details received from the sender device and receiver device can create a digital signature based on the interaction details and a cryptographic key. An interaction processing computer that receives the interaction details in an interaction request from the coordination computer can then verify the digital signature using a corresponding cryptographic key. Accordingly, the interaction processing computer can be further confident that the interaction has not been altered since transmission from the coordination computer.
- Embodiments of the invention advantageously allow interactions to take place without requiring that a coordination computer (e.g., a digital wallet computer) store and maintain tokens or other account information associated with the sender or receiver. This improves operational efficiency and reduces security risk at the coordination computer. Embodiments allow tokens to instead by managed at the sender device and receiver device. For example, a token can be retrieved from a secure memory at the sender device when an interaction is being conducted. The token can be sent along with an interaction request, but need not be stored by the coordination computer. Similarly, a receiver device can provide a token (or other account information) when prompted.
- A computer system will now be described that may be used to implement any of the entities or components described herein. Subsystems in the computer system are interconnected via a system bus. Additional subsystems include a printer, a keyboard, a fixed disk, and a monitor which can be coupled to a display adapter. Peripherals and input/output (I/O) devices, which can couple to an I/O controller, can be connected to the computer system by any number of means known in the art, such as a serial port. For example, a serial port or external interface can be used to connect the computer apparatus to a wide area network such as the Internet, a mouse input device, or a scanner. The interconnection via system bus allows the central processor to communicate with each subsystem and to control the execution of instructions from system memory or the fixed disk, as well as the exchange of information between subsystems. The system memory and/or the fixed disk may embody a computer-readable medium.
- As described, the inventive service may involve implementing one or more functions, processes, operations or method steps. In some embodiments, the functions, processes, operations or method steps may be implemented as a result of the execution of a set of instructions or software code by a suitably-programmed computing device, microprocessor, data processor, or the like. The set of instructions or software code may be stored in a memory or other form of data storage element which is accessed by the computing device, microprocessor, etc. In other embodiments, the functions, processes, operations or method steps may be implemented by firmware or a dedicated processor, integrated circuit, etc.
- Any of the software components or functions described in this application may be implemented as software code to be executed by a processor using any suitable computer language such as, for example, Java, C++ or Perl using, for example, conventional or object-oriented techniques. The software code may be stored as a series of instructions, or commands on a computer-readable medium, such as a random access memory (RAM), a read-only memory (ROM), a magnetic medium such as a hard-drive or a floppy disk, or an optical medium such as a CD-ROM. Any such computer-readable medium may reside on or within a single computational apparatus, and may be present on or within different computational apparatuses within a system or network.
- While certain exemplary embodiments have been described in detail and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not intended to be restrictive of the broad invention, and that this invention is not to be limited to the specific arrangements and constructions shown and described, since various other modifications may occur to those with ordinary skill in the art.
- As used herein, the use of “a”, “an” or “the” is intended to mean “at least one”, unless specifically indicated to the contrary.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/920,251 US20200336315A1 (en) | 2016-03-15 | 2020-07-02 | Validation cryptogram for transaction |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662308788P | 2016-03-15 | 2016-03-15 | |
US15/456,288 US10742419B2 (en) | 2016-03-15 | 2017-03-10 | Validation cryptogram for transaction |
US16/920,251 US20200336315A1 (en) | 2016-03-15 | 2020-07-02 | Validation cryptogram for transaction |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/456,288 Continuation US10742419B2 (en) | 2016-03-15 | 2017-03-10 | Validation cryptogram for transaction |
Publications (1)
Publication Number | Publication Date |
---|---|
US20200336315A1 true US20200336315A1 (en) | 2020-10-22 |
Family
ID=59852380
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/456,288 Active 2037-08-01 US10742419B2 (en) | 2016-03-15 | 2017-03-10 | Validation cryptogram for transaction |
US16/920,251 Abandoned US20200336315A1 (en) | 2016-03-15 | 2020-07-02 | Validation cryptogram for transaction |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/456,288 Active 2037-08-01 US10742419B2 (en) | 2016-03-15 | 2017-03-10 | Validation cryptogram for transaction |
Country Status (6)
Country | Link |
---|---|
US (2) | US10742419B2 (en) |
EP (2) | EP3430563B1 (en) |
CN (2) | CN114650139A (en) |
AU (1) | AU2017234653A1 (en) |
CA (1) | CA3014929A1 (en) |
WO (1) | WO2017160660A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4298578A4 (en) * | 2021-02-25 | 2024-01-31 | Visa International Service Association | Digital tag including request for interaction |
EP4348552A4 (en) * | 2021-05-27 | 2024-04-10 | Visa International Service Association | User verification with digital tag |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11257085B1 (en) * | 2015-12-11 | 2022-02-22 | Wells Fargo Bank, N.A | Systems and methods for authentication device-assisted transactions |
WO2017120605A1 (en) | 2016-01-07 | 2017-07-13 | Visa International Service Association | Systems and methods for device push provisioning |
SG10201606177UA (en) * | 2016-07-26 | 2018-02-27 | Mastercard International Inc | Method And System For Transferring Funds From A Sender Account To A Receiver Account |
US11070378B1 (en) * | 2016-11-07 | 2021-07-20 | Wells Fargo Bank, N.A. | Signcrypted biometric electronic signature tokens |
SE541713C2 (en) * | 2017-05-03 | 2019-12-03 | Enigio Time Ab | Method and system for registering digital documents |
US11494765B2 (en) * | 2017-05-11 | 2022-11-08 | Visa International Service Association | Secure remote transaction system using mobile devices |
WO2018213419A1 (en) * | 2017-05-16 | 2018-11-22 | Apple Inc. | Facilitating a fund transfer between user accounts |
US20180374082A1 (en) * | 2017-06-23 | 2018-12-27 | Mastercard International Incorporated | Fund transfer orchestration switch and method |
US11593798B2 (en) * | 2017-08-02 | 2023-02-28 | Wepay, Inc. | Systems and methods for instant merchant activation for secured in-person payments at point of sale |
US10956905B2 (en) * | 2017-10-05 | 2021-03-23 | The Toronto-Dominion Bank | System and method of session key generation and exchange |
US20190228410A1 (en) * | 2018-01-24 | 2019-07-25 | Mastercard International Incorporated | Method and system for generating and using contextual cryptograms for proximity and e-commerce payment |
WO2019190522A1 (en) * | 2018-03-29 | 2019-10-03 | Visa International Service Association | Consensus-based online authentication |
CN116346461A (en) * | 2018-04-24 | 2023-06-27 | 维萨国际服务协会 | Efficient and secure authentication system |
US10510074B1 (en) * | 2019-02-01 | 2019-12-17 | Capital One Services, Llc | One-tap payment using a contactless card |
US20200279258A1 (en) * | 2019-03-01 | 2020-09-03 | Visa International Service Association | Mobile payments using multiple cryptographic protocols |
US10984416B2 (en) * | 2019-03-20 | 2021-04-20 | Capital One Services, Llc | NFC mobile currency transfer |
WO2021119495A1 (en) * | 2019-12-13 | 2021-06-17 | Visa International Service Association | Token management system and method |
EP3937036A1 (en) * | 2020-07-09 | 2022-01-12 | Thales DIS France SA | Method, user device, verifier device, server and system for authenticating user data while preserving user privacy |
US20220114581A1 (en) * | 2020-10-09 | 2022-04-14 | Mastercard International Incorporated | Personally identifiable information secure person-to-person payment technology |
US11165586B1 (en) * | 2020-10-30 | 2021-11-02 | Capital One Services, Llc | Call center web-based authentication using a contactless card |
US11438329B2 (en) | 2021-01-29 | 2022-09-06 | Capital One Services, Llc | Systems and methods for authenticated peer-to-peer data transfer using resource locators |
Citations (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024395B1 (en) * | 2000-06-16 | 2006-04-04 | Storage Technology Corporation | Method and system for secure credit card transactions |
US7584261B1 (en) * | 2001-02-09 | 2009-09-01 | Microsoft Corporation | Distribution of binary executables and content from peer locations/machines |
US7983421B2 (en) * | 2008-02-01 | 2011-07-19 | Oracle International Corporation | Methods to defend against tampering of audit records |
US20130073859A1 (en) * | 2011-09-21 | 2013-03-21 | Visa International Service Association | Systems and methods to secure user identification |
US20140108247A1 (en) * | 2012-10-17 | 2014-04-17 | Groupon, Inc. | Peer-To-Peer Payment Processing |
US8713325B2 (en) * | 2011-04-19 | 2014-04-29 | Authentify Inc. | Key management using quasi out of band authentication architecture |
US20150006895A1 (en) * | 2009-06-01 | 2015-01-01 | Maidsafe Foundation | Distributed network system |
US9078128B2 (en) * | 2011-06-03 | 2015-07-07 | Apple Inc. | System and method for secure identity service |
US9317849B2 (en) * | 2001-01-19 | 2016-04-19 | Mastercard Mobile Transactions Solutions, Inc. | Using confidential information to prepare a request and to suggest offers without revealing confidential information |
US20170186001A1 (en) * | 2009-11-05 | 2017-06-29 | Judson Reed | Encryption switch processing |
US20170236123A1 (en) * | 2016-02-16 | 2017-08-17 | Blockstack Inc. | Decentralized processing of global naming systems |
US10114970B2 (en) * | 2015-06-02 | 2018-10-30 | ALTR Solutions, Inc. | Immutable logging of access requests to distributed file systems |
US10193696B2 (en) * | 2015-06-02 | 2019-01-29 | ALTR Solutions, Inc. | Using a tree structure to segment and distribute records across one or more decentralized, acylic graphs of cryptographic hash pointers |
US10235692B2 (en) * | 2012-10-17 | 2019-03-19 | Groupon, Inc. | Consumer presence based deal offers |
US20190207749A1 (en) * | 2018-01-04 | 2019-07-04 | Sap Se | Validating shipment batches using distributed ledger systems |
US10423993B2 (en) * | 2015-12-28 | 2019-09-24 | Raise Marketplace, Llc | Authenticating an exchange item in an exchange item marketplace network |
US20190295074A1 (en) * | 2014-11-12 | 2019-09-26 | BenedorTSE LLC | Secure authorizations using independent communications and different one-time-use encryption keys for each party to a transaction |
US20190356641A1 (en) * | 2014-03-31 | 2019-11-21 | Monticello Enterprises LLC | System and Method for Performing Social Media Cryptocurrency Transactions |
US10504179B1 (en) * | 2015-12-08 | 2019-12-10 | Fmr Llc | Social aggregated fractional equity transaction partitioned acquisition apparatuses, methods and systems |
US10523421B2 (en) * | 2016-11-30 | 2019-12-31 | International Business Machines Corporation | Checkpoints for permissionless blockchains |
US20200151384A1 (en) * | 2002-09-10 | 2020-05-14 | Sqgo Innovations, Llc | System and method for provisioning a mobile software application to a mobile device |
US20200320512A1 (en) * | 2013-03-11 | 2020-10-08 | Groupon, Inc. | Consumer device based point-of-sale |
US10936687B1 (en) * | 2010-04-21 | 2021-03-02 | Richard Paiz | Codex search patterns virtual maestro |
US20210266167A1 (en) * | 2015-07-14 | 2021-08-26 | Fmr Llc | Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US20210295305A1 (en) * | 2013-07-15 | 2021-09-23 | Visa International Service Association | Secure remote payment transaction processing |
US20210304200A1 (en) * | 2020-03-24 | 2021-09-30 | Securrency, Inc. | Method, apparatus, and computer-readable medium for secured multi-lateral data exchange over a computer network |
US20210326843A1 (en) * | 2015-12-31 | 2021-10-21 | Paypal, Inc. | Fault tolerant token based transaction systems |
US20220003676A1 (en) * | 2006-12-06 | 2022-01-06 | Mohammad A. Mazed | Optical biomodule for detection of diseases at an early onset |
US20220292471A1 (en) * | 2016-02-23 | 2022-09-15 | nChain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
US20230015824A1 (en) * | 2012-05-02 | 2023-01-19 | Imageworks Interactive | Security approach for manufacturing inventory management |
US20230080322A1 (en) * | 2018-05-11 | 2023-03-16 | Civic Technologies, Inc. | User id codes for online verification |
US20230169553A1 (en) * | 2015-12-28 | 2023-06-01 | Raise Marketplace, Llc | Determining an automatic acquisition approach for an exchange item request |
US20230350868A1 (en) * | 2012-05-02 | 2023-11-02 | Imageworks Interactive | Security approach for asset management |
Family Cites Families (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995019672A2 (en) * | 1994-01-13 | 1995-07-20 | Bankers Trust Company | Cryptographic system and method with key escrow feature |
FR2720209B1 (en) * | 1994-05-20 | 1996-06-21 | France Telecom | Method for carrying out a secure electronic transaction. |
US7133846B1 (en) * | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management |
CN1187258A (en) * | 1995-06-07 | 1998-07-08 | 国有花旗银行 | Trusted agents for open distribution of electronic money |
US5812669A (en) * | 1995-07-19 | 1998-09-22 | Jenkins; Lew | Method and system for providing secure EDI over an open network |
US5671279A (en) * | 1995-11-13 | 1997-09-23 | Netscape Communications Corporation | Electronic commerce using a secure courier system |
US5765176A (en) * | 1996-09-06 | 1998-06-09 | Xerox Corporation | Performing document image management tasks using an iconic image having embedded encoded information |
CN1664828A (en) * | 1997-08-13 | 2005-09-07 | 松下电器产业株式会社 | Mobile e-commerce system |
US7328350B2 (en) * | 2001-03-29 | 2008-02-05 | Arcot Systems, Inc. | Method and apparatus for secure cryptographic key generation, certification and use |
US6170058B1 (en) * | 1997-12-23 | 2001-01-02 | Arcot Systems, Inc. | Method and apparatus for cryptographically camouflaged cryptographic key storage, certification and use |
JP2002514839A (en) * | 1998-05-05 | 2002-05-21 | シー. チェン,ジェイ | Cryptographic system and method for electronic commerce |
US20020029200A1 (en) * | 1999-09-10 | 2002-03-07 | Charles Dulin | System and method for providing certificate validation and other services |
JP2004500593A (en) * | 1999-10-07 | 2004-01-08 | ドイッチェ・ポスト・アクチェンゲゼルシャフト | Security module and method for creating anti-counterfeit documents |
US7130807B1 (en) * | 1999-11-22 | 2006-10-31 | Accenture Llp | Technology sharing during demand and supply planning in a network-based supply chain environment |
US7124101B1 (en) * | 1999-11-22 | 2006-10-17 | Accenture Llp | Asset tracking in a network-based supply chain environment |
US6629081B1 (en) * | 1999-12-22 | 2003-09-30 | Accenture Llp | Account settlement and financing in an e-commerce environment |
US7065547B2 (en) * | 2000-03-09 | 2006-06-20 | Persels Conrad G | Integrated on-line system with enchanced data transfer protocol |
IL137099A (en) * | 2000-06-29 | 2006-12-10 | Yona Flink | Method for carrying out secure digital signature and a system therefor |
US6836765B1 (en) * | 2000-08-30 | 2004-12-28 | Lester Sussman | System and method for secure and address verifiable electronic commerce transactions |
US20030021417A1 (en) * | 2000-10-20 | 2003-01-30 | Ognjen Vasic | Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data |
US20070136817A1 (en) * | 2000-12-07 | 2007-06-14 | Igt | Wager game license management in a peer gaming network |
US6865681B2 (en) * | 2000-12-29 | 2005-03-08 | Nokia Mobile Phones Ltd. | VoIP terminal security module, SIP stack with security manager, system and security methods |
US6931382B2 (en) * | 2001-01-24 | 2005-08-16 | Cdck Corporation | Payment instrument authorization technique |
CA2332656A1 (en) * | 2001-01-26 | 2002-07-26 | Certapay Inc. | Online payment transfer and identity management system and method |
US9219708B2 (en) * | 2001-03-22 | 2015-12-22 | DialwareInc. | Method and system for remotely authenticating identification devices |
US7136840B2 (en) * | 2001-04-20 | 2006-11-14 | Intertrust Technologies Corp. | Systems and methods for conducting transactions and communications using a trusted third party |
EP1282089B1 (en) * | 2001-08-03 | 2009-12-16 | Telefonaktiebolaget LM Ericsson (publ) | Method and devices for inter-terminal payments |
US6874089B2 (en) * | 2002-02-25 | 2005-03-29 | Network Resonance, Inc. | System, method and computer program product for guaranteeing electronic transactions |
US7349871B2 (en) * | 2002-08-08 | 2008-03-25 | Fujitsu Limited | Methods for purchasing of goods and services |
US20040107170A1 (en) * | 2002-08-08 | 2004-06-03 | Fujitsu Limited | Apparatuses for purchasing of goods and services |
US7801826B2 (en) * | 2002-08-08 | 2010-09-21 | Fujitsu Limited | Framework and system for purchasing of goods and services |
US8239319B2 (en) * | 2004-03-22 | 2012-08-07 | The Western Union Company | Equipment to facilitate money transfers into bank accounts |
US7809700B2 (en) * | 2004-04-09 | 2010-10-05 | Capital One Financial Corporation | Methods and systems for verifying the accuracy of reported information |
US8016185B2 (en) | 2004-07-06 | 2011-09-13 | Visa International Service Association | Money transfer service with authentication |
KR100930457B1 (en) | 2004-08-25 | 2009-12-08 | 에스케이 텔레콤주식회사 | Authentication and payment system and method using mobile communication terminal |
US20060090085A1 (en) * | 2004-10-23 | 2006-04-27 | Mckenney Paul E | Method and apparatus for improving computer security |
US20070174636A1 (en) * | 2005-02-23 | 2007-07-26 | Robert Raja | Methods, systems, and apparatus for encrypting e-mail |
US7650383B2 (en) * | 2005-03-15 | 2010-01-19 | Aol Llc | Electronic message system with federation of trusted senders |
US20070130462A1 (en) * | 2005-12-06 | 2007-06-07 | Law Eric C W | Asynchronous encryption for secured electronic communications |
US20070125838A1 (en) * | 2005-12-06 | 2007-06-07 | Law Eric C W | Electronic wallet management |
US20070125840A1 (en) * | 2005-12-06 | 2007-06-07 | Boncle, Inc. | Extended electronic wallet management |
EP2407919A1 (en) | 2006-03-30 | 2012-01-18 | Obopay Inc. | Mobile person-to-person payment system |
US7331518B2 (en) * | 2006-04-04 | 2008-02-19 | Factortrust, Inc. | Transaction processing systems and methods |
US9002018B2 (en) * | 2006-05-09 | 2015-04-07 | Sync Up Technologies Corporation | Encryption key exchange system and method |
CN101689230A (en) * | 2006-12-05 | 2010-03-31 | 安全第一公司 | Improved tape backup method |
CN101308557A (en) * | 2007-05-17 | 2008-11-19 | 祁勇 | Method for implementing secured electronic charging |
US8205081B2 (en) * | 2007-06-09 | 2012-06-19 | Apple Inc. | Systems and methods for verifying the authenticity of a remote device |
US8295486B2 (en) * | 2007-09-28 | 2012-10-23 | Research In Motion Limited | Systems, devices, and methods for outputting alerts to indicate the use of a weak hash function |
EP2106642A4 (en) * | 2008-01-07 | 2015-12-02 | Security First Corp | Systems and methods for securing data using multi-factor or keyed dispersal |
US7996475B2 (en) * | 2008-07-03 | 2011-08-09 | Barracuda Networks Inc | Facilitating transmission of email by checking email parameters with a database of well behaved senders |
CN101741820B (en) * | 2008-11-13 | 2013-12-18 | 华为技术有限公司 | Method, system and device for recognizing and determining color graphic adapter (CGA) public key |
US20110085667A1 (en) * | 2009-10-09 | 2011-04-14 | Adgregate Markets, Inc. | Various methods and apparatuses for securing an application container |
US8296568B2 (en) * | 2009-10-27 | 2012-10-23 | Google Inc. | Systems and methods for authenticating an electronic transaction |
US9197676B2 (en) * | 2010-01-14 | 2015-11-24 | Blackberry Limited | System and method for reducing message signaling |
US20120284506A1 (en) * | 2010-04-30 | 2012-11-08 | T-Central, Inc. | Methods and apparatus for preventing crimeware attacks |
US20110296193A1 (en) * | 2010-05-28 | 2011-12-01 | King Saud University | Code-based hashing for message authentication codes |
US9253199B2 (en) * | 2010-09-09 | 2016-02-02 | Red Hat, Inc. | Verifying authenticity of a sender of an electronic message sent to a recipient using message salt |
US20140207680A1 (en) * | 2011-10-17 | 2014-07-24 | Capital One Financial Corporation | System and method for providing a mobile wallet shopping companion application |
US9105025B2 (en) * | 2011-10-17 | 2015-08-11 | Capital One Financial Corporation | Enhanced near field communications attachment |
US9792593B2 (en) | 2011-11-23 | 2017-10-17 | The Toronto-Dominion Bank | System and method for processing an online transaction request |
CN103377427A (en) * | 2012-04-18 | 2013-10-30 | 张永红 | Information interaction system and method thereof |
US20130282589A1 (en) * | 2012-04-20 | 2013-10-24 | Conductiv Software, Inc. | Multi-factor mobile transaction authentication |
CN108259507B (en) * | 2012-04-25 | 2020-12-08 | 华为技术有限公司 | System and method for adaptive streaming segment integrity and authenticity |
US20130307670A1 (en) * | 2012-05-15 | 2013-11-21 | Jonathan E. Ramaci | Biometric authentication system |
US8667288B2 (en) * | 2012-05-29 | 2014-03-04 | Robert Bosch Gmbh | System and method for message verification in broadcast and multicast networks |
US20140089205A1 (en) | 2012-09-21 | 2014-03-27 | Shashi Kapur | System and Method of Processing PIN-Based Payment Transactions Via Mobile Devices |
EP2738724A1 (en) * | 2012-12-03 | 2014-06-04 | The Roberto Giori Company Ltd. | System and method for transferring electronic money |
US20140379584A1 (en) * | 2013-06-25 | 2014-12-25 | FraudFree Finance, LLC | Anti-fraud financial transaction method |
US8892462B1 (en) * | 2013-10-22 | 2014-11-18 | Square, Inc. | Proxy card payment with digital receipt delivery |
US10671993B2 (en) * | 2013-12-11 | 2020-06-02 | Visa International Service Association | Location-based mobile access device configuration system and method |
CN103955828A (en) * | 2014-05-13 | 2014-07-30 | 陈业军 | System and method for point-to-point payment |
SG10201404137XA (en) * | 2014-07-16 | 2016-02-26 | Mastercard Asia Pacific Pte Ltd | Method and System for Facilitating Authorization of a Transaction |
CN105323223B (en) * | 2014-07-18 | 2018-09-21 | 中国电信股份有限公司 | The method and system that mobile terminal passes through point-to-point mode transmission process transaction data |
US9684597B1 (en) * | 2014-08-07 | 2017-06-20 | Chelsio Communications, Inc. | Distributed cache coherent shared memory controller integrated with a protocol offload network interface card |
US9559849B1 (en) * | 2014-09-18 | 2017-01-31 | Amazon Technologies, Inc. | Service-to-service digital path tracing |
US20180240107A1 (en) * | 2015-03-27 | 2018-08-23 | Black Gold Coin, Inc. | Systems and methods for personal identification and verification |
US20160380770A1 (en) * | 2015-06-23 | 2016-12-29 | Trifone Whitmer | System and Method for Hash-Based Data Stream Authentication |
US10313129B2 (en) * | 2015-06-26 | 2019-06-04 | Intel Corporation | Keyed-hash message authentication code processors, methods, systems, and instructions |
US20180191503A1 (en) * | 2015-07-14 | 2018-07-05 | Fmr Llc | Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US9849364B2 (en) * | 2016-02-02 | 2017-12-26 | Bao Tran | Smart device |
CN108509810A (en) * | 2018-03-19 | 2018-09-07 | 宋钰 | Data processing method and system |
-
2017
- 2017-03-10 EP EP17767229.2A patent/EP3430563B1/en active Active
- 2017-03-10 EP EP20195142.3A patent/EP3779753A3/en active Pending
- 2017-03-10 CN CN202210296574.2A patent/CN114650139A/en active Pending
- 2017-03-10 CN CN201780017915.5A patent/CN108885670B/en active Active
- 2017-03-10 US US15/456,288 patent/US10742419B2/en active Active
- 2017-03-10 CA CA3014929A patent/CA3014929A1/en not_active Abandoned
- 2017-03-10 AU AU2017234653A patent/AU2017234653A1/en not_active Abandoned
- 2017-03-10 WO PCT/US2017/021939 patent/WO2017160660A2/en active Application Filing
-
2020
- 2020-07-02 US US16/920,251 patent/US20200336315A1/en not_active Abandoned
Patent Citations (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024395B1 (en) * | 2000-06-16 | 2006-04-04 | Storage Technology Corporation | Method and system for secure credit card transactions |
US9317849B2 (en) * | 2001-01-19 | 2016-04-19 | Mastercard Mobile Transactions Solutions, Inc. | Using confidential information to prepare a request and to suggest offers without revealing confidential information |
US7584261B1 (en) * | 2001-02-09 | 2009-09-01 | Microsoft Corporation | Distribution of binary executables and content from peer locations/machines |
US20200151384A1 (en) * | 2002-09-10 | 2020-05-14 | Sqgo Innovations, Llc | System and method for provisioning a mobile software application to a mobile device |
US20220003676A1 (en) * | 2006-12-06 | 2022-01-06 | Mohammad A. Mazed | Optical biomodule for detection of diseases at an early onset |
US7983421B2 (en) * | 2008-02-01 | 2011-07-19 | Oracle International Corporation | Methods to defend against tampering of audit records |
US20150006895A1 (en) * | 2009-06-01 | 2015-01-01 | Maidsafe Foundation | Distributed network system |
US20170186001A1 (en) * | 2009-11-05 | 2017-06-29 | Judson Reed | Encryption switch processing |
US10936687B1 (en) * | 2010-04-21 | 2021-03-02 | Richard Paiz | Codex search patterns virtual maestro |
US8713325B2 (en) * | 2011-04-19 | 2014-04-29 | Authentify Inc. | Key management using quasi out of band authentication architecture |
US9078128B2 (en) * | 2011-06-03 | 2015-07-07 | Apple Inc. | System and method for secure identity service |
US20130073859A1 (en) * | 2011-09-21 | 2013-03-21 | Visa International Service Association | Systems and methods to secure user identification |
US20230350868A1 (en) * | 2012-05-02 | 2023-11-02 | Imageworks Interactive | Security approach for asset management |
US20230015824A1 (en) * | 2012-05-02 | 2023-01-19 | Imageworks Interactive | Security approach for manufacturing inventory management |
US20140108247A1 (en) * | 2012-10-17 | 2014-04-17 | Groupon, Inc. | Peer-To-Peer Payment Processing |
US10235692B2 (en) * | 2012-10-17 | 2019-03-19 | Groupon, Inc. | Consumer presence based deal offers |
US20220044282A1 (en) * | 2012-10-17 | 2022-02-10 | Groupon, Inc. | Consumer presence based deal offers |
US20200320512A1 (en) * | 2013-03-11 | 2020-10-08 | Groupon, Inc. | Consumer device based point-of-sale |
US20210295305A1 (en) * | 2013-07-15 | 2021-09-23 | Visa International Service Association | Secure remote payment transaction processing |
US20190356641A1 (en) * | 2014-03-31 | 2019-11-21 | Monticello Enterprises LLC | System and Method for Performing Social Media Cryptocurrency Transactions |
US20190295074A1 (en) * | 2014-11-12 | 2019-09-26 | BenedorTSE LLC | Secure authorizations using independent communications and different one-time-use encryption keys for each party to a transaction |
US10193696B2 (en) * | 2015-06-02 | 2019-01-29 | ALTR Solutions, Inc. | Using a tree structure to segment and distribute records across one or more decentralized, acylic graphs of cryptographic hash pointers |
US10114970B2 (en) * | 2015-06-02 | 2018-10-30 | ALTR Solutions, Inc. | Immutable logging of access requests to distributed file systems |
US20210266167A1 (en) * | 2015-07-14 | 2021-08-26 | Fmr Llc | Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US10504179B1 (en) * | 2015-12-08 | 2019-12-10 | Fmr Llc | Social aggregated fractional equity transaction partitioned acquisition apparatuses, methods and systems |
US10423993B2 (en) * | 2015-12-28 | 2019-09-24 | Raise Marketplace, Llc | Authenticating an exchange item in an exchange item marketplace network |
US20230042977A1 (en) * | 2015-12-28 | 2023-02-09 | Raise Marketplace, Llc | Encrypting a portion of a block of an exchange item transactions chain |
US20230078239A1 (en) * | 2015-12-28 | 2023-03-16 | Raise Marketplace, Llc | Variable contract function information for an exchange item |
US20230169553A1 (en) * | 2015-12-28 | 2023-06-01 | Raise Marketplace, Llc | Determining an automatic acquisition approach for an exchange item request |
US20230177575A1 (en) * | 2015-12-28 | 2023-06-08 | Raise Marketplace, Llc | Obtaining an additional exchange item during a transaction utilizing an exchange item |
US11694243B2 (en) * | 2015-12-28 | 2023-07-04 | Raise Marketplace, Llc | Injecting exchange items into an exchange item marketplace network |
US20210326843A1 (en) * | 2015-12-31 | 2021-10-21 | Paypal, Inc. | Fault tolerant token based transaction systems |
US20170236123A1 (en) * | 2016-02-16 | 2017-08-17 | Blockstack Inc. | Decentralized processing of global naming systems |
US20220292471A1 (en) * | 2016-02-23 | 2022-09-15 | nChain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
US10523421B2 (en) * | 2016-11-30 | 2019-12-31 | International Business Machines Corporation | Checkpoints for permissionless blockchains |
US20190207749A1 (en) * | 2018-01-04 | 2019-07-04 | Sap Se | Validating shipment batches using distributed ledger systems |
US20230080322A1 (en) * | 2018-05-11 | 2023-03-16 | Civic Technologies, Inc. | User id codes for online verification |
US20210304200A1 (en) * | 2020-03-24 | 2021-09-30 | Securrency, Inc. | Method, apparatus, and computer-readable medium for secured multi-lateral data exchange over a computer network |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4298578A4 (en) * | 2021-02-25 | 2024-01-31 | Visa International Service Association | Digital tag including request for interaction |
EP4348552A4 (en) * | 2021-05-27 | 2024-04-10 | Visa International Service Association | User verification with digital tag |
Also Published As
Publication number | Publication date |
---|---|
EP3430563A2 (en) | 2019-01-23 |
CN108885670B (en) | 2022-04-08 |
WO2017160660A2 (en) | 2017-09-21 |
WO2017160660A3 (en) | 2018-08-23 |
CN114650139A (en) | 2022-06-21 |
EP3779753A3 (en) | 2021-05-12 |
US10742419B2 (en) | 2020-08-11 |
AU2017234653A1 (en) | 2018-08-23 |
EP3430563B1 (en) | 2020-09-09 |
US20170272253A1 (en) | 2017-09-21 |
EP3779753A2 (en) | 2021-02-17 |
CA3014929A1 (en) | 2017-09-21 |
EP3430563A4 (en) | 2019-03-20 |
CN108885670A (en) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200336315A1 (en) | Validation cryptogram for transaction | |
US11710120B2 (en) | Secure remote payment transaction processing including consumer authentication | |
US11847643B2 (en) | Secure remote payment transaction processing using a secure element | |
US10826702B2 (en) | Secure authentication of user and mobile device | |
US10652028B2 (en) | Systems and methods for secure detokenization | |
US9521548B2 (en) | Secure registration of a mobile device for use with a session | |
US20150142670A1 (en) | Systems and methods for software based encryption | |
US20220353253A1 (en) | Secure and accurate provisioning system and method | |
US11574310B2 (en) | Secure authentication system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |