Re: [tcpm] Test vectors for RFC5925 algorithms?

juhamatk@gmail.com Thu, 02 April 2020 07:28 UTC

Return-Path: <juhamatk@gmail.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ECF013A0BFE for <tcpm@ietfa.amsl.com>; Thu, 2 Apr 2020 00:28:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 OpnMv7aUmhgR for <tcpm@ietfa.amsl.com>; Thu, 2 Apr 2020 00:28:12 -0700 (PDT)
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) (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 3A1513A0BFF for <tcpm@ietf.org>; Thu, 2 Apr 2020 00:28:12 -0700 (PDT)
Received: by mail-wr1-x42f.google.com with SMTP id 31so2916720wrs.3 for <tcpm@ietf.org>; Thu, 02 Apr 2020 00:28:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=kmSZQgJ55mC357Cj4xMk1lDcUXk7X+ZNGT5phyo5VzA=; b=BoXWkxzc12e9DRGfqFICg0daquMQTHwPN6p40wnMsI3Em85+Eix8thft6nzKeKWbY4 Nd/6FbDmzyT/lqpWLsm4jlUgEQGNIbxSt4tFacuQOzQCR/VHAjFOoT6fXY3VJYUG7iVf B3FbjbOJ8Kexdo1kO/gPw4VcWzsV8XlWC8VEhQC/XC6hsV6mt5y8jSKymsUkgTK26G3M SHzZSV1O2Z6il4TU37H+jSRyEf6PBQ+ldgFQCh/Fwqc6qs14yX0Fcm5v+segSNs4Bp0l luGtKrRpN/BCeDoE6qqqA7Au9mdAmgGP0eSo6jwTgx4l6k2CvmjWz0b6zj2XCVX3x110 uc/g==
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=kmSZQgJ55mC357Cj4xMk1lDcUXk7X+ZNGT5phyo5VzA=; b=Inaik3Wvazd7hAYRid1TbwoozroCzTmObFDLvwXYbveLePlUnt2wqVNCmR2RMvkV/8 S7DwSxE3Lx+z8mTSTgCIyIpGJUxvIJ8Fs8PLlhXw2DHYKFE9FzF0mQfYp5M7wQnLW6RG 7oxtszkzO6OqJTwxEMdNSsODwwsaBWYvS8NmdXC/oazJAT64HLJ/SrBigpanfVYrA+c8 0bItH6vw7KcQeW7wX3AJRwyJulIOYaT2syC77IVgwEUWBc2hJ1846Gv0+CLNYfurv3Zk /auQ1UMVst/noRcxvbPCrYG5eZLSjCDNBmCvvSWVL1XLUz7woRbFAaVxThZBmUCIhJPf Tikw==
X-Gm-Message-State: AGi0PuaA5Cnqn81ouTg4Y7ROrjlbm3jHil3KNa4KyTmWM5T9BHqlefz6 d34oEKaHXkd+fLvPEnhdvFYTG3AavhRPm5aTgLM=
X-Google-Smtp-Source: APiQypLoF+GOmKbH3x2/W1OHOprK5LkiNi0HpJNzhBWhfoOfLewx1lSqKDw6+rxjbBFOIaJ+1AWVRF5i4pd7Km4VnRM=
X-Received: by 2002:a5d:4bc1:: with SMTP id l1mr2153932wrt.103.1585812489549; Thu, 02 Apr 2020 00:28:09 -0700 (PDT)
MIME-Version: 1.0
References: <CACS3ZpCawjTF4YMg+Rm7pOkjO2NQB-BZLBvobZCg2kyRQgaNzw@mail.gmail.com> <AFABEFAB-AA58-4599-94E3-06889E38DC01@strayalpha.com> <CACS3ZpAqdeF6xivndh7EqOqwYebyziyP6AQkKVWZww6nC=Zo0Q@mail.gmail.com> <6EC6417807D9754DA64F3087E2E2E03E2DA4B5C7@rznt8114.rznt.rzdir.fht-esslingen.de>
In-Reply-To: <6EC6417807D9754DA64F3087E2E2E03E2DA4B5C7@rznt8114.rznt.rzdir.fht-esslingen.de>
From: juhamatk@gmail.com
Date: Thu, 02 Apr 2020 10:27:57 +0300
Message-ID: <CACS3ZpAyYahfCfibCKwZkb6u3VAk2UiXViMGbdH3t76iUyY5fw@mail.gmail.com>
To: "Scharf, Michael" <Michael.Scharf@hs-esslingen.de>
Cc: Joseph Touch <touch@strayalpha.com>, "tcpm@ietf.org" <tcpm@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/3FFzSbOUUNJc2GzdGKh0KVPIaEI>
Subject: Re: [tcpm] Test vectors for RFC5925 algorithms?
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 02 Apr 2020 07:28:14 -0000

Hello Michael,

> Have you checked other router vendors? For instance, the public Cisco IOS XE documentation lists TCP-AO support. And I have also heard that another main router vendor may implement TCP-AO (well, I am not familiar with Juniper).

I am aware that Cisco has an implementation. It is quite new, and
unfortunately I do have experience of it. If someone has, then that
may well be a very good candidate for test vectors.

> BTW, if there is some gap in the RFC series, the usual IETF process is just starting a new Internet-Draft, instead of waiting for somebody else to write something. It is not complex to write an Internet Draft. And TCPM is usually quite open to new work.

I am not that familiar with the draft process. I agree that if test
vectors do not already exist, that may be the best path to go forward.
Here below is a draft outline that perhaps provides the information
needed to ensure compatible implementations. If there is some
consensus that proceeding with this would be useful, perhaps we can
use it as a starting point. We need to fill the verified test vectors
there eventually.

Test Vectors for Cryptographic Algorithms of the TCP Authentication
Option (TCP-AO)
-
Introduction
Key Derivation Functions Test Vectors
 * KDF_HMAC_SHA1
   - A test TCP/IP frame: syn snd key output
   - A test TCP/IP frame: syn rcv key output
   - A test TCP/IP frame: other snd key output
   - A test TCP/IP frame: other rcv key output
 * KDF_AES_128_CMAC
   - A test TCP/IP frame: syn snd key output
   - A test TCP/IP frame: syn rcv key output
   - A test TCP/IP frame: other snd key output
   - A test TCP/IP frame: other rcv key output
MAC Algorithms Test Vectors
 * HMAC-SHA-1-96
   - A test key with test TCP/IP frame: MAC output, MAC output without options
 * AES-128-CMAC-96
   - A test key with test TCP/IP frame: MAC output, MAC output without options
Security Considerations
Acknowledgements
References

> Michael

Thanks,
--
 Juhamatti

> > -----Original Message-----
> > From: tcpm <tcpm-bounces@ietf.org> On Behalf Of juhamatk@gmail.com
> > Sent: Wednesday, April 1, 2020 9:30 AM
> > To: Joseph Touch <touch@strayalpha.com>
> > Cc: tcpm@ietf.org
> > Subject: Re: [tcpm] Test vectors for RFC5925 algorithms?
> >
> > Hello Joe,
> >
> > > At best, those might be an addendum to RFC 5926. RFC 5925 deliberately
> > does not specify any algorithms.
> >
> > Thanks for your reply. Addendum to RFC 5926 sounds really good to me.
> >
> > > However, TCP MD5 was widely deployed without any such test vectors in the
> > RFC series (or elsewhere I could find, FWIW).
> >
> > True. Still, RFC 2385 is only 4 pages long and implementation is very
> > simple. It had wide deployment from the beginning, I believe, so it
> > was easy to make implementations match.
> >
> > I am currently working on a proprietary implementation of RFC
> > 5925/5926. Even though the RFCs are ten years old, they have only a
> > few existing implementations. Test equipment vendors (IXIA, Spirent)
> > do not support it. Juniper does not use it, they seem to use their own
> > proprietary version. One fuzzing vendor seems to have HMAC-SHA1
> > implemented, but it is unclear is it according to the RFCs.
> > Guaranteeing interop looks quite difficult at the moment.
> >
> > So if test vectors already exist somewhere (maybe unpublished), or
> > someone is willing to create them for the addendum draft referenced
> > above, I am certainly willing to verify them against my implementation
> > and report back.
> >
> > > Joe
> >
> > Thanks,
> > --
> >  Juhamatti
> >
> > >
> > > > On Mar 31, 2020, at 3:44 AM, juhamatk@gmail.com wrote:
> > > >
> > > > Hello,
> > > >
> > > > I have been searching for test vectors for RFC5925/5926 algorithms for
> > > > TCP AO and to my surprise it seems that such do not exist. Am I
> > > > correct here?
> > > >
> > > > Even though test vectors for HMAC SHA1 (RFC2202) and AES CMAC
> > > > (RFC4493) are available, it would be useful to have example test
> > > > vectors for frames using TCP AO - otherwise implementations end up
> > > > easily not to match. As RFC5925 is 47 pages, there is a room for error
> > > > and only one mismatch is needed for MACs not to match.
> > > >
> > > > I think publishing a new RFC for them would be good, but probably
> > > > takes some time. Even unofficial, but verified, test vectors on some
> > > > specified example frames (with and without TCP options), e.g. on this
> > > > mailing list or otherwise, would be a very good start to get TCP AO
> > > > more widely implemented. If such already are available somewhere,
> > > > please do let me know.
> > > >
> > > > Thanks,
> > > > --
> > > > Juhamatti
> > > >
> > > > _______________________________________________
> > > > tcpm mailing list
> > > > tcpm@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/tcpm
> > >
> >
> > _______________________________________________
> > tcpm mailing list
> > tcpm@ietf.org
> > https://www.ietf.org/mailman/listinfo/tcpm