IP Library Granted Patent US 7,587,613
Granted Patent B2
US 7,587,613 · App. 10/327,015 · Granted Sep 8, 2009

Method and apparatus for selectively enabling a microprocessor-based system

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 7,587,613
App. No.
10/327,015
Granted
Sep 8, 2009
Kind
B2
Abstract

A system for selectively enabling a microprocessor-based system is disclosed. State information that describes the operating conditions or circumstances under which a user intends to operate the system is obtained. In the preferred embodiment of the invention, a valid hash value is determined, preferably based on the state information and preferably by locating the valid hash value within a table of valid hash values indexed by the state information. Candidate authorization information is obtained from the user, and a candidate hash value is generated by applying a hashing algorithm to the candidate authorization information, the state information, or a combination of the candidate authorization information and state information. The candidate hash value and the valid hash value are then compared, and the microprocessor-based system is enabled if the candidate hash value matches the valid hash value. In this manner, the designer or distributor of the system can determine, at the time of manufacture or distribution, the conditions and circumstances under which the system may be operated.

Claims (160)

1. A method for selectively enabling a microprocessor based system, comprising:

obtaining state information describing at least one microprocessor based system operating condition;

determining at least one valid hash value;

obtaining candidate authorization information from a user of said microprocessor based system;

generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor based system operating condition;

comparing said candidate hash value and said at least one valid hash value;

enabling said microprocessor based system if said candidate hash value matches said at least one valid hash value;

after said enabling said microprocessor-based system if said candidate hash value matches said at least one valid hash value, periodically checking for a reset condition; and

if said reset condition is detected:

executing a power-down sequence;

waiting for a power-up condition; and

upon detecting said power-up condition, executing a power-up sequence.

2. The method of claim 1 , wherein said determining at least one valid hash value comprises:

determining said at least one valid hash value based on said state information describing at least one microprocessor based system operating condition.

3. The method of claim 1 , wherein said determining at least one valid hash value comprises:

referencing a list of valid hash values.

4. The method of claim 1 , further comprising:

before said obtaining state information describing at least one microprocessor based system operating condition, executing a power-up sequence.

5. The method of claim 1 , wherein said obtaining state information describing at least one microprocessor based system operating condition comprises:

retrieving at least a portion of said state information describing at least one microprocessor based system operating condition from a memory.

6. The method of claim 5 , wherein said memory is a tamper resistant, non-volatile memory.

7. The method of claim 1 , said memory is a tamper resistant, non-volatile memory.

8. The method of claim 1 , wherein said

generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor-based system operating condition comprises:

applying said hashing algorithm to a catenation of said candidate authorization information and said state information describing at least one microprocessor based system operating condition.

9. The method of claim 1 , wherein said state information describes any of:

a geographic location;

a geographic region;

a date;

a range of dates;

a time; and

a range of times.

10. A method for selectively enabling a microprocessor based system, comprising:

obtaining state information describing at least one microprocessor based system operating condition;

determining at least one valid hash value;

obtaining candidate authorization information from a user of said microprocessor based system;

generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor based system operating condition;

comparing said candidate hash value and said at least one valid hash value; and

enabling said microprocessor based system if said candidate hash value matches said at least one valid hash value;

after said enabling said microprocessor based system if said candidate hash value matches said at least one valid hash value, periodically checking for a reset condition;

if said reset condition is detected:

executing a power-down sequence;

waiting for a power-up condition; and

upon detecting said power-up condition, executing a power-up sequence;

obtaining additional state information; and

storing said additional state information in a memory.

11. A method for selectively enabling a microprocessor based system comprising:

obtaining state information describing at least one microprocessor based system operating condition;

determining at least one valid hash value;

obtaining candidate authorization information from a user of said microprocessor based system;

generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor based system operating condition;

comparing said candidate hash value and said at least one valid hash value; and

enabling said microprocessor based system if said candidate hash value matches said at least one valid hash value;

after said enabling said microprocessor based system if said candidate hash value matches said at least one valid hash value, periodically checking for a reset condition;

if said reset condition is detected:

executing a power-down sequence;

waiting for a power-up condition;

upon detecting said power-up condition, executing a power-up sequence;

obtaining additional state information; and

storing said additional state information in a memory,

wherein said memory is a tamper resistant, non-volatile memory.

12. A method for selectively enabling a microprocessor based system, comprising:

obtaining state information describing at least one microprocessor based system operating condition;

determining at least one valid hash value;

obtaining candidate authorization information from a user of said microprocessor based system;

generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor based system operating condition;

comparing said candidate hash value and said at least one valid hash value; and

enabling said microprocessor based system if said candidate hash value matches said at least one valid hash value, wherein said determining at least one valid hash value comprises:

determining said at least one valid hash value based on said state information describing at least one microprocessor based system operating condition, and

said determining said at least one valid hash value based on said state information describing at least one microprocessor-based system operating condition comprises:

locating said at least one valid hash value within a table of valid hash values indexed by said state information describing at least one microprocessor based system operating condition.

13. A method for selectively enabling a microprocessor based system, comprising:

obtaining state information describing at least one microprocessor based system operating condition;

determining at least one valid hash value;

obtaining candidate authorization information from a user of said microprocessor based system;

generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor based system operating condition;

comparing said candidate hash value and said at least one valid hash value; and

enabling said microprocessor based system if said candidate hash value matches said at least one valid hash value;

after said enabling said microprocessor based system if said candidate hash value matches said at least one valid hash value, periodically checking for a reset condition;

if said reset condition is detected:

executing a power-down sequence;

waiting for a power-up condition; and

