Subject: Re: [ltans] I-D Action:draft-ietf-ltans-dssc-12.txt

From: <[email-masked]>
Date: Thu, 1 Oct 2009 10:39:43 +0200

Hi Bill and Carl,

first remark:
you wrote
> GeneralizedTime IMHO is better than Time

but such a comparison is a bit wrong, because Time is a CHOICE type and GeneralizedTime an ASN.1 built-in type. You can always use your lovely GeneralizedTime also with the Time type, e.g.:

 LTANSValidity ::= SEQUENCE {
   start  [0] Time OPTIONAL,  -- GeneralizedTime MAY be used
   end    [1] Time OPTIONAL   -- GeneralizedTime SHOULD be used
   }

second:
Could you really give an example of an crypto algo that "has an indefinite end time"? And then you should include this example in your Appendix E.
Keeping in consideration the environmental destruction I guess that you can also use for this purpose the year 2100.

third:
I'm not sure about my level of understanding. Could you give me an example of cryptographic algorithm parameters (e.g. for RSA) which are unsuitable today but will become suitable next year? Anyway you should include such an
example in your Appendix E as well.

If you insist of having a start time, what about:

 LTANSValidity ::= SEQUENCE {
   expectedEOV     GeneralizedTime, 
   beginOfValidity GeneralizedTime OPTIONAL 
   }

based on a required suitability end time estimation (cf. section 1.1).

Concerning your remark on Extension type definition I would like to point out that the critical field in the RFC5280 definition is a DEFAULT value, so you can always drop it if you wish:

-- Extension  ::=  SEQUENCE  {
--      extnID      OBJECT IDENTIFIER,
--      critical    BOOLEAN DEFAULT FALSE,
--      extnValue   OCTET STRING

text proposal:

There is no use case for the critical BOOLEAN field in the imported from PKIX1Explicit88 definition of the Extension type, therefore conforming implementations SHOULD NOT/MUST NOT include it in a Evaluation object.

Even if this is not acceptable for you, you should rethink your definition and not only the naming. IMHO the encapsulating another structure is better then the deprecated ANY type.

Regards,
Ernst.

Carl Wallace schrieb:
> I think the name change suggestion is fine.  This can be handled during the AUTH48 period for this draft, which cleared IESG review today as this draft addressed the last of the issues.
> 
>> -----Original Message-----
>> From: [email-masked] [mailto:[email-masked]] On Behalf
>> Of Bill Russell
>> Sent: Wednesday, September 30, 2009 11:39 AM
>> To: [email-masked]; [email-masked]
>> Subject: Re: [ltans] I-D Action:draft-ietf-ltans-dssc-12.txt
>>
>> I propose that we just change the name in our draft but keep the new
>> definitions. For the Validity, GeneralizedTime IMHO is better than
>> Time, since the current year would still code as UTCTime as part of
>> that def (making it a two digit year rather than four until something
>> like 2050). And, if there is no use for a criticality field, there is
>> no sense in reusing that definition for extensions.
>>
>> -----Original Message-----
>> From: [email-masked] [mailto:[email-masked]] On Behalf
>> Of [email-masked]
>> Sent: Wednesday, September 30, 2009 10:11 AM
>> To: [email-masked]
>> Subject: Re: [ltans] I-D Action:draft-ietf-ltans-dssc-12.txt
>>
>> Hi all,
>> there are some clashes in the ASN.1 code of the draft that prevents to
>> use it with e.g. RFC3280/RFC5280.
>>
>> 1.
>> The Draft defines
>> -- Extension ::= SEQUENCE {
>> --   extensionType           OBJECT IDENTIFIER,
>> --   extension               ANY DEFINED BY extensionType
>> --   }
>>
>> which has a (presumably better defined) twin in RFC5280:
>> Extension  ::=  SEQUENCE  {
>>      extnID      OBJECT IDENTIFIER,
>>      critical    BOOLEAN DEFAULT FALSE,
>>      extnValue   OCTET STRING
>>                  -- contains the DER encoding of an ASN.1 value
>>                  -- corresponding to the extension type identified
>>                  -- by extnID
>>      }
>>
>> I suggest to import the type Extension from PKIX1Explicit88. Please
>> take into account that already since 1997 the ASN.1 types ANY/ANY
>> DEFINED BY are deprecated (http://www.itu.int/ITU-
>> T/studygroups/com07/changing-ASN.html).
>>
>>
>> 2.
>> The Draft defines
>> -- Validity ::= SEQUENCE {
>> --   start  [0] GeneralizedTime OPTIONAL,
>> --   end    [1] GeneralizedTime OPTIONAL
>> --   }
>>
>> which clashes also with a twin in RFC3280/RFC5280:
>>
>> Validity ::= SEQUENCE {
>>      notBefore      Time,
>>      notAfter       Time  }
>>
>> It seems to me that this is based on a misunderstanding already in
>> section 1.1 (Motivation)
>>
>>    Cryptographic algorithms that are used in signatures shall be
>>    selected to resist such attacks during their period of use.  For
>>    signature keys included in public key certificates, it is the
>>    validity period of the certificate.  Cryptographic algorithms that
>>    are used for encryption shall resist during the time during which it
>>    is planned to keep the information confidential.
>>
>> The validity period of a certificate is primarily *not* a period where
>> resistance against attacks is assured but "is the time interval during
>> which the CA warrants that it will maintain information about the
>> status of the certificate". If the signatures are made in a
>> authentication context, then the validity is almost the same as the
>> usage time. But if the signatures are related to a non-repudiation
>> context then the documented in the certificate validity time may be
>> longer then predicted at time of certificate generation. If the
>> algorithm becomes weaker then the certificate can be easily revoked,
>> which reduces the "usage time" immediately, leaving the "warranty time"
>> unchanged. If on the other side it turned out that the algorithm is
>> harder than predicted, it is not necessary to revoke the certificate
>> based on a still secure algorithm.
>>
>> Just another thought: For a certificate the dates notBefore and
>> notAfter make sense. But how we understand the notBefore date for
>> algorithm resistance? A certificate may become valid later, but how a
>> weak algorithm may become hard after a while?
>>
>> I would suggest to remove the Validity type and replace it by a single
>> notAfter date.
>>
>> Regards,
>> Ernst.
>> --
>> 	Ernst G Giessmann
>> 	T-Systems Enterprise Services GmbH
>> 	ICT Operations
>> 	Security and Smart Card Solutions
>> 	Goslarer Ufer 35, D-10589 Berlin
>> 	tel:+49-30-3497-4342
>>
>> Legal Notice
>> T-Systems Enterprise Services GmbH
>> Supervisory Board: René Obermann (Chairman)
>> Executive Committee: Reinhard Clemens (Chairman),
>> Dr. Ferri Abolhassan, Olaf Heyden, Joachim Langmack,
>> Dr. Matthias Schuster, Klaus Werner
>>
>> Commercial Register: Amtsgericht Frankfurt am Main, HRB 55933
>> Registered Office: Frankfurt am Main
>> WEEE-Reg.-No. DE87523644
>>
>> Importante Notice:
>> If you received this transmittal in error, please notify us
>> immediately, and delete this message and its attachments.
>> Thank you.
>>
>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: [email-masked] [mailto:[email-masked]]
>>> Im Auftrag von [email-masked]
>>> Gesendet: Mittwoch, 30. September 2009 10:00
>>> An: [email-masked]
>>> Cc: [email-masked]
>>> Betreff: [ltans] I-D Action:draft-ietf-ltans-dssc-12.txt
>>>
>>> A New Internet-Draft is available from the on-line
>>> Internet-Drafts directories.
>>> This draft is a work item of the Long-Term Archive and Notary
>>> Services Working Group of the IETF.
>>>
>>>
>>> 	Title           : Data Structure for the Security
>>> Suitability of Cryptographic Algorithms (DSSC)
>>> 	Author(s)       : T. Kunz, et al.
>>> 	Filename        : draft-ietf-ltans-dssc-12.txt
>>> 	Pages           : 48
>>> 	Date            : 2009-09-30
>>>
>>> Since cryptographic algorithms can become weak over the
>>> years, it is necessary to evaluate their security
>>> suitability.  When signing or verifying data, or when
>>> encrypting or decrypting data, these evaluations must be
>>> considered.  This document specifies a data structure that
>>> enables an automated analysis of the security suitability of
>>> a given cryptographic algorithm at a given point of time
>>> which may be in the past, at the present time or in the
>>> future.Conventions used in this document
>> ...
>>> A URL for this Internet-Draft is:
>>> http://www.ietf.org/internet-drafts/draft-ietf-ltans-dssc-12.txt
>> ...
>> _______________________________________________
>> ltans mailing list
>> [email-masked]
>> https://www.ietf.org/mailman/listinfo/ltans
>> _______________________________________________
>> ltans mailing list
>> [email-masked]
>> https://www.ietf.org/mailman/listinfo/ltans

---

From: "Carl Wallace" <[email-masked]>
Date: Thu, 1 Oct 2009 08:03:46 -0400

Re: time values, omitting UTCTime as an option seems fine to me.  Why do we need two options here?

Re: extension values, I don't see any benefit to importing Extension from the PKIX module so we can include a field that must always take its default value and use an OCTET STRING hole instead of ANY.  The normative DSSC module uses an information object class; the ANY is there only in a module included as a courtesy to folks working with old ASN1 compilers.  

Given no great need to include UTCTime nor an extension structure that includes a field that is not needed, renaming to avoid possible confusion seems sufficient.  

Your suggestions regarding alternative arrangement of OPTIONAL fields for validity were options, but the spec features two OPTIONAL fields.  You can choose to always include an end time in your policies.  The start time is not of use in the scenario you give - i.e. parameters that become valid tomorrow - but help one decide what to do with an RSA signature purportedly generated in 1947:-)  

