US2005091496A1PendingUtilityA1

Method and system for distributed key management in a secure boot environment

Priority: Oct 23, 2003Filed: Oct 23, 2003Published: Apr 28, 2005
Est. expiryOct 23, 2023(expired)· nominal 20-yr term from priority
Inventors:Chris D. Hyser
G06F 21/575H04L 9/3236H04L 9/3247
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A methods for preparing an authenticable and verifiable image of a software module by adding to the received software module image a size and location block, an authentication block including a cryptographically protected module-specific public key and a clear-text version of the module-specific public key, and a verification block that includes a digital signature prepared from the module image. In one particular embodiment of the present invention, a next firmware-module that is to be accessed during a secure boot process is created to include a module-specific public key, a hashed and encrypted version of the module-specific public key, and a digital signature of the firmware-module image prepared using a module-specific private key.

Claims

exact text as granted — not AI-modified
1 . A method for preparing an authenticable and verifiable image of a module, the method comprising: 
 receiving a module image;    adding to the module image a size and location block;    adding to the module image an authentication block including a cryptographically protected module-specific public key and a clear-text version of the module-specific public key to produce an authenticable image; and    adding to the authenticable image a verification block that includes a digital signature prepared from the module image.    
   
   
       2 . The method of  claim 1  wherein adding to the module image a size and location block further includes: 
 adding, in a specific location, a header that includes an image size, location, and globally unique identifier describes a size and location of the firmware image within a flash memory or other non-volatile memory and that identifies a class of machines for which the firmware module has been created.    
   
   
       3 . The method of  claim 1  wherein adding to the module image an authentication block including a cryptographically protected module-specific public key and a clear-text version of the module-specific public key to produce an authenticable image further includes: 
 adding to the module image an authentication block including an encrypted, hashed module-specific public key and a clear-text version of the module-specific public key to produce an authenticable image.    
   
   
       4 . The method of  claim 1  wherein adding to the authenticable image a verification block that includes a digital signature prepared from the module image further includes: 
 adding to the authenticable image a verification block that includes a digital signature prepared by hashing the module image and encrypting the hashed module image with a module-specific private key.    
   
   
       5 . Computer instructions that together compose a program that carries out the method of method of  claim 1  stored in computer readable medium.  
   
   
       6 . A method for authenticating and verifying an authenticable and verifiable module, the method comprising: 
 extracting, from the authenticable and verifiable module, a module-specific public key and cryptographically protected data related to the module-specific public key;    comparing the cryptographically protected data with the module-specific public key to authenticate the authenticable and verifiable module;    comparing a value calculated from an image, including a size and location block, included within the authenticable and verifiable module a value extracted from a digital signature contained in a verification block within the authenticable and verifiable image to verify the authenticable and verifiable module.    
   
   
       7 . The method of  claim 6  wherein extracting, from the authenticable and verifiable module, a module-specific public key and cryptographically protected data related to the module-specific public key further includes: 
 extracting, from an authentication block at a known location within the authenticable and verifiable image, an encrypted, hashed module-specific public key and a clear-text version of the module-specific public key.    
   
   
       8 . The method of  claim 7  wherein comparing the cryptographically protected data with the module-specific public key to authenticate the authenticable and verifiable image further includes: 
 hashing the clear-text version of the module-specific public key to produce a newly hashed module-specific public key;    decrypting the encrypted, hashed module-specific public key using a first private encryption key; and    comparing the decrypted, hashed module-specific public key with the newly hashed module-specific public key.    
   
   
       9 . The method of  claim 8  wherein, when the decrypted, hashed module-specific public key is identical to the newly hashed module-specific public key, the authenticable and verifiable image is determined to be authenticated.  
   
   
       10 . The method of  claim 6  wherein comparing a value calculated from an executable image, including a size and location block, included within the authenticable and verifiable image a value extracted from a digital signature contained in a verification block within the authenticable and verifiable image to verify the authenticable and verifiable image further includes: 
 hashing an executable image, including a size and location block, included within the authenticable and verifiable image to produce a newly hashed image;    extracting a digital signature from a verification block within the authenticable and verifiable image, and decrypting the digital signature using the module-specific public key to produce an extracted hashed image;    comparing the extracted hashed image to the newly hashed image.    
   
   
       11 . The method of  claim 10  wherein, when the extracted hashed image is identical to the newly hashed image, the authenticable and verifiable image is determined to be verified.  
   
   
       12 . The method of  claim 6  employed during secure access, execution, and/or incorporation of the authenticable and verifiable image into a secure-computer processing environment, wherein, when the authenticable and verifiable image is authenticated and verified by the method of  claim 6 , the authenticable and verifiable image is accessed, executed, and/or incorporated, and when the authenticable and verifiable image is not authenticated or not verified, the authenticable and verifiable image is not executed and/or incorporated.  
   
   
       13 . The method of  claim 12  employed in the secure booting of a secure computer system, wherein, when an authenticable and verifiable image is not executed and/or incorporated, the secure boot fails.  
   
   
       14 . Computer instructions that together compose a program that carries out the method of method of  claim 6  stored in computer readable medium.  
   
   
       15 . An authenticable and verifiable image of an module stored in a computer-readable medium comprising: 
 a module image, including a size, location, and globally unique-identifier block;    an authentication block; and    a verification block.    
   
   
       16 . An authenticable and verifiable image of an module of  claim 15  wherein the authentication block contains an encrypted, hashed module-specific public key and a clear-text version of the module-specific public key to produce an authenticable image.  
   
   
       17 . An authenticable and verifiable image of an module of  claim 15  wherein the verification block that includes a digital signature prepared by hashing the module image and encrypting the hashed module image with a module-specific private key.  
   
   
       18 . A method for preparing an authenticable and verifiable image of a module, the method comprising: 
 a module-image receiving step;    a size-and-location-data adding step that adds size-and-location data to the received module image;    an authentication-adding step that adds, to the module image, authentication information including a cryptographically protected module-specific public key and a clear-text version of the module-specific public key; and    a verification-block-adding step that adds a digital signature prepared from the module image to the module image.

Join the waitlist — get patent alerts

Track US2005091496A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.