Patent US6157721A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6157721A Expired / Lapsed US ⏱️ 0.0 years remaining

Systems and methods using cryptography to protect secure computing environments

Assignee: Intertrust Technologies Corp
•
Filing: 1996-08-12
•
Granted: 2000-12-05
•
Expires: 2016-08-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Secure computation environments are protected from bogus or rogue load modules, executables and other data elements through use of digital signatures, seals and certificates issued by a verifying authority. A verifying authority--which may be a trusted independent third party--tests the load modules or other executables to verify that their corresponding specifications are accurate and complete, and then digitally signs the load module or other executable based on tamper resistance work factor classification. Secure computation environments with different tamper resistance work factors use different verification digital signature authentication techniques (e.g., different signature algorithms and/or signature verification keys)--allowing one tamper resistance work factor environment to protect itself against load modules from another, different tamper resistance work factor environment. Several dissimilar digital signature algorithms may be used to reduce vulnerability from algorithm compromise, and subsets of multiple digital signatures may be used to reduce the scope of any specific compromise.

Inventors

  • 👤 Victor H. Shear
  • 👤 W. Olin Sibert
  • 👤 David M. Van Wie

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 23:56
CPC Classifications
G; G06; G06Q; G06Q20/00; G06Q20/08; G06Q20/12; G06F; G06F21/00; G06F21/10; G06F21/50; G06F21/51; G06Q20/02; G06Q20/085; G06Q20/22; G06Q20/24; G06Q20/30; G06Q20/36; G06Q20/367; G06Q20/3674; G06Q20/38; G06Q20/382; G06Q20/3823; G06Q20/3825; G06Q20/40; G06Q20/401; G11; G11B; G11B20/00; G11B20/00086; G11B20/00137; G11B20/00159; G11B20/00188; G11B20/0021; G11B20/00485; G11B20/00557; G11B20/0071; G11B20/00731; G11B20/00746; G11B20/00753; G11B20/00768; G11B27/00; G11B27/02; G11B27/031; G11B27/10; G11B27/19; G11B27/28; G11B27/32; G11B27/327; G11B27/329; H; H04; H04L; H04L12/00; H04L12/28; H04L12/40; H04L12/40052; H04L12/40104; H04L12/40117; G06F12/00; G06F12/14; G06F12/1458; G06F12/1483; G06F2211/00; G06F2211/007; G11B20/00166; G11B20/00173; G11B20/00195; G11B20/00543; G11B20/00681; G11B20/00688; G11B2220/00; G11B2220/20; G11B2220/21; G11B2220/215; G11B2220/216; G11B2220/218; G11B2220/25; G11B2220/2537; G11B2220/2562; G11B2220/2575

Claims Analysis

