[Sidrops] ASPA validation of paths received from customers and providers

Maria Matejka <maria.matejka@nic.cz> Thu, 29 May 2025 11:31 UTC

Return-Path: <maria.matejka@nic.cz>
X-Original-To: sidrops@mail2.ietf.org
Delivered-To: sidrops@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 391EE2E4A139 for <sidrops@mail2.ietf.org>; Thu, 29 May 2025 04:31:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -7.1
X-Spam-Level:
X-Spam-Status: No, score=-7.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ojFK0GlFbDsA for <sidrops@mail2.ietf.org>; Thu, 29 May 2025 04:31:10 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 2498E2E4A132 for <sidrops@ietf.org>; Thu, 29 May 2025 04:31:09 -0700 (PDT)
Received: from struhadlo.private.jmq.cz (unknown [IPv6:2001:1488:fffe:6:d66d:1f6a:3e6d:e556]) by mail.nic.cz (Postfix) with ESMTPSA id 804AA1C036C; Thu, 29 May 2025 13:31:07 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nic.cz; s=default; t=1748518267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6ov02SIAv/HZJ7EziOTuKkGxQj68p19FzKR4UKs4OwI=; b=BkFYuMwJHozcnm0obfAoJ6sbtPUUmZEwr/nV3+ZQ88hZUYZjNxK0B1G304QVd2jdAbaH2E qrUV5aoJJDqfxRvUxVFKoep3V6dcMus1O/iZ22GA0NwZTJWlOaIUue0Guon9lfNt1vpSZc sXccsepceSHiUQHqV94/TkM5fqVZAsY=
Authentication-Results: mail.nic.cz; auth=pass smtp.auth=maria.matejka@nic.cz smtp.mailfrom=maria.matejka@nic.cz
Date: Thu, 29 May 2025 13:31:06 +0200
From: Maria Matejka <maria.matejka@nic.cz>
To: sidrops@ietf.org
Message-ID: <aDhFek0kKlCyj8pq@struhadlo.private.jmq.cz>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="ASTS3TrCnwvh1TT6"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: /
X-Rspamd-Queue-Id: 804AA1C036C
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-0.10 / 16.00]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; ARC_NA(0.00)[]; ASN(0.00)[asn:25192, ipnet:2001:1488::/32, country:CZ]; WHITELISTED_IP(0.00)[2001:1488:fffe:6:d66d:1f6a:3e6d:e556]; FROM_HAS_DN(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; DKIM_SIGNED(0.00)[nic.cz:s=default]; MIME_TRACE(0.00)[0:+,1:+,2:~]
X-Rspamd-Pre-Result: action=no action; module=multimap; Matched map: WHITELISTED_IP
X-Rspamd-Server: mail
Message-ID-Hash: 64NWF2ADM6ZOACOITYUBATD7LVDAR7PF
X-Message-ID-Hash: 64NWF2ADM6ZOACOITYUBATD7LVDAR7PF
X-MailFrom: maria.matejka@nic.cz
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-sidrops.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Ondrej Zajicek <santiago@crfreenet.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Sidrops] ASPA validation of paths received from customers and providers
List-Id: A list for the SIDR Operations WG <sidrops.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/Rcgnx8p4JaZZTJYqJE4OFRic3r8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidrops>
List-Help: <mailto:sidrops-request@ietf.org?subject=help>
List-Owner: <mailto:sidrops-owner@ietf.org>
List-Post: <mailto:sidrops@ietf.org>
List-Subscribe: <mailto:sidrops-join@ietf.org>
List-Unsubscribe: <mailto:sidrops-leave@ietf.org>

Hello all,

while preparing ASPA testing and teaching, we (in the BIRD team) ran
into an uncertainty.

The specification currently mandates to validate the AS Path as
received, and it's expected that it's complemented by BGP Roles for the
neighboring hop. While this makes perfect sense for ingestion of the
routes, there is a misleading gap in our view in not including the local
ASN if the neighbor is our customer or provider.

In the case of our Customer, if the Customer forgets to include our ASN
in their ASPA provider list, we may end up advertising their routes with
ASPA-invalid AS Paths to our neighbors.

In the case of our Provider, if we forget to include their ASN in our
ASPA provider list, we may end up advertising routes with ASPA-invalid
AS Paths to our customers.

This is not the case of Peers or route servers where the Upstream
verification algorithm is applied to the whole upstream portion of the
path.

We suggest that if the neighbor is Customer or Provider, the validation
procedure at least strongly recommends (SHOULD) prepending the local ASN
before executing the Upstream or Downstream Validation Procedure. This
behavior would extend the validated path by a part which is expected to
be valid anyway, so we expect no harm / risk from this update.

The benefit from this would be that if anything is broken regarding the
ASPA records, then the failure points to its actual source much more
clearly and noticeably than with the current wording.

We haven't been following all the discussions thoroughly so there may be
something on this topic we have missed in the process. Feel free to reply
with a pointer to an older discussion if something like this has already
been resolved.

Thanks!  
Maria

-- 
Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.