Re: [sidr] BGPSEC Threat Model ID

Brian Dickson <brian.peter.dickson@gmail.com> Wed, 02 November 2011 17:12 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 54B2A21F9F0B for <sidr@ietfa.amsl.com>; Wed, 2 Nov 2011 10:12:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.56
X-Spam-Level:
X-Spam-Status: No, score=-3.56 tagged_above=-999 required=5 tests=[AWL=0.039, 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 iusMi3j7nYDq for <sidr@ietfa.amsl.com>; Wed, 2 Nov 2011 10:12:22 -0700 (PDT)
Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by ietfa.amsl.com (Postfix) with ESMTP id 343A621F9F0A for <sidr@ietf.org>; Wed, 2 Nov 2011 10:12:22 -0700 (PDT)
Received: by faas12 with SMTP id s12so781851faa.31 for <sidr@ietf.org>; Wed, 02 Nov 2011 10:12:21 -0700 (PDT)
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=81WTqZ1vMZlR5tzEbILn9SI5PGKYJTbI8TcO8Pi+zaI=; b=JaHCYDnq94gjQQ0bRjj9cW3Q+fv58w0dS/cKf/MtA44VxRoIlPydZ05DvxKhZd/rR0 9/hMJlgPb1qurCeD0TvafRXNavqQWfQc6XEq9mxzULoPZV0iIJc14FxsKaqHwy2VZFnh YeLDpXdHXbgq0eZt0WRhQEV/Elg1K2aJNm9Sk=
MIME-Version: 1.0
Received: by 10.223.61.72 with SMTP id s8mr3187186fah.27.1320253720826; Wed, 02 Nov 2011 10:08:40 -0700 (PDT)
Received: by 10.223.54.15 with HTTP; Wed, 2 Nov 2011 10:08:40 -0700 (PDT)
In-Reply-To: <4EB170AD.1030302@riw.us>
References: <E96517DD-BAC7-4DD8-B345-562F71788C6A@tcb.net> <p06240807cad42f85eb7d@193.0.26.186> <32744.216.168.239.87.1320175657.squirrel@webmail.tcb.net> <p06240801cad6ab773279@193.0.26.186> <CAH1iCir-UoT+BMOD53oxQ9fdMiGirvaTL0eZDS3A5wVEDuw2LA@mail.gmail.com> <4EB170AD.1030302@riw.us>
Date: Wed, 02 Nov 2011 13:08:40 -0400
Message-ID: <CAH1iCiqTST7V=jdHe8R04nfP-0c33NSo9m4gZ_majpx7wUCciw@mail.gmail.com>
From: Brian Dickson <brian.peter.dickson@gmail.com>
To: Russ White <russw@riw.us>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: sidr@ietf.org
Subject: Re: [sidr] BGPSEC Threat Model ID
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: Wed, 02 Nov 2011 17:12:23 -0000

On Wed, Nov 2, 2011 at 12:32 PM, Russ White <russw@riw.us> wrote:
>
>> (4b) It follows that there is no reason not to trust all Transitive
>> values set by Originator, and Signed by the Originator
>
> It does not follow. Policy is per AS, not per route or destination.

Trust policy is necessarily per AS. Routing policy is de facto per route.
Each prefix will be independently signed, so it follows that including other
parameters in the signature is not unreasonable. It does not change the
number of signatures needed, only the size of the blob being signed,
and generally speaking marginally.

>> (4c) It also follows that Non-Transitive values could be set by one's
>> Neighbor AS, signed by that AS, and have those values Secured.
>
> Can you define "secure" here?

Signed.

>> (5) If any BGP path attribute used in Path Selection is not signed,
>> then BGPSEC has failed to meet its charter requirements.
>
> Then MED and Local Pref must also be signed, along with a number of
> communities, and even the next hop.

Yes.

>>> How does BGP indicate (i.e., where are the bits that say) that the Update
>>> sent to E is not to be propagated to another ISP?  I've been told that the
>>> NO_EXPORT community does not have the right semantics, and that network
>>> operators do not pay attention to this anyway.
>>>
>>> And it's most certainly a threat and one that some consider
>>> out of scope at that?
>>>
>>> I presume that you mean in scope, right?
>>
>> I believe what Danny was saying is, "some consider this out of scope",
>> where "some" means at a minimum the authors of the Threat document,
>> and that since it is a threat, it really should be *in* scope.
>
> Maybe there's a reason for this particular capability not existing
> within BGP. Perhaps it is because it's always been recognized that
> transmitting reachability is routing, but failing to transmit
> reachability that exists because you don't want someone else to use it,
> or --even more-- asking someone you send reachability information to not
> to forward that reachability information --is a matter of policy.
>
> The failure to define and separate policy from routing has caused a
> great deal of confusion within the BGP security space over the years.

Correct. And given that there exist malicious use cases for violating implicit
policy, it makes sense that it be addressed in conjunction with BGPSEC.

The particulars on how to implement marking and enforcement are important,
and there are pros and cons to the variety of ways of doing this.

However, the high-level semantics can be captured easily, on a per-prefix,
per-peering basis:

"You're not my transit provider"
vs
"Please be my transit provider"

Perhaps this would best be done as a BGP Option negotiated on a
peering session, in each direction:
"Transit Requested" / "Transit Offered"

(In the oddball case of mutual transit, both flags would be set in
both directions).

Even if there isn't enforcement of behavior per se, the ability to
view the asserted policy
on a per-AS-hop basis allows for local receiver filtering based on the
presence/absence
of such a flag bit anywhere in the path, per-prefix.

Having the bit signed by the Sender (as part of the signed data, that
is) means that anyone wishing
to honor the sender's intent, is able to do so automatically.

(There are two options - enforce behavior per AS hop within the
protocol, or expose the per-hop values.
The latter is more robust, protecting against malicious
implementations as well as poor configurations.)

Brian