Skip to main content

Connected Identity for STIR
draft-ietf-stir-rfc4916-update-07

Yes

Orie Steele

No Objection

Andy Newton
Deb Cooley
Éric Vyncke
Erik Kline
Gorry Fairhurst
Jim Guichard

Note: This ballot was opened for revision 06 and is now closed.

Orie Steele
Yes
Andy Newton
No Objection
Deb Cooley
No Objection
Éric Vyncke
No Objection
Erik Kline
No Objection
Gorry Fairhurst
No Objection
Gunter Van de Velde
No Objection
Comment (2025-04-29 for -06) Sent
# Gunter Van de Velde, RTG AD, comments for draft-ietf-stir-rfc4916-update-06

# The line numbers used are rendered from IETF idnits tool: https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-stir-rfc4916-update-06.txt


# General Review
# ==============

## the document reads well and is nicely written. It handles technology i am not so familiar with and hence my review is from generalist perspective.

## Shepherd writeup seems based upon a year old prior draft (it references the prior responsible STIR WG AD and I missed finding the downref )

## I suspect it was me being a RTG focused that terminology as swatting and vishing were things i have to do a short internet lookup. I guess in the field of this text, everybody is very well aware of this terminology

## The term "ppt" is used for the first time on line 231. I have not the faintest idea what is a ppt. Is this specified in an RFC? (i may have missed finding the reference). Maybe this is very well known terminology in this domain and my observation makes so sense as result.

## first use of 'div' on line 232 does not expand into RFC8946. however it does expand on line 234. Typically the first usage has the reference document associated. (minor idnit as both instances are so close to each other, only 2 lines difference). Another term was "orig" that i was not familiar with and failed to find a reference at first usage.

# Detailed Review
# ===============

The abstract reads:

11	Abstract
12
13	   The SIP Identity header conveys cryptographic identity information
14	   about the originators of SIP requests.  The Secure Telephone Identity
15	   Revisited (STIR) framework however provides no means for determining
16	   the identity of the called party in a traditional telephone calling
17	   scenario.  This document updates prior guidance on the "connected
18	   identity" problem to reflect the changes to SIP Identity that
19	   accompanied STIR, and considers a revised problem space for connected
20	   identity as a means of detecting calls that have been retargeted to a
21	   party impersonating the intended destination, as well as the spoofing
22	   of mid-dialog or dialog-terminating events by intermediaries or third
23	   parties.

