Tag-handle-based authentication of RFID readers
AssigneeImpinj, Inc.
InventorsMatthew J B Robshaw, Harley Heinrich, Tan Mau Wu, Christopher Diorio
Life of this patent
Estimating the term…
Abstract
An RFID tag may execute instructions from an authenticated RFID reader. A tag determines a handle and a first parameter, both of which may be random numbers, and sends the handle to a reader. Upon receiving a challenge from the reader, the tag determines and sends a cryptographic response to the challenge based on an algorithm, a tag key, the first parameter, and the challenge. Upon receiving a message with a second parameter and a tag instruction, the tag executes the tag instruction upon verifying that the second parameter derives from the first parameter and the tag handle.
Claims20
A method for a Radio Frequency Identification (RFID) integrated circuit (IC) to execute an instruction, the method comprising:
- generating a handle and a first parameter, both of which are random numbers;
- sending an identifier, wherein the identifier is stored in a memory of the IC, is different from the handle, and is used to determine a key via a table lookup or as input to an algorithmic key generator;
- sending the handle;
- receiving a challenge;
- retrieving the key from the memory;
- determining a response to the challenge based on a cryptographic algorithm, the key, the challenge, and at least the first parameter;
- sending the response;
- receiving a message including a second parameter and an instruction;
- and
- executing the instruction upon verifying that the second parameter derives from at least the handle and the first parameter.
A Radio Frequency Identification (RFID) integrated circuit (IC) configured to execute an instruction, the IC comprising:
- a memory configured to store an identifier and a key;
- and
- a processor block configured to:
- generate a first parameter and a handle different from the identifier, wherein the first parameter and the handle are random numbers;
- store the first parameter and the handle in the memory;
- send the identifier, wherein the identifier is used to determine the key via a table lookup or as input to an algorithmic key generator;
- send the handle;
- receive a challenge;
- determine a response to the challenge based on a cryptographic algorithm, the key, the challenge, and at least the first parameter;
- send the response;
- receive a message including a second parameter and an instruction;
- and
- execute the instruction upon verifying that the second parameter derives from at least the first parameter and the handle.
A Radio Frequency Identification (RFID) reader comprising:
- a transceiver module configured to transmit and receive RF signals;
- and
- a processor block configured to:
- receive an identifier and a handle from an RFID tag, wherein the handle is a random number generated by the tag and different from the identifier;
- send a challenge to the tag;
- receive a response to the challenge from the tag, the response based on a cryptographic algorithm, a key, the challenge, and a first parameter, wherein the first parameter is another random number generated by the tag;
- authenticate the response using the key, the key determined by using the identifier in a table lookup or as input into an algorithmic key generator;
- and
- upon authenticating the response, send a message including a second parameter and an instruction to the tag, wherein the second parameter authorizes the execution of the instruction and is based on at least the handle and the first parameter.
Dependencies are inferred from the claim text.