Re: [calsify] Secdir last call review of draft-ietf-calext-jscontact-vcard-06

Daniel Migault <mglt.ietf@gmail.com> Thu, 13 April 2023 13:42 UTC

Return-Path: <mglt.ietf@gmail.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5B35CC1522AF; Thu, 13 Apr 2023 06:42:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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 o3-NRMH3VvUX; Thu, 13 Apr 2023 06:42:48 -0700 (PDT)
Received: from mail-pg1-x52a.google.com (mail-pg1-x52a.google.com [IPv6:2607:f8b0:4864:20::52a]) (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 39261C151539; Thu, 13 Apr 2023 06:42:43 -0700 (PDT)
Received: by mail-pg1-x52a.google.com with SMTP id 129so7444241pgb.0; Thu, 13 Apr 2023 06:42:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681393362; x=1683985362; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=CQO7iEE2a7bX4C3Q5mgz0Q5lo9IoF7zwZ1aC71OC1D4=; b=Wv5mpkf+lA/IS+VdPba4y8MD1fHsUuwvc/LfCukwiem0J72xrESK1x6lNan53bD5gS LivHGBRoMQck2c1drY+/3gdv4aXzDeMbSQLEvYgYA2wzrrfW2G0kU2j9sIJPwO45XmNe 1lK99UdO/reaDUKLKuu/LiYxefw7CydJt2LpS53qKE1km9mcB2+Ky0BrNwC1+JLoqXIZ nAWms3KEOK6L9qw3oGNlNhZo7FMkOAOdN8wFCUGVbl00hqwVyat82wSv3XIJo3fAsVRW eDrb8BajO9tnpkYkWnlJXxS1+crerQI+kTU5qNo5ELy5hV3H9vTSbxfZKyjaEmrV8WIa mKEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681393362; x=1683985362; 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=CQO7iEE2a7bX4C3Q5mgz0Q5lo9IoF7zwZ1aC71OC1D4=; b=A+1nPzl1/c6yF4SiCx6LKjXiEn2NIiTOIifV0WcWaDlYrGPTc2wNM9mIBZ3z6me2qN C9Brx9g9Ce2RPPrmsFiJRC0caS8f+KGUYc332c+dzQKlNvCjUdpKYiEUZuL5/3Gmv54R VEOKhtotXAd6sEvgoxO1/aTwRCsNJJuYB4J2LEDYjRpEG2zuFU6pF2uOz3GyLV62Am5q KMHY/+EQ+ySK6Z3TfA9j9o1/Iynk+IV3wraF+OWZERtEzKShD89D6mUkxnQInxM9AYbo TE5WTOd4FXJyXEdkdEcSs8qXYnlPySDlr5gzdff+1/bb/9hXGMShBuDikGqqHdznBYcS D/RQ==
X-Gm-Message-State: AAQBX9fJfGLyeUykPPKJWRN+WfjCOVlGDdxSSwUdoAQuWJ7akUyGcS29 kZntWxb2dyJtqcFLjIm4rLKsbdhsGuk1zORQGOg=
X-Google-Smtp-Source: AKy350bitsAYsxyx/50KaE2xgk3jXKbcRgWZCRwwpeBCrVwN0I4GS6gmjzizoNdCAlWyOjFQ04OKYD7/ToY1se64Pw4=
X-Received: by 2002:a65:418d:0:b0:50a:c1c3:54ff with SMTP id a13-20020a65418d000000b0050ac1c354ffmr495907pgq.3.1681393361917; Thu, 13 Apr 2023 06:42:41 -0700 (PDT)
MIME-Version: 1.0
References: <167986110082.14310.6530423666606878056@ietfa.amsl.com>
In-Reply-To: <167986110082.14310.6530423666606878056@ietfa.amsl.com>
From: Daniel Migault <mglt.ietf@gmail.com>
Date: Thu, 13 Apr 2023 09:42:27 -0400
Message-ID: <CADZyTkmcm2DWsMdt9sTxCz=caSxE0AGJwA2gZrx+dyBPRqzJzg@mail.gmail.com>
To: Phillip Hallam-Baker <hallam@gmail.com>
Cc: secdir@ietf.org, IETF-Calsify <calsify@ietf.org>, draft-ietf-calext-jscontact-vcard.all@ietf.org, last-call@ietf.org
Content-Type: multipart/alternative; boundary="00000000000010a0ab05f937e684"
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/SBgUmjxTiatzuzl7TYTiyhufrcs>
Subject: Re: [calsify] Secdir last call review of draft-ietf-calext-jscontact-vcard-06
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Calendaring and Scheduling Standards Simplification <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Apr 2023 13:42:49 -0000

Thanks Phillip for this security review as always very complete. I just
want to clarify why the third party you request the contact information may
not be trustworthy. I am wondering if that  is because you actually are not
sure how the contact has been provisioned, or if there are any other
reasons. Typically, the information may not be registered by yourself,
not by the owner of the information - i.e. the contact -yourself or an app
that becomes rogue or later known as insecure.

I agree with Robert that significant effort has been spent to ensure the
conversion remains as smooth as  possible. My understanding is rather
partial or legacy implementation will remove information.

Exchanging this information in a trustworthy manner is not part of the data
model, but that does not hurt mentioning it.

Yours

On Sun, Mar 26, 2023, 16:05 Phillip Hallam-Baker via Datatracker <
noreply@ietf.org> wrote:

> Reviewer: Phillip Hallam-Baker
> Review result: Serious Issues
>
> This draft does not contain a substantive security considerations which is
> arguably OK insofar as it links to the main spec which does have one and
> addresses the issue of serialization/deserialization security adequately.
>
> The small problem is that the draft does not consider the question of
> generation loss when converting between formats repeatedly. Consider the
> case
> that Alice sends Bob's contact to Carol. We can imagine conversions from
> vCard
> to JSON and back and the result is not necessarily what was started with
> and in
> some cases this matters. The possibility that Carol ends up communicating
> with
> someone who is not Bob is always a consideration.
>
> The bigger problem is that neither draft considers the security role that
> contact exchanges play when the contacts contain public keys. And what is
> the
> value of a contact that does not? Very little in my view.
>
> The contacts catalogs/address book is in my view the overlooked control
> point
> for interoperable, end-to-end secure messaging. If Alice has Bob's contact
> information in her personal contacts catalog, she can communicate with him
> without the need to rely on any other party. If not, she is reliant on a
> third
> party which is always trustED but not always trustWORTHY.
>
> All I need to establish interoperable messaging with Alice is the ability
> to
> click on a link in my contacts catalog and have it spawn off the messaging
> application Alice uses whether that is Zoom, Signal, Skype or
> CALEA-Express.
>
> The drafts don't consider this dimension at all which is a problem because
> exchange of contact information carries an implicit authentication even if
> there is no cryptographic integrity or authentication means. If Alice
> gives Bob
> her contact information, Bob is going to assume it trustworthy and
> authentic
> regardless of whether the channel itself offers any security controls.
>
> One of the best arguments for creating a JSON format for contact
> information in
> my view is precisely so that they can be wrapped in a JSON-friendly envelop
> format such as JOSE or DARE. This is exactly what I plan to do, rather than
> specify my own contact information format, I simply define a contact
> assertion
> whose payload is a JSON contact. So if Alice and Bob meet in person, they
> can
> effect an authenticated contact exchange with a 2^240 work factor by means
> of a
> QR code exchange.
>
> Obviously, the security considerations section for THAT exchange needs to
> be
> considerably more comprehensive and consider the validation of credentials,
> yadda yadda because it is asserting a high assurance exchange. But even
> where
> no authentication etc. is considered, there must be a disclaimer to state
> that
> these questions have not been considered.
>
>
>