GV> Potentially alternative abstract textblob that could be mingled with the original.( i'll leave that to the authors to decide what they prefer):

"
The Identity header field defined for the Session Initiation Protocol (SIP)
in RFC 4474 conveys cryptographic assurance of the identity of the originator 
of a SIP request. RFC 4916 extends this mechanism to support authenticated 
identity for the caller's asserted identity in certain contexts, particularly 
where privacy considerations or intermediaries modify the From header field. 
However, the authentication practices outlined in RFC 4916 do not align with 
the STIR (Secure Telephone Identity Revisited) architecture defined in RFC 8224. 
This document updates RFC 4916 to incorporate the PASSporT (Personal Assertion 
Token) format for conveying asserted identities, thereby enhancing security and 
interoperability within the STIR framework. This update ensures compatibility 
with modern SIP identity practices and strengthens the overall identity 
assurance in SIP networks.
"

105	   The property of providing identity of the called party to the calling
106	   party is called "connected identity."  Previous work on connected
107	   identity focused on fixing the core semantics of SIP.  [RFC4916]
108	   allowed a mid-dialog request, such as an UPDATE [RFC3311], to convey
109	   identity in either direction within the context of an existing
110	   INVITE-initiated dialog.  In an update to the original [RFC3261]
111	   behavior, [RFC4916] allowed that UPDATE to alter the From header
112	   field value for requests in the backwards direction: previously
113	   [RFC3261] required that the From header field values sent in requests
114	   in the backwards direction reflect the To header field value of the
115	   dialog-forming request.  Under the original [RFC3261] rules, if Alice
116	   sent a dialog-forming request to Bob, then even if Bob's SIP service
117	   forwarded that dialog-forming request to Carol, Carol would still be
118	   required to put Bob's identity in the From header field value in any
119	   mid-dialog requests in the backwards direction.

GV> What about following blob:

"
The provision of identity information for the called party to the calling 
party is referred to as "connected identity." Prior work on connected 
identity focused on addressing shortcomings in the core semantics of SIP.
[RFC4916] introduced mechanisms allowing a mid-dialog request, such as 
an UPDATE [RFC3311], to convey identity information in either direction 
within the context of an established INVITE-initiated dialog.
Specifically, [RFC4916] updated the behavior originally defined in 
[RFC3261] by permitting an UPDATE to modify the From header field value 
for requests sent in the backwards (callee-to-caller) direction.
Under the original RFC 3261 rules, requests in the backwards direction 
were required to use a From header field value reflecting the To header 
field value of the dialog-forming request. Consequently, under [RFC3261], 
if Alice initiated a dialog-forming request to Bob, and Bob’s SIP service 
subsequently forwarded the request to Carol, Carol would still be required 
to use Bob’s identity in the From header field of any mid-dialog requests 
sent in the backwards direction.
"

143	   One area of connected identity that is not explored in this document
144	   is the implications for conferencing, especially meshed conferencing
145	   systems.  This scope of this mechanism is solely two-party
146	   communications; multiparty sharing of connected identity is left for
147	   future work.

GV> What about the following textblob:

"
This document does not address the implications of connected identity in 
conferencing scenarios, particularly in meshed conferencing systems. The 
scope of the mechanism described herein is limited to two-party 
communications. The extension of connected identity mechanisms to multiparty 
communications is left for future work.
"

228	   This specification therefore adds provisional and final responses,
229	   including the 100, 180, 183, and 200 responses, to the set of
230	   messages that can contain an Identity header.  PASSporTs that appear

GV> What are 100, 180, 183 and 200 responses?

242	   While it might seem attractive to provide identity for failure
243	   response codes (4XX, 5XX, 6XX), those explicitly do not form dialogs
244	   or connections, and are thus outside the scope of this specification.
245	   The same applies to redirect (3XX) response codes, though see
246	   [RFC8946] Section 7 for guidance on authentication redirection.

GV> Do the 4XX, 5XX etc codes mean something in STIR technology domain? I am 
not sure what this refers towards or what the intent of this phrase is from 
a routing generalist perspective
Jim Guichard
No Objection
Ketan Talaulikar
No Objection
Comment (2025-05-06 for -06) Not sent
I support Med's discuss on clarification of relationship with RFC4916. I don't have the technical expertise in this area to evaluate or recommend how that can be done.
Mahesh Jethanandani
No Objection
Comment (2025-05-06 for -06) Sent
"Copyright Notice", paragraph 0
>    Copyright (c) 2024 IETF Trust and the persons identified as the
>    document authors.  All rights reserved.

The Copyright statement needs to be updated. Normally, this would have happened automatically if the draft had been published anytime this year. However, the document has actually expired. It expired on April 24, but probably because it was already in the IESG queue, it is still marked Active. No explicit action is required other than to publish a new version of the document.

Section 1, paragraph 0
> 1.  Introduction

As Med has already pointed out, the Shepherd's write-up uses an old template. The writeup indicates that there was a gap between -04 and -05 versions of the document, and that might explain why the writeup identifies Murray as the Responsible AD, when in fact it is Orie. The write-up needs to be updated to reflect the change.

No reference entries found for these items, which were mentioned in the text. While somewhat obvious, a note to the RFC Editor would make it clear.

[RFCThis].

Found terminology that should be reviewed for inclusivity; see
https://www.rfc-editor.org/part2/#inclusive_language for background and more
guidance:

 * Term "her"; alternatives might be "they", "them", "their"
 * Term "traditional"; alternatives might be "classic", "classical", "common",
   "conventional", "customary", "fixed", "habitual", "historic",
   "long-established", "popular", "prescribed", "regular", "rooted",
   "time-honored", "universal", "widely used", "widespread"

-------------------------------------------------------------------------------
NIT
-------------------------------------------------------------------------------

All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool), so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

Will note that the Shepherd's write-up already refects this nit. 
Reference [RFC4474] to RFC4474, which was obsoleted by RFC8224 (this may be on
purpose).

Section 4, paragraph 1
> es, per Section 5). At a high level, an "rsp" PASSporT is signed similarly to
>                                      ^^
Use "a" instead of "an" if the following word doesn't start with a vowel sound,
e.g. "a sentence", "a university".

Section 4, paragraph 3
> SIPBRANDY [RFC8862]. The handling of an "rsp" PASSporT differs from the handl
>                                      ^^
Use "a" instead of "an" if the following word doesn't start with a vowel sound,
e.g. "a sentence", "a university".

