Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tld-00.txt> (The .onion Special-Use Domain Name) to Proposed Standard

Alec Muffett <alecm@fb.com> Mon, 10 August 2015 21:25 UTC

Return-Path: <prvs=5664d36374=alecm@fb.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CE72F1B2F31; Mon, 10 Aug 2015 14:25:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.366
X-Spam-Level:
X-Spam-Status: No, score=-2.366 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 Me8RmPSt3rd9; Mon, 10 Aug 2015 14:25:18 -0700 (PDT)
Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BA2DE1B2D02; Mon, 10 Aug 2015 14:25:18 -0700 (PDT)
Received: from pps.filterd (m0044008 [127.0.0.1]) by mx0a-00082601.pphosted.com (8.14.5/8.14.5) with SMTP id t7ALKxSX002682; Mon, 10 Aug 2015 14:24:55 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=facebook; bh=nKg6UJNwf3Fcpb8goIBzbf4H1dRuPc02LbhHwPQAfGU=; b=ni0rD8kcUXm2vpxphvdWonVqG/iMkwoMXPcK8SK3/NwBod3/Rvix6ThNkvev96/7c3+D KXYZ5YibrLnut4/8ORMjUhW7GhRDhThEHnTlfapWTW+aFZY9vgb50mE57egBx8+/KiF0 HEOCIo2nnQXZvoqQvTJPG4HinQuPg+iXi1Y=
Received: from mail.thefacebook.com ([199.201.64.23]) by mx0a-00082601.pphosted.com with ESMTP id 1w71a08ewu-1 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 10 Aug 2015 14:24:55 -0700
Received: from PRN-MBX02-4.TheFacebook.com ([169.254.2.114]) by PRN-CHUB15.TheFacebook.com ([fe80::3479:9544:c2df:1fc0%12]) with mapi id 14.03.0195.001; Mon, 10 Aug 2015 14:24:53 -0700
From: Alec Muffett <alecm@fb.com>
To: Joe Hildebrand <hildjj@cursive.net>
Subject: Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tld-00.txt> (The .onion Special-Use Domain Name) to Proposed Standard
Thread-Topic: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tld-00.txt> (The .onion Special-Use Domain Name) to Proposed Standard
Thread-Index: AQHQvmrojAhJLnn8xU++NMtyLYg/4p4BKKEAgAAK5gCAAA/pgIABQ5uAgAOK6QCAABSIgIAACqmAgAAL9wCAABDAgIAAEKKA
Date: Mon, 10 Aug 2015 21:24:52 +0000
Message-ID: <C0DB3F19-80F2-415C-9968-CD4072C9298A@fb.com>
References: <20150714192438.1138.96059.idtracker@ietfa.amsl.com> <D1EA295A.DFA3%edward.lewis@icann.org> <55C4C0DA.8070502@w3.org> <D1EA43FA.DFB8%edward.lewis@icann.org> <554DA9E5-2071-48A2-8AC8-DD07DE3B2BB0@fb.com> <CA+9kkMAcW_g28qAZ8SKbqefZfdDxzdM7=0D_of7f_qLm08d3wA@mail.gmail.com> <CD2ABBDD-F9CA-4A27-A0B6-3CDD37DB1AB4@fb.com> <CA+9kkMAmuXuLpsHVm8PeFQ5V+48mdd06=u=L+gKPqGVQSh-FFg@mail.gmail.com> <8D7DDDFF-BC2E-4A98-ADDB-A72D2C6A796E@fb.com> <EE0CF597-EC22-4853-8020-1F2AFECF73EE@cursive.net>
In-Reply-To: <EE0CF597-EC22-4853-8020-1F2AFECF73EE@cursive.net>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [192.168.52.123]
Content-Type: multipart/signed; boundary="Apple-Mail=_68E5D47E-5E6E-4EA0-92F7-D2399C398F8A"; protocol="application/pgp-signature"; micalg="pgp-sha512"
MIME-Version: 1.0
X-Proofpoint-Spam-Reason: safe
X-FB-Internal: Safe
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.14.151, 1.0.33, 0.0.0000 definitions=2015-08-10_04:2015-08-10,2015-08-10,1970-01-01 signatures=0
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/zF6OGyU8r1tHGLxXnjfPLtPQXm8>
Cc: Edward Lewis <edward.lewis@icann.org>, Ted Hardie <ted.ietf@gmail.com>, "ietf@ietf.org" <ietf@ietf.org>, Richard Barnes <rlb@ipv.sx>, "dnsop@ietf.org" <dnsop@ietf.org>, Mark Nottingham <mnot@mnot.net>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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: Mon, 10 Aug 2015 21:25:21 -0000

