Source: https://patents.google.com/patent/JP2009526321A/en
Timestamp: 2020-03-29 04:38:32
Document Index: 749079449

Matched Legal Cases: ['Application No. 11', 'Application No. 11', 'Application No. 10', 'art 40', 'art 42', 'art 40', 'art 42']

JP2009526321A - System for executing a transaction in a point-of-sale information management terminal using a changing identifier - Google Patents
System for executing a transaction in a point-of-sale information management terminal using a changing identifier Download PDF
JP2009526321A
JP2009526321A JP2008554348A JP2008554348A JP2009526321A JP 2009526321 A JP2009526321 A JP 2009526321A JP 2008554348 A JP2008554348 A JP 2008554348A JP 2008554348 A JP2008554348 A JP 2008554348A JP 2009526321 A JP2009526321 A JP 2009526321A
JP2008554348A
コクラン，ウィリアム
セラーズ，ウィリアム・アール
マリーナ，リチャード
イマジニア・ソフトウェア，インコーポレーテッド
2006-02-08 Priority to US77136606P priority Critical
2006-02-08 Priority to US77139806P priority
2007-02-08 Application filed by イマジニア・ソフトウェア，インコーポレーテッド filed Critical イマジニア・ソフトウェア，インコーポレーテッド
2007-02-08 Priority to PCT/US2007/003410 priority patent/WO2007092577A2/en
2009-07-16 Publication of JP2009526321A publication Critical patent/JP2009526321A/en
A POS terminal used in executing a transaction between a first entity and a second entity at a point of sale (POS) terminal. The POS terminal is associated with the second entity. The POS terminal stores the second change identifier, receives encrypted transaction information from the account information holder device via the communication link, and sends the encrypted first and second transaction information to the authentication means. The second change identifier is received from the authentication means. The processor is configured to encrypt the transaction information using the second change identifier to generate the second encrypted transaction information.
RELATED APPLICATIONS This application claims priority to US Provisional Applications Nos. 60/771366 and 60/771398, filed Feb. 8, 2006, the entire contents of both applications are hereby incorporated by reference. Incorporated into. This application is also a continuation-in-part of U.S. Application No. 11/368959, filed on March 6, 2006, which is filed on U.S. Application No. 11/286890 filed on November 23, 2005. This application is a continuation-in-part of US Application No. 10/854604 filed on May 26, 2004 and is filed on February 27, 2003. US patent application Ser. No. 10/248894, which is a continuation-in-part of US application Ser. No. 60/360023, filed Feb. 27, 2002 Is incorporated herein by reference in its entirety.
As the use of credit cards, debit cards, and other non-cash payment forms increases, the account information used to access the payment account is between the entities involved in the transaction. And must be sent securely. Conventionally, the account information is acquired by a point-of-sale (POS) point-of-sale (POS) terminal of the seller (vendor), and the seller and the payment authentication means (payment authenticator) Transmitted over a secure communication link between.
However, in the above protocol, the account information is provided to the seller as clear text, and if the account information is somehow stolen by the eavesdropper over a secure communication link, the eavesdropper uses the account information to A fake transaction can be started.
Embodiments of the present invention provide a method and system for conducting a transaction at a seller's POS device using a mutating identifier (ID). Specifically, embodiments of the present invention relate to buyers such as cellular phones, personal digital assistants (PDAs), audio players (eg, moving picture expert group layer 3 audio (MP3) players), etc. Method for encrypting account information using a one-time-use changing ID (change ID) using an account information carrier (AIC) device And provide system. The AIC device stores account information relating to the buyer's account or accounts and a one-time change ID assigned by a trusted authenticator. When the buyer starts a transaction, the AIC device encrypts the account information using the change ID that can be used only once, and transmits the encrypted account information to the seller's POS terminal. The seller's POS terminal sends the encrypted account information and transaction information (eg, transaction price and seller's identifier) to the authenticator for verification and / or payment approval and completion. In some embodiments, the AIC device can also be used for a single transaction, and the one-time-use account information that cannot be reused afterwards is also used to authenticate the user (eg, the account of the user of the AIC device). Acquired from the payment authentication means to be managed).
Some embodiments of the present invention provide a method for performing a transaction between a first entity and a second entity at a physical location of a POS terminal associated with the second entity. One method encrypts buyer transaction information using a first change identifier stored in an account information holder device associated with the first entity to generate encrypted buyer transaction information. Transmitting the encrypted buyer transaction information to the authenticating means via at least one communication link; and generating the encrypted seller transaction information stored in the POS terminal. Encrypting the seller transaction information using the change identifier of 2; transmitting the encrypted seller transaction information from the POS terminal to the authentication means via at least one communication link; and storing account information Receiving a third change identifier from the authentication means at the body device; receiving a fourth change identifier from the authentication means at the POS terminal; In testimony means, including the steps of: marking the first change identifier and second change identifier as dirty, the.
Another embodiment of the present invention provides a method for managing transactions between a first entity and a second entity at the physical location of the POS terminal of the second entity by means of authentication. One method includes providing a first change identifier to an account information holder device associated with the first entity via at least one communication link; and a second change identifier to at least one communication. Providing the POS terminal via a link and receiving encrypted transaction information from at least one of the account information holder device and the POS terminal via at least one communication link. The transaction information is encrypted using at least one of the first change identifier and the second change identifier. The method also includes decrypting the encrypted transaction information using at least one of the first change identifier and the second change identifier to obtain the decrypted transaction information; Generating a payment request based on the canceled transaction information; transmitting the payment request to the payment authenticator via at least one communication link; and a first change identifier and a second change identifier. Marking as used.
A further embodiment provides a system for managing transactions between a first entity and a second entity at a POS terminal. One system includes an authentication means, an account information holder device associated with the first entity, and a POS terminal associated with the second entity. The authenticating means is configured to assign a first change identifier to the account information holder device, assign a second change identifier to the POS terminal, and assign a third change identifier to the payment authenticator. The account information holder device encrypts the first transaction information using the first change identifier and generates the encrypted first transaction information to generate the first encrypted transaction information. It is configured to transmit to the authentication means via at least one communication link. The POS terminal encrypts the second transaction information using the second change identifier and generates at least one encrypted first transaction information to generate the second encrypted transaction information. It is arranged to transmit to the authentication means via one communication link. The authenticator also decrypts the first encrypted transaction information using the first change identifier to obtain the first transaction information, and obtains the second transaction information. Decrypting the second encrypted transaction information using the second change identifier, generating a payment request based on the first transaction information and the second transaction information, and encrypting the payment request To encrypt the payment request using the third change identifier, send the encrypted payment request to the payment authenticator via the at least one communication link, and It is configured to mark the change identifier and the second change identifier as used.
A further embodiment of the present invention provides an account information holder device for use in performing a transaction between a first entity and a second entity at a POS terminal associated with the second entity. One account information holder device includes a memory module, an input / output module, and a processor. The memory module is configured to store the first change identifier. The input / output module is configured to send the encrypted transaction information to the POS terminal via the at least one communication link and receive the first change identifier from the authentication means. The processor is configured to encrypt the transaction information using the first change identifier to generate encrypted transaction information.
Embodiments of the present invention also provide a POS terminal that is used in performing a transaction between a first entity and a second entity at a POS terminal, the POS terminal being associated with the second entity. One POS terminal includes a memory module, an input / output module, and a processor. The memory module is configured to store the second change identifier. The input / output module receives the encrypted first transaction information from the account information carrier device associated with the first entity via at least one communication link and receives the encrypted first transaction information. And the encrypted second transaction information is sent to the authenticating means via the at least one communication link, and the second change identifier is configured to be received from the authenticating means. The processor is configured to encrypt the transaction information using the second change identifier to generate encrypted second transaction information.
Another embodiment of the present invention provides an authentication means for managing transactions between a first entity and a second entity at a physical location of a POS terminal associated with the second entity. One authentication means includes a memory module, an input / output module, and a processor. The memory module stores a first change identifier assigned to the account information holder device associated with the first entity, stores a second change identifier assigned to the POS terminal, and assigns to the payment authenticator Configured to store a third change identifier to be stored. The input / output module sends the first change identifier to the account information carrier device via the at least one communication link and sends the second change identifier to the POS terminal via the at least one communication link. Send the third change identifier to the payment authenticator via at least one communication link, and send the encrypted first transaction information and the encrypted second transaction information to at least one It is configured to receive from a POS terminal via a communication link. The processor uses the first change identifier to decrypt the first encrypted transaction information and obtains the second transaction information to obtain the first transaction information. And decrypting the second encrypted transaction information using the change identifier, generating a payment request based on the first transaction information and the second transaction information, and generating an encrypted payment request In order to do so, the third change identifier is used to encrypt the payment request and to mark the first change identifier and the second change identifier as used. The input / output module can also be configured to send the encrypted payment request to the payment authenticator.
Before describing embodiments of the present invention in detail, it is understood that the present invention is not limited in detail in its application to the structure and construction of the components set forth in the following description or illustrated in the drawings. I want. The invention is capable of other embodiments and of being practiced or carried out in various ways.
Specifically, some embodiments may include a variety of devices, such as personal or home computers, servers, and processors, or other devices capable of executing programs, ie, sets of instructions, etc. It should be understood that other devices may be implemented using a computer device, including dedicated devices such as set top boxes (eg, digital cable or satellite decoders). In general, some embodiments can be implemented using existing hardware or hardware that can be readily created by one of ordinary skill in the art. Thus, the architecture of an exemplary device will not be described in detail except that the device generally has a processor, memory (any kind), and input and output mechanisms. In some cases, the device may also have one or more operating systems and one or more application programs managed by the operating system. In some embodiments, the hardware device, or software executed by the hardware device, also compresses or decompresses data (depending on the role of the device in the particular embodiment of the invention being implemented). It also provides some ability to decompress) or to encode data or decrypt encrypted data. In some instances, the decompression function may be provided using an available codec, such as a hardware-implemented Moving Picture Expert Group (MPEG) coder. Decryption functionality can be provided using decryption hardware or software modules that are capable of decrypting data that has been encrypted using a particular encryption algorithm. In some embodiments, the encryption algorithm includes a Rijndael algorithm, an example of which is http: // www. esat. kuleuven. ac. be / ~ rijmen / rijndael / rijndaelref. Available in zip.
FIG. 1 illustrates an exemplary system 20 configured to distribute content over a network. In practice, as will be apparent to those skilled in the art, private networks (ie, intranets), the Internet, telephone systems, wireless networks, satellite networks, cable TV networks, and various other private and public networks and systems, etc. One or more networks or communication systems can be used in various combinations to provide the communication links desired or required to make an embodiment or implementation of the present invention. Thus, the present invention is not limited to a specific network or combination of networks. However, in some embodiments, the network or communication system used in the system 20 is a communication, secure socket layer (SSL) that includes data encrypted using some version of line-dahl encryption. It has the ability to support digital and / or secure communications, such as layer) communications, digital signature standard (DSS) communications, or other types of secure communications protocols. In addition, data may be communicated from one entity to another using wired and / or wireless communications, or using other physical media that is physically carried from one entity to another. Can be.
In the embodiment shown in FIG. 1, the system 20 includes three participants: a first device 22, a second device 24, and an authenticator device or means 28. In the exemplary embodiment shown in FIG. 1, it is assumed that the first device 22 has data to be transmitted to the second device 24. Although FIG. 1 only shows a first device 22 and a second device 24, in some embodiments, the system 20 includes many devices, with at least one device being a separate device. Holds data to be transmitted. Further, in some embodiments, the system 20 includes a plurality of authentication means 28.
The first device 22, the second device 24, and the authentication means 28 are connected to each other via two-way links 30, 32, 38. The links 30, 32, 38 can include all or part of the one or more networks described above. In some embodiments, the system 20 uses a key-based encryption algorithm, such as the Reindahl algorithm. The choice of algorithm used in the system 20 is a trade-off between the strength of the algorithm (relative to decoding) and the speed of the algorithm (in terms of processor power to perform the mathematical operations required by the selected algorithm). It can depend on various factors including off.
In some embodiments, as shown in FIG. 1, the authenticator 28 uses a random number generator 39 to generate a number (number) that is used by the protocol that the system 20 implements or complies with. The random number generator 39 can generate a truly random number (ie, a number that is as random as possible with the particular technique used to practice the invention). For example, communication traffic such as a request from a customer to obtain content can be used to generate a random number. Such traffic generally occurs unpredictably. Thus, in contrast to pseudo-random numbers generated using algorithmic methods, random numbers generated based on such traffic are also truly random or nearly truly random.
In some embodiments, the first device 22 and the second device 24 use the change ID to transmit data. An exemplary change ID 38 is shown in FIG. The change ID 38 is an identifier having two parts, that is, a first part 40 and a second part 42. The first part 40 includes an identification number, which is a random number. As shown in FIG. 2, in some embodiments, the two portions of the change ID each include a predetermined number of bits. For example, the first portion 40 and the second portion 42 can each include 256 bits. In other embodiments, the first portion 40 and / or the second portion 42 include a larger number of bits, such as 1 megabit or 1 megabyte.
The second part 42 of the change ID 38 includes a secret key, which is also a random number, and in some embodiments a symmetric encryption key. The change ID can be used only once and cannot be reused thereafter.
Note that although FIG. 2 shows a change ID having only two parts, the change ID can include additional sections or parts. For example, the change ID is for an identification number, a secret key for a first type of data (eg, discoverable data), and a second type of data (eg, uncoverable data). Private key.
The change ID is generated and tracked by the authentication unit 28. Since the change ID is a one-time-use mechanism, the first device 22, the second device 24, or another device once has a supplied change ID (eg, a single change ID or multiple The change ID), the device obtains another change ID (or multiple change IDs if appropriate) from the authenticator 28. Data included in a change ID assigned to a specific device can be selected randomly with a probability equal to that of all change IDs.
FIGS. 3 a and 3 b show how the change ID can be distributed from the authentication means 28 to the first device 22 or the second device 24. As shown in FIG. 3a, in some embodiments, a device 43, such as the first device 22 or the second device 24, requests a plurality of change IDs from the authenticator. The authentication unit 28 generates the number of change IDs requested by the device 43 and sends a list of change IDs to the device 43. The device 43 knows the requested number of change IDs and the size of each change ID, and divides the list into individual change IDs. In some embodiments, the authenticator 28 provides information or instructions to the device 43 to assist the device 43 in dividing the list of change IDs into individual change IDs. For example, the authenticator 28 provides information or instructions to the device 43 to assist the device 43 in dividing the list of change IDs using a data description language such as Extensible Markup Language (XML). be able to.
As shown in FIG. 3 b, in some embodiments, the device 43 can receive a single change ID from the authenticator 28. The device 43 can receive a single change ID when requesting a change ID from the authentication means 28, or automatically receives a new change ID from the authentication means 28 when using the previously provided change ID. Can be received. The change ID is sent to the device 43, replacing the change ID previously provided or assigned to the device 43.
In the embodiment shown in FIG. 1, the authentication means 28 assigns a change ID (hereinafter referred to as “first change ID” in this example) to the first device 22 and a change ID ( In this example, this is hereinafter referred to as “second change ID”) at random. Unlike the second change ID, each of the first change ID and the second change ID does not provide information for determining another change ID. As described above with respect to FIG. 2, each change ID includes a random number 40 and a corresponding random secret key 42. In some embodiments, the change ID takes the form of a modified hash. As mentioned above, in addition to being random, the change ID (or hash if appropriate) is discarded after each use. In other words, the authentication means 28 provides the device with a new change ID having a new random number 40 and a new random secret key 42 after the device has used the change ID. In some embodiments, the change ID is completely independent of the device that uses it. That is, the change ID or hash does not include any information regarding the identity of the device that receives and uses the change ID. In this way, with the exception of the authentication means 28, individual devices cannot recognize the identity of other devices included in the system.
Some embodiments of the invention implement a symmetric key system. Symmetric key systems typically encounter key management problems as the number of entities or participants in the system increases. For example, a network of n entities requires n (n-1) / 2 keys to allow all entities to communicate with each other. Thus, a 1000 entity system would require nearly 500,000 keys if all individual entities want to send the same content to all other entities.
However, the disclosed embodiments do not require a separate key for every pair of entities that make up the system. As described, each entity and each piece of content distributed by each entity receives one key, which is mutated after each use. Thus, for a system of 1000 entities, only 2000 keys are required, as opposed to nearly 500,000 keys with the previous symmetric key system. Further, the authentication unit 28 is not required to store the entire bit string of the change ID. The authenticator 28 can use a hash function or simply a location index to map each key part of the change ID to a memory storage location based on the corresponding number of the change ID.
Other differences between embodiments of the present invention and conventional security systems relate to speed and reduced vulnerability to certain attacks. For example, the use of a symmetric key allows for fast computation (compared to public key systems). The basic idea behind public key systems is the use of one-way functions. A one-way function is easy to calculate, but its inverse is difficult. The public key system uses a trapdoor one-way function to calculate the one-way function in the reverse direction. A system using a public key system provides each participant with a public key and a private key (private key). The public key is accessible by all participants and the associated private key is known only by the participant associated with the private key. A participant uses a one-way function to use a public key to encrypt a message addressed to a particular participant or to decrypt a message received from that particular participant . Participants receive messages from other participants to encrypt messages addressed to other participants that other participants can decrypt using the associated public key for that participant Your secret (which is believed to be computationally infeasible to derive from the public key) to decrypt (encrypted with the relevant public key for that participant) Use your private key.
Public key system security relies on the assumption that private keys cannot be derived from public keys. To maintain this requirement, the one-way functions used in public key systems are complex. However, the added complexity comes at the cost of added computation time. Public key systems are often 1000 times slower than symmetric key systems.
The use of a symmetric key also reduces the effectiveness of a chosen plaintext attack. A selected plaintext attack occurs when an intruder accesses an encryption key or process, selects a specific plaintext to encrypt, and attempts to gain knowledge from the encrypted text. In a public key system, an individual's public key is known to all participants in the communication system. Any intruder can use an individual's public key to encrypt an unlimited number of messages. If an attacker encrypts a possible message using a person's public key and then intercepts the encrypted message sent to that individual, the intruder will see the message that he / she generated Can be compared. If the intercepted message matches the encrypted message generated by the intruder, the message is compromised and the intruder can read the message not addressed to him. This attack is relatively easy and effective when there are only a few possible messages, and the number of possible messages is comparable to the number that an intruder can encrypt or an intercepted encrypted message. Even if the number exceeds the limit, it is possible to provide useful information to the intruder simply by knowing that the intercepted encrypted message does not match the specific message. In either situation, an intruder cannot infer an individual's private key, but may be able to infer a message or information about a message sent to that individual. Since the embodiment of the present invention uses a symmetric key system, the selected plaintext attack is not applicable because the encryption key is not public knowledge.
There are other problems with conventional symmetric and public key systems. When an unauthorized (unauthorized) entity gains access to a key, that unauthorized entity can decrypt all messages encrypted with that key, perhaps as more dangerous The fake message can be encrypted using the key to deceive other entities in the system. The change ID protocol reduces this vulnerability by mutating each private key after it is used. Even if a key is compromised, the compromised key has been marked as “used” by the authenticator 28 and therefore cannot be used for future messages and will not be used. Cannot be used to generate any other messages, nor can it be used to decrypt future messages.
The authenticator 28 can also generate an encryption key for content or data distributed via the system 20. In order to request an encryption key, a device that wants to send data (ie, a “sending device”) supplies the authenticator 28 with the data that it wants to send, or the label or function of the data that it wants to send (ie, an arbitrary identification string) The authentication means 28 responds with the associated encryption key. Like the change ID, the encryption key can be independent of the data it encrypts. In addition, if the sending device sends only the identifier of the data that it wants to send (eg, a random identifier) to the authenticator 28, the authenticator 28 has no knowledge of the data associated with the particular encryption key. The authenticator 28 records the assigned key and the associated data or data identifier.
After the authentication means 28 generates an encryption key and supplies it to the transmitting device, the transmitting device encrypts the data using the encryption key. The sending device then sends the encrypted data to the device. In order to decrypt the encrypted data, the device that received the encrypted data (ie, the “receiving device”) has a corresponding decryption key (eg, the same key that was used to encrypt the data). Request to authentication means 28. In some embodiments, the authenticator 28 provides the decryption key to any device that makes a legitimate request included in the system 20. The request for the decryption key can include a reference (eg, a data label or identification string) to the data that the receiving device wishes to decrypt. Based on the reference to the data indicated in the request, the authentication unit 28 determines an associated decryption key and returns an appropriate decryption key to the receiving device.
Illustrative embodiments of the invention are described using several examples. As with many descriptions of communication protocols, various devices (or computer systems associated with those devices) are assigned names. In one embodiment, Alice (A) and Bob (B) represent the first device 22 and the second device 24, respectively, and Trent (T) represents the authenticator 28, a trusted arbiter for communication. To express. Carol (C) also represents a third device included in the system 20. Table 1 below is a list of other symbols used in this document to describe embodiments of the proposed protocol.
Session Key In some embodiments, a change ID is used to exchange communication and session keys between two entities. For example, assume that Alice and Bob want to communicate securely using a session key shared by Alice and Bob. Alice and Bob trust Trent, Trent assigns Alice a change ID that includes the number N A and a secret key K A for some symmetric cipher, and the number N B and some secret for the symmetric cipher assume assigning change ID that includes the key K B to Bob. Also assume that Alice and Bob each have credentials (eg, A cred and B cred , respectively) known only to the torrent and credential holders.
To request torrent a session key (eg, K AB ), Alice encrypts Alice's credentials A cred and Bob's identifier (eg, B id ) with Alice's private key K A, and to those that could result, to add the number N a of Alice. Alice sends a message to Bob.
A → B: N A E (K A , A cred B id )
Bob, the message from Alice, Bob's credentials B cred and Alice identifier (e.g., A id) connecting the, encrypted using the result of Bob's secret key K B. Bob adds Bob's number N B to which the encryption result and sends the resulting message to Trent.
B → T: N B E (K B , B cred A id N A E (K A , A cred B id ))
Trent, since the number N B knows that associated with Bob identifies that the message came from Bob. Trent decrypts the message using K B (ie, the private key assigned in connection with the number N B ) and verifies Bob's credentials B cred . Trent also decrypts and verifies the portion of the message composed by Alice. Bob's credentials B cred match Bob's number N B and Bob's identifier B id provided by Alice, and Alice's credentials A cred are provided by Alice's number N A and Bob If it matches Alice's identifier A id , Trent acknowledges the validity of the request. After validating the request, Trent generates a message for Alice and Bob's message. The message addressed to Alice includes a new number N A ′, a new secret key K A ′, Alice's credential A cred, and a session key K AB . Trent, encrypted using the message of Alice addressed to the current secret key K A of Alice. The message destined for Bob includes a new number N B ', a new private key K B ', Bob's credentials B cred and a session key K AB . Trent, encrypted using the message of Bob addressed the current secret key K B of Bob. Trent sends a message to Alice and Bob.
T → A: E (K A , N A 'K A ' A cred K AB )
T → B: E (K B , N B 'K B ' B cred K AB )
The above protocol can be extended to include more entities. For example, if Alice wants a session key that is associated with Bob and Carol, Alice will replace the known identifiers of Bob and Carol, such as Bob's identifier B id and Carol's identifier (eg, C id ), etc. Can be listed in the message. Similarly, Bob can list Alice and Carol's identifiers, and Carol can list Alice and Bob's identifiers. Each entity can also include their credentials in their messages. As indicated above, each entity can send its own message to another entity associated with the requested session key, and each entity can add its own message to the received message. Can do. When all intended entities add their messages to the request, the last entity sends the request to Trent. Trent confirms that each entity's credentials match the change ID assigned to each entity (eg, the number in the change ID), and the list of identifiers specified by each entity is provided Verify that it matches the document. After validating the request, Trent sends each entity a new change ID (eg, a new number and a new secret key) and a session key associated with the enumerated entity.
Content usage license The change ID can also be used to provide a license that an entity can use to obtain and decrypt the content. For example, suppose Alice has content or message P that she wants to send securely to Bob. Alice and Bob trust Trent, Trent assigns Alice a change ID that includes the number N A and a secret key K A for some symmetric cipher, and the number N B and some secret for the symmetric cipher assume assigning change ID that includes the key K B to Bob. Also assume that Alice and Bob each have credentials (eg, A cred and B cred , respectively) known only to the torrent and credential holders.
To obtain a license for message P, Alice generates a hash of message P (eg, H (P)), concatenates the message's hash H (P) with Alice's credential A cred , It is encrypted by using a secret key K a Alice what could be as a result. Alice also add number N A of Alice encryption result. Alice sends the resulting license request to Trent.
A → T: N A E (K A , A cred H (P))
Trent decrypts the license request from Alice and generates a response to Alice. The response to Alice includes a new change ID that includes a new number N A 'for Alice and a new secret key K A ', and a license number (eg, N H (P) ) and a license secret key (eg, K H (P ) ), Including the change ID associated with the license for message P, and the encryption key for message P (eg, K P ). In some embodiments, Trent also includes a message hash H (P) in the response to Alice so that Alice can ensure that the message has not been tampered with (eg, provided by a spoofer). Trent encrypts the response with Alice's current secret key K A and sends the encrypted response to Alice.
T → A: E (K A , N A 'K A ' N H (P) K H (P) K P H (P))
When Alice obtains a response from Trent, she decrypts the response and obtains the key K P and the change ID associated with the license for message P. Alice encrypts the message P using K P, to generate a license for the encrypted message P. The license for the encrypted message P includes Alice's credential A cred and the message hash H (P). In some embodiments, the license also includes an identifier of the license recipient. For example, if Alice wants to send a license to Bob, the license can include Bob's identifier (eg, B id ). In some embodiments, the recipient identifier is excluded from the license to reduce protocol complexity. For example, a digital media production company may not know or track potential recipients of content in advance.
Alice encrypts the license by using the license secret key K H (P), to add to the encryption result, the associated license number N H a (P). Alice sends the encrypted message P and the associated license to Bob.
A → B: E (K P , P)
A → B: NH (P) E ( KH (P) , AcredH (P) Bid )
At some point after receiving the encrypted message P and the associated license, Bob requests a decryption key for the encrypted message P. To generate a request for a decryption key, Bob, linked to the license Alice credentials B cred Bob is provided, encrypted by using the secret key K B Bob what could be as a result. Bob also sends to add Bob's number N B to encrypt connection, a request could be as a result to Trent.
B → T: N B E (K B , B cred NH (P) E (K H (P) , A cred H (P) B id ))
Trent opens the cipher and if Bob's identifier is included in the license, Trent confirms that the credentials B cred and number N B provided in the request match the identifier in the license generated by Alice. To verify. Trent also verifies that the hash H (P) of the message included in the request matches the license number NH (P) and the license secret key KH (P) . After acknowledging the message from Bob, Trent uses the decryption key (eg, K P ) that can be used to decrypt the encrypted message P, the new number N B ′ for Bob, and the new secret. and change ID containing the key K B ', the credentials B cred of Bob, all encrypted using the current secret key K B of Bob, send to Bob.
T → B: E (K B , N B 'K B' K P B cred)
Optionally, Trent can also notify Alice that Bob has requested a decryption key.
T → A: E (K A ', “Bob requests key associated with identifier H (P)”)
After providing Bob with the decryption key, Trent already has the license secret key K H (P) and license number NH (P) associated with the one-time use change ID associated with the license for message P. As you can see, the license that Alice offered to Bob is no longer valid.
As in the previous example, this protocol allows each entity to add their credentials to the license, encrypts the result using the change ID assigned to each entity, and sends the changed license to the next By transferring to an entity, it can be extended to include multiple entities. For example, if Alice generates a license, sends it to Carol, Carol sends the license to David, and then David sends the license to Bob, the resulting license received by Trent is: Become.
T → A: N B E (K B , B cred N D E (K D , C cred N C E (K C , C cred N H (P) E (K H (P) , A cred H (P) B id ))))
Digital Signature Up to this point, the use of change IDs has been described for establishing a session key for secure communication and for delivering encrypted data and corresponding licenses. In another embodiment, the change ID is used as a digital signature. Assume that Alice and Bob each have a copy of document S that contains information P that requires an agreement between Alice and Bob. For example, document S can include a trade note, and information P that requires an agreement between Alice and Bob can include a final price for the trade note. Carol is also an agreed arbitrator (eg, a credit card company or bank) who may need to know about the information P but not necessarily about the document S. Alice, Bob, and Carol each trust Trent, Trent assigns Alice a change ID that includes the number N A and a secret key K A for some symmetric cipher, and the number N B and some symmetric cipher assigning the change ID that includes the secret key K B of use to Bob, also assumed to allocate a change ID that includes the secret key K C for some symmetric cipher with number N C Carol. Also assume that Alice, Bob, and Carol each have credentials (eg, A cred , B cred , and C cred , respectively) known only to Trent and the credential holder.
To initiate the signature of document S, Alice generates a message that includes document S or a hash of document S (eg, H (S)) and Alice's credentials (eg, A cred ). In some embodiments, Alice disguises or encodes the message. For example, Alice can generate an XOR of the document hash H (S) and the credential hash H (A cred ). The message can also include information P. Alice encrypts the message using a secret key K A Alice, and add the number N A of Alice to the result, and sends the resulting message to Bob.
A → B: N A E (K A , XOR (H (S), H (A cred )) P)
Bob generates a similar message that includes an XOR of the document hash H (S) and Bob's credential hash (eg, H (B cred )). In some embodiments, Bob also adds information P to the message. Bob, to add to the message received Bob's message from Alice, encrypted using the results Bob's secret key K B. Bob sends to add Bob's number N B to the resulting message, what could be as a result of the torrent.
B → T: N B E ( K B, XOR (H (S), H (B cred)) PN A E (K A, XOR (H (S), H (A cred)) P))
Trent decrypts the message from Bob and verifies that the hash H (S) of the documents generated by Alice and Bob are equal. If Alice and Bob include information P in their messages, Trent also verifies that the information P provided by Alice and Bob is equal. After the message is validated, Trent generates a receipt for Alice and Bob. Alice's receipt includes Bob's identifier (eg, B id ), a document hash H (S), and optionally information P. Trent is part of the change ID associated with the receipt for Alice and Bob, but encrypts Alice's receipt using the receipt private key Krecept only known to Trent. Trent also adds the associated receipt number N receive included in the change ID associated with the receipt for Alice and Bob to Alice's receipt. Trent then sends Alice's receipt, Alice's new change ID, including the new number N A 'and the new secret key K A ', Alice's credential A cred , and Alice's current secret key K A. Use it to encrypt and send the result to Alice.
T → A: E (K A , N A 'K A ' A cred N receive E (K receive , B id H (S) P))
Trent generates a similar receipt for Bob, including Alice's identifier (eg, A id ), a hash of the document H (S), and optionally information P. Trent, using the same receipt key K receipt that you encrypt the receipt of Alice, encrypts Bob's receipt, add the same receipt number N receipt that was added to the Alice of receipt. Trent, using and Bob of receipt, and the new change ID of Bob, including the new number N B 'and a new secret key K B', and Bob's credentials B cred, the current secret key K B of Bob Encrypt and send the result to Bob.
T → B: E (K B , N B 'K B ' B cred N receive E (K receive , A id H (S) P))
By encrypting the receipt for Alice and Bob with a key that only Trent knows, Alice and Bob cannot tamper with the receipt. Upon obtaining their receipts justified by the arbitrator, Alice and Bob present their receipts to Carol and Carol sends one or both of the receipts to Trent for verification. For example, suppose Alice provides Carol with Alice's receipt. Carol, add a credit certificate of Carroll to Alice's receipt, the encrypted using a secret key K C of Carol what was possible as a result. Carol adds Carol's number N C to the resulting and sends the message to Trent.
C → T: N C E ( K C, C cred N receipt E (K receipt, B id H (S) P))
Trent decrypts the message from Carol and decrypts the receipt (ie, only Trent knows K receipt ) and validates Alice's receipt by providing Carol with the receipt details To do. For example, Trent has Carol's new change ID, including a new number N C 'and a new secret key K C ', Carol's credentials C cred , Alice's identifier A id , Bob's identifier B id , and document A message addressed to Carol can be generated that includes the hash H (S) and optionally information P. Trent encrypts the message with Carol's current secret key K C and sends the resulting to Carol.
T → C: E (K C , N C 'K C ' C cred A id B id H (S) P)
Carol uses information from Trent to arbitrate an agreement between Alice and Bob. For example, Carol can use information from Trent to verify that Alice and Bob have agreed on information P contained in document S.
It should be understood that the above protocol can be extended to include other numbers of entities.
The change ID's secret key (eg, K A , K B , and K C ) must remain secret to protect the security of the transmitted data encrypted using the secret key. For example, if Trent provides Alice with a new change ID that is encrypted using Alice's current secret key (eg, K A ), an eavesdropper that was able to identify Alice's current secret key would be , Alice's new change ID can be obtained. The eavesdropper can then use the new change ID to send fake data and / or to obtain clear text of future data exchanged between Alice and Trent.
An eavesdropper can identify (or attempt to identify) the key used to encrypt certain data by performing an attack. For example, an eavesdropper can perform a brute force attack (brute force attack). In a brute force attack, the ciphertext is decrypted using any possible key until a key is generated that produces reasonable or recognizable data (eg, human readable data). If the eavesdropper obtains or knows the plaintext (or part or pattern) corresponding to the obtained ciphertext, the eavesdropper can more easily determine whether the correct candidate key has been found. . For example, if an eavesdropper obtains a ciphertext and knows that the ciphertext includes a personal name followed by a 4-digit personal identification number (PIN), the eavesdropper The candidate key is applied until plain text including the personal name is generated by. The eavesdropper can then assume that the remaining information contained in the generated plaintext corresponds to the PIN with some certainty.
However, if the eavesdropper has no knowledge of plaintext or plaintext patterns (ie, no content hints), the eavesdropper's ability to determine whether the correct candidate key has been found is severely compromised. Or perhaps lost. For example, if the plaintext contains random numbers encrypted using a specific key, even if the eavesdropper tries many keys with an attack that the eavesdropper uses, the eavesdropper will return the true plaintext whose candidate plaintext corresponds to the ciphertext. There is no way to determine whether or not. Decryption of the encrypted random number generates a random number similar to the original random number, as with all other random numbers generated by all other candidate keys, regardless of which candidate key is used.
Referring to the above session key example including Alice, Bob, and Trent, if any part of the encrypted message is recognizable, known, becomes known, or contains some content hint, an eavesdropper Could possibly perform a plaintext attack or a partial plaintext attack on the encrypted message and uncover Alice or Bob's secret key that was used to encrypt the message. For example, suppose Alice sends the following message to Bob, which is intercepted by an eavesdropper.
Since Bob's identifier Bid and the format of the above message are known or published, an eavesdropper can perform a powerful attack on the intercepted message. Therefore, the eavesdropper can obtain the secret key K A and credentials A cred of Alice. Furthermore, the eavesdropper acquires the current secret key K A Alice, using the current secret key K A Alice, Alice following change ID (e.g., N A 'and K A'), such as such, it is possible to obtain all the data that is encrypted using the current secret key K a Alice.
An eavesdropper can perform a powerful attack using other knowledge about the encrypted message or about the communication protocol used to generate the encrypted message. For example, an eavesdropper can use a number (eg, N A ) in the change ID passed in clear text to perform a powerful attack. An eavesdropper can also perform a forceful attack using knowledge of the algorithm used to generate the number in the change ID.
As pointed out above, for keys used to encrypt undiscoverable data (ie, data that is random or has no content hint), the eavesdropper finds the correct candidate key Cannot be determined and cannot be easily identified or discovered using forceful attacks. However, for keys used to encrypt discoverable data (ie, data that is known, may be disclosed later, is recognizable, or has a known or easily guessable format) , Can be identified using force attack (theoretically). When discoverable and undiscoverable data are encrypted together or using the same encryption key (eg, a recognizable name and a corresponding possibly random PIN are encrypted using the same key The key identified by a force attack using discoverable data is also the key used to encrypt undiscoverable data, so undiscoverable data is discovered obtain.
To increase the security of undiscoverable or secret data, separate keys can be used to encrypt different types of data (hereinafter referred to as "separate encryption protocol") ). For example, one or more keys (eg, one or more change IDs) can be used to encrypt undiscoverable data (eg, secret keys K A , K B , and K C ), One or more keys (eg, one or more change IDs) can also be used to encrypt discoverable data (eg, B id ). Since the same key is never used to encrypt undiscoverable data and discoverable data, the potential for an eavesdropper to identify undiscoverable data is reduced.
Electronic commerce change IDs can also be used in electronic commerce protocols. FIG. 4 illustrates an example system 200 configured to perform electronic commerce. In the embodiment shown in FIG. 4, the system 200 includes four participants: a vendor 220, and a payment authentication device (payment authenticator) 240, such as a payment authentication device or a credit card company or financial institution. , A buyer (purchaser) 260 and an authentication means (authenticator) 280. In other implementations, where only one seller 220, payment authenticator 240, and buyer 260 are shown, multiple sellers, payment authenticators, and buyers are included. Furthermore, although only one is required, there can be a plurality of authentication means 280. In reality, there is a high probability that the relationship [number of authentication means] <[number of payment authentication means] <[number of sellers] <[number of buyers] exists, but the number of participants and various types There are no restrictions on the requirements for a specific relationship between the number of participants.
In some embodiments, seller 220, payment authenticator 240, and buyer 260 are connected to authenticator 280 via two-way links 300, 320, 340. Seller 220 and buyer 260 are also connected via a two-way link 360. These links may consist of all or part of the network described above. In some embodiments, link 360 includes an insecure hypertext transfer protocol (HTTP) link. As described above with respect to system 20, system 200 may use a key-based encryption algorithm, such as the Reindahl algorithm.
Seller 220 is an entity such as a retail company that desires to sell goods and / or services electronically. Assume that seller 220 wishes to receive a fair refund for goods and / or services that will be exchanged using system 20 and are subsequently referred to as goods. Accordingly, in one embodiment of the present invention, system 200 is configured to allow seller 220 to generate sales certificates for goods and / or services sold to buyers. The trade note can include a transaction identifier. In some embodiments, the transaction identifier includes a seller identifier.
Buyer 260 and seller 220 agree to a purchase certificate and associated price. Buyer 260 can authorize funding to trade the items listed on the purchase certificate from the account managed by payment authenticator 240 at an agreed price. After the transaction is completed, buyer 260, seller 220, and payment authenticator 240 can receive an unforged transaction receipt from authenticator 280 as described above with respect to the digital signature example.
That at least some buyers 260 may wish to or attempt to purchase goods electronically without making payment or using funds from an account that buyer 260 is not authorized to manage Assume. It is also assumed that buyer 260 requires a secure transaction in which payment information (eg, account number) is not compromised. Accordingly, embodiments of the present invention provide a strategy for preventing unauthorized purchases and providing secure transactions through the use of change IDs.
The payment authenticator 240 is an entity such as a credit card company or financial institution that manages an account that can be used to fund a transaction (in the form of money or other payment form or mechanism). When the payment authenticator 240 receives a valid request that includes an account identifier, it agrees to fund the electronic transaction from the particular account, so that the account identifier can only be generated by the account holder. In order to ensure that it is kept secret between the payment authenticator and the account holder. Thus, in some embodiments of the present invention, system 200 is configured such that buyer 260 and payment authenticator 240 agree on a secret account identifier for the account of buyer 260 managed by payment authenticator 240. . Furthermore, the authorization for payment of the transaction from the account is encrypted using the change ID to prevent tampering or reuse of the payment request.
The authentication means 280 holds data necessary for executing a secure electronic transaction. In some embodiments, the authenticator 280 verifies the seller 220, payment authenticator 240, and buyer 260 based on their respective change IDs before allowing them to conduct an electronic commerce transaction. The authenticator 280 can also verify the receipt of the buyer, seller, and payment authenticator. In addition, the authentication unit 280 can execute the above-described action without knowing the buyer's account information and transaction details. The authenticator 280 is also the issuer of change IDs and tracks such IDs using a database or similar mechanism. In some embodiments, the functions of authenticator 280 and payment authenticator 240 can be combined and provided as a single entity.
Exemplary embodiments of the invention will now be described using some examples. One embodiment of the protocol includes four participants. Entity Bob (e.g., B) performs the role of buyer 260, Entity Vera (e.g., V) performs the role of seller 220, and Entity Carol (e.g., C) receives payment authenticator 240. The entity torrent (eg, T) performs the role of the authenticator 280. The protocol relates to Bob buying goods from Vera. Bob uses an account managed by Carol to purchase or pay for the item. Trent arbitrates communication between Bob, Vera, and Carol. Bob, Vera, and Carol each trust Trent because the proposed protocol relies on trusted authorities. In addition, all change IDs used in the protocol are assigned by Trent and are known to Trent. Each change ID is known only to Trent and the holder of the change ID. Bob, Vera, and Carol are each a change ID issued by Trent, ie a number / key pair (eg, (N B , K B ), (N V , K V ), and (N C , K C , respectively). )).
For this example only, assume that Bob wants to purchase goods from Vera. Bob and Vera agree on a trade note (eg, S) and an associated price (eg, P). Bob wants to pay Vera the price P of the transaction, withdrawing funds from the account Carol manages for Bob. The account is identified by a credential (eg, B cred ). The credential B cred is a secret known or recognizable only to Bob, Carol, and Trent. In some embodiments, as described below, the credential B cred represents the account number assigned by Carol for Bob's account. In other embodiments, the credential B cred is assigned by Trent. If credential B cred is known to Trent and Carol, both Trent and Carol can use credential B cred to verify that Bob has generated a particular message. Carol can also use Bob's credentials B cred to verify Bob's account number.
Note that Trent does not need to “know” the buyer's credentials apriori or in advance for the protocol to work. In some embodiments, Trent only sends credentials to Carol for verification and use. Further, in some embodiments, Trent cannot obtain data such as an account number that is included in or represented by a credential received from a particular buyer. For example, if Carol provides Bob with credentials B cred based on Bob and secret data known only to Carol (eg, Bob's account number, expiry date, social security number, etc.) Even if Bob receives the credentials B cred from Bob, Bob's secret data cannot be determined. This can help to increase the security of the protocol.
For example, the credential B cred consists of a secret known only to Bob and Carol (eg, Bob's account number). The credential B cred can also consist of details about the current transaction. In some embodiments, the credential B cred is determined as follows.
B cred = E (H (x), H (S) P)
In the above formula, x is a secret known only to Bob and Carol (such as Bob's account number), S is the purchase certificate, and P is the agreed price P associated with the purchase certificate S . In some embodiments, Bob constructs Bob's credentials B cred from the plaintext version of the trade note S and / or the associated price P, rather than from the hash. However, using a hash can abstract the details of the transaction. It should be understood that additional formulas or mechanisms can be used to determine credentials.
Bob and Carol know x (and hash function if appropriate) so they can decrypt the credential B cred and get secure information about Bob's account . However, Trent cannot obtain secure information about Bob's account and, in some embodiments, cannot obtain transaction details such as prices.
Bob can generate a credential B cred for each transaction, Carol (who knows Bob's account number and can generate H (x)) has a purchase certificate S and a corresponding In order to obtain the price P to be used, the credential B cred is decrypted. In some embodiments, the carols are each account numbers x 1 , x 2 ,. . . , Xn , Carol generates a hash for each account number. If one of the hashes can decrypt the credential B cred generated by Bob, Carol knows from which account the funds should be withdrawn. Bob can also add an account identifier to the credential B cred to identify a particular account.
In some embodiments, the generation of a hash of the account may cause a hash collision where H (x i ) = H (x j ) and x i is not equal to x j . Hash collisions can be detected at account creation, and account numbers that collide can be regenerated to prevent hash collisions.
As shown in FIG. 5, Vera sends seller transaction data to Bob to initiate the purchase process. In some embodiments, the seller transaction data includes a trade note S and / or a price P corresponding to the trade note S. In some embodiments, the seller transaction data includes a clear text version of the trade note S and / or a corresponding P. In other embodiments, the seller transaction data includes a hash of trade note S (eg, H (S)) and / or a hash of price (eg, H (P)). Seller transaction data may also include Vera credentials (eg, V cred ). Vera's credentials V cred may be a secret known or recognizable only to Vera, Carol, and Trent. In some embodiments, as described above, Vera's credentials V cred are composed of secrets known only to Vera and Carol, such as an account number assigned by Carol. In another embodiment, Trent assigns a credential V cred to Vera. Carol and / or Trent can use Vera's credentials V cred to verify that the seller transaction data was generated by Vera. Seller transaction data may also include a buyer's identifier (eg, B id ) and / or a payment authorization instrument identifier (eg, C id ) associated with the transaction. Vera, encrypts the vendor transaction data by using the secret key K V of Vera, by adding a secret number N V of Vera in As a result, the "signature" to all or part of the vendor transaction data. Vera sends the signed seller transaction data to Bob.
V → B: N V E ( K V, H (S) P))
In one variation, Vera may also send all or part of the seller transaction data to Bob in clear text, as shown below. For example, Vera can send the sales certificate S and / or the corresponding price P to Bob as plaintext. Bob can use plaintext seller transaction data to generate buyer transaction data.
V → B: SN V E (K V , H (S) P)
Upon receiving seller transaction data from Vera, Bob generates buyer transaction data. The buyer transaction data may include a purchase certificate S and / or a corresponding price P that is the same or equal to the purchase certificate S and / or the price P provided by Vera if Bob acts correctly and honestly. In some embodiments, Bob generates a trade note S and a price P from the plaintext trade note and price provided by Vera. Bob can include the purchase certificate S and / or price P as clear text or as a hash (eg, H (S) and / or H (P)) in the buyer transaction data.
Bob also includes Bob's credentials B cred in the buyer transaction data and, in some embodiments, includes other transaction participant identifiers (eg, V id and C id ) in the buyer transaction data. Bob encrypts the buyer transaction data with Bob's secret key K B, by adding Bob's secret number N B to the result, signing all or part of the buyer transaction data. Bob concatenates the signed buyer transaction data with Vera's signed seller transaction data and sends the concatenated message to Trent.
B → T: N B E (K B , H (S) P) B cred V id C id N V E (K V , H (S) P)
It should be understood that Bob can also initiate the purchase process. In some embodiments, Bob sends signed buyer transaction data to Vera that includes Vera and Carol's identifiers. Vera adds the signed seller transaction data to the signed buyer transaction data provided by Bob and sends the concatenated message to Trent.
Trent, open the concatenated messages (so you know Bob and Vera private key is identified respectively by Bob and Vera secret number N B and N V is included in the message). In one implementation, Trent is the buyer transaction data sent from Bob, or a portion of it (eg, trade note, price, and / or trade note and / or hash of the price), seller transaction data sent from Vera. Or verify that it matches part of it. If the data does not match, Vera and Bob may not have agreed to a common trade certificate and / or associated price, and Trent will notify Bob and Vera of the discrepancy. Trent can also verify that the provided participant identifiers match. For example, Trent agrees that the buyer identified by the seller matches the identity of the buyer who provided the buyer transaction data, and that the seller identified by the buyer matches the identity of the seller who provided the seller transaction data. Can be verified.
If the data matches, Trent generates a payment request and sends the payment request to Carol to request payment for the transaction between Bob and Vera. In some embodiments, the payment request includes buyer and seller identifiers B id and V id , buyer and seller credentials B cred and V cred , trade note S, and corresponding price P. The payment request can include additional information or less information depending on the information required by the payment authenticator 240 to verify the transaction and process the payment from the buyer to the seller. For example, Carol may not need a trade note or Vera and / or Bob's identifier to verify and process a payment request.
In some embodiments, Trent obtains Bob and Vera's credentials B cred and V cred , but cannot decrypt the credentials, and therefore Bob or Vera's managed by Carol. Note that confidential information about the account cannot be obtained.
Trent encrypts the payment request with Carol's private key K C to prevent someone other than Carol from obtaining the data contained in the payment request. In some embodiments, Trent also be added to the payment request is encrypted secret number N C of Carol. Trent sends the resulting payment request to Carol.
T → C: N C E (K C , B id V id B cred V cred SP)
Carol receives the payment request and decides whether to approve payment for the purchase certificate S. In some embodiments, Carol makes a payment by determining whether Bob's account (identified by B cred ) contains sufficient funds to cover the price P associated with the purchase certificate S. Decide whether to approve. Carol also verifies that Vera's account (identified by V cred ) and Bob's account (identified by B cred ) are valid accounts. If Bob's account contains sufficient funds to cover the price P, and Bob and Vera's accounts are valid, Carol transfers funds from Bob's account to Vera's account based on price P. In some embodiments, Carol behaves as a third party escrow, and Vera notifies Carol that the goods and / or services included in Trade S have been shipped or provided to Bob. Until you hold funds from Bob's account. As goods and / or services are provided to Bob, Carol transfers funds to Vera's account.
Upon approval of payment, Carol sends a payment response to Trent. The payment response can include all or part of the information included in the payment request. For example, the payment response may include a seller and buyer identifier, a purchase certificate S, and a price P. In some embodiments, the payment response also includes a transaction number or reference number generated by Carol. The payment response also includes an approval indicator or message to indicate that the transaction has been approved and processed. Carol encrypts the payment response using Carol's private key K C , and in some embodiments adds Carol's identification number N C to the resulting encryption. Carol sends a payment response to Trent.
C → T: N C E (K C , B id V id SP “Approve”)
After receiving a payment response from Carol indicating approval of the payment request, Trent generates a transaction receipt for one or more participants. These receipts can be used as evidence that the transaction has been approved and completed. In one implementation, each receipt includes a key for two of the three participants (eg, a participant's key that is not the subject of the receipt), a sales certificate, and a price. Each receipt may also include credentials of the receipt recipient and / or other participants. The receipt recipient can use the credentials to verify that the receipt was generated by Trent. It should be understood that a key, purchase certificate S, price P, and / or hash of credentials may be included instead of plaintext data to further increase the security and confidentiality of the transaction. If a hash is provided, Trent gets the hash but cannot decrypt the transaction details. Exemplary receipts for Vera, Bob, and Carol are:
T → V: E (K V , H (K B K C P) H (S) P)
T → B: E (K B , H (K V K C P) H (S) P)
T → C: E (K C , H (K B K V P) H (S) P)
Bob, Vera, and / or Carol may present to Trent the number (eg, N B , N V , or N C ) that they used in this transaction, the price, and their receipt for transaction verification. it can. For example, Trent can verify that the receipt is the same.
Trent also provides new change IDs for Vera, Bob, and Carol. Trent encrypts the new change ID for each participant using the participant's current private key.
T → V: E (K V , N V 'K V ')
T → B: E (K B , N B 'K B ')
T → C: E (K C , N C 'K C ')
In some embodiments, Trent includes them in receipts for Bob, Carol, and Vera instead of sending new change IDs separately.
If Bob's account does not contain enough funds to cover the price P, or if Bob or Vera's account is not valid, Carol will reject the payment request and transfer funds from Bob's account to Vera's account I won't let you. To indicate a payment request rejection, Carol sends a payment response to Trent. As described above, the payment response can include all or part of the information included in the payment request. For example, the payment response may include a seller and buyer identifier, a purchase certificate S, and a price P. In some embodiments, the payment response can also include a transaction number or reference number generated by Carol. The payment response also includes a rejection indicator or message that indicates whether the transaction has been rejected or rejected. Carol encrypts the payment response using Carol's private key K C , and in some embodiments adds Carol's identification number N C to the resulting encryption. Carol sends a payment response to Trent.
C → T: N C E (K C , B id V id SP “Reject”)
After receiving a payment response from Carol indicating the rejected payment request, Trent generates a transaction receipt for Vera, Bob, and / or Carol as described above. The receipt indicates that the payment request has been rejected by Carol. As an alternative, Trent could send a rejection or rejection message to Vera and Bob alerting Vera and Bob that the transaction was not processed. After receiving a payment response from Carol indicating the rejected payment request, Trent can also provide a new change ID to Vera, Bob, and Carol, as described above.
It should be understood that the steps and / or order of the electronic commerce protocol shown in FIG. 5 described above may be changed. For example, Vera and Bob can request and receive a session key from Trent to securely negotiate a transaction. As an alternative or additional example, Vera and Carol, and / or Bob and Carol provide Vera and / or Bob directly to Carol, without passing transaction information, such as credentials, through Trent. Can request and receive a session key from Trent. In some embodiments, Trent also generates and provides Carol with a receipt, message, and / or new change ID that Carol can send directly to Vera and / or Bob upon payment request approval or rejection. You can also Carol can also provide receipts and / or messages (eg, as plaintext) directly to Vera and / or Bob upon approval or rejection of the payment request. The roles of authentication means and payment authentication means can also be combined. For example, each payment authenticator can provide its own change ID to its own client (the individual whose payment authenticator manages the account).
In addition, the above communication and commerce protocols (or portions thereof) can be combined. For example, electronic commerce can be included in the purchase of digital content from a content provider or service provider. In addition, electronic commerce can be watermarked into transaction data and corresponding receipts to ensure uniqueness. Further, the commerce protocol described above and shown in FIG. 5 is a separate encryption protocol as described above to reduce the effectiveness of a forceful attack on messages passed between Vera, Bob, Trent, and Carol. Can be used to encrypt discoverable and undiscoverable data using separate unrelated keys. Further combinations and configurations are possible.
Point-of-sale (POS) transactions In addition to using change IDs in electronic commerce, change IDs can also be used in point-of-sale (POS) terminals, and buyers can use the seller's POS Start a transaction at the physical location of the terminal. 6 and 7 illustrate an exemplary system 400 configured to execute a transaction at a seller's POS terminal.
In the embodiment shown in FIG. 7, the system 400 includes four participants or entities: a seller POS terminal 420, a payment authentication means 440 such as a credit card company or financial institution, and an account information holder (AIC, account information carrier) device 460 and authentication means 480. FIG. 6 illustrates a POS terminal in the form of a magnetic and smart card reader (such as that available from Verifone, Inc.) and an AIC device 460 in the form of a cellular phone, smart card, or credit card. Is shown. Although only one seller POS terminal 420, payment authenticator 440, and AIC device 460 are shown, in most implementations, multiple seller POS terminals, payment authenticators, and AIC devices are included. Furthermore, although only one is required, there can be a plurality of authentication means 480. In reality, there is a high possibility that the relationship [number of authentication means] <[number of payment authentication means] <[number of seller POS terminals] <[number of AIC devices] exists, but there is a restriction on the number of participants. And there are no restrictions on the requirements for specific relationships between the number of different types of participants.
In some embodiments, seller POS terminal 420, payment authenticator 440, and AIC device 460 are connected to authenticator 480 via links 500, 520, 540. The links 500, 520, 540 may be two-way links and may consist of all or part of the network described above. As shown in FIG. 7, the seller POS terminal 420 and the AIC device 460 are also connected via a link 560. The link 560 may include a radio frequency link, an infrared link, a wireless network link, a direct dock or wired link, or a cell phone link. In one embodiment, the cell phone can be configured to have the same physical connector or plug (possibly in the form of a flip out extension) as used in smart cards, thereby An existing reader, such as the reader shown in FIG. 6, can be used to obtain information from or communicate with the cell phone.
FIG. 8 schematically shows a seller POS terminal 420, an AIC device 460, a payment authentication means 440, and an authentication means 480 included in the system 400 according to an embodiment of the present invention. As shown in FIG. 8, each device includes a processor 600 (eg, 600a, 600b, 600c, 600d), a memory module 610 (eg, 610a, 610b, 610c, 610d), and an input / output module 620 ( For example, 620a, 620b, 620c, 620d). It should be understood that the components shown in FIG. 8 are exemplary and can be combined and distributed in various arrangements and configurations. For example, the memory module 610 can be included in the processor 600 and / or the input / output module 620 instead of or in addition to being included as a separate component. The input / output module 610 can also be located in a device external to the apparatus that houses the corresponding processor 600.
The processor 600 may include one or more processors or similar circuitry for performing a transaction at the seller POS terminal using the change ID. In one embodiment, the memory module 610 includes instructions retrieved and executed by the processor 600 to execute a transaction at the seller POS terminal using the change ID, as described below with respect to FIG. Store the data. The memory module 610 can also store a change ID that is used to execute the transaction. Specifically, the memory modules 610a, 610b, and 610c included in the seller POS terminal 420, the payment authentication unit 440, and the AIC device 460, respectively, receive one or a plurality of change IDs assigned to each device by the authentication unit 480. Can be configured to store. Similarly, the memory module 610d included in the authenticator 480 can store change IDs previously assigned to each device and currently assigned. In some embodiments, the memory module 610d may also store future change IDs waiting for assignment to a particular device.
The functions performed by each processor 600, and thus the instructions and data stored in each device's memory module 610, can be configured based on the role played by a particular device in performing a transaction. The memory module 610 can also store data received or transmitted by a particular device via the input / output module 620.
As shown in FIG. 8, each device includes an input / output module 620 that interfaces with at least one communication link. Although each device is shown connected to all other devices by a single direct connection, each device can be connected to one or more wires on one or more networks or communication systems as described above. It should also be understood that it can be connected to another device via a wireless connection. Each input / output module 620 can also interface with additional devices via the same communication link or additional communication links.
As commanded by the processor 600, each input / output module 620 can output data to another device. Similarly, each input / output module 620 can receive data from another device and send the data to an associated processor 600 and / or memory module 610. As described above, the input / output module 620 of a particular device can be located in a device external to the device that houses the processor 600 and / or the memory module 610.
As shown in FIG. 8 and described with reference to FIG. 1, the authentication means 480 also includes a random number generator 630. The authenticator 480 can use the random number generator 630 to generate a random number that is used in a protocol that the system 400 implements or conforms to perform a transaction at the seller POS terminal using the change ID. . As mentioned above, the random number generator 630 can generate a truly random number (ie, a number that is as random as possible using the particular technique used to implement the invention). .
To complete the transaction at seller POS terminal 420, the buyer communicates with seller POS terminal 420 via AIC device 460. The AIC device 460 can store buyer account information, such as an account number, payment authentication means (eg, VISA, MasterCard, etc.) associated with the account number, account expiration date, and the like. The AIC device 460 can include a credit card, cell phone, smart card, etc., and the seller POS terminal 420 is a credit card reader, keypad, keyboard, smart card associated with the seller POS terminal 420. Account information can be obtained from the AIC device 460 via a reader, radio frequency receiver, wireless internet receiver, infrared receiver, fixed wiring dock, etc. In some embodiments, AIC device 460 includes a static AIC device such as a credit card that cannot be reprogrammed with new account information. In other embodiments, the AIC device 460 is reprogrammable, such as a cell phone, smart card, or other device having a reprogrammable memory that can be reprogrammed with new account information. Includes AIC devices. For purposes of the following embodiments, the AIC device 460 included in the transaction includes a reprogrammable AIC device. AIC device 460 may store additional data used to access accounts, buildings, vehicles, rooms, services, products, contact individuals (eg, phone numbers and / or email addresses), etc. I want you to understand.
In some embodiments, the AIC device 460 can store account information provided or assigned by the payment authenticator 440. Payment authenticator 440 may be a credit card company or financial institution that manages one or more accounts of a buyer that can be used to fund a transaction (in the form of money or other payment forms or mechanisms). It is an entity. The payment authenticator 440 agrees to fund the transaction from the account when a valid request is received, so the account identifier is kept secret so that the authorized entity generates a valid payment request. It is assumed that it is maintained. Accordingly, in some embodiments of the present invention, system 400 is configured such that AIC device 460 and payment authenticator 440 agree on a secret account identifier for the buyer's account. For example, as described above with respect to the example of electronic commerce, the AIC device 460 and the payment authenticator 440 can agree on a hash function for generating credentials provided to the seller POS terminal 420. In other embodiments, the payment authenticator 440 can be transmitted and / or programmed to the AIC device 460 (eg, wireless internet link, cell phone link, radio frequency link, infrared link, new memory module, One or more one-time use account numbers may be generated (eg, via direct wire reprogramming dock). Each one-time use account number can be used only once by the AIC device 460 (provided to one seller POS terminal 420 for one transaction). The use of a one-time use account number means that even if a one-time use account number is obtained by an eavesdropper, the one-time use account number has already been used and cannot be reused. Since this is not possible, an eavesdropper cannot use the one-time use account number to carry out illegal transactions, thus increasing the security of the account information. As an alternative, the AIC device 460 may have a single account for each account associated with the AIC device 460, such as an account number visually displayed on a card (eg, a credit or debit card) as is conventional. Account information including one account number can be stored.
In addition, the AIC device 460 and the seller POS terminal 420 each store the change ID assigned by the authentication means 480 that is known only to the authentication means 480 and the holder of the change ID. The AIC device 460 and the seller POS terminal 420 use the change ID to encrypt the information (eg, account information) between each other and / or before sending it to the authenticator 480. Since only the authentication means 480 knows the change ID, the seller POS terminal 420 obtains the information provided from the AIC device 460 encrypted or packaged using the change ID assigned to the AIC device 460. In addition, the AIC device 460 cannot obtain information provided from the seller POS terminal 420 that is encrypted or packaged with the change ID associated with the seller POS terminal 420. In addition, since the authentication means 480 knows the change ID assigned to the AIC device 460 and the seller POS terminal 420, it can decrypt the encryption information received from both the AIC device 460 and the seller POS terminal. The information provided by each entity can be verified before allowing the transaction to continue.
In some embodiments, the seller POS terminal 420 presents seller information to the AIC device 460 to complete the transaction, and the AIC device 460 authenticates the buyer information and the seller information received from the seller POS terminal 420. Presented on means 480. In another embodiment, the seller POS terminal 420 obtains buyer information from the AIC device 460 and presents the buyer information received from the AIC device 460 and the seller information to the authentication unit 480. In yet another embodiment, seller POS terminal 420 and AIC device 460 separately present information to authenticator 480 and / or payment authenticator 440.
In some embodiments, prior to sending information to the seller POS terminal 420 and / or the authentication means 480, the AIC device 460 allows the buyer to enter authentication information such as a personal identification number (PIN) or biometric information. Request. The AIC device 460 uses the authentication information to ensure that the buyer associated with the account information stored in the AIC device 460 is using the AIC device 460 and not a spoofer. The AIC device 460 can store buyer authentication information and can compare the authentication information provided by the user of the AIC device 460 during the transaction with the stored authentication information. If the provided authentication information matches the stored authentication information, AIC device 460 sends the encrypted account information to seller POS terminal 420 and / or authentication means 480. If the authentication information does not match, the AIC device 460 rejects the transaction and does not send account information to the seller POS terminal 420 and / or the authentication means 480. The user can input authentication information via one or more selection mechanisms or input mechanisms of the AIC device 460, or the authentication information can be input via one or more selection mechanisms or input mechanisms of the seller POS terminal 420. Can be entered.
Upon receiving information from the seller POS terminal 420 and the AIC device 460, the authentication unit 480 generates a payment request for the payment authentication unit 440. As described above with respect to the example electronic transaction, the payment request may include account information and / or transaction information received from the AIC device 460 and the seller POS terminal 420. In some embodiments, the authenticator 480 also assigns a change ID to the payment authenticator 440 and encrypts the payment request using the change ID assigned to the payment authenticator 440.
The payment authenticator 440 can verify the payment request and approve or reject the request. Payment authentication means 440 sends a response to seller POS terminal 420 and / or AIC device 460 either directly or indirectly via authentication means 480.
As will be described in detail below, in addition to sending a payment request to the payment authenticator 440, the authenticator 480 can also provide a new change ID to each entity. The authenticator 480 tracks the assigned change ID using a database or similar mechanism.
In some embodiments, the functions of the authenticator 480 and payment authenticator 440 can be combined and provided by a single entity, so that the authenticator 480 sends a separate payment request to the payment authenticator. Payments for transactions can be rejected or approved directly without sending.
An example of a protocol for completing a transaction will be described, including the system 400 shown in FIG. In this example, Alice (eg, A) represents AIC device 460, and the buyer's one or more accounts (eg, credit account, debit account, royalty account, stored value account). ) Etc.) is managed. Vera (eg, V) represents the seller POS terminal 420. Trent (e.g., T) represents an authenticator 480, i.e., a trusted mediator of sales. Carol (eg, C) represents a payment authenticator 440, such as a credit card company or other account provider, that accesses an account associated with account information stored on the AIC device 460. Table 1 above is a list of other codes used to describe embodiments of the proposed protocol.
For this example, suppose Alice wants to securely convey her credit card account number to Vera in a retail sales transaction. In addition, Alice has previously received from Carol account information Account A representing the credit card account number recorded under Carol, and also has a private key K A and an identification number N A (ie, a change ID). ) Is received from Trent first. Further assume that Trent has assigned Carol a secret key K C and identification number N C first, and Vera previously assigned a secret key K V and identification number N V. In some embodiments, Trent also assigns Alice, Vera, and / or Carol credentials that each entity can include in the message (eg, A cred , V cred , C cred , respectively). Trent can use the credentials to verify that the message was indeed composed by Alice, Vera, and / or Carol.
In order to start trading, Alice, using a secret key K A of Alice, transaction information (for example, account information Account A and price P) to encrypt. In some embodiments, Alice also using a secret key K A Alice, Carol identifier (e.g., C id) and / or Alice's credentials A cred also encrypted. Alice adds the identification number N A of Alice what could be as a result of the encryption, and sends the message to Vera.
A → V: N A E ( K A, Account A PC id)
As described above, the AIC device 460 can store account information regarding the account number associated with the buyer. In one implementation, the AIC device 460 displays available account information or an identifier for the available account information (eg, a description set by the buyer) to the buyer on the display of the AIC device 460, where the buyer One or more selection mechanisms on 460 (eg, keypad, touch screen, etc.) are used to select specific account information for the current transaction. The AIC device 460 sends the selected account information to the seller POS terminal 420. As an alternative, the AIC device 460 can send all available account information managed by the AIC device 460 or an identifier of all available account information to the seller POS terminal 420, and the seller POS terminal 420 The available account information can be displayed to the buyer. The buyer can then select specific account information using one or more selection mechanisms on the seller POS terminal 420, such as a keypad, touch screen, and the like. For example, a buyer may choose to use a MasterCard® credit card account instead of a Visa® credit card account as the payment source for the current transaction.
As described above, in some embodiments, the AIC device 460 may provide authentication information (eg, PIN, password, finger) before the AIC device 460 sends transaction information (eg, account information) to the seller POS terminal 420. The buyer can be requested to enter a print, retinal scan, etc.). The buyer can enter authentication information using one or more selection or input mechanisms on the AIC device 460. In other embodiments, the buyer can use one or more selection or input mechanisms of the seller POS terminal 420 to provide authentication information. If the buyer uses seller POS terminal 420 to provide authentication information, seller POS terminal 420 may verify the authentication information, send the authentication information to a third party for verification, and / or input. The authenticated authentication information can be sent to the AIC device 460 for verification.
In one implementation, the buyer uses one or more selection mechanisms of the AIC device 460 and / or the seller POS terminal 420, such as a keypad or touch screen, to determine the price P of goods and services included in the transaction. input. As an alternative, the seller POS terminal 420 sends the price P to the AIC device 460 (eg, as plaintext) before Alice begins processing the transaction. AIC device 460 includes price P in the encrypted transaction data so that Trent can authenticate that Alice and Vera have agreed to a common price.
In some embodiments, the transaction information may also include a vera, i.e., a seller identifier (e.g., Vid ) associated with the transaction. The buyer can enter the seller's identifier V id using one or more selection mechanisms included in the AIC device 460, and the AIC device 460 can receive the seller POS terminal 420 or a third party device or The seller's identifier can be obtained from the system. The AIC device 460 may include the seller's identifier in the encrypted transaction information so that the torrent can verify the entity involved in the transaction and prevent the seller from initiating the transaction falsely on behalf of the buyer. it can.
Upon receipt of the encryption information from Alice, Vera concatenates the transaction information such as the transaction price P and Vera's identifier or account identifier Vid with the encryption information provided by Alice, resulting in the result the encrypted using a secret key K V of Vera. Vera, adds the identification number N V Vera to that the encryption result and sends the message to Trent.
V → T: N V E ( K V, PV id N A (K A, Account A PC id))
In some embodiments, Vera may also include Alice, the buyer's identifier (eg, A id ) associated with the transaction, in the transaction information. Seller POS terminal 420 may prompt the buyer to enter an identifier, and the buyer may enter the identifier using one or more selection mechanisms included in AIC device 460 or seller POS terminal 420. it can. Seller POS terminal 420 can include an identifier in the encrypted transaction information so that Trent can verify the entity involved in the transaction.
As mentioned above, Vera can also initiate a transaction by encrypting the transaction information and sending the encrypted transaction information to Alice. Alice concatenates Alice's transaction information with the encrypted transaction information received from Vera, encrypts the resulting result using Alice's change ID, and sends the resulting message to Trent. In other embodiments, Vera and Alice can send their information to Trent separately.
Trent knows the number N V associated with Vera and the number N A associated with Alice, thus identifying that the message came from Vera and Alice. Trent decrypts the message using the K V and K A. In some embodiments, if Alice and / or Vera provided credentials, Trent validates the credentials. If the credentials are not valid (eg, do not match the credentials currently assigned to Alice and / or Vera), Trent rejects the transaction and sends a rejection response to Vera and / or Alice. Trent also detects that the transaction information received from Vera and Alice, or a portion thereof, matches. For example, Trent can detect that the prices P received from Vera and Alice match. If the prices do not match, Trent rejects the transaction and sends a rejection response to Vera and / or Alice. In addition, if Trent declines the transaction, Trent can provide Alice and Vera with a new change ID, as described below.
If Trent validates the information received from Alice and Vera, Trent generates a payment request for Carol. The payment request may include account information Account A , transaction information (eg, related product and service price P), and Vera's identifier V id . In some embodiments, the payment request may include additional information or less information. For example, the payment request may also include Alice's identifier and / or Vera account information. The payment request can also include new change IDs for Carol (eg, N C 'and K C '). Trent, can be encrypted using the current secret key K C of Carol the payment request. Trent can also add Carol's current identification number N C to what resulted from the encryption. Trent sends the resulting payment request to Carol.
T → C: N C E ( K C, Account A PV id)
In some embodiments, if a payment for a particular transaction includes multiple payment sources (e.g., multiple accounts), Trent generates a payment request and uses the payment request to complete the transaction. Can be sent to each payment authentication means that manages the account to be debited.
Carol uses the information contained in the request to decrypt the payment request and decide whether to approve or reject the payment request. If Carol approves the payment request (eg, the account identified by Account A contains sufficient funds to cover the price P and the seller identifier V id is a valid seller identifier), Can be generated. The approval response can include an approval message or identifier (eg, ACCEPT) and a transaction identifier (eg, Trans id ). The approval response can also include transaction information such as price P and seller identifier V id .
Carol encrypts the acknowledgment using the secret key K C Carol, add the identification number N C of Carol and sends the result to Trent. In some embodiments, Carol also includes Carol's credentials C cred in the authorization response.
C → T: N C E ( K C, ACCEPT PV id C cred)
Trent decrypts the encrypted authorization response and verifies Carol's credentials C cred (if provided). Trent then generates an approval message for Vera and Alice. For example, to generate an authorization message addressed to Vera, Trent sends the decrypted authorization response from Carol (without Carol's credentials C cred if provided) to Vera's private key. can be encrypted using K V, it can be added the identification number N V Vera to what could be as a result of the encryption. In some embodiments, Trent can add information to the approval message before encrypting the approval message. For example, Trent can add new change IDs for Vera (eg, N V 'and K V ') to the approval message. Trent sends an approval message to Vera.
T → V: N V E ( K V, ACCEPT PV id N V 'K V')
Trent also, approval response from Carol that has been decrypted (if credentials C cred Carol has been provided, without it) is encrypted using the secret key K A of Alice, of the encryption by adding the identification number N a of Alice what could be as a result, Alice destined authorization messages produced. Trent can also add additional information to the approval message, such as a new change ID for Alice (eg, N A ', K A '). Trent sends an approval message to Alice.
T → A: N A E ( K A, ACCEPT PV id N A 'K A')
As an alternative, instead of sending a separate approval message directly to Vera and Alice, Trent can send an approval message to Vera that includes an approval message addressed to Alice, and Vera can send an approval message to Alice. it can.
Carol rejects the payment request (for example, Account A does not contain sufficient funds to cover the price P, account information Account A does not identify a valid account, or the seller's identifier V id is a valid vendor identifier If not, Carol can generate a rejection response. The rejection response can include a rejection message or identifier (eg, DECLINE) and a transaction identifier (eg, Trans id ). The rejection response may also include transaction information (eg, price P) and / or seller identifier V id . Carol sends a rejection response to Trent.
C → T: N C E ( K C, DECLINE PV id C cred)
As described above with respect to the approval response, Trent verifies the rejection response and generates a rejection message addressed to Vera and Alice based on the rejection response received from Carol.
After receiving an approval or rejection message from Trent, Vera and / or Alice can generate a receipt and / or store transaction information. The receipt and / or information can include a transaction identifier Tran id provided by Carol, which can be used to access the transaction information or to retrieve the transaction information from Carol.
As described above, AIC device 460 can store one or more one-time use account numbers for a particular account. Each one-time use account number can be used only once (provided to one seller POS terminal 420 for one transaction). If Alice used a one-time use account number to execute the transaction, Alice may use one or more new one-time use after the transaction is completed (eg, approved or rejected) An account identifier can be requested from and / or obtained from Carol. For example, Alice can call Carol to receive one or more new one-time use account identifiers for future transactions. The new one-time use account identifier may be transmitted and / or programmed to AIC device 460 via one or more communication links, as described above.
The above protocol greatly reduces the likelihood that account information will be stolen or used illegally. For example, since Alice provides encrypted account information that only Alice and Trent can decrypt, Vera never owns the actual account information. In addition, because the account information is encrypted with a change ID that can be used in only one transaction, the transaction cannot be re-executed.
Further, the above protocol may include a mechanism for allowing the AIC device 460 to receive a specific invalid change ID from the authentication means if the AIC device 460 is reported to have been stolen or lost. Can be extended to provide additional security features. The use of an AIC device 460 reported as being stolen or lost, and therefore the use of an AIC device 460 assigned an invalid change ID results in the use of an invalid change ID, and the AIC device 460 illegally The authentication unit 480 is warned that it is being used. If the AIC device 460 is reported lost or stolen, the account information stored on the AIC device 460 can also be deleted or invalidated remotely (eg, authentication means, payment authentication means, And / or via commands issued by the user of the AIC device 460). For example, the buyer may send a request (eg, report) to the payment authenticator 440 so that the AIC device 460 cannot be used illegally after the AIC device is lost or stolen. Account information stored on device 460 can be invalidated.
It should be understood that the steps and / or order of the POS transaction protocol shown in FIG. 8 described above can be changed. For example, Vera and Alice can request and receive a session key from Trent to securely negotiate a transaction. As an alternative or additional example, Vera and Carol, and / or Alice and Carol may provide Vera and / or Alice directly to Carol, without passing transaction information, such as account information, through Trent. Can request and receive a session key from Trent. In some embodiments, Trent also generates and provides Carol with a receipt, message, and / or new change ID that Carol can send directly to Vera and / or Alice upon approval or rejection of a payment request. You can also In addition, Carol can send an approval or rejection message directly to Vera and / or Alice as clear text. The roles of authenticator 480 and payment authenticator 460 can be combined. For example, each payment authenticator 460 can provide the change ID to its own client (the individual whose payment authenticator manages the account).
In addition, session keys, content usage licenses, digital signatures, discoverable and non-discoverable data, and communication and transaction protocols (or portions thereof) described above for electronic transactions can be combined with the proposed POS transaction protocol. I want you to understand that. For example, a POS transaction can be included in the purchase of digital content from a content provider or service provider. In addition, POS transactions can be watermarked into transaction data and corresponding receipts to ensure uniqueness. In addition, POS transactions use discrete encryption protocols such as those described above to reduce the effectiveness of forceful attacks on messages passed between Vera, Bob, Trent, and Carol, and discoverable data and discovery Impossible data can be encrypted using separate unrelated keys. Other combinations and configurations are possible.
Various features of the embodiments of the invention are set forth in the appended claims.
FIG. 1 schematically illustrates a system for transmitting data in a network according to an embodiment of the present invention. FIG. 2 illustrates a bit stream (referred to as “change ID”) according to one embodiment of the invention. 3A and 3B show a method for distributing change IDs. FIG. 4 is a schematic diagram of a system of an exemplary embodiment of the present invention in which four entities are included in a communication for performing an electronic commerce transaction. FIG. 5 is a schematic diagram of a protocol used in the system of FIG. 4 according to one embodiment of the invention. FIG. 6 shows an exemplary POS terminal and two exemplary account information holder devices (cell phone, smart card, and credit card). FIG. 7 is a schematic diagram of a system of an exemplary embodiment of the present invention in which four entities are included in a communication for performing a transaction at a POS terminal. FIG. 8 is a schematic diagram of the devices included in the system of FIG. 7, according to one embodiment of the invention. FIG. 9 is a schematic diagram of a communication protocol used in the system of FIG. 7, according to one embodiment of the invention.
A method for executing a transaction between a first entity and a second entity at a POS terminal of the second entity, comprising:
Encrypting the buyer transaction information using a first change identifier stored in an account information holder device associated with the first entity to generate encrypted buyer transaction information; ,
Transmitting the encrypted buyer transaction information to the authenticating means via at least one communication link;
Encrypting the seller transaction information using a second change identifier stored in the POS terminal to generate encrypted seller transaction information;
Transmitting the encrypted seller transaction information to the authentication means via at least one communication link;
Marking said first change identifier and said second change identifier as used in said authentication means.
The method of claim 1, wherein the step of transmitting the encrypted buyer transaction information to an authentication means via at least one communication link comprises at least the encrypted buyer transaction information. Transmitting from the account information carrier device to an authenticator via a communication link.
The method of claim 1, further comprising: transmitting the encrypted buyer transaction information from the account information holder device to the POS terminal via at least one communication link.
4. The method of claim 3, wherein the step of transmitting the encrypted buyer transaction information to an authentication means via at least one communication link comprises at least the encrypted buyer transaction information. Transmitting from the POS terminal to the authenticator via a communication link.
5. The method of claim 4, wherein the step of encrypting the seller transaction information using a second change identifier stored in the POS terminal to generate encrypted seller transaction information. Concatenating the encrypted buyer transaction information and the seller transaction information to generate concatenated transaction information, and to generate the encrypted transaction information, the second Encrypting the concatenated transaction information using a change identifier.
The method of claim 1, wherein receiving a third change identifier from the authenticator at the account information holder device receives a third change identifier from the authenticator at the account information holder device. And wherein the account information holder device comprises at least one of a cellular phone, a smart card, a credit card, a PDA, and an audio player.
The method of claim 1, using a first change identifier stored in an account information holder device associated with the first entity to generate encrypted buyer transaction information. And the step of encrypting the buyer transaction information includes encrypting a buyer account identifier using the first change identifier, the buyer account identifier identifying an account associated with the first entity. how to.
8. The method of claim 7, further comprising receiving an account selection from the first entity.
9. The method of claim 8, wherein the step of encrypting a buyer account identifier using the first change identifier uses a buyer account associated with the account selection using the first change identifier. A method comprising encrypting the identifier.
The method of claim 1, using a first change identifier stored in an account information holder device associated with the first entity to generate encrypted buyer transaction information. The method of encrypting the buyer transaction information comprises encrypting a price associated with the transaction using the first change identifier.
11. The method of claim 10, further comprising receiving the price at the account information holder device from the POS terminal via at least one communication link.
11. The method of claim 10, further comprising receiving the price from the first entity at the account information holder device.
The method of claim 1, using a first change identifier stored in an account information holder device associated with the first entity to generate encrypted buyer transaction information. The method of encrypting the buyer transaction information comprises encrypting an identifier of the second entity using the first change identifier.
14. The method according to claim 13, further comprising receiving the identifier of the second entity from the POS terminal at the account information holder device via at least one communication link.
14. The method of claim 13, further comprising receiving the identifier of the second entity from the first entity at the account information holder device.
The method of claim 1, using a first change identifier stored in an account information holder device associated with the first entity to generate encrypted buyer transaction information. The method of encrypting the buyer transaction information comprises encrypting credentials of the first entity using the first change identifier.
17. The method of claim 16, further comprising receiving the credentials from the authenticator at the account information holder device.
The method of claim 1, wherein the step of encrypting the seller transaction information using a second change identifier stored in the POS terminal to generate encrypted seller transaction information. Encrypting a seller account identifier using the second change identifier, wherein the seller account identifier identifies an account associated with the second entity.
The method of claim 1, wherein the step of encrypting the seller transaction information using a second change identifier stored in the POS terminal to generate encrypted seller transaction information. Encrypting a price associated with the transaction using the second change identifier.
The method of claim 1, wherein the step of encrypting the seller transaction information using a second change identifier stored in the POS terminal to generate encrypted seller transaction information. Encrypting the identifier of the first entity using the second change identifier.
21. The method of claim 20, further comprising receiving the identifier of the first entity from the buyer at at least one of the account information holder device and the POS terminal.
The method of claim 1, further comprising receiving authentication information from the first entity.
23. The method of claim 22, wherein the step of receiving authentication information from the first entity comprises at least one of a personal identification number, password, fingerprint, and retinal scan from the first entity. A method comprising the step of receiving.
23. The method of claim 22, wherein the step of receiving authentication information from the first entity comprises receiving authentication information from the first entity at the account information holder device.
23. The method of claim 22, wherein the step of receiving authentication information from the first entity comprises receiving authentication information from the first entity at the POS terminal.
23. The method of claim 22, further comprising verifying the authentication information at the account information holder device prior to transmitting the encrypted buyer transaction information to the authenticator.
27. The method of claim 26, further comprising the step of preventing transmission of the encrypted buyer transaction information to the authenticator if the account information holder device does not validate the authentication information. How to prepare.
The method of claim 1, further comprising receiving the first change identifier from the authentication means at the account information holder device via at least one communication link. The method wherein the change identifier includes a number and a key.
29. The method of claim 28, using a first change identifier stored in an account information holder device associated with the first entity to generate encrypted buyer transaction information. The step of encrypting the buyer transaction information includes: encrypting the buyer transaction information using the key to generate encrypted data; and generating the encrypted buyer transaction information. Adding the number to the encrypted data.
2. The method of claim 1, further comprising receiving at the POS terminal the second change identifier from the authenticator via at least one communication link, the second change identifier being A method including a number and a key.
31. The method of claim 30, wherein the step of encrypting the seller transaction information using a second change identifier stored in the POS terminal to generate encrypted seller transaction information. Encrypting seller transaction information using the key to generate encrypted data, and adding the number to the encrypted data to generate encrypted seller transaction information Including a method.
2. The method of claim 1, further comprising receiving a third change identifier from the authenticator at the account information holder device.
The method according to claim 1, further comprising the step of receiving a fourth change identifier from the authenticator at the POS terminal.
A method for managing transactions between a first entity and a second entity at a POS terminal of the second entity by an authentication means, comprising:
Providing a first change identifier to an account information holder device associated with the first entity via at least one communication link;
Providing a second change identifier to the POS terminal via at least one communication link;
Receiving encrypted transaction information from at least one of the account information holder device and the POS terminal via at least one communication link, wherein the encrypted transaction information comprises the first transaction information; Encrypted with at least one of the change identifier and the second change identifier;
Decrypting the encrypted transaction information using at least one of the first change identifier and the second change identifier to obtain decrypted transaction information;
Generating a payment request based on the decrypted transaction information;
Sending the payment request to the payment authorization means via at least one communication link;
Marking the first change identifier and the second change identifier as used.
35. The method of claim 34, wherein the step of providing a first change identifier to an account information holder device associated with the first entity via at least one communication link comprises a number and a key. Providing a first change identifier comprising: to an account information carrier device associated with the first entity via at least one communication link.
36. The method of claim 35, further comprising storing the key.
35. The method of claim 34, wherein the step of providing a second change identifier to a POS terminal associated with the second entity via at least one communication link includes a number and a key. Providing two change identifiers to the POS terminal associated with the second entity via at least one communication link.
38. The method of claim 37, further comprising storing the key.
35. The method of claim 34, wherein the step of receiving encrypted transaction information from at least one of the account information holder device and the POS terminal via at least one communication link comprises encryption. Receiving encrypted transaction information from the account information carrier device via at least one communication link, wherein the encrypted transaction information is encrypted using the first change identifier. And a second message encrypted using the second change identifier.
40. The method of claim 39, wherein the encrypted transaction is obtained using at least one of the first change identifier and the second change identifier to obtain decrypted transaction information. The step of descrambling information comprises decrypting the first message using the first change identifier; and descrambling the second message using the second change identifier; Including a method.
35. The method of claim 34, wherein the step of receiving encrypted transaction information from at least one of the account information holder device and the POS terminal via at least one communication link comprises encryption. Receiving encrypted transaction information from the POS terminal via at least one communication link, wherein the encrypted transaction information is encrypted using the second change identifier. And a second portion encrypted using the first change identifier.
42. The method of claim 41, wherein the encrypted transaction is obtained using at least one of the first change identifier and the second change identifier to obtain decrypted transaction information. The step of descrambling the information comprises decrypting the first message using the second change identifier; and decrypting the second message using the first change identifier; Including a method.
35. The method of claim 34, further comprising verifying the decrypted transaction information.
44. The method of claim 43, wherein the step of generating a payment request based on the decrypted transaction information is performed when the decrypted transaction information is validated. Generating a payment request based on the released transaction information.
45. The method of claim 44, wherein if the decrypted transaction information is not validated, a rejection message is generated and transmitted to at least one of the account information holder and the POS terminal. The method further comprising a step.
35. The method of claim 34, further comprising providing a third change identifier to the payment authenticator via at least one communication link.
47. The method of claim 46, further comprising encrypting the payment request using the third change identifier.
35. The method of claim 34, further comprising receiving a payment response from the payment authenticator via at least one communication link, wherein the payment response is at least one of a payment approval message and a payment rejection message. Including one method.
49. The method of claim 48, wherein if the payment response includes a payment approval message, an approval message is generated and at least one of the account information holder device and the POS terminal via at least one communication link. The method further comprising the step of:
49. The method of claim 48, wherein if the payment response includes a payment rejection message, a rejection message is generated and at least one of the account information holder device and the POS terminal via at least one communication link. The method further comprising the step of:
35. The method of claim 34, further comprising providing a fourth change identifier to the account information holder device via at least one communication link.
35. The method of claim 34, further comprising providing a fifth change identifier to the POS terminal via at least one communication link.
A system for managing transactions between a first entity and a second entity at a POS terminal associated with the second entity,
Configured to assign a first change identifier to an account information holder device associated with the first entity, assign a second change identifier to the POS terminal, and assign a third change identifier to a payment authenticator. With authentication means,
The account information holder device encrypts first transaction information using the first change identifier to generate first encrypted transaction information, and the first encrypted transaction Configured to transmit information to the authenticator via at least one communication link;
The POS terminal uses the second change identifier to encrypt the second transaction information and generate the first encrypted transaction information to generate the second encrypted transaction information. Configured to transmit to the authentication means via at least one communication link;
The authentication means decrypts the first encrypted transaction information using the first change identifier to obtain the first transaction information, and obtains the second transaction information. And decrypting the second encrypted transaction information using the second change identifier, generating a payment request based on the first transaction information and the second transaction information, Encrypting the payment request using the third change identifier to generate a payment request, and transmitting the encrypted payment request to the payment authenticator over at least one communication link, Configured to mark one change identifier and the second change identifier as used,
An account information holder device for use in executing a transaction between a first entity and a second entity at a POS terminal associated with the second entity;
A memory module configured to store a first change identifier;
An input / configured to send encrypted transaction information to the POS terminal via at least one communication link and to receive the first change identifier from an authentication means via at least one communication link. An output module;
An account information holder device comprising: a processor configured to encrypt the transaction information using the first change identifier to generate encrypted transaction information.
A POS terminal used in performing a transaction between a first entity and a second entity, wherein the POS terminal is associated with the second entity;
A memory module configured to store a second change identifier;
Encrypted first transaction information is received from an account information holder device associated with the first entity via at least one communication link, and the encrypted first transaction information and encrypted An input / output module configured to send the second transaction information to the authenticator via at least one communication link and receive the second change identifier from the authenticator via the at least one communication link; ,
A POS terminal comprising: a processor configured to encrypt the transaction information using the second change identifier to generate second encrypted transaction information.
Authentication means for managing transactions between a first entity and a second entity at a POS terminal associated with the second entity,
Storing a first change identifier assigned to the account information carrier device associated with the first entity, storing a second change identifier assigned to the POS terminal, and a third change assigned to the payment authenticator. A memory module configured to store the identifier;
Transmitting the first change identifier to the account information holder device via at least one communication link, transmitting the second change identifier to the POS terminal via at least one communication link, and the third Input to the POS terminal and an input configured to receive the encrypted first transaction information and the encrypted second transaction information from the POS terminal via at least one communication link. / Output module,
In order to obtain the first transaction information, the first change identifier is used to decrypt the encrypted first transaction information and to obtain the second transaction information, Using the second change identifier, the encrypted second transaction information is decrypted and a payment request is generated based on the first transaction information and the second transaction information. A processor configured to encrypt the payment request using the third change identifier to generate the payment request and to mark the first change identifier and the second change identifier as used And
The input / output module is configured to send the encrypted payment request to the payment authenticator;
Authentication means.
JP2008554348A 2006-02-08 2007-02-08 System for executing a transaction in a point-of-sale information management terminal using a changing identifier Granted JP2009526321A (en)
US77136606P true 2006-02-08 2006-02-08
US77139806P true 2006-02-08 2006-02-08
PCT/US2007/003410 WO2007092577A2 (en) 2006-02-08 2007-02-08 A point-of-sale terminal transactions using mutating identifiers
JP2009526321A true JP2009526321A (en) 2009-07-16
ID=38345811
JP2008554362A Granted JP2009526322A (en) 2006-02-08 2007-02-08 Secure digital content management using change identifiers
JP2008554348A Granted JP2009526321A (en) 2006-02-08 2007-02-08 System for executing a transaction in a point-of-sale information management terminal using a changing identifier
US (2) US20100153273A1 (en)
EP (2) EP1984889A2 (en)
JP (2) JP2009526322A (en)
WO (2) WO2007092588A2 (en)
JP2015536492A (en) * 2012-10-16 2015-12-21 リアベラ・コーポレイション Mobile image payment system using sound-based code
WO2017175926A1 (en) * 2016-04-05 2017-10-12 삼성전자 주식회사 Electronic payment method and electronic device using id-based public key cryptography
KR101805476B1 (en) 2011-12-29 2018-01-10 인텔 코포레이션 Virtual point of sale
WO2008061316A1 (en) * 2006-11-23 2008-05-29 Jagwood Pty Ltd Process of and apparatus for notification of financial documents and the like
JP5186790B2 (en) * 2007-04-06 2013-04-24 日本電気株式会社 Electronic money transaction method and electronic money system
JP4548441B2 (en) * 2007-04-11 2010-09-22 日本電気株式会社 Content utilization system and content utilization method
US10515405B2 (en) 2008-03-03 2019-12-24 Metabank Person-to-person lending program product, system, and associated computer-implemented methods
US8515996B2 (en) 2008-05-19 2013-08-20 Emulex Design & Manufacturing Corporation Secure configuration of authentication servers
WO2011044161A1 (en) * 2009-10-05 2011-04-14 Miri Systems, Llc Electronic transaction security system and method
US20120131339A1 (en) * 2010-11-19 2012-05-24 General Instrument Corporation System and method for secure bi-directional communication
US10148438B2 (en) 2012-04-03 2018-12-04 Rally Health, Inc. Methods and apparatus for protecting sensitive data in distributed applications
WO2014110279A1 (en) 2013-01-09 2014-07-17 Evernym, Inc. Systems and methods for access-controlled interactions
US8886964B1 (en) * 2014-04-24 2014-11-11 Flexera Software Llc Protecting remote asset against data exploits utilizing an embedded key generator
US9712714B2 (en) * 2014-04-30 2017-07-18 Wal-Mart Stores, Inc. Digital watermark feature for device to device duplication of a digital receipt
US10565364B1 (en) 2015-12-28 2020-02-18 Wells Fargo Bank, N.A. Token management systems and methods
US10430792B2 (en) 2017-03-15 2019-10-01 Sujay Abhay Phadke Transaction device
CN1296846C (en) * 1999-08-27 2007-01-24 索尼公司 Information transmission system, transmitter, and transmission method as well as information reception system, receiver and reception method
US6527178B1 (en) * 1999-11-16 2003-03-04 United States Postal Service Method for authenticating mailpieces
AU3770101A (en) * 2000-03-06 2001-09-17 Aplettix Inc Authentication technique for electronic transactions
2007-02-08 US US12/296,144 patent/US20100153273A1/en not_active Abandoned
2007-02-08 JP JP2008554362A patent/JP2009526322A/en active Granted
2007-02-08 WO PCT/US2007/003440 patent/WO2007092588A2/en active Application Filing
2007-02-08 US US12/296,146 patent/US20100017599A1/en not_active Abandoned
2007-02-08 JP JP2008554348A patent/JP2009526321A/en active Granted
2007-02-08 WO PCT/US2007/003410 patent/WO2007092577A2/en active Application Filing
2007-02-08 EP EP20070763099 patent/EP1984889A2/en not_active Withdrawn
2007-02-08 EP EP20070763182 patent/EP1984890A2/en not_active Withdrawn
JP2009526322A (en) 2009-07-16
EP1984890A2 (en) 2008-10-29
WO2007092577A3 (en) 2007-11-01
WO2007092588A2 (en) 2007-08-16
WO2007092577A2 (en) 2007-08-16
EP1984889A2 (en) 2008-10-29
US20100017599A1 (en) 2010-01-21
WO2007092588A3 (en) 2007-11-15
US20100153273A1 (en) 2010-06-17
US10333721B2 (en) 2019-06-25 Secure information transmitting system and method for personal identity authentication
AU2014290143B2 (en) 2018-03-01 Secure remote payment transaction processing
US9818112B2 (en) 2017-11-14 Method and system for payment authorization and card presentation using pre-issued identities
US20170308894A1 (en) 2017-10-26 Systems and methods for performing file distribution and purchase
JP6012125B2 (en) 2016-10-25 Enhanced 2CHK authentication security through inquiry-type transactions
AU2015277000B2 (en) 2019-05-16 Efficient methods for authenticated communication
US10313110B2 (en) 2019-06-04 Efficient methods for protecting identity in authenticated transmissions
CN105684346B (en) 2019-11-19 Ensure the method for air communication safety between mobile application and gateway
US20160063491A1 (en) 2016-03-03 Secure online transactions using a trusted digital identity
2010-06-01 A072 Dismissal of procedure