Re: [pcp] Side-by-side or nested protocols (was Re: PANA implementatinos to consider)

Alper Yegin <alper.yegin@yegin.org> Wed, 19 September 2012 07:58 UTC

Return-Path: <alper.yegin@yegin.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 9C52B21F875D for <pcp@ietfa.amsl.com>; Wed, 19 Sep 2012 00:58:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.456
X-Spam-Level:
X-Spam-Status: No, score=-102.456 tagged_above=-999 required=5 tests=[AWL=0.143, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
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 yT2XDQfe4s9F for <pcp@ietfa.amsl.com>; Wed, 19 Sep 2012 00:58:16 -0700 (PDT)
Received: from mout.perfora.net (mout.perfora.net [74.208.4.194]) by ietfa.amsl.com (Postfix) with ESMTP id DF3A021F8754 for <pcp@ietf.org>; Wed, 19 Sep 2012 00:58:15 -0700 (PDT)
Received: from [192.168.2.5] (88.247.135.202.static.ttnet.com.tr [88.247.135.202]) by mrelay.perfora.net (node=mrus1) with ESMTP (Nemesis) id 0M39ax-1TXHvT323T-00svX4; Wed, 19 Sep 2012 03:58:15 -0400
Mime-Version: 1.0 (Apple Message framework v1278)
Content-Type: text/plain; charset="us-ascii"
From: Alper Yegin <alper.yegin@yegin.org>
In-Reply-To: <733EEA93-C216-4C1B-B38A-F8682188FA1A@gmail.com>
Date: Wed, 19 Sep 2012 10:57:37 +0300
Content-Transfer-Encoding: quoted-printable
Message-Id: <AF84B312-93D7-4017-875F-5E5570E69DF3@yegin.org>
References: <CC7C594F.A2A9%repenno@cisco.com> <6A210C2E-B490-47A2-B956-585EA078D22F@yegin.org> <733EEA93-C216-4C1B-B38A-F8682188FA1A@gmail.com>
To: Margaret Wasserman <margaretw42@gmail.com>
X-Mailer: Apple Mail (2.1278)
X-Provags-ID: V02:K0:cSP/jXH05BLA++fKD/UPrpn1Pdk3A4exWlC2i+n6flu ZyVnhy/EnLCQhUaB5fNqZEzLcTRP6ErdSL/B8FPnc5we7WPOVL qLCcVzGXDqlN8cNL1Bcv+2+vyc1G3ouC1cuJxKpeA89XgHsNwE b7cL5TiY9yaq3+CkgQokQK1oY7v5hse68enIWkAnxRvsc46s3L 1RqgZexyBsZfVlWljrb4UuKPShfU/4JFSmQBEkR/TyyWmX2ryR pw28Jl79g/CGk1YyMDRJp4ya/UY6NSMb09KDxDsERMhEZ7LEJO Djus6iPFusoZmz92GQi/W/SGPus3YVnJ0tiWjiIQs3sXStkXBC yCjqFPpIgL51zNFjjvoF7i47Jtb4gdeR30Xx+CG+VDb7fKrsL8 ZJsYl/NIhfplA==
Cc: "'pcp@ietf.org'" <pcp@ietf.org>
Subject: Re: [pcp] Side-by-side or nested protocols (was Re: 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: Wed, 19 Sep 2012 07:58:16 -0000

Hi Margaret,
> 
> On Sep 18, 2012, at 3:30 AM, Alper Yegin wrote:
>> But more interestingly, you said you are not aware of any PANA implementations in production.
>> As we said before, PANA is adopted into Zigbee Smart Energy Profile 2.0
>> And it passed several interop events, with 10 implementations.
> 
> Do you actually think that any nodes that implement SEP 2.0 will implement PCP?
> 

First, let's recognize different types of "re-use":
- spec re-use
- source code re-use
- binary re-use

Your question is specifically about the last one.  I think the answer to the first two are clear, and that by itself goes a long way.

Even binary re-use is a possibility, like Yoshi explained, and also considering the possibility of integrated gateways.


> [For those unfamiliar with Zigbee SEP 2.0, it is one of the standards (the only IP-based one, I think) proposed for use in the Smart Grid, specifically for appliances, sensors and other embedded devices to integrate with a home energy management system (EMS) and/or electric meter (Smart Meter) on the in-home side of the Smart Energy universe.  Implementations of SEP 2.0 are most often provided in ASICs, for integration into embedded devices with very limited system requirements.  These devices run on a dedicated Zigbee networks within the home, and do not generally communicate outside the home, at all.]
> 
>> Yes, it could be tricky, if we had a funky relationship between the two protocols. But in this case, it's a clean separation. PCP needs keys to run, it triggers PANA to generate the keys, PANA does its job and gives back the keys, PCP runs with the keys. This is how separate "key management" works. Natural fit.
> 
> The success case in the side-by-side approach appears to work very smoothly, it is the error cases that I am more concerned about.  

Which specific error cases? You raised one about auth capability mismatch and I already responded to that.


> Also, you haven't explained how you would deal with all of the things you list below...  If PCP has a simple request/response API with PANA, how are things like "asynchronous requests" handled in that model?  What is an "asynchronous request" in this context and when/why would it happen, BTW?  I understand that, in PANA, it is possible for network access to be renegotiated, or for Ip addresses to be reallocated.  There is no equivalent notion in PCP, though.
> 

EAP re-authentication can be initiated by either party at any time. We need to support that.

>> But, if we embed one protocol inside the other, then you have to combine the state machines. And that combining is not a simple jump back and forth like in the above case. More specifically, within the PCP state machine, now you have to account for server-side retransmissions, server-side asynchronous requests, etc.
> 
> You keep claiming that there will be problems with "combining the state machines" of PCP and PANA in the encapsulation case that aren't there in the side-by-side case, but I'm still not sure what you mean by this.  Could you give a concrete example?

Please see my email with EAP-over-PCP subject line. As you see, the state machines and flows of PCP and EAP-over-PCP are not compatible. If you try to fit the latter into the former, it won't work -- incompatible. Exact same issue with EAP-over-DHCP. I (naively?) assumed you'd not want to impact the PCP design hence this compatibility issue is a problem. 


> 
>>> PCP is capable of sending unsolicited messages (both multicast and
>>> unicast). So, we are good here.
>> 
>> You are referring to "announcements" right?
>> They are one-way notifications.
>> What you need is a server-initiated, multi-round-trip req/rsp exchanges -- to have a working EAP lower-layer.
> 
> How do we get this in a model that you have described as:  "PCP needs keys to run, it triggers PANA to generate the keys, PANA does its job and gives back the keys, PCP runs with the keys. "  Won't this notion (of server-initiated messages) need to be integrated into the API between PCP and PANA somehow?  When would these messages ever happen in the PCP context?
> 

Whether the client-side or the server-side initiated the re-auth, EAP/PANA is executed and new security association is generated. The new parameters are stored in the data structures where the PCP client picks them up next time it needs to send a request. 

Alper





> Margaret
> 
>