Abstract:
In an RFID system, a method and apparatus for linking an RFID tag to an associated object. The system includes a relatively simple tag, a reader, a linker, and a store. The reader interrogates the tag for an ID and selectively provides the ID to the linker. The linker, in turn, uses the ID to provide back to the reader an associated Uniform Resource Identifier (“URI”). The reader then forwards the URI to the store. In response, the store returns to the reader the object associated with the ID via the URI. The disclosed method and apparatus provide more efficient and secure tag authentication.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority to the U.S. Provisional Patent Application Ser. No. 61/273,227 (“Parent Provisional”), filed 1 Aug. 2009. The foregoing Parent Provisional is hereby incorporated by reference in its entirety as if fully set forth herein. The subject matter of this application is related to U.S. application Ser. No. xx/xxx,xxx (Attorney Docket No. JRF005) (“Related Application”), filed simultaneously herewith. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    Our invention relates generally to radio-frequency identification (“RFID”) systems and, in particular, to a method and apparatus for linking an RFID tag to an associated object while addressing issues of privacy and authentication. 
         [0004]    2. Description of the Related Art 
         [0005]    In general, in the descriptions that follow, we will italicize the first occurrence of each special term of art which should be familiar to those skilled in the art of radio frequency (“RF”) communication systems. In addition, when we first introduce a term that we believe to be new or that we will use in a context that we believe to be new, we will bold the term and provide the definition that we intend to apply to that term. In addition, throughout this description, we will sometimes use the terms assert and negate when referring to the rendering of a signal, signal flag, status bit, or similar apparatus into its logically true or logically false state, respectively, and the term toggle to indicate the logical inversion of a signal from one logical state to the other. Alternatively, we may refer to the mutually exclusive boolean states as logic — 0 and logic — 1. Of course, as is well know, consistent system operation can be obtained by reversing the logic sense of all such signals, such that signals described herein as logically true become logically false and vice versa. Furthermore, it is of no relevance in such systems which specific voltage levels are selected to represent each of the logic states. 
         [0006]    As is known, a radio frequency identification (“RFID”) system may include multiple tags and at least one reader. Shown in  FIG. 1  is prior art RFID system  10  which includes a single, exemplary tag  12  and a reader  14 . Tag  12 , at a minimum, includes an integrated circuit (not shown) for storing and processing information, and an antenna circuit (not shown) for exchanging data with reader  14 . At a minimum, the integrated circuit of tag  12  implements a unique identifier (“ID”)  18  and control logic (not shown) adapted to facilitate the operation of tag  12  in RFID system  10 . Depending on the manufacturing technology selected to implement tag  12 , ID  18  may be implemented using any of the known types of persistent memory, such as read-only memory (“ROM”), programmable ROM (“PROM”), ultra-violet erasable PROM (“UV-PROM”), electrically-erasable PROM (“EE-PROM”), fast EE-PROM (“FLASH”), or the like. As may be desired, ID  18  may be as simple as a unique binary bit string or as complex as an Electronic Product Code (“EPC”) as specified, e.g., by the EPCglobal Tag Data Standards (currently at Version 1.4) and as used in many passive UHF RFID applications. As is known, the nature of ID  18  will be system specific and will, in general, be determined by a host system adapted to manage the RFID system  10 . 
         [0007]    In the illustrated form, the integrated circuit of tag  12  further includes a store  16  adapted to store a system-specific data object, hereinafter referred to as data object  20 . Depending on the application, store  16  may be implemented using any of the known types of persistent memory, which may or may not be the same type as selected to implement the ID  18 . Data object  20  may include such information as the name of the manufacturer, product details, pricing information, and the like. As is known, the nature of data object  20  will be system specific and will, in general, be determined by the host system. 
         [0008]    During normal operation, reader  14  interrogates tag  12  [illustrated in  FIG. 1  as transaction  1 ], and receives ID  18  and data object  20  from tag  12  [transaction  2 ]. Depending on the application, tag interrogation may comprise one or more transaction cycles. For example, in one application, tag  12  can be adapted to provide both ID  18  and data object  20  to reader  14  during a single transaction cycle. Alternatively, tag  12  can be adapted to provide ID  18  during a first transaction cycle, and to provide data object  20 , if at all, during a second transaction cycle. 
         [0009]    As is known, any of various security procedures may be employed within reader  14  to validate the ID  18  received from tag  12 , and within tag  12  to verify that the reader  14  is entitled to receive the data object  20 . If necessary, store  16  can be adapted to store any required control or security information. In addition, the integrated circuit of tag  12  may include special-purpose security logic, such as hash table logic and random number generation logic, to control access to data object  20 . 
         [0010]    As explained in “The Promising but Plodding RFID Industry”, Stanford Group Company, 1 Apr. 2008, (“Stanford Paper”), a copy of which is submitted herewith and incorporated herein in its entirety by reference: 
         [0011]    “Radio Frequency Identification (RFID) technology promises to be a transformational technology, replacing barcodes and other supply chain management technologies with cheap chip-based tags that can be instantaneously and accurately read from significant distances.” [p. 1] 
         [0012]    “Radio Frequency Identification (‘RFID’) technology refers to a wide range of microchip-based systems that can transmit and sometimes receive information via wireless interfaces.” [p. 5] 
         [0013]    “Ranging from sophisticated government ID cards to simple asset tracking tags, RFID chips are available in a large variety of formats and security configurations, with each ‘flavor’ of RFID chip tailored specifically for certain applications.” [p. 5] 
         [0014]    The Stanford Paper discusses a tag as being “applied to or incorporated into a product, animal, or person for the purpose of identification and tracking using radio waves”. Far field tags, defined as operating at a distance less than 12 meters from the reader, and near field tags, defined as operating at a distance less than 0.5 meters from the reader may be used. Tags are initially powered down and will wake up upon receipt of a sufficiently strong RF signal. A brief summary of this prior art process is presented on page 7 of the Stanford Paper. The Stanford Paper then went on to note: 
         [0015]    “Moreover, at last month&#39;s DoD RFID Summit, the Army described its plans to shift away from the data-rich tags that it currently buys . . . and instead migrate to ‘license plate tags’ that simply contain a unique number which ties to information about a container in a DoD database. The basic concept is to get away from having information across a distributed network and instead simply use the tags as a pointer to information in a centralized network. The end goal: cheaper tags available from multiple vendors . . . .” [p. 16] 
         [0016]    As shown in  FIG. 2 , a prior art RFID system  10 A might include a tag  12 A, a reader  14 A, and a store  16 A. During operation, reader  14 A, at a minimum, interrogates tag  12 A [illustrated in  FIG. 2  as transaction  1 ], and receives ID  18 A from tag  12 A [transaction  2 ]. Reader  14 A then provides ID  18 A to store  16 A [transaction  3 ], and receives data object  20 A from store  16 A [transaction  4 ]. As is known, any of various security procedures may be employed within reader  14 A to validate the ID  18 A stored on tag  12 A, and within store  16 A to verify that the reader  14 A is entitled to receive data object  20 A. In this embodiment, tag  12 A is dumb, i.e., it stores no data, per se, but simply includes the unique tag ID  18 A comprising information sufficient to access data object  20 A now stored in store  16 A. In a typical commercial application, data object  20 A will typically include vendor identification information, product details, pricing and availability, etc. In a distributed network implementation, vendor-provided data object  20 A may be stored locally within the reader  14 A, i.e., store  16 A would be integrated into reader  14 A. Alternatively, in a centralized network implementation, vendor-provided data object  20 A may be stored at a remote store  16 A, typically provided by the vendor or an independent service provider (“ISP”). In both configurations, a public communication network, such as plain old telephone service (“POTS”) or the Internet, provides a suitable medium for data distribution. In both types of systems, however, sufficient information is provided by tag  12 A to directly access the respective data object  20 A. 
         [0017]    As is known, objects may be accessed via a Uniform Resource Identifier (“URI”). A URI may comprise a Uniform Resource Locator (“URL”), a Uniform Resource Name (“URN”), or a Uniform Resource Characteristic (“URC”). Each plays a specific role within the URI scheme, namely: (i) URLs are used for locating or finding resources; (ii) URNs are used for identification; and (iii) URCs are used for including meta-information. Although the term typically refers to communication on the World Wide Web (“WWW”), it can also comprise communication over a general network. For example, a URI comprising an International Standard Book Number (“ISBN”) number may be used to retrieve a book stored in electronic form in store  16 A, or a URL comprising a web link may be used to retrieve a web page stored in electronic form (or dynamically generated) in store  16 A. 
         [0018]    As is known, prior art RFID systems have several disadvantages. One such disadvantage is that smart tags tend to be relatively expensive and complex, and yet, in general, still have insufficient on-tag storage capacity to accommodate the continuously-increasing data payload. Distributed RFID databases are typically complex, difficult to understand, and time-consuming to maintain. Further, sensitive data is difficult to distribute reliably and difficult to maintain securely at all locations where the data may be stored. 
         [0019]    Yet another disadvantage is in the area of security. In general, security issues fall into two basic categories for RFID systems: (i) privacy; and (ii) authentication. Privacy issues include the case of unauthorized readers harvesting information from valid tags. In general, RFID tags silently respond to interrogation by a reader, i.e., without express notification to any party. Often, the unique ID for the tag will comprise manufacturer, product, and serial number information. Thus, without proper security, clandestine scanning of information is a plausible threat. This threat becomes particularly sensitive when personal or proprietary information is included with the RFID tag id, or when the RFID tag id can be readily associated with that information. 
         [0020]    Authentication issues can arise when a reader harvests information from counterfeit tags. In general, RFID tags are vulnerable to copy and counterfeit techniques because scanning and replicating tags and tag ids requires relatively little money or expertise. For example, an EPC is a well-defined bit string, easily copied like any other, and simple to emulate via a personal computer (“PC”) equipped to transmit the counterfeit codes. 
         [0021]    In an attempt to eliminate these and other security threats, much has been done to utilize existing security methods such as passwords defined by the International Organization for Standardization (“ISO”), public key encryption, and other forms of cryptographic security. However, many such techniques add complexity and cost to the RFID tags. Optimally, to enable secure large-scale, item-level tagging, one would want to see the cost of the RFID tag driven down below what it is currently today. 
         [0022]    These and related issues are discussed in the Parent Provisional. As a result of these and related problems, RFID technology adoption has been far slower than originally anticipated and desired. We submit that what is needed is a more efficient, reliable, and secure system for linking a tag to a corresponding object. 
       BRIEF SUMMARY OF THE INVENTION 
       [0023]    In accordance with a preferred embodiment of our invention, we provide a radio-frequency identification (“RFID”) system for linking a unique tag ID to an associated object. In general, our system comprises a tag, a linker, and a reader. In particular, our tag contains a unique tag ID and is adapted to respond to an interrogation from the reader by providing that unique tag ID. Our linker contains a plurality of associative combinations of unique tag IDs and respective links, and is adapted to respond to an input of the unique tag ID by outputting the respective link. Finally, our reader is adapted to: transmit the interrogation to the tag; receive from said tag the unique tag ID in response to that interrogation; transmit to our linker that unique tag ID; receive from our linker the respective link; and utilize that link to access the associated object. 
         [0024]    Also in accordance with our invention, we provide a method to operate an RFID system so as to link a unique tag ID to an associated object. In general, our system comprises a tag, a reader and a linker. During normal system operation, the tag responds to an interrogation by the reader by transmitting a stored tag ID to the reader. In response to receiving the tag ID from the tag, our reader forwards that tag ID to our linker. In response to receiving the tag ID from the reader, our linker returns to the reader a link associated with that tag ID. In response to receiving the link from the linker, our reader retrieves an object associated with that link. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0025]    Our invention may be more fully understood by a description of certain preferred embodiments in conjunction with the attached drawings in which: 
           [0026]      FIG. 1  illustrates in block diagram form, a prior art RFID system, including a tag and a reader; 
           [0027]      FIG. 2  illustrates in block diagram form, a prior art RFID system, including a tag, a reader, and a store; 
           [0028]      FIG. 3  illustrates in block diagram form, an RFID system constructed in accordance with a preferred embodiment of our invention; 
           [0029]      FIG. 4  illustrates in flow diagram form, the sequencing of operations of the RFID system of  FIG. 3 ; 
           [0030]      FIG. 5  illustrates in block diagram form, an RFID authentication system constructed in accordance with a preferred embodiment of our invention; 
           [0031]      FIG. 6  illustrates in flow diagram form, a process utilized by our RFID authentication system shown in  FIG. 5 ; 
           [0032]      FIG. 7  illustrates in block diagram form, an alternate embodiment of the RFID system shown in  FIG. 5 ; 
           [0033]      FIG. 8  illustrates in block diagram form, another alternate embodiment of the RFID system shown in  FIG. 5 ; and 
           [0034]      FIG. 9  illustrates in block diagram form, yet another alternate embodiment of the RFID system shown in  FIG. 5 . 
       
    
    
       [0035]    In the drawings, similar elements will be similarly numbered whenever possible. However, this practice is simply for convenience of reference and to avoid unnecessary proliferation of numbers, and is not intended to imply or suggest that our invention requires identity in either function or structure in the several embodiments. 
       DETAILED DESCRIPTION OF THE INVENTION 
       [0036]    In accordance with the preferred embodiment of our invention as shown in  FIG. 3 , our RFID system  10 B includes tag  12 B, reader  14 B, store  16 B, and a linker  22 B. In general, reader  14 B is adapted to interrogate tag  12 B [illustrated in  FIG. 3  as transaction  1 ], and to receive ID  18 B provided by tag  12 B [transaction  2 ] in response to that interrogation. Reader  14 B is further adapted to selectively provide ID  18 B to linker  22 B [transaction  3 ], and to receive a link  24 B from linker  22 B [transaction  4 ]. Finally, reader  14 B is adapted to selectively provide the link  24 B to store  16 B [transaction  5 ], and to receive a data object  20 B from store  16 B [transaction  6 ]. 
         [0037]    As shown in  FIG. 4 , our preferred method  26  for linking tag  12 B to a data object  20 B comprises the following steps: 
         [0038]    Step  1 : we store a unique ID  18 B in tag  12 B (step  28 ). 
         [0039]    Step  2 : we store links  24 B, each associated with a selected unique ID  18 B, in linker  22 B (step  30 ). 
         [0040]    Step  3 : we store data objects  20 B, each associated with a selected link  24 B, in store  16 B (step  32 ). 
         [0041]    Step  4 : our reader  14 B interrogates tag  12 B (step  34 ). 
         [0042]    Step  5 : our reader  14 B receives from tag  12 B the ID  18 B (step  36 ). 
         [0043]    Step  6 : our reader  14 B transmits ID  18 B to the linker  22 B (step  38 ). 
         [0044]    Step  7 : our reader  14 B receives from linker  22 B the link  24 B associated with ID  18 B (step  40 ). 
         [0045]    Step  8 : our reader  14 B transmits link  24 B to the store  16 B (step  42 ). 
         [0046]    Step  9 : our reader  14 B receives from the store  16 B the data object  20 B associated with link  24 B (step  44 ). 
         [0047]    In accordance with our invention, linker  22 B is adapted to store for each unique ID  18 B a corresponding link  24 B. During normal operation, linker  22 B receives each ID  18 B provided by reader  14 B, and, if the received ID  18 B corresponds to link  24 B, linker  22 B provides link  24 B to reader  14 B. Storage of links  24 B in linker  22 B may be implemented using any of several existing technologies, such as relational databases, associative array structures, lookup tables or the like. As may be desired, linker  22 B, including links  24 B, may be implemented as either a hardware or software component within reader  14 B. Alternatively, linker  22 B may be implemented as a stand-alone component either co-located with reader  14 B or at a different location remote from reader  14 B. For example, in our preferred embodiment, we implement linker  22 B as a link server running on a stand-alone computer system and adapted to perform transactions  3  and  4  via the Internet. This configuration is well adapted to our preferred method of system operation in that maintenance of links  24 B is relatively centralized with respect to reader  14 B (enabling us to easily support multiple readers  14 B), thus facilitating rapid posting of changes in links  24 B as well as providing, if desired, a secure communication tunnel with both reader  14 B and the ultimate source of links  24 B (not shown). 
         [0048]    Also in accordance with our invention, store  16 B is adapted to store for each unique link  24 B a corresponding data object  20 B. During normal operation, store  16 B receives each link  24 B provided by reader  14 B, and, if the received link  24 B corresponds to a data object  20 B, store  16 B provides data object  20 B to reader  14 B. Storage of data object  20 Bs in store  16 B may be implemented using any of several existing technologies, such as relational databases, associative array structures, lookup tables or the like. As may be desired, store  16 B, including data objects  20 B, may be implemented as either a hardware or software component within reader  14 B. Alternatively, store  16 B may be implemented as a stand-alone component either co-located with reader  14 B or at a different location remote from reader  14 B. For example, in our preferred embodiment, we recommend implementing store  16 B as a web server running on a stand-alone computer system and adapted to perform transactions  5  and  6  via the Internet. This configuration is well adapted to our preferred method of system operation in that maintenance of data object  20 Bs is relatively centralized with respect to reader  14 B (enabling us to easily support multiple readers  14 B), thus facilitating rapid posting of changes in data object  20 Bs as well as providing, if desired, a secure communication tunnel with both reader  14 B and the ultimate source of data objects  20 B (not shown). 
         [0049]    In accordance with our invention, we are able to provide the controllability and data coherence benefits of prior art centralized systems while simultaneously providing the flexibility and timeliness of prior art distributed systems. In contrast to prior art distributed data systems, in our preferred embodiment, only links  24 B need to be distributed, where they may be maintained in linker  22 B in a relatively simple, easily understood and maintained database structure. In contrast to prior art centralized data systems, in our preferred embodiment, relocation or reorganization of data objects  20 B does not require modification of the corresponding ID  18 B stored in tags  12 B, but, rather, only the impacted links  24 B. Also, our distributed-link, centralized-data organization is especially well suited to take advantage of the inherent benefits of the now-ubiquitous Internet. 
       Hidden Code Security 
       [0050]    In accordance with our invention, the security issues described above are addressed by our system  10 C illustrated in  FIG. 5 . In general, our system  10 C is comprised of RFID tag  12 C, reader  14 C and store  16 C. In the illustrated embodiment, tag  12 C is adapted to store a unique tag ID  18 Ct, a tag hidden code  46 Ct and tag control codes  48 Ct. In addition, tag  12 C includes a tag processor  50 Ct adapted to selectively develop a tag authentication code from the tag hidden code  46 Ct as determined by the tag control codes  48 Ct. Also, as illustrated, store  16 C is adapted to store a unique master ID  18 Cm, a master hidden code  46 Cm and master control codes  48 Cm. In addition, store  16 C includes a master processor  50 Cm adapted to selectively develop a master authentication code from the master hidden code  46 Cm as determined by the master control codes  48 Cm. 
         [0051]    In one embodiment, reader  14 C is adapted to selectively interrogate tag  12 C using, e.g., a singulation command [illustrated in  FIG. 5  as transaction  1 ]. In response, tag  12 C provides to reader  14 C a tag identification sequence comprising the concatenation of the tag ID  18 Ct and the tag authentication code [transaction  2 ], which reader  14 C then forwards to store  16 C [transaction  3 ]. Preferably, while the reader  14 C is interrogating the tag  12 C, store  16 C is developing a master identification sequence comprising the master ID  18 Cm and the master authentication code. Upon receipt, store  16 C compares the tag identification sequence with the master identification sequence and then provides to reader  14 C a validation signal that indicates either that tag  12 C has been authenticated or not [transaction  4 ]. Optionally, in the event that the tag  12 C cannot be authenticated, reader  14 C and store  16 C may selectively vary tag control codes  48 Ct in an attempt to determine the cause of the failure of authentication or to implement an alternate or supplemental authentication process. 
         [0052]    In one other embodiment, tag  12 C may be adapted to provide only the tag ID  18 Ct in response to the singulation sequence. In response to receiving ID  18 Ct, reader  14 C may thereafter selectively request tag  12 C to develop and provide the tag authentication code. Upon receipt, reader  14 C may then forward to the store  16 C both the ID  18 Ct and the tag authentication code for authentication as discussed above. Optionally, the store  16 C may be adapted to provide the master authentication code in response to receiving the ID  18 Ct, so that the reader  14 C may itself perform the authentication. 
         [0053]    As shown in  FIG. 6 , one other method  52  for implementing hidden code security comprises the steps of: 
         [0054]    Step  1 : our reader  14 C interrogates the tag  12 C (step  54 ). 
         [0055]    Step  2 : our reader  14 C receives from tag  12 C the tag ID  18 Ct (step  56 ). 
         [0056]    Step  3 : our reader  14 C transmits the tag ID  18 Ct to the store  16 C (step  58 ). 
         [0057]    Step  4 : our reader  14 C receives from store  16 C control codes  48 Cm associated with tag ID  18 Cm (step  60 ). 
         [0058]    Step  5 : our reader  14 C transmits control codes  48 Cm to the tag  12 C as part of the authentication request (step  62 ). 
         [0059]    Step  6 : our reader  14 C receives from the tag  12 C the computed authentication code (step  64 ). 
         [0060]    Step  7 : our reader  14 C transmits the authentication code to the store  16 C (step  66 ). 
         [0061]    Step  8 : our reader  14 C receives from the store  16 C a validation signal (step  68 ). 
         [0062]    In one other embodiment, illustrated in  FIG. 7 , the system operates similarly to the embodiment illustrated in  FIG. 5 . Again, the reader  14 D is adapted to selectively interrogate tag  12 D using a singulation command [transaction  1 ]. In response, tag  12 D provides to reader  14 D the tag ID  18 Dt, which reader  14 D then transmits to store  16 D [transaction  2 ]. Using the received tag ID  18 Dt, store  16 D retrieves an associated control code  48 Dm for transmission back to tag  12 D via reader  14 D [transaction  3 ]. Upon receipt of the control code, tag  12 D uses processor  50 Dt to develop a tag authentication code as a function of the received control code  48 Dt and the tag hidden code  46 Dt, for transmission back to store  16 D via reader  14 D [transaction  4 ]. Substantially independently, store  16 D uses processor  50 Dm to develop a master authentication code as a function of the master control code  48 Dm and a master hidden code  46 Dm associated with the received tag ID  18 Dt [transaction  5 ]. If the received tag authentication code compares favorably to the internally developed master authentication code [transaction  6 ], store  16 D retrieves a data  52 D associated with the received tag ID  18 Dt for transmission to the reader  14 D for further processing [transaction  7 ]. Optionally, in the event that tag  12 D cannot be authenticated, reader  14 D and store  16 D may selectively vary tag control codes  48 Dt in an attempt to determine the cause of the validation failure. 
         [0063]    In one other embodiment, illustrated in  FIG. 8 , the system operates similarly to the embodiment illustrated in  FIG. 7 . Again, the reader  14 E is adapted to selectively interrogate tag  12 E using a singulation command [transaction  1 ]. In response, tag  12 E provides the tag ID  18 Et to store  16 E via reader  14 E [transaction  2 ]. Within tag  12 E, tag processor  50 Et first generates a random number and then develops a tag authentication code as a function, f t ( ), of that random number and the tag hidden code  46 Et. Preferably, as each is developed, tag  12 E transmits both the random number and the tag authentication code to store  16 E via reader  14 E [transactions  3  and  4 , respectively]. Within store  16 E, store processor  50 Em develops a master authentication code as a function, f m ( ), of the received random number and a master hidden code  46 Em associated with the received tag ID  18 Et [transaction  5 ]. If the received tag authentication code compares favorably to the internally developed master authentication code [transaction  6 ], store  16 E transmits a data  52 Em associated with the received tag ID  18 Et to the reader  14 E for further processing [transaction  7 ]. Optionally, in the event that tag  12 E cannot be authenticated, reader  14 E and store  16 E may selectively repeat this sequence in an attempt to determine the cause of the validation failure, each time using a new random number generated by tag processor  50 Et. If desired, tag processor  50 Et may be adapted to implement the function, f t ( ), in a bit-serial manner, thus enabling, in some embodiments, both the random number and tag authentication code to be transmitted substantially simultaneously to store  16 E using a suitable bit-serial transmission protocol. 
         [0064]    In accordance with our invention, tag ID  18   xt  may be a unique proprietary ID that does not contain any company or product specific information. (Note: for convenience of reference hereinafter, we will use the generic place-holder, “x”, to indicate any of the several embodiments A-E disclosed above and variants thereof.) Tag ID  18   xt , as well as the tag hidden code  46   xt  may be initially registered at production, and may be programmed into a non-volatile form of memory, or allowed to randomly initialize based upon some processing variation and biases; either way, the value are unique at registration. This lack of specific intelligence on the tag is of particular importance when addressing privacy issues. Using a tag ID  18   xt  that lacks any specific information addresses the aforementioned privacy issue by securely storing vendor information, product serial codes, stock keeping unit (“SKU”) information or the like elsewhere, preferably in the store  16   x  where it can be quickly accessed using the unique tag ID  18   xt  as an index. In an alternate embodiment, tag ID  18   xt  may be a unique 96-bit EPC tag ID. Although the tag control code  48   x  has been described above as being purely static, our invention will accommodate other forms, including, for example, a tag control code comprising a first, fixed portion and a second, substantially random portion. The tag hidden code  46   xt  is stored so as to be inaccessible through normal commands, e.g., via a standard singulation command. Rather, the tag hidden code  46   xt  can only be read from the tag  12   x  after modification, encryption or scrambling by tag processor  50   xt  in accordance with the control codes  48 xt. 
         [0065]    In accordance with our invention, tag ID  18   xt  may be a unique proprietary ID that does not contain any company or product specific information. (Note: for convenience of reference hereinafter, we will use the generic place-holder, “x”, to indicate any of the several embodiments A-E disclosed above and variants thereof.) Tag ID  18   xt , as well as the tag hidden code  46   xt  may be initially registered at production, and may be programmed into a non-volatile form of memory, or allowed to randomly initialize based upon some processing variation and biases; either way, the value are unique at registration. This lack of specific intelligence on the tag is of particular importance when addressing privacy issues. Using a tag ID  18   xt  that lacks any specific information addresses the aforementioned privacy issue by securely storing vendor information, product serial codes, stock keeping unit (“SKU”) information or the like elsewhere, preferably in the store  16   x  where it can be quickly accessed using the unique tag ID  18   xt  as an index. In an alternate embodiment, tag ID  18   xt  may be a unique 96-bit EPC tag ID. The tag hidden code  46   xt  is stored so as to be inaccessible through normal commands, e.g., via a standard singulation command. Rather, the tag hidden code  46   xt  can only be read from the tag  12   x  after modification, encryption or scrambling by tag processor  50   xt  in accordance with the control codes  48   xt.    
         [0066]    In one embodiment, our tag processor  50   xt  includes, in addition to appropriate timing and control logic, a linear feedback shift register (“LFSR”) with programmable feedback logic. In general, a LFSR coefficients portion of control codes  48   xt  controls the programmable feedback logic so as to define the polynomial implemented by the LFSR. Preferably, a LFSR seed portion of control codes  48   xt  contain a multi-bit seed by which the LFSR is initialized. In an alternate implementation, tag hidden code  46   xt  may itself act as the initial seed for the LFSR, while the LFSR coefficients portion of the tag control code  48   xt  defines only the polynomial implemented by the LFSR. In yet another embodiment, a seed select portion of control codes  48   xt  may select one of a plurality of sources of the LFSR seed. Typically, the several bits of the LFSR will first be initialized using the selected seed, and the feedback logic configured using the LFSR coefficients portion of control codes  48   xt . In response to an authentication request, the tag processor  50   xt  will compute the authentication code by scrambling the hidden code  46   xt  using the cyclical output pattern generated by the LFSR. This authentication code is forwarded, together with tag ID  18   xt , to the reader  14   x  which then transmits the same to the store  16   x.  In one embodiment, the LFSR coefficients portion of control code  48   xt  define a polynomial function in the following general form: 
         [0000]        f ( h )= a+bh   c   +dh   e   +fh   g   [Eq. 1]
 
         [0000]    where: h=seed bits
       a, b, c, d, e, f, g=coefficients       
 
         [0068]    As will be understood, the resulting transfer function will be of the general form: 
         [0000]        f ( x )= x*f ( h )  [Eq. 2]
 
         [0069]    Using the embodiment illustrated in  FIG. 5  by way of example, store  16 C is adapted to store a master ID  18 Cm corresponding to tag ID  18 Ct, a master hidden code  46 Cm corresponding to tag hidden code  46 Ct and a master control code  48 Cm corresponding tag control code  48 Ct. During authentication, store  16 C uses master processor  50 Cm to compute a master version of the authentication code for validating the authentication code received from the tag  12 C. In normal operation, the tag hidden code  46 Ct is inaccessible via any other means after scrambling by the tag processor  50 Ct. Preferably, a special transfer command sequence is implemented in tag  12 C and reader  14 C whereby the tag processor  50 Ct is placed in a transfer mode of the form: 
         [0000]        f ( x )= x   [Eq. 3]
 
         [0000]    thus passing the hidden code  50 Ct without scrambling or other modification. In one embodiment, this sequence may consist of the reader  14 C selectively storing into tag  12 C a new tag control code  48 Ct specially adapted to implement the desired transfer function. As will be clear, the specific control code  48 Ct is dependent on the design of tag processor  50 Ct and its internal configuration. 
         [0070]    In accordance with our invention, the cyclical nature of the LFSR output assures that the authentication code broadcast by tag  12 C will be different for each successive authentication cycle. Indeed, careful design of the tag processor  50 Ct and judicious selection of the control code  48 Cx can provide operational variation very nearly resembling random generation. As a further deterrent, our method facilitates frequent changes to the control code  48 Cx. Without knowledge of the hidden code  46 Cx and the current control code  48 Cx, and without knowing the specific configuration of the tag processor  50 Ct, creating a clone of tag  12 C that will reliably pass authentication becomes quite difficult. 
         [0071]    As will also be evident to those skilled in the art, other embodiments of the function f(x) are possible. Of particular interest are functions which are computationally intensive to invert or which are intrinsically non-invertible, such as hash tables (see, e.g., Ahson, et. al,  RFID Handbook: Applications, Technology, Security, and Privacy , CRC Press, Boca Raton, Fla., USA, 2008, p. 490) or chaotic delta-sigma modulators (see, e.g., Freely, “Nonlinear Dynamics of Chaotic Double-Loop Sigma Delta Modulation”, IEEE International Symposium on Circuits and Systems, 1994, pp. 101-104) (which utilize nested, non-linear feedback). Using chaotic delta-sigma modulators, some portion of the hidden code bits and the control code bits can be used as the initial state variables while the remaining bits are used as the input sequence to the modulator for a prescribed number of modulator cycles. 
         [0072]    As will be evident to those skilled in the art, our improved security techniques may be practiced in the prior art systems depicted in  FIG. 1  and  FIG. 2 , as well as in our RFID systems  10 B-F depicted in  FIGS. 3 ,  5 ,  7  and  8 , respectively. As is known, each of the illustrated embodiments will typically include additional conventional components such as a display and a keyboard for interacting with the system  10   x,  and, as appropriate, a router or the like to enable connectivity between the reader  14   x  and the store  16   x.  Additionally, those skilled in the art will recognize that the master processor  50   x  is not limited to its location in the store  16   x,  but may also be incorporated into the reader  14   x,  or in some other location that allows it to interact with store  16   x  and the remainder of the components within the system  10   x.  In an alternate embodiment, store  16   x,  including all of the various components described above, may be completely incorporated into the reader  14   x.    
         [0073]    Other embodiments of our invention include, at a minimum, various types of tags. For example, tags may include active RFID tags, which typically include a battery, and passive RFID tags, which may have no battery or may be assisted by a battery. Our invention also includes tags with various read range capabilities. 
         [0074]    Other embodiments of our invention include, at a minimum, various types of readers that have the capability to manage data and to communicate with tags and databases. For example, reader-enabled devices may include mobile phones, internet enabled phones, computers, smart phones, and Personal Digital Assistants (“PDAs”). 
         [0075]    Other embodiments of our invention include, at a minimum, various types of linkers. For example, our linker may include an object-oriented database. 
         [0076]    Thus it is apparent that we have provided a method and apparatus for a reduced complexity RFID system including a simple tag, a reader, a linker, and a store, each adapted to cooperate to link a tag to a corresponding object. Those skilled in the art will recognize that modifications and variations can be made without departing from the spirit of our invention. For example, functionality of the RFID system may be implemented in software or hardware or a combination of both. In general, what we have referred to as a “unique ID” may also be referred to by using related terminology including an ID, a code, a unique ID, a unique code, a tag ID, a tag code, a unique tag ID, a unique tag code, or the like. Our linker may also be referred to by using related terminology including a linking unit, a link store, or the like. What we prefer to call a “link” may also be referred to by using related terminology including a link ID, a URI, a URL, a URN, a URC, an ISBN, or the like. Our preferred database may also be referred to by using related terminology including a data store, a data unit, a database management system, or the like. The act of interrogating the tag may also be described by using related terminology such as transmitting a request to the tag, reading the tag, or the like. When our reader interrogates the tag or transmits a request to the tag, the data transmitted from the tag back to the reader may include the unique ID stored in the tag, other control or security information, validation challenges, and the like. In general, our data object may be described by using related terminology such as just data, a data unit, a data packet, a data payload, or the like. Therefore, we intend that our invention encompass all such variations and modifications as fall within the scope of the appended claims.