Request for Comments: 2420 Category: Standards Track September The PPP Triple-DES Encryption Protocol (3DESE)

Similar documents
Network Working Group. Category: Standards Track NIST November 1998

Network Working Group. Category: Standards Track September Telnet Encryption: DES3 64 bit Cipher Feedback

Request for Comments: 3153 Category: Standards Track C. Fox Cisco Systems August 2001

Request for Comments: 3566 Category: Standards Track Intel September The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

Network Working Group. Category: Standards Track January 1999 Updates: 2284, 1994, PPP LCP Internationalization Configuration Option

Network Working Group. Category: Standards Track June 1996

RFC 3173 IP Payload Compression Protocol September 2001

Request for Comments: 2393 Category: Standards Track Hi/fn R. Pereira TimeStep M. Thomas AltaVista Internet December 1998

Network Working Group Request for Comments: DayDreamer March 1999

Category: Standards Track Cisco Systems Inc. November 1998

Network Working Group Request for Comments: 1829 Category: Standards Track Piermont W. Simpson Daydreamer August 1995

See Also: 1201 January 1999 Category: Standards Track

Network Working Group Request for Comments: Category: Standards Track August 2008

Request for Comments: 2711 Category: Standards Track BBN October 1999

Request for Comments: February Mobile IP Vendor/Organization-Specific Extensions

Request for Comments: 2537 Category: Standards Track March RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)

Network Working Group Requests for Commments: 2716 Category: Experimental October 1999

Network Working Group Request for Comments: December 1998

A Method for Transmitting PPP Over Ethernet (PPPoE)

Network Working Group. Category: Informational September 2000

Network Working Group Request for Comments: 1663 Category: Standards Track July 1994

Request for Comments: 3110 Obsoletes: 2537 May 2001 Category: Standards Track. RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)

Network Working Group. Updates: 1858 June 2001 Category: Informational. Protection Against a Variant of the Tiny Fragment Attack

Updates: 2710 September 2003 Category: Standards Track. Source Address Selection for the Multicast Listener Discovery (MLD) Protocol

Request for Comments: 3306 Category: Standards Track Microsoft August 2002

Network Working Group. November Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)

Request for Comments: 2464 Obsoletes: 1972 December 1998 Category: Standards Track. Transmission of IPv6 Packets over Ethernet Networks

Category: Informational July Generic Routing Encapsulation over CLNS Networks

Category: Standards Track August 2002

Network Working Group Request for Comments: January IP Payload Compression Using ITU-T V.44 Packet Method

Network Working Group Request for Comments: October 1996

Network Working Group Request for Comments: 3397 Category: Standards Track Apple Computer, Inc. November 2002

Network Working Group Request for Comments: D. Kuenzi 724 Solutions Inc. February 2001

Category: Standards Track August 2002

Network Working Group. Category: Standards Track. R. Hinden Nokia August 1999

Network Working Group. Category: Informational Cisco Systems J. Brezak Microsoft February 2002

Category: Standards Track A. Malis Ascend Communications, Inc. September Inverse Address Resolution Protocol. Status of this Memo

Category: Best Current Practice March 2000

Request for Comments: 3548 July 2003 Category: Informational

Request for Comments: 3192 Obsoletes: 2304 October 2001 Updates: 2846 Category: Standards Track

Network Working Group Request for Comments: 3408 Category: Standards Track November 2002

Category: Standards Track Cisco Systems, Inc. D. McPherson TCB K. Peirce Malibu Networks, Inc. November 2002

Request for Comments: 3007 Updates: 2535, 2136 November 2000 Obsoletes: 2137 Category: Standards Track. Secure Domain Name System (DNS) Dynamic Update

Request for Comments: 2536 Category: Standards Track March DSA KEYs and SIGs in the Domain Name System (DNS)

Category: Standards Track August POP URL Scheme. Status of this Memo

Network Working Group. Category: Informational September Nortel Networks. Multi-link Multi-node PPP Bundle Discovery Protocol

Request for Comments: 2467 Obsoletes: 2019 December 1998 Category: Standards Track. Transmission of IPv6 Packets over FDDI Networks

Network Working Group Request for Comments: October 1998

Request for Comments: 1332 Obsoletes: RFC 1172 May The PPP Internet Protocol Control Protocol (IPCP)

Network Working Group Request for Comments: 4432 March 2006 Category: Standards Track

Copyright (C) The Internet Society (2001). All Rights Reserved.

Category: Standards Track December 2007

