Systems and methods for controlling production quantities

Systems and methods are provided for controlling the number of products produced by contract manufacturers in order to prevent unauthorized overproduction. Each authorized device that is produced includes both a serial number and an encryption of the serial number. Each device is configured to decrypt the encrypted serial number and verify the decrypted serial number matches the serial number before the device will function properly. The encryption of the serial number is performed at a secure location outside of the control of the manufacturer, and the encrypted serial number is then transmitted to the manufacturer and stored to the device. Without knowledge of, or access to, the details of the encryption process, the manufacturer cannot independently produce devices with properly encrypted serial numbers. Accordingly, the number of properly functioning devices the manufacturer can produce can be limited by controlling the number of encrypted serial numbers provided to the manufacturer.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to the field of product manufacturing and more particularly to methods for controlling production quantities.

2. Description of the Prior Art

Increasingly, consumer products are being manufactured under license, often in countries where labor costs are relatively low. While the use of less expensive labor serves to keep manufacturing costs low, placing the production in the hands of overseas manufacturers has lead to certain problems. For example, when an overseas manufacturer is directed to produce a certain quantity of a product, there is little to stop the overseas manufacturer from exceeding the production limit. The excess product can then be sold into unauthorized markets or distribution channels, or can be labeled with a different brand name and sold at a lower price. In either case the licensor is not profiting from the sale of its products, and in the latter case is competing against its own products.

Various approaches have been tried to stem this problem. One solution has been to mark authentic products with either microscopic markings or digital codes. One drawback to this approach, however, is that buyers often cannot distinguish between products that are authentic and those simply manufactured without the microscopic markings or digital codes. Given that the authorized and unauthorized products are otherwise the same, there is little incentive for a buyer to try to draw the distinction. Furthermore, there is little to prevent the licensee from overproducing the products with the proper microscopic markings or digital codes.

SUMMARY

An exemplary method for producing a device comprises obtaining from the device a serial number associated with the device, and sending the serial number over a network connection to an encryption processor in a secure location. The method further comprises generating a unique device identification by the encryption processor encrypting the serial number, and sending the unique device identification from the encryption processor to a manufacturing processor. Further, the method comprises storing, with the manufacturing processor, the unique device identification to the device. Some embodiments of the method further comprise storing the unique device identification in a database and/or storing the serial number in the database. The method can further comprise updating a counter maintained by the encryption processor.

Another exemplary method for producing a device comprises generating in a secure location a batch of unique device identifications by encrypting, for each of a plurality of devices, a serial number for each device. The method also comprises sending the batch of unique device identifications from the secure location to a manufacturing processor. The method further comprises storing to the device a unique device identification from the batch. Some embodiments of the method further comprise storing the unique device identifications in a database and/or storing the serial numbers in the database. The method can further comprise updating a counter maintained by the manufacturing processor.

Systems for controlling the production of devices are also provided. And exemplary system comprises a server and a computer system including a processor. The processor is configured to obtain a serial number associated with a device, send the serial number over a network connection to the server in a secure location, and store a unique device identification to the device. The server is configured to receive the serial number from the processor, generate the unique device identification by encrypting the serial number, and send the unique device identification to the processor over the network connection. In some embodiments, the computer system further includes means for authenticating a production personnel.

An exemplary device of the present invention comprises a serial number, a logical storage area, and firmware. The logical storage area stores a unique device identification in some embodiments. The firmware is configured to read the unique device identification from the logical storage area, decrypt the unique device identification, compare the decrypted unique device identification to the serial number when the device is powered up, and power down the device if the decrypted unique device identification does not match the serial number.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is directed to systems and methods for controlling the number of products that are produced by contract manufacturers in order to prevent unauthorized overproduction. In the various methods of the invention, each authorized device that is produced includes both a serial number and an encryption of the serial number. The device is configured, for example through firmware, to decrypt the encrypted serial number and verify it against the serial number before the device will function properly. The encryption of the serial number is performed at a secure location outside of the control of the manufacturer. The encrypted serial number is then transmitted back to the manufacturer and written to the device. Without knowledge of, or access to, the details of the encryption process, the manufacturer cannot independently produce devices with properly encrypted serial numbers. Accordingly, the number of properly functioning devices produced by the manufacturer can be controlled by limiting the number of serial numbers that are encrypted.

