~ubuntu-branches/ubuntu/gutsy/wpasupplicant/gutsy

« back to all changes in this revision

Viewing changes to wpa_supplicant/eap_testing.txt

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2007-08-26 16:06:57 UTC
  • mto: This revision was merged to the branch mainline in revision 26.
  • Revision ID: james.westby@ubuntu.com-20070826160657-mxk5ivjjh65ptxlr
Tags: upstream-0.6.0+0.5.8
ImportĀ upstreamĀ versionĀ 0.6.0+0.5.8

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
(j@w1.fi).
29
 
 
30
 
 
31
 
Test matrix
32
 
 
33
 
+) tested successfully
34
 
F) failed
35
 
-) server did not support
36
 
?) not tested
37
 
 
38
 
Cisco ACS ----------------------------------------------------------.
39
 
hostapd --------------------------------------------------------.   |
40
 
Cisco Aironet 1200 AP (local RADIUS server) ----------------.   |   |
41
 
Periodik Labs Elektron ---------------------------------.   |   |   |
42
 
Lucent NavisRadius ---------------------------------.   |   |   |   |
43
 
Interlink RAD-Series ---------------------------.   |   |   |   |   |
44
 
Radiator -----------------------------------.   |   |   |   |   |   |
45
 
Meetinghouse Aegis ---------------------.   |   |   |   |   |   |   |
46
 
Funk Steel-Belted ------------------.   |   |   |   |   |   |   |   |
47
 
Funk Odyssey -------------------.   |   |   |   |   |   |   |   |   |
48
 
Microsoft IAS --------------.   |   |   |   |   |   |   |   |   |   |
49
 
FreeRADIUS -------------.   |   |   |   |   |   |   |   |   |   |   |
50
 
                        |   |   |   |   |   |   |   |   |   |   |   |
51
 
 
52
 
EAP-MD5                 +   -   -   +   +   +   +   +   -   -   +   +
53
 
EAP-GTC                 +   -   -   ?   +   +   +   +   -   -   +   -
54
 
EAP-OTP                 -   -   -   -   -   +   -   -   -   -   -   -
55
 
EAP-MSCHAPv2            +   -   -   +   +   +   +   +   -   -   +   -
56
 
EAP-TLS                 +   +   +   +   +   +   +   +   -   -   +   +
57
 
EAP-PEAPv0/MSCHAPv2     +   +   +   +   +   +   +   +   +   -   +   +
58
 
EAP-PEAPv0/GTC          +   -   +   -   +   +   +   +   -   -   +   +
59
 
EAP-PEAPv0/OTP          -   -   -   -   -   +   -   -   -   -   -   -
60
 
EAP-PEAPv0/MD5          +   -   -   +   +   +   +   +   -   -   +   -
61
 
EAP-PEAPv0/TLS          -   +   -   +   +   +   F   +   -   -   -   -
62
 
EAP-PEAPv1/MSCHAPv2     -   -   +   +   +   +1  +   +5  +8  -   +   +
63
 
EAP-PEAPv1/GTC          -   -   +   +   +   +1  +   +5  +8  -   +   +
64
 
EAP-PEAPv1/OTP          -   -   -   -   -   +1  -   -   -   -   -   -
65
 
EAP-PEAPv1/MD5          -   -   -   +   +   +1  +   +5  -   -   +   -
66
 
EAP-PEAPv1/TLS          -   -   -   +   +   +1  F   +5  -   -   -   -
67
 
EAP-TTLS/CHAP           +   -   +2  +   +   +   +   +   +   -   +   -
68
 
EAP-TTLS/MSCHAP         +   -   +   +   +   +   +   +   +   -   +   -
69
 
EAP-TTLS/MSCHAPv2       +   -   +   +   +   +   +   +   +   -   +   -
70
 
EAP-TTLS/PAP            +   -   +   +   +   +   +   +   +   -   +   -
71
 
EAP-TTLS/EAP-MD5        +   -   +2  +   +   +   +   +   +   -   +   -
72
 
EAP-TTLS/EAP-GTC        +   -   +2  ?   +   +   +   +   -   -   +   -
73
 
EAP-TTLS/EAP-OTP        -   -   -   -   -   +   -   -   -   -   -   -
74
 