Network Working Group. Intended status: Standards Track Columbia U. Expires: March 5, 2009 September 1, 2008

Request for Comments: 3206 Category: Standards Track February 2002

Category: Standards Track November Registration of Charset and Languages Media Features Tags. Status of this Memo

Updates: 2535 November 2003 Category: Standards Track

Network Working Group Request for Comments: 4869 Category: Informational May Suite B Cryptographic Suites for IPsec. Status of This Memo

Request for Comments: 2976 Category: Standards Track October 2000

Network Working Group Request for Comments: 2866 Category: Informational June 2000 Obsoletes: 2139

Request for Comments: Columbia U. November 2000

Request for Comments: 2304 Category: Standards Track March 1998

Category: Standards Track September 2003

Request for Comments: 2470 Category: Standards Track IBM S. Thomas TransNexus December Transmission of IPv6 Packets over Token Ring Networks

Network Working Group Request for Comments: 2236 Updates: 1112 November 1997 Category: Standards Track

Network Working Group. Category: Standards Track March 2001

Network Working Group. Extreme Networks July Intermediate System to Intermediate System (IS-IS) Cryptographic Authentication

Chapter 10 Security Protocols of the Data Link Layer

PPP Configuration Options

Request for Comments: 4571 Category: Standards Track July 2006

Network Working Group Request for Comments: IBM L. Masinter AT&T December 1999

Category: Standards Track December 2003

Request for Comments: T. Sajima Sun Microsystems November 2002

Network Working Group Request for Comments: 2085 Category: Standards Track NIST February HMAC-MD5 IP Authentication with Replay Prevention

Category: Informational December 1998

Network Working Group Request for Comments: 3446 Category: Informational H. Kilmer D. Farinacci Procket Networks January 2003

Network Working Group Request for Comments: 4573 Category: Standard Track July MIME Type Registration for RTP Payload Format for H.

Request for Comments: 3243 Category: Informational April 2002

Network Working Group Request for Comments: 1962 Category: Standards Track June 1996

Using SRP for TLS Authentication

Network Working Group Request for Comments: T. Yoshida Werk Mikro Systems July 2003

Request for Comments: October Transmission of IPv6 Packets over IEEE 1394 Networks

Request for Comments: 2230 Category: Informational November 1997

COSC4377. Chapter 8 roadmap

Network Working Group. Category: Standards Track September The SRP Authentication and Key Exchange System

Category: Informational 1 April 2001

Request for Comments: 2539 Category: Standards Track March Storage of Diffie-Hellman Keys in the Domain Name System (DNS)

Network Working Group Request for Comments: 2671 Category: Standards Track August 1999

Cryptography and Network Security Chapter 16. Fourth Edition by William Stallings

Category: Standards Track January 1999

Request for Comments: 2303 Category: Standards Track March 1998

05 - WLAN Encryption and Data Integrity Protocols

September Copyright (C) The Internet Society (2000). All Rights Reserved.

Category: Standards Track October Session Description Protocol (SDP) Simple Capability Declaration

Network Working Group. Ohio University C. Metz The Inner Net September 1998

Network Working Group Request for Comments: 3137 Category: Informational Cisco Systems A. Zinin Nexsi Systems D. McPherson Amber Networks June 2001

Network Working Group. Category: Standards Track December 2001

Network Working Group. A. Keromytis U. of Pennsylvania March DSA and RSA Key and Signature Encoding for the KeyNote Trust Management System

Network Working Group. Category: Informational Tenet Technologies September 2002

Request for Comments: 3601 Category: Standards Track September 2003

CSC 474/574 Information Systems Security

Transcription:

Network Working Group H. Kummert Request for Comments: 2420 Nentec GmbH Category: Standards Track September 1998 Status of this Memo The PPP Triple-DES Encryption Protocol (3DESE) This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (1998). All Rights Reserved. Abstract The Point-to-Point Protocol (PPP) [1] provides a standard method for transporting multi-protocol datagrams over point-to-point links. The PPP Encryption Control Protocol (ECP) [2] provides a method to negotiate and utilize encryption protocols over PPP encapsulated links. This document provides specific details for the use of the Triple-DES standard (3DES) [6] for encrypting PPP encapsulated packets. Table of Contents 1. Introduction... 2 1.1 Algorithm... 2 1.2 Keys... 3 2. 3DESE Configuration Option for ECP... 3 3. Packet format for 3DESE... 4 4. Encryption... 5 4.1 Padding... 5 4.2 Recovery after packet loss... 6 5. Security Considerations... 6 6. References... 7 7. Acknowledgements... 7 8. Author s Address... 7 9. Full Copyright Statement... 8 Kummert Standards Track [Page 1]

