I noticed that the draft is actually self conflicting in terms of the
Signature option:

5.2. Signature Option 

   ... The Signature option COULD be any place 
   within the DHCPv6 message. It protects all the DHCPv6 header and 
   options before it. Any options after the Signature option can be 
   processed, but it should be noticed that they are not protected by 
   this Signature option. ...

6.1. Processing Rules of Sender 

   ... The Signature option MUST be constructed as explained in 
   Section 5.2 and be the last DHCPv6 option. 

Again, per my earlier comments I think its position should not matter.

---

In 6.2. Processing Rules of Receiver:

   The receiving node MUST verify the Signature option as follows: the 
   receiver MUST ignore any options that come after the Signature
option. 

What about the contents of the Signature option itself? The document
needs to indicate which, if any, portion of the Signature option is
included in the signature hashing. (The SEND RFC (3791) excludes the
signature option.)

Note that earlier in section 5.2. Signature Option is written:

                       6. The content between the option-len field and 
                       the signature field in this Signature option, in 
                       the format described above.

Might be best to just refer to section 5.2 instead of duplicating the
information (less chance for it to conflict)?

---

This probably exposes my ignorance of CGAs, but is the intent in this
draft that the CGA source address used by the client remains the (CGA)
link-local address?

If this is the case (client uses CGA link-local as IPv6 source address),
all is well.

If the CGA address is not the link-local, then there is a conflict with
RFC 3315:

16. Client Source Address and Interface Selection

   When a client sends a DHCP message to the
   All_DHCP_Relay_Agents_and_Servers address, it SHOULD send the message
   through the interface for which configuration information is being
   requested.  However, the client MAY send the message through another
   interface attached to the same link, if and only if the client is
-> certain the two interfaces are attached to the same link.  The client
-> MUST use a link-local address assigned to the interface for which it
-> is requesting configuration information as the source address in the
-> header of the IP datagram.

   When a client sends a DHCP message directly to a server using unicast
   (after receiving the Server Unicast option from that server), the
   source address in the header of the IP datagram MUST be an address
   assigned to the interface for which the client is interested in
   obtaining configuration and which is suitable for use by the server
   in responding to the client.

A non-link-local address is only allowed if the server previously
provided the client with the Server Unicast option.

---

The following text is rather odd:

   If a node has been configured to use Secure DHCPv6, the node MUST 
   send a message using a CGA, which be constructed as specified in 
   Section 4 of [RFC3972], as the source address unless they are sent 
-> with the unspecified source address. In the message, both the CGA 
   option and the Signature option MUST be present in all DHCPv6 
   messages. The CGA Parameter field in the CGA option is filled 
   according to the rules presented above and in [RFC3972]. The public 
   key in the field is taken from the configuration used to generate the

   CGA, typically from a data structure associated with the source 
   address. The Signature option MUST be constructed as explained in 
   Section 5.2 and be the last DHCPv6 option. 

DHCPv6 never uses an unspecified source address.

Also be good to use "CGA Parameter option" instead of "CGA option", as
that is what the option is called. This is an issue throughout the
document.

- Bernie

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf
Of Bernie Volz (volz)
Sent: Saturday, January 17, 2009 11:03 PM
To: JiangSheng 66104; [email protected]; [email protected]
Subject: Re: [dhcwg] "Secure DHCPv6 Using
CGAs"draft-jiang-dhc-secure-dhcpv6-01

I'm (still) a bit concerned about:

5.2. Signature Option 

   The Signature option allows public key-based signatures to be 
   attached to a DHCPv6 message. The Signature option COULD be any place

   within the DHCPv6 message. It protects all the DHCPv6 header and 
   options before it. Any options after the Signature option can be 
   processed, but it should be noticed that they are not protected by 
   this Signature option. The format of the Signature option is 
   described as follows: 

Why is this protection positional? Can you explain why you think this is
useful? Why not secure the entire message with this? 

The only interesting issue is if a client's message includes both a
SIGNATURE and AUTH (RFC 3315) option -- since in this case, two
different hashes over the entire message would need to be run and that
doesn't work. So, I think the SIGNATURE option MUST NOT include the AUTH
option. (The AUTH option would include the SIGNATURE option as RFC 3315
already requires that it cover the entire client message.)

I wonder whether this positional text is a hold over from DHCPv4 to
handle the Relay Agent Option (82) - which is added at the end? Relaying
in DHCPv6 is done far differently.

If there's a reason why the SIGNATURE needs to be positional, we still
have the AUTH option conflict that would need to be discussed (if the
AUTH option isn't excluded from coverage regardless of where it appeared
in the message, it would require the AUTH to follow the SIGNATURE).

---

The draft allows a node to be a DHCPv6 relay agent. I think more text is
required to detail this. Suppose you have:
        Client --> Relay 1 --> Relay 2 --> Server

If Relay 1 includes a SIGNATURE option, and relay 2 does not support
this, what should the server do? How does the server know whether relay
2 validated the SIGNATURE of Relay 1 or not (is there a requirement for
the relay to validate -- it is after all a "node")? Should the server
validate all SIGNATURE options (as in this case, there could be 3 - one
in the Client message, one in the Relay 1 message (which encapsulates
the client's message), and one in the Relay 2 message (which
encapsulates Relay 1's message (which encapsulates the client's
message))?

Perhaps the ability for a relay to be a node should be removed? It keeps
it simpler.

- Bernie 

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf
Of JiangSheng 66104
Sent: Tuesday, January 13, 2009 4:43 PM
To: [email protected]; [email protected]
Subject: [dhcwg] "Secure DHCPv6 Using CGAs"
draft-jiang-dhc-secure-dhcpv6-01

The below "Secure DHCPv6 Using CGAs" has been updated, according to
comments that have been discussed in dhc maillist and IETF meeting.
Since early collaboration is requested for this CGA and DHCP interaction
work, this update message is sent to both CSI WG and DHC WG.

Best regards,

Sheng

A New Internet-Draft is available from the on-line Internet-Drafts 
directories. 

        Title : Secure DHCPv6 Using CGAs 
        Author(s) : S. Jiang, S. Shen 
        Filename : draft-jiang-dhc-secure-dhcpv6-01.txt 
        Pages : 14 
        Date : 2009-1-8 
        
The Dynamic Host Configuration Protocol for IPv6 (DHCPv6) enables 
   DHCP servers to pass configuration parameters. It offers 
   configuration flexibility. If not secured, DHCPv6 is vulnerable to 
   various attacks, particularly fake attack. This document analyzes the

   security issues of DHCPv6 and specifies security mechanisms, mainly 
   using CGAs. 

A URL for this Internet-Draft is: 
http://www.ietf.org/internet-drafts/draft-jiang-dhc-secure-dhcpv6-01.txt


_______________________________________________
dhcwg mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dhcwg
_______________________________________________
dhcwg mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dhcwg
_______________________________________________
CGA-EXT mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/cga-ext

Reply via email to