IP Library › Granted Patent US 11,398,906
Granted Patent B2
US 11,398,906 · App. 17/554,840 · Granted Jul 26, 2022

Confirming receipt of audit records for audited use of a cryptographic key

Inventor: Ernest Brickell (Hillsboro, OR)
Assignee: BRICKELL CRYPTOLOGY LLC
H04L9/0894G06F21/71H04L9/0819H04L9/0897H04L63/062G06F2221/2101
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 11,398,906
App. No.
17/554,840
Granted
Jul 26, 2022
Kind
B2
Abstract

Methods and apparati for auditing uses of audited cryptographic keys. In a method embodiment of the present invention, a set of audited uses for an audited cryptographic key is defined; the key is used inside a protected execution environment of a digital computer; a digitally signed audit record describing an instance of use of the audited cryptographic key is released for each audited use of the audited cryptographic key; a signed receipt of digitally signed audit records is received from an auditor; a digital signature of the signed receipt of the auditor is verified inside the protected execution environment using a public verification key of the auditor; the set of audit records that have not been verified by the auditor is determined; a set of allowable conditions for the set of non-verified audit records is stored; and the protected execution environment is prevented from outputting the results of an instance of an audited use of the audited cryptographic key when the set of non-verified audit records does not meet all of the conditions in the set of allowable conditions.

Claims (40)

1. Method for auditing use of an audited cryptographic key, said method comprising the steps of:

defining a set of audited uses for the audited cryptographic key;

using the audited cryptographic key inside a protected execution environment in an instance of an audited use of the audited cryptographic key;

for each instance of an audited use of the audited cryptographic key, releasing a digitally signed audit record describing said instance of use of the audited cryptographic key;

receiving from an auditor a signed receipt of received digitally signed audit records by the auditor;

verifying a digital signature of the signed receipt of the auditor inside the protected execution environment using a public verification key of the auditor;

determining the set of audit records that have not been verified by the auditor;

storing a set of allowable conditions for the set of non-verified audit records; and

preventing the protected execution environment from outputting the results of an instance of an audited use of the audited cryptographic key when the set of non-verified audit records does not meet all of the conditions in said set of allowable conditions.

2. Method of claim 1 , where one of the allowable conditions is that the total number of instances of non-verified audit records is less than some fixed value stored in the protected execution environment.

3. Method of claim 1 , where one of the allowable conditions is that there is no instance of a non-verified audit record for an audit record that is older than some fixed amount of time stored in the protected execution environment.

4. Method of claim 1 , where the auditor can determine whether there is an instance of an audited use of the audited cryptographic key for which the auditor has not received a signed audit record.

5. Method for auditing use of a audited cryptographic key, said method comprising the steps of:

defining a set of audited uses for the audited cryptographic key;

using the audited cryptographic key inside a protected execution environment in an instance of an audited use of the audited cryptographic key;

for each instance of an audited use of the audited cryptographic key, releasing a digitally signed audit record describing said instance of use of the audited cryptographic key;

receiving from an auditor a digitally signed receipt of received audit records by the auditor;

verifying a digital signature of the signed receipt of the auditor inside the protected execution environment using a public verification key of an auditor; and

preventing the protected execution environment from outputting the results of an instance of an audited use of the audited cryptographic key when the protected execution environment has not verified a digital signature of a signed receipt of an audit record for that instance of an audited use of the audited cryptographic key.

6. A computing device comprising:

a protected execution environment in which an application can execute without attack from outside a trusted computing base of the protected execution environment;

an audited cryptographic key held securely in the protected execution environment;

a set of audited uses for the audited cryptographic key;

a digitally signed audit record comprising a multitude of instances of audited uses of the audited cryptographic key;

a public verification key of an auditor contained in the protected execution environment;

a signed receipt of an audit record from the auditor which has been verified by the public verification key of the auditor;

a set of unverified audit records, which have not been verified by the auditor

a set of allowable conditions for the set of audit records that have not been verified by the auditor; and

a blocking module that keeps the protected execution environment from outputting the results of an instance of an audited use of the audited cryptographic key when the set of non-verified audit records does not meet all of the conditions in said set of allowable conditions.

7. Computing device of claim 6 , where one of the allowable conditions is that the total number of instances of non-verified audit records is less than some fixed value stored in the protected execution environment.

8. Computing device of claim 6 , where one of the allowable conditions is that there is no instance of a non-verified audit record that is older than some fixed amount of time stored in the protected execution environment.

9. Computing device of claim 6 , where the auditor can determine whether there is an instance of an audited use of the audited cryptographic key for which the auditor has not received a signed audit record.

10. A computing device comprising:

a protected execution environment in which an application can execute without attack from outside a trusted computing base of the protected execution environment;

an audited cryptographic key held securely in the protected execution environment;

a set of audited uses for the audited cryptographic key;

a digitally signed audit record comprising a multitude of instances of audited uses of the audited cryptographic key;

a public verification key of an auditor contained in the protected execution environment;

a signed receipt from the auditor which has been verified by the public verification key of the auditor and which indicates which instances of audited uses of the audited cryptographic key have been verified by the auditor; and

a blocking mechanism that keeps the protected execution environment from outputting the results of an instance of an audited use of the audited cryptographic key when the protected execution environment has not verified a digital signature of a signed receipt of an audit record for that instance of an audited use of the audited cryptographic key.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2022
From: BRICKELL, ERNEST
To: BRICKELL CRYPTOLOGY LLC
Reel/Frame 059308/0668 →
Continuity (5)
Continuation In Part 17384551 · Jul 23, 2021
Division 16951553 · Nov 18, 2020
Division 16680009 · Nov 11, 2019
Continuation In Part 15348210 · Nov 10, 2016
Related Publication 20220109567A1 · Apr 7, 2022
Cited By (1)
US 12,726,364