EAP-TTLS/EAP-MSCHAPv2   +   -   +2  +   +   +   +   +   +   -   +   -
75
 
EAP-TTLS/EAP-TLS        -   -   +2  +   F   +   +   +   -   -   -   -
76
 
EAP-SIM                 +3  -   -   ?   -   +   -   ?   -   -   +   -
77
 
EAP-AKA                 -   -   -   -   -   +   -   -   -   -   +   -
78
 
EAP-PSK                 +7  -   -   -   -   +   -   -   -   -   +   -
79
 
EAP-PAX                 -   -   -   -   -   +   -   -   -   -   +   -
80
 
EAP-SAKE                -   -   -   -   -   -   -   -   -   -   +   -
81
 
EAP-GPSK                -   -   -   -   -   -   -   -   -   -   +   -
82
 
EAP-FAST/MSCHAPv2(prov) -   -   -   +   -   -   -   -   -   +   -   +
83
 
EAP-FAST/GTC(auth)      -   -   -   +   -   -   -   -   -   +   -   +
84
 
EAP-FAST/MSCHAPv2(aprov)-   -   -   -   -   -   -   -   -   -   -   +
85
 
EAP-FAST/GTC(aprov)     -   -   -   -   -   -   -   -   -   -   -   +
86
 
EAP-FAST/TLS(aprov)     -   -   -   -   -   -   -   -   -   -   -   +
87
 
EAP-FAST/MSCHAPv2(auth) -   -   -   -   -   -   -   -   -   -   -   +
88
 
EAP-FAST/TLS(auth)      -   -   -   -   -   -   -   -   -   -   -   +
89
 
LEAP                    +   -   +   +   +   +   F   +6  -   +   -   +
90
 
EAP-TNC                 -   -   -   -   -   +   -   -   -   -   -   -
91
 
 
92
 
1) PEAPv1 required new label, "client PEAP encryption" instead of "client EAP
93
 
   encryption", during key derivation (requires phase1="peaplabel=1" in the
94
 
   network configuration in wpa_supplicant.conf)
95
 
2) used FreeRADIUS as inner auth server
96
 
3) required a patch to FreeRADIUS to fix EAP-SIM
97
 
5) PEAPv1 required termination of negotiation on tunneled EAP-Success and new
98
 
   label in key deriviation
99
 
   (phase1="peap_outer_success=0 peaplabel=1") (in "IETF Draft 5" mode)
100
 
6) Authenticator simulator required patching for handling Access-Accept within
101
 
   negotiation (for the first EAP-Success of LEAP)
102
 
7) EAP-PSK is not included in FreeRADIUS distribution; used external
103
 
   rlm_eap_psk implementation from
104
 
   http://perso.rd.francetelecom.fr/bersani/EAP_PSK/
105
 
        EAP-PSKWindowsimplementations.html
106
 
8) PEAPv1 used non-standard version negotiation (client had to force v1 even
107
 
   though server reported v0 as the highest supported version)
108
 
 
109
 
 
110
 
Automated tests:
111
 
 
112
 
FreeRADIUS (1.0pre and CVS snapshot)
113
 
- EAP-MD5-Challenge
114
 
- EAP-GTC
115
 
- EAP-MSCHAPv2
116
 
- EAP-TLS
117
 
- EAP-PEAPv0 / MSCHAPv2
118
 
- EAP-PEAPv0 / GTC
119
 
- EAP-PEAPv0 / MD5-Challenge
120
 
- EAP-TTLS / EAP-MD5-Challenge
121
 
- EAP-TTLS / EAP-GTC
122
 
- EAP-TTLS / EAP-MSCHAPv2
123
 
- EAP-TTLS / CHAP
124
 
- EAP-TTLS / PAP
125
 
- EAP-TTLS / MSCHAP
126
 
- EAP-TTLS / MSCHAPv2
127
 
- EAP-SIM
128
 
* not supported in FreeRADIUS
129
 
  - EAP-PEAP / TLS (Unable to tunnel TLS inside of TLS)
130
 
  - EAP-TTLS / EAP-TLS (Unable to tunnel TLS inside of TLS)
131
 
 
132
 
Microsoft Windows Server 2003 / IAS
133
 
- EAP-TLS
134
 
- EAP-PEAPv0 / MSCHAPv2
135
 
