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

Alexander Azimov <a.e.azimov@gmail.com> Thu, 25 July 2019 20:20 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 7432A1201D1 for <sidrops@ietfa.amsl.com>; Thu, 25 Jul 2019 13:20:36 -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 OvocmEps1ViB for <sidrops@ietfa.amsl.com>; Thu, 25 Jul 2019 13:20:33 -0700 (PDT)
Received: from mail-ot1-x329.google.com (mail-ot1-x329.google.com [IPv6:2607:f8b0:4864:20::329]) (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 297C21201EC for <sidrops@ietf.org>; Thu, 25 Jul 2019 13:20:33 -0700 (PDT)
Received: by mail-ot1-x329.google.com with SMTP id l15so52985419otn.9 for <sidrops@ietf.org>; Thu, 25 Jul 2019 13:20:33 -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=C6HcEAFqBiB/GCPZVytIGe+WK4d7povDuJ8PF5lOtHI=; b=cldjG/mpyp17/RhPF2nt+V/tKW3hnT5Kt2P0FHbmfSwMZx9RFWNFagT/2AoqSrqCbp EL5UUPhmq6XzEhPAQTmd6HSSPv9Yg92tL4ocKEs2t4H0v9CrUgF85JBpto2nBCzv3kv9 e9BkcpwteZyaP5HBY1el2aRUqyzhmpRUWh44tCIg6t6E+MrWhd/ALsUM3M7zyQ1EpmbE HVLBG274LoezZKe7AS+Dn0I7/jAK5oiAYtEi3OY8vsohI4U5pRUM1pT8ZdXCcRyc/RFW /zGP2KIuz3E/r/xLqge7lLrS7P8JZQhJn/K8Lh6fO8VGrEH/04KpqENUOame//Y3oEyg XXJQ==
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=C6HcEAFqBiB/GCPZVytIGe+WK4d7povDuJ8PF5lOtHI=; b=s0IjHhI/RU+sH+VpaI/jXiSu/dMnf9T0pudwm19zEq6Jp3jEO0kaq0P1yxhuVQW83r lRJPZPgDxDGrzIcIkXCZa4Y3vL931qlMXE7fcwUBlnMzQ00WMjCz0mLEBZFA8KmAIphm BGfvtJ0k67WoZ8u4oeLdIejlH6xIV9IQ6JLgYdqZRepSbP+beOSVx4EtY5p85b1A9egY qdYkf/+KL0mg5w+Oq4JknTfHG2PPY+MzCozb1A2yWOJvTRCWVXUpml+nvPuGtpMzb84H 9dWbrGEHXOLVML+/x5Ve08w8n9a28SJc7GUOc8Wd2ciB+XyF6d3rXXfmNalu+A46C9e8 YZrw==
X-Gm-Message-State: APjAAAUlsx5anzUddzrVhJfPPjoBOo621HwhXQ/USRrPAuwjfN7bamqm omb2a+yP/1qQtLZO5CkKopUEjldCG8706d/vLxM=
X-Google-Smtp-Source: APXvYqzkP2TV/PL7ZxPzJLM4tuJNQVR/0kUg8U3hWJVI0UNUowhhHIJwJ1SX6+fxygnWn5GBP7e0SFowVGcrNac6cIM=
X-Received: by 2002:a9d:7411:: with SMTP id n17mr62102122otk.27.1564086032332; Thu, 25 Jul 2019 13:20:32 -0700 (PDT)
MIME-Version: 1.0
References: <BYAPR11MB37517CDEF18A211F9D9B6324C0C10@BYAPR11MB3751.namprd11.prod.outlook.com>
In-Reply-To: <BYAPR11MB37517CDEF18A211F9D9B6324C0C10@BYAPR11MB3751.namprd11.prod.outlook.com>
From: Alexander Azimov <a.e.azimov@gmail.com>
Date: Thu, 25 Jul 2019 23:20:20 +0300
Message-ID: <CAEGSd=BJ+zbpaOTjb0mQm+TktVZO+yU_xhnjM1ZMcVFLQo20xA@mail.gmail.com>
To: "Jakob Heitz (jheitz)" <jheitz@cisco.com>
Cc: "sidrops@ietf.org" <sidrops@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000005afd81058e872826"
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/zUD7b_fYw8m_7_uwMeUV4wf8byI>
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: Thu, 25 Jul 2019 20:20:37 -0000

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>om>:

> 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