Authenticity verification system and methods of use

A system and associated methods for dynamically authenticating an at least one object are disclosed. In at least one embodiment, upon a user desiring to verify the authenticity of a given object via an at least one user device, a public identifier of a corresponding rewritable memory device attached to the object is obtained by the user device and transmitted to a central computing system. Upon determining that the public identifier is present in an at least one database maintained by the central computing system, select details related to the object, as stored in the at least one database, are transmitted to the user device. Additionally, a new public identifier is generated and transmitted to the corresponding rewritable memory device of the object so as to overwrite the previous public identifier stored thereon.

BACKGROUND

The subject of this patent application relates generally to authentication systems, and more particularly to an authenticity verification system and associated methods of use for dynamically authenticating a given physical or virtual object via a rewritable memory device attached to said object.

Applicant(s) hereby incorporate herein by reference any and all patents and published patent applications cited or referred to in this application.

By way of background, in today's highly competitive global marketplace, counterfeiting has become a sad reality. With the ever increasing availability of technological means to malicious entities, many items in our everyday life have become targets for counterfeiting. To name a few, currencies, name brands, general consumer goods, pharmaceuticals, foods, beverages, legal documents, certificates of achievements, and personal identification cards are all targeted and successfully reproduced by such malicious entities to their financial benefit and the deception of the general public.

The ability to determine the genuineness of an item or product has become a requirement in modern commerce. For example, there are many companies, especially high-end name brand companies, whose products are purchased mainly because of consumer recognition of the company name. Consumers trust that products manufactured by a well-known, established companies will meet a certain level of quality. As a result of this, unscrupulous or criminal companies and individuals make copies or knock-offs of these name brand products. Therefore, the actual name brand companies/manufacturers must take measures to establish that products sold under their name are genuine.

This phenomena leaves the average person unaware and vulnerable to counterfeits. In cases of ingestibles, such as pharmaceuticals and food products, counterfeits pose real public health risks, in addition to financial waste for consumers and manufacturers.

Intellectual property is up for the grab of the criminal entities, leaving the honest and creative companies with enormous financial loss and frustration that hinders further innovation.

This problem is even more prevalent in second and third world countries where labor and materials are less expensive and intellectual property laws are looser and frequently not enforced. The counterfeit items are often extremely hard to distinguish from originals, making the unaware consumers victims of fraud.

There have been numerous attempts to solve this counterfeiting problem. One such method is the attachment of a radio frequency identification (“RFID”) tag to an item. The RFID tag contains a unique ID that can be scanned by an authenticating device and verified against a database to establish its authenticity. While this method has been somewhat effective, there is still an inherent problem associated with the use of RFID tags. The tag itself can be reverse engineered and cloned an infinite number of times. All fraudulent copies would still be recognized by the authenticating device as authentic, thus implying that the underlying item is authentic as well. While it may not be a simple task to hack and clone a protected RFID tag or other rewriteable memory device, it is technically feasible. The process of hacking and cloning is a “one-time investment” for the malicious entity. Once it has been done, it can be an easily repeatable process, making the initial investment worthwhile. Thus, there remains a need for an effective authenticity verification system capable of preventing such workarounds.

Aspects of the present invention fulfill these needs and provide further related advantages as described in the following summary.

SUMMARY

The present invention solves the problems described above by providing an authenticity verification system for dynamically authenticating an at least one physical or virtual object. In at least one embodiment, upon a user desiring to verify the authenticity of a given object via an at least one user device, a public identifier of a corresponding rewritable memory device attached to said object is obtained by said user device and transmitted to a central computing system. Upon determining that the public identifier is present in an at least one database maintained by the central computing system, select details related to said object, as stored in the at least one database, are transmitted to said user device. Additionally, a new public identifier is generated and transmitted to the corresponding rewritable memory device of said object so as to overwrite the previous public identifier stored thereon.

The above described drawing figures illustrate aspects of the invention in at least one of its exemplary embodiments, which are further defined in detail in the following description. Features, elements, and aspects of the invention that are referenced by the same numerals in different figures represent the same, equivalent, or similar features, elements, or aspects, in accordance with one or more embodiments.

DETAILED DESCRIPTION

Turning now toFIG. 1, there is shown a simplified schematic view of an exemplary authenticity verification system20for dynamically authenticating an at least one physical or virtual object22. In at least one embodiment, the system20provides a central computing system24, an at least one user device26associated with an at least one user, and an at least one rewritable memory device28associated with the at least one object22. As discussed further below, in at least one embodiment, the computing system24is in selective communication with the at least one user device26, with the computing system24being configured for receiving and processing data related to the at least one object22. Additionally, in at least one embodiment, an at least one database30is in communication with the computing system24and configured for selectively storing said data related to the at least one object22. In at least one embodiment, the computing system24and database30are one and the same—as such, it is intended that those terms as used herein are to be interchangeable with one another. In at least one embodiment, the computing system24and database30are omitted, such that the system20and associated methods described herein are implemented solely through the at least one user device26and the at least one rewritable memory device28—thus, any methods or functionality described herein as being carried out by the computing system24or database30may, in at least one embodiment, also be carried out by the at least one user device26and/or the at least one rewritable memory device28, regardless of whether such embodiments nevertheless incorporate the computing system24and/or database30.

At the outset, it should be noted that communication between each of the computing system24, at least one user device26, at least one rewritable memory device28, and at least one database30may be achieved using any wired- or wireless-based communication protocol (or combination of protocols) now known or later developed. As such, the present invention should not be read as being limited to any one particular type of communication protocol, even though certain exemplary protocols may be mentioned herein for illustrative purposes. Similarly, in at least one embodiment, communications between each of the computing system24, at least one user device26, at least one rewritable memory device28, and at least one database30may be encrypted using any encryption method (or combination of methods) now known or later developed. It should also be noted that the term “user device” is intended to include any type of computing or electronic device now known or later developed—such as desktop computers, mobile phones, smartphones, laptop computers, tablet computers, personal data assistants, gaming devices, etc.—capable of substantially carrying out the functionality described herein. As such, the present invention should not be read as being limited to use with any one particular type of computing or electronic device, even though certain exemplary devices may be mentioned or shown herein for illustrative purposes. It should also be noted that, in at least one embodiment, the term “object” is intended to generally include any type of physical (living or non-living) or virtual object, now known or later developed.

With continued reference toFIG. 1, in the exemplary embodiment, each of the computing system24, at least one user device26, at least one rewritable memory device28, and at least one database30contains the hardware and software necessary to carry out the exemplary methods for dynamically authenticating the at least one object22, as described herein. Furthermore, in at least one embodiment, the computing system24comprises a plurality of computing devices selectively working in concert with one another to carry out the exemplary methods for dynamically authenticating the at least one object22, as described herein. In at least one embodiment, the at least one user device26provides a user application32residing locally in memory34on the user device26, the user application32being configured for selectively communicating with at least one of the computing system24and the at least one rewritable memory device28, as discussed further below. Accordingly, then, in at least one embodiment, the at least one user device26is in the possession of a user who is desirous of verifying the authenticity of the at least one object22. It should be noted that the term “memory,” as it relates to the at least one user device26, is intended to include any type of electronic storage medium (or combination of storage mediums) now known or later developed, such as local hard drives, RAM, flash memory, secure digital (“SD”) cards, external storage devices, network or cloud storage devices, integrated circuits, etc. Additionally, the term “rewritable memory device” is intended to include any type of computing or electronic device, now known or later developed, containing a sufficient amount of rewritable memory—such as radio frequency identification (“RFID”) tags, hard drives, RAM, flash memory, secure digital (“SD”) cards, etc.—capable of substantially carrying out the functionality described herein. As such, the present invention should not be read as being limited to use with any one particular type of rewritable memory device28, even though certain exemplary devices may be mentioned or shown herein for illustrative purposes.

In at least one embodiment, the various components of the at least one user device26may reside on a single computing and/or electronic device, or may separately reside on two or more computing and/or electronic devices in communication with one another. In at least one embodiment, the functionality provided by the user application32resides remotely in memory on the computing system24and/or database30, with each user device26capable of accessing said functionality via an online portal hosted by the computing system24and/or database30, either in addition to or in lieu of the user application32residing locally in memory34on the at least one user device26. It should be noted that, for simplicity purposes, the functionality provided by the user application32will be described herein as such—even though certain embodiments may provide said functionality through an online portal. It should also be noted that, for simplicity purposes, when discussing functionality and the various methods that may be carried out by the system20herein, the terms “user device” and “user application” are intended to be interchangeable.

With continued reference toFIG. 1, in at least one embodiment, the at least one user device26provides an at least one display screen36for providing an at least one graphical user interface to assist the associated user in possession of said user device26to utilize the various functions provided by the system20. Additionally, in at least one embodiment, the at least one user device26provides an at least one user transceiver38configured for selectively communicating with a corresponding memory transceiver40of the at least one rewritable memory device28, thereby allowing the user device26to selectively read and write data to a memory42of the at least one rewritable memory device28, as discussed further below. For example, where the at least one rewritable memory device28is an RFID tag, the user and memory transceivers38and40may utilize near-field communication (“NFC”), or alternatively may be a high frequency (“HF”) RFID reader/writer. Ultimately, the particular types of user and memory transceivers38and40is dependent upon the type of rewritable memory device28being used by the system20. As such, the present invention should not be read as being limited to use with any one particular type of user transceiver38and/or memory transceiver40, even though certain exemplary types of transceivers may be mentioned or shown herein for illustrative purposes.

As illustrated in the architecture diagram ofFIG. 3and discussed in greater detail below, in at least one embodiment, the memory42of the at least one rewritable memory device28contains at least one of a unique device identifier44, a unique public identifier46(such as a string of alphanumeric characters, for example) and a character count48representing the number of characters successfully written into the current public identifier46value, as discussed in detail below. Additionally, in at least one embodiment, as illustrated inFIG. 4, the at least one database30—or, alternatively, the computing system24—provides an at least one lookup table50containing details related to the at least one rewritable memory device28, including at least one of the public identifier46currently associated with each of the at least one rewritable memory device28, an at least one previous public identifier47associated with each of the at least one rewritable memory device28(i.e., the public identifier that was associated with each of the at least one rewritable memory device28immediately prior to said current public identifier46), and a unique access key52associated with each of the at least one rewritable memory device28, as discussed further below. In at least one embodiment, as illustrated inFIG. 5, the at least one database30—or, alternatively, the computing system24—further provides an at least one authentication table54containing details related to the at least one object22, including at least one of the public identifier46and device identifier48associated with the corresponding rewritable memory device28, a timestamp58containing a date and/or time at which the public identifier46was saved to the rewritable memory device28, a unique object identifier56(such as a serial number, for example), an object name60(such as a brand name and/or model name, for example), and an object image62(such as a product photo, for example). It should be noted that, in at least one embodiment, the lookup table50and the authentication table54are a single table. It should also be noted that while the term “table” is used herein to describe certain exemplary data structures, in at least one embodiment, any other suitable data type or data structure, or combinations thereof, now known or later developed, capable of storing the appropriate data, may be substituted. Thus, the present invention should not be read as being so limited.

