Re: Eric Rescorla's No Objection on draft-ietf-hip-rfc4423-bis-19: (with COMMENT)
Miika Komu <[email protected]> Tue, 20 Nov 2018 22:07:05 +0200
| Newsgroups | gmane.ietf.hipsec,gmane.ietf.hip |
|---|---|
| Message-ID | <[email protected]> |
Hi Eric, On 5/7/18 00:41, Eric Rescorla wrote: > Eric Rescorla has entered the following ballot position for > draft-ietf-hip-rfc4423-bis-19: No Objection > > When responding, please keep the subject line intact and reply to all > email addresses included in the To and CC lines. (Feel free to cut this > introductory paragraph, however.) > > > Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html > for more information about IESG DISCUSS and COMMENT positions. > > > The document, along with other ballot positions, can be found here: > https://datatracker.ietf.org/doc/draft-ietf-hip-rfc4423-bis/ > > > > ---------------------------------------------------------------------- > COMMENT: > ---------------------------------------------------------------------- > > Rich version of this review at: > https://mozphab-ietf.devsvcdev.mozaws.net/D3709 > > > Maybe I'm missing something important, but I don't see in this > document how you go from a HI (or HIT) to the corresponding IP > locator. That seems pretty critical to making this work. Can you point > me in the right direction? (I interpret "right" direction here as how to implement this in practice; please let me know if you were asking for something else) Existing applications can utilize LSIs or HITs, for instance, via /etc/hosts in Linux or if the developer/user uses them directly. Mappings can be configured manually. A better way is to use ,e.g., DNS to store the FQDN, HIs, IP address mappings: https://tools.ietf.org/html/rfc8005 An application can receive LSIs or HITs from DNS queries when a HI record exists for a host. This can be implemented in the local resolver library (e.g. glibc in Linux) supports it and sends the HI-to-IP address mapping to the local HIP daemon. As an alternative implementation technique, dynamic relinking of applications (i.e., LD_PRELOAD in Linux): https://tools.ietf.org/html/rfc6538#section-4.1 As yet another alternative, RFC5338 (section 3.2) suggests interposing HIP-aware agents (think about HIP-capable DNS proxy like "dnsmasq" in Linux) that translate HIs into LSIs and HITs to the application and cache the IP address mapping to the HIP daemon: https://tools.ietf.org/html/rfc5338#section-3.2 That's all for existing applications. New HIP native applications could use DNS library extensions for getaddrinfo() that would be implemented e.g. in glibc in Linux: https://tools.ietf.org/html/rfc6317 All of the mentioned references are mentioned in the draft. Should I add something more compressed along these lines of text or is this too detailed? > IMPORTANT > S 11.3.1. >> avoiding manual configurations. The three components are further >> described in the HIP experiment report [RFC6538]. >> >> Based on the interviews, Levae et al suggest further directions to >> facilitate HIP deployment. Transitioning the HIP specifications to >> the standards track may help, but other measures could be taken. As > > This confuses me, because we seem to be looking to advance some of the > HIP specs (e.g., hip-dex) at PS Can you elaborate? And do you mean protocol stack by PS? (This text is based on the subjective opinions of the interviewed people. So I don't think it matters so much) > COMMENTS > S 3.1. >> were obtained. For 64 bits, this number is roughly 4 billion. A >> hash size of 64 bits may be too small to avoid collisions in a >> large population; for example, there is a 1% chance of collision >> in a population of 640M. For 100 bits (or more), we would not >> expect a collision until approximately 2**50 (1 quadrillion) >> hashes were generated. > > It's not just a matter of collisions being hard, but also of being > difficult to produce an HI with a given name. ....where name would be the hash (i.e. HIT). So I added: Besides accidental collisions, it is also worth noting that intentional collisions are difficult to accomplish because generating a valid, colliding hash along with its private-public key is computationally challenging. Did I capture your thinking correctly? > S 4. >> 'well known', some unpublished or 'anonymous'. A system may self- >> assert its own identity, or may use a third-party authenticator like >> DNSSEC [RFC2535], PGP, or X.509 to 'notarize' the identity assertion >> to another namespace. It is expected that the Host Identifiers will >> initially be authenticated with DNSSEC and that all implementations >> will support DNSSEC as a minimal baseline. > > This wasn't a very good assumption when 4423 was published, and it > seems even worse now, given the low rate of deployment of DNSSEC and > the fact that we know many middleboxes break DNSSEC. Then I guess it would be fine to remove the last sentence? > S 4.3. >> packet. Consequently, a HIT should be unique in the whole IP >> universe as long as it is being used. In the extremely rare case of >> a single HIT mapping to more than one Host Identity, the Host >> Identifiers (public keys) will make the final difference. If there >> is more than one public key for a given node, the HIT acts as a hint >> for the correct public key to use. > > How do you handle second-preimage attacks on the hash? I guess you are referring to this: https://tools.ietf.org/html/rfc7343#section-5 (Please let me know if an explicit reference is needed) > S 5.1. >> At the server side, utilizing DNS is a better alternative than a >> shared Host Identity to implement load balancing. A single FQDN >> entry can be configured to refer to multiple Host Identities. Each >> of the FQDN entries can be associated with the related locators, or a >> single shared locator in the case the servers are using the same HIP >> rendezvous server Section 6.3 or HIP relay server Section 6.4. > > This is becoming a less common practice. How do you handle anycast, > which is the modern practice? I added the following statement: "It is also worth noting that opportunistic mode is also required in practice when anycast IP addresses would be utilized as locators:" Does this address your concern? Btw, opportunistic mode is further described in the following documents: Existing apps: https://tools.ietf.org/html/rfc6538#section-2.3.2 https://tools.ietf.org/html/rfc5338#section-3.2 HIP native apps: https://tools.ietf.org/html/rfc6317#section-4.1.1 > S 7. >> >> The encapsulation format for the data plane used for carrying the >> application-layer traffic can be dynamically negotiated during the >> key exchange. For instance, HICCUPS extensions [RFC6078] define one >> way to transport application-layer datagrams directly over the HIP >> control plane, protected by asymmetric key cryptography. Also, S-RTP > > Nit: SRTP, no hyphen Thanks, fixed!