[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: proposed key usaged text -- the final round
Russ Housley wrote:
> To people who still care about NR:
>
> In a last ditch hope of settling the key usage debate Tim Polk and I have
> made minor adjustments to the key usage text. We hope that this is text
> that everyone can live with (but we know that there are some people who
> will feel compelled to argue on and on and on and on and on and on ...).
Russ and Tim:
Fine. The changes are IMO enough to capture the main points that I saw
worthwhile to discuss on and on and on ;-) The inclusion of "falsely"
is now also in IMO fine, because it is clearly seen from the relying-party
viewpoint. I have just one minor comment that is most probably just a
text glitch that can easily be corrected:
The text:
The dataEncipherment bit is asserted when the subject public key
is used for enciphering user data, other than cryptographic keys.
should be:
The dataEncipherment bit is asserted when the subject public key
is used for enciphering data other than cryptographic keys.
[i.e., deleted "user" and the comma]
Thank you both for the fine job!
Have a Great Thanksgiving.
Cheers,
Ed Gerck
>
> ----Proposed text for 4.2.1.3 Key Usage
>
> 4.2.1.3 Key Usage
>
> The key usage extension defines the purpose (e.g., encipherment, sig-
> nature, certificate signing) of the key contained in the certificate.
> The usage restriction might be employed when a key that could be used
> for more than one operation is to be restricted. For example, when
> an RSA key should be used only for signing, the digitalSignature
> and/or nonRepudiation bits would be asserted. Likewise, when an RSA
> key should be used only for key management, the keyEncipherment bit
> would be asserted. When used, this extension SHOULD be marked criti-
> cal.
>
> id-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 }
>
> KeyUsage ::= BIT STRING {
> digitalSignature (0),
> nonRepudiation (1),
> keyEncipherment (2),
> dataEncipherment (3),
> keyAgreement (4),
> keyCertSign (5),
> cRLSign (6),
> encipherOnly (7),
> decipherOnly (8) }
>
> Bits in the KeyUsage type are used as follows:
>
> The digitalSignature bit is asserted when the subject public key
> is used with a digital signature mechanism to support security
> services other than non-repudiation (bit 1), certificate signing
> (bit 5), or revocation information signing (bit 6). Digital signa-
> ture mechanisms are often used for entity authentication and data
> origin authentication with integrity.
>
> The nonRepudiation bit is asserted when the subject public key is
> used to verify digital signatures used to provide a non-repudiation
> service. This service protects against the certificate subject
> falsely denying signing the data, excluding certificate or CRL
> signing. In the case of later conflict, a reliable third party may
> determine the authenticity of the signed data.
>
> Further distinctions between the digitalSignature and nonRepudiation
> bits may be provided in specific certificate policies. The values
> of the digitalSignature and nonRepudiation bits is insufficient to
> determine the intentions of the certificate subject. The context
> in which the data was signed MUST also be considered. A signature
> policy identifier embedded in the signed data MAY be used to
> explicitly provide context.
>
> The keyEncipherment bit is asserted when the subject public key is
> used for key transport. For example, when an RSA key is to be
> used for key management, then this bit shall asserted.
>
> The dataEncipherment bit is asserted when the subject public key
> is used for enciphering user data, other than cryptographic keys.
>
> The keyAgreement bit is asserted when the subject public key is
> used for key agreement. For example, when a Diffie-Hellman key is
> to be used for key management, then this bit shall asserted.
>
> The keyCertSign bit is asserted when the subject public key is
> used for verifying a signature on certificates. This bit may only
> be asserted in CA certificates. If the keyCertSign bit is
> asserted, then the cA bit in the basic constraints extension (see
> 4.2.1.10) MUST also be asserted. If the keyCertSign bit is not
> asserted, then the cA bit in the basic constraints extension MUST
> NOT be asserted.
>
> The cRLSign bit is asserted when the subject public key is used
> for verifying a signature on revocation information (e.g., a CRL).
>
> The meaning of the encipherOnly bit is undefined in the absence of
> the keyAgreement bit. When the encipherOnly bit is asserted and
> the keyAgreement bit is also set, the subject public key may be
> used only for enciphering data while performing key agreement.
>
> The meaning of the decipherOnly bit is undefined in the absence of
> the keyAgreement bit. When the decipherOnly bit is asserted and
> the keyAgreement bit is also set, the subject public key may be
> used only for deciphering data while performing key agreement.
>
> This profile does not restrict the combinations of bits that may be
> set in an instantiation of the keyUsage extension. However,
> appropriate values for keyUsage extensions for particular algorithms
> are specified in section 7.3.