> On Aug 10, 2015, at 1:25 PM, Joe Hildebrand <hildjj@cursive.net> wrote:
> 
> If the smiley means "they're already deployed, so we don't get to talk about whether they're appropriate", then fine, but that's why a bunch of people are complaining about the precedent this sets. If the smiley means "this is a good protocol design that other people should follow", then I'm not sure we have consensus on that.


I apologise that my personal opinion and cheery demeanour appears to be extrapolatable into a couple of contrasting strategic positional statements.

To put my personal opinion at greater and more clear length:

In the context of URI schemes, accessing a Tor onion site (currently) over HTTP or HTTPS is precisely *that* - a fetch of HTML or other content which a HTTP or HTTPS request might typically be used to access - without the client software needing to be adapted for Tor access at "Layer 7".

Such a fetch is functionally just a vanilla HTTP/S over an “alternate" transport, the latter generally enabled by a SOCKS proxy or a content-aware VPN.

Such fetches currently work, have done so for several years, and have been used by many, many thousands of users, possibly millions.

Similarly, ssh://user@someonionaddress.onion <ssh://user@someonionaddress.onion> is equally an extant and functional SSH request to someonionaddress.onion

Equally git://someonionaddress.onion/user/project-name.git <git://someonionaddress.onion/user/project-name.git> would not immediately strike me as needing to be forcibly changed to “onion-git://“ <onion-git://%E2%80%9C> simply because Git is invoked over an "alternate” transport with a “alternate” name resolution. It currently works, so why break it?

From this observation, my personal opinion of “the proper scheme for an HTTP/S fetch to an Onion address" is something of a duck-test:

TEST: if a fetch looks like HTTP/S and quacks like HTTP/S, then I think that it should likely be given a HTTP/S scheme.

Conversely: it’s arguable that schemes like “daap” or “rtsp” are also “HTTP-based”, and that *they* have special schemes, so perhaps fetches from Onion-addresses should “have special schemes” too?

I can sympathise with this argument.  It makes logical sense.

I personally differentiate and resolve this argument in terms of intent, and in terms of client and server-software.

“rtsp://” for instance is used for streaming, and requires magic, RTSP-specific headers, and the frontend is something like VLC or iTunes, and the backend requires a special streaming stack.

To me, this smells of specialism.

Equally: if iTunes incorporates a webview and fetches a bunch of web-content for human consumption, it likely uses a HTTP/S scheme to do so, rather than a specialist “ituneshttps://“ scheme.

This smells of specialist software trying to be a "general-purpose browser".

So, given these conditions:

- if the intent is largely to provide HTML+CSS content to human beings,
- if the client software is most likely a well-known browser (tor browser = firefox) operating in its normal mode
- …but not necessarily or exclusively a browser…
- and if the server software is something like Apache + {Wordpress, Drupal, a bunch of static HTML}

…then under these conditions, again, I apply the duck test. I feel that such fetches are HTTP/S and should have that scheme.

Hence why I feel that the extant, vanilla HTTP/S schemes are most appropriate for fetching browser content from onion addresses.

The other matters, regarding domain name resolution and generic URI syntax, I have already covered at some length.

   - a

*aside: using VLC to RTSP to an Onion address will work just fine when SOCKS (etc) is configured… etc...

—
Alec Muffett
Security Infrastructure
Facebook Engineering
London