On 7/10/15 12:09 AM, Tirumaleswar Reddy (tireddy) wrote:
Hi Paul,

Please see inline

-----Original Message-----
From: Paul Kyzivat [mailto:[email protected]]
Sent: Thursday, July 09, 2015 8:26 PM
To: Tirumaleswar Reddy (tireddy); Sam Hartman
Cc: [email protected]; General Area Review Team
Subject: Re: Gen-ART Telechat review of draft-ietf-pcp-authentication-13.txt

On 7/8/15 7:20 AM, Tirumaleswar Reddy (tireddy) wrote:
I agree with the discussion and propose the following text to address the
comments.

NEW:

Where?

I suspect there is need of another document section, or even a larger
reorganization, to fit this in with all the other changes we have discussed. (I
think at the moment it is becoming a patchwork.)

Yes, I have added a new section called "Recovery from lost PA session".

Sounds good.

     If a PCP server resets or loses the PCP SA due to reboot, power
     failure, or any reason then it sends unsolicited ANNOUNCE response as
     explained in section 14.1.3 of [RFC6887] to the PCP client.  Upon
     receiving the ANNOUNCE response with an anomalous Epoch time, PCP
     client deduces that the server may have lost state.

I had forgotten about the Epoch time logic. That does provide a tool to
facilitate discovering loss of sync.

     PCP client sends
     re-authentication request to the PCP server to check if the PCP
     server has indeed lost the state or an attacker has sent the ANNOUNCE
     response.  If the response from the PCP server is integrity-protected
     then PCP client discards the re-authentication process

How do you go about *discarding* the re-authentication process once it has
begun? I don't see any mechanism for doing that.

The client can stop the re-authentication process anytime and it won't impact 
the PCP SA as long as the session lifetime has not expired. What problem do you 
see with this approach ?

IIUC client and server each have an implied state machine for handling received PA messages based on their response code. But it is only implied, so there is little specification of error conditions, such as receipt of a message with a response code that is unexpected in that state.

If you just stop in some intermediate state, the other side will be stuck in that state until it receives another PA message on the 5-tuple. Depending on where things stopped, it might retransmit the last message. And you are then depending on the implementation being happy if re-authentication starts over from the beginning at some later time.

I think it would improve the chanced for interoperability if you included explicit specification of those state machines, with all the transitions. (One state machine for the client, another for the server.)

The simple solution is to just go ahead and complete the re-authentication.
However this does open a DoS attack path.

A cleaner way would be for the client to send some sort of NO-OP request
within the session. That then could complete or fail.

     and the PCP
     server MUST NOT delete the PCP SA.  If the PCP server responds to the
     re-authentication request with UNKNOWN_SESSION_ID error code then
the
     PCP client MUST discard the re-authentication process and initiate
     full EAP authentication with the PCP server as explained in
     Section 3.1.1.  After EAP authentication is successful PCP client
     updates the PCP SA and issues new common PCP requests to recreate any
     lost mapping state.  In a scenario where the PCP server has lost the
     PCP SA but did not inform the PCP client, if the PCP client sends PCP
     request integrity-protected then the PCP server rejects the request
     with UNKNOWN_SESSION_ID error code.  The PCP client then initiates
     full EAP authentication with the PCP server as explained in
     Section 3.1.1 and updates the PCP SA after successful authentication.

     If the PCP client resets or loses the PCP SA due to reboot, power
     failure, or any reason and sends common PCP request then the PCP
     server rejects the request with AUTHENTICATION_REQUIRED error code.
     The PCP client MUST authenticate with the PCP server and after
     EAP authentication is successful retry  the common PCP request with
     AUTHENTICATION_TAG option.  The PCP server MUST update the
     PCP SA after successful EAP authentication.

The rest of this all seems to work.

Thanks.


But I think there is need for more analysis of what happens if client or server
restarts at special points in exchanges. For instance:

- client sends Common PCP request within a session then restarts before
receiving the response.

If the endpoint reboots then application triggering the PCP request would also 
have re-started and would not care about the PCP request/response. After the 
application restarts it would trigger new PCP request.

OK, I guess so for this one. The restarted client may receive the response, but would presumably ignore it because of an unknown session id.

- client restarts somewhere within a sequence of PA messages

After restart PCP client would do EAP authentication as discussed in section 
3.1.1. PCP server should have  idle timer to delete PCP SA if there is no 
response from the PCP client (for example to also handle a case if the client 
has detached from the network).

It *might* do that. Or it might start using unauthenticated PCP, until it gets a response forcing it to authenticate.

But what does the server do? Various things might happen depending on where it was in the sequence. Certainly it will go wrong one way or another. The state machine I mentioned above would help clarify this.

- server restarted somewhere within a sequence of PA messages

PCP server would reject the PA-Client message with UNKNOWN_SESSION_ID because 
it has lost state.

Yup.

I have the feeling that you are answering my questions based on an implementation. If so, it is a good thing to have such an implementation to validate the spec. But that doesn't mean that other implementations will behave the same way, unless the spec is sufficiently precise about the details.

        Thanks,
        Paul

Cheers,
-Tiru


I haven't thought through all of those. They may not need any special attention,
but I bet at least one of them does.

        Thanks,
        Paul

-Tiru

-----Original Message-----
From: Sam Hartman [mailto:[email protected]]
Sent: Wednesday, July 08, 2015 6:35 AM
To: Paul Kyzivat
Cc: Tirumaleswar Reddy (tireddy); draft-ietf-pcp-
[email protected]; General Area Review Team
Subject: Re: Gen-ART Telechat review of
draft-ietf-pcp-authentication-13.txt

Yes.
At this point I think you and I understand what we're talking about.

I haven't been involved in this doc in a while.
I think we need to let Tirumaleswar comment as well as get feedback
from the rest of the group.
Some of this may have been discussed in the WG while I was not
watching, and you and I have been intentionally abstract.

Unless you and I have both missed something obvious it seems unlikely
we'll be done with this issue by the telechat.

I am attending the Prague IETF and would be happy to spend
significant cycles that week wordsmithing/discussing this issue with
PCP folks if we don't clear before then.




_______________________________________________
Gen-art mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/gen-art

Reply via email to