Re: [Privacy-pass] Issuer directory representation (#369)

Christopher Wood <caw@heapingbits.net> Fri, 16 June 2023 17:07 UTC

Return-Path: <caw@heapingbits.net>
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 C62B8C14CF1F for <privacy-pass@ietfa.amsl.com>; Fri, 16 Jun 2023 10:07:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.905
X-Spam-Level:
X-Spam-Status: No, score=-1.905 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, MIME_HTML_ONLY=0.1, MIME_HTML_ONLY_MULTI=0.001, MIME_QP_LONG_LINE=0.001, MPART_ALT_DIFF=0.79, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=heapingbits.net header.b="D6fzYgdY"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="UIx+1BzW"
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 4aJdetqmxTt9 for <privacy-pass@ietfa.amsl.com>; Fri, 16 Jun 2023 10:07:43 -0700 (PDT)
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 30FA6C151075 for <privacy-pass@ietf.org>; Fri, 16 Jun 2023 10:07:42 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id F2A2F320070D; Fri, 16 Jun 2023 13:07:39 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Fri, 16 Jun 2023 13:07:40 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heapingbits.net; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to; s=fm2; t=1686935259; x=1687021659; bh=drfTNjtP6fCwpvk+ANAGgsFrY e1b59sH4lhq1rbY5fI=; b=D6fzYgdYZFBQqOs6AhtxHxX9B0Usuw+E05TGgoloR ExTqMOZtCdaqtKDbslvkiaNmpcrSKcq06sg4b3axqH27t9OLmH09zxeXoZY1bTeb OEAZxIkUKprMc1M7nHseJZ7/+Nx2XrU8fYPvF5lOhNyxFarY+gZP1rCznlyhfwmk 5C3OfivJ5w+94zbnoV8t5/N/7bMUZc87gWRSOgL7DoNxlXiqu1IHc9JINDh19Og5 6ojhocej6vb81fW8avIjmqjK4i8oUpi1c4d0ncRJUqcmfkanvh2fK2A2W/2dm1SH /idu8OY8VZOVryctxUaYXD4RvluTmgAPrRns+U7z8oW8A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1686935259; x=1687021659; bh=drfTNjtP6fCwpvk+ANAGgsFrYe1b59sH4lh q1rbY5fI=; b=UIx+1BzWvAuit6TE1iX2xbEDwsA6xumqVGdV5w4R3T8BUkFfeX9 CSLIVIFWymYcSKILoI56CWfjvzylFtIpkqWra8DbpS0rVIJ3DcwSTbKPb6ThMDzc kqAJtPJqaEEiK6tiyLrhmE9rhuWtgSrHPP+nFkm05g4Rf2k7y4vMcwo4sPVHAg4r 0UQbXjzwyRg0XH97co9wZuFFP3w8ZID50/LQYdhNitTXNnNcsROe6uUQaPDDcwZ+ NHezQkNm97MswBP3Q0A5I6Dy18R5gjjfdChUw3lY1U/2hhcAZJiMQVg6szfnMg3l uVYl+C/I72WSX8q7mSFGVNp+dU8K1lm7B8g==
X-ME-Sender: <xms:25aMZMTlJwg76fH8kf0Psggx-7FuMPcryQz9aE0txFa8kgzM8jMx8Q> <xme:25aMZJwIEWJUFJYs2K1GIdofVbr7Adx3eIy2qZPwQ6AWRuva_-2UJZemp1GcuApCh jbsxNftOi2lvM6da7Y>
X-ME-Received: <xmr:25aMZJ0qLT45oHzOgmwXEJfVgwiUXOxhXn8v0-qEI_ApfaQFkfsWZIokf7gBvuuQRYzK_bd3BNfGtJLiPtWMc42PbOtrWzPKDSyPt338cmCb3TwLsCW2SQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgedvgedguddtlecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enqfhnlhihuchonhgvuchprghrthculdehuddmnecujfgurheptgfghfggufffkfhfvegj vffosegrjehmrehhtdejnecuhfhrohhmpeevhhhrihhsthhophhhvghrucghohhougcuoe gtrgifsehhvggrphhinhhgsghithhsrdhnvghtqeenucggtffrrghtthgvrhhnpeektdff ieffgffhieefjeevvdeuieevkeelffejleehveffgefhfeevfeelfeffgeenucffohhmrg hinhepihgvthhfrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehm rghilhhfrhhomheptggrfieshhgvrghpihhnghgsihhtshdrnhgvth
X-ME-Proxy: <xmx:25aMZACfI8EP0WHlYTCr0NmkO_LqXgfPu88LXTvwMsAyEHYlZEjVPA> <xmx:25aMZFh3SA2t0qdAD2wHGVBDeqlz2TDaL3AzSNLrYkec0pAIDWP9jg> <xmx:25aMZMp8GpkrShEIsZ7wz9E0L0FpQDvmeE6aFZif9WDeAibr1eA52g> <xmx:25aMZIsX-lyZLqIucuO9el73fRzXyuvPqSeAUF396-5YmA6zkaeXPQ>
Feedback-ID: i2f494406:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 16 Jun 2023 13:07:38 -0400 (EDT)
Content-Type: multipart/alternative; boundary="Apple-Mail-821A2CF4-B9EB-4FBC-BB96-E4403F185DC9"
Content-Transfer-Encoding: 7bit
From: Christopher Wood <caw@heapingbits.net>
Mime-Version: 1.0 (1.0)
Date: Fri, 16 Jun 2023 13:07:28 -0400
Message-Id: <1C7185E0-3B61-4C66-9992-76A2DF1A0CA1@heapingbits.net>
References: <CAL12FVFcKDvqQ359EUVpirKEto7ZQzX6V+xeeB3wixQcVY6f3w@mail.gmail.com>
Cc: Tommy Pauly <tpauly@apple.com>, Eli-Shaoul Khedouri <eli=40intuitionmachines.com@dmarc.ietf.org>, privacy-pass@ietf.org
In-Reply-To: <CAL12FVFcKDvqQ359EUVpirKEto7ZQzX6V+xeeB3wixQcVY6f3w@mail.gmail.com>
To: Colin Bendell <colin@bendell.ca>
X-Mailer: iPhone Mail (20F66)
Archived-At: <https://mailarchive.ietf.org/arch/msg/privacy-pass/Vcev8uapRy9LHJ1PSv_7LoKIffw>
Subject: Re: [Privacy-pass] Issuer directory representation (#369)
X-BeenThere: privacy-pass@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Privacy Pass Protocol <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: Fri, 16 Jun 2023 17:07:47 -0000


On Jun 16, 2023, at 12:58 PM, Colin Bendell <colin@bendell.ca> wrote:



On Thu, 15 Jun 2023 at 19:28, Christopher Wood <caw@heapingbits.net> wrote:
To hopefully close the loop in this, I put together this PR that conceptually lifts the concept of key commitments from PSTs into the current Privacy Pass issuer directory:

I initiated this thread after contrasting the similar key-sets exposed forPrivacyPass and Private-State-Tokens. As an outsider here, I'd like to see PrivacyPass expand the set of tokens so that PST can remove the definition from the W3C spec and depend exclusively on the PrivacyPass definition. To this end, the issuer directory should also include:
* expiry
* batch-size
* key-id / version

I think expiry information can be inferred from the resource’s cache control directives, and version is implied from the list of keys in the directory. That leaves key ID and batch size. The former is computed directly from the public key, so we don’t need to redundantly include it. The latter could be included as an optional parameter for issuance protocols that want to communicate this hint to the client. That parameter could even be included in the batch token issuance spec (https://datatracker.ietf.org/doc/draft-robert-privacypass-batched-tokens/" rel="nofollow">https://datatracker.ietf.org/doc/draft-robert-privacypass-batched-tokens/). 

So altogether I think we’re covered?

Best,
Chris 


Expiration is important for PST because it is used by the UA to select from a set of possible keys. HTTP Cache-Control does not serve the same function as a certificate expiration. The cache-control header reflects the ttl of the directory, but the expiration for each public key. If we were to use HTTP cache policies, all public keys would be treated as if they had the same expiration. 

Batch-Size is interesting for VOPRF workflows where the issuance request includes multiple nonces. In this case the compute work for the issue request needs to be known apriori. Can the issuer handle 1 or 10 or 100 token batches?

key-id or version is not needed for the protocol, but as a dev ergonomics it is nice to have a common implementation. Is it called 'version' or 'id' or 'key-id'?
 
I think we can pursue alternative representations separately.

Sounds good. 

/colin