As discussed in detail below, the system20may be utilized in a variety of contexts, where it is desirable to allow the at least one user to verify the authenticity of the at least one object22. In each such context, as illustrated inFIG. 2, the at least one rewritable memory device28is attached to or otherwise associated with a one of the at least one object22. In other words, in at least one embodiment, the system20utilizes a one-to-one relationship between rewritable memory devices28and objects22(i.e., a separate rewritable memory device28for each object22). Thus, in at least one embodiment, where the at least one object22is a physical/tangible item, the corresponding at least one rewritable memory device28is physically attached or otherwise affixed to said object22in any form or method now known or later developed. For example, where a given object22is a retail item, such as a handbag, the corresponding rewritable memory device28may be incorporated into a hang tag, or even the associated retailer's price tag. In at least one further example, the rewritable memory device28may be physically embedded within the corresponding object22. In at least one embodiment, where the at least one object22is a virtual item (i.e., a non-physical digital or electronic item), the corresponding at least one rewritable memory device28may be virtual as well, through software implementation. For simplicity purposes, the term “attach” (or “attached”) is used herein to describe these various physical and virtual connections between the rewritable memory device28and the corresponding object22. Typically, a given rewritable memory device28is attached to the corresponding object22by the manufacturer of said object22; however, in some cases, other individuals or entities—such as vendors, distributors, sales personnel, retail management, wholesale management or even consumers—may attach the rewritable memory device28(especially since any or all of these individuals or entities can benefit from using the system20).

It should be noted that the below described applications of the system20are merely exemplary and are being provided herein for illustrative purposes. As such, the system20and associated methods described herein should not be read as being so limited, but instead can be utilized in any context, now known or later conceived, where there is a need for verifying the authenticity of the at least one object22.

In at least one embodiment, as illustrated in the flow diagram ofFIG. 6, upon a new object22being registered with the system20(i.e., to allow the at least one user to subsequently verify the authenticity of the object22), the computing system24first creates an entry in the lookup table50for the associated rewritable memory device28(602), including at least one of the public identifier46, previous public identifier47, and device identifier44of the rewritable memory device28, and a randomly generated access key52used to restrict write access to the rewritable memory device28, as discussed further below. The new public identifier46(to be associated with the rewritable memory device28and, in turn, the corresponding object22) is generated and saved in a corresponding entry of the lookup table50and authentication table54(604), along with any other desired information related to the corresponding object22, as mentioned above. The public identifier46is then transmitted to and saved on the rewritable memory device28. In at least one embodiment, in order to prevent data corruption, the rewritable memory device28maintains the character count48value which represents the number of characters successfully written into the public identifier46value on the rewritable memory device28. Accordingly, in at least one such embodiment, prior to transmitting the public identifier46value, the character count48is first set to zero (606). As each character is subsequently written into the public identifier46value, the character count48value is increased by one (608). In at least one such embodiment, and as discussed further below, where less than the entire public identifier46value is transmitted to the rewritable memory device in a given data packet, tracking the number of characters successfully written helps ensure that an incomplete public identifier46(where, for example, one or more characters of the public identifier46value do not reach the rewritable memory device, such as due to a loss of communication or a failure of the communication protocol) will nevertheless be recognized by the computing system24. For example, if the public identifier46value has a length of 10 characters, a character count48value of anything other than “10” would indicate that less than the entire the public identifier46value was written to the rewritable memory device28. The purpose of the character count48is discussed further below. It should be noted that, in at least one further embodiment, any other method for preventing data corruption, now known or later developed, may be substituted. In at least one embodiment, upon transmitting the public identifier46to the rewritable memory device28, the computing system24stores a corresponding timestamp58in the authentication table54(610). In at least one embodiment, the rewritable memory device28and its associated object22are then made available/accessible to the at least one user (such as a consumer, for example).

As illustrated in the flow diagram ofFIG. 7, in at least one embodiment, through the user application32residing either locally in memory34on the at least one user device26or remotely on the computing system24and/or database30, upon an associated user of the at least one user device26desiring to verify the authenticity of a given object22, the user application32obtains the public identifier46and device identifier44of the corresponding rewritable memory device28along with the character count48(702). In at least one embodiment, where the given object22is a physical item, the user device26is placed in sufficient proximity to the rewritable memory device28so that the user transceiver38is capable of communicating with the memory transceiver40; though, even with physical items, the need for the user device26to be placed in sufficient proximity to the rewritable memory device28is dependent upon the particular communication protocol being utilized (i.e., proximity is not required in every such embodiment). Once the user application32has obtained the public identifier46, device identifier44and character count48, the user application32transmits the public identifier46, device identifier44and character count48to the computing system24by way of an authentication request (704). The computing system24accesses the lookup table50based on the transmitted public identifier46. If the public identifier46is not found in the lookup table50(706), the computing system24attempts to access the lookup table50again (708), but this time based only on a portion of the public identifier46, wherein said portion contains the first X successive characters of the public identifier46value, where X equals the character count48value. In at least one further embodiment, rather than first trying to search the lookup table50for the entire public identifier46, the computing system24instead first determines whether the transmitted public identifier46even contains a complete public identifier46value, which it is able to determine based on the transmitted character count48—i.e., if the transmitted character count48value is not equal to the size/length of the transmitted public identifier46, then the transmitted public identifier46is incomplete. Upon determining that the transmitted public identifier46is complete (based on the transmitted character count48), the computing system24accesses the lookup table50based on the entire transmitted public identifier46. Otherwise, upon determining that the transmitted public identifier46is incomplete (again, based on the transmitted character count48), the computing system24accesses the lookup table50based on said portion of the transmitted public identifier46.

