Hi Sam,
I also performed a review of the -03 version of the draft. Thought many
of the comments were already pointed out by Jim and solved in -04
version, some of them are still valid. Most of them are typos or
clarifications. I hope the will help.
Section 1.2
* "In this case, the GSS-API peer acts..:" s/GSS-API peer/GSS-API
acceptor/
Section 3.1
* Related with the GSS_C_NT_HOSTBASED_SERVICE name, I think the
textual representation should be "SERVICE@HOST" instead of
"HOST@SERVICE".
* In the sentence "but the semantics are not similar enough semantics
to use..." the second "semantics" is redundant
Section 3.3
* Surround with () the reference in the sentence "..unless the
acceptor supplies the acceptor name response Section 5.4.3.".
Section 5
* Change "The innerToken field starts with a 16-bit network byte order
token type." with "The innerToken field starts with a 16-bit network
byte order token type identifier." to be consistent with the table.
* In the figure describing the structure of the inner token, it may
not be clear if Position is given in bits or bytes (not that in the
parragraph above it talks about a 16-bit field, not a 2-byte field.
Section 5.2
* It is stated that "The subtoken type MUST be unique within a given
token". Is there any requirement or motivation for this? Won't this
limit us in the future for extensions? Just asking, cause I don't
really know.
Section 5.4
* If the optimization related with the discussion "GSS-EAP: do we need
an identity request" is specified, the text should be changed to
reflect the fact that the acceptor response when in Initial State
may not be an EAP request/identity message, but an EAP request
starting a specific EAP method.
Section 5.4.3
* Change "Typically this token would only be send if" with
"Typically this token would only be sent if"
* Change "If the initiator receivs an EAP Success message," with
"If the initiator receives an EAP Success message"
* Change "then the acceptor sends this in the Eap Request
subtoken type" with "then the acceptor sends this in the EAP Request
subtoken type"
* What happens when none of the initiator supplied target names
are applicable? An error is produced, or a name out of the proposed
list is given? If this last case applies, then the text should be
modified to reflect this fact.
Section 5.5
* In the sentence "If the EAP state machine generates an EAP success
message, then EAP believes the authentication is successful.", did
you mean "If the EAP state machine generates an EAP success message,
then EAP authenticator believes the authentication is successful."?
* There is an inconsistence between the text in the first bullet and
the text in the second bullet. In the first one, it talks about the
EAP state machine generating EAP messages. Opposite, the second one
talks about the acceptor receiving EAP messages. Though I understand
they both are correct, I think it would be better to homogeneize
and, in the fist bullet say: "If the acceptor receives an EAP
success message.....".
* Additionally, in the second bullet it is stated that an error
subtoken is sent, and GSS failure is returned. However, in the third
bullet it is stated that a subtoken is returned. The use of "send"
and "return" may result a bit confusing. I think that we may want to
homogenize this and assume that tokens are sent while GSS errors are
returned.
Section 5.6.2
* Nothing is said about the key to be used (I guess it will be the CRK
described in section 6).
Section 5.7
* I have a question here, not an issue, I'm just curious. If the
PROT_READY is never available and per-message security services
cannot be used before context establishment, how do you call to
GSS_Wrap and GSS_GetMIC to generate the Channel Bindings and MIC
subtokens?
Section 6
* s/following procedur/following procedure/
Best regards,
Alejandro
El 01/11/11 02:11, Jim Schaad escribió:
-----Original Message-----
From: Sam Hartman [mailto:[email protected]]
Sent: Sunday, October 30, 2011 4:20 PM
To: Jim Schaad
Cc: [email protected]; [email protected]
Subject: Re: [abfab] Review on gss-eap-03
"Jim" == Jim Schaad<[email protected]> writes:
Jim> Is the ABNF for "name" still wrong?
I don't think so.
What problem or oddity do you see?
Hmm.
I see that realm is only permitted if host is present. I think I've fixed
that.
I think it's correct now in 04.
That was the specific error that I saw.
Jim> section 3.4 missing
Jim> Section 4 - does/should the application get any control ovret
Jim> the set of allowable EAP methods to be used or is that purely a
Jim> fucntion of your GSS-API library
Currently no mechanism is provided for an application to enfluence this.
A mechanism probably should have system-level policy configuration.
A mechanism could expose a credential option on the initiator.
If we ever need to standardize a credential option we can, but I don't see
a
need for that now.
Jim> For consistency the paragraph: Tokens from the initiator to
Jim> acceptor use an outer token type of 06 01; tokens from acceptor
Jim> to initiator use an outer token type of 06 02. These token
Jim> types are registered in the registry of RFC 4121 token types;
Jim> see Section 8.1.
My understanding is that the ID describes which type of token (token
type) we are dealing with.
So, I've phrased it as token s with from acceptor to initiator use an
inner
token type with ID xxx.
1) token type with ID
and 2) inner not outer
Looks fine
Jim> should refer to the "token ID" rather than the "outer token
Jim> type" either that or the item in the table should be updated.
Jim> section 5.2 refers to "token type" - I think that maybe this is
Jim> the most constant phrase to be used.
I've updated the registry to talk about token type identifiers.
Jim> I will say that this version did harmonize and make the token
Jim> naming scheme much more consistent and readable. I think this
Jim> is a big improvement.
Great!
Jim> s/secondsubtoken/second subtoken/ (in the table)
Jim> Section 5.3 - Is there going to be a rule that you should send
Jim> two error subtokens in the even t\the length is greater than 8?
Jim> I can understand saying you should ignore the extended bytes
Jim> but should you really ignore the error code itself?
In 04 we have initiators MUST ignore octets beyond the GSS EAP error code
for future extensibility. Thanks for the catch.
Jim> Section 5.4 - you have different names for the acceptor name
Jim> subtokens in the description of what is permitted and the
Jim> actual subtoken names - I think you might want to harmonize
Jim> this.
Jim> Is there a rason that the EAP request subtoken is not
Jim> documented in section 5.4 since it is a required subtoken from
Jim> in the Initial State message from the acceptor?
I've added a reference. However I think it's better to document EAP
request
and response near each other.
Note that if we adopt the proposal to reduce a round trip this subtoken
goes
away from initial state.
Jim> Section 5.4.1 - I realize this is a debugging string (Vender
Jim> Subtoken) but is there any reason in this day and age not make
Jim> it a UTF8 string? (Other than it is not one for Kerbros)
It doesn't exist for Kerberos (which has no vendor string I'm aware of) so
I
don't think that's a concern.
I've made it UTF-8; I don't care.
Jim> Section 5.4.3 - Should something be said about what the
Jim> acceptor should do if the initiator sends an acceptor name
Jim> which is not completely correct for the specific acceptor. I
Jim> am thinking specifically of things like adding a host name or
Jim> adding some service specifics to the acceptor name. Is this
Jim> permitted? Or is this and error condition or since this is
Jim> typically not sent is the acceptor name from the client to be
Jim> used in all events. (unless totally wrong)
I think you mean 5.4.2 not 5.4.3?
My assumption is that you need to send a superset of what the acceptor
expects, else things will fail at channel binding. I think you want to
leave it to
channel binding to fail unless an IDP wants to implement some form of
aliasing.
In 5.4.2 s/hosntame/hostname/
I meant 5.4.3 - because I was assuming this was an Acceptor error rather
than an Initiator. That is if the Acceptor name is not a superset then it
would return an error. The question is should you both error and return the
response in some sense.
One possibility is that the Initiator sends name #1, the Acceptor replies
with name #2 and then the intiator says that this is acceptable and sends
name #2 as part of the channel binding. In this case the was no error but
the initator name is not a superset of the acceptor name that came back.
Jim> para #2 s/this token/This token/
Jim> Section 5.5 s/ACCEPTOR/acceptor/
Not fixed
Jim> The first bullet of this section is causing me some mental
Jim> problems. The acceptor cannot confirm that the protected
Jim> result and the final result are consistent - this is hidden
Jim> from the acceptor. --- or you need to be passing the protected
Jim> result as a RADIUS attribute, at which point it is not really
Jim> protected anymore.
For combined authenticators the acceptor can and should evaluate the
protected result.
For pass-through authenticators the acceptor should confirm there's AAA
success if there is EAP success.
Ok - I think this is more clear now.
Jim> The acceptor can confirm that a key has been delivered to it,
Jim> but it does not know the source of the key - i.e. was it
Jim> derived or just transmitted inside of the EAP session.
Here, we mean the security claim discussed in section 7.10 of RFC 3748,
which
probably includes transmitting a key.
Their term, not mine.
I've added a reference.
Ok
Jim> Should the acceptor or the initiator send the error subtoken -
Jim> or should the acceptor be looking for clear EAP messages and
Jim> generate a failure?
I don't understand.
Jim> I think you need to carefully re-read the section and verify
Jim> that you think it is correct.
I think it is consistent with what EAP does and what our implementation
does.
There are some disadvantages to how EAP handles failures.
We can discuss at IETF 82 if you like.
I think this would probably be a good idea - just so I can be sure that we
understand each other and what the doc says.
Jim> Setion 5.6 - Please tell me which type of channel binding I am
Jim> getting at this point. (I know it is GSS-API channel binding,
Jim> but given that two different types are discussed in the
Jim> document I think being explcit would be good.)
Also added a forward reference.
Jim> Section 6 - Is the KMSK in the "Tn = " line supposed to be
Jim> GMSK?
Yes.
Jim> Section 6.1 - I am unclear what the extension option field is
Jim> referring to please clarify.
This was all wrong and has been fixed. Thanks for the reality check.
_______________________________________________
abfab mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/abfab
_______________________________________________
abfab mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/abfab