ietf
[Top] [All Lists]

RE: Review of draft-ietf-geopriv-http-location-delivery-07

2008-05-29 08:27:06
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