Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR DETERMINING AUTHENTICITY OF GOODS
Document Type and Number:
WIPO Patent Application WO/2022/159246
Kind Code:
A1
Abstract:
A method for determining the authenticity of at least one good is disclosed, as well as an associated product authentication system. The method provides for the creation of serial numbers with cryptographically secure authorization codes affiliated with each serial number. The serial number get printed on a tag, and the authorization code gets printed on the same tag but is obscured. The tag gets placed on a good. An end-user can unobscure the authorization code, enter it into a database, which will inform the end-user of the authenticity of the good, by matching the entered authorization code against a listed authorization code in the database.

Inventors:
VICKEN JABOURIAN VICKEN (US)
SHANT JABOURIAN SHANT (US)
Application Number:
PCT/US2021/070060
Publication Date:
July 28, 2022
Filing Date:
January 21, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CANNVERIFY LLC (US)
International Classes:
G06Q10/08
Domestic Patent References:
WO2013165028A22013-11-07
Foreign References:
US20190258991A12019-08-22
US20190258986A12019-08-22
US10868676B22020-12-15
Other References:
ANONYMOUS: "CannVerify - Anti-Counterfeit and Brand Protection for Cannabis and Hemp", 11 November 2020 (2020-11-11), XP055847593, Retrieved from the Internet [retrieved on 20211005]
PETE: "The Cannabis Industry Needs Authentication Now More Than Ever - DabConnection", 29 August 2019 (2019-08-29), XP055847903, Retrieved from the Internet [retrieved on 20211005]
ANONYMOUS: "password hashing - Why do we use hex output for hash functions? - Cryptography Stack Exchange", 1 May 2016 (2016-05-01), XP055847909, Retrieved from the Internet [retrieved on 20211005]
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A method for determining the authenticity of at least one good, comprising the steps of: determining, by a first user, a number of serial numbers to create; creating, by the first user utilizing a computer system, a plurality of serial numbers by creating a series of sequential numbers and either prepending or appending at least one random letter to each of the series of sequential numbers, wherein the series of sequential numbers is comprised of an amount of numbers equal to the determined number; preparing, by the first user utilizing the computer system, a hash value for each of the plurality of serial numbers; preparing, by the first user utilizing the computer system, a hex value from each of the prepared hash values; creating, by the first user utilizing the computer system, an authorization code for each of the plurality of serial numbers, the authorization code for each of the plurality of serial numbers being derived from that serial numbers corresponding hex value; uploading, by the first user, the plurality of serial numbers along with each of the plurality of serial numbers respective authorization code into a database; printing, by the first user, a plurality of tags, each tag containing one of the plurality of serial numbers shown conspicuously on the tag and said serial numbers corresponding authorization code, said authorization code being obscured via an obstruction device, the obstruction device being removable; creating, by the first user utilizing the computer system, a list of hashed authorization codes by performing a hashing algorithm on each of the authorization codes; creating, by the first user utilizing the computer system, a register containing a plurality of entries, the plurality of entries comprising of all of the plurality of serial numbers and hashed authorization codes, where the serials numbers are mapped to the corresponding authorization code in each of the plurality of entries; storing the register in an internet-enabled database, the internet-enabled database being equipped with a means for users to access a portion of said database; adding, by a second user utilizing the computer system, at least one additional data field to each of the plurality of entries; attaching, by the second user, each of the plurality of tags to the at least one good; unobscuring, by an end-user, the authorization code; utilizing the means for the end-user to access a portion of the internet-enabled database, by the end-user, to enter the serial number and authorization code list on one of the plurality of tags; verifying, by the means for the end-user to access a portion of the internet-enabled database, the authorization code against the corresponding serial number in the register; and returning and indicating the goods’ authenticity, by the means for the end-user to access a portion of the internet-enabled database, if the authorization code on the tag corresponds to the pertinent authorization code in the register. The method of claim 1, the step of “utilizing the means for the end-user to access a portion of the internet-enabled database, by the end-user, to enter the serial number and authorization code list on one of the plurality of tags” further comprises the end user entering their email address which will be provided to the second user. The method of claim 2, the end-user’s email address also being provided to the first user. The method of claim 3, wherein the at least one data field is mutable. The method of claim 4, the at least one data field being configured to contain rich text descriptions. The method of claim 5, wherein the authorization codes expire after being utilized. The method of claim 6, wherein the internet-enabled database and register both utilize blockchain technology. A product authentication system, comprising: a plurality of serial numbers, constructed out of a series of consecutive numbers, each of the consecutive numbers having one or more character appended or prepended to make the plurality of serial numbers; a plurality of hex values corresponding to the plurality of serial numbers in a one-to-one relationship, each of the plurality of hex values being calculated from the hash value of each of the corresponding plurality of serial number;

