Re: [OAUTH-WG] [SPICE] OAuth Digital Credential Status Attestations (typo)

Tom Jones <thomasclinganjones@gmail.com> Thu, 18 January 2024 19:37 UTC

Return-Path: <thomasclinganjones@gmail.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 08C0AC1516E2; Thu, 18 Jan 2024 11:37:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.093
X-Spam-Level:
X-Spam-Status: No, score=-2.093 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_REMOTE_IMAGE=0.01, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 d3PS00SrfPH2; Thu, 18 Jan 2024 11:37:10 -0800 (PST)
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) (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 B2717C15154D; Thu, 18 Jan 2024 11:37:09 -0800 (PST)
Received: by mail-lj1-x233.google.com with SMTP id 38308e7fff4ca-2cd7ebdd489so129731fa.0; Thu, 18 Jan 2024 11:37:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705606628; x=1706211428; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=cGuJKjBrTNPAINDanC2EwOHiZ2rQjHk4J5RiYzUx0jA=; b=Z7CqGEio99af6ohdU7R5xKOUAcpiMtXNGvtcFsJC0j3KLZ6CR7dC0KN/cQL+lQjMT6 eqwz55SwquBieqF8yc5c7Zrr8NYRBHPdOalE0DQM8d9NZrG7v88bpShV0xYU+cbHSaZD QFNrSxDH+H3EvmUN6OiEQky+Ar8kqtddjFV1fC0frK06uQowpWXKdjguV3orHgBfANTA abdnnyg9enUosFuumllN46Gj3DL0gDLto3PUkBXZJv3pNeRJNvtCm8997o2NB7VXmMJ7 U0Fn9so4/FSgKvA0TTi8UvBhxr7swz8L6pS+nX2dLwSar0XbCCqtwwADjz3TvUr/qbxx pZHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705606628; x=1706211428; 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=cGuJKjBrTNPAINDanC2EwOHiZ2rQjHk4J5RiYzUx0jA=; b=gmqgAbnuuu4qiDta9nAbgUsqmP9vH3WD1x/8q50hRt9Gq+UB9S/y3ZKw1MCy9pR3bF iVzLRJXwN327b8wpJAgkSg3+urKWaMEq4vxCuFhlQBeRImplZ7hPIWSbtW2n7wMDUCGF hVHRL/S33mttbkCDvAROtZ4sYuxlJXs5QNTa6jRZws1zAm+pGeUhJVY/hTjRCG2/4mfh mtCBExa+2jV6kp4VLTTbZ1IldTmK8wxImBjzU5LB6jjWDdRkB6fKDSEZqnR2e1MgzsD7 o4rIi63NzG8qO4u9V/TKb4hi8lSqLVx6kmw+999F/TsNJHpoEOHGCKHEir/gks/ZJLFY C75g==
X-Gm-Message-State: AOJu0YxRezpMEtzasPnRUj87DHC7gGPdURjARVG6SXqVsBh3RuhDt1fK puRTCtqfW5xjG7z/Ty+ctWlbibKcJ4g0WKftyasZ9+NYhoZNpRrFZENvHP7xL/Zks4vDPM7gzfU BfWxW58VhkO5mH+Qq+bMnsyViI6w=
X-Google-Smtp-Source: AGHT+IHBtMHxd378mY3m5zVxUR2V1vu2F34Y6uIO+rFgbh1BgDdHXd7wqqEputiVBqx3TgRtlPyOniLDcMoWQ9dLrbU=
X-Received: by 2002:a2e:988f:0:b0:2cd:f76f:640d with SMTP id b15-20020a2e988f000000b002cdf76f640dmr80223ljj.2.1705606627574; Thu, 18 Jan 2024 11:37:07 -0800 (PST)
MIME-Version: 1.0
References: <CAN8C-_+5mSFAion-e4Ta6AZLVGadr7cdSWjw-UpnBvH9Z98ohw@mail.gmail.com> <05d901da4980$8c8021e0$a58065a0$@gmx.net> <CAP_qYy=Dh0wDJ1JwOkvLiRR==7ZJTH+oLtzSU=egho1L0===hQ@mail.gmail.com> <3a80e0ce-682e-e3c5-8f39-7f3731aa9c1f@free.fr> <a5a530c8-bf2d-1edb-8ba7-cb05b18ac151@free.fr> <CAK2Cwb49sNcpNS20i_At7WXaS34n2Ofz2BfTSpfFAQVoP7qr6g@mail.gmail.com> <AS8PR07MB7527C3A6706F4BC8D2C44F66AC712@AS8PR07MB7527.eurprd07.prod.outlook.com>
In-Reply-To: <AS8PR07MB7527C3A6706F4BC8D2C44F66AC712@AS8PR07MB7527.eurprd07.prod.outlook.com>
From: Tom Jones <thomasclinganjones@gmail.com>
Date: Thu, 18 Jan 2024 11:36:55 -0800
Message-ID: <CAK2Cwb6ZtsdOFMHVD3GEUahiCO0rMd8Rdf3r5xErv+uVz3+ung@mail.gmail.com>
To: Giuseppe De Marco <gi.demarco@innovazione.gov.it>
Cc: Denis <denis.ietf@free.fr>, demarcog83 <demarcog83@gmail.com>, "hannes.tschofenig=40gmx.net@dmarc.ietf.org" <hannes.tschofenig=40gmx.net@dmarc.ietf.org>, "spice@ietf.org" <spice@ietf.org>, Francesco Antonio Marino <fa.marino@ipzs.it>, oauth <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000029cd4a060f3d7dd3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/5yC5TjxRQ08ABfWJAmVV_WsVCWI>
Subject: Re: [OAUTH-WG] [SPICE] OAuth Digital Credential Status Attestations (typo)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth/>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Jan 2024 19:37:14 -0000

it is very presumptuous for you to tell the verifier what they must do.
Why do you think they will pay any attention to you?
Be the change you want to see in the world ..tom


On Thu, Jan 18, 2024 at 10:39 AM Giuseppe De Marco <
gi.demarco@innovazione.gov.it> wrote:

> Hi Tom,
>
> let's try to align ourself, then it will be more natural.
>
> The Verifier has the requirement to verify the validitiy of the
> presentations and verify that the credentials are still valid and then not
> revoked. This is the "what".
>
> The "how" can bring several solutions:
>
>
>    - OAuth Status List for realtime checks where the RP interacts
>    directly with the status list provider
>    - OAuth Status Attestation where the RP interacts  directly with the
>    wallet instance
>
>
> The flows above are definitely different, first of all the entities
> involved are different. Since the wallet instance must provide the
> presentation, it also adds the attestations about the non revocation of
> these, in a single shot. It works also in proxmity flow, where the Verifier
> doesn't have internet (since it can establish the trust with the wallet
> solution and the credential issuer just by having the public key of the
> Trust Anchor ... old story!).
>
> In terms of presentation request the RP would not add the status
> attestation in the presentation definition, if the credential carries the
> status.status_attestation object this is the element that gives to the RP
> the hint to looks in the vp_tokens for the status attestation.
>
> and they all lived happily ever after, please help me find some problem
>
>
> ------------------------------
> *Da:* Tom Jones <thomasclinganjones@gmail.com>
> *Inviato:* giovedì 18 gennaio 2024 18:43
> *A:* Denis <denis.ietf@free.fr>
> *Cc:* demarcog83 <demarcog83@gmail.com>; hannes.tschofenig=
> 40gmx.net@dmarc.ietf.org <hannes.tschofenig=40gmx.net@dmarc.ietf.org>;
> spice@ietf.org <spice@ietf.org>; Francesco Antonio Marino <
> fa.marino@ipzs.it>; Giuseppe De Marco <gi.demarco@innovazione.gov.it>;
> oauth <oauth@ietf.org>
> *Oggetto:* Re: [OAUTH-WG] [SPICE] OAuth Digital Credential Status
> Attestations (typo)
>
> Non si ricevono spesso messaggi di posta elettronica da
> thomasclinganjones@gmail.com. Informazioni sul perché è importante
> <https://aka.ms/LearnAboutSenderIdentification>
>
> The big problem is that standards bodies all over the spectrum are
> creating attestations without even bothering to see what is happening in
> other communities. The verifier will have many attestations to choose from
> and will thus choose to do nothing with any of them. Perhaps it is time to
> ask a verifier what problems they have instead of telling how to fix
> problems they don't have currently? If it is really this hard to get this
> new stuff to work, perhaps the new stuff is not well-designed to begin
> with? ..tom
>
>
> On Thu, Jan 18, 2024 at 1:27 AM Denis <denis.ietf@free.fr> wrote:
>
> Typo: Change: "proof *or* origin of wallet instance"
> into               : "proof * of* origin of wallet instance".
>
> The figure has been corrected below.
>
> Denis
>
> Hi Giuseppe,
>
> The current figure in the Introduction from
> draft-demarco-status-attestations-latest is:
>
> +-----------------+                             +-------------------+
> |                 | Requests Status Attestation |                   |
> |                 |---------------------------->|                   |
> | Wallet Instance |                             | Credential Issuer |
> |                 | Status Attestation          |                   |
> |                 |<----------------------------|                   |
> +-----------------+                             +-------------------+
>
>
> +-- ----------------+                             +----------+
> |                   | Presents credential and     |          |
> |  Wallet Instance  | Status Attestation          | Verifier |
> |                   |---------------------------->|          |
> +-------------------+                             +----------+
>
> IMO, using the vocabulary agreed during the last BoF video conference,
> this figure should be modified as follows:
>
>
> +------------+
> +-------------------+
> |            | Requests *Digital Credential*            |
> |
> |            | and presents proof of knowledge of     |
> |
> |            | either a private key or a link secret  |
> |
> |            | and proof *of* origin of wallet instance | Credential
> Issuer |
> |   Holder   |--------------------------------------->|
> |
> |            |                                        |
> |
> |            |    *Digital Credential*                  |
> |
> |            |<---------------------------------------|
> |
> +------------+
> +-------------------+
>
>
> +-- ---------+
> +-------------------+
> |            | Presents *Credential proof*              |
>        |
> |   Holder   |                                        |      Verifier
> |
> |            |--------------------------------------->|
> |
> +------------+
> +-------------------+
>
> Denis
>
>
> Hi Hannes,
>
> Thank you for your quick reaction and also to Orie for sharing.
> I've submitted the draft, here:
> https://datatracker.ietf.org/doc/draft-demarco-status-attestations/
>
>
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-demarco-status-attestations%2F&e=bcb9f84b&h=6cfb1966&f=n&p=y>
> Regarding the term Attestation: good point. We have decided to use this
> term since in several IETF and OpenID drafts this term seems pretty
> established, the term Attestation is found at least in the following
> specifications:
>   - Attestation based client-authentication (it's in the title)
>   - OpenID4VC High Assurance Interoperability Profile with SD-JWT VC
> (wallet attestation)
>   - OpenID for Verifiable Presentations - draft 20 (verifier attestation)
>   - OpenID for Verifiable Credential Issuance (section "Trust between
> Wallet and Issuer": Device Attestation)
>
> Meantime in the eIDAS Expert group this term is going to be changed to
> "Wallet Trust Evidence".
>
>
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-demarco-status-attestations%2F&e=bcb9f84b&h=6cfb1966&f=n&p=y>
> I don't have a strong opinion on what would be the best semantic for this,
> I just have realized the functional difference between a Digital Credential
> and an Attestation:
> the first requires the user to be authenticated and give consent for using
> the secure storage. The second is obtained with a machine2machine flow
> where no user interaction is required, the secure storage is not required,
> no user information is contained in it since the subject is the wallet
> instance and not the user, it cannot be (re)used without the cryptographic
> proof of possession. Probably a discussion could start about this term
> aiming to align several specifications on the same terminology. I could say
> that Status Attestation is a specific artifact defined for a specific
> context, other attestations can be defined outside the functional perimeter
> of this specification. Let's talk about it, it doesn't matters changing
> terms (eventually mindsets on perceivable meanings).
>
> Here I share some notes I picked along the last two months about this
> brand new individual draft:
>
> - it is related to digital credential only, I don't expect to use it in
> legacy infrastructure different from wallet. I really don't need this kind
> of mechanism in OIDC or any other traditional infrastructure since these
> doesn't show the privacy issues the wallet ecosystem has;
> - it would interesting mentioning in the introduction that's pratically an
> ocsp stapling like mechanism, just to give some context (credit: Paul
> Bastien);
> - The Rationale section needs to clarify better problems and solutions, where
> it seems that the problem does not exist or that it is weak. A review is
> necessary to clearly bring the benefits;
> - Editorials mistake are still along the reading.
>
> thank you for your time and interest,
> best
>
>
>
>
>
>
> Il giorno mer 17 gen 2024 alle ore 21:06 <hannes.tschofenig=
> 40gmx.net@dmarc.ietf.org> ha scritto:
>
> Hi Guiseppe, Francesco, Orie,
>
>
>
> @Orie: Thanks for sharing the draft.
>
>
>
> As a quick reaction: It would be good to invent a new term for
> “attestation” in draft-demarco-status-attestations.html because this term
> is already widely used in a different context (see RFC 9334).
>
>
>
> @Guiseppe and Francesco: It would be great if you could submit your draft
> to OAuth or SPICE for discussion.
>
>
>
> Ciao
>
> Hannes
>
>
>
>
>
> *From:* OAuth <oauth-bounces@ietf.org> *On Behalf Of *Orie Steele
> *Sent:* Mittwoch, 17. Jänner 2024 19:07
> *To:* spice@ietf.org
> *Cc:* oauth <oauth@ietf.org>
> *Subject:* [OAUTH-WG] OAuth Digital Credential Status Attestations
>
>
>
> Hello Digital Credential Enthusiasts,
>
> See:
> https://peppelinux.github.io/draft-demarco-status-attestations/draft-demarco-status-attestations.html
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fpeppelinux.github.io%2Fdraft-demarco-status-attestations%2Fdraft-demarco-status-attestations.html&e=bcb9f84b&h=09ac1782&f=n&p=y>
>
> Note the use of the term digital credential, and the alignment to CWT
> based credentials and CWT based credential status lists.
>
> As a quick summary of the editors draft above:
>
> It is basically a refresh-token-like approach to dynamic state, where the
> holder retrieves updated state from the issuer at regular intervals, and
> can then present that dynamic state directly to the verifier.
>
> This eliminates the herd privacy and phone home issues associated with W3C
> Bitstring Status Lists.
>
> And it informs the holder of dynamic state, so the digital wallet can
> provide a better user experience.
>
> However, an issuer (government or ngo) could use the interval of
> requesting dynamic state, to track the holder... so the guidance from
> https://datatracker.ietf.org/doc/draft-steele-spice-oblivious-credential-state/
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-steele-spice-oblivious-credential-state%2F&e=bcb9f84b&h=31ec3f83&f=n&p=y>
>
> Is also relevant to this draft.
>
> I also learned that
> https://datatracker.ietf.org/doc/draft-ietf-oauth-sd-jwt-vc/
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-ietf-oauth-sd-jwt-vc%2F&e=bcb9f84b&h=1dd20f32&f=n&p=y>
>
> Has defined a new property for expressing "Verifiable Credential" "type"
> `vct`, which is different from how W3C defines credential types.
>
> W3C uses the expanded IRI for the graph node type, based on the JSON-LD
> context.
>
> For example with:
>
> {
>   "@context": [
>     "https://www.w3.org/ns/credentials/v2
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fwww.w3.org%2Fns%2Fcredentials%2Fv2&e=bcb9f84b&h=f582aa55&f=n&p=y>
> ",
>     "https://www.w3.org/ns/credentials/examples/v2
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fwww.w3.org%2Fns%2Fcredentials%2Fexamples%2Fv2&e=bcb9f84b&h=09fd0c99&f=n&p=y>
> "
>   ],
>   "id": "http://university.example/credentials/1872
> <https://urlsand.esvalabs.com/?u=http%3A%2F%2Funiversity.example%2Fcredentials%2F1872&e=bcb9f84b&h=a4458b13&f=n&p=y>
> ",
>   "type": ["VerifiableCredential", "ExampleAlumniCredential"],
>   ...
> }
>
> The credential type in RDF becomes "
> https://www.w3.org/ns/credentials/examples#ExampleAlumniCredential
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fwww.w3.org%2Fns%2Fcredentials%2Fexamples%23ExampleAlumniCredential&e=bcb9f84b&h=d975b89f&f=n&p=y>
> "
>
> Which is different from "ExampleAlumniCredential" in JSON... More evidence
> that RDF leads to developer confusion regarding safe typing.
>
> The OAuth solution does not have this confusing issue, they set the type
> explicitly:
>
> {
>  "vct": "https://credentials.example.com/identity_credential
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fcredentials.example.com%2Fidentity_credential&e=bcb9f84b&h=4de83001&f=n&p=y>
> ",
>  "given_name": "John",
>  "family_name": "Doe",
>  "email": "johndoe@example.com",
>  "phone_number": "+1-202-555-0101",
>  "address": {
>    "street_address": "123 Main St",
>    "locality": "Anytown",
>    "region": "Anystate",
>    "country": "US"
>  },
>  "birthdate": "1940-01-01",
>  "is_over_18": true,
>  "is_over_21": true,
>  "is_over_65": true,
>  "status": {
>     "status_attestation": {
>         "credential_hash_alg": "S256",
>     }
>  }
> }
>
> Regards,
>
> OS
>
> --
>
>
>
>
> *ORIE STEELE *Chief Technology Officer
> www.transmute.industries
> <https://urlsand.esvalabs.com/?u=http%3A%2F%2Fwww.transmute.industries&e=bcb9f84b&h=5399df5d&f=n&p=y>
>
>
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Ftransmute.industries%2F&e=bcb9f84b&h=1f9092b6&f=n&p=y>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Foauth&e=bcb9f84b&h=b6441af9&f=n&p=y>
>
>
> _______________________________________________
> OAuth mailing listOAuth@ietf.orghttps://www.ietf.org/mailman/listinfo/oauth <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Foauth&e=bcb9f84b&h=b6441af9&f=n&p=y>
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
> <https://urlsand.esvalabs.com/?u=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Foauth&e=bcb9f84b&h=b6441af9&f=n&p=y>
>
>