Re: [stir] I-D Action: draft-ietf-stir-passport-rcd-15.txt

Chris Wendt <chris-ietf@chriswendt.net> Tue, 19 April 2022 18:33 UTC

Return-Path: <chris-ietf@chriswendt.net>
X-Original-To: stir@ietfa.amsl.com
Delivered-To: stir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6002E3A0910 for <stir@ietfa.amsl.com>; Tue, 19 Apr 2022 11:33:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.906
X-Spam-Level:
X-Spam-Status: No, score=-6.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=chriswendt-net.20210112.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kI2vJlIUsBhR for <stir@ietfa.amsl.com>; Tue, 19 Apr 2022 11:33:18 -0700 (PDT)
Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com [IPv6:2607:f8b0:4864:20::829]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1F9123A08FC for <stir@ietf.org>; Tue, 19 Apr 2022 11:33:18 -0700 (PDT)
Received: by mail-qt1-x829.google.com with SMTP id fu34so4219942qtb.8 for <stir@ietf.org>; Tue, 19 Apr 2022 11:33:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chriswendt-net.20210112.gappssmtp.com; s=20210112; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=+BZGgtMhAWIU7yJOxuSnOYqNBbKe2xEzc9/sNxf5W+Y=; b=JzjztNI5eGCiVCs5iBX4b7o+wO0nG5sAh33A1oQbYP1WZvQMmVlcnoUWL/i6jeh5g/ Sbbp6mJs8pM1Lv+Ek+i1YL+H83vptK/SzP2pSoEYelbXYKoO4A2bKJ5ucxcURAyPP2TW Hqtb5CCMwR78n0uvAVclAlYQHW1o2cDvltraD6bpPjrXkseYQZ7G6DcwH1mAJtUZzCfw 4iU+l2QzonNDM2rzBcmM0FkiKgi/jbH1pil0r7/IaCRgVmIwpMECAvabxA5TbuTczq7I cnP/ILLkP5WhHl64V4n+YvNxdXffXEPTUZv0+fZrJQd3/zwh5hZ4ji29SGG7QbMec1KY ySdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=+BZGgtMhAWIU7yJOxuSnOYqNBbKe2xEzc9/sNxf5W+Y=; b=0kAPj2bLSJjVk0qTnYIjrE471Ws08utkzIAZ3lZbkrDfBmAXMw+/DqkvoX2ZZw3R0b jofavKTBIHEwsOEcsTZzJEEBWPPFQipuxvPpZK4yqL9QCJMfFHjuMqQ5vHArvI8oNNPX FE2cU2A5ixBc2Fop/JZKN6oe/wB/zcoPnrpNhTD/z7grteCJwC3kHJibYaBb3R6BdBmi WeHh6Rx+kZJw1D4SKDY75q3ZLiQMB+og39XSVl4I8xV8BYjEVBis2Oko8bCr1nn6l/YN FLK32cVC2LuqnXSYPixeMrt2u86IsrH196lZqkP77vF7shBiU8OSTGtJ7I8VVYsoOPEc wbXA==
X-Gm-Message-State: AOAM533rEcu3JbSRUWLKmVWMoD+XuEoTolB1p4tS2MSYdDRSWV+3wK0x M/UOqd8nxKrQbXCMVElGfPOfmkoZAMNUUf3/
X-Google-Smtp-Source: ABdhPJzkMhcuJrq6icK/eQcJobkt5yiapZaEgNcyytM9Ip5bdz4HEJh5O5oja6k1o2Qr0SWxkyP+kQ==
X-Received: by 2002:a05:622a:1212:b0:2f1:fdbe:4b39 with SMTP id y18-20020a05622a121200b002f1fdbe4b39mr7550306qtx.115.1650393196627; Tue, 19 Apr 2022 11:33:16 -0700 (PDT)
Received: from smtpclient.apple (static-71-185-246-14.phlapa.fios.verizon.net. [71.185.246.14]) by smtp.gmail.com with ESMTPSA id n81-20020a37a454000000b0069e66f8a905sm370435qke.17.2022.04.19.11.33.15 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Apr 2022 11:33:16 -0700 (PDT)
From: Chris Wendt <chris-ietf@chriswendt.net>
Message-Id: <D6282D32-1187-47A2-B1CD-CF5E269A96D3@chriswendt.net>
Content-Type: multipart/alternative; boundary="Apple-Mail=_EF55E441-4DD2-4A3F-8413-209E4AB34D70"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\))
Date: Tue, 19 Apr 2022 14:33:15 -0400
In-Reply-To: <AM5PR83MB0355EEAD40D7BDAD596EB9B5880A9@AM5PR83MB0355.EURPRD83.prod.outlook.com>
Cc: IETF STIR Mail List <stir@ietf.org>
To: Jack Rickard <jack.rickard@microsoft.com>
References: <AM5PR83MB0355EEAD40D7BDAD596EB9B5880A9@AM5PR83MB0355.EURPRD83.prod.outlook.com>
X-Mailer: Apple Mail (2.3696.80.82.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/stir/E4sGLv1wum-e1xzDYx72PF4BYes>
Subject: Re: [stir] I-D Action: draft-ietf-stir-passport-rcd-15.txt
X-BeenThere: stir@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Secure Telephone Identity Revisited <stir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/stir>, <mailto:stir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/stir/>
List-Post: <mailto:stir@ietf.org>
List-Help: <mailto:stir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/stir>, <mailto:stir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 19 Apr 2022 18:33:24 -0000

Hi Jack,

Thanks for the comments/fixes details inline:

> On Mar 9, 2022, at 1:44 PM, Jack Rickard <jack.rickard@microsoft.com> wrote:
> 
> Hi Chris,
> 
> Thanks for putting all these updates together, it's in a good place from my point of view and all my major issues have been addressed. I only have a few reasonably minor issues and some nitpicks on this draft.
> 
> Section 6.1
> As described in a separate email, I think the process described in the last paragraph (the one just above section 6.2) can be simplified. Additionally I think it's in the wrong place at the moment, I think it applies to all of section 6.1 but its current position under section 6.1.4 suggests it only applies to "jcl".

Yes, i adopted your suggested text and moved the section to the beginning of the section.

> 
> Section 9.1
> This draft replaced "A PASSporT that uses claims defined in this specification" with "An "rcd" PASSporT that uses claims defined in this specification", I think the old sentence may be more correct as this verification also applies to other passports containing RCD claims.

It is actually intentional, for the rules stated that include integrity, i can’t say for other PASSporT types and corresponding certificates that i can enforce all of those rules and is related to your next comment.

> 
> Section 15
> The second paragraph seems to be suggesting that only certificates containing JWTClaimsConstraints should be trusted to add rcd information (without some other trust relationship), but I don't understand why this is the case? Surely, you either trust the entity that added the RCD information or you don't, why should extra constraints on the certificate have any impact on that? I expected this section to say something like "The verifier must validate that the signer is trusted to provide Rich Call Data, in addition to having authority over the originating address".
> 
> This also raises the question of whether an RCD passport authenticates the originator like a base passport? I don't think there's any text to suggest that it doesn't, but that would prevent intermediaries who have no authenticated relationship with the originator from adding RCD information.

An intermediary can add an RCD PASSporT.  Authenticated relationships are a “shaken” concept not an “rcd” concept, RCD information should be vetted and signed by a party the destination can trust did that validation specific to RCD for a given telephone number(s).  This is the key to what i am trying to clarify.  How can i have an SPC level “shaken” certificate for RCD information with integrity, it makes no sense.  
I didn’t remove the ability to put “rcd” infomation in other PASSporTs, but it’s not something i think we should be recommending for mainstream cases.

> 
> Nits:
> Section 4, Paragraph 2:
>> The RCD integrity mechanism is a process of generating a sufficiently strong cryptographic digest for each resource referenced as a claim value or as a value within a claim value by one or more globally unique URIs (e.g., an image file referenced by "jcd" or a jCard referenced by "jcl").
> doesn't make much sense to me, I think the following means the same and is clearer to me:
>> The RCD integrity mechanism is a process of generating a sufficiently strong cryptographic digest for each resource referenced by a URI within a claim value (e.g., an image file referenced by "jcd" or a jCard referenced by "jcl").

Agree, inserted

> 
> Section 6.1.2:
>> In order to reference the "icn" value for a digest, the JSON pointer string would be "/icn" and the digest string would be created using only the string pointed to by that "/apn" following the rules of JSON pointer.
> The "/apn" shouldn't be there:
>> In order to reference the "icn" value for a digest, the JSON pointer string would be "/icn" and the digest string would be created using the image data referenced by the URI.

Fixed

> 
> Section 6.1.4, vcard example:
> The vcard is missing commas after the photo and logo elements, I was also unable to replicate the digest:
> echo -n '["vcard",[["version",{},"text","4.0"],["fn",{},"text","Q Branch"],["org",{},"text","MI6;Q Branch Spy Gadgets"],["photo",{},"uri","https://example.com/photos/quartermaster-256x256.png <https://example.com/photos/quartermaster-256x256.png>"],["logo",{},"uri","https://example.com/logos/mi6-256x256.jpg <https://example.com/logos/mi6-256x256.jpg>"],["logo",{},"uri","https://example.com/logos/mi6-64x64.jpg <https://example.com/logos/mi6-64x64.jpg>"]]]' | sha256sum | awk '{printf $1}' | xxd -r -p | base64 -w0
> Outputs: tbxXX9mRY2dtss3vNdNkNkt9hrV9N1LqGST2hDlw97I

fixed 

> 
> Thanks!
> Jack
> 
> -----Original Message-----
> From: stir <stir-bounces@ietf.org <mailto:stir-bounces@ietf.org>> On Behalf Of Chris Wendt
> Sent: 07 March 2022 20:09
> To: IETF STIR Mail List <stir@ietf.org <mailto:stir@ietf.org>>
> Subject: [EXTERNAL] Re: [stir] I-D Action: draft-ietf-stir-passport-rcd-15.txt
> 
> Hi All,
> 
> I have submitted version 15 of this draft which incorporates quite a bit of discussion on a number of topics. Given we won't have a meeting until after IETF two weeks from now, i'd like to get as much list feedback on 15 so that I can potentially incorporate into a 16 going into the virtual STIR meeting when it is scheduled and hopefully be in a good position to start really sending off for WGLC this time, if possible. I think taking the time to get this right was valuable, but there is now starting to be a lot of implementation, so time to really wrap things up.
> 
> The changes from 14->15 are as follows:
> 
> Added a new "icn" key/value to the "rcd" claim, the intent of this is to correspond to the Call-Info purpose of "icon" and provide a default mechanism for adding an image icon for calls. There was a lot of discussion about use of jCard if the only use was for including an image, and i think this hopefully is well received change by all.
> 
> By far the largest change is around the rules for integrity and constraints for direct values vs URI referenced content. I have made the document state that integrity and constraints for direct values is optional, but still have a preference to do so. It is absolutely true that you can constrain direct values through JWTClaimConstraints and including the direct value in the permitted values. However, there is one small concern about size of certificate, but i think a much bigger concern about including RCD information in a publicly accessible certificate. So, i try to detail that concern in the document.
> 
> I have also made a number of editorial changes, i've fixed some of the examples, made them lexicographic order, clarified a number of things here and there.
> 
> Please review and us know your thoughts and feedback. 
> 
> Thanks everyone!
> 
> -Chris
> 
>> On Mar 7, 2022, at 2:50 PM, internet-drafts@ietf.org <mailto:internet-drafts@ietf.org> wrote:
>> 
>> 
>> A New Internet-Draft is available from the on-line Internet-Drafts directories.
>> This draft is a work item of the Secure Telephone Identity Revisited WG of the IETF.
>> 
>> Title : PASSporT Extension for Rich Call Data
>> Authors : Chris Wendt
>> Jon Peterson
>> 	Filename : draft-ietf-stir-passport-rcd-15.txt
>> 	Pages : 33
>> 	Date : 2022-03-07
>> 
>> Abstract:
>> This document extends PASSporT, a token for conveying
>> cryptographically-signed call information about personal
>> communications, to include rich meta-data about a call and caller
>> that can be signed and integrity protected, transmitted, and
>> subsequently rendered to the called party. This framework is
>> intended to include and extend caller and call specific information
>> beyond human-readable display name comparable to the "Caller ID"
>> function common on the telephone network. The JSON element defined
>> for this purpose, Rich Call Data (RCD), is an extensible object
>> defined to either be used as part of STIR or with SIP Call-Info to
>> include related information about calls that helps people decide
>> whether to answer an incoming set of communications from another
>> party. This signing of the RCD information is also enhanced with a
>> integrity mechanism that is designed to protect the authoring and
>> transport of this information between authoritative and non-
>> authoritative parties generating and signing the Rich Call Data for
>> support of different usage and content policies.
>> 
>> 
>> The IETF datatracker status page for this draft is:
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-ietf-stir-passport-rcd%2F&amp;data=04%7C01%7Cjack.rickard%40microsoft.com%7C849b465873674ba44d8208da00766a2f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637822805851114750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=rkQhUPZV5zMUbb1HAsiPuhrv5ZIuhL9tSkLCuwB7tMQ%3D&amp;reserved=0 <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-ietf-stir-passport-rcd%2F&amp;data=04%7C01%7Cjack.rickard%40microsoft.com%7C849b465873674ba44d8208da00766a2f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637822805851114750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=rkQhUPZV5zMUbb1HAsiPuhrv5ZIuhL9tSkLCuwB7tMQ%3D&amp;reserved=0>
>> 
>> There is also an htmlized version available at:
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Fdraft-ietf-stir-passport-rcd-15&amp;data=04%7C01%7Cjack.rickard%40microsoft.com%7C849b465873674ba44d8208da00766a2f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637822805851114750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=g8fF7kwA4NpfKsJn4O3c4kpADe6jBhqULjoVft9uOVM%3D&amp;reserved=0 <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Fdraft-ietf-stir-passport-rcd-15&amp;data=04%7C01%7Cjack.rickard%40microsoft.com%7C849b465873674ba44d8208da00766a2f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637822805851114750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=g8fF7kwA4NpfKsJn4O3c4kpADe6jBhqULjoVft9uOVM%3D&amp;reserved=0>
>> 
>> A diff from the previous version is available at:
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Frfcdiff%3Furl2%3Ddraft-ietf-stir-passport-rcd-15&amp;data=04%7C01%7Cjack.rickard%40microsoft.com%7C849b465873674ba44d8208da00766a2f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637822805851114750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=4UcnYYd7HQAVqvqLFIwcXn%2BJCeyxazp23mrPu2Y86oo%3D&amp;reserved=0 <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Frfcdiff%3Furl2%3Ddraft-ietf-stir-passport-rcd-15&amp;data=04%7C01%7Cjack.rickard%40microsoft.com%7C849b465873674ba44d8208da00766a2f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637822805851114750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=4UcnYYd7HQAVqvqLFIwcXn%2BJCeyxazp23mrPu2Y86oo%3D&amp;reserved=0>
>> 
>> 
>> Internet-Drafts are also available by rsync at rsync.ietf.org <http://rsync.ietf.org/>::internet-drafts
>> 
>> 
>> _______________________________________________
>> stir mailing list
>> stir@ietf.org <mailto:stir@ietf.org>
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fstir&amp;data=04%7C01%7Cjack.rickard%40microsoft.com%7C849b465873674ba44d8208da00766a2f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637822805851114750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=%2BAkvRarPP%2FAy%2FiyX7NalukpAJjkTtbBQPtBISNetKHU%3D&amp;reserved=0 <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fstir&amp;data=04%7C01%7Cjack.rickard%40microsoft.com%7C849b465873674ba44d8208da00766a2f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637822805851114750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=%2BAkvRarPP%2FAy%2FiyX7NalukpAJjkTtbBQPtBISNetKHU%3D&amp;reserved=0>
> 
> _______________________________________________
> stir mailing list
> stir@ietf.org <mailto:stir@ietf.org>
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fstir&amp;data=04%7C01%7Cjack.rickard%40microsoft.com%7C849b465873674ba44d8208da00766a2f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637822805851114750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=%2BAkvRarPP%2FAy%2FiyX7NalukpAJjkTtbBQPtBISNetKHU%3D&amp;reserved=0 <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fstir&amp;data=04%7C01%7Cjack.rickard%40microsoft.com%7C849b465873674ba44d8208da00766a2f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637822805851114750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=%2BAkvRarPP%2FAy%2FiyX7NalukpAJjkTtbBQPtBISNetKHU%3D&amp;reserved=0>