Patent Publication Number: US-2006005027-A1

Title: Method and system for verifying authenticity of an object

Description:
CROSS-REFERENCE TO RELATED APPLICATION  
      This application claims priority of Taiwanese Application No. 093117157, filed on Jun. 15, 2004, and Taiwanese Application No. 094103630, filed on Feb. 4, 2005.  
     BACKGROUND OF THE INVENTION  
      1. Field of the Invention  
      The invention relates to a method and system for verifying authenticity of an object, more particularly to a method and system for verifying authenticity of an object through the use of varying authentication codes.  
      2. Description of the Related Art  
      Laser labels are currently in use to address the problem of counterfeiting. Typically, the laser label is attached to a product, and can be scanned to verify the authenticity of the product.  
      Such method of verification, however, requires the use of a dedicated verification device. Accordingly, verification of the authenticity of a product attached with the laser label is only possible by persons, such as retail outlet staff, equipped with the verification device, and cannot be conveniently carried out by consumers themselves.  
     SUMMARY OF THE INVENTION  
      Therefore, the object of the present invention is to provide a method and system for verifying authenticity of an object through the use of varying authentication codes so as to overcome the aforesaid drawback of the prior art.  
      According to one aspect of the present invention, a method for verifying authenticity of an object that has a unique identification number includes the steps of: 
          (A) generating a varying secret key, a first authentication code based on the varying secret key, and a second authentication code based on the unique identification number of the object and the varying secret key; and     (B) generating a verifying code that is based on two of the first and second authentication codes and the unique identification number of the object and that can be matched to the remaining one of the first and second authentication codes and the unique identification number of the object in order to verify authenticity of the object.        

      According to another aspect of the present invention, a system, which is for verifying authenticity of an object that has a unique identification number, comprises an authentication code generating device that is adapted to be attached to the object. The authentication code generating device includes a chip that is operable so as to generate a varying secret key, a first authentication code based on the varying secret key, and a second authentication code based on the varying secret key and the unique identification number of the object. A verifying code can be generated, such as through an inquiry-based user interface, based on two of the first and second authentication codes and the unique identification number of the object, and can be matched to the remaining one of the first and second authentication codes and the unique identification number of the object in order to verify authenticity of the object. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
      Other features and advantages of the present invention will become apparent in the following detailed description of the preferred embodiment with reference to the accompanying drawings, of which:  
       FIG. 1  is a schematic block diagram of a system for implementing the preferred embodiment of the method for verifying authenticity of an object according to the present invention;  
       FIG. 2  is a flowchart to illustrate steps performed by an authentication code generating device of the system of  FIG. 1 ; and  
       FIG. 3  is a flowchart to illustrate steps associated with an inquiry-based user interface of the system of  FIG. 1 .  
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       FIG. 1  illustrates a system  100  for implementing the preferred embodiment of a method for verifying authenticity of an object  200  in accordance with this invention.  
      The object  200  has a unique identification number (ID), e.g., “GU814567899”. In this embodiment, the object  200  is a consumer product, such as a wine. In an alternative embodiment, the object  200  may be an artwork, a security bond, or a certificate.  
      The system  100  according to this invention is shown to include an authentication code generating device  1  and an inquiry-based user interface  2 .  
      The authentication code generating device  1  of the system  100  according to this invention includes a chip  11 , an actuator  12 , and a display  13 .  
      The chip  11  of the authentication code generating device  1  is operable so as to generate a varying secret key, a first authentication code (AC1) based on the varying secret key, and a second authentication code (AC2) based on the unique identification number (ID) of the object  200  and the varying secret key, in a manner that will be described in greater detail hereinafter.  
      In this embodiment, the chip  11  of the authentication code generating device  1  is a radio frequency identification (RFID) chip.  
      In this embodiment, the chip  11  of the authentication code generating device  1  is configured with a chip code, e.g., “003027033001029” that corresponds to the unique identification number (ID) of the object  200 .  
      The chip  11  of the authentication code generating device  1  is further configured with first to seventh lookup tables as follows:  
                              First Lookup Table                         Group 1                                                             1   2   3   4   5   6   7   8   9   10                                                                     Identifier   A   B   C   D   E   F   G   H   I   J       Code 1       Identifier   K   L   M   N   O   P   Q   R   S   T       Code 2       Identifier   U   V   W   X   Y   Z   0   1   2   3       Code 3                  
 
     
       
         
           
               
            
               
                   
               
               
                   
               
               
                 Second Lookup Table 
               
            
           
           
               
               
            
               
                   
                 Group 2 
               
            
           
           
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
            
               
                   
                 000 
                 001 
                 002 
                 003 
                 004 
                 005 
                 . . . 
                 027 
                 028 
                 029 
                 030 
                 031 
                 032 
                 033 
               
               
                   
                   
               
            
           
           
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
            
               
                 Identifier 
                 AA 
                 AB 
                 AC 
                 AD 
                 AE 
                 AF 
                 . . . 
                 A1 
                 A2 
                 A3 
                 A4 
                 A5 
                 A6 
                 BA 
               
               
                 Code 
               
               
                   
               
            
           
         
       
     
     
       
         
           
               
            
               
                   
               
               
                   
               
               
                 Third Lookup Table 
               
            
           
           
               
               
            
               
                   
                 Group 3 
               
            
           
           
               
               
               
               
               
               
               
               
               
               
               
               
               
            
               
                   
                 01 
                 02 
                 03 
                 04 
                 05 
                 06 
                 07 
                 08 
                 09 
                 10 
                 11 
                 12 
               
               
                   
                   
               
            
           
           
               
               
               
               
               
               
               
               
               
               
               
               
               
            
               
                 Identifier 
                 A 
                 B 
                 C 
                 D 
                 E 
                 F 
                 G 
                 H 
                 I 
                 J 
                 K 
                 L 
               
               
                 Code 1 
               
               
                 Identifier 
                 M 
                 N 
                 O 
                 P 
                 Q 
                 R 
                 S 
                 T 
                 U 
                 V 
                 W 
                 X 
               
               
                 Code 2 
               
               
                 Identifier 
                 Y 
                 Z 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
                 0 
               
               
                 Code 3 
               
               
                   
               
            
           
         
       
     
     
       
         
           
               
             
               
                   
               
               
                   
               
               
                 Fourth Lookup Table 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
            
               
                   
                 Group 4 
               
            
           
           
               
               
               
               
               
               
               
               
               
               
               
            
               
                   
                 01 
                 02 
                 03 
                 04 
                 05 
                 06 
                 07 
                 08 
                 09 
                 10 
               
               
                   
               
               
                 Identifier 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
                 10 
               
               
                 Code 
               
               
                   
               
            
           
           
               
               
            
               
                   
                 Group 4 
               
            
           
           
               
               
               
               
               
               
               
               
               
               
               
            
               
                   
                 11 
                 12 
                 13 
                 14 
                 15 
                 16 
                 17 
                 18 
                 19 
                 20 
               
               
                   
               
               
                 Identifier 
                 A 
                 B 
                 C 
                 D 
                 E 
                 F 
                 G 
                 H 
                 I 
                 J 
               
               
                 Code 
               
               
                   
               
            
           
           
               
               
            
               
                   
                 Group 4 
               
            
           
           
               
               
               
               
               
               
               
               
               
               
               
               
            
               
                   
                 21 
                 22 
                 23 
                 24 
                 25 
                 26 
                 27 
                 28 
                 29 
                 30 
                 31 
               
               
                   
               
               
                 Identifier 
                 K 
                 L 
                 M 
                 N 
                 O 
                 P 
                 Q 
                 R 
                 S 
                 T 
                 U 
               
               
                 Code 
               
               
                   
               
            
           
         
       
     
     
       
         
           
               
             
               
                   
               
               
                   
               
               
                 Fifth Lookup Table 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
            
               
                   
                 Group 5 
               
            
           
           
               
               
               
               
               
               
               
               
               
               
               
               
               
            
               
                   
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
                 10 
                 11 
                 12 
               
               
                   
               
               
                 Identifier 
                 A 
                 B 
                 C 
                 D 
                 E 
                 F 
                 G 
                 H 
                 I 
                 J 
                 K 
                 L 
               
               
                 Code 
               
               
                   
               
            
           
           
               
               
            
               
                   
                 Group 5 
               
            
           
           
               
               
               
               
               
               
               
               
               
               
               
               
               
            
               
                   
                 13 
                 14 
                 15 
                 16 
                 17 
                 18 
                 19 
                 20 
                 21 
                 22 
                 23 
                 24 
               
               
                   
               
               
                 Identifier 
                 M 
                 N 
                 O 
                 P 
                 Q 
                 R 
                 S 
                 T 
                 U 
                 V 
                 W 
                 X 
               
               
                 Code 
               
               
                   
               
            
           
         
       
     
     
       
         
           
               
            
               
                   
               
               
                   
               
               
                 Sixth Lookup Table 
               
            
           
           
               
               
               
               
            
               
                   
                 Identifier code 
                 Algorithm 
                 Permutation 
               
               
                   
                   
               
            
           
           
               
               
               
               
            
               
                   
                 A 
                 132456 
                 BQAEUI3024 
               
               
                   
                 B 
                 5123476 
                 IBAEQU2430 
               
               
                   
                 C 
                 5671234 
                 I3024BAEQU 
               
               
                   
                 D 
                 2347615 
                 AEQU2430BI 
               
               
                   
                   
               
            
           
         
       
     
     
       
         
           
               
            
               
                   
               
               
                   
               
               
                 Seventh Lookup Table 
               
            
           
           
               
               
               
               
            
               
                   
                 Identifier Code 
                 Algorithm 
                 Permutation 
               
               
                   
                   
               
               
                   
                 A 
                 1234 
                 ADA1BAABA3093024 
               
               
                   
                 B 
                 1324 
                 ADA1A309BAAB3024 
               
               
                   
                 C 
                 1243 
                 ADA1BAAB3024A309 
               
               
                   
                 D 
                 1423 
                 ADA13024BAABA309 
               
               
                   
                   
               
            
           
         
       
     
      The display  13  of the authentication code generating device  1  is coupled to and controlled by the chip  11 , and is operable so as to display the first and second authentication codes (AC1, AC2) generated by the chip  11 .  
      The actuator  12  of the authentication code generating device  1  is coupled to the chip  11 , and is operable so as to enable the chip  11  to generate the varying secret key, and the first and second authentication codes (AC1, AC2). Preferably, the actuator  12  of the authentication code generating device  1  is one of a voice-activated device, a wireless device, a touch screen, a keypad, and timer software application.  
      In this embodiment, the chip  11  of the authentication code generating device  1  of the system  100  is installed with proprietary software for executing steps associated with the method of the preferred embodiment. The steps performed by the chip  11  of the authentication code generating device  1 , as illustrated in  FIG. 2 , are as follows:  
      In step  31 , upon operation of the actuator  12  of the authentication code generating device  1 , the chip  11  of the authentication code generating device  1  generates a varying secret key that, in this embodiment, is a function of date and time. For example, when the actuator  12  of the authentication code generating device  1  is operated on May 31, 2004 at 9:30:24 AM, the chip  11  of the authentication code generating device  1  generates a varying secret key as “20040531093024”.  
      In step  32 , the chip  11  of the authentication code generating device  1  divides the varying secret key generated in step  31  into seven groups. For example, for the exemplified varying secret key of “20040531093024”, the first group corresponds to “2”, the second group corresponds to “004”, the third group corresponds to the “05”, the fourth group corresponds to “31”, the fifth group corresponds to “09”, the sixth group corresponds to “30”, and the seventh group corresponds to “24”.  
      In step  33 , the chip  11  of the authentication code generating device  1  converts each of the first to fifth groups into a corresponding identifier code using a respective one of the first to fifth lookup tables configured therein, leaving the sixth and seventh groups unchanged. It is noted that since the first group (e.g., 2) has three corresponding identifier codes (e.g., B, L, and V), as illustrated in the first lookup table, and since the third group of the varying secret key (e.g. 05) has three corresponding identifier codes (e.g. E, Q, and 3), as illustrated in third lookup table, there are nine possible conversions for the varying secret key, “20040530093024”, one of which is “BAEQUI3024”.  
      Thereafter, in step  34 , the chip  11  of the authentication code generating device  1  permutes the seven groups by selecting one of predetermined permutations stored in the sixth lookup table. With reference to the sixth lookup table, there are forty-five thousand three hundred sixty possible permutations for “BAEQUI3024”, one of which is “AEQU2430BI”.  
      In step  35 , the chip  11  of the authentication code generating device  1  appends the identifier code, which corresponds to the selected one of the predetermined permutations, to the selected one of the predetermined permutations in order to obtain the first authentication code. With reference to the sixth lookup table, since the identifier code for “AEQU2430BI” is “D”, the first authentication code (AC1) is “AEQU2430BID”. In an alternative embodiment, steps  32  to  35  are skipped, and the first authentication code (AC1) takes the value of the varying secret key generated in step  31 .  
      In step  36 , the chip  11  of the authentication code generating device  1  divides the chip code configured therein into five groups. For example, for the exemplified chip code “003027033001029”, the first group corresponds to “003”, the second group corresponds to “027”, the third group corresponds to “033”, the fourth group corresponds to “001”, and the fifth group corresponds to “029”.  
      In step  37 , the chip  11  of the authentication code generating device  1  converts each of the first to fifth groups into a corresponding identifier code using the second lookup table configured therein to thereby obtain “ADA1BAABA3”.  
      In step  38 , the chip  11  of the authentication code generating device  1  converts the varying secret key by discarding the first eight digits of the varying secret key to thereby obtain “093024”.  
      In step  39 , the chip  11  of the authentication code generating device  1  appends “093024” obtained in step  38  to “ADA1BAABA3” obtained in step  37  to thereby obtain “ADA1BAABA3093024”.  
      In step  40 , the chip  11  of the authentication code generating device  1  divides the results obtained in step  39  into four groups. The first group corresponds to “ADA1”, the second group corresponds to “BAAB”, the third group corresponds to “A309”, and the fourth group corresponds to “3024”.  
      In step  41 , the chip  11  of the authentication code generating device  1  permutes the four groups by selecting one of predetermined permutations stored in the seventh lookup table. With reference to the seventh lookup table, there are twenty-four possible permutations for “ADA1BAABA3093024”, one of which is “ADA1A309BAAB3024”.  
      In step  42 , the chip  11  of the authentication code generating device  1  appends the identifier code, which corresponds to the selected one of the predetermined permutations, to the selected one of the predetermined permutations in order to obtain the second authentication code. With reference to the seventh lookup table, since the identifier code for “ADA1A309BAAB3024” is “B”, the second authentication code is “ADA1A309BAAB3034B”.  
      In this embodiment, the inquiry-based user interface  2  is web-based application software that is installed in a web server (not shown) and that executes steps associated with the method of the preferred embodiment. It is noted that the unique identification number (ID) of the object  200 , and the chip code that corresponds to the unique identification number (ID) of the object  200  are configured in the inquiry-based user interface  2 . The steps associated with the inquiry-based user interface  2 , as illustrated in  FIG. 3 , are as follows:  
      In step  51 , after the unique identification number (ID) of the object  200 , e.g., “GU814567899”, and the first authentication code (AC1), e.g., “AEQU2430BID”, generated by the chip  11  of the authentication code generating device  1  are inputted to the inquiry-based user interface  2 , the flow proceeds to step  52 . Otherwise, the flow proceeds to step  61 .  
      In step  52 , the inquiry-based user interface  2  determines the chip code that is configured therein and that corresponds to the unique identification number (ID) of the object  200  inputted in step  51 .  
      In step  53 , the inquiry-based user interface  2  generates a secret key based on the first authentication code (AC1) inputted in step  51  by performing steps  31  to  35  in reverse.  
      In step  54 , the inquiry-based user interface  2  generates and displays a verifying code based on the chip code determined in step  52  and the secret key generated in step  53 .  
      When the verifying code generated in step  54  matches the second authenticating code (AC2) generated by the chip  11  of the authentication code generating device  1 , the object  200  is verified as authentic. Otherwise, the object  200  is determined to be a counterfeit.  
      In step  61 , after the unique identification number (ID) of the object  200 , and the second authentication code (AC2) generated by the chip  11  of the authentication code generating device  1  are inputted to the inquiry-based user interface  2 , the flow proceeds to step  62 . Otherwise, the flow proceeds to step  71 .  
      In step  62 , the inquiry-based user interface  2  determines the chip code that is configured therein and that corresponds to the unique identification number (ID) of the object  200  inputted in step  61 .  
      In step  63 , the inquiry-based user interface  2  generates a secret key based on the second authentication code (AC2) inputted in step  61  and the chip code determined in step  62  by performing steps  36  to  42  in reverse.  
      In step  64 , the inquiry-based user interface  2  generates a verifying code based on the secret key generated in step  63 .  
      When the verifying code generated in step  64  matches the first authenticating code (AC1) generated by the chip  11  of the authentication code generating device  1 , the object  200  is verified as authentic. Otherwise, the object  200  is determined to be a counterfeit.  
      In step  71 , after the first and second authentication codes (AC1, AC2) generated by the chip  11  of the authentication code generating device  1  are inputted to the inquiry-based user interface  2 , the flow proceeds to step  72 . Otherwise, the flow proceeds to step  51 .  
      In step  72 , the inquiry-based user interface  2  generates a secret key based on the first authentication code (AC1) inputted in step  71  by performing step  31  to  35  in reverse.  
      In step  73 , the inquiry-based user interface  2  generates a chip code based on the secret key generated in step  72  and the second authentication code (AC1) inputted in step  71  by performing steps  36  to  42  in reverse.  
      In step  74 , the inquiry-based user interface  2  determines the unique identification number (ID) that corresponds to the chip code generated in step  73 .  
      When the unique identification number (ID) determined in step  74  matches the unique identification number (ID) of the object  200  generated by the chip  11  of the authentication code generating device  1 , the object  200  is verified as authentic. Otherwise, the object  200  is determined to be a counterfeit.  
      It is noted that, in an alternative embodiment, the unique identification number (ID) of the object  200  serves as a serial number of the object  200 .  
      From the above description, since the varying secret key generated by the chip  11  of the authentication code generating device  1  is a function of date and time, the first and second authentication codes (AC1, AC2) generated by the chip  11  of the authentication code generating device  1  varies with date and time each time the actuator  12  is operated. As such, a dedicated verification device is not required, and any person can verify the authenticity of the object  200  by simply accessing the internet.  
      It is noted that the authentication code generating device  1  of this invention is attached securely on the object  200 , and unauthorized removal of the authentication code generating device  1  from the object  200  can render the authentication code generating device  1  inoperative. As such, the authentication code generating device  1  is prevented from being used on other objects.  
      In an alternative embodiment, the display  13  of the authentication code generating device  1  may be dispensed with. Moreover, the authentication code generating device  1  can include a transmitter (not shown) that is coupled to and controlled by the chip  11  of the authentication code generating device  1  so as to transmit the first and second authentication codes (AC1, AC2) wirelessly. The first and second authentication codes (AC1, AC2) transmitted by the transmitter of the authentication code generating device  1  may be received and displayed by one of a notebook computer, a personal digital assistant (PDA), and a mobile phone.  
      It is noted that, in an alternative embodiment, each of the first and second authentication codes (AC1, AC2) is a bar code.  
      While the present invention has been described in connection with what is considered the most practical and preferred embodiment, it is understood that this invention is not limited to the disclosed embodiment but is intended to cover various arrangements included within the spirit and scope of the broadest interpretation so as to encompass all such modifications and equivalent arrangements.