Hi Eric, same here.

On 5 May 2016, at 8:18, Eric Voit (evoit) wrote:

Hi Ben

Thanks, more in-line...

From: Ben Campbell, May 05, 2016 12:12 AM


[...]

----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

I have a couple of points I would like to discuss. Hopefully they can
be resolved
easily:

Are there really no requirements for privacy or integrity protection?
Is there an
expectation that this mechanism would ever carry privacy sensitive or
otherwise
sensitive information?

When the subscription is established dynamically via an existing
transport session (which is expected to be the dominant case) we have
the same expectations for Privacy and integrity as would be provided
via a "GET" instead of a "PUSH" over the same transport.   We could
have replicated all these requirements, but that was seen as
unnecessary and likely less secure than adopting existing mechanisms.

Where do those requirements live now? I recall this draft mentioning
that support for multiple transports is required, but I don't recall
seeing anything about the required transport properties. (It's entirely
possible I missed it, or just forgot.)

In Susan's email, she points out other I2RS documents with such requirements such as:
https://datatracker.ietf.org/doc/draft-ietf-i2rs-protocol-security-requirements/

The authors do hope that these subscription requirements will be applicable beyond I2RS protocols. Therefore decoupling from transport to the degree possible seemed wise. Therefore we didn't list some of the many documents which talk about ways to lock down existing and potential transports over which subscription updates might be pushed. These exist elsewhere. Example documents which could have been linked include:
- RFC5539: NETCONF over Transport Layer Security
- RFC6242: Using the NETCONF Protocol over Secure Shell
- others relating to Restconf, HTTP, IPFIX, etc.

So in summary, it seems duplicative to bind in transport security references here when these should be picked up when a transport protocol selection is made. But we can include if directed by the IESG.

(See my comments to Susan.) My concern here is that there are a assumptions about the security properties of the environment that need to be explicit. You don't have to restate everything, but pointing to those documents would help.

But there's still a fundemental conflict between the idea that this mechanism should be useful beyond the i2rs context, and the assumption of i2rs security mechanisms.



When the Subscriber and Receiver are different, then the transport
connection will have credentials passed as part of the establishment. These credentials will be used as a Security Grooming Filter just like the above case so that pushed objects will be excluded from an Update Notification as per the permissions of the Receiver. (I.e., this is
identical behavior to the above.)    As several people have had
questions about this, the new v07 will make this explicit in the
Security section.

That will likely resolve my concern, but there's not enough detail here
to judge. I will watch for the update.

Update posted.

Thanks, I saw that shortly after I sent this, but have not yet had time to look at it. I will do so as soon as I can.




- 4.2.5, 2nd to last paragraph:
I am surprised to find that, when the receiver is not the subscriber,
that the
receiver is expected to opt-out. It seems like some form of opt-in or
affirmative
consent would be needed here.

The question really was how heavy-weight should the mechanism be.
Transports been considering are all encrypted. So there is already a
level of trust between the peers.  And a target can always pull down
the connection if there are issues.

I think you are talking about solution, not requirements. If the
solution is already known, what is the purpose of publishing the
requirements?

One technology solution is being worked in the NETCONF WG, but this is in flux. Other solutions which don't meet the majority of these requirements are being worked elsewhere (e.g., OC-Telemetry.yang). There is value in listing the requirements in of themselves.

I accept that--but if that is the case, it doesn't seem wise for the requirements to assume something is not a problem because it's not a problem for a particular solution.



In addition, multicast transports are viable for some future cases.
We didn't want mechanisms which complicated this type of interaction,
especially in a world where dumb IoT devices may be involved.

I think my response to this will depend on the details you mention are
coming in 07.

This gets back to the point above about trying to maximally decouple subscription establishment security (discussed in this document) with transport payload security (which we believe is best left to the transports themselves to reference).


Hmm. I infer from that that requirements about how Updates are carried (as opposed to when and to whom they are carried) are not in scope here? But that still ties back to whether this is expected to be a general mechanism, vs just an i2rs or netconf mechanism.



----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

[...]


-- 4.2.2, third bullet: The previous section said dampening periods
MUST be
supported.

Yes, but dampening is never for periodic subscriptions.

The third bullet is about on-change updates, not periodic publication.
4.2.1 says the service MUST support dampening for on-change updates.

Yes, but on-change itself is as SHOULD.  See the requirement:
   A Subscription Service SHOULD support the ability to subscribe to
updates "on-change", i.e., whenever values of subscribed data objects
   change.
IF on-change is supported, then dampening is a MUST.

The requirement in question must be written in a way which handles implementations which don't support on-change.

Ah, there lies the confusion. I interpreted the "(if supported)" part to be about whether the dampening period was supported, not about whether on-change was supported.

I suggest something to the effect of:
OLD
  The dampening period, for on-change update policy (if supported)
NEW
The on-change policy dampening period (if the on-change policy is supported).




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

Reply via email to