A problem that can occur for product distribution is that of unauthorized copies of products. For example, a contract manufacture can receive the specifications for a product from a designer and make a number of authorized products. Unscrupulous manufacturers can then go on to make additional unauthorized, but identical, copies of the product to sell illegally at a high profit.
One way to get around this issue is by using a RFID tag that can encrypt and decrypt data. In this way, the integrity of products can be assured.
The problem with using present RFID tags to secure articles is that the cost of such RFID tags for authentication can be relatively large. This is because the present state of the art is to use tags with a large block of encrypted memory to describe the article, or to utilize an off line database to store attributes of the tagged article. In the former case the protocol for decrypting the stored information are complex and often require expensive and specially configured RFID readers, in the second case maintenance and upkeep of the database as well as insuring real time access have proven to be difficult logistical tasks.
Embodiments of the present invention include ways to use the less expensive RFID tags in an encryption and authentication scheme. Encryption and decryption can be done outside the RFID tag.
Embodiments of the present invention a permanent ID that RFID chip manufacturers typically put a on the RFID chip in combination with additional data that is provided by an authenticating authority (typically the legitimate manufacturer). Since this permanent ID is added in the chip manufacture process, it is impractical to spoof. The additional data is known to the authenticating authority and may be recovered from data written to the RFID tag memory.
The permanent ID and additional data, together the authentication data, can be encrypted then the encrypted value can be stored back onto another location on the RFID chip of the RFID tag. Validation can include decryption of the encrypted value and the comparing of the decrypted value with the authentication data.
A person who wanted to spoof the RFID tag would need to have access to the encryption algorithm. Merely copying data for a previous RFID chip would not be sufficient, since when decrypted, the decrypted version of the permanent ID would not match the permanent ID placed on the RFID chip by the RFID manufacturer.
One embodiment of the present invention, as shown in
The combination can be any type of combination including the permanent value and seed value. This can include operations such as addition, subtraction and multiplication, bit shifting, Boolean operations, bit reversal, padding, truncation etc.
The RFID tag can be authenticated by decrypting the encrypted values to obtain the permanent ID and the seed value.
The derived permanent ID obtained using the encrypted value can be compared to the permanent ID off of the RFID chip. The seed value determined from the encryption value can also be validated.
The RFID chip can also include product data.
The seed value can be obtained from a pool of seed values. In one embodiment, the writing of the encrypted value to the RFID chip can be done by an RFID reader, and this RFID reader can maintain the pool of seed values.
Public/private key encryption can be used. For the purpose of following discussion, the terms public and private keys are used for convenience. The system architect may choose to publish the “private” key and keep the “public” key secret. The encrypted value can encrypted with a public key. The encrypted value can then be decrypted by a private key. Alternately, any other encryption/decryption scheme can be used.
In step 204, the encrypted value is decrypted to get a combined value. In step 206, the combined value is analyzed to get a derived permanent ID and a derived seed value.
In step 208, using at least one of the derived permanent ID and the derived seed value to validate the RFID tag. The validation can include comparing the derived permanent ID portion obtained from the encrypted value with the permanent ID put on the RFID chip by the RFID manufacturer. The validation can include analyzing the derived seed value.
In one embodiment, the seed values are encrypted. The derived seed value can be decrypted to determine if the derived seed value is valid.
The encrypted values can be encrypted with a public key and the decryption uses a private key.
The method of
The RFID reader 402 can be configured through software to authenticate an RFID tag through the use of a public/private key encryption method. The public key can be stored on removable media. The stored public key can be encrypted or password protected such that the user must enter data in order to access the public key. The public key can be stored locally on the reader in re-writable memory, or non-re-writable memory.
Later, as shown in
The derived permanent ID can be compared to the permanent ID on the chip in step 508. If a spoofed value is used, then the derived permanent ID will not match the real permanent ID.
The derived seed 506 can be checked against remote or local database. Alternately, the derived seed value can be decrypted and then compared against a remote or local database.
The present system can prevent counterfeit product from getting into the supply chain and/or detect counterfeits at any of a number inspection point inside or outside of their control. RFID tags can be used to validate if a shipment is counterfeit at a customs inspection point or other locations. A potential rogue contract manufacturer (CM) can be prevented using the technology from producing electronically verifiable fakes.
A method can be as follows:
At customs or other location;
The designer can control the private key and agreed not share it with the contract manufacturer, thus they control the validation. Potentially the trusted partner could do this as a service. Even if the contract manufacturer knows the mathematical operation the designer controls the seed values which are traceable by manufacturer.
The date stamp can be useful either as a way to shift the public/private key sets or can be combined with the seed value (mathematically) at the time of encryption. This only becomes an issue if the private key becomes compromised.
As described above, one method for providing self authentication of an RFID tag to a properly configured reader can utilize the following steps to encode the tag:
1) Read the static tag identification number (TID) from the RFID tag
2) Mathematically combine the TID with a second unique value (S) provided by a trusted authentication source to form an authentication string (AS)
3) Encrypt the variables AS and S using a user specific encryption key
4) Writing the encrypted data, AS*, to the tag
The tag may be authenticated through the following series of operations
1) Read the encrypted data, AS* and the plain text TID from the tag
2) Decrypt the data using the user's decryption key to obtain AS
3) Invert the mathematical combination of AS to obtain S*
4) Recalculate AS** from the TID and S*
5) Compare AS** and AS
If the two values AS** and AS match the tag is authentic. The actual computational path is chosen because of its simplicity not because it is the only computational path to authenticate the data.
While this approach is applicable to passive tags it may suffer from one known security drawback, that of a so-called replay attack. This attack is one in which a counterfeit tag or tag emulator replays the entire data string of a known authentic tag, after being queried by an RFID reader. The RFID reader cannot distinguish the data stream as anything but authentic. It is possible to mitigate the effectiveness of a replay attack through software means at a system level however it is unlikely that such an attack can be eliminated.
The replay attack may be effectively combated if the tag and reader are designed as a system such that at each authentication event the data stream sent to the reader changes, and the actual authentication data is hidden from casual interrogation by password protection of the memory. Many common RFID chips carry on board memory structure that facilitates this methodology. In particular for HF (13.56 MHz) RFID tags the I-Code SLI-S, chip from NXP Semiconductors and for UHF (902-928 MHz) RFID tags the Alien Higgs 3 chip from Alien Technologies are examples.
The RFID tag 600 can lock up if the wrong password is sent to it.
The RFID tag 600 can further include a counter 612 that is incremented, as part of an updating process. The counter can be incremented to indicate that the password or authentication data is changed.
The RFID tag 600 can include rolling code 614.
One embodiment is a method including reading an encrypted password from a RFID (Radio Frequency Identification) tag. The password can be decrypted and sending the decrypted password sent to the RFID tag. If the password is correct, authentication data can be received from the RFID tag. The RFID tag can be authenticated using the authentication tag. The RFID tag can then be instructed to update.
The RFID tag can be given a new password, new authentication data, or both, in the instructing step.
The authentication data can be calculated using a seed value and a permanent ID of the RFID tag.
The authentication data can be encrypted.
The authentication data can be used to obtain a derived permanent ID that is compared to the permanent ID of the RFID tag.
The authentication can include reading data off of a RFID chip of an RFID tag, the data including a permanent ID put on the RFID chip by the RFID chip manufacturer, and the authentication data.
The authentication data can be used to decide a derived permanent ID and derived seed value to authenticate the RFID tag as described above.
The password and/or authentication data on the RFID tag can then be updated.
The technique disclosed herein is referred to as a rolling code approach and may be generalized in two embodiments. In the first the tag memory is password protected and the memory contains authentication data structured similarly to the example above. The data is changed with every authentication event. The memory is segmented into two sections, a publicly accessible memory segment and a password protected memory segment. In the publicly accessible memory segment the password for access to the password protected area is written in an encrypted form. The authentication data, similarly to above, is written in the password protected section of memory. Additional data consisting of the instructions for iterating the data (rolling code) and an iterative counter which records the number of authentication events is also written in the password protection segment of memory. The password is encrypted using the authenticating authority's public encryption key. Upon interrogating a tag the authenticating reader can perform the following operations:
1) Read the encrypted password from the publicly accessible memory
2) Decrypt the password and use it to access the password protected memory of the chip
3) Read the memory content of the password protected memory segment
4) Decrypt the memory content and authenticate the tag as described above
5) Iterate the content of the of the memory, counter and authentication data.
Optionally one may also iterate the password for memory access and rewrite the password. While it is possible to maintain a single password for a group of tags, it is desirable for each tag to have a unique password.
In one embodiment the encrypted data for the password may encoded using an asymmetric encryption scheme such that the encrypted data is a mathematical combination of the tag TID and the tag password (there are no constraints on the mathematical operation other than it must be invertible). The authenticating RFID reader uses the decryption key (public key) to decrypt and extract the password.
In another embodiment the password may be encoded using a symmetric encryption scheme such that the encrypted data is a mathematical combination of the tag TID and the tag password. The authenticating RFID reader uses the decryption key to decrypt and extract the password.
In either embodiment, after a successful authentication event the reader may re-encrypt a different password and write this to the tag, as well as change the content of the authentication data that is in the password protected memory. In this embodiment the instructions for iterating the data may be contained in a specific data location. These instructions may take the form of the coefficients of a polynomial that is used to calculate the new value(s), the seed data for a Psuedo Random Number Generator (PRNG), or an index to a suitable calculation algorithm chosen by the user and stored on the authenticating reader.
The set of algorithms that may be used is broad, the selection criteria for use is defined by the system architect and must be carefully chosen to result in unique and easily invertible transformation of the initial data and the result, whether that result is the iterated password or authentication data in the password protected segment of memory.
The advantage of the this “rolling code” approach is that it significantly reduces the vulnerability to replay attacks since the each combination of data used in an authentication event is unique and is not used for subsequent authentications.
The foregoing description of preferred embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims and their equivalents.
This application is a Continuation-in-Part to U.S. Utility application Ser. No. 12/131,271, entitled “RFID TAG USING ENCRYPTION VALUE”, by Robert R. Oberle, filed on May 2, 2008 [Atty. Docket No. RCDT-01022US1], which claims priority to U.S. Provisional Application No. 60/980,249, entitled “RFID TAG USING ENCRYPTED VALUE” by Robert R. Oberle, filed Oct. 16, 2007 [Atty. Docket No. RCDT-01022US0], which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60980249 | Oct 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12131271 | Jun 2008 | US |
Child | 12255527 | US |