Re: [nvo3] Review of draft-ietf-nvo3-geneve-13

Anoop Ghanwani <anoop@alumni.duke.edu> Tue, 30 July 2019 16:20 UTC

Return-Path: <ghanwani@gmail.com>
X-Original-To: nvo3@ietfa.amsl.com
Delivered-To: nvo3@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 083731201EE for <nvo3@ietfa.amsl.com>; Tue, 30 Jul 2019 09:20:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.557
X-Spam-Level:
X-Spam-Status: No, score=-1.557 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.091, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p3Bh19lTGEWC for <nvo3@ietfa.amsl.com>; Tue, 30 Jul 2019 09:20:18 -0700 (PDT)
Received: from mail-ua1-f47.google.com (mail-ua1-f47.google.com [209.85.222.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E21141201EA for <nvo3@ietf.org>; Tue, 30 Jul 2019 09:20:17 -0700 (PDT)
Received: by mail-ua1-f47.google.com with SMTP id 34so25668003uar.8 for <nvo3@ietf.org>; Tue, 30 Jul 2019 09:20:17 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=66fV0PMCX2OvhNd+gn835cFM+xHUlfzOdEAcdf8csNs=; b=GIO0M1G6kX1DkH9HpBu6XIJoHcI5ekp8pDqeiLjLvpaY5eI52ViLrUp7Gv6O6INsUy WjkaNHqB16gyJke0Bz6H+GxvY4RReYCQI1ZILT8jC4w3PFDxYayZRYylBerlmaPEzP1F oVKtNnsfYhH3+eiBB64L4krr/eZpnQ4qTfdUKtONgv51rT8iunhyZBA2UmwuK5DfZ8dM 9Cy9xtl5CyCRiZlC+omBGGE++YUDAAqrLbkrObQ7/4/tXScnSJfDT6zxcxZKk4wePXRw HB040q1qL/5hnjPShgzqaxTn4K7+UNoAUqn7denbr3Hr4Wh7ERE1jlp5yb3QeXLcuad+ hRzQ==
X-Gm-Message-State: APjAAAVHNOFOW+Z67g3ybZgq8i5wV8PSH4rDaukPV1+BxkIGCqnsTsH1 Pp9aQCvvPsF20yGaSgx+bTgqC65Pia9WEXFheSA=
X-Google-Smtp-Source: APXvYqzib7qooqgWXg2Ol0YxJty5bqjutxpAlc4qtvaFkJ/w6DaN4sKNG1nKhAu/y100FStcXTWkFotc4ONFJsTuIMk=
X-Received: by 2002:ab0:2746:: with SMTP id c6mr12986282uap.76.1564503616606; Tue, 30 Jul 2019 09:20:16 -0700 (PDT)
MIME-Version: 1.0
References: <CAHbuEH66JZd1KOi5_mL8nzdTZ7WjSsOQP8a3B+oSwA6wNnfDKw@mail.gmail.com> <C5A274B25007804B800CB5B289727E35905C4AA0@ORSMSX116.amr.corp.intel.com> <CA+-tSzxD6u+KwEizhWBjQipm=dFVoXbPu2=Agj-sbyKm5Mcrwg@mail.gmail.com> <CADZyTk=bouYF_TmeDfUseAtU9nFMoS3RytmBB3f6z3v+Q-X3Xg@mail.gmail.com>
In-Reply-To: <CADZyTk=bouYF_TmeDfUseAtU9nFMoS3RytmBB3f6z3v+Q-X3Xg@mail.gmail.com>
From: Anoop Ghanwani <anoop@alumni.duke.edu>
Date: Tue, 30 Jul 2019 09:20:18 -0700
Message-ID: <CA+-tSzyzhS8Gu2g8CKmNsaJHyEZm8AqcHLpCAL2DbdycTR1OaQ@mail.gmail.com>
To: Daniel Migault <daniel.migault@ericsson.com>
Cc: "Ganga, Ilango S" <ilango.s.ganga@intel.com>, Kathleen Moriarty <kathleen.moriarty.ietf@gmail.com>, "nvo3@ietf.org" <nvo3@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000515548058ee86268"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nvo3/l-AK8Had52xLDEpirAt355OseYY>
Subject: Re: [nvo3] Review of draft-ietf-nvo3-geneve-13
X-BeenThere: nvo3@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Network Virtualization Overlays \(NVO3\) Working Group" <nvo3.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nvo3>, <mailto:nvo3-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nvo3/>
List-Post: <mailto:nvo3@ietf.org>
List-Help: <mailto:nvo3-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nvo3>, <mailto:nvo3-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 30 Jul 2019 16:20:21 -0000

Hi Daniel,

Perhaps what is causing confusion is that there's a difference between NVO3
OAM and I-OAM (the reference provided below).

>From my understanding, NVO3 OAM will involve only NVEs processing those
packets, while depending on other OAM methods for the underlay.

On the other hand, with I-OAM the idea is to gather information about all
devices along the path.  There are several different encapsulation drafts
(e.g. IOAM using Geneve, IOAM using VXLAN GPE, IOAM using NSH, etc.), so
this is not NVO3-specific.

Perhaps what the Geneve document needs to note is that the Geneve header
cannot be secured if there are devices other than NVEs that are required to
process its contents.  Unless there is some non-obvious way of doing it
and, if it exists, it would be helpful if a reference is provided.

Thanks,
Anoop

On Tue, Jul 30, 2019 at 6:49 AM Daniel Migault <daniel.migault@ericsson.com>
wrote:

> Hi,
>
> OAM has been raised during the meeting, so thank you for providing the
> appropriated references of OAM. My understanding is that OAM is a Geneve
> option that is updated by the OAM devices that are on path. Is that correct
> ?
>
> IPsec or DTLS authenticate or encrypt the full Geneve packet ( Geneve
> Header, Geneve Options and Geneve payload) between the NVEs. If my
> assumption regarding the OAM devices is correct, the use of DTLS or IPsec
> would not make possible to authenticate or encrypt and Geneve packet with
> OAM enabled. Again if my assumption is correct, I believe that an
> appropriated way to address this concern might be to be able to leave some
> Geneve Option non authenticated. while other parts of the packet is
> authenticated or encrypted. Such mechanism needs to be implemented at the
> Geneve layer.
>
> Yours,
> Daniel
>
> On Fri, Jul 26, 2019 at 2:52 PM Anoop Ghanwani <anoop@alumni.duke.edu>
> wrote:
>
>> Hi Ilango,
>>
>> What would be the recommended way to secure the Geneve header in cases
>> where Geneve header extensions are used and routers in the underlay need to
>> access/process the contents of the Geneve header?  For example, this
>> proposal:
>> https://tools.ietf.org/html/draft-brockners-ippm-ioam-geneve-02
>>
>> Thanks,
>> Anoop
>>
>> On Thu, Jul 25, 2019 at 2:18 PM Ganga, Ilango S <ilango.s.ganga@intel.com>
>> wrote:
>>
>>> Hello Kathleen,
>>>
>>>
>>>
>>> Thanks for your review of draft-ietf-nvo3-geneve-13.  We could provide
>>> additional clarification in section 4.3 to address your comment. Please let
>>> us know if this satisfies your comment.
>>>
>>>
>>>
>>> Current text in Section 4.3, first paragraph:
>>>
>>>    In order to provide integrity of Geneve headers, options and payload,
>>>
>>>    for example to avoid mis-delivery of payload to different tenant
>>>
>>>    systems in case of data corruption, outer UDP checksum SHOULD be used
>>>
>>>    with Geneve when transported over IPv4.  An operator MAY choose to
>>>
>>>    disable UDP checksum and use zero checksum if Geneve packet integrity
>>>
>>>    is provided by other data integrity mechanisms such as IPsec or
>>>
>>>    additional checksums or if one of the conditions in Section 4.3.1 <https://tools.ietf.org/html/draft-ietf-nvo3-geneve-13#section-4.3.1> a,
>>>
>>>    b, c are met.
>>>
>>>
>>>
>>> Proposed text to 4.3 that we believe would address your comments:
>>>
>>>
>>>
>>>    In order to provide integrity of Geneve headers, options and payload,
>>>
>>>    for example to avoid mis-delivery of payload to different tenant
>>>
>>>    systems in case of data corruption, outer UDP checksum SHOULD be used
>>>
>>>    with Geneve when transported over IPv4. "The UDP checksum provides a statistical guarantee that a payload was not corrupted in transit. These integrity checks are not strong from a coding or cryptographic perspective and are not designed to detect physical-layer errors or malicious modification of the datagram (see RFC 8085 section 3.4). In deployments where such a risk exists, an operator SHOULD use additional data integrity mechanisms such as offered by IPSec (see Section 6.2)."
>>>
>>>
>>>
>>>    An operator MAY choose to
>>>
>>>    disable UDP checksum and use zero checksum if Geneve packet integrity
>>>
>>>    is provided by other data integrity mechanisms such as IPsec or
>>>
>>>    additional checksums or if one of the conditions in Section 4.3.1 <https://tools.ietf.org/html/draft-ietf-nvo3-geneve-13#section-4.3.1> a,
>>>
>>>    b, c are met.
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Ilango
>>>
>>>
>>>
>>>
>>>
>>> *From:* nvo3 [mailto:nvo3-bounces@ietf.org] *On Behalf Of *Kathleen
>>> Moriarty
>>> *Sent:* Tuesday, July 2, 2019 12:43 PM
>>> *To:* nvo3@ietf.org
>>> *Subject:* [nvo3] Review of draft-ietf-nvo3-geneve-13
>>>
>>>
>>>
>>> Hello,
>>>
>>>
>>>
>>> I just read through draft-ietf-nvo3-geneve, sorry I am out-of-cycle in
>>> the review process, but it looks like it has not started IETF last call
>>> yet.  I have what's really just a nit and request for a little more text.
>>>
>>>
>>>
>>> Section 4.3.1
>>>
>>> The value of the UDP checksum is overstated.  The text should note that
>>> corruption is still possible as this is a checksum and not a hash with low
>>> collision rates.  Corruption happens and goes undetected in normal
>>> operations today.
>>>
>>> The security considerations section does address the recommendation to
>>> use IPsec, but making the connection on the UDP checksum being inadequate
>>> could be helpful.
>>>
>>>
>>>
>>> Reality:
>>>
>>>
>>>
>>> The way this is written, I suspect there really are no plans to use
>>> IPsec with GENEVE, are there?  The MUST statements around not altering
>>> traffic can only be achieved with IPsec, so if the intent is really to
>>> enforce the early MUST statements in the document, sooner mention of IPsec
>>> would be good.  If this is more for detecting corruption (and not having
>>> that be 100% or close) that should be clear up front.
>>>
>>>
>>>
>>> I'm just envisioning use cases where the virtual path is set differently
>>> to the physical path for expected operations to route through desired
>>> security functions, then an attacker alters checksums to avoid detection of
>>> these changes.
>>>
>>>
>>>
>>> Thanks and sorry for a late review!
>>>
>>>
>>>
>>> --
>>>
>>>
>>>
>>> Best regards,
>>>
>>> Kathleen
>>> _______________________________________________
>>> nvo3 mailing list
>>> nvo3@ietf.org
>>> https://www.ietf.org/mailman/listinfo/nvo3
>>>
>> _______________________________________________
>> nvo3 mailing list
>> nvo3@ietf.org
>> https://www.ietf.org/mailman/listinfo/nvo3
>>
>