[TLS] Heartbeat and padding
Michael D'Errico <mike-list@pobox.com> Sun, 27 April 2014 00:27 UTC
Return-Path: <mike-list@pobox.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A2AAD1A0706 for <tls@ietfa.amsl.com>; Sat, 26 Apr 2014 17:27:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.273
X-Spam-Level:
X-Spam-Status: No, score=-2.273 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.272, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4FwvLz9jc2oo for <tls@ietfa.amsl.com>; Sat, 26 Apr 2014 17:27:52 -0700 (PDT)
Received: from sasl.smtp.pobox.com (a-pb-sasl-quonix.pobox.com [208.72.237.25]) by ietfa.amsl.com (Postfix) with ESMTP id E03F51A0705 for <tls@ietf.org>; Sat, 26 Apr 2014 17:27:51 -0700 (PDT)
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id 5AE58113EA for <tls@ietf.org>; Sat, 26 Apr 2014 20:27:44 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=message-id :date:from:mime-version:to:subject:content-type :content-transfer-encoding; s=sasl; bh=Q0gWhVpp2pnikwj5RcQrIQG/v 4A=; b=PnuhdMbiXpyPIdA+dP0WpLQuCF0lr3txlTQ9QcKVb4lLqCGwRawo/T6/I QDAXXy8tgmSNbWjvhZxRo+mvMKzNbsV9lMA9E7gY/llNcLyd2Ss3Op0N7bOWKsVM nx0V1+RhWZRfT2/QSkFT/kACxxPDFBveHKPCDEqD3I79P3fWRY=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=message-id:date :from:mime-version:to:subject:content-type :content-transfer-encoding; q=dns; s=sasl; b=gpctkuT5GnDsSpIauRK eAGBeQ0gQMYfZCSBfeOw7b54kIoaT6ovbWN8KsKpKhKshgO5iDYvwW5cqne2ytnU dOPZYtWQmFDu5Lk8G+mobvepMmg/n23gdELL4jLwhq59c+896VvMIjk+PxypBZUx Q4BtVEyh5OOvrtkWF8fZHR74=
Received: from a-pb-sasl-quonix.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id 53E01113E8 for <tls@ietf.org>; Sat, 26 Apr 2014 20:27:44 -0400 (EDT)
Received: from iMac.local (unknown [24.234.153.62]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTPSA id 64234113E7 for <tls@ietf.org>; Sat, 26 Apr 2014 20:27:42 -0400 (EDT)
Message-ID: <535C4EFD.7030608@pobox.com>
Date: Sat, 26 Apr 2014 17:27:41 -0700
From: Michael D'Errico <mike-list@pobox.com>
User-Agent: Thunderbird 2.0.0.24 (Macintosh/20100228)
MIME-Version: 1.0
To: TLS Mailing List <tls@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Pobox-Relay-ID: BF0D9142-CDA2-11E3-8BC5-6F330E5B5709-38729857!a-pb-sasl-quonix.pobox.com
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/5ZLehPM7EAZUa-VO7cII_8E18XY
Subject: [TLS] Heartbeat and padding
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
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/options/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: Sun, 27 Apr 2014 00:27:53 -0000
Not related to Heartbleed(tm), do we need to revisit the Heartbeat spec. due to the random padding? There is a requirement to add at least 16 bytes of random padding to every message: struct { HeartbeatMessageType type; uint16 payload_length; opaque payload[HeartbeatMessage.payload_length]; opaque padding[padding_length]; } HeartbeatMessage; ... padding: The padding is random content that MUST be ignored by the receiver. The length of a HeartbeatMessage is TLSPlaintext.length for TLS and DTLSPlaintext.length for DTLS. Furthermore, the length of the type field is 1 byte, and the length of the payload_length is 2. Therefore, the padding_length is TLSPlaintext.length - payload_length - 3 for TLS and DTLSPlaintext.length - payload_length - 3 for DTLS. The padding_length MUST be at least 16. The sender of a HeartbeatMessage MUST use a random padding of at least 16 bytes. The padding of a received HeartbeatMessage message MUST be ignored. Since the recipient MUST ignore the padding, they can't reverse engineer the peer's PRNG, so maybe this isn't a problem? Mike
- [TLS] Heartbeat and padding Michael D'Errico
- Re: [TLS] Heartbeat and padding Hanno Böck
- Re: [TLS] Heartbeat and padding Watson Ladd
- Re: [TLS] Heartbeat and padding Aaron Zauner
- Re: [TLS] Heartbeat and padding Salz, Rich
- Re: [TLS] Heartbeat and padding Nikos Mavrogiannopoulos
- Re: [TLS] Heartbeat and padding Michael Tuexen
- Re: [TLS] Heartbeat and padding Bill Frantz
- Re: [TLS] Heartbeat and padding Richard Hartmann
- Re: [TLS] Heartbeat and padding Viktor Dukhovni
- Re: [TLS] Heartbeat and padding Nico Williams
- Re: [TLS] Heartbeat and padding Nico Williams