Re: [IPsec] FW: I-D Action:draft-nir-ipsecme-childless-00.txt

Tero Kivinen <kivinen@iki.fi> Tue, 07 July 2009 19:32 UTC

Return-Path: <kivinen@iki.fi>
X-Original-To: ipsec@core3.amsl.com
Delivered-To: ipsec@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 59A903A6A88 for <ipsec@core3.amsl.com>; Tue, 7 Jul 2009 12:32:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.418
X-Spam-Level:
X-Spam-Status: No, score=-2.418 tagged_above=-999 required=5 tests=[AWL=0.181, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JRUH0UfLUCWt for <ipsec@core3.amsl.com>; Tue, 7 Jul 2009 12:32:13 -0700 (PDT)
Received: from mail.kivinen.iki.fi (fireball.acr.fi [83.145.195.1]) by core3.amsl.com (Postfix) with ESMTP id 0D0B23A69B4 for <ipsec@ietf.org>; Tue, 7 Jul 2009 12:32:12 -0700 (PDT)
Received: from fireball.kivinen.iki.fi (localhost [127.0.0.1]) by mail.kivinen.iki.fi (8.14.3/8.13.8) with ESMTP id n67JU3YX006165 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 7 Jul 2009 22:30:03 +0300 (EEST)
Received: (from kivinen@localhost) by fireball.kivinen.iki.fi (8.14.3/8.12.11) id n67JU3pX020414; Tue, 7 Jul 2009 22:30:03 +0300 (EEST)
X-Authentication-Warning: fireball.kivinen.iki.fi: kivinen set sender to kivinen@iki.fi using -f
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Message-ID: <19027.41530.987118.492735@fireball.kivinen.iki.fi>
Date: Tue, 07 Jul 2009 22:30:02 +0300
From: Tero Kivinen <kivinen@iki.fi>
To: Raj Singh <rsjenwar@gmail.com>
In-Reply-To: <7ccecf670907040336t51b15b1t790284952459069a@mail.gmail.com>
References: <20090701091501.2DAE328C101@core3.amsl.com> <006FEB08D9C6444AB014105C9AEB133F433539DEC2@il-ex01.ad.checkpoint.com> <7ccecf670907030651uec406e4ha9fa9adc027f8335@mail.gmail.com> <7F9A6D26EB51614FBF9F81C0DA4CFEC8E8ABD594C4@il-ex01.ad.checkpoint.com> <7ccecf670907040336t51b15b1t790284952459069a@mail.gmail.com>
X-Mailer: VM 7.19 under Emacs 21.4.1
X-Edit-Time: 9 min
X-Total-Time: 10 min
Cc: "ipsec@ietf.org" <ipsec@ietf.org>, Yoav Nir <ynir@checkpoint.com>
Subject: Re: [IPsec] FW: I-D Action:draft-nir-ipsecme-childless-00.txt
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Discussion of IPsec protocols <ipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ipsec>, <mailto:ipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipsec>
List-Post: <mailto:ipsec@ietf.org>
List-Help: <mailto:ipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipsec>, <mailto:ipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Jul 2009 19:32:14 -0000

Raj Singh writes:
> Your suggestion of having "critical" bit set on childless notify/VID payload
> from initiator in IKE_SA_INIT exchange will define the bahavior as mentioned
> below.

That is not correct way of using critical bit. Critical bit means that
if it is set and the PAYLOAD TYPE is not understood, then
UNSUPPORTED_CRITICAL_PAYLOAD error is reported. Every implementation
will understand Notify and Vendor ID payloads, thus they will never
return UNSUPPORTED_CRITICAL_PAYLOAD regardless what the contents of
those payloads are.

> If initiator want to childless IKE_AUTH, it will send  CHILDLESS_IKE_AUTH
> notify/VID payload having "critical" flag SET in IKE_SA_INIT request.

And complient implentation will do what to do as RFC4306 says ie:

      ... MUST be ignored by the recipient if the recipient
      understands the payload type code. MUST be set to zero for
      payload types defined in this document. Note that the critical
      bit applies to the current payload rather than the "next"
      payload whose type code appears in the first octet. The
      reasoning behind not setting the critical bit for payloads
      defined in this document is that all implementations MUST
      understand all payload types defined in this document and
      therefore must ignore the Critical bit's value. Skipped payloads
      are expected to have valid Next Payload and Payload Length
      fields.

The correct way to do is to make new exchange type for this new
childless IKE_SA_INIT & IKE_AUTH. That way old implenentations will
then know that they do not understand this new type and will drop the
packets. This is if you really want the property that if responder
does not understand chieldless IKE_AUTH you do not want to continue at
all. 

I have not yet read the draft, as I have been too busy with working
group drafts already, and I still do not know if this is really needed
at all...
-- 
kivinen@iki.fi