In a bit more detail, in at least one embodiment, where less than all of the characters of the public identifier46were written to the rewritable memory device28, the public identifier46stored on the rewritable memory device28would consist of a portion of the current public identifier46followed by a portion of the previous public identifier47. For example, if the public identifier46value on the rewritable memory device28is “A1B2C3D4E5” (i.e., consisting of 10 characters total) and the public identifier46is to be overwritten with a new value of “F6G7H8I9J0” (the purpose for which is discussed further below), but the computing system24subsequently determines that the character count48is only “5” (i.e., only the first 5 characters of the new public identifier46value were successfully written to the rewritable memory device28, leaving the remaining 5 characters of the previous public identifier47intact), this means that a first portion (i.e., the first 5 characters, in this example) of the public identifier46value on the rewritable memory device28is “F6G7H” while a second portion (i.e., the remaining characters) of the public identifier46would consist of the previous public identifier47characters “3D4E5,” thus making the public identifier46value “F6G7H3D4E5.”

With this in mind, referring again toFIG. 7, in at least one such embodiment, the computing system24attempts to access the lookup table50based on a first portion of the transmitted public identifier46, where said first portion consists of the first X successive characters of the transmitted public identifier46—again, where X equals the character count48value. If the first portion of the transmitted public identifier46is not found in the lookup table50(708), the computing system24transmits an error message to the user application32(712)—indicating that the public identifier46does not exist in the system20—which is then presented to the user via the display screen36of the user device26(or via audible cues, tactile cues, or any other form of feedback, now known or later developed in at least one further embodiment).

Otherwise, if the first portion of the transmitted public identifier46is found in the lookup table50(708), the computing system24next compares a second portion of the transmitted public identifier46against a corresponding second portion of the associated previous public identifier47in the lookup table50(710), where said second portion consists of the remaining characters of the transmitted public identifier46. If the second portion of the transmitted public identifier46does not match the corresponding second portion of the associated previous public identifier47in the lookup table50, the computing system24transmits an error message to the user application32(718)—indicating that the public identifier46does not exist in the system20—which is then presented to the user via the display screen36of the user device26(or via audible cues, tactile cues, or any other form of feedback, now known or later developed in at least one further embodiment).

In at least one embodiment, if the computing system24determines that the transmitted public identifier46does not exist in the at least one database30, it performs a search of all previous public identifier47values in the at least one database30to determine whether the transmitted public identifier46may have previously been used by another rewritable memory device28(712)—specifically, by an unauthorized clone of the rewritable memory device28. For example, if an unauthorized clone of a given rewritable memory device28is produced by a counterfeiter—such as in a scenario where a counterfeit version of the corresponding object22has been produced, along with a counterfeit version of the rewritable memory device28—then the counterfeiter scans the cloned rewritable memory device28first so that the computing system24issues a new public identifier46for it, the original rewritable memory device28would be rendered invalid (because the original rewritable memory device28now has an outdated public identifier46that is no longer reflected as being a current public identifier46in the at least one database30), while the cloned rewritable memory device28(and, in turn, the corresponding counterfeit object22) would be viewed by the computing system24as valid/authentic. To better prevent against this scenario, in at least one embodiment, upon discovering one or more previous public identifier47values in the at least one database30matching the transmitted public identifier46(712), the computing system24next determines whether the corresponding device identifier44of said at least one previous public identifier47matches the transmitted device identifier44(714). Upon determining that the device identifier44of said at least one previous public identifier47matches the transmitted device identifier44, the computing system24concludes that the associated rewritable memory device28has been cloned and flags the corresponding public identifiers46in the at least one database as “compromised” or “invalid” (716), so that the at least one user will be notified of the counterfeit status should any of the cloned rewritable memory devices28be scanned in the future.

If the public identifier46is found in the lookup table50—again, either the entire public identifier46(706) or, alternatively (in at least one embodiment), the respective first and second portions of the public identifier46(708,710), as discussed above—the computing system24determines whether the transmitted public identifier46or device identifier44have been flagged as being compromised in the at least one database30(720) and, if so, transmits an appropriate notification to the user application32(718). In at least one embodiment, the computing system24also determines whether the transmitted device identifier44matches the device identifier46associated with the corresponding public identifier46found in the lookup table50. If the transmitted device identifier44does not match said device identifier46in the lookup table50, the computing system24transmits an error message to the user application32—indicating that the public identifier46does not exist in the system20for the particular rewritable memory device48associated with the transmitted device identifier44—which is then presented to the user via the display screen36of the user device26(or via audible cues, tactile cues, or any other form of feedback, now known or later developed in at least one further embodiment).

If neither the public identifier46nor device identifier44have been flagged as being compromised, the computing system24accesses the corresponding data in the authentication table54and transmits the desired information associated with the corresponding object22to the user application32(722), such as the object name60and object image62, which may then be displayed on the display screen36of the user device26. Accordingly, the user is able to visually compare the displayed information against the object22to which the rewritable memory device28is attached—and if the information corresponds to the object22, then the authenticity of the object22has been verified.

