Re: [Privacy-pass] Questions on client trust

Eli-Shaoul Khedouri <eli@intuitionmachines.com> Wed, 15 April 2020 04:47 UTC

Return-Path: <eli@intuitionmachines.com>
X-Original-To: privacy-pass@ietfa.amsl.com
Delivered-To: privacy-pass@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BED823A08B7 for <privacy-pass@ietfa.amsl.com>; Tue, 14 Apr 2020 21:47:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=intuitionmachines.com
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 sjx6Tpui369L for <privacy-pass@ietfa.amsl.com>; Tue, 14 Apr 2020 21:47:56 -0700 (PDT)
Received: from mail-vs1-xe2e.google.com (mail-vs1-xe2e.google.com [IPv6:2607:f8b0:4864:20::e2e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E90BF3A08B5 for <privacy-pass@ietf.org>; Tue, 14 Apr 2020 21:47:55 -0700 (PDT)
Received: by mail-vs1-xe2e.google.com with SMTP id y15so1469406vsm.5 for <privacy-pass@ietf.org>; Tue, 14 Apr 2020 21:47:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intuitionmachines.com; s=default; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ccrhFG3O4euist3FwuaF5HK8q5Li9JKxR3y+X7KDMNA=; b=UZ8Ja/CMy4NRfLPNc1fqMAa18l5IVynrzVGcgSjLvgOB3xEL73S0bC8POX9OOcaYW9 pOghrk+IQpyqXoAQTyOGU7Eb9dxfdiN2zlYdgO9qQpJGm/Cjt+ysV7WMiY16N1XQ68j+ WrlChh5Cd688YBE5y9CM5C0ctgywUV4mbOP/1O6Gr9yVQLrLvTj2PdMpelk4kOwnpDp0 KYuKxXmeX66hlF8Lrjrp9JGFH5/+s1Thx9QCUdKasSouy4Sbvge9RieNiXNjgo+9P56w 6de5OprdDqcWR93nDhOfBfeDlLh+UukBd78zW3pAZrqBo+H251dwEXzclh3HALRv0Q6T RT8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ccrhFG3O4euist3FwuaF5HK8q5Li9JKxR3y+X7KDMNA=; b=fp1djpZfgif9NclPe1NGfg9GFx4ASCOxiSb0BBGYbFWDuHobdQ4mNSGrh9iS8rd44z zEMfuv7ApWYfabD57a0kOiIQCt82cEU141375AWSqB7WI3l89Vo1OlEMwJN0C0dxQp5N VmFhgZhxsaPZI1Q5j1FUgFMpyM+IjoUYTviokNPrAfNUt94Z8XCg9vB7zQ6EiKtmsYPC s6mBvY7mrpKq/OdwcSz5wnLzg8Q599Txa/16gAj2BxNhLBs17SLKbL/jR/wYuwAukmDR ya5yzAk/r6P7hPDnGyHwH5A/pQmmgcLND3JOtQo1BhuZVdId15LwXgOa2WWnVKBaiyoH dV6w==
X-Gm-Message-State: AGi0PubADNkrKgmo16YTbVorYmncv4x3AeU1UKQ6j4PnpCICsLAgGYhP A3R0DGh02i+XMHuP3Ywww0qmPs3BiiQ=
X-Google-Smtp-Source: APiQypJawQx516Lzk7lrZL3xXqTxSJe1Z5Zpznrhn4+w8Xu+pki4YLizznundkbBFwraS/yMDDYXrg==
X-Received: by 2002:a67:1582:: with SMTP id 124mr3030870vsv.113.1586926074521; Tue, 14 Apr 2020 21:47:54 -0700 (PDT)
Received: from mail-vk1-f182.google.com (mail-vk1-f182.google.com. [209.85.221.182]) by smtp.gmail.com with ESMTPSA id k189sm2875491vsc.26.2020.04.14.21.47.53 for <privacy-pass@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Apr 2020 21:47:53 -0700 (PDT)
Received: by mail-vk1-f182.google.com with SMTP id p123so586096vkg.1 for <privacy-pass@ietf.org>; Tue, 14 Apr 2020 21:47:53 -0700 (PDT)
X-Received: by 2002:a1f:8f41:: with SMTP id r62mr17569119vkd.52.1586926073544; Tue, 14 Apr 2020 21:47:53 -0700 (PDT)
MIME-Version: 1.0
References: <9A77145D-1506-4DC4-ADE2-9C5BD4B2AC86@cloudflare.com> <CAHbrMsBfsJ1+ueTZBnsQxXiHQHkGLHG=j+5R8FgeJwt5nooQzw@mail.gmail.com> <439fd8f8-5942-4f4a-94fd-672d3de76f13@www.fastmail.com> <F31C1153-9C53-41AC-B461-145DA5F038D0@cloudflare.com> <CAHbrMsDZTMF+2SwB3yp16muP3sQT-v=ieFCFafu_5u65T8tkuQ@mail.gmail.com> <CABcZeBP4KdD9hWrr6+4u9v+3zTbQmhsa5fGdRfeSZXpzHumV2w@mail.gmail.com>
In-Reply-To: <CABcZeBP4KdD9hWrr6+4u9v+3zTbQmhsa5fGdRfeSZXpzHumV2w@mail.gmail.com>
From: Eli-Shaoul Khedouri <eli@intuitionmachines.com>
Date: Tue, 14 Apr 2020 21:47:42 -0700
X-Gmail-Original-Message-ID: <CA+AE54cvefGwsitBAJCOVj-2x52FfvcPce=W18d+Vb0HrmBMSQ@mail.gmail.com>
Message-ID: <CA+AE54cvefGwsitBAJCOVj-2x52FfvcPce=W18d+Vb0HrmBMSQ@mail.gmail.com>
To: Eric Rescorla <ekr@rtfm.com>
Cc: Ben Schwartz <bemasc=40google.com@dmarc.ietf.org>, Alex Davidson <adavidson=40cloudflare.com@dmarc.ietf.org>, Martin Thomson <mt@lowentropy.net>, privacy-pass@ietf.org
Content-Type: multipart/alternative; boundary="000000000000e6028d05a34d0443"
Archived-At: <https://mailarchive.ietf.org/arch/msg/privacy-pass/O7NArJ3plCA-zvEvyfWQw9Btaeg>
Subject: Re: [Privacy-pass] Questions on client trust
X-BeenThere: privacy-pass@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <privacy-pass.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/privacy-pass>, <mailto:privacy-pass-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/privacy-pass/>
List-Post: <mailto:privacy-pass@ietf.org>
List-Help: <mailto:privacy-pass-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/privacy-pass>, <mailto:privacy-pass-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Apr 2020 04:47:58 -0000

On Tue, Apr 14, 2020 at 9:09 PM Eric Rescorla <ekr@rtfm.com> wrote:

> On Tue, Apr 14, 2020 at 8:53 PM Ben Schwartz <bemasc=
> 40google.com@dmarc.ietf.org> wrote:
>
>> I don't understand what "is human" is supposed to mean.  Surely for this
>> protocol it is always false!  For clarity, I would not want this phrasing
>> in the charter.
>>
>> I also don't understand how a transferable, anonymous, single-use token
>> asserts anything about the holder, or has anything to do with trust.
>>
>
> Really? The motivating example seems like it is asserting that the holder
> has passed some CAPTCHA.
>

This is indeed one of the initial applications, and it does seem to make
sense to call out this point explicitly.


> I think we should rule all content (blind signing) strictly out of scope.
>> The complexity of supporting content is not worth it for N<4 bits; just
>> encode the content in unary by the choice of issuer.  If that proves too
>> inefficient after this is all finished, we can consider a follow-on
>> specification with content.
>>
>
> A number of the obvious applications of this kind of technology require
> content and probably > 4 bits. I don't think we should go to the trouble of
> designing a protocol as inflexible as you suggest.
>

Would also prefer to see more than 4 bits as an option. Different
applications will have different requirements, and understanding the
implications for the privacy budget is important. But zero bits of content
would make for a very limited set of applications.

We can even imagine this being chosen by the user in the captcha scenario,
with benefits accruing for accepting blinded tokens that contain enough
bits to let the validating service apply differential treatment, e.g. show
fewer challenges.

Eli



> -Ekr
>
>
>> On Tue, Apr 14, 2020 at 7:50 AM Alex Davidson <adavidson=
>> 40cloudflare.com@dmarc.ietf.org <40cloudflare..com@dmarc.ietf.org>>
>> wrote:
>>
>>>
>>> > On 14 Apr 2020, at 03:43, Martin Thomson <mt@lowentropy.net> wrote:
>>> >
>>> > On Tue, Apr 7, 2020, at 04:57, Ben Schwartz wrote:
>>> >> On Thu, Apr 2, 2020 at 6:44 AM Alex Davidson
>>> >> <adavidson=40cloudflare.com@dmarc.ietf.org> wrote:
>>> >>> - To what extent should client's trust the issuers when redeeming
>>> >>> tokens?
>>> >>> - Under what conditions should they accept/redeem tokens?
>>> >>> - What information does the client trust the issuer to encode in the
>>> >>> tokens?
>>> >>> - How does an ecosystem protect itself against issuer consolidation
>>> >>> and/or centralization?
>>> >>
>>> >> Since we are chartering, not designing, I think it's premature to try
>>> >> to solve these problems. At this stage, our goal should be to
>>> describe
>>> >> (1) the problems and (2) the scope of our ambition to address them...
>>> >
>>> > I think that this cuts to the core of the question of feasibility.
>>> That is, is this a research project or an engineering task?
>>> >
>>> > There are two paths that avoid having to deal with these questions:
>>> >
>>> > 1. pick a single manifestation of the system, like "is human", build
>>> to that, and document this
>>> >
>>> > 2. make it very clear that the way in which the token conduit acts is
>>> very much subject to some amount of trust in the token issuer, explain that
>>> any carriage of token across what might otherwise be a privacy boundary
>>> requires that this trust exist, and build the system with that in mind
>>> >
>>> > The original charter might have been a shade more biased toward the
>>> latter approach, but the designs I saw included mechanisms that seemed to
>>> derive from a viewpoint that had less inherent reliance on trust.  The
>>> designs implied (at least to me) an assumption that the conduit didn't need
>>> to think or trust.  That might be possible for the "is human" bit in
>>> browsers, maybe, so that's not unreasonable.  That made this hard to assess
>>> because of those implicit assumptions.
>>>
>>> I would rather not scope as narrowly as “is human” as I think some of
>>> the proposed applications being considered are somewhat broader than that
>>> specific signal. I think the path that is raised in 2) is close to the
>>> direction that I was personally imagining that we would take. My preference
>>> would be to assume that the client has decided which
>>> Issuers/Registries/Vendors that it can trust and then build the protocol
>>> and architecture with this trust already established. There may be ways
>>> that we can provide broad recommendations on how clients may want to make
>>> this decision (e.g. based on the past behaviour of the Issuer in
>>> interactions, key rotations etc...) but going beyond that seems beyond the
>>> scope of the work, in my opinion..
>>>
>>> >> As often seems to be the case, I think we are not really talking
>>> about
>>> >> "more" or "less" consolidation, but rather trading off consolidation
>>> >> pressure in different elements of the ecosystem. The charter should
>>> >> acknowledge that some degree of consolidation pressure may be
>>> >> unavoidable, but we will do our best to minimize and mitigate it.
>>> >
>>> > This notion of how protocols act to shape market pressures is new for
>>> us here, so it might be OK to call it out as special.  We used to do that
>>> for security until it was sufficiently internalized.  However, we need to
>>> remember that this is just another factor we should each consider as we go
>>> through this process.  I don't want to over-rotate on consolidation when we
>>> also need to consider environmental impacts, the effect on underrepresented
>>> minority groups, accessibility, privacy, or any of a number of other
>>> important factors.
>>> >
>>> > The apparent need for trust of certain types in this system does tend
>>> to produce certain consolidation pressures that we need to acknowledge, but
>>> until we understand the precise role of trust, we can't know for sure.
>>> What is worse, the details of the information being conveyed likely has
>>> more of an effect on this than anything else, and it seems like there is a
>>> desire to make the information conveyed flexible.
>>> >
>>> > Maybe the consolidation thing is manageable for something like an "is
>>> human" assertion, but is completely intractable in the general case.  And
>>> maybe that is OK from a consolidation perspective because the protocol is
>>> completely unusable at global scale for any other sort of assertion.  And
>>> maybe that is terrible because it means the creation of islands of haves
>>> and have-nots for privacy pass.  (And maybe I should stop extrapolating
>>> from zero information.)
>>> >
>>>
>>> I think these are all valid things to consider regarding the issue of
>>> consolidation and its relationship with the trust dynamic between a client
>>> and the rest of the ecosystem. I agree with Ben that aiming to minimise
>>> this pressure in the design of the protocol architecture is something that
>>> we can commit to in the charter. We can then better establish in future
>>> documentation exactly how this mitigation would work, and how concerns of
>>> the nature that Martin has surfaced interplay with each other. I also agree
>>> that making a concrete assertion about the type of signals that the
>>> protocol can provide (“is human” or otherwise) is going to be essential in
>>> being able to answer these questions.
>>>
>>> Alex
>>>
>>> --
>>> Privacy-pass mailing list
>>> Privacy-pass@ietf.org
>>> https://www.ietf.org/mailman/listinfo/privacy-pass
>>>
>> --
>> Privacy-pass mailing list
>> Privacy-pass@ietf.org
>> https://www.ietf.org/mailman/listinfo/privacy-pass
>>
> --
> Privacy-pass mailing list
> Privacy-pass@ietf.org
> https://www.ietf.org/mailman/listinfo/privacy-pass
>