Re: [sidr] Key learning procedures in BGPsec?

Brian Dickson <brian.peter.dickson@gmail.com> Mon, 30 January 2012 18:07 UTC

Return-Path: <brian.peter.dickson@gmail.com>
X-Original-To: sidr@ietfa.amsl.com
Delivered-To: sidr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6125A21F8631 for <sidr@ietfa.amsl.com>; Mon, 30 Jan 2012 10:07:33 -0800 (PST)
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=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 EFLb-ubhmPQy for <sidr@ietfa.amsl.com>; Mon, 30 Jan 2012 10:07:32 -0800 (PST)
Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by ietfa.amsl.com (Postfix) with ESMTP id 805B321F862A for <sidr@ietf.org>; Mon, 30 Jan 2012 10:07:32 -0800 (PST)
Received: by wicr5 with SMTP id r5so4221460wic.31 for <sidr@ietf.org>; Mon, 30 Jan 2012 10:07:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=V03thfthw24WRft2TWVXIE76/M+VIl81cWgSMXfJ9oo=; b=cF3grONt7G8p/bJHxRpKDHNQevvClExvMU5jVGfgOYGDZzuJj6yS0m5ZblYpcw1/bP +RFHbATEi05iffyoNRFML2XUJTIqWsaozUg8X2+Bl/c0iVA9Vr1laTmectjrg+2y8PAQ SRCXmJrhACpzbeZ/Ez62atOZVrnRaFSVkDgU4=
MIME-Version: 1.0
Received: by 10.180.92.71 with SMTP id ck7mr36910612wib.3.1327946851787; Mon, 30 Jan 2012 10:07:31 -0800 (PST)
Received: by 10.223.3.15 with HTTP; Mon, 30 Jan 2012 10:07:31 -0800 (PST)
In-Reply-To: <p06240818cb477d54edae@128.89.89.66>
References: <13269421-8A36-4628-9F1A-30E02B922AE1@verisign.com> <24B20D14B2CD29478C8D5D6E9CBB29F6074CA8@Hermes.columbia.ads.sparta.com> <A0B7EE2D-8E59-4DC8-9DC0-140E9574B479@verisign.com> <p06240804cb3caa4fd051@128.89.89.66> <CCE15AEB-D606-4A59-8118-BA5CD53413E8@verisign.com> <p06240807cb3e3e117777@128.89.89.66> <12C07EA1-EDC5-4F88-99F7-B57B9AF53C53@verisign.com> <p06240801cb43712287ed@10.243.32.68> <79053E60-25FE-4A84-9391-F451C8F0E720@verisign.com> <p06240818cb477d54edae@128.89.89.66>
Date: Mon, 30 Jan 2012 13:07:31 -0500
Message-ID: <CAH1iCiq04z2k+q2xBFGmnoRyuHmrE44_8cdgjTN4JVg6YwJALw@mail.gmail.com>
From: Brian Dickson <brian.peter.dickson@gmail.com>
To: Stephen Kent <kent@bbn.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: "sidr@ietf.org list" <sidr@ietf.org>
Subject: Re: [sidr] Key learning procedures in BGPsec?
X-BeenThere: sidr@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Secure Interdomain Routing <sidr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sidr>, <mailto:sidr-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sidr>
List-Post: <mailto:sidr@ietf.org>
List-Help: <mailto:sidr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sidr>, <mailto:sidr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Jan 2012 18:07:33 -0000

On Mon, Jan 30, 2012 at 10:57 AM, Stephen Kent <kent@bbn.com> wrote:
> At 1:43 PM -0500 1/24/12, Eric Osterweil wrote:
>>>  The focus of BGPSEC is improving inter-AS routing security. The operator
>>> of any AS may not do a great job of securing the keys associated with some
>>> or all of its routers. Other ASes will not, in general, be able to evaluate
>>> the operational security of an AS. BGPSEC tries to limit the extent to which
>>> an AS  can lie about routes that it propagates. Local (within an AS)
>>> security errors or poor practices do not undermine this security feature.
> A major goal of BGPSEC is to limit the extent to which errors/misbehavior by
> an AS operator, or a successful attack against an AS operator, can adversely
> affect other ASes (re routing). The RPKI limits the (verifiable) assertions
> that an AS operator can make about the AS that its routers represent, and
> the prefixes it can originate.

> The BGPSEC per-AS-hop sigs limit the
> assertions the AS can make re what routes have been advertised to it.

This is a stated goal, but how this achieved or achievable relates
greatly to key management.
See below for why I think there are issues with the current protocol
design vs key management.

> These
> guarantees still apply whether the operator does a good or poor job of
> router key management.

I disagree with this assertion.

Let's consider off-axis risks.

Originator O, Relying party R, Weak-operator W, and Bad Actor B.

If poor key management on W makes it possible for the private keys of
a single router in W's network to be learned by B, then all bets are
off for anything advertised via W.

Here's why:

Presume all the good stuff you want about O, and the RPKI system.
Route X, originated by O, is fully validated and legitimate.

Topologically, let's say the following BGPSEC sessions and links exist:

O--?--W--?--R--?--B--?

(All the "?" mean there could be intermediate parties, but none are
required for this example to still be applicable.)

In order to spoof announcements, B need two things: The private key of
a single router (such as the key for a W router), and the data that
would be signed by that router (for X).

However, since anyone receiving route X which was sent from O via W
_must_ contain that data, it is trivial for B to generate false routes
for O.

The process would be:
B sets up a router F ( which claims to be the W router for which the
key was compromised).
The (W_fake) router F is configured with ASN == W.
B sets up a BGPSEC session between F and B, and signs the results.

Voila, BGPSEC signed routes received by R, that appear to be:

O--?--W--B--?--R

and this BGPSEC-signed path is fully origin-validatable and fully
BGPSEC path-validatable.

An error by W, allows B to "pwn" O, without O or R doing anything wrong at all.

There is no (trivial) way for R (or O) to detect or prevent this kind of attack.

This shows why one or more of the following things needs to be changed
in the BGPSEC design:
(1) key management requirements (not part of the design)
(2) availability of unencrypted signature-input data to off-axis parties
(3) ability for a single signature to subvert the validation process
(4) absolute trust model for signature chains (all/nothing)
(5) ???

Brian