Hi Subir and all,

Thank you very much for your review comments.  The comments are
definitely useful to improve the quality of the draft.

Please see my response below.

-------------------------------------
   Session Lifetime:

      A duration that is associated with a PANA session.  For an
      established PANA session, the session lifetime is bound to the
      lifetime of the current authorization given to the PaC.  The
      session lifetime can be updated[a1] by a new round of EAP
      authentication before it expires.

[a1]Extended may be a better term here.

[YO] OK, s/updated/extended/.

   Session Identifier:

      This identifier is used to uniquely identify a PANA session on the
      PaC and the PAA.  It is included in PANA messages to bind the
      message to a specific PANA session.  This bidirectional identifier
      is allocated by the PAA in the initial request message and freed
      when the session terminates.  The session identifier is assigned
      by the PAA and is unique within the PAA [a2]during the lifetime of the
      session.

[a2]May like to delete this part

[YO] We can delete "during the lifetime of the session"

   Enforcement Point (EP):

      A node on the access network where per-packet enforcement policies
      (i.e., filters) are applied on the inbound and outbound traffic of
      access devices.  The EP and the PAA may be co-located.  EPs should
      prevent data traffic from and to any unauthorized client unless
      it's either PANA or one of the other allowed traffic types (e.g.,
      ARP, IPv6 neighbor discovery, DHCP, etc.).  Detailed enforcement
      policies may be specified in deployment-specific PANA
      applicability documents.[a3]

[a3]Is it specified in a separate document. If so, pl. provide the
reference, otherwise delete this sentence.

[YO] There is an expired draft: draft-morand-pana-panaoverdsl-00.txt,
but we can simply remove the sentence to move forward.


   o  Access phase: After a successful authentication and authorization
      the host[a4] gains access to the network and can send and receive IP[a5]
      data traffic through the EP(s).  At any time during this phase,
      the PaC and PAA may optionally send PANA notification messages to
      test liveness of the PANA session on the peer.

[a4]Other places ?access device? is used.  A consistent terminology  would be 
better. 

[YO] I agree, s/host/access node/.

[a5]Is this correct?  Are DHCP, ND, ARP not IP data traffic? 

[YO] ARP is definitely not IP.  I am not sure if we can categorize
DHCP and ND as IP control or data traffic.  I think we can remove
"data" here.

   o  Re-authentication phase: During the access phase, the PAA must
      initiate re-authentication before the PANA session lifetime
      expires.  EAP is carried by PANA to perform authentication.[a6]  This
      phase may be optionally triggered by both the PaC and the PAA
      without any respect to the session lifetime. [a7] The session moves to
      this phase from the access phase, and returns back there upon
      successful re-authentication.

[a6]Is it authentication or re-authentication?

[YO] It should be s/authentication/re-authentication, because this
paragraph is talking about re-authentication phase.

[a7]May consider revising this part. 

[YO] I agree.  Since authorization state remains during
re-authentication, re-authentication phase should be described as a
sub-phase of access phase.  How about this?

  "Re-authentication phase is a sub-phase of access phase.  The
  session moves to this sub-phase from the access phase when
  re-authentication starts, and returns back there upon successful
  re-authentication."


   Cryptographic protection of messages between the PaC and PAA is
   possible as soon as EAP in conjunction with the EAP method exports a
   shared key.  That shared key is used to create a PANA SA.  The PANA
   SA helps generate per-message authentication codes that provide
   integrity protection and authentication.

   Throughout the lifetime of a session, various problems found with the
   incoming messages can generate an error request message (see
   Section 5.8) sent in response.[a8]

[a8]other places ?answer? is used .. terminology problem..

[YO] I think we can simply remove the paragraph.  I don't think we
need error handling overview in protocol overview section.


   The PAA SHOULD limit the rate it processes incoming[a9]
   PANA-Client-Initiation messages in order not to subject itself to
   denial-of service (DoS) attacks.  Details of rate limiting are
   outside the scope of this specification.

[a9]May consider revising the sentence.

[YO] How about this?

"
   The PAA SHOULD limit the rate it processes incoming
   PANA-Client-Initiation messages to provide robustness against
   denial-of service (DoS) attacks.
"

   If the PAA wants to stay stateless in response to a
   PANA-Client-Initiation message, it SHOULD NOT include an EAP-Payload
   AVP in the initial PANA-Auth-Request message, and it SHOULD NOT re-
   transmit the message on a timer.  For this reason, the PaC MUST
   retransmit the PANA-Client-Initiation message until it enters the
   authentication and authorization phase by receiving the second
   PANA-Auth-Request message (not a retransmission of the initial one)
   from the PAA.[a10]

[a10]Not  clear  in particular, the last part of the sentence.

[YO] There is some leftover from previous revison that had handshake
phase which we don't have now.  We can revise the sentence to:

"
   For this reason, the PaC MUST retransmit the PANA-Client-Initiation
   message until it receives the second PANA-Auth-Request message (not
   a retransmission of the initial one) from the PAA.
"

   PaC      PAA  Message(sequence number)[AVPs]
   --------------------------------------------------------------------
      ----->     PANA-Client-Initiation(0)
      <-----     PANA-Auth-Request(x)         // 'S' bit set
      ----->     PANA-Auth-Answer(x)          // 'S' bit set
      <-----     PANA-Auth-Request(x+1)[Nonce, EAP]
      ----->     PANA-Auth-Answer(x+1)[Nonce] // No piggybacking EAP
      ----->     PANA-Auth-Request(y)[EAP]
      <-----     PANA-Auth-Answer(y)
      <-----     PANA-Auth-Request(x+2)[EAP]
      ----->     PANA-Auth-Answer(x+2)[EAP][a11]
      <-----     PANA-Auth-Request(x+3)[Result-Code, EAP, Key-Id,
                                            Algorithm, Lifetime, AUTH]
                                               // 'C' bit set
      ----->     PANA-Auth-Answer(x+3)[Key-Id, AUTH]
                                               // 'C' bit set

    Figure 1: Example sequence for the authentication and authorization
                     phase for a PaC-initiated session

[a11]Is this piggybacked EAP?  It is not clear why EAP is not inlcuded
in PANA-Auth_Answer (y).  Some texts explaning the piggybaked EAP will
be helpful 

[YO] We can add "// Piggybacking EAP" here.  To explain piggybacked EAP, 
we can revise the Figure 1 caption as follows:

"
    Figure 1: Example sequence for the authentication and
    authorization phase for a PaC-initiated session ("Piggybacking
    EAP" is the case in which an EAP AVP is carried in PAN.)
"


   The last PANA-Auth-Request message MUST also carry an Algorithm AVP
   if it is for the first derivation of keys in the session.  The PANA
   session MUST be deleted immediately after the last PANA-Auth message
   exchange.[a12]

[a12]Is it really a PANA Session?  This is happening during
authentication and authorization phase which is a part of a PANA
session. Also the definition of PANA should include authorization as a
cause to session termination.

[YO] Yes, it's a PANA session that is terminated
(s/deleted/terminated/ per your other comment.).  With regard to
authorization as a cause to session termination, we can revise the
PANA Session definition in Section 2 to:

   PANA Session:

      A PANA session is established between the PANA Client (PaC) and
      the PANA Authentication Agent (PAA), and terminates as a result
      of an authentication or liveness test failure, a message
      delivery failure after retransmissions reach maximum values or
      session lifetime expiration, an explicit termination message or
      any event that causes discontinuation of the access service.  A
      fixed session identifier is maintained throughout a session.  A
      session cannot be shared across multiple network interfaces.

("any event that causes discontinuation of the access service" was added.)

4.2.  Access Phase

   Once the authentication and authorization phase or the
   re-authentication phase successfully completes,[a13] the PaC gains access

[a13]Is this true?  Accordig to eralier definition or re-authenticatrion, it 
happens during access phase. 

[YO] You are right.  We should remove "or the re-authentication phase".

   to the network and can send and receive IP data traffic through the
   EP(s) and the PANA session enters the access phase.  In this phase,
   PANA-Notification-Request and PANA-Notification-Answer messages with
   'P' (Ping) bit set (ping request and ping answer messages,
   respectively) can be used for testing the liveness of the PANA
   session on the PANA peer.  Both the PaC and the PAA are allowed to
   send a ping request to the communicating peer whenever they need to
   make sure the availability of the session on the peer and expect the
   peer to return a ping answer message.  The ping request and answer
   messages MUST be protected with an AUTH AVP when a PANA SA is
   available.

   Implementations MUST limit the rate of performing this test.  The PaC
   and the PAA can handle rate limitation on their own, they do not have
   to perform any coordination with each other.  There is no negotiation
   of timers for this purpose.  Additionally, an implementation MAY
   rate-limit processing of  the incoming ping requests.  It should be noted
   that if a PAA or PaC which considers its connectivity lost after a
   relatively small number of unresponsive pings coupled with a peer
   that is aggressively rate-limiting the ping request and answer
   messages, false-positives could result. [a14] Care should be taken when
   rate-limiting ping request and answer messages to periodically
   respond, and a PAA or PaC should not rely on ping request and answer
   messages to quickly determine loss of connectivity.

[a14]Not clear. May consider revising the senetence.

[YO] How about this?  

"
   Therefore, a PAA or PaC should not rely on highly frequent ping
   request and answer message exchanges to quickly determine loss of
   connectivity.
"


4.3.  Re-authentication Phase

   The PANA session in the access phase can enter the re-authentication
   phase to extend the current session lifetime by re-executing EAP.
   Once the re-authentication phase successfully completes, the session
   re-enters the access phase.  Otherwise, the session is deleted.[a15]

[a15]Is it deleted or "terminated"?

[YO] It should be "terminated".

   When the PaC wants to initiate re-authentication, it sends a
   PANA-Notification-Request message with 'A' bit set (a re-
   authentication request message) to the PAA.  This message MUST
   contain the session identifier assigned to the session being
   re-authenticated.  If the PAA already has an established PANA session
   for the PaC with the matching session identifier, it MUST first
   respond with a PANA-Notification-Answer message with 'A' bit set (a
   re-authentication answer message), followed by a PANA-Auth-Request
   message that starts a new EAP authentication.  If the PAA cannot
   identify the session, it MUST silently discard the message.  The
   first PANA-Auth-Request and PANA-Auth-Answer messages in the
   re-authentication phase MUST have 'S' bit cleared [a16]and carry a Nonce
   AVP.

[a16]Some places it says bit is not set and other places it is
cleared. Consistency would be good.

[YO] We shall use "cleared" throughout the document. 

   The PaC may receive a PANA-Auth-Request before receiving the answer
   to its outstanding re-authentication request message.  This condition
   can arise due to packet re-ordering or a race condition between the
   PaC and PAA when they both attempt to engage in re-authentication.
   The PaC MUST keep discarding the received PANA-Auth-Requests until it
   receives the answer to its request.[a17]

[a17]How will PAA know that PaC has not received it?  Will PaC
retransmit PANA-Notification-Request?

[YO] Yes.  The PAA will answer to the PNR.

5.2.  Sequence Number and Retransmission

   PANA uses sequence numbers to provide ordered and reliable delivery
   of messages.

   The PaC and PAA maintain two sequence numbers: the next one to be
   used for a request it initiates and the next one it expects to see in
   a request from the other end. [a18] These sequence numbers are 32-bit

[a18]Not clear. May cosnider revising it. 

[YO] How about this?

"
   The PaC and PAA maintain two sequence numbers: the one to be used
   for the next outgoing request and the one it expects to see in the
   next incoming request.
"

   unsigned numbers.  They are monotonically incremented by 1 as new
   requests are generated and received, and wrapped to zero on the next
   message after 2^32-1.  Answers always contain the same sequence
   number as the corresponding request.  Retransmissions reuse the
   sequence number contained in the original packet.

   The initial sequence numbers (ISN) are randomly picked by the PaC and
   PAA as they send their very first request messages except 
   PANA-Client-Initiation message that MUST be always 0. 
   When a request message is received, it is considered valid in terms
   of sequence numbers if and only if its sequence number matches the
   expected value.  This check does not apply to the
   PANA-Client-Initiation message and the initial PANA-Auth-Request
   message.

   When an answer message is received, it is considered valid in terms
   of sequence numbers if and only if its sequence number matches that
   of the currently outstanding request.  A peer can only have one
   outstanding request at a time.

   PANA request messages are retransmitted based on a timer until a
   response[a19] is received (in which case the retransmission timer is

[a19]Should be 'answer'

[YO] Yes, s/response/answer/.


   stopped) or the number of retransmission reaches the maximum value
   (in which case the PANA session MUST be deleted[a20] immediately).

[a20]Is it deleted or terminated ?

[YO] s/deleted/terminated/.


5.5.  Message Validity Check

   When a PANA message is received, the message is considered to be
   invalid at least when one of the following conditions are not met:

   o  Each field in the message header contains a valid value including
      sequence number, message length, message type, version number,
      flags, session identifier, etc.

   o  The message type is one of the expected types in the current
      state.  Specifically the following messages are unexpected and
      invalid:

      *  In the authentication and authorization phase and the
         re-authentication phase:

         +  PANA-Client-Initiation after completion of the initial
            PANA-Auth-Request and PANA-Auth-Answer exchange.

         +  Re-authentication request.[a21]

[a21]This seems incorrect since it is expected that re-authentication
request will apprear during re-authntication phase.

[YO] You are right.  Re-auth request should be accepted at least in
re-authentication phase to deal with re-auth race condition (i.e.,
re-auth request and PAR cross each other).


         +  The last PANA-Auth-Request as well as ping request before
            completion of the initial PANA-Auth-Request and
            PANA-Auth-Answer exchange.

         +  The initial PANA-Auth-Request after a PaC receives a valid
            non-initial PANA-Auth-Request.

         +  PANA-Termination-Request.[a22]

[a22]Same as before.

[YO] You are right.  Re-auth request should be accepted at least in
re-authentication phase to deal with another race condition (i.e., PTR
and re-auth request or PAR cross each other).  Now I think it is
better to separate items for authentication and authorization phase
and re-authentication phase.

      *  In the access phase:

         +  PANA-Auth-Request.[a23]

[a23]Same as before since PANA-Auth-Request may appear during re-authentication 
phase. 

[YO] Yes, PAR should be allowed for PAA-initiated re-auth.  We should remove 
this.

         +  PANA-Client-Initiation.

      *  In the termination phase:

         +  PANA-Client-Initiation.

         +  All requests but PANA-Termination-Request.


[YO] So here is the new deny rule-set (including the resolution of
recent ping issue):

"
      *  In the authentication and authorization phase:

         +  PANA-Client-Initiation after completion of the initial
            PANA-Auth-Request and PANA-Auth-Answer exchange.

         +  Re-authentication request.

         +  The last PANA-Auth-Request as well as ping request before
            completion of the initial PANA-Auth-Request and
            PANA-Auth-Answer exchange.

         +  The initial PANA-Auth-Request after a PaC receives a valid
            non-initial PANA-Auth-Request.

         +  PANA-Termination-Request.

      *  In the re-authentication phase:

         +  PANA-Client-Initiation.

         +  The initial PANA-Auth-Request.

      *  In the access phase:

         +  PANA-Client-Initiation.

      *  In the termination phase:

         +  PANA-Client-Initiation.

         +  All requests but PANA-Termination-Request and ping request.
"


6.1.  IP and UDP Headers

   Any PANA message is unicast between the PaC and the PAA.

   For any PANA message sent from the peer that has initiated the PANA
   session, the UDP source port is set to any number and the destination
   port is set to the assigned PANA port number (to be assigned by
   IANA).  For any PANA message sent from the other peer, the source
   port is set to the assigned PANA port number (to be assigned by IANA)
   and the destination port is copied from the source port of the last
   received message.  [a24]In case both the PaC and PAA initiates the session
   (i.e., PANA-Client-Initiation and unsolicited PANA-Auth-Request
   messages cross each other), then the PaC is identified as the
   initiator.

[a24]What happens if PaC chooses a source port number  that is used by PAA?

[YO] According to the rule, the PAA will change its source port number
to PANA port number once the initiator is determined to be the PaC.

[a25]8.4.  Failed-AVP AVP

[a25]This AVP describes the vaule format while few others do  not.  

[YO] Because it is of type Grouped.

   The Failed-AVP AVP (AVP Code 4) provides debugging information in
   cases where a message is rejected or not fully processed due to
   erroneous information in a specific AVP.  The AVP data is of type
   Grouped.  The format of the Failed-AVP AVP using the ABNF grammar
   defined in [RFC3588] for Grouped AVP is as follows.

           <Failed-AVP> ::= < AVP Header: 4 >
                         1* {AVP}

   In case of a failed grouped AVP, the Failed-AVP contains the whole
   grouped AVP.  In case of a failed AVP inside a grouped AVP, the
   Failed-AVP contains the single offending AVP.

8.7.  Nonce AVP

   The Nonce AVP (AVP Code 7) carries a randomly chosen value that is
   used in cryptographic key computations.  The recommendations in
   [RFC4086] apply with regard to generation of random values.  The AVP
   data is of type OctetString and it contains a randomly generated
   value in opaque format.  The data length MUST be between 8 and 256
   octets inclusive.

   The length of the nonces are determined based on the available
   pseudo-random functions (PRFs) and the degree of trust placed into
   the two PaC and the PAA to compute random values.  The length of the
   random value for the nonce is determined whether

   1.  The PaC and the PAA each are likely to be able to compute a
       random nonce (according to [RFC4086]).  The length of the nonce
       has to be 1/2 the length of the PRF key [a26](e.g., 10 octets in the
       case of HMAC-SHA1).

   2.  The PaC and the PAA each are not trusted with regard to the
       computation of a random nonce (according to [RFC4086]).  The
       length of the nonce has to have the full length [a27]of the PRF key
       (e.g., 20 octets in the case of HMAC-SHA1).

   Furthermore, the strongest available PRF available for PANA has to be
   considered in this computation.  Currently, only a single PRF (namely
   HMAC-SHA1) is available and therefore the maximum output length is 20
   octets).  The recommended maximum length of the nonce value is
   therefore currently 20 octets.

[a26]Is it a MUST or SHOULD?  
[a27]Same a s before. 

[YO] The enumerated paragraphs are investigation.  So we should not
use RFC2119 requirements language there.  On the other hand, the next
paragraph should contain requirements language.  How about this?

"
   The maximum length of the nonce value in PANA Version 1 SHOULD be
   therefore 20 octets.
"

8.8.  Result-Code AVP

   The Result-Code AVP (AVP Code 8) is of type Unsigned32 and indicates
   whether an EAP authentication was completed successfully or whether
   an error occurred.  Result-Code AVP values are described in the
   subsequent sections.

8.8.1.  Authentication Results Codes

   These result code values inform the PaC about the authentication and
   authorization result.  The authentication result and authorization
   result can be different as described below, but only one result is
   returned to the PaC.  These codes are used with PANA-Auth-Request
   message with 'C' bit set.

   PANA_SUCCESS                               0

      Both authentication and authorization processes are successful.

   PANA_AUTHENTICATION_REJECTED               1

      Authentication has failed.  When this error is returned, it is
      assumed that authorization is automatically failed.

   PANA_AUTHORIZATION_REJECTED                [a28]2

      The authorization process has failed.  This error could occur when
      authorization is rejected by a AAA server or rejected locally by a
      PAA, even if the authentication procedure has succeeded.

[a28]How about Authentication-Success  but Authorization_Failed?  Is it useful? 

[YO] I think PANA_AUTHORIZATION_REJECTED meant it.
------

Best Regards,
Yoshihiro Ohba

_______________________________________________
Pana mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/pana

Reply via email to