Protected Extensible Authentication Protocol: Difference between revisions

Content deleted Content added
No edit summary
Tags: Mobile edit Mobile web edit
GreenC bot (talk | contribs)
Reformat 1 archive link; Move 1 url. Wayback Medic 2.5 per WP:URLREQ#zdnet.com
 
(19 intermediate revisions by 18 users not shown)
Line 1:
{{Short description|Protocol that encapsulates Extensible Authentication Protocol}}
: ''PEAP is also an acronym for [[Personal Egress Air Packs]].''
 
<span lang="English" dir="ltr">The</span> '''Protected Extensible Authentication Protocol''', also known as '''Protected EAP''' or simply '''PEAP''', is a protocol that encapsulates the [[Extensible Authentication Protocol]] (EAP) within an encrypted and authenticated [[Transport Layer Security]] (TLS) [[tunneling protocol|tunnel]].<ref>{{cite news
| url=https://www.zdnet.com/home-and-office/networking/understanding-the-updated-wpa-and-wpa2-standards/
| title=Understanding the updated WPA and WPA2 standards
| work=ZDNet
| author=
| date=2005-06-02
| access-date=2012-07-17 }}
</ref><ref>Microsoft's PEAP version 0, [//tools.ietf.org/html/draft-kamath-pppext-peapv0-00 draft-kamath-pppext-peapv0-00], §1.1</ref><ref name="peapv2-10_abstract">Protected EAP Protocol (PEAP) Version 2, [//tools.ietf.org/html/draft-josefsson-pppext-eap-tls-eap-10 draft-josefsson-pppext-eap-tls-eap-10], abstract</ref><ref>Protected EAP Protocol (PEAP) Version 2, [//tools.ietf.org/html/draft-josefsson-pppext-eap-tls-eap-10 draft-josefsson-pppext-eap-tls-eap-10], §1</ref> The purpose was to correct deficiencies in EAP; EAP assumed a protected communication channel, such as that provided by physical security, so facilities for protection of the EAP conversation were not provided.<ref>Protected EAP Protocol (PEAP) Version 2, [//tools.ietf.org/html/draft-josefsson-pppext-eap-tls-eap-07 draft-josefsson-pppext-eap-tls-eap-07], §1</ref>
 
