Network Working Group R. Seggelmann Internet-Draft M. Tuexen Intended status: Standards Track Muenster Univ. of Applied Sciences Expires: January 7, 2010 M. Williams July 6, 2009 Datagram Transport Layer Security Heartbeat Extension draft-seggelmann-tls-dtls-heartbeat-00.txt Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on January 7, 2010. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract This document describes the Heartbeat Extension for the Datagram Transport Layer Security (DTLS) protocol. Seggelmann, et al. Expires January 7, 2010 [Page 1] Internet-Draft DTLS Heartbeat July 2009 The Heartbeat Extension provides a new protocol for DTLS allowing the usage of keep-alive functionality without performing a renegotiation. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Heartbeat Hello Extension . . . . . . . . . . . . . . . . . . . 3 3. Heartbeat Protocol . . . . . . . . . . . . . . . . . . . . . . 4 4. Heartbeat Request and Response Messages . . . . . . . . . . . . 4 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 7. Normative References . . . . . . . . . . . . . . . . . . . . . 5 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 5 Seggelmann, et al. Expires January 7, 2010 [Page 2] Internet-Draft DTLS Heartbeat July 2009 1. Introduction 1.1. Overview This document describes the Heartbeat Extension for the Datagram Transport Layer Security (DTLS) protocol, as defined in [RFC4347]. DTLS is designed to secure traffic running on top of unreliable transport protocols. Such protocols have usually no session management. The only mechanism available at the DTLS layer to figure out if a peer is still alive is performing a costly renegotiation. If the application uses unidirectional traffic there is no other way. The Heartbeat Extension for DTLS as described in this document overcomes this limitation. The user of DTLS can use the new HeartbeatRequest message which has to be answered by the peer with a HeartbeartResponse immediately. 1.2. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2. Heartbeat Hello Extension The support of DTLS Heartbeats is indicated with Hello Extensions. A peer can not only indicate that its implementation supports Heartbeats, it can also choose whether it is willed to receive and respond or only to send them. This decision can be changed with every renegotiation. HeartbeatRequests MUST NOT be sent to a peer denying acceptance. enum { peer_allowed_to_send(1), peer_not_allowed_to_send(2), (255) } HeartbeatMode; struct { HeartbeatMode mode; } HeartbeatExtension; Seggelmann, et al. Expires January 7, 2010 [Page 3] Internet-Draft DTLS Heartbeat July 2009 3. Heartbeat Protocol The Heartbeat protocol is a new protocol on top of the Record Layer. The protocol itself consists of two message types, HeartbeatRequest and HeartbeatResponse. enum { heartbeat_request(1), heartbeat_response(2), (255) } HeartbeatMessageType; Like the ChangeCipherSpec, a HeartbeatRequest can arrive at any time during the connection. Whenever a HeartbeatRequest is received, it has to be answered with the HeartbeatResponse message immediately. However, a HeartbeatRequest SHOULD NOT be sent during handshakes and there MUST NOT be more than one request in flight at a time. HeartbeatRequest messages MUST be retransmitted using the simple timeout and retransmission scheme DTLS uses for flights. In particular, after a number of retransmissions without receiving a HeartbeatResponse message having the expected payload the DTLS connection SHOULD be terminated. The threshold used for this SHOULD be the same as for DTLS handshake messages. 4. Heartbeat Request and Response Messages The Heartbeat protocol messages consist of their type and an arbitrary payload. struct { HeartbeatMessageType msg_type; opaque payload<0..2^14-3>; } HeartbeatMessage; If a HeartbeatRequest message is received, a HeartbeatResponse message MUST be sent carrying an exact copy of the payload of the HeartbeatRequest. If a received HeartbeatResponse message does not contain the expected payload the message MUST be discarded silently. 5. IANA Considerations The extension, content and message types have to be assigned by IANA. Seggelmann, et al. Expires January 7, 2010 [Page 4] Internet-Draft DTLS Heartbeat July 2009 6. Security Considerations This document does not add any additional security considerations in addition to the ones given in [RFC4347]. 7. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer Security", RFC 4347, April 2006. Authors' Addresses Robin Seggelmann Muenster Univ. of Applied Sciences Stegerwaldstr. 39 48565 Steinfurt Germany Email: seggelmann@fh-muenster.de Michael Tuexen Muenster Univ. of Applied Sciences Stegerwaldstr. 39 48565 Steinfurt Germany Email: tuexen@fh-muenster.de Michael Williams Email: michael.glenn.williams@gmail.com Seggelmann, et al. Expires January 7, 2010 [Page 5]