Subject: Comments on draft-burdis-cat-srp-sasl-04

From: [email-masked]
Date: Mon, 7 May 2001 17:53:15 -0700 (PDT)

-There is no way for the server to say "You must negotiate a security layer" (i.e. you may negotiate a encryption or integrity layer but not no layer). I propose adding an option like "cleartext=false" to the options string.

-There is no way for the client and server to negotiate a max buffer size for the integrity/encryption layers (DIGEST-MD5, KERBEROS_V4, and GSSAPI all have this capability)

-What should the server use as it's authorization identity if it is the same as the authentication identity? Empty string or the authid? There should be one right way to do it spelled out in the spec to avoid interopability problems.

-In section 4.5 there is an extra paren at the end of the line
"bytes(H( bytes(N) )) ^ bytes( H( bytes(g) )))"

-There should be a section 4.7 to wrap up the discussion of the authentication and give implementors that warm fuzzy feeling that they're done :) Also, this section should say something about the client and server send nothing for the remaining steps.

-Section 5.2 gives no details about the wire format of the sequence number q. I assume it's 4 bytes in network byte order?

-The last word in 5.3 should be something besides "exchange". Maybe "connection"?

-I found section 5.3 kinda unclear in general. I took me a couple readings to realize you re-initialize the hmac with K each time (not once in the beggining or something). Some clarification here couldn't hurt.

-Section 5.4 ends with the word "or". Presumably this wasn't intended.

-I think section 6 (the example) would be more useful if it also contained the exchange base64 decoded to ascii for easy reading.

Thanks,
Tim

---

From: [email-masked]
Date: Tue, 8 May 2001 14:26:34 -0700 (PDT)

Excerpts From Keith Burdis <[email-masked]>:
Message
>Hmm. I like the idea of warm and fuzzy users :-) but I am not sure what you 
>mean by \"the client and server send nothing for the remaining steps\" ?

The server sends the last piece of data. In most protocol (SMTP for instance) the client has to send a blank SASL request after this and then the server sends a 235 Authentication successful. Some protocols optimise this roundtrip out but for those that don't I think it's important to say that the client MUST send an empty request.

Thanks,
Tim