Subject: [Sipbrandy] AD Evaluation of draft-ietf-sipbrandy-rtpsec-06

From: Ben Campbell <[email-masked]>
Date: Fri, 28 Dec 2018 18:04:34 -0600

Hi,

This is my AD Evaluation of draft-ietf-sipbrandy-rtpsec-06. I have a few substantive comments, and some editorial and nit comments. I’d like to resolve the substantive comments prior to IETF Last Call.

Thanks!

Ben.

------------------------------

*** Substantive Comments ***

§4:
- general: The section explains the requirement that the AS and VS to be colocated with the caller and recipient UAs as because putting them in an intermediary could allow that intermediary to act as a MitM. Isn’t this more a question of trust than physical location? Users already need to trust the AS and VS for STIR to work at all. In particular, I don’t think it’s safe to imply that a local AS _can’t_ act as a MiTM unless the code is inspected (and perhaps signed) by a trusted entity.

For the record, I do not necessarily object to the colocation requirement; I’m just not entirely buying the explanation for it.

- 2nd paragraph: "While intermediaries MAY provide the verification service function of STIR for SIPBRANDY transactions,”: That seems to contradict the statement in the following paragraph that the user agent implementations MUST implement both the AS and VS.

§4.1:
- General: This section talks about self-signed certs and TOFU. Would you characterize those as comprehensive security? I suspect not, since they offer more exposure to active attacks. But I’m not sure they qualify as “opportunistic”, since they don’t (necessarily) allow a fallback to cleartext. In any case, some text discussing this question might be helpful. (This also includes §4.2)

- third paragraph: "This profile of STIR therefore relaxes the authority requirements of [RFC8224]”
Does that require this draft to formally update 8224?

§4.3: Does this draft need to formally update 4916? It’s not clear to me if this draft intends to update these, or is stating that these are some updates we should do in the future. The last paragraph suggests the latter, but the rest of the section seems to be more the former.

§4.4, last paragraph: Is there an expectation that the UA will alert the user if it allows the dialog to continue without media security?

*** Editorial Comments ***

- Abstract: Is it really still true that this draft provides solutions for opportunistic security? The draft mentions OS, but it seems to delegate the solutions to the osrtp draft.

§3.1, last paragraph:

- s/“To establishing”/“To establish”
- " STIR generates a signature over certain features of SIP requests,”: Is “features” the right word? Maybe “parameters”?
- "As currently defined, STIR only provides a signature over the "a=fingerprint" attribute”: That’s not really true. I think you mean to say that this is the only key exchange mechanism that STIR will sign as currently specced?

§3.2:
- first paragraph (and elsewhere in the doc): Please update the reference for the osrtp draft to "draft-ietf-sipbrandy-osrtp”
- last paragraph: “ opportunistic confidentiality for media will prevent passive attacks”: Should “will” be “may”, given that osrtp allows fallback to no confidentiality protection?

§4:
- Please expand UAS on first mention.
- is there something that could be cited for STIR’s “core threat model”?
- 2nd to last paragraph: "Implementations MUST provide key fingerprints in SDP ...” seems redundant to the last paragraph.

§4.1:
- first paragraph (and elsewhere): I found the use of the term “greenfield” to describe SIP URIs a bit confusing. I assume that is meant to contrast with “legacy” phone numbers, but there is no explanation to that effect. Is it insufficient to just say “SIP URIs” and “telephone numbers” without the additional qualification?

-2nd paragraph: This will hopefully eventually be over taken by events. Would it make sense to add an “At the time of this writing...” disclaimer?

§6: s/mux/multiplex, s/muxed/multiplexed

§7: “implementations of this specification must support ICE”: Should the “must” be “MUST”?

---

From: Russ Housley <[email-masked]>
Date: Sun, 30 Dec 2018 17:56:08 -0500

Ben:

Thanks for the thoughtful and careful review.

Responding only to your Substantive Comments for now...

> For the record, I do not necessarily object to the colocation requirement; I’m just not entirely buying the explanation for it.

The SIPBRANDY profile is based on an end-to-end trust model.  The verification could take place at an intermediary, but to get the end-to-end assurance, the verification would need to be repeated at the end.

> - 2nd paragraph: "While intermediaries MAY provide the verification service function of STIR for SIPBRANDY transactions,”: That seems to contradict the statement in the following paragraph that the…

Again, verification could take place at an intermediary for their own purposes, but the end-to-end assurance is only provided if the check is made at the end as well.

> - General: This section talks about self-signed certs and TOFU. Would you characterize those as comprehensive security? I suspect not, since they offer more exposure to active attacks. But I’m not…

No, I would not characterize the use of self-signed certificates as comprehensive security.  This section is suggesting them as an alternative when other certificates are not available for the caller identity.  The PKI for telephone numbers is not yet available, but it is coming.  The PKI for a SIP URI without a telephone number (e.g. "sip:[email-masked]") is not being worked yet.  Sp, self-signed certificates give a way to start.  An active attacker could strip the signature altogether.

> Does that require this draft to formally update 8224?

I do not think so.  RFC 8224 says:

   ...  Similar practices could be used to support opportunistic
   signing of SIP requests for UA-integrated authentication services
   with self-signed certificates, though that is outside the scope of
   this specification and is left as a matter for future investigation.
   Note, however, that even when using anonymous SIP URIs, an
   authentication service must possess a certificate corresponding to
   the host portion of the addr-spec of the From header field value of
   the request; accordingly, using domains like "anonymous.invalid"
   will not be usable by privacy services that simultaneously act as
   authentication services.  The assurance offered by the usage of
   anonymous URIs with a valid domain portion is "this is a known user
   in my domain that I have authenticated, but I am keeping its identity
   private."

> §4.3: Does this draft need to formally update 4916? It’s not clear to me if this draft intends to update these, or is stating that these are some updates we should do in the future. The last paragr…

Yes, it probably should update RFC 4916.

> §4.4, last paragraph: Is there an expectation that the UA will alert the user if it allows the dialog to continue without media security?

Since the IETF does not normally get into user interface, the "if policy permits" language would allow the user to be involved in the decision, or it could be set by other means.

Russ