In at least one embodiment, the computing system24also generates a new public identifier46(724), updates the corresponding public identifier46and previous public identifier47values, along with the timestamp58, in the lookup table50and authentication table54(726), and transmits the new public identifier46to the user application32(728). The user application32then sets the character count48to zero (730) and begins transmitting the new public identifier46to the rewritable memory device28(732), thereby overwriting the previously saved public identifier46thereon. Again, as each character is subsequently written into the public identifier46value, the character count48value is increased by one. In this way, in at least one such embodiment, the “one time only use” of a given public identifier46better ensures that a given public identifier46will, in most cases, not be used twice by the system20. Preferably, in at least one embodiment, the system20is a closed system which allows the uniqueness of the public identifiers46and functionality to be guaranteed. In at least one embodiment, the computing system also transmits the associated access key52to the user application32, to temporarily grant the user application32write access to the rewritable memory device28. In at least one embodiment, where the given object22is a physical item, the user device26is placed in sufficient proximity to the rewritable memory device28so that the user transceiver38is capable of transmitting the new public identifier46and corresponding character count48to the memory transceiver40; though, again, even with physical items, the need for the user device26to be placed in sufficient proximity to the rewritable memory device28is dependent upon the particular communication protocol being utilized (i.e., proximity is not required in every such embodiment).

In at least one embodiment, if the user application32is unable to transmit the new public identifier46to the rewritable memory device28—for example, if the associated user device26is no longer in sufficient proximity to the rewritable memory device28—the public identifier46, while left unchanged on the rewritable memory device28, will nevertheless be locatable in the lookup table50and the authentication table54the next time a user desires to verify the authenticity of the associated object22, given that the public identifier46on the rewritable memory device will match the previous public identifier47in the lookup table50. And if the user application32is only able to transmit a portion of the new public identifier46to the rewritable memory device28, the combination of the new public identifier46and previous public identifier47will also nevertheless be locatable in the lookup table50the next time a user desires to verify the authenticity of the associated object22, as discussed in detail above.

Thus, in at least one embodiment, the system20is tamperproof in that if any tampering occurs, electronically or physically, the system20is rendered un-usable. Even if a rewritable memory device28is cloned (or otherwise counterfeited/copied), the cloned rewritable memory device28can only be used until any such cloned rewritable memory device28is scanned by the user application32, which will overwrite a new public identifier46received from the computing system24onto the rewritable memory device28, thereby leaving any other of the cloned rewritable memory devices28with an incorrect (outdated) public identifier46. One advantage, then, is that hacking and cloning of one rewritable memory device28cannot be scaled to a mass production of counterfeit rewritable memory devices28, since the rewritable memory devices28have a one-to-one relationship with the corresponding objects22; thereby rendering the counterfeiting process extremely expensive and impractical. Accordingly, in at least one embodiment, the system20provides a secure, easy to use and implement, and cost effective solution to the problem of determining whether a physical or virtual item or product is genuine.

Aspects of the present specification may also be described as follows:

1. A method for dynamically authenticating an at least one object, the method comprising the steps of: implementing a central computing system configured for receiving and processing data related to the at least one object; implementing an at least one rewritable memory device attached to each of the at least one object, the at least one rewritable memory device configured for storing at least a unique public identifier, a unique device identifier, and a character count representing the number of characters of the public identifier successfully transmitted to the rewritable memory device; maintaining the public identifier, an at least one previous public identifier, and the device identifier of each of the at least one rewritable memory device, and select details related to the corresponding at least one object, in an at least one database in communication with the computing system; implementing a user application residing in memory on an at least one user device under the control of an at least one user, the at least one user device in selective communication with each of the computing system and the at least one rewritable memory device; and upon a one of the at least one user desiring to verify the authenticity of a one of the at least one object via the corresponding user device: obtaining, via said user device, the public identifier, device identifier, and character count of the corresponding rewritable memory device of said object; transmitting the public identifier, device identifier, and character count to the computing system; upon determining that the transmitted public identifier is complete: upon determining that the transmitted public identifier matches any of the at least one public identifier stored in the at least one database, authenticating the transmitted public identifier; upon determining that the transmitted public identifier does not match any of the at least one public identifier stored in the at least one database, invalidating the transmitted public identifier; upon determining that the transmitted public identifier is incomplete: identifying a first portion of the transmitted public identifier, said first portion consisting of an initial X successive characters contained in the transmitted public identifier, where X equals the character count; upon determining that the first portion of the transmitted public identifier matches a corresponding first portion of at least one of the at least one public identifier stored in the at least one database: identifying a second portion of the transmitted public identifier, said second portion consisting of any remaining characters of the transmitted public identifier; comparing the second portion of the transmitted public identifier with the corresponding second portion of each previous public identifier associated with said at least one matched public identifier stored in the at least one database; upon determining that the second portion of the transmitted public identifier matches a corresponding second portion of said at least one previous public identifier, authenticating the transmitted public identifier; and upon determining that the second portion of the transmitted public identifier does not match a corresponding second portion of any of said at least one previous public identifier, invalidating the transmitted public identifier; and upon determining that the first portion of the transmitted public identifier does not match a corresponding first portion of any of the at least one public identifier stored in the at least one database, invalidating the transmitted public identifier; upon authenticating the transmitted public identifier: transmitting select details related to said object, as stored in the at least one database, to said user device; generating a new public identifier; updating the public identifier and previous public identifier in the at least one database; transmitting the new public identifier to said user device; setting the character count of the corresponding rewritable memory device of said object to zero via said user device; transmitting the new public identifier, via said user device, to said rewritable memory device; and sequentially incrementing said character count, via said user device, as each character of said new public identifier is successfully written to said rewritable memory device; and upon invaliding the transmitted public identifier, transmitting an error message to said user device.

