Re: [TLS] I-D Action:draft-ietf-tls-dtls-heartbeat-01.txt

Simon Josefsson <simon@josefsson.org> Thu, 27 January 2011 12:35 UTC

Return-Path: <simon@josefsson.org>
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 EA9BF3A677C for <tls@core3.amsl.com>; Thu, 27 Jan 2011 04:35:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.846
X-Spam-Level:
X-Spam-Status: No, score=-102.846 tagged_above=-999 required=5 tests=[AWL=-0.247, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
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 C4ElWwcMwqWi for <tls@core3.amsl.com>; Thu, 27 Jan 2011 04:35:47 -0800 (PST)
Received: from yxa-v.extundo.com (yxa-v.extundo.com [213.115.69.139]) by core3.amsl.com (Postfix) with ESMTP id 9BD693A6778 for <tls@ietf.org>; Thu, 27 Jan 2011 04:35:46 -0800 (PST)
Received: from latte.josefsson.org (c80-216-4-108.bredband.comhem.se [80.216.4.108]) (authenticated bits=0) by yxa-v.extundo.com (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id p0RCchDZ003868 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for <tls@ietf.org>; Thu, 27 Jan 2011 13:38:45 +0100
From: Simon Josefsson <simon@josefsson.org>
To: tls@ietf.org
References: <20110127114502.24680.73782.idtracker@localhost>
OpenPGP: id=B565716F; url=http://josefsson.org/key.txt
X-Hashcash: 1:22:110127:tls@ietf.org::I+ff0G2DNwepmwX5:0Jpv
X-Hashcash: 1:22:110127:i-d-announce@ietf.org::QNnMJwejfPDo7qwa:6T/n
X-Hashcash: 1:22:110127:internet-drafts@ietf.org::pFe9hRByS9olyXFb:RZ23
Date: Thu, 27 Jan 2011 13:38:43 +0100
In-Reply-To: <20110127114502.24680.73782.idtracker@localhost> (Internet-Drafts@ietf.org's message of "Thu, 27 Jan 2011 03:45:02 -0800")
Message-ID: <874o8uplm4.fsf@latte.josefsson.org>
User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Virus-Scanned: clamav-milter 0.96.5 at yxa-v
X-Virus-Status: Clean
Subject: Re: [TLS] I-D Action:draft-ietf-tls-dtls-heartbeat-01.txt
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, 27 Jan 2011 12:35:48 -0000

This looks like a useful extension, it is similar to the unfortunately
non-standard keepalive feature in SSH (that I happened to implement for
libssh2 not long ago).

I have one mild concern with permitting arbitrary payload.  What is the
rationale for this?  It opens up for a side channel in TLS.  It could
also be abused to send non-standardized data.  Further, is there any
reason to allow arbitrary sized payload?  In my opinion, the
payload_length, payload and padding fields seems unnecessary to me.

/Simon

   struct {
      HeartbeatMessageType type;
      uint16 payload_length;
      opaque payload[HeartbeatMessage.payload_length];
      opaque padding[padding_length];
   } HeartbeatMessage;

   The length of a HeartbeatMessage in total MUST NOT exceed 2^14 or
   max_fragment_length when negotiated as defined in [RFC6066].

   type  The message type, either heartbeat_request or
      heartbeat_response.

   payload_length  The length of the payload.

   payload  The payload consists of arbitrary content.