Hi Alissa, all,

many thanks for the review and sorry for my late reply. Please see inline

On 15.01.2016 22:58, Alissa Cooper wrote:
I have reviewed this document in preparation for IETF last call. I have a 
number of comments and questions that need to be resolved before last call can 
be initiated. In particular, I have some security concerns about using this in 
an overlay that allows registrations for any domain.


Regarding the security concerns, please see below.

I’ve also included some nits below that should be resolved together with last 
call comments.


== Substantive comments and questions ==

= Section 3.2 =

This section is underspecified and I’m not sure the references to RFC 2533 and 
RFC 2738 are the appropriate ones. I think what you need to specify here is 
that the contact_prefs will encode a media feature set comprised of SIP User 
Agent capabilities, as defined in RFC 3840 and registered in the SIP media 
feature tag registration tree (assuming that is what is intended).


Previous version had been the state of discussion from a long time ago. We've updated to follow RFC 3840, which was indeed intended.

It’s also confusing that you only mention whether sip.schemes is required or 
not without mentioning whether specifying any other capabilities is required or 
optional.


This is only a highlighting following a previous discussion on the list, where clarity was requested on how to distinguish SIP/SIPs. We've made this more explicit by the following text:

   In particular, a callee can indicate that it prefers contact via a
   particular SIP scheme - SIP or SIPS - by using one of the following
   contact_prefs attribute:

         (sip.schemes=SIP)
         (sip.schemes=SIPS)



= Section 3.3 =

"Before issuing a Store request to the overlay, any peer SHOULD verify that the AOR 
of the request is a valid Resource Name with respect to its domain name and the 
namespaces defined in the overlay configuration document (see Section 3.4)."

Why is this SHOULD rather than MUST?


This only concerns the issuer of a request and the rationale behind being liberal is that there might be reasons why an issuer cannot validate the Resource Name (e.g., does not have resources, or no access to a current/consistent overlay configuration etc.). The storing node does have the obligation ("MUST") to verify the AOR.

This could be changed, though, but from the perspective of consistency, the storing node is the one to take the final responsibility.

= Section 3.4 =

(1) I note that this documents refers to a different version of the IEEE Posix 
spec than draft-ietf-p2psip-share. What’s the reason for the difference?


This I could not figure. I had several colleagues looking at the case, but all see identical Posix refs???

(2)
I find the explanation of the expected behavior here hard to follow. I've suggested a 
re-write below. There also seems to be one case that is not specified, which is when the 
"enable" attribute is set to false. Text describing what should happen in that 
case needs to be added.


Thanks for the improvement, we replaced the text. Also, there is now a definition for the "enable" attribute is set to false:

   If the element is
   included and the "enable" attribute is not set or set to false, the
   overlay MUST only accept AORs that match the domain name of the
   overlay.


= Section 8.2.3 =

The attack described here seems trivial, and therefore it seems to me that the 
way SIP usage of RELOAD has been specified here has a gaping hole in it. 
Basically in any overlay that wants to allow registrations from any domain, the 
only defense against calls being directed to the wrong recipient is for users 
to bypass the overlay and do what they would normally do when making a SIP 
call. Thus in this use case the only thing achieved by using RELOAD is to 
create a giant vulnerability.

Did the WG consider this? What is the value of standardizing this in this way, 
given this security issue? If the way that SIP usage was specified was limited 
to overlays with domain restrictions, at least this attack would be limited to 
bogus registrations of users within the overlay domain(s).


This security issue only arises, if the overlay *and* the enrollment service both do not impose restrictions. Normally, at least the enrollment server does not issue certificates for any username/AOR. We have clarified by referring to authorization at this point.

Actually, this issue comes at no surprise: If we allow anybody to store any name, then the system is open to name hijacking. The concept of name restrictions and implications was discussed at a WG meeting and was considered deployment-dependent. There may be use cases that provide protection by other means. However, the default case of this spec is to restrict AORs to the current domain name *and* have the enrollment server authorize individual names.

Still it is IMO good to be clear to the reader: If you open up the name registration, then you may face name hijacking.


= Section 8.2.4 =

(1)
By "public" you mean "visible to all nodes in the overlay," correct?


Yes - reworded now.

(2)
"Methods of providing
    location and identity privacy are still being studied."

Is this true, specifically for P2PSIP?


For P2P overlays, I guess privacy is an active field. This would apply to P2PSIP, even if work is not explicitly dedicated to it.


== Nits ==

= Section 1 =

s/The REsource LOcation And Discovery (RELOAD)/REsource LOcation And Discovery 
(RELOAD)/

Thanks, corrected.

OLD
Two opposite scenarios of deploying P2P SIP services are in the focus of this document: A 
highly regulated environment of a "single provider" that admits parties using 
AORs with domains from controlled namespace(s), only, and an open, multi-party 
infrastructure that liberally allows a registration and rendezvous for various or any 
domain namespace.

NEW
This RELOAD usage may be relevant in a variety of environments, including a highly 
regulated environment of a "single provider" that admits parties using AORs 
with domains from controlled namespace(s) only, or an open, multi-party infrastructure 
that liberally allows a registration and rendezvous for various or any domain namespace.


Thanks, replaced.

= Section 3.1 =

"RELOAD peers MAY store two kinds of SIP mappings”

I don’t think you need the normative MAY there, “can” would work.


Thanks, fixed.

= Section 3.4 =

The second line of the example here needs to use .example as the TLD, not 
.name. Please make the corresponding changes in the text.


Thanks, fixed.

= Section 5.1 =

s/MUST NOT be used and closed/MUST NOT be used and MUST be closed/


Fixed, thanks.

= Section 6 =

I don't think you need the normative MAY here.


Also cleared.

Cheers,
 Thomas

--

Prof. Dr. Thomas C. Schmidt
° Hamburg University of Applied Sciences                   Berliner Tor 7 °
° Dept. Informatik, Internet Technologies Group    20099 Hamburg, Germany °
° http://www.haw-hamburg.de/inet                   Fon: +49-40-42875-8452 °
° http://www.informatik.haw-hamburg.de/~schmidt    Fax: +49-40-42875-8409 °

_______________________________________________
P2PSIP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/p2psip

Reply via email to