19 a plurality of authentication codes consisting of a portion of the hex value for one serial number, where each of the plurality of authentication codes corresponds to the serial number whose corresponding hex value was used to create said authentication code wherein the plurality of authorization codes are hashed on a per-authentication code basis; a plurality of tags, each tag comprising one of the plurality of serial numbers shown conspicuously on the tag and said serial numbers corresponding authorization code, said authorization code being obscured via an obstruction device, the obstruction device being removable, each tag having a top surface and a bottom surface, wherein the top surface is at least partially coated with a holographic material, the authentication code, and a removable film to obscure the authentication code, and the back surface being coated with an adhesive; an internet-enabled database having a register containing a plurality of entries, the plurality of entries comprising of all of the plurality of serial numbers and hashed authorization codes, where the serials numbers are mapped to the corresponding authorization code in each entry, wherein the internet-enabled database is equipped with a means for users to access a portion of said database; The product authentication system of claim 8, each of the plurality of tags further comprising a scannable optical identifier associated with one serial number.

20

10. The product authentication system of claim 9, wherein the internet-enabled database utilizes blockchain technology.

21

Description:
“SYSTEM AND METHOD FOR DETERMINING AUTHENTICITY OF GOODS”

INVENTORS

Vicken Jabourian Shant Jabourian

NOTICE OF COPYRIGHTS AND TRADE DRESS

[0001] A portion of the disclosure of this patent document contains material which is subject to copyright or trade dress protection. This patent document may show and/or describe matter that is or may become trade dress of the owner. The copyright and trade dress owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright and trade dress rights whatsoever.

CLAIM OF PRIORITY

[0002] This application does not claim priority to any patent or patent application.

FIELD OF THE EMBODIMENTS

[0003] The present disclosure relates generally to a system and method for determining the authenticity of goods. In particular, the present disclosure provides for an anti-counterfeiting system to be used by members of the public to verify the authenticity of the goods of others.

BACKGROUND

[0004] Knowing the authenticity of purchased goods is important, especially if those goods are to be consumed by an end-user. Unfortunately, all too often counterfeit products are sold. In order to assist with the verification that goods are authentic a secure database which utilizes security protocols is required. Further, such a database allows for verbose logging of manufacturing and transit details of these goods.

[0005] There exist many different methods for allowing end-users to verify the authenticity of their purchased goods, but unfortunately all of these existing technologies come with caveats, either in cost, reliability, or complexity of setup and use. Therefore, there exists a need for a system and method that can cheaply, easily, and simply allow both manufacturers and purchasers to verify the authenticity of goods being sold.

SUMMARY

[0006] A method for determining the authenticity of at least one good is disclosed. In a preferred embodiment, the method begins by determining, by an operator of a product authentication system, a number of serial numbers to create. The operator will then use a computerized system to generate these serials numbers. Preferably, the serial numbers will be created by having a list of sequential numbers which are created by either prepending and/or appending one or more characters to the sequential number. This pseudo-randomization allows for a large number of goods to be registered in the same database without conflict. Also, certain characters could be reserved for certain good manufacturers, in various embodiments.

[0007] After this list of serial numbers has been prepared, the operator will then generate a hash value for each serial number, using one of a variety of hashing algorithms. These hash values are then converted into respective hex values, a portion of which is used to create an authentication code for each serial number that has been generated. Then, these serial numbers and their corresponding authentication codes are uploaded into a database by the operator. In some embodiments this database employs blockchain technology. Once in the database, the authentication codes are hashed again for an additional layer of security. From there, a plurality of tags can be printed, each with a serial number conspicuously shown on the tag, while that serial number’s authentication code is also printed on the tag but is obscured. While a numbers of obscuring methods and devices are applicable here, the key is that such obscuring method/device is removable by an end-user.

