Hi Eric,
Thanks for you review and comments. My responses are embedded below
[MB].
Mary.
-----Original Message-----
From: Eric Rescorla [mailto:ekr(_at_)networkresonance(_dot_)com]
Sent: Saturday, May 24, 2008 9:01 PM
To: secdir(_at_)mit(_dot_)edu;
draft-ietf-geopriv-http-location-delivery(_at_)tools(_dot_)ietf(_dot_)org
Cc: ietf(_at_)ietf(_dot_)org; iesg(_at_)ietf(_dot_)org
Subject: Review of draft-ietf-geopriv-http-location-delivery-07
$Id: draft-ietf-geopriv-http-location-delivery-07-rev.txt,v 1.1
2008/05/24 15:03:19 ekr Exp $
TECHNICAL
S 4.2.
which a Location Recipient (LR) can use to retrieve LI. A location
URI provided by a LIS can be assumed to be globally-addressable; that
is, anyone in possession of the URI can access the LIS. However,
this does not in any way suggest that the LIS is bound to reveal the
location associated with the location URI. This issue is deemed out
I don't understand this point. anyone in possession of the URI can
access the URI but the LIS isn't required to reveal it? Those seem kind
of contradictory.
[MB] Your comment is similar to a point made by Ben Campbell's gen-art
review.
The text is unclear, in particular the "However," clause. The changes
agreed as a result of the gen-art thread
http://www.ietf.org/mail-archive/web/gen-art/current/msg02995.html
are reflected below (also incorporating another issue Ben raised, as
well, by adding a new paragraph to that section):
NEW:
However, this does not in any way suggest that the LIS
indiscriminately reveals the location associated with the location
URI.
The specific requirements associated with the dereference of the
location are specified in [I-D.ietf-geopriv-lbyr-requirements].
The location dereference protocol details are out of scope of
this document and are specified in
[I-D.winterbottom-geopriv-location-deref].
It should also be noted that while the lybr requirements document
specifies a requirement that a client SHOULD be able to cancel
location references, the protocol specified in this document
does not provide that functionality. The mechanism to
provide this support in the protocol requires explicit management
of Target state on the LIS. It is anticipated that extensions to HELD
may support that requirement.
Does the revised text help to alleviate your concern?
[/MB]
S 4.3.1.
Devices that establish VPN connections for use by other devices
inside a LAN or other closed network could serve as a LIS, that
implements the HELD protocol, for those other Devices. Devices
within the closed network are not necessarily able to detect the
presence of the VPN and rely on the VPN device. To this end, a VPN
device should provide the address of the LIS server it provides, in
response to discovery queries, rather than passing such queries
through the VPN tunnel.
How do you envision this happening? Isn't this going to require changing
every VPN protocol? I think some more text would be appropriate here...
[MB] Ben also had concerns with the intent of this text and we went back
and forth several times, with the conclusion of the thread
http://www.ietf.org/mail-archive/web/gen-art/current/msg03003.html
being to add the following statement to the end of that paragraph to
clarify what happens if the VPN does not serve as a LIS on behalf of the
other devices:
Otherwise, the other devices would be totally unaware that they
could receive inaccurate location information.
However, based on the subsequent discussion on this point, we likely
need to add more text to highlight that this isn't general functionality
we're talking about for all VPNs. This is for a specific configuration
where devices might be unaware that they're using a VPN. In this case,
when those devices try to discovery a LIS, the VPN is recommended to not
tunnel those requests but to serve as the LIS on behalf of those devices
(to ensure the devices receive accurate locations). So, for your DHCP
example (in a subsequent thread) this configuration doesn't apply.
Also, we previously had more text in here about DHCP, but removed it
because it didn't seem necessary (and was confusing even within the WG).
But, maybe adding that text back in might help. Here's the old text
from the -05 (this was a discussion point at IETF-71):
It could also be useful for a VPN device to serve as a LIS for other
location configuration options such as Dynamic Host Configuration
Protocol (DHCP)[23] or Link Layer Discovery Protocol - Media Endpoint
Discovery (LLDP-MED) [27]. VPN devices that serve as a LIS may
acquire their own location using HELD.
[/MB]
S 5.1.
o The HELD protocol must provide authentication, confidentiality and
protection against modification per Section 10.3.
Are you talking about HELD, which doesn't seem to have these features,
or about the transport protocol? Also, authentication for who? Based on
what model?
[MB] Per your subsequent response to Hannes on this point, I will change
that bullet to read:
o The HELD protocol REQUIRES that the underlying transport provide
authentication, confidentiality and
protection against modification per Section 10.3.
[/MB]
S 6.5.
I'm having trouble keeping straight two kinds of URIs:
- URIs that a Device uses to get its own LI.
- LbyR references that the LIS hands out.
This text seems to imply that an LIS can hand out a helds:
URI. Is that *also* the URI that a Device derferences?
[MB] Yes, the helds: URI that a device receives in a locationResponse is
the URI that a device would dereference. But, it's important to note
that the LIS does not have to return a helds: URI - other URIs may also
be used per the text in section 6.5. [/MB]
S 6.5.1.
A "locationURI" SHOULD NOT contain any information that could be used
to identify the Device or Target. Thus, it is RECOMMENDED that the
"locationURI" element contain a public address for the LIS and an
anonymous identifier, such as a local identifier or unlinked
pseudonym.
1. This seems like it should be clearer about what is desired.
In particular it's not just "identify" but also "link".
Also this needs to be clarified to indicate the implications
of idetntifiction by position.
2. Shouldn't this be MUST strength?
[MB] This isn't a MUST strength because we had WG discussion/consensus
that we can't mandate LIS behavior. We can make recommendations, but a
LIS may not necessarily follow them. I'm not entirely clear on your
first point as far as "identification by position". [/MB]
S 8.
Does this say somewhere what "helds" actually means? I see the
definitition of the URI, but it doesn't say what the underlying
transport is, as far as I can tell. Given a "helds:" URI, what am I
supposed to do with it?
[MB] I will add something like the following to section 8. Also, we have
discussion on the WG mailing list and we will be adding the basic held:
URI schema, as well:
http://www.ietf.org/mail-archive/web/geopriv/current/msg05567.html
OLD:
This section defines the schema for a helds: URI.
NEW:
This section defines the schema for a helds: URI for TLS connections.
S 9.
OK and here's how I get confusied about the two types of URI,
since this is an HTTP binding, but there's no corresponding
URI.
[MB] The thread above relates to this point and your next.
On this specific point, we will be defining a held: URI along with the
helds: URI. [/MB]
The implementation of HTTP as a transport mechanism MUST implement
TLS as described in [RFC2818].
Is this MUST implement or MUST use? Don't the next two sentences
imply MUST use?
[MB] Per the thread above, that text does need some clarification for
consistency. It should be
MUST "implement" and not MUST "use", so I would propose the
following change:
OLD:
The implementation of HTTP as a transport mechanism MUST implement
TLS as described in [RFC2818]. TLS provides message integrity and
privacy between Device and LIS. The LIS MUST use the server
authentication method described in [RFC2818]; the Device MUST fail a
request if server authentication fails, except in the event of an
emergency.
NEW:
The implementation of HTTP as a transport mechanism MUST implement
TLS as described in [RFC2818]. TLS provides message integrity and
privacy between Device and LIS. The LIS MUST implement the server
authentication method described in [RFC2818]. When TLS is used,
the Device SHOULD fail a request if server authentication fails,
except in the event of an emergency.
Does that address your concerns?
[/MB]
TLS provides message integrity and
privacy
"privacy" -> "confidentiality"
[MB] Yep. [/MB]
between Device and LIS. The LIS MUST use the server
authentication method described in [RFC2818]; the Device MUST fail a
request if server authentication fails, except in the event of an
emergency.
This is incomplete, because 2818 assumes the presence of a URI to
compare against. Where does that come from?
How is client authentication supposed to work here?
[MB] Per Hannes response, the device (client) gets the URI of the LIS
(server) using LIS discovery procedures. Thus, the client can use this
URI for comparison. So, I would suggest one more slight change to the
paragraph above:
NEW:
The implementation of HTTP as a transport mechanism MUST implement
TLS as described in [RFC2818]. TLS provides message integrity and
privacy between Device and LIS. The LIS MUST implement the server
authentication method described in [RFC2818]. The device uses the URI
obtained during LIS discovery to authenticate the server. When TLS
is used,
the Device SHOULD fail a request if server authentication fails,
except in the event of an emergency.
[/MB]
S 10.3.
o The network SHOULD have mechanisms that protect against IP address
spoofing, such as those defined in [RFC3704].
Is this WG really in a position to levy a SHOULD level requirement
for network ingress filtering? Recall that this is really a global level
technology. Or do you mean something else?
[MB] Per Richard's response on this thread, the IP address spoofing
recommendation is due to HELD using the devices IP address as the
identifier for the device. In this case it is important to have a
recommendation for IP address spoofing. I think the paragraph prior to
those bullets appropriately qualifies the context of that
recommendation.
[/MB]
o The LIS and network SHOULD be configured so that the LIS is made
aware of Device movement within the network and addressing
changes. If the LIS detects a change in the network that results
in it no longer being able to determine the location of the
Device, then all location URIs for that Device SHOULD be
invalidated.
This probably needs some more detail about how it's going to work.
[MB] As Hannes responded, the specifics are very network/configuration
dependent. However, I do think that we "should" explain what happens as
an alternative to the SHOULD case by adding something like the following
to the end of that bullet:
Thus, subsequent dereferences SHOULD fail. If the LIS does not
invalidate the location URIs, the device can
receive inaccurate location information.
[/MB]
When there are further mechanisms available to authenticate ownership
of the IP address, the LIS SHOULD use them to authenticate that the
client is the owner of the target IP address. For example, in a TLS
transaction, the client could present a certificate with a public key
bound to an IPv6 Cryptographically Generated Address, and the LIS
could verify this binding.
Not that I think that any situation in which the client has an IP
level cert is particularly likely, but this one seems particularly
unlikely.
[MB] I like Hannes' suggestion to just remove this text. Does anyone in
the WG have a concern about that?
[Note: I will also post a note separately to the WG to ensure that they
see this ?]
[/MB]
EDITORIAL
[MB] I will fix all of these. Thanks. [/MB]
Abstract:
independent of session-layer. This document describes the use of
Hypertext Transfer Protocol (HTTP) as a transport for the protocol.
This should be HyperText
Also, isn't this using HTTPS, not HTTP.
S 1.
information. The LIS service applies to access networks employing
This is the first reference to LIS. Please expand.
[I-D.ietf-geopriv-l7-lcp-ps] provides some scenarios in which the
Device might rely on its access network to provide location
"the" -> "a"
capable of MIME transport. This document describes the use of
Hypertext Transfer Protocol (HTTP) as a transport for the protocol.
See comments about abstract.
S 4.3.
I would move this to precede 4.1 and 4.2, since it's orthogonal
to the value/reference distinction.
S 5.1.
o The HELD protocol is a request, response protocol, thus the
I would write request/response.
S 6.6.
schema Section 7 for a location response message due to XML schema
"schema Section 7" -> "schema in Section 7"
_______________________________________________
IETF mailing list
IETF(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf