The present description addresses the field of Radio Frequency IDentification (RFID) systems, and more specifically, to RFID tags able to generate random numbers.
Radio Frequency IDentification (RFID) systems typically include RFID tags and RFID readers (the latter are also known as RFID reader/writers or RFID interrogators). RFID systems can be used in many ways for locating and identifying objects to which the tags are attached. RFID systems are particularly useful in product-related and service-related industries for tracking large numbers of objects being processed, inventoried, or handled. In such cases, an RFID tag is usually attached to an individual item, or to its package.
In principle, RFID techniques entail using an RFID reader to interrogate one or more RFID tags. The reader transmitting a Radio Frequency (RF) wave performs the interrogation. A tag that senses the interrogating RF wave responds by transmitting back another RF wave. The tag generates the transmitted back RF wave either originally, or by reflecting back a portion of the interrogating RF wave in a process known as backscatter. Backscatter may take place in a number of ways.
The reflected back RF wave may further encode data stored internally in the tag, such as a number. The response is demodulated and decoded by the reader, which thereby identifies, counts, or otherwise interacts with the associated item. The decoded data can denote a serial number, a price, a date, a destination, other attribute(s), any combination of attributes, and so on.
An RFID tag typically includes an antenna system, a power management section, a radio section, and frequently a logical section, a memory, or both. In earlier RFID tags, the power management section included an energy storage device, such as a battery. RFID tags with an energy storage device are known as active tags. Advances in semiconductor technology have miniaturized the electronics so much that an RFID tag can be powered solely by the RF signal it receives. Such RFID tags do not include a battery or similar energy storage device, and are called passive tags.
Some RFID tags include random or pseudo-random number generators for generating random numbers that are used for various operations of the RFID tag. For example, the random numbers can be used for generating identification codes to uniquely identify a particular RFID tag. Random numbers can also be used for generating security codes to limit accessibility to RFID circuitry to those having the proper security codes. The random numbers generated by random or pseudo-random number generators are typically provided in the form of a stream of random binary digits, or “bits.”
Pseudo-random number generators (PRNGs) are often used in RFID tags for generating “random” numbers because true random number generators can be difficult to design and implement in RFID tags. An example of a typical PRNG utilizes a linear feedback shift register (LFSR) for generating a bit sequence that is used as the random number. PRNGs of this design, however, have some limitations. For example, although a bit sequence generated by a PRNG having an LFSR is difficult to predict, the bit sequence is not truly random. The bit sequence generated by a PRNG utilizing a LFSR is based on an initial value provided to the LFSR, which is referred to as the “seed” value. Starting with a particular seed value, the bit sequence generated by the PRNG will always be the same. Thus, every time the PRNG is reset, such as when an RFID tag is powered-on, and the same initial seed value provided to the PRNG is known, the bit sequence that is generated can be predicted. In the case where the bit sequence is used for the purpose of securing the RFID tag, having an easily predictable number is undesirable.
Therefore, there is a need for a number generator that can generate different, unpredictable numbers.
In one aspect of the invention, an RFID tag circuit able to generate random numbers is provided. The RFID tag circuit includes a random number generator (RNG) operable to output a random number based on a seed value and further includes a non-volatile memory (NVM) register operable to store the seed value that is to be used by the RNG. A tag controller included in the RFID tag is operable to select a first one, and then a second one of a plurality of values that is to become the stored seed value.
In another aspect of the invention, a method for generating random numbers in an RFID tag circuit is provided. The method includes selecting a first one of a plurality of possible values as a first seed value. A RNG of the circuit is powered off, and then powered on while the selected first seed value is stored in a first NVM register of the circuit. A first random number is then generated from the RNG in response to the RNG inputting the stored first seed value. The method further includes selecting a second one of the possible values different from the first value as a second seed value. The RNG is powered off, and then powered on while the selected second seed value is stored in a second NVM register. A second random number is generated from the RNG in response to the RNG inputting the stored second seed value.
Certain details are set forth below to provide a sufficient understanding of the invention. However, it will be clear to one skilled in the art that the invention may be practiced without these particular details. Moreover, the particular embodiments of the present invention described herein are provided by way of example and should not be used to limit the scope of the invention to these particular embodiments. In other instances, well-known circuits, control signals, timing protocols, and software operations have not been shown in detail in order to avoid unnecessarily obscuring the invention.
Reader 110 and tag 120 exchange data via wave 112 and wave 126. In a session of such an exchange, each encodes, modulates, and transmits data to the other, and each receives, demodulates, and decodes data from the other. The data is modulated onto, and decoded from, RF waveforms, as will be seen in more detail below.
Encoding the data can be performed in a number of different ways. For example, protocols are devised to communicate in terms of symbols, also called RFID symbols. A symbol for communicating can be a delimiter, a calibration symbol, and so on. Further symbols can be implemented for ultimately exchanging binary data, such as “0” and “1”, if that is desired.
Tag 120 can be a passive tag or an active tag, i.e. having its own power source. Where tag 120 is a passive tag, it is powered from wave 112.
Tag 220 is formed on a substantially planar inlay 222, which can be made in many ways known in the art. Tag 220 also includes two antenna segments 227, which are usually flat and attached to inlay 222. Antenna segments 227 are shown here forming a dipole, but many other embodiments using any number of antenna segments are possible.
Tag 220 also includes an electrical circuit, which is preferably implemented in an integrated circuit (IC) 224. IC 224 is also arranged on inlay 222, and electrically coupled to antenna segments 227. Only one method of coupling is shown, while many are possible.
In operation, a signal is received by antenna segments 227, and communicated to IC 224. IC 224 both harvests power, and decides how to reply, if at all. If it has decided to reply, IC 224 modulates the reflectance of antenna segments 227, which generates the backscatter from a wave transmitted by the reader. Coupling together and uncoupling antenna segments 227 can modulate the reflectance, as can a variety of other means.
In the embodiment of
The components of the RFID system of
Circuit 330 includes at least two antenna connections 332, 333, which are suitable for coupling to one or more antenna segments (not shown in
Circuit 330 includes a section 335. Section 335 may be implemented as shown, for example as a group of nodes for proper routing of signals. In some embodiments, section 335 may be implemented otherwise, for example to include a receive/transmit switch that can route a signal, and so on.
Circuit 330 also includes a Power Management Unit (PMU) 341. PMU 341 may be implemented in any way known in the art, for harvesting raw RF power received via antenna connections 332, 333. In some embodiments, PMU 341 includes at least one rectifier, and so on.
In operation, an RF wave received via antenna connections 332, 333 is received by PMU 341, which in turn generates power for components of circuit 330. This is true for either or both of when the reader 110 talks to the tag 120 (when the received RF wave carries a signal) and when the tag 120 talks to the reader 110 (when the received RF wave carries no signal).
Circuit 330 additionally includes a demodulator 342. Demodulator 342 demodulates an RF signal received via antenna connections 332, 333. Demodulator 342 may be implemented in any way known in the art, for example including an attenuator stage, amplifier stage, and so on.
Circuit 330 further includes a processing block 343. Processing block 343 receives the demodulated signal from demodulator 342, and may perform operations. In addition, it may generate an output signal for transmission.
Processing block 343 may be implemented in any way known in the art. For example, processing block 343 may include a number of components, such as a processor, a memory, a decoder, an encoder, and so on.
A RNG 344 is included in the processing block 343. The RNG 344 generates random numbers for use in various operations, as previously discussed, such as for generating identification codes to uniquely identify a particular RFID tag and for generating security codes to limit accessibility to RFID circuitry to those having proper the proper security codes. The random numbers generated by the RNG 344 are provided in the form of a random bit sequence. As will be explained in more detail below, the RNG 344 includes a pseudo-random number generator circuit that generates a bit sequence from an initial “seed” value. For a particular seed value, the sequence of bits output by the pseudo-random number generator circuit will be the same. The pseudo-random bit sequence generated by the RNG 344 is “randomized” by providing the pseudo-random number generator circuit with updated seed values from which a bit sequence is generated. Various embodiments of random number generators that can be substituted for the RNG 344 will be described in more detail below.
Circuit 330 additionally includes a modulator 346. Modulator 346 modulates an output signal generated by processing block 343. The modulated signal is transmitted by driving antenna connections 332, 333, and therefore driving the load presented by the coupled antenna segment or segments. Modulator 346 may be implemented in any way known in the art, for example including a driver stage, amplifier stage, and so on.
In one embodiment, demodulator 342 and modulator 346 may be combined in a single transceiver circuit. In another embodiment, modulator 346 may include a backscatter transmitter or an active transmitter. In yet other embodiments, demodulator 342 and modulator 346 are part of processing block 343.
It will be recognized at this juncture that circuit 330 can also be the circuit of an RFID reader according to the invention, without needing PMU 341. Indeed, an RFID reader can typically be powered differently, such as from a wall outlet, a battery, and so on. Additionally, when circuit 330 is configured as a reader, processing block 343 may have additional Inputs/Outputs (I/O) to a terminal, network, or other such devices or connections.
The new seed values can be generated by the tag controller 408 in different ways. For example, the tag controller 408 can compute a new seed value from a number related to the particular RFID tag, such as a stored encoded identification number (e.g., product number, manufacturer identification number, and the like), or a received signal strength indicator (RSSI). As will be described in more detail below, new seed values can also be computed from a previous seed value or from a random bit sequence generated using a previous seed value. Techniques other than those specifically described herein can be used as well. Additionally, a combination of various techniques for computing new seed values can also be used.
The new seed value is stored at step 1130 in a register or other memory and the register storing the new seed value to be provided to a RNG circuit is selected at step 1140. The register or memory is preferably a persistent memory that can retain the new seed value although the RFID tag is without power. At step 1150 a decision whether to generate random numbers based on the new seed value is made. When random numbers based on another seed value are to be generated, the seed value stored by the selected register is used as the basis for generating new random numbers. Steps 1120-1140 are then repeated to select and store a new seed value, and further select a register storing the seed value that will to be provided to the RNG and used for generating new random numbers.
From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.
This application claims the benefit of U.S. Provisional Application 60/667,131 entitled RFID TAGS UPDATING SEED OF PRNG, filed Mar. 30, 2005, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60667131 | Mar 2005 | US |