Re: [openpgp] Overhauling User IDs / Standardizing User Attributes

Leo Gaspard <ietf@leo.gaspard.ninja> Sat, 30 June 2018 12:34 UTC

Return-Path: <ietf@leo.gaspard.ninja>
X-Original-To: openpgp@ietfa.amsl.com
Delivered-To: openpgp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E38621310B7 for <openpgp@ietfa.amsl.com>; Sat, 30 Jun 2018 05:34:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=leo.gaspard.ninja
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 wDYtdqdd2vxY for <openpgp@ietfa.amsl.com>; Sat, 30 Jun 2018 05:34:49 -0700 (PDT)
Received: from smtp.gaspard.ninja (grym.ekleog.org [94.23.42.210]) (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 95202130DFA for <openpgp@ietf.org>; Sat, 30 Jun 2018 05:34:48 -0700 (PDT)
Received: by smtp.gaspard.ninja (OpenSMTPD) with ESMTP id 01292e8e for <openpgp@ietf.org>; Sat, 30 Jun 2018 12:34:44 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=leo.gaspard.ninja; h=subject:to:references:from:message-id:date:mime-version :in-reply-to:content-type:content-transfer-encoding; s= grym-20170528; bh=GKMl41qV2rWVrTX5M2Nzb79YraA=; b=FIfvgt+HCNfqFf bUNppXo8wiHJ9uUZUlsxncit2tPd5aciuLov7UkYWesJ9JSawHcs43UAtjtgWtFA u1SlzW5W/dZUfQWWDpghtvcWOpoRCTWz34dIwzXlixT7VDvsOPXDkZw94DA67kM8 EbH5QiPTdDR9e7wsXSHTMJOftxlyw=
Received: by smtp.gaspard.ninja (OpenSMTPD) with ESMTPSA id 9317a2fb (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128:NO) for <openpgp@ietf.org>; Sat, 30 Jun 2018 12:34:44 +0000 (UTC)
To: openpgp@ietf.org
References: <39e598e1-2bc0-32c9-3489-4bb6ca2a631b@leo.gaspard.ninja> <871sdw24yd.wl-neal@walfield.org> <c2e6bbe7-0694-8193-bb76-dd50fde7d967@leo.gaspard.ninja> <d28d8f8b-b261-eb29-97bc-9c7159a62ce6@leo.gaspard.ninja> <118e5b9d-de9e-aa14-d8b4-19ef259f3d0a@ruhr-uni-bochum.de> <e63924fe-95b2-dcf8-5726-b0497945ac74@leo.gaspard.ninja> <f31349e2-e509-4e06-6db5-2ff0ffb213a5@ruhr-uni-bochum.de> <3996841a-b6ae-8769-2de8-b35351c54719@leo.gaspard.ninja> <8E4410C7-9370-492C-838F-857983CA67FC@icloud.com> <8a608b9f-f96b-466d-a0b8-7d1aa39ab011@leo.gaspard.ninja> <D3567617-4B9B-4BFE-AC39-11B0BEBB0B6B@icloud.com> <1cacc056-1ec7-f388-ee08-46468bd87bda@metacode.biz> <bae4a6ec-36b5-6837-0b88-d009de139111@leo.gaspard.ninja> <b0c2b13b-e0ec-7d39-fd6c-f1742cf5860d@metacode.biz>
From: Leo Gaspard <ietf@leo.gaspard.ninja>
Message-ID: <db6dec1a-e9de-2cd2-3dd7-473ad93dbbd3@leo.gaspard.ninja>
Date: Sat, 30 Jun 2018 21:34:37 +0900
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0
MIME-Version: 1.0
In-Reply-To: <b0c2b13b-e0ec-7d39-fd6c-f1742cf5860d@metacode.biz>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/2Mf-ma-M3NBpQgSzoaCmLRJ2WGo>
Subject: Re: [openpgp] Overhauling User IDs / Standardizing User Attributes
X-BeenThere: openpgp@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: "Ongoing discussion of OpenPGP issues." <openpgp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/openpgp>, <mailto:openpgp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/openpgp/>
List-Post: <mailto:openpgp@ietf.org>
List-Help: <mailto:openpgp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/openpgp>, <mailto:openpgp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 30 Jun 2018 12:34:52 -0000

On 06/29/2018 09:55 PM, Wiktor Kwapisiewicz wrote:
>> Well, User IDs are not easier to work with than User Attributes.
> 
> Leo by "are not easier to work with" did you mean "User Attributes
> *could be* as easy to work with as UIDs" if you proposal was accepted
> *and* supported by most OpenPGP software?

I should have said “User IDs are not easier to work with than specified
User Attributes”, indeed. The fact that the only specified User
Attribute is a picture User Attribute, that has little use, is something
that contributes to the bad reputation of User Attributes.

But User IDs are (binary representation aside) exactly like a User
Attribute with type -1 that would be defined as “any UTF-8 string that
more or less represents the user”. Once reworded this way, would you
still oppose the addition of more well-defined attributes? (NB: this
would be for v5 keys, so software would have to be updated anyway, and
adding a basic representation for a few UTF-8 User Attributes doesn't
sound like the biggest change in the game -- though if User IDs were
removed too, as I'd love, then this may be the biggest change, at least
for the UI side)

All I'm saying is: we should not be wary of defining User Attributes.
It's a woefully underused part of the standard, and the fact it's so
underused (and specified for a single almost-useless purpose) makes
people fear using them.

> I think the difference is quite significant (by what is working now vs
> hypothetical future).
> 
> If you mean they are easy to work with now do tell me what's that
> attribute for that I've got on my key
> (0x653909A2F0E37C106F5FAF546C8857E0D8E8F074):
> 
>   uid  [ultimate] Wiktor Kwapisiewicz <wiktor@metacode.biz>
>   uid  [ultimate] [unknown attribute of size 83]
> 
> I had a lot of questions about this attribute from other people, so it's
> not like attributes are currently "easy to work with" in my opinion.

Well, using unspecified User Attributes will get you a lot of questions
indeed. But if you started putting packets with unspecified tags on your
key you likely would break a number of tools too, that doesn't mean
packets aren't easy to work with :)

BTW, it appears to contain

openpgpid+cookie:@https://gist.github.com/wiktor-k/389d589dd19250e1f9a42bc3d5d40c16
This is a typical example of something that would deserve a *specified*
User Attribute, like
    github=wiktor-k (with type “free-form tag=value” and notation
“automated-verification-gist=389d589dd19250e1f9a42bc3d5d40c16”)

Which would display neatly on platforms that support the very simple
type=“free-form tag=value” User Attribute I'm proposing (it's UTF-8),
and be quite easy-to-understand to the end-user seeing this if there is
no support in their software for the specific “github” tag (at least
more than the openpgpid+cookie URL).

Actually the “free-form tag=value” is really the most important type of
User Attribute I'm putting forward: it is a building block that is
enough for almost all other purposes, but that cannot be replicated
using only what we currently have without awful hacks (eg. storing
type=value directly in the User ID field, which is the “least bad”
option with RFC4880 as it is currently defined).