Re: [Tigress] threat model review

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Sat, 15 April 2023 23:00 UTC

Return-Path: <dkg@fifthhorseman.net>
X-Original-To: tigress@ietfa.amsl.com
Delivered-To: tigress@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C8D17C14CE4F for <tigress@ietfa.amsl.com>; Sat, 15 Apr 2023 16:00:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.303
X-Spam-Level:
X-Spam-Status: No, score=-1.303 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, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=fifthhorseman.net header.b="Hy2LRYte"; dkim=pass (2048-bit key) header.d=fifthhorseman.net header.b="2nyo1+r7"
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 wEVMc11a4t8R for <tigress@ietfa.amsl.com>; Sat, 15 Apr 2023 15:59:56 -0700 (PDT)
Received: from che.mayfirst.org (unknown [162.247.75.117]) (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 B466AC14CE4C for <tigress@ietf.org>; Sat, 15 Apr 2023 15:59:56 -0700 (PDT)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019; t=1681599594; h=from : to : cc : subject : in-reply-to : references : date : message-id : mime-version : content-type : content-transfer-encoding : from; bh=e556oFERAOWWUqbd1HvXuaJbT+S7gnXrn1/HBgSfDBg=; b=Hy2LRYteT885D5I/uNAQ7cNXduMNNpuO2srBDwQpnskUYeCviWQ8f6hvq8R3t+5lRTtt+ 2BpWqezr+7N/LlgAg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019rsa; t=1681599594; h=from : to : cc : subject : in-reply-to : references : date : message-id : mime-version : content-type : content-transfer-encoding : from; bh=e556oFERAOWWUqbd1HvXuaJbT+S7gnXrn1/HBgSfDBg=; b=2nyo1+r72mWCfQCbIlkyvXZptYUQgtU+G2v/ZQwOX1Yvmuxk9+8wc4b6yK3QE5MSDF22N 7zs1Mybrq3Dj4dFA+9jMVYG4tV8ObH+MRnUQcIDDmPZehzK5XYc+X2Ho8xViKq3L3v98+cH ObTME15BuL8pqW7c37GaPS+vVoVyEe2XGbIVuIDXyQldDBl3zidN7vt/lfJBaI13YK/DF49 u9UIzrpgn0DRfurwH8GfAYiiTOc5pOtaRo0NoGmrIG1x8uQWbnC/l7NGt3hxZWuK4sCbUpz 6q+0ots75yXC07haI0oaTPrzvz+CFBAlLoturHFXCDImlrPG47XMMo9A5ryQ==
Received: from fifthhorseman.net (lair.fifthhorseman.net [108.58.6.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id 666C9F9AD; Sat, 15 Apr 2023 18:59:54 -0400 (EDT)
Received: by fifthhorseman.net (Postfix, from userid 1000) id B443E2069E; Sat, 15 Apr 2023 16:52:54 -0400 (EDT)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: Yogesh Karandikar <ykarandikar@apple.com>, Eric Rescorla <ekr@rtfm.com>
Cc: tigress@ietf.org
In-Reply-To: <3703031F-AAFE-4C38-A2BA-5A0F6E7775B6@apple.com>
References: <mailman.34.1680634802.31520.tigress@ietf.org> <60D123F1-98B2-49A3-892C-9A3CCC7DFDD2@apple.com> <87v8i26ocr.fsf@fifthhorseman.net> <CABcZeBMgUp-7sqnHtN1RM6eh1nJQwK_0=pERyE2tacOC5DsO_g@mail.gmail.com> <3703031F-AAFE-4C38-A2BA-5A0F6E7775B6@apple.com>
Autocrypt: addr=dkg@fifthhorseman.net; prefer-encrypt=mutual; keydata= mDMEX+i03xYJKwYBBAHaRw8BAQdACA4xvL/xI5dHedcnkfViyq84doe8zFRid9jW7CC9XBiI0QQf FgoAgwWCX+i03wWJBZ+mAAMLCQcJEOCS6zpcoQ26RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl cXVvaWEtcGdwLm9yZ/tr8E9NA10HvcAVlSxnox6z62KXCInWjZaiBIlgX6O5AxUKCAKbAQIeARYh BMKfigwB81402BaqXOCS6zpcoQ26AADZHQD/Zx9nc3N2kj13AUsKMr/7zekBtgfSIGB3hRCU74Su G44A/34Yp6IAkndewLxb1WdRSokycnaCVyrk0nb4imeAYyoPtBc8ZGtnQGZpZnRoaG9yc2VtYW4u bmV0PojRBBMWCgCDBYJf6LTfBYkFn6YAAwsJBwkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3Rh dGlvbnMuc2VxdW9pYS1wZ3Aub3JnL0Gwxvypz2tu1IPG+yu1zPjkiZwpscsitwrVvzN3bbADFQoI ApsBAh4BFiEEwp+KDAHzXjTYFqpc4JLrOlyhDboAAPkXAP0Z29z7jW+YzLzPTQML4EQLMbkHOfU4 +s+ki81Czt0WqgD/SJ8RyrqDCtEP8+E4ZSR01ysKqh+MUAsTaJlzZjehiQ24MwRf6LTfFgkrBgEE AdpHDwEBB0DkKHOW2kmqfAK461+acQ49gc2Z6VoXMChRqobGP0ubb4kBiAQYFgoBOgWCX+i03wWJ BZ+mAAkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnfvo+ nHoxDwaLaJD8XZuXiaqBNZtIGXIypF1udBBRoc0CmwICHgG+oAQZFgoAbwWCX+i03wkQPp1xc3He VlxHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnaheiqE7Pfi3Atb3GGTw+ jFcBGOaobgzEJrhEuFpXREEWIQQttUkcnfDcj0MoY88+nXFzcd5WXAAAvrsBAIJ5sBg8Udocv25N stN/zWOiYpnjjvOjVMLH4fV3pWE1AP9T6hzHz7hRnAA8d01vqoxOlQ3O6cb/kFYAjqx3oMXSBhYh BMKfigwB81402BaqXOCS6zpcoQ26AADX7gD/b83VObe14xrNP8xcltRrBZF5OE1rQSPkMNy+eWpk eCwA/1hxiS8ZxL5/elNjXiWuHXEvUGnRoVj745Vl48sZPVYMuDgEX+i03xIKKwYBBAGXVQEFAQEH QIGex1WZbH6xhUBve5mblScGYU+Y8QJOomXH+rr5tMsMAwEICYjJBBgWCgB7BYJf6LTfBYkFn6YA CRDgkus6XKENukcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcEAx9vTD3b J0SXkhvcRcCr6uIDJwic3KFKxkH1m4QW0QKbDAIeARYhBMKfigwB81402BaqXOCS6zpcoQ26AAAX mwD8CWmukxwskU82RZLMk5fm1wCgMB5z8dA50KLw3rgsCykBAKg1w/Y7XpBS3SlXEegIg1K1e6dR fRxL7Z37WZXoH8AH
Date: Sat, 15 Apr 2023 16:52:54 -0400
Message-ID: <871qkkyijd.fsf@fifthhorseman.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tigress/nw8GplOuPTXnL25LKSosxnohpko>
Subject: Re: [Tigress] threat model review
X-BeenThere: tigress@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Transfer dIGital cREdentialS Securely <tigress.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tigress>, <mailto:tigress-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tigress/>
List-Post: <mailto:tigress@ietf.org>
List-Help: <mailto:tigress-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tigress>, <mailto:tigress-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 15 Apr 2023 23:00:01 -0000

Thanks for this further clarification, Yogesh.

Since we seem to be struggling with terms and definitions in this
thread, i'll ask a few more questions, as i'm still strugging with a
clear picture of the goals of this project.  I apologize if these are
already well understood here.

On Fri 2023-04-14 18:16:19 -0700, Yogesh Karandikar wrote:
> Digital Credential is defined in the requirements document as:
> Cryptographic material and other data used to authenticate the user
> with an access point

Do you mean "authenticate" or "authorize"?  Authentication is about
identity.  Authorization is about access.

The last time i checked into a hotel (they authenticated me at the
desk), i was given two RFID cards that were authorized to access (by
elevator) the floor of the hotel that the room was on, and the room
itself.

Had I handed one of those cards to someone else, i would have been
granting them *authorized* access without an *authenticating*
credential.  Just to make sure i'm understanding the terms right: the
"access point" is the elevator or the door in this case, right?

In my hotel, neither the elevator nor the door knows the identity of the
cardholder when i transfer the card to someone else.

If we explicitly define the credential transfer process as a process
that authenticates the recipient to the access point, that appears to
fix semantics in the protocol that would foreclose a common current
practice.

Is that intentional?

> As we discussed in the other email, it would be good to have common
> terminology across charter and all the documents.

Agreed.

> - Bob’s device needs to trust the url as a credential transfer url.

The word "trust" is a tricky one in this space, and common use of the
word is sometimes subtly opposed to the technical meaning.

It might help to be a little bit clearer here.  Which of these do you mean?

 a) Bob's device needs to be able to reliably assess whether the URL that
    initiates the Tigress process is in fact a credential transfer URL

 b) Bob's device must assume that the URL that initiates the Tigress process is
    a credential transfer URL, and he learns this in some unspecified
    out-of-band way; the protocol offers no way for him to prove it
    that it is correct.

(a) is i think closest to the "normal english" use of the term "trust".

(b) is the technical/security engineer use of the term "trust", as in
"trusted third party" or "trusted computing base".


Thinking about these questions also raises some additional concerns
about how TIGRESS plays with the rest of the ecosystem: Does Bob's
device needs to be able to reliably identify *in any non-TIGRESS
context* that the URLs seen are *not* credential transfer URLs?

Risky "magic URLs" in unexpected contexts can be seen, for example, in
the forwarded-bulk-email case:  Charlie receives a bulk e-mail that she
thinks Dave would be interested in, which has some links in it that she
doesn't know are unique to her (e.g. an unsubscribe link).  She forwards
the message without thinking to Dave, and Dave can then unsubscribe
Charlie from the distribution list.  Does TIGRESS need to consider this
scenario?

> - Bob’s device needs to know what type of credential is being
> transferred and if it supports that credential. If it does, which
> service or application (Car Key, Hotel Key, Apartment Key) should
> handle this credential transfer. Then fire up the right handler to
> complete the transfer.

What level of granularity do you imagine Tigress specifying here?
Should we be thinking about registering a new namespace that is
initially populated with generic classes like Car, Hotel, Apartment? or
is this more of a "each vendor is going to register their own "type", so
Bob can distinguish between, say, a Schlage or a Yale lock, or a Hyundai
from a Honda?

Are you envisioning a generic "unlocker" app (or OS utility) that can
use this protocol, or will i need to install distinct apps for my home
and my car, and then yet another new app for my friend's house when i
stay over, and a fourth one for the times when i drive my parent's car?

      --dkg