FIG. 1illustrates an exemplary system of the invention. In the embodiment shown inFIG. 1, a device100including one or more components110is coupled to a manufacturing processor120. The manufacturing processor120is in communication with an encryption processor130which is in further communication with a database140. The connection between the manufacturing processor120and the encryption processor130is designed to give the manufacturing processor120access to the devices100being produced, while the encryption processor130is in a secure location that is secure from access and therefore tampering by a manufacturer of the devices100being produced.

The manufacturing processor120may be in electronic communication with the encryption processor130across a network connection through a network150such as the Internet, a Local Area Network (LAN), a Wide Area Network (WAN), a proprietary network, or a private network. Alternatively, the manufacturing processor120may be in physical communication160with the encryption processor130. For example, passing data between the manufacturing processor120and the encryption processor130can include recording the data on a physical medium such as a hard disk drive or a flash memory that is physically transported from the manufacturing processor120to the encryption processor130. As another example, data can be printed and sent by facsimile. Some embodiments employ both electronic and physical communication, for instance, data from the manufacturing processor120can be electronically communicated to the encryption processor130, while data moving the opposite direction is sent by courier on a flash memory.

The device100can be, for example, an electronic device such as a Video Cassette Recorder (VCR), Digital Versatile Disc (DVD) player, a desktop or laptop computer, a Moving Picture Experts Group Layer-3 Audio (MP3) player, a settop box, a television, a cell phone, a Smartphone, a Personal Digital Assistant (PDA), a Personal Video Recorder (PVR), or a Universal Serial Bus (USB) memory key. Additionally, the device100can be a product with some amount of integrated electronics, for instance a toy or a piece of exercise equipment, and that at least includes some electronic memory with the capacity to store the encrypted serial number. Accordingly, the device100includes one or more components110such as a processor, a hard disk drive, a flash memory, an Electrically Erasable Programmable Read-Only Memory (EEPROM), a display device, or a chipset including Random Access Memory (RAM).

A serial number (SN) is associated with the completed device100of the present invention, as described, for example, with respect to device400ofFIG. 4. In some embodiments, the serial number associated with the completed device100is a serial number of the component110. In other embodiments, the serial number is one that becomes associated with the device100as the device100is being manufactured. For example, the serial number can be assigned to the device100as manufacturing begins, or at some later point as the device100nears completion. Some methods of the invention, described elsewhere herein, provide the serial number to the device100.

In some embodiments, the device100is coupled to a manufacturing processor120after being manufactured, though it will be appreciated that the present invention does not require a completed device100at the time that the device100is coupled to the manufacturing processor120, and in some situations it can be beneficial to perform a method of the invention while a device100is still in the process of being manufactured. The device100can be coupled to the manufacturing processor120by a wired connection such as a USB connection, a FireWire connection, or a proprietary connector, while in other embodiments the device100can be coupled to the manufacturing processor120by a wireless connection such as a WiFi connection.

The manufacturing processor120can be a general purpose processor disposed within a system such as a personal computer (PC), or any specially configured processing logic such as an application-specific integrated circuit (ASIC), for example. In some embodiments, the manufacturing processor120is part of a system that also incorporates security features to authenticate individuals, such as production personnel, before the manufacturing processor120can be fully employed. Security features can include biometric devices such as finger print scanners and iris scanners. Other security features can include password protection, the use of a Personal Identification Number (PIN), and so forth. Uses for authenticating individuals are described elsewhere herein.

In some embodiments, the manufacturing processor120is configured to run a secure manufacturing software application. The secure manufacturing software application comprises software or firmware instructions to perform various steps described below in connection with the manufacturing processor120. For example, the secure manufacturing software application can obtain the serial number from the device100, or from one or more components110, once the device100is coupled to the manufacturing processor120.

The encryption processor130can be a processor of a server or a PC, in various embodiments. The encryption processor130can be in communication with the manufacturing processor120across a network connection over the network150. In some instances the network connection is maintained continuously between the encryption processor130and the manufacturing processor120, while in other embodiments the network connection is established only temporarily for the purpose of communicating between the encryption processor130and the manufacturing processor120. In some embodiments, the manufacturing processor120is located within a non-secure location while the encryption processor130is located within a secure location. For example, the non-secure location can be a manufacturing facility while the secure location is a corporate headquarters such as that of a licensor contracting to have devices100manufactured at the manufacturing facility by a licensee. As another example, the non-secure location can be a warehouse of a distributor, while the secure location is a server farm or the like. The encryption processor130in the secure location also does not have to be particularly remote from the manufacturing processor120, as the secure location could be a cage or a room within the same facility as the manufacturing processor120, so long as the cage or room provides sufficient security from access by the manufacturer of the devices100being produced.

