IETF-SSH archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
RE: gssapi-with-mic
Hi Jeffrey,
I think this looks reasonable. Just one nit, I assume integ_avail would
have to be checked when GSS_S_COMPLETE is returned since some mechanisms
may not have integrity services available until then.
I don't want to document or encourage "gssapi", but I don't see anything
wrong with reusing the message format to make the transition easier.
Joe
>
> * In section 3 of the -06 document, which describes "gssapi" userauth:
> - Rename the mechanism from "gssapi" to "gssapi-with-mic"
> - When calling GSS_Init_sec_context, the client MUST set
> integ_req_flag
> - If integ_avail is false, send
> SSH_MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE
> - If integ_avail is true, send SSH_MSG_USERAUTH_GSSAPI_MIC
> (see below).
> - The server MUST reject the authentication if it gets the
> wrong message.
> - The server MAY reject authentication anyway if integ_avail is false.
>
> The SSH_MSG_USERAUTH_GSSAPI_MIC message looks like this:
>
> byte SSH_MSG_USERAUTH_GSSAPI_MIC
> string MIC
>
> The MIC is the result of calling GSS_GetMIC on the following:
>
> string session identifier
> byte SSH_MSG_USERAUTH_REQUEST
> string user name
> string service
> string "gssapi-with-mic"
>
> The message number for SSH_MSG_USERAUTH_GSSAPI_MIC is 66.
> I know this is a little different from what Joseph proposed -- what I
> describe actually involves using a different message
> depending on whether
> integrity is available, rather than sending the same message with a
> possibly empty MIC string. I did this to try to make life easier for
> people who are also implementing "gssapi" -- except for the
> method name,
> the exchange for "gssapi" is exactly the same as for
> "gssapi-with-mic" when
> integrity is not supported. That should make it easier to
> implement both
> with common code, if desired, and it also retains some semblance of
> documentation of the old method in the document. If people
> would rather
> see SSH_MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE go away
> completely, we can
> use the empty-MIC-string approach instead.
>
>
> * Section 4, describing external-keyx, is replaced entirely. The new
> mechanism is called "gssapi-keyex", and consists of a single message:
>
> byte SSH_MSG_USERAUTH_REQUEST
> string user name
> string service
> string "gssapi-keyex"
> string MIC
>
> The MIC is computed by calling GSS_GetMIC using the context
> from _initial_
> key exchange. The context from a rekey is never used; if the
> initial key
> exchange was not GSSAPI-based, then this method cannot be
> used. The MIC is
> computed over the following:
>
> string session identifier
> byte SSH_MSG_USERAUTH_REQUEST
> string user name
> string service
> string "gssapi-keyex"
>
>
>
> Reasonable?
>
> -- Jeff
>
Home |
Main Index |
Thread Index |
Old Index