- EAP-PEAPv0 / TLS
136
 
- EAP-MD5
137
 
* IAS does not seem to support other EAP methods
138
 
 
139
 
Funk Odyssey 2.01.00.653
140
 
- EAP-TLS
141
 
- EAP-PEAPv0 / MSCHAPv2
142
 
- EAP-PEAPv0 / GTC
143
 
- EAP-PEAPv1 / MSCHAPv2
144
 
- EAP-PEAPv1 / GTC
145
 
  Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption"
146
 
- EAP-TTLS / CHAP (using FreeRADIUS as inner auth srv)
147
 
- EAP-TTLS / MSCHAP
148
 
- EAP-TTLS / MSCHAPv2
149
 
- EAP-TTLS / PAP
150
 
- EAP-TTLS / EAP-MD5-Challenge (using FreeRADIUS as inner auth srv)
151
 
- EAP-TTLS / EAP-GTC (using FreeRADIUS as inner auth srv)
152
 
- EAP-TTLS / EAP-MSCHAPv2 (using FreeRADIUS as inner auth srv)
153
 
- EAP-TTLS / EAP-TLS (using FreeRADIUS as inner auth srv)
154
 
* not supported in Odyssey:
155
 
  - EAP-MD5-Challenge
156
 
  - EAP-GTC
157
 
  - EAP-MSCHAPv2
158
 
  - EAP-PEAP / MD5-Challenge
159
 
  - EAP-PEAP / TLS
160
 
 
161
 
Funk Steel-Belted Radius Enterprise Edition v4.71.739
162
 
- EAP-MD5-Challenge
163
 
- EAP-MSCHAPv2
164
 
- EAP-TLS
165
 
- EAP-PEAPv0 / MSCHAPv2
166
 
- EAP-PEAPv0 / MD5
167
 
- EAP-PEAPv0 / TLS
168
 
- EAP-PEAPv1 / MSCHAPv2
169
 
- EAP-PEAPv1 / MD5
170
 
- EAP-PEAPv1 / GTC
171
 
- EAP-PEAPv1 / TLS
172
 
  Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption"
173
 
- EAP-TTLS / CHAP
174
 
- EAP-TTLS / MSCHAP
175
 
- EAP-TTLS / MSCHAPv2
176
 
- EAP-TTLS / PAP
177
 
- EAP-TTLS / EAP-MD5-Challenge
178
 
- EAP-TTLS / EAP-MSCHAPv2
179
 
- EAP-TTLS / EAP-TLS
180
 
 
181
 
Meetinghouse Aegis 1.1.4
182
 
- EAP-MD5-Challenge
183
 
- EAP-GTC
184
 
- EAP-MSCHAPv2
185
 
- EAP-TLS
186
 
- EAP-PEAPv0 / MSCHAPv2
187
 
- EAP-PEAPv0 / TLS
188
 
- EAP-PEAPv0 / GTC
189
 
- EAP-PEAPv0 / MD5-Challenge
190
 
- EAP-PEAPv1 / MSCHAPv2
191
 
- EAP-PEAPv1 / TLS
192
 
- EAP-PEAPv1 / GTC
193
 
- EAP-PEAPv1 / MD5-Challenge
194
 
  Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption"
195
 
- EAP-TTLS / CHAP
196
 
- EAP-TTLS / MSCHAP
197
 
- EAP-TTLS / MSCHAPv2
198
 
- EAP-TTLS / PAP
199
 
- EAP-TTLS / EAP-MD5-Challenge
200
 
- EAP-TTLS / EAP-GTC
201
 
- EAP-TTLS / EAP-MSCHAPv2
202
 
* did not work
203
 
  - EAP-TTLS / EAP-TLS
204
 
    (Server rejects authentication without any reason in debug log. It
205
 
     looks like the inner TLS negotiation starts properly and the last
206
 
     packet from Supplicant looks like the one sent in the Phase 1. The
207
 
     server generates a valid looking reply in the same way as in Phase
208
 
     1, but then ends up sending Access-Reject. Maybe an issue with TTLS
209
 
     fragmentation in the Aegis server(?) The packet seems to include
210
 
     1328 bytes of EAP-Message and this may go beyond the fragmentation
211
 
     limit with AVP encapsulation and TLS tunneling. Note: EAP-PEAP/TLS
212
 
     did work, so this issue seems to be with something TTLS specific.)
