Subject: [pcp] #72 (authentication): PCP server discovery & PCP authentication

From: "pcp issue tracker" <[email-masked]>
Date: Wed, 16 Apr 2014 05:50:10 -0000

#72: PCP server discovery & PCP authentication

 Stephen Farrell raised the following DISCUSS points with respect to the
 PCP DHCP option:

 (2) How can PCP authentication (based on the WG draft,
 draft-ietf-pcp-authentication I assume?) make sense
 with this use of DHCP? I guess that that can make
 sense but I'm not getting it right now sorry. Can you
 explain? (Note: its quite possible no change is
 needed, just to explain the plan to a semi-ignorant
 AD:-)

 (3) How does a client know that the security identity
 of one, some of all of the PCP server addresses
 returned are the same or not? (You might cover this as
 part of discuss point 2 above, not sure.)
 ===

 T. Lemon comment:
 I think that the PCP authentication needs to have the ability to provide
 an identifier to the client that the client can use to choose which
 credentials to provide to the PCP server in order to address point 3.   So
 I'd like to ask the working group whether they agree or disagree with
 this.

 Secondly, in order to address point 2, the authentication protocol needs
 to have some text talking about how to use it in the context of
 dynamically-discovered PCP server addresses.   I think that if my
 suggestion above is taken, then it can work, and it's useful: by
 configuring PCP server addresses with DHCP, we avoid having to have the
 client maintain a static mapping between server IP addresses and
 credentials, which I think would be a bad idea anyway.   So a site that
 uses PCP authentication can use DHCP to configure PCP, and clients will be
 able to authenticate using pre-configured credentials.

 M. Boucadair:
 The applicability of the DHCP PCP server option and its potential
 implications in the Advanced Threat Model should be discussed in the PCP
 authentication document.

-- 
-------------------------------------+-------------------------------------
 Reporter:                           |      Owner:  Stephen Farrell
  [email-masked]       |  <[email-masked]>
     Type:  defect                   |     Status:  new
 Priority:  major                    |  Milestone:
Component:  authentication           |    Version:
 Severity:  Active WG Document       |   Keywords:
-------------------------------------+-------------------------------------

Ticket URL: <http://trac.tools.ietf.org/wg/pcp/trac/ticket/72>
pcp <http://tools.ietf.org/pcp/>

---

From: "Zhangdacheng (Dacheng)" <[email-masked]>
Date: Thu, 17 Apr 2014 08:19:54 +0000

Sorry to join the discussion a little late. 

When we designed the PCP authentication protocol, we tried to use this protocol to transport EAP packets and use the keys generated in the EAP authentication to secure the PCP packet exchanges. So, we assume a client will know which credential will be used for the authentication, and how the EAP implementation selects a credential is out of scope our current work. 

Inline please.
> 
>  Stephen Farrell raised the following DISCUSS points with respect to the  PCP
> DHCP option:
> 
> draft-ietf-pcp-authentication I assume?) make sense  with this use of DHCP? I
> guess that that can make  sense but I'm not getting it right now sorry. Can
> you  explain? (Note: its quite possible no change is  needed, just to explain
> the plan to a semi-ignorant
>  AD:-)
> 
>  (3) How does a client know that the security identity  of one, some of all of
> the PCP server addresses  returned are the same or not? (You might cover
> this as  part of discuss point 2 above, not sure.)  ===
> 
>  T. Lemon comment:
>  I think that the PCP authentication needs to have the ability to provide  an
> identifier to the client that the client can use to choose which
>  I'd like to ask the working group whether they agree or disagree with  this.
[Dacheng Zhang:] 
[Dacheng Zhang:] 

First Let us assume there should be identifiers for the client to find the proper credentials, although we haven't exploited how to get the identifiers securely at the moment. ^_^

Assume a client have got the ip address of PCP server from a DHCP server. Then it sends out a PCP-Auth message to the PCP server and applies to start an EAP authentication, the server then replies with a PCP-Auth message containing an EAP message. This EAP message is forwarded to the EAP implementation of the client. At this stage, the EAP implementation on the client side needs to know which credential should be used. So, there are two candidate methods for the client to get the identifier, 1) The PCP server sends the identifier back the identifier in the PCP-Auth message. 2) The client gets the identifier from somebody else after getting the IP address from the DHCP packet. 

We can achieve the first approach by extending the protocol. However, the concern is whether this approach works well with EAP. I don't know there is any EAP implementation supporting identifiers for locating credentials (but I am not an EAP expert). So, will this approach introduce additional implementation complexity? I believe Sam is in the better position to give the comments. 

The second type of approach is out of scope of the PCP authentication protocol. I think it is very intuitive to use DHCP to transfer the credential identifier. Yes, the identifier might be tampered during the DHCP packet delivery. However, when we select to use DHCP, we need to take the security risks. In addition, the identifier is not cryptographically protected in the first approach as well. So, if we decide to use identifiers, I personally like this idea.

Then we discuss whether it is necessary to introduce identifiers. (I haven't got a clear idea yet. )

If there is no identifier, the client will try the credentials it maintains one by one to authenticate the PCP server when it gets the IP address of the server from a DHCP packet. If the number of the credential is large, this approach will affect the system performance a lot. If the number is 1, then this approach is perfectly simple and efficient.  So, the question is normally how many credentials that a client will maintain for the authentication with different PCP servers. If the number is small, I think I am ok with this approach. 

When using identifiers, the client still needs to maintain the mapping information of identifiers and credentials. However, when using identifiers, we don't have to pre-configure the ip address of pcp servers. I agree this is an advantage brought by identifiers.

Above are some initial thoughts. Open for discussion.

Cheers

Dacheng
> 
>  Secondly, in order to address point 2, the authentication protocol needs  to
> have some text talking about how to use it in the context of
>  suggestion above is taken, then it can work, and it's useful: by  configuring
> PCP server addresses with DHCP, we avoid having to have the  client maintain
> a static mapping between server IP addresses and

> -------------------------------------+----------------------------------
> -------------------------------------+---
> -------------------------------------+----------------------------------
> -------------------------------------+---
> 
> _______________________________________________
> pcp mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/pcp

---

From: Ted Lemon <[email-masked]>
Date: Thu, 17 Apr 2014 08:44:07 -0500

> We can achieve the first approach by extending the protocol. However, the concern is whether this approach works well with EAP. I don't know there is any EAP implementation supporting identifiers f…

There's a third option: have the PCP server provide its identity along with the EAP message.   If the identity is just a selector for keys, there's no real value in spoofing it.

---

From: "Tirumaleswar Reddy (tireddy)" <[email-masked]>
Date: Fri, 18 Apr 2014 02:21:42 +0000

> -----Original Message-----
> From: Ted Lemon [mailto:[email-masked]]
> Sent: Thursday, April 17, 2014 7:14 PM
> To: Zhangdacheng (Dacheng)
> Cc: [email-masked]; pcp issue tracker; Sam Hartman; Stephen Farrell
> Subject: Re: [pcp] #72 (authentication): PCP server discovery & PCP
> authentication
> 
> > We can achieve the first approach by extending the protocol. However, the
> concern is whether this approach works well with EAP. I don't know there is any
> EAP implementation supporting identifiers for locating credentials (but I am not
> an EAP expert). So, will this approach introduce additional implementation
> complexity? I believe Sam is in the better position to give the comments.
> 
> There's a third option: have the PCP server provide its identity along with the EAP
> message.   If the identity is just a selector for keys, there's no real value in
> spoofing it.

We may want to explore the third option. EAP-FAST (http://tools.ietf.org/html/rfc5422) also has a similar problem and uses A-ID is used to uniquely identify the authentication server.

<snip>

         7 - A-ID-Info 

            Authority Identifier Information is intended to provide a
            user-friendly name for the A-ID.  It may contain the
            enterprise name and server name in a human-readable format.
            This TLV serves as an aid to the peer to better inform the
            end-user about the A-ID.  The name is encoded in UTF-8
            [RFC3629] format.  This attribute MUST be included in the
            PAC-Info.

</snip>

-Tiru