Re: [pcp] CONSENSUS CALL on PCP security

Ben McCann <B.McCann@F5.com> Wed, 17 July 2013 19:20 UTC

Return-Path: <B.McCann@F5.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 0A5E211E80D1 for <pcp@ietfa.amsl.com>; Wed, 17 Jul 2013 12:20:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
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 9BTLfLLmaunE for <pcp@ietfa.amsl.com>; Wed, 17 Jul 2013 12:20:35 -0700 (PDT)
Received: from mail.f5.com (mail.f5.com [208.85.209.139]) by ietfa.amsl.com (Postfix) with ESMTP id 7053921F9F1F for <pcp@ietf.org>; Wed, 17 Jul 2013 12:20:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=f5.com; i=B.McCann@f5.com; q=dns/txt; s=seattle; t=1374088835; x=1405624835; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=fBFRYkHzrrPbfpU/g4jbBVqicniRmZ3EsL+V8624wE8=; b=YNGuxNQHXVLTqTOLaCOpC1396YEwy5dMfGTiPXbStxMO+4IiS4cJfmeR LksPfXQZ7IkVZkUBUn0LNRjgWyPcKSAisNSvx6JXQivHd2lOhOLZSvYfh qB4Emu5c6CBMNoS9nyjgKfGD5Pm9UJ5OPGczMGqKSObuGKiq7RfVEF8P0 I=;
X-IronPort-AV: E=Sophos;i="4.89,687,1367971200"; d="scan'208";a="76357136"
Received: from unknown (HELO exchmail.f5net.com) ([192.168.10.240]) by mail.f5.com with ESMTP/TLS/AES128-SHA; 17 Jul 2013 19:20:35 +0000
Received: from LWLECAS02.olympus.F5Net.com (192.168.96.201) by SEAECAS01.olympus.F5Net.com (192.168.16.220) with Microsoft SMTP Server (TLS) id 14.3.123.3; Wed, 17 Jul 2013 12:20:34 -0700
Received: from LWLMBX01.olympus.F5Net.com ([fe80::c509:8f7f:7f5f:cab9]) by LWLECAS02.olympus.F5Net.com ([::1]) with mapi id 14.03.0123.003; Wed, 17 Jul 2013 15:20:33 -0400
From: Ben McCann <B.McCann@F5.com>
To: Dave Thaler <dthaler@microsoft.com>, "pcp@ietf.org" <pcp@ietf.org>
Thread-Topic: [pcp] CONSENSUS CALL on PCP security
Thread-Index: AQHOgYO4rwdufDiNpE2YPGo0KrBE65lpL+CQ
Date: Wed, 17 Jul 2013 19:20:32 +0000
Message-ID: <9374F3A019050A4C805B8DEF27285BE40115E075A9@LWLMBX01.olympus.F5Net.com>
References: <c91bb8469abe4b079e46454e022546e6@BY2PR03MB269.namprd03.prod.outlook.com>
In-Reply-To: <c91bb8469abe4b079e46454e022546e6@BY2PR03MB269.namprd03.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [192.168.101.23]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [pcp] CONSENSUS CALL on PCP security
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, 17 Jul 2013 19:20:40 -0000

1) Could you *live with* EAP-in-PCP? If not, state reason you would object.

   YES

2) Could you *live with* PANA? If not, state reason you would object.

   Yes, but we really rather not use PANA. See below...

3) If you said yes to both 1 and 2, but have a strong preference between the two, which approach do you prefer and why?

We strongly prefer EAP-in-PCP for several reasons:

* PANA, as we understand it, is not mobile-friendly. It requires the PCP client to *always* have an authenticated session active and that is wasteful on mobile clients when the authentication rekey interval is much shorter than the mapping lifetime. Margaret Wasserman captured this in slides 13 and 14 of her presentation http://www.ietf.org/proceedings/85/slides/slides-85-pcp-17.pdf. We believe the *client* should decide when to authenticate (because it needs to create or refresh a mapping) because that lets the client optimize its use of the network and reduce its power consumption. 

We understand that a PCP server may need to send a message to the client when no authenticated session is active. If no authenticated session is active then we prefer the server send an UN-authenticated "call home" message directing the client to authenticate and then the server can send its messages over the authenticated channel. We recognize an attacker can induce the client to connect to the server by forging an unauthenticated "call home" message. But, having done that, the client can ignore subsequent forged call home messages because it will already have an authenticated session. Worse case, an attacker can't make EAP-in-PCP consume any more client resources than PANA does because PANA requires the client to always have an authenticated session available.

* PANA requires more server side resources. The authentication protocol should efficiently support 100,000's of clients on a large PCP server. Why should the server continuously maintain authenticated sessions with *every* client? Clients using 24 hour mapping lifetimes can be served by short authentication key lifetime like, for example, 5 minutes. Let the client connect, authenticate, program the mappings, and then let the authenticated session expire. Rinse and repeat in 24 hours,. Client-driven authentication via EAP-in-PCP requires less resources on the server because the server can discard the authenticated session state once the key lifetime expires.

There was some discussion that PANA is preferable to EAP-in-PCP because it supports "liveness testing". We don't believe liveness testing is useful when the server resources consumed, per client, are PCP mappings. Checking the liveness of 100,000 clients is much more resource intensive on the server than just keeping the client's mappings around until they expire naturally at the end of their lifetime. In short, we believe EAP-in-PCP will scale better on the server than PANA.

* We believe the decision to use EAP-in-PCP vs. PANA is a choice between designing and implementing an EAP-in-PCP transport that is tailored for PCP versus adapting an existing protocol (PANA) to fit the needs of PCP.  We don't think implementing an EAP-in-PCP transport is difficult so we prefer it over PANA. EAP-in-PCP provides a clean slate that's unencumbered by the design decisions and assumptions of an existing protocol (PANA). 

-Ben McCann