FIG. 2is a flow-chart representation of an exemplary method200of the invention for producing a device100(FIG. 1) associated with a serial number. The method200begins by obtaining210the serial number from the device100. The serial number is then sent220over a network connection to an encryption processor130(FIG. 1) in a secure location. Next, a unique device identification is generated230by the encryption processor130encrypting the serial number. The unique device identification can be optionally stored240in a database140(FIG. 1). The serial number can also optionally be stored250in the database140. Further, a counter can also be updated260. The unique device identification is sent270from the encryption processor130to a manufacturing processor120(FIG. 1) and the manufacturing processor120then stores280the unique device identification to the device100. Certain steps of the method200are further elaborated upon below.

The serial number can be obtained210from the device100after the device100is at least partially completed. For some devices100, obtaining210the serial number can comprise requesting the serial number from the device100and receiving the serial number back in response. For other devices100that lack the logic to receive a query and produce a response, obtaining210the serial number can comprise reading the serial number, for example, with a barcode reader.

Sending270the unique device identification from the encryption processor130to the manufacturing processor120can also be performed in a number of different ways. In some instances the unique device identification is sent270individually across a network connection. In other instances, the unique device identification is sent270within a batch of unique device identifications, either electronically or physically.

Updating260the counter serves to keep track of the number of devices100that have already been produced, or that are still authorized to be produced. In some embodiments the counter is maintained in the database140by the encryption processor130and updating260the counter comprises incrementing or decrementing the counter each time another serial number is encrypted.

FIG. 3further illustrates an embodiment of the method200through a series of exemplary communications exchanged between the device100, the manufacturing processor120, the encryption processor130, and the database140. Initially, either during the assembly of the device100, or some time after the device100has been fully assembled, the device is coupled to the manufacturing processor120. The manufacturing processor120then obtains210(FIG. 2) a serial number by querying335the device100for the serial number. The device100sends340the serial number to the manufacturing processor120in response.

Once the manufacturing processor120has obtained the serial number, the manufacturing processor120sends345(see220ofFIG. 2) the serial number across a network connection through a network150(FIG. 1) to the encryption processor130in a secure location. The encryption processor130generates230(FIG. 2) a unique device identification from the serial number. The unique device identification is generated by encrypting the serial number, for example, by using a private key. Other serial numbers associated with the device100, as well as various alphanumeric values, such as the manufacturing date can also be encrypted with the serial number to generate the unique device identification. After the unique device identification has been generated230, the unique device identification can be optionally stored350(see240ofFIG. 2) in the database140, for later reference. Optionally, the encryption processor130can store355(see250ofFIG. 2) the serial number to the database140also for later reference.

An optional counter maintained in the database140can be updated360(see260ofFIG. 2). Here, the counter can be used to keep track the number of devices100that have already been produced, or that are still authorized to be produced. Updating360the counter can comprise either incrementing or decrementing the counter. For example, the counter can be initially set to a number of devices100that have been authorized for a production run, the counter can be decremented with each unique device identification generated, and when the counter reaches zero no further unique device identifications will be generated. Likewise, the counter can be initially set to zero, incremented with each unique device identification generated, and when the counter equals the authorized number of devices100for the production run no further unique device identifications will be generated. Thus, in some embodiments generating230(FIG. 2) the unique device identification can include verifying that the unique device identification is permitted by comparing the counter against a threshold, such as zero or the authorized number of devices100.

After the unique device identification has been generated230(FIG. 2), the unique device identification is sent365(see270ofFIG. 2) from the encryption processor130back across the network connection to the manufacturing processor120. The manufacturing processor120receives and stores370(see280ofFIG. 2) the unique device identification in a logical storage area of the device100. The unique device identification can be stored370, for example, to a hidden area of the device100such as a hidden folder so that a subsequent user cannot access and/or alter the unique device identification.

AlthoughFIGS. 2 and 3suggest that the various steps proceed in a particular order, it will be understood that the orders of some of the steps can be different than those shown. In particular, storing240the unique device identification in the database, storing250the serial number in the database, and updating260the counter can occur in any order. Likewise, any of the preceding steps can be performed before, after, or contemporaneously with sending270the unique device identification from the secure location.

