Re: [pcp] Comparison of PCP authentication

Margaret Wasserman <mrw@lilacglade.org> Mon, 06 August 2012 20:02 UTC

Return-Path: <mrw@lilacglade.org>
X-Original-To: pcp@ietfa.amsl.com
Delivered-To: pcp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7D74A21F84D8 for <pcp@ietfa.amsl.com>; Mon, 6 Aug 2012 13:02:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -95.443
X-Spam-Level:
X-Spam-Status: No, score=-95.443 tagged_above=-999 required=5 tests=[AWL=-0.332, BAYES_00=-2.599, FH_HELO_EQ_D_D_D_D=1.597, FH_HOST_EQ_D_D_D_D=0.765, FM_DDDD_TIMES_2=1.999, HELO_DYNAMIC_IPADDR=2.426, HTML_MESSAGE=0.001, J_CHICKENPOX_53=0.6, RDNS_DYNAMIC=0.1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id D8+0JbLxFumw for <pcp@ietfa.amsl.com>; Mon, 6 Aug 2012 13:02:56 -0700 (PDT)
Received: from ec2-23-21-76-251.compute-1.amazonaws.com (ec2-23-21-76-251.compute-1.amazonaws.com [23.21.76.251]) by ietfa.amsl.com (Postfix) with ESMTP id D74C121F84C4 for <pcp@ietf.org>; Mon, 6 Aug 2012 13:02:55 -0700 (PDT)
Received: from lilac-too.home (permutation-city.suchdamage.org [69.25.196.28]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (Client did not present a certificate) by mail.suchdamage.org (Postfix) with ESMTPSA id E7DCB2002D; Mon, 6 Aug 2012 16:01:54 -0400 (EDT)
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: multipart/alternative; boundary="Apple-Mail-4-903953692"
From: Margaret Wasserman <mrw@lilacglade.org>
In-Reply-To: <D6D2DEED-C35A-45AB-8B72-96195C308DB9@yegin.org>
Date: Mon, 06 Aug 2012 16:02:53 -0400
Message-Id: <57FF0F8E-1B86-410F-8B6B-C4893A28222F@lilacglade.org>
References: <9B57C850BB53634CACEC56EF4853FF653B6EC381@TK5EX14MBXW604.wingroup.windeploy.ntdev.microsoft.com> <7FE144CF-00E3-4451-8CBE-A6A684DB7CC4@yegin.org> <067d01cd73fd$765a6c50$630f44f0$@com> <D6D2DEED-C35A-45AB-8B72-96195C308DB9@yegin.org>
To: Alper Yegin <alper.yegin@yegin.org>
X-Mailer: Apple Mail (2.1084)
Cc: pcp@ietf.org
Subject: Re: [pcp] Comparison of PCP authentication
X-BeenThere: pcp@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: PCP wg discussion list <pcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pcp>, <mailto:pcp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/pcp>
List-Post: <mailto:pcp@ietf.org>
List-Help: <mailto:pcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pcp>, <mailto:pcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Aug 2012 20:02:57 -0000

Hi Alper,

Thanks for your help with this!  While it would work to demultiplex on the first byte, as you indicate, there is a bit more to defining a demultiplexing solution than this...

Since this is UDP, there is nothing that inherently binds the PANA authentication to a particular (set of) PCP request(s).  So, we will need to make sure that the information passed in the authentication option is sufficient for the sever to securely determine that the client sending a the PCP request is the same client that initiated the PANA exchange and vice versa, just as we would need to do if PANA and PCP were run on separate ports.  I don't think this will be difficult, we just need to make sure that we achieve it.

Do you know what existing PANA implementations will do if the "Reserved" field at the start of the packet is non-zero? 

We should also consider the trade-offs between a demultiplexing approach (which allows us to run PANA and PCP separately over a single port), and an encapsulation approach (PANA encapsulated in PCP).  A demultiplexing approach is somewhat cleaner, in that we can process the whole message as a PANA or PCP message.  But, the encapsulation approach would allow us to gain some optimization by piggy-backing the first (and possibly the final?) messages of the PANA exchange in the original PCP request (and response?) to cut down on the number of messages needed to create a secure mapping.  Since the PCP exchange may happen as part of client connection set-up (while a user is waiting), cutting down on the number of messages exchanged could be valuable.

As discussed at the PCP meeting in Vancouver, we will be writing up both of these approaches soon, for further discussion on an interim phone call.

Margaret


On Aug 6, 2012, at 3:43 PM, Alper Yegin wrote:

> 
> PANA:
> 
>     0                   1                   2                   3
>     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |           Reserved            |        Message Length         |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |             Flags             |         Message Type          |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |                      Session Identifier                       |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |                        Sequence Number                        |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |  AVPs ...
>    +-+-+-+-+-+-+-+-+-+-+-+-+-
> 
>    Reserved
> 
>       This 16-bit field is reserved for future use.  It MUST be set to
>       zero and ignored by the receiver.
> 
> 
> 
> 
> PCP:
> 
>       0                   1                   2                   3
>       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
>      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>      |  Version = 2  |R|   Opcode    |         Reserved              |
>      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>      |                 Requested Lifetime (32 bits)                  |
>      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>      |                                                               |
>      |            PCP Client's IP Address (128 bits)                 |
>      |                                                               |
>      |                                                               |
>      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>      :                                                               :
>      :             (optional) Opcode-specific information            :
>      :                                                               :
>      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>      :                                                               :
>      :             (optional) PCP Options                            :
>      :                                                               :
>      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 
> 
> First octet can be used for demux'ing.
> 
> Alper
> 
> 
> 
> 
> 
> On Aug 6, 2012, at 9:01 PM, Dan Wing wrote:
> 
>>> -----Original Message-----
>>> From: pcp-bounces@ietf.org [mailto:pcp-bounces@ietf.org] On Behalf Of
>>> Alper Yegin
>>> Sent: Thursday, August 02, 2012 2:31 PM
>>> To: pcp@ietf.org
>>> Subject: [pcp] Comparison of PCP authentication
>>> 
>>> http://www.ietf.org/proceedings/84/slides/slides-84-pcp-10.pdf
>>> 
>>> Ah, isn't it odd that this beauty contest is run by one of the
>>> contestants? This material should have been prepared and presented by a
>>> neutral party.
>>> 
>>> One important question: With this proposal, are the authors advocating
>>> each protocol should come with their own in-band key management, more
>>> specifically embedding an EAP transport?
>>> 
>>> 
>>>> what's the big deal of using the same port vs different port? Is
>>> jamming all in the same port is a benefit?
>>> 
>>>> "TLS is in-band"
>>> 
>>> - There's standalone use of TLS as "a separate" KMP. RFC 5705 is driven
>>> by the fact that some other protocols need to use TLS as a "separate
>>> KMP".
>>> - TLS is basically "transport layer security", something that sits
>>> below the protocol one would be trying to secure. We are not doing
>>> that.
>> 
>> To throw another TLS thing into the mix:
>> 
>> DTLS-SRTP [RFC5764] uses the (D)TLS handshake to encrypt SRTP and is
>> pretty well aligned with what we want for PCP -- we want a key
>> exchange and then run the PCP protocol natively.  DTLS-SRTP has a 
>> normal DTLS handshake, followed by SRTP packets that appear normal 
>> on the wire (that is, the packets are RFC3711 packets which have
>> their RTP headers in the clear).  It does this over the same socket,
>> because the first byte indicates if the packet is DTLS, SRTP, or
>> STUN (ICE), http://tools.ietf.org/html/rfc5764#section-5.1.2.
>> 
>> At the meeting, I suggested we consider if PANA and PCP could
>> be similarly demux'd.  Stuart suggested using some sort of GRE-
>> like header if they cannot be demux'd.  Either approach would 
>> eliminate one of the objections of PANA, specifically its use 
>> of a separate port.
>> 
>> -d
>> 
>> 
>> 
>>>> are the EAP and PCP state machines compatible? If marrying two
>>> protocols, one needs to pay attention to this. This was one of the
>>> reasons why EAPoDHCP did not work.
>>> 
>>>> Does the EAP-over-PCP satisfy the "EAP lower layer requirements" as
>>> stated in RFC 3848? I had asked this question but don't remember seeing
>>> any response.
>>> 
>>>> "Possible in-band optimization". Is this documented anywhere? It's
>>> not easy to understand how it works by looking at this slide.
>>> 
>>>> PANA RFC 5191 was published in 2008, not 2011. It's adopted by Zigbee
>>> IP, ETSI TISPAN, and also ETSI M2M. Aside from two open-source
>>> implementations, multiple commercial implementations have successfully
>>> passed interop events in Zigbee Alliance.
>>> 
>>>> 
>>> 
>>> *	Need to specify the portions of PANA that don't need to be
>>> implemented
>>> 
>>> 	in a PCP PANA Client and Server (such as IP Address
>>> reconfiguration)
>>> 
>>> 
>>> 	>> this is just a single bit flag. We don't use it, and that's
>>> all we need to do about it.
>>> *	Need to specify/describe interface between PANA and PCP elements
>>> 
>>> 	>> this is an implementation issue, like how the other spec
>>> implementors would need to define the interface between the EAP and PCP
>>> for passing keys, etc.
>>> 
>>> *	Need to specify how the PANA client finds the correct PANA Server
>>> for PCP Authentication (may be passed from PCP client?)
>>> 
>>> 	>> PCP server the the PAA are the same node.
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>> 
>> 
> 
> _______________________________________________
> pcp mailing list
> pcp@ietf.org
> https://www.ietf.org/mailman/listinfo/pcp