Re: [sidr] Key learning procedures in BGPsec?

"Ross.Anderson@cl.cam.ac.uk" <rossjanderson@googlemail.com> Tue, 31 January 2012 08:06 UTC

Return-Path: <rossjanderson@googlemail.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 A312D21F877A for <sidr@ietfa.amsl.com>; Tue, 31 Jan 2012 00:06:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.976
X-Spam-Level:
X-Spam-Status: No, score=-2.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, 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 RrgC1YlpzaBj for <sidr@ietfa.amsl.com>; Tue, 31 Jan 2012 00:06:00 -0800 (PST)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by ietfa.amsl.com (Postfix) with ESMTP id 3CA2721F8764 for <sidr@ietf.org>; Tue, 31 Jan 2012 00:06:00 -0800 (PST)
Received: by iagf6 with SMTP id f6so7852460iag.31 for <sidr@ietf.org>; Tue, 31 Jan 2012 00:05:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=tDtgF72BQDmOKGwGhTEehQjruQXM6k+1RcZVTAZ5r/8=; b=ferYqUi4pSaj7QqkgdAhwYMm7VSeHJsxQ3iW86QBFBpkw8VgpoAFIxCArxi7vwKKFw XgMbvU52CFQiWAZj/4heLYaCBlvEzGyCZlAQT7TAAEZjkWtJhvCXYZpJJdQ4fl+u5Ml5 ZnRwk+Cnnqat2GRs0zrNAjGXqqlAXs9Sng1uU=
MIME-Version: 1.0
Received: by 10.42.146.202 with SMTP id k10mr17048907icv.13.1327997158762; Tue, 31 Jan 2012 00:05:58 -0800 (PST)
Received: by 10.50.163.106 with HTTP; Tue, 31 Jan 2012 00:05:58 -0800 (PST)
In-Reply-To: <CAH1iCirNyhnbQipEC6wHNKOBrWJ5SphyZiptNjUG2yj=fhUqwg@mail.gmail.com>
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> <CAH1iCiq04z2k+q2xBFGmnoRyuHmrE44_8cdgjTN4JVg6YwJALw@mail.gmail.com> <24B20D14B2CD29478C8D5D6E9CBB29F6077830@Hermes.columbia.ads.sparta.com> <CAH1iCip4qD4ePPEng7uNVjz9ebO1U5A4oN_Dd5YneELxTUWrVw@mail.gmail.com> <24B20D14B2CD29478C8D5D6E9CBB29F60778DE@Hermes.columbia.ads.sparta.com> <CAH1iCirNyhnbQipEC6wHNKOBrWJ5SphyZiptNjUG2yj=fhUqwg@mail.gmail.com>
Date: Tue, 31 Jan 2012 08:05:58 +0000
Message-ID: <CABFLmSTQtxrzcLFEZh9Rnd=BE9zpNhk6j9t3_8vxNECcngdE2w@mail.gmail.com>
From: "Ross.Anderson@cl.cam.ac.uk" <rossjanderson@googlemail.com>
To: "sidr@ietf.org list" <sidr@ietf.org>
Content-Type: multipart/alternative; boundary="90e6ba6e8e9ce9285f04b7ce6e97"
Cc: "Murphy, Sandra" <Sandra.Murphy@sparta.com>
Subject: Re: [sidr] Key learning procedures in BGPsec?
X-BeenThere: sidr@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: Ross.Anderson@cl.cam.ac.uk
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: Tue, 31 Jan 2012 08:14:08 -0000

Brian

(delurk) As a recovering cryptographer I can think of nits to pick but it's
certainly possible to build a robust system using hash chains and hash
trees rather than conventional signatures.

Declaration of interest: I started this field of study 15 years ago with a
paper on the Guy Fawkes protocol. This was then taken up by Adrian Perrig
and others and turned into systems (TESLA etc) for authenticating digital
streams using hash chains. If you want to authenticate a large number of
messages from Alice to Bob that all arrive in order then hash chains are
great.

Here's how it might work. You have a conventional mechanism for initial key
setup between routers (maybe a route reflector doing public-key crypto,
maybe DNSSEC). Then each router sets up a hash chain with each peer and
uses hashes to authenticate routine updates.

Steve Kent will point out that routers do in effect have key material, in
the sense of not-yet-published hash preimages, and this is almost
equivalent to using symmetric keys for MACs (not quite, as you can get some
nonrepudiation from hash chains). But having local symmetric keys (or
short-lived signature keys) managed by per-AS route reflectors, perhaps
with HSMs for the bigger players, is in any case a good strategy to get
resilience in the face of occasional compromise.

So it might well be worth trying to explore the design options in more
detail. The authentication mechanisms had better be cheap and resilient if
we want this thing deployed

Ross Anderson
www.ross-anderson.com


On 30 January 2012 23:57, Brian Dickson <brian.peter.dickson@gmail.com>wrote:

>
> > Do you have any designs in mind that will NOT use cryptography?
>
> There are two things to consider here.
>
> (1) If I can come up with an example design that does not rely on
> private keys being kept (let alone exposed) on routers, would that be
> sufficient to justify exploring more options than just my example? I'm
> fine with someone else coming up with something better than this, and
> am not married to the particulars of this. However, it can be
> considered an "existence proof".
>
> (2) Do you accept that an example of such a design is intended to
> prompt the merits of looking for better designs, rather than the
> example being fodder for dissection/discussion/bashing? I mean for
> this to be an "okay, fine, clearly there are alternatives, and we
> should discuss the high-level pros/cons of on-router crypto and key
> management".
>
>
>
> Having said that, here's a simple example (with "simple" being in the
> eye of the beholder, obviously).
>
> Each AS maintains a (for lack of a better term) "database" of its BGP
> neighbors, and known prefixes.
>
> Each AS also maintains a single, global "nonce", which it may
> periodically change.
>
> From these sets of data and the single nonce, each AS publishes a set
> of SHA-256 hashes (or other SHA hash, as appropriate), over (prefix +
> neighbor_ASN + nonce) tuples.
>
>