[Ietf-lac] Fwd: The TCP and UDP checksum algorithm may soon need updating

Alejandro Acosta alejandroacostaalamo at gmail.com
Sat Jun 6 02:08:57 GMT+3 2020


Hola lista,

   Envio este correo por dos razones:

a) Muy interesante lo de abajo.., se puede venir un cambio muy grande 
(claro, en muchos años)

b) Lo de abajo es una invitación, quizás alguno tiene alguna idea podría 
participar


Saludos,




-------- Forwarded Message --------
Subject: 	The TCP and UDP checksum algorithm may soon need updating
Date: 	Thu, 4 Jun 2020 13:12:14 -0600
From: 	Craig Partridge <craig at tereschau.net>
To: 	ietf at ietf.org



Hi folks:

This note is intended as an invitation to think a bit about a potential 
hard problem.

There's a small body of literature suggesting that the TCP checksum is 
regularly failing to detect errors and that we're getting close the 
point where using an MD5 authentication check will be insufficient 
(e.g.. the number of times the TCP checksum fails to detect errors is so 
large that TCP passes through enough errors that the md5 check won't 
catch all of them).  This situation is due to the growth in both total 
traffic and the size of individual data transfers.  This is not a 
surprise -- it was anticipated 20 years ago, when studies showed the TCP 
checksum was quite weak.

I'm part of a team that is setting out to do a big set of measurements 
to figure out if the other reports that we're close to a tipping point 
are (a) correct; and (b) what kinds of errors are getting through.  That 
data will tell us if a new checksum is warranted.  We hope to know in 
about a year. We have time to think.

If we need a new checksum, then we are in an interesting space.  There 
is a defined way to negotiate a new checksum in TCP (RFC 1146, now 
obsolete, but we can presumably unobsolete it).  But all the middleboxes 
that like to muck with the TCP header and data would have to both (a) 
learn about the option and (b) implement the new checksum algorithm(s).  
Middleboxes are the problem because if an end system doesn't update the 
checksum, that's on the end system owner and their willingness to risk 
bad data.  But if an end system updates and can't transfer data due to 
the middlebox's ignorance, that's a larger system problem.

Then there's UDP.  UDP has no options.  We could retrofit options by 
leveraging the reserved zero checksum value and some magic codes at the 
start or end of the UDP data, but that's ugly.  Or we could define a 
UDPv2 (UDP has no version numbers either!) and give it another IP 
protocol number.  But if we don't fix UDP, protocols above UDP, like 
QIUC, need fixing...

I don't think we'll need to fix IP and ICMP, as the consequences of 
occasional error aren't a big deal for them. A misrouted packet or 
unreadable ICMP in every million packets or so is probably OK.

At any rate, in a spare moment, worth pondering how one might proceed.

Thanks!

Craig

PS: Some folks may wonder if we couldn't protect ourselves by using a 
bigger MAC than md5.  Yes but (a) that doesn't solve the problem for 
protocols that don't do message authentication; and (b) MACs are lousy 
checksums.

That second statement may surprise folks, so here's the one paragraph 
point.  A checksum for error checking (i.e. not proof against 
adversaries) should be designed to detect all instances of common types 
of errors and, for errors other than those common types, detect errors 
proportionate to the width (in bits) of the checksum. Thus, for a 
checksum of width W bits, we'd expect it to fail to detect an error with 
a probability of 1 in 2^(W+4) or better.  Some newer checksums may be 
able to do even better, like 1 in 2^(2*W). Whereas a MAC of width W bits 
can only fail to catch errors with a probability of 1 in 2^W due to the 
additional requirement to thwart an adversary (not sure this is a proven 
property, but it has consistently been true).  So, for the same width in 
bits, a checksum catches many more errors -- and checksums are 
computationally much cheaper to compute than MACs.

-- 
*****
Craig Partridge's email account for professional society activities and 
mailing lists.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.lacnic.net/pipermail/ietf-lac/attachments/20200606/e3c5f831/attachment.html>


More information about the Ietf-lac mailing list