FIG. 4illustrates an exemplary device400of the present invention. The device400comprises a component410including a serial number (SN) and a logical storage area420that stores a unique device identification (UDI). The device400is also configured to read the unique device identification from the logical storage area420, decrypt the unique device identification, compare the decrypted unique device identification against the serial number when the device400is powered up, and power down the device400if the decrypted unique device identification is missing or not the same as the serial number. These steps can be performed, for example, by firmware430, software (not shown), or a combination thereof. The device400optionally includes a connector440to allow the device400to be coupled to a manufacturing processor such as manufacturing processor120(FIG. 1). Alternatively, the device400can include a wireless communication electronics to make a wireless connection to the manufacturing processor.

It should be noted that although the component410, the logical storage area420, and the firmware430are represented separately inFIG. 4, in some embodiments any two or all three may be combined. Thus, for example, the device can be a flash memory chip that includes both the serial number and a logical storage area that stores the unique device identification. It should also be noted that in some embodiments the device itself, rather than the component410thereof, comprises the serial number.

The unique device identification can also be an encryption of a serial number in combination with another serial number associated with the device100or an alphanumeric value that is not a serial number, such as the manufacturing date or a random number. In some of these embodiments, the value is stored unencrypted by the device400, such as in the logical storage area420. In one example, the firmware430and/or software is configured to decrypt the encrypted combination and employ the value to extract the serial number from the combination. In other embodiments, the firmware430and/or software is configured to extract the serial number from the decrypted combination without accessing the value.

As noted, when a device400is first powered up, the firmware430and/or the software is configured to power down the device400if the decrypted unique device identification does not match the serial number or if the unique device identification is missing. The present invention is effective, therefore, to prevent the unauthorized overproduction of devices400by the manufacturer. For example, in the event the manufacturer produces an excess quantity of devices400, such unauthorized devices400will not receive unique device identifications if coupled to the manufacturing processor120(FIG. 1). Therefore, these devices400are prevented by their firmware from operating properly. If the manufacturer attempts to store a fake unique device identification in the logical storage area420of a device400, upon power-up the firmware430and/or software will derive a fake serial number from the fake unique device identification. The firmware430and/or software will then determine that the fake serial number does not match the serial number from the component410and power down the device400, again preventing the device400from operating properly.

In addition to checking the unique device identification at power-up, the unique device identification can also be verified at other times. For example, the unique device identification and/or the serial number can be verified against the same stored by the database150(FIG. 1) whenever a software or firmware update is requested by the device400. In these situations, should the unique device identification and/or serial number not match the same stored in the database150, a firmware update can be downloaded to the firmware430where the update is configured to power down or otherwise disable the device400.

In the embodiments described with respect toFIGS. 2 and 3, a network connection is generally maintained between the manufacturing processor120and the encryption processor130over an extended period of time as successive devices100are processed. The present invention also provides for methods in which the network connection is made briefly, or is replaced by a physical communication. In these further methods, unique device identifications are sent in batches from the encryption processor130to the manufacturing processor120. In embodiments in which the network connection is made briefly, the network connection is made long enough to send the batch of unique device identifications.

FIG. 5is a flow-chart representation of an exemplary method500of the invention that employs such batches for producing a device100(FIG. 1) associated with a serial number. The method500begins by generating510in a secure location a batch of unique device identifications. The unique device identifications are generated510by the encryption processor130(FIG. 1) which encrypts a plurality of serial numbers to generate510the batch of unique device identifications. At the time that the unique device identifications are generated510, the serial numbers are either already associated with specific devices100and the serial numbers have been provided in advance to the encryption processor130, else the serial numbers are generated by the encryption processor130and subsequently associated with devices100.

Optionally, the batch of unique device identifications can be stored520in the database140(FIG. 1). The serial numbers that were encrypted to produce the batch can also optionally be stored530in the database140. It will be appreciated that the serial numbers, in some embodiments, are stored530in the database140before the batch of unique device identifications are generated510and later read from the database140at the time the batch is generated510. This can occur, for example, where the serial number associated with each device100is known in advance. In other embodiments the encryption processor130both generates a serial number and encrypts the serial number. In these embodiments the serial numbers are stored530after, or contemporaneous with, generating510the batch of unique device identifications.

After generating510the batch of unique device identifications, the batch of unique device identifications is sent540from the secure location to a manufacturing processor120(FIG. 1). Here, sending540from the secure location to the manufacturing processor120can comprise either electronic or physical communication of the batch from the encryption processor130to a manufacturing processor120. In some embodiments, the batch of unique device identifications is sent540together with the corresponding serial numbers, for instance in a table. In those embodiments where the serial numbers were associated with the devices100before the batch was generated530, the correspondence between serial numbers and unique device identifications can be later used to find the appropriate unique device identification for a particular device100.

