[Sidrops] HTTPS in TALs

Tim Bruijnzeels <tim@ripe.net> Wed, 19 July 2017 08:59 UTC

Return-Path: <tim@ripe.net>
X-Original-To: sidrops@ietfa.amsl.com
Delivered-To: sidrops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 53C4D131C43 for <sidrops@ietfa.amsl.com>; Wed, 19 Jul 2017 01:59:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, URIBL_BLOCKED=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 YFA8yEERIaCT for <sidrops@ietfa.amsl.com>; Wed, 19 Jul 2017 01:59:46 -0700 (PDT)
Received: from molamola.ripe.net (molamola.ripe.net [IPv6:2001:67c:2e8:11::c100:1371]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9B85A131C42 for <sidrops@ietf.org>; Wed, 19 Jul 2017 01:59:46 -0700 (PDT)
Received: from nene.ripe.net ([193.0.23.10]) by molamola.ripe.net with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.88) (envelope-from <tim@ripe.net>) id 1dXkpc-000BgL-CS for sidrops@ietf.org; Wed, 19 Jul 2017 10:59:45 +0200
Received: from sslvpn.ripe.net ([193.0.20.230] helo=vpn-199.ripe.net) by nene.ripe.net with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.84_2) (envelope-from <tim@ripe.net>) id 1dXkpc-0003f1-7H; Wed, 19 Jul 2017 10:59:44 +0200
From: Tim Bruijnzeels <tim@ripe.net>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Date: Wed, 19 Jul 2017 10:59:42 +0200
Message-Id: <F3B9CD28-7643-43B9-B210-805687297D9E@ripe.net>
To: sidrops@ietf.org
X-Mailer: Apple Mail (2.3273)
X-ACL-Warn: Delaying message
X-RIPE-Spam-Level: -------
X-RIPE-Spam-Report: Spam Total Points: -7.5 points pts rule name description ---- ---------------------- ------------------------------------ -7.5 ALL_TRUSTED Passed through trusted hosts only via SMTP
X-RIPE-Signature: 784d7acfe6559f2a0b602ec6519a071963967054f3189060db20d6ea281d0ffd
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/ocO5XN7ffbMb8lpYUNI55l30rnU>
Subject: [Sidrops] HTTPS in TALs
X-BeenThere: sidrops@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: A list for the SIDR Operations WG <sidrops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sidrops>, <mailto:sidrops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidrops/>
List-Post: <mailto:sidrops@ietf.org>
List-Help: <mailto:sidrops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sidrops>, <mailto:sidrops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Jul 2017 08:59:50 -0000

Dear WG,

As presented I want to propose a change to RFC7730 to move to HTTPS URIs, rather than RSYNC.

The reasons why I want this change are:
- As a TA operator I feel more confident assuring the availability of a TA certificate over HTTPS compared to RSYNC
- As an RP implementer I want to reduce the dependency on rsync in the validator. Especially if RRDP is also used, this would mean we don’t need to call rsync at all anymore.

Conventional wisdom would be to first allow HTTPS in addition to RSYNC (and make it preferred if available), then mandate it, and then deprecate RSYNC.

However, I feel that in this case it would be perfectly safe, and much simpler to go for the end-stage immediately for the following reasons:
- step 1 of allowing HTTPS already forces RP software to support HTTPS
- nothing stops us from having a mix of RFC7730 style TALs and ‘HTTPS’ TALs for a while:
— TAs can create new TALs when they are ready to publish their certificate using an HTTPS URI
— TAs can continue to have their certificate available under RSYNC for those RPs unaware of the updated TAL
— We can pursue parallel efforts (other thread) to have a way for TAs to pro-actively communicate an updated TAL to RPs
- and, of course, updating/replacing 7730 in one step rather than 3 is a lot less work

So, updating 7730 to use HTTPS this way is almost as simple as 's/rsync/https/g’, and updating the references.

In addition I would advocate an HTTPS consideration section, similar to:
https://tools.ietf.org/html/draft-ietf-sidr-delta-protocol-08#section-4.3

Essentially, TLS certificate or host name validation issues found are worth logging about, but since the RP can verify that the retrieved TA certificate matches the “subjectPublicKeyInfo” in the TAL, and is newer than previously obtained certificate, it should be safe to process. We should probably also advocate that in cases where multiple HTTPS URIs are present, and TLS certificate or host name validation issues are found, other URIs are also followed to see if there is no newer TA certificate. This may be left to local policy, but I believe this will help against replay attacks where RPs are presented an outdated TA certificate.

So, questions to the WG:
= Can we adopt this work?
= What is the best path? Are the 7730 authors willing to update? Should I start work on a -bis?


Thanks

Tim