Abstract:
A method and a system for authenticating an electronic tag by a host communicating with this tag via a reader, consisting of: calculating, on the tag side, a first digital signature by means of at least one first function shared by the tag and the reader, taking into account at least one first secret key known by the electronic tag and the reader only; transmitting the first signature to the reader; calculating, on the reader side, a second digital signal by means of at least one second function, different from the first function and shared by the reader and the host, taking the first signature into account; transmitting the second signature to the host; and checking, on the host side, the coherence between the second signature and a validation value calculated based on said second function and on a second secret key known by the host and by a single element selected from among the tag and the reader.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention generally relates to systems of authentication of an integrated circuit supported by a distant element (for example, an electronic tag to be placed on any product). The present invention more specifically relates to systems which require, for an authentication, three distinct elements, that is, the integrated circuit to be authenticated, a reader of information contained in the circuit, and a host communicating with the reader.  
           [0003]    2. Discussion of the Related Art  
           [0004]    An example of application of the present invention concerns the marking by radiofrequency tag of distribution system consumables. For example, these may be “coffee machine” refills or printer cartridges. The authentication is then used to guarantee that only cartridges authorized by the manufacturer are used by a given printer. In such an application, the integrated circuit to be authenticated is supported by the printer cartridge in the form of an electronic tag likely to communicate, contactless and wireless, with a reader, like an electromagnetic transponder. The reader is connected to the host by means of a connection of another type, for example, an electric interface of type I2C or the like.  
           [0005]    “Application” will be used hereafter to designate all the tasks performed by the system (for example, the printer) once the tag has been authenticated.  
           [0006]    For the application to operate properly, the electronic tag must previously have been authenticated to make sure that the product (for example, a cartridge or a refill) which supports it is an authorized product (for example, to make sure that the merchandise marked by the tag has not been replaced by an imitation).  
           [0007]    The function of the host (formed for example of a microcontroller, of a distant computer or of any other adapted electronic system) is to control the application, that is, the authentication program as well as the appropriate actions following the detection (for example, blocking of the printer or of the coffee machine in a no-authentication case). In these fields, the host will preferentially be a microcontroller equipping the automatic vending machine or the printer. It may however also be a distant host communicating, for example, by telephone connection or by dedicated line, with different readers.  
           [0008]    The communication between the host and the reader is based on accessible widespread protocols to enable use of different readers with a same host equipped with the application controller. However, this generates a weakness in terms of security, especially if the host is distant from the reader (even slightly, while being in the same device). Now, the final tag authentication decision to allow correct execution of the application belongs to the host.  
           [0009]    Known authentication systems use cryptography algorithms to authenticate an electronic tag based on a specific secret key. For example, algorithms of DES type (Data Encryption Standard) are used.  
           [0010]    A disadvantage of such cryptography algorithms is that they require an electronic tag provided with high-performance calculation means, in the case in point, generally a microprocessor. The cost generated by such calculation means makes these systems poorly adapted to refills or goods of consumable type for which the cost of the electronic tag is desired to be minimized due to the fact that said tag is short-lived.  
         SUMMARY OF THE INVENTION  
         [0011]    The present invention will be described hereafter in relation with a specific example of radiofrequency transmission between the integrated circuit to be authenticated and its reader. It should however be noted that it more generally applies to any authentication system involving three distinct elements (an electronic tag to be authenticated, a reader, and a host) and where the communication between the reader and the host is performed by different means than the communication between the tag and the reader.  
           [0012]    The present invention aims at providing a novel method and system for authenticating an electronic device in a system comprising at least this device to be authenticated, a reader of the device and a host in charge of controlling the execution of an application according to the device authentication.  
           [0013]    The present invention more specifically aims at providing a solution adapted to electronic tags or the like of small size and cost, in particular, without requiring use of a microprocessor in the tag.  
           [0014]    The present invention also aims at enabling authentication while the communication between the reader and the host is performed on a link unprotected against possible piracies.  
           [0015]    According to a first aspect, the present invention provides electronic tags all having a same secret key for tags of the same type.  
           [0016]    According to a second aspect, the present invention provides individualizing the secret key at the level of each electronic tag.  
           [0017]    To achieve these and other objects, the present invention provides a method for authenticating an electronic tag by a host communicating with this tag via a reader, consisting of:  
           [0018]    calculating, on the tag side, a first digital signature by means of at least one first function shared by the tag and the reader, taking into account at least one first secret key known by the electronic tag and the reader only;  
           [0019]    transmitting the first signature to the reader;  
           [0020]    calculating, on the reader side, a second digital signal by means of at least one second function, different from the first function and shared by the reader and the host, taking the first signature into account;  
           [0021]    transmitting the second signature to the host; and  
           [0022]    checking, on the host side, the coherence between the second signature and a validation value calculated based on said second function and on a second secret key known by the host and by a single element selected from among the tag and the reader.  
           [0023]    According to an embodiment of the present invention, the second secret key is known by the reader and the host only, this second key being taken into account in the calculation, by the reader, of the second signature transmitted to the host.  
           [0024]    According to an embodiment of the present invention, the second secret key is known by the electronic tag and the host only and is stored in the tag upon first use associated with the host.  
           [0025]    According to an embodiment of the present invention, a third key known by the reader and the host only is used for the calculations of the second signature and of the validation value.  
           [0026]    According to an embodiment of the present invention, the authentication method comprises the successive steps of:  
           [0027]    extracting from the electronic tag data to be transmitted to the host;  
           [0028]    transmitting these data to the host via the reader, while memorizing these data on the host side and on the reader side;  
           [0029]    generating, on the host side, a random or pseudo-random number and transmitting it to the tag via the reader, while memorizing this number on the host side, on the reader side, and on the tag side;  
           [0030]    calculating, on the electronic tag side, an intermediary signature by application of said first function with as operands said number, said data and said first secret key; and  
           [0031]    on the reader side, calculating an intermediary value by application of the first function with as operands said number, said data, and said first secret key.  
           [0032]    According to an embodiment of the present invention, said intermediary value forms said first signature, and the method comprises, on the reader side, the steps of:  
           [0033]    comparing said first signature to said intermediary value calculated by the reader; and  
           [0034]    calculating said second signature by taking into account said number, said data, said second secret key and the result of the preceding comparison.  
           [0035]    According to an embodiment of the present invention, the calculation of the second signature consists of using the second function or a third function according to the result of said comparison.  
           [0036]    According to an embodiment of the present invention, the calculation of the second signature consists of using the second function with as operands said number, said data, said second secret key and the result of said comparison.  
           [0037]    According to an embodiment of the present invention, the method comprises the steps of:  
           [0038]    on the electronic tag side, calculating a first combination of XOR type of said intermediary signature with said second secret key, to obtain said first signature to be transmitted to the reader; and  
           [0039]    on the reader side:  
           [0040]    calculating a second combination of XOR type of the first received signature with said intermediary value; and  
           [0041]    calculating said second signature by application of said second function with as operands the result of the second combination, said number and said data.  
           [0042]    According to an embodiment of the present invention, said second function is a function of generation of a pseudo-random number, common to the reader and to the host.  
           [0043]    According to an embodiment of the present invention, said pseudo-random generation function uses as seeds said data, said number and, respectively on the reader side and on the host side, said second combination of XOR type and said second secret key.  
           [0044]    According to an embodiment of the present invention, said electronic tag is an electromagnetic transponder.  
           [0045]    The present invention also provides an electronic tag, comprising an integrated circuit and means for storing a first secret key and for executing a first algorithmic function.  
           [0046]    The present invention also provides an electronic tag reader.  
           [0047]    According to an embodiment of the present invention, the reader comprises a pseudo-random generator capable of providing said second signature.  
           [0048]    The present invention further provides a microcontroller of authentication of an electronic tag.  
           [0049]    According to an embodiment of the present invention, the microcontroller comprises a pseudo-random generator capable of providing said validation value.  
           [0050]    The foregoing objects, features and advantages of the present invention will be discussed in detail in the following non-limiting description of specific embodiments in connection with the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0051]    [0051]FIG. 1 very schematically shows in the form of blocks a system exploiting an electronic tag according to an embodiment of the first aspect of the present invention;  
         [0052]    [0052]FIG. 2 is a flowchart of an embodiment of the present invention according to its first aspect;  
         [0053]    [0053]FIG. 3 very schematically shows in the form of blocks a system exploiting an electronic tag according to an embodiment of the second aspect of the present invention;  
         [0054]    [0054]FIG. 4 is a partial flowchart illustrating an embodiment of the present invention according to its second aspect; and  
         [0055]    [0055]FIG. 5 very schematically shows in the form of blocks an embodiment of a system according to the present invention to implement a preferred authentication function. 
     
    
     DETAILED DESCRIPTION  
       [0056]    Same system elements and method steps have been designated with same references in the different drawings. For clarity, only those method steps and those system components which are necessary to the understanding of the present invention have been shown in the drawings and will be described hereafter. In particular, the means used to perform the actual transmissions between the integrated circuit of the tag and its reader and between the reader and the host have not been detailed and are no object of the present invention. The present invention applies whatever the transmission protocol used to convey the data and information implemented by the present invention.  
         [0057]    [0057]FIG. 1 very schematically shows in the form of blocks a system of the type to which the present invention applies according to this first aspect. An electronic tag  1  (TAG) belonging for example to the family of electromagnetic transponders is carried by a product (not shown) which is desired to be authenticated. In the case of a tag of electromagnetic transponder type, said tag can communicate contactless and wireless (radiofrequency link  2 ) with a reader  3  (READER) or radiofrequency coupler, a conventional function of which is to be used as an electric interface between electronic tag  1  and a host  4  in charge of executing the application once the electronic tag has been authenticated. Reader or coupler  3  communicates with host  4 , for example, by a wire connection  5 .  
         [0058]    In an example of application to ink cartridges for printers, tag  1  is formed of an integrated circuit chip attached to (for example, glued) or comprised in the ink cartridge package. Reader  3  is formed of a radiofrequency coupler equipping the printer and which communicates with a microcontroller formed by host  4 . Host  4  is, for example, comprised in the printer control circuits or placed in a computer to which said printer is connected.  
         [0059]    The cartridge authentication is especially used to prevent piracy of connection  5 , which would result in having the printer accept any cartridge. According to the present invention, an authentication phase is provided between tag  1  and reader  3 , followed by a transmission of this authentication to host  4 .  
         [0060]    According to the present invention, the transmission of the authentication from reader  3  to host  4  is performed according to a secured procedure which will be described hereafter in relation with FIG. 2.  
         [0061]    To implement the present invention according to its first aspect illustrated in FIGS. 1 and 2, electronic tag  1  and reader  3  comprise or integrate a secret key KS known by both of them. According to this first aspect, reader  3  is dedicated to a type of tag  1  (for example, a printer cartridge type).  
         [0062]    As illustrated in FIG. 1, tag  1  and reader  3  also have a common cyphering function f, as will be seen hereafter in relation with FIG. 2.  
         [0063]    Reader  3  and microcontroller  4  each comprise or integrate a common key K1 as well as a cyphering function g. According to this embodiment, reader  3  also contains a no-authentication coding function h.  
         [0064]    A feature of the present invention is to differentiate, in the transmission between reader  3  and host  4 , the implemented coding or cyphering function according to whether the authentication performed by reader  3  is positive or not. Thus, there is more than transmitting to host  4  that the authentication is correct and not transmitting anything in the absence of an authentication. Something is always transmitted, but host  4  only interprets it if it is a positive authentication.  
         [0065]    What is illustrated in FIG. 1 by a function differentiation (g and h) must be understood either as a differentiation of the function coding a same result datum as will be discussed hereafter in relation with FIG. 2, or as a same function coding two different data according to the authentication result.  
         [0066]    The transmission between reader  3  and host  4  is independent from the transmission between tag  1  and reader  3 , in that host  4  ignores both key KS shared between the reader and the tag, and cyphering function f implemented in the transmission between these two elements.  
         [0067]    [0067]FIG. 2 illustrates in the form of a flowchart an implementation mode of the present invention according to its first aspect. In FIG. 2, the method steps illustrated by the flowchart have been distributed in three columns TAG, READER, and HOST according to whether they are performed by the electronic tag, by the reader or by the host.  
         [0068]    The first step (block  10 , GEN(DATA)) of the authentication method of the present invention consists in the generation, by the electronic tag (TAG), of a data message DATA to be transmitted- for authentication. Message DATA contains, for example, an identifier of the product carrying the electronic tag (for example, the ink cartridge serial number and/or type). The generation of this identifier by the electronic tag is, for example and conventionally, caused by the supplying of the tag when it enters the field of reader  3 . The operation of a tag of electromagnetic transponder type is perfectly well known and is no object of the present invention. Briefly, the supply of the tag&#39;s integrated circuit (or a specific control signal received from the reader) causes the transmission, by back modulation of the remote supply carrier, of message DATA.  
         [0069]    When it receives the data, the reader which comprises a back-modulator adapted to the transponder type, stores (block  11 , MEM(DATA)) the transmitted message. Further, the reader communicates the data to host  4  which itself stores them (block  12 , MEM(DATA)).  
         [0070]    The above-described transmission does not form a proper authentication. It is only the transmission of an identifier of the electronic tag to the host (HOST). Before allowing the application to carry on, the host must make sure that the tag belongs to an authentic product. It thus initiates the actual authentication procedure.  
         [0071]    According to the present invention, the host generates (block  13 , GEN(ALEA)) a random or pseudo-random number ALEA that it stores and communicates to reader  3 . Reader  3  stores (block  14 , MEM(ALEA)) number ALEA and transmits it to electronic tag  1 .  
         [0072]    The integrated circuit of tag  1  then calculates (block  15 , St=f(ALEA, DATA, KS)) a first signature St by using algorithmic function f and as operands variables ALEA, DATA and KS. In other words, the electronic tag calculates its signature St that it transmits to reader  3 .  
         [0073]    In parallel (or after having received signature St from tag  1 ), reader  3  calculates (block  16 , Sr=f(ALEA, DATA, KS)) a variable Sr by applying the same algorithmic function f to the data ALEA, DATA and KS that it contains. The function of key KS and of function f common to tag  1  and to reader  3  thus appears, which is to enable cyphered authentication of the tag by the reader.  
         [0074]    Reader  3  then performs a coherence test (block  17 , St=Sr?) between variable Sr that it has calculated and signature St transmitted by the electronic tag.  
         [0075]    At this stage of the authentication method, the present invention typically provides not transmitting the authentication result (Y or N) in clear (that is, visibly) to the host. According to the present invention, the authentication is cyphered, be it positive or negative.  
         [0076]    In the example shown, the reader calculates a second signature SIGN which is different according to the result of test  17 . If test  17  has validated (Y) the authentication of tag  1 , signature SIGN is calculated (block  18 , SIGN=g(ALEA, DATA, K1)) by applying algorithmic function g to variables ALEA, DATA, and K1. In case of a negative authentication, reader  3  calculates (block  19 , SIGN=h(ALEA, DATA, K1)) signature SIGN by applying function h to the same variables.  
         [0077]    Signature SIGN thus calculated is then transmitted to the host exploiting the authentication. The host calculates (block  20 , VAL=g(ALEA, DATA, K1)) previously or after reception of signature SIGN, a validation value VAL corresponding to the application of function g to variables ALEA, DATA and K1 that it knows. The function of secret key K1, known by the reader and by the microcontroller and of the function g that they share, here becomes apparent.  
         [0078]    The host compares (block  21 , SIGN=VAL?) the signature SIGN received from the reader with the validation value that it has calculated. Result Y or N of this test authenticates or not electronic tag  1 .  
         [0079]    This result is then exploited (block  22 , AUTHENT) by the conventional procedures which follow an authentication, which are not per se an object of the present invention.  
         [0080]    An advantage of the present invention is that coding as the positive authentication as well as the negative authentication on the side of reader  3  prevents a pirate from taking advantage of a spying of the communications over link  5  (FIG. 1). Indeed, he will observe a message in all cases, whether the authentication is positive or not.  
         [0081]    Another advantage of the present invention is that the authentication implemented between the reader and the electronic tag is independent from the host, more specifically, from microcontroller  4 , exploiting the results of the authentication and controlling the application progress.  
         [0082]    The transmitted data may be of any kind provided that they enable implementation of the described authentication method. For example, data word DATA is formed of a portion of fixed data linked to the tag and of a portion of variable data. The fixed data portion is, for example, a single number specific to each tag. The variable part corresponds, for example, to the result of a decremental counter counting the number of applications performed. Such an embodiment ensures that in normal use, there cannot be several authentications with the same data, which improves the system reliability.  
         [0083]    Random number ALEA generated by the host may be a pseudo-random number using the data as a seed. For example, this pseudo-random number may use a portion of the data as a seed. For example, the value of the current state at the output of the pseudorandom generator may be saved upon turning-off of the system, to use this value as a seed for the next use. However, ideally, the seed originates from an “analog” variable, for example, a thermal noise in a resistor.  
         [0084]    [0084]FIG. 3 very schematically shows in the form of blocks a system with an electronic tag, a reader, and a host according to the second aspect of the present invention. This drawing should be compared with FIG. 1 and only the differences with respect to FIG. 1 will be discussed.  
         [0085]    According to this second aspect of the present invention, it is desired to individualize keys KS contained in each of the electronic tags, and thus in each of the products to be identified. Such an individualization requires for these keys to be written into the electronic tags, for example and preferentially upon first use of the product carrying them.  
         [0086]    Thus, in the embodiment illustrated in FIG. 3, electronic tag  1  and reader  3  share key KS and function f as in the preceding embodiment. A difference with respect to this preceding embodiment is that reader  3  and host  4  only share function g. Further, tag  1  and host  4  share, as for them, a second key K2 which is written into the electronic tag upon its first use associated with host  4 .  
         [0087]    In the example of application to printer cartridges, this amounts to saying that, upon placing of a new cartridge in a given printer, the microcontroller associated with this printer will provide to the electronic tag of the cartridge a key K2, preferably randomly generated, and stored in the electronic tag.  
         [0088]    Upon authentication of this electronic tag, for example, for each use, the method starts like the method discussed in relation with FIG. 2 until step  15  of calculation of an intermediary signature St on the electronic tag side.  
         [0089]    [0089]FIG. 4 shows the rest of the authentication method according to an embodiment of this second aspect of the present invention. On the side of tag  1  (TAG), the initial data thus form intermediary signature St (St=f(ALEA, DATA, KS)). As for reader  3  (READER), it has calculated a corresponding intermediary value Sr (Sr=f(ALEA, DATA, KS)).  
         [0090]    According to this second embodiment, the electronic tag calculates (block  30 , Stt=St+K2) the first signature Stt as corresponding to an XOR-type combination of intermediary signature St with key K2. Signature Stt, cyphered by key K2, is transmitted to reader  3 . On its side, reader  3  calculates (block  31 , Srt=Stt+Sr) an XOR-type combination Srt of first signature Stt with intermediary value Sr that it has previously calculated. If the tag is authentic (that is, it contains the right keys KS and K2 and the right function f), combination Srt is equal to key K2 (Sr=St). Combination Srt is used by reader  3  to calculate (block  32 , SIGN=g(ALEA, DATA, Srt)) the second signature SIGN by applying function g to operands ALEA, DATA and Srt. Signature SIGN is then transmitted to host  4  (HOST).  
         [0091]    Another difference with respect to the first embodiment should here be noted, which is that the reader does not strictly speaking have a negative authentication function (function h, FIGS. 1 and 2). The differentiation between an authentication and no authentication here results from the taking into account of variable Srt in the application of function g. This alternative, which is necessary in the embodiment of FIG. 4, may be alternatively implemented in the embodiment of FIG. 2 by using as operand for function g the positive or negative result of the testing of block  17 .  
         [0092]    Returning to the embodiment of FIG. 4, the host checks the authenticity of electronic tag  1  by comparing (block  31 , SIGN=VAL?) signature SIGN received from reader  3  with a validation value VAL calculated (block  33 , VAL=g(ALEA, DATA, K2)) by applying function g to variables ALEA, DATA, and K2. If values SIGN and VAL are identical, this means that the electronic tag does have not only function f of reader  3 , but also key K2 written by host  4  in tag  1  at its first use. In the opposite case, host  4  may implement the no authentication procedures.  
         [0093]    An advantage of this embodiment is that it does not require, on the side of electronic tag  1 , storing key K2 from as soon as it has been manufactured. This enables individualizing the products to be authenticated at the time of their first use by a given device.  
         [0094]    Another advantage of this embodiment is that if function g is broken, that is, discovered by a pirate, despite the precautions that have been taken, the product carrying electronic tag  1  will however not be usable on another device (more specifically, with another microcontroller  4 ) since key K2 will then be unknown of the other device.  
         [0095]    The constraint to be respected to implement the present invention according to its second aspect is the use of an XOR-type function in the combination functions (blocks  30  and  31 ).  
         [0096]    Of course, the embodiments of FIGS. 1, 2 and  3 ,  4 , may be combined. In this case, variables SIGN (block  32 , FIG. 4) and VAL (block  33 , FIG. 4) are also a function of key K1, known by the reader and by the host only, which is then considered as a third key.  
         [0097]    [0097]FIG. 5 illustrates a preferred embodiment of a coding or cyphering function (g) between a reader and a host according to the present invention. FIG. 5 should be compared with FIGS. 1 and 3 in that it schematically represents in the form of blocks an electronic tag  1 , a reader  3 , and a host  4 .  
         [0098]    According to this embodiment, reader  3  and host  4  each comprise a pseudorandom generator (PSEUDO RAND GEN)  40 , respectively  40 ′, corresponding to function g. Both generators  40  and  40 ′ are identical in that, for a same seed, they provide a same output value. In other words, the pseudo-random generation functions of the two blocks  40  and  40 ′ are the same.  
         [0099]    According to the present invention, generators  40  and  40 ′ respectively provide, on the side of reader  3  and on the side of host  4 , variables SIGN and VAL, that is, the values enabling the host to validate the authentication performed by the reader.  
         [0100]    In each pseudo-random generator, a seed (B, block  41  and  41 ′) which is a function of different variables used in the authentication method is used.  
         [0101]    According to the present invention, on the side of reader  3 , seed B takes into account variables DATA, ALEA and Srt (as an alternative, variable Sr in the implementation of FIG. 2). On the side of host  4 , seed B′ takes into account variables DATA, ALEA, and K2 (as an alternative, variable K1 in the implementation of FIG. 2). Seeds B and B′ are, for example, obtained by concatenation of the variables taken into account or by a more complex function.  
         [0102]    According to the present invention, the two pseudo-random generators  40  and  40 ′ are thus initialized with a same seed if the authentication is correct.  
         [0103]    In the embodiment of FIG. 4, value Srt will be, in case of a negative authentication, different from key K2.  
         [0104]    In the embodiment of FIG. 2, if the authentication performed by reader  3  (test  17 ) is incorrect, generator  40  is initialized with a variable different from that initializing generator  40 ′. For this purpose, the binary result (0 or 1) of test  17  contributes to seed B. On the host side, the value (for example, 1) arbitrarily chosen to indicate a correct authentication contributes to seed B′. It should be noted that here, function g of reader  3  will be the same whether the authentication is positive or negative.  
         [0105]    In all cases, this effectively enables masking the authentication by transmitting both a positive authentication and a negative authentication between the reader and the host.  
         [0106]    An advantage of the embodiment of FIG. 5 is that its implementation is particularly inexpensive and simple, while providing optimal security against possible piracies.  
         [0107]    The frequency of the authentications depends on the application. For example, for a printer, an authentication may be triggered for each use (for each printing), for each start-up (turning-on), for each detection of a cartridge change and/or periodically. For a beverage machine, the authentication may be implemented after each intervention of replacement of a product refill, conventionally detected.  
         [0108]    Of course, the present invention is likely to have various alterations, modifications, and improvements which will readily occur to those skilled in the art. In particular, the choice of the pseudo-random generation functions or more generally of the algorithmic functions implemented in the different exchanges is within the abilities of those skilled in the art based on the functional indications given hereabove, on the application, and on the available conventional algorithmic and generation functions. Further, the sizes (number of bits) of the digital variables used will be chosen, conventionally, especially according to the desired security.  
         [0109]    Further, the exploitation of the authentication results is no object of the present invention and may thus be of any kind according to the application.  
         [0110]    Moreover, the authentication processes may be implemented, on the side of reader  3  and on the side of host  4 , either by software by means of a microcontroller, or in wired logic. However, on the side of electronic tag  1 , it should be noted that the present invention, without excluding a software implementation by a microcontroller, preferentially applies to a wired logic implementation, that is, of an inexpensive tag.  
         [0111]    Finally, the electronic tag comprising an integrated circuit for the implementation of the present invention may be an element added on the product (for example, a refill) to be authenticated, or included therein (for example, included in the product package).  
         [0112]    Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and the scope of the present invention. Accordingly, the foregoing description is by way of example only and is not intended to be limiting. The present invention is limited only as defined in the following claims and the equivalents thereto.