Re: [manet] Message integrity and message mutability (was RE: draft-ietf-manet-aodvv2-13 review - a couple of big ticket Items)

Justin Dean <bebemaster@gmail.com> Mon, 25 April 2016 14:54 UTC

Return-Path: <bebemaster@gmail.com>
X-Original-To: manet@ietfa.amsl.com
Delivered-To: manet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7FCF612D156 for <manet@ietfa.amsl.com>; Mon, 25 Apr 2016 07:54:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 s7g-XUj-txBU for <manet@ietfa.amsl.com>; Mon, 25 Apr 2016 07:54:05 -0700 (PDT)
Received: from mail-yw0-x230.google.com (mail-yw0-x230.google.com [IPv6:2607:f8b0:4002:c05::230]) (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 A4AF012D61A for <manet@ietf.org>; Mon, 25 Apr 2016 07:54:05 -0700 (PDT)
Received: by mail-yw0-x230.google.com with SMTP id t10so216288708ywa.0 for <manet@ietf.org>; Mon, 25 Apr 2016 07:54:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=D079YavZiG+muu/KK3/XkPNyRCSYfu9qu14AlNj1cCk=; b=jF4KkwbpCAXCgywo80H8lwLcRf6r7nEaqtFyD3OS2ghNlRG+p1CZQDHjWndSi8F/iA EpiUe97ujsOiE7GysuaAlmx82Uaw4ITNtzBsTTVPDvO1lguEevv3Ec9Sau+jDFF7Ewm3 ORD56QfKEKJCxM+NJmpIjHQecWLkNMn9OdbTlMVGIjV/bdjkLlXpUt9vls8kJzamK5bX s6ln6envNMem24268gpf/lx7GwbuyYTjUSzi1woyF+UwBXpkhyV1Nc4/mLqISRsGW8H/ b40wE47zT/q/M8Uwyj/VnwMqTsSmLtc/Nro1f/2Y5NnCC7osGIJgXkjmSRjtWNmIDMUu xDuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=D079YavZiG+muu/KK3/XkPNyRCSYfu9qu14AlNj1cCk=; b=EUWhsHcfCTA6jDuRaZqSqTANBhUV+cuD5NNxWP8RODW3ysJmarSSjkuljqTXJ4ZqM1 tqo8eLGCcBqAM25P44KvyahDqzRC8C3Pulm8Z+1BMKrH3WPJbFPkB54oY2psRPG1JLVS NQB1uVL4q4BMrpGCdYRW/H3ZvSFPkkOO99JPAbPll55eFw47pTV4/FPVkcYPQ6h+jHuT MO1D7JOIeSOnE5G/2qocGcNs9aXIQFcgNN7YRCGgtu4MVSIqKtnSd39J+pvRuHRcr4i/ vCgCsz/rOTtYE3K1+XMH/Ks0fHwCHuunvOiMPbSY3kmpROsuvMRYSkkuLF3aKAxw9niA Dt0g==
X-Gm-Message-State: AOPr4FUQoc1O1qgXrk58fExXI5dCjVK7Qhs5sorEWgpfwq8s+vUx7Rw5teUPqu1/c9tndm/hfIBH8XGZXNgO8A==
MIME-Version: 1.0
X-Received: by 10.176.1.108 with SMTP id 99mr12578834uak.54.1461596044927; Mon, 25 Apr 2016 07:54:04 -0700 (PDT)
Received: by 10.31.62.67 with HTTP; Mon, 25 Apr 2016 07:54:04 -0700 (PDT)
In-Reply-To: <A868443D-1696-4CFA-81FD-5C2ADE78FEBE@thomasclausen.org>
References: <B31EEDDDB8ED7E4A93FDF12A4EECD30D9237E267@GLKXM0002V.GREENLNK.net> <1F5AB0F1-0B92-4A66-A08F-A2BF8B414D9F@thomasclausen.org> <B31EEDDDB8ED7E4A93FDF12A4EECD30D9237E2C8@GLKXM0002V.GREENLNK.net> <5EE270D1-30EF-42A9-BF11-7F4267967AC0@fu-berlin.de> <B31EEDDDB8ED7E4A93FDF12A4EECD30D9237E324@GLKXM0002V.GREENLNK.net> <3F51EFE1-7D89-49E9-8B1B-87C02D7A705D@thomasclausen.org> <B31EEDDDB8ED7E4A93FDF12A4EECD30D9237E356@GLKXM0002V.GREENLNK.net> <0E2F32E3-A198-48BA-A712-F9F59F8BBAA0@thomasclausen.org> <CAAePS4D3A3g7NbZ4jND04xhJ2Q+gbGP-7sXZ4p4eC55=ejiWLw@mail.gmail.com> <B0317B9B-09AA-48A5-90C2-2A8DA51C8281@mnemosyne.demon.co.uk> <CAAePS4DCHy6R_Ht7KF3MoeZ7ML+BawnobC92VLQZyS5FaA7vdQ@mail.gmail.com> <B31EEDDDB8ED7E4A93FDF12A4EECD30D923B12C9@GLKXM0002V.GREENLNK.net> <CAN1bDFwyTFatXOkuY+N2czFPqVmoygRjSCRG2bubS=sBhLqE7A@mail.gmail.com> <CAAePS4Botm8kfQXuJczHC_rYfjtisDrTk5Vdb5m2LafP2qkTTg@mail.gmail.com> <B31EEDDDB8ED7E4A93FDF12A4EECD30D923B1556@GLKXM0002V.GREENLNK.net> <E080D3CF-EA3E-49E6-9A31-3A6D3DEFEC5A@thomasclausen.org> <CA+-pDCevg2NxRZCtRMWNK0gnZuo8bAaN_S29GJS8+-GL3zvv_Q@mail.gmail.com> <A868443D-1696-4CFA-81FD-5C2ADE78FEBE@thomasclausen.org>
Date: Mon, 25 Apr 2016 10:54:04 -0400
Message-ID: <CA+-pDCd333p0c8ZQjT45eVMr+svcGzJwLxCx4pyW=hd-MW3gWg@mail.gmail.com>
From: Justin Dean <bebemaster@gmail.com>
To: Thomas Heide Clausen <ietf@thomasclausen.org>
Content-Type: multipart/alternative; boundary="001a113d0cd4102cf005315059ce"
Archived-At: <http://mailarchive.ietf.org/arch/msg/manet/KeSZh1tJ5L-OGBKefc8QjhdOtYA>
Cc: Christopher Dearlove <chris.dearlove@baesystems.com>, Christopher Dearlove <chris@mnemosyne.demon.co.uk>, Mobile Ad Hoc Networks mailing list <manet@ietf.org>, Victoria Mercieca <vmercieca0@gmail.com>
Subject: Re: [manet] Message integrity and message mutability (was RE: draft-ietf-manet-aodvv2-13 review - a couple of big ticket Items)
X-BeenThere: manet@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Mobile Ad-hoc Networks <manet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/manet>, <mailto:manet-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/manet/>
List-Post: <mailto:manet@ietf.org>
List-Help: <mailto:manet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/manet>, <mailto:manet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 25 Apr 2016 14:54:15 -0000

On Mon, Apr 25, 2016 at 10:37 AM, Thomas Heide Clausen <
ietf@thomasclausen.org> wrote:

>
>
> On 25 avr. 2016, at 16:32, Justin Dean <bebemaster@gmail.com> wrote:
>
>
>
> On Mon, Apr 25, 2016 at 10:28 AM, <ietf@thomasclausen.org> wrote:
>
>>
>> On 25 Apr 2016, at 16:20, Justin Dean <bebemaster@gmail.com> wrote:
>>
>> A thought regarding integrity checking.  A possible future "fix" for
>> integrity could be done on a "virtual" packet in which known TLVs/values
>> along with ordered addresses are uncompressed and then verified.  It could
>> allow extra TLV tagging without modifying the validity of that data.  The
>> very big drawback would be the overhead of having to uncompressed
>> everything to check the validity.  It's functionally the same as zeroing
>> out local (this is my stuff) TLV data vs remote (this is not my stuff) TLV
>> data.
>>
>>
>> That requires an imposed ordering of addresses, address TLVs, Message
>> TLVs, etc., even if only “in memory”, it is something that everybody should
>> be aware of, and doing the same way
>>
>> o That ordering would have to be specified in this document (no, it
>> would not be a “future fix”, this is
>> a requirement to the base spec, since *not* doing that would mean that
>> this “future fix” could render
>> current implementations non-compliant!)
>>
>> If you're building the virutal packet you could specify the order there,
> the on the wire packet doesn't need to be in that order.
>
>
>
> No idea what a virtual packet is.
>
> But imposing a point of universal agreement on how *any* packet - now or
> in the future - uncompresses  is not a trivial task.
>
>
o While this would be *hard* for the current messages/TLVs, I’d imagine
>> that it’d make extensions
>> impossible (in an interoperable fashion).
>>
>> Not at all if the integrity check in question only used well known
> registred TLVs (i.e. don't change the value of these!) types for building
> the virutal packet then you could add whatever other TLV info you wanted.
>
>
> If I understand you correctly, then you would do the ICV only over some of
> the packet content? In other words, any extensions would be unprotected, OR
> would require an update to whatever records the "known TLVs" list?
>

Correct extensions which didn't register wouldn't be protected.  It's
essentially the same as zeroing out unknown TLVs so lets go with that as
it's easier.

Those extensions in the case of AODVv2 are fundamentally different than
OLSRv2/NHDP messages as they do not contain information about the
originating router.  I get that this is an issue with current integrity
checking methods but there is value in having that data included in the
same message.  Local only information could be sent in another message
which would be locally signed.  That would work for AckReq messages but it
wouldn't work for information about the "path" traveled as there would be
no way of verifying or even associating that information with the data
contained in the original message.

Justin

>
>
That to me is a showstopper, similar to M. Perkins' E2E draft, to be
> designing an extensible protocol specifically so that extensions are
> "unsecured". We can and must. do better than that.
>
>
>
>> o It’d be *exceptionally* heavy for all intermediate routers, wanting to
>> verify the integrity of a
>> message: to be able to force everybody in a network to “unwrap” the
>> message into an
>> uncompressed form *before* validating its origins is opening up for DoS
>> attacks.
>>
>> I want to do a *minimum* number of operations with a message, *before*
>> deciding
>> to discard a message as harmful.
>>
>> This is true enough it'd be hell on processing.
>
>
> Indeed. There are many reasons why this is a bad idea.
>
> Thomas.
>
>