[pim] Re: draft-ietf-pim-gaap-18 ietf last call Secdir revie w

Mike McBride <[email protected]>
Newsgroups gmane.ietf.pim
Message-ID <CAL3FGfyfd6AgZ5ftnG-GP9VeOnVd+Gwfbb9Z=Ct5xiBG1c8a+Q@mail.gmail.com>
Hi Tim,

Thank you for the review. I *think* I captured all of your concerns and
suggestions in the just submitted -20. I utilized Dino's suggestions. I'm
attaching the diff here. Please give it another review and see if I missed
anything.

thanks,
mike



On Thu, Aug 6, 2026 at 9:37 AM Tim Hollebeek <[email protected]>
wrote:

> Yes, and I think that is the shape of most of the comments. If you're on a
> "safe" network, which can be accomplished in a number of ways, including
> virtually by using pre-shared keys, encryption and authentication, this can
> be made to work. But the security properties are fragile, especially with
> respect to active attacks. The Security Considerations just need to capture
> those details accurately so that readers can make informed decisions about
> how to deploy it safely.
>
> -Tim
> ------------------------------
> *From:* Dino Farinacci <[email protected]>
> *Sent:* Wednesday, August 5, 2026 5:16 PM
> *To:* Tim Hollebeek <[email protected]>
> *Cc:* [email protected] <[email protected]>; [email protected]
> <[email protected]>; [email protected] <[email protected]>;
> [email protected] <[email protected]>
> *Subject:* Re: draft-ietf-pim-gaap-18 ietf last call Secdir review
>
> 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
>
>
>
>

_______________________________________________
pim mailing list -- [email protected]
To unsubscribe send an email to [email protected]
draft-ietf-pim-gaap-20.diff.html (text/html, 122.7 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.