Re: [stir] WG LC Comments: draft-ietf-stir-passport-divert-05

"Peterson, Jon" <> Wed, 17 April 2019 23:25 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id CA3261200FA for <>; Wed, 17 Apr 2019 16:25:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.638
X-Spam-Status: No, score=-0.638 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, KHOP_DYNAMIC=1.363, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ed8xL1biiwx8 for <>; Wed, 17 Apr 2019 16:25:21 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 47A2F1200F6 for <>; Wed, 17 Apr 2019 16:25:21 -0700 (PDT)
Received: from pps.filterd ( []) by ( with SMTP id x3HNMwo4006839; Wed, 17 Apr 2019 19:25:20 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=selector1; bh=tg1Cn1J0ODGX3XAJ7rVwDR5if/0lOEJGm5FX3Fwsux4=; b=Jm1FZMT0/XvYDua/8H53nQ8q+WjIlAMiQpVbTGSTfJcKxKtlzA1doBpeb7NGKRj8MauW QgK5kWGYcMA38pSh6tqGrRkDDGeYrZhEWtt2hCNuaZZ3YoHLiFDJGpMvGdsO/iXuJDYo xZBcPTKjQmC4GZylL5GHFH09hZEs1Cj+30PrSjlI0n6UiZ2Sd8ukVi4ruRXWXtDlmdd+ hxfj/rf4Ma0V07gn0rXyMpxdztOynRG3oNr57QwYTJOcBHOtLeAH/jBOmV6fiR5zazxm RhzHxB1+S1buWV709qUXjS7hk9qJ7Fsu2LM+xez8ZElu5GMYvnRFL4FFR7TRdeDGVIid 8w==
Received: from ([]) by with ESMTP id 2ruadw9p02-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 17 Apr 2019 19:25:20 -0400
Received: from ([fe80::a831:d3b4:fb4e:e45b]) by ([::1]) with mapi id 14.03.0439.000; Wed, 17 Apr 2019 19:25:18 -0400
From: "Peterson, Jon" <>
To: Eric Burger <>, "" <>
Thread-Topic: [stir] WG LC Comments: draft-ietf-stir-passport-divert-05
Thread-Index: AQHU9GzctflA9QWVPk2yD3j3wVNQaKZAzn2A
Date: Wed, 17 Apr 2019 23:25:18 +0000
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
user-agent: Microsoft-MacOutlook/
x-originating-ip: []
Content-Type: text/plain; charset="utf-8"
Content-ID: <>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-04-17_11:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1904170146
Archived-At: <>
Subject: Re: [stir] WG LC Comments: draft-ietf-stir-passport-divert-05
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Secure Telephone Identity Revisited <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 17 Apr 2019 23:25:23 -0000

Thanks for notes Eric. Some responses inline:
    Section 4.1:
    Is there a scenario where the terminating verification service WOULD NOT do verification? There’s a bunch of text on how the diverting platform might or might not do verification and the terminating platform might or might not do verification.
    Would it not be better to point out the diverting platform would really, really, really (SHOULD?) want to verify the inbound call, because it will be the reputation of the diverting platform on the line if it signs the diversion on a bad call?

<Jon>I think SHOULD (as is there now, in the second sentence of 4.1) is the right level of arm-twisting there; we do say the scenario in which you would not want to do it is something very high-volume. I don't think it’s the reputation of the diverting platform that is on the line if the original PASSporT isn't valid - it's the creator of the original PASSporT, which is still in the INVITE, after all.</Jon>
    Conversely, why would any terminating provider EVER trust a diversion from a PBX? I.e., would not a terminating provider really, really, really (SHOULD?) want to verify all of the signatures in the chain?

<Jon>Here in the IETF, anyway, we're not in the business of telling you who you should trust or why. If someone signs a "div" PASSporT with a cert you trust, you can trust it, and if it gets signed with a cert you don't trust, don't trust it.</Jon>
    Towards the end of 4.1 we talk about RPH. Is there any issue of forwarding an RPH call? One would think that once a priority call hits a PBX, it will lose its priority. I am not stating a fact that I know, but for those in the RPH world, what is your understanding? Also, this paragraph is dense and a bit confusing. An example would go a long way in providing clarity.
<Jon>I'm just using RPH as an example of something that might have its own Identity header; I could have used "rcd" instead. I also don't really know how likely it is that a call using RPH would ever get retargeted, but it doesn't seem outside the realm of possibility. I'd be happy to swap this out for some other PASSporT extension if it seems especially confusing.</Jon>
    Section 4.2:
    Why would a failure in the verification chain EVER result in anything other than a failed verification, other than the obvious, “the certificate expired three minutes ago”? Remember, MAY = Never Will Happen.

<Jon>That would be in the case where the chain isn't the only thing you can validate in the INVITE. Even in a non-div case, if there are 5 Identity headers, and four of them don't validate for you, but the fifth does, you can trust the fifth. The mere presence of in an INVITE of something that you can't validate doesn't mean verification fails.</Jon>
    Section 4.2, Fifth step
    What is a “multiple based PASSporTs”?
<Jon>A typo for "multiple base PASSporTs". Will fix, probably with "innermost."</Jon>

    Section 5:
    As Ben pointed out in his review, div-o seems to be a different beast that might better be addressed in a separate document. In fact, if the only purpose of it is to support OOB, I would insist it go into a separate document. Conversely, if div-o will be the mechanism to support TN-PoP, then say so. Of course, if that is what div-o is about, again perhaps it would be better served in a separate document or as part of the eventual mechanism that allows the originating caller to sign a call (classic STIR) as well as an authentication service signing the call (SHAKEN).
<Jon>Ben was talking about "opt" I think, not "div-o". I think "div-o" is a similar enough beast that it belongs here, because it is used for diversion and uses the diversion authentication and verification service behaviors described here and this is the diversion draft. The nested "div-o" mechanism is explicitly marked as being for non-SIP conveyance, so it don't think the document is unclear about why it is there. Your insistence about removing it is noted, but if I recall about a year ago you were the one insisting that the entire mechanism use nested, which I had to patch in, and then later undo. I don't think there is any practical justification for doing more busywork along those lines.</Jon>

    Section 7:
    Why would we EVER allow a caller to pickup a signature from a 302 redirecting server? The text goes to great lengths to explain *how* to do it, but never says *why*. I’m having trouble groking the use case. A spammer sends INVITEs to a number, gets back a (set of) signed PASSporTs to include in their spam calls? Why would I ever care if the spammer found my current contact from a redirect from a registrar instead of guessing my current contact directly? Is there a double-secret use case hiding here?

<Jon>I don’t understand what attack you believe exists here. I don't think there's any practical security difference (in the STIR threat model) between inserting a "div" PASSporT in an INVITE as you retarget and forward it versus sending a 302 in the backwards direction with the "div" PASSporT. If AT&T is choosing a new target for your call, and creates a "div" PASSporT to reflect that, having a copy of that "div" PASSporT does not enable a spammer to add anything to a call other than AT&T's assurance that number A is being retargeted to number B at this specific iat internal, which, when added to a call, is of no use in impersonating anyone or obscuring your identity.</Jon>
    Section [Missing]: Privacy Considerations
    Sprinkled throughout the document are privacy considerations, like how this mechanism is inappropriate for anonymization services (see, e.g., the last paragraph of Section 4.2).
<Jon>Probably we could stand to add a few sentences about the privacy implications of this; I'll do that.</Jon>

Jon Peterson
Neustar, Inc.