Subject: [KEYPROV] Review of PSKC KeyUSage in view of NIST sp800-57 part 1 document

From: "Philip Hoyer" <[email-masked]>
Date: Tue, 10 Feb 2009 13:13:47 +0100

Ladies and Gentlemen,

As promised here are my thoughts on the additions we could make to the
KeyUsage values we have in PSKC after reviewing the NIST SP800-57 part 1
document/

Let's quickly review the current value we describe (values in bold):

   <KeyUsage>:  The <KeyUsage> element puts constraints on the intended

      usage of the key.  The recipient of the PSKC document MUST enforce

      the key usage.  Currently, the following tokens are registered by

      this document:

      OTP:  The key MUST only be used for OTP generation.

      CR:  The key MUST only be used for Challenge/Response purposes.

      Encrypt:  The key MUST only be used for data encryption purposes.

      Integrity:  The key MUST only be used to generate a keyed message

         digest for data integrity or authentication purposes.

      Unlock:  The key MUST only be used for an inverse challenge

         response in the case a user has locked the device by entering a

         wrong PIN too many times (for devices with PIN-input

         capability).

      Decrypt:  The key MUST only be used for data decryption purposes.

      KeyWrap:  The key MUST only be used for key wrap purposes.

      The element MAY also be repeated to allow several key usages to be

      expressed.  When this element is absent then no key usage

      constraint is assumed, i.e., the key MAY be utilized for every

      usage.

Now from a review we might want to add the following additional usage
values:

Unwrap: The key MUST only be used for key unwrap purposes. (Since we
distinguish between encrypt and decrypt and allow for symmetric wrapping
keys it might be good to be able to tell the client that this key can
only be used for unwrapping other keys)

Derive:  The key MUST  only be used with a key derivation function to
derive a new key (section 8.2.4 of the NIST document) 

Generate: The key  MUST only be used to generate a new key based on a
random number and the previous value of the key. (Section  8.1.5.2.1 of
the NIST document)

Verify: The key MUST only be used to verify the digest or signatures (
is the vice verso of Integrity)

 

Also according to NIST SP800-57 part1 keys are pre-active, active, then
post-active, then deactivated, then destroyed. While post-active, the
keys have a limited use, typically for maintenance tasks, such as
supporting a key rollover.

So maybe we should introduce a status element under <Key> with the
values above.

Thoughts,

Philip

________________________________

Philip Hoyer 

Senior Architect - Office of CTO

ActivIdentity (UK)

117 Waterloo Road

London SE1 8UL

Telephone: +44 (0) 20 7960 0220

Fax: +44 (0) 20 7902 1985

Private and confidential: This message and any attachments may contain

privileged / confidential information. If you are not an intended
recipient,

you must not copy, distribute, discuss or take any action in reliance on
it.

If you have received this communication in error, please notify the
sender

and delete this message immediately.

---

From: "Hannes Tschofenig" <[email-masked]>
Date: Tue, 10 Feb 2009 14:57:40 +0200

Hi Philip, 
 
just saw this mail now (after hitting the send button about the key usage
policy). I understood your proposal differently but this proposal also looks
good to me. 
 
Ciao
Hannes

	From: Philip Hoyer [mailto:[email-masked]] 
	Sent: 10 February, 2009 14:14
	To: [email-masked]; Hannes Tschofenig; Hallam-Baker, Phillip;
[email-masked]; Pei, Mingliang; Salah Machani
	Cc: [email-masked]
	Subject: Review of PSKC KeyUSage in view of NIST sp800-57 part 1
document

	Ladies and Gentlemen,

	As promised here are my thoughts on the additions we could make to
the KeyUsage values we have in PSKC after reviewing the NIST SP800-57 part 1
document/

	 

	   <KeyUsage>:  The <KeyUsage> element puts constraints on the
intended

	      usage of the key.  The recipient of the PSKC document MUST
enforce

	      the key usage.  Currently, the following tokens are registered
by

	      this document:

	      CR:  The key MUST only be used for Challenge/Response
purposes.

	      Encrypt:  The key MUST only be used for data encryption
purposes.

	      Integrity:  The key MUST only be used to generate a keyed
message

	         response in the case a user has locked the device by
entering a

	         capability).

	      Decrypt:  The key MUST only be used for data decryption
purposes.

	      The element MAY also be repeated to allow several key usages
to be

	      usage.

	Now from a review we might want to add the following additional
usage values:

	Unwrap: The key MUST only be used for key unwrap purposes. (Since we
distinguish between encrypt and decrypt and allow for symmetric wrapping
keys it might be good to be able to tell the client that this key can only
be used for unwrapping other keys)

	Derive:  The key MUST  only be used with a key derivation function
to derive a new key (section 8.2.4 of the NIST document) 

	Generate: The key  MUST only be used to generate a new key based on
a random number and the previous value of the key. (Section  8.1.5.2.1 of
the NIST document)

	Verify: The key MUST only be used to verify the digest or signatures
( is the vice verso of Integrity)

	 

	Also according to NIST SP800-57 part1 keys are pre-active, active,
then post-active, then deactivated, then destroyed. While post-active, the
keys have a limited use, typically for maintenance tasks, such as supporting
a key rollover.

	Thoughts,

	Philip

	Philip Hoyer 

	ActivIdentity (UK)

	117 Waterloo Road

	London SE1 8UL

	Private and confidential: This message and any attachments may
contain

	you must not copy, distribute, discuss or take any action in
reliance on it.

---