[0008] When a goods manufacturer contracts with the operator to use the system in accordance with the present disclosure, the operator will then create a register containing a plurality of entries, the plurality of entries comprising of all of the plurality of serial numbers and hashed authorization codes, where the serials numbers are mapped to the corresponding authorization code in each entry. This register shall be specific to the manufacturer. Once the register has been created, a means for accessing a portion of the database which contains the register is provided, both to the manufacturer and to the end-user. Such means can include a web app, or software application in communication with the database. The manufacturer may add at least one additional field of data to each entry within the register so as to supplement available data to the end-user. In a preferred embodiment, these data fields are mutable and contain the ability to process and display rich text formatting.

[0009] Once the register has been set up, the relevant tags are then affixed to a plurality of goods to be sold and authenticated. This affixing may be done by the operator or may be done by the manufacturer. After the tags have been affixed to the plurality of goods, and the goods have been sold, it is then possible for the end-user to use the system in accordance with the present disclosure to authenticate the goods. In some embodiments, the end-user may have to provide their e-mail address to authenticate the goods. In a preferred embodiment, this authentication is done by the end-user first unobscuring the authorization code contained on the tag, and then entering the serial number and authentication code into the means for accessing the register. The method then proceeds to check the entered information against the relevant entry within the register. If the information matches up, a notification is sent to the end-user informing them that the goods are authentic. If the information does not match up with the information in the register, then the method will notify the end-user of a potentially inauthentic good. In some embodiments authorization codes are single-use.

[0010] The present disclosure also provides for a product authentication system. In a preferred embodiment, the product authentication system in accordance with the present disclosure comprises a plurality of serial numbers, constructed out of a series of consecutive numbers, each of the consecutive numbers having one or more character appended or prepended to make the plurality of serial numbers. Preferably, these systems also include a plurality of hex values corresponding to the plurality of serial numbers in a one-to-one relationship, each of the hex values being calculated from the hash of the corresponding serial number, as well as a plurality of authentication codes consisting of a portion a hex value for one serial number, where each of the authentication codes corresponds to the serial number whose corresponding hex value was used to create said authentication code, where the plurality of authorization codes are hashed on a per-authentication code basis.

[0011] Further, the product authentication system in accordance with the present disclosure contains a plurality of tags, each tag comprising one of the plurality of serial numbers shown conspicuously on the tag and said serial numbers corresponding authorization code, said authorization code being obscured via an obstruction device, the obstruction device being removable. Moreover, each tag has a top surface and a bottom surface, wherein the top surface is at least partially coated with a holographic material, the authentication code, and a removable film to obscure the authentication code, and the back surface being coated with an adhesive. Finally, such systems include an internet-enabled database having a register containing a plurality of entries, the plurality of entries comprising of all of the plurality of serial numbers and hashed authorization codes, where the serials numbers are mapped to the corresponding authorization code in each entry, where the internet-enabled database is equipped with a means for users to access a portion of said database. In a highly preferred embodiment, each of the tags contains a scannable optical identifier associated with a single serial number.

[0012] The present disclosure addresses at least one of the foregoing disadvantages described in the background. However, it is contemplated that the present disclosure may prove useful in addressing other problems and deficiencies in a number of technical areas. Therefore, the claims should not necessarily be construed as limited to addressing any of the particular problems or deficiencies discussed hereinabove.

[0013] Implementations may include one or a combination of any two or more of the aforementioned features.

[0014] These and other aspects, features, implementations, and advantages can be expressed as methods, apparatuses, systems, components, program products, business methods, and means or steps for performing functions, or some combination thereof.

[0015] Other features, aspects, implementations, and advantages will become apparent from the descriptions and the claims. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] The present disclosure contemplates a system and method for allowing entities to associate their products, through specialized tags, with an electronic database that may be accessed by end-users to check the provenance of said products.

