Re: [stir] Questions about stir-certificates

Paul Kyzivat <pkyzivat@alum.mit.edu> Fri, 20 October 2017 20:19 UTC

Return-Path: <pkyzivat@alum.mit.edu>
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 B8BE9132F7C for <stir@ietfa.amsl.com>; Fri, 20 Oct 2017 13:19:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 WpY6TYMQBAbw for <stir@ietfa.amsl.com>; Fri, 20 Oct 2017 13:19:01 -0700 (PDT)
Received: from alum-mailsec-scanner-5.mit.edu (alum-mailsec-scanner-5.mit.edu [18.7.68.17]) by ietfa.amsl.com (Postfix) with ESMTP id 2B487132D79 for <stir@ietf.org>; Fri, 20 Oct 2017 13:19:01 -0700 (PDT)
X-AuditID: 12074411-f95ff70000007f0a-62-59ea5a33d012
Received: from outgoing-alum.mit.edu (OUTGOING-ALUM.MIT.EDU [18.7.68.33]) (using TLS with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by alum-mailsec-scanner-5.mit.edu (Symantec Messaging Gateway) with SMTP id FD.3C.32522.33A5AE95; Fri, 20 Oct 2017 16:19:00 -0400 (EDT)
Received: from PaulKyzivatsMBP.localdomain (c-24-62-227-142.hsd1.ma.comcast.net [24.62.227.142]) (authenticated bits=0) (User authenticated as pkyzivat@ALUM.MIT.EDU) by outgoing-alum.mit.edu (8.13.8/8.12.4) with ESMTP id v9KKIwIk001126 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Fri, 20 Oct 2017 16:18:59 -0400
To: "Gorman, Pierce A [CTO]" <Pierce.Gorman@sprint.com>, "stir@ietf.org" <stir@ietf.org>
References: <D60E0087.1EEE44%jon.peterson@neustar.biz> <CABkgnnV41djmwJ2A8WkLv1Qu_zxAKPb8EJnuoFS1Zeog3momyQ@mail.gmail.com> <6432f01322c74b1196075c4549f18a12@plswe13m04.ad.sprint.com> <4bbb6330-96e7-6317-cbae-07991075e776@alum.mit.edu> <171f91651e9e4a2eb7873fdbe1b9fcea@plswe13m04.ad.sprint.com>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
Message-ID: <4e1c72a3-4ae0-d424-8dfd-fff1c7049cdb@alum.mit.edu>
Date: Fri, 20 Oct 2017 16:18:58 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <171f91651e9e4a2eb7873fdbe1b9fcea@plswe13m04.ad.sprint.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrJIsWRmVeSWpSXmKPExsUixO6iqGsS9SrS4MwRIYsT3/4zWixfu43J gcljyZKfTB5tl3YzBzBFcdmkpOZklqUW6dslcGU8WvKQrWBNTkXvl1dMDYzXw7sYOTkkBEwk bj28ytrFyMUhJLCDSaLz0T52COchk8SFGcdYQKqEBUwlbpxZw9bFyMEhIpAoceC9OkTNeiaJ gz9uM4PUsAloScw59B+snlfAXuLG5VYmEJtFQFXiyK45jCC2qECaxJ0ZD5kgagQlTs58AlbP KeAhsedNI1gNs4CZxLzND5khbHGJW0/mM0HY8hLb385hnsDIPwtJ+ywkLbOQtMxC0rKAkWUV o1xiTmmubm5iZk5xarJucXJiXl5qka6pXm5miV5qSukmRkioCu5gnHFS7hCjAAejEg9vhdir SCHWxLLiytxDjJIcTEqivIGVLyOF+JLyUyozEosz4otKc1KLDzFKcDArifDuCQUq501JrKxK LcqHSUlzsCiJ8/ItUfcTEkhPLEnNTk0tSC2CycpwcChJ8HJHAjUKFqWmp1akZeaUIKSZODhB hvMADXcAqeEtLkjMLc5Mh8ifYtTl6Om58YdJiCUvPy9VSpx3SwRQkQBIUUZpHtwcWIp5xSgO 9JYw7wOQKh5geoKb9ApoCRPQEnb7FyBLShIRUlINjMFtqZ+2qNQ+V+75fuBr2wqO+uSzpaYr FkRF5i3U/vX5z6W0aS3z9Z+HCgpu/e/a8jtex/tU8pknV1ZITFI91GbFlcAbnj/7+e2WtVuL gzOzwkKDRHeK1Cun7hMPfHSFf26eheRSoPLC6c+PKu778G0T86RnbEG69aeMv+7f9kPzi+7R gB4VJZbijERDLeai4kQAKSFwpAwDAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/stir/9_E1vEcx5ds-JA8bhsM-f4jO4cE>
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: Fri, 20 Oct 2017 20:19:05 -0000

On 10/20/17 3:49 PM, Gorman, Pierce A [CTO] wrote:
> Government agencies and financial institutions would not be given "Full" attestation under ordinary circumstances and so their calls would not get the green check (although Chris' TN PoP could help change that).

That would be sad. Isn't that the goal of all this?

> Remembering the originating telephone number of government agencies and financial institutions may be difficult for some consumers (and probably not a source of many calls for the average Joe in any case).

When I get a call from somebody I expect to hear from again I am 
inclined to put them in my address book directly from the call history. 
If the call history remembered the level of attestation of the call then 
it could retain that in the address book as well, and update it on 
future calls if the attestation for the same caller gets stronger. 
(Perhaps remember all the different levels that have been observed for 
the number.)

This doesn't require anything from the end user that he isn't already doing.

> Challenges with the veracity of calling name information remain even in the presence of STIR/SHAKEN.  It's an area of opportunity for further study and development.

I understand that the name is a whole different thing.

	Thanks,
	Paul

> Pierce
> 
> -----Original Message-----
> From: Paul Kyzivat [mailto:pkyzivat@alum.mit.edu]
> Sent: Friday, October 20, 2017 12:46 PM
> To: stir@ietf.org
> Subject: Re: [stir] Questions about stir-certificates
> 
> On 10/20/17 12:15 PM, Gorman, Pierce A [CTO] wrote:
>> Martin,
>>
>> I want to offer my compliments for your comments attempting to help improve the standard and make STIR more robust.
>>
>> You also observed, "PKI, this isn't that great a solution.  Every time we use some out-of-band mechanism, it turns out to be brittle.  When something is brittle, the immediate reaction is to make it non-blocking."
>>
>> The protocol and policy challenges of STIR and PKI are contributing factors to why I believe STIR/SHAKEN by itself will probably always be non-blocking.
>>
>> Even if we constrain our consideration to the Service Provider use case, there are many thousands of Service Providers and hundreds of government authorities and so SHAKEN/STIR may only ever be fragile and non-blocking in perpetuity.  If we consider non-network-centric end-user application and per-Telephone Number use cases, I think the already considerable policy, protocol, and operational challenges become even more significant.
>>
>> Furthermore, STIR/SHAKEN is a mechanism for conveying relative trustworthiness of the calling telephone number, and AFAIK consumer preference studies of VoIP-originated SPAM have so far been anecdotal and unscientific.  It is not yet clear whether a positive indication of trust such as a green check mark will be preferred (or acceptable), as compared to a negative indication of trust such as a red circle with a diagonal red slash across it on a white background.
>>
>> The majority of telephony consumers may prefer to only be alerted to suspicious call attempts.   SHAKEN's "Full" attestation provides the highest level of trust with regard to the originating telephone number not having been spoofed, but consumers may not want to be told, "here's another most likely benign call attempt".
>>
>> "Partial" and "Gateway" attestations as indications of relative untrustworthiness of the calling number may be usable as filters for secret-sauce analytics and/or post-processing forensic investigation.  IMHO they are not suited for at-a-glance indications of unwanted calling attempts to subscribers.   And, I assume no user, enterprise, or originating or transit service provider will volunteer "Fraudulent" or " SPAM" attestations although they would be undeniably more usable for an at-a-glance decision about whether to accept a call.
> 
> Speaking strictly as a telephony consumer: I see value in *both* the positive and negative indicators. I am inclined to use the negative one when deciding whether to answer the call at all, and the positive one for whether to trust the call for sensitive matters, such as with government agencies and financial institutions.
> 
> This can be coupled with per-number policy at my own end (in my address
> book) by remembering which numbers have previously received full attestation. That can raise the bar on future calls from the same number.
> 
> 	Thanks,
> 	Paul
> 
>> -----Original Message-----
>> From: Martin Thomson [mailto:martin.thomson@gmail.com]
>> Sent: Thursday, October 19, 2017 7:28 PM
>> To: Peterson, Jon <jon.peterson@team.neustar>
>> Cc: stir@ietf.org; Sean Turner <sean@sn3rd.com>
>> Subject: Re: [stir] Questions about stir-certificates
>>
>> Thanks for the response Jon,
>>
>> It took me a little while to revive state for this, so I hope that I'm at least consistent with before...
>>
>> On Fri, Oct 20, 2017 at 3:17 AM, Peterson, Jon <jon.peterson@team.neustar> wrote:
>>>> 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.
>>
>> That makes me more confident that you have the right model, as least with respect to subjectAltName.  I was concerned that a SPC was an identity of the entity doing the signing, but it seems like it is instead a proxy for a number range.  Cast in those terms, the model you have is OK.  But it really isn't that clear from the document that this is the model.  For a relative outsider, it might be useful to say that this is an assumption in your model.
>>
>>>> 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.
>>
>> I trust that you will do 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.
>>
>> I just checked and RFC 5280 mandates AIA as a non-critical extension.
>> I think that's a bit of a deal-breaker.
>>
>> >From my (limited) experience with out-of-band information in the web
>> PKI, this isn't that great a solution.  Every time we use some out-of-band mechanism, it turns out to be brittle.  When something is brittle, the immediate reaction is to make it non-blocking.  That was the case with CRLs and OCSP.  That's why we have OCSP stapling.
>>
>> This might be a different story.  Maybe the sheer quantity of numbers will lead to the right incentives and people will insist on retrieving up-to-date information from these resources.  But nothing in the mechanism will require it unless this document does.
>>
>> If you need to use AIA, then you need to do something about it being non-critical.  I think that a strategic "MUST" might be all you need.
>> "MUST support AIA, retrieve an updated AIA, and use the information provided therein"
>>
>> For that to work, you need an MTI retrieval mechanism and format.  I assume that this is just a DER-encoded TNAuthList.  You probably want to write that down.  And then someone will end up asking whether you have a media type for it.
>>
>> And then there is the privacy story with these sorts of things.  Big lists of AIA are probably OK (K-anonymity with large K), but I can imagine the CA being able to use this as a way to track calls.  Not serious here because lists are generally long, but it was a problem with CRLs and OCSP on the web, so it's worth a brief mention at least.
>>
>>>> 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.
>>
>> I think that you need more than that.  At least acknowledge that the service provider code is defined within a certain scope and that someone consuming the code needs to be aware of where the code is coming from.
>>
>>>> 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.
>>
>> Please define something.  Either say that addition of numbers that contain these digits is invalid, or that the count is added to any numeric digits to the right of these digits.  If this turns out to be a bad idea, then see my answer regarding prefixes.
>>
>>>> Does the addition of `count` treat the `start` as an integer?
>>
>> You missed this question.  I think that it's important.  It's the little things that can trip up implementations.
>>
>> "123" + 10 is probably "123", "124", "125", ..., "132", is that correct?
>> What about "123" + 1000?  It might pay to say that overflow into more digits isn't permitted, especially if you consider the case of "123*69" + 32.  Is this up to "154*69" or "123*100" or "124*00" or something else?  It might be easier to say that it's invalid.
>>
>>>> What does a `count` of 0 mean?
>>>
>>> I believe a count of '0' is disallowed.
>>
>> Indeed it is.
>>
>>>> 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.
>>
>> I would make sure that there is an extension point.  My ASN.1 is rusty, but I think that adding ... to TNEntry would be enough for that.
>>
>>
>>
>> ________________________________
>>
>> This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.
>> _______________________________________________
>> stir mailing list
>> stir@ietf.org
>> https://www.ietf.org/mailman/listinfo/stir
>>
> 
>