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

Watson Ladd <watsonbladd@gmail.com> Mon, 09 December 2024 20:00 UTC

Return-Path: <watsonbladd@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 7B104C1DA2E0 for <oauth@ietfa.amsl.com>; Mon, 9 Dec 2024 12:00:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 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, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] 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 Es8NV_XajxJK for <oauth@ietfa.amsl.com>; Mon, 9 Dec 2024 12:00:49 -0800 (PST)
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) (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 26BBEC14F748 for <oauth@ietf.org>; Mon, 9 Dec 2024 12:00:49 -0800 (PST)
Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3862b40a6e0so1965375f8f.0 for <oauth@ietf.org>; Mon, 09 Dec 2024 12:00:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733774447; x=1734379247; darn=ietf.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=kTjGX95zYFFABRZ00Af54q38TPZ5NsaTiyAxC4Ex0wI=; b=AvJw2Iy6A/AOghS0TQHhiK77EgoTim9e4HcMU7/B/xmBQa7MXAxP72i5gAr5mHNy1M p4c2YrWxsOvSYsoCWNTyrb9KFxcfu37T5u/EoqRBvYfWKu3GCAJg/NdvZB0gsAihCGwv 5xNcfPmTr+ntqdsHcfBdqPfynL1Hfal7/ic2giAOEdqSmLeIvdkNwaXirxTG7Yx7uIJd 0RreuN5XmE1mGS7hNjCBoGQZVyRDxBZGYYjv76Ciqq9jAqe/upcQjdb9eTdPMuIPcIv7 rQmdvN4MymQ6HF2+3ekBSXbG2beECCbBSjsQd2PLW91rxez0BwU1SxqNappJrxv1Zims 6Hvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733774447; x=1734379247; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=kTjGX95zYFFABRZ00Af54q38TPZ5NsaTiyAxC4Ex0wI=; b=r5cVF4u2KzaDOmjhlDpixNtHGSvIui0hneLLoanhh6g829OyX/gaDoCx9azF8vC7cC q1pDnEcMVtvZMsFoM6WYuoKUB8cbaC+d3u+2DM6wWkkE/MTeI52H+8hRGuALg2lv9omd Y/9N6SqUMIhdXgfpkggWYnyF87sJWaBgXr9bSRmsdOaakz3yMBpk6t3rE4FFyw9c6vb1 4dcF9m/ROZQtRMm7M9P+3RXPvY1fMzX/+VmQrq7XyzwyBgO7IPgwRvVMd0pcxbjvvD+E g6e23yEDXiDXhckjTx9OsQayryXwDCnehCrxpf4G7aI36NIKDukvd/TxiTZH/vySGCK/ T3jw==
X-Gm-Message-State: AOJu0YxxFZEExtjKh2/rHCtSX0b8B2RnrmkMC6CgWZQxVMjSwTvBXvVc Zh5JA5/ZwESbLniTkvESyh/OTVJqlYy1VLB989yJ4V0I06de4HfXfaYenDLKgGon+ymxyJFDT5M IPrx6BmmADHkM6/11Uy2Zl1hvm1IGig==
X-Gm-Gg: ASbGnculg2r3AARGKrSR0hliSh/Vs3k6BCUCeSydVdogI2osy8so3Rrk1JB+K1mzhkd bc+F/Y8HRbSKzC4gNVNjgXJScZodlFkSQtjELGRGwoqO8YQ+9Ojok4j2nLHMcsoRI
X-Google-Smtp-Source: AGHT+IEF+QOcudWvYlfx2aKP2QkiFn/uNpeLZCAUHGe4BpnfgYvHLipn0qBFK0/7yuRKehGVQ+Bx5PUzfaLf4IO9IcM=
X-Received: by 2002:a05:6000:1446:b0:386:3357:2d9d with SMTP id ffacd0b85a97d-386453fecacmr1461482f8f.36.1733774446686; Mon, 09 Dec 2024 12:00:46 -0800 (PST)
MIME-Version: 1.0
From: Watson Ladd <watsonbladd@gmail.com>
Date: Mon, 09 Dec 2024 12:00:35 -0800
Message-ID: <CACsn0cn+2Fry97tBjCBFu_8gzJF8CuG-YqS6f4Q0iC_ZkQyWYA@mail.gmail.com>
To: IETF oauth WG <oauth@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Message-ID-Hash: BJGGXUM4UHDCBLYGZ5KULTOMAEJBROM5
X-Message-ID-Hash: BJGGXUM4UHDCBLYGZ5KULTOMAEJBROM5
X-MailFrom: watsonbladd@gmail.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
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [OAUTH-WG] Issuers, resolution, squatting, and the WebPKI
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/ho6D8dc_7GQgJxwycS7khTM9_qw>
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>

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