[0017] In most embodiments of the method in accordance with the present disclosure, the method begins by generating serial numbers. Preferably, an incrementing sequence of numbers is generated by providing a starting number and the number of serials to generate. This can be performed by an associated server or unassociated processing system. As each serial number is recorded, a set of random characters are appended and/or prepended to each serial number. Preferably, this is performed using a cryptographically secure random number generator. After the set of random letters are appended or prepended to a serial to create one or more serial numbers a hashing algorithm is applied to the serial number and is subsequently converted to hex, or some other type of value generated through the use of text encoding. Preferably, this hashing algorithm is an HMAC algorithm, and preferably a SHA256 hashing algorithm, although the use of other algorithms is suitable. In a variety of embodiments, serial numbers are generated at the time-of-production, and are only stored in an internet-accessible location when they are added to a manufacturer’s account. As an added security measure, in these embodiments, unassigned serial numbers are not stored in an internet-accessible location to aid against the unauthorized capture of yet-to-be-generated serial numbers.

[0018] To generate a corresponding authentication code, a portion of the generated hex value of the hash is used. Preferably, this is the first four digits of the hex value, but other portions of said hex value may be used as well. In alternate embodiments, the authentication code is purely random, generated by a cryptographically-secure random number generator. This has the benefit of enhanced security, by preventing the generation of valid serials and verifications codes even if the secret key becomes compromised.

[0019] Each serial number belongs to a register, where a register is assigned to a single entity. A register has a one-to-many relationship with serial numbers, while a serial number has a one- to-one relationship with a register. An electronic data file, containing at least three columns pertaining to a serial number, a corresponding authentication code, and a register name is created and uploaded to an admin electronic database, which results in a new record for the register being created and added to a register table within the admin electronic database. All new records for all serial numbers in that register are added to a serial number table, and subsequently associates those serial numbers to the register with a foreign key.

[0020] In various embodiments, when an entity purchases a new register of serial numbers, the records from the register and the records from the serial number table get copied into a member electronic database. Further, the register as well as each individual serial number gets associated with the entity via the foreign key.

[0021] After the register and each individual serial number get associated with an entity, the entity may perform a variety of actions on the member electronic database, either on an individual serial number or a register of serial numbers. Adding or updating information associated with a serial number can be done in one of two ways: through the use of a template or through the direct entry of information.

[0022] Templates allow an entity to save a plurality of data fields pertaining to product information for easy association with the serial numbers without the entity needing to re-enter the information. This is particularly helpful for entities who sell a large amount of products. In a highly preferred embodiments, the plurality of data fields include: template name, product name, product quantity, product description, vendor, images, and other metadata such as lab results. An entity enters template data then saves said template to the member’s electronic database. When a template is saved, a new record is created in a templates table located on said members electronic database. A template has a one-to-many relationship with serial numbers, while a serial number has a one-to-one relationship with a template and is associated to a template with a foreign key. In a preferred embodiment, templates can be edited and changed by the entity at any point-intime. If a template has been updated, any current activated serial numbers with an association to that template will display the updated information within the template.

[0023] In lieu of a template, product information can be associated with one or more serial numbers directly. When product information is added directly to a single or group of serial numbers, the product information is saved directly in the serial record(s) in the serials table. Serials can also be activated or deactivated at this same time. Preferably, the plurality of data fields that an entity can directly enter include: product name, product quantity, product description, vendor images, and other metadata such as lab results. If any product information is entered directly and a template is chosen at the same time, the information saved directly will have priority and will be displayed to the public and will fall back to the template data for any fields with data not entered directly. Directly entered product information can be edited and changed at any point in time.

[0024] In a number of embodiments, the admin and/or member electronic database employs blockchain technology. Preferably, an entity has the ability to enable or disable blockchain support at any time. When an entity enables blockchain support for the first time, a new Ed25519 keypair is generated for the entity and stored in the member electronic database, to allow posting of transactions on the blockchain.

[0025] When activating a serial, an entity can either activate an entire register or a select group of serial numbers. In one embodiment, serial numbers can also be activated at the time of adding or updating one of the plurality of data fields. If blockchain support is enabled for the entity, one additional step occurs after updating the serial(s) record(s). A new job is added to a work queue for each selected serial number, with the task of recording the new status on the blockchain. If the serial doesn’t exist or is not registered on the blockchain, a new transaction is created using the user’s keypair and records the immutable serial number, the mutable activation status, the mutable activation timestamp, and other mutable metadata such as notes or recall warnings on the blockchain. The transaction ID is subsequently recorded in the serial(s) record(s) in the members electronic database for reference.