213
 
 
214
 
Radiator 3.17.1 (eval, with all patches up to and including 2007-05-25)
215
 
- EAP-MD5-Challenge
216
 
- EAP-GTC
217
 
- EAP-OTP
218
 
- EAP-MSCHAPv2
219
 
- EAP-TLS
220
 
- EAP-PEAPv0 / MSCHAPv2
221
 
- EAP-PEAPv0 / GTC
222
 
- EAP-PEAPv0 / OTP
223
 
- EAP-PEAPv0 / MD5-Challenge
224
 
- EAP-PEAPv0 / TLS
225
 
  Note: Needed to use unknown identity in outer auth and some times the server
226
 
        seems to get confused and fails to send proper Phase 2 data.
227
 
- EAP-PEAPv1 / MSCHAPv2
228
 
- EAP-PEAPv1 / GTC
229
 
- EAP-PEAPv1 / OTP
230
 
- EAP-PEAPv1 / MD5-Challenge
231
 
- EAP-PEAPv1 / TLS
232
 
  Note: This has some additional requirements for EAPTLS_MaxFragmentSize.
233
 
        Using 1300 for outer auth and 500 for inner auth seemed to work.
234
 
  Note: Needed to use unknown identity in outer auth and some times the server
235
 
        seems to get confused and fails to send proper Phase 2 data.
236
 
- EAP-TTLS / CHAP
237
 
- EAP-TTLS / MSCHAP
238
 
- EAP-TTLS / MSCHAPv2
239
 
- EAP-TTLS / PAP
240
 
- EAP-TTLS / EAP-MD5-Challenge
241
 
- EAP-TTLS / EAP-GTC
242
 
- EAP-TTLS / EAP-OTP
243
 
- EAP-TTLS / EAP-MSCHAPv2
244
 
- EAP-TTLS / EAP-TLS
245
 
  Note: This has some additional requirements for EAPTLS_MaxFragmentSize.
246
 
        Using 1300 for outer auth and 500 for inner auth seemed to work.
247
 
- EAP-SIM
248
 
- EAP-AKA
249
 
- EAP-PSK
250
 
- EAP-PAX
251
 
- EAP-TNC
252
 
 
253
 
Interlink Networks RAD-Series 6.1.2.7
254
 
- EAP-MD5-Challenge
255
 
- EAP-GTC
256
 
- EAP-MSCHAPv2
257
 
- EAP-TLS
258
 
- EAP-PEAPv0 / MSCHAPv2
259
 
- EAP-PEAPv0 / GTC
260
 
- EAP-PEAPv0 / MD5-Challenge
261
 
- EAP-PEAPv1 / MSCHAPv2
262
 
- EAP-PEAPv1 / GTC
263
 
- EAP-PEAPv1 / MD5-Challenge
264
 
  Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption"
265
 
- EAP-TTLS / CHAP
266
 
- EAP-TTLS / MSCHAP
267
 
- EAP-TTLS / MSCHAPv2
268
 
- EAP-TTLS / PAP
269
 
- EAP-TTLS / EAP-MD5-Challenge
270
 
- EAP-TTLS / EAP-GTC
271
 
- EAP-TTLS / EAP-MSCHAPv2
272
 
- EAP-TTLS / EAP-TLS
273
 
* did not work
274
 
  - EAP-PEAPv0 / TLS
275
 
  - EAP-PEAPv1 / TLS
276
 
    (Failed to decrypt Phase 2 data)
277
 
 
278
 
Lucent NavisRadius 4.4.0
279
 
- EAP-MD5-Challenge
280
 
- EAP-GTC
281
 
- EAP-MSCHAPv2
282
 
- EAP-TLS
283
 
- EAP-PEAPv0 / MD5-Challenge
284
 
- EAP-PEAPv0 / MSCHAPv2
285
 
- EAP-PEAPv0 / GTC
286
 
- EAP-PEAPv0 / TLS
287
 
- EAP-PEAPv1 / MD5-Challenge
288
 
- EAP-PEAPv1 / MSCHAPv2
289
 
- EAP-PEAPv1 / GTC
290
 