2. The method according to embodiment 1, wherein the step of determining that the transmitted public identifier is complete further comprises the steps of: comparing the transmitted character count with a length of the transmitted public identifier; and upon determining that the transmitted character count is equal to the length of the transmitted public identifier, concluding that the transmitted public identifier is complete.

3. The method according to embodiments 1-2, wherein the step of determining that the transmitted public identifier is incomplete further comprises the step of: comparing the transmitted character count with a length of the transmitted public identifier; and upon determining that the transmitted character count is not equal to the length of the transmitted public identifier, concluding that the transmitted public identifier is incomplete.

4. The method according to embodiments 1-3, wherein the step of determining that the transmitted public identifier matches any of the at least one public identifier stored in the at least one database, further comprises the steps of: comparing the transmitted device identifier with the device identifier associated with said at least one matched public identifier stored in the at least one database; upon determining that the transmitted device identifier matches the device identifier associated with said at least one matched public identifier, authenticating the transmitted public identifier; and upon determining that the transmitted device identifier does not match the device identifier associated with any of said at least one matched public identifier, invalidating the transmitted public identifier.

5. The method according to embodiments 1-4, wherein the step of upon determining that the second portion of the transmitted public identifier matches a corresponding second portion of said at least one previous public identifier, further comprises the steps of: comparing the transmitted device identifier with the device identifier associated with said at least one previous public identifier; upon determining that the transmitted device identifier matches the device identifier associated with said at least one previous public identifier, authenticating the transmitted public identifier; and upon determining that the transmitted device identifier does not match the device identifier associated with any of said at least one previous public identifier, invalidating the transmitted public identifier.

6. The method according to embodiments 1-5, further comprising the steps of, upon invaliding the transmitted public identifier: upon determining that the transmitted public identifier matches any of the at least one previous public identifier stored in the at least one database: comparing the transmitted device identifier with the device identifier associated with said at least one matched previous public identifier stored in the at least one database; and upon determining that the transmitted device identifier matches the device identifier associated with said at least one matched previous public identifier, flagging the public identifier and device identifier as compromised.

7. The method according to embodiments 1-6, further comprising the steps of, upon authenticating the transmitted public identifier: upon determining that the transmitted public identifier has been flagged as compromised, transmitting an error message to said user device.

8. The method according to embodiment 1-7, wherein the step of obtaining the public identifier and character count of the corresponding rewritable memory device of said object, further comprises the step of placing the user device in sufficient proximity to the rewritable memory device so that a user transceiver of the user device is capable of communicating with a memory transceiver of the rewritable memory device.

9. The method according to embodiments 1-8, wherein the step of transmitting the new public identifier to the corresponding rewritable memory device of said object further comprises the step of placing the user device in sufficient proximity to the rewritable memory device so that the user transceiver of the user device is capable of communicating with the memory transceiver of the rewritable memory device.

10. The method according to embodiments 1-9, wherein the step of transmitting an error message to said user device further comprises the step of presenting the error message to said user via at least one of a visual, audible or tactile cue via said user device.

11. The method according to embodiments 1-10, wherein the step of transmitting select details related to said object to said user device further comprises the step of transmitting at least one of an object name and an object image.

12. The method according to embodiments 1-11, further comprising the step of presenting the select details related to said object via a display screen of said user device.

13. The method according to embodiments 1-12, further comprising the step of generating a unique access key associated with a given one of the at least one rewritable memory device, thereby restricting write access to said rewritable memory device.

14. The method according to embodiments 1-13, further comprising the step of generating a timestamp associated with each of the at least one public identifier stored in the at least one database, said timestamp containing at least one of a date and time at which said public identifier was generated.

15. A method for dynamically authenticating an at least one object, the method comprising the steps of: implementing a central computing system configured for receiving and processing data related to the at least one object; implementing an at least one rewritable memory device attached to each of the at least one object, the at least one rewritable memory device configured for storing at least a unique public identifier, a unique device identifier, and a character count representing the number of characters of the public identifier successfully transmitted to the rewritable memory device; maintaining the public identifier, an at least one previous public identifier, and the device identifier of each of the at least one rewritable memory device, and select details related to the corresponding at least one object, in an at least one database in communication with the computing system; implementing a user application residing in memory on an at least one user device under the control of an at least one user, the at least one user device in selective communication with each of the computing system and the at least one rewritable memory device; and upon a one of the at least one user desiring to verify the authenticity of a one of the at least one object via the corresponding user device: obtaining, via said user device, the public identifier, device identifier, and character count of the corresponding rewritable memory device of said object; transmitting the public identifier, device identifier, and character count to the computing system; upon determining that the transmitted public identifier matches any of the at least one public identifier stored in the at least one database, authenticating the transmitted public identifier; upon determining that the transmitted public identifier does not match any of the at least one public identifier stored in the at least one database: identifying a first portion of the transmitted public identifier, said first portion consisting of an initial X successive characters contained in the transmitted public identifier, where X equals the character count; upon determining that the first portion of the transmitted public identifier matches a corresponding first portion of at least one of the at least one public identifier stored in the at least one database: identifying a second portion of the transmitted public identifier, said second portion consisting of any remaining characters of the transmitted public identifier; comparing the second portion of the transmitted public identifier with the corresponding second portion of each previous public identifier associated with said at least one matched public identifier stored in the at least one database; upon determining that the second portion of the transmitted public identifier matches a corresponding second portion of said at least one previous public identifier, authenticating the transmitted public identifier; and upon determining that the second portion of the transmitted public identifier does not match a corresponding second portion of any of said at least one previous public identifier, invalidating the transmitted public identifier; and upon determining that the first portion of the transmitted public identifier does not match a corresponding first portion of any of the at least one public identifier stored in the at least one database, invalidating the transmitted public identifier; upon authenticating the transmitted public identifier: upon determining that the transmitted public identifier has been flagged as compromised, transmitting an error message to said user device; and upon determining that the transmitted public identifier has not been flagged as compromised: transmitting select details related to said object, as stored in the at least one database, to said user device; generating a new public identifier; updating the public identifier and previous public identifier in the at least one database; transmitting the new public identifier to said user device; setting the character count of the corresponding rewritable memory device of said object to zero via said user device; transmitting the new public identifier, via said user device, to said rewritable memory device; and sequentially incrementing said character count, via said user device, as each character of said new public identifier is successfully written to said rewritable memory device; and upon invaliding the transmitted public identifier: upon determining that the transmitted public identifier matches any of the at least one previous public identifier stored in the at least one database: comparing the transmitted device identifier with the device identifier associated with said at least one matched previous public identifier stored in the at least one database; and upon determining that the transmitted device identifier matches the device identifier associated with said at least one matched previous public identifier, flagging the public identifier and device identifier as compromised; and transmitting an error message to said user device.

