Re: [stir] Questions about stir-certificates

Chris Wendt <chris-ietf@chriswendt.net> Thu, 19 October 2017 17:57 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 4848B13430C for <stir@ietfa.amsl.com>; Thu, 19 Oct 2017 10:57:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=chriswendt-net.20150623.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 qpHEHGFaJLhg for <stir@ietfa.amsl.com>; Thu, 19 Oct 2017 10:57:47 -0700 (PDT)
Received: from mail-qt0-x22d.google.com (mail-qt0-x22d.google.com [IPv6:2607:f8b0:400d:c0d::22d]) (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 9C9A7132031 for <stir@ietf.org>; Thu, 19 Oct 2017 10:57:47 -0700 (PDT)
Received: by mail-qt0-x22d.google.com with SMTP id z19so15479624qtg.11 for <stir@ietf.org>; Thu, 19 Oct 2017 10:57:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chriswendt-net.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=DbmrP2mYE1jQ48hyc+jOCj3JkVu9dcejUnrB2fdQkVg=; b=mW+2nGIq7EXH8kdpuS86+aa/if3j82zqq3r8fZlXL1KGeMouqIWShhdAFS3snLzDNh wSHKjobjNez43JuQyUcYgFwhIbZb7dlil8ZMLVPH5WO9P6whRR9pos8D6o3linGL2caP 3jrKEQXK/WjyZ2e3PbsJXl7l92/XZXE0tSMWDlgZDfifN1uE0n7bYLcQzHqDpbFOz7VK Eszz6oY0QkGNxSJeJY+Xq/51Ax6cOLNZrSJ9pCPgOUEzo+uZNPV1ozL8xbEmH9M4cJr0 cPdfP3DurzMpVjD9CfDeoSMX+p8P9ZzlKj4S1SA7yNreZwEVpRHpIvlDHLLIHmIuxR91 i2GQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=DbmrP2mYE1jQ48hyc+jOCj3JkVu9dcejUnrB2fdQkVg=; b=rDuCAofbWB/YrGiFbX5ANsXGw7dZYCE/2PPMriZfGya5+ORb6TTkVNwAhdFrTu1xvV LIkC60UKExeyOY8lbfnAeMURvTUA1OYmICM1PX3krpx12jU2P9xqZ3cnFr+abDrGilHl 6td8+GrSCw0WNHlcfGcHAA8Opcn3rhinY+xwcQ2G63oF9/bdrOSimNiF5mvlOG0+z0JV d44EjBF+1G7erOgsKS79A3rhXULtok8f3jQGsaf4yoc0SEanFkpiyI8LBHz2a8TtEx1r LBN1Pw4pIH1a5IgWdXdyZIsC83AvOQYfCmwPoeGG8fXJjoxfXlN4DkNvYdGYff6v2HGR 5Czw==
X-Gm-Message-State: AMCzsaUWGQlTKvExl85ejx4oL+3VIWTm/tkz19Plguu3Zx/lHBIQquf0 zefD1INT2jtwpTuelsc6c1unCA==
X-Google-Smtp-Source: ABhQp+SnvgA5fjlsvFnn9EFyy/wdbKvAb0limG/XsZvtlBiy1D2Q/fpTrY6U1jPQd/MCNEalNSJeWA==
X-Received: by 10.237.34.169 with SMTP id p38mr3533525qtc.182.1508435866636; Thu, 19 Oct 2017 10:57:46 -0700 (PDT)
Received: from ?IPv6:2601:a40:100:cec:d4cb:da07:d7ea:8620? ([2601:a40:100:cec:d4cb:da07:d7ea:8620]) by smtp.gmail.com with ESMTPSA id e7sm9305994qkf.73.2017.10.19.10.57.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Oct 2017 10:57:45 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 11.1 \(3445.4.2\))
From: Chris Wendt <chris-ietf@chriswendt.net>
In-Reply-To: <D60E0087.1EEE44%jon.peterson@neustar.biz>
Date: Thu, 19 Oct 2017 13:57:43 -0400
Cc: Martin Thomson <martin.thomson@gmail.com>, "stir@ietf.org" <stir@ietf.org>, Sean Turner <sean@sn3rd.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <B85D8FB0-7814-4046-B667-1A47302CDEB0@chriswendt.net>
References: <D60E0087.1EEE44%jon.peterson@neustar.biz>
To: "Peterson, Jon" <jon.peterson@team.neustar>
X-Mailer: Apple Mail (2.3445.4.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/stir/xQy_a4S-x2eLRjGDxYDzpJX542I>
Subject: Re: [stir] Questions about stir-certificates
X-BeenThere: stir@ietf.org
X-Mailman-Version: 2.1.22
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: Thu, 19 Oct 2017 17:57:50 -0000

From IPNNI Task Force point of view we have two general use cases we are looking at covering for now.

First is the pure SHAKEN mechanism which includes only a SPC to identify the service provider that is attesting to the telephone identity.

Second one we are looking at, but not completely defined yet is a SPC + TN or SPC + TNblock certificate which can be used for delegation or proof of possession use cases where the service provider that manages the telephone number both identifies themselves with SPC and the telephone identities in the certificate.

So i would like to make sure we keep the ability to have SPC and TN or TNblock as an array in TNAuthList.

> On Oct 19, 2017, at 12:17 PM, Peterson, Jon <jon.peterson@team.neustar> wrote:
> 
> 
> So as Sean Turner and I have been dotting the last I's and crossing the
> last T's in auth48 *cough* for stir-certs we did want to make sure we
> didn't neglect the things Martin talks about below, including pretty
> fundamental questions about how we structure the TNAuthList and what
> properties that structure can support, like delegation. Before slipping in
> any last minute changes that might be surprising, we wanted to run this by
> the group.
> 
>> The first question is whether this delegation makes any sense for
>> service provider codes.  A service provider that signs a subordinate
>> (such as an enterprise that operates a PBX) is hardly going to allow
>> that subordinate to use their service provider code.  In light of
>> that, it seems like subjectAltName is entirely appropriate place to
>> put a service provider code.
> 
> I think the use case for SPC delegation is probably not the enterprise
> case. A service bureau case makes more sense. We've also entertained cases
> where a large carrier, say, might have authority over multiple SPCs in one
> cert, but might want to delegate to some part of its own network a
> certificate for just one of those SPCs. I've also dimly envisioned, if
> this all takes off, use cases for selectively delegating applications
> associated with an SPC for a particular service, probably to a service
> bureau: like, Company A is doing the SMS for SPC 6166.
> 
>> I really don't think that it's a great design choice to bundle service
>> provider codes with telephone numbers as TNAuthList does currently.
>> It seems arbitrary.  I'll concede that this might seem partly an
>> aesthetic objection, but the two are entirely different things with
>> different rules.  Given that the authority to sign for a telephone
>> number is most often a consequence of being a particular service
>> provider (and having a valid code) rather than a direct and
>> independent authority.
> 
> That last point is rather what persuaded me at least that the two are
> coupled. I might even say that for verification purposes an SPC is just
> shorthand for a set telephone numbers that the SPC covers.
> 
>> It's also unclear to me whether a certificate that includes AIA for
>> telephone numbers also effectively constrains subordinates to comply
>> with that set.
> 
> I hope it does, yes. We can make sure the document does say that.
> 
>> The document doesn't say.  On the assumption that it
>> does, what happens when the resource identified in the AIA changes?
> 
> This is supposed to be a feature, believe it or not. If the resource
> behind the AIA changes, the scope of the certificate changes. Part of
> resolving the chain of authority in this model would be dereferencing any
> such AIA's, yes, and making sure it still holds.
> 
>> There's a possibility that changes in the referenced resource could
>> invalidate subordinates.  Doesn't this put AIA on the critical path?
> 
> That last point is probably better for Sean to speak to than me.
> 
>> The draft is unclear on how uniqueness is managed for service provider
>> codes, or even if uniqueness is a requirement.  Is this a property of
>> the certification path in that a trust anchor will be connected to a
>> particular country prefix (or set thereof), or is there something more
>> concrete?
> 
> The SPC as specified is admittedly a blank check we're writing at this
> point, but I think that's about where we are in deployment. The early
> adopters of this are North American carriers, there are already bodies who
> allocate codes for such carriers. I don't think the IETF is the right
> place to do that or to try to figure out how those identifiers should be
> internationally allocated or what should happen when signed messages pass
> into places where other sorts of SPCs might be in use. What's there now is
> good enough to let people kick the tires and get some experience; it will
> give national and international bodies enough leeway to define what they
> want for it, and we can point to that later.
> 
>> How does one add `count` to a number containing "*" or "#"?
> 
> Don't get wrong: I won't pretend that every possible corner case involving
> "*" and "#" has been given adequate consideration. They are there in the
> syntax to cover a very small number of paranoid forward-compatibility use
> cases of the "To" header field, mostly ones that in turn will use the
> proposed "divert" extension. (For example, I'm dialing *69. That goes to a
> server that is going to retarget the call to the last party who called me.
> How should that retargeting server sign the "divert"?) I don't think count
> will be practically relevant to those cases, which will would have to use
> specialized certs anyway. I know we don't have all that fully specified,
> but kind of like SPC, we're trying to leave a bit of wiggle room in the
> syntax not to close doors on possibilities.
> 
>> Does the addition of `count` treat the `start` as an integer?
>> What does a `count` of 0 mean?
> 
> I believe a count of '0' is disallowed.
> 
>> How do I express that all numbers in the +1 prefix are covered?
> 
> If it were up to me, probably, I wouldn't want the NANPA to publish a cert
> with authority for +1, but instead, for the valid set of 10,000 blocks
> (done with "count") that cover the allocated +1NPANXX's. But to your
> bigger question...
> 
>> (The NANP is perhaps a bad example, try finding solid
>> information on the numbering plan for +257).  Did the working group
>> consider a number prefix in addition to the range, to allow for saying
>> "+1..." as a single rule?
> 
> I went back and forth a lot between count versus prefix a couple years
> ago, and honestly neither is perfect. Count can least theoretically do
> things prefix can't; but doing some that are ugly to do with count can be
> done very elegantly with prefix. Maybe the best thing for us to do is at
> least leave the door open in the syntax to specify another way to do
> number ranges? I think for our current purposes count is probably okay,
> but I wouldn't object to adding wiggle room so we could specify other
> options in the future.
> 
>> Why does JWTClaimName use IA5String rather than UTF8String?  If you
>> need constraints on valid characters, prose is a better choice.  RFC
>> 7519 permits any Unicode string by not constraining the format of the
>> name.
> 
> We discussed this quite a bit with the IESG in terms of consistency across
> the three drafts, and I think what we have in the post-auth48 versions
> should be okay. We just want to make sure that the claim names and the
> syntax of the JWTClaimNames are the same - practically speaking I don't
> think we're going to see things in the claim names outside the IA5 range,
> so I don't think it's a problem as such.
> 
> Jon Peterson
> Neustar, Inc.
> 
> _______________________________________________
> stir mailing list
> stir@ietf.org
> https://www.ietf.org/mailman/listinfo/stir