After the manufacturing processor120has received the batch of unique device identifications, a unique device identification from the batch is stored550to the device100. In those embodiments where the serial numbers were associated with the devices100before the batch was generated530, storing550the unique device identification to the device100can comprise obtaining the serial number from the device and cross-referencing the serial number against a table of unique device identifications to find the particular unique device identification for the device100. In other embodiments, where the encryption processor130generates both the serial number and the unique device identification, storing550the unique device identification to the device100can also comprise storing the serial number to the device.

Optionally, the method500can also comprise updating560a counter maintained by the manufacturing processor120, as opposed to the counter maintained by the encryption processor130in method200. As in the method200, the counter tracks the number of devices100that have already been produced, or that are still authorized to be produced. In some embodiments, the counter is incremented or decremented every time a unique device identification is stored550to a device100. In some of these embodiments, storing550the unique device identification to the device100includes checking the counter against a threshold to determine whether the unique device identification should be stored550.

With reference to both methods200and500, the manufacturing processor120can be part of a system that includes a security feature to authenticate individuals, such as production personnel. In some embodiments, only a limited number of devices100will be allowed to be produced following the authentication of an authorized individual. To produce further devices100beyond the limited number, an authorized individual would have to be authenticated again.

For example, the encryption processor130can be configured to receive confirmation of an authentication, reset an authentication counter in response thereto, and increment the authentication counter each time a unique device identification is generated230(FIG. 2). The encryption processor130can be further configured to compare the authentication counter against a threshold equal to the limited number of devices100that will be allowed to be produced per authentication, and to not permit further unique device identifications to be generated230if the authentication counter equals the threshold. Similarly, with respect to the method500(FIG. 5), the manufacturing processor120can be configured to receive confirmation of an authentication, reset an authentication counter in response thereto, and increment the authentication counter each time a unique device identification is stored550(FIG. 5). The manufacturing processor120can be further configured to compare the authentication counter against a threshold equal to the limited number of devices100that will be allowed to be produced per authentication, and to not permit further unique device identifications to be stored550if the authentication counter equals the threshold.

FIG. 6illustrates an embodiment of the method500through a series of exemplary communications exchanged between a device100, a manufacturing processor120, an encryption processor130, and a database140. Initially, the encryption processor130generates510(FIG. 5) a batch of unique device identifications. In some instances, the encryption processor130has access to serial numbers already associated with a plurality of devices100. The encryption processor130can read the serial numbers from the database140, some other database (not shown), or may have the serial numbers in RAM at the time the batch of unique device identifications is generated510.

Once the batch of unique device identifications has been generated510, the encryption processor130optionally stores635(see520ofFIG. 5) the batch in the database140for later reference and sends640(see540ofFIG. 5) the batch to the manufacturing processor120. Sending640the batch to the manufacturing processor120can be performed electronically or physically, as described above. In the case where the batch is sent electronically, over a network connection, the network connection can be temporarily established long enough for the batch to be sent640.

In the example ofFIG. 6, once the batch of unique device identifiers has been sent to the manufacturing processor120, the device100is coupled to the manufacturing processor120. Next, the manufacturing processor120optionally queries645the device100for the serial number and in these embodiments the device100sends650the serial number back to the manufacturing processor120. In those embodiments were the encryption processor130both generates and encrypts the serial numbers, querying645the device100and sending650the response are omitted.

The manufacturing processor120then stores655(see550ofFIG. 5) to the device100a unique device identification from the batch. In those embodiments in which the manufacturing processor120queried645for the serial number, the manufacturing processor120can use the serial number to find the appropriate unique device identification from the batch for the particular device100. In other embodiments, however, the order of the devices100and the unique device identifications in the batch are coordinated so that the manufacturing processor120does not need to obtain the serial number from each device100in order to store655the correct unique device identification to that device100. In still other embodiments, the serial number only becomes associated with a device100when both the unique device identification and the serial number are stored655to the device100.

Optionally, a counter maintained by the manufacturing processor120is updated560(FIG. 5) with each unique device identification that is stored655to a device100. The manufacturing processor120repeats the process of storing655unique device identifications to devices100until either the batch has been completely exhausted or the optional counter reaches a threshold indicating that no more devices100are authorized to be produced. As part of each cycle, the manufacturing processor120can also update a log file that can record, for example, the date and time that a unique device identification is stored to a device, along with the unique device identification and the relevant serial numbers. After a batch of unique device identifications have been used, the log file can be sent660, either electronically or physically, to the encryption processor130. The encryption processor130can then store665the log file to the database140.