Total Claims: 57
Claim 1
Independent Claim 126 words
A security method comprising: (a) digitally signing a first load module with a first digital signature designating the first load module for use by a first device class; (b) digitally signing a second load module with a second digital signature different from the first digital signature, the second digital signature designating the second load module for use by a second device class having at least one of tamper resistance and security level different from the at least one of tamper resistance and security level of the first device class; (c) distributing the first load module for use by at least one device in the first device class; and (d) distributing the second load module for use by at least one device in the second device class.
Claim 2
Dependent Claim 126 words
A security method comprising: (a) digitally signing a first load module with a first digital signature designating the first load module for use by a first device class; (b) digitally signing a second load module with a second digital signature different from the first digital signature, the second digital signature designating the second load module for use by a second device class having at least one of tamper resistance and security level different from the at least one of tamper resistance and security level of the first device class; (c) distributing the first load module for use by at least one device in the first device class; and (d) distributing the second load module for use by at least one device in the second device class.
Claim 3
Dependent Claim 36 words
A method as in claim 1 further including the step of using the first and second digital signatures to prevent the tamper resistances or security levels of the first and second device classes from becoming equal.
Claim 4
Dependent Claim 38 words
A method as in claim 1 further including the step of conditionally executing, based at least in part on authenticating the first digital signature, the first load module with a first electronic appliance within the first device class.
Claim 5
Dependent Claim 49 words
A method as in claim 3 further including the step of conditionally executing, based at least in part on authenticating the second digital signature, the second load module with a second electronic appliance different from the first electronic appliance, the second electronic appliance being within the second device class.
Claim 6
Dependent Claim 54 words
A software verifying method comprising: (a) testing a load module having at least one specification associated therewith, the specification describing one or more functions performed by the load module; (b) verifying that the load module satisfies the specification; and (c) issuing at least one digital certificate attesting to the results of the verifying step.
Claim 7
Dependent Claim 54 words
A software verifying method comprising: (a) testing a load module having at least one specification associated therewith, the specification describing one or more functions performed by the load module; (b) verifying that the load module satisfies the specification; and (c) issuing at least one digital certificate attesting to the results of the verifying step.
Claim 8
Independent Claim 134 words
A method of authenticating a load module comprising: (a) authenticating a first digital signature associated with some or all of the load module, including the step of employing a first one-way hash algorithm, a first decryption algorithm, and a first public key key, the first public key secured behind a tamper resistant barrier and therefore hidden from the user; and (b) authenticating a second digital signature associated with the same portion of the load module as the first digital signature is associated with, including the step of employing at least one of: (i) a second one-way hash algorithm that is different from the first one-way hash algorithm, (ii) a second decryption algorithm that is different from the first decryption algorithm, and (iii) a second public key that is different from the first public key.
Claim 9
Independent Claim 134 words
A method of authenticating a load module comprising: (a) authenticating a first digital signature associated with some or all of the load module, including the step of employing a first one-way hash algorithm, a first decryption algorithm, and a first public key key, the first public key secured behind a tamper resistant barrier and therefore hidden from the user; and (b) authenticating a second digital signature associated with the same portion of the load module as the first digital signature is associated with, including the step of employing at least one of: (i) a second one-way hash algorithm that is different from the first one-way hash algorithm, (ii) a second decryption algorithm that is different from the first decryption algorithm, and (iii) a second public key that is different from the first public key.
Claim 10
Dependent Claim 26 words
A method as in claim 6 further including the step of randomly selecting one of step (a) and step (b) prior to executing the load module.
Claim 11
Dependent Claim 34 words
A method as in claim 6 wherein: (i) step (a) is performed by a first electronic appliance, and (ii) step (b) is performed by a second electronic appliance different from the first electronic appliance.
Claim 12
Independent Claim 78 words
A method of distinguishing between trusted and untrusted load modules comprising: (a) receiving a load module, (b) determining whether the load module has an associated digital signature, (c) if the load module has an associated digital signature, authenticating the digital signature using at least one public key secured behind a tamper resistant barrier and therefore hidden from the user; and (d) conditionally executing the load module based at least in part on the results of authenticating step (c).
Claim 13
Independent Claim 78 words
A method of distinguishing between trusted and untrusted load modules comprising: (a) receiving a load module, (b) determining whether the load module has an associated digital signature, (c) if the load module has an associated digital signature, authenticating the digital signature using at least one public key secured behind a tamper resistant barrier and therefore hidden from the user; and (d) conditionally executing the load module based at least in part on the results of authenticating step (c).
Claim 14
Independent Claim 82 words
A method of increasing the security of a virtual distribution environment comprising plural interoperable protected processing environments having different security levels, the method comprising: (a) classifying the plural protected processing environments based on security level, (b) distributing different verification public keys to different protected processing environments having different security level classifications, and (c) using the distributed verification public keys to authenticate load modules, including the step of preventing protected processing environments having different security level classifications from executing the same load module.
Claim 15
Independent Claim 82 words
A method of increasing the security of a virtual distribution environment comprising plural interoperable protected processing environments having different security levels, the method comprising: (a) classifying the plural protected processing environments based on security level, (b) distributing different verification public keys to different protected processing environments having different security level classifications, and (c) using the distributed verification public keys to authenticate load modules, including the step of preventing protected processing environments having different security level classifications from executing the same load module.
Claim 16
Dependent Claim 21 words
A method as in claim 10 further including the step of maintaining the distributed verification public keys within tamper resistant barriers.
Claim 17
Dependent Claim 23 words
A method as in claim 10 further including the step of digitally signing each load module with at least two different, independent techniques.
Claim 18
Dependent Claim 49 words
A method as in claim 10 further including the step of testing whether the load module satisfies at least one specification describing one or more functions of the load module, and digitally signing the load module and the associated specification if the testing step reveals the specification is satisfied.
Claim 19
Dependent Claim 64 words
A first protected processing environment comprising: a first tamper resistant barrier having a first security level, and at least one arrangement within the first tamper resistant barrier that prevents the first protected processing environment from executing the same load module accessed by a second protected processing environment having a second tamper resistant barrier with a second security level different from the first security level.
Claim 20
Dependent Claim 64 words
A first protected processing environment comprising: a first tamper resistant barrier having a first security level, and at least one arrangement within the first tamper resistant barrier that prevents the first protected processing environment from executing the same load module accessed by a second protected processing environment having a second tamper resistant barrier with a second security level different from the first security level.
Claim 21
Dependent Claim 18 words
A protected processing environment as in claim 14 wherein the preventing arrangement includes a digital signature authenticating circuit.
Claim 22
Dependent Claim 26 words
A protected processing environment as in claim 14 wherein the preventing arrangement includes first and second digital signature authenticating circuits applying different digital signature authenticating techniques.
Claim 23
Dependent Claim 26 words
A protected processing environment as in claim 14 wherein the preventing arrangement comprises means for randomly selecting between first and second, different digital signature authentication techniques.
Claim 24
Independent Claim 57 words
A method for protecting a first computing arrangement surrounded by a first tamper resistant barrier having a first security level, the method including: preventing the first computing arrangement from using the same software module accessible by a second computing arrangement having a second tamper resistant barrier with a second security level different from the first security level.
Claim 25
Independent Claim 57 words
A method for protecting a first computing arrangement surrounded by a first tamper resistant barrier having a first security level, the method including: preventing the first computing arrangement from using the same software module accessible by a second computing arrangement having a second tamper resistant barrier with a second security level different from the first security level.
Claim 26
Dependent Claim 30 words
A method as in claim 19 wherein the preventing step comprises: authenticating at least one digital signature associated with the first computing arrangement as corresponding to the first security level.
Claim 27
Independent Claim 57 words
A method of protecting computing arrangements comprising: (a) associating plural digital signatures with a load module; (b) authenticating a first subset of the plural digital signatures with a first tamper resistant computing arrangement; and (c) authenticating a second subset of the plural digital signatures with a second tamper resistant computing arrangement different from the first computing arrangement.
Claim 28
Independent Claim 57 words
A method of protecting computing arrangements comprising: (a) associating plural digital signatures with a load module; (b) authenticating a first subset of the plural digital signatures with a first tamper resistant computing arrangement; and (c) authenticating a second subset of the plural digital signatures with a second tamper resistant computing arrangement different from the first computing arrangement.
Claim 29
Dependent Claim 83 words
A computer security method comprising: digitally signing, using a first digital signing technique, a first executable designating the first executable for use by a first device class; and digitally signing, using a second digital signing technique different from the first digital signing technique, a second executable designating the second executable for use by a second device class having at least one of tamper resistance and security level different from the at least one tamper resistance and security level of the first device class.
Claim 30
Dependent Claim 83 words
A computer security method comprising: digitally signing, using a first digital signing technique, a first executable designating the first executable for use by a first device class; and digitally signing, using a second digital signing technique different from the first digital signing technique, a second executable designating the second executable for use by a second device class having at least one of tamper resistance and security level different from the at least one tamper resistance and security level of the first device class.
Claim 31
Dependent Claim 38 words
A method as in claim 21 further including the step of using the first and second digital signatures to prevent the tamper resistances or security levels of the first and second device classes from collapsing into one another.
Claim 32
Dependent Claim 36 words
A method as in claim 21 further including the step of conditionally executing the first executable based at least in part on authenticating the first executable with a first electronic appliance within the first device class.
Claim 33
Dependent Claim 37 words
A method as in claim 23 further including the step of conditionally executing the second executable with a second electronic appliance different from the first electronic appliance, the second electronic appliance being within the second device class.
Claim 34
Dependent Claim 48 words
A software verifying method comprising: testing an executable having at least one specification associated therewith, the specification describing one or more functions of the load module; verifying that the executable satisfies the specification; and issuing at least one digital certificate attesting to the results of the verifying step.
Claim 35
Dependent Claim 48 words
A software verifying method comprising: testing an executable having at least one specification associated therewith, the specification describing one or more functions of the load module; verifying that the executable satisfies the specification; and issuing at least one digital certificate attesting to the results of the verifying step.
Claim 36
Independent Claim 130 words
A method of authenticating an executable comprising: (a) authenticating a first digital signature associated with some or all of the executable, including the step of employing a first one-way hash algorithm, a first decryption algorithm, and a first public key, the first public key secured behind a tamper resistant barrier and therefore hidden from the user; and (b) authenticating a second digital signature associated with the same portion of the executable as the first digital signature is associated with, including the step of employing at least one of: (i) a second one-way hash algorithm that is different from the first one-way hash algorithm, (ii) a second decryption algorithm that is different from the first decryption algorithm, and (iii) a second public key that is different from the first public key.
Claim 37
Independent Claim 130 words
A method of authenticating an executable comprising: (a) authenticating a first digital signature associated with some or all of the executable, including the step of employing a first one-way hash algorithm, a first decryption algorithm, and a first public key, the first public key secured behind a tamper resistant barrier and therefore hidden from the user; and (b) authenticating a second digital signature associated with the same portion of the executable as the first digital signature is associated with, including the step of employing at least one of: (i) a second one-way hash algorithm that is different from the first one-way hash algorithm, (ii) a second decryption algorithm that is different from the first decryption algorithm, and (iii) a second public key that is different from the first public key.
Claim 38
Dependent Claim 25 words
A method as in claim 26 further including the step of randomly selecting one of step (a) and step (b) prior to executing the executable.
Claim 39
Dependent Claim 34 words
A method as in claim 26 wherein: (i) step (a) is performed by a first electronic appliance, and (ii) step (b) is performed by a second electronic appliance different from the first electronic appliance.
Claim 40
Independent Claim 73 words
A method of distinguishing between trusted and untrusted executables comprising: (a) receiving a executable, (b) determining whether the executable has an associated digital signature, (c) if the executable has an associated digital signature, authenticating the digital signature using at least one public key secured behind a tamper resistant barrier and therefore hidden from the user; and (d) conditionally executing the executable based at least in part on the results of authenticating step (c).
Claim 41
Independent Claim 73 words
A method of distinguishing between trusted and untrusted executables comprising: (a) receiving a executable, (b) determining whether the executable has an associated digital signature, (c) if the executable has an associated digital signature, authenticating the digital signature using at least one public key secured behind a tamper resistant barrier and therefore hidden from the user; and (d) conditionally executing the executable based at least in part on the results of authenticating step (c).
Claim 42
Independent Claim 75 words
A method of increasing the security of plural interoperable secure execution spaces having different security levels, the method comprising: (a) classifying the plural secure execution spaces based on security level, (b) distributing different verification public keys to different secure execution spaces having different security level classifications, and (c) using the distributed verification public keys to authenticate executables, including the step of preventing secure execution spaces having different security level classifications from executing the same executable.
Claim 43
Independent Claim 75 words
A method of increasing the security of plural interoperable secure execution spaces having different security levels, the method comprising: (a) classifying the plural secure execution spaces based on security level, (b) distributing different verification public keys to different secure execution spaces having different security level classifications, and (c) using the distributed verification public keys to authenticate executables, including the step of preventing secure execution spaces having different security level classifications from executing the same executable.
Claim 44
Dependent Claim 21 words
A method as in claim 30 further including the step of maintaining the distributed verification public keys within tamper resistant enclosures.
Claim 45
Dependent Claim 27 words
A method as in claim 30 further including the step of digitally signing each executable with at least two different, independent techniques or by different verifying authorities.
Claim 46
Dependent Claim 46 words
A method as in claim 30 further including the step of testing whether the executable satisfies at least one specification at least in part describing the executable operation, and digitally signing the executable and associated specification if the testing step reveals the executable satisfies the specification.
Claim 47
Dependent Claim 67 words
A protected processing environment comprising: a first tamper resistant barrier having a first security level, a first secure execution space, and at least one arrangement within the first tamper resistant barrier that prevents the first secure execution space from executing the same executable accessed by a second secure execution space having a second tamper resistant barrier with a second security level different from the first security level.
Claim 48
Dependent Claim 67 words
A protected processing environment comprising: a first tamper resistant barrier having a first security level, a first secure execution space, and at least one arrangement within the first tamper resistant barrier that prevents the first secure execution space from executing the same executable accessed by a second secure execution space having a second tamper resistant barrier with a second security level different from the first security level.
Claim 49
Dependent Claim 18 words
A secure execution space as in claim 34 wherein the preventing arrangement includes a digital signature authenticating circuit.
Claim 50
Dependent Claim 26 words
A secure execution space as in claim 35 wherein the preventing arrangement includes first and second digital signature authenticating circuits applying different digital signature authenticating techniques.
Claim 51
Dependent Claim 26 words
A secure execution space as in claim 34 wherein the preventing arrangement comprises means for randomly selecting between first and second, different digital signature authentication techniques.
Claim 52
Independent Claim 57 words
A method for protecting a first computing arrangement surrounded by a first tamper resistant barrier having a first security level, the method including: preventing the first computing arrangement from using the same software module accessed by a second computing arrangement having a second tamper resistant barrier with a second security level different from the first security level.
Claim 53
Independent Claim 57 words
A method for protecting a first computing arrangement surrounded by a first tamper resistant barrier having a first security level, the method including: preventing the first computing arrangement from using the same software module accessed by a second computing arrangement having a second tamper resistant barrier with a second security level different from the first security level.
Claim 54
Dependent Claim 30 words
A method as in claim 38 wherein the preventing step comprises authenticating at least one digital signature associated with the first computing arrangement as corresponding to the first security level.
Claim 55
Independent Claim 55 words
A method of protecting computing arrangements comprising: (a) associating plural digital signatures with an executable; (b) authenticating a first subset of the plural digital signatures with a first tamper resistant computing arrangement; and (c) authenticating a second subset of the plural digital signatures with a second tamper resistant computing arrangement different from the first environment.
Claim 56
Independent Claim 55 words
A method of protecting computing arrangements comprising: (a) associating plural digital signatures with an executable; (b) authenticating a first subset of the plural digital signatures with a first tamper resistant computing arrangement; and (c) authenticating a second subset of the plural digital signatures with a second tamper resistant computing arrangement different from the first environment.
Claim 57
Dependent Claim 28 words
A method as in claim 40 wherein the associating step (a) comprises digitally signing the executable with first and second, different verifying authorities within a web of trust.

References Cited (Backward Citations)

US3609697A Cited
US3573747A Cited
US3798359A Cited
US3798605A Cited
US3798360A Cited
US3796830A Cited
US3806882A Cited
US3931504A Cited
US3829833A Cited
US3911397A Cited
US3924065A Cited
US3946220A Cited
US3956615A Cited
US3970992A Cited
US3906448A Cited
US4270182A Cited
US3958081A Cited
US4209787A Cited
US4112421A Cited
US4217588A Cited
US4071911A Cited
US4196310A Cited
US4163280A Cited
US4048619A Cited
US4120030A Cited
US4200913A Cited
US4232193A Cited
US4220991A Cited
US4168396A Cited
US4278837A Cited
US4262329A Cited
US4253157A Cited
US4265371A Cited
US4232317A Cited
US4305131A Cited
US4337483A Cited
US4323921A Cited
US4236217A Cited
US4465901A Cited
US4309569A Cited
US4319079A Cited
US4328544A Cited
US4375579A Cited
US4306289A Cited
US4361877A Cited
US4434464A Cited
US4528588A Cited
US4595950A Cited
US4513174A Cited
US4446519A Cited
US4433207A Cited
US4471163A Cited
US4670857A Cited
US4593353A Cited
US4454594A Cited
US4442486A Cited
US4553252A Cited
US4458315A Cited
US4589064A Cited
US4683553A Cited
US4593183A Cited
US4484217A Cited
US4494156A Cited
US4462076A Cited
US4462078A Cited
US4558176A Cited
US4807288A Cited
US4528643A Cited
US4588991A Cited
GB2136175B Cited
US4680731A Cited
US4593376A Cited
US4597058A Cited
EP0128672A1 Cited
US4658093A Cited
EP0135422A1 Cited
US4584641A Cited
US4562306A Cited
US5103392A Cited
US4768087A Cited
US4652990A Cited
US4558413A Cited
US4740890A Cited
US4577289A Cited
US4646234A Cited
US4672572A Cited
US4712238A Cited
US4791565A Cited
US4562495A Cited
US4634807A Cited
US4747139A Cited
BE900479A Cited
US4903296A Cited
US4644493A Cited
US4696034A Cited
US4677434A Cited
EP0180460B1 Cited
US4757534A Cited
US4701846A Cited
US4713753A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-12-05 2004-06-05 2004-12-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-12-05 2008-06-05 2008-12-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-12-05 2012-06-05 2012-12-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag