Re: Fwd: NEA requirements (was Re: Fwd: [Nea] Re: use of a design team to develop requirements)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fwd: NEA requirements (was Re: Fwd: [Nea] Re: use of a design team to develop requirements)



who says the NEA server has to make a (nontrivial) decision?

who said the decision is trivial or non-trivial? I don't even know what that means.

in my mind a trivial decision would be a situation where the client software is responsible for determining whether the host conforms to the profile for that network, it simply reports this to the NEA server, and the NEA server then verifies that the profile is current and that the NEA client is trustworthy. that's why the signature, because the server would want some way to establish trust in the NEA client before granting access to the network. but in this model, the server's decision-making role is fairly "trivial" - if the signature checks out, believe whatever the client is saying and give the client whatever level of network access corresponds to that client and that profile.

by contrast, a non-trivial decision would be one where the NEA server
has to decide, based on several pieces of information provided by the
client (say, the results of some arbitrary number of tests), what level
of network access a client should have.

if the client presents a statement, signed by a key that is
traceable to a host and a product, that says that the host conforms
to a certain level of a profile, what more does the server need to
do other than to tell the network to give the host whatever level
of access corresponds to that profile?

Ok, I am going to pass on the key signing for the moment. It's an implementation issue and can be discussed later.

I don't think it's an implementation issue - it needs to be specified as part of the protocol.

Your general point, one where the client sends a statement that it
conforms to a level of profile makes sense make sense but I have two
questions.

1) How do you propose the handshake happen?

It seems a bit early to do protocol design but offhand I think it would look something like this:

<some event triggers an NEA verification>
S: I'm server <servername>, acting on behalf of network <networkname>
and here are my credentials.
C: I'm client <clientname>, and here are my credentials.
S: current profile for you is <profilename, profileversion>.
C: For network <networkname>, I {do, don't} conform to profile <profile name, profile version>, signed <clientname>, and here are my credentials.
S: You are granted access level {full, reduced, remedial, none}.
C: thanks!


and that would be it.  Or maybe

<some event triggers an NEA verification>
S: I'm server <servername>, acting on behalf of network <networkname>
and here are my credentials.
C: I'm client <clientname>, and here are my credentials.
S: current profile for you is <profilename, profileversion>.
C: I don't have profile <profilename, profileversion>
S: <profilename, profileversion> consists of "bits..."
C: bye!

(with the assumption that the client then needs to take some time to evaluate that profile before attempting to connect again)

and just in case it's not obvious, the profile would contain a list of tests that needed to be carried out by the client.

2) What happens in the case where a NEA client doesn't send
sufficient information to the NEA server for the NEA server to make a
decision?

In this model, there's always sufficient information provided to the server because most of the decision is made on the client, and the client just reports the result of that evaluation to the server. The server just decides whether the client's decision-making and reporting are trustworthy and gives the client the level of access that it's configured to give based on the client identity and profile.

That could be a query/response or it could be notification
mechanism, though the latter is highly inflexible and severly
limiting.

yes, but that's the point - the limitations are highly desirable in reducing the threat of NEA to privacy, and they don't get in the way of letting NEA do the job that it is designed to do. they also have the advantage of making NEA a fairly trivial protocol to design and implement, allowing the standard to get to market much more quickly.

I was not referring to privacy limitations. Remember, I don't think privacy is much of an issue.

Well, perhaps we simply disagree, or perhaps you just have in mind a different model which deals with privacy threats in a different way. But it's important to not assume that NEA will be used only by people/networks who respect users' privacy.

The limitations in a notification mechanism is that the communication
is one-way with no chance for the two system to converge. The policy
decision comes down to "Did the NEA client send me what I need to
know?" and "Does that fit my policy?" If the exchange fails at
question 1 and there is no recourse for the NEA server to query the
NEA client for more information, then the exchange ends. That is
inflexible and a non-starter.

Any protocol that allows the client and server to iterate with the server demanding arbitrary information from the client is a huge privacy risk and a non-starter for that reason.

Keith


_______________________________________________ Nea mailing list Nea at ietf.org https://www1.ietf.org/mailman/listinfo/nea




Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.