John,

Your new definition is good.

To summarize, we have:
   1) Consumer-Facing Interface (a.k.a., Client-Facing Interface)
   2) NSF-Facing Interface

   Consumer:  A Consumer is a Role that is assigned to an I2NSF
      Component that represents the needs of a user of I2NSF services.
      A consumer can send/receive information to/from another I2NSF
      Component (e.g., for defining and monitoring security policies
      for the Consumer's specific flows through an I2NSF
      administrative domain).  See also:  Provider, Role.

And you have agreed to drop the “Capability Interface”.

Thanks, Linda


From: John Strassner [mailto:[email protected]]
Sent: Wednesday, October 19, 2016 2:06 PM
To: Linda Dunbar <[email protected]>; John Strassner <[email protected]>
Cc: [email protected]
Subject: Re: Need two different names: One for the Set of rules with 
Users/tenants oriented attributes; another for Set of rules that are applied to 
NSFs (i.e. port/addresses based).

Hi Linda,

the original question was about the **Capability Interface**. I'm not sure that 
this is what you are talking about, so let me be explicit.

The original architecture had four interfaces:

   1) Consumer-Facing Interface (a.k.a., Client-Facing Interface)
   2) NSF-Facing Interface
   3) Capability Interface
   4) Registration Interface

I **like** these four interfaces, because they each serve different purposes 
(ref: Single Responsibility Principle, among others, in software architecture).

Now it appears that you are no longer talking about the Capability Interface; 
rather, you want to change the definition of Consumer to clarify that it is 
acting between end-users of the I2NSF system and the controller. Assuming that 
this is correct, how about the following modification:

   Consumer:  A Consumer is a Role that is assigned to an I2NSF
      Component that represents the needs of a user of I2NSF services.
      A consumer can send/receive information to/from another I2NSF
      Component (e.g., for defining and monitoring security policies
      for the Consumer's specific flows through an I2NSF
      administrative domain).  See also:  Provider, Role.

regards,
John

On Wed, Oct 19, 2016 at 8:18 AM, Linda Dunbar 
<[email protected]<mailto:[email protected]>> wrote:
John,

All we need is to have two different names to differentiate
-        Set of rules with Users/tenants oriented attributes
-        Set of rules that are applied to NSFs (i.e. port/addresses based).

Consumer facing and NSF facing would be good, but with the definition for 
“Consumer” in the terminology draft , “consumer” can also mean controller 
consuming NSFs (i.e. the NSF facing interface).  If we use the “consumer facing 
interface”, can you modify the definition for “consumer”?

   Consumer:  A Consumer is a Role that is assigned to an I2NSF
      Component that can receive information from another I2NSF
      Component.  See also:  Provider, Role.


Thanks, Linda

From: John Strassner [mailto:[email protected]<mailto:[email protected]>]
Sent: Wednesday, October 19, 2016 2:10 AM
To: Linda Dunbar <[email protected]<mailto:[email protected]>>; 
John Strassner <[email protected]<mailto:[email protected]>>
Subject: Re: you could be correct, but we are dealing with a group of people 
who commonly interpret "Interface" as "port"

I'm confused.

There is no argument about Consumer-Facing and NSF-Facing Interfaces.
Do you want two different names for the Capability Interface, one for 
Consumer-Facing and one for NSF-Facing Interfaces? Or do you want something 
else?

I am troubled that the list is silent.

regards,
John

On Tue, Oct 18, 2016 at 6:27 PM, Linda Dunbar 
<[email protected]<mailto:[email protected]>> wrote:
John,

You can be correct. But the Interim meeting, most people expressed the desire 
of using “interface” to mean the “port” on the controller: one port facing user 
(i.e. the User/client facing interface), another port facing NSFs (NSF-Facing 
interface).

Sept 13 meeting minutes:
Final agreement: We

Two interfaces
- Consumer/Client Facing Interface
- NSF Facing Interface
Within these we have "sets of operations"
One of these sets is the "Capabilities set of operations"



At the time I didn’t realize that “consumer” also applicable to “Controller” 
consuming the NSFs. That is why I want to use a different term.

All we need is to have two different names to differentiate

-        Set of rules with Users/tenants oriented attributes

-        Set of rules that are applied to NSFs (i.e. port/addresses based).


Let’s use have two names and move forward.

Can you give me a call?

Thanks, Linda


From: John Strassner [mailto:[email protected]<mailto:[email protected]>]
Sent: Tuesday, October 18, 2016 2:19 PM
To: [email protected]<mailto:[email protected]>
Cc: Linda Dunbar <[email protected]<mailto:[email protected]>>; 
Adrian Farrel <[email protected]<mailto:[email protected]>>; John Strassner 
<[email protected]<mailto:[email protected]>>
Subject: The (in)famous Capability Interface

Hi all,

recently, a number of questions have been raised about the Capability 
Interface. There are two sources of confusion:

   1) What, exactly, is an "interface"? Can we use a different word instead of 
interface?
   2) Why do we need another interface (or similar word)?

Clarifying the first issue.
A number of people have stated that to them, an "interface" is synonymous with 
"communication". This is NOT what was meant when this I-D was written. Indeed, 
the definition of Interface, from that I-D, is as follows:

   Interface:  A set of operations one object knows it can invoke on,
      and expose to, another object.  It is a subset of all operations
      that a given object implements.  The same object may have multiple
      types of interfaces to serve different purposes.  An example of
      multiple interfaces can be seen by considering the interfaces
      include a firewall uses; these include:
         *  multiple interfaces for data packets to traverse through,
         *  an interface for a controller to impose policy, or retrieve
            the results of execution of a policy rule.
      See also: Consumer Interface, I2NSF Interface, Provider Interface

Note that the above definition implies a **shared boundary** across which two 
entities send and/or receive data. In other words, what's important is the set 
of standard operations that can be invoked, and **not** the fact that this is a 
form of communication.

Clarifying the second issue.
The reason that a separate interface for exchanging capability information was 
proposed is to minimize the attack surface. The capability interface is for 
exchanging **all** capabilities, so that two entities may negotiate and agree 
on what set of capabilities will actually be used. Clearly, this is different 
than operation on either the consumer-facing or NSF-facing interfaces, since 
those interfaces are constrained to using **only** the set of capabilities that 
have been agreed upon to use. This follows the well-known Principle of Least 
Privilege (i.e., in a particular abstraction, every function must be able to 
access **only** the information and resources that are necessary for the 
legitimate purpose of that function.

Exposing the set of **all** capabilities over a widely used interface (like the 
consumer- or NSF-facing interfaces) is a **bad idea**. It risks an attacker 
understanding the complete set of capabilities of the system. Furthermore, from 
a software componentization point-of-view, there is a significant difference 
between exposing and negotiating between the set of all capabilities (which is 
the purpose of the Capability Interface) and simply using a selected set of 
capabilities (which is the purpose of the consumer-facing or NSF-facing 
interfaces).

I hope this clarifies these two issues. I'll wait a couple of days before 
issuing the next update to the Terminology Draft.

best regards,
John

--
regards,
John



--
regards,
John



--
regards,
John
_______________________________________________
I2nsf mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/i2nsf

Reply via email to