Preparations for 0.6.8 release
[libeap.git] / www / hostapd / index.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3   <head>
4     <title>hostapd: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator</title>
5     <meta name="description" content="hostapd (IEEE 802.1X, WPA, WPA2, RSN, IEEE 802.11i Authenticator and RADIUS authentication server)">
6     <meta name="keywords" content="WPA, WPA2, IEEE 802.11i, IEEE 802.1X, WPA Authenticator, hostapd, TKIP, CCMP, EAP-PEAP, EAP-TLS, EAP-TTLS, EAP-SIM, EAP-AKA, EAP-GTC, EAP-MSCHAPv2, EAP-MD5, EAP-PAX, EAP-PSK, EAP-FAST, IEEE 802.1X Supplicant, IEEE 802.1aa, EAPOL, RSN, pre-authentication, PMKSA caching, BSD WPA Authenticator, FreeBSD WPA Authenticator, RADIUS authentication server, EAP authenticator, EAP server, EAP-TNC, TNCS, IF-IMV, IF-TNCCS, WPS">
7     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
8   </head>
9
10   <body>
11     <h2>hostapd: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator</h2>
12
13 <p>hostapd is a user space daemon for access point and authentication
14 servers. It implements IEEE 802.11 access point management, IEEE
15 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and
16 RADIUS authentication server. The current version supports Linux (Host
17 AP, madwifi, Prism54, mac80211-based drivers) and FreeBSD (net80211).</p>
18
19 <p>hostapd is designed to be a "daemon" program that runs in the
20 background and acts as the backend component controlling
21 authentication.  hostapd supports separate frontend programs and an
22 example text-based frontend, hostapd_cli, is included with
23 hostapd.</p>
24
25 <h4>Supported WPA/IEEE 802.11i/EAP/IEEE 802.1X features</h4>
26
27 <ul>
28 <li>WPA-PSK ("WPA-Personal")</li>
29 <li>WPA with EAP (with integrated EAP server or an external
30 RADIUS backend authentication server) ("WPA-Enterprise")</li>
31 <li>key management for CCMP, TKIP, WEP104, WEP40</li>
32 <li>WPA and full IEEE 802.11i/RSN/WPA2</li>
33 <li>RSN: PMKSA caching, pre-authentication</li>
34 <li>IEEE 802.11r</li>
35 <li>IEEE 802.11w</li>
36 <li>RADIUS accounting</li>
37 <li>RADIUS authentication server with EAP</li>
38 <li>Wi-Fi Protected Setup (WPS)</li>
39 </ul>
40
41 <h4>Supported EAP methods (integrated EAP server and RADIUS authentication server)</h4>
42
43 <ul>
44 <li>EAP-TLS</li>
45 <li>EAP-PEAP/MSCHAPv2 (both PEAPv0 and PEAPv1)</li>
46 <li>EAP-PEAP/TLS (both PEAPv0 and PEAPv1)</li>
47 <li>EAP-PEAP/GTC (both PEAPv0 and PEAPv1)</li>
48 <li>EAP-PEAP/MD5-Challenge (both PEAPv0 and PEAPv1)</li>
49 <li>EAP-TTLS/EAP-MD5-Challenge</li>
50 <li>EAP-TTLS/EAP-GTC</li>
51 <li>EAP-TTLS/EAP-MSCHAPv2</li>
52 <li>EAP-TTLS/MSCHAPv2</li>
53 <li>EAP-TTLS/EAP-TLS</li>
54 <li>EAP-TTLS/MSCHAP</li>
55 <li>EAP-TTLS/PAP</li>
56 <li>EAP-TTLS/CHAP</li>
57 <li>EAP-SIM</li>
58 <li>EAP-AKA</li>
59 <li>EAP-AKA'</li>
60 <li>EAP-PAX</li>
61 <li>EAP-PSK</li>
62 <li>EAP-SAKE</li>
63 <li>EAP-FAST</li>
64 <li>EAP-IKEv2</li>
65 <li>EAP-GPSK</li>
66 </ul>
67
68 <p>Following methods are also supported, but since they do not generate keying
69 material, they cannot be used with WPA or IEEE 802.1X WEP keying.</p>
70
71 <ul>
72 <li>EAP-MD5-Challenge</li>
73 <li>EAP-MSCHAPv2</li>
74 <li>EAP-GTC</li>
75 <li>EAP-TNC (Trusted Network Connect; TNCS, IF-IMV, IF-T, IF-TNCCS)</li>
76 </ul>
77
78 <p>More information about EAP methods and interoperability testing is
79 available in <a href="/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=hostapd/eap_testing.txt">eap_testing.txt</a>.</p>
80
81
82 <h4>Supported wireless cards/drivers</h4>
83
84 <ul>
85 <li><a href="http://hostap.epitest.fi/">Host AP driver for Prism2/2.5/3</a></li>
86 <li><a href="http://sourceforge.net/projects/madwifi/">madwifi (Atheros ar521x)</a></li>
87 <li><a href="http://www.prism54.org/">Prism54.org (Prism GT/Duette/Indigo)</a></li>
88 <li>BSD net80211 layer (e.g., Atheros driver) (FreeBSD 6-CURRENT)</li>
89 </ul>
90
91 <h3><a name="download">Download</a></h3>
92
93 <p>
94 <b>hostapd</b><br>
95 Copyright (c) 2002-2009, Jouni Malinen &lt;j@w1.fi&gt;
96 and contributors.
97 </p>
98
99 <p>
100 This program is free software; you can redistribute it and/or modify
101 it under the terms of the GNU General Public License version 2 as
102 published by the Free Software Foundation. See
103 <a href="/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=COPYING">COPYING</a>
104 for more details.
105 </p>
106
107 <p>Alternatively, this software may be distributed, used, and modified
108 under the terms of BSD license. See <a href="/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=hostapd/README">README</a>
109 for more details.</p>
110
111 <p>
112 <b>Please see
113 <a href="/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=hostapd/README">README</a>
114 for the current documentation.</b></p>
115
116
117 <ul>
118 <li><a href="../releases.html">Release graph</a></li>
119 <li>Latest stable release:
120 <ul>
121 <li><a href="../releases/hostapd-0.6.8.tar.gz">hostapd-0.6.8.tar.gz</a></li>
122 </ul>
123 <li>Older stable release:
124 <ul>
125 <li><a href="../releases/hostapd-0.5.11.tar.gz">hostapd-0.5.11.tar.gz</a></li>
126 </ul>
127 <!--
128 <li>Latest development release:
129 <ul>
130 <li><a href="../releases/hostapd-0.7.0.tar.gz">hostapd-0.7.0.tar.gz</a></li>
131 </ul>
132 -->
133 <li>ChangeLog:
134 <ul>
135 <li><a href="/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=hostapd/ChangeLog">development branch</a></li>
136 <li><a href="/gitweb/gitweb.cgi?p=hostap-06.git;a=blob_plain;f=hostapd/ChangeLog">stable branch</a></li>
137 </ul>
138 <li><a href="../releases/">Old releases</a></li>
139 <li><a href="http://lists.shmoo.com/mailman/listinfo/hostap">Mailing list</a></li>
140 <li><a href="http://lists.shmoo.com/pipermail/hostap/">New mailing list archives</a></li>
141 <li><a href="/gitweb/gitweb.cgi">Web interface to GIT repository (0.6.x and newer)</a></li>
142 <li><a href="/cgi-bin/viewcvs.cgi/hostap/">Web interface to CVS repository (0.5.x and older)</a></li>
143 <li><a href="../releases/snapshots/">Snapshot releases from all active branches</a>
144 <li><a href="../cvs.html">GIT and read-only anonymous CVS access (pserver)</a></li>
145 <li><a href="../bugz/">Bug and feature request tracking</a></li>
146 <li><a href="devel/">Developers' documentation for hostapd</a></li>
147 </ul>
148
149 <h3>WPA</h3>
150
151 <p>The original security mechanism of IEEE 802.11 standard was not
152 designed to be strong and has proven to be insufficient for most
153 networks that require some kind of security. Task group I (Security)
154 of <a href="http://www.ieee802.org/11/">IEEE 802.11 working group</a>
155 has worked to address the flaws of the base standard and in
156 practice completed its work in May 2004. The IEEE 802.11i amendment to
157 the IEEE 802.11 standard was approved in June 2004 and published in
158 July 2004.</p>
159
160 <p><a href="http://www.wi-fi.org/">Wi-Fi Alliance</a> used a draft
161 version of the IEEE 802.11i work (draft 3.0) to define a subset of the
162 security enhancements that can be implemented with existing wlan
163 hardware. This is called Wi-Fi Protected Access (WPA). This has
164 now become a mandatory component of interoperability testing and
165 certification done by Wi-Fi Alliance. Wi-Fi has
166 <a href="http://www.wi-fi.org/OpenSection/protected_access.asp">information
167 about WPA</a> at its web site.</p>
168
169 <p>IEEE 802.11 standard defined wired equivalent privacy (WEP) algorithm
170 for protecting wireless networks. WEP uses RC4 with 40-bit keys,
171 24-bit initialization vector (IV), and CRC32 to protect against packet
172 forgery. All these choices have proven to be insufficient: key space is
173 too small against current attacks, RC4 key scheduling is insufficient
174 (beginning of the pseudorandom stream should be skipped), IV space is
175 too small and IV reuse makes attacks easier, there is no replay
176 protection, and non-keyed authentication does not protect against bit
177 flipping packet data.</p>
178
179 <p>WPA is an intermediate solution for the security issues. It uses
180 Temporal Key Integrity Protocol (TKIP) to replace WEP. TKIP is a
181 compromise on strong security and possibility to use existing
182 hardware. It still uses RC4 for the encryption like WEP, but with
183 per-packet RC4 keys. In addition, it implements replay protection,
184 keyed packet authentication mechanism (Michael MIC).</p>
185
186 <p>Keys can be managed using two different mechanisms. WPA can either use
187 an external authentication server (e.g., RADIUS) and EAP just like
188 IEEE 802.1X is using or pre-shared keys without need for additional
189 servers. Wi-Fi calls these "WPA-Enterprise" and "WPA-Personal",
190 respectively. Both mechanisms will generate a master session key for
191 the Authenticator (AP) and Supplicant (client station).</p>
192
193 <p>WPA implements a new key handshake (4-Way Handshake and Group Key
194 Handshake) for generating and exchanging data encryption keys between
195 the Authenticator and Supplicant. This handshake is also used to
196 verify that both Authenticator and Supplicant know the master session
197 key. These handshakes are identical regardless of the selected key
198 management mechanism (only the method for generating master session
199 key changes).</p>
200
201
202 <h3>IEEE 802.11i / RSN / WPA2</h3>
203
204 <p>The design for parts of IEEE 802.11i that were not included in WPA
205 has finished (May 2004) and this amendment to IEEE 802.11 was approved
206 in June 2004. Wi-Fi Alliance is using the final IEEE 802.11i as a new
207 version of WPA called WPA2. This included, e.g., support for more
208 robust encryption algorithm (CCMP: AES in Counter mode with CBC-MAC)
209 to replace TKIP, optimizations for handoff (reduced number of messages
210 in initial key handshake, pre-authentication, and PMKSA caching).</p>
211
212 <h4>Configuration file</h4>
213
214 <p>hostapd is configured using a text file that lists all the configuration
215 parameters. See an example configuration file,
216 <a href="/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=hostapd/hostapd.conf">hostapd.conf</a>,
217 for detailed information about the configuration format and supported
218 fields.</p>
219
220 <h3>Feedback, comments, mailing list</h3>
221
222 <p>
223 Any comments, reports on success/failure, ideas for further
224 improvement, feature requests, etc. are welcome at j@w1.fi.
225 Please note, that I often receive more email than I have time to answer.
226 Unfortunately, some messages may not get a reply, but I'll try to go
227 through my mail whenever time permits.
228 </p>
229
230 <p>
231 Host AP mailing list can also be used for topics related to
232 hostapd. Since this list has a broader audience, your likelyhood of
233 getting responses is higher. This list is recommended for general
234 questions about hostapd and its development. In addition, I
235 will send release notes to it whenever a new version is available.
236 </p>
237
238 <p>
239 The mailing list information and web archive is at <a
240 href="http://lists.shmoo.com/mailman/listinfo/hostap">http://lists.shmoo.com/mailman/listinfo/hostap</a>.
241 Messages to hostap@shmoo.com will be delivered to the
242 subscribers. Please note, that due to large number of spam and virus
243 messages sent to the list address, the list is configured to accept
244 messages only from subscribed addresses. Messages from unsubscribed addresses
245 may be accepted manually, but their delivery will be delayed.
246 </p>
247
248 <p>
249 If you want to make sure your bug report of feature request does not
250 get lost, please report it through the bug tracking system as
251 <a href="../bugz/enter_bug.cgi">a new
252 bug/feature request</a>.
253 </p>
254
255     <hr>
256     <div>
257     <address><a href="mailto:j@w1.fi">Jouni Malinen</a></address>
258 <!-- Created: Sun Jan  2 17:20:17 PST 2005 -->
259 <!-- hhmts start -->
260 Last modified: Sun Feb 15 20:13:50 EET 2009
261 <!-- hhmts end -->
262     </div>
263   </body>
264 </html>