1. Introduction The purpose of encrypting packets exchanged between two PPP implementations is to attempt to insure the privacy of communication conducted via the two implementations. There exists a large variety of encryption algorithms, where one is the DES algorithm. The DES encryption algorithm is a well studied, understood and widely implemented encryption algorithm. Triple-DES means that this algorithm is applied three times on the data to be encrypted before it is sent over the line. The variant used is the DES-EDE3-CBC, which is described in more detail in the text. It was also chosen to be applied in the security section of IP [5]. This document shows how to send via the Triple-DES algorithm encrypted packets over a point-to-point-link. It lies in the context of the generic PPP Encryption Control Protocol [2]. Because of the use of the CBC-mode a sequence number is provided to ensure the right order of transmitted packets. So lost packets can be detected. The padding section reflects the result of the discussion on this topic on the ppp mailing list. In this document, the key words "MUST", "SHOULD", and "recommended" are to be interpreted as described in [3]. 1.1 Algorithm The DES-EDE3-CBC algorithm is a simple variant of the DES-CBC algorithm. In DES-EDE3-CBC, an Initialization Vector (IV) is XOR d with the first 64-bit (8 octet) plaintext block (P1). The keyed DES function is iterated three times, an encryption (E) followed by a decryption (D) followed by an encryption (E), and generates the ciphertext (C1) for the block. Each iteration uses an independent key: k1, k2 and k3. For successive blocks, the previous ciphertext block is XOR d with the current 8-octet plaintext block (Pi). The keyed DES-EDE3 encryption function generates the ciphertext (Ci) for that block. Kummert Standards Track [Page 2]

P1 P2 Pi IV--->(X) +------>(X) +-------->(X) v v v +-----+ +-----+ +-----+ k1-> E k1-> E : k1-> E +-----+ +-----+ : +-----+ : v v : v +-----+ ^ +-----+ ^ +-----+ k2-> D k2-> D k2-> D +-----+ +-----+ +-----+ v v v +-----+ +-----+ +-----+ k3-> E k3-> E k3-> E +-----+ +-----+ +-----+ +---->+ +------>+ +----> C1 C2 Ci To decrypt, the order of the functions is reversed: decrypt with k3, encrypt with k2, decrypt with k1, and XOR with the previous ciphertext block. When all three keys (k1, k2 and k3) are the same, DES-EDE3-CBC is equivalent to DES-CBC. 1.2 Keys The secret DES-EDE3 key shared between the communicating parties is effectively 168-bits long. This key consists of three independent 56-bit quantities used by the DES algorithm. Each of the three 56- bit subkeys is stored as a 64-bit (8 octet) quantity, with the least significant bit of each octet used as a parity bit. When configuring keys for 3DESE those with incorrect parity or socalled weak keys [6] SHOULD be rejected. 2. 3DESE Configuration Option for ECP Description The ECP 3DESE Configuration Option indicates that the issuing implementation is offering to employ this specification for decrypting communications on the link, and may be thought of as a request for its peer to encrypt packets in this manner. The Kummert Standards Track [Page 3]

ECP 3DESE Configuration Option has the following fields, which are transmitted from left to right: Figure 1: ECP 3DESE Configuration Option 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Type Length Initial Nonce... Type Length 2, to indicate the 3DESE protocol. 10 Initial Nonce 3. Packet format for 3DESE Description This field is an 8 byte quantity which is used by the peer implementation to encrypt the first packet transmitted after the sender reaches the opened state. To guard against replay attacks, the implementation SHOULD offer a different value during each ECP negotiation. The 3DESE packets that contain the encrypted payload have the following fields: Figure 2: 3DESE Encryption Protocol Packet Format 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Address Control 0000 Protocol ID Seq. No. High Seq. No. Low Ciphertext... Address and Control These fields MUST be present unless the PPP Address and Control Field Compression option (ACFC) has been Kummert Standards Track [Page 4]