[0026] If the serial number exists or is currently registered on the blockchain, a new transaction is created using the user’s keypair with a pointer to the latest transaction ID (obtained from the serial(s) record(s) in the traditional database) of that serial and records the new activation status, activation timestamp, and other metadata such as notes or recall warnings on the blockchain. The new transaction ID is then recorded in the serial(s) record(s) (in the traditional database) for reference. The entire transaction history of a serial number can be viewed on the blockchain.

[0027] To deactivate a serial, the entity selects a single serial number or a group of serial numbers and indicates in the member electronic database that said serial number(s) are to be deactivated. If blockchain support is enabled for the entity, one additional step occurs. A new job is added to a work queue for each selected serial with the task of recording the new status on the blockchain. If the serial doesn’t exist or is not registered on the blockchain, nothing is recorded on the blockchain. A serial number is only registered for the first time on the blockchain when it is activated, not deactivated.

[0028] If the serial number exists or is currently registered on the blockchain, a new transaction is created using the entity’s keypair with a pointer to the latest transaction ID, which is obtained from the serial number record(s) in the member electronic database, of that serial and records the new activation status, activation timestamp, and other metadata such as notes or recall warnings on the blockchain. The new transaction ID is then recorded in the serial number record(s) in the member electronic database for reference.

[0029] To verify a serial number, a two-step process occurs. The first step involves scanning an optical identifier such as a QR code or other 2D or 3D data matrix code displayed on the tag.

Preferably the tag is holographic and contains an obscured authentication code. In other embodiments, an end-user may enter the serial number displayed on the tag manually on a smartphone or handheld or desktop computer device using some type of keyboard input (hardware or software). In the case of scanning the QR code, the end-user uses any QR code reader application to read the QR code on the tag, which then makes a request to the member electronic database server via the URI encoded in the QR code or other optical identifier. The associated server then processes the request and queries the member electronic database for the serial number. If the proper conditions are met (i.e., the serial number exists and is active), the system in accordance with the present disclosure returns the product information to be displayed on the handheld device, along with an input field to complete the second step of the verification process. A log of the “view” activity is then recorded to the database, including metadata such as location of the verification request. If the conditions are not met, an error message is returned by the system to be displayed to the end-user. In a highly preferred embodiment, the optical identifier is scanned by a software application that is part of the system in accordance with the present disclosure, which utilizes additional anti-counterfeiting safeguards such as checking the format and pattern of the encoded URI as well as the format and pattern of the serial number contained in the URI.

[0030] The second step of the verification process includes revealing an obscured authentication code located on the tag. Preferably this is revealed by scratching a scratch-off area to unobscure the code on the tag. The unobscured authentication code is then entered in a web portal operatively connected to the member electronic database and the admin electronic database. When the unobscured authentication code is entered and submitted, a request is made to the system in accordance with the present disclosure, where the request is processed by querying the admin and member electronic databases for that serial number and subsequently checks the record to make sure the conditions are met (i.e., the submitted authentication code matches what is contained in the serial number table) and returns a success message to be displayed to the end-user via the web portal. A log of the verification activity is then recorded to the database, including metadata such as location. If the authentication code does not match, a message is returned to be displayed to the end-user via the web portal, informing the end-user of the lack of provenance of their purchased product.

[0031] In an alternate embodiment, the verification process can be performed in a different manner. In this embodiment, the system generates the HMAC of the serial number at the time of the verification request which is compared to the entered value. If there is a match, a success message is returned to the end-user to be displayed through the web portal. If the submitted code doesn’t match the generated HMAC, an error message is returned. The benefit of this system is the ability to not store authentication codes in the electronic database. Should said database be compromised, only the serial numbers would be able to be extracted and not the authentication codes.

[0032] If blockchain support is enabled, one additional step occurs during the first part of the verification process. When an end-user begins the verification request, the system processes the request and queries the database to make sure the proper conditions are met (i.e., that the serial number exists and is active), and in addition, retrieves the latest blockchain transaction ID from the serial record in the member electronic database. The server then queries the blockchain for that transaction ID and compares the activation status on the blockchain with the status in that serial number’s record in the member electronic database. If the statuses and timestamps on both the blockchain and member electronic database match, the product information is returned to be displayed, along with an input field to complete the second step of the verification process. If the activation status and timestamps don’t match, an error message is returned to the end-user.