16. An authenticity verification system for dynamically authenticating an at least one object, the system comprising: a central computing system configured for receiving and processing data related to the at least one object; an at least one rewritable memory device attached to each of the at least one object, the at least one rewritable memory device configured for storing at least a unique public identifier, a unique device identifier, and a character count representing the number of characters of the public identifier successfully transmitted to the rewritable memory device; an at least one database in communication with the computing system and configured for storing the public identifier, an at least one previous public identifier, and the device identifier of each of the at least one rewritable memory device, and select details related to the corresponding at least one object; an at least one user device under the control of an at least one user and in selective communication with each of the computing system and the at least one rewritable memory device, the at least one user device providing a user application residing in memory thereon; and wherein, upon a one of the at least one user desiring to verify the authenticity of a one of the at least one object via the corresponding user device, the system is configured for: obtaining, via said user device, the public identifier, device identifier, and character count of the corresponding rewritable memory device of said object; transmitting the public identifier, device identifier, and character count to the computing system; upon determining that the transmitted public identifier is complete: upon determining that the transmitted public identifier matches any of the at least one public identifier stored in the at least one database, authenticating the transmitted public identifier; upon determining that the transmitted public identifier does not match any of the at least one public identifier stored in the at least one database, invalidating the transmitted public identifier; upon determining that the transmitted public identifier is incomplete: identifying a first portion of the transmitted public identifier, said first portion consisting of an initial X successive characters contained in the transmitted public identifier, where X equals the character count; upon determining that the first portion of the transmitted public identifier matches a corresponding first portion of at least one of the at least one public identifier stored in the at least one database: identifying a second portion of the transmitted public identifier, said second portion consisting of any remaining characters of the transmitted public identifier; comparing the second portion of the transmitted public identifier with the corresponding second portion of each previous public identifier associated with said at least one matched public identifier stored in the at least one database; upon determining that the second portion of the transmitted public identifier matches a corresponding second portion of said at least one previous public identifier, authenticating the transmitted public identifier; and upon determining that the second portion of the transmitted public identifier does not match a corresponding second portion of any of said at least one previous public identifier, invalidating the transmitted public identifier; and upon determining that the first portion of the transmitted public identifier does not match a corresponding first portion of any of the at least one public identifier stored in the at least one database, invalidating the transmitted public identifier; upon authenticating the transmitted public identifier: transmitting at least one of an object name and an object image related to said object, as stored in the at least one database, to said user device; generating a new public identifier; updating the public identifier and previous public identifier in the at least one database; transmitting the new public identifier to said user device; setting the character count of the corresponding rewritable memory device of said object to zero via said user device; transmitting the new public identifier, via said user device, to said rewritable memory device; and sequentially incrementing said character count, via said user device, as each character of said new public identifier is successfully written to said rewritable memory device; and upon invaliding the transmitted public identifier, transmitting an error message to said user device.

17. The authenticity verification system according to embodiment 16, wherein the at least one rewritable memory device is an RFID tag.

18. The authenticity verification system according to embodiments 16-17, wherein the at least one user device provides an at least one user transceiver configured for selectively communicating with a corresponding memory transceiver of the at least one rewritable memory device.

19. The authenticity verification system according to embodiments 16-18, wherein each of the user transceiver and memory transceiver utilize a near-field communication protocol.

20. The authenticity verification system according to embodiments 16-19, wherein while determining that the transmitted public identifier is complete, the system is further configured for: comparing the transmitted character count with a length of the transmitted public identifier; and upon determining that the transmitted character count is equal to the length of the transmitted public identifier, concluding that the transmitted public identifier is complete.

21. The authenticity verification system according to embodiments 16-20, wherein while determining that the transmitted public identifier is incomplete, the system is further configured for: comparing the transmitted character count with a length of the transmitted public identifier; and upon determining that the transmitted character count is not equal to the length of the transmitted public identifier, concluding that the transmitted public identifier is incomplete.

22. The authenticity verification system according to embodiments 16-21, wherein while determining that the transmitted public identifier matches any of the at least one public identifier stored in the at least one database, the system is further configured for: comparing the transmitted device identifier with the device identifier associated with said at least one matched public identifier stored in the at least one database; upon determining that the transmitted device identifier matches the device identifier associated with said at least one matched public identifier, authenticating the transmitted public identifier; and upon determining that the transmitted device identifier does not match the device identifier associated with any of said at least one matched public identifier, invalidating the transmitted public identifier.