Section 5, paragraph 1
> ackwards direction is the only current defined way for secure indications of 
>                                ^^^^^^^^^^^^^^^
Make sure that the adjective "current" is correct. Possibly, it should be an
adverb (typically ~ly) that modifies "defined". Possibly, it should be the
first word in a compound adjective (hyphenated adjective). Possibly, it is
correct.

Section 5, paragraph 2
> ved in the dialog-initiating INVITE. An "rsp" PASSporT that signs a different
>                                      ^^
Use "A" instead of "An" if the following word doesn't start with a vowel sound,
e.g. "a sentence", "a university".

Section 5, paragraph 3
> R, a matter of local policy of the relying parties: some stricter systems may
>                                    ^^^^^^^
The verb "rely" requires the preposition "on" (or "upon").

Section 6, paragraph 2
>  cases where it would be useful to relying parties, but recipients of a CANCE
>                                    ^^^^^^^
The verb "rely" requires the preposition "on" (or "upon").

Section 6, paragraph 2
> elying parties who intended to trust an "rsp" PASSporT MUST validate any "div
>                                      ^^
Use "a" instead of "an" if the following word doesn't start with a vowel sound,
e.g. "a sentence", "a university".

Section 7, paragraph 1
> ble, media should not be exchanged. Thus we assume that users have a way in t
>                                     ^^^^
A comma may be missing after the conjunctive/linking adverb "Thus".

Section 8, paragraph 2
> ample.com/cert.cer" } The payload of an "rsp" PASSporT looks entirely like a 
>                                      ^^
Use "a" instead of "an" if the following word doesn't start with a vowel sound,
e.g. "a sentence", "a university".

Section 8, paragraph 3
>  elements appearing in the payload of an "rsp" type PASSporT. 10. UPDATE Pro
>                                       ^^
Use "a" instead of "an" if the following word doesn't start with a vowel sound,
e.g. "a sentence", "a university".

Section 11, paragraph 1
> as with "div," the "dest" element of an "rsp" PASSporT is signed, rather tha
>                                      ^^
Use "a" instead of "an" if the following word doesn't start with a vowel sound,
e.g. "a sentence", "a university".

Section 13, paragraph 1
>  The value of a "rsp" PASSporT to relying parties, as with all PASSporTs, de
>                                   ^^^^^^^
The verb "rely" requires the preposition "on" (or "upon").

Section 13, paragraph 1
> with all PASSporTs, depends on the relying party trusting the certificate tha
>                                    ^^^^^^^
The verb "rely" requires the preposition "on" (or "upon").

Section 13, paragraph 1
> ider Codes (SPCs), effectively the relying party knows the network operator w
>                                    ^^^^^^^
The verb "rely" requires the preposition "on" (or "upon").
Mike Bishop
No Objection
Comment (2025-05-07 for -06) Sent
I support Mohamed Boucadair's DISCUSS regarding updating RFC4916.

The terminology section needs to be updated; while it contains the RFC2919 boilerplate, it doesn't list a lot of the specialized terminology used in this document. Consider adding a list of terms used in this document, potentially with references to other RFCs or relevant documents as needed.
Mohamed Boucadair
(was Discuss) No Objection
Comment (2025-07-31) Sent for earlier
Hi Jon and Chris, 

Thanks for the follow-up and clarification. 

I understand better how you are approaching these. I'm clearing my DISCUSS ballot, but I'm leaving most of content, for record.

================Initial Ballot=================
# Update or not update RFC4916?

We say that the mechanism in 4916 is complex. We also recommend against it in general, except some “corner cases”.

Also, I understand that we don’t specify a new "from-change" behavior, but still the discussion in Section 10 is sufficient in its own to weight the reco in 4916 with at least the complexity statement in this document.

BTW, can we have some brief description of these corner cases? 

# Security, Trust, & Privacy

There are several statements that I think need some better scoping/caution as they may be misleading about provided security protection:

(1)

CURRENT:
   Some sort of directory service might exist advertising support for
   connected identity which institutions could use to inform potential
   callers that, if connected identity is supported when reaching them
   with SIP, there is a potential security problem.   

How to trust that? How this is maintained/populated? What about stale information?

(2)

CURRENT:
   previously supported connected identity, so that if support is
   unavailable later, calling users could be alerted to a potential
   security problem.

This is challenging with number portability and may lead to “false positives”.

(3)

CURRENT:
   Similarly, when clicking on a telephone
   number viewed on a web page, or similar service, smartphones often
   prompt users approve the access to the outbound dialer.  

