[OAUTH-WG] Re: Issuers, resolution, squatting, and the WebPKI

Brian Campbell <bcampbell@pingidentity.com> Wed, 11 December 2024 22:57 UTC

Return-Path: <bcampbell@pingidentity.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 F2493C1D4CCC for <oauth@ietfa.amsl.com>; Wed, 11 Dec 2024 14:57:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.103
X-Spam-Level:
X-Spam-Status: No, score=-2.103 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, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=pingidentity.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 xa1Q3b-L3IGO for <oauth@ietfa.amsl.com>; Wed, 11 Dec 2024 14:57:00 -0800 (PST)
Received: from mail-vk1-xa2f.google.com (mail-vk1-xa2f.google.com [IPv6:2607:f8b0:4864:20::a2f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 32414C1CAF43 for <oauth@ietf.org>; Wed, 11 Dec 2024 14:57:00 -0800 (PST)
Received: by mail-vk1-xa2f.google.com with SMTP id 71dfb90a1353d-51873bc7377so1141615e0c.1 for <oauth@ietf.org>; Wed, 11 Dec 2024 14:57:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pingidentity.com; s=google; t=1733957819; x=1734562619; 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=kmybg5hOhvna383csi7YJotu1fywvZd8KfcfwY0I/+M=; b=cngjeaAlH0ADqUmhWQ2QjJGfdQH+vUDpJL6/RC4NAUBdoT8w6H9LdiC0uc5O99J8L+ cATbuqlkzlAmHFxv+pNegkc98JN09tz35wHT8QEsTrPTYbWCAxndfkA4BTH8gCvEpM1B rGN31gXr9+M4ATu48V5fWssRS5xXZgz2E45oKUvx6NmJuS8OK73TOa0QcXWwUpXYHkT2 H5ulmosOH27hSCNCHj75SBa5S/HBsmKgExUENRvyxg6QoWxPdXFVuxVxkfNK1d8FIb5d QwA48NZLC8QAfIC2v6rlofAIkRy87NSKDdjNlIxhi4n+DVEWK1TN1/X3x27k3Py1XMqn PT6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733957819; x=1734562619; 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=kmybg5hOhvna383csi7YJotu1fywvZd8KfcfwY0I/+M=; b=rqfHHxoWvl+TTQmNggnU0mEn4mq69MaIN56+IS/R1quGK7wbxU1BQK0Mi3Qi78c4oM bhT/tv2hHTainwjPGbpPkbJcWr7EDBBugSlsgbuFOCvgdWnxFw7NFcvp3PCMNJhq+2Lu N3Q8WTVJupTRTwgUvabw73TnbJH5p7DCs/JGulbImcXXDcV7Ju9wv7hP429Ag+tRsnwr sIlS/fs8oXxgrgaxnnncWXGI5RgepY+R6WhoaEikWgeeeRqJoDNnjqwURfVU7mmV8Pf9 z6jPVIjLy39kpVNvGieIDMolzg5CWy6flBM0YiWU+T7PLY5UWsYNSuMHm7HFQGOEV3/h 0OsA==
X-Gm-Message-State: AOJu0YwOJMEUUclMM9QpPPWl6uNmCD2/OMiq31Pms/RNo0vhLcOI8ojC 85qhmDH/AfEuJhmSvJlGYpoKFIJLlfvxZ1LIsjelUA+1qrC5eMKRx+/ZdrWkiC1jWOSEGEM6hXQ DWR7IT2d4Jc2KsqysAiopegGAveylcAFM8FeMH9oXZFOZLqpWuY4vi7uRzGZmJuUKFqTZ84R+AG u1P+yITUERjA==
X-Gm-Gg: ASbGncs89TTWfSJtXxOLkckKv3zXHtCaJKJRlUJKEYnYINMOwodp/RAw290/GBkLao/ 2qyJau2y6JL5ZhL+UDhSDS6EuM1m2kHYtG0HO
X-Google-Smtp-Source: AGHT+IEcDRsZJOHA9EXLYzslj6dH2/aEoI+8PbqIDWafmZgVxnBnLckoUjXuDaPtnxWbffmFHN0adjPcE6dYBbsn3/o=
X-Received: by 2002:a05:6122:4882:b0:518:8753:34a6 with SMTP id 71dfb90a1353d-518b5e01392mr1219548e0c.10.1733957818852; Wed, 11 Dec 2024 14:56:58 -0800 (PST)
MIME-Version: 1.0
References: <CACsn0cn+2Fry97tBjCBFu_8gzJF8CuG-YqS6f4Q0iC_ZkQyWYA@mail.gmail.com>
In-Reply-To: <CACsn0cn+2Fry97tBjCBFu_8gzJF8CuG-YqS6f4Q0iC_ZkQyWYA@mail.gmail.com>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Wed, 11 Dec 2024 15:56:33 -0700
Message-ID: <CA+k3eCQf6RAOuaV7+0pCaGjCLWEAsQVmkF3Sy6UP1fYfuDWosQ@mail.gmail.com>
To: Watson Ladd <watsonbladd@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000d94d130629068355"
Message-ID-Hash: WTU53455DB5IMSHPPHADKYNXSIJC6YWE
X-Message-ID-Hash: WTU53455DB5IMSHPPHADKYNXSIJC6YWE
X-MailFrom: bcampbell@pingidentity.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-oauth.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: IETF oauth WG <oauth@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [OAUTH-WG] Re: Issuers, resolution, squatting, and the WebPKI
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/xf50WO2hZa4fbkNH4MMkAPhaD24>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Owner: <mailto:oauth-owner@ietf.org>
List-Post: <mailto:oauth@ietf.org>
List-Subscribe: <mailto:oauth-join@ietf.org>
List-Unsubscribe: <mailto:oauth-leave@ietf.org>

Thanks Watson,

I'm trying to synthesize this in my own thinking. So please tell me if I'm
off base. Effectively one manifestation of this is as a problem is a
verifier, which only uses an https issuer value to find issuer metadata and
key(s), that is checking a credential from an issuer who has embedded a
certificate in an x5c header.  Then at some point the issuer loses control
of the domain for whatever reason and it's registered by a malicious actor
who posts their own keys there and proceeds to forge credentials that would
be acceptable to such a verifier.

Does that track with what you're driving at?

There's likely a number of ways to tighten this up, one being some kind of
explicit indicator of the intended resolution mechanism(s) in the
credential itself. I think a couple of people mentioned that during the
call. I'm not sure I'm convinced of that yet but maybe. Seems like it might
just be pushing some pieces around. But maybe. As you say, it does suggest
that something more needs to be said about what the root(s) of trust look
like.

I mentioned OpenID Connect (maybe someone else did too) but it was to say
that it has an https URL issuer style key resolution mechanism but that
it's the only mechanism there so doesn't encounter the same challenges we
seem to be facing here.



On Mon, Dec 9, 2024 at 1:01 PM Watson Ladd <watsonbladd@gmail.com> wrote:

> As I remarked in the chatter on the meeting today, and at the mike
> there's a bunch of complexity with issuers and resolution. Some of
> this is practical issues of how a verifier knows which resolution
> method to support, but there is some security content.
>
> Let's say the iss field has the value "example.com", and Example
> Issuance Inc is issuing credentials.  This can be interpreted several
> different ways
> - As a DNSName to check in X509
> - As a HTTPS URL to find issuer metadata
> - Potentially some other system that could resolve to an issuer.
>
> Now let's say a verfier is configured to trust credentials with iss
> field "example.com". Is this correct and secure? No: it depends on the
> resolution algorithm and crucially how the supported ones interact
> with what the issuer does to protect the namespace.
> - If a DNSName it's checked in a cert. It can also be a URL and get
> checked, so it's very ambiguous.
> - If as an HTTPS URL, but Example Issuance Inc. only really worries
> about X509 because that's what they issue with, then we could have a
> problem. Think of sites with subsites with vanity URLs for the class
> of issue. I seem to recall there was an ACME challenge that ran into
> this long ago.
> - Some other system might let anyone claim "example.com". Issuers in
> this other system are protected and secure as they registered their
> names and maintain them, but not ones who don't know about it.
>
> I hope this clarifies some of the issues that I've begun to think
> about. I think we need to explicitly say what the roots of trust look
> like: are they just values of the iss tag, or are they that plus some
> additional configuration? I know someone mentioned OpenID had a
> similar struggle: perhaps more can be said in reply.
>
> Sincerely,
> Watson
>
> --
> Astra mortemque praestare gradatim
>
> _______________________________________________
> OAuth mailing list -- oauth@ietf.org
> To unsubscribe send an email to oauth-leave@ietf.org
>

-- 
_CONFIDENTIALITY NOTICE: This email may contain confidential and privileged 
material for the sole use of the intended recipient(s). Any review, use, 
distribution or disclosure by others is strictly prohibited.  If you have 
received this communication in error, please notify the sender immediately 
by e-mail and delete the message and any file attachments from your 
computer. Thank you._