23. The authenticity verification system according to embodiments 16-22, wherein while determining that the second portion of the transmitted public identifier matches a corresponding second portion of said at least one previous public identifier, the system is further configured for: comparing the transmitted device identifier with the device identifier associated with said at least one previous public identifier; upon determining that the transmitted device identifier matches the device identifier associated with said at least one previous public identifier, authenticating the transmitted public identifier; and upon determining that the transmitted device identifier does not match the device identifier associated with any of said at least one previous public identifier, invalidating the transmitted public identifier.

24. The authenticity verification system according to embodiments 16-23, wherein upon invaliding the transmitted public identifier, the system is further configured for: upon determining that the transmitted public identifier matches any of the at least one previous public identifier stored in the at least one database: comparing the transmitted device identifier with the device identifier associated with said at least one matched previous public identifier stored in the at least one database; and upon determining that the transmitted device identifier matches the device identifier associated with said at least one matched previous public identifier, flagging the public identifier and device identifier as compromised.

25. The authenticity verification system according to embodiments 16-24, wherein upon authenticating the transmitted public identifier, the system is further configured for: upon determining that the transmitted public identifier has been flagged as compromised, transmitting an error message to said user device.

26. The authenticity verification system according to embodiments 16-25, wherein the while transmitting an error message to said user device, the system is further configured for presenting the error message to said user via at least one of a visual, audible or tactile cue via said user device.

27. The authenticity verification system according to embodiments 16-26, wherein while transmitting select details related to said object to said user device, the system is further configured for transmitting at least one of an object name and an object image.

28. The authenticity verification system according to embodiments 16-27, wherein the system is further configured for presenting the select details related to said object via a display screen of said user device.

29. The authenticity verification system according to embodiments 16-28, wherein the system is further configured for generating a unique access key associated with a given one of the at least one rewritable memory device, thereby restricting write access to said rewritable memory device.

30. The authenticity verification system according to embodiments 16-29, wherein the system is further configured for generating a timestamp associated with each of the at least one public identifier stored in the at least one database, said timestamp containing at least one of a date and time at which said public identifier was generated.

In closing, regarding the exemplary embodiments of the present invention as shown and described herein, it will be appreciated that an authenticity verification system and associated methods of use are disclosed and configured for dynamically authenticating a given physical or virtual object via a rewritable memory device attached to said object. Because the principles of the invention may be practiced in a number of configurations beyond those shown and described, it is to be understood that the invention is not in any way limited by the exemplary embodiments, but is generally directed to an authenticity verification system and is able to take numerous forms to do so without departing from the spirit and scope of the invention. It will also be appreciated by those skilled in the art that the present invention is not limited to the particular geometries and materials of construction disclosed, but may instead entail other functionally comparable structures or materials, now known or later developed, without departing from the spirit and scope of the invention.

When used in the claims, whether as filed or added per amendment, the open-ended transitional term “comprising” (along with equivalent open-ended transitional phrases thereof such as “including,” “containing” and “having”) encompasses all the expressly recited elements, limitations, steps and/or features alone or in combination with un-recited subject matter; the named elements, limitations and/or features are essential, but other unnamed elements, limitations and/or features may be added and still form a construct within the scope of the claim. Specific embodiments disclosed herein may be further limited in the claims using the closed-ended transitional phrases “consisting of” or “consisting essentially of” in lieu of or as an amendment for “comprising.” When used in the claims, whether as filed or added per amendment, the closed-ended transitional phrase “consisting of” excludes any element, limitation, step, or feature not expressly recited in the claims. The closed-ended transitional phrase “consisting essentially of” limits the scope of a claim to the expressly recited elements, limitations, steps and/or features and any other elements, limitations, steps and/or features that do not materially affect the basic and novel characteristic(s) of the claimed subject matter. Thus, the meaning of the open-ended transitional phrase “comprising” is being defined as encompassing all the specifically recited elements, limitations, steps and/or features as well as any optional, additional unspecified ones. The meaning of the closed-ended transitional phrase “consisting of” is being defined as only including those elements, limitations, steps and/or features specifically recited in the claim, whereas the meaning of the closed-ended transitional phrase “consisting essentially of” is being defined as only including those elements, limitations, steps and/or features specifically recited in the claim and those elements, limitations, steps and/or features that do not materially affect the basic and novel characteristic(s) of the claimed subject matter. Therefore, the open-ended transitional phrase “comprising” (along with equivalent open-ended transitional phrases thereof) includes within its meaning, as a limiting case, claimed subject matter specified by the closed-ended transitional phrases “consisting of” or “consisting essentially of.” As such, embodiments described herein or so claimed with the phrase “comprising” are expressly or inherently unambiguously described, enabled and supported herein for the phrases “consisting essentially of” and “consisting of.”

It should be understood that the logic code, programs, modules, processes, methods, and the order in which the respective elements of each method are performed are purely exemplary. Depending on the implementation, they may be performed in any order or in parallel, unless indicated otherwise in the present disclosure. Further, the logic code is not related, or limited to any particular programming language, and may comprise one or more modules that execute on one or more processors in a distributed, non-distributed, or multiprocessing environment.

While aspects of the invention have been described with reference to at least one exemplary embodiment, it is to be clearly understood by those skilled in the art that the invention is not limited thereto. Rather, the scope of the invention is to be interpreted only in conjunction with the appended claims and it is made clear, here, that the inventor(s) believe that the claimed subject matter is the invention.