Re: [pcp] PANA implementatinos to consider

Margaret Wasserman <margaretw42@gmail.com> Fri, 14 September 2012 09:50 UTC

Return-Path: <margaretw42@gmail.com>
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 A45C321F85A0 for <pcp@ietfa.amsl.com>; Fri, 14 Sep 2012 02:50:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0grfCwOCVgZW for <pcp@ietfa.amsl.com>; Fri, 14 Sep 2012 02:50:13 -0700 (PDT)
Received: from mail-qa0-f44.google.com (mail-qa0-f44.google.com [209.85.216.44]) by ietfa.amsl.com (Postfix) with ESMTP id CF4CA21F8584 for <pcp@ietf.org>; Fri, 14 Sep 2012 02:50:12 -0700 (PDT)
Received: by qafi29 with SMTP id i29so4145705qaf.10 for <pcp@ietf.org>; Fri, 14 Sep 2012 02:50:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; bh=fcNk/Kni2PUTYrgXX5Ez+h93MdyWlGQEfE8+q3K/RQA=; b=GjNv8kGVZ3MZdTflsIJ2C9eTkwW4IEsMATH0eSn7Sy58jLnI7ldHdmcQMlwknMr/ZQ Q1W1bZsOhYtBArhlEzhsry+ZGAnwCIE7iXFH4YuqWRfTR+VDBoj1h/E5S/jcuXw8PscQ 8ALEY23HhmIIAFchkFa6ZowEn3vLbtKT6KXj3N7Ur88hB1ZeE/Pr2PiH+gtaMYVf9tIp 9iNivgRGnsBzJHXjhUjWBy60mtD/HCAR+z1uxe7qfkrQ+7mXFsYAjkDo/msujAWXB9Ro zsvozp4A8OEZc6G6JLOVSve5Zy9se4HqYD4p9DGdgnslnAxtheuLvjMdab/i9ZBF2CXX 8Rsg==
Received: by 10.224.178.4 with SMTP id bk4mr5969411qab.38.1347616212308; Fri, 14 Sep 2012 02:50:12 -0700 (PDT)
Received: from lilac-too.home (pool-71-184-79-25.bstnma.fios.verizon.net. [71.184.79.25]) by mx.google.com with ESMTPS id ff2sm1821592qab.9.2012.09.14.02.50.07 (version=SSLv3 cipher=OTHER); Fri, 14 Sep 2012 02:50:10 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset="us-ascii"
From: Margaret Wasserman <margaretw42@gmail.com>
In-Reply-To: <F621C78A-2005-46E4-969C-DF25495A735A@yegin.org>
Date: Fri, 14 Sep 2012 05:50:07 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <B860EA81-0451-4F26-BF46-382176DC9103@lilacglade.org>
References: <0MZjvC-1SyMXc0ZaA-00Lf23@mx.perfora.net> <F621C78A-2005-46E4-969C-DF25495A735A@yegin.org>
To: Alper Yegin <alper.yegin@yegin.org>
X-Mailer: Apple Mail (2.1084)
Cc: pcp@ietf.org
Subject: Re: [pcp] PANA implementatinos to consider
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: Fri, 14 Sep 2012 09:50:13 -0000

Hi Alper,

On Sep 14, 2012, at 2:52 AM, Alper Yegin wrote:
> As for the implementation complexity, I don't quite understand why PANA (which is basically EAP over UDP) would ever be more complicated then to-be-designed "EAP over UDP within PCP framework". While I don't see a reason for former being more complicated, I see reasons for seeing the latter being more complicated, as the whole thing now needs to live within another protocol framework (read: format, flow, state machine harmonization between the two).

I don't understand how you get away from coupling PANA and PCP, even in the demultiplexing case where they run side-by-side on the same port.  I think a number of details are being glossed over in your latest document when you refer to a need for an "API" between PANA and PCP...

Let's start with a simple case where the PCP Client wants to initiate and authenticated PCP request...

The Client needs to ask the PANA Client to initiate authentication.  How?  Will that request include any details about the mapping request that is being made?  i.e. will the PANA Client be asking for authentication _and authorization_ to perform a particular action?  Or do we assume that a PCP client is authenticated via PANA, and that authorization for a particular action is a separate step that is performed as part of PCP?  If they are separate, do we need a new set of PCP error codes for the situation where an authenticated PCP client performs an unauthorized action, or is that already covered in the PCP spec?

When the PCP Client asks the PANA Client to perform authentication, what are the possible results that can be returned from that request, and how are they communicated back to the PCP Client?  You have only described the success case in your document.

How does this work in the case where the PCP Server is not running a PANA Server?  I _think_ that if a PCP Client asks its PANA Client to perform authentication, and the PCP Server does support authentication, some sort of "unsupported version" error code will be returned to the _PCP Client_ (due to the details of your proposed demultiplexing scheme), and that nothing will be returned to the PANA Client, at all.  We would need to make sure that secure PCP clients are specified to handle an "unsupported version" error differently when the PANA Client is in this particular state, but how does the PCP Client know that this is why that error was returned?  If this does happen, how does the PCP client inform the PANA Client that it should stop trying to perform authentication with that particular PCP Server?  

Also, how does the PCP Client know when the _PCP Server_ is ready to receive its request?  Are we assuming that the PANA Server will not return an indication to the PANA Client that the client has been authenticated until _after_ it has provisioned the necessary SA on the PANA Server?  

What if an additional application on the same PCP Client system wants to perform an authenticated request with the same PCP Server in the meantime?  Will that second request result in a second (interleaved) PANA negotiation, or will the PCP Client be told that a PANA negotiation is already pending?  If the latter, how will the second PCP Client thread by informed when the PANA negotiation has completed?  (Note:  The right answer here depends heavily on whether the PANA authentication depends, in any way, on the contents of a specific PCP request -- the authentication vs. authentication/authorization question above).

All of these questions will need to be answered, IMO, in a full specification of the PCP/PANA demultiplexing mechanism, precisely _because_ PCP and PANA are running separately.  The "API" is where this coupling is provided between the two "state machines", as you refer to them.  Why is this any simpler if PANA and PCP are running side-by side than if we run PANA encapsulated in PCP?  (or, if we run PCP directly over EAP, for that matter)

Margaret