aboutsummaryrefslogtreecommitdiffstats
path: root/www/hostapd/index.html
blob: 80c7d43ba394ef0dab747ba75591e7969b8d0db4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>hostapd: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator</title>
    <meta name="description" content="hostapd (IEEE 802.1X, WPA, WPA2, RSN, IEEE 802.11i Authenticator and RADIUS authentication server)">
    <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, 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">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  </head>

  <body>
    <h2>hostapd: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator</h2>

<p>hostapd is a user space daemon for access point and authentication
servers. It implements IEEE 802.11 access point management, IEEE
802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and
RADIUS authentication server. The current version supports Linux (Host
AP, madwifi, Prism54 drivers) and FreeBSD (net80211).</p>

<p>hostapd is designed to be a "daemon" program that runs in the
background and acts as the backend component controlling
authentication.  hostapd supports separate frontend programs and an
example text-based frontend, hostapd_cli, is included with
hostapd.</p>

<h4>Supported WPA/IEEE 802.11i/EAP/IEEE 802.1X features</h4>

<ul>
<li>WPA-PSK ("WPA-Personal")</li>
<li>WPA with EAP (with integrated EAP server or an external
RADIUS backend authentication server) ("WPA-Enterprise")</li>
<li>key management for CCMP, TKIP, WEP104, WEP40</li>
<li>WPA and full IEEE 802.11i/RSN/WPA2</li>
<li>RSN: PMKSA caching, pre-authentication</li>
<li>RADIUS accounting</li>
<li>RADIUS authentication server with EAP</li>
</ul>

<h4>Supported EAP methods (integrated EAP server and RADIUS authentication server)</h4>

<ul>
<li>EAP-TLS</li>
<li>EAP-PEAP/MSCHAPv2 (both PEAPv0 and PEAPv1)</li>
<li>EAP-PEAP/GTC (both PEAPv0 and PEAPv1)</li>
<li>EAP-PEAP/MD5-Challenge (both PEAPv0 and PEAPv1)</li>
<li>EAP-TTLS/EAP-MD5-Challenge</li>
<li>EAP-TTLS/EAP-GTC</li>
<li>EAP-TTLS/EAP-MSCHAPv2</li>
<li>EAP-TTLS/MSCHAPv2</li>
<li>EAP-TTLS/MSCHAP</li>
<li>EAP-TTLS/PAP</li>
<li>EAP-TTLS/CHAP</li>
<li>EAP-SIM</li>
<li>EAP-AKA</li>
<li>EAP-PAX</li>
<li>EAP-PSK</li>
<li>EAP-SAKE</li>
<li>EAP-GPSK (experimental)</li>
</ul>

<p>Following methods are also supported, but since they do not generate keying
material, they cannot be used with WPA or IEEE 802.1X WEP keying.</p>

<ul>
<li>EAP-MD5-Challenge</li>
<li>EAP-MSCHAPv2</li>
<li>EAP-GTC</li>
</ul>


<h4>Supported wireless cards/drivers</h4>

<ul>
<li><a href="http://hostap.epitest.fi/">Host AP driver for Prism2/2.5/3</a></li>
<li><a href="http://sourceforge.net/projects/madwifi/">madwifi (Atheros ar521x)</a></li>
<li><a href="http://www.prism54.org/">Prism54.org (Prism GT/Duette/Indigo)</a></li>
<li>BSD net80211 layer (e.g., Atheros driver) (FreeBSD 6-CURRENT)</li>
</ul>

<h3><a name="download">Download</a></h3>

<p>
<b>hostapd</b><br>
Copyright (c) 2002-2007, Jouni Malinen &lt;jkmaline@cc.hut.fi&gt;
and contributors.
</p>

<p>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation. See
<a href="/cgi-bin/viewcvs.cgi/*checkout*/hostap/COPYING?rev=HEAD&amp;content-type=text/plain">COPYING</a>
for more details.
</p>

<p>Alternatively, this software may be distributed, used, and modified
under the terms of BSD license.</p>

