Re: Gen-ART LC Review of draft-ietf-nsis-nslp-auth-06

Roland Bless <roland.bless@kit.edu> Wed, 08 September 2010 23:24 UTC

Return-Path: <roland.bless@kit.edu>
X-Original-To: ietf@core3.amsl.com
Delivered-To: ietf@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4639F3A6866; Wed, 8 Sep 2010 16:24:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.099
X-Spam-Level:
X-Spam-Status: No, score=-5.099 tagged_above=-999 required=5 tests=[AWL=-1.150, BAYES_00=-2.599, HELO_EQ_DE=0.35, MANGLED_LIST=2.3, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oJ1vApVIkBJX; Wed, 8 Sep 2010 16:24:40 -0700 (PDT)
Received: from iramx2.ira.uni-karlsruhe.de (iramx2.ira.uni-karlsruhe.de [141.3.10.81]) by core3.amsl.com (Postfix) with ESMTP id CFFBA3A6961; Wed, 8 Sep 2010 16:24:39 -0700 (PDT)
Received: from irams1.ira.uni-karlsruhe.de ([141.3.10.5]) by iramx2.ira.uni-karlsruhe.de with esmtps port 25 id 1OtU0g-0001Fj-0f; Thu, 09 Sep 2010 01:25:05 +0200
Received: from i72ms.tm.uni-karlsruhe.de ([141.3.70.5] helo=smtp.ipv6.tm.uni-karlsruhe.de) by irams1.ira.uni-karlsruhe.de with esmtps port 25 id 1OtU0f-00007y-SZ; Thu, 09 Sep 2010 01:24:57 +0200
Received: from vorta.tm.uka.de (i72vorta.ipv6.tm.uni-karlsruhe.de [IPv6:2001:638:204:6:21b:fcff:fe96:fe02]) by smtp.ipv6.tm.uni-karlsruhe.de (Postfix) with ESMTP id C77D92FC046; Thu, 9 Sep 2010 01:24:57 +0200 (CEST)
Received: from [IPv6:::1] (localhost [127.0.0.1]) by vorta.tm.uka.de (Postfix) with ESMTPS id EECFB3FA2; Thu, 9 Sep 2010 01:25:32 +0200 (CEST)
Message-ID: <4C881B47.7080506@kit.edu>
Date: Thu, 09 Sep 2010 01:24:55 +0200
From: Roland Bless <roland.bless@kit.edu>
Organization: Institute of Telematics, Karlsruhe Institute of Technology (KIT)
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060111 Thunderbird/1.5 Mnenhy/0.7.3.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>
Subject: Re: Gen-ART LC Review of draft-ietf-nsis-nslp-auth-06
References: <74BBA174-C2A2-49F4-89F6-873146DD6655@nostrum.com>
In-Reply-To: <74BBA174-C2A2-49F4-89F6-873146DD6655@nostrum.com>
X-Enigmail-Version: 1.0.1
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-ATIS-AV: ClamAV (irams1.ira.uni-karlsruhe.de)
X-ATIS-AV: ClamAV (iramx2.ira.uni-karlsruhe.de)
X-ATIS-AV: Kaspersky (iramx2.ira.uni-karlsruhe.de)
X-ATIS-Timestamp: iramx2.ira.uni-karlsruhe.de 1283988305.780362000
Cc: General Area Review Team <gen-art@ietf.org>, draft-ietf-nsis-nslp-auth.all@tools.ietf.org, IETF Discussion <ietf@ietf.org>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 08 Sep 2010 23:24:41 -0000

Hi Ben,

On 01.09.2010 00:55, Ben Campbell wrote:
> I am the assigned Gen-ART reviewer for this draft. For background on Gen-ART, please see the FAQ at <http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>.
> 
> Please resolve these comments along with any other Last Call comments you may receive.

Thanks for the review and sorry for the late response, but I was still
on vacation.

> Document: draft-ietf-nsis-nslp-auth-06.txt
> Reviewer: Ben Campbell
> Review Date: 2010-08-31
> IETF LC End Date: 2010-08-31
> IESG Telechat date: (if known)
> 
> Summary:
> 
> This draft is almost ready for publication as an experimental RFC. There are some minor issues that should be considered first, and a few editorial comments.
> 
> -Major issues: None
> 
> -Minor issues:
> 
> -- section 3.2.7, 2nd paragraph: "The creator of this attribute lists every NSLP object..."
> 
> Is there an order requirement? At least, the order in this list must match the order in the signature, right?

That's correct. Will add sentence:
The hash computation has to follow the order of the NSLP object types as
specified by the list.

> -- section 4.1.1, 2nd paragraph:
> 
> Is HMAC-MD5 still a reasonable choice for a single mandatory-to-implement algorithm these days?

Good question. I thought that HMACs are not so strongly
affected by the discovered hash algorithm weaknesses w.r.t. collision
attacks. I could change this to HMAC-SHA-256 though. Any
other suggestions?

> -- Section 6.4, 1st paragraph:
> 
> This paragraph seems to conflate authentication with authorization. Integrity protection provides authentication, from which one can apply authorization policy. But it's not authorization policy in itself.

That's correct. I'm proposing a change as follows:
The SESSION_AUTH object can also be used to provide an integrity
protection for every NSLP signaling message, thereby also authenticating
requests or responses. Assume that a user has deposited a shared key
at some NN. This NN can then verify the integrity of every NSLP message
sent by the user to the NN. Based on this authentication the NN can
apply authorization policies to actions like performing resource
reservations or opening firewall pinholes.

> -- Section 7, 3rd paragraph:
> 
> This seems to conflict with 3.2.7 and 3.2.8, which only conditionally require AUTHENTICATION_DATA to be included. 

I guess that the MUST was related to the untrusted environments only....

The second issue, the integrity of the policy element, is preserved in
untrusted environments by including the AUTHENTICATION_DATA attribute
in such environments.


> -Nits/editorial comments:
> 
> -- section 2, paragraph 2, 2nd sentence:
> 
> s/chose/choose

good catch.

> -- section 2, 5th paragraph, 1st sentence: "...operation of the authorization is to add one authorization policy object"
> 
> Does this mean "... operation of the authorization layer..."?

Will rephrase to:
The default operation when using NSLP layer session authorization is to
add one authorization policy object.


> -- section 4.2, 2nd paragraph: "The ticket can be presented to the NSLP node via Kerberos by sending a KRB_CRED message to the NSLP node..."
> 
> Who presents it?


The NSLP requesting host can present the ticket to the
NSLP node via Kerberos by sending a KRB_CRED message to the NSLP node
independently but prior to the NSLP exchange.

> 
> "...must be known in advance..."
> 
> Who must know it?

Thus, the principal name of the service must be known _at the client_ in
advance, though the exact IP address may not be known in advance.

> -- section 4.3.1.1, 1st paragraph: "...X509_V3_CERT, AUTHENTICATION_DATA MUST be generated following these steps"
> 
> Who must generate it?

(stated in 4.3.1)
When the AUTH_ENT_ID is of type X509_V3_CERT, AUTHENTICATION_DATA
MUST be generated by the authorizing entity following these steps:

> -- section 4.3.1.1, 2nd paragraph: "...verification MUST be done following these steps:"
> 
> Who must do the verification?

When the AUTH_ENT_ID is of type X509_V3_CERT, verification at the
verifying network element (PDP or router) MUST be done following these
steps:

> -- section 4.3.1.1, 7th paragraph: " ... the public key of the authorizing entity can be extracted from the certificate."
> I assume this step is not intended to be optional, but the language "can be" implies that it is.

I guess that this is only necessary if the public key isn't already
known from earlier verification procedures, that's why it says "can be".

> -- section 4.3.1.2, 1st paragraph: "...AUTHENTICATION_DATA MUST be generated following these steps:"
> 
> Who must generate it?

authorizing entity (see above)
> -- section 4.3.1.2, first bullet in list of steps:
> 
> That's not really a step.

Will be fixed.

> --... Third bullet
> 
> Who signs it?

the authorizing entity

> -- ... First paragraph after first bullet list: "verification MUST be done"
> 
> Who must do the verification?

 the verifying network element (PDP or router)

> -- section 4.4, 1st paragraph after bullet list: The Key-ID in the AUTHENTICATION_DATA allows to refer"
> 
> "allows" is a transitive verb in this context. I suggest "... allows [some actor] to refer", or "...allows the reference..."

ok.

> -- section 6.2.3, general:
> 
> It's not clear to me if you mean for QNE/PDP to refer to one or the other, or the combination of the QNE and PDP.

QNE or PDP, but the PDP could also be integrated into the QNE.
Will replace with "QNE or PDP".

Regards,
 Roland