On Mar 20, 2008, at 12:12 PM, Cullen Jennings wrote:
>
> On Mar 20, 2008, at 1:52 AM, Dean Willis wrote:
>
>>
>> On Mar 19, 2008, at 6:56 PM, Cullen Jennings wrote:
>>>
>>> And certs has the text
>>>
>>>  I-D.sip-eku [9] describes the method to validate any Extended Key
>>>  Usage values found in the certificate for a SIP domain.
>>>  Implementations MUST perform the checks prescribed by that
>>>  specification.
>>>
>>> which seems to me like it could be changed to
>>>
>>>  I-D.sip-eku [9] describes the method to validate any Extended Key
>>>  Usage values found in the certificate for a SIP domain.
>>>
>>
>>
>> So the above text means to me "If you receive a certificate for a  
>> SIP domain that contains any Extended Key Usage values, you MUST  
>> validate them according to the procedures of I-D-sip-eku [9]."
>
> I'm assuming that be above text you mean my proposed change, not the  
> the current text in the draft. I would have interpreted my proposed  
> change to mean something closer to  "As a FYI to the reader,  there  
> is another specification you might be interested in. If you want to  
> do Extended Key Usages there is this other specification, sip-eku,  
> that can be implement but implementation of the domain-certs  
> specification does not require you to implement sip-eku". If you and  
> I are reading this differently ways perhaps you could propose some   
> text for this  sentence so that there is no chance of ambiguity.


Yes, I was referring to your proposed change.

There's a reason we have 2119 language -- for reducing ambiguity in  
the discussion of requirements.

I think what you're saying is:

If the certificate presented for a SIP domain contains Extended Key  
Usage values [need a ref here for , implementations MAY validate those  
values using the techniques described in I-D.sip-eku[9].

If so, it's definitely weaker than what the original text has -- and  
qualifies (just barely) as an informative reference, IMHO.

What I had proposed is that the EKU draft have a SHOULD level  
requirement for EKU in SIP certificates (and I'd take a MAY), and that  
domain-certs have a MUST level requirement for evaluating certs that  
contain EKU. If the domain went to all the trouble to include an EKU  
in their cert, they did so for a reason. It's their cert, and people  
referring to it should us it in the manner intended by the signer. The  
signer intended the EKU constraints be applied to that cert, or they  
wouldn't have bothered putting them there.

For example, if I use a cert that says "Use only for email" to sign an  
application, are you really stupid enough to run that code?

I know you're trying to prevent a publication deadlock by changing the  
requirements here. I don't understand why you think we'll have a  
deadlock, and that might be pertinent to the discussion.

But I'm fairly sure that the requirements I think you are suggesting  
are inconsistent with reasonable handling of EKU. Of course, I could  
be wrong about that too :-).

Let's look at what RFC 3280 has to say:

4.2.1.13  Extended Key Usage

    This extension indicates one or more purposes for which the  
certified
    public key may be used, in addition to or in place of the basic
    purposes indicated in the key usage extension.  In general, this
    extension will appear only in end entity certificates.  This
    extension is defined as follows:

    id-ce-extKeyUsage OBJECT IDENTIFIER ::= { id-ce 37 }

    ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId

    KeyPurposeId ::= OBJECT IDENTIFIER

    Key purposes may be defined by any organization with a need.  Object
    identifiers used to identify key purposes MUST be assigned in
    accordance with IANA or ITU-T Recommendation X.660 [X.660].

    This extension MAY, at the option of the certificate issuer, be
    either critical or non-critical.

    If the extension is present, then the certificate MUST only be used
    for one of the purposes indicated.  If multiple purposes are
    indicated the application need not recognize all purposes indicated,
    as long as the intended purpose is present.  Certificate using
    applications MAY require that a particular purpose be indicated in
    order for the certificate to be acceptable to that application.

    If a CA includes extended key usages to satisfy such applications,
    but does not wish to restrict usages of the key, the CA can include
    the special keyPurposeID anyExtendedKeyUsage.  If the
    anyExtendedKeyUsage keyPurposeID is present, the extension SHOULD  
NOT
    be critical.

    If a certificate contains both a key usage extension and an extended
    key usage extension, then both extensions MUST be processed
    independently and the certificate MUST only be used for a purpose
    consistent with both extensions.  If there is no purpose consistent
    with both extensions, then the certificate MUST NOT be used for any
    purpose.

This seems pretty darned normative about what it means to process an  
EKU -- if present, EKU MUST be respected. Failure to do so has  
potential severe security consequences; potentially as severe as not  
paying attention to the domain name part of the certificate.
If I'm understanding the way you want to write the requirements,  
they're in direct conflict with RFC 3280. Now, it may well be that  
we've decided that this art of RFC 3280 is a Bad Idea andshould  
therefore be ignored. If that's so, then I'd like the drafts to say  
that clearly and distinctly, rather than trying to diminish-by- 
reference a MUST level requirement in another RFC.

--
Dean




_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [EMAIL PROTECTED] for questions on current sip
Use [EMAIL PROTECTED] for new developments on the application of sip

Reply via email to