Re: [Masque] New Version Notification for draft-schwartz-masque-access-descriptions-03.txt

Ben Schwartz <bemasc@google.com> Wed, 19 October 2022 14:47 UTC

Return-Path: <bemasc@google.com>
X-Original-To: masque@ietfa.amsl.com
Delivered-To: masque@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B71F7C1522A6 for <masque@ietfa.amsl.com>; Wed, 19 Oct 2022 07:47:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -20.61
X-Spam-Level:
X-Spam-Status: No, score=-20.61 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, URI_DOTEDU=1.997, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Dmo7CxO4-OhQ for <masque@ietfa.amsl.com>; Wed, 19 Oct 2022 07:47:55 -0700 (PDT)
Received: from mail-vs1-xe30.google.com (mail-vs1-xe30.google.com [IPv6:2607:f8b0:4864:20::e30]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8EBDEC1522B2 for <masque@ietf.org>; Wed, 19 Oct 2022 07:47:55 -0700 (PDT)
Received: by mail-vs1-xe30.google.com with SMTP id p7so17918357vsr.7 for <masque@ietf.org>; Wed, 19 Oct 2022 07:47:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=V6LOZve4ix8vrnt/qs8hfHu6UDQltcMSyIFP9AexzAI=; b=F9MPOlVM8C0vqIkHlNPkVHAZftdhHyWujmp6QLo31wSHKS++isjeR6IuwQPvi9MDpP bOorypc4moymU9ZSK7mFlko3Vdv/Isjo0EUhxzeHIaj9pPyyc3JvVvKUbDPrbB2jLoUp OG4If6SIpNRW8LaNudEQqJcac5wXG2olHJnvfQuUOp8AXg+JhFzSC77LDg5LhxWrd+e2 idKJgvBib6hscv+JqEiRP61dmmtRTY92aHiRC2BLc7a0Ijv+2A/Cmrhvt0l03ExhSoWe xLXG8xCfLYi81O6GN1GwH2gyp5s6wN697kUUdU4gjeZVv9atiC/I+ycgHVNTQ3k0VE26 HFhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=V6LOZve4ix8vrnt/qs8hfHu6UDQltcMSyIFP9AexzAI=; b=su/KShRM0OtR7WtG+qJ2vo+35F7VDlVuKLE5JVN4wAFEG1Sz1FXsXZ9r/T/qFER3IE kDuDVtWa0TjF5Fpn80rqzIuwdFvDDsISyrEmUjGOIfv14T/n5Me5KlwgdF1i5SA3OINS um+qSFDtRuRGkzBqmaKQV+G/T5ESC6DUKSlLY3btSarJuK/+5q/d6PChxnGLllJNeRer 8ZgRcOr4hRoM/dUSt901KpL2A/aPJ3Tmjr2F/KdQHkMOKpN7hUfEim3BaJGBHbOkFrIr /vex1KjzBNmL77YxYnn6QpYU1Z+GKUIMLELblXCP0nRgE8lEwJNeHZtrxVlLRs8eh6GX 2Zig==
X-Gm-Message-State: ACrzQf1HQz/xD3E85lquBputI/rQ8UFqF93Zz0afxMjJ/X4B5l39RTQy dwYwziF9ci7nT9FV/6nPOluiEXCExjx1yNwhDPr/y5KWBpoAPg==
X-Google-Smtp-Source: AMsMyM6ZLFSBgUX3hMoXprWhBUjnMxLXjjr9HUILlaErAcpc9dLITDpQFMgKL6MzUXksh/KKqpnrbtTDGnIQoNli3qA=
X-Received: by 2002:a67:c515:0:b0:3a9:6f82:60df with SMTP id e21-20020a67c515000000b003a96f8260dfmr4086492vsk.84.1666190873879; Wed, 19 Oct 2022 07:47:53 -0700 (PDT)
MIME-Version: 1.0
References: <166612469784.26130.2083338856348864490@ietfa.amsl.com> <CAHbrMsCd9qiooTSbGcucW=2F3Zv92z_oH3sVdTqc_-gcZEyM8A@mail.gmail.com> <53620FFC-DA9A-438B-B837-2CA3707F11FF@apple.com>
In-Reply-To: <53620FFC-DA9A-438B-B837-2CA3707F11FF@apple.com>
From: Ben Schwartz <bemasc@google.com>
Date: Wed, 19 Oct 2022 10:47:40 -0400
Message-ID: <CAHbrMsB1sdQsEfnMTX97N9DueQiRBKhuOdfiDBxs9b2+0DJ-qA@mail.gmail.com>
To: Tommy Pauly <tpauly=40apple.com@dmarc.ietf.org>
Cc: MASQUE <masque@ietf.org>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="00000000000031377605eb644b18"
Archived-At: <https://mailarchive.ietf.org/arch/msg/masque/lJuN4w06-tnj4qE6LNm7w6xGpzk>
Subject: Re: [Masque] New Version Notification for draft-schwartz-masque-access-descriptions-03.txt
X-BeenThere: masque@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Multiplexed Application Substrate over QUIC Encryption <masque.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/masque>, <mailto:masque-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/masque/>
List-Post: <mailto:masque@ietf.org>
List-Help: <mailto:masque-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/masque>, <mailto:masque-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Oct 2022 14:47:59 -0000

On Tue, Oct 18, 2022 at 5:35 PM Tommy Pauly <tpauly=
40apple.com@dmarc.ietf.org> wrote:
...

> How are you imagining clients would fetch this JSON in the case they are
> not using a well-known? Would it be something where clients would be
> configured with a specific URL that only gets them access to the access
> description?
>

Yes, that's the intent.  In case it's not clear, my baseline use case is
the ubiquitous "system proxy" or VPN configuration UIs.  Currently, those
UIs look like this:

macOS
 - Proxy:
https://discussions.apple.com/content/attachment/2e740797-8be2-4d05-b564-9e6d1fa1d9a6
 - VPN:
https://discussions.apple.com/content/attachment/cb45034a-0805-4f9b-9fbf-372d122ea636
iOS
 - Proxy (Wifi only):
https://www.howtogeek.com/wp-content/uploads/2017/02/img_589e4b3c48b7e.png
 - VPN:
https://blog.avast.com/hs-fs/hubfs/avast-blog/Essential%20guide%20to%20mobile%20VPN/Configuring-VPN-1.png
Windows
 - Proxy:
https://filestore.community.support.microsoft.com/api/images/6af0e6b1-ffeb-4341-b0ac-83671225e888
 - VPN:
https://filestore.community.support.microsoft.com/api/images/29156df3-3f9c-462b-8dd0-6d90e6c6f494
Android
 - Proxy (Wifi only):
https://upload.wikimedia.org/wikipedia/commons/d/d2/Android_proxy_settings.png
 - VPN:
https://www.perfect-privacy.com/images/manuals/android_ipsec_alwayson/android_ipsec_alwayson_en_img4.webp
Firefox
 - Proxy:
https://user-media-prod-cdn.itsre-sumo.mozilla.net/uploads/gallery/images/2020-05-20-23-15-05-911af7.png
Gnome
 - Proxy: https://i.stack.imgur.com/ARENA.png
 - VPN:
https://uit.stanford.edu/sites/default/files/images/2017/07/27/edit_connection.png

We need to decide what we want those flows to look like for MASQUE.  My
ideal (perhaps not quite achievable) is that they look like a single
text-input field labeled "Access Service Description URL".  There should be
no reliance on domain-scoped services, and no need for the user to
distinguish between configuring TCP, UDP, IP, DNS, etc.

Although it's not in the draft (yet...), we might even want to define
something like a "masque://" URI scheme for the Access Description.  That
would enable shortcut handling that goes directly to this configuration
page, removing the need to copy-paste and dig through menus to use MASQUE.
(Not that this should be _too_ easy, given the potential for abuse.)

Or could clients request this content type from some proxy URL they know
> (let’s say they just know a connect-udp URL and want to check for
> connect-ip…)?
>

No, that was not my intent.


>
> Thanks,
> Tommy
>
>
>
> On Oct 18, 2022, at 1:35 PM, Ben Schwartz <bemasc=
> 40google.com@dmarc.ietf.org> wrote:
>
> Hi MASQUE,
>
> At the last meeting, I presented a simple JSON blob format for
> representing multiple related proxyish services.  I recall the following
> feedback:
>
> * This format is trying to do too many different things.
> * Configuration of all these things is not in-charter for MASQUE.
> * We need a better explanation of how this can be used for
> access-controlled services.
>
> In this version, I've made the following changes:
>
> * Removed any mention of Oblivious HTTP.
> * Added support for HTTP request proxies and TCP proxies (via "Modern HTTP
> Proxies" [1]).
> * Added instructions on how to use this format with access-controlled
> proxies (via "Popup Authentication" [2]).
>
> Hopefully this makes the purpose and utility of the draft clearer.
>
> I would like to present this draft at IETF 115.  Perhaps the chairs can
> advise whether MASQUE, HTTPBIS, or DISPATCH would be the best venue.
>
> Please review,
> Ben Schwartz
>
> [1] https://datatracker.ietf.org/doc/draft-schwartz-modern-http-proxies/
> [2]
> https://datatracker.ietf.org/doc/draft-schwartz-httpapi-popup-authentication/
>
> ---------- Forwarded message ---------
> From: <internet-drafts@ietf.org>
> Date: Tue, Oct 18, 2022 at 4:25 PM
> Subject: New Version Notification for
> draft-schwartz-masque-access-descriptions-03.txt
> To: Benjamin M. Schwartz <bemasc@google.com>
>
>
>
> A new version of I-D, draft-schwartz-masque-access-descriptions-03.txt
> has been successfully submitted by Benjamin Schwartz and posted to the
> IETF repository.
>
> Name:           draft-schwartz-masque-access-descriptions
> Revision:       03
> Title:          HTTP Access Service Description Objects
> Document date:  2022-10-18
> Group:          Individual Submission
> Pages:          6
> URL:
> https://www.ietf.org/archive/id/draft-schwartz-masque-access-descriptions-03.txt
> Status:
> https://datatracker.ietf.org/doc/draft-schwartz-masque-access-descriptions/
> Html:
> https://www.ietf.org/archive/id/draft-schwartz-masque-access-descriptions-03.html
> Htmlized:
> https://datatracker.ietf.org/doc/html/draft-schwartz-masque-access-descriptions
> Diff:
> https://www.ietf.org/rfcdiff?url2=draft-schwartz-masque-access-descriptions-03
>
> Abstract:
>    HTTP proxies can operate several different kinds of access services.
>    This specification provides a format for identifying a collection of
>    such services.
>
> About This Document
>
>    This note is to be removed before publishing as an RFC.
>
>    Status information for this document may be found at
>    https://datatracker.ietf.org/doc/draft-schwartz-masque-access-
>    descriptions/.
>
>    Source for this draft and an issue tracker can be found at
>    https://github.com/bemasc/access-services.
>
>
>
>
> The IETF Secretariat
>
>
> --
> Masque mailing list
> Masque@ietf.org
> https://www.ietf.org/mailman/listinfo/masque
>
>
>