[TLS] TLS 1.2 hash agility

Mike <mike-list@pobox.com> Sun, 29 July 2007 17:20 UTC

Return-path: <tls-bounces@lists.ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IFCRg-0004wy-9n; Sun, 29 Jul 2007 13:20:44 -0400
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IFCRe-0004wq-3c for tls@ietf.org; Sun, 29 Jul 2007 13:20:42 -0400
Received: from sceptre.pobox.com ([207.106.133.20]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1IFCRb-00010q-LV for tls@ietf.org; Sun, 29 Jul 2007 13:20:39 -0400
Received: from sceptre (localhost.localdomain [127.0.0.1]) by sceptre.pobox.com (Postfix) with ESMTP id 8C0DD2F0 for <tls@ietf.org>; Sun, 29 Jul 2007 13:21:00 -0400 (EDT)
Received: from [192.168.1.8] (wsip-24-234-114-35.lv.lv.cox.net [24.234.114.35]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by sceptre.sasl.smtp.pobox.com (Postfix) with ESMTP id 595DD6A133 for <tls@ietf.org>; Sun, 29 Jul 2007 13:21:00 -0400 (EDT)
Message-ID: <46ACCCCB.8000201@pobox.com>
Date: Sun, 29 Jul 2007 10:22:19 -0700
From: Mike <mike-list@pobox.com>
User-Agent: Thunderbird 2.0.0.5 (Windows/20070716)
MIME-Version: 1.0
To: tls@ietf.org
References: <46ABB82D.8090709@pobox.com>
In-Reply-To: <46ABB82D.8090709@pobox.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 69a74e02bbee44ab4f8eafdbcedd94a1
Cc:
Subject: [TLS] TLS 1.2 hash agility
X-BeenThere: tls@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/tls>
List-Post: <mailto:tls@lists.ietf.org>
List-Help: <mailto:tls-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@lists.ietf.org?subject=subscribe>
Errors-To: tls-bounces@lists.ietf.org

I found an issue with hash agility that I think
needs to be addressed.  Right now I can claim to
support all of the hash functions since my code
can handle RSA with SHA-XXX.  I also support DSA
with SHA-1, and since currently that is the only
supported hash function for DSA, I'm OK.

The problem will come about when DSA is changed
to allow the use of SHA-256, etc.  If I were to
leave my code as is, it would suddenly be broken
since if someone were to try using DSA with SHA-
256, it would fail to create/verify signatures.

This means I either need to advertise support for
only SHA-1 and MD5, and wait for my encryption
library provider to support the new DSA modes,
or I can disable all of DSA until my encryption
library supports them, which will allow me to
support RSA with the better SHA algorithms.

Neither of these options is optimal.

I think the solution we need is to specifically
list each supported signature algorithm, e.g.

     enum {
       rsa_with_md5(0),    rsa_with_sha1(1),
       rsa_with_sha256(2), rsa_with_sha384(3),
       rsa_with_sha512(4), dsa_with_sha1(5),
       (65535)
     };

These may not be specific enough, as I've seen
suggestions for, e.g. rsa_pkcs1v1_5_with_sha1,
and I've heard that some algorithms need
parameters, but I think I've made my point.

Mike

_______________________________________________
TLS mailing list
TLS@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/tls