System for binding secrets to a computer system having tolerance for hardware changes
AssigneeMicrosoft Corporation
InventorAidan T. Hughes
Life of this patent
Estimating the term…
Abstract
Systems and methods for binding a secret to a computer system are disclosed. Systems and methods for generating a strong hardware identification (SHWID) for a given computer system are also disclosed. The strong hardware identification (SHWID) is coupled to a bound secret. The strong hardware identification (SHWID) may be used to control the use of software on the given computer system depending on the degree of hardware changes to the computer system.
Claims27
A method of generating a strong hardware identification (SHWID) for a first computer system having a first hardware configuration, wherein the method comprises:
- identifying each component class within the first hardware configuration, wherein the number of component classes is equal to n;
- determining a class product, cp, for each component class wherein the class product, cp, for each component class is determined by the following steps:
- choosing the number of component classes n;
- identifying the n component classes;
- identifying all instances within each component class;
- assigning an identification string for each component instance;
- generating instance primes, pp,q, for each component instance, wherein each instance prime is a positive prime number, and wherein p represents a given component class number ranging from 1 to n, and q represents the q-th type of component within the first hardware configuration;
- and
- multiplying the instance primes within each component class to form class product, cp, for each component class;
- determining a partial secret, Pp, for each component class;
- and
- adding the class product, cp, and the partial secret, Pp, for each component class to form n strong class IDs,
- wherein the n strong class IDs in combination form the strong hardware identification (SHWID) of the first computer system.
A computer readable medium having stored thereon computer-executable instructions to execute a method of generating a strong hardware identification (SHWID) on a first computer system having a first hardware configuration, wherein the method comprises:
- identifying each component class within the first hardware configuration, wherein
- the number of component classes is equal to n;
- determining a class product, cp, for each component class, wherein the
- class product, cp, for each component class is determined by the following steps:
- choosing the number of component classes n;
- identifying the n component classes;
- identifying all instances within each component class;
- assigning an identification string for each component instance;
- generating instance primes, pp,q, for each component instance, wherein each instance prime is a positive prime number, and wherein p represents a given component class number ranging from 1 to n, and q represents the q-th type of component within the first hardware configuration;
- and
- multiplying the instance primes within each component class to form class
- product, cp, for each component class;
- determining a partial secret, Pp, for each component class;
- and
- adding the class product, Cp, and the partial secret, Pp, for each component class
- to form n strong class IDs,
- wherein the n strong class IDs in combination form the strong hardware
- identification (SHWID) of the first computer system.
A computing system containing at least one application module usable on the computing system, wherein the at least one application module comprises application code to execute a method of generating a strong hardware identification (SHWID) on a first computer system having a first hardware configuration, wherein the method comprises:
- identifying each component class within the first hardware configuration, wherein
- the number of component classes is equal to n;
- determining a class product, cp, for each component class wherein the
- class product, cp, for each component class is determined by the following steps:
- choosing the number of component classes n;
- identifying the n component classes;
- identifying all instances within each component class;
- assigning an identification string for each component instance;
- generating instance primes, pp,q, for each component instance, wherein each instance prime is a positive prime number, and wherein p represents a given component class number ranging from 1 to n, and q represents the q-th type of component within the first hardware configuration;
- and
- multiplying the instance primes within each component class to form class
- product, cp, for each component class;
- determining a partial secret, Pp, for each component class;
- and
- adding the class product, Cp, and the partial secret, Pp, for each
- component class to form n strong class IDs,
- wherein the n strong class IDs in combination form the strong hardware identification (SHWID) of the first computer system.
Dependencies are inferred from the claim text.