Re: [sidr] Stephen Farrell's Discuss on draft-ietf-sidr-publication-10: (with DISCUSS and COMMENT)

Rob Austein <sra@hactrn.net> Tue, 31 January 2017 00:58 UTC

Return-Path: <sra@hactrn.net>
X-Original-To: sidr@ietfa.amsl.com
Delivered-To: sidr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 25B401297A8; Mon, 30 Jan 2017 16:58:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.1
X-Spam-Level:
X-Spam-Status: No, score=-5.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-3.199, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Q3cEYDbUIzm9; Mon, 30 Jan 2017 16:58:44 -0800 (PST)
Received: from adrilankha.hactrn.net (adrilankha.hactrn.net [147.28.0.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 05F1D1297A7; Mon, 30 Jan 2017 16:58:44 -0800 (PST)
Received: from minas-ithil.hactrn.net (c-73-47-197-23.hsd1.ma.comcast.net [73.47.197.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "nargothrond.hactrn.net", Issuer "Grunchweather Associates" (not verified)) by adrilankha.hactrn.net (Postfix) with ESMTPS id A5CA7B965; Tue, 31 Jan 2017 00:58:43 +0000 (UTC)
Received: from minas-ithil.hactrn.net (localhost [IPv6:::1]) by minas-ithil.hactrn.net (Postfix) with ESMTP id 0669146654B0; Mon, 30 Jan 2017 19:58:07 -0500 (EST)
Date: Mon, 30 Jan 2017 19:58:06 -0500
From: Rob Austein <sra@hactrn.net>
To: Stephen Farrell <stephen.farrell@cs.tcd.ie>
In-Reply-To: <148478450463.2001.14196919509991761982.idtracker@ietfa.amsl.com>
References: <148478450463.2001.14196919509991761982.idtracker@ietfa.amsl.com>
User-Agent: Wanderlust/2.15.5 (Almost Unreal) Emacs/22.3 Mule/5.0 (SAKAKI)
MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka")
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <20170131005807.0669146654B0@minas-ithil.hactrn.net>
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidr/u96cKIpxycG9UavutRxfdpr734Q>
Cc: Chris Morrow <morrowc@ops-netman.net>, sidr-chairs@ietf.org, The IESG <iesg@ietf.org>, sidr@ietf.org, draft-ietf-sidr-publication@ietf.org
Subject: Re: [sidr] Stephen Farrell's Discuss on draft-ietf-sidr-publication-10: (with DISCUSS and COMMENT)
X-BeenThere: sidr@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Secure Interdomain Routing <sidr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sidr>, <mailto:sidr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidr/>
List-Post: <mailto:sidr@ietf.org>
List-Help: <mailto:sidr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sidr>, <mailto:sidr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 31 Jan 2017 00:58:45 -0000

At Wed, 18 Jan 2017 16:08:24 -0800, Stephen Farrell wrote:
...
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
> 
> Why is sha-256 hardcoded?

Real answer: because it's hard-coded in RFC 6486 and we were trying to
use the same hashing algorithm for manifests, this, and RRDP
(draft-ietf-sidr-delta-protocol).

>  You could easily include a hash alg-id even as an option and in
> that way get algorithm agility, as called for by BCP201.  (Or you
> could use something like ni URIs but that's a bit of a self-serving
> suggestion;-) Anyway, what's the plan for replacing sha-256 here?
> (This is a bit of a subset of Alissa's discuss with which I agree.)
> 
> One possible way to handle this here is to identify sha-256 as
> the default hash algorithm but to re-define the ABNF for hash
> to allow an alg-id of some sort to be included there. Or have
> some generic versioning text somewhere that calls for a
> version bump if sha-256 is not to be used.

I had been assuming that an algorithm change would be a protocol
version bump.  Given that the server is probably storing these hashes
in a database, changing the algorithm is probably a bit more involved
than just changing the bits on the wire.

> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> - general: I think a design that uses https with mutual auth
> would have been better and easier. But given that this is
> implemented and deployed, I guess it's too late for this one.

The design goals included offline authentication for audit purposes,
possibly years after the fact.  That's hard to do with any sort of
channel security mechanism, hence this approach.

> - As with the oob spec, the xmlns values get me a 404.

Don't think this is critical, but I can put up a vhost for this at
some point if it will make people happier.

> - section 6: I don't agree that CMS signed data means that
> https is not needed. The latter provides confidentiality and
> integrity and server auth which the former does not.  And even
> ignoring the security reasons, https is arguably much easier
> to deploy and requires less development. And http is
> vulnerable to middlebox messing (e.g. a client using http is
> more likely to be forced to support cleartext proxy-auth
> passwords).  I would encourage you to encourage use of https
> with server auth in addition to CMS signed data payloads.

Er, the CMS signatures do provide integrity, I think.

Having implemented both application code using both HTTPS and CMS as
part of this project, I will have to respectfully disagree on relative
difficulty of implementation.  CMS is a format hairball, true, but
it's all signed objects which can be signed and verified calmly at the
implementation's convenience.  TLS authentication tends to involve
callbacks at awkward times, requiring one to make authentication
decisions at a time chosen by somebody at the other end of a network
connection, which can get pretty nasty.

That said, I don't really object to HTTPS as a transport protocol, so
long as we don't have to change the authentication mechanism.