Subject: RE: AD review: draft-ietf-kitten-2478bis-02

From: "Liqiang\(Larry\) Zhu" <[email-masked]>
Date: Mon, 13 Dec 2004 13:29:44 -0800

I chatted with Sam over the phone and he agreed to withdraw two of
objections below, and for the remaining one I added a note in 5 c).

   c) In the case that the chosen mechanism exchanges an odd number of
      mechanism tokens (i.e., the initiator sends the last mechanism
      token), the initiator does the following when emitting the
      negotiation message containing the last mechanism token: if the
      negState was request_mic in the first reply from the target, a
      mechlistMIC token MUST be included, otherwise the mechlistMIC
      token is OPTIONAL.  (Note that the MIC token exchange is required
      if a mechanism other than the initiator's first choice is chosen.)
      In the case that the optimistic mechanism token is the only
      mechanism token for the initiator's preferred mechanism, the
      mechlistMIC token is OPTIONAL.  Whether or not the mechlistMIC
      token is included, GSS_Init_sec_context() indicates
      GSS_S_CONTINUE_NEEDED.  Initiators that wish to be compatible with
      legacy Windows SPNEGO implementations as described in Appendix B
      should not generate a mechlistMIC token when the MIC token
      exchange is not required.  The acceptor then processes the last
      mechanism token and does one of the following:

With this, I believe all known issues/objections are addressed now.

Thanks,

-- Larry

-----Original Message-----
From: Sam Hartman [mailto:[email-masked]] 
Sent: Monday, December 13, 2004 5:45 AM
To: Liqiang(Larry) Zhu
Cc: [email-masked]
Subject: Re: AD review: draft-ietf-kitten-2478bis-02

>>>>> "Larry" == Liqiang(Larry) Zhu <[email-masked]> writes:
    Larry> It was meant to emphasize that the list should not contains
    Larry> mechanisms that the initiator does not have credentials
    Larry> for.

    Larry> New text

    Larry>    The first negotiation token sent by the initiator
    Larry> contains an ordered list of mechanisms (in decreasing
    Larry> preference order, favorite mechanism first), and optionally
    Larry> the initial mechanism token for the preferred mechanism of
    Larry> the initiator (i.e., the first in the list).  (Note that
    Larry> the list MUST NOT contain mechanisms for which the client
    Larry> does not have appropriate credentials.)

I believe this is more clear but I believe it is wrong.  Let's say I get
credentials for SPNEGO and then add credentials for Kerberos to my
credentials.  If I then try and initiate a context, and the set of
mechanisms SPNEGO negotiates includes SPKM by default, it is reasonable
for me to end up with a SPKM context.  The actual SPKM credentials used
come from inside the SPNEGO credentials.

    Larry> Is this a bit clearer?

    >> What happens if it is absent?

    Larry> Fixed. GSS_Init_sec_context() should indicate
    Larry> GSS_S_DEFECTIVE_TOKEN.

I actually meant what value is assumed if it is absent in the second and
following messages?

    >> Isn't the mechlistmic also required if a mechanism other than
    >> the
>> initiator's first choice chosen?

    Larry> Yes, but the acceptor must send reqest_mic in that case too

Sure, but my point is that an client must require the MIC even if it is
talking to an incorrect implementation (read attacker) that does not
send request_mic when required.

Thanks much for the quick response.

--Sam

_______________________________________________
Kitten mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/kitten

---

From: Jeffrey Hutzelman <[email-masked]>
Date: Mon, 13 Dec 2004 18:02:58 -0500

> objections below, and for the remaining one I added a note in 5 c).

Um.  So what text did we end up with for not negotiating a mechanism you 
don't have credentials for?  Do we have the original text, or the new text 
you proposed, or something else?

-- Jeff

---

From: Nicolas Williams <[email-masked]>
Date: Wed, 15 Dec 2004 02:27:25 -0600

Is it sufficiently clear that foreknowledge of how many tokens a given
mechanism will need is not needed?

Nico
--