[secdir] Re: draft-ietf-pim-gaap-18 ietf last call Secdir review
Dino Farinacci <farinacci@gmail.com> Wed, 05 August 2026 21:16 UTC
Return-Path: <farinacci@gmail.com>
X-Original-To: secdir@mail2.ietf.org
Delivered-To: secdir@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 5939F1245DCE1 for <secdir@mail2.ietf.org>; Wed, 5 Aug 2026 14:16:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1785964611; bh=ZQCFtR25n5BC5zhorhHYFcqcIOVss14JaE1endehCIs=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=eeeHREw+TLobXWAD2NVM14A/qNC/XesD5mscBAdhfyGak+vZGyq6EOi18eqrchDhl vjAlzHuCwm/OSCkwk97MDgWcUSyvJ9/tf9AF/Xrk7Oo4mb3/AwcdVa1y5VvnN6O9xi 5XytJLpjpln4uh/RtebOe16i8WlIoL03VIfckp0s=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 P6TqfOqZ7UoS for <secdir@mail2.ietf.org>; Wed, 5 Aug 2026 14:16:50 -0700 (PDT)
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id CEE7D1245DCC5 for <secdir@ietf.org>; Wed, 5 Aug 2026 14:16:50 -0700 (PDT)
Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2cf27856f9cso18827215ad.2 for <secdir@ietf.org>; Wed, 05 Aug 2026 14:16:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785964610; x=1786569410; darn=ietf.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:content-type:from:to:cc :subject:date:message-id:reply-to:content-type; bh=ZQCFtR25n5BC5zhorhHYFcqcIOVss14JaE1endehCIs=; b=gMzCDEqJNo+cPAsbE2W0YPsKvOjNjwe59W6RgE0vMJemPuXcwttOaSPZcA6OjzG3qz eh8Yn+OPYOV2sIMgAWlHKJFtCx/ANmSJfMwY+GeFM66L+eKpCxhfDSH2uB0XeYuES60w Z7F8t4SVgD4Uq37qVjjyRAIuAeMpNJTJREJCQGl7XZ4NCguvvOLn4tqQBB6So4OAwZId eRqb1ybRyMknhWoarHZD8kA3LXHjhk0+q04vt5ZMrAkK/d05J9NvJaaYh6C2RGQsJrNp 18sQM8NKF78aPP+ORON+iqBTH8nvBUjQNRzKpAMIJ+6W6Z7b2Qr9NMDNSx1w0en53X/J pO1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785964610; x=1786569410; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:content-type:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ZQCFtR25n5BC5zhorhHYFcqcIOVss14JaE1endehCIs=; b=DIsNP6ZrNrFU0kjlUai45vFfHA6okPCvm3U86H3iyYQs4sUBriUZyzrR+uH9xkwQW1 Z7iG1e58jn90bM2OfDLm0cWvXHSyI1lqexIP+Scsuq+23AWiMCW51byfQHy7p5IC1izJ 3gKCWKJ6Dqv9+E+zSHYu0GYb81T8PXtyvljuQ/m5ATzjSFX0PXQl1n5JAOlOTcESCGl7 WeRB5Gs0UmJ3QHOFPxgdoh97ZpiuRXgprph0dv20C9dvC4d9zu38b5eH9nJiF3cVjfgA ojTVaqbwHrqufOtmwiS8OgAypNnidHkKRy/+PUWq7gFy9h9ca3O6TQ5mtq42Yn9VxeMe th+A==
X-Gm-Message-State: AOJu0YyiMVaMsYb2z/77/FxI5hyJ6TqG7bj3B/sPpJ0zcJzL0fGsp3pT HFxNGDr8l+/C/f64AjZPZjybCQ0adD1bdledS3GHxGSTsDi59aPOJ4PS
X-Gm-Gg: AR+sD1164kSE2ZHo2P2ScmgDvRER1Ly8CSn0S7BSOQ1g/cX07T0ASyLncpPlwyaDg4q XuKBB6DfPjxNNZCkSr9m3H0YTQ9+XGiIbEV6LnAuWQgFPAu5oOMNXNXz78WROMPBUqHdjLPUYs4 2W8TzLM+AmhMzDJdKpSRmnDGmlLyj+4actAJAzw6SXMumuibt1BrykS62UoVkf9nU90HOuYQV9a hx+a0gWc4LPbgPwonBWAXkXKobAgjFYVs54RFAyrDStXO/iC2013Llgqe2Vxzf5uiwI5skYPOgQ 5yQaxrr9rUim3Kel5buW0pDv2JHNV2RFFhDQ+fk2kYmnHD115wJLPdSa8jz/18xlIqDXqaW+tVS fdBs+ZpwlLlRcnB3W+wI5itO7htItK0wnkme47mqS7jyDGW6tQlnVAAlEFU+tdCVcioJqcIRRpP e+VRe5/1JevZv9taB823aZaOcsesO6LzsNwDkIWVMj/x5J+wjvxUgS2Jwr2/MjSVovFQL6G2/YY gMKlAdvD2lhxkCg96pLF3MKce9TQL8Onm+K619QpyGrqaTYymuOwP3WDX03sMmGRiv2rs0QemTv I7l0mngY79Q/kPCHFZXbkjxF0jxCVFfL/Ax8OtXv7+fZAkn7CVLJMuTSYg==
X-Received: by 2002:a17:903:46c6:b0:2cc:864b:539 with SMTP id d9443c01a7336-2d0ca713b0dmr112337475ad.6.1785964609725; Wed, 05 Aug 2026 14:16:49 -0700 (PDT)
Received: from smtpclient.apple (c-24-5-184-219.hsd1.ca.comcast.net. [24.5.184.219]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-31586447d52sm18510251eec.12.2026.08.05.14.16.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 05 Aug 2026 14:16:49 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.600.51.1.1\))
From: Dino Farinacci <farinacci@gmail.com>
In-Reply-To: <178587221734.584.16465348933486025478@dt-datatracker-54dc84885d-8d5gh>
Date: Wed, 05 Aug 2026 14:16:38 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <289C0F58-BB3C-498C-AA1D-5BA49BEE9F29@gmail.com>
References: <178587221734.584.16465348933486025478@dt-datatracker-54dc84885d-8d5gh>
To: Tim Hollebeek <tim.hollebeek@digicert.com>
X-Mailer: Apple Mail (2.3864.600.51.1.1)
Message-ID-Hash: JIXPUPTKESNN5I5GSXPURCCMWICUDTFV
X-Message-ID-Hash: JIXPUPTKESNN5I5GSXPURCCMWICUDTFV
X-MailFrom: farinacci@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-secdir.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: secdir@ietf.org, draft-ietf-pim-gaap.all@ietf.org, last-call@ietf.org, pim@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [secdir] Re: draft-ietf-pim-gaap-18 ietf last call Secdir review
List-Id: Security Area Directorate <secdir.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/secdir/0qmZHxDO3sl8TAORWHLKKpSN3rA>
List-Archive: <https://mailarchive.ietf.org/arch/browse/secdir>
List-Help: <mailto:secdir-request@ietf.org?subject=help>
List-Owner: <mailto:secdir-owner@ietf.org>
List-Post: <mailto:secdir@ietf.org>
List-Subscribe: <mailto:secdir-join@ietf.org>
List-Unsubscribe: <mailto:secdir-leave@ietf.org>
Thanks for the impressive comments Tim. See inline my responses. I have not discussed this with my co-authors.
> Persistent denial of allocation. The four candidate addresses for a name are
> deterministic and computable by anyone who knows the name. Nothing requires a
> receiver to verify that a Claim's name field hashes to the address it claims —
> Section 8's guidance to ignore such Claims is a non-normative lowercase
> "should." An on-network attacker can therefore contest all four candidates with
> spoofed Claims bearing fabricated early timestamps; the victim yields each time
> and gaap.allocate() returns None with no retry. Even against an implementation
> that does enforce the Section 8 check, the cost rises only to a targeted
> preimage over the masked bits (~2^22 for the IPv4 /10, ~2^32 for the IPv6 /32)
> — not a barrier. Security Considerations should state that the base mode offers
> no protection against an on-network attacker and is suitable only within a
> trusted domain.
>
> Timestamp arbitration is exploitable in the past direction. "Earliest wins,"
> but only far-future timestamps are sanity-checked. An attacker fabricates an
> old timestamp and always wins, indistinguishably from a genuine old claim (so
> the "invalid timestamp → bad-actor list" mitigation can't fire — it only
> triggers when an even-earlier claim exists, i.e. when the attacker loses).
> Separately, the draft notes an unset post-boot clock reads far in the past —
> such a node legitimately wins every collision, a robustness bug with no
> attacker present. A far-past plausibility rule symmetric with the far-future
> one seems warranted.
>
> Encryption gaps. ChaCha20 alone is malleable (the Marker is a redundancy check,
> not integrity); consider AEAD as MUST-when-encrypting rather than SHOULD. Nonce
> management is unspecified, which is dangerous with one shared key across many
> senders. The cleartext header isn't bound as AEAD associated data. Sections 4
> and 8 contradict each other on whether the Marker stays cleartext (Section 4)
> or is non-0xAAAAAAAA on the wire and only appears after decryption (Section 8).
> And nothing requires a keyed receiver to reject plaintext Claims, permitting
> trivial downgrade.
>
> The bad-actor list can be turned into the attack. Since sources are spoofable,
> an attacker can spoof misbehaving Claims from a victim's address to get the
> victim blacklisted, and can inflate the list itself (state exhaustion on a
> stateless protocol). Entries should be bounded and advisory.
Do you believe (with the exception of your encrytion gap comment), if an out-of-band shared-key was used and encryption was reliable, problems 1, 2, and 4 would go away?
So only authorized users would operate the protocol (and app), even though an authorized user could go rogue.
Could we state out-of-band key exchange and satisify your comments?
> Minor
>
> The fallback candidates are built by string concatenation (H("foo+1") etc.), so
> a legitimate primary name "foo+1" aliases foo's second candidate — reachable by
> ordinary API allocation, and also by accident. Hash-level domain separation of
> the attempt number would remove this; it does not, however, mitigate item 1.
Well the group members joined to "foo" would Claim a collision for "foo+1" and the "foo+1" members would move to group "foo+1+1".
> Nits
>
> Section 6 title: "Detail Protocol Operation" → "Detailed".
> Section 5.1 code: mismatched parens in format(...) and a missing colon on the
> callback def.
We will fix.
Thanks a lot,
Dino
- [secdir] draft-ietf-pim-gaap-18 ietf last call Se… Tim Hollebeek via Datatracker
- [secdir] Re: draft-ietf-pim-gaap-18 ietf last cal… Dino Farinacci
- [secdir] Re: draft-ietf-pim-gaap-18 ietf last cal… Tim Hollebeek
- [secdir] Re: draft-ietf-pim-gaap-18 ietf last cal… Mike McBride