IP Library Granted Patent US 9,247,024
Granted Patent B2
US 9,247,024 · App. 12/595,671 · Granted Jan 26, 2016

Controlled activation of function

Inventors: Johan Cornelis Talstra (Eindhoven, NL); Pim Theo Tuyls (Eindhoven, NL); Daniel Willem Elisabeth Schobben (Eindhoven, NL)
Assignee: INTRINSIC ID B.V.
H04L67/34G06F21/10H04L9/321H04L9/3278H04L63/08H04L63/10H04L67/12H04L2209/60H04L2209/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,247,024
App. No.
12/595,671
Granted
Jan 26, 2016
Kind
B2
Abstract

A method of and system ( 110 ) for controlled activation of at least one function in a product or component at a remote location, which activation requires a correct activation data item to be available in the product or component. The method comprises receiving one or more noisy outputs of an unclonable element associated with the component from the remote location, and providing helper data to the remote location, which helper data transforms the one or more noisy outputs to a single value which corresponds to the correct activation data item.

Claims (39)

1. A method of controlled activation of at least one function in a product or component at a remote location, which activation requires a correct activation data item to be available in the product or component, the method comprising:

providing at the remote location a product or component, the product or component being configured to require a correct pre-determined activation data item to be available in the product or component to activate at least one function,

receiving from the remote location, after the providing at the remote location the product or component, data based on one or more noisy outputs of an unclonable element at the remote location and associated with the product or component,

computing helper data based on the received data based on the one or more noisy outputs such that applying the helper data to the one or more noisy outputs transforms the one or more noisy outputs to a single value which corresponds to the correct activation data item, and

providing the helper data to the remote location for transforming the one or more noisy outputs to a single value which corresponds to the correct activation data item.

2. The method of claim 1 , further comprising transmitting an authentication element for establishing authenticity of the helper data to the remote location.

3. The method of claim 2 , in which the authentication element is obtained by transmitting the helper data to a third party and receiving the authentication element in response from the third party.

4. The method of claim 3 , in which the helper data is encrypted before transmitting it to the third party.

5. The method of claim 1 , further comprising receiving a remote authentication element from the remote location, and only providing the helper data if the data based on one or more noisy outputs can be successfully authenticated using the remote authentication element.

6. The method of claim 1 , in which the helper data is transmitted to a second remote location different from the remote location from which the one or more responses have been received.

7. The method of claim 1 , in which the received data based on the one or more noisy outputs are compared against plural previously received data based on noisy outputs, and the helper data is provided only if the data based on the one or more noisy outputs have not been received previously.

8. The method of claim 1 , wherein the single value is used as a decryption key or authentication key.

9. The method of claim 1 , wherein the single value is used as a key to unlock or decrypt all or part of the product or component.

10. The method of claim 1 , wherein the product or component is a software program or bitstream for an FPGA.

11. A system for controlled activation of at least one function in a product or component at a remote location, which activation requires a correct activation data item to be available in the product or component, the system comprising:

a receiver for receiving from a product or component at the remote location data based on one or more noisy outputs of an unclonable element at the remote location and associated with the product or component, the product or component being configured to require a correct pre-determined activation data item to be available in the product or component to activate at least one function,

and

a computer for computing helper data based on the data based on the one or more noisy outputs received such that applying the helper data to the one or more noisy outputs transforms the one or more noisy outputs to a single value which corresponds to the correct activation data item, and

a transmitter for transmitting the helper data to the remote location for transforming the one or more noisy outputs to a single value which corresponds to the correct activation data item.

12. The system of claim 11 , wherein the receiver is configured for receiving the data based on the one or more noisy outputs transmitted over a communications network.

13. The system of claim 12 , wherein the communications network is the Internet.

14. The method of claim 1 , further comprising comparing the single value with a predefined code available at the remote location, and wherein if the single value and the predefined code do not match, the function is not activated.

15. The system of claim 11 further comprising a third party that provides an authentication element to the system, the authentication element being used for establishing authenticity of the helper data.

16. The system of claim 15 , wherein the authentication element is passed by the system on to the remote location.

17. The system of claim 15 , wherein the third party encrypts the helper data using a secret key known to the third party.

18. The system of claim 15 , wherein the helper data is encrypted by the system before transmitting it to the third party so that the third party is prevented from observing the helper data.

19. The system of claim 18 , wherein the helper data is encrypted using symmetric or asymmetric cryptography.

20. The method of claim 7 , wherein said comparison is a lossy comparison, wherein the received data is regarded as having been received previously if the received data differs less than a pre-determined amount from a previously received data.

21. The system as in claim 11 , wherein the receiver is arranged to set-up a secure authenticated channel between the product or component and the system to securely exchange at least one of the one or more noisy outputs and the helper data.

22. A method as in claim 1 , further comprising

transforming at the remote location the one or more noisy outputs to a single value,

activating at the remote location of the at least one function in the product or component at the remote location if the single value corresponds to the correct activation data item.

23. A method of selectively enabling or disabling activation of a plurality of functions in a product or component at a remote location, which activation requires a correct activation data item to be available in the product or component, the method comprising:

providing at the remote location a product or component, the product or component being configured to require a correct pre-determined activation data item to be available in the product or component to activate at least one function,

receiving data based on one or more noisy outputs of an unclonable element associated with the product or component,

computing helper data based on the received data based on the one or more noisy outputs such that applying the helper data to the one or more noisy outputs transforms the one or more noisy outputs to a single value which corresponds to the correct activation data item, the single value being a sequence of indicators, each indicator indicating for a particular function of the plurality of functions whether the particular function is to be enabled or disabled,

providing the helper data to the remote location for transforming the one or more noisy outputs to a single value which corresponds to the correct activation data item,

enabling, at the remote location, functions corresponding to indicators in the sequence of indicators indicating that the function is to be enabled, and

disabling, at the remote location, functions corresponding to indicators in the sequence of indicators indicating that the function is to be disabled.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2024
From: INTRINSIC ID B.V.
To: SYNOPSYS, INC.
Reel/Frame 067679/0821 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2009
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: INTRINSIC ID B.V.
Reel/Frame 023725/0218 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2009
From: TALSTRA, JOHAN CORNELIS; TUYLS, PIM THEO; SCHOBBEN, DANIEL WILLEM ELISABETH
To: KONINKLIJKE PHILIPS ELECTRONICS N.V.
Reel/Frame 023725/0288 →
Priority Claims (1)
EP 07106038 · Apr 12, 2007 · regional
Continuity (1)
Related Publication 20100146261A1 · Jun 10, 2010