There is no guarantee that the displayed number corresponds to the actual request-uri of a session that will be issued. May be add a caution about risk with such uses.

(4)

CURRENT:
   probe
   what identity would be reached as a destination, and potentially even
   to exchange STIR PASSporTs in order to validate whether or not the
   expected destination can be reached securely.   

There is no correlation between the probed identities and the session that will be placed. Did I missed something? If not, adding some warning would be needed here.

(5) I wonder whether the probing mentioned early in the document can also be used to help attacker adjust their strategies. If so, can we add a note about this?

For example, the following can be used to detect when redirection/session transfer is in place and infer users activity (transfer of a fixed number for a long period can be a hint that users are abroad, for example)?

CURRENT:
   Note that sending "div" PASSporTs in the backwards direction will
   potentially reveal service logic to the called party.  As presumably
   this service logic is enacted on behalf of the called party, the
   called party can make a policy determination about reflecting those
   "div" PASSporTs back to the caller: connected identity may not be
   compatible with some operator policies.

(6) There are other statements that are presented as providing better security while I think this is more about a "feeling of better secure". For example,

CURRENT:

   Connected identity is very valuable for these use cases because
   it gives a strong assurance to the calling party that they have in
   fact reached the user for the called telephone number.

Assuming the “trusted” device is not also hijacked!

I would avoid claiming this is secure in an absolute manner.

# Group all Operational/Deployment considerations in a dedicated section

There are several ops considerations that are spread in many parts of the document. For the convenience of those who will deploy, it would be better to group these considerations in one section. For example, 

CURRENT:
"div" is not universally supported, so calls MAY
   be retargeted without generating a "div" PASSporT, in which case the
   use of "rsp" PASSporTs will not be possible.  Note that the decision
   to trust any "div" or "rsp" PASSporT is, as always in STIR, a matter
   of local policy of the relying parties: some stricter systems may not
   want to trust any "rsp" that differs from the "dest" in the PASSporT
   of the original request.

   Note that sending "div" PASSporTs in the backwards direction will
   potentially reveal service logic to the called party.  As presumably
   this service logic is enacted on behalf of the called party, the
   called party can make a policy determination about reflecting those
   "div" PASSporTs back to the caller: connected identity may not be
   compatible with some operator policies.

and

CURRENT:
   This
   specification thus does not recommend PASSporTs for any requests sent
   in a dialog other than INVITE, UPDATE, and BYE.

# STIR deployment assumptions

Maybe that’s obvious for the authors/WG, but should we say early that the STIR benefits will be observed if all involved session parties are STIR-capable?

# Logging 

CURRENT:
   While this specification does not prescribe any user experience
   associated with placing a call, it assumes that callers might have
   some way to a set an authorization posture that will result in the
   right thing happening when the connected identity is not expected.

Can we have some reco for UAC to logs such events? In some contexts, this can be used for troubleshooting.

# Back with a reference

(1)

CURRENT: 
  SIP Identity header and the revised problem space of STIR.  

Please cite a reference for the revied pb space.

(2)

CURRENT:
   For example,
   there is a class of mobile fraud attacks ("call stretching")  

Do we have any ref about “call stretching” attack we can cite here?

(3)

CURRENT:
  and PRACK, and provisional responses 

Cite RFC3262?

(4)

CURRENT:
   Mid-dialog requests also require special handling in diversion cases.
   Relying parties who intended to trust an "rsp" PASSporT MUST validate
   any "div" chain back to the "rsp" PASSporT on any Identity header

Can we have a pointer about how the chain validation is done?

# On terminology

The document makes use of STIR/SIP terms that need to be digested. Please add a note to Section 2 where readers can find those (“retargeting”, “SIP service”, etc.).

Also, terms such as PAID are used without being introduced. Consider: s/the P-Asserted-Identity header/the P-Asserted-Identity (PAID) header

# I don’t parse the following as RFC8862 is about best practices. Please elaborate.

CURRENT:
   This document also addresses concerns
   about applying [RFC4916] connected identity to STIR discussed in the
   SIPBRANDY framework [RFC8862].

# Side note

CURRENT:
   Moreover, on the
   Internet, the lack of any centralized or even federated routing
   system for telephone numbers has resulted in deployments where the

(no change is needed) This reminds me TRIP (RFC3219) and its inherent support of policies; but the market decided otherwise.

# Redundant behavior

(1) Section 4

CURRENT:
   (although "div" MAY additionally appear in responses, per
   Section 5). 

