Dynamic Host Configuration Protocol (DHCP) IPv4 and IPv6 Option for a Location Uniform Resource Identifier (URI)
draft-ietf-geopriv-dhcp-lbyr-uri-option-19
Discuss
Yes
(Richard Barnes)
(Robert Sparks)
No Objection
(Adrian Farrel)
(Gonzalo Camarillo)
(Ron Bonica)
(Sean Turner)
(Wesley Eddy)
No Record
Deb Cooley
Erik Kline
Francesca Palombini
Gunter Van de Velde
Jim Guichard
John Scudder
Mahesh Jethanandani
Murray Kucherawy
Orie Steele
Paul Wouters
Roman Danyliw
Warren Kumari
Zaheduzzaman Sarker
Éric Vyncke
Summary: Needs a YES. Needs 10 more YES or NO OBJECTION positions to pass.
Deb Cooley
No Record
Erik Kline
No Record
Francesca Palombini
No Record
Gunter Van de Velde
No Record
Jim Guichard
No Record
John Scudder
No Record
Mahesh Jethanandani
No Record
Murray Kucherawy
No Record
Orie Steele
No Record
Paul Wouters
No Record
Roman Danyliw
No Record
Warren Kumari
No Record
Zaheduzzaman Sarker
No Record
Éric Vyncke
No Record
Barry Leiba Former IESG member
Discuss
Discuss
[Treat as non-blocking comment]
(2013-02-27)
Unknown
Updated for -19: POINT 1: I've expressed a basic problem I have with getting these URIs via insecure DHCP, and I'll refine that comment here, based on discussion that's so far been had. Recognizing that in many cases getting URIs this way is an improvement over getting the location information itself, I'll note that that's not always true: the actual LI is a one-time thing, while the location URI can be dereferenced multiple times during its valid period, potentially allowing a snooper to track a moving user over time. The general point is that a location URI has to be protected from snooping, protected from unauthorized use if it's snooped, or both. Given that this can't do the former over DHCP, it needs to address the latter issue. If one gets a URI that can only be used by an authorized entity, we're in much better shape. That probably means a change to the Introduction to explain the situation, and something in the Security Considerations that addresses use of secure URIs (https or sips, rather than http or sip) and authentication on dereferencing. I wouldn't want MUSTs here, but strong recommendations to secure this stuff. I'm looking for something that makes the exposure clear and advises the use of acceptable mechanisms to protect the information, most likely as SHOULD. Then if you think exposing your subscribers' location information is acceptable, that's between you and your subscribers. In my conversation with James about this, James mentioned RFC 5606. I'll note that, while 5606 is not addressing the same thing (5606 is primarily about dealing with "retransmissions", and its advice is only in that context), it actually does support the sorts of things I'm saying (see Section 2, paragraph 5, and Section 3.3.2). POINT 2: -- Section 5.3 -- Thanks for fixing the IANA Considerations section; this all now seems quite clear. I have one question about the new registry: Why did the working group select IETF Review for the registration policy? Did the working group discuss this? IETF Review requires an IETF-stream RFC (Standards Track, BCP, Informational, or Experimental), and is a fairly high bar. Why does the working group think that Expert Review is not appropriate for this registry? (Note that I am *not* expecting you to just change this in response to my question. I want to make sure we have the discussion.)
Martin Stiemerling Former IESG member
Discuss
Discuss
[Treat as non-blocking comment]
(2013-02-04 for -17)
Unknown
I have no general objections to this draft, but multiple points to be discussed. However, most of my DISCUSS worthy issues are already covered by parts of Barry's, Stephen's, and Sean's DISCUSS. There is only a single point left: Section 2.5, paragraph 11: > o Clients MUST overwrite any existing, previously sent values of > Location URI Option and/or Valid-For Option when receiving the > next instance of either Option. If a host has multiple interfaces that are used concurrently and the host receives the location URI from multiple DHCP server, how is this handled? This information is handed over to some application that probably doesn't care too much about multiple network locations. However, this is something that should be at least mentioned and discussed.
Pete Resnick Former IESG member
Discuss
Discuss
[Treat as non-blocking comment]
(2013-02-28)
Unknown
Section 2.3 really needs a lot of work. [There are a couple of editorial points embedded in here that are not things I need to DISCUSS; I've set those off in square brackets.] OLD o Implementation of the Location URI Option is REQUIRED on the DHCP server and client. I know you don't mean that as written. As written, it says that all DHCP servers and clients are now required to implement this option. If you really meant this, you'd need an "Updates: 2131", and I'm quite sure that's not right. I suspect you might mean something like: "The DHCP Location URI Option MUST NOT be used unless both the server and the client support it." But I don't think that's necessary. My recommendation is to simply strike this sentence. OLD o Clients SHOULD be expected to have to request the Location URI Option from servers. Although local policy can have servers perform an unsolicited push of a Location URI Option to a client. Aside from the second sentence being ungrammatical, this is overall not clear. Do you mean: NEW o Clients normally send explicit requests for the Location URI Option. Servers SHOULD NOT send unsolicited Location URI Option responses to a client. ? I'm not even sure if that SHOULD NOT is correct. What are you trying to get across in this bullet? OLD Applications on a client can use the Location URI (value) until the Valid-For value reaches zero. If there is no Valid-For Option value, then the counter did not ever start (a null value), and applications on a client continue to use the Location URI value until given a new Location URI Option (with or without a Valid-For value) which overwrites any previous Location URI and Valid-For Option values. [The first sentence is goofy, though I know what you mean: The "Valid-For value" is never going to "reach zero"; what you mean is: NEW Applications on a client can use the returned Location URI for the number of seconds specified in Valid-For from the time it was received by the client. ] But the second sentence is completely unwieldy and not clear. (Zero is not a "null value".) Simplify: NEW If the Valid-For value is zero, it indicates that there is no time limit on the use of the returned Location URI. It may be used until the server returns a new Location URI. OLD o Receipt of the Location URI Option containing all zeros in the Valid-For field MUST NOT cause any error in handling the Location URI. I don't know what that is supposed to mean. Why do you think you need to call out that I MUST NOT cause an error in *any* event? OLD o When the Valid-For timer reaches zero, the client MUST purge any location URI received via DHCP from its memory. Aside from the "timer reaches zero" thing, I have to say: Baloney. I will *not* be purging any memory because you tell me to in this document, thank you very much. You can tell me not to use the thing, but you can't tell me how I have to do memory garbage collection. Please delete this. OLD If the Valid-For timer is set to expire before the lease refresh, the client will not have the ability to hand out its location until the lease refresh, inadvertently allowing a gap of coverage. If the Valid-For timer is set to expire after the lease refresh, some wayward application on the client can divulge that location URI after it is no longer valid, meaning the location could be stale or just plain wrong. [In the first sentence, change "hand out" to "use". Possible also change "the client" to "client applications". ] The second sentence seems completely bogus to me: If the Valid-For time is longer than the lease time, it's the server's responsibility to hand me back the same URI when my lease expires. That URI *is* valid for the Valid-For time, and can never be stale or wrong. Therefore: OLD o Servers SHOULD set the Valid-For timer to that of the lease refresh, or bad things can happen. NEW o Servers SHOULD set Valid-For to greater than or equal to the lease refresh, or bad things can happen. Section 4.2: "MUST have one of the following URI schemes"? Are you saying I need to write an update to this document if I want to use a different URI scheme for location information? Similarly: Section 5.3: "IETF Review" This all seems very heavy handed. Are we really in fear of people adding to this registry willy-nilly? Would not "Expert Review" or "Specification Required" not perfectly well suffice? Could we therefore not change 4.2 to say, "MUST be values registered in the Valid Location URI Schemes registry (defined in section 5.3)"?
Ralph Droms Former IESG member
Discuss
Discuss
[Treat as non-blocking comment]
(2013-02-06 for -18)
Unknown
1. (From Ted Lemon's review) In section 2.5: o The Valid-For Option MUST NOT be sent from a server, and received by a client, without an accompanying Location URI Option. This places special processing requirements on the DHCP server—it would be as if an RFC said "for A records within the ORG. zone, the DNS server MUST NOT return IP addresses within the 128.45 class B network, which belongs to a commercial entity." Just take this text out. 2. (Also from Ted) I would replace this text: The Valid-For Option offers no meaningful information to a client without an accompanying Location URI Option, and might be misunderstood or misapplied, therefore o The Valid-For Option MUST NOT be sent from a server, and received by a client, without an accompanying Location URI Option. o A client receiving a Valid-For Option without a Location URI Option MUST ignore the Valid-For Option. o The Valid-For Option MUST only be considered in relation to the Location URI Option. It has no other purpose in DHCP then in relation to the Location URI (i.e., there is no other Option in DHCP to which it has meaning). o The Valid-For Option MUST NOT cause any error in handling the Location URI, i.e., if not understood, it MUST be ignored. o Servers MUST assume that clients will overwrite any existing, previously sent values of Location URI Option and/or Valid-For Option. o Clients MUST overwrite any existing, previously sent values of Location URI Option and/or Valid-For Option when receiving the next instance of either Option. With this: The Valid-For Option offers no meaningful information to a client without an accompanying LocationURI Option. Clients receiving a Valid-for option without an accompanying Location URI option SHOULD silently ignore this option. Valid-For options relate specifically to Location URI options within the same DHCP message, and do not apply to Location URI options received in other DHCP messages. 3. I'm writing this after Brian posted his review and we've started a conversation about separating the LocationURI and Valid-For options. There may have been some miscommunication about whether the Valid-For option could be included in the LocationURI option. I'll make the suggestion that the Valid-For life be added as an initial 32-bit fixed-size field at the beginning of the LocationURI option, with the special value 0 meaning "no expiration time". 4. (Also from Ted) In section 3: It is RECOMMENDED to avoid building URIs, with any parameters, larger than what a single DHCP response can be. However, if a message is larger than 255 bytes, concatenation is allowed, per RFC 3396 [RFC3396]. You should pick one position or the other. Either: DHCP servers MUST NOT send URIs longer than 255 bytes. or: The LocationURI option is a concatenation-requiring option as described in "Encoding Long Options in DHCPv4" [RFC3396], section 4. DHCP clients implementing this specification must also implement RFC3396. 5. The first few paragraphs of section 3 are DHCPv4-centric (and the message names aren't given accurately). This text should be edited to discuss both DHCPv4 and DHCPv6 explicitly. 6. The second paragraph of section 3 could be read to imply that a server might put a Location URI option in a separate (additional) message to a client. That's not how DHCP works. All the options have to fit in a single response (DHCPOFFER, DHCPACK for DHCPv4, Advertise or Reply for DHCPv6). The fourth paragraph is potentially confusing as well, without specifying if the Location URI option is a concatenating option. Does "subsequent LocationURI Options" refer to option within one DHCP message or in distinct DHCP messages? 7. (From Ted Lemon's review) I'm not sure that the way you've specified IANA considerations will work. Normally we put text in the option definition that's replaced by the RFC editor once the option code has been assigned, like this: +----------------+---------+--------------------+ | OPT_LURI4 | len | payload | +----------------+---------+--------------------+ option-code: OPT_LURI4 (TBD) This gives the RFC editor a place to put the option code inline. Rather than just following this recommendation, I would look at some existing examples. For example, compare section 3 here: http://tools.ietf.org/html/draft-ietf-dhc-dhcpv6-relay-supplied-options-09 to section 3 here: http://tools.ietf.org/html/rfc6422 and feel free to plagiarize the IANA considerations section from the draft (not the RFC!). Then in the IANA considerations section, you need to say: The IANA is requested to assign option codes for OPT_LURI4 and OPT_LURIVALID4 from the BOOTP Vendor Extensions and DHCP Options registry at http://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xml. (You also need to say what to put in the Length and Meaning fields; for LURI, I think it's N, and for LURIVALID it's probably 4.) The IANA is requested to assign option codes for OPT_LURI6 and OPT_LURIVALID6 from the DHCP Option Codes registry at http://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml. (You don't need length and meaning fields for these—we eliminated that in the DHCPv6 option registry.)
Stephen Farrell Former IESG member
Discuss
Discuss
[Treat as non-blocking comment]
(2013-02-25)
Unknown
-19 doesn't seem to make changes related to this 1) I suspect there's an unfounded assumption built in to this draft (and plenty of other IETF work) that runs counter to good privacy practices and current reality. The maybe unfounded assumption: Applications running on a host can be considered to be acting in the interests of the end-user or administrator of that host. If the above description of today's reality is true, (and I think it is), then there is a missing privacy consideration here which is that Targets or DHCP clients MUST provide the end-user or administrator a way to override the actions that applications might otherwise make related to the use of these URLs. (In fact, I suspect this will be done anyway, but it'd still be good to impose that requirement here regardless.) 2) RFC 6753 distinguishes between an authorization by possession model and a model where (real:-) authorization can be done via access control done during the HTTP exchange to re-reference the URL. I would argue that only the latter model ought be supported here since anyone can send a DHCP request and see the associated response and (some) wireless networks can span large areas so a bad actor can learn more in seeing such a response. That also raises the question as to what HTTP authentication and access controls a client using these URIs MUST support. (I see that 3.1 says that the "possession model" aka supposedly secret URI values, is the default, but no justification is given for that.) 3) The intro (3rd last para) seems to suggest that home routers be configured to set these options in responses but says nothing about privacy. Personally, I think any such router configuration would for privacy reasons be REQUIRED to be off by default and only turned on if the user wishes. I can see that other opionions would be reasonable and have no doubt that others will have other opinions. Did the WG discuss that, if so, got a pointer to the archive? If not, maybe either drop the example or add some WG consensus text about privacy for that case. 4) Why does this not provide an option for the DHCP client to control the LS' behaviour? Can you point me at or summarise the WG discussion of that? I'm a bit surprised about that not being done, since I'd have thought it'd be good for both privacy sensitive folks and their opposites (if you know what I mean). While we ought not provide options for fun, this one would seem quite reasonable and would seem to provide support for those who do and don't care about privacy at the same DHCP relay/server. (I note 3.1 says this is out of scope, but I don't see why.) 5) Does repeated use of the same value for a URI constitute identity information? Arguably it does, given that use of such URIs will be correlated with identity information. The "MUST NOT reveal" in section 3 5th para if interpreted strictly seems very onerous. It may be better to have a positive MUST statement about peudo-randomness and unpredicatability. 6) How does the MUST NOT from discuss point 5 match the idea that the location URI "indicate the residence's civic address"? That seems plainly contradictory to me. Could be this is just terminology, but I'd like to check. 7) I don't get how the valid URI schemes is in scope here but the authorization model and other aspects of the de-referencing UA are not. The DHCP client and server do not have to do anything with the scheme, which is only relevant to the de-referencing UA, but that UA also has to support (or not) TLS or proxy authentication or OAUTH or whatever might be needed for handling any real authorization. 8) The reliance on DHCP auth (3118) here seems to me to be entirely bogus. In what circumstances do you expect 3118 to be used? I think just deleting that reference to an almost universally unused RFC would give a more accurate picture of DHCP security. And I'm also unsure what threat is being countered by 3118 in this context - I'm not sure having a fake URI provided to the DHCP client is much of a threat.
Ted Lemon Former IESG member
Discuss
Discuss
[Treat as non-blocking comment]
(2013-03-30)
Unknown
Section 2.3 of this document significantly modifies the DHCP protocol, to the extent that if the language in this section remains, it would be necessary to say that this document updates RFC3315 and RFC2131. Updating RFC3315 and RFC2131 is not part of the geopriv charter; if indeed the author intends to update these RFCs, this document would need to be moved to the DHC working group and would need to become a DHC working group document, and would need to pass last call in that working group (DHC working group /is/ chartered to extend the DHCP protocol). Normally option specifications do not update RFC3315, RFC2131 or RFC2132 because they are purely additive. The reason that the text in section 2.3 is a problem is that it doesn't document a new option—it documents new _behavior_ for DHCP servers and clients. It is this that is out of scope for geopriv work. To illustrate, consider the following text: o Implementation of the Location URI Option is REQUIRED on the DHCP server and client. This updates the DHCP protocol by requiring that DHCP servers and clients implement this option; ordinarily implementation of new options is optional, and when done, is done by simply adding some new configuration boilerplate to the server configuration, and maybe a post-processing script on the client. o Clients SHOULD be expected to have to request the Location URI Option from servers. Although local policy can have servers perform an unsolicited push of a Location URI Option to a client. This updates the DHCP protocol to supersede the statement in RFC3315 that DHCP servers MUST NOT send unsolicited options. It skates the ragged edge of updating RFC2131 as well; RFC2131 does not forbid sending unsolicited options, but it doesn't require it either. o Servers SHOULD set the Valid-For timer to that of the lease refresh, or bad things can happen. I talk about this below in the comments as well, but my DISCUSS-level objection to this is that since lease times are a negotiation, not a hard configuration on the server, in order to satisfy the SHOULD above, the server has to have special code for this option that derives the Valid-for time from the lease time. This is another protocol change to DHCP, and hence out of scope for this document. You haven't actually stated it as a requirement, so I suppose you could argue that it's the implementor's problem, but I think that would be splitting hairs—I think you really have updated RFC3315 and RFC2131 with this language.
Richard Barnes Former IESG member
Yes
Yes
()
Unknown
Robert Sparks Former IESG member
Yes
Yes
(for -17)
Unknown
Adrian Farrel Former IESG member
No Objection
No Objection
(for -17)
Unknown
Benoît Claise Former IESG member
No Objection
No Objection
(2013-02-04 for -17)
Unknown
This document is scrutinized by Barry, Sean, Martin, and Stephen. I has enough attention, and I trust those ADs will do the right thing.
Brian Haberman Former IESG member
(was Discuss)
No Objection
No Objection
(2013-02-25)
Unknown
Thanks for addressing my DISCUSS points...
Gonzalo Camarillo Former IESG member
No Objection
No Objection
(for -18)
Unknown
Ron Bonica Former IESG member
No Objection
No Objection
(for -17)
Unknown
Sean Turner Former IESG member
(was Discuss)
No Objection
No Objection
(2013-02-05 for -18)
Unknown
Stewart Bryant Former IESG member
No Objection
No Objection
(2013-01-29 for -17)
Unknown
There a couple of places where you use the work "deference" when I think you mean "dereference"
Wesley Eddy Former IESG member
No Objection
No Objection
(for -18)
Unknown