Re: [TLS] draft-ietf-tls-cached-info-02 / New "Fast-Track" draft

Yoav Nir <ynir@checkpoint.com> Thu, 25 February 2010 06:04 UTC

Return-Path: <ynir@checkpoint.com>
X-Original-To: tls@core3.amsl.com
Delivered-To: tls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0C5133A864A for <tls@core3.amsl.com>; Wed, 24 Feb 2010 22:04:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.26
X-Spam-Level:
X-Spam-Status: No, score=-3.26 tagged_above=-999 required=5 tests=[AWL=0.339, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YAL7uimItSaF for <tls@core3.amsl.com>; Wed, 24 Feb 2010 22:04:33 -0800 (PST)
Received: from michael.checkpoint.com (michael.checkpoint.com [194.29.32.68]) by core3.amsl.com (Postfix) with ESMTP id 13F213A863F for <tls@ietf.org>; Wed, 24 Feb 2010 22:04:18 -0800 (PST)
Received: from il-ex01.ad.checkpoint.com (il-ex01.checkpoint.com [194.29.34.26]) by michael.checkpoint.com (8.12.10+Sun/8.12.10) with ESMTP id o1P66LPb013446; Thu, 25 Feb 2010 08:06:21 +0200 (IST)
X-CheckPoint: {4B861261-0-1B201DC2-2FFFF}
Received: from il-ex01.ad.checkpoint.com ([126.0.0.2]) by il-ex01.ad.checkpoint.com ([126.0.0.2]) with mapi; Thu, 25 Feb 2010 08:06:20 +0200
From: Yoav Nir <ynir@checkpoint.com>
To: Marsh Ray <marsh@extendedsubset.com>
Date: Thu, 25 Feb 2010 08:06:23 +0200
Thread-Topic: [TLS] draft-ietf-tls-cached-info-02 / New "Fast-Track" draft
Thread-Index: Acq14KaIPT7dp+jVSzy6IrLBfIVHvw==
Message-ID: <848CABEF-60CE-4CCD-A65C-EA5BB4DB4087@checkpoint.com>
References: <4B8407D7.9040207@briansmith.org> <C7AB19CF.88B9%stefan@aaa-sec.com><201002241753.o1OHrxuK015491@stingray.missi.ncsc.mil> <4B856F19.6080809@extendedsubset.com> <201002241950.o1OJonSH025171@stingray.missi.ncsc.mil> <4B8593FF.7030300@extendedsubset.com>
In-Reply-To: <4B8593FF.7030300@extendedsubset.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "Kemp, David P." <DPKemp@missi.ncsc.mil>, "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] draft-ietf-tls-cached-info-02 / New "Fast-Track" draft
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 Feb 2010 06:04:57 -0000

Something like this algorithm also has the benefit of side-stepping the whole national algorithms issue.

While "American" crypto algorithms may be unacceptable in Russia, perhaps an "American" non-crypto algorithms would be acceptable, and we won't need a GOST version.

(or Camelia)

On Feb 24, 2010, at 11:02 PM, Marsh Ray wrote:

> Kemp, David P. wrote:
>> Marsh Ray wrote:
>>> It will not be so fun to convince reviewers that "yes we're using 
>>> SHA-1 but not in a way that really matters."
>>> 
>>> If all you need is a 64-bit checksum for data-structure-style 
>>> hashing and indexing, use any old old-fashioned checksum algorithm.
>>> 
>>> 
>>> This would be simple for everyone to implement and it clearly 
>>> communicates your design intent (that the security of the design 
>>> does not depend on any properties of this value's calculation).
>> 
>> +1 in principle.
>> 
>> But practically speaking, do you have any suggestions for well-known
>> non-cryptographic hash algorithms?
> 
> Hmm, starting with http://en.wikipedia.org/wiki/List_of_hash_functions
> 
> FNV seems like a good candidate.
> http://en.wikipedia.org/wiki/Fowler-Noll-Vo_hash_function
> 
> Pros:
> * Wide existing usage:
> http://www.isthe.com/chongo/tech/comp/fnv/index.html#history
> 
> * On that page they disclaim patents on it.
> 
> * It is defined in power-of-two sizes from 32 to 1024 bits.
> 
> * Something of an endorsement:
> "We experimetned with several different hash functions and found FNV has
> to be the best one."
> http://domino.watson.ibm.com/library/cyberdig.nsf/papers/2314E66547EF9CC5852576BE005F1E4F/$File/rc24939.pdf
> 
> Cons:
> 
> * Uses multiply. Probably not a big deal in practice.
> 
> * Not (yet) referenceable in a formal standards doc.
> 
>> A quick IANA search turned up
>> Kerberos checksums
>> http://www.iana.org/assignments/kerberos-parameters/kerberos-parameters.xhtml,
>> including CRC32 (4 octets), des-mac-k (8 octets), and several 16
>> octet algorithms including MD4 and MD5.
> 
> CRC64 doesn't seem to be so great with collisions:
> http://www.cs.ucl.ac.uk/staff/d.jones/crcnote.pdf
> The authors propose a better version.
> 
> You could use a pair of (some variant of) CRC32, each preloaded with
> different values. This may not be any better than CRC64 though and may
> not be terribly efficient.
> 
>> A search for other "hash", "mac", or "checksum" registries turned up
>> nothing new.
>> 
>> It doesn't feel quite right to add a non-cryptographic checksum to
>> the RFC 5246 registry:
>> 
>> enum { none(0), md5(1), sha1(2), sha224(3), sha256(4), sha384(5), 
>> sha512(6), (255) } HashAlgorithm;
>> 
>> so even if there were such an algorithm, permitting both it and
>> cryptographic hashes would be painful.
> 
> Is it really necessary for this to be a flexible parameter?
> 
> A implementation now has a choice: implement them all (including ones
> that are never used in practice), or risk not not being compatible
> somewhere.
> 
>> I don't see an alternative that satisfies both "simple to implement"
>> and "clearly communicates intent".  My care-abouts are 1) a common
>> interoperable algorithm and 2) bandwidth.  Computation speed is
>> unimportant,
> 
> There's always code size to consider.
> 
>> so if everyone thinks sha256 will be cryptographically
>> viable for the foreseeable future and SHA-1 will soon be impossible
>> to get "approved", then sha256 truncated to 64 bits could be a
>> reasonable MUST-support algorithm.
> 
> Now you'll have to explain why you're taking the output of an
> industrial-strength hash function and throwing away 3/4 of it. :-) Plus,
> it's wasted effort since collisions will be possible to find in any
> 64-bit hash function.
> 
> - Marsh
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
> 
> Scanned by Check Point Total Security Gateway.