Network Working Group Internet Draft Document: draft-gpaterno-wireless-pppoe-07.txt Giuseppe Paterno' Expires: April 2003 January 2003 Using PPP-over-Ethernet (PPPoE) to authenticate Wireless LANs Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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. Conventions used in this document 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 [RFC-2119]. Abstract This document explores the use of Point-To-Point Protocol over Ethernet (PPPoE) to provide access to the Internet and suggests how the infrastructure can be deployed. The document targets consumers, corporations, Internet Service Providers, and mobile phone operators that provide user access through Wireless LANs technologies such as IEEE 802.11. G. Paterno' Experimental [Page 1] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 Table of Contents Status of this memo............................................1 Conventions used in this document..............................1 Abstract.......................................................1 Table of contents..............................................2 1. Introduction................................................3 2. Current Wireless LAN scenario...............................3 2.1. Wireless standard IEEE 802.11 and security concerns.......3 2.2. Existing authentication methodologies.....................4 3 Proposed solution............................................6 3.1. A layered approach........................................6 3.2. The authentication layer: PPPoE...........................6 3.3. The encryption layer......................................8 4. An architecture example....................................10 5. Conclusions................................................12 Acronyms......................................................13 References....................................................14 Copyright and disclaimer......................................16 Acknowledgments...............................................16 Author's Addresses............................................16 G. Paterno' Experimental [Page 2] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 1. Introduction Current wireless LANs technologies provide a feeble security architecture that can be broken by motivated malicious users. Moreover, these technologies are not able to uniquely identify the user that is accessing the network: as a result corporations, ISPs, and mobile operators are unable to apply appropriate rights and/or services to end-users. This document proposes the adoption of the Point-To-Point Protocol over Ethernet (PPPoE) as an authentication methodology in wireless LANs and as an additional security component. Furthermore, it explores how consumers, corporations, ISPs, and mobile operators would benefit from the adoption of PPPoE as an alternative solution to IEEE 802.1X. 2. Current Wireless LANs scenario Increased personal mobility and need for network coverage in open spaces or in places where cabling is difficult (such as airports, hospitals, warehouses or old buildings) has accelerated the development of several wireless solutions. Different technologies exist for transmitting data "over-the-air", for example GSM Packet Radio Service (GPRS), Bluetooth, and IEEE 801.11, also known as Wireless Ethernet or Wireless Fidelity (Wi-Fi). 2.1. Wireless standard IEEE 802.11 and security concerns Currently the most successful technology in wireless LANs is IEEE 802.11 [10], due to its easy configuration, flexibility, and cost/performance ratio. In particular, the extension named IEEE 802.11b [15] (also known as 802.11 High Rate or Wi-Fi), was one of the 1999 ratifications of the original 802.11 standard and it allowed for wireless functionality comparable to Ethernet. IEEE 802.11 focuses mainly on Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications, but it defines also an optional security feature in the form of encryption, named the Wired Equivalent Privacy (WEP). WEP was initially developed to give end users a protection comparable with that of wired network. Recent studies, such as [9] and [11], demonstrated however that a malicious user might gain access to the network by breaking the WEP keys and without ever needing to supply additional credentials after that. WEP is based on the RC4 [17] encryption algorithm, a function that generates a pseudo-random infinitive streaming cypher by suppling two arguments: the actual WEP key (referred to as K), that may be 40 or 104 bits long, and the Initial Vector (referred to as IV), that is 24 G. Paterno' Experimental [Page 3] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 bits long. Each IEEE 802.11 frame payload contains both the IV in clear and cyphertext data: cyphertext data are obtained by applying XOR between the RC4 (IV, K) resulting stream and the clear text. Moreover, when a frame is transmitted a new IV is generated: as the IV has 16777216 possible values (2^24), the number of IV would be repeated (i.e. it would collide) every 5 hours by constantly transmitting at 11 Mb/s. With about 1500 IV collisions, and with a probabilistic attack to the RC4 algorithm, it is possible to decrypt the transmission and derive the original WEP key. Document [12] describes in detail the weaknesses of the RC4 algorithm, while document [11] explains how such weaknesses can be used to break WEP. The Wired Equivalent Privacy gives therefore a false security feeling to end-users as sensitive data, not encrypted in the presentation layer (e.g. through SSL), can be easily eavesdropped by motivated malicious users. Using layer 3 network addresses over the wireless LANs raises also some concerns. For example the use of DHCP might be a disadvantage for those service providers unable to uniquely identify a specific user, typically for authorisation and accounting purposes. We must also consider that, once a malicious user gains access to the WEP keys, DHCP immediately gives an IP address and network information to the intruder (e.g. DNS, WINS, routing, etc.). Many manufacturers of Access Points (AP) introduced an additinal security feature known as MAC filtering. APs were enabled to identify MAC addresses of the network cards allowed to access the AP itself. The use of MAC addresses presents some issues. First one of manageability: if a user changes his/her wireless adapter, for example to replace a broken one, he/she must contact the ISP and communicate his/her new MAC address. Secondly, network cards MAC addresses can be easily changed by malicious users to find out the ones with access permissions and so gain access to the Wireless LAN. 2.2. Existing authentication methodologies The IEEE 802.1X standard [2], based on Extensive Authentication Protocol Over Lan (EAPOL), aimed at addressing the security issues of Wireless LANs. This protocol provides user authentication for both wireless and wireline LANs: it allows unique user identification and therefore makes it possible to provide personalised services such as grouping of users in specific Virtual LANs. While the enhancements proposed by both IEEE 802.1X and the work-in- progress IEEE 802.11i could improve security of 802.11 networks, these solutions came on the market too late, causing impatient vendors to implement proprietary ad-hoc solutions. These vendors may G. Paterno' Experimental [Page 4] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 not be willing to replace their proprietary fixes with 802.11i when it will become available. Many of the high-end AP manufacturers anyway embraced the IEEE 802.1X standard, sometimes with proprietary extensions: although 802.1X provides flexibility and extended LAN support, compliant APs are still quite expensive for small businesses and consumers. In fact, to this day, many of the Wireless Access Points and hub/switches do not support EAPOL. Furthermore, many APs which are 802.1X compliant do not implement the dynamic WEP-key exchange feature [2] (EAPOL-Key), thus raising a potential security issues. A great number of consumers, of small ISPs and of small businesses cannot afford such an expensive solution, but nevertheless they need security and need to be able to uniquely identify users who can access their resources. In fact, some malicious users are today gaining access to users' home equipment through Wireless LANs, and attacking remote sites while fully preserving their anonymity. It also has to be considered that many ISPs and mobile operators are not interested in implementing encryption for wireless connections, e.g. connections for public Internet access, but nevertheless they need unique user identification for billing purposes. The ideal solution for ISPs and mobile operators would then be one that easily and with little effort integrates with their existing dial-up infrastructure (e.g. modem, GPRS, etc.), while enabling end users to access customised services such as fixed IP address, Quality of Service, etc. G. Paterno' Experimental [Page 5] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 3. Proposed solution 3.1. A layered approach The adoption of a layered approach is a valid methodology to analyse computer-related issues: it is easier to solve a problem when it is analysed into smallest "blocks" or "layers", for example in the OSI specifications. The advantage of using this methodology in Wireless LANs, therefore analysing physical/data link, authentication, and encryption separately, is that the resulting framework would allow changes in one layer to occur without affecting the others. As a result, as soon as Wireless LANs, e.g. IEEE 802.11, will evolve and new standards become available, authentication and encryption will remain unchanged, or vice versa. The schema below summaries the proposed authentication layer and the resulting framework: +-------+ +-------+ +----------------+ | HTTPS | | IMAPS | | Other secure | Application Layer | | | | | protocol (TLS) | +-------+ +-------+ +----------------+ +-------+ +------------+ +-----------+ | IPSec | | Other | | MPPE/ECP | | | | encryption | | (3DESE) | Encryption Layer +-------+ +------------+ | PPP | (optional) | extension | +------------------------+ | | Point-To-Point Protocol | Authentication Layer +------------------------------------+ +--------+ +----------+ +------------+ | 802.11 | | HyperLAN | | Other WLAN | Physical/Data Link Layer +--------+ +----------+ +------------+ 3.2. The authentication layer: PPPoE With the introduction of cable and ADSL technologies, ISPs have adopted a methodology for resolving the authentication layer problem for the broadband world. ADSL and cable technologies are able to emulate an ethernet network in their standard configuration. Although DHCP is easy to deploy for G. Paterno' Experimental [Page 6] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 a Service Provider, and to configure from an user perspective, it does not provide a way to authenticate the user, and therefore cannot be used for accounting or authorization. This need was solved with the introduction of the Point-To-Point over Ethernet protocol (PPPoE), described in [1]. Through the adoption of this protocol, access control, billing, and several type of services can be performed on a per-user, rather than a per-site or cell basis. In a similar way to the previous broadband technologies, 802.11 is able to emulate an ethernet network. The idea then is to apply PPPoE technology to Wireless LANs. The advantage is clear: consumers, corporations, Internet Service Providers, and mobile operators can perform authentication, authorisation, and accounting easily on the wireless users without adding new components and, more importantly, with little effort. There are several advantages of embracing the PPPoE technology, one of them is providing fixed IP addresses and specific Quality Of Service (QoS) to a roaming wireless user: wherever the user is located, he/she can have his/her IP address and his/her personalised services. In addition, it has to be considered that the use of PPP will introduce another obstacle to malicious users, who would have to break both the WEP and the PPP layer to gain access to the IP-based network. Passwords must not be exchanged through the Password Authentication Protocol (PAP) between the user and the PPPoE concentrator, because PAP transmits passwords in cleartext: a stronger protocol such as MS-CHAPv2 [4], EAP-TLS [5] or better should be used instead. From a traditional ISP and corporations perspective, there is no additional benefit in using PPPoE technology, if compared to IEEE 802.1X: the major concerns of using PPPoE are the PPP frame overhead and the MTU limitation. However, one aspect must be considered when deploying IEEE 802.1X: current implementations are based on EAP-TLS [5]. Although EAP-TLS is the perfect choice for corporations that already deployed X.509 certificates, it is not for ISPs, mobile operators and corporations that do not own, or plan to have, an X.509 infrastructure. Creating and maintaining a PKI infrastructure is expensive, especially if a public Certification Authority is used, and requires expert human resources dedicated to the PKI. Moreover, non 802.1X compliant Access Points should be replaced. Another advantage of embracing PPPoE for Network Access Provider (NAP) or Network Service Provider (NSP) is that they can provide secure access to a corporate gateway, by using Layer 3 routing, Layer G. Paterno' Experimental [Page 7] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 2 Tunneling Protocol (L2TP), and/or IPSec tunnels in a similar way of existing dial-up scenarios (modem, ISDN, ADSL, etc..). This makes the business model of selling wholesale services and Virtual Private Dial-up Networks (VPDNs) scalable. For consumers, small businesses, and local ISPs the PPPoE MTU limitation is not an issue, if compared to the cost of deploying both hardware and EAPOL compliant software to the client. The advantage of using PPPoE is that the user is uniquely identified, by preserving the existing access points and with a simple additional component (the PPPoE server). As a result, corporate and ISPs are able to protect their resources by adding a PPPoE server: this approach is easier to deploy if compared to EAPOL with EAP-TLS, that requires a more complex infrastructure and management. It has to be considered that most of today's operating systems include a PPPoE client, resulting in a low cost deployment for this technology because no additional software is required. Finally, Access Point manufacturers can easily embed a PPPoE server in their products and provide an easy configuration, e.g. through a web interface. To provide the new service to APs already deployed, the PPPoE server might be distributed as a firmware update. It has been mentioned in the former paragraphs that the use of PPPoE has an Maximum Transmission Unit (MTU) issue: as specified in [1], the Maximum Receive Unit (MRU) option must not be negotiated to a size larger than 1492; Ethernet has a maximum payload size of 1500 octets. The PPPoE header is 6 octets and the PPP protocol ID is 2 octets, so that the PPP MTU must not be greater than 1492. However, based on the author's experience, some misbehaved VPN software packages add their own overhead to the MTU reported by the PPPoE interface, making the network packets too large to pass through a PPP over Ethernet connection: reducing the MTU by 32 bytes, i.e. reducing it to 1460, should generally suffice. 3.3. The encryption layer A Wireless LAN, being "over-the-air", might be considered a public switched network, in a similar way of the telephone network. For example, in the traditional Plain Old Telephone Service (POTS), a malicious user intercept PPP packets by tapping the phone wire. The Wireless LAN can be managed therefore as a dial-up connection, so that encryption and/or access policies should be applied, e.g. protecting the access through a firewall or a proxy, allowing only specific applications. As a result, it is recommended that users that need privacy should add an encryption layer on top of their connection, be a wireless LAN or a standard PPP over modem. G. Paterno' Experimental [Page 8] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 The ideal choice for encrypting wireless traffic is taking advantage of a PPP extension, named Encryption Control Protocol (ECP) [18], which configures and enables data encryption on both ends of the point-to-point link. ECP uses the same packet exchange mechanism as the Link Control Protocol (LCP) and, more in general, provides a framework for negotiating and applying parameters associated with encryption, e.g. choosing the algorithm. At present, two algorithms has been defined, i.e. DESE-bis [19] and 3DESE [20], but the author is not aware of any implementation of ECP nor any associated option, making it difficult to immediately deploy the solution. However, a PPP Compression Control Protocol (CCP) [22] option, named Microsoft Point-To-Point Encryption Protocol [6], implements encryption, other than compression: Microsoft, in fact, created MPPE to apply security to its Point-to-Point Tunneling Protocol (PPTP) [8]. MPPE is an optional PPP extension that is negotiated within option 18 [16] in the Compression Control Protocol, and uses the Rivest-Shamir-Adleman (RSA) RC4 [17] algorithm to provide data confidentiality. It was originally designed for encryption across a point-to-point link where packets arrive in the same order in which they were sent with little packet loss. MPPE can use 40-bit, 56-bit, or 128-bit encryption keys: the 40-bit key provides backward compatibility with old clients. The MPPE protocol itself is already available and it has been deployed in several devices and dial-in products: MPPE therefore could be a simple, but efficient solution for companies, ISPs and mobile operators who wish to implement secure wireless access. As ECP is not yet available, some specific customers (e.g. finance and government) might require higher-grade encryption than the one provided by MPPE. An easy solution is the adoption of an application layer encryption technique, e.g. through SSL, to be added on top of the MPPE PPP-layer encryption. Other suggested solutions are the adoption of IPSec [7], the de-facto standard Point-to-Point Tunneling Protocol (PPTP) [8], or other encryption technologies. G. Paterno' Experimental [Page 9] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 4. An architecture example In the previous chapter, the Wireless LAN has been compared to a dial-up infrastructure from a security perspective. Using this similarity, a typical corporate scenario can be analysed as an example. +----------+ | Internet | +----------+ | +-------------+ (DMZ1) +-------------------------+ | FE Firewall |--------| External Proxy/DNS/Mail | +-------------+ +-------------------------+ | (DMZ2) | +---------------------------+ +--------------| Remote Access/VPDN server | | +---------------------------+ | | +---------------------------+ +--------------| PPPoE Access Concentrator | | +------------+--------------+ | | | +------------+-------------+ | | Wireless Access Point(s) | | +--------------------------+ | +-------------+ (DMZ3) +------------------+ | BE Firewall |---+----| VPN concentrator | +-------------+ | +------------------+ | | | | +------------------+ +---------------+ | +----| Internal Proxy |--| Radius Server | | +------------------+ +---------------+ +----------+ | Intranet | +----------+ It has been mentioned that remote access systems, such as modems, are subject to "wardialing", i.e. the attempt of a malicious user of guessing the modem telephone number and accessing the corporate network: this is the reason why most of IT security policies do not allow to connect a modem and an analogue phone line to internally connected computers. Although, in a corporate security policy, dial-up users are usually G. Paterno' Experimental [Page 10] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 considered more "trusted" than global Internet users, they are however subject to an IP-based inspection (e.g. using firewalls or access lists) to limit access to corporate resources. In the example above, dial-up users are placed between two firewalls, in a zone named DMZ2. The front-end (FE) border firewall separates global Internet access from externally visible services (DMZ1), which contains for example DNS and Mail, and remote access users (DMZ2). DMZ2 is considered more secure than DMZ1: this zone is suitable for dial-up (be a RAS server or outsourcing through a Virtual Private Dial-up Network) and Wireless LAN user: both accesses requires the user to supply credentials to gain access to IP-based network. In particular, wireless users are subject to PPPoE access verification and encryption (MPPE) through the PPPoE Access Concentrator (i.e. the PPPoE server) Once a dial-up/wireless user has obtained access, a back-end (BE) firewall connects the DMZ2 to another security zone (DMZ3) and the corporate Intranet. DMZ3 hosts a RADIUS server to authenticate users, an internal proxy and a VPN concentrator, which implements encrypted tunnels for users connecting from the Internet In a highly-secure environment, the security policies might only allow a encrypted data flow, e.g. through SSL, from wireless users in DMZ2 to the Intranet (HTTPS, IMAPS, etc...). For specific unencrypted applications, e.g. TN3270E mainframe access, the policies might require a VPN secure tunnel to be established prior to access the service. G. Paterno' Experimental [Page 11] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 5. Conclusions At the time of writing, it is extremely easy from a malicious users perspective to gain access to wireless networks, even if encrypted. Many Wireless LANs are unencrypted and their access points are configured to release dynamic IP address through the Dynamic Host Configuration Protocol. In such a configuration, it is even easier for an intruder to gain access to the network. Moreover, this raises some legal concerns: in some countries it is not illegal to gain access to a network that is not protected in any way or limited through a warning statement, for example through the usual "restricted area" banner, because the user is not accessing the Wireless LAN by "forcing" the system. Public services, such as mobile operators, ISPs, and free wireless networks, will not take advantage of any evolution of the WEP protocol. Today the encryption keys are unique for the whole Wireless LAN segment, which means that keys should be made publically available, in turn making the WEP protection mechanism ineffective. For consumers and corporations, using WEP or future protocols to encrypt "over-the-air" transmission is still an advantage: although easy to decrypt, the intruder should be very motivated to enter the network because an observation of thousands of interesting packets is needed to gain access to the encryption keys. Through this paper the author analyses the advantages of using Point- To-Point over Ethernet protocol as a solution for a Wireless LAN authentication layer: it has been demonstrated that, through the reuse of existing elements of the network and without changing the existing infrastructure, consumers, corporations and Internet Service Providers can take advantage of PPPoE, resulting in a more secure environment with no or little additional cost. G. Paterno' Experimental [Page 12] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 Acronyms ADSL ............. Asymmetric Digital Subscriber Line AP ............... Access Point DMZ .............. Demilitarised Zone EAPOL ............ Extensive Authentication Protocol over Ethernet ECP .............. Encryption Control Protocol GPRS ............. GSM Packet Radio Service GSM .............. Global System for Mobile Communications IEEE ............. Institute of Electrical and Electronics Engineers ISP .............. Internet Service Provider MPPE ............. Microsoft Point-to-Point Encryption Protocol MRU .............. Maximum Receive Unit MTU .............. Maximum Transmission Unit NAP .............. Network Access Provider NSP .............. Network Service Provider POTS ............. Plain Old Telephone Service PPPoE ............ Point-To-Point Protocol over Ethernet PPTP ............. Point-To-Point Tunneling Protocol SSL .............. Secure Sockets Layer TLS .............. Transport Layer Security VLAN ............. Virtual LAN WEP .............. Wired Equivalent Privacy Wi-Fi ............ Wireless Fidelity WLAN ............. Wireless LAN G. Paterno' Experimental [Page 13] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 References [1] Mamakos, et. al., "A Method for Transmitting PPP Over Ethernet (PPPoE)", RFC 2516, February 1999 [2] Institute of Electrical and Electronics Engineers, "Local and metropolitan area networks Port-Based Network Access Control", ANSI/IEEE Standard 802.1X, October 2001 [3] Simpson, "PPP Challenge Handshake Authentication Protocol (CHAP)", RFC 1994, August 1996 [4] Zorn, "Microsoft PPP CHAP Extensions, Version 2", RFC 2759, January 2000 [5] Aboba & Simon, "PPP EAP TLS Authentication Protocol", RFC 2716, October 1999 [6] Pall & Zorn, "Microsoft Point-To-Point Encryption (MPPE) Protocol" RFC 3078, March 2001 [7] Kent & Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998 [8] Microsoft Corporation, "Understanding Point-to-Point Tunneling Protocol (PPTP)", WhitePaper, September 1999 [9] M. Sutton, iDEFENSE Labs, "Hacking the Invisible Network. Insecurities in 802.11x", WhitePaper, July 2002 [10] Institute of Electrical and Electronics Engineers, "Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications", ANSI/IEEE Standard 802.11, 1999 Edition [11] Stubblefield, Ioannidis, and Rubin, "Using the Fluhrer, Mantin, and Shamir Attack to Break WEP", AT&T Labs Technical Report TD-4ZCPZZ, August 2001 G. Paterno' Experimental [Page 14] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 [12] Fluhrer, Mantin, and Shamir, "Weaknesses in the Key Scheduling Algorithm of RC4", WhitePaper [13] Cisco Systems, "Troubleshooting MTU Size in PPPoE Dialin Connectivity", WhitePaper [14] Cisco Systems, "PPPoE Baseline Architecture for the Cisco 6400 UAC", WhitePaper [15] Institute of Electrical and Electronics Engineers, "Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: Higher-Speed Physical Layer Extension in the 2.4 GHz Band", IEEE Standard 802.11b, September 1999 [16] Pall, "Microsoft Point-to-Point Compression (MPPC) Protocol", RFC 2118, March 1997 [17] RC4 is a proprietary encryption algorithm available under license from RSA Data Security Inc. For licensing information, contact: RSA Data Security, Inc. 100 Marine Parkway Redwood City, CA 94065-1031 [18] G. Meyer, "The PPP Encryption Control Protocol (ECP)", RFC 1968, June 1996 [19] K. Sklower, G. Meyer, "The PPP DES Encryption Protocol, Version 2 (DESE-bis)", RFC 2419, September 1998 [20] H. Kummert, "The PPP Triple-DES Encryption Protocol (3DESE)", RFC 2420, September 1998 [21] Uyless Black, "Internet Security Protocols: Protecting IP Traffic", Published by Prentice Hall / Pearson Education in year 2000 G. Paterno' Experimental [Page 15] Internet-Draft Using PPPoE to authenticate Wireless LANs January 2003 [22] D. Rand, "The PPP Compression Control Protocol (CCP)", RFC 1962, June 1996 Copyright and disclaimer Copyright (C) Giuseppe Paterno' (2002). 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 author of this document 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 author or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and Giuseppe Paterno' 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. Acknowledgments The author of this document wishes to thank his good friend Luca Sciortino for his precious moral support and his contribution to this document. Many thanks go to Maria Di Biccari, Alberto Paterno' and Elisa Stella for their patience and loveliness. Author's addresses Giuseppe Paterno' Email: gpaterno@gpaterno.com G. Paterno' Experimental [Page 16]