[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 2401bis Issue # 81 -- Handling outbound red fragments



Hi, I have a few questions on this proposal, inline below.  --Thanks, Mark

At 01:49 AM 9/30/2003 -0400, Karen Seo wrote:
>Folks,
>
>Here's a description and proposed approach for:
>
>IPsec Issue #:  81
>
>Title:          Handling outbound red fragments

[snip]

>Proposed approach:
>==================
>The current section on how to handle outbound fragments when the port 
>fields may be inaccessible will be replaced by the following approach.
>
>"Between each of pair of IPsec implementations, one or more tunnel-mode SA 
>will be established that are used to carry ONLY non-initial red fragments, 
>if both the source and destination end of the IPsec tunnel-mode SA agree 
>to transmit/receive fragments (as determined via IKE negotiation or manual 
>configuration).

Does that mean this approach would be used only if so negotiated in 
IKE?  How does this relate to the "MUST" in the next line below?  How 
should red fragments be processed in the event that it is not negotiated in 
IKE?

>  To provide this facility, the IPsec implementation MUST support the 
> following:
>
>The SPD entries for the fragment tunnels specify what kind of tunnel mode 
>protections are required and MUST have their selectors specified as follows:

Do you really mean that the device must have exactly that entry?  The below 
SPD entry looks like it is intended to create exactly 1 SA pair for each 
pair of communicating hosts.  Why should 2401bis be so rigid to require the 
SPD to be set up exactly this way?  That could present a significant 
scalability problem if the number of source-dest pairs is large.  Also, 
what is it that *prevents* non-fragments or initial fragments from matching 
that SPD entry?  I surmise that for v6 the protocol:44 selector 
accomplishes  this.  How about v4?  It seems another selector type such as 
"is non initial fragment" would be needed.

>   WILDCARD = a single range that covers all possible values
>   OPAQUE = the value is not available, e.g., it's encrypted
>            or the protocol doesn't have that selector, etc.
>   ANY = opaque or wildcard
>
>Field           SPD Entry
>--------        -------------
>src addr        WILDCARD, flag set to use the packet value
>dst addr        WILDCARD, flag set to use the packet value
>protocol*       44
>src port        ANY
>dst port        ANY
>user id         ANY
>sec. labels     ANY
>mobil. hdr type ANY
>ICMP type       ANY
>
>   * IPv6 non-initial fragments use 44 to indicate a fragment.
>
>When an initial fragment is received, its selectors will be used to look 
>up a matching entry (for packets) in the SPD.  If necessary, an SA will be 
>created and the appropriate IPsec protection will be applied.  Normal SA 
>setup procedures are followed.
>
>When a non-initial fragment is received, the IPsec implementation uses 
>protocol = 44 (fragment) plus the fragment's other selectors (at a 
>minimum, IP source and destination addresses) to look up a matching entry 
>in the SPD.   If necessary, an SA will be created and the appropriate 
>IPsec protection will be applied. Normal SA setup procedures are followed.
>
>Because all non-initial fragments will be mapped to SAs using protocol 
>selector = 44, the non-initial fragments will automatically be placed on 
>the SAs intended for their use.
>
>At the receiving end of the fragment SA, the IPsec implementation MUST 
>check and remove the tunnel header, check the fragment's selectors against 
>the selectors of the SA, having set the fragment's "protocol" to 44, and 
>verify that the fragment is a non-initial fragment by looking at the 
>fragment's offset.
>
>There MUST be a mechanism for the administrator to configure a minimum 
>fragment offset value to avoid a non-initial fragment from overwriting 
>selectors in the initial fragment.  This MAY be a single value or there 
>MAY be separate values for IPv4 and IPv6.  The IPsec implementation MUST 
>verify that the fragment offset is greater than or equal to the minimum 
>offset value.
>
>Thank you,
>Karen