upon detecting said power-up condition, executing a power-up sequence;

obtaining additional state information; and

storing said additional state information in a memory, wherein said additional state information describes a prior usage history of said microprocessor based system.

14. An apparatus for selectively enabling a microprocessor-based system, comprising:

means for obtaining state information describing at least one microprocessor-based system operating condition;

means for determining at least one valid hash value;

means for obtaining candidate authorization information from a user of said microprocessor-based system;

means for generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor-based system operating condition;

means for comparing said candidate hash value and said at least one valid hash; an

means for enabling said microprocessor-based system if said candidate hash value matches said at least one valid hash value;

means for said microprocessor-based system periodically checking for a reset condition after an enabling of said microprocessor-based system if said candidate hash value matches said at least one valid hash value; and

if said reset condition is detected:

executing a power-down sequence;

waiting for a power-up condition; and

upon detecting said power-up condition, executing a power-up sequence.

15. The apparatus of claim 14 , wherein said means for determining at least one valid hash value comprises:

means for determining said at least one valid hash value based on said state information describing at least one microprocessor-based system operating condition.

16. The apparatus of claim 14 , said means for determining at least one valid hash value comprises:

means for referencing a list of valid hash values.

17. The apparatus of claim 14 , further comprising:

means for executing a power-up sequence before obtaining said state information.

18. The apparatus of claim 14 , wherein said means for obtaining state information describing at least one microprocessor-based system operating condition comprises:

means for retrieving at least a portion of said state information describing at least one microprocessor-based system operating condition from a memory.

19. The apparatus of claim 18 , wherein said memory is a tamper resistant, non-volatile memory.

20. The apparatus of claim 14 , wherein said hashing algorithm is a one-way hashing algorithm.

21. The apparatus of claim 14 , wherein said means for

generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor-based system operating condition comprises:

means for applying said hashing algorithm to a catenation of said candidate authorization information and said state information describing at least one microprocessor-based system operating condition.

22. The apparatus of claim 14 , whereinsaid state information describes any of:

a geographic location;

a geographic region;

a date;

a range of dates;

a time; and

a range of times.

23. An apparatus for selectively enabling a microprocessor-based system, comprising:

means for obtaining state information describing at least one microprocessor-based system operating condition;

means for determining at least one valid hash value;

means for obtaining candidate authorization information from a user of said microprocessor-based system;

means for generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor-based system operating condition;

means for comparing said candidate hash value and said at least one valid hash value; and

means for enabling said microprocessor-based system if said candidate hash value matches said at least one valid hash value;

means for executing a power-up sequence before obtaining said state information;

means for obtaining additional state information; and

means for storing said additional state information in a memory.

24. An apparatus for selectively enabling a microprocessor-based system, comprising:

means for obtaining state information describing at least one microprocessor-based system operating condition;

means for determining at least one valid hash value;

means for obtaining candidate authorization information from a user of said microprocessor-based system;

means for generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor-based system operating condition;

means for comparing said candidate hash value and said at least one valid hash value; and

means for enabling said microprocessor-based system if said candidate hash value matches said at least one valid hash value;

means for executing a power-up sequence before obtaining said state information; and

means for obtaining additional state information; and

means for storing said additional state information in a memory,

wherein said memory is a tamper resistant non-volatile memory.

25. An apparatus for selectively enabling a microprocessor-based system, comprising:

means for obtaining state information describing at least one microprocessor-based system operating condition;

means for determining at least one valid hash value;

means for obtaining candidate authorization information from a user of said microprocessor-based system;

means for generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor-based system operating condition;

means for comparing said candidate hash value and said at least one valid hash value; and

means for enabling said microprocessor-based system if said candidate hash value matches said at least one valid hash value;

wherein said means for determining at least one valid hash value comprises:

means for determining said at least one valid hash value based on said state information describing at least one microprocessor-based system operating condition, and

said means for determining said at least one valid hash value based on said state information describing at least one microprocessor-based system operating condition comprises:

means for locating said at least one valid hash value within a table of valid hash values indexed by said state information describing at least one microprocessor-based system operating condition.

26. An apparatus for selectively enabling a microprocessor-based system, comprising:

means for obtaining state information describing at least one microprocessor-based system operating condition;

means for determining at least one valid hash value;

means for obtaining candidate authorization information from a user of said microprocessor-based system;

means for generating a candidate hash value by applying a hashing algorithm to at least said candidate authorization information and said state information describing at least one microprocessor-based system operating condition;

means for comparing said candidate hash value and said at least one valid hash value; and

means for enabling said microprocessor-based system if said candidate hash value matches said at least one valid hash value;

means for executing a power-up sequence before obtaining said state information;

means for obtaining additional state information; and

means for storing said additional state information in a memory,

wherein said additional state information describes a prior usage history of said microprocessor-based system.

Assignments (10)
RELEASE OF SECURITY INTEREST IN SPECIFIED PATENTS Recorded May 10, 2022
From: BARINGS FINANCE LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 059925/0652 →
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2020
From: RPX CORPORATION
To: MEDIATEK INC.
Reel/Frame 054152/0888 →
RELEASE OF LIEN ON PATENTS Recorded Aug 14, 2020
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: RPX CORPORATION
Reel/Frame 053498/0067 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2020
From: RPX CORPORATION
To: MEDIATEK INC.
Reel/Frame 054107/0830 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: THE INVENTION SCIENCE FUND I, LLC
To: RPX CORPORATION
Reel/Frame 044919/0258 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2017
From: CREATIVE MINES LLC
To: THE INVENTION SCIENCE FUND I, LLC
Reel/Frame 044397/0429 →