Re: [stir] Questions about stir-certificates

David Bryan <dbryan@ethernot.org> Thu, 19 October 2017 21:57 UTC

Return-Path: <dbryan@ethernot.org>
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 9B0CD13430F for <stir@ietfa.amsl.com>; Thu, 19 Oct 2017 14:57:34 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ethernot-org.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 M6kvaxy2t0hH for <stir@ietfa.amsl.com>; Thu, 19 Oct 2017 14:57:31 -0700 (PDT)
Received: from mail-pf0-x22c.google.com (mail-pf0-x22c.google.com [IPv6:2607:f8b0:400e:c00::22c]) (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 1606D134303 for <stir@ietf.org>; Thu, 19 Oct 2017 14:57:31 -0700 (PDT)
Received: by mail-pf0-x22c.google.com with SMTP id 17so7940283pfn.12 for <stir@ietf.org>; Thu, 19 Oct 2017 14:57:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ethernot-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=VN1s1vls7DvfYald7xvNfKt6aO5iwh4jRbzBGR6Hn84=; b=BCk8yTWt9HOFWZxhP0N7hKaxZnp28wsVeEBTuTiropdeaW6ays7+mJkJ4Pa4p5U9mc nokWgkIJkoIWaun087AIEGLoEikJj9C2C0a2KHL2b52Rk160zNlyPm6T7U/F37HAA7Jn okbqFIZv3yED8zOdPufv96ITRP9npoG3DAA8aVao02AHA/Vf3T5e7sLpkSbZlbKN4K+g A1gU3zK/kqiXZr4M8hQKCIDbtIUqN0ijhtdk/g57HKQiDiSwQTPZq+0VEkyBuEWN5cc3 Jzd3jDRu2EnsfofQdd79YPHAMQ3UYS1rW8O8idFlbfZaKb4O9o6AikaiPDPW9lasuXJf x2nw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=VN1s1vls7DvfYald7xvNfKt6aO5iwh4jRbzBGR6Hn84=; b=nwyzGAEHQ76mXvcqprE9oxNSzeJNMcODk0z8pKkbV94/BdFMKVzt8pl6G19uXdKsui ggHgiD+f1TDlchzlKjTXTfTDdFf4twarvivorpOyus7c+tEK1tQKzHOhGKRJiFE6a8IU wSgGDpdN0FpPofs2u7+EUXH3lDxXn4RCM6Ptg9VE8Fg5VaPd33oSG50I7Vp9EgBIq7P5 qlDqouuT3qrGSzC6DJXy5WwkHmZBid+k2CUF4v1ZpnLq7kjD19ujcOCutxQp4PKimF9Z a529DDq0GRp1gjUSKTRUI2U1WiezwbsYTcWxhB/EP1wqeYO1hJeKV9tHREYPSt2oO1QS utUg==
X-Gm-Message-State: AMCzsaU9ht4u/vcntjs0zFUwbRlFcn23IcurFS/dtCkrpTfwZsJ0rwgF /C5Jc0xF2C5GZRHaXGNMb0z85YBkrVOJDC6gxiWoYGKj
X-Google-Smtp-Source: ABhQp+RDiWjSKPQZnQR+KPrd5uiPMwEzr9txEIgv3JQz5tKN41xfpUlnqmqdrzkiwWfW6dpiJnz8wKBYo3/BD7XVmqA=
X-Received: by 10.101.87.202 with SMTP id q10mr2568826pgr.141.1508450250285; Thu, 19 Oct 2017 14:57:30 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.100.156.144 with HTTP; Thu, 19 Oct 2017 14:57:29 -0700 (PDT)
Received: by 10.100.156.144 with HTTP; Thu, 19 Oct 2017 14:57:29 -0700 (PDT)
In-Reply-To: <B85D8FB0-7814-4046-B667-1A47302CDEB0@chriswendt.net>
References: <D60E0087.1EEE44%jon.peterson@neustar.biz> <B85D8FB0-7814-4046-B667-1A47302CDEB0@chriswendt.net>
From: David Bryan <dbryan@ethernot.org>
Date: Thu, 19 Oct 2017 16:57:29 -0500
Message-ID: <CADqQgCTUG8aV4e4wcyNVrZErbus0yiFYPjF_jNhxnnzySA_NnQ@mail.gmail.com>
To: Chris Wendt <chris-ietf@chriswendt.net>
Cc: Sean Turner <sean@sn3rd.com>, "stir@ietf.org" <stir@ietf.org>, Martin Thomson <martin.thomson@gmail.com>, "Peterson, Jon" <jon.peterson@team.neustar>
Content-Type: multipart/alternative; boundary="089e08237c1854773a055bed7198"
Archived-At: <https://mailarchive.ietf.org/arch/msg/stir/5g3UlTMZd3Ww22518gJwNnxhGfY>
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 21:57:35 -0000

Forgive me if I am off base here
and this use case is covered elsewhere (and if so, a kindly pointer
appreciated). I've been following this group since the early days but not
as actively as I used to follow such IETF matters, so I certainly may have
missed something...

With respect to Jon's comment on delegation:

There are definitely large real deployments I am currently aware of of
where large VoIP or regional providers (call this A) no longer "own" their
numbers - they are owned by a large termination provider (call this B), are
leased, and PSTN connectivity is still provided by that termination
provider (B), who presumably "owns" the number from a STIR perspective.

In this case, however, these prividers (A) are large enough to peer
directly with carriers for delivery. Some (many) calls from the VoIP
provider's users' (A) bypass the termination provider (B, who is
authoritative for the number) entirely if they are delivered, say directly
from a caller on A' s network to a caller on a third network C with which A
has such a direct peering relationship.

Given B is the authoritative owner of the number, despite A being the
actual provider the customer's device authenticates with etc., I was under
the impression the SPC delegation was how this would be handled. Provider A
would sign using the delgated SPC from B after verifying the identity of
the caller, and deliver that to C.

If there is no other way to do this, there are a large number if VoIP
providers who will have a big issue. Just a further case, I think to argue
we definitely need SPC delegation.

The only other way I see is the national authority knowing who leases from
whom and issuing certs accordingly, but that seems ugly to say the least.

Is the case I mentioned one SPC delegation is intended to solve or is there
another mechanism in mind?

On Oct 19, 2017 12:57 PM, "Chris Wendt" <chris-ietf@chriswendt.net> wrote:

>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

_______________________________________________
stir mailing list
stir@ietf.org
https://www.ietf.org/mailman/listinfo/stir