<p>
<b>Please see
<a href="/cgi-bin/viewcvs.cgi/*checkout*/hostap/hostapd/README?rev=HEAD&amp;content-type=text/plain">README</a>
for the current documentation.</b></p>


<ul>
<li><a href="../releases.html">Release graph</a></li>
<li>Latest stable release:
<ul>
<li><a href="../releases/hostapd-0.5.7.tar.gz">hostapd-0.5.7.tar.gz</a></li>
</ul>
<li>Older stable release:
<ul>
<li><a href="../releases/hostapd-0.4.9.tar.gz">hostapd-0.4.9.tar.gz</a></li>
</ul>
<li>Older stable release:
<ul>
<li><a href="../releases/hostapd-0.3.11.tar.gz">hostapd-0.3.11.tar.gz</a></li>
</ul>
<li>Obsolete stable release<BR>
(note: 0.2.x branch is not supported anymore - please upgrade to 0.3.x or 0.4.x):
<ul>
<li><a href="../releases/hostapd-0.2.8.tar.gz">hostapd-0.2.8.tar.gz</a></li>
</ul>
<!--
<li>Latest development release:
<ul>
<li><a href="../releases/hostapd-0.5.6.tar.gz">hostapd-0.5.6.tar.gz</a></li>
</ul>
-->
<li>ChangeLog:
<ul>
<li><a href="/cgi-bin/viewcvs.cgi/*checkout*/hostap/hostapd/ChangeLog?rev=HEAD&amp;content-type=text/plain">development branch</a></li>
<li><a href="/cgi-bin/viewcvs.cgi/*checkout*/hostap/hostapd/ChangeLog?rev=stable&amp;content-type=text/plain">stable branch</a>
</ul>
<li><a href="../releases/">Old releases</a></li>
<li><a href="http://lists.shmoo.com/mailman/listinfo/hostap">Mailing list</a></li>
<li><a href="http://lists.shmoo.com/pipermail/hostap/">New mailing list archives</a></li>
<li><a href="/cgi-bin/viewcvs.cgi/hostap/">Web interface to CVS repository</a></li>
<li><a href="../releases/snapshots/">Snapshot releases from all active branches</a>
<li><a href="../cvs.html">Read-only anonymous CVS access (pserver)</a></li>
<li><a href="../bugz/">Bug and feature request tracking</a></li>
<li><a href="devel/">Developers' documentation for hostapd</a></li>
</ul>

<h3>WPA</h3>

<p>The original security mechanism of IEEE 802.11 standard was not
designed to be strong and has proven to be insufficient for most
networks that require some kind of security. Task group I (Security)
of <a href="http://www.ieee802.org/11/">IEEE 802.11 working group</a>
has worked to address the flaws of the base standard and in
practice completed its work in May 2004. The IEEE 802.11i amendment to
the IEEE 802.11 standard was approved in June 2004 and published in
July 2004.</p>

<p><a href="http://www.wi-fi.org/">Wi-Fi Alliance</a> used a draft
version of the IEEE 802.11i work (draft 3.0) to define a subset of the
security enhancements that can be implemented with existing wlan
hardware. This is called Wi-Fi Protected Access (WPA). This has
now become a mandatory component of interoperability testing and
certification done by Wi-Fi Alliance. Wi-Fi has
<a href="http://www.wi-fi.org/OpenSection/protected_access.asp">information
about WPA</a> at its web site.</p>

<p>IEEE 802.11 standard defined wired equivalent privacy (WEP) algorithm
for protecting wireless networks. WEP uses RC4 with 40-bit keys,
24-bit initialization vector (IV), and CRC32 to protect against packet
forgery. All these choices have proven to be insufficient: key space is
too small against current attacks, RC4 key scheduling is insufficient
(beginning of the pseudorandom stream should be skipped), IV space is
too small and IV reuse makes attacks easier, there is no replay
protection, and non-keyed authentication does not protect against bit
flipping packet data.</p>