- EAP-PEAPv1 / TLS
291
 
  "IETF Draft 5" mode requires phase1="peap_outer_success=0 peaplabel=1"
292
 
  'Cisco ACU 5.05' mode works without phase1 configuration
293
 
- EAP-TTLS / CHAP
294
 
- EAP-TTLS / MSCHAP
295
 
- EAP-TTLS / MSCHAPv2
296
 
- EAP-TTLS / PAP
297
 
- EAP-TTLS / EAP-MD5-Challenge
298
 
- EAP-TTLS / EAP-MSCHAPv2
299
 
- EAP-TTLS / EAP-GTC
300
 
- EAP-TTLS / EAP-TLS
301
 
 
302
 
Note: user certificate from NavisRadius had private key in a format
303
 
that wpa_supplicant could not use. Converting this to PKCS#12 and then
304
 
back to PEM allowed wpa_supplicant to use the key.
305
 
 
306
 
 
307
 
hostapd v0.3.3
308
 
- EAP-MD5-Challenge
309
 
- EAP-GTC
310
 
- EAP-MSCHAPv2
311
 
- EAP-TLS
312
 
- EAP-PEAPv0 / MSCHAPv2
313
 
- EAP-PEAPv0 / GTC
314
 
- EAP-PEAPv0 / MD5-Challenge
315
 
- EAP-PEAPv1 / MSCHAPv2
316
 
- EAP-PEAPv1 / GTC
317
 
- EAP-PEAPv1 / MD5-Challenge
318
 
- EAP-TTLS / CHAP
319
 
- EAP-TTLS / MSCHAP
320
 
- EAP-TTLS / MSCHAPv2
321
 
- EAP-TTLS / PAP
322
 
- EAP-TTLS / EAP-MD5-Challenge
323
 
- EAP-TTLS / EAP-GTC
324
 
- EAP-TTLS / EAP-MSCHAPv2
325
 
- EAP-SIM
326
 
- EAP-PAX
327
 
 
328
 
Cisco Secure ACS 3.3(1) for Windows Server
329
 
- PEAPv1/GTC worked, but PEAPv0/GTC failed in the end after password was
330
 
  sent successfully; ACS is replying with empty PEAP packet (TLS ACK);
331
 
  wpa_supplicant tries to decrypt this.. Replying with TLS ACK and and
332
 
  marking the connection completed was enough to make this work.
333
 
 
334
 
 
335
 
PEAPv1:
336
 
 
337
 
Funk Odyssey 2.01.00.653:
338
 
- uses tunneled EAP-Success, expects reply in tunnel or TLS ACK, sends MPPE
339
 
  keys with outer EAP-Success message after this
340
 
- uses label "client EAP encryption"
341
 
- (peap_outer_success 1 and 2 work)
342
 
 
343
 
Funk Steel-Belted Radius Enterprise Edition v4.71.739
344
 
- uses tunneled EAP-Success, expects reply in tunnel or TLS ACK, sends MPPE
345
 
  keys with outer EAP-Success message after this
346
 
- uses label "client EAP encryption"
347
 
- (peap_outer_success 1 and 2 work)
348
 
 
349
 
Radiator 3.9:
350
 
- uses TLV Success and Reply, sends MPPE keys with outer EAP-Success message
351
 
  after this
352
 
- uses label "client PEAP encryption"
353
 
 
354
 
Lucent NavisRadius 4.4.0 (in "IETF Draft 5" mode):
355
 
- sends tunneled EAP-Success with MPPE keys and expects the authentication to
356
 
  terminate at this point (gets somewhat confused with reply to this)
357
 
- uses label "client PEAP encryption"
358
 
- phase1="peap_outer_success=0 peaplabel=1"
359
 
 
360
 
Lucent NavisRadius 4.4.0 (in "Cisco ACU 5.05" mode):
361
 
- sends tunneled EAP-Success with MPPE keys and expects to receive TLS ACK
362
 
  as a reply
363
 
- uses label "client EAP encryption"
364
 
 
365
 
Meetinghouse Aegis 1.1.4
366
 
- uses tunneled EAP-Success, expects reply in tunnel or TLS ACK, sends MPPE
367
 
  keys with outer EAP-Success message after this
368
 
- uses label "client EAP encryption"
369
 
- peap_outer_success 1 and 2 work