]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/wpa_supplicant/eap_testing.txt
This commit was generated by cvs2svn to compensate for changes in r147013,
[FreeBSD/FreeBSD.git] / contrib / wpa_supplicant / eap_testing.txt
1 Automatic regression and interoperability testing of wpa_supplicant's
2 IEEE 802.1X/EAPOL authentication
3
4 Test program:
5 - Linked some parts of IEEE 802.1X Authenticator implementation from
6   hostapd (RADIUS client and RADIUS processing, EAP<->RADIUS
7   encapsulation/decapsulation) into wpa_supplicant.
8 - Replaced wpa_supplicant.c and wpa.c with test code that trigger
9   IEEE 802.1X authentication automatically without need for wireless
10   client card or AP.
11 - For EAP methods that generate keying material, the key derived by the
12   Supplicant is verified to match with the one received by the (now
13   integrated) Authenticator.
14
15 The full automated test suite can now be run in couple of seconds, but
16 I'm more than willing to add new RADIUS authentication servers to make
17 this take a bit more time.. ;-) As an extra bonus, this can also be
18 seen as automatic regression/interoperability testing for the RADIUS
19 server, too.
20
21 In order for me to be able to use a new authentication server, the
22 server need to be available from Internet (at least from one static IP
23 address) and I will need to get suitable user name/password pairs,
24 certificates, and private keys for testing use. Other alternative
25 would be to get an evaluation version of the server so that I can
26 install it on my own test setup. If you are interested in providing
27 either server access or evaluation version, please contact me
28 (jkmaline@cc.hut.fi).
29
30
31 Test matrix
32
33 +) tested successfully
34 F) failed
35 -) server did not support
36 ?) not tested
37
38 hostapd --------------------------------------------------------.
39 Cisco Aironet 1200 AP (local RADIUS server) ----------------.   |
40 Corriente Elektron -------------------------------------.   |   |
41 Lucent NavisRadiator -------------------------------.   |   |   |
42 Interlink RAD-Series ---------------------------.   |   |   |   |
43 Radiator -----------------------------------.   |   |   |   |   |
44 Meetinghouse Aegis ---------------------.   |   |   |   |   |   |
45 Funk Steel-Belted ------------------.   |   |   |   |   |   |   |
46 Funk Odyssey -------------------.   |   |   |   |   |   |   |   |
47 Microsoft IAS --------------.   |   |   |   |   |   |   |   |   |
48 FreeRADIUS -------------.   |   |   |   |   |   |   |   |   |   |
49                         |   |   |   |   |   |   |   |   |   |   |
50
51 EAP-MD5                 +   -   -   +   +   +   +   +   -   -   +
52 EAP-GTC                 +   -   -   ?   +   +   +   +   -   -   +
53 EAP-OTP                 -   -   -   -   -   +   -   -   -   -   -
54 EAP-MSCHAPv2            +   -   -   +   +   +   +   +   -   -   +
55 EAP-TLS                 +   +   +   +   +   +   +   +   -   -   +
56 EAP-PEAPv0/MSCHAPv2     +   +   +   +   +   +   +   +   +   -   +
57 EAP-PEAPv0/GTC          +   -   +   -   +   +   +   +   -   -   +
58 EAP-PEAPv0/OTP          -   -   -   -   -   +   -   -   -   -   -
59 EAP-PEAPv0/MD5          +   -   -   +   +   +   +   +   -   -   +
60 EAP-PEAPv0/TLS          -   +   -   +   +   +   F   +   -   -   -
61 EAP-PEAPv1/MSCHAPv2     -   -   +   +   +   +1  +   +5  +8  -   +
62 EAP-PEAPv1/GTC          -   -   +   +   +   +1  +   +5  -   -   +
63 EAP-PEAPv1/OTP          -   -   -   -   -   +1  -   -   -   -   -
64 EAP-PEAPv1/MD5          -   -   -   +   +   +1  +   +5  -   -   +
65 EAP-PEAPv1/TLS          -   -   -   +   +   +1  F   +5  -   -   -
66 EAP-TTLS/CHAP           +   -   +2  +   +   +   +   +   +   -   +
67 EAP-TTLS/MSCHAP         +   -   +   +   +   +   +   +   +   -   +
68 EAP-TTLS/MSCHAPv2       +   -   +   +   +   +   +   +   +   -   +
69 EAP-TTLS/PAP            +   -   +   +   +   +   +   +   +   -   +
70 EAP-TTLS/EAP-MD5        +   -   +2  +   +   +   +   +   -   -   +
71 EAP-TTLS/EAP-GTC        +   -   +2  ?   +   +   +   +   -   -   +
72 EAP-TTLS/EAP-OTP        -   -   -   -   -   +   -   -   -   -   -
73 EAP-TTLS/EAP-MSCHAPv2   +   -   +2  +   +   +   +   +   +   -   +
74 EAP-TTLS/EAP-TLS        -   -   +2  +   F   +   +   +   -   -   -
75 EAP-SIM                 +3  -   -   ?   -   +   -   ?   -   -   +
76 EAP-AKA                 -   -   -   -   -   +   -   -   -   -   -
77 EAP-PSK                 +7  -   -   -   -   -   -   -   -   -   -
78 EAP-FAST                -   -   -   -   -   -   -   -   -   +   -
79 LEAP                    +   -   +   +   +   +   F   +6  -   +   -
80
81 1) PEAPv1 required new label, "client PEAP encryption" instead of "client EAP
82    encryption", during key derivation (requires phase1="peaplabel=1" in the
83    network configuration in wpa_supplicant.conf)
84 2) used FreeRADIUS as inner auth server
85 3) required a patch to FreeRADIUS to fix EAP-SIM
86 5) PEAPv1 required termination of negotiation on tunneled EAP-Success and new
87    label in key deriviation
88    (phase1="peap_outer_success=0 peaplabel=1") (in "IETF Draft 5" mode)
89 6) Authenticator simulator required patching for handling Access-Accept within
90    negotiation (for the first EAP-Success of LEAP)
91 7) EAP-PSK is not included in FreeRADIUS distribution; used external
92    rlm_eap_psk implementation from
93    http://perso.rd.francetelecom.fr/bersani/EAP_PSK/
94         EAP-PSKWindowsimplementations.html
95 8) PEAPv1 used non-standard version negotiation (client had to force v1 even
96    though server reported v0 as the highest supported version)
97
98
99 Automated tests:
100
101 FreeRADIUS (1.0pre and CVS snapshot)
102 - EAP-MD5-Challenge
103 - EAP-GTC
104 - EAP-MSCHAPv2
105 - EAP-TLS
106 - EAP-PEAPv0 / MSCHAPv2
107 - EAP-PEAPv0 / GTC
108 - EAP-PEAPv0 / MD5-Challenge
109 - EAP-TTLS / EAP-MD5-Challenge
110 - EAP-TTLS / EAP-GTC
111 - EAP-TTLS / EAP-MSCHAPv2
112 - EAP-TTLS / CHAP
113 - EAP-TTLS / PAP
114 - EAP-TTLS / MSCHAP
115 - EAP-TTLS / MSCHAPv2
116 - EAP-SIM
117 * not supported in FreeRADIUS
118   - EAP-PEAP / TLS (Unable to tunnel TLS inside of TLS)
119   - EAP-TTLS / EAP-TLS (Unable to tunnel TLS inside of TLS)
120
121 Microsoft Windows Server 2003 / IAS
122 - EAP-TLS
123 - EAP-PEAPv0 / MSCHAPv2
124 - EAP-PEAPv0 / TLS
125 - EAP-MD5
126 * IAS does not seem to support other EAP methods
127
128 Funk Odyssey 2.01.00.653
129 - EAP-TLS
130 - EAP-PEAPv0 / MSCHAPv2
131 - EAP-PEAPv0 / GTC
132 - EAP-PEAPv1 / MSCHAPv2
133 - EAP-PEAPv1 / GTC
134   Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption"
135 - EAP-TTLS / CHAP (using FreeRADIUS as inner auth srv)
136 - EAP-TTLS / MSCHAP
137 - EAP-TTLS / MSCHAPv2
138 - EAP-TTLS / PAP
139 - EAP-TTLS / EAP-MD5-Challenge (using FreeRADIUS as inner auth srv)
140 - EAP-TTLS / EAP-GTC (using FreeRADIUS as inner auth srv)
141 - EAP-TTLS / EAP-MSCHAPv2 (using FreeRADIUS as inner auth srv)
142 - EAP-TTLS / EAP-TLS (using FreeRADIUS as inner auth srv)
143 * not supported in Odyssey:
144   - EAP-MD5-Challenge
145   - EAP-GTC
146   - EAP-MSCHAPv2
147   - EAP-PEAP / MD5-Challenge
148   - EAP-PEAP / TLS
149
150 Funk Steel-Belted Radius Enterprise Edition v4.71.739
151 - EAP-MD5-Challenge
152 - EAP-MSCHAPv2
153 - EAP-TLS
154 - EAP-PEAPv0 / MSCHAPv2
155 - EAP-PEAPv0 / MD5
156 - EAP-PEAPv0 / TLS
157 - EAP-PEAPv1 / MSCHAPv2
158 - EAP-PEAPv1 / MD5
159 - EAP-PEAPv1 / GTC
160 - EAP-PEAPv1 / TLS
161   Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption"
162 - EAP-TTLS / CHAP
163 - EAP-TTLS / MSCHAP
164 - EAP-TTLS / MSCHAPv2
165 - EAP-TTLS / PAP
166 - EAP-TTLS / EAP-MD5-Challenge
167 - EAP-TTLS / EAP-MSCHAPv2
168 - EAP-TTLS / EAP-TLS
169
170 Meetinghouse Aegis 1.1.4
171 - EAP-MD5-Challenge
172 - EAP-GTC
173 - EAP-MSCHAPv2
174 - EAP-TLS
175 - EAP-PEAPv0 / MSCHAPv2
176 - EAP-PEAPv0 / TLS
177 - EAP-PEAPv0 / GTC
178 - EAP-PEAPv0 / MD5-Challenge
179 - EAP-PEAPv1 / MSCHAPv2
180 - EAP-PEAPv1 / TLS
181 - EAP-PEAPv1 / GTC
182 - EAP-PEAPv1 / MD5-Challenge
183   Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption"
184 - EAP-TTLS / CHAP
185 - EAP-TTLS / MSCHAP
186 - EAP-TTLS / MSCHAPv2
187 - EAP-TTLS / PAP
188 - EAP-TTLS / EAP-MD5-Challenge
189 - EAP-TTLS / EAP-GTC
190 - EAP-TTLS / EAP-MSCHAPv2
191 * did not work
192   - EAP-TTLS / EAP-TLS
193     (Server rejects authentication without any reason in debug log. It
194      looks like the inner TLS negotiation starts properly and the last
195      packet from Supplicant looks like the one sent in the Phase 1. The
196      server generates a valid looking reply in the same way as in Phase
197      1, but then ends up sending Access-Reject. Maybe an issue with TTLS
198      fragmentation in the Aegis server(?) The packet seems to include
199      1328 bytes of EAP-Message and this may go beyond the fragmentation
200      limit with AVP encapsulation and TLS tunneling. Note: EAP-PEAP/TLS
201      did work, so this issue seems to be with something TTLS specific.)
202
203 Radiator 3.9 (eval, with all patches up to and including 2004-08-30)
204 - EAP-MD5-Challenge
205 - EAP-GTC
206 - EAP-OTP
207 - EAP-MSCHAPv2
208 - EAP-TLS
209 - EAP-PEAPv0 / MSCHAPv2
210 - EAP-PEAPv0 / GTC
211 - EAP-PEAPv0 / OTP
212 - EAP-PEAPv0 / MD5-Challenge
213 - EAP-PEAPv0 / TLS
214   Note: Needed to use unknown identity in outer auth and some times the server
215         seems to get confused and fails to send proper Phase 2 data.
216 - EAP-PEAPv1 / MSCHAPv2
217 - EAP-PEAPv1 / GTC
218 - EAP-PEAPv1 / OTP
219 - EAP-PEAPv1 / MD5-Challenge
220 - EAP-PEAPv1 / TLS
221   Note: This has some additional requirements for EAPTLS_MaxFragmentSize.
222         Using 1300 for outer auth and 500 for inner auth seemed to work.
223   Note: Needed to use unknown identity in outer auth and some times the server
224         seems to get confused and fails to send proper Phase 2 data.
225 - EAP-TTLS / CHAP
226 - EAP-TTLS / MSCHAP
227 - EAP-TTLS / MSCHAPv2
228 - EAP-TTLS / PAP
229 - EAP-TTLS / EAP-MD5-Challenge
230 - EAP-TTLS / EAP-GTC
231 - EAP-TTLS / EAP-OTP
232 - EAP-TTLS / EAP-MSCHAPv2
233 - EAP-TTLS / EAP-TLS
234   Note: This has some additional requirements for EAPTLS_MaxFragmentSize.
235         Using 1300 for outer auth and 500 for inner auth seemed to work.
236 - EAP-SIM
237 - EAP-AKA
238
239 Interlink Networks RAD-Series 6.1.2.7
240 - EAP-MD5-Challenge
241 - EAP-GTC
242 - EAP-MSCHAPv2
243 - EAP-TLS
244 - EAP-PEAPv0 / MSCHAPv2
245 - EAP-PEAPv0 / GTC
246 - EAP-PEAPv0 / MD5-Challenge
247 - EAP-PEAPv1 / MSCHAPv2
248 - EAP-PEAPv1 / GTC
249 - EAP-PEAPv1 / MD5-Challenge
250   Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption"
251 - EAP-TTLS / CHAP
252 - EAP-TTLS / MSCHAP
253 - EAP-TTLS / MSCHAPv2
254 - EAP-TTLS / PAP
255 - EAP-TTLS / EAP-MD5-Challenge
256 - EAP-TTLS / EAP-GTC
257 - EAP-TTLS / EAP-MSCHAPv2
258 - EAP-TTLS / EAP-TLS
259 * did not work
260   - EAP-PEAPv0 / TLS
261   - EAP-PEAPv1 / TLS
262     (Failed to decrypt Phase 2 data)
263
264 Lucent NavisRadius 4.4.0
265 - EAP-MD5-Challenge
266 - EAP-GTC
267 - EAP-MSCHAPv2
268 - EAP-TLS
269 - EAP-PEAPv0 / MD5-Challenge
270 - EAP-PEAPv0 / MSCHAPv2
271 - EAP-PEAPv0 / GTC
272 - EAP-PEAPv0 / TLS
273 - EAP-PEAPv1 / MD5-Challenge
274 - EAP-PEAPv1 / MSCHAPv2
275 - EAP-PEAPv1 / GTC
276 - EAP-PEAPv1 / TLS
277   "IETF Draft 5" mode requires phase1="peap_outer_success=0 peaplabel=1"
278   'Cisco ACU 5.05' mode works without phase1 configuration
279 - EAP-TTLS / CHAP
280 - EAP-TTLS / MSCHAP
281 - EAP-TTLS / MSCHAPv2
282 - EAP-TTLS / PAP
283 - EAP-TTLS / EAP-MD5-Challenge
284 - EAP-TTLS / EAP-MSCHAPv2
285 - EAP-TTLS / EAP-GTC
286 - EAP-TTLS / EAP-TLS
287
288 Note: user certificate from NavisRadius had private key in a format
289 that wpa_supplicant could not use. Converting this to PKCS#12 and then
290 back to PEM allowed wpa_supplicant to use the key.
291
292
293 hostapd v0.3.3
294 - EAP-MD5-Challenge
295 - EAP-GTC
296 - EAP-MSCHAPv2
297 - EAP-TLS
298 - EAP-PEAPv0 / MSCHAPv2
299 - EAP-PEAPv0 / GTC
300 - EAP-PEAPv0 / MD5-Challenge
301 - EAP-PEAPv1 / MSCHAPv2
302 - EAP-PEAPv1 / GTC
303 - EAP-PEAPv1 / MD5-Challenge
304 - EAP-TTLS / CHAP
305 - EAP-TTLS / MSCHAP
306 - EAP-TTLS / MSCHAPv2
307 - EAP-TTLS / PAP
308 - EAP-TTLS / EAP-MD5-Challenge
309 - EAP-TTLS / EAP-GTC
310 - EAP-TTLS / EAP-MSCHAPv2
311 - EAP-SIM
312
313
314
315 PEAPv1:
316
317 Funk Odyssey 2.01.00.653:
318 - uses tunneled EAP-Success, expects reply in tunnel or TLS ACK, sends MPPE
319   keys with outer EAP-Success message after this
320 - uses label "client EAP encryption"
321 - (peap_outer_success 1 and 2 work)
322
323 Funk Steel-Belted Radius Enterprise Edition v4.71.739
324 - uses tunneled EAP-Success, expects reply in tunnel or TLS ACK, sends MPPE
325   keys with outer EAP-Success message after this
326 - uses label "client EAP encryption"
327 - (peap_outer_success 1 and 2 work)
328
329 Radiator 3.9:
330 - uses TLV Success and Reply, sends MPPE keys with outer EAP-Success message
331   after this
332 - uses label "client PEAP encryption"
333
334 Lucent NavisRadius 4.4.0 (in "IETF Draft 5" mode):
335 - sends tunneled EAP-Success with MPPE keys and expects the authentication to
336   terminate at this point (gets somewhat confused with reply to this)
337 - uses label "client PEAP encryption"
338 - phase1="peap_outer_success=0 peaplabel=1"
339
340 Lucent NavisRadius 4.4.0 (in "Cisco ACU 5.05" mode):
341 - sends tunneled EAP-Success with MPPE keys and expects to receive TLS ACK
342   as a reply
343 - uses label "client EAP encryption"
344
345 Meetinghouse Aegis 1.1.4
346 - uses tunneled EAP-Success, expects reply in tunnel or TLS ACK, sends MPPE
347   keys with outer EAP-Success message after this
348 - uses label "client EAP encryption"
349 - peap_outer_success 1 and 2 work