Re: [Sidrops] draft-ietf-sidrops-aspa-verification-01: Handling unknowns

Alexander Azimov <a.e.azimov@gmail.com> Fri, 26 July 2019 15:48 UTC

Return-Path: <a.e.azimov@gmail.com>
X-Original-To: sidrops@ietfa.amsl.com
Delivered-To: sidrops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 429EA120044 for <sidrops@ietfa.amsl.com>; Fri, 26 Jul 2019 08:48:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id T481vsC4hkOJ for <sidrops@ietfa.amsl.com>; Fri, 26 Jul 2019 08:48:19 -0700 (PDT)
Received: from mail-ot1-x335.google.com (mail-ot1-x335.google.com [IPv6:2607:f8b0:4864:20::335]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D630212003E for <sidrops@ietf.org>; Fri, 26 Jul 2019 08:48:18 -0700 (PDT)
Received: by mail-ot1-x335.google.com with SMTP id r21so49758033otq.6 for <sidrops@ietf.org>; Fri, 26 Jul 2019 08:48:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GYXD1quAR8wHu4FYkywkiNY7QZuL8BDV1HI5xb5zP2M=; b=M+ls0LXKd8tXe5O6u1A9nGkGNThlk/zVKUoox3Wg16DqBg0bnX7TAASwYiiasK5lT3 mDJUXhYgwk3yfozgFtVEh/qNTyWDANHviRXqdCht4QkZMIndayFj1J7XHzdWAryQDC9m VO5q9TPnymIiKGFSBlK7ZqVeTrUMGGAWlU53PSdU+1L3eYEPWSfp0BRc0TR+KqXbkrW+ sIMgG4Kt6ykoUdPktwlBtikjTmwePK7T7BG7YmWVYFOAZWT5XrscvIsroi7EAU2EJMpD 00YZQpbjzUpO3qxh5MGTsewrAMD4RU0F2p4DxPx8eNSDkAukwUE1pK70m4mZ2LsfmK/7 wJ0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GYXD1quAR8wHu4FYkywkiNY7QZuL8BDV1HI5xb5zP2M=; b=K7lrIAp9crzCGJ3rUNWm8E9NoI6Q9JFbBrrFj+r20MnB8IRAVBuapq19PHFhEJjxiz 8c1/qU4D2He+DjD4BqM/fNgZ+D/XABXcH0IU3KlH5QKXA3D9c7cI5jzZ967Y2tz+7O2e Q9KTbS8zIVPMdeJFhdhuklbqg4EMRj+8ezOOp21iBzTSc5tQNAoa+S5NWwnRPuzlKA9s mtcnVE7AdWtubOClp8/QhHdKeKVZUedxDVVy6hmF69BbDgDn2mrFD4jTIqzJ6AjaqDlA YXPruwUJLa7Y0mq9q27UZzvk4GJ/5vyiVV5tyRzrT5QX2vFq8vGcNdF3eVgDecKX0OCG yNSA==
X-Gm-Message-State: APjAAAWXzCpQ/oTTOHMj1EzM83+HVvlPNmIVgtn2pxRQL9aHqbvjTcrk wjPu07+SPyxzUUX6/5MowGehJ+F9eBb4owDTYi3lpABj
X-Google-Smtp-Source: APXvYqyE9WbdAOIcO3PNnZWS9t7msc/aZPo+9ZbXejCq8IAN94pSjdVN8qsNKXijQYvJkk/2JoQpq5ANgSNDWv5M89E=
X-Received: by 2002:a9d:7411:: with SMTP id n17mr65421174otk.27.1564156098094; Fri, 26 Jul 2019 08:48:18 -0700 (PDT)
MIME-Version: 1.0
References: <BYAPR11MB37517CDEF18A211F9D9B6324C0C10@BYAPR11MB3751.namprd11.prod.outlook.com> <CAEGSd=BJ+zbpaOTjb0mQm+TktVZO+yU_xhnjM1ZMcVFLQo20xA@mail.gmail.com> <BYAPR11MB3751F9334FDC8E598D004388C0C00@BYAPR11MB3751.namprd11.prod.outlook.com>
In-Reply-To: <BYAPR11MB3751F9334FDC8E598D004388C0C00@BYAPR11MB3751.namprd11.prod.outlook.com>
From: Alexander Azimov <a.e.azimov@gmail.com>
Date: Fri, 26 Jul 2019 18:48:07 +0300
Message-ID: <CAEGSd=DRNXZTRrvaOaxw0QEXr_2vf1Gd9+_YxLVfFP0jKoC+NQ@mail.gmail.com>
To: "Jakob Heitz (jheitz)" <jheitz@cisco.com>
Cc: "sidrops@ietf.org" <sidrops@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000099abd1058e9778a3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/rWMZSsaH6Pq7Fnkl8WPiXo3S1lc>
Subject: Re: [Sidrops] draft-ietf-sidrops-aspa-verification-01: Handling unknowns
X-BeenThere: sidrops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: A list for the SIDR Operations WG <sidrops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sidrops>, <mailto:sidrops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidrops/>
List-Post: <mailto:sidrops@ietf.org>
List-Help: <mailto:sidrops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sidrops>, <mailto:sidrops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 Jul 2019 15:48:22 -0000

In this email, I will answer Jacob's comments + make a brief follow up of
our f2f discussion.

пт, 26 июл. 2019 г. в 08:38, Jakob Heitz (jheitz) <jheitz@cisco.com>:

> If you receive an AS-PATH of 2 ASes and neither of them make any
> attestation,
>
> then your procedure calls it valid. It could be invalid,
>
> so it must be considered unknown.
>
It is an interesting point. When I was writing verification


>
>
> If an AS-PATH contains an AS-SET, then the segments on either side of
>
> the AS-SET can still be verified. If any such segment turns out to be
>
> invalid, then the whole path must be considered invalid, not unverifiable.
>
>
>
> My procedure accounts for these cases and more.
>
> For the cases where every AS makes an attestation, my procedure agrees
> with yours.
>
>
>
> BTW, you have a copy/paste error in 5.2 Downstream paths:
>
> If a route from ROUTE_AFI address family is received from a customer
>
> should be:
>
> If a route from ROUTE_AFI address family is received from a provider
>
>
>
> s/ ot / or /
>
>
>
>
>
> Regards,
>
> Jakob.
>
>
>
> *From:* Alexander Azimov <a.e.azimov@gmail.com>
> *Sent:* Thursday, July 25, 2019 1:20 PM
> *To:* Jakob Heitz (jheitz) <jheitz@cisco.com>
> *Cc:* sidrops@ietf.org
> *Subject:* Re: [Sidrops] draft-ietf-sidrops-aspa-verification-01:
> Handling unknowns
>
>
>
> Jakob,
>
>
>
> I believe your reading of the ASPA verification procedure is incorrect.
>
>
>
> Section 4 defines pairs wise verification procedure (let's call
> pair_verification) which returns valid, invalid and unknown.
>
> Sections 5.1 and 5.2 define verification procedure for upstream and
> downstream path respectively.
>
>
>
> In these procedures, the 'valid' and 'unknown' outcome of
> pair_verification is the same. These procedures return 'valid', 'invalid'
> and 'unverifiable' (in case of valid AS_SEQ + presence of AS_SET). So, your
> assumption that the algorithm works when all ASes in the as-path make
> attestations is incorrect.
>
>
>
> To perform verification you don't need to split ASPATH into triplets (or
> even bigger windows). I sent previously a linear function that makes
> verification for the downstream path, for the upstream path it even
> simpler. Since you are already working on the implementation I suggest to
> discuss it in person before the end of this meeting. It makes me really
> anxious if the specification is unclear for implementers.
>
>
>
> чт, 25 июл. 2019 г. в 08:04, Jakob Heitz (jheitz) <jheitz@cisco.com>:
>
> I believe the path verification algorithm works when all ASes in the
> as-path
> make attestations. If some of the ASes make no attestations, then a more
> complete
> algorithm is as follows:
>
> For every sequence (A, B, C) of consecutive ASes in an AS-path:
> If A attests that B is not a provider and C attests that B is not a
> provider,
> then B leaked the route: B is transiting for free. The segment is invalid.
> If either A or C attests that B is a provider, then the AS-path segment
> (A, B, C) is valid.
> If neither A nor C make an attestation, then the leak state is unknown.
> Even if B lists both A and C as providers, it is not necessarily a leak,
> because either A or C could consider B as a provider for some of their
> routes, even though they don't attest to it.
>
> If all the path segments are valid, then the whole path is valid.
> If any of the path segments is invalid, then the whole path is invalid.
> Else, at least one path segment is unknown and one more rule must be
> applied: for any sequence of ASes (A, B1, ..., Bn, C), if A attests that B1
> is not a provider and C attests that Bn is not a provider, then the AS-path
> is invalid. This is for any number of Bx greater than 1.
>
> This algorithm breaks the AS-PATH into triples instead of pairs.
> For example, the AS_PATH (A,B,C,D,E) is broken into the triples:
> (A,B,C), (B,C,D), (C,D,E).
> I find it easier to reason about it like that.
> It can probably be re-worded into pairs.
>
> An additional point:
> If AS-SETs exist then complete sequences between the AS-SETs can be
> checked for invalidity.
> The best such an AS-PATH can get is unknown, but it can also be verified
> invalid.
>
> Regards,
> Jakob.
>
> -----Original Message-----
> From: Sidrops <sidrops-bounces@ietf.org> On Behalf Of
> internet-drafts@ietf.org
> Sent: Monday, July 8, 2019 1:24 PM
> To: i-d-announce@ietf.org
> Cc: sidrops@ietf.org
> Subject: [Sidrops] I-D Action: draft-ietf-sidrops-aspa-verification-01.txt
>
>
> A New Internet-Draft is available from the on-line Internet-Drafts
> directories.
> This draft is a work item of the SIDR Operations WG of the IETF.
>
>         Title           : Verification of AS_PATH Using the Resource
> Certificate Public Key Infrastructure and Autonomous System Provider
> Authorization
>         Authors         : Alexander Azimov
>                           Eugene Bogomazov
>                           Keyur Patel
>                           Job Snijders
>         Filename        : draft-ietf-sidrops-aspa-verification-01.txt
>         Pages           : 10
>         Date            : 2019-07-08
>
> Abstract:
>    This document defines the semantics of an Autonomous System Provider
>    Authorization object in the Resource Public Key Infrastructure to
>    verify the AS_PATH attribute of routes advertised in the Border
>    Gateway Protocol.
>
>
>
> The IETF datatracker status page for this draft is:
> https://datatracker.ietf.org/doc/draft-ietf-sidrops-aspa-verification/
>
> There are also htmlized versions available at:
> https://tools.ietf.org/html/draft-ietf-sidrops-aspa-verification-01
>
> https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-aspa-verification-01
>
> A diff from the previous version is available at:
> https://www.ietf.org/rfcdiff?url2=draft-ietf-sidrops-aspa-verification-01
>
>
> Please note that it may take a couple of minutes from the time of
> submission
> until the htmlized version and diff are available at tools.ietf.org.
>
> Internet-Drafts are also available by anonymous FTP at:
> ftp://ftp.ietf.org/internet-drafts/
>
> _______________________________________________
> Sidrops mailing list
> Sidrops@ietf.org
> https://www.ietf.org/mailman/listinfo/sidrops
>
> _______________________________________________
> Sidrops mailing list
> Sidrops@ietf.org
> https://www.ietf.org/mailman/listinfo/sidrops
>
>
>
> --
>
> Best regards,
>
> Alexander Azimov
>


-- 
Best regards,
Alexander Azimov