SYSTEM AND METHOD OF CODE GENERATION AND AUTHENTICATION

Information

  • Patent Application
  • 20070175974
  • Publication Number
    20070175974
  • Date Filed
    January 04, 2007
    18 years ago
  • Date Published
    August 02, 2007
    17 years ago
Abstract
Systems and methods of code generation and authentication are disclosed here. One embodiment includes receiving a request for a batch of codes, each code being unique for a separate unit item, generating a batch of codes, each code being unique for a separate unit item, wherein a subsection of the code comprises a check value, and encrypting the code. In response to receiving a request to authenticate a code, decrypting the code to access a subsection of the code comprising a check value, comparing the check value to a value to authenticate the code. In one embodiment, the encrypting further comprises encrypting the code with a key, and including a key identifier as a subsection of the encrypted code; and decrypting the code further comprises using the key identifier included in the encrypted code to access the key to decrypt the code. Further more, in one embodiment, the batch of codes are provided to be marked on a plurality of products as at least one of a numeric representation, an alphanumeric representation, or a graphic symbol.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.



FIG. 1 illustrates an example of a consumer device and/or a client communicating with a server module to access code generation, authentication services, according to one embodiment.



FIG. 2A is a flow chart describing an overview of an example process of code request, according to one embodiment.



FIG. 2B is a flow chart describing an overview of an example process of code authentication request, according to one embodiment.



FIG. 3 is a block diagram of a code during a process of code generation and encryption, according to one embodiment.



FIG. 4 is a block diagram of a code during a process of code decryption and authentication, according to one embodiment.



FIG. 5 is an example conversion table for mapping between encrypted codes and a corresponding alphanumeric representation, according to one embodiment.



FIG. 6A illustrates an example of an alphanumeric representation of an encrypted code, according to one embodiment.



FIG. 6B illustrates an example of an alphanumeric representation of an encrypted code encoded as a graphic symbol, according to one embodiment.



FIG. 7A is an exploded view of a server module, according to one embodiment.



FIG. 7B illustrates a block diagram having sources for a set of instructions, according to one embodiment.



FIG. 8 illustrates a screen shot showing one embodiment of a web interface for entering data that identifies a batch of codes.



FIG. 9 illustrates a screen shot showing one embodiment of a web interface for requesting generation of a set of codes based on the batch information that was entered in the web interface of the screenshot of FIG. 8.



FIG. 10 illustrates a screen shot showing one embodiment of a web interface to verify authenticity of a code.



FIG. 11 illustrates a screen shot showing one embodiment of a web interface having the results from verifying authenticity of the code entered in the code field of FIG. 10.


Claims
  • 1) A method comprising: Receiving a request for a batch of codes, each code being unique for a separate unit item;Generating a batch of codes, each code being unique for a separate unit item, wherein a subsection of the code comprises a check value;Encrypting the code;In response to receiving a request to authenticate a code, decrypting the code;Accessing a subsection of the decrypted code comprising a check value; andcomparing the check value to a value to authenticate the code.
  • 2) The method of claim 1, further comprising providing the batch of codes to be marked on a plurality of products as at least one of a numeric representation, an alphanumeric representation, or a graphic symbol.
  • 3) The method of claim 1, wherein the encrypting further comprises encrypting the code with a key, and including a key identifier as a subsection of the encrypted code; and Decrypting the code further comprises using the key identifier included in the encrypted code to access the key to decrypt the code.
  • 4) The method of claim 1, wherein the code further comprises one or more of a batch number and an item number.
  • 5) The method of claim 4, wherein each batch number has an associated set of item numbers.
  • 6) The method of claim 1, further comprising using a subsection of the decrypted code, separate from the check value, to identify the value to authenticate the check value.
  • 7) The method of claim 5, wherein the check value is a constant number used for a batch of codes.
  • 8) The method of claim 5, wherein the check value is a constant number used for multiple batches of codes.
  • 9) The method of claim 3, wherein the encrypting comprises encrypting with multiple keys.
  • 10) The method of claim 3, wherein including the key identifier further comprises using at least a portion of the encrypted code with the key identifier to generate an obscured key identifier.
  • 12) The method of claim 10, wherein the using at least a portion of the encrypted code with the key identifier to generate the obscured key-ID comprises joining the key identifier and a hash of the at least a portion of the encrypted code to generate the obscured key identifier.
  • 13) The method of claim 1, wherein the code further comprises a version indicator.
  • 14) The method of claim 4, further comprising comparing a batch number extracted from the decrypted code with stored data to authenticate the code.
  • 15) The method of claim 4, further comprising authenticating the decrypted code via identifying a batch number of the decrypted code and comparing an item number of the decrypted code with a total number of item numbers corresponding to the identified batch number.
  • 16) A machine readable medium having stored thereon a set of instructions which when executed perform a method comprising: Receiving a request for a batch of codes, each code being unique for a separate unit item;Generating a batch of codes, each code being unique for a separate unit item, wherein a subsection of the code comprises a check value;Encrypting the code;In response to receiving a request to authenticate a code, decrypting the code;Accessing a subsection of the decrypted code comprising a check value; andcomparing the check value to a value to authenticate the code.
  • 17) The machine readable medium of claim 16, wherein the method further comprises providing the batch of codes to be marked on a plurality of products as at least one of a numeric representation, an alphanumeric representation, or a graphic symbol.
  • 18) The machine readable medium of claim 16, wherein the encrypting further comprises encrypting the code with a key, and including a key identifier as a subsection of the encrypted code; andDecrypting the code further comprises using the key identifier included in the encrypted code to access the key to decrypt the code.
  • 19) The machine readable medium of claim 16, wherein the code further comprises one or more of a batch number and an item number.
  • 20) A method comprising: Generating a set of unique codes, each comprising a check value as a section of the code; andAuthenticating a code by comparing a section of the code to the check value.
Continuation in Parts (1)
Number Date Country
Parent 11347424 Feb 2006 US
Child 11619747 US