[TLS] Serious crypto problem fixed by envelope HMAC method instead of currently used prefix

"Omirjan Batyrbaev" <batyr@sympatico.ca> Mon, 20 November 2006 02:24 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GlypU-0004SG-SR; Sun, 19 Nov 2006 21:24:16 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GlypT-0004S8-JU for TLS@lists.ietf.org; Sun, 19 Nov 2006 21:24:15 -0500
Received: from simmts7.bellnexxia.net ([206.47.199.165] helo=simmts7-srv.bellnexxia.net) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GlypS-0001tJ-Aw for TLS@lists.ietf.org; Sun, 19 Nov 2006 21:24:15 -0500
Received: from pbo8f8e10aowa ([65.94.168.135]) by simmts7-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with SMTP id <20061120022405.ODGT16677.simmts7-srv.bellnexxia.net@pbo8f8e10aowa> for <TLS@lists.ietf.org>; Sun, 19 Nov 2006 21:24:05 -0500
Message-ID: <006001c70c4b$3d624780$87a85e41@pbo8f8e10aowa>
From: Omirjan Batyrbaev <batyr@sympatico.ca>
To: TLS@lists.ietf.org
Date: Sun, 19 Nov 2006 21:26:09 -0500
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1409
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
X-Spam-Score: 0.0 (/)
X-Scan-Signature: c1c65599517f9ac32519d043c37c5336
Cc:
Subject: [TLS] Serious crypto problem fixed by envelope HMAC method instead of currently used prefix
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

Hi,

I propose to use envelope method instead of currently used prefix method in
HMAC. The measure is important especially since it was pointed out that the
NULL cipher suites have a real use and since some ciphers are intentionally
weak. With the NULL cipher (or the 40 bits cipher) the current HMAC
construct is exploitable by an active attacker who appends to the message
and substitutes the new message and the newly generated HMAC value for the
original. On the server side the HMAC operation will succeed. Of course it
can be the server message that gets compromised this way. This attack is
well known in the crypto community and is well documented in HAC (Handbook
of Applied Cryptography). The book is available online and I can send you a
page reference if you are not familiar with the attack on the HMAC prefix
method.

I quote TLS 1.2:
"The MAC is generated as:

       HMAC_hash(MAC_write_secret, seq_num + TLSCompressed.type +
                     TLSCompressed.version + TLSCompressed.length +
TLSCompressed.fragment));

   where "+" denotes concatenation."

This is subject to the above mentioned attack.

Instead I propose the HMAC construct which is not prone to the above stated
exploit:

       HMAC_hash(MAC_write_secret, seq_num + TLSCompressed.type +
                     TLSCompressed.version + TLSCompressed.length +
TLSCompressed.fragment + MAC_write_secret));

addition of the MAC_write_secret as the last bits of the input to the HMAC
makes it envelope method which is secure against the above stated exploit.

Versions affected TLS 1.2; 1.1; 1.0 and SSL v3, etc.

PS: it makes no difference if the plaintext compressed or not I just quoted
from the draft/specs.


Thanks.
Regards,
Omirjan Batyrbaev, CTO B3 Security Corp.
batyr@b3securitycorp.com


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