From: Theodore Ts'o Subject: Re: HalfSipHash Acceptable Usage Date: Tue, 20 Dec 2016 16:36:36 -0500 Message-ID: <20161220213636.tiqj2o4uupasr4aj@thunk.org> References: Reply-To: kernel-hardening@lists.openwall.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Jean-Philippe Aumasson , Hannes Frederic Sowa , LKML , Eric Biggers , "Daniel J . Bernstein" , David Laight , David Miller , Andi Kleen , George Spelvin , kernel-hardening@lists.openwall.com, Andy Lutomirski , Linux Crypto Mailing List , Tom Herbert , Vegard Nossum , Netdev , Linus Torvalds To: "Jason A. Donenfeld" Return-path: List-Post: List-Help: List-Unsubscribe: List-Subscribe: Content-Disposition: inline In-Reply-To: List-Id: linux-crypto.vger.kernel.org On Mon, Dec 19, 2016 at 06:32:44PM +0100, Jason A. Donenfeld wrote: > 1) Anything that requires actual long-term security will use > SipHash2-4, with the 64-bit output and the 128-bit key. This includes > things like TCP sequence numbers. This seems pretty uncontroversial to > me. Seem okay to you? Um, why do TCP sequence numbers need long-term security? So long as you rekey every 5 minutes or so, TCP sequence numbers don't need any more security than that, since even if you break the key used to generate initial sequence numbers seven a minute or two later, any pending TCP connections will have timed out long before. See the security analysis done in RFC 6528[1], where among other things, it points out why MD5 is acceptable with periodic rekeying, although there is the concern that this could break certain hueristics used when establishing new connections during the TIME-WAIT state. [1] https://tools.ietf.org/html/rfc6528 - Ted