<p>WPA is an intermediate solution for the security issues. It uses
Temporal Key Integrity Protocol (TKIP) to replace WEP. TKIP is a
compromise on strong security and possibility to use existing
hardware. It still uses RC4 for the encryption like WEP, but with
per-packet RC4 keys. In addition, it implements replay protection,
keyed packet authentication mechanism (Michael MIC).</p>

<p>Keys can be managed using two different mechanisms. WPA can either use
an external authentication server (e.g., RADIUS) and EAP just like
IEEE 802.1X is using or pre-shared keys without need for additional
servers. Wi-Fi calls these "WPA-Enterprise" and "WPA-Personal",
respectively. Both mechanisms will generate a master session key for
the Authenticator (AP) and Supplicant (client station).</p>

<p>WPA implements a new key handshake (4-Way Handshake and Group Key
Handshake) for generating and exchanging data encryption keys between
the Authenticator and Supplicant. This handshake is also used to
verify that both Authenticator and Supplicant know the master session
key. These handshakes are identical regardless of the selected key
management mechanism (only the method for generating master session
key changes).</p>


<h3>IEEE 802.11i / RSN / WPA2</h3>

<p>The design for parts of IEEE 802.11i that were not included in WPA
has finished (May 2004) and this amendment to IEEE 802.11 was approved
in June 2004. Wi-Fi Alliance is using the final IEEE 802.11i as a new
version of WPA called WPA2. This included, e.g., support for more
robust encryption algorithm (CCMP: AES in Counter mode with CBC-MAC)
to replace TKIP, optimizations for handoff (reduced number of messages
in initial key handshake, pre-authentication, and PMKSA caching).</p>

<h4>Configuration file</h4>

<p>hostapd is configured using a text file that lists all the configuration
parameters. See an example configuration file,
<a href="/cgi-bin/viewcvs.cgi/*checkout*/hostap/hostapd/hostapd.conf?rev=HEAD&amp;content-type=text/plain">hostapd.conf</a>,
for detailed information about the configuration format and supported
fields.</p>

<h3>Feedback, comments, mailing list</h3>

<p>
Any comments, reports on success/failure, ideas for further
improvement, feature requests, etc. are welcome at jkmaline@cc.hut.fi.
Please note, that I often receive more email than I have time to answer.
Unfortunately, some messages may not get a reply, but I'll try to go
through my mail whenever time permits.
</p>

<p>
Host AP mailing list can also be used for topics related to
hostapd. Since this list has a broader audience, your likelyhood of
getting responses is higher. This list is recommended for general
questions about hostapd and its development. In addition, I
will send release notes to it whenever a new version is available.
</p>

<p>
If you are not familiar with sending questions to open source projects
or would like to improve your chances of getting useful responses,
please take a look at Eric S. Raymond's
<a href="http://www.catb.org/~esr/faqs/smart-questions.html">How To
Ask Questions The Smart Way</a>.
</p>

<p>
The mailing list information and web archive is at <a
href="http://lists.shmoo.com/mailman/listinfo/hostap">http://lists.shmoo.com/mailman/listinfo/hostap</a>.
Messages to hostap@shmoo.com will be delivered to the
subscribers. Please note, that due to large number of spam and virus
messages sent to the list address, the list is configured to accept
messages only from subscribed addresses. Messages from unsubscribed addresses
may be accepted manually, but their delivery will be delayed.
</p>

<p>
If you want to make sure your bug report of feature request does not
get lost, please report it through the bug tracking system as
<a href="../bugz/enter_bug.cgi">a new
bug/feature request</a>.
</p>

    <hr>
    <div>
    <address><a href="mailto:jkmaline@cc.hut.fi">Jouni Malinen</a></address>
<!-- Created: Sun Jan  2 17:20:17 PST 2005 -->
<!-- hhmts start -->
Last modified: Sat Feb  3 08:09:06 PST 2007
<!-- hhmts end -->
    </div>
  </body>
</html>