PEAP was jointly developed by [[Cisco Systems]], [[Microsoft]], and [[RSA Security]]. PEAPv0 was the version included with [[Microsoft]] [[Windows XP]] and was nominally defined in [//tools.ietf.org/html/draft-kamath-pppext-peapv0-00 draft-kamath-pppext-peapv0-00]. PEAPv1 and PEAPv2 were defined in different versions of ''draft-josefsson-pppext-eap-tls-eap''. PEAPv1 was defined in [//tools.ietf.org/html/draft-josefsson-pppext-eap-tls-eap-00 draft-josefsson-pppext-eap-tls-eap-00] through [//tools.ietf.org/html/draft-josefsson-pppext-eap-tls-eap-05 draft-josefsson-pppext-eap-tls-eap-05],<ref>Protected EAP Protocol (PEAP), [//tools.ietf.org/html/draft-josefsson-pppext-eap-tls-eap-05 draft-josefsson-pppext-eap-tls-eap-05], §2.3</ref> and PEAPv2 was defined in versions beginning with [//tools.ietf.org/html/draft-josefsson-pppext-eap-tls-eap-06 draft-josefsson-pppext-eap-tls-eap-06].<ref>Protected EAP Protocol (PEAP), [//tools.ietf.org/html/draft-josefsson-pppext-eap-tls-eap-06 draft-josefsson-pppext-eap-tls-eap-06], §2.3</ref>
 
The protocol only specifies chaining multiple EAP mechanisms and not any specific method.<ref name="peapv2-10_abstract"/><ref>Protected EAP Protocol (PEAP) Version 2, [//tools.ietf.org/html/draft-josefsson-pppext-eap-tls-eap-10 draft-josefsson-pppext-eap-tls-eap-10], §2</ref> However, use of the [[EAP-MSCHAPv2]] and [[EAP-GTC]] methods are the most commonly supported.{{Citation needed|date=April 2010}}
 
==Overview==
PEAP is similar in design to [[EAP-TTLS]], requiring only a server-side PKI certificate to create a secure TLS tunnel to protect user authentication, and uses [[server-side]] [[public key certificate]]s to authenticate the server. It then creates an [[encryption|encrypted]] [[Transport Layer Security|TLS]] [[tunneling protocol|tunnel]] between the client and the authentication server. In most configurations, the keys for this encryption are transported using the server's public key. The ensuing exchange of authentication information inside the tunnel to authenticate the client is then encrypted and user credentials are safe from eavesdropping.
Line 8 ⟶ 24:
PEAPv0 and PEAPv1 both refer to the outer authentication method and are the mechanisms that create the secure TLS tunnel to protect subsequent authentication transactions. EAP-MSCHAPv2 and [[Extensible Authentication Protocol#EAP-GTC|EAP-GTC]] refer to the inner authentication methods which provide user or device authentication. A third authentication method commonly used with PEAP is [[Extensible Authentication Protocol#EAP-SIM|EAP-SIM]].
 
Within Cisco products, PEAPv0 supports inner EAP methods EAP-MSCHAPv2 and EAP-SIM while PEAPv1 supports inner EAP methods EAP-GTC and EAP-SIM. Since Microsoft only supports PEAPv0 and doesn’tdoesn't support PEAPv1, Microsoft simply calls it "PEAP" without the v0 or v1 designator. Another difference between Microsoft and Cisco is that Microsoft only supports the EAP-MSCHAPv2 method and not the EAP-SIM method.
 
However, Microsoft supports another form of PEAPv0 (which Microsoft calls PEAP-EAP-TLS) that many Cisco and other third-party server and client software don’tdon't support. PEAP-EAP-TLS requires client installation of a [[client-side]] [[digital certificate]] or a more secure smartcard. PEAP-EAP-TLS is very similar in operation to the original EAP-TLS but provides slightly more protection because portions of the client certificate that are unencrypted in EAP-TLS are encrypted in PEAP-EAP-TLS. Ultimately, PEAPv0/EAP-MSCHAPv2 is by far the most prevalent implementation of PEAP, due to the integration of PEAPv0 into [[Microsoft Windows]] products. Cisco's CSSC client (discontinued in 2008 <ref>{{Cite web|title=End-of-Sale and End-of-Life Announcement for the Cisco Secure Services Client v4.0|url=https://www.cisco.com/c/en/us/products/collateral/wireless/secure-services-client/EOL_c51-459086.html|access-date=2021-05-04|website=Cisco|language=en}}</ref>) now supports PEAP-EAP-TLS.
 
PEAP has been so successful in the market place that even [[Funk Software]] (acquired by [[Juniper Networks]] in 2005), the inventor and backer of [[EAP-TTLS]], added support for PEAP in their server and client software for wireless networks.
Line 21 ⟶ 37:
Behind [[EAP-TLS]], PEAPv0/EAP-MSCHAPv2 is the second most widely supported EAP standard in the world. There are client and server implementations of it from various vendors, including support in all recent releases from [[Microsoft]], [[Apple Computer]] and [[Cisco Systems|Cisco]]. Other implementations exist, such as the [[xsupplicant]] from the Open1x.org project, and [[wpa_supplicant]].
 
As with other 802.1X and EAP types, [[dynamic encryption]] can be used with PEAP.
 
A CA certificate must be used at each client to authenticate the server to each client before the client submits authentication credentials. If the CA certificate is not validated, in general it is trivial to introduce a fake Wireless Access Point which then allows gathering of [[MS-CHAPv2]] handshakes.<ref name="Man-in-the-Middle in Tunneled Authentication Protocols">{{cite web|title=Man-in-the-Middle in Tunneled Authentication Protocols|url=http://eprint.iacr.org/2002/163.pdf|publisher=Nokia Research Center|accessdate=14 November 2013}}</ref>
 
Several weaknesses have been found in MS-CHAPv2, some of which severely reduce the complexity of brute-force attacks making them feasible with modern hardware.<ref>{{CitationCite web needed|date=November2016-03-16 |title=Divide and Conquer: Cracking MS-CHAPv2 with a 100% success rate |url=https://www.cloudcracker.com/blog/2012/07/29/cracking-ms-chap-v2/ |archive-url=https://web.archive.org/web/20160316174007/https://www.cloudcracker.com/blog/2012/07/29/cracking-ms-chap-v2/ |archive-date=2016-03-16 |access-date=2022-10-19 }}</ref>
 
== PEAPv1 with EAP-GTC ==