Multiplexing a secure counter to implement second level secure counters
AssigneeMicrosoft Corporation
InventorsPaul England, Marcus Peinado
Life of this patent
Estimating the term…
Abstract
A multiplexed secure counter is provided, in which a multiplicity of child secure counters are secured by a parent secure counter. Child counters are stored with a parent secure counter value and a signature. Before a child counter is read, the signature is verified and value stored is checked against the current value of the parent secure value. If the verifications are successful, the child secure counter can be used. To increment a child counter, the signature is verified and the value stored checked against the current value of the parent secure value. If the verifications are successful, the parent counter and the child counter are incremented, and the data is signed again.
Claims29
A method of implementing at least one second-level counter, where a first-level counter provides a first-level counter value, and where data comprising a first-level counter value and said at least one second-level counter are stored together with verification information for said data, said method comprising:
- responding to a read command for a specific one of said at least one second-level counters by verifying the security of said at least one file and returning a value for said at least one second-level counter.
A method of implementing at least one second-level counter, where a first-level counter provides a first-level counter value, and where data comprising a first-level counter value and said at least one second-level counter are stored together with verification information for said data, said method comprising:
- responding to an increment command for a specific one of said at least one second-level counters by verifying the security of said at least one file;
- incrementing a value for said specific second-level counter;
- incrementing a value for said at least one first-level counter;
- and storing data comprising said first-level counter and said incremented specific second-level counter value together with verification information for said data in said at least one file.
A method of implementing at least one second-level counter, where a first-level counter provides a first-level counter value, and where data comprising a first-level counter value and said at least one second-level counter are stored together with verification information for said data, said method comprising:
- responding to a request to add a new second-level counter by storing data comprising said first-level counter value and said new second-level counter together with verification information in said at least one file.
A system for implementing at least one second-level counter, where a first-level counter provides a first-level counter value, said system comprising:
- means for storing data comprising said first-level counter value and said at least one second-level counter together with verification information for said data in at least one file;
- means for responding to a read command for a specific one of said at least one second-level counters by verifying the security of said at least one file and returning a value for said at least one second-level counter;
- and
- means for responding to an increment command for a specific one of said at least one second-level counters by verifying the security of said at least one file;
- incrementing a value for said specific second-level counter;
- incrementing a value for said at least one first-level counter;
- and storing data comprising said first-level counter and said incremented specific second-level counter value together with verification information for said data in said at least one file.
A computer-readable medium for implementing at least one second-level counter, where a first-level counter provides a first-level counter value, said medium with instructions to perform acts comprising:
- storing data comprising said first-level counter value and said at least one second-level counter together with verification information for said data in at least one file;
- responding to a read command for a specific one of said at least one second-level counters by verifying the security of said at least one file and returning a value for said at least one second-level counter;
- and
- responding to an increment command for a specific one of said at least one second-level counters by verifying the security of said at least one file;
- incrementing a value for said specific second-level counter;
- incrementing a value for said at least one first-level counter;
- and storing data comprising said first-level counter and said incremented specific second-level counter value together with verification information for said data in said at least one file.
Dependencies are inferred from the claim text.