[0033] Various embodiments exist where serial numbers are single-use. That is, when enabled, if a serial has been verified one or more times using the authentication code, any subsequent attempts at scanning the optical identifier on the tag, entering the serial number manually via keyboard input, or re-submission of the authentication code results in an error message being displayed to the end-user. When the request is made to the server to validate a serial number, the server processes the request and queries the database for the serial number data, including view and verification count. The system’s application logic then compares the verification count to the set threshold, and if the verification count is greater or equal to the threshold, the system returns an error message to be displayed to the end-user via a web portal or software application. [0034] In yet another embodiment, the system is configured to provide real-time, active monitoring of the tags, providing both entities and end-users with alerts of select events in realtime. Such events can include anomalies in serial activity such when a serial reaches a set threshold of views or when a tag is scanned or verified in a specific region.

[0035] In a highly preferred embodiment, the tag comprises serialized heat shrink wrapping.

[0036] It is understood that when an element is referred hereinabove as being “on” another element, it can be directly on the other element or intervening elements may be present therebetween. In contrast, when an element is referred to as being “directly on” another element, there are no intervening elements present.

[0037] Moreover, any components or materials can be formed from a same, structurally continuous piece or separately fabricated and connected.

[0038] It is further understood that, although ordinal terms, such as, “first,” “second,” “third,” are used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer and/or section from another element, component, region, layer and/or section. Thus, “a first element,” “component,” “region,” “layer” and/or “section” discussed below could be termed a second element, component, region, layer and/or section without departing from the teachings herein. [0039] Features illustrated or described as part of one embodiment can be used with another embodiment and such variations come within the scope of the appended claims and their equivalents. [0040] Spatially relative terms, such as “beneath,” “below,” “lower,” “above,” “upper” and the like, are used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. It is understood that the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, the example term “below” can encompass both an orientation of above and below. The device can be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.

[0041] Example embodiments are described herein with reference to cross section illustrations that are schematic illustrations of idealized embodiments. As such, variations from the shapes of the illustrations, for example, of manufacturing techniques and/or tolerances, are to be expected. Thus, example embodiments described herein should not be construed as limited to the particular shapes of regions as illustrated herein, but are to include deviations in shapes that result, for example, from manufacturing. For example, a region illustrated or described as flat may, typically, have rough and/or nonlinear features. Moreover, sharp angles that are illustrated may be rounded. Thus, the regions illustrated in the figures are schematic in nature and their shapes are not intended to illustrate the precise shape of a region and are not intended to limit the scope of the present claims.

[0042] These computer-executable program instructions may be loaded onto a general-purpose computer, a special-purpose computer, a processor, or other programmable data processing apparatus to produce a particular machine, such that the instructions that execute on the computer, processor, or other programmable data processing apparatus create means for implementing one or more functions specified in the flow diagram block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement one or more functions specified in the flow diagram block or blocks. As an example, embodiments of the invention may provide for a computer program product, comprising a computer-usable medium having a computer-readable program code or program instructions embodied therein, said computer-readable program code adapted to be executed to implement one or more functions specified in the flow diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer- implemented process such that the instructions that execute on the computer or other programmable apparatus provide elements or steps for implementing the functions specified in the flow diagram block or blocks.

[0043] Accordingly, blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, can be implemented by special-purpose, hardware-based computer systems that perform the specified functions, elements or steps, or combinations of special purpose hardware and computer instructions. [0044] As the invention has been described in connection with what is presently considered to be the most practical and various embodiments, it is to be understood that the invention is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

[0045] This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined in the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.

[0046] In conclusion, herein is presented an anti-counterfeiting system and method of use. In particular, the present disclosure provides for an anti-counterfeiting system to be used by members of the public to verify the provenance of the goods of others. The disclosure is illustrated by example in the drawing figures, and throughout the written description. It should be understood that numerous variations are possible, while adhering to the inventive concept. Such variations are contemplated as being a part of the present disclosure.