Electronic circuit identification technique
Patent Information
- Application Number
- CN202111191274.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-10-14
- Filing Date
- 2021-10-13
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2041-10-13
AI Technical Summary
在供应链中跟踪和追踪组装到设备中的这样的电路的操作完整性和使用寿命可能非常具有挑战性
Smart Images

Figure CN114356803B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to electronic circuits, such as analog circuits, digital circuits, mixed-signal circuits, or combinations thereof, and more specifically to integrated circuits manufactured for a particular purpose within a larger system or device. Background Technology
[0002] Electronic circuits are used in a wide variety of applications and setups. An electronic circuit may include electronic components such as resistors, transistors, capacitors, inductors, diodes, or other electronic components connected by conductive elements, wires, or traces. The combination and arrangement of electronic components allows the electronic circuit to perform simple or complex operations based on currents and / or voltages defined within the electronic circuit.
[0003] Electronic circuits can consist of discrete components connected by individual wires, but more commonly, interconnects are created on a laminated substrate (such as a printed circuit board) using photolithography, and components are soldered to these interconnects to create the finished circuit. For integrated circuits, components and interconnects are formed on the same substrate as part of the integrated circuit manufacturing process. For example, integrated circuits are typically formed from semiconductor materials such as doped silicon or gallium arsenide. However, other materials such as gallium nitride can also be used for high-speed transistors or other electronic components.
[0004] Many integrated circuits are manufactured for use in larger devices and systems. For example, modern automobiles (and many modern devices and systems) utilize hundreds or even thousands of individual circuits to operate different components. These circuits in a car can include charging circuits, starting circuits, safety switches, ignition system circuits, lighting circuits for interior or exterior lights, lighting circuits for vehicle headlights, circuits for instruments or dashboards, circuits for gauges and accessors, motor controls, communication circuits, automotive wiring and fuses, and many others. Like automobiles, a wide variety of other modern devices implement numerous electronic circuits to control their functions. This creates a global supply chain where circuit suppliers typically manufacture and supply individual circuits, which are then connected and assembled into larger systems or devices. Tracking and tracing the operational integrity and lifespan of such circuits assembled into devices within the supply chain can be extremely challenging. Summary of the Invention
[0005] In general, this disclosure relates to techniques for generating and storing circuit identification (ID) numbers for electronic circuits. Circuit suppliers can use these techniques to create and store unique circuit ID numbers that customers can use to track their circuits and monitor circuit performance. The technique can be used to create customer-side circuit ID numbers for circuits and store these customer-side circuit ID numbers in memory associated with the circuit. The customer-side circuit ID numbers can be stored in memory in a protected manner, wherein the customer-side circuit ID can be accessed from the memory based on a customer key. Customer-side circuit IDs can be created by combining a watermark value with a pseudo-random number, and the pseudo-random number can be based on a seed value generated based on a computer timestamp.
[0006] In some cases, in addition to the customer-side ID, the memory associated with the circuit may also store the vendor-side circuit ID and / or circuit parameters. The customer-side circuit ID can be accessed by the customer using a customer key, but the vendor-side circuit ID may be inaccessible using the customer key. This may be desirable to ensure that confidential vendor-side circuit information is unavailable to the customer. The vendor key may allow the vendor to access the vendor-side circuit ID, circuit parameters, or any other items in memory that are inaccessible using the customer key. The described techniques for generating the customer-side ID can create a significant level of entropy in the customer-side ID, which can allow authentication of the customer-side ID relative to a forged circuit with a forged customer-side ID.
[0007] In one example, this disclosure describes an apparatus including electronic circuitry configured to perform one or more functions or operations, a memory associated with the electronic circuitry, and an external interface coupled to the memory. The memory stores a client-side circuit ID, which includes a watermark value combined with a pseudo-random number generated as a function of a seed value, wherein the seed value is based on a computer-generated timestamp. The external interface provides read access to the client-side circuit ID.
[0008] In another example, this disclosure describes a method comprising: manufacturing an electronic circuit; generating a client-side circuit ID, wherein the client-side circuit ID includes a watermark value combined with a pseudo-random number, the pseudo-random number being generated as a function of a seed value, wherein the seed value is based on a computer-generated timestamp; and storing the client-side circuit ID in a memory associated with the electronic circuit, wherein the client-side circuit ID is accessible via an external interface coupled to the memory, and wherein the external interface provides read access to the client-side circuit ID using a client key.
[0009] In another example, this disclosure describes a method that includes receiving a set of customer-side IDs associated with a plurality of circuits from a customer, determining the entropy associated with the customer-side IDs, and identifying whether a circuit is a counterfeit circuit based on the determined entropy.
[0010] Details of these and other examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description, the drawings, and the claims. Attached Figure Description
[0011] Figure 1 This is a block diagram showing the example circuit and associated memory;
[0012] Figure 2 This is another block diagram illustrating the example circuit and the associated memory;
[0013] Figure 3 This is a conceptual flowchart illustrating the technology used to generate and store unique pseudo-random client-side circuit IDs.
[0014] Figure 4 This is a conceptual diagram illustrating an example combination of pseudo-random numerical values and watermark values consistent with one or more techniques of this disclosure;
[0015] Figure 5 This is a flowchart illustrating an example process for storing and associating customer-side and supplier-side circuit IDs for a circuit, consistent with this disclosure; and
[0016] Figure 6 This is a flowchart illustrating an example process for analyzing a customer-side circuit ID based on a circuit consistent with this disclosure. Detailed Implementation
[0017] This disclosure relates to techniques for generating and storing circuit identification (ID) numbers for electronic circuits. Electronic circuits are used in a variety of applications and setups. Electronic circuits may include electronic components such as resistors, transistors, capacitors, inductors, diodes, or other electronic components connected by conductive elements, wires, or traces. The combination and arrangement of electronic components allow the electronic circuit to perform simple or complex operations based on currents and / or voltages defined within the electronic circuit.
[0018] There is a global supply chain for electronic circuits. Circuit suppliers typically manufacture and supply individual circuits, which are then connected by customers and assembled into larger systems or devices. Tracking and tracing the operational integrity and lifespan of such circuits can be very challenging. To aid in such tracking and tracing, a unique circuit ID number is needed for each individual circuit.
[0019] Circuit suppliers can use the techniques disclosed herein to create and store unique circuit IDs that their customers can use to track their circuits and monitor circuit performance. Specifically, this technique can be used to create customer-side circuit IDs for circuits and store them in memory associated with the circuit. The customer-side circuit IDs can be stored in memory in a protected manner, allowing access from the memory based on a customer key. The customer-side circuit IDs can be created by combining a watermark value with a pseudo-random number, where the pseudo-random number can be based on a seed value generated based on a computer timestamp.
[0020] In some cases, in addition to the customer-side ID, the memory associated with the circuit may also store the vendor-side circuit ID and / or circuit parameters. The customer-side circuit ID can be accessed by the customer using a customer key, but the vendor-side circuit ID may be inaccessible using the customer key. This may be desirable to ensure that confidential vendor-side circuit information is unavailable to the customer. The vendor key may allow the vendor to access the vendor-side circuit ID, circuit parameters, or any other items in memory that are inaccessible using the customer key. The techniques used to generate the customer-side ID can create a significant level of entropy in the customer-side ID, which can allow for verification of the customer-side ID relative to a forged circuit with a forged customer-side ID.
[0021] Figure 1 This is a block diagram illustrating an example device 100 including circuitry 102 and associated memory 104. Circuitry 102 may include any electronic circuitry configured to perform one or more functions or operations. Memory 104 is associated with circuitry 102. In some cases, circuitry 102 includes an integrated circuit (IC), and memory 104 is electrically connected to the IC. In other cases, circuitry 102 includes an IC formed in a substrate material (e.g., silicon or another semiconductor material), and memory 104 is also formed in the same IC substrate. In any case, memory 104 may include a non-volatile memory configured to store information in a non-volatile, permanent, or semi-permanent manner. As an example, memory 104 may include one-time programmable memory (OTP), flash memory, read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), ferroelectric random access memory (RAM), physical computer storage device, electrically programmable fuses or fuse banks, or any other computer storage device capable of storing information in a non-volatile, permanent, or semi-permanent manner.
[0022] The device 100 also includes an external interface 112 coupled to the memory 104. According to this disclosure, the memory 104 stores a client-side circuit ID 105. Furthermore, according to this disclosure, the client-side circuit ID 105 may include a watermark value combined with a pseudo-random number generated as a function of a seed value, and the seed value being based on a computer-generated timestamp. Additional details regarding the techniques used to generate the client-side circuit ID 105 are described in more detail below.
[0023] In some examples, external interface 112 provides read access to the customer-side circuit ID stored in memory 104. Specifically, in some examples, external interface 112 provides read access to the customer-side circuit ID 105 based on a customer key, enabling the customer-side circuit ID 105 to be accessed from memory 104 using the customer key. For example, the customer key may include numbers, passwords, or passcodes that a customer can use to access a specific portion of memory 104 storing the customer-side ID 105. In these examples, if no customer key (or another legitimate key) can unlock the specific portion of memory storing the customer-side ID 105, the customer-side ID 105 may not be accessible from memory 104. However, in other examples, read access to the customer-side circuit ID stored in memory 104 may be unprotected.
[0024] As mentioned above, in some cases, in addition to the customer-side ID, the memory associated with the circuit can also store the supplier-side circuit ID and / or circuit parameters. Figure 2 This is a block diagram illustrating an example device 200 including circuitry 202 and an associated memory 204. In this example, memory 204 stores customer-side circuit ID 205 and supplier-side circuit ID 208.
[0025] Figure 2 Circuit 202 (similar to) Figure 1 Circuit 102 may include any electronic circuit configured to perform one or more functions or operations. Memory 204 is associated with circuit 202. In some cases, circuit 202 includes an IC and memory 204 is electrically connected to the IC; in other cases, circuit 202 includes an IC formed in a substrate material (e.g., silicon or another semiconductor material), and memory 204 is also formed in the same IC substrate. Memory 204 may include a non-volatile memory configured to store information in a non-volatile, permanent, or semi-permanent manner. As an example, memory 104 may include OTP, flash memory, ROM, EEPROM, EPROM, ferroelectric RAM, physical computer storage devices, or any other computer storage device capable of storing information in a non-volatile, permanent, or semi-permanent manner.
[0026] The device 200 also includes an external interface 212 coupled to the memory 204. According to this disclosure, the memory 204 stores a customer-side circuit ID 205 and a supplier-side circuit ID 208. The customer-side circuit ID 205 may be stored in a first portion 215 of the memory 204, while the supplier-side circuit ID 208 may be stored in a second portion 216 of the memory. The different portions of the memory (portions 215 and 216) are accessible via keys, which may include numbers, passwords, or ciphers that can be used to access specific portions of the memory 204. For example, a supplier key may allow access to both portions of the memory (i.e., the first portion 215 and the second portion 216), while a customer key may allow access to the first portion 215 of the memory but not to the second portion 216. In this way, although the supplier-side circuit ID is stored in the memory 204, the customer may not be able to access it. In some cases, memory 204 may also be used to store circuit parameters 206, such as one or more calibration values, fine-tuning values and offset values, circuit configuration settings, circuit parameters of individual circuit elements, or any other information that can be used to adjust or tune circuit operation. Circuit parameters 206 may be stored in a second portion 216 of memory 204, preventing the customer from viewing or modifying them. However, in other cases, circuit parameters 206 may be stored in a first portion 215 of memory or in a completely different "third" portion, accessible or inaccessible based on a customer key.
[0027] External interface 212 provides read access to the customer-side circuit ID 205 stored in memory 204. Specifically, external interface 212 provides read access to the customer-side circuit ID 205 based on a customer key, enabling the customer-side circuit ID 205 to be accessed from memory 204 using the customer key. Similarly, external interface 212 also provides read access to the vendor-side circuit ID 205 stored in memory 204 based on a vendor key, enabling the vendor-side circuit ID 208 to be accessed from memory 204 using the customer key. External interface 212 also provides read access to the circuit parameters 206 stored in memory 204 based on a vendor key. In some cases, the vendor key may allow access to all contents in memory 204, including the first portion 215 and the second portion 216 of memory 204. Conversely, the customer key may allow access to the first portion 215 of memory 204 but may not allow access to the second portion 216. In this way, the vendor-side circuit ID and circuit parameters 206 can be accessed by the vendor but not by the customer.
[0028] Both the customer key and the supplier key can include numbers, passwords, or passphrases, which the customer or supplier can use to access specific portions of memory 204 that store the customer-side ID 205, the supplier-side ID 208, and circuit parameters 206. If the customer key (or another valid key) is not available to unlock the specific portion of memory storing the customer-side ID 205, then the customer-side ID 205 is inaccessible from memory 204. Similarly, the supplier key may allow access to all contents of memory 204, including the first portion 215 and the second portion 216 of memory 204, while the customer key may only allow access to the first portion 215 of memory 204 and may not allow access to the second portion 216.
[0029] According to this disclosure, the customer-side circuit ID 205 includes a watermark value combined with a pseudo-random number generated as a function of a seed value, and the seed value is based on a timestamp generated by a computer. Additional details regarding the techniques used to generate the customer-side circuit ID 205 are described in more detail below. The supplier-side circuit ID 208 may include a serial number associated with the production of circuit 202, which may be supplier confidential and proprietary. Therefore, sharing the supplier-side circuit ID 208 with the customer may be undesirable. However, to assist the customer, memory 204 stores the customer-side ID 205 in a portion 215 of memory 204 that is accessible to the customer (e.g., based on a customer key).
[0030] Figure 3 This is a conceptual flowchart illustrating technology 30 used to generate and store unique pseudo-random client-side circuit IDs. (See diagram for example.) Figure 3 As shown, a computer is used to generate a computer timestamp 301, and a seed value 302 is generated based on timestamp 301. For example, the seed value 302 may be the same as timestamp 301, or the seed value 302 may be based on timestamp 301 in other ways, such as according to a mathematical function. A random number generator can be used to generate a random number 304 based on the seed value 302, and a watermark value 303 can be inserted (or hidden) within the random number 304 to create a randomized unique ID 305. The randomized unique ID 305 can be used as a customer-side ID and stored in memory associated with the circuitry described herein. Furthermore, the customer-side ID can be associated with a vendor-side ID (e.g., chip ID 306), and this association can be stored in a data log 307 within a vendor database 308.
[0031] Figure 4This is a conceptual diagram illustrating an example combination of pseudo-random numerical values and watermark values consistent with one or more techniques used in this disclosure for creating client-side IDs. The client-side ID may include data greater than or equal to 32 bits, which helps ensure a high level of entropy. Figure 4 As shown, the 32-bit pseudo-random number 401 can be generated by a random number generator using a computer timestamp as a seed value. The start portion 402 (or other defined portion) of the pseudo-random number 401 can be used to define the position for inserting the watermark value 403. In this way, the watermark value 403 is enclosed within a portion of the pseudo-random number 401, and the combination of the watermark value 403 and the pseudo-random number 401 defines the client-side ID. The start portion 402 (or another defined portion) of the pseudo-random number 401 can define information identifying the position of the watermark value 403 within the pseudo-random number 401. The start portion 402 is just one example of a subset of the defined bits of the pseudo-random number that can be used to define the position of the watermark value 403. In other examples, other portions of the pseudo-random number or any predefined subset of bits can be used to define the hidden position of the watermark value 403 within the pseudo-random number 401.
[0032] The watermark value 403 can typically be fixed for multiple circuits and used to generate multiple customer-side circuit IDs for multiple circuits. Different computer timestamps can define different seed values to generate different customer-side IDs, and therefore, different customer-side circuit IDs will be unique, even if they can share the watermark value 403 inserted at a position within the pseudo-random number. Similarly, the position of the watermark can be defined by a subset of the bits of the pseudo-random number, such as the beginning portion 402 of the pseudo-random number 401 or another predefined bit portion. The customer-side IDs created according to this disclosure can also be useful to the supplier for circuit verification if the customer wants circuit diagnostics or other circuit information from the supplier. Additional details regarding the use of entropy associated with the customer-side ID are discussed below.
[0033] As an example, the following pseudocode can be implemented as a random number generator that uses a computer timestamp as a seed value for generating random numbers. Of course, other types of random number generators can also be used:
[0034]
[0035]
[0036] Figure 5 This is a flowchart illustrating an example process for storing and associating customer-side and supplier-side circuit IDs, consistent with this disclosure. (See flowchart for example.) Figure 5As shown, the circuit supplier can manufacture the circuit (501) and store the supplier-side circuit ID in non-volatile memory associated with the circuit (502). Allowing customers to access the supplier-side circuit ID may be undesirable, and therefore, the supplier-side circuit ID may be stored in a protected manner, requiring a supplier key to access the supplier-side circuit ID from the memory. To generate a customer-side circuit ID for a customer, the supplier can continue... Figure 5 Steps 503-506. Specifically, the supplier generates a seed value based on a timestamp from the computer (503) and identifies a watermark value used to generate circuit IDs for multiple circuits (504). The supplier generates a pseudo-random number (505) as a function of the seed value, such as by implementing a process similar to that described in the pseudocode above. Then, the supplier uses a process similar to... Figure 4 The method shown inserts a watermark into the pseudo-random number at a position defined by a subset of the bits of the pseudo-random number (506). In this way, the vendor can define a customer-side circuit ID, which is useful in terms of its lack of confidential vendor-side information and its defined entropy.
[0037] The supplier may store the customer-side circuit ID in non-volatile memory associated with the circuit (507). For example, the customer-side circuit ID may be stored in a different location in the memory than the one used to store the supplier-side circuit ID. A customer key (or supplier key) may allow access to the memory storing the customer-side circuit ID, but the customer key may not allow access to other parts of the memory used to store the supplier-side circuit ID. The supplier associates the supplier-side circuit ID with the customer-side circuit ID in a supplier database (508). Thus, if a customer returns one or more customer-side circuit IDs to the supplier, the supplier may be able to identify the corresponding supplier-side circuit ID based on the customer-side circuit ID using the supplier database.
[0038] Figure 6 This is a flowchart illustrating an example process for analyzing a customer-side circuit ID-based circuit, consistent with this disclosure. (See flowchart for example.) Figure 6 As shown, the circuit supplier may receive a set of customer-side IDs associated with multiple circuits from the customer (601). Furthermore, in some cases, the circuit supplier may also receive circuit performance information from the customer (602). For example, the circuit performance information may include information about the circuits associated with the customer-side IDs, and the customer may request analysis of such circuits from the supplier.
[0039] The supplier can determine the entropy associated with the customer-side ID (603). If the customer-side ID is generated by the process described herein, the customer-side ID will exhibit a high entropy level, making different customer-side IDs almost uncorrelated or noncorrelated. Therefore, the supplier can use the determined entropy to identify whether the circuit was manufactured by the supplier or whether the circuit is counterfeit. For example, the supplier can compare the determined entropy with a defined threshold (604). If the entropy associated with the customer-side ID is less than the threshold (the "No" branch of 604), the supplier can identify the circuit as counterfeit (605). On the other hand, if the entropy associated with the customer-side ID is greater than the threshold (the "Yes" branch of 604), the supplier can verify that the circuit is legitimate, and the supplier can take additional steps to analyze the circuit for their customers.
[0040] When the entropy associated with the customer-side ID is determined to be greater than a threshold (the "yes" branch of 604), the circuit supplier can use the customer-side ID to retrieve additional information about the circuit without owning any circuit. For example, the supplier can identify one or more supplier-side circuit IDs based on the customer-side ID (606), such as by performing a lookup in the data logs of the supplier database used to associate and store customer-side IDs and supplier-side IDs. The supplier can then identify supplier-side circuit information based on one or more supplier-side circuit IDs (607). This supplier-side circuit information can be supplier-specific, and therefore, sharing supplier-side information with customers may not be desirable. However, to assist customers, the supplier can use both customer-provided circuit performance information and supplier-side circuit information to perform circuit analysis (608). In this way, Figure 6 The technology shown can verify circuits based on customer-side IDs, and if authentic, it can allow suppliers to perform circuit analysis using proprietary supplier-side information without sharing such information with customers.
[0041] The process of determining the entropy (603) and comparing the entropy with a threshold (604) can involve entropy-based analysis of customer-side IDs based on one or more mathematical functions. For example, the process of determining the entropy (603) and comparing the entropy with a threshold (604) can involve using a two-sample Kolmogorov-Smirnov distance, using a sufficiently large set of customer devices and another sufficiently large set of supplier devices. This process can involve calculating the empirical cumulative distribution function of the customer IDs for both sets and calculating the two-sample Kolmogorov-Smirnov distance between the two empirical cumulative distributions. If the Kolmogorov-Smirnov distance is sufficiently large, it can be assumed that the two sets do not originate from the same set of original devices.
[0042] As another example, the process of determining the entropy (603) and comparing it to a threshold (604) could involve a process using the Wald-Wolfowitz runs test. This process could involve one or more devices from a customer and one or more devices from a supplier. The process could involve calculating the mean and variance of the customer ID for each device using the Wald-Wolfowitz runs test. In this example, if the mean and variance of at least one of the analyzed devices are significantly different from those of the other devices, it can be assumed that these devices did not originate from the same set of original devices.
[0043] In other examples, the supplier may also attempt to retrieve the watermark from the customer-side ID based on a subset of the bits that identify the watermark location. This watermark retrieval attempt can also be used as part of a circuit authentication process performed by the supplier.
[0044] The following examples illustrate one or more aspects of this disclosure.
[0045] Example 1: An apparatus, an electronic circuit, configured to perform one or more functions or operations; a memory associated with the electronic circuit, wherein the memory stores a client-side circuit ID, the client-side circuit ID including a watermark value combined with a pseudo-random number generated as a function of a seed value, wherein the seed value is based on a computer-generated timestamp; and an external interface coupled to the memory, wherein the external interface provides read access to the client-side circuit ID.
[0046] Example 2: The apparatus according to Example 1, wherein the external interface provides read access to the client-side circuit ID based on a client key, such that the client-side circuit ID can be accessed from the memory using the client key.
[0047] Example 3: The apparatus according to Example 1 or 2, wherein the memory stores a vendor-side circuit ID, the vendor-side circuit ID including a serial number associated with the production of the circuit, wherein the vendor-side circuit ID cannot be accessed using the customer key.
[0048] Example 4: The apparatus according to Example 3, wherein the external interface provides access to the vendor-side circuit ID based on a vendor key, such that the vendor-side circuit ID can be accessed from the memory using the vendor key.
[0049] Example 5: An apparatus according to any one of Examples 1-4, wherein the memory stores one or more configuration settings for the circuit, wherein the configuration settings cannot be accessed using the client key.
[0050] Example 6: The apparatus according to Example 5, wherein the one or more configuration settings for the circuit include one or more of the following: calibration value, fine-tuning value, and offset value.
[0051] Example 7: The apparatus according to any one of Examples 1-6, wherein the memory comprises non-volatile memory.
[0052] Example 8: The apparatus according to any one of Examples 1-7, wherein the customer-side circuit ID is greater than or equal to 32 bits of data.
[0053] Example 9: The apparatus according to any one of Examples 1-8, wherein the watermark value is fixed for a plurality of circuits and is used to generate a plurality of circuit IDs for the plurality of circuits.
[0054] Example 10: An apparatus according to any one of Examples 1-8, wherein the circuitry includes an integrated circuit (IC) and the memory is connected to the IC.
[0055] Example 11: An apparatus according to any one of Examples 1-10, wherein the circuitry comprises an IC formed in an IC substrate, and the memory is also formed in the IC substrate.
[0056] Example 12: The apparatus according to Example 1, wherein the client-side ID includes the watermark value inserted in the pseudo-random number at a position within the pseudo-random number, wherein the position is defined by a subset of the bits of the pseudo-random number.
[0057] Example 13: The apparatus according to Example 12, wherein the subset of bits includes the beginning portion of the pseudo-random number.
[0058] Example 14: A method includes: manufacturing an electronic circuit; generating a client-side circuit identifier (ID), wherein the client-side circuit ID includes a watermark value combined with a pseudo-random number, the pseudo-random number being generated as a function of a seed value, wherein the seed value is based on a timestamp generated by a computer; and storing the client-side circuit ID in a memory associated with the electronic circuit, wherein the client-side circuit ID is accessible via an external interface coupled to the memory, and wherein the external interface provides read access to the client-side circuit ID using a client key.
[0059] Example 15: According to the method described in Example 14, generating the client-side circuit ID includes: generating the timestamp; generating the seed value based on the timestamp; generating a pseudo-random number based on the seed value; and generating the client-side ID based on the watermark value and the pseudo-random number.
[0060] Example 16: The method according to Example 14 or 15, wherein generating the client-side ID includes inserting the watermark value into the pseudo-random number at a position within the pseudo-random number, wherein the position is defined by a subset of the bits of the pseudo-random number.
[0061] Example 17: The method according to any one of Examples 14-16, wherein the method further includes storing a vendor-side circuit ID in the memory, wherein the vendor-side circuit ID cannot be accessed from the memory using the customer key, but can be accessed from the memory using the vendor key.
[0062] Example 18: The method according to any one of Examples 14-17, wherein the method further includes associating the customer-side circuit ID with the supplier-side circuit ID in a supplier database.
[0063] Example 19: A method comprising: receiving from a customer a set of customer-side identifiers (IDs) associated with a plurality of circuits; determining an entropy associated with the customer-side IDs; and identifying whether the circuits are counterfeit circuits based on the determined entropy.
[0064] Example 20: The method according to Example 19, wherein the method further comprises: after determining that the circuit is not counterfeit, identifying one or more supplier-side circuit IDs based on one or more customer-side circuit IDs in the customer-side circuit IDs; and identifying supplier-side circuit information based on the one or more supplier-side circuit IDs.
[0065] Example 21: The method according to Example 19, wherein the method further includes receiving circuit performance information associated with the circuit from the customer; and performing analysis on the circuit based on the circuit performance information and the supplier-side circuit information.
[0066] Various aspects have been described in this disclosure. These and other aspects are within the scope of the appended claims.
Claims
1. An apparatus comprising: Electronic circuits are configured to perform one or more functions or operations; A memory associated with the electronic circuit, wherein the memory stores a customer-side circuit ID, the customer-side circuit ID including a watermark value combined with a pseudo-random number generated as a function of a seed value, wherein the seed value is based on a timestamp generated by a computer, wherein the memory also stores a supplier-side circuit ID, the supplier-side circuit ID including a serial number associated with the production of the circuit, and wherein the customer-side circuit ID is different from the supplier-side circuit ID. as well as An external interface coupled to the memory, wherein the external interface provides read access to the customer-side circuit ID such that the customer-side circuit ID can be accessed from the memory using a customer key, wherein the supplier-side circuit ID cannot be accessed using the customer key, and wherein the external interface provides access to the supplier-side circuit ID based on a supplier key such that the supplier-side circuit ID can be accessed from the memory using the supplier key.
2. The apparatus of claim 1, wherein the memory stores one or more configuration settings for the circuit, wherein the configuration settings cannot be accessed using the client key.
3. The apparatus of claim 2, wherein the one or more configuration settings for the circuit include one or more of the following: calibration value, fine-tuning value, and offset value.
4. The apparatus of claim 1, wherein the memory comprises non-volatile memory.
5. The apparatus of claim 1, wherein the client-side circuit ID is greater than or equal to 32 bits of data.
6. The apparatus of claim 1, wherein the watermark value is fixed for a plurality of circuits and is used to generate a plurality of circuit IDs for the plurality of circuits.
7. The apparatus of claim 1, wherein the circuitry comprises an integrated circuit IC and the memory is connected to the IC.
8. The apparatus of claim 1, wherein the circuitry comprises an IC formed in an integrated circuit (IC) substrate, and the memory is also formed in the IC substrate.
9. The apparatus of claim 1, wherein the client-side ID includes the watermark value inserted in the pseudo-random number at a position within the pseudo-random number, wherein the position is defined by a subset of the bits of the pseudo-random number.
10. The apparatus of claim 9, wherein the subset of bits includes the beginning portion of the pseudo-random number.
11. A method comprising: Manufacturing electronic circuits; Generate a client-side circuit ID, wherein the client-side circuit ID includes a watermark value combined with a pseudo-random number, the pseudo-random number being generated as a function of a seed value, wherein the seed value is based on a timestamp generated by a computer; The customer-side circuit ID is stored in a memory associated with the electronic circuit, wherein the customer-side ID is accessible via an external interface coupled to the memory, and wherein the external interface provides read access to the customer-side circuit ID using a customer key. as well as The supplier-side circuit ID is stored in the memory, wherein the supplier-side circuit ID includes a serial number associated with the production of the circuit, and wherein the supplier-side circuit ID cannot be accessed from the memory using the customer key but can be accessed from the memory using the supplier key, and wherein the customer-side circuit ID is different from the supplier-side circuit ID.
12. The method of claim 11, wherein generating the customer-side circuit ID comprises: Generate the timestamp; The seed value is generated based on the timestamp; Generate pseudo-random numbers based on the seed value; as well as The client-side ID is generated based on the watermark value and the pseudo-random number.
13. The method of claim 12, wherein generating the customer-side ID comprises: The watermark value is inserted into the pseudo-random number at a position defined by a subset of the bits of the pseudo-random number.
14. The method of claim 12, further comprising: The customer-side circuit ID is associated with the supplier-side circuit ID in the supplier database.
15. A method comprising: Receive a set of customer-side IDs associated with multiple circuits from the customer, wherein the customer-side IDs exhibit a high level of entropy, making different customer-side IDs unrelated; Determine the entropy associated with the customer-side ID; and Whether the circuit is a counterfeit circuit is determined based on whether the determined entropy exceeds a threshold. The method further includes, after determining that the circuit is not counterfeit: A set of supplier-side circuit IDs is identified based on a set of customer-side circuit IDs; The supplier-side circuit information is identified based on the set of supplier-side circuit IDs, wherein the set of customer-side IDs are different; Receive circuit performance information associated with the circuit from the customer; as well as The circuit is analyzed based on the circuit performance information and the supplier-side circuit information.
Citation Information
Patent Citations
Field-programmable gate array based trusted execution environment for use in a blockchain network
US10657293B1
System and methods for computerized machine-learning based authentication of electronic documents including use of linear programming for classification
US20140180981A1
Model Anti-collusion watermark
US20160217545A1