Re: [Gen-art] Gen-ART review of draft-ietf-geopriv-policy-uri-02

"Richard L. Barnes" <rbarnes@bbn.com> Sat, 22 October 2011 15:18 UTC

Return-Path: <rbarnes@bbn.com>
X-Original-To: gen-art@ietfa.amsl.com
Delivered-To: gen-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6457021F86EE; Sat, 22 Oct 2011 08:18:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Level:
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0MGKrZSzsps5; Sat, 22 Oct 2011 08:18:48 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.1.81]) by ietfa.amsl.com (Postfix) with ESMTP id A1A1921F8696; Sat, 22 Oct 2011 08:18:48 -0700 (PDT)
Received: from [128.89.254.161] (port=52425 helo=[192.168.1.4]) by smtp.bbn.com with esmtps (TLSv1:AES128-SHA:128) (Exim 4.74 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1RHdLR-0003sQ-Cc; Sat, 22 Oct 2011 11:18:45 -0400
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset="us-ascii"
From: "Richard L. Barnes" <rbarnes@bbn.com>
In-Reply-To: <7C4DFCE962635144B8FAE8CA11D0BF1E058D07414D@MX14A.corp.emc.com>
Date: Sat, 22 Oct 2011 11:11:33 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <3D3B6EC3-A8A5-491B-9EE2-8F7C9B325615@bbn.com>
References: <7C4DFCE962635144B8FAE8CA11D0BF1E058D07414D@MX14A.corp.emc.com>
To: david.black@emc.com
X-Mailer: Apple Mail (2.1084)
Cc: james.winterbottom@andrew.com, ietf@ietf.org, gen-art@ietf.org, Hannes.Tschofenig@gmx.net, martin.thomson@andrew.com
Subject: Re: [Gen-art] Gen-ART review of draft-ietf-geopriv-policy-uri-02
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/gen-art>, <mailto:gen-art-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/gen-art>
List-Post: <mailto:gen-art@ietf.org>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 22 Oct 2011 15:18:49 -0000

Hi David,

Thanks for your review.  Glad to provide clarification on these points.  Responses inline below.  Let me know if these address your concerns.

--Richard


> This draft specifies policy URIs for management of privacy policy for location
> information obtained and maintained by Location Configuration Protocols (LCPs).
> The draft is clear and well written.

Thanks!


> [1] This first turns up as an editorial issue in Section 3:
> 
>   Knowledge of the policy URI can be considered adequate evidence of
>   authorization. 
> 
> That sentence should be expanded to explain why, because this is not the case
> for URIs in general.  The explanation is that a policy URI is constructed
> to be very hard to predict, and functions as a shared secret (e.g.,
> confidentiality protection is required in all protocols that transmit
> a policy URI).
> 
> There are a couple of Security Considerations (Section 7) aspects that should
> be strengthened because a policy URI is a shared secret.

I definitely appreciate that this could be surprising in Section 3, but since this section is mainly dealing with how the server makes access control decisions, I'm inclined to address this mainly with a forward reference to the Security Considerations. Suggested text:

Section 3.1
OLD:
"
Knowledge of the policy URI can be considered adequate evidence of authorization.
"
NEW:
"
Knowledge of the policy URI can be considered adequate evidence of authorization; a policy URI functions as a shared secret between the client and the server (see Section 7).
"


> Alternatively, changing "required" to "REQUIRED" in the following sentence
> in Section 7.2 may suffice, although integrity is not mentioned in this
> sentence:
> 
>      Confidentiality is required for its conveyance in the
>      location configuration protocol, and in the requests that are used
>      to inspect, change or delete the policy resource.

I like this phrasing.  I'm not sure it's quite REQUIRED (following the "MUST implement / MAY use" pattern of BCP 61), but I would go for a strong SHOULD.  The underlying LCP protocols already guarantee the "MUST implement".   Suggested text:

Section 7.2
OLD:
"
Confidentiality is required for its conveyance in the location configuration protocol, and in the requests that are used to inspect, change or delete the policy resource.
"
NEW:
"
Confidentiality and integrity protections SHOULD be used when policy URIs are conveyed in a location configuration protocol, and in the requests that are used to inspect, change or delete the policy resource.
"



> [3} The unpredictability requirements are vague:
> 
>   o  The Location Server MUST ensure that the URI cannot be easily
>      predicted.  The policy URI MUST NOT be derived solely from
>      information that might be public, including the Target identity or
>      any location URI.  The addition of random entropy increases the
>      difficulty of guessing a policy URI.
> 
> Something needs to be stated about how much random entropy is required
> (e.g., 8 bits is probably not enough ;-) ).

I actually don't think the entropy requirements are huge here.  Because the number of legitimate requests from any client should be quite small (are you going to update your policy 2^16 times?), the server can apply rate limits to prevent brute force attacks.  Suggested text:

Section 7.2
OLD: 
"
o  The Location Server MUST ensure that the URI cannot be easily predicted.  The policy URI MUST NOT be derived solely from information that might be public, including the Target identity or any location URI.  The addition of random entropy increases the difficulty of guessing a policy URI.
"
NEW:
"
o  The Location Server MUST ensure that the URI cannot be easily predicted.  The policy URI MUST NOT be derived solely from information that might be public, including the Target identity or any location URI.  The addition of 32 bits or more of random entropy is RECOMMENDED to make it infeasible for a third party to guess a policy URI.
o Servers SHOULD apply rate limits in order to make brute-force guessing infeasible.  If a server allocates policy URIs that include N bits of entropy with a default lifetime of T seconds, then the server should limit clients to 2^(N/2)/T queries per second.
"



> Nits: I found a number of acronyms that should be expanded on first use,
> e.g., LIS, LS, and HELD.

Section 1:
OLD: "(acting for the Location Server)"
NEW: "(acting for the Location Server (LS) or Location Information Server (LIS))"

Section 1:
OLD: "extensions to the HELD protocol"
NEW: "extensions to the HTTP-Enabled Location Delivery (HELD) protocol"