> Sent: Thursday, October 01, 2009 4:40 AM
> To: [email-masked]
> but such a comparison is a bit wrong, because Time is a CHOICE type and
> GeneralizedTime an ASN.1 built-in type. You can always use your lovely
> GeneralizedTime also with the Time type, e.g.:
> 
> Could you really give an example of an crypto algo that "has an
> indefinite end time"? And then you should include this example in your
> Appendix E.
> Keeping in consideration the environmental destruction I guess that you
> can also use for this purpose the year 2100.
> 
> third:
> I'm not sure about my level of understanding. Could you give me an
> example of cryptographic algorithm parameters (e.g. for RSA) which are
> unsuitable today but will become suitable next year? Anyway you should
> include such an
> Concerning your remark on Extension type definition I would like to
> point out that the critical field in the RFC5280 definition is a
> DEFAULT value, so you can always drop it if you wish:
> 
> There is no use case for the critical BOOLEAN field in the imported
> from PKIX1Explicit88 definition of the Extension type, therefore
> conforming implementations SHOULD NOT/MUST NOT include it in a
> Evaluation object.
> 
> Even if this is not acceptable for you, you should rethink your
> definition and not only the naming. IMHO the encapsulating another
> structure is better then the deprecated ANY type.
> 
> Regards,
> Ernst.
> 
> 
> Carl Wallace schrieb:
> > I think the name change suggestion is fine.  This can be handled
> during the AUTH48 period for this draft, which cleared IESG review
> today as this draft addressed the last of the issues.
> >

---

From: Bill Russell <[email-masked]>
Date: Thu, 1 Oct 2009 10:13:50 -0400

Hi Ernst,

Thanks for your insight, but the thing to keep in mind is that behind the definition is also a common usage of that definition. So, while technically Time is a CHOICE, the practice of which choice to make is defined in RFC 3280 (at least in terms of validity). While RFC 3280's use of Time does not bind us, it's easier to avoid the confusion. See below from RFC 3280.

4.1.2.5  Validity

   <...>

   CAs conforming to this profile MUST always encode certificate
   validity dates through the year 2049 as UTCTime; certificate validity
   dates in 2050 or later MUST be encoded as GeneralizedTime.

   <...>

By selecting GeneralizedTime, we erase the ambiguity. RFC 3280's usage of Time I believe is one of legacy, because I imagine most would prefer a 4 digit year after Y2K.

Take care,
Bill

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of [email-masked]
Sent: Thursday, October 01, 2009 4:40 AM
To: [email-masked]
Subject: Re: [ltans] I-D Action:draft-ietf-ltans-dssc-12.txt

Hi Bill and Carl,

first remark:
you wrote

second:

third:

text proposal:

Regards,
Ernst.