No need to be redundant with Section 5. Keep the normative language in one place. Thanks. 

(2) Section 6

CURRENT:
   originating and terminating side, as well as any BYE requests, SHOULD
   contain Identity headers with valid PASSporTs.  If only the
   terminating side supports connected identity, obviously the
   originator cannot be expected to know that it needs to send PASSporTs
   for subsequent requests like BYE.  Doing so prevents third-parties
   from spoofing any mid-dialog requests in order to redirect media or
   similarly interfere with communications, as well as preventing denial
   of service teardowns by attackers, so it has clear benefits and is
   thus RECOMMENDED.

There is a subtlety here but these SHOULD/RECOMMENDED are redundant IMO. Keep one.

# NITS

## Please use “session” instead of “call” as the mechanism applied to any media session. Also consider using “terminating”/”initiating” parties rather that “called/calling”, etc.

## Expand STIR in the abstract

## SIP does not initiates sessions

OLD: The Session Initiation Protocol (SIP) [RFC3261] initiates
NEW: The Session Initiation Protocol (SIP) [RFC3261] is used to initiate

## Better Scope

OLD:
   One area of connected identity that is not explored in this document
   is the implications for conferencing, especially meshed conferencing
   systems.  This scope of this mechanism is solely two-party
   communications; multiparty sharing of connected identity is left for
   future work.

NEW
   This document focuses solely two-party
   communications; multiparty sharing of connected identity is left for
   future work. Specifically, it is out of scope to explore the implications
   for conferencing, especially meshed conferencing systems.  

## Past constructs

Even if this was published in the past, many statements related to 4916 can still be used in present. Please update these statement to use present. For example, 

OLD: [RFC4916] allowed
NEW: [RFC4916] allows

Or

OLD: [RFC4916] rightly observed
NEW: [RFC4916] rightly observes  

Etc.

## Simplify

OLD:
   It also
   explores some new features that would be enabled by connected
   identity for STIR, including the use of connected identity to prevent
   route hijacking and to notify callers when an expected called party
   has successfully been reached.  

NEW:
   It also
   explores some new features that would be enabled by connected
   identity for STIR, including to prevent
   route hijacking and to notify initiating parties when an expected terminating party
   has successfully been reached.  

## Modern?!

(1)

CURRENT:
   The STIR problem statement [RFC7340] enumerates robocalling,
   voicemail hacking, vishing, and swatting as problems with the modern
   telephone network 

I would s/modern/IP-based

(2)

CURRENT: 
  The user interface of modern smartphones support an address book from 

There was such address book even in old fixed phones ;-) I would delete “modern” mention.

## Generalize

OLD:
   Finally, telephone numbers are widely used today for two-factor
   authentication (TFA) prior to accessing web resources, 

NEW:
   Finally, telephone numbers are widely used today for two-factor
   authentication (TFA) prior to accessing resources on the Internet, 

## Straightforward

CURRENT: 
  In straightforward call setup, the address-of-record

That is?

Please consider s/ address-of-record/address-of-record (AoR). Then, use AoR in the remaining part of the text. 

## Move upper as this convention is already used before this note.

CURRENT:
   PASSporTs of the "rsp" type will be
   referred to throughout this specification as "rsp" PASSporTs.

## Be consistent with 3261 use + nit fix

OLD: 
   While it might seem attractive to provide identity for failure
   response codes (4XX, 5XX, 6XX), those explicitly do not form
   dialogs
   or connections, and are thus outside the scope of this specification.
   The same applies to redirect (3XX) response codes, though see
   [RFC8946] section 7 for guidance on authentication redirection.

NEW:
   While it might seem attractive to provide identity for failure
   response codes (4xx, 5xx, 6xx), those explicitly do not form
   dialogs
   or connections, and are thus outside the scope of this specification.
   The same applies to redirect (3xx) response codes, though see
   Section 7 of [RFC8946] for guidance on authentication redirection.

There are other similar occurrences in the document that need to be fixed.

Cheers,
Med
Paul Wouters
No Objection
Comment (2025-05-07 for -06) Not sent
I agree with Med that "This document updates prior guidance" seems to imply it Updates: a previous document.
Roman Danyliw
No Objection
Comment (2025-04-30 for -06) Not sent
Thank you to Elwyn B. Davies for the GENART review.  Please consider the proposed editorial changes.

I support Mohamed Boucadair DISCUSS position and the feedback of the GENART reviewer on providing additional clarity in Section 10 on the relationship between this specification and RFC496.