GB2495480A - Product authentication using unique code - Google Patents

Product authentication using unique code Download PDF

Info

Publication number
GB2495480A
GB2495480A GB1117170.9A GB201117170A GB2495480A GB 2495480 A GB2495480 A GB 2495480A GB 201117170 A GB201117170 A GB 201117170A GB 2495480 A GB2495480 A GB 2495480A
Authority
GB
United Kingdom
Prior art keywords
code
text
product
unique
remote device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB1117170.9A
Other versions
GB201117170D0 (en
Inventor
Howard Furr-Barton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
COAPPERATIVE Ltd
Original Assignee
COAPPERATIVE Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by COAPPERATIVE Ltd filed Critical COAPPERATIVE Ltd
Priority to GB1117170.9A priority Critical patent/GB2495480A/en
Publication of GB201117170D0 publication Critical patent/GB201117170D0/en
Publication of GB2495480A publication Critical patent/GB2495480A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q90/00Systems or methods specially adapted for administrative, commercial, financial, managerial or supervisory purposes, not involving significant data processing
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/10ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to drugs or medications, e.g. for ensuring correct administration to patients

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Development Economics (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Medicinal Chemistry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Chemical & Material Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

A distributed product authentication system, using a code sent from a remote device wherein the code is associated with a product, to a server. A first check if the received code matches a unique code stored in a database of unique codes is used so that matches are recorded in a log of code receipt events for that unique code; An authentication result is transmitted to the remote device, and is determined at least in part by an output of the first check. The remote device is associated with a user registered in the product authentication system as a product end-user. The code may be regarded as invalid, stolen or counterfeit if another end user has checked that code. The product may be a pharmaceutical drug, and further safety, administration and dosage data may be provided to the mobile phone of the user.

Description

Product Information Method and System
Field of the invention
The invention relates to a method and system for obtaining information relating to a product, particularly authentication of a product to determine if the product is legitimate.
Background of the invention
Thc sale of counterfeit goods and the sale of gcnuinc but illegitimately sourced goods is a major worldwide problem, in particular for high value goods such as brandcd clothing and pharmaceuticals.
Sale of counterfeit goods causcs losses to the legitimate manufacturers and suppliers of those goods. Counterfeit goods arc often of poor quality, and may present a serious risk to health of consumers in the case of goods for ingestion such as food, drink or pharmaceuticals.
Furthermore, a major problem exists of sale illegitimately sourced goods, such as genuine goods that have been stolen.
In the case of pharmaceuticals a further problem exists of "drug diversion" wherein high value pharmaceuticals that arc provided for distribution in a relatively poor country at low or no cost to the consumers in that country are illegitimately diverted to a relatively wealthy country for sale to consumers in the relatively wealthy country WO 2004/070510 discloses a system for tracking an article from manufacture to point of sale using a unique random code.
WO 2008/069923 discloses a method of validation of an item having a data tag.
US 2006/0054682 discloses a method and system for tracking and veriiing medication.
Summary of the Invention
Aspects of the invention are described below: A method implemented in a distributed product authentication system, the method comprising the steps of: receiving at a server a code sent from a rcmotc device wherein the codc is associated with a product; performing a first check of determining if the received code matches a unique code stored in a database ofunique codes; if the received code matches a unique code, rccording receipt of the received code in a log of code receipt events for that unique code; and transmitting a authentication result to the remote device, wherein the authentication result is determined at Icast in pail by an output of the first check; and wherein the remote device is associated with a user registered in the product authentication system as a product end-user.
2. A method according to aspect I comprising the step of performing a second check of determining if the received code has been previously received from another remote device associated with another end-user, wherein the authentication result indicates that the code is inauthentic if the received code has been previously received from another remote device associated with another end-user.
3. A method according to any preceding aspect comprising the step of performing a third check of determining ifthe location from which the code was received matches a predetermined expected location associated with the product, wherein the authentication result is determined at least in part by an output of the first check and the third check.
4. A method according to any preceding aspect wherein the step of recording receipt of the received code includes recording one or more of date of code receipt, time of code receipt and location of the remote device at the time that the code was sent.
5. A method according to any preceding aspect wherein a unique device identifier identi'ing the remote device is recorded in a registered device database.
6. A method according to aspect S wherein one or more of the user's name, address and age is associated with the uniquc device identifier.
7. A method according to any preceding aspect comprising the step of transmitting the authentication result and ftirthcr data to the remote device.
8. A method according to aspect 7 wherein the further data is product information data.
9. A method according to aspect 8 wherein the product is a pharmaceutical and the further data is selected from one or more of pharmaceutical safety data, pharmaceutical administration method data and pharmaceutical dosage method data.
10. A method according to any preceding aspect wherein the remotc device comprises a general purpose processor and storage medium readable by the gcnera purpose processor, wherein executable program instructions embodied in the storage medium cause the remote device to send the code to the remote device and, on receipt of the authentication result, to communicate the authentication resufl to a remote device user.
11. A method according to aspect 10 wherein the remote device is a mobile phone.
12. A method according to any preceding aspect comprising the step of generating statistics on product use from code receipt events associated with a plurality of products of a product type.
I 3. Computer program code which when run on a computer causes the computer to perform the method according to any preceding aspect.
14. A calTier medium carrying computer readable code which when run on a computer causes the computer to perform the method according to any of aspects 1-12.
15. A computcr progrum product comprising computer readabic code according to aspect 14.
16. An article of manufacture comprising: a machine-readable storage medium; and executable program instructions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perfonn the method according to any of aspects 1-12.
17. A product authentication system configured to carry out a method according to any of aspects 1-12, the system comprising: an input part configured to receive the code from the remote device; a processor configured to perform the first check and to record receipt of the received code in the log of code receipt events for that unique code; and an output part configured to transmit a authentication result to the remote device.
18. A method implemented in a distributed product authentication system, the method comprising the steps of: receiving at a server a code sent from a remote device wherein the code is associated with a product; determining if a received identifier associated with the remote device matches a unique remote device identifier stored in a registered device database; if a match is identified, performing a first check of determining if the received code matches a unique code stored in a database of unique codes; recording receipt of the received code in a log of codes received from the remote device; and transmitting a authentication result to the remote device, wherein the authentication result is determined at least in part by an output of the first check; and wherein the remote device is associated with a user registered in the product authentication system as a product end-user.
19. A method according to aspect 18 wherein one or more of the user's name, address and age is associated with the unique device identifier.
20. A method according to aspect 18 or 19 wherein the product is a pharmaceutical and wherein an alert is transmitted to the remote device if the pharmaceutical product is incompatible with another pharmaceutical product identified by a unique code in the log of codes received from the remote device.
21. Computer program code which when run on a computer causes the computer to perform the method according to any of aspects 18-20.
22. A carrier medium carrying computer readable code which when run on a computer causes the computer to perform the method according to any of aspects 18-20.
23. A computer program product comprising computer readable code according to aspect 22.
24. An article of manufacture comprising: a machine-readable storage medium; and executable program instructions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perform the method according to any of aspects 18-20.
25. A product authentication system configured to cany out a method according to any of aspects 18-20, the system comprising: an input part configured to receive the code and the identifier from the remote device; a processor configured to determine if the received identifier matches a unique remote device identifier stored in a registered device database; perform the first check; and record receipt of the received code in a log of codes received from the remote device; and an output part eonfigured to transmit a authentication result to the remote device.
26. A product authentication method implemented in a distributed product authentication system for authenticating a product of a product type, thc method comprising the steps of receiving at a server front a remote device a code associated with a product; peribrming a first check of determining if the received code matches a unique code stored in a unique code database; and tnnsmitting a authentication result to the remote device, wherein each unique code comprises a unique code part that does not identify an attribute of the product; at least one product constant code part that identifies at least one constant attribute ofthe product type, and at least one product variable code part that identifies at least one variable attribute ofthe product type; and wherein the authentication result is determined at least in part by an output of the first check.
27. A product authentication method according to aspect 26 wherein each unique code is in the GS 1 thnnat and wherein the at least one product constant code part is a product OTIN value.
28. A product authentication method according to aspect 26 or 27 wherein the unique code part is a random or pseudo-random value.
29. A product authentication method according to any of aspects 28-28 wherein the at least one product variable code part is selected from one or more of manufi*cture date, expiry date, best before date, batch number and serial number of the product that the unique code is associated with.
30. A product authentication method according to any of aspects 26-29 wherein at least one unique code, optionally each unique code, comprises at least two product variable code parts.
31. A product authentication method according to any of aspects 26-30 wherein at least one unique code, optionally each unique code, comprises at least two product constrnit code parts.
32. Computer program code which when run on a computer causes the computer to perform the method according to any of aspects 26-31.
33. A carrier medium canying computer readable code which when run on a computer causes the computer to perform the method according to any of aspects 26-31.
34. A computer program product comprising computer readable code according to aspect 33.
35. An article of manufacture comprising: a machine-readable storage medium; and executable program instructions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perform the method according to any of aspects 26-31.
36. A product authentication system configured to carry out a method according to any of aspects 26-31, the system comprising: an input part configured to receive the code from the remote device; a processor configured to perform the first check; and an output part configured to transmit a authentication result to the remote device.
37. A product authentication method implemented in a distributed product authentication system, the method comprising the steps of receiving at a scrvcr from a remote device a code associated with a product wherein the code comprises at least a unique code -that does not identify an attribute of the product and a product constant code part that identifies a product type; identifying the product type from the product constant code part; transmitting at least the unique code part to a database system for the identified product type, wherein the database system comprises a unique code database of a plurality of unique codes associated with a respective plurality of products of the product type; receiving from the database system an indication of whether the at least unique code part matches one of the plurality of unique codes; and transmitting the indication to the remote device.
38. A product authentication method according to aspect 37 wherein the product authentication system comprises a plurality of database systems lbr a corresponding plurality of product types.
39. A product authentication method according to aspect 37 or 38 wherein the or each database system comprises a unique code database and a physically or logically separate authentication sewer configured to receive the at least unique code part from the server, determine if the received at least unique code part matches a unique code stored in the database, and send to the server an indication of whether the at least unique code part matches one of the plurality of unique codes.
40. A product authentication method according to aspect 39 wherein a authentication sewer for one product type cannot access the unique code database for another product type.
41. A product authentication method according to any of aspects 37-40 wherein the unique code comprises at least one product variable code part identiing at least one variable attribute of the product type and wherein the server transmits the unique code part and the at least one product variable code part, and receives from the database system and indication of whether the transmitted code parts matches one of the plurality ofunique codes.
42. A product authentication method according to aspect 41 wherein the at least one product variable code part is selected from one or more ofmanutàcture date, expiry date, best beibre date, batch number and serial number of the product that the unique code is associated with.
43. A product authentication method according to any of aspects 37-42 wherein the unique code part is a randomly generated value.
44. A product authentication method according to any of aspects 37-43 wherein the product constant code part is in the GSI format and comprises a OTIN value identil\jing the product type.
45. Computer program code which when nm on a computer causes the computer to perform the method according to any of aspects 37-44.
46. A carrier medium carrying computer readable code which when run on a computer causes the computer to perform the method according to any of aspects 37-44.
47. A computer program product comprising computer readable code according to aspect46.
48. An article ofmanufhcture comprising: a machine-readable storage medium; and executable program instructions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perform the method according to any of aspects 37-44.
49. A product authentication systcm configured to carry out a mcthod according to any ofaspccts 37-44, the systcm comprising: an input part configured to receive the code from the remote device and to receive an indication of whether the at least unique code part matches one of the p'urality of unique codes; a proccssor configured to idcntif the product type from the product constant code part; and an output part configured to transmit at least the unique code part to a database system for the identified product type and to transmit a authentication result to the remote device.
50. A method implemented in a distributed product authentication system, the method comprising the steps of: receiving at a server a code sent from a remote device wherein the code is associated with a product; peiforming a first check of determining if the received code matches a unique code stored in a database ofunique codes; if the received code matches a stored unique code, performing a second cheek of determining if the received code has previously been received from a remote device registered in the product authentication system as being associated with an end-user; and transmitting a authentication result to the remote device, wherein the authentication result is determined at least in part by an output of the first check and the second check.
I. Computer program code which when run on a computer causes the computer to perform the method of aspect 50. I0
52. A calTier medium carrying computer readable code which when run on a computer causes the computer to perform the method of aspect 50 53. A computer program product comprising computer readable code according to aspect 52.
54. An article of manufacture comprising: a machine-readable storage medium; and executable program insüuctions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perform the method according to aspect 50.
55. A product authentication system configured to carry out a method according to aspect 50, the system comprising: an input part configured to receive the code from the remote device; a processor configured to perform the first check and, if the received code matches a stored unique code, perform the second check; and an output part configured to transmit the authentication result to the remote device.
56. A method of generating unique product codcs for use in a product authentication system whercin each of a plurality of products is associated with a unique code, the method comprising the steps of: receiving from a first system a unique code part that does not identify an attribute of the product that the code is to be applied to; receiving from a second system that is secure from the first system at least one product variable code part that identifies at least one variable attribute of the product type that the code is to be applied to; combining at least the unique code part and the at least one product variable code part to form a unique code;
II
transmitting the unique code to at least one code writing device for application of the unique code to the product; and storing the unique code in a unique code database.
57. A method according to aspect 56 wherein the unique code includes at least one product constant code part idcntiing at least one constant attribute of a product type that the product belongs to.
58. A method according to aspect 56 or 57 wherein the code writing device writes the code to a label that is applied to the product.
59. A method according to any of aspects 56-58 wherein the at least one code writing device is a RFID writer and the unique code is written to a RFID tag.
60. A method according to any of aspects 56-59 wherein the at least one code writing device is a printer.
61. A method according to any of aspects 56-60 wherein the unique code is transmitted to the RFID writer and to the printer and the code is written to both the RFID tag and printed onto the label.
62. Computer program code which when run on a computer causes the computer to perform the method of any of aspects 56-61.
63. A catTier medium carrying computer readable code which when am on a computer causes the computer to perform the method of any of aspects 56-61.
64. A computer program product comprising computer readable code according to aspect 63.
65. An article of manufacture comprising: a machine-readable storage medium; and executable program instructions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perform the method according to any of aspects 56-61.
66. A system configured to cany out a method according to any of aspects 56-61, the system comprising: an input part configured to receive the unique code part and the at least one product variable code part; a processor configured to combine at least the unique code part and the at least one product variable code part to form the unique code and to store the unique code in a uniquc code database; and an output part configured to transmit the unique code to the at least one code writing device.
67. A device configured to authenticate a product, the device comprising a machine-readable storage medium, a transmitter, a receiver, and executable program instructions embodied in the machine-readable storage medium that when executed by a programmable system causes the system to: transmit a unique device identifier identi'ing the device; transmit a code received from a code reader to a remote server, wherein the code is associated with a product; receive from the remote server a authentication result, wherein the authentication result is determined at least in part by whether the transmitted code matches a unique code stored in a unique code database; and communicate the authentication result to a device user.
68. A device according to aspect 67 wherein the program instructions when executed by the programmable system causes the system to transmit a location of the device to the remote server 69. A device according to aspect 68 wherein the authentication result is determined at least in part by the transmitted location of the device.
70. A device according to any of aspects 67-69 wherein thc dcvicc is a mobile phone.
It will be understood that aspects described with reference to one of aspccts 1, 18, 26, 37, 50, 56 and 67 may bc applied to another one of aspects 1, 18, 26, 37, 50, 56 and 67. For example, and without limitation, thc code described in aspect 26 and its preferred aspects may be used in the method of aspects 1, 18, 37 or 50; and the database system of the method of aspect 37 and its preferred aspects may be used in the method of aspects I, IS orSO.
Description of the Drawings
The invention will now be described in detail with reference to the drawings, in which: Figure lÀ illustrates a system according to an embodiment of the invention; Figure I B illustrates a system having a plurality of unique code databases according to an embodiment of the invention; Figure IC illustrates a system for generating and applying a code to a product according to an embodiment of the invention; Figure ID illustrates a process of generating and applying a code to a product according to an embodiment of the invention; Figure 2 illustrates a registration process according to an embodiment of the invention; Figure 3 illustrates a first exemplary authentication process according to the invention; Figure 4A illustrates authentication according to an embodiment of the invention for an exempl my expected authentication sequence; Figure 4B illustrates authentication according to an embodiment ofthe invention for an exemplary unexpected authentication sequence; Figure 5 illustrates a second exemplary authentication process according to the invcntion; Figure 6 illustrates a third exemplary authcntication process according to the invention; and Figure 7 illustrates a fourth exemplary authentication process according to the invention.
Detailed Description of the Invention
Figure IA is an overview of an illustrative supply chain that a product 101 may follow, in which a label 103 carrying a unique code is applied to the product to enable authentication of the product. A pail or all of the unique code 103 may bc generated by or supplied by server 105 to unique code writing device 109, for example a printer and / or RFID writer, and the unique code is stored in unique code database 107. Thc label 103 carrying the unique code is applied to product 101. The label 103 may be applied to product at the point of manufacture, at the point of packaging (if different from the point of manufacture) or at any other point prior to entry of product 101 into a product supply chain. As an alternative to use of label 103, the unique code may be applied directly to product 101 or to the packaging thereof.
A first party in the supply chain, which in Figure I is a distributor, receives the product 101 and uses a registered remote device I 09a, as described with reference to Figure 2, to read unique code on label 103 and transmit the unique code to server 105 over a network I I, for example the internet. Server 105 interrogates unique code database 107 to identify a match between the received code and the codes stored in the unique code database. Upon identification of a match, an indication that the product is legitimate may be communicated back to the remote device 109a ("legitimate product'S as used herein means a product that is from a legitimate source).
If, however, the code does not match unique code I 03 in unique code database I 07 then an indication may be communicated back to the remote device 1 09a that the product may be illegitimate ("illegitimate product" as used herein means a product that is counterfeit (not genuine), or a genuine product that is not from a legitimate source).
Each of a retailer and end user may take the same steps to authenticate the product using respective registered remote devices 109b and 109c ("authentication" as used herein
IS
includes verification that a product is not a counterfeit and / or verification that a product is from a legitimate source).
It will be appreciated that the supply chain may be longer or shorter than the supply chain illustrated in Figure 1, and may contain one or more parties in addition to or in place of the parties illustrated in Figure 1 that may take the same steps to authenticate the product 101. For example, the supply chain may include a wholesaler and! or more than one dism-ibutor. In the case of a pharmaceutical product, the supply chain may include a doctor or pharmacist.
With rcfcrcncc to Figure 1B, a server 115(1), 115(2) ... 115(n) and an associated unique code database 107(l), 107(2) ... 107(n) may be dedicated to each of n different product types, and a database 107 for a given product type may not be accessible by any of servers I IS except the one server I IS associated with that database. The code may contain a code part identifying the product type, for example a GTIN number, as described in more detail below. Upon identification of the product type at server 105 from the code part idcntiiing the product, the code received from remote device 109 may be communicated to the rclevant server I I S dedicated to that product type, and the relevant dedicated unique code database 107 may be interrogated for a match with the received code. Although Figure lB illustrates a plurality of physically separate servers, it will be understood that a single server may be logically partitioned to provide a plurality of virtual servers, each virtual server being associated with a unique code database 115 and wherein each database is accessible only by its associated virtual server.
A product type may be a specific product or product category, and / or products manufactured by a specific manufacturer.
If the security of unique code database 107(1) containing unique codes for a first product is compromised then it may be necessary to take remedial action in relation to the codes in that database only, because the security of the other databases 107(2) ... 107(n) may remain uncompromiscd.
Unique code In one arrangement, unique code may be applied directly to the product or product packaging.
In another arrangement, the unique code may be carried by label 103 that is applied to the product or product packaging. The label 103 may cany an REID tag that may be read by an RFID reader. Alternatively or additionally, the label may carry a printed code, such as a barcode. A barcode may be a I-dimensional barcode comprising a plurality of parallel lines of varying thickness, or a 2-dimensional, or matrix, barcode such as a Quick Response (QR) code.
The code may be in the GS 1 standard code format.
With reference to Figure IC, the unique code may include a unique code part that does not identify an attribute of the product, aid one or more of: (i) one or more code parts that identify onc or more constant attributes of the product type that product 101 belongs to and (ii) one more more variable attributes of the product type that the product 101 belongs to.
The product type that a product belongs to may identify one or more of: a product name; a product manufacturer; and a product size. In the case of a code in the GS I format, the constant code part may be the Global Trade Item Number (GTIN) for the product type.
Variable code parts may identi variables that vaiy between individual examples of a specific product type. Further code parts may include one or more of: i) A manufacturing date for the product (changes every day).
ii) A best before date for the product (changes every day).
iii) An expity date for the product (changes every day, and not necessarily the same as the best before date) iv) A manuflicturing batch code for the product (may changc on a daily basis, or morc or less frequently than once a day).
v) A product serial number (different for each individual product) A system for generating codes as described herein may provide for generating codes of up to m product constant code parts and up to n product variable code parts, wherein the number of code parts actually present in a final code may be m + n or less than m + n.
An exemplary code for the product constant code part(s) and fbr the product variable code part(s) is: 014337610601 10ang765hj9876gh98754z11 11091215240912172401 1221df123hj356k16 7nk90zz wherein: 014337610601 is the product constant code part, in this example a GTIN, in which 01 identifies the start of a GTTN code; and the product variable code parts arc as follows: I 0ang765hj98754z, which is a batch code in which 10 identifies the start of the batch code; 11110912, which is a production date of 2011-09-12 in which 11 identifies the start of the production date; 15240112, which is the best before date of 2024-01-12 in which 15 identifies the start of the best before date; 17240912, which is the expity date in which 17 identifies the start of the expity date; and 21dfl23hj3561d67nk90zz, which is the serial number for that specific product in which 21 identifies the stall of the serial number.
For example, m may be 1 (for example a OTIN number) and n may be 5 and in the case of a product for ingestion, for example a pharmaceutical, the code may include the unique code part, one product constant code part, and each of the product variable code parts (i) -(v) above, in which case all available code parts of the codc are occupied.
However, in the case of other products, one or more of each of them and n code parts may be unoccupied. For example, in the case of a hardware product there may be no best before date or expiry date in which case those product variable code pails may be unoccupied.
The unique code part may be a random or pseudo-random code part generated by or supplied by server [05, or generated by another random code part generator (not shown).
The product constant code part may be a publicly known code for a given product type, for example the OTIN for a given product type. This may be stored on a database (not shown); on server 105 or on product server 113.
The product variable code parts may be known only to the manufacturer. The values for the product variable code pails may be supplied by product server 113.
It will be appreciated that the product constant code part(s) may be different for different product types, and that the product variable code part(s) may be different, for example for two instances of the same product manufactured in different batches or on different days.
The unique code part and the product variable code part(s) are supplied by server 105 and product server 113 respectively to form the unique code to be written by unique code writing device 109, either alone or in combination with the product constant code part(s).
In the case of a printed label, the unique code writing device 109 may be an inkjct printer or any other known printer configured to print the unique code in a suitable format, such as a ID or 2D barcode. In the case of an RFID tag, the unique code writing device 109 may be an RFID writer.
With reference to Figure 1D, in a first step 120 the product variable code part(s) are sent by product server 113 ofa product manufacturer to server 105. The unique code is assembled at step 140 by combining the product variable code part(s) with a unique code part, such as a random code, which may be generated by server 105 or received from a separate random code generator, if the product constant codc part, such as the product OTIN, is to form part of the unique code then this maybe included in the unique code assembly.
The product variable part(s) of the code may be maintained securely and separately from server 105 until until it is needed to form the unique code.
The assembled unique code is transmitted at step 150 to unique code writer 109 which writes the unique code at step 150 directly onto the product or product packaging, or onto a label to be applied to the product. The assembled unique code is stored in unique code database 107.
In another arrangement, the parts of the unique code may be received and assembled at the point of maimfacture, for example at unique code writer 109 or at a processor associated with unique code 109.
In a yet further arrangement, the unique code part may be received by product server 113 in order that the unique code may be assembled at product server 113. Server 105, or another unique code part generator, may supply server I I 3 with unique code parts that may be combined with product constant code parts and / or product variable code parts to form the unique code.
The unique code may only be assembled at the time that it is required for application to a product, for example during or immediately prior to a batch manufacturing run. In this way, there is little or no time period in which the unique code is stored in unique code database 107 but not applied to a product. The assembled unique code may be enetypted in order to prevent the individual parts of the unique code being identified.
The assembled unique code is transmitted at step 160 to unique code database 107.
A risk associated with use of unique codes is that the unique code may be duplicated and applied to a batch of illegitimate products if a batch of products carrying unique codes is intercepted. However, use of a unique code formed from a unique code part and one or both of product variaNe code part(s) and product constant code part(s) may prevent attempts to cany out such duplication because it is highly unlikely that the one or more product attributes identified by the product variable or product constant code parts of the unique code will match the corresponding one or more product attributes of an illegitimate product that the interceptor may wish to apply the unique code to.
Label 103 may carry both an REID tag to which the unique code has been written and the same code in printed form. For example, label 103 may carry an RFID tag on one surface to which the unique code has been written, and the unique code printed on an opposing surface. Label 103 may be applied to product 10! or product packaging such that the surfacc carrying the RFID tag contacts a surface of the product 101 or product packaging and is not visible, and the opposing surface carrying the printed unique codc is visible.
Such a label is readable by any remote device 109 equipped with only one of an REID reader and an optical reader. Furthermore, if a remote device! 09 is equipped with both of an RFID reader and an optical reader then both may be read and a user alert may be generated if the two codes arc not the same.
If the unique code is applied to the product using a label then a tamper-proof label may be applied so that any attempt to change the label will be apparent from the label, and removal of the label will be apparent from damage to the product or product packaging.
For example, a label may be applied using a strong contact adhesive so that tearing of the label and / or product packaging occurs if any attempt is made to remove the label.
Remote device The remote device! 09 may be any device that has a memory and a processor and from which data may be sent or received over a network, for example the internet. The remote device 109 may have a display. The remote device 109 is equipped with a code-reading device that may be integrated with the remote device or connectable to the remote device by way of a wired or wireless connection.
Exemplary remote devices 109 include laptop computers, desktop computers and mobile phones. The code reading device may be, for example, a cameraphone or a webcam.
The use of software with a general purpose computer of a remote device such as a desktop computer, laptop computer or srnartphone means that the authentication process does not require dedicated hardware.
Registration A userniaybe required to register a remote device in order to authenticate aproduet.
A request for registration may be submitted by following a link, for example a IJRL, to server. With reference to Figure 1A, the identity of the remote device 109 from which the request was received may be determined using a unique device identifier, such as the device's IP address, and this identifier may be stored in a registered device database 115.
A user of remote device 109 may be requested to idcnti if the user is a product end-user or an individual or organisational user in a product supply chain, and the user type associated with a registered device may be stored in a registered device database 115.
Each user may be associated with one or more than one registered device 109.
Security checks may be eanied out on users wishing to register as supply chain users.
In the case of an end-user registration, the end-user may be requested to provide one or more personal details, for example name, address, email address, date of birth, sex and ethnicity. A supply chain user may be requested to provide details such as company name and company address. Some user detail fields may be compulsory, others may be optional.
In the case of an end-user wishing to authenticate phamrnceuticals, the end-user may be requested to identi' illnesses that the end-user suffers from.
The end-user may be requested to provide a unique user identifier, for example a user name and password, or another unique identifier such as a fingerprint.
With reference to Figure 2, authentication software may be downloaded to the remote device at step 220 following a first step 210 of registering the device and / or user. The software may be in any suitable form, for example software suitable to be run on a desktop or laptop computer, or a mobile application to be run on a smartphone.
Authentication Software downloaded to the remote device 109 may comprise a module configured to recognise a code, or the software may be configured to receive the code as read by software installed on the remote device I 09 (for example, software of the operating system of the remote device), or as read by hardware integrated with or in wired or wireless connection to the remote device 109.
With reference to Figure 3, after a code has been read by remote device 109, the software is configured to cause the remote device to send the code to server 105. The initial handshake 320 between remote device 109 and server 105 may include transmission of a unique identifier for the remote device 109, such as the device's I P address, or a unique identifier for the user, such as a username and password.
If thc remote device 109 is cquipped with means for identi"ing the location of the remote device, such as GPS, then the software may be configured to cause the remote device 109 to send the location of the remote device 109 to server.
Upon receipt of a code at step 320, a code receipt event is stored in unique code database 107.
The code received from the remote device is checked at step 330 to identi& a match with a unique code stored in unique code database 107. If the received code corresponds to a stored unique code then an indication that the product is legitimate may be sent to the remote device at step 350.
If the received code corresponds to a unique code stored in unique code database then the code receipt event maybe recorded in unique code database 107 in a log of code receipt events for that unique code at step 340.
Following registration by a remote device 109 and prior to a first authentication by that remote device, the remote device 109 registered in device database 115 is not associated with any unique codes stored in unique code database 107. An association between a remote device 109 and a unique code is created when that unique code is received from remote device 109, and that association may be recorded in the log of code receipt events.
Each entiy in the log of code receipt events for a unique code may include one or more of a unique identifier for the remote device 109 that send the code; a unique user identifier; a user type (supply chain user or end uscr); a date of the code receipt event; time of the code receipt event; and location of the remote device at the time of the code receipt event.
If the received code does not correspond to a stored unique code then an indication may be sent to the remote device that the product may be illegitimate. A query may also be sent to the remote device requesting information on origin of the product. An alert, and any received information on origin of the product, may be sent to other parties including, without limitation, the manufacturer of the product that is believed to have been counterfeited or illegitimately sold, and law enforcement agencies.
A log may be stored of received codes that do not correspond to a stored unique code, which may include one or more of a unique identifier for the remote device 109 that send the code; a unique user identifier; a user type (supply chain user or end user); a date of the code receipt event; time of the code receipt event; and location of the remote device at the time of the code receipt event.
As a product moves through the supply chain it may go through the authentication process described with reference to Figure 3 at one, more than one, or all stages in the supply chain, and / or by an end user.
Figure 4A illustrates an exemplary case wherein the authentication process is carried out for a product by a user registered as a distribution user at step 410, a retailer user at step 420, a first end-user at step 430. At each stage, a code receipt event may be added to the log of code receipt events for that product's unique code.
Further authentication steps may be carried out in addition to matching a received code to a stored unique code, for example as described below with reference to Figures 4B. 5, 6 and 7 and the outcome of those frirther authentication steps may be taken into account in determining if a product is legitimate or not.
Figure 4B is the same as Figure 4A, with the inclusion of a further step of the same unique code being received from a second end-user 440 in addition to receipt of that code from a first end user. This may be indicative of an illegitimate product, for example a product that has been stolen from the first end-user and given to or sold to the second end-user.
Figure 5 illustrates a process for authentication of a product, which is as described with reference to Figure 3 and includes the further step ofSlO of checking the log of code receipt events. Following receipt of a unique code, the log of code receipt events may be checked to determine if the code has been received from an unexpected user or user type as illustrated in Figure 4B.
An expected supply chain may be determined for a product. For example, with reference to Figure 1, the supply chain may be predetermined as Distributor -Retailer -End User.
The predetermined supply chain may identify a user type in a supply chain, such as a disthbutor, retailer or end user, and it may identify specific registered users or specific registered devices within the predetermined supply chain.
The expected supply chain for a product may be associated with the unique code for that product and stored in the unique code database 107 or in another database, and each code receipt event maybe checked to determine if the code was received from an expected user according to the predetermined supply chain.
If a unique code is received from a remote device I 09 associated with a user type or specific user that differs from an expected user type or specific user according to the predetermined supply-chain then an indication may be sent to the remote device 109 that the product may not be authentic.
The log of code receipt events for a unique code may be marked as closed once the unique code is received from a remote device associated with an end-user. If the same remote device is later used to re-read and re-send the same unique code then the server may respond in the same way as for the first reading of the unique code from that remote device. IL however, the same unique code is later received from another remote device associated with another user then an indication may be sent to the remote device that the product may be illegitimate, for one of the following reasons: -The unique code associated with a legitimate product has been duplicated and applied to an illegitimate product.
-A_n end-user has sold the product or passed it on to another user. This may be a legitimate transaction following a decision by the end-user to sell the product.
However, products such as pharmaceuticals should not be sold or passed on by an end user, and so the content of an alert sent to the remote device may depend on the nature of the product.
-The product has been stolen from an end user and has been given or sold to the user responsible for the later sending of the unique code.
Figure 6 illustrates a thither process for authentication of a product, which is as described with reference to Figure 3 and which includes the further step 610 of identifying if the location from which a unique code was sent is an expected location. An expected location for a product may be predetermined, and this predetermined location may be associated with the unique code and stored in the unique code database 107 or in another database.
If the unique code is received from a remote device 109 that is not in the expected location then an indication may be sent that the product may be illegitimate. For example, if a pharmaceutical is intended for use in a relatively poor country and if the unique code is received from a remote device in a relatively wealthy country then this may be an indication that the pharmaceutical has been illegitimately diverted.
An expected location for a product may be determined for each stage of that product's supply chain. Tn the case of a registered end-user having a registered address, the expected location may be associated with the end-user's registered address and / or the last recorded location of the product, for example a pharmacy in the case of a pharmaceutical product.
Figure 7 illustrates a fiu'ther process for authentication of a product, which is as described with reference to Figure 3 and which includes the further steps of checking the log of code receipt events for the unique code as described with reference to Figure 5 and checking the location from which a unique code was sent as described with reference to Figure 6.
An end-user may be unaware that they are in possession of counterfeit or illegitimately sourced goods if those goods do not come from a supply chain that contains checks on legitimacy of the goods. Enabling end users to authenticate products as described herein may have the result that individuals seeking to supply illegitimate products can not expect to avoid detection of illegitimate products simply by avoiding individuals or organisations within a supply chain that are known to use product authentication measures, or by setting up a separate supply chain to supply illegitimate products to end-users.
Upon identification of a product that maybe illegitimate, the point of entry of that illegitimate product into a product supply chain may be identified. For example, an end-user that sends a code that may be associated with an illegitimate product may be asked to identi' the source of the illegitimate product.
The use of authentication software suitable for use on general purpose processor, such as a laptop computer, desktop computer or sniartphone, enables both supply chain users and end-users to authenticate products without having to invest in dedicated, and possibly expensive, authentication hardware.
Additional applications A range of further services in addition to authentication may be provided to end-users.
An end-user that transmits codes associated with two or more different pharmaceutical products may be provided with a warning if those products are not suitable to be taken together.
If a product has entered into a defined period before its expiry date (for example I week) or has passed its expiry date then an end-user may be provided with a warning upon reading the code associated with that product. The same may be applied to products having a "best before" date.
If a product or a particular batch of a product needs to be recalled then the system may be configured to send an indication to the end-user not to use thc product and / or to return the product upon receipt of a code part identifying the product type or product batch that is to be recalled.
Upon identification by the server of a product associated with a code sent by an end-user, the end user may be provided with information relating to the product. For example, in the case of a pharmaceutical product the user may be provided with information on product information such as dosage amounts and times, how the pharmaceutical should be taken; possible side effects and other risks associated with ingestion of the pharmaceutical.
After an end-user has read the unique code for a particular pharmaceutical product using a remote device, software carried by the remote device may instruct the remote device to provide a visible and / or audible alert to the end-user whenever it is time to take a dose of the pharmaceutical. The sofiware may be configured to cause these alerts until the course of medication is complete.
If an end-user is on a long-term course of medication, for example for a chronic condition, then sofiware carried by the remote device may carry instructions that cause the remote device to deliver a visible and / or audible reminder to the end-user to obtain a new product when the contents of an existing product have been exhausted or nearly exhausted. Optionally, the visible and! or audible reminder is activated only if the end-user fails to read the unique code of a new product before a predetermined reminder time.
A log of products authenticated by a remote device associated with that end user may be stored. If an end-user authenticates pharmaceutical products then this log may form part of the end-user's medical records.
As deseribcd above, one or more of the date, time and location of a code reading evcnt may be stored in a database. If the registered device database contains an address associated with the remote device used to read the code then the location of the code reading event code reading event may be assumed to be the address. Alternatively, if data relating to current location of the device (for example OPS data) is included in data sent to the server upon reading of a code thcn that location data may be used as the location of a code reading event. This information may be used to build up a detailed picture of usage of a product. For example, in the case of phannaceutical products the personal details of the end-user supplied during or after product registration may be used to generate infonnation in connection with one or more of the following: -Spread of product usc within a selected geographical area for a selected time period (for example product use in a selected city, county or country ovcr a period of 1 day, 1 week, I month or 1 year), showing "hotspots" where use is particularly concenated. in the ease of an infectious illness, such as influenza, readings of a code associated with a product for treatment of the infectious illness may be used to track spread of the illness.
-Change in product use over a selected time period, for example to identify peaks for seasonal illnesses.
-Differences in product use according to end-user characteristics, for example one or more of age, sex, ethnicity and address of a user.
If a unique identifier is required prior to authentication for each user, such as a user name and password, then a plurality of end-users may use the same remote device to authenticate a product, and a code reading event may be associated with a specific user rather than with the device.
The unique code may serve not only to provide authentication of a product but also as a code to be used during sale of a product. For example, if the unique code is in the OS1 format and includes the product OlIN then the unique code may be read at a shop checkout or other point of sale. If the reader used to read the unique code is associated with a registered remote device then the event of sale of the product may be stored in the registered device database in order to identify that the product is now with an end-user who may or may not subsequently seek to authenticate the product.
It will be appreciated that the system and method as described hcrcin may be used to supply a user with authentication and / or further information in connection with any product including, without limitation, pharmaceuticals; food products; beverages including alcoholic and non-alcoholic beverages; tobacco products; clothing; footwear; fashion accessories, for example handbags; industrial tools; electric apparatus including electronic apparatus; and media carriers including CDs and DVDs.
As shown by the above discussion, at least sonic implementations of the invention as described herein, including but not limited to for authentication of a product, generating information relating to product authentication and / or sending information relating to a product and its use, may involve programming, for example, for by a processor unit of one or more servers. Program aspects of the technology may be thought of as "products" or "articles of manufacture" typically in the form of executable code and/or associated data that is carried on or embodied in a type of machine readable medium. "Storage" type media include any or all of the memory of the supporting electronics of the touch screen, computing devices, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide storage at any time for the software programming. All or portions of the software may at times be communicated through the Internet or various other telecommunication networks. Such communications, for examplc, may enable loading of the software from one computer or processor into another computer or processor. Thus, another type of media that may bear the software elements includes optical, electrical and elecmoniagnetie waves, such as used across physical interfaces between local deviccs, through wired and optical landline networks and over various air-links. The physical elements that carry such waves, such as wired or wireless links, optical links or the like, also may be considered as media bearing the software.
Hence, a machine readable medium may take many forms, including but not limited to, a tangible non-transitory storage medium, a carrier wave medium or physical transmission medium. Tangible non-volatile storage media include, for example, optical or magnetic disks, such as any of the storage deviccs in any computer(s) or the like. Tangible volatile storage media include dynamic memory, such as main memory of such a computer platform. Tangible transmission media include coaxial cables; copper wire and fiber optics, including the wires that comprise a bus within a computer system. Carrier-wave transmission media can take the form of electric or electromagnetic signals, or acoustic or light waves such as those generated during radio frequency (RF) and infrared (ifi) data conmrnnications. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution Although the present invention has been described in terms of specific exemplary embodiments, it will be appreciated that various modifications, alterations and/or combinations of features disclosed herein will be apparent to those skilled in the art without departing from the scope of the invention as set forth in the following claims.

Claims (1)

  1. <claim-text>Claims A method of authcnticating a product implcmcntcd in a distributcd product authentication system, the method comprising the steps of: receiving at a server a code sent from a remote device wherein the code is associated with a product; pettorming a first check of determining if the received code matches a unique code stored in a database ofunique codes; if the received code matches a unique code, rccording receipt of the received code in a log of code receipt events for that unique code; and transmitting an authentication result to the remote device, wherein the authentication result is determined at least in pail by an output of the first check; and wherein the remote device is associated with a user registered in the product authentication system as a product end-user.</claim-text> <claim-text>2. A method according to claim 1 comprising the step of pettorming a second check of determining if the received code has been previously received from another remote device associated with another end-user, wherein the authentication result indicates that the code is invalid if the received code has been previously received from another remote device associated with another end-user.</claim-text> <claim-text>3. A method according to any preceding claim comprising the step of performing a third check of determining if the location from which the code was received matches a predetermined expected location associated with the product, wherein the authentication result is determined at least in part by an output ofthe first check and the third check.</claim-text> <claim-text>4. A method according to any preceding claim wherein the step of recording receipt of the received code includes recording one or more of date of code receipt, time of code receipt and location of the remote device at the time that the code was sent.</claim-text> <claim-text>5. A method according to any preceding claim wherein a unique device identifier identi'ing the remote device is recorded in a registered device database.</claim-text> <claim-text>6. A method according to claim 5 wherein one or more of the user's name, address and age is associated with the unique device identifier.</claim-text> <claim-text>7. A method according to any preceding claim comprising the step of transmitting the authentication resuh and further data to the remote device.</claim-text> <claim-text>8. A method according to claim 7 wherein the further data is product information data.</claim-text> <claim-text>9. A method according to claim 8 wherein the product is a pharmaceutical and the further data is selected from one or more of pharmaceutical safety data, pharmaceutical administration method data and pharmaceutical dosage method data.</claim-text> <claim-text>I 0. A method according to any preceding claim wherein the remote device comprises a general purpose processor and storage medium readable by the general purpose processor, wherein executable program instructions embodied in the storage medium cause the remote device to send the code to the remote device and, on receipt of the authentication result, to communicate the authentication result to a remote device user.</claim-text> <claim-text>I. A method according to claim 10 wherein the remote device is a mobile phone.</claim-text> <claim-text>12. A method according to any preceding claim comprising the step of generating statistics on product use from code receipt even associated with a plurality of products of a product type.</claim-text> <claim-text>13. Computer program code which when run on a computer causes the computer to perform the method according to any preceding claim.</claim-text> <claim-text>14. A calTier medium carrying computer readable code which when run on a computer causes the computer to perform the method according to any of claims 1-12.</claim-text> <claim-text>15. A computcr progrum product comprising computer readable code according to claim 14.</claim-text> <claim-text>16. An article of manufacture comprising: a machine-readable storage medium; and executable program instructions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perfonn the method according to any of claims 1-12.</claim-text> <claim-text>17. A product authentication system configured to carry out a method according to any of claims 1-12, the system comprising: an input part configured to receive the code from the remote device; a processor configured to perform the first check and to record receipt ofthe received code in the log of code receipt events forthat unique code; and an output part configured to transmit an authentication result to the remote device.</claim-text> <claim-text>18. A method of product authentication implemented in a distributed product authentication system, the method comprising the steps of: receiving at a server a code sent from a remote device wherein the code is associated with a product; determining ifa received identifier associated with the remote device matches a unique remote device identifier stored in a registered device database; if a match is identified, performing a first check of determining if the received code matches a unique code stored in a database of unique codes; recording receipt ofthe received code in a log of codes received from the remote device; and transmitting an authentication result to the remote device, wherein the authentication result is determined at least in part by an output of the first check; and wherein the remote device is associated with a user registered in the product authentication system as a product end-user.</claim-text> <claim-text>19. A method according to claim 18 wherein one or more of thc user's name, address and age is associated with the unique device identifier.</claim-text> <claim-text>20. A method according to claim 18 or 19 wherein the product is a pharmaceutical and wherein an alert is transmitted to the remote device if the pharmaceutical product is incompatible with another pharmaceutical product identified by a unique code in the log of codes received from the remote device.</claim-text> <claim-text>21. Computer program code which when run on a computer causes the computer to perform the method according to any of claims 18-20.</claim-text> <claim-text>22. A carrier medium carrying computer readable code which when run on a computer causes the computer to perform the method according to any of claims 18-20.</claim-text> <claim-text>23. A computer program product comprising computer readable code according to claim 22.</claim-text> <claim-text>24. An article of manufacture comprising: a machine-readable storage medium; and executable program instructions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perform the method according to any ofclainis 18-20.</claim-text> <claim-text>25. A product authentication system configured to carry out a method according to any of claims 18-20, the system comprising: an input part configured to receive the code and the identifier from the remote device; a processor configured to determine if the received identifier matches a unique remote device identifier stored in a registered device database; perform the first checlq and recoixi receipt ofthe received code in a log of codes received from the remote device; and an output part configured to transmit an authentication result to thc remote device.</claim-text> <claim-text>26. A product authentication method implemented in a distributed product authentication system for authentication a produet of a product type, the method comprising the steps of receiving at a server front a remote device a code associated with a product; peribrming a first check of determining if the received code matches a unique code stored in a unique code database; and tnnsmitting an authentication result to the remote device, wherein each unique code comprises a unique code part that does not identify an attribute of the product; at least one product constant code part that identifies at least one constant attribute ofthe product type, and at least one product variable code part that identifies at least one variable attribute ofthe product type; and wherein the authentication result is determined at least in part by an output of the first check.</claim-text> <claim-text>27. A product authentication method according to claim 26 wherein each unique code is in the GS1 Ibmiat and wherein the at least one product constant code part is a product GIN value.</claim-text> <claim-text>28. A product authentication method acconling to claim 26 or 27 wherein the unique code part is a random or pseudo-random value.</claim-text> <claim-text>29. A product authentication method acconling to any of claims 28-28 wherein the at least one product variable code part is selected from one or more of manufiteture date, expiry date, best before date, batch number and serial number of the product that the unique code is associated with.</claim-text> <claim-text>30. A product authentication method according to any of claims 26-29 wherein at least one unique code, optionally each unique code, comprises at least two product variable code parts.</claim-text> <claim-text>31. A product authentication method according to any of claims 26-30 wherein at least one unique code, optionally each unique code, comprises at least two product constrnit code parts.</claim-text> <claim-text>32. Computer program code which when run on a computer causes the computer to perform the method according to any ofclaims 26-31.</claim-text> <claim-text>33. A carrier medium canying computer readable code which when run on a computer causes the computer to perform the method according to any of claims 26-31.</claim-text> <claim-text>34. A computer program product comprising computer readable code according to claim 33.</claim-text> <claim-text>35. An article of manufacture comprising: a machine-readable storage medium; and executable program instructions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perform the method according to any ofclaims 26-31.</claim-text> <claim-text>36. A product authentication system configured to carry out a method according to any of claims 26-3!, the system comprising: an input part configured to receive the code from the remote device; a processor configured to perform the first cheek; and an output part configured to transmit a validation result to the remote device.</claim-text> <claim-text>37. A product authentication mcthod implemented in a distributcd product authentication system, the method comprising the steps of: receiving at a server from a remote device a code associated with a product wherein the code comprises at least a unique code part that does not identify an aftribute of the product and a product constant code part that identifies a product identiing thc product type from the product constant code part; transmitting at least the unique code part to a database system for the identified product type, wherein the database system comprises a unique code database of a plurality ofunique codes associated with a respective plurality of products of the product type; receiving from the database system an indication of whether the at least unique code part matches one of the plurality of unique codes; and transmitting the indication to the remote device.</claim-text> <claim-text>38. A product authentication method according to claim 37 wherein the product authentication system comprises a plurality of database systems for a corresponding plurality of product types.</claim-text> <claim-text>39. A product validation method according to claim 37 or 38 wherein the or each database system comprises a unique code database and a physically or logically separate authentication server configured to receive the at least unique code part from the server, determine if the received at least unique code part matches a unique code stored in the database, and send to the server an indication of whether the at least unique code part matches one of the plurality ofunique codes.</claim-text> <claim-text>40. A product authentication method according to claim 39 wherein an authentication server for one product type cannot access the unique code database for another product type.</claim-text> <claim-text>41. A product authentication method according to any of claims 37-40 wherein the unique code comprises at least one product variable code part identiing at least one variable attribute of the product type and wherein the server transmits the unique code part and the at least one product variable code part, and receives from the database system and indication of whether the transmitted code parts match one of the plurality ofunique codes.</claim-text> <claim-text>42. A product authentication method according to claim 41 wherein the at least one product variable code part is selected from one or more ofmanutàcture date, expiry date, best beibre date, batch number and serial number of the product that the unique code is associated with.</claim-text> <claim-text>43. A product authentication method according to any of claims 3742 wherein the unique code part is a randomly generated value.</claim-text> <claim-text>44. A product authentication method according to any of claims 3743 wherein the product constant code part is in the GSI format and comprises a OTIN value identil\jing the product type.</claim-text> <claim-text>45. Computer program code which when nm on a computer causes the computer to perform the method according to any of claims 37-44.</claim-text> <claim-text>46. A carrier medium carrying computer readable code which when run on a computer causes the computer to perform the method according to any of claims 37-44.</claim-text> <claim-text>47. A computer program product comprising computer readable code according to claim46.</claim-text> <claim-text>48. An article ofmanufhcture comprising: a machine-readable storage medium; and executable program instructions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perform the method according to any of claims 37-44.</claim-text> <claim-text>49. A product authentication systcm configured to carry out a mcthod according to any of claims 37-44, the system comprising: an input part configured to receive thc code from the remote device and to receive an indication of whether the at least unique code part matches one of the plurality of unique codes; a processor configured to idcntif the product type from the product constant code part; and an output part configured to transmit at least the unique code part to a database system for the identified product type and to transmit an authentication rcsult to the remote device.</claim-text> <claim-text>50. A method of product authentication implemented in a distributed product authentication system, the method comprising the steps of: receiving at a server a code sent from a remote device wherein the code is associated with a product; performing a first check of determining if the received code matches a unique code stored in a database ofunique codes; if the received code matches a stored unique code, performing a second check of determining if the received code has previously been received from a remote device registered in the product authentication system as being associated with an end-user; and transmitting an authentication result to the remote device, wherein the authentication result is determined at least in part by an output of the first check and the second check.</claim-text> <claim-text>I. Computer program code which when run on a computer causes the computer to perform the method of claim 50.</claim-text> <claim-text>52. A calTier medium carrying computer readable code which when run on a computer causes the computer to perform the method of claim 50.</claim-text> <claim-text>53. A computer program product comprising computcr readable code according to claim 52.</claim-text> <claim-text>54. An article of manufacture comprising: a machine-readable storage medium; and executable program insmictions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perform the method according to claim 50.</claim-text> <claim-text>55. A product authentication system configured to carry out a method according to claim 50, the system comprising: an input part configured to receive the code from the remote device; a processor configured to perform the first check and, if the received code matches a stored unique code, perform the second check; and an output part configured to transmit the authentication result to the remote device.</claim-text> <claim-text>56. A method of generating unique product codcs for use in a product authentication system wherein each of a plurality of products is associated with a unique code, the method comprising the steps of: receiving from a first system a unique code part that does not identify an attribute of the product that the code is to be applied to; receiving from a second system that is secure from the first system at least one product variable code part that identifies at least one variable attribute of the product type that the code is to be applied to; combining at least the unique code part and the at least one product variable code part to form a unique code; transmitting the unique code to at least one code writing device for application of the unique code to the product; and storing the unique code in a unique code database.</claim-text> <claim-text>57. A method according to claim 56 wherein the unique code includes at least one product constant code part identiing at least one constant attribute of a product type that the product belongs to.</claim-text> <claim-text>58. A method according to claim 56 or 57 wherein the code writing device writes the code to a label that is applied to the product.</claim-text> <claim-text>59. A method according to any of claims 56-58 whcrcin the at least one code writing device is a RFID writer and the unique code is written to a RFID tag.</claim-text> <claim-text>60. A method according to any of claims 56-59 wherein the at least one code writing device is a printer.</claim-text> <claim-text>61. A method according to any of claims 56-60 wherein the unique code is transmitted to the RFID writer and to the printer and the code is written to both the RFID tag and printed onto the label.</claim-text> <claim-text>62. Computer program code which when run on a computer causes the computer to perform the method of any of claims 56-61.</claim-text> <claim-text>63. A catTier medium carrying computer readable code which when am on a computer causes the computer to perform the method of any of claims 56-61.</claim-text> <claim-text>64. A computer program product comprising computer readable code according to claim 63.</claim-text> <claim-text>65. An article of manufacture comprising: a machine-readable storage medium; and executable program instructions embodied in the machine readable storage medium that when executed by a programmable system causes the system to perform the method according to any of claims 56-61.</claim-text> <claim-text>66. A system configured to cany out a method according to any of claims 56-61, the system comprising: an input part configured to receive the unique code part and the at least one product variable code part; a processor configured to combine at least the unique code part and the at least one product variable code part to fonn the unique code and to store the unique code in a unique code database; and an output part configured to transmit the unique code to the at least one code writing device.</claim-text> <claim-text>67. A device configured to authentication a product, the device comprising a machine-readable storage medium, a transmitter, a receiver, and executable program instructions embodied in the machine-readable storage medium that when executed by a programmable system causes the system to: transmit a unique device identifier identi'ing the device; transmit a code received from a code reader to a remote server, wherein the code is associated with a product; receive from the remote server an authentication result, wherein the authentication result is determined at least in part by whether the transmitted code matches a unique code stored in a unique code database; and communicate the authentication result to a device user.</claim-text> <claim-text>68. A device according to claim 67 wherein the program instructions when executed by the programmable system causes the system to transmit a location of the device to the remote server 69. A device according to claim 68 wherein the authentication result is determined at least in part by the transmitted location of the device.70. A dcvicc according to any of claims 67-ô9wherein thc dcvicc is a mobile phonc.</claim-text>
GB1117170.9A 2011-10-05 2011-10-05 Product authentication using unique code Withdrawn GB2495480A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1117170.9A GB2495480A (en) 2011-10-05 2011-10-05 Product authentication using unique code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1117170.9A GB2495480A (en) 2011-10-05 2011-10-05 Product authentication using unique code

Publications (2)

Publication Number Publication Date
GB201117170D0 GB201117170D0 (en) 2011-11-16
GB2495480A true GB2495480A (en) 2013-04-17

Family

ID=45035184

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1117170.9A Withdrawn GB2495480A (en) 2011-10-05 2011-10-05 Product authentication using unique code

Country Status (1)

Country Link
GB (1) GB2495480A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3018376A1 (en) * 2014-03-10 2015-09-11 Morin Logistic METHOD AND SYSTEM FOR RECEIVING PRODUCT PARTS, METHODS FOR SEARCHING AND MANAGING THE RETURN OF A PART, CORRESPONDING COMPUTER PROGRAM AND PARTS STORAGE PLANT
WO2015140643A3 (en) * 2014-03-19 2016-01-14 Busarov Alexander Rfid based anti-counterfeiting, distribution enhancement and customer analysis system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3018376A1 (en) * 2014-03-10 2015-09-11 Morin Logistic METHOD AND SYSTEM FOR RECEIVING PRODUCT PARTS, METHODS FOR SEARCHING AND MANAGING THE RETURN OF A PART, CORRESPONDING COMPUTER PROGRAM AND PARTS STORAGE PLANT
WO2015140643A3 (en) * 2014-03-19 2016-01-14 Busarov Alexander Rfid based anti-counterfeiting, distribution enhancement and customer analysis system

Also Published As

Publication number Publication date
GB201117170D0 (en) 2011-11-16

Similar Documents

Publication Publication Date Title
AU2017100056A4 (en) Method and system for verifying of the authenticity of a consumer product
KR101276902B1 (en) Method and device for obtaining item information using rfid tags
US8534544B1 (en) System and method for authenticating a manufactured product with a mobile device
US20090106042A1 (en) System for product authentication by mobile phone
CA2891446C (en) Digitally secured electronic titles for products in supply chains
US9473303B2 (en) Method and system for product authentication
US20170076065A1 (en) System, device, and automated method for verification of medication integrity and chain of custody
EP2856694B1 (en) System and method for generating and managing product authentication codes
US20070205258A1 (en) System and Method of Product Information Coding and Authentication
JP2016507835A (en) Unlicensed product detection techniques
US8534543B1 (en) System and method for authenticating a manufactured product with a mobile device
WO2019068893A1 (en) A system and method for authenticating a product
US11810179B2 (en) Method for tracking products using distributed, shared registration bases and random numbers generated by quantum processes
CN102007508A (en) Goods processing method
US20090204417A1 (en) System for product authentication using covert codes
GB2495480A (en) Product authentication using unique code
KR100875920B1 (en) Product authentication and service provider verification system using RDF signature tag and method
US20080270306A1 (en) System and method of theft detection of encoded encrypted software keyed genuine goods
CN110969235B (en) Two-dimensional code label bottle cap and related method and system
GB2567186A (en) A method and system for authenticating a product
KR101192972B1 (en) An authenti cation system for anti-forgery using the smart card chip and method of thereof

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)