ok, let me try to cover what russ has not.  good reviews are much
appreciated

  [ in the cs academic social circle, there has been comment that,
    though reviews can be a pita, they are substantial revwiews.  one
    gets useful feedback.  in man other fields, one gets one or two
    sentences saying useless and even rude things.  the ietf review
    cycle, once one gets to last call (yes, that is a problem), is even
    more thorough and constructive. ]

> We are careful to note that:
> 
>    The bracketing "# RPKI Signature:" and "# End Signature:" MUST be
>    present exactly as shown.
> 
> How do we construct the bits (CIDR block?) that come after the quoted
> strings?  Do they only matter for matching start/end, or are we supposed
> to check them in the validation procedure?

how about

   The bracketing "# RPKI Signature:" and "# End Signature:" MUST be
   present following the model as shown.  The IP address range MUST
   match that of the signer's certificate.

and the cert is already in the validation

> Thanks to Kyle Rose for the secdir review, and all who participated in
> the subsequent discussion.

indeed

> Publishing this document on the stanards-track does make one wonder
> whether RFC 8805 should be adopted at least into the IETF stream and
> possibly to the standards-track as well...

and it could use a bit of work in the process.  can you say "let's open
a can of worms?"  but yes, geofeed has seriously 8805 deployment, and it
is showing cracks.

> Section 1
> 
>    This document specifies how to augment the Routing Policy
>    Specification Language (RPSL) [RFC2622] inetnum: class to refer
> 
> Interestingly, I don't see "inetnum" at all in RFC 2622 (but the
> treatment in RFC 2725 is helpful to some extent).  Should we be
> referencing 2725 (or something else) in addition to 2622?

grumph!  i though i had fixed this.  clearly i had not.

> Section 3
> 
>    The URL's use of the web PKI can not provide authentication of IP
>    address space ownership.  It is only used to authenticate a pointer
>    to the geofeed file, [...]
> 
> I'm a little confused by the use of the phrase "authenticate a pointer
> to the geofeed file".  My understanding is that the "pointer to the
> geofeed file" is the URL itself, i.e., it is a pointer from the RPSL
> stanza to the geofeed file, and that dereferencing the URL retrieves the
> geofeed file itself (i.e., not a pointer).  In particular, the URL (and
> any Web PKI usage therein) does not do anything to authenticate the RPLS
> stanza in which the URL appears.  IIUC, it would be okay to just drop
> that bit and say "It is only used to authenticate the domain name in the
> URL, and provide confidentiality and integrity for the geofeed file in
> transit".  Am I missing something?

no.  my current edit buffer has

   The URL uses HTTPS, so the WebPKI provides authentication, integrity,
   and confidentiality for the fetched geofeed file.  However, the
   WebPKI can not provide authentication of IP address space assignment.
   In contrast, the Resource Public Key Infrastructure (RPKI, see
   [RFC6481]) can be used to authenticate IP space assignment; see
   optional authentication in Section 4.

>    If a geofeed CSV file describes multiple disjoint ranges of IP
>    address space, there are likely to be geofeed references from
>    multiple inetnum: objects.
> 
> We might note that such files with geofeed references from multiple
> inetnum: objects are not compatible with our signing procedure (right?)
> and thus vaguely discouraged.

i am not sure i would discourage the use, as i suspect the rpki
authentication will mostly remain unused.

   If a geofeed CSV file describes multiple disjoint ranges of IP
   address space, there are likely to be geofeed references from
   multiple inetnum: objects.  Files with geofeed references from
   multiple inetnum: objects are not compatible with the signing
   procedure in Section 4.

> Maybe I'm just confused about what "covered by he range of the inetnum:"
> means, but I only see (at least so far) requirements that the signing
> cert cover all addresses in the file, and that we fetch from the
> most-specific inetnum: object with a geofeed reference.  Can't I still
> sign with a cert that covers a broader range of addresses than the
> intenum: object used to fetch?

i am trying to think of two examples [ yes, certs and inetnum:s may
express ranges as well as cidr blocks ]

two inetnums:
   1.2.3.0 - 1.2.3.7 
   1.2.3.6 - 1.2.3.13
and a cert for 1.2.3.0 - 1.2.3.13

and conversely

two certs:
   1.2.3.0 - 1.2.3.7 
   1.2.3.6 - 1.2.3.13
and an inetnum: for 1.2.3.0 - 1.2.3.13

and i m starting to think i am rat-holing on complexlow-payoff corner
cases, a disease i rather dislike.

the current state is simple and clear.  are there seriously useful cases
it does not cover?  i will keep thinking.  and listening, of course.

>    Identifying the private key associated with the certificate, and
>    getting the department with the Hardware Security Module (HSM) to
>    sign the CMS blob is left as an exercise for the implementor.  On the
> 
> I thought there was some previous discussion of this but now I can't
> find it: I assume that a HSM is not mandatory for holding the RPKI
> certificate's private key.  In that case, I'd consider "getting the
> department that controls the private key (which might be trapped in a
> Hardware Security Module, HSM)".

cool

> Section 5
> 
>    If and only if the geofeed file is not signed per Section 4, then
>    multiple inetnum: objects MAY refer to the same geofeed file, and the
>    consumer MUST use only geofeed lines where the prefix is covered by
>    the address range of the inetnum: object they have followed.
> 
> Does "geofeed lines" here mean "lines/entries in the geofeed file", as
> opposed to "the geofeed: attribute in the intenum: class"?

   If and only if the geofeed file is not signed per Section 4, then
   multiple inetnum: objects MAY refer to the same geofeed file, and the
   consumer MUST use only lines in the geofeed file where the prefix is
   covered by the address range of the inetnum: object they have
   followed.

> (Also, didn't we say earlier that geofeed files could have entries
> that don't map up to a CIDR block and thus don't have a well-defined
> prefix?)

i hope not.  a range such as 1.2.3.4-1.2.3.5 may not be a cidr block
but it is considered a well-defined prefix in rpsl and rpki.

>    To minimize the load on RIR whois [RFC3912] services, use of the
>    RIR's FTP [RFC0959] services SHOULD be the preferred access.  This
>
> Preferred access for which objects/resources?
 
   To minimize the load on RIR whois [RFC3912] services, use of the
   RIR's FTP [RFC0959] services SHOULD be used for large scale access to
   gather geofeed URLs.  This also provides bulk access instead of
   fetching by brute force search through the IP space.

>    If an inetnum: for a wide prefix (e.g. a /16) points to an RPKI-
>    signed geofeed file, a customer or attacker could publish an unsigned
>    equal or narrower (e.g. a /24) inetnum: in a whois registry which has
>    weak authorization.
> 
> I might reiterate that the rule for fetching from the most-specific
> inetnum: object with a geofeed reference means that the spoofed data
> will take effect (for the affected prefix), and possibly also that if
> validators could always require signatures, the attack would be stymied
> (but of course that is not happening anytime soon).

   For example, if an inetnum: for a wide prefix (e.g. a /16) points to
   an RPKI-signed geofeed file, a customer or attacker could publish an
   unsigned equal or narrower (e.g. a /24) inetnum: in a whois registry
   which has weak authorization abusing the rule that the most-specific
   inetnum: object with a geofeed reference MUST be used.

   If signatures were mandatory, the above attack would be stymied.  But
   of course that is not happening anytime soon.

randy

_______________________________________________
OPSAWG mailing list
OPSAWG@ietf.org
https://www.ietf.org/mailman/listinfo/opsawg

Reply via email to