Internet DRAFT - draft-simpson-ppp-arc4
draft-simpson-ppp-arc4
INTERNET-DRAFT W A Simpson
DayDreamer
Intended status: Experimental 15 July 2013
The PPP ARCFOUR Encryption Protocol
draft-simpson-ppp-arc4-00
Abstract
The Point-to-Point Protocol (PPP) [RFC1661] provides a standard
method for transporting multi-protocol datagrams over point-to-point
links.
The PPP Encryption Control Protocol (ECP) [RFC1968] provides a method
to negotiate and utilize encryption protocols over PPP encapsulated
links.
This document described the use of the ARCFOUR algorithm for
encrypting PPP encapsulated packets.
Copyright Notice
Copyright (c) 2011 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
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
This document may not be modified, and derivative works of it may not
be created, except to format it for publication as an RFC or to
translate it into languages other than English.
Simpson expires January 4, 2012 [Page i]
DRAFT PPP ARCFOUR Encryption 15 July 2013
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute working
documents as Internet-Drafts. The list of current Internet-Drafts is
at http://datatracker.ietf.org/drafts/current.
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."
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Terminology . . . . . . . . . . . . . . . . . . . 1
2. Packet Format . . . . . . . . . . . . . . . . . . . . . 1
2.1 Sequence Number (SN) . . . . . . . . . . . . . . . 2
2.2 Initialization Vector (IV) . . . . . . . . . . . . 3
2.3 Keys . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 Integrity Check Value . . . . . . . . . . . . . . 4
3. Compressed Header Format . . . . . . . . . . . . . . . . 4
ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . . 4
IANA CONSIDERATIONS . . . . . . . . . . . . . . . . . . . . . . 4
OPERATIONAL CONSIDERATIONS . . . . . . . . . . . . . . . . . . 5
SECURITY CONSIDERATIONS . . . . . . . . . . . . . . . . . . . . 5
NORMATIVE REFERENCES . . . . . . . . . . . . . . . . . . . . . 6
INFORMATIVE REFERENCES . . . . . . . . . . . . . . . . . . . . 6
CONTACTS . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Simpson expires January 4, 2012 [Page ii]
DRAFT PPP ARCFOUR Encryption 15 July 2013
1. Introduction
The PPP Encryption Control Protocol (ECP) [RFC1968] provides
confidentiality for PPP packets by encrypting the payload data to be
protected. This specification describes the PPP ECP use of a variant
of ARCFOUR. [KT99] [Schneier96]
ARCFOUR is a long studied and widely implemented encryption
algorithm. Most network device operating systems already contain an
implemention. It is readily implemented in hardward and software,
and well suited to high speed links.
PPP links are widely used at the time of writing. Modems are
commonly available over POTS copper lines at up to 56 Kbps, while
OC-48 / STM-16 (2.4 Gbps payload) are used in Internet backbones.
PPP has been specified up to OC-192 / STM-64 (9.5 Gbps payload)
[RFC2615], and could easily be extended to OC-768 / STM-256 (38.5
Gbps payload).
1.1. Terminology
The key words "MAY", "MUST, "MUST NOT", "OPTIONAL", "RECOMMENDED",
"REQUIRED", "SHOULD", and "SHOULD NOT" in this document are to be
interpreted as described in [RFC2119].
byte An 8-bit quantity; also known as "octet" in
standardese.
2. Packet Format
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address | Control | 0000 | Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Sequence Number +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Ciphertext ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Integrity Check Value ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Frame Check Sequence ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Simpson expires January 4, 2012 [Page 1]
DRAFT PPP ARCFOUR Encryption 15 July 2013
All fields are transmitted in network order (most significant byte
first).
The Address, Control, and Frame Check Sequence (FCS) are defined by
[RFC1662] and related documents. The Address and Control fields
SHOULD NOT be compressed.
The full-sized Protocol header is indicated by the uncompressed
Protocol field (leading zero byte).
Following negotiation, this full-sized packet is sent as the initial
network layer packet and at least once for every 128 following
packets.
This full-sized packet SHOULD be opportunistically sent with packets
that are less than the negotiated Maximum Receive Unit (MRU) to avoid
unnecessary fragmentation.
When no opportunity has arisen, the ciphertext MAY be the PPP Padding
Protocol (0x0001). Therefore, ECP negotiation SHOULD also
concurrently negotiate the Padding Protocol.
2.1. Sequence Number (SN)
The Sequence Number (SN) is a 64-bit (8 byte) unsigned counter. This
field protects against replay attacks, and may also be used for
synchronization.
Long term replay prevention requires automated configuration. When
configured via an automated session key management protocol, the
first value sent is 1, unless otherwise negotiated.
Manual configuration can only detect replay of consecutive duplicate
Seqeunce Numbers, and during short runs of Sequence Numbers within
the round trip time for the parties. The limited anti-replay
security depends upon the unpredictability of the values. When
configured manually, the first value sent SHOULD be a random number.
Thereafter, the value is monotonically increased for each packet
sent.
This field is mandatory and transparent. That is, the field is
always present, and the value is not concealed by encryption.
Simpson expires January 4, 2012 [Page 2]
DRAFT PPP ARCFOUR Encryption 15 July 2013
2.2. Initialization Vector (IV)
The Initialization Vector (IV) is 64 bits (8 bytes) in length. The
IV conceals initial bytes that repeat in multiple packets. Each IV
is intended to be unique over the lifetime of the cipher session-
key(s).
The IV is never transmitted. Ideally, the IV is based on explicit
fields carried in each packet, but generated pseudo-randomly and
protected from disclosure [VK83].
This IV requires a secret seed that is 64 bits (8 bytes) in length.
1) The least significant 32 bits of the SN are ones complemented and
exclusive ored with the most significant 32 bits of the seed.
2) Then, the entire SN is added modulo 2**64 to the seed with end-
around carry.
3) Finally, the number of 1 bits are counted, and the sum is left
circular rotated by the bit count.
This result is the IV used for a single packet associated with the
SN.
Design Rationale
Inclusion of the bit-wise complement of the SN ensures that
incremental bit changes are reflected twice in the IV.
Rotational checksum with an undisclosed seed is intended to
generate unpredictable values that are difficult to correlate with
the SN.
End-around carry always results in a non-zero value. Only the
all-ones value will result in no rotation.
2.3. Keys
This algorithm requires a fairly long key in a multiple of 8-bit
bytes. This secret key is used for the Key Setup phase. [KT99]
[Schneier96]
In this specification, the Key Setup is repeated twice, for a total
of three (3) iterations. This mixes the keying material
sufficiently.
Simpson expires January 4, 2012 [Page 3]
DRAFT PPP ARCFOUR Encryption 15 July 2013
When configured via an automated session key management protocol,
2048-bit (256 byte) keys are required.
When configured manually, 256-bit (16 byte) keys are the minimum
required.
2.4. Integrity Check Value
The Integrity Check Value (ICV) that is 32-bits (4 bytes) in length.
The ICV is carried immediately following the ciphertext.
3. Compressed Header Format
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address | Control | ECP | SN |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
On most packets, the header SHOULD compress the ECP designator. This
compressed header includes only the least significant 8 bits (1 byte)
of the Sequence Number (SN).
The Address and Control field SHOULD be compressed as negotiated by
LCP.
Acknowledgments
This specification is based upon earlier documents by this author
circa 1996 and by Rodney Thayer circa 1997.
IANA Considerations
This specification requires an addition to the PPP ECP Configuration
Option Types.
Provisionally, 4 is expected.
Simpson expires January 4, 2012 [Page 4]
DRAFT PPP ARCFOUR Encryption 15 July 2013
Operational Considerations
All implementations MUST support 2048-bit (256 byte) keys.
Security Considerations
This protocol was based on currently available tools, by experienced
network protocol designers with an interest in cryptography, rather
than by cryptographers with an interest in network protocols. This
specification is intended to be readily implementable without
requiring an extensive background in cryptology.
Therefore, only minimal background cryptologic discussion and
rationale is included in this document. Although some review has
been provided by the general cryptologic community, it is anticipated
that design decisions and tradeoffs will be thoroughly analysed in
subsequent dissertations and debated for many years to come.
Cryptologic details are reserved for separate documents that may be
more readily and timely updated with new analysis.
The security depends on the quality of the random numbers generated
by each party. Generating cryptographic quality random numbers on a
general purpose computer without hardware assistance is a very tricky
problem (see [RFC4086] for discussion).
It should also be noted that no encryption algorithm is permanently
safe from brute force attack, because of the increasing speed of
modern computers. As with all cryptosystems, those responsible for
applications with substantial risk when security is breeched should
pay close attention to developments in cryptology, and especially
cryptanalysis, and switch to other algorithms should ARCFOUR prove
weak.
Simpson expires January 4, 2012 [Page 5]
DRAFT PPP ARCFOUR Encryption 15 July 2013
Normative References
[RFC1661] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)",
STD-51, DayDreamer, July 1994.
[RFC1662] Simpson, W., Editor, "PPP in HDLC-like Framing", STD-51,
DayDreamer, July 1994.
[RFC1968] Meyer, G., "The PPP Encryption Control Protocol (ECP)",
July 1994.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, March 1997.
Informative References
[KT99] Kaukonen, K. and R. Thayer, "A Stream Cipher Encryption
Algorithm 'Arcfour'", https://tools.ietf.org/html/draft-
kaukonen-cipher-arcfour-03 July 1999.
[RFC2615] Malis, A. and W. Simpson, "PPP over SONET/SDH", June
1999.
[RFC4086] Eastlake, D. (3rd), Schiller, J., and S. Crocker,
"Randomness Requirements for Security", BCP 106, June
2005.
[Schneier96]
Schneier, B., "Applied Cryptography Second Edition", John
Wiley & Sons, New York, NY, 1996. ISBN 0-471-12845-7.
Simpson expires January 4, 2012 [Page 6]
DRAFT PPP ARCFOUR Encryption 15 July 2013
Author's Address
Questions about this document can be directed to:
William Allen Simpson
DayDreamer
Computer Systems Consulting Services
1384 Fontaine
Madison Heights, Michigan 48071
William.Allen.Simpson@Gmail.com
Simpson expires January 4, 2012 [Page 7]