Abstract:
A structured digital certificate is adapted to be certified by a digital signature of a certificate authority in an unprotected form, a first protected form, and a second protected form of the digital certificate. The digital certificate includes a first type field of authorization information relevant to a first recipient and being readable in the unprotected form and the first protected form of the digital certificate, and a first cryptographic folder containing a second type field of authorization information relevant to a second recipient and being readable in the unprotected form and the second protected form of the digital certificate, but not readable in the first protected form of the digital certificate. The digital certificate is configured to permit the subject to convert the structured digital certificate from the unprotected form to at least one of the first protected form and the second protected form. The digital certificate is convertible into the first protected form to permit the first recipient to authorize the subject of the structured digital certificate, into the second protected form to permit the second recipient to authorize the subject of the structured digital certificate.

Description:
This patent application is related to the following Non-Provisional U.S. patent applications: Ser. No. 09/483,185, entitled “AUTHORIZATION INFRASTRUCTURE BASED ON PUBLIC KEY CRYPTOGRAPHY,” Ser. No. 09/483,356, entitled “LIGHTWEIGHT PUBLIC KEY INFRASTRUCTURE EMPLOYING DISPOSABLE CERTIFICATES,” and Ser. No. 09/483,186, entitled “LIGHTWEIGHT PUBLIC KEY INFRASTRUCTURE EMPLOYING UNSIGNED CERTIFICATES,” and the following Provisional U.S. Patent Application Serial. No. 09/759,443, entitled “PUBLIC KEY VALIDATION SERVICE,” which are all filed on even date herewith, are all assigned to the same assignee as the present application, and are all herein incorporated by reference. 
    
    
     THE FIELD OF THE INVENTION 
     The present invention relates to verifying an entity&#39;s identity and/or capabilities on a data network, and more particularly, to an apparatus and method for using hierarchically structured digital certificates containing authorization information to verify the identity and/or capabilities of an entity on a data network. 
     BACKGROUND OF THE INVENTION 
     In everyday life, trust is granted between individuals based on characteristics defining the relationship of the individuals and the identity of the individual in question, such as familiarity, occupation, status, and third party voucher of the individual in question. However, trust between individuals communicating on a public internet is not typically granted in such a simple and straightforward manner, because individuals can assume almost any identity in cyberspace. While the public internet offers flexibility and freedom, the public internet also instills high levels of distrust, especially when granting authority to an individual or when transmitting private, sensitive, or confidential information. 
     On the public internet, a digital certificate is typically used to verify the identity and/or capabilities of a subject or sender of the digital certificate presented to a recipient or relying party of the digital certificate. A third party, referred to as a certificate authority or issuer of the digital certificate, researches the subject/sender desiring certification, and issues a digital certificate to the subject/sender to vouch that the subject/sender of the message is actually who they say they are. The certificate authority digitally signs the digital certificate. The subject of the digital certificate presents the signed digital certificate to the relying party who trusts the certificate authority. The relying party computes a cryptographic hash of contents of the digital certificate and uses the cryptographic hash together with a certificate authority&#39;s public key, which is readily available, to verify the digital signature. The verification of the digital signature verifies that the digital certificate was issued by the certificate authority. 
     Basic public key digital certificates contain a public key and a name associated with the sender. Extended public key certificates typically contain additional fields of authorization information not found in the basic public key certificates. Authorization certificates omit the name, and bind the public key directly to authorization information. Attribute certificates omit the public key, and bind the name to authorization information. 
     Currently, the leading digital certificate standard is X.509 version 3 (X.509v3). The X.509v3 standard is an extended public key certificate standard, which can contain additional fields of authorization information not found in the basic public key certificates. The X.509v3 standard supports Secure Sockets Layer 3.0 encryption along with other encryption schemes. Both Netscape Communicator 4.0 and Microsoft&#39;s Internet Explorer 4.0 support X509v3 certificates. 
     In X.509v3 digital certificates, each extension field has a criticality flag. The criticality flag is employed in situations where the recipient of a digital certificate is presented with one or more extension fields within the digital certificate that the recipient does not understand, perhaps because the extension field is newer than the computer program used by the recipient. If the criticality flag is not set, the recipient can ignore the unknown extension field. If the criticality flag is set, the relying party must reject the digital certificate. 
     In certain situations, it is convenient to collect information intended for multiple uses in the same digital certificate by using two or more unrelated fields within the digital certificate. This approach provides the simplicity of a single digital certificate for a wide variety of authentication and authorization needs. This approach, however, compromises confidentiality since all recipients have access to all fields, related or unrelated to the recipient&#39;s requirements. For example, a single digital certificate may grant access to a Unix platform and also grant permission to sign purchase orders. In this example, the digital certificate has first type fields that specify a user ID and group ID for the Unix platform, as well as second type fields that specify a limit on the value of purchase orders that the recipient of the digital certificate is authorized to sign. Thus, when the digital certificate is used to access the Unix platform, the second type fields (i.e., the purchase order limit) are unrelated to the recipient&#39;s requirements and may become visible to the Unix administrator, such as by being recorded on the system log. The Unix administrator has no need to know the limit on the value of purchase orders, and it would be best if this purchase order information were not disclosed unnecessarily. 
     Alternative approaches have been developed to work around the confidentiality problem that results from two or more unrelated fields residing within the same digital certificate. In a first alternative approach, confidentiality is achieved by encrypting some or all of the fields of the digital certificate. The first alternative approach only provides protection against a third party that eavesdrops on the transmission of the digital certificate to the relying party. This first alternative approach cannot provide confidentiality against the recipient itself, because the recipient needs access to the plaintext of the entire digital certificate in order to compute a cryptographic hash necessary to validate the digital certificate. 
     In a second alternative approach, the sender uses separate digital certificates instead of placing information in multiple, unrelated fields within a single digital certificate. For example, instead of using one digital certificate containing the public key and the name of the sender together with three types of fields containing authorization information for three unrelated applications, the second alternative approach uses four separate digital certificates. The four separate digital certificates include a first basic public key certificate binding the public key to the sender name, and three attribute certificates. Each attribute certificate binds the sender name to the corresponding authorization information contained in the field type of the given attribute certificate. This second alternative approach has an advantage in that the four digital certificates can be signed by four independent certificate authorities. On the other hand, the second alternative approach has the disadvantage in that it requires four digital signatures instead of one, and four transactions over a network instead of one when the certificate authority issues the digital certificate to the subject. Thus, the second approach is more computationally expensive and results in more network traffic than the certificate authority issuing a single digital certificate to the subject. 
     For reasons stated above and for other reasons presented in greater detail in the Description of the Preferred Embodiments section of the present specification, there is a need for an improved type of digital certificate and corresponding improved methods of employing the digital certificate so that when the sender of a digital certificate presents the digital certificate to the recipient of the digital certificate for a given purpose, only those fields of the digital certificate that have to be inspected by the recipient are revealed to the recipient. The desired digital certificate should provide this recipient confidentiality protection without the added computational and network traffic overhead resulting from issuing multiple digital certificates. 
     SUMMARY OF THE INVENTION 
     The present invention provides a structured digital certificate for enabling a first recipient of the structured digital certificate to authorize a sender of the structured digital certificate. The structured digital certificate includes a first type field of authorization information relevant to the first recipient and readable by the first recipient. The structured digital certificate includes a first cryptographic folder containing a second type field of authorization information relevant to a second recipient. The second type field of authorization information is not readable by the first recipient. 
     In one embodiment, the structured digital certificate includes a second cryptographic folder containing the first type field. In one embodiment, the first type field is not contained in a folder. In one embodiment, there are multiple first type fields in the structured digital certificate. 
     In one embodiment, the structured digital certificate includes a sender name and a public key associated with the sender. 
     In one embodiment of the present invention, the cryptographic folders of authorization information are structured fields, containing a plurality of nested fields. Each of the plurality of nested fields can be a folder itself. In one embodiment, the digital certificate is an X.509v3 digital certificate. The X.509v3 digital certificate may include extension fields that describe how the certification can be used. The extension fields include one or more criticality flags. In one embodiment the unrelated cryptographic folders contain an encrypted hash value. 
     The present invention also provides a method of providing confidentiality of authorization information in a digital certificate shared by multiple recipients. The method provides cryptographic folders in the digital certificate. At least one first type cryptographic folder contains at least one first type field of authorization information relevant to a first recipient. At least one second type cryptographic folder contains at least one second type field of authorization information relevant to a second recipient. The certificate authority issues the digital certificate by signing the digital certificate and sending the signed digital certificate to the subject. The subject then delivers the signed digital certificate to the first recipient. The at least one first type field of authorization information is readable by the first recipient. The at least one second type field of authorization information is not readable by the first recipient. The first recipient verifies the authenticity of the signed digital certificate. 
     The present invention further provides a method of signing a digital certificate at a certificate authority. The method provides cryptographic folders in the digital certificate having authorization information. The certificate authority closes all of the cryptographic folders in the digital certificate. A cryptographic hash of the digital certificate is computed with all folders closed. Digital certificate signature is computed with the computed cryptographic hash of the digital certificate and a private key of the certificate authority. 
     In one embodiment, a given cryptographic folder X is closed according to the present invention in the following manner. All of the nested folders in folder X are recursively closed. A cryptographic hash is computed of the contents of folder X including all recursively closed nested folders in folder X. The contents of folder X are replaced with the computed cryptographic hash of the contents of folder X. A flag is set in the header of folder X to indicate that folder X is closed. 
     The present invention also provides a method of delivering a digital certificate from a subject of the digital certificate to a recipient of the digital certificate. The method provides cryptographic folders in the digital certificate having authorization information. A digital certificate signature is transmitted from a certificate authority to the subject of the certificate. An unsigned copy of the digital certificate is transmitted from the certificate authority to the subject of the certificate. Any folders in the unsigned copy of the digital certificate that do not have authorization information relevant to the recipient are closed. The unsigned copy of the digital certificate and the digital certificate signature are transmitted from the subject of the digital certificate to the recipient. 
     In one embodiment of the present invention, the step of transmitting a copy of the unsigned digital certificate from the certificate authority to the subject of the certificate is performed over a secure delivery channel. In one embodiment, the secure delivery channel is protected via Internet Protocol Security (IPSEC). In another embodiment, the secure delivery channel is protected by Secure Sockets Layer (SSL). 
     The present invention further provides a method of verifying a signature for a digital certificate sent by a subject of the digital certificate to a recipient of the digital certificate. The method provides cryptographic folders in the digital certificate having authorization information. The recipient obtains a public key of the certificate authority corresponding to a private key used by the certificate authority to sign the digital certificate. The recipient closes any of the cryptographic folders left open in the digital certificate by the subject of the digital certificate. The recipient computes a cryptographic hash of the digital certificate. The recipient authenticates the signature for the digital certificate with the public key and the computed hash of the digital certificate. 
     The structured digital certificate and corresponding methods of employing the structural digital certificate according to the present invention offer several advantages over conventional digital certificates. A single structured digital certificate according to the present invention can be utilized for multiple, unrelated purposes and still provide recipient confidentiality protection without the added computational and network traffic overhead resulting from sending multiple digital certificates. The hierarchical structure of cryptographic folders utilized within the present invention makes it possible to disclose only those fields of the structured digital certificate that have to be inspected by the recipient for a given specific purpose. Since all but one folder of a structured digital certificate will typically be closed (i.e., contents of the folder replaced with a cryptographic hash), when the digital certificate is transmitted from the sender to the recipient over a network, the time taken to transmit the digital certificate over the network is reduced. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a structured digital certificate according to the present invention. 
     FIG. 2 is a flowchart illustrating a method of providing field confidentiality in digital certificates according to the present invention. 
     FIG. 3A is a flowchart illustrating a method of signing structured digital certificates at a certificate authority according to the present invention. 
     FIG. 3B is a flow chart illustrating a method of closing a given cryptographic folder X according to the present invention. 
     FIG. 4 is a block and data flow diagram illustrating how a signature is generated for a structured digital certificate at a certificate authority. 
     FIG. 5 is a flowchart illustrating a method of delivering a structured digital certificate and corresponding encrypted message to a message recipient according to the present invention. 
     FIG. 6 is a block and data flow diagram illustrating how a structured digital certificate is delivered to a message recipient from a certificate authority, via the subject of the certificate. 
     FIG. 7 is a flowchart illustrating a method of verifying the authenticity of a signature of a structured digital certificate according to the present invention. 
     FIG. 8 is a block and data flow diagram illustrating how a message recipient verifies the authenticity of a structured digital certificate according to the present invention. 
     FIG. 9 is a block diagram of a computer system and a corresponding computer readable medium incorporating a function for providing field confidentiality in digital certificates. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims. 
     FIG. 1 is a block diagram of a structured digital certificate  30  according to the present invention. Structured digital certificate  30  is a data structure, digitally signed by an issuer (i.e., a certificate authority), that includes authorization information about another entity, referred to as a subject (i.e., a sender). The subject of structured digital certificate  30  presents the structured digital certificate to third parties who trust the issuer of structured digital certificate  30 . The third parties are referred to as relying parties (i.e., recipients). The relying party computes a cryptographic hash of the structured digital certificate  30  and uses this hash, together with the public key of the issuer, which is readily available, to verify the digital signature of structured digital certificate  30 . 
     In one embodiment, structured digital certificate  30  is a basic public key certificate and includes a public key  32  and a sender name  34  associated with the subject of structured digital certificate  30 . In another embodiment, structured digital certificate  30  is an extended public key certificate and includes, in addition to public key  32  and sender name  34 , additional fields  36 ,  37  and/or cryptographic folders  38 ,  40 ,  42  and  44  which contain authorization information. One example of an extended public key certificate is a X.509v3 certificate, previously described in the Background of the Invention section of the present specification. 
     In one embodiment, structured digital certificate  30  includes authorization fields  36  and  37  containing authorization information used for multiple, unrelated purposes. When structured digital certificate  30  is used for one specific purpose, it is desirable to hide the information contained in unrelated fields. One example structured digital certificate  30  can be used to grant access to a UNIX platform and to also grant permission to sign purchase orders. As a result, example structured digital certificate  30  has a first type authorization field  37  that specifies a user ID and a group ID for the UNIX platform, as well as a second type authorization field  36  that specifies a limit on the value of the purchase orders that the subject is authorized to sign. When example structured digital certificate  30  is used to access the UNIX platform, all authorization fields  36  and  37  of structured digital certificate  30  may become visible to the UNIX administrator, such as by being recorded on the system log. However, the UNIX administrator has no need to know the limit on the value of purchase orders as contained in second type authentication field  36 . Thus, it is desirable to hide the information contained in second type authentication field  36  when the UNIX administrator examines structured digital certificate  30 . 
     In one embodiment, an authorization field (or fields) is kept confidential by placing the authorization field in one of the cryptographic folders  38 ,  40 ,  42 , and  44  and replacing the authorization information of the cryptographic folder with a cryptographic hash of the authorization information. This is accomplished without impairing the ability of the recipient of structured digital certificate  30  to verify the digital signature. 
     Cryptographic folders  38 ,  40 ,  42  and  44  are each a structured field, containing any number of nested fields. The nested fields can themselves be cryptographic folders. In the illustrated example, structured digital certificate  30  contains four cryptographic folders  38 ,  40 ,  42 , and  44 . Cryptographic folder  42  contains two additional cryptographic folders  46  and  48  along with authorization field  50 . Cryptographic folder  48  contains one additional cryptographic folder  52  along with authorization field  54 . 
     In one embodiment, cryptographic folders  38 ,  40 ,  42 ,  44 ,  46 ,  48 , and  52  can be in one of two states, open or closed. The current state is indicated by a flag in the header of the cryptographic folder. In X.509v3 digital certificates, each extension (i.e., authorization) field has a criticality flag. The criticality flag is employed in situations where a recipient (i.e., relying party) is presented with one or more extension fields that it does not understand, perhaps because the extension is newer than the computer program used by the relying party. If the criticality flag is not set, the relying party can ignore the unknown extension. If the criticality flag is set, the relying party rejects structured digital certificate  30 . 
     Cryptographic folders provide for increased flexibility in the use of criticality flags, but the interaction of cryptographic folders and criticality flags must be handled cautiously. An authorization field is defined recursively as being visible if it is not inside a cryptographic folder or if it is inside an open cryptographic folder which is itself visible. An application must reject a digital certificate if it contains a visible field where the criticality flag is set. 
     The issuer of the structure digital certificate  30  must ensure that a critical field is not placed inside an irrelevant cryptographic folder. Thus, if a critical field is relevant to a relying party, then, in the folder hierarchy, every cryptographic folder containing the authorization field must also be relevant to that relying party. These cryptographic folders must be open when the structured digital certificate  30  is presented to the relying party, and the critical authentication field must be visible. 
     FIG. 2 is a flowchart of a method illustrated generally at  100  for providing field confidentiality in structured digital certificates, such as the structured digital certificate  30  illustrated in FIG.  1 . At block  102 , method  100  begins by signing structured digital certificate  30  at a certificate authority. The certificate authority (i.e., issuer) of structured digital certificate  30  closes all cryptographic folders within the structured digital certificate in order to generate a signature for the structured digital certificate. The method step indicated at block  102  for signing the structured digital certificate  30  is described in greater detail in reference to FIG.  3 A. 
     After structured digital certificate  30  has been signed at block  102 , the digital certificate signature and a copy of the digital certificate with at least one cryptographic open folder is delivered to the recipient via the subject of the digital certificate, as indicated at block  104 . Only authorization information relevant to the recipient is visible to the recipient within the signed digital certificate (i.e., via open folders). The method step indicated at block  104  for delivering the structured digital certificate  30  to the recipient is described in greater detail in reference to FIG.  5 . 
     Upon receipt of the signed structured digital certificate  30 , the recipient verifies the authenticity of the signed digital certificate, as indicated at block  106 . Before verifying the signed digital certificate, the recipient closes any cryptographic folders that are left open by the subject of the digital certificate. Thus, the relying party is able to perform the signature verification independently of the state of the cryptographic folders in the copy of the structured digital certificate presented by the subject. The method step indicated at block  106  for verifying the authenticity of the structured digital certificate  30  is described in greater detail in reference to FIG.  7 . 
     FIG. 3A is a flowchart illustrating one embodiment of a method  102  for signing structured digital certificates  30  at a certificate authority. As stated previously, before structured digital certificate  30  is signed or verified, any cryptographic folders present within structured digital certificate  30  are closed. Method  102  begins by closing all of the cryptographic folders in structured digital certificate  30 , as indicated at block  110 . Next, a cryptographic hash of the structured digital certificate  30  is computed, as indicated at block  112 . The cryptographic hash can be computed by a variety of methods. In one embodiment, the cryptographic hash is computed by SHA-1. At block  114 , the digital certificate signature is computed with the computed cryptographic hash of the digital certificate and a private key of the certificate authority. 
     FIG. 3B is a flow chart illustrating one embodiment of a method  115  for closing a cryptographic folder X according to the present invention. As indicted at block  116 , all of the nested folders in folder X are recursively closed. As indicated at block  117 , a cryptographic hash is computed of the contents of folder X including all recursively closed nested folders in folder X. As indicated at block  118 , the contents of folder X are replaced with the computed cryptographic hash of the contents of folder X. As indicated at block  119 , a flag is set in the header of folder X to indicate that folder X is closed. 
     FIG. 4 is a block and data flow diagram illustrating an operation  118 , where a signature is generated for structured digital certificate  30  at the certificate authority. As indicated at block  110  of FIG. 3A, all cryptographic folders within structured digital certificate  30  must be closed before a signature can be generated. In operation  118 , the authorization information contents of open cryptographic folder  52  (i.e., the lowest level cryptographic folder within the hierarchy of cryptographic folders) is replaced with a cryptographic hash value, and cryptographic folder  52  is closed, as indicated at  120  in FIG.  4 . Next, the authorization information contents of open cryptographic folders  46  and  48  are replaced with corresponding cryptographic hash values, and cryptographic folders  46  and  48  are closed, as indicated at  122 . The authorization information contents of open top-level cryptographic folders  38 ,  40 ,  42 , and  44  within structured digital certificate  30  are then replaced with corresponding cryptographic hash values, and cryptographic folders  38 ,  40 ,  42  and  44  are closed, as indicated at  124 . At this point, the hierarchy of cryptographic folders within structured digital certificate  30  have been “flattened” such that a signature can be generated for the structured digital certificate  30 , as indicated at  126 . 
     FIG. 5 is a flowchart illustrating one embodiment of a method  104  for delivering structured digital certificate  30  to a recipient of the digital certificate. Method  104  begins by transmitting the digital certificate signature from the certificate authority (i.e., issuer) to the subject of the digital certificate, as indicated at block  130 . At block  132 , a copy of the unsigned digital certificate is transmitted from the certificate authority to the subject of the digital certificate. The subject of the digital certificate then closes any cryptographic folders in the copy of the unsigned digital certificate that the recipient does not need to see (i.e., folders do not contain authorization information relevant to the message recipient), as indicated at block  134 . Finally the copy of the unsigned digital certificate and the digital certificate signature generated by the certificate authority are transmitted from the subject of the digital certificate to the recipient of the digital certificate, as indicated at block  136 . 
     FIG. 6 is a block and data flow diagram illustrating an operation  150  where a structured digital certificate signed by a certificate authority is delivered to a recipient, via the subject of the certificate. As described previously, certificate authority  152  closes all of the cryptographic folders within structured digital certificate  30  before signing structured digital certificate  30 . After the structured digital certificate has been signed, digital certificate signature  126  is delivered to a subject  154  of the digital certificate. In addition to the digital certificate signature  126 , certificate authority  152  also delivers a copy of the structured digital certificate  158  where all of the cryptographic folders are open to the subject  154  of the digital certificate. If the copy of the structured digital certificate  158  contains sensitive information, then it becomes necessary to provide security to a delivery channel  159  between certificate authority  152  and the subject  154  of the certificate. In one embodiment, delivery channel  159  is secured by Internet Protocol Security (IPSEC). In an alternate embodiment, delivery channel  159  is secured by Secure Sockets Layer (SSL). 
     Subject  154  of the digital certificate forwards the digital certificate signature  126  to recipient  156 . Before submitting the copy of the structured digital certificate  158  to recipient  156 , subject  154  of the digital certificate closes any cryptographic folders that recipient  156  does not need to see, as indicated at  160 . 
     FIG. 7 is a flowchart illustrating one embodiment of a method  106  for verifying the authenticity of a signature of a structured digital certificate  30 . In method  106 , recipient  156  obtains a public key of the certificate authority  152  corresponding to a private key used by the certificate authority to sign the digital certificate, which is made readily available by certificate authority  152 , as indicated at block  178 . Method  106  closes any cryptographic folders left open in the copy of the structured digital certificate by subject  154  of the digital certificate, as indicated at block  180 . As indicated at block  182 , recipient  156  computes a cryptographic hash of the structured digital certificate  158  with all folders closed. As indicated at block  184 , recipient  156  verifies the signature for the digital certificate with the public key and the computed cryptographic hash of the digital certificate. 
     FIG. 8 is a block and data flow diagram illustrating an operation  210  where a message recipient verifies the authenticity of a structured digital certificate. In operation  210 , recipient  156  obtains a public key  214  of the certificate authority  152 , as indicated at  178 . Before verifying signed digital certificate  126 , recipient  156  closes all cryptographic folders that were left open by the subject  154  of the certificate  154  in the copy of the digital certificate  160 , as indicated at block  180 . As indicated at block  182 , recipient  156  computes a cryptographic hash  216  of the digital certificate  212  having all cryptographic folders closed. As indicated at block  184 , recipient  156  verifies the signature of the digital certificate  126  with the public key  214  and the computed cryptographic hash  216  of the digital certificate. 
     FIG. 9 illustrates one embodiment of a computer system  250  and an external computer readable medium  252  which can be employed according to the present invention to provide field confidentiality in digital certificates at a certificate authority to incorporate a method of signing a digital certificate; at a subject of the digital certificate to incorporate a method of delivering the digital certificate from the subject to a recipient of the digital certificate; or at the recipient of the digital certificate to incorporate a method of verifying a signature for the digital certificate. Embodiments of external computer readable medium  252  include, but are not limited to: a CD-ROM, a floppy disk, and a disk cartridge. Any one of the above methods for providing field confidentiality in digital certificates of the present invention can be implemented in a variety of compiled and interpreted computer languages. External computer readable medium  252  stores source code, object code, executable code, shell scripts and/or dynamic link libraries for any one of the above methods for providing field confidentiality in digital certificates. An input device  254  reads external computer readable medium  252  and provides this data to computer system  250 . Embodiments of input device  254  include but are not limited to: a CD-ROM reader, a floppy disk drive, and a data cartridge reader. 
     Computer system  250  includes a central processing unit  256  for executing any one of the above methods for providing field confidentiality in digital certificates according to the present invention. Computer system  250  also includes local disk storage  262  for locally storing any one of the above methods for providing field confidentiality in digital certificates before, during and after execution. Any one of the above methods for providing field confidentiality in digital certificates also utilizes memory  260  within the computer system during execution. Upon execution of any one of the above methods for providing field confidentiality in digital certificates, output data is produced and directed to an output device  258 . Embodiments of output device  258  include, but are not limited to: a computer display device, a printer, and/or a disk storage device. 
     The present invention provides a method by which the subject (i.e., sender) of a digital certificate can keep certain fields within the digital certificate confidential as the sender presents the digital certificate to a relying party (i.e., recipient). The present invention accomplishes this specific field confidentiality through a structured digital certificate which includes a hierarchical structure of cryptographic folders. In addition to providing field confidentiality, the present invention improves the speed of signature verification by the receiving party, reduces network traffic, and reduces computational overhead. 
     Although specific embodiments have been illustrated and described herein for purposes of description of the preferred embodiment, it will be appreciated by those of ordinary skill in the art that a wide variety of alternate and/or equivalent implementations calculated to achieve the same purposes may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. Those with skill in the electrical and computer arts will readily appreciate that the present invention may be implemented in a very wide variety of embodiments. This application is intended to cover any adaptations or variations of the preferred embodiments discussed herein. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.