[Emu] Review of draft-ietf-emu-eap-tunnel-method

2012-03-25 Thread Sam Hartman


1) TEAP extends TLS RFC 5077

In section 2, TEAP discusses using phase 2 TLVs to include a TLS session
ticket and an associated secret key.
RFc 5077 only permits session tickets to be sent using the session
ticket message. I believe that  this is an extension to TLS that would
need to go through the TLS working group.

My preference is to remove TLS tickets sent via a manner other than the
session ticket handshake message.
If support for this is needed a better solution that does not involve
changing TLS would be to provision a key for use with a TLS preshared
key ciphersuite.

2) TEAP server is separate architectural element from inner server

So, in section 2 the document  says that the TEAP server and inner
server are separate architectural elements.
However, in section 1 a design goal was avoiding MITM attacks.

To meet that goal and to have an architecture where these servers are
separate, a lot more clarity is required around what a MITM is and what
is an acceptable intermediate.
I also suspect significant security analysis will be required on this
point.

Let's start by coming up with a clear definition of what a MITM is for
this protocol and work from there.
Section 7.3 is inadequate.
It does not clearly explain who is involved in the trust relationship.
IN particular, does the peer need to trust the intermediate, or do the
inner servers need to trust the intermediate or both?

I think it depends for different vulnerabilities.

In order to understand the architectural implications of this I'd like
to ask those who want to support this architectural separation to go
through every reference to MITM or man-in-the-middle or mutual
authentication in the document. For each reference, answer the following
questions:



A) Who is negatively affected if the attack is possible or the security
claim not maintained? (eap server, peer, intermediate, combination)

B) for security claims especially those about inner methods. Which
parties need to confirm the claim in order to avoid the harm identified
in A above?


I also think we need clarity around mutual authentication and what that
means especially when looking at compositions.


3) Section 3.2: resistance to MITM attack

The  specification refers to inner methods providing resistance to
man-in-the-middle attacks as if this is an RFC 3748 security claim.
I assume this refers to the discussion in section 7.4 of RFC 3748. 
I don't think that claim is strong enough to provide secure  composition
of inner methods with anonymous ciphersuites.
This is related and possibly a superset of the problems discussed in
draft-hartman-emu-mutual-crypto-binding).
Clearly checking the certificates is an inadequate solution for
anonymous TLS ciphersuites.

4) Section 3.2.2: overly much detail on TLS workings

I think that having something called a PAC which is really just a TLS
session ticket is undesirable. I don't think we need a new name for TLS
concepts we're reusing.
I am concerned that we specify so much  information about how TLS
session resumption works. What if future versions of TLS change that?
What if our spec is inconsistent with TLS?

I recommend we remove most of the information about server and client
TLS session resumption and fall back to full vs abbreviated handshakes.


5)  Section 3.3.3: confused

I'm confused when I read section 3.3.3 on protected negotiation
indication. I don't understand when an intermediate result TLV is or is
not required for the peer and server.
Also, shouldn't the crypto binding TLV always be required here?


6)  Section 3.3.3: please require peers reject EAP success without
protected negotiation.

I think it is very important that we mandate peers implementing TEAP
MUST not treat an EAP success packet  prior to the peer and server
reaching protected result indication as successful.
When peers do this (as many do with existing methods) it permits several
bid-down attacks.
Se the new text in one of the most recent channel bindings specs for an
example.

7) Section 3.3.3: How does a peer do channel binding

What should a peer do if it wishes to perform channel binding and server
sends back a protected success?

Request-action seems inefficient for this because the first message is
the channel binding request  coming from the client to server.


8) Examples with section 3.3

I think that section 3.3 could benefit from several examples:


1)  A peer wishes to use a client certificate but wishes to hide its
 identity  and thus use renegotiation. The server requests some inner
 method in the first phase 2 message before the client can start
 renegotiation at TLS.
Show an example flow of how this works out and how the parties get back
 in sync.

2) A peer wishes to use an inner eap method even when the server is
happy to offer success in the first message. Show how many result
indications are required.

3) Show how channel bindings interact with the result indications.

8) Section 3.4: what is a peer ID?

Section 3.4 needs a reference to 

Re: [Emu] Comments on draft-hartman-emu-mutual-crypto-bind

2012-03-25 Thread Sam Hartman
 Jim == Jim Schaad i...@augustcellars.com writes:


Jim 3.  3.2.3 or 3.2.2 - If you had a non EAP method, and it
Jim derived a key (just like a good EAP method).  Is there any
Jim reason why you could not do the cryptographic binding?  Other
Jim than it is not currently defined in one of the current
Jim tunneling methods.  One could see that it could be defined as
Jim saying after you do this, then perform the same binding as any
Jim key deriving EAP method would do,.

I guess.  I don't know that key expert is really defined for the non-EAP
inners in a well-defined manner.  But yes, I think something like this
would be a good idea, although I'm not sure it is practical when
compared to just forcing EAP inner methods.

Jim 4.  Section 3.2.4 - Item #4 - did you mean that it MUST prevent
Jim an attacker from downgrading the binding from mutual to just
Jim MSK-based?  Also if the down grade occurs, do you still want to
Jim claim that it is still mutual if step 4 is downgraded?  The
Jim current text implies this to me and that seems wrong.

I'd love to discuss this with you in person if you're available.

Jim 5.  Section 3.2.4 - last paragraph - the last sentence confuses
Jim the heck out of me.

And everyone else; it's wrong:-)
Will propose fixes to this and other comments.

Jim 6. Section 4.2 - I don't understand why things like doing
Jim channel binding require that a mutual authentication be
Jim present.  I can understand a statement that the peer MUST have
Jim doing an adequate job of authenticating the server, but I am
Jim less clear why the server needs to have authenticated the
Jim client.  Thus for example I think that cryptographic binding
Jim should be sufficient to deal with these cases.  (i.e. Tunnel is
Jim authenticated to certificate and mutual auth is tied to the
Jim tunnel).

I think there's an assumption that EAP always provides peer
authentication (although sometimes to an anonymous identity, isn't
semantics fun?) so mutual auth and server auth are synonyms.

And draft-ietf-emu-chbind has required mutual auth since well before I
started working on it. I didn't re-evaluate that requirement.

Jim Jim


Jim ___ Emu mailing
Jim list Emu@ietf.org https://www.ietf.org/mailman/listinfo/emu

___
Emu mailing list
Emu@ietf.org
https://www.ietf.org/mailman/listinfo/emu