Protocol ID negotiated. The value of this field is 0x53 or 0x55; the latter indicates the use of the Individual Link Encryption Control Protocol and that the ciphertext contains a Multilink fragment. Protocol Field Compression MAY be applied to the leading zero if negotiated. Sequence Number Ciphertext 4. Encryption These 16-bit numbers are assigned by the encryptor sequentially starting with 0 (for the first packet transmitted once ECP has reached the opened state). The generation of this data is described in the next section. Once the ECP has reached the Opened state, the sender MUST NOT apply the encryption procedure to LCP packets nor ECP packets. If the async control character map option has been negotiated on the link, the sender applies mapping after the encryption algorithm has been run. The encryption algorithm is generally to pad the Protocol and Information fields of a PPP packet to some multiple of 8 bytes, and apply 3DES as described in section 1.1 with the three 56-bit keys k1, k2 and k3. The encryption procedure is only applied to that portion of the packet excluding the address and control field. When encrypting the first packet after ECP stepped into opened state the Initial Nonce is encrypted via 3DES-algorithm before its use. 4.1 Padding Since the 3DES algorithm operates on blocks of 8 octets, plain text packets which are of length not a multiple of 8 octets must be padded prior to encrypting. If this padding is not removed after decryption this can be injurious to the interpretation of some protocols which do not contain an explicit length field in their protocol headers. Kummert Standards Track [Page 5]

Therefore all packets not already a multiple of eight bytes in length MUST be padded prior to encrypting using the unambiguous technique of Self Describing Padding with a Maximum Pad Value (MPV) of 8. This means that the plain text is padded with the sequence of octets 1, 2, 3,.. 7 since its length is a multiple of 8 octets. Negotiation of SDP is not needed. Negotiation of the LCP Self Describing Option may be negotiated independently to solve an orthogonal problem. Plain text which length is already a multiple of 8 octets may require padding with a further 8 octets (1, 2, 3... 8). These additional octets MUST only be appended, if the last octet of the plain text had a value of 8 or less. When using Multilink and encrypting on individual links it is recommended that all non-terminating fragments have a length divisible by 8. So no additional padding is needed on those fragments. After the peer has decrypted the ciphertext, it strips off the Self Describing Padding octets to recreate the original plain text. The peer SHOULD discard the frame if the octets forming the padding do not match the Self Describing Padding scheme just described. Note that after decrypting, only the content of the last byte needs to be examined to determine the presence or absence of a Self Described Pad. 4.2 Recovery after packet loss Packet loss is detected when there is a discontinuity in the sequence numbers of consecutive packets. Suppose packet number N - 1 has an unrecoverable error or is otherwise lost, but packets N and N + 1 are received correctly. Since the previously described algorithm requires the last Ci of packet N - 1 to decrypt C1 of packet N, it will be impossible to decrypt packet N. However, all packets N + 1 and following can be decrypted in the usual way, since all that is required is the last block of ciphertext of the previous packet (in this case packet N, which WAS received). 5. Security Considerations This proposal is concerned with providing confidentiality solely. It does not describe any mechanisms for integrity, authentication or nonrepudiation. It does not guarantee that any message received has not been modified in transit through replay, cut-and-paste or active tampering. It does not provide authentication of the source of any Kummert Standards Track [Page 6]

packet received, or protect against the sender of any packet denying its authorship. Security issues are the primary subject of this memo. This proposal relies on exterior and unspecified methods for retrieval of shared secrets. It proposes no new technology for privacy, but merely describes a convention for the application of the 3DES cipher to data transmission between PPP implementations. Any methodology for the protection and retrieval of shared secrets, and any limitations of the 3DES cipher are relevant to the use described here. 6. References [1] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994. [2] Meyer, G., "The PPP Encryption Control Protocol (ECP)", RFC 1968, June 1996. [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [4] Sklower, K., and G. Meyer, "The PPP DES Encryption Protocol, Version 2 (DESE-bis)", RFC 2419, September 1998. [5] Doraswamy, N., Metzger, P., Simpson, W., "The ESP Triple DES Transform", Work in Progress, June 1997. [6] Schneier, B., "Applied Cryptography", Second Edition, John Wiley & Sons, New York, NY, 1995, ISBN 0-471-12845-7. 7. Acknowledgements Many portions of this document were taken from [4] and [5]. Bill Simpson gave useful hints on the initial revision. 8. Author s Address Holger Kummert Nentec Gesellschaft fuer Netzwerktechnologie 76227 Karlsruhe, Killisfeldstr. 64, Germany Phone: +49 721 9495 0 EMail: kummert@nentec.de Kummert Standards Track [Page 7]

9. Full Copyright Statement Copyright (C) The Internet Society (1998). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Kummert Standards Track [Page 8]