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
- [Sidrops] draft-ietf-sidrops-aspa-verification-01… Jakob Heitz (jheitz)
- Re: [Sidrops] draft-ietf-sidrops-aspa-verificatio… Alexander Azimov
- Re: [Sidrops] draft-ietf-sidrops-aspa-verificatio… Jakob Heitz (jheitz)
- Re: [Sidrops] draft-ietf-sidrops-aspa-verificatio… Alexander Azimov
- Re: [Sidrops] draft-ietf-sidrops-aspa-verificatio… Alexander Azimov
- Re: [Sidrops] draft-ietf-sidrops-aspa-verificatio… Jakob Heitz (jheitz)
- Re: [Sidrops] draft-ietf-sidrops-aspa-verificatio… Alexander Azimov