From: "Philip Hoyer" <[email-masked]>
Date: Tue, 10 Feb 2009 14:05:00 +0100

I think the proposal below is more in line with what we already have.

Also the list that you sent includes asymmetric keys which we should
probably avoid mentioning in this working group altogether besides their
usage as wrapping keys.

Philip

-----Original Message-----
From: Hannes Tschofenig [mailto:[email-masked]] 
Sent: Tuesday, February 10, 2009 12:58 PM
To: Philip Hoyer; [email-masked]; 'Hallam-Baker, Phillip';
[email-masked]; 'Pei, Mingliang'; 'Salah Machani'
Cc: [email-masked]
Subject: RE: Review of PSKC KeyUSage in view of NIST sp800-57 part 1
document

Hi Philip, 
 
just saw this mail now (after hitting the send button about the key
usage
policy). I understood your proposal differently but this proposal also
looks
good to me. 
 
Ciao
Hannes

	Ladies and Gentlemen,

	As promised here are my thoughts on the additions we could make
to
the KeyUsage values we have in PSKC after reviewing the NIST SP800-57
part 1
document/

	Let's quickly review the current value we describe (values in
bold):

	      the key usage.  Currently, the following tokens are
registered
by

	      this document:

	      Unlock:  The key MUST only be used for an inverse
challenge

	         capability).

	      The element MAY also be repeated to allow several key
usages
to be

	      constraint is assumed, i.e., the key MAY be utilized for
every

	      usage.

	Unwrap: The key MUST only be used for key unwrap purposes.
(Since we
distinguish between encrypt and decrypt and allow for symmetric wrapping
keys it might be good to be able to tell the client that this key can
only
be used for unwrapping other keys)

	Derive:  The key MUST  only be used with a key derivation
function
to derive a new key (section 8.2.4 of the NIST document) 

	Generate: The key  MUST only be used to generate a new key based
on
a random number and the previous value of the key. (Section  8.1.5.2.1
of
the NIST document)

	Verify: The key MUST only be used to verify the digest or
signatures
( is the vice verso of Integrity)

	 

	Also according to NIST SP800-57 part1 keys are pre-active,
active,
then post-active, then deactivated, then destroyed. While post-active,
the
keys have a limited use, typically for maintenance tasks, such as
supporting
a key rollover.

	So maybe we should introduce a status element under <Key> with
the
values above.

	Thoughts,

	Philip

	Philip Hoyer 

	ActivIdentity (UK)

	117 Waterloo Road

	London SE1 8UL

	privileged / confidential information. If you are not an
intended
recipient,

	If you have received this communication in error, please notify
the
sender

---

From: "Hannes Tschofenig" <[email-masked]>
Date: Tue, 10 Feb 2009 15:06:38 +0200

Your proposal sounds good for me. 

Ciao
Hannes

>Sent: 10 February, 2009 15:05
>To: Hannes Tschofenig; [email-masked]; Hallam-Baker, 
>Phillip; [email-masked]; Pei, Mingliang; Salah Machani
>Cc: [email-masked]
>Subject: RE: Review of PSKC KeyUSage in view of NIST sp800-57 
>part 1 document
>
>Also the list that you sent includes asymmetric keys which we 
>should probably avoid mentioning in this working group 
>altogether besides their usage as wrapping keys.
>
>Philip
>
>Subject: RE: Review of PSKC KeyUSage in view of NIST sp800-57 
>part 1 document
>
>Hi Philip, 
> 
>just saw this mail now (after hitting the send button about 
>the key usage policy). I understood your proposal differently 
>but this proposal also looks good to me. 
> 
>Ciao
>Hannes
> 
> 
>
>
>	To: [email-masked]; Hannes Tschofenig; Hallam-Baker, 
>Phillip; [email-masked]; Pei, Mingliang; Salah Machani
>	Cc: [email-masked]
>	Subject: Review of PSKC KeyUSage in view of NIST 
>sp800-57 part 1 document
>	
>	
>
>	Ladies and Gentlemen,
>
>	As promised here are my thoughts on the additions we 
>could make to the KeyUsage values we have in PSKC after 
>reviewing the NIST SP800-57 part 1 document/
>
>	 
>
>	Now from a review we might want to add the following 
>additional usage values:
>
>	 
>
>distinguish between encrypt and decrypt and allow for 
>symmetric wrapping keys it might be good to be able to tell 
>the client that this key can only be used for unwrapping other keys)
>
>	 
>
>	Derive:  The key MUST  only be used with a key 
>derivation function to derive a new key (section 8.2.4 of the 
>NIST document) 
>
>	 
>
>	Generate: The key  MUST only be used to generate a new 
>key based on a random number and the previous value of the 
>key. (Section  8.1.5.2.1 of the NIST document)
>
>	 
>
>	Verify: The key MUST only be used to verify the digest 
>or signatures ( is the vice verso of Integrity)
>
>	 
>
>	 
>
>	 
>
>	 
>
>	Also according to NIST SP800-57 part1 keys are 
>pre-active, active, then post-active, then deactivated, then 
>destroyed. While post-active, the keys have a limited use, 
>typically for maintenance tasks, such as supporting a key rollover.
>
>	 
>
>	So maybe we should introduce a status element under 
><Key> with the values above.
>
>	 
>
>	Thoughts,
>
>	 
>
>	Philip
>
>	 
>
>	privileged / confidential information. If you are not 
>an intended recipient,
>
>	you must not copy, distribute, discuss or take any 
>action in reliance on it.